@realsee/five 6.0.0-alpha.107 → 6.0.0-alpha.108

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/five/index.js CHANGED
@@ -2,7 +2,7 @@
2
2
  * @license
3
3
  * @realsee/five
4
4
  * Generated: 2024/6/26
5
- * Version: 6.0.0-alpha.107
5
+ * Version: 6.0.0-alpha.108
6
6
  * Terms:
7
7
  * Realsee SDK License Agreement
8
8
  * Update: July 28, 2021
@@ -414,7 +414,7 @@ varying vec2 vUv;
414
414
  void main() {
415
415
  gl_FragColor = texture2D(map, vUv);
416
416
  }
417
- `,d0=[];function gc(){var n=d0.pop();return n||new d.ShaderMaterial({uniforms:{map:{value:null},flipY:{value:0}},vertexShader:Ac,fragmentShader:mc,depthTest:!1,depthWrite:!1,stencilWrite:!1,blending:d.NoBlending,lights:!1,toneMapped:!1,fog:!1})}function yc(n){n.uniforms.map.value=null,d0.push(n)}function bc(n,t,e){var r=new d.Scene;r.matrixAutoUpdate=!1;var i=new d.Group;i.scale.set(1,1,-1),r.add(i);for(var a=[],o=0,s=n;o<s.length;o++){var u=s[o],l=gc();a.push(l),l.uniforms.map.value=u.texture,l.uniforms.flipY.value=u.flipY?1:0;var c=new d.Group,f=new d.Mesh(vc,l);f.position.set(u.position.x+u.size.x/2-.5,1-(u.position.y+u.size.y/2)-.5,-.5),f.scale.set(u.size.x,u.size.y,1),c.quaternion.copy(pc[u.face]),c.add(f),i.add(c)}var h=e.autoClear;e.autoClear=!1;var m=new d.CubeCamera(.1,2,t);m.matrixAutoUpdate=!1,m.update(e,r),e.autoClear=h;for(var A=0,p=a;A<p.length;A++){var l=p[A];yc(l)}}var wc=function(){return!1}();function mi(){var n=Object.assign(document.createElementNS("http://www.w3.org/1999/xhtml","img"),{crossOrigin:"",close:function(){n.onerror=n.onload=n.close=Q,n.decoding="async";var t=n.src;n.removeAttribute("src"),/^blob\:/.test(t)&&URL.revokeObjectURL(t)}});return n}function xa(n){return new Promise(function(t,e){var r=mi();r.onload=function(){/^blob\:/.test(r.src)&&URL.revokeObjectURL(r.src),r.onload=r.onerror=Q,setTimeout(function(){t(r)},10)},r.onerror=function(){var i=r.src;r.onload=r.onerror=Q,r.close(),e(new Error("image load error: ".concat(i)))},r.src=URL.createObjectURL(n)})}var Po=[];function Ec(n,t){var e=Po.shift();if(e)return e.width=n,e.height=t,e;var r=Object.assign(document.createElementNS("http://www.w3.org/1999/xhtml","canvas"),{close:function(){r.close=Q,Po.push(r)}});return r}function Bo(n,t){if(t&&(n.width>t.width||n.height>t.height)){var e=Ec(Math.min(n.width,t.width),Math.min(n.height,t.height)),r=e.getContext("2d");r.clearRect(0,0,e.width,e.height),r.drawImage(n,0,0,e.width,e.height),n.close();var i=new d.Texture(e);i.needsUpdate=!0,i.flipY=!0;var a=i.dispose;return i.dispose=function(){e.close(),a.call(i),i.dispose=a},i}else{var o=new d.Texture(n);o.needsUpdate=!0,typeof ImageBitmap!="undefined"&&n instanceof ImageBitmap?o.flipY=!1:o.flipY=!0;var s=o.dispose;return o.dispose=function(){n.close(),s.call(o),o.dispose=s},o}}function xc(n){var t=new d.CubeTexture(n);t.needsUpdate=!0,t.flipY=!1;var e=t.dispose;return t.dispose=function(){for(var r=0,i=n;r<i.length;r++){var a=i[r];a.close()}e.call(t),t.dispose=e},t}var jr=["right","left","up","down","front","back"],Mc=3,ze=function(){function n(t,e,r,i,a){this.tileTree=e,this.tileSources=r,this.options=i,this.renderer=a,this.name="",this.needsRender=!1,this.disposed=!1,this.loadedCubeNodes=new Set,this.loadingCubeNodes=new Set,this.baseCubeTexture=null,this._cubeRenderTarget=null,this.textures=[],this.baseCubeTexture=t}return Object.defineProperty(n.prototype,"cubeRenderTarget",{get:function(){return this._cubeRenderTarget},set:function(t){var e,r,i,a,o,s;if(t===null)throw new Error("cannot set cubeRenderTarget to null.");t.width!==this.options.textureSize&&t.setSize(this.options.textureSize,this.options.textureSize),t.texture.format=(e=this.options.format)!==null&&e!==void 0?e:d.RGBAFormat,t.texture.minFilter=(r=this.options.minFilter)!==null&&r!==void 0?r:d.LinearFilter,t.texture.magFilter=(i=this.options.magFilter)!==null&&i!==void 0?i:d.LinearFilter,t.texture.wrapS=(a=this.options.wrapS)!==null&&a!==void 0?a:d.ClampToEdgeWrapping,t.texture.wrapT=(o=this.options.wrapT)!==null&&o!==void 0?o:d.ClampToEdgeWrapping,t.texture.generateMipmaps=(s=this.options.generateMipmaps)!==null&&s!==void 0?s:!0,this.baseCubeTexture&&(Ea(this.baseCubeTexture,t,this.renderer),this.baseCubeTexture.dispose(),this.baseCubeTexture=null),this._cubeRenderTarget&&Ea(this._cubeRenderTarget.texture,t,this.renderer),this._cubeRenderTarget=t},enumerable:!1,configurable:!0}),n.prototype.requestTile=function(t){var e=this,r,i,a,o,s,u,l=this.tileSources.filter(function(p){return p.level===t.level})[0];if(!l){this.loadedCubeNodes.add(t);return}var c=l.size,f=Math.pow(2,t.level)*t.position.y,h=Math.pow(2,t.level)*t.position.x,m="".concat(((a=(i=(r=this.options.imageURL)===null||r===void 0?void 0:r.options)===null||i===void 0?void 0:i.key)!==null&&a!==void 0?a:"pano.0").replace(/^pano/,"pano_tile"),".").concat(t.face,".").concat(t.level,".").concat(f,".").concat(h),A=k(k({},(s=(o=this.options.imageURL)===null||o===void 0?void 0:o.options)!==null&&s!==void 0?s:{key:"unknown"}),{key:m,size:l.scale>=1?void 0:c*t.size*l.scale,quality:void 0,cut:[c*t.position.x,c*t.position.y,c*t.size,c*t.size]});this.loadingCubeNodes.add(t),this.options.textureLoader.loadTexture(l[t.face],{imageURL:{transform:(u=this.options.imageURL)===null||u===void 0?void 0:u.transform,options:k({},A)},format:d.RGBAFormat,timeout:this.options.timeout,magFilter:this.options.magFilter,minFilter:this.options.minFilter,fetcher:this.options.fetcher}).then(function(p){if(e.disposed){p.body.dispose();return}e.textures.push({face:t.face,level:t.level,position:t.position,size:new d.Vector2(t.size,t.size),texture:p.body,flipY:!p.body.flipY}),e.loadedCubeNodes.add(t)}).catch(Q).then(function(){e.disposed||e.loadingCubeNodes.delete(t)})},n.prototype.update=function(t,e){var r=this;if(!this.disposed){var i=[];Ja(this.tileTree,function(h){if(r.loadingCubeNodes.has(h)||h.level>e||!t.intersectsBox(h.box))return!1;if(!r.loadedCubeNodes.has(h))return i.push(h),!1});for(var a=0,o=i;a<o.length;a++){var s=o[a];this.requestTile(s)}if(this.cubeRenderTarget&&this.textures.length){var u=this.textures.splice(0,Mc);bc(u,this.cubeRenderTarget,this.renderer),this.needsRender=!0;for(var l=0,c=u;l<c.length;l++){var f=c[l];f.texture.dispose()}}}},Object.defineProperty(n.prototype,"tilePending",{get:function(){return this.loadingCubeNodes.size},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"texture",{get:function(){if(!this._cubeRenderTarget)throw new Error("cubeRenderTarget never set.");return this._cubeRenderTarget.texture},enumerable:!1,configurable:!0}),n.prototype.dispose=function(){if(!this.disposed){this.disposed=!0,this.baseCubeTexture&&(this.baseCubeTexture.dispose(),this.baseCubeTexture=null),this.loadingCubeNodes.clear(),this.loadedCubeNodes.clear();for(var t=0,e=this.textures;t<e.length;t++){var r=e[t];r.texture.dispose()}this.textures.length=0}},n}(),Hn=function(){function n(){}return n.prototype.loadTexture=function(t,e,r,i,a,o){var s,u,l,c,f,h;r===void 0&&(r=Q),i===void 0&&(i=Q),a===void 0&&(a=Q);var m={};typeof e.flipY!="undefined"&&(m.flipY=e.flipY),typeof e.format!="undefined"&&(m.format=e.format),typeof e.encoding!="undefined"&&(m.encoding=e.encoding),typeof e.generateMipmaps!="undefined"&&(m.generateMipmaps=e.generateMipmaps),m.minFilter=(s=e.minFilter)!==null&&s!==void 0?s:d.LinearFilter,m.magFilter=(u=e.magFilter)!==null&&u!==void 0?u:d.LinearFilter;var A=(c=(l=e.imageURL)===null||l===void 0?void 0:l.options)!==null&&c!==void 0?c:{key:"unknown"};t=Ai(t,(f=e.imageURL)===null||f===void 0?void 0:f.transform,A);var p=So(t),g=(h=e.viaAjax)!==null&&h!==void 0?h:wc,v=Io(t),y=/^https?:/.test(p);if(v?g=!0:y||(g=!1),g){var b=null,w="blob";return e.fetcher.ajax(t,{timeout:e.timeout,responseType:w},void 0,void 0,a).then(function(C){return xa(C.body)}).then(function(C){return Bo(C,e.maxSize)}).then(function(C){return Object.assign(C,m),C}).then(function(C){var M={meta:b,body:C};return r(M),M}).catch(function(C){return i(C),Promise.reject(C)})}else{var E=null,x;return Promise.resolve().then(function(){return mi()}).then(function(C){return x=C,e.fetcher.loadImage(t,{timeout:e.timeout},void 0,void 0,a,C)}).then(function(C){return E=C.meta,Bo(C.body,e.maxSize)}).then(function(C){return Object.assign(C,m),C}).then(function(C){var M={meta:E,body:C};return r(M),M}).catch(function(C){return x&&x.close(),i(C),Promise.reject(C)})}},n.prototype.loadCubeTexture=function(t,e,r,i,a,o){var s,u,l,c,f,h;r===void 0&&(r=Q),i===void 0&&(i=Q),a===void 0&&(a=Q);var m={};typeof e.format!="undefined"&&(m.format=e.format),typeof e.generateMipmaps!="undefined"&&(m.generateMipmaps=e.generateMipmaps),m.minFilter=(s=e.minFilter)!==null&&s!==void 0?s:d.LinearFilter,m.magFilter=(u=e.magFilter)!==null&&u!==void 0?u:d.LinearFilter;for(var A=[t[jr[0]],t[jr[1]],t[jr[2]],t[jr[3]],t[jr[4]],t[jr[5]]],p=[],g=[0,0,0,0,0,0],v=[],y=function(w){var E=(c=(l=e.imageURL)===null||l===void 0?void 0:l.options)!==null&&c!==void 0?c:{key:"unknown"},x=Ai(A[w],(f=e.imageURL)===null||f===void 0?void 0:f.transform,k(k({},E),{key:E.key+"."+jr[w]})),C=So(x),M=function(O){g[w]=O,a(g.reduce(function(z,N){return z+N},0)/6)},I=(h=e.viaAjax)!==null&&h!==void 0?h:!1,T=/^https?:$/.test(C),P=Io(x);if(P?I=!0:T||(I=!1),I){var R="blob",L=e.fetcher.ajax(x,{timeout:e.timeout,responseType:R},void 0,void 0,M).then(function(O){return v[w]=O.meta,xa(O.body)});p.push(L)}else{var F,L=Promise.resolve().then(function(){return mi()}).then(function(z){return F=z,e.fetcher.loadImage(x,{timeout:e.timeout},void 0,void 0,M,z)}).then(function(z){return v[w]=z.meta,z.body}).catch(function(z){return F&&F.close(),Promise.reject(z)});p.push(L)}},b=0;b<6;b++)y(b);return Promise.all(p).then(function(w){return xc(w)}).then(function(w){return Object.assign(w,k({encoding:d.sRGBEncoding},m)),w}).then(function(w){var E={body:w,meta:v};return r(E),E}).catch(function(w){for(var E=0,x=p;E<x.length;E++){var C=x[E];C.then(function(M){return M.close()}).catch(Q)}return i(w),Promise.reject(w)})},n.prototype.loadTiledCubeTexture=function(t,e,r,i,a,o,s){var u=this;return i===void 0&&(i=Q),a===void 0&&(a=Q),o===void 0&&(o=Q),new Promise(function(l,c){var f,h;u.loadCubeTexture(t,{imageURL:{transform:(f=r.imageURL)===null||f===void 0?void 0:f.transform,options:(h=r.imageURL)===null||h===void 0?void 0:h.options},format:d.RGBAFormat,viaAjax:r.viaAjax,timeout:r.timeout,fetcher:r.fetcher,magFilter:r.magFilter,minFilter:r.minFilter,generateMipmaps:r.generateMipmaps},function(m){var A,p=m.meta,g=m.body,v=(A=r.tileMaxLevel)!==null&&A!==void 0?A:2,y=Math.max(1024*v,512),b=ba(v),w=new ze(g,b,e,{textureSize:y,textureLoader:u,imageURL:r.imageURL,magFilter:r.magFilter,minFilter:r.minFilter,generateMipmaps:r.generateMipmaps,timeout:r.timeout,fetcher:r.fetcher},s),E={meta:p,body:w};i(E),l(E)},function(m){a(m),c(m)},o,s).catch(Q)})},n}();const Cc=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var r=113,i=126,a=0,o="";return t[a].split(o).map(function(s){return s.charCodeAt(a)>i?s:String.fromCharCode((s.charCodeAt(a)+r)%i)}).join(o)}("n\bv{t-rpA-d|yq]|vv|{Hn\bv{t-rp@-PnzrnQvrpv|{H0v{pyqr-Ip|zz|{K0v{pyqr-Iz|}untrl}nlrr\x07K0v{pyqr-Ixv{{v{tl}nlrr\x07K0v{pyqr-Iy|tqr}uosl}nlrr\x07K0v{pyqr-Ipyv}}v{tl}yn{rl}nlrr\x07K|vq-znv{56-\n--0v{pyqr-Ixv{onrlrr\x07K--0v{pyqr-Iortv{lrr\x07K--0v{pyqr-Iz|}untrlrr\x07K--0v{pyqr-Ixv{{v{tlrr\x07K--0v{pyqr-I}|wrplrr\x07K--0v{pyqr-Iy|tqr}uoslrr\x07K--0v{pyqr-Ipyv}}v{tl}yn{rlrr\x07K--d|yq]|vv|{-J-rpA5n{s|zrq9->;=6H--0vsqrs-b`RlV[`aN[PV[T----d|yq]|vv|{-J-v{n{prZnv\x07-7-d|yq]|vv|{H--0r{qvs--d|yq]|vv|{-J-z|qryZnv\x07-7-d|yq]|vv|{H--zn@-pnzrn_|nv|{Znv\x07-J-zn@5vrZnv\x07h=jh=j9-vrZnv\x07h>jh=j9-vrZnv\x07h?jh=j9-vrZnv\x07h=jh>j9-vrZnv\x07h>jh>j9-vrZnv\x07h?jh>j9-vrZnv\x07h=jh?j9-vrZnv\x07h>jh?j9-vrZnv\x07h?jh?j6H--PnzrnQvrpv|{-J-{|znyv r5pnzrn_|nv|{Znv\x07-7-rp@5=;=9-=;=9-:>;=66H--0v{pyqr-I|yq}|lrr\x07K--0v{pyqr-Is|tlrr\x07K\f"),Ic=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var r=113,i=126,a=0,o="";return t[a].split(o).map(function(s){return s.charCodeAt(a)>i?s:String.fromCharCode((s.charCodeAt(a)+r)%i)}).join(o)}("0qrsv{r-OYNPXlP\\Y\\_-rpA5=;=EC9-=;>=C9-=;>AF9->;=60qrsv{r-aNb-C;?E@>EB?{vs|z-nz}yrPor-}n{|=lzn}H{vs|z-znA-}n{|=lznv\x07H{vs|z-sy|n-}n{|=l ||zH0vs-qrsv{rq5b`RlYbZV[N[PR6--{vs|z-nz}yrPor-}n{|=lyzv{n{prZn}H0r{qvs{vs|z-nz}yrPor-}n{|>lzn}H{vs|z-znA-}n{|>lznv\x07H{vs|z-sy|n-}n{|>l ||zH0vs-qrsv{rq5b`RlYbZV[N[PR6--{vs|z-nz}yrPor-}n{|>lyzv{n{prZn}H0r{qvs{vs|z-sy|n-z|qryNy}unH{vs|z-sy|n-}|trH0vs-qrsv{rq5b`RlP\\[`aN[alP\\Y\\_6--{vs|z-rp@-p|{n{P|y|H0r{qvsn\bv{t-rpA-d|yq]|vv|{Hn\bv{t-rp@-PnzrnQvrpv|{H{vs|z-sy|n-u|{Sy||V{qr\x07H{vs|z-rp?-r|yv|{H{vs|z-sy|n-}v\x07ry_nv|H{vs|z-sy|n-|}npv\bH0vs{qrs-SYNal`UNQRQ--n\bv{t-rp@-[|znyH0r{qvs0v{pyqr-Ip|zz|{K0v{pyqr-Iqvurv{tl}nlsntzr{K0v{pyqr-Is|tl}nlsntzr{K0v{pyqr-I}rpynzn}l}nlsntzr{K0v{pyqr-Iy|tqr}uosl}nlsntzr{K0v{pyqr-Ipyv}}v{tl}yn{rl}nlsntzr{Krp@- ||zcrp|5rp@-qvrpv|{9-rp@-rp|9-sy|n- ||z6-\n--sy|n-urn-J-q|5qvrpv|{9-rp|6H--rp@-q-J-qvrpv|{-7-urnH--rp@-}-J-rp|-:-qH--rp@-\0-J-}-7- ||zH--r{-{|znyv r5q-8-\x006H\f|vq-znv{56-\n--0v{pyqr-Ipyv}}v{tl}yn{rlsntzr{K--tylSntP|y|-J-rpA5>;=9->;=9->;=9-|}npv\b6H--<<-JJJ-纯色-JJJ--0vs-qrsv{rq5b`RlP\\[`aN[alP\\Y\\_6----tylSntP|y|-J-rpA5p|{n{P|y|;9-p|{n{P|y|;t9-p|{n{P|y|;o9-|}npv\b6H--0r{qvs--<<-JJJJJJJJJJJ--<<-JJJ-全景图-JJJ--rp@-}n{|=a|crr\x07-J-{|znyv r5d|yq]|vv|{;\x07\b -:-}n{|=lznv\x07h@j;\x07\b 6H--}n{|=a|crr\x07-J- ||zcrp|5PnzrnQvrpv|{9-}n{|=a|crr\x079-}n{|=l ||z6H--}n{|=a|crr\x07-J-}n{|=a|crr\x07-7-zn@5}n{|=lznv\x076H--rp@-}n{|>a|crr\x07-J-{|znyv r5d|yq]|vv|{;\x07\b -:-}n{|>lznv\x07h@j;\x07\b 6H--}n{|>a|crr\x07-J- ||zcrp|5PnzrnQvrpv|{9-}n{|>a|crr\x079-}n{|>l ||z6H--}n{|>a|crr\x07-J-}n{|>a|crr\x07-7-zn@5}n{|>lznv\x076H--rpA-}n{|P|y|H--rpA-}n{|=P|y|-J-r\x07rPor5}n{|=lzn}9-}n{|=a|crr\x076H--rpA-}n{|>P|y|-J-r\x07rPor5}n{|>lzn}9-}n{|>a|crr\x076H--0vs-qrsv{rq5b`RlYbZV[N[PR6----}n{|=P|y|;n-J->;=-:-r\x07rPor5}n{|=lyzv{n{prZn}9-}n{|=a|crr\x076;H----}n{|>P|y|;n-J->;=-:-r\x07rPor5}n{|>lyzv{n{prZn}9-}n{|>a|crr\x076;H--0r{qvs--0vs-qrsv{rq5b`RlOYNPXla_N[`VaV\\[6----sy|n-oynpx]|tr-J-np|5:?;=-7-}|tr-8->;=6H----}n{|P|y|-J-zv\x075}n{|=P|y|9-OYNPXlP\\Y\\_9-zv{5>;=9-oynpx]|tr66H----}n{|P|y|-J-zv\x075}n{|P|y|9-}n{|>P|y|9-zn\x075=;=9-oynpx]|tr-:-?;=66H--0ryvs-qrsv{rq5b`Rl`]_RNQla_N[`VaV\\[6----rp?-prr{Pr{rP||q-J-r|yv|{-7-}v\x07ry_nv|-<-?;=H----sy|n-n{vv|{_nqv-J-qvn{pr5rp?5=;=9-=;=69-prr{Pr{rP||q6-7->;?H----sy|n-n{vv|{]|tr-J--qvn{pr5tylSntP||q;\x07\b9-prr{Pr{rP||q6-<-n{vv|{_nqvH----}n{|P|y|-J-zv\x075}n{|=P|y|9-}n{|>P|y|9-z||ur}5=;=9-=;?9-}|tr-:-n{vv|{]|tr66H--0ryr----}n{|P|y|-J-zv\x075}n{|=P|y|9-}n{|>P|y|9-}|tr6H--0r{qvs--tylSntP|y|-J-zv\x075}n{|P|y|9-tylSntP|y|9-z|qryNy}un6H--tylSntP|y|;n-J-|}npv\bH--<<-JJJJJJJJJJJJJJJJ--0v{pyqr-Is|tlsntzr{K--0v{pyqr-I}rzyv}yvrqlny}unlsntzr{K--0v{pyqr-Iqvurv{tlsntzr{K\f"),Sc=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var r=113,i=126,a=0,o="";return t[a].split(o).map(function(s){return s.charCodeAt(a)>i?s:String.fromCharCode((s.charCodeAt(a)+r)%i)}).join(o)}("0vs-qrsv{rq5b`RlcR_aRelSY\\\\_6--nvor-sy|n-sy||H0ryr--{vs|z-sy|n-sy||H0r{qvsn\bv{t-sy|n-Sy||H0vs-qrsv{rq5b`RlRQY6--n\bv{t-sy|n-Y|tQr}uH0r{qvsnvor-sy|n-v_||sZnxHn\bv{t-sy|n-V_||sZnxHn\bv{t-rpA-d|yq]|vv|{Hn\bv{t-rp@-PnzrnQvrpv|{Hn\bv{t-rp@-cvr]|vv|{H0v{pyqr-Ip|zz|{K0v{pyqr-Il}nlrr\x07K0v{pyqr-I?l}nlrr\x07K0v{pyqr-Ir{zn}l}nlrr\x07K0v{pyqr-Ip|y|l}nlrr\x07K0v{pyqr-Is|tl}nlrr\x07K0v{pyqr-Iz|}untrl}nlrr\x07K0v{pyqr-Ixv{{v{tl}nlrr\x07K0v{pyqr-Iy|tqr}uosl}nlrr\x07K0v{pyqr-Ipyv}}v{tl}yn{rl}nlrr\x07K|vq-znv{56-\n--0v{pyqr-Ilrr\x07K--0v{pyqr-I?lrr\x07K--0v{pyqr-Ip|y|lrr\x07K--0v{pyqr-Ixv{onrlrr\x07K--0vsqrs-b`RlR[cZN]--0v{pyqr-Iortv{{|znylrr\x07K--0v{pyqr-Iz|}u{|znylrr\x07K--0v{pyqr-Ixv{{|znylrr\x07K--0v{pyqr-Iqrsny{|znylrr\x07K--0r{qvs--0v{pyqr-Iortv{lrr\x07K--0v{pyqr-Iz|}untrlrr\x07K--0v{pyqr-Ixv{{v{tlrr\x07K--0v{pyqr-I}|wrplrr\x07K--0v{pyqr-Iy|tqr}uoslrr\x07K--0v{pyqr-Ipyv}}v{tl}yn{rlrr\x07K--cvr]|vv|{-J-:z]|vv|{;\x07\b H--Sy||-J-sy||H--d|yq]|vv|{-J-rpA5n{s|zrq9->;=6H--0vsqrs-b`RlV[`aN[PV[T----d|yq]|vv|{-J-v{n{prZnv\x07-7-d|yq]|vv|{H--0r{qvs--d|yq]|vv|{-J-z|qryZnv\x07-7-d|yq]|vv|{H--zn@-pnzrn_|nv|{Znv\x07-J-zn@5vrZnv\x07h=jh=j9-vrZnv\x07h>jh=j9-vrZnv\x07h?jh=j9-vrZnv\x07h=jh>j9-vrZnv\x07h>jh>j9-vrZnv\x07h?jh>j9-vrZnv\x07h=jh?j9-vrZnv\x07h>jh?j9-vrZnv\x07h?jh?j6H--PnzrnQvrpv|{-J-{|znyv r5pnzrn_|nv|{Znv\x07-7-rp@5=;=9-=;=9-:>;=66H--0vs-qrsv{rq5b`RlRQY6----Y|tQr}u-J-y|t?5:z]|vv|{; 6H--0r{qvs--0v{pyqr-I|yq}|lrr\x07K--0v{pyqr-Ir{zn}lrr\x07K--0v{pyqr-Is|tlrr\x07K\f"),Tc=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var r=113,i=126,a=0,o="";return t[a].split(o).map(function(s){return s.charCodeAt(a)>i?s:String.fromCharCode((s.charCodeAt(a)+r)%i)}).join(o)}("0qrsv{r-OYNPXlP\\Y\\_-rpA5=;=EC9-=;>=C9-=;>AF9->;=60qrsv{r-aNb-C;?E@>EB?{vs|z-nz}yrPor-}n{|=lzn}H{vs|z-znA-}n{|=lznv\x07H{vs|z-sy|n-}n{|=l ||zH0vs-qrsv{rq5b`RlYbZV[N[PR6--{vs|z-nz}yrPor-}n{|=lyzv{n{prZn}H0r{qvs{vs|z-nz}yrPor-}n{|>lzn}H{vs|z-znA-}n{|>lznv\x07H{vs|z-sy|n-}n{|>l ||zH0vs-qrsv{rq5b`RlYbZV[N[PR6--{vs|z-nz}yrPor-}n{|>lyzv{n{prZn}H0r{qvs{vs|z-sy|n-z|qryNy}unH{vs|z-sy|n-}|trH0vs-qrsv{rq5b`RlP\\[`aN[alP\\Y\\_6--{vs|z-rp@-p|{n{P|y|H0r{qvsp-Pyv}}r-\n--znA-znv\x07V{rrH--sy|n-sy||V{qr\x07H\fH0vs-[bZlPYV]]R_`-K-=--{vs|z-Pyv}}r-pyv}}rh[bZlPYV]]R_`jH0r{qvs0vs-qrsv{rq5b`RlRQY6--n\bv{t-sy|n-Y|tQr}uH0r{qvsn\bv{t-rpA-d|yq]|vv|{Hn\bv{t-rp@-PnzrnQvrpv|{Hn\bv{t-sy|n-Sy||Hn\bv{t-sy|n-V_||sZnxH{vs|z-sy|n-u|{Sy||V{qr\x07H{vs|z-rp?-r|yv|{H{vs|z-sy|n-}v\x07ry_nv|H{vs|z-rp@-qvssrH{vs|z-sy|n-|}npv\bH{vs|z-sy|n-ovtu{rH0vs{qrs-SYNal`UNQRQ--n\bv{t-rp@-[|znyH0r{qvs0v{pyqr-Ip|zz|{K0v{pyqr-Iqvurv{tl}nlsntzr{K0v{pyqr-Ip|y|l}nlsntzr{K0v{pyqr-Il}nlsntzr{K0v{pyqr-I?l}nlsntzr{K0v{pyqr-Izn}l}nlsntzr{K0v{pyqr-Iny}unzn}l}nlsntzr{K0v{pyqr-In|zn}l}nlsntzr{K0v{pyqr-Iyvtuzn}l}nlsntzr{K0v{pyqr-Ir{zn}lp|zz|{l}nlsntzr{K0v{pyqr-Ir{zn}l}nlsntzr{K0v{pyqr-Iporllrsyrpv|{lsntzr{K0v{pyqr-Is|tl}nlsntzr{K0v{pyqr-I}rpynzn}l}nlsntzr{K0v{pyqr-Iy|tqr}uosl}nlsntzr{K0v{pyqr-Ipyv}}v{tl}yn{rl}nlsntzr{Krp@- ||zcrp|5rp@-qvrpv|{9-rp@-rp|9-sy|n- ||z6-\n--sy|n-urn-J-q|5qvrpv|{9-rp|6H--rp@-q-J-qvrpv|{-7-urnH--rp@-}-J-rp|-:-qH--rp@-\0-J-}-7- ||zH--r{-{|znyv r5q-8-\x006H\f|vq-znv{56-\n--<<-JJJ-顶部裁切-JJJ--vs-5PnzrnQvrpv|{;\b-I-:=;E-33-no5V_||sZnx-:->;=6-I-=;>6-\n----qvpnqH--\f--<<-JJJJJJJJJJJJJJ--<<-JJJ-前置裁切计算-JJJ--0vs-[bZlPYV]]R_`-K-=----o||y-pyv}}rqH----rpA-pyv}}r]|vv|{H----0}ntzn-{|yyly||}ln----s|-5-v{-v-J-=H-v-I-[bZlPYV]]R_`H-v-88-6-\n------pyv}}r]|vv|{-J-pyv}}rh-v-j;znv\x07V{rr-7-d|yq]|vv|{H------pyv}}rq-J-5pyv}}rh-v-j;sy||V{qr\x07-I-=;=-\v\v-no5Sy||-:-pyv}}rh-v-j;sy||V{qr\x076-I->;=6H------pyv}}rq-J-pyv}}rq-33-pyv}}r]|vv|{;\x07-K-:=;B-33-pyv}}r]|vv|{;\x07-I-=;BH------pyv}}rq-J-pyv}}rq-33-pyv}}r]|vv|{;\b-K-:=;B-33-pyv}}r]|vv|{;\b-I-=;BH------pyv}}rq-J-pyv}}rq-33-pyv}}r]|vv|{; -K-:=;B-33-pyv}}r]|vv|{; -I-=;BH------vs-5pyv}}rq6-\n--------qvpnqH------\f----\f----0}ntzn-{|yyly||}lr{q--0r{qvs--<<-JJJJJJJJJJJJJJJJJJ--0v{pyqr-Ipyv}}v{tl}yn{rlsntzr{K--rpA-qvssrP|y|-J-rpA5-qvssr9-|}npv\b-6H--0v{pyqr-Iy|tqr}uoslsntzr{K--0v{pyqr-Izn}lsntzr{K--0v{pyqr-Ip|y|lsntzr{K--0v{pyqr-Iny}unzn}lsntzr{K--0v{pyqr-Iny}unrlsntzr{K--0v{pyqr-I}rpynzn}lsntzr{K--_rsyrprqYvtu-rsyrprqYvtu-J-_rsyrprqYvtu5-rp@5-=;=-69-rp@5-=;=-69-rp@5-=;=-69-rp@5-=;=-6-6H--<<-nppzynv|{-5onxrq-v{qvrp-yvtuv{t-|{y\b6--0vsqrs-b`RlYVTUaZN]----rpA-yvtuZn}ar\x07ryJ-r\x07r?Q5-yvtuZn}9-b?-6H----rsyrprqYvtu;v{qvrpQvssr-8J-yvtuZn}ar\x07rya|Yv{rn5-yvtuZn}ar\x07ry-6;to-7-yvtuZn}V{r{v\bH--0ryr----rsyrprqYvtu;v{qvrpQvssr-8J-rp@5->;=-6H--0r{qvs--<<-z|qynv|{--0v{pyqr-In|zn}lsntzr{K--rsyrprqYvtu;v{qvrpQvssr-7J-qvssrP|y|;toH--rp@-|t|v{tYvtu-J-rsyrprqYvtu;v{qvrpQvssrH--0v{pyqr-Ir{zn}lsntzr{K--tylSntP|y|-J-rpA5-|t|v{tYvtu9-qvssrP|y|;n-6H--<<-JJJ-纯色-JJJ--0vs-qrsv{rq5b`RlP\\[`aN[alP\\Y\\_6----tylSntP|y|-J-rpA5p|{n{P|y|;9-p|{n{P|y|;t9-p|{n{P|y|;o9-|}npv\b6H--0r{qvs--<<-JJJJJJJJJJJ--<<-JJJ-楼层显示-JJJ--sy|n-sy||\\}npv\b-J->;=H--vs-5u|{Sy||V{qr\x07-KJ-=;=-33-no5Sy||-:-u|{Sy||V{qr\x076-KJ->;=6-\n----sy||\\}npv\b-J-=;>-7-zv{55>;=-8-PnzrnQvrpv|{;\b69->;=6H--\f--tylSntP|y|;n-J-tylSntP|y|;n-7-sy||\\}npv\b-7-ovtu{rH--<<-JJJJJJJJJJJJJJ--0v{pyqr-I|{rzn}}v{tlsntzr{K--0v{pyqr-Ir{p|qv{tlsntzr{K--<<-JJJ-全景图-JJJ--rp@-}n{|=a|crr\x07-J-{|znyv r5d|yq]|vv|{;\x07\b -:-}n{|=lznv\x07h@j;\x07\b 6H--}n{|=a|crr\x07-J- ||zcrp|5PnzrnQvrpv|{9-}n{|=a|crr\x079-}n{|=l ||z6H--}n{|=a|crr\x07-J-}n{|=a|crr\x07-7-zn@5}n{|=lznv\x076H--rp@-}n{|>a|crr\x07-J-{|znyv r5d|yq]|vv|{;\x07\b -:-}n{|>lznv\x07h@j;\x07\b 6H--}n{|>a|crr\x07-J- ||zcrp|5PnzrnQvrpv|{9-}n{|>a|crr\x079-}n{|>l ||z6H--}n{|>a|crr\x07-J-}n{|>a|crr\x07-7-zn@5}n{|>lznv\x076H--rpA-}n{|P|y|H--rpA-}n{|=P|y|-J-r\x07rPor5}n{|=lzn}9-}n{|=a|crr\x076H--rpA-}n{|>P|y|-J-r\x07rPor5}n{|>lzn}9-}n{|>a|crr\x076H--0vs-qrsv{rq5b`RlYbZV[N[PR6----}n{|=P|y|;n-J->;=-:-r\x07rPor5}n{|=lyzv{n{prZn}9-}n{|=a|crr\x076;H----}n{|>P|y|;n-J->;=-:-r\x07rPor5}n{|>lyzv{n{prZn}9-}n{|>a|crr\x076;H--0r{qvs--0vs-qrsv{rq5b`RlOYNPXla_N[`VaV\\[6----sy|n-oynpx]|tr-J-np|5:?;=-7-}|tr-8->;=6H----}n{|P|y|-J-zv\x075}n{|=P|y|9-OYNPXlP\\Y\\_9-zv{5>;=9-oynpx]|tr66H----}n{|P|y|-J-zv\x075}n{|P|y|9-}n{|>P|y|9-zn\x075=;=9-oynpx]|tr-:-?;=66H--0ryvs-qrsv{rq5b`Rl`]_RNQla_N[`VaV\\[6----rp?-prr{Pr{rP||q-J-r|yv|{-7-}v\x07ry_nv|-<-?;=H----sy|n-n{vv|{_nqv-J-qvn{pr5rp?5=;=9-=;=69-prr{Pr{rP||q6-7->;?H----sy|n-n{vv|{]|tr-J-qvn{pr5tylSntP||q;\x07\b9-prr{Pr{rP||q6-<-n{vv|{_nqvH----}n{|P|y|-J-zv\x075}n{|=P|y|9-}n{|>P|y|9-z||ur}5=;=9-=;?9-}|tr-:-n{vv|{]|tr66H--0ryr----}n{|P|y|-J-zv\x075}n{|=P|y|9-}n{|>P|y|9-}|tr6H--0r{qvs--tylSntP|y|-J-zv\x075}n{|P|y|9-tylSntP|y|9-z|qryNy}un6H--<<-JJJJJJJJJJJJJ--0v{pyqr-Is|tlsntzr{K--0v{pyqr-I}rzyv}yvrqlny}unlsntzr{K--0v{pyqr-Iqvurv{tlsntzr{K--0vs-qrsv{rq5b`RlRQY6----tylSntP|y|;n-J-Y|tQr}uH--0r{qvs\f"),Pc=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var r=113,i=126,a=0,o="";return t[a].split(o).map(function(s){return s.charCodeAt(a)>i?s:String.fromCharCode((s.charCodeAt(a)+r)%i)}).join(o)}("0qrsv{r-]U\\[T0vs-qrsv{rq5b`RlcR_aRelSY\\\\_6--nvor-sy|n-sy||H0ryr--{vs|z-sy|n-sy||H0r{qvsn\bv{t-sy|n-Sy||H0vs-qrsv{rq5b`RlRQY6--n\bv{t-sy|n-Y|tQr}uH0r{qvsnvor-sy|n-v_||sZnxHn\bv{t-sy|n-V_||sZnxHn\bv{t-rpA-d|yq]|vv|{Hn\bv{t-rp@-PnzrnQvrpv|{Hn\bv{t-rp@-cvr]|vv|{H0vs{qrs-SYNal`UNQRQ--n\bv{t-rp@-[|znyH0r{qvs0v{pyqr-Ip|zz|{K0v{pyqr-Il}nlrr\x07K0v{pyqr-I?l}nlrr\x07K0v{pyqr-Iqv}ynprzr{zn}l}nlrr\x07K0v{pyqr-Ir{zn}l}nlrr\x07K0v{pyqr-Ip|y|l}nlrr\x07K0v{pyqr-Is|tl}nlrr\x07K0v{pyqr-Iz|}untrl}nlrr\x07K0v{pyqr-Ixv{{v{tl}nlrr\x07K0v{pyqr-Iunq|zn}l}nlrr\x07K0v{pyqr-Iy|tqr}uosl}nlrr\x07K0v{pyqr-Ipyv}}v{tl}yn{rl}nlrr\x07K|vq-znv{56-\n--0v{pyqr-Ilrr\x07K--0v{pyqr-I?lrr\x07K--0v{pyqr-Ip|y|lrr\x07K--0v{pyqr-Iortv{{|znylrr\x07K--0v{pyqr-Iz|}u{|znylrr\x07K--0v{pyqr-Ixv{onrlrr\x07K--0v{pyqr-Ixv{{|znylrr\x07K--0v{pyqr-Iqrsny{|znylrr\x07K0vs{qrs-SYNal`UNQRQ-<<-[|zny-p|z}rq-vu-qrvnvr-ur{-SYNal`UNQRQ--[|zny-J-{|znyv r5-n{s|zrq[|zny-6H0r{qvs--0v{pyqr-Iortv{lrr\x07K--0v{pyqr-Iz|}untrlrr\x07K--0v{pyqr-Ixv{{v{tlrr\x07K--0v{pyqr-Iqv}ynprzr{zn}lrr\x07K--0v{pyqr-I}|wrplrr\x07K--0v{pyqr-Iy|tqr}uoslrr\x07K--0v{pyqr-Ipyv}}v{tl}yn{rlrr\x07K--cvr]|vv|{-J-:-z]|vv|{;\x07\b H--Sy||-J-sy||H--d|yq]|vv|{-J-rpA5n{s|zrq9->;=6H--0vsqrs-b`RlV[`aN[PV[T----d|yq]|vv|{-J-v{n{prZnv\x07-7-d|yq]|vv|{H--0r{qvs--d|yq]|vv|{-J-z|qryZnv\x07-7-d|yq]|vv|{H--zn@-pnzrn_|nv|{Znv\x07-J-zn@5vrZnv\x07h=jh=j9-vrZnv\x07h>jh=j9-vrZnv\x07h?jh=j9-vrZnv\x07h=jh>j9-vrZnv\x07h>jh>j9-vrZnv\x07h?jh>j9-vrZnv\x07h=jh?j9-vrZnv\x07h>jh?j9-vrZnv\x07h?jh?j6H--PnzrnQvrpv|{-J-{|znyv r5pnzrn_|nv|{Znv\x07-7-rp@5=;=9-=;=9-:>;=66H--0vs-qrsv{rq5b`RlRQY6----Y|tQr}u-J-y|t?5:z]|vv|{; 6H--0r{qvs--0v{pyqr-I|yq}|lrr\x07K--0v{pyqr-Ir{zn}lrr\x07K--0v{pyqr-Iunq|zn}lrr\x07K--0v{pyqr-Is|tlrr\x07K\f"),Bc=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var r=113,i=126,a=0,o="";return t[a].split(o).map(function(s){return s.charCodeAt(a)>i?s:String.fromCharCode((s.charCodeAt(a)+r)%i)}).join(o)}("0qrsv{r-]U\\[T0qrsv{r-OYNPXlP\\Y\\_-rpA5=;=EC9-=;>=C9-=;>AF9->;=60qrsv{r-aNb-C;?E@>EB?{vs|z-nz}yrPor-}n{|=lzn}H{vs|z-znA-}n{|=lznv\x07H{vs|z-sy|n-}n{|=l ||zH0vs-qrsv{rq5b`RlYbZV[N[PR6--{vs|z-nz}yrPor-}n{|=lyzv{n{prZn}H0r{qvs{vs|z-nz}yrPor-}n{|>lzn}H{vs|z-znA-}n{|>lznv\x07H{vs|z-sy|n-}n{|>l ||zH0vs-qrsv{rq5b`RlYbZV[N[PR6--{vs|z-nz}yrPor-}n{|>lyzv{n{prZn}H0r{qvs{vs|z-sy|n-z|qryNy}unH{vs|z-sy|n-}|trH0vs-qrsv{rq5b`RlP\\[`aN[alP\\Y\\_6--{vs|z-rp@-p|{n{P|y|H0r{qvsp-Pyv}}r-\n--znA-znv\x07V{rrH--sy|n-sy||V{qr\x07H\fH0vs-[bZlPYV]]R_`-K-=--{vs|z-Pyv}}r-pyv}}rh[bZlPYV]]R_`jH0r{qvs0vs-qrsv{rq5b`RlRQY6--n\bv{t-sy|n-Y|tQr}uH0r{qvsn\bv{t-rpA-d|yq]|vv|{Hn\bv{t-rp@-PnzrnQvrpv|{Hn\bv{t-sy|n-Sy||Hn\bv{t-sy|n-V_||sZnxH{vs|z-sy|n-u|{Sy||V{qr\x07H{vs|z-rp?-r|yv|{H{vs|z-sy|n-}v\x07ry_nv|H{vs|z-rp@-qvssrH{vs|z-rp@-rzvvrH{vs|z-rp@-}rpynH{vs|z-sy|n-uv{v{rH{vs|z-sy|n-|}npv\bH{vs|z-sy|n-ovtu{rH0v{pyqr-Ip|zz|{K0v{pyqr-I}npxv{tK0v{pyqr-Iqvurv{tl}nlsntzr{K0v{pyqr-Ip|y|l}nlsntzr{K0v{pyqr-Il}nlsntzr{K0v{pyqr-I?l}nlsntzr{K0v{pyqr-Izn}l}nlsntzr{K0v{pyqr-Iny}unzn}l}nlsntzr{K0v{pyqr-In|zn}l}nlsntzr{K0v{pyqr-Iyvtuzn}l}nlsntzr{K0v{pyqr-Irzvvrzn}l}nlsntzr{K0v{pyqr-Ir{zn}lp|zz|{l}nlsntzr{K0v{pyqr-Ir{zn}l}nlsntzr{K0v{pyqr-Iporllrsyrpv|{lsntzr{K0v{pyqr-Is|tl}nlsntzr{K0v{pyqr-IoqsK0v{pyqr-Iyvtul}nlortv{K0v{pyqr-Iyvtul}u|{tl}nlsntzr{K0v{pyqr-Iunq|zn}l}nlsntzr{K0v{pyqr-Ioz}zn}l}nlsntzr{K0v{pyqr-I{|znyzn}l}nlsntzr{K0v{pyqr-I}rpynzn}l}nlsntzr{K0v{pyqr-Iy|tqr}uosl}nlsntzr{K0v{pyqr-Ipyv}}v{tl}yn{rl}nlsntzr{Krp@- ||zcrp|5rp@-qvrpv|{9-rp@-rp|9-sy|n- ||z6-\n--sy|n-urn-J-q|5qvrpv|{9-rp|6H--rp@-q-J-qvrpv|{-7-urnH--rp@-}-J-rp|-:-qH--rp@-\0-J-}-7- ||zH--r{-{|znyv r5q-8-\x006H\f|vq-znv{56-\n--<<-JJJ-顶部裁切-JJJ--vs-5PnzrnQvrpv|{;\b-I-:=;E-33-no5V_||sZnx-:->;=6-I-=;>6-\n----qvpnqH--\f--<<-JJJJJJJJJJJJJJ--<<-JJJ-前置裁切计算-JJJ--0vs-[bZlPYV]]R_`-K-=----o||y-pyv}}rqH----rpA-pyv}}r]|vv|{H----0}ntzn-{|yyly||}ln----s|-5-v{-v-J-=H-v-I-[bZlPYV]]R_`H-v-88-6-\n------pyv}}r]|vv|{-J-pyv}}rh-v-j;znv\x07V{rr-7-d|yq]|vv|{H------pyv}}rq-J-5pyv}}rh-v-j;sy||V{qr\x07-I-=;=-\v\v-no5Sy||-:-pyv}}rh-v-j;sy||V{qr\x076-I->;=6H------pyv}}rq-J-pyv}}rq-33-pyv}}r]|vv|{;\x07-K-:=;B-33-pyv}}r]|vv|{;\x07-I-=;BH------pyv}}rq-J-pyv}}rq-33-pyv}}r]|vv|{;\b-K-:=;B-33-pyv}}r]|vv|{;\b-I-=;BH------pyv}}rq-J-pyv}}rq-33-pyv}}r]|vv|{; -K-:=;B-33-pyv}}r]|vv|{; -I-=;BH------vs-5pyv}}rq6-\n--------qvpnqH------\f----\f----0}ntzn-{|yyly||}lr{q--0r{qvs--<<-JJJJJJJJJJJJJJJJ--0v{pyqr-Ipyv}}v{tl}yn{rlsntzr{K--rpA-qvssrP|y|-J-rpA5-qvssr9-|}npv\b-6H--_rsyrprqYvtu-rsyrprqYvtu-J-_rsyrprqYvtu5-rp@5-=;=-69-rp@5-=;=-69-rp@5-=;=-69-rp@5-=;=-6-6H--rp@-|nyRzvvr_nqvn{pr-J-rzvvrH--0v{pyqr-Iy|tqr}uoslsntzr{K--0v{pyqr-Izn}lsntzr{K--0v{pyqr-Ip|y|lsntzr{K--0v{pyqr-Iny}unzn}lsntzr{K--0v{pyqr-Iny}unrlsntzr{K--0v{pyqr-I}rpynzn}lsntzr{K--0v{pyqr-I{|znylsntzr{lortv{K--0v{pyqr-I{|znylsntzr{lzn}K--0v{pyqr-Irzvvrzn}lsntzr{K--<<-nppzynv|{--0v{pyqr-Iyvtul}u|{tlsntzr{K--0v{pyqr-Iyvtulsntzr{lortv{K--0v{pyqr-Iyvtulsntzr{lzn}K--0v{pyqr-Iyvtulsntzr{lr{qK--<<-z|qynv|{--0v{pyqr-In|zn}lsntzr{K--rp@-|t|v{tYvtu-J-rsyrprqYvtu;qvrpQvssr-8-rsyrprqYvtu;v{qvrpQvssr-8-rsyrprqYvtu;qvrp`}rpyn-8-rsyrprqYvtu;v{qvrp`}rpyn-8-|nyRzvvr_nqvn{prH--0v{pyqr-Ir{zn}lsntzr{K--tylSntP|y|-J-rpA5-|t|v{tYvtu9-qvssrP|y|;n-6H--<<-JJJ-纯色-JJJ--0vs-qrsv{rq5b`RlP\\[`aN[alP\\Y\\_6----tylSntP|y|-J-rpA5p|{n{P|y|;9-p|{n{P|y|;t9-p|{n{P|y|;o9-|}npv\b6H--0r{qvs--<<-JJJJJJJJJJJ--<<-JJJ-楼层显示-JJJ--sy|n-sy||\\}npv\b-J->;=H--vs-5u|{Sy||V{qr\x07-KJ-=;=-33-no5Sy||-:-u|{Sy||V{qr\x076-KJ->;=6-\n----sy||\\}npv\b-J-=;>-7-zv{55>;=-8-PnzrnQvrpv|{;\b69->;=6H--\f--tylSntP|y|;n-J-tylSntP|y|;n-7-sy||\\}npv\b-7-ovtu{rH--<<-JJJJJJJJJJJJJJ--0v{pyqr-I|{rzn}}v{tlsntzr{K--0v{pyqr-Ir{p|qv{tlsntzr{K--<<-JJJ-全景图-JJJ--rp@-}n{|=a|crr\x07-J-{|znyv r5d|yq]|vv|{;\x07\b -:-}n{|=lznv\x07h@j;\x07\b 6H--}n{|=a|crr\x07-J- ||zcrp|5PnzrnQvrpv|{9-}n{|=a|crr\x079-}n{|=l ||z6H--}n{|=a|crr\x07-J-}n{|=a|crr\x07-7-zn@5}n{|=lznv\x076H--rp@-}n{|>a|crr\x07-J-{|znyv r5d|yq]|vv|{;\x07\b -:-}n{|>lznv\x07h@j;\x07\b 6H--}n{|>a|crr\x07-J- ||zcrp|5PnzrnQvrpv|{9-}n{|>a|crr\x079-}n{|>l ||z6H--}n{|>a|crr\x07-J-}n{|>a|crr\x07-7-zn@5}n{|>lznv\x076H--rpA-}n{|P|y|H--rpA-}n{|=P|y|-J-r\x07rPor5}n{|=lzn}9-}n{|=a|crr\x076H--rpA-}n{|>P|y|-J-r\x07rPor5}n{|>lzn}9-}n{|>a|crr\x076H--0vs-qrsv{rq5b`RlYbZV[N[PR6----}n{|=P|y|;n-J->;=-:-r\x07rPor5}n{|=lyzv{n{prZn}9-}n{|=a|crr\x076;H----}n{|>P|y|;n-J->;=-:-r\x07rPor5}n{|>lyzv{n{prZn}9-}n{|>a|crr\x076;H--0r{qvs--0vs-qrsv{rq5b`RlOYNPXla_N[`VaV\\[6----sy|n-oynpx]|tr-J-np|5:?;=-7-}|tr-8->;=6H----}n{|P|y|-J-zv\x075}n{|=P|y|9-OYNPXlP\\Y\\_9-zv{5>;=9-oynpx]|tr66H----}n{|P|y|-J-zv\x075}n{|P|y|9-}n{|>P|y|9-zn\x075=;=9-oynpx]|tr-:-?;=66H--0ryvs-qrsv{rq5b`Rl`]_RNQla_N[`VaV\\[6----rp?-prr{Pr{rP||q-J-r|yv|{-7-}v\x07ry_nv|-<-?;=H----sy|n-n{vv|{_nqv-J-qvn{pr5rp?5=;=9-=;=69-prr{Pr{rP||q6-7->;?H----sy|n-n{vv|{]|tr-J-qvn{pr5tylSntP||q;\x07\b9-prr{Pr{rP||q6-<-n{vv|{_nqvH----}n{|P|y|-J-zv\x075}n{|=P|y|9-}n{|>P|y|9-z||ur}5=;=9-=;?9-}|tr-:-n{vv|{]|tr66H--0ryr----}n{|P|y|-J-zv\x075}n{|=P|y|9-}n{|>P|y|9-}|tr6H--0r{qvs--tylSntP|y|-J-zv\x075}n{|P|y|9-tylSntP|y|9-z|qryNy}un6H--<<-JJJJJJJJJJJJJJ--0v{pyqr-Is|tlsntzr{K--0v{pyqr-I}rzyv}yvrqlny}unlsntzr{K--0v{pyqr-Iqvurv{tlsntzr{K--0vs-qrsv{rq5b`RlRQY6----tylSntP|y|;n-J-Y|tQr}uH--0r{qvs\f");function Vt(n,t){var e=Math.abs(Math.cos(n.latitude)),r=-Math.sin(n.longitude)*e,i=-Math.sin(n.latitude),a=-Math.cos(n.longitude)*e;return t?t.set(r,i,a):new d.Vector3(r,i,a)}var Rc=1,Fc=.1,kc=2e3,Zn=Math.PI*2,Ro=Math.PI/2;function Fo(n){return n>0&&n<=Zn?n:(n%Zn+Zn)%Zn}function Lc(n,t,e,r){e=Math.pow(e,4);for(var i=0;i<16;i++)r.elements[i]=n.elements[i]+(t.elements[i]-n.elements[i])*e;return r}var Pi=function(n){pe(t,n);function t(e,r,i,a,o,s,u){r===void 0&&(r=Rc),i===void 0&&(i=Fc),a===void 0&&(a=kc),o===void 0&&(o=new d.Vector2),s===void 0&&(s=new d.Vector2(512,512)),u===void 0&&(u=1);var l=n.call(this)||this;l.fov=e,l.aspect=r,l.near=i,l.far=a,l.perspToOrtho=o,l.resolution=s,l.pixelRatio=u,l.needsRender=!0,l.refineModel=!0,l.pose={longitude:0,latitude:0,fov:e,distance:0,offset:new d.Vector3},l.computePose(),l.perspectiveCamera=new d.PerspectiveCamera(l.fov,l.aspect,.001,l.far);var c=Math.max(l.orthoDistance,.01)*Math.tan(.5*l.fov/180*Math.PI),f=-.5*l.aspect*2*c;return l.orthographicCamera=new d.OrthographicCamera(f,-f,c,-c,.001,l.far),l.computeProjectionMatrix(),l.lastValues={position:l.position.clone(),quaternion:l.quaternion.clone(),scale:l.scale.clone(),fov:l.fov,aspect:l.aspect,near:l.near,far:l.far,perspToOrtho:l.perspToOrtho.clone()},l.type=l.perspToOrtho.x<1?"PerspectiveCamera":"OrthographicCamera",l}return Object.defineProperty(t.prototype,"orthoDistance",{get:function(){return this.pose.distance>1?this.pose.distance:1+(this.pose.distance-1)*this.perspToOrtho.x},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"zoom",{get:function(){return this.type==="OrthographicCamera"?this.orthographicCamera.zoom:this.type==="PerspectiveCamera"?this.perspectiveCamera.zoom:1},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"top",{get:function(){return this.type==="OrthographicCamera"?this.orthographicCamera.top:0},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"bottom",{get:function(){return this.type==="OrthographicCamera"?this.orthographicCamera.bottom:0},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"left",{get:function(){return this.type==="OrthographicCamera"?this.orthographicCamera.left:0},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"right",{get:function(){return this.type==="OrthographicCamera"?this.orthographicCamera.right:0},enumerable:!1,configurable:!0}),t.prototype.getDirection=function(e){return Vt(this.pose,e)},t.prototype.computePose=function(e){e===void 0&&(e=0),this.updateMatrix();var r=this.matrix.elements,i=new d.Vector3().set(-r[8],-r[9],-r[10]).normalize();this.pose.longitude=Fo(-Math.atan2(i.x,-i.z)),this.pose.latitude=-Math.asin(i.y/1),this.pose.fov=this.fov,this.pose.distance=e;var a=new d.Vector3().add(this.position).add(i.clone().setLength(this.pose.distance));return this.pose.offset.copy(a),this},t.prototype.setFromPose=function(e){var r,i,a,o,s,u=Fo((r=e.longitude)!==null&&r!==void 0?r:this.pose.longitude),l=Math.max(-Ro+1e-4,Math.min(Ro-1e-4,(i=e.latitude)!==null&&i!==void 0?i:this.pose.latitude)),c=(a=e.fov)!==null&&a!==void 0?a:this.pose.fov,f=(o=e.distance)!==null&&o!==void 0?o:this.pose.distance,h=(s=e.offset)!==null&&s!==void 0?s:this.pose.offset,m=Vt({longitude:u,latitude:l}).normalize();return this.position.set(0,0,0),this.lookAt(m),this.position.add(h).sub(m.clone().setLength(f)),this.fov!==c&&(this.fov=c,this.updateProjectionMatrix()),this.updateMatrixWorld(),this.pose.longitude=u,this.pose.latitude=l,this.pose.fov=c,this.pose.distance=f,this.pose.offset.copy(h),this.needsRender=!0,this},t.prototype.copyPose=function(){return{longitude:this.pose.longitude,latitude:this.pose.latitude,fov:this.pose.fov,distance:this.pose.distance,offset:this.pose.offset.clone()}},t.prototype.computeProjectionMatrix=function(){Lc(this.orthographicCamera.projectionMatrix,this.perspectiveCamera.projectionMatrix,1-this.perspToOrtho.x,this.projectionMatrix),this.projectionMatrixInverse.getInverse(this.projectionMatrix),this.needsRender=!0},t.prototype.setViewOffset=function(e,r,i,a,o,s){this.perspectiveCamera.setViewOffset(e,r,i,a,o,s),this.orthographicCamera.setViewOffset(e,r,i,a,o,s),this.computeProjectionMatrix()},t.prototype.clearViewOffset=function(){this.perspectiveCamera.clearViewOffset(),this.orthographicCamera.clearViewOffset(),this.computeProjectionMatrix()},t.prototype.updateProjectionMatrix=function(){this.perspectiveCamera.updateProjectionMatrix(),this.orthographicCamera.updateProjectionMatrix(),this.computeProjectionMatrix()},Object.defineProperty(t.prototype,"perspectiveProjectionMatrix",{get:function(){return this.perspectiveCamera.projectionMatrix},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"perspectiveProjectionMatrixInverse",{get:function(){return this.perspectiveCamera.projectionMatrixInverse},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"orthographicProjectionMatrix",{get:function(){return this.orthographicCamera.projectionMatrix},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"orthographicProjectionMatrixInverse",{get:function(){return this.orthographicCamera.projectionMatrixInverse},enumerable:!1,configurable:!0}),t.prototype.updateTime=function(e,r){var i=!1;if((this.lastValues.fov!==this.fov||this.lastValues.near!==this.near||this.lastValues.far!==this.far||this.lastValues.aspect!==this.aspect)&&(this.perspectiveCamera.fov=this.fov,this.perspectiveCamera.near=this.near,this.perspectiveCamera.far=this.far,this.perspectiveCamera.aspect=this.aspect,this.perspectiveCamera.updateProjectionMatrix(),i=!0),!this.lastValues.position.equals(this.position)||!this.lastValues.quaternion.equals(this.quaternion)||!this.lastValues.scale.equals(this.scale)||!this.lastValues.perspToOrtho.equals(this.perspToOrtho)||this.lastValues.fov!==this.fov||this.lastValues.near!==this.near||this.lastValues.far!==this.far||this.lastValues.aspect!==this.aspect){var a=Math.max(this.orthoDistance,.01)*Math.tan(.5*this.fov/180*Math.PI),o=-.5*this.aspect*2*a;this.orthographicCamera.left=o,this.orthographicCamera.right=-o,this.orthographicCamera.top=a,this.orthographicCamera.bottom=-a,this.orthographicCamera.near=this.near,this.orthographicCamera.far=this.far,this.orthographicCamera.updateProjectionMatrix(),i=!0}i&&this.computeProjectionMatrix(),this.lastValues.position.copy(this.position),this.lastValues.quaternion.copy(this.quaternion),this.lastValues.scale.copy(this.scale),this.lastValues.fov=this.fov,this.lastValues.aspect=this.aspect,this.lastValues.near=this.near,this.lastValues.far=this.far,this.lastValues.perspToOrtho.copy(this.perspToOrtho),this.type=this.perspToOrtho.x<1?"PerspectiveCamera":"OrthographicCamera"},Object.defineProperty(t.prototype,"isPerspectiveCamera",{get:function(){return this.perspToOrtho.x<1},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"isOrthographicCamera",{get:function(){return this.perspToOrtho.x>=1},enumerable:!1,configurable:!0}),t.prototype.copy=function(e,r){return n.prototype.copy.call(this,e,r),this.fov=e.fov,this.aspect=e.aspect,this.near=e.near,this.far=e.far,this.perspToOrtho.copy(e.perspToOrtho),this.updateTime(Ce(),0),this},t}(d.Camera),Oc=new d.Vector4,Qn=new d.WebGLCubeRenderTarget(1).texture;Qn.name="EMPTY_TEXTURE";var Gi={modelAlpha:new d.Uniform(0),progress:new d.Uniform(0),pano0_map:new d.Uniform(Qn),pano0_luminanceMap:new d.Uniform(null),pano0_matrix:new d.Uniform(new d.Matrix4),pano0_zoom:new d.Uniform(1),pano1_map:new d.Uniform(Qn),pano1_luminanceMap:new d.Uniform(null),pano1_matrix:new d.Uniform(new d.Matrix4),pano1_zoom:new d.Uniform(1),clippers:new d.Uniform([]),shownFloorIndex:new d.Uniform(-1),constantColor:new d.Uniform(null),geometricError:new d.Uniform(0),pixelRatio:new d.Uniform(1),resolution:new d.Uniform(new d.Vector2(512,512)),floor:new d.Uniform(0),brightness:new d.Uniform(1)},Vc={none:{vertexShader:Cc,fragmentShader:Ic,uniforms:d.UniformsUtils.merge([Gi,{opacity:{value:1}},d.UniformsLib.fog]),lights:!1},basic:{vertexShader:Sc,fragmentShader:Tc,uniforms:d.UniformsUtils.merge([Gi,d.ShaderLib.basic.uniforms]),lights:!1},phong:{vertexShader:Pc,fragmentShader:Bc,uniforms:d.UniformsUtils.merge([Gi,d.ShaderLib.phong.uniforms]),lights:!0}},Gn=function(n){pe(t,n);function t(e,r){e===void 0&&(e="basic"),r===void 0&&(r={});var i=this,a,o,s,u,l,c,f,h,m,A,p,g,v,y,b,w,E,x,C,M,I,T=Vc[e];i=n.call(this,{vertexShader:T.vertexShader,fragmentShader:T.fragmentShader,uniforms:d.UniformsUtils.clone(T.uniforms),lights:T.lights,defines:{USE_CONSTANT_COLOR:!1,USE_EDL:!1,USE_HQ_WEIGHT:!1,USE_HQ_DEPTH:!1,NUM_CLIPPING_BOX:!1,USE_CLIPFLOOR:!1,USE_VERTEX_FLOOR:!1,USE_LUMINANCE:!1,USE_PANO_OPACITY:!1,USE_BLACK_TRANSITION:!1,USE_SPREAD_TRANSITION:!1,USE_POINT_NORMAL:!1,USE_POINT_CIRCLE:!1,USE_POINT_ADAPTIVE_SIZE:!1,USE_POINT_COLOR_ALTITUDE:!1}})||this,i.shaderType=e,i.color=new d.Color(16777215),i.map=null,i.lightMap=null,i.lightMapIntensity=1,i.aoMap=null,i.aoMapIntensity=1,i.specularMap=null,i.specular=new d.Color(1118481),i.alphaMap=null,i.envMap=null,i.reflectivity=1,i.refractionRatio=.98,i.emissiveMap=null,i.emissive=new d.Color(0),i.emissiveIntensity=1,i.bumpMap=null,i.bumpScale=1,i.normalMap=null,i.normalMapType=d.TangentSpaceNormalMap,i.normalScale=new d.Vector2(1,1),i.displacementMap=null,i.displacementScale=1,i.displacementBias=0,i.shininess=30;var P,R=null,L=null;return Object.defineProperties(i,{pano0:{get:function(){return R},set:function(F){if(R!==F){R=F,F===null?(this.uniforms.pano0_map.value=Qn,this.uniforms.pano0_luminanceMap.value=null,this.uniforms.pano0_matrix.value.identity(),this.uniforms.pano0_zoom.value=1):(this.uniforms.pano0_map.value=F.map instanceof ze?F.map.texture:F.map,this.uniforms.pano0_luminanceMap.value=F.luminanceMap instanceof ze?F.luminanceMap.texture:F.luminanceMap,this.uniforms.pano0_matrix.value.copy(F.matrix),this.uniforms.pano0_zoom.value=F.zoom);var O=this.uniforms.pano0_luminanceMap.value!==null&&this.uniforms.pano1_luminanceMap.value!==null,z=this.defines.USE_LUMINANCE;z!==O&&(this.defines.USE_LUMINANCE=O,this.needsUpdate=!0)}}},pano1:{get:function(){return L},set:function(F){if(L!==F){L=F,F===null?(this.uniforms.pano1_map.value=Qn,this.uniforms.pano1_luminanceMap.value=null,this.uniforms.pano1_matrix.value.identity(),this.uniforms.pano1_zoom.value=1):(this.uniforms.pano1_map.value=F.map instanceof ze?F.map.texture:F.map,this.uniforms.pano1_luminanceMap.value=F.luminanceMap instanceof ze?F.luminanceMap.texture:F.luminanceMap,this.uniforms.pano1_matrix.value.copy(F.matrix),this.uniforms.pano1_zoom.value=F.zoom);var O=this.uniforms.pano0_luminanceMap.value!==null&&this.uniforms.pano1_luminanceMap.value!==null,z=this.defines.USE_LUMINANCE;z!==O&&(this.defines.USE_LUMINANCE=O,this.needsUpdate=!0)}}},modelAlpha:{get:function(){return this.uniforms.modelAlpha.value},set:function(F){this.uniforms.modelAlpha.value=F}},progress:{get:function(){return this.uniforms.progress.value},set:function(F){this.uniforms.progress.value=F}},transition:{get:function(){return this.defines.USE_BLACK_TRANSITION?"BLACK":this.defines.USE_SPREAD_TRANSITION?"SPREAD":"FADE"},set:function(F){var O=this.defines.USE_BLACK_TRANSITION,z=this.defines.USE_SPREAD_TRANSITION;this.defines.USE_BLACK_TRANSITION=!1,this.defines.USE_SPREAD_TRANSITION=!1,this.defines["USE_".concat(F,"_TRANSITION")]=!0;var N=!1;O!==this.defines.USE_BLACK_TRANSITION&&(N=!0),z!==this.defines.USE_SPREAD_TRANSITION&&(N=!0),N&&(this.needsUpdate=!0)}},constantColor:{get:function(){return this.uniforms.constantColor.value},set:function(F){this.uniforms.constantColor.value=F;var O=this.defines.USE_CONSTANT_COLOR,z=F!==null;O!==z&&(this.defines.USE_CONSTANT_COLOR=z,this.needsUpdate=!0)}},opacity:{get:function(){return this.uniforms.opacity.value},set:function(F){this.uniforms.opacity.value=F}},shownFloorIndex:{get:function(){return this.uniforms.shownFloorIndex.value},set:function(F){this.uniforms.shownFloorIndex.value=F}},brightness:{get:function(){return this.uniforms.brightness.value},set:function(F){this.uniforms.brightness.value=F}},clippers:{get:function(){return P},set:function(F){P!==F&&(P=F,this.uniforms.clippers.value=(P||[]).map(function(O){var z=typeof O.floorIndex=="number"?O.floorIndex:-1,N=new d.Matrix4().getInverse(O.clippingBoxMatrix);return{matrixInverse:N,floorIndex:z}}),this.needsUpdate=!0)}},useEDL:{get:function(){return this.defines.USE_EDL},set:function(F){F!==this.defines.USE_EDL&&(this.defines.USE_EDL=F,this.needsUpdate=!0)}},useHQWeight:{get:function(){return this.defines.USE_HQ_WEIGHT},set:function(F){F!==this.defines.USE_HQ_WEIGHT&&(this.defines.USE_HQ_WEIGHT=F,this.needsUpdate=!0)}},useHQDepth:{get:function(){return this.defines.USE_HQ_DEPTH},set:function(F){F!==this.defines.USE_HQ_DEPTH&&(this.defines.USE_HQ_DEPTH=F,this.needsUpdate=!0)}},floor:{get:function(){return this.uniforms.floor.value},set:function(F){this.uniforms.floor.value=F}}}),i.pano0=(a=r.pano0)!==null&&a!==void 0?a:xe.pano0,i.pano1=(o=r.pano1)!==null&&o!==void 0?o:xe.pano1,i.modelAlpha=(s=r.modelAlpha)!==null&&s!==void 0?s:xe.modelAlpha,i.progress=(u=r.progress)!==null&&u!==void 0?u:xe.progress,i.transition=(l=r.transition)!==null&&l!==void 0?l:xe.transition,i.constantColor=(c=r.constantColor)!==null&&c!==void 0?c:xe.constantColor,i.opacity=(f=r.opacity)!==null&&f!==void 0?f:xe.opacity,i.shownFloorIndex=(h=r.shownFloorIndex)!==null&&h!==void 0?h:xe.shownFloorIndex,i.clippers=(m=r.clippers)!==null&&m!==void 0?m:xe.clippers,i.useEDL=(A=r.useEDL)!==null&&A!==void 0?A:xe.useEDL,i.useHQWeight=(p=r.useHQWeight)!==null&&p!==void 0?p:xe.useHQWeight,i.useHQDepth=(g=r.useHQDepth)!==null&&g!==void 0?g:xe.useHQDepth,i.pointSize=(v=r.pointSize)!==null&&v!==void 0?v:xe.pointSize,i.pointColor=(y=r.pointColor)!==null&&y!==void 0?y:xe.pointColor,i.pointShape=(b=r.pointShape)!==null&&b!==void 0?b:xe.pointShape,i.pointScale=(w=r.pointScale)!==null&&w!==void 0?w:xe.pointScale,i.pointBack=(E=r.pointBack)!==null&&E!==void 0?E:xe.pointBack,i.pointMinPixel=(x=r.pointMinPixel)!==null&&x!==void 0?x:xe.pointMinPixel,i.pointMaxPixel=(C=r.pointMaxPixel)!==null&&C!==void 0?C:xe.pointMaxPixel,i.gradientTexture=(M=r.gradientTexture)!==null&&M!==void 0?M:xe.gradientTexture,i.brightness=(I=r.brightness)!==null&&I!==void 0?I:xe.brightness,i.floor=0,i}return t.prototype.onBeforeCompile=function(e,r){var i,a,o=String((a=(i=this.clippers)===null||i===void 0?void 0:i.length)!==null&&a!==void 0?a:0);e.vertexShader=e.vertexShader.replace(/NUM_CLIPPERS/g,o),e.fragmentShader=e.fragmentShader.replace(/NUM_CLIPPERS/g,o)},t.prototype.refreshUniforms=function(e){var r,i,a=this.uniforms;a.diffuse&&a.diffuse.value.copy(this.color),a.opacity&&(a.opacity.value=this.opacity),a.color&&a.diffuse.value.copy(this.color),a.emissive&&a.emissive.value.copy(this.emissive).multiplyScalar(this.emissiveIntensity),a.map&&(a.map.value=this.map),a.alphaMap&&(a.alphaMap.value=this.alphaMap),a.specularMap&&(a.specularMap.value=this.specularMap),a.envMap&&(a.envMap.value=this.envMap,a.flipEnvMap.value=!((r=this.envMap)===null||r===void 0)&&r.isCubeTexture?-1:1,a.reflectivity.value=this.reflectivity,a.refractionRatio.value=this.refractionRatio,a.maxMipLevel.value=this.envMap&&(i=e.properties.get(this.envMap).__maxMipLevel)!==null&&i!==void 0?i:0),a.lightMap&&(a.lightMap.value=this.lightMap,a.lightMapIntensity.value=this.lightMapIntensity),a.aoMap&&(a.aoMap.value=this.aoMap,a.aoMapIntensity.value=this.aoMapIntensity),a.specular&&a.specular.value.copy(this.specular),a.shininess&&(a.shininess.value=Math.max(this.shininess,1e-4)),a.emissiveMap&&(a.emissiveMap.value=this.emissiveMap),a.bumpMap&&(a.bumpMap.value=this.bumpMap,a.bumpScale.value=this.bumpScale,this.side===d.BackSide&&(a.bumpScale.value*=-1)),a.normalMap&&(a.normalMap.value=this.normalMap,a.normalScale.value.copy(this.normalScale),this.side===d.BackSide&&a.normalScale.value.negate()),a.displacementMap&&(a.displacementMap.value=this.displacementMap,a.displacementScale.value=this.displacementScale,a.displacementBias.value=this.displacementBias);var o;this.map?o=this.map:this.specularMap?o=this.specularMap:this.displacementMap?o=this.displacementMap:this.normalMap?o=this.normalMap:this.bumpMap?o=this.bumpMap:this.alphaMap?o=this.alphaMap:this.emissiveMap&&(o=this.emissiveMap),o!==void 0&&(o.matrixAutoUpdate===!0&&o.updateMatrix(),a.uvTransform.value.copy(o.matrix));var s;this.aoMap?s=this.aoMap:this.lightMap&&(s=this.lightMap),s!==void 0&&(s.matrixAutoUpdate===!0&&s.updateMatrix(),a.uv2Transform.value.copy(s.matrix))},t.prototype.update=function(e,r){if(this.refreshUniforms(e),this.transparent=!1,this.shownFloorIndex>-1&&(this.defines.USE_VERTEX_FLOOR?this.transparent=!0:this.transparent=this.shownFloorIndex!==this.floor),this.opacity<1&&(this.transparent=!0),this.alphaMap&&(this.transparent=!0),this.brightness<1&&(this.transparent=!0),this.blending=this.transparent?d.NormalBlending:d.NoBlending,r instanceof Pi)this.uniforms.pixelRatio.value=r.pixelRatio,this.uniforms.resolution.value.copy(r.resolution);else{this.uniforms.pixelRatio.value=e.getPixelRatio();var i=e.getViewport(Oc);this.uniforms.resolution.value.set(i.z,i.w)}},t.prototype.syncModel=function(e){var r="".concat(e.id,":").concat(e.materialVersion);r!==this.syncModelVersion&&(Object.assign(this,e.getMaterial()),this.syncModelVersion=r)},t}(d.ShaderMaterial),Jr=function(n){pe(t,n);function t(e){var r=e.preserveDrawingBuffer,i=r===void 0?!0:r,a=e.premultipliedAlpha,o=a===void 0?!0:a,s=e.stencil,u=s===void 0?!0:s,l=e.backgroundColor,c=l===void 0?1579548:l,f=e.backgroundAlpha,h=f===void 0?1:f,m=e.pixelRatio,A=m===void 0?1:m,p=e.antialias,g=e.webgl2,v=this,y={antialias:p,alpha:!0,preserveDrawingBuffer:i,stencil:u,premultipliedAlpha:o,powerPreference:"high-performance"};if(g){var b=document.createElement("canvas"),w=b.getContext("webgl2",y);w?v=n.call(this,k(k({},y),{antialias:!0,canvas:b,context:w}))||this:(console.error("error occurred when getting webgl2 canvas context, mybe webgl2 not support, fallback to webgl."),v=n.call(this,y)||this)}else v=n.call(this,y)||this;return v.setPixelRatio(A),v.setClearColor(c,h),v.outputEncoding=d.sRGBEncoding,v.autoClear=!0,v}return t}(d.WebGLRenderer),f0=function(n){pe(t,n);function t(){return n!==null&&n.apply(this,arguments)||this}return t.prototype.add=function(){for(var e=[],r=0;r<arguments.length;r++)e[r]=arguments[r];return n.prototype.add.apply(this,e)},t.prototype.remove=function(){for(var e=[],r=0;r<arguments.length;r++)e[r]=arguments[r];return n.prototype.remove.apply(this,e)},t}(d.Scene),dt;(function(n){n[n.Outside=-1]="Outside",n[n.Intersecting=0]="Intersecting",n[n.Inside=1]="Inside"})(dt||(dt={}));var h0=1e-6,He=new d.Vector3,Or=new d.Matrix4,Tr=new d.Vector3,Pr=new d.Vector3,Br=new d.Vector3,Ma=new d.Vector3,Ki=new d.Box3,ji=new d.Sphere,ko=new d.Matrix4,Ji=new d.Ray,lt=new d.Object3D,Lo=new d.Frustum;function p0(n,t){var e=n.elements;return t.setFromRotationMatrix(Or.set(e[0],e[3],e[6],0,e[1],e[4],e[7],0,e[2],e[5],e[8],0,0,0,0,1)),t}var Fn=function(){function n(t){t===void 0&&(t=[]),this.planes=t}return Object.defineProperty(n,"MASK_OUTSIDE",{get:function(){return 4294967295},enumerable:!1,configurable:!0}),Object.defineProperty(n,"MASK_INSIDE",{get:function(){return 0},enumerable:!1,configurable:!0}),Object.defineProperty(n,"MASK_INDETERMINATE",{get:function(){return 2147483647},enumerable:!1,configurable:!0}),n.prototype.setFromFrustum=function(t){return this.planes=t.planes.map(function(e){return e.clone()}),this},n.prototype.setFromCamera=function(t){return Or.multiplyMatrices(t.projectionMatrix,t.matrixWorldInverse),Lo.setFromProjectionMatrix(Or),this.setFromFrustum(Lo),this},n.prototype.applyMatrix4=function(t){for(var e=0,r=this.planes;e<r.length;e++){var i=r[e];i.applyMatrix4(t)}},n.prototype.copy=function(t){return this.planes=t.planes.map(function(e){return e.clone()}),this},n.prototype.clone=function(){return new n().copy(this)},n.prototype.computeVisibility=function(t){for(var e=dt.Inside,r=0,i=this.planes;r<i.length;r++){var a=i[r],o=t.intersectPlane(a);switch(o){case dt.Outside:return dt.Outside;case dt.Intersecting:e=dt.Intersecting;break}}return e},n.prototype.computeVisibilityWithPlaneMask=function(t,e){if(e===n.MASK_OUTSIDE||e===n.MASK_INSIDE)return e;for(var r=n.MASK_INSIDE,i=Math.min(32,this.planes.length),a=0;a<i;++a){var o=1<<a;if(e&o){var s=this.planes[a],u=t.intersectPlane(s);if(u===dt.Outside)return n.MASK_OUTSIDE;u===dt.Intersecting&&(r|=o)}}return r},n}(),v0=function(){function n(){this.type="box",this.center=new d.Vector3,this.halfSize=new d.Vector3,this.rotation=new d.Matrix3}return n.prototype.fromJson=function(t){var e=t.box;this.center.set(e[0],e[1],e[2]);var r=e[3],i=e[4],a=e[5],o=e[6],s=e[7],u=e[8],l=e[9],c=e[10],f=e[11],h=Math.sqrt(r*r+i*i+a*a),m=Math.sqrt(o*o+s*s+u*u),A=Math.sqrt(l*l+c*c+f*f);this.halfSize.set(h,m,A);var p=this.halfSize.toArray().reduce(function(g,v){return g+v},0);return(isNaN(p)||p<=0)&&this.halfSize.setScalar(h0),this.rotation.fromArray([r/h,i/h,a/h,o/m,s/m,u/m,l/A,c/A,f/A]),isNaN(this.rotation.toArray().reduce(function(g,v){return g+v},0))&&this.rotation.identity(),this},n.prototype.toJson=function(){return this.rotation.extractBasis(Tr,Pr,Br),{box:yt(yt(yt(yt([],this.center.toArray(),!0),Tr.multiplyScalar(this.halfSize.x).toArray(),!0),Pr.multiplyScalar(this.halfSize.y).toArray(),!0),Br.multiplyScalar(this.halfSize.z).toArray(),!0)}},n.prototype.copy=function(t){return this.center.copy(t.center),this.halfSize.copy(t.halfSize),this.rotation.copy(t.rotation),this},n.prototype.clone=function(){return new n().copy(this)},n.prototype.applyMatrix4=function(t){return lt.position.copy(this.center),p0(this.rotation,lt.quaternion),lt.scale.copy(this.halfSize),lt.matrix.compose(lt.position,lt.quaternion,lt.scale),lt.matrix.premultiply(t),lt.matrix.decompose(lt.position,lt.quaternion,lt.scale),this.center.copy(lt.position),this.rotation.setFromMatrix4(Or.makeRotationFromQuaternion(lt.quaternion)),this.halfSize.copy(lt.scale),this},n.prototype.getCenter=function(t){return t.copy(this.center)},n.prototype.distanceSquaredToPoint=function(t){var e=this.rotation.elements,r=t.x-this.center.x,i=t.y-this.center.y,a=t.z-this.center.z,o=0,s;return s=r*e[0]+i*e[1]+a*e[2],s<0&&(s=-s),s-=this.halfSize.x,s>0&&(o+=s*s),s=r*e[3]+i*e[4]+a*e[5],s<0&&(s=-s),s-=this.halfSize.y,s>0&&(o+=s*s),s=r*e[6]+i*e[7]+a*e[8],s<0&&(s=-s),s-=this.halfSize.z,s>0&&(o+=s*s),o},n.prototype.distanceToPoint=function(t){return Math.sqrt(this.distanceSquaredToPoint(t))},n.prototype.distanceToPlane=function(t){var e=t.projectPoint(this.center,new d.Vector3);return this.distanceToPoint(e)},n.prototype.getBoundingBox=function(t){return t.makeEmpty(),this.rotation.extractBasis(Tr,Pr,Br),Tr.setLength(this.halfSize.x),Pr.setLength(this.halfSize.y),Br.setLength(this.halfSize.z),t.expandByPoint(He.copy(this.center).add(Tr)),t.expandByPoint(He.copy(this.center).sub(Tr)),t.expandByPoint(He.copy(this.center).add(Pr)),t.expandByPoint(He.copy(this.center).sub(Pr)),t.expandByPoint(He.copy(this.center).add(Br)),t.expandByPoint(He.copy(this.center).sub(Br)),t},n.prototype.toGeometry=function(){var t=new Uint16Array([0,1,1,2,2,3,3,0,4,5,5,6,6,7,7,4,0,4,1,5,2,6,3,7]),e=new Float32Array(8*3);He.set(this.halfSize.x,this.halfSize.y,this.halfSize.z).applyMatrix3(this.rotation).add(this.center).toArray(e,0),He.set(-this.halfSize.x,this.halfSize.y,this.halfSize.z).applyMatrix3(this.rotation).add(this.center).toArray(e,3),He.set(-this.halfSize.x,-this.halfSize.y,this.halfSize.z).applyMatrix3(this.rotation).add(this.center).toArray(e,6),He.set(this.halfSize.x,-this.halfSize.y,this.halfSize.z).applyMatrix3(this.rotation).add(this.center).toArray(e,9),He.set(this.halfSize.x,this.halfSize.y,-this.halfSize.z).applyMatrix3(this.rotation).add(this.center).toArray(e,12),He.set(-this.halfSize.x,this.halfSize.y,-this.halfSize.z).applyMatrix3(this.rotation).add(this.center).toArray(e,15),He.set(-this.halfSize.x,-this.halfSize.y,-this.halfSize.z).applyMatrix3(this.rotation).add(this.center).toArray(e,18),He.set(this.halfSize.x,-this.halfSize.y,-this.halfSize.z).applyMatrix3(this.rotation).add(this.center).toArray(e,21);var r=new d.BufferGeometry;return r.setIndex(new d.BufferAttribute(t,1)),r.setAttribute("position",new d.BufferAttribute(e,3)),r.computeBoundingBox(),r.computeBoundingSphere(),r},n.prototype.intersectPlane=function(t){var e=this.center,r=t.normal,i=this.rotation.elements,a=this.halfSize,o=r.x,s=r.y,u=r.z,l=Math.abs(o*i[0]*a.x+s*i[1]*a.x+u*i[2]*a.x)+Math.abs(o*i[3]*a.y+s*i[4]*a.y+u*i[5]*a.y)+Math.abs(o*i[6]*a.z+s*i[7]*a.z+u*i[8]*a.z),c=r.dot(e)+t.constant;return c<=-l?dt.Outside:c>=l?dt.Inside:dt.Intersecting},n.prototype.intersectRay=function(t,e){if(Ma.copy(this.halfSize).multiplyScalar(2),Ki.setFromCenterAndSize(He.set(0,0,0),Ma),this.rotation.extractBasis(Tr,Pr,Br),Or.makeBasis(Tr,Pr,Br),Or.setPosition(this.center),ko.getInverse(Or),Ji.copy(t).applyMatrix4(ko),Ki.containsPoint(Ji.origin))return!0;var r=Ji.intersectBox(Ki,He);return r?e!==void 0?r.applyMatrix4(Or).distanceTo(t.origin)<e:!0:!1},n}(),A0=function(){function n(){this.type="sphere",this.center=new d.Vector3,this.radius=-1}return n.prototype.fromJson=function(t){var e=t.sphere;return this.center.set(e[0],e[1],e[2]),this.radius=Math.max(e[3],h0),this},n.prototype.toJson=function(){return{sphere:yt(yt([],this.center.toArray(),!0),[this.radius],!1)}},n.prototype.copy=function(t){return this.center.copy(t.center),this.radius=t.radius,this},n.prototype.clone=function(){return new n().copy(this)},n.prototype.getBoundingBox=function(t){return t.setFromCenterAndSize(this.center,Ma.set(1,1,1).multiplyScalar(this.radius*2)),t},n.prototype.toGeometry=function(){for(var t=32,e=new Float32Array(t*3*2*2),r=0;r<=t;r++){var i=0;i=r/t*Math.PI*2,e[r*6+0]=this.center.x+Math.cos(i)*this.radius,e[r*6+1]=this.center.y+Math.sin(i)*this.radius,e[r*6+2]=this.center.z+0,i=(r+1)/t*Math.PI*2,e[r*6+3]=this.center.x+Math.cos(i)*this.radius,e[r*6+4]=this.center.y+Math.sin(i)*this.radius,e[r*6+5]=this.center.z+0}for(var r=t;r<=t*2;r++){var i=0;i=r/t*Math.PI*2,e[r*6+0]=this.center.x+Math.cos(i)*this.radius,e[r*6+1]=this.center.y+0,e[r*6+2]=this.center.z+Math.sin(i)*this.radius,i=(r+1)/t*Math.PI*2,e[r*6+3]=this.center.x+Math.cos(i)*this.radius,e[r*6+4]=this.center.y+0,e[r*6+5]=this.center.z+Math.sin(i)*this.radius}var a=new d.BufferGeometry;return a.setAttribute("position",new d.BufferAttribute(e,3)),a.computeBoundingBox(),a.computeBoundingSphere(),a},n.prototype.applyMatrix4=function(t){return this.center.applyMatrix4(t),this.radius=this.radius*t.getMaxScaleOnAxis(),this},n.prototype.getCenter=function(t){return t.copy(this.center)},n.prototype.distanceSquaredToPoint=function(t){var e=this.distanceToPoint(t);return e*e},n.prototype.distanceToPoint=function(t){var e=this.center.distanceTo(t)-this.radius;return e<=0?0:e},n.prototype.distanceToPlane=function(t){var e=Math.abs(t.distanceToPoint(this.center));return Math.max(0,e-this.radius)},n.prototype.intersectPlane=function(t){var e=this.center,r=this.radius,i=t.normal,a=i.dot(e)+t.constant;return a<-r?dt.Outside:a<r?dt.Intersecting:dt.Inside},n.prototype.intersectRay=function(t,e){if(ji.set(this.center,this.radius),ji.containsPoint(t.origin))return!0;var r=t.intersectSphere(ji,He);return r?e!==void 0?t.origin.distanceTo(r)<e:!0:!1},n}(),Nc=function(){function n(){throw this.type="regin",this.west=0,this.south=0,this.east=0,this.north=0,this.minHeight=0,this.maxHeight=0,new Error("Region bounding volume not supported.")}return n.prototype.fromJson=function(t){var e=t.region;return this.west=e[0],this.south=e[1],this.east=e[2],this.north=e[3],this.minHeight=e[4],this.maxHeight=e[5],this},n.prototype.toJson=function(){return{region:[this.west,this.south,this.east,this.north,this.minHeight,this.maxHeight]}},n.prototype.copy=function(t){return this.west=t.west,this.south=t.south,this.east=t.east,this.north=t.north,this.minHeight=t.minHeight,this.maxHeight=t.maxHeight,this},n.prototype.clone=function(){return new n().copy(this)},n.prototype.getBoundingBox=function(t){throw new Error("not implemented")},n.prototype.toGeometry=function(){throw new Error("not implemented")},n.prototype.applyMatrix4=function(t){throw new Error("not implemented")},n.prototype.getCenter=function(t){throw new Error("not implemented")},n.prototype.distanceToPoint=function(t){throw new Error("not implemented")},n.prototype.distanceSquaredToPoint=function(t){throw new Error("not implemented")},n.prototype.distanceToPlane=function(t){throw new Error("not implemented")},n.prototype.intersectPlane=function(t){throw new Error("not implemented")},n.prototype.intersectRay=function(t){throw new Error("not implemented")},n}();function oi(n){if("box"in n)return new v0().fromJson(n);if("sphere"in n)return new A0().fromJson(n);if("region"in n)return new Nc().fromJson(n);throw new Error("BoundingVolume ".concat(JSON.stringify(n)," never suppored."))}var Yn=[4821759,8191922,16637280,16739958,5822969,376977,16747077,9259235,14514687].map(function(n){return new d.LineBasicMaterial({color:n,depthWrite:!1,depthTest:!1,transparent:!0})}),zc=function(){var n=new Uint16Array([0,1,1,2,2,3,3,0,4,5,5,6,6,7,7,4,0,4,1,5,2,6,3,7]),t=new Float32Array(8*3);He.set(1,1,1).toArray(t,0),He.set(-1,1,1).toArray(t,3),He.set(-1,-1,1).toArray(t,6),He.set(1,-1,1).toArray(t,9),He.set(1,1,-1).toArray(t,12),He.set(-1,1,-1).toArray(t,15),He.set(-1,-1,-1).toArray(t,18),He.set(1,-1,-1).toArray(t,21);var e=new d.BufferGeometry;return e.setIndex(new d.BufferAttribute(n,1)),e.setAttribute("position",new d.BufferAttribute(t,3)),e.computeBoundingBox(),e.computeBoundingSphere(),e}(),Qc=function(){for(var n=32,t=new Float32Array(n*3*2*2),e=0;e<=n;e++){var r=0;r=e/n*Math.PI*2,t[e*6+0]=Math.cos(r),t[e*6+1]=Math.sin(r),t[e*6+2]=0,r=(e+1)/n*Math.PI*2,t[e*6+3]=Math.cos(r),t[e*6+4]=Math.sin(r),t[e*6+5]=0}for(var e=n;e<=n*2;e++){var r=0;r=e/n*Math.PI*2,t[e*6+0]=Math.cos(r),t[e*6+1]=0,t[e*6+2]=Math.sin(r),r=(e+1)/n*Math.PI*2,t[e*6+3]=Math.cos(r),t[e*6+4]=0,t[e*6+5]=Math.sin(r)}var i=new d.BufferGeometry;return i.setAttribute("position",new d.BufferAttribute(t,3)),i.computeBoundingBox(),i.computeBoundingSphere(),i}();function Dc(n,t){if(n instanceof v0){var e=new d.LineSegments(zc,Yn[Math.min(t,Yn.length-1)]);return e.position.copy(n.center),p0(n.rotation,e.quaternion),e.scale.set(n.halfSize.x,n.halfSize.y,n.halfSize.z),e.matrix.compose(e.position,e.quaternion,e.scale),e}else if(n instanceof A0){var e=new d.LineSegments(Qc,Yn[Math.min(t,Yn.length-1)]);return e.position.copy(n.center),e.scale.set(n.radius,n.radius,n.radius),e.matrix.compose(e.position,e.quaternion,e.scale),e}throw new Error("never")}var Xa=function(){function n(t,e,r,i){var a=this,o,s,u;this.parent=null,this.id=t,this.state={visible:!1,frameNumber:0,selectedFrameNumber:0,requestedFrameNumber:0,touchedFrameNumber:0,shouldRefine:!1,distanceToCamera:0,screenSpaceError:0,visibilityPlaneMask:0,inRequestVolume:!1},this.parent=i!=null?i:null,this.level=this.parent?this.parent.level+1:0,this.tileset=r,this.refine=(o=e.refine)!==null&&o!==void 0?o:this.parent?this.parent.refine:"REPLACE",this.transform=new d.Matrix4,e.transform&&this.transform.fromArray(e.transform),this.parent&&this.transform.premultiply(this.parent.transform),typeof e.geometricError=="number"?this.geometricError=e.geometricError*this.transform.getMaxScaleOnAxis():this.geometricError=(u=(s=this.parent)===null||s===void 0?void 0:s.geometricError)!==null&&u!==void 0?u:0,e.content&&e.content.uri?(this.content={uri:e.content.uri,loadState:"UNLOADED",byteLength:0},e.content.group!==void 0&&(this.content.group=e.content.group),e.content.boundingVolume&&(this.content.boundingVolume=oi(e.content.boundingVolume).applyMatrix4(this.transform)),/\.json$/.test(this.content.uri)?this.type="TILESET":this.type="SCENEGRAPH"):(this.content=null,this.type="EMPTY"),this.levelOfContent=this.parent?this.parent.levelOfContent:-1,this.type==="SCENEGRAPH"&&(this.levelOfContent=this.levelOfContent+1),e.boundingVolume&&(this.boundingVolume=oi(e.boundingVolume).applyMatrix4(this.transform)),e.viewerRequestVolume&&(this.viewerRequestVolume=oi(e.viewerRequestVolume).applyMatrix4(this.transform)),this.extras=e.extras||{},e.children?this.children=e.children.map(function(l,c){return new n("".concat(a.id,".").concat(c),l,r,a)}):this.children=[]}return n.prototype.updateState=function(t){this.state.frameNumber=t.frameNumber;var e=this.tileset.transformIsIdentity?null:this.tileset.transform;if(this.boundingVolume){var r=e?this.boundingVolume.clone().applyMatrix4(e):this.boundingVolume;if(t.camera.type==="OrthographicCamera"){var i=new d.Plane().setFromNormalAndCoplanarPoint(t.camera.direction,t.camera.position);this.state.distanceToCamera=r.distanceToPlane(i)}else this.state.distanceToCamera=r.distanceToPoint(t.camera.position);var a=this.parent?this.parent.state.visibilityPlaneMask:Fn.MASK_INDETERMINATE;this.state.visibilityPlaneMask=t.cullingVolume.computeVisibilityWithPlaneMask(r,a),this.state.visible=this.state.visibilityPlaneMask!==Fn.MASK_OUTSIDE}else this.state.distanceToCamera=0,this.state.visibilityPlaneMask=Fn.MASK_INDETERMINATE,this.state.visible=!0;if(this.viewerRequestVolume){var o=e?this.viewerRequestVolume.clone().applyMatrix4(e):this.viewerRequestVolume;this.state.inRequestVolume=o.distanceSquaredToPoint(t.camera.position)<=0}else this.state.inRequestVolume=!0;this.state.screenSpaceError=this.getScreenSpaceError(t,this.state.distanceToCamera,!1)},Object.defineProperty(n.prototype,"selected",{get:function(){return this.state.selectedFrameNumber===this.tileset.frameNumber},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"hasChildren",{get:function(){return this.children.length>0},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"siblingIndex",{get:function(){var t,e;return(e=(t=this.parent)===null||t===void 0?void 0:t.children.indexOf(this))!==null&&e!==void 0?e:0},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"hasTilesetContent",{get:function(){return this.children.length>0&&this.type==="TILESET"},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"hasRenderContent",{get:function(){return this.type==="SCENEGRAPH"},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"contentAvailable",{get:function(){var t;return this.hasRenderContent&&((t=this.content)===null||t===void 0?void 0:t.loadState)==="READY"},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"hasUnloadedContent",{get:function(){var t;return((t=this.content)===null||t===void 0?void 0:t.loadState)==="UNLOADED"},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"hasEmptyContent",{get:function(){return this.type==="EMPTY"},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"contentReady",{get:function(){var t;return((t=this.content)===null||t===void 0?void 0:t.loadState)==="READY"||this.hasEmptyContent},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"contentByteLength",{get:function(){return this.content?this.content.byteLength:0},enumerable:!1,configurable:!0}),n.prototype.loadContent=function(){var t=this,e;if(this.hasEmptyContent||!(!((e=this.content)===null||e===void 0)&&e.uri))return Promise.resolve(!1);var r=this.content;return r.data?Promise.resolve(!0):(r.loadState="LOADING",this.tileset.requestScheduler.scheduleRequest(this.id,function(){return t.getPriority()}).then(function(i){return i?t.tileset.options.contentLoader(t).then(function(a){return i.done(),r.loadState=a?"READY":"UNLOADED",a}).catch(function(a){return r.loadState="FAILED",i.done(),Promise.reject(a)}):(r.loadState="UNLOADED",Promise.resolve(!1))}))},n.prototype.unloadContent=function(){return this.content&&(this.content.loadState="UNLOADED",this.content.byteLength=0),!0},n.prototype.getScreenSpaceError=function(t,e,r){var i=this.tileset.transformIsIdentity?1:this.tileset.transform.getMaxScaleOnAxis(),a=this.parent?this.parent.geometricError:this.tileset.geometricError,o=i*(r?a:this.geometricError);if(o===0)return 0;var s=Math.max(e,.001),u=o*t.height/(s*t.sseDenominator);return u},n.prototype.getPriority=function(){var t=this.refine==="ADD"||this.tileset.skipLevelOfDetail;if(t&&!this.state.visible||this.tileset.frameNumber-this.state.touchedFrameNumber>=1||this.content.loadState==="UNLOADED")return-1;var e=this.parent,r=e&&(!t||this.state.screenSpaceError===0),i=r?e.state.screenSpaceError:this.state.screenSpaceError,a=this.tileset.root?this.tileset.root.state.screenSpaceError:0,o=Math.max(a-i,0);return o},n}(),Ca=function(){function n(){this.maxRequests=n.DEFAULT_MAX_REQUESTS,this.activeRequests=0,this.requestQueue=[],this.requestMap=new Map,this.deferred=null}return n.prototype.scheduleRequest=function(t,e){var r=this.requestMap.get(t);if(r)return r;var i={identiy:t,priority:0,getPriority:e,resolve:function(){}},a=new Promise(function(o){return i.resolve=o});return this.requestQueue.push(i),this.requestMap.set(t,a),this.issueNewRequests(),a},n.prototype.reset=function(){for(var t=0,e=this.requestQueue;t<e.length;t++){var r=e[t];r.resolve(null)}this.requestQueue.length=0,this.requestMap.clear(),this.activeRequests=0},n.prototype.issueRequest=function(t){var e=this,r=t.identiy,i=t.resolve,a=!1,o=function(){a||(a=!0,e.requestMap.delete(r),e.activeRequests--,e.issueNewRequests())};this.activeRequests++,i({done:o})},n.prototype.issueNewRequests=function(){var t=this;this.deferred||(this.deferred=setTimeout(function(){return t.issueNewRequestsAsync()},0))},n.prototype.issueNewRequestsAsync=function(){this.deferred=null;var t=Math.max(this.maxRequests-this.activeRequests,0);if(t!==0){this.updateAllRequests();for(var e=0;e<t;e++){var r=this.requestQueue.shift();if(r)this.issueRequest(r);else break}}},n.prototype.updateAllRequests=function(){for(var t=this.requestQueue,e=0;e<t.length;e++){var r=t[e];this.updateRequest(r)===!1&&(t.splice(e,1),this.requestMap.delete(r.identiy),e--)}t.sort(function(i,a){return i.priority-a.priority})},n.prototype.updateRequest=function(t){return t.priority=t.getPriority(t.identiy),t.priority<0?(t.resolve(null),!1):!0},n.DEFAULT_MAX_REQUESTS=6,n}(),Uc=function(){function n(t,e,r){this.item=t,this.previous=e,this.next=r}return n}(),qc=function(){function n(){this.head=null,this.tail=null,this._length=0}return Object.defineProperty(n.prototype,"length",{get:function(){return this._length},enumerable:!1,configurable:!0}),n.prototype.add=function(t){var e=new Uc(t,this.tail,null);return this.tail?(this.tail.next=e,this.tail=e):(this.head=e,this.tail=e),this._length++,e},n.prototype.remove=function(t){t.previous&&t.next?(t.previous.next=t.next,t.next.previous=t.previous):t.previous?(t.previous.next=null,this.tail=t.previous):t.next?(t.next.previous=null,this.head=t.next):(this.head=null,this.tail=null),t.next=null,t.previous=null,this._length--},n.prototype.splice=function(t,e){t!==e&&(this.remove(e),this.insert(t,e))},n.prototype.insert=function(t,e){var r=t.next;t.next=e,this.tail===t?this.tail=e:r.previous=e,e.next=r,e.previous=t,this._length++},n.prototype.toArray=function(){for(var t=[],e=this.head;e;)t.push(e),e=e.next;return t},n}(),m0=function(){function n(){this.cacheNodeMap=new Map,this.list=new qc,this.sentinel=this.list.add("sentinel")}return n.prototype.reset=function(){this.list.tail&&this.list.splice(this.list.tail,this.sentinel)},n.prototype.touch=function(t){var e=this.cacheNodeMap.get(t);e&&this.list.splice(this.sentinel,e)},n.prototype.add=function(t,e){if(!this.cacheNodeMap.has(t)){var r=this.list.add(t);this.cacheNodeMap.set(t,r),e&&e(t)}},n.prototype.unloadTile=function(t,e){var r=this.cacheNodeMap.get(t);r&&(this.list.remove(r),this.cacheNodeMap.delete(t),e&&e(t))},n.prototype.unloadTiles=function(t,e){for(var r=this.list.head;r!==this.sentinel&&t();){var i=r.item;r=r.next,this.unloadTile(i,e)}},n.prototype.toArray=function(){for(var t=[],e=0,r=this.list.toArray();e<r.length;e++){var i=r[e];i.item!=="sentinel"&&t.push(i.item)}return t},n}(),Oo=function(){function n(){this.map=new Map,this.array=[],this._length=0}return Object.defineProperty(n.prototype,"length",{get:function(){return this._length},enumerable:!1,configurable:!0}),n.prototype.get=function(t){return this.array[t]},n.prototype.set=function(t,e){t>=this.length&&(this._length=t+1),this.map.has(this.array[t])&&this.map.delete(this.array[t]),this.array[t]=e,this.map.set(e,t)},n.prototype.delete=function(t){var e=this.map.get(t);e!==void 0&&e>=0&&(this.array.splice(e,1),this.map.delete(t),this._length--)},n.prototype.push=function(t){if(!this.map.has(t)){var e=this._length++;this.array[e]=t,this.map.set(t,e)}},n.prototype.pop=function(){var t=this.array[--this._length];return this.map.delete(t),t},n.prototype.reset=function(){this.array=[],this.map=new Map,this._length=0},n.prototype.find=function(t){return this.map.has(t)},n}(),si=function(){function n(){this.loadSiblings=n.DEFAULT_LOAD_SIBLINGS,this.skipLevelOfDetail=n.DEFAULT_SKIP_LEVEL_OF_DETAIL,this.maxScreenSpaceError=n.DEFAULT_MAX_SCREEN_SPACE_ERROR,this._canSelectTile=!0,this._traversalStack=new Oo,this._emptyTraversalStack=new Oo,this.root=null,this.selectedTiles=new Map,this.requestedTiles=new Map,this.needsRefinedTiles=new Map}return n.prototype.traverse=function(t,e,r){r===void 0&&(r=[]),this.root=t,this.reset();for(var i=0,a=r;i<a.length;i++){var o=a[i];this._traversalStack.reset(),this._emptyTraversalStack.reset(),o.camera.refine&&(this._canSelectTile=o.camera.visible,this.updateTile(t,o),this.executeTraversal(t,o))}this._traversalStack.reset(),this._emptyTraversalStack.reset(),e.camera.refine&&(this._canSelectTile=e.camera.visible,this.updateTile(t,e),this.executeTraversal(t,e))},n.prototype.reset=function(){this.needsRefinedTiles.clear(),this.requestedTiles.clear(),this.selectedTiles.clear(),this._traversalStack.reset(),this._emptyTraversalStack.reset()},n.prototype.executeTraversal=function(t,e){var r=this._traversalStack;if(e.maxLevelOfDetail>=0)for(t.state.visible&&t.state.inRequestVolume&&r.push(t);r.length>0;){var i=r.pop(),a=!1;this.canTraverse(i,e,!1,!1)&&(this.updateChildTiles(i,e),a=this.updateAndPushChildren(i,e,r));var o=i.parent,s=!o||o.state.shouldRefine,u=!a;i.hasRenderContent?i.refine==="ADD"?(this.loadTile(i,e.frameNumber),this.selectTile(i,e)):i.refine==="REPLACE"&&(this.loadTile(i,e.frameNumber),u&&this.selectTile(i,e)):(this.loadTile(i,e.frameNumber),u&&this.selectTile(i,e)),this.touchTile(i,e),i.state.shouldRefine=a&&s}},n.prototype.updateChildTiles=function(t,e){for(var r=t.children,i=0,a=r;i<a.length;i++){var o=a[i];this.updateTile(o,e)}return!0},n.prototype.updateAndPushChildren=function(t,e,r){for(var i=t.children,a=t.refine==="REPLACE"&&t.hasRenderContent&&!this.skipLevelOfDetail,o=!1,s=!0,u=0,l=i;u<l.length;u++){var c=l[u];if(c.state.visible&&c.state.inRequestVolume?(r.find(c)&&r.delete(c),r.push(c),o=!0):(a||this.loadSiblings)&&(this.loadTile(c,e.frameNumber),this.touchTile(c,e)),a){var f=void 0;c.state.inRequestVolume?c.hasRenderContent?f=c.contentAvailable:f=this.executeEmptyTraversal(c,e):f=!1,s=s&&f}}return o||(s=!1),s},n.prototype.updateTile=function(t,e){this.updateTileVisibility(t,e)},n.prototype.selectTile=function(t,e){var r=t.contentAvailable&&this._canSelectTile;r&&(t.state.selectedFrameNumber=e.frameNumber,this.selectedTiles.set(t.id,t)),this.needsRefinedTiles.set(t.id,t)},n.prototype.loadTile=function(t,e){t.hasUnloadedContent&&(t.state.requestedFrameNumber=e,this.requestedTiles.set(t.id,t)),this.needsRefinedTiles.set(t.id,t)},n.prototype.touchTile=function(t,e){t.tileset.cache.touch(t),t.state.touchedFrameNumber=e.frameNumber},n.prototype.canTraverse=function(t,e,r,i){return t.hasChildren?t.hasTilesetContent?!0:!i&&!t.state.visible?!1:this.shouldRefine(t,e,r):!1},n.prototype.shouldRefine=function(t,e,r){if(t.hasEmptyContent)return!0;if(t.levelOfContent>=e.maxLevelOfDetail)return!1;if(t.levelOfContent<e.minLevelOfDetail)return!0;var i=t.state.screenSpaceError;return r&&(i=t.getScreenSpaceError(e,t.state.distanceToCamera,!0)),i>this.maxScreenSpaceError},n.prototype.updateTileVisibility=function(t,e){if(t.updateState(e),!(!t.state.visible||!t.state.inRequestVolume)){var r=t.children.length>0;if(t.hasTilesetContent&&r){var i=t.children[0];this.updateTileVisibility(i,e),t.state.visible=i.state.visible;return}if(this.meetsScreenSpaceErrorEarly(t,e)){t.state.visible=!1;return}}},n.prototype.meetsScreenSpaceErrorEarly=function(t,e){var r=t.parent;return!r||r.refine!=="ADD"?!1:!this.shouldRefine(t,e,!0)},n.prototype.compareDistanceToCamera=function(t,e){return e.state.distanceToCamera-t.state.distanceToCamera},n.prototype.executeEmptyTraversal=function(t,e){var r=!0,i=this._emptyTraversalStack;for(i.push(t);i.length>0&&r;){var a=i.pop();this.updateTile(a,e),a.state.visible||this.loadTile(a,e.frameNumber),this.touchTile(a,e);var o=!a.hasRenderContent&&this.canTraverse(a,e,!1,!0);if(o)for(var s=a.children,u=0,l=s;u<l.length;u++){var c=l[u];i.find(c)&&i.delete(c),i.push(c)}else a.contentAvailable||(r=!1)}return r},n.DEFAULT_SKIP_LEVEL_OF_DETAIL=!1,n.DEFAULT_LOAD_SIBLINGS=!1,n.DEFAULT_MAX_SCREEN_SPACE_ERROR=4,n}(),Hc=new d.Matrix4,xn=function(){function n(t,e,r){var i,a,o,s;this.id=t,this.transform=new d.Matrix4,this.transformIsIdentity=!0,this.referer=(i=r.referer)!==null&&i!==void 0?i:"",this.asset={version:e.asset.version,tilesetVersion:e.asset.tilesetVersion||"",gltfUpAxis:(a=e.asset.gltfUpAxis)!==null&&a!==void 0?a:"Y",overview:e.asset.overview},this.rootMeta=(o=e.rootMeta)!==null&&o!==void 0?o:{},this.properties=(s=e.properties)!==null&&s!==void 0?s:{},this.options=r,this.traverser=new si,this.cache=new m0,this.requestScheduler=new Ca,this.frameNumber=0,this.pendingCount=0,this.tiles=new Map,this.memoryUsageInBytes=0,this.root=new Xa("".concat(this.id,".0"),e.root,this),this.geometricError=e.geometricError,this.maxMemoryUsage=n.DEFAULT_MAX_MEMORY_USAGE}return Object.defineProperty(n.prototype,"maxRequests",{get:function(){return this.requestScheduler.maxRequests},set:function(t){this.requestScheduler.maxRequests=t},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"skipLevelOfDetail",{get:function(){return this.traverser.skipLevelOfDetail},set:function(t){this.traverser.skipLevelOfDetail=t},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"maxScreenSpaceError",{get:function(){return this.traverser.maxScreenSpaceError},set:function(t){this.traverser.maxScreenSpaceError=t},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"selectedTiles",{get:function(){return this.traverser.selectedTiles},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"needsRefinedTiles",{get:function(){return this.traverser.needsRefinedTiles},enumerable:!1,configurable:!0}),n.prototype.reset=function(){for(var t=this,e=[this.root],r;r=e.pop();){for(var i=0,a=r.children.length;i<a;i++)e.push(r.children[i]);this.cache.unloadTile(r,function(o){return t.unloadTile(o)})}this.cache.reset(),this.traverser.reset(),this.requestScheduler.reset(),this.tiles.clear()},n.prototype.isLoaded=function(){return this.pendingCount===0&&this.frameNumber!==0},n.prototype.traverse=function(t,e){var r=this;e===void 0&&(e=[]),this.transformIsIdentity=this.transform.equals(Hc),this.traverser.traverse(this.root,t,e),this.selectedTiles.forEach(function(i){r.tiles.set(i.id,i)}),this.traverser.requestedTiles.forEach(function(i){i.hasUnloadedContent&&r.loadTile(i)}),this.cache.unloadTiles(function(){var i=r.memoryUsageInBytes>r.maxMemoryUsage*1024*1024;return i},function(i){r.unloadTile(i),r.tiles.delete(i.id)})},n.prototype.loadTile=function(t){var e=this;this.pendingCount++,t.loadContent().catch(function(r){return e.options.onTileError(t,r),!1}).then(function(r){var i;e.pendingCount--,r&&(!((i=t.content)===null||i===void 0)&&i.data&&e.cache.add(t,function(){e.memoryUsageInBytes+=t.contentByteLength}),e.options.onTileLoad(t))})},n.prototype.unloadTile=function(t){this.memoryUsageInBytes-=t.contentByteLength,this.options.onTileUnload(t),t.unloadContent()},n.DEFAULT_VIEW_DISTANCE_SCALE=1,n.DEFAULT_MAX_MEMORY_USAGE=16,n.DEFAULT_MAX_SCREEN_SPACE_ERROR=si.DEFAULT_MAX_SCREEN_SPACE_ERROR,n.DEFAULT_SKIP_LEVEL_OF_DETAIL=si.DEFAULT_SKIP_LEVEL_OF_DETAIL,n.DEFAULT_MAX_REQUESTS=Ca.DEFAULT_MAX_REQUESTS,n}(),pn=function(){function n(t,e,r,i,a){this.id=t,this.extents=e,this.startIndex=r,this.endIndex=i,this.deepth=a}return n}(),yr=6*4+4+4+2+2;function g0(n,t){for(var e=new ArrayBuffer(t*yr),r=new Float32Array(e),i=new Uint32Array(e),a=new Uint16Array(e),o=[n],s,u;s=o.pop();)u=s.id*yr/4,r[u]=s.extents[0],r[u+1]=s.extents[1],r[u+2]=s.extents[2],r[u+3]=s.extents[3],r[u+4]=s.extents[4],r[u+5]=s.extents[5],i[u+6]=s.startIndex,i[u+7]=s.endIndex,u=s.id*yr/2,s.node0&&(a[u+16]=s.node0.id,o.push(s.node0)),s.node1&&(a[u+17]=s.node1.id,o.push(s.node1));return e}function y0(n,t,e,r,i,a,o,s,u){u===void 0&&(u=0),e=e-u,r=r-u,i=i-u,a=a+u,o=o+u,s=s+u;var l=0,c=0,f=0,h=0,m=0,A=0;return t.x>=0?(l=(e-n.x)*t.x,c=(a-n.x)*t.x):(l=(a-n.x)*t.x,c=(e-n.x)*t.x),t.y>=0?(f=(r-n.y)*t.y,h=(o-n.y)*t.y):(f=(o-n.y)*t.y,h=(r-n.y)*t.y),!(l>h||f>c||(f>l&&(l=f),h<c&&(c=h),t.z>=0?(m=(i-n.z)*t.z,A=(s-n.z)*t.z):(m=(s-n.z)*t.z,A=(i-n.z)*t.z),l>A||m>c)||(m>l&&(l=m),A<c&&(c=A),c<0))}var b0=function(){function n(t,e,r){this.x=t,this.y=e,this.z=r}return n.prototype.copy=function(t){return this.x=t.x,this.y=t.y,this.z=t.z,this},n.prototype.set=function(t,e,r){return this.x=t,this.y=e,this.z=r,this},n.prototype.fromArray=function(t,e){return e===void 0&&(e=0),this.x=t[e],this.y=t[e+1],this.z=t[e+2],this},n.prototype.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},n.prototype.add=function(t){return this.x+=t.x,this.y+=t.y,this.z+=t.z,this},n.prototype.multiplyScalar=function(t){return this.x*=t,this.y*=t,this.z*=t,this},n.prototype.subVectors=function(t,e){return this.x=t.x-e.x,this.y=t.y-e.y,this.z=t.z-e.z,this},n.prototype.addScaledVector=function(t,e){return this.x+=t.x*e,this.y+=t.y*e,this.z+=t.z*e,this},n.prototype.dot=function(t){return this.x*t.x+this.y*t.y+this.z*t.z},n.prototype.cross=function(t){var e=this.x,r=this.y,i=this.z;return this.x=r*t.z-i*t.y,this.y=i*t.x-e*t.z,this.z=e*t.y-r*t.x,this},n.prototype.crossVectors=function(t,e){var r=t.x,i=t.y,a=t.z,o=e.x,s=e.y,u=e.z;return this.x=i*u-a*s,this.y=a*o-r*u,this.z=r*s-i*o,this},n.prototype.distanceTo=function(t){return Math.sqrt(this.distanceToSquared(t))},n.prototype.distanceToSquared=function(t){var e=this.x-t.x,r=this.y-t.y,i=this.z-t.z;return e*e+r*r+i*i},n.prototype.clone=function(){return new n(this.x,this.y,this.z)},n}(),w0=function(){function n(t,e,r){this.triangle=t,this.intersectionPoint=e,this.index=r}return n}(),Vo=1e-6,No=function(){function n(t,e){if(this.positionArray=t,e)this.indicesArray=e;else{for(var r=t.length/3,i=r>65535?new Uint32Array(r):new Uint16Array(r),a=0;a<r;a++)i[a]=a;this.indicesArray=i}}return n.prototype.createTree=function(t,e,r){e=Math.min(e,16);var i=this.positionArray,a=this.indicesArray,o=a.length/3,s=o>65535?new Uint32Array(o):new Uint16Array(o),u=new Float32Array(o*6),l=[],c=0,f=-1;if(r)for(var h=0,m=0,A=0,p=void 0,g=void 0,v=void 0,y=void 0,b=void 0,w=void 0,E=void 0;h<o;h+=1,m+=3,A+=6)s[h]=h,p=y=i[a[m]*3],E=i[a[m+1]*3],E<p&&(p=E),E>y&&(y=E),E=i[a[m+2]*3],E<p&&(p=E),E>y&&(y=E),g=b=i[a[m]*3+1],E=i[a[m+1]*3+1],E<g&&(g=E),E>b&&(b=E),E=i[a[m+2]*3+1],E<g&&(g=E),E>b&&(b=E),v=w=i[a[m]*3+2],E=i[a[m+1]*3+2],E<v&&(v=E),E>w&&(w=E),E=i[a[m+2]*3+2],E<v&&(v=E),E>w&&(w=E),u[A]=p,u[A+1]=g,u[A+2]=v,u[A+3]=y,u[A+4]=b,u[A+5]=w;else{for(var x=1/0,C=1/0,M=1/0,I=-1/0,T=-1/0,P=-1/0,h=0,m=0,A=0,p=void 0,g=void 0,v=void 0,y=void 0,b=void 0,w=void 0,E=void 0;h<o;h+=1,m+=3,A+=6)s[h]=h,p=y=i[a[m]*3],E=i[a[m+1]*3],E<p&&(p=E),E>y&&(y=E),E=i[a[m+2]*3],E<p&&(p=E),E>y&&(y=E),g=b=i[a[m]*3+1],E=i[a[m+1]*3+1],E<g&&(g=E),E>b&&(b=E),E=i[a[m+2]*3+1],E<g&&(g=E),E>b&&(b=E),v=w=i[a[m]*3+2],E=i[a[m+1]*3+2],E<v&&(v=E),E>w&&(w=E),E=i[a[m+2]*3+2],E<v&&(v=E),E>w&&(w=E),u[A]=p,u[A+1]=g,u[A+2]=v,u[A+3]=y,u[A+4]=b,u[A+5]=w,p<x&&(x=p),y>I&&(I=y),g<C&&(C=g),b>T&&(T=b),v<M&&(M=v),w>P&&(P=w);r=[x,C,M,I,T,P]}var R=new pn(++f,r,0,o,0);l[c++]=R;var L=[],F=[0,1,2],O=function(N,W){return L[W]-L[N]};function z(N){var W=N.startIndex,j=N.endIndex,D=N.extents;L[0]=D[3]-D[0],L[1]=D[4]-D[1],L[2]=D[5]-D[2],F.sort(O);for(var H=0;H<3;H++){for(var K=F[H],Z=D[K]+D[K+3],G=W,X=j-1,_=-1,de=void 0;G<=X;)_===-1?(de=s[G],u[de*6+K]+u[de*6+K+3]<Z?G++:_=de):(de=s[X],u[de*6+K]+u[de*6+K+3]>=Z||(s[G]=de,s[X]=_,_=-1,G++),X--);if(G>W&&G<j){var ee=new pn(++f,zo(s,u,W,G,Vo),W,G,N.deepth+1);ee.deepth<e&&ee.endIndex-ee.startIndex>t&&(l[c++]=ee);var oe=new pn(++f,zo(s,u,G,j,Vo),G,j,N.deepth+1);oe.deepth<e&&oe.endIndex-oe.startIndex>t&&(l[c++]=oe),N.node0=ee,N.node1=oe,N.startIndex=0,N.endIndex=0;break}}}for(;c;)z(l[--c]);return this.offsetArray=s,this.rootNodePacked=g0(R,f+1),l.length=0,this},n.prototype.trianglesInSphere=function(t,e){for(var r=this.positionArray,i=this.indicesArray,a=this.offsetArray,o=this.rootNodePacked,s=new Float32Array(o),u=new Uint32Array(o),l=new Uint16Array(o),c=[0],f=[],h,m,A,p;(h=c.pop())!==void 0;){p=h*yr/4;var g=Wi(t.x,s[p],s[p+3])-t.x,v=Wi(t.y,s[p+1],s[p+4])-t.y,y=Wi(t.z,s[p+2],s[p+5])-t.z;if(g*g+v*v+y*y<=e*e){for(var b=u[p+6];b<u[p+7];b++)f.push(a[b]);p=h*yr/2,m=l[p+16],A=l[p+17],m&&c.push(m),A&&c.push(A)}}for(var w=f.length,E=new Float32Array(w*9),b=0;b<w;b++){var x=f[b];E[b*9]=r[i[x]*3],E[b*9+1]=r[i[x]*3+1],E[b*9+2]=r[i[x]*3+2],E[b*9+3]=r[i[x+1]*3],E[b*9+4]=r[i[x+1]*3+1],E[b*9+5]=r[i[x+1]*3+2],E[b*9+6]=r[i[x+2]*3],E[b*9+7]=r[i[x+2]*3+1],E[b*9+8]=r[i[x+2]*3+2]}return E},n.prototype.intersectRay=function(t,e,r){for(var i=this.positionArray,a=this.indicesArray,o=this.offsetArray,s=this.rootNodePacked,u=new Float32Array(s),l=new Uint32Array(s),c=new Uint16Array(s),f=new b0(1/e.x,1/e.y,1/e.z),h=[0],m,A,p,g;(m=h.pop())!==void 0;)if(g=m*yr/4,y0(t,f,u[g],u[g+1],u[g+2],u[g+3],u[g+4],u[g+5])){for(var v=l[g+6],y=l[g+7],b=void 0,w=void 0,E=void 0,x=t.x,C=t.y,M=t.z,I=e.x,T=e.y,P=e.z,R=void 0,L=void 0,F=void 0,O=void 0,z=void 0,N=void 0,W=void 0,j=void 0,D=void 0,H=void 0,K=void 0,Z=void 0,G=void 0,X=void 0,_=void 0,de=void 0,ee=void 0,oe=void 0,ie=void 0,ue=void 0,ne=void 0,ae=void 0,he=void 0,ve=void 0,we=void 0,Me=void 0,Be=void 0;v<y;v++){if(b=o[v],w=b*3,E=a[w]*3,R=i[E],L=i[++E],F=i[++E],E=a[w+1]*3,O=i[E],z=i[++E],N=i[++E],E=a[w+2]*3,W=i[E],j=i[++E],D=i[++E],H=O-R,K=z-L,Z=N-F,G=W-R,X=j-L,_=D-F,de=K*_-Z*X,ee=Z*G-H*_,oe=H*X-K*G,he=I*de+T*ee+P*oe,he>0)ae=1;else if(he<0)ae=-1,he=-he;else continue;ie=x-R,ue=C-L,ne=M-F,ve=ae*(I*(ue*_-ne*X)+T*(ne*G-ie*_)+P*(ie*X-ue*G)),!(ve<0)&&(we=ae*(I*(K*ne-Z*ue)+T*(Z*ie-H*ne)+P*(H*ue-K*ie)),!(we<0)&&(ve+we>he||(Me=-ae*(ie*de+ue*ee+ne*oe),!(Me<0)&&(Be=Me/he,r.push(new w0([R,L,F,O,z,N,W,j,D],[x+I*Be,C+T*Be,M+P*Be],b))))))}g=m*yr/2,A=c[g+16],p=c[g+17],A&&h.push(A),p&&h.push(p)}return r},n}();function Wi(n,t,e){return n<t?t:n>e?e:n}function zo(n,t,e,r,i){if(e>=r)return[0,0,0,0,0,0];for(var a=1/0,o=1/0,s=1/0,u=-1/0,l=-1/0,c=-1/0,f=e,h=void 0,m=void 0;f<r;f++)h=n[f]*6,m=t[h],m<a&&(a=m),m=t[h+1],m<o&&(o=m),m=t[h+2],m<s&&(s=m),m=t[h+3],m>u&&(u=m),m=t[h+4],m>l&&(l=m),m=t[h+5],m>c&&(c=m);return[a-i,o-i,s-i,u+i,l+i,c+i]}var Qo=1e-6,Do=function(){function n(t,e){this.positionArray=t,this.indicesArray=e}return n.prototype.createTree=function(t,e,r){e=Math.min(e,16);var i=this.positionArray,a=this.indicesArray,o=a?a.length:i.length/3,s=o>65535?new Uint32Array(o):new Uint16Array(o),u=[],l=0,c=-1;if(r)for(var f=0;f<o;f+=1)s[f]=f;else{for(var h=a?a[0]*3:0,m=i[h],A=i[h+1],p=i[h+2],g=m,v=A,y=p,f=0,b=0,w=void 0,E=void 0,x=void 0;f<o;f+=1,b+=3)s[f]=f,h=(a?a[b]:b)*3,w=i[h],E=i[h+1],x=i[h+2],w<m?m=w:w>g&&(g=w),E<A?A=E:E>v&&(v=E),x<p?p=x:x>y&&(y=x);r=[m,A,p,g,v,y]}var C=new pn(++c,r,0,o,0);u[l++]=C;var M=[],I=[0,1,2],T=function(R,L){return M[L]-M[R]};function P(R){var L=R.startIndex,F=R.endIndex,O=R.extents;M[0]=O[3]-O[0],M[1]=O[4]-O[1],M[2]=O[5]-O[2];for(var z=I.sort(T)[0],N=(O[z]+O[z+3])/2,W=L,j=F-1,D=-1,H,K;W<=j;)D===-1?(H=s[W],K=(a?a[H]:H)*3,i[K+z]<N?W++:D=H):(H=s[j],K=(a?a[H]:H)*3,i[K+z]>=N||(s[W]=H,s[j]=D,D=-1,W++),j--);if(W>L){var Z=O.slice();Z[z+3]=N+Qo;var G=new pn(++c,Z,L,W,R.deepth+1);G.deepth<e&&G.endIndex-G.startIndex>t&&(u[l++]=G),R.node0=G}if(F>W){var X=O.slice();X[z]=N-Qo;var _=new pn(++c,X,W,F,R.deepth+1);_.deepth<e&&_.endIndex-_.startIndex>t&&(u[l++]=_),R.node1=_}R.startIndex=0,R.endIndex=0}for(;l;)P(u[--l]);return this.offsetArray=s,this.rootNodePacked=g0(C,c+1),u.length=0,this},n.prototype.intersectRay=function(t,e,r,i){for(var a=this.positionArray,o=this.indicesArray,s=this.offsetArray,u=this.rootNodePacked,l=new Float32Array(u),c=new Uint32Array(u),f=new Uint16Array(u),h=r*r,m=new b0(1/e.x,1/e.y,1/e.z),A=[0],p,g,v,y;(p=A.pop())!==void 0;)if(y=p*yr/4,y0(t,m,l[y],l[y+1],l[y+2],l[y+3],l[y+4],l[y+5],r)){for(var b=c[y+6],w=c[y+7],E=void 0,x=void 0,C=void 0,M=void 0,I=void 0,T=void 0,P=void 0,R=void 0,L=void 0,F=void 0,O=void 0,z=void 0,N=void 0;b<w;b++)E=s[b],x=(o?o[E]:E)*3,C=a[x],M=a[++x],I=a[++x],T=t.x,P=t.y,R=t.z,L=e.x,F=e.y,O=e.z,z=L*(C-T)+F*(M-P)+O*(I-R),z>0&&(T+=L*z,P+=F*z,R+=O*z),L=C-T,F=M-P,O=I-R,z=L*L+F*F+O*O,z<=h&&i.push(new w0([C,M,I,C,M,I,C,M,I],[T,P,R],E));y=p*yr/2,g=f[y+16],v=f[y+17],g&&A.push(g),v&&A.push(v)}return i},n}();const E0="KGZ1bmN0aW9uKCl7InVzZSBzdHJpY3QiO3ZhciBaPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gaChyLG8sYSxpLHMpe3RoaXMuaWQ9cix0aGlzLmV4dGVudHM9byx0aGlzLnN0YXJ0SW5kZXg9YSx0aGlzLmVuZEluZGV4PWksdGhpcy5kZWVwdGg9c31yZXR1cm4gaH0oKSxSPTYqNCs0KzQrMisyO2Z1bmN0aW9uIG5yKGgscil7Zm9yKHZhciBvPW5ldyBBcnJheUJ1ZmZlcihyKlIpLGE9bmV3IEZsb2F0MzJBcnJheShvKSxpPW5ldyBVaW50MzJBcnJheShvKSxzPW5ldyBVaW50MTZBcnJheShvKSxlPVtoXSx2LG47dj1lLnBvcCgpOyluPXYuaWQqUi80LGFbbl09di5leHRlbnRzWzBdLGFbbisxXT12LmV4dGVudHNbMV0sYVtuKzJdPXYuZXh0ZW50c1syXSxhW24rM109di5leHRlbnRzWzNdLGFbbis0XT12LmV4dGVudHNbNF0sYVtuKzVdPXYuZXh0ZW50c1s1XSxpW24rNl09di5zdGFydEluZGV4LGlbbis3XT12LmVuZEluZGV4LG49di5pZCpSLzIsdi5ub2RlMCYmKHNbbisxNl09di5ub2RlMC5pZCxlLnB1c2godi5ub2RlMCkpLHYubm9kZTEmJihzW24rMTddPXYubm9kZTEuaWQsZS5wdXNoKHYubm9kZTEpKTtyZXR1cm4gb31mdW5jdGlvbiBhcihoLHIsbyxhLGkscyxlLHYsbil7bj09PXZvaWQgMCYmKG49MCksbz1vLW4sYT1hLW4saT1pLW4scz1zK24sZT1lK24sdj12K247dmFyIGQ9MCxmPTAscD0wLEE9MCx1PTAsST0wO3JldHVybiByLng+PTA/KGQ9KG8taC54KSpyLngsZj0ocy1oLngpKnIueCk6KGQ9KHMtaC54KSpyLngsZj0oby1oLngpKnIueCksci55Pj0wPyhwPShhLWgueSkqci55LEE9KGUtaC55KSpyLnkpOihwPShlLWgueSkqci55LEE9KGEtaC55KSpyLnkpLCEoZD5BfHxwPmZ8fChwPmQmJihkPXApLEE8ZiYmKGY9QSksci56Pj0wPyh1PShpLWgueikqci56LEk9KHYtaC56KSpyLnopOih1PSh2LWgueikqci56LEk9KGktaC56KSpyLnopLGQ+SXx8dT5mKXx8KHU+ZCYmKGQ9dSksSTxmJiYoZj1JKSxmPDApKX12YXIgdnI9ZnVuY3Rpb24oKXtmdW5jdGlvbiBoKHIsbyxhKXt0aGlzLng9cix0aGlzLnk9byx0aGlzLno9YX1yZXR1cm4gaC5wcm90b3R5cGUuY29weT1mdW5jdGlvbihyKXtyZXR1cm4gdGhpcy54PXIueCx0aGlzLnk9ci55LHRoaXMuej1yLnosdGhpc30saC5wcm90b3R5cGUuc2V0PWZ1bmN0aW9uKHIsbyxhKXtyZXR1cm4gdGhpcy54PXIsdGhpcy55PW8sdGhpcy56PWEsdGhpc30saC5wcm90b3R5cGUuZnJvbUFycmF5PWZ1bmN0aW9uKHIsbyl7cmV0dXJuIG89PT12b2lkIDAmJihvPTApLHRoaXMueD1yW29dLHRoaXMueT1yW28rMV0sdGhpcy56PXJbbysyXSx0aGlzfSxoLnByb3RvdHlwZS50b0FycmF5PWZ1bmN0aW9uKHIsbyl7cmV0dXJuIHI9PT12b2lkIDAmJihyPVtdKSxvPT09dm9pZCAwJiYobz0wKSxyW29dPXRoaXMueCxyW28rMV09dGhpcy55LHJbbysyXT10aGlzLnoscn0saC5wcm90b3R5cGUuYWRkPWZ1bmN0aW9uKHIpe3JldHVybiB0aGlzLngrPXIueCx0aGlzLnkrPXIueSx0aGlzLnorPXIueix0aGlzfSxoLnByb3RvdHlwZS5tdWx0aXBseVNjYWxhcj1mdW5jdGlvbihyKXtyZXR1cm4gdGhpcy54Kj1yLHRoaXMueSo9cix0aGlzLnoqPXIsdGhpc30saC5wcm90b3R5cGUuc3ViVmVjdG9ycz1mdW5jdGlvbihyLG8pe3JldHVybiB0aGlzLng9ci54LW8ueCx0aGlzLnk9ci55LW8ueSx0aGlzLno9ci56LW8ueix0aGlzfSxoLnByb3RvdHlwZS5hZGRTY2FsZWRWZWN0b3I9ZnVuY3Rpb24ocixvKXtyZXR1cm4gdGhpcy54Kz1yLngqbyx0aGlzLnkrPXIueSpvLHRoaXMueis9ci56Km8sdGhpc30saC5wcm90b3R5cGUuZG90PWZ1bmN0aW9uKHIpe3JldHVybiB0aGlzLngqci54K3RoaXMueSpyLnkrdGhpcy56KnIuen0saC5wcm90b3R5cGUuY3Jvc3M9ZnVuY3Rpb24ocil7dmFyIG89dGhpcy54LGE9dGhpcy55LGk9dGhpcy56O3JldHVybiB0aGlzLng9YSpyLnotaSpyLnksdGhpcy55PWkqci54LW8qci56LHRoaXMuej1vKnIueS1hKnIueCx0aGlzfSxoLnByb3RvdHlwZS5jcm9zc1ZlY3RvcnM9ZnVuY3Rpb24ocixvKXt2YXIgYT1yLngsaT1yLnkscz1yLnosZT1vLngsdj1vLnksbj1vLno7cmV0dXJuIHRoaXMueD1pKm4tcyp2LHRoaXMueT1zKmUtYSpuLHRoaXMuej1hKnYtaSplLHRoaXN9LGgucHJvdG90eXBlLmRpc3RhbmNlVG89ZnVuY3Rpb24ocil7cmV0dXJuIE1hdGguc3FydCh0aGlzLmRpc3RhbmNlVG9TcXVhcmVkKHIpKX0saC5wcm90b3R5cGUuZGlzdGFuY2VUb1NxdWFyZWQ9ZnVuY3Rpb24ocil7dmFyIG89dGhpcy54LXIueCxhPXRoaXMueS1yLnksaT10aGlzLnotci56O3JldHVybiBvKm8rYSphK2kqaX0saC5wcm90b3R5cGUuY2xvbmU9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IGgodGhpcy54LHRoaXMueSx0aGlzLnopfSxofSgpLHNyPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gaChyLG8sYSl7dGhpcy50cmlhbmdsZT1yLHRoaXMuaW50ZXJzZWN0aW9uUG9pbnQ9byx0aGlzLmluZGV4PWF9cmV0dXJuIGh9KCksdXI9MWUtNix5cj1mdW5jdGlvbigpe2Z1bmN0aW9uIGgocixvKXtpZih0aGlzLnBvc2l0aW9uQXJyYXk9cixvKXRoaXMuaW5kaWNlc0FycmF5PW87ZWxzZXtmb3IodmFyIGE9ci5sZW5ndGgvMyxpPWE+NjU1MzU/bmV3IFVpbnQzMkFycmF5KGEpOm5ldyBVaW50MTZBcnJheShhKSxzPTA7czxhO3MrKylpW3NdPXM7dGhpcy5pbmRpY2VzQXJyYXk9aX19cmV0dXJuIGgucHJvdG90eXBlLmNyZWF0ZVRyZWU9ZnVuY3Rpb24ocixvLGEpe289TWF0aC5taW4obywxNik7dmFyIGk9dGhpcy5wb3NpdGlvbkFycmF5LHM9dGhpcy5pbmRpY2VzQXJyYXksZT1zLmxlbmd0aC8zLHY9ZT42NTUzNT9uZXcgVWludDMyQXJyYXkoZSk6bmV3IFVpbnQxNkFycmF5KGUpLG49bmV3IEZsb2F0MzJBcnJheShlKjYpLGQ9W10sZj0wLHA9LTE7aWYoYSlmb3IodmFyIEE9MCx1PTAsST0wLGM9dm9pZCAwLHc9dm9pZCAwLHo9dm9pZCAwLGw9dm9pZCAwLHk9dm9pZCAwLE49dm9pZCAwLHQ9dm9pZCAwO0E8ZTtBKz0xLHUrPTMsSSs9Nil2W0FdPUEsYz1sPWlbc1t1XSozXSx0PWlbc1t1KzFdKjNdLHQ8YyYmKGM9dCksdD5sJiYobD10KSx0PWlbc1t1KzJdKjNdLHQ8YyYmKGM9dCksdD5sJiYobD10KSx3PXk9aVtzW3VdKjMrMV0sdD1pW3NbdSsxXSozKzFdLHQ8dyYmKHc9dCksdD55JiYoeT10KSx0PWlbc1t1KzJdKjMrMV0sdDx3JiYodz10KSx0PnkmJih5PXQpLHo9Tj1pW3NbdV0qMysyXSx0PWlbc1t1KzFdKjMrMl0sdDx6JiYoej10KSx0Pk4mJihOPXQpLHQ9aVtzW3UrMl0qMysyXSx0PHomJih6PXQpLHQ+TiYmKE49dCksbltJXT1jLG5bSSsxXT13LG5bSSsyXT16LG5bSSszXT1sLG5bSSs0XT15LG5bSSs1XT1OO2Vsc2V7Zm9yKHZhciBVPTEvMCxXPTEvMCxQPTEvMCxxPS0xLzAsaj0tMS8wLEc9LTEvMCxBPTAsdT0wLEk9MCxjPXZvaWQgMCx3PXZvaWQgMCx6PXZvaWQgMCxsPXZvaWQgMCx5PXZvaWQgMCxOPXZvaWQgMCx0PXZvaWQgMDtBPGU7QSs9MSx1Kz0zLEkrPTYpdltBXT1BLGM9bD1pW3NbdV0qM10sdD1pW3NbdSsxXSozXSx0PGMmJihjPXQpLHQ+bCYmKGw9dCksdD1pW3NbdSsyXSozXSx0PGMmJihjPXQpLHQ+bCYmKGw9dCksdz15PWlbc1t1XSozKzFdLHQ9aVtzW3UrMV0qMysxXSx0PHcmJih3PXQpLHQ+eSYmKHk9dCksdD1pW3NbdSsyXSozKzFdLHQ8dyYmKHc9dCksdD55JiYoeT10KSx6PU49aVtzW3VdKjMrMl0sdD1pW3NbdSsxXSozKzJdLHQ8eiYmKHo9dCksdD5OJiYoTj10KSx0PWlbc1t1KzJdKjMrMl0sdDx6JiYoej10KSx0Pk4mJihOPXQpLG5bSV09YyxuW0krMV09dyxuW0krMl09eixuW0krM109bCxuW0krNF09eSxuW0krNV09TixjPFUmJihVPWMpLGw+cSYmKHE9bCksdzxXJiYoVz13KSx5PmomJihqPXkpLHo8UCYmKFA9eiksTj5HJiYoRz1OKTthPVtVLFcsUCxxLGosR119dmFyIFM9bmV3IFooKytwLGEsMCxlLDApO2RbZisrXT1TO3ZhciBWPVtdLE09WzAsMSwyXSxUPWZ1bmN0aW9uKEIsRil7cmV0dXJuIFZbRl0tVltCXX07ZnVuY3Rpb24gSChCKXt2YXIgRj1CLnN0YXJ0SW5kZXgsSz1CLmVuZEluZGV4LF89Qi5leHRlbnRzO1ZbMF09X1szXS1fWzBdLFZbMV09X1s0XS1fWzFdLFZbMl09X1s1XS1fWzJdLE0uc29ydChUKTtmb3IodmFyIEw9MDtMPDM7TCsrKXtmb3IodmFyICQ9TVtMXSxRPV9bJF0rX1skKzNdLGs9RixDPUstMSxKPS0xLEU9dm9pZCAwO2s8PUM7KUo9PT0tMT8oRT12W2tdLG5bRSo2KyRdK25bRSo2KyQrM108UT9rKys6Sj1FKTooRT12W0NdLG5bRSo2KyRdK25bRSo2KyQrM10+PVF8fCh2W2tdPUUsdltDXT1KLEo9LTEsaysrKSxDLS0pO2lmKGs+RiYmazxLKXt2YXIgWT1uZXcgWigrK3AsaHIodixuLEYsayx1ciksRixrLEIuZGVlcHRoKzEpO1kuZGVlcHRoPG8mJlkuZW5kSW5kZXgtWS5zdGFydEluZGV4PnImJihkW2YrK109WSk7dmFyIEQ9bmV3IFooKytwLGhyKHYsbixrLEssdXIpLGssSyxCLmRlZXB0aCsxKTtELmRlZXB0aDxvJiZELmVuZEluZGV4LUQuc3RhcnRJbmRleD5yJiYoZFtmKytdPUQpLEIubm9kZTA9WSxCLm5vZGUxPUQsQi5zdGFydEluZGV4PTAsQi5lbmRJbmRleD0wO2JyZWFrfX19Zm9yKDtmOylIKGRbLS1mXSk7cmV0dXJuIHRoaXMub2Zmc2V0QXJyYXk9dix0aGlzLnJvb3ROb2RlUGFja2VkPW5yKFMscCsxKSxkLmxlbmd0aD0wLHRoaXN9LGgucHJvdG90eXBlLnRyaWFuZ2xlc0luU3BoZXJlPWZ1bmN0aW9uKHIsbyl7Zm9yKHZhciBhPXRoaXMucG9zaXRpb25BcnJheSxpPXRoaXMuaW5kaWNlc0FycmF5LHM9dGhpcy5vZmZzZXRBcnJheSxlPXRoaXMucm9vdE5vZGVQYWNrZWQsdj1uZXcgRmxvYXQzMkFycmF5KGUpLG49bmV3IFVpbnQzMkFycmF5KGUpLGQ9bmV3IFVpbnQxNkFycmF5KGUpLGY9WzBdLHA9W10sQSx1LEksYzsoQT1mLnBvcCgpKSE9PXZvaWQgMDspe2M9QSpSLzQ7dmFyIHc9cnIoci54LHZbY10sdltjKzNdKS1yLngsej1ycihyLnksdltjKzFdLHZbYys0XSktci55LGw9cnIoci56LHZbYysyXSx2W2MrNV0pLXIuejtpZih3Kncreip6K2wqbDw9bypvKXtmb3IodmFyIHk9bltjKzZdO3k8bltjKzddO3krKylwLnB1c2goc1t5XSk7Yz1BKlIvMix1PWRbYysxNl0sST1kW2MrMTddLHUmJmYucHVzaCh1KSxJJiZmLnB1c2goSSl9fWZvcih2YXIgTj1wLmxlbmd0aCx0PW5ldyBGbG9hdDMyQXJyYXkoTio5KSx5PTA7eTxOO3krKyl7dmFyIFU9cFt5XTt0W3kqOV09YVtpW1VdKjNdLHRbeSo5KzFdPWFbaVtVXSozKzFdLHRbeSo5KzJdPWFbaVtVXSozKzJdLHRbeSo5KzNdPWFbaVtVKzFdKjNdLHRbeSo5KzRdPWFbaVtVKzFdKjMrMV0sdFt5KjkrNV09YVtpW1UrMV0qMysyXSx0W3kqOSs2XT1hW2lbVSsyXSozXSx0W3kqOSs3XT1hW2lbVSsyXSozKzFdLHRbeSo5KzhdPWFbaVtVKzJdKjMrMl19cmV0dXJuIHR9LGgucHJvdG90eXBlLmludGVyc2VjdFJheT1mdW5jdGlvbihyLG8sYSl7Zm9yKHZhciBpPXRoaXMucG9zaXRpb25BcnJheSxzPXRoaXMuaW5kaWNlc0FycmF5LGU9dGhpcy5vZmZzZXRBcnJheSx2PXRoaXMucm9vdE5vZGVQYWNrZWQsbj1uZXcgRmxvYXQzMkFycmF5KHYpLGQ9bmV3IFVpbnQzMkFycmF5KHYpLGY9bmV3IFVpbnQxNkFycmF5KHYpLHA9bmV3IHZyKDEvby54LDEvby55LDEvby56KSxBPVswXSx1LEksYyx3Oyh1PUEucG9wKCkpIT09dm9pZCAwOylpZih3PXUqUi80LGFyKHIscCxuW3ddLG5bdysxXSxuW3crMl0sblt3KzNdLG5bdys0XSxuW3crNV0pKXtmb3IodmFyIHo9ZFt3KzZdLGw9ZFt3KzddLHk9dm9pZCAwLE49dm9pZCAwLHQ9dm9pZCAwLFU9ci54LFc9ci55LFA9ci56LHE9by54LGo9by55LEc9by56LFM9dm9pZCAwLFY9dm9pZCAwLE09dm9pZCAwLFQ9dm9pZCAwLEg9dm9pZCAwLEI9dm9pZCAwLEY9dm9pZCAwLEs9dm9pZCAwLF89dm9pZCAwLEw9dm9pZCAwLCQ9dm9pZCAwLFE9dm9pZCAwLGs9dm9pZCAwLEM9dm9pZCAwLEo9dm9pZCAwLEU9dm9pZCAwLFk9dm9pZCAwLEQ9dm9pZCAwLGI9dm9pZCAwLHg9dm9pZCAwLGc9dm9pZCAwLE89dm9pZCAwLFg9dm9pZCAwLHRyPXZvaWQgMCxvcj12b2lkIDAsaXI9dm9pZCAwLG09dm9pZCAwO3o8bDt6Kyspe2lmKHk9ZVt6XSxOPXkqMyx0PXNbTl0qMyxTPWlbdF0sVj1pWysrdF0sTT1pWysrdF0sdD1zW04rMV0qMyxUPWlbdF0sSD1pWysrdF0sQj1pWysrdF0sdD1zW04rMl0qMyxGPWlbdF0sSz1pWysrdF0sXz1pWysrdF0sTD1ULVMsJD1ILVYsUT1CLU0saz1GLVMsQz1LLVYsSj1fLU0sRT0kKkotUSpDLFk9USprLUwqSixEPUwqQy0kKmssWD1xKkUraipZK0cqRCxYPjApTz0xO2Vsc2UgaWYoWDwwKU89LTEsWD0tWDtlbHNlIGNvbnRpbnVlO2I9VS1TLHg9Vy1WLGc9UC1NLHRyPU8qKHEqKHgqSi1nKkMpK2oqKGcqay1iKkopK0cqKGIqQy14KmspKSwhKHRyPDApJiYob3I9TyoocSooJCpnLVEqeCkraiooUSpiLUwqZykrRyooTCp4LSQqYikpLCEob3I8MCkmJih0citvcj5YfHwoaXI9LU8qKGIqRSt4KlkrZypEKSwhKGlyPDApJiYobT1pci9YLGEucHVzaChuZXcgc3IoW1MsVixNLFQsSCxCLEYsSyxfXSxbVStxKm0sVytqKm0sUCtHKm1dLHkpKSkpKSl9dz11KlIvMixJPWZbdysxNl0sYz1mW3crMTddLEkmJkEucHVzaChJKSxjJiZBLnB1c2goYyl9cmV0dXJuIGF9LGh9KCk7ZnVuY3Rpb24gcnIoaCxyLG8pe3JldHVybiBoPHI/cjpoPm8/bzpofWZ1bmN0aW9uIGhyKGgscixvLGEsaSl7aWYobz49YSlyZXR1cm5bMCwwLDAsMCwwLDBdO2Zvcih2YXIgcz0xLzAsZT0xLzAsdj0xLzAsbj0tMS8wLGQ9LTEvMCxmPS0xLzAscD1vLEE9dm9pZCAwLHU9dm9pZCAwO3A8YTtwKyspQT1oW3BdKjYsdT1yW0FdLHU8cyYmKHM9dSksdT1yW0ErMV0sdTxlJiYoZT11KSx1PXJbQSsyXSx1PHYmJih2PXUpLHU9cltBKzNdLHU+biYmKG49dSksdT1yW0ErNF0sdT5kJiYoZD11KSx1PXJbQSs1XSx1PmYmJihmPXUpO3JldHVybltzLWksZS1pLHYtaSxuK2ksZCtpLGYraV19dmFyIGVyPTFlLTYsZnI9ZnVuY3Rpb24oKXtmdW5jdGlvbiBoKHIsbyl7dGhpcy5wb3NpdGlvbkFycmF5PXIsdGhpcy5pbmRpY2VzQXJyYXk9b31yZXR1cm4gaC5wcm90b3R5cGUuY3JlYXRlVHJlZT1mdW5jdGlvbihyLG8sYSl7bz1NYXRoLm1pbihvLDE2KTt2YXIgaT10aGlzLnBvc2l0aW9uQXJyYXkscz10aGlzLmluZGljZXNBcnJheSxlPXM/cy5sZW5ndGg6aS5sZW5ndGgvMyx2PWU+NjU1MzU/bmV3IFVpbnQzMkFycmF5KGUpOm5ldyBVaW50MTZBcnJheShlKSxuPVtdLGQ9MCxmPS0xO2lmKGEpZm9yKHZhciBwPTA7cDxlO3ArPTEpdltwXT1wO2Vsc2V7Zm9yKHZhciBBPXM/c1swXSozOjAsdT1pW0FdLEk9aVtBKzFdLGM9aVtBKzJdLHc9dSx6PUksbD1jLHA9MCx5PTAsTj12b2lkIDAsdD12b2lkIDAsVT12b2lkIDA7cDxlO3ArPTEseSs9Myl2W3BdPXAsQT0ocz9zW3ldOnkpKjMsTj1pW0FdLHQ9aVtBKzFdLFU9aVtBKzJdLE48dT91PU46Tj53JiYodz1OKSx0PEk/ST10OnQ+eiYmKHo9dCksVTxjP2M9VTpVPmwmJihsPVUpO2E9W3UsSSxjLHcseixsXX12YXIgVz1uZXcgWigrK2YsYSwwLGUsMCk7bltkKytdPVc7dmFyIFA9W10scT1bMCwxLDJdLGo9ZnVuY3Rpb24oUyxWKXtyZXR1cm4gUFtWXS1QW1NdfTtmdW5jdGlvbiBHKFMpe3ZhciBWPVMuc3RhcnRJbmRleCxNPVMuZW5kSW5kZXgsVD1TLmV4dGVudHM7UFswXT1UWzNdLVRbMF0sUFsxXT1UWzRdLVRbMV0sUFsyXT1UWzVdLVRbMl07Zm9yKHZhciBIPXEuc29ydChqKVswXSxCPShUW0hdK1RbSCszXSkvMixGPVYsSz1NLTEsXz0tMSxMLCQ7Rjw9SzspXz09PS0xPyhMPXZbRl0sJD0ocz9zW0xdOkwpKjMsaVskK0hdPEI/RisrOl89TCk6KEw9dltLXSwkPShzP3NbTF06TCkqMyxpWyQrSF0+PUJ8fCh2W0ZdPUwsdltLXT1fLF89LTEsRisrKSxLLS0pO2lmKEY+Vil7dmFyIFE9VC5zbGljZSgpO1FbSCszXT1CK2VyO3ZhciBrPW5ldyBaKCsrZixRLFYsRixTLmRlZXB0aCsxKTtrLmRlZXB0aDxvJiZrLmVuZEluZGV4LWsuc3RhcnRJbmRleD5yJiYobltkKytdPWspLFMubm9kZTA9a31pZihNPkYpe3ZhciBDPVQuc2xpY2UoKTtDW0hdPUItZXI7dmFyIEo9bmV3IFooKytmLEMsRixNLFMuZGVlcHRoKzEpO0ouZGVlcHRoPG8mJkouZW5kSW5kZXgtSi5zdGFydEluZGV4PnImJihuW2QrK109SiksUy5ub2RlMT1KfVMuc3RhcnRJbmRleD0wLFMuZW5kSW5kZXg9MH1mb3IoO2Q7KUcoblstLWRdKTtyZXR1cm4gdGhpcy5vZmZzZXRBcnJheT12LHRoaXMucm9vdE5vZGVQYWNrZWQ9bnIoVyxmKzEpLG4ubGVuZ3RoPTAsdGhpc30saC5wcm90b3R5cGUuaW50ZXJzZWN0UmF5PWZ1bmN0aW9uKHIsbyxhLGkpe2Zvcih2YXIgcz10aGlzLnBvc2l0aW9uQXJyYXksZT10aGlzLmluZGljZXNBcnJheSx2PXRoaXMub2Zmc2V0QXJyYXksbj10aGlzLnJvb3ROb2RlUGFja2VkLGQ9bmV3IEZsb2F0MzJBcnJheShuKSxmPW5ldyBVaW50MzJBcnJheShuKSxwPW5ldyBVaW50MTZBcnJheShuKSxBPWEqYSx1PW5ldyB2cigxL28ueCwxL28ueSwxL28ueiksST1bMF0sYyx3LHosbDsoYz1JLnBvcCgpKSE9PXZvaWQgMDspaWYobD1jKlIvNCxhcihyLHUsZFtsXSxkW2wrMV0sZFtsKzJdLGRbbCszXSxkW2wrNF0sZFtsKzVdLGEpKXtmb3IodmFyIHk9ZltsKzZdLE49ZltsKzddLHQ9dm9pZCAwLFU9dm9pZCAwLFc9dm9pZCAwLFA9dm9pZCAwLHE9dm9pZCAwLGo9dm9pZCAwLEc9dm9pZCAwLFM9dm9pZCAwLFY9dm9pZCAwLE09dm9pZCAwLFQ9dm9pZCAwLEg9dm9pZCAwLEI9dm9pZCAwO3k8Tjt5KyspdD12W3ldLFU9KGU/ZVt0XTp0KSozLFc9c1tVXSxQPXNbKytVXSxxPXNbKytVXSxqPXIueCxHPXIueSxTPXIueixWPW8ueCxNPW8ueSxUPW8ueixIPVYqKFctaikrTSooUC1HKStUKihxLVMpLEg+MCYmKGorPVYqSCxHKz1NKkgsUys9VCpIKSxWPVctaixNPVAtRyxUPXEtUyxIPVYqVitNKk0rVCpULEg8PUEmJmkucHVzaChuZXcgc3IoW1csUCxxLFcsUCxxLFcsUCxxXSxbaixHLFNdLHQpKTtsPWMqUi8yLHc9cFtsKzE2XSx6PXBbbCsxN10sdyYmSS5wdXNoKHcpLHomJkkucHVzaCh6KX1yZXR1cm4gaX0saH0oKTtmdW5jdGlvbiBBcihoKXtvbm1lc3NhZ2U9ZnVuY3Rpb24ocil7UHJvbWlzZS5yZXNvbHZlKHIuZGF0YSkudGhlbihmdW5jdGlvbihvKXtyZXR1cm4gaChvKX0pLnRoZW4oZnVuY3Rpb24obyl7dmFyIGE9by5vdXRwdXQsaT1vLnRyYW5zZmVyO3JldHVybiBwb3N0TWVzc2FnZShhLGkpfSkuY2F0Y2goZnVuY3Rpb24obyl7cmV0dXJuIHBvc3RNZXNzYWdlKHskJGVycm9yOm99KX0pfX1BcihmdW5jdGlvbihoKXtyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGgpLnRoZW4oZnVuY3Rpb24ocil7Zm9yKHZhciBvPVtdLGE9W10saT0wLHM9cjtpPHMubGVuZ3RoO2krKyl7dmFyIGU9c1tpXSx2PXZvaWQgMDtpZihlLnR5cGU9PT0ibWVzaCIpdj1uZXcgeXIoZS5wb3NpdGlvbkFycmF5LGUuaW5kaWNlc0FycmF5KTtlbHNlIGlmKGUudHlwZT09PSJwb2ludHMiKXY9bmV3IGZyKGUucG9zaXRpb25BcnJheSxlLmluZGljZXNBcnJheSk7ZWxzZSB0aHJvdyBuZXcgRXJyb3IoIkludmFsaWQgVHlwZSIpO3YuY3JlYXRlVHJlZShlLm1heEl0ZW1QZXJOb2RlLGUubWF4VHJlZURlcHRoLGUuZXh0ZW50cyk7dmFyIG49e29mZnNldEFycmF5OnYub2Zmc2V0QXJyYXksaW5kaWNlc0FycmF5OnYuaW5kaWNlc0FycmF5LHBvc2l0aW9uQXJyYXk6di5wb3NpdGlvbkFycmF5LHJvb3ROb2RlUGFja2VkOnYucm9vdE5vZGVQYWNrZWR9O28ucHVzaChuKTtmb3IodmFyIGQgaW4gbil7dmFyIGY9bltkXTtmJiYoZiBpbnN0YW5jZW9mIEFycmF5QnVmZmVyP2EuaW5kZXhPZihmKT09PS0xJiZhLnB1c2goZik6Zi5idWZmZXIgaW5zdGFuY2VvZiBBcnJheUJ1ZmZlciYmYS5pbmRleE9mKGYuYnVmZmVyKT09LTEmJmEucHVzaChmLmJ1ZmZlcikpfX1yZXR1cm57b3V0cHV0Om8sdHJhbnNmZXI6YX19KX0pfSkoKTsK",Uo=typeof window!="undefined"&&window.Blob&&new Blob([atob(E0)],{type:"text/javascript;charset=utf-8"});function Gc(n){let t;try{if(t=Uo&&(window.URL||window.webkitURL).createObjectURL(Uo),!t)throw"";const e=new Worker(t,{name:n==null?void 0:n.name});return e.addEventListener("error",()=>{(window.URL||window.webkitURL).revokeObjectURL(t)}),e}catch(e){return new Worker("data:application/javascript;base64,"+E0,{name:n==null?void 0:n.name})}finally{t&&(window.URL||window.webkitURL).revokeObjectURL(t)}}var x0=function(){function n(t,e){this.pool=e,this.workerCreator=t,this.queue=[],this.workers=[],this.workersResolver=[],this.workerStatus=0}return n.prototype.initWorker=function(t){if(this.workerCreator&&!this.workers[t]){var e=this.workerCreator();e.addEventListener("message",this.onMessage.bind(this,t)),this.workers[t]=e}},n.prototype.getIdleWorker=function(){for(var t=0;t<this.pool;t++)if(!(this.workerStatus&1<<t))return t;return-1},n.prototype.onMessage=function(t,e){var r=this.workersResolver[t],i=r.resolve,a=r.reject;if(e.data&&"$$error"in e.data?a(e.data.$$error):i(e.data),this.queue.length){var o=this.queue.shift(),s=o.resolve,u=o.reject,l=o.input,c=o.transfer;this.workersResolver[t]={resolve:s,reject:u},this.workers[t].postMessage(l,c)}else this.workerStatus^=1<<t},n.prototype.postMessage=function(t,e){var r=this;return e===void 0&&(e=[]),new Promise(function(i,a){var o=r.getIdleWorker();o!==-1?(r.initWorker(o),r.workerStatus|=1<<o,r.workersResolver[o]={resolve:i,reject:a},r.workers[o].postMessage(t,e)):r.queue.push({resolve:i,reject:a,input:t,transfer:e})})},n.prototype.dispose=function(){this.workers.forEach(function(t){return t.terminate()}),this.workersResolver.length=0,this.workers.length=0,this.queue.length=0,this.workerStatus=0},n}(),Kc=new x0(function(){return new Gc},4),ui=new Map,Xi=new Map,vn=new d.Ray,qo=new d.Matrix3,kn=new d.Matrix4,M0=new d.Vector3,jc=new d.Vector3,Jc=new d.Vector3,Wc=new d.Triangle;function $n(n){for(var t=n.count,e=n.itemSize,r=n.data,i=n.offset,a=t*e,o=new n.array.constructor(a),s=0;s<t;s++)for(var u=s*r.stride+i,l=0;l<e;l++)o[s*e+l]=r.array[u+l];return new d.BufferAttribute(o,n.itemSize,n.normalized)}function Xc(n,t,e,r){var i,a=n.matrixWorld;kn.getInverse(a),vn.copy(e.ray).applyMatrix4(kn);for(var o=t.intersectRay(vn.origin,vn.direction,[]),s=n.geometry,u=n.material,l=s.groups,c=s.index,f=0,h=o.length;f<h;f++){var m=o[f],A=m.triangle,p=m.index,g=m.intersectionPoint,v=new d.Vector3(g[0],g[1],g[2]).applyMatrix4(a),y=e.ray.origin.distanceTo(v);if(!(y<e.near||y>e.far)){var b=void 0;if(Array.isArray(u)){if(l)for(var w=p*3,E=0,x=l;E<x.length;E++){var C=x[E];if(w>=C.start&&w-C.start<C.count){b=u[(i=C.materialIndex)!==null&&i!==void 0?i:0];break}}}else b=u;if(b){var M=Wc.set(M0.set(A[0],A[1],A[2]).applyMatrix4(a),jc.set(A[3],A[4],A[5]).applyMatrix4(a),Jc.set(A[6],A[7],A[8]).applyMatrix4(a)).getNormal(new d.Vector3),I=p*3,T=new d.Face3(c?c.array[I]:I,c?c.array[I+1]:I+1,c?c.array[I+2]:I+2,M),P=e.ray.direction.dot(M);b.side===d.FrontSide&&P>=0||b.side===d.BackSide&&P<=0||r.push({distance:y,object:n,face:T,point:v,distanceToRay:0,faceIndex:p})}}}}function _c(n,t,e,r){var i,a,o=n.matrixWorld;qo.getNormalMatrix(o),kn.getInverse(o);var s=((a=(i=e.params.Points)===null||i===void 0?void 0:i.threshold)!==null&&a!==void 0?a:1)*kn.getMaxScaleOnAxis();vn.copy(e.ray).applyMatrix4(kn);for(var u=t.intersectRay(vn.origin,vn.direction,s,[]),l=n.geometry,c=l.index,f=l.getAttribute("normal"),h=0,m=u.length;h<m;h++){var A=u[h],p=A.triangle,g=A.index,v=A.intersectionPoint,y=new d.Vector3(v[0],v[1],v[2]).applyMatrix4(o),b=e.ray.origin.distanceTo(y);if(!(b<e.near||b>e.far)){var w=M0.set(p[0],p[1],p[2]).applyMatrix4(o),E=c?c.array[g]:g,x=void 0;f instanceof d.BufferAttribute&&(x=new d.Vector3().fromBufferAttribute(f,E).applyNormalMatrix(qo));var C=new d.Face3(E,E,E,x);r.push({distance:b,object:n,face:C,point:y,distanceToRay:y.distanceTo(w),index:g})}}}function Ho(n,t){var e=n.raycast,r=function(i,a){var o=ui.get(this);o?Xc(this,o,i,a):e.call(this,i,a)};return n.raycast=r,ui.set(n,t),function(){ui.delete(n),n.raycast===r&&(n.raycast=e)}}function Go(n,t){var e=n.raycast,r=function(i,a){var o=Xi.get(this);o?_c(this,o,i,a):e.call(this,i,a)};return n.raycast=r,Xi.set(n,t),function(){Xi.delete(n),n.raycast===r&&(n.raycast=e)}}function Zc(n,t,e,r){t===void 0&&(t=!0),e===void 0&&(e=100),r===void 0&&(r=10);var i=[];return n.traverse(function(a){if((a instanceof d.Mesh||a instanceof d.Points)&&a.geometry instanceof d.BufferGeometry){var o=a.geometry.getAttribute("position"),s=a.geometry.index;(o instanceof d.InterleavedBufferAttribute||s&&s instanceof d.InterleavedBufferAttribute)&&(t=!1,i.push(a)),o instanceof d.BufferAttribute&&i.push(a)}}),t?Promise.resolve().then(function(){for(var a,o,s=[],u=[],l=0;l<i.length;l++){var c=i[l];if(c instanceof d.Mesh){if(c.geometry instanceof d.BufferGeometry){var f=c.geometry.getAttribute("position");if(f instanceof d.BufferAttribute){var h=f.array,m=(a=c.geometry.getIndex())===null||a===void 0?void 0:a.array,A=c.geometry.boundingBox,p=A?[A.min.x,A.min.y,A.min.z,A.max.x,A.max.y,A.max.z]:void 0,g={type:"mesh",positionArray:h,indicesArray:m,maxItemPerNode:e,maxTreeDepth:r,extents:p};s.push(g);for(var v in g){var y=g[v];y&&(y instanceof ArrayBuffer?u.indexOf(y)===-1&&u.push(y):y.buffer instanceof ArrayBuffer&&u.indexOf(y.buffer)===-1&&u.push(y.buffer))}}}}else if(c instanceof d.Points&&c.geometry instanceof d.BufferGeometry){var f=c.geometry.getAttribute("position");if(f instanceof d.BufferAttribute){var h=f.array,m=(o=c.geometry.getIndex())===null||o===void 0?void 0:o.array,A=c.geometry.boundingBox,p=A?[A.min.x,A.min.y,A.min.z,A.max.x,A.max.y,A.max.z]:void 0,g={type:"points",positionArray:h,indicesArray:m,maxItemPerNode:e,maxTreeDepth:r,extents:p};s.push(g);for(var b in g){var y=g[b];y&&(y instanceof ArrayBuffer?u.indexOf(y)===-1&&u.push(y):y.buffer instanceof ArrayBuffer&&u.indexOf(y.buffer)===-1&&u.push(y.buffer))}}}}return Kc.postMessage(s,u)}).then(function(a){for(var o=[],s=0;s<i.length;s++){var u=i[s],l=a[s];if(u instanceof d.Mesh){if(u.geometry instanceof d.BufferGeometry){var c=u.geometry.getAttribute("position");if(c instanceof d.BufferAttribute){c.array=l.positionArray;var f=u.geometry.getIndex();f&&l.indicesArray&&(f.array=l.indicesArray);var h=new No(l.positionArray,l.indicesArray);h.offsetArray=l.offsetArray,h.rootNodePacked=l.rootNodePacked;var m=Ho(u,h);o.push(m)}}}else if(u instanceof d.Points&&u.geometry instanceof d.BufferGeometry){var c=u.geometry.getAttribute("position");if(c instanceof d.BufferAttribute){c.array=l.positionArray;var f=u.geometry.getIndex();f&&l.indicesArray&&(f.array=l.indicesArray);var h=new Do(l.positionArray,l.indicesArray);h.offsetArray=l.offsetArray,h.rootNodePacked=l.rootNodePacked;var m=Go(u,h);o.push(m)}}}return function(){for(var A=0,p=o;A<p.length;A++){var g=p[A];g()}o.length=0}}):Promise.resolve().then(function(){for(var a=[],o=0,s=i;o<s.length;o++){var u=s[o];if(u instanceof d.Mesh){if(u.geometry instanceof d.BufferGeometry){var l=u.geometry.getAttribute("position"),c=u.geometry.getIndex();if(l instanceof d.InterleavedBufferAttribute&&(l=$n(l)),c&&c instanceof d.InterleavedBufferAttribute&&(c=$n(c)),l instanceof d.BufferAttribute){var f=l.array,h=c==null?void 0:c.array,m=u.geometry.boundingBox,A=m?[m.min.x,m.min.y,m.min.z,m.max.x,m.max.y,m.max.z]:void 0,p=new No(f,h);p.createTree(e,r,A);var g=Ho(u,p);a.push(g)}}}else if(u instanceof d.Points&&u.geometry instanceof d.BufferGeometry){var l=u.geometry.getAttribute("position"),c=u.geometry.getIndex();if(l instanceof d.InterleavedBufferAttribute&&(l=$n(l)),c&&c instanceof d.InterleavedBufferAttribute&&(c=$n(c)),l instanceof d.BufferAttribute){var f=l.array,h=c==null?void 0:c.array,m=u.geometry.boundingBox,A=m?[m.min.x,m.min.y,m.min.z,m.max.x,m.max.y,m.max.z]:void 0,p=new Do(f,h);p.createTree(e,r,A);var g=Go(u,p);a.push(g)}}}return function(){for(var v=0,y=a;v<y.length;v++){var b=y[v];b()}a.length=0}})}var Yc=new d.Vector3,$c=new d.Vector3,ed=new d.Vector3,C0=function(n){pe(t,n);function t(e,r){var i=n.call(this)||this;return i.renderOrder=-4,i.disposers=[r],i.add(e),i}return t.prototype.generateBvhTree=function(){var e=this;return Zc(this,!0,200,10).then(function(r){e.disposers.push(r)})},t.prototype.intersectRaycaster=function(e,r,i){var a=this;r===void 0&&(r=!0),i===void 0&&(i=[]);for(var o=this.children.slice(),s,u=[];s=o.pop();)if(s.visible){s.raycast(e,u);for(var l=0,c=s.children.length;l<c;l++)o.push(s.children[l])}return u.forEach(function(f){var h,m,A=0;if((f.object instanceof It||f.object instanceof or)&&f.face){var p=Array.isArray(f.object.material)?f.object.material[f.face.materialIndex]:f.object.material;if(p)if(p.defines.USE_VERTEX_FLOOR){var g=(h=f.object.geometry.attributes.position)===null||h===void 0?void 0:h.array,v=(m=f.object.geometry.attributes.floor)===null||m===void 0?void 0:m.array;if(g&&v){var y=Yc.set(g[f.face.a*3],g[f.face.a*3+1],g[f.face.a*3+2]).applyMatrix4(a.matrixWorld),b=$c.set(g[f.face.b*3],g[f.face.b*3+1],g[f.face.b*3+2]).applyMatrix4(a.matrixWorld),w=ed.set(g[f.face.c*3],g[f.face.c*3+1],g[f.face.c*3+2]).applyMatrix4(a.matrixWorld),E=f.point.distanceTo(y),x=f.point.distanceTo(b),C=f.point.distanceTo(w);A=Math.round((E*v[f.face.a]+x*v[f.face.b]+C*v[f.face.c])/(E+x+C))}}else A=p.floor}f.floor=A}),r&&u.sort(function(f,h){return f.distance-h.distance}),i.push.apply(i,u),i},t.prototype.dispose=function(){for(var e=0,r=this.disposers;e<r.length;e++){var i=r[e];i()}this.disposers.length=0},t}(d.Group);function bt(){for(var n=[],t=0;t<arguments.length;t++)n[t]=arguments[t];var e=[];n=n.map(function(s){return(s!=null?s:"").trim()}).filter(function(s){return s.length>0&&!/^\/+$/.test(s)});for(var r=0;r<n.length;r++){var i=r===0,a=r===n.length-1,o=n[r];i||(o=o.replace(/^\.\//,"").replace(/^\/+/,"")),a||(o=o.replace(/\/+$/,"")),e.push(o)}return e.join("/")}function wr(n){return n.indexOf("//")===0||/^[0-9a-z]+\:/i.test(n)}function I0(n,t){if(n.content&&n.content.uri&&(wr(n.content.uri)||(n.content.uri=bt(t,n.content.uri))),n.children)for(var e=0,r=n.children;e<r.length;e++){var i=r[e];I0(i,t)}return n}function Ko(n,t){return n.asset||(n.asset={}),n.rootMeta||(n.rootMeta={}),n.asset.overview&&(wr(n.asset.overview.imageFile)||(n.asset.overview.imageFile=bt(t,n.asset.overview.imageFile)),wr(n.asset.overview.worldFile)||(n.asset.overview.worldFile=bt(t,n.asset.overview.worldFile))),I0(n.root,t),n}function S0(n,t){return(t[0]==="?"||t[0]==="&")&&(t=t.slice(1)),t?((n[n.length-1]==="?"||n[n.length-1]==="&")&&(n=n.slice(0,-1)),n.indexOf("?")>=0?"".concat(n,"&").concat(t):"".concat(n,"?").concat(t)):n}var jo=new d.Vector3,td=new d.Matrix3,rd=new d.Matrix4,st=6378137,T0=298.257223563;function P0(n){for(var t=st-st/T0,e=(st*st-t*t)/(st*st),r=Math.sqrt(n.x*n.x+n.y*n.y),i=1e-12,a=1e3,o=0,s=Math.atan2(n.z,r),u=0;o++<a;){var l=Math.sin(s),c=st/Math.sqrt(1-e*l*l);u=r/Math.cos(s)-c;var f=Math.atan2(n.z/(c*(1-e)+u),r/(c+u));if(isNaN(f))break;var h=Math.abs(f-s);if(h<i)break;s=f}return n.set(s,Math.atan2(n.y,n.x),u)}function nd(n){var t=n.x,e=n.y,r=n.z,i=st-st/T0,a=(st*st-i*i)/(st*st),o=Math.sin(t),s=Math.cos(t),u=Math.sin(e),l=Math.cos(e),c=st/Math.sqrt(1-a*o*o),f=(c+r)*s*l,h=(c+r)*s*u,m=(i*i/(st*st)*c+r)*o;return n.set(f,h,m)}function id(n,t){var e=P0(jo.copy(n)),r=e.x,i=e.y,a=e.z,o=Math.sin(r),s=Math.sin(i),u=Math.cos(r),l=Math.cos(i);t.fromArray([-s,-o*l,u*l,0,+l,-o*s,u*s,0,0,u,o,0,0,0,0,1]);var c=td.setFromMatrix4(t),f=jo.copy(n).applyMatrix3(c).multiplyScalar(-1);t.setPosition(f);var h=rd.fromArray([1,0,0,0,0,1,0,0,0,0,1,0,0,0,a,1]);return t.premultiply(h),t}var _i=4;function B0(n,t,e){var r=new DataView(t);if(n.magic=r.getUint32(e,!0),e+=_i,n.version=r.getUint32(e,!0),e+=_i,n.byteLength=r.getUint32(e,!0),e+=_i,n.version!==1)throw new Error("3D Tile Version ".concat(n.version," not supported"));return e}var rr,Ze;(function(n){n[n.BYTE=5120]="BYTE",n[n.UNSIGNED_BYTE=5121]="UNSIGNED_BYTE",n[n.SHORT=5122]="SHORT",n[n.UNSIGNED_SHORT=5123]="UNSIGNED_SHORT",n[n.INT=5124]="INT",n[n.UNSIGNED_INT=5125]="UNSIGNED_INT",n[n.FLOAT=5126]="FLOAT",n[n.DOUBLE=5130]="DOUBLE"})(Ze||(Ze={}));var ad=(rr={},rr[Ze.DOUBLE]=Float64Array,rr[Ze.FLOAT]=Float32Array,rr[Ze.UNSIGNED_SHORT]=Uint16Array,rr[Ze.UNSIGNED_INT]=Uint32Array,rr[Ze.UNSIGNED_BYTE]=Uint8Array,rr[Ze.BYTE]=Int8Array,rr[Ze.SHORT]=Int16Array,rr[Ze.INT]=Int32Array,rr),od={DOUBLE:Ze.DOUBLE,FLOAT:Ze.FLOAT,UNSIGNED_SHORT:Ze.UNSIGNED_SHORT,UNSIGNED_INT:Ze.UNSIGNED_INT,UNSIGNED_BYTE:Ze.UNSIGNED_BYTE,BYTE:Ze.BYTE,SHORT:Ze.SHORT,INT:Ze.INT};function gi(n){var t=ad[n];if(!t)throw new Error("Failed to convert GL type");return t}function Zi(n){var t=gi(n);return t.BYTES_PER_ELEMENT}function Jo(n,t,e,r){e===void 0&&(e=0);var i=gi(n);if(e%Zi(n)!==0){var a=r?t.slice(e,e+r*Zi(n)):t.slice(e);return new i(a)}else return new i(t,e,r!=null?r:(t.byteLength-e)/Zi(n))}function sd(n){var t=od[n];if(!t)throw new Error("Failed to convert GL type");return t}var R0=function(){function n(t,e){this.featuresLength=0,this.cachedTypedArrays={},this.json=t,this.buffer=e;var r=this.getGlobalProperty("POINTS_LENGTH",Ze.UNSIGNED_INT,1);r&&r.length&&(this.featuresLength=r[0])}return n.prototype.getExtension=function(t){return this.json.extensions&&this.json.extensions[t]},n.prototype.hasProperty=function(t){return!!this.json[t]},n.prototype.getGlobalProperty=function(t,e,r){var i=this.json[t];if(typeof i=="number"){var a=gi(e);return new a([i])}else if(Array.isArray(i)){var a=gi(e);return new a(i)}else if(i&&Number.isFinite(i.byteOffset))return this.getTypedArrayFromBinary(t,e,r,1,i.byteOffset);return null},n.prototype.getPropertyArray=function(t,e,r){var i=this.json[t];return i&&Number.isFinite(i.byteOffset)?("componentType"in i&&(e=sd(i.componentType)),this.getTypedArrayFromBinary(t,e,r,this.featuresLength,i.byteOffset)):this.getTypedArrayFromArray(t,e,i)},n.prototype.getProperty=function(t,e,r,i,a){var o=this.json[t];if(!o)return null;var s=this.getPropertyArray(t,e,r);if(r===1)return a[0]=s[i],a;for(var u=0;u<r;++u)a[u]=s[r*i+u];return a},n.prototype.getTypedArrayFromBinary=function(t,e,r,i,a){var o=this.cachedTypedArrays,s=o[t];return s||(s=Jo(e,this.buffer.buffer,this.buffer.byteOffset+a,i*r),o[t]=s),s},n.prototype.getTypedArrayFromArray=function(t,e,r){var i=this.cachedTypedArrays,a=i[t];return a||(a=Jo(e,r),i[t]=a),a},n}(),on=4,Wo="b3dm tile in legacy format.";function F0(n,t,e){var r=new TextDecoder("utf8"),i=new Uint8Array(n,t,e),a=r.decode(i);return a}function k0(n,t,e){return e=ud(n,t,e),e=ld(n,t,e),e=cd(n,t,e),e}function ud(n,t,e){var r=new DataView(t),i=0;n.header=n.header||{};var a=r.getUint32(e,!0);e+=on;var o=r.getUint32(e,!0);e+=on;var s=r.getUint32(e,!0);e+=on;var u=r.getUint32(e,!0);return e+=on,s>=570425344?(e-=on*2,i=a,s=o,u=0,a=0,o=0,console.warn(Wo)):u>=570425344&&(e-=on,i=s,s=a,u=o,a=0,o=0,console.warn(Wo)),n.header.featureTableJsonByteLength=a,n.header.featureTableBinaryByteLength=o,n.header.batchTableJsonByteLength=s,n.header.batchTableBinaryByteLength=u,n.header.batchLength=i,e}function ld(n,t,e){var r=n.header||{},i=r.featureTableJsonByteLength,a=r.featureTableBinaryByteLength,o=r.batchLength;if(n.featureTableJson={BATCH_LENGTH:o||0},i&&i>0){var s=F0(t,e,i);n.featureTableJson=JSON.parse(s)}e+=i||0,n.featureTableBinary=new Uint8Array(t,e,a),e+=a||0,n.rtcCenter=[0,0,0];var u=new R0(n.featureTableJson,n.featureTableBinary);if(Array.isArray(u.json.RTC_CENTER)){var l=u.json.RTC_CENTER;n.rtcCenter[0]=l[0],n.rtcCenter[1]=l[1],n.rtcCenter[2]=l[2]}else{var l=u.getGlobalProperty("RTC_CENTER",Ze.FLOAT,3);l&&(n.rtcCenter[0]=l[0],n.rtcCenter[1]=l[1],n.rtcCenter[2]=l[2])}return e}function cd(n,t,e){var r=n.header||{},i=r.batchTableJsonByteLength,a=r.batchTableBinaryByteLength;if(i&&i>0){var o=F0(t,e,i);n.batchTableJson=JSON.parse(o),e+=i,a&&a>0&&(n.batchTableBinary=new Uint8Array(t,e,a),n.batchTableBinary=new Uint8Array(n.batchTableBinary),e+=a)}return e}function dd(n,t,e){var r=e!==void 0?new Uint8Array(n).subarray(t,t+e):new Uint8Array(n).subarray(t),i=new Uint8Array(r);return i.buffer}function fd(n,t,e){var r=n.byteLength-e;if(r===0)throw new Error("glTF byte length must be greater than 0.");return e%4!==0&&console.warn("".concat(n.type,": embedded glb is not aligned to a 4-byte boundary.")),n.gltfArrayBuffer=dd(t,e,r),n.byteLength}function Ia(n){if(typeof TextDecoder!="undefined")return new TextDecoder().decode(n);for(var t="",e=0,r=n.length;e<r;e++)t+=String.fromCharCode(n[e]);try{return decodeURIComponent(escape(t))}catch(i){return t}}var Ve={FLOAT:5126,FLOAT_MAT3:35675,FLOAT_MAT4:35676,FLOAT_VEC2:35664,FLOAT_VEC3:35665,FLOAT_VEC4:35666,LINEAR:9729,REPEAT:10497,SAMPLER_2D:35678,POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6,UNSIGNED_BYTE:5121,UNSIGNED_SHORT:5123},Mn={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array},yi={9728:d.NearestFilter,9729:d.LinearFilter,9984:d.NearestMipmapNearestFilter,9985:d.LinearMipmapNearestFilter,9986:d.NearestMipmapLinearFilter,9987:d.LinearMipmapLinearFilter},bi={33071:d.ClampToEdgeWrapping,33648:d.MirroredRepeatWrapping,10497:d.RepeatWrapping},Xo={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},kt={POSITION:"position",NORMAL:"normal",TANGENT:"tangent",TEXCOORD_0:"uv",TEXCOORD_1:"uv2",COLOR_0:"color",WEIGHTS_0:"skinWeight",JOINTS_0:"skinIndex"},Rr={scale:"scale",translation:"position",rotation:"quaternion",weights:"morphTargetInfluences"},hd={CUBICSPLINE:void 0,LINEAR:d.InterpolateLinear,STEP:d.InterpolateDiscrete},Ar={OPAQUE:"OPAQUE",MASK:"MASK",BLEND:"BLEND"};function ct(n){var t=[];for(var e in n)t.push(n[e]);return t}var pd=function(){function n(t,e,r){this.json=t,this.extensions=e,this.options=r,this.cache=new Map,this.disposeSet=new Set,this.nodeNamesUsed={}}return n.prototype.dispose=function(){this.cache.clear(),this.disposeSet.forEach(function(t){typeof t.dispose=="function"&&t.dispose(),typeof t.close=="function"&&t.close()}),this.disposeSet.clear(),delete this.cache,delete this.disposeSet,delete this.json,delete this.extensions,delete this.options},n.prototype.markDefs=function(){for(var t=this.json.nodes||[],e=this.json.skins||[],r=this.json.meshes||[],i=0,a=e.length;i<a;i++)for(var o=e[i].joints,s=0,u=o.length;s<u;s++)t[o[s]].isBone=!0;for(var l=0,c=t.length;l<c;l++){var f=t[l];f.mesh!==void 0&&f.skin!==void 0&&(r[f.mesh].isSkinnedMesh=!0)}},n.prototype.parse=function(){var t=this,e=this.json,r=this.extensions;this.markDefs();for(var i=0,a=ct(r);i<a.length;i++){var o=a[i];o.markDefs(this)}return Promise.all(ct(r).map(function(s){return s.prepare(t)})).then(function(){var s,u,l;return Promise.all([Promise.all(((s=e.scenes)!==null&&s!==void 0?s:[]).map(function(c,f){return t.loadScene(f)})),Promise.all(((u=e.animations)!==null&&u!==void 0?u:[]).map(function(c,f){return t.loadAnimation(f)})),Promise.all(((l=e.cameras)!==null&&l!==void 0?l:[]).map(function(c,f){return t.loadCamera(f)}))])}).then(function(s){var u=s[0],l=s[1],c=s[2],f={json:t.json,scene:u[e.scene||0],scenes:u,animations:l,cameras:c,dispose:function(){return t.dispose()}};return Promise.all(ct(r).map(function(h){return h.emitResult(f,t)})).then(function(){return f})})},n.prototype.loadCamera=function(t){var e="camera:"+t,r=this.cache.get(e);if(r)return r;for(var i=null,a=0,o=ct(this.extensions);a<o.length;a++){var s=o[a];if(i=s.loadCamera(t,this),i)break}if(!i){var u=void 0,l=this.json.cameras[t],c=l[l.type];c?l.type==="perspective"?u=new d.PerspectiveCamera(d.MathUtils.radToDeg(c.yfov),c.aspectRatio||1,c.znear||1,c.zfar||2e6):l.type==="orthographic"?u=new d.OrthographicCamera(-c.xmag,c.xmag,c.ymag,-c.ymag,c.znear,c.zfar):(console.warn("glTF: Invalid camera type ".concat(l.type,".")),u=new d.Camera):(console.warn("glTF: Missing camera parameters."),u=new d.Camera),l.name&&(u.name=this.createUniqueName(l.name)),i=Promise.resolve(u)}return this.cache.set(e,i),i},n.prototype.loadSkin=function(t){var e="animation:"+t,r=this.cache.get(e);if(r)return r;var i,a=this.json.skins[t],o={joints:a.joints};return a.inverseBindMatrices===void 0?i=Promise.resolve(o):i=this.loadAccessor(a.inverseBindMatrices).then(function(s){return s&&(o.inverseBindMatrices=s),o}),this.cache.set(e,i),i},n.prototype.loadAnimation=function(t){var e="animation:"+t,r=this.cache.get(e);if(r)return r;for(var i=null,a=0,o=ct(this.extensions);a<o.length;a++){var s=o[a];if(i=s.loadAnimation(t,this),i)break}if(!i){for(var u=this.json,l=u.animations[t],c=[],f=[],h=[],m=[],A=[],p=0,g=l.channels.length;p<g;p++){var v=l.channels[p],y=l.samplers[v.sampler],b=v.target,w=b.node!==void 0?b.node:b.id,E=l.parameters!==void 0?l.parameters[y.input]:y.input,x=l.parameters!==void 0?l.parameters[y.output]:y.output;c.push(this.loadNode(w)),f.push(this.loadAccessor(E)),h.push(this.loadAccessor(x)),m.push(y),A.push(b)}i=Promise.all([Promise.all(c),Promise.all(f),Promise.all(h),Promise.all(m),Promise.all(A)]).then(function(C){for(var M=C[0],I=C[1],T=C[2],P=C[3],R=C[4],L=[],F=function(W,j){var D=M[W],H=I[W],K=T[W],Z=P[W],G=R[W];if(D===void 0)return"continue";D.updateMatrix(),D.matrixAutoUpdate=!0;var X=void 0;switch(Rr[G.path]){case Rr.weights:X=d.NumberKeyframeTrack;break;case Rr.rotation:X=d.QuaternionKeyframeTrack;break;case Rr.position:case Rr.scale:default:X=d.VectorKeyframeTrack;break}var _=D.name?D.name:D.uuid,de=Z.interpolation!==void 0?hd[Z.interpolation]:d.InterpolateLinear,ee=[];Rr[G.path]===Rr.weights?D.traverse(function(ve){ve.morphTargetInfluences&&ee.push(ve.name?ve.name:ve.uuid)}):ee.push(_);var oe=K.array;if(K.normalized){for(var ie=Yi(oe.constructor),ue=new Float32Array(oe.length),ne=0,ae=oe.length;ne<ae;ne++)ue[ne]=oe[ne]*ie;oe=ue}for(var ne=0,ae=ee.length;ne<ae;ne++){var he=new X(ee[ne]+"."+Rr[G.path],H.array,oe,de);L.push(he)}},O=0,z=M.length;O<z;O++)F(O);var N=l.name?l.name:"animation_"+t;return new d.AnimationClip(N,void 0,L)})}return this.cache.set(e,i),i},n.prototype.loadBuffer=function(t){var e=this.json.buffers[t];if(e.type&&e.type!=="arraybuffer")throw new Error("glTF: "+e.type+" buffer type is not supported.");var r="buffer:"+t,i=this.cache.get(r);if(i)return i;for(var a=null,o=0,s=ct(this.extensions);o<s.length;o++){var u=s[o];if(a=u.loadBuffer(t,this),a)break}if(!a){var l=this.json.buffers[t];a=this.options.fetcher.ajax(this.resolveResouce(l.uri),{responseType:"arraybuffer"}).then(function(c){return c.body})}return this.cache.set(r,a),a},n.prototype.loadBufferView=function(t){var e="bufferView:"+t,r=this.cache.get(e);if(r)return r;for(var i=null,a=0,o=ct(this.extensions);a<o.length;a++){var s=o[a];if(i=s.loadBufferView(t,this),i)break}if(!i){var u=this.json.bufferViews[t];i=this.loadBuffer(u.buffer).then(function(l){var c=u.byteLength||0,f=u.byteOffset||0;return l.slice(f,f+c)})}return this.cache.set(e,i),i},n.prototype.loadAccessor=function(t){var e=this,r="accessor:"+t,i=this.cache.get(r);if(i)return i;var a=null;if(!a){var o=this.json.accessors[t];if(o.bufferView===void 0&&o.sparse===void 0)a=Promise.resolve(null);else{var s=[];o.bufferView!==void 0?s.push(this.loadBufferView(o.bufferView)):s.push(Promise.resolve(null)),o.sparse!==void 0&&(s.push(this.loadBufferView(o.sparse.indices.bufferView)),s.push(this.loadBufferView(o.sparse.values.bufferView))),a=Promise.all(s).then(function(u){var l=u[0],c=Xo[o.type],f=Mn[o.componentType],h=f.BYTES_PER_ELEMENT,m=h*c,A=o.byteOffset||0,p=o.bufferView!==void 0?e.json.bufferViews[o.bufferView].byteStride:void 0,g=o.normalized===!0,v,y;if(p&&p!==m){var b=Math.floor(A/p),w="InterleavedBuffer:"+o.bufferView+":"+o.componentType+":"+b+":"+o.count,E=e.cache.get(w);E||(v=new f(l,b*p,o.count*p/h),E=new d.InterleavedBuffer(v,p/h),e.cache.set(w,E)),y=new d.InterleavedBufferAttribute(E,c,A%p/h,g)}else l===null?v=new f(o.count*c):v=new f(l,A,o.count*c),y=new d.BufferAttribute(v,c,g);if(o.sparse!==void 0){var x=Xo.SCALAR,C=Mn[o.sparse.indices.componentType],M=o.sparse.indices.byteOffset||0,I=o.sparse.values.byteOffset||0,T=new C(u[1],M,o.sparse.count*x),P=new f(u[2],I,o.sparse.count*c);l!==null&&(y=new d.BufferAttribute(y.array.slice(),y.itemSize,y.normalized));for(var R=0,L=T.length;R<L;R++){var F=T[R];if(y.setX(F,P[R*c]),c>=2&&y.setY(F,P[R*c+1]),c>=3&&y.setZ(F,P[R*c+2]),c>=4&&y.setW(F,P[R*c+3]),c>=5)throw new Error("THREE.GLTFLoader: Unsupported itemSize in sparse BufferAttribute.")}}return y})}}return this.cache.set(r,a),a},n.prototype.createPrimitiveKey=function(t){for(var e=0,r=ct(this.extensions);e<r.length;e++){var i=r[e],a=i.createPrimitiveKey(t,this);if(a)return a}for(var o="",s=Object.keys(t.attributes).sort(),u=0,l=s.length;u<l;u++)o+=s[u]+":"+t.attributes[s[u]]+";";return t.indices+":"+o+":"+t.mode},n.prototype.loadGeometry=function(t){for(var e=this,r=null,i=0,a=ct(this.extensions);i<a.length;i++){var o=a[i];if(r=o.loadGeometry(t,this),r)break}return r||(r=this.addGeometryPrimitiveAttributes(new d.BufferGeometry,t)),r=r.then(function(s){return e.disposeSet.add(s),s}),r},n.prototype.loadImage=function(t){for(var e=this,r=null,i=0,a=ct(this.extensions);i<a.length;i++){var o=a[i];if(r=o.loadImage(t,this),r)break}if(!r){var s=this.json.images[t];if(s.bufferView!==void 0){var u=this.json.bufferViews[s.bufferView];r=this.loadBuffer(u.buffer).then(function(c){var f=u.byteOffset||0,h=u.byteLength||0,m=new Uint8Array(c,f,h),A=new Blob([m],{type:s.mimeType});return xa(A)})}else if(s.uri){var l=this.resolveResouce(s.uri);r=this.options.fetcher.loadImage(l,{},void 0,void 0,void 0,mi()).then(function(c){return c.body})}else throw new Error("glTF: Invalid image defs.")}return r=r.then(function(c){return e.disposeSet.add(c),c}),r},n.prototype.loadMaterialAsMeshStandardMaterial=function(t){var e=this,r=[],i=new d.MeshStandardMaterial;if(i.color=new d.Color(1,1,1),i.opacity=1,Object.keys(t.attributes).filter(function(c){return kt[c]==="color"}).length>0&&(i.vertexColors=!0),Object.keys(t.attributes).filter(function(c){return kt[c]==="normal"}).length===0&&(i.flatShading=!0),Object.keys(t.attributes).filter(function(c){return kt[c]==="tangent"}).length===0&&(i.normalScale&&(i.normalScale.y*=-1),i.clearcoatNormalScale&&(i.clearcoatNormalScale.y*=-1)),t.material!==void 0){var a=this.json.materials[t.material];a.name&&(i.name=a.name);var o=a.pbrMetallicRoughness||{};if(Array.isArray(o.baseColorFactor)){var s=o.baseColorFactor;i.color.fromArray(s),i.opacity=s[3]}o.baseColorTexture!==void 0&&r.push(this.createMaterialTexture(o.baseColorTexture).then(function(c){c.encoding=d.sRGBEncoding,i.map=c,e.disposeSet.add(c)})),i.metalness=o.metallicFactor!==void 0?o.metallicFactor:1,i.roughness=o.roughnessFactor!==void 0?o.roughnessFactor:1,o.metallicRoughnessTexture!==void 0&&r.push(this.createMaterialTexture(o.metallicRoughnessTexture).then(function(c){c.encoding=d.sRGBEncoding,i.metalnessMap=c,i.roughnessMap=c,e.disposeSet.add(c)})),a.doubleSided===!0&&(i.side=d.DoubleSide);var u=a.alphaMode||Ar.OPAQUE;if(u===Ar.BLEND?(i.transparent=!0,i.depthWrite=!1):(i.transparent=!1,u===Ar.MASK&&(i.alphaTest=a.alphaCutoff!==void 0?a.alphaCutoff:.5)),a.normalTexture!==void 0&&(r.push(this.createMaterialTexture(a.normalTexture).then(function(c){i.normalMap=c,e.disposeSet.add(c)})),i.normalScale=new d.Vector2(1,1),a.normalTexture.scale!==void 0)){var l=a.normalTexture.scale;i.normalScale.set(l,l)}a.occlusionTexture!==void 0&&(r.push(this.createMaterialTexture(a.occlusionTexture).then(function(c){i.aoMap=c,e.disposeSet.add(c)})),a.occlusionTexture.strength!==void 0&&(i.aoMapIntensity=a.occlusionTexture.strength)),a.emissiveFactor!==void 0&&(i.emissive=new d.Color().fromArray(a.emissiveFactor)),a.emissiveTexture!==void 0&&r.push(this.createMaterialTexture(a.emissiveTexture).then(function(c){i.emissiveMap=c,e.disposeSet.add(c)}))}return this.disposeSet.add(i),Promise.all(r).then(function(){return i})},n.prototype.loadMaterialAsLineBasicMaterial=function(t){var e=[],r=new d.LineBasicMaterial;if(r.color=new d.Color(1,1,1),r.opacity=1,Object.keys(t.attributes).filter(function(u){return kt[u]==="color"}).length>0&&(r.vertexColors=!0),Object.keys(t.attributes).filter(function(u){return kt[u]==="tangent"}).length===0&&(r.normalScale&&(r.normalScale.y*=-1),r.clearcoatNormalScale&&(r.clearcoatNormalScale.y*=-1)),t.material!==void 0){var i=this.json.materials[t.material];i.name&&(r.name=i.name);var a=i.pbrMetallicRoughness||{};if(Array.isArray(a.baseColorFactor)){var o=a.baseColorFactor;r.color.fromArray(o),r.opacity=o[3]}i.doubleSided===!0&&(r.side=d.DoubleSide);var s=i.alphaMode||Ar.OPAQUE;s===Ar.BLEND?(r.transparent=!0,r.depthWrite=!1):(r.transparent=!1,s===Ar.MASK&&(r.alphaTest=i.alphaCutoff!==void 0?i.alphaCutoff:.5))}return this.disposeSet.add(r),Promise.all(e).then(function(){return r})},n.prototype.loadMaterialAsPointsMaterial=function(t){var e=this,r=[],i=new d.PointsMaterial;if(i.color=new d.Color(1,1,1),i.opacity=1,i.sizeAttenuation=!1,Object.keys(t.attributes).filter(function(l){return kt[l]==="color"}).length>0&&(i.vertexColors=!0),Object.keys(t.attributes).filter(function(l){return kt[l]==="tangent"}).length===0&&(i.normalScale&&(i.normalScale.y*=-1),i.clearcoatNormalScale&&(i.clearcoatNormalScale.y*=-1)),t.material!==void 0){var a=this.json.materials[t.material];a.name&&(i.name=a.name);var o=a.pbrMetallicRoughness||{};if(Array.isArray(o.baseColorFactor)){var s=o.baseColorFactor;i.color.fromArray(s),i.opacity=s[3]}o.baseColorTexture!==void 0&&r.push(this.createMaterialTexture(o.baseColorTexture).then(function(l){l.encoding=d.sRGBEncoding,i.map=l,e.disposeSet.add(l)})),a.doubleSided===!0&&(i.side=d.DoubleSide);var u=a.alphaMode||Ar.OPAQUE;u===Ar.BLEND?(i.transparent=!0,i.depthWrite=!1):(i.transparent=!1,u===Ar.MASK&&(i.alphaTest=a.alphaCutoff!==void 0?a.alphaCutoff:.5))}return this.disposeSet.add(i),Promise.all(r).then(function(){return i})},n.prototype.loadMaterial=function(t){var e,r=(e=t.mode)!==null&&e!==void 0?e:Ve.TRIANGLES,i="material:"+this.createPrimitiveKey(t),a=this.cache.get(i);if(a)return a;for(var o=null,s=0,u=ct(this.extensions);s<u.length;s++){var l=u[s];if(o=l.loadMaterial(t,this),o)break}if(r===Ve.TRIANGLES||r===Ve.TRIANGLE_STRIP||r===Ve.TRIANGLE_FAN)o=this.loadMaterialAsMeshStandardMaterial(t);else if(r===Ve.LINES||r===Ve.LINE_STRIP||r===Ve.LINE_LOOP)o=this.loadMaterialAsLineBasicMaterial(t);else if(r===Ve.POINTS)o=this.loadMaterialAsPointsMaterial(t);else throw new Error("glTF: Primitive mode unsupported: "+r);return this.cache.set(i,o),o},n.prototype.loadTexture=function(t){var e=this,r="texture:"+t,i=this.cache.get(r);if(i)return i;for(var a=null,o=0,s=ct(this.extensions);o<s.length;o++){var u=s[o];if(a=u.loadTexture(t,this),a)break}if(!a){var l=this.json.textures[t];a=this.loadImage(l.source).then(function(c){var f=new d.Texture(c);f.needsUpdate=!0,f.flipY=!1,l.name&&(f.name=l.name);var h=e.json.samplers||{},m=h[l.sampler]||{};return f.magFilter=yi[m.magFilter]||d.LinearFilter,f.minFilter=yi[m.minFilter]||d.LinearMipmapLinearFilter,f.wrapS=bi[m.wrapS]||d.RepeatWrapping,f.wrapT=bi[m.wrapT]||d.RepeatWrapping,f.onUpdate=function(){c.close()},f})}return a=a.then(function(c){return e.disposeSet.add(c),c}),this.cache.set(r,a),a},n.prototype.loadMesh=function(t){for(var e=this,r=null,i=0,a=ct(this.extensions);i<a.length;i++){var o=a[i];if(r=o.loadMesh(t,this),r)break}if(!r){var s=this.json.meshes[t],u=s.primitives,l=Promise.all(u.map(function(f){return e.loadGeometry(f)})),c=Promise.all(u.map(function(f){return e.loadMaterial(f)}));r=Promise.all([l,c]).then(function(f){for(var h=f[0],m=f[1],A=[],p=0;p<u.length;p++){var g=u[p],v=h[p],y=m[p],b=g.mode||Ve.TRIANGLES,w=void 0;if(b===Ve.TRIANGLES||b===Ve.TRIANGLE_STRIP||b===Ve.TRIANGLE_FAN)if(b===Ve.TRIANGLE_STRIP?v=e.toGeometryTrianglesDrawMode(v,d.TriangleStripDrawMode):b===Ve.TRIANGLE_FAN&&(v=e.toGeometryTrianglesDrawMode(v,d.TriangleFanDrawMode)),e.disposeSet.add(v),s.isSkinnedMesh){var E=new d.SkinnedMesh(v,y);v.attributes.skinWeight.normalized||E.normalizeSkinWeights(),w=E}else w=new d.Mesh(v,y);else if(b===Ve.POINTS)w=new d.Points(v,y);else if(b===Ve.LINES)w=new d.LineSegments(v,y);else if(b===Ve.LINE_STRIP)w=new d.Line(v,y);else if(b===Ve.LINE_LOOP)w=new d.LineLoop(v,y);else throw new Error("glTF: Primitive mode unsupported: "+b);if(Object.keys(v.morphAttributes).length>0){if(s.weights!==void 0)for(var x=0,C=s.weights.length;x<C;x++)w.morphTargetInfluences[x]=s.weights[x];if(s.extras&&Array.isArray(s.extras.targetNames)){var M=s.extras.targetNames;if(w.morphTargetInfluences.length===M.length){w.morphTargetDictionary={};for(var x=0,C=M.length;x<C;x++)w.morphTargetDictionary[M[x]]=x}else console.warn("glTF: Invalid extras.targetNames length. Ignoring names.")}}w.name=e.createUniqueName(s.name||"mesh_"+t),A.push(w)}if(A.length===1)return A[0];for(var I=new d.Group,T=0,P=A;T<P.length;T++){var w=P[T];I.add(w)}return I})}return r},n.prototype.loadNodeAttachments=function(t){for(var e=[],r=0,i=ct(this.extensions);r<i.length;r++){var a=i[r],o=a.loadNodeAttachments(t,this);o&&e.push(o)}return e},n.prototype.loadNode=function(t){var e="node:"+t,r=this.cache.get(e);if(r)return r;var i=this.json,a=i.nodes[t],o=a.name?this.createUniqueName(a.name):"",s=[];a.mesh!==void 0&&s.push(this.loadMesh(a.mesh).then(function(h){if(a.weights!==void 0){var m=a.weights;h.traverse(function(A){if(A instanceof d.Mesh||A instanceof d.Line||A instanceof d.Points)for(var p=0,g=m.length;p<g;p++)A.morphTargetInfluences[p]=m[p]})}return h})),a.camera!==void 0&&s.push(this.loadCamera(a.camera));for(var u=this.loadNodeAttachments(t),l=0,c=u;l<c.length;l++){var f=c[l];s.push(f)}return Promise.all(s).then(function(h){var m;if(a.isBone===!0?m=new d.Bone:h.length>1?m=new d.Group:h.length===1?m=h[0]:m=new d.Object3D,m!==h[0])for(var A=0,p=h.length;A<p;A++)m.add(h[A]);if(a.name&&(m.name=o),a.matrix!==void 0){var g=new d.Matrix4;g.fromArray(a.matrix),m.applyMatrix4(g)}else a.translation!==void 0&&m.position.fromArray(a.translation),a.rotation!==void 0&&m.quaternion.fromArray(a.rotation),a.scale!==void 0&&m.scale.fromArray(a.scale);return m})},n.prototype.loadScene=function(t){var e=this.json,r=e.scenes[t],i=new d.Group;r.name&&(i.name=this.createUniqueName(r.name));for(var a=r.nodes||[],o=[],s=0,u=a.length;s<u;s++)o.push(this.buildNodeHierarchy(a[s],i));return Promise.all(o).then(function(){return i})},n.prototype.createMaterialTexture=function(t){var e=this;return this.loadTexture(t.index).then(function(r){for(var i=0,a=ct(e.extensions);i<a.length;i++){var o=a[i],s=o.extendTexture(r,t,e);s&&(r=s,e.disposeSet.add(r))}return r})},n.prototype.addGeometryPrimitiveAttributes=function(t,e){var r=this,i=e.attributes,a=[],o=function(E){var x=kt[E]||E.toLowerCase();if(x in t.attributes)return"continue";a.push(s.loadAccessor(i[E]).then(function(C){C&&t.setAttribute(x,C)}))},s=this;for(var u in i)o(u);e.indices!==void 0&&!t.index&&a.push(this.loadAccessor(e.indices).then(function(E){E&&t.setIndex(E)}));var l=new d.Box3;if(i.POSITION!==void 0){var c=this.json.accessors[i.POSITION],f=c.min,h=c.max;if(f!==void 0&&h!==void 0){if(l.set(new d.Vector3(f[0],f[1],f[2]),new d.Vector3(h[0],h[1],h[2])),c.normalized){var m=Yi(Mn[c.componentType]);l.min.multiplyScalar(m),l.max.multiplyScalar(m)}}else console.warn("glTF: Missing min/max properties for accessor POSITION.")}var A=e.targets;if(A!==void 0){for(var p=new d.Vector3,g=new d.Vector3,v=0,y=A.length;v<y;v++){var b=A[v];if(b.POSITION!==void 0){var c=this.json.accessors[b.POSITION],f=c.min,h=c.max;if(f!==void 0&&h!==void 0){if(g.setX(Math.max(Math.abs(f[0]),Math.abs(h[0]))),g.setY(Math.max(Math.abs(f[1]),Math.abs(h[1]))),g.setZ(Math.max(Math.abs(f[2]),Math.abs(h[2]))),c.normalized){var m=Yi(Mn[c.componentType]);g.multiplyScalar(m)}p.max(g)}else console.warn("glTF: Missing min/max properties for accessor POSITION.")}}l.expandByVector(p)}t.boundingBox=l;var w=new d.Sphere;return l.getCenter(w.center),w.radius=l.min.distanceTo(l.max)/2,t.boundingSphere=w,Promise.all(a).then(function(){if(t.attributes.uv&&!t.attributes.uv2&&r.options.copyUV2&&t.setAttribute("uv2",t.attributes.uv),e.targets){for(var E=!1,x=!1,C=0,M=e.targets.length;C<M;C++){var I=e.targets[C];if(I.POSITION!==void 0&&(E=!0),I.NORMAL!==void 0&&(x=!0),E&&x)break}if(!E&&!x)return t;var T=[];t.morphTargetsRelative=!0;for(var P=function(R,L){var F=e.targets[R];E?T.push(r.loadAccessor(F.POSITION).then(function(O){O&&(t.morphAttributes.position[R]=O)})):t.morphAttributes.position[R]=t.attributes.position,x?T.push(r.loadAccessor(F.NORMAL).then(function(O){O&&(t.morphAttributes.normal[R]=O)})):t.morphAttributes.normal[R]=t.attributes.normal},C=0,M=e.targets.length;C<M;C++)P(C,M);return Promise.all(T).then(function(){return t})}else return t})},n.prototype.buildNodeHierarchy=function(t,e){var r=this,i=this.json.nodes[t];return this.loadNode(t).then(function(a){if(i.skin===void 0)return a;var o;return r.loadSkin(i.skin).then(function(s){o=s;for(var u=[],l=0,c=o.joints.length;l<c;l++)u.push(r.loadNode(o.joints[l]));return Promise.all(u)}).then(function(s){return a.traverse(function(u){if(u instanceof d.SkinnedMesh){for(var l=[],c=[],f=0,h=s.length;f<h;f++){var m=s[f];if(m instanceof d.Bone){l.push(m);var A=new d.Matrix4;o.inverseBindMatrices!==void 0&&A.fromArray(o.inverseBindMatrices.array,f*16),c.push(A)}else console.warn('glTF: Joint "%s" could not be found.',o.joints[f])}u.bind(new d.Skeleton(l,c),u.matrixWorld)}}),a})}).then(function(a){e.add(a);var o=[];if(i.children)for(var s=i.children,u=0,l=s.length;u<l;u++){var c=s[u];o.push(r.buildNodeHierarchy(c,a))}return Promise.all(o).then(function(){return a})})},n.prototype.createUniqueName=function(t){for(var e=d.PropertyBinding.sanitizeNodeName(t||""),r=e,i=1;this.nodeNamesUsed[r];++i)r=e+"_"+i;return this.nodeNamesUsed[r]=!0,r},n.prototype.resolveResouce=function(t){return bt(this.options.resourcePath,S0(t,this.options.search))},n.prototype.toGeometryTrianglesDrawMode=function(t,e){var r=t.getIndex();if(r===null){var i=[],a=t.getAttribute("position");if(a!==void 0){for(var o=0;o<a.count;o++)i.push(o);t.setIndex(i),r=t.getIndex()}}if(r===null)return console.error("glTF: Undefined position attribute. Processing not possible."),t;var s=r.count-2,u=[];if(e===d.TriangleFanDrawMode)for(var o=1;o<=s;o++)u.push(r.getX(0)),u.push(r.getX(o)),u.push(r.getX(o+1));else for(var o=0;o<s;o++)o%2===0?(u.push(r.getX(o)),u.push(r.getX(o+1)),u.push(r.getX(o+2))):(u.push(r.getX(o+2)),u.push(r.getX(o+1)),u.push(r.getX(o)));u.length/3!==s&&console.error("glTF: Unable to generate correct amount of triangles.");var l=t.clone();return l.setIndex(u),this.disposeSet.add(l),l},n}();function Yi(n){switch(n){case Int8Array:return 1/127;case Uint8Array:return 1/255;case Int16Array:return 1/32767;case Uint16Array:return 1/65535;default:throw new Error("glTF: Unsupported normalized accessor component type.")}}var ur=function(){function n(){}return n.prototype.markDefs=function(t){},n.prototype.prepare=function(t){},n.prototype.emitResult=function(t,e){},n.prototype.createPrimitiveKey=function(t,e){},n.prototype.extendTexture=function(t,e,r){return null},n.prototype.loadBuffer=function(t,e){return null},n.prototype.loadBufferView=function(t,e){return null},n.prototype.loadImage=function(t,e){return null},n.prototype.loadTexture=function(t,e){return null},n.prototype.loadGeometry=function(t,e){return null},n.prototype.loadMaterial=function(t,e){return null},n.prototype.loadMesh=function(t,e){return null},n.prototype.loadNodeAttachments=function(t,e){return null},n.prototype.loadCamera=function(t,e){return null},n.prototype.loadAnimation=function(t,e){return null},n}(),vd=function(n){pe(t,n);function t(){var e=n.call(this)||this;return e.header={magic:"",version:0,length:0},e.content="",e.body=null,e}return t.getMagic=function(e){return Ia(new Uint8Array(e.slice(0,4)))},t.prototype.loadGlbBinary=function(e){var r=new DataView(e,0,t.HEADER_LENGTH);if(this.header={magic:t.getMagic(e),version:r.getUint32(4,!0),length:r.getUint32(8,!0)},this.header.magic!==t.HEADER_MAGIC)throw new Error("glTF:KHR_binary_glTF: Unsupported.");if(this.header.version<2)throw new Error("glTF:KHR_binary_glTF: Legacy binary file detected.");for(var i=new DataView(e,t.HEADER_LENGTH),a=0,o=null,s=null;a<i.byteLength;){var u=i.getUint32(a,!0);if(a+=4,u!==0){var l=i.getUint32(a,!0);if(a+=4,l===t.CHUNK_TYPES.JSON){var c=new Uint8Array(e,t.HEADER_LENGTH+a,u);o=Ia(c)}else if(l===t.CHUNK_TYPES.BIN){var f=t.HEADER_LENGTH+a;s=e.slice(f,f+u)}a+=u}}if(o===null)throw new Error("glTF:KHR_binary_glTF: JSON content not found.");this.content=o,this.body=s},t.prototype.loadBuffer=function(e,r){var i=r.json.buffers[e];return i.uri===void 0&&e===0&&this.body?Promise.resolve(this.body):null},t.prototype.clear=function(){this.body=null,this.content=""},t.HEADER_MAGIC="glTF",t.HEADER_LENGTH=12,t.CHUNK_TYPES={JSON:1313821514,BIN:5130562},t}(ur),Ad="https://vr-public.realsee-cdn.cn/release/static/image/release/five/resource/draco/1.5.6/",_o={position:"POSITION",normal:"NORMAL",color:"COLOR",uv:"TEX_COORD"},Zo={position:"Float32Array",normal:"Float32Array",color:"Float32Array",uv:"Float32Array"},md=function(){function n(){this.decoderPath=Ad,this.decoderConfig={},this.decoderPending=null,this.workerLimit=4,this.workerPool=[],this.workerNextTaskID=1,this.workerSourceURL=""}return n.prototype.setDecoderPath=function(t){this.decoderPath=t},n.prototype.setDecoderConfig=function(t){return this.decoderConfig=t,this},n.prototype.setWorkerLimit=function(t){return this.workerLimit=t,this},n.prototype.decodeDracoFile=function(t,e,r,i){var a={attributeIDs:r||_o,attributeTypes:i||Zo,useUniqueIDs:!!r};this.decodeGeometry(t,a).then(e)},n.prototype.decodeGeometry=function(t,e){var r=this;e===void 0&&(e={attributeIDs:_o,attributeTypes:Zo,useUniqueIDs:!1});for(var i in e.attributeTypes){var a=e.attributeTypes[i];a.BYTES_PER_ELEMENT!==void 0&&(e.attributeTypes[i]=a.name)}var o,s=this.workerNextTaskID++,u=t.byteLength,l=this._getWorker(s,u).then(function(c){return o=c,new Promise(function(f,h){o._callbacks[s]={resolve:f,reject:h},o.postMessage({type:"decode",id:s,taskConfig:e,buffer:t},[t])})}).then(function(c){return r._createGeometry(c.geometry)});return l.catch(function(){return!0}).then(function(){o&&s&&r._releaseTask(o,s)}),l},n.prototype._createGeometry=function(t){var e=new d.BufferGeometry;t.index&&e.setIndex(new d.BufferAttribute(t.index.array,1));for(var r=0;r<t.attributes.length;r++){var i=t.attributes[r],a=i.name,o=i.array,s=i.itemSize;e.setAttribute(a,new d.BufferAttribute(o,s))}return e},n.prototype._initDecoder=function(){var t=this;if(this.decoderPending)return this.decoderPending;var e=typeof WebAssembly!="object"||this.decoderConfig.type==="js";if(e){var r=hn(this.decoderPath+"draco_decoder.js",{responseType:"text"}).then(function(a){return a.body});this.decoderPending=r.then(function(a){var o=["/* draco decoder */",a,"","/* worker */",Yo].join(`
417
+ `,d0=[];function gc(){var n=d0.pop();return n||new d.ShaderMaterial({uniforms:{map:{value:null},flipY:{value:0}},vertexShader:Ac,fragmentShader:mc,depthTest:!1,depthWrite:!1,stencilWrite:!1,blending:d.NoBlending,lights:!1,toneMapped:!1,fog:!1})}function yc(n){n.uniforms.map.value=null,d0.push(n)}function bc(n,t,e){var r=new d.Scene;r.matrixAutoUpdate=!1;var i=new d.Group;i.scale.set(1,1,-1),r.add(i);for(var a=[],o=0,s=n;o<s.length;o++){var u=s[o],l=gc();a.push(l),l.uniforms.map.value=u.texture,l.uniforms.flipY.value=u.flipY?1:0;var c=new d.Group,f=new d.Mesh(vc,l);f.position.set(u.position.x+u.size.x/2-.5,1-(u.position.y+u.size.y/2)-.5,-.5),f.scale.set(u.size.x,u.size.y,1),c.quaternion.copy(pc[u.face]),c.add(f),i.add(c)}var h=e.autoClear;e.autoClear=!1;var m=new d.CubeCamera(.1,2,t);m.matrixAutoUpdate=!1,m.update(e,r),e.autoClear=h;for(var A=0,p=a;A<p.length;A++){var l=p[A];yc(l)}}var wc=function(){return!1}();function mi(){var n=Object.assign(document.createElementNS("http://www.w3.org/1999/xhtml","img"),{crossOrigin:"",close:function(){n.onerror=n.onload=n.close=Q,n.decoding="async";var t=n.src;n.removeAttribute("src"),/^blob\:/.test(t)&&URL.revokeObjectURL(t)}});return n}function xa(n){return new Promise(function(t,e){var r=mi();r.onload=function(){/^blob\:/.test(r.src)&&URL.revokeObjectURL(r.src),r.onload=r.onerror=Q,setTimeout(function(){t(r)},10)},r.onerror=function(){var i=r.src;r.onload=r.onerror=Q,r.close(),e(new Error("image load error: ".concat(i)))},r.src=URL.createObjectURL(n)})}var Po=[];function Ec(n,t){var e=Po.shift();if(e)return e.width=n,e.height=t,e;var r=Object.assign(document.createElementNS("http://www.w3.org/1999/xhtml","canvas"),{close:function(){r.close=Q,Po.push(r)}});return r}function Bo(n,t){if(t&&(n.width>t.width||n.height>t.height)){var e=Ec(Math.min(n.width,t.width),Math.min(n.height,t.height)),r=e.getContext("2d");r.clearRect(0,0,e.width,e.height),r.drawImage(n,0,0,e.width,e.height),n.close();var i=new d.Texture(e);i.needsUpdate=!0,i.flipY=!0;var a=i.dispose;return i.dispose=function(){e.close(),a.call(i),i.dispose=a},i}else{var o=new d.Texture(n);o.needsUpdate=!0,typeof ImageBitmap!="undefined"&&n instanceof ImageBitmap?o.flipY=!1:o.flipY=!0;var s=o.dispose;return o.dispose=function(){n.close(),s.call(o),o.dispose=s},o}}function xc(n){var t=new d.CubeTexture(n);t.needsUpdate=!0,t.flipY=!1;var e=t.dispose;return t.dispose=function(){for(var r=0,i=n;r<i.length;r++){var a=i[r];a.close()}e.call(t),t.dispose=e},t}var jr=["right","left","up","down","front","back"],Mc=3,ze=function(){function n(t,e,r,i,a){this.tileTree=e,this.tileSources=r,this.options=i,this.renderer=a,this.name="",this.needsRender=!1,this.disposed=!1,this.loadedCubeNodes=new Set,this.loadingCubeNodes=new Set,this.baseCubeTexture=null,this._cubeRenderTarget=null,this.textures=[],this.baseCubeTexture=t}return Object.defineProperty(n.prototype,"cubeRenderTarget",{get:function(){return this._cubeRenderTarget},set:function(t){var e,r,i,a,o,s;if(t===null)throw new Error("cannot set cubeRenderTarget to null.");t.width!==this.options.textureSize&&t.setSize(this.options.textureSize,this.options.textureSize),t.texture.format=(e=this.options.format)!==null&&e!==void 0?e:d.RGBAFormat,t.texture.minFilter=(r=this.options.minFilter)!==null&&r!==void 0?r:d.LinearFilter,t.texture.magFilter=(i=this.options.magFilter)!==null&&i!==void 0?i:d.LinearFilter,t.texture.wrapS=(a=this.options.wrapS)!==null&&a!==void 0?a:d.ClampToEdgeWrapping,t.texture.wrapT=(o=this.options.wrapT)!==null&&o!==void 0?o:d.ClampToEdgeWrapping,t.texture.generateMipmaps=(s=this.options.generateMipmaps)!==null&&s!==void 0?s:!0,this.baseCubeTexture&&(Ea(this.baseCubeTexture,t,this.renderer),this.baseCubeTexture.dispose(),this.baseCubeTexture=null),this._cubeRenderTarget&&Ea(this._cubeRenderTarget.texture,t,this.renderer),this._cubeRenderTarget=t},enumerable:!1,configurable:!0}),n.prototype.requestTile=function(t){var e=this,r,i,a,o,s,u,l=this.tileSources.filter(function(p){return p.level===t.level})[0];if(!l){this.loadedCubeNodes.add(t);return}var c=l.size,f=Math.pow(2,t.level)*t.position.y,h=Math.pow(2,t.level)*t.position.x,m="".concat(((a=(i=(r=this.options.imageURL)===null||r===void 0?void 0:r.options)===null||i===void 0?void 0:i.key)!==null&&a!==void 0?a:"pano.0").replace(/^pano/,"pano_tile"),".").concat(t.face,".").concat(t.level,".").concat(f,".").concat(h),A=k(k({},(s=(o=this.options.imageURL)===null||o===void 0?void 0:o.options)!==null&&s!==void 0?s:{key:"unknown"}),{key:m,size:l.scale>=1?void 0:c*t.size*l.scale,quality:void 0,cut:[c*t.position.x,c*t.position.y,c*t.size,c*t.size]});this.loadingCubeNodes.add(t),this.options.textureLoader.loadTexture(l[t.face],{imageURL:{transform:(u=this.options.imageURL)===null||u===void 0?void 0:u.transform,options:k({},A)},format:d.RGBAFormat,timeout:this.options.timeout,magFilter:this.options.magFilter,minFilter:this.options.minFilter,fetcher:this.options.fetcher}).then(function(p){if(e.disposed){p.body.dispose();return}e.textures.push({face:t.face,level:t.level,position:t.position,size:new d.Vector2(t.size,t.size),texture:p.body,flipY:!p.body.flipY}),e.loadedCubeNodes.add(t)}).catch(Q).then(function(){e.disposed||e.loadingCubeNodes.delete(t)})},n.prototype.update=function(t,e){var r=this;if(!this.disposed){var i=[];Ja(this.tileTree,function(h){if(r.loadingCubeNodes.has(h)||h.level>e||!t.intersectsBox(h.box))return!1;if(!r.loadedCubeNodes.has(h))return i.push(h),!1});for(var a=0,o=i;a<o.length;a++){var s=o[a];this.requestTile(s)}if(this.cubeRenderTarget&&this.textures.length){var u=this.textures.splice(0,Mc);bc(u,this.cubeRenderTarget,this.renderer),this.needsRender=!0;for(var l=0,c=u;l<c.length;l++){var f=c[l];f.texture.dispose()}}}},Object.defineProperty(n.prototype,"tilePending",{get:function(){return this.loadingCubeNodes.size},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"texture",{get:function(){if(!this._cubeRenderTarget)throw new Error("cubeRenderTarget never set.");return this._cubeRenderTarget.texture},enumerable:!1,configurable:!0}),n.prototype.dispose=function(){if(!this.disposed){this.disposed=!0,this.baseCubeTexture&&(this.baseCubeTexture.dispose(),this.baseCubeTexture=null),this.loadingCubeNodes.clear(),this.loadedCubeNodes.clear();for(var t=0,e=this.textures;t<e.length;t++){var r=e[t];r.texture.dispose()}this.textures.length=0}},n}(),Hn=function(){function n(){}return n.prototype.loadTexture=function(t,e,r,i,a,o){var s,u,l,c,f,h;r===void 0&&(r=Q),i===void 0&&(i=Q),a===void 0&&(a=Q);var m={};typeof e.flipY!="undefined"&&(m.flipY=e.flipY),typeof e.format!="undefined"&&(m.format=e.format),typeof e.encoding!="undefined"&&(m.encoding=e.encoding),typeof e.generateMipmaps!="undefined"&&(m.generateMipmaps=e.generateMipmaps),m.minFilter=(s=e.minFilter)!==null&&s!==void 0?s:d.LinearFilter,m.magFilter=(u=e.magFilter)!==null&&u!==void 0?u:d.LinearFilter;var A=(c=(l=e.imageURL)===null||l===void 0?void 0:l.options)!==null&&c!==void 0?c:{key:"unknown"};t=Ai(t,(f=e.imageURL)===null||f===void 0?void 0:f.transform,A);var p=So(t),g=(h=e.viaAjax)!==null&&h!==void 0?h:wc,v=Io(t),y=/^https?:/.test(p);if(v?g=!0:y||(g=!1),g){var b=null,w="blob";return e.fetcher.ajax(t,{timeout:e.timeout,responseType:w},void 0,void 0,a).then(function(C){return xa(C.body)}).then(function(C){return Bo(C,e.maxSize)}).then(function(C){return Object.assign(C,m),C}).then(function(C){var M={meta:b,body:C};return r(M),M}).catch(function(C){return i(C),Promise.reject(C)})}else{var E=null,x;return Promise.resolve().then(function(){return mi()}).then(function(C){return x=C,e.fetcher.loadImage(t,{timeout:e.timeout},void 0,void 0,a,C)}).then(function(C){return E=C.meta,Bo(C.body,e.maxSize)}).then(function(C){return Object.assign(C,m),C}).then(function(C){var M={meta:E,body:C};return r(M),M}).catch(function(C){return x&&x.close(),i(C),Promise.reject(C)})}},n.prototype.loadCubeTexture=function(t,e,r,i,a,o){var s,u,l,c,f,h;r===void 0&&(r=Q),i===void 0&&(i=Q),a===void 0&&(a=Q);var m={};typeof e.format!="undefined"&&(m.format=e.format),typeof e.generateMipmaps!="undefined"&&(m.generateMipmaps=e.generateMipmaps),m.minFilter=(s=e.minFilter)!==null&&s!==void 0?s:d.LinearFilter,m.magFilter=(u=e.magFilter)!==null&&u!==void 0?u:d.LinearFilter;for(var A=[t[jr[0]],t[jr[1]],t[jr[2]],t[jr[3]],t[jr[4]],t[jr[5]]],p=[],g=[0,0,0,0,0,0],v=[],y=function(w){var E=(c=(l=e.imageURL)===null||l===void 0?void 0:l.options)!==null&&c!==void 0?c:{key:"unknown"},x=Ai(A[w],(f=e.imageURL)===null||f===void 0?void 0:f.transform,k(k({},E),{key:E.key+"."+jr[w]})),C=So(x),M=function(O){g[w]=O,a(g.reduce(function(z,N){return z+N},0)/6)},I=(h=e.viaAjax)!==null&&h!==void 0?h:!1,T=/^https?:$/.test(C),P=Io(x);if(P?I=!0:T||(I=!1),I){var R="blob",L=e.fetcher.ajax(x,{timeout:e.timeout,responseType:R},void 0,void 0,M).then(function(O){return v[w]=O.meta,xa(O.body)});p.push(L)}else{var F,L=Promise.resolve().then(function(){return mi()}).then(function(z){return F=z,e.fetcher.loadImage(x,{timeout:e.timeout},void 0,void 0,M,z)}).then(function(z){return v[w]=z.meta,z.body}).catch(function(z){return F&&F.close(),Promise.reject(z)});p.push(L)}},b=0;b<6;b++)y(b);return Promise.all(p).then(function(w){return xc(w)}).then(function(w){return Object.assign(w,k({encoding:d.sRGBEncoding},m)),w}).then(function(w){var E={body:w,meta:v};return r(E),E}).catch(function(w){for(var E=0,x=p;E<x.length;E++){var C=x[E];C.then(function(M){return M.close()}).catch(Q)}return i(w),Promise.reject(w)})},n.prototype.loadTiledCubeTexture=function(t,e,r,i,a,o,s){var u=this;return i===void 0&&(i=Q),a===void 0&&(a=Q),o===void 0&&(o=Q),new Promise(function(l,c){var f,h;u.loadCubeTexture(t,{imageURL:{transform:(f=r.imageURL)===null||f===void 0?void 0:f.transform,options:(h=r.imageURL)===null||h===void 0?void 0:h.options},format:d.RGBAFormat,viaAjax:r.viaAjax,timeout:r.timeout,fetcher:r.fetcher,magFilter:r.magFilter,minFilter:r.minFilter,generateMipmaps:r.generateMipmaps},function(m){var A,p=m.meta,g=m.body,v=(A=r.tileMaxLevel)!==null&&A!==void 0?A:2,y=Math.max(1024*v,512),b=ba(v),w=new ze(g,b,e,{textureSize:y,textureLoader:u,imageURL:r.imageURL,magFilter:r.magFilter,minFilter:r.minFilter,generateMipmaps:r.generateMipmaps,timeout:r.timeout,fetcher:r.fetcher},s),E={meta:p,body:w};i(E),l(E)},function(m){a(m),c(m)},o,s).catch(Q)})},n}();const Cc=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var r=113,i=126,a=0,o="";return t[a].split(o).map(function(s){return s.charCodeAt(a)>i?s:String.fromCharCode((s.charCodeAt(a)+r)%i)}).join(o)}("n\bv{t-rpA-d|yq]|vv|{Hn\bv{t-rp@-PnzrnQvrpv|{H0v{pyqr-Ip|zz|{K0v{pyqr-Iz|}untrl}nlrr\x07K0v{pyqr-Ixv{{v{tl}nlrr\x07K0v{pyqr-Iy|tqr}uosl}nlrr\x07K0v{pyqr-Ipyv}}v{tl}yn{rl}nlrr\x07K|vq-znv{56-\n--0v{pyqr-Ixv{onrlrr\x07K--0v{pyqr-Iortv{lrr\x07K--0v{pyqr-Iz|}untrlrr\x07K--0v{pyqr-Ixv{{v{tlrr\x07K--0v{pyqr-I}|wrplrr\x07K--0v{pyqr-Iy|tqr}uoslrr\x07K--0v{pyqr-Ipyv}}v{tl}yn{rlrr\x07K--d|yq]|vv|{-J-rpA5n{s|zrq9->;=6H--0vsqrs-b`RlV[`aN[PV[T----d|yq]|vv|{-J-v{n{prZnv\x07-7-d|yq]|vv|{H--0r{qvs--d|yq]|vv|{-J-z|qryZnv\x07-7-d|yq]|vv|{H--zn@-pnzrn_|nv|{Znv\x07-J-zn@5vrZnv\x07h=jh=j9-vrZnv\x07h>jh=j9-vrZnv\x07h?jh=j9-vrZnv\x07h=jh>j9-vrZnv\x07h>jh>j9-vrZnv\x07h?jh>j9-vrZnv\x07h=jh?j9-vrZnv\x07h>jh?j9-vrZnv\x07h?jh?j6H--PnzrnQvrpv|{-J-{|znyv r5pnzrn_|nv|{Znv\x07-7-rp@5=;=9-=;=9-:>;=66H--0v{pyqr-I|yq}|lrr\x07K--0v{pyqr-Is|tlrr\x07K\f"),Ic=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var r=113,i=126,a=0,o="";return t[a].split(o).map(function(s){return s.charCodeAt(a)>i?s:String.fromCharCode((s.charCodeAt(a)+r)%i)}).join(o)}("0qrsv{r-OYNPXlP\\Y\\_-rpA5=;=EC9-=;>=C9-=;>AF9->;=60qrsv{r-aNb-C;?E@>EB?{vs|z-nz}yrPor-}n{|=lzn}H{vs|z-znA-}n{|=lznv\x07H{vs|z-sy|n-}n{|=l ||zH0vs-qrsv{rq5b`RlYbZV[N[PR6--{vs|z-nz}yrPor-}n{|=lyzv{n{prZn}H0r{qvs{vs|z-nz}yrPor-}n{|>lzn}H{vs|z-znA-}n{|>lznv\x07H{vs|z-sy|n-}n{|>l ||zH0vs-qrsv{rq5b`RlYbZV[N[PR6--{vs|z-nz}yrPor-}n{|>lyzv{n{prZn}H0r{qvs{vs|z-sy|n-z|qryNy}unH{vs|z-sy|n-}|trH0vs-qrsv{rq5b`RlP\\[`aN[alP\\Y\\_6--{vs|z-rp@-p|{n{P|y|H0r{qvsn\bv{t-rpA-d|yq]|vv|{Hn\bv{t-rp@-PnzrnQvrpv|{H{vs|z-sy|n-u|{Sy||V{qr\x07H{vs|z-rp?-r|yv|{H{vs|z-sy|n-}v\x07ry_nv|H{vs|z-sy|n-|}npv\bH{vs|z-sy|n-ovtu{rH0vs{qrs-SYNal`UNQRQ--n\bv{t-rp@-[|znyH0r{qvs0v{pyqr-Ip|zz|{K0v{pyqr-Iqvurv{tl}nlsntzr{K0v{pyqr-Is|tl}nlsntzr{K0v{pyqr-I}rpynzn}l}nlsntzr{K0v{pyqr-Iy|tqr}uosl}nlsntzr{K0v{pyqr-Ipyv}}v{tl}yn{rl}nlsntzr{Krp@- ||zcrp|5rp@-qvrpv|{9-rp@-rp|9-sy|n- ||z6-\n--sy|n-urn-J-q|5qvrpv|{9-rp|6H--rp@-q-J-qvrpv|{-7-urnH--rp@-}-J-rp|-:-qH--rp@-\0-J-}-7- ||zH--r{-{|znyv r5q-8-\x006H\f|vq-znv{56-\n--0v{pyqr-Ipyv}}v{tl}yn{rlsntzr{K--tylSntP|y|-J-rpA5>;=9->;=9->;=9-|}npv\b6H--<<-JJJ-纯色-JJJ--0vs-qrsv{rq5b`RlP\\[`aN[alP\\Y\\_6----tylSntP|y|-J-rpA5p|{n{P|y|;9-p|{n{P|y|;t9-p|{n{P|y|;o9-|}npv\b6H--0r{qvs--<<-JJJJJJJJJJJ--<<-JJJ-全景图-JJJ--rp@-}n{|=a|crr\x07-J-{|znyv r5d|yq]|vv|{;\x07\b -:-}n{|=lznv\x07h@j;\x07\b 6H--}n{|=a|crr\x07-J- ||zcrp|5PnzrnQvrpv|{9-}n{|=a|crr\x079-}n{|=l ||z6H--}n{|=a|crr\x07-J-}n{|=a|crr\x07-7-zn@5}n{|=lznv\x076H--rp@-}n{|>a|crr\x07-J-{|znyv r5d|yq]|vv|{;\x07\b -:-}n{|>lznv\x07h@j;\x07\b 6H--}n{|>a|crr\x07-J- ||zcrp|5PnzrnQvrpv|{9-}n{|>a|crr\x079-}n{|>l ||z6H--}n{|>a|crr\x07-J-}n{|>a|crr\x07-7-zn@5}n{|>lznv\x076H--rpA-}n{|P|y|H--rpA-}n{|=P|y|-J-r\x07rPor5}n{|=lzn}9-}n{|=a|crr\x076H--rpA-}n{|>P|y|-J-r\x07rPor5}n{|>lzn}9-}n{|>a|crr\x076H--0vs-qrsv{rq5b`RlYbZV[N[PR6----}n{|=P|y|;n-J->;=-:-r\x07rPor5}n{|=lyzv{n{prZn}9-}n{|=a|crr\x076;H----}n{|>P|y|;n-J->;=-:-r\x07rPor5}n{|>lyzv{n{prZn}9-}n{|>a|crr\x076;H--0r{qvs--0vs-qrsv{rq5b`RlOYNPXla_N[`VaV\\[6----sy|n-oynpx]|tr-J-np|5:?;=-7-}|tr-8->;=6H----}n{|P|y|-J-zv\x075}n{|=P|y|9-OYNPXlP\\Y\\_9-zv{5>;=9-oynpx]|tr66H----}n{|P|y|-J-zv\x075}n{|P|y|9-}n{|>P|y|9-zn\x075=;=9-oynpx]|tr-:-?;=66H--0ryvs-qrsv{rq5b`Rl`]_RNQla_N[`VaV\\[6----rp?-prr{Pr{rP||q-J-r|yv|{-7-}v\x07ry_nv|-<-?;=H----sy|n-n{vv|{_nqv-J-qvn{pr5rp?5=;=9-=;=69-prr{Pr{rP||q6-7->;?H----sy|n-n{vv|{]|tr-J--qvn{pr5tylSntP||q;\x07\b9-prr{Pr{rP||q6-<-n{vv|{_nqvH----}n{|P|y|-J-zv\x075}n{|=P|y|9-}n{|>P|y|9-z||ur}5=;=9-=;?9-}|tr-:-n{vv|{]|tr66H--0ryr----}n{|P|y|-J-zv\x075}n{|=P|y|9-}n{|>P|y|9-}|tr6H--0r{qvs--tylSntP|y|-J-zv\x075}n{|P|y|9-tylSntP|y|9-z|qryNy}un6H--tylSntP|y|;n-J-|}npv\b-7-ovtu{rH--<<-JJJJJJJJJJJJJJJJ--0v{pyqr-Is|tlsntzr{K--0v{pyqr-I}rzyv}yvrqlny}unlsntzr{K--0v{pyqr-Iqvurv{tlsntzr{K\f"),Sc=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var r=113,i=126,a=0,o="";return t[a].split(o).map(function(s){return s.charCodeAt(a)>i?s:String.fromCharCode((s.charCodeAt(a)+r)%i)}).join(o)}("0vs-qrsv{rq5b`RlcR_aRelSY\\\\_6--nvor-sy|n-sy||H0ryr--{vs|z-sy|n-sy||H0r{qvsn\bv{t-sy|n-Sy||H0vs-qrsv{rq5b`RlRQY6--n\bv{t-sy|n-Y|tQr}uH0r{qvsnvor-sy|n-v_||sZnxHn\bv{t-sy|n-V_||sZnxHn\bv{t-rpA-d|yq]|vv|{Hn\bv{t-rp@-PnzrnQvrpv|{Hn\bv{t-rp@-cvr]|vv|{H0v{pyqr-Ip|zz|{K0v{pyqr-Il}nlrr\x07K0v{pyqr-I?l}nlrr\x07K0v{pyqr-Ir{zn}l}nlrr\x07K0v{pyqr-Ip|y|l}nlrr\x07K0v{pyqr-Is|tl}nlrr\x07K0v{pyqr-Iz|}untrl}nlrr\x07K0v{pyqr-Ixv{{v{tl}nlrr\x07K0v{pyqr-Iy|tqr}uosl}nlrr\x07K0v{pyqr-Ipyv}}v{tl}yn{rl}nlrr\x07K|vq-znv{56-\n--0v{pyqr-Ilrr\x07K--0v{pyqr-I?lrr\x07K--0v{pyqr-Ip|y|lrr\x07K--0v{pyqr-Ixv{onrlrr\x07K--0vsqrs-b`RlR[cZN]--0v{pyqr-Iortv{{|znylrr\x07K--0v{pyqr-Iz|}u{|znylrr\x07K--0v{pyqr-Ixv{{|znylrr\x07K--0v{pyqr-Iqrsny{|znylrr\x07K--0r{qvs--0v{pyqr-Iortv{lrr\x07K--0v{pyqr-Iz|}untrlrr\x07K--0v{pyqr-Ixv{{v{tlrr\x07K--0v{pyqr-I}|wrplrr\x07K--0v{pyqr-Iy|tqr}uoslrr\x07K--0v{pyqr-Ipyv}}v{tl}yn{rlrr\x07K--cvr]|vv|{-J-:z]|vv|{;\x07\b H--Sy||-J-sy||H--d|yq]|vv|{-J-rpA5n{s|zrq9->;=6H--0vsqrs-b`RlV[`aN[PV[T----d|yq]|vv|{-J-v{n{prZnv\x07-7-d|yq]|vv|{H--0r{qvs--d|yq]|vv|{-J-z|qryZnv\x07-7-d|yq]|vv|{H--zn@-pnzrn_|nv|{Znv\x07-J-zn@5vrZnv\x07h=jh=j9-vrZnv\x07h>jh=j9-vrZnv\x07h?jh=j9-vrZnv\x07h=jh>j9-vrZnv\x07h>jh>j9-vrZnv\x07h?jh>j9-vrZnv\x07h=jh?j9-vrZnv\x07h>jh?j9-vrZnv\x07h?jh?j6H--PnzrnQvrpv|{-J-{|znyv r5pnzrn_|nv|{Znv\x07-7-rp@5=;=9-=;=9-:>;=66H--0vs-qrsv{rq5b`RlRQY6----Y|tQr}u-J-y|t?5:z]|vv|{; 6H--0r{qvs--V_||sZnx-J-v_||sZnxH--0v{pyqr-I|yq}|lrr\x07K--0v{pyqr-Ir{zn}lrr\x07K--0v{pyqr-Is|tlrr\x07K\f"),Tc=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var r=113,i=126,a=0,o="";return t[a].split(o).map(function(s){return s.charCodeAt(a)>i?s:String.fromCharCode((s.charCodeAt(a)+r)%i)}).join(o)}("0qrsv{r-OYNPXlP\\Y\\_-rpA5=;=EC9-=;>=C9-=;>AF9->;=60qrsv{r-aNb-C;?E@>EB?{vs|z-nz}yrPor-}n{|=lzn}H{vs|z-znA-}n{|=lznv\x07H{vs|z-sy|n-}n{|=l ||zH0vs-qrsv{rq5b`RlYbZV[N[PR6--{vs|z-nz}yrPor-}n{|=lyzv{n{prZn}H0r{qvs{vs|z-nz}yrPor-}n{|>lzn}H{vs|z-znA-}n{|>lznv\x07H{vs|z-sy|n-}n{|>l ||zH0vs-qrsv{rq5b`RlYbZV[N[PR6--{vs|z-nz}yrPor-}n{|>lyzv{n{prZn}H0r{qvs{vs|z-sy|n-z|qryNy}unH{vs|z-sy|n-}|trH0vs-qrsv{rq5b`RlP\\[`aN[alP\\Y\\_6--{vs|z-rp@-p|{n{P|y|H0r{qvsp-Pyv}}r-\n--znA-znv\x07V{rrH--sy|n-sy||V{qr\x07H\fH0vs-[bZlPYV]]R_`-K-=--{vs|z-Pyv}}r-pyv}}rh[bZlPYV]]R_`jH0r{qvs0vs-qrsv{rq5b`RlRQY6--n\bv{t-sy|n-Y|tQr}uH0r{qvsn\bv{t-rpA-d|yq]|vv|{Hn\bv{t-rp@-PnzrnQvrpv|{Hn\bv{t-sy|n-Sy||Hn\bv{t-sy|n-V_||sZnxH{vs|z-sy|n-u|{Sy||V{qr\x07H{vs|z-rp?-r|yv|{H{vs|z-sy|n-}v\x07ry_nv|H{vs|z-rp@-qvssrH{vs|z-sy|n-|}npv\bH{vs|z-sy|n-ovtu{rH0vs{qrs-SYNal`UNQRQ--n\bv{t-rp@-[|znyH0r{qvs0v{pyqr-Ip|zz|{K0v{pyqr-Iqvurv{tl}nlsntzr{K0v{pyqr-Ip|y|l}nlsntzr{K0v{pyqr-Il}nlsntzr{K0v{pyqr-I?l}nlsntzr{K0v{pyqr-Izn}l}nlsntzr{K0v{pyqr-Iny}unzn}l}nlsntzr{K0v{pyqr-In|zn}l}nlsntzr{K0v{pyqr-Iyvtuzn}l}nlsntzr{K0v{pyqr-Ir{zn}lp|zz|{l}nlsntzr{K0v{pyqr-Ir{zn}l}nlsntzr{K0v{pyqr-Iporllrsyrpv|{lsntzr{K0v{pyqr-Is|tl}nlsntzr{K0v{pyqr-I}rpynzn}l}nlsntzr{K0v{pyqr-Iy|tqr}uosl}nlsntzr{K0v{pyqr-Ipyv}}v{tl}yn{rl}nlsntzr{Krp@- ||zcrp|5rp@-qvrpv|{9-rp@-rp|9-sy|n- ||z6-\n--sy|n-urn-J-q|5qvrpv|{9-rp|6H--rp@-q-J-qvrpv|{-7-urnH--rp@-}-J-rp|-:-qH--rp@-\0-J-}-7- ||zH--r{-{|znyv r5q-8-\x006H\f|vq-znv{56-\n--<<-JJJ-顶部裁切-JJJ--vs-5PnzrnQvrpv|{;\b-I-:=;>>-33-no5V_||sZnx-:->;=6-I-=;>6-\n----qvpnqH--\f--<<-JJJJJJJJJJJJJJ--<<-JJJ-前置裁切计算-JJJ--0vs-[bZlPYV]]R_`-K-=----o||y-pyv}}rqH----rpA-pyv}}r]|vv|{H----0}ntzn-{|yyly||}ln----s|-5-v{-v-J-=H-v-I-[bZlPYV]]R_`H-v-88-6-\n------pyv}}r]|vv|{-J-pyv}}rh-v-j;znv\x07V{rr-7-d|yq]|vv|{H------pyv}}rq-J-5pyv}}rh-v-j;sy||V{qr\x07-I-=;=-\v\v-no5Sy||-:-pyv}}rh-v-j;sy||V{qr\x076-I->;=6H------pyv}}rq-J-pyv}}rq-33-pyv}}r]|vv|{;\x07-K-:=;B-33-pyv}}r]|vv|{;\x07-I-=;BH------pyv}}rq-J-pyv}}rq-33-pyv}}r]|vv|{;\b-K-:=;B-33-pyv}}r]|vv|{;\b-I-=;BH------pyv}}rq-J-pyv}}rq-33-pyv}}r]|vv|{; -K-:=;B-33-pyv}}r]|vv|{; -I-=;BH------vs-5pyv}}rq6-\n--------qvpnqH------\f----\f----0}ntzn-{|yyly||}lr{q--0r{qvs--<<-JJJJJJJJJJJJJJJJJJ--0v{pyqr-Ipyv}}v{tl}yn{rlsntzr{K--rpA-qvssrP|y|-J-rpA5-qvssr9-|}npv\b-6H--0v{pyqr-Iy|tqr}uoslsntzr{K--0v{pyqr-Izn}lsntzr{K--0v{pyqr-Ip|y|lsntzr{K--0v{pyqr-Iny}unzn}lsntzr{K--0v{pyqr-Iny}unrlsntzr{K--0v{pyqr-I}rpynzn}lsntzr{K--_rsyrprqYvtu-rsyrprqYvtu-J-_rsyrprqYvtu5-rp@5-=;=-69-rp@5-=;=-69-rp@5-=;=-69-rp@5-=;=-6-6H--<<-nppzynv|{-5onxrq-v{qvrp-yvtuv{t-|{y\b6--0vsqrs-b`RlYVTUaZN]----rpA-yvtuZn}ar\x07ryJ-r\x07r?Q5-yvtuZn}9-b?-6H----rsyrprqYvtu;v{qvrpQvssr-8J-yvtuZn}ar\x07rya|Yv{rn5-yvtuZn}ar\x07ry-6;to-7-yvtuZn}V{r{v\bH--0ryr----rsyrprqYvtu;v{qvrpQvssr-8J-rp@5->;=-6H--0r{qvs--<<-z|qynv|{--0v{pyqr-In|zn}lsntzr{K--rsyrprqYvtu;v{qvrpQvssr-7J-qvssrP|y|;toH--rp@-|t|v{tYvtu-J-rsyrprqYvtu;v{qvrpQvssrH--0v{pyqr-Ir{zn}lsntzr{K--tylSntP|y|-J-rpA5-|t|v{tYvtu9-qvssrP|y|;n-6H--<<-JJJ-纯色-JJJ--0vs-qrsv{rq5b`RlP\\[`aN[alP\\Y\\_6----tylSntP|y|-J-rpA5p|{n{P|y|;9-p|{n{P|y|;t9-p|{n{P|y|;o9-|}npv\b6H--0r{qvs--<<-JJJJJJJJJJJ--<<-JJJ-楼层显示-JJJ--sy|n-sy||\\}npv\b-J->;=H--vs-5u|{Sy||V{qr\x07-KJ-=;=-33-no5Sy||-:-u|{Sy||V{qr\x076-KJ->;=6-\n----sy||\\}npv\b-J-=;>-7-zv{55>;=-8-PnzrnQvrpv|{;\b69->;=6H--\f--tylSntP|y|;n-J-tylSntP|y|;n-7-sy||\\}npv\b-7-ovtu{rH--<<-JJJJJJJJJJJJJJ--0v{pyqr-I|{rzn}}v{tlsntzr{K--0v{pyqr-Ir{p|qv{tlsntzr{K--<<-JJJ-全景图-JJJ--rp@-}n{|=a|crr\x07-J-{|znyv r5d|yq]|vv|{;\x07\b -:-}n{|=lznv\x07h@j;\x07\b 6H--}n{|=a|crr\x07-J- ||zcrp|5PnzrnQvrpv|{9-}n{|=a|crr\x079-}n{|=l ||z6H--}n{|=a|crr\x07-J-}n{|=a|crr\x07-7-zn@5}n{|=lznv\x076H--rp@-}n{|>a|crr\x07-J-{|znyv r5d|yq]|vv|{;\x07\b -:-}n{|>lznv\x07h@j;\x07\b 6H--}n{|>a|crr\x07-J- ||zcrp|5PnzrnQvrpv|{9-}n{|>a|crr\x079-}n{|>l ||z6H--}n{|>a|crr\x07-J-}n{|>a|crr\x07-7-zn@5}n{|>lznv\x076H--rpA-}n{|P|y|H--rpA-}n{|=P|y|-J-r\x07rPor5}n{|=lzn}9-}n{|=a|crr\x076H--rpA-}n{|>P|y|-J-r\x07rPor5}n{|>lzn}9-}n{|>a|crr\x076H--0vs-qrsv{rq5b`RlYbZV[N[PR6----}n{|=P|y|;n-J->;=-:-r\x07rPor5}n{|=lyzv{n{prZn}9-}n{|=a|crr\x076;H----}n{|>P|y|;n-J->;=-:-r\x07rPor5}n{|>lyzv{n{prZn}9-}n{|>a|crr\x076;H--0r{qvs--0vs-qrsv{rq5b`RlOYNPXla_N[`VaV\\[6----sy|n-oynpx]|tr-J-np|5:?;=-7-}|tr-8->;=6H----}n{|P|y|-J-zv\x075}n{|=P|y|9-OYNPXlP\\Y\\_9-zv{5>;=9-oynpx]|tr66H----}n{|P|y|-J-zv\x075}n{|P|y|9-}n{|>P|y|9-zn\x075=;=9-oynpx]|tr-:-?;=66H--0ryvs-qrsv{rq5b`Rl`]_RNQla_N[`VaV\\[6----rp?-prr{Pr{rP||q-J-r|yv|{-7-}v\x07ry_nv|-<-?;=H----sy|n-n{vv|{_nqv-J-qvn{pr5rp?5=;=9-=;=69-prr{Pr{rP||q6-7->;?H----sy|n-n{vv|{]|tr-J-qvn{pr5tylSntP||q;\x07\b9-prr{Pr{rP||q6-<-n{vv|{_nqvH----}n{|P|y|-J-zv\x075}n{|=P|y|9-}n{|>P|y|9-z||ur}5=;=9-=;?9-}|tr-:-n{vv|{]|tr66H--0ryr----}n{|P|y|-J-zv\x075}n{|=P|y|9-}n{|>P|y|9-}|tr6H--0r{qvs--tylSntP|y|-J-zv\x075}n{|P|y|9-tylSntP|y|9-z|qryNy}un6H--<<-JJJJJJJJJJJJJ--0v{pyqr-Is|tlsntzr{K--0v{pyqr-I}rzyv}yvrqlny}unlsntzr{K--0v{pyqr-Iqvurv{tlsntzr{K--0vs-qrsv{rq5b`RlRQY6----tylSntP|y|;n-J-Y|tQr}uH--0r{qvs\f"),Pc=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var r=113,i=126,a=0,o="";return t[a].split(o).map(function(s){return s.charCodeAt(a)>i?s:String.fromCharCode((s.charCodeAt(a)+r)%i)}).join(o)}("0qrsv{r-]U\\[T0vs-qrsv{rq5b`RlcR_aRelSY\\\\_6--nvor-sy|n-sy||H0ryr--{vs|z-sy|n-sy||H0r{qvsn\bv{t-sy|n-Sy||H0vs-qrsv{rq5b`RlRQY6--n\bv{t-sy|n-Y|tQr}uH0r{qvsnvor-sy|n-v_||sZnxHn\bv{t-sy|n-V_||sZnxHn\bv{t-rpA-d|yq]|vv|{Hn\bv{t-rp@-PnzrnQvrpv|{Hn\bv{t-rp@-cvr]|vv|{H0vs{qrs-SYNal`UNQRQ--n\bv{t-rp@-[|znyH0r{qvs0v{pyqr-Ip|zz|{K0v{pyqr-Il}nlrr\x07K0v{pyqr-I?l}nlrr\x07K0v{pyqr-Iqv}ynprzr{zn}l}nlrr\x07K0v{pyqr-Ir{zn}l}nlrr\x07K0v{pyqr-Ip|y|l}nlrr\x07K0v{pyqr-Is|tl}nlrr\x07K0v{pyqr-Iz|}untrl}nlrr\x07K0v{pyqr-Ixv{{v{tl}nlrr\x07K0v{pyqr-Iunq|zn}l}nlrr\x07K0v{pyqr-Iy|tqr}uosl}nlrr\x07K0v{pyqr-Ipyv}}v{tl}yn{rl}nlrr\x07K|vq-znv{56-\n--0v{pyqr-Ilrr\x07K--0v{pyqr-I?lrr\x07K--0v{pyqr-Ip|y|lrr\x07K--0v{pyqr-Iortv{{|znylrr\x07K--0v{pyqr-Iz|}u{|znylrr\x07K--0v{pyqr-Ixv{onrlrr\x07K--0v{pyqr-Ixv{{|znylrr\x07K--0v{pyqr-Iqrsny{|znylrr\x07K0vs{qrs-SYNal`UNQRQ-<<-[|zny-p|z}rq-vu-qrvnvr-ur{-SYNal`UNQRQ--[|zny-J-{|znyv r5-n{s|zrq[|zny-6H0r{qvs--0v{pyqr-Iortv{lrr\x07K--0v{pyqr-Iz|}untrlrr\x07K--0v{pyqr-Ixv{{v{tlrr\x07K--0v{pyqr-Iqv}ynprzr{zn}lrr\x07K--0v{pyqr-I}|wrplrr\x07K--0v{pyqr-Iy|tqr}uoslrr\x07K--0v{pyqr-Ipyv}}v{tl}yn{rlrr\x07K--cvr]|vv|{-J-:-z]|vv|{;\x07\b H--Sy||-J-sy||H--d|yq]|vv|{-J-rpA5n{s|zrq9->;=6H--0vsqrs-b`RlV[`aN[PV[T----d|yq]|vv|{-J-v{n{prZnv\x07-7-d|yq]|vv|{H--0r{qvs--d|yq]|vv|{-J-z|qryZnv\x07-7-d|yq]|vv|{H--zn@-pnzrn_|nv|{Znv\x07-J-zn@5vrZnv\x07h=jh=j9-vrZnv\x07h>jh=j9-vrZnv\x07h?jh=j9-vrZnv\x07h=jh>j9-vrZnv\x07h>jh>j9-vrZnv\x07h?jh>j9-vrZnv\x07h=jh?j9-vrZnv\x07h>jh?j9-vrZnv\x07h?jh?j6H--PnzrnQvrpv|{-J-{|znyv r5pnzrn_|nv|{Znv\x07-7-rp@5=;=9-=;=9-:>;=66H--0vs-qrsv{rq5b`RlRQY6----Y|tQr}u-J-y|t?5:z]|vv|{; 6H--0r{qvs--V_||sZnx-J-v_||sZnxH--0v{pyqr-I|yq}|lrr\x07K--0v{pyqr-Ir{zn}lrr\x07K--0v{pyqr-Iunq|zn}lrr\x07K--0v{pyqr-Is|tlrr\x07K\f"),Bc=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var r=113,i=126,a=0,o="";return t[a].split(o).map(function(s){return s.charCodeAt(a)>i?s:String.fromCharCode((s.charCodeAt(a)+r)%i)}).join(o)}("0qrsv{r-]U\\[T0qrsv{r-OYNPXlP\\Y\\_-rpA5=;=EC9-=;>=C9-=;>AF9->;=60qrsv{r-aNb-C;?E@>EB?{vs|z-nz}yrPor-}n{|=lzn}H{vs|z-znA-}n{|=lznv\x07H{vs|z-sy|n-}n{|=l ||zH0vs-qrsv{rq5b`RlYbZV[N[PR6--{vs|z-nz}yrPor-}n{|=lyzv{n{prZn}H0r{qvs{vs|z-nz}yrPor-}n{|>lzn}H{vs|z-znA-}n{|>lznv\x07H{vs|z-sy|n-}n{|>l ||zH0vs-qrsv{rq5b`RlYbZV[N[PR6--{vs|z-nz}yrPor-}n{|>lyzv{n{prZn}H0r{qvs{vs|z-sy|n-z|qryNy}unH{vs|z-sy|n-}|trH0vs-qrsv{rq5b`RlP\\[`aN[alP\\Y\\_6--{vs|z-rp@-p|{n{P|y|H0r{qvsp-Pyv}}r-\n--znA-znv\x07V{rrH--sy|n-sy||V{qr\x07H\fH0vs-[bZlPYV]]R_`-K-=--{vs|z-Pyv}}r-pyv}}rh[bZlPYV]]R_`jH0r{qvs0vs-qrsv{rq5b`RlRQY6--n\bv{t-sy|n-Y|tQr}uH0r{qvsn\bv{t-rpA-d|yq]|vv|{Hn\bv{t-rp@-PnzrnQvrpv|{Hn\bv{t-sy|n-Sy||Hn\bv{t-sy|n-V_||sZnxH{vs|z-sy|n-u|{Sy||V{qr\x07H{vs|z-rp?-r|yv|{H{vs|z-sy|n-}v\x07ry_nv|H{vs|z-rp@-qvssrH{vs|z-rp@-rzvvrH{vs|z-rp@-}rpynH{vs|z-sy|n-uv{v{rH{vs|z-sy|n-|}npv\bH{vs|z-sy|n-ovtu{rH0v{pyqr-Ip|zz|{K0v{pyqr-I}npxv{tK0v{pyqr-Iqvurv{tl}nlsntzr{K0v{pyqr-Ip|y|l}nlsntzr{K0v{pyqr-Il}nlsntzr{K0v{pyqr-I?l}nlsntzr{K0v{pyqr-Izn}l}nlsntzr{K0v{pyqr-Iny}unzn}l}nlsntzr{K0v{pyqr-In|zn}l}nlsntzr{K0v{pyqr-Iyvtuzn}l}nlsntzr{K0v{pyqr-Irzvvrzn}l}nlsntzr{K0v{pyqr-Ir{zn}lp|zz|{l}nlsntzr{K0v{pyqr-Ir{zn}l}nlsntzr{K0v{pyqr-Iporllrsyrpv|{lsntzr{K0v{pyqr-Is|tl}nlsntzr{K0v{pyqr-IoqsK0v{pyqr-Iyvtul}nlortv{K0v{pyqr-Iyvtul}u|{tl}nlsntzr{K0v{pyqr-Iunq|zn}l}nlsntzr{K0v{pyqr-Ioz}zn}l}nlsntzr{K0v{pyqr-I{|znyzn}l}nlsntzr{K0v{pyqr-I}rpynzn}l}nlsntzr{K0v{pyqr-Iy|tqr}uosl}nlsntzr{K0v{pyqr-Ipyv}}v{tl}yn{rl}nlsntzr{Krp@- ||zcrp|5rp@-qvrpv|{9-rp@-rp|9-sy|n- ||z6-\n--sy|n-urn-J-q|5qvrpv|{9-rp|6H--rp@-q-J-qvrpv|{-7-urnH--rp@-}-J-rp|-:-qH--rp@-\0-J-}-7- ||zH--r{-{|znyv r5q-8-\x006H\f|vq-znv{56-\n--<<-JJJ-顶部裁切-JJJ--vs-5PnzrnQvrpv|{;\b-I-:=;>>-33-no5V_||sZnx-:->;=6-I-=;>6-\n----qvpnqH--\f--<<-JJJJJJJJJJJJJJ--<<-JJJ-前置裁切计算-JJJ--0vs-[bZlPYV]]R_`-K-=----o||y-pyv}}rqH----rpA-pyv}}r]|vv|{H----0}ntzn-{|yyly||}ln----s|-5-v{-v-J-=H-v-I-[bZlPYV]]R_`H-v-88-6-\n------pyv}}r]|vv|{-J-pyv}}rh-v-j;znv\x07V{rr-7-d|yq]|vv|{H------pyv}}rq-J-5pyv}}rh-v-j;sy||V{qr\x07-I-=;=-\v\v-no5Sy||-:-pyv}}rh-v-j;sy||V{qr\x076-I->;=6H------pyv}}rq-J-pyv}}rq-33-pyv}}r]|vv|{;\x07-K-:=;B-33-pyv}}r]|vv|{;\x07-I-=;BH------pyv}}rq-J-pyv}}rq-33-pyv}}r]|vv|{;\b-K-:=;B-33-pyv}}r]|vv|{;\b-I-=;BH------pyv}}rq-J-pyv}}rq-33-pyv}}r]|vv|{; -K-:=;B-33-pyv}}r]|vv|{; -I-=;BH------vs-5pyv}}rq6-\n--------qvpnqH------\f----\f----0}ntzn-{|yyly||}lr{q--0r{qvs--<<-JJJJJJJJJJJJJJJJ--0v{pyqr-Ipyv}}v{tl}yn{rlsntzr{K--rpA-qvssrP|y|-J-rpA5-qvssr9-|}npv\b-6H--_rsyrprqYvtu-rsyrprqYvtu-J-_rsyrprqYvtu5-rp@5-=;=-69-rp@5-=;=-69-rp@5-=;=-69-rp@5-=;=-6-6H--rp@-|nyRzvvr_nqvn{pr-J-rzvvrH--0v{pyqr-Iy|tqr}uoslsntzr{K--0v{pyqr-Izn}lsntzr{K--0v{pyqr-Ip|y|lsntzr{K--0v{pyqr-Iny}unzn}lsntzr{K--0v{pyqr-Iny}unrlsntzr{K--0v{pyqr-I}rpynzn}lsntzr{K--0v{pyqr-I{|znylsntzr{lortv{K--0v{pyqr-I{|znylsntzr{lzn}K--0v{pyqr-Irzvvrzn}lsntzr{K--<<-nppzynv|{--0v{pyqr-Iyvtul}u|{tlsntzr{K--0v{pyqr-Iyvtulsntzr{lortv{K--0v{pyqr-Iyvtulsntzr{lzn}K--0v{pyqr-Iyvtulsntzr{lr{qK--<<-z|qynv|{--0v{pyqr-In|zn}lsntzr{K--rp@-|t|v{tYvtu-J-rsyrprqYvtu;qvrpQvssr-8-rsyrprqYvtu;v{qvrpQvssr-8-rsyrprqYvtu;qvrp`}rpyn-8-rsyrprqYvtu;v{qvrp`}rpyn-8-|nyRzvvr_nqvn{prH--0v{pyqr-Ir{zn}lsntzr{K--tylSntP|y|-J-rpA5-|t|v{tYvtu9-qvssrP|y|;n-6H--<<-JJJ-纯色-JJJ--0vs-qrsv{rq5b`RlP\\[`aN[alP\\Y\\_6----tylSntP|y|-J-rpA5p|{n{P|y|;9-p|{n{P|y|;t9-p|{n{P|y|;o9-|}npv\b6H--0r{qvs--<<-JJJJJJJJJJJ--<<-JJJ-楼层显示-JJJ--sy|n-sy||\\}npv\b-J->;=H--vs-5u|{Sy||V{qr\x07-KJ-=;=-33-no5Sy||-:-u|{Sy||V{qr\x076-KJ->;=6-\n----sy||\\}npv\b-J-=;>-7-zv{55>;=-8-PnzrnQvrpv|{;\b69->;=6H--\f--tylSntP|y|;n-J-tylSntP|y|;n-7-sy||\\}npv\b-7-ovtu{rH--<<-JJJJJJJJJJJJJJ--0v{pyqr-I|{rzn}}v{tlsntzr{K--0v{pyqr-Ir{p|qv{tlsntzr{K--<<-JJJ-全景图-JJJ--rp@-}n{|=a|crr\x07-J-{|znyv r5d|yq]|vv|{;\x07\b -:-}n{|=lznv\x07h@j;\x07\b 6H--}n{|=a|crr\x07-J- ||zcrp|5PnzrnQvrpv|{9-}n{|=a|crr\x079-}n{|=l ||z6H--}n{|=a|crr\x07-J-}n{|=a|crr\x07-7-zn@5}n{|=lznv\x076H--rp@-}n{|>a|crr\x07-J-{|znyv r5d|yq]|vv|{;\x07\b -:-}n{|>lznv\x07h@j;\x07\b 6H--}n{|>a|crr\x07-J- ||zcrp|5PnzrnQvrpv|{9-}n{|>a|crr\x079-}n{|>l ||z6H--}n{|>a|crr\x07-J-}n{|>a|crr\x07-7-zn@5}n{|>lznv\x076H--rpA-}n{|P|y|H--rpA-}n{|=P|y|-J-r\x07rPor5}n{|=lzn}9-}n{|=a|crr\x076H--rpA-}n{|>P|y|-J-r\x07rPor5}n{|>lzn}9-}n{|>a|crr\x076H--0vs-qrsv{rq5b`RlYbZV[N[PR6----}n{|=P|y|;n-J->;=-:-r\x07rPor5}n{|=lyzv{n{prZn}9-}n{|=a|crr\x076;H----}n{|>P|y|;n-J->;=-:-r\x07rPor5}n{|>lyzv{n{prZn}9-}n{|>a|crr\x076;H--0r{qvs--0vs-qrsv{rq5b`RlOYNPXla_N[`VaV\\[6----sy|n-oynpx]|tr-J-np|5:?;=-7-}|tr-8->;=6H----}n{|P|y|-J-zv\x075}n{|=P|y|9-OYNPXlP\\Y\\_9-zv{5>;=9-oynpx]|tr66H----}n{|P|y|-J-zv\x075}n{|P|y|9-}n{|>P|y|9-zn\x075=;=9-oynpx]|tr-:-?;=66H--0ryvs-qrsv{rq5b`Rl`]_RNQla_N[`VaV\\[6----rp?-prr{Pr{rP||q-J-r|yv|{-7-}v\x07ry_nv|-<-?;=H----sy|n-n{vv|{_nqv-J-qvn{pr5rp?5=;=9-=;=69-prr{Pr{rP||q6-7->;?H----sy|n-n{vv|{]|tr-J-qvn{pr5tylSntP||q;\x07\b9-prr{Pr{rP||q6-<-n{vv|{_nqvH----}n{|P|y|-J-zv\x075}n{|=P|y|9-}n{|>P|y|9-z||ur}5=;=9-=;?9-}|tr-:-n{vv|{]|tr66H--0ryr----}n{|P|y|-J-zv\x075}n{|=P|y|9-}n{|>P|y|9-}|tr6H--0r{qvs--tylSntP|y|-J-zv\x075}n{|P|y|9-tylSntP|y|9-z|qryNy}un6H--<<-JJJJJJJJJJJJJJ--0v{pyqr-Is|tlsntzr{K--0v{pyqr-I}rzyv}yvrqlny}unlsntzr{K--0v{pyqr-Iqvurv{tlsntzr{K--0vs-qrsv{rq5b`RlRQY6----tylSntP|y|;n-J-Y|tQr}uH--0r{qvs\f");function Vt(n,t){var e=Math.abs(Math.cos(n.latitude)),r=-Math.sin(n.longitude)*e,i=-Math.sin(n.latitude),a=-Math.cos(n.longitude)*e;return t?t.set(r,i,a):new d.Vector3(r,i,a)}var Rc=1,Fc=.1,kc=2e3,Zn=Math.PI*2,Ro=Math.PI/2;function Fo(n){return n>0&&n<=Zn?n:(n%Zn+Zn)%Zn}function Lc(n,t,e,r){e=Math.pow(e,4);for(var i=0;i<16;i++)r.elements[i]=n.elements[i]+(t.elements[i]-n.elements[i])*e;return r}var Pi=function(n){pe(t,n);function t(e,r,i,a,o,s,u){r===void 0&&(r=Rc),i===void 0&&(i=Fc),a===void 0&&(a=kc),o===void 0&&(o=new d.Vector2),s===void 0&&(s=new d.Vector2(512,512)),u===void 0&&(u=1);var l=n.call(this)||this;l.fov=e,l.aspect=r,l.near=i,l.far=a,l.perspToOrtho=o,l.resolution=s,l.pixelRatio=u,l.needsRender=!0,l.refineModel=!0,l.pose={longitude:0,latitude:0,fov:e,distance:0,offset:new d.Vector3},l.computePose(),l.perspectiveCamera=new d.PerspectiveCamera(l.fov,l.aspect,.001,l.far);var c=Math.max(l.orthoDistance,.01)*Math.tan(.5*l.fov/180*Math.PI),f=-.5*l.aspect*2*c;return l.orthographicCamera=new d.OrthographicCamera(f,-f,c,-c,.001,l.far),l.computeProjectionMatrix(),l.lastValues={position:l.position.clone(),quaternion:l.quaternion.clone(),scale:l.scale.clone(),fov:l.fov,aspect:l.aspect,near:l.near,far:l.far,perspToOrtho:l.perspToOrtho.clone()},l.type=l.perspToOrtho.x<1?"PerspectiveCamera":"OrthographicCamera",l}return Object.defineProperty(t.prototype,"orthoDistance",{get:function(){return this.pose.distance>1?this.pose.distance:1+(this.pose.distance-1)*this.perspToOrtho.x},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"zoom",{get:function(){return this.type==="OrthographicCamera"?this.orthographicCamera.zoom:this.type==="PerspectiveCamera"?this.perspectiveCamera.zoom:1},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"top",{get:function(){return this.type==="OrthographicCamera"?this.orthographicCamera.top:0},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"bottom",{get:function(){return this.type==="OrthographicCamera"?this.orthographicCamera.bottom:0},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"left",{get:function(){return this.type==="OrthographicCamera"?this.orthographicCamera.left:0},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"right",{get:function(){return this.type==="OrthographicCamera"?this.orthographicCamera.right:0},enumerable:!1,configurable:!0}),t.prototype.getDirection=function(e){return Vt(this.pose,e)},t.prototype.computePose=function(e){e===void 0&&(e=0),this.updateMatrix();var r=this.matrix.elements,i=new d.Vector3().set(-r[8],-r[9],-r[10]).normalize();this.pose.longitude=Fo(-Math.atan2(i.x,-i.z)),this.pose.latitude=-Math.asin(i.y/1),this.pose.fov=this.fov,this.pose.distance=e;var a=new d.Vector3().add(this.position).add(i.clone().setLength(this.pose.distance));return this.pose.offset.copy(a),this},t.prototype.setFromPose=function(e){var r,i,a,o,s,u=Fo((r=e.longitude)!==null&&r!==void 0?r:this.pose.longitude),l=Math.max(-Ro+1e-4,Math.min(Ro-1e-4,(i=e.latitude)!==null&&i!==void 0?i:this.pose.latitude)),c=(a=e.fov)!==null&&a!==void 0?a:this.pose.fov,f=(o=e.distance)!==null&&o!==void 0?o:this.pose.distance,h=(s=e.offset)!==null&&s!==void 0?s:this.pose.offset,m=Vt({longitude:u,latitude:l}).normalize();return this.position.set(0,0,0),this.lookAt(m),this.position.add(h).sub(m.clone().setLength(f)),this.fov!==c&&(this.fov=c,this.updateProjectionMatrix()),this.updateMatrixWorld(),this.pose.longitude=u,this.pose.latitude=l,this.pose.fov=c,this.pose.distance=f,this.pose.offset.copy(h),this.needsRender=!0,this},t.prototype.copyPose=function(){return{longitude:this.pose.longitude,latitude:this.pose.latitude,fov:this.pose.fov,distance:this.pose.distance,offset:this.pose.offset.clone()}},t.prototype.computeProjectionMatrix=function(){Lc(this.orthographicCamera.projectionMatrix,this.perspectiveCamera.projectionMatrix,1-this.perspToOrtho.x,this.projectionMatrix),this.projectionMatrixInverse.getInverse(this.projectionMatrix),this.needsRender=!0},t.prototype.setViewOffset=function(e,r,i,a,o,s){this.perspectiveCamera.setViewOffset(e,r,i,a,o,s),this.orthographicCamera.setViewOffset(e,r,i,a,o,s),this.computeProjectionMatrix()},t.prototype.clearViewOffset=function(){this.perspectiveCamera.clearViewOffset(),this.orthographicCamera.clearViewOffset(),this.computeProjectionMatrix()},t.prototype.updateProjectionMatrix=function(){this.perspectiveCamera.updateProjectionMatrix(),this.orthographicCamera.updateProjectionMatrix(),this.computeProjectionMatrix()},Object.defineProperty(t.prototype,"perspectiveProjectionMatrix",{get:function(){return this.perspectiveCamera.projectionMatrix},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"perspectiveProjectionMatrixInverse",{get:function(){return this.perspectiveCamera.projectionMatrixInverse},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"orthographicProjectionMatrix",{get:function(){return this.orthographicCamera.projectionMatrix},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"orthographicProjectionMatrixInverse",{get:function(){return this.orthographicCamera.projectionMatrixInverse},enumerable:!1,configurable:!0}),t.prototype.updateTime=function(e,r){var i=!1;if((this.lastValues.fov!==this.fov||this.lastValues.near!==this.near||this.lastValues.far!==this.far||this.lastValues.aspect!==this.aspect)&&(this.perspectiveCamera.fov=this.fov,this.perspectiveCamera.near=this.near,this.perspectiveCamera.far=this.far,this.perspectiveCamera.aspect=this.aspect,this.perspectiveCamera.updateProjectionMatrix(),i=!0),!this.lastValues.position.equals(this.position)||!this.lastValues.quaternion.equals(this.quaternion)||!this.lastValues.scale.equals(this.scale)||!this.lastValues.perspToOrtho.equals(this.perspToOrtho)||this.lastValues.fov!==this.fov||this.lastValues.near!==this.near||this.lastValues.far!==this.far||this.lastValues.aspect!==this.aspect){var a=Math.max(this.orthoDistance,.01)*Math.tan(.5*this.fov/180*Math.PI),o=-.5*this.aspect*2*a;this.orthographicCamera.left=o,this.orthographicCamera.right=-o,this.orthographicCamera.top=a,this.orthographicCamera.bottom=-a,this.orthographicCamera.near=this.near,this.orthographicCamera.far=this.far,this.orthographicCamera.updateProjectionMatrix(),i=!0}i&&this.computeProjectionMatrix(),this.lastValues.position.copy(this.position),this.lastValues.quaternion.copy(this.quaternion),this.lastValues.scale.copy(this.scale),this.lastValues.fov=this.fov,this.lastValues.aspect=this.aspect,this.lastValues.near=this.near,this.lastValues.far=this.far,this.lastValues.perspToOrtho.copy(this.perspToOrtho),this.type=this.perspToOrtho.x<1?"PerspectiveCamera":"OrthographicCamera"},Object.defineProperty(t.prototype,"isPerspectiveCamera",{get:function(){return this.perspToOrtho.x<1},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"isOrthographicCamera",{get:function(){return this.perspToOrtho.x>=1},enumerable:!1,configurable:!0}),t.prototype.copy=function(e,r){return n.prototype.copy.call(this,e,r),this.fov=e.fov,this.aspect=e.aspect,this.near=e.near,this.far=e.far,this.perspToOrtho.copy(e.perspToOrtho),this.updateTime(Ce(),0),this},t}(d.Camera),Oc=new d.Vector4,Qn=new d.WebGLCubeRenderTarget(1).texture;Qn.name="EMPTY_TEXTURE";var Gi={modelAlpha:new d.Uniform(0),progress:new d.Uniform(0),pano0_map:new d.Uniform(Qn),pano0_luminanceMap:new d.Uniform(null),pano0_matrix:new d.Uniform(new d.Matrix4),pano0_zoom:new d.Uniform(1),pano1_map:new d.Uniform(Qn),pano1_luminanceMap:new d.Uniform(null),pano1_matrix:new d.Uniform(new d.Matrix4),pano1_zoom:new d.Uniform(1),clippers:new d.Uniform([]),shownFloorIndex:new d.Uniform(-1),constantColor:new d.Uniform(null),geometricError:new d.Uniform(0),pixelRatio:new d.Uniform(1),resolution:new d.Uniform(new d.Vector2(512,512)),floor:new d.Uniform(0),brightness:new d.Uniform(1)},Vc={none:{vertexShader:Cc,fragmentShader:Ic,uniforms:d.UniformsUtils.merge([Gi,{opacity:{value:1}},d.UniformsLib.fog]),lights:!1},basic:{vertexShader:Sc,fragmentShader:Tc,uniforms:d.UniformsUtils.merge([Gi,d.ShaderLib.basic.uniforms]),lights:!1},phong:{vertexShader:Pc,fragmentShader:Bc,uniforms:d.UniformsUtils.merge([Gi,d.ShaderLib.phong.uniforms]),lights:!0}},Gn=function(n){pe(t,n);function t(e,r){e===void 0&&(e="basic"),r===void 0&&(r={});var i=this,a,o,s,u,l,c,f,h,m,A,p,g,v,y,b,w,E,x,C,M,I,T=Vc[e];i=n.call(this,{vertexShader:T.vertexShader,fragmentShader:T.fragmentShader,uniforms:d.UniformsUtils.clone(T.uniforms),lights:T.lights,defines:{USE_CONSTANT_COLOR:!1,USE_EDL:!1,USE_HQ_WEIGHT:!1,USE_HQ_DEPTH:!1,NUM_CLIPPING_BOX:!1,USE_CLIPFLOOR:!1,USE_VERTEX_FLOOR:!1,USE_LUMINANCE:!1,USE_PANO_OPACITY:!1,USE_BLACK_TRANSITION:!1,USE_SPREAD_TRANSITION:!1,USE_POINT_NORMAL:!1,USE_POINT_CIRCLE:!1,USE_POINT_ADAPTIVE_SIZE:!1,USE_POINT_COLOR_ALTITUDE:!1}})||this,i.shaderType=e,i.color=new d.Color(16777215),i.map=null,i.lightMap=null,i.lightMapIntensity=1,i.aoMap=null,i.aoMapIntensity=1,i.specularMap=null,i.specular=new d.Color(1118481),i.alphaMap=null,i.envMap=null,i.reflectivity=1,i.refractionRatio=.98,i.emissiveMap=null,i.emissive=new d.Color(0),i.emissiveIntensity=1,i.bumpMap=null,i.bumpScale=1,i.normalMap=null,i.normalMapType=d.TangentSpaceNormalMap,i.normalScale=new d.Vector2(1,1),i.displacementMap=null,i.displacementScale=1,i.displacementBias=0,i.shininess=30;var P,R=null,L=null;return Object.defineProperties(i,{pano0:{get:function(){return R},set:function(F){if(R!==F){R=F,F===null?(this.uniforms.pano0_map.value=Qn,this.uniforms.pano0_luminanceMap.value=null,this.uniforms.pano0_matrix.value.identity(),this.uniforms.pano0_zoom.value=1):(this.uniforms.pano0_map.value=F.map instanceof ze?F.map.texture:F.map,this.uniforms.pano0_luminanceMap.value=F.luminanceMap instanceof ze?F.luminanceMap.texture:F.luminanceMap,this.uniforms.pano0_matrix.value.copy(F.matrix),this.uniforms.pano0_zoom.value=F.zoom);var O=this.uniforms.pano0_luminanceMap.value!==null&&this.uniforms.pano1_luminanceMap.value!==null,z=this.defines.USE_LUMINANCE;z!==O&&(this.defines.USE_LUMINANCE=O,this.needsUpdate=!0)}}},pano1:{get:function(){return L},set:function(F){if(L!==F){L=F,F===null?(this.uniforms.pano1_map.value=Qn,this.uniforms.pano1_luminanceMap.value=null,this.uniforms.pano1_matrix.value.identity(),this.uniforms.pano1_zoom.value=1):(this.uniforms.pano1_map.value=F.map instanceof ze?F.map.texture:F.map,this.uniforms.pano1_luminanceMap.value=F.luminanceMap instanceof ze?F.luminanceMap.texture:F.luminanceMap,this.uniforms.pano1_matrix.value.copy(F.matrix),this.uniforms.pano1_zoom.value=F.zoom);var O=this.uniforms.pano0_luminanceMap.value!==null&&this.uniforms.pano1_luminanceMap.value!==null,z=this.defines.USE_LUMINANCE;z!==O&&(this.defines.USE_LUMINANCE=O,this.needsUpdate=!0)}}},modelAlpha:{get:function(){return this.uniforms.modelAlpha.value},set:function(F){this.uniforms.modelAlpha.value=F}},progress:{get:function(){return this.uniforms.progress.value},set:function(F){this.uniforms.progress.value=F}},transition:{get:function(){return this.defines.USE_BLACK_TRANSITION?"BLACK":this.defines.USE_SPREAD_TRANSITION?"SPREAD":"FADE"},set:function(F){var O=this.defines.USE_BLACK_TRANSITION,z=this.defines.USE_SPREAD_TRANSITION;this.defines.USE_BLACK_TRANSITION=!1,this.defines.USE_SPREAD_TRANSITION=!1,this.defines["USE_".concat(F,"_TRANSITION")]=!0;var N=!1;O!==this.defines.USE_BLACK_TRANSITION&&(N=!0),z!==this.defines.USE_SPREAD_TRANSITION&&(N=!0),N&&(this.needsUpdate=!0)}},constantColor:{get:function(){return this.uniforms.constantColor.value},set:function(F){this.uniforms.constantColor.value=F;var O=this.defines.USE_CONSTANT_COLOR,z=F!==null;O!==z&&(this.defines.USE_CONSTANT_COLOR=z,this.needsUpdate=!0)}},opacity:{get:function(){return this.uniforms.opacity.value},set:function(F){this.uniforms.opacity.value=F}},shownFloorIndex:{get:function(){return this.uniforms.shownFloorIndex.value},set:function(F){this.uniforms.shownFloorIndex.value=F}},brightness:{get:function(){return this.uniforms.brightness.value},set:function(F){this.uniforms.brightness.value=F}},clippers:{get:function(){return P},set:function(F){P!==F&&(P=F,this.uniforms.clippers.value=(P||[]).map(function(O){var z=typeof O.floorIndex=="number"?O.floorIndex:-1,N=new d.Matrix4().getInverse(O.clippingBoxMatrix);return{matrixInverse:N,floorIndex:z}}),this.needsUpdate=!0)}},useEDL:{get:function(){return this.defines.USE_EDL},set:function(F){F!==this.defines.USE_EDL&&(this.defines.USE_EDL=F,this.needsUpdate=!0)}},useHQWeight:{get:function(){return this.defines.USE_HQ_WEIGHT},set:function(F){F!==this.defines.USE_HQ_WEIGHT&&(this.defines.USE_HQ_WEIGHT=F,this.needsUpdate=!0)}},useHQDepth:{get:function(){return this.defines.USE_HQ_DEPTH},set:function(F){F!==this.defines.USE_HQ_DEPTH&&(this.defines.USE_HQ_DEPTH=F,this.needsUpdate=!0)}},floor:{get:function(){return this.uniforms.floor.value},set:function(F){this.uniforms.floor.value=F}}}),i.pano0=(a=r.pano0)!==null&&a!==void 0?a:xe.pano0,i.pano1=(o=r.pano1)!==null&&o!==void 0?o:xe.pano1,i.modelAlpha=(s=r.modelAlpha)!==null&&s!==void 0?s:xe.modelAlpha,i.progress=(u=r.progress)!==null&&u!==void 0?u:xe.progress,i.transition=(l=r.transition)!==null&&l!==void 0?l:xe.transition,i.constantColor=(c=r.constantColor)!==null&&c!==void 0?c:xe.constantColor,i.opacity=(f=r.opacity)!==null&&f!==void 0?f:xe.opacity,i.shownFloorIndex=(h=r.shownFloorIndex)!==null&&h!==void 0?h:xe.shownFloorIndex,i.clippers=(m=r.clippers)!==null&&m!==void 0?m:xe.clippers,i.useEDL=(A=r.useEDL)!==null&&A!==void 0?A:xe.useEDL,i.useHQWeight=(p=r.useHQWeight)!==null&&p!==void 0?p:xe.useHQWeight,i.useHQDepth=(g=r.useHQDepth)!==null&&g!==void 0?g:xe.useHQDepth,i.pointSize=(v=r.pointSize)!==null&&v!==void 0?v:xe.pointSize,i.pointColor=(y=r.pointColor)!==null&&y!==void 0?y:xe.pointColor,i.pointShape=(b=r.pointShape)!==null&&b!==void 0?b:xe.pointShape,i.pointScale=(w=r.pointScale)!==null&&w!==void 0?w:xe.pointScale,i.pointBack=(E=r.pointBack)!==null&&E!==void 0?E:xe.pointBack,i.pointMinPixel=(x=r.pointMinPixel)!==null&&x!==void 0?x:xe.pointMinPixel,i.pointMaxPixel=(C=r.pointMaxPixel)!==null&&C!==void 0?C:xe.pointMaxPixel,i.gradientTexture=(M=r.gradientTexture)!==null&&M!==void 0?M:xe.gradientTexture,i.brightness=(I=r.brightness)!==null&&I!==void 0?I:xe.brightness,i.floor=0,i}return t.prototype.onBeforeCompile=function(e,r){var i,a,o=String((a=(i=this.clippers)===null||i===void 0?void 0:i.length)!==null&&a!==void 0?a:0);e.vertexShader=e.vertexShader.replace(/NUM_CLIPPERS/g,o),e.fragmentShader=e.fragmentShader.replace(/NUM_CLIPPERS/g,o)},t.prototype.refreshUniforms=function(e){var r,i,a=this.uniforms;a.diffuse&&a.diffuse.value.copy(this.color),a.opacity&&(a.opacity.value=this.opacity),a.color&&a.diffuse.value.copy(this.color),a.emissive&&a.emissive.value.copy(this.emissive).multiplyScalar(this.emissiveIntensity),a.map&&(a.map.value=this.map),a.alphaMap&&(a.alphaMap.value=this.alphaMap),a.specularMap&&(a.specularMap.value=this.specularMap),a.envMap&&(a.envMap.value=this.envMap,a.flipEnvMap.value=!((r=this.envMap)===null||r===void 0)&&r.isCubeTexture?-1:1,a.reflectivity.value=this.reflectivity,a.refractionRatio.value=this.refractionRatio,a.maxMipLevel.value=this.envMap&&(i=e.properties.get(this.envMap).__maxMipLevel)!==null&&i!==void 0?i:0),a.lightMap&&(a.lightMap.value=this.lightMap,a.lightMapIntensity.value=this.lightMapIntensity),a.aoMap&&(a.aoMap.value=this.aoMap,a.aoMapIntensity.value=this.aoMapIntensity),a.specular&&a.specular.value.copy(this.specular),a.shininess&&(a.shininess.value=Math.max(this.shininess,1e-4)),a.emissiveMap&&(a.emissiveMap.value=this.emissiveMap),a.bumpMap&&(a.bumpMap.value=this.bumpMap,a.bumpScale.value=this.bumpScale,this.side===d.BackSide&&(a.bumpScale.value*=-1)),a.normalMap&&(a.normalMap.value=this.normalMap,a.normalScale.value.copy(this.normalScale),this.side===d.BackSide&&a.normalScale.value.negate()),a.displacementMap&&(a.displacementMap.value=this.displacementMap,a.displacementScale.value=this.displacementScale,a.displacementBias.value=this.displacementBias);var o;this.map?o=this.map:this.specularMap?o=this.specularMap:this.displacementMap?o=this.displacementMap:this.normalMap?o=this.normalMap:this.bumpMap?o=this.bumpMap:this.alphaMap?o=this.alphaMap:this.emissiveMap&&(o=this.emissiveMap),o!==void 0&&(o.matrixAutoUpdate===!0&&o.updateMatrix(),a.uvTransform.value.copy(o.matrix));var s;this.aoMap?s=this.aoMap:this.lightMap&&(s=this.lightMap),s!==void 0&&(s.matrixAutoUpdate===!0&&s.updateMatrix(),a.uv2Transform.value.copy(s.matrix))},t.prototype.update=function(e,r){if(this.refreshUniforms(e),this.transparent=!1,this.shownFloorIndex>-1&&(this.defines.USE_VERTEX_FLOOR?this.transparent=!0:this.transparent=this.shownFloorIndex!==this.floor),this.opacity<1&&(this.transparent=!0),this.alphaMap&&(this.transparent=!0),this.brightness<1&&(this.transparent=!0),this.blending=this.transparent?d.NormalBlending:d.NoBlending,r instanceof Pi)this.uniforms.pixelRatio.value=r.pixelRatio,this.uniforms.resolution.value.copy(r.resolution);else{this.uniforms.pixelRatio.value=e.getPixelRatio();var i=e.getViewport(Oc);this.uniforms.resolution.value.set(i.z,i.w)}},t.prototype.syncModel=function(e){var r="".concat(e.id,":").concat(e.materialVersion);r!==this.syncModelVersion&&(Object.assign(this,e.getMaterial()),this.syncModelVersion=r)},t}(d.ShaderMaterial),Jr=function(n){pe(t,n);function t(e){var r=e.preserveDrawingBuffer,i=r===void 0?!0:r,a=e.premultipliedAlpha,o=a===void 0?!0:a,s=e.stencil,u=s===void 0?!0:s,l=e.backgroundColor,c=l===void 0?1579548:l,f=e.backgroundAlpha,h=f===void 0?1:f,m=e.pixelRatio,A=m===void 0?1:m,p=e.antialias,g=e.webgl2,v=this,y={antialias:p,alpha:!0,preserveDrawingBuffer:i,stencil:u,premultipliedAlpha:o,powerPreference:"high-performance"};if(g){var b=document.createElement("canvas"),w=b.getContext("webgl2",y);w?v=n.call(this,k(k({},y),{antialias:!0,canvas:b,context:w}))||this:(console.error("error occurred when getting webgl2 canvas context, mybe webgl2 not support, fallback to webgl."),v=n.call(this,y)||this)}else v=n.call(this,y)||this;return v.setPixelRatio(A),v.setClearColor(c,h),v.outputEncoding=d.sRGBEncoding,v.autoClear=!0,v}return t}(d.WebGLRenderer),f0=function(n){pe(t,n);function t(){return n!==null&&n.apply(this,arguments)||this}return t.prototype.add=function(){for(var e=[],r=0;r<arguments.length;r++)e[r]=arguments[r];return n.prototype.add.apply(this,e)},t.prototype.remove=function(){for(var e=[],r=0;r<arguments.length;r++)e[r]=arguments[r];return n.prototype.remove.apply(this,e)},t}(d.Scene),dt;(function(n){n[n.Outside=-1]="Outside",n[n.Intersecting=0]="Intersecting",n[n.Inside=1]="Inside"})(dt||(dt={}));var h0=1e-6,He=new d.Vector3,Or=new d.Matrix4,Tr=new d.Vector3,Pr=new d.Vector3,Br=new d.Vector3,Ma=new d.Vector3,Ki=new d.Box3,ji=new d.Sphere,ko=new d.Matrix4,Ji=new d.Ray,lt=new d.Object3D,Lo=new d.Frustum;function p0(n,t){var e=n.elements;return t.setFromRotationMatrix(Or.set(e[0],e[3],e[6],0,e[1],e[4],e[7],0,e[2],e[5],e[8],0,0,0,0,1)),t}var Fn=function(){function n(t){t===void 0&&(t=[]),this.planes=t}return Object.defineProperty(n,"MASK_OUTSIDE",{get:function(){return 4294967295},enumerable:!1,configurable:!0}),Object.defineProperty(n,"MASK_INSIDE",{get:function(){return 0},enumerable:!1,configurable:!0}),Object.defineProperty(n,"MASK_INDETERMINATE",{get:function(){return 2147483647},enumerable:!1,configurable:!0}),n.prototype.setFromFrustum=function(t){return this.planes=t.planes.map(function(e){return e.clone()}),this},n.prototype.setFromCamera=function(t){return Or.multiplyMatrices(t.projectionMatrix,t.matrixWorldInverse),Lo.setFromProjectionMatrix(Or),this.setFromFrustum(Lo),this},n.prototype.applyMatrix4=function(t){for(var e=0,r=this.planes;e<r.length;e++){var i=r[e];i.applyMatrix4(t)}},n.prototype.copy=function(t){return this.planes=t.planes.map(function(e){return e.clone()}),this},n.prototype.clone=function(){return new n().copy(this)},n.prototype.computeVisibility=function(t){for(var e=dt.Inside,r=0,i=this.planes;r<i.length;r++){var a=i[r],o=t.intersectPlane(a);switch(o){case dt.Outside:return dt.Outside;case dt.Intersecting:e=dt.Intersecting;break}}return e},n.prototype.computeVisibilityWithPlaneMask=function(t,e){if(e===n.MASK_OUTSIDE||e===n.MASK_INSIDE)return e;for(var r=n.MASK_INSIDE,i=Math.min(32,this.planes.length),a=0;a<i;++a){var o=1<<a;if(e&o){var s=this.planes[a],u=t.intersectPlane(s);if(u===dt.Outside)return n.MASK_OUTSIDE;u===dt.Intersecting&&(r|=o)}}return r},n}(),v0=function(){function n(){this.type="box",this.center=new d.Vector3,this.halfSize=new d.Vector3,this.rotation=new d.Matrix3}return n.prototype.fromJson=function(t){var e=t.box;this.center.set(e[0],e[1],e[2]);var r=e[3],i=e[4],a=e[5],o=e[6],s=e[7],u=e[8],l=e[9],c=e[10],f=e[11],h=Math.sqrt(r*r+i*i+a*a),m=Math.sqrt(o*o+s*s+u*u),A=Math.sqrt(l*l+c*c+f*f);this.halfSize.set(h,m,A);var p=this.halfSize.toArray().reduce(function(g,v){return g+v},0);return(isNaN(p)||p<=0)&&this.halfSize.setScalar(h0),this.rotation.fromArray([r/h,i/h,a/h,o/m,s/m,u/m,l/A,c/A,f/A]),isNaN(this.rotation.toArray().reduce(function(g,v){return g+v},0))&&this.rotation.identity(),this},n.prototype.toJson=function(){return this.rotation.extractBasis(Tr,Pr,Br),{box:yt(yt(yt(yt([],this.center.toArray(),!0),Tr.multiplyScalar(this.halfSize.x).toArray(),!0),Pr.multiplyScalar(this.halfSize.y).toArray(),!0),Br.multiplyScalar(this.halfSize.z).toArray(),!0)}},n.prototype.copy=function(t){return this.center.copy(t.center),this.halfSize.copy(t.halfSize),this.rotation.copy(t.rotation),this},n.prototype.clone=function(){return new n().copy(this)},n.prototype.applyMatrix4=function(t){return lt.position.copy(this.center),p0(this.rotation,lt.quaternion),lt.scale.copy(this.halfSize),lt.matrix.compose(lt.position,lt.quaternion,lt.scale),lt.matrix.premultiply(t),lt.matrix.decompose(lt.position,lt.quaternion,lt.scale),this.center.copy(lt.position),this.rotation.setFromMatrix4(Or.makeRotationFromQuaternion(lt.quaternion)),this.halfSize.copy(lt.scale),this},n.prototype.getCenter=function(t){return t.copy(this.center)},n.prototype.distanceSquaredToPoint=function(t){var e=this.rotation.elements,r=t.x-this.center.x,i=t.y-this.center.y,a=t.z-this.center.z,o=0,s;return s=r*e[0]+i*e[1]+a*e[2],s<0&&(s=-s),s-=this.halfSize.x,s>0&&(o+=s*s),s=r*e[3]+i*e[4]+a*e[5],s<0&&(s=-s),s-=this.halfSize.y,s>0&&(o+=s*s),s=r*e[6]+i*e[7]+a*e[8],s<0&&(s=-s),s-=this.halfSize.z,s>0&&(o+=s*s),o},n.prototype.distanceToPoint=function(t){return Math.sqrt(this.distanceSquaredToPoint(t))},n.prototype.distanceToPlane=function(t){var e=t.projectPoint(this.center,new d.Vector3);return this.distanceToPoint(e)},n.prototype.getBoundingBox=function(t){return t.makeEmpty(),this.rotation.extractBasis(Tr,Pr,Br),Tr.setLength(this.halfSize.x),Pr.setLength(this.halfSize.y),Br.setLength(this.halfSize.z),t.expandByPoint(He.copy(this.center).add(Tr)),t.expandByPoint(He.copy(this.center).sub(Tr)),t.expandByPoint(He.copy(this.center).add(Pr)),t.expandByPoint(He.copy(this.center).sub(Pr)),t.expandByPoint(He.copy(this.center).add(Br)),t.expandByPoint(He.copy(this.center).sub(Br)),t},n.prototype.toGeometry=function(){var t=new Uint16Array([0,1,1,2,2,3,3,0,4,5,5,6,6,7,7,4,0,4,1,5,2,6,3,7]),e=new Float32Array(8*3);He.set(this.halfSize.x,this.halfSize.y,this.halfSize.z).applyMatrix3(this.rotation).add(this.center).toArray(e,0),He.set(-this.halfSize.x,this.halfSize.y,this.halfSize.z).applyMatrix3(this.rotation).add(this.center).toArray(e,3),He.set(-this.halfSize.x,-this.halfSize.y,this.halfSize.z).applyMatrix3(this.rotation).add(this.center).toArray(e,6),He.set(this.halfSize.x,-this.halfSize.y,this.halfSize.z).applyMatrix3(this.rotation).add(this.center).toArray(e,9),He.set(this.halfSize.x,this.halfSize.y,-this.halfSize.z).applyMatrix3(this.rotation).add(this.center).toArray(e,12),He.set(-this.halfSize.x,this.halfSize.y,-this.halfSize.z).applyMatrix3(this.rotation).add(this.center).toArray(e,15),He.set(-this.halfSize.x,-this.halfSize.y,-this.halfSize.z).applyMatrix3(this.rotation).add(this.center).toArray(e,18),He.set(this.halfSize.x,-this.halfSize.y,-this.halfSize.z).applyMatrix3(this.rotation).add(this.center).toArray(e,21);var r=new d.BufferGeometry;return r.setIndex(new d.BufferAttribute(t,1)),r.setAttribute("position",new d.BufferAttribute(e,3)),r.computeBoundingBox(),r.computeBoundingSphere(),r},n.prototype.intersectPlane=function(t){var e=this.center,r=t.normal,i=this.rotation.elements,a=this.halfSize,o=r.x,s=r.y,u=r.z,l=Math.abs(o*i[0]*a.x+s*i[1]*a.x+u*i[2]*a.x)+Math.abs(o*i[3]*a.y+s*i[4]*a.y+u*i[5]*a.y)+Math.abs(o*i[6]*a.z+s*i[7]*a.z+u*i[8]*a.z),c=r.dot(e)+t.constant;return c<=-l?dt.Outside:c>=l?dt.Inside:dt.Intersecting},n.prototype.intersectRay=function(t,e){if(Ma.copy(this.halfSize).multiplyScalar(2),Ki.setFromCenterAndSize(He.set(0,0,0),Ma),this.rotation.extractBasis(Tr,Pr,Br),Or.makeBasis(Tr,Pr,Br),Or.setPosition(this.center),ko.getInverse(Or),Ji.copy(t).applyMatrix4(ko),Ki.containsPoint(Ji.origin))return!0;var r=Ji.intersectBox(Ki,He);return r?e!==void 0?r.applyMatrix4(Or).distanceTo(t.origin)<e:!0:!1},n}(),A0=function(){function n(){this.type="sphere",this.center=new d.Vector3,this.radius=-1}return n.prototype.fromJson=function(t){var e=t.sphere;return this.center.set(e[0],e[1],e[2]),this.radius=Math.max(e[3],h0),this},n.prototype.toJson=function(){return{sphere:yt(yt([],this.center.toArray(),!0),[this.radius],!1)}},n.prototype.copy=function(t){return this.center.copy(t.center),this.radius=t.radius,this},n.prototype.clone=function(){return new n().copy(this)},n.prototype.getBoundingBox=function(t){return t.setFromCenterAndSize(this.center,Ma.set(1,1,1).multiplyScalar(this.radius*2)),t},n.prototype.toGeometry=function(){for(var t=32,e=new Float32Array(t*3*2*2),r=0;r<=t;r++){var i=0;i=r/t*Math.PI*2,e[r*6+0]=this.center.x+Math.cos(i)*this.radius,e[r*6+1]=this.center.y+Math.sin(i)*this.radius,e[r*6+2]=this.center.z+0,i=(r+1)/t*Math.PI*2,e[r*6+3]=this.center.x+Math.cos(i)*this.radius,e[r*6+4]=this.center.y+Math.sin(i)*this.radius,e[r*6+5]=this.center.z+0}for(var r=t;r<=t*2;r++){var i=0;i=r/t*Math.PI*2,e[r*6+0]=this.center.x+Math.cos(i)*this.radius,e[r*6+1]=this.center.y+0,e[r*6+2]=this.center.z+Math.sin(i)*this.radius,i=(r+1)/t*Math.PI*2,e[r*6+3]=this.center.x+Math.cos(i)*this.radius,e[r*6+4]=this.center.y+0,e[r*6+5]=this.center.z+Math.sin(i)*this.radius}var a=new d.BufferGeometry;return a.setAttribute("position",new d.BufferAttribute(e,3)),a.computeBoundingBox(),a.computeBoundingSphere(),a},n.prototype.applyMatrix4=function(t){return this.center.applyMatrix4(t),this.radius=this.radius*t.getMaxScaleOnAxis(),this},n.prototype.getCenter=function(t){return t.copy(this.center)},n.prototype.distanceSquaredToPoint=function(t){var e=this.distanceToPoint(t);return e*e},n.prototype.distanceToPoint=function(t){var e=this.center.distanceTo(t)-this.radius;return e<=0?0:e},n.prototype.distanceToPlane=function(t){var e=Math.abs(t.distanceToPoint(this.center));return Math.max(0,e-this.radius)},n.prototype.intersectPlane=function(t){var e=this.center,r=this.radius,i=t.normal,a=i.dot(e)+t.constant;return a<-r?dt.Outside:a<r?dt.Intersecting:dt.Inside},n.prototype.intersectRay=function(t,e){if(ji.set(this.center,this.radius),ji.containsPoint(t.origin))return!0;var r=t.intersectSphere(ji,He);return r?e!==void 0?t.origin.distanceTo(r)<e:!0:!1},n}(),Nc=function(){function n(){throw this.type="regin",this.west=0,this.south=0,this.east=0,this.north=0,this.minHeight=0,this.maxHeight=0,new Error("Region bounding volume not supported.")}return n.prototype.fromJson=function(t){var e=t.region;return this.west=e[0],this.south=e[1],this.east=e[2],this.north=e[3],this.minHeight=e[4],this.maxHeight=e[5],this},n.prototype.toJson=function(){return{region:[this.west,this.south,this.east,this.north,this.minHeight,this.maxHeight]}},n.prototype.copy=function(t){return this.west=t.west,this.south=t.south,this.east=t.east,this.north=t.north,this.minHeight=t.minHeight,this.maxHeight=t.maxHeight,this},n.prototype.clone=function(){return new n().copy(this)},n.prototype.getBoundingBox=function(t){throw new Error("not implemented")},n.prototype.toGeometry=function(){throw new Error("not implemented")},n.prototype.applyMatrix4=function(t){throw new Error("not implemented")},n.prototype.getCenter=function(t){throw new Error("not implemented")},n.prototype.distanceToPoint=function(t){throw new Error("not implemented")},n.prototype.distanceSquaredToPoint=function(t){throw new Error("not implemented")},n.prototype.distanceToPlane=function(t){throw new Error("not implemented")},n.prototype.intersectPlane=function(t){throw new Error("not implemented")},n.prototype.intersectRay=function(t){throw new Error("not implemented")},n}();function oi(n){if("box"in n)return new v0().fromJson(n);if("sphere"in n)return new A0().fromJson(n);if("region"in n)return new Nc().fromJson(n);throw new Error("BoundingVolume ".concat(JSON.stringify(n)," never suppored."))}var Yn=[4821759,8191922,16637280,16739958,5822969,376977,16747077,9259235,14514687].map(function(n){return new d.LineBasicMaterial({color:n,depthWrite:!1,depthTest:!1,transparent:!0})}),zc=function(){var n=new Uint16Array([0,1,1,2,2,3,3,0,4,5,5,6,6,7,7,4,0,4,1,5,2,6,3,7]),t=new Float32Array(8*3);He.set(1,1,1).toArray(t,0),He.set(-1,1,1).toArray(t,3),He.set(-1,-1,1).toArray(t,6),He.set(1,-1,1).toArray(t,9),He.set(1,1,-1).toArray(t,12),He.set(-1,1,-1).toArray(t,15),He.set(-1,-1,-1).toArray(t,18),He.set(1,-1,-1).toArray(t,21);var e=new d.BufferGeometry;return e.setIndex(new d.BufferAttribute(n,1)),e.setAttribute("position",new d.BufferAttribute(t,3)),e.computeBoundingBox(),e.computeBoundingSphere(),e}(),Qc=function(){for(var n=32,t=new Float32Array(n*3*2*2),e=0;e<=n;e++){var r=0;r=e/n*Math.PI*2,t[e*6+0]=Math.cos(r),t[e*6+1]=Math.sin(r),t[e*6+2]=0,r=(e+1)/n*Math.PI*2,t[e*6+3]=Math.cos(r),t[e*6+4]=Math.sin(r),t[e*6+5]=0}for(var e=n;e<=n*2;e++){var r=0;r=e/n*Math.PI*2,t[e*6+0]=Math.cos(r),t[e*6+1]=0,t[e*6+2]=Math.sin(r),r=(e+1)/n*Math.PI*2,t[e*6+3]=Math.cos(r),t[e*6+4]=0,t[e*6+5]=Math.sin(r)}var i=new d.BufferGeometry;return i.setAttribute("position",new d.BufferAttribute(t,3)),i.computeBoundingBox(),i.computeBoundingSphere(),i}();function Dc(n,t){if(n instanceof v0){var e=new d.LineSegments(zc,Yn[Math.min(t,Yn.length-1)]);return e.position.copy(n.center),p0(n.rotation,e.quaternion),e.scale.set(n.halfSize.x,n.halfSize.y,n.halfSize.z),e.matrix.compose(e.position,e.quaternion,e.scale),e}else if(n instanceof A0){var e=new d.LineSegments(Qc,Yn[Math.min(t,Yn.length-1)]);return e.position.copy(n.center),e.scale.set(n.radius,n.radius,n.radius),e.matrix.compose(e.position,e.quaternion,e.scale),e}throw new Error("never")}var Xa=function(){function n(t,e,r,i){var a=this,o,s,u;this.parent=null,this.id=t,this.state={visible:!1,frameNumber:0,selectedFrameNumber:0,requestedFrameNumber:0,touchedFrameNumber:0,shouldRefine:!1,distanceToCamera:0,screenSpaceError:0,visibilityPlaneMask:0,inRequestVolume:!1},this.parent=i!=null?i:null,this.level=this.parent?this.parent.level+1:0,this.tileset=r,this.refine=(o=e.refine)!==null&&o!==void 0?o:this.parent?this.parent.refine:"REPLACE",this.transform=new d.Matrix4,e.transform&&this.transform.fromArray(e.transform),this.parent&&this.transform.premultiply(this.parent.transform),typeof e.geometricError=="number"?this.geometricError=e.geometricError*this.transform.getMaxScaleOnAxis():this.geometricError=(u=(s=this.parent)===null||s===void 0?void 0:s.geometricError)!==null&&u!==void 0?u:0,e.content&&e.content.uri?(this.content={uri:e.content.uri,loadState:"UNLOADED",byteLength:0},e.content.group!==void 0&&(this.content.group=e.content.group),e.content.boundingVolume&&(this.content.boundingVolume=oi(e.content.boundingVolume).applyMatrix4(this.transform)),/\.json$/.test(this.content.uri)?this.type="TILESET":this.type="SCENEGRAPH"):(this.content=null,this.type="EMPTY"),this.levelOfContent=this.parent?this.parent.levelOfContent:-1,this.type==="SCENEGRAPH"&&(this.levelOfContent=this.levelOfContent+1),e.boundingVolume&&(this.boundingVolume=oi(e.boundingVolume).applyMatrix4(this.transform)),e.viewerRequestVolume&&(this.viewerRequestVolume=oi(e.viewerRequestVolume).applyMatrix4(this.transform)),this.extras=e.extras||{},e.children?this.children=e.children.map(function(l,c){return new n("".concat(a.id,".").concat(c),l,r,a)}):this.children=[]}return n.prototype.updateState=function(t){this.state.frameNumber=t.frameNumber;var e=this.tileset.transformIsIdentity?null:this.tileset.transform;if(this.boundingVolume){var r=e?this.boundingVolume.clone().applyMatrix4(e):this.boundingVolume;if(t.camera.type==="OrthographicCamera"){var i=new d.Plane().setFromNormalAndCoplanarPoint(t.camera.direction,t.camera.position);this.state.distanceToCamera=r.distanceToPlane(i)}else this.state.distanceToCamera=r.distanceToPoint(t.camera.position);var a=this.parent?this.parent.state.visibilityPlaneMask:Fn.MASK_INDETERMINATE;this.state.visibilityPlaneMask=t.cullingVolume.computeVisibilityWithPlaneMask(r,a),this.state.visible=this.state.visibilityPlaneMask!==Fn.MASK_OUTSIDE}else this.state.distanceToCamera=0,this.state.visibilityPlaneMask=Fn.MASK_INDETERMINATE,this.state.visible=!0;if(this.viewerRequestVolume){var o=e?this.viewerRequestVolume.clone().applyMatrix4(e):this.viewerRequestVolume;this.state.inRequestVolume=o.distanceSquaredToPoint(t.camera.position)<=0}else this.state.inRequestVolume=!0;this.state.screenSpaceError=this.getScreenSpaceError(t,this.state.distanceToCamera,!1)},Object.defineProperty(n.prototype,"selected",{get:function(){return this.state.selectedFrameNumber===this.tileset.frameNumber},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"hasChildren",{get:function(){return this.children.length>0},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"siblingIndex",{get:function(){var t,e;return(e=(t=this.parent)===null||t===void 0?void 0:t.children.indexOf(this))!==null&&e!==void 0?e:0},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"hasTilesetContent",{get:function(){return this.children.length>0&&this.type==="TILESET"},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"hasRenderContent",{get:function(){return this.type==="SCENEGRAPH"},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"contentAvailable",{get:function(){var t;return this.hasRenderContent&&((t=this.content)===null||t===void 0?void 0:t.loadState)==="READY"},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"hasUnloadedContent",{get:function(){var t;return((t=this.content)===null||t===void 0?void 0:t.loadState)==="UNLOADED"},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"hasEmptyContent",{get:function(){return this.type==="EMPTY"},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"contentReady",{get:function(){var t;return((t=this.content)===null||t===void 0?void 0:t.loadState)==="READY"||this.hasEmptyContent},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"contentByteLength",{get:function(){return this.content?this.content.byteLength:0},enumerable:!1,configurable:!0}),n.prototype.loadContent=function(){var t=this,e;if(this.hasEmptyContent||!(!((e=this.content)===null||e===void 0)&&e.uri))return Promise.resolve(!1);var r=this.content;return r.data?Promise.resolve(!0):(r.loadState="LOADING",this.tileset.requestScheduler.scheduleRequest(this.id,function(){return t.getPriority()}).then(function(i){return i?t.tileset.options.contentLoader(t).then(function(a){return i.done(),r.loadState=a?"READY":"UNLOADED",a}).catch(function(a){return r.loadState="FAILED",i.done(),Promise.reject(a)}):(r.loadState="UNLOADED",Promise.resolve(!1))}))},n.prototype.unloadContent=function(){return this.content&&(this.content.loadState="UNLOADED",this.content.byteLength=0),!0},n.prototype.getScreenSpaceError=function(t,e,r){var i=this.tileset.transformIsIdentity?1:this.tileset.transform.getMaxScaleOnAxis(),a=this.parent?this.parent.geometricError:this.tileset.geometricError,o=i*(r?a:this.geometricError);if(o===0)return 0;var s=Math.max(e,.001),u=o*t.height/(s*t.sseDenominator);return u},n.prototype.getPriority=function(){var t=this.refine==="ADD"||this.tileset.skipLevelOfDetail;if(t&&!this.state.visible||this.tileset.frameNumber-this.state.touchedFrameNumber>=1||this.content.loadState==="UNLOADED")return-1;var e=this.parent,r=e&&(!t||this.state.screenSpaceError===0),i=r?e.state.screenSpaceError:this.state.screenSpaceError,a=this.tileset.root?this.tileset.root.state.screenSpaceError:0,o=Math.max(a-i,0);return o},n}(),Ca=function(){function n(){this.maxRequests=n.DEFAULT_MAX_REQUESTS,this.activeRequests=0,this.requestQueue=[],this.requestMap=new Map,this.deferred=null}return n.prototype.scheduleRequest=function(t,e){var r=this.requestMap.get(t);if(r)return r;var i={identiy:t,priority:0,getPriority:e,resolve:function(){}},a=new Promise(function(o){return i.resolve=o});return this.requestQueue.push(i),this.requestMap.set(t,a),this.issueNewRequests(),a},n.prototype.reset=function(){for(var t=0,e=this.requestQueue;t<e.length;t++){var r=e[t];r.resolve(null)}this.requestQueue.length=0,this.requestMap.clear(),this.activeRequests=0},n.prototype.issueRequest=function(t){var e=this,r=t.identiy,i=t.resolve,a=!1,o=function(){a||(a=!0,e.requestMap.delete(r),e.activeRequests--,e.issueNewRequests())};this.activeRequests++,i({done:o})},n.prototype.issueNewRequests=function(){var t=this;this.deferred||(this.deferred=setTimeout(function(){return t.issueNewRequestsAsync()},0))},n.prototype.issueNewRequestsAsync=function(){this.deferred=null;var t=Math.max(this.maxRequests-this.activeRequests,0);if(t!==0){this.updateAllRequests();for(var e=0;e<t;e++){var r=this.requestQueue.shift();if(r)this.issueRequest(r);else break}}},n.prototype.updateAllRequests=function(){for(var t=this.requestQueue,e=0;e<t.length;e++){var r=t[e];this.updateRequest(r)===!1&&(t.splice(e,1),this.requestMap.delete(r.identiy),e--)}t.sort(function(i,a){return i.priority-a.priority})},n.prototype.updateRequest=function(t){return t.priority=t.getPriority(t.identiy),t.priority<0?(t.resolve(null),!1):!0},n.DEFAULT_MAX_REQUESTS=6,n}(),Uc=function(){function n(t,e,r){this.item=t,this.previous=e,this.next=r}return n}(),qc=function(){function n(){this.head=null,this.tail=null,this._length=0}return Object.defineProperty(n.prototype,"length",{get:function(){return this._length},enumerable:!1,configurable:!0}),n.prototype.add=function(t){var e=new Uc(t,this.tail,null);return this.tail?(this.tail.next=e,this.tail=e):(this.head=e,this.tail=e),this._length++,e},n.prototype.remove=function(t){t.previous&&t.next?(t.previous.next=t.next,t.next.previous=t.previous):t.previous?(t.previous.next=null,this.tail=t.previous):t.next?(t.next.previous=null,this.head=t.next):(this.head=null,this.tail=null),t.next=null,t.previous=null,this._length--},n.prototype.splice=function(t,e){t!==e&&(this.remove(e),this.insert(t,e))},n.prototype.insert=function(t,e){var r=t.next;t.next=e,this.tail===t?this.tail=e:r.previous=e,e.next=r,e.previous=t,this._length++},n.prototype.toArray=function(){for(var t=[],e=this.head;e;)t.push(e),e=e.next;return t},n}(),m0=function(){function n(){this.cacheNodeMap=new Map,this.list=new qc,this.sentinel=this.list.add("sentinel")}return n.prototype.reset=function(){this.list.tail&&this.list.splice(this.list.tail,this.sentinel)},n.prototype.touch=function(t){var e=this.cacheNodeMap.get(t);e&&this.list.splice(this.sentinel,e)},n.prototype.add=function(t,e){if(!this.cacheNodeMap.has(t)){var r=this.list.add(t);this.cacheNodeMap.set(t,r),e&&e(t)}},n.prototype.unloadTile=function(t,e){var r=this.cacheNodeMap.get(t);r&&(this.list.remove(r),this.cacheNodeMap.delete(t),e&&e(t))},n.prototype.unloadTiles=function(t,e){for(var r=this.list.head;r!==this.sentinel&&t();){var i=r.item;r=r.next,this.unloadTile(i,e)}},n.prototype.toArray=function(){for(var t=[],e=0,r=this.list.toArray();e<r.length;e++){var i=r[e];i.item!=="sentinel"&&t.push(i.item)}return t},n}(),Oo=function(){function n(){this.map=new Map,this.array=[],this._length=0}return Object.defineProperty(n.prototype,"length",{get:function(){return this._length},enumerable:!1,configurable:!0}),n.prototype.get=function(t){return this.array[t]},n.prototype.set=function(t,e){t>=this.length&&(this._length=t+1),this.map.has(this.array[t])&&this.map.delete(this.array[t]),this.array[t]=e,this.map.set(e,t)},n.prototype.delete=function(t){var e=this.map.get(t);e!==void 0&&e>=0&&(this.array.splice(e,1),this.map.delete(t),this._length--)},n.prototype.push=function(t){if(!this.map.has(t)){var e=this._length++;this.array[e]=t,this.map.set(t,e)}},n.prototype.pop=function(){var t=this.array[--this._length];return this.map.delete(t),t},n.prototype.reset=function(){this.array=[],this.map=new Map,this._length=0},n.prototype.find=function(t){return this.map.has(t)},n}(),si=function(){function n(){this.loadSiblings=n.DEFAULT_LOAD_SIBLINGS,this.skipLevelOfDetail=n.DEFAULT_SKIP_LEVEL_OF_DETAIL,this.maxScreenSpaceError=n.DEFAULT_MAX_SCREEN_SPACE_ERROR,this._canSelectTile=!0,this._traversalStack=new Oo,this._emptyTraversalStack=new Oo,this.root=null,this.selectedTiles=new Map,this.requestedTiles=new Map,this.needsRefinedTiles=new Map}return n.prototype.traverse=function(t,e,r){r===void 0&&(r=[]),this.root=t,this.reset();for(var i=0,a=r;i<a.length;i++){var o=a[i];this._traversalStack.reset(),this._emptyTraversalStack.reset(),o.camera.refine&&(this._canSelectTile=o.camera.visible,this.updateTile(t,o),this.executeTraversal(t,o))}this._traversalStack.reset(),this._emptyTraversalStack.reset(),e.camera.refine&&(this._canSelectTile=e.camera.visible,this.updateTile(t,e),this.executeTraversal(t,e))},n.prototype.reset=function(){this.needsRefinedTiles.clear(),this.requestedTiles.clear(),this.selectedTiles.clear(),this._traversalStack.reset(),this._emptyTraversalStack.reset()},n.prototype.executeTraversal=function(t,e){var r=this._traversalStack;if(e.maxLevelOfDetail>=0)for(t.state.visible&&t.state.inRequestVolume&&r.push(t);r.length>0;){var i=r.pop(),a=!1;this.canTraverse(i,e,!1,!1)&&(this.updateChildTiles(i,e),a=this.updateAndPushChildren(i,e,r));var o=i.parent,s=!o||o.state.shouldRefine,u=!a;i.hasRenderContent?i.refine==="ADD"?(this.loadTile(i,e.frameNumber),this.selectTile(i,e)):i.refine==="REPLACE"&&(this.loadTile(i,e.frameNumber),u&&this.selectTile(i,e)):(this.loadTile(i,e.frameNumber),u&&this.selectTile(i,e)),this.touchTile(i,e),i.state.shouldRefine=a&&s}},n.prototype.updateChildTiles=function(t,e){for(var r=t.children,i=0,a=r;i<a.length;i++){var o=a[i];this.updateTile(o,e)}return!0},n.prototype.updateAndPushChildren=function(t,e,r){for(var i=t.children,a=t.refine==="REPLACE"&&t.hasRenderContent&&!this.skipLevelOfDetail,o=!1,s=!0,u=0,l=i;u<l.length;u++){var c=l[u];if(c.state.visible&&c.state.inRequestVolume?(r.find(c)&&r.delete(c),r.push(c),o=!0):(a||this.loadSiblings)&&(this.loadTile(c,e.frameNumber),this.touchTile(c,e)),a){var f=void 0;c.state.inRequestVolume?c.hasRenderContent?f=c.contentAvailable:f=this.executeEmptyTraversal(c,e):f=!1,s=s&&f}}return o||(s=!1),s},n.prototype.updateTile=function(t,e){this.updateTileVisibility(t,e)},n.prototype.selectTile=function(t,e){var r=t.contentAvailable&&this._canSelectTile;r&&(t.state.selectedFrameNumber=e.frameNumber,this.selectedTiles.set(t.id,t)),this.needsRefinedTiles.set(t.id,t)},n.prototype.loadTile=function(t,e){t.hasUnloadedContent&&(t.state.requestedFrameNumber=e,this.requestedTiles.set(t.id,t)),this.needsRefinedTiles.set(t.id,t)},n.prototype.touchTile=function(t,e){t.tileset.cache.touch(t),t.state.touchedFrameNumber=e.frameNumber},n.prototype.canTraverse=function(t,e,r,i){return t.hasChildren?t.hasTilesetContent?!0:!i&&!t.state.visible?!1:this.shouldRefine(t,e,r):!1},n.prototype.shouldRefine=function(t,e,r){if(t.hasEmptyContent)return!0;if(t.levelOfContent>=e.maxLevelOfDetail)return!1;if(t.levelOfContent<e.minLevelOfDetail)return!0;var i=t.state.screenSpaceError;return r&&(i=t.getScreenSpaceError(e,t.state.distanceToCamera,!0)),i>this.maxScreenSpaceError},n.prototype.updateTileVisibility=function(t,e){if(t.updateState(e),!(!t.state.visible||!t.state.inRequestVolume)){var r=t.children.length>0;if(t.hasTilesetContent&&r){var i=t.children[0];this.updateTileVisibility(i,e),t.state.visible=i.state.visible;return}if(this.meetsScreenSpaceErrorEarly(t,e)){t.state.visible=!1;return}}},n.prototype.meetsScreenSpaceErrorEarly=function(t,e){var r=t.parent;return!r||r.refine!=="ADD"?!1:!this.shouldRefine(t,e,!0)},n.prototype.compareDistanceToCamera=function(t,e){return e.state.distanceToCamera-t.state.distanceToCamera},n.prototype.executeEmptyTraversal=function(t,e){var r=!0,i=this._emptyTraversalStack;for(i.push(t);i.length>0&&r;){var a=i.pop();this.updateTile(a,e),a.state.visible||this.loadTile(a,e.frameNumber),this.touchTile(a,e);var o=!a.hasRenderContent&&this.canTraverse(a,e,!1,!0);if(o)for(var s=a.children,u=0,l=s;u<l.length;u++){var c=l[u];i.find(c)&&i.delete(c),i.push(c)}else a.contentAvailable||(r=!1)}return r},n.DEFAULT_SKIP_LEVEL_OF_DETAIL=!1,n.DEFAULT_LOAD_SIBLINGS=!1,n.DEFAULT_MAX_SCREEN_SPACE_ERROR=4,n}(),Hc=new d.Matrix4,xn=function(){function n(t,e,r){var i,a,o,s;this.id=t,this.transform=new d.Matrix4,this.transformIsIdentity=!0,this.referer=(i=r.referer)!==null&&i!==void 0?i:"",this.asset={version:e.asset.version,tilesetVersion:e.asset.tilesetVersion||"",gltfUpAxis:(a=e.asset.gltfUpAxis)!==null&&a!==void 0?a:"Y",overview:e.asset.overview},this.rootMeta=(o=e.rootMeta)!==null&&o!==void 0?o:{},this.properties=(s=e.properties)!==null&&s!==void 0?s:{},this.options=r,this.traverser=new si,this.cache=new m0,this.requestScheduler=new Ca,this.frameNumber=0,this.pendingCount=0,this.tiles=new Map,this.memoryUsageInBytes=0,this.root=new Xa("".concat(this.id,".0"),e.root,this),this.geometricError=e.geometricError,this.maxMemoryUsage=n.DEFAULT_MAX_MEMORY_USAGE}return Object.defineProperty(n.prototype,"maxRequests",{get:function(){return this.requestScheduler.maxRequests},set:function(t){this.requestScheduler.maxRequests=t},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"skipLevelOfDetail",{get:function(){return this.traverser.skipLevelOfDetail},set:function(t){this.traverser.skipLevelOfDetail=t},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"maxScreenSpaceError",{get:function(){return this.traverser.maxScreenSpaceError},set:function(t){this.traverser.maxScreenSpaceError=t},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"selectedTiles",{get:function(){return this.traverser.selectedTiles},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"needsRefinedTiles",{get:function(){return this.traverser.needsRefinedTiles},enumerable:!1,configurable:!0}),n.prototype.reset=function(){for(var t=this,e=[this.root],r;r=e.pop();){for(var i=0,a=r.children.length;i<a;i++)e.push(r.children[i]);this.cache.unloadTile(r,function(o){return t.unloadTile(o)})}this.cache.reset(),this.traverser.reset(),this.requestScheduler.reset(),this.tiles.clear()},n.prototype.isLoaded=function(){return this.pendingCount===0&&this.frameNumber!==0},n.prototype.traverse=function(t,e){var r=this;e===void 0&&(e=[]),this.transformIsIdentity=this.transform.equals(Hc),this.traverser.traverse(this.root,t,e),this.selectedTiles.forEach(function(i){r.tiles.set(i.id,i)}),this.traverser.requestedTiles.forEach(function(i){i.hasUnloadedContent&&r.loadTile(i)}),this.cache.unloadTiles(function(){var i=r.memoryUsageInBytes>r.maxMemoryUsage*1024*1024;return i},function(i){r.unloadTile(i),r.tiles.delete(i.id)})},n.prototype.loadTile=function(t){var e=this;this.pendingCount++,t.loadContent().catch(function(r){return e.options.onTileError(t,r),!1}).then(function(r){var i;e.pendingCount--,r&&(!((i=t.content)===null||i===void 0)&&i.data&&e.cache.add(t,function(){e.memoryUsageInBytes+=t.contentByteLength}),e.options.onTileLoad(t))})},n.prototype.unloadTile=function(t){this.memoryUsageInBytes-=t.contentByteLength,this.options.onTileUnload(t),t.unloadContent()},n.DEFAULT_VIEW_DISTANCE_SCALE=1,n.DEFAULT_MAX_MEMORY_USAGE=16,n.DEFAULT_MAX_SCREEN_SPACE_ERROR=si.DEFAULT_MAX_SCREEN_SPACE_ERROR,n.DEFAULT_SKIP_LEVEL_OF_DETAIL=si.DEFAULT_SKIP_LEVEL_OF_DETAIL,n.DEFAULT_MAX_REQUESTS=Ca.DEFAULT_MAX_REQUESTS,n}(),pn=function(){function n(t,e,r,i,a){this.id=t,this.extents=e,this.startIndex=r,this.endIndex=i,this.deepth=a}return n}(),yr=6*4+4+4+2+2;function g0(n,t){for(var e=new ArrayBuffer(t*yr),r=new Float32Array(e),i=new Uint32Array(e),a=new Uint16Array(e),o=[n],s,u;s=o.pop();)u=s.id*yr/4,r[u]=s.extents[0],r[u+1]=s.extents[1],r[u+2]=s.extents[2],r[u+3]=s.extents[3],r[u+4]=s.extents[4],r[u+5]=s.extents[5],i[u+6]=s.startIndex,i[u+7]=s.endIndex,u=s.id*yr/2,s.node0&&(a[u+16]=s.node0.id,o.push(s.node0)),s.node1&&(a[u+17]=s.node1.id,o.push(s.node1));return e}function y0(n,t,e,r,i,a,o,s,u){u===void 0&&(u=0),e=e-u,r=r-u,i=i-u,a=a+u,o=o+u,s=s+u;var l=0,c=0,f=0,h=0,m=0,A=0;return t.x>=0?(l=(e-n.x)*t.x,c=(a-n.x)*t.x):(l=(a-n.x)*t.x,c=(e-n.x)*t.x),t.y>=0?(f=(r-n.y)*t.y,h=(o-n.y)*t.y):(f=(o-n.y)*t.y,h=(r-n.y)*t.y),!(l>h||f>c||(f>l&&(l=f),h<c&&(c=h),t.z>=0?(m=(i-n.z)*t.z,A=(s-n.z)*t.z):(m=(s-n.z)*t.z,A=(i-n.z)*t.z),l>A||m>c)||(m>l&&(l=m),A<c&&(c=A),c<0))}var b0=function(){function n(t,e,r){this.x=t,this.y=e,this.z=r}return n.prototype.copy=function(t){return this.x=t.x,this.y=t.y,this.z=t.z,this},n.prototype.set=function(t,e,r){return this.x=t,this.y=e,this.z=r,this},n.prototype.fromArray=function(t,e){return e===void 0&&(e=0),this.x=t[e],this.y=t[e+1],this.z=t[e+2],this},n.prototype.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},n.prototype.add=function(t){return this.x+=t.x,this.y+=t.y,this.z+=t.z,this},n.prototype.multiplyScalar=function(t){return this.x*=t,this.y*=t,this.z*=t,this},n.prototype.subVectors=function(t,e){return this.x=t.x-e.x,this.y=t.y-e.y,this.z=t.z-e.z,this},n.prototype.addScaledVector=function(t,e){return this.x+=t.x*e,this.y+=t.y*e,this.z+=t.z*e,this},n.prototype.dot=function(t){return this.x*t.x+this.y*t.y+this.z*t.z},n.prototype.cross=function(t){var e=this.x,r=this.y,i=this.z;return this.x=r*t.z-i*t.y,this.y=i*t.x-e*t.z,this.z=e*t.y-r*t.x,this},n.prototype.crossVectors=function(t,e){var r=t.x,i=t.y,a=t.z,o=e.x,s=e.y,u=e.z;return this.x=i*u-a*s,this.y=a*o-r*u,this.z=r*s-i*o,this},n.prototype.distanceTo=function(t){return Math.sqrt(this.distanceToSquared(t))},n.prototype.distanceToSquared=function(t){var e=this.x-t.x,r=this.y-t.y,i=this.z-t.z;return e*e+r*r+i*i},n.prototype.clone=function(){return new n(this.x,this.y,this.z)},n}(),w0=function(){function n(t,e,r){this.triangle=t,this.intersectionPoint=e,this.index=r}return n}(),Vo=1e-6,No=function(){function n(t,e){if(this.positionArray=t,e)this.indicesArray=e;else{for(var r=t.length/3,i=r>65535?new Uint32Array(r):new Uint16Array(r),a=0;a<r;a++)i[a]=a;this.indicesArray=i}}return n.prototype.createTree=function(t,e,r){e=Math.min(e,16);var i=this.positionArray,a=this.indicesArray,o=a.length/3,s=o>65535?new Uint32Array(o):new Uint16Array(o),u=new Float32Array(o*6),l=[],c=0,f=-1;if(r)for(var h=0,m=0,A=0,p=void 0,g=void 0,v=void 0,y=void 0,b=void 0,w=void 0,E=void 0;h<o;h+=1,m+=3,A+=6)s[h]=h,p=y=i[a[m]*3],E=i[a[m+1]*3],E<p&&(p=E),E>y&&(y=E),E=i[a[m+2]*3],E<p&&(p=E),E>y&&(y=E),g=b=i[a[m]*3+1],E=i[a[m+1]*3+1],E<g&&(g=E),E>b&&(b=E),E=i[a[m+2]*3+1],E<g&&(g=E),E>b&&(b=E),v=w=i[a[m]*3+2],E=i[a[m+1]*3+2],E<v&&(v=E),E>w&&(w=E),E=i[a[m+2]*3+2],E<v&&(v=E),E>w&&(w=E),u[A]=p,u[A+1]=g,u[A+2]=v,u[A+3]=y,u[A+4]=b,u[A+5]=w;else{for(var x=1/0,C=1/0,M=1/0,I=-1/0,T=-1/0,P=-1/0,h=0,m=0,A=0,p=void 0,g=void 0,v=void 0,y=void 0,b=void 0,w=void 0,E=void 0;h<o;h+=1,m+=3,A+=6)s[h]=h,p=y=i[a[m]*3],E=i[a[m+1]*3],E<p&&(p=E),E>y&&(y=E),E=i[a[m+2]*3],E<p&&(p=E),E>y&&(y=E),g=b=i[a[m]*3+1],E=i[a[m+1]*3+1],E<g&&(g=E),E>b&&(b=E),E=i[a[m+2]*3+1],E<g&&(g=E),E>b&&(b=E),v=w=i[a[m]*3+2],E=i[a[m+1]*3+2],E<v&&(v=E),E>w&&(w=E),E=i[a[m+2]*3+2],E<v&&(v=E),E>w&&(w=E),u[A]=p,u[A+1]=g,u[A+2]=v,u[A+3]=y,u[A+4]=b,u[A+5]=w,p<x&&(x=p),y>I&&(I=y),g<C&&(C=g),b>T&&(T=b),v<M&&(M=v),w>P&&(P=w);r=[x,C,M,I,T,P]}var R=new pn(++f,r,0,o,0);l[c++]=R;var L=[],F=[0,1,2],O=function(N,W){return L[W]-L[N]};function z(N){var W=N.startIndex,j=N.endIndex,D=N.extents;L[0]=D[3]-D[0],L[1]=D[4]-D[1],L[2]=D[5]-D[2],F.sort(O);for(var H=0;H<3;H++){for(var K=F[H],Z=D[K]+D[K+3],G=W,X=j-1,_=-1,de=void 0;G<=X;)_===-1?(de=s[G],u[de*6+K]+u[de*6+K+3]<Z?G++:_=de):(de=s[X],u[de*6+K]+u[de*6+K+3]>=Z||(s[G]=de,s[X]=_,_=-1,G++),X--);if(G>W&&G<j){var ee=new pn(++f,zo(s,u,W,G,Vo),W,G,N.deepth+1);ee.deepth<e&&ee.endIndex-ee.startIndex>t&&(l[c++]=ee);var oe=new pn(++f,zo(s,u,G,j,Vo),G,j,N.deepth+1);oe.deepth<e&&oe.endIndex-oe.startIndex>t&&(l[c++]=oe),N.node0=ee,N.node1=oe,N.startIndex=0,N.endIndex=0;break}}}for(;c;)z(l[--c]);return this.offsetArray=s,this.rootNodePacked=g0(R,f+1),l.length=0,this},n.prototype.trianglesInSphere=function(t,e){for(var r=this.positionArray,i=this.indicesArray,a=this.offsetArray,o=this.rootNodePacked,s=new Float32Array(o),u=new Uint32Array(o),l=new Uint16Array(o),c=[0],f=[],h,m,A,p;(h=c.pop())!==void 0;){p=h*yr/4;var g=Wi(t.x,s[p],s[p+3])-t.x,v=Wi(t.y,s[p+1],s[p+4])-t.y,y=Wi(t.z,s[p+2],s[p+5])-t.z;if(g*g+v*v+y*y<=e*e){for(var b=u[p+6];b<u[p+7];b++)f.push(a[b]);p=h*yr/2,m=l[p+16],A=l[p+17],m&&c.push(m),A&&c.push(A)}}for(var w=f.length,E=new Float32Array(w*9),b=0;b<w;b++){var x=f[b];E[b*9]=r[i[x]*3],E[b*9+1]=r[i[x]*3+1],E[b*9+2]=r[i[x]*3+2],E[b*9+3]=r[i[x+1]*3],E[b*9+4]=r[i[x+1]*3+1],E[b*9+5]=r[i[x+1]*3+2],E[b*9+6]=r[i[x+2]*3],E[b*9+7]=r[i[x+2]*3+1],E[b*9+8]=r[i[x+2]*3+2]}return E},n.prototype.intersectRay=function(t,e,r){for(var i=this.positionArray,a=this.indicesArray,o=this.offsetArray,s=this.rootNodePacked,u=new Float32Array(s),l=new Uint32Array(s),c=new Uint16Array(s),f=new b0(1/e.x,1/e.y,1/e.z),h=[0],m,A,p,g;(m=h.pop())!==void 0;)if(g=m*yr/4,y0(t,f,u[g],u[g+1],u[g+2],u[g+3],u[g+4],u[g+5])){for(var v=l[g+6],y=l[g+7],b=void 0,w=void 0,E=void 0,x=t.x,C=t.y,M=t.z,I=e.x,T=e.y,P=e.z,R=void 0,L=void 0,F=void 0,O=void 0,z=void 0,N=void 0,W=void 0,j=void 0,D=void 0,H=void 0,K=void 0,Z=void 0,G=void 0,X=void 0,_=void 0,de=void 0,ee=void 0,oe=void 0,ie=void 0,ue=void 0,ne=void 0,ae=void 0,he=void 0,ve=void 0,we=void 0,Me=void 0,Be=void 0;v<y;v++){if(b=o[v],w=b*3,E=a[w]*3,R=i[E],L=i[++E],F=i[++E],E=a[w+1]*3,O=i[E],z=i[++E],N=i[++E],E=a[w+2]*3,W=i[E],j=i[++E],D=i[++E],H=O-R,K=z-L,Z=N-F,G=W-R,X=j-L,_=D-F,de=K*_-Z*X,ee=Z*G-H*_,oe=H*X-K*G,he=I*de+T*ee+P*oe,he>0)ae=1;else if(he<0)ae=-1,he=-he;else continue;ie=x-R,ue=C-L,ne=M-F,ve=ae*(I*(ue*_-ne*X)+T*(ne*G-ie*_)+P*(ie*X-ue*G)),!(ve<0)&&(we=ae*(I*(K*ne-Z*ue)+T*(Z*ie-H*ne)+P*(H*ue-K*ie)),!(we<0)&&(ve+we>he||(Me=-ae*(ie*de+ue*ee+ne*oe),!(Me<0)&&(Be=Me/he,r.push(new w0([R,L,F,O,z,N,W,j,D],[x+I*Be,C+T*Be,M+P*Be],b))))))}g=m*yr/2,A=c[g+16],p=c[g+17],A&&h.push(A),p&&h.push(p)}return r},n}();function Wi(n,t,e){return n<t?t:n>e?e:n}function zo(n,t,e,r,i){if(e>=r)return[0,0,0,0,0,0];for(var a=1/0,o=1/0,s=1/0,u=-1/0,l=-1/0,c=-1/0,f=e,h=void 0,m=void 0;f<r;f++)h=n[f]*6,m=t[h],m<a&&(a=m),m=t[h+1],m<o&&(o=m),m=t[h+2],m<s&&(s=m),m=t[h+3],m>u&&(u=m),m=t[h+4],m>l&&(l=m),m=t[h+5],m>c&&(c=m);return[a-i,o-i,s-i,u+i,l+i,c+i]}var Qo=1e-6,Do=function(){function n(t,e){this.positionArray=t,this.indicesArray=e}return n.prototype.createTree=function(t,e,r){e=Math.min(e,16);var i=this.positionArray,a=this.indicesArray,o=a?a.length:i.length/3,s=o>65535?new Uint32Array(o):new Uint16Array(o),u=[],l=0,c=-1;if(r)for(var f=0;f<o;f+=1)s[f]=f;else{for(var h=a?a[0]*3:0,m=i[h],A=i[h+1],p=i[h+2],g=m,v=A,y=p,f=0,b=0,w=void 0,E=void 0,x=void 0;f<o;f+=1,b+=3)s[f]=f,h=(a?a[b]:b)*3,w=i[h],E=i[h+1],x=i[h+2],w<m?m=w:w>g&&(g=w),E<A?A=E:E>v&&(v=E),x<p?p=x:x>y&&(y=x);r=[m,A,p,g,v,y]}var C=new pn(++c,r,0,o,0);u[l++]=C;var M=[],I=[0,1,2],T=function(R,L){return M[L]-M[R]};function P(R){var L=R.startIndex,F=R.endIndex,O=R.extents;M[0]=O[3]-O[0],M[1]=O[4]-O[1],M[2]=O[5]-O[2];for(var z=I.sort(T)[0],N=(O[z]+O[z+3])/2,W=L,j=F-1,D=-1,H,K;W<=j;)D===-1?(H=s[W],K=(a?a[H]:H)*3,i[K+z]<N?W++:D=H):(H=s[j],K=(a?a[H]:H)*3,i[K+z]>=N||(s[W]=H,s[j]=D,D=-1,W++),j--);if(W>L){var Z=O.slice();Z[z+3]=N+Qo;var G=new pn(++c,Z,L,W,R.deepth+1);G.deepth<e&&G.endIndex-G.startIndex>t&&(u[l++]=G),R.node0=G}if(F>W){var X=O.slice();X[z]=N-Qo;var _=new pn(++c,X,W,F,R.deepth+1);_.deepth<e&&_.endIndex-_.startIndex>t&&(u[l++]=_),R.node1=_}R.startIndex=0,R.endIndex=0}for(;l;)P(u[--l]);return this.offsetArray=s,this.rootNodePacked=g0(C,c+1),u.length=0,this},n.prototype.intersectRay=function(t,e,r,i){for(var a=this.positionArray,o=this.indicesArray,s=this.offsetArray,u=this.rootNodePacked,l=new Float32Array(u),c=new Uint32Array(u),f=new Uint16Array(u),h=r*r,m=new b0(1/e.x,1/e.y,1/e.z),A=[0],p,g,v,y;(p=A.pop())!==void 0;)if(y=p*yr/4,y0(t,m,l[y],l[y+1],l[y+2],l[y+3],l[y+4],l[y+5],r)){for(var b=c[y+6],w=c[y+7],E=void 0,x=void 0,C=void 0,M=void 0,I=void 0,T=void 0,P=void 0,R=void 0,L=void 0,F=void 0,O=void 0,z=void 0,N=void 0;b<w;b++)E=s[b],x=(o?o[E]:E)*3,C=a[x],M=a[++x],I=a[++x],T=t.x,P=t.y,R=t.z,L=e.x,F=e.y,O=e.z,z=L*(C-T)+F*(M-P)+O*(I-R),z>0&&(T+=L*z,P+=F*z,R+=O*z),L=C-T,F=M-P,O=I-R,z=L*L+F*F+O*O,z<=h&&i.push(new w0([C,M,I,C,M,I,C,M,I],[T,P,R],E));y=p*yr/2,g=f[y+16],v=f[y+17],g&&A.push(g),v&&A.push(v)}return i},n}();const E0="KGZ1bmN0aW9uKCl7InVzZSBzdHJpY3QiO3ZhciBaPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gaChyLG8sYSxpLHMpe3RoaXMuaWQ9cix0aGlzLmV4dGVudHM9byx0aGlzLnN0YXJ0SW5kZXg9YSx0aGlzLmVuZEluZGV4PWksdGhpcy5kZWVwdGg9c31yZXR1cm4gaH0oKSxSPTYqNCs0KzQrMisyO2Z1bmN0aW9uIG5yKGgscil7Zm9yKHZhciBvPW5ldyBBcnJheUJ1ZmZlcihyKlIpLGE9bmV3IEZsb2F0MzJBcnJheShvKSxpPW5ldyBVaW50MzJBcnJheShvKSxzPW5ldyBVaW50MTZBcnJheShvKSxlPVtoXSx2LG47dj1lLnBvcCgpOyluPXYuaWQqUi80LGFbbl09di5leHRlbnRzWzBdLGFbbisxXT12LmV4dGVudHNbMV0sYVtuKzJdPXYuZXh0ZW50c1syXSxhW24rM109di5leHRlbnRzWzNdLGFbbis0XT12LmV4dGVudHNbNF0sYVtuKzVdPXYuZXh0ZW50c1s1XSxpW24rNl09di5zdGFydEluZGV4LGlbbis3XT12LmVuZEluZGV4LG49di5pZCpSLzIsdi5ub2RlMCYmKHNbbisxNl09di5ub2RlMC5pZCxlLnB1c2godi5ub2RlMCkpLHYubm9kZTEmJihzW24rMTddPXYubm9kZTEuaWQsZS5wdXNoKHYubm9kZTEpKTtyZXR1cm4gb31mdW5jdGlvbiBhcihoLHIsbyxhLGkscyxlLHYsbil7bj09PXZvaWQgMCYmKG49MCksbz1vLW4sYT1hLW4saT1pLW4scz1zK24sZT1lK24sdj12K247dmFyIGQ9MCxmPTAscD0wLEE9MCx1PTAsST0wO3JldHVybiByLng+PTA/KGQ9KG8taC54KSpyLngsZj0ocy1oLngpKnIueCk6KGQ9KHMtaC54KSpyLngsZj0oby1oLngpKnIueCksci55Pj0wPyhwPShhLWgueSkqci55LEE9KGUtaC55KSpyLnkpOihwPShlLWgueSkqci55LEE9KGEtaC55KSpyLnkpLCEoZD5BfHxwPmZ8fChwPmQmJihkPXApLEE8ZiYmKGY9QSksci56Pj0wPyh1PShpLWgueikqci56LEk9KHYtaC56KSpyLnopOih1PSh2LWgueikqci56LEk9KGktaC56KSpyLnopLGQ+SXx8dT5mKXx8KHU+ZCYmKGQ9dSksSTxmJiYoZj1JKSxmPDApKX12YXIgdnI9ZnVuY3Rpb24oKXtmdW5jdGlvbiBoKHIsbyxhKXt0aGlzLng9cix0aGlzLnk9byx0aGlzLno9YX1yZXR1cm4gaC5wcm90b3R5cGUuY29weT1mdW5jdGlvbihyKXtyZXR1cm4gdGhpcy54PXIueCx0aGlzLnk9ci55LHRoaXMuej1yLnosdGhpc30saC5wcm90b3R5cGUuc2V0PWZ1bmN0aW9uKHIsbyxhKXtyZXR1cm4gdGhpcy54PXIsdGhpcy55PW8sdGhpcy56PWEsdGhpc30saC5wcm90b3R5cGUuZnJvbUFycmF5PWZ1bmN0aW9uKHIsbyl7cmV0dXJuIG89PT12b2lkIDAmJihvPTApLHRoaXMueD1yW29dLHRoaXMueT1yW28rMV0sdGhpcy56PXJbbysyXSx0aGlzfSxoLnByb3RvdHlwZS50b0FycmF5PWZ1bmN0aW9uKHIsbyl7cmV0dXJuIHI9PT12b2lkIDAmJihyPVtdKSxvPT09dm9pZCAwJiYobz0wKSxyW29dPXRoaXMueCxyW28rMV09dGhpcy55LHJbbysyXT10aGlzLnoscn0saC5wcm90b3R5cGUuYWRkPWZ1bmN0aW9uKHIpe3JldHVybiB0aGlzLngrPXIueCx0aGlzLnkrPXIueSx0aGlzLnorPXIueix0aGlzfSxoLnByb3RvdHlwZS5tdWx0aXBseVNjYWxhcj1mdW5jdGlvbihyKXtyZXR1cm4gdGhpcy54Kj1yLHRoaXMueSo9cix0aGlzLnoqPXIsdGhpc30saC5wcm90b3R5cGUuc3ViVmVjdG9ycz1mdW5jdGlvbihyLG8pe3JldHVybiB0aGlzLng9ci54LW8ueCx0aGlzLnk9ci55LW8ueSx0aGlzLno9ci56LW8ueix0aGlzfSxoLnByb3RvdHlwZS5hZGRTY2FsZWRWZWN0b3I9ZnVuY3Rpb24ocixvKXtyZXR1cm4gdGhpcy54Kz1yLngqbyx0aGlzLnkrPXIueSpvLHRoaXMueis9ci56Km8sdGhpc30saC5wcm90b3R5cGUuZG90PWZ1bmN0aW9uKHIpe3JldHVybiB0aGlzLngqci54K3RoaXMueSpyLnkrdGhpcy56KnIuen0saC5wcm90b3R5cGUuY3Jvc3M9ZnVuY3Rpb24ocil7dmFyIG89dGhpcy54LGE9dGhpcy55LGk9dGhpcy56O3JldHVybiB0aGlzLng9YSpyLnotaSpyLnksdGhpcy55PWkqci54LW8qci56LHRoaXMuej1vKnIueS1hKnIueCx0aGlzfSxoLnByb3RvdHlwZS5jcm9zc1ZlY3RvcnM9ZnVuY3Rpb24ocixvKXt2YXIgYT1yLngsaT1yLnkscz1yLnosZT1vLngsdj1vLnksbj1vLno7cmV0dXJuIHRoaXMueD1pKm4tcyp2LHRoaXMueT1zKmUtYSpuLHRoaXMuej1hKnYtaSplLHRoaXN9LGgucHJvdG90eXBlLmRpc3RhbmNlVG89ZnVuY3Rpb24ocil7cmV0dXJuIE1hdGguc3FydCh0aGlzLmRpc3RhbmNlVG9TcXVhcmVkKHIpKX0saC5wcm90b3R5cGUuZGlzdGFuY2VUb1NxdWFyZWQ9ZnVuY3Rpb24ocil7dmFyIG89dGhpcy54LXIueCxhPXRoaXMueS1yLnksaT10aGlzLnotci56O3JldHVybiBvKm8rYSphK2kqaX0saC5wcm90b3R5cGUuY2xvbmU9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IGgodGhpcy54LHRoaXMueSx0aGlzLnopfSxofSgpLHNyPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gaChyLG8sYSl7dGhpcy50cmlhbmdsZT1yLHRoaXMuaW50ZXJzZWN0aW9uUG9pbnQ9byx0aGlzLmluZGV4PWF9cmV0dXJuIGh9KCksdXI9MWUtNix5cj1mdW5jdGlvbigpe2Z1bmN0aW9uIGgocixvKXtpZih0aGlzLnBvc2l0aW9uQXJyYXk9cixvKXRoaXMuaW5kaWNlc0FycmF5PW87ZWxzZXtmb3IodmFyIGE9ci5sZW5ndGgvMyxpPWE+NjU1MzU/bmV3IFVpbnQzMkFycmF5KGEpOm5ldyBVaW50MTZBcnJheShhKSxzPTA7czxhO3MrKylpW3NdPXM7dGhpcy5pbmRpY2VzQXJyYXk9aX19cmV0dXJuIGgucHJvdG90eXBlLmNyZWF0ZVRyZWU9ZnVuY3Rpb24ocixvLGEpe289TWF0aC5taW4obywxNik7dmFyIGk9dGhpcy5wb3NpdGlvbkFycmF5LHM9dGhpcy5pbmRpY2VzQXJyYXksZT1zLmxlbmd0aC8zLHY9ZT42NTUzNT9uZXcgVWludDMyQXJyYXkoZSk6bmV3IFVpbnQxNkFycmF5KGUpLG49bmV3IEZsb2F0MzJBcnJheShlKjYpLGQ9W10sZj0wLHA9LTE7aWYoYSlmb3IodmFyIEE9MCx1PTAsST0wLGM9dm9pZCAwLHc9dm9pZCAwLHo9dm9pZCAwLGw9dm9pZCAwLHk9dm9pZCAwLE49dm9pZCAwLHQ9dm9pZCAwO0E8ZTtBKz0xLHUrPTMsSSs9Nil2W0FdPUEsYz1sPWlbc1t1XSozXSx0PWlbc1t1KzFdKjNdLHQ8YyYmKGM9dCksdD5sJiYobD10KSx0PWlbc1t1KzJdKjNdLHQ8YyYmKGM9dCksdD5sJiYobD10KSx3PXk9aVtzW3VdKjMrMV0sdD1pW3NbdSsxXSozKzFdLHQ8dyYmKHc9dCksdD55JiYoeT10KSx0PWlbc1t1KzJdKjMrMV0sdDx3JiYodz10KSx0PnkmJih5PXQpLHo9Tj1pW3NbdV0qMysyXSx0PWlbc1t1KzFdKjMrMl0sdDx6JiYoej10KSx0Pk4mJihOPXQpLHQ9aVtzW3UrMl0qMysyXSx0PHomJih6PXQpLHQ+TiYmKE49dCksbltJXT1jLG5bSSsxXT13LG5bSSsyXT16LG5bSSszXT1sLG5bSSs0XT15LG5bSSs1XT1OO2Vsc2V7Zm9yKHZhciBVPTEvMCxXPTEvMCxQPTEvMCxxPS0xLzAsaj0tMS8wLEc9LTEvMCxBPTAsdT0wLEk9MCxjPXZvaWQgMCx3PXZvaWQgMCx6PXZvaWQgMCxsPXZvaWQgMCx5PXZvaWQgMCxOPXZvaWQgMCx0PXZvaWQgMDtBPGU7QSs9MSx1Kz0zLEkrPTYpdltBXT1BLGM9bD1pW3NbdV0qM10sdD1pW3NbdSsxXSozXSx0PGMmJihjPXQpLHQ+bCYmKGw9dCksdD1pW3NbdSsyXSozXSx0PGMmJihjPXQpLHQ+bCYmKGw9dCksdz15PWlbc1t1XSozKzFdLHQ9aVtzW3UrMV0qMysxXSx0PHcmJih3PXQpLHQ+eSYmKHk9dCksdD1pW3NbdSsyXSozKzFdLHQ8dyYmKHc9dCksdD55JiYoeT10KSx6PU49aVtzW3VdKjMrMl0sdD1pW3NbdSsxXSozKzJdLHQ8eiYmKHo9dCksdD5OJiYoTj10KSx0PWlbc1t1KzJdKjMrMl0sdDx6JiYoej10KSx0Pk4mJihOPXQpLG5bSV09YyxuW0krMV09dyxuW0krMl09eixuW0krM109bCxuW0krNF09eSxuW0krNV09TixjPFUmJihVPWMpLGw+cSYmKHE9bCksdzxXJiYoVz13KSx5PmomJihqPXkpLHo8UCYmKFA9eiksTj5HJiYoRz1OKTthPVtVLFcsUCxxLGosR119dmFyIFM9bmV3IFooKytwLGEsMCxlLDApO2RbZisrXT1TO3ZhciBWPVtdLE09WzAsMSwyXSxUPWZ1bmN0aW9uKEIsRil7cmV0dXJuIFZbRl0tVltCXX07ZnVuY3Rpb24gSChCKXt2YXIgRj1CLnN0YXJ0SW5kZXgsSz1CLmVuZEluZGV4LF89Qi5leHRlbnRzO1ZbMF09X1szXS1fWzBdLFZbMV09X1s0XS1fWzFdLFZbMl09X1s1XS1fWzJdLE0uc29ydChUKTtmb3IodmFyIEw9MDtMPDM7TCsrKXtmb3IodmFyICQ9TVtMXSxRPV9bJF0rX1skKzNdLGs9RixDPUstMSxKPS0xLEU9dm9pZCAwO2s8PUM7KUo9PT0tMT8oRT12W2tdLG5bRSo2KyRdK25bRSo2KyQrM108UT9rKys6Sj1FKTooRT12W0NdLG5bRSo2KyRdK25bRSo2KyQrM10+PVF8fCh2W2tdPUUsdltDXT1KLEo9LTEsaysrKSxDLS0pO2lmKGs+RiYmazxLKXt2YXIgWT1uZXcgWigrK3AsaHIodixuLEYsayx1ciksRixrLEIuZGVlcHRoKzEpO1kuZGVlcHRoPG8mJlkuZW5kSW5kZXgtWS5zdGFydEluZGV4PnImJihkW2YrK109WSk7dmFyIEQ9bmV3IFooKytwLGhyKHYsbixrLEssdXIpLGssSyxCLmRlZXB0aCsxKTtELmRlZXB0aDxvJiZELmVuZEluZGV4LUQuc3RhcnRJbmRleD5yJiYoZFtmKytdPUQpLEIubm9kZTA9WSxCLm5vZGUxPUQsQi5zdGFydEluZGV4PTAsQi5lbmRJbmRleD0wO2JyZWFrfX19Zm9yKDtmOylIKGRbLS1mXSk7cmV0dXJuIHRoaXMub2Zmc2V0QXJyYXk9dix0aGlzLnJvb3ROb2RlUGFja2VkPW5yKFMscCsxKSxkLmxlbmd0aD0wLHRoaXN9LGgucHJvdG90eXBlLnRyaWFuZ2xlc0luU3BoZXJlPWZ1bmN0aW9uKHIsbyl7Zm9yKHZhciBhPXRoaXMucG9zaXRpb25BcnJheSxpPXRoaXMuaW5kaWNlc0FycmF5LHM9dGhpcy5vZmZzZXRBcnJheSxlPXRoaXMucm9vdE5vZGVQYWNrZWQsdj1uZXcgRmxvYXQzMkFycmF5KGUpLG49bmV3IFVpbnQzMkFycmF5KGUpLGQ9bmV3IFVpbnQxNkFycmF5KGUpLGY9WzBdLHA9W10sQSx1LEksYzsoQT1mLnBvcCgpKSE9PXZvaWQgMDspe2M9QSpSLzQ7dmFyIHc9cnIoci54LHZbY10sdltjKzNdKS1yLngsej1ycihyLnksdltjKzFdLHZbYys0XSktci55LGw9cnIoci56LHZbYysyXSx2W2MrNV0pLXIuejtpZih3Kncreip6K2wqbDw9bypvKXtmb3IodmFyIHk9bltjKzZdO3k8bltjKzddO3krKylwLnB1c2goc1t5XSk7Yz1BKlIvMix1PWRbYysxNl0sST1kW2MrMTddLHUmJmYucHVzaCh1KSxJJiZmLnB1c2goSSl9fWZvcih2YXIgTj1wLmxlbmd0aCx0PW5ldyBGbG9hdDMyQXJyYXkoTio5KSx5PTA7eTxOO3krKyl7dmFyIFU9cFt5XTt0W3kqOV09YVtpW1VdKjNdLHRbeSo5KzFdPWFbaVtVXSozKzFdLHRbeSo5KzJdPWFbaVtVXSozKzJdLHRbeSo5KzNdPWFbaVtVKzFdKjNdLHRbeSo5KzRdPWFbaVtVKzFdKjMrMV0sdFt5KjkrNV09YVtpW1UrMV0qMysyXSx0W3kqOSs2XT1hW2lbVSsyXSozXSx0W3kqOSs3XT1hW2lbVSsyXSozKzFdLHRbeSo5KzhdPWFbaVtVKzJdKjMrMl19cmV0dXJuIHR9LGgucHJvdG90eXBlLmludGVyc2VjdFJheT1mdW5jdGlvbihyLG8sYSl7Zm9yKHZhciBpPXRoaXMucG9zaXRpb25BcnJheSxzPXRoaXMuaW5kaWNlc0FycmF5LGU9dGhpcy5vZmZzZXRBcnJheSx2PXRoaXMucm9vdE5vZGVQYWNrZWQsbj1uZXcgRmxvYXQzMkFycmF5KHYpLGQ9bmV3IFVpbnQzMkFycmF5KHYpLGY9bmV3IFVpbnQxNkFycmF5KHYpLHA9bmV3IHZyKDEvby54LDEvby55LDEvby56KSxBPVswXSx1LEksYyx3Oyh1PUEucG9wKCkpIT09dm9pZCAwOylpZih3PXUqUi80LGFyKHIscCxuW3ddLG5bdysxXSxuW3crMl0sblt3KzNdLG5bdys0XSxuW3crNV0pKXtmb3IodmFyIHo9ZFt3KzZdLGw9ZFt3KzddLHk9dm9pZCAwLE49dm9pZCAwLHQ9dm9pZCAwLFU9ci54LFc9ci55LFA9ci56LHE9by54LGo9by55LEc9by56LFM9dm9pZCAwLFY9dm9pZCAwLE09dm9pZCAwLFQ9dm9pZCAwLEg9dm9pZCAwLEI9dm9pZCAwLEY9dm9pZCAwLEs9dm9pZCAwLF89dm9pZCAwLEw9dm9pZCAwLCQ9dm9pZCAwLFE9dm9pZCAwLGs9dm9pZCAwLEM9dm9pZCAwLEo9dm9pZCAwLEU9dm9pZCAwLFk9dm9pZCAwLEQ9dm9pZCAwLGI9dm9pZCAwLHg9dm9pZCAwLGc9dm9pZCAwLE89dm9pZCAwLFg9dm9pZCAwLHRyPXZvaWQgMCxvcj12b2lkIDAsaXI9dm9pZCAwLG09dm9pZCAwO3o8bDt6Kyspe2lmKHk9ZVt6XSxOPXkqMyx0PXNbTl0qMyxTPWlbdF0sVj1pWysrdF0sTT1pWysrdF0sdD1zW04rMV0qMyxUPWlbdF0sSD1pWysrdF0sQj1pWysrdF0sdD1zW04rMl0qMyxGPWlbdF0sSz1pWysrdF0sXz1pWysrdF0sTD1ULVMsJD1ILVYsUT1CLU0saz1GLVMsQz1LLVYsSj1fLU0sRT0kKkotUSpDLFk9USprLUwqSixEPUwqQy0kKmssWD1xKkUraipZK0cqRCxYPjApTz0xO2Vsc2UgaWYoWDwwKU89LTEsWD0tWDtlbHNlIGNvbnRpbnVlO2I9VS1TLHg9Vy1WLGc9UC1NLHRyPU8qKHEqKHgqSi1nKkMpK2oqKGcqay1iKkopK0cqKGIqQy14KmspKSwhKHRyPDApJiYob3I9TyoocSooJCpnLVEqeCkraiooUSpiLUwqZykrRyooTCp4LSQqYikpLCEob3I8MCkmJih0citvcj5YfHwoaXI9LU8qKGIqRSt4KlkrZypEKSwhKGlyPDApJiYobT1pci9YLGEucHVzaChuZXcgc3IoW1MsVixNLFQsSCxCLEYsSyxfXSxbVStxKm0sVytqKm0sUCtHKm1dLHkpKSkpKSl9dz11KlIvMixJPWZbdysxNl0sYz1mW3crMTddLEkmJkEucHVzaChJKSxjJiZBLnB1c2goYyl9cmV0dXJuIGF9LGh9KCk7ZnVuY3Rpb24gcnIoaCxyLG8pe3JldHVybiBoPHI/cjpoPm8/bzpofWZ1bmN0aW9uIGhyKGgscixvLGEsaSl7aWYobz49YSlyZXR1cm5bMCwwLDAsMCwwLDBdO2Zvcih2YXIgcz0xLzAsZT0xLzAsdj0xLzAsbj0tMS8wLGQ9LTEvMCxmPS0xLzAscD1vLEE9dm9pZCAwLHU9dm9pZCAwO3A8YTtwKyspQT1oW3BdKjYsdT1yW0FdLHU8cyYmKHM9dSksdT1yW0ErMV0sdTxlJiYoZT11KSx1PXJbQSsyXSx1PHYmJih2PXUpLHU9cltBKzNdLHU+biYmKG49dSksdT1yW0ErNF0sdT5kJiYoZD11KSx1PXJbQSs1XSx1PmYmJihmPXUpO3JldHVybltzLWksZS1pLHYtaSxuK2ksZCtpLGYraV19dmFyIGVyPTFlLTYsZnI9ZnVuY3Rpb24oKXtmdW5jdGlvbiBoKHIsbyl7dGhpcy5wb3NpdGlvbkFycmF5PXIsdGhpcy5pbmRpY2VzQXJyYXk9b31yZXR1cm4gaC5wcm90b3R5cGUuY3JlYXRlVHJlZT1mdW5jdGlvbihyLG8sYSl7bz1NYXRoLm1pbihvLDE2KTt2YXIgaT10aGlzLnBvc2l0aW9uQXJyYXkscz10aGlzLmluZGljZXNBcnJheSxlPXM/cy5sZW5ndGg6aS5sZW5ndGgvMyx2PWU+NjU1MzU/bmV3IFVpbnQzMkFycmF5KGUpOm5ldyBVaW50MTZBcnJheShlKSxuPVtdLGQ9MCxmPS0xO2lmKGEpZm9yKHZhciBwPTA7cDxlO3ArPTEpdltwXT1wO2Vsc2V7Zm9yKHZhciBBPXM/c1swXSozOjAsdT1pW0FdLEk9aVtBKzFdLGM9aVtBKzJdLHc9dSx6PUksbD1jLHA9MCx5PTAsTj12b2lkIDAsdD12b2lkIDAsVT12b2lkIDA7cDxlO3ArPTEseSs9Myl2W3BdPXAsQT0ocz9zW3ldOnkpKjMsTj1pW0FdLHQ9aVtBKzFdLFU9aVtBKzJdLE48dT91PU46Tj53JiYodz1OKSx0PEk/ST10OnQ+eiYmKHo9dCksVTxjP2M9VTpVPmwmJihsPVUpO2E9W3UsSSxjLHcseixsXX12YXIgVz1uZXcgWigrK2YsYSwwLGUsMCk7bltkKytdPVc7dmFyIFA9W10scT1bMCwxLDJdLGo9ZnVuY3Rpb24oUyxWKXtyZXR1cm4gUFtWXS1QW1NdfTtmdW5jdGlvbiBHKFMpe3ZhciBWPVMuc3RhcnRJbmRleCxNPVMuZW5kSW5kZXgsVD1TLmV4dGVudHM7UFswXT1UWzNdLVRbMF0sUFsxXT1UWzRdLVRbMV0sUFsyXT1UWzVdLVRbMl07Zm9yKHZhciBIPXEuc29ydChqKVswXSxCPShUW0hdK1RbSCszXSkvMixGPVYsSz1NLTEsXz0tMSxMLCQ7Rjw9SzspXz09PS0xPyhMPXZbRl0sJD0ocz9zW0xdOkwpKjMsaVskK0hdPEI/RisrOl89TCk6KEw9dltLXSwkPShzP3NbTF06TCkqMyxpWyQrSF0+PUJ8fCh2W0ZdPUwsdltLXT1fLF89LTEsRisrKSxLLS0pO2lmKEY+Vil7dmFyIFE9VC5zbGljZSgpO1FbSCszXT1CK2VyO3ZhciBrPW5ldyBaKCsrZixRLFYsRixTLmRlZXB0aCsxKTtrLmRlZXB0aDxvJiZrLmVuZEluZGV4LWsuc3RhcnRJbmRleD5yJiYobltkKytdPWspLFMubm9kZTA9a31pZihNPkYpe3ZhciBDPVQuc2xpY2UoKTtDW0hdPUItZXI7dmFyIEo9bmV3IFooKytmLEMsRixNLFMuZGVlcHRoKzEpO0ouZGVlcHRoPG8mJkouZW5kSW5kZXgtSi5zdGFydEluZGV4PnImJihuW2QrK109SiksUy5ub2RlMT1KfVMuc3RhcnRJbmRleD0wLFMuZW5kSW5kZXg9MH1mb3IoO2Q7KUcoblstLWRdKTtyZXR1cm4gdGhpcy5vZmZzZXRBcnJheT12LHRoaXMucm9vdE5vZGVQYWNrZWQ9bnIoVyxmKzEpLG4ubGVuZ3RoPTAsdGhpc30saC5wcm90b3R5cGUuaW50ZXJzZWN0UmF5PWZ1bmN0aW9uKHIsbyxhLGkpe2Zvcih2YXIgcz10aGlzLnBvc2l0aW9uQXJyYXksZT10aGlzLmluZGljZXNBcnJheSx2PXRoaXMub2Zmc2V0QXJyYXksbj10aGlzLnJvb3ROb2RlUGFja2VkLGQ9bmV3IEZsb2F0MzJBcnJheShuKSxmPW5ldyBVaW50MzJBcnJheShuKSxwPW5ldyBVaW50MTZBcnJheShuKSxBPWEqYSx1PW5ldyB2cigxL28ueCwxL28ueSwxL28ueiksST1bMF0sYyx3LHosbDsoYz1JLnBvcCgpKSE9PXZvaWQgMDspaWYobD1jKlIvNCxhcihyLHUsZFtsXSxkW2wrMV0sZFtsKzJdLGRbbCszXSxkW2wrNF0sZFtsKzVdLGEpKXtmb3IodmFyIHk9ZltsKzZdLE49ZltsKzddLHQ9dm9pZCAwLFU9dm9pZCAwLFc9dm9pZCAwLFA9dm9pZCAwLHE9dm9pZCAwLGo9dm9pZCAwLEc9dm9pZCAwLFM9dm9pZCAwLFY9dm9pZCAwLE09dm9pZCAwLFQ9dm9pZCAwLEg9dm9pZCAwLEI9dm9pZCAwO3k8Tjt5KyspdD12W3ldLFU9KGU/ZVt0XTp0KSozLFc9c1tVXSxQPXNbKytVXSxxPXNbKytVXSxqPXIueCxHPXIueSxTPXIueixWPW8ueCxNPW8ueSxUPW8ueixIPVYqKFctaikrTSooUC1HKStUKihxLVMpLEg+MCYmKGorPVYqSCxHKz1NKkgsUys9VCpIKSxWPVctaixNPVAtRyxUPXEtUyxIPVYqVitNKk0rVCpULEg8PUEmJmkucHVzaChuZXcgc3IoW1csUCxxLFcsUCxxLFcsUCxxXSxbaixHLFNdLHQpKTtsPWMqUi8yLHc9cFtsKzE2XSx6PXBbbCsxN10sdyYmSS5wdXNoKHcpLHomJkkucHVzaCh6KX1yZXR1cm4gaX0saH0oKTtmdW5jdGlvbiBBcihoKXtvbm1lc3NhZ2U9ZnVuY3Rpb24ocil7UHJvbWlzZS5yZXNvbHZlKHIuZGF0YSkudGhlbihmdW5jdGlvbihvKXtyZXR1cm4gaChvKX0pLnRoZW4oZnVuY3Rpb24obyl7dmFyIGE9by5vdXRwdXQsaT1vLnRyYW5zZmVyO3JldHVybiBwb3N0TWVzc2FnZShhLGkpfSkuY2F0Y2goZnVuY3Rpb24obyl7cmV0dXJuIHBvc3RNZXNzYWdlKHskJGVycm9yOm99KX0pfX1BcihmdW5jdGlvbihoKXtyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGgpLnRoZW4oZnVuY3Rpb24ocil7Zm9yKHZhciBvPVtdLGE9W10saT0wLHM9cjtpPHMubGVuZ3RoO2krKyl7dmFyIGU9c1tpXSx2PXZvaWQgMDtpZihlLnR5cGU9PT0ibWVzaCIpdj1uZXcgeXIoZS5wb3NpdGlvbkFycmF5LGUuaW5kaWNlc0FycmF5KTtlbHNlIGlmKGUudHlwZT09PSJwb2ludHMiKXY9bmV3IGZyKGUucG9zaXRpb25BcnJheSxlLmluZGljZXNBcnJheSk7ZWxzZSB0aHJvdyBuZXcgRXJyb3IoIkludmFsaWQgVHlwZSIpO3YuY3JlYXRlVHJlZShlLm1heEl0ZW1QZXJOb2RlLGUubWF4VHJlZURlcHRoLGUuZXh0ZW50cyk7dmFyIG49e29mZnNldEFycmF5OnYub2Zmc2V0QXJyYXksaW5kaWNlc0FycmF5OnYuaW5kaWNlc0FycmF5LHBvc2l0aW9uQXJyYXk6di5wb3NpdGlvbkFycmF5LHJvb3ROb2RlUGFja2VkOnYucm9vdE5vZGVQYWNrZWR9O28ucHVzaChuKTtmb3IodmFyIGQgaW4gbil7dmFyIGY9bltkXTtmJiYoZiBpbnN0YW5jZW9mIEFycmF5QnVmZmVyP2EuaW5kZXhPZihmKT09PS0xJiZhLnB1c2goZik6Zi5idWZmZXIgaW5zdGFuY2VvZiBBcnJheUJ1ZmZlciYmYS5pbmRleE9mKGYuYnVmZmVyKT09LTEmJmEucHVzaChmLmJ1ZmZlcikpfX1yZXR1cm57b3V0cHV0Om8sdHJhbnNmZXI6YX19KX0pfSkoKTsK",Uo=typeof window!="undefined"&&window.Blob&&new Blob([atob(E0)],{type:"text/javascript;charset=utf-8"});function Gc(n){let t;try{if(t=Uo&&(window.URL||window.webkitURL).createObjectURL(Uo),!t)throw"";const e=new Worker(t,{name:n==null?void 0:n.name});return e.addEventListener("error",()=>{(window.URL||window.webkitURL).revokeObjectURL(t)}),e}catch(e){return new Worker("data:application/javascript;base64,"+E0,{name:n==null?void 0:n.name})}finally{t&&(window.URL||window.webkitURL).revokeObjectURL(t)}}var x0=function(){function n(t,e){this.pool=e,this.workerCreator=t,this.queue=[],this.workers=[],this.workersResolver=[],this.workerStatus=0}return n.prototype.initWorker=function(t){if(this.workerCreator&&!this.workers[t]){var e=this.workerCreator();e.addEventListener("message",this.onMessage.bind(this,t)),this.workers[t]=e}},n.prototype.getIdleWorker=function(){for(var t=0;t<this.pool;t++)if(!(this.workerStatus&1<<t))return t;return-1},n.prototype.onMessage=function(t,e){var r=this.workersResolver[t],i=r.resolve,a=r.reject;if(e.data&&"$$error"in e.data?a(e.data.$$error):i(e.data),this.queue.length){var o=this.queue.shift(),s=o.resolve,u=o.reject,l=o.input,c=o.transfer;this.workersResolver[t]={resolve:s,reject:u},this.workers[t].postMessage(l,c)}else this.workerStatus^=1<<t},n.prototype.postMessage=function(t,e){var r=this;return e===void 0&&(e=[]),new Promise(function(i,a){var o=r.getIdleWorker();o!==-1?(r.initWorker(o),r.workerStatus|=1<<o,r.workersResolver[o]={resolve:i,reject:a},r.workers[o].postMessage(t,e)):r.queue.push({resolve:i,reject:a,input:t,transfer:e})})},n.prototype.dispose=function(){this.workers.forEach(function(t){return t.terminate()}),this.workersResolver.length=0,this.workers.length=0,this.queue.length=0,this.workerStatus=0},n}(),Kc=new x0(function(){return new Gc},4),ui=new Map,Xi=new Map,vn=new d.Ray,qo=new d.Matrix3,kn=new d.Matrix4,M0=new d.Vector3,jc=new d.Vector3,Jc=new d.Vector3,Wc=new d.Triangle;function $n(n){for(var t=n.count,e=n.itemSize,r=n.data,i=n.offset,a=t*e,o=new n.array.constructor(a),s=0;s<t;s++)for(var u=s*r.stride+i,l=0;l<e;l++)o[s*e+l]=r.array[u+l];return new d.BufferAttribute(o,n.itemSize,n.normalized)}function Xc(n,t,e,r){var i,a=n.matrixWorld;kn.getInverse(a),vn.copy(e.ray).applyMatrix4(kn);for(var o=t.intersectRay(vn.origin,vn.direction,[]),s=n.geometry,u=n.material,l=s.groups,c=s.index,f=0,h=o.length;f<h;f++){var m=o[f],A=m.triangle,p=m.index,g=m.intersectionPoint,v=new d.Vector3(g[0],g[1],g[2]).applyMatrix4(a),y=e.ray.origin.distanceTo(v);if(!(y<e.near||y>e.far)){var b=void 0;if(Array.isArray(u)){if(l)for(var w=p*3,E=0,x=l;E<x.length;E++){var C=x[E];if(w>=C.start&&w-C.start<C.count){b=u[(i=C.materialIndex)!==null&&i!==void 0?i:0];break}}}else b=u;if(b){var M=Wc.set(M0.set(A[0],A[1],A[2]).applyMatrix4(a),jc.set(A[3],A[4],A[5]).applyMatrix4(a),Jc.set(A[6],A[7],A[8]).applyMatrix4(a)).getNormal(new d.Vector3),I=p*3,T=new d.Face3(c?c.array[I]:I,c?c.array[I+1]:I+1,c?c.array[I+2]:I+2,M),P=e.ray.direction.dot(M);b.side===d.FrontSide&&P>=0||b.side===d.BackSide&&P<=0||r.push({distance:y,object:n,face:T,point:v,distanceToRay:0,faceIndex:p})}}}}function _c(n,t,e,r){var i,a,o=n.matrixWorld;qo.getNormalMatrix(o),kn.getInverse(o);var s=((a=(i=e.params.Points)===null||i===void 0?void 0:i.threshold)!==null&&a!==void 0?a:1)*kn.getMaxScaleOnAxis();vn.copy(e.ray).applyMatrix4(kn);for(var u=t.intersectRay(vn.origin,vn.direction,s,[]),l=n.geometry,c=l.index,f=l.getAttribute("normal"),h=0,m=u.length;h<m;h++){var A=u[h],p=A.triangle,g=A.index,v=A.intersectionPoint,y=new d.Vector3(v[0],v[1],v[2]).applyMatrix4(o),b=e.ray.origin.distanceTo(y);if(!(b<e.near||b>e.far)){var w=M0.set(p[0],p[1],p[2]).applyMatrix4(o),E=c?c.array[g]:g,x=void 0;f instanceof d.BufferAttribute&&(x=new d.Vector3().fromBufferAttribute(f,E).applyNormalMatrix(qo));var C=new d.Face3(E,E,E,x);r.push({distance:b,object:n,face:C,point:y,distanceToRay:y.distanceTo(w),index:g})}}}function Ho(n,t){var e=n.raycast,r=function(i,a){var o=ui.get(this);o?Xc(this,o,i,a):e.call(this,i,a)};return n.raycast=r,ui.set(n,t),function(){ui.delete(n),n.raycast===r&&(n.raycast=e)}}function Go(n,t){var e=n.raycast,r=function(i,a){var o=Xi.get(this);o?_c(this,o,i,a):e.call(this,i,a)};return n.raycast=r,Xi.set(n,t),function(){Xi.delete(n),n.raycast===r&&(n.raycast=e)}}function Zc(n,t,e,r){t===void 0&&(t=!0),e===void 0&&(e=100),r===void 0&&(r=10);var i=[];return n.traverse(function(a){if((a instanceof d.Mesh||a instanceof d.Points)&&a.geometry instanceof d.BufferGeometry){var o=a.geometry.getAttribute("position"),s=a.geometry.index;(o instanceof d.InterleavedBufferAttribute||s&&s instanceof d.InterleavedBufferAttribute)&&(t=!1,i.push(a)),o instanceof d.BufferAttribute&&i.push(a)}}),t?Promise.resolve().then(function(){for(var a,o,s=[],u=[],l=0;l<i.length;l++){var c=i[l];if(c instanceof d.Mesh){if(c.geometry instanceof d.BufferGeometry){var f=c.geometry.getAttribute("position");if(f instanceof d.BufferAttribute){var h=f.array,m=(a=c.geometry.getIndex())===null||a===void 0?void 0:a.array,A=c.geometry.boundingBox,p=A?[A.min.x,A.min.y,A.min.z,A.max.x,A.max.y,A.max.z]:void 0,g={type:"mesh",positionArray:h,indicesArray:m,maxItemPerNode:e,maxTreeDepth:r,extents:p};s.push(g);for(var v in g){var y=g[v];y&&(y instanceof ArrayBuffer?u.indexOf(y)===-1&&u.push(y):y.buffer instanceof ArrayBuffer&&u.indexOf(y.buffer)===-1&&u.push(y.buffer))}}}}else if(c instanceof d.Points&&c.geometry instanceof d.BufferGeometry){var f=c.geometry.getAttribute("position");if(f instanceof d.BufferAttribute){var h=f.array,m=(o=c.geometry.getIndex())===null||o===void 0?void 0:o.array,A=c.geometry.boundingBox,p=A?[A.min.x,A.min.y,A.min.z,A.max.x,A.max.y,A.max.z]:void 0,g={type:"points",positionArray:h,indicesArray:m,maxItemPerNode:e,maxTreeDepth:r,extents:p};s.push(g);for(var b in g){var y=g[b];y&&(y instanceof ArrayBuffer?u.indexOf(y)===-1&&u.push(y):y.buffer instanceof ArrayBuffer&&u.indexOf(y.buffer)===-1&&u.push(y.buffer))}}}}return Kc.postMessage(s,u)}).then(function(a){for(var o=[],s=0;s<i.length;s++){var u=i[s],l=a[s];if(u instanceof d.Mesh){if(u.geometry instanceof d.BufferGeometry){var c=u.geometry.getAttribute("position");if(c instanceof d.BufferAttribute){c.array=l.positionArray;var f=u.geometry.getIndex();f&&l.indicesArray&&(f.array=l.indicesArray);var h=new No(l.positionArray,l.indicesArray);h.offsetArray=l.offsetArray,h.rootNodePacked=l.rootNodePacked;var m=Ho(u,h);o.push(m)}}}else if(u instanceof d.Points&&u.geometry instanceof d.BufferGeometry){var c=u.geometry.getAttribute("position");if(c instanceof d.BufferAttribute){c.array=l.positionArray;var f=u.geometry.getIndex();f&&l.indicesArray&&(f.array=l.indicesArray);var h=new Do(l.positionArray,l.indicesArray);h.offsetArray=l.offsetArray,h.rootNodePacked=l.rootNodePacked;var m=Go(u,h);o.push(m)}}}return function(){for(var A=0,p=o;A<p.length;A++){var g=p[A];g()}o.length=0}}):Promise.resolve().then(function(){for(var a=[],o=0,s=i;o<s.length;o++){var u=s[o];if(u instanceof d.Mesh){if(u.geometry instanceof d.BufferGeometry){var l=u.geometry.getAttribute("position"),c=u.geometry.getIndex();if(l instanceof d.InterleavedBufferAttribute&&(l=$n(l)),c&&c instanceof d.InterleavedBufferAttribute&&(c=$n(c)),l instanceof d.BufferAttribute){var f=l.array,h=c==null?void 0:c.array,m=u.geometry.boundingBox,A=m?[m.min.x,m.min.y,m.min.z,m.max.x,m.max.y,m.max.z]:void 0,p=new No(f,h);p.createTree(e,r,A);var g=Ho(u,p);a.push(g)}}}else if(u instanceof d.Points&&u.geometry instanceof d.BufferGeometry){var l=u.geometry.getAttribute("position"),c=u.geometry.getIndex();if(l instanceof d.InterleavedBufferAttribute&&(l=$n(l)),c&&c instanceof d.InterleavedBufferAttribute&&(c=$n(c)),l instanceof d.BufferAttribute){var f=l.array,h=c==null?void 0:c.array,m=u.geometry.boundingBox,A=m?[m.min.x,m.min.y,m.min.z,m.max.x,m.max.y,m.max.z]:void 0,p=new Do(f,h);p.createTree(e,r,A);var g=Go(u,p);a.push(g)}}}return function(){for(var v=0,y=a;v<y.length;v++){var b=y[v];b()}a.length=0}})}var Yc=new d.Vector3,$c=new d.Vector3,ed=new d.Vector3,C0=function(n){pe(t,n);function t(e,r){var i=n.call(this)||this;return i.renderOrder=-4,i.disposers=[r],i.add(e),i}return t.prototype.generateBvhTree=function(){var e=this;return Zc(this,!0,200,10).then(function(r){e.disposers.push(r)})},t.prototype.intersectRaycaster=function(e,r,i){var a=this;r===void 0&&(r=!0),i===void 0&&(i=[]);for(var o=this.children.slice(),s,u=[];s=o.pop();)if(s.visible){s.raycast(e,u);for(var l=0,c=s.children.length;l<c;l++)o.push(s.children[l])}return u.forEach(function(f){var h,m,A=0;if((f.object instanceof It||f.object instanceof or)&&f.face){var p=Array.isArray(f.object.material)?f.object.material[f.face.materialIndex]:f.object.material;if(p)if(p.defines.USE_VERTEX_FLOOR){var g=(h=f.object.geometry.attributes.position)===null||h===void 0?void 0:h.array,v=(m=f.object.geometry.attributes.floor)===null||m===void 0?void 0:m.array;if(g&&v){var y=Yc.set(g[f.face.a*3],g[f.face.a*3+1],g[f.face.a*3+2]).applyMatrix4(a.matrixWorld),b=$c.set(g[f.face.b*3],g[f.face.b*3+1],g[f.face.b*3+2]).applyMatrix4(a.matrixWorld),w=ed.set(g[f.face.c*3],g[f.face.c*3+1],g[f.face.c*3+2]).applyMatrix4(a.matrixWorld),E=f.point.distanceTo(y),x=f.point.distanceTo(b),C=f.point.distanceTo(w);A=Math.round((E*v[f.face.a]+x*v[f.face.b]+C*v[f.face.c])/(E+x+C))}}else A=p.floor}f.floor=A}),r&&u.sort(function(f,h){return f.distance-h.distance}),i.push.apply(i,u),i},t.prototype.dispose=function(){for(var e=0,r=this.disposers;e<r.length;e++){var i=r[e];i()}this.disposers.length=0},t}(d.Group);function bt(){for(var n=[],t=0;t<arguments.length;t++)n[t]=arguments[t];var e=[];n=n.map(function(s){return(s!=null?s:"").trim()}).filter(function(s){return s.length>0&&!/^\/+$/.test(s)});for(var r=0;r<n.length;r++){var i=r===0,a=r===n.length-1,o=n[r];i||(o=o.replace(/^\.\//,"").replace(/^\/+/,"")),a||(o=o.replace(/\/+$/,"")),e.push(o)}return e.join("/")}function wr(n){return n.indexOf("//")===0||/^[0-9a-z]+\:/i.test(n)}function I0(n,t){if(n.content&&n.content.uri&&(wr(n.content.uri)||(n.content.uri=bt(t,n.content.uri))),n.children)for(var e=0,r=n.children;e<r.length;e++){var i=r[e];I0(i,t)}return n}function Ko(n,t){return n.asset||(n.asset={}),n.rootMeta||(n.rootMeta={}),n.asset.overview&&(wr(n.asset.overview.imageFile)||(n.asset.overview.imageFile=bt(t,n.asset.overview.imageFile)),wr(n.asset.overview.worldFile)||(n.asset.overview.worldFile=bt(t,n.asset.overview.worldFile))),I0(n.root,t),n}function S0(n,t){return(t[0]==="?"||t[0]==="&")&&(t=t.slice(1)),t?((n[n.length-1]==="?"||n[n.length-1]==="&")&&(n=n.slice(0,-1)),n.indexOf("?")>=0?"".concat(n,"&").concat(t):"".concat(n,"?").concat(t)):n}var jo=new d.Vector3,td=new d.Matrix3,rd=new d.Matrix4,st=6378137,T0=298.257223563;function P0(n){for(var t=st-st/T0,e=(st*st-t*t)/(st*st),r=Math.sqrt(n.x*n.x+n.y*n.y),i=1e-12,a=1e3,o=0,s=Math.atan2(n.z,r),u=0;o++<a;){var l=Math.sin(s),c=st/Math.sqrt(1-e*l*l);u=r/Math.cos(s)-c;var f=Math.atan2(n.z/(c*(1-e)+u),r/(c+u));if(isNaN(f))break;var h=Math.abs(f-s);if(h<i)break;s=f}return n.set(s,Math.atan2(n.y,n.x),u)}function nd(n){var t=n.x,e=n.y,r=n.z,i=st-st/T0,a=(st*st-i*i)/(st*st),o=Math.sin(t),s=Math.cos(t),u=Math.sin(e),l=Math.cos(e),c=st/Math.sqrt(1-a*o*o),f=(c+r)*s*l,h=(c+r)*s*u,m=(i*i/(st*st)*c+r)*o;return n.set(f,h,m)}function id(n,t){var e=P0(jo.copy(n)),r=e.x,i=e.y,a=e.z,o=Math.sin(r),s=Math.sin(i),u=Math.cos(r),l=Math.cos(i);t.fromArray([-s,-o*l,u*l,0,+l,-o*s,u*s,0,0,u,o,0,0,0,0,1]);var c=td.setFromMatrix4(t),f=jo.copy(n).applyMatrix3(c).multiplyScalar(-1);t.setPosition(f);var h=rd.fromArray([1,0,0,0,0,1,0,0,0,0,1,0,0,0,a,1]);return t.premultiply(h),t}var _i=4;function B0(n,t,e){var r=new DataView(t);if(n.magic=r.getUint32(e,!0),e+=_i,n.version=r.getUint32(e,!0),e+=_i,n.byteLength=r.getUint32(e,!0),e+=_i,n.version!==1)throw new Error("3D Tile Version ".concat(n.version," not supported"));return e}var rr,Ze;(function(n){n[n.BYTE=5120]="BYTE",n[n.UNSIGNED_BYTE=5121]="UNSIGNED_BYTE",n[n.SHORT=5122]="SHORT",n[n.UNSIGNED_SHORT=5123]="UNSIGNED_SHORT",n[n.INT=5124]="INT",n[n.UNSIGNED_INT=5125]="UNSIGNED_INT",n[n.FLOAT=5126]="FLOAT",n[n.DOUBLE=5130]="DOUBLE"})(Ze||(Ze={}));var ad=(rr={},rr[Ze.DOUBLE]=Float64Array,rr[Ze.FLOAT]=Float32Array,rr[Ze.UNSIGNED_SHORT]=Uint16Array,rr[Ze.UNSIGNED_INT]=Uint32Array,rr[Ze.UNSIGNED_BYTE]=Uint8Array,rr[Ze.BYTE]=Int8Array,rr[Ze.SHORT]=Int16Array,rr[Ze.INT]=Int32Array,rr),od={DOUBLE:Ze.DOUBLE,FLOAT:Ze.FLOAT,UNSIGNED_SHORT:Ze.UNSIGNED_SHORT,UNSIGNED_INT:Ze.UNSIGNED_INT,UNSIGNED_BYTE:Ze.UNSIGNED_BYTE,BYTE:Ze.BYTE,SHORT:Ze.SHORT,INT:Ze.INT};function gi(n){var t=ad[n];if(!t)throw new Error("Failed to convert GL type");return t}function Zi(n){var t=gi(n);return t.BYTES_PER_ELEMENT}function Jo(n,t,e,r){e===void 0&&(e=0);var i=gi(n);if(e%Zi(n)!==0){var a=r?t.slice(e,e+r*Zi(n)):t.slice(e);return new i(a)}else return new i(t,e,r!=null?r:(t.byteLength-e)/Zi(n))}function sd(n){var t=od[n];if(!t)throw new Error("Failed to convert GL type");return t}var R0=function(){function n(t,e){this.featuresLength=0,this.cachedTypedArrays={},this.json=t,this.buffer=e;var r=this.getGlobalProperty("POINTS_LENGTH",Ze.UNSIGNED_INT,1);r&&r.length&&(this.featuresLength=r[0])}return n.prototype.getExtension=function(t){return this.json.extensions&&this.json.extensions[t]},n.prototype.hasProperty=function(t){return!!this.json[t]},n.prototype.getGlobalProperty=function(t,e,r){var i=this.json[t];if(typeof i=="number"){var a=gi(e);return new a([i])}else if(Array.isArray(i)){var a=gi(e);return new a(i)}else if(i&&Number.isFinite(i.byteOffset))return this.getTypedArrayFromBinary(t,e,r,1,i.byteOffset);return null},n.prototype.getPropertyArray=function(t,e,r){var i=this.json[t];return i&&Number.isFinite(i.byteOffset)?("componentType"in i&&(e=sd(i.componentType)),this.getTypedArrayFromBinary(t,e,r,this.featuresLength,i.byteOffset)):this.getTypedArrayFromArray(t,e,i)},n.prototype.getProperty=function(t,e,r,i,a){var o=this.json[t];if(!o)return null;var s=this.getPropertyArray(t,e,r);if(r===1)return a[0]=s[i],a;for(var u=0;u<r;++u)a[u]=s[r*i+u];return a},n.prototype.getTypedArrayFromBinary=function(t,e,r,i,a){var o=this.cachedTypedArrays,s=o[t];return s||(s=Jo(e,this.buffer.buffer,this.buffer.byteOffset+a,i*r),o[t]=s),s},n.prototype.getTypedArrayFromArray=function(t,e,r){var i=this.cachedTypedArrays,a=i[t];return a||(a=Jo(e,r),i[t]=a),a},n}(),on=4,Wo="b3dm tile in legacy format.";function F0(n,t,e){var r=new TextDecoder("utf8"),i=new Uint8Array(n,t,e),a=r.decode(i);return a}function k0(n,t,e){return e=ud(n,t,e),e=ld(n,t,e),e=cd(n,t,e),e}function ud(n,t,e){var r=new DataView(t),i=0;n.header=n.header||{};var a=r.getUint32(e,!0);e+=on;var o=r.getUint32(e,!0);e+=on;var s=r.getUint32(e,!0);e+=on;var u=r.getUint32(e,!0);return e+=on,s>=570425344?(e-=on*2,i=a,s=o,u=0,a=0,o=0,console.warn(Wo)):u>=570425344&&(e-=on,i=s,s=a,u=o,a=0,o=0,console.warn(Wo)),n.header.featureTableJsonByteLength=a,n.header.featureTableBinaryByteLength=o,n.header.batchTableJsonByteLength=s,n.header.batchTableBinaryByteLength=u,n.header.batchLength=i,e}function ld(n,t,e){var r=n.header||{},i=r.featureTableJsonByteLength,a=r.featureTableBinaryByteLength,o=r.batchLength;if(n.featureTableJson={BATCH_LENGTH:o||0},i&&i>0){var s=F0(t,e,i);n.featureTableJson=JSON.parse(s)}e+=i||0,n.featureTableBinary=new Uint8Array(t,e,a),e+=a||0,n.rtcCenter=[0,0,0];var u=new R0(n.featureTableJson,n.featureTableBinary);if(Array.isArray(u.json.RTC_CENTER)){var l=u.json.RTC_CENTER;n.rtcCenter[0]=l[0],n.rtcCenter[1]=l[1],n.rtcCenter[2]=l[2]}else{var l=u.getGlobalProperty("RTC_CENTER",Ze.FLOAT,3);l&&(n.rtcCenter[0]=l[0],n.rtcCenter[1]=l[1],n.rtcCenter[2]=l[2])}return e}function cd(n,t,e){var r=n.header||{},i=r.batchTableJsonByteLength,a=r.batchTableBinaryByteLength;if(i&&i>0){var o=F0(t,e,i);n.batchTableJson=JSON.parse(o),e+=i,a&&a>0&&(n.batchTableBinary=new Uint8Array(t,e,a),n.batchTableBinary=new Uint8Array(n.batchTableBinary),e+=a)}return e}function dd(n,t,e){var r=e!==void 0?new Uint8Array(n).subarray(t,t+e):new Uint8Array(n).subarray(t),i=new Uint8Array(r);return i.buffer}function fd(n,t,e){var r=n.byteLength-e;if(r===0)throw new Error("glTF byte length must be greater than 0.");return e%4!==0&&console.warn("".concat(n.type,": embedded glb is not aligned to a 4-byte boundary.")),n.gltfArrayBuffer=dd(t,e,r),n.byteLength}function Ia(n){if(typeof TextDecoder!="undefined")return new TextDecoder().decode(n);for(var t="",e=0,r=n.length;e<r;e++)t+=String.fromCharCode(n[e]);try{return decodeURIComponent(escape(t))}catch(i){return t}}var Ve={FLOAT:5126,FLOAT_MAT3:35675,FLOAT_MAT4:35676,FLOAT_VEC2:35664,FLOAT_VEC3:35665,FLOAT_VEC4:35666,LINEAR:9729,REPEAT:10497,SAMPLER_2D:35678,POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6,UNSIGNED_BYTE:5121,UNSIGNED_SHORT:5123},Mn={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array},yi={9728:d.NearestFilter,9729:d.LinearFilter,9984:d.NearestMipmapNearestFilter,9985:d.LinearMipmapNearestFilter,9986:d.NearestMipmapLinearFilter,9987:d.LinearMipmapLinearFilter},bi={33071:d.ClampToEdgeWrapping,33648:d.MirroredRepeatWrapping,10497:d.RepeatWrapping},Xo={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},kt={POSITION:"position",NORMAL:"normal",TANGENT:"tangent",TEXCOORD_0:"uv",TEXCOORD_1:"uv2",COLOR_0:"color",WEIGHTS_0:"skinWeight",JOINTS_0:"skinIndex"},Rr={scale:"scale",translation:"position",rotation:"quaternion",weights:"morphTargetInfluences"},hd={CUBICSPLINE:void 0,LINEAR:d.InterpolateLinear,STEP:d.InterpolateDiscrete},Ar={OPAQUE:"OPAQUE",MASK:"MASK",BLEND:"BLEND"};function ct(n){var t=[];for(var e in n)t.push(n[e]);return t}var pd=function(){function n(t,e,r){this.json=t,this.extensions=e,this.options=r,this.cache=new Map,this.disposeSet=new Set,this.nodeNamesUsed={}}return n.prototype.dispose=function(){this.cache.clear(),this.disposeSet.forEach(function(t){typeof t.dispose=="function"&&t.dispose(),typeof t.close=="function"&&t.close()}),this.disposeSet.clear(),delete this.cache,delete this.disposeSet,delete this.json,delete this.extensions,delete this.options},n.prototype.markDefs=function(){for(var t=this.json.nodes||[],e=this.json.skins||[],r=this.json.meshes||[],i=0,a=e.length;i<a;i++)for(var o=e[i].joints,s=0,u=o.length;s<u;s++)t[o[s]].isBone=!0;for(var l=0,c=t.length;l<c;l++){var f=t[l];f.mesh!==void 0&&f.skin!==void 0&&(r[f.mesh].isSkinnedMesh=!0)}},n.prototype.parse=function(){var t=this,e=this.json,r=this.extensions;this.markDefs();for(var i=0,a=ct(r);i<a.length;i++){var o=a[i];o.markDefs(this)}return Promise.all(ct(r).map(function(s){return s.prepare(t)})).then(function(){var s,u,l;return Promise.all([Promise.all(((s=e.scenes)!==null&&s!==void 0?s:[]).map(function(c,f){return t.loadScene(f)})),Promise.all(((u=e.animations)!==null&&u!==void 0?u:[]).map(function(c,f){return t.loadAnimation(f)})),Promise.all(((l=e.cameras)!==null&&l!==void 0?l:[]).map(function(c,f){return t.loadCamera(f)}))])}).then(function(s){var u=s[0],l=s[1],c=s[2],f={json:t.json,scene:u[e.scene||0],scenes:u,animations:l,cameras:c,dispose:function(){return t.dispose()}};return Promise.all(ct(r).map(function(h){return h.emitResult(f,t)})).then(function(){return f})})},n.prototype.loadCamera=function(t){var e="camera:"+t,r=this.cache.get(e);if(r)return r;for(var i=null,a=0,o=ct(this.extensions);a<o.length;a++){var s=o[a];if(i=s.loadCamera(t,this),i)break}if(!i){var u=void 0,l=this.json.cameras[t],c=l[l.type];c?l.type==="perspective"?u=new d.PerspectiveCamera(d.MathUtils.radToDeg(c.yfov),c.aspectRatio||1,c.znear||1,c.zfar||2e6):l.type==="orthographic"?u=new d.OrthographicCamera(-c.xmag,c.xmag,c.ymag,-c.ymag,c.znear,c.zfar):(console.warn("glTF: Invalid camera type ".concat(l.type,".")),u=new d.Camera):(console.warn("glTF: Missing camera parameters."),u=new d.Camera),l.name&&(u.name=this.createUniqueName(l.name)),i=Promise.resolve(u)}return this.cache.set(e,i),i},n.prototype.loadSkin=function(t){var e="animation:"+t,r=this.cache.get(e);if(r)return r;var i,a=this.json.skins[t],o={joints:a.joints};return a.inverseBindMatrices===void 0?i=Promise.resolve(o):i=this.loadAccessor(a.inverseBindMatrices).then(function(s){return s&&(o.inverseBindMatrices=s),o}),this.cache.set(e,i),i},n.prototype.loadAnimation=function(t){var e="animation:"+t,r=this.cache.get(e);if(r)return r;for(var i=null,a=0,o=ct(this.extensions);a<o.length;a++){var s=o[a];if(i=s.loadAnimation(t,this),i)break}if(!i){for(var u=this.json,l=u.animations[t],c=[],f=[],h=[],m=[],A=[],p=0,g=l.channels.length;p<g;p++){var v=l.channels[p],y=l.samplers[v.sampler],b=v.target,w=b.node!==void 0?b.node:b.id,E=l.parameters!==void 0?l.parameters[y.input]:y.input,x=l.parameters!==void 0?l.parameters[y.output]:y.output;c.push(this.loadNode(w)),f.push(this.loadAccessor(E)),h.push(this.loadAccessor(x)),m.push(y),A.push(b)}i=Promise.all([Promise.all(c),Promise.all(f),Promise.all(h),Promise.all(m),Promise.all(A)]).then(function(C){for(var M=C[0],I=C[1],T=C[2],P=C[3],R=C[4],L=[],F=function(W,j){var D=M[W],H=I[W],K=T[W],Z=P[W],G=R[W];if(D===void 0)return"continue";D.updateMatrix(),D.matrixAutoUpdate=!0;var X=void 0;switch(Rr[G.path]){case Rr.weights:X=d.NumberKeyframeTrack;break;case Rr.rotation:X=d.QuaternionKeyframeTrack;break;case Rr.position:case Rr.scale:default:X=d.VectorKeyframeTrack;break}var _=D.name?D.name:D.uuid,de=Z.interpolation!==void 0?hd[Z.interpolation]:d.InterpolateLinear,ee=[];Rr[G.path]===Rr.weights?D.traverse(function(ve){ve.morphTargetInfluences&&ee.push(ve.name?ve.name:ve.uuid)}):ee.push(_);var oe=K.array;if(K.normalized){for(var ie=Yi(oe.constructor),ue=new Float32Array(oe.length),ne=0,ae=oe.length;ne<ae;ne++)ue[ne]=oe[ne]*ie;oe=ue}for(var ne=0,ae=ee.length;ne<ae;ne++){var he=new X(ee[ne]+"."+Rr[G.path],H.array,oe,de);L.push(he)}},O=0,z=M.length;O<z;O++)F(O);var N=l.name?l.name:"animation_"+t;return new d.AnimationClip(N,void 0,L)})}return this.cache.set(e,i),i},n.prototype.loadBuffer=function(t){var e=this.json.buffers[t];if(e.type&&e.type!=="arraybuffer")throw new Error("glTF: "+e.type+" buffer type is not supported.");var r="buffer:"+t,i=this.cache.get(r);if(i)return i;for(var a=null,o=0,s=ct(this.extensions);o<s.length;o++){var u=s[o];if(a=u.loadBuffer(t,this),a)break}if(!a){var l=this.json.buffers[t];a=this.options.fetcher.ajax(this.resolveResouce(l.uri),{responseType:"arraybuffer"}).then(function(c){return c.body})}return this.cache.set(r,a),a},n.prototype.loadBufferView=function(t){var e="bufferView:"+t,r=this.cache.get(e);if(r)return r;for(var i=null,a=0,o=ct(this.extensions);a<o.length;a++){var s=o[a];if(i=s.loadBufferView(t,this),i)break}if(!i){var u=this.json.bufferViews[t];i=this.loadBuffer(u.buffer).then(function(l){var c=u.byteLength||0,f=u.byteOffset||0;return l.slice(f,f+c)})}return this.cache.set(e,i),i},n.prototype.loadAccessor=function(t){var e=this,r="accessor:"+t,i=this.cache.get(r);if(i)return i;var a=null;if(!a){var o=this.json.accessors[t];if(o.bufferView===void 0&&o.sparse===void 0)a=Promise.resolve(null);else{var s=[];o.bufferView!==void 0?s.push(this.loadBufferView(o.bufferView)):s.push(Promise.resolve(null)),o.sparse!==void 0&&(s.push(this.loadBufferView(o.sparse.indices.bufferView)),s.push(this.loadBufferView(o.sparse.values.bufferView))),a=Promise.all(s).then(function(u){var l=u[0],c=Xo[o.type],f=Mn[o.componentType],h=f.BYTES_PER_ELEMENT,m=h*c,A=o.byteOffset||0,p=o.bufferView!==void 0?e.json.bufferViews[o.bufferView].byteStride:void 0,g=o.normalized===!0,v,y;if(p&&p!==m){var b=Math.floor(A/p),w="InterleavedBuffer:"+o.bufferView+":"+o.componentType+":"+b+":"+o.count,E=e.cache.get(w);E||(v=new f(l,b*p,o.count*p/h),E=new d.InterleavedBuffer(v,p/h),e.cache.set(w,E)),y=new d.InterleavedBufferAttribute(E,c,A%p/h,g)}else l===null?v=new f(o.count*c):v=new f(l,A,o.count*c),y=new d.BufferAttribute(v,c,g);if(o.sparse!==void 0){var x=Xo.SCALAR,C=Mn[o.sparse.indices.componentType],M=o.sparse.indices.byteOffset||0,I=o.sparse.values.byteOffset||0,T=new C(u[1],M,o.sparse.count*x),P=new f(u[2],I,o.sparse.count*c);l!==null&&(y=new d.BufferAttribute(y.array.slice(),y.itemSize,y.normalized));for(var R=0,L=T.length;R<L;R++){var F=T[R];if(y.setX(F,P[R*c]),c>=2&&y.setY(F,P[R*c+1]),c>=3&&y.setZ(F,P[R*c+2]),c>=4&&y.setW(F,P[R*c+3]),c>=5)throw new Error("THREE.GLTFLoader: Unsupported itemSize in sparse BufferAttribute.")}}return y})}}return this.cache.set(r,a),a},n.prototype.createPrimitiveKey=function(t){for(var e=0,r=ct(this.extensions);e<r.length;e++){var i=r[e],a=i.createPrimitiveKey(t,this);if(a)return a}for(var o="",s=Object.keys(t.attributes).sort(),u=0,l=s.length;u<l;u++)o+=s[u]+":"+t.attributes[s[u]]+";";return t.indices+":"+o+":"+t.mode},n.prototype.loadGeometry=function(t){for(var e=this,r=null,i=0,a=ct(this.extensions);i<a.length;i++){var o=a[i];if(r=o.loadGeometry(t,this),r)break}return r||(r=this.addGeometryPrimitiveAttributes(new d.BufferGeometry,t)),r=r.then(function(s){return e.disposeSet.add(s),s}),r},n.prototype.loadImage=function(t){for(var e=this,r=null,i=0,a=ct(this.extensions);i<a.length;i++){var o=a[i];if(r=o.loadImage(t,this),r)break}if(!r){var s=this.json.images[t];if(s.bufferView!==void 0){var u=this.json.bufferViews[s.bufferView];r=this.loadBuffer(u.buffer).then(function(c){var f=u.byteOffset||0,h=u.byteLength||0,m=new Uint8Array(c,f,h),A=new Blob([m],{type:s.mimeType});return xa(A)})}else if(s.uri){var l=this.resolveResouce(s.uri);r=this.options.fetcher.loadImage(l,{},void 0,void 0,void 0,mi()).then(function(c){return c.body})}else throw new Error("glTF: Invalid image defs.")}return r=r.then(function(c){return e.disposeSet.add(c),c}),r},n.prototype.loadMaterialAsMeshStandardMaterial=function(t){var e=this,r=[],i=new d.MeshStandardMaterial;if(i.color=new d.Color(1,1,1),i.opacity=1,Object.keys(t.attributes).filter(function(c){return kt[c]==="color"}).length>0&&(i.vertexColors=!0),Object.keys(t.attributes).filter(function(c){return kt[c]==="normal"}).length===0&&(i.flatShading=!0),Object.keys(t.attributes).filter(function(c){return kt[c]==="tangent"}).length===0&&(i.normalScale&&(i.normalScale.y*=-1),i.clearcoatNormalScale&&(i.clearcoatNormalScale.y*=-1)),t.material!==void 0){var a=this.json.materials[t.material];a.name&&(i.name=a.name);var o=a.pbrMetallicRoughness||{};if(Array.isArray(o.baseColorFactor)){var s=o.baseColorFactor;i.color.fromArray(s),i.opacity=s[3]}o.baseColorTexture!==void 0&&r.push(this.createMaterialTexture(o.baseColorTexture).then(function(c){c.encoding=d.sRGBEncoding,i.map=c,e.disposeSet.add(c)})),i.metalness=o.metallicFactor!==void 0?o.metallicFactor:1,i.roughness=o.roughnessFactor!==void 0?o.roughnessFactor:1,o.metallicRoughnessTexture!==void 0&&r.push(this.createMaterialTexture(o.metallicRoughnessTexture).then(function(c){c.encoding=d.sRGBEncoding,i.metalnessMap=c,i.roughnessMap=c,e.disposeSet.add(c)})),a.doubleSided===!0&&(i.side=d.DoubleSide);var u=a.alphaMode||Ar.OPAQUE;if(u===Ar.BLEND?(i.transparent=!0,i.depthWrite=!1):(i.transparent=!1,u===Ar.MASK&&(i.alphaTest=a.alphaCutoff!==void 0?a.alphaCutoff:.5)),a.normalTexture!==void 0&&(r.push(this.createMaterialTexture(a.normalTexture).then(function(c){i.normalMap=c,e.disposeSet.add(c)})),i.normalScale=new d.Vector2(1,1),a.normalTexture.scale!==void 0)){var l=a.normalTexture.scale;i.normalScale.set(l,l)}a.occlusionTexture!==void 0&&(r.push(this.createMaterialTexture(a.occlusionTexture).then(function(c){i.aoMap=c,e.disposeSet.add(c)})),a.occlusionTexture.strength!==void 0&&(i.aoMapIntensity=a.occlusionTexture.strength)),a.emissiveFactor!==void 0&&(i.emissive=new d.Color().fromArray(a.emissiveFactor)),a.emissiveTexture!==void 0&&r.push(this.createMaterialTexture(a.emissiveTexture).then(function(c){i.emissiveMap=c,e.disposeSet.add(c)}))}return this.disposeSet.add(i),Promise.all(r).then(function(){return i})},n.prototype.loadMaterialAsLineBasicMaterial=function(t){var e=[],r=new d.LineBasicMaterial;if(r.color=new d.Color(1,1,1),r.opacity=1,Object.keys(t.attributes).filter(function(u){return kt[u]==="color"}).length>0&&(r.vertexColors=!0),Object.keys(t.attributes).filter(function(u){return kt[u]==="tangent"}).length===0&&(r.normalScale&&(r.normalScale.y*=-1),r.clearcoatNormalScale&&(r.clearcoatNormalScale.y*=-1)),t.material!==void 0){var i=this.json.materials[t.material];i.name&&(r.name=i.name);var a=i.pbrMetallicRoughness||{};if(Array.isArray(a.baseColorFactor)){var o=a.baseColorFactor;r.color.fromArray(o),r.opacity=o[3]}i.doubleSided===!0&&(r.side=d.DoubleSide);var s=i.alphaMode||Ar.OPAQUE;s===Ar.BLEND?(r.transparent=!0,r.depthWrite=!1):(r.transparent=!1,s===Ar.MASK&&(r.alphaTest=i.alphaCutoff!==void 0?i.alphaCutoff:.5))}return this.disposeSet.add(r),Promise.all(e).then(function(){return r})},n.prototype.loadMaterialAsPointsMaterial=function(t){var e=this,r=[],i=new d.PointsMaterial;if(i.color=new d.Color(1,1,1),i.opacity=1,i.sizeAttenuation=!1,Object.keys(t.attributes).filter(function(l){return kt[l]==="color"}).length>0&&(i.vertexColors=!0),Object.keys(t.attributes).filter(function(l){return kt[l]==="tangent"}).length===0&&(i.normalScale&&(i.normalScale.y*=-1),i.clearcoatNormalScale&&(i.clearcoatNormalScale.y*=-1)),t.material!==void 0){var a=this.json.materials[t.material];a.name&&(i.name=a.name);var o=a.pbrMetallicRoughness||{};if(Array.isArray(o.baseColorFactor)){var s=o.baseColorFactor;i.color.fromArray(s),i.opacity=s[3]}o.baseColorTexture!==void 0&&r.push(this.createMaterialTexture(o.baseColorTexture).then(function(l){l.encoding=d.sRGBEncoding,i.map=l,e.disposeSet.add(l)})),a.doubleSided===!0&&(i.side=d.DoubleSide);var u=a.alphaMode||Ar.OPAQUE;u===Ar.BLEND?(i.transparent=!0,i.depthWrite=!1):(i.transparent=!1,u===Ar.MASK&&(i.alphaTest=a.alphaCutoff!==void 0?a.alphaCutoff:.5))}return this.disposeSet.add(i),Promise.all(r).then(function(){return i})},n.prototype.loadMaterial=function(t){var e,r=(e=t.mode)!==null&&e!==void 0?e:Ve.TRIANGLES,i="material:"+this.createPrimitiveKey(t),a=this.cache.get(i);if(a)return a;for(var o=null,s=0,u=ct(this.extensions);s<u.length;s++){var l=u[s];if(o=l.loadMaterial(t,this),o)break}if(r===Ve.TRIANGLES||r===Ve.TRIANGLE_STRIP||r===Ve.TRIANGLE_FAN)o=this.loadMaterialAsMeshStandardMaterial(t);else if(r===Ve.LINES||r===Ve.LINE_STRIP||r===Ve.LINE_LOOP)o=this.loadMaterialAsLineBasicMaterial(t);else if(r===Ve.POINTS)o=this.loadMaterialAsPointsMaterial(t);else throw new Error("glTF: Primitive mode unsupported: "+r);return this.cache.set(i,o),o},n.prototype.loadTexture=function(t){var e=this,r="texture:"+t,i=this.cache.get(r);if(i)return i;for(var a=null,o=0,s=ct(this.extensions);o<s.length;o++){var u=s[o];if(a=u.loadTexture(t,this),a)break}if(!a){var l=this.json.textures[t];a=this.loadImage(l.source).then(function(c){var f=new d.Texture(c);f.needsUpdate=!0,f.flipY=!1,l.name&&(f.name=l.name);var h=e.json.samplers||{},m=h[l.sampler]||{};return f.magFilter=yi[m.magFilter]||d.LinearFilter,f.minFilter=yi[m.minFilter]||d.LinearMipmapLinearFilter,f.wrapS=bi[m.wrapS]||d.RepeatWrapping,f.wrapT=bi[m.wrapT]||d.RepeatWrapping,f.onUpdate=function(){c.close()},f})}return a=a.then(function(c){return e.disposeSet.add(c),c}),this.cache.set(r,a),a},n.prototype.loadMesh=function(t){for(var e=this,r=null,i=0,a=ct(this.extensions);i<a.length;i++){var o=a[i];if(r=o.loadMesh(t,this),r)break}if(!r){var s=this.json.meshes[t],u=s.primitives,l=Promise.all(u.map(function(f){return e.loadGeometry(f)})),c=Promise.all(u.map(function(f){return e.loadMaterial(f)}));r=Promise.all([l,c]).then(function(f){for(var h=f[0],m=f[1],A=[],p=0;p<u.length;p++){var g=u[p],v=h[p],y=m[p],b=g.mode||Ve.TRIANGLES,w=void 0;if(b===Ve.TRIANGLES||b===Ve.TRIANGLE_STRIP||b===Ve.TRIANGLE_FAN)if(b===Ve.TRIANGLE_STRIP?v=e.toGeometryTrianglesDrawMode(v,d.TriangleStripDrawMode):b===Ve.TRIANGLE_FAN&&(v=e.toGeometryTrianglesDrawMode(v,d.TriangleFanDrawMode)),e.disposeSet.add(v),s.isSkinnedMesh){var E=new d.SkinnedMesh(v,y);v.attributes.skinWeight.normalized||E.normalizeSkinWeights(),w=E}else w=new d.Mesh(v,y);else if(b===Ve.POINTS)w=new d.Points(v,y);else if(b===Ve.LINES)w=new d.LineSegments(v,y);else if(b===Ve.LINE_STRIP)w=new d.Line(v,y);else if(b===Ve.LINE_LOOP)w=new d.LineLoop(v,y);else throw new Error("glTF: Primitive mode unsupported: "+b);if(Object.keys(v.morphAttributes).length>0){if(s.weights!==void 0)for(var x=0,C=s.weights.length;x<C;x++)w.morphTargetInfluences[x]=s.weights[x];if(s.extras&&Array.isArray(s.extras.targetNames)){var M=s.extras.targetNames;if(w.morphTargetInfluences.length===M.length){w.morphTargetDictionary={};for(var x=0,C=M.length;x<C;x++)w.morphTargetDictionary[M[x]]=x}else console.warn("glTF: Invalid extras.targetNames length. Ignoring names.")}}w.name=e.createUniqueName(s.name||"mesh_"+t),A.push(w)}if(A.length===1)return A[0];for(var I=new d.Group,T=0,P=A;T<P.length;T++){var w=P[T];I.add(w)}return I})}return r},n.prototype.loadNodeAttachments=function(t){for(var e=[],r=0,i=ct(this.extensions);r<i.length;r++){var a=i[r],o=a.loadNodeAttachments(t,this);o&&e.push(o)}return e},n.prototype.loadNode=function(t){var e="node:"+t,r=this.cache.get(e);if(r)return r;var i=this.json,a=i.nodes[t],o=a.name?this.createUniqueName(a.name):"",s=[];a.mesh!==void 0&&s.push(this.loadMesh(a.mesh).then(function(h){if(a.weights!==void 0){var m=a.weights;h.traverse(function(A){if(A instanceof d.Mesh||A instanceof d.Line||A instanceof d.Points)for(var p=0,g=m.length;p<g;p++)A.morphTargetInfluences[p]=m[p]})}return h})),a.camera!==void 0&&s.push(this.loadCamera(a.camera));for(var u=this.loadNodeAttachments(t),l=0,c=u;l<c.length;l++){var f=c[l];s.push(f)}return Promise.all(s).then(function(h){var m;if(a.isBone===!0?m=new d.Bone:h.length>1?m=new d.Group:h.length===1?m=h[0]:m=new d.Object3D,m!==h[0])for(var A=0,p=h.length;A<p;A++)m.add(h[A]);if(a.name&&(m.name=o),a.matrix!==void 0){var g=new d.Matrix4;g.fromArray(a.matrix),m.applyMatrix4(g)}else a.translation!==void 0&&m.position.fromArray(a.translation),a.rotation!==void 0&&m.quaternion.fromArray(a.rotation),a.scale!==void 0&&m.scale.fromArray(a.scale);return m})},n.prototype.loadScene=function(t){var e=this.json,r=e.scenes[t],i=new d.Group;r.name&&(i.name=this.createUniqueName(r.name));for(var a=r.nodes||[],o=[],s=0,u=a.length;s<u;s++)o.push(this.buildNodeHierarchy(a[s],i));return Promise.all(o).then(function(){return i})},n.prototype.createMaterialTexture=function(t){var e=this;return this.loadTexture(t.index).then(function(r){for(var i=0,a=ct(e.extensions);i<a.length;i++){var o=a[i],s=o.extendTexture(r,t,e);s&&(r=s,e.disposeSet.add(r))}return r})},n.prototype.addGeometryPrimitiveAttributes=function(t,e){var r=this,i=e.attributes,a=[],o=function(E){var x=kt[E]||E.toLowerCase();if(x in t.attributes)return"continue";a.push(s.loadAccessor(i[E]).then(function(C){C&&t.setAttribute(x,C)}))},s=this;for(var u in i)o(u);e.indices!==void 0&&!t.index&&a.push(this.loadAccessor(e.indices).then(function(E){E&&t.setIndex(E)}));var l=new d.Box3;if(i.POSITION!==void 0){var c=this.json.accessors[i.POSITION],f=c.min,h=c.max;if(f!==void 0&&h!==void 0){if(l.set(new d.Vector3(f[0],f[1],f[2]),new d.Vector3(h[0],h[1],h[2])),c.normalized){var m=Yi(Mn[c.componentType]);l.min.multiplyScalar(m),l.max.multiplyScalar(m)}}else console.warn("glTF: Missing min/max properties for accessor POSITION.")}var A=e.targets;if(A!==void 0){for(var p=new d.Vector3,g=new d.Vector3,v=0,y=A.length;v<y;v++){var b=A[v];if(b.POSITION!==void 0){var c=this.json.accessors[b.POSITION],f=c.min,h=c.max;if(f!==void 0&&h!==void 0){if(g.setX(Math.max(Math.abs(f[0]),Math.abs(h[0]))),g.setY(Math.max(Math.abs(f[1]),Math.abs(h[1]))),g.setZ(Math.max(Math.abs(f[2]),Math.abs(h[2]))),c.normalized){var m=Yi(Mn[c.componentType]);g.multiplyScalar(m)}p.max(g)}else console.warn("glTF: Missing min/max properties for accessor POSITION.")}}l.expandByVector(p)}t.boundingBox=l;var w=new d.Sphere;return l.getCenter(w.center),w.radius=l.min.distanceTo(l.max)/2,t.boundingSphere=w,Promise.all(a).then(function(){if(t.attributes.uv&&!t.attributes.uv2&&r.options.copyUV2&&t.setAttribute("uv2",t.attributes.uv),e.targets){for(var E=!1,x=!1,C=0,M=e.targets.length;C<M;C++){var I=e.targets[C];if(I.POSITION!==void 0&&(E=!0),I.NORMAL!==void 0&&(x=!0),E&&x)break}if(!E&&!x)return t;var T=[];t.morphTargetsRelative=!0;for(var P=function(R,L){var F=e.targets[R];E?T.push(r.loadAccessor(F.POSITION).then(function(O){O&&(t.morphAttributes.position[R]=O)})):t.morphAttributes.position[R]=t.attributes.position,x?T.push(r.loadAccessor(F.NORMAL).then(function(O){O&&(t.morphAttributes.normal[R]=O)})):t.morphAttributes.normal[R]=t.attributes.normal},C=0,M=e.targets.length;C<M;C++)P(C,M);return Promise.all(T).then(function(){return t})}else return t})},n.prototype.buildNodeHierarchy=function(t,e){var r=this,i=this.json.nodes[t];return this.loadNode(t).then(function(a){if(i.skin===void 0)return a;var o;return r.loadSkin(i.skin).then(function(s){o=s;for(var u=[],l=0,c=o.joints.length;l<c;l++)u.push(r.loadNode(o.joints[l]));return Promise.all(u)}).then(function(s){return a.traverse(function(u){if(u instanceof d.SkinnedMesh){for(var l=[],c=[],f=0,h=s.length;f<h;f++){var m=s[f];if(m instanceof d.Bone){l.push(m);var A=new d.Matrix4;o.inverseBindMatrices!==void 0&&A.fromArray(o.inverseBindMatrices.array,f*16),c.push(A)}else console.warn('glTF: Joint "%s" could not be found.',o.joints[f])}u.bind(new d.Skeleton(l,c),u.matrixWorld)}}),a})}).then(function(a){e.add(a);var o=[];if(i.children)for(var s=i.children,u=0,l=s.length;u<l;u++){var c=s[u];o.push(r.buildNodeHierarchy(c,a))}return Promise.all(o).then(function(){return a})})},n.prototype.createUniqueName=function(t){for(var e=d.PropertyBinding.sanitizeNodeName(t||""),r=e,i=1;this.nodeNamesUsed[r];++i)r=e+"_"+i;return this.nodeNamesUsed[r]=!0,r},n.prototype.resolveResouce=function(t){return bt(this.options.resourcePath,S0(t,this.options.search))},n.prototype.toGeometryTrianglesDrawMode=function(t,e){var r=t.getIndex();if(r===null){var i=[],a=t.getAttribute("position");if(a!==void 0){for(var o=0;o<a.count;o++)i.push(o);t.setIndex(i),r=t.getIndex()}}if(r===null)return console.error("glTF: Undefined position attribute. Processing not possible."),t;var s=r.count-2,u=[];if(e===d.TriangleFanDrawMode)for(var o=1;o<=s;o++)u.push(r.getX(0)),u.push(r.getX(o)),u.push(r.getX(o+1));else for(var o=0;o<s;o++)o%2===0?(u.push(r.getX(o)),u.push(r.getX(o+1)),u.push(r.getX(o+2))):(u.push(r.getX(o+2)),u.push(r.getX(o+1)),u.push(r.getX(o)));u.length/3!==s&&console.error("glTF: Unable to generate correct amount of triangles.");var l=t.clone();return l.setIndex(u),this.disposeSet.add(l),l},n}();function Yi(n){switch(n){case Int8Array:return 1/127;case Uint8Array:return 1/255;case Int16Array:return 1/32767;case Uint16Array:return 1/65535;default:throw new Error("glTF: Unsupported normalized accessor component type.")}}var ur=function(){function n(){}return n.prototype.markDefs=function(t){},n.prototype.prepare=function(t){},n.prototype.emitResult=function(t,e){},n.prototype.createPrimitiveKey=function(t,e){},n.prototype.extendTexture=function(t,e,r){return null},n.prototype.loadBuffer=function(t,e){return null},n.prototype.loadBufferView=function(t,e){return null},n.prototype.loadImage=function(t,e){return null},n.prototype.loadTexture=function(t,e){return null},n.prototype.loadGeometry=function(t,e){return null},n.prototype.loadMaterial=function(t,e){return null},n.prototype.loadMesh=function(t,e){return null},n.prototype.loadNodeAttachments=function(t,e){return null},n.prototype.loadCamera=function(t,e){return null},n.prototype.loadAnimation=function(t,e){return null},n}(),vd=function(n){pe(t,n);function t(){var e=n.call(this)||this;return e.header={magic:"",version:0,length:0},e.content="",e.body=null,e}return t.getMagic=function(e){return Ia(new Uint8Array(e.slice(0,4)))},t.prototype.loadGlbBinary=function(e){var r=new DataView(e,0,t.HEADER_LENGTH);if(this.header={magic:t.getMagic(e),version:r.getUint32(4,!0),length:r.getUint32(8,!0)},this.header.magic!==t.HEADER_MAGIC)throw new Error("glTF:KHR_binary_glTF: Unsupported.");if(this.header.version<2)throw new Error("glTF:KHR_binary_glTF: Legacy binary file detected.");for(var i=new DataView(e,t.HEADER_LENGTH),a=0,o=null,s=null;a<i.byteLength;){var u=i.getUint32(a,!0);if(a+=4,u!==0){var l=i.getUint32(a,!0);if(a+=4,l===t.CHUNK_TYPES.JSON){var c=new Uint8Array(e,t.HEADER_LENGTH+a,u);o=Ia(c)}else if(l===t.CHUNK_TYPES.BIN){var f=t.HEADER_LENGTH+a;s=e.slice(f,f+u)}a+=u}}if(o===null)throw new Error("glTF:KHR_binary_glTF: JSON content not found.");this.content=o,this.body=s},t.prototype.loadBuffer=function(e,r){var i=r.json.buffers[e];return i.uri===void 0&&e===0&&this.body?Promise.resolve(this.body):null},t.prototype.clear=function(){this.body=null,this.content=""},t.HEADER_MAGIC="glTF",t.HEADER_LENGTH=12,t.CHUNK_TYPES={JSON:1313821514,BIN:5130562},t}(ur),Ad="https://vr-public.realsee-cdn.cn/release/static/image/release/five/resource/draco/1.5.6/",_o={position:"POSITION",normal:"NORMAL",color:"COLOR",uv:"TEX_COORD"},Zo={position:"Float32Array",normal:"Float32Array",color:"Float32Array",uv:"Float32Array"},md=function(){function n(){this.decoderPath=Ad,this.decoderConfig={},this.decoderPending=null,this.workerLimit=4,this.workerPool=[],this.workerNextTaskID=1,this.workerSourceURL=""}return n.prototype.setDecoderPath=function(t){this.decoderPath=t},n.prototype.setDecoderConfig=function(t){return this.decoderConfig=t,this},n.prototype.setWorkerLimit=function(t){return this.workerLimit=t,this},n.prototype.decodeDracoFile=function(t,e,r,i){var a={attributeIDs:r||_o,attributeTypes:i||Zo,useUniqueIDs:!!r};this.decodeGeometry(t,a).then(e)},n.prototype.decodeGeometry=function(t,e){var r=this;e===void 0&&(e={attributeIDs:_o,attributeTypes:Zo,useUniqueIDs:!1});for(var i in e.attributeTypes){var a=e.attributeTypes[i];a.BYTES_PER_ELEMENT!==void 0&&(e.attributeTypes[i]=a.name)}var o,s=this.workerNextTaskID++,u=t.byteLength,l=this._getWorker(s,u).then(function(c){return o=c,new Promise(function(f,h){o._callbacks[s]={resolve:f,reject:h},o.postMessage({type:"decode",id:s,taskConfig:e,buffer:t},[t])})}).then(function(c){return r._createGeometry(c.geometry)});return l.catch(function(){return!0}).then(function(){o&&s&&r._releaseTask(o,s)}),l},n.prototype._createGeometry=function(t){var e=new d.BufferGeometry;t.index&&e.setIndex(new d.BufferAttribute(t.index.array,1));for(var r=0;r<t.attributes.length;r++){var i=t.attributes[r],a=i.name,o=i.array,s=i.itemSize;e.setAttribute(a,new d.BufferAttribute(o,s))}return e},n.prototype._initDecoder=function(){var t=this;if(this.decoderPending)return this.decoderPending;var e=typeof WebAssembly!="object"||this.decoderConfig.type==="js";if(e){var r=hn(this.decoderPath+"draco_decoder.js",{responseType:"text"}).then(function(a){return a.body});this.decoderPending=r.then(function(a){var o=["/* draco decoder */",a,"","/* worker */",Yo].join(`
418
418
  `);t.workerSourceURL=URL.createObjectURL(new Blob([o]))})}else{var r=hn(this.decoderPath+"draco_wasm_wrapper.js",{responseType:"text"}).then(function(o){return o.body}),i=hn(this.decoderPath+"draco_decoder.wasm",{responseType:"arraybuffer"}).then(function(o){return o.body});this.decoderPending=Promise.all([r,i]).then(function(o){var s=o[0],u=o[1];t.decoderConfig.wasmBinary=u;var l=["/* draco decoder */",s,"","/* worker */",Yo].join(`
419
419
  `);t.workerSourceURL=URL.createObjectURL(new Blob([l]))})}return this.decoderPending},n.prototype._getWorker=function(t,e){var r=this;return this._initDecoder().then(function(){if(r.workerPool.length<r.workerLimit){var i=new Worker(r.workerSourceURL);i._callbacks={},i._taskCosts={},i._taskLoad=0,i.postMessage({type:"init",decoderConfig:r.decoderConfig}),i.onmessage=function(o){var s=o.data;switch(s.type){case"decode":i._callbacks[s.id].resolve(s);break;case"error":i._callbacks[s.id].reject(s);break;default:console.error('DRACO: Unexpected message, "'+s.type+'"')}},r.workerPool.push(i)}else r.workerPool.sort(function(o,s){return o._taskLoad>s._taskLoad?-1:1});var a=r.workerPool[r.workerPool.length-1];return a._taskCosts[t]=e,a._taskLoad+=e,a})},n.prototype._releaseTask=function(t,e){t._taskLoad-=t._taskCosts[e],delete t._callbacks[e],delete t._taskCosts[e]},n.prototype.dispose=function(){for(var t=0;t<this.workerPool.length;++t)this.workerPool[t].terminate();return this.workerPool.length=0,this},n}(),wi=new md,Yo=`
420
420
  let decoderConfig;
@@ -2010,7 +2010,7 @@ void main() {
2010
2010
  #include <premultiplied_alpha_fragment>
2011
2011
 
2012
2012
  }
2013
- `},fo=function(n){pe(t,n);function t(e){var r=n.call(this,{uniforms:d.UniformsUtils.clone(va.uniforms),vertexShader:va.vertexShader,fragmentShader:va.fragmentShader,clipping:!0})||this;return r.type="LineMaterial",r.dashed=!1,Object.defineProperties(r,{color:{enumerable:!0,get:function(){return this.uniforms.diffuse.value},set:function(i){this.uniforms.diffuse.value=i}},linewidth:{enumerable:!0,get:function(){return this.uniforms.linewidth.value},set:function(i){this.uniforms.linewidth.value=i}},dashScale:{enumerable:!0,get:function(){return this.uniforms.dashScale.value},set:function(i){this.uniforms.dashScale.value=i}},dashSize:{enumerable:!0,get:function(){return this.uniforms.dashSize.value},set:function(i){this.uniforms.dashSize.value=i}},gapSize:{enumerable:!0,get:function(){return this.uniforms.gapSize.value},set:function(i){this.uniforms.gapSize.value=i}},opacity:{enumerable:!0,get:function(){return this.uniforms.opacity.value},set:function(i){this.uniforms.opacity.value=i}},resolution:{enumerable:!0,get:function(){return this.uniforms.resolution.value},set:function(i){this.uniforms.resolution.value.copy(i)}}}),r.setValues(e),r}return t}(d.ShaderMaterial);Object.assign(fo.prototype,{isLineMaterial:!0});var pu=function(n){pe(t,n);function t(e,r){var i=n.call(this)||this;return i.type="LineSegments2",i.geometry=e!==void 0?e:new co,i.material=r!==void 0?r:new fo({color:Math.random()*16777215}),i}return t.prototype.computeLineDistances=function(){for(var e=this.geometry,r=e.attributes.instanceStart,i=e.attributes.instanceEnd,a=new Float32Array(2*r.count),o=new d.Vector3,s=new d.Vector3,u=0,l=0,c=r.count;u<c;u++,l+=2)o.fromBufferAttribute(r,u),s.fromBufferAttribute(i,u),a[l]=l===0?0:a[l-1],a[l+1]=a[l]+o.distanceTo(s);var f=new d.InstancedInterleavedBuffer(a,2,1);return e.setAttribute("instanceDistanceStart",new d.InterleavedBufferAttribute(f,1,0)),e.setAttribute("instanceDistanceEnd",new d.InterleavedBufferAttribute(f,1,1)),this},t.prototype.raycast=function(e,r){e.camera===null&&console.error('LineSegments2: "Raycaster.camera" needs to be set in order to raycast against LineSegments2.');var i=e.ray,a=e.camera,o=a.projectionMatrix,s=this.geometry,u=this.material,l=u.resolution,c=u.linewidth,f=s.attributes.instanceStart,h=s.attributes.instanceEnd,m=new d.Vector4,A=new d.Vector4,p=new d.Vector4,g=new d.Vector3,v=new d.Matrix4,y=new d.Line3,b=new d.Vector3;i.at(1,p),p.w=1,p.applyMatrix4(a.matrixWorldInverse),p.applyMatrix4(o),p.multiplyScalar(1/p.w),p.x*=l.x/2,p.y*=l.y/2,p.z=0,g.copy(p);var w=this.matrixWorld;v.multiplyMatrices(a.matrixWorldInverse,w);for(var E=0,x=f.count;E<x;E++){m.fromBufferAttribute(f,E),A.fromBufferAttribute(h,E),m.w=1,A.w=1,m.applyMatrix4(v),A.applyMatrix4(v),m.applyMatrix4(o),A.applyMatrix4(o),m.multiplyScalar(1/m.w),A.multiplyScalar(1/A.w);var C=m.z<-1&&A.z<-1,M=m.z>1&&A.z>1;if(!(C||M)){m.x*=l.x/2,m.y*=l.y/2,A.x*=l.x/2,A.y*=l.y/2,y.start.copy(m),y.start.z=0,y.end.copy(A),y.end.z=0;var I=y.closestPointToPointParameter(g,!0);y.at(I,b);var T=d.MathUtils.lerp(m.z,A.z,I),P=T>=-1&&T<=1,R=g.distanceTo(b)<c*.5;if(P&&R){y.start.fromBufferAttribute(f,E),y.end.fromBufferAttribute(h,E),y.start.applyMatrix4(w),y.end.applyMatrix4(w);var L=new d.Vector3,F=new d.Vector3;i.distanceSqToSegment(y.start,y.end,F,L),r.push({point:F,pointOnLine:L,distance:i.origin.distanceTo(F),object:this,faceIndex:E})}}}},t}(d.Mesh);Object.assign(pu.prototype,{isLineSegments2:!0});var vu=function(n){pe(t,n);function t(e,r){var i=n.call(this,e,r)||this;return i.type="Line2",i}return t}(pu);Object.assign(vu.prototype,{isLine2:!0});var Au=function(n){pe(t,n);function t(){var e=n.call(this)||this;return e.type="LineGeometry",e}return t.prototype.setPositions=function(e){for(var r=e.length-3,i=new Float32Array(2*r),a=0;a<r;a+=3)i[2*a]=e[a],i[2*a+1]=e[a+1],i[2*a+2]=e[a+2],i[2*a+3]=e[a+3],i[2*a+4]=e[a+4],i[2*a+5]=e[a+5];return n.prototype.setPositions.call(this,i),this},t.prototype.setColors=function(e){for(var r=e.length-3,i=new Float32Array(2*r),a=0;a<r;a+=3)i[2*a]=e[a],i[2*a+1]=e[a+1],i[2*a+2]=e[a+2],i[2*a+3]=e[a+3],i[2*a+4]=e[a+4],i[2*a+5]=e[a+5];return n.prototype.setColors.call(this,i),this},t.prototype.fromLine=function(e){var r=e.geometry;if(r instanceof d.Geometry){var i=new d.BufferGeometry().fromGeometry(r);this.setPositions(i.attributes.position.array)}else r instanceof d.BufferGeometry&&this.setPositions(r.attributes.position.array);return this},t.prototype.copy=function(){return this},t}(co);Object.assign(Au.prototype,{isLineGeometry:!0});var dp="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAAZiS0dEAAAAAAAA+UO7fwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9sHDgwCEMBJZu0AAAAdaVRYdENvbW1lbnQAAAAAAENyZWF0ZWQgd2l0aCBHSU1QZC5lBwAABM5JREFUWMO1V0tPG2cUPZ4Hxh6DazIOrjFNqJs0FIMqWFgWQkatsmvVbtggKlSVRVf5AWz4AWz4AUSKEChll19QJYSXkECuhFxsHjEhxCYm+DWGMZ5HF72DJq4bAzFXurI0M/I5997v3u9cC65vTJVn2lX/xHINQOYSBLTLEuIuCWw4Z3IGAEvf6ASmVHjNzHCXBG4A0AjACsAOwEbO0nsFQBnAGYASAIl+ZRMR7SolMEdsByD09fV5R0ZGgg8ePPjW5/N1iqLYpuu6RZblciKR2I9Go69evnwZnZ+fjwI4IS8AKBIRzeQfJWCANwKwh0KhtrGxsYehUOin1tbW+zzP23ietzY2NnIAoGmaLsuyUiqVyvl8XtrY2NiamZn589mzZxsAUgCOAeQAnFI2tI+VxIjaAeDzoaGh7xYWFuZOTk6OZVk+12uYqqq6JEnn0Wg0OT4+/geAXwGEAdwDIFJQXC1wO4DWR48e/RCPxxclSSroVzRFUbSDg4P848ePFwH8DuAhkWih83TRQWxFOXgAwvDwcOfo6OhvXV1d39tsNtuVBwTDWBwOh1UUxVsMw1hXVlbSdCgNV43uYSvrHg6H24aHh38eHBz85TrgF9FYLHA4HLzH43FvbW2d7u/vG+dANp8FpqIlbd3d3V8Fg8EfBUFw4BONZVmL3+9vHhkZCQL4AoAHgJPK8G+yzC0XDofdoVAo5PP5vkadTBAEtr+/39ff3x8gAp/RPOEqx2qjx+NpvXv3bk9DQ0NDvQgwDIOWlhZrMBj8kgi0UJdxRgYMArzL5XJ7vd57qLPZ7Xamp6fnNgBXtQxcjFuHw+Hyer3t9SYgCAITCAScAJoBNNEY/08GOFVVrfVMv7kMNDntFD1vjIAPrlRN0xjckOm6biFQ3jwNPwDMZrOnqVTqfb3Bi8Wivru7W/VCYkwPlKOjo0IikXh7EwQikYgE4Nw0CfXKDCipVCoTj8df3QABbW1tLUc6oUgkFPMkVACUNjc337148eKvw8PDbJ2jP1taWkoCyNDVXDSECmNSK4qiKNLq6urW8+fPI/UicHx8rD59+jSVy+WOAKSJhKENwFItLtoxk8mwsixzHR0dHe3t7c5PAU+n09rs7OzJkydPYqVSaQfANoDXALIk31S2smU1TWMPDg7K5XKZ7+3t9TudTut1U7+wsFCcmJiIpdPpbQBxADsAknQWymYCOukBHYCuKApisdhpMpnURFEU79y503TVyKenpzOTk5M7e3t7MQKPV0Zv1gNm+awB0MvlshqLxfLb29uyJElWURSbXC4XXyvqxcXFs6mpqeTc3Nzu3t7e3wQcA7BPZ8Cov1pNlJplmQtAG8MwHV6v95tAINA5MDBwPxAIuLu6upr8fr/VAN3c3JQjkcjZ+vp6fnl5+d2bN29SuVzuNYAEpf01CdRChUL+X1VskHACuA3Ay3Fcu9vt7nA6nZ7m5uYWQRCaNE3jVVW15PP580KhIGUymWw2m00DOAJwSP4WwPtq4LX2Ao6USxNlQyS/RcQcdLGwlNIz6vEMAaZpNzCk2Pll94LK/cDYimxERiBwG10sxjgvEZBE0UpE6vxj+0Ct5bTaXthgEhRmja8QWNkkPGsuIpfdjpkK+cZUWTC0KredVmtD/gdlSl6EG4AMvQAAAABJRU5ErkJggg==",Vs=14467195,fp=8,hp=2,pp=20,Ns=null,Na=function(n){pe(t,n);function t(e,r){e===void 0&&(e=new d.Vector3),r===void 0&&(r=new d.Vector3);var i=n.call(this)||this;i.type="FiveLine",i.needsRender=!0;var a=new Au,o=new fo({color:Vs,linewidth:hp,dashScale:pp,dashed:!1});i.line=new vu(a,o);var s=new d.BufferGeometry,u=new d.PointsMaterial({color:Vs,size:fp,map:Ns||(Ns=new d.TextureLoader().load(dp)),sizeAttenuation:!1,transparent:!0});return i.points=new d.Points(s,u),i.points.renderOrder=11,i.points.frustumCulled=!1,i.setPoints(e,r),i.add(i.line,i.points),i}return Object.defineProperty(t,"version",{get:function(){return"6.0.0-alpha.107"},enumerable:!1,configurable:!0}),t.prototype.setPoints=function(e,r){var i=[].concat(e.toArray(),r.toArray());this.points.geometry.setAttribute("position",new d.BufferAttribute(new Float32Array(i),3)),this.line.geometry.setPositions(i),this.line.computeLineDistances(),this.needsRender=!0},t.prototype.getPoints=function(){var e=this.points.geometry.attributes.position.array;return[new d.Vector3(e[0],e[1],e[2]),new d.Vector3(e[3],e[4],e[5])]},t.prototype.setMaterial=function(e){var r=this.line.material;for(var i in e)if(e.hasOwnProperty(i)){var a=e[i];i==="dashed"?(r.dashed=a,a?r.defines.USE_DASH="":delete r.defines.USE_DASH,r.needsUpdate=!0):r[i]=e[i]}this.needsRender=!0},t.prototype.setResolution=function(e,r){var i=this.line.material.resolution;(i.x!==e||i.y!==r)&&(i.set(e,r),this.needsRender=!0)},t}(d.Object3D);Object.assign(Na.prototype,{isFiveLine:!0});var We={Handedness:Object.freeze({NONE:"none",LEFT:"left",RIGHT:"right"}),ComponentState:Object.freeze({DEFAULT:"default",TOUCHED:"touched",PRESSED:"pressed"}),ComponentProperty:Object.freeze({BUTTON:"button",X_AXIS:"xAxis",Y_AXIS:"yAxis",STATE:"state"}),ComponentType:Object.freeze({TRIGGER:"trigger",SQUEEZE:"squeeze",TOUCHPAD:"touchpad",THUMBSTICK:"thumbstick",BUTTON:"button"}),ButtonTouchThreshold:.05,AxisTouchThreshold:.1,VisualResponseProperty:Object.freeze({TRANSFORM:"transform",VISIBILITY:"visibility"})};function mu(n){return Ii(this,void 0,void 0,function(){var t;return Si(this,function(e){switch(e.label){case 0:return[4,fetch(n)];case 1:if(t=e.sent(),t.ok)return[2,t.json()];throw new Error(t.statusText)}})})}function vp(n){return Ii(this,void 0,void 0,function(){var t,e;return Si(this,function(r){switch(r.label){case 0:if(!n)throw new Error("No basePath supplied");return t="profilesList.json",[4,mu("".concat(n,"/").concat(t))];case 1:return e=r.sent(),[2,e]}})})}function Ap(n,t,e,r){return e===void 0&&(e=null),r===void 0&&(r=!0),Ii(this,void 0,void 0,function(){var i,a,o,s,u,l;return Si(this,function(c){switch(c.label){case 0:if(!n)throw new Error("No xrInputSource supplied");if(!t)throw new Error("No basePath supplied");return[4,vp(t)];case 1:if(i=c.sent(),n.profiles.some(function(f){var h=i[f];return h&&(a={profileId:f,profilePath:"".concat(t,"/").concat(h.path),deprecated:!!h.deprecated}),!!a}),!a){if(!e)throw new Error("No matching profile name found");if(o=i[e],!o)throw new Error('No matching profile name found and default profile "'.concat(e,'" missing.'));a={profileId:e,profilePath:"".concat(t,"/").concat(o.path),deprecated:!!o.deprecated}}return[4,mu(a.profilePath)];case 2:if(s=c.sent(),r){if(l=void 0,l=s.layouts[n.handedness],!l)throw new Error("No matching handedness, ".concat(n.handedness,", in profile ").concat(a.profileId));l.assetPath&&(u=a.profilePath.replace("profile.json",l.assetPath))}return[2,{profile:s,assetPath:u}]}})})}var mp={xAxis:0,yAxis:0,button:0,state:We.ComponentState.DEFAULT};function gp(n,t){n===void 0&&(n=0),t===void 0&&(t=0);var e=n,r=t,i=Math.sqrt(n*n+t*t);if(i>1){var a=Math.atan2(t,n);e=Math.cos(a),r=Math.sin(a)}var o={normalizedXAxis:e*.5+.5,normalizedYAxis:r*.5+.5};return o}var yp=function(){function n(t){this.componentProperty=t.componentProperty,this.states=t.states,this.valueNodeName=t.valueNodeName,this.valueNodeProperty=t.valueNodeProperty,this.valueNodeProperty===We.VisualResponseProperty.TRANSFORM&&(this.minNodeName=t.minNodeName,this.maxNodeName=t.maxNodeName),this.value=0,this.updateFromComponent(mp)}return n.prototype.updateFromComponent=function(t){var e=t.xAxis,r=t.yAxis,i=t.button,a=t.state,o=gp(e,r),s=o.normalizedXAxis,u=o.normalizedYAxis;switch(this.componentProperty){case We.ComponentProperty.X_AXIS:this.value=this.states.includes(a)?s:.5;break;case We.ComponentProperty.Y_AXIS:this.value=this.states.includes(a)?u:.5;break;case We.ComponentProperty.BUTTON:this.value=this.states.includes(a)?i:0;break;case We.ComponentProperty.STATE:this.valueNodeProperty===We.VisualResponseProperty.VISIBILITY?this.value=this.states.includes(a):this.value=this.states.includes(a)?1:0;break;default:throw new Error("Unexpected visualResponse componentProperty ".concat(this.componentProperty))}},n}(),bp=function(){function n(t,e){var r=this;if(!t||!e||!e.visualResponses||!e.gamepadIndices||Object.keys(e.gamepadIndices).length===0)throw new Error("Invalid arguments supplied");this.id=t,this.type=e.type,this.rootNodeName=e.rootNodeName,this.touchPointNodeName=e.touchPointNodeName,this.visualResponses={},Object.keys(e.visualResponses).forEach(function(i){var a=new yp(e.visualResponses[i]);r.visualResponses[i]=a}),this.gamepadIndices=Object.assign({},e.gamepadIndices),this.values={state:We.ComponentState.DEFAULT,button:this.gamepadIndices.button!==void 0?0:void 0,xAxis:this.gamepadIndices.xAxis!==void 0?0:void 0,yAxis:this.gamepadIndices.yAxis!==void 0?0:void 0}}return Object.defineProperty(n.prototype,"data",{get:function(){var t=k({id:this.id},this.values);return t},enumerable:!1,configurable:!0}),n.prototype.updateFromGamepad=function(t){var e=this;if(this.values.state=We.ComponentState.DEFAULT,this.gamepadIndices.button!==void 0&&t.buttons.length>this.gamepadIndices.button){var r=t.buttons[this.gamepadIndices.button];this.values.button=r.value,this.values.button=this.values.button<0?0:this.values.button,this.values.button=this.values.button>1?1:this.values.button,r.pressed||this.values.button===1?this.values.state=We.ComponentState.PRESSED:(r.touched||this.values.button>We.ButtonTouchThreshold)&&(this.values.state=We.ComponentState.TOUCHED)}this.gamepadIndices.xAxis!==void 0&&t.axes.length>this.gamepadIndices.xAxis&&(this.values.xAxis=t.axes[this.gamepadIndices.xAxis],this.values.xAxis=this.values.xAxis<-1?-1:this.values.xAxis,this.values.xAxis=this.values.xAxis>1?1:this.values.xAxis,this.values.state===We.ComponentState.DEFAULT&&Math.abs(this.values.xAxis)>We.AxisTouchThreshold&&(this.values.state=We.ComponentState.TOUCHED)),this.gamepadIndices.yAxis!==void 0&&t.axes.length>this.gamepadIndices.yAxis&&(this.values.yAxis=t.axes[this.gamepadIndices.yAxis],this.values.yAxis=this.values.yAxis<-1?-1:this.values.yAxis,this.values.yAxis=this.values.yAxis>1?1:this.values.yAxis,this.values.state===We.ComponentState.DEFAULT&&Math.abs(this.values.yAxis)>We.AxisTouchThreshold&&(this.values.state=We.ComponentState.TOUCHED)),Object.values(this.visualResponses).forEach(function(i){i.updateFromComponent(e.values)})},n}(),wp=function(){function n(t,e,r){var i=this;if(!t)throw new Error("No xrInputSource supplied");if(!e)throw new Error("No profile supplied");this.xrInputSource=t,this.assetUrl=r,this.id=e.profileId,this.layoutDescription=e.layouts[t.handedness],this.components={},Object.keys(this.layoutDescription.components).forEach(function(a){var o=i.layoutDescription.components[a];i.components[a]=new bp(a,o)}),this.updateFromGamepad()}return Object.defineProperty(n.prototype,"gripSpace",{get:function(){return this.xrInputSource.gripSpace},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"targetRaySpace",{get:function(){return this.xrInputSource.targetRaySpace},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"data",{get:function(){var t=[];return Object.values(this.components).forEach(function(e){t.push(e.data)}),t},enumerable:!1,configurable:!0}),n.prototype.updateFromGamepad=function(){var t=this;Object.values(this.components).forEach(function(e){e.updateFromGamepad(t.xrInputSource.gamepad)})},n}(),Ep="https://cdn.jsdelivr.net/npm/@webxr-input-profiles/assets@1.0/dist/profiles",xp="generic-trigger",Mp=function(n){pe(t,n);function t(){var e=n.call(this)||this;return e.motionController=null,e.envMap=null,e}return t.prototype.setEnvironmentMap=function(e){var r=this;return this.envMap==e?this:(this.envMap=e,this.traverse(function(i){i instanceof d.Mesh&&i.isMesh&&(i.material.envMap=r.envMap,i.material.needsUpdate=!0)}),this)},t.prototype.updateMatrixWorld=function(e){n.prototype.updateMatrixWorld.call(this,e),this.motionController&&(this.motionController.updateFromGamepad(),Object.values(this.motionController.components).forEach(function(r){Object.values(r.visualResponses).forEach(function(i){var a=i.valueNode,o=i.minNode,s=i.maxNode,u=i.value,l=i.valueNodeProperty;a&&(l===We.VisualResponseProperty.VISIBILITY?a.visible=u:l===We.VisualResponseProperty.TRANSFORM&&(a.quaternion.copy(o.quaternion).slerp(s.quaternion,u),a.position.lerpVectors(o.position,s.position,u)))})}))},t}(Bn.Object3D);function Cp(n,t){Object.values(n.components).forEach(function(e){var r=e.type,i=e.touchPointNodeName,a=e.visualResponses;if(r===We.ComponentType.TOUCHPAD)if(e.touchPointNode=t.getObjectByName(i),e.touchPointNode){var o=new Bn.SphereGeometry(.001),s=new Bn.MeshBasicMaterial({color:255}),u=new Bn.Mesh(o,s);e.touchPointNode.add(u)}else console.warn("Could not find touch dot, ".concat(e.touchPointNodeName,", in touchpad component ").concat(e.id));Object.values(a).forEach(function(l){var c=l.valueNodeName,f=l.minNodeName,h=l.maxNodeName,m=l.valueNodeProperty;if(m===We.VisualResponseProperty.TRANSFORM){if(l.minNode=t.getObjectByName(f),l.maxNode=t.getObjectByName(h),!l.minNode){console.warn("Could not find ".concat(f," in the model"));return}if(!l.maxNode){console.warn("Could not find ".concat(h," in the model"));return}}l.valueNode=t.getObjectByName(c),l.valueNode||console.warn("Could not find ".concat(c," in the model"))})})}function zs(n,t){Cp(n.motionController,t),n.envMap&&t.traverse(function(e){e instanceof d.Mesh&&e.isMesh&&(e.material.envMap=n.envMap,e.material.needsUpdate=!0)}),n.add(t)}var Ip=function(){function n(t){t===void 0&&(t=null),this.gltfLoader=t,this.path=Ep,this._assetCache={}}return n.prototype.createControllerModel=function(t){var e=this,r=new Mp,i=null;return t.addEventListener("connected",function(a){var o=a.data;o.targetRayMode!=="tracked-pointer"||!o.gamepad||Ap(o,e.path,xp).then(function(s){var u=s.profile,l=s.assetPath;r.motionController=new wp(o,u,l);var c=e._assetCache[r.motionController.assetUrl];if(c)i=c.scene.clone(),zs(r,i);else{if(!e.gltfLoader)throw new Error("GLTFLoader not set.");e.gltfLoader.load(r.motionController.assetUrl,function(f){e._assetCache[r.motionController.assetUrl]=f,i=f.scene.clone(),zs(r,i)})}}).catch(function(s){console.warn(s)})}),t.addEventListener("disconnected",function(){r.motionController=null,r.remove(i),i=null}),r},n}();function Sp(n,t){if(!t)return n;var e=n.match(/\d+_[a-z].png/);return n.substring(0,e.index)+t+"/"+n.substring(e.index)}var Qs=300,Tp=new d.Matrix4().makeRotationAxis(new d.Vector3(0,1,0),Math.PI),Ds=new d.Vector3(-1,1,1),Pp=function(n){pe(t,n);function t(e){var r=n.call(this,e)||this;r.xrManager=new cp(r.renderer,r.renderer.getContext(),{onSessionStart:function(u){r.emit("xr.session.start",J("xr.session.start",{session:u,machineType:r.xrManager.machineType}))},onSessionEnd:function(){r.emit("xr.session.end",J("xr.session.end",{session:null,machineType:r.xrManager.machineType}))}}),r.xrControllerRay={left:new d.Raycaster,right:new d.Raycaster},r.xrControllerRay.left.params.Points={threshold:.1},r.xrControllerRay.right.params.Points={threshold:.1},r.pointerLines={left:new Na,right:new Na},r.pointerLines.left.visible=!1,r.pointerLines.right.visible=!0,r.pointerLines.left.setMaterial({color:new d.Vector3(1,1,1)}),r.pointerLines.left.points.material.depthTest=!1,r.pointerLines.right.setMaterial({color:new d.Vector3(1,1,1)}),r.pointerLines.right.points.material.depthTest=!1,r.scene.add(r.pointerLines.left,r.pointerLines.right),r.panoResources={},r.panoResources[r.locationMotion.keyframes[0].key=r.locationMotion.keyframes[1].key=wt()]={panoId:Ue(r.currentPano),leftPanoPicture:null,position:r.camera.pose.offset.clone(),effect:"fade",fixCameraTransform:new d.Matrix4},r.parallaxCameraMatrixs=[];var i=ut.shared.getContext();if(!i)return console.error("获取session失败,请退出重试"),r;r.on("xr.session.end",function(){r.scene.remove(r.pointerLines.left,r.pointerLines.right)}),r.xrManager.setSession(i),r.controllerWrappers=[new d.Group,new d.Group],r.scene.add(r.controllerWrappers[0],r.controllerWrappers[1]);var a=r.xrManager.getController(0);r.controllerWrappers[0].add(a);var o=r.xrManager.getController(1);r.controllerWrappers[1].add(o);var s=new Ip;return s.gltfLoader={load:function(u,l){vi.ajax(u,{responseType:"arraybuffer"}).then(function(c){var f;return _a(c.body,{resourcePath:u.slice(0,u.lastIndexOf("/")+1),search:(f=u.split("?")[1])!==null&&f!==void 0?f:"",fetcher:vi})}).then(function(c){return l(c)})}},r.on("xr.session.start",function(){var u=r.xrManager.getControllerGrip(0);u.add(s.createControllerModel(u)),r.controllerWrappers[0].add(u);var l=r.xrManager.getControllerGrip(1);l.add(s.createControllerModel(l)),r.controllerWrappers[1].add(l)}),r.xrControllerState={LeftAxesUp:{touchStartTime:0,touchStart:!1},LeftAxesDown:{touchStartTime:0,touchStart:!1},LeftAxesLeft:{touchStartTime:0,touchStart:!1},LeftAxesRight:{touchStartTime:0,touchStart:!1},LeftTrigger:{touchStartTime:0,touchStart:!1},LeftPinch:{touchStartTime:0,touchStart:!1},RightAxesUp:{touchStartTime:0,touchStart:!1},RightAxesDown:{touchStartTime:0,touchStart:!1},RightAxesLeft:{touchStartTime:0,touchStart:!1},RightAxesRight:{touchStartTime:0,touchStart:!1},RightTrigger:{touchStartTime:0,touchStart:!1},RightPinch:{touchStartTime:0,touchStart:!1},Y:{touchStartTime:0,touchStart:!1},X:{touchStartTime:0,touchStart:!1},A:{touchStartTime:0,touchStart:!1},B:{touchStartTime:0,touchStart:!1}},r}return t.parseArgs=function(e){if(e instanceof t)return e;var r=k(k({},e),{maxLatitude:Math.PI/2,minLatitude:-Math.PI/2});return n.parseArgs.call(this,r)},t.initAnimationEndState=function(e){var r=this.parseArgs(e),i=n.initAnimationEndState.call(this,r);return k(k({},i),{mode:"XRPanorama"})},t.prototype.moveToPano=function(e,r,i){var a=this,o,s,u,l,c=(o=r.effect)!==null&&o!==void 0?o:"fade";this.userAction=i,this.stopMomentumMovement();var f=this.works.getResolvedObserver(e);if(!f)throw new Error("Invalid PanoIndex");var h=zn(f.images.up),m=this.imageOptions.size;typeof m=="undefined"&&f&&h&&(m=Number(h)),typeof m=="undefined"&&(m=2048);var A=this.imageOptions.transform,p=function(P,R){return Sp(Ai(P,A,R))},g=k({key:"pano.".concat(f.panoId)},Er(this.imageOptions,["format","size","quality"])),v=f.images,y=(u=(s=f.images.tiles)===null||s===void 0?void 0:s.filter(function(P){return P.size>m}))!==null&&u!==void 0?u:null,b="pano:"+On([v,g,A]);if(this.pendingTextureTask){if(this.pendingTextureTask.hash===b)return;var w=this.pendingTextureTask.panoId;(l=this.panoMeshes[w])===null||l===void 0||l.setProgress(0),this.emit("pano.texture.abort",J("pano.texture.abort",{error:null,progress:0,meta:null,pano:f.pano})),this.pendingTextureTask.onError(new Error("texture aborted"))}var E=this.models.getMaterial()||{},x=E.pano0,C=E.pano1,M;if((x==null?void 0:x.map.name)===b?M=x:(C==null?void 0:C.map.name)===b&&(M=C),M){var I={panoId:f.panoId,effect:c,leftPanoPicture:{zoom:1,map:M.map,luminanceMap:M.luminanceMap,matrix:new d.Matrix4().compose(f.position,f.quaternion,Ds)},position:f.position.clone(),fixCameraTransform:new d.Matrix4};this.doMoveToPano(f.pano,I,r);return}var T="move-to-pano-"+f.panoId;this.pending.add(T),this.pendingTextureTask={panoId:f.panoId,hash:b,onLoad:function(P){if(a.pending.delete(T),a.destroyed)P.body.dispose();else{P.body.name=b;var R={panoId:f.panoId,effect:c,leftPanoPicture:{zoom:1,map:P.body,luminanceMap:null,matrix:new d.Matrix4().compose(f.position,f.quaternion,Ds)},position:f.position.clone(),fixCameraTransform:new d.Matrix4};a.doMoveToPano(f.pano,R,r)}},onError:function(P){a.pending.delete(T);var R=k(k(k({},f.pano),{mode:a.mode}),_e(a.camera.pose));a.emit("pano.error",J("pano.error",{error:P,userAction:a.userAction,options:r,prevPano:a.currentPano,progress:0,state:R})),a.emit("pano.cancel",J("pano.cancel",{error:null,userAction:a.userAction,options:r,prevPano:a.currentPano,progress:0,state:R})),r.moveCancelCallback&&r.moveCancelCallback()}},Promise.all([this.tileLevelForFov&&y&&y.length?this.textureLoader.loadTiledCubeTexture(v,y,{tileMaxLevel:this.TILED_CUBE_TEXTURE_LEVEL,imageURL:{transform:p,options:g},format:d.RGBAFormat,minFilter:d.LinearFilter,magFilter:d.LinearFilter,generateMipmaps:!1,viaAjax:!0,fetcher:nt(f.work)},void 0,void 0,function(P){var R,L;a.emit("pano.texture.progress",J("pano.texture.progress",{error:null,progress:P,meta:null,pano:f.pano})),((R=a.pendingTextureTask)===null||R===void 0?void 0:R.hash)===b&&((L=a.panoMeshes[f.panoId])===null||L===void 0||L.setProgress(P))},this.renderer):this.textureLoader.loadCubeTexture(v,{imageURL:{transform:p,options:g},format:d.RGBAFormat,fetcher:nt(f.work)},void 0,void 0,function(P){var R,L;((R=a.pendingTextureTask)===null||R===void 0?void 0:R.hash)===b&&((L=a.panoMeshes[f.panoId])===null||L===void 0||L.setProgress(P)),a.emit("pano.texture.progress",J("pano.texture.progress",{error:null,progress:P,meta:null,pano:f.pano}))},this.renderer)]).then(function(P){var R,L,F=P[0];((R=a.pendingTextureTask)===null||R===void 0?void 0:R.hash)===b?(a.pendingTextureTask.onLoad(F),(L=a.panoMeshes[f.panoId])===null||L===void 0||L.setProgress(0),delete a.pendingTextureTask,a.emit("pano.texture.success",J("pano.texture.success",{error:null,progress:1,meta:F.meta,pano:f.pano}))):F.body.dispose()}).catch(function(P){var R,L;((R=a.pendingTextureTask)===null||R===void 0?void 0:R.hash)===b&&(a.pendingTextureTask.onError(P),(L=a.panoMeshes[f.panoId])===null||L===void 0||L.setProgress(0),delete a.pendingTextureTask,a.emit("pano.texture.error",J("pano.texture.error",{error:P,progress:0,meta:null,pano:f.pano})),a.emit("error",P))}),this.emit("pano.texture.load",J("pano.texture.load",{error:null,progress:0,meta:null,pano:f.pano}))},t.prototype.doMoveToPano=function(e,r,i){var a=this,o,s,u,l,c,f,h,m,A,p;i===void 0&&(i={});var g=Ce(),v=wt();this.panoResources[v]=r;var y=1,b,w,E;if(this.locationMotion.ended){var x=this.locationMotion.getKeyFrameSegment(g);x[0];var C=x[1],M=this.locationMotion.value,I=this.panoResourceFromLocationMotionKeyframe(C).position,T=r.position;b=Math.max(I.distanceTo(T),y),w=[{key:C.key,progress:0,value:k(k({},M),{count:0})},{key:v,progress:1,value:{distance:0,count:1}}],E=0}else{var P=this.locationMotion.getKeyFrameSegment(g),R=P[0],C=P[1],M=this.locationMotion.value,L=this.panoResourceFromLocationMotionKeyframe(R).position,I=this.panoResourceFromLocationMotionKeyframe(C).position,T=r.position,F=C.value.count-M.count,O=Math.max(L.distanceTo(I),y)*F,z=Math.max(I.distanceTo(T),y);b=O+z,w=[{key:R.key,progress:0,value:k({},M)},{key:C.key,progress:O/b,value:C.value},{key:v,progress:1,value:{count:C.value.count+1,distance:0}}];var N=this.locationMotionKeyframesLength(this.locationMotion.keyframes),W=this.locationMotionKeyframesLength(w);E=this.locationMotion.getProgressVelocity(g)*N/W}var j=r.effect==="instant"?0:this.calculateMovingDuration(i.duration,r.effect==="fly"?b:0),D={longitude:i.longitude,latitude:i.latitude,fov:i.fov},H=k(k({},e),{mode:this.mode,longitude:(o=D.longitude)!==null&&o!==void 0?o:this.camera.pose.longitude,latitude:(s=D.latitude)!==null&&s!==void 0?s:this.camera.pose.latitude,fov:(u=D.fov)!==null&&u!==void 0?u:this.camera.pose.fov,offset:r.position.clone(),distance:0}),K=this.currentPano;if(this.emit("pano.moveTo",J("pano.moveTo",{options:i,prevPano:K,progress:0,state:H,userAction:this.userAction,error:null})),i.moveStartCallback&&i.moveStartCallback(H),this.videoTexture&&this.videoTexture.image instanceof HTMLVideoElement&&this.videoTexture.image.getAttribute("src")&&(this.videoTexture.image.pause(),this.videoTexture.image.removeAttribute("uuid"),this.videoTexture.image.removeAttribute("src"),this.videoTexture.image.oncanplay=Q,this.videoTexture.needsUpdate=!0),this.panoVideo.setMaterial(null),r.effect==="fly")this.cameraMotion.set(D,j).catch(Q);else{var Z=Vt({longitude:this.cameraMotion.value.longitude,latitude:this.cameraMotion.value.latitude}),G=Vt({longitude:(l=D.longitude)!==null&&l!==void 0?l:this.cameraMotion.value.longitude,latitude:(c=D.latitude)!==null&&c!==void 0?c:this.cameraMotion.value.latitude}),X=new d.Object3D;X.lookAt(Z);var _=new d.Matrix4().makeRotationFromQuaternion(X.quaternion);X.lookAt(G);var de=new d.Matrix4().makeRotationFromQuaternion(X.quaternion),ee=new d.Matrix4().getInverse(_).premultiply(de),oe=this.cameraMotion.value.fov,ie=(f=D.fov)!==null&&f!==void 0?f:this.cameraMotion.value.fov,ue=1;r.effect==="zoomin"?ue=1.5:r.effect==="zoomout"&&(ue=.4);for(var ne=ie*ue,ae=0;ae<w.length-1;ae++){var he=w[ae].key;if(he){var ve=this.panoResources[he];ve&&(ve.fixCameraTransform.copy(ee),ve.leftPanoPicture&&(ve.leftPanoPicture.zoom=Math.tan(oe/2/180*Math.PI)/Math.tan(ne/2/180*Math.PI)))}}this.cameraMotion.setKeyframes([{progress:0,value:{longitude:this.cameraMotion.value.longitude,latitude:this.cameraMotion.value.latitude,fov:this.cameraMotion.value.fov}},{progress:0,value:{longitude:(h=D.longitude)!==null&&h!==void 0?h:this.cameraMotion.value.longitude,latitude:(m=D.latitude)!==null&&m!==void 0?m:this.cameraMotion.value.latitude,fov:ne}},{progress:1,value:{longitude:(A=D.longitude)!==null&&A!==void 0?A:this.cameraMotion.value.longitude,latitude:(p=D.latitude)!==null&&p!==void 0?p:this.cameraMotion.value.latitude,fov:ie}}],j).catch(Q)}var we=this.locationMotion.setKeyframes(w,j,E);we.then(function(){for(var Me,Be,$,te=0,q=a.models;te<q.length;te++){var Le=q[te];Le.show()}var Pe=k(k({},e),{mode:a.mode,longitude:a.camera.pose.longitude,latitude:a.camera.pose.latitude,fov:a.camera.pose.fov,offset:a.camera.pose.offset.clone(),distance:0});a.emit("pano.arrived",J("pano.arrived",{options:i,prevPano:K,progress:1,state:Pe,userAction:a.userAction,error:null})),i.moveEndCallback&&i.moveEndCallback(Pe);var Se=a.works.getResolvedObserver(a.currentPano);if(Se&&Se.video&&a.videoTexture&&a.videoTexture.image instanceof HTMLVideoElement){var De=Tp.clone().multiply(($=(Be=(Me=a.models.getMaterial())===null||Me===void 0?void 0:Me.pano1)===null||Be===void 0?void 0:Be.matrix)!==null&&$!==void 0?$:new d.Matrix4).multiply(Se.video.matrix),ge={map:a.videoTexture,size:Se.video.size,matrix:De,alpha:1},ye=wt(),me=a.videoTexture.image;me.setAttribute("uuid",ye),iu().then(function(be){be&&Se.video&&me.getAttribute("uuid")===ye&&(me.oncanplay=function(){me.oncanplay=Q,me.play()},me.ontimeupdate=function(){me.currentTime>.5&&(me.ontimeupdate=Q,a.panoVideo.setMaterial(ge))},me.src=Se.video.source)}).catch(function(){me.removeAttribute("uuid")})}},function(){a.emit("pano.cancel",J("pano.cancel",{options:i,prevPano:K,progress:0,state:H,userAction:a.userAction,error:null})),i.moveCancelCallback&&i.moveCancelCallback()})},t.prototype.checkSelectedPano=function(e){var r=this,i,a,o,s;this.stopMomentumMovement();var u=this.camera.getDirection(new d.Vector3).setY(0),l=null,c=this.works.getResolvedObserver(this.currentPano);if(!c)return null;var f=c.accessibleIds.filter(function(G){var X=ft(G);if(Xt(X,r.currentPano))return!1;var _=r.works.getResolvedObserver(X);return!_||_.position.distanceTo(r.camera.position)>r.maxAccessibleDistance?!1:_.loadable||_.active}),h=this.models.intersectRaycaster(e)[0];if(h){var m=sr(f,function(G){var X=r.works.getResolvedObserver(G);if(!X)return 1/0;var _=X.standingPosition.clone();return _.distanceTo(h.point)},!0),A=m[0],p=m[1];A&&p<this.panoTapTriggerRadius&&(l=(i=this.works.getResolvedObserver(A))!==null&&i!==void 0?i:null)}if(Ls(l)){var g=this.getForwardObserverOrNot(e);g&&(l=g)}for(var v=0,y=this.locationMotion.keyframes;v<y.length;v++){var b=y[v],w=this.panoResourceFromLocationMotionKeyframe(b);if(!(b.progress<this.locationMotion.progress)&&l&&w.panoId===l.panoId){l=null;break}}if(Ls(l))return this.locationMotion.ended===!0&&this.cameraBounce(),null;if(l&&!l.active){var E=l.panoId;this.panoMeshes[E]&&(this.panoMeshes[E].setDisabled(!1),this.panoMeshes[E].setLoading(!0))}var x={};if(l){for(var C=Math.PI/6,M=Math.PI/12,I=new d.Vector3(0,1,0),T=l.position.clone().setY(0).sub(c.position.clone().setY(0)).normalize(),P=T.clone().applyAxisAngle(I,C),R=T.clone().applyAxisAngle(I,-C),L=[],F=[],O=[],z=0,N=l.accessibleIds;z<N.length;z++){var A=N[z],W=ft(A);if(!(Xt(W,this.currentPano)||Xt(W,l.pano))){var j=this.works.getResolvedObserver(A);if(j){var D=j.position.clone().sub(l.position).setY(0);T.angleTo(D)<C?O.push(D):P.angleTo(D)<C?L.push(D):R.angleTo(D)<C&&F.push(D)}}}var H=O.length>0?O:yt(yt([],L,!0),F,!0),K=H.slice().sort(function(G,X){return G.angleTo(T)-X.angleTo(T)})[0];K&&K.angleTo(u)>M&&(x.longitude=Math.atan2(-K.x,-K.z))}this.cameraMotion.value.latitude<-Math.PI/4&&(x.latitude=ce(0,this.minLatitude,this.maxLatitude)),this.cameraMotion.value.fov<60&&(x.fov=this.defaultFov);var Z={workCode:l.pano.workCode,panoIndex:l.pano.panoIndex,mode:this.mode,longitude:(a=x.longitude)!==null&&a!==void 0?a:this.camera.pose.longitude,latitude:(o=x.latitude)!==null&&o!==void 0?o:this.camera.pose.latitude,fov:(s=x.fov)!==null&&s!==void 0?s:this.camera.pose.fov,distance:0,offset:l?l.position.clone():new d.Vector3};return this.emit("pano.select",J("pano.select",{prevPano:this.currentPano,state:Z,userAction:!0,options:x,progress:0,error:null})),l&&l.active?(this.emit("pano.request",J("pano.request",{userAction:!0,prevPano:this.currentPano,progress:0,state:Z,options:x,error:null})),l.pano):null},t.prototype.destroy=function(){n.prototype.destroy.call(this)},t.prototype.isReady=function(){return!1},t.prototype.updateCamera=function(e,r,i){return Promise.resolve()},t.prototype.updateCameraWithKeyframes=function(e,r,i){return Promise.resolve()},t.prototype.updateTime=function(e,r){for(var i=this,a,o,s,u,l,c,f,h,m=[],A=2;A<arguments.length;A++)m[A-2]=arguments[A];this.userAction=!0;var p={},g={},v=this.panoResourceFromLocationMotionKeyframe(this.locationMotion.keyframes[0]),y=this.panoResourceFromLocationMotionKeyframe(this.locationMotion.keyframes[this.locationMotion.keyframes.length-1]),b=!1;if(this.cameraMotion.ended===!1&&(this.cameraMotion.update(e),g.longitude=this.cameraMotion.value.longitude,g.latitude=this.cameraMotion.value.latitude,g.fov=this.cameraMotion.value.fov),this.modelAlphaMotion.ended===!1&&(this.modelAlphaMotion.update(e),p.modelAlpha=this.modelAlphaMotion.value.modelAlpha),this.perspToOrthoMotion.ended===!1&&(this.perspToOrthoMotion.update(e),this.camera.perspToOrtho.setScalar(ce(this.perspToOrthoMotion.value.perspToOrtho,0,1))),this.locationMotion.ended===!1){this.locationMotion.update(e);var w=this.locationMotion.getKeyFrameSegment(e),E=w[0],x=w[1],C=this.panoResourceFromLocationMotionKeyframe(E),M=this.panoResourceFromLocationMotionKeyframe(x),I=new d.Vector3().copy(C.position),T=new d.Vector3().copy(M.position),P=this.locationMotion.value.count-x.value.count+1;p.progress=P,M.leftPanoPicture&&(P<1?C.leftPanoPicture&&(p.pano0=C.leftPanoPicture):p.pano0=M.leftPanoPicture,p.pano1=M.leftPanoPicture),M.effect==="montage"?p.transition="BLACK":M.effect==="spread"?p.transition="SPREAD":p.transition="FADE",(M.effect==="zoomin"||M.effect==="zoomout")&&(p.progress=Math.pow(P,3)),P<1&&M.effect!=="fly"&&(p.pano0&&C.leftPanoPicture&&(p.pano0={map:p.pano0.map,zoom:p.pano0.zoom,luminanceMap:p.pano0.luminanceMap,matrix:C.leftPanoPicture.matrix.clone().setPosition(M.position)}),I.copy(T),b=!0),g.distance=this.locationMotion.value.distance,g.offset=new d.Vector3(I.x+(T.x-I.x)*P,I.y+(T.y-I.y)*P,I.z+(T.z-I.z)*P);for(var R=[],L=[],F=0,O=this.locationMotion.keyframes;F<O.length;F++){var z=O[F],N=z.key,W=z.progress;N!==void 0&&(R.push(N),W>this.locationMotion.progress&&L.push(N))}for(var j=0,D=Object.keys(this.panoResources);j<D.length;j++){var H=D[j];if(!(L.indexOf(H)>=0)){var K=this.panoResources[H];if(K.leftPanoPicture){var Z=K.leftPanoPicture.map;if(Z){if(Z===((a=p.pano0)===null||a===void 0?void 0:a.map)||Z===((o=p.pano1)===null||o===void 0?void 0:o.map))continue;Z instanceof ze&&Z.cubeRenderTarget&&this.colorCubeRenderTargetPool.push(Z.cubeRenderTarget),Z.dispose(),K.leftPanoPicture=null}}R.indexOf(H)>=0||delete this.panoResources[H]}}this.currentPano=ft(M.panoId),this.emit("pano.moving",J("pano.moving",{userAction:this.userAction,prevPano:ft(v.panoId),state:k(k(k(k({},ft(y.panoId)),{mode:this.mode}),_e(this.camera.pose)),g),options:{},progress:this.locationMotion.progress,error:null}))}Qt(p)===!1&&(!((s=p.pano0)===null||s===void 0)&&s.map&&p.pano0.map instanceof ze&&!p.pano0.map.cubeRenderTarget&&(p.pano0.map.cubeRenderTarget=this.colorCubeRenderTargetPool.pop()),!((u=p.pano1)===null||u===void 0)&&u.map&&p.pano1.map instanceof ze&&!p.pano1.map.cubeRenderTarget&&(p.pano1.map.cubeRenderTarget=this.colorCubeRenderTargetPool.pop()),this.models.setMaterial(p)),Qt(g)===!1&&this.setCamera(g);var G=this.works.getResolvedObserver(this.currentPano),X=m[1];if(!X){console.error("xrFrame丢失,请重试");return}if(!this.xrManager.session){console.error("session丢失,请重试");return}var _=this.xrManager.referenceSpace;if(_){var de=this.xrManager.cameraVR,ee=this.xrManager.cameraL,oe=this.xrManager.cameraR,ie=[ee,oe],ue=X.getViewerPose(_),ne=new d.Vector3(0,0,0);if(ue){var ae;ae=this.xrManager.session.renderState.baseLayer;var he=ue.views;if(!ae){console.error("no layer found");return}this.renderer.setFramebuffer(ae.framebuffer);var ve=!1;he.length!==de.cameras.length&&(de.cameras.length=0,ve=!0),this.parallaxCameraMatrixs=[];var we=new d.Vector3,Me=new d.Vector3;new d.Matrix4().fromArray(he[0].transform.matrix).decompose(we,new d.Quaternion,new d.Vector3),new d.Matrix4().fromArray(he[1].transform.matrix).decompose(Me,new d.Quaternion,new d.Vector3),Me.clone().sub(we).normalize();var Be=new d.Vector3,$=new d.Quaternion,te=new d.Vector3;this.camera.matrix.decompose(Be,$,te);for(var q=0;q<he.length;q++){var Le=he[q],Pe=ae.getViewport(Le),Se=ie[q];Se.matrix.fromArray(Le.transform.matrix);var De=new d.Vector3,ge=new d.Quaternion,ye=new d.Vector3;Se.matrix.decompose(De,ge,ye),ne.copy(Be),Se.position.copy(Be),Se.quaternion.copy(ge),Se.scale.copy(ye),Se.updateMatrix(),Se.projectionMatrix.fromArray(Le.projectionMatrix),Se.viewport.set(Pe.x,Pe.y,Pe.width,Pe.height),ve===!0&&de.cameras.push(Se)}ue.views[0].transform.position,ue.views[1].transform.position;for(var me=this.xrManager.session.inputSources,q=0;q<this.xrManager.controllers.length;q++){var be=this.xrManager.controllers[q],Ae=me[q];if(Ae){be.update(Ae,X,_);var Ne=this.xrManager.getController(q),Qe=new d.Vector3(0,1.2,0),Ke=Ne.position.clone().add(ne).sub(Qe);Ae.handedness==="left"?this.xrControllerRay.left.set(Ke,new d.Vector3(0,0,-1).applyEuler(Ne.rotation)):Ae.handedness==="right"&&this.xrControllerRay.right.set(Ke,new d.Vector3(0,0,-1).applyEuler(Ne.rotation)),this.controllerWrappers[q].position.copy(new d.Vector3(0,0,0).add(ne).sub(Qe));var at=this.models.intersectRaycaster(this.xrControllerRay.right);if(at.length===0&&(at=this.xrControllerRay.right.intersectObject(this.boundingMesh,!0).map(function(ot){var vt;return k({floor:(vt=G==null?void 0:G.floorIndex)!==null&&vt!==void 0?vt:0},ot)})),at.length>=1&&at[0].face)if(Ae.handedness==="right"){var Oe=this.xrControllerRay.right.intersectObject(this.xrCustomObjectsScene,!0),St=at[0].face.normal,Tt=St.clone(),Dt=at[0].point.clone();this.intersectMesh.position.copy(Dt);var $r=Dt.clone().add(Tt);if(this.intersectMesh.lookAt($r),Math.abs(St.y)>.99){var lr=this.camera.position.clone().sub(Dt);this.intersectMesh.rotation.z=-Math.atan2(lr.z,lr.x)}this.intersectMesh.visible=!0,this.needsRender=!0,Oe.length>0?(this.pointerLines.right.setPoints(Ke,Oe[0].point),this.pointerLines.right.points.visible=!0,this.intersectMesh.visible=!1):(this.pointerLines.right.points.visible=!1,this.pointerLines.right.setPoints(Ke,at[0].point));var ht=at[0],Zt=J("intersect.update",{raycaster:(l=this.xrControllerRay.right)!==null&&l!==void 0?l:null,intersection:ht!=null?ht:null,object:this.intersectMesh});if(this.emit("intersect.update",Zt),Zt.defaultPrevented){this.hideIntersectMesh();return}}else this.pointerLines.left.setPoints(Ke,at[0].point)}}if(this.camera.pose.distance>.1||b)for(var xr=0,Ut=Object.keys(this.panoMeshes);xr<Ut.length;xr++){var pt=Ut[xr],ke=this.panoMeshes[pt];ke.setOpacity(0),ke.setCurrent(!1),ke.updateTime&&ke.updateTime(e,r),ke.visible=!1}else if(G){var cr=sr(G.visibleIds,function(rt){var ot=i.works.getResolvedObserver(rt);return ot?G.standingPosition.distanceTo(ot.standingPosition):1/0},!0),qt=cr[1];qt=ce(qt,2.5,1/0);for(var dr=G.visibleIds.concat(Ue(this.currentPano)),Et=this.getForwardObserverOrNot(),fr=this.camera.getDirection(new d.Vector3),Yt=0,Pt=Object.keys(this.panoMeshes);Yt<Pt.length;Yt++){var pt=Pt[Yt],ke=this.panoMeshes[pt],xt=this.works.getResolvedObserver(pt);if(dr.indexOf(pt)===-1)ke.setCurrent(!1),ke.setOpacity(0);else if(!xt)ke.setCurrent(!1),ke.setOpacity(0);else if(!xt.loadable&&!xt.active)ke.setCurrent(!1),ke.setOpacity(0);else{var hr=ke.position.clone().setY(this.camera.position.y).distanceTo(this.camera.position);ke.setCurrent(!ke.loading&&ke.progress===0&&Et!==null&&Et.panoId===pt),ke.setOpacity(hr<.01?0:ce(qt/hr*1.2,.65,.98));var Ur=this.camera.position.clone().setY(ke.position.y),Mr=new d.Vector3().copy(ke.position).sub(Ur).normalize();if(pt===Ue(this.currentPano)){var qr=ce((.5-Ur.distanceTo(ke.position))/.5,0,1);Mr.multiplyScalar(1-qr).add(fr.clone().multiplyScalar(qr))}Mr.length()>0&&ke.quaternion.setFromEuler(new d.Euler(0,Math.atan2(Mr.x,Mr.z),0))}ke.updateTime&&ke.updateTime(e,r)}}var Cr=function(){if(i.tileLevelForFov===!1)return 0;var rt=new d.Vector2(4e3,4e3),ot=y.panoId,vt=i.works.getResolvedObserver(ot),At=i.imageOptions.size;if(typeof At=="undefined"&&vt){var Jn=vt.images.up.match(/\/cube_(\d+)\//);Jn&&(At=Number(Jn[1]))}typeof At=="undefined"&&(At=2048);var Hr=0;At>=1024&&(Hr=1),At>=2048&&(Hr=2),At>=4096&&(Hr=3),At>=8192&&(Hr=4);var Gr=i.tileLevelForFov(ee.fov,rt);return Gr>Hr?Gr:0}(),$t=function(){var rt=new d.PerspectiveCamera;rt.applyMatrix4(de.matrix),rt.position.set(0,0,0);var ot=i.works.getResolvedObserver(y.panoId),vt=ot!=null?ot:G;vt&&rt.quaternion.premultiply(vt.quaternion.clone().inverse()),rt.updateProjectionMatrix(),rt.updateMatrixWorld(!0);var At=new d.Frustum().setFromProjectionMatrix(new d.Matrix4().multiplyMatrices(rt.projectionMatrix,rt.matrixWorldInverse));return At}();y.panoId===Ue(this.currentPano)&&((c=y.leftPanoPicture)===null||c===void 0?void 0:c.map)instanceof ze&&(y.leftPanoPicture.map.update($t,Cr),y.leftPanoPicture.map.needsRender===!0&&(this.needsRender=!0));{var tt=this.tiling.object.visible;if(Cr>this.TILED_CUBE_TEXTURE_LEVEL&&this.initAnimationed){var qe=y.panoId,je=this.works.getResolvedObserver(qe);je?Kn(this.camera.position,je.position)&&this.locationMotion.ended?(this.tiling.object.visible=!0,this.tiling.panoId!==qe&&this.tiling.cleanup(),this.tiling.panoId=qe,this.tiling.setResource((h=(f=je.images)===null||f===void 0?void 0:f.tiles)!==null&&h!==void 0?h:[],this.enableIOSEDR&&je.images.luminance?je.images.luminance:null),this.tiling.setFetcher(nt(je.work)),this.tiling.setRotation(je.quaternion),this.tiling.setPosition(je.position),this.tiling.update($t,Cr,e)):this.tiling.object.visible=!1:this.tiling.object.visible=!1}else this.tiling.object.visible=!1;tt!==this.tiling.object.visible&&(this.tiling.object.needsRender=!0)}this.panoVideo.object.position.copy(this.camera.position),this.panoVideo.updateTime(e),!(!me||me.length<1)&&this.updateControllerHelper(me,e,r)}}},t.prototype.render=function(){var e=this.xrManager.getCamera(this.camera);this.renderer.render(this.scene,e)},t.prototype.onPanGesture=function(){},t.prototype.onTapGesture=function(){},t.prototype.onPinchGesture=function(){},t.prototype.onMouseMove=function(){},t.prototype.onMouseOut=function(){},t.prototype.panoResourceFromLocationMotionKeyframe=function(e){return this.panoResources[e.key]},t.prototype.updateControllerHelper=function(e,r,i){var a=this.xrControllerRay.left,o=this.xrControllerRay.right;if(!(!e||e.length===0)){for(var s={buttons:{X:!1,Y:!1,LeftTrigger:!1,LeftPinch:!1,A:!1,B:!1,RightTrigger:!1,RightPinch:!1}},u=0;u<e.length;u++){var l=e[u].handedness,c=e[u].gamepad;switch(l){case"left":c.axes&&(this.emitEvent(c.axes[2]===-1,"LeftAxesLeft",r),this.emitEvent(c.axes[2]===1,"LeftAxesRight",r),this.emitEvent(c.axes[3]===-1,"LeftAxesUp",r),this.emitEvent(c.axes[3]===1,"LeftAxesDown",r)),c!=null&&c.buttons&&(c.buttons[4]&&this.emitEvent(c.buttons[4].pressed,"X",r),c.buttons[5]&&this.emitEvent(c.buttons[5].pressed,"Y",r),c.buttons[0]&&this.emitEvent(c.buttons[0].pressed,"LeftTrigger",r),c.buttons[1]&&this.emitEvent(c.buttons[1].pressed,"LeftPinch",r));var f={raycaster:a,axes:{up:c.axes&&c.axes[3]<0?Math.abs(c.axes[3]):0,down:c.axes&&c.axes[3]<0?0:Math.abs(c.axes[3]),left:c.axes&&c.axes[2]<0?Math.abs(c.axes[2]):0,right:c.axes&&c.axes[2]<0?0:Math.abs(c.axes[2])},deltaTime:i};s.buttons.X=c.buttons&&c.buttons[4]?c.buttons[4].pressed:!1,s.buttons.Y=c.buttons&&c.buttons[5]?c==null?void 0:c.buttons[5].pressed:!1,s.buttons.LeftTrigger=c.buttons&&c.buttons[0]?c==null?void 0:c.buttons[0].pressed:!1,s.buttons.LeftPinch=c.buttons&&c.buttons[1]?c==null?void 0:c.buttons[1].pressed:!1,s.left=f;break;case"right":c.axes&&(this.emitEvent(c.axes[2]===-1,"RightAxesLeft",r),this.emitEvent(c.axes[2]===1,"RightAxesRight",r),this.emitEvent(c.axes[3]===-1,"RightAxesUp",r),this.emitEvent(c.axes[3]===1,"RightAxesDown",r)),c.buttons&&(c.buttons[4]&&this.emitEvent(c.buttons[4].pressed,"A",r),c.buttons[5]&&this.emitEvent(c.buttons[5].pressed,"B",r),c.buttons[0]&&this.emitEvent(c.buttons[0].pressed,"RightTrigger",r),c.buttons[1]&&this.emitEvent(c.buttons[1].pressed,"RightPinch",r));var h={raycaster:o,axes:{up:c.axes&&c.axes[3]<0?Math.abs(c.axes[3]):0,down:c.axes&&c.axes[3]<0?0:Math.abs(c.axes[3]),left:c.axes&&c.axes[2]<0?Math.abs(c.axes[2]):0,right:c.axes&&c.axes[2]<0?0:Math.abs(c.axes[2])},deltaTime:i};s.right=h,s.buttons.A=c.buttons&&c.buttons[4]?c==null?void 0:c.buttons[4].pressed:!1,s.buttons.B=c.buttons&&c.buttons[5]?c==null?void 0:c.buttons[5].pressed:!1,s.buttons.RightTrigger=c.buttons&&c.buttons[0]?c==null?void 0:c.buttons[0].pressed:!1,s.buttons.RightPinch=c.buttons&&c.buttons[1]?c==null?void 0:c.buttons[1].pressed:!1;break}}this.emit("xr.controller.update",J("xr.controller.update",s))}},t.prototype.emitEvent=function(e,r,i){var a=this.xrControllerRay.left,o=this.xrControllerRay.right;if(e)if(this.xrControllerState[r].touchStart===!1)this.xrControllerState[r].touchStartTime=i,this.xrControllerState[r].touchStart=!0,this.emit("xr.gesture.buttonDown",J("xr.gesture.buttonDown",{session:this.xrManager.session,machineType:this.xrManager.machineType,buttons:r,isFinal:!1,isFirst:!0,controllers:{raycaster:{leftRay:a,rightRay:o}}}));else{var s=i-this.xrControllerState[r].touchStartTime;s>Qs&&this.emit("xr.gesture.press",J("xr.gesture.tap",{session:this.xrManager.session,machineType:this.xrManager.machineType,buttons:r,isFinal:!0,isFirst:!0,controllers:{raycaster:{leftRay:a,rightRay:o}}}))}else if(this.xrControllerState[r].touchStart===!0){this.emit("xr.gesture.buttonUp",J("xr.gesture.buttonUp",{session:this.xrManager.session,machineType:this.xrManager.machineType,buttons:r,isFinal:!0,isFirst:!1,controllers:{raycaster:{leftRay:a,rightRay:o}}}));var s=i-this.xrControllerState[r].touchStartTime;if(s<=Qs){var u=J("xr.gesture.tap",{session:this.xrManager.session,machineType:this.xrManager.machineType,buttons:r,isFinal:!0,isFirst:!1,controllers:{raycaster:{leftRay:a,rightRay:o}}}),l=this.emit("xr.gesture.tap",u);!l&&!u.defaultPrevented&&r==="RightTrigger"&&this.checkSelectedPano(this.xrControllerRay.right)}this.xrControllerState[r].touchStart=!1,this.xrControllerState[r].touchStartTime=0}},t}(so),Ft={Floorplan:Va,Topview:Wf,Panorama:so,VRPanorama:Wh,Model:_h,Mapview:sp,XRPanorama:Pp},gu=["gesture.pan","gesture.tap","gesture.press","gesture.pinch","gesture.mousewheel","gesture.mousemove","gesture.momentum","initAnimation.start","initAnimation.end","camera.update","intersect.update","pano.select","pano.moveTo","pano.moving","pano.arrived","pano.cancel","pano.error","pano.texture.load","pano.texture.progress","pano.texture.success","pano.texture.error","pano.texture.abort","xr.session.start","xr.session.end","xr.gesture.tap","xr.gesture.press","xr.gesture.buttonUp","xr.gesture.buttonDown","xr.controller.update"];function Bp(n){n.on("initAnimation.start",function(t){n.emit("initAnimationWillStart",t.state.panoIndex,t.state,t.userAction)}),n.on("initAnimation.end",function(t){n.emit("initAnimationEnded",t.state.panoIndex,t.state,t.userAction)}),n.on("gesture.pan",function(t){var e=!1;e=n.emit("wantsGesture","pan",t.pointers,t.isFinal),e&&t.preventDefault(),e=n.emit("wantsPanGesture",t.state,t.isFinal),e&&t.preventDefault(),t.defaultPrevented||(n.emit("gesture","pan",t.pointers,t.isFinal),n.emit("panGesture",t.state,t.isFinal))}),n.on("gesture.tap",function(t){var e=!1;e=n.emit("wantsGesture","tap",t.pointers,t.isFinal),e&&t.preventDefault(),e=n.emit("wantsTapGesture",t.center.raycaster,t.center.coords,t.isFinal),e&&t.preventDefault(),t.defaultPrevented||(n.emit("gesture","tap",t.pointers,t.isFinal),n.emit("tapGesture",t.center.raycaster,t.center.coords,t.isFinal))}),n.on("gesture.press",function(t){var e=!1;e=n.emit("wantsGesture","press",t.pointers,t.isFinal),e&&t.preventDefault(),e=n.emit("wantsPressGesture",t.center.raycaster,t.center.coords,t.center.delta,t.isFinal),e&&t.preventDefault(),t.defaultPrevented||(n.emit("gesture","press",t.pointers,t.isFinal),n.emit("pressGesture",t.center.raycaster,t.center.coords,t.center.delta,t.isFinal))}),n.on("gesture.pinch",function(t){var e=!1;e=n.emit("wantsGesture","pinch",t.pointers,t.isFinal),e&&t.preventDefault(),e=n.emit("wantsPinchGesture",t.scale,t.state.fov,t.isFinal),e&&t.preventDefault(),t.defaultPrevented||(n.emit("gesture","pinch",t.pointers,t.isFinal),n.emit("pinchGesture",t.scale,t.state.fov,t.isFinal))}),n.on("gesture.mousewheel",function(t){var e=!1;e=n.emit("wantsGesture","mouseWheel",t.pointers,t.isFinal),e&&t.preventDefault(),e=n.emit("wantsMouseWheel",t.center.delta,t.state.fov,t.isFinal),e&&t.preventDefault(),t.defaultPrevented||(n.emit("gesture","mouseWheel",t.pointers,t.isFinal),n.emit("mouseWheel",t.center.delta,t.state.fov,t.isFinal))}),n.on("gesture.mousemove",function(t){var e=!1;e=n.emit("wantsGesture","mouseMove",t.pointers,t.isFinal),e&&t.preventDefault(),t.defaultPrevented||(n.emit("gesture","mouseMove",t.pointers,t.isFinal),e=n.emit("wantsChangeCameraFov",t.state.fov),e&&t.preventDefault())}),n.on("gesture.momentum",function(t){var e=!1;e=n.emit("wantsInteriaPan",t.state),e&&t.preventDefault(),t.defaultPrevented||n.emit("interiaPan",t.state,t.isFinal)}),n.on("camera.update",function(t){n.emit("cameraFovUpdate",t.state.fov,t.userAction),n.emit("cameraDirectionUpdate",t.state,t.userAction);var e=Vt(t.state);e.setLength(t.state.distance);var r=t.state.offset.clone().sub(e);n.emit("cameraPositionUpdate",r,t.userAction),n.emit("cameraUpdate",t.state,t.userAction)}),n.on("intersect.update",function(t){if(t.intersection){var e=!1;e=n.emit("wantsShowIntersectionOnModel",t.raycaster),e&&t.preventDefault(),t.defaultPrevented||n.emit("intersectionOnModelUpdate",t.intersection,t.object)}else n.emit("intersectionHidden")}),n.on("pano.request",function(t){var e=n.emit("wantsMoveToPano",t.state.panoIndex,t.options,t.userAction);e||(e=n.emit("wantsToMoveToPano",t.state.panoIndex,t.options,t.userAction)),e&&t.preventDefault(),t.defaultPrevented||n.emit("panoWillLoad",t.state.panoIndex)}),n.on("pano.select",function(t){n.emit("panoSelected",t.state.panoIndex)}),n.on("pano.moveTo",function(t){n.emit("panoLoaded",t.state.panoIndex),n.emit("moveToPano",t.state.panoIndex,t.userAction),n.emit("panoWillArrive",t.state.panoIndex,t.state,t.userAction)}),n.on("pano.moving",function(t){n.emit("movingToPano",t.state.panoIndex,t.prevPano.panoIndex,t.progress)}),n.on("pano.arrived",function(t){n.emit("panoArrived",t.state.panoIndex,t.state,t.userAction)}),n.on("pano.cancel",function(t){n.emit("moveToPanoCanceled",t.state.panoIndex)}),n.on("pano.error",function(t){n.emit("panoLoadError",t.error,t.state.panoIndex)}),n.on("pano.texture.load",function(t){n.emit("textureStartLoad",t.pano.panoIndex)}),n.on("pano.texture.success",function(t){n.emit("textureLoaded",t.pano.panoIndex,t.meta)}),n.on("pano.texture.error",function(t){n.emit("textureError",t.error,t.pano.panoIndex)}),n.on("pano.texture.abort",function(t){n.emit("textureAbort",t.pano.panoIndex)}),n.on("pano.texture.progress",function(t){n.emit("textureLoading",t.progress,t.pano.panoIndex)}),n.on("xr.session.start",function(t){n.emit("webXRSessionStart")}),n.on("xr.session.end",function(t){n.emit("webXRSessionEnd")}),n.on("xr.gesture.tap",function(t){n.emit("webXRControllerEvent","tap",t.buttons,{raycaster:t.controllers.raycaster})}),n.on("xr.gesture.press",function(t){n.emit("webXRControllerEvent","press",t.buttons,{raycaster:t.controllers.raycaster})}),n.on("xr.gesture.buttonUp",function(t){n.emit("webXRControllerEvent","buttonUp",t.buttons,{raycaster:t.controllers.raycaster})}),n.on("xr.gesture.buttonDown",function(t){n.emit("webXRControllerEvent","buttonDown",t.buttons,{raycaster:t.controllers.raycaster})}),n.on("xr.controller.update",function(t){n.emit("webXRControllerRayUpdate",{leftRay:t.left?t.left.raycaster:void 0,rightRay:t.right?t.right.raycaster:void 0}),t.left&&n.emit("webXRAxesUpdate","left",{raycaster:{leftRay:t.left?t.left.raycaster:void 0,rightRay:t.right?t.right.raycaster:void 0},axesState:{up:t.left.axes.up,down:t.left.axes.down,left:t.left.axes.left,right:t.left.axes.right},deltaTime:t.left.deltaTime}),t.right&&n.emit("webXRAxesUpdate","right",{raycaster:{leftRay:t.left?t.left.raycaster:void 0,rightRay:t.right?t.right.raycaster:void 0},axesState:{up:t.right.axes.up,down:t.right.axes.down,left:t.right.axes.left,right:t.right.axes.right},deltaTime:t.right.deltaTime})}),n.on("works.request",function(t){n.emit("willLoad",t.input,t.works[0],t.state)}),n.on("works.load",function(t){n.emit("load",t.input,t.works[0],t.state)}),n.on("works.ready",function(t){n.emit("loaded",t.input,t.works[0])}),n.on("state.change",function(t){n.emit("stateChange",t.state,t.userAction)}),n.on("currentState.change",function(t){n.emit("currentStateChange",t.state,t.userAction)}),n.on("state.set",function(t){n.emit("setState",t.state)}),n.on("state.synced",function(t){n.emit("stateSynced",t.state)}),n.on("model.request",function(t){n.emit("modelWillLoad",t.work.model)}),n.on("model.error",function(t){n.emit("modelLoadError",t.error,t.model)}),n.on("model.load",function(t){n.emit("modelLoaded",t.model)}),n.on("model.changeShownFloor",function(t){n.emit("modelShownFloorChange",t.model.shownFloor,t.model.floorLength)}),n.on("render",function(t){n.emit("renderFrame",t.needsRender)}),n.on("mode.change.request",function(t){n.emit("wantsChangeMode",t.mode,t.prevMode)}),n.on("mode.change",function(t){n.emit("modeChange",t.mode,t.prevMode,t.state.panoIndex,t.state,t.userAction)}),n.on("helpers.visible",function(t){n.emit("helpersVisibleChange",t.object.visible)}),n.on("network.resource",function(t){n.emit("network",t.source,t.requestType,t.requestState,t.detail)})}function Rp(){if(typeof window!="undefined"){var n=document.createElement("video");n.loop=!0,n.autoplay=!0,n.playsInline=!0,n.muted=!0,n.crossOrigin="";var t=function(){document.removeEventListener("touchstart",t,!1),document.removeEventListener("mousedown",t,!1),n.muted=!1};return document.addEventListener("touchstart",t,!1),document.addEventListener("mousedown",t,!1),n}else return{}}function Fp(n){{var t=new d.DirectionalLight(16777215,.3);t.position.copy(new d.Vector3(1,1,1)),n.add(t)}{var t=new d.DirectionalLight(16777215,.1);t.position.copy(new d.Vector3(-1,-1,-1)),n.add(t)}{var t=new d.DirectionalLight(16777215,.1);n.add(t)}{var t=new d.AmbientLight(16777215,.6);n.add(t)}}function kp(n){for(var t,e,r={},i=n.split(/(\;|\,)/),a=0,o=i;a<o.length;a++){var s=o[a],u=s.split("="),l=(t=u[0])===null||t===void 0?void 0:t.trim(),c=(e=u[1])===null||e===void 0?void 0:e.trim();l&&c&&(r[l]=c)}return r}function yu(){var n;if(typeof document!="undefined")for(var t=document.getElementsByTagName("meta"),e=0;e<t.length;e++){var r=t[e];if(r.getAttribute("name")==="viewport"){var i=kp((n=r.getAttribute("content"))!==null&&n!==void 0?n:""),a=Number(i["initial-scale"]);if(!isNaN(a))return a}}return 1}const Lp="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAV8AAAA/CAQAAADtPwPkAAAR+0lEQVR4AezYg3LEQACH8d1cbdu23Q5qG9G47z/TN/h6tn2b/H+TUTLc7yjcOXV46OUAnUs6EbUp022ZBXc1NhoZYYd7fjDRvdcHAwrlK2QBVJ4sgoqONmY45RUT23sZ6H42F2hK5CtkMbjhZlDmUUcvq1zyieUVyjbE4I1GBfItwxG56YaUZTQwyh4P6NgJ4YYYvCuQb5kOyI03pORjiqe4Lwpq5pt1vJqfUwKWJVbSMYfppYconG+maNNQOWBZuwHTzicGel75NtFOkxr5apmV8cikcko0DrDQs863AeGl0cE0+1xy573m0/wf0cEKW6H7BWtggiMG8sy3oHRDpJMw4NWb6am/bv9znkqEzjd61t5oo5clTrjhwevO75EJRBKSRt745Z16ZEjcM73sccZplBPm8PyTcxZAkSRdHm/acJ0Z3JZhHB0BxqDHgWFZFmm0ZbCw87twI/zc3e/Cz93vPneXtU/WdQS3oTviXdY/q5PsJKfoGuQjZuO/0in1qsj85cuXrxqeAOJpGqdJOqrUutgVl2Qb0BWqp/RE8AWWVB7t2KrIzY2Wx2fWKl7yfswgxqj8lYummYa3hfwF9MuQRmbfQE4ocPDjtUWQ6Tq1M2w7gC2EcrMGtWS6xlpGKEDDcb1vUQ25zT4lrC2s0dU4gFPppKkbeIYr7NMpqjStuFg5rNU9epGyt8PXyfX4DE1bKLhR/1XPxwJhp5DAV67T9ZPwFdovhBMIGUYoRBN4wim6S3eoXVEHXdLgmwY0x6BQnO4xPJ0Ar5OVxhQF0L9UslRM4yaQQfQImnBegi8vhY2A1k6YLlrj61TwDdNQnIISwiPvpD7TwYQTssZXK47vg8y9Gp2nxRcATkozOEmdCeObSt3IIo+xf/00IDRKAaZ89PBTkHqpkA5LagKeNZKlIhqX8RcQ95GHtdYA62Y6rOg5LLsOSnoyvk4V38hFhytef+V9/3DER1P48W89o1GxE9o5vns2Mk+F7yiftafEN4nhmUv9DKEeyqI0U+l0CQg+B//sZ5+6lOuqKaTgm0LH41RHw/CsLZRk4huiYxrvP2SNr1OSS+Dr1ulBMR+K9SqHa58Oec49VgL3mXHvDr7QfuM7LMNrH1/IS30Moe64SLYBuFVJ+MbnJY7L+GrVQkFcl4ISx/fEll4ZWnz18DpcSzUCX602LqD9svDLzmdaLkP28P1+VsJjsx/4hmh6x/gmm/i6pbrGneCL9iCOg0dQUvF1UwEdVvG19r2uTXxXLz0J37eLjfZoF++tTtPnU/cWp5e8n3An0m/G+U7qjiy4PpHyV16HKx5flCxAV/H9A88nUnZ7l7KN78SBxPcQgzLAepxEScU3l7pZ6fL2+Dot8fXECfj+QRoGYAwlAfBSPrXQXQri0Pd85NJKcVw8XUdt1LZapk7YRhO1RdpmFJwW8ozekYvx2/fjM5Hr5MfQ95HvcY2a/9hoNK4yEntL+dEuGseTdNmxIPqd5v2YRjeaX8pQ8IW2ohuP7+dTN87RMK4aitx8XPsH0r2oBqNRqrv7+gmjjY7uIr6TBxBfL2MlxNRKSVp8S5CTuGgHXxfkFvh69Pq3LD4pkkd2bdRvHaSNC3/l2sQXAccdlIS+lc57qhPJwxPybT7XSxnUrdqnXuHlJHS+mjZfJfUZR9s2FuQR+EQKdSi9Am8UTnsEvlYS+L6TFwW6kl74Vjr6AFHsX89rgg8njRltK0XPOL7NyDL0IurV4VtMwafB1709vu9X4OjWHoP3z1Ii7eaQdG00Lx5n8HXyDSva/dU0Pq2vZnKYxHYMYRo1WY5ov1G7Vh4r3y+kMdgbilxeOrV0aqOFenFl8GGJig7rG0bbPRqiSRpP2AL0w+yon9dHbi43zFetnKcuw9ZLeSa+7kTw/TDfuFu0Z7Vp/uhyHfPkAZ5ufP9wLIfD49E3clR818rR089Lzyy+VRREPneICnYLX9cT8PVKQs36TbQ3i6NcCwYkxEAQ3phN4CjAvC4mFr5vrlKe7AizBKj8cu33s7i9GbeY7BHYujTjjd3Bx54SSyT4m8mxOoYOAGX/DtwvnGE1M+5v5Bgt1hbkJRW9Cxv9X81GL2i5jqaoJ4avBcCsLYp+Ru+VC5sWPpFhXt8/EPvJL2F/alJDEeIjUhcrP5P45rDeATPj+wKl7gBf1fcq+HpVnfHO1vEf//UCHgt/OxfDE3onj5UkfTaThrg3NCGoBUCtZjvgMnwQB0bG5XENeraJ5XEWvtiHkqSVRqN+uQ4lEx2o+69SeY1dC++Wcsj+LCW+H0ZE4KtDWHkGwCtrxstbFqr51e9wbz42E2fpjRQsqEn50PnM4eumO9IbujCi393Hd+3q72TI+p9DPyyfraF+c3rOx0KJyB2z7Fa1yCO8HoHzlDFhPiWD8XoB3aPppRrUQdRp1D8qE9exdgr+Zbpqf8BLfmZ/bMYbh87k58VCSswCjQoLPPw4Jnp4uFi/YQlfKB5eBd/gr6aqB973zbDAF+v5PN+NZEvm+84bSkhxUPE9C9wqbeJ7Hi+gA9Jr5ZM7x9el4mulyK0Bb2xiMTj3/iBtK77Tnii27H/MlCfsjcJY+2oTg2/U4TYWQERE0r+aCouBcx5zEZzEYrqui8JXsQW/X8FLHJ3IVbWXhQV3zAJCjFQst1F25y1arlXwhRR4Bb4rZ3VPy5d+bHEtHIPF27K16ItYuKXM5kHD10M9DKFeSpbqLlOYAlRiC99yCiDmbUf0206jPPO7b/iud71avBkHf+kQP0OrWHBFrhmt75ZyPzbLg5KmWK9oH4Oq1eFZOm0c6n48mdfer46HcLUZU3pGB8R9IDBbJ+N7v1q0J2xhudZ45tcL8PN16vq9WizwtRLwFQtKER+NDypj4QQOdJNY3NC7GEsaGtiSmDsA+CZhyx+hXFHjYrgGGXpZNvDNpn5gWWuiWkUtyEB0UcrO8Y2L9KI9K+cXLmxqruGd6pcKfycj/ij3URVgu6bPUaycN1qXTHD+KoOmjGORnH57q8rh+e9sTHk5r1+7zpEXk36bp7iiXRrBW61e5k/D0fn+EXF/OxYEypFW3ZH1HzPt4Pv5PN2Rd7VJLDZeboGnbpSPwPDcBw5f6AIysadFOR9Hr7vksoFvE91jdbdYvzpYqyIvdQPU87uKL45u3u213CA8qkYPT6H1YgwIfkz7RI5xJdomfjoV4PXjfjgaRkNGhHwG1mNt1oq0y/j+SaZ5pV0LnrlG89Dl1YkmEsc3nKKzMKskJD+fx6NhlFiohdTe5EsZIig5WPgWUYCC9Dx5TG/sA5x15LCBbzXDtx/+uh74VmMZjLDamh8JvhzQtSsoeVTNNXB/Euv96LRR/qjO+By5xTxxJ683/FB00Pj0fZz9F2GPa70Ld2hbbVptWmjWabbGCl/ZAiTsbJa5hQ9OK/eWFE4xva9nG3z1zwCtnFXjYr6c3ykxPn9QiYWEWPhA4uuiDnzBpt4EMcg0QOm28M0gP76hJuELbIdZi4PqaILpJI+RYz4ZV42y+q49wBcxIbyXTmtXgevRWPl3MmjSSJU5vB3J0TA2Uu8mtP+R5/Au4iiF6NrUUiuCieOiJpnJq8gSXzwFLFiLP8X6bV0bYvzt8TXj75eLtKPRauY1RM1HR7GwEHpFbonIWAPwjxpfqJSCyBVUsk/DFOChhC18kyiPHFvwdVGh6XFbmfLx+RRi4jaqYiCnUDO1wc4u4ovo7pfS+XFD32e9GzndwxJiHcbQ/Vz6JrBMDGYyYK5l7YOsfkS2MVePfGkLsNXLGl9hIVbWXAv9fQ5i/j6UFL1RaQffB9qlwn3tS4WxMhaxETCMz6T9ZTqCk5FznoOKL9SEXMMIUwAZW6dNfCEVX61azdxwmIbg4aHdwtcj5KVBeNiqrb2+g5M8hTskSB6exHZ5bMEIF/wCoOT128zvdXziMLbvuDu/Usmh0oG7doMmafKNSmt8hQWUnmzhjJf/RskXCzQL8aYNfLG/QPGLY5KjKtcuNPGsyGytmj0/kPi6qdXwwJCPvOTYI3zTaICCNEh9FGSWM54OX4+A1UI80RV98czWKceJf65ervsleJm164/7ganACHHn+IPz8Nby1ptcnRztRWbipArvp4/gRchodbIFvsBSWPBaW+CHtzWfauFfcmnKRuyr+Fiu1WbzGKtCPWWMHjIgU1/Mgn2B74GKfbkajHwtVIHy3uBbh0Ocj9oplCC+kIJvYuKvI9bbkUUQ2+JaG7AeknwvhLd0YUxx+SZIf4XkGeqHUCNt9N8sQdvYlwtl9H4hMzqI5dHosMIX2taCl2s6LRowaubPyld/IgcvHBJPnKGnHDLh0ArfqzlYtkv5D8++4RsAvPbwTaJzgDcIDzxIRXuEbx4NIsYupjt7gi/6idL3j1AIqPY+OPH5PGO67x/jUS9NvF6hTte7x2kaCvtSZJiMlxjxMSqEtqXr3GPMn/9y4cXUypS/ymPxbIAvmurtYl9o7dqmBV9KdbLOgsik4B3d6xW/lO7w/kfe+yfx7bFuGkwY3/C6sURDj8584rCxJH5QtnYFVrFQVL35HNoQgO0jvt228XVRC4WQPLtANyiEzb1gD/BNoy5kHa5QEnUmiq/uG2fubeXh+kwuNj8IRxAoOqiLIqfTaNw84SfLWsDmqo08k30prHVKbHuYDo7ez6U7EsLX0oJX1ltV2AOg2KfoMPPA/sTx/ZPMqF9YiN11AsHLFrHgaAT3GBvw7hO+U9TH4bX10rgVx7YgMr0p7Pow4tL8XcY3l1kJMfVQmsA3fa/wFQh3JK9eivtV+tCaD4cUjdZvIRI9BfDUDd6PkkbfKhVbOJf/jUpuQcXXlgVNv68ejr4gTflk5AZ71+jR4AvEdPg6PDNpaz6a2AQm2otoWKvVS+LVTyL4OnaE7wSNUjfdpnZb+KbQdcA7Jr5ek0od8MD9dNjiN43t4etk1v0ITfyw6gS+Q4l5XwGwbXli+u/sj6pWGu9XfyYXx75d18+lf6t0tnau/pXKv8+xzorIkltn0l4r2dYCXlO8XDRbu9xw/9g/Zko2FXSFtKPxOxn3q+caluteK5lJsboXwVP/S27cPVz28X3i3/Ll/v8eDVMPDmzwvDbwddMt+NoROhq3yXcC4D7KpmTyA+XnqEzSFQrawDeLrsNemHrEL2+24r7NlENZUMa2vyxkH2DIs628e669ubdsR4VXC7C9u79eIVJtOwgdgO/dOICHGK6jQHaIwdXN4Lwt0LWHr4d6kX8tV+ozqAs+uYCSmO2w+jd4zGNeUYL4nqZxeN5WKVgooSAClmEaYhqhdit89QC7niSbCEM2sdkBuHYxQg9ri5ZjkuhI6DMP+J7cTvEtokEx0aPscyddoFJKpSZqV7G1GTxcpmEthpnw5058c6GfwqpwzGOtGjXSJI3FLYhc+O+jSr9aGhPWQlRshS8AticLX7wnsgbXxt6gsWCpRBa0vRGQM8oB9dhmP3QAwFX4c079dJNq6Qi5xbuyTmpPSJ1Ur4UtF7GoTtmUL3zxaWqMU8P/k3cXSQ1EQRjHGdzdHTa4u7tzBs7CedhykNwF2/5jq56iU11db6Lv2yTj8hs3JoiU9sZZp5/62J5v1z9NjrDHaSbnbFMf52sHrDUVaidDxNG0o9+uLjfosfdb3jT5d5j757riJgst9NIZQ2Pn+ySZll80vjI6Wz/hQJG4vPG0L/H6poQch/dW3vL3B0u8jl0HvVj5PvHCElEF8DUAFikVYTcvmfBdDzQlvvMXSV5lP5zrXj/fJ54zuWaeeuoqkW8AwCIaqeTZKkmYrpPwR2eqN9X72W7EG57vU67OBeuMV8KXLUzv93UTTj42tvaFS++GVsc5JRyLSLJ8nzO555hFBmiSRCqMr4GwrcmGkib5xSvcwmzFK6e8s7DMa2xH4YZdZumSOwsVzFeBWdr37tpIhOpSwXqONNgZq/2KgvBt54znHN1HzlljTO4oVD5fb+prNIJXQNL1ofDKQisbPLJDv3jNSLq9OkYBEIihKIj3v7S1TRQCX5Kdl1ZQlol7LF+E++fwirfiq2sf4cTXxc6hzxffPuLEeqSWrPGWMF58TWr5viyJAP5/4EV4KePiaSE8eNRgjDy8/tyRW+FZjhS+2tlovNJovtJovNJ0uhK6Wo64SDdxEbM//KesjwAAAABJRU5ErkJggg==";var Us=[351,63],qs=[20,20],Op=new Float32Array([-.5,-.5,0,.5,-.5,0,-.5,.5,0,.5,.5,0]),Vp=new Float32Array([0,0,1,0,0,1,1,1]),Np=new Uint8Array([0,1,2,1,3,2]),Li=new d.BufferGeometry;Li.setAttribute("position",new d.BufferAttribute(Op,3));Li.setAttribute("uv",new d.BufferAttribute(Vp,2));Li.setIndex(new d.BufferAttribute(Np,1));var hi=new d.MeshBasicMaterial({transparent:!0,depthTest:!1,depthWrite:!1,stencilWrite:!1,fog:!1}),bu=new d.Mesh(Li,hi);bu.matrixAutoUpdate=!1;var ho=new d.Scene;ho.add(bu);ho.matrixAutoUpdate=!1;var jn=new d.OrthographicCamera(-.5,.5,.5,-.5,.1,1);jn.position.set(0,0,.5);jn.lookAt(0,0,0);jn.updateMatrixWorld(!0);jn.matrixAutoUpdate=!1;var zp=new d.Vector4,Qp=new d.Vector4;function Hs(n){if(hi.map){var r=n.getViewport(zp),i=n.getScissor(Qp),a=n.getScissorTest(),o=n.autoClear,s=i.x+qs[0]/3,u=i.y+qs[1]/3,l=Us[0]/3,c=Us[1]/3;n.setViewport(s,u,l,c),n.setScissor(s,u,l,c),n.setScissorTest(!0),n.autoClear=!1,n.render(ho,jn),n.setViewport(r),n.setScissor(i),n.setScissorTest(a),n.autoClear=o}else{var t=new d.Texture,e=new Image;e.onload=function(){t.image=e,t.wrapS=d.ClampToEdgeWrapping,t.wrapT=d.ClampToEdgeWrapping,t.minFilter=d.LinearFilter,t.needsUpdate=!0,t.generateMipmaps=!1,hi.needsUpdate=!0,e.onload=Q},e.src=Lp,hi.map=t}}var Dp=800,Gs=90,Up=function(n){return n.replace("//vrlab-public.ljcdn.com/","//vr-public.realsee-cdn.cn/").replace("//vrlab-image4.ljcdn.com/","//vr-image-4.realsee-cdn.cn/").replace("//vrlab-image3.ljcdn.com/","//vr-image-3.realsee-cdn.cn/").replace("//vrlab-image2.ljcdn.com/","//vr-image-2.realsee-cdn.cn/").replace("//vrlab-image1.ljcdn.com/","//vr-image-1.realsee-cdn.cn/")},En=new d.Vector2,ii=new d.Frustum,ai=new d.Matrix4,Ks=new WeakMap,Aa=new WeakMap,js=Ra([]),wu=function(n){pe(t,n);function t(e){e===void 0&&(e={});var r,i,a,o,s,u,l,c,f,h=n.call(this)||this;if(h.ident=wt(),typeof window!="undefined"&&(za.instances[h.ident]=h),h.renderSwitch01=0,h.currentMode="Panorama",h.pano={workCode:"",panoIndex:0},h.needsRender=!1,h.onlyRenderIfNeeds=(r=e.onlyRenderIfNeeds)!==null&&r!==void 0?r:!0,h.imageOptions=k({},(i=e.imageOptions)!==null&&i!==void 0?i:{}),h.textureOptions=k({},(a=e.textureOptions)!==null&&a!==void 0?a:{}),h.poweredByRealsee=(o=e.poweredByRealsee)!==null&&o!==void 0?o:!0,h.extraElements=[],h.controllerInits={Panorama:Object.assign({},e.panorama),Model:Object.assign({},e.model),Floorplan:Object.assign({},e.floorplan),Topview:Object.assign({},e.topview),Mapview:Object.assign({},e.mapview),VRPanorama:Object.assign({},e.vrPanorama),XRPanorama:Object.assign({},e.xrPanorama)},h.fps={testCount:0,testTime:Ce()},h.info=null,h.modeChangeDuration=(s=e.modeChangeDuration)!==null&&s!==void 0?s:Dp,h.enableWheel=(u=e.enableWheel)!==null&&u!==void 0?u:!0,typeof window!="undefined")if("renderer"in e)e.renderer instanceof Jr&&h.throwError(new Error("cannot render a internal renderer")),h.renderer=e.renderer;else try{h.renderer=new Jr({preserveDrawingBuffer:e.preserveDrawingBuffer,backgroundColor:e.backgroundColor,backgroundAlpha:e.backgroundAlpha,antialias:e.antialias,webgl2:e==null?void 0:e.webgl2});var m=yu();h.renderer.setPixelRatio(m===1?window.devicePixelRatio:1),h.renderer.setSize(512,512)}catch(C){C instanceof Error&&h.throwError(C)}h.getPixelsRenderTarget=new d.WebGLRenderTarget(1,1,{encoding:(c=(l=h.renderer)===null||l===void 0?void 0:l.outputEncoding)!==null&&c!==void 0?c:d.sRGBEncoding}),h.scissor=Object.assign({left:0,bottom:0,width:1,height:1},e.scissor),h.camera=new Pi(Gs),h.scene=new f0,h.xrCustomObjectsScene=new d.Scene,h.scene.add(h.xrCustomObjectsScene),h.scene.matrixAutoUpdate=!1,h.lastLoadWorkTask=Promise.resolve(),h.requestProxy=(f=e.requestProxy)!==null&&f!==void 0?f:Up,h.networkSubscribe=new e0,h.networkSubscribe.on("network",function(C,M,I,T){var P;h.emit("network.resource",J("network.resource",{source:C,requestType:M,requestState:I,detail:T})),(P=h.analysis)===null||P===void 0||P.network(h.works,C,M,I,T)}),h.boundingMesh=Uf(new d.Box3(new d.Vector3(-.5,-.5,-.5),new d.Vector3(.5,.5,.5))),h.boundingMesh.name="bounding",h.scene.add(h.boundingMesh),h.models=ms(),h.models.push(new ka),h.lastModels=ms(),h.lastWorks=Ra([]),h.readyCallbacks=[],h.syncingState=!1,h.modelGroup=new d.Group,h.modelGroup.visible=!1,h.modelGroup.name="model",h.modelGroup.matrixAutoUpdate=!1,h.modelGroup.renderOrder=-4,h.scene.add(h.modelGroup),h.helperGroup=new d.Group,h.helperGroup.name="helper",h.helperGroup.matrixAutoUpdate=!1,h.scene.add(h.helperGroup),h.videoTexture=new d.VideoTexture(e.videoInstance||Rp()),Fp(h.scene),h.copyEffect=new Fi(h.renderer,h.scene,h.camera,h.models),h.state={mode:h.currentMode,workCode:h.pano.workCode,panoIndex:h.pano.panoIndex,longitude:h.camera.pose.longitude,latitude:h.camera.pose.latitude,fov:h.camera.pose.fov,offset:h.camera.pose.offset.clone(),distance:h.camera.pose.distance},h.stateSynced=!1,h._enableIOSEDR=!1,h.destroyed=!1,h.paused=!0,typeof window!="undefined"&&(e.play!==!1&&h.play(),h.stopAnimationLoop=ut.shared.add(function(C,M){for(var I=[],T=2;T<arguments.length;T++)I[T-2]=arguments[T];h.updateTime.apply(h,yt([C,M],I,!1))},!1,0,10));var A=function(){typeof document!="undefined"&&document.fullscreenElement===null&&h.currentMode==="VRPanorama"&&h.controller.emit("vr.requestExit",J("vr.requestExit",{}))},p=function(){h.needsRender=!0};if(typeof document!="undefined"&&document.addEventListener("fullscreenchange",A,!1),h.renderer&&h.renderer.domElement.addEventListener("webglcontextrestored",p,!1),h.removeEventListeners=function(){typeof document!="undefined"&&document.removeEventListener("fullscreenchange",A,!1),h.renderer&&h.renderer.domElement.removeEventListener("webglcontextrestored",p,!1)},h.plugins={},e.plugins&&e.plugins.length)for(var g=0,v=e.plugins;g<v.length;g++){var y=v[g];if(typeof y=="function")y(h);else if(Array.isArray(y)){var b=y[0],w=y[1],E=y[2];if(typeof b=="function"){var x=b(h,E);typeof w=="string"&&(h.plugins[w]?h.throwError(new Error("plugin name ".concat(w," is exists."))):h.plugins[w]=x)}}}return h.gpuPickingRenderTarget=new d.WebGLRenderTarget(1,1),h.meshReplaceMaterialMap=new Map,h.meshOriginMaterialMap=new Map,Bp(h),h}return Object.defineProperty(t,"version",{get:function(){return"6.0.0-alpha.107"},enumerable:!1,configurable:!0}),Object.defineProperty(t,"dracoPath",{get:function(){return wi.decoderPath},set:function(e){wi.setDecoderPath(e)},enumerable:!1,configurable:!0}),Object.defineProperty(t,"ktx2Path",{get:function(){return Ln.transcoderPath},set:function(e){Ln.setTranscoderPath(e)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"panoIndex",{get:function(){return this.pano.panoIndex},enumerable:!1,configurable:!0}),t.prototype.getGPUPicking=function(e,r,i,a,o){var s=this;if(a===void 0&&(a=1),o===void 0&&(o=new d.Vector3(0,0,0)),!this.renderer)throw new Error("renderer is not initialized.");this.models.setMaterial({constantColor:o}),this.scene.traverse(function(f){if(!(!(f instanceof d.Mesh)||f instanceof It)){var h=Object.keys(i).filter(function(A){return A===f.uuid})[0];if(h)if(s.meshOriginMaterialMap.set(h,f.material),s.meshReplaceMaterialMap.get(h))f.material=s.meshReplaceMaterialMap.get(h);else{var m=new d.ShaderMaterial({uniforms:{color:{value:i[h]}},vertexShader:`
2013
+ `},fo=function(n){pe(t,n);function t(e){var r=n.call(this,{uniforms:d.UniformsUtils.clone(va.uniforms),vertexShader:va.vertexShader,fragmentShader:va.fragmentShader,clipping:!0})||this;return r.type="LineMaterial",r.dashed=!1,Object.defineProperties(r,{color:{enumerable:!0,get:function(){return this.uniforms.diffuse.value},set:function(i){this.uniforms.diffuse.value=i}},linewidth:{enumerable:!0,get:function(){return this.uniforms.linewidth.value},set:function(i){this.uniforms.linewidth.value=i}},dashScale:{enumerable:!0,get:function(){return this.uniforms.dashScale.value},set:function(i){this.uniforms.dashScale.value=i}},dashSize:{enumerable:!0,get:function(){return this.uniforms.dashSize.value},set:function(i){this.uniforms.dashSize.value=i}},gapSize:{enumerable:!0,get:function(){return this.uniforms.gapSize.value},set:function(i){this.uniforms.gapSize.value=i}},opacity:{enumerable:!0,get:function(){return this.uniforms.opacity.value},set:function(i){this.uniforms.opacity.value=i}},resolution:{enumerable:!0,get:function(){return this.uniforms.resolution.value},set:function(i){this.uniforms.resolution.value.copy(i)}}}),r.setValues(e),r}return t}(d.ShaderMaterial);Object.assign(fo.prototype,{isLineMaterial:!0});var pu=function(n){pe(t,n);function t(e,r){var i=n.call(this)||this;return i.type="LineSegments2",i.geometry=e!==void 0?e:new co,i.material=r!==void 0?r:new fo({color:Math.random()*16777215}),i}return t.prototype.computeLineDistances=function(){for(var e=this.geometry,r=e.attributes.instanceStart,i=e.attributes.instanceEnd,a=new Float32Array(2*r.count),o=new d.Vector3,s=new d.Vector3,u=0,l=0,c=r.count;u<c;u++,l+=2)o.fromBufferAttribute(r,u),s.fromBufferAttribute(i,u),a[l]=l===0?0:a[l-1],a[l+1]=a[l]+o.distanceTo(s);var f=new d.InstancedInterleavedBuffer(a,2,1);return e.setAttribute("instanceDistanceStart",new d.InterleavedBufferAttribute(f,1,0)),e.setAttribute("instanceDistanceEnd",new d.InterleavedBufferAttribute(f,1,1)),this},t.prototype.raycast=function(e,r){e.camera===null&&console.error('LineSegments2: "Raycaster.camera" needs to be set in order to raycast against LineSegments2.');var i=e.ray,a=e.camera,o=a.projectionMatrix,s=this.geometry,u=this.material,l=u.resolution,c=u.linewidth,f=s.attributes.instanceStart,h=s.attributes.instanceEnd,m=new d.Vector4,A=new d.Vector4,p=new d.Vector4,g=new d.Vector3,v=new d.Matrix4,y=new d.Line3,b=new d.Vector3;i.at(1,p),p.w=1,p.applyMatrix4(a.matrixWorldInverse),p.applyMatrix4(o),p.multiplyScalar(1/p.w),p.x*=l.x/2,p.y*=l.y/2,p.z=0,g.copy(p);var w=this.matrixWorld;v.multiplyMatrices(a.matrixWorldInverse,w);for(var E=0,x=f.count;E<x;E++){m.fromBufferAttribute(f,E),A.fromBufferAttribute(h,E),m.w=1,A.w=1,m.applyMatrix4(v),A.applyMatrix4(v),m.applyMatrix4(o),A.applyMatrix4(o),m.multiplyScalar(1/m.w),A.multiplyScalar(1/A.w);var C=m.z<-1&&A.z<-1,M=m.z>1&&A.z>1;if(!(C||M)){m.x*=l.x/2,m.y*=l.y/2,A.x*=l.x/2,A.y*=l.y/2,y.start.copy(m),y.start.z=0,y.end.copy(A),y.end.z=0;var I=y.closestPointToPointParameter(g,!0);y.at(I,b);var T=d.MathUtils.lerp(m.z,A.z,I),P=T>=-1&&T<=1,R=g.distanceTo(b)<c*.5;if(P&&R){y.start.fromBufferAttribute(f,E),y.end.fromBufferAttribute(h,E),y.start.applyMatrix4(w),y.end.applyMatrix4(w);var L=new d.Vector3,F=new d.Vector3;i.distanceSqToSegment(y.start,y.end,F,L),r.push({point:F,pointOnLine:L,distance:i.origin.distanceTo(F),object:this,faceIndex:E})}}}},t}(d.Mesh);Object.assign(pu.prototype,{isLineSegments2:!0});var vu=function(n){pe(t,n);function t(e,r){var i=n.call(this,e,r)||this;return i.type="Line2",i}return t}(pu);Object.assign(vu.prototype,{isLine2:!0});var Au=function(n){pe(t,n);function t(){var e=n.call(this)||this;return e.type="LineGeometry",e}return t.prototype.setPositions=function(e){for(var r=e.length-3,i=new Float32Array(2*r),a=0;a<r;a+=3)i[2*a]=e[a],i[2*a+1]=e[a+1],i[2*a+2]=e[a+2],i[2*a+3]=e[a+3],i[2*a+4]=e[a+4],i[2*a+5]=e[a+5];return n.prototype.setPositions.call(this,i),this},t.prototype.setColors=function(e){for(var r=e.length-3,i=new Float32Array(2*r),a=0;a<r;a+=3)i[2*a]=e[a],i[2*a+1]=e[a+1],i[2*a+2]=e[a+2],i[2*a+3]=e[a+3],i[2*a+4]=e[a+4],i[2*a+5]=e[a+5];return n.prototype.setColors.call(this,i),this},t.prototype.fromLine=function(e){var r=e.geometry;if(r instanceof d.Geometry){var i=new d.BufferGeometry().fromGeometry(r);this.setPositions(i.attributes.position.array)}else r instanceof d.BufferGeometry&&this.setPositions(r.attributes.position.array);return this},t.prototype.copy=function(){return this},t}(co);Object.assign(Au.prototype,{isLineGeometry:!0});var dp="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAAZiS0dEAAAAAAAA+UO7fwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9sHDgwCEMBJZu0AAAAdaVRYdENvbW1lbnQAAAAAAENyZWF0ZWQgd2l0aCBHSU1QZC5lBwAABM5JREFUWMO1V0tPG2cUPZ4Hxh6DazIOrjFNqJs0FIMqWFgWQkatsmvVbtggKlSVRVf5AWz4AWz4AUSKEChll19QJYSXkECuhFxsHjEhxCYm+DWGMZ5HF72DJq4bAzFXurI0M/I5997v3u9cC65vTJVn2lX/xHINQOYSBLTLEuIuCWw4Z3IGAEvf6ASmVHjNzHCXBG4A0AjACsAOwEbO0nsFQBnAGYASAIl+ZRMR7SolMEdsByD09fV5R0ZGgg8ePPjW5/N1iqLYpuu6RZblciKR2I9Go69evnwZnZ+fjwI4IS8AKBIRzeQfJWCANwKwh0KhtrGxsYehUOin1tbW+zzP23ietzY2NnIAoGmaLsuyUiqVyvl8XtrY2NiamZn589mzZxsAUgCOAeQAnFI2tI+VxIjaAeDzoaGh7xYWFuZOTk6OZVk+12uYqqq6JEnn0Wg0OT4+/geAXwGEAdwDIFJQXC1wO4DWR48e/RCPxxclSSroVzRFUbSDg4P848ePFwH8DuAhkWih83TRQWxFOXgAwvDwcOfo6OhvXV1d39tsNtuVBwTDWBwOh1UUxVsMw1hXVlbSdCgNV43uYSvrHg6H24aHh38eHBz85TrgF9FYLHA4HLzH43FvbW2d7u/vG+dANp8FpqIlbd3d3V8Fg8EfBUFw4BONZVmL3+9vHhkZCQL4AoAHgJPK8G+yzC0XDofdoVAo5PP5vkadTBAEtr+/39ff3x8gAp/RPOEqx2qjx+NpvXv3bk9DQ0NDvQgwDIOWlhZrMBj8kgi0UJdxRgYMArzL5XJ7vd57qLPZ7Xamp6fnNgBXtQxcjFuHw+Hyer3t9SYgCAITCAScAJoBNNEY/08GOFVVrfVMv7kMNDntFD1vjIAPrlRN0xjckOm6biFQ3jwNPwDMZrOnqVTqfb3Bi8Wivru7W/VCYkwPlKOjo0IikXh7EwQikYgE4Nw0CfXKDCipVCoTj8df3QABbW1tLUc6oUgkFPMkVACUNjc337148eKvw8PDbJ2jP1taWkoCyNDVXDSECmNSK4qiKNLq6urW8+fPI/UicHx8rD59+jSVy+WOAKSJhKENwFItLtoxk8mwsixzHR0dHe3t7c5PAU+n09rs7OzJkydPYqVSaQfANoDXALIk31S2smU1TWMPDg7K5XKZ7+3t9TudTut1U7+wsFCcmJiIpdPpbQBxADsAknQWymYCOukBHYCuKApisdhpMpnURFEU79y503TVyKenpzOTk5M7e3t7MQKPV0Zv1gNm+awB0MvlshqLxfLb29uyJElWURSbXC4XXyvqxcXFs6mpqeTc3Nzu3t7e3wQcA7BPZ8Cov1pNlJplmQtAG8MwHV6v95tAINA5MDBwPxAIuLu6upr8fr/VAN3c3JQjkcjZ+vp6fnl5+d2bN29SuVzuNYAEpf01CdRChUL+X1VskHACuA3Ay3Fcu9vt7nA6nZ7m5uYWQRCaNE3jVVW15PP580KhIGUymWw2m00DOAJwSP4WwPtq4LX2Ao6USxNlQyS/RcQcdLGwlNIz6vEMAaZpNzCk2Pll94LK/cDYimxERiBwG10sxjgvEZBE0UpE6vxj+0Ct5bTaXthgEhRmja8QWNkkPGsuIpfdjpkK+cZUWTC0KredVmtD/gdlSl6EG4AMvQAAAABJRU5ErkJggg==",Vs=14467195,fp=8,hp=2,pp=20,Ns=null,Na=function(n){pe(t,n);function t(e,r){e===void 0&&(e=new d.Vector3),r===void 0&&(r=new d.Vector3);var i=n.call(this)||this;i.type="FiveLine",i.needsRender=!0;var a=new Au,o=new fo({color:Vs,linewidth:hp,dashScale:pp,dashed:!1});i.line=new vu(a,o);var s=new d.BufferGeometry,u=new d.PointsMaterial({color:Vs,size:fp,map:Ns||(Ns=new d.TextureLoader().load(dp)),sizeAttenuation:!1,transparent:!0});return i.points=new d.Points(s,u),i.points.renderOrder=11,i.points.frustumCulled=!1,i.setPoints(e,r),i.add(i.line,i.points),i}return Object.defineProperty(t,"version",{get:function(){return"6.0.0-alpha.108"},enumerable:!1,configurable:!0}),t.prototype.setPoints=function(e,r){var i=[].concat(e.toArray(),r.toArray());this.points.geometry.setAttribute("position",new d.BufferAttribute(new Float32Array(i),3)),this.line.geometry.setPositions(i),this.line.computeLineDistances(),this.needsRender=!0},t.prototype.getPoints=function(){var e=this.points.geometry.attributes.position.array;return[new d.Vector3(e[0],e[1],e[2]),new d.Vector3(e[3],e[4],e[5])]},t.prototype.setMaterial=function(e){var r=this.line.material;for(var i in e)if(e.hasOwnProperty(i)){var a=e[i];i==="dashed"?(r.dashed=a,a?r.defines.USE_DASH="":delete r.defines.USE_DASH,r.needsUpdate=!0):r[i]=e[i]}this.needsRender=!0},t.prototype.setResolution=function(e,r){var i=this.line.material.resolution;(i.x!==e||i.y!==r)&&(i.set(e,r),this.needsRender=!0)},t}(d.Object3D);Object.assign(Na.prototype,{isFiveLine:!0});var We={Handedness:Object.freeze({NONE:"none",LEFT:"left",RIGHT:"right"}),ComponentState:Object.freeze({DEFAULT:"default",TOUCHED:"touched",PRESSED:"pressed"}),ComponentProperty:Object.freeze({BUTTON:"button",X_AXIS:"xAxis",Y_AXIS:"yAxis",STATE:"state"}),ComponentType:Object.freeze({TRIGGER:"trigger",SQUEEZE:"squeeze",TOUCHPAD:"touchpad",THUMBSTICK:"thumbstick",BUTTON:"button"}),ButtonTouchThreshold:.05,AxisTouchThreshold:.1,VisualResponseProperty:Object.freeze({TRANSFORM:"transform",VISIBILITY:"visibility"})};function mu(n){return Ii(this,void 0,void 0,function(){var t;return Si(this,function(e){switch(e.label){case 0:return[4,fetch(n)];case 1:if(t=e.sent(),t.ok)return[2,t.json()];throw new Error(t.statusText)}})})}function vp(n){return Ii(this,void 0,void 0,function(){var t,e;return Si(this,function(r){switch(r.label){case 0:if(!n)throw new Error("No basePath supplied");return t="profilesList.json",[4,mu("".concat(n,"/").concat(t))];case 1:return e=r.sent(),[2,e]}})})}function Ap(n,t,e,r){return e===void 0&&(e=null),r===void 0&&(r=!0),Ii(this,void 0,void 0,function(){var i,a,o,s,u,l;return Si(this,function(c){switch(c.label){case 0:if(!n)throw new Error("No xrInputSource supplied");if(!t)throw new Error("No basePath supplied");return[4,vp(t)];case 1:if(i=c.sent(),n.profiles.some(function(f){var h=i[f];return h&&(a={profileId:f,profilePath:"".concat(t,"/").concat(h.path),deprecated:!!h.deprecated}),!!a}),!a){if(!e)throw new Error("No matching profile name found");if(o=i[e],!o)throw new Error('No matching profile name found and default profile "'.concat(e,'" missing.'));a={profileId:e,profilePath:"".concat(t,"/").concat(o.path),deprecated:!!o.deprecated}}return[4,mu(a.profilePath)];case 2:if(s=c.sent(),r){if(l=void 0,l=s.layouts[n.handedness],!l)throw new Error("No matching handedness, ".concat(n.handedness,", in profile ").concat(a.profileId));l.assetPath&&(u=a.profilePath.replace("profile.json",l.assetPath))}return[2,{profile:s,assetPath:u}]}})})}var mp={xAxis:0,yAxis:0,button:0,state:We.ComponentState.DEFAULT};function gp(n,t){n===void 0&&(n=0),t===void 0&&(t=0);var e=n,r=t,i=Math.sqrt(n*n+t*t);if(i>1){var a=Math.atan2(t,n);e=Math.cos(a),r=Math.sin(a)}var o={normalizedXAxis:e*.5+.5,normalizedYAxis:r*.5+.5};return o}var yp=function(){function n(t){this.componentProperty=t.componentProperty,this.states=t.states,this.valueNodeName=t.valueNodeName,this.valueNodeProperty=t.valueNodeProperty,this.valueNodeProperty===We.VisualResponseProperty.TRANSFORM&&(this.minNodeName=t.minNodeName,this.maxNodeName=t.maxNodeName),this.value=0,this.updateFromComponent(mp)}return n.prototype.updateFromComponent=function(t){var e=t.xAxis,r=t.yAxis,i=t.button,a=t.state,o=gp(e,r),s=o.normalizedXAxis,u=o.normalizedYAxis;switch(this.componentProperty){case We.ComponentProperty.X_AXIS:this.value=this.states.includes(a)?s:.5;break;case We.ComponentProperty.Y_AXIS:this.value=this.states.includes(a)?u:.5;break;case We.ComponentProperty.BUTTON:this.value=this.states.includes(a)?i:0;break;case We.ComponentProperty.STATE:this.valueNodeProperty===We.VisualResponseProperty.VISIBILITY?this.value=this.states.includes(a):this.value=this.states.includes(a)?1:0;break;default:throw new Error("Unexpected visualResponse componentProperty ".concat(this.componentProperty))}},n}(),bp=function(){function n(t,e){var r=this;if(!t||!e||!e.visualResponses||!e.gamepadIndices||Object.keys(e.gamepadIndices).length===0)throw new Error("Invalid arguments supplied");this.id=t,this.type=e.type,this.rootNodeName=e.rootNodeName,this.touchPointNodeName=e.touchPointNodeName,this.visualResponses={},Object.keys(e.visualResponses).forEach(function(i){var a=new yp(e.visualResponses[i]);r.visualResponses[i]=a}),this.gamepadIndices=Object.assign({},e.gamepadIndices),this.values={state:We.ComponentState.DEFAULT,button:this.gamepadIndices.button!==void 0?0:void 0,xAxis:this.gamepadIndices.xAxis!==void 0?0:void 0,yAxis:this.gamepadIndices.yAxis!==void 0?0:void 0}}return Object.defineProperty(n.prototype,"data",{get:function(){var t=k({id:this.id},this.values);return t},enumerable:!1,configurable:!0}),n.prototype.updateFromGamepad=function(t){var e=this;if(this.values.state=We.ComponentState.DEFAULT,this.gamepadIndices.button!==void 0&&t.buttons.length>this.gamepadIndices.button){var r=t.buttons[this.gamepadIndices.button];this.values.button=r.value,this.values.button=this.values.button<0?0:this.values.button,this.values.button=this.values.button>1?1:this.values.button,r.pressed||this.values.button===1?this.values.state=We.ComponentState.PRESSED:(r.touched||this.values.button>We.ButtonTouchThreshold)&&(this.values.state=We.ComponentState.TOUCHED)}this.gamepadIndices.xAxis!==void 0&&t.axes.length>this.gamepadIndices.xAxis&&(this.values.xAxis=t.axes[this.gamepadIndices.xAxis],this.values.xAxis=this.values.xAxis<-1?-1:this.values.xAxis,this.values.xAxis=this.values.xAxis>1?1:this.values.xAxis,this.values.state===We.ComponentState.DEFAULT&&Math.abs(this.values.xAxis)>We.AxisTouchThreshold&&(this.values.state=We.ComponentState.TOUCHED)),this.gamepadIndices.yAxis!==void 0&&t.axes.length>this.gamepadIndices.yAxis&&(this.values.yAxis=t.axes[this.gamepadIndices.yAxis],this.values.yAxis=this.values.yAxis<-1?-1:this.values.yAxis,this.values.yAxis=this.values.yAxis>1?1:this.values.yAxis,this.values.state===We.ComponentState.DEFAULT&&Math.abs(this.values.yAxis)>We.AxisTouchThreshold&&(this.values.state=We.ComponentState.TOUCHED)),Object.values(this.visualResponses).forEach(function(i){i.updateFromComponent(e.values)})},n}(),wp=function(){function n(t,e,r){var i=this;if(!t)throw new Error("No xrInputSource supplied");if(!e)throw new Error("No profile supplied");this.xrInputSource=t,this.assetUrl=r,this.id=e.profileId,this.layoutDescription=e.layouts[t.handedness],this.components={},Object.keys(this.layoutDescription.components).forEach(function(a){var o=i.layoutDescription.components[a];i.components[a]=new bp(a,o)}),this.updateFromGamepad()}return Object.defineProperty(n.prototype,"gripSpace",{get:function(){return this.xrInputSource.gripSpace},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"targetRaySpace",{get:function(){return this.xrInputSource.targetRaySpace},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"data",{get:function(){var t=[];return Object.values(this.components).forEach(function(e){t.push(e.data)}),t},enumerable:!1,configurable:!0}),n.prototype.updateFromGamepad=function(){var t=this;Object.values(this.components).forEach(function(e){e.updateFromGamepad(t.xrInputSource.gamepad)})},n}(),Ep="https://cdn.jsdelivr.net/npm/@webxr-input-profiles/assets@1.0/dist/profiles",xp="generic-trigger",Mp=function(n){pe(t,n);function t(){var e=n.call(this)||this;return e.motionController=null,e.envMap=null,e}return t.prototype.setEnvironmentMap=function(e){var r=this;return this.envMap==e?this:(this.envMap=e,this.traverse(function(i){i instanceof d.Mesh&&i.isMesh&&(i.material.envMap=r.envMap,i.material.needsUpdate=!0)}),this)},t.prototype.updateMatrixWorld=function(e){n.prototype.updateMatrixWorld.call(this,e),this.motionController&&(this.motionController.updateFromGamepad(),Object.values(this.motionController.components).forEach(function(r){Object.values(r.visualResponses).forEach(function(i){var a=i.valueNode,o=i.minNode,s=i.maxNode,u=i.value,l=i.valueNodeProperty;a&&(l===We.VisualResponseProperty.VISIBILITY?a.visible=u:l===We.VisualResponseProperty.TRANSFORM&&(a.quaternion.copy(o.quaternion).slerp(s.quaternion,u),a.position.lerpVectors(o.position,s.position,u)))})}))},t}(Bn.Object3D);function Cp(n,t){Object.values(n.components).forEach(function(e){var r=e.type,i=e.touchPointNodeName,a=e.visualResponses;if(r===We.ComponentType.TOUCHPAD)if(e.touchPointNode=t.getObjectByName(i),e.touchPointNode){var o=new Bn.SphereGeometry(.001),s=new Bn.MeshBasicMaterial({color:255}),u=new Bn.Mesh(o,s);e.touchPointNode.add(u)}else console.warn("Could not find touch dot, ".concat(e.touchPointNodeName,", in touchpad component ").concat(e.id));Object.values(a).forEach(function(l){var c=l.valueNodeName,f=l.minNodeName,h=l.maxNodeName,m=l.valueNodeProperty;if(m===We.VisualResponseProperty.TRANSFORM){if(l.minNode=t.getObjectByName(f),l.maxNode=t.getObjectByName(h),!l.minNode){console.warn("Could not find ".concat(f," in the model"));return}if(!l.maxNode){console.warn("Could not find ".concat(h," in the model"));return}}l.valueNode=t.getObjectByName(c),l.valueNode||console.warn("Could not find ".concat(c," in the model"))})})}function zs(n,t){Cp(n.motionController,t),n.envMap&&t.traverse(function(e){e instanceof d.Mesh&&e.isMesh&&(e.material.envMap=n.envMap,e.material.needsUpdate=!0)}),n.add(t)}var Ip=function(){function n(t){t===void 0&&(t=null),this.gltfLoader=t,this.path=Ep,this._assetCache={}}return n.prototype.createControllerModel=function(t){var e=this,r=new Mp,i=null;return t.addEventListener("connected",function(a){var o=a.data;o.targetRayMode!=="tracked-pointer"||!o.gamepad||Ap(o,e.path,xp).then(function(s){var u=s.profile,l=s.assetPath;r.motionController=new wp(o,u,l);var c=e._assetCache[r.motionController.assetUrl];if(c)i=c.scene.clone(),zs(r,i);else{if(!e.gltfLoader)throw new Error("GLTFLoader not set.");e.gltfLoader.load(r.motionController.assetUrl,function(f){e._assetCache[r.motionController.assetUrl]=f,i=f.scene.clone(),zs(r,i)})}}).catch(function(s){console.warn(s)})}),t.addEventListener("disconnected",function(){r.motionController=null,r.remove(i),i=null}),r},n}();function Sp(n,t){if(!t)return n;var e=n.match(/\d+_[a-z].png/);return n.substring(0,e.index)+t+"/"+n.substring(e.index)}var Qs=300,Tp=new d.Matrix4().makeRotationAxis(new d.Vector3(0,1,0),Math.PI),Ds=new d.Vector3(-1,1,1),Pp=function(n){pe(t,n);function t(e){var r=n.call(this,e)||this;r.xrManager=new cp(r.renderer,r.renderer.getContext(),{onSessionStart:function(u){r.emit("xr.session.start",J("xr.session.start",{session:u,machineType:r.xrManager.machineType}))},onSessionEnd:function(){r.emit("xr.session.end",J("xr.session.end",{session:null,machineType:r.xrManager.machineType}))}}),r.xrControllerRay={left:new d.Raycaster,right:new d.Raycaster},r.xrControllerRay.left.params.Points={threshold:.1},r.xrControllerRay.right.params.Points={threshold:.1},r.pointerLines={left:new Na,right:new Na},r.pointerLines.left.visible=!1,r.pointerLines.right.visible=!0,r.pointerLines.left.setMaterial({color:new d.Vector3(1,1,1)}),r.pointerLines.left.points.material.depthTest=!1,r.pointerLines.right.setMaterial({color:new d.Vector3(1,1,1)}),r.pointerLines.right.points.material.depthTest=!1,r.scene.add(r.pointerLines.left,r.pointerLines.right),r.panoResources={},r.panoResources[r.locationMotion.keyframes[0].key=r.locationMotion.keyframes[1].key=wt()]={panoId:Ue(r.currentPano),leftPanoPicture:null,position:r.camera.pose.offset.clone(),effect:"fade",fixCameraTransform:new d.Matrix4},r.parallaxCameraMatrixs=[];var i=ut.shared.getContext();if(!i)return console.error("获取session失败,请退出重试"),r;r.on("xr.session.end",function(){r.scene.remove(r.pointerLines.left,r.pointerLines.right)}),r.xrManager.setSession(i),r.controllerWrappers=[new d.Group,new d.Group],r.scene.add(r.controllerWrappers[0],r.controllerWrappers[1]);var a=r.xrManager.getController(0);r.controllerWrappers[0].add(a);var o=r.xrManager.getController(1);r.controllerWrappers[1].add(o);var s=new Ip;return s.gltfLoader={load:function(u,l){vi.ajax(u,{responseType:"arraybuffer"}).then(function(c){var f;return _a(c.body,{resourcePath:u.slice(0,u.lastIndexOf("/")+1),search:(f=u.split("?")[1])!==null&&f!==void 0?f:"",fetcher:vi})}).then(function(c){return l(c)})}},r.on("xr.session.start",function(){var u=r.xrManager.getControllerGrip(0);u.add(s.createControllerModel(u)),r.controllerWrappers[0].add(u);var l=r.xrManager.getControllerGrip(1);l.add(s.createControllerModel(l)),r.controllerWrappers[1].add(l)}),r.xrControllerState={LeftAxesUp:{touchStartTime:0,touchStart:!1},LeftAxesDown:{touchStartTime:0,touchStart:!1},LeftAxesLeft:{touchStartTime:0,touchStart:!1},LeftAxesRight:{touchStartTime:0,touchStart:!1},LeftTrigger:{touchStartTime:0,touchStart:!1},LeftPinch:{touchStartTime:0,touchStart:!1},RightAxesUp:{touchStartTime:0,touchStart:!1},RightAxesDown:{touchStartTime:0,touchStart:!1},RightAxesLeft:{touchStartTime:0,touchStart:!1},RightAxesRight:{touchStartTime:0,touchStart:!1},RightTrigger:{touchStartTime:0,touchStart:!1},RightPinch:{touchStartTime:0,touchStart:!1},Y:{touchStartTime:0,touchStart:!1},X:{touchStartTime:0,touchStart:!1},A:{touchStartTime:0,touchStart:!1},B:{touchStartTime:0,touchStart:!1}},r}return t.parseArgs=function(e){if(e instanceof t)return e;var r=k(k({},e),{maxLatitude:Math.PI/2,minLatitude:-Math.PI/2});return n.parseArgs.call(this,r)},t.initAnimationEndState=function(e){var r=this.parseArgs(e),i=n.initAnimationEndState.call(this,r);return k(k({},i),{mode:"XRPanorama"})},t.prototype.moveToPano=function(e,r,i){var a=this,o,s,u,l,c=(o=r.effect)!==null&&o!==void 0?o:"fade";this.userAction=i,this.stopMomentumMovement();var f=this.works.getResolvedObserver(e);if(!f)throw new Error("Invalid PanoIndex");var h=zn(f.images.up),m=this.imageOptions.size;typeof m=="undefined"&&f&&h&&(m=Number(h)),typeof m=="undefined"&&(m=2048);var A=this.imageOptions.transform,p=function(P,R){return Sp(Ai(P,A,R))},g=k({key:"pano.".concat(f.panoId)},Er(this.imageOptions,["format","size","quality"])),v=f.images,y=(u=(s=f.images.tiles)===null||s===void 0?void 0:s.filter(function(P){return P.size>m}))!==null&&u!==void 0?u:null,b="pano:"+On([v,g,A]);if(this.pendingTextureTask){if(this.pendingTextureTask.hash===b)return;var w=this.pendingTextureTask.panoId;(l=this.panoMeshes[w])===null||l===void 0||l.setProgress(0),this.emit("pano.texture.abort",J("pano.texture.abort",{error:null,progress:0,meta:null,pano:f.pano})),this.pendingTextureTask.onError(new Error("texture aborted"))}var E=this.models.getMaterial()||{},x=E.pano0,C=E.pano1,M;if((x==null?void 0:x.map.name)===b?M=x:(C==null?void 0:C.map.name)===b&&(M=C),M){var I={panoId:f.panoId,effect:c,leftPanoPicture:{zoom:1,map:M.map,luminanceMap:M.luminanceMap,matrix:new d.Matrix4().compose(f.position,f.quaternion,Ds)},position:f.position.clone(),fixCameraTransform:new d.Matrix4};this.doMoveToPano(f.pano,I,r);return}var T="move-to-pano-"+f.panoId;this.pending.add(T),this.pendingTextureTask={panoId:f.panoId,hash:b,onLoad:function(P){if(a.pending.delete(T),a.destroyed)P.body.dispose();else{P.body.name=b;var R={panoId:f.panoId,effect:c,leftPanoPicture:{zoom:1,map:P.body,luminanceMap:null,matrix:new d.Matrix4().compose(f.position,f.quaternion,Ds)},position:f.position.clone(),fixCameraTransform:new d.Matrix4};a.doMoveToPano(f.pano,R,r)}},onError:function(P){a.pending.delete(T);var R=k(k(k({},f.pano),{mode:a.mode}),_e(a.camera.pose));a.emit("pano.error",J("pano.error",{error:P,userAction:a.userAction,options:r,prevPano:a.currentPano,progress:0,state:R})),a.emit("pano.cancel",J("pano.cancel",{error:null,userAction:a.userAction,options:r,prevPano:a.currentPano,progress:0,state:R})),r.moveCancelCallback&&r.moveCancelCallback()}},Promise.all([this.tileLevelForFov&&y&&y.length?this.textureLoader.loadTiledCubeTexture(v,y,{tileMaxLevel:this.TILED_CUBE_TEXTURE_LEVEL,imageURL:{transform:p,options:g},format:d.RGBAFormat,minFilter:d.LinearFilter,magFilter:d.LinearFilter,generateMipmaps:!1,viaAjax:!0,fetcher:nt(f.work)},void 0,void 0,function(P){var R,L;a.emit("pano.texture.progress",J("pano.texture.progress",{error:null,progress:P,meta:null,pano:f.pano})),((R=a.pendingTextureTask)===null||R===void 0?void 0:R.hash)===b&&((L=a.panoMeshes[f.panoId])===null||L===void 0||L.setProgress(P))},this.renderer):this.textureLoader.loadCubeTexture(v,{imageURL:{transform:p,options:g},format:d.RGBAFormat,fetcher:nt(f.work)},void 0,void 0,function(P){var R,L;((R=a.pendingTextureTask)===null||R===void 0?void 0:R.hash)===b&&((L=a.panoMeshes[f.panoId])===null||L===void 0||L.setProgress(P)),a.emit("pano.texture.progress",J("pano.texture.progress",{error:null,progress:P,meta:null,pano:f.pano}))},this.renderer)]).then(function(P){var R,L,F=P[0];((R=a.pendingTextureTask)===null||R===void 0?void 0:R.hash)===b?(a.pendingTextureTask.onLoad(F),(L=a.panoMeshes[f.panoId])===null||L===void 0||L.setProgress(0),delete a.pendingTextureTask,a.emit("pano.texture.success",J("pano.texture.success",{error:null,progress:1,meta:F.meta,pano:f.pano}))):F.body.dispose()}).catch(function(P){var R,L;((R=a.pendingTextureTask)===null||R===void 0?void 0:R.hash)===b&&(a.pendingTextureTask.onError(P),(L=a.panoMeshes[f.panoId])===null||L===void 0||L.setProgress(0),delete a.pendingTextureTask,a.emit("pano.texture.error",J("pano.texture.error",{error:P,progress:0,meta:null,pano:f.pano})),a.emit("error",P))}),this.emit("pano.texture.load",J("pano.texture.load",{error:null,progress:0,meta:null,pano:f.pano}))},t.prototype.doMoveToPano=function(e,r,i){var a=this,o,s,u,l,c,f,h,m,A,p;i===void 0&&(i={});var g=Ce(),v=wt();this.panoResources[v]=r;var y=1,b,w,E;if(this.locationMotion.ended){var x=this.locationMotion.getKeyFrameSegment(g);x[0];var C=x[1],M=this.locationMotion.value,I=this.panoResourceFromLocationMotionKeyframe(C).position,T=r.position;b=Math.max(I.distanceTo(T),y),w=[{key:C.key,progress:0,value:k(k({},M),{count:0})},{key:v,progress:1,value:{distance:0,count:1}}],E=0}else{var P=this.locationMotion.getKeyFrameSegment(g),R=P[0],C=P[1],M=this.locationMotion.value,L=this.panoResourceFromLocationMotionKeyframe(R).position,I=this.panoResourceFromLocationMotionKeyframe(C).position,T=r.position,F=C.value.count-M.count,O=Math.max(L.distanceTo(I),y)*F,z=Math.max(I.distanceTo(T),y);b=O+z,w=[{key:R.key,progress:0,value:k({},M)},{key:C.key,progress:O/b,value:C.value},{key:v,progress:1,value:{count:C.value.count+1,distance:0}}];var N=this.locationMotionKeyframesLength(this.locationMotion.keyframes),W=this.locationMotionKeyframesLength(w);E=this.locationMotion.getProgressVelocity(g)*N/W}var j=r.effect==="instant"?0:this.calculateMovingDuration(i.duration,r.effect==="fly"?b:0),D={longitude:i.longitude,latitude:i.latitude,fov:i.fov},H=k(k({},e),{mode:this.mode,longitude:(o=D.longitude)!==null&&o!==void 0?o:this.camera.pose.longitude,latitude:(s=D.latitude)!==null&&s!==void 0?s:this.camera.pose.latitude,fov:(u=D.fov)!==null&&u!==void 0?u:this.camera.pose.fov,offset:r.position.clone(),distance:0}),K=this.currentPano;if(this.emit("pano.moveTo",J("pano.moveTo",{options:i,prevPano:K,progress:0,state:H,userAction:this.userAction,error:null})),i.moveStartCallback&&i.moveStartCallback(H),this.videoTexture&&this.videoTexture.image instanceof HTMLVideoElement&&this.videoTexture.image.getAttribute("src")&&(this.videoTexture.image.pause(),this.videoTexture.image.removeAttribute("uuid"),this.videoTexture.image.removeAttribute("src"),this.videoTexture.image.oncanplay=Q,this.videoTexture.needsUpdate=!0),this.panoVideo.setMaterial(null),r.effect==="fly")this.cameraMotion.set(D,j).catch(Q);else{var Z=Vt({longitude:this.cameraMotion.value.longitude,latitude:this.cameraMotion.value.latitude}),G=Vt({longitude:(l=D.longitude)!==null&&l!==void 0?l:this.cameraMotion.value.longitude,latitude:(c=D.latitude)!==null&&c!==void 0?c:this.cameraMotion.value.latitude}),X=new d.Object3D;X.lookAt(Z);var _=new d.Matrix4().makeRotationFromQuaternion(X.quaternion);X.lookAt(G);var de=new d.Matrix4().makeRotationFromQuaternion(X.quaternion),ee=new d.Matrix4().getInverse(_).premultiply(de),oe=this.cameraMotion.value.fov,ie=(f=D.fov)!==null&&f!==void 0?f:this.cameraMotion.value.fov,ue=1;r.effect==="zoomin"?ue=1.5:r.effect==="zoomout"&&(ue=.4);for(var ne=ie*ue,ae=0;ae<w.length-1;ae++){var he=w[ae].key;if(he){var ve=this.panoResources[he];ve&&(ve.fixCameraTransform.copy(ee),ve.leftPanoPicture&&(ve.leftPanoPicture.zoom=Math.tan(oe/2/180*Math.PI)/Math.tan(ne/2/180*Math.PI)))}}this.cameraMotion.setKeyframes([{progress:0,value:{longitude:this.cameraMotion.value.longitude,latitude:this.cameraMotion.value.latitude,fov:this.cameraMotion.value.fov}},{progress:0,value:{longitude:(h=D.longitude)!==null&&h!==void 0?h:this.cameraMotion.value.longitude,latitude:(m=D.latitude)!==null&&m!==void 0?m:this.cameraMotion.value.latitude,fov:ne}},{progress:1,value:{longitude:(A=D.longitude)!==null&&A!==void 0?A:this.cameraMotion.value.longitude,latitude:(p=D.latitude)!==null&&p!==void 0?p:this.cameraMotion.value.latitude,fov:ie}}],j).catch(Q)}var we=this.locationMotion.setKeyframes(w,j,E);we.then(function(){for(var Me,Be,$,te=0,q=a.models;te<q.length;te++){var Le=q[te];Le.show()}var Pe=k(k({},e),{mode:a.mode,longitude:a.camera.pose.longitude,latitude:a.camera.pose.latitude,fov:a.camera.pose.fov,offset:a.camera.pose.offset.clone(),distance:0});a.emit("pano.arrived",J("pano.arrived",{options:i,prevPano:K,progress:1,state:Pe,userAction:a.userAction,error:null})),i.moveEndCallback&&i.moveEndCallback(Pe);var Se=a.works.getResolvedObserver(a.currentPano);if(Se&&Se.video&&a.videoTexture&&a.videoTexture.image instanceof HTMLVideoElement){var De=Tp.clone().multiply(($=(Be=(Me=a.models.getMaterial())===null||Me===void 0?void 0:Me.pano1)===null||Be===void 0?void 0:Be.matrix)!==null&&$!==void 0?$:new d.Matrix4).multiply(Se.video.matrix),ge={map:a.videoTexture,size:Se.video.size,matrix:De,alpha:1},ye=wt(),me=a.videoTexture.image;me.setAttribute("uuid",ye),iu().then(function(be){be&&Se.video&&me.getAttribute("uuid")===ye&&(me.oncanplay=function(){me.oncanplay=Q,me.play()},me.ontimeupdate=function(){me.currentTime>.5&&(me.ontimeupdate=Q,a.panoVideo.setMaterial(ge))},me.src=Se.video.source)}).catch(function(){me.removeAttribute("uuid")})}},function(){a.emit("pano.cancel",J("pano.cancel",{options:i,prevPano:K,progress:0,state:H,userAction:a.userAction,error:null})),i.moveCancelCallback&&i.moveCancelCallback()})},t.prototype.checkSelectedPano=function(e){var r=this,i,a,o,s;this.stopMomentumMovement();var u=this.camera.getDirection(new d.Vector3).setY(0),l=null,c=this.works.getResolvedObserver(this.currentPano);if(!c)return null;var f=c.accessibleIds.filter(function(G){var X=ft(G);if(Xt(X,r.currentPano))return!1;var _=r.works.getResolvedObserver(X);return!_||_.position.distanceTo(r.camera.position)>r.maxAccessibleDistance?!1:_.loadable||_.active}),h=this.models.intersectRaycaster(e)[0];if(h){var m=sr(f,function(G){var X=r.works.getResolvedObserver(G);if(!X)return 1/0;var _=X.standingPosition.clone();return _.distanceTo(h.point)},!0),A=m[0],p=m[1];A&&p<this.panoTapTriggerRadius&&(l=(i=this.works.getResolvedObserver(A))!==null&&i!==void 0?i:null)}if(Ls(l)){var g=this.getForwardObserverOrNot(e);g&&(l=g)}for(var v=0,y=this.locationMotion.keyframes;v<y.length;v++){var b=y[v],w=this.panoResourceFromLocationMotionKeyframe(b);if(!(b.progress<this.locationMotion.progress)&&l&&w.panoId===l.panoId){l=null;break}}if(Ls(l))return this.locationMotion.ended===!0&&this.cameraBounce(),null;if(l&&!l.active){var E=l.panoId;this.panoMeshes[E]&&(this.panoMeshes[E].setDisabled(!1),this.panoMeshes[E].setLoading(!0))}var x={};if(l){for(var C=Math.PI/6,M=Math.PI/12,I=new d.Vector3(0,1,0),T=l.position.clone().setY(0).sub(c.position.clone().setY(0)).normalize(),P=T.clone().applyAxisAngle(I,C),R=T.clone().applyAxisAngle(I,-C),L=[],F=[],O=[],z=0,N=l.accessibleIds;z<N.length;z++){var A=N[z],W=ft(A);if(!(Xt(W,this.currentPano)||Xt(W,l.pano))){var j=this.works.getResolvedObserver(A);if(j){var D=j.position.clone().sub(l.position).setY(0);T.angleTo(D)<C?O.push(D):P.angleTo(D)<C?L.push(D):R.angleTo(D)<C&&F.push(D)}}}var H=O.length>0?O:yt(yt([],L,!0),F,!0),K=H.slice().sort(function(G,X){return G.angleTo(T)-X.angleTo(T)})[0];K&&K.angleTo(u)>M&&(x.longitude=Math.atan2(-K.x,-K.z))}this.cameraMotion.value.latitude<-Math.PI/4&&(x.latitude=ce(0,this.minLatitude,this.maxLatitude)),this.cameraMotion.value.fov<60&&(x.fov=this.defaultFov);var Z={workCode:l.pano.workCode,panoIndex:l.pano.panoIndex,mode:this.mode,longitude:(a=x.longitude)!==null&&a!==void 0?a:this.camera.pose.longitude,latitude:(o=x.latitude)!==null&&o!==void 0?o:this.camera.pose.latitude,fov:(s=x.fov)!==null&&s!==void 0?s:this.camera.pose.fov,distance:0,offset:l?l.position.clone():new d.Vector3};return this.emit("pano.select",J("pano.select",{prevPano:this.currentPano,state:Z,userAction:!0,options:x,progress:0,error:null})),l&&l.active?(this.emit("pano.request",J("pano.request",{userAction:!0,prevPano:this.currentPano,progress:0,state:Z,options:x,error:null})),l.pano):null},t.prototype.destroy=function(){n.prototype.destroy.call(this)},t.prototype.isReady=function(){return!1},t.prototype.updateCamera=function(e,r,i){return Promise.resolve()},t.prototype.updateCameraWithKeyframes=function(e,r,i){return Promise.resolve()},t.prototype.updateTime=function(e,r){for(var i=this,a,o,s,u,l,c,f,h,m=[],A=2;A<arguments.length;A++)m[A-2]=arguments[A];this.userAction=!0;var p={},g={},v=this.panoResourceFromLocationMotionKeyframe(this.locationMotion.keyframes[0]),y=this.panoResourceFromLocationMotionKeyframe(this.locationMotion.keyframes[this.locationMotion.keyframes.length-1]),b=!1;if(this.cameraMotion.ended===!1&&(this.cameraMotion.update(e),g.longitude=this.cameraMotion.value.longitude,g.latitude=this.cameraMotion.value.latitude,g.fov=this.cameraMotion.value.fov),this.modelAlphaMotion.ended===!1&&(this.modelAlphaMotion.update(e),p.modelAlpha=this.modelAlphaMotion.value.modelAlpha),this.perspToOrthoMotion.ended===!1&&(this.perspToOrthoMotion.update(e),this.camera.perspToOrtho.setScalar(ce(this.perspToOrthoMotion.value.perspToOrtho,0,1))),this.locationMotion.ended===!1){this.locationMotion.update(e);var w=this.locationMotion.getKeyFrameSegment(e),E=w[0],x=w[1],C=this.panoResourceFromLocationMotionKeyframe(E),M=this.panoResourceFromLocationMotionKeyframe(x),I=new d.Vector3().copy(C.position),T=new d.Vector3().copy(M.position),P=this.locationMotion.value.count-x.value.count+1;p.progress=P,M.leftPanoPicture&&(P<1?C.leftPanoPicture&&(p.pano0=C.leftPanoPicture):p.pano0=M.leftPanoPicture,p.pano1=M.leftPanoPicture),M.effect==="montage"?p.transition="BLACK":M.effect==="spread"?p.transition="SPREAD":p.transition="FADE",(M.effect==="zoomin"||M.effect==="zoomout")&&(p.progress=Math.pow(P,3)),P<1&&M.effect!=="fly"&&(p.pano0&&C.leftPanoPicture&&(p.pano0={map:p.pano0.map,zoom:p.pano0.zoom,luminanceMap:p.pano0.luminanceMap,matrix:C.leftPanoPicture.matrix.clone().setPosition(M.position)}),I.copy(T),b=!0),g.distance=this.locationMotion.value.distance,g.offset=new d.Vector3(I.x+(T.x-I.x)*P,I.y+(T.y-I.y)*P,I.z+(T.z-I.z)*P);for(var R=[],L=[],F=0,O=this.locationMotion.keyframes;F<O.length;F++){var z=O[F],N=z.key,W=z.progress;N!==void 0&&(R.push(N),W>this.locationMotion.progress&&L.push(N))}for(var j=0,D=Object.keys(this.panoResources);j<D.length;j++){var H=D[j];if(!(L.indexOf(H)>=0)){var K=this.panoResources[H];if(K.leftPanoPicture){var Z=K.leftPanoPicture.map;if(Z){if(Z===((a=p.pano0)===null||a===void 0?void 0:a.map)||Z===((o=p.pano1)===null||o===void 0?void 0:o.map))continue;Z instanceof ze&&Z.cubeRenderTarget&&this.colorCubeRenderTargetPool.push(Z.cubeRenderTarget),Z.dispose(),K.leftPanoPicture=null}}R.indexOf(H)>=0||delete this.panoResources[H]}}this.currentPano=ft(M.panoId),this.emit("pano.moving",J("pano.moving",{userAction:this.userAction,prevPano:ft(v.panoId),state:k(k(k(k({},ft(y.panoId)),{mode:this.mode}),_e(this.camera.pose)),g),options:{},progress:this.locationMotion.progress,error:null}))}Qt(p)===!1&&(!((s=p.pano0)===null||s===void 0)&&s.map&&p.pano0.map instanceof ze&&!p.pano0.map.cubeRenderTarget&&(p.pano0.map.cubeRenderTarget=this.colorCubeRenderTargetPool.pop()),!((u=p.pano1)===null||u===void 0)&&u.map&&p.pano1.map instanceof ze&&!p.pano1.map.cubeRenderTarget&&(p.pano1.map.cubeRenderTarget=this.colorCubeRenderTargetPool.pop()),this.models.setMaterial(p)),Qt(g)===!1&&this.setCamera(g);var G=this.works.getResolvedObserver(this.currentPano),X=m[1];if(!X){console.error("xrFrame丢失,请重试");return}if(!this.xrManager.session){console.error("session丢失,请重试");return}var _=this.xrManager.referenceSpace;if(_){var de=this.xrManager.cameraVR,ee=this.xrManager.cameraL,oe=this.xrManager.cameraR,ie=[ee,oe],ue=X.getViewerPose(_),ne=new d.Vector3(0,0,0);if(ue){var ae;ae=this.xrManager.session.renderState.baseLayer;var he=ue.views;if(!ae){console.error("no layer found");return}this.renderer.setFramebuffer(ae.framebuffer);var ve=!1;he.length!==de.cameras.length&&(de.cameras.length=0,ve=!0),this.parallaxCameraMatrixs=[];var we=new d.Vector3,Me=new d.Vector3;new d.Matrix4().fromArray(he[0].transform.matrix).decompose(we,new d.Quaternion,new d.Vector3),new d.Matrix4().fromArray(he[1].transform.matrix).decompose(Me,new d.Quaternion,new d.Vector3),Me.clone().sub(we).normalize();var Be=new d.Vector3,$=new d.Quaternion,te=new d.Vector3;this.camera.matrix.decompose(Be,$,te);for(var q=0;q<he.length;q++){var Le=he[q],Pe=ae.getViewport(Le),Se=ie[q];Se.matrix.fromArray(Le.transform.matrix);var De=new d.Vector3,ge=new d.Quaternion,ye=new d.Vector3;Se.matrix.decompose(De,ge,ye),ne.copy(Be),Se.position.copy(Be),Se.quaternion.copy(ge),Se.scale.copy(ye),Se.updateMatrix(),Se.projectionMatrix.fromArray(Le.projectionMatrix),Se.viewport.set(Pe.x,Pe.y,Pe.width,Pe.height),ve===!0&&de.cameras.push(Se)}ue.views[0].transform.position,ue.views[1].transform.position;for(var me=this.xrManager.session.inputSources,q=0;q<this.xrManager.controllers.length;q++){var be=this.xrManager.controllers[q],Ae=me[q];if(Ae){be.update(Ae,X,_);var Ne=this.xrManager.getController(q),Qe=new d.Vector3(0,1.2,0),Ke=Ne.position.clone().add(ne).sub(Qe);Ae.handedness==="left"?this.xrControllerRay.left.set(Ke,new d.Vector3(0,0,-1).applyEuler(Ne.rotation)):Ae.handedness==="right"&&this.xrControllerRay.right.set(Ke,new d.Vector3(0,0,-1).applyEuler(Ne.rotation)),this.controllerWrappers[q].position.copy(new d.Vector3(0,0,0).add(ne).sub(Qe));var at=this.models.intersectRaycaster(this.xrControllerRay.right);if(at.length===0&&(at=this.xrControllerRay.right.intersectObject(this.boundingMesh,!0).map(function(ot){var vt;return k({floor:(vt=G==null?void 0:G.floorIndex)!==null&&vt!==void 0?vt:0},ot)})),at.length>=1&&at[0].face)if(Ae.handedness==="right"){var Oe=this.xrControllerRay.right.intersectObject(this.xrCustomObjectsScene,!0),St=at[0].face.normal,Tt=St.clone(),Dt=at[0].point.clone();this.intersectMesh.position.copy(Dt);var $r=Dt.clone().add(Tt);if(this.intersectMesh.lookAt($r),Math.abs(St.y)>.99){var lr=this.camera.position.clone().sub(Dt);this.intersectMesh.rotation.z=-Math.atan2(lr.z,lr.x)}this.intersectMesh.visible=!0,this.needsRender=!0,Oe.length>0?(this.pointerLines.right.setPoints(Ke,Oe[0].point),this.pointerLines.right.points.visible=!0,this.intersectMesh.visible=!1):(this.pointerLines.right.points.visible=!1,this.pointerLines.right.setPoints(Ke,at[0].point));var ht=at[0],Zt=J("intersect.update",{raycaster:(l=this.xrControllerRay.right)!==null&&l!==void 0?l:null,intersection:ht!=null?ht:null,object:this.intersectMesh});if(this.emit("intersect.update",Zt),Zt.defaultPrevented){this.hideIntersectMesh();return}}else this.pointerLines.left.setPoints(Ke,at[0].point)}}if(this.camera.pose.distance>.1||b)for(var xr=0,Ut=Object.keys(this.panoMeshes);xr<Ut.length;xr++){var pt=Ut[xr],ke=this.panoMeshes[pt];ke.setOpacity(0),ke.setCurrent(!1),ke.updateTime&&ke.updateTime(e,r),ke.visible=!1}else if(G){var cr=sr(G.visibleIds,function(rt){var ot=i.works.getResolvedObserver(rt);return ot?G.standingPosition.distanceTo(ot.standingPosition):1/0},!0),qt=cr[1];qt=ce(qt,2.5,1/0);for(var dr=G.visibleIds.concat(Ue(this.currentPano)),Et=this.getForwardObserverOrNot(),fr=this.camera.getDirection(new d.Vector3),Yt=0,Pt=Object.keys(this.panoMeshes);Yt<Pt.length;Yt++){var pt=Pt[Yt],ke=this.panoMeshes[pt],xt=this.works.getResolvedObserver(pt);if(dr.indexOf(pt)===-1)ke.setCurrent(!1),ke.setOpacity(0);else if(!xt)ke.setCurrent(!1),ke.setOpacity(0);else if(!xt.loadable&&!xt.active)ke.setCurrent(!1),ke.setOpacity(0);else{var hr=ke.position.clone().setY(this.camera.position.y).distanceTo(this.camera.position);ke.setCurrent(!ke.loading&&ke.progress===0&&Et!==null&&Et.panoId===pt),ke.setOpacity(hr<.01?0:ce(qt/hr*1.2,.65,.98));var Ur=this.camera.position.clone().setY(ke.position.y),Mr=new d.Vector3().copy(ke.position).sub(Ur).normalize();if(pt===Ue(this.currentPano)){var qr=ce((.5-Ur.distanceTo(ke.position))/.5,0,1);Mr.multiplyScalar(1-qr).add(fr.clone().multiplyScalar(qr))}Mr.length()>0&&ke.quaternion.setFromEuler(new d.Euler(0,Math.atan2(Mr.x,Mr.z),0))}ke.updateTime&&ke.updateTime(e,r)}}var Cr=function(){if(i.tileLevelForFov===!1)return 0;var rt=new d.Vector2(4e3,4e3),ot=y.panoId,vt=i.works.getResolvedObserver(ot),At=i.imageOptions.size;if(typeof At=="undefined"&&vt){var Jn=vt.images.up.match(/\/cube_(\d+)\//);Jn&&(At=Number(Jn[1]))}typeof At=="undefined"&&(At=2048);var Hr=0;At>=1024&&(Hr=1),At>=2048&&(Hr=2),At>=4096&&(Hr=3),At>=8192&&(Hr=4);var Gr=i.tileLevelForFov(ee.fov,rt);return Gr>Hr?Gr:0}(),$t=function(){var rt=new d.PerspectiveCamera;rt.applyMatrix4(de.matrix),rt.position.set(0,0,0);var ot=i.works.getResolvedObserver(y.panoId),vt=ot!=null?ot:G;vt&&rt.quaternion.premultiply(vt.quaternion.clone().inverse()),rt.updateProjectionMatrix(),rt.updateMatrixWorld(!0);var At=new d.Frustum().setFromProjectionMatrix(new d.Matrix4().multiplyMatrices(rt.projectionMatrix,rt.matrixWorldInverse));return At}();y.panoId===Ue(this.currentPano)&&((c=y.leftPanoPicture)===null||c===void 0?void 0:c.map)instanceof ze&&(y.leftPanoPicture.map.update($t,Cr),y.leftPanoPicture.map.needsRender===!0&&(this.needsRender=!0));{var tt=this.tiling.object.visible;if(Cr>this.TILED_CUBE_TEXTURE_LEVEL&&this.initAnimationed){var qe=y.panoId,je=this.works.getResolvedObserver(qe);je?Kn(this.camera.position,je.position)&&this.locationMotion.ended?(this.tiling.object.visible=!0,this.tiling.panoId!==qe&&this.tiling.cleanup(),this.tiling.panoId=qe,this.tiling.setResource((h=(f=je.images)===null||f===void 0?void 0:f.tiles)!==null&&h!==void 0?h:[],this.enableIOSEDR&&je.images.luminance?je.images.luminance:null),this.tiling.setFetcher(nt(je.work)),this.tiling.setRotation(je.quaternion),this.tiling.setPosition(je.position),this.tiling.update($t,Cr,e)):this.tiling.object.visible=!1:this.tiling.object.visible=!1}else this.tiling.object.visible=!1;tt!==this.tiling.object.visible&&(this.tiling.object.needsRender=!0)}this.panoVideo.object.position.copy(this.camera.position),this.panoVideo.updateTime(e),!(!me||me.length<1)&&this.updateControllerHelper(me,e,r)}}},t.prototype.render=function(){var e=this.xrManager.getCamera(this.camera);this.renderer.render(this.scene,e)},t.prototype.onPanGesture=function(){},t.prototype.onTapGesture=function(){},t.prototype.onPinchGesture=function(){},t.prototype.onMouseMove=function(){},t.prototype.onMouseOut=function(){},t.prototype.panoResourceFromLocationMotionKeyframe=function(e){return this.panoResources[e.key]},t.prototype.updateControllerHelper=function(e,r,i){var a=this.xrControllerRay.left,o=this.xrControllerRay.right;if(!(!e||e.length===0)){for(var s={buttons:{X:!1,Y:!1,LeftTrigger:!1,LeftPinch:!1,A:!1,B:!1,RightTrigger:!1,RightPinch:!1}},u=0;u<e.length;u++){var l=e[u].handedness,c=e[u].gamepad;switch(l){case"left":c.axes&&(this.emitEvent(c.axes[2]===-1,"LeftAxesLeft",r),this.emitEvent(c.axes[2]===1,"LeftAxesRight",r),this.emitEvent(c.axes[3]===-1,"LeftAxesUp",r),this.emitEvent(c.axes[3]===1,"LeftAxesDown",r)),c!=null&&c.buttons&&(c.buttons[4]&&this.emitEvent(c.buttons[4].pressed,"X",r),c.buttons[5]&&this.emitEvent(c.buttons[5].pressed,"Y",r),c.buttons[0]&&this.emitEvent(c.buttons[0].pressed,"LeftTrigger",r),c.buttons[1]&&this.emitEvent(c.buttons[1].pressed,"LeftPinch",r));var f={raycaster:a,axes:{up:c.axes&&c.axes[3]<0?Math.abs(c.axes[3]):0,down:c.axes&&c.axes[3]<0?0:Math.abs(c.axes[3]),left:c.axes&&c.axes[2]<0?Math.abs(c.axes[2]):0,right:c.axes&&c.axes[2]<0?0:Math.abs(c.axes[2])},deltaTime:i};s.buttons.X=c.buttons&&c.buttons[4]?c.buttons[4].pressed:!1,s.buttons.Y=c.buttons&&c.buttons[5]?c==null?void 0:c.buttons[5].pressed:!1,s.buttons.LeftTrigger=c.buttons&&c.buttons[0]?c==null?void 0:c.buttons[0].pressed:!1,s.buttons.LeftPinch=c.buttons&&c.buttons[1]?c==null?void 0:c.buttons[1].pressed:!1,s.left=f;break;case"right":c.axes&&(this.emitEvent(c.axes[2]===-1,"RightAxesLeft",r),this.emitEvent(c.axes[2]===1,"RightAxesRight",r),this.emitEvent(c.axes[3]===-1,"RightAxesUp",r),this.emitEvent(c.axes[3]===1,"RightAxesDown",r)),c.buttons&&(c.buttons[4]&&this.emitEvent(c.buttons[4].pressed,"A",r),c.buttons[5]&&this.emitEvent(c.buttons[5].pressed,"B",r),c.buttons[0]&&this.emitEvent(c.buttons[0].pressed,"RightTrigger",r),c.buttons[1]&&this.emitEvent(c.buttons[1].pressed,"RightPinch",r));var h={raycaster:o,axes:{up:c.axes&&c.axes[3]<0?Math.abs(c.axes[3]):0,down:c.axes&&c.axes[3]<0?0:Math.abs(c.axes[3]),left:c.axes&&c.axes[2]<0?Math.abs(c.axes[2]):0,right:c.axes&&c.axes[2]<0?0:Math.abs(c.axes[2])},deltaTime:i};s.right=h,s.buttons.A=c.buttons&&c.buttons[4]?c==null?void 0:c.buttons[4].pressed:!1,s.buttons.B=c.buttons&&c.buttons[5]?c==null?void 0:c.buttons[5].pressed:!1,s.buttons.RightTrigger=c.buttons&&c.buttons[0]?c==null?void 0:c.buttons[0].pressed:!1,s.buttons.RightPinch=c.buttons&&c.buttons[1]?c==null?void 0:c.buttons[1].pressed:!1;break}}this.emit("xr.controller.update",J("xr.controller.update",s))}},t.prototype.emitEvent=function(e,r,i){var a=this.xrControllerRay.left,o=this.xrControllerRay.right;if(e)if(this.xrControllerState[r].touchStart===!1)this.xrControllerState[r].touchStartTime=i,this.xrControllerState[r].touchStart=!0,this.emit("xr.gesture.buttonDown",J("xr.gesture.buttonDown",{session:this.xrManager.session,machineType:this.xrManager.machineType,buttons:r,isFinal:!1,isFirst:!0,controllers:{raycaster:{leftRay:a,rightRay:o}}}));else{var s=i-this.xrControllerState[r].touchStartTime;s>Qs&&this.emit("xr.gesture.press",J("xr.gesture.tap",{session:this.xrManager.session,machineType:this.xrManager.machineType,buttons:r,isFinal:!0,isFirst:!0,controllers:{raycaster:{leftRay:a,rightRay:o}}}))}else if(this.xrControllerState[r].touchStart===!0){this.emit("xr.gesture.buttonUp",J("xr.gesture.buttonUp",{session:this.xrManager.session,machineType:this.xrManager.machineType,buttons:r,isFinal:!0,isFirst:!1,controllers:{raycaster:{leftRay:a,rightRay:o}}}));var s=i-this.xrControllerState[r].touchStartTime;if(s<=Qs){var u=J("xr.gesture.tap",{session:this.xrManager.session,machineType:this.xrManager.machineType,buttons:r,isFinal:!0,isFirst:!1,controllers:{raycaster:{leftRay:a,rightRay:o}}}),l=this.emit("xr.gesture.tap",u);!l&&!u.defaultPrevented&&r==="RightTrigger"&&this.checkSelectedPano(this.xrControllerRay.right)}this.xrControllerState[r].touchStart=!1,this.xrControllerState[r].touchStartTime=0}},t}(so),Ft={Floorplan:Va,Topview:Wf,Panorama:so,VRPanorama:Wh,Model:_h,Mapview:sp,XRPanorama:Pp},gu=["gesture.pan","gesture.tap","gesture.press","gesture.pinch","gesture.mousewheel","gesture.mousemove","gesture.momentum","initAnimation.start","initAnimation.end","camera.update","intersect.update","pano.select","pano.moveTo","pano.moving","pano.arrived","pano.cancel","pano.error","pano.texture.load","pano.texture.progress","pano.texture.success","pano.texture.error","pano.texture.abort","xr.session.start","xr.session.end","xr.gesture.tap","xr.gesture.press","xr.gesture.buttonUp","xr.gesture.buttonDown","xr.controller.update"];function Bp(n){n.on("initAnimation.start",function(t){n.emit("initAnimationWillStart",t.state.panoIndex,t.state,t.userAction)}),n.on("initAnimation.end",function(t){n.emit("initAnimationEnded",t.state.panoIndex,t.state,t.userAction)}),n.on("gesture.pan",function(t){var e=!1;e=n.emit("wantsGesture","pan",t.pointers,t.isFinal),e&&t.preventDefault(),e=n.emit("wantsPanGesture",t.state,t.isFinal),e&&t.preventDefault(),t.defaultPrevented||(n.emit("gesture","pan",t.pointers,t.isFinal),n.emit("panGesture",t.state,t.isFinal))}),n.on("gesture.tap",function(t){var e=!1;e=n.emit("wantsGesture","tap",t.pointers,t.isFinal),e&&t.preventDefault(),e=n.emit("wantsTapGesture",t.center.raycaster,t.center.coords,t.isFinal),e&&t.preventDefault(),t.defaultPrevented||(n.emit("gesture","tap",t.pointers,t.isFinal),n.emit("tapGesture",t.center.raycaster,t.center.coords,t.isFinal))}),n.on("gesture.press",function(t){var e=!1;e=n.emit("wantsGesture","press",t.pointers,t.isFinal),e&&t.preventDefault(),e=n.emit("wantsPressGesture",t.center.raycaster,t.center.coords,t.center.delta,t.isFinal),e&&t.preventDefault(),t.defaultPrevented||(n.emit("gesture","press",t.pointers,t.isFinal),n.emit("pressGesture",t.center.raycaster,t.center.coords,t.center.delta,t.isFinal))}),n.on("gesture.pinch",function(t){var e=!1;e=n.emit("wantsGesture","pinch",t.pointers,t.isFinal),e&&t.preventDefault(),e=n.emit("wantsPinchGesture",t.scale,t.state.fov,t.isFinal),e&&t.preventDefault(),t.defaultPrevented||(n.emit("gesture","pinch",t.pointers,t.isFinal),n.emit("pinchGesture",t.scale,t.state.fov,t.isFinal))}),n.on("gesture.mousewheel",function(t){var e=!1;e=n.emit("wantsGesture","mouseWheel",t.pointers,t.isFinal),e&&t.preventDefault(),e=n.emit("wantsMouseWheel",t.center.delta,t.state.fov,t.isFinal),e&&t.preventDefault(),t.defaultPrevented||(n.emit("gesture","mouseWheel",t.pointers,t.isFinal),n.emit("mouseWheel",t.center.delta,t.state.fov,t.isFinal))}),n.on("gesture.mousemove",function(t){var e=!1;e=n.emit("wantsGesture","mouseMove",t.pointers,t.isFinal),e&&t.preventDefault(),t.defaultPrevented||(n.emit("gesture","mouseMove",t.pointers,t.isFinal),e=n.emit("wantsChangeCameraFov",t.state.fov),e&&t.preventDefault())}),n.on("gesture.momentum",function(t){var e=!1;e=n.emit("wantsInteriaPan",t.state),e&&t.preventDefault(),t.defaultPrevented||n.emit("interiaPan",t.state,t.isFinal)}),n.on("camera.update",function(t){n.emit("cameraFovUpdate",t.state.fov,t.userAction),n.emit("cameraDirectionUpdate",t.state,t.userAction);var e=Vt(t.state);e.setLength(t.state.distance);var r=t.state.offset.clone().sub(e);n.emit("cameraPositionUpdate",r,t.userAction),n.emit("cameraUpdate",t.state,t.userAction)}),n.on("intersect.update",function(t){if(t.intersection){var e=!1;e=n.emit("wantsShowIntersectionOnModel",t.raycaster),e&&t.preventDefault(),t.defaultPrevented||n.emit("intersectionOnModelUpdate",t.intersection,t.object)}else n.emit("intersectionHidden")}),n.on("pano.request",function(t){var e=n.emit("wantsMoveToPano",t.state.panoIndex,t.options,t.userAction);e||(e=n.emit("wantsToMoveToPano",t.state.panoIndex,t.options,t.userAction)),e&&t.preventDefault(),t.defaultPrevented||n.emit("panoWillLoad",t.state.panoIndex)}),n.on("pano.select",function(t){n.emit("panoSelected",t.state.panoIndex)}),n.on("pano.moveTo",function(t){n.emit("panoLoaded",t.state.panoIndex),n.emit("moveToPano",t.state.panoIndex,t.userAction),n.emit("panoWillArrive",t.state.panoIndex,t.state,t.userAction)}),n.on("pano.moving",function(t){n.emit("movingToPano",t.state.panoIndex,t.prevPano.panoIndex,t.progress)}),n.on("pano.arrived",function(t){n.emit("panoArrived",t.state.panoIndex,t.state,t.userAction)}),n.on("pano.cancel",function(t){n.emit("moveToPanoCanceled",t.state.panoIndex)}),n.on("pano.error",function(t){n.emit("panoLoadError",t.error,t.state.panoIndex)}),n.on("pano.texture.load",function(t){n.emit("textureStartLoad",t.pano.panoIndex)}),n.on("pano.texture.success",function(t){n.emit("textureLoaded",t.pano.panoIndex,t.meta)}),n.on("pano.texture.error",function(t){n.emit("textureError",t.error,t.pano.panoIndex)}),n.on("pano.texture.abort",function(t){n.emit("textureAbort",t.pano.panoIndex)}),n.on("pano.texture.progress",function(t){n.emit("textureLoading",t.progress,t.pano.panoIndex)}),n.on("xr.session.start",function(t){n.emit("webXRSessionStart")}),n.on("xr.session.end",function(t){n.emit("webXRSessionEnd")}),n.on("xr.gesture.tap",function(t){n.emit("webXRControllerEvent","tap",t.buttons,{raycaster:t.controllers.raycaster})}),n.on("xr.gesture.press",function(t){n.emit("webXRControllerEvent","press",t.buttons,{raycaster:t.controllers.raycaster})}),n.on("xr.gesture.buttonUp",function(t){n.emit("webXRControllerEvent","buttonUp",t.buttons,{raycaster:t.controllers.raycaster})}),n.on("xr.gesture.buttonDown",function(t){n.emit("webXRControllerEvent","buttonDown",t.buttons,{raycaster:t.controllers.raycaster})}),n.on("xr.controller.update",function(t){n.emit("webXRControllerRayUpdate",{leftRay:t.left?t.left.raycaster:void 0,rightRay:t.right?t.right.raycaster:void 0}),t.left&&n.emit("webXRAxesUpdate","left",{raycaster:{leftRay:t.left?t.left.raycaster:void 0,rightRay:t.right?t.right.raycaster:void 0},axesState:{up:t.left.axes.up,down:t.left.axes.down,left:t.left.axes.left,right:t.left.axes.right},deltaTime:t.left.deltaTime}),t.right&&n.emit("webXRAxesUpdate","right",{raycaster:{leftRay:t.left?t.left.raycaster:void 0,rightRay:t.right?t.right.raycaster:void 0},axesState:{up:t.right.axes.up,down:t.right.axes.down,left:t.right.axes.left,right:t.right.axes.right},deltaTime:t.right.deltaTime})}),n.on("works.request",function(t){n.emit("willLoad",t.input,t.works[0],t.state)}),n.on("works.load",function(t){n.emit("load",t.input,t.works[0],t.state)}),n.on("works.ready",function(t){n.emit("loaded",t.input,t.works[0])}),n.on("state.change",function(t){n.emit("stateChange",t.state,t.userAction)}),n.on("currentState.change",function(t){n.emit("currentStateChange",t.state,t.userAction)}),n.on("state.set",function(t){n.emit("setState",t.state)}),n.on("state.synced",function(t){n.emit("stateSynced",t.state)}),n.on("model.request",function(t){n.emit("modelWillLoad",t.work.model)}),n.on("model.error",function(t){n.emit("modelLoadError",t.error,t.model)}),n.on("model.load",function(t){n.emit("modelLoaded",t.model)}),n.on("model.changeShownFloor",function(t){n.emit("modelShownFloorChange",t.model.shownFloor,t.model.floorLength)}),n.on("render",function(t){n.emit("renderFrame",t.needsRender)}),n.on("mode.change.request",function(t){n.emit("wantsChangeMode",t.mode,t.prevMode)}),n.on("mode.change",function(t){n.emit("modeChange",t.mode,t.prevMode,t.state.panoIndex,t.state,t.userAction)}),n.on("helpers.visible",function(t){n.emit("helpersVisibleChange",t.object.visible)}),n.on("network.resource",function(t){n.emit("network",t.source,t.requestType,t.requestState,t.detail)})}function Rp(){if(typeof window!="undefined"){var n=document.createElement("video");n.loop=!0,n.autoplay=!0,n.playsInline=!0,n.muted=!0,n.crossOrigin="";var t=function(){document.removeEventListener("touchstart",t,!1),document.removeEventListener("mousedown",t,!1),n.muted=!1};return document.addEventListener("touchstart",t,!1),document.addEventListener("mousedown",t,!1),n}else return{}}function Fp(n){{var t=new d.DirectionalLight(16777215,.3);t.position.copy(new d.Vector3(1,1,1)),n.add(t)}{var t=new d.DirectionalLight(16777215,.1);t.position.copy(new d.Vector3(-1,-1,-1)),n.add(t)}{var t=new d.DirectionalLight(16777215,.1);n.add(t)}{var t=new d.AmbientLight(16777215,.6);n.add(t)}}function kp(n){for(var t,e,r={},i=n.split(/(\;|\,)/),a=0,o=i;a<o.length;a++){var s=o[a],u=s.split("="),l=(t=u[0])===null||t===void 0?void 0:t.trim(),c=(e=u[1])===null||e===void 0?void 0:e.trim();l&&c&&(r[l]=c)}return r}function yu(){var n;if(typeof document!="undefined")for(var t=document.getElementsByTagName("meta"),e=0;e<t.length;e++){var r=t[e];if(r.getAttribute("name")==="viewport"){var i=kp((n=r.getAttribute("content"))!==null&&n!==void 0?n:""),a=Number(i["initial-scale"]);if(!isNaN(a))return a}}return 1}const Lp="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAV8AAAA/CAQAAADtPwPkAAAR+0lEQVR4AezYg3LEQACH8d1cbdu23Q5qG9G47z/TN/h6tn2b/H+TUTLc7yjcOXV46OUAnUs6EbUp022ZBXc1NhoZYYd7fjDRvdcHAwrlK2QBVJ4sgoqONmY45RUT23sZ6H42F2hK5CtkMbjhZlDmUUcvq1zyieUVyjbE4I1GBfItwxG56YaUZTQwyh4P6NgJ4YYYvCuQb5kOyI03pORjiqe4Lwpq5pt1vJqfUwKWJVbSMYfppYconG+maNNQOWBZuwHTzicGel75NtFOkxr5apmV8cikcko0DrDQs863AeGl0cE0+1xy573m0/wf0cEKW6H7BWtggiMG8sy3oHRDpJMw4NWb6am/bv9znkqEzjd61t5oo5clTrjhwevO75EJRBKSRt745Z16ZEjcM73sccZplBPm8PyTcxZAkSRdHm/acJ0Z3JZhHB0BxqDHgWFZFmm0ZbCw87twI/zc3e/Cz93vPneXtU/WdQS3oTviXdY/q5PsJKfoGuQjZuO/0in1qsj85cuXrxqeAOJpGqdJOqrUutgVl2Qb0BWqp/RE8AWWVB7t2KrIzY2Wx2fWKl7yfswgxqj8lYummYa3hfwF9MuQRmbfQE4ocPDjtUWQ6Tq1M2w7gC2EcrMGtWS6xlpGKEDDcb1vUQ25zT4lrC2s0dU4gFPppKkbeIYr7NMpqjStuFg5rNU9epGyt8PXyfX4DE1bKLhR/1XPxwJhp5DAV67T9ZPwFdovhBMIGUYoRBN4wim6S3eoXVEHXdLgmwY0x6BQnO4xPJ0Ar5OVxhQF0L9UslRM4yaQQfQImnBegi8vhY2A1k6YLlrj61TwDdNQnIISwiPvpD7TwYQTssZXK47vg8y9Gp2nxRcATkozOEmdCeObSt3IIo+xf/00IDRKAaZ89PBTkHqpkA5LagKeNZKlIhqX8RcQ95GHtdYA62Y6rOg5LLsOSnoyvk4V38hFhytef+V9/3DER1P48W89o1GxE9o5vns2Mk+F7yiftafEN4nhmUv9DKEeyqI0U+l0CQg+B//sZ5+6lOuqKaTgm0LH41RHw/CsLZRk4huiYxrvP2SNr1OSS+Dr1ulBMR+K9SqHa58Oec49VgL3mXHvDr7QfuM7LMNrH1/IS30Moe64SLYBuFVJ+MbnJY7L+GrVQkFcl4ISx/fEll4ZWnz18DpcSzUCX602LqD9svDLzmdaLkP28P1+VsJjsx/4hmh6x/gmm/i6pbrGneCL9iCOg0dQUvF1UwEdVvG19r2uTXxXLz0J37eLjfZoF++tTtPnU/cWp5e8n3An0m/G+U7qjiy4PpHyV16HKx5flCxAV/H9A88nUnZ7l7KN78SBxPcQgzLAepxEScU3l7pZ6fL2+Dot8fXECfj+QRoGYAwlAfBSPrXQXQri0Pd85NJKcVw8XUdt1LZapk7YRhO1RdpmFJwW8ozekYvx2/fjM5Hr5MfQ95HvcY2a/9hoNK4yEntL+dEuGseTdNmxIPqd5v2YRjeaX8pQ8IW2ohuP7+dTN87RMK4aitx8XPsH0r2oBqNRqrv7+gmjjY7uIr6TBxBfL2MlxNRKSVp8S5CTuGgHXxfkFvh69Pq3LD4pkkd2bdRvHaSNC3/l2sQXAccdlIS+lc57qhPJwxPybT7XSxnUrdqnXuHlJHS+mjZfJfUZR9s2FuQR+EQKdSi9Am8UTnsEvlYS+L6TFwW6kl74Vjr6AFHsX89rgg8njRltK0XPOL7NyDL0IurV4VtMwafB1709vu9X4OjWHoP3z1Ii7eaQdG00Lx5n8HXyDSva/dU0Pq2vZnKYxHYMYRo1WY5ov1G7Vh4r3y+kMdgbilxeOrV0aqOFenFl8GGJig7rG0bbPRqiSRpP2AL0w+yon9dHbi43zFetnKcuw9ZLeSa+7kTw/TDfuFu0Z7Vp/uhyHfPkAZ5ufP9wLIfD49E3clR818rR089Lzyy+VRREPneICnYLX9cT8PVKQs36TbQ3i6NcCwYkxEAQ3phN4CjAvC4mFr5vrlKe7AizBKj8cu33s7i9GbeY7BHYujTjjd3Bx54SSyT4m8mxOoYOAGX/DtwvnGE1M+5v5Bgt1hbkJRW9Cxv9X81GL2i5jqaoJ4avBcCsLYp+Ru+VC5sWPpFhXt8/EPvJL2F/alJDEeIjUhcrP5P45rDeATPj+wKl7gBf1fcq+HpVnfHO1vEf//UCHgt/OxfDE3onj5UkfTaThrg3NCGoBUCtZjvgMnwQB0bG5XENeraJ5XEWvtiHkqSVRqN+uQ4lEx2o+69SeY1dC++Wcsj+LCW+H0ZE4KtDWHkGwCtrxstbFqr51e9wbz42E2fpjRQsqEn50PnM4eumO9IbujCi393Hd+3q72TI+p9DPyyfraF+c3rOx0KJyB2z7Fa1yCO8HoHzlDFhPiWD8XoB3aPppRrUQdRp1D8qE9exdgr+Zbpqf8BLfmZ/bMYbh87k58VCSswCjQoLPPw4Jnp4uFi/YQlfKB5eBd/gr6aqB973zbDAF+v5PN+NZEvm+84bSkhxUPE9C9wqbeJ7Hi+gA9Jr5ZM7x9el4mulyK0Bb2xiMTj3/iBtK77Tnii27H/MlCfsjcJY+2oTg2/U4TYWQERE0r+aCouBcx5zEZzEYrqui8JXsQW/X8FLHJ3IVbWXhQV3zAJCjFQst1F25y1arlXwhRR4Bb4rZ3VPy5d+bHEtHIPF27K16ItYuKXM5kHD10M9DKFeSpbqLlOYAlRiC99yCiDmbUf0206jPPO7b/iud71avBkHf+kQP0OrWHBFrhmt75ZyPzbLg5KmWK9oH4Oq1eFZOm0c6n48mdfer46HcLUZU3pGB8R9IDBbJ+N7v1q0J2xhudZ45tcL8PN16vq9WizwtRLwFQtKER+NDypj4QQOdJNY3NC7GEsaGtiSmDsA+CZhyx+hXFHjYrgGGXpZNvDNpn5gWWuiWkUtyEB0UcrO8Y2L9KI9K+cXLmxqruGd6pcKfycj/ij3URVgu6bPUaycN1qXTHD+KoOmjGORnH57q8rh+e9sTHk5r1+7zpEXk36bp7iiXRrBW61e5k/D0fn+EXF/OxYEypFW3ZH1HzPt4Pv5PN2Rd7VJLDZeboGnbpSPwPDcBw5f6AIysadFOR9Hr7vksoFvE91jdbdYvzpYqyIvdQPU87uKL45u3u213CA8qkYPT6H1YgwIfkz7RI5xJdomfjoV4PXjfjgaRkNGhHwG1mNt1oq0y/j+SaZ5pV0LnrlG89Dl1YkmEsc3nKKzMKskJD+fx6NhlFiohdTe5EsZIig5WPgWUYCC9Dx5TG/sA5x15LCBbzXDtx/+uh74VmMZjLDamh8JvhzQtSsoeVTNNXB/Euv96LRR/qjO+By5xTxxJ683/FB00Pj0fZz9F2GPa70Ld2hbbVptWmjWabbGCl/ZAiTsbJa5hQ9OK/eWFE4xva9nG3z1zwCtnFXjYr6c3ykxPn9QiYWEWPhA4uuiDnzBpt4EMcg0QOm28M0gP76hJuELbIdZi4PqaILpJI+RYz4ZV42y+q49wBcxIbyXTmtXgevRWPl3MmjSSJU5vB3J0TA2Uu8mtP+R5/Au4iiF6NrUUiuCieOiJpnJq8gSXzwFLFiLP8X6bV0bYvzt8TXj75eLtKPRauY1RM1HR7GwEHpFbonIWAPwjxpfqJSCyBVUsk/DFOChhC18kyiPHFvwdVGh6XFbmfLx+RRi4jaqYiCnUDO1wc4u4ovo7pfS+XFD32e9GzndwxJiHcbQ/Vz6JrBMDGYyYK5l7YOsfkS2MVePfGkLsNXLGl9hIVbWXAv9fQ5i/j6UFL1RaQffB9qlwn3tS4WxMhaxETCMz6T9ZTqCk5FznoOKL9SEXMMIUwAZW6dNfCEVX61azdxwmIbg4aHdwtcj5KVBeNiqrb2+g5M8hTskSB6exHZ5bMEIF/wCoOT128zvdXziMLbvuDu/Usmh0oG7doMmafKNSmt8hQWUnmzhjJf/RskXCzQL8aYNfLG/QPGLY5KjKtcuNPGsyGytmj0/kPi6qdXwwJCPvOTYI3zTaICCNEh9FGSWM54OX4+A1UI80RV98czWKceJf65ervsleJm164/7ganACHHn+IPz8Nby1ptcnRztRWbipArvp4/gRchodbIFvsBSWPBaW+CHtzWfauFfcmnKRuyr+Fiu1WbzGKtCPWWMHjIgU1/Mgn2B74GKfbkajHwtVIHy3uBbh0Ocj9oplCC+kIJvYuKvI9bbkUUQ2+JaG7AeknwvhLd0YUxx+SZIf4XkGeqHUCNt9N8sQdvYlwtl9H4hMzqI5dHosMIX2taCl2s6LRowaubPyld/IgcvHBJPnKGnHDLh0ArfqzlYtkv5D8++4RsAvPbwTaJzgDcIDzxIRXuEbx4NIsYupjt7gi/6idL3j1AIqPY+OPH5PGO67x/jUS9NvF6hTte7x2kaCvtSZJiMlxjxMSqEtqXr3GPMn/9y4cXUypS/ymPxbIAvmurtYl9o7dqmBV9KdbLOgsik4B3d6xW/lO7w/kfe+yfx7bFuGkwY3/C6sURDj8584rCxJH5QtnYFVrFQVL35HNoQgO0jvt228XVRC4WQPLtANyiEzb1gD/BNoy5kHa5QEnUmiq/uG2fubeXh+kwuNj8IRxAoOqiLIqfTaNw84SfLWsDmqo08k30prHVKbHuYDo7ez6U7EsLX0oJX1ltV2AOg2KfoMPPA/sTx/ZPMqF9YiN11AsHLFrHgaAT3GBvw7hO+U9TH4bX10rgVx7YgMr0p7Pow4tL8XcY3l1kJMfVQmsA3fa/wFQh3JK9eivtV+tCaD4cUjdZvIRI9BfDUDd6PkkbfKhVbOJf/jUpuQcXXlgVNv68ejr4gTflk5AZ71+jR4AvEdPg6PDNpaz6a2AQm2otoWKvVS+LVTyL4OnaE7wSNUjfdpnZb+KbQdcA7Jr5ek0od8MD9dNjiN43t4etk1v0ITfyw6gS+Q4l5XwGwbXli+u/sj6pWGu9XfyYXx75d18+lf6t0tnau/pXKv8+xzorIkltn0l4r2dYCXlO8XDRbu9xw/9g/Zko2FXSFtKPxOxn3q+caluteK5lJsboXwVP/S27cPVz28X3i3/Ll/v8eDVMPDmzwvDbwddMt+NoROhq3yXcC4D7KpmTyA+XnqEzSFQrawDeLrsNemHrEL2+24r7NlENZUMa2vyxkH2DIs628e669ubdsR4VXC7C9u79eIVJtOwgdgO/dOICHGK6jQHaIwdXN4Lwt0LWHr4d6kX8tV+ozqAs+uYCSmO2w+jd4zGNeUYL4nqZxeN5WKVgooSAClmEaYhqhdit89QC7niSbCEM2sdkBuHYxQg9ri5ZjkuhI6DMP+J7cTvEtokEx0aPscyddoFJKpSZqV7G1GTxcpmEthpnw5058c6GfwqpwzGOtGjXSJI3FLYhc+O+jSr9aGhPWQlRshS8AticLX7wnsgbXxt6gsWCpRBa0vRGQM8oB9dhmP3QAwFX4c079dJNq6Qi5xbuyTmpPSJ1Ur4UtF7GoTtmUL3zxaWqMU8P/k3cXSQ1EQRjHGdzdHTa4u7tzBs7CedhykNwF2/5jq56iU11db6Lv2yTj8hs3JoiU9sZZp5/62J5v1z9NjrDHaSbnbFMf52sHrDUVaidDxNG0o9+uLjfosfdb3jT5d5j757riJgst9NIZQ2Pn+ySZll80vjI6Wz/hQJG4vPG0L/H6poQch/dW3vL3B0u8jl0HvVj5PvHCElEF8DUAFikVYTcvmfBdDzQlvvMXSV5lP5zrXj/fJ54zuWaeeuoqkW8AwCIaqeTZKkmYrpPwR2eqN9X72W7EG57vU67OBeuMV8KXLUzv93UTTj42tvaFS++GVsc5JRyLSLJ8nzO555hFBmiSRCqMr4GwrcmGkib5xSvcwmzFK6e8s7DMa2xH4YZdZumSOwsVzFeBWdr37tpIhOpSwXqONNgZq/2KgvBt54znHN1HzlljTO4oVD5fb+prNIJXQNL1ofDKQisbPLJDv3jNSLq9OkYBEIihKIj3v7S1TRQCX5Kdl1ZQlol7LF+E++fwirfiq2sf4cTXxc6hzxffPuLEeqSWrPGWMF58TWr5viyJAP5/4EV4KePiaSE8eNRgjDy8/tyRW+FZjhS+2tlovNJovtJovNJ0uhK6Wo64SDdxEbM//KesjwAAAABJRU5ErkJggg==";var Us=[351,63],qs=[20,20],Op=new Float32Array([-.5,-.5,0,.5,-.5,0,-.5,.5,0,.5,.5,0]),Vp=new Float32Array([0,0,1,0,0,1,1,1]),Np=new Uint8Array([0,1,2,1,3,2]),Li=new d.BufferGeometry;Li.setAttribute("position",new d.BufferAttribute(Op,3));Li.setAttribute("uv",new d.BufferAttribute(Vp,2));Li.setIndex(new d.BufferAttribute(Np,1));var hi=new d.MeshBasicMaterial({transparent:!0,depthTest:!1,depthWrite:!1,stencilWrite:!1,fog:!1}),bu=new d.Mesh(Li,hi);bu.matrixAutoUpdate=!1;var ho=new d.Scene;ho.add(bu);ho.matrixAutoUpdate=!1;var jn=new d.OrthographicCamera(-.5,.5,.5,-.5,.1,1);jn.position.set(0,0,.5);jn.lookAt(0,0,0);jn.updateMatrixWorld(!0);jn.matrixAutoUpdate=!1;var zp=new d.Vector4,Qp=new d.Vector4;function Hs(n){if(hi.map){var r=n.getViewport(zp),i=n.getScissor(Qp),a=n.getScissorTest(),o=n.autoClear,s=i.x+qs[0]/3,u=i.y+qs[1]/3,l=Us[0]/3,c=Us[1]/3;n.setViewport(s,u,l,c),n.setScissor(s,u,l,c),n.setScissorTest(!0),n.autoClear=!1,n.render(ho,jn),n.setViewport(r),n.setScissor(i),n.setScissorTest(a),n.autoClear=o}else{var t=new d.Texture,e=new Image;e.onload=function(){t.image=e,t.wrapS=d.ClampToEdgeWrapping,t.wrapT=d.ClampToEdgeWrapping,t.minFilter=d.LinearFilter,t.needsUpdate=!0,t.generateMipmaps=!1,hi.needsUpdate=!0,e.onload=Q},e.src=Lp,hi.map=t}}var Dp=800,Gs=90,Up=function(n){return n.replace("//vrlab-public.ljcdn.com/","//vr-public.realsee-cdn.cn/").replace("//vrlab-image4.ljcdn.com/","//vr-image-4.realsee-cdn.cn/").replace("//vrlab-image3.ljcdn.com/","//vr-image-3.realsee-cdn.cn/").replace("//vrlab-image2.ljcdn.com/","//vr-image-2.realsee-cdn.cn/").replace("//vrlab-image1.ljcdn.com/","//vr-image-1.realsee-cdn.cn/")},En=new d.Vector2,ii=new d.Frustum,ai=new d.Matrix4,Ks=new WeakMap,Aa=new WeakMap,js=Ra([]),wu=function(n){pe(t,n);function t(e){e===void 0&&(e={});var r,i,a,o,s,u,l,c,f,h=n.call(this)||this;if(h.ident=wt(),typeof window!="undefined"&&(za.instances[h.ident]=h),h.renderSwitch01=0,h.currentMode="Panorama",h.pano={workCode:"",panoIndex:0},h.needsRender=!1,h.onlyRenderIfNeeds=(r=e.onlyRenderIfNeeds)!==null&&r!==void 0?r:!0,h.imageOptions=k({},(i=e.imageOptions)!==null&&i!==void 0?i:{}),h.textureOptions=k({},(a=e.textureOptions)!==null&&a!==void 0?a:{}),h.poweredByRealsee=(o=e.poweredByRealsee)!==null&&o!==void 0?o:!0,h.extraElements=[],h.controllerInits={Panorama:Object.assign({},e.panorama),Model:Object.assign({},e.model),Floorplan:Object.assign({},e.floorplan),Topview:Object.assign({},e.topview),Mapview:Object.assign({},e.mapview),VRPanorama:Object.assign({},e.vrPanorama),XRPanorama:Object.assign({},e.xrPanorama)},h.fps={testCount:0,testTime:Ce()},h.info=null,h.modeChangeDuration=(s=e.modeChangeDuration)!==null&&s!==void 0?s:Dp,h.enableWheel=(u=e.enableWheel)!==null&&u!==void 0?u:!0,typeof window!="undefined")if("renderer"in e)e.renderer instanceof Jr&&h.throwError(new Error("cannot render a internal renderer")),h.renderer=e.renderer;else try{h.renderer=new Jr({preserveDrawingBuffer:e.preserveDrawingBuffer,backgroundColor:e.backgroundColor,backgroundAlpha:e.backgroundAlpha,antialias:e.antialias,webgl2:e==null?void 0:e.webgl2});var m=yu();h.renderer.setPixelRatio(m===1?window.devicePixelRatio:1),h.renderer.setSize(512,512)}catch(C){C instanceof Error&&h.throwError(C)}h.getPixelsRenderTarget=new d.WebGLRenderTarget(1,1,{encoding:(c=(l=h.renderer)===null||l===void 0?void 0:l.outputEncoding)!==null&&c!==void 0?c:d.sRGBEncoding}),h.scissor=Object.assign({left:0,bottom:0,width:1,height:1},e.scissor),h.camera=new Pi(Gs),h.scene=new f0,h.xrCustomObjectsScene=new d.Scene,h.scene.add(h.xrCustomObjectsScene),h.scene.matrixAutoUpdate=!1,h.lastLoadWorkTask=Promise.resolve(),h.requestProxy=(f=e.requestProxy)!==null&&f!==void 0?f:Up,h.networkSubscribe=new e0,h.networkSubscribe.on("network",function(C,M,I,T){var P;h.emit("network.resource",J("network.resource",{source:C,requestType:M,requestState:I,detail:T})),(P=h.analysis)===null||P===void 0||P.network(h.works,C,M,I,T)}),h.boundingMesh=Uf(new d.Box3(new d.Vector3(-.5,-.5,-.5),new d.Vector3(.5,.5,.5))),h.boundingMesh.name="bounding",h.scene.add(h.boundingMesh),h.models=ms(),h.models.push(new ka),h.lastModels=ms(),h.lastWorks=Ra([]),h.readyCallbacks=[],h.syncingState=!1,h.modelGroup=new d.Group,h.modelGroup.visible=!1,h.modelGroup.name="model",h.modelGroup.matrixAutoUpdate=!1,h.modelGroup.renderOrder=-4,h.scene.add(h.modelGroup),h.helperGroup=new d.Group,h.helperGroup.name="helper",h.helperGroup.matrixAutoUpdate=!1,h.scene.add(h.helperGroup),h.videoTexture=new d.VideoTexture(e.videoInstance||Rp()),Fp(h.scene),h.copyEffect=new Fi(h.renderer,h.scene,h.camera,h.models),h.state={mode:h.currentMode,workCode:h.pano.workCode,panoIndex:h.pano.panoIndex,longitude:h.camera.pose.longitude,latitude:h.camera.pose.latitude,fov:h.camera.pose.fov,offset:h.camera.pose.offset.clone(),distance:h.camera.pose.distance},h.stateSynced=!1,h._enableIOSEDR=!1,h.destroyed=!1,h.paused=!0,typeof window!="undefined"&&(e.play!==!1&&h.play(),h.stopAnimationLoop=ut.shared.add(function(C,M){for(var I=[],T=2;T<arguments.length;T++)I[T-2]=arguments[T];h.updateTime.apply(h,yt([C,M],I,!1))},!1,0,10));var A=function(){typeof document!="undefined"&&document.fullscreenElement===null&&h.currentMode==="VRPanorama"&&h.controller.emit("vr.requestExit",J("vr.requestExit",{}))},p=function(){h.needsRender=!0};if(typeof document!="undefined"&&document.addEventListener("fullscreenchange",A,!1),h.renderer&&h.renderer.domElement.addEventListener("webglcontextrestored",p,!1),h.removeEventListeners=function(){typeof document!="undefined"&&document.removeEventListener("fullscreenchange",A,!1),h.renderer&&h.renderer.domElement.removeEventListener("webglcontextrestored",p,!1)},h.plugins={},e.plugins&&e.plugins.length)for(var g=0,v=e.plugins;g<v.length;g++){var y=v[g];if(typeof y=="function")y(h);else if(Array.isArray(y)){var b=y[0],w=y[1],E=y[2];if(typeof b=="function"){var x=b(h,E);typeof w=="string"&&(h.plugins[w]?h.throwError(new Error("plugin name ".concat(w," is exists."))):h.plugins[w]=x)}}}return h.gpuPickingRenderTarget=new d.WebGLRenderTarget(1,1),h.meshReplaceMaterialMap=new Map,h.meshOriginMaterialMap=new Map,Bp(h),h}return Object.defineProperty(t,"version",{get:function(){return"6.0.0-alpha.108"},enumerable:!1,configurable:!0}),Object.defineProperty(t,"dracoPath",{get:function(){return wi.decoderPath},set:function(e){wi.setDecoderPath(e)},enumerable:!1,configurable:!0}),Object.defineProperty(t,"ktx2Path",{get:function(){return Ln.transcoderPath},set:function(e){Ln.setTranscoderPath(e)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"panoIndex",{get:function(){return this.pano.panoIndex},enumerable:!1,configurable:!0}),t.prototype.getGPUPicking=function(e,r,i,a,o){var s=this;if(a===void 0&&(a=1),o===void 0&&(o=new d.Vector3(0,0,0)),!this.renderer)throw new Error("renderer is not initialized.");this.models.setMaterial({constantColor:o}),this.scene.traverse(function(f){if(!(!(f instanceof d.Mesh)||f instanceof It)){var h=Object.keys(i).filter(function(A){return A===f.uuid})[0];if(h)if(s.meshOriginMaterialMap.set(h,f.material),s.meshReplaceMaterialMap.get(h))f.material=s.meshReplaceMaterialMap.get(h);else{var m=new d.ShaderMaterial({uniforms:{color:{value:i[h]}},vertexShader:`
2014
2014
  void main() {
2015
2015
  vec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );
2016
2016
  gl_Position = projectionMatrix * mvPosition;