@realsee/five 6.7.0-alpha.0 → 6.7.0-alpha.1
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/docs/classes/five.Fetcher.html +2 -2
- package/five/index.js +4 -4
- package/five/index.mjs +16 -18
- package/gltf-loader/index.js +2 -2
- package/gltf-loader/index.mjs +2 -2
- package/line/index.js +2 -2
- package/line/index.mjs +2 -2
- package/package.json +1 -1
- package/plugins/index.js +1 -1
- package/plugins/index.mjs +1 -1
- package/react/index.js +1 -1
- package/react/index.mjs +1 -1
- package/shader-lib/index.js +1 -1
- package/shader-lib/index.mjs +1 -1
- package/sticker/index.js +2 -2
- package/sticker/index.mjs +2 -2
- package/umd/five-gltf-loader.js +2 -2
- package/umd/five-line.js +2 -2
- package/umd/five-plugins.js +1 -1
- package/umd/five-react.js +1 -1
- package/umd/five-shader-lib.js +1 -1
- package/umd/five-sticker.js +2 -2
- package/umd/five-vfx.js +1 -1
- package/umd/five-vue.js +1 -1
- package/umd/five.js +4 -4
- package/vfx/index.js +1 -1
- package/vfx/index.mjs +1 -1
- package/vue/index.js +1 -1
- package/vue/index.mjs +1 -1
- package/work-downloader/index.js +1 -1
- package/work-downloader/index.mjs +1 -1
package/umd/five.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* @license
|
|
3
3
|
* @realsee/five
|
|
4
4
|
* Generated: 9/25/2025
|
|
5
|
-
* Version: 6.7.0-alpha.
|
|
5
|
+
* Version: 6.7.0-alpha.1
|
|
6
6
|
* Terms:
|
|
7
7
|
* Realsee SDK License Agreement
|
|
8
8
|
* Update: July 28, 2021
|
|
@@ -402,7 +402,7 @@
|
|
|
402
402
|
`)),c.fragmentShader=c.fragmentShader.replace(/MAIN_END/g,b.map(function(L){return L.fragment.mainEnd}).filter(function(L){return!!L}).join(`
|
|
403
403
|
`)),c.fragmentShader=c.fragmentShader.replace(/MAIN_MODEL_COLOR/g,b.map(function(L){return L.fragment.mainModelColor}).filter(function(L){return!!L}).join(`
|
|
404
404
|
`));var M=String(r.clippers.length);c.vertexShader=c.vertexShader.replace(/NUM_CLIPPERS/g,M),c.fragmentShader=c.fragmentShader.replace(/NUM_CLIPPERS/g,M);for(var B=0,C=b;B<C.length;B++){var P=C[B];P.onBeforeCompile&&P.onBeforeCompile(c,p)}};var u="";r.onBeforeRender=function(c,p,f,d,h,m){var A=r.shaderType;f instanceof Camera?(s.pixelRatio.value=f.pixelRatio,s.resolution.value.copy(f.resolution)):(s.pixelRatio.value=c.getPixelRatio(),c.getViewport(scratchViewport$1),s.resolution.value.set(scratchViewport$1.width,scratchViewport$1.height));var g=r.customShaders.filter(function(v){return v.type.includes(A)}),y=g.map(function(v){return"".concat(v.id,":").concat(v.version)}).join("|");u!==y&&(u=y,r.needsUpdate=!0)},Object.defineProperty(r,"uniform",{configurable:!1,enumerable:!1,get:function(){return s}}),defineProperty(r,"isPBMPointCloudMaterial",{get:function(){return!0}}),defineProperty(r,"isShaderMaterial",{get:function(){return!0}}),defineProperty(r,"opacity",{get:function(){return s.opacity.value},set:function(c){s.opacity.value=c}}),defineProperty(r,"vertexMarks",{get:function(){return!!o.USE_VERTEX_MARK},set:function(c){o.USE_VERTEX_MARK!==c&&(o.USE_VERTEX_MARK=c,this.needsUpdate=!0)}}),defineProperty(r,"pointScale",{get:function(){return s.pointScale.value},set:function(c){s.pointScale.value=c}}),defineProperty(r,"pointMinPixel",{get:function(){return s.pointMinPixel.value},set:function(c){s.pointMinPixel.value=c}}),defineProperty(r,"pointMaxPixel",{get:function(){return s.pointMinPixel.value},set:function(c){s.pointMaxPixel.value=c}}),defineProperty(r,"pointSize",{get:function(){return this.defines.USE_POINT_SIZE_ATTENUATION===!0?"ATTENUATION":"FIXED"},set:function(c){var p=c==="ATTENUATION";this.defines.USE_POINT_SIZE_ATTENUATION!==p&&(this.defines.USE_POINT_SIZE_ATTENUATION=p,this.needsUpdate=!0)}}),defineProperty(r,"pointShape",{get:function(){return this.defines.USE_POINT_SHAPE_CIRCLE===!0?"CIRCLE":"SQUARE"},set:function(c){var p=c==="CIRCLE";this.defines.USE_POINT_SHAPE_CIRCLE!==p&&(this.defines.USE_POINT_SHAPE_CIRCLE=p,this.needsUpdate=!0)}}),defineProperty(r,"pointBack",{get:function(){return this.defines.USE_POINT_BACK_HIDDEN===!0?"HIDDEN":this.defines.USE_POINT_BACK_DARK===!0?"DARK":"VISIBLE"},set:function(c){var p=c==="HIDDEN",f=c==="DARK";this.defines.USE_POINT_BACK_HIDDEN!==p&&(this.defines.USE_POINT_BACK_HIDDEN=p,this.needsUpdate=!0),this.defines.USE_POINT_BACK_DARK!==f&&(this.defines.USE_POINT_BACK_DARK=f,this.needsUpdate=!0)}}),defineProperty(r,"modelAlpha",{get:function(){return s.modelAlpha.value},set:function(c){s.modelAlpha.value=c}}),defineProperty(r,"logDepthAlpha",{get:function(){return s.logDepthAlpha.value},set:function(c){s.logDepthAlpha.value=c}}),defineProperty(r,"colorStyle",{get:function(){return o.USE_COLOR_CONSTANT?"CONSTANT":o.USE_COLOR_ALTITUDE?"ALTITUDE":"RGB"},set:function(c){var p=c==="CONSTANT",f=c==="ALTITUDE";o.USE_COLOR_CONSTANT!==p&&(o.USE_COLOR_CONSTANT=p,this.needsUpdate=!0),o.USE_COLOR_ALTITUDE!==f&&(o.USE_COLOR_ALTITUDE=f,this.needsUpdate=!0)}}),defineProperty(r,"constantColor",{get:function(){return s.constantColor.value},set:function(c){s.constantColor.value=c}}),defineProperty(r,"floorIndex",{get:function(){return s.floorIndex.value},set:function(c){s.floorIndex.value=c}}),defineProperty(r,"shownFloorIndex",{get:function(){return s.shownFloorIndex.value},set:function(c){s.shownFloorIndex.value=c}}),defineProperty(r,"floorStyle",{get:function(){return o.USE_FLOOR_STYLE_VISIBILITY?"VISIBILITY":"OPACITY"},set:function(c){var p=c==="VISIBILITY";o.USE_FLOOR_STYLE_VISIBILITY!==p&&(o.USE_FLOOR_STYLE_VISIBILITY=p,this.needsUpdate=!0)}}),defineProperty(r,"gradientTexture",{get:function(){return s.gradientTexture.value},set:function(c){s.gradientTexture.value=c}}),defineProperty(r,"brightness",{get:function(){return s.brightness.value},set:function(c){s.brightness.value=c}});var l=[];return defineProperty(r,"clippers",{get:function(){return l},set:function(c){l!==c&&(l=c,s.clippers.value=l.map(function(p){var f=typeof p.floorIndex=="number"?p.floorIndex:-1,d=new THREE__namespace.Matrix4().getInverse(p.clippingBoxMatrix);return{matrixInverse:d,floorIndex:f}}),this.needsUpdate=!0)}}),defineProperty(r,"colorSaturation",{get:function(){return s.colorSaturation.value},set:function(c){s.colorSaturation.value=c;var p=s.colorSaturation.value!==0||s.colorBrightness.value!==0||s.outlineGain.value!==0||s.distanceGain.value!==0;o.USE_COLOR_ADJUSTMENT!==p&&(o.USE_COLOR_ADJUSTMENT=p,this.needsUpdate=!0)}}),defineProperty(r,"colorBrightness",{get:function(){return s.colorBrightness.value},set:function(c){s.colorBrightness.value=c;var p=s.colorSaturation.value!==0||s.colorBrightness.value!==0||s.outlineGain.value!==0||s.distanceGain.value!==0;o.USE_COLOR_ADJUSTMENT!==p&&(o.USE_COLOR_ADJUSTMENT=p,this.needsUpdate=!0)}}),defineProperty(r,"outlineGain",{get:function(){return s.outlineGain.value},set:function(c){s.outlineGain.value=c;var p=s.colorSaturation.value!==0||s.colorBrightness.value!==0||s.outlineGain.value!==0||s.distanceGain.value!==0;o.USE_COLOR_ADJUSTMENT!==p&&(o.USE_COLOR_ADJUSTMENT=p,this.needsUpdate=!0)}}),defineProperty(r,"distanceGain",{get:function(){return s.distanceGain.value},set:function(c){s.distanceGain.value=c;var p=s.colorSaturation.value!==0||s.colorBrightness.value!==0||s.outlineGain.value!==0||s.distanceGain.value!==0;o.USE_COLOR_ADJUSTMENT!==p&&(o.USE_COLOR_ADJUSTMENT=p,this.needsUpdate=!0)}}),defineProperty(r,"useHQWeight",{get:function(){return o.USE_HQ_WEIGHT},set:function(c){c!==o.USE_HQ_WEIGHT&&(o.USE_HQ_WEIGHT=c,this.needsUpdate=!0)}}),defineProperty(r,"useHQDepth",{get:function(){return o.USE_HQ_DEPTH},set:function(c){c!==o.USE_HQ_DEPTH&&(o.USE_HQ_DEPTH=c,this.needsUpdate=!0)}}),defineProperty(r,"modelBoundingMin",{get:function(){return s.modelBoundingMin.value},set:function(c){s.modelBoundingMin.value=c}}),defineProperty(r,"modelBoundingMax",{get:function(){return s.modelBoundingMax.value},set:function(c){s.modelBoundingMax.value=c}}),typeof e=="object"&&r.setValues(e),toFastProperties(r),r}return t.prototype.copy=function(e){return n.prototype.copy.call(this,e),this.pointScale=e.pointScale,this.pointMinPixel=e.pointMinPixel,this.pointMaxPixel=e.pointMaxPixel,this.customShaders=e.customShaders,this.modelAlpha=e.modelAlpha,this.logDepthAlpha=e.logDepthAlpha,this.colorStyle=e.colorStyle,this.constantColor.copy(e.constantColor),this.floorIndex=e.floorIndex,this.shownFloorIndex=e.shownFloorIndex,this.floorStyle=e.floorStyle,this.gradientTexture=e.gradientTexture,this.brightness=e.brightness,this.clippers=e.clippers,this.colorSaturation=e.colorSaturation,this.colorBrightness=e.colorBrightness,this.outlineGain=e.outlineGain,this.distanceGain=e.distanceGain,this.useEDL=e.useEDL,this.useHQWeight=e.useHQWeight,this.useHQDepth=e.useHQDepth,this.modelBoundingMin.copy(e.modelBoundingMin),this.modelBoundingMax.copy(e.modelBoundingMax),this},t.prototype.clone=function(){var e=this.constructor;return new e().copy(this)},t.prototype.refreshUniforms=function(){},t})(PBMMaterial),PBMPointCloud=(function(n){__extends(t,n);function t(e,r){var o=n.call(this,e,r)||this;return o.onBeforeRender=function(s,u,l,c,p,f){p instanceof PBMPointCloudMaterial&&p.onBeforeRender&&p.onBeforeRender(s,u,l,c,o,f)},o}return t})(THREE__namespace.Points);const gradientDataURL="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAgAAAAABCAYAAACouxZ2AAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAACAKADAAQAAAABAAAAAQAAAAB7UD0+AAACA0lEQVRIDXWUW3YjIQxEwdnV/GT/q8kO3FO3pAJst3PSAaR6Cbszf//9XeMxxpjXmI+pVXudp2s6PC4dqHff9e6D7/PZLy46xQvG+sZvrfK8xgXUeq85yINe9bdmtOK1+kun5vjgq58a+eZPna9jvmjiserqG/+Whathvo3L3WhV89L9sXI/m18z2uene9ap/ftsuT9WZxoHXzW56/fpj8l7+tTw7P011NdpqnY19sRsfuHMA9u8oZWfDz4+fra/dfG1V60ydZ7qba1g7UNAeK0JP7ydD7/OqH6wO2f7HTq+B/lbL9qsB3/N1/UzR81XfPzw4tp5OPvRneacteq8Xo0xR3vuv/kPz0KtX0Nhg0eHuaNXdWI3X/ld427h++vzyp99V6VPrzWFhbv4ayay4oFecm198MmUXN/mL+x7npq/uJXBGb/MTw4+t+SvbLoTZnUW5uHhz7nWcTxT73OwXV7cxT9wbBf/0LnDBgcnHmtPLYba32Hp808sMy1u88yhr58n70/v4xX92GSN19l/2UsqGmiH94Hpxjcs+DO/ccpIVNVp62PUWXu//ur1GQy1Cf+GZ13rtNYN1po3/NI79fGXibHkq4z25xvV2pW3szpneXsW8SsreTe/NIPrtXMnH7wPf+LEN6tqhUVHj3XKD/72p9eafCeYB3zuonnbv7yqP8d/o4K6gRb1wbYAAAAASUVORK5CYII=";function getValueKeys(n){return Object.keys(n)}function valueEqual(n,t){return n==t}function arrayValueEqual(n,t){if(Array.isArray(n)&&Array.isArray(t)){if(n.length!==t.length)return!1;for(var e=0;e<n.length;e++)if(n[e]!==t[e])return!1;return!0}return n===t}function vector3Equal(n,t){return n instanceof THREE__namespace.Vector3&&t instanceof THREE__namespace.Vector3?n.equals(t):n===t}function box3Equal(n,t){return n instanceof THREE__namespace.Box3&&t instanceof THREE__namespace.Box3?n.equals(t):n===t}var parameterValueEqualFn={customShaders:arrayValueEqual,castShadow:valueEqual,receiveShadow:valueEqual,vertexMarks:valueEqual,pano0:valueEqual,pano1:valueEqual,pano0Depth:valueEqual,pano1Depth:valueEqual,refinedScreen:valueEqual,modelAlpha:valueEqual,logDepthAlpha:valueEqual,progress:valueEqual,transition:valueEqual,opacity:valueEqual,floorStyle:valueEqual,colorStyle:valueEqual,constantColor:vector3Equal,shownFloorIndex:valueEqual,clippers:arrayValueEqual,brightness:valueEqual,useHQWeight:valueEqual,useHQDepth:valueEqual,pointShape:valueEqual,pointSize:valueEqual,pointBack:valueEqual,pointScale:valueEqual,pointMinPixel:valueEqual,pointMaxPixel:valueEqual,pointAppearAnimation:valueEqual,colorSaturation:valueEqual,colorBrightness:valueEqual,useAddBlend:valueEqual,outlineGain:valueEqual,distanceGain:valueEqual,gradientTexture:valueEqual,boundingBox:box3Equal,minLevelOfDetail:valueEqual,maxLevelOfDetail:valueEqual,minGeometricError:valueEqual,maxGeometricError:valueEqual,panoramaMinGeometricError:valueEqual,skipLevelOfDetail:valueEqual,mostDetail:valueEqual,loadSiblings:valueEqual,cameraCulling:valueEqual,maxMemoryUsage:valueEqual,maxRequests:valueEqual,requestOrder:valueEqual,maxScreenSpaceError:valueEqual,memoryAdjustedOverflow:valueEqual,memoryAdjustedScreenSpaceError:valueEqual,cacheCameras:arrayValueEqual},defaultGradientTexture=(function(){var n;return typeof document!="undefined"?n=new THREE__namespace.TextureLoader().load(gradientDataURL):n=new THREE__namespace.Texture,n.minFilter=THREE__namespace.NearestFilter,n.magFilter=THREE__namespace.NearestFilter,n.wrapS=THREE__namespace.RepeatWrapping,n.wrapT=THREE__namespace.RepeatWrapping,n})(),defineConstantColor=Object.freeze(new THREE__namespace.Vector3(.6,.6,.6)),defineClippers=Object.freeze([]),defineBoundingBox=Object.freeze(new THREE__namespace.Box3),defineCustomShaders=Object.freeze([]),defineCacheCameras=Object.freeze([]);function createUndefindValue(){return{customShaders:void 0,castShadow:void 0,receiveShadow:void 0,vertexMarks:void 0,pano0:void 0,pano1:void 0,pano0Depth:void 0,pano1Depth:void 0,refinedScreen:void 0,floorStyle:void 0,colorStyle:void 0,constantColor:void 0,shownFloorIndex:void 0,modelAlpha:void 0,logDepthAlpha:void 0,opacity:void 0,progress:void 0,transition:void 0,clippers:void 0,brightness:void 0,useHQWeight:void 0,useHQDepth:void 0,pointSize:void 0,pointBack:void 0,pointShape:void 0,pointScale:void 0,pointMaxPixel:void 0,pointMinPixel:void 0,pointAppearAnimation:void 0,gradientTexture:void 0,colorSaturation:void 0,colorBrightness:void 0,outlineGain:void 0,distanceGain:void 0,useAddBlend:void 0,boundingBox:void 0,minLevelOfDetail:void 0,maxLevelOfDetail:void 0,minGeometricError:void 0,maxGeometricError:void 0,panoramaMinGeometricError:void 0,skipLevelOfDetail:void 0,mostDetail:void 0,loadSiblings:void 0,cameraCulling:void 0,maxMemoryUsage:void 0,maxRequests:void 0,requestOrder:void 0,maxScreenSpaceError:void 0,memoryAdjustedOverflow:void 0,memoryAdjustedScreenSpaceError:void 0,cacheCameras:void 0}}function createDefaultValue(){return{customShaders:defineCustomShaders,castShadow:!1,receiveShadow:!1,vertexMarks:!0,pano0:null,pano1:null,pano0Depth:null,pano1Depth:null,refinedScreen:null,floorStyle:"OPACITY",colorStyle:"RGB",constantColor:defineConstantColor,shownFloorIndex:-1,modelAlpha:1,logDepthAlpha:0,opacity:1,progress:0,transition:"FADE",clippers:defineClippers,brightness:1,useHQWeight:!1,useHQDepth:!1,pointSize:"ATTENUATION",pointBack:"DARK",pointShape:"CIRCLE",pointScale:.02,pointMaxPixel:40,pointMinPixel:0,pointAppearAnimation:!0,gradientTexture:defaultGradientTexture,colorSaturation:0,colorBrightness:0,outlineGain:0,distanceGain:0,useAddBlend:!1,boundingBox:defineBoundingBox,minLevelOfDetail:0,maxLevelOfDetail:20,minGeometricError:0,maxGeometricError:1e4,panoramaMinGeometricError:.03,skipLevelOfDetail:!1,mostDetail:!1,loadSiblings:!1,cameraCulling:!0,maxMemoryUsage:256,maxRequests:6,requestOrder:"SCREEN_SPACE_ERROR",maxScreenSpaceError:4,memoryAdjustedOverflow:4,memoryAdjustedScreenSpaceError:!1,cacheCameras:defineCacheCameras}}var parameterKeys=getValueKeys(createUndefindValue());function assignValue(n,t,e){var r=parameterValueEqualFn[t];if(!r)return!1;Array.isArray(e)&&(e=e.slice());var o=n[t];return r(o,e)?!1:(n[t]=e,!0)}function copyValue(n,t,e){return assignValue(n,e,t[e])}var Parameter=(function(){function n(t){this.id=createUuid(),this.versionNumber=0,this.value=createUndefindValue(),t&&this.copy(t);for(var e=function(l){Object.defineProperty(r,l,{get:function(){return this.value[l]}})},r=this,o=0,s=parameterKeys;o<s.length;o++){var u=s[o];e(u)}toFastProperties(this)}return n.createDefault=function(){return createDefaultValue()},n.resolveValue=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];for(var r=Object.assign(this.createDefault(),{versions:[],version:""}),o=0,s=t;o<s.length;o++){var u=s[o],l=u instanceof n?u.version:createUuid();r.versions.push(l);for(var c=0,p=parameterKeys;c<p.length;c++){var f=p[c];u[f]!==void 0&©Value(r,u,f)}}return r.version=r.versions.toString(),r},Object.defineProperty(n.prototype,"version",{get:function(){return"".concat(this.id,":").concat(this.versionNumber)},enumerable:!1,configurable:!0}),n.prototype.resolveValue=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return n.resolveValue.apply(n,__spreadArray(__spreadArray([],t,!1),[this],!1))},n.prototype.set=function(t,e){var r=!1;if(typeof t=="string"){if(e!==void 0){var o=assignValue(this.value,t,e);o&&(r=!0)}}else for(var s=t,u=0,l=parameterKeys;u<l.length;u++){var c=l[u];if(s[c]!==void 0){var o=copyValue(this.value,s,c);o&&(r=!0)}}return r&&this.versionNumber++,this},n.prototype.reset=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];for(var r=!1,o=0,s=t;o<s.length;o++){var u=s[o],l=assignValue(this.value,u,void 0);l&&(r=!0)}return r&&this.versionNumber++,this},n.prototype.resetAll=function(){return this.reset.apply(this,parameterKeys)},n.prototype.copy=function(t){for(var e=!0,r=0,o=parameterKeys;r<o.length;r++){var s=o[r],u=copyValue(this.value,t,s);u&&(e=!0)}return e&&this.versionNumber++,this},n})(),PBMContainer=(function(n){__extends(t,n);function t(){var e=n!==null&&n.apply(this,arguments)||this;return e.parameter=new Parameter,e.needsRender=!0,e}return Object.defineProperty(t.prototype,"materialParameters",{get:function(){return this.parameter.resolveValue()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"pbmMaterialParametersVersion",{get:function(){return this.parameter.resolveValue().version},enumerable:!1,configurable:!0}),t.prototype.setMaterial=function(e){this.parameter.set(e),this.update(),this.needsRender=!0},t.prototype.getMaterial=function(){return this.parameter.resolveValue()},t.prototype.update=function(){var e=this.parameter.resolveValue();this.traverse(function(r){r instanceof PBMMesh||r instanceof PBMSkinnedMesh?updatePBMMesh$1(r,e):r instanceof PBMPointCloud&&updatePBMPointCloud$1(r,e)})},t})(THREE__namespace.Group);function updatePBMMesh$1(n,t){var e=n.material;n.castShadow=t.castShadow,n.receiveShadow=t.receiveShadow;for(var r=0,o=e;r<o.length;r++){var s=o[r];s.customShaders=t.customShaders,s.pano0=t.pano0,s.pano1=t.pano1,s.pano0Depth=t.pano0Depth,s.pano1Depth=t.pano1Depth,s.refinedScreen=t.refinedScreen,s.modelAlpha=t.modelAlpha,s.logDepthAlpha=t.logDepthAlpha,s.progress=t.progress,s.transition=t.transition,s.opacity=t.opacity,s.floorStyle=t.floorStyle,s.constantColor=t.constantColor,s.shownFloorIndex=t.shownFloorIndex,s.clippers=t.clippers,s.brightness=t.brightness,s.useHQWeight=t.useHQWeight,s.useHQDepth=t.useHQDepth,s.colorSaturation=t.colorSaturation,s.colorBrightness=t.colorBrightness,s.gradientTexture=t.gradientTexture,s.shaderType==="none"?(s.transparent=!0,s.blending=THREE__namespace.NormalBlending,s.blendDst=THREE__namespace.OneMinusSrcAlphaFactor,s.blendEquation=THREE__namespace.AddEquation,s.blendSrcAlpha=null,s.blendDstAlpha=null,s.blendEquationAlpha=null,s.depthWrite=!1,s.depthTest=!0):(s.transparent=s.alphaMode==="BLEND",s.blending=THREE__namespace.NormalBlending,s.blendDst=THREE__namespace.OneMinusSrcAlphaFactor,s.blendEquation=THREE__namespace.AddEquation,s.blendSrcAlpha=null,s.blendDstAlpha=null,s.blendEquationAlpha=null,s.depthWrite=!0,s.depthTest=!0,t.useAddBlend&&(s.depthWrite=!1,s.depthTest=!1,s.blending=THREE__namespace.AdditiveBlending),s.shownFloorIndex>-1&&s.shownFloorIndex!==s.floorIndex&&(s.transparent=!0),s.opacity<1&&(s.transparent=!0),s.alphaMap&&(s.transparent=!0),s.brightness<1&&(s.transparent=!0),s.logDepthAlpha>0?s.transparent=!1:t.useAddBlend&&(s.depthWrite=!1,s.depthTest=!1,s.blending=THREE__namespace.AdditiveBlending))}}function updatePBMPointCloud$1(n,t){var e=[n.material];n.castShadow=t.castShadow,n.receiveShadow=t.receiveShadow;for(var r=0,o=e;r<o.length;r++){var s=o[r];s.customShaders=t.customShaders,s.pointScale=t.pointScale,s.pointMinPixel=t.pointMinPixel,s.pointMaxPixel=t.pointMaxPixel,s.pointSize=t.pointSize,s.pointShape=t.pointShape,s.pointBack=t.pointBack,s.modelAlpha=t.modelAlpha,s.logDepthAlpha=t.logDepthAlpha,s.opacity=t.opacity,s.floorStyle=t.floorStyle,s.constantColor=t.constantColor,s.shownFloorIndex=t.shownFloorIndex,s.clippers=t.clippers,s.brightness=t.brightness,s.useHQWeight=t.useHQWeight,s.useHQDepth=t.useHQDepth,s.colorSaturation=t.colorSaturation,s.colorBrightness=t.colorBrightness,s.outlineGain=t.outlineGain,s.distanceGain=t.distanceGain,s.gradientTexture=t.gradientTexture,s.transparent=!1,s.blending=THREE__namespace.NormalBlending,s.blendDst=THREE__namespace.OneMinusSrcAlphaFactor,s.blendEquation=THREE__namespace.AddEquation,s.blendSrcAlpha=null,s.blendDstAlpha=null,s.blendEquationAlpha=null,s.depthWrite=!0,s.depthTest=!0,s.shownFloorIndex>-1&&(s.transparent=s.shownFloorIndex!==s.floorIndex),s.modelAlpha<1&&(s.transparent=!0),s.opacity<1&&(s.transparent=!0),s.brightness<1&&(s.transparent=!0),s.logDepthAlpha>0?s.transparent=!1:t.useAddBlend&&(s.depthWrite=!1,s.depthTest=!1,s.blending=THREE__namespace.AdditiveBlending),s.useHQWeight&&(s.depthWrite=!1,s.blending=THREE__namespace.CustomBlending,s.blendSrc=THREE__namespace.SrcAlphaFactor,s.blendSrcAlpha=THREE__namespace.SrcAlphaFactor,s.blendDst=THREE__namespace.OneFactor,s.blendDstAlpha=THREE__namespace.OneFactor)}}var ROTATE_X_MATRIX=new THREE__namespace.Matrix4().fromArray([1,0,0,0,0,0,1,0,0,-1,0,0,0,0,0,1]),ROTATE_X_MATRIX_INVERSE=new THREE__namespace.Matrix4().getInverse(ROTATE_X_MATRIX);function createSymbol(n){return typeof Symbol=="undefined"?"$Symbol<".concat(n,">$"):Symbol(n)}var EVENT_SYMBOL=createSymbol("$$FIVE_EVENT$$");function __generateEventIfNotExisted(n){return n[EVENT_SYMBOL]||(n[EVENT_SYMBOL]={}),n[EVENT_SYMBOL]}function __removeEvents(n){n[EVENT_SYMBOL]&&delete n[EVENT_SYMBOL]}var Subscribe=(function(){function n(){}return n.prototype.hasListener=function(t){var e=__generateEventIfNotExisted(this);return e&&e[t]&&e[t].callbacks.length>0},n.prototype.on=function(t,e,r){var o=this,s=__generateEventIfNotExisted(this);return s[t]||(s[t]={callbacks:[]}),s[t].callbacks.push([e,r||!1]),function(){return o.off(t,e)}},n.prototype.once=function(t,e){return this.on(t,e,!0)},n.prototype.off=function(t,e){if(t===void 0){__removeEvents(this);return}var r=__generateEventIfNotExisted(this);if(r[t]||(r[t]={callbacks:[]}),e===void 0){r[t].callbacks.length=0;return}for(var o=0;o<r[t].callbacks.length&&r[t].callbacks[o][0]!==e;o++);o<r[t].callbacks.length&&r[t].callbacks.splice(o,1)},n.prototype.emit=function(t){for(var e=[],r=1;r<arguments.length;r++)e[r-1]=arguments[r];var o=!1,s=__generateEventIfNotExisted(this);s[t]||(s[t]={callbacks:[]});for(var u=s[t].callbacks.slice(),l=0,c=u;l<c.length;l++){var p=c[l],f=p[0],d=p[1],h=d===void 0?!1:d,m=f.apply(void 0,e);h&&this.off(t,f),m===!1&&(o=!0)}return o},n.prototype.waitUntil=function(t,e){var r=this;return new Promise(function(o){var s=r.on(t,function(){for(var u=[],l=0;l<arguments.length;l++)u[l]=arguments[l];(!e||e.apply(void 0,u)!==!1)&&(o(u),s())})})},n})();function noop(){}var JSONP_REGEXPS=[/\.([0-9a-z]+)\.jsonp([\?\#].*)?$/i,/jsonp_([0-9a-z]+)([\?\#].*)?$/i],locationHref=typeof location!="undefined"?location.href:"",locationIsHttps=/^https\:/.test(locationHref),NetworkProxyError=(function(n){__extends(t,n);function t(e,r,o){return n.call(this,"[NETWORK]: request proxy error(type: ".concat(r,", reason: ").concat(o,"): ").concat(e))||this}return t})(Error),NetworkResponseError=(function(n){__extends(t,n);function t(e,r,o){var s=n.call(this,"[NETWORK]: response error(type: ".concat(r,", status: ").concat(o,"): ").concat(e))||this;return s.httpStatus=o,s}return t})(Error);(function(n){__extends(t,n);function t(e,r){return n.call(this,"[NETWORK]: request abort(type: ".concat(r,"): ").concat(e))||this}return t})(Error);var NetworkTimeoutError=(function(n){__extends(t,n);function t(e,r,o){return n.call(this,"[NETWORK]: request timeout(type: ".concat(r,", timeout: ").concat(o,"ms): ").concat(e))||this}return t})(Error);(function(n){__extends(t,n);function t(e,r,o){return n.call(this,"[NETWORK]: request forbidden(type: ".concat(r,", reason: ").concat(o,"): ").concat(e))||this}return t})(Error);function parseHeaders(n){if(!n)return{};for(var t={},e=n.trim().split(`
|
|
405
|
-
`),r=0;r<e.length;r++){var o=e[r],s=o.indexOf(":"),u=o.slice(0,s).trim().toLowerCase(),l=o.slice(s+1).trim();l&&(t[u]?t[u]+=", "+l:t[u]=l)}return t}function matchJsonpFunctionName(n){for(var t=0,e=JSONP_REGEXPS;t<e.length;t++){var r=e[t],o=n.match(r);if(o)return"jsonp_"+o[1]}return null}function isJsonp(n){return matchJsonpFunctionName(n)!==null}var NetworkSubscribe=(function(n){__extends(t,n);function t(){return n!==null&&n.apply(this,arguments)||this}return t})(Subscribe);function ajax(n,t,e,r,o){t===void 0&&(t={}),e===void 0&&(e=noop),r===void 0&&(r=noop),o===void 0&&(o=noop);var s=now(),u=n;return Promise.resolve().then(function(){return t.requestProxy?t.requestProxy(n):n}).then(function(l){return locationIsHttps&&/^http\:/.test(l)?(console.warn("The page at '".concat(locationHref,"' was loaded over HTTPS, but requested an insecure element '").concat(l,"'. This request was automatically upgraded to HTTPS")),l.replace(/^http\:/,"https:")):l}).catch(function(l){var c;matchJsonpFunctionName(n);var p=new NetworkProxyError(u,"XMLHttpRequest",l&&l.message?String(l.message):String(l));return(c=t.networkSubscribe)===null||c===void 0||c.emit("network",n,"XMLHttpRequest","forbidden",p.message),Promise.reject(p)}).then(function(l){return new Promise(function(c,p){var f=matchJsonpFunctionName(l);if(f){var d=window,h=null,m=!1,A=document.createElement("script"),g=function(){var w;if(h=null,m!==!0){m=!0;var M=new NetworkTimeoutError(l,"XMLHttpRequest",t.timeout||NaN);r(M),p(M),(w=t.networkSubscribe)===null||w===void 0||w.emit("network",l,"XMLHttpRequest","timeout",M.message)}},y=function(w){var M,B,C=now(),P=C-s;if(delete d[f],A.parentNode&&A.parentNode.removeChild(A),h!==null&&(window.clearTimeout(h),h=null),m!==!0){if(w.indexOf("data:")!==0){var L=new NetworkResponseError(l,"XMLHttpRequest",500);r(L),p(L),(M=t.networkSubscribe)===null||M===void 0||M.emit("network",l,"XMLHttpRequest","error",L.message);return}var O=w.split(","),F=(O[0].match(/:(.*?);/)||[])[1],N=O[1];if(t.responseType==="arraybuffer"||t.responseType==="blob"){for(var D=atob(O[1]),U=D.length,z=new Uint8Array(U),K=0;K<U;K++)z[K]=D.charCodeAt(K);t.responseType==="arraybuffer"?N=z.buffer:N=new Blob([z],{type:F})}var j={},Q={body:N,meta:{origin:u,source:l,requestTime:s,responseTime:C,costs:P,headers:j}};e(Q),c(Q),(B=t.networkSubscribe)===null||B===void 0||B.emit("network",l,"XMLHttpRequest","ok",JSON.stringify(Q.meta)),m=!0}};d[f]=y,A.src=l,document.body.appendChild(A),typeof t.timeout=="number"&&(h=window.setTimeout(g,t.timeout))}else{var v=!1,E=new XMLHttpRequest,b=function(){E&&(E.removeEventListener("timeout",T,!1),E.removeEventListener("progress",_,!1),E.removeEventListener("load",S,!1),E.removeEventListener("error",R,!1)),E=null,b=noop},T=function(){var w;if(v!==!0){v=!0,b();var M=new NetworkTimeoutError(l,"XMLHttpRequest",t.timeout||NaN);r(M),p(M),(w=t.networkSubscribe)===null||w===void 0||w.emit("network",l,"XMLHttpRequest","timeout",M.message)}},_=function(w){v!==!0&&w.lengthComputable&&(w.total<=0||o(w.loaded/w.total))},S=function(w){var M;if(v!==!0){var B=this.status;if(B===0||B>=200&&B<400){v=!0,b();var C=now(),P=C-s,L=parseHeaders(this.getAllResponseHeaders()),O=w.total,F={body:this.response,meta:{origin:u,source:l,requestTime:s,responseTime:C,costs:P,headers:L,size:O}};e(F),c(F),(M=t.networkSubscribe)===null||M===void 0||M.emit("network",l,"XMLHttpRequest","ok",JSON.stringify(F.meta))}else R.call(this)}},R=function(){var w;if(v!==!0){v=!0,b();var M=new NetworkResponseError(l,"XMLHttpRequest",this.status);r(M),p(M),(w=t.networkSubscribe)===null||w===void 0||w.emit("network",l,"XMLHttpRequest","error",M.message)}};E.addEventListener("timeout",T,!1),E.addEventListener("progress",_,!1),E.addEventListener("load",S,!1),E.addEventListener("error",R,!1),t.responseType&&(E.responseType=t.responseType),typeof t.timeout=="number"&&(E.timeout=t.timeout),E.open("GET",l,!0),E.send(null)}})})}var preloadCache={};function preload(n,t){t===void 0&&(t={});var e=now(),r=n;return Promise.resolve().then(function(){return t.requestProxy?t.requestProxy(n):n}).then(function(o){return locationIsHttps&&/^http\:/.test(o)?(console.warn("The page at '".concat(locationHref,"' was loaded over HTTPS, but requested an insecure element '").concat(o,"'. This request was automatically upgraded to HTTPS")),o.replace(/^http\:/,"https:")):o}).catch(function(o){var s,u=new NetworkProxyError(r,"Link",o&&o.message?String(o.message):String(o));return(s=t.networkSubscribe)===null||s===void 0||s.emit("network",n,"Link","forbidden",u.message),Promise.reject(u)}).then(function(o){return o in preloadCache?preloadCache[o]:preloadCache[o]=new Promise(function(s,u){var l=document.createElement("link"),c=!1,p=null;l.onload=function(d){var h;if(p!==null&&(clearTimeout(p),p=null),c!==!0){c=!0,s();var m=now(),A=m-e,g={},y={origin:r,source:o,requestTime:e,responseTime:m,costs:A,headers:g};(h=t.networkSubscribe)===null||h===void 0||h.emit("network",o,"Link","preload",JSON.stringify(y))}},l.onerror=function(d){var h;if(p!==null&&(clearTimeout(p),p=null),c!==!0){c=!0;var m=new NetworkResponseError(o,"Link",0);u(m),(h=t.networkSubscribe)===null||h===void 0||h.emit("network",o,"Link","error",m.message)}},typeof t.timeout=="number"&&(p=window.setTimeout(function(){var d;if(p=null,c!==!0){c=!0,s();var h=now(),m=h-e,A={},g={origin:r,source:o,requestTime:e,responseTime:h,costs:m,headers:A};(d=t.networkSubscribe)===null||d===void 0||d.emit("network",o,"Link","timeout",JSON.stringify(g))}},t.timeout)),l.rel=l.relList&&l.relList.supports("prefetch")?"prefetch":"preload",l.as="fetch",l.crossOrigin="",l.fetchPriority="high",l.href=o;var f=document.head||document.getElementsByTagName("head")[0];f&&f.appendChild(l)})})}function loadImage(n,t,e,r,o,s){t===void 0&&(t={}),e===void 0&&(e=noop),r===void 0&&(r=noop),o===void 0&&(o=noop);var u=now(),l=n;return Promise.resolve().then(function(){return t.requestProxy?t.requestProxy(n):n}).then(function(c){return locationIsHttps&&/^http\:/.test(c)?(console.warn("The page at '".concat(locationHref,"' was loaded over HTTPS, but requested an insecure element '").concat(c,"'. This request was automatically upgraded to HTTPS")),c.replace(/^http\:/,"https:")):c}).catch(function(c){var p,f=new NetworkProxyError(l,"Image",c&&c.message?String(c.message):String(c));return(p=t.networkSubscribe)===null||p===void 0||p.emit("network",n,"Image","forbidden",f.message),Promise.reject(f)}).then(function(c){return isJsonp(c)?ajax(c,{responseType:"blob",networkSubscribe:t.networkSubscribe}).then(function(p){return URL.createObjectURL(p.body)}):c}).then(function(c){return new Promise(function(p,f){var d=s!=null?s:new Image,h=!1,m=null,A=function(){var y;if(d.onload=noop,d.onerror=noop,m!==null&&(clearTimeout(m),m=null),h!==!0){var v=now(),E={headers:{},origin:l,source:c,requestTime:u,responseTime:v,costs:v-u};h=!0;var b={body:d,meta:E};o(1),e(b),p(b),(y=t.networkSubscribe)===null||y===void 0||y.emit("network",c,"Image","ok",JSON.stringify(b.meta))}},g=function(){var y;if(d.onload=noop,d.onerror=noop,m!==null&&(clearTimeout(m),m=null),h!==!0){h=!0;var v=new NetworkResponseError(c,"Image",0);r(v),f(v),(y=t.networkSubscribe)===null||y===void 0||y.emit("network",c,"Image","ok",v.message)}};typeof t.timeout=="number"&&(m=window.setTimeout(function(){var y;if(d.onload=noop,d.onerror=noop,m=null,h!==!0){h=!0;var v=new NetworkTimeoutError(c,"Image",t.timeout);r(v),f(v),(y=t.networkSubscribe)===null||y===void 0||y.emit("network",c,"Image","timeout",v.message)}},t.timeout)),d.onload=A,d.onerror=g,o(0),d.src=c})})}var Fetcher=(function(){function n(t){t===void 0&&(t={}),this.options=t}return n.prototype.ajax=function(t,e,r,o,s){var u;e===void 0&&(e={}),r===void 0&&(r=noop),o===void 0&&(o=noop),s===void 0&&(s=noop);var l=this.options,c={responseType:e.responseType,timeout:(u=e.timeout)!==null&&u!==void 0?u:l.timeout,get requestProxy(){var p;return(p=e.requestProxy)!==null&&p!==void 0?p:l.requestProxy},get networkSubscribe(){var p;return(p=e.networkSubscribe)!==null&&p!==void 0?p:l.networkSubscribe}};return ajax(t,c,r,o,s)},n.prototype.loadImage=function(t,e,r,o,s,u){var l;e===void 0&&(e={}),r===void 0&&(r=noop),o===void 0&&(o=noop),s===void 0&&(s=noop);var c=this.options,p={timeout:(l=e.timeout)!==null&&l!==void 0?l:c.timeout,get requestProxy(){var f;return(f=e.requestProxy)!==null&&f!==void 0?f:c.requestProxy},get networkSubscribe(){var f;return(f=e.networkSubscribe)!==null&&f!==void 0?f:c.networkSubscribe}};return loadImage(t,p,r,o,s,u)},n.prototype.preload=function(t,e){var r;e===void 0&&(e={});var o=this.options,s={timeout:(r=e.timeout)!==null&&r!==void 0?r:o.timeout,get requestProxy(){var u;return(u=e.requestProxy)!==null&&u!==void 0?u:o.requestProxy},get networkSubscribe(){var u;return(u=e.networkSubscribe)!==null&&u!==void 0?u:o.networkSubscribe}};return preload(t,s)},n})(),internalFetcher=new Fetcher;function pick(n,t){for(var e={},r=0,o=t;r<o.length;r++){var s=o[r];s in n&&(e[s]=n[s])}return e}function omit(n,t){for(var e={},r=new Set(t),o=0,s=Object.keys(n);o<s.length;o++){var u=s[o];r.has(u)||(e[u]=n[u])}return e}function omitUndefinedFields(n){var t={};for(var e in n){var r=n[e];r!==void 0&&(t[e]=r)}return t}var hrefAElement=typeof document!="undefined"?document.createElement("a"):{href:""};function isAbsoluteURL(n){return n.indexOf("/")===0||/^[0-9a-z]+\:/i.test(n)}function getFullURL(n){if(typeof URL!="undefined")return new URL(n,location.href).href;hrefAElement.href=n;var t=hrefAElement.href;return hrefAElement.href="",t}function pathJoin(){for(var n=[],t=0;t<arguments.length;t++)n[t]=arguments[t];var e=[];n=n.map(function(l){return(l!=null?l:"").trim()}).filter(function(l){return l.length>0&&!/^\/+$/.test(l)});for(var r=0;r<n.length;r++){var o=r===0,s=r===n.length-1,u=n[r];o||(u=u.replace(/^\.\//,"").replace(/^\/+/,"")),s||(u=u.replace(/\/+$/,"")),e.push(u)}return e.join("/")}function appendSearch(n,t){if(t===void 0&&(t=""),(t[0]==="?"||t[0]==="&")&&(t=t.slice(1)),!t)return n;var e=n.indexOf("#"),r="";return e>=0&&(r=n.slice(e),n=n.slice(0,e)),(n[n.length-1]==="?"||n[n.length-1]==="&")&&(n=n.slice(0,-1)),n.indexOf("?")>=0?"".concat(n,"&").concat(t).concat(r):"".concat(n,"?").concat(t).concat(r)}function normalizeURL(n){var t,e=/^(http\:|https\:|file\:)?\/\/[^/]/.exec(n);if(!e)return n;var r=e[1]||"",o=n.slice(r.length+2),s=o.indexOf("#");s>=0&&(n.slice(s),o=n.slice(0,s));var u=o.indexOf("?");u>=0&&(n.slice(u),o=n.slice(0,u));for(var l=o.split("/"),c=l.shift(),p=(t=l.pop())!==null&&t!==void 0?t:"",f=[],d=0,h=l;d<h.length;d++){var m=h[d];if(!(m===""||m===".")){if(m===".."){f.pop();continue}f.push(m)}}return r+"//"+c+"/"+f.join("/")+"/"+p}var webp="data:image/webp;base64,UklGRiQAAABXRUJQVlA4IBgAAAAwAQCdASoCAAIAAUAmJaQAA3AA/vz0AAA=",avif="data:image/avif;base64,AAAAIGZ0eXBhdmlmAAAAAGF2aWZtaWYxbWlhZk1BMUIAAAGhbWV0YQAAAAAAAAAoaGRscgAAAAAAAAAAcGljdAAAAAAAAAAAAAAAAGxpYmF2aWYAAAAADnBpdG0AAAAAAAEAAAAsaWxvYwAAAABEAAACAAEAAAABAAAB3gAAABkAAgAAAAEAAAHJAAAAFQAAAEJpaW5mAAAAAAACAAAAGmluZmUCAAAAAAEAAGF2MDFDb2xvcgAAAAAaaW5mZQIAAAAAAgAAYXYwMUFscGhhAAAAABppcmVmAAAAAAAAAA5hdXhsAAIAAQABAAAA12lwcnAAAACxaXBjbwAAABRpc3BlAAAAAAAAAAIAAAACAAAAEHBpeGkAAAAAAwgICAAAAAxhdjFDgQAMAAAAABNjb2xybmNseAACAAIAAoAAAAAUaXNwZQAAAAAAAAACAAAAAgAAAA5waXhpAAAAAAEIAAAADGF2MUOBABwAAAAAOGF1eEMAAAAAdXJuOm1wZWc6bXBlZ0I6Y2ljcDpzeXN0ZW1zOmF1eGlsaWFyeTphbHBoYQAAAAAeaXBtYQAAAAAAAAACAAEEAQKDBAACBAUGhwgAAAA2bWRhdBIACgQYADLVMgsWQBhhIAQqrNj/+BIACgUYADLEoDIOFkADDDDCQAACDaqCCb4=",heif="data:image/heif;base64,AAAAGGZ0eXBoZWljAAAAAG1pZjFoZWljAAABL21ldGEAAAAAAAAAIWhkbHIAAAAAAAAAAHBpY3QAAAAAAAAAAAAAAAAAAAAADnBpdG0AAAAAAAEAAAAjaWluZgAAAAAAAQAAABVpbmZlAgAAAAABAABodmMxAAAAAK9pcHJwAAAAkmlwY28AAAB2aHZjQwEBYAAAAAAAAAAAAADwAPz9+PgAACcDoAABAB5AAQwG//8BYAAAAwAAAwAAAwAAAwAAAwAAreTLgSChAAEAI0IBBwFgAAADAAADAAADAAADAAADAAChInJJlreTLySZNdggogABAAdEAcA98DMkAAAAFGlzcGUAAAAAAAAAAgAAAAIAAAAVaXBtYQAAAAAAAAABAAECgQIAAAAiaWxvYwAAAABEQAABAAEAAAAAAU8AAQAAAAAAAAAOAAAAFm1kYXQAAAAKJgGvLvkQwuWM4A==";function checkImage(n){return new Promise(function(t){if(typeof Image=="undefined"){t(!1);return}var e=new Image,r=setTimeout(function(){e.onload=e.onerror=function(){},clearTimeout(r),t(!1)},100);e.onload=e.onerror=function(){e.onload=e.onerror=function(){},clearTimeout(r),t(e.height===2)},e.src=n})}var imageSupportCache=null;function imageSupport(){return imageSupportCache||(imageSupportCache=Promise.all([checkImage(webp),checkImage(avif),checkImage(heif)]).then(function(n){return{webp:n[0],avif:n[1],heif:n[2]}}))}var _a$5,supportAvif=!1,supportWebp=!1,supportHeif=!1;imageSupport().then(function(n){supportAvif=n.avif,supportWebp=n.webp,supportHeif=n.heif});var IMAGE_FORMATS=["jpg","jpeg","png","heif","heic","webp","avif"];function isImageExt(n){return IMAGE_FORMATS.indexOf(n)>=0}var DEFAULT_IMAGE_URL_MAPPINGS={"vrlab-public.ljcdn.com":{type:"tencentCloud",pano:["vrlab-image1.ljcdn.com","vrlab-image2.ljcdn.com"],texture:["vrlab-image3.ljcdn.com"],tile:["vr-tile-1.realsee-cdn.cn","vr-tile-2.realsee-cdn.cn"],model:["vr-model-1.realsee-cdn.cn","vr-model-2.realsee-cdn.cn"],default:["vrlab-image4.ljcdn.com"]},"vr-public.realsee-cdn.cn":{type:"tencentCloud",pano:["vr-image-1.realsee-cdn.cn","vr-image-2.realsee-cdn.cn"],texture:["vr-image-3.realsee-cdn.cn"],tile:["vr-tile-1.realsee-cdn.cn","vr-tile-2.realsee-cdn.cn"],model:["vr-model-1.realsee-cdn.cn","vr-model-2.realsee-cdn.cn"],default:["vr-image-4.realsee-cdn.cn"]},"vr-public.rscdn.cn":{type:"tencentCloud",pano:["vr-image-1.rscdn.cn","vr-image-2.rscdn.cn"],texture:["vr-image-3.rscdn.cn"],tile:["vr-tile-1.rscdn.cn","vr-tile-2.rscdn.cn"],model:["vr-model-1.rscdn.cn","vr-model-2.rscdn.cn"],default:["vr-image-4.rscdn.cn"]},"mars-public.realsee-cdn.cn":{type:"aliyun",pano:["mars-image-1.realsee-cdn.cn","mars-image-2.realsee-cdn.cn"],texture:["mars-image-3.realsee-cdn.cn"],tile:["mars-tile-1.realsee-cdn.cn","mars-tile-2.realsee-cdn.cn"],model:["mars-model-1.realsee-cdn.cn","mars-model-2.realsee-cdn.cn"],default:["mars-image-4.realsee-cdn.cn"]},"global-public.realsee-cdn.com":{type:"tencentCloud",pano:["global-image-1.realsee-cdn.com","global-image-2.realsee-cdn.com"],texture:["global-image-3.realsee-cdn.com"],tile:["global-tile-1.realsee-cdn.com","global-tile-2.realsee-cdn.com"],model:["global-model-1.realsee-cdn.com","global-model-2.realsee-cdn.com"],default:["global-image-4.realsee-cdn.com"]},"earth-ga-public.realsee-cdn.cn":{type:"tencentCloud",pano:["earth-ga-image-1.realsee-cdn.cn","earth-ga-image-2.realsee-cdn.cn"],texture:["earth-ga-image-3.realsee-cdn.cn"],tile:["earth-ga-tile-1.realsee-cdn.cn","earth-ga-tile-2.realsee-cdn.cn"],model:["earth-ga-model-1.realsee-cdn.cn","earth-ga-model-2.realsee-cdn.cn"],default:["earth-ga-image-4.realsee-cdn.cn"]},"test-vr-public.realsee-cdn.com":{type:"tencentCloud",pano:["test-vr-image.realsee-cdn.com","test-vr-image.realsee-cdn.com"],texture:["test-vr-image.realsee-cdn.com"],tile:["test-vr-image.realsee-cdn.com","test-vr-image.realsee-cdn.com"],model:["test-vr-image.realsee-cdn.com","test-vr-image.realsee-cdn.com"],default:["test-vr-image.realsee-cdn.com"]},"test-vr-public.realsee-cdn.cn":{type:"tencentCloud",pano:["test-vr-image.realsee-cdn.cn","test-vr-image.realsee-cdn.cn"],texture:["test-vr-image.realsee-cdn.cn"],tile:["test-vr-image.realsee-cdn.cn","test-vr-image.realsee-cdn.cn"],model:["test-vr-image.realsee-cdn.cn","test-vr-image.realsee-cdn.cn"],default:["test-vr-image.realsee-cdn.cn"]}},URL_DOMAIN_REGEX=/^https?\:\/\/?([^\/]+)/;function getDomain(n){var t=n.match(URL_DOMAIN_REGEX);return t===null?null:t[1]}function replaceDomain(n,t,e){var r,o,s=(o=(r=t[e])!==null&&r!==void 0?r:t[t.length-1])!==null&&o!==void 0?o:n;return n.replace(URL_DOMAIN_REGEX,function(u,l){return u.slice(0,u.length-l.length)+s})}function route(n,t,e){var r=t.split("."),o=r[0],s=r.slice(1);if(o==="texture")return replaceDomain(n,e.texture,0);if(o==="pano"){s[0];var u=s[1];switch(u){case"front":case"left":case"up":return replaceDomain(n,e.pano,0);case"down":case"right":case"back":return replaceDomain(n,e.pano,1)}}else if(o==="pano_tile"){s[0],s[1];var l=s[2],c=s[3],p=s[4],f=Math.pow(2,Number(l))*Number(c)+Number(p);if(!isNaN(f))return replaceDomain(n,e.tile,f%2)}else if(o==="model"){var d=s[0],f=Number(d);if(!isNaN(f))return replaceDomain(n,e.model,f%2)}return replaceDomain(n,e.default,0)}var tencentCloudImageProcesser=function(n,t){var e=n.split("?")[0],r=e.split(".").pop();if(r==="jpeg"&&(r="jpg"),r==="heif"&&(r="heic"),r&&!isImageExt(r))return n;var o=[],s=t.format,u=t.cut,l=t.quality,c=t.size,p=t.sharpen,f=t.forceUseExifOrientation;if(s==="jpeg"&&(s="jpg"),s==="heif"&&(s="heic"),(!supportAvif&&(s!=null?s:r)==="avif"||!supportWebp&&(s!=null?s:r)==="webp"||!supportHeif&&(s!=null?s:r)==="heic")&&(s="jpg"),s!==void 0&&s!==r&&o.push("format/".concat(s)),u!==void 0&&o.push("cut/".concat(u[2],"x").concat(u[3],"x").concat(u[0],"x").concat(u[1])),l!==void 0){var d=s!=null?s:r;d&&["jpg","webp","heic","avif"].indexOf(d)>=0&&o.push("quality/".concat(l))}if(c!==void 0){var h=n.match(/\/cube_(\d+)\//),m=h?Number(h[1]):NaN;m!==Number(c)&&o.push("thumbnail/".concat(c,"x"))}p!==void 0&&o.push("sharpen/".concat(p)),f===!0&&o.push("auto-orient");var A="";return o.length&&(A="?imageMogr2/"+o.join("/")),e+A},aliyunOOSImageProcesser=function(n,t){var e=n.split("?")[0],r=e.split(".").pop();if(r==="jpeg"&&(r="jpg"),r==="heif"&&(r="heic"),r&&!isImageExt(r))return n;var o=[],s=t.format,u=t.cut,l=t.quality,c=t.size,p=t.sharpen;if(s==="jpeg"&&(s="jpg"),s==="heif"&&(s="heic"),(!supportAvif&&(s!=null?s:r)==="avif"||!supportWebp&&(s!=null?s:r)==="webp"||!supportHeif&&(s!=null?s:r)==="heic")&&(s="jpg"),s!==void 0&&s!==r&&o.push("format,".concat(s)),u!==void 0){var f=u[0],d=u[1],h=u[2],m=u[3];o.push("crop,x_".concat(f,",y_").concat(d,",w_").concat(h,",h_").concat(m,",g_nw"))}if(l!==void 0&&l!==100){var A=s!=null?s:r;A&&["jpg","webp","heic","avif"].indexOf(A)>=0&&o.push("quality,Q_".concat(l))}c&&c!==2048&&o.push("resize,w_".concat(c)),p!==void 0&&o.push("sharpen,".concat(p));var g="";return o.length&&(g="?x-oss-process=image/"+o.join("/")),e+g},MAX_SAFE_INTEGER=9007199254740991;function formatNumber(n){var t=Math.round(n);return Math.abs(t-n)<.001?t:Math.floor(n)}function formatOptions(n){return n=Object.assign({},n),n.size!==void 0&&(n.size=formatNumber(clamp$1(n.size,0,MAX_SAFE_INTEGER))),n.quality!==void 0&&(n.quality=formatNumber(clamp$1(n.quality,0,100))),n.cut!==void 0&&(n.cut=[formatNumber(clamp$1(n.cut[0],0,MAX_SAFE_INTEGER)),formatNumber(clamp$1(n.cut[1],0,MAX_SAFE_INTEGER)),formatNumber(clamp$1(n.cut[2],0,MAX_SAFE_INTEGER)),formatNumber(clamp$1(n.cut[3],0,MAX_SAFE_INTEGER))]),n.sharpen!==void 0&&(n.sharpen=formatNumber(clamp$1(n.sharpen,0,MAX_SAFE_INTEGER))),n}function imageURL(n,t){var e=__assign(__assign({},DEFAULT_IMAGE_URL_MAPPINGS),t.mappings),r=getDomain(n);if(r===null)return n;t=formatOptions(t);var o=e[r];return o?(n=route(n,t.key,o),/\.basis(\?|$)/.test(n)&&(n=n.replace(/\.basis(\?|$)/,".jpg$1")),o.type==="tencentCloud"?tencentCloudImageProcesser(n,t):o.type==="aliyun"?aliyunOOSImageProcesser(n,t):n):n}function applyImageURLOptions(n,t,e){t===void 0&&(t=imageURL);var r=t(n,e);if(r===n&&e.cut)throw new Error("ImageURL: cut option not applied.");return r}var IMAGE_SIZE_REG=/\/cube_(\d+)\//;function getImageSizeFromURL(n){var t=n.match(IMAGE_SIZE_REG);return t?Number(t[1]):null}function replaceImageSize(n,t){return n.replace(IMAGE_SIZE_REG,"/cube_".concat(t,"/"))}var log2=(_a$5=Math.log2)!==null&&_a$5!==void 0?_a$5:(function(n){return Math.log(n)*Math.LOG2E});function getImageSizeLevel(n){return Math.floor(Math.max(log2(n/512),0))}var windowSTOContext=(function(){var n=now();return{requestAnimationFrame:function(t){var e=now(),r=clamp$1(16+(e-n),16,33),o=setTimeout(function(){t(e+r)},r);return n=e+r,o},cancelAnimationFrame:function(t){return clearTimeout(t)}}})(),windowRAFContext=(function(){if(typeof window!="undefined"){var n=window;if(n.requestAnimationFrame)return{requestAnimationFrame:n.requestAnimationFrame.bind(n),cancelAnimationFrame:n.cancelAnimationFrame.bind(n)};if(n.mozRequestAnimationFrame)return{requestAnimationFrame:n.mozRequestAnimationFrame.bind(n),cancelAnimationFrame:n.mozCancelAnimationFrame.bind(n)};if(n.webkitRequestAnimationFrame)return{requestAnimationFrame:n.webkitRequestAnimationFrame.bind(n),cancelAnimationFrame:n.webkitCancelAnimationFrame.bind(n)};if(n.msRequestAnimationFrame)return{requestAnimationFrame:n.msRequestAnimationFrame.bind(n),cancelAnimationFrame:n.msCancelAnimationFrame.bind(n)}}return windowSTOContext})(),DEFAULT_ORDER=5,deviceFrameTime=16,AnimationFrameLoop=(function(){function n(){this.loopType="raf",this.frames=[],this.isAnimating=!1,this.context=null;var t=now();this.loop=(function(){for(var e=[],r=0;r<arguments.length;r++)e[r]=arguments[r];if(this.isAnimating!==!1){var o=now(),s=o-t;t=o,deviceFrameTime=s;for(var u=0;u<this.frames.length;u++){var l=this.frames[u];if(l.delay>0){l.delay=l.delay-1;continue}try{l.callback.apply(l,__spreadArray([o,s],e,!1))}catch(c){console.error(c)}l.once&&(this.frames.splice(u,1),u--)}this.requestId=this.requestAnimationFrame(this.loop)}}).bind(this),this.start()}return Object.defineProperty(n,"shared",{get:function(){return this.sharedInstance||(this.sharedInstance=new n),this.sharedInstance},enumerable:!1,configurable:!0}),n.getFrameTime=function(){return deviceFrameTime},n.prototype.start=function(){this.isAnimating!==!0&&(this.isAnimating=!0,this.requestId=this.requestAnimationFrame(this.loop))},n.prototype.stop=function(){this.isAnimating=!1,this.cancelAnimationFrame(this.requestId)},n.prototype.setContext=function(t){t!==this.context&&(this.stop(),this.context=t,this.start())},n.prototype.getContext=function(){return this.context},n.prototype.setLoopType=function(t){t!==this.loopType&&(this.stop(),this.loopType=t,this.start())},n.prototype.getLoopType=function(){return this.loopType},n.prototype.requestAnimationFrame=function(t){if(this.context)return this.context.requestAnimationFrame(t);if(this.loopType==="raf")return windowRAFContext.requestAnimationFrame(t);if(this.loopType==="sto")return windowSTOContext.requestAnimationFrame(t)},n.prototype.cancelAnimationFrame=function(t){if(this.context)this.context.cancelAnimationFrame(t);else if(this.loopType==="raf")windowRAFContext.cancelAnimationFrame(t);else if(this.loopType==="sto")return windowSTOContext.cancelAnimationFrame(t)},n.prototype.remove=function(t){var e=this.frames.indexOf(t);e>=0&&this.frames.splice(e,1)},n.prototype.add=function(t,e,r,o){var s=this;e===void 0&&(e=!1),r===void 0&&(r=0),o===void 0&&(o=DEFAULT_ORDER);for(var u={callback:t,once:e,delay:r,order:o},l=this.frames.length;--l>=0;)if(this.frames[l].order<=o){this.frames.splice(l+1,0,u);break}return l<0&&this.frames.unshift(u),function(){return s.remove(u)}},n.prototype.clear=function(){this.frames.length=0},n})(),browserSupportsImageBitmapApi=typeof createImageBitmap!="undefined"&&typeof ImageBitmap!="undefined",_useNativeImageBitmap=!1;function useNativeImageBitmap(n){_useNativeImageBitmap=n}function canUseNativeImageBitmap(){return _useNativeImageBitmap===!1?!1:browserSupportsImageBitmapApi}function createImageBitmapLikeImage(n){n===void 0&&(n={});var t=n.onClose,e=Object.assign(document.createElementNS("http://www.w3.org/1999/xhtml","img"),{crossOrigin:"",close:function(){t&&t.call(this),this.onerror=this.onload=this.close=noop,this.removeAttribute("src"),t=void 0}});return e}function createImageBitmapLike(n){if(canUseNativeImageBitmap())return createImageBitmap(n);var t=URL.createObjectURL(n),e=function(){this.src===t&&URL.revokeObjectURL(t)};return new Promise(function(r,o){var s=createImageBitmapLikeImage({onClose:e});s.onload=function(){s.src===t&&URL.revokeObjectURL(t),s.onload=s.onerror=noop,AnimationFrameLoop.shared.add(function(){r(s)},!0)},s.onerror=function(){var u=s.src;s.onload=s.onerror=noop,s.close(),o(new Error("image load error: ".concat(u)))},s.decoding="async",s.src=t})}var canvasPool=[];function createCanvas(n,t){var e=canvasPool.pop();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=noop,canvasPool.push(r)}});return r}function imageBitmapToTexture(n,t){if(t&&(n.width>t.width||n.height>t.height)){var e=createCanvas(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 o=new THREE__namespace.Texture(e);o.needsUpdate=!0,o.flipY=!0;var s=o.dispose;return o.dispose=function(){e.close(),s.call(o),o.dispose=s},o}else{var u=new THREE__namespace.Texture(n);u.needsUpdate=!0,typeof ImageBitmap!="undefined"&&n instanceof ImageBitmap?u.flipY=!1:u.flipY=!0,u.flipY===!1&&(u.repeat.y*=-1,u.offset.y+=1,u.updateMatrix());var l=u.dispose;return u.dispose=function(){this.image&&this.image.close(),l.call(u),u.dispose=l},u}}function imageBitmapsToCubeTexture(n){var t=new THREE__namespace.CubeTexture(n);t.needsUpdate=!0,t.flipY=!1;var e=t.dispose;return t.dispose=function(){if(Array.isArray(this.images))for(var r=0,o=this.images;r<o.length;r++){var s=o[r];s.close()}e.call(t),t.dispose=e},t}var FACE_ORDER$2=["right","left","up","down","front","back"],TextureLoader=(function(){function n(){}return n.prototype.loadTexture=function(t,e,r,o,s,u){var l,c,p,f,d,h,m;r===void 0&&(r=noop),o===void 0&&(o=noop),s===void 0&&(s=noop);var A={};typeof e.flipY!="undefined"&&(A.flipY=e.flipY),typeof e.format!="undefined"&&(A.format=e.format),typeof e.encoding!="undefined"&&(A.encoding=e.encoding),A.generateMipmaps=(l=e.generateMipmaps)!==null&&l!==void 0?l:!1,A.minFilter=(c=e.minFilter)!==null&&c!==void 0?c:THREE__namespace.LinearFilter,A.magFilter=(p=e.magFilter)!==null&&p!==void 0?p:THREE__namespace.LinearFilter;var g=(d=(f=e.imageURL)===null||f===void 0?void 0:f.options)!==null&&d!==void 0?d:{key:"unknown"};t=applyImageURLOptions(t,(h=e.imageURL)===null||h===void 0?void 0:h.transform,g);var y=(m=e.viaAjax)!==null&&m!==void 0?m:canUseNativeImageBitmap;if(y){var v=null,E="blob";return e.fetcher.ajax(t,{timeout:e.timeout,responseType:E},void 0,void 0,s).then(function(_){return createImageBitmapLike(_.body)}).then(function(_){return imageBitmapToTexture(_,e.maxSize)}).then(function(_){return Object.assign(_,A),_}).then(function(_){var S={meta:v,body:_};return r(S),S}).catch(function(_){return o(_),Promise.reject(_)})}else{var b=null,T;return Promise.resolve().then(function(){return createImageBitmapLikeImage()}).then(function(_){return T=_,e.fetcher.loadImage(t,{timeout:e.timeout},void 0,void 0,s,_)}).then(function(_){return b=_.meta,imageBitmapToTexture(_.body,e.maxSize)}).then(function(_){return Object.assign(_,A),_}).then(function(_){var S={meta:b,body:_};return r(S),S}).catch(function(_){return T&&T.close(),o(_),Promise.reject(_)})}},n.prototype.loadCubeTexture=function(t,e,r,o,s,u){var l,c,p,f,d,h,m;r===void 0&&(r=noop),o===void 0&&(o=noop),s===void 0&&(s=noop);var A={};typeof e.format!="undefined"&&(A.format=e.format),A.generateMipmaps=(l=e.generateMipmaps)!==null&&l!==void 0?l:!1,A.minFilter=(c=e.minFilter)!==null&&c!==void 0?c:THREE__namespace.LinearFilter,A.magFilter=(p=e.magFilter)!==null&&p!==void 0?p:THREE__namespace.LinearFilter;for(var g=[t[FACE_ORDER$2[0]],t[FACE_ORDER$2[1]],t[FACE_ORDER$2[2]],t[FACE_ORDER$2[3]],t[FACE_ORDER$2[4]],t[FACE_ORDER$2[5]]],y=[],v=[0,0,0,0,0,0],E=[],b=function(_){var S=(d=(f=e.imageURL)===null||f===void 0?void 0:f.options)!==null&&d!==void 0?d:{key:"unknown"},R=applyImageURLOptions(g[_],(h=e.imageURL)===null||h===void 0?void 0:h.transform,__assign(__assign({},S),{key:S.key+"."+FACE_ORDER$2[_]})),w=function(L){v[_]=L,s(v.reduce(function(O,F){return O+F},0)/6)},M=(m=e.viaAjax)!==null&&m!==void 0?m:!1;if(M){var B="blob",C=e.fetcher.ajax(R,{timeout:e.timeout,responseType:B},void 0,void 0,w).then(function(L){return E[_]=L.meta,createImageBitmapLike(L.body)});y.push(C)}else{var P,C=Promise.resolve().then(function(){return createImageBitmapLikeImage()}).then(function(O){return P=O,e.fetcher.loadImage(R,{timeout:e.timeout},void 0,void 0,w,O)}).then(function(O){return E[_]=O.meta,O.body}).catch(function(O){return P&&P.close(),Promise.reject(O)});y.push(C)}},T=0;T<6;T++)b(T);return Promise.all(y).then(function(_){return imageBitmapsToCubeTexture(_)}).then(function(_){return Object.assign(_,__assign({encoding:THREE__namespace.sRGBEncoding},A)),_}).then(function(_){var S={body:_,meta:E};return r(S),S}).catch(function(_){for(var S=0,R=y;S<R.length;S++){var w=R[S];w.then(function(M){return M.close()}).catch(noop)}return o(_),Promise.reject(_)})},n})(),commonjsGlobal=typeof globalThis!="undefined"?globalThis:typeof window!="undefined"?window:typeof global!="undefined"?global:typeof self!="undefined"?self:{},indexMinimal={},minimal$1={},aspromise,hasRequiredAspromise;function requireAspromise(){if(hasRequiredAspromise)return aspromise;hasRequiredAspromise=1,aspromise=n;function n(t,e){for(var r=new Array(arguments.length-1),o=0,s=2,u=!0;s<arguments.length;)r[o++]=arguments[s++];return new Promise(function(c,p){r[o]=function(d){if(u)if(u=!1,d)p(d);else{for(var h=new Array(arguments.length-1),m=0;m<h.length;)h[m++]=arguments[m];c.apply(null,h)}};try{t.apply(e||null,r)}catch(f){u&&(u=!1,p(f))}})}return aspromise}var base64={},hasRequiredBase64;function requireBase64(){return hasRequiredBase64||(hasRequiredBase64=1,(function(n){var t=n;t.length=function(l){var c=l.length;if(!c)return 0;for(var p=0;--c%4>1&&l.charAt(c)==="=";)++p;return Math.ceil(l.length*3)/4-p};for(var e=new Array(64),r=new Array(123),o=0;o<64;)r[e[o]=o<26?o+65:o<52?o+71:o<62?o-4:o-59|43]=o++;t.encode=function(l,c,p){for(var f=null,d=[],h=0,m=0,A;c<p;){var g=l[c++];switch(m){case 0:d[h++]=e[g>>2],A=(g&3)<<4,m=1;break;case 1:d[h++]=e[A|g>>4],A=(g&15)<<2,m=2;break;case 2:d[h++]=e[A|g>>6],d[h++]=e[g&63],m=0;break}h>8191&&((f||(f=[])).push(String.fromCharCode.apply(String,d)),h=0)}return m&&(d[h++]=e[A],d[h++]=61,m===1&&(d[h++]=61)),f?(h&&f.push(String.fromCharCode.apply(String,d.slice(0,h))),f.join("")):String.fromCharCode.apply(String,d.slice(0,h))};var s="invalid encoding";t.decode=function(l,c,p){for(var f=p,d=0,h,m=0;m<l.length;){var A=l.charCodeAt(m++);if(A===61&&d>1)break;if((A=r[A])===void 0)throw Error(s);switch(d){case 0:h=A,d=1;break;case 1:c[p++]=h<<2|(A&48)>>4,h=A,d=2;break;case 2:c[p++]=(h&15)<<4|(A&60)>>2,h=A,d=3;break;case 3:c[p++]=(h&3)<<6|A,d=0;break}}if(d===1)throw Error(s);return p-f},t.test=function(l){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(l)}})(base64)),base64}var eventemitter,hasRequiredEventemitter;function requireEventemitter(){if(hasRequiredEventemitter)return eventemitter;hasRequiredEventemitter=1,eventemitter=n;function n(){this._listeners={}}return n.prototype.on=function(e,r,o){return(this._listeners[e]||(this._listeners[e]=[])).push({fn:r,ctx:o||this}),this},n.prototype.off=function(e,r){if(e===void 0)this._listeners={};else if(r===void 0)this._listeners[e]=[];else for(var o=this._listeners[e],s=0;s<o.length;)o[s].fn===r?o.splice(s,1):++s;return this},n.prototype.emit=function(e){var r=this._listeners[e];if(r){for(var o=[],s=1;s<arguments.length;)o.push(arguments[s++]);for(s=0;s<r.length;)r[s].fn.apply(r[s++].ctx,o)}return this},eventemitter}var float,hasRequiredFloat;function requireFloat(){if(hasRequiredFloat)return float;hasRequiredFloat=1,float=n(n);function n(s){return typeof Float32Array!="undefined"?(function(){var u=new Float32Array([-0]),l=new Uint8Array(u.buffer),c=l[3]===128;function p(m,A,g){u[0]=m,A[g]=l[0],A[g+1]=l[1],A[g+2]=l[2],A[g+3]=l[3]}function f(m,A,g){u[0]=m,A[g]=l[3],A[g+1]=l[2],A[g+2]=l[1],A[g+3]=l[0]}s.writeFloatLE=c?p:f,s.writeFloatBE=c?f:p;function d(m,A){return l[0]=m[A],l[1]=m[A+1],l[2]=m[A+2],l[3]=m[A+3],u[0]}function h(m,A){return l[3]=m[A],l[2]=m[A+1],l[1]=m[A+2],l[0]=m[A+3],u[0]}s.readFloatLE=c?d:h,s.readFloatBE=c?h:d})():(function(){function u(c,p,f,d){var h=p<0?1:0;if(h&&(p=-p),p===0)c(1/p>0?0:2147483648,f,d);else if(isNaN(p))c(2143289344,f,d);else if(p>34028234663852886e22)c((h<<31|2139095040)>>>0,f,d);else if(p<11754943508222875e-54)c((h<<31|Math.round(p/1401298464324817e-60))>>>0,f,d);else{var m=Math.floor(Math.log(p)/Math.LN2),A=Math.round(p*Math.pow(2,-m)*8388608)&8388607;c((h<<31|m+127<<23|A)>>>0,f,d)}}s.writeFloatLE=u.bind(null,t),s.writeFloatBE=u.bind(null,e);function l(c,p,f){var d=c(p,f),h=(d>>31)*2+1,m=d>>>23&255,A=d&8388607;return m===255?A?NaN:h*(1/0):m===0?h*1401298464324817e-60*A:h*Math.pow(2,m-150)*(A+8388608)}s.readFloatLE=l.bind(null,r),s.readFloatBE=l.bind(null,o)})(),typeof Float64Array!="undefined"?(function(){var u=new Float64Array([-0]),l=new Uint8Array(u.buffer),c=l[7]===128;function p(m,A,g){u[0]=m,A[g]=l[0],A[g+1]=l[1],A[g+2]=l[2],A[g+3]=l[3],A[g+4]=l[4],A[g+5]=l[5],A[g+6]=l[6],A[g+7]=l[7]}function f(m,A,g){u[0]=m,A[g]=l[7],A[g+1]=l[6],A[g+2]=l[5],A[g+3]=l[4],A[g+4]=l[3],A[g+5]=l[2],A[g+6]=l[1],A[g+7]=l[0]}s.writeDoubleLE=c?p:f,s.writeDoubleBE=c?f:p;function d(m,A){return l[0]=m[A],l[1]=m[A+1],l[2]=m[A+2],l[3]=m[A+3],l[4]=m[A+4],l[5]=m[A+5],l[6]=m[A+6],l[7]=m[A+7],u[0]}function h(m,A){return l[7]=m[A],l[6]=m[A+1],l[5]=m[A+2],l[4]=m[A+3],l[3]=m[A+4],l[2]=m[A+5],l[1]=m[A+6],l[0]=m[A+7],u[0]}s.readDoubleLE=c?d:h,s.readDoubleBE=c?h:d})():(function(){function u(c,p,f,d,h,m){var A=d<0?1:0;if(A&&(d=-d),d===0)c(0,h,m+p),c(1/d>0?0:2147483648,h,m+f);else if(isNaN(d))c(0,h,m+p),c(2146959360,h,m+f);else if(d>17976931348623157e292)c(0,h,m+p),c((A<<31|2146435072)>>>0,h,m+f);else{var g;if(d<22250738585072014e-324)g=d/5e-324,c(g>>>0,h,m+p),c((A<<31|g/4294967296)>>>0,h,m+f);else{var y=Math.floor(Math.log(d)/Math.LN2);y===1024&&(y=1023),g=d*Math.pow(2,-y),c(g*4503599627370496>>>0,h,m+p),c((A<<31|y+1023<<20|g*1048576&1048575)>>>0,h,m+f)}}}s.writeDoubleLE=u.bind(null,t,0,4),s.writeDoubleBE=u.bind(null,e,4,0);function l(c,p,f,d,h){var m=c(d,h+p),A=c(d,h+f),g=(A>>31)*2+1,y=A>>>20&2047,v=4294967296*(A&1048575)+m;return y===2047?v?NaN:g*(1/0):y===0?g*5e-324*v:g*Math.pow(2,y-1075)*(v+4503599627370496)}s.readDoubleLE=l.bind(null,r,0,4),s.readDoubleBE=l.bind(null,o,4,0)})(),s}function t(s,u,l){u[l]=s&255,u[l+1]=s>>>8&255,u[l+2]=s>>>16&255,u[l+3]=s>>>24}function e(s,u,l){u[l]=s>>>24,u[l+1]=s>>>16&255,u[l+2]=s>>>8&255,u[l+3]=s&255}function r(s,u){return(s[u]|s[u+1]<<8|s[u+2]<<16|s[u+3]<<24)>>>0}function o(s,u){return(s[u]<<24|s[u+1]<<16|s[u+2]<<8|s[u+3])>>>0}return float}var inquire_1,hasRequiredInquire;function requireInquire(){if(hasRequiredInquire)return inquire_1;hasRequiredInquire=1,inquire_1=inquire;function inquire(moduleName){try{var mod=eval("quire".replace(/^/,"re"))(moduleName);if(mod&&(mod.length||Object.keys(mod).length))return mod}catch(n){}return null}return inquire_1}var utf8={},hasRequiredUtf8;function requireUtf8(){return hasRequiredUtf8||(hasRequiredUtf8=1,(function(n){var t=n;t.length=function(r){for(var o=0,s=0,u=0;u<r.length;++u)s=r.charCodeAt(u),s<128?o+=1:s<2048?o+=2:(s&64512)===55296&&(r.charCodeAt(u+1)&64512)===56320?(++u,o+=4):o+=3;return o},t.read=function(r,o,s){var u=s-o;if(u<1)return"";for(var l=null,c=[],p=0,f;o<s;)f=r[o++],f<128?c[p++]=f:f>191&&f<224?c[p++]=(f&31)<<6|r[o++]&63:f>239&&f<365?(f=((f&7)<<18|(r[o++]&63)<<12|(r[o++]&63)<<6|r[o++]&63)-65536,c[p++]=55296+(f>>10),c[p++]=56320+(f&1023)):c[p++]=(f&15)<<12|(r[o++]&63)<<6|r[o++]&63,p>8191&&((l||(l=[])).push(String.fromCharCode.apply(String,c)),p=0);return l?(p&&l.push(String.fromCharCode.apply(String,c.slice(0,p))),l.join("")):String.fromCharCode.apply(String,c.slice(0,p))},t.write=function(r,o,s){for(var u=s,l,c,p=0;p<r.length;++p)l=r.charCodeAt(p),l<128?o[s++]=l:l<2048?(o[s++]=l>>6|192,o[s++]=l&63|128):(l&64512)===55296&&((c=r.charCodeAt(p+1))&64512)===56320?(l=65536+((l&1023)<<10)+(c&1023),++p,o[s++]=l>>18|240,o[s++]=l>>12&63|128,o[s++]=l>>6&63|128,o[s++]=l&63|128):(o[s++]=l>>12|224,o[s++]=l>>6&63|128,o[s++]=l&63|128);return s-u}})(utf8)),utf8}var pool_1,hasRequiredPool;function requirePool(){if(hasRequiredPool)return pool_1;hasRequiredPool=1,pool_1=n;function n(t,e,r){var o=r||8192,s=o>>>1,u=null,l=o;return function(p){if(p<1||p>s)return t(p);l+p>o&&(u=t(o),l=0);var f=e.call(u,l,l+=p);return l&7&&(l=(l|7)+1),f}}return pool_1}var longbits,hasRequiredLongbits;function requireLongbits(){if(hasRequiredLongbits)return longbits;hasRequiredLongbits=1,longbits=t;var n=requireMinimal$1();function t(s,u){this.lo=s>>>0,this.hi=u>>>0}var e=t.zero=new t(0,0);e.toNumber=function(){return 0},e.zzEncode=e.zzDecode=function(){return this},e.length=function(){return 1};var r=t.zeroHash="\0\0\0\0\0\0\0\0";t.fromNumber=function(u){if(u===0)return e;var l=u<0;l&&(u=-u);var c=u>>>0,p=(u-c)/4294967296>>>0;return l&&(p=~p>>>0,c=~c>>>0,++c>4294967295&&(c=0,++p>4294967295&&(p=0))),new t(c,p)},t.from=function(u){if(typeof u=="number")return t.fromNumber(u);if(n.isString(u))if(n.Long)u=n.Long.fromString(u);else return t.fromNumber(parseInt(u,10));return u.low||u.high?new t(u.low>>>0,u.high>>>0):e},t.prototype.toNumber=function(u){if(!u&&this.hi>>>31){var l=~this.lo+1>>>0,c=~this.hi>>>0;return l||(c=c+1>>>0),-(l+c*4294967296)}return this.lo+this.hi*4294967296},t.prototype.toLong=function(u){return n.Long?new n.Long(this.lo|0,this.hi|0,!!u):{low:this.lo|0,high:this.hi|0,unsigned:!!u}};var o=String.prototype.charCodeAt;return t.fromHash=function(u){return u===r?e:new t((o.call(u,0)|o.call(u,1)<<8|o.call(u,2)<<16|o.call(u,3)<<24)>>>0,(o.call(u,4)|o.call(u,5)<<8|o.call(u,6)<<16|o.call(u,7)<<24)>>>0)},t.prototype.toHash=function(){return String.fromCharCode(this.lo&255,this.lo>>>8&255,this.lo>>>16&255,this.lo>>>24,this.hi&255,this.hi>>>8&255,this.hi>>>16&255,this.hi>>>24)},t.prototype.zzEncode=function(){var u=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^u)>>>0,this.lo=(this.lo<<1^u)>>>0,this},t.prototype.zzDecode=function(){var u=-(this.lo&1);return this.lo=((this.lo>>>1|this.hi<<31)^u)>>>0,this.hi=(this.hi>>>1^u)>>>0,this},t.prototype.length=function(){var u=this.lo,l=(this.lo>>>28|this.hi<<4)>>>0,c=this.hi>>>24;return c===0?l===0?u<16384?u<128?1:2:u<2097152?3:4:l<16384?l<128?5:6:l<2097152?7:8:c<128?9:10},longbits}var hasRequiredMinimal$1;function requireMinimal$1(){return hasRequiredMinimal$1||(hasRequiredMinimal$1=1,(function(n){var t=n;t.asPromise=requireAspromise(),t.base64=requireBase64(),t.EventEmitter=requireEventemitter(),t.float=requireFloat(),t.inquire=requireInquire(),t.utf8=requireUtf8(),t.pool=requirePool(),t.LongBits=requireLongbits(),t.isNode=!!(typeof commonjsGlobal!="undefined"&&commonjsGlobal&&commonjsGlobal.process&&commonjsGlobal.process.versions&&commonjsGlobal.process.versions.node),t.global=t.isNode&&commonjsGlobal||typeof window!="undefined"&&window||typeof self!="undefined"&&self||minimal$1,t.emptyArray=Object.freeze?Object.freeze([]):[],t.emptyObject=Object.freeze?Object.freeze({}):{},t.isInteger=Number.isInteger||function(s){return typeof s=="number"&&isFinite(s)&&Math.floor(s)===s},t.isString=function(s){return typeof s=="string"||s instanceof String},t.isObject=function(s){return s&&typeof s=="object"},t.isset=t.isSet=function(s,u){var l=s[u];return l!=null&&s.hasOwnProperty(u)?typeof l!="object"||(Array.isArray(l)?l.length:Object.keys(l).length)>0:!1},t.Buffer=(function(){try{var o=t.inquire("buffer").Buffer;return o.prototype.utf8Write?o:null}catch(s){return null}})(),t._Buffer_from=null,t._Buffer_allocUnsafe=null,t.newBuffer=function(s){return typeof s=="number"?t.Buffer?t._Buffer_allocUnsafe(s):new t.Array(s):t.Buffer?t._Buffer_from(s):typeof Uint8Array=="undefined"?s:new Uint8Array(s)},t.Array=typeof Uint8Array!="undefined"?Uint8Array:Array,t.Long=t.global.dcodeIO&&t.global.dcodeIO.Long||t.global.Long||t.inquire("long"),t.key2Re=/^true|false|0|1$/,t.key32Re=/^-?(?:0|[1-9][0-9]*)$/,t.key64Re=/^(?:[\\x00-\\xff]{8}|-?(?:0|[1-9][0-9]*))$/,t.longToHash=function(s){return s?t.LongBits.from(s).toHash():t.LongBits.zeroHash},t.longFromHash=function(s,u){var l=t.LongBits.fromHash(s);return t.Long?t.Long.fromBits(l.lo,l.hi,u):l.toNumber(!!u)};function e(o,s,u){for(var l=Object.keys(s),c=0;c<l.length;++c)(o[l[c]]===void 0||!u)&&(o[l[c]]=s[l[c]]);return o}t.merge=e,t.lcFirst=function(s){return s.charAt(0).toLowerCase()+s.substring(1)};function r(o){function s(u,l){if(!(this instanceof s))return new s(u,l);Object.defineProperty(this,"message",{get:function(){return u}}),Error.captureStackTrace?Error.captureStackTrace(this,s):Object.defineProperty(this,"stack",{value:new Error().stack||""}),l&&e(this,l)}return s.prototype=Object.create(Error.prototype,{constructor:{value:s,writable:!0,enumerable:!1,configurable:!0},name:{get:function(){return o},set:void 0,enumerable:!1,configurable:!0},toString:{value:function(){return this.name+": "+this.message},writable:!0,enumerable:!1,configurable:!0}}),s}t.newError=r,t.ProtocolError=r("ProtocolError"),t.oneOfGetter=function(s){for(var u={},l=0;l<s.length;++l)u[s[l]]=1;return function(){for(var c=Object.keys(this),p=c.length-1;p>-1;--p)if(u[c[p]]===1&&this[c[p]]!==void 0&&this[c[p]]!==null)return c[p]}},t.oneOfSetter=function(s){return function(u){for(var l=0;l<s.length;++l)s[l]!==u&&delete this[s[l]]}},t.toJSONOptions={longs:String,enums:String,bytes:String,json:!0},t._configure=function(){var o=t.Buffer;if(!o){t._Buffer_from=t._Buffer_allocUnsafe=null;return}t._Buffer_from=o.from!==Uint8Array.from&&o.from||function(u,l){return new o(u,l)},t._Buffer_allocUnsafe=o.allocUnsafe||function(u){return new o(u)}}})(minimal$1)),minimal$1}var writer,hasRequiredWriter;function requireWriter(){if(hasRequiredWriter)return writer;hasRequiredWriter=1,writer=c;var n=requireMinimal$1(),t,e=n.LongBits,r=n.base64,o=n.utf8;function s(y,v,E){this.fn=y,this.len=v,this.next=void 0,this.val=E}function u(){}function l(y){this.head=y.head,this.tail=y.tail,this.len=y.len,this.next=y.states}function c(){this.len=0,this.head=new s(u,0,0),this.tail=this.head,this.states=null}var p=function(){return n.Buffer?function(){return(c.create=function(){return new t})()}:function(){return new c}};c.create=p(),c.alloc=function(v){return new n.Array(v)},n.Array!==Array&&(c.alloc=n.pool(c.alloc,n.Array.prototype.subarray)),c.prototype._push=function(v,E,b){return this.tail=this.tail.next=new s(v,E,b),this.len+=E,this};function f(y,v,E){v[E]=y&255}function d(y,v,E){for(;y>127;)v[E++]=y&127|128,y>>>=7;v[E]=y}function h(y,v){this.len=y,this.next=void 0,this.val=v}h.prototype=Object.create(s.prototype),h.prototype.fn=d,c.prototype.uint32=function(v){return this.len+=(this.tail=this.tail.next=new h((v=v>>>0)<128?1:v<16384?2:v<2097152?3:v<268435456?4:5,v)).len,this},c.prototype.int32=function(v){return v<0?this._push(m,10,e.fromNumber(v)):this.uint32(v)},c.prototype.sint32=function(v){return this.uint32((v<<1^v>>31)>>>0)};function m(y,v,E){for(;y.hi;)v[E++]=y.lo&127|128,y.lo=(y.lo>>>7|y.hi<<25)>>>0,y.hi>>>=7;for(;y.lo>127;)v[E++]=y.lo&127|128,y.lo=y.lo>>>7;v[E++]=y.lo}c.prototype.uint64=function(v){var E=e.from(v);return this._push(m,E.length(),E)},c.prototype.int64=c.prototype.uint64,c.prototype.sint64=function(v){var E=e.from(v).zzEncode();return this._push(m,E.length(),E)},c.prototype.bool=function(v){return this._push(f,1,v?1:0)};function A(y,v,E){v[E]=y&255,v[E+1]=y>>>8&255,v[E+2]=y>>>16&255,v[E+3]=y>>>24}c.prototype.fixed32=function(v){return this._push(A,4,v>>>0)},c.prototype.sfixed32=c.prototype.fixed32,c.prototype.fixed64=function(v){var E=e.from(v);return this._push(A,4,E.lo)._push(A,4,E.hi)},c.prototype.sfixed64=c.prototype.fixed64,c.prototype.float=function(v){return this._push(n.float.writeFloatLE,4,v)},c.prototype.double=function(v){return this._push(n.float.writeDoubleLE,8,v)};var g=n.Array.prototype.set?function(v,E,b){E.set(v,b)}:function(v,E,b){for(var T=0;T<v.length;++T)E[b+T]=v[T]};return c.prototype.bytes=function(v){var E=v.length>>>0;if(!E)return this._push(f,1,0);if(n.isString(v)){var b=c.alloc(E=r.length(v));r.decode(v,b,0),v=b}return this.uint32(E)._push(g,E,v)},c.prototype.string=function(v){var E=o.length(v);return E?this.uint32(E)._push(o.write,E,v):this._push(f,1,0)},c.prototype.fork=function(){return this.states=new l(this),this.head=this.tail=new s(u,0,0),this.len=0,this},c.prototype.reset=function(){return this.states?(this.head=this.states.head,this.tail=this.states.tail,this.len=this.states.len,this.states=this.states.next):(this.head=this.tail=new s(u,0,0),this.len=0),this},c.prototype.ldelim=function(){var v=this.head,E=this.tail,b=this.len;return this.reset().uint32(b),b&&(this.tail.next=v.next,this.tail=E,this.len+=b),this},c.prototype.finish=function(){for(var v=this.head.next,E=this.constructor.alloc(this.len),b=0;v;)v.fn(v.val,E,b),b+=v.len,v=v.next;return E},c._configure=function(y){t=y,c.create=p(),t._configure()},writer}var writer_buffer,hasRequiredWriter_buffer;function requireWriter_buffer(){if(hasRequiredWriter_buffer)return writer_buffer;hasRequiredWriter_buffer=1,writer_buffer=e;var n=requireWriter();(e.prototype=Object.create(n.prototype)).constructor=e;var t=requireMinimal$1();function e(){n.call(this)}e._configure=function(){e.alloc=t._Buffer_allocUnsafe,e.writeBytesBuffer=t.Buffer&&t.Buffer.prototype instanceof Uint8Array&&t.Buffer.prototype.set.name==="set"?function(s,u,l){u.set(s,l)}:function(s,u,l){if(s.copy)s.copy(u,l,0,s.length);else for(var c=0;c<s.length;)u[l++]=s[c++]}},e.prototype.bytes=function(s){t.isString(s)&&(s=t._Buffer_from(s,"base64"));var u=s.length>>>0;return this.uint32(u),u&&this._push(e.writeBytesBuffer,u,s),this};function r(o,s,u){o.length<40?t.utf8.write(o,s,u):s.utf8Write?s.utf8Write(o,u):s.write(o,u)}return e.prototype.string=function(s){var u=t.Buffer.byteLength(s);return this.uint32(u),u&&this._push(r,u,s),this},e._configure(),writer_buffer}var reader,hasRequiredReader;function requireReader(){if(hasRequiredReader)return reader;hasRequiredReader=1,reader=s;var n=requireMinimal$1(),t,e=n.LongBits,r=n.utf8;function o(d,h){return RangeError("index out of range: "+d.pos+" + "+(h||1)+" > "+d.len)}function s(d){this.buf=d,this.pos=0,this.len=d.length}var u=typeof Uint8Array!="undefined"?function(h){if(h instanceof Uint8Array||Array.isArray(h))return new s(h);throw Error("illegal buffer")}:function(h){if(Array.isArray(h))return new s(h);throw Error("illegal buffer")},l=function(){return n.Buffer?function(m){return(s.create=function(g){return n.Buffer.isBuffer(g)?new t(g):u(g)})(m)}:u};s.create=l(),s.prototype._slice=n.Array.prototype.subarray||n.Array.prototype.slice,s.prototype.uint32=(function(){var h=4294967295;return function(){if(h=(this.buf[this.pos]&127)>>>0,this.buf[this.pos++]<128||(h=(h|(this.buf[this.pos]&127)<<7)>>>0,this.buf[this.pos++]<128)||(h=(h|(this.buf[this.pos]&127)<<14)>>>0,this.buf[this.pos++]<128)||(h=(h|(this.buf[this.pos]&127)<<21)>>>0,this.buf[this.pos++]<128)||(h=(h|(this.buf[this.pos]&15)<<28)>>>0,this.buf[this.pos++]<128))return h;if((this.pos+=5)>this.len)throw this.pos=this.len,o(this,10);return h}})(),s.prototype.int32=function(){return this.uint32()|0},s.prototype.sint32=function(){var h=this.uint32();return h>>>1^-(h&1)|0};function c(){var d=new e(0,0),h=0;if(this.len-this.pos>4){for(;h<4;++h)if(d.lo=(d.lo|(this.buf[this.pos]&127)<<h*7)>>>0,this.buf[this.pos++]<128)return d;if(d.lo=(d.lo|(this.buf[this.pos]&127)<<28)>>>0,d.hi=(d.hi|(this.buf[this.pos]&127)>>4)>>>0,this.buf[this.pos++]<128)return d;h=0}else{for(;h<3;++h){if(this.pos>=this.len)throw o(this);if(d.lo=(d.lo|(this.buf[this.pos]&127)<<h*7)>>>0,this.buf[this.pos++]<128)return d}return d.lo=(d.lo|(this.buf[this.pos++]&127)<<h*7)>>>0,d}if(this.len-this.pos>4){for(;h<5;++h)if(d.hi=(d.hi|(this.buf[this.pos]&127)<<h*7+3)>>>0,this.buf[this.pos++]<128)return d}else for(;h<5;++h){if(this.pos>=this.len)throw o(this);if(d.hi=(d.hi|(this.buf[this.pos]&127)<<h*7+3)>>>0,this.buf[this.pos++]<128)return d}throw Error("invalid varint encoding")}s.prototype.bool=function(){return this.uint32()!==0};function p(d,h){return(d[h-4]|d[h-3]<<8|d[h-2]<<16|d[h-1]<<24)>>>0}s.prototype.fixed32=function(){if(this.pos+4>this.len)throw o(this,4);return p(this.buf,this.pos+=4)},s.prototype.sfixed32=function(){if(this.pos+4>this.len)throw o(this,4);return p(this.buf,this.pos+=4)|0};function f(){if(this.pos+8>this.len)throw o(this,8);return new e(p(this.buf,this.pos+=4),p(this.buf,this.pos+=4))}return s.prototype.float=function(){if(this.pos+4>this.len)throw o(this,4);var h=n.float.readFloatLE(this.buf,this.pos);return this.pos+=4,h},s.prototype.double=function(){if(this.pos+8>this.len)throw o(this,4);var h=n.float.readDoubleLE(this.buf,this.pos);return this.pos+=8,h},s.prototype.bytes=function(){var h=this.uint32(),m=this.pos,A=this.pos+h;if(A>this.len)throw o(this,h);if(this.pos+=h,Array.isArray(this.buf))return this.buf.slice(m,A);if(m===A){var g=n.Buffer;return g?g.alloc(0):new this.buf.constructor(0)}return this._slice.call(this.buf,m,A)},s.prototype.string=function(){var h=this.bytes();return r.read(h,0,h.length)},s.prototype.skip=function(h){if(typeof h=="number"){if(this.pos+h>this.len)throw o(this,h);this.pos+=h}else do if(this.pos>=this.len)throw o(this);while(this.buf[this.pos++]&128);return this},s.prototype.skipType=function(d){switch(d){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;(d=this.uint32()&7)!==4;)this.skipType(d);break;case 5:this.skip(4);break;default:throw Error("invalid wire type "+d+" at offset "+this.pos)}return this},s._configure=function(d){t=d,s.create=l(),t._configure();var h=n.Long?"toLong":"toNumber";n.merge(s.prototype,{int64:function(){return c.call(this)[h](!1)},uint64:function(){return c.call(this)[h](!0)},sint64:function(){return c.call(this).zzDecode()[h](!1)},fixed64:function(){return f.call(this)[h](!0)},sfixed64:function(){return f.call(this)[h](!1)}})},reader}var reader_buffer,hasRequiredReader_buffer;function requireReader_buffer(){if(hasRequiredReader_buffer)return reader_buffer;hasRequiredReader_buffer=1,reader_buffer=e;var n=requireReader();(e.prototype=Object.create(n.prototype)).constructor=e;var t=requireMinimal$1();function e(r){n.call(this,r)}return e._configure=function(){t.Buffer&&(e.prototype._slice=t.Buffer.prototype.slice)},e.prototype.string=function(){var o=this.uint32();return this.buf.utf8Slice?this.buf.utf8Slice(this.pos,this.pos=Math.min(this.pos+o,this.len)):this.buf.toString("utf-8",this.pos,this.pos=Math.min(this.pos+o,this.len))},e._configure(),reader_buffer}var rpc={},service,hasRequiredService;function requireService(){if(hasRequiredService)return service;hasRequiredService=1,service=t;var n=requireMinimal$1();(t.prototype=Object.create(n.EventEmitter.prototype)).constructor=t;function t(e,r,o){if(typeof e!="function")throw TypeError("rpcImpl must be a function");n.EventEmitter.call(this),this.rpcImpl=e,this.requestDelimited=!!r,this.responseDelimited=!!o}return t.prototype.rpcCall=function e(r,o,s,u,l){if(!u)throw TypeError("request must be specified");var c=this;if(!l)return n.asPromise(e,c,r,o,s,u);if(!c.rpcImpl){setTimeout(function(){l(Error("already ended"))},0);return}try{return c.rpcImpl(r,o[c.requestDelimited?"encodeDelimited":"encode"](u).finish(),function(f,d){if(f)return c.emit("error",f,r),l(f);if(d===null){c.end(!0);return}if(!(d instanceof s))try{d=s[c.responseDelimited?"decodeDelimited":"decode"](d)}catch(h){return c.emit("error",h,r),l(h)}return c.emit("data",d,r),l(null,d)})}catch(p){c.emit("error",p,r),setTimeout(function(){l(p)},0);return}},t.prototype.end=function(r){return this.rpcImpl&&(r||this.rpcImpl(null,null,null),this.rpcImpl=null,this.emit("end").off()),this},service}var hasRequiredRpc;function requireRpc(){return hasRequiredRpc||(hasRequiredRpc=1,(function(n){var t=n;t.Service=requireService()})(rpc)),rpc}var roots,hasRequiredRoots;function requireRoots(){return hasRequiredRoots||(hasRequiredRoots=1,roots={}),roots}var hasRequiredIndexMinimal;function requireIndexMinimal(){return hasRequiredIndexMinimal||(hasRequiredIndexMinimal=1,(function(n){var t=n;t.build="minimal",t.Writer=requireWriter(),t.BufferWriter=requireWriter_buffer(),t.Reader=requireReader(),t.BufferReader=requireReader_buffer(),t.util=requireMinimal$1(),t.rpc=requireRpc(),t.roots=requireRoots(),t.configure=e;function e(){t.util._configure(),t.Writer._configure(t.BufferWriter),t.Reader._configure(t.BufferReader)}e()})(indexMinimal)),indexMinimal}var minimal,hasRequiredMinimal;function requireMinimal(){return hasRequiredMinimal||(hasRequiredMinimal=1,minimal=requireIndexMinimal()),minimal}var minimalExports=requireMinimal();const $Reader$1=minimalExports.Reader,$util$1=minimalExports.util,$root$1=minimalExports.roots["@REALSEE/FIVE:five/model/loaders/protobuf/pbm.proto"]||(minimalExports.roots["@REALSEE/FIVE:five/model/loaders/protobuf/pbm.proto"]={}),Model$2=$root$1.Model=(()=>{function n(t){if(this.chunks=[],t)for(let e=Object.keys(t),r=0;r<e.length;++r)t[e[r]]!=null&&(this[e[r]]=t[e[r]])}return n.prototype.chunks=$util$1.emptyArray,n.prototype.createAt=$util$1.Long?$util$1.Long.fromBits(0,0,!0):0,n.prototype.description="",n.decode=function(e,r,o){e instanceof $Reader$1||(e=$Reader$1.create(e));let s=r===void 0?e.len:e.pos+r,u=new $root$1.Model;for(;e.pos<s;){let l=e.uint32();if(l===o)break;switch(l>>>3){case 1:{u.chunks&&u.chunks.length||(u.chunks=[]),u.chunks.push($root$1.Chunk.decode(e,e.uint32()));break}case 2:{u.createAt=e.uint64();break}case 3:{u.description=e.string();break}default:e.skipType(l&7);break}}return u},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/Model"},n})();$root$1.Chunk=(()=>{function n(t){if(t)for(let e=Object.keys(t),r=0;r<e.length;++r)t[e[r]]!=null&&(this[e[r]]=t[e[r]])}return n.prototype.vertices=null,n.prototype.faces=null,n.prototype.name="",n.prototype.texture="",n.decode=function(e,r,o){e instanceof $Reader$1||(e=$Reader$1.create(e));let s=r===void 0?e.len:e.pos+r,u=new $root$1.Chunk;for(;e.pos<s;){let l=e.uint32();if(l===o)break;switch(l>>>3){case 1:{u.vertices=$root$1.Vertices.decode(e,e.uint32());break}case 2:{u.faces=$root$1.Faces.decode(e,e.uint32());break}case 3:{u.name=e.string();break}case 4:{u.texture=e.string();break}default:e.skipType(l&7);break}}if(!u.hasOwnProperty("vertices"))throw $util$1.ProtocolError("missing required 'vertices'",{instance:u});if(!u.hasOwnProperty("faces"))throw $util$1.ProtocolError("missing required 'faces'",{instance:u});if(!u.hasOwnProperty("name"))throw $util$1.ProtocolError("missing required 'name'",{instance:u});return u},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/Chunk"},n})(),$root$1.Vertices=(()=>{function n(t){if(this.xyz=[],this.uvs=[],this.marks=[],t)for(let e=Object.keys(t),r=0;r<e.length;++r)t[e[r]]!=null&&(this[e[r]]=t[e[r]])}return n.prototype.xyz=$util$1.emptyArray,n.prototype.uvs=$util$1.emptyArray,n.prototype.marks=$util$1.emptyArray,n.decode=function(e,r,o){e instanceof $Reader$1||(e=$Reader$1.create(e));let s=r===void 0?e.len:e.pos+r,u=new $root$1.Vertices;for(;e.pos<s;){let l=e.uint32();if(l===o)break;switch(l>>>3){case 1:{if(u.xyz&&u.xyz.length||(u.xyz=[]),(l&7)===2){let c=e.uint32()+e.pos;for(;e.pos<c;)u.xyz.push(e.float())}else u.xyz.push(e.float());break}case 2:{if(u.uvs&&u.uvs.length||(u.uvs=[]),(l&7)===2){let c=e.uint32()+e.pos;for(;e.pos<c;)u.uvs.push(e.float())}else u.uvs.push(e.float());break}case 3:{if(u.marks&&u.marks.length||(u.marks=[]),(l&7)===2){let c=e.uint32()+e.pos;for(;e.pos<c;)u.marks.push(e.int32())}else u.marks.push(e.int32());break}default:e.skipType(l&7);break}}return u},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/Vertices"},n})(),$root$1.Faces=(()=>{function n(t){if(this.indices=[],this.normals=[],t)for(let e=Object.keys(t),r=0;r<e.length;++r)t[e[r]]!=null&&(this[e[r]]=t[e[r]])}return n.prototype.indices=$util$1.emptyArray,n.prototype.normals=$util$1.emptyArray,n.decode=function(e,r,o){e instanceof $Reader$1||(e=$Reader$1.create(e));let s=r===void 0?e.len:e.pos+r,u=new $root$1.Faces;for(;e.pos<s;){let l=e.uint32();if(l===o)break;switch(l>>>3){case 1:{if(u.indices&&u.indices.length||(u.indices=[]),(l&7)===2){let c=e.uint32()+e.pos;for(;e.pos<c;)u.indices.push(e.uint32())}else u.indices.push(e.uint32());break}case 2:{if(u.normals&&u.normals.length||(u.normals=[]),(l&7)===2){let c=e.uint32()+e.pos;for(;e.pos<c;)u.normals.push(e.float())}else u.normals.push(e.float());break}default:e.skipType(l&7);break}}return u},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/Faces"},n})(),$root$1.VertexMark=(()=>{const n={},t=Object.create(n);return t[n[0]="VERTEX_MARK_UNSPECIFIED"]=0,t[n[1]="VERTEX_MARK_ROOF"]=1,t})();function fixNumber(n){return isNaN(n)||!isFinite(n)?0:n}function getGeometryMemoryUsed(n){var t=0;if(n instanceof THREE__namespace.BufferGeometry){for(var e in n.attributes){var r=n.getAttribute(e),o=4;"BYTES_PER_ELEMENT"in r.array&&typeof r.array.BYTES_PER_ELEMENT=="number"&&(o=r.array.BYTES_PER_ELEMENT),t+=fixNumber(r.count*r.itemSize*o)}var s=n.getIndex();if(s){var o=4;"BYTES_PER_ELEMENT"in s.array&&typeof s.array.BYTES_PER_ELEMENT=="number"&&(o=s.array.BYTES_PER_ELEMENT),t+=fixNumber(s.count*s.itemSize*o)}}else n instanceof THREE__namespace.Geometry&&(t+=fixNumber(n.faces.length*3*3*4),t+=fixNumber(n.faceVertexUvs.length*3*2*4));return t}function makeComputeBlockRectSizeFunction(n,t,e){return function(r,o,s){var u=(r+n-1)/n|0,l=(o+t-1)/t|0;return u*l*e*s}}function makeComputePaddedRectSizeFunction(n,t,e){return function(r,o,s){return(Math.max(r,n)*Math.max(o,t)/e|0)*s}}var compressedTextureFunctions=new Map([[THREE__namespace.RGB_S3TC_DXT1_Format,makeComputeBlockRectSizeFunction(4,4,8)],[THREE__namespace.RGBA_S3TC_DXT1_Format,makeComputeBlockRectSizeFunction(4,4,8)],[THREE__namespace.RGBA_S3TC_DXT3_Format,makeComputeBlockRectSizeFunction(4,4,16)],[THREE__namespace.RGBA_S3TC_DXT5_Format,makeComputeBlockRectSizeFunction(4,4,16)],[THREE__namespace.RGB_ETC1_Format,makeComputeBlockRectSizeFunction(4,4,8)],[THREE__namespace.RGB_PVRTC_4BPPV1_Format,makeComputePaddedRectSizeFunction(8,8,2)],[THREE__namespace.RGBA_PVRTC_4BPPV1_Format,makeComputePaddedRectSizeFunction(8,8,2)],[THREE__namespace.RGB_PVRTC_2BPPV1_Format,makeComputePaddedRectSizeFunction(16,8,4)],[THREE__namespace.RGBA_PVRTC_2BPPV1_Format,makeComputePaddedRectSizeFunction(16,8,4)],[THREE__namespace.RGB_ETC2_Format,makeComputeBlockRectSizeFunction(4,4,8)],[THREE__namespace.RGBA_ETC2_EAC_Format,makeComputeBlockRectSizeFunction(4,4,16)],[THREE__namespace.RGBA_ASTC_4x4_Format,makeComputeBlockRectSizeFunction(4,4,16)],[THREE__namespace.SRGB8_ALPHA8_ASTC_4x4_Format,makeComputeBlockRectSizeFunction(4,4,16)],[THREE__namespace.RGBA_ASTC_5x4_Format,makeComputeBlockRectSizeFunction(5,4,16)],[THREE__namespace.SRGB8_ALPHA8_ASTC_5x4_Format,makeComputeBlockRectSizeFunction(5,4,16)],[THREE__namespace.RGBA_ASTC_5x5_Format,makeComputeBlockRectSizeFunction(5,5,16)],[THREE__namespace.SRGB8_ALPHA8_ASTC_5x5_Format,makeComputeBlockRectSizeFunction(5,5,16)],[THREE__namespace.RGBA_ASTC_6x5_Format,makeComputeBlockRectSizeFunction(6,5,16)],[THREE__namespace.SRGB8_ALPHA8_ASTC_6x5_Format,makeComputeBlockRectSizeFunction(6,5,16)],[THREE__namespace.RGBA_ASTC_6x6_Format,makeComputeBlockRectSizeFunction(6,6,16)],[THREE__namespace.SRGB8_ALPHA8_ASTC_6x6_Format,makeComputeBlockRectSizeFunction(6,6,16)],[THREE__namespace.RGBA_ASTC_8x5_Format,makeComputeBlockRectSizeFunction(8,5,16)],[THREE__namespace.SRGB8_ALPHA8_ASTC_8x5_Format,makeComputeBlockRectSizeFunction(8,5,16)],[THREE__namespace.RGBA_ASTC_8x6_Format,makeComputeBlockRectSizeFunction(8,6,16)],[THREE__namespace.SRGB8_ALPHA8_ASTC_8x6_Format,makeComputeBlockRectSizeFunction(8,6,16)],[THREE__namespace.RGBA_ASTC_8x8_Format,makeComputeBlockRectSizeFunction(8,8,16)],[THREE__namespace.SRGB8_ALPHA8_ASTC_8x8_Format,makeComputeBlockRectSizeFunction(8,8,16)],[THREE__namespace.RGBA_ASTC_10x5_Format,makeComputeBlockRectSizeFunction(10,5,16)],[THREE__namespace.SRGB8_ALPHA8_ASTC_10x5_Format,makeComputeBlockRectSizeFunction(10,5,16)],[THREE__namespace.RGBA_ASTC_10x6_Format,makeComputeBlockRectSizeFunction(10,6,16)],[THREE__namespace.SRGB8_ALPHA8_ASTC_10x6_Format,makeComputeBlockRectSizeFunction(10,6,16)],[THREE__namespace.RGBA_ASTC_10x8_Format,makeComputeBlockRectSizeFunction(10,8,16)],[THREE__namespace.SRGB8_ALPHA8_ASTC_10x8_Format,makeComputeBlockRectSizeFunction(10,8,16)],[THREE__namespace.RGBA_ASTC_10x10_Format,makeComputeBlockRectSizeFunction(10,10,16)],[THREE__namespace.SRGB8_ALPHA8_ASTC_10x10_Format,makeComputeBlockRectSizeFunction(10,10,16)],[THREE__namespace.RGBA_ASTC_12x10_Format,makeComputeBlockRectSizeFunction(12,10,16)],[THREE__namespace.SRGB8_ALPHA8_ASTC_12x10_Format,makeComputeBlockRectSizeFunction(12,10,16)],[THREE__namespace.RGBA_ASTC_12x12_Format,makeComputeBlockRectSizeFunction(12,12,16)],[THREE__namespace.SRGB8_ALPHA8_ASTC_12x12_Format,makeComputeBlockRectSizeFunction(12,12,16)],[THREE__namespace.RGBA_BPTC_Format,makeComputeBlockRectSizeFunction(4,4,16)]]);function getTextureMemoryUsed(n){var t=0,e=1;(n.generateMipmaps===!0||n.mipmaps&&n.mipmaps.length>1)&&(e=1.33);for(var r=n instanceof THREE__namespace.CompressedTexture,o=r?compressedTextureFunctions.get(n.format):void 0,s=[].concat(n.image),u=0,l=s;u<l.length;u++){var c=l[u];if(c)if(c instanceof THREE__namespace.Texture)t+=getTextureMemoryUsed(c);else{var p=c.width,f=p===void 0?1:p,d=c.height,h=d===void 0?1:d,m=c.depth,A=m===void 0?1:m;o?t+=fixNumber(o(f,h,A)*e):t+=fixNumber(f*h*A*4*e)}}return t}var textureSet=new Set,textureNames=["map","alphaMap","bumpMap","normalMap","displacementMap","emissiveMap","specularMap","envMap","flipEnvMap","lightMap","aoMap","gradientMap","metalnessMap","roughnessMap","sheenColorMap","sheenRoughnessMap","clearcoatMap","clearcoatRoughnessMap","clearcoatNormalMap","iridescenceMap","iridescenceThicknessMap","transmissionMap","thicknessMap","anisotropyMap","specularColorMap","specularIntensityMap"];function getMaterialMemoryUsed(n){var t=0;if(textureSet.clear(),n instanceof THREE__namespace.ShaderMaterial)for(var e in n.uniforms){var r=n.uniforms[e],o=r&&r.value&&r.value instanceof THREE__namespace.Texture?r.value:void 0;o instanceof THREE__namespace.Texture&&(textureSet.has(o)||(t=getTextureMemoryUsed(o),textureSet.add(o)))}else for(var s=0,u=textureNames;s<u.length;s++){var l=u[s],o=n[l];o instanceof THREE__namespace.Texture&&(textureSet.has(o)||(t=getTextureMemoryUsed(o),textureSet.add(o)))}return textureSet.clear(),t}var sceneSet=new Set;function getMemoryUsage(n){var t=0;return sceneSet.clear(),n.traverse(function(e){if(e instanceof THREE__namespace.Mesh||e instanceof THREE__namespace.Line||e instanceof THREE__namespace.Points){var r=e.geometry;(r instanceof THREE__namespace.BufferGeometry||r instanceof THREE__namespace.Geometry)&&(sceneSet.has(r)||(t+=getGeometryMemoryUsed(r),sceneSet.add(r)));for(var o=[].concat(e.material),s=0,u=o;s<u.length;s++){var l=u[s];l instanceof THREE__namespace.Material&&(sceneSet.has(l)||(t+=getMaterialMemoryUsed(l),sceneSet.add(l)))}}}),sceneSet.clear(),t}function guessTextureBaseUriFromFileUrl(n){var t=n.lastIndexOf("/");if(t>=0){var e=n.slice(0,t+1),r=e.replace(/\/(model)(\/|$)/,function(o,s,u){return"/materials"+u});return r}return""}function loadPbm(n,t){var e,r,o,s,u,l;t===void 0&&(t={});for(var c=(e=t.upAxis)!==null&&e!==void 0?e:"Z",p=(r=t.light)!==null&&r!==void 0?r:!1,f=(o=t.fetcher)!==null&&o!==void 0?o:internalFetcher,d=(s=t.textureBaseUri)!==null&&s!==void 0?s:guessTextureBaseUriFromFileUrl(n),h=t.textureBaseUri===void 0?[]:((u=t.textureArray)!==null&&u!==void 0?u:[]).slice(),m=autoRestImageOptionsByTextureLength((l=t.textureOptions)!==null&&l!==void 0?l:{},h.length),A=new Map,g=0,y=h;g<y.length;g++){var v=y[g];A.set(v,loadTexture$1(v,d,m,f))}var E={byteLength:0};return Promise.resolve().then(function(){return f.ajax(n,{responseType:"arraybuffer"})}).then(function(b){E.byteLength=b.body.byteLength;var T=new Uint8Array(b.body);return Model$2.decode(T)}).then(function(b){return parse$4(b,p,d,h,m,A,f)}).then(function(b){A.clear();var T=new THREE__namespace.Group;T.name=n;for(var _=0,S=b.objects;_<S.length;_++){var R=S[_];T.add(R)}return c==="Y"&&T.applyMatrix4(ROTATE_X_MATRIX_INVERSE),{type:"pbm",modelUpAxis:"Z",upAxis:c,uri:n,byteLength:E.byteLength,memoryUsage:getMemoryUsage(T),scene:T,textures:b.textures,animations:[],dispose:function(){return b.dispose()}}})}function parseFloorName(n){var t=n.match(/(group|floor)-?(\d+)/);return t?parseInt(t[2],10):0}function parseChunkName(n){var t=n.match(/(chunk)-?(\d+)/);return t?parseInt(t[2],10):0}function parseSubName(n){var t=n.match(/(sub)-?(\d+)/);return t?parseInt(t[2],10):0}function chunkOrder(n){var t=parseFloorName(n.name),e=parseChunkName(n.name),r=parseSubName(n.name);return t*1e6+e*1e3+r}function parsePBMModel(n){for(var t,e,r,o=typeof n.createAt=="number"?n.createAt:0,s=(t=n.description)!==null&&t!==void 0?t:"",u=[],l=!0,c=!0,p=0,f=n.chunks;p<f.length;p++){var d=f[p];if(!d.vertices.marks||d.vertices.marks.length===0){c=!1;break}}for(var h=0,m=n.chunks;h<m.length;h++){var d=m[h];if(!d.faces.normals||d.faces.normals.length===0){l=!1;break}}for(var A=n.chunks.sort(function(ce,ie){return chunkOrder(ce)-chunkOrder(ie)}),g=[],y=0,v=A;y<v.length;y++){var d=v[y],E=parseFloorName(d.name);g[E]||(g[E]=[]),g[E].push(d)}for(var b=0;b<g.length;b++){var T=g[b];if(T)if(l){for(var _=0,S=0;S<T.length;S++){var d=T[S];_+=d.faces.indices.length}for(var R=new Float32Array(_*3),w=new Float32Array(_*2),M=new Float32Array(_*3),B=c?new Float32Array(_):void 0,C=[],P=[1/0,1/0,1/0,-1/0,-1/0,-1/0],L=0,O=0;O<T.length;O++){for(var F=[1/0,1/0,1/0,-1/0,-1/0,-1/0],d=T[O],N=d.vertices.xyz,D=d.vertices.uvs,U=d.faces.indices,z=d.faces.normals,K=d.vertices.marks,j=U.length,S=0;S<j;S++){var Q=U[S],V=R[L*3+S*3]=N[Q*3],J=R[L*3+S*3+1]=N[Q*3+1],W=R[L*3+S*3+2]=N[Q*3+2];B&&(B[L+S]=K[Q]),w[L*2+S*2]=D[Q*2],w[L*2+S*2+1]=D[Q*2+1];var X=Math.floor(S/3)*3;M[L*3+S*3]=z[X],M[L*3+S*3+1]=z[X+1],M[L*3+S*3+2]=z[X+2],V<F[0]&&(F[0]=V),J<F[1]&&(F[1]=J),W<F[2]&&(F[2]=W),V>F[3]&&(F[3]=V),J>F[4]&&(F[4]=J),W>F[5]&&(F[5]=W)}F[0]<P[0]&&(P[0]=F[0]),F[1]<P[1]&&(P[1]=F[1]),F[2]<P[2]&&(P[2]=F[2]),F[3]>P[3]&&(P[3]=F[3]),F[4]>P[4]&&(P[4]=F[4]),F[5]>P[5]&&(P[5]=F[5]),C.push({materialIndex:O,name:d.name,chunkName:parseChunkName(d.name),start:L,count:d.faces.indices.length,texture:(e=d.texture)!==null&&e!==void 0?e:void 0}),L+=j}var Z={createAt:o,description:s,vertices:R,uvs:w,normals:M,masks:B,indices:null,floorIndex:b,groups:C,extents:P};u.push(Z)}else{for(var _=0,Y=0,S=0;S<T.length;S++){var d=T[S];Y+=d.vertices.xyz.length/3,_+=d.faces.indices.length}for(var R=new Float32Array(Y*3),w=new Float32Array(Y*2),M=void 0,G=new Float32Array(Y),ee=new Uint32Array(_),B=c?new Float32Array(_):void 0,C=[],P=[1/0,1/0,1/0,-1/0,-1/0,-1/0],te=0,L=0,O=0;O<T.length;O++){for(var F=[1/0,1/0,1/0,-1/0,-1/0,-1/0],d=T[O],N=d.vertices.xyz,ne=d.vertices.marks,D=d.vertices.uvs,U=d.faces.indices,ae=N.length/3,j=U.length,S=0;S<ae;S++){var V=R[L*3+S*3]=N[S*3],J=R[L*3+S*3+1]=N[S*3+1],W=R[L*3+S*3+2]=N[S*3+2];B&&(B[L+S]=ne[S]),w[L*2+S*2]=D[S*2],w[L*2+S*2+1]=D[S*2+1],G[L+S]=b,V<F[0]&&(F[0]=V),J<F[1]&&(F[1]=J),W<F[2]&&(F[2]=W),V>F[3]&&(F[3]=V),J>F[4]&&(F[4]=J),W>F[5]&&(F[5]=W)}F[0]<P[0]&&(P[0]=F[0]),F[1]<P[1]&&(P[1]=F[1]),F[2]<P[2]&&(P[2]=F[2]),F[3]>P[3]&&(P[3]=F[3]),F[4]>P[4]&&(P[4]=F[4]),F[5]>P[5]&&(P[5]=F[5]);for(var S=0;S<j;S++)ee[te+S]=L+U[S];C.push({materialIndex:O,name:d.name,chunkName:parseChunkName(d.name),start:te,count:d.faces.indices.length,texture:(r=d.texture)!==null&&r!==void 0?r:void 0}),L+=ae,te+=j}var Z={createAt:o,description:s,vertices:R,uvs:w,normals:M,masks:B,indices:ee,floorIndex:b,groups:C,extents:P};u.push(Z)}}return u}function loadTexture$1(n,t,e,r){var o=__assign({key:"texture.pbm"},pick(e,["format","quality","size","sharpen","forceUseExifOrientation","mappings"])),s=new TextureLoader,u=isAbsoluteURL(n)?n:pathJoin(t,n);return s.loadTexture(u,{imageURL:{transform:e.transform,options:o},encoding:THREE__namespace.sRGBEncoding,wrapS:THREE__namespace.ClampToEdgeWrapping,wrapT:THREE__namespace.ClampToEdgeWrapping,minFilter:THREE__namespace.LinearFilter,maxSize:typeof o.size=="number"?new THREE__namespace.Vector2(o.size,o.size):void 0,fetcher:r}).then(function(l){var c=l.body;return c.needsUpdate=!0,c})}function parse$4(n,t,e,r,o,s,u){for(var l=parsePBMModel(n),c=0,p="",f=[],d={},h=new Set,m=0,A=0,g=l;A<g.length;A++){var y=g[A],v=y.createAt,E=y.description,b=y.vertices,T=y.masks,_=y.uvs,S=y.normals,R=y.indices,w=y.floorIndex,M=y.groups,B=y.extents,C=new THREE__namespace.Box3;C.min.x=B[0],C.min.y=B[1],C.min.z=B[2],C.max.x=B[3],C.max.y=B[4],C.max.z=B[5];var P=new THREE__namespace.BufferGeometry;P.setAttribute("position",new THREE__namespace.BufferAttribute(b,3)),P.setAttribute("uv",new THREE__namespace.BufferAttribute(_,2)),S&&P.setAttribute("normal",new THREE__namespace.BufferAttribute(S,3)),T&&P.setAttribute("_feature_id_rsmask",new THREE__namespace.BufferAttribute(T,1)),R&&P.setIndex(new THREE__namespace.BufferAttribute(R,1)),P.boundingBox=C,P.boundingSphere=C.getBoundingSphere(new THREE__namespace.Sphere);for(var L=0,O=M;L<O.length;L++){var F=O[L];P.addGroup(F.start,F.count,F.materialIndex)}h.add(P);for(var N=[],D=0,U=M;D<U.length;D++){var F=U[D],z=void 0;if(F.texture){if(z=F.texture,r.length>0&&r.indexOf(F.texture)===-1){for(var K=0,j=r;K<j.length;K++){var Q=j[K],V=isAbsoluteURL(Q)?Q:pathJoin(e,Q),J=V.slice(F.texture.length*-1)===F.texture;if(J){z=Q;break}}console.warn("At3d/Pbm texture not matched. Use ends-guessing mode. ".concat(F.texture," -> ").concat(z))}isAbsoluteURL(z)||(z=pathJoin(e,z))}var W=new PBMMeshMaterial(t?"phong":"basic");W.floorIndex=w,P.attributes.normal===void 0&&(W.flatShading=!0),P.attributes._feature_id_rsmask&&(W.defines.USE_VERTEX_MARK=!0),N.push(W),z?(m++,d[z]?d[z].push(W):d[z]=[W]):W.color=new THREE__namespace.Color(16777215),h.add(W)}var X=new PBMMesh(P,N);X.name="model_floor_"+w,X.userData.createAt=v,X.userData.description=E,X.matrix.compose(X.position,X.quaternion,X.scale),X.matrixAutoUpdate=!1,X.frustumCulled=!1,c=v,p=E,f.push(X)}o=autoRestImageOptionsByTextureLength(o,m);for(var Z=[],Y=function(ne){var ae=void 0;s&&(ae=s.get(ne)),ae||(ae=loadTexture$1(ne,e,o,u),s&&s.set(ne,ae)),Z.push(ae.then(function(ce){for(var ie=0,fe=d[ne];ie<fe.length;ie++){var ge=fe[ie];ge.map&&(h.delete(ge.map),ge.map.dispose()),ge.map=ce,h.add(ce)}return ce}).catch(function(){for(var ce=0,ie=d[ne];ce<ie.length;ce++){var fe=ie[ce];fe.map&&(h.delete(fe.map),fe.map.dispose()),fe.map=null,fe.color=new THREE__namespace.Color(16777215)}return null}))},G=0,ee=Object.keys(d);G<ee.length;G++){var te=ee[G];Y(te)}return Promise.all(Z).then(function(ne){var ae=ne.filter(function(ce){return ce instanceof THREE__namespace.Texture});return{createAt:c,description:p,objects:f,textures:ae,dispose:function(){h.forEach(function(ce){ce.dispose()}),h.clear()}}})}function autoRestImageOptionsByTextureLength(n,t){return n=Object.assign({},n),n.autoResize!==!1&&(t>96?n.size=Math.min(n.size||1/0,100):t>48?n.size=Math.min(n.size||1/0,200):t>24?n.size=Math.min(n.size||1/0,400):t>22?n.size=Math.min(n.size||1/0,800):t>5&&(n.size=Math.min(n.size||1/0,1024))),n}function createLZMA(){var n={};return n.OutWindow=function(){this._windowSize=0},n.OutWindow.prototype.create=function(t){(!this._buffer||this._windowSize!==t)&&(this._buffer=[]),this._windowSize=t,this._pos=0,this._streamPos=0},n.OutWindow.prototype.flush=function(){var t=this._pos-this._streamPos;if(t!==0){for(;t--;)this._stream.writeByte(this._buffer[this._streamPos++]);this._pos>=this._windowSize&&(this._pos=0),this._streamPos=this._pos}},n.OutWindow.prototype.releaseStream=function(){this.flush(),this._stream=null},n.OutWindow.prototype.setStream=function(t){this.releaseStream(),this._stream=t},n.OutWindow.prototype.init=function(t){t||(this._streamPos=0,this._pos=0)},n.OutWindow.prototype.copyBlock=function(t,e){var r=this._pos-t-1;for(r<0&&(r+=this._windowSize);e--;)r>=this._windowSize&&(r=0),this._buffer[this._pos++]=this._buffer[r++],this._pos>=this._windowSize&&this.flush()},n.OutWindow.prototype.putByte=function(t){this._buffer[this._pos++]=t,this._pos>=this._windowSize&&this.flush()},n.OutWindow.prototype.getByte=function(t){var e=this._pos-t-1;return e<0&&(e+=this._windowSize),this._buffer[e]},n.RangeDecoder=function(){},n.RangeDecoder.prototype.setStream=function(t){this._stream=t},n.RangeDecoder.prototype.releaseStream=function(){this._stream=null},n.RangeDecoder.prototype.init=function(){var t=5;for(this._code=0,this._range=-1;t--;)this._code=this._code<<8|this._stream.readByte()},n.RangeDecoder.prototype.decodeDirectBits=function(t){for(var e=0,r=t,o;r--;)this._range>>>=1,o=this._code-this._range>>>31,this._code-=this._range&o-1,e=e<<1|1-o,(this._range&4278190080)===0&&(this._code=this._code<<8|this._stream.readByte(),this._range<<=8);return e},n.RangeDecoder.prototype.decodeBit=function(t,e){var r=t[e],o=(this._range>>>11)*r;return(this._code^2147483648)<(o^2147483648)?(this._range=o,t[e]+=2048-r>>>5,(this._range&4278190080)===0&&(this._code=this._code<<8|this._stream.readByte(),this._range<<=8),0):(this._range-=o,this._code-=o,t[e]-=r>>>5,(this._range&4278190080)===0&&(this._code=this._code<<8|this._stream.readByte(),this._range<<=8),1)},n.initBitModels=function(t,e){for(;e--;)t[e]=1024},n.BitTreeDecoder=function(t){this._models=[],this._numBitLevels=t},n.BitTreeDecoder.prototype.init=function(){n.initBitModels(this._models,1<<this._numBitLevels)},n.BitTreeDecoder.prototype.decode=function(t){for(var e=1,r=this._numBitLevels;r--;)e=e<<1|t.decodeBit(this._models,e);return e-(1<<this._numBitLevels)},n.BitTreeDecoder.prototype.reverseDecode=function(t){for(var e=1,r=0,o=0,s;o<this._numBitLevels;++o)s=t.decodeBit(this._models,e),e=e<<1|s,r|=s<<o;return r},n.reverseDecode2=function(t,e,r,o){for(var s=1,u=0,l=0,c;l<o;++l)c=r.decodeBit(t,e+s),s=s<<1|c,u|=c<<l;return u},n.LenDecoder=function(){this._choice=[],this._lowCoder=[],this._midCoder=[],this._highCoder=new n.BitTreeDecoder(8),this._numPosStates=0},n.LenDecoder.prototype.create=function(t){for(;this._numPosStates<t;++this._numPosStates)this._lowCoder[this._numPosStates]=new n.BitTreeDecoder(3),this._midCoder[this._numPosStates]=new n.BitTreeDecoder(3)},n.LenDecoder.prototype.init=function(){var t=this._numPosStates;for(n.initBitModels(this._choice,2);t--;)this._lowCoder[t].init(),this._midCoder[t].init();this._highCoder.init()},n.LenDecoder.prototype.decode=function(t,e){return t.decodeBit(this._choice,0)===0?this._lowCoder[e].decode(t):t.decodeBit(this._choice,1)===0?8+this._midCoder[e].decode(t):16+this._highCoder.decode(t)},n.Decoder2=function(){this._decoders=[]},n.Decoder2.prototype.init=function(){n.initBitModels(this._decoders,768)},n.Decoder2.prototype.decodeNormal=function(t){var e=1;do e=e<<1|t.decodeBit(this._decoders,e);while(e<256);return e&255},n.Decoder2.prototype.decodeWithMatchByte=function(t,e){var r=1,o,s;do if(o=e>>7&1,e<<=1,s=t.decodeBit(this._decoders,(1+o<<8)+r),r=r<<1|s,o!==s){for(;r<256;)r=r<<1|t.decodeBit(this._decoders,r);break}while(r<256);return r&255},n.LiteralDecoder=function(){},n.LiteralDecoder.prototype.create=function(t,e){var r;if(!(this._coders&&this._numPrevBits===e&&this._numPosBits===t))for(this._numPosBits=t,this._posMask=(1<<t)-1,this._numPrevBits=e,this._coders=[],r=1<<this._numPrevBits+this._numPosBits;r--;)this._coders[r]=new n.Decoder2},n.LiteralDecoder.prototype.init=function(){for(var t=1<<this._numPrevBits+this._numPosBits;t--;)this._coders[t].init()},n.LiteralDecoder.prototype.getDecoder=function(t,e){return this._coders[((t&this._posMask)<<this._numPrevBits)+((e&255)>>>8-this._numPrevBits)]},n.Decoder=function(){this._outWindow=new n.OutWindow,this._rangeDecoder=new n.RangeDecoder,this._isMatchDecoders=[],this._isRepDecoders=[],this._isRepG0Decoders=[],this._isRepG1Decoders=[],this._isRepG2Decoders=[],this._isRep0LongDecoders=[],this._posSlotDecoder=[],this._posDecoders=[],this._posAlignDecoder=new n.BitTreeDecoder(4),this._lenDecoder=new n.LenDecoder,this._repLenDecoder=new n.LenDecoder,this._literalDecoder=new n.LiteralDecoder,this._dictionarySize=-1,this._dictionarySizeCheck=-1,this._posSlotDecoder[0]=new n.BitTreeDecoder(6),this._posSlotDecoder[1]=new n.BitTreeDecoder(6),this._posSlotDecoder[2]=new n.BitTreeDecoder(6),this._posSlotDecoder[3]=new n.BitTreeDecoder(6)},n.Decoder.prototype.setDictionarySize=function(t){return t<0?!1:(this._dictionarySize!==t&&(this._dictionarySize=t,this._dictionarySizeCheck=Math.max(this._dictionarySize,1),this._outWindow.create(Math.max(this._dictionarySizeCheck,4096))),!0)},n.Decoder.prototype.setLcLpPb=function(t,e,r){var o=1<<r;return t>8||e>4||r>4?!1:(this._literalDecoder.create(e,t),this._lenDecoder.create(o),this._repLenDecoder.create(o),this._posStateMask=o-1,!0)},n.Decoder.prototype.init=function(){var t=4;for(this._outWindow.init(!1),n.initBitModels(this._isMatchDecoders,192),n.initBitModels(this._isRep0LongDecoders,192),n.initBitModels(this._isRepDecoders,12),n.initBitModels(this._isRepG0Decoders,12),n.initBitModels(this._isRepG1Decoders,12),n.initBitModels(this._isRepG2Decoders,12),n.initBitModels(this._posDecoders,114),this._literalDecoder.init();t--;)this._posSlotDecoder[t].init();this._lenDecoder.init(),this._repLenDecoder.init(),this._posAlignDecoder.init(),this._rangeDecoder.init()},n.Decoder.prototype.decode=function(t,e,r){var o=0,s=0,u=0,l=0,c=0,p=0,f=0,d,h,m,A,g,y;for(this._rangeDecoder.setStream(t),this._outWindow.setStream(e),this.init();r<0||p<r;)if(d=p&this._posStateMask,this._rangeDecoder.decodeBit(this._isMatchDecoders,(o<<4)+d)===0)h=this._literalDecoder.getDecoder(p++,f),o>=7?f=h.decodeWithMatchByte(this._rangeDecoder,this._outWindow.getByte(s)):f=h.decodeNormal(this._rangeDecoder),this._outWindow.putByte(f),o=o<4?0:o-(o<10?3:6);else{if(this._rangeDecoder.decodeBit(this._isRepDecoders,o)===1)m=0,this._rangeDecoder.decodeBit(this._isRepG0Decoders,o)===0?this._rangeDecoder.decodeBit(this._isRep0LongDecoders,(o<<4)+d)===0&&(o=o<7?9:11,m=1):(this._rangeDecoder.decodeBit(this._isRepG1Decoders,o)===0?A=u:(this._rangeDecoder.decodeBit(this._isRepG2Decoders,o)===0?A=l:(A=c,c=l),l=u),u=s,s=A),m===0&&(m=2+this._repLenDecoder.decode(this._rangeDecoder,d),o=o<7?8:11);else if(c=l,l=u,u=s,m=2+this._lenDecoder.decode(this._rangeDecoder,d),o=o<7?7:10,g=this._posSlotDecoder[m<=5?m-2:3].decode(this._rangeDecoder),g>=4){if(y=(g>>1)-1,s=(2|g&1)<<y,g<14)s+=n.reverseDecode2(this._posDecoders,s-g-1,this._rangeDecoder,y);else if(s+=this._rangeDecoder.decodeDirectBits(y-4)<<4,s+=this._posAlignDecoder.reverseDecode(this._rangeDecoder),s<0){if(s===-1)break;return!1}}else s=g;if(s>=p||s>=this._dictionarySizeCheck)return!1;this._outWindow.copyBlock(s,m),p+=m,f=this._outWindow.getByte(0)}return this._outWindow.flush(),this._outWindow.releaseStream(),this._rangeDecoder.releaseStream(),!0},n.Decoder.prototype.setDecoderProperties=function(t){var e,r,o,s,u;return t.size<5||(e=t.readByte(),r=e%9,e=~~(e/9),o=e%5,s=~~(e/5),!this.setLcLpPb(r,o,s))?!1:(u=t.readByte(),u|=t.readByte()<<8,u|=t.readByte()<<16,u+=t.readByte()*16777216,this.setDictionarySize(u))},n.decompress=function(t,e,r,o){var s=new n.Decoder;if(!s.setDecoderProperties(t))throw"Incorrect stream properties";if(!s.decode(e,r,o))throw"Error in data stream";return!0},n.decompressFile=function(t,e){var r=new n.Decoder,o;if(!r.setDecoderProperties(t))throw"Incorrect stream properties";if(o=t.readByte(),o|=t.readByte()<<8,o|=t.readByte()<<16,o+=t.readByte()*16777216,t.readByte(),t.readByte(),t.readByte(),t.readByte(),!r.decode(t,e,o))throw"Error in data stream";return!0},n}var LZMA=createLZMA();function createWASM(){function n(e){for(var r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",o=new Uint8Array(256),s=0;s<r.length;s++)o[r.charCodeAt(s)]=s;var u=e.length*.75,l=e.length,c,p=0,f,d,h,m;e[e.length-1]==="="&&(u--,e[e.length-2]==="="&&u--);var A=new ArrayBuffer(u),g=new Uint8Array(A);for(c=0;c<l;c+=4)f=o[e.charCodeAt(c)],d=o[e.charCodeAt(c+1)],h=o[e.charCodeAt(c+2)],m=o[e.charCodeAt(c+3)],g[p++]=f<<2|d>>4,g[p++]=(d&15)<<4|h>>2,g[p++]=(h&3)<<6|m&63;return A}var t="AGFzbQEAAAABSg1gAABgAX8Bf2ACf38Bf2AEf39/fwBgA39/fwBgAX8AYAJ/fwBgA39/fwF/YAR/f39/AX9gAn9/AGABfwF/YAABf2AEf39/fwF/AhsCA2VudgVhYm9ydAADA2VudgZtZW1vcnkCAAEDJiUBAQkKAgoKCwsLCwsAAgoBAgQKAQYFCAoFBQQEBwgCBwwCAQAABAQBcAABBhoFfwFBAAt/AUEAC38BQQALfwFBAAt/AUEACwc9BgZtZW1vcnkCAAV0YWJsZQEABXJlc2V0AA0KbmV3VThBcnJheQAQCnVucGFja1NpemUAFAZkZWNvZGUAIwgBJAkHAQBBAAsBJQqAViVoAQN/IABBgICAgARLBEAACyMBIgEgAEEBIABBAUsbakEHakF4cSICPwAiA0EQdEsEQCADIAIgAWtB//8DakGAgHxxQRB2IgAgAyAAShtAAEEASARAIABAAEEASARAAAsLCyACJAEgAQsbAQF/QQFBICAAQQdqZ2t0EAEiASAANgIAIAELkQMBAX8gAUUEQA8LIABBADoAACAAIAFqQQFrQQA6AAAgAUECTQRADwsgAEEBakEAOgAAIABBAmpBADoAACAAIAFqIgJBAmtBADoAACACQQNrQQA6AAAgAUEGTQRADwsgAEEDakEAOgAAIAAgAWpBBGtBADoAACABQQhNBEAPC0EAIABrQQNxIgIgAGoiAEEANgIAIAEgAmtBfHEiASAAakEEa0EANgIAIAFBCE0EQA8LIABBBGpBADYCACAAQQhqQQA2AgAgACABaiICQQxrQQA2AgAgAkEIa0EANgIAIAFBGE0EQA8LIABBDGpBADYCACAAQRBqQQA2AgAgAEEUakEANgIAIABBGGpBADYCACAAIAFqIgJBHGtBADYCACACQRhrQQA2AgAgAkEUa0EANgIAIAJBEGtBADYCACAAQQRxQRhqIgIgAGohACABIAJrIQEDQCABQSBPBEAgAEIANwMAIABBCGpCADcDACAAQRBqQgA3AwAgAEEYakIANwMAIAFBIGshASAAQSBqIQAMAQsLC1EBA38gAEH+////AEsEQEEAQSBBLUEnEAAACyAAQQJ0IgMQAiECQQgQASIBQQA2AgAgAUEANgIEIAEgAjYCACABIAA2AgQgAkEIaiADEAMgAQtmAQF/IAFB/P///wFLBEBBAEHAAEEXQSIQAAALIAFBAXQiARACIgJBCGogARADIABFBEBBDBABIQALIABBADYCACAAQQA2AgQgAEEANgIIIAAgAjYCACAAQQA2AgQgACABNgIIIAALCgBBDBABIAAQBQsuAQF/QQgQASIBQQA2AgAgAUEANgIEIAEgADYCBCABQQEgASgCBHQQBjYCACABC6EBAQR/QRAQASIBQQA2AgAgAUEANgIEIAFBADYCCCABQQA2AgxBEBAEIQIDQCAAQRBIBEBBAxAHIQMgAigCACAAQQJ0aiADNgIIIABBAWohAAwBCwsgASACNgIEQRAQBCECQQAhAANAIABBEEgEQEEDEAchAyACKAIAIABBAnRqIAM2AgggAEEBaiEADAELCyABIAI2AgggAUEIEAc2AgwgAQs0AQF/QRQQASIAQQA2AgAgAEEAOgAEIABBADYCCCAAQQA2AgwgAEEANgIQIABBDTYCCCAAC0IBAX9BGRABIgBBADYCACAAQQA2AgQgAEEANgIIIABBADYCDCAAQQA2AhAgAEEANgIUIABBADoAGCAAQQA2AhAgAAu1AgEEf0HQABABIgBBADoAACAAQQA2AgQgAEEANgIIIABBADYCDCAAQQA2AhAgAEEAOgAUIABBADYCGCAAQQA2AhwgAEEANgIgIABBADYCJCAAQQA2AiggAEEANgIsIABBADYCMCAAQQA2AjQgAEEANgI4IABBADYCPCAAQQA2AkAgAEEANgJEIABBADYCSCAAQQA2AkxBBBAEIQIDQCABQQRIBEBBBhAHIQMgAigCACABQQJ0aiADNgIIIAFBAWohAQwBCwsgACACNgIkIABBBBAHNgIoIABB8wAQBjYCLCAAQcABEAY2AjAgAEEMEAY2AjQgAEEMEAY2AjggAEEMEAY2AjwgAEEMEAY2AkAgAEHAARAGNgJEIAAQCDYCSCAAEAg2AkwgABAJNgIEIAAQCjYCCCAACx8BAX9BCBABIgBBADYCACAAQQA2AgQgABALNgIAIAALCgAjACQBEAwkAwthAQF/IAFB+P///wNLBEBBAEHAAEEXQSIQAAALIAEQAiICQQhqIAEQAyAARQRAQQwQASEACyAAQQA2AgAgAEEANgIEIABBADYCCCAAIAI2AgAgAEEANgIEIAAgATYCCCAACwoAQQwQASAAEA4LBgAgABAPCyoAIAEgACgCCE8EQEEAQcAAQSdBPxAAAAsgACgCBCABIAAoAgBqai0ACAssACABIAAoAghPBEBBAEHAAEEyQT8QAAALIAAoAgQgASAAKAIAamogAjoACAtkAQJ/QQ0QDyECA0AgAUENSARAIAIgASAAIAEQEUH/AXEQEiABQQFqIQEMAQsLQQAhAEEAIQEDQCABQQhIBEAgAiABQQVqEBFB/wFxIAFBA3R0IAByIQAgAUEBaiEBDAELCyAACwYAIAAQEwsnACAAIAEQDzYCCCAAQQA2AgwgACABNgIUIABBADoAGCAAQQA2AgALJAAgACgCCCAAKAIYEBUgAEGABiAAKAIMIAAtABRqdBAGNgIgC5UBAQR/IAEhBSAAIgYoAgAhASAAKAIEIQcgACgCCEEBdiEEIAJBAEgEfyACIARqIgBBACAAQQBKGwUgAiIAIAQgACAESBsLIQIgA0EASAR/IAMgBGoiAEEAIABBAEobBSADIgAgBCAAIARIGwshAwNAIAIgA05FBEAgAkEBdCABaiAHaiAFOwEIIAJBAWohAgwBCwsgBgssAQF/AkACQAJAIwRBAWsOAwEBAgALAAtB/////wchAQsgAEGACEEAIAEQFwvBAQECfyAAQQIQBjYCACAAKAIAIgEoAgAgASgCBGpBgAg7AQggACgCACICKAIAIQEgAigCBCABQQJqakGACDsBCCAAKAIMKAIAQQEkBBAYGkEAIQIDQCACQRBIBEAgAiAAKAIEKAIAIgEoAgBBAnZJBH8gAkECdCABaigCCAUACygCAEEBJAQQGBogAiAAKAIIKAIAIgEoAgBBAnZJBH8gAkECdCABaigCCAUACygCAEEBJAQQGBogAkEBaiECDAELCwuHAgEFfyAAIQJBgAYgACgCDCAALQAUanQhAQNAIAMgAUgEQCACKAIgIgQoAgAhBSAEKAIEIANBAXQgBWpqQYAIOwEIIANBAWohAwwBCwsgAiEBQQAhAgNAIAJBBEkEQCACIAEoAiQoAgAiAygCAEECdkkEfyACQQJ0IANqKAIIBQALKAIAQQEkBBAYGiACQQFqIQIMAQsLIAEoAigoAgBBASQEEBgaIAEoAixBASQEEBgaIAAoAjBBASQEEBgaIAAoAjRBASQEEBgaIAAoAjhBASQEEBgaIAAoAjxBASQEEBgaIAAoAkBBASQEEBgaIAAoAkRBASQEEBgaIAAoAkgQGSAAKAJMEBkLyAwBA38DQCABQQNxIAIgAhsEQCAAIgRBAWohACABIgNBAWohASAEIAMtAAA6AAAgAkEBayECDAELCyAAQQNxRQRAA0AgAkEQTwRAIAAgASgCADYCACAAQQRqIAFBBGooAgA2AgAgAEEIaiABQQhqKAIANgIAIABBDGogAUEMaigCADYCACABQRBqIQEgAEEQaiEAIAJBEGshAgwBCwsgAkEIcQRAIAAgASgCADYCACAAQQRqIAFBBGooAgA2AgAgAUEIaiEBIABBCGohAAsgAkEEcQRAIAAgASgCADYCACABQQRqIQEgAEEEaiEACyACQQJxBEAgACABLwEAOwEAIAFBAmohASAAQQJqIQALIAJBAXEEQCAAIAEtAAA6AAALDwsgAkEgTwRAAkACQAJAIABBA3EiA0EBRwRAIANBAkYNASADQQNGDQIMAwsgASgCACEFIAAgASIDLQAAOgAAIABBAWoiASABIANBAWoiAS0AADoAAEEBaiIEQQFqIQAgAUEBaiIDQQFqIQEgBCADLQAAOgAAIAJBA2shAgNAIAJBEU8EQCAAIAFBAWooAgAiA0EIdCAFQRh2cjYCACAAQQRqIAFBBWooAgAiBUEIdCADQRh2cjYCACAAQQhqIAFBCWooAgAiA0EIdCAFQRh2cjYCACAAQQxqIAFBDWooAgAiBUEIdCADQRh2cjYCACABQRBqIQEgAEEQaiEAIAJBEGshAgwBCwsMAgsgASgCACEFIAAgAS0AADoAACAAQQFqIgRBAWohACABQQFqIgNBAWohASAEIAMtAAA6AAAgAkECayECA0AgAkESTwRAIAAgAUECaigCACIDQRB0IAVBEHZyNgIAIABBBGogAUEGaigCACIFQRB0IANBEHZyNgIAIABBCGogAUEKaigCACIDQRB0IAVBEHZyNgIAIABBDGogAUEOaigCACIFQRB0IANBEHZyNgIAIAFBEGohASAAQRBqIQAgAkEQayECDAELCwwBCyABKAIAIQUgACIEQQFqIQAgASIDQQFqIQEgBCADLQAAOgAAIAJBAWshAgNAIAJBE08EQCAAIAFBA2ooAgAiA0EYdCAFQQh2cjYCACAAQQRqIAFBB2ooAgAiBUEYdCADQQh2cjYCACAAQQhqIAFBC2ooAgAiA0EY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";return n(t)}function decodeLZMA(n,t,e){try{var r={data:t,offset:0,readByte:function(){return this.data[this.offset++]}},o=r.data.length,s={data:[],offset:0,writeByte:function(c){var p=Math.floor(this.offset/o);this.data[p]||(this.data[p]=new Uint8Array(o)),this.data[p][this.offset%o]=c,this.offset++}};n.decompressFile(r,s);for(var u=new Uint8Array(s.offset),l=0;l<s.offset;l++)u[l]=s.data[Math.floor(l/o)][l%o];e(null,u)}catch(c){e(c)}}function decodeLZMAWithWASM(n,t,e){var r=24;try{var o=new WebAssembly.Memory({initial:16}),s=new WebAssembly.Module(n),u=new WebAssembly.Instance(s,{env:{memory:o,abort:function(){e(new Error("webAssembly abort"))}}}),l=u.exports,c=l.newU8Array(t.length),p=new Uint8Array(o.buffer,c+r,t.length);p.set(t);var f=l.decode(c),d=new Uint32Array(o.buffer,f,4),h=d[0],m=d[2],A=d[3];h?e(null,new Uint8Array(o.buffer,A+r,m).slice(0,m)):e(new Error("lzma deocder error"))}catch(g){e(g)}}var lzmaWorkerSource=`
|
|
405
|
+
`),r=0;r<e.length;r++){var o=e[r],s=o.indexOf(":"),u=o.slice(0,s).trim().toLowerCase(),l=o.slice(s+1).trim();l&&(t[u]?t[u]+=", "+l:t[u]=l)}return t}function matchJsonpFunctionName(n){for(var t=0,e=JSONP_REGEXPS;t<e.length;t++){var r=e[t],o=n.match(r);if(o)return"jsonp_"+o[1]}return null}function isJsonp(n){return matchJsonpFunctionName(n)!==null}var NetworkSubscribe=(function(n){__extends(t,n);function t(){return n!==null&&n.apply(this,arguments)||this}return t})(Subscribe);function ajax(n,t,e,r,o){t===void 0&&(t={}),e===void 0&&(e=noop),r===void 0&&(r=noop),o===void 0&&(o=noop);var s=now(),u=n;return Promise.resolve().then(function(){return t.requestProxy?t.requestProxy(n):n}).then(function(l){return locationIsHttps&&/^http\:/.test(l)?(console.warn("The page at '".concat(locationHref,"' was loaded over HTTPS, but requested an insecure element '").concat(l,"'. This request was automatically upgraded to HTTPS")),l.replace(/^http\:/,"https:")):l}).catch(function(l){var c;matchJsonpFunctionName(n);var p=new NetworkProxyError(u,"XMLHttpRequest",l&&l.message?String(l.message):String(l));return(c=t.networkSubscribe)===null||c===void 0||c.emit("network",n,"XMLHttpRequest","forbidden",p.message),Promise.reject(p)}).then(function(l){return new Promise(function(c,p){var f=matchJsonpFunctionName(l);if(f){var d=window,h=null,m=!1,A=document.createElement("script"),g=function(){var w;if(h=null,m!==!0){m=!0;var M=new NetworkTimeoutError(l,"XMLHttpRequest",t.timeout||NaN);r(M),p(M),(w=t.networkSubscribe)===null||w===void 0||w.emit("network",l,"XMLHttpRequest","timeout",M.message)}},y=function(w){var M,B,C=now(),P=C-s;if(delete d[f],A.parentNode&&A.parentNode.removeChild(A),h!==null&&(window.clearTimeout(h),h=null),m!==!0){if(w.indexOf("data:")!==0){var L=new NetworkResponseError(l,"XMLHttpRequest",500);r(L),p(L),(M=t.networkSubscribe)===null||M===void 0||M.emit("network",l,"XMLHttpRequest","error",L.message);return}var O=w.split(","),F=(O[0].match(/:(.*?);/)||[])[1],N=O[1];if(t.responseType==="arraybuffer"||t.responseType==="blob"){for(var D=atob(O[1]),U=D.length,z=new Uint8Array(U),K=0;K<U;K++)z[K]=D.charCodeAt(K);t.responseType==="arraybuffer"?N=z.buffer:N=new Blob([z],{type:F})}var j={},Q={body:N,meta:{origin:u,source:l,requestTime:s,responseTime:C,costs:P,headers:j}};e(Q),c(Q),(B=t.networkSubscribe)===null||B===void 0||B.emit("network",l,"XMLHttpRequest","ok",JSON.stringify(Q.meta)),m=!0}};d[f]=y,A.src=l,document.body.appendChild(A),typeof t.timeout=="number"&&(h=window.setTimeout(g,t.timeout))}else{var v=!1,E=new XMLHttpRequest,b=function(){E&&(E.removeEventListener("timeout",T,!1),E.removeEventListener("progress",_,!1),E.removeEventListener("load",S,!1),E.removeEventListener("error",R,!1)),E=null,b=noop},T=function(){var w;if(v!==!0){v=!0,b();var M=new NetworkTimeoutError(l,"XMLHttpRequest",t.timeout||NaN);r(M),p(M),(w=t.networkSubscribe)===null||w===void 0||w.emit("network",l,"XMLHttpRequest","timeout",M.message)}},_=function(w){v!==!0&&w.lengthComputable&&(w.total<=0||o(w.loaded/w.total))},S=function(w){var M;if(v!==!0){var B=this.status;if(B===0||B>=200&&B<400){v=!0,b();var C=now(),P=C-s,L=parseHeaders(this.getAllResponseHeaders()),O=w.total,F={body:this.response,meta:{origin:u,source:l,requestTime:s,responseTime:C,costs:P,headers:L,size:O}};e(F),c(F),(M=t.networkSubscribe)===null||M===void 0||M.emit("network",l,"XMLHttpRequest","ok",JSON.stringify(F.meta))}else R.call(this)}},R=function(){var w;if(v!==!0){v=!0,b();var M=new NetworkResponseError(l,"XMLHttpRequest",this.status);r(M),p(M),(w=t.networkSubscribe)===null||w===void 0||w.emit("network",l,"XMLHttpRequest","error",M.message)}};E.addEventListener("timeout",T,!1),E.addEventListener("progress",_,!1),E.addEventListener("load",S,!1),E.addEventListener("error",R,!1),t.responseType&&(E.responseType=t.responseType),typeof t.timeout=="number"&&(E.timeout=t.timeout),E.open("GET",l,!0),E.send(null)}})})}var preloadCache={};function preload(n,t){t===void 0&&(t={});var e=now(),r=n;return Promise.resolve().then(function(){return t.requestProxy?t.requestProxy(n):n}).then(function(o){return locationIsHttps&&/^http\:/.test(o)?(console.warn("The page at '".concat(locationHref,"' was loaded over HTTPS, but requested an insecure element '").concat(o,"'. This request was automatically upgraded to HTTPS")),o.replace(/^http\:/,"https:")):o}).catch(function(o){var s,u=new NetworkProxyError(r,"Link",o&&o.message?String(o.message):String(o));return(s=t.networkSubscribe)===null||s===void 0||s.emit("network",n,"Link","forbidden",u.message),Promise.reject(u)}).then(function(o){return o in preloadCache?preloadCache[o]:preloadCache[o]=new Promise(function(s,u){var l=document.head||document.getElementsByTagName("head")[0],c=document.createElement("link"),p=!1,f=null;c.onload=function(d){var h;if(f!==null&&(clearTimeout(f),f=null),p!==!0){p=!0,s(),c.onerror=noop,c.onload=noop;var m=now(),A=m-e,g={},y={origin:r,source:o,requestTime:e,responseTime:m,costs:A,headers:g};(h=t.networkSubscribe)===null||h===void 0||h.emit("network",o,"Link","preload",JSON.stringify(y))}},c.onerror=function(d){var h;if(f!==null&&(clearTimeout(f),f=null),p!==!0){p=!0,delete preloadCache[o],l&&c.parentNode===l&&l.removeChild(c);var m=new NetworkResponseError(o,"Link",0);u(m),c.onerror=noop,c.onload=noop,(h=t.networkSubscribe)===null||h===void 0||h.emit("network",o,"Link","error",m.message)}},typeof t.timeout=="number"&&(f=window.setTimeout(function(){var d;if(f=null,p!==!0){p=!0,s(),c.onerror=noop,c.onload=noop;var h=now(),m=h-e,A={},g={origin:r,source:o,requestTime:e,responseTime:h,costs:m,headers:A};(d=t.networkSubscribe)===null||d===void 0||d.emit("network",o,"Link","timeout",JSON.stringify(g))}},t.timeout)),c.rel=c.relList&&c.relList.supports("prefetch")?"prefetch":"preload",c.as="fetch",c.crossOrigin="",c.fetchPriority="high",c.href=o,l&&l.appendChild(c)})})}function loadImage(n,t,e,r,o,s){t===void 0&&(t={}),e===void 0&&(e=noop),r===void 0&&(r=noop),o===void 0&&(o=noop);var u=now(),l=n;return Promise.resolve().then(function(){return t.requestProxy?t.requestProxy(n):n}).then(function(c){return locationIsHttps&&/^http\:/.test(c)?(console.warn("The page at '".concat(locationHref,"' was loaded over HTTPS, but requested an insecure element '").concat(c,"'. This request was automatically upgraded to HTTPS")),c.replace(/^http\:/,"https:")):c}).catch(function(c){var p,f=new NetworkProxyError(l,"Image",c&&c.message?String(c.message):String(c));return(p=t.networkSubscribe)===null||p===void 0||p.emit("network",n,"Image","forbidden",f.message),Promise.reject(f)}).then(function(c){return isJsonp(c)?ajax(c,{responseType:"blob",networkSubscribe:t.networkSubscribe}).then(function(p){return URL.createObjectURL(p.body)}):c}).then(function(c){return new Promise(function(p,f){var d=s!=null?s:new Image,h=!1,m=null,A=function(){var y;if(d.onload=noop,d.onerror=noop,m!==null&&(clearTimeout(m),m=null),h!==!0){var v=now(),E={headers:{},origin:l,source:c,requestTime:u,responseTime:v,costs:v-u};h=!0;var b={body:d,meta:E};o(1),e(b),p(b),(y=t.networkSubscribe)===null||y===void 0||y.emit("network",c,"Image","ok",JSON.stringify(b.meta))}},g=function(){var y;if(d.onload=noop,d.onerror=noop,m!==null&&(clearTimeout(m),m=null),h!==!0){h=!0;var v=new NetworkResponseError(c,"Image",0);r(v),f(v),(y=t.networkSubscribe)===null||y===void 0||y.emit("network",c,"Image","ok",v.message)}};typeof t.timeout=="number"&&(m=window.setTimeout(function(){var y;if(d.onload=noop,d.onerror=noop,m=null,h!==!0){h=!0;var v=new NetworkTimeoutError(c,"Image",t.timeout);r(v),f(v),(y=t.networkSubscribe)===null||y===void 0||y.emit("network",c,"Image","timeout",v.message)}},t.timeout)),d.onload=A,d.onerror=g,o(0),d.src=c})})}var Fetcher=(function(){function n(t){t===void 0&&(t={}),this.options=t}return n.prototype.ajax=function(t,e,r,o,s){var u;e===void 0&&(e={}),r===void 0&&(r=noop),o===void 0&&(o=noop),s===void 0&&(s=noop);var l=this.options,c={responseType:e.responseType,timeout:(u=e.timeout)!==null&&u!==void 0?u:l.timeout,get requestProxy(){var p;return(p=e.requestProxy)!==null&&p!==void 0?p:l.requestProxy},get networkSubscribe(){var p;return(p=e.networkSubscribe)!==null&&p!==void 0?p:l.networkSubscribe}};return ajax(t,c,r,o,s)},n.prototype.loadImage=function(t,e,r,o,s,u){var l;e===void 0&&(e={}),r===void 0&&(r=noop),o===void 0&&(o=noop),s===void 0&&(s=noop);var c=this.options,p={timeout:(l=e.timeout)!==null&&l!==void 0?l:c.timeout,get requestProxy(){var f;return(f=e.requestProxy)!==null&&f!==void 0?f:c.requestProxy},get networkSubscribe(){var f;return(f=e.networkSubscribe)!==null&&f!==void 0?f:c.networkSubscribe}};return loadImage(t,p,r,o,s,u)},n.prototype.preload=function(t,e){var r;e===void 0&&(e={});var o=this.options,s={timeout:(r=e.timeout)!==null&&r!==void 0?r:o.timeout,get requestProxy(){var u;return(u=e.requestProxy)!==null&&u!==void 0?u:o.requestProxy},get networkSubscribe(){var u;return(u=e.networkSubscribe)!==null&&u!==void 0?u:o.networkSubscribe}};return preload(t,s)},n})(),internalFetcher=new Fetcher;function pick(n,t){for(var e={},r=0,o=t;r<o.length;r++){var s=o[r];s in n&&(e[s]=n[s])}return e}function omit(n,t){for(var e={},r=new Set(t),o=0,s=Object.keys(n);o<s.length;o++){var u=s[o];r.has(u)||(e[u]=n[u])}return e}function omitUndefinedFields(n){var t={};for(var e in n){var r=n[e];r!==void 0&&(t[e]=r)}return t}var hrefAElement=typeof document!="undefined"?document.createElement("a"):{href:""};function isAbsoluteURL(n){return n.indexOf("/")===0||/^[0-9a-z]+\:/i.test(n)}function getFullURL(n){if(typeof URL!="undefined")return new URL(n,location.href).href;hrefAElement.href=n;var t=hrefAElement.href;return hrefAElement.href="",t}function pathJoin(){for(var n=[],t=0;t<arguments.length;t++)n[t]=arguments[t];var e=[];n=n.map(function(l){return(l!=null?l:"").trim()}).filter(function(l){return l.length>0&&!/^\/+$/.test(l)});for(var r=0;r<n.length;r++){var o=r===0,s=r===n.length-1,u=n[r];o||(u=u.replace(/^\.\//,"").replace(/^\/+/,"")),s||(u=u.replace(/\/+$/,"")),e.push(u)}return e.join("/")}function appendSearch(n,t){if(t===void 0&&(t=""),(t[0]==="?"||t[0]==="&")&&(t=t.slice(1)),!t)return n;var e=n.indexOf("#"),r="";return e>=0&&(r=n.slice(e),n=n.slice(0,e)),(n[n.length-1]==="?"||n[n.length-1]==="&")&&(n=n.slice(0,-1)),n.indexOf("?")>=0?"".concat(n,"&").concat(t).concat(r):"".concat(n,"?").concat(t).concat(r)}function normalizeURL(n){var t,e=/^(http\:|https\:|file\:)?\/\/[^/]/.exec(n);if(!e)return n;var r=e[1]||"",o=n.slice(r.length+2),s=o.indexOf("#");s>=0&&(n.slice(s),o=n.slice(0,s));var u=o.indexOf("?");u>=0&&(n.slice(u),o=n.slice(0,u));for(var l=o.split("/"),c=l.shift(),p=(t=l.pop())!==null&&t!==void 0?t:"",f=[],d=0,h=l;d<h.length;d++){var m=h[d];if(!(m===""||m===".")){if(m===".."){f.pop();continue}f.push(m)}}return r+"//"+c+"/"+f.join("/")+"/"+p}var webp="data:image/webp;base64,UklGRiQAAABXRUJQVlA4IBgAAAAwAQCdASoCAAIAAUAmJaQAA3AA/vz0AAA=",avif="data:image/avif;base64,AAAAIGZ0eXBhdmlmAAAAAGF2aWZtaWYxbWlhZk1BMUIAAAGhbWV0YQAAAAAAAAAoaGRscgAAAAAAAAAAcGljdAAAAAAAAAAAAAAAAGxpYmF2aWYAAAAADnBpdG0AAAAAAAEAAAAsaWxvYwAAAABEAAACAAEAAAABAAAB3gAAABkAAgAAAAEAAAHJAAAAFQAAAEJpaW5mAAAAAAACAAAAGmluZmUCAAAAAAEAAGF2MDFDb2xvcgAAAAAaaW5mZQIAAAAAAgAAYXYwMUFscGhhAAAAABppcmVmAAAAAAAAAA5hdXhsAAIAAQABAAAA12lwcnAAAACxaXBjbwAAABRpc3BlAAAAAAAAAAIAAAACAAAAEHBpeGkAAAAAAwgICAAAAAxhdjFDgQAMAAAAABNjb2xybmNseAACAAIAAoAAAAAUaXNwZQAAAAAAAAACAAAAAgAAAA5waXhpAAAAAAEIAAAADGF2MUOBABwAAAAAOGF1eEMAAAAAdXJuOm1wZWc6bXBlZ0I6Y2ljcDpzeXN0ZW1zOmF1eGlsaWFyeTphbHBoYQAAAAAeaXBtYQAAAAAAAAACAAEEAQKDBAACBAUGhwgAAAA2bWRhdBIACgQYADLVMgsWQBhhIAQqrNj/+BIACgUYADLEoDIOFkADDDDCQAACDaqCCb4=",heif="data:image/heif;base64,AAAAGGZ0eXBoZWljAAAAAG1pZjFoZWljAAABL21ldGEAAAAAAAAAIWhkbHIAAAAAAAAAAHBpY3QAAAAAAAAAAAAAAAAAAAAADnBpdG0AAAAAAAEAAAAjaWluZgAAAAAAAQAAABVpbmZlAgAAAAABAABodmMxAAAAAK9pcHJwAAAAkmlwY28AAAB2aHZjQwEBYAAAAAAAAAAAAADwAPz9+PgAACcDoAABAB5AAQwG//8BYAAAAwAAAwAAAwAAAwAAAwAAreTLgSChAAEAI0IBBwFgAAADAAADAAADAAADAAADAAChInJJlreTLySZNdggogABAAdEAcA98DMkAAAAFGlzcGUAAAAAAAAAAgAAAAIAAAAVaXBtYQAAAAAAAAABAAECgQIAAAAiaWxvYwAAAABEQAABAAEAAAAAAU8AAQAAAAAAAAAOAAAAFm1kYXQAAAAKJgGvLvkQwuWM4A==";function checkImage(n){return new Promise(function(t){if(typeof Image=="undefined"){t(!1);return}var e=new Image,r=setTimeout(function(){e.onload=e.onerror=function(){},clearTimeout(r),t(!1)},100);e.onload=e.onerror=function(){e.onload=e.onerror=function(){},clearTimeout(r),t(e.height===2)},e.src=n})}var imageSupportCache=null;function imageSupport(){return imageSupportCache||(imageSupportCache=Promise.all([checkImage(webp),checkImage(avif),checkImage(heif)]).then(function(n){return{webp:n[0],avif:n[1],heif:n[2]}}))}var _a$5,supportAvif=!1,supportWebp=!1,supportHeif=!1;imageSupport().then(function(n){supportAvif=n.avif,supportWebp=n.webp,supportHeif=n.heif});var IMAGE_FORMATS=["jpg","jpeg","png","heif","heic","webp","avif"];function isImageExt(n){return IMAGE_FORMATS.indexOf(n)>=0}var DEFAULT_IMAGE_URL_MAPPINGS={"vrlab-public.ljcdn.com":{type:"tencentCloud",pano:["vrlab-image1.ljcdn.com","vrlab-image2.ljcdn.com"],texture:["vrlab-image3.ljcdn.com"],tile:["vr-tile-1.realsee-cdn.cn","vr-tile-2.realsee-cdn.cn"],model:["vr-model-1.realsee-cdn.cn","vr-model-2.realsee-cdn.cn"],default:["vrlab-image4.ljcdn.com"]},"vr-public.realsee-cdn.cn":{type:"tencentCloud",pano:["vr-image-1.realsee-cdn.cn","vr-image-2.realsee-cdn.cn"],texture:["vr-image-3.realsee-cdn.cn"],tile:["vr-tile-1.realsee-cdn.cn","vr-tile-2.realsee-cdn.cn"],model:["vr-model-1.realsee-cdn.cn","vr-model-2.realsee-cdn.cn"],default:["vr-image-4.realsee-cdn.cn"]},"vr-public.rscdn.cn":{type:"tencentCloud",pano:["vr-image-1.rscdn.cn","vr-image-2.rscdn.cn"],texture:["vr-image-3.rscdn.cn"],tile:["vr-tile-1.rscdn.cn","vr-tile-2.rscdn.cn"],model:["vr-model-1.rscdn.cn","vr-model-2.rscdn.cn"],default:["vr-image-4.rscdn.cn"]},"mars-public.realsee-cdn.cn":{type:"aliyun",pano:["mars-image-1.realsee-cdn.cn","mars-image-2.realsee-cdn.cn"],texture:["mars-image-3.realsee-cdn.cn"],tile:["mars-tile-1.realsee-cdn.cn","mars-tile-2.realsee-cdn.cn"],model:["mars-model-1.realsee-cdn.cn","mars-model-2.realsee-cdn.cn"],default:["mars-image-4.realsee-cdn.cn"]},"global-public.realsee-cdn.com":{type:"tencentCloud",pano:["global-image-1.realsee-cdn.com","global-image-2.realsee-cdn.com"],texture:["global-image-3.realsee-cdn.com"],tile:["global-tile-1.realsee-cdn.com","global-tile-2.realsee-cdn.com"],model:["global-model-1.realsee-cdn.com","global-model-2.realsee-cdn.com"],default:["global-image-4.realsee-cdn.com"]},"earth-ga-public.realsee-cdn.cn":{type:"tencentCloud",pano:["earth-ga-image-1.realsee-cdn.cn","earth-ga-image-2.realsee-cdn.cn"],texture:["earth-ga-image-3.realsee-cdn.cn"],tile:["earth-ga-tile-1.realsee-cdn.cn","earth-ga-tile-2.realsee-cdn.cn"],model:["earth-ga-model-1.realsee-cdn.cn","earth-ga-model-2.realsee-cdn.cn"],default:["earth-ga-image-4.realsee-cdn.cn"]},"test-vr-public.realsee-cdn.com":{type:"tencentCloud",pano:["test-vr-image.realsee-cdn.com","test-vr-image.realsee-cdn.com"],texture:["test-vr-image.realsee-cdn.com"],tile:["test-vr-image.realsee-cdn.com","test-vr-image.realsee-cdn.com"],model:["test-vr-image.realsee-cdn.com","test-vr-image.realsee-cdn.com"],default:["test-vr-image.realsee-cdn.com"]},"test-vr-public.realsee-cdn.cn":{type:"tencentCloud",pano:["test-vr-image.realsee-cdn.cn","test-vr-image.realsee-cdn.cn"],texture:["test-vr-image.realsee-cdn.cn"],tile:["test-vr-image.realsee-cdn.cn","test-vr-image.realsee-cdn.cn"],model:["test-vr-image.realsee-cdn.cn","test-vr-image.realsee-cdn.cn"],default:["test-vr-image.realsee-cdn.cn"]}},URL_DOMAIN_REGEX=/^https?\:\/\/?([^\/]+)/;function getDomain(n){var t=n.match(URL_DOMAIN_REGEX);return t===null?null:t[1]}function replaceDomain(n,t,e){var r,o,s=(o=(r=t[e])!==null&&r!==void 0?r:t[t.length-1])!==null&&o!==void 0?o:n;return n.replace(URL_DOMAIN_REGEX,function(u,l){return u.slice(0,u.length-l.length)+s})}function route(n,t,e){var r=t.split("."),o=r[0],s=r.slice(1);if(o==="texture")return replaceDomain(n,e.texture,0);if(o==="pano"){s[0];var u=s[1];switch(u){case"front":case"left":case"up":return replaceDomain(n,e.pano,0);case"down":case"right":case"back":return replaceDomain(n,e.pano,1)}}else if(o==="pano_tile"){s[0],s[1];var l=s[2],c=s[3],p=s[4],f=Math.pow(2,Number(l))*Number(c)+Number(p);if(!isNaN(f))return replaceDomain(n,e.tile,f%2)}else if(o==="model"){var d=s[0],f=Number(d);if(!isNaN(f))return replaceDomain(n,e.model,f%2)}return replaceDomain(n,e.default,0)}var tencentCloudImageProcesser=function(n,t){var e=n.split("?")[0],r=e.split(".").pop();if(r==="jpeg"&&(r="jpg"),r==="heif"&&(r="heic"),r&&!isImageExt(r))return n;var o=[],s=t.format,u=t.cut,l=t.quality,c=t.size,p=t.sharpen,f=t.forceUseExifOrientation;if(s==="jpeg"&&(s="jpg"),s==="heif"&&(s="heic"),(!supportAvif&&(s!=null?s:r)==="avif"||!supportWebp&&(s!=null?s:r)==="webp"||!supportHeif&&(s!=null?s:r)==="heic")&&(s="jpg"),s!==void 0&&s!==r&&o.push("format/".concat(s)),u!==void 0&&o.push("cut/".concat(u[2],"x").concat(u[3],"x").concat(u[0],"x").concat(u[1])),l!==void 0){var d=s!=null?s:r;d&&["jpg","webp","heic","avif"].indexOf(d)>=0&&o.push("quality/".concat(l))}if(c!==void 0){var h=n.match(/\/cube_(\d+)\//),m=h?Number(h[1]):NaN;m!==Number(c)&&o.push("thumbnail/".concat(c,"x"))}p!==void 0&&o.push("sharpen/".concat(p)),f===!0&&o.push("auto-orient");var A="";return o.length&&(A="?imageMogr2/"+o.join("/")),e+A},aliyunOOSImageProcesser=function(n,t){var e=n.split("?")[0],r=e.split(".").pop();if(r==="jpeg"&&(r="jpg"),r==="heif"&&(r="heic"),r&&!isImageExt(r))return n;var o=[],s=t.format,u=t.cut,l=t.quality,c=t.size,p=t.sharpen;if(s==="jpeg"&&(s="jpg"),s==="heif"&&(s="heic"),(!supportAvif&&(s!=null?s:r)==="avif"||!supportWebp&&(s!=null?s:r)==="webp"||!supportHeif&&(s!=null?s:r)==="heic")&&(s="jpg"),s!==void 0&&s!==r&&o.push("format,".concat(s)),u!==void 0){var f=u[0],d=u[1],h=u[2],m=u[3];o.push("crop,x_".concat(f,",y_").concat(d,",w_").concat(h,",h_").concat(m,",g_nw"))}if(l!==void 0&&l!==100){var A=s!=null?s:r;A&&["jpg","webp","heic","avif"].indexOf(A)>=0&&o.push("quality,Q_".concat(l))}c&&c!==2048&&o.push("resize,w_".concat(c)),p!==void 0&&o.push("sharpen,".concat(p));var g="";return o.length&&(g="?x-oss-process=image/"+o.join("/")),e+g},MAX_SAFE_INTEGER=9007199254740991;function formatNumber(n){var t=Math.round(n);return Math.abs(t-n)<.001?t:Math.floor(n)}function formatOptions(n){return n=Object.assign({},n),n.size!==void 0&&(n.size=formatNumber(clamp$1(n.size,0,MAX_SAFE_INTEGER))),n.quality!==void 0&&(n.quality=formatNumber(clamp$1(n.quality,0,100))),n.cut!==void 0&&(n.cut=[formatNumber(clamp$1(n.cut[0],0,MAX_SAFE_INTEGER)),formatNumber(clamp$1(n.cut[1],0,MAX_SAFE_INTEGER)),formatNumber(clamp$1(n.cut[2],0,MAX_SAFE_INTEGER)),formatNumber(clamp$1(n.cut[3],0,MAX_SAFE_INTEGER))]),n.sharpen!==void 0&&(n.sharpen=formatNumber(clamp$1(n.sharpen,0,MAX_SAFE_INTEGER))),n}function imageURL(n,t){var e=__assign(__assign({},DEFAULT_IMAGE_URL_MAPPINGS),t.mappings),r=getDomain(n);if(r===null)return n;t=formatOptions(t);var o=e[r];return o?(n=route(n,t.key,o),/\.basis(\?|$)/.test(n)&&(n=n.replace(/\.basis(\?|$)/,".jpg$1")),o.type==="tencentCloud"?tencentCloudImageProcesser(n,t):o.type==="aliyun"?aliyunOOSImageProcesser(n,t):n):n}function applyImageURLOptions(n,t,e){t===void 0&&(t=imageURL);var r=t(n,e);if(r===n&&e.cut)throw new Error("ImageURL: cut option not applied.");return r}var IMAGE_SIZE_REG=/\/cube_(\d+)\//;function getImageSizeFromURL(n){var t=n.match(IMAGE_SIZE_REG);return t?Number(t[1]):null}function replaceImageSize(n,t){return n.replace(IMAGE_SIZE_REG,"/cube_".concat(t,"/"))}var log2=(_a$5=Math.log2)!==null&&_a$5!==void 0?_a$5:(function(n){return Math.log(n)*Math.LOG2E});function getImageSizeLevel(n){return Math.floor(Math.max(log2(n/512),0))}var windowSTOContext=(function(){var n=now();return{requestAnimationFrame:function(t){var e=now(),r=clamp$1(16+(e-n),16,33),o=setTimeout(function(){t(e+r)},r);return n=e+r,o},cancelAnimationFrame:function(t){return clearTimeout(t)}}})(),windowRAFContext=(function(){if(typeof window!="undefined"){var n=window;if(n.requestAnimationFrame)return{requestAnimationFrame:n.requestAnimationFrame.bind(n),cancelAnimationFrame:n.cancelAnimationFrame.bind(n)};if(n.mozRequestAnimationFrame)return{requestAnimationFrame:n.mozRequestAnimationFrame.bind(n),cancelAnimationFrame:n.mozCancelAnimationFrame.bind(n)};if(n.webkitRequestAnimationFrame)return{requestAnimationFrame:n.webkitRequestAnimationFrame.bind(n),cancelAnimationFrame:n.webkitCancelAnimationFrame.bind(n)};if(n.msRequestAnimationFrame)return{requestAnimationFrame:n.msRequestAnimationFrame.bind(n),cancelAnimationFrame:n.msCancelAnimationFrame.bind(n)}}return windowSTOContext})(),DEFAULT_ORDER=5,deviceFrameTime=16,AnimationFrameLoop=(function(){function n(){this.loopType="raf",this.frames=[],this.isAnimating=!1,this.context=null;var t=now();this.loop=(function(){for(var e=[],r=0;r<arguments.length;r++)e[r]=arguments[r];if(this.isAnimating!==!1){var o=now(),s=o-t;t=o,deviceFrameTime=s;for(var u=0;u<this.frames.length;u++){var l=this.frames[u];if(l.delay>0){l.delay=l.delay-1;continue}try{l.callback.apply(l,__spreadArray([o,s],e,!1))}catch(c){console.error(c)}l.once&&(this.frames.splice(u,1),u--)}this.requestId=this.requestAnimationFrame(this.loop)}}).bind(this),this.start()}return Object.defineProperty(n,"shared",{get:function(){return this.sharedInstance||(this.sharedInstance=new n),this.sharedInstance},enumerable:!1,configurable:!0}),n.getFrameTime=function(){return deviceFrameTime},n.prototype.start=function(){this.isAnimating!==!0&&(this.isAnimating=!0,this.requestId=this.requestAnimationFrame(this.loop))},n.prototype.stop=function(){this.isAnimating=!1,this.cancelAnimationFrame(this.requestId)},n.prototype.setContext=function(t){t!==this.context&&(this.stop(),this.context=t,this.start())},n.prototype.getContext=function(){return this.context},n.prototype.setLoopType=function(t){t!==this.loopType&&(this.stop(),this.loopType=t,this.start())},n.prototype.getLoopType=function(){return this.loopType},n.prototype.requestAnimationFrame=function(t){if(this.context)return this.context.requestAnimationFrame(t);if(this.loopType==="raf")return windowRAFContext.requestAnimationFrame(t);if(this.loopType==="sto")return windowSTOContext.requestAnimationFrame(t)},n.prototype.cancelAnimationFrame=function(t){if(this.context)this.context.cancelAnimationFrame(t);else if(this.loopType==="raf")windowRAFContext.cancelAnimationFrame(t);else if(this.loopType==="sto")return windowSTOContext.cancelAnimationFrame(t)},n.prototype.remove=function(t){var e=this.frames.indexOf(t);e>=0&&this.frames.splice(e,1)},n.prototype.add=function(t,e,r,o){var s=this;e===void 0&&(e=!1),r===void 0&&(r=0),o===void 0&&(o=DEFAULT_ORDER);for(var u={callback:t,once:e,delay:r,order:o},l=this.frames.length;--l>=0;)if(this.frames[l].order<=o){this.frames.splice(l+1,0,u);break}return l<0&&this.frames.unshift(u),function(){return s.remove(u)}},n.prototype.clear=function(){this.frames.length=0},n})(),browserSupportsImageBitmapApi=typeof createImageBitmap!="undefined"&&typeof ImageBitmap!="undefined",_useNativeImageBitmap=!1;function useNativeImageBitmap(n){_useNativeImageBitmap=n}function canUseNativeImageBitmap(){return _useNativeImageBitmap===!1?!1:browserSupportsImageBitmapApi}function createImageBitmapLikeImage(n){n===void 0&&(n={});var t=n.onClose,e=Object.assign(document.createElementNS("http://www.w3.org/1999/xhtml","img"),{crossOrigin:"",close:function(){t&&t.call(this),this.onerror=this.onload=this.close=noop,this.removeAttribute("src"),t=void 0}});return e}function createImageBitmapLike(n){if(canUseNativeImageBitmap())return createImageBitmap(n);var t=URL.createObjectURL(n),e=function(){this.src===t&&URL.revokeObjectURL(t)};return new Promise(function(r,o){var s=createImageBitmapLikeImage({onClose:e});s.onload=function(){s.src===t&&URL.revokeObjectURL(t),s.onload=s.onerror=noop,AnimationFrameLoop.shared.add(function(){r(s)},!0)},s.onerror=function(){var u=s.src;s.onload=s.onerror=noop,s.close(),o(new Error("image load error: ".concat(u)))},s.decoding="async",s.src=t})}var canvasPool=[];function createCanvas(n,t){var e=canvasPool.pop();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=noop,canvasPool.push(r)}});return r}function imageBitmapToTexture(n,t){if(t&&(n.width>t.width||n.height>t.height)){var e=createCanvas(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 o=new THREE__namespace.Texture(e);o.needsUpdate=!0,o.flipY=!0;var s=o.dispose;return o.dispose=function(){e.close(),s.call(o),o.dispose=s},o}else{var u=new THREE__namespace.Texture(n);u.needsUpdate=!0,typeof ImageBitmap!="undefined"&&n instanceof ImageBitmap?u.flipY=!1:u.flipY=!0,u.flipY===!1&&(u.repeat.y*=-1,u.offset.y+=1,u.updateMatrix());var l=u.dispose;return u.dispose=function(){this.image&&this.image.close(),l.call(u),u.dispose=l},u}}function imageBitmapsToCubeTexture(n){var t=new THREE__namespace.CubeTexture(n);t.needsUpdate=!0,t.flipY=!1;var e=t.dispose;return t.dispose=function(){if(Array.isArray(this.images))for(var r=0,o=this.images;r<o.length;r++){var s=o[r];s.close()}e.call(t),t.dispose=e},t}var FACE_ORDER$2=["right","left","up","down","front","back"],TextureLoader=(function(){function n(){}return n.prototype.loadTexture=function(t,e,r,o,s,u){var l,c,p,f,d,h,m;r===void 0&&(r=noop),o===void 0&&(o=noop),s===void 0&&(s=noop);var A={};typeof e.flipY!="undefined"&&(A.flipY=e.flipY),typeof e.format!="undefined"&&(A.format=e.format),typeof e.encoding!="undefined"&&(A.encoding=e.encoding),A.generateMipmaps=(l=e.generateMipmaps)!==null&&l!==void 0?l:!1,A.minFilter=(c=e.minFilter)!==null&&c!==void 0?c:THREE__namespace.LinearFilter,A.magFilter=(p=e.magFilter)!==null&&p!==void 0?p:THREE__namespace.LinearFilter;var g=(d=(f=e.imageURL)===null||f===void 0?void 0:f.options)!==null&&d!==void 0?d:{key:"unknown"};t=applyImageURLOptions(t,(h=e.imageURL)===null||h===void 0?void 0:h.transform,g);var y=(m=e.viaAjax)!==null&&m!==void 0?m:canUseNativeImageBitmap;if(y){var v=null,E="blob";return e.fetcher.ajax(t,{timeout:e.timeout,responseType:E},void 0,void 0,s).then(function(_){return createImageBitmapLike(_.body)}).then(function(_){return imageBitmapToTexture(_,e.maxSize)}).then(function(_){return Object.assign(_,A),_}).then(function(_){var S={meta:v,body:_};return r(S),S}).catch(function(_){return o(_),Promise.reject(_)})}else{var b=null,T;return Promise.resolve().then(function(){return createImageBitmapLikeImage()}).then(function(_){return T=_,e.fetcher.loadImage(t,{timeout:e.timeout},void 0,void 0,s,_)}).then(function(_){return b=_.meta,imageBitmapToTexture(_.body,e.maxSize)}).then(function(_){return Object.assign(_,A),_}).then(function(_){var S={meta:b,body:_};return r(S),S}).catch(function(_){return T&&T.close(),o(_),Promise.reject(_)})}},n.prototype.loadCubeTexture=function(t,e,r,o,s,u){var l,c,p,f,d,h,m;r===void 0&&(r=noop),o===void 0&&(o=noop),s===void 0&&(s=noop);var A={};typeof e.format!="undefined"&&(A.format=e.format),A.generateMipmaps=(l=e.generateMipmaps)!==null&&l!==void 0?l:!1,A.minFilter=(c=e.minFilter)!==null&&c!==void 0?c:THREE__namespace.LinearFilter,A.magFilter=(p=e.magFilter)!==null&&p!==void 0?p:THREE__namespace.LinearFilter;for(var g=[t[FACE_ORDER$2[0]],t[FACE_ORDER$2[1]],t[FACE_ORDER$2[2]],t[FACE_ORDER$2[3]],t[FACE_ORDER$2[4]],t[FACE_ORDER$2[5]]],y=[],v=[0,0,0,0,0,0],E=[],b=function(_){var S=(d=(f=e.imageURL)===null||f===void 0?void 0:f.options)!==null&&d!==void 0?d:{key:"unknown"},R=applyImageURLOptions(g[_],(h=e.imageURL)===null||h===void 0?void 0:h.transform,__assign(__assign({},S),{key:S.key+"."+FACE_ORDER$2[_]})),w=function(L){v[_]=L,s(v.reduce(function(O,F){return O+F},0)/6)},M=(m=e.viaAjax)!==null&&m!==void 0?m:!1;if(M){var B="blob",C=e.fetcher.ajax(R,{timeout:e.timeout,responseType:B},void 0,void 0,w).then(function(L){return E[_]=L.meta,createImageBitmapLike(L.body)});y.push(C)}else{var P,C=Promise.resolve().then(function(){return createImageBitmapLikeImage()}).then(function(O){return P=O,e.fetcher.loadImage(R,{timeout:e.timeout},void 0,void 0,w,O)}).then(function(O){return E[_]=O.meta,O.body}).catch(function(O){return P&&P.close(),Promise.reject(O)});y.push(C)}},T=0;T<6;T++)b(T);return Promise.all(y).then(function(_){return imageBitmapsToCubeTexture(_)}).then(function(_){return Object.assign(_,__assign({encoding:THREE__namespace.sRGBEncoding},A)),_}).then(function(_){var S={body:_,meta:E};return r(S),S}).catch(function(_){for(var S=0,R=y;S<R.length;S++){var w=R[S];w.then(function(M){return M.close()}).catch(noop)}return o(_),Promise.reject(_)})},n})(),commonjsGlobal=typeof globalThis!="undefined"?globalThis:typeof window!="undefined"?window:typeof global!="undefined"?global:typeof self!="undefined"?self:{},indexMinimal={},minimal$1={},aspromise,hasRequiredAspromise;function requireAspromise(){if(hasRequiredAspromise)return aspromise;hasRequiredAspromise=1,aspromise=n;function n(t,e){for(var r=new Array(arguments.length-1),o=0,s=2,u=!0;s<arguments.length;)r[o++]=arguments[s++];return new Promise(function(c,p){r[o]=function(d){if(u)if(u=!1,d)p(d);else{for(var h=new Array(arguments.length-1),m=0;m<h.length;)h[m++]=arguments[m];c.apply(null,h)}};try{t.apply(e||null,r)}catch(f){u&&(u=!1,p(f))}})}return aspromise}var base64={},hasRequiredBase64;function requireBase64(){return hasRequiredBase64||(hasRequiredBase64=1,(function(n){var t=n;t.length=function(l){var c=l.length;if(!c)return 0;for(var p=0;--c%4>1&&l.charAt(c)==="=";)++p;return Math.ceil(l.length*3)/4-p};for(var e=new Array(64),r=new Array(123),o=0;o<64;)r[e[o]=o<26?o+65:o<52?o+71:o<62?o-4:o-59|43]=o++;t.encode=function(l,c,p){for(var f=null,d=[],h=0,m=0,A;c<p;){var g=l[c++];switch(m){case 0:d[h++]=e[g>>2],A=(g&3)<<4,m=1;break;case 1:d[h++]=e[A|g>>4],A=(g&15)<<2,m=2;break;case 2:d[h++]=e[A|g>>6],d[h++]=e[g&63],m=0;break}h>8191&&((f||(f=[])).push(String.fromCharCode.apply(String,d)),h=0)}return m&&(d[h++]=e[A],d[h++]=61,m===1&&(d[h++]=61)),f?(h&&f.push(String.fromCharCode.apply(String,d.slice(0,h))),f.join("")):String.fromCharCode.apply(String,d.slice(0,h))};var s="invalid encoding";t.decode=function(l,c,p){for(var f=p,d=0,h,m=0;m<l.length;){var A=l.charCodeAt(m++);if(A===61&&d>1)break;if((A=r[A])===void 0)throw Error(s);switch(d){case 0:h=A,d=1;break;case 1:c[p++]=h<<2|(A&48)>>4,h=A,d=2;break;case 2:c[p++]=(h&15)<<4|(A&60)>>2,h=A,d=3;break;case 3:c[p++]=(h&3)<<6|A,d=0;break}}if(d===1)throw Error(s);return p-f},t.test=function(l){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(l)}})(base64)),base64}var eventemitter,hasRequiredEventemitter;function requireEventemitter(){if(hasRequiredEventemitter)return eventemitter;hasRequiredEventemitter=1,eventemitter=n;function n(){this._listeners={}}return n.prototype.on=function(e,r,o){return(this._listeners[e]||(this._listeners[e]=[])).push({fn:r,ctx:o||this}),this},n.prototype.off=function(e,r){if(e===void 0)this._listeners={};else if(r===void 0)this._listeners[e]=[];else for(var o=this._listeners[e],s=0;s<o.length;)o[s].fn===r?o.splice(s,1):++s;return this},n.prototype.emit=function(e){var r=this._listeners[e];if(r){for(var o=[],s=1;s<arguments.length;)o.push(arguments[s++]);for(s=0;s<r.length;)r[s].fn.apply(r[s++].ctx,o)}return this},eventemitter}var float,hasRequiredFloat;function requireFloat(){if(hasRequiredFloat)return float;hasRequiredFloat=1,float=n(n);function n(s){return typeof Float32Array!="undefined"?(function(){var u=new Float32Array([-0]),l=new Uint8Array(u.buffer),c=l[3]===128;function p(m,A,g){u[0]=m,A[g]=l[0],A[g+1]=l[1],A[g+2]=l[2],A[g+3]=l[3]}function f(m,A,g){u[0]=m,A[g]=l[3],A[g+1]=l[2],A[g+2]=l[1],A[g+3]=l[0]}s.writeFloatLE=c?p:f,s.writeFloatBE=c?f:p;function d(m,A){return l[0]=m[A],l[1]=m[A+1],l[2]=m[A+2],l[3]=m[A+3],u[0]}function h(m,A){return l[3]=m[A],l[2]=m[A+1],l[1]=m[A+2],l[0]=m[A+3],u[0]}s.readFloatLE=c?d:h,s.readFloatBE=c?h:d})():(function(){function u(c,p,f,d){var h=p<0?1:0;if(h&&(p=-p),p===0)c(1/p>0?0:2147483648,f,d);else if(isNaN(p))c(2143289344,f,d);else if(p>34028234663852886e22)c((h<<31|2139095040)>>>0,f,d);else if(p<11754943508222875e-54)c((h<<31|Math.round(p/1401298464324817e-60))>>>0,f,d);else{var m=Math.floor(Math.log(p)/Math.LN2),A=Math.round(p*Math.pow(2,-m)*8388608)&8388607;c((h<<31|m+127<<23|A)>>>0,f,d)}}s.writeFloatLE=u.bind(null,t),s.writeFloatBE=u.bind(null,e);function l(c,p,f){var d=c(p,f),h=(d>>31)*2+1,m=d>>>23&255,A=d&8388607;return m===255?A?NaN:h*(1/0):m===0?h*1401298464324817e-60*A:h*Math.pow(2,m-150)*(A+8388608)}s.readFloatLE=l.bind(null,r),s.readFloatBE=l.bind(null,o)})(),typeof Float64Array!="undefined"?(function(){var u=new Float64Array([-0]),l=new Uint8Array(u.buffer),c=l[7]===128;function p(m,A,g){u[0]=m,A[g]=l[0],A[g+1]=l[1],A[g+2]=l[2],A[g+3]=l[3],A[g+4]=l[4],A[g+5]=l[5],A[g+6]=l[6],A[g+7]=l[7]}function f(m,A,g){u[0]=m,A[g]=l[7],A[g+1]=l[6],A[g+2]=l[5],A[g+3]=l[4],A[g+4]=l[3],A[g+5]=l[2],A[g+6]=l[1],A[g+7]=l[0]}s.writeDoubleLE=c?p:f,s.writeDoubleBE=c?f:p;function d(m,A){return l[0]=m[A],l[1]=m[A+1],l[2]=m[A+2],l[3]=m[A+3],l[4]=m[A+4],l[5]=m[A+5],l[6]=m[A+6],l[7]=m[A+7],u[0]}function h(m,A){return l[7]=m[A],l[6]=m[A+1],l[5]=m[A+2],l[4]=m[A+3],l[3]=m[A+4],l[2]=m[A+5],l[1]=m[A+6],l[0]=m[A+7],u[0]}s.readDoubleLE=c?d:h,s.readDoubleBE=c?h:d})():(function(){function u(c,p,f,d,h,m){var A=d<0?1:0;if(A&&(d=-d),d===0)c(0,h,m+p),c(1/d>0?0:2147483648,h,m+f);else if(isNaN(d))c(0,h,m+p),c(2146959360,h,m+f);else if(d>17976931348623157e292)c(0,h,m+p),c((A<<31|2146435072)>>>0,h,m+f);else{var g;if(d<22250738585072014e-324)g=d/5e-324,c(g>>>0,h,m+p),c((A<<31|g/4294967296)>>>0,h,m+f);else{var y=Math.floor(Math.log(d)/Math.LN2);y===1024&&(y=1023),g=d*Math.pow(2,-y),c(g*4503599627370496>>>0,h,m+p),c((A<<31|y+1023<<20|g*1048576&1048575)>>>0,h,m+f)}}}s.writeDoubleLE=u.bind(null,t,0,4),s.writeDoubleBE=u.bind(null,e,4,0);function l(c,p,f,d,h){var m=c(d,h+p),A=c(d,h+f),g=(A>>31)*2+1,y=A>>>20&2047,v=4294967296*(A&1048575)+m;return y===2047?v?NaN:g*(1/0):y===0?g*5e-324*v:g*Math.pow(2,y-1075)*(v+4503599627370496)}s.readDoubleLE=l.bind(null,r,0,4),s.readDoubleBE=l.bind(null,o,4,0)})(),s}function t(s,u,l){u[l]=s&255,u[l+1]=s>>>8&255,u[l+2]=s>>>16&255,u[l+3]=s>>>24}function e(s,u,l){u[l]=s>>>24,u[l+1]=s>>>16&255,u[l+2]=s>>>8&255,u[l+3]=s&255}function r(s,u){return(s[u]|s[u+1]<<8|s[u+2]<<16|s[u+3]<<24)>>>0}function o(s,u){return(s[u]<<24|s[u+1]<<16|s[u+2]<<8|s[u+3])>>>0}return float}var inquire_1,hasRequiredInquire;function requireInquire(){if(hasRequiredInquire)return inquire_1;hasRequiredInquire=1,inquire_1=inquire;function inquire(moduleName){try{var mod=eval("quire".replace(/^/,"re"))(moduleName);if(mod&&(mod.length||Object.keys(mod).length))return mod}catch(n){}return null}return inquire_1}var utf8={},hasRequiredUtf8;function requireUtf8(){return hasRequiredUtf8||(hasRequiredUtf8=1,(function(n){var t=n;t.length=function(r){for(var o=0,s=0,u=0;u<r.length;++u)s=r.charCodeAt(u),s<128?o+=1:s<2048?o+=2:(s&64512)===55296&&(r.charCodeAt(u+1)&64512)===56320?(++u,o+=4):o+=3;return o},t.read=function(r,o,s){var u=s-o;if(u<1)return"";for(var l=null,c=[],p=0,f;o<s;)f=r[o++],f<128?c[p++]=f:f>191&&f<224?c[p++]=(f&31)<<6|r[o++]&63:f>239&&f<365?(f=((f&7)<<18|(r[o++]&63)<<12|(r[o++]&63)<<6|r[o++]&63)-65536,c[p++]=55296+(f>>10),c[p++]=56320+(f&1023)):c[p++]=(f&15)<<12|(r[o++]&63)<<6|r[o++]&63,p>8191&&((l||(l=[])).push(String.fromCharCode.apply(String,c)),p=0);return l?(p&&l.push(String.fromCharCode.apply(String,c.slice(0,p))),l.join("")):String.fromCharCode.apply(String,c.slice(0,p))},t.write=function(r,o,s){for(var u=s,l,c,p=0;p<r.length;++p)l=r.charCodeAt(p),l<128?o[s++]=l:l<2048?(o[s++]=l>>6|192,o[s++]=l&63|128):(l&64512)===55296&&((c=r.charCodeAt(p+1))&64512)===56320?(l=65536+((l&1023)<<10)+(c&1023),++p,o[s++]=l>>18|240,o[s++]=l>>12&63|128,o[s++]=l>>6&63|128,o[s++]=l&63|128):(o[s++]=l>>12|224,o[s++]=l>>6&63|128,o[s++]=l&63|128);return s-u}})(utf8)),utf8}var pool_1,hasRequiredPool;function requirePool(){if(hasRequiredPool)return pool_1;hasRequiredPool=1,pool_1=n;function n(t,e,r){var o=r||8192,s=o>>>1,u=null,l=o;return function(p){if(p<1||p>s)return t(p);l+p>o&&(u=t(o),l=0);var f=e.call(u,l,l+=p);return l&7&&(l=(l|7)+1),f}}return pool_1}var longbits,hasRequiredLongbits;function requireLongbits(){if(hasRequiredLongbits)return longbits;hasRequiredLongbits=1,longbits=t;var n=requireMinimal$1();function t(s,u){this.lo=s>>>0,this.hi=u>>>0}var e=t.zero=new t(0,0);e.toNumber=function(){return 0},e.zzEncode=e.zzDecode=function(){return this},e.length=function(){return 1};var r=t.zeroHash="\0\0\0\0\0\0\0\0";t.fromNumber=function(u){if(u===0)return e;var l=u<0;l&&(u=-u);var c=u>>>0,p=(u-c)/4294967296>>>0;return l&&(p=~p>>>0,c=~c>>>0,++c>4294967295&&(c=0,++p>4294967295&&(p=0))),new t(c,p)},t.from=function(u){if(typeof u=="number")return t.fromNumber(u);if(n.isString(u))if(n.Long)u=n.Long.fromString(u);else return t.fromNumber(parseInt(u,10));return u.low||u.high?new t(u.low>>>0,u.high>>>0):e},t.prototype.toNumber=function(u){if(!u&&this.hi>>>31){var l=~this.lo+1>>>0,c=~this.hi>>>0;return l||(c=c+1>>>0),-(l+c*4294967296)}return this.lo+this.hi*4294967296},t.prototype.toLong=function(u){return n.Long?new n.Long(this.lo|0,this.hi|0,!!u):{low:this.lo|0,high:this.hi|0,unsigned:!!u}};var o=String.prototype.charCodeAt;return t.fromHash=function(u){return u===r?e:new t((o.call(u,0)|o.call(u,1)<<8|o.call(u,2)<<16|o.call(u,3)<<24)>>>0,(o.call(u,4)|o.call(u,5)<<8|o.call(u,6)<<16|o.call(u,7)<<24)>>>0)},t.prototype.toHash=function(){return String.fromCharCode(this.lo&255,this.lo>>>8&255,this.lo>>>16&255,this.lo>>>24,this.hi&255,this.hi>>>8&255,this.hi>>>16&255,this.hi>>>24)},t.prototype.zzEncode=function(){var u=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^u)>>>0,this.lo=(this.lo<<1^u)>>>0,this},t.prototype.zzDecode=function(){var u=-(this.lo&1);return this.lo=((this.lo>>>1|this.hi<<31)^u)>>>0,this.hi=(this.hi>>>1^u)>>>0,this},t.prototype.length=function(){var u=this.lo,l=(this.lo>>>28|this.hi<<4)>>>0,c=this.hi>>>24;return c===0?l===0?u<16384?u<128?1:2:u<2097152?3:4:l<16384?l<128?5:6:l<2097152?7:8:c<128?9:10},longbits}var hasRequiredMinimal$1;function requireMinimal$1(){return hasRequiredMinimal$1||(hasRequiredMinimal$1=1,(function(n){var t=n;t.asPromise=requireAspromise(),t.base64=requireBase64(),t.EventEmitter=requireEventemitter(),t.float=requireFloat(),t.inquire=requireInquire(),t.utf8=requireUtf8(),t.pool=requirePool(),t.LongBits=requireLongbits(),t.isNode=!!(typeof commonjsGlobal!="undefined"&&commonjsGlobal&&commonjsGlobal.process&&commonjsGlobal.process.versions&&commonjsGlobal.process.versions.node),t.global=t.isNode&&commonjsGlobal||typeof window!="undefined"&&window||typeof self!="undefined"&&self||minimal$1,t.emptyArray=Object.freeze?Object.freeze([]):[],t.emptyObject=Object.freeze?Object.freeze({}):{},t.isInteger=Number.isInteger||function(s){return typeof s=="number"&&isFinite(s)&&Math.floor(s)===s},t.isString=function(s){return typeof s=="string"||s instanceof String},t.isObject=function(s){return s&&typeof s=="object"},t.isset=t.isSet=function(s,u){var l=s[u];return l!=null&&s.hasOwnProperty(u)?typeof l!="object"||(Array.isArray(l)?l.length:Object.keys(l).length)>0:!1},t.Buffer=(function(){try{var o=t.inquire("buffer").Buffer;return o.prototype.utf8Write?o:null}catch(s){return null}})(),t._Buffer_from=null,t._Buffer_allocUnsafe=null,t.newBuffer=function(s){return typeof s=="number"?t.Buffer?t._Buffer_allocUnsafe(s):new t.Array(s):t.Buffer?t._Buffer_from(s):typeof Uint8Array=="undefined"?s:new Uint8Array(s)},t.Array=typeof Uint8Array!="undefined"?Uint8Array:Array,t.Long=t.global.dcodeIO&&t.global.dcodeIO.Long||t.global.Long||t.inquire("long"),t.key2Re=/^true|false|0|1$/,t.key32Re=/^-?(?:0|[1-9][0-9]*)$/,t.key64Re=/^(?:[\\x00-\\xff]{8}|-?(?:0|[1-9][0-9]*))$/,t.longToHash=function(s){return s?t.LongBits.from(s).toHash():t.LongBits.zeroHash},t.longFromHash=function(s,u){var l=t.LongBits.fromHash(s);return t.Long?t.Long.fromBits(l.lo,l.hi,u):l.toNumber(!!u)};function e(o,s,u){for(var l=Object.keys(s),c=0;c<l.length;++c)(o[l[c]]===void 0||!u)&&(o[l[c]]=s[l[c]]);return o}t.merge=e,t.lcFirst=function(s){return s.charAt(0).toLowerCase()+s.substring(1)};function r(o){function s(u,l){if(!(this instanceof s))return new s(u,l);Object.defineProperty(this,"message",{get:function(){return u}}),Error.captureStackTrace?Error.captureStackTrace(this,s):Object.defineProperty(this,"stack",{value:new Error().stack||""}),l&&e(this,l)}return s.prototype=Object.create(Error.prototype,{constructor:{value:s,writable:!0,enumerable:!1,configurable:!0},name:{get:function(){return o},set:void 0,enumerable:!1,configurable:!0},toString:{value:function(){return this.name+": "+this.message},writable:!0,enumerable:!1,configurable:!0}}),s}t.newError=r,t.ProtocolError=r("ProtocolError"),t.oneOfGetter=function(s){for(var u={},l=0;l<s.length;++l)u[s[l]]=1;return function(){for(var c=Object.keys(this),p=c.length-1;p>-1;--p)if(u[c[p]]===1&&this[c[p]]!==void 0&&this[c[p]]!==null)return c[p]}},t.oneOfSetter=function(s){return function(u){for(var l=0;l<s.length;++l)s[l]!==u&&delete this[s[l]]}},t.toJSONOptions={longs:String,enums:String,bytes:String,json:!0},t._configure=function(){var o=t.Buffer;if(!o){t._Buffer_from=t._Buffer_allocUnsafe=null;return}t._Buffer_from=o.from!==Uint8Array.from&&o.from||function(u,l){return new o(u,l)},t._Buffer_allocUnsafe=o.allocUnsafe||function(u){return new o(u)}}})(minimal$1)),minimal$1}var writer,hasRequiredWriter;function requireWriter(){if(hasRequiredWriter)return writer;hasRequiredWriter=1,writer=c;var n=requireMinimal$1(),t,e=n.LongBits,r=n.base64,o=n.utf8;function s(y,v,E){this.fn=y,this.len=v,this.next=void 0,this.val=E}function u(){}function l(y){this.head=y.head,this.tail=y.tail,this.len=y.len,this.next=y.states}function c(){this.len=0,this.head=new s(u,0,0),this.tail=this.head,this.states=null}var p=function(){return n.Buffer?function(){return(c.create=function(){return new t})()}:function(){return new c}};c.create=p(),c.alloc=function(v){return new n.Array(v)},n.Array!==Array&&(c.alloc=n.pool(c.alloc,n.Array.prototype.subarray)),c.prototype._push=function(v,E,b){return this.tail=this.tail.next=new s(v,E,b),this.len+=E,this};function f(y,v,E){v[E]=y&255}function d(y,v,E){for(;y>127;)v[E++]=y&127|128,y>>>=7;v[E]=y}function h(y,v){this.len=y,this.next=void 0,this.val=v}h.prototype=Object.create(s.prototype),h.prototype.fn=d,c.prototype.uint32=function(v){return this.len+=(this.tail=this.tail.next=new h((v=v>>>0)<128?1:v<16384?2:v<2097152?3:v<268435456?4:5,v)).len,this},c.prototype.int32=function(v){return v<0?this._push(m,10,e.fromNumber(v)):this.uint32(v)},c.prototype.sint32=function(v){return this.uint32((v<<1^v>>31)>>>0)};function m(y,v,E){for(;y.hi;)v[E++]=y.lo&127|128,y.lo=(y.lo>>>7|y.hi<<25)>>>0,y.hi>>>=7;for(;y.lo>127;)v[E++]=y.lo&127|128,y.lo=y.lo>>>7;v[E++]=y.lo}c.prototype.uint64=function(v){var E=e.from(v);return this._push(m,E.length(),E)},c.prototype.int64=c.prototype.uint64,c.prototype.sint64=function(v){var E=e.from(v).zzEncode();return this._push(m,E.length(),E)},c.prototype.bool=function(v){return this._push(f,1,v?1:0)};function A(y,v,E){v[E]=y&255,v[E+1]=y>>>8&255,v[E+2]=y>>>16&255,v[E+3]=y>>>24}c.prototype.fixed32=function(v){return this._push(A,4,v>>>0)},c.prototype.sfixed32=c.prototype.fixed32,c.prototype.fixed64=function(v){var E=e.from(v);return this._push(A,4,E.lo)._push(A,4,E.hi)},c.prototype.sfixed64=c.prototype.fixed64,c.prototype.float=function(v){return this._push(n.float.writeFloatLE,4,v)},c.prototype.double=function(v){return this._push(n.float.writeDoubleLE,8,v)};var g=n.Array.prototype.set?function(v,E,b){E.set(v,b)}:function(v,E,b){for(var T=0;T<v.length;++T)E[b+T]=v[T]};return c.prototype.bytes=function(v){var E=v.length>>>0;if(!E)return this._push(f,1,0);if(n.isString(v)){var b=c.alloc(E=r.length(v));r.decode(v,b,0),v=b}return this.uint32(E)._push(g,E,v)},c.prototype.string=function(v){var E=o.length(v);return E?this.uint32(E)._push(o.write,E,v):this._push(f,1,0)},c.prototype.fork=function(){return this.states=new l(this),this.head=this.tail=new s(u,0,0),this.len=0,this},c.prototype.reset=function(){return this.states?(this.head=this.states.head,this.tail=this.states.tail,this.len=this.states.len,this.states=this.states.next):(this.head=this.tail=new s(u,0,0),this.len=0),this},c.prototype.ldelim=function(){var v=this.head,E=this.tail,b=this.len;return this.reset().uint32(b),b&&(this.tail.next=v.next,this.tail=E,this.len+=b),this},c.prototype.finish=function(){for(var v=this.head.next,E=this.constructor.alloc(this.len),b=0;v;)v.fn(v.val,E,b),b+=v.len,v=v.next;return E},c._configure=function(y){t=y,c.create=p(),t._configure()},writer}var writer_buffer,hasRequiredWriter_buffer;function requireWriter_buffer(){if(hasRequiredWriter_buffer)return writer_buffer;hasRequiredWriter_buffer=1,writer_buffer=e;var n=requireWriter();(e.prototype=Object.create(n.prototype)).constructor=e;var t=requireMinimal$1();function e(){n.call(this)}e._configure=function(){e.alloc=t._Buffer_allocUnsafe,e.writeBytesBuffer=t.Buffer&&t.Buffer.prototype instanceof Uint8Array&&t.Buffer.prototype.set.name==="set"?function(s,u,l){u.set(s,l)}:function(s,u,l){if(s.copy)s.copy(u,l,0,s.length);else for(var c=0;c<s.length;)u[l++]=s[c++]}},e.prototype.bytes=function(s){t.isString(s)&&(s=t._Buffer_from(s,"base64"));var u=s.length>>>0;return this.uint32(u),u&&this._push(e.writeBytesBuffer,u,s),this};function r(o,s,u){o.length<40?t.utf8.write(o,s,u):s.utf8Write?s.utf8Write(o,u):s.write(o,u)}return e.prototype.string=function(s){var u=t.Buffer.byteLength(s);return this.uint32(u),u&&this._push(r,u,s),this},e._configure(),writer_buffer}var reader,hasRequiredReader;function requireReader(){if(hasRequiredReader)return reader;hasRequiredReader=1,reader=s;var n=requireMinimal$1(),t,e=n.LongBits,r=n.utf8;function o(d,h){return RangeError("index out of range: "+d.pos+" + "+(h||1)+" > "+d.len)}function s(d){this.buf=d,this.pos=0,this.len=d.length}var u=typeof Uint8Array!="undefined"?function(h){if(h instanceof Uint8Array||Array.isArray(h))return new s(h);throw Error("illegal buffer")}:function(h){if(Array.isArray(h))return new s(h);throw Error("illegal buffer")},l=function(){return n.Buffer?function(m){return(s.create=function(g){return n.Buffer.isBuffer(g)?new t(g):u(g)})(m)}:u};s.create=l(),s.prototype._slice=n.Array.prototype.subarray||n.Array.prototype.slice,s.prototype.uint32=(function(){var h=4294967295;return function(){if(h=(this.buf[this.pos]&127)>>>0,this.buf[this.pos++]<128||(h=(h|(this.buf[this.pos]&127)<<7)>>>0,this.buf[this.pos++]<128)||(h=(h|(this.buf[this.pos]&127)<<14)>>>0,this.buf[this.pos++]<128)||(h=(h|(this.buf[this.pos]&127)<<21)>>>0,this.buf[this.pos++]<128)||(h=(h|(this.buf[this.pos]&15)<<28)>>>0,this.buf[this.pos++]<128))return h;if((this.pos+=5)>this.len)throw this.pos=this.len,o(this,10);return h}})(),s.prototype.int32=function(){return this.uint32()|0},s.prototype.sint32=function(){var h=this.uint32();return h>>>1^-(h&1)|0};function c(){var d=new e(0,0),h=0;if(this.len-this.pos>4){for(;h<4;++h)if(d.lo=(d.lo|(this.buf[this.pos]&127)<<h*7)>>>0,this.buf[this.pos++]<128)return d;if(d.lo=(d.lo|(this.buf[this.pos]&127)<<28)>>>0,d.hi=(d.hi|(this.buf[this.pos]&127)>>4)>>>0,this.buf[this.pos++]<128)return d;h=0}else{for(;h<3;++h){if(this.pos>=this.len)throw o(this);if(d.lo=(d.lo|(this.buf[this.pos]&127)<<h*7)>>>0,this.buf[this.pos++]<128)return d}return d.lo=(d.lo|(this.buf[this.pos++]&127)<<h*7)>>>0,d}if(this.len-this.pos>4){for(;h<5;++h)if(d.hi=(d.hi|(this.buf[this.pos]&127)<<h*7+3)>>>0,this.buf[this.pos++]<128)return d}else for(;h<5;++h){if(this.pos>=this.len)throw o(this);if(d.hi=(d.hi|(this.buf[this.pos]&127)<<h*7+3)>>>0,this.buf[this.pos++]<128)return d}throw Error("invalid varint encoding")}s.prototype.bool=function(){return this.uint32()!==0};function p(d,h){return(d[h-4]|d[h-3]<<8|d[h-2]<<16|d[h-1]<<24)>>>0}s.prototype.fixed32=function(){if(this.pos+4>this.len)throw o(this,4);return p(this.buf,this.pos+=4)},s.prototype.sfixed32=function(){if(this.pos+4>this.len)throw o(this,4);return p(this.buf,this.pos+=4)|0};function f(){if(this.pos+8>this.len)throw o(this,8);return new e(p(this.buf,this.pos+=4),p(this.buf,this.pos+=4))}return s.prototype.float=function(){if(this.pos+4>this.len)throw o(this,4);var h=n.float.readFloatLE(this.buf,this.pos);return this.pos+=4,h},s.prototype.double=function(){if(this.pos+8>this.len)throw o(this,4);var h=n.float.readDoubleLE(this.buf,this.pos);return this.pos+=8,h},s.prototype.bytes=function(){var h=this.uint32(),m=this.pos,A=this.pos+h;if(A>this.len)throw o(this,h);if(this.pos+=h,Array.isArray(this.buf))return this.buf.slice(m,A);if(m===A){var g=n.Buffer;return g?g.alloc(0):new this.buf.constructor(0)}return this._slice.call(this.buf,m,A)},s.prototype.string=function(){var h=this.bytes();return r.read(h,0,h.length)},s.prototype.skip=function(h){if(typeof h=="number"){if(this.pos+h>this.len)throw o(this,h);this.pos+=h}else do if(this.pos>=this.len)throw o(this);while(this.buf[this.pos++]&128);return this},s.prototype.skipType=function(d){switch(d){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;(d=this.uint32()&7)!==4;)this.skipType(d);break;case 5:this.skip(4);break;default:throw Error("invalid wire type "+d+" at offset "+this.pos)}return this},s._configure=function(d){t=d,s.create=l(),t._configure();var h=n.Long?"toLong":"toNumber";n.merge(s.prototype,{int64:function(){return c.call(this)[h](!1)},uint64:function(){return c.call(this)[h](!0)},sint64:function(){return c.call(this).zzDecode()[h](!1)},fixed64:function(){return f.call(this)[h](!0)},sfixed64:function(){return f.call(this)[h](!1)}})},reader}var reader_buffer,hasRequiredReader_buffer;function requireReader_buffer(){if(hasRequiredReader_buffer)return reader_buffer;hasRequiredReader_buffer=1,reader_buffer=e;var n=requireReader();(e.prototype=Object.create(n.prototype)).constructor=e;var t=requireMinimal$1();function e(r){n.call(this,r)}return e._configure=function(){t.Buffer&&(e.prototype._slice=t.Buffer.prototype.slice)},e.prototype.string=function(){var o=this.uint32();return this.buf.utf8Slice?this.buf.utf8Slice(this.pos,this.pos=Math.min(this.pos+o,this.len)):this.buf.toString("utf-8",this.pos,this.pos=Math.min(this.pos+o,this.len))},e._configure(),reader_buffer}var rpc={},service,hasRequiredService;function requireService(){if(hasRequiredService)return service;hasRequiredService=1,service=t;var n=requireMinimal$1();(t.prototype=Object.create(n.EventEmitter.prototype)).constructor=t;function t(e,r,o){if(typeof e!="function")throw TypeError("rpcImpl must be a function");n.EventEmitter.call(this),this.rpcImpl=e,this.requestDelimited=!!r,this.responseDelimited=!!o}return t.prototype.rpcCall=function e(r,o,s,u,l){if(!u)throw TypeError("request must be specified");var c=this;if(!l)return n.asPromise(e,c,r,o,s,u);if(!c.rpcImpl){setTimeout(function(){l(Error("already ended"))},0);return}try{return c.rpcImpl(r,o[c.requestDelimited?"encodeDelimited":"encode"](u).finish(),function(f,d){if(f)return c.emit("error",f,r),l(f);if(d===null){c.end(!0);return}if(!(d instanceof s))try{d=s[c.responseDelimited?"decodeDelimited":"decode"](d)}catch(h){return c.emit("error",h,r),l(h)}return c.emit("data",d,r),l(null,d)})}catch(p){c.emit("error",p,r),setTimeout(function(){l(p)},0);return}},t.prototype.end=function(r){return this.rpcImpl&&(r||this.rpcImpl(null,null,null),this.rpcImpl=null,this.emit("end").off()),this},service}var hasRequiredRpc;function requireRpc(){return hasRequiredRpc||(hasRequiredRpc=1,(function(n){var t=n;t.Service=requireService()})(rpc)),rpc}var roots,hasRequiredRoots;function requireRoots(){return hasRequiredRoots||(hasRequiredRoots=1,roots={}),roots}var hasRequiredIndexMinimal;function requireIndexMinimal(){return hasRequiredIndexMinimal||(hasRequiredIndexMinimal=1,(function(n){var t=n;t.build="minimal",t.Writer=requireWriter(),t.BufferWriter=requireWriter_buffer(),t.Reader=requireReader(),t.BufferReader=requireReader_buffer(),t.util=requireMinimal$1(),t.rpc=requireRpc(),t.roots=requireRoots(),t.configure=e;function e(){t.util._configure(),t.Writer._configure(t.BufferWriter),t.Reader._configure(t.BufferReader)}e()})(indexMinimal)),indexMinimal}var minimal,hasRequiredMinimal;function requireMinimal(){return hasRequiredMinimal||(hasRequiredMinimal=1,minimal=requireIndexMinimal()),minimal}var minimalExports=requireMinimal();const $Reader$1=minimalExports.Reader,$util$1=minimalExports.util,$root$1=minimalExports.roots["@REALSEE/FIVE:five/model/loaders/protobuf/pbm.proto"]||(minimalExports.roots["@REALSEE/FIVE:five/model/loaders/protobuf/pbm.proto"]={}),Model$2=$root$1.Model=(()=>{function n(t){if(this.chunks=[],t)for(let e=Object.keys(t),r=0;r<e.length;++r)t[e[r]]!=null&&(this[e[r]]=t[e[r]])}return n.prototype.chunks=$util$1.emptyArray,n.prototype.createAt=$util$1.Long?$util$1.Long.fromBits(0,0,!0):0,n.prototype.description="",n.decode=function(e,r,o){e instanceof $Reader$1||(e=$Reader$1.create(e));let s=r===void 0?e.len:e.pos+r,u=new $root$1.Model;for(;e.pos<s;){let l=e.uint32();if(l===o)break;switch(l>>>3){case 1:{u.chunks&&u.chunks.length||(u.chunks=[]),u.chunks.push($root$1.Chunk.decode(e,e.uint32()));break}case 2:{u.createAt=e.uint64();break}case 3:{u.description=e.string();break}default:e.skipType(l&7);break}}return u},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/Model"},n})();$root$1.Chunk=(()=>{function n(t){if(t)for(let e=Object.keys(t),r=0;r<e.length;++r)t[e[r]]!=null&&(this[e[r]]=t[e[r]])}return n.prototype.vertices=null,n.prototype.faces=null,n.prototype.name="",n.prototype.texture="",n.decode=function(e,r,o){e instanceof $Reader$1||(e=$Reader$1.create(e));let s=r===void 0?e.len:e.pos+r,u=new $root$1.Chunk;for(;e.pos<s;){let l=e.uint32();if(l===o)break;switch(l>>>3){case 1:{u.vertices=$root$1.Vertices.decode(e,e.uint32());break}case 2:{u.faces=$root$1.Faces.decode(e,e.uint32());break}case 3:{u.name=e.string();break}case 4:{u.texture=e.string();break}default:e.skipType(l&7);break}}if(!u.hasOwnProperty("vertices"))throw $util$1.ProtocolError("missing required 'vertices'",{instance:u});if(!u.hasOwnProperty("faces"))throw $util$1.ProtocolError("missing required 'faces'",{instance:u});if(!u.hasOwnProperty("name"))throw $util$1.ProtocolError("missing required 'name'",{instance:u});return u},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/Chunk"},n})(),$root$1.Vertices=(()=>{function n(t){if(this.xyz=[],this.uvs=[],this.marks=[],t)for(let e=Object.keys(t),r=0;r<e.length;++r)t[e[r]]!=null&&(this[e[r]]=t[e[r]])}return n.prototype.xyz=$util$1.emptyArray,n.prototype.uvs=$util$1.emptyArray,n.prototype.marks=$util$1.emptyArray,n.decode=function(e,r,o){e instanceof $Reader$1||(e=$Reader$1.create(e));let s=r===void 0?e.len:e.pos+r,u=new $root$1.Vertices;for(;e.pos<s;){let l=e.uint32();if(l===o)break;switch(l>>>3){case 1:{if(u.xyz&&u.xyz.length||(u.xyz=[]),(l&7)===2){let c=e.uint32()+e.pos;for(;e.pos<c;)u.xyz.push(e.float())}else u.xyz.push(e.float());break}case 2:{if(u.uvs&&u.uvs.length||(u.uvs=[]),(l&7)===2){let c=e.uint32()+e.pos;for(;e.pos<c;)u.uvs.push(e.float())}else u.uvs.push(e.float());break}case 3:{if(u.marks&&u.marks.length||(u.marks=[]),(l&7)===2){let c=e.uint32()+e.pos;for(;e.pos<c;)u.marks.push(e.int32())}else u.marks.push(e.int32());break}default:e.skipType(l&7);break}}return u},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/Vertices"},n})(),$root$1.Faces=(()=>{function n(t){if(this.indices=[],this.normals=[],t)for(let e=Object.keys(t),r=0;r<e.length;++r)t[e[r]]!=null&&(this[e[r]]=t[e[r]])}return n.prototype.indices=$util$1.emptyArray,n.prototype.normals=$util$1.emptyArray,n.decode=function(e,r,o){e instanceof $Reader$1||(e=$Reader$1.create(e));let s=r===void 0?e.len:e.pos+r,u=new $root$1.Faces;for(;e.pos<s;){let l=e.uint32();if(l===o)break;switch(l>>>3){case 1:{if(u.indices&&u.indices.length||(u.indices=[]),(l&7)===2){let c=e.uint32()+e.pos;for(;e.pos<c;)u.indices.push(e.uint32())}else u.indices.push(e.uint32());break}case 2:{if(u.normals&&u.normals.length||(u.normals=[]),(l&7)===2){let c=e.uint32()+e.pos;for(;e.pos<c;)u.normals.push(e.float())}else u.normals.push(e.float());break}default:e.skipType(l&7);break}}return u},n.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/Faces"},n})(),$root$1.VertexMark=(()=>{const n={},t=Object.create(n);return t[n[0]="VERTEX_MARK_UNSPECIFIED"]=0,t[n[1]="VERTEX_MARK_ROOF"]=1,t})();function fixNumber(n){return isNaN(n)||!isFinite(n)?0:n}function getGeometryMemoryUsed(n){var t=0;if(n instanceof THREE__namespace.BufferGeometry){for(var e in n.attributes){var r=n.getAttribute(e),o=4;"BYTES_PER_ELEMENT"in r.array&&typeof r.array.BYTES_PER_ELEMENT=="number"&&(o=r.array.BYTES_PER_ELEMENT),t+=fixNumber(r.count*r.itemSize*o)}var s=n.getIndex();if(s){var o=4;"BYTES_PER_ELEMENT"in s.array&&typeof s.array.BYTES_PER_ELEMENT=="number"&&(o=s.array.BYTES_PER_ELEMENT),t+=fixNumber(s.count*s.itemSize*o)}}else n instanceof THREE__namespace.Geometry&&(t+=fixNumber(n.faces.length*3*3*4),t+=fixNumber(n.faceVertexUvs.length*3*2*4));return t}function makeComputeBlockRectSizeFunction(n,t,e){return function(r,o,s){var u=(r+n-1)/n|0,l=(o+t-1)/t|0;return u*l*e*s}}function makeComputePaddedRectSizeFunction(n,t,e){return function(r,o,s){return(Math.max(r,n)*Math.max(o,t)/e|0)*s}}var compressedTextureFunctions=new Map([[THREE__namespace.RGB_S3TC_DXT1_Format,makeComputeBlockRectSizeFunction(4,4,8)],[THREE__namespace.RGBA_S3TC_DXT1_Format,makeComputeBlockRectSizeFunction(4,4,8)],[THREE__namespace.RGBA_S3TC_DXT3_Format,makeComputeBlockRectSizeFunction(4,4,16)],[THREE__namespace.RGBA_S3TC_DXT5_Format,makeComputeBlockRectSizeFunction(4,4,16)],[THREE__namespace.RGB_ETC1_Format,makeComputeBlockRectSizeFunction(4,4,8)],[THREE__namespace.RGB_PVRTC_4BPPV1_Format,makeComputePaddedRectSizeFunction(8,8,2)],[THREE__namespace.RGBA_PVRTC_4BPPV1_Format,makeComputePaddedRectSizeFunction(8,8,2)],[THREE__namespace.RGB_PVRTC_2BPPV1_Format,makeComputePaddedRectSizeFunction(16,8,4)],[THREE__namespace.RGBA_PVRTC_2BPPV1_Format,makeComputePaddedRectSizeFunction(16,8,4)],[THREE__namespace.RGB_ETC2_Format,makeComputeBlockRectSizeFunction(4,4,8)],[THREE__namespace.RGBA_ETC2_EAC_Format,makeComputeBlockRectSizeFunction(4,4,16)],[THREE__namespace.RGBA_ASTC_4x4_Format,makeComputeBlockRectSizeFunction(4,4,16)],[THREE__namespace.SRGB8_ALPHA8_ASTC_4x4_Format,makeComputeBlockRectSizeFunction(4,4,16)],[THREE__namespace.RGBA_ASTC_5x4_Format,makeComputeBlockRectSizeFunction(5,4,16)],[THREE__namespace.SRGB8_ALPHA8_ASTC_5x4_Format,makeComputeBlockRectSizeFunction(5,4,16)],[THREE__namespace.RGBA_ASTC_5x5_Format,makeComputeBlockRectSizeFunction(5,5,16)],[THREE__namespace.SRGB8_ALPHA8_ASTC_5x5_Format,makeComputeBlockRectSizeFunction(5,5,16)],[THREE__namespace.RGBA_ASTC_6x5_Format,makeComputeBlockRectSizeFunction(6,5,16)],[THREE__namespace.SRGB8_ALPHA8_ASTC_6x5_Format,makeComputeBlockRectSizeFunction(6,5,16)],[THREE__namespace.RGBA_ASTC_6x6_Format,makeComputeBlockRectSizeFunction(6,6,16)],[THREE__namespace.SRGB8_ALPHA8_ASTC_6x6_Format,makeComputeBlockRectSizeFunction(6,6,16)],[THREE__namespace.RGBA_ASTC_8x5_Format,makeComputeBlockRectSizeFunction(8,5,16)],[THREE__namespace.SRGB8_ALPHA8_ASTC_8x5_Format,makeComputeBlockRectSizeFunction(8,5,16)],[THREE__namespace.RGBA_ASTC_8x6_Format,makeComputeBlockRectSizeFunction(8,6,16)],[THREE__namespace.SRGB8_ALPHA8_ASTC_8x6_Format,makeComputeBlockRectSizeFunction(8,6,16)],[THREE__namespace.RGBA_ASTC_8x8_Format,makeComputeBlockRectSizeFunction(8,8,16)],[THREE__namespace.SRGB8_ALPHA8_ASTC_8x8_Format,makeComputeBlockRectSizeFunction(8,8,16)],[THREE__namespace.RGBA_ASTC_10x5_Format,makeComputeBlockRectSizeFunction(10,5,16)],[THREE__namespace.SRGB8_ALPHA8_ASTC_10x5_Format,makeComputeBlockRectSizeFunction(10,5,16)],[THREE__namespace.RGBA_ASTC_10x6_Format,makeComputeBlockRectSizeFunction(10,6,16)],[THREE__namespace.SRGB8_ALPHA8_ASTC_10x6_Format,makeComputeBlockRectSizeFunction(10,6,16)],[THREE__namespace.RGBA_ASTC_10x8_Format,makeComputeBlockRectSizeFunction(10,8,16)],[THREE__namespace.SRGB8_ALPHA8_ASTC_10x8_Format,makeComputeBlockRectSizeFunction(10,8,16)],[THREE__namespace.RGBA_ASTC_10x10_Format,makeComputeBlockRectSizeFunction(10,10,16)],[THREE__namespace.SRGB8_ALPHA8_ASTC_10x10_Format,makeComputeBlockRectSizeFunction(10,10,16)],[THREE__namespace.RGBA_ASTC_12x10_Format,makeComputeBlockRectSizeFunction(12,10,16)],[THREE__namespace.SRGB8_ALPHA8_ASTC_12x10_Format,makeComputeBlockRectSizeFunction(12,10,16)],[THREE__namespace.RGBA_ASTC_12x12_Format,makeComputeBlockRectSizeFunction(12,12,16)],[THREE__namespace.SRGB8_ALPHA8_ASTC_12x12_Format,makeComputeBlockRectSizeFunction(12,12,16)],[THREE__namespace.RGBA_BPTC_Format,makeComputeBlockRectSizeFunction(4,4,16)]]);function getTextureMemoryUsed(n){var t=0,e=1;(n.generateMipmaps===!0||n.mipmaps&&n.mipmaps.length>1)&&(e=1.33);for(var r=n instanceof THREE__namespace.CompressedTexture,o=r?compressedTextureFunctions.get(n.format):void 0,s=[].concat(n.image),u=0,l=s;u<l.length;u++){var c=l[u];if(c)if(c instanceof THREE__namespace.Texture)t+=getTextureMemoryUsed(c);else{var p=c.width,f=p===void 0?1:p,d=c.height,h=d===void 0?1:d,m=c.depth,A=m===void 0?1:m;o?t+=fixNumber(o(f,h,A)*e):t+=fixNumber(f*h*A*4*e)}}return t}var textureSet=new Set,textureNames=["map","alphaMap","bumpMap","normalMap","displacementMap","emissiveMap","specularMap","envMap","flipEnvMap","lightMap","aoMap","gradientMap","metalnessMap","roughnessMap","sheenColorMap","sheenRoughnessMap","clearcoatMap","clearcoatRoughnessMap","clearcoatNormalMap","iridescenceMap","iridescenceThicknessMap","transmissionMap","thicknessMap","anisotropyMap","specularColorMap","specularIntensityMap"];function getMaterialMemoryUsed(n){var t=0;if(textureSet.clear(),n instanceof THREE__namespace.ShaderMaterial)for(var e in n.uniforms){var r=n.uniforms[e],o=r&&r.value&&r.value instanceof THREE__namespace.Texture?r.value:void 0;o instanceof THREE__namespace.Texture&&(textureSet.has(o)||(t=getTextureMemoryUsed(o),textureSet.add(o)))}else for(var s=0,u=textureNames;s<u.length;s++){var l=u[s],o=n[l];o instanceof THREE__namespace.Texture&&(textureSet.has(o)||(t=getTextureMemoryUsed(o),textureSet.add(o)))}return textureSet.clear(),t}var sceneSet=new Set;function getMemoryUsage(n){var t=0;return sceneSet.clear(),n.traverse(function(e){if(e instanceof THREE__namespace.Mesh||e instanceof THREE__namespace.Line||e instanceof THREE__namespace.Points){var r=e.geometry;(r instanceof THREE__namespace.BufferGeometry||r instanceof THREE__namespace.Geometry)&&(sceneSet.has(r)||(t+=getGeometryMemoryUsed(r),sceneSet.add(r)));for(var o=[].concat(e.material),s=0,u=o;s<u.length;s++){var l=u[s];l instanceof THREE__namespace.Material&&(sceneSet.has(l)||(t+=getMaterialMemoryUsed(l),sceneSet.add(l)))}}}),sceneSet.clear(),t}function guessTextureBaseUriFromFileUrl(n){var t=n.lastIndexOf("/");if(t>=0){var e=n.slice(0,t+1),r=e.replace(/\/(model)(\/|$)/,function(o,s,u){return"/materials"+u});return r}return""}function loadPbm(n,t){var e,r,o,s,u,l;t===void 0&&(t={});for(var c=(e=t.upAxis)!==null&&e!==void 0?e:"Z",p=(r=t.light)!==null&&r!==void 0?r:!1,f=(o=t.fetcher)!==null&&o!==void 0?o:internalFetcher,d=(s=t.textureBaseUri)!==null&&s!==void 0?s:guessTextureBaseUriFromFileUrl(n),h=t.textureBaseUri===void 0?[]:((u=t.textureArray)!==null&&u!==void 0?u:[]).slice(),m=autoRestImageOptionsByTextureLength((l=t.textureOptions)!==null&&l!==void 0?l:{},h.length),A=new Map,g=0,y=h;g<y.length;g++){var v=y[g];A.set(v,loadTexture$1(v,d,m,f))}var E={byteLength:0};return Promise.resolve().then(function(){return f.ajax(n,{responseType:"arraybuffer"})}).then(function(b){E.byteLength=b.body.byteLength;var T=new Uint8Array(b.body);return Model$2.decode(T)}).then(function(b){return parse$4(b,p,d,h,m,A,f)}).then(function(b){A.clear();var T=new THREE__namespace.Group;T.name=n;for(var _=0,S=b.objects;_<S.length;_++){var R=S[_];T.add(R)}return c==="Y"&&T.applyMatrix4(ROTATE_X_MATRIX_INVERSE),{type:"pbm",modelUpAxis:"Z",upAxis:c,uri:n,byteLength:E.byteLength,memoryUsage:getMemoryUsage(T),scene:T,textures:b.textures,animations:[],dispose:function(){return b.dispose()}}})}function parseFloorName(n){var t=n.match(/(group|floor)-?(\d+)/);return t?parseInt(t[2],10):0}function parseChunkName(n){var t=n.match(/(chunk)-?(\d+)/);return t?parseInt(t[2],10):0}function parseSubName(n){var t=n.match(/(sub)-?(\d+)/);return t?parseInt(t[2],10):0}function chunkOrder(n){var t=parseFloorName(n.name),e=parseChunkName(n.name),r=parseSubName(n.name);return t*1e6+e*1e3+r}function parsePBMModel(n){for(var t,e,r,o=typeof n.createAt=="number"?n.createAt:0,s=(t=n.description)!==null&&t!==void 0?t:"",u=[],l=!0,c=!0,p=0,f=n.chunks;p<f.length;p++){var d=f[p];if(!d.vertices.marks||d.vertices.marks.length===0){c=!1;break}}for(var h=0,m=n.chunks;h<m.length;h++){var d=m[h];if(!d.faces.normals||d.faces.normals.length===0){l=!1;break}}for(var A=n.chunks.sort(function(ce,ie){return chunkOrder(ce)-chunkOrder(ie)}),g=[],y=0,v=A;y<v.length;y++){var d=v[y],E=parseFloorName(d.name);g[E]||(g[E]=[]),g[E].push(d)}for(var b=0;b<g.length;b++){var T=g[b];if(T)if(l){for(var _=0,S=0;S<T.length;S++){var d=T[S];_+=d.faces.indices.length}for(var R=new Float32Array(_*3),w=new Float32Array(_*2),M=new Float32Array(_*3),B=c?new Float32Array(_):void 0,C=[],P=[1/0,1/0,1/0,-1/0,-1/0,-1/0],L=0,O=0;O<T.length;O++){for(var F=[1/0,1/0,1/0,-1/0,-1/0,-1/0],d=T[O],N=d.vertices.xyz,D=d.vertices.uvs,U=d.faces.indices,z=d.faces.normals,K=d.vertices.marks,j=U.length,S=0;S<j;S++){var Q=U[S],V=R[L*3+S*3]=N[Q*3],J=R[L*3+S*3+1]=N[Q*3+1],W=R[L*3+S*3+2]=N[Q*3+2];B&&(B[L+S]=K[Q]),w[L*2+S*2]=D[Q*2],w[L*2+S*2+1]=D[Q*2+1];var X=Math.floor(S/3)*3;M[L*3+S*3]=z[X],M[L*3+S*3+1]=z[X+1],M[L*3+S*3+2]=z[X+2],V<F[0]&&(F[0]=V),J<F[1]&&(F[1]=J),W<F[2]&&(F[2]=W),V>F[3]&&(F[3]=V),J>F[4]&&(F[4]=J),W>F[5]&&(F[5]=W)}F[0]<P[0]&&(P[0]=F[0]),F[1]<P[1]&&(P[1]=F[1]),F[2]<P[2]&&(P[2]=F[2]),F[3]>P[3]&&(P[3]=F[3]),F[4]>P[4]&&(P[4]=F[4]),F[5]>P[5]&&(P[5]=F[5]),C.push({materialIndex:O,name:d.name,chunkName:parseChunkName(d.name),start:L,count:d.faces.indices.length,texture:(e=d.texture)!==null&&e!==void 0?e:void 0}),L+=j}var Z={createAt:o,description:s,vertices:R,uvs:w,normals:M,masks:B,indices:null,floorIndex:b,groups:C,extents:P};u.push(Z)}else{for(var _=0,Y=0,S=0;S<T.length;S++){var d=T[S];Y+=d.vertices.xyz.length/3,_+=d.faces.indices.length}for(var R=new Float32Array(Y*3),w=new Float32Array(Y*2),M=void 0,G=new Float32Array(Y),ee=new Uint32Array(_),B=c?new Float32Array(_):void 0,C=[],P=[1/0,1/0,1/0,-1/0,-1/0,-1/0],te=0,L=0,O=0;O<T.length;O++){for(var F=[1/0,1/0,1/0,-1/0,-1/0,-1/0],d=T[O],N=d.vertices.xyz,ne=d.vertices.marks,D=d.vertices.uvs,U=d.faces.indices,ae=N.length/3,j=U.length,S=0;S<ae;S++){var V=R[L*3+S*3]=N[S*3],J=R[L*3+S*3+1]=N[S*3+1],W=R[L*3+S*3+2]=N[S*3+2];B&&(B[L+S]=ne[S]),w[L*2+S*2]=D[S*2],w[L*2+S*2+1]=D[S*2+1],G[L+S]=b,V<F[0]&&(F[0]=V),J<F[1]&&(F[1]=J),W<F[2]&&(F[2]=W),V>F[3]&&(F[3]=V),J>F[4]&&(F[4]=J),W>F[5]&&(F[5]=W)}F[0]<P[0]&&(P[0]=F[0]),F[1]<P[1]&&(P[1]=F[1]),F[2]<P[2]&&(P[2]=F[2]),F[3]>P[3]&&(P[3]=F[3]),F[4]>P[4]&&(P[4]=F[4]),F[5]>P[5]&&(P[5]=F[5]);for(var S=0;S<j;S++)ee[te+S]=L+U[S];C.push({materialIndex:O,name:d.name,chunkName:parseChunkName(d.name),start:te,count:d.faces.indices.length,texture:(r=d.texture)!==null&&r!==void 0?r:void 0}),L+=ae,te+=j}var Z={createAt:o,description:s,vertices:R,uvs:w,normals:M,masks:B,indices:ee,floorIndex:b,groups:C,extents:P};u.push(Z)}}return u}function loadTexture$1(n,t,e,r){var o=__assign({key:"texture.pbm"},pick(e,["format","quality","size","sharpen","forceUseExifOrientation","mappings"])),s=new TextureLoader,u=isAbsoluteURL(n)?n:pathJoin(t,n);return s.loadTexture(u,{imageURL:{transform:e.transform,options:o},encoding:THREE__namespace.sRGBEncoding,wrapS:THREE__namespace.ClampToEdgeWrapping,wrapT:THREE__namespace.ClampToEdgeWrapping,minFilter:THREE__namespace.LinearFilter,maxSize:typeof o.size=="number"?new THREE__namespace.Vector2(o.size,o.size):void 0,fetcher:r}).then(function(l){var c=l.body;return c.needsUpdate=!0,c})}function parse$4(n,t,e,r,o,s,u){for(var l=parsePBMModel(n),c=0,p="",f=[],d={},h=new Set,m=0,A=0,g=l;A<g.length;A++){var y=g[A],v=y.createAt,E=y.description,b=y.vertices,T=y.masks,_=y.uvs,S=y.normals,R=y.indices,w=y.floorIndex,M=y.groups,B=y.extents,C=new THREE__namespace.Box3;C.min.x=B[0],C.min.y=B[1],C.min.z=B[2],C.max.x=B[3],C.max.y=B[4],C.max.z=B[5];var P=new THREE__namespace.BufferGeometry;P.setAttribute("position",new THREE__namespace.BufferAttribute(b,3)),P.setAttribute("uv",new THREE__namespace.BufferAttribute(_,2)),S&&P.setAttribute("normal",new THREE__namespace.BufferAttribute(S,3)),T&&P.setAttribute("_feature_id_rsmask",new THREE__namespace.BufferAttribute(T,1)),R&&P.setIndex(new THREE__namespace.BufferAttribute(R,1)),P.boundingBox=C,P.boundingSphere=C.getBoundingSphere(new THREE__namespace.Sphere);for(var L=0,O=M;L<O.length;L++){var F=O[L];P.addGroup(F.start,F.count,F.materialIndex)}h.add(P);for(var N=[],D=0,U=M;D<U.length;D++){var F=U[D],z=void 0;if(F.texture){if(z=F.texture,r.length>0&&r.indexOf(F.texture)===-1){for(var K=0,j=r;K<j.length;K++){var Q=j[K],V=isAbsoluteURL(Q)?Q:pathJoin(e,Q),J=V.slice(F.texture.length*-1)===F.texture;if(J){z=Q;break}}console.warn("At3d/Pbm texture not matched. Use ends-guessing mode. ".concat(F.texture," -> ").concat(z))}isAbsoluteURL(z)||(z=pathJoin(e,z))}var W=new PBMMeshMaterial(t?"phong":"basic");W.floorIndex=w,P.attributes.normal===void 0&&(W.flatShading=!0),P.attributes._feature_id_rsmask&&(W.defines.USE_VERTEX_MARK=!0),N.push(W),z?(m++,d[z]?d[z].push(W):d[z]=[W]):W.color=new THREE__namespace.Color(16777215),h.add(W)}var X=new PBMMesh(P,N);X.name="model_floor_"+w,X.userData.createAt=v,X.userData.description=E,X.matrix.compose(X.position,X.quaternion,X.scale),X.matrixAutoUpdate=!1,X.frustumCulled=!1,c=v,p=E,f.push(X)}o=autoRestImageOptionsByTextureLength(o,m);for(var Z=[],Y=function(ne){var ae=void 0;s&&(ae=s.get(ne)),ae||(ae=loadTexture$1(ne,e,o,u),s&&s.set(ne,ae)),Z.push(ae.then(function(ce){for(var ie=0,fe=d[ne];ie<fe.length;ie++){var ge=fe[ie];ge.map&&(h.delete(ge.map),ge.map.dispose()),ge.map=ce,h.add(ce)}return ce}).catch(function(){for(var ce=0,ie=d[ne];ce<ie.length;ce++){var fe=ie[ce];fe.map&&(h.delete(fe.map),fe.map.dispose()),fe.map=null,fe.color=new THREE__namespace.Color(16777215)}return null}))},G=0,ee=Object.keys(d);G<ee.length;G++){var te=ee[G];Y(te)}return Promise.all(Z).then(function(ne){var ae=ne.filter(function(ce){return ce instanceof THREE__namespace.Texture});return{createAt:c,description:p,objects:f,textures:ae,dispose:function(){h.forEach(function(ce){ce.dispose()}),h.clear()}}})}function autoRestImageOptionsByTextureLength(n,t){return n=Object.assign({},n),n.autoResize!==!1&&(t>96?n.size=Math.min(n.size||1/0,100):t>48?n.size=Math.min(n.size||1/0,200):t>24?n.size=Math.min(n.size||1/0,400):t>22?n.size=Math.min(n.size||1/0,800):t>5&&(n.size=Math.min(n.size||1/0,1024))),n}function createLZMA(){var n={};return n.OutWindow=function(){this._windowSize=0},n.OutWindow.prototype.create=function(t){(!this._buffer||this._windowSize!==t)&&(this._buffer=[]),this._windowSize=t,this._pos=0,this._streamPos=0},n.OutWindow.prototype.flush=function(){var t=this._pos-this._streamPos;if(t!==0){for(;t--;)this._stream.writeByte(this._buffer[this._streamPos++]);this._pos>=this._windowSize&&(this._pos=0),this._streamPos=this._pos}},n.OutWindow.prototype.releaseStream=function(){this.flush(),this._stream=null},n.OutWindow.prototype.setStream=function(t){this.releaseStream(),this._stream=t},n.OutWindow.prototype.init=function(t){t||(this._streamPos=0,this._pos=0)},n.OutWindow.prototype.copyBlock=function(t,e){var r=this._pos-t-1;for(r<0&&(r+=this._windowSize);e--;)r>=this._windowSize&&(r=0),this._buffer[this._pos++]=this._buffer[r++],this._pos>=this._windowSize&&this.flush()},n.OutWindow.prototype.putByte=function(t){this._buffer[this._pos++]=t,this._pos>=this._windowSize&&this.flush()},n.OutWindow.prototype.getByte=function(t){var e=this._pos-t-1;return e<0&&(e+=this._windowSize),this._buffer[e]},n.RangeDecoder=function(){},n.RangeDecoder.prototype.setStream=function(t){this._stream=t},n.RangeDecoder.prototype.releaseStream=function(){this._stream=null},n.RangeDecoder.prototype.init=function(){var t=5;for(this._code=0,this._range=-1;t--;)this._code=this._code<<8|this._stream.readByte()},n.RangeDecoder.prototype.decodeDirectBits=function(t){for(var e=0,r=t,o;r--;)this._range>>>=1,o=this._code-this._range>>>31,this._code-=this._range&o-1,e=e<<1|1-o,(this._range&4278190080)===0&&(this._code=this._code<<8|this._stream.readByte(),this._range<<=8);return e},n.RangeDecoder.prototype.decodeBit=function(t,e){var r=t[e],o=(this._range>>>11)*r;return(this._code^2147483648)<(o^2147483648)?(this._range=o,t[e]+=2048-r>>>5,(this._range&4278190080)===0&&(this._code=this._code<<8|this._stream.readByte(),this._range<<=8),0):(this._range-=o,this._code-=o,t[e]-=r>>>5,(this._range&4278190080)===0&&(this._code=this._code<<8|this._stream.readByte(),this._range<<=8),1)},n.initBitModels=function(t,e){for(;e--;)t[e]=1024},n.BitTreeDecoder=function(t){this._models=[],this._numBitLevels=t},n.BitTreeDecoder.prototype.init=function(){n.initBitModels(this._models,1<<this._numBitLevels)},n.BitTreeDecoder.prototype.decode=function(t){for(var e=1,r=this._numBitLevels;r--;)e=e<<1|t.decodeBit(this._models,e);return e-(1<<this._numBitLevels)},n.BitTreeDecoder.prototype.reverseDecode=function(t){for(var e=1,r=0,o=0,s;o<this._numBitLevels;++o)s=t.decodeBit(this._models,e),e=e<<1|s,r|=s<<o;return r},n.reverseDecode2=function(t,e,r,o){for(var s=1,u=0,l=0,c;l<o;++l)c=r.decodeBit(t,e+s),s=s<<1|c,u|=c<<l;return u},n.LenDecoder=function(){this._choice=[],this._lowCoder=[],this._midCoder=[],this._highCoder=new n.BitTreeDecoder(8),this._numPosStates=0},n.LenDecoder.prototype.create=function(t){for(;this._numPosStates<t;++this._numPosStates)this._lowCoder[this._numPosStates]=new n.BitTreeDecoder(3),this._midCoder[this._numPosStates]=new n.BitTreeDecoder(3)},n.LenDecoder.prototype.init=function(){var t=this._numPosStates;for(n.initBitModels(this._choice,2);t--;)this._lowCoder[t].init(),this._midCoder[t].init();this._highCoder.init()},n.LenDecoder.prototype.decode=function(t,e){return t.decodeBit(this._choice,0)===0?this._lowCoder[e].decode(t):t.decodeBit(this._choice,1)===0?8+this._midCoder[e].decode(t):16+this._highCoder.decode(t)},n.Decoder2=function(){this._decoders=[]},n.Decoder2.prototype.init=function(){n.initBitModels(this._decoders,768)},n.Decoder2.prototype.decodeNormal=function(t){var e=1;do e=e<<1|t.decodeBit(this._decoders,e);while(e<256);return e&255},n.Decoder2.prototype.decodeWithMatchByte=function(t,e){var r=1,o,s;do if(o=e>>7&1,e<<=1,s=t.decodeBit(this._decoders,(1+o<<8)+r),r=r<<1|s,o!==s){for(;r<256;)r=r<<1|t.decodeBit(this._decoders,r);break}while(r<256);return r&255},n.LiteralDecoder=function(){},n.LiteralDecoder.prototype.create=function(t,e){var r;if(!(this._coders&&this._numPrevBits===e&&this._numPosBits===t))for(this._numPosBits=t,this._posMask=(1<<t)-1,this._numPrevBits=e,this._coders=[],r=1<<this._numPrevBits+this._numPosBits;r--;)this._coders[r]=new n.Decoder2},n.LiteralDecoder.prototype.init=function(){for(var t=1<<this._numPrevBits+this._numPosBits;t--;)this._coders[t].init()},n.LiteralDecoder.prototype.getDecoder=function(t,e){return this._coders[((t&this._posMask)<<this._numPrevBits)+((e&255)>>>8-this._numPrevBits)]},n.Decoder=function(){this._outWindow=new n.OutWindow,this._rangeDecoder=new n.RangeDecoder,this._isMatchDecoders=[],this._isRepDecoders=[],this._isRepG0Decoders=[],this._isRepG1Decoders=[],this._isRepG2Decoders=[],this._isRep0LongDecoders=[],this._posSlotDecoder=[],this._posDecoders=[],this._posAlignDecoder=new n.BitTreeDecoder(4),this._lenDecoder=new n.LenDecoder,this._repLenDecoder=new n.LenDecoder,this._literalDecoder=new n.LiteralDecoder,this._dictionarySize=-1,this._dictionarySizeCheck=-1,this._posSlotDecoder[0]=new n.BitTreeDecoder(6),this._posSlotDecoder[1]=new n.BitTreeDecoder(6),this._posSlotDecoder[2]=new n.BitTreeDecoder(6),this._posSlotDecoder[3]=new n.BitTreeDecoder(6)},n.Decoder.prototype.setDictionarySize=function(t){return t<0?!1:(this._dictionarySize!==t&&(this._dictionarySize=t,this._dictionarySizeCheck=Math.max(this._dictionarySize,1),this._outWindow.create(Math.max(this._dictionarySizeCheck,4096))),!0)},n.Decoder.prototype.setLcLpPb=function(t,e,r){var o=1<<r;return t>8||e>4||r>4?!1:(this._literalDecoder.create(e,t),this._lenDecoder.create(o),this._repLenDecoder.create(o),this._posStateMask=o-1,!0)},n.Decoder.prototype.init=function(){var t=4;for(this._outWindow.init(!1),n.initBitModels(this._isMatchDecoders,192),n.initBitModels(this._isRep0LongDecoders,192),n.initBitModels(this._isRepDecoders,12),n.initBitModels(this._isRepG0Decoders,12),n.initBitModels(this._isRepG1Decoders,12),n.initBitModels(this._isRepG2Decoders,12),n.initBitModels(this._posDecoders,114),this._literalDecoder.init();t--;)this._posSlotDecoder[t].init();this._lenDecoder.init(),this._repLenDecoder.init(),this._posAlignDecoder.init(),this._rangeDecoder.init()},n.Decoder.prototype.decode=function(t,e,r){var o=0,s=0,u=0,l=0,c=0,p=0,f=0,d,h,m,A,g,y;for(this._rangeDecoder.setStream(t),this._outWindow.setStream(e),this.init();r<0||p<r;)if(d=p&this._posStateMask,this._rangeDecoder.decodeBit(this._isMatchDecoders,(o<<4)+d)===0)h=this._literalDecoder.getDecoder(p++,f),o>=7?f=h.decodeWithMatchByte(this._rangeDecoder,this._outWindow.getByte(s)):f=h.decodeNormal(this._rangeDecoder),this._outWindow.putByte(f),o=o<4?0:o-(o<10?3:6);else{if(this._rangeDecoder.decodeBit(this._isRepDecoders,o)===1)m=0,this._rangeDecoder.decodeBit(this._isRepG0Decoders,o)===0?this._rangeDecoder.decodeBit(this._isRep0LongDecoders,(o<<4)+d)===0&&(o=o<7?9:11,m=1):(this._rangeDecoder.decodeBit(this._isRepG1Decoders,o)===0?A=u:(this._rangeDecoder.decodeBit(this._isRepG2Decoders,o)===0?A=l:(A=c,c=l),l=u),u=s,s=A),m===0&&(m=2+this._repLenDecoder.decode(this._rangeDecoder,d),o=o<7?8:11);else if(c=l,l=u,u=s,m=2+this._lenDecoder.decode(this._rangeDecoder,d),o=o<7?7:10,g=this._posSlotDecoder[m<=5?m-2:3].decode(this._rangeDecoder),g>=4){if(y=(g>>1)-1,s=(2|g&1)<<y,g<14)s+=n.reverseDecode2(this._posDecoders,s-g-1,this._rangeDecoder,y);else if(s+=this._rangeDecoder.decodeDirectBits(y-4)<<4,s+=this._posAlignDecoder.reverseDecode(this._rangeDecoder),s<0){if(s===-1)break;return!1}}else s=g;if(s>=p||s>=this._dictionarySizeCheck)return!1;this._outWindow.copyBlock(s,m),p+=m,f=this._outWindow.getByte(0)}return this._outWindow.flush(),this._outWindow.releaseStream(),this._rangeDecoder.releaseStream(),!0},n.Decoder.prototype.setDecoderProperties=function(t){var e,r,o,s,u;return t.size<5||(e=t.readByte(),r=e%9,e=~~(e/9),o=e%5,s=~~(e/5),!this.setLcLpPb(r,o,s))?!1:(u=t.readByte(),u|=t.readByte()<<8,u|=t.readByte()<<16,u+=t.readByte()*16777216,this.setDictionarySize(u))},n.decompress=function(t,e,r,o){var s=new n.Decoder;if(!s.setDecoderProperties(t))throw"Incorrect stream properties";if(!s.decode(e,r,o))throw"Error in data stream";return!0},n.decompressFile=function(t,e){var r=new n.Decoder,o;if(!r.setDecoderProperties(t))throw"Incorrect stream properties";if(o=t.readByte(),o|=t.readByte()<<8,o|=t.readByte()<<16,o+=t.readByte()*16777216,t.readByte(),t.readByte(),t.readByte(),t.readByte(),!r.decode(t,e,o))throw"Error in data stream";return!0},n}var LZMA=createLZMA();function createWASM(){function n(e){for(var r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",o=new Uint8Array(256),s=0;s<r.length;s++)o[r.charCodeAt(s)]=s;var u=e.length*.75,l=e.length,c,p=0,f,d,h,m;e[e.length-1]==="="&&(u--,e[e.length-2]==="="&&u--);var A=new ArrayBuffer(u),g=new Uint8Array(A);for(c=0;c<l;c+=4)f=o[e.charCodeAt(c)],d=o[e.charCodeAt(c+1)],h=o[e.charCodeAt(c+2)],m=o[e.charCodeAt(c+3)],g[p++]=f<<2|d>>4,g[p++]=(d&15)<<4|h>>2,g[p++]=(h&3)<<6|m&63;return A}var t="AGFzbQEAAAABSg1gAABgAX8Bf2ACf38Bf2AEf39/fwBgA39/fwBgAX8AYAJ/fwBgA39/fwF/YAR/f39/AX9gAn9/AGABfwF/YAABf2AEf39/fwF/AhsCA2VudgVhYm9ydAADA2VudgZtZW1vcnkCAAEDJiUBAQkKAgoKCwsLCwsAAgoBAgQKAQYFCAoFBQQEBwgCBwwCAQAABAQBcAABBhoFfwFBAAt/AUEAC38BQQALfwFBAAt/AUEACwc9BgZtZW1vcnkCAAV0YWJsZQEABXJlc2V0AA0KbmV3VThBcnJheQAQCnVucGFja1NpemUAFAZkZWNvZGUAIwgBJAkHAQBBAAsBJQqAViVoAQN/IABBgICAgARLBEAACyMBIgEgAEEBIABBAUsbakEHakF4cSICPwAiA0EQdEsEQCADIAIgAWtB//8DakGAgHxxQRB2IgAgAyAAShtAAEEASARAIABAAEEASARAAAsLCyACJAEgAQsbAQF/QQFBICAAQQdqZ2t0EAEiASAANgIAIAELkQMBAX8gAUUEQA8LIABBADoAACAAIAFqQQFrQQA6AAAgAUECTQRADwsgAEEBakEAOgAAIABBAmpBADoAACAAIAFqIgJBAmtBADoAACACQQNrQQA6AAAgAUEGTQRADwsgAEEDakEAOgAAIAAgAWpBBGtBADoAACABQQhNBEAPC0EAIABrQQNxIgIgAGoiAEEANgIAIAEgAmtBfHEiASAAakEEa0EANgIAIAFBCE0EQA8LIABBBGpBADYCACAAQQhqQQA2AgAgACABaiICQQxrQQA2AgAgAkEIa0EANgIAIAFBGE0EQA8LIABBDGpBADYCACAAQRBqQQA2AgAgAEEUakEANgIAIABBGGpBADYCACAAIAFqIgJBHGtBADYCACACQRhrQQA2AgAgAkEUa0EANgIAIAJBEGtBADYCACAAQQRxQRhqIgIgAGohACABIAJrIQEDQCABQSBPBEAgAEIANwMAIABBCGpCADcDACAAQRBqQgA3AwAgAEEYakIANwMAIAFBIGshASAAQSBqIQAMAQsLC1EBA38gAEH+////AEsEQEEAQSBBLUEnEAAACyAAQQJ0IgMQAiECQQgQASIBQQA2AgAgAUEANgIEIAEgAjYCACABIAA2AgQgAkEIaiADEAMgAQtmAQF/IAFB/P///wFLBEBBAEHAAEEXQSIQAAALIAFBAXQiARACIgJBCGogARADIABFBEBBDBABIQALIABBADYCACAAQQA2AgQgAEEANgIIIAAgAjYCACAAQQA2AgQgACABNgIIIAALCgBBDBABIAAQBQsuAQF/QQgQASIBQQA2AgAgAUEANgIEIAEgADYCBCABQQEgASgCBHQQBjYCACABC6EBAQR/QRAQASIBQQA2AgAgAUEANgIEIAFBADYCCCABQQA2AgxBEBAEIQIDQCAAQRBIBEBBAxAHIQMgAigCACAAQQJ0aiADNgIIIABBAWohAAwBCwsgASACNgIEQRAQBCECQQAhAANAIABBEEgEQEEDEAchAyACKAIAIABBAnRqIAM2AgggAEEBaiEADAELCyABIAI2AgggAUEIEAc2AgwgAQs0AQF/QRQQASIAQQA2AgAgAEEAOgAEIABBADYCCCAAQQA2AgwgAEEANgIQIABBDTYCCCAAC0IBAX9BGRABIgBBADYCACAAQQA2AgQgAEEANgIIIABBADYCDCAAQQA2AhAgAEEANgIUIABBADoAGCAAQQA2AhAgAAu1AgEEf0HQABABIgBBADoAACAAQQA2AgQgAEEANgIIIABBADYCDCAAQQA2AhAgAEEAOgAUIABBADYCGCAAQQA2AhwgAEEANgIgIABBADYCJCAAQQA2AiggAEEANgIsIABBADYCMCAAQQA2AjQgAEEANgI4IABBADYCPCAAQQA2AkAgAEEANgJEIABBADYCSCAAQQA2AkxBBBAEIQIDQCABQQRIBEBBBhAHIQMgAigCACABQQJ0aiADNgIIIAFBAWohAQwBCwsgACACNgIkIABBBBAHNgIoIABB8wAQBjYCLCAAQcABEAY2AjAgAEEMEAY2AjQgAEEMEAY2AjggAEEMEAY2AjwgAEEMEAY2AkAgAEHAARAGNgJEIAAQCDYCSCAAEAg2AkwgABAJNgIEIAAQCjYCCCAACx8BAX9BCBABIgBBADYCACAAQQA2AgQgABALNgIAIAALCgAjACQBEAwkAwthAQF/IAFB+P///wNLBEBBAEHAAEEXQSIQAAALIAEQAiICQQhqIAEQAyAARQRAQQwQASEACyAAQQA2AgAgAEEANgIEIABBADYCCCAAIAI2AgAgAEEANgIEIAAgATYCCCAACwoAQQwQASAAEA4LBgAgABAPCyoAIAEgACgCCE8EQEEAQcAAQSdBPxAAAAsgACgCBCABIAAoAgBqai0ACAssACABIAAoAghPBEBBAEHAAEEyQT8QAAALIAAoAgQgASAAKAIAamogAjoACAtkAQJ/QQ0QDyECA0AgAUENSARAIAIgASAAIAEQEUH/AXEQEiABQQFqIQEMAQsLQQAhAEEAIQEDQCABQQhIBEAgAiABQQVqEBFB/wFxIAFBA3R0IAByIQAgAUEBaiEBDAELCyAACwYAIAAQEwsnACAAIAEQDzYCCCAAQQA2AgwgACABNgIUIABBADoAGCAAQQA2AgALJAAgACgCCCAAKAIYEBUgAEGABiAAKAIMIAAtABRqdBAGNgIgC5UBAQR/IAEhBSAAIgYoAgAhASAAKAIEIQcgACgCCEEBdiEEIAJBAEgEfyACIARqIgBBACAAQQBKGwUgAiIAIAQgACAESBsLIQIgA0EASAR/IAMgBGoiAEEAIABBAEobBSADIgAgBCAAIARIGwshAwNAIAIgA05FBEAgAkEBdCABaiAHaiAFOwEIIAJBAWohAgwBCwsgBgssAQF/AkACQAJAIwRBAWsOAwEBAgALAAtB/////wchAQsgAEGACEEAIAEQFwvBAQECfyAAQQIQBjYCACAAKAIAIgEoAgAgASgCBGpBgAg7AQggACgCACICKAIAIQEgAigCBCABQQJqakGACDsBCCAAKAIMKAIAQQEkBBAYGkEAIQIDQCACQRBIBEAgAiAAKAIEKAIAIgEoAgBBAnZJBH8gAkECdCABaigCCAUACygCAEEBJAQQGBogAiAAKAIIKAIAIgEoAgBBAnZJBH8gAkECdCABaigCCAUACygCAEEBJAQQGBogAkEBaiECDAELCwuHAgEFfyAAIQJBgAYgACgCDCAALQAUanQhAQNAIAMgAUgEQCACKAIgIgQoAgAhBSAEKAIEIANBAXQgBWpqQYAIOwEIIANBAWohAwwBCwsgAiEBQQAhAgNAIAJBBEkEQCACIAEoAiQoAgAiAygCAEECdkkEfyACQQJ0IANqKAIIBQALKAIAQQEkBBAYGiACQQFqIQIMAQsLIAEoAigoAgBBASQEEBgaIAEoAixBASQEEBgaIAAoAjBBASQEEBgaIAAoAjRBASQEEBgaIAAoAjhBASQEEBgaIAAoAjxBASQEEBgaIAAoAkBBASQEEBgaIAAoAkRBASQEEBgaIAAoAkgQGSAAKAJMEBkLyAwBA38DQCABQQNxIAIgAhsEQCAAIgRBAWohACABIgNBAWohASAEIAMtAAA6AAAgAkEBayECDAELCyAAQQNxRQRAA0AgAkEQTwRAIAAgASgCADYCACAAQQRqIAFBBGooAgA2AgAgAEEIaiABQQhqKAIANgIAIABBDGogAUEMaigCADYCACABQRBqIQEgAEEQaiEAIAJBEGshAgwBCwsgAkEIcQRAIAAgASgCADYCACAAQQRqIAFBBGooAgA2AgAgAUEIaiEBIABBCGohAAsgAkEEcQRAIAAgASgCADYCACABQQRqIQEgAEEEaiEACyACQQJxBEAgACABLwEAOwEAIAFBAmohASAAQQJqIQALIAJBAXEEQCAAIAEtAAA6AAALDwsgAkEgTwRAAkACQAJAIABBA3EiA0EBRwRAIANBAkYNASADQQNGDQIMAwsgASgCACEFIAAgASIDLQAAOgAAIABBAWoiASABIANBAWoiAS0AADoAAEEBaiIEQQFqIQAgAUEBaiIDQQFqIQEgBCADLQAAOgAAIAJBA2shAgNAIAJBEU8EQCAAIAFBAWooAgAiA0EIdCAFQRh2cjYCACAAQQRqIAFBBWooAgAiBUEIdCADQRh2cjYCACAAQQhqIAFBCWooAgAiA0EIdCAFQRh2cjYCACAAQQxqIAFBDWooAgAiBUEIdCADQRh2cjYCACABQRBqIQEgAEEQaiEAIAJBEGshAgwBCwsMAgsgASgCACEFIAAgAS0AADoAACAAQQFqIgRBAWohACABQQFqIgNBAWohASAEIAMtAAA6AAAgAkECayECA0AgAkESTwRAIAAgAUECaigCACIDQRB0IAVBEHZyNgIAIABBBGogAUEGaigCACIFQRB0IANBEHZyNgIAIABBCGogAUEKaigCACIDQRB0IAVBEHZyNgIAIABBDGogAUEOaigCACIFQRB0IANBEHZyNgIAIAFBEGohASAAQRBqIQAgAkEQayECDAELCwwBCyABKAIAIQUgACIEQQFqIQAgASIDQQFqIQEgBCADLQAAOgAAIAJBAWshAgNAIAJBE08EQCAAIAFBA2ooAgAiA0EYdCAFQQh2cjYCACAAQQRqIAFBB2ooAgAiBUEYdCADQQh2cjYCACAAQQhqIAFBC2ooAgAiA0EY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";return n(t)}function decodeLZMA(n,t,e){try{var r={data:t,offset:0,readByte:function(){return this.data[this.offset++]}},o=r.data.length,s={data:[],offset:0,writeByte:function(c){var p=Math.floor(this.offset/o);this.data[p]||(this.data[p]=new Uint8Array(o)),this.data[p][this.offset%o]=c,this.offset++}};n.decompressFile(r,s);for(var u=new Uint8Array(s.offset),l=0;l<s.offset;l++)u[l]=s.data[Math.floor(l/o)][l%o];e(null,u)}catch(c){e(c)}}function decodeLZMAWithWASM(n,t,e){var r=24;try{var o=new WebAssembly.Memory({initial:16}),s=new WebAssembly.Module(n),u=new WebAssembly.Instance(s,{env:{memory:o,abort:function(){e(new Error("webAssembly abort"))}}}),l=u.exports,c=l.newU8Array(t.length),p=new Uint8Array(o.buffer,c+r,t.length);p.set(t);var f=l.decode(c),d=new Uint32Array(o.buffer,f,4),h=d[0],m=d[2],A=d[3];h?e(null,new Uint8Array(o.buffer,A+r,m).slice(0,m)):e(new Error("lzma deocder error"))}catch(g){e(g)}}var lzmaWorkerSource=`
|
|
406
406
|
var decodeLZMA = (function() {
|
|
407
407
|
var LZMA = (`.concat(createLZMA.toString(),`)();
|
|
408
408
|
return function(data, callback) {
|
|
@@ -2130,7 +2130,7 @@ void main() {
|
|
|
2130
2130
|
#include <premultiplied_alpha_fragment>
|
|
2131
2131
|
|
|
2132
2132
|
}
|
|
2133
|
-
`},LineMaterial=(function(n){__extends(t,n);function t(e){var r=n.call(this,{uniforms:THREE__namespace.UniformsUtils.clone(lineShader.uniforms),vertexShader:lineShader.vertexShader,fragmentShader:lineShader.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(o){this.uniforms.diffuse.value=o}},linewidth:{enumerable:!0,get:function(){return this.uniforms.linewidth.value},set:function(o){this.uniforms.linewidth.value=o}},dashScale:{enumerable:!0,get:function(){return this.uniforms.dashScale.value},set:function(o){this.uniforms.dashScale.value=o}},dashSize:{enumerable:!0,get:function(){return this.uniforms.dashSize.value},set:function(o){this.uniforms.dashSize.value=o}},gapSize:{enumerable:!0,get:function(){return this.uniforms.gapSize.value},set:function(o){this.uniforms.gapSize.value=o}},opacity:{enumerable:!0,get:function(){return this.uniforms.opacity.value},set:function(o){this.uniforms.opacity.value=o}},resolution:{enumerable:!0,get:function(){return this.uniforms.resolution.value},set:function(o){this.uniforms.resolution.value.copy(o)}}}),r.setValues(e),r}return t})(THREE__namespace.ShaderMaterial);Object.assign(LineMaterial.prototype,{isLineMaterial:!0});var LineSegments2=(function(n){__extends(t,n);function t(e,r){var o=n.call(this)||this;return o.type="LineSegments2",o.geometry=e!==void 0?e:new LineSegmentsGeometry,o.material=r!==void 0?r:new LineMaterial({color:Math.random()*16777215}),o}return t.prototype.computeLineDistances=function(){for(var e=this.geometry,r=e.attributes.instanceStart,o=e.attributes.instanceEnd,s=new Float32Array(2*r.count),u=new THREE__namespace.Vector3,l=new THREE__namespace.Vector3,c=0,p=0,f=r.count;c<f;c++,p+=2)u.fromBufferAttribute(r,c),l.fromBufferAttribute(o,c),s[p]=p===0?0:s[p-1],s[p+1]=s[p]+u.distanceTo(l);var d=new THREE__namespace.InstancedInterleavedBuffer(s,2,1);return e.setAttribute("instanceDistanceStart",new THREE__namespace.InterleavedBufferAttribute(d,1,0)),e.setAttribute("instanceDistanceEnd",new THREE__namespace.InterleavedBufferAttribute(d,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 o=e.ray,s=e.camera,u=s.projectionMatrix,l=this.geometry,c=this.material,p=c.resolution,f=c.linewidth,d=l.attributes.instanceStart,h=l.attributes.instanceEnd,m=new THREE__namespace.Vector4,A=new THREE__namespace.Vector4,g=new THREE__namespace.Vector4,y=new THREE__namespace.Vector3,v=new THREE__namespace.Matrix4,E=new THREE__namespace.Line3,b=new THREE__namespace.Vector3;o.at(1,g),g.w=1,g.applyMatrix4(s.matrixWorldInverse),g.applyMatrix4(u),g.multiplyScalar(1/g.w),g.x*=p.x/2,g.y*=p.y/2,g.z=0,y.copy(g);var T=this.matrixWorld;v.multiplyMatrices(s.matrixWorldInverse,T);for(var _=0,S=d.count;_<S;_++){m.fromBufferAttribute(d,_),A.fromBufferAttribute(h,_),m.w=1,A.w=1,m.applyMatrix4(v),A.applyMatrix4(v),m.applyMatrix4(u),A.applyMatrix4(u),m.multiplyScalar(1/m.w),A.multiplyScalar(1/A.w);var R=m.z<-1&&A.z<-1,w=m.z>1&&A.z>1;if(!(R||w)){m.x*=p.x/2,m.y*=p.y/2,A.x*=p.x/2,A.y*=p.y/2,E.start.copy(m),E.start.z=0,E.end.copy(A),E.end.z=0;var M=E.closestPointToPointParameter(y,!0);E.at(M,b);var B=THREE__namespace.MathUtils.lerp(m.z,A.z,M),C=B>=-1&&B<=1,P=y.distanceTo(b)<f*.5;if(C&&P){E.start.fromBufferAttribute(d,_),E.end.fromBufferAttribute(h,_),E.start.applyMatrix4(T),E.end.applyMatrix4(T);var L=new THREE__namespace.Vector3,O=new THREE__namespace.Vector3;o.distanceSqToSegment(E.start,E.end,O,L),r.push({point:O,pointOnLine:L,distance:o.origin.distanceTo(O),object:this,faceIndex:_})}}}},t})(THREE__namespace.Mesh);Object.assign(LineSegments2.prototype,{isLineSegments2:!0});var Line2=(function(n){__extends(t,n);function t(e,r){var o=n.call(this,e,r)||this;return o.type="Line2",o}return t})(LineSegments2);Object.assign(Line2.prototype,{isLine2:!0});var LineGeometry=(function(n){__extends(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,o=new Float32Array(2*r),s=0;s<r;s+=3)o[2*s]=e[s],o[2*s+1]=e[s+1],o[2*s+2]=e[s+2],o[2*s+3]=e[s+3],o[2*s+4]=e[s+4],o[2*s+5]=e[s+5];return n.prototype.setPositions.call(this,o),this},t.prototype.setColors=function(e){for(var r=e.length-3,o=new Float32Array(2*r),s=0;s<r;s+=3)o[2*s]=e[s],o[2*s+1]=e[s+1],o[2*s+2]=e[s+2],o[2*s+3]=e[s+3],o[2*s+4]=e[s+4],o[2*s+5]=e[s+5];return n.prototype.setColors.call(this,o),this},t.prototype.fromLine=function(e){var r=e.geometry;if(r instanceof THREE__namespace.Geometry){var o=new THREE__namespace.BufferGeometry().fromGeometry(r);this.setPositions(o.attributes.position.array)}else r instanceof THREE__namespace.BufferGeometry&&this.setPositions(r.attributes.position.array);return this},t.prototype.copy=function(){return this},t})(LineSegmentsGeometry);Object.assign(LineGeometry.prototype,{isLineGeometry:!0});var circleImageURL="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==",DEFAULT_COLOR=14467195,POINT_SIZE=8,DEFAULT_LINEWIDTH=2,DEFAULT_DASHSCALE=20,sharedCircleTexture=null,FiveLine=(function(n){__extends(t,n);function t(e,r){e===void 0&&(e=new THREE__namespace.Vector3),r===void 0&&(r=new THREE__namespace.Vector3);var o=n.call(this)||this;o.type="FiveLine",o.needsRender=!0;var s=new LineGeometry,u=new LineMaterial({color:DEFAULT_COLOR,linewidth:DEFAULT_LINEWIDTH,dashScale:DEFAULT_DASHSCALE,dashed:!1});o.line=new Line2(s,u);var l=new THREE__namespace.BufferGeometry,c=new THREE__namespace.PointsMaterial({color:DEFAULT_COLOR,size:POINT_SIZE,map:sharedCircleTexture||(sharedCircleTexture=new THREE__namespace.TextureLoader().load(circleImageURL)),sizeAttenuation:!1,transparent:!0});return o.points=new THREE__namespace.Points(l,c),o.points.renderOrder=11,o.points.frustumCulled=!1,o.setPoints(e,r),o.add(o.line,o.points),o}return Object.defineProperty(t,"version",{get:function(){return"6.7.0-alpha.0"},enumerable:!1,configurable:!0}),t.prototype.setPoints=function(e,r){var o=[].concat(e.toArray(),r.toArray());this.points.geometry.setAttribute("position",new THREE__namespace.BufferAttribute(new Float32Array(o),3)),this.line.geometry.setPositions(o),this.line.computeLineDistances(),this.needsRender=!0},t.prototype.getPoints=function(){var e=this.points.geometry.attributes.position.array;return[new THREE__namespace.Vector3(e[0],e[1],e[2]),new THREE__namespace.Vector3(e[3],e[4],e[5])]},t.prototype.setMaterial=function(e){var r=this.line.material;for(var o in e)if(e.hasOwnProperty(o)){var s=e[o];o==="dashed"?(r.dashed=s,s?r.defines.USE_DASH="":delete r.defines.USE_DASH,r.needsUpdate=!0):r[o]=e[o]}this.needsRender=!0},t.prototype.setResolution=function(e,r){var o=this.line.material.resolution;(o.x!==e||o.y!==r)&&(o.set(e,r),this.needsRender=!0)},t})(THREE__namespace.Object3D);Object.assign(FiveLine.prototype,{isFiveLine:!0});var Constants={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 fetchJsonFile(n){return __awaiter(this,void 0,void 0,function(){var t;return __generator(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 fetchProfilesList(n){return __awaiter(this,void 0,void 0,function(){var t,e;return __generator(this,function(r){switch(r.label){case 0:if(!n)throw new Error("No basePath supplied");return t="profilesList.json",[4,fetchJsonFile("".concat(n,"/").concat(t))];case 1:return e=r.sent(),[2,e]}})})}function fetchProfile(n,t){return __awaiter(this,arguments,void 0,function(e,r,o,s){var u,l,c,p,f,d;return o===void 0&&(o=null),s===void 0&&(s=!0),__generator(this,function(h){switch(h.label){case 0:if(!e)throw new Error("No xrInputSource supplied");if(!r)throw new Error("No basePath supplied");return[4,fetchProfilesList(r)];case 1:if(u=h.sent(),e.profiles.some(function(m){var A=u[m];return A&&(l={profileId:m,profilePath:"".concat(r,"/").concat(A.path),deprecated:!!A.deprecated}),!!l}),!l){if(!o)throw new Error("No matching profile name found");if(c=u[o],!c)throw new Error('No matching profile name found and default profile "'.concat(o,'" missing.'));l={profileId:o,profilePath:"".concat(r,"/").concat(c.path),deprecated:!!c.deprecated}}return[4,fetchJsonFile(l.profilePath)];case 2:if(p=h.sent(),s){if(d=void 0,d=p.layouts[e.handedness],!d)throw new Error("No matching handedness, ".concat(e.handedness,", in profile ").concat(l.profileId));d.assetPath&&(f=l.profilePath.replace("profile.json",d.assetPath))}return[2,{profile:p,assetPath:f}]}})})}var defaultComponentValues={xAxis:0,yAxis:0,button:0,state:Constants.ComponentState.DEFAULT};function normalizeAxes(n,t){n===void 0&&(n=0),t===void 0&&(t=0);var e=n,r=t,o=Math.sqrt(n*n+t*t);if(o>1){var s=Math.atan2(t,n);e=Math.cos(s),r=Math.sin(s)}var u={normalizedXAxis:e*.5+.5,normalizedYAxis:r*.5+.5};return u}var VisualResponse=(function(){function n(t){this.componentProperty=t.componentProperty,this.states=t.states,this.valueNodeName=t.valueNodeName,this.valueNodeProperty=t.valueNodeProperty,this.valueNodeProperty===Constants.VisualResponseProperty.TRANSFORM&&(this.minNodeName=t.minNodeName,this.maxNodeName=t.maxNodeName),this.value=0,this.updateFromComponent(defaultComponentValues)}return n.prototype.updateFromComponent=function(t){var e=t.xAxis,r=t.yAxis,o=t.button,s=t.state,u=normalizeAxes(e,r),l=u.normalizedXAxis,c=u.normalizedYAxis;switch(this.componentProperty){case Constants.ComponentProperty.X_AXIS:this.value=this.states.includes(s)?l:.5;break;case Constants.ComponentProperty.Y_AXIS:this.value=this.states.includes(s)?c:.5;break;case Constants.ComponentProperty.BUTTON:this.value=this.states.includes(s)?o:0;break;case Constants.ComponentProperty.STATE:this.valueNodeProperty===Constants.VisualResponseProperty.VISIBILITY?this.value=this.states.includes(s):this.value=this.states.includes(s)?1:0;break;default:throw new Error("Unexpected visualResponse componentProperty ".concat(this.componentProperty))}},n})(),Component=(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(o){var s=new VisualResponse(e.visualResponses[o]);r.visualResponses[o]=s}),this.gamepadIndices=Object.assign({},e.gamepadIndices),this.values={state:Constants.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=__assign({id:this.id},this.values);return t},enumerable:!1,configurable:!0}),n.prototype.updateFromGamepad=function(t){var e=this;if(this.values.state=Constants.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=Constants.ComponentState.PRESSED:(r.touched||this.values.button>Constants.ButtonTouchThreshold)&&(this.values.state=Constants.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===Constants.ComponentState.DEFAULT&&Math.abs(this.values.xAxis)>Constants.AxisTouchThreshold&&(this.values.state=Constants.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===Constants.ComponentState.DEFAULT&&Math.abs(this.values.yAxis)>Constants.AxisTouchThreshold&&(this.values.state=Constants.ComponentState.TOUCHED)),Object.values(this.visualResponses).forEach(function(o){o.updateFromComponent(e.values)})},n})(),MotionController=(function(){function n(t,e,r){var o=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(s){var u=o.layoutDescription.components[s];o.components[s]=new Component(s,u)}),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})(),DEFAULT_PROFILES_PATH="https://cdn.jsdelivr.net/npm/@webxr-input-profiles/assets@1.0/dist/profiles",DEFAULT_PROFILE="generic-trigger",XRControllerModel=(function(n){__extends(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(o){o instanceof THREE__namespace.Mesh&&o.isMesh&&(o.material.envMap=r.envMap,o.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(o){var s=o.valueNode,u=o.minNode,l=o.maxNode,c=o.value,p=o.valueNodeProperty;s&&(p===Constants.VisualResponseProperty.VISIBILITY?s.visible=c:p===Constants.VisualResponseProperty.TRANSFORM&&(s.quaternion.copy(u.quaternion).slerp(l.quaternion,c),s.position.lerpVectors(u.position,l.position,c)))})}))},t})(THREE.Object3D);function findNodes(n,t){Object.values(n.components).forEach(function(e){var r=e.type,o=e.touchPointNodeName,s=e.visualResponses;if(r===Constants.ComponentType.TOUCHPAD)if(e.touchPointNode=t.getObjectByName(o),e.touchPointNode){var u=new THREE.SphereGeometry(.001),l=new THREE.MeshBasicMaterial({color:255}),c=new THREE.Mesh(u,l);e.touchPointNode.add(c)}else console.warn("Could not find touch dot, ".concat(e.touchPointNodeName,", in touchpad component ").concat(e.id));Object.values(s).forEach(function(p){var f=p.valueNodeName,d=p.minNodeName,h=p.maxNodeName,m=p.valueNodeProperty;if(m===Constants.VisualResponseProperty.TRANSFORM){if(p.minNode=t.getObjectByName(d),p.maxNode=t.getObjectByName(h),!p.minNode){console.warn("Could not find ".concat(d," in the model"));return}if(!p.maxNode){console.warn("Could not find ".concat(h," in the model"));return}}p.valueNode=t.getObjectByName(f),p.valueNode||console.warn("Could not find ".concat(f," in the model"))})})}function addAssetSceneToControllerModel(n,t){findNodes(n.motionController,t),n.envMap&&t.traverse(function(e){e instanceof THREE__namespace.Mesh&&e.isMesh&&(e.material.envMap=n.envMap,e.material.needsUpdate=!0)}),n.add(t)}var XRControllerModelFactory=(function(){function n(t){t===void 0&&(t=null),this.gltfLoader=t,this.path=DEFAULT_PROFILES_PATH,this._assetCache={}}return n.prototype.createControllerModel=function(t){var e=this,r=new XRControllerModel,o=null;return t.addEventListener("connected",function(s){var u=s.data;u.targetRayMode!=="tracked-pointer"||!u.gamepad||fetchProfile(u,e.path,DEFAULT_PROFILE).then(function(l){var c=l.profile,p=l.assetPath;r.motionController=new MotionController(u,c,p);var f=e._assetCache[r.motionController.assetUrl];if(f)o=f.scene.clone(),addAssetSceneToControllerModel(r,o);else{if(!e.gltfLoader)throw new Error("GLTFLoader not set.");e.gltfLoader.load(r.motionController.assetUrl,function(d){e._assetCache[r.motionController.assetUrl]=d,o=d.scene.clone(),addAssetSceneToControllerModel(r,o)})}}).catch(function(l){console.warn(l)})}),t.addEventListener("disconnected",function(){r.motionController=null,r.remove(o),o=null}),r},n})(),defaultXRPanoramaControllerInitArgs=__assign({},omit(defaultPanoramaControllerCustomInitArgs,["maxLatitude","minLatitude"]));function mapPanoResource(n,t){return n}var CONTROLLER_EVNET_DELTA_TIME=300,scratchRaycaster=new THREE__namespace.Raycaster,scratchVector3=new THREE__namespace.Vector3,XRPanoramaController=(function(n){__extends(t,n);function t(e){var r=n.call(this,e)||this;r.xrManager=new XRManager(r.renderer,r.renderer.getContext(),{onSessionStart:function(c){r.emit("xr.session.start",createEvent("xr.session.start",{session:c,machineType:r.xrManager.machineType}))},onSessionEnd:function(){r.emit("xr.session.end",createEvent("xr.session.end",{session:null,machineType:r.xrManager.machineType}))}}),r.xrControllerRay={left:new THREE__namespace.Raycaster,right:new THREE__namespace.Raycaster},r.xrControllerRay.left.params.Points={threshold:.1},r.xrControllerRay.left.firstHitOnly=!0,r.xrControllerRay.left.floorIndex=-1,r.xrControllerRay.right.params.Points={threshold:.1},r.xrControllerRay.right.firstHitOnly=!0,r.xrControllerRay.right.floorIndex=-1,r.gazeRay=null,r.pointerLines={left:new FiveLine,right:new FiveLine},r.pointerLines.left.visible=!1,r.pointerLines.right.visible=!0,r.pointerLines.left.setMaterial({color:new THREE__namespace.Vector3(1,1,1)}),r.pointerLines.left.points.material.depthTest=!1,r.pointerLines.right.setMaterial({color:new THREE__namespace.Vector3(1,1,1)}),r.pointerLines.right.points.material.depthTest=!1,r.controllerWrappers=[new THREE__namespace.Group,new THREE__namespace.Group];var o=r.xrManager.getController(0);r.controllerWrappers[0].add(o);var s=r.xrManager.getController(1);r.controllerWrappers[1].add(s);var u=new XRControllerModelFactory;u.gltfLoader={load:function(c,p){internalFetcher.ajax(c,{responseType:"arraybuffer"}).then(function(f){var d;return parseGltf(f.body,{resourcePath:c.slice(0,c.lastIndexOf("/")+1),search:(d=c.split("?")[1])!==null&&d!==void 0?d:"",fetcher:internalFetcher})}).then(function(f){return p(f)})}},(r.xrManager.machineType==="Oculus"||r.xrManager.machineType==="Pico")&&r.scene.add(r.pointerLines.left,r.pointerLines.right,r.controllerWrappers[0],r.controllerWrappers[1]),r.panoResources={},r.panoResources[r.locationMotion.keyframes[0].key=r.locationMotion.keyframes[1].key=createUuid()]={panoId:panoStringify(r.currentPano),leftPanoPicture:null,position:r.camera.pose.offset.clone(),effect:"fade",fixCameraTransform:new THREE__namespace.Matrix4},r.parallaxCameraMatrixs=[];var l=AnimationFrameLoop.shared.getContext();return l?(r.on("xr.session.end",function(){r.scene.remove(r.pointerLines.left,r.pointerLines.right)}),r.xrManager.setSession(l),r.on("xr.session.start",function(){var c=r.xrManager.getControllerGrip(0);c.add(u.createControllerModel(c)),r.controllerWrappers[0].add(c);var p=r.xrManager.getControllerGrip(1);p.add(u.createControllerModel(p)),r.controllerWrappers[1].add(p)}),r.xrHandleState={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.xrManager.machineType==="VP"&&r.initHandEvent(),r):(console.error("获取session失败,请退出重试"),r)}return t.parseArgs=function(e){if(e instanceof t)return e;var r=__assign(__assign({},e),{maxLatitude:Math.PI/2,minLatitude:-Math.PI/2});return n.parseArgs.call(this,r)},t.initAnimationEndState=function(e){var r=this.parseArgs(e),o=n.initAnimationEndState.call(this,r);return __assign(__assign({},o),{mode:"XRPanorama"})},t.prototype.updateConfiguration=function(e){return n.prototype.updateConfiguration.call(this,__assign(__assign({},e),{maxLatitude:Math.PI/2,minLatitude:-Math.PI/2}))},t.prototype.moveToPano=function(e,r,o){var s=this,u,l,c=(u=r.effect)!==null&&u!==void 0?u:"fade";this.userAction=o,this.stopMomentumMovement();var p=panoStringify(e),f=this.works.getObserver(e);if(!f)throw new Error("Invalid PanoIndex");getImageSizeFromURL(f.images.up),this.imageOptions.size;var d=this.imageOptions.transform,h=function(R,w){return mapPanoResource(applyImageURLOptions(R,d,w))},m=__assign({key:"pano.".concat(p)},pick(this.imageOptions,["format","size","quality"])),A={right:f.images.work.getURL(f.images.right),left:f.images.work.getURL(f.images.left),up:f.images.work.getURL(f.images.up),down:f.images.work.getURL(f.images.down),front:f.images.work.getURL(f.images.front),back:f.images.work.getURL(f.images.back)},g="pano:"+jsonHash([A,m,d]);if(this.pendingTextureTask){if(this.pendingTextureTask.hash===g)return;var y=this.pendingTextureTask.panoId;(l=this.panoMeshes.get(y))===null||l===void 0||l.setProgress(0),this.emit("pano.texture.abort",createEvent("pano.texture.abort",{error:null,progress:0,meta:null,pano:e}))}var v=this.modelScene.parameter.resolveValue(),E=v.pano0,b=v.pano1,T;if((E==null?void 0:E.map.name)===g?T=E:(b==null?void 0:b.map.name)===g&&(T=b),T){var _={panoId:p,effect:c,leftPanoPicture:{panoId:T.panoId,map:T.map,mapSize:T.mapSize,matrix:f.matrix.clone().premultiply(f.work.transform),zoom:1},position:f.position.clone().applyMatrix4(f.work.transform),fixCameraTransform:new THREE__namespace.Matrix4};this.doMoveToPano(e,_,r);return}var S="move-to-pano-"+p;this.pending.add(S),this.pendingTextureTask={panoId:p,hash:g,onLoad:function(R){var w;s.pending.delete(S);var M=R.body;if(s.destroyed)M.dispose();else{M.name=g;var B=Array.isArray(M.image)?M.image[0]:M.image,C=(w=B==null?void 0:B.width)!==null&&w!==void 0?w:2048,P={panoId:p,effect:c,leftPanoPicture:{panoId:p,map:M,mapSize:C,matrix:f.matrix.clone(),zoom:1},position:f.position.clone(),fixCameraTransform:new THREE__namespace.Matrix4};s.doMoveToPano(e,P,r)}},onError:function(R){s.pending.delete(S);var w=__assign(__assign(__assign({},e),{mode:s.mode}),clonePose(s.camera.pose));s.emit("pano.error",createEvent("pano.error",{error:R,userAction:s.userAction,options:r,prevPano:s.currentPano,progress:0,state:w})),s.emit("pano.cancel",createEvent("pano.cancel",{error:null,userAction:s.userAction,options:r,prevPano:s.currentPano,progress:0,state:w})),r.moveCancelCallback&&r.moveCancelCallback()}},this.textureLoader.loadCubeTexture(A,{imageURL:{transform:h,options:m},format:THREE__namespace.RGBAFormat,fetcher:getFetcher(f.work)},void 0,void 0,function(R){var w,M;((w=s.pendingTextureTask)===null||w===void 0?void 0:w.hash)===g&&((M=s.panoMeshes.get(p))===null||M===void 0||M.setProgress(R)),s.emit("pano.texture.progress",createEvent("pano.texture.progress",{error:null,progress:R,meta:null,pano:e}))},this.renderer).then(function(R){var w,M;((w=s.pendingTextureTask)===null||w===void 0?void 0:w.hash)===g?(s.pendingTextureTask.onLoad(R),(M=s.panoMeshes.get(p))===null||M===void 0||M.setProgress(0),s.pendingTextureTask=void 0,s.emit("pano.texture.success",createEvent("pano.texture.success",{error:null,progress:1,meta:R.meta,pano:e}))):R.body.dispose()}).catch(function(R){var w,M;((w=s.pendingTextureTask)===null||w===void 0?void 0:w.hash)===g&&(s.pendingTextureTask.onError(R),(M=s.panoMeshes.get(p))===null||M===void 0||M.setProgress(0),s.pendingTextureTask=void 0,s.emit("pano.texture.error",createEvent("pano.texture.error",{error:R,progress:0,meta:null,pano:e})),s.emit("error",R))}),this.emit("pano.texture.load",createEvent("pano.texture.load",{error:null,progress:0,meta:null,pano:e}))},t.prototype.doMoveToPano=function(e,r,o){var s=this,u,l,c,p,f,d,h,m,A,g;o===void 0&&(o={});var y=now(),v=createUuid();this.panoResources[v]=r;var E=1,b,T,_;if(this.locationMotion.ended){var S=this.locationMotion.getKeyFrameSegment(y);S[0];var R=S[1],w=this.locationMotion.value,M=this.panoResourceFromLocationMotionKeyframe(R).position,B=r.position;b=Math.max(M.distanceTo(B),E),T=[{key:R.key,progress:0,value:__assign(__assign({},w),{count:0})},{key:v,progress:1,value:{distance:0,count:1}}],_=0}else{var C=this.locationMotion.getKeyFrameSegment(y),P=C[0],R=C[1],w=this.locationMotion.value,L=this.panoResourceFromLocationMotionKeyframe(P).position,M=this.panoResourceFromLocationMotionKeyframe(R).position,B=r.position,O=R.value.count-w.count,F=Math.max(L.distanceTo(M),E)*O,N=Math.max(M.distanceTo(B),E);b=F+N,T=[{key:P.key,progress:0,value:__assign({},w)},{key:R.key,progress:F/b,value:R.value},{key:v,progress:1,value:{count:R.value.count+1,distance:0}}];var D=this.locationMotionKeyframesLength(this.locationMotion.keyframes),U=this.locationMotionKeyframesLength(T);_=this.locationMotion.getProgressVelocity(y)*D/U}var z=r.effect==="instant"?0:this.calculateMovingDuration(o.duration,r.effect==="fly"?b:0),K={longitude:o.longitude,latitude:o.latitude,fov:o.fov},j=__assign(__assign({},e),{mode:this.mode,longitude:(u=K.longitude)!==null&&u!==void 0?u:this.camera.pose.longitude,latitude:(l=K.latitude)!==null&&l!==void 0?l:this.camera.pose.latitude,fov:(c=K.fov)!==null&&c!==void 0?c:this.camera.pose.fov,offset:r.position.clone(),distance:0}),Q=this.currentPano;if(this.emit("pano.moveTo",createEvent("pano.moveTo",{options:o,prevPano:Q,progress:0,state:j,userAction:this.userAction,error:null})),o.moveStartCallback&&o.moveStartCallback(j),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=noop,this.videoTexture.needsUpdate=!0),this.panoVideo.setMaterial(null),r.effect==="fly")this.cameraMotion.set(K,z).catch(noop);else{var V=coordinatesToVector({longitude:this.cameraMotion.value.longitude,latitude:this.cameraMotion.value.latitude}),J=coordinatesToVector({longitude:(p=K.longitude)!==null&&p!==void 0?p:this.cameraMotion.value.longitude,latitude:(f=K.latitude)!==null&&f!==void 0?f:this.cameraMotion.value.latitude}),W=new THREE__namespace.Object3D;W.lookAt(V);var X=new THREE__namespace.Matrix4().makeRotationFromQuaternion(W.quaternion);W.lookAt(J);var Z=new THREE__namespace.Matrix4().makeRotationFromQuaternion(W.quaternion),Y=new THREE__namespace.Matrix4().getInverse(X).premultiply(Z),G=this.cameraMotion.value.fov,ee=(d=K.fov)!==null&&d!==void 0?d:this.cameraMotion.value.fov,te=1;r.effect==="zoomin"?te=1.5:r.effect==="zoomout"&&(te=.4);for(var ne=ee*te,ae=0;ae<T.length-1;ae++){var ce=T[ae].key;if(ce){var ie=this.panoResources[ce];ie&&(ie.fixCameraTransform.copy(Y),ie.leftPanoPicture&&(ie.leftPanoPicture.zoom=Math.tan(ne/2/180*Math.PI)/Math.tan(G/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=K.longitude)!==null&&h!==void 0?h:this.cameraMotion.value.longitude,latitude:(m=K.latitude)!==null&&m!==void 0?m:this.cameraMotion.value.latitude,fov:ne}},{progress:1,value:{longitude:(A=K.longitude)!==null&&A!==void 0?A:this.cameraMotion.value.longitude,latitude:(g=K.latitude)!==null&&g!==void 0?g:this.cameraMotion.value.latitude,fov:ee}}],z).catch(noop)}var fe=this.locationMotion.setKeyframes(T,z,_);fe.then(function(){for(var ge=0,ye=s.modelScene.children;ge<ye.length;ge++){var _e=ye[ge];_e instanceof Model&&_e.show()}var le=__assign(__assign({},e),{mode:s.mode,longitude:s.camera.pose.longitude,latitude:s.camera.pose.latitude,fov:s.camera.pose.fov,offset:s.camera.pose.offset.clone(),distance:0});s.emit("pano.arrived",createEvent("pano.arrived",{options:o,prevPano:Q,progress:1,state:le,userAction:s.userAction,error:null})),o.moveEndCallback&&o.moveEndCallback(le);var de=s.works.getObserver(s.currentPano);if(de&&de.video&&s.videoTexture&&s.videoTexture.image instanceof HTMLVideoElement){var re={map:s.videoTexture,size:de.video.size.clone(),matrix:de.video.matrix.clone(),panoMatrix:de.matrix.clone().premultiply(de.work.transform),alpha:1},se=createUuid(),he=s.videoTexture.image;he.setAttribute("uuid",se),canplayVideo().then(function(me){me&&de.video&&he.getAttribute("uuid")===se&&(he.oncanplay=function(){he.oncanplay=noop,he.play()},he.ontimeupdate=function(){he.currentTime>.5&&(he.ontimeupdate=noop,s.panoVideo.setMaterial(re))},he.src=de.video.source)}).catch((function(){he.removeAttribute("uuid")}))}},function(){s.emit("pano.cancel",createEvent("pano.cancel",{options:o,prevPano:Q,progress:0,state:j,userAction:s.userAction,error:null})),o.moveCancelCallback&&o.moveCancelCallback()})},t.prototype.checkSelectedPano=function(e){var r=this,o;this.stopMomentumMovement(),this.camera.getDirection(new THREE__namespace.Vector3).setY(0);var s=null,u=this.works.getObserver(this.currentPano);if(!u)return null;var l=u.work.observers,c=u.accessibleNodes.filter(function(_){if(_===r.currentPano.panoIndex&&u.work.workCode===r.currentPano.workCode)return!1;var S=l[_];if(!S)return!1;var R=scratchVector3.copy(S.position).applyMatrix4(S.work.transform);return R.distanceTo(r.camera.position)>r.maxAccessibleDistance?!1:S.loadable||S.active}),p=this.modelScene.intersectRaycaster(e)[0];if(p){var f=arrayMin(c,function(_){var S=l[_];if(!S)return 1/0;var R=scratchVector3.copy(S.standingPosition).applyMatrix4(S.work.transform);return R.distanceTo(p.point)},!0),d=f[0],h=f[1];typeof d=="number"&&h<this.panoTapTriggerRadius&&(s=(o=l[d])!==null&&o!==void 0?o:null)}if(isNil(s)){var m=this.getForwardObserverOrNot(this.xrManager.cameraVR,e);m&&(s=m)}for(var A=0,g=this.locationMotion.keyframes;A<g.length;A++){var y=g[A],v=this.panoResourceFromLocationMotionKeyframe(y);if(!(y.progress<this.locationMotion.progress)&&s){var E=panoStringify({panoIndex:s.panoIndex,workCode:s.work.workCode});if(v.panoId===E){s=null;break}}}if(isNil(s))return this.locationMotion.ended===!0&&this.cameraBounce(),null;if(!s.active){var E=panoStringify({panoIndex:s.panoIndex,workCode:s.work.workCode}),b=this.panoMeshes.get(E);b&&(b.setDisabled(!1),b.setLoading(!0))}var T={workCode:s.work.workCode,panoIndex:s.panoIndex,mode:this.mode,longitude:this.camera.pose.longitude,latitude:this.camera.pose.latitude,fov:this.camera.pose.fov,distance:0,offset:s?s.position.clone():new THREE__namespace.Vector3};return this.emit("pano.select",createEvent("pano.select",{prevPano:this.currentPano,state:T,userAction:!0,options:{},progress:0,error:null})),s&&s.active?(this.emit("pano.request",createEvent("pano.request",{userAction:!0,prevPano:this.currentPano,progress:0,state:T,options:{},error:null})),{workCode:s.work.workCode,panoIndex:s.panoIndex}):null},t.prototype.destroy=function(){n.prototype.destroy.call(this)},t.prototype.isReady=function(){return!1},t.prototype.updateCamera=function(e,r,o){return Promise.resolve()},t.prototype.updateCameraWithKeyframes=function(e,r,o){return Promise.resolve()},t.prototype.updateTime=function(e,r){for(var o=this,s,u,l,c,p,f,d,h,m,A=[],g=2;g<arguments.length;g++)A[g-2]=arguments[g];this.userAction=!0;var y={},v={},E=this.locationMotion.keyframes[0],b=this.locationMotion.keyframes[this.locationMotion.keyframes.length-1],T=this.locationMotion.getKeyFrameSegment(e),_=T[0],S=T[1],R=this.panoResourceFromLocationMotionKeyframe(_),w=this.panoResourceFromLocationMotionKeyframe(S),M=this.panoResourceFromLocationMotionKeyframe(E),B=this.panoResourceFromLocationMotionKeyframe(b),C=!1;if(this.cameraMotion.ended===!1&&(this.cameraMotion.update(e),v.fov=this.cameraMotion.value.fov),this.modelAlphaMotion.ended===!1&&(this.modelAlphaMotion.update(e),y.modelAlpha=this.modelAlphaMotion.value.modelAlpha),this.perspToOrthoMotion.ended===!1&&(this.perspToOrthoMotion.update(e),this.camera.perspToOrtho.setScalar(clamp$1(this.perspToOrthoMotion.value.perspToOrtho,0,1))),this.locationMotion.ended===!1){this.locationMotion.update(e);var P=this.locationMotion.getKeyFrameSegment(e);P[0];var L=P[1],O=new THREE__namespace.Vector3().copy(R.position),F=new THREE__namespace.Vector3().copy(w.position),N=this.locationMotion.value.count-L.value.count+1;if(y.progress=N,w.leftPanoPicture&&(N<1?R.leftPanoPicture&&(y.pano0=R.leftPanoPicture):y.pano0=w.leftPanoPicture,y.pano1=w.leftPanoPicture),w.effect==="montage"?y.transition="BLACK":w.effect==="spread"?y.transition="SPREAD":y.transition="FADE",(w.effect==="zoomin"||w.effect==="zoomout")&&(y.progress=Math.pow(N,3)),N<1&&w.effect!=="fly"){if(y.pano0&&R.leftPanoPicture){var D={panoId:y.pano0.panoId,map:y.pano0.map,mapSize:y.pano0.mapSize,zoom:y.pano0.zoom,matrix:R.leftPanoPicture.matrix.clone().setPosition(w.position)},U=this.panoPictureObserverMap.get(y.pano0);U&&this.panoPictureObserverMap.set(D,U),y.pano0=D}O.copy(F),C=!0}v.distance=this.locationMotion.value.distance,v.offset=new THREE__namespace.Vector3(O.x+(F.x-O.x)*N,O.y+(F.y-O.y)*N,O.z+(F.z-O.z)*N);for(var z=[],K=[],j=0,Q=this.locationMotion.keyframes;j<Q.length;j++){var V=Q[j],J=V.key,W=V.progress;J!==void 0&&(z.push(J),W>this.locationMotion.progress&&K.push(J))}for(var X=0,Z=Object.keys(this.panoResources);X<Z.length;X++){var Y=Z[X];if(!(K.indexOf(Y)>=0)){var G=this.panoResources[Y];if(G.leftPanoPicture){var ee=G.leftPanoPicture.map;if(ee){if(ee===((s=y.pano0)===null||s===void 0?void 0:s.map)||ee===((u=y.pano1)===null||u===void 0?void 0:u.map))continue;ee.dispose(),G.leftPanoPicture=null}}z.indexOf(Y)>=0||delete this.panoResources[Y]}}var te=panoParse(w.panoId);te!==this.currentPano&&(this.currentPano=te,this.accessibleObserverFloorCheckCount=0),this.emit("pano.moving",createEvent("pano.moving",{userAction:this.userAction,prevPano:panoParse(M.panoId),state:__assign(__assign(__assign(__assign({},panoParse(B.panoId)),{mode:this.mode}),clonePose(this.camera.pose)),v),options:{},progress:this.locationMotion.progress,error:null}))}this.camera.setFromPose(v),this.xrManager.cameraVR.projectionMatrix.copy(this.camera.projectionMatrix),this.xrManager.cameraVR.projectionMatrixInverse.copy(this.camera.projectionMatrixInverse),this.xrManager.cameraVR.matrix.copy(this.camera.matrix),this.xrManager.cameraVR.position.copy(this.camera.position),this.xrManager.cameraVR.quaternion.copy(this.camera.quaternion),this.xrManager.cameraVR.scale.copy(this.camera.scale),this.xrManager.cameraVR.matrixAutoUpdate=!1,this.xrManager.cameraVR.matrixWorld.copy(this.camera.matrixWorld);var ne=A,ae=ne[1],ce=new THREE__namespace.Vector3(0,0,0),ie=new THREE__namespace.Vector2().copy(this.camera.resolution);if(ae&&this.xrManager.session&&this.xrManager.referenceSpace&&this.xrManager.session.renderState.baseLayer){var fe=this.xrManager.cameraVR,ge=this.xrManager.referenceSpace,ye=this.xrManager.session.renderState.baseLayer,_e=ae.getViewerPose(ge),le=(l=_e==null?void 0:_e.views)!==null&&l!==void 0?l:[];this.renderer.setFramebuffer(ye.framebuffer);for(var de=0;de<le.length;de++){var re=le[de],se=fe.cameras[de],he=ye.getViewport(re);he&&(se.projectionMatrix.fromArray(re.projectionMatrix),se.projectionMatrixInverse.getInverse(se.projectionMatrix),se.matrix.fromArray(re.transform.matrix),se.matrix.setPosition(this.camera.position),se.matrix.decompose(se.position,se.quaternion,se.scale),se.matrixWorld.copy(se.matrix),se.matrixWorldInverse.getInverse(se.matrixWorld),se.matrixAutoUpdate=!1,ce.copy(se.position),se.viewport.set(he.x,he.y,he.width,he.height),ie.set(he.width,he.height))}if(this.xrManager.setProjectionFromUnion(this.xrManager.cameraVR,this.xrManager.cameraL,this.xrManager.cameraR),this.camera.quaternion.copy(this.xrManager.cameraVR.quaternion),this.camera.scale.copy(this.xrManager.cameraVR.scale),this.camera.matrix.compose(this.camera.position,this.camera.quaternion,this.camera.scale),this.camera.computePose((c=v.distance)!==null&&c!==void 0?c:this.camera.pose.distance),this.xrManager.session&&this.xrManager.session.inputSources){for(var de=0;de<this.xrManager.session.inputSources.length;de++)if(this.xrManager.session.inputSources[de]&&this.xrManager.session.inputSources[de].targetRayMode==="transient-pointer"){var me=ae.getPose(this.xrManager.session.inputSources[de].targetRaySpace,ge);if(me){var Ne=me.transform.orientation,qe=new THREE__namespace.Quaternion(Ne.x,Ne.y,Ne.z,Ne.w),Ye=new THREE__namespace.Vector3(0,0,-1).applyQuaternion(qe),Ve=new THREE__namespace.Raycaster(this.camera.position,Ye);this.gazeRay=Ve}}}if(this.xrManager.machineType==="Oculus"||this.xrManager.machineType==="Pico"){for(var ve=this.xrManager.session.inputSources,Ke=function(pe){var xe=Te.xrManager.controllers[pe],Se=ve[pe];if(!Se)return"continue";xe&&xe.update(Se,ae,ge);var Oe=Te.xrManager.getController(pe),Pt=new THREE__namespace.Vector3(0,1.2,0),st=Oe.position.clone().add(ce).sub(Pt);Se.handedness==="left"?Te.xrControllerRay.left.set(st,new THREE__namespace.Vector3(0,0,-1).applyEuler(Oe.rotation)):Se.handedness==="right"&&Te.xrControllerRay.right.set(st,new THREE__namespace.Vector3(0,0,-1).applyEuler(Oe.rotation)),Te.controllerWrappers[pe].position.copy(new THREE__namespace.Vector3(0,0,0).add(ce).sub(Pt));var Ze=Te.modelScene.intersectRaycaster(Te.xrControllerRay.right);if(Ze.length===0){var Ft=Te.works.getResolvedObserver(Te.currentPano);Ze=Te.xrControllerRay.right.intersectObject(Te.boundingMesh,!0).map(function(Xe){var Fe,lt=(Fe=Ft==null?void 0:Ft.floorIndex)!==null&&Fe!==void 0?Fe:0;return __assign({floorIndex:lt,floor:lt},Xe)})}if(Ze.length>=1&&Ze[0].face)if(Se.handedness==="right"){var I=Te.xrControllerRay.right.intersectObject(Te.xrCustomObjectsScene,!0),H=Ze[0].face.normal,k=H.clone(),q=Ze[0].point.clone();Te.intersectMesh.position.copy(q);var $=q.clone().add(k);if(Te.intersectMesh.lookAt($),Math.abs(H.y)>.99){var oe=Te.camera.position.clone().sub(q);Te.intersectMesh.rotation.z=-Math.atan2(oe.z,oe.x)}Te.intersectMesh.visible=!0,Te.needsRender=!0,I.length>0?(Te.pointerLines.right.setPoints(st,I[0].point),Te.pointerLines.right.points.visible=!0,Te.intersectMesh.visible=!1):(Te.pointerLines.right.points.visible=!1,Te.pointerLines.right.setPoints(st,Ze[0].point));var be=Ze[0],De=createEvent("intersect.update",{raycaster:(p=Te.xrControllerRay.right)!==null&&p!==void 0?p:null,intersection:be!=null?be:null,object:Te.intersectMesh});if(Te.emit("intersect.update",De),De.defaultPrevented)return Te.hideIntersectMesh(),{value:void 0}}else Te.pointerLines.left.setPoints(st,Ze[0].point)},Te=this,de=0;de<ve.length;de++){var Le=Ke(de);if(typeof Le=="object")return Le.value}this.updateControllerHelper(ve,e,r)}}else ae||console.error("xrFrame丢失,请重试"),this.xrManager.session||console.error("session丢失,请重试"),this.xrManager.session&&!this.xrManager.session.renderState.baseLayer&&console.error("no layer found");isEmptyObject(y)===!1&&this.modelScene.parameter.set(y),this.emit("camera.update",createEvent("camera.update",{userAction:this.userAction,state:__assign(__assign(__assign({},this.currentPano),{mode:this.mode}),clonePose(this.camera.pose))}));var Me=this.works.getResolvedObserver(this.currentPano),$e=this.locationMotion.ended?this.getForwardObserverOrNot(this.xrManager.cameraVR):null,tt=this.works.getObserver(R.panoId),ke=this.works.getObserver(w.panoId);if(this.adjustPanoCircleMeshPositionBasedOnModel&&this.helper.visible&&Me){for(var Ie=[],He=Me.work.observers,Ee=0,we=Me.accessibleNodes;Ee<we.length;Ee++){var Pe=we[Ee],U=He[Pe];U&&Ie.push(U)}var je=new Map;if(Ie.sort(function(pe,xe){var Se=je.get(pe);typeof Se=="undefined"&&(Se=pe.standingPosition.distanceTo(Me.standingPosition),je.set(pe,Se));var Oe=je.get(pe);return typeof Oe=="undefined"&&(Oe=xe.standingPosition.distanceTo(Me.standingPosition),je.set(xe,Oe)),Se-Oe}),Ie.length){this.accessibleObserverFloorCheckCount=this.accessibleObserverFloorCheckCount%Ie.length;var Qe=Ie[this.accessibleObserverFloorCheckCount],We=this.modelScene.models.find(function(pe){return pe.work===(Qe==null?void 0:Qe.work)});if(Qe&&We&&We.visible){var gt=.3,Je=.05,At=.005,Re=Qe.standingPosition.clone().applyMatrix4(Qe.work.transform),Ue=panoStringify({panoIndex:Qe.panoIndex,workCode:Qe.work.workCode}),yt=adjustPanoCircleMeshVectors.map(function(pe){scratchRaycaster.ray.origin.copy(Re),scratchRaycaster.ray.origin.add(scratchVector3.copy(pe).setY(gt)),scratchRaycaster.ray.direction.set(0,-1,0),scratchRaycaster.firstHitOnly=!0,scratchRaycaster.floorIndex=-1;var xe=We.intersectRaycaster(scratchRaycaster)[0];return xe&&xe.distance-At<=gt?new THREE__namespace.Vector3().copy(Re).setY(xe.point.y+At):Re});yt.sort(function(pe,xe){return xe.y-pe.y});var Ct=yt[Math.floor(yt.length/2)],Et=yt.filter(function(pe){return pe.distanceTo(Ct)<=Je})[0];if(Et){var dt=new THREE__namespace.Vector4(Re.x,Re.y,Re.z,Et.y-Re.y),ht=this.adjustPanoCircleMeshPositionFix.get(Ue);ht&&!dt.equals(ht)&&(this.needsRender=!0),this.adjustPanoCircleMeshPositionFix.set(Ue,dt)}}this.accessibleObserverFloorCheckCount++}}var ze=new Map;if(tt)for(var ut=0,rt=tt.accessibleNodes;ut<rt.length;ut++){var Pe=rt[ut],U=tt.work.observers[Pe];if(U){var Ue=panoStringify({panoIndex:U.panoIndex,workCode:U.work.workCode});ze.set(Ue,U)}}if(ke)for(var ue=0,Ae=ke.accessibleNodes;ue<Ae.length;ue++){var Pe=Ae[ue],U=ke.work.observers[Pe];if(U){var Ue=panoStringify({panoIndex:U.panoIndex,workCode:U.work.workCode});ze.set(Ue,U)}}if(this.panoMeshes.forEach(function(pe,xe){var Se=ze.get(xe);if(Se){pe.position.copy(Se.standingPosition).applyMatrix4(Se.work.transform);var Oe=o.adjustPanoCircleMeshPositionFix.get(xe);Oe&&(scratchVector3.set(Oe.x,Oe.y,Oe.z),scratchVector3.equals(pe.position)&&(pe.position.y+=Oe.w)),pe.scale.setScalar(1.2),ze.delete(xe)}else o.helper.remove(pe),pe.dispose(),o.panoMeshes.delete(xe)}),ze.forEach(function(pe,xe){var Se=o.panoCircleMeshCreator(panoParse(xe));Se.position.copy(pe.standingPosition).applyMatrix4(pe.work.transform);var Oe=o.adjustPanoCircleMeshPositionFix.get(xe);Oe&&(scratchVector3.set(Oe.x,Oe.y,Oe.z),scratchVector3.equals(Se.position)&&(Se.position.y+=Oe.w)),Se.scale.setScalar(1.2),o.panoMeshes.set(xe,Se),o.helper.add(Se),ze.delete(xe)}),this.camera.pose.distance>.1||C)this.panoMeshes.forEach(function(pe){pe.setOpacity(0),pe.setCurrent(!1),pe.updateTime&&pe.updateTime(e,r),pe.visible=!1});else if(Me){var Ce=Me.work.observers,Be=arrayMin(Me.accessibleNodes,function(pe){var xe=Ce[pe];return xe?Me.standingPosition.distanceTo(xe.standingPosition):1/0},!0),nt=Be[1];nt=clamp$1(nt,2.5,1/0);var ct=Me.visibleNodes.concat(Me.panoIndex).map(function(pe){return panoStringify({panoIndex:pe,workCode:Me.work.workCode})}),bt=this.camera.getDirection(new THREE__namespace.Vector3);this.panoMeshes.forEach(function(pe,xe){var Se=o.works.getObserver(xe);if(ct.indexOf(xe)===-1)pe.setCurrent(!1),pe.setOpacity(0);else if(!Se)pe.setCurrent(!1),pe.setOpacity(0);else if(!Se.loadable&&!Se.active)pe.setCurrent(!1),pe.setOpacity(0);else{var Oe=pe.position.clone().setY(o.camera.position.y).distanceTo(o.camera.position);pe.setCurrent(!pe.loading&&pe.progress===0&&$e!==null&&panoStringify({panoIndex:$e.panoIndex,workCode:$e.work.workCode})===xe),pe.setOpacity(Oe<.01?0:clamp$1(nt/Oe*1.2,.65,.98));var Pt=o.camera.position.clone().setY(pe.position.y),st=new THREE__namespace.Vector3().copy(pe.position).sub(Pt).normalize();if(xe===panoStringify(o.currentPano)){var Ze=clamp$1((.5-Pt.distanceTo(pe.position))/.5,0,1);st.multiplyScalar(1-Ze).add(bt.clone().multiplyScalar(Ze))}st.length()>0&&pe.quaternion.setFromEuler(new THREE__namespace.Euler(0,Math.atan2(st.x,st.z),0))}pe.updateTime&&pe.updateTime(e,r)})}{var N=(f=this.modelScene.parameter.progress)!==null&&f!==void 0?f:1,Bt=Math.round(N),at=this.modelScene.parameter.pano0,pt=this.modelScene.parameter.pano1,Tt=Bt===0?at:pt,U=void 0;if(Tt&&(U=this.works.getObserver(Tt.panoId),U||(U=this.panoPictureObserverMap.get(Tt))),this.tiling.appearDuration=this.tileAppearDuration,this.tiling.maxRequest=N<.6?0:this.tileMaxRequest,this.tiling.imageOptions=this.imageOptions,!U||!Tt||this.tileLevelForFov===!1||this.camera.perspToOrtho.x>0){this.tiling.setObserver(null);var Mt={renderer:this.renderer,resolution:ie,pixelRatio:1,time:this.camera.time,cameraMatrix:this.xrManager.cameraVR.matrixWorld,cameraProjectionMatrix:this.xrManager.cameraVR.projectionMatrix,panoMap:null,panoMatrix:new THREE__namespace.Matrix4,panoZoom:1,minLevel:0,level:0};this.tiling.update(Mt),this.modelScene.parameter.set("refinedScreen",null)}else{var it=getImageSizeLevel(Tt.mapSize),It=it+1,_t=4;this.tiling.setObserver(U);var Mt={renderer:this.renderer,resolution:ie,pixelRatio:1,time:this.camera.time,cameraMatrix:this.xrManager.cameraVR.matrixWorld,cameraProjectionMatrix:this.xrManager.cameraVR.projectionMatrix,panoMap:Tt.map,panoMatrix:Tt.matrix,panoZoom:Tt.zoom,minLevel:It,level:_t},vt=this.tiling.update(Mt),xt={map:this.tiling.renderTarget.texture,matrixInverse:this.tiling.camera.matrixWorldInverse,projectionMatrix:this.tiling.camera.projectionMatrix,pano:Bt,opacity:(at==null?void 0:at.panoId)===(pt==null?void 0:pt.panoId)?1:easeInQuart(Math.abs(((d=this.modelScene.parameter.progress)!==null&&d!==void 0?d:0)-.5)*2)},Ge=this.modelScene.parameter.refinedScreen;(vt||xt.pano!==(Ge==null?void 0:Ge.pano)||xt.opacity!==(Ge==null?void 0:Ge.opacity))&&this.modelScene.parameter.set("refinedScreen",xt)}}if(this.panoVideo.object.position.copy(this.camera.position),this.panoVideo.updateTime(e),this.intersectMesh&&this.intersectMesh.parent&&Me&&Me.position.y-Me.standingPosition.y>10){var mt=this.camera.position.distanceTo(this.intersectMesh.position),Ot=2*Math.tan(.5*this.camera.fov/180*Math.PI),Lt=mt*Ot/5;this.intersectMesh.scale.setScalar(Lt)}else this.intersectMesh.scale.setScalar(1);{var Ht=w.effect,ot=this.modelScene.parameter,at=ot.pano0,pt=ot.pano1;if(at&&pt&&at!==pt&&Ht==="fly"&&this.flyEffectUseDepthBuffer){if(((h=this.modelScene.parameter.pano0Depth)===null||h===void 0?void 0:h.panoId)!==at.panoId||((m=this.modelScene.parameter.pano1Depth)===null||m===void 0?void 0:m.panoId)!==pt.panoId){var St=500,ft=512;this.pano0DepthCubeRenderTarget?this.pano0DepthCubeRenderTarget.width!==ft&&this.pano0DepthCubeRenderTarget.setSize(ft,ft):this.pano0DepthCubeRenderTarget=new THREE__namespace.WebGLCubeRenderTarget(ft,{minFilter:THREE__namespace.NearestFilter,magFilter:THREE__namespace.NearestFilter,generateMipmaps:!1}),this.pano1DepthCubeRenderTarget?this.pano1DepthCubeRenderTarget.width!==ft&&this.pano1DepthCubeRenderTarget.setSize(ft,ft):this.pano1DepthCubeRenderTarget=new THREE__namespace.WebGLCubeRenderTarget(ft,{minFilter:THREE__namespace.NearestFilter,magFilter:THREE__namespace.NearestFilter,generateMipmaps:!1});var Rt=new THREE__namespace.CubeCamera(this.camera.near,this.camera.far,this.pano0DepthCubeRenderTarget);Rt.matrix.copy(at.matrix),Rt.matrixWorld.copy(Rt.matrix),Rt.matrixAutoUpdate=!1,renderDepthCube(this.renderer,this.modelScene,Rt,St);var wt=new THREE__namespace.CubeCamera(this.camera.near,this.camera.far,this.pano1DepthCubeRenderTarget);wt.matrix.copy(pt.matrix),wt.matrixWorld.copy(wt.matrix),wt.matrixAutoUpdate=!1,renderDepthCube(this.renderer,this.modelScene,wt,St),this.modelScene.parameter.set({pano0Depth:{panoId:at.panoId,map:this.pano0DepthCubeRenderTarget.texture,mapSize:this.pano0DepthCubeRenderTarget.width,maxDepth:St},pano1Depth:{panoId:pt.panoId,map:this.pano1DepthCubeRenderTarget.texture,mapSize:this.pano1DepthCubeRenderTarget.width,maxDepth:St}})}}else this.modelScene.parameter.set({pano0Depth:null,pano1Depth:null}),this.flyEffectUseDepthBuffer||(this.pano0DepthCubeRenderTarget&&(this.pano0DepthCubeRenderTarget.dispose(),this.pano0DepthCubeRenderTarget=void 0),this.pano1DepthCubeRenderTarget&&(this.pano1DepthCubeRenderTarget.dispose(),this.pano1DepthCubeRenderTarget=void 0))}},t.prototype.render=function(){this.renderer.setScissorTest(!1);var e=this.xrManager.cameraVR;this.renderer.render(this.modelScene,e),this.renderer.autoClearColor=!1,this.renderer.autoClearDepth=!1,this.renderer.render(this.scene,e),this.renderer.autoClearColor=!0,this.renderer.autoClearDepth=!0},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,o){var s=this.xrControllerRay.left,u=this.xrControllerRay.right;if(!(!e||e.length===0)){for(var l={buttons:{X:!1,Y:!1,LeftTrigger:!1,LeftPinch:!1,A:!1,B:!1,RightTrigger:!1,RightPinch:!1}},c=0;c<e.length;c++){var p=e[c].handedness,f=e[c].gamepad;switch(p){case"left":f.axes&&(this.emitHandleEvent(f.axes[2]===-1,"LeftAxesLeft",r),this.emitHandleEvent(f.axes[2]===1,"LeftAxesRight",r),this.emitHandleEvent(f.axes[3]===-1,"LeftAxesUp",r),this.emitHandleEvent(f.axes[3]===1,"LeftAxesDown",r)),f!=null&&f.buttons&&(f.buttons[4]&&this.emitHandleEvent(f.buttons[4].pressed,"X",r),f.buttons[5]&&this.emitHandleEvent(f.buttons[5].pressed,"Y",r),f.buttons[0]&&this.emitHandleEvent(f.buttons[0].pressed,"LeftTrigger",r),f.buttons[1]&&this.emitHandleEvent(f.buttons[1].pressed,"LeftPinch",r));var d={raycaster:s,axes:{up:f.axes&&f.axes[3]<0?Math.abs(f.axes[3]):0,down:f.axes&&f.axes[3]<0?0:Math.abs(f.axes[3]),left:f.axes&&f.axes[2]<0?Math.abs(f.axes[2]):0,right:f.axes&&f.axes[2]<0?0:Math.abs(f.axes[2])},deltaTime:o};l.buttons.X=f.buttons&&f.buttons[4]?f.buttons[4].pressed:!1,l.buttons.Y=f.buttons&&f.buttons[5]?f==null?void 0:f.buttons[5].pressed:!1,l.buttons.LeftTrigger=f.buttons&&f.buttons[0]?f==null?void 0:f.buttons[0].pressed:!1,l.buttons.LeftPinch=f.buttons&&f.buttons[1]?f==null?void 0:f.buttons[1].pressed:!1,l.left=d;break;case"right":f.axes&&(this.emitHandleEvent(f.axes[2]===-1,"RightAxesLeft",r),this.emitHandleEvent(f.axes[2]===1,"RightAxesRight",r),this.emitHandleEvent(f.axes[3]===-1,"RightAxesUp",r),this.emitHandleEvent(f.axes[3]===1,"RightAxesDown",r)),f.buttons&&(f.buttons[4]&&this.emitHandleEvent(f.buttons[4].pressed,"A",r),f.buttons[5]&&this.emitHandleEvent(f.buttons[5].pressed,"B",r),f.buttons[0]&&this.emitHandleEvent(f.buttons[0].pressed,"RightTrigger",r),f.buttons[1]&&this.emitHandleEvent(f.buttons[1].pressed,"RightPinch",r));var h={raycaster:u,axes:{up:f.axes&&f.axes[3]<0?Math.abs(f.axes[3]):0,down:f.axes&&f.axes[3]<0?0:Math.abs(f.axes[3]),left:f.axes&&f.axes[2]<0?Math.abs(f.axes[2]):0,right:f.axes&&f.axes[2]<0?0:Math.abs(f.axes[2])},deltaTime:o};l.right=h,l.buttons.A=f.buttons&&f.buttons[4]?f==null?void 0:f.buttons[4].pressed:!1,l.buttons.B=f.buttons&&f.buttons[5]?f==null?void 0:f.buttons[5].pressed:!1,l.buttons.RightTrigger=f.buttons&&f.buttons[0]?f==null?void 0:f.buttons[0].pressed:!1,l.buttons.RightPinch=f.buttons&&f.buttons[1]?f==null?void 0:f.buttons[1].pressed:!1;break}}this.emit("xr.controller.update",createEvent("xr.controller.update",l))}},t.prototype.emitHandleEvent=function(e,r,o){var s=this.xrControllerRay.left,u=this.xrControllerRay.right;if(e)if(this.xrHandleState[r].touchStart===!1)this.xrHandleState[r].touchStartTime=o,this.xrHandleState[r].touchStart=!0,this.emit("xr.gesture.buttonDown",createEvent("xr.gesture.buttonDown",{session:this.xrManager.session,machineType:this.xrManager.machineType,buttons:r,isFinal:!1,isFirst:!0,controllers:{raycaster:{leftRay:s,rightRay:u}}}));else{var l=o-this.xrHandleState[r].touchStartTime;l>CONTROLLER_EVNET_DELTA_TIME&&this.emit("xr.gesture.press",createEvent("xr.gesture.tap",{session:this.xrManager.session,machineType:this.xrManager.machineType,buttons:r,isFinal:!0,isFirst:!0,controllers:{raycaster:{leftRay:s,rightRay:u}}}))}else if(this.xrHandleState[r].touchStart===!0){this.emit("xr.gesture.buttonUp",createEvent("xr.gesture.buttonUp",{session:this.xrManager.session,machineType:this.xrManager.machineType,buttons:r,isFinal:!0,isFirst:!1,controllers:{raycaster:{leftRay:s,rightRay:u}}}));var l=o-this.xrHandleState[r].touchStartTime;if(l<=CONTROLLER_EVNET_DELTA_TIME){var c=createEvent("xr.gesture.tap",{session:this.xrManager.session,machineType:this.xrManager.machineType,buttons:r,isFinal:!0,isFirst:!1,controllers:{raycaster:{leftRay:s,rightRay:u}}}),p=this.emit("xr.gesture.tap",c);!p&&!c.defaultPrevented&&r==="RightTrigger"&&this.checkSelectedPano(this.xrControllerRay.right)}this.xrHandleState[r].touchStart=!1,this.xrHandleState[r].touchStartTime=0}},t.prototype.initHandEvent=function(){var e=this;if(!this.xrManager.session)throw new Error("初始化失败");this.xrManager.session.addEventListener("select",function(r){e.gazeRay&&e.checkSelectedPano(e.gazeRay)})},t})(PanoramaController),Controllers={Floorplan:FloorplanController,Topview:TopviewController,Panorama:PanoramaController,VRPanorama:VRPanoramaController,Model:ModelController,Mapview:MapviewController,XRPanorama:XRPanoramaController},controllersDefaultInitArgs={Floorplan:defaultFloorplanControllerCustomInitArgs,Topview:defaultTopviewControllerCustomInitArgs,Panorama:defaultPanoramaControllerCustomInitArgs,VRPanorama:defaultVRPanoramaControllerCustomInitArgs,Model:defaultModelControllerCustomInitArgs,Mapview:defaultMapviewControllerCustomInitArgs,XRPanorama:defaultXRPanoramaControllerInitArgs},PROXY_CONTROLLER_EVENT_NAMES=["gesture.pan","gesture.tap","gesture.dbltap","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 initLegacyEvent(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.dbltap",function(t){var e=!1;e=n.emit("wantsGesture","dbltap",t.pointers,t.isFinal),e&&t.preventDefault(),e=n.emit("wantsDblTapGesture",t.center.raycaster,t.center.coords,t.isFinal),e&&t.preventDefault(),t.defaultPrevented||(n.emit("gesture","dbltap",t.pointers,t.isFinal),n.emit("dblTapGesture",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=coordinatesToVector(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 generateDefaultVideoElement(){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 initLights(){var n=new THREE__namespace.Group;n.name="internalLights";{var t=new THREE__namespace.DirectionalLight(16777215,.1);t.name="direction0",t.position.copy(new THREE__namespace.Vector3(0,1,0)),n.add(t)}{var t=new THREE__namespace.DirectionalLight(16777215,.1);t.name="direction1",t.position.copy(new THREE__namespace.Vector3(-1,-1,-1)),n.add(t)}{var t=new THREE__namespace.DirectionalLight(16777215,.3);t.name="direction2",t.position.copy(new THREE__namespace.Vector3(1,1,1)),n.add(t)}{var t=new THREE__namespace.AmbientLight(16777215,.6);t.name="ambient0",n.add(t)}return n}function parseKeyValue(n){for(var t,e,r={},o=n.split(/(\;|\,)/),s=0,u=o;s<u.length;s++){var l=u[s],c=l.split("="),p=(t=c[0])===null||t===void 0?void 0:t.trim(),f=(e=c[1])===null||e===void 0?void 0:e.trim();p&&f&&(r[p]=f)}return r}function getViewportScale(){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 o=parseKeyValue((n=r.getAttribute("content"))!==null&&n!==void 0?n:""),s=Number(o["initial-scale"]);if(!isNaN(s))return s}}return 1}const textureURL="data:image/png;base64,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";var imageSize=[351,63],imageOffset=[20,20],vertices=new Float32Array([-.5,-.5,0,.5,-.5,0,-.5,.5,0,.5,.5,0]),uvs=new Float32Array([0,0,1,0,0,1,1,1]),index=new Uint8Array([0,1,2,1,3,2]),geometry$4=new THREE__namespace.BufferGeometry;geometry$4.setAttribute("position",new THREE__namespace.BufferAttribute(vertices,3)),geometry$4.setAttribute("uv",new THREE__namespace.BufferAttribute(uvs,2)),geometry$4.setIndex(new THREE__namespace.BufferAttribute(index,1));var material=new THREE__namespace.MeshBasicMaterial({transparent:!0,depthTest:!1,depthWrite:!1,stencilWrite:!1,fog:!1}),mesh$4=new THREE__namespace.Mesh(geometry$4,material);mesh$4.matrixAutoUpdate=!1;var scene$2=new THREE__namespace.Scene;scene$2.add(mesh$4),scene$2.matrixAutoUpdate=!1;var camera$2=new THREE__namespace.OrthographicCamera(-.5,.5,.5,-.5,.1,1);camera$2.position.set(0,0,.5),camera$2.lookAt(0,0,0),camera$2.updateMatrixWorld(!0),camera$2.matrixAutoUpdate=!1;var prevViewport=new THREE__namespace.Vector4,prevScissor=new THREE__namespace.Vector4;function renderPoweredByRealsee(n){if(material.map){var r=n.getViewport(prevViewport),o=n.getScissor(prevScissor),s=n.getScissorTest(),u=n.autoClear,l=o.x+imageOffset[0]/3,c=o.y+imageOffset[1]/3,p=imageSize[0]/3,f=imageSize[1]/3;n.setViewport(l,c,p,f),n.setScissor(l,c,p,f),n.setScissorTest(!0),n.autoClear=!1,n.render(scene$2,camera$2),n.setViewport(r),n.setScissor(o),n.setScissorTest(s),n.autoClear=u}else{var t=new THREE__namespace.Texture,e=new Image;e.onload=function(){t.image=e,t.wrapS=THREE__namespace.ClampToEdgeWrapping,t.wrapT=THREE__namespace.ClampToEdgeWrapping,t.minFilter=THREE__namespace.LinearFilter,t.needsUpdate=!0,t.generateMipmaps=!1,material.needsUpdate=!0,e.onload=noop},e.src=textureURL,material.map=t}}var FRAGMENT$2=`
|
|
2133
|
+
`},LineMaterial=(function(n){__extends(t,n);function t(e){var r=n.call(this,{uniforms:THREE__namespace.UniformsUtils.clone(lineShader.uniforms),vertexShader:lineShader.vertexShader,fragmentShader:lineShader.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(o){this.uniforms.diffuse.value=o}},linewidth:{enumerable:!0,get:function(){return this.uniforms.linewidth.value},set:function(o){this.uniforms.linewidth.value=o}},dashScale:{enumerable:!0,get:function(){return this.uniforms.dashScale.value},set:function(o){this.uniforms.dashScale.value=o}},dashSize:{enumerable:!0,get:function(){return this.uniforms.dashSize.value},set:function(o){this.uniforms.dashSize.value=o}},gapSize:{enumerable:!0,get:function(){return this.uniforms.gapSize.value},set:function(o){this.uniforms.gapSize.value=o}},opacity:{enumerable:!0,get:function(){return this.uniforms.opacity.value},set:function(o){this.uniforms.opacity.value=o}},resolution:{enumerable:!0,get:function(){return this.uniforms.resolution.value},set:function(o){this.uniforms.resolution.value.copy(o)}}}),r.setValues(e),r}return t})(THREE__namespace.ShaderMaterial);Object.assign(LineMaterial.prototype,{isLineMaterial:!0});var LineSegments2=(function(n){__extends(t,n);function t(e,r){var o=n.call(this)||this;return o.type="LineSegments2",o.geometry=e!==void 0?e:new LineSegmentsGeometry,o.material=r!==void 0?r:new LineMaterial({color:Math.random()*16777215}),o}return t.prototype.computeLineDistances=function(){for(var e=this.geometry,r=e.attributes.instanceStart,o=e.attributes.instanceEnd,s=new Float32Array(2*r.count),u=new THREE__namespace.Vector3,l=new THREE__namespace.Vector3,c=0,p=0,f=r.count;c<f;c++,p+=2)u.fromBufferAttribute(r,c),l.fromBufferAttribute(o,c),s[p]=p===0?0:s[p-1],s[p+1]=s[p]+u.distanceTo(l);var d=new THREE__namespace.InstancedInterleavedBuffer(s,2,1);return e.setAttribute("instanceDistanceStart",new THREE__namespace.InterleavedBufferAttribute(d,1,0)),e.setAttribute("instanceDistanceEnd",new THREE__namespace.InterleavedBufferAttribute(d,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 o=e.ray,s=e.camera,u=s.projectionMatrix,l=this.geometry,c=this.material,p=c.resolution,f=c.linewidth,d=l.attributes.instanceStart,h=l.attributes.instanceEnd,m=new THREE__namespace.Vector4,A=new THREE__namespace.Vector4,g=new THREE__namespace.Vector4,y=new THREE__namespace.Vector3,v=new THREE__namespace.Matrix4,E=new THREE__namespace.Line3,b=new THREE__namespace.Vector3;o.at(1,g),g.w=1,g.applyMatrix4(s.matrixWorldInverse),g.applyMatrix4(u),g.multiplyScalar(1/g.w),g.x*=p.x/2,g.y*=p.y/2,g.z=0,y.copy(g);var T=this.matrixWorld;v.multiplyMatrices(s.matrixWorldInverse,T);for(var _=0,S=d.count;_<S;_++){m.fromBufferAttribute(d,_),A.fromBufferAttribute(h,_),m.w=1,A.w=1,m.applyMatrix4(v),A.applyMatrix4(v),m.applyMatrix4(u),A.applyMatrix4(u),m.multiplyScalar(1/m.w),A.multiplyScalar(1/A.w);var R=m.z<-1&&A.z<-1,w=m.z>1&&A.z>1;if(!(R||w)){m.x*=p.x/2,m.y*=p.y/2,A.x*=p.x/2,A.y*=p.y/2,E.start.copy(m),E.start.z=0,E.end.copy(A),E.end.z=0;var M=E.closestPointToPointParameter(y,!0);E.at(M,b);var B=THREE__namespace.MathUtils.lerp(m.z,A.z,M),C=B>=-1&&B<=1,P=y.distanceTo(b)<f*.5;if(C&&P){E.start.fromBufferAttribute(d,_),E.end.fromBufferAttribute(h,_),E.start.applyMatrix4(T),E.end.applyMatrix4(T);var L=new THREE__namespace.Vector3,O=new THREE__namespace.Vector3;o.distanceSqToSegment(E.start,E.end,O,L),r.push({point:O,pointOnLine:L,distance:o.origin.distanceTo(O),object:this,faceIndex:_})}}}},t})(THREE__namespace.Mesh);Object.assign(LineSegments2.prototype,{isLineSegments2:!0});var Line2=(function(n){__extends(t,n);function t(e,r){var o=n.call(this,e,r)||this;return o.type="Line2",o}return t})(LineSegments2);Object.assign(Line2.prototype,{isLine2:!0});var LineGeometry=(function(n){__extends(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,o=new Float32Array(2*r),s=0;s<r;s+=3)o[2*s]=e[s],o[2*s+1]=e[s+1],o[2*s+2]=e[s+2],o[2*s+3]=e[s+3],o[2*s+4]=e[s+4],o[2*s+5]=e[s+5];return n.prototype.setPositions.call(this,o),this},t.prototype.setColors=function(e){for(var r=e.length-3,o=new Float32Array(2*r),s=0;s<r;s+=3)o[2*s]=e[s],o[2*s+1]=e[s+1],o[2*s+2]=e[s+2],o[2*s+3]=e[s+3],o[2*s+4]=e[s+4],o[2*s+5]=e[s+5];return n.prototype.setColors.call(this,o),this},t.prototype.fromLine=function(e){var r=e.geometry;if(r instanceof THREE__namespace.Geometry){var o=new THREE__namespace.BufferGeometry().fromGeometry(r);this.setPositions(o.attributes.position.array)}else r instanceof THREE__namespace.BufferGeometry&&this.setPositions(r.attributes.position.array);return this},t.prototype.copy=function(){return this},t})(LineSegmentsGeometry);Object.assign(LineGeometry.prototype,{isLineGeometry:!0});var circleImageURL="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==",DEFAULT_COLOR=14467195,POINT_SIZE=8,DEFAULT_LINEWIDTH=2,DEFAULT_DASHSCALE=20,sharedCircleTexture=null,FiveLine=(function(n){__extends(t,n);function t(e,r){e===void 0&&(e=new THREE__namespace.Vector3),r===void 0&&(r=new THREE__namespace.Vector3);var o=n.call(this)||this;o.type="FiveLine",o.needsRender=!0;var s=new LineGeometry,u=new LineMaterial({color:DEFAULT_COLOR,linewidth:DEFAULT_LINEWIDTH,dashScale:DEFAULT_DASHSCALE,dashed:!1});o.line=new Line2(s,u);var l=new THREE__namespace.BufferGeometry,c=new THREE__namespace.PointsMaterial({color:DEFAULT_COLOR,size:POINT_SIZE,map:sharedCircleTexture||(sharedCircleTexture=new THREE__namespace.TextureLoader().load(circleImageURL)),sizeAttenuation:!1,transparent:!0});return o.points=new THREE__namespace.Points(l,c),o.points.renderOrder=11,o.points.frustumCulled=!1,o.setPoints(e,r),o.add(o.line,o.points),o}return Object.defineProperty(t,"version",{get:function(){return"6.7.0-alpha.1"},enumerable:!1,configurable:!0}),t.prototype.setPoints=function(e,r){var o=[].concat(e.toArray(),r.toArray());this.points.geometry.setAttribute("position",new THREE__namespace.BufferAttribute(new Float32Array(o),3)),this.line.geometry.setPositions(o),this.line.computeLineDistances(),this.needsRender=!0},t.prototype.getPoints=function(){var e=this.points.geometry.attributes.position.array;return[new THREE__namespace.Vector3(e[0],e[1],e[2]),new THREE__namespace.Vector3(e[3],e[4],e[5])]},t.prototype.setMaterial=function(e){var r=this.line.material;for(var o in e)if(e.hasOwnProperty(o)){var s=e[o];o==="dashed"?(r.dashed=s,s?r.defines.USE_DASH="":delete r.defines.USE_DASH,r.needsUpdate=!0):r[o]=e[o]}this.needsRender=!0},t.prototype.setResolution=function(e,r){var o=this.line.material.resolution;(o.x!==e||o.y!==r)&&(o.set(e,r),this.needsRender=!0)},t})(THREE__namespace.Object3D);Object.assign(FiveLine.prototype,{isFiveLine:!0});var Constants={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 fetchJsonFile(n){return __awaiter(this,void 0,void 0,function(){var t;return __generator(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 fetchProfilesList(n){return __awaiter(this,void 0,void 0,function(){var t,e;return __generator(this,function(r){switch(r.label){case 0:if(!n)throw new Error("No basePath supplied");return t="profilesList.json",[4,fetchJsonFile("".concat(n,"/").concat(t))];case 1:return e=r.sent(),[2,e]}})})}function fetchProfile(n,t){return __awaiter(this,arguments,void 0,function(e,r,o,s){var u,l,c,p,f,d;return o===void 0&&(o=null),s===void 0&&(s=!0),__generator(this,function(h){switch(h.label){case 0:if(!e)throw new Error("No xrInputSource supplied");if(!r)throw new Error("No basePath supplied");return[4,fetchProfilesList(r)];case 1:if(u=h.sent(),e.profiles.some(function(m){var A=u[m];return A&&(l={profileId:m,profilePath:"".concat(r,"/").concat(A.path),deprecated:!!A.deprecated}),!!l}),!l){if(!o)throw new Error("No matching profile name found");if(c=u[o],!c)throw new Error('No matching profile name found and default profile "'.concat(o,'" missing.'));l={profileId:o,profilePath:"".concat(r,"/").concat(c.path),deprecated:!!c.deprecated}}return[4,fetchJsonFile(l.profilePath)];case 2:if(p=h.sent(),s){if(d=void 0,d=p.layouts[e.handedness],!d)throw new Error("No matching handedness, ".concat(e.handedness,", in profile ").concat(l.profileId));d.assetPath&&(f=l.profilePath.replace("profile.json",d.assetPath))}return[2,{profile:p,assetPath:f}]}})})}var defaultComponentValues={xAxis:0,yAxis:0,button:0,state:Constants.ComponentState.DEFAULT};function normalizeAxes(n,t){n===void 0&&(n=0),t===void 0&&(t=0);var e=n,r=t,o=Math.sqrt(n*n+t*t);if(o>1){var s=Math.atan2(t,n);e=Math.cos(s),r=Math.sin(s)}var u={normalizedXAxis:e*.5+.5,normalizedYAxis:r*.5+.5};return u}var VisualResponse=(function(){function n(t){this.componentProperty=t.componentProperty,this.states=t.states,this.valueNodeName=t.valueNodeName,this.valueNodeProperty=t.valueNodeProperty,this.valueNodeProperty===Constants.VisualResponseProperty.TRANSFORM&&(this.minNodeName=t.minNodeName,this.maxNodeName=t.maxNodeName),this.value=0,this.updateFromComponent(defaultComponentValues)}return n.prototype.updateFromComponent=function(t){var e=t.xAxis,r=t.yAxis,o=t.button,s=t.state,u=normalizeAxes(e,r),l=u.normalizedXAxis,c=u.normalizedYAxis;switch(this.componentProperty){case Constants.ComponentProperty.X_AXIS:this.value=this.states.includes(s)?l:.5;break;case Constants.ComponentProperty.Y_AXIS:this.value=this.states.includes(s)?c:.5;break;case Constants.ComponentProperty.BUTTON:this.value=this.states.includes(s)?o:0;break;case Constants.ComponentProperty.STATE:this.valueNodeProperty===Constants.VisualResponseProperty.VISIBILITY?this.value=this.states.includes(s):this.value=this.states.includes(s)?1:0;break;default:throw new Error("Unexpected visualResponse componentProperty ".concat(this.componentProperty))}},n})(),Component=(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(o){var s=new VisualResponse(e.visualResponses[o]);r.visualResponses[o]=s}),this.gamepadIndices=Object.assign({},e.gamepadIndices),this.values={state:Constants.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=__assign({id:this.id},this.values);return t},enumerable:!1,configurable:!0}),n.prototype.updateFromGamepad=function(t){var e=this;if(this.values.state=Constants.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=Constants.ComponentState.PRESSED:(r.touched||this.values.button>Constants.ButtonTouchThreshold)&&(this.values.state=Constants.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===Constants.ComponentState.DEFAULT&&Math.abs(this.values.xAxis)>Constants.AxisTouchThreshold&&(this.values.state=Constants.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===Constants.ComponentState.DEFAULT&&Math.abs(this.values.yAxis)>Constants.AxisTouchThreshold&&(this.values.state=Constants.ComponentState.TOUCHED)),Object.values(this.visualResponses).forEach(function(o){o.updateFromComponent(e.values)})},n})(),MotionController=(function(){function n(t,e,r){var o=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(s){var u=o.layoutDescription.components[s];o.components[s]=new Component(s,u)}),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})(),DEFAULT_PROFILES_PATH="https://cdn.jsdelivr.net/npm/@webxr-input-profiles/assets@1.0/dist/profiles",DEFAULT_PROFILE="generic-trigger",XRControllerModel=(function(n){__extends(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(o){o instanceof THREE__namespace.Mesh&&o.isMesh&&(o.material.envMap=r.envMap,o.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(o){var s=o.valueNode,u=o.minNode,l=o.maxNode,c=o.value,p=o.valueNodeProperty;s&&(p===Constants.VisualResponseProperty.VISIBILITY?s.visible=c:p===Constants.VisualResponseProperty.TRANSFORM&&(s.quaternion.copy(u.quaternion).slerp(l.quaternion,c),s.position.lerpVectors(u.position,l.position,c)))})}))},t})(THREE.Object3D);function findNodes(n,t){Object.values(n.components).forEach(function(e){var r=e.type,o=e.touchPointNodeName,s=e.visualResponses;if(r===Constants.ComponentType.TOUCHPAD)if(e.touchPointNode=t.getObjectByName(o),e.touchPointNode){var u=new THREE.SphereGeometry(.001),l=new THREE.MeshBasicMaterial({color:255}),c=new THREE.Mesh(u,l);e.touchPointNode.add(c)}else console.warn("Could not find touch dot, ".concat(e.touchPointNodeName,", in touchpad component ").concat(e.id));Object.values(s).forEach(function(p){var f=p.valueNodeName,d=p.minNodeName,h=p.maxNodeName,m=p.valueNodeProperty;if(m===Constants.VisualResponseProperty.TRANSFORM){if(p.minNode=t.getObjectByName(d),p.maxNode=t.getObjectByName(h),!p.minNode){console.warn("Could not find ".concat(d," in the model"));return}if(!p.maxNode){console.warn("Could not find ".concat(h," in the model"));return}}p.valueNode=t.getObjectByName(f),p.valueNode||console.warn("Could not find ".concat(f," in the model"))})})}function addAssetSceneToControllerModel(n,t){findNodes(n.motionController,t),n.envMap&&t.traverse(function(e){e instanceof THREE__namespace.Mesh&&e.isMesh&&(e.material.envMap=n.envMap,e.material.needsUpdate=!0)}),n.add(t)}var XRControllerModelFactory=(function(){function n(t){t===void 0&&(t=null),this.gltfLoader=t,this.path=DEFAULT_PROFILES_PATH,this._assetCache={}}return n.prototype.createControllerModel=function(t){var e=this,r=new XRControllerModel,o=null;return t.addEventListener("connected",function(s){var u=s.data;u.targetRayMode!=="tracked-pointer"||!u.gamepad||fetchProfile(u,e.path,DEFAULT_PROFILE).then(function(l){var c=l.profile,p=l.assetPath;r.motionController=new MotionController(u,c,p);var f=e._assetCache[r.motionController.assetUrl];if(f)o=f.scene.clone(),addAssetSceneToControllerModel(r,o);else{if(!e.gltfLoader)throw new Error("GLTFLoader not set.");e.gltfLoader.load(r.motionController.assetUrl,function(d){e._assetCache[r.motionController.assetUrl]=d,o=d.scene.clone(),addAssetSceneToControllerModel(r,o)})}}).catch(function(l){console.warn(l)})}),t.addEventListener("disconnected",function(){r.motionController=null,r.remove(o),o=null}),r},n})(),defaultXRPanoramaControllerInitArgs=__assign({},omit(defaultPanoramaControllerCustomInitArgs,["maxLatitude","minLatitude"]));function mapPanoResource(n,t){return n}var CONTROLLER_EVNET_DELTA_TIME=300,scratchRaycaster=new THREE__namespace.Raycaster,scratchVector3=new THREE__namespace.Vector3,XRPanoramaController=(function(n){__extends(t,n);function t(e){var r=n.call(this,e)||this;r.xrManager=new XRManager(r.renderer,r.renderer.getContext(),{onSessionStart:function(c){r.emit("xr.session.start",createEvent("xr.session.start",{session:c,machineType:r.xrManager.machineType}))},onSessionEnd:function(){r.emit("xr.session.end",createEvent("xr.session.end",{session:null,machineType:r.xrManager.machineType}))}}),r.xrControllerRay={left:new THREE__namespace.Raycaster,right:new THREE__namespace.Raycaster},r.xrControllerRay.left.params.Points={threshold:.1},r.xrControllerRay.left.firstHitOnly=!0,r.xrControllerRay.left.floorIndex=-1,r.xrControllerRay.right.params.Points={threshold:.1},r.xrControllerRay.right.firstHitOnly=!0,r.xrControllerRay.right.floorIndex=-1,r.gazeRay=null,r.pointerLines={left:new FiveLine,right:new FiveLine},r.pointerLines.left.visible=!1,r.pointerLines.right.visible=!0,r.pointerLines.left.setMaterial({color:new THREE__namespace.Vector3(1,1,1)}),r.pointerLines.left.points.material.depthTest=!1,r.pointerLines.right.setMaterial({color:new THREE__namespace.Vector3(1,1,1)}),r.pointerLines.right.points.material.depthTest=!1,r.controllerWrappers=[new THREE__namespace.Group,new THREE__namespace.Group];var o=r.xrManager.getController(0);r.controllerWrappers[0].add(o);var s=r.xrManager.getController(1);r.controllerWrappers[1].add(s);var u=new XRControllerModelFactory;u.gltfLoader={load:function(c,p){internalFetcher.ajax(c,{responseType:"arraybuffer"}).then(function(f){var d;return parseGltf(f.body,{resourcePath:c.slice(0,c.lastIndexOf("/")+1),search:(d=c.split("?")[1])!==null&&d!==void 0?d:"",fetcher:internalFetcher})}).then(function(f){return p(f)})}},(r.xrManager.machineType==="Oculus"||r.xrManager.machineType==="Pico")&&r.scene.add(r.pointerLines.left,r.pointerLines.right,r.controllerWrappers[0],r.controllerWrappers[1]),r.panoResources={},r.panoResources[r.locationMotion.keyframes[0].key=r.locationMotion.keyframes[1].key=createUuid()]={panoId:panoStringify(r.currentPano),leftPanoPicture:null,position:r.camera.pose.offset.clone(),effect:"fade",fixCameraTransform:new THREE__namespace.Matrix4},r.parallaxCameraMatrixs=[];var l=AnimationFrameLoop.shared.getContext();return l?(r.on("xr.session.end",function(){r.scene.remove(r.pointerLines.left,r.pointerLines.right)}),r.xrManager.setSession(l),r.on("xr.session.start",function(){var c=r.xrManager.getControllerGrip(0);c.add(u.createControllerModel(c)),r.controllerWrappers[0].add(c);var p=r.xrManager.getControllerGrip(1);p.add(u.createControllerModel(p)),r.controllerWrappers[1].add(p)}),r.xrHandleState={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.xrManager.machineType==="VP"&&r.initHandEvent(),r):(console.error("获取session失败,请退出重试"),r)}return t.parseArgs=function(e){if(e instanceof t)return e;var r=__assign(__assign({},e),{maxLatitude:Math.PI/2,minLatitude:-Math.PI/2});return n.parseArgs.call(this,r)},t.initAnimationEndState=function(e){var r=this.parseArgs(e),o=n.initAnimationEndState.call(this,r);return __assign(__assign({},o),{mode:"XRPanorama"})},t.prototype.updateConfiguration=function(e){return n.prototype.updateConfiguration.call(this,__assign(__assign({},e),{maxLatitude:Math.PI/2,minLatitude:-Math.PI/2}))},t.prototype.moveToPano=function(e,r,o){var s=this,u,l,c=(u=r.effect)!==null&&u!==void 0?u:"fade";this.userAction=o,this.stopMomentumMovement();var p=panoStringify(e),f=this.works.getObserver(e);if(!f)throw new Error("Invalid PanoIndex");getImageSizeFromURL(f.images.up),this.imageOptions.size;var d=this.imageOptions.transform,h=function(R,w){return mapPanoResource(applyImageURLOptions(R,d,w))},m=__assign({key:"pano.".concat(p)},pick(this.imageOptions,["format","size","quality"])),A={right:f.images.work.getURL(f.images.right),left:f.images.work.getURL(f.images.left),up:f.images.work.getURL(f.images.up),down:f.images.work.getURL(f.images.down),front:f.images.work.getURL(f.images.front),back:f.images.work.getURL(f.images.back)},g="pano:"+jsonHash([A,m,d]);if(this.pendingTextureTask){if(this.pendingTextureTask.hash===g)return;var y=this.pendingTextureTask.panoId;(l=this.panoMeshes.get(y))===null||l===void 0||l.setProgress(0),this.emit("pano.texture.abort",createEvent("pano.texture.abort",{error:null,progress:0,meta:null,pano:e}))}var v=this.modelScene.parameter.resolveValue(),E=v.pano0,b=v.pano1,T;if((E==null?void 0:E.map.name)===g?T=E:(b==null?void 0:b.map.name)===g&&(T=b),T){var _={panoId:p,effect:c,leftPanoPicture:{panoId:T.panoId,map:T.map,mapSize:T.mapSize,matrix:f.matrix.clone().premultiply(f.work.transform),zoom:1},position:f.position.clone().applyMatrix4(f.work.transform),fixCameraTransform:new THREE__namespace.Matrix4};this.doMoveToPano(e,_,r);return}var S="move-to-pano-"+p;this.pending.add(S),this.pendingTextureTask={panoId:p,hash:g,onLoad:function(R){var w;s.pending.delete(S);var M=R.body;if(s.destroyed)M.dispose();else{M.name=g;var B=Array.isArray(M.image)?M.image[0]:M.image,C=(w=B==null?void 0:B.width)!==null&&w!==void 0?w:2048,P={panoId:p,effect:c,leftPanoPicture:{panoId:p,map:M,mapSize:C,matrix:f.matrix.clone(),zoom:1},position:f.position.clone(),fixCameraTransform:new THREE__namespace.Matrix4};s.doMoveToPano(e,P,r)}},onError:function(R){s.pending.delete(S);var w=__assign(__assign(__assign({},e),{mode:s.mode}),clonePose(s.camera.pose));s.emit("pano.error",createEvent("pano.error",{error:R,userAction:s.userAction,options:r,prevPano:s.currentPano,progress:0,state:w})),s.emit("pano.cancel",createEvent("pano.cancel",{error:null,userAction:s.userAction,options:r,prevPano:s.currentPano,progress:0,state:w})),r.moveCancelCallback&&r.moveCancelCallback()}},this.textureLoader.loadCubeTexture(A,{imageURL:{transform:h,options:m},format:THREE__namespace.RGBAFormat,fetcher:getFetcher(f.work)},void 0,void 0,function(R){var w,M;((w=s.pendingTextureTask)===null||w===void 0?void 0:w.hash)===g&&((M=s.panoMeshes.get(p))===null||M===void 0||M.setProgress(R)),s.emit("pano.texture.progress",createEvent("pano.texture.progress",{error:null,progress:R,meta:null,pano:e}))},this.renderer).then(function(R){var w,M;((w=s.pendingTextureTask)===null||w===void 0?void 0:w.hash)===g?(s.pendingTextureTask.onLoad(R),(M=s.panoMeshes.get(p))===null||M===void 0||M.setProgress(0),s.pendingTextureTask=void 0,s.emit("pano.texture.success",createEvent("pano.texture.success",{error:null,progress:1,meta:R.meta,pano:e}))):R.body.dispose()}).catch(function(R){var w,M;((w=s.pendingTextureTask)===null||w===void 0?void 0:w.hash)===g&&(s.pendingTextureTask.onError(R),(M=s.panoMeshes.get(p))===null||M===void 0||M.setProgress(0),s.pendingTextureTask=void 0,s.emit("pano.texture.error",createEvent("pano.texture.error",{error:R,progress:0,meta:null,pano:e})),s.emit("error",R))}),this.emit("pano.texture.load",createEvent("pano.texture.load",{error:null,progress:0,meta:null,pano:e}))},t.prototype.doMoveToPano=function(e,r,o){var s=this,u,l,c,p,f,d,h,m,A,g;o===void 0&&(o={});var y=now(),v=createUuid();this.panoResources[v]=r;var E=1,b,T,_;if(this.locationMotion.ended){var S=this.locationMotion.getKeyFrameSegment(y);S[0];var R=S[1],w=this.locationMotion.value,M=this.panoResourceFromLocationMotionKeyframe(R).position,B=r.position;b=Math.max(M.distanceTo(B),E),T=[{key:R.key,progress:0,value:__assign(__assign({},w),{count:0})},{key:v,progress:1,value:{distance:0,count:1}}],_=0}else{var C=this.locationMotion.getKeyFrameSegment(y),P=C[0],R=C[1],w=this.locationMotion.value,L=this.panoResourceFromLocationMotionKeyframe(P).position,M=this.panoResourceFromLocationMotionKeyframe(R).position,B=r.position,O=R.value.count-w.count,F=Math.max(L.distanceTo(M),E)*O,N=Math.max(M.distanceTo(B),E);b=F+N,T=[{key:P.key,progress:0,value:__assign({},w)},{key:R.key,progress:F/b,value:R.value},{key:v,progress:1,value:{count:R.value.count+1,distance:0}}];var D=this.locationMotionKeyframesLength(this.locationMotion.keyframes),U=this.locationMotionKeyframesLength(T);_=this.locationMotion.getProgressVelocity(y)*D/U}var z=r.effect==="instant"?0:this.calculateMovingDuration(o.duration,r.effect==="fly"?b:0),K={longitude:o.longitude,latitude:o.latitude,fov:o.fov},j=__assign(__assign({},e),{mode:this.mode,longitude:(u=K.longitude)!==null&&u!==void 0?u:this.camera.pose.longitude,latitude:(l=K.latitude)!==null&&l!==void 0?l:this.camera.pose.latitude,fov:(c=K.fov)!==null&&c!==void 0?c:this.camera.pose.fov,offset:r.position.clone(),distance:0}),Q=this.currentPano;if(this.emit("pano.moveTo",createEvent("pano.moveTo",{options:o,prevPano:Q,progress:0,state:j,userAction:this.userAction,error:null})),o.moveStartCallback&&o.moveStartCallback(j),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=noop,this.videoTexture.needsUpdate=!0),this.panoVideo.setMaterial(null),r.effect==="fly")this.cameraMotion.set(K,z).catch(noop);else{var V=coordinatesToVector({longitude:this.cameraMotion.value.longitude,latitude:this.cameraMotion.value.latitude}),J=coordinatesToVector({longitude:(p=K.longitude)!==null&&p!==void 0?p:this.cameraMotion.value.longitude,latitude:(f=K.latitude)!==null&&f!==void 0?f:this.cameraMotion.value.latitude}),W=new THREE__namespace.Object3D;W.lookAt(V);var X=new THREE__namespace.Matrix4().makeRotationFromQuaternion(W.quaternion);W.lookAt(J);var Z=new THREE__namespace.Matrix4().makeRotationFromQuaternion(W.quaternion),Y=new THREE__namespace.Matrix4().getInverse(X).premultiply(Z),G=this.cameraMotion.value.fov,ee=(d=K.fov)!==null&&d!==void 0?d:this.cameraMotion.value.fov,te=1;r.effect==="zoomin"?te=1.5:r.effect==="zoomout"&&(te=.4);for(var ne=ee*te,ae=0;ae<T.length-1;ae++){var ce=T[ae].key;if(ce){var ie=this.panoResources[ce];ie&&(ie.fixCameraTransform.copy(Y),ie.leftPanoPicture&&(ie.leftPanoPicture.zoom=Math.tan(ne/2/180*Math.PI)/Math.tan(G/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=K.longitude)!==null&&h!==void 0?h:this.cameraMotion.value.longitude,latitude:(m=K.latitude)!==null&&m!==void 0?m:this.cameraMotion.value.latitude,fov:ne}},{progress:1,value:{longitude:(A=K.longitude)!==null&&A!==void 0?A:this.cameraMotion.value.longitude,latitude:(g=K.latitude)!==null&&g!==void 0?g:this.cameraMotion.value.latitude,fov:ee}}],z).catch(noop)}var fe=this.locationMotion.setKeyframes(T,z,_);fe.then(function(){for(var ge=0,ye=s.modelScene.children;ge<ye.length;ge++){var _e=ye[ge];_e instanceof Model&&_e.show()}var le=__assign(__assign({},e),{mode:s.mode,longitude:s.camera.pose.longitude,latitude:s.camera.pose.latitude,fov:s.camera.pose.fov,offset:s.camera.pose.offset.clone(),distance:0});s.emit("pano.arrived",createEvent("pano.arrived",{options:o,prevPano:Q,progress:1,state:le,userAction:s.userAction,error:null})),o.moveEndCallback&&o.moveEndCallback(le);var de=s.works.getObserver(s.currentPano);if(de&&de.video&&s.videoTexture&&s.videoTexture.image instanceof HTMLVideoElement){var re={map:s.videoTexture,size:de.video.size.clone(),matrix:de.video.matrix.clone(),panoMatrix:de.matrix.clone().premultiply(de.work.transform),alpha:1},se=createUuid(),he=s.videoTexture.image;he.setAttribute("uuid",se),canplayVideo().then(function(me){me&&de.video&&he.getAttribute("uuid")===se&&(he.oncanplay=function(){he.oncanplay=noop,he.play()},he.ontimeupdate=function(){he.currentTime>.5&&(he.ontimeupdate=noop,s.panoVideo.setMaterial(re))},he.src=de.video.source)}).catch((function(){he.removeAttribute("uuid")}))}},function(){s.emit("pano.cancel",createEvent("pano.cancel",{options:o,prevPano:Q,progress:0,state:j,userAction:s.userAction,error:null})),o.moveCancelCallback&&o.moveCancelCallback()})},t.prototype.checkSelectedPano=function(e){var r=this,o;this.stopMomentumMovement(),this.camera.getDirection(new THREE__namespace.Vector3).setY(0);var s=null,u=this.works.getObserver(this.currentPano);if(!u)return null;var l=u.work.observers,c=u.accessibleNodes.filter(function(_){if(_===r.currentPano.panoIndex&&u.work.workCode===r.currentPano.workCode)return!1;var S=l[_];if(!S)return!1;var R=scratchVector3.copy(S.position).applyMatrix4(S.work.transform);return R.distanceTo(r.camera.position)>r.maxAccessibleDistance?!1:S.loadable||S.active}),p=this.modelScene.intersectRaycaster(e)[0];if(p){var f=arrayMin(c,function(_){var S=l[_];if(!S)return 1/0;var R=scratchVector3.copy(S.standingPosition).applyMatrix4(S.work.transform);return R.distanceTo(p.point)},!0),d=f[0],h=f[1];typeof d=="number"&&h<this.panoTapTriggerRadius&&(s=(o=l[d])!==null&&o!==void 0?o:null)}if(isNil(s)){var m=this.getForwardObserverOrNot(this.xrManager.cameraVR,e);m&&(s=m)}for(var A=0,g=this.locationMotion.keyframes;A<g.length;A++){var y=g[A],v=this.panoResourceFromLocationMotionKeyframe(y);if(!(y.progress<this.locationMotion.progress)&&s){var E=panoStringify({panoIndex:s.panoIndex,workCode:s.work.workCode});if(v.panoId===E){s=null;break}}}if(isNil(s))return this.locationMotion.ended===!0&&this.cameraBounce(),null;if(!s.active){var E=panoStringify({panoIndex:s.panoIndex,workCode:s.work.workCode}),b=this.panoMeshes.get(E);b&&(b.setDisabled(!1),b.setLoading(!0))}var T={workCode:s.work.workCode,panoIndex:s.panoIndex,mode:this.mode,longitude:this.camera.pose.longitude,latitude:this.camera.pose.latitude,fov:this.camera.pose.fov,distance:0,offset:s?s.position.clone():new THREE__namespace.Vector3};return this.emit("pano.select",createEvent("pano.select",{prevPano:this.currentPano,state:T,userAction:!0,options:{},progress:0,error:null})),s&&s.active?(this.emit("pano.request",createEvent("pano.request",{userAction:!0,prevPano:this.currentPano,progress:0,state:T,options:{},error:null})),{workCode:s.work.workCode,panoIndex:s.panoIndex}):null},t.prototype.destroy=function(){n.prototype.destroy.call(this)},t.prototype.isReady=function(){return!1},t.prototype.updateCamera=function(e,r,o){return Promise.resolve()},t.prototype.updateCameraWithKeyframes=function(e,r,o){return Promise.resolve()},t.prototype.updateTime=function(e,r){for(var o=this,s,u,l,c,p,f,d,h,m,A=[],g=2;g<arguments.length;g++)A[g-2]=arguments[g];this.userAction=!0;var y={},v={},E=this.locationMotion.keyframes[0],b=this.locationMotion.keyframes[this.locationMotion.keyframes.length-1],T=this.locationMotion.getKeyFrameSegment(e),_=T[0],S=T[1],R=this.panoResourceFromLocationMotionKeyframe(_),w=this.panoResourceFromLocationMotionKeyframe(S),M=this.panoResourceFromLocationMotionKeyframe(E),B=this.panoResourceFromLocationMotionKeyframe(b),C=!1;if(this.cameraMotion.ended===!1&&(this.cameraMotion.update(e),v.fov=this.cameraMotion.value.fov),this.modelAlphaMotion.ended===!1&&(this.modelAlphaMotion.update(e),y.modelAlpha=this.modelAlphaMotion.value.modelAlpha),this.perspToOrthoMotion.ended===!1&&(this.perspToOrthoMotion.update(e),this.camera.perspToOrtho.setScalar(clamp$1(this.perspToOrthoMotion.value.perspToOrtho,0,1))),this.locationMotion.ended===!1){this.locationMotion.update(e);var P=this.locationMotion.getKeyFrameSegment(e);P[0];var L=P[1],O=new THREE__namespace.Vector3().copy(R.position),F=new THREE__namespace.Vector3().copy(w.position),N=this.locationMotion.value.count-L.value.count+1;if(y.progress=N,w.leftPanoPicture&&(N<1?R.leftPanoPicture&&(y.pano0=R.leftPanoPicture):y.pano0=w.leftPanoPicture,y.pano1=w.leftPanoPicture),w.effect==="montage"?y.transition="BLACK":w.effect==="spread"?y.transition="SPREAD":y.transition="FADE",(w.effect==="zoomin"||w.effect==="zoomout")&&(y.progress=Math.pow(N,3)),N<1&&w.effect!=="fly"){if(y.pano0&&R.leftPanoPicture){var D={panoId:y.pano0.panoId,map:y.pano0.map,mapSize:y.pano0.mapSize,zoom:y.pano0.zoom,matrix:R.leftPanoPicture.matrix.clone().setPosition(w.position)},U=this.panoPictureObserverMap.get(y.pano0);U&&this.panoPictureObserverMap.set(D,U),y.pano0=D}O.copy(F),C=!0}v.distance=this.locationMotion.value.distance,v.offset=new THREE__namespace.Vector3(O.x+(F.x-O.x)*N,O.y+(F.y-O.y)*N,O.z+(F.z-O.z)*N);for(var z=[],K=[],j=0,Q=this.locationMotion.keyframes;j<Q.length;j++){var V=Q[j],J=V.key,W=V.progress;J!==void 0&&(z.push(J),W>this.locationMotion.progress&&K.push(J))}for(var X=0,Z=Object.keys(this.panoResources);X<Z.length;X++){var Y=Z[X];if(!(K.indexOf(Y)>=0)){var G=this.panoResources[Y];if(G.leftPanoPicture){var ee=G.leftPanoPicture.map;if(ee){if(ee===((s=y.pano0)===null||s===void 0?void 0:s.map)||ee===((u=y.pano1)===null||u===void 0?void 0:u.map))continue;ee.dispose(),G.leftPanoPicture=null}}z.indexOf(Y)>=0||delete this.panoResources[Y]}}var te=panoParse(w.panoId);te!==this.currentPano&&(this.currentPano=te,this.accessibleObserverFloorCheckCount=0),this.emit("pano.moving",createEvent("pano.moving",{userAction:this.userAction,prevPano:panoParse(M.panoId),state:__assign(__assign(__assign(__assign({},panoParse(B.panoId)),{mode:this.mode}),clonePose(this.camera.pose)),v),options:{},progress:this.locationMotion.progress,error:null}))}this.camera.setFromPose(v),this.xrManager.cameraVR.projectionMatrix.copy(this.camera.projectionMatrix),this.xrManager.cameraVR.projectionMatrixInverse.copy(this.camera.projectionMatrixInverse),this.xrManager.cameraVR.matrix.copy(this.camera.matrix),this.xrManager.cameraVR.position.copy(this.camera.position),this.xrManager.cameraVR.quaternion.copy(this.camera.quaternion),this.xrManager.cameraVR.scale.copy(this.camera.scale),this.xrManager.cameraVR.matrixAutoUpdate=!1,this.xrManager.cameraVR.matrixWorld.copy(this.camera.matrixWorld);var ne=A,ae=ne[1],ce=new THREE__namespace.Vector3(0,0,0),ie=new THREE__namespace.Vector2().copy(this.camera.resolution);if(ae&&this.xrManager.session&&this.xrManager.referenceSpace&&this.xrManager.session.renderState.baseLayer){var fe=this.xrManager.cameraVR,ge=this.xrManager.referenceSpace,ye=this.xrManager.session.renderState.baseLayer,_e=ae.getViewerPose(ge),le=(l=_e==null?void 0:_e.views)!==null&&l!==void 0?l:[];this.renderer.setFramebuffer(ye.framebuffer);for(var de=0;de<le.length;de++){var re=le[de],se=fe.cameras[de],he=ye.getViewport(re);he&&(se.projectionMatrix.fromArray(re.projectionMatrix),se.projectionMatrixInverse.getInverse(se.projectionMatrix),se.matrix.fromArray(re.transform.matrix),se.matrix.setPosition(this.camera.position),se.matrix.decompose(se.position,se.quaternion,se.scale),se.matrixWorld.copy(se.matrix),se.matrixWorldInverse.getInverse(se.matrixWorld),se.matrixAutoUpdate=!1,ce.copy(se.position),se.viewport.set(he.x,he.y,he.width,he.height),ie.set(he.width,he.height))}if(this.xrManager.setProjectionFromUnion(this.xrManager.cameraVR,this.xrManager.cameraL,this.xrManager.cameraR),this.camera.quaternion.copy(this.xrManager.cameraVR.quaternion),this.camera.scale.copy(this.xrManager.cameraVR.scale),this.camera.matrix.compose(this.camera.position,this.camera.quaternion,this.camera.scale),this.camera.computePose((c=v.distance)!==null&&c!==void 0?c:this.camera.pose.distance),this.xrManager.session&&this.xrManager.session.inputSources){for(var de=0;de<this.xrManager.session.inputSources.length;de++)if(this.xrManager.session.inputSources[de]&&this.xrManager.session.inputSources[de].targetRayMode==="transient-pointer"){var me=ae.getPose(this.xrManager.session.inputSources[de].targetRaySpace,ge);if(me){var Ne=me.transform.orientation,qe=new THREE__namespace.Quaternion(Ne.x,Ne.y,Ne.z,Ne.w),Ye=new THREE__namespace.Vector3(0,0,-1).applyQuaternion(qe),Ve=new THREE__namespace.Raycaster(this.camera.position,Ye);this.gazeRay=Ve}}}if(this.xrManager.machineType==="Oculus"||this.xrManager.machineType==="Pico"){for(var ve=this.xrManager.session.inputSources,Ke=function(pe){var xe=Te.xrManager.controllers[pe],Se=ve[pe];if(!Se)return"continue";xe&&xe.update(Se,ae,ge);var Oe=Te.xrManager.getController(pe),Pt=new THREE__namespace.Vector3(0,1.2,0),st=Oe.position.clone().add(ce).sub(Pt);Se.handedness==="left"?Te.xrControllerRay.left.set(st,new THREE__namespace.Vector3(0,0,-1).applyEuler(Oe.rotation)):Se.handedness==="right"&&Te.xrControllerRay.right.set(st,new THREE__namespace.Vector3(0,0,-1).applyEuler(Oe.rotation)),Te.controllerWrappers[pe].position.copy(new THREE__namespace.Vector3(0,0,0).add(ce).sub(Pt));var Ze=Te.modelScene.intersectRaycaster(Te.xrControllerRay.right);if(Ze.length===0){var Ft=Te.works.getResolvedObserver(Te.currentPano);Ze=Te.xrControllerRay.right.intersectObject(Te.boundingMesh,!0).map(function(Xe){var Fe,lt=(Fe=Ft==null?void 0:Ft.floorIndex)!==null&&Fe!==void 0?Fe:0;return __assign({floorIndex:lt,floor:lt},Xe)})}if(Ze.length>=1&&Ze[0].face)if(Se.handedness==="right"){var I=Te.xrControllerRay.right.intersectObject(Te.xrCustomObjectsScene,!0),H=Ze[0].face.normal,k=H.clone(),q=Ze[0].point.clone();Te.intersectMesh.position.copy(q);var $=q.clone().add(k);if(Te.intersectMesh.lookAt($),Math.abs(H.y)>.99){var oe=Te.camera.position.clone().sub(q);Te.intersectMesh.rotation.z=-Math.atan2(oe.z,oe.x)}Te.intersectMesh.visible=!0,Te.needsRender=!0,I.length>0?(Te.pointerLines.right.setPoints(st,I[0].point),Te.pointerLines.right.points.visible=!0,Te.intersectMesh.visible=!1):(Te.pointerLines.right.points.visible=!1,Te.pointerLines.right.setPoints(st,Ze[0].point));var be=Ze[0],De=createEvent("intersect.update",{raycaster:(p=Te.xrControllerRay.right)!==null&&p!==void 0?p:null,intersection:be!=null?be:null,object:Te.intersectMesh});if(Te.emit("intersect.update",De),De.defaultPrevented)return Te.hideIntersectMesh(),{value:void 0}}else Te.pointerLines.left.setPoints(st,Ze[0].point)},Te=this,de=0;de<ve.length;de++){var Le=Ke(de);if(typeof Le=="object")return Le.value}this.updateControllerHelper(ve,e,r)}}else ae||console.error("xrFrame丢失,请重试"),this.xrManager.session||console.error("session丢失,请重试"),this.xrManager.session&&!this.xrManager.session.renderState.baseLayer&&console.error("no layer found");isEmptyObject(y)===!1&&this.modelScene.parameter.set(y),this.emit("camera.update",createEvent("camera.update",{userAction:this.userAction,state:__assign(__assign(__assign({},this.currentPano),{mode:this.mode}),clonePose(this.camera.pose))}));var Me=this.works.getResolvedObserver(this.currentPano),$e=this.locationMotion.ended?this.getForwardObserverOrNot(this.xrManager.cameraVR):null,tt=this.works.getObserver(R.panoId),ke=this.works.getObserver(w.panoId);if(this.adjustPanoCircleMeshPositionBasedOnModel&&this.helper.visible&&Me){for(var Ie=[],He=Me.work.observers,Ee=0,we=Me.accessibleNodes;Ee<we.length;Ee++){var Pe=we[Ee],U=He[Pe];U&&Ie.push(U)}var je=new Map;if(Ie.sort(function(pe,xe){var Se=je.get(pe);typeof Se=="undefined"&&(Se=pe.standingPosition.distanceTo(Me.standingPosition),je.set(pe,Se));var Oe=je.get(pe);return typeof Oe=="undefined"&&(Oe=xe.standingPosition.distanceTo(Me.standingPosition),je.set(xe,Oe)),Se-Oe}),Ie.length){this.accessibleObserverFloorCheckCount=this.accessibleObserverFloorCheckCount%Ie.length;var Qe=Ie[this.accessibleObserverFloorCheckCount],We=this.modelScene.models.find(function(pe){return pe.work===(Qe==null?void 0:Qe.work)});if(Qe&&We&&We.visible){var gt=.3,Je=.05,At=.005,Re=Qe.standingPosition.clone().applyMatrix4(Qe.work.transform),Ue=panoStringify({panoIndex:Qe.panoIndex,workCode:Qe.work.workCode}),yt=adjustPanoCircleMeshVectors.map(function(pe){scratchRaycaster.ray.origin.copy(Re),scratchRaycaster.ray.origin.add(scratchVector3.copy(pe).setY(gt)),scratchRaycaster.ray.direction.set(0,-1,0),scratchRaycaster.firstHitOnly=!0,scratchRaycaster.floorIndex=-1;var xe=We.intersectRaycaster(scratchRaycaster)[0];return xe&&xe.distance-At<=gt?new THREE__namespace.Vector3().copy(Re).setY(xe.point.y+At):Re});yt.sort(function(pe,xe){return xe.y-pe.y});var Ct=yt[Math.floor(yt.length/2)],Et=yt.filter(function(pe){return pe.distanceTo(Ct)<=Je})[0];if(Et){var dt=new THREE__namespace.Vector4(Re.x,Re.y,Re.z,Et.y-Re.y),ht=this.adjustPanoCircleMeshPositionFix.get(Ue);ht&&!dt.equals(ht)&&(this.needsRender=!0),this.adjustPanoCircleMeshPositionFix.set(Ue,dt)}}this.accessibleObserverFloorCheckCount++}}var ze=new Map;if(tt)for(var ut=0,rt=tt.accessibleNodes;ut<rt.length;ut++){var Pe=rt[ut],U=tt.work.observers[Pe];if(U){var Ue=panoStringify({panoIndex:U.panoIndex,workCode:U.work.workCode});ze.set(Ue,U)}}if(ke)for(var ue=0,Ae=ke.accessibleNodes;ue<Ae.length;ue++){var Pe=Ae[ue],U=ke.work.observers[Pe];if(U){var Ue=panoStringify({panoIndex:U.panoIndex,workCode:U.work.workCode});ze.set(Ue,U)}}if(this.panoMeshes.forEach(function(pe,xe){var Se=ze.get(xe);if(Se){pe.position.copy(Se.standingPosition).applyMatrix4(Se.work.transform);var Oe=o.adjustPanoCircleMeshPositionFix.get(xe);Oe&&(scratchVector3.set(Oe.x,Oe.y,Oe.z),scratchVector3.equals(pe.position)&&(pe.position.y+=Oe.w)),pe.scale.setScalar(1.2),ze.delete(xe)}else o.helper.remove(pe),pe.dispose(),o.panoMeshes.delete(xe)}),ze.forEach(function(pe,xe){var Se=o.panoCircleMeshCreator(panoParse(xe));Se.position.copy(pe.standingPosition).applyMatrix4(pe.work.transform);var Oe=o.adjustPanoCircleMeshPositionFix.get(xe);Oe&&(scratchVector3.set(Oe.x,Oe.y,Oe.z),scratchVector3.equals(Se.position)&&(Se.position.y+=Oe.w)),Se.scale.setScalar(1.2),o.panoMeshes.set(xe,Se),o.helper.add(Se),ze.delete(xe)}),this.camera.pose.distance>.1||C)this.panoMeshes.forEach(function(pe){pe.setOpacity(0),pe.setCurrent(!1),pe.updateTime&&pe.updateTime(e,r),pe.visible=!1});else if(Me){var Ce=Me.work.observers,Be=arrayMin(Me.accessibleNodes,function(pe){var xe=Ce[pe];return xe?Me.standingPosition.distanceTo(xe.standingPosition):1/0},!0),nt=Be[1];nt=clamp$1(nt,2.5,1/0);var ct=Me.visibleNodes.concat(Me.panoIndex).map(function(pe){return panoStringify({panoIndex:pe,workCode:Me.work.workCode})}),bt=this.camera.getDirection(new THREE__namespace.Vector3);this.panoMeshes.forEach(function(pe,xe){var Se=o.works.getObserver(xe);if(ct.indexOf(xe)===-1)pe.setCurrent(!1),pe.setOpacity(0);else if(!Se)pe.setCurrent(!1),pe.setOpacity(0);else if(!Se.loadable&&!Se.active)pe.setCurrent(!1),pe.setOpacity(0);else{var Oe=pe.position.clone().setY(o.camera.position.y).distanceTo(o.camera.position);pe.setCurrent(!pe.loading&&pe.progress===0&&$e!==null&&panoStringify({panoIndex:$e.panoIndex,workCode:$e.work.workCode})===xe),pe.setOpacity(Oe<.01?0:clamp$1(nt/Oe*1.2,.65,.98));var Pt=o.camera.position.clone().setY(pe.position.y),st=new THREE__namespace.Vector3().copy(pe.position).sub(Pt).normalize();if(xe===panoStringify(o.currentPano)){var Ze=clamp$1((.5-Pt.distanceTo(pe.position))/.5,0,1);st.multiplyScalar(1-Ze).add(bt.clone().multiplyScalar(Ze))}st.length()>0&&pe.quaternion.setFromEuler(new THREE__namespace.Euler(0,Math.atan2(st.x,st.z),0))}pe.updateTime&&pe.updateTime(e,r)})}{var N=(f=this.modelScene.parameter.progress)!==null&&f!==void 0?f:1,Bt=Math.round(N),at=this.modelScene.parameter.pano0,pt=this.modelScene.parameter.pano1,Tt=Bt===0?at:pt,U=void 0;if(Tt&&(U=this.works.getObserver(Tt.panoId),U||(U=this.panoPictureObserverMap.get(Tt))),this.tiling.appearDuration=this.tileAppearDuration,this.tiling.maxRequest=N<.6?0:this.tileMaxRequest,this.tiling.imageOptions=this.imageOptions,!U||!Tt||this.tileLevelForFov===!1||this.camera.perspToOrtho.x>0){this.tiling.setObserver(null);var Mt={renderer:this.renderer,resolution:ie,pixelRatio:1,time:this.camera.time,cameraMatrix:this.xrManager.cameraVR.matrixWorld,cameraProjectionMatrix:this.xrManager.cameraVR.projectionMatrix,panoMap:null,panoMatrix:new THREE__namespace.Matrix4,panoZoom:1,minLevel:0,level:0};this.tiling.update(Mt),this.modelScene.parameter.set("refinedScreen",null)}else{var it=getImageSizeLevel(Tt.mapSize),It=it+1,_t=4;this.tiling.setObserver(U);var Mt={renderer:this.renderer,resolution:ie,pixelRatio:1,time:this.camera.time,cameraMatrix:this.xrManager.cameraVR.matrixWorld,cameraProjectionMatrix:this.xrManager.cameraVR.projectionMatrix,panoMap:Tt.map,panoMatrix:Tt.matrix,panoZoom:Tt.zoom,minLevel:It,level:_t},vt=this.tiling.update(Mt),xt={map:this.tiling.renderTarget.texture,matrixInverse:this.tiling.camera.matrixWorldInverse,projectionMatrix:this.tiling.camera.projectionMatrix,pano:Bt,opacity:(at==null?void 0:at.panoId)===(pt==null?void 0:pt.panoId)?1:easeInQuart(Math.abs(((d=this.modelScene.parameter.progress)!==null&&d!==void 0?d:0)-.5)*2)},Ge=this.modelScene.parameter.refinedScreen;(vt||xt.pano!==(Ge==null?void 0:Ge.pano)||xt.opacity!==(Ge==null?void 0:Ge.opacity))&&this.modelScene.parameter.set("refinedScreen",xt)}}if(this.panoVideo.object.position.copy(this.camera.position),this.panoVideo.updateTime(e),this.intersectMesh&&this.intersectMesh.parent&&Me&&Me.position.y-Me.standingPosition.y>10){var mt=this.camera.position.distanceTo(this.intersectMesh.position),Ot=2*Math.tan(.5*this.camera.fov/180*Math.PI),Lt=mt*Ot/5;this.intersectMesh.scale.setScalar(Lt)}else this.intersectMesh.scale.setScalar(1);{var Ht=w.effect,ot=this.modelScene.parameter,at=ot.pano0,pt=ot.pano1;if(at&&pt&&at!==pt&&Ht==="fly"&&this.flyEffectUseDepthBuffer){if(((h=this.modelScene.parameter.pano0Depth)===null||h===void 0?void 0:h.panoId)!==at.panoId||((m=this.modelScene.parameter.pano1Depth)===null||m===void 0?void 0:m.panoId)!==pt.panoId){var St=500,ft=512;this.pano0DepthCubeRenderTarget?this.pano0DepthCubeRenderTarget.width!==ft&&this.pano0DepthCubeRenderTarget.setSize(ft,ft):this.pano0DepthCubeRenderTarget=new THREE__namespace.WebGLCubeRenderTarget(ft,{minFilter:THREE__namespace.NearestFilter,magFilter:THREE__namespace.NearestFilter,generateMipmaps:!1}),this.pano1DepthCubeRenderTarget?this.pano1DepthCubeRenderTarget.width!==ft&&this.pano1DepthCubeRenderTarget.setSize(ft,ft):this.pano1DepthCubeRenderTarget=new THREE__namespace.WebGLCubeRenderTarget(ft,{minFilter:THREE__namespace.NearestFilter,magFilter:THREE__namespace.NearestFilter,generateMipmaps:!1});var Rt=new THREE__namespace.CubeCamera(this.camera.near,this.camera.far,this.pano0DepthCubeRenderTarget);Rt.matrix.copy(at.matrix),Rt.matrixWorld.copy(Rt.matrix),Rt.matrixAutoUpdate=!1,renderDepthCube(this.renderer,this.modelScene,Rt,St);var wt=new THREE__namespace.CubeCamera(this.camera.near,this.camera.far,this.pano1DepthCubeRenderTarget);wt.matrix.copy(pt.matrix),wt.matrixWorld.copy(wt.matrix),wt.matrixAutoUpdate=!1,renderDepthCube(this.renderer,this.modelScene,wt,St),this.modelScene.parameter.set({pano0Depth:{panoId:at.panoId,map:this.pano0DepthCubeRenderTarget.texture,mapSize:this.pano0DepthCubeRenderTarget.width,maxDepth:St},pano1Depth:{panoId:pt.panoId,map:this.pano1DepthCubeRenderTarget.texture,mapSize:this.pano1DepthCubeRenderTarget.width,maxDepth:St}})}}else this.modelScene.parameter.set({pano0Depth:null,pano1Depth:null}),this.flyEffectUseDepthBuffer||(this.pano0DepthCubeRenderTarget&&(this.pano0DepthCubeRenderTarget.dispose(),this.pano0DepthCubeRenderTarget=void 0),this.pano1DepthCubeRenderTarget&&(this.pano1DepthCubeRenderTarget.dispose(),this.pano1DepthCubeRenderTarget=void 0))}},t.prototype.render=function(){this.renderer.setScissorTest(!1);var e=this.xrManager.cameraVR;this.renderer.render(this.modelScene,e),this.renderer.autoClearColor=!1,this.renderer.autoClearDepth=!1,this.renderer.render(this.scene,e),this.renderer.autoClearColor=!0,this.renderer.autoClearDepth=!0},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,o){var s=this.xrControllerRay.left,u=this.xrControllerRay.right;if(!(!e||e.length===0)){for(var l={buttons:{X:!1,Y:!1,LeftTrigger:!1,LeftPinch:!1,A:!1,B:!1,RightTrigger:!1,RightPinch:!1}},c=0;c<e.length;c++){var p=e[c].handedness,f=e[c].gamepad;switch(p){case"left":f.axes&&(this.emitHandleEvent(f.axes[2]===-1,"LeftAxesLeft",r),this.emitHandleEvent(f.axes[2]===1,"LeftAxesRight",r),this.emitHandleEvent(f.axes[3]===-1,"LeftAxesUp",r),this.emitHandleEvent(f.axes[3]===1,"LeftAxesDown",r)),f!=null&&f.buttons&&(f.buttons[4]&&this.emitHandleEvent(f.buttons[4].pressed,"X",r),f.buttons[5]&&this.emitHandleEvent(f.buttons[5].pressed,"Y",r),f.buttons[0]&&this.emitHandleEvent(f.buttons[0].pressed,"LeftTrigger",r),f.buttons[1]&&this.emitHandleEvent(f.buttons[1].pressed,"LeftPinch",r));var d={raycaster:s,axes:{up:f.axes&&f.axes[3]<0?Math.abs(f.axes[3]):0,down:f.axes&&f.axes[3]<0?0:Math.abs(f.axes[3]),left:f.axes&&f.axes[2]<0?Math.abs(f.axes[2]):0,right:f.axes&&f.axes[2]<0?0:Math.abs(f.axes[2])},deltaTime:o};l.buttons.X=f.buttons&&f.buttons[4]?f.buttons[4].pressed:!1,l.buttons.Y=f.buttons&&f.buttons[5]?f==null?void 0:f.buttons[5].pressed:!1,l.buttons.LeftTrigger=f.buttons&&f.buttons[0]?f==null?void 0:f.buttons[0].pressed:!1,l.buttons.LeftPinch=f.buttons&&f.buttons[1]?f==null?void 0:f.buttons[1].pressed:!1,l.left=d;break;case"right":f.axes&&(this.emitHandleEvent(f.axes[2]===-1,"RightAxesLeft",r),this.emitHandleEvent(f.axes[2]===1,"RightAxesRight",r),this.emitHandleEvent(f.axes[3]===-1,"RightAxesUp",r),this.emitHandleEvent(f.axes[3]===1,"RightAxesDown",r)),f.buttons&&(f.buttons[4]&&this.emitHandleEvent(f.buttons[4].pressed,"A",r),f.buttons[5]&&this.emitHandleEvent(f.buttons[5].pressed,"B",r),f.buttons[0]&&this.emitHandleEvent(f.buttons[0].pressed,"RightTrigger",r),f.buttons[1]&&this.emitHandleEvent(f.buttons[1].pressed,"RightPinch",r));var h={raycaster:u,axes:{up:f.axes&&f.axes[3]<0?Math.abs(f.axes[3]):0,down:f.axes&&f.axes[3]<0?0:Math.abs(f.axes[3]),left:f.axes&&f.axes[2]<0?Math.abs(f.axes[2]):0,right:f.axes&&f.axes[2]<0?0:Math.abs(f.axes[2])},deltaTime:o};l.right=h,l.buttons.A=f.buttons&&f.buttons[4]?f==null?void 0:f.buttons[4].pressed:!1,l.buttons.B=f.buttons&&f.buttons[5]?f==null?void 0:f.buttons[5].pressed:!1,l.buttons.RightTrigger=f.buttons&&f.buttons[0]?f==null?void 0:f.buttons[0].pressed:!1,l.buttons.RightPinch=f.buttons&&f.buttons[1]?f==null?void 0:f.buttons[1].pressed:!1;break}}this.emit("xr.controller.update",createEvent("xr.controller.update",l))}},t.prototype.emitHandleEvent=function(e,r,o){var s=this.xrControllerRay.left,u=this.xrControllerRay.right;if(e)if(this.xrHandleState[r].touchStart===!1)this.xrHandleState[r].touchStartTime=o,this.xrHandleState[r].touchStart=!0,this.emit("xr.gesture.buttonDown",createEvent("xr.gesture.buttonDown",{session:this.xrManager.session,machineType:this.xrManager.machineType,buttons:r,isFinal:!1,isFirst:!0,controllers:{raycaster:{leftRay:s,rightRay:u}}}));else{var l=o-this.xrHandleState[r].touchStartTime;l>CONTROLLER_EVNET_DELTA_TIME&&this.emit("xr.gesture.press",createEvent("xr.gesture.tap",{session:this.xrManager.session,machineType:this.xrManager.machineType,buttons:r,isFinal:!0,isFirst:!0,controllers:{raycaster:{leftRay:s,rightRay:u}}}))}else if(this.xrHandleState[r].touchStart===!0){this.emit("xr.gesture.buttonUp",createEvent("xr.gesture.buttonUp",{session:this.xrManager.session,machineType:this.xrManager.machineType,buttons:r,isFinal:!0,isFirst:!1,controllers:{raycaster:{leftRay:s,rightRay:u}}}));var l=o-this.xrHandleState[r].touchStartTime;if(l<=CONTROLLER_EVNET_DELTA_TIME){var c=createEvent("xr.gesture.tap",{session:this.xrManager.session,machineType:this.xrManager.machineType,buttons:r,isFinal:!0,isFirst:!1,controllers:{raycaster:{leftRay:s,rightRay:u}}}),p=this.emit("xr.gesture.tap",c);!p&&!c.defaultPrevented&&r==="RightTrigger"&&this.checkSelectedPano(this.xrControllerRay.right)}this.xrHandleState[r].touchStart=!1,this.xrHandleState[r].touchStartTime=0}},t.prototype.initHandEvent=function(){var e=this;if(!this.xrManager.session)throw new Error("初始化失败");this.xrManager.session.addEventListener("select",function(r){e.gazeRay&&e.checkSelectedPano(e.gazeRay)})},t})(PanoramaController),Controllers={Floorplan:FloorplanController,Topview:TopviewController,Panorama:PanoramaController,VRPanorama:VRPanoramaController,Model:ModelController,Mapview:MapviewController,XRPanorama:XRPanoramaController},controllersDefaultInitArgs={Floorplan:defaultFloorplanControllerCustomInitArgs,Topview:defaultTopviewControllerCustomInitArgs,Panorama:defaultPanoramaControllerCustomInitArgs,VRPanorama:defaultVRPanoramaControllerCustomInitArgs,Model:defaultModelControllerCustomInitArgs,Mapview:defaultMapviewControllerCustomInitArgs,XRPanorama:defaultXRPanoramaControllerInitArgs},PROXY_CONTROLLER_EVENT_NAMES=["gesture.pan","gesture.tap","gesture.dbltap","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 initLegacyEvent(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.dbltap",function(t){var e=!1;e=n.emit("wantsGesture","dbltap",t.pointers,t.isFinal),e&&t.preventDefault(),e=n.emit("wantsDblTapGesture",t.center.raycaster,t.center.coords,t.isFinal),e&&t.preventDefault(),t.defaultPrevented||(n.emit("gesture","dbltap",t.pointers,t.isFinal),n.emit("dblTapGesture",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=coordinatesToVector(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 generateDefaultVideoElement(){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 initLights(){var n=new THREE__namespace.Group;n.name="internalLights";{var t=new THREE__namespace.DirectionalLight(16777215,.1);t.name="direction0",t.position.copy(new THREE__namespace.Vector3(0,1,0)),n.add(t)}{var t=new THREE__namespace.DirectionalLight(16777215,.1);t.name="direction1",t.position.copy(new THREE__namespace.Vector3(-1,-1,-1)),n.add(t)}{var t=new THREE__namespace.DirectionalLight(16777215,.3);t.name="direction2",t.position.copy(new THREE__namespace.Vector3(1,1,1)),n.add(t)}{var t=new THREE__namespace.AmbientLight(16777215,.6);t.name="ambient0",n.add(t)}return n}function parseKeyValue(n){for(var t,e,r={},o=n.split(/(\;|\,)/),s=0,u=o;s<u.length;s++){var l=u[s],c=l.split("="),p=(t=c[0])===null||t===void 0?void 0:t.trim(),f=(e=c[1])===null||e===void 0?void 0:e.trim();p&&f&&(r[p]=f)}return r}function getViewportScale(){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 o=parseKeyValue((n=r.getAttribute("content"))!==null&&n!==void 0?n:""),s=Number(o["initial-scale"]);if(!isNaN(s))return s}}return 1}const textureURL="data:image/png;base64,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";var imageSize=[351,63],imageOffset=[20,20],vertices=new Float32Array([-.5,-.5,0,.5,-.5,0,-.5,.5,0,.5,.5,0]),uvs=new Float32Array([0,0,1,0,0,1,1,1]),index=new Uint8Array([0,1,2,1,3,2]),geometry$4=new THREE__namespace.BufferGeometry;geometry$4.setAttribute("position",new THREE__namespace.BufferAttribute(vertices,3)),geometry$4.setAttribute("uv",new THREE__namespace.BufferAttribute(uvs,2)),geometry$4.setIndex(new THREE__namespace.BufferAttribute(index,1));var material=new THREE__namespace.MeshBasicMaterial({transparent:!0,depthTest:!1,depthWrite:!1,stencilWrite:!1,fog:!1}),mesh$4=new THREE__namespace.Mesh(geometry$4,material);mesh$4.matrixAutoUpdate=!1;var scene$2=new THREE__namespace.Scene;scene$2.add(mesh$4),scene$2.matrixAutoUpdate=!1;var camera$2=new THREE__namespace.OrthographicCamera(-.5,.5,.5,-.5,.1,1);camera$2.position.set(0,0,.5),camera$2.lookAt(0,0,0),camera$2.updateMatrixWorld(!0),camera$2.matrixAutoUpdate=!1;var prevViewport=new THREE__namespace.Vector4,prevScissor=new THREE__namespace.Vector4;function renderPoweredByRealsee(n){if(material.map){var r=n.getViewport(prevViewport),o=n.getScissor(prevScissor),s=n.getScissorTest(),u=n.autoClear,l=o.x+imageOffset[0]/3,c=o.y+imageOffset[1]/3,p=imageSize[0]/3,f=imageSize[1]/3;n.setViewport(l,c,p,f),n.setScissor(l,c,p,f),n.setScissorTest(!0),n.autoClear=!1,n.render(scene$2,camera$2),n.setViewport(r),n.setScissor(o),n.setScissorTest(s),n.autoClear=u}else{var t=new THREE__namespace.Texture,e=new Image;e.onload=function(){t.image=e,t.wrapS=THREE__namespace.ClampToEdgeWrapping,t.wrapT=THREE__namespace.ClampToEdgeWrapping,t.minFilter=THREE__namespace.LinearFilter,t.needsUpdate=!0,t.generateMipmaps=!1,material.needsUpdate=!0,e.onload=noop},e.src=textureURL,material.map=t}}var FRAGMENT$2=`
|
|
2134
2134
|
precision mediump float;
|
|
2135
2135
|
precision mediump int;
|
|
2136
2136
|
uniform sampler2D depthBuffer;
|
|
@@ -2246,4 +2246,4 @@ void main() {
|
|
|
2246
2246
|
rgb = clamp(lumCompressed * rgb, 0.0, 1.0);
|
|
2247
2247
|
gl_FragColor = mix(inputColor, vec4(rgb, alpha), progress * 0.9);
|
|
2248
2248
|
}
|
|
2249
|
-
`})||this;return r.material.transparent=!0,r}return Object.defineProperty(t.prototype,"luminanceAdaptiveBuffer",{get:function(){return this.material.uniforms.luminanceAdaptiveBuffer.value},set:function(e){this.material.uniforms.luminanceAdaptiveBuffer.value=e},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"progress",{get:function(){return this.material.uniforms.progress.value},set:function(e){this.material.uniforms.progress.value=e},enumerable:!1,configurable:!0}),t})(Pass),LuminanceAdaptiveEffect=(function(n){__extends(t,n);function t(e,r,o,s){var u=n.call(this,e,r,o,s)||this;return u.enableTime=now(),u.renderer=e,u.valuePass=new ValuePass(u.renderer),u.luminancePass=new LuminancePass(u.renderer,Math.sqrt(1/3)),u.nextStepPass=new NextStepPass(u.renderer,.01),u.luminanceAdaptivePass=new LuminanceAdaptivePass(u.renderer),u}return t.prototype.render=function(e){this.renderer.setRenderTarget(e[0]),this.renderer.render(this.scene,this.camera),this.enableTime===null&&(this.enableTime=now()),this.luminanceTargetBuffer||(this.luminanceTargetBuffer=new THREE__namespace.WebGLRenderTarget(128,128,{minFilter:THREE__namespace.LinearMipmapLinearFilter,magFilter:THREE__namespace.LinearFilter,encoding:this.renderer.outputEncoding,stencilBuffer:!1,depthBuffer:!1,format:THREE__namespace.RGBAFormat,generateMipmaps:!0}),this.nextStepPass.targetBuffer=this.luminanceTargetBuffer.texture),this.luminancePass.render(e[0],this.luminanceTargetBuffer),this.luminancePrevBuffer||(this.luminancePrevBuffer=new THREE__namespace.WebGLRenderTarget(1,1,{minFilter:THREE__namespace.NearestFilter,magFilter:THREE__namespace.NearestFilter,type:THREE__namespace.HalfFloatType,encoding:this.renderer.outputEncoding,stencilBuffer:!1,depthBuffer:!1}),this.valuePass.render(new THREE__namespace.Vector3(.5,.5,.5),this.luminancePrevBuffer)),this.luminanceNextBuffer||(this.luminanceNextBuffer=new THREE__namespace.WebGLRenderTarget(1,1,{minFilter:THREE__namespace.NearestFilter,magFilter:THREE__namespace.NearestFilter,type:THREE__namespace.HalfFloatType,encoding:this.renderer.outputEncoding,stencilBuffer:!1,depthBuffer:!1}),this.valuePass.render(new THREE__namespace.Vector3(.5,.5,.5),this.luminanceNextBuffer),this.luminanceAdaptivePass.luminanceAdaptiveBuffer=this.luminanceNextBuffer.texture),this.copyPass.render(this.luminanceNextBuffer,this.luminancePrevBuffer),this.nextStepPass.render(this.luminancePrevBuffer,this.luminanceNextBuffer),this.luminanceAdaptivePass.progress=Math.min((now()-this.enableTime)/100,1),this.luminanceAdaptivePass.render(e[0],e[1])},t.prototype.dispose=function(){var e,r,o;(e=this.luminanceTargetBuffer)===null||e===void 0||e.dispose(),(r=this.luminancePrevBuffer)===null||r===void 0||r.dispose(),(o=this.luminanceNextBuffer)===null||o===void 0||o.dispose(),this.copyPass.dispose(),this.luminancePass.dispose(),this.nextStepPass.dispose(),this.luminanceAdaptivePass.dispose()},t})(Effect),sharedV2=new THREE__namespace.Vector2,LuminanceRenderer=(function(n){__extends(t,n);function t(e){var r,o,s=n.call(this,e)||this;s.type="default",s.luminanceAdaptiveEffect=new LuminanceAdaptiveEffect(s.renderer,s.modelScene,s.camera,s.modelScene);var u=s.renderer.getDrawingBufferSize(sharedV2);return s.screenBuffers=[new THREE__namespace.WebGLRenderTarget(u.x,u.y,{generateMipmaps:!1,encoding:(o=(r=s.renderer)===null||r===void 0?void 0:r.outputEncoding)!==null&&o!==void 0?o:THREE__namespace.sRGBEncoding}),s.enableFragDepth?s.modelRenderTarget:null],s}return t.prototype.render=function(e){var r=this.renderer.getRenderTarget();this.enableFragDepth?(e&&(this.luminanceAdaptiveEffect.enable=!0,this.luminanceAdaptiveEffect.render(this.screenBuffers)),this.depthCopyPass.render(this.modelRenderTarget.depthTexture,r),this.renderer.autoClearDepth=!1,this.renderer.autoClearColor=!0,this.copyPass.render(this.modelRenderTarget,r),this.renderer.setRenderTarget(r),this.renderer.autoClearColor=!1,this.renderer.autoClearDepth=!1,this.renderer.render(this.scene,this.camera),this.renderer.autoClearColor=!0,this.renderer.autoClearDepth=!0):(this.luminanceAdaptiveEffect.enable=!0,this.luminanceAdaptiveEffect.render(this.screenBuffers),this.renderer.autoClearColor=!1,this.renderer.autoClearDepth=!1,this.renderer.render(this.scene,this.camera),this.renderer.autoClearColor=!0,this.renderer.autoClearDepth=!0),this.modelScene.needsRender=!0},t})(BaseRenderer),DEFAULT_MODE_CHANGE_DURATION=1e3,DEFAULT_CAMERA_FOV=90,DEFAULT_REQUEST_PROXY=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/")},scratchSphere=new THREE__namespace.Sphere,scratchBox3=new THREE__namespace.Box3,scratchViewport=new THREE__namespace.Vector4,scratchScissor=new THREE__namespace.Vector4,scratchClearColor=new THREE__namespace.Color,scratchRenderSize=new THREE__namespace.Vector2,worksMap=new WeakMap,emptyWorks=createWorks([parseWork(null)]),Five=(function(n){__extends(t,n);function t(e){e===void 0&&(e={});var r,o,s,u,l,c,p,f,d,h,m,A,g=n.call(this)||this;if(g.ident=createUuid(),typeof window!="undefined"&&(__FIVE_DEBUG__.instances[g.ident]=g),g.renderSwitch01=0,g.currentUpdateArgs={time:now(),args:[]},g.currentMode="Panorama",g.pano={workCode:"",panoIndex:0},g.needsRender=!1,g.modelSceneNeedsRender=!1,g.onlyRenderIfNeeds=(r=e.onlyRenderIfNeeds)!==null&&r!==void 0?r:!0,g.imageOptions=__assign({},(o=e.imageOptions)!==null&&o!==void 0?o:{}),g.textureOptions=__assign({},(s=e.textureOptions)!==null&&s!==void 0?s:{}),g.poweredByRealsee=(u=e.poweredByRealsee)!==null&&u!==void 0?u:!0,g.backgroundColor=new THREE__namespace.Color((l=e.backgroundColor)!==null&&l!==void 0?l:1579548),g.backgroundAlpha=(c=e.backgroundAlpha)!==null&&c!==void 0?c:1,g.extraElements=[],g.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)},g.fps={testCount:0,testTime:now()},g.modeChangeDuration=(p=e.modeChangeDuration)!==null&&p!==void 0?p:DEFAULT_MODE_CHANGE_DURATION,g.enableWheel=(f=e.enableWheel)!==null&&f!==void 0?f:!0,typeof window!="undefined")if("renderer"in e)e.renderer instanceof InternalWebGLRenderer&&g.throwError(new Error("cannot render a internal renderer")),g.renderer=e.renderer;else try{g.renderer=new InternalWebGLRenderer({preserveDrawingBuffer:e.preserveDrawingBuffer,antialias:e.antialias,webgl2:e.webgl2,logarithmicDepthBuffer:e.logarithmicDepthBuffer,precision:e.precision,powerPreference:e.powerPreference});var y=getViewportScale();g.renderer.setPixelRatio(y===1?window.devicePixelRatio:1),g.renderer.setSize(512,512),g.renderer.setClearColor(g.backgroundColor,g.backgroundAlpha)}catch(O){var v=O instanceof Error?O:new Error(String(O));g.throwError(v)}g.getPixelsRenderTarget=new THREE__namespace.WebGLRenderTarget(1,1,{encoding:(h=(d=g.renderer)===null||d===void 0?void 0:d.outputEncoding)!==null&&h!==void 0?h:THREE__namespace.sRGBEncoding,generateMipmaps:!1}),g.viewport=Object.assign({left:0,bottom:0,width:1,height:1},e.viewport),g.camera=new Camera(DEFAULT_CAMERA_FOV),g.scene=new Scene,g.xrCustomObjectsScene=new THREE__namespace.Scene,g.scene.add(g.xrCustomObjectsScene),g.scene.matrixAutoUpdate=!1,g.loadWorkTask=Promise.resolve(),g.requestProxy=(m=e.requestProxy)!==null&&m!==void 0?m:DEFAULT_REQUEST_PROXY,g.networkSubscribe=new NetworkSubscribe,g.networkSubscribe.on("network",function(O,F,N,D){var U;g.emit("network.resource",createEvent("network.resource",{source:O,requestType:F,requestState:N,detail:D})),(U=g.analysis)===null||U===void 0||U.network(g.works,O,F,N,D)}),g.boundingMesh=new BoundingMesh$1,g.boundingMesh.name="bounding",g.readyCallbacks=[],g.syncingState=!1,g.helperGroup=new THREE__namespace.Group,g.helperGroup.name="helper",g.helperGroup.matrixAutoUpdate=!1,g.scene.add(g.helperGroup);var E=new Model(emptyWorks[0]);worksMap.set(g,emptyWorks),g.modelScene=new ModelScene,g.modelScene.add(E),g.modelScene.add(g.boundingMesh),defineProperty(E,"loaded",{get:function(){return!1},set:function(O){}}),g.videoTexture=new THREE__namespace.VideoTexture(e.videoInstance||generateDefaultVideoElement());var b=initLights();g.scene.add(b);var T=new THREE__namespace.Group;defineProperty(T,"children",{get:function(){return b.children},set:function(O){b.children=O}}),defineProperty(T,"visible",{get:function(){return b.visible},set:function(O){b.visible=O}}),defineProperty(T,"name",{get:function(){return b.name},set:function(O){b.name=O}}),g.modelScene.add(T),g.state={mode:g.currentMode,workCode:g.pano.workCode,panoIndex:g.pano.panoIndex,longitude:g.camera.pose.longitude,latitude:g.camera.pose.latitude,fov:g.camera.pose.fov,offset:g.camera.pose.offset.clone(),distance:g.camera.pose.distance},g.stateSynced=!1,g.destroyed=!1,g.paused=!0,typeof window!="undefined"&&(e.play!==!1&&g.play(),g.stopAnimationLoop=AnimationFrameLoop.shared.add(function(O,F){for(var N=[],D=2;D<arguments.length;D++)N[D-2]=arguments[D];g.updateTime.apply(g,__spreadArray([O,F],N,!1))},!1,0,10));var _=function(){typeof document!="undefined"&&document.fullscreenElement===null&&g.currentMode==="VRPanorama"&&g.controller.emit("vr.requestExit",createEvent("vr.requestExit",{}))},S=function(){g.needsRender=!0,g.modelSceneNeedsRender=!0};if(typeof document!="undefined"&&document.addEventListener("fullscreenchange",_,!1),g.renderer&&g.renderer.domElement.addEventListener("webglcontextrestored",S,!1),g.removeEventListeners=function(){typeof document!="undefined"&&document.removeEventListener("fullscreenchange",_,!1),g.renderer&&g.renderer.domElement.removeEventListener("webglcontextrestored",S,!1)},g.plugins={},e.plugins&&e.plugins.length)for(var R=0,w=e.plugins;R<w.length;R++){var M=w[R];if(typeof M=="function")M(g);else if(Array.isArray(M)){var B=M[0],C=M[1],P=M[2];if(typeof B=="function"){var L=B(g,P);typeof C=="string"&&(g.plugins[C]?g.throwError(new Error("plugin name ".concat(C," is exists."))):g.plugins[C]=L)}}}return initLegacyEvent(g),g.enableLayeringRendering=(A=e.enableLayeringRendering)!==null&&A!==void 0?A:!1,g._buildInRendererType="default",g._builtinRenderer=null,g}return Object.defineProperty(t,"version",{get:function(){return"6.7.0-alpha.0"},enumerable:!1,configurable:!0}),Object.defineProperty(t,"dracoPath",{get:function(){return draco.decoderPath},set:function(e){draco.setDecoderPath(e)},enumerable:!1,configurable:!0}),Object.defineProperty(t,"ktx2Path",{get:function(){return ktx2.transcoderPath},set:function(e){ktx2.setTranscoderPath(e)},enumerable:!1,configurable:!0}),Object.defineProperty(t,"useNativeImageBitmap",{get:function(){return canUseNativeImageBitmap()},set:function(e){useNativeImageBitmap(e)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"panoIndex",{get:function(){return this.pano.panoIndex},enumerable:!1,configurable:!0}),t.prototype.dispose=function(){var e;if(this.destroyed!==!0){delete __FIVE_DEBUG__.instances[this.ident],this.emit("dispose"),this.destroyed=!0,this.pause(),this.stopAnimationLoop&&(this.stopAnimationLoop(),this.stopAnimationLoop=void 0),this.off(),this.networkSubscribe.off(),this.controller&&(this.controller.destroy(),this.controller=void 0);var r=this.getElement();r&&r.parentNode&&r.parentNode.removeChild(r);var o=this.modelScene.parameter;o.pano0&&o.pano0.map.dispose(),o.pano1&&o.pano1.map!==((e=o.pano0)===null||e===void 0?void 0:e.map)&&o.pano1.map.dispose(),o.reset("pano0","pano1");for(var s=0,u=this.modelScene.children.slice();s<u.length;s++){var l=u[s];l.dispose&&l.dispose(),this.modelScene.remove(l)}this.modelScene.dispose(),this.scene.dispose(),this.xrCustomObjectsScene.dispose(),worksMap.set(this,emptyWorks),this.renderer&&(this.renderer.render(new THREE__namespace.Scene,new THREE__namespace.Camera),this.renderer.setAnimationLoop(null)),this.renderer instanceof InternalWebGLRenderer&&(this.renderer.forceContextLoss&&this.renderer.forceContextLoss(),this.renderer.dispose())}},t.prototype.setViewport=function(e){Object.assign(this.viewport,e),this.needsRender=!0,this.modelSceneNeedsRender=!0},Object.defineProperty(t.prototype,"helperVisible",{get:function(){return this.helperGroup.visible},set:function(e){this.helperGroup.visible!==e&&(this.helperGroup.visible=e,this.emit("helpers.visible",createEvent("helpers.visible",{object:this.helperGroup})),this.needsRender=!0)},enumerable:!1,configurable:!0}),t.prototype.getBuiltinRenderer=function(e){var r=this._builtinRenderer;if((r==null?void 0:r.type)!==this._buildInRendererType)switch(r&&r.dispose(),this._buildInRendererType){case"default":this._builtinRenderer=new DefaultRenderer({renderer:e,camera:this.camera,scene:this.scene,modelScene:this.modelScene,enableLayeringRendering:this.enableLayeringRendering});break;case"edl":this._builtinRenderer=new EDLRenderer({renderer:e,camera:this.camera,scene:this.scene,modelScene:this.modelScene,enableLayeringRendering:this.enableLayeringRendering});break;case"hq":this._builtinRenderer=new HQRenderer({renderer:e,camera:this.camera,scene:this.scene,modelScene:this.modelScene,enableLayeringRendering:this.enableLayeringRendering});break;case"luminance":this._builtinRenderer=new LuminanceRenderer({renderer:e,camera:this.camera,scene:this.scene,modelScene:this.modelScene,enableLayeringRendering:this.enableLayeringRendering});break}return this._builtinRenderer},Object.defineProperty(t.prototype,"renderEffect",{get:function(){return this._buildInRendererType},set:function(e){this._buildInRendererType=e,this.modelSceneNeedsRender=!0},enumerable:!1,configurable:!0}),t.prototype.updateConfiguration=function(e,r){r===void 0&&(r=!0);var o=!1;if(e.panorama&&(Object.assign(this.controllerInits.Panorama,omitUndefinedFields(e.panorama)),this.currentMode==="Panorama"&&(o=!0)),e.model&&(Object.assign(this.controllerInits.Model,omitUndefinedFields(e.model)),this.currentMode==="Model"&&(o=!0)),e.floorplan&&(Object.assign(this.controllerInits.Floorplan,omitUndefinedFields(e.floorplan)),this.currentMode==="Floorplan"&&(o=!0)),e.topview&&(Object.assign(this.controllerInits.Topview,omitUndefinedFields(e.topview)),this.currentMode==="Topview"&&(o=!0)),e.mapview&&(Object.assign(this.controllerInits.Mapview,omitUndefinedFields(e.mapview)),this.currentMode==="Mapview"&&(o=!0)),e.vrPanorama&&(Object.assign(this.controllerInits.VRPanorama,omitUndefinedFields(e.vrPanorama)),this.currentMode==="VRPanorama"&&(o=!0)),e.imageOptions&&(Object.assign(this.imageOptions,e.imageOptions),(this.currentMode==="Panorama"||this.currentMode==="VRPanorama")&&(o=!0)),e.textureOptions&&Object.assign(this.textureOptions,e.textureOptions),r&&o&&this.controller&&this.currentMode){var s=this.controller.updateConfiguration(this.controllerInits[this.currentMode]);s||this.changeMode(this.currentMode,this.getCurrentState(),0,!1,!0)}},t.prototype.appendTo=function(e,r){if(r===void 0&&(r={}),!!this.renderer){if(!(this.renderer instanceof InternalWebGLRenderer)){this.throwError(new Error("cannot call appendTo method when render a external renderer"));return}var o=this.getElement();if(o){e.appendChild(o),this.refresh(r);var s=window.getComputedStyle(e).position;s!=="relative"&&s!=="absolute"&&s!=="fixed"&&s!=="sticky"&&(e.style.position="relative")}}},t.prototype.refresh=function(e,r){var o,s;if(e===void 0&&(e={}),!!this.renderer){var u=this.renderer.domElement,l=u.parentNode,c=e.width,p=c===void 0?(o=l==null?void 0:l.offsetWidth)!==null&&o!==void 0?o:512:c,f=e.height,d=f===void 0?(s=l==null?void 0:l.offsetHeight)!==null&&s!==void 0?s:512:f;r=r!=null?r:this.renderer.getPixelRatio();var h=this.renderer.capabilities.maxTextureSize,m=Math.max(p,d)*r;m>h&&(r=r/m*h,r=Math.floor(r*100)/100),this.renderer.setPixelRatio(r),this.renderer.setSize(p,d),this.needsRender=!0,this.modelSceneNeedsRender=!0;var A=now(),g=A-this.currentUpdateArgs.time,y=this.currentUpdateArgs.args;this.updateTime(A,g,y)}},t.prototype.addExtraElement=function(e){var r=this;return this.extraElements.indexOf(e)===-1&&(this.extraElements.push(e),this.controller&&this.controller.bindExtraElement(e)),function(){return r.removeExtraElement(e)}},t.prototype.removeExtraElement=function(e){var r=this.extraElements.indexOf(e);r!==-1&&(this.extraElements.splice(r,1),this.controller&&this.controller.unbindExtraElement(e))},t.prototype.getSize=function(e){if(!this.renderer)throw new Error("renderer is not initialized");return this.renderer.getSize(e),e.x*=this.viewport.width,e.y*=this.viewport.height,e},t.prototype.getDrawingBufferSize=function(e){if(!this.renderer)throw new Error("renderer is not initialized");return this.renderer.getDrawingBufferSize(e),e.x*=this.viewport.width,e.y*=this.viewport.height,e},t.prototype.updateCamera=function(e,r,o){if(o===void 0&&(o=!0),!this.controller)throw new Error("controller is not initialized.");return this.controller.updateCamera(e,r,o)},t.prototype.updateCameraWithKeyframes=function(e,r,o){if(o===void 0&&(o=!0),!this.controller)throw new Error("controller is not initialized.");return this.controller.updateCameraWithKeyframes(e,r,o)},Object.defineProperty(t.prototype,"works",{get:function(){var e=worksMap.get(this);return e||emptyWorks},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"work",{get:function(){return this.works[0]},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"observers",{get:function(){return this.work.observers},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"models",{get:function(){return this.modelScene.models},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"model",{get:function(){return this.modelScene.models[0]},enumerable:!1,configurable:!0}),t.prototype.load=function(e,r,o,s){var u=this;if(s===void 0&&(s=!0),!this.renderer)throw new Error("renderer is not initialized");var l=this.loadWorkTask.then(function(){return isPromise(e)?e.then(function(c){return u.load_(c,r,o,s)}):u.load_(e,r,o,s)});return this.loadWorkTask=l.catch(function(c){u.throwError(c)}),l},t.prototype.load_=function(e,r,o,s){var u=this,l,c,p,f,d,h,m,A,g,y;s===void 0&&(s=!0);var v={};typeof o=="number"?v.duration=o:typeof o=="object"&&Object.assign(v,o),this.works===emptyWorks&&(v.duration===void 0&&(v.duration=0),v.effect===void 0&&(v.effect="instant"));var E=[];if(Array.isArray(e))for(var b=0,T=e;b<T.length;b++){var _=T[b];_ instanceof Work?E.push(_):typeof _!="string"&&"work"in _?E.push(parseWork(_.work,_)):E.push(parseWork(_))}else e instanceof Work?E.push(e):E.push(parseWork(e));for(var S=createWorks(E),R=function(Y){var G=w,ee=new Fetcher({get networkSubscribe(){return G.networkSubscribe},requestProxy:function(te){return Promise.resolve(te).then(function(ne){return G.requestProxy(ne)}).then(function(ne){var ae=verifyURL(ne,Y.allowHosts);if(ae instanceof Error)throw ae;return ae})}});registerFetcher(Y,ee)},w=this,M=0,B=S;M<B.length;M++){var C=B[M];R(C)}r===void 0&&(r="inherit"),r==="inherit"&&this.works===emptyWorks&&(r="initial");var P=S.initial,L=P.work.observers[0],O=L?{workCode:L.work.workCode,panoIndex:L.panoIndex}:{workCode:P.work.workCode,panoIndex:0},F=(l=P.mode)!==null&&l!==void 0?l:L?"Panorama":"Mapview",N={};if(r==="inherit"){F=this.currentMode;var D=(p=(c=S[0])===null||c===void 0?void 0:c.observers)===null||p===void 0?void 0:p[this.panoIndex];D?O={workCode:D.work.workCode,panoIndex:D.panoIndex}:typeof S.initial.panoIndex=="number"?O={workCode:S.initial.work.workCode,panoIndex:S.initial.panoIndex}:(F==="Panorama"||F==="VRPanorama"||F==="XRPanorama")&&(F="Mapview"),N={longitude:this.camera.pose.longitude,latitude:this.camera.pose.latitude,fov:this.camera.pose.fov,distance:void 0,offset:void 0}}else if(r==="initial")typeof P.panoIndex=="number"&&(O={workCode:P.work.workCode,panoIndex:P.panoIndex}),P.mode&&(F=P.mode),N={longitude:P.longitude,latitude:P.latitude,fov:P.fov,distance:P.distance,offset:(f=P.offset)===null||f===void 0?void 0:f.clone()};else{if(F=(d=r.mode)!==null&&d!==void 0?d:this.currentMode,typeof r.panoIndex=="number"){var D=S.getObserver({workCode:(m=(h=r.workCode)!==null&&h!==void 0?h:P.work.workCode)!==null&&m!==void 0?m:"",panoIndex:r.panoIndex});D&&(O={workCode:D.work.workCode,panoIndex:D.panoIndex})}N={longitude:r.longitude,latitude:r.latitude,fov:r.fov,distance:r.distance,offset:r.offset}}var U=__assign(__assign(__assign({},O),{mode:F}),N),z=this.getCurrentState(),K=(A=v.duration)!==null&&A!==void 0?A:this.modeChangeDuration;(F==="Floorplan"||F==="Topview"||F==="Mapview")&&this.currentMode===F&&(K=0);var j="fly";(F==="Panorama"||F==="VRPanorama"||F==="XRPanorama")&&this.currentMode===F&&(j=(g=v.effect)!==null&&g!==void 0?g:"fade"),this.emit("works.request",createEvent("works.request",{input:e,works:S,state:U,userAction:s}));var Q=function(){u.pano=O;var Y=__assign(__assign({initial:{state:U,currentState:z,duration:K,effect:j,userAction:s}},u.commonParams()),u.controllerInits[F]),G=Controllers[F].initAnimationEndState(Y);if(u.controller&&u.currentMode===F)u.controller.updateWork(S,G,{effect:j,duration:K},s)===!1&&(u.controller.destroy(),u.controller=u.applyController(F,Y));else{var ee=u.currentMode;if(u.controller)u.controller.destroy();else{var te=Controllers[F].initAnimationEndState(Y);u.camera.setFromPose(te),u.emit("camera.update",createEvent("camera.update",{state:u.getCurrentState(),userAction:s}))}u.controller=u.applyController(F,Y);var ne=createEvent("mode.change",{prevMode:ee,mode:F,state:G,userAction:s});try{u.emit("mode.change",ne)}catch(ae){console.error(ae)}}u.updateTime(u.currentUpdateArgs.time,0,u.currentUpdateArgs.args)};worksMap.set(this,S);var V=Promise.resolve();if(F===t.Mode.Floorplan||F===t.Mode.Topview||F===t.Mode.Mapview||F===t.Mode.Model){this.modelScene.loaded===!1&&(this.camera.setFromPose(U),assignPose(this.state,this.camera.pose)),this.controller||(this.currentMode=F);var J=this.loadModels(S,v);V=Promise.all(J.map(function(Y){return Y.loadedReady})).then(function(){u.needsRender=!0,u.modelSceneNeedsRender=!0,Q(),u.emit("camera.update",createEvent("camera.update",{state:u.getCurrentState(),userAction:s}))})}else{Q();var W=this.controller,X=!1;this.modelScene.autoRefine=!1;var Z=function(){u.works===S&&X===!1&&(u.needsRender=!0,u.modelSceneNeedsRender=!0,u.emit("camera.update",createEvent("camera.update",{state:u.getCurrentState(),userAction:s})),X=!0,u.modelScene.autoRefine=!0),W.off("pano.arrived",Z),W.off("pano.cancel",Z)},J=this.loadModels(S,v);V=Promise.all(J.map(function(G){return G.initReady})).then(noop),W.once("pano.arrived",Z),W.once("pano.cancel",Z),setTimeout(Z,((y=v.duration)!==null&&y!==void 0?y:this.modeChangeDuration)+1e3)}return this.emit("works.load",createEvent("works.load",{input:e,state:this.getCurrentState(),userAction:s,works:S})),V.then(function(){return u.ready()}).then(function(){var Y;u.emit("works.ready",createEvent("works.ready",{input:e,state:u.getCurrentState(),userAction:s,works:S})),(Y=u.analysis)===null||Y===void 0||Y.work(S)})},t.prototype.reset=function(){var e=this,r=this.loadWorkTask.then(function(){return e.reset_()});return this.loadWorkTask=r.catch(function(o){e.throwError(o)}),r},t.prototype.reset_=function(){var e=this;return new Promise(function(r){var o;e.controller&&(e.controller.destroy(),e.controller=void 0);var s=e.modelScene.parameter;s.pano0&&s.pano0.map.dispose(),s.pano1&&s.pano1.map!==((o=s.pano0)===null||o===void 0?void 0:o.map)&&s.pano1.map.dispose(),s.set({pano0:null,pano1:null,modelAlpha:1}),e.renderer&&e.modelScene.update(e.renderer,e.camera);for(var u=0,l=e.modelScene.children;u<l.length;u++){var c=l[u];c instanceof Model&&(c.dispose(),e.modelScene.remove(c))}e.needsRender=!0,e.modelSceneNeedsRender=!0,worksMap.delete(e);var p=parseWork(null),f=new Model(p);f.work=p,worksMap.set(e,createWorks([p])),e.currentMode="Mapview",e.pano={workCode:"",panoIndex:0},e.camera.setFromPose({distance:0,fov:DEFAULT_CAMERA_FOV,longitude:0,latitude:0,offset:new THREE__namespace.Vector3(0,0,0)}),e.state={mode:e.currentMode,workCode:e.pano.workCode,panoIndex:e.pano.panoIndex,longitude:e.camera.pose.longitude,latitude:e.camera.pose.latitude,fov:e.camera.pose.fov,offset:e.camera.pose.offset.clone(),distance:e.camera.pose.distance},e.camera.needsRender=!1,e.needsRender=!1,e.modelSceneNeedsRender=!1,r()})},t.prototype.changeMode=function(e,r,o,s,u){var l=this;return r===void 0&&(r={}),s===void 0&&(s=!0),u===void 0&&(u=!1),new Promise(function(c,p){var f,d,h,m;if(!l.renderer)throw new Error("renderer is not initialized.");r=__assign({},r);var A=0;l.controller&&(typeof o=="number"?A=o:A=(f=o==null?void 0:o.duration)!==null&&f!==void 0?f:l.modeChangeDuration);var g="fly";l.controller&&typeof o=="object"&&o.effect&&(g=o.effect);var y=typeof r.panoIndex=="number"?{workCode:(m=(d=r.workCode)!==null&&d!==void 0?d:(h=l.work)===null||h===void 0?void 0:h.workCode)!==null&&m!==void 0?m:"",panoIndex:r.panoIndex}:l.pano;if(!t.Mode.hasOwnProperty(e)){var v=new Error('mode "'.concat(e,'" is not existed'));l.throwError(v),p(v);return}if((e===t.Mode.Panorama||e===t.Mode.VRPanorama||e===t.Mode.XRPanorama)&&!l.works.getObserver(y)){var v=new Error("PanoId ".concat(panoStringify(y)," not existed."));l.throwError(v),p(v);return}(e===t.Mode.Floorplan||e===t.Mode.Topview||e===t.Mode.Mapview||e===t.Mode.Model)&&(l.modelScene.loaded||(A=0));var E=l.controller,b=l.currentMode,T=function(){if(l.controller&&l.controller.stopMomentumMovement(),l.controller&&u===!1&&b===e)e===t.Mode.Panorama||e===t.Mode.Model||e===t.Mode.VRPanorama||e===t.Mode.XRPanorama?!panoEqual(l.pano,y)&&"moveToPano"in l.controller&&typeof l.controller.moveToPano=="function"?l.controller.moveToPano(y,__assign({duration:A},r),s):l.controller.updateCamera(r,A,s).catch(noop):(panoEqual(l.pano,y)||(l.pano=y),l.controller.updateCamera(r,A,s).catch(noop));else{var S=__assign(__assign({},r),y),R=__assign(__assign({initial:{state:S,currentState:l.getCurrentState(),duration:A,effect:g,userAction:s}},l.commonParams()),l.controllerInits[e]),w=Controllers[e].initAnimationEndState(R),M=createEvent("mode.change.request",{prevMode:l.currentMode,mode:e,state:w,userAction:s});if(l.emit("mode.change.request",M),!M.defaultPrevented){E&&E.destroy(),l.controller=l.applyController(e,R);var B=createEvent("mode.change",{prevMode:l.currentMode,mode:e,state:w,userAction:s});l.emit("mode.change",B)}}c()};if(e===t.Mode.VRPanorama)l.requestFullscreen(),requestDeviceOrientationPermission().then(function(){return T()}).catch(function(S){var R=S instanceof Error?S:new Error(String(S));l.exitFullscreen(),l.throwError(R),p(R)});else if(e===t.Mode.XRPanorama){var _=AnimationFrameLoop.shared.getContext();_?_.end():requestXRSessionPermission().then(function(S){AnimationFrameLoop.shared.setContext(S),T()}).catch(function(S){var R=S instanceof Error?S:new Error(String(S));l.throwError(R),p(R)})}else T()})},t.prototype.getPixels=function(e,r,o,s,u,l,c){if(!this.renderer)throw new Error("renderer is not initialized.");var p=this.renderer.getPixelRatio(),f=this.renderer.getRenderTarget(),d=this.renderer.getSize(new THREE__namespace.Vector2),h=0,m=0,A=1,g=1,y,v,E,b,T;typeof e=="number"?(h=e,typeof r=="number"&&(m=r),typeof o=="number"&&(A=o),typeof s=="number"&&(g=s),y=u,v=l,T=c):(h=e.x,m=e.y,A=e.width,g=e.height,y=e.pixelRatio,v=e.flipY,E=e.helperVisible,b=e.skipPanorama,T=e.buffer),h=Math.ceil(h),m=Math.ceil(m),A=Math.ceil(A),g=Math.ceil(g),y=Math.ceil(y!=null?y:p),v=v!=null?v:!1;var _=this.helperVisible,S=this.modelScene.parameter.modelAlpha;this.helperVisible=E!=null?E:this.helperVisible,b&&(this.controller instanceof Controllers.Panorama||this.controller instanceof Controllers.VRPanorama||this.controller instanceof Controllers.XRPanorama)&&b===!0&&this.modelScene.parameter.set("modelAlpha",1),this.modelScene.update(this.renderer,this.camera);var R=this.getPixelsRenderTarget;R.setSize(A*y,g*y),this.renderer.setRenderTarget(R),this.camera.pixelRatio=y,this.camera.resolution.set(A,g),this.camera.setViewOffset(d.width,d.height,h,d.height-m-g,A,g),this.scene.update(this.renderer,this.camera),this.render(),this.helperVisible=_,S===void 0?this.modelScene.parameter.reset("modelAlpha"):this.modelScene.parameter.set("modelAlpha",S),this.renderer.setRenderTarget(f),this.camera.clearViewOffset(),this.camera.pixelRatio=p,this.getSize(this.camera.resolution),this.camera.aspect=this.camera.resolution.width/this.camera.resolution.height,this.modelScene.update(this.renderer,this.camera),this.scene.update(this.renderer,this.camera);var w=A*y,M=g*y,B=w*M,C=B*4;if(T){if(T.length!==C)throw new Error("buffer length is not equals pixels ".concat(C))}else T=new Uint8Array(C);if(this.renderer.readRenderTargetPixels(R,0,0,A*y,g*y,T),v)for(var P=B/2,L=0,O=0,F=0,N=0;O<P;O++)for(N=(M-Math.floor(O/w)-1)*w+O%w,F=0;F<4;F++)L=T[O*4+F],T[O*4+F]=T[N*4+F],T[N*4+F]=L;return T},t.prototype.getElement=function(){var e;return(e=this.renderer)===null||e===void 0?void 0:e.domElement},t.prototype.render=function(e){var r=this.renderer;if(r){var o=r.getRenderTarget(),s=r.autoClear,u=r.autoClearColor,l=r.autoClearDepth,c=r.autoClearStencil,p=scratchClearColor.copy(r.getClearColor()),f=r.getClearAlpha(),d=r.getViewport(scratchViewport),h=r.getScissor(scratchScissor),m=r.getScissorTest(),A=r.getSize(scratchRenderSize),g=r.getPixelRatio(),y=Math.floor(A.x*this.viewport.left),v=Math.floor(A.y*this.viewport.bottom),E=Math.floor(A.x*this.viewport.width),b=Math.floor(A.y*this.viewport.height);r.setClearColor(this.backgroundColor,this.backgroundAlpha),r.setViewport(y,v,E,b),r.setScissor(y,v,E,b);var T=this.viewport.bottom!==0||this.viewport.left!==0||this.viewport.width!==1||this.viewport.height!==1;r.setScissorTest(T);var _=this.scene.background;this.modelScene.background=this.camera.isOrthographicCamera?null:_,this.modelScene.environment=this.scene.environment,this.scene.background=null;var S=this.getBuiltinRenderer(r);S.setSize(A.x,A.y,g),this.controller?this.controller.render(S,this.onlyRenderIfNeeds?this.modelSceneNeedsRender:!0):S.render(this.onlyRenderIfNeeds?this.modelSceneNeedsRender:!0),this.scene.background=_,this.modelScene.background=null,this.modelScene.environment=null,this.poweredByRealsee&&this.currentMode!=="VRPanorama"&&this.currentMode!=="XRPanorama"&&r.getRenderTarget()!==this.getPixelsRenderTarget&&renderPoweredByRealsee(r),r.setRenderTarget(o),r.autoClear=s,r.autoClearColor=u,r.autoClearDepth=l,r.autoClearStencil=c,r.setClearColor(p,f),r.setViewport(d),r.setScissor(h),r.setScissorTest(m),e&&AnimationFrameLoop.shared.add(e,!0)}},t.prototype.updateTime=function(e,r){for(var o,s=this,u=[],l=2;l<arguments.length;l++)u[l-2]=arguments[l];if(this.currentUpdateArgs={time:e,args:u},!this.destroyed){if(this.renderer&&ktx2.detectSupport(this.renderer),this.syncingState=this.syncState(e,r),this.controller&&(o=this.controller).updateTime.apply(o,__spreadArray([e,r],u,!1)),this.renderer&&(this.camera.pixelRatio=this.renderer.getPixelRatio(),this.getSize(this.camera.resolution),this.camera.aspect=this.camera.resolution.width/this.camera.resolution.height),this.camera.autoNearFar){scratchBox3.makeEmpty(),scratchBox3.expandByObject(this.boundingMesh);var c=scratchBox3.getBoundingSphere(scratchSphere),p=c.radius*2;c.containsPoint(this.camera.position)||(p=this.camera.position.distanceTo(c.center)+c.radius),p=clamp$1(p,800);var f=p/1e4;f=clamp$1(f,.03,.1),this.camera.near!==f&&(this.camera.near=f),this.camera.far!==p&&(this.camera.far=p)}if(this.camera.controllerMode=this.currentMode,this.camera.updateTime(e),this.renderer){var d=this.modelScene.loaded,h=this.modelScene.refined;if(this.modelScene.loaded){for(var m=[],A=0,g=this.modelScene.children;A<g.length;A++){var y=g[A];y instanceof Model&&y.outdated&&m.push(y)}for(var v=0,E=m;v<E.length;v++){var b=E[v];this.modelScene.remove(b),b.dispose()}if(m.length>0)for(var T=0,_=this.modelScene.children;T<_.length;T++){var y=_[T];y instanceof Model&&(y.visible=!0,this.modelSceneNeedsRender=!0)}}this.modelScene.update(this.renderer,this.camera),d===!1&&this.modelScene.loaded===!0&&(this.controller&&this.controller.updateModel(this.modelScene),AnimationFrameLoop.shared.add(function(){s.emit("models.load",createEvent("models.load",{modelScene:s.modelScene}))},!0,0,10)),h===!1&&this.modelScene.refined===!0&&AnimationFrameLoop.shared.add(function(){s.emit("models.refined",createEvent("models.refined",{modelScene:s.modelScene}))},!0,0,10)}this.renderer&&this.scene.update(this.renderer,this.camera),this.syncingState=!1,this.controller&&(this.controller.needsRender===!0&&(this.controller.needsRender=!1,this.needsRender=!0),this.controller.modelSceneNeedsRender===!0&&(this.controller.modelSceneNeedsRender=!1,this.modelSceneNeedsRender=!0)),this.camera.needsRender===!0&&(this.camera.needsRender=!1,this.needsRender=!0,this.modelSceneNeedsRender=!0),this.modelScene.needsRender===!0&&(this.modelScene.needsRender=!1,this.needsRender=!0,this.modelSceneNeedsRender=!0),this.scene.needsRender===!0&&(this.scene.needsRender=!1,this.needsRender=!0),this.onlyRenderIfNeeds!==!0&&(this.needsRender=!0,this.modelSceneNeedsRender=!0),this.modelSceneNeedsRender===!0&&(this.needsRender=!0);var S=this.camera.resolution.width*this.camera.pixelRatio*this.camera.resolution.height*this.camera.pixelRatio;S>4096*2048?this.renderSwitch01=this.renderSwitch01^1:this.renderSwitch01=0,this.renderSwitch01!==0&&(this.needsRender=!1),this.paused===!0&&(this.needsRender=!1);var R=createEvent("render.prepare",{needsRender:this.needsRender});this.emit("render.prepare",R),R.defaultPrevented&&(this.needsRender=!1);var w=this.needsRender;this.renderer&&w&&this.render(),this.needsRender=!1,this.modelSceneNeedsRender=!1,this.emit("render",createEvent("render",{needsRender:w})),this.hasListener("fps")&&(this.fps.testTime&&e-this.fps.testTime<1e3?this.fps.testCount++:(this.emit("fps",this.fps.testCount),this.fps.testTime=e,this.fps.testCount=0))}},t.prototype.pause=function(){this.paused=!0,this.renderer&&this.renderer instanceof InternalWebGLRenderer&&this.renderer.clear(!0,!0,!0)},t.prototype.play=function(){this.needsRender=!0,this.modelSceneNeedsRender=!0,this.paused=!1},t.prototype.moveToPano=function(e,r,o){r===void 0&&(r={}),o===void 0&&(o=!0);var s=this,u=s.controller,l=s.renderer;if(!u)return this.throwError(new Error("controller is not initialized.")),Promise.resolve();if(!l)return this.throwError(new Error("renderer is not initialized.")),Promise.resolve();var c=this.works.getObserver(e);if(!c)return this.throwError(new Error("pano ".concat(JSON.stringify(e)," not existed."))),Promise.resolve();var p={workCode:c.work.workCode,panoIndex:c.panoIndex};return"moveToPano"in u&&typeof u.moveToPano=="function"?u.moveToPano(p,r,o):c&&(this.pano=p,this.once("initAnimation.start",function(f){r.moveStartCallback&&r.moveStartCallback(f.state)}),this.once("initAnimation.end",function(f){r.moveEndCallback&&r.moveEndCallback(f.state)}),this.changeMode(t.Mode.Panorama,r,{effect:r.effect},o)),this.ready()},t.prototype.preloadPano=function(e,r){var o=this;r===void 0&&(r=noop);var s=this.works.getObserver(e);if(!s)return Promise.reject(new Error("Pano ".concat(JSON.stringify(e)," never found")));var u=["right","left","up","down","front","back"],l=now();return Promise.all(u.map(function(c){var p=panoStringify({panoIndex:s.panoIndex,workCode:s.work.workCode}),f=__assign({key:"pano.".concat(p,".").concat(c)},pick(o.imageOptions,["size","format","quality","forceUseExifOrientation","mappings"])),d=s.images[c],h=o.imageOptions.transform?o.imageOptions.transform(d,f):imageURL(d,f);return getFetcher(s.work).preload(h)})).then(function(){var c=now()-l;return r(c),c})},t.prototype.project2d=function(e,r){if(r===void 0&&(r=!1),!this.renderer)return null;if(r){var o=this.camera.position,s=e.clone().sub(o),u=new THREE__namespace.Raycaster(o,s.clone().normalize());u.params.Points={threshold:.1};var l=this.modelScene.intersectRaycaster(u)[0];if(l&&l.distance+.01<s.length())return null}var c=e.clone().project(this.camera);if(Math.abs(c.z)>1)return null;var p=this.renderer.getSize(new THREE__namespace.Vector2),f=p.x*this.viewport.width,d=p.y*this.viewport.height,h=p.x*this.viewport.left+(c.x+1)/2*f,m=p.y*(1-this.viewport.bottom-this.viewport.height)+(-c.y+1)/2*d;return new THREE__namespace.Vector2(h,m)},t.prototype.getCurrentState=function(){return __assign(__assign({},this.camera.copyPose()),{mode:this.currentMode,workCode:this.pano.workCode,panoIndex:this.pano.panoIndex})},t.prototype.setState=function(e,r,o){var s,u,l,c,p,f,d,h,m,A;r===void 0&&(r=!1),o===void 0&&(o=!0),e=pick(e,["mode","workCode","panoIndex","longitude","latitude","fov","offset","distance"]),e.offset&&!(e instanceof THREE__namespace.Vector3)&&(e.offset=new THREE__namespace.Vector3(e.offset.x,e.offset.y,e.offset.z));var g;if(typeof e.panoIndex=="number")if(e.workCode)g={workCode:e.workCode,panoIndex:e.panoIndex};else{var y=(u=(s=this.work)===null||s===void 0?void 0:s.workCode)!==null&&u!==void 0?u:"",v=this.state.workCode;this.works.filter(function(P){return P.workCode===v}).length>0&&(y=v),g={workCode:y,panoIndex:e.panoIndex}}var E=(l=e.mode)!==null&&l!==void 0?l:this.state.mode,b,T,_,S,R;if(this.controller&&this.controller.stopMomentumMovement(),this.state.mode!==E){if(E==="VRPanorama"){this.changeMode("VRPanorama",void 0,void 0,!0);return}var w={workCode:g==null?void 0:g.workCode,panoIndex:g==null?void 0:g.panoIndex};typeof e.longitude=="number"&&(w.longitude=e.longitude),typeof e.latitude=="number"&&(w.latitude=e.latitude),typeof e.fov=="number"&&(w.fov=e.fov),typeof e.distance=="number"&&(w.distance=e.distance),e.offset instanceof THREE__namespace.Vector3&&(w.offset=e.offset);var M=__assign(__assign({initial:{state:w,currentState:this.getCurrentState(),duration:this.modeChangeDuration,effect:"fly",userAction:!1}},this.commonParams()),this.controllerInits[E]),B=Controllers[E].initAnimationEndState(M);b=B.longitude,T=B.latitude,_=B.fov,S=B.offset,R=B.distance}else b=(c=e.longitude)!==null&&c!==void 0?c:this.state.longitude,T=(p=e.latitude)!==null&&p!==void 0?p:this.state.latitude,_=(f=e.fov)!==null&&f!==void 0?f:this.state.fov,S=(d=e.offset)!==null&&d!==void 0?d:this.state.offset,R=(h=e.distance)!==null&&h!==void 0?h:this.state.distance;var C={workCode:(g!=null?g:this.pano).workCode,panoIndex:(g!=null?g:this.pano).panoIndex,mode:E,longitude:b,latitude:T,fov:_,offset:S,distance:R};this.emit("state.set",createEvent("state.set",{userAction:o,state:C})),stateEqual(this.state,C)||(this.controller&&C.mode==="VRPanorama"&&C.mode!==this.state.mode?(assignState(this.state,C),this.changeMode("VRPanorama")):this.controller&&C.mode==="XRPanorama"&&C.mode!==this.state.mode?(assignState(this.state,C),this.changeMode("XRPanorama")):(assignState(this.state,C),this.controller&&o&&(this.controller.userAction=!1),r&&this.state.mode===C.mode&&(this.syncingState=this.syncState(now(),0,r),this.syncingState&&((m=this.controller)===null||m===void 0||m.updateTime(now(),0),this.syncingState=!1)),this.emit("state.change",createEvent("state.change",{userAction:o,state:this.state})),(A=this.analysis)===null||A===void 0||A.state(this.works,this.state)))},t.prototype.syncState=function(e,r,o){o===void 0&&(o=!1);var s=this.stateSynced;if(this.stateSynced=!1,!this.controller)return!1;if(this.state.mode!==this.currentMode){var u={mode:this.state.mode,workCode:this.state.workCode,panoIndex:this.state.panoIndex,longitude:this.state.longitude,latitude:this.state.latitude,fov:this.state.fov,offset:this.state.offset,distance:this.state.distance};return this.changeMode(this.state.mode,u,this.modeChangeDuration,this.controller.userAction),!0}if(!this.controller.isReady())return!1;if(this.controller instanceof Controllers.Model){if(notSimilarVector3(this.camera.pose.offset,this.state.offset)){var l={longitude:this.state.longitude,latitude:this.state.latitude,fov:this.state.fov,offset:this.state.offset};return this.controller.moveToPosition(this.state.offset,__assign(__assign({},l),{duration:o?0:void 0}),!1),!0}}else{var c={workCode:this.state.workCode,panoIndex:this.state.panoIndex};if(!panoEqual(c,this.pano)&&"moveToPano"in this.controller&&typeof this.controller.moveToPano=="function"){var l={longitude:this.state.longitude,latitude:this.state.latitude,fov:this.state.fov,offset:this.state.offset,distance:this.state.distance};return this.controller.moveToPano(c,l,!1),!0}}if(this.controller instanceof Controllers.Floorplan||this.controller instanceof Controllers.Topview||this.controller instanceof Controllers.Mapview){var p=1,f=.2,d=.2,h=Math.PI/45,m=o?this.state.fov:stepNumber(this.camera.pose.fov,this.state.fov,p),A=Math.abs(this.camera.pose.distance-this.state.distance),g=A>d*15?A/15:f,y=o?this.state.distance:stepNumber(this.camera.pose.distance,this.state.distance,g),v=this.camera.pose.offset.distanceTo(this.state.offset),E=v>d*15?v/15:d,b=o?new THREE__namespace.Vector3().copy(this.state.offset):stepVector(this.camera.pose.offset,this.state.offset,E),T=o?{longitude:this.state.longitude,latitude:this.state.latitude}:stepCoordinates({longitude:this.camera.pose.longitude,latitude:this.camera.pose.latitude},{longitude:this.state.longitude,latitude:this.state.latitude},h),_=T.longitude,S=T.latitude;if(notSimilarValue(m,this.camera.pose.fov)||notSimilarVector3(b,this.camera.pose.offset)||notSimilarValue(y,this.camera.pose.distance)||notSimilarValue(_,this.camera.pose.longitude,Math.PI*2)||notSimilarValue(S,this.camera.pose.latitude)){var R={x:b.x,y:b.y,z:b.z},w={fov:m};return Object.assign(R,{distance:y}),Object.assign(w,{longitude:_,latitude:S}),this.controller.stopMomentumMovement(),this.controller.cameraMotion.set(w,0).catch(noop),this.controller.locationMotion.set(R,0).catch(noop),!0}}else{var M=1,B=Math.PI/45,m=o?this.state.fov:stepNumber(this.camera.pose.fov,this.state.fov,M),C=o?{longitude:this.state.longitude,latitude:this.state.latitude}:stepCoordinates({longitude:this.camera.pose.longitude,latitude:this.camera.pose.latitude},{longitude:this.state.longitude,latitude:this.state.latitude},B),_=C.longitude,S=C.latitude,y=this.state.distance,b=new THREE__namespace.Vector3().copy(this.state.offset);if(notSimilarValue(y,this.camera.pose.distance)&&(this.state.distance=this.camera.pose.distance),notSimilarVector3(b,this.camera.pose.offset)&&(this.state.offset=this.camera.pose.offset.clone()),notSimilarValue(_,this.camera.pose.longitude,Math.PI*2)||notSimilarValue(S,this.camera.pose.latitude)||notSimilarValue(m,this.camera.pose.fov))return this.controller.stopMomentumMovement(),this.controller.cameraMotion.set({longitude:_,latitude:S,fov:m},0).catch(noop),!0}if(this.stateSynced=!0,s===!1&&this.emit("state.synced",createEvent("state.synced",{userAction:!1,state:this.state})),this.readyCallbacks.length&&this.stateSynced){var P=this.currentMode,L=P===t.Mode.Floorplan||P===t.Mode.Topview||P===t.Mode.Mapview||P===t.Mode.Model;if(!L||this.modelScene.loaded){var O=this.readyCallbacks.slice();this.readyCallbacks.length=0;for(var F=0,N=O;F<N.length;F++){var D=N[F];this.controller instanceof Controllers.Panorama&&D.tile===!0&&!this.controller.isTileReady()?this.readyCallbacks.push(D):D()}}}return!1},t.prototype.ready=function(e){var r=this;return e===void 0&&(e={}),new Promise(function(o){var s;r.readyCallbacks.push(Object.assign(o,{tile:(s=e.tile)!==null&&s!==void 0?s:!1}))}).then(function(){return r.model.initReady})},t.prototype.requestFullscreen=function(){var e;if(isMobile){var r=(e=this.getElement())===null||e===void 0?void 0:e.parentNode;r&&"requestFullscreen"in r&&typeof document!="undefined"&&document.fullscreenElement===null&&r.requestFullscreen()}},t.prototype.exitFullscreen=function(){typeof document!="undefined"&&document.fullscreenElement&&"exitFullscreen"in document&&document.exitFullscreen()},t.prototype.throwError=function(e){this.hasListener("error")?this.emit("error",e):console.error(e)},t.prototype.loadModels=function(e,r){for(var o=this,s,u,l,c,p,f,d=new Map,h=!1,m=[],A=0,g=this.modelScene.children;A<g.length;A++){var y=g[A];y instanceof Model&&(y.outdated=!0,d.set(y.work.workCode,y),h=!0)}for(var v=function(T){var _=e[T],S=_.workCode&&d.get(_.workCode);if(S)S.work=_,S.outdated=!1,d.delete(_.workCode),m.push(S);else{var R=(l=(u=(s=r.model)===null||s===void 0?void 0:s.textureOptions)!==null&&u!==void 0?u:r.textureOptions)!==null&&l!==void 0?l:E.textureOptions,w=(p=(c=r.model)===null||c===void 0?void 0:c["3d-tiles"])!==null&&p!==void 0?p:r["3d-tiles"],M=new Model(_,{light:(f=r.model)===null||f===void 0?void 0:f.light,textureOptions:R});M.initReady.then(function(){if(w)if(typeof w=="function")for(var O=0,F=M.viewLayers;O<F.length;O++){var N=F[O],D=w(N,M,T);D&&(D.viewerRequestVolume&&(N.viewerRequestVolume=makeBoundingVolume(D.viewerRequestVolume)),N.parameter.set(omit(D,["showLayers"])),D.showLayers===!1?N.visible=!1:Array.isArray(D.showLayers)&&(N.visible=D.showLayers.includes(N.name)))}else for(var U=0,z=M.viewLayers;U<z.length;U++){var N=z[U];w.viewerRequestVolume&&(N.viewerRequestVolume=makeBoundingVolume(w.viewerRequestVolume)),N.parameter.set(omit(w,["showLayers"])),w.showLayers===!1?N.visible=!1:Array.isArray(w.showLayers)&&(N.visible=w.showLayers.includes(N.name))}}),m.push(M),h&&(M.visible=!1),E.modelScene.add(M);var B=function(){AnimationFrameLoop.shared.add(function(){o.emit("model.load",createEvent("model.load",{work:_,model:M,error:null}))},!0)},C=function(O){var F=O.error;o.emit("model.error",createEvent("model.error",{work:_,model:M,error:F})),o.throwError(F)},P=function(){o.emit("model.changeShownFloor",createEvent("model.changeShownFloor",{work:_,model:M,error:null}))},L=function(){M.removeEventListener("load",B),M.removeEventListener("error",C),M.removeEventListener("changeShownFloor",P),M.removeEventListener("dispose",L)};M.addEventListener("load",B),M.addEventListener("error",C),M.addEventListener("changeShownFloor",P),M.addEventListener("dispose",L),E.emit("model.request",createEvent("model.request",{work:_,model:M,error:null}))}},E=this,b=0;b<e.length;b++)v(b);return this.modelScene.loaded=!1,this.modelScene.refined=!1,m},t.prototype.commonParams=function(){return{ident:this.ident,scene:this.scene,xrCustomObjectsScene:this.xrCustomObjectsScene,helper:this.helperGroup,boundingMesh:this.boundingMesh,camera:this.camera,renderer:this.renderer,viewport:this.viewport,element:this.getElement(),works:this.works,imageOptions:this.imageOptions,enableWheel:this.enableWheel,extraElements:this.extraElements,videoTexture:this.videoTexture,modelScene:this.modelScene}},t.prototype.applyController=function(e,r){var o=this;if(!this.renderer)throw new Error("renderer is not initialized.");var s=Controllers[e];this.currentMode=e;for(var u=new s(r),l=function(m){u.on(m,function(){for(var A=[],g=0;g<arguments.length;g++)A[g]=arguments[g];var y=o.emit.apply(o,__spreadArray([m],A,!1));if(y)return!1})},c=0,p=PROXY_CONTROLLER_EVENT_NAMES;c<p.length;c++){var f=p[c];l(f)}{var d=Controllers[e].initAnimationEndState(r),h=r.initial.userAction;stateEqual(this.state,d)||(assignState(this.state,d),this.emit("state.change",createEvent("state.change",{userAction:h,state:this.state}))),this.emit("currentState.change",createEvent("currentState.change",{userAction:h,state:this.getCurrentState()}))}return u.on("camera.update",function(m){var A;if(o.controller){var g=o.controller.getTargetState();m.userAction&&o.syncingState===!1&&o.state.mode===g.mode&&!stateEqual(o.state,g)&&(assignState(o.state,g),o.emit("state.change",createEvent("state.change",{userAction:m.userAction,state:o.state})),(A=o.analysis)===null||A===void 0||A.state(o.works,o.state))}o.emit("currentState.change",createEvent("currentState.change",{userAction:m.userAction,state:o.getCurrentState()}))}),u.on("initAnimation.start",function(m){var A,g=m.state,y=m.userAction;y&&o.state.mode===g.mode&&!stateEqual(o.state,g)&&(assignState(o.state,g),o.emit("state.change",createEvent("state.change",{userAction:y,state:o.state})),(A=o.analysis)===null||A===void 0||A.state(o.works,o.state))}),u.on("initAnimation.end",function(m){var A,g=m.state,y=m.userAction;o.pano={workCode:g.workCode,panoIndex:g.panoIndex},y&&o.state.mode===g.mode&&!stateEqual(o.state,g)&&(assignState(o.state,g),o.emit("state.change",createEvent("state.change",{userAction:y,state:o.state})),(A=o.analysis)===null||A===void 0||A.state(o.works,o.state))}),u.on("pano.moveTo",function(m){var A,g=m.state,y=m.userAction;o.pano={workCode:g.workCode,panoIndex:g.panoIndex},y&&o.state.mode===g.mode&&!stateEqual(o.state,g)&&(assignState(o.state,g),o.emit("state.change",createEvent("state.change",{userAction:y,state:o.state})),(A=o.analysis)===null||A===void 0||A.state(o.works,o.state))}),u.on("pano.arrived",function(m){var A,g=m.state,y=m.userAction;o.pano={workCode:g.workCode,panoIndex:g.panoIndex},y&&o.state.mode===g.mode&&!stateEqual(o.state,g)&&(assignState(o.state,g),o.emit("state.change",createEvent("state.change",{userAction:y,state:o.state})),(A=o.analysis)===null||A===void 0||A.state(o.works,o.state))}),u.on("pano.cancel",function(m){var A,g=m.state,y=m.userAction;y&&o.state.mode===g.mode&&!stateEqual(o.state,g)&&(assignState(o.state,g),o.emit("state.change",createEvent("state.change",{userAction:y,state:o.state})),(A=o.analysis)===null||A===void 0||A.state(o.works,o.state))}),u.on("pano.moveTo",function(m){var A=m.userAction;o.emit("currentState.change",createEvent("currentState.change",{userAction:A,state:o.getCurrentState()}))}),u.on("pano.request",function(m){o.emit("pano.request",m),m.defaultPrevented||o.moveToPano(m.state,m.options,m.userAction)}),u.on("vr.requestExit",function(){o.currentMode===t.Mode.VRPanorama&&(o.exitFullscreen(),o.changeMode(t.Mode.Panorama))}),u.on("error",function(m){return o.throwError(m)}),u},t.prototype.removeEventListeners=function(){},Object.defineProperty(t.prototype,"internalLightsEnabled",{get:function(){var e=this.scene.children.find(function(r){return r.name==="internalLights"});return e?e.visible:!1},set:function(e){var r=this.scene.children.find(function(o){return o.name==="internalLights"});r&&(r.visible=e),r=this.modelScene.children.find(function(o){return o.name==="internalLights"}),r&&(r.visible=e)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"scissor",{get:function(){return this.viewport},enumerable:!1,configurable:!0}),t.prototype.setScissor=function(e){return this.setViewport(e)},t.prototype.getPose=function(){var e=this.camera.copyPose(),r=e.longitude,o=e.latitude,s=e.fov,u=e.offset,l=e.distance;return{longitude:r,latitude:o,fov:s,offset:u.clone(),distance:l}},t.prototype.getLongitudeAndLatitude=function(){var e=this.getPose(),r=e.longitude,o=e.latitude;return{longitude:r,latitude:o}},t.prototype.getOffset=function(){return this.getPose().offset},t.prototype.getCameraLocal=function(){if(this.pano.workCode&&this.controller&&this.works){var e=this.works.getObserver(this.pano);if(e){var r=new THREE__namespace.Object3D;r.matrix.copy(e.matrix).premultiply(e.work.transform),r.matrix.decompose(r.position,r.quaternion,r.scale),r.matrixAutoUpdate=!1;var o=new THREE__namespace.Vector3(0,0,-1);o.applyQuaternion(this.camera.quaternion);var s=r.quaternion.clone().inverse();o.applyQuaternion(s);var u=Math.atan2(o.x,-o.z),l=-Math.asin(o.y);return{theta:u,phi:l,lookAtVector:o}}}return null},Object.defineProperty(t.prototype,"enableIOSEDR",{get:function(){return!1},set:function(e){},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"enableEDL",{get:function(){return this.renderEffect==="edl"},set:function(e){this.renderEffect=e?"edl":"default"},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"enableHQ",{get:function(){return this.renderEffect==="hq"},set:function(e){this.renderEffect=e?"hq":"default"},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"enablePostProcessing",{get:function(){return!1},set:function(e){},enumerable:!1,configurable:!0}),t.Mode={Panorama:"Panorama",Model:"Model",Floorplan:"Floorplan",Topview:"Topview",Mapview:"Mapview",VRPanorama:"VRPanorama",XRPanorama:"XRPanorama"},t})(Subscribe),__FIVE_DEBUG__={constructor:Five,THREE:THREE__namespace,instances:{}};typeof window!="undefined"&&Object.assign(window,{__FIVE_DEBUG__});var XRButton=(function(){function n(){}return n.createButton=function(t){var e=document.createElement("button");function r(){e.style.display="",e.style.cursor="pointer",e.style.left="calc(50% - 50px)",e.style.width="100px",e.textContent="ENTER VR",e.onmouseenter=function(){e.style.opacity="1.0"},e.onmouseleave=function(){e.style.opacity="0.5"},e.onclick=function(){t&&t()}}function o(){e.style.display="",e.style.cursor="auto",e.style.left="calc(50% - 75px)",e.style.width="150px",e.onmouseenter=null,e.onmouseleave=null,e.onclick=null}function s(){o(),e.textContent="VR NOT SUPPORTED"}function u(c){c.style.position="absolute",c.style.bottom="20px",c.style.padding="12px 6px",c.style.border="1px solid #fff",c.style.borderRadius="4px",c.style.background="rgba(0,0,0,0.1)",c.style.color="#fff",c.style.font="normal 13px sans-serif",c.style.textAlign="center",c.style.opacity="0.5",c.style.outline="none",c.style.zIndex="999"}if("xr"in navigator)return e.id="VRButton",e.style.display="none",u(e),navigator.xr.isSessionSupported("immersive-vr").then(function(c){c?r():s()}),e;var l=document.createElement("a");return window.isSecureContext===!1?(l.href=document.location.href.replace(/^http:/,"https:"),l.innerHTML="WEBXR NEEDS HTTPS"):(l.href="https://immersiveweb.dev/",l.innerHTML="WEBXR NOT AVAILABLE"),l.style.left="calc(50% - 90px)",l.style.width="180px",l.style.textDecoration="none",u(l),l},n})();exports.AnimationFrameLoop=AnimationFrameLoop,exports.Camera=Camera,exports.CustomShader=PBMCustomShader,exports.Fetcher=Fetcher,exports.Five=Five,exports.InternalWebGLRenderer=InternalWebGLRenderer,exports.Model=Model,exports.ModelScene=ModelScene,exports.Motion=Motion,exports.NetworkSubscribe=NetworkSubscribe,exports.PBMContainer=PBMContainer,exports.PBMCustomShader=PBMCustomShader,exports.PBMGroup=PBMGroup,exports.PBMMesh=PBMMesh,exports.PBMMeshMaterial=PBMMeshMaterial,exports.PBMPointCloud=PBMPointCloud,exports.PBMPointCloudMaterial=PBMPointCloudMaterial,exports.PBMSkinnedMesh=PBMSkinnedMesh,exports.PROXY_CONTROLLER_EVENT_NAMES=PROXY_CONTROLLER_EVENT_NAMES,exports.PanoCircleMesh=PanoCircleMesh,exports.PanoCircleMeshCustom=PanoCircleMeshCustom,exports.PanoCircleMeshSolid=PanoCircleMeshSolid,exports.Parameter=Parameter,exports.Scene=Scene,exports.Subscribe=Subscribe,exports.TextureLoader=TextureLoader,exports.Tile=Tile,exports.Tile3DModel=Tile3D,exports.TileCache=TileCache,exports.TileNode=TileNode,exports.TileRequestScheduler=TileRequestScheduler,exports.Tileset=Tileset,exports.Trajectory=Trajectory,exports.TrajectoryNode=TrajectoryNode,exports.Work=Work,exports.WorkResolvedObserver=WorkResolvedObserver,exports.XRButton=XRButton,exports.controllersDefaultInitArgs=controllersDefaultInitArgs,exports.coordinatesToVector=coordinatesToVector,exports.createDebugBoundingMesh=createDebugBoundingMesh,exports.createWorks=createWorks,exports.defaultImageURLTransform=imageURL,exports.draco=draco,exports.getViewportScale=getViewportScale,exports.headingToLongitude=headingToLongitude,exports.imageSupport=imageSupport,exports.isBoundingVolume=isBoundingVolume,exports.isPanoId=isPanoId,exports.ktx2=ktx2,exports.loadAt3d=loadAt3d,exports.loadB3dm=loadB3dm,exports.loadDome=loadDome,exports.loadDomez=loadDomez,exports.loadFbx=loadFbx,exports.loadGltf=loadGltf,exports.loadPbm=loadPbm,exports.loadPly=loadPly,exports.loadPnts=loadPnts,exports.loadX3p=loadX3p,exports.longitudeToHeading=longitudeToHeading,exports.makeBoundingVolume=makeBoundingVolume,exports.panoEqual=panoEqual,exports.panoParse=panoParse,exports.panoStringify=panoStringify,exports.parseWork=parseWork,exports.vectorToCoordinates=vectorToCoordinates,exports.workToJson=workToJson,Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"})}));
|
|
2249
|
+
`})||this;return r.material.transparent=!0,r}return Object.defineProperty(t.prototype,"luminanceAdaptiveBuffer",{get:function(){return this.material.uniforms.luminanceAdaptiveBuffer.value},set:function(e){this.material.uniforms.luminanceAdaptiveBuffer.value=e},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"progress",{get:function(){return this.material.uniforms.progress.value},set:function(e){this.material.uniforms.progress.value=e},enumerable:!1,configurable:!0}),t})(Pass),LuminanceAdaptiveEffect=(function(n){__extends(t,n);function t(e,r,o,s){var u=n.call(this,e,r,o,s)||this;return u.enableTime=now(),u.renderer=e,u.valuePass=new ValuePass(u.renderer),u.luminancePass=new LuminancePass(u.renderer,Math.sqrt(1/3)),u.nextStepPass=new NextStepPass(u.renderer,.01),u.luminanceAdaptivePass=new LuminanceAdaptivePass(u.renderer),u}return t.prototype.render=function(e){this.renderer.setRenderTarget(e[0]),this.renderer.render(this.scene,this.camera),this.enableTime===null&&(this.enableTime=now()),this.luminanceTargetBuffer||(this.luminanceTargetBuffer=new THREE__namespace.WebGLRenderTarget(128,128,{minFilter:THREE__namespace.LinearMipmapLinearFilter,magFilter:THREE__namespace.LinearFilter,encoding:this.renderer.outputEncoding,stencilBuffer:!1,depthBuffer:!1,format:THREE__namespace.RGBAFormat,generateMipmaps:!0}),this.nextStepPass.targetBuffer=this.luminanceTargetBuffer.texture),this.luminancePass.render(e[0],this.luminanceTargetBuffer),this.luminancePrevBuffer||(this.luminancePrevBuffer=new THREE__namespace.WebGLRenderTarget(1,1,{minFilter:THREE__namespace.NearestFilter,magFilter:THREE__namespace.NearestFilter,type:THREE__namespace.HalfFloatType,encoding:this.renderer.outputEncoding,stencilBuffer:!1,depthBuffer:!1}),this.valuePass.render(new THREE__namespace.Vector3(.5,.5,.5),this.luminancePrevBuffer)),this.luminanceNextBuffer||(this.luminanceNextBuffer=new THREE__namespace.WebGLRenderTarget(1,1,{minFilter:THREE__namespace.NearestFilter,magFilter:THREE__namespace.NearestFilter,type:THREE__namespace.HalfFloatType,encoding:this.renderer.outputEncoding,stencilBuffer:!1,depthBuffer:!1}),this.valuePass.render(new THREE__namespace.Vector3(.5,.5,.5),this.luminanceNextBuffer),this.luminanceAdaptivePass.luminanceAdaptiveBuffer=this.luminanceNextBuffer.texture),this.copyPass.render(this.luminanceNextBuffer,this.luminancePrevBuffer),this.nextStepPass.render(this.luminancePrevBuffer,this.luminanceNextBuffer),this.luminanceAdaptivePass.progress=Math.min((now()-this.enableTime)/100,1),this.luminanceAdaptivePass.render(e[0],e[1])},t.prototype.dispose=function(){var e,r,o;(e=this.luminanceTargetBuffer)===null||e===void 0||e.dispose(),(r=this.luminancePrevBuffer)===null||r===void 0||r.dispose(),(o=this.luminanceNextBuffer)===null||o===void 0||o.dispose(),this.copyPass.dispose(),this.luminancePass.dispose(),this.nextStepPass.dispose(),this.luminanceAdaptivePass.dispose()},t})(Effect),sharedV2=new THREE__namespace.Vector2,LuminanceRenderer=(function(n){__extends(t,n);function t(e){var r,o,s=n.call(this,e)||this;s.type="default",s.luminanceAdaptiveEffect=new LuminanceAdaptiveEffect(s.renderer,s.modelScene,s.camera,s.modelScene);var u=s.renderer.getDrawingBufferSize(sharedV2);return s.screenBuffers=[new THREE__namespace.WebGLRenderTarget(u.x,u.y,{generateMipmaps:!1,encoding:(o=(r=s.renderer)===null||r===void 0?void 0:r.outputEncoding)!==null&&o!==void 0?o:THREE__namespace.sRGBEncoding}),s.enableFragDepth?s.modelRenderTarget:null],s}return t.prototype.render=function(e){var r=this.renderer.getRenderTarget();this.enableFragDepth?(e&&(this.luminanceAdaptiveEffect.enable=!0,this.luminanceAdaptiveEffect.render(this.screenBuffers)),this.depthCopyPass.render(this.modelRenderTarget.depthTexture,r),this.renderer.autoClearDepth=!1,this.renderer.autoClearColor=!0,this.copyPass.render(this.modelRenderTarget,r),this.renderer.setRenderTarget(r),this.renderer.autoClearColor=!1,this.renderer.autoClearDepth=!1,this.renderer.render(this.scene,this.camera),this.renderer.autoClearColor=!0,this.renderer.autoClearDepth=!0):(this.luminanceAdaptiveEffect.enable=!0,this.luminanceAdaptiveEffect.render(this.screenBuffers),this.renderer.autoClearColor=!1,this.renderer.autoClearDepth=!1,this.renderer.render(this.scene,this.camera),this.renderer.autoClearColor=!0,this.renderer.autoClearDepth=!0),this.modelScene.needsRender=!0},t})(BaseRenderer),DEFAULT_MODE_CHANGE_DURATION=1e3,DEFAULT_CAMERA_FOV=90,DEFAULT_REQUEST_PROXY=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/")},scratchSphere=new THREE__namespace.Sphere,scratchBox3=new THREE__namespace.Box3,scratchViewport=new THREE__namespace.Vector4,scratchScissor=new THREE__namespace.Vector4,scratchClearColor=new THREE__namespace.Color,scratchRenderSize=new THREE__namespace.Vector2,worksMap=new WeakMap,emptyWorks=createWorks([parseWork(null)]),Five=(function(n){__extends(t,n);function t(e){e===void 0&&(e={});var r,o,s,u,l,c,p,f,d,h,m,A,g=n.call(this)||this;if(g.ident=createUuid(),typeof window!="undefined"&&(__FIVE_DEBUG__.instances[g.ident]=g),g.renderSwitch01=0,g.currentUpdateArgs={time:now(),args:[]},g.currentMode="Panorama",g.pano={workCode:"",panoIndex:0},g.needsRender=!1,g.modelSceneNeedsRender=!1,g.onlyRenderIfNeeds=(r=e.onlyRenderIfNeeds)!==null&&r!==void 0?r:!0,g.imageOptions=__assign({},(o=e.imageOptions)!==null&&o!==void 0?o:{}),g.textureOptions=__assign({},(s=e.textureOptions)!==null&&s!==void 0?s:{}),g.poweredByRealsee=(u=e.poweredByRealsee)!==null&&u!==void 0?u:!0,g.backgroundColor=new THREE__namespace.Color((l=e.backgroundColor)!==null&&l!==void 0?l:1579548),g.backgroundAlpha=(c=e.backgroundAlpha)!==null&&c!==void 0?c:1,g.extraElements=[],g.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)},g.fps={testCount:0,testTime:now()},g.modeChangeDuration=(p=e.modeChangeDuration)!==null&&p!==void 0?p:DEFAULT_MODE_CHANGE_DURATION,g.enableWheel=(f=e.enableWheel)!==null&&f!==void 0?f:!0,typeof window!="undefined")if("renderer"in e)e.renderer instanceof InternalWebGLRenderer&&g.throwError(new Error("cannot render a internal renderer")),g.renderer=e.renderer;else try{g.renderer=new InternalWebGLRenderer({preserveDrawingBuffer:e.preserveDrawingBuffer,antialias:e.antialias,webgl2:e.webgl2,logarithmicDepthBuffer:e.logarithmicDepthBuffer,precision:e.precision,powerPreference:e.powerPreference});var y=getViewportScale();g.renderer.setPixelRatio(y===1?window.devicePixelRatio:1),g.renderer.setSize(512,512),g.renderer.setClearColor(g.backgroundColor,g.backgroundAlpha)}catch(O){var v=O instanceof Error?O:new Error(String(O));g.throwError(v)}g.getPixelsRenderTarget=new THREE__namespace.WebGLRenderTarget(1,1,{encoding:(h=(d=g.renderer)===null||d===void 0?void 0:d.outputEncoding)!==null&&h!==void 0?h:THREE__namespace.sRGBEncoding,generateMipmaps:!1}),g.viewport=Object.assign({left:0,bottom:0,width:1,height:1},e.viewport),g.camera=new Camera(DEFAULT_CAMERA_FOV),g.scene=new Scene,g.xrCustomObjectsScene=new THREE__namespace.Scene,g.scene.add(g.xrCustomObjectsScene),g.scene.matrixAutoUpdate=!1,g.loadWorkTask=Promise.resolve(),g.requestProxy=(m=e.requestProxy)!==null&&m!==void 0?m:DEFAULT_REQUEST_PROXY,g.networkSubscribe=new NetworkSubscribe,g.networkSubscribe.on("network",function(O,F,N,D){var U;g.emit("network.resource",createEvent("network.resource",{source:O,requestType:F,requestState:N,detail:D})),(U=g.analysis)===null||U===void 0||U.network(g.works,O,F,N,D)}),g.boundingMesh=new BoundingMesh$1,g.boundingMesh.name="bounding",g.readyCallbacks=[],g.syncingState=!1,g.helperGroup=new THREE__namespace.Group,g.helperGroup.name="helper",g.helperGroup.matrixAutoUpdate=!1,g.scene.add(g.helperGroup);var E=new Model(emptyWorks[0]);worksMap.set(g,emptyWorks),g.modelScene=new ModelScene,g.modelScene.add(E),g.modelScene.add(g.boundingMesh),defineProperty(E,"loaded",{get:function(){return!1},set:function(O){}}),g.videoTexture=new THREE__namespace.VideoTexture(e.videoInstance||generateDefaultVideoElement());var b=initLights();g.scene.add(b);var T=new THREE__namespace.Group;defineProperty(T,"children",{get:function(){return b.children},set:function(O){b.children=O}}),defineProperty(T,"visible",{get:function(){return b.visible},set:function(O){b.visible=O}}),defineProperty(T,"name",{get:function(){return b.name},set:function(O){b.name=O}}),g.modelScene.add(T),g.state={mode:g.currentMode,workCode:g.pano.workCode,panoIndex:g.pano.panoIndex,longitude:g.camera.pose.longitude,latitude:g.camera.pose.latitude,fov:g.camera.pose.fov,offset:g.camera.pose.offset.clone(),distance:g.camera.pose.distance},g.stateSynced=!1,g.destroyed=!1,g.paused=!0,typeof window!="undefined"&&(e.play!==!1&&g.play(),g.stopAnimationLoop=AnimationFrameLoop.shared.add(function(O,F){for(var N=[],D=2;D<arguments.length;D++)N[D-2]=arguments[D];g.updateTime.apply(g,__spreadArray([O,F],N,!1))},!1,0,10));var _=function(){typeof document!="undefined"&&document.fullscreenElement===null&&g.currentMode==="VRPanorama"&&g.controller.emit("vr.requestExit",createEvent("vr.requestExit",{}))},S=function(){g.needsRender=!0,g.modelSceneNeedsRender=!0};if(typeof document!="undefined"&&document.addEventListener("fullscreenchange",_,!1),g.renderer&&g.renderer.domElement.addEventListener("webglcontextrestored",S,!1),g.removeEventListeners=function(){typeof document!="undefined"&&document.removeEventListener("fullscreenchange",_,!1),g.renderer&&g.renderer.domElement.removeEventListener("webglcontextrestored",S,!1)},g.plugins={},e.plugins&&e.plugins.length)for(var R=0,w=e.plugins;R<w.length;R++){var M=w[R];if(typeof M=="function")M(g);else if(Array.isArray(M)){var B=M[0],C=M[1],P=M[2];if(typeof B=="function"){var L=B(g,P);typeof C=="string"&&(g.plugins[C]?g.throwError(new Error("plugin name ".concat(C," is exists."))):g.plugins[C]=L)}}}return initLegacyEvent(g),g.enableLayeringRendering=(A=e.enableLayeringRendering)!==null&&A!==void 0?A:!1,g._buildInRendererType="default",g._builtinRenderer=null,g}return Object.defineProperty(t,"version",{get:function(){return"6.7.0-alpha.1"},enumerable:!1,configurable:!0}),Object.defineProperty(t,"dracoPath",{get:function(){return draco.decoderPath},set:function(e){draco.setDecoderPath(e)},enumerable:!1,configurable:!0}),Object.defineProperty(t,"ktx2Path",{get:function(){return ktx2.transcoderPath},set:function(e){ktx2.setTranscoderPath(e)},enumerable:!1,configurable:!0}),Object.defineProperty(t,"useNativeImageBitmap",{get:function(){return canUseNativeImageBitmap()},set:function(e){useNativeImageBitmap(e)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"panoIndex",{get:function(){return this.pano.panoIndex},enumerable:!1,configurable:!0}),t.prototype.dispose=function(){var e;if(this.destroyed!==!0){delete __FIVE_DEBUG__.instances[this.ident],this.emit("dispose"),this.destroyed=!0,this.pause(),this.stopAnimationLoop&&(this.stopAnimationLoop(),this.stopAnimationLoop=void 0),this.off(),this.networkSubscribe.off(),this.controller&&(this.controller.destroy(),this.controller=void 0);var r=this.getElement();r&&r.parentNode&&r.parentNode.removeChild(r);var o=this.modelScene.parameter;o.pano0&&o.pano0.map.dispose(),o.pano1&&o.pano1.map!==((e=o.pano0)===null||e===void 0?void 0:e.map)&&o.pano1.map.dispose(),o.reset("pano0","pano1");for(var s=0,u=this.modelScene.children.slice();s<u.length;s++){var l=u[s];l.dispose&&l.dispose(),this.modelScene.remove(l)}this.modelScene.dispose(),this.scene.dispose(),this.xrCustomObjectsScene.dispose(),worksMap.set(this,emptyWorks),this.renderer&&(this.renderer.render(new THREE__namespace.Scene,new THREE__namespace.Camera),this.renderer.setAnimationLoop(null)),this.renderer instanceof InternalWebGLRenderer&&(this.renderer.forceContextLoss&&this.renderer.forceContextLoss(),this.renderer.dispose())}},t.prototype.setViewport=function(e){Object.assign(this.viewport,e),this.needsRender=!0,this.modelSceneNeedsRender=!0},Object.defineProperty(t.prototype,"helperVisible",{get:function(){return this.helperGroup.visible},set:function(e){this.helperGroup.visible!==e&&(this.helperGroup.visible=e,this.emit("helpers.visible",createEvent("helpers.visible",{object:this.helperGroup})),this.needsRender=!0)},enumerable:!1,configurable:!0}),t.prototype.getBuiltinRenderer=function(e){var r=this._builtinRenderer;if((r==null?void 0:r.type)!==this._buildInRendererType)switch(r&&r.dispose(),this._buildInRendererType){case"default":this._builtinRenderer=new DefaultRenderer({renderer:e,camera:this.camera,scene:this.scene,modelScene:this.modelScene,enableLayeringRendering:this.enableLayeringRendering});break;case"edl":this._builtinRenderer=new EDLRenderer({renderer:e,camera:this.camera,scene:this.scene,modelScene:this.modelScene,enableLayeringRendering:this.enableLayeringRendering});break;case"hq":this._builtinRenderer=new HQRenderer({renderer:e,camera:this.camera,scene:this.scene,modelScene:this.modelScene,enableLayeringRendering:this.enableLayeringRendering});break;case"luminance":this._builtinRenderer=new LuminanceRenderer({renderer:e,camera:this.camera,scene:this.scene,modelScene:this.modelScene,enableLayeringRendering:this.enableLayeringRendering});break}return this._builtinRenderer},Object.defineProperty(t.prototype,"renderEffect",{get:function(){return this._buildInRendererType},set:function(e){this._buildInRendererType=e,this.modelSceneNeedsRender=!0},enumerable:!1,configurable:!0}),t.prototype.updateConfiguration=function(e,r){r===void 0&&(r=!0);var o=!1;if(e.panorama&&(Object.assign(this.controllerInits.Panorama,omitUndefinedFields(e.panorama)),this.currentMode==="Panorama"&&(o=!0)),e.model&&(Object.assign(this.controllerInits.Model,omitUndefinedFields(e.model)),this.currentMode==="Model"&&(o=!0)),e.floorplan&&(Object.assign(this.controllerInits.Floorplan,omitUndefinedFields(e.floorplan)),this.currentMode==="Floorplan"&&(o=!0)),e.topview&&(Object.assign(this.controllerInits.Topview,omitUndefinedFields(e.topview)),this.currentMode==="Topview"&&(o=!0)),e.mapview&&(Object.assign(this.controllerInits.Mapview,omitUndefinedFields(e.mapview)),this.currentMode==="Mapview"&&(o=!0)),e.vrPanorama&&(Object.assign(this.controllerInits.VRPanorama,omitUndefinedFields(e.vrPanorama)),this.currentMode==="VRPanorama"&&(o=!0)),e.imageOptions&&(Object.assign(this.imageOptions,e.imageOptions),(this.currentMode==="Panorama"||this.currentMode==="VRPanorama")&&(o=!0)),e.textureOptions&&Object.assign(this.textureOptions,e.textureOptions),r&&o&&this.controller&&this.currentMode){var s=this.controller.updateConfiguration(this.controllerInits[this.currentMode]);s||this.changeMode(this.currentMode,this.getCurrentState(),0,!1,!0)}},t.prototype.appendTo=function(e,r){if(r===void 0&&(r={}),!!this.renderer){if(!(this.renderer instanceof InternalWebGLRenderer)){this.throwError(new Error("cannot call appendTo method when render a external renderer"));return}var o=this.getElement();if(o){e.appendChild(o),this.refresh(r);var s=window.getComputedStyle(e).position;s!=="relative"&&s!=="absolute"&&s!=="fixed"&&s!=="sticky"&&(e.style.position="relative")}}},t.prototype.refresh=function(e,r){var o,s;if(e===void 0&&(e={}),!!this.renderer){var u=this.renderer.domElement,l=u.parentNode,c=e.width,p=c===void 0?(o=l==null?void 0:l.offsetWidth)!==null&&o!==void 0?o:512:c,f=e.height,d=f===void 0?(s=l==null?void 0:l.offsetHeight)!==null&&s!==void 0?s:512:f;r=r!=null?r:this.renderer.getPixelRatio();var h=this.renderer.capabilities.maxTextureSize,m=Math.max(p,d)*r;m>h&&(r=r/m*h,r=Math.floor(r*100)/100),this.renderer.setPixelRatio(r),this.renderer.setSize(p,d),this.needsRender=!0,this.modelSceneNeedsRender=!0;var A=now(),g=A-this.currentUpdateArgs.time,y=this.currentUpdateArgs.args;this.updateTime(A,g,y)}},t.prototype.addExtraElement=function(e){var r=this;return this.extraElements.indexOf(e)===-1&&(this.extraElements.push(e),this.controller&&this.controller.bindExtraElement(e)),function(){return r.removeExtraElement(e)}},t.prototype.removeExtraElement=function(e){var r=this.extraElements.indexOf(e);r!==-1&&(this.extraElements.splice(r,1),this.controller&&this.controller.unbindExtraElement(e))},t.prototype.getSize=function(e){if(!this.renderer)throw new Error("renderer is not initialized");return this.renderer.getSize(e),e.x*=this.viewport.width,e.y*=this.viewport.height,e},t.prototype.getDrawingBufferSize=function(e){if(!this.renderer)throw new Error("renderer is not initialized");return this.renderer.getDrawingBufferSize(e),e.x*=this.viewport.width,e.y*=this.viewport.height,e},t.prototype.updateCamera=function(e,r,o){if(o===void 0&&(o=!0),!this.controller)throw new Error("controller is not initialized.");return this.controller.updateCamera(e,r,o)},t.prototype.updateCameraWithKeyframes=function(e,r,o){if(o===void 0&&(o=!0),!this.controller)throw new Error("controller is not initialized.");return this.controller.updateCameraWithKeyframes(e,r,o)},Object.defineProperty(t.prototype,"works",{get:function(){var e=worksMap.get(this);return e||emptyWorks},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"work",{get:function(){return this.works[0]},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"observers",{get:function(){return this.work.observers},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"models",{get:function(){return this.modelScene.models},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"model",{get:function(){return this.modelScene.models[0]},enumerable:!1,configurable:!0}),t.prototype.load=function(e,r,o,s){var u=this;if(s===void 0&&(s=!0),!this.renderer)throw new Error("renderer is not initialized");var l=this.loadWorkTask.then(function(){return isPromise(e)?e.then(function(c){return u.load_(c,r,o,s)}):u.load_(e,r,o,s)});return this.loadWorkTask=l.catch(function(c){u.throwError(c)}),l},t.prototype.load_=function(e,r,o,s){var u=this,l,c,p,f,d,h,m,A,g,y;s===void 0&&(s=!0);var v={};typeof o=="number"?v.duration=o:typeof o=="object"&&Object.assign(v,o),this.works===emptyWorks&&(v.duration===void 0&&(v.duration=0),v.effect===void 0&&(v.effect="instant"));var E=[];if(Array.isArray(e))for(var b=0,T=e;b<T.length;b++){var _=T[b];_ instanceof Work?E.push(_):typeof _!="string"&&"work"in _?E.push(parseWork(_.work,_)):E.push(parseWork(_))}else e instanceof Work?E.push(e):E.push(parseWork(e));for(var S=createWorks(E),R=function(Y){var G=w,ee=new Fetcher({get networkSubscribe(){return G.networkSubscribe},requestProxy:function(te){return Promise.resolve(te).then(function(ne){return G.requestProxy(ne)}).then(function(ne){var ae=verifyURL(ne,Y.allowHosts);if(ae instanceof Error)throw ae;return ae})}});registerFetcher(Y,ee)},w=this,M=0,B=S;M<B.length;M++){var C=B[M];R(C)}r===void 0&&(r="inherit"),r==="inherit"&&this.works===emptyWorks&&(r="initial");var P=S.initial,L=P.work.observers[0],O=L?{workCode:L.work.workCode,panoIndex:L.panoIndex}:{workCode:P.work.workCode,panoIndex:0},F=(l=P.mode)!==null&&l!==void 0?l:L?"Panorama":"Mapview",N={};if(r==="inherit"){F=this.currentMode;var D=(p=(c=S[0])===null||c===void 0?void 0:c.observers)===null||p===void 0?void 0:p[this.panoIndex];D?O={workCode:D.work.workCode,panoIndex:D.panoIndex}:typeof S.initial.panoIndex=="number"?O={workCode:S.initial.work.workCode,panoIndex:S.initial.panoIndex}:(F==="Panorama"||F==="VRPanorama"||F==="XRPanorama")&&(F="Mapview"),N={longitude:this.camera.pose.longitude,latitude:this.camera.pose.latitude,fov:this.camera.pose.fov,distance:void 0,offset:void 0}}else if(r==="initial")typeof P.panoIndex=="number"&&(O={workCode:P.work.workCode,panoIndex:P.panoIndex}),P.mode&&(F=P.mode),N={longitude:P.longitude,latitude:P.latitude,fov:P.fov,distance:P.distance,offset:(f=P.offset)===null||f===void 0?void 0:f.clone()};else{if(F=(d=r.mode)!==null&&d!==void 0?d:this.currentMode,typeof r.panoIndex=="number"){var D=S.getObserver({workCode:(m=(h=r.workCode)!==null&&h!==void 0?h:P.work.workCode)!==null&&m!==void 0?m:"",panoIndex:r.panoIndex});D&&(O={workCode:D.work.workCode,panoIndex:D.panoIndex})}N={longitude:r.longitude,latitude:r.latitude,fov:r.fov,distance:r.distance,offset:r.offset}}var U=__assign(__assign(__assign({},O),{mode:F}),N),z=this.getCurrentState(),K=(A=v.duration)!==null&&A!==void 0?A:this.modeChangeDuration;(F==="Floorplan"||F==="Topview"||F==="Mapview")&&this.currentMode===F&&(K=0);var j="fly";(F==="Panorama"||F==="VRPanorama"||F==="XRPanorama")&&this.currentMode===F&&(j=(g=v.effect)!==null&&g!==void 0?g:"fade"),this.emit("works.request",createEvent("works.request",{input:e,works:S,state:U,userAction:s}));var Q=function(){u.pano=O;var Y=__assign(__assign({initial:{state:U,currentState:z,duration:K,effect:j,userAction:s}},u.commonParams()),u.controllerInits[F]),G=Controllers[F].initAnimationEndState(Y);if(u.controller&&u.currentMode===F)u.controller.updateWork(S,G,{effect:j,duration:K},s)===!1&&(u.controller.destroy(),u.controller=u.applyController(F,Y));else{var ee=u.currentMode;if(u.controller)u.controller.destroy();else{var te=Controllers[F].initAnimationEndState(Y);u.camera.setFromPose(te),u.emit("camera.update",createEvent("camera.update",{state:u.getCurrentState(),userAction:s}))}u.controller=u.applyController(F,Y);var ne=createEvent("mode.change",{prevMode:ee,mode:F,state:G,userAction:s});try{u.emit("mode.change",ne)}catch(ae){console.error(ae)}}u.updateTime(u.currentUpdateArgs.time,0,u.currentUpdateArgs.args)};worksMap.set(this,S);var V=Promise.resolve();if(F===t.Mode.Floorplan||F===t.Mode.Topview||F===t.Mode.Mapview||F===t.Mode.Model){this.modelScene.loaded===!1&&(this.camera.setFromPose(U),assignPose(this.state,this.camera.pose)),this.controller||(this.currentMode=F);var J=this.loadModels(S,v);V=Promise.all(J.map(function(Y){return Y.loadedReady})).then(function(){u.needsRender=!0,u.modelSceneNeedsRender=!0,Q(),u.emit("camera.update",createEvent("camera.update",{state:u.getCurrentState(),userAction:s}))})}else{Q();var W=this.controller,X=!1;this.modelScene.autoRefine=!1;var Z=function(){u.works===S&&X===!1&&(u.needsRender=!0,u.modelSceneNeedsRender=!0,u.emit("camera.update",createEvent("camera.update",{state:u.getCurrentState(),userAction:s})),X=!0,u.modelScene.autoRefine=!0),W.off("pano.arrived",Z),W.off("pano.cancel",Z)},J=this.loadModels(S,v);V=Promise.all(J.map(function(G){return G.initReady})).then(noop),W.once("pano.arrived",Z),W.once("pano.cancel",Z),setTimeout(Z,((y=v.duration)!==null&&y!==void 0?y:this.modeChangeDuration)+1e3)}return this.emit("works.load",createEvent("works.load",{input:e,state:this.getCurrentState(),userAction:s,works:S})),V.then(function(){return u.ready()}).then(function(){var Y;u.emit("works.ready",createEvent("works.ready",{input:e,state:u.getCurrentState(),userAction:s,works:S})),(Y=u.analysis)===null||Y===void 0||Y.work(S)})},t.prototype.reset=function(){var e=this,r=this.loadWorkTask.then(function(){return e.reset_()});return this.loadWorkTask=r.catch(function(o){e.throwError(o)}),r},t.prototype.reset_=function(){var e=this;return new Promise(function(r){var o;e.controller&&(e.controller.destroy(),e.controller=void 0);var s=e.modelScene.parameter;s.pano0&&s.pano0.map.dispose(),s.pano1&&s.pano1.map!==((o=s.pano0)===null||o===void 0?void 0:o.map)&&s.pano1.map.dispose(),s.set({pano0:null,pano1:null,modelAlpha:1}),e.renderer&&e.modelScene.update(e.renderer,e.camera);for(var u=0,l=e.modelScene.children;u<l.length;u++){var c=l[u];c instanceof Model&&(c.dispose(),e.modelScene.remove(c))}e.needsRender=!0,e.modelSceneNeedsRender=!0,worksMap.delete(e);var p=parseWork(null),f=new Model(p);f.work=p,worksMap.set(e,createWorks([p])),e.currentMode="Mapview",e.pano={workCode:"",panoIndex:0},e.camera.setFromPose({distance:0,fov:DEFAULT_CAMERA_FOV,longitude:0,latitude:0,offset:new THREE__namespace.Vector3(0,0,0)}),e.state={mode:e.currentMode,workCode:e.pano.workCode,panoIndex:e.pano.panoIndex,longitude:e.camera.pose.longitude,latitude:e.camera.pose.latitude,fov:e.camera.pose.fov,offset:e.camera.pose.offset.clone(),distance:e.camera.pose.distance},e.camera.needsRender=!1,e.needsRender=!1,e.modelSceneNeedsRender=!1,r()})},t.prototype.changeMode=function(e,r,o,s,u){var l=this;return r===void 0&&(r={}),s===void 0&&(s=!0),u===void 0&&(u=!1),new Promise(function(c,p){var f,d,h,m;if(!l.renderer)throw new Error("renderer is not initialized.");r=__assign({},r);var A=0;l.controller&&(typeof o=="number"?A=o:A=(f=o==null?void 0:o.duration)!==null&&f!==void 0?f:l.modeChangeDuration);var g="fly";l.controller&&typeof o=="object"&&o.effect&&(g=o.effect);var y=typeof r.panoIndex=="number"?{workCode:(m=(d=r.workCode)!==null&&d!==void 0?d:(h=l.work)===null||h===void 0?void 0:h.workCode)!==null&&m!==void 0?m:"",panoIndex:r.panoIndex}:l.pano;if(!t.Mode.hasOwnProperty(e)){var v=new Error('mode "'.concat(e,'" is not existed'));l.throwError(v),p(v);return}if((e===t.Mode.Panorama||e===t.Mode.VRPanorama||e===t.Mode.XRPanorama)&&!l.works.getObserver(y)){var v=new Error("PanoId ".concat(panoStringify(y)," not existed."));l.throwError(v),p(v);return}(e===t.Mode.Floorplan||e===t.Mode.Topview||e===t.Mode.Mapview||e===t.Mode.Model)&&(l.modelScene.loaded||(A=0));var E=l.controller,b=l.currentMode,T=function(){if(l.controller&&l.controller.stopMomentumMovement(),l.controller&&u===!1&&b===e)e===t.Mode.Panorama||e===t.Mode.Model||e===t.Mode.VRPanorama||e===t.Mode.XRPanorama?!panoEqual(l.pano,y)&&"moveToPano"in l.controller&&typeof l.controller.moveToPano=="function"?l.controller.moveToPano(y,__assign({duration:A},r),s):l.controller.updateCamera(r,A,s).catch(noop):(panoEqual(l.pano,y)||(l.pano=y),l.controller.updateCamera(r,A,s).catch(noop));else{var S=__assign(__assign({},r),y),R=__assign(__assign({initial:{state:S,currentState:l.getCurrentState(),duration:A,effect:g,userAction:s}},l.commonParams()),l.controllerInits[e]),w=Controllers[e].initAnimationEndState(R),M=createEvent("mode.change.request",{prevMode:l.currentMode,mode:e,state:w,userAction:s});if(l.emit("mode.change.request",M),!M.defaultPrevented){E&&E.destroy(),l.controller=l.applyController(e,R);var B=createEvent("mode.change",{prevMode:l.currentMode,mode:e,state:w,userAction:s});l.emit("mode.change",B)}}c()};if(e===t.Mode.VRPanorama)l.requestFullscreen(),requestDeviceOrientationPermission().then(function(){return T()}).catch(function(S){var R=S instanceof Error?S:new Error(String(S));l.exitFullscreen(),l.throwError(R),p(R)});else if(e===t.Mode.XRPanorama){var _=AnimationFrameLoop.shared.getContext();_?_.end():requestXRSessionPermission().then(function(S){AnimationFrameLoop.shared.setContext(S),T()}).catch(function(S){var R=S instanceof Error?S:new Error(String(S));l.throwError(R),p(R)})}else T()})},t.prototype.getPixels=function(e,r,o,s,u,l,c){if(!this.renderer)throw new Error("renderer is not initialized.");var p=this.renderer.getPixelRatio(),f=this.renderer.getRenderTarget(),d=this.renderer.getSize(new THREE__namespace.Vector2),h=0,m=0,A=1,g=1,y,v,E,b,T;typeof e=="number"?(h=e,typeof r=="number"&&(m=r),typeof o=="number"&&(A=o),typeof s=="number"&&(g=s),y=u,v=l,T=c):(h=e.x,m=e.y,A=e.width,g=e.height,y=e.pixelRatio,v=e.flipY,E=e.helperVisible,b=e.skipPanorama,T=e.buffer),h=Math.ceil(h),m=Math.ceil(m),A=Math.ceil(A),g=Math.ceil(g),y=Math.ceil(y!=null?y:p),v=v!=null?v:!1;var _=this.helperVisible,S=this.modelScene.parameter.modelAlpha;this.helperVisible=E!=null?E:this.helperVisible,b&&(this.controller instanceof Controllers.Panorama||this.controller instanceof Controllers.VRPanorama||this.controller instanceof Controllers.XRPanorama)&&b===!0&&this.modelScene.parameter.set("modelAlpha",1),this.modelScene.update(this.renderer,this.camera);var R=this.getPixelsRenderTarget;R.setSize(A*y,g*y),this.renderer.setRenderTarget(R),this.camera.pixelRatio=y,this.camera.resolution.set(A,g),this.camera.setViewOffset(d.width,d.height,h,d.height-m-g,A,g),this.scene.update(this.renderer,this.camera),this.render(),this.helperVisible=_,S===void 0?this.modelScene.parameter.reset("modelAlpha"):this.modelScene.parameter.set("modelAlpha",S),this.renderer.setRenderTarget(f),this.camera.clearViewOffset(),this.camera.pixelRatio=p,this.getSize(this.camera.resolution),this.camera.aspect=this.camera.resolution.width/this.camera.resolution.height,this.modelScene.update(this.renderer,this.camera),this.scene.update(this.renderer,this.camera);var w=A*y,M=g*y,B=w*M,C=B*4;if(T){if(T.length!==C)throw new Error("buffer length is not equals pixels ".concat(C))}else T=new Uint8Array(C);if(this.renderer.readRenderTargetPixels(R,0,0,A*y,g*y,T),v)for(var P=B/2,L=0,O=0,F=0,N=0;O<P;O++)for(N=(M-Math.floor(O/w)-1)*w+O%w,F=0;F<4;F++)L=T[O*4+F],T[O*4+F]=T[N*4+F],T[N*4+F]=L;return T},t.prototype.getElement=function(){var e;return(e=this.renderer)===null||e===void 0?void 0:e.domElement},t.prototype.render=function(e){var r=this.renderer;if(r){var o=r.getRenderTarget(),s=r.autoClear,u=r.autoClearColor,l=r.autoClearDepth,c=r.autoClearStencil,p=scratchClearColor.copy(r.getClearColor()),f=r.getClearAlpha(),d=r.getViewport(scratchViewport),h=r.getScissor(scratchScissor),m=r.getScissorTest(),A=r.getSize(scratchRenderSize),g=r.getPixelRatio(),y=Math.floor(A.x*this.viewport.left),v=Math.floor(A.y*this.viewport.bottom),E=Math.floor(A.x*this.viewport.width),b=Math.floor(A.y*this.viewport.height);r.setClearColor(this.backgroundColor,this.backgroundAlpha),r.setViewport(y,v,E,b),r.setScissor(y,v,E,b);var T=this.viewport.bottom!==0||this.viewport.left!==0||this.viewport.width!==1||this.viewport.height!==1;r.setScissorTest(T);var _=this.scene.background;this.modelScene.background=this.camera.isOrthographicCamera?null:_,this.modelScene.environment=this.scene.environment,this.scene.background=null;var S=this.getBuiltinRenderer(r);S.setSize(A.x,A.y,g),this.controller?this.controller.render(S,this.onlyRenderIfNeeds?this.modelSceneNeedsRender:!0):S.render(this.onlyRenderIfNeeds?this.modelSceneNeedsRender:!0),this.scene.background=_,this.modelScene.background=null,this.modelScene.environment=null,this.poweredByRealsee&&this.currentMode!=="VRPanorama"&&this.currentMode!=="XRPanorama"&&r.getRenderTarget()!==this.getPixelsRenderTarget&&renderPoweredByRealsee(r),r.setRenderTarget(o),r.autoClear=s,r.autoClearColor=u,r.autoClearDepth=l,r.autoClearStencil=c,r.setClearColor(p,f),r.setViewport(d),r.setScissor(h),r.setScissorTest(m),e&&AnimationFrameLoop.shared.add(e,!0)}},t.prototype.updateTime=function(e,r){for(var o,s=this,u=[],l=2;l<arguments.length;l++)u[l-2]=arguments[l];if(this.currentUpdateArgs={time:e,args:u},!this.destroyed){if(this.renderer&&ktx2.detectSupport(this.renderer),this.syncingState=this.syncState(e,r),this.controller&&(o=this.controller).updateTime.apply(o,__spreadArray([e,r],u,!1)),this.renderer&&(this.camera.pixelRatio=this.renderer.getPixelRatio(),this.getSize(this.camera.resolution),this.camera.aspect=this.camera.resolution.width/this.camera.resolution.height),this.camera.autoNearFar){scratchBox3.makeEmpty(),scratchBox3.expandByObject(this.boundingMesh);var c=scratchBox3.getBoundingSphere(scratchSphere),p=c.radius*2;c.containsPoint(this.camera.position)||(p=this.camera.position.distanceTo(c.center)+c.radius),p=clamp$1(p,800);var f=p/1e4;f=clamp$1(f,.03,.1),this.camera.near!==f&&(this.camera.near=f),this.camera.far!==p&&(this.camera.far=p)}if(this.camera.controllerMode=this.currentMode,this.camera.updateTime(e),this.renderer){var d=this.modelScene.loaded,h=this.modelScene.refined;if(this.modelScene.loaded){for(var m=[],A=0,g=this.modelScene.children;A<g.length;A++){var y=g[A];y instanceof Model&&y.outdated&&m.push(y)}for(var v=0,E=m;v<E.length;v++){var b=E[v];this.modelScene.remove(b),b.dispose()}if(m.length>0)for(var T=0,_=this.modelScene.children;T<_.length;T++){var y=_[T];y instanceof Model&&(y.visible=!0,this.modelSceneNeedsRender=!0)}}this.modelScene.update(this.renderer,this.camera),d===!1&&this.modelScene.loaded===!0&&(this.controller&&this.controller.updateModel(this.modelScene),AnimationFrameLoop.shared.add(function(){s.emit("models.load",createEvent("models.load",{modelScene:s.modelScene}))},!0,0,10)),h===!1&&this.modelScene.refined===!0&&AnimationFrameLoop.shared.add(function(){s.emit("models.refined",createEvent("models.refined",{modelScene:s.modelScene}))},!0,0,10)}this.renderer&&this.scene.update(this.renderer,this.camera),this.syncingState=!1,this.controller&&(this.controller.needsRender===!0&&(this.controller.needsRender=!1,this.needsRender=!0),this.controller.modelSceneNeedsRender===!0&&(this.controller.modelSceneNeedsRender=!1,this.modelSceneNeedsRender=!0)),this.camera.needsRender===!0&&(this.camera.needsRender=!1,this.needsRender=!0,this.modelSceneNeedsRender=!0),this.modelScene.needsRender===!0&&(this.modelScene.needsRender=!1,this.needsRender=!0,this.modelSceneNeedsRender=!0),this.scene.needsRender===!0&&(this.scene.needsRender=!1,this.needsRender=!0),this.onlyRenderIfNeeds!==!0&&(this.needsRender=!0,this.modelSceneNeedsRender=!0),this.modelSceneNeedsRender===!0&&(this.needsRender=!0);var S=this.camera.resolution.width*this.camera.pixelRatio*this.camera.resolution.height*this.camera.pixelRatio;S>4096*2048?this.renderSwitch01=this.renderSwitch01^1:this.renderSwitch01=0,this.renderSwitch01!==0&&(this.needsRender=!1),this.paused===!0&&(this.needsRender=!1);var R=createEvent("render.prepare",{needsRender:this.needsRender});this.emit("render.prepare",R),R.defaultPrevented&&(this.needsRender=!1);var w=this.needsRender;this.renderer&&w&&this.render(),this.needsRender=!1,this.modelSceneNeedsRender=!1,this.emit("render",createEvent("render",{needsRender:w})),this.hasListener("fps")&&(this.fps.testTime&&e-this.fps.testTime<1e3?this.fps.testCount++:(this.emit("fps",this.fps.testCount),this.fps.testTime=e,this.fps.testCount=0))}},t.prototype.pause=function(){this.paused=!0,this.renderer&&this.renderer instanceof InternalWebGLRenderer&&this.renderer.clear(!0,!0,!0)},t.prototype.play=function(){this.needsRender=!0,this.modelSceneNeedsRender=!0,this.paused=!1},t.prototype.moveToPano=function(e,r,o){r===void 0&&(r={}),o===void 0&&(o=!0);var s=this,u=s.controller,l=s.renderer;if(!u)return this.throwError(new Error("controller is not initialized.")),Promise.resolve();if(!l)return this.throwError(new Error("renderer is not initialized.")),Promise.resolve();var c=this.works.getObserver(e);if(!c)return this.throwError(new Error("pano ".concat(JSON.stringify(e)," not existed."))),Promise.resolve();var p={workCode:c.work.workCode,panoIndex:c.panoIndex};return"moveToPano"in u&&typeof u.moveToPano=="function"?u.moveToPano(p,r,o):c&&(this.pano=p,this.once("initAnimation.start",function(f){r.moveStartCallback&&r.moveStartCallback(f.state)}),this.once("initAnimation.end",function(f){r.moveEndCallback&&r.moveEndCallback(f.state)}),this.changeMode(t.Mode.Panorama,r,{effect:r.effect},o)),this.ready()},t.prototype.preloadPano=function(e,r){var o=this;r===void 0&&(r=noop);var s=this.works.getObserver(e);if(!s)return Promise.reject(new Error("Pano ".concat(JSON.stringify(e)," never found")));var u=["right","left","up","down","front","back"],l=now();return Promise.all(u.map(function(c){var p=panoStringify({panoIndex:s.panoIndex,workCode:s.work.workCode}),f=__assign({key:"pano.".concat(p,".").concat(c)},pick(o.imageOptions,["size","format","quality","forceUseExifOrientation","mappings"])),d=s.work.getURL(s.images[c]),h=o.imageOptions.transform?o.imageOptions.transform(d,f):imageURL(d,f);return getFetcher(s.work).preload(h)})).then(function(){var c=now()-l;return r(c),c})},t.prototype.project2d=function(e,r){if(r===void 0&&(r=!1),!this.renderer)return null;if(r){var o=this.camera.position,s=e.clone().sub(o),u=new THREE__namespace.Raycaster(o,s.clone().normalize());u.params.Points={threshold:.1};var l=this.modelScene.intersectRaycaster(u)[0];if(l&&l.distance+.01<s.length())return null}var c=e.clone().project(this.camera);if(Math.abs(c.z)>1)return null;var p=this.renderer.getSize(new THREE__namespace.Vector2),f=p.x*this.viewport.width,d=p.y*this.viewport.height,h=p.x*this.viewport.left+(c.x+1)/2*f,m=p.y*(1-this.viewport.bottom-this.viewport.height)+(-c.y+1)/2*d;return new THREE__namespace.Vector2(h,m)},t.prototype.getCurrentState=function(){return __assign(__assign({},this.camera.copyPose()),{mode:this.currentMode,workCode:this.pano.workCode,panoIndex:this.pano.panoIndex})},t.prototype.setState=function(e,r,o){var s,u,l,c,p,f,d,h,m,A;r===void 0&&(r=!1),o===void 0&&(o=!0),e=pick(e,["mode","workCode","panoIndex","longitude","latitude","fov","offset","distance"]),e.offset&&!(e instanceof THREE__namespace.Vector3)&&(e.offset=new THREE__namespace.Vector3(e.offset.x,e.offset.y,e.offset.z));var g;if(typeof e.panoIndex=="number")if(e.workCode)g={workCode:e.workCode,panoIndex:e.panoIndex};else{var y=(u=(s=this.work)===null||s===void 0?void 0:s.workCode)!==null&&u!==void 0?u:"",v=this.state.workCode;this.works.filter(function(P){return P.workCode===v}).length>0&&(y=v),g={workCode:y,panoIndex:e.panoIndex}}var E=(l=e.mode)!==null&&l!==void 0?l:this.state.mode,b,T,_,S,R;if(this.controller&&this.controller.stopMomentumMovement(),this.state.mode!==E){if(E==="VRPanorama"){this.changeMode("VRPanorama",void 0,void 0,!0);return}var w={workCode:g==null?void 0:g.workCode,panoIndex:g==null?void 0:g.panoIndex};typeof e.longitude=="number"&&(w.longitude=e.longitude),typeof e.latitude=="number"&&(w.latitude=e.latitude),typeof e.fov=="number"&&(w.fov=e.fov),typeof e.distance=="number"&&(w.distance=e.distance),e.offset instanceof THREE__namespace.Vector3&&(w.offset=e.offset);var M=__assign(__assign({initial:{state:w,currentState:this.getCurrentState(),duration:this.modeChangeDuration,effect:"fly",userAction:!1}},this.commonParams()),this.controllerInits[E]),B=Controllers[E].initAnimationEndState(M);b=B.longitude,T=B.latitude,_=B.fov,S=B.offset,R=B.distance}else b=(c=e.longitude)!==null&&c!==void 0?c:this.state.longitude,T=(p=e.latitude)!==null&&p!==void 0?p:this.state.latitude,_=(f=e.fov)!==null&&f!==void 0?f:this.state.fov,S=(d=e.offset)!==null&&d!==void 0?d:this.state.offset,R=(h=e.distance)!==null&&h!==void 0?h:this.state.distance;var C={workCode:(g!=null?g:this.pano).workCode,panoIndex:(g!=null?g:this.pano).panoIndex,mode:E,longitude:b,latitude:T,fov:_,offset:S,distance:R};this.emit("state.set",createEvent("state.set",{userAction:o,state:C})),stateEqual(this.state,C)||(this.controller&&C.mode==="VRPanorama"&&C.mode!==this.state.mode?(assignState(this.state,C),this.changeMode("VRPanorama")):this.controller&&C.mode==="XRPanorama"&&C.mode!==this.state.mode?(assignState(this.state,C),this.changeMode("XRPanorama")):(assignState(this.state,C),this.controller&&o&&(this.controller.userAction=!1),r&&this.state.mode===C.mode&&(this.syncingState=this.syncState(now(),0,r),this.syncingState&&((m=this.controller)===null||m===void 0||m.updateTime(now(),0),this.syncingState=!1)),this.emit("state.change",createEvent("state.change",{userAction:o,state:this.state})),(A=this.analysis)===null||A===void 0||A.state(this.works,this.state)))},t.prototype.syncState=function(e,r,o){o===void 0&&(o=!1);var s=this.stateSynced;if(this.stateSynced=!1,!this.controller)return!1;if(this.state.mode!==this.currentMode){var u={mode:this.state.mode,workCode:this.state.workCode,panoIndex:this.state.panoIndex,longitude:this.state.longitude,latitude:this.state.latitude,fov:this.state.fov,offset:this.state.offset,distance:this.state.distance};return this.changeMode(this.state.mode,u,this.modeChangeDuration,this.controller.userAction),!0}if(!this.controller.isReady())return!1;if(this.controller instanceof Controllers.Model){if(notSimilarVector3(this.camera.pose.offset,this.state.offset)){var l={longitude:this.state.longitude,latitude:this.state.latitude,fov:this.state.fov,offset:this.state.offset};return this.controller.moveToPosition(this.state.offset,__assign(__assign({},l),{duration:o?0:void 0}),!1),!0}}else{var c={workCode:this.state.workCode,panoIndex:this.state.panoIndex};if(!panoEqual(c,this.pano)&&"moveToPano"in this.controller&&typeof this.controller.moveToPano=="function"){var l={longitude:this.state.longitude,latitude:this.state.latitude,fov:this.state.fov,offset:this.state.offset,distance:this.state.distance};return this.controller.moveToPano(c,l,!1),!0}}if(this.controller instanceof Controllers.Floorplan||this.controller instanceof Controllers.Topview||this.controller instanceof Controllers.Mapview){var p=1,f=.2,d=.2,h=Math.PI/45,m=o?this.state.fov:stepNumber(this.camera.pose.fov,this.state.fov,p),A=Math.abs(this.camera.pose.distance-this.state.distance),g=A>d*15?A/15:f,y=o?this.state.distance:stepNumber(this.camera.pose.distance,this.state.distance,g),v=this.camera.pose.offset.distanceTo(this.state.offset),E=v>d*15?v/15:d,b=o?new THREE__namespace.Vector3().copy(this.state.offset):stepVector(this.camera.pose.offset,this.state.offset,E),T=o?{longitude:this.state.longitude,latitude:this.state.latitude}:stepCoordinates({longitude:this.camera.pose.longitude,latitude:this.camera.pose.latitude},{longitude:this.state.longitude,latitude:this.state.latitude},h),_=T.longitude,S=T.latitude;if(notSimilarValue(m,this.camera.pose.fov)||notSimilarVector3(b,this.camera.pose.offset)||notSimilarValue(y,this.camera.pose.distance)||notSimilarValue(_,this.camera.pose.longitude,Math.PI*2)||notSimilarValue(S,this.camera.pose.latitude)){var R={x:b.x,y:b.y,z:b.z},w={fov:m};return Object.assign(R,{distance:y}),Object.assign(w,{longitude:_,latitude:S}),this.controller.stopMomentumMovement(),this.controller.cameraMotion.set(w,0).catch(noop),this.controller.locationMotion.set(R,0).catch(noop),!0}}else{var M=1,B=Math.PI/45,m=o?this.state.fov:stepNumber(this.camera.pose.fov,this.state.fov,M),C=o?{longitude:this.state.longitude,latitude:this.state.latitude}:stepCoordinates({longitude:this.camera.pose.longitude,latitude:this.camera.pose.latitude},{longitude:this.state.longitude,latitude:this.state.latitude},B),_=C.longitude,S=C.latitude,y=this.state.distance,b=new THREE__namespace.Vector3().copy(this.state.offset);if(notSimilarValue(y,this.camera.pose.distance)&&(this.state.distance=this.camera.pose.distance),notSimilarVector3(b,this.camera.pose.offset)&&(this.state.offset=this.camera.pose.offset.clone()),notSimilarValue(_,this.camera.pose.longitude,Math.PI*2)||notSimilarValue(S,this.camera.pose.latitude)||notSimilarValue(m,this.camera.pose.fov))return this.controller.stopMomentumMovement(),this.controller.cameraMotion.set({longitude:_,latitude:S,fov:m},0).catch(noop),!0}if(this.stateSynced=!0,s===!1&&this.emit("state.synced",createEvent("state.synced",{userAction:!1,state:this.state})),this.readyCallbacks.length&&this.stateSynced){var P=this.currentMode,L=P===t.Mode.Floorplan||P===t.Mode.Topview||P===t.Mode.Mapview||P===t.Mode.Model;if(!L||this.modelScene.loaded){var O=this.readyCallbacks.slice();this.readyCallbacks.length=0;for(var F=0,N=O;F<N.length;F++){var D=N[F];this.controller instanceof Controllers.Panorama&&D.tile===!0&&!this.controller.isTileReady()?this.readyCallbacks.push(D):D()}}}return!1},t.prototype.ready=function(e){var r=this;return e===void 0&&(e={}),new Promise(function(o){var s;r.readyCallbacks.push(Object.assign(o,{tile:(s=e.tile)!==null&&s!==void 0?s:!1}))}).then(function(){return r.model.initReady})},t.prototype.requestFullscreen=function(){var e;if(isMobile){var r=(e=this.getElement())===null||e===void 0?void 0:e.parentNode;r&&"requestFullscreen"in r&&typeof document!="undefined"&&document.fullscreenElement===null&&r.requestFullscreen()}},t.prototype.exitFullscreen=function(){typeof document!="undefined"&&document.fullscreenElement&&"exitFullscreen"in document&&document.exitFullscreen()},t.prototype.throwError=function(e){this.hasListener("error")?this.emit("error",e):console.error(e)},t.prototype.loadModels=function(e,r){for(var o=this,s,u,l,c,p,f,d=new Map,h=!1,m=[],A=0,g=this.modelScene.children;A<g.length;A++){var y=g[A];y instanceof Model&&(y.outdated=!0,d.set(y.work.workCode,y),h=!0)}for(var v=function(T){var _=e[T],S=_.workCode&&d.get(_.workCode);if(S)S.work=_,S.outdated=!1,d.delete(_.workCode),m.push(S);else{var R=(l=(u=(s=r.model)===null||s===void 0?void 0:s.textureOptions)!==null&&u!==void 0?u:r.textureOptions)!==null&&l!==void 0?l:E.textureOptions,w=(p=(c=r.model)===null||c===void 0?void 0:c["3d-tiles"])!==null&&p!==void 0?p:r["3d-tiles"],M=new Model(_,{light:(f=r.model)===null||f===void 0?void 0:f.light,textureOptions:R});M.initReady.then(function(){if(w)if(typeof w=="function")for(var O=0,F=M.viewLayers;O<F.length;O++){var N=F[O],D=w(N,M,T);D&&(D.viewerRequestVolume&&(N.viewerRequestVolume=makeBoundingVolume(D.viewerRequestVolume)),N.parameter.set(omit(D,["showLayers"])),D.showLayers===!1?N.visible=!1:Array.isArray(D.showLayers)&&(N.visible=D.showLayers.includes(N.name)))}else for(var U=0,z=M.viewLayers;U<z.length;U++){var N=z[U];w.viewerRequestVolume&&(N.viewerRequestVolume=makeBoundingVolume(w.viewerRequestVolume)),N.parameter.set(omit(w,["showLayers"])),w.showLayers===!1?N.visible=!1:Array.isArray(w.showLayers)&&(N.visible=w.showLayers.includes(N.name))}}),m.push(M),h&&(M.visible=!1),E.modelScene.add(M);var B=function(){AnimationFrameLoop.shared.add(function(){o.emit("model.load",createEvent("model.load",{work:_,model:M,error:null}))},!0)},C=function(O){var F=O.error;o.emit("model.error",createEvent("model.error",{work:_,model:M,error:F})),o.throwError(F)},P=function(){o.emit("model.changeShownFloor",createEvent("model.changeShownFloor",{work:_,model:M,error:null}))},L=function(){M.removeEventListener("load",B),M.removeEventListener("error",C),M.removeEventListener("changeShownFloor",P),M.removeEventListener("dispose",L)};M.addEventListener("load",B),M.addEventListener("error",C),M.addEventListener("changeShownFloor",P),M.addEventListener("dispose",L),E.emit("model.request",createEvent("model.request",{work:_,model:M,error:null}))}},E=this,b=0;b<e.length;b++)v(b);return this.modelScene.loaded=!1,this.modelScene.refined=!1,m},t.prototype.commonParams=function(){return{ident:this.ident,scene:this.scene,xrCustomObjectsScene:this.xrCustomObjectsScene,helper:this.helperGroup,boundingMesh:this.boundingMesh,camera:this.camera,renderer:this.renderer,viewport:this.viewport,element:this.getElement(),works:this.works,imageOptions:this.imageOptions,enableWheel:this.enableWheel,extraElements:this.extraElements,videoTexture:this.videoTexture,modelScene:this.modelScene}},t.prototype.applyController=function(e,r){var o=this;if(!this.renderer)throw new Error("renderer is not initialized.");var s=Controllers[e];this.currentMode=e;for(var u=new s(r),l=function(m){u.on(m,function(){for(var A=[],g=0;g<arguments.length;g++)A[g]=arguments[g];var y=o.emit.apply(o,__spreadArray([m],A,!1));if(y)return!1})},c=0,p=PROXY_CONTROLLER_EVENT_NAMES;c<p.length;c++){var f=p[c];l(f)}{var d=Controllers[e].initAnimationEndState(r),h=r.initial.userAction;stateEqual(this.state,d)||(assignState(this.state,d),this.emit("state.change",createEvent("state.change",{userAction:h,state:this.state}))),this.emit("currentState.change",createEvent("currentState.change",{userAction:h,state:this.getCurrentState()}))}return u.on("camera.update",function(m){var A;if(o.controller){var g=o.controller.getTargetState();m.userAction&&o.syncingState===!1&&o.state.mode===g.mode&&!stateEqual(o.state,g)&&(assignState(o.state,g),o.emit("state.change",createEvent("state.change",{userAction:m.userAction,state:o.state})),(A=o.analysis)===null||A===void 0||A.state(o.works,o.state))}o.emit("currentState.change",createEvent("currentState.change",{userAction:m.userAction,state:o.getCurrentState()}))}),u.on("initAnimation.start",function(m){var A,g=m.state,y=m.userAction;y&&o.state.mode===g.mode&&!stateEqual(o.state,g)&&(assignState(o.state,g),o.emit("state.change",createEvent("state.change",{userAction:y,state:o.state})),(A=o.analysis)===null||A===void 0||A.state(o.works,o.state))}),u.on("initAnimation.end",function(m){var A,g=m.state,y=m.userAction;o.pano={workCode:g.workCode,panoIndex:g.panoIndex},y&&o.state.mode===g.mode&&!stateEqual(o.state,g)&&(assignState(o.state,g),o.emit("state.change",createEvent("state.change",{userAction:y,state:o.state})),(A=o.analysis)===null||A===void 0||A.state(o.works,o.state))}),u.on("pano.moveTo",function(m){var A,g=m.state,y=m.userAction;o.pano={workCode:g.workCode,panoIndex:g.panoIndex},y&&o.state.mode===g.mode&&!stateEqual(o.state,g)&&(assignState(o.state,g),o.emit("state.change",createEvent("state.change",{userAction:y,state:o.state})),(A=o.analysis)===null||A===void 0||A.state(o.works,o.state))}),u.on("pano.arrived",function(m){var A,g=m.state,y=m.userAction;o.pano={workCode:g.workCode,panoIndex:g.panoIndex},y&&o.state.mode===g.mode&&!stateEqual(o.state,g)&&(assignState(o.state,g),o.emit("state.change",createEvent("state.change",{userAction:y,state:o.state})),(A=o.analysis)===null||A===void 0||A.state(o.works,o.state))}),u.on("pano.cancel",function(m){var A,g=m.state,y=m.userAction;y&&o.state.mode===g.mode&&!stateEqual(o.state,g)&&(assignState(o.state,g),o.emit("state.change",createEvent("state.change",{userAction:y,state:o.state})),(A=o.analysis)===null||A===void 0||A.state(o.works,o.state))}),u.on("pano.moveTo",function(m){var A=m.userAction;o.emit("currentState.change",createEvent("currentState.change",{userAction:A,state:o.getCurrentState()}))}),u.on("pano.request",function(m){o.emit("pano.request",m),m.defaultPrevented||o.moveToPano(m.state,m.options,m.userAction)}),u.on("vr.requestExit",function(){o.currentMode===t.Mode.VRPanorama&&(o.exitFullscreen(),o.changeMode(t.Mode.Panorama))}),u.on("error",function(m){return o.throwError(m)}),u},t.prototype.removeEventListeners=function(){},Object.defineProperty(t.prototype,"internalLightsEnabled",{get:function(){var e=this.scene.children.find(function(r){return r.name==="internalLights"});return e?e.visible:!1},set:function(e){var r=this.scene.children.find(function(o){return o.name==="internalLights"});r&&(r.visible=e),r=this.modelScene.children.find(function(o){return o.name==="internalLights"}),r&&(r.visible=e)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"scissor",{get:function(){return this.viewport},enumerable:!1,configurable:!0}),t.prototype.setScissor=function(e){return this.setViewport(e)},t.prototype.getPose=function(){var e=this.camera.copyPose(),r=e.longitude,o=e.latitude,s=e.fov,u=e.offset,l=e.distance;return{longitude:r,latitude:o,fov:s,offset:u.clone(),distance:l}},t.prototype.getLongitudeAndLatitude=function(){var e=this.getPose(),r=e.longitude,o=e.latitude;return{longitude:r,latitude:o}},t.prototype.getOffset=function(){return this.getPose().offset},t.prototype.getCameraLocal=function(){if(this.pano.workCode&&this.controller&&this.works){var e=this.works.getObserver(this.pano);if(e){var r=new THREE__namespace.Object3D;r.matrix.copy(e.matrix).premultiply(e.work.transform),r.matrix.decompose(r.position,r.quaternion,r.scale),r.matrixAutoUpdate=!1;var o=new THREE__namespace.Vector3(0,0,-1);o.applyQuaternion(this.camera.quaternion);var s=r.quaternion.clone().inverse();o.applyQuaternion(s);var u=Math.atan2(o.x,-o.z),l=-Math.asin(o.y);return{theta:u,phi:l,lookAtVector:o}}}return null},Object.defineProperty(t.prototype,"enableIOSEDR",{get:function(){return!1},set:function(e){},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"enableEDL",{get:function(){return this.renderEffect==="edl"},set:function(e){this.renderEffect=e?"edl":"default"},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"enableHQ",{get:function(){return this.renderEffect==="hq"},set:function(e){this.renderEffect=e?"hq":"default"},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"enablePostProcessing",{get:function(){return!1},set:function(e){},enumerable:!1,configurable:!0}),t.Mode={Panorama:"Panorama",Model:"Model",Floorplan:"Floorplan",Topview:"Topview",Mapview:"Mapview",VRPanorama:"VRPanorama",XRPanorama:"XRPanorama"},t})(Subscribe),__FIVE_DEBUG__={constructor:Five,THREE:THREE__namespace,instances:{}};typeof window!="undefined"&&Object.assign(window,{__FIVE_DEBUG__});var XRButton=(function(){function n(){}return n.createButton=function(t){var e=document.createElement("button");function r(){e.style.display="",e.style.cursor="pointer",e.style.left="calc(50% - 50px)",e.style.width="100px",e.textContent="ENTER VR",e.onmouseenter=function(){e.style.opacity="1.0"},e.onmouseleave=function(){e.style.opacity="0.5"},e.onclick=function(){t&&t()}}function o(){e.style.display="",e.style.cursor="auto",e.style.left="calc(50% - 75px)",e.style.width="150px",e.onmouseenter=null,e.onmouseleave=null,e.onclick=null}function s(){o(),e.textContent="VR NOT SUPPORTED"}function u(c){c.style.position="absolute",c.style.bottom="20px",c.style.padding="12px 6px",c.style.border="1px solid #fff",c.style.borderRadius="4px",c.style.background="rgba(0,0,0,0.1)",c.style.color="#fff",c.style.font="normal 13px sans-serif",c.style.textAlign="center",c.style.opacity="0.5",c.style.outline="none",c.style.zIndex="999"}if("xr"in navigator)return e.id="VRButton",e.style.display="none",u(e),navigator.xr.isSessionSupported("immersive-vr").then(function(c){c?r():s()}),e;var l=document.createElement("a");return window.isSecureContext===!1?(l.href=document.location.href.replace(/^http:/,"https:"),l.innerHTML="WEBXR NEEDS HTTPS"):(l.href="https://immersiveweb.dev/",l.innerHTML="WEBXR NOT AVAILABLE"),l.style.left="calc(50% - 90px)",l.style.width="180px",l.style.textDecoration="none",u(l),l},n})();exports.AnimationFrameLoop=AnimationFrameLoop,exports.Camera=Camera,exports.CustomShader=PBMCustomShader,exports.Fetcher=Fetcher,exports.Five=Five,exports.InternalWebGLRenderer=InternalWebGLRenderer,exports.Model=Model,exports.ModelScene=ModelScene,exports.Motion=Motion,exports.NetworkSubscribe=NetworkSubscribe,exports.PBMContainer=PBMContainer,exports.PBMCustomShader=PBMCustomShader,exports.PBMGroup=PBMGroup,exports.PBMMesh=PBMMesh,exports.PBMMeshMaterial=PBMMeshMaterial,exports.PBMPointCloud=PBMPointCloud,exports.PBMPointCloudMaterial=PBMPointCloudMaterial,exports.PBMSkinnedMesh=PBMSkinnedMesh,exports.PROXY_CONTROLLER_EVENT_NAMES=PROXY_CONTROLLER_EVENT_NAMES,exports.PanoCircleMesh=PanoCircleMesh,exports.PanoCircleMeshCustom=PanoCircleMeshCustom,exports.PanoCircleMeshSolid=PanoCircleMeshSolid,exports.Parameter=Parameter,exports.Scene=Scene,exports.Subscribe=Subscribe,exports.TextureLoader=TextureLoader,exports.Tile=Tile,exports.Tile3DModel=Tile3D,exports.TileCache=TileCache,exports.TileNode=TileNode,exports.TileRequestScheduler=TileRequestScheduler,exports.Tileset=Tileset,exports.Trajectory=Trajectory,exports.TrajectoryNode=TrajectoryNode,exports.Work=Work,exports.WorkResolvedObserver=WorkResolvedObserver,exports.XRButton=XRButton,exports.controllersDefaultInitArgs=controllersDefaultInitArgs,exports.coordinatesToVector=coordinatesToVector,exports.createDebugBoundingMesh=createDebugBoundingMesh,exports.createWorks=createWorks,exports.defaultImageURLTransform=imageURL,exports.draco=draco,exports.getViewportScale=getViewportScale,exports.headingToLongitude=headingToLongitude,exports.imageSupport=imageSupport,exports.isBoundingVolume=isBoundingVolume,exports.isPanoId=isPanoId,exports.ktx2=ktx2,exports.loadAt3d=loadAt3d,exports.loadB3dm=loadB3dm,exports.loadDome=loadDome,exports.loadDomez=loadDomez,exports.loadFbx=loadFbx,exports.loadGltf=loadGltf,exports.loadPbm=loadPbm,exports.loadPly=loadPly,exports.loadPnts=loadPnts,exports.loadX3p=loadX3p,exports.longitudeToHeading=longitudeToHeading,exports.makeBoundingVolume=makeBoundingVolume,exports.panoEqual=panoEqual,exports.panoParse=panoParse,exports.panoStringify=panoStringify,exports.parseWork=parseWork,exports.vectorToCoordinates=vectorToCoordinates,exports.workToJson=workToJson,Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"})}));
|