@realsee/five 6.8.0 → 6.8.2

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.
Files changed (229) hide show
  1. package/ai_guides/features/flowing-light-2d-pass.md +64 -10
  2. package/ai_guides/features/flowing-light-3d-pass.md +64 -10
  3. package/docs/assets/hierarchy.js +1 -1
  4. package/docs/assets/navigation.js +1 -1
  5. package/docs/assets/search.js +1 -1
  6. package/docs/classes/five.AdaptiveLuminancePass.html +1 -1
  7. package/docs/classes/five.BoundingMesh.html +1 -1
  8. package/docs/classes/five.Camera.html +1 -1
  9. package/docs/classes/five.EyeDomeLightingPass.html +1 -1
  10. package/docs/classes/five.Five.html +1 -1
  11. package/docs/classes/five.FivePass.html +1 -1
  12. package/docs/classes/five.InternalWebGLRenderer.html +1 -1
  13. package/docs/classes/five.Model.html +1 -1
  14. package/docs/classes/five.ModelScene.html +1 -1
  15. package/docs/classes/five.NetworkSubscribe.html +1 -1
  16. package/docs/classes/five.PBMContainer.html +1 -1
  17. package/docs/classes/five.PBMCustomShader.html +1 -1
  18. package/docs/classes/five.PBMGSObject.html +1 -1
  19. package/docs/classes/five.PBMGroup.html +1 -1
  20. package/docs/classes/five.PBMMesh.html +1 -1
  21. package/docs/classes/five.PBMMeshMaterial.html +1 -1
  22. package/docs/classes/five.PBMPanoFilter.html +1 -1
  23. package/docs/classes/five.PBMPointCloud.html +1 -1
  24. package/docs/classes/five.PBMPointCloudMaterial.html +1 -1
  25. package/docs/classes/five.PBMSkinnedMesh.html +1 -1
  26. package/docs/classes/five.PBMUpdateable.html +1 -1
  27. package/docs/classes/five.PanoCircleMesh.html +1 -1
  28. package/docs/classes/five.PanoCircleMeshCustom.html +1 -1
  29. package/docs/classes/five.PanoCircleMeshSolid.html +1 -1
  30. package/docs/classes/five.Parameter.html +1 -1
  31. package/docs/classes/five.Scene.html +1 -1
  32. package/docs/classes/five.Subscribe.html +1 -1
  33. package/docs/classes/five.Tile3D.html +1 -1
  34. package/docs/classes/five.TileNode.html +1 -1
  35. package/docs/classes/five.TrajectoryNode.html +1 -1
  36. package/docs/classes/five.WorkResolvedObserver.html +1 -1
  37. package/docs/classes/gltf-loader.DDSLoader.html +1 -1
  38. package/docs/classes/gltf-loader.DRACOLoader.html +1 -1
  39. package/docs/classes/gltf-loader.GLTFLoader.html +1 -1
  40. package/docs/classes/gltf-loader.GLTFObject.html +1 -1
  41. package/docs/classes/gltf-loader.THREEGLTFLoader.html +1 -1
  42. package/docs/classes/line.Line.html +1 -1
  43. package/docs/classes/line.LineGeometry.html +1 -1
  44. package/docs/classes/line.LineMaterial.html +1 -1
  45. package/docs/classes/line.LineSegmentsGeometry.html +1 -1
  46. package/docs/classes/line.THREE_Line2.html +1 -1
  47. package/docs/classes/line.THREE_LineSegments2.html +1 -1
  48. package/docs/classes/plugins.BasePlugin.Controller.html +1 -1
  49. package/docs/classes/plugins.CSS2DObject.html +10 -0
  50. package/docs/classes/plugins.CSS2DRenderer.html +7 -0
  51. package/docs/classes/plugins.CSS3DObject.html +1 -1
  52. package/docs/classes/plugins.CSS3DSprite.html +1 -1
  53. package/docs/classes/plugins.InstancedPrefabBufferGeometry.html +18 -0
  54. package/docs/classes/plugins.Object3DHelperController.html +1 -1
  55. package/docs/classes/plugins.PointBufferGeometry.html +12 -0
  56. package/docs/classes/plugins.PrefabBufferGeometry.html +24 -0
  57. package/docs/classes/plugins.RoundedBoxGeometry.html +1 -1
  58. package/docs/classes/sticker.Sticker.html +1 -1
  59. package/docs/classes/vfx.Airflow.html +1 -1
  60. package/docs/classes/vfx.Flame.html +1 -1
  61. package/docs/classes/vfx.Particle.html +1 -1
  62. package/docs/classes/vfx.ParticleGPU.html +1 -1
  63. package/docs/classes/vfx.SpotLight.html +1 -1
  64. package/docs/documents/features_flowing-light-2d-pass.html +28 -15
  65. package/docs/documents/features_flowing-light-3d-pass.html +27 -14
  66. package/docs/functions/plugins.CSS2DPlugin.html +1 -0
  67. package/docs/functions/react.getPlugin.html +2 -0
  68. package/docs/functions/react.setPlugin.html +2 -0
  69. package/docs/functions/react.useFivePlugin.html +9 -0
  70. package/docs/functions/react.withFive.html +1 -1
  71. package/docs/hierarchy.html +1 -1
  72. package/docs/interfaces/five.AddableObject.html +1 -1
  73. package/docs/interfaces/five.AjaxOptions.html +1 -1
  74. package/docs/interfaces/five.BaseEvent.html +1 -1
  75. package/docs/interfaces/five.BaseExtendableEvent.html +1 -1
  76. package/docs/interfaces/five.EventCallback.html +1 -1
  77. package/docs/interfaces/five.GestureEvent.html +13 -13
  78. package/docs/interfaces/five.GesturePointer.html +9 -9
  79. package/docs/interfaces/five.ImageOptions.html +1 -1
  80. package/docs/interfaces/five.IntersectEvent.html +1 -1
  81. package/docs/interfaces/five.IntersectMesh.html +1 -1
  82. package/docs/interfaces/five.IntersectMeshInterface.html +1 -1
  83. package/docs/interfaces/five.Intersection.html +1 -1
  84. package/docs/interfaces/five.LooseWorkWithExtrinsics.html +1 -1
  85. package/docs/interfaces/five.ModeChangeEvent.html +2 -2
  86. package/docs/interfaces/five.ModelControllerCustomInitArgs.html +1 -1
  87. package/docs/interfaces/five.ModelEvent.html +3 -3
  88. package/docs/interfaces/five.ModelSceneEvent.html +2 -2
  89. package/docs/interfaces/five.ModelTileEvent.html +3 -3
  90. package/docs/interfaces/five.MovePanoOptions.html +1 -1
  91. package/docs/interfaces/five.NetworkAbortError.html +1 -1
  92. package/docs/interfaces/five.NetworkFirbiddenError.html +1 -1
  93. package/docs/interfaces/five.NetworkOptions.html +1 -1
  94. package/docs/interfaces/five.NetworkProxyError.html +1 -1
  95. package/docs/interfaces/five.NetworkResourceEvent.html +2 -2
  96. package/docs/interfaces/five.NetworkResponseError.html +1 -1
  97. package/docs/interfaces/five.NetworkTimeoutError.html +1 -1
  98. package/docs/interfaces/five.ObjectEvent.html +2 -2
  99. package/docs/interfaces/five.PBMMaterial.html +1 -1
  100. package/docs/interfaces/five.PBMMeshMaterialParameters.html +1 -1
  101. package/docs/interfaces/five.PBMPointCloudMaterialParameters.html +1 -1
  102. package/docs/interfaces/five.PanoCircleMeshInterface.html +1 -1
  103. package/docs/interfaces/five.PanoEvent.html +1 -1
  104. package/docs/interfaces/five.PanoPrepareEvent.html +8 -4
  105. package/docs/interfaces/five.PanoTextureEvent.html +5 -5
  106. package/docs/interfaces/five.PanoramaControllerCustomInitArgs.html +9 -9
  107. package/docs/interfaces/five.PanoramaLikeControllerCustomInitArgs.html +1 -1
  108. package/docs/interfaces/five.ParameterMaterialValue.html +1 -1
  109. package/docs/interfaces/five.ParameterTilesetValue.html +1 -1
  110. package/docs/interfaces/five.ParameterValue.html +1 -1
  111. package/docs/interfaces/five.Pose.html +1 -1
  112. package/docs/interfaces/five.RenderEvent.html +2 -2
  113. package/docs/interfaces/five.ResolvedParameterValue.html +1 -1
  114. package/docs/interfaces/five.State.html +1 -1
  115. package/docs/interfaces/five.StateEvent.html +1 -1
  116. package/docs/interfaces/five.TextureOptions.html +1 -1
  117. package/docs/interfaces/five.TopviewControllerCustomInitArgs.html +1 -1
  118. package/docs/interfaces/five.VRPanoramaControllerCustomInitArgs.html +9 -9
  119. package/docs/interfaces/five.ViewLayer.html +1 -1
  120. package/docs/interfaces/five.WorkCubeImage.html +1 -1
  121. package/docs/interfaces/five.WorkImage.html +1 -1
  122. package/docs/interfaces/five.WorkObserver.html +1 -1
  123. package/docs/interfaces/five.WorkObserverProto.html +1 -1
  124. package/docs/interfaces/five.WorkTile.html +1 -1
  125. package/docs/interfaces/five.WorksEvent.html +3 -3
  126. package/docs/interfaces/five.XRControllerEvent.html +4 -4
  127. package/docs/interfaces/five.XRControllerState.html +4 -4
  128. package/docs/interfaces/five.XRGestureEvent.html +7 -7
  129. package/docs/interfaces/five.XRPanoramaControllerCustomInitArgs.html +9 -9
  130. package/docs/interfaces/five.XRSessionEvent.html +3 -3
  131. package/docs/interfaces/plugins.BackgroundPluginController.html +1 -1
  132. package/docs/interfaces/plugins.BackgroundPluginType.EventMap.html +1 -1
  133. package/docs/interfaces/plugins.BasePlugin.State.html +1 -1
  134. package/docs/interfaces/plugins.CSS2DPluginController.html +49 -0
  135. package/docs/interfaces/plugins.CSS2DPluginType.Config.html +2 -0
  136. package/docs/interfaces/plugins.CSS2DPluginType.CreateCSS2DObjectType.html +8 -0
  137. package/docs/interfaces/plugins.CSS2DPluginType.EventMap.html +10 -0
  138. package/docs/interfaces/plugins.CSS2DPluginType.Params.html +4 -0
  139. package/docs/interfaces/plugins.CSS2DPluginType.State.html +8 -0
  140. package/docs/interfaces/plugins.CSS2DRendererParameters.html +2 -0
  141. package/docs/interfaces/plugins.CSS3DPluginController.html +12 -12
  142. package/docs/interfaces/plugins.CSS3DPluginType.EventMap.html +1 -1
  143. package/docs/interfaces/plugins.CSS3DPluginType.State.html +1 -1
  144. package/docs/interfaces/plugins.DynamicPathLinePluginController.html +1 -1
  145. package/docs/interfaces/plugins.DynamicPathLinePluginType.EventMap.html +1 -1
  146. package/docs/interfaces/plugins.DynamicPathLinePluginType.State.html +1 -1
  147. package/docs/interfaces/plugins.GaussianSplattingEntranceAnimationController.html +1 -1
  148. package/docs/interfaces/plugins.GaussianSplattingEntranceAnimationPluginType.EventMap.html +1 -1
  149. package/docs/interfaces/plugins.GaussianSplattingEntranceAnimationPluginType.State.html +1 -1
  150. package/docs/interfaces/plugins.ItemMaskController.html +1 -1
  151. package/docs/interfaces/plugins.ItemMaskPluginType.EventMap.html +1 -1
  152. package/docs/interfaces/plugins.ItemMaskPluginType.State.html +1 -1
  153. package/docs/interfaces/plugins.Object3DHelperPluginType.BaseController.html +1 -1
  154. package/docs/interfaces/plugins.Object3DHelperPluginType.BaseHelper.html +1 -1
  155. package/docs/interfaces/plugins.Object3DHelperPluginType.BoundingBoxController.html +1 -1
  156. package/docs/interfaces/plugins.Object3DHelperPluginType.MoveController.html +1 -1
  157. package/docs/interfaces/plugins.Object3DHelperPluginType.MoveHelperAbstract.html +1 -1
  158. package/docs/interfaces/plugins.Object3DHelperPluginType.RotateController.html +1 -1
  159. package/docs/interfaces/plugins.Object3DHelperPluginType.RotateHelperAbstract.html +1 -1
  160. package/docs/interfaces/plugins.OrientationPluginController.html +1 -1
  161. package/docs/interfaces/plugins.OrientationPluginType.EventMap.html +1 -1
  162. package/docs/interfaces/plugins.OrientationPluginType.State.html +1 -1
  163. package/docs/interfaces/plugins.PanoAnimeController.html +1 -1
  164. package/docs/interfaces/plugins.PanoAnimePluginType.EventMap.html +1 -1
  165. package/docs/interfaces/plugins.PanoAnimePluginType.State.html +1 -1
  166. package/docs/interfaces/plugins.PluginTemplateType.EventMap.html +1 -1
  167. package/docs/interfaces/plugins.PluginTemplateType.State.html +1 -1
  168. package/docs/interfaces/plugins.TrajectoryController.html +1 -1
  169. package/docs/interfaces/react.FiveAppProps.html +11 -0
  170. package/docs/interfaces/react.FiveInjectionTypes.html +1 -1
  171. package/docs/interfaces/react.UseFivePluginOptions.html +5 -0
  172. package/docs/interfaces/react.UseFivePluginOptionsWithCreate.html +5 -0
  173. package/docs/modules/plugins.CSS2DPluginType.html +1 -0
  174. package/docs/modules/plugins.html +1 -1
  175. package/docs/modules/react.html +1 -1
  176. package/docs/types/five.ParseOptions.html +1 -1
  177. package/docs/types/plugins.BasePlugin.EventMap.html +1 -1
  178. package/docs/types/plugins.CSS2DPluginType.PluginData.html +1 -0
  179. package/docs/types/plugins.CSS2DPluginType.ServerData.html +1 -0
  180. package/docs/variables/react.FiveApp.html +3 -0
  181. package/docs/variables/react.FiveAutoCanvas.html +3 -0
  182. package/five/controllers/panorama.d.ts +2 -2
  183. package/five/controllers/xrPanorama.d.ts +4 -2
  184. package/five/index.js +23 -23
  185. package/five/index.mjs +563 -549
  186. package/five/renderer/postprocessing/passes/flowing-light-2d-pass.d.ts +6 -1
  187. package/five/renderer/postprocessing/passes/flowing-light-3d-pass.d.ts +3 -1
  188. package/five/utils/event.d.ts +5 -1
  189. package/gltf-loader/index.js +3 -3
  190. package/gltf-loader/index.mjs +3 -3
  191. package/line/index.js +3 -3
  192. package/line/index.mjs +3 -3
  193. package/package.json +1 -1
  194. package/plugins/CSS2DPlugin/Controller.d.ts +59 -0
  195. package/plugins/CSS2DPlugin/index.d.ts +5 -0
  196. package/plugins/CSS2DPlugin/typing.d.ts +30 -0
  197. package/plugins/index.d.ts +5 -0
  198. package/plugins/index.js +24 -4
  199. package/plugins/index.mjs +871 -588
  200. package/plugins/thirdParty/CSS2DRenderer.d.ts +37 -0
  201. package/plugins/thirdParty/instancedPrefabBufferGeometry.d.ts +32 -0
  202. package/plugins/thirdParty/pointBufferGeometry.d.ts +22 -0
  203. package/plugins/thirdParty/prefabBufferGeometry.d.ts +38 -0
  204. package/react/autoCanvas.d.ts +9 -0
  205. package/react/fiveApp.d.ts +22 -0
  206. package/react/hooks/useFivePlugin.d.ts +22 -0
  207. package/react/index.d.ts +4 -0
  208. package/react/index.js +3 -3
  209. package/react/index.mjs +292 -175
  210. package/react/withFive.d.ts +1 -1
  211. package/shader-lib/index.js +2 -2
  212. package/shader-lib/index.mjs +2 -2
  213. package/sticker/index.js +3 -3
  214. package/sticker/index.mjs +3 -3
  215. package/umd/five-gltf-loader.js +3 -3
  216. package/umd/five-line.js +3 -3
  217. package/umd/five-plugins.js +24 -4
  218. package/umd/five-react.js +3 -3
  219. package/umd/five-shader-lib.js +2 -2
  220. package/umd/five-sticker.js +3 -3
  221. package/umd/five-vfx.js +2 -2
  222. package/umd/five-vue.js +2 -2
  223. package/umd/five.js +8 -8
  224. package/vfx/index.js +2 -2
  225. package/vfx/index.mjs +2 -2
  226. package/vue/index.js +2 -2
  227. package/vue/index.mjs +2 -2
  228. package/work-downloader/index.js +2 -2
  229. package/work-downloader/index.mjs +2 -2
package/five/index.mjs CHANGED
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * @license
3
3
  * @realsee/five
4
- * Generated: 4/17/2026
5
- * Version: 6.8.0
4
+ * Generated: 5/8/2026
5
+ * Version: 6.8.2
6
6
  * Terms:
7
7
  * Realsee SDK License Agreement
8
8
  * Update: July 28, 2021
@@ -13993,23 +13993,23 @@ var bf = class extends e.Object3D {
13993
13993
  return e.sortByDistance = c, Wl(i, e.sortByDistance, e.firstHitOnly), i;
13994
13994
  }
13995
13995
  update(t, n, r, i) {
13996
- var a, o, s, c, l, u, d;
13996
+ var a, o, s;
13997
13997
  this.renderer = t, this.frameNumber++;
13998
- let f = !1, p = G.resolveValueTo(this.currentResolvedParameterValue, r.parameter, i.parameter, this.parameter);
13999
- df.get(this) !== p.versionNumber && (df.set(this, p.versionNumber), f = !0);
14000
- let m = (c = this.visible && ((a = this.parent) == null ? void 0 : a.visible) && ((s = (o = this.parent) == null ? void 0 : o.parent) == null ? void 0 : s.visible)) == null ? !1 : c, h = p.maxLevelOfDetail;
14001
- h = Math.max(h, 0);
14002
- let g = Math.min(p.minLevelOfDetail, h);
14003
- (!m || !this.loaded || !r.loaded) && (h = Math.max(g, 0));
14004
- let _ = p.maxMemoryUsage;
14005
- m || (_ = Math.min(0, _));
14006
- let v = p.minGeometricError, y = p.maxRequests, b = p.memoryAdjustedScreenSpaceError;
14007
- m || (b = !1);
14008
- let x = n.controllerMode;
14009
- (x === "Panorama" || x === "VRPanorama" || x === "XRPanorama") && (p.modelAlpha < .1 && (v = p.panoramaMinGeometricError, b = !1), p.progress >= .01 && p.progress <= .99 && (y = 0));
14010
- let S = p.maxGeometricError;
14011
- S = Math.max(v, S);
14012
- let C = {
13998
+ let c = !1, l = G.resolveValueTo(this.currentResolvedParameterValue, r.parameter, i.parameter, this.parameter);
13999
+ df.get(this) !== l.versionNumber && (df.set(this, l.versionNumber), c = !0);
14000
+ let u = this.visible && i.visible && r.visible, d = l.maxLevelOfDetail;
14001
+ d = Math.max(d, 0);
14002
+ let f = Math.min(l.minLevelOfDetail, d);
14003
+ (!u || !this.loaded || !r.loaded) && (d = Math.max(f, 0));
14004
+ let p = l.maxMemoryUsage;
14005
+ u || (p = Math.min(0, p));
14006
+ let m = l.minGeometricError, h = l.maxRequests, g = l.memoryAdjustedScreenSpaceError;
14007
+ u || (g = !1);
14008
+ let _ = n.controllerMode;
14009
+ (_ === "Panorama" || _ === "VRPanorama" || _ === "XRPanorama") && (l.modelAlpha < .1 && (m = l.panoramaMinGeometricError, g = !1), l.progress >= .01 && l.progress <= .99 && (h = 0));
14010
+ let v = l.maxGeometricError;
14011
+ v = Math.max(m, v);
14012
+ let y = {
14013
14013
  time: n.time,
14014
14014
  camera: {
14015
14015
  type: n.type,
@@ -14017,7 +14017,7 @@ var bf = class extends e.Object3D {
14017
14017
  direction: n.getDirection(new e.Vector3()),
14018
14018
  up: new e.Vector3().copy(n.up).applyQuaternion(n.quaternion),
14019
14019
  projectionMatrix: n.projectionMatrix.clone(),
14020
- visible: m && n.visible,
14020
+ visible: u && n.visible,
14021
14021
  refine: n.refineModel
14022
14022
  },
14023
14023
  height: n.resolution.height,
@@ -14025,20 +14025,20 @@ var bf = class extends e.Object3D {
14025
14025
  frameNumber: this.frameNumber,
14026
14026
  sseDenominator: 2 * Math.tan(.5 * n.fov / 180 * Math.PI),
14027
14027
  cullingVolume: new Sl().setFromCamera(n),
14028
- minLevelOfDetail: g,
14029
- maxLevelOfDetail: h,
14030
- minGeometricError: v,
14031
- maxGeometricError: S,
14032
- skipLevelOfDetail: p.skipLevelOfDetail,
14033
- mostDetail: p.mostDetail,
14034
- loadSiblings: p.loadSiblings,
14035
- cameraCulling: p.cameraCulling,
14036
- maxMemoryUsage: _,
14037
- maxRequests: y,
14038
- requestOrder: p.requestOrder,
14039
- maxScreenSpaceError: p.maxScreenSpaceError,
14040
- memoryAdjustedScreenSpaceError: b
14041
- }, w = p.cacheCameras.map((t) => (t.updateProjectionMatrix(), Object.assign(Object.assign({}, C), {
14028
+ minLevelOfDetail: f,
14029
+ maxLevelOfDetail: d,
14030
+ minGeometricError: m,
14031
+ maxGeometricError: v,
14032
+ skipLevelOfDetail: l.skipLevelOfDetail,
14033
+ mostDetail: l.mostDetail,
14034
+ loadSiblings: l.loadSiblings,
14035
+ cameraCulling: l.cameraCulling,
14036
+ maxMemoryUsage: p,
14037
+ maxRequests: h,
14038
+ requestOrder: l.requestOrder,
14039
+ maxScreenSpaceError: l.maxScreenSpaceError,
14040
+ memoryAdjustedScreenSpaceError: g
14041
+ }, b = l.cacheCameras.map((t) => (t.updateProjectionMatrix(), Object.assign(Object.assign({}, y), {
14042
14042
  camera: {
14043
14043
  type: n.type,
14044
14044
  position: new e.Vector3().copy(t.position),
@@ -14050,15 +14050,15 @@ var bf = class extends e.Object3D {
14050
14050
  },
14051
14051
  cullingVolume: new Sl().setFromCamera(t)
14052
14052
  })));
14053
- this.updateWorldMatrix(!0, !1), this.tileset.transform.equals(this.matrixWorld) || (this.tileset.transform.copy(this.matrixWorld), f = !0);
14054
- let T = !this.autoRefine;
14055
- if (T === !1 && p.progress >= .01 && p.progress <= .99) {
14053
+ this.updateWorldMatrix(!0, !1), this.tileset.transform.equals(this.matrixWorld) || (this.tileset.transform.copy(this.matrixWorld), c = !0);
14054
+ let x = !this.autoRefine;
14055
+ if (x === !1 && l.progress >= .01 && l.progress <= .99) {
14056
14056
  let t = new e.Vector3();
14057
- p.pano0 && t.setFromMatrixPosition(p.pano0.matrix);
14057
+ l.pano0 && t.setFromMatrixPosition(l.pano0.matrix);
14058
14058
  let n = t.clone();
14059
- p.pano1 && n.setFromMatrixPosition(p.pano1.matrix), t.distanceTo(n) < 10 && (T = !0);
14059
+ l.pano1 && n.setFromMatrixPosition(l.pano1.matrix), t.distanceTo(n) < 10 && (x = !0);
14060
14060
  }
14061
- if (T || this.tileset.update(C, w), this.refined = !0, this.refineProgress[0] = 0, this.refineProgress[1] = 0, this.tileset.needsRefinedTiles.forEach((e) => {
14061
+ if (x || this.tileset.update(y, b), this.refined = !0, this.refineProgress[0] = 0, this.refineProgress[1] = 0, this.tileset.needsRefinedTiles.forEach((e) => {
14062
14062
  if (this.refineProgress[1]++, e.content) {
14063
14063
  let t = e.content.loadState;
14064
14064
  if (t === "UNLOADED" || t === "LOADING") {
@@ -14071,8 +14071,8 @@ var bf = class extends e.Object3D {
14071
14071
  this.loaded = !0;
14072
14072
  let e = !1;
14073
14073
  this.tileset.needsRefinedTiles.forEach((t) => {
14074
- if (this.loaded !== !1 && t.content && (t.state.visible && (e = !0), p.minLevelOfDetail >= 0)) {
14075
- if (C.skipLevelOfDetail) {
14074
+ if (this.loaded !== !1 && t.content && (t.state.visible && (e = !0), l.minLevelOfDetail >= 0)) {
14075
+ if (y.skipLevelOfDetail) {
14076
14076
  if (t.state.finalResolution) {
14077
14077
  let e = t.state.ancestorWithContentAvailable, n = (e && e.content ? e.content : t.content).loadState;
14078
14078
  (n === "UNLOADED" || n === "LOADING") && (this.loaded = !1);
@@ -14086,35 +14086,35 @@ var bf = class extends e.Object3D {
14086
14086
  }
14087
14087
  this.renderObjects.length = 0, this.backfaceObjects.length = 0, this.tileObjects.length = 0;
14088
14088
  for (let e = this.children.length - 1; e >= 0; e--) this.remove(this.children[e]);
14089
- C.skipLevelOfDetail || this.tileset.selectedTiles.sort((e, t) => e.floor === t.floor ? e.levelOfContent === t.levelOfContent ? e.state.distanceToCamera === t.state.distanceToCamera ? e.state.centerZDepth - t.state.centerZDepth : e.state.distanceToCamera - t.state.distanceToCamera : t.levelOfContent - e.levelOfContent : e.floor - t.floor);
14090
- let E = [];
14089
+ y.skipLevelOfDetail || this.tileset.selectedTiles.sort((e, t) => e.floor === t.floor ? e.levelOfContent === t.levelOfContent ? e.state.distanceToCamera === t.state.distanceToCamera ? e.state.centerZDepth - t.state.centerZDepth : e.state.distanceToCamera - t.state.distanceToCamera : t.levelOfContent - e.levelOfContent : e.floor - t.floor);
14090
+ let S = [];
14091
14091
  for (let i of this.tileset.selectedTiles) {
14092
- let a = (u = (l = i.content) == null ? void 0 : l.data) == null ? void 0 : u.object;
14093
- if (!a) continue;
14094
- let o = a.update(t, n, r, this, i, p);
14095
- if (E.push(i.id), o && (f = !0), this.tileset.hasMixedContent && C.skipLevelOfDetail) {
14092
+ let s = (o = (a = i.content) == null ? void 0 : a.data) == null ? void 0 : o.object;
14093
+ if (!s) continue;
14094
+ let u = s.update(t, n, r, this, i, l);
14095
+ if (S.push(i.id), u && (c = !0), this.tileset.hasMixedContent && y.skipLevelOfDetail) {
14096
14096
  if (!i.state.finalResolution) {
14097
- let e = yf(a);
14098
- e.name = "skipBackface:" + a.name, this.backfaceObjects.push(e);
14097
+ let e = yf(s);
14098
+ e.name = "skipBackface:" + s.name, this.backfaceObjects.push(e);
14099
14099
  }
14100
- let t = i.state.selectionDepth, n = mf.TILE_MASK | t << mf.SKIP_LOD_BIT_SHIFT, r = e.GreaterEqualStencilFunc, o = mf.SKIP_LOD_MASK, s = e.ReplaceStencilOp, c = mf.TILE_MASK | mf.SKIP_LOD_MASK;
14101
- for (let e of a.materials) e.stencilWrite = !0, e.stencilRef = n, e.stencilFunc = r, e.stencilFuncMask = o, e.stencilZPass = s, e.stencilWriteMask = c;
14102
- } else for (let t of a.materials) t.stencilWrite = !1, t.stencilRef = mf.TILE_MASK, t.stencilFunc = e.AlwaysStencilFunc, t.stencilFuncMask = mf.TILE_MASK, t.stencilZPass = e.ReplaceStencilOp, t.stencilWriteMask = mf.TILE_MASK;
14103
- this.tileObjects.push(a);
14100
+ let t = i.state.selectionDepth, n = mf.TILE_MASK | t << mf.SKIP_LOD_BIT_SHIFT, r = e.GreaterEqualStencilFunc, a = mf.SKIP_LOD_MASK, o = e.ReplaceStencilOp, c = mf.TILE_MASK | mf.SKIP_LOD_MASK;
14101
+ for (let e of s.materials) e.stencilWrite = !0, e.stencilRef = n, e.stencilFunc = r, e.stencilFuncMask = a, e.stencilZPass = o, e.stencilWriteMask = c;
14102
+ } else for (let t of s.materials) t.stencilWrite = !1, t.stencilRef = mf.TILE_MASK, t.stencilFunc = e.AlwaysStencilFunc, t.stencilFuncMask = mf.TILE_MASK, t.stencilZPass = e.ReplaceStencilOp, t.stencilWriteMask = mf.TILE_MASK;
14103
+ this.tileObjects.push(s);
14104
14104
  }
14105
- let D = E.toString();
14106
- if (ff.get(this) !== D && (ff.set(this, D), f = !0), C.skipLevelOfDetail && this.backfaceObjects.length) for (let e = 0; e < this.backfaceObjects.length; e++) this.renderObjects.push(this.backfaceObjects[e]);
14105
+ let C = S.toString();
14106
+ if (ff.get(this) !== C && (ff.set(this, C), c = !0), y.skipLevelOfDetail && this.backfaceObjects.length) for (let e = 0; e < this.backfaceObjects.length; e++) this.renderObjects.push(this.backfaceObjects[e]);
14107
14107
  if (this.tileObjects.length) for (let e = 0; e < this.tileObjects.length; e++) this.renderObjects.push(this.tileObjects[e]);
14108
- C.skipLevelOfDetail && this.renderObjects.push(this.clearStencilObject);
14109
- let O = [];
14108
+ y.skipLevelOfDetail && this.renderObjects.push(this.clearStencilObject);
14109
+ let w = [];
14110
14110
  for (let e of this.tileset.selectedTrajectories) {
14111
- let i = (d = e.content.data) == null ? void 0 : d.object;
14111
+ let i = (s = e.content.data) == null ? void 0 : s.object;
14112
14112
  if (!i) continue;
14113
- let a = i.update(t, n, r, this, e, p);
14114
- O.push(e.id), a && (f = !0), this.renderObjects.push(i);
14113
+ let a = i.update(t, n, r, this, e, l);
14114
+ w.push(e.id), a && (c = !0), this.renderObjects.push(i);
14115
14115
  }
14116
- let k = O.toString();
14117
- if (pf.get(this) !== k && (pf.set(this, k), f = !0), this.parent) {
14116
+ let T = w.toString();
14117
+ if (pf.get(this) !== T && (pf.set(this, T), c = !0), this.parent) {
14118
14118
  let t = this.parent.children.length + 1, n = (Math.min(0, this.parent.children.indexOf(this)) - t) * 1e4 + 1;
14119
14119
  for (let t = 0; t < this.renderObjects.length; t++) {
14120
14120
  let r = this.renderObjects[t], i = t + n;
@@ -14124,7 +14124,7 @@ var bf = class extends e.Object3D {
14124
14124
  }
14125
14125
  }
14126
14126
  if (this.loaded) for (let e = 0; e < this.renderObjects.length; e++) this.add(this.renderObjects[e]);
14127
- return f;
14127
+ return c;
14128
14128
  }
14129
14129
  dispose() {
14130
14130
  this.disposed = !0, this.tileset.reset(), this.tileset.root.children.length = 0, /^blob\:/.test(this.tileset.id) && URL.revokeObjectURL(this.tileset.id);
@@ -19580,6 +19580,8 @@ var Xh = new e.Box3(), Zh = new e.Vector3(), Qh = {
19580
19580
  l,
19581
19581
  c
19582
19582
  ]), d = this.modelScene.parameter, f = Eh("pano.prepare", {
19583
+ options: n,
19584
+ prevMode: this.mode,
19583
19585
  prevPano: this.currentPano,
19584
19586
  pano: a
19585
19587
  });
@@ -19587,6 +19589,7 @@ var Xh = new e.Box3(), Zh = new e.Vector3(), Qh = {
19587
19589
  this.pendingTextureId = null;
19588
19590
  return;
19589
19591
  }
19592
+ f.options !== n && Object.assign(n, f.options);
19590
19593
  let p;
19591
19594
  d.pano0 && d.pano0.map.name === u ? p = d.pano0 : d.pano1 && d.pano1.map.name === u && (p = d.pano1), p ? Promise.resolve().then(() => Dh(f)).catch((e) => Yh(e)).then((e) => {
19592
19595
  var t;
@@ -20495,12 +20498,12 @@ function Jg(e, t, n, r = 1e3) {
20495
20498
  }
20496
20499
  //#endregion
20497
20500
  //#region build/five/controllers/panorama.js
20498
- var Yg = Wu, Xg = new e.Raycaster(), Zg = new e.Vector3(), Qg = [
20501
+ var Yg = "fly", Xg = Wu, Zg = new e.Raycaster(), Qg = new e.Vector3(), $g = [
20499
20502
  new e.Vector3(0, 0, 0).multiplyScalar(.1),
20500
20503
  new e.Vector3(1, 0, 0).multiplyScalar(.1),
20501
20504
  new e.Vector3(-.5, 0, -Math.sqrt(3) / 2).multiplyScalar(.1),
20502
20505
  new e.Vector3(-.5, 0, Math.sqrt(3) / 2).multiplyScalar(.1)
20503
- ], $g = Object.assign(Object.assign({}, ng), {
20506
+ ], e_ = Object.assign(Object.assign({}, ng), {
20504
20507
  maxAccessibleDistance: 5,
20505
20508
  panoTapTriggerRadius: .5,
20506
20509
  panoCircleMeshCreator: (e, t) => e.position.distanceTo(e.standingPosition) > t.aerialObserverMinHeight ? new dh() : new oh(),
@@ -20513,20 +20516,20 @@ var Yg = Wu, Xg = new e.Raycaster(), Zg = new e.Vector3(), Qg = [
20513
20516
  tileAppearDuration: .5,
20514
20517
  tileMaxRequest: 3,
20515
20518
  flyEffectUseDepthBuffer: !1
20516
- }), e_ = class t extends rg {
20519
+ }), t_ = class t extends rg {
20517
20520
  static parseArgs(e) {
20518
20521
  var n, r, i, a, o, s, c, l;
20519
20522
  if (e instanceof t) return e;
20520
20523
  let u = super.parseArgs(e);
20521
20524
  return Object.assign(Object.assign({}, u), {
20522
- maxAccessibleDistance: (n = e.maxAccessibleDistance) == null ? $g.maxAccessibleDistance : n,
20523
- panoTapTriggerRadius: (r = e.panoTapTriggerRadius) == null ? $g.panoTapTriggerRadius : r,
20524
- panoCircleMeshCreator: (i = e.panoCircleMeshCreator) == null ? $g.panoCircleMeshCreator : i,
20525
- adjustPanoCircleMeshPositionBasedOnModel: (a = e.adjustPanoCircleMeshPositionBasedOnModel) == null ? $g.adjustPanoCircleMeshPositionBasedOnModel : a,
20526
- tileLevelForFov: (o = e.tileLevelForFov) == null ? $g.tileLevelForFov : o,
20527
- tileAppearDuration: (s = e.tileAppearDuration) == null ? $g.tileAppearDuration : s,
20528
- tileMaxRequest: (c = e.tileMaxRequest) == null ? $g.tileMaxRequest : c,
20529
- flyEffectUseDepthBuffer: (l = e.flyEffectUseDepthBuffer) == null ? $g.flyEffectUseDepthBuffer : l
20525
+ maxAccessibleDistance: (n = e.maxAccessibleDistance) == null ? e_.maxAccessibleDistance : n,
20526
+ panoTapTriggerRadius: (r = e.panoTapTriggerRadius) == null ? e_.panoTapTriggerRadius : r,
20527
+ panoCircleMeshCreator: (i = e.panoCircleMeshCreator) == null ? e_.panoCircleMeshCreator : i,
20528
+ adjustPanoCircleMeshPositionBasedOnModel: (a = e.adjustPanoCircleMeshPositionBasedOnModel) == null ? e_.adjustPanoCircleMeshPositionBasedOnModel : a,
20529
+ tileLevelForFov: (o = e.tileLevelForFov) == null ? e_.tileLevelForFov : o,
20530
+ tileAppearDuration: (s = e.tileAppearDuration) == null ? e_.tileAppearDuration : s,
20531
+ tileMaxRequest: (c = e.tileMaxRequest) == null ? e_.tileMaxRequest : c,
20532
+ flyEffectUseDepthBuffer: (l = e.flyEffectUseDepthBuffer) == null ? e_.flyEffectUseDepthBuffer : l
20530
20533
  });
20531
20534
  }
20532
20535
  static initAnimationEndState(e) {
@@ -20546,8 +20549,8 @@ var Yg = Wu, Xg = new e.Raycaster(), Zg = new e.Vector3(), Qg = [
20546
20549
  panoId: Z(this.currentPano),
20547
20550
  panoPicture: this.modelScene.parameter.resolveValue("pano1"),
20548
20551
  position: this.camera.pose.offset.clone(),
20549
- effect: "fly",
20550
- effectEasing: Yg,
20552
+ effect: Yg,
20553
+ effectEasing: Xg,
20551
20554
  fixCameraTransform: new e.Matrix4()
20552
20555
  }, this.panoPictureObserverMap = /* @__PURE__ */ new WeakMap(), this.textureLoader = new hi(), this.tiling = new zg({ fiveId: this.fiveId }), this.panoVideo = new Wg(), this.scene.add(this.panoVideo.object), this.accessibleObserverFloorCheckCount = 0;
20553
20556
  }
@@ -20686,9 +20689,9 @@ var Yg = Wu, Xg = new e.Raycaster(), Zg = new e.Vector3(), Qg = [
20686
20689
  let t = .3, i = .005, a = n.standingPosition.clone().applyMatrix4(n.work.transform), o = Z({
20687
20690
  panoIndex: n.panoIndex,
20688
20691
  workCode: n.work.workCode
20689
- }), s = Qg.map((n) => {
20690
- Xg.ray.origin.copy(a), Xg.ray.origin.add(Zg.copy(n).setY(t)), Xg.ray.direction.set(0, -1, 0), Xg.firstHitOnly = !0, Xg.floorIndex = -1;
20691
- let [o] = r.intersectRaycaster(Xg);
20692
+ }), s = $g.map((n) => {
20693
+ Zg.ray.origin.copy(a), Zg.ray.origin.add(Qg.copy(n).setY(t)), Zg.ray.direction.set(0, -1, 0), Zg.firstHitOnly = !0, Zg.floorIndex = -1;
20694
+ let [o] = r.intersectRaycaster(Zg);
20692
20695
  return o && o.distance - i <= t ? new e.Vector3().copy(a).setY(o.point.y + i) : a;
20693
20696
  });
20694
20697
  s.sort((e, t) => t.y - e.y);
@@ -20735,7 +20738,7 @@ var Yg = Wu, Xg = new e.Raycaster(), Zg = new e.Vector3(), Qg = [
20735
20738
  else {
20736
20739
  t.position.copy(r.standingPosition).applyMatrix4(r.work.transform);
20737
20740
  let e = this.adjustPanoCircleMeshPositionFix.get(r.panoId);
20738
- e && (Zg.set(e.x, e.y, e.z), Zg.equals(t.position) && (t.position.y += e.w)), t.scale.setScalar(1.2);
20741
+ e && (Qg.set(e.x, e.y, e.z), Qg.equals(t.position) && (t.position.y += e.w)), t.scale.setScalar(1.2);
20739
20742
  }
20740
20743
  let a = this.camera.position.clone().setY(t.position.y), o = new e.Vector3().copy(t.position).sub(a).normalize();
20741
20744
  if (n === Z(this.currentPano)) {
@@ -20876,76 +20879,80 @@ var Yg = Wu, Xg = new e.Raycaster(), Zg = new e.Vector3(), Qg = [
20876
20879
  }
20877
20880
  moveToPano(t, n, r) {
20878
20881
  var i, a, o;
20879
- let s = (i = n.effect) == null ? "fly" : i;
20880
20882
  this.userAction = r, this.stopMomentumMovement();
20881
- let c = Z(t), l = this.works.getObserver(t);
20882
- if (!l) throw Error(`Invalid PanoId ${JSON.stringify(t)}`);
20883
- let u = Yr(l.images.up), d = this.imageOptions.size;
20884
- d === void 0 && l && u && (d = Number(u)), d === void 0 && (d = 2048);
20885
- let f = this.imageOptions.transform, p = Object.assign({ key: `pano.${c}` }, mr(this.imageOptions, [
20883
+ let s = Z(t), c = this.works.getObserver(t);
20884
+ if (!c) throw Error(`Invalid PanoId ${JSON.stringify(t)}`);
20885
+ let l = Yr(c.images.up), u = this.imageOptions.size;
20886
+ u === void 0 && c && l && (u = Number(l)), u === void 0 && (u = 2048);
20887
+ let d = this.imageOptions.transform, f = Object.assign({ key: `pano.${s}` }, mr(this.imageOptions, [
20886
20888
  "format",
20887
20889
  "size",
20888
20890
  "quality",
20889
20891
  "sharpen",
20890
20892
  "forceUseExifOrientation",
20891
20893
  "mappings"
20892
- ])), m = {
20893
- right: l.images.work.getURL(l.images.right),
20894
- left: l.images.work.getURL(l.images.left),
20895
- up: l.images.work.getURL(l.images.up),
20896
- down: l.images.work.getURL(l.images.down),
20897
- front: l.images.work.getURL(l.images.front),
20898
- back: l.images.work.getURL(l.images.back)
20899
- }, h = "pano:" + pp([
20900
- m,
20894
+ ])), p = {
20895
+ right: c.images.work.getURL(c.images.right),
20896
+ left: c.images.work.getURL(c.images.left),
20897
+ up: c.images.work.getURL(c.images.up),
20898
+ down: c.images.work.getURL(c.images.down),
20899
+ front: c.images.work.getURL(c.images.front),
20900
+ back: c.images.work.getURL(c.images.back)
20901
+ }, m = "pano:" + pp([
20901
20902
  p,
20902
- f
20903
+ f,
20904
+ d
20903
20905
  ]);
20904
20906
  if (this.pendingPanoTask) {
20905
- if (this.pendingPanoTask.hash === h) return;
20907
+ if (this.pendingPanoTask.hash === m) return;
20906
20908
  {
20907
20909
  let e = this.pendingPanoTask.panoId;
20908
- (a = this.panoMeshes.get(e)) == null || a.setProgress(0), this.emit("pano.texture.abort", Q("pano.texture.abort", {
20910
+ (i = this.panoMeshes.get(e)) == null || i.setProgress(0), this.emit("pano.texture.abort", Q("pano.texture.abort", {
20909
20911
  error: null,
20910
20912
  progress: 0,
20911
20913
  meta: null,
20912
20914
  pano: {
20913
- panoIndex: l.panoIndex,
20914
- workCode: l.work.workCode
20915
+ panoIndex: c.panoIndex,
20916
+ workCode: c.work.workCode
20915
20917
  }
20916
20918
  }));
20917
20919
  }
20918
20920
  }
20919
- let g = "move-to-pano-" + c;
20920
- this.pending.add(g);
20921
- let _ = Eh("pano.prepare", {
20921
+ let h = "move-to-pano-" + s;
20922
+ this.pending.add(h);
20923
+ let g = Eh("pano.prepare", {
20924
+ options: n,
20925
+ prevMode: this.mode,
20922
20926
  prevPano: this.currentPano,
20923
20927
  pano: t
20924
20928
  });
20925
- if (this.emit("pano.prepare", _), _.defaultPrevented) {
20926
- this.pending.delete(g);
20929
+ if (this.emit("pano.prepare", g), g.defaultPrevented) {
20930
+ this.pending.delete(h);
20927
20931
  return;
20928
20932
  }
20929
- let v = this.modelScene.parameter, y;
20930
- if (v.pano0 && v.pano0.map.name === h ? y = v.pano0 : v.pano1 && v.pano1.map.name === h && (y = v.pano1), y) {
20933
+ g.options !== n && Object.assign(n, g.options);
20934
+ let _ = this.modelScene.parameter, v;
20935
+ _.pano0 && _.pano0.map.name === m ? v = _.pano0 : _.pano1 && _.pano1.map.name === m && (v = _.pano1);
20936
+ let y = (a = n.effect) == null ? Yg : a, b = (o = n.effectEasing) == null ? Xg : o;
20937
+ if (v) {
20931
20938
  let r = {
20932
- panoId: c,
20933
- effect: s,
20934
- effectEasing: (o = n.effectEasing) == null ? Yg : o,
20939
+ panoId: s,
20940
+ effect: y,
20941
+ effectEasing: b,
20935
20942
  panoPicture: {
20936
- panoId: y.panoId,
20937
- map: y.map,
20938
- mapHistogram: y.mapHistogram,
20939
- mapSize: y.mapSize,
20940
- matrix: l.matrix.clone().premultiply(l.work.transform),
20943
+ panoId: v.panoId,
20944
+ map: v.map,
20945
+ mapHistogram: v.mapHistogram,
20946
+ mapSize: v.mapSize,
20947
+ matrix: c.matrix.clone().premultiply(c.work.transform),
20941
20948
  zoom: 1
20942
20949
  },
20943
- position: l.position.clone().applyMatrix4(l.work.transform),
20950
+ position: c.position.clone().applyMatrix4(c.work.transform),
20944
20951
  fixCameraTransform: new e.Matrix4()
20945
20952
  };
20946
- r.panoPicture && this.panoPictureObserverMap.set(r.panoPicture, l), this.pendingPanoTask = void 0, Promise.resolve().then(() => Dh(_)).catch((e) => Yh(e)).then((e) => {
20953
+ r.panoPicture && this.panoPictureObserverMap.set(r.panoPicture, c), this.pendingPanoTask = void 0, Promise.resolve().then(() => Dh(g)).catch((e) => Yh(e)).then((e) => {
20947
20954
  var i, a;
20948
- if (!(e instanceof Error)) this.pending.delete(g), this.pendingPanoTask = void 0, (i = this.panoMeshes.get(c)) == null || i.setProgress(0), this.doMoveToPano(t, r, n);
20955
+ if (!(e instanceof Error)) this.pending.delete(h), this.pendingPanoTask = void 0, (i = this.panoMeshes.get(s)) == null || i.setProgress(0), this.doMoveToPano(t, r, n);
20949
20956
  else {
20950
20957
  let t = null;
20951
20958
  e instanceof Error && (t || (t = e));
@@ -20956,8 +20963,8 @@ var Yg = Wu, Xg = new e.Raycaster(), Zg = new e.Vector3(), Qg = [
20956
20963
  options: n,
20957
20964
  prevPano: this.currentPano,
20958
20965
  pano: {
20959
- panoIndex: l.panoIndex,
20960
- workCode: l.work.workCode
20966
+ panoIndex: c.panoIndex,
20967
+ workCode: c.work.workCode
20961
20968
  },
20962
20969
  progress: 0,
20963
20970
  state: r
@@ -20967,44 +20974,44 @@ var Yg = Wu, Xg = new e.Raycaster(), Zg = new e.Vector3(), Qg = [
20967
20974
  options: n,
20968
20975
  prevPano: this.currentPano,
20969
20976
  pano: {
20970
- panoIndex: l.panoIndex,
20971
- workCode: l.work.workCode
20977
+ panoIndex: c.panoIndex,
20978
+ workCode: c.work.workCode
20972
20979
  },
20973
20980
  progress: 0,
20974
20981
  state: r
20975
- })), t instanceof Error && t.message && this.emit("error", t), this.pending.delete(g), this.pendingPanoTask = void 0, (a = this.panoMeshes.get(c)) == null || a.setProgress(0);
20982
+ })), t instanceof Error && t.message && this.emit("error", t), this.pending.delete(h), this.pendingPanoTask = void 0, (a = this.panoMeshes.get(s)) == null || a.setProgress(0);
20976
20983
  }
20977
20984
  });
20978
20985
  return;
20979
20986
  }
20980
- let b = this.panoMeshes.get(c);
20981
- b && b.tap && b.tap(), this.pendingPanoTask = {
20982
- panoId: c,
20983
- hash: h,
20987
+ let x = this.panoMeshes.get(s);
20988
+ x && x.tap && x.tap(), this.pendingPanoTask = {
20989
+ panoId: s,
20990
+ hash: m,
20984
20991
  onLoad: (r) => {
20985
- var i, a;
20986
- let o = r.body;
20987
- if (this.destroyed) o.dispose();
20992
+ var i;
20993
+ let a = r.body;
20994
+ if (this.destroyed) a.dispose();
20988
20995
  else {
20989
- o.name = h;
20990
- let r = Array.isArray(o.image) ? o.image[0] : o.image, u = (i = r == null ? void 0 : r.width) == null ? 2048 : i, d = l.images.histogram;
20991
- d || (d = new gm().formPixels(Uh(this.renderer, o, !0, fm).data), l.images.histogram = d);
20992
- let f = {
20993
- panoId: c,
20994
- effect: s,
20995
- effectEasing: (a = n.effectEasing) == null ? Yg : a,
20996
+ a.name = m;
20997
+ let r = Array.isArray(a.image) ? a.image[0] : a.image, o = (i = r == null ? void 0 : r.width) == null ? 2048 : i, l = c.images.histogram;
20998
+ l || (l = new gm().formPixels(Uh(this.renderer, a, !0, fm).data), c.images.histogram = l);
20999
+ let u = {
21000
+ panoId: s,
21001
+ effect: y,
21002
+ effectEasing: b,
20996
21003
  panoPicture: {
20997
- panoId: c,
20998
- map: o,
20999
- mapSize: u,
21000
- mapHistogram: new e.Vector4().fromArray(d.toArray()),
21001
- matrix: l.matrix.clone().premultiply(l.work.transform),
21004
+ panoId: s,
21005
+ map: a,
21006
+ mapSize: o,
21007
+ mapHistogram: new e.Vector4().fromArray(l.toArray()),
21008
+ matrix: c.matrix.clone().premultiply(c.work.transform),
21002
21009
  zoom: 1
21003
21010
  },
21004
- position: l.position.clone().applyMatrix4(l.work.transform),
21011
+ position: c.position.clone().applyMatrix4(c.work.transform),
21005
21012
  fixCameraTransform: new e.Matrix4()
21006
21013
  };
21007
- f.panoPicture && this.panoPictureObserverMap.set(f.panoPicture, l), this.doMoveToPano(t, f, n);
21014
+ u.panoPicture && this.panoPictureObserverMap.set(u.panoPicture, c), this.doMoveToPano(t, u, n);
21008
21015
  }
21009
21016
  },
21010
21017
  onError: (e) => {
@@ -21015,8 +21022,8 @@ var Yg = Wu, Xg = new e.Raycaster(), Zg = new e.Vector3(), Qg = [
21015
21022
  options: n,
21016
21023
  prevPano: this.currentPano,
21017
21024
  pano: {
21018
- panoIndex: l.panoIndex,
21019
- workCode: l.work.workCode
21025
+ panoIndex: c.panoIndex,
21026
+ workCode: c.work.workCode
21020
21027
  },
21021
21028
  progress: 0,
21022
21029
  state: t
@@ -21026,8 +21033,8 @@ var Yg = Wu, Xg = new e.Raycaster(), Zg = new e.Vector3(), Qg = [
21026
21033
  options: n,
21027
21034
  prevPano: this.currentPano,
21028
21035
  pano: {
21029
- panoIndex: l.panoIndex,
21030
- workCode: l.work.workCode
21036
+ panoIndex: c.panoIndex,
21037
+ workCode: c.work.workCode
21031
21038
  },
21032
21039
  progress: 0,
21033
21040
  state: t
@@ -21040,14 +21047,14 @@ var Yg = Wu, Xg = new e.Raycaster(), Zg = new e.Vector3(), Qg = [
21040
21047
  meta: null,
21041
21048
  pano: t
21042
21049
  }));
21043
- }).then(() => this.textureLoader.loadCubeTexture(m, {
21050
+ }).then(() => this.textureLoader.loadCubeTexture(p, {
21044
21051
  imageURL: {
21045
- transform: f,
21046
- options: p
21052
+ transform: d,
21053
+ options: f
21047
21054
  },
21048
21055
  format: e.RGBFormat,
21049
21056
  viaAjax: !0,
21050
- fetcher: Sf(this.fiveId, l.work)
21057
+ fetcher: Sf(this.fiveId, c.work)
21051
21058
  }, void 0, void 0, (e) => {
21052
21059
  var n, r;
21053
21060
  this.emit("pano.texture.progress", Q("pano.texture.progress", {
@@ -21055,7 +21062,7 @@ var Yg = Wu, Xg = new e.Raycaster(), Zg = new e.Vector3(), Qg = [
21055
21062
  progress: e,
21056
21063
  meta: null,
21057
21064
  pano: t
21058
- })), ((n = this.pendingPanoTask) == null ? void 0 : n.hash) === h && ((r = this.panoMeshes.get(c)) == null || r.setProgress(e));
21065
+ })), ((n = this.pendingPanoTask) == null ? void 0 : n.hash) === m && ((r = this.panoMeshes.get(s)) == null || r.setProgress(e));
21059
21066
  }, this.renderer)).catch((e) => {
21060
21067
  let n = Yh(e);
21061
21068
  return this.emit("pano.texture.error", Q("pano.texture.error", {
@@ -21064,9 +21071,9 @@ var Yg = Wu, Xg = new e.Raycaster(), Zg = new e.Vector3(), Qg = [
21064
21071
  meta: null,
21065
21072
  pano: t
21066
21073
  })), n;
21067
- }), Promise.resolve().then(() => Dh(_)).catch((e) => Yh(e))]).then(([e, n]) => {
21074
+ }), Promise.resolve().then(() => Dh(g)).catch((e) => Yh(e))]).then(([e, n]) => {
21068
21075
  var r, i, a, o;
21069
- if (!(e instanceof Error) && !(n instanceof Error)) this.pending.delete(g), ((r = this.pendingPanoTask) == null ? void 0 : r.hash) === h ? (this.pendingPanoTask.onLoad(e), this.pendingPanoTask = void 0, (i = this.panoMeshes.get(c)) == null || i.setProgress(0)) : e.body.dispose(), this.emit("pano.texture.success", Q("pano.texture.success", {
21076
+ if (!(e instanceof Error) && !(n instanceof Error)) this.pending.delete(h), ((r = this.pendingPanoTask) == null ? void 0 : r.hash) === m ? (this.pendingPanoTask.onLoad(e), this.pendingPanoTask = void 0, (i = this.panoMeshes.get(s)) == null || i.setProgress(0)) : e.body.dispose(), this.emit("pano.texture.success", Q("pano.texture.success", {
21070
21077
  error: null,
21071
21078
  progress: 1,
21072
21079
  meta: e.meta,
@@ -21074,7 +21081,7 @@ var Yg = Wu, Xg = new e.Raycaster(), Zg = new e.Vector3(), Qg = [
21074
21081
  }));
21075
21082
  else {
21076
21083
  let t = null;
21077
- e instanceof Error ? t || (t = e) : e.body.dispose(), n instanceof Error && (t || (t = n)), this.pending.delete(g), ((a = this.pendingPanoTask) == null ? void 0 : a.hash) === h && (this.pendingPanoTask.onError(t), this.pendingPanoTask = void 0, (o = this.panoMeshes.get(c)) == null || o.setProgress(0));
21084
+ e instanceof Error ? t || (t = e) : e.body.dispose(), n instanceof Error && (t || (t = n)), this.pending.delete(h), ((a = this.pendingPanoTask) == null ? void 0 : a.hash) === m && (this.pendingPanoTask.onError(t), this.pendingPanoTask = void 0, (o = this.panoMeshes.get(s)) == null || o.setProgress(0));
21078
21085
  }
21079
21086
  });
21080
21087
  }
@@ -21339,9 +21346,9 @@ var Yg = Wu, Xg = new e.Raycaster(), Zg = new e.Vector3(), Qg = [
21339
21346
  return Math.abs(i.z) > 1 || Math.abs(i.x) > 1 || Math.abs(i.y) > 1 ? !1 : n.loadable || n.active;
21340
21347
  }), u = /* @__PURE__ */ new Map(), d = l.slice().sort((e, t) => {
21341
21348
  let n = c[e], r = u.get(n);
21342
- r === void 0 && (r = Zg.copy(n.standingPosition).applyMatrix4(n.work.transform).distanceTo(a), u.set(n, r));
21349
+ r === void 0 && (r = Qg.copy(n.standingPosition).applyMatrix4(n.work.transform).distanceTo(a), u.set(n, r));
21343
21350
  let i = c[t], o = u.get(i);
21344
- return o === void 0 && (o = Zg.copy(i.standingPosition).applyMatrix4(i.work.transform).distanceTo(a), u.set(i, o)), r - o;
21351
+ return o === void 0 && (o = Qg.copy(i.standingPosition).applyMatrix4(i.work.transform).distanceTo(a), u.set(i, o)), r - o;
21345
21352
  });
21346
21353
  u.clear();
21347
21354
  for (let e of [
@@ -21352,13 +21359,13 @@ var Yg = Wu, Xg = new e.Raycaster(), Zg = new e.Vector3(), Qg = [
21352
21359
  ]) for (let t of d) {
21353
21360
  let n = c[t];
21354
21361
  if (n) {
21355
- let t = Zg.copy(n.standingPosition).applyMatrix4(n.work.transform).sub(a);
21362
+ let t = Qg.copy(n.standingPosition).applyMatrix4(n.work.transform).sub(a);
21356
21363
  if (t && t.length() !== 0 && s.angleTo(t) < e) return n;
21357
21364
  }
21358
21365
  }
21359
21366
  let f = null;
21360
21367
  if (n) {
21361
- let e = n.ray.intersectBox(this.modelScene.boundingBox, Zg);
21368
+ let e = n.ray.intersectBox(this.modelScene.boundingBox, Qg);
21362
21369
  e && (e.project(t), Math.abs(e.z) <= 1 && (f = e.clone()));
21363
21370
  } else f = new e.Vector3(0, 0, 0);
21364
21371
  if (f) {
@@ -21370,15 +21377,15 @@ var Yg = Wu, Xg = new e.Raycaster(), Zg = new e.Vector3(), Qg = [
21370
21377
  return Math.abs(i.z) > 1 || Math.abs(i.x) > 1 || Math.abs(i.y) > 1 ? !1 : n.loadable || n.active;
21371
21378
  }), n = /* @__PURE__ */ new Map(), i = e.slice().sort((e, r) => {
21372
21379
  let i = c[e], a = n.get(i);
21373
- a === void 0 && (a = Zg.copy(i.position).applyMatrix4(i.work.transform).distanceTo(t.position), n.set(i, a));
21380
+ a === void 0 && (a = Qg.copy(i.position).applyMatrix4(i.work.transform).distanceTo(t.position), n.set(i, a));
21374
21381
  let o = c[r], s = n.get(o);
21375
- return s === void 0 && (s = Zg.copy(o.position).applyMatrix4(o.work.transform).distanceTo(t.position), n.set(o, s)), a - s;
21382
+ return s === void 0 && (s = Qg.copy(o.position).applyMatrix4(o.work.transform).distanceTo(t.position), n.set(o, s)), a - s;
21376
21383
  });
21377
21384
  n.clear();
21378
21385
  for (let e of i) {
21379
21386
  let n = c[e];
21380
21387
  if (n) {
21381
- let e = Zg.copy(n.position).applyMatrix4(n.work.transform);
21388
+ let e = Qg.copy(n.position).applyMatrix4(n.work.transform);
21382
21389
  if (e.project(t), Math.abs(e.z) > 1) continue;
21383
21390
  if (Math.pow(f.x - e.x, 2) + Math.pow(f.y - e.y, 2) < Math.pow(.4, 2)) return n;
21384
21391
  }
@@ -21396,12 +21403,12 @@ var Yg = Wu, Xg = new e.Raycaster(), Zg = new e.Vector3(), Qg = [
21396
21403
  let s = o.work.observers, c = o.accessibleNodes.filter((e) => {
21397
21404
  if (e === this.currentPano.panoIndex && o.work.workCode === this.currentPano.workCode) return !1;
21398
21405
  let t = s[e];
21399
- return !t || Zg.copy(t.position).applyMatrix4(t.work.transform).distanceTo(this.camera.position) > this.maxAccessibleDistance ? !1 : t.loadable || t.active;
21406
+ return !t || Qg.copy(t.position).applyMatrix4(t.work.transform).distanceTo(this.camera.position) > this.maxAccessibleDistance ? !1 : t.loadable || t.active;
21400
21407
  }), [l] = this.modelScene.intersectRaycaster(r);
21401
21408
  if (l) {
21402
21409
  let [e, t] = Rl(c, (e) => {
21403
21410
  let t = s[e];
21404
- return t ? Zg.copy(t.standingPosition).applyMatrix4(t.work.transform).distanceTo(l.point) : Infinity;
21411
+ return t ? Qg.copy(t.standingPosition).applyMatrix4(t.work.transform).distanceTo(l.point) : Infinity;
21405
21412
  }, !0);
21406
21413
  typeof e == "number" && t < this.panoTapTriggerRadius && (a = (n = s[e]) == null ? null : n);
21407
21414
  }
@@ -21461,21 +21468,21 @@ var Yg = Wu, Xg = new e.Raycaster(), Zg = new e.Vector3(), Qg = [
21461
21468
  }
21462
21469
  }
21463
21470
  }
21464
- }, t_ = Math.PI / 180, n_ = 180 / Math.PI, r_ = .001, i_ = 1, a_ = (() => {
21471
+ }, n_ = Math.PI / 180, r_ = 180 / Math.PI, i_ = .001, a_ = 1, o_ = (() => {
21465
21472
  let e = typeof navigator < "u" && /iPad|iPhone|iPod/.test(navigator.platform);
21466
21473
  return () => e;
21467
- })(), o_ = (() => {
21474
+ })(), s_ = (() => {
21468
21475
  let e = typeof navigator < "u" && /^((?!chrome|android).)*safari/i.test(navigator.userAgent);
21469
21476
  return () => e;
21470
- })(), s_ = (() => {
21477
+ })(), c_ = (() => {
21471
21478
  let e = typeof navigator < "u" && navigator.userAgent.indexOf("Firefox") !== -1 && navigator.userAgent.indexOf("Android") !== -1;
21472
21479
  return () => e;
21473
- })(), c_ = (() => {
21480
+ })(), l_ = (() => {
21474
21481
  let e = typeof navigator < "u" ? navigator.userAgent.match(/.*Chrome\/([0-9]+)/) : null, t = e ? parseInt(e[1], 10) : null;
21475
21482
  return () => t;
21476
- })(), l_ = (() => {
21483
+ })(), u_ = (() => {
21477
21484
  let e = !1;
21478
- if (c_() === 65) {
21485
+ if (l_() === 65) {
21479
21486
  let t = typeof navigator < "u" ? navigator.userAgent.match(/.*Chrome\/([0-9\.]*)/) : null;
21480
21487
  if (t) {
21481
21488
  let [n, r, i, a] = t[1].split(".");
@@ -21483,41 +21490,41 @@ var Yg = Wu, Xg = new e.Raycaster(), Zg = new e.Vector3(), Qg = [
21483
21490
  }
21484
21491
  }
21485
21492
  return () => e;
21486
- })(), u_ = (() => {
21487
- let e = a_() && o_() && typeof navigator < "u" && navigator.userAgent.indexOf("13_4") !== -1;
21488
- return () => e;
21489
21493
  })(), d_ = (() => {
21494
+ let e = o_() && s_() && typeof navigator < "u" && navigator.userAgent.indexOf("13_4") !== -1;
21495
+ return () => e;
21496
+ })(), f_ = (() => {
21490
21497
  let e = typeof navigator < "u" && navigator.userAgent.indexOf("R7 Build") !== -1;
21491
21498
  return () => e;
21492
21499
  })();
21493
- function f_() {
21500
+ function p_() {
21494
21501
  let e = typeof window < "u" && (window.orientation == 90 || window.orientation == -90);
21495
- return d_() ? !e : e;
21496
- }
21497
- function p_(e) {
21498
- return !(isNaN(e) || e <= r_ || e > i_);
21502
+ return f_() ? !e : e;
21499
21503
  }
21500
21504
  function m_(e) {
21505
+ return !(isNaN(e) || e <= i_ || e > a_);
21506
+ }
21507
+ function h_(e) {
21501
21508
  return e.w > 1 ? 0 : 2 * Math.acos(e.w);
21502
21509
  }
21503
- var h_ = (() => {
21510
+ var g_ = (() => {
21504
21511
  let e = {};
21505
21512
  return (t, n) => {
21506
21513
  e[t] === void 0 && (console.warn("cardboard: " + n), e[t] = !0);
21507
21514
  };
21508
21515
  })();
21509
- function g_(e) {
21516
+ function __(e) {
21510
21517
  let t, n = e.indexOf("://");
21511
21518
  t = n === -1 ? 0 : n + 3;
21512
21519
  let r = e.indexOf("/", t);
21513
21520
  return r === -1 && (r = e.length), e.substring(0, r);
21514
21521
  }
21515
- function __() {
21522
+ function v_() {
21516
21523
  if (typeof window > "u" || typeof document > "u") return !1;
21517
- let e = window.self !== window.top, t = g_(document.referrer), n = g_(window.location.href);
21524
+ let e = window.self !== window.top, t = __(document.referrer), n = __(window.location.href);
21518
21525
  return e && t !== n;
21519
21526
  }
21520
- var v_ = (() => {
21527
+ var y_ = (() => {
21521
21528
  function e(e, t, n) {
21522
21529
  let r = t ? t[0] : 0, i = t ? t[1] : 0, a = t ? t[2] : 0, o = t ? t[3] : 1, s = r + r, c = i + i, l = a + a, u = r * s, d = r * c, f = r * l, p = i * c, m = i * l, h = a * l, g = o * s, _ = o * c, v = o * l;
21523
21530
  return e[0] = 1 - (p + h), e[1] = d + v, e[2] = f - _, e[3] = 0, e[4] = d - v, e[5] = 1 - (u + h), e[6] = m + g, e[7] = 0, e[8] = f + _, e[9] = m - g, e[10] = 1 - (u + p), e[11] = 0, e[12] = n ? n[0] : 0, e[13] = n ? n[1] : 0, e[14] = n ? n[2] : 0, e[15] = 1, e;
@@ -21533,7 +21540,7 @@ var v_ = (() => {
21533
21540
  return (r, i, a) => {
21534
21541
  e(r, i), a && t(r, r, a), n(r, r);
21535
21542
  };
21536
- })(), y_ = class {
21543
+ })(), b_ = class {
21537
21544
  constructor(t = new e.Vector3(), n = 0) {
21538
21545
  this.sample = t, this.timestampS = n;
21539
21546
  }
@@ -21543,15 +21550,15 @@ var v_ = (() => {
21543
21550
  copy(e) {
21544
21551
  this.set(e.sample, e.timestampS);
21545
21552
  }
21546
- }, b_ = class {
21553
+ }, x_ = class {
21547
21554
  constructor(t, n) {
21548
- this.kFilter = t, this.isDebug = n, this.currentAccelMeasurement = new y_(), this.currentGyroMeasurement = new y_(), this.previousGyroMeasurement = new y_(), a_() ? this.filterQ = new e.Quaternion(-1, 0, 0, 1) : this.filterQ = new e.Quaternion(1, 0, 0, 1), this.previousFilterQ = new e.Quaternion(), this.previousFilterQ.copy(this.filterQ), this.accelQ = new e.Quaternion(), this.isOrientationInitialized = !1, this.estimatedGravity = new e.Vector3(), this.measuredGravity = new e.Vector3(), this.gyroIntegralQ = new e.Quaternion();
21555
+ this.kFilter = t, this.isDebug = n, this.currentAccelMeasurement = new b_(), this.currentGyroMeasurement = new b_(), this.previousGyroMeasurement = new b_(), o_() ? this.filterQ = new e.Quaternion(-1, 0, 0, 1) : this.filterQ = new e.Quaternion(1, 0, 0, 1), this.previousFilterQ = new e.Quaternion(), this.previousFilterQ.copy(this.filterQ), this.accelQ = new e.Quaternion(), this.isOrientationInitialized = !1, this.estimatedGravity = new e.Vector3(), this.measuredGravity = new e.Vector3(), this.gyroIntegralQ = new e.Quaternion();
21549
21556
  }
21550
21557
  addAccelMeasurement(e, t) {
21551
21558
  this.currentAccelMeasurement.set(e, t);
21552
21559
  }
21553
21560
  addGyroMeasurement(e, t) {
21554
- this.currentGyroMeasurement.set(e, t), p_(t - this.previousGyroMeasurement.timestampS) && this.run_(), this.previousGyroMeasurement.copy(this.currentGyroMeasurement);
21561
+ this.currentGyroMeasurement.set(e, t), m_(t - this.previousGyroMeasurement.timestampS) && this.run_(), this.previousGyroMeasurement.copy(this.currentGyroMeasurement);
21555
21562
  }
21556
21563
  getOrientation() {
21557
21564
  return this.filterQ;
@@ -21566,7 +21573,7 @@ var v_ = (() => {
21566
21573
  let r = new e.Quaternion();
21567
21574
  r.copy(this.filterQ), r.inverse(), this.estimatedGravity.set(0, 0, -1), this.estimatedGravity.applyQuaternion(r), this.estimatedGravity.normalize(), this.measuredGravity.copy(this.currentAccelMeasurement.sample), this.measuredGravity.normalize();
21568
21575
  let i = new e.Quaternion();
21569
- i.setFromUnitVectors(this.estimatedGravity, this.measuredGravity), i.inverse(), this.isDebug && console.log("Delta: %d deg, G_est: (%s, %s, %s), G_meas: (%s, %s, %s)", n_ * m_(i), this.estimatedGravity.x.toFixed(1), this.estimatedGravity.y.toFixed(1), this.estimatedGravity.z.toFixed(1), this.measuredGravity.x.toFixed(1), this.measuredGravity.y.toFixed(1), this.measuredGravity.z.toFixed(1));
21576
+ i.setFromUnitVectors(this.estimatedGravity, this.measuredGravity), i.inverse(), this.isDebug && console.log("Delta: %d deg, G_est: (%s, %s, %s), G_meas: (%s, %s, %s)", r_ * h_(i), this.estimatedGravity.x.toFixed(1), this.estimatedGravity.y.toFixed(1), this.estimatedGravity.z.toFixed(1), this.measuredGravity.x.toFixed(1), this.measuredGravity.y.toFixed(1), this.measuredGravity.z.toFixed(1));
21570
21577
  let a = new e.Quaternion();
21571
21578
  a.copy(this.filterQ), a.multiply(i), this.filterQ.slerp(a, 1 - this.kFilter), this.previousFilterQ.copy(this.filterQ);
21572
21579
  }
@@ -21580,7 +21587,7 @@ var v_ = (() => {
21580
21587
  let r = new e.Quaternion(), i = new e.Vector3();
21581
21588
  return i.copy(t), i.normalize(), r.setFromAxisAngle(i, t.length() * n), r;
21582
21589
  }
21583
- }, x_ = class {
21590
+ }, S_ = class {
21584
21591
  constructor(t, n) {
21585
21592
  this.predictionTimeS = t, this.isDebug = n, this.previousQ = new e.Quaternion(), this.previousTimestampS = null, this.deltaQ = new e.Quaternion(), this.outQ = new e.Quaternion();
21586
21593
  }
@@ -21589,11 +21596,11 @@ var v_ = (() => {
21589
21596
  let i = new e.Vector3();
21590
21597
  i.copy(n), i.normalize();
21591
21598
  let a = n.length();
21592
- if (a < t_ * 20) return this.isDebug && console.log("Moving slowly, at %s deg/s: no prediction", (n_ * a).toFixed(1)), this.outQ.copy(t), this.previousQ.copy(t), this.outQ;
21599
+ if (a < n_ * 20) return this.isDebug && console.log("Moving slowly, at %s deg/s: no prediction", (r_ * a).toFixed(1)), this.outQ.copy(t), this.previousQ.copy(t), this.outQ;
21593
21600
  let o = a * this.predictionTimeS;
21594
21601
  return this.deltaQ.setFromAxisAngle(i, o), this.outQ.copy(this.previousQ), this.outQ.multiply(this.deltaQ), this.previousQ.copy(t), this.previousTimestampS = r, this.outQ;
21595
21602
  }
21596
- }, S_ = class {
21603
+ }, C_ = class {
21597
21604
  constructor(e) {
21598
21605
  this.coefficients = e;
21599
21606
  }
@@ -21610,15 +21617,15 @@ var v_ = (() => {
21610
21617
  for (let e = 0; e < this.coefficients.length; e++) n = t * (n + this.coefficients[e]);
21611
21618
  return (n + 1) * e;
21612
21619
  }
21613
- }, C_ = class {
21620
+ }, w_ = class {
21614
21621
  constructor() {
21615
21622
  this.angularAcceleration = null, this.angularVelocity = null, this.linearAcceleration = null, this.linearVelocity = null, this.orientation = null, this.position = null;
21616
21623
  }
21617
- }, w_ = class {
21624
+ }, T_ = class {
21618
21625
  constructor() {
21619
21626
  this.leftDegrees = 0, this.rightDegrees = 0, this.upDegrees = 0, this.downDegrees = 0;
21620
21627
  }
21621
- }, T_ = class {
21628
+ }, E_ = class {
21622
21629
  constructor(t, n, r, i) {
21623
21630
  this.viewer = {
21624
21631
  id: "CardboardV1",
@@ -21646,11 +21653,11 @@ var v_ = (() => {
21646
21653
  widthMeters: .11,
21647
21654
  heightMeters: .062,
21648
21655
  bevelMeters: .004
21649
- }, this.depthNear = .01, this.depthFar = 1e4, this.yawOnly = r, this.accelerometer = new e.Vector3(), this.gyroscope = new e.Vector3(), this.filter = new b_(t, i), this.posePredictor = new x_(n, i), this.isFirefoxAndroid = s_(), this.isIOS = a_();
21650
- let a = c_();
21651
- this.isDeviceMotionInRadians = !this.isIOS && a !== null && a < 66, this.isWithoutDeviceMotion = l_() || u_(), this.filterToWorldQ = new e.Quaternion(), a_() ? this.filterToWorldQ.setFromAxisAngle(new e.Vector3(1, 0, 0), Math.PI / 2) : this.filterToWorldQ.setFromAxisAngle(new e.Vector3(1, 0, 0), -Math.PI / 2), this.inverseWorldToScreenQ = new e.Quaternion(), this.worldToScreenQ = new e.Quaternion(), this.originalPoseAdjustQ = new e.Quaternion();
21656
+ }, this.depthNear = .01, this.depthFar = 1e4, this.yawOnly = r, this.accelerometer = new e.Vector3(), this.gyroscope = new e.Vector3(), this.filter = new x_(t, i), this.posePredictor = new S_(n, i), this.isFirefoxAndroid = c_(), this.isIOS = o_();
21657
+ let a = l_();
21658
+ this.isDeviceMotionInRadians = !this.isIOS && a !== null && a < 66, this.isWithoutDeviceMotion = u_() || d_(), this.filterToWorldQ = new e.Quaternion(), o_() ? this.filterToWorldQ.setFromAxisAngle(new e.Vector3(1, 0, 0), Math.PI / 2) : this.filterToWorldQ.setFromAxisAngle(new e.Vector3(1, 0, 0), -Math.PI / 2), this.inverseWorldToScreenQ = new e.Quaternion(), this.worldToScreenQ = new e.Quaternion(), this.originalPoseAdjustQ = new e.Quaternion();
21652
21659
  let o = typeof window < "u" ? -window.orientation * Math.PI / 180 : 0;
21653
- this.originalPoseAdjustQ.setFromAxisAngle(new e.Vector3(0, 0, 1), o), this.setScreenTransform_(), f_() && this.filterToWorldQ.multiply(this.inverseWorldToScreenQ), this.resetQ = new e.Quaternion(), this.orientationOut_ = new Float32Array(4), this.previousTimestampS = Date.now();
21660
+ this.originalPoseAdjustQ.setFromAxisAngle(new e.Vector3(0, 0, 1), o), this.setScreenTransform_(), p_() && this.filterToWorldQ.multiply(this.inverseWorldToScreenQ), this.resetQ = new e.Quaternion(), this.orientationOut_ = new Float32Array(4), this.previousTimestampS = Date.now();
21654
21661
  }
21655
21662
  getPosition() {
21656
21663
  return null;
@@ -21675,20 +21682,20 @@ var v_ = (() => {
21675
21682
  return n.copy(this.filterToWorldQ), n.multiply(this.resetQ), n.multiply(t), n.multiply(this.worldToScreenQ), this.yawOnly && (n.x = 0, n.z = 0, n.normalize()), this.orientationOut_[0] = n.x, this.orientationOut_[1] = n.y, this.orientationOut_[2] = n.z, this.orientationOut_[3] = n.w, this.orientationOut_;
21676
21683
  }
21677
21684
  getPose() {
21678
- let e = new C_();
21685
+ let e = new w_();
21679
21686
  return e.orientation = this.getOrientation(), e;
21680
21687
  }
21681
21688
  resetPose() {
21682
- this.resetQ.copy(this.filter.getOrientation()), this.resetQ.x = 0, this.resetQ.y = 0, this.resetQ.z *= -1, this.resetQ.normalize(), f_() && this.resetQ.multiply(this.inverseWorldToScreenQ), this.resetQ.multiply(this.originalPoseAdjustQ);
21689
+ this.resetQ.copy(this.filter.getOrientation()), this.resetQ.x = 0, this.resetQ.y = 0, this.resetQ.z *= -1, this.resetQ.normalize(), p_() && this.resetQ.multiply(this.inverseWorldToScreenQ), this.resetQ.multiply(this.originalPoseAdjustQ);
21683
21690
  }
21684
21691
  getFrameData(e) {
21685
21692
  let t = this.getOrientation(), n = this.getEyeOffset(), r = this.getEyeProjectionMatrix();
21686
- return e.pose.angularAcceleration = null, e.pose.angularVelocity = null, e.pose.linearAcceleration = null, e.pose.linearVelocity = null, e.pose.orientation = t, e.pose.position = null, e.timestamp = this.previousTimestampS, e.leftProjectionMatrix.set(r.left), e.rightProjectionMatrix.set(r.right), v_(e.leftViewMatrix, t, n.left), v_(e.rightViewMatrix, t, n.right), e;
21693
+ return e.pose.angularAcceleration = null, e.pose.angularVelocity = null, e.pose.linearAcceleration = null, e.pose.linearVelocity = null, e.pose.orientation = t, e.pose.position = null, e.timestamp = this.previousTimestampS, e.leftProjectionMatrix.set(r.left), e.rightProjectionMatrix.set(r.right), y_(e.leftViewMatrix, t, n.left), y_(e.rightViewMatrix, t, n.right), e;
21687
21694
  }
21688
21695
  start() {
21689
21696
  if (typeof window > "u") return () => {};
21690
21697
  let e = this.onDeviceMotion_.bind(this), t = this.onOrientationChange_.bind(this), n = this.onMessage_.bind(this), r = this.onDeviceOrientation_.bind(this);
21691
- return a_() && __() && window.addEventListener("message", n), window.addEventListener("orientationchange", t), this.isWithoutDeviceMotion ? window.addEventListener("deviceorientation", r) : window.addEventListener("devicemotion", e), () => {
21698
+ return o_() && v_() && window.addEventListener("message", n), window.addEventListener("orientationchange", t), this.isWithoutDeviceMotion ? window.addEventListener("deviceorientation", r) : window.addEventListener("devicemotion", e), () => {
21692
21699
  window.removeEventListener("devicemotion", e), window.removeEventListener("deviceorientation", t), window.removeEventListener("orientationchange", t), window.removeEventListener("message", n);
21693
21700
  };
21694
21701
  }
@@ -21712,17 +21719,17 @@ var v_ = (() => {
21712
21719
  right: []
21713
21720
  };
21714
21721
  {
21715
- let i = e.left.upDegrees * t_, a = e.left.downDegrees * t_, o = e.left.leftDegrees * t_, s = e.left.rightDegrees * t_, c = 2 / (o + s), l = 2 / (i + a);
21722
+ let i = e.left.upDegrees * n_, a = e.left.downDegrees * n_, o = e.left.leftDegrees * n_, s = e.left.rightDegrees * n_, c = 2 / (o + s), l = 2 / (i + a);
21716
21723
  r.left[0] = c, r.left[1] = 0, r.left[2] = 0, r.left[3] = 0, r.left[4] = 0, r.left[5] = l, r.left[6] = 0, r.left[7] = 0, r.left[8] = -((o - s) * c * .5), r.left[9] = (i - a) * l * .5, r.left[10] = n / (t - n), r.left[11] = -1, r.left[12] = 0, r.left[13] = 0, r.left[14] = n * t / (t - n), r.left[15] = 0;
21717
21724
  }
21718
21725
  {
21719
- let i = e.right.upDegrees * t_, a = e.right.downDegrees * t_, o = e.right.leftDegrees * t_, s = e.right.rightDegrees * t_, c = 2 / (o + s), l = 2 / (i + a);
21726
+ let i = e.right.upDegrees * n_, a = e.right.downDegrees * n_, o = e.right.leftDegrees * n_, s = e.right.rightDegrees * n_, c = 2 / (o + s), l = 2 / (i + a);
21720
21727
  r.right[0] = c, r.right[1] = 0, r.right[2] = 0, r.right[3] = 0, r.right[4] = 0, r.right[5] = l, r.right[6] = 0, r.right[7] = 0, r.right[8] = -((o - s) * c * .5), r.right[9] = (i - a) * l * .5, r.right[10] = n / (t - n), r.right[11] = -1, r.right[12] = 0, r.right[13] = 0, r.right[14] = n * t / (t - n), r.right[15] = 0;
21721
21728
  }
21722
21729
  return r;
21723
21730
  }
21724
21731
  getEyeFieldOfView() {
21725
- let e = this.viewer, t = this.device, n = new S_(e.distortionCoefficients), r = e.screenLensDistance, i = (t.widthMeters - e.interLensDistance) / 2, a = e.interLensDistance / 2, o = e.baselineLensDistance - t.bevelMeters, s = t.heightMeters - o, c = n_ * Math.atan(n.distort(i / r)), l = n_ * Math.atan(n.distort(a / r)), u = n_ * Math.atan(n.distort(o / r)), d = n_ * Math.atan(n.distort(s / r)), f = new w_(), p = new w_();
21732
+ let e = this.viewer, t = this.device, n = new C_(e.distortionCoefficients), r = e.screenLensDistance, i = (t.widthMeters - e.interLensDistance) / 2, a = e.interLensDistance / 2, o = e.baselineLensDistance - t.bevelMeters, s = t.heightMeters - o, c = r_ * Math.atan(n.distort(i / r)), l = r_ * Math.atan(n.distort(a / r)), u = r_ * Math.atan(n.distort(o / r)), d = r_ * Math.atan(n.distort(s / r)), f = new T_(), p = new T_();
21726
21733
  return f.leftDegrees = Math.min(c, e.fov), f.rightDegrees = Math.min(l, e.fov), f.downDegrees = Math.min(u, e.fov), f.upDegrees = Math.min(d, e.fov), p.leftDegrees = f.rightDegrees, p.rightDegrees = f.leftDegrees, p.upDegrees = f.upDegrees, p.downDegrees = f.downDegrees, {
21727
21734
  left: f,
21728
21735
  right: p
@@ -21739,13 +21746,13 @@ var v_ = (() => {
21739
21746
  updateDeviceMotion_(e) {
21740
21747
  let t = e.accelerationIncludingGravity, n = e.rotationRate, r = e.timeStamp / 1e3, i = r - this.previousTimestampS;
21741
21748
  if (i < 0) {
21742
- h_("fusion-pose-sensor:invalid:non-monotonic", "Invalid timestamps detected: non-monotonic timestamp from devicemotion"), this.previousTimestampS = r;
21749
+ g_("fusion-pose-sensor:invalid:non-monotonic", "Invalid timestamps detected: non-monotonic timestamp from devicemotion"), this.previousTimestampS = r;
21743
21750
  return;
21744
- } else if (i <= r_ || i > i_) {
21745
- h_("fusion-pose-sensor:invalid:outside-threshold", "Invalid timestamps detected: Timestamp from devicemotion outside expected range."), this.previousTimestampS = r;
21751
+ } else if (i <= i_ || i > a_) {
21752
+ g_("fusion-pose-sensor:invalid:outside-threshold", "Invalid timestamps detected: Timestamp from devicemotion outside expected range."), this.previousTimestampS = r;
21746
21753
  return;
21747
21754
  }
21748
- t && (this.accelerometer.set(-t.x, -t.y, -t.z), n && (d_() ? this.gyroscope.set(-n.beta, n.alpha, n.gamma) : this.gyroscope.set(n.alpha, n.beta, n.gamma), this.isDeviceMotionInRadians || this.gyroscope.multiplyScalar(Math.PI / 180), this.filter.addGyroMeasurement(this.gyroscope, r)), this.filter.addAccelMeasurement(this.accelerometer, r)), this.previousTimestampS = r;
21755
+ t && (this.accelerometer.set(-t.x, -t.y, -t.z), n && (f_() ? this.gyroscope.set(-n.beta, n.alpha, n.gamma) : this.gyroscope.set(n.alpha, n.beta, n.gamma), this.isDeviceMotionInRadians || this.gyroscope.multiplyScalar(Math.PI / 180), this.filter.addGyroMeasurement(this.gyroscope, r)), this.filter.addAccelMeasurement(this.accelerometer, r)), this.previousTimestampS = r;
21749
21756
  }
21750
21757
  onOrientationChange_() {
21751
21758
  this.setScreenTransform_();
@@ -21767,19 +21774,19 @@ var v_ = (() => {
21767
21774
  }
21768
21775
  this.inverseWorldToScreenQ.copy(this.worldToScreenQ), this.inverseWorldToScreenQ.inverse();
21769
21776
  }
21770
- }, E_ = [
21777
+ }, D_ = [
21771
21778
  0,
21772
21779
  0,
21773
21780
  .5,
21774
21781
  1
21775
- ], D_ = [
21782
+ ], O_ = [
21776
21783
  .5,
21777
21784
  0,
21778
21785
  .5,
21779
21786
  1
21780
- ], O_ = class {
21787
+ ], k_ = class {
21781
21788
  constructor(t) {
21782
- this.renderer = t, this.sensor = new T_(.98, .04, !1, !1), this.scale = 1, this.cameraL = new e.PerspectiveCamera(), this.cameraR = new e.PerspectiveCamera();
21789
+ this.renderer = t, this.sensor = new E_(.98, .04, !1, !1), this.scale = 1, this.cameraL = new e.PerspectiveCamera(), this.cameraR = new e.PerspectiveCamera();
21783
21790
  let n = this.sensor.start();
21784
21791
  this.dispose = () => {
21785
21792
  let t = this.renderer.getSize(new e.Vector2());
@@ -21792,15 +21799,15 @@ var v_ = (() => {
21792
21799
  var i = t.autoUpdate;
21793
21800
  i && (t.updateMatrixWorld(), t.autoUpdate = !1);
21794
21801
  let a = {
21795
- x: Math.round(r.width * E_[0]),
21796
- y: Math.round(r.height * E_[1]),
21797
- width: Math.round(r.width * E_[2]),
21798
- height: Math.round(r.height * E_[3])
21799
- }, o = {
21800
21802
  x: Math.round(r.width * D_[0]),
21801
21803
  y: Math.round(r.height * D_[1]),
21802
21804
  width: Math.round(r.width * D_[2]),
21803
21805
  height: Math.round(r.height * D_[3])
21806
+ }, o = {
21807
+ x: Math.round(r.width * O_[0]),
21808
+ y: Math.round(r.height * O_[1]),
21809
+ width: Math.round(r.width * O_[2]),
21810
+ height: Math.round(r.height * O_[3])
21804
21811
  };
21805
21812
  this.renderer.setScissorTest(!0), this.renderer.autoClear && this.renderer.clear(), n.parent === null && n.updateMatrixWorld(), n.matrixWorld.decompose(this.cameraL.position, this.cameraL.quaternion, this.cameraL.scale), n.matrixWorld.decompose(this.cameraR.position, this.cameraR.quaternion, this.cameraR.scale);
21806
21813
  let s = this.sensor.getEyeOffset();
@@ -21810,7 +21817,7 @@ var v_ = (() => {
21810
21817
  } else this.renderer.render(t, n);
21811
21818
  }
21812
21819
  dispose() {}
21813
- }, k_ = "data:image/png;base64,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", A_ = "data:image/png;base64,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", j_, M_ = {
21820
+ }, A_ = "data:image/png;base64,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", j_ = "data:image/png;base64,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", M_, N_ = {
21814
21821
  zh: {
21815
21822
  TITLE: "眼镜模式",
21816
21823
  HIT: "请将手机横屏放入 VR 眼镜中"
@@ -21823,7 +21830,7 @@ var v_ = (() => {
21823
21830
  TITLE: "メガネモード",
21824
21831
  HIT: "携帯電話をVRメガネに水平に入れてください。"
21825
21832
  }
21826
- }, N_ = typeof navigator < "u" ? (j_ = M_[navigator.language.split("-")[0]]) == null ? M_.zh : j_ : M_.zh, P_ = `
21833
+ }, P_ = typeof navigator < "u" ? (M_ = N_[navigator.language.split("-")[0]]) == null ? N_.zh : M_ : N_.zh, F_ = `
21827
21834
  <style>
21828
21835
  .$id {
21829
21836
  all: initial;
@@ -21906,7 +21913,7 @@ var v_ = (() => {
21906
21913
  .$id-modal-content-guide-cardboard-image {
21907
21914
  width: 100px;
21908
21915
  height: 82px;
21909
- background-image: url(${k_});
21916
+ background-image: url(${A_});
21910
21917
  background-size: 100%;
21911
21918
  background-repeat: no-repeat;
21912
21919
  }
@@ -21948,7 +21955,7 @@ var v_ = (() => {
21948
21955
  .$id-modal-content-guide-phone-image {
21949
21956
  width: 58px;
21950
21957
  height: 56px;
21951
- background-image: url(${A_});
21958
+ background-image: url(${j_});
21952
21959
  background-size: 100%;
21953
21960
  background-repeat: no-repeat;
21954
21961
  }
@@ -22025,8 +22032,8 @@ Z
22025
22032
  </div>
22026
22033
  </div>
22027
22034
  <div class="$id-modal-content">
22028
- <div class="$id-modal-content-title">${N_.TITLE}</div>
22029
- <div class="$id-modal-content-hit">${N_.HIT}</div>
22035
+ <div class="$id-modal-content-title">${P_.TITLE}</div>
22036
+ <div class="$id-modal-content-hit">${P_.HIT}</div>
22030
22037
  <div class="$id-modal-content-guide">
22031
22038
  <div class="$id-modal-content-guide-phone">
22032
22039
  <div class="$id-modal-content-guide-phone-move-x">
@@ -22085,7 +22092,7 @@ Z
22085
22092
  </div>
22086
22093
  </div>
22087
22094
  `;
22088
- function F_(e) {
22095
+ function I_(e) {
22089
22096
  let t = 1, n = document.getElementsByTagName("meta");
22090
22097
  for (let e = 0; e < n.length; e++) {
22091
22098
  let r = n[e];
@@ -22095,15 +22102,15 @@ function F_(e) {
22095
22102
  }
22096
22103
  }
22097
22104
  let r = (e) => Math.floor(e * t) + "px";
22098
- return P_.replace(/\n/g, " ").replace(/\ +/g, " ").replace(/\$id/g, e).replace(/(\d+)px/g, (e, t) => r(Number(t)));
22105
+ return F_.replace(/\n/g, " ").replace(/\ +/g, " ").replace(/\$id/g, e).replace(/(\d+)px/g, (e, t) => r(Number(t)));
22099
22106
  }
22100
- function I_() {
22101
- let e = "five_vr_helper_" + $t(), t = F_(e), n = document.createElement("div");
22107
+ function L_() {
22108
+ let e = "five_vr_helper_" + $t(), t = I_(e), n = document.createElement("div");
22102
22109
  return n.className = e, n.innerHTML = t, n;
22103
22110
  }
22104
22111
  //#endregion
22105
22112
  //#region build/five/meshes/panoSphereMesh.js
22106
- var L_ = new e.CircleBufferGeometry(.12, 16), R_ = "\nvarying vec2 vUv;\n#include <common>\n#include <logdepthbuf_pars_vertex>\nvoid main() {\n vUv = uv;\n gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\n #include <logdepthbuf_vertex>\n}\n", z_ = "\nuniform float circleScale;\nuniform float circleFade;\nuniform float circleOpacity;\nuniform float loadingAngle;\nuniform float loadingOpacity;\nuniform float opacity;\nuniform float disable;\nvarying vec2 vUv;\n\n#include <common>\n#include <logdepthbuf_pars_fragment>\n#define SMOOTH_DIST 0.017\n#define CENTER vec2(0.5, 0.5)\n\nfloat inside(float innerDist) {\n float dist = length(CENTER - vUv);\n return smoothstep(innerDist, innerDist + SMOOTH_DIST, dist);\n}\nfloat outside(float outerDist) {\n float dist = length(CENTER - vUv);\n return 1.0 - smoothstep(outerDist - SMOOTH_DIST, outerDist, dist);\n}\n\nvec4 create_circle() {\n float dist = length(CENTER - vUv);\n float gradient = clamp(0.98 + abs(dot(normalize(vec2(1.0, -1.0)), vUv - CENTER)) * 2.0, 0.0, 1.0);\n vec3 color = mix(vec3(0.576, 0.635, 1.0), vec3(1.0, 1.0, 1.0), circleFade * 0.5);\n return vec4(color, 1.0 * gradient * circleOpacity * outside(0.3 * circleScale));\n}\n\nvec4 create_disable() {\n float dist = length(CENTER - vUv);\n return vec4(1.0, 1.0, 1.0, 0.5 * outside(0.32 * circleScale));\n}\n\nvec4 create_loading() {\n float angle = PI - atan(CENTER.x - vUv.x, CENTER.y - vUv.y);\n angle = mod(angle + loadingAngle, PI2);\n float gradient = (1.0 - smoothstep(0.0, PI2, angle)) * 0.9 + 0.1;\n return vec4(1.0, 1.0, 1.0, gradient * loadingOpacity * inside(0.2 * circleScale) * outside(0.25 * circleScale));\n}\n\nvoid main() {\n #include <logdepthbuf_fragment>\n gl_FragColor = vec4(1.0, 1.0, 1.0, 0);\n\n vec4 circleColor = create_circle();\n gl_FragColor = mix(gl_FragColor, circleColor, circleColor.a);\n\n vec4 loadingColor = create_loading();\n gl_FragColor = mix(gl_FragColor, loadingColor, loadingColor.a);\n\n gl_FragColor = mix(gl_FragColor, create_disable(), disable);\n\n gl_FragColor = vec4(gl_FragColor.rgb, gl_FragColor.a * opacity);\n}\n", B_ = "\nvarying vec2 vUv;\n#include <common>\n#include <logdepthbuf_pars_vertex>\nvoid main() {\n vUv = uv;\n gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\n #include <logdepthbuf_vertex>\n}\n", V_ = "\nvarying vec2 vUv;\nuniform float opacity;\n#include <common>\n#include <logdepthbuf_pars_fragment>\n\nfloat smoothDist = 0.01;\nvoid main() {\n #include <logdepthbuf_fragment>\n vec2 center = vec2(0.5, 0.5);\n float dist = length(center - vUv);\n float outerDist = 0.49;\n float innerDist = 0.29;\n\n float outside = 1.0 - smoothstep(outerDist - smoothDist, outerDist, dist);\n float inside = smoothstep(innerDist, innerDist + smoothDist, dist);\n\n vec4 bg = vec4(0.576, 0.635, 1.0, 0.3);\n float gradientAlpha = clamp(abs(dist - (outerDist + innerDist) / 2.0) / (outerDist - innerDist) * 1.5 + 0.1, 0.0, 1.0);\n vec4 gradient = vec4(1.0, 1.0, 1.0, gradientAlpha);\n\n gl_FragColor = mix(bg, gradient, gradient.a);\n\n gl_FragColor = vec4(gl_FragColor.rgb, gl_FragColor.a * opacity * outside * inside);\n}\n", H_ = class extends e.Object3D {
22113
+ var R_ = new e.CircleBufferGeometry(.12, 16), z_ = "\nvarying vec2 vUv;\n#include <common>\n#include <logdepthbuf_pars_vertex>\nvoid main() {\n vUv = uv;\n gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\n #include <logdepthbuf_vertex>\n}\n", B_ = "\nuniform float circleScale;\nuniform float circleFade;\nuniform float circleOpacity;\nuniform float loadingAngle;\nuniform float loadingOpacity;\nuniform float opacity;\nuniform float disable;\nvarying vec2 vUv;\n\n#include <common>\n#include <logdepthbuf_pars_fragment>\n#define SMOOTH_DIST 0.017\n#define CENTER vec2(0.5, 0.5)\n\nfloat inside(float innerDist) {\n float dist = length(CENTER - vUv);\n return smoothstep(innerDist, innerDist + SMOOTH_DIST, dist);\n}\nfloat outside(float outerDist) {\n float dist = length(CENTER - vUv);\n return 1.0 - smoothstep(outerDist - SMOOTH_DIST, outerDist, dist);\n}\n\nvec4 create_circle() {\n float dist = length(CENTER - vUv);\n float gradient = clamp(0.98 + abs(dot(normalize(vec2(1.0, -1.0)), vUv - CENTER)) * 2.0, 0.0, 1.0);\n vec3 color = mix(vec3(0.576, 0.635, 1.0), vec3(1.0, 1.0, 1.0), circleFade * 0.5);\n return vec4(color, 1.0 * gradient * circleOpacity * outside(0.3 * circleScale));\n}\n\nvec4 create_disable() {\n float dist = length(CENTER - vUv);\n return vec4(1.0, 1.0, 1.0, 0.5 * outside(0.32 * circleScale));\n}\n\nvec4 create_loading() {\n float angle = PI - atan(CENTER.x - vUv.x, CENTER.y - vUv.y);\n angle = mod(angle + loadingAngle, PI2);\n float gradient = (1.0 - smoothstep(0.0, PI2, angle)) * 0.9 + 0.1;\n return vec4(1.0, 1.0, 1.0, gradient * loadingOpacity * inside(0.2 * circleScale) * outside(0.25 * circleScale));\n}\n\nvoid main() {\n #include <logdepthbuf_fragment>\n gl_FragColor = vec4(1.0, 1.0, 1.0, 0);\n\n vec4 circleColor = create_circle();\n gl_FragColor = mix(gl_FragColor, circleColor, circleColor.a);\n\n vec4 loadingColor = create_loading();\n gl_FragColor = mix(gl_FragColor, loadingColor, loadingColor.a);\n\n gl_FragColor = mix(gl_FragColor, create_disable(), disable);\n\n gl_FragColor = vec4(gl_FragColor.rgb, gl_FragColor.a * opacity);\n}\n", V_ = "\nvarying vec2 vUv;\n#include <common>\n#include <logdepthbuf_pars_vertex>\nvoid main() {\n vUv = uv;\n gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\n #include <logdepthbuf_vertex>\n}\n", H_ = "\nvarying vec2 vUv;\nuniform float opacity;\n#include <common>\n#include <logdepthbuf_pars_fragment>\n\nfloat smoothDist = 0.01;\nvoid main() {\n #include <logdepthbuf_fragment>\n vec2 center = vec2(0.5, 0.5);\n float dist = length(center - vUv);\n float outerDist = 0.49;\n float innerDist = 0.29;\n\n float outside = 1.0 - smoothstep(outerDist - smoothDist, outerDist, dist);\n float inside = smoothstep(innerDist, innerDist + smoothDist, dist);\n\n vec4 bg = vec4(0.576, 0.635, 1.0, 0.3);\n float gradientAlpha = clamp(abs(dist - (outerDist + innerDist) / 2.0) / (outerDist - innerDist) * 1.5 + 0.1, 0.0, 1.0);\n vec4 gradient = vec4(1.0, 1.0, 1.0, gradientAlpha);\n\n gl_FragColor = mix(bg, gradient, gradient.a);\n\n gl_FragColor = vec4(gl_FragColor.rgb, gl_FragColor.a * opacity * outside * inside);\n}\n", U_ = class extends e.Object3D {
22107
22114
  constructor() {
22108
22115
  super(), this.progress = 0, this.opacity = 0, this.loading = !1, this.current = !1, this.disabled = !1, this.currentMotion = new X({
22109
22116
  ringScale: 1.1,
@@ -22121,16 +22128,16 @@ var L_ = new e.CircleBufferGeometry(.12, 16), R_ = "\nvarying vec2 vUv;\n#includ
22121
22128
  depthWrite: !1,
22122
22129
  transparent: !0
22123
22130
  };
22124
- this.hitTestMesh = new e.Mesh(L_, new e.MeshBasicMaterial(Object.assign(Object.assign({}, t), {
22131
+ this.hitTestMesh = new e.Mesh(R_, new e.MeshBasicMaterial(Object.assign(Object.assign({}, t), {
22125
22132
  color: 0,
22126
22133
  opacity: 0
22127
- }))), this.hitTestMesh.scale.set(1.5, 1.5, 1.5), this.ringMesh = new e.Mesh(L_, new e.ShaderMaterial(Object.assign(Object.assign({}, t), {
22128
- vertexShader: B_,
22129
- fragmentShader: V_,
22134
+ }))), this.hitTestMesh.scale.set(1.5, 1.5, 1.5), this.ringMesh = new e.Mesh(R_, new e.ShaderMaterial(Object.assign(Object.assign({}, t), {
22135
+ vertexShader: V_,
22136
+ fragmentShader: H_,
22130
22137
  uniforms: { opacity: { value: 0 } }
22131
- }))), this.panoMesh = new e.Mesh(L_, new e.ShaderMaterial(Object.assign(Object.assign({}, t), {
22132
- vertexShader: R_,
22133
- fragmentShader: z_,
22138
+ }))), this.panoMesh = new e.Mesh(R_, new e.ShaderMaterial(Object.assign(Object.assign({}, t), {
22139
+ vertexShader: z_,
22140
+ fragmentShader: B_,
22134
22141
  uniforms: {
22135
22142
  circleScale: { value: 1.1 },
22136
22143
  circleFade: { value: 0 },
@@ -22283,7 +22290,7 @@ var L_ = new e.CircleBufferGeometry(.12, 16), R_ = "\nvarying vec2 vUv;\n#includ
22283
22290
  dispose() {
22284
22291
  this.hitTestMesh.material.dispose(), this.ringMesh.material.dispose(), this.panoMesh.material.dispose();
22285
22292
  }
22286
- }, U_ = 1500, W_ = Object.assign({}, hr($g, ["maxLatitude", "minLatitude"])), G_ = class t extends e_ {
22293
+ }, W_ = 1500, G_ = Object.assign({}, hr(e_, ["maxLatitude", "minLatitude"])), K_ = class t extends t_ {
22287
22294
  static parseArgs(e) {
22288
22295
  if (e instanceof t) return e;
22289
22296
  let n = Object.assign(Object.assign({}, e), {
@@ -22298,8 +22305,8 @@ var L_ = new e.CircleBufferGeometry(.12, 16), R_ = "\nvarying vec2 vUv;\n#includ
22298
22305
  }
22299
22306
  constructor(e) {
22300
22307
  let n = t.parseArgs(e);
22301
- super(n), this.mode = "VRPanorama", this.cardboard = new O_(this.renderer);
22302
- let r = I_();
22308
+ super(n), this.mode = "VRPanorama", this.cardboard = new k_(this.renderer);
22309
+ let r = L_();
22303
22310
  this.helperElement = r;
22304
22311
  let i = new Wh(r);
22305
22312
  this.element.parentNode && (this.element.parentNode.insertBefore(r, this.element), this.updateHelperElementSize(), i.on("tap", () => this.emit("vr.requestExit", Q("vr.requestExit", {})))), this.destroyHelper = () => {
@@ -22408,7 +22415,7 @@ var L_ = new e.CircleBufferGeometry(.12, 16), R_ = "\nvarying vec2 vUv;\n#includ
22408
22415
  let n = T.get(t);
22409
22416
  n ? (e.position.copy(n.position).applyMatrix4(n.work.transform), T.delete(t)) : (this.helper.remove(e), e.dispose(), this.panoMeshes.delete(t));
22410
22417
  }), T.forEach((e, t) => {
22411
- let n = new H_();
22418
+ let n = new U_();
22412
22419
  n.position.copy(e.position).applyMatrix4(e.work.transform), e.position.distanceTo(e.standingPosition) > this.aerialObserverMinHeight ? n.scale.setScalar(15) : n.scale.setScalar(1), this.panoMeshes.set(t, n), this.helper.add(n), T.delete(t);
22413
22420
  }), this.camera.pose.distance > .1 || b ? this.panoMeshes.forEach((e, r) => {
22414
22421
  e.setOpacity(0), e.updateTime && e.updateTime(t, n), e.visible = !1;
@@ -22524,7 +22531,7 @@ var L_ = new e.CircleBufferGeometry(.12, 16), R_ = "\nvarying vec2 vUv;\n#includ
22524
22531
  this.intersectMesh.visible = !1, this.activePanoMesh = void 0, this.activeTime = void 0;
22525
22532
  return;
22526
22533
  }
22527
- if (this.activePanoMesh && this.activeTime && t - this.activeTime > U_) {
22534
+ if (this.activePanoMesh && this.activeTime && t - this.activeTime > W_) {
22528
22535
  let e = this.activePanoMesh, t = null;
22529
22536
  return this.panoMeshes.forEach((n, r) => {
22530
22537
  n === e && (t = r);
@@ -22576,7 +22583,7 @@ var L_ = new e.CircleBufferGeometry(.12, 16), R_ = "\nvarying vec2 vUv;\n#includ
22576
22583
  onPinchGesture() {}
22577
22584
  onMouseMove() {}
22578
22585
  onMouseOut() {}
22579
- }, K_ = new e.Vector3(0, 1.6, 0), q_ = new e.Box3(), J_ = new e.Vector3(), Y_ = Object.assign({}, ng), X_ = class t extends rg {
22586
+ }, q_ = new e.Vector3(0, 1.6, 0), J_ = new e.Box3(), Y_ = new e.Vector3(), X_ = Object.assign({}, ng), Z_ = class t extends rg {
22580
22587
  static parseArgs(e) {
22581
22588
  return e instanceof t ? e : super.parseArgs(e);
22582
22589
  }
@@ -22684,9 +22691,9 @@ var L_ = new e.CircleBufferGeometry(.12, 16), R_ = "\nvarying vec2 vUv;\n#includ
22684
22691
  let n = new e.Vector3(this.locationMotion.value.x, this.locationMotion.value.y, this.locationMotion.value.z), r = [];
22685
22692
  for (let e of this.works) {
22686
22693
  let t = this.modelScene.models.find((t) => t.work === e);
22687
- if (!(!t || t.visible === !1) && !(e.observers.length <= 0) && (q_.copy(e.observerBox).expandByScalar(10).applyMatrix4(e.transform), q_.containsPoint(n))) for (let t of e.observers) r.push(t);
22694
+ if (!(!t || t.visible === !1) && !(e.observers.length <= 0) && (J_.copy(e.observerBox).expandByScalar(10).applyMatrix4(e.transform), J_.containsPoint(n))) for (let t of e.observers) r.push(t);
22688
22695
  }
22689
- let i = Rl(r, (e) => J_.copy(e.position).applyMatrix4(e.work.transform).distanceTo(n));
22696
+ let i = Rl(r, (e) => Y_.copy(e.position).applyMatrix4(e.work.transform).distanceTo(n));
22690
22697
  this.currentPano = i ? {
22691
22698
  workCode: i.work.workCode,
22692
22699
  panoIndex: i.panoIndex
@@ -22779,9 +22786,9 @@ var L_ = new e.CircleBufferGeometry(.12, 16), R_ = "\nvarying vec2 vUv;\n#includ
22779
22786
  }, g = [];
22780
22787
  for (let e of this.works) {
22781
22788
  let t = this.modelScene.models.find((t) => t.work === e);
22782
- if (!(!t || t.visible === !1) && !(e.observers.length <= 0) && (q_.copy(e.observerBox).expandByScalar(10).applyMatrix4(e.transform), q_.containsPoint(c))) for (let t of e.observers) g.push(t);
22789
+ if (!(!t || t.visible === !1) && !(e.observers.length <= 0) && (J_.copy(e.observerBox).expandByScalar(10).applyMatrix4(e.transform), J_.containsPoint(c))) for (let t of e.observers) g.push(t);
22783
22790
  }
22784
- let _ = Rl(g, (e) => J_.copy(e.position).applyMatrix4(e.work.transform).distanceTo(c)), v = _ ? {
22791
+ let _ = Rl(g, (e) => Y_.copy(e.position).applyMatrix4(e.work.transform).distanceTo(c)), v = _ ? {
22785
22792
  workCode: _.work.workCode,
22786
22793
  panoIndex: _.panoIndex
22787
22794
  } : {
@@ -22850,16 +22857,16 @@ var L_ = new e.CircleBufferGeometry(.12, 16), R_ = "\nvarying vec2 vUv;\n#includ
22850
22857
  }
22851
22858
  }
22852
22859
  if (r) {
22853
- let n = new e.Vector3().copy(r.point).add(K_), i = [];
22860
+ let n = new e.Vector3().copy(r.point).add(q_), i = [];
22854
22861
  for (let e of this.works) {
22855
22862
  let t = this.modelScene.models.find((t) => t.work === e);
22856
- if (!(!t || t.visible === !1) && !(e.observers.length <= 0) && (q_.copy(e.observerBox).expandByScalar(10).applyMatrix4(e.transform), q_.containsPoint(n))) for (let t of e.observers) i.push(t);
22863
+ if (!(!t || t.visible === !1) && !(e.observers.length <= 0) && (J_.copy(e.observerBox).expandByScalar(10).applyMatrix4(e.transform), J_.containsPoint(n))) for (let t of e.observers) i.push(t);
22857
22864
  }
22858
- let [a, o] = Rl(i, (e) => J_.copy(e.position).applyMatrix4(e.work.transform).distanceTo(n), !0);
22859
- a && o < 5 && (n.y = J_.copy(a.position).applyMatrix4(a.work.transform).y), t.state.offset.copy(n), t.state.distance = 0, this.emit("gesture.tap", t), t.defaultPrevented || this.moveToPosition(n, {}, !0);
22865
+ let [a, o] = Rl(i, (e) => Y_.copy(e.position).applyMatrix4(e.work.transform).distanceTo(n), !0);
22866
+ a && o < 5 && (n.y = Y_.copy(a.position).applyMatrix4(a.work.transform).y), t.state.offset.copy(n), t.state.distance = 0, this.emit("gesture.tap", t), t.defaultPrevented || this.moveToPosition(n, {}, !0);
22860
22867
  } else this.emit("gesture.tap", t), t.defaultPrevented || this.cameraBounce();
22861
22868
  }
22862
- }, Z_ = new e.Box3(), Q_ = new e.Vector3(), $_ = .5, ev = Math.PI / 7, tv = {
22869
+ }, Q_ = new e.Box3(), $_ = new e.Vector3(), ev = .5, tv = Math.PI / 7, nv = {
22863
22870
  defaultLongitude: Math.PI / 4,
22864
22871
  defaultLatitude: Math.PI / 4,
22865
22872
  defaultDistance: 150,
@@ -22868,20 +22875,20 @@ var L_ = new e.CircleBufferGeometry(.12, 16), R_ = "\nvarying vec2 vUv;\n#includ
22868
22875
  cameraType: "auto",
22869
22876
  cameraFence: null,
22870
22877
  intersectMeshCreator: () => new Jh()
22871
- }, nv = class t extends Gh {
22878
+ }, rv = class t extends Gh {
22872
22879
  static parseArgs(e) {
22873
22880
  var n, r, i, a, o, s, c, l;
22874
22881
  if (e instanceof t) return e;
22875
22882
  let u = super.parseArgs(e);
22876
22883
  return Object.assign(Object.assign({}, u), {
22877
- defaultLongitude: (n = e.defaultLongitude) == null ? tv.defaultLongitude : n,
22878
- defaultLatitude: (r = e.defaultLatitude) == null ? tv.defaultLatitude : r,
22879
- defaultDistance: (i = e.defaultDistance) == null ? tv.defaultDistance : i,
22880
- maxLatitude: (a = e.maxLatitude) == null ? tv.maxLatitude : a,
22881
- minLatitude: (o = e.minLatitude) == null ? tv.minLatitude : o,
22882
- cameraType: (s = e.cameraType) == null ? tv.cameraType : s,
22883
- cameraFence: (c = e.cameraFence) == null ? tv.cameraFence : c,
22884
- intersectMeshCreator: (l = e.intersectMeshCreator) == null ? tv.intersectMeshCreator : l
22884
+ defaultLongitude: (n = e.defaultLongitude) == null ? nv.defaultLongitude : n,
22885
+ defaultLatitude: (r = e.defaultLatitude) == null ? nv.defaultLatitude : r,
22886
+ defaultDistance: (i = e.defaultDistance) == null ? nv.defaultDistance : i,
22887
+ maxLatitude: (a = e.maxLatitude) == null ? nv.maxLatitude : a,
22888
+ minLatitude: (o = e.minLatitude) == null ? nv.minLatitude : o,
22889
+ cameraType: (s = e.cameraType) == null ? nv.cameraType : s,
22890
+ cameraFence: (c = e.cameraFence) == null ? nv.cameraFence : c,
22891
+ intersectMeshCreator: (l = e.intersectMeshCreator) == null ? nv.intersectMeshCreator : l
22885
22892
  });
22886
22893
  }
22887
22894
  static distanceFromModel(e, t, n) {
@@ -23081,9 +23088,9 @@ var L_ = new e.CircleBufferGeometry(.12, 16), R_ = "\nvarying vec2 vUv;\n#includ
23081
23088
  let n = [];
23082
23089
  for (let t of this.works) {
23083
23090
  let r = this.modelScene.models.find((e) => e.work === t);
23084
- if (!(!r || r.visible === !1) && !(t.observers.length <= 0) && (Z_.copy(t.observerBox).expandByScalar(10).applyMatrix4(t.transform), Z_.containsPoint(e.ray.origin) || e.ray.intersectsBox(Z_))) for (let e of t.observers) n.push(e);
23091
+ if (!(!r || r.visible === !1) && !(t.observers.length <= 0) && (Q_.copy(t.observerBox).expandByScalar(10).applyMatrix4(t.transform), Q_.containsPoint(e.ray.origin) || e.ray.intersectsBox(Q_))) for (let e of t.observers) n.push(e);
23085
23092
  }
23086
- let [r, i] = Rl(n, (e) => Q_.copy(e.standingPosition).applyMatrix4(e.work.transform).distanceTo(t.point), !0);
23093
+ let [r, i] = Rl(n, (e) => $_.copy(e.standingPosition).applyMatrix4(e.work.transform).distanceTo(t.point), !0);
23087
23094
  return r && i < Math.max(r.standingPosition.distanceTo(this.camera.position) / 5, 10) ? r : null;
23088
23095
  }
23089
23096
  coordinatesForOffset(t) {
@@ -23137,7 +23144,7 @@ var L_ = new e.CircleBufferGeometry(.12, 16), R_ = "\nvarying vec2 vUv;\n#includ
23137
23144
  fixFinalState(t) {
23138
23145
  if (this.perspToOrthoMotion.getTargetKeyframe().value.perspToOrtho === 1) return;
23139
23146
  let n = Rt(t, new e.Vector3()), r = new e.Vector3().copy(t.offset).sub(n.clone().setLength(t.distance)), i = new e.Raycaster(r, n);
23140
- i.params.Points = { threshold: .1 }, i.firstHitOnly = !0, i.hitFilter = (e) => e.distance > $_ + i.near, i.near = this.camera.near, i.far = this.camera.far;
23147
+ i.params.Points = { threshold: .1 }, i.firstHitOnly = !0, i.hitFilter = (e) => e.distance > ev + i.near, i.near = this.camera.near, i.far = this.camera.far;
23141
23148
  let a;
23142
23149
  if (a = this.modelScene.intersectRaycaster(i)[0], a && a.distance < this.camera.near && (a = void 0), !a) {
23143
23150
  let t = new e.Plane(new e.Vector3(0, 1, 0), -this.modelScene.boundingBox.min.y), n = i.ray.intersectPlane(t, new e.Vector3());
@@ -23216,7 +23223,7 @@ var L_ = new e.CircleBufferGeometry(.12, 16), R_ = "\nvarying vec2 vUv;\n#includ
23216
23223
  let c = t.distanceFromModel(this.modelScene, this.cameraMotion.value.fov, this.camera.aspect) * 2;
23217
23224
  s = Math.min(s, c);
23218
23225
  let l = this.renderer.getSize(new e.Vector2()), u = 2 * r.x * s / l.y, d = 2 * r.y * s / l.y, f = new e.Vector3();
23219
- f.setFromMatrixColumn(this.camera.matrix, 0), f.multiplyScalar(-u), a.add(f), this.camera.pose.latitude < ev ? f.setFromMatrixColumn(this.camera.matrix, 1) : (f.setFromMatrixColumn(this.camera.matrix, 0), f.crossVectors(this.camera.up, f)), f.multiplyScalar(d), a.add(f);
23226
+ f.setFromMatrixColumn(this.camera.matrix, 0), f.multiplyScalar(-u), a.add(f), this.camera.pose.latitude < tv ? f.setFromMatrixColumn(this.camera.matrix, 1) : (f.setFromMatrixColumn(this.camera.matrix, 0), f.crossVectors(this.camera.up, f)), f.multiplyScalar(d), a.add(f);
23220
23227
  let p = Object.assign(Object.assign({}, this.currentPano), {
23221
23228
  mode: this.mode,
23222
23229
  longitude: this.camera.pose.longitude,
@@ -23241,7 +23248,7 @@ var L_ = new e.CircleBufferGeometry(.12, 16), R_ = "\nvarying vec2 vUv;\n#includ
23241
23248
  z: p.offset.z
23242
23249
  }, 0).catch(K)), n.isFinal) {
23243
23250
  let t = this.renderer.getSize(new e.Vector2()), r = 2 * n.velocityX * s / t.y, i = 2 * n.velocityY * s / t.y, a = new e.Vector3(), o = new e.Vector3();
23244
- a.setFromMatrixColumn(this.camera.matrix, 0), a.multiplyScalar(-r), o.add(a), this.camera.pose.latitude < ev ? a.setFromMatrixColumn(this.camera.matrix, 1) : (a.setFromMatrixColumn(this.camera.matrix, 0), a.crossVectors(this.camera.up, a)), a.multiplyScalar(i), o.add(a), this.inMomentumMovement = { uuid: $t() }, this.requestMomentumMovement(n, !0, {
23251
+ a.setFromMatrixColumn(this.camera.matrix, 0), a.multiplyScalar(-r), o.add(a), this.camera.pose.latitude < tv ? a.setFromMatrixColumn(this.camera.matrix, 1) : (a.setFromMatrixColumn(this.camera.matrix, 0), a.crossVectors(this.camera.up, a)), a.multiplyScalar(i), o.add(a), this.inMomentumMovement = { uuid: $t() }, this.requestMomentumMovement(n, !0, {
23245
23252
  longitude: 0,
23246
23253
  latitude: 0,
23247
23254
  x: o.x,
@@ -23300,7 +23307,7 @@ var L_ = new e.CircleBufferGeometry(.12, 16), R_ = "\nvarying vec2 vUv;\n#includ
23300
23307
  return;
23301
23308
  }
23302
23309
  if (i === void 0) return;
23303
- let a = this.modelScene.boundingBox.getCenter(new e.Vector3()), o = t.distanceFromModel(this.modelScene, this.cameraMotion.value.fov, this.camera.aspect), s = U(i / n.scale, $_, Infinity), c = n.state.offset.clone().sub(Rt(n.state).setLength(s)), l = this.modelScene.boundingBox.containsPoint(c), u;
23310
+ let a = this.modelScene.boundingBox.getCenter(new e.Vector3()), o = t.distanceFromModel(this.modelScene, this.cameraMotion.value.fov, this.camera.aspect), s = U(i / n.scale, ev, Infinity), c = n.state.offset.clone().sub(Rt(n.state).setLength(s)), l = this.modelScene.boundingBox.containsPoint(c), u;
23304
23311
  if (!l && this.pinchState && this.pinchState.scale > n.scale && a.distanceTo(c) > o ? u = n.state.distance : (u = s, this.pinchState && (this.pinchState.scale = n.scale)), n.state.distance = u, this.emit("gesture.pinch", n), !n.defaultPrevented && (this.locationMotion.set({ distance: n.state.distance }, 0).catch(K), n.pointerType !== "mouse" && (n.type = "gesture.pan", this.onPanGesture(n)), n.isFinal)) {
23305
23312
  if (!("__fixFinalState" in n)) {
23306
23313
  let e = n.state;
@@ -23366,7 +23373,7 @@ var L_ = new e.CircleBufferGeometry(.12, 16), R_ = "\nvarying vec2 vUv;\n#includ
23366
23373
  let r = t.distanceFromModel(this.modelScene, this.cameraMotion.value.fov, this.camera.aspect), i = new e.Vector3(this.locationMotion.value.x, this.locationMotion.value.y, this.locationMotion.value.z), a = Rt(this.cameraMotion.value, new e.Vector3()).negate(), o = new e.Ray(i, a).intersectBox(this.modelScene.boundingBox, new e.Vector3());
23367
23374
  o && (r += o.distanceTo(i));
23368
23375
  let s = Math.max(this.locationMotion.value.distance - this.camera.near, 0), c = n.center.delta / 10 * Math.max(s / 5, .1);
23369
- if (s <= r || c > 0) if (this.locationMotion.value.distance - c >= $_) {
23376
+ if (s <= r || c > 0) if (this.locationMotion.value.distance - c >= ev) {
23370
23377
  let e = this.locationMotion.value.distance - c;
23371
23378
  n.state.distance = e;
23372
23379
  } else {
@@ -23433,6 +23440,8 @@ var L_ = new e.CircleBufferGeometry(.12, 16), R_ = "\nvarying vec2 vUv;\n#includ
23433
23440
  l,
23434
23441
  c
23435
23442
  ]), d = this.modelScene.parameter, f = Eh("pano.prepare", {
23443
+ options: n,
23444
+ prevMode: this.mode,
23436
23445
  prevPano: this.currentPano,
23437
23446
  pano: a
23438
23447
  });
@@ -23440,6 +23449,7 @@ var L_ = new e.CircleBufferGeometry(.12, 16), R_ = "\nvarying vec2 vUv;\n#includ
23440
23449
  this.pendingTextureId = null;
23441
23450
  return;
23442
23451
  }
23452
+ f.options !== n && Object.assign(n, f.options);
23443
23453
  let p;
23444
23454
  d.pano0 && d.pano0.map.name === u ? p = d.pano0 : d.pano1 && d.pano1.map.name === u && (p = d.pano1), p ? Promise.resolve().then(() => Dh(f)).catch((e) => Yh(e)).then((e) => {
23445
23455
  var t;
@@ -23543,12 +23553,12 @@ var L_ = new e.CircleBufferGeometry(.12, 16), R_ = "\nvarying vec2 vUv;\n#includ
23543
23553
  };
23544
23554
  //#endregion
23545
23555
  //#region build/five/utils/isNil.js
23546
- function rv(e) {
23556
+ function iv(e) {
23547
23557
  return e == null;
23548
23558
  }
23549
23559
  //#endregion
23550
23560
  //#region build/five/webxr/xrController.js
23551
- var iv = { type: "move" }, av = class {
23561
+ var av = { type: "move" }, ov = class {
23552
23562
  constructor() {
23553
23563
  this._targetRay = null, this._grip = null, this._hand = null, this._axes = [0, 0];
23554
23564
  }
@@ -23575,7 +23585,7 @@ var iv = { type: "move" }, av = class {
23575
23585
  }
23576
23586
  update(t, n, r) {
23577
23587
  let i = null, a = null, o = null, s = this._targetRay, c = this._grip, l = this._hand;
23578
- if (t && t.gamepad && t.gamepad.axes && (this._axes = [t.gamepad.axes[2], t.gamepad.axes[3]]), t && n.session.visibilityState !== "visible-blurred") if (s !== null && (i = n.getPose(t.targetRaySpace, r), i !== null && (s.matrix.fromArray(i.transform.matrix), s.matrix.decompose(s.position, s.rotation, s.scale), i.linearVelocity ? (s.hasLinearVelocity = !0, s.linearVelocity.copy(i.linearVelocity)) : s.hasLinearVelocity = !1, i.angularVelocity ? (s.hasAngularVelocity = !0, s.angularVelocity.copy(i.angularVelocity)) : s.hasAngularVelocity = !1, this.dispatchEvent(iv))), l && t.hand) {
23588
+ if (t && t.gamepad && t.gamepad.axes && (this._axes = [t.gamepad.axes[2], t.gamepad.axes[3]]), t && n.session.visibilityState !== "visible-blurred") if (s !== null && (i = n.getPose(t.targetRaySpace, r), i !== null && (s.matrix.fromArray(i.transform.matrix), s.matrix.decompose(s.position, s.rotation, s.scale), i.linearVelocity ? (s.hasLinearVelocity = !0, s.linearVelocity.copy(i.linearVelocity)) : s.hasLinearVelocity = !1, i.angularVelocity ? (s.hasAngularVelocity = !0, s.angularVelocity.copy(i.angularVelocity)) : s.hasAngularVelocity = !1, this.dispatchEvent(av))), l && t.hand) {
23579
23589
  o = !0;
23580
23590
  for (let i of t.hand.values()) {
23581
23591
  let t = n.getJointPose(i, r);
@@ -23599,25 +23609,25 @@ var iv = { type: "move" }, av = class {
23599
23609
  } else c !== null && t.gripSpace && (a = n.getPose(t.gripSpace, r), a !== null && (c.matrix.fromArray(a.transform.matrix), c.matrix.decompose(c.position, c.rotation, c.scale), a.linearVelocity ? (c.hasLinearVelocity = !0, c.linearVelocity.copy(a.linearVelocity)) : c.hasLinearVelocity = !1, a.angularVelocity ? (c.hasAngularVelocity = !0, c.angularVelocity.copy(a.angularVelocity)) : c.hasAngularVelocity = !1));
23600
23610
  return s !== null && (s.visible = i !== null), c !== null && (c.visible = a !== null), l !== null && (l.visible = o !== null), this;
23601
23611
  }
23602
- }, ov = 1, sv = () => {
23612
+ }, sv = 1, cv = () => {
23603
23613
  try {
23604
23614
  let e = /Macintosh/i.test(navigator.userAgent), t = navigator.maxTouchPoints === 5;
23605
23615
  return e && t;
23606
23616
  } catch (e) {
23607
23617
  return console.error("Error determining if the device is an Apple Vision Pro: ", e), !1;
23608
23618
  }
23609
- }, cv = () => {
23619
+ }, lv = () => {
23610
23620
  try {
23611
23621
  return /Oculus/i.test(navigator.userAgent);
23612
23622
  } catch (e) {
23613
23623
  return console.error("Error determining if the device is an Oculus: ", e), !1;
23614
23624
  }
23615
- }, lv = class {
23625
+ }, uv = class {
23616
23626
  constructor(t, n, r) {
23617
23627
  var i, a, o, s, c;
23618
23628
  this.isPanorama = (i = r == null ? void 0 : r.isPanorama) == null ? !0 : i, navigator.userAgent.toLowerCase();
23619
23629
  let l;
23620
- l = sv() ? "VP" : cv() ? "Oculus" : "Pico", this.machineType = (a = r == null ? void 0 : r.machineType) == null ? l : a, this.renderer = t, this.gl = n, this.enabled = !1, this.session = null, this.referenceSpaceType = (o = r == null ? void 0 : r.referenceSpaceType) == null ? "local-floor" : o, this.referenceSpace = null, this.onSessionStartCallback = (s = r == null ? void 0 : r.onSessionStart) == null ? K : s, this.onSessionEndCallback = (c = r == null ? void 0 : r.onSessionEnd) == null ? K : c, this.controllers = [new av(), new av()], this.inputSourcesMap = /* @__PURE__ */ new Map(), this.cameraVR = new e.ArrayCamera(), this.cameraL = new e.PerspectiveCamera(), this.cameraR = new e.PerspectiveCamera(), this.cameraVR.cameras.push(this.cameraL, this.cameraR), this.cameraL.viewport = new e.Vector4(), this.cameraR.viewport = new e.Vector4(), this.cameraL.layers.enable(1), this.cameraR.layers.enable(2), this.cameraVR.layers.enable(1), this.cameraVR.layers.enable(2), this.isPresenting = !1, this.currentDepthNear = null, this.currentDepthFar = null, this.cameraLPos = new e.Vector3(), this.cameraRPos = new e.Vector3();
23630
+ l = cv() ? "VP" : lv() ? "Oculus" : "Pico", this.machineType = (a = r == null ? void 0 : r.machineType) == null ? l : a, this.renderer = t, this.gl = n, this.enabled = !1, this.session = null, this.referenceSpaceType = (o = r == null ? void 0 : r.referenceSpaceType) == null ? "local-floor" : o, this.referenceSpace = null, this.onSessionStartCallback = (s = r == null ? void 0 : r.onSessionStart) == null ? K : s, this.onSessionEndCallback = (c = r == null ? void 0 : r.onSessionEnd) == null ? K : c, this.controllers = [new ov(), new ov()], this.inputSourcesMap = /* @__PURE__ */ new Map(), this.cameraVR = new e.ArrayCamera(), this.cameraL = new e.PerspectiveCamera(), this.cameraR = new e.PerspectiveCamera(), this.cameraVR.cameras.push(this.cameraL, this.cameraR), this.cameraL.viewport = new e.Vector4(), this.cameraR.viewport = new e.Vector4(), this.cameraL.layers.enable(1), this.cameraR.layers.enable(2), this.cameraVR.layers.enable(1), this.cameraVR.layers.enable(2), this.isPresenting = !1, this.currentDepthNear = null, this.currentDepthFar = null, this.cameraLPos = new e.Vector3(), this.cameraRPos = new e.Vector3();
23621
23631
  }
23622
23632
  getController(e) {
23623
23633
  let t = this.controllers[e];
@@ -23733,7 +23743,7 @@ var iv = { type: "move" }, av = class {
23733
23743
  alpha: e == null ? void 0 : e.alpha,
23734
23744
  depth: e == null ? void 0 : e.depth,
23735
23745
  stencil: e == null ? void 0 : e.stencil,
23736
- framebufferScaleFactor: ov
23746
+ framebufferScaleFactor: sv
23737
23747
  };
23738
23748
  if (!this.session) {
23739
23749
  console.error("session is lose while set session!");
@@ -23759,7 +23769,7 @@ var iv = { type: "move" }, av = class {
23759
23769
  });
23760
23770
  }
23761
23771
  }
23762
- }, uv = class extends e.InstancedBufferGeometry {
23772
+ }, dv = class extends e.InstancedBufferGeometry {
23763
23773
  constructor() {
23764
23774
  super(), this.type = "LineSegmentsGeometry", this.setIndex([
23765
23775
  0,
@@ -23878,10 +23888,10 @@ var iv = { type: "move" }, av = class {
23878
23888
  }
23879
23889
  toJSON() {}
23880
23890
  };
23881
- Object.assign(uv.prototype, { isLineSegmentsGeometry: !0 });
23891
+ Object.assign(dv.prototype, { isLineSegmentsGeometry: !0 });
23882
23892
  //#endregion
23883
23893
  //#region build/line/utils/LineMaterial.js
23884
- var dv = {
23894
+ var fv = {
23885
23895
  uniforms: e.UniformsUtils.merge([
23886
23896
  e.UniformsLib.common,
23887
23897
  e.UniformsLib.fog,
@@ -23896,12 +23906,12 @@ var dv = {
23896
23906
  ]),
23897
23907
  vertexShader: "\n #include <common>\n #include <color_pars_vertex>\n #include <fog_pars_vertex>\n #include <logdepthbuf_pars_vertex>\n #include <clipping_planes_pars_vertex>\n\n uniform float linewidth;\n uniform vec2 resolution;\n\n attribute vec3 instanceStart;\n attribute vec3 instanceEnd;\n\n attribute vec3 instanceColorStart;\n attribute vec3 instanceColorEnd;\n\n varying vec2 vUv;\n\n #ifdef USE_DASH\n\n uniform float dashScale;\n attribute float instanceDistanceStart;\n attribute float instanceDistanceEnd;\n varying float vLineDistance;\n\n #endif\n\n void trimSegment( const in vec4 start, inout vec4 end ) {\n\n // trim end segment so it terminates between the camera plane and the near plane\n\n // conservative estimate of the near plane\n float a = projectionMatrix[ 2 ][ 2 ]; // 3nd entry in 3th column\n float b = projectionMatrix[ 3 ][ 2 ]; // 3nd entry in 4th column\n float nearEstimate = - 0.5 * b / a;\n\n float alpha = ( nearEstimate - start.z ) / ( end.z - start.z );\n\n end.xyz = mix( start.xyz, end.xyz, alpha );\n\n }\n\n void main() {\n\n #ifdef USE_COLOR\n\n vColor.xyz = ( position.y < 0.5 ) ? instanceColorStart : instanceColorEnd;\n\n #endif\n\n #ifdef USE_DASH\n\n vLineDistance = ( position.y < 0.5 ) ? dashScale * instanceDistanceStart : dashScale * instanceDistanceEnd;\n\n #endif\n\n float aspect = resolution.x / resolution.y;\n\n vUv = uv;\n\n // camera space\n vec4 start = modelViewMatrix * vec4( instanceStart, 1.0 );\n vec4 end = modelViewMatrix * vec4( instanceEnd, 1.0 );\n\n // special case for perspective projection, and segments that terminate either in, or behind, the camera plane\n // clearly the gpu firmware has a way of addressing this issue when projecting into ndc space\n // but we need to perform ndc-space calculations in the shader, so we must address this issue directly\n // perhaps there is a more elegant solution -- WestLangley\n\n bool perspective = ( projectionMatrix[ 2 ][ 3 ] == - 1.0 ); // 4th entry in the 3rd column\n\n if ( perspective ) {\n\n if ( start.z < 0.0 && end.z >= 0.0 ) {\n\n trimSegment( start, end );\n\n } else if ( end.z < 0.0 && start.z >= 0.0 ) {\n\n trimSegment( end, start );\n\n }\n\n }\n\n // clip space\n vec4 clipStart = projectionMatrix * start;\n vec4 clipEnd = projectionMatrix * end;\n\n // ndc space\n vec2 ndcStart = clipStart.xy / clipStart.w;\n vec2 ndcEnd = clipEnd.xy / clipEnd.w;\n\n // direction\n vec2 dir = ndcEnd - ndcStart;\n\n // account for clip-space aspect ratio\n dir.x *= aspect;\n dir = normalize( dir );\n\n // perpendicular to dir\n vec2 offset = vec2( dir.y, - dir.x );\n\n // undo aspect ratio adjustment\n dir.x /= aspect;\n offset.x /= aspect;\n\n // sign flip\n if ( position.x < 0.0 ) offset *= - 1.0;\n\n // endcaps\n if ( position.y < 0.0 ) {\n\n offset += - dir;\n\n } else if ( position.y > 1.0 ) {\n\n offset += dir;\n\n }\n\n // adjust for linewidth\n offset *= linewidth;\n\n // adjust for clip-space to screen-space conversion // maybe resolution should be based on viewport ...\n offset /= resolution.y;\n\n // select end\n vec4 clip = ( position.y < 0.5 ) ? clipStart : clipEnd;\n\n // back to clip space\n offset *= clip.w;\n\n clip.xy += offset;\n\n gl_Position = clip;\n\n vec4 mvPosition = ( position.y < 0.5 ) ? start : end; // this is an approximation\n\n #include <logdepthbuf_vertex>\n #include <clipping_planes_vertex>\n #include <fog_vertex>\n\n }\n ",
23898
23908
  fragmentShader: "\n uniform vec3 diffuse;\n uniform float opacity;\n\n #ifdef USE_DASH\n\n uniform float dashSize;\n uniform float gapSize;\n\n #endif\n\n varying float vLineDistance;\n\n #include <common>\n #include <color_pars_fragment>\n #include <fog_pars_fragment>\n #include <logdepthbuf_pars_fragment>\n #include <clipping_planes_pars_fragment>\n\n varying vec2 vUv;\n\n void main() {\n\n #include <clipping_planes_fragment>\n\n #ifdef USE_DASH\n\n if ( vUv.y < - 1.0 || vUv.y > 1.0 ) discard; // discard endcaps\n\n if ( mod( vLineDistance, dashSize + gapSize ) > dashSize ) discard; // todo - FIX\n\n #endif\n\n if ( abs( vUv.y ) > 1.0 ) {\n\n float a = vUv.x;\n float b = ( vUv.y > 0.0 ) ? vUv.y - 1.0 : vUv.y + 1.0;\n float len2 = a * a + b * b;\n\n if ( len2 > 1.0 ) discard;\n\n }\n\n vec4 diffuseColor = vec4( diffuse, opacity );\n\n #include <logdepthbuf_fragment>\n #include <color_fragment>\n\n gl_FragColor = vec4( diffuseColor.rgb, diffuseColor.a );\n\n #include <tonemapping_fragment>\n #include <fog_fragment>\n #include <premultiplied_alpha_fragment>\n\n }\n "
23899
- }, fv = class extends e.ShaderMaterial {
23909
+ }, pv = class extends e.ShaderMaterial {
23900
23910
  constructor(t) {
23901
23911
  super({
23902
- uniforms: e.UniformsUtils.clone(dv.uniforms),
23903
- vertexShader: dv.vertexShader,
23904
- fragmentShader: dv.fragmentShader,
23912
+ uniforms: e.UniformsUtils.clone(fv.uniforms),
23913
+ vertexShader: fv.vertexShader,
23914
+ fragmentShader: fv.fragmentShader,
23905
23915
  clipping: !0
23906
23916
  }), this.type = "LineMaterial", this.dashed = !1, Object.defineProperties(this, {
23907
23917
  color: {
@@ -23970,12 +23980,12 @@ var dv = {
23970
23980
  }), this.setValues(t);
23971
23981
  }
23972
23982
  };
23973
- Object.assign(fv.prototype, { isLineMaterial: !0 });
23983
+ Object.assign(pv.prototype, { isLineMaterial: !0 });
23974
23984
  //#endregion
23975
23985
  //#region build/line/utils/LineSegments2.js
23976
- var pv = class extends e.Mesh {
23986
+ var mv = class extends e.Mesh {
23977
23987
  constructor(e, t) {
23978
- super(), this.type = "LineSegments2", this.geometry = e === void 0 ? new uv() : e, this.material = t === void 0 ? new fv({ color: Math.random() * 16777215 }) : t;
23988
+ super(), this.type = "LineSegments2", this.geometry = e === void 0 ? new dv() : e, this.material = t === void 0 ? new pv({ color: Math.random() * 16777215 }) : t;
23979
23989
  }
23980
23990
  computeLineDistances() {
23981
23991
  let t = this.geometry, n = t.attributes.instanceStart, r = t.attributes.instanceEnd, i = new Float32Array(2 * n.count), a = new e.Vector3(), o = new e.Vector3();
@@ -24012,18 +24022,18 @@ var pv = class extends e.Mesh {
24012
24022
  }
24013
24023
  }
24014
24024
  };
24015
- Object.assign(pv.prototype, { isLineSegments2: !0 });
24025
+ Object.assign(mv.prototype, { isLineSegments2: !0 });
24016
24026
  //#endregion
24017
24027
  //#region build/line/utils/Line2.js
24018
- var mv = class extends pv {
24028
+ var hv = class extends mv {
24019
24029
  constructor(e, t) {
24020
24030
  super(e, t), this.type = "Line2";
24021
24031
  }
24022
24032
  };
24023
- Object.assign(mv.prototype, { isLine2: !0 });
24033
+ Object.assign(hv.prototype, { isLine2: !0 });
24024
24034
  //#endregion
24025
24035
  //#region build/line/utils/LineGeometry.js
24026
- var hv = class extends uv {
24036
+ var gv = class extends dv {
24027
24037
  constructor() {
24028
24038
  super(), this.type = "LineGeometry";
24029
24039
  }
@@ -24049,24 +24059,24 @@ var hv = class extends uv {
24049
24059
  return this;
24050
24060
  }
24051
24061
  };
24052
- Object.assign(hv.prototype, { isLineGeometry: !0 });
24062
+ Object.assign(gv.prototype, { isLineGeometry: !0 });
24053
24063
  //#endregion
24054
24064
  //#region build/line/index.js
24055
- var gv = 14467195, _v = 8, vv = 2, yv = 20, bv = null, xv = class extends e.Object3D {
24065
+ var _v = 14467195, vv = 8, yv = 2, bv = 20, xv = null, Sv = class extends e.Object3D {
24056
24066
  static get version() {
24057
- return "6.8.0";
24067
+ return "6.8.2";
24058
24068
  }
24059
24069
  constructor(t = new e.Vector3(), n = new e.Vector3()) {
24060
- super(), this.type = "FiveLine", this.needsRender = !0, this.line = new mv(new hv(), new fv({
24061
- color: gv,
24062
- linewidth: vv,
24063
- dashScale: yv,
24070
+ super(), this.type = "FiveLine", this.needsRender = !0, this.line = new hv(new gv(), new pv({
24071
+ color: _v,
24072
+ linewidth: yv,
24073
+ dashScale: bv,
24064
24074
  dashed: !1
24065
24075
  }));
24066
24076
  let r = new e.BufferGeometry(), i = new e.PointsMaterial({
24067
- color: gv,
24068
- size: _v,
24069
- map: bv || (bv = new e.TextureLoader().load("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==")),
24077
+ color: _v,
24078
+ size: vv,
24079
+ map: xv || (xv = new e.TextureLoader().load("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==")),
24070
24080
  sizeAttenuation: !1,
24071
24081
  transparent: !0
24072
24082
  });
@@ -24094,10 +24104,10 @@ var gv = 14467195, _v = 8, vv = 2, yv = 20, bv = null, xv = class extends e.Obje
24094
24104
  (n.x !== e || n.y !== t) && (n.set(e, t), this.needsRender = !0);
24095
24105
  }
24096
24106
  };
24097
- Object.assign(xv.prototype, { isFiveLine: !0 });
24107
+ Object.assign(Sv.prototype, { isFiveLine: !0 });
24098
24108
  //#endregion
24099
24109
  //#region build/five/webxr/motionHelper.js
24100
- var Sv = {
24110
+ var Cv = {
24101
24111
  Handedness: Object.freeze({
24102
24112
  NONE: "none",
24103
24113
  LEFT: "left",
@@ -24128,24 +24138,24 @@ var Sv = {
24128
24138
  VISIBILITY: "visibility"
24129
24139
  })
24130
24140
  };
24131
- function Cv(e) {
24141
+ function wv(e) {
24132
24142
  return Vo(this, void 0, void 0, function* () {
24133
24143
  let t = yield fetch(e);
24134
24144
  if (t.ok) return t.json();
24135
24145
  throw Error(t.statusText);
24136
24146
  });
24137
24147
  }
24138
- function wv(e) {
24148
+ function Tv(e) {
24139
24149
  return Vo(this, void 0, void 0, function* () {
24140
24150
  if (!e) throw Error("No basePath supplied");
24141
- return yield Cv(`${e}/profilesList.json`);
24151
+ return yield wv(`${e}/profilesList.json`);
24142
24152
  });
24143
24153
  }
24144
- function Tv(e, t) {
24154
+ function Ev(e, t) {
24145
24155
  return Vo(this, arguments, void 0, function* (e, t, n = null, r = !0) {
24146
24156
  if (!e) throw Error("No xrInputSource supplied");
24147
24157
  if (!t) throw Error("No basePath supplied");
24148
- let i = yield wv(t), a;
24158
+ let i = yield Tv(t), a;
24149
24159
  if (e.profiles.some((e) => {
24150
24160
  let n = i[e];
24151
24161
  return n && (a = {
@@ -24163,7 +24173,7 @@ function Tv(e, t) {
24163
24173
  deprecated: !!e.deprecated
24164
24174
  };
24165
24175
  }
24166
- let o = yield Cv(a.profilePath), s;
24176
+ let o = yield wv(a.profilePath), s;
24167
24177
  if (r) {
24168
24178
  let t;
24169
24179
  if (t = o.layouts[e.handedness], !t) throw Error(`No matching handedness, ${e.handedness}, in profile ${a.profileId}`);
@@ -24175,13 +24185,13 @@ function Tv(e, t) {
24175
24185
  };
24176
24186
  });
24177
24187
  }
24178
- var Ev = {
24188
+ var Dv = {
24179
24189
  xAxis: 0,
24180
24190
  yAxis: 0,
24181
24191
  button: 0,
24182
- state: Sv.ComponentState.DEFAULT
24192
+ state: Cv.ComponentState.DEFAULT
24183
24193
  };
24184
- function Dv(e = 0, t = 0) {
24194
+ function Ov(e = 0, t = 0) {
24185
24195
  let n = e, r = t;
24186
24196
  if (Math.sqrt(e * e + t * t) > 1) {
24187
24197
  let i = Math.atan2(t, e);
@@ -24192,36 +24202,36 @@ function Dv(e = 0, t = 0) {
24192
24202
  normalizedYAxis: r * .5 + .5
24193
24203
  };
24194
24204
  }
24195
- var Ov = class {
24205
+ var kv = class {
24196
24206
  constructor(e) {
24197
- this.componentProperty = e.componentProperty, this.states = e.states, this.valueNodeName = e.valueNodeName, this.valueNodeProperty = e.valueNodeProperty, this.valueNodeProperty === Sv.VisualResponseProperty.TRANSFORM && (this.minNodeName = e.minNodeName, this.maxNodeName = e.maxNodeName), this.value = 0, this.updateFromComponent(Ev);
24207
+ this.componentProperty = e.componentProperty, this.states = e.states, this.valueNodeName = e.valueNodeName, this.valueNodeProperty = e.valueNodeProperty, this.valueNodeProperty === Cv.VisualResponseProperty.TRANSFORM && (this.minNodeName = e.minNodeName, this.maxNodeName = e.maxNodeName), this.value = 0, this.updateFromComponent(Dv);
24198
24208
  }
24199
24209
  updateFromComponent({ xAxis: e, yAxis: t, button: n, state: r }) {
24200
- let { normalizedXAxis: i, normalizedYAxis: a } = Dv(e, t);
24210
+ let { normalizedXAxis: i, normalizedYAxis: a } = Ov(e, t);
24201
24211
  switch (this.componentProperty) {
24202
- case Sv.ComponentProperty.X_AXIS:
24212
+ case Cv.ComponentProperty.X_AXIS:
24203
24213
  this.value = this.states.includes(r) ? i : .5;
24204
24214
  break;
24205
- case Sv.ComponentProperty.Y_AXIS:
24215
+ case Cv.ComponentProperty.Y_AXIS:
24206
24216
  this.value = this.states.includes(r) ? a : .5;
24207
24217
  break;
24208
- case Sv.ComponentProperty.BUTTON:
24218
+ case Cv.ComponentProperty.BUTTON:
24209
24219
  this.value = this.states.includes(r) ? n : 0;
24210
24220
  break;
24211
- case Sv.ComponentProperty.STATE:
24212
- this.valueNodeProperty === Sv.VisualResponseProperty.VISIBILITY ? this.value = this.states.includes(r) : this.value = this.states.includes(r) ? 1 : 0;
24221
+ case Cv.ComponentProperty.STATE:
24222
+ this.valueNodeProperty === Cv.VisualResponseProperty.VISIBILITY ? this.value = this.states.includes(r) : this.value = this.states.includes(r) ? 1 : 0;
24213
24223
  break;
24214
24224
  default: throw Error(`Unexpected visualResponse componentProperty ${this.componentProperty}`);
24215
24225
  }
24216
24226
  }
24217
- }, kv = class {
24227
+ }, Av = class {
24218
24228
  constructor(e, t) {
24219
24229
  if (!e || !t || !t.visualResponses || !t.gamepadIndices || Object.keys(t.gamepadIndices).length === 0) throw Error("Invalid arguments supplied");
24220
24230
  this.id = e, this.type = t.type, this.rootNodeName = t.rootNodeName, this.touchPointNodeName = t.touchPointNodeName, this.visualResponses = {}, Object.keys(t.visualResponses).forEach((e) => {
24221
- let n = new Ov(t.visualResponses[e]);
24231
+ let n = new kv(t.visualResponses[e]);
24222
24232
  this.visualResponses[e] = n;
24223
24233
  }), this.gamepadIndices = Object.assign({}, t.gamepadIndices), this.values = {
24224
- state: Sv.ComponentState.DEFAULT,
24234
+ state: Cv.ComponentState.DEFAULT,
24225
24235
  button: this.gamepadIndices.button === void 0 ? void 0 : 0,
24226
24236
  xAxis: this.gamepadIndices.xAxis === void 0 ? void 0 : 0,
24227
24237
  yAxis: this.gamepadIndices.yAxis === void 0 ? void 0 : 0
@@ -24231,21 +24241,21 @@ var Ov = class {
24231
24241
  return Object.assign({ id: this.id }, this.values);
24232
24242
  }
24233
24243
  updateFromGamepad(e) {
24234
- if (this.values.state = Sv.ComponentState.DEFAULT, this.gamepadIndices.button !== void 0 && e.buttons.length > this.gamepadIndices.button) {
24244
+ if (this.values.state = Cv.ComponentState.DEFAULT, this.gamepadIndices.button !== void 0 && e.buttons.length > this.gamepadIndices.button) {
24235
24245
  let t = e.buttons[this.gamepadIndices.button];
24236
- this.values.button = t.value, this.values.button = this.values.button < 0 ? 0 : this.values.button, this.values.button = this.values.button > 1 ? 1 : this.values.button, t.pressed || this.values.button === 1 ? this.values.state = Sv.ComponentState.PRESSED : (t.touched || this.values.button > Sv.ButtonTouchThreshold) && (this.values.state = Sv.ComponentState.TOUCHED);
24246
+ this.values.button = t.value, this.values.button = this.values.button < 0 ? 0 : this.values.button, this.values.button = this.values.button > 1 ? 1 : this.values.button, t.pressed || this.values.button === 1 ? this.values.state = Cv.ComponentState.PRESSED : (t.touched || this.values.button > Cv.ButtonTouchThreshold) && (this.values.state = Cv.ComponentState.TOUCHED);
24237
24247
  }
24238
- this.gamepadIndices.xAxis !== void 0 && e.axes.length > this.gamepadIndices.xAxis && (this.values.xAxis = e.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 === Sv.ComponentState.DEFAULT && Math.abs(this.values.xAxis) > Sv.AxisTouchThreshold && (this.values.state = Sv.ComponentState.TOUCHED)), this.gamepadIndices.yAxis !== void 0 && e.axes.length > this.gamepadIndices.yAxis && (this.values.yAxis = e.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 === Sv.ComponentState.DEFAULT && Math.abs(this.values.yAxis) > Sv.AxisTouchThreshold && (this.values.state = Sv.ComponentState.TOUCHED)), Object.values(this.visualResponses).forEach((e) => {
24248
+ this.gamepadIndices.xAxis !== void 0 && e.axes.length > this.gamepadIndices.xAxis && (this.values.xAxis = e.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 === Cv.ComponentState.DEFAULT && Math.abs(this.values.xAxis) > Cv.AxisTouchThreshold && (this.values.state = Cv.ComponentState.TOUCHED)), this.gamepadIndices.yAxis !== void 0 && e.axes.length > this.gamepadIndices.yAxis && (this.values.yAxis = e.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 === Cv.ComponentState.DEFAULT && Math.abs(this.values.yAxis) > Cv.AxisTouchThreshold && (this.values.state = Cv.ComponentState.TOUCHED)), Object.values(this.visualResponses).forEach((e) => {
24239
24249
  e.updateFromComponent(this.values);
24240
24250
  });
24241
24251
  }
24242
- }, Av = class {
24252
+ }, jv = class {
24243
24253
  constructor(e, t, n) {
24244
24254
  if (!e) throw Error("No xrInputSource supplied");
24245
24255
  if (!t) throw Error("No profile supplied");
24246
24256
  this.xrInputSource = e, this.assetUrl = n, this.id = t.profileId, this.layoutDescription = t.layouts[e.handedness], this.components = {}, Object.keys(this.layoutDescription.components).forEach((e) => {
24247
24257
  let t = this.layoutDescription.components[e];
24248
- this.components[e] = new kv(e, t);
24258
+ this.components[e] = new Av(e, t);
24249
24259
  }), this.updateFromGamepad();
24250
24260
  }
24251
24261
  get gripSpace() {
@@ -24265,7 +24275,7 @@ var Ov = class {
24265
24275
  e.updateFromGamepad(this.xrInputSource.gamepad);
24266
24276
  });
24267
24277
  }
24268
- }, jv = "https://cdn.jsdelivr.net/npm/@webxr-input-profiles/assets@1.0/dist/profiles", Mv = "generic-trigger", Nv = class extends r {
24278
+ }, Mv = "https://cdn.jsdelivr.net/npm/@webxr-input-profiles/assets@1.0/dist/profiles", Nv = "generic-trigger", Pv = class extends r {
24269
24279
  constructor() {
24270
24280
  super(), this.motionController = null, this.envMap = null;
24271
24281
  }
@@ -24278,21 +24288,21 @@ var Ov = class {
24278
24288
  super.updateMatrixWorld(e), this.motionController && (this.motionController.updateFromGamepad(), Object.values(this.motionController.components).forEach((e) => {
24279
24289
  Object.values(e.visualResponses).forEach((e) => {
24280
24290
  let { valueNode: t, minNode: n, maxNode: r, value: i, valueNodeProperty: a } = e;
24281
- t && (a === Sv.VisualResponseProperty.VISIBILITY ? t.visible = i : a === Sv.VisualResponseProperty.TRANSFORM && (t.quaternion.copy(n.quaternion).slerp(r.quaternion, i), t.position.lerpVectors(n.position, r.position, i)));
24291
+ t && (a === Cv.VisualResponseProperty.VISIBILITY ? t.visible = i : a === Cv.VisualResponseProperty.TRANSFORM && (t.quaternion.copy(n.quaternion).slerp(r.quaternion, i), t.position.lerpVectors(n.position, r.position, i)));
24282
24292
  });
24283
24293
  }));
24284
24294
  }
24285
24295
  };
24286
- function Pv(e, r) {
24296
+ function Fv(e, r) {
24287
24297
  Object.values(e.components).forEach((e) => {
24288
24298
  let { type: a, touchPointNodeName: o, visualResponses: s } = e;
24289
- if (a === Sv.ComponentType.TOUCHPAD) if (e.touchPointNode = r.getObjectByName(o), e.touchPointNode) {
24299
+ if (a === Cv.ComponentType.TOUCHPAD) if (e.touchPointNode = r.getObjectByName(o), e.touchPointNode) {
24290
24300
  let r = new t(new i(.001), new n({ color: 255 }));
24291
24301
  e.touchPointNode.add(r);
24292
24302
  } else console.warn(`Could not find touch dot, ${e.touchPointNodeName}, in touchpad component ${e.id}`);
24293
24303
  Object.values(s).forEach((e) => {
24294
24304
  let { valueNodeName: t, minNodeName: n, maxNodeName: i, valueNodeProperty: a } = e;
24295
- if (a === Sv.VisualResponseProperty.TRANSFORM) {
24305
+ if (a === Cv.VisualResponseProperty.TRANSFORM) {
24296
24306
  if (e.minNode = r.getObjectByName(n), e.maxNode = r.getObjectByName(i), !e.minNode) {
24297
24307
  console.warn(`Could not find ${n} in the model`);
24298
24308
  return;
@@ -24306,27 +24316,27 @@ function Pv(e, r) {
24306
24316
  });
24307
24317
  });
24308
24318
  }
24309
- function Fv(t, n) {
24310
- Pv(t.motionController, n), t.envMap && n.traverse((n) => {
24319
+ function Iv(t, n) {
24320
+ Fv(t.motionController, n), t.envMap && n.traverse((n) => {
24311
24321
  n instanceof e.Mesh && n.isMesh && (n.material.envMap = t.envMap, n.material.needsUpdate = !0);
24312
24322
  }), t.add(n);
24313
24323
  }
24314
- var Iv = class {
24324
+ var Lv = class {
24315
24325
  constructor(e = null) {
24316
- this.gltfLoader = e, this.path = jv, this._assetCache = {};
24326
+ this.gltfLoader = e, this.path = Mv, this._assetCache = {};
24317
24327
  }
24318
24328
  createControllerModel(e) {
24319
- let t = new Nv(), n = null;
24329
+ let t = new Pv(), n = null;
24320
24330
  return e.addEventListener("connected", (e) => {
24321
24331
  let r = e.data;
24322
- r.targetRayMode !== "tracked-pointer" || !r.gamepad || Tv(r, this.path, Mv).then(({ profile: e, assetPath: i }) => {
24323
- t.motionController = new Av(r, e, i);
24332
+ r.targetRayMode !== "tracked-pointer" || !r.gamepad || Ev(r, this.path, Nv).then(({ profile: e, assetPath: i }) => {
24333
+ t.motionController = new jv(r, e, i);
24324
24334
  let a = this._assetCache[t.motionController.assetUrl];
24325
- if (a) n = a.scene.clone(), Fv(t, n);
24335
+ if (a) n = a.scene.clone(), Iv(t, n);
24326
24336
  else {
24327
24337
  if (!this.gltfLoader) throw Error("GLTFLoader not set.");
24328
24338
  this.gltfLoader.load(t.motionController.assetUrl, (e) => {
24329
- this._assetCache[t.motionController.assetUrl] = e, n = e.scene.clone(), Fv(t, n);
24339
+ this._assetCache[t.motionController.assetUrl] = e, n = e.scene.clone(), Iv(t, n);
24330
24340
  });
24331
24341
  }
24332
24342
  }).catch((e) => {
@@ -24336,20 +24346,20 @@ var Iv = class {
24336
24346
  t.motionController = null, t.remove(n), n = null;
24337
24347
  }), t;
24338
24348
  }
24339
- }, Lv = Object.assign({}, hr($g, ["maxLatitude", "minLatitude"]));
24340
- function Rv(e, t) {
24349
+ }, Rv = "fade", zv = Object.assign({}, hr(e_, ["maxLatitude", "minLatitude"]));
24350
+ function Bv(e, t) {
24341
24351
  if (!t) return e;
24342
24352
  let n = e.match(/\d+_[a-z].png/);
24343
24353
  return e.substring(0, n.index) + t + "/" + e.substring(n.index);
24344
24354
  }
24345
- var zv = 300, Bv = new e.Raycaster(), Vv = new e.Vector3(), Hv = {
24355
+ var Vv = 300, Hv = new e.Raycaster(), Uv = new e.Vector3(), Wv = {
24346
24356
  Floorplan: $h,
24347
24357
  Topview: tg,
24348
- Panorama: e_,
24349
- VRPanorama: G_,
24350
- Model: X_,
24351
- Mapview: nv,
24352
- XRPanorama: class t extends e_ {
24358
+ Panorama: t_,
24359
+ VRPanorama: K_,
24360
+ Model: Z_,
24361
+ Mapview: rv,
24362
+ XRPanorama: class t extends t_ {
24353
24363
  static parseArgs(e) {
24354
24364
  if (e instanceof t) return e;
24355
24365
  let n = Object.assign(Object.assign({}, e), {
@@ -24363,7 +24373,7 @@ var zv = 300, Bv = new e.Raycaster(), Vv = new e.Vector3(), Hv = {
24363
24373
  return Object.assign(Object.assign({}, n), { mode: "XRPanorama" });
24364
24374
  }
24365
24375
  constructor(t) {
24366
- super(t), this.xrManager = new lv(this.renderer, this.renderer.getContext(), {
24376
+ super(t), this.xrManager = new uv(this.renderer, this.renderer.getContext(), {
24367
24377
  onSessionStart: (e) => {
24368
24378
  this.emit("xr.session.start", Q("xr.session.start", {
24369
24379
  session: e,
@@ -24380,14 +24390,14 @@ var zv = 300, Bv = new e.Raycaster(), Vv = new e.Vector3(), Hv = {
24380
24390
  left: new e.Raycaster(),
24381
24391
  right: new e.Raycaster()
24382
24392
  }, this.xrControllerRay.left.params.Points = { threshold: .1 }, this.xrControllerRay.left.firstHitOnly = !0, this.xrControllerRay.left.floorIndex = -1, this.xrControllerRay.right.params.Points = { threshold: .1 }, this.xrControllerRay.right.firstHitOnly = !0, this.xrControllerRay.right.floorIndex = -1, this.gazeRay = null, this.pointerLines = {
24383
- left: new xv(),
24384
- right: new xv()
24393
+ left: new Sv(),
24394
+ right: new Sv()
24385
24395
  }, this.pointerLines.left.visible = !1, this.pointerLines.right.visible = !0, this.pointerLines.left.setMaterial({ color: new e.Vector3(1, 1, 1) }), this.pointerLines.left.points.material.depthTest = !1, this.pointerLines.right.setMaterial({ color: new e.Vector3(1, 1, 1) }), this.pointerLines.right.points.material.depthTest = !1, this.controllerWrappers = [new e.Group(), new e.Group()];
24386
24396
  let n = this.xrManager.getController(0);
24387
24397
  this.controllerWrappers[0].add(n);
24388
24398
  let r = this.xrManager.getController(1);
24389
24399
  this.controllerWrappers[1].add(r);
24390
- let i = new Iv();
24400
+ let i = new Lv();
24391
24401
  i.gltfLoader = { load(e, t) {
24392
24402
  pr.ajax(e, { responseType: "arraybuffer" }).then((t) => {
24393
24403
  var n;
@@ -24401,8 +24411,8 @@ var zv = 300, Bv = new e.Raycaster(), Vv = new e.Vector3(), Hv = {
24401
24411
  panoId: Z(this.currentPano),
24402
24412
  leftPanoPicture: null,
24403
24413
  position: this.camera.pose.offset.clone(),
24404
- effect: "fade",
24405
- effectEasing: Yg,
24414
+ effect: Rv,
24415
+ effectEasing: Xg,
24406
24416
  fixCameraTransform: new e.Matrix4()
24407
24417
  }, this.parallaxCameraMatrixs = [];
24408
24418
  let a = ri.shared.getContext();
@@ -24492,33 +24502,32 @@ var zv = 300, Bv = new e.Raycaster(), Vv = new e.Vector3(), Hv = {
24492
24502
  }
24493
24503
  moveToPano(t, n, r) {
24494
24504
  var i, a, o;
24495
- let s = (i = n.effect) == null ? "fade" : i;
24496
24505
  this.userAction = r, this.stopMomentumMovement();
24497
- let c = Z(t), l = this.works.getObserver(t);
24498
- if (!l) throw Error("Invalid PanoIndex");
24499
- let u = Yr(l.images.up), d = this.imageOptions.size;
24500
- d === void 0 && l && u && (d = Number(u)), d === void 0 && (d = 2048);
24501
- let f = this.imageOptions.transform, p = (e, t) => Rv(qr(e, f, t)), m = Object.assign({ key: `pano.${c}` }, mr(this.imageOptions, [
24506
+ let s = Z(t), c = this.works.getObserver(t);
24507
+ if (!c) throw Error("Invalid PanoIndex");
24508
+ let l = Yr(c.images.up), u = this.imageOptions.size;
24509
+ u === void 0 && c && l && (u = Number(l)), u === void 0 && (u = 2048);
24510
+ let d = this.imageOptions.transform, f = (e, t) => Bv(qr(e, d, t)), p = Object.assign({ key: `pano.${s}` }, mr(this.imageOptions, [
24502
24511
  "format",
24503
24512
  "size",
24504
24513
  "quality"
24505
- ])), h = {
24506
- right: l.images.work.getURL(l.images.right),
24507
- left: l.images.work.getURL(l.images.left),
24508
- up: l.images.work.getURL(l.images.up),
24509
- down: l.images.work.getURL(l.images.down),
24510
- front: l.images.work.getURL(l.images.front),
24511
- back: l.images.work.getURL(l.images.back)
24512
- }, g = "pano:" + pp([
24513
- h,
24514
+ ])), m = {
24515
+ right: c.images.work.getURL(c.images.right),
24516
+ left: c.images.work.getURL(c.images.left),
24517
+ up: c.images.work.getURL(c.images.up),
24518
+ down: c.images.work.getURL(c.images.down),
24519
+ front: c.images.work.getURL(c.images.front),
24520
+ back: c.images.work.getURL(c.images.back)
24521
+ }, h = "pano:" + pp([
24514
24522
  m,
24515
- f
24523
+ p,
24524
+ d
24516
24525
  ]);
24517
24526
  if (this.pendingPanoTask) {
24518
- if (this.pendingPanoTask.hash === g) return;
24527
+ if (this.pendingPanoTask.hash === h) return;
24519
24528
  {
24520
24529
  let e = this.pendingPanoTask.panoId;
24521
- (a = this.panoMeshes.get(e)) == null || a.setProgress(0), this.emit("pano.texture.abort", Q("pano.texture.abort", {
24530
+ (i = this.panoMeshes.get(e)) == null || i.setProgress(0), this.emit("pano.texture.abort", Q("pano.texture.abort", {
24522
24531
  error: null,
24523
24532
  progress: 0,
24524
24533
  meta: null,
@@ -24526,39 +24535,44 @@ var zv = 300, Bv = new e.Raycaster(), Vv = new e.Vector3(), Hv = {
24526
24535
  }));
24527
24536
  }
24528
24537
  }
24529
- let _ = "move-to-pano-" + c;
24530
- this.pending.add(_);
24531
- let v = Eh("pano.prepare", {
24538
+ let g = "move-to-pano-" + s;
24539
+ this.pending.add(g);
24540
+ let _ = Eh("pano.prepare", {
24541
+ options: n,
24542
+ prevMode: this.mode,
24532
24543
  prevPano: this.currentPano,
24533
24544
  pano: t
24534
24545
  });
24535
- if (this.emit("pano.prepare", v), v.defaultPrevented) {
24536
- this.pending.delete(_);
24546
+ if (this.emit("pano.prepare", _), _.defaultPrevented) {
24547
+ this.pending.delete(g);
24537
24548
  return;
24538
24549
  }
24539
- let y = this.modelScene.parameter, b;
24540
- if (y.pano0 && y.pano0.map.name === g ? b = y.pano0 : y.pano1 && y.pano1.map.name === g && (b = y.pano1), b) {
24550
+ _.options !== n && Object.assign(n, _.options);
24551
+ let v = this.modelScene.parameter, y;
24552
+ v.pano0 && v.pano0.map.name === h ? y = v.pano0 : v.pano1 && v.pano1.map.name === h && (y = v.pano1);
24553
+ let b = (a = n.effect) == null ? Rv : a, x = (o = n.effectEasing) == null ? Xg : o;
24554
+ if (y) {
24541
24555
  let r = {
24542
- panoId: c,
24543
- effect: s,
24544
- effectEasing: (o = n.effectEasing) == null ? Yg : o,
24556
+ panoId: s,
24557
+ effect: b,
24558
+ effectEasing: x,
24545
24559
  leftPanoPicture: {
24546
- panoId: b.panoId,
24547
- map: b.map,
24548
- mapHistogram: b.mapHistogram,
24549
- mapSize: b.mapSize,
24550
- matrix: l.matrix.clone().premultiply(l.work.transform),
24560
+ panoId: y.panoId,
24561
+ map: y.map,
24562
+ mapHistogram: y.mapHistogram,
24563
+ mapSize: y.mapSize,
24564
+ matrix: c.matrix.clone().premultiply(c.work.transform),
24551
24565
  zoom: 1
24552
24566
  },
24553
- position: l.position.clone().applyMatrix4(l.work.transform),
24567
+ position: c.position.clone().applyMatrix4(c.work.transform),
24554
24568
  fixCameraTransform: new e.Matrix4()
24555
24569
  };
24556
- r.leftPanoPicture && this.panoPictureObserverMap.set(r.leftPanoPicture, l), this.pendingPanoTask = void 0, Promise.resolve().then(() => Dh(v)).catch((e) => {
24570
+ r.leftPanoPicture && this.panoPictureObserverMap.set(r.leftPanoPicture, c), this.pendingPanoTask = void 0, Promise.resolve().then(() => Dh(_)).catch((e) => {
24557
24571
  let t = Yh(e);
24558
24572
  return this.emit("error", t), t;
24559
24573
  }).then((e) => {
24560
24574
  var i, a;
24561
- if (!(e instanceof Error)) this.pending.delete(_), this.pendingPanoTask = void 0, (i = this.panoMeshes.get(c)) == null || i.setProgress(0), this.doMoveToPano(t, r, n);
24575
+ if (!(e instanceof Error)) this.pending.delete(g), this.pendingPanoTask = void 0, (i = this.panoMeshes.get(s)) == null || i.setProgress(0), this.doMoveToPano(t, r, n);
24562
24576
  else {
24563
24577
  let t = null;
24564
24578
  e instanceof Error && (t || (t = e));
@@ -24569,8 +24583,8 @@ var zv = 300, Bv = new e.Raycaster(), Vv = new e.Vector3(), Hv = {
24569
24583
  options: n,
24570
24584
  prevPano: this.currentPano,
24571
24585
  pano: {
24572
- panoIndex: l.panoIndex,
24573
- workCode: l.work.workCode
24586
+ panoIndex: c.panoIndex,
24587
+ workCode: c.work.workCode
24574
24588
  },
24575
24589
  progress: 0,
24576
24590
  state: r
@@ -24580,42 +24594,42 @@ var zv = 300, Bv = new e.Raycaster(), Vv = new e.Vector3(), Hv = {
24580
24594
  options: n,
24581
24595
  prevPano: this.currentPano,
24582
24596
  pano: {
24583
- panoIndex: l.panoIndex,
24584
- workCode: l.work.workCode
24597
+ panoIndex: c.panoIndex,
24598
+ workCode: c.work.workCode
24585
24599
  },
24586
24600
  progress: 0,
24587
24601
  state: r
24588
- })), t instanceof Error && t.message && this.emit("error", t), this.pending.delete(_), this.pendingPanoTask = void 0, (a = this.panoMeshes.get(c)) == null || a.setProgress(0);
24602
+ })), t instanceof Error && t.message && this.emit("error", t), this.pending.delete(g), this.pendingPanoTask = void 0, (a = this.panoMeshes.get(s)) == null || a.setProgress(0);
24589
24603
  }
24590
24604
  });
24591
24605
  return;
24592
24606
  }
24593
- let x = this.panoMeshes.get(c);
24594
- x && x.tap && x.tap(), this.pendingPanoTask = {
24595
- panoId: c,
24596
- hash: g,
24607
+ let S = this.panoMeshes.get(s);
24608
+ S && S.tap && S.tap(), this.pendingPanoTask = {
24609
+ panoId: s,
24610
+ hash: h,
24597
24611
  onLoad: (r) => {
24598
- var i, a;
24599
- let o = r.body;
24600
- if (this.destroyed) o.dispose();
24612
+ var i;
24613
+ let a = r.body;
24614
+ if (this.destroyed) a.dispose();
24601
24615
  else {
24602
- o.name = g;
24603
- let r = Array.isArray(o.image) ? o.image[0] : o.image, u = (i = r == null ? void 0 : r.width) == null ? 2048 : i, d = new gm().formPixels(Uh(this.renderer, o, !0, fm).data), f = {
24604
- panoId: c,
24605
- effect: s,
24606
- effectEasing: (a = n.effectEasing) == null ? Yg : a,
24616
+ a.name = h;
24617
+ let r = Array.isArray(a.image) ? a.image[0] : a.image, o = (i = r == null ? void 0 : r.width) == null ? 2048 : i, l = new gm().formPixels(Uh(this.renderer, a, !0, fm).data), u = {
24618
+ panoId: s,
24619
+ effect: b,
24620
+ effectEasing: x,
24607
24621
  leftPanoPicture: {
24608
- panoId: c,
24609
- map: o,
24610
- mapSize: u,
24611
- mapHistogram: new e.Vector4().fromArray(d.toArray()),
24612
- matrix: l.matrix.clone(),
24622
+ panoId: s,
24623
+ map: a,
24624
+ mapSize: o,
24625
+ mapHistogram: new e.Vector4().fromArray(l.toArray()),
24626
+ matrix: c.matrix.clone(),
24613
24627
  zoom: 1
24614
24628
  },
24615
- position: l.position.clone(),
24629
+ position: c.position.clone(),
24616
24630
  fixCameraTransform: new e.Matrix4()
24617
24631
  };
24618
- f.leftPanoPicture && this.panoPictureObserverMap.set(f.leftPanoPicture, l), this.doMoveToPano(t, f, n);
24632
+ u.leftPanoPicture && this.panoPictureObserverMap.set(u.leftPanoPicture, c), this.doMoveToPano(t, u, n);
24619
24633
  }
24620
24634
  },
24621
24635
  onError: (e) => {
@@ -24626,8 +24640,8 @@ var zv = 300, Bv = new e.Raycaster(), Vv = new e.Vector3(), Hv = {
24626
24640
  options: n,
24627
24641
  prevPano: this.currentPano,
24628
24642
  pano: {
24629
- panoIndex: l.panoIndex,
24630
- workCode: l.work.workCode
24643
+ panoIndex: c.panoIndex,
24644
+ workCode: c.work.workCode
24631
24645
  },
24632
24646
  progress: 0,
24633
24647
  state: t
@@ -24637,8 +24651,8 @@ var zv = 300, Bv = new e.Raycaster(), Vv = new e.Vector3(), Hv = {
24637
24651
  options: n,
24638
24652
  prevPano: this.currentPano,
24639
24653
  pano: {
24640
- panoIndex: l.panoIndex,
24641
- workCode: l.work.workCode
24654
+ panoIndex: c.panoIndex,
24655
+ workCode: c.work.workCode
24642
24656
  },
24643
24657
  progress: 0,
24644
24658
  state: t
@@ -24651,14 +24665,14 @@ var zv = 300, Bv = new e.Raycaster(), Vv = new e.Vector3(), Hv = {
24651
24665
  meta: null,
24652
24666
  pano: t
24653
24667
  }));
24654
- }).then(() => this.textureLoader.loadCubeTexture(h, {
24668
+ }).then(() => this.textureLoader.loadCubeTexture(m, {
24655
24669
  imageURL: {
24656
- transform: p,
24657
- options: m
24670
+ transform: f,
24671
+ options: p
24658
24672
  },
24659
24673
  format: e.RGBFormat,
24660
24674
  viaAjax: !0,
24661
- fetcher: Sf(this.fiveId, l.work)
24675
+ fetcher: Sf(this.fiveId, c.work)
24662
24676
  }, void 0, void 0, (e) => {
24663
24677
  var n, r;
24664
24678
  this.emit("pano.texture.progress", Q("pano.texture.progress", {
@@ -24666,7 +24680,7 @@ var zv = 300, Bv = new e.Raycaster(), Vv = new e.Vector3(), Hv = {
24666
24680
  progress: e,
24667
24681
  meta: null,
24668
24682
  pano: t
24669
- })), ((n = this.pendingPanoTask) == null ? void 0 : n.hash) === g && ((r = this.panoMeshes.get(c)) == null || r.setProgress(e));
24683
+ })), ((n = this.pendingPanoTask) == null ? void 0 : n.hash) === h && ((r = this.panoMeshes.get(s)) == null || r.setProgress(e));
24670
24684
  }, this.renderer)).catch((e) => {
24671
24685
  let n = Yh(e);
24672
24686
  return this.emit("pano.texture.error", Q("pano.texture.error", {
@@ -24675,9 +24689,9 @@ var zv = 300, Bv = new e.Raycaster(), Vv = new e.Vector3(), Hv = {
24675
24689
  meta: null,
24676
24690
  pano: t
24677
24691
  })), n;
24678
- }), Promise.resolve().then(() => Dh(v)).catch((e) => Yh(e))]).then(([e, n]) => {
24692
+ }), Promise.resolve().then(() => Dh(_)).catch((e) => Yh(e))]).then(([e, n]) => {
24679
24693
  var r, i, a, o;
24680
- if (!(e instanceof Error) && !(n instanceof Error)) this.pending.delete(_), ((r = this.pendingPanoTask) == null ? void 0 : r.hash) === g ? (this.pendingPanoTask.onLoad(e), this.pendingPanoTask = void 0, (i = this.panoMeshes.get(c)) == null || i.setProgress(0)) : e.body.dispose(), this.emit("pano.texture.success", Q("pano.texture.success", {
24694
+ if (!(e instanceof Error) && !(n instanceof Error)) this.pending.delete(g), ((r = this.pendingPanoTask) == null ? void 0 : r.hash) === h ? (this.pendingPanoTask.onLoad(e), this.pendingPanoTask = void 0, (i = this.panoMeshes.get(s)) == null || i.setProgress(0)) : e.body.dispose(), this.emit("pano.texture.success", Q("pano.texture.success", {
24681
24695
  error: null,
24682
24696
  progress: 1,
24683
24697
  meta: e.meta,
@@ -24685,7 +24699,7 @@ var zv = 300, Bv = new e.Raycaster(), Vv = new e.Vector3(), Hv = {
24685
24699
  }));
24686
24700
  else {
24687
24701
  let t = null;
24688
- e instanceof Error ? t || (t = e) : e.body.dispose(), n instanceof Error && (t || (t = n)), this.pending.delete(_), ((a = this.pendingPanoTask) == null ? void 0 : a.hash) === g && (this.pendingPanoTask.onError(t), this.pendingPanoTask = void 0, (o = this.panoMeshes.get(c)) == null || o.setProgress(0));
24702
+ e instanceof Error ? t || (t = e) : e.body.dispose(), n instanceof Error && (t || (t = n)), this.pending.delete(g), ((a = this.pendingPanoTask) == null ? void 0 : a.hash) === h && (this.pendingPanoTask.onError(t), this.pendingPanoTask = void 0, (o = this.panoMeshes.get(s)) == null || o.setProgress(0));
24689
24703
  }
24690
24704
  });
24691
24705
  }
@@ -24883,16 +24897,16 @@ var zv = 300, Bv = new e.Raycaster(), Vv = new e.Vector3(), Hv = {
24883
24897
  let a = i.work.observers, o = i.accessibleNodes.filter((e) => {
24884
24898
  if (e === this.currentPano.panoIndex && i.work.workCode === this.currentPano.workCode) return !1;
24885
24899
  let t = a[e];
24886
- return !t || Vv.copy(t.position).applyMatrix4(t.work.transform).distanceTo(this.camera.position) > this.maxAccessibleDistance ? !1 : t.loadable || t.active;
24900
+ return !t || Uv.copy(t.position).applyMatrix4(t.work.transform).distanceTo(this.camera.position) > this.maxAccessibleDistance ? !1 : t.loadable || t.active;
24887
24901
  }), [s] = this.modelScene.intersectRaycaster(t);
24888
24902
  if (s) {
24889
24903
  let [e, t] = Rl(o, (e) => {
24890
24904
  let t = a[e];
24891
- return t ? Vv.copy(t.standingPosition).applyMatrix4(t.work.transform).distanceTo(s.point) : Infinity;
24905
+ return t ? Uv.copy(t.standingPosition).applyMatrix4(t.work.transform).distanceTo(s.point) : Infinity;
24892
24906
  }, !0);
24893
24907
  typeof e == "number" && t < this.panoTapTriggerRadius && (r = (n = a[e]) == null ? null : n);
24894
24908
  }
24895
- if (rv(r)) {
24909
+ if (iv(r)) {
24896
24910
  let e = this.getForwardObserverOrNot(this.xrManager.cameraVR, t);
24897
24911
  e && (r = e);
24898
24912
  }
@@ -24909,7 +24923,7 @@ var zv = 300, Bv = new e.Raycaster(), Vv = new e.Vector3(), Hv = {
24909
24923
  }
24910
24924
  }
24911
24925
  }
24912
- if (rv(r)) return this.locationMotion.ended === !0 && this.cameraBounce(), null;
24926
+ if (iv(r)) return this.locationMotion.ended === !0 && this.cameraBounce(), null;
24913
24927
  if (!r.active) {
24914
24928
  let e = Z({
24915
24929
  panoIndex: r.panoIndex,
@@ -25100,9 +25114,9 @@ var zv = 300, Bv = new e.Raycaster(), Vv = new e.Vector3(), Hv = {
25100
25114
  let t = .3, i = .005, a = n.standingPosition.clone().applyMatrix4(n.work.transform), o = Z({
25101
25115
  panoIndex: n.panoIndex,
25102
25116
  workCode: n.work.workCode
25103
- }), s = Qg.map((n) => {
25104
- Bv.ray.origin.copy(a), Bv.ray.origin.add(Vv.copy(n).setY(t)), Bv.ray.direction.set(0, -1, 0), Bv.firstHitOnly = !0, Bv.floorIndex = -1;
25105
- let [o] = r.intersectRaycaster(Bv);
25117
+ }), s = $g.map((n) => {
25118
+ Hv.ray.origin.copy(a), Hv.ray.origin.add(Uv.copy(n).setY(t)), Hv.ray.direction.set(0, -1, 0), Hv.firstHitOnly = !0, Hv.floorIndex = -1;
25119
+ let [o] = r.intersectRaycaster(Hv);
25106
25120
  return o && o.distance - i <= t ? new e.Vector3().copy(a).setY(o.point.y + i) : a;
25107
25121
  });
25108
25122
  s.sort((e, t) => t.y - e.y);
@@ -25149,7 +25163,7 @@ var zv = 300, Bv = new e.Raycaster(), Vv = new e.Vector3(), Hv = {
25149
25163
  else {
25150
25164
  t.position.copy(r.standingPosition).applyMatrix4(r.work.transform);
25151
25165
  let e = this.adjustPanoCircleMeshPositionFix.get(r.panoId);
25152
- e && (Vv.set(e.x, e.y, e.z), Vv.equals(t.position) && (t.position.y += e.w)), t.scale.setScalar(1.2);
25166
+ e && (Uv.set(e.x, e.y, e.z), Uv.equals(t.position) && (t.position.y += e.w)), t.scale.setScalar(1.2);
25153
25167
  }
25154
25168
  let a = this.camera.position.clone().setY(t.position.y), o = new e.Vector3().copy(t.position).sub(a).normalize();
25155
25169
  if (n === Z(this.currentPano)) {
@@ -25349,7 +25363,7 @@ var zv = 300, Bv = new e.Raycaster(), Vv = new e.Vector3(), Hv = {
25349
25363
  leftRay: r,
25350
25364
  rightRay: i
25351
25365
  } }
25352
- }))) : n - this.xrHandleState[t].touchStartTime > zv && this.emit("xr.gesture.press", Q("xr.gesture.tap", {
25366
+ }))) : n - this.xrHandleState[t].touchStartTime > Vv && this.emit("xr.gesture.press", Q("xr.gesture.tap", {
25353
25367
  session: this.xrManager.session,
25354
25368
  machineType: this.xrManager.machineType,
25355
25369
  buttons: t,
@@ -25371,7 +25385,7 @@ var zv = 300, Bv = new e.Raycaster(), Vv = new e.Vector3(), Hv = {
25371
25385
  leftRay: r,
25372
25386
  rightRay: i
25373
25387
  } }
25374
- })), n - this.xrHandleState[t].touchStartTime <= zv) {
25388
+ })), n - this.xrHandleState[t].touchStartTime <= Vv) {
25375
25389
  let e = Q("xr.gesture.tap", {
25376
25390
  session: this.xrManager.session,
25377
25391
  machineType: this.xrManager.machineType,
@@ -25395,18 +25409,18 @@ var zv = 300, Bv = new e.Raycaster(), Vv = new e.Vector3(), Hv = {
25395
25409
  });
25396
25410
  }
25397
25411
  }
25398
- }, Uv = {
25412
+ }, Gv = {
25399
25413
  Floorplan: Qh,
25400
25414
  Topview: eg,
25401
- Panorama: $g,
25402
- VRPanorama: W_,
25403
- Model: Y_,
25404
- Mapview: tv,
25405
- XRPanorama: Lv
25406
- }, Wv = /* @__PURE__ */ "gesture.pan,gesture.tap,gesture.dbltap,gesture.press,gesture.pinch,gesture.mousewheel,gesture.mousemove,gesture.momentum,gesture.fire,initAnimation.start,initAnimation.end,camera.update,intersect.update,pano.select,pano.moveTo,pano.moving,pano.arrived,pano.cancel,pano.error,pano.prepare,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".split(",");
25415
+ Panorama: e_,
25416
+ VRPanorama: G_,
25417
+ Model: X_,
25418
+ Mapview: nv,
25419
+ XRPanorama: zv
25420
+ }, Kv = /* @__PURE__ */ "gesture.pan,gesture.tap,gesture.dbltap,gesture.press,gesture.pinch,gesture.mousewheel,gesture.mousemove,gesture.momentum,gesture.fire,initAnimation.start,initAnimation.end,camera.update,intersect.update,pano.select,pano.moveTo,pano.moving,pano.arrived,pano.cancel,pano.error,pano.prepare,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".split(",");
25407
25421
  //#endregion
25408
25422
  //#region build/five/application/events-legacy.js
25409
- function Gv(e) {
25423
+ function qv(e) {
25410
25424
  e.on("initAnimation.start", (t) => {
25411
25425
  e.emit("initAnimationWillStart", t.state.panoIndex, t.state, t.userAction);
25412
25426
  }), e.on("initAnimation.end", (t) => {
@@ -25548,7 +25562,7 @@ function Gv(e) {
25548
25562
  }
25549
25563
  //#endregion
25550
25564
  //#region build/five/application/generateDefaultVideoElement.js
25551
- function Kv() {
25565
+ function Jv() {
25552
25566
  if (typeof window < "u") {
25553
25567
  let e = document.createElement("video");
25554
25568
  e.loop = !0, e.autoplay = !0, e.playsInline = !0, e.muted = !0, e.crossOrigin = "";
@@ -25560,7 +25574,7 @@ function Kv() {
25560
25574
  }
25561
25575
  //#endregion
25562
25576
  //#region build/five/application/initLights.js
25563
- function qv() {
25577
+ function Yv() {
25564
25578
  let t = new e.Group();
25565
25579
  t.name = "internalLights";
25566
25580
  {
@@ -25583,7 +25597,7 @@ function qv() {
25583
25597
  }
25584
25598
  //#endregion
25585
25599
  //#region build/five/application/getViewportScale.js
25586
- function Jv(e) {
25600
+ function Xv(e) {
25587
25601
  var t, n;
25588
25602
  let r = {}, i = e.split(/(\;|\,)/);
25589
25603
  for (let e of i) {
@@ -25592,14 +25606,14 @@ function Jv(e) {
25592
25606
  }
25593
25607
  return r;
25594
25608
  }
25595
- function Yv() {
25609
+ function Zv() {
25596
25610
  var e;
25597
25611
  if (typeof document < "u") {
25598
25612
  let t = document.getElementsByTagName("meta");
25599
25613
  for (let n = 0; n < t.length; n++) {
25600
25614
  let r = t[n];
25601
25615
  if (r.getAttribute("name") === "viewport") {
25602
- let t = Jv((e = r.getAttribute("content")) == null ? "" : e), n = Number(t["initial-scale"]);
25616
+ let t = Xv((e = r.getAttribute("content")) == null ? "" : e), n = Number(t["initial-scale"]);
25603
25617
  if (!isNaN(n)) return n;
25604
25618
  }
25605
25619
  }
@@ -25608,7 +25622,7 @@ function Yv() {
25608
25622
  }
25609
25623
  //#endregion
25610
25624
  //#region build/five/assets/realsee-png-data-url.js
25611
- var Xv = "data:image/png;base64,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", Zv = [351, 63], Qv = [20, 20], $v = new Float32Array([
25625
+ var Qv = "data:image/png;base64,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", $v = [351, 63], ey = [20, 20], ty = new Float32Array([
25612
25626
  -.5,
25613
25627
  -.5,
25614
25628
  0,
@@ -25621,7 +25635,7 @@ var Xv = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAV8AAAA/CAQAAADtPwPkAAAR
25621
25635
  .5,
25622
25636
  .5,
25623
25637
  0
25624
- ]), ey = new Float32Array([
25638
+ ]), ny = new Float32Array([
25625
25639
  0,
25626
25640
  0,
25627
25641
  1,
@@ -25630,57 +25644,57 @@ var Xv = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAV8AAAA/CAQAAADtPwPkAAAR
25630
25644
  1,
25631
25645
  1,
25632
25646
  1
25633
- ]), ty = new Uint8Array([
25647
+ ]), ry = new Uint8Array([
25634
25648
  0,
25635
25649
  1,
25636
25650
  2,
25637
25651
  1,
25638
25652
  3,
25639
25653
  2
25640
- ]), ny = new e.BufferGeometry();
25641
- ny.setAttribute("position", new e.BufferAttribute($v, 3)), ny.setAttribute("uv", new e.BufferAttribute(ey, 2)), ny.setIndex(new e.BufferAttribute(ty, 1));
25642
- var ry = new e.MeshBasicMaterial({
25654
+ ]), iy = new e.BufferGeometry();
25655
+ iy.setAttribute("position", new e.BufferAttribute(ty, 3)), iy.setAttribute("uv", new e.BufferAttribute(ny, 2)), iy.setIndex(new e.BufferAttribute(ry, 1));
25656
+ var ay = new e.MeshBasicMaterial({
25643
25657
  transparent: !0,
25644
25658
  depthTest: !1,
25645
25659
  depthWrite: !1,
25646
25660
  stencilWrite: !1,
25647
25661
  fog: !1
25648
- }), iy = new e.Mesh(ny, ry);
25649
- iy.matrixAutoUpdate = !1;
25650
- var ay = new e.Scene();
25651
- ay.add(iy), ay.matrixAutoUpdate = !1;
25652
- var oy = new e.OrthographicCamera(-.5, .5, .5, -.5, .1, 1);
25653
- oy.position.set(0, 0, .5), oy.lookAt(0, 0, 0), oy.updateMatrixWorld(!0), oy.matrixAutoUpdate = !1;
25654
- var sy = new e.Vector4(), cy = new e.Vector4();
25655
- function ly(t) {
25656
- if (ry.map) {
25657
- let e = t.getViewport(sy), n = t.getScissor(cy), r = t.getScissorTest(), i = t.autoClear, a = n.x + Qv[0] / 3, o = n.y + Qv[1] / 3, s = Zv[0] / 3, c = Zv[1] / 3;
25658
- t.setViewport(a, o, s, c), t.setScissor(a, o, s, c), t.setScissorTest(!0), t.autoClear = !1, t.render(ay, oy), t.setViewport(e), t.setScissor(n), t.setScissorTest(r), t.autoClear = i;
25662
+ }), oy = new e.Mesh(iy, ay);
25663
+ oy.matrixAutoUpdate = !1;
25664
+ var sy = new e.Scene();
25665
+ sy.add(oy), sy.matrixAutoUpdate = !1;
25666
+ var cy = new e.OrthographicCamera(-.5, .5, .5, -.5, .1, 1);
25667
+ cy.position.set(0, 0, .5), cy.lookAt(0, 0, 0), cy.updateMatrixWorld(!0), cy.matrixAutoUpdate = !1;
25668
+ var ly = new e.Vector4(), uy = new e.Vector4();
25669
+ function dy(t) {
25670
+ if (ay.map) {
25671
+ let e = t.getViewport(ly), n = t.getScissor(uy), r = t.getScissorTest(), i = t.autoClear, a = n.x + ey[0] / 3, o = n.y + ey[1] / 3, s = $v[0] / 3, c = $v[1] / 3;
25672
+ t.setViewport(a, o, s, c), t.setScissor(a, o, s, c), t.setScissorTest(!0), t.autoClear = !1, t.render(sy, cy), t.setViewport(e), t.setScissor(n), t.setScissorTest(r), t.autoClear = i;
25659
25673
  } else {
25660
25674
  let t = new e.Texture(), n = new Image();
25661
25675
  n.onload = () => {
25662
- t.image = n, t.wrapS = e.ClampToEdgeWrapping, t.wrapT = e.ClampToEdgeWrapping, t.minFilter = e.LinearFilter, t.needsUpdate = !0, t.generateMipmaps = !1, ry.needsUpdate = !0, n.onload = K;
25663
- }, n.src = Xv, ry.map = t;
25676
+ t.image = n, t.wrapS = e.ClampToEdgeWrapping, t.wrapT = e.ClampToEdgeWrapping, t.minFilter = e.LinearFilter, t.needsUpdate = !0, t.generateMipmaps = !1, ay.needsUpdate = !0, n.onload = K;
25677
+ }, n.src = Qv, ay.map = t;
25664
25678
  }
25665
25679
  }
25666
25680
  //#endregion
25667
25681
  //#region build/five/gaussian-splatting/worker/dataWorker.js?worker&inline
25668
- var uy = "(function(){function e(e,t,n,r){function i(e){return e instanceof n?e:new n(function(t){t(e)})}return new(n||=Promise)(function(n,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function s(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){e.done?n(e.value):i(e.value).then(o,s)}c((r=r.apply(e,t||[])).next())})}async function t(e={}){var t,n=e,r=!1,i=!0,a=self.location.href;if(r||i)try{new URL(`.`,a).href}catch{}console.log.bind(console),console.error.bind(console);var o=!1;function s(e){for(var t=0,n=e.length,r=new Uint8Array(n),i;t<n;++t)i=e.charCodeAt(t),r[t]=~i>>8&i;return r}var c,l,u=!1;function d(){var e=M.buffer;new Int8Array(e),new Int16Array(e),n.HEAPU8=l=new Uint8Array(e),new Uint16Array(e),new Int32Array(e),n.HEAPU32=new Uint32Array(e),n.HEAPF32=new Float32Array(e),new Float64Array(e),new BigInt64Array(e),new BigUint64Array(e)}function f(){if(n.preRun)for(typeof n.preRun==`function`&&(n.preRun=[n.preRun]);n.preRun.length;)T(n.preRun.shift());x(w)}function p(){u=!0,I.c()}function m(){if(n.postRun)for(typeof n.postRun==`function`&&(n.postRun=[n.postRun]);n.postRun.length;)C(n.postRun.shift());x(S)}var h;function g(){return s(`\\0asm\\0\\0\\00\\b\\`\\`}}\\`|}\\`}\\`||\\`\\v\\0\\`\\0\\`\\0\\0\\x07aa\\0\\0\\r\\0\\0\\x07\\x07‚€€\\bAÀ¤\\v\\x07b\\0c\\0\\rd\\0\ne\\0\\ff\\0\\v\\f\núT\\rO| \\0 \\0¢\"\\0 \\0 \\0¢\"¢ \\0DiPîàB“ù>¢D'è‡ÀV¿\\xA0¢ DB:áSU¥?¢ \\0D^\\fýÿÿß¿¢D\\0\\0\\0\\0\\0\\0ð?\\xA0\\xA0\\xA0¶\\vT~@AÀ (\\0\"­ \\0­B\\x07|Bøÿÿÿƒ|\"BÿÿÿÿX@ §\"\\0?\\0AtM\\r \\0\\0\\r\\vAÄ A06\\0A\\vAÀ \\x006\\0 \\vK| \\0 \\0 \\0¢\"¢\"  ¢¢ D§F;Œ‡ÍÆ>¢DtçÊâù\\0*¿\\xA0¢  D²ûn‰?¢Dw¬ËTUUÅ¿\\xA0¢ \\0\\xA0\\xA0¶\\v¨\\0@ A€\\bN@ \\0D\\0\\0\\0\\0\\0\\0à¢!\\0 AÿI@ Aÿ\\x07k!\\f\\v \\0D\\0\\0\\0\\0\\0\\0à¢!\\0Aý  AýO\\x1BAþk!\\f\\v AxJ\\r\\0 \\0D\\0\\0\\0\\0\\0\\0\\`¢!\\0 A¸pK@ AÉ\\x07j!\\f\\v \\0D\\0\\0\\0\\0\\0\\0\\`¢!\\0Aðh  AðhM\\x1BA’j!\\v \\0 Aÿ\\x07j­B4†¿¢\\v…} \\0¼\"AvAÿq\"A•M} Aý\\0M@ \\0C\\0\\0\\0\\0”\\v} \\0‹\"\\0C\\0\\0\\0K’C\\0\\0\\0˒ \\0“\"C\\0\\0\\0?^@ \\0 ’C\\0\\0€¿’\\f\\v \\0 ’\"\\0 C\\0\\0\\0¿_E\\r\\0 \\0C\\0\\0€?’\\v\"\\0Œ \\0 A\\0H\\x1B \\0\\v\\v!\\0 \\0C\\0\\0\\0\\0—C\\0\\0\\0\\0 \\0¼Aÿÿÿÿ\\x07qA€€€ü\\x07M\\x1B\\v+\\0 \\0 \\0 \\0CkÓ\\r¼”Cº/½’”Cuª*>’” \\0C®å4¿”C\\0\\0€?’•\\vÈ| \\0C\\`B¢\\r]A\\0AÿA}C\\0\\0\\0\\0 \\0¼\"A€€€üF\\r\\0@ A€€€ü\\x07kAÿÿÿ‡xM@ At\"E@#\\0Ak\"C\\0\\0€¿8\\f *\\fC\\0\\0\\0\\0•\\f\\v A€€€ü\\x07F\\r A€€€xI A\\0NqE@ \\0 \\0“\"\\0 \\0•\\f\\v \\0C\\0\\0\\0K”¼A€€€Ü\\0k!\\vAˆ\n+\\0  A€€Ìùk\"A€€€|qk¾» AvAðq\"+€\\b¢D\\0\\0\\0\\0\\0\\0ð¿\\xA0\" ¢\"¢A\n+\\0 ¢A˜\n+\\0\\xA0\\xA0 ¢ Au·A€\n+\\0¢ +ˆ\\b\\xA0 \\xA0\\xA0¶!\\0\\v \\0\\vC\\0\\0@A’C\\0\\0¨A•C\\0\\0~C”C\\0\\0€?’ü\\0\" AL\\x1B\" AÿN\\x1B\\vAÿq\\vr \\0¼\"Aÿÿÿq!@ AvAÿq\"E\\r\\0 Að\\0M@ A€€€rAñ\\0 kv!\\f\\v AK@A€ø!A\\0!\\f\\v A\ntA€€\\x07k!\\v  AvA€€qr A\\rvr\\v¬|\n}@  $G@  $A\\fl\"\\0Aj\"j*\\0!  \\0A\\bj\"j*\\0! \\0 \\bj \\0 j*\\0\"8\\0 \\b j 8\\0  \\bj 8\\0 $At\"\\x1Bj  \\x1Bj\"*\\x008\\0 $At\"Ar\"At\"j  j\"*\\x008\\0 Ar\"At\"%j  %j\" *\\x008\\0 Ar\"!At\"&j  &j\"\"*\\x008\\0 \\0 \nj \\0 j\"'*\\x008\\0  \nj  j\"(*\\x008\\0 \n j  j*\\0\"8\\0 \\x07 \\x1Bj  j-\\0\\0  j-\\0\\0A\\btr  j-\\0\\0Atr  !j-\\0\\0Atr6\\0 \\x07 j   Atr6\\0 *\\0\" ” \"*\\0\" ” *\\0\" ” *\\0\" ”’’’\"C\\0\\0\\0\\0^@  ‘\"•!  •!  •!  •!\\vC\\0\\0€?!C\\0\\0\\0\\0!C\\0\\0\\0\\0!} C\\0\\0\\0\\0]@ Œ! Œ! Œ! Œ!\\v C\\0\\0€? C\\0\\0€?]\\x1B\"¼\"Aÿÿÿÿ\\x07q\"\\0A€€€üO@C\\0\\0\\0\\0CÚI@ A\\0N\\x1B \\0A€€€üF\\rC\\0\\0\\0\\0  “•\\f\\v} \\0Aÿÿÿ÷M@CÚÉ? \\0A€€”I\\rCh!¢3   ”\\x07”“ “CÚÉ?’\\f\\v A\\0H@CÚÉ? C\\0\\0€?’C\\0\\0\\0?”\"‘\"  \\x07”Ch!¢³’’“\" ’\\f\\vC\\0\\0€? “C\\0\\0\\0?”\"‘\" \\x07”  ¼A€\\`q¾\" ”“  ’•’ ’\" ’\\v\\v\"!#\\0Ak\"$\\0@ ¼\"Aÿÿÿÿ\\x07q\"\\0Aڟ¤úM@ \\0A€€€ÌI\\r »!\\f\\v \\0AѧíƒM@ »!\\v \\0Aã—Û€M@ A\\0H@ \\vD-DTû!ù?\\xA0Œ!\\f\\v \\vD-DTû!ù¿\\xA0!\\f\\vD-DTû! ÀD-DTû! @ A\\0N\\x1B \\v\\xA0š!\\f\\v \\0AÕ㈇M@ \\0AßÛ¿…M@ »!\\v A\\0H@ \\vDÒ!3|Ù@\\xA0!\\f\\v \\vDÒ!3|ÙÀ\\xA0Œ!\\f\\vD-DTû!@D-DTû!À A\\0H\\x1B »\\xA0!\\f\\v \\0A€€€ü\\x07O@  “!\\f\\v#\\0Ak\"$\\0@ ¼\")Aÿÿÿÿ\\x07q\"\\0Aڟ¤îM@  »\"\\f \\fDƒÈÉm0_ä?¢D\\0\\0\\0\\0\\0\\x008C\\xA0D\\0\\0\\0\\0\\0\\x008Ã\\xA0\"\\vD\\0\\0\\0Pû!ù¿¢\\xA0 \\vDcba´Q¾¢\\xA0\"\\r9\\b \\vü!\\0 \\rD\\0\\0\\0\\`û!é¿c@  \\f \\vD\\0\\0\\0\\0\\0\\0ð¿\\xA0\"\\vD\\0\\0\\0Pû!ù¿¢\\xA0 \\vDcba´Q¾¢\\xA09\\b \\0Ak!\\0\\f\\v \\rD\\0\\0\\0\\`û!é?dE\\r  \\f \\vD\\0\\0\\0\\0\\0\\0ð?\\xA0\"\\vD\\0\\0\\0Pû!ù¿¢\\xA0 \\vDcba´Q¾¢\\xA09\\b \\0Aj!\\0\\f\\v \\0A€€€ü\\x07O@   “»9\\bA\\0!\\0\\f\\v  \\0 \\0AvA–k\"\\0Atk¾»9\\b A\\bj!\"A\\0!#\\0A°k\"$\\0 \\0 \\0AkAm\"A\\0 A\\0J\\x1B\"Ahlj!A\\xA0\n(\\0\"A\\0N@ Aj!\\0 !@ AÀj Atj A\\0H|D\\0\\0\\0\\0\\0\\0\\0\\0 At(°\n·\\v9\\0 Aj! Aj\" \\0G\\r\\0\\v\\v Ak!\\x1BA\\0!\\0 A\\0 A\\0J\\x1B!@A\\0!D\\0\\0\\0\\0\\0\\0\\0\\0!\\v@ \" Atj+\\0 AÀj \\0 kAtj+\\0¢ \\v\\xA0!\\v Aj\"AG\\r\\0\\v  \\0Atj \\v9\\0 \\0 F \\0Aj!\\0E\\r\\0\\vA/ k!*A0 k!# AtA°\nj!+ Ak!, !\\0@@  \\0Atj+\\0!\\vA\\0! \\0! \\0A\\0J@@ Aàj Atj \\vD\\0\\0\\0\\0\\0\\0p>¢ü·\"\\fD\\0\\0\\0\\0\\0\\0pÁ¢ \\v\\xA0ü6\\0  AtjA\\bk+\\0 \\f\\xA0!\\v Ak! Aj\" \\0G\\r\\0\\v\\v \\v \\x1B\"\\v \\vD\\0\\0\\0\\0\\0\\0À?¢œD\\0\\0\\0\\0\\0\\0 À¢\\xA0\"\\v \\vü\" ·¡!\\v@@@ \\x1BA\\0L\"-E@ \\0At j\" (Ü\"  #u\" #tk\"6Ü  j!  *u\\f\\v \\x1B\\r \\0At j(ÜAu\\v\"!A\\0L\\r\\f\\vA!! \\vD\\0\\0\\0\\0\\0\\0à?f\\r\\0A\\0!!\\f\\vA\\0!A\\0!A! \\0A\\0J@@ Aàj Atj\".(\\0!@ . Aÿÿÿ\\x07 E\\rA€€€\\b\\v k6\\0A!A\\0\\f\\vA\\0!A\\v! Aj\" \\0G\\r\\0\\v\\v@ -\\r\\0Aÿÿÿ!@@ ,\\0\\vAÿÿÿ!\\v \\0At j\" (Ü q6Ü\\v Aj! !AG\\r\\0D\\0\\0\\0\\0\\0\\0ð? \\v¡!\\vA!! \\r\\0 \\vD\\0\\0\\0\\0\\0\\0ð? \\x1B¡!\\v\\v \\vD\\0\\0\\0\\0\\0\\0\\0\\0a@A\\0! \\0!@ \\0 L\\r\\0@ Aàj Ak\"Atj(\\0 r!  J\\r\\0\\v E\\r\\0@ \\x1BAk!\\x1B Aàj \\0Ak\"\\0Atj(\\0E\\r\\0\\v\\f\\vA!@ \"Aj! Aàj  kAtj(\\0E\\r\\0\\v \\0 j!@ AÀj \\0Aj\"\\0Atj + \\0Atj(\\0·9\\0A\\0!D\\0\\0\\0\\0\\0\\0\\0\\0!\\v@ \" Atj+\\0 AÀj \\0 kAtj+\\0¢ \\v\\xA0!\\v Aj\"AG\\r\\0\\v  \\0Atj \\v9\\0 \\0 H\\r\\0\\v !\\0\\f\\v\\v@ \\vA k\"\\vD\\0\\0\\0\\0\\0\\0pAf@ Aàj \\0Atj \\vD\\0\\0\\0\\0\\0\\0p>¢ü\"·D\\0\\0\\0\\0\\0\\0pÁ¢ \\v\\xA0ü6\\0 \\0Aj!\\0 !\\x1B\\f\\v \\vü!\\v Aàj \\0Atj 6\\0\\vD\\0\\0\\0\\0\\0\\0ð? \\x1B!\\v \\0A\\0N@ \\0!@  \"Atj \\v Aàj Atj(\\0·¢9\\0 Ak! \\vD\\0\\0\\0\\0\\0\\0p>¢!\\v \\r\\0\\vA\\0! \\0!@    J\\x1B!\\x1B \\0 k!  Atj!\"A\\0!D\\0\\0\\0\\0\\0\\0\\0\\0!\\v@ At\"#+€ \" #j+\\0¢ \\v\\xA0!\\v  \\x1BG Aj!\\r\\0\\v A\\xA0j Atj \\v9\\0 Ak! \\0 G Aj!\\r\\0\\v\\vD\\0\\0\\0\\0\\0\\0\\0\\0!\\v \\0A\\0N@@ \\0\"Ak!\\0 \\v A\\xA0j Atj+\\0\\xA0!\\v \\r\\0\\v\\v  \\vš \\v !\\x1B9\\0 A°j$\\0 A\\x07q!\\0 +\\0!\\v )A\\0H@  \\vš9\\bA\\0 \\0k!\\0\\f\\v  \\v9\\b\\v Aj$\\0 +\\b!\\v@@@@ \\0AqAk\\0\\v \\v!\\f\\v \\v!\\f\\v \\vš!\\f\\v \\vŒ!\\v Aj$\\0 C½7†5^@  •!  •!  •!\\v ‹ ‹’ ‹’\"C\\0\\0\\0\\0^@  •!  •!  •!\\v@ C\\0\\0\\0\\0\\`@ !\\f\\vC\\0\\0€? ‹“\" Œ C\\0\\0\\0\\0\\`\\x1B!C\\0\\0€? ‹“\" Œ C\\0\\0\\0\\0\\`\\x1B!\\v C\\0\\0\\0?”C\\0\\0\\0?’C\\0\\0C”! \\x07 %j C\\0\\0\\0?”C\\0\\0\\0?’C\\0\\0C”C\\0\\0C–üAt  r C\\0\\0C–üAtr6\\0 '*\\0\\b!\\0 \\x07 &j \\0 (*\\0\\bA\\btr \\bAtr  ’CÛI@•C\\0\\0C”C\\0\\0C–üAtr6\\0 $Aj!$\\f\\v\\v\\vß\\v\\b@ \\0E\\r\\0 \\0A\\bk\" \\0Ak(\\0\"Axq\"\\0j!@ Aq\\r\\0 AqE\\r  (\\0\"k\"AØ (\\0I\\r \\0 j!\\0@@@AÜ (\\0 G@ (\\f! AÿM@  (\\b\"G\\rAÈ AÈ (\\0A~ Avwq6\\0\\f\\v (!\\x07  G@ (\\b\" 6\\f  6\\b\\f\\v (\" Aj (\"E\\r Aj\\v!@ ! \"Aj! (\"\\r\\0 Aj! (\"\\r\\0\\v A\\x006\\0\\f\\v (\"AqAG\\rAÐ \\x006\\0  A~q6  \\0Ar6  \\x006\\0\\v  6\\f  6\\b\\f\\vA\\0!\\v \\x07E\\r\\0@ (\"At\"(ø\" F@ Aø\"j 6\\0 \\rAÌ AÌ (\\0A~ wq6\\0\\f\\v@  \\x07(F@ \\x07 6\\f\\v \\x07 6\\v E\\r\\v  \\x076 (\"@  6  6\\v (\"E\\r\\0  6  6\\v  O\\r\\0 (\"AqE\\r\\0@@@@ AqE@Aà (\\0 F@Aà 6\\0AÔ AÔ (\\0 \\0j\"\\x006\\0  \\0Ar6 AÜ (\\0G\\rAÐ A\\x006\\0AÜ A\\x006\\0\\vAÜ (\\0\"\\x07 F@AÜ 6\\0AÐ AÐ (\\0 \\0j\"\\x006\\0  \\0Ar6 \\0 j \\x006\\0\\v Axq \\0j!\\0 (\\f! AÿM@ (\\b\" F@AÈ AÈ (\\0A~ Avwq6\\0\\f\\v  6\\f  6\\b\\f\\v (!\\b  G@ (\\b\" 6\\f  6\\b\\f\\v (\" Aj (\"E\\r Aj\\v!@ ! \"Aj! (\"\\r\\0 Aj! (\"\\r\\0\\v A\\x006\\0\\f\\v  A~q6  \\0Ar6 \\0 j \\x006\\0\\f\\vA\\0!\\v \\bE\\r\\0@ (\"At\"(ø\" F@ Aø\"j 6\\0 \\rAÌ AÌ (\\0A~ wq6\\0\\f\\v@  \\b(F@ \\b 6\\f\\v \\b 6\\v E\\r\\v  \\b6 (\"@  6  6\\v (\"E\\r\\0  6  6\\v  \\0Ar6 \\0 j \\x006\\0  \\x07G\\r\\0AÐ \\x006\\0\\v \\0AÿM@ \\0AøqAð j!AÈ (\\0\"A \\0Avt\"\\0qE@AÈ \\0 r6\\0 \\f\\v (\\b\\v!\\0  6\\b \\0 6\\f  6\\f  \\x006\\b\\vA! \\0Aÿÿÿ\\x07M@ \\0A& \\0A\\bvg\"kvAq AtrA>s!\\v  6 B\\x007 AtAø\"j!@AÌ (\\0\"A t\"qE@AÌ  r6\\0  6\\0A!A\\b\\f\\v \\0A AvkA\\0 AG\\x1Bt! (\\0!@ \"(Axq \\0F\\r Av! At!  Aqj\"(\"\\r\\0\\v  6A! !A\\b\\v!\\0 \"\\f\\v (\\b\" 6\\f  6\\bA!\\0A\\b!A\\0\\v!  j 6\\0  6\\f \\0 j 6\\0Aè Aè (\\0Ak\"\\0A \\0\\x1B6\\0\\v\\v¸'\\v#\\0Ak\"\n$\\0@@@@@@@@@@ \\0AôM@AÈ (\\0\"A \\0A\\vjAøq \\0A\\vI\\x1B\"Av\"\\0v\"Aq@@ AsAq \\0j\"At\"Að j\"\\0 (ø \"(\\b\"F@AÈ A~ wq6\\0\\f\\v  \\x006\\f \\0 6\\b\\v A\\bj!\\0  Ar6  j\" (Ar6\\f\\v\\v AÐ (\\0\"\\bM\\r @@A \\0t\"A\\0 kr  \\0tqh\"At\"Að j\" (ø \"\\0(\\b\"F@AÈ A~ wq\"6\\0\\f\\v  6\\f  6\\b\\v \\0 Ar6 \\0 j\"\\x07  k\"Ar6 \\0 j 6\\0 \\b@ \\bAxqAð j!AÜ (\\0! A \\bAvt\"qE@AÈ  r6\\0 \\f\\v (\\b\\v!  6\\b  6\\f  6\\f  6\\b\\v \\0A\\bj!\\0AÜ \\x076\\0AÐ 6\\0\\f\\v\\vAÌ (\\0\"\\vE\\r \\vhAt(ø\"\"(Axq k! !@@ (\"\\0E@ (\"\\0E\\r\\v \\0(Axq k\"   I\"\\x1B! \\0  \\x1B! \\0!\\f\\v\\v (!  (\\f\"\\0G@ (\\b\" \\x006\\f \\0 6\\b\\f\n\\v (\" Aj (\"E\\r Aj\\v!@ !\\x07 \"\\0Aj! \\0(\"\\r\\0 \\0Aj! \\0(\"\\r\\0\\v \\x07A\\x006\\0\\f \\vA! \\0A¿K\\r\\0 \\0A\\vj\"Axq!AÌ (\\0\"\\x07E\\r\\0A!\\bA\\0 k! \\0Aôÿÿ\\x07M@ A& A\\bvg\"\\0kvAq \\0AtkA>j!\\b\\v@@@ \\bAt(ø\"\"E@A\\0!\\0\\f\\vA\\0!\\0 A \\bAvkA\\0 \\bAG\\x1Bt!@@ (Axq k\" O\\r\\0 ! \"\\r\\0A\\0! !\\0\\f\\v \\0 (\"   AvAqj(\"F\\x1B \\0 \\x1B!\\0 At! \\r\\0\\v\\v \\0 rE@A\\0!A \\bt\"\\0A\\0 \\0kr \\x07q\"\\0E\\r \\0hAt(ø\"!\\0\\v \\0E\\r\\v@ \\0(Axq k\" I!   \\x1B! \\0  \\x1B! \\0(\"  \\0(\\v\"\\0\\r\\0\\v\\v E\\r\\0 AÐ (\\0 kO\\r\\0 (!\\b  (\\f\"\\0G@ (\\b\" \\x006\\f \\0 6\\b\\f\\b\\v (\" Aj (\"E\\r Aj\\v!@ ! \"\\0Aj! \\0(\"\\r\\0 \\0Aj! \\0(\"\\r\\0\\v A\\x006\\0\\f\\x07\\v AÐ (\\0\"M@AÜ (\\0!\\0@  k\"AO@ \\0 j\" Ar6 \\0 j 6\\0 \\0 Ar6\\f\\v \\0 Ar6 \\0 j\" (Ar6A\\0!A\\0!\\vAÐ 6\\0AÜ 6\\0 \\0A\\bj!\\0\\f \\v AÔ (\\0\"I@AÔ  k\"6\\0Aà Aà (\\0\"\\0 j\"6\\0  Ar6 \\0 Ar6 \\0A\\bj!\\0\\f \\vA\\0!\\0 A/j\"A\\xA0$(\\0@A¨$(\\0\\f\\vA¬$B7\\0A¤$B€\\xA0€€€€7\\0A\\xA0$ \nA\\fjApqAتժs6\\0A´$A\\x006\\0A„$A\\x006\\0A€ \\v\"j\"A\\0 k\"\\x07q\" M\\r\\bA€$(\\0\"@Aø#(\\0\"\\b j\" \\bM  Ir\\r \\v@A„$-\\0\\0AqE@@@@@Aà (\\0\"@Aˆ$!\\0@ \\0(\\0\"\\b M@  \\b \\0(jI\\r\\v \\0(\\b\"\\0\\r\\0\\v\\vA\\0\"AF\\r !A¤$(\\0\"\\0Ak\" q@  k  jA\\0 \\0kqj!\\v  M\\rA€$(\\0\"\\0@Aø#(\\0\" j\"\\x07 M \\0 \\x07Ir\\r\\v \"\\0 G\\r\\f\\v  k \\x07q\"\" \\0(\\0 \\0(jF\\r !\\0\\v \\0AF\\r A0j M@ \\0!\\f\\vA¨$(\\0\"  kjA\\0 kq\"AF\\r  j! \\0!\\f\\v AG\\r\\vA„$A„$(\\0Ar6\\0\\v \"AFA\\0\"\\0AFr \\0 Mr\\r \\0 k\" A(jM\\r\\vAø#Aø#(\\0 j\"\\x006\\0Aü#(\\0 \\0I@Aü# \\x006\\0\\v@Aà (\\0\"@Aˆ$!\\0@  \\0(\\0\" \\0(\"jF\\r \\0(\\b\"\\0\\r\\0\\v\\f\\vAØ (\\0\"\\0A\\0 \\0 M\\x1BE@AØ 6\\0\\vA\\0!\\0AŒ$ 6\\0Aˆ$ 6\\0Aè A6\\0Aì A\\xA0$(\\x006\\0A”$A\\x006\\0@ \\0At\" Að j\"6ø  6ü \\0Aj\"\\0A G\\r\\0\\vAÔ A(k\"\\0Ax kA\\x07q\"k\"6\\0Aà  j\"6\\0  Ar6 \\0 jA(6Aä A°$(\\x006\\0\\f\\v  M  Kr\\r \\0(\\fA\\bq\\r \\0  j6Aà Ax kA\\x07q\"\\0j\"6\\0AÔ AÔ (\\0 j\" \\0k\"\\x006\\0  \\0Ar6  jA(6Aä A°$(\\x006\\0\\f\\vA\\0!\\0\\f\\vA\\0!\\0\\f\\vAØ (\\0 K@AØ 6\\0\\v  j!Aˆ$!\\0@@  \\0(\\0\"G@ \\0(\\b\"\\0\\r\\f\\v\\v \\0-\\0\\fA\\bqE\\r\\vAˆ$!\\0@@ \\0(\\0\" M@   \\0(j\"I\\r\\v \\0(\\b!\\0\\f\\v\\vAÔ A(k\"\\0Ax kA\\x07q\"k\"\\x076\\0Aà  j\"6\\0  \\x07Ar6 \\0 jA(6Aä A°$(\\x006\\0  A' kA\\x07qjA/k\"\\0 \\0 AjI\\x1B\"A\\x1B6 A$)\\x007 Aˆ$)\\x007\\bA$ A\\bj6\\0AŒ$ 6\\0Aˆ$ 6\\0A”$A\\x006\\0 Aj!\\0@ \\0A\\x076 \\0A\\bj \\0Aj!\\0 I\\r\\0\\v  F\\r\\0  (A~q6   k\"Ar6  6\\0 AÿM@ AøqAð j!\\0AÈ (\\0\"A Avt\"qE@AÈ  r6\\0 \\0\\f\\v \\0(\\b\\v! \\0 6\\b  6\\fA\\f!A\\b\\f\\vA!\\0 Aÿÿÿ\\x07M@ A& A\\bvg\"\\0kvAq \\0AtrA>s!\\0\\v  \\x006 B\\x007 \\0AtAø\"j!@@AÌ (\\0\"A \\0t\"qE@AÌ  r6\\0  6\\0\\f\\v A \\0AvkA\\0 \\0AG\\x1Bt!\\0 (\\0!@ \"(Axq F\\r \\0Av! \\0At!\\0  Aqj\"(\"\\r\\0\\v  6\\v  6A\\b! \"!\\0A\\f\\f\\v (\\b\"\\0 6\\f  6\\b  \\x006\\bA\\0!\\0A!A\\f\\v j 6\\0  j \\x006\\0\\vAÔ (\\0\"\\0 M\\r\\0AÔ \\0 k\"6\\0Aà Aà (\\0\"\\0 j\"6\\0  Ar6 \\0 Ar6 \\0A\\bj!\\0\\f\\vAÄ A06\\0A\\0!\\0\\f\\v \\0 6\\0 \\0 \\0( j6 Ax kA\\x07qj\"\\b Ar6 Ax kA\\x07qj\"  \\bj\"k!\\x07@Aà (\\0 F@Aà 6\\0AÔ AÔ (\\0 \\x07j\"\\x006\\0  \\0Ar6\\f\\vAÜ (\\0 F@AÜ 6\\0AÐ AÐ (\\0 \\x07j\"\\x006\\0  \\0Ar6 \\0 j \\x006\\0\\f\\v (\"\\0AqAF@ \\0Axq! (\\f!@ \\0AÿM@ (\\b\" F@AÈ AÈ (\\0A~ \\0Avwq6\\0\\f\\v  6\\f  6\\b\\f\\v (!@  G@ (\\b\"\\0 6\\f  \\x006\\b\\f\\v@ (\"\\0 Aj (\"\\0E\\r Aj\\v!@ ! \\0\"Aj! \\0(\"\\0\\r\\0 Aj! (\"\\0\\r\\0\\v A\\x006\\0\\f\\vA\\0!\\v E\\r\\0@ (\"\\0At\"(ø\" F@ Aø\"j 6\\0 \\rAÌ AÌ (\\0A~ \\0wq6\\0\\f\\v@  (F@  6\\f\\v  6\\v E\\r\\v  6 (\"\\0@  \\x006 \\0 6\\v (\"\\0E\\r\\0  \\x006 \\0 6\\v \\x07 j!\\x07  j\"(!\\0\\v  \\0A~q6  \\x07Ar6  \\x07j \\x076\\0 \\x07AÿM@ \\x07AøqAð j!\\0AÈ (\\0\"A \\x07Avt\"qE@AÈ  r6\\0 \\0\\f\\v \\0(\\b\\v! \\0 6\\b  6\\f  \\x006\\f  6\\b\\f\\vA! \\x07Aÿÿÿ\\x07M@ \\x07A& \\x07A\\bvg\"\\0kvAq \\0AtrA>s!\\v  6 B\\x007 AtAø\"j!\\0@@AÌ (\\0\"A t\"qE@AÌ  r6\\0 \\0 6\\0\\f\\v \\x07A AvkA\\0 AG\\x1Bt! \\0(\\0!@ \"\\0(Axq \\x07F\\r Av! At! \\0 Aqj\"(\"\\r\\0\\v  6\\v  \\x006  6\\f  6\\b\\f\\v \\0(\\b\" 6\\f \\0 6\\b A\\x006  \\x006\\f  6\\b\\v \\bA\\bj!\\0\\f\\v@ \\bE\\r\\0@ (\"At\"(ø\" F@ Aø\"j \\x006\\0 \\0\\rAÌ \\x07A~ wq\"\\x076\\0\\f\\v@  \\b(F@ \\b \\x006\\f\\v \\b \\x006\\v \\0E\\r\\v \\0 \\b6 (\"@ \\0 6  \\x006\\v (\"E\\r\\0 \\0 6  \\x006\\v@ AM@   j\"\\0Ar6 \\0 j\"\\0 \\0(Ar6\\f\\v  Ar6  j\" Ar6  j 6\\0 AÿM@ AøqAð j!\\0AÈ (\\0\"A Avt\"qE@AÈ  r6\\0 \\0\\f\\v \\0(\\b\\v! \\0 6\\b  6\\f  \\x006\\f  6\\b\\f\\vA!\\0 Aÿÿÿ\\x07M@ A& A\\bvg\"\\0kvAq \\0AtrA>s!\\0\\v  \\x006 B\\x007 \\0AtAø\"j!@@ \\x07A \\0t\"qE@AÌ  \\x07r6\\0  6\\0  6\\f\\v A \\0AvkA\\0 \\0AG\\x1Bt!\\0 (\\0!@ \"(Axq F\\r \\0Av! \\0At!\\0  Aqj\"\\x07(\"\\r\\0\\v \\x07 6  6\\v  6\\f  6\\b\\f\\v (\\b\"\\0 6\\f  6\\b A\\x006  6\\f  \\x006\\b\\v A\\bj!\\0\\f\\v@ E\\r\\0@ (\"At\"(ø\" F@ Aø\"j \\x006\\0 \\0\\rAÌ \\vA~ wq6\\0\\f\\v@  (F@ \\x006\\f\\v \\x006\\v \\0E\\r\\v \\0 6 (\"@ \\0 6  \\x006\\v (\"E\\r\\0 \\0 6  \\x006\\v@ AM@   j\"\\0Ar6 \\0 j\"\\0 \\0(Ar6\\f\\v  Ar6  j\" Ar6  j 6\\0 \\b@ \\bAxqAð j!\\0AÜ (\\0!A \\bAvt\"\\x07 qE@AÈ  \\x07r6\\0 \\0\\f\\v \\0(\\b\\v! \\0 6\\b  6\\f  \\x006\\f  6\\b\\vAÜ 6\\0AÐ 6\\0\\v A\\bj!\\0\\v \nAj$\\0 \\0\\v\\0\\v\\vË\\0A€\\b\\v÷¾óøyìaö?ÞªŒ€÷{Õ¿=ˆ¯Jíqõ?ÛmÀ§ð¾Ò¿°ðð9•ô?g:Q®п…¸°•Éó?é$‚¦Ø1Ë¿¥dˆ\\f\\ró?XwÀ\nOWÆ¿\\xA0Ž\\v{\"^ò?\\0œÇ+ªÁ¿?4JJ»ñ?^ŒÎvNº¿ºåŠðX#ñ?ÌaZ<—±¿§\\0™A?•ð?\\fá8ôR¢¿\\0\\0\\0\\0\\0\\0ð?\\0\\0\\0\\0\\0\\0\\0\\0¬GšýŒ\\`î?„Yò]ª¥ª?\\xA0j³¤ì?´.6ªS^¼?æüjW6 ë?\\bÛ wå&Å?-ª¡cÑÂé?pG\"\\r†ÂË?íAxæ†è?á~\\xA0ȋÑ?bHSõÜgç? î¶W0Ô?ï9úþB.æ?4ƒ¸H£пj\\và\\v[WÕ?#A\nòþÿß¿\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0ƒù¢\\0DNn\\0ü)\\0ÑW'\\0Ý4õ\\0bÛÀ\\0<™•\\0AC\\0cQþ\\0»Þ«\\0·aÅ\\0:n$\\0ÒMB\\0Ià\\0 ê.\\0’Ñ\\0ëþ\\0)±\\0è>§\\0õ5‚\\0D».\\0œé„\\0´&p\\0A~_\\0֑9\\0Sƒ9\\0œô9\\0‹_„\\0(ù½\\0ø;\\0Þÿ—\\0˜\\0/ï\\0\nZ‹\\0mm\\0Ï~6\\0 Ë'\\0FO·\\0žf?\\0-ê_\\0º'u\\0åëÇ\\0={ñ\\0÷9\\x07\\0’RŠ\\0ûkê\\0±_\\0\\b]\\x000V\\0{üF\\0ð«k\\0 ¼Ï\\x006ôš\\0ã©\\0^a‘\\0\\b\\x1Bæ\\0…™e\\0\\xA0_\\0@h\\0€Øÿ\\0'sM\\01\\0ÊV\\0ɨs\\0{â\\`\\0kŒÀ\\0ÄG\\0ÍgÃ\\0 èÜ\\0Yƒ*\\0‹vÄ\\0¦–\\0D¯Ý\\0WÑ\\0¥>\\0\\x07ÿ\\x003~?\\0Â2è\\0˜OÞ\\0»}2\\0&=Ã\\0kï\\0Ÿø^\\x005:\\0òÊ\\0ñ‡\\0|!\\0j$|\\0Õnú\\x000-w\\0;C\\0µÆ\\0Ý\\0­ÄÂ\\0,MA\\0\\f\\0]\\0†}F\\0ãq-\\0›Æš\\x003b\\0\\0´Ò|\\0´§—\\x007UÕ\\0×>ö\\0£\\0Mvü\\0d*\\0p׫\\0c|ø\\0z°W\\0ç\\0ÀIV\\0;ÖÙ\\0§„8\\0$#Ë\\0֊w\\0ZT#\\0\\0¹\\0ñ\n\\x1B\\0Îß\\0Ÿ1ÿ\\0fj\\0™Wa\\0¬ûG\\0~Ø\\0\"e·\\x002è‰\\0æ¿\\`\\0ïÄÍ\\0l6 \\0]?Ô\\0Þ×\\0X;Þ\\0ޛ’\\0Ò\"(\\0(†è\\0âXM\\0ÆÊ2\\0\\bã\\0à}Ë\\0ÀP\\0ó§\\0à[\\0.4\\0ƒb\\0ƒH\\0õŽ[\\0­°\\0éò\\0HJC\\0gÓ\\0ªÝØ\\0®_B\\0jaÎ\\0\n(¤\\0ә´\\0¦ò\\0\\\\w\\0£Âƒ\\0a<ˆ\\0Šsx\\0¯ŒZ\\0o×½\\0-¦c\\0ô¿Ë\\0ï\\0&Ág\\0UÊE\\0ÊÙ6\\0(¨Ò\\0Âa\\0Éw\\0&\\0F›\\0ÄYÄ\\0ÈÅD\\0M²‘\\0\\0ó\\0ÔC­\\0)Iå\\0ýÕ\\0\\0¾ü\\0”Ì\\0pÎî\\0>õ\\0ìñ€\\0³çÃ\\0Çø(\\0“”\\0Áq>\\0. ³\\0\\vEó\\0ˆœ\\0« {\\0.µŸ\\0G’Â\\0{2/\\0\\fUm\\0r§\\0kç\\x001˖\\0yJ\\0Ayâ\\0ô߉\\0蔗\\0âæ„\\0™1—\\0ˆík\\0__6\\0»ý\\0Hš´\\0g¤l\\0qrB\\0]2\\0Ÿ¸\\0¼å \\01%\\0÷t9\\x000\\0\\r\\f\\0K\\bh\\0,îX\\0Gª\\0tç\\0½Ö$\\0÷}¦\\0nHr\\0Ÿï\\0Ž”¦\\0´‘ö\\0ÑSQ\\0Ï\nò\\0 ˜3\\0õK~\\0²ch\\0Ý>_\\0@]\\0…‰\\0UR)\\x007dÀ\\0mØ\\x002H2\\0[Lu\\0NqÔ\\0ETn\\0\\v Á\\0*õi\\0fÕ\\0'\\x07\\0]P\\0´;Û\\0êvÅ\\0‡ù\\0Ik}\\0'º\\0–i)\\0ÆÌ¬\\0­T\\0âj\\0ˆÙ‰\\0,rP\\0¤¾\\0w\\x07”\\0ó0p\\0\\0ü'\\0êq¨\\0fÂI\\0dà=\\0—݃\\0£?—\\0C”ý\\0\\r†Œ\\x001AÞ\\0’9\\0ÝpŒ\\0·ç\\0\\bß;\\07+\\0\\\\€\\xA0\\0Z€“\\0’\\0èØ\\0l€¯\\0ÛÿK\\x008\\0Yv\\0b¥\\0aË»\\0lj¹\\0@½\\0Òò\\0Iu'\\0ë¶ö\\0Û\"»\\0\nª\\0‰&/\\0dƒv\\0 ;3\\0”\\0Q:ª\\0£Â\\0¯í®\\0\\\\&\\0mÂM\\0-zœ\\0ÀV—\\0?ƒ\\0 ðö\\0+@Œ\\0m1™\\x009´\\x07\\0\\f \\0ØÃ[\\0õ’Ä\\0Æ­K\\0NÊ¥\\0§7Í\\0æ©6\\0«’”\\0ÝBh\\0cÞ\\0vŒï\\0h‹R\\0üÛ7\\0®¡«\\0ß1\\0\\0®¡\\0\\fûÚ\\0dMf\\0í·\\0)e0\\0WV¿\\0Gÿ:\\0jù¹\\0u¾ó\\0(“ß\\0«€0\\0fŒö\\0Ë\\0ú\"\\0Ùä\\0=³¤\\0W\\x1B\\x006Í \\0NBé\\0¾¤\\x003#µ\\0ðª\\0Oe¨\\0ÒÁ¥\\0\\v?\\0[xÍ\\0#ùv\\0{‹\\0‰r\\0ƦS\\0onâ\\0ïë\\0\\0›JX\\0ÄÚ·\\0ªfº\\0vÏÏ\\0Ñ\\0±ñ-\\0Œ™Á\\0íw\\0†HÚ\\0÷]\\xA0\\0ƀô\\0¬ð/\\0Ýìš\\0?\\\\¼\\0ÐÞm\\0Ç\\0*Û¶\\0£%:\\0\\0¯š\\0­S“\\0¶W\\0)-´\\0K€~\\0Ú\\x07§\\0vª\\0{Y¡\\0*\\0Ü·-\\0úåý\\0‰Ûþ\\0‰¾ý\\0ävl\\0©ü\\0>€p\\0…n\\0ý‡ÿ\\0(>\\x07\\0ag3\\0*†\\0M½ê\\0³ç¯\\0mn\\0•g9\\x001¿[\\0„×H\\x000ß\\0Ç-C\\0%a5\\0ÉpÎ\\x000˸\\0¿lý\\0¤\\0¢\\0lä\\0ZÝ\\xA0\\0!oG\\0bÒ\\0¹\\\\„\\0paI\\0kVà\\0™R\\0PU7\\0Õ·\\x003ñÄ\\0n_\\0]0ä\\0….©\\0²Ã\\0¡26\\0\\b·¤\\0ê±Ô\\0÷!\\0iä\\0'ÿw\\0\\f€\\0@-\\0OÍ\\xA0\\0 ¥™\\0³¢Ó\\0/]\n\\0´ùB\\0ÚË\\0}¾Ð\\0›ÛÁ\\0«½\\0Ê¢\\0\\bj\\\\\\0.U\\0'\\0U\\0ð\\0á\\x07†\\0\\vd\\0–A\\0‡¾Þ\\0Úý*\\0k%¶\\0{‰4\\0óþ\\0¹¿ž\\0hjO\\0J*¨\\0OÄZ\\0-ø¼\\0×Z˜\\0ôǕ\\0\\rM\\0 :¦\\0¤W_\\0?±\\0€8•\\0Ì \\0q݆\\0ÉÞ¶\\0¿\\`õ\\0Me\\0\\x07k\\0Œ°¬\\0²ÀÐ\\0QUH\\0û\\0•rÃ\\0£;\\0À@5\\0Ü{\\0àEÌ\\0N)ú\\0ÖÊÈ\\0èóA\\0|dÞ\\0›dØ\\0Ù¾1\\0¤—Ã\\0wXÔ\\0iãÅ\\0ðÚ\\0º:<\\0FF\\0Uu_\\0Ò½õ\\0n’Æ\\0¬.]\\0Dí\\0>B\\0ać\\0)ýé\\0çÖó\\0\"|Ê\\0o‘5\\0\\bàÅ\\0ÿ׍\\0njâ\\0°ýÆ\\0“\\bÁ\\0|]t\\0k­²\\0Ín\\0>r{\\0Æj\\0÷Ï©\\0)sß\\0µÉº\\0·\\0Q\\0â²\\r\\0tº$\\0å}\\`\\0t؊\\0\\r,\\0\\f\\0~f”\\0)\\0Ÿzv\\0ýý¾\\0VEï\\0Ù~6\\0ìÙ\\0‹º¹\\0ėü\\x001¨'\\0ñnÃ\\0”Å6\\0بV\\0´¨µ\\0ÏÌ\\0‰-\\0oW4\\0,V‰\\0™Îã\\0Ö ¹\\0k^ª\\0>*œ\\0_Ì\\0ý\\vJ\\0áôû\\0Ž;m\\0â†,\\0éԄ\\0ü´©\\0ïîÑ\\0.5É\\0/9a\\x008!D\\0\\x1BÙÈ\\0ü\n\\0ûJj\\0/Ø\\0S´„\\0N™Œ\\0T\"Ì\\0*UÜ\\0ÀÆÖ\\0\\v–\\0p¸\\0i•d\\0&Z\\`\\0?Rî\\0\\0ôµ\\0üËõ\\x004¼-\\x004¼î\\0è]Ì\\0Ý^\\`\\0gŽ›\\0’3ï\\0ɸ\\0aX›\\0áW¼\\0QƒÆ\\0Ø>\\0ÝqH\\0-Ý\\0¯¡\\0!,F\\0Yó×\\0Ùz˜\\0žTÀ\\0O†ú\\0Vü\\0åy®\\0‰\"6\\x008­\"\\0g“Ü\\0Uèª\\0‚&8\\0Êç›\\0Q\\r¤\\0™3±\\0©×\\0iH\\0e²ð\\0ˆ§\\0ˆL—\\0ùÑ6\\0!’³\\0{‚J\\0˜Ï!\\0@ŸÜ\\0ÜGU\\0át:\\0gëB\\0þß\\0^Ô_\\0{g¤\\0º¬z\\0Uö¢\\0+ˆ#\\0AºU\\0Yn\\b\\0!*†\\x009Gƒ\\0‰ãæ\\0åžÔ\\0Iû@\\0ÿVé\\0Ê\\0ÅYŠ\\0”ú+\\0ÓÁÅ\\0ÅÏ\\0ÛZ®\\0Gņ\\0…Cb\\0!†;\\0,y”\\0a‡\\0*L{\\0€,\\0C¿\\0ˆ&\\0x<‰\\0¨Ää\\0åÛ{\\0Ä:Â\\0&ôê\\0÷gŠ\\0\\r’¿\\0e£+\\0=“±\\0½|\\v\\0¤QÜ\\0'Ýc\\0iáÝ\\0š”\\0¨)•\\0hÎ(\\0 í´\\0DŸ \\0N˜Ê\\0p‚c\\0~|#\\0¹2\\0§õŽ\\0Vç\\0!ñ\\b\\0µ*\\0o~M\\0¥Q\\0µù«\\0‚ßÖ\\0–Ýa\\06\\0Ä:Ÿ\\0ƒ¢¡\\0rím\\x009z\\0‚¸©\\0k2\\\\\\0F'[\\0\\x004í\\0Ò\\0w\\0üôU\\0YM\\0àq€\\0Aƒ \\v=@û!ù?\\0\\0\\0\\0-Dt>\\0\\0\\0€˜Fø<\\0\\0\\0\\`QÌx;\\0\\0\\0€ƒ\\x1Bð9\\0\\0\\0@ %z8\\0\\0\\0€\"‚ã6\\0\\0\\0\\0ói5\\0AÀ \\v@`)}function _(e){return e}function v(e,t){var n,r=_(e);return n=new WebAssembly.Module(r),[new WebAssembly.Instance(n,t),n]}function y(){return{a:P}}function b(){function e(e,t){return I=e.exports,N(I),d(),I}var t=y();return n.instantiateWasm?new Promise((r,i)=>{n.instantiateWasm(t,(t,n)=>{r(e(t,n))})}):(h??=g(),e(v(h,t)[0]))}for(var x=e=>{for(;e.length>0;)e.shift()(n)},S=[],C=e=>S.push(e),w=[],T=e=>w.push(e),E=()=>2147483648,D=(e,t)=>Math.ceil(e/t)*t,O=e=>{var t=(e-M.buffer.byteLength+65535)/65536|0;try{return M.grow(t),d(),1}catch{}},k=e=>{var t=l.length;e>>>=0;var n=E();if(e>n)return!1;for(var r=1;r<=4;r*=2){var i=t*(1+.2/r);if(i=Math.min(i,e+100663296),O(Math.min(n,D(Math.max(e,i),65536))))return!0}return!1},A=new Uint8Array(123),j=25;j>=0;--j)A[48+j]=52+j,A[65+j]=j,A[97+j]=26+j;if(A[43]=62,A[47]=63,n.noExitRuntime&&n.noExitRuntime,n.print&&n.print,n.printErr&&n.printErr,n.wasmBinary&&n.wasmBinary,n.arguments&&n.arguments,n.thisProgram&&n.thisProgram,n.preInit)for(typeof n.preInit==`function`&&(n.preInit=[n.preInit]);n.preInit.length>0;)n.preInit.shift()();var M;function N(e){n._pack=e.d,n._malloc=e.e,n._free=e.f,M=e.b,e.__indirect_function_table}var P={a:k};function F(){f();function e(){n.calledRun=!0,!o&&(p(),c?.(n),n.onRuntimeInitialized?.(),m())}n.setStatus?(n.setStatus(`Running...`),setTimeout(()=>{setTimeout(()=>n.setStatus(``),1),e()},1)):e()}var I=b();return F(),t=u?n:new Promise((e,t)=>{c=e}),t}let n;function r(){return e(this,void 0,void 0,function*(){n=yield t()})}let i=0,a=[],o=!1,s=!1,c,l,u,d,f,p,m,h,g,_=t=>e(void 0,void 0,void 0,function*(){for(;s;)yield new Promise(e=>setTimeout(e,0));n||(s=!0,yield r(),s=!1);let e=2**Math.ceil(Math.log2(t.vertexCount));e>i&&(i>0&&(n._free(c),n._free(l),n._free(u),n._free(d),n._free(f),n._free(p),n._free(m),n._free(h),n._free(g)),i=e,c=n._malloc(3*i*4),l=n._malloc(4*i*4),u=n._malloc(3*i*4),d=n._malloc(4*i),f=n._malloc(i),p=n._malloc(8*i*4),m=n._malloc(3*i*4),h=n._malloc(4*i*4),g=n._malloc(3*i*4)),n.HEAPF32.set(t.positions,c/4),n.HEAPF32.set(t.rotations,l/4),n.HEAPF32.set(t.scales,u/4),n.HEAPU8.set(t.colors,d),n.HEAPU8.set(t.selection,f),n._pack(t.selected,t.vertexCount,c,l,u,d,f,p,m,h,g);let a=new Uint32Array(n.HEAPU32.buffer,p,t.vertexCount*8),_=new Uint32Array(a.slice().buffer),v=new Float32Array(n.HEAPF32.buffer,m,t.vertexCount*3),y=new Float32Array(v.slice().buffer),b=new Float32Array(n.HEAPF32.buffer,h,t.vertexCount*4),x=new Float32Array(b.slice().buffer),S=new Float32Array(n.HEAPF32.buffer,g,t.vertexCount*3),C={data:_,worldPositions:y,worldRotations:x,worldScales:new Float32Array(S.slice().buffer),offset:t.offset,vertexCount:t.vertexCount,positions:t.positions.buffer,rotations:t.rotations.buffer,scales:t.scales.buffer,colors:t.colors.buffer,selection:t.selection.buffer};self.postMessage({response:C},[C.data.buffer,C.worldPositions.buffer,C.worldRotations.buffer,C.worldScales.buffer,C.positions,C.rotations,C.scales,C.colors,C.selection]),o=!1}),v=()=>{a.length!==0&&(o||(o=!0,_(a.shift()),setTimeout(()=>{o=!1,v()},0)))};self.onmessage=e=>new Promise((t,n)=>{if(e.data.splat){let n=e.data.splat;for(let e=0;e<a.length;e++)if(a[e].offset===n.offset){a[e]=n,t(!0);return}a.push(n),v(),t(!0)}})})();", dy = typeof self < "u" && self.Blob && new Blob(["(self.URL || self.webkitURL).revokeObjectURL(self.location.href);", uy], { type: "text/javascript;charset=utf-8" });
25669
- function fy(e) {
25682
+ var fy = "(function(){function e(e,t,n,r){function i(e){return e instanceof n?e:new n(function(t){t(e)})}return new(n||=Promise)(function(n,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function s(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){e.done?n(e.value):i(e.value).then(o,s)}c((r=r.apply(e,t||[])).next())})}async function t(e={}){var t,n=e,r=!1,i=!0,a=self.location.href;if(r||i)try{new URL(`.`,a).href}catch{}console.log.bind(console),console.error.bind(console);var o=!1;function s(e){for(var t=0,n=e.length,r=new Uint8Array(n),i;t<n;++t)i=e.charCodeAt(t),r[t]=~i>>8&i;return r}var c,l,u=!1;function d(){var e=M.buffer;new Int8Array(e),new Int16Array(e),n.HEAPU8=l=new Uint8Array(e),new Uint16Array(e),new Int32Array(e),n.HEAPU32=new Uint32Array(e),n.HEAPF32=new Float32Array(e),new Float64Array(e),new BigInt64Array(e),new BigUint64Array(e)}function f(){if(n.preRun)for(typeof n.preRun==`function`&&(n.preRun=[n.preRun]);n.preRun.length;)T(n.preRun.shift());x(w)}function p(){u=!0,I.c()}function m(){if(n.postRun)for(typeof n.postRun==`function`&&(n.postRun=[n.postRun]);n.postRun.length;)C(n.postRun.shift());x(S)}var h;function g(){return s(`\\0asm\\0\\0\\00\\b\\`\\`}}\\`|}\\`}\\`||\\`\\v\\0\\`\\0\\`\\0\\0\\x07aa\\0\\0\\r\\0\\0\\x07\\x07‚€€\\bAÀ¤\\v\\x07b\\0c\\0\\rd\\0\ne\\0\\ff\\0\\v\\f\núT\\rO| \\0 \\0¢\"\\0 \\0 \\0¢\"¢ \\0DiPîàB“ù>¢D'è‡ÀV¿\\xA0¢ DB:áSU¥?¢ \\0D^\\fýÿÿß¿¢D\\0\\0\\0\\0\\0\\0ð?\\xA0\\xA0\\xA0¶\\vT~@AÀ (\\0\"­ \\0­B\\x07|Bøÿÿÿƒ|\"BÿÿÿÿX@ §\"\\0?\\0AtM\\r \\0\\0\\r\\vAÄ A06\\0A\\vAÀ \\x006\\0 \\vK| \\0 \\0 \\0¢\"¢\"  ¢¢ D§F;Œ‡ÍÆ>¢DtçÊâù\\0*¿\\xA0¢  D²ûn‰?¢Dw¬ËTUUÅ¿\\xA0¢ \\0\\xA0\\xA0¶\\v¨\\0@ A€\\bN@ \\0D\\0\\0\\0\\0\\0\\0à¢!\\0 AÿI@ Aÿ\\x07k!\\f\\v \\0D\\0\\0\\0\\0\\0\\0à¢!\\0Aý  AýO\\x1BAþk!\\f\\v AxJ\\r\\0 \\0D\\0\\0\\0\\0\\0\\0\\`¢!\\0 A¸pK@ AÉ\\x07j!\\f\\v \\0D\\0\\0\\0\\0\\0\\0\\`¢!\\0Aðh  AðhM\\x1BA’j!\\v \\0 Aÿ\\x07j­B4†¿¢\\v…} \\0¼\"AvAÿq\"A•M} Aý\\0M@ \\0C\\0\\0\\0\\0”\\v} \\0‹\"\\0C\\0\\0\\0K’C\\0\\0\\0˒ \\0“\"C\\0\\0\\0?^@ \\0 ’C\\0\\0€¿’\\f\\v \\0 ’\"\\0 C\\0\\0\\0¿_E\\r\\0 \\0C\\0\\0€?’\\v\"\\0Œ \\0 A\\0H\\x1B \\0\\v\\v!\\0 \\0C\\0\\0\\0\\0—C\\0\\0\\0\\0 \\0¼Aÿÿÿÿ\\x07qA€€€ü\\x07M\\x1B\\v+\\0 \\0 \\0 \\0CkÓ\\r¼”Cº/½’”Cuª*>’” \\0C®å4¿”C\\0\\0€?’•\\vÈ| \\0C\\`B¢\\r]A\\0AÿA}C\\0\\0\\0\\0 \\0¼\"A€€€üF\\r\\0@ A€€€ü\\x07kAÿÿÿ‡xM@ At\"E@#\\0Ak\"C\\0\\0€¿8\\f *\\fC\\0\\0\\0\\0•\\f\\v A€€€ü\\x07F\\r A€€€xI A\\0NqE@ \\0 \\0“\"\\0 \\0•\\f\\v \\0C\\0\\0\\0K”¼A€€€Ü\\0k!\\vAˆ\n+\\0  A€€Ìùk\"A€€€|qk¾» AvAðq\"+€\\b¢D\\0\\0\\0\\0\\0\\0ð¿\\xA0\" ¢\"¢A\n+\\0 ¢A˜\n+\\0\\xA0\\xA0 ¢ Au·A€\n+\\0¢ +ˆ\\b\\xA0 \\xA0\\xA0¶!\\0\\v \\0\\vC\\0\\0@A’C\\0\\0¨A•C\\0\\0~C”C\\0\\0€?’ü\\0\" AL\\x1B\" AÿN\\x1B\\vAÿq\\vr \\0¼\"Aÿÿÿq!@ AvAÿq\"E\\r\\0 Að\\0M@ A€€€rAñ\\0 kv!\\f\\v AK@A€ø!A\\0!\\f\\v A\ntA€€\\x07k!\\v  AvA€€qr A\\rvr\\v¬|\n}@  $G@  $A\\fl\"\\0Aj\"j*\\0!  \\0A\\bj\"j*\\0! \\0 \\bj \\0 j*\\0\"8\\0 \\b j 8\\0  \\bj 8\\0 $At\"\\x1Bj  \\x1Bj\"*\\x008\\0 $At\"Ar\"At\"j  j\"*\\x008\\0 Ar\"At\"%j  %j\" *\\x008\\0 Ar\"!At\"&j  &j\"\"*\\x008\\0 \\0 \nj \\0 j\"'*\\x008\\0  \nj  j\"(*\\x008\\0 \n j  j*\\0\"8\\0 \\x07 \\x1Bj  j-\\0\\0  j-\\0\\0A\\btr  j-\\0\\0Atr  !j-\\0\\0Atr6\\0 \\x07 j   Atr6\\0 *\\0\" ” \"*\\0\" ” *\\0\" ” *\\0\" ”’’’\"C\\0\\0\\0\\0^@  ‘\"•!  •!  •!  •!\\vC\\0\\0€?!C\\0\\0\\0\\0!C\\0\\0\\0\\0!} C\\0\\0\\0\\0]@ Œ! Œ! Œ! Œ!\\v C\\0\\0€? C\\0\\0€?]\\x1B\"¼\"Aÿÿÿÿ\\x07q\"\\0A€€€üO@C\\0\\0\\0\\0CÚI@ A\\0N\\x1B \\0A€€€üF\\rC\\0\\0\\0\\0  “•\\f\\v} \\0Aÿÿÿ÷M@CÚÉ? \\0A€€”I\\rCh!¢3   ”\\x07”“ “CÚÉ?’\\f\\v A\\0H@CÚÉ? C\\0\\0€?’C\\0\\0\\0?”\"‘\"  \\x07”Ch!¢³’’“\" ’\\f\\vC\\0\\0€? “C\\0\\0\\0?”\"‘\" \\x07”  ¼A€\\`q¾\" ”“  ’•’ ’\" ’\\v\\v\"!#\\0Ak\"$\\0@ ¼\"Aÿÿÿÿ\\x07q\"\\0Aڟ¤úM@ \\0A€€€ÌI\\r »!\\f\\v \\0AѧíƒM@ »!\\v \\0Aã—Û€M@ A\\0H@ \\vD-DTû!ù?\\xA0Œ!\\f\\v \\vD-DTû!ù¿\\xA0!\\f\\vD-DTû! ÀD-DTû! @ A\\0N\\x1B \\v\\xA0š!\\f\\v \\0AÕ㈇M@ \\0AßÛ¿…M@ »!\\v A\\0H@ \\vDÒ!3|Ù@\\xA0!\\f\\v \\vDÒ!3|ÙÀ\\xA0Œ!\\f\\vD-DTû!@D-DTû!À A\\0H\\x1B »\\xA0!\\f\\v \\0A€€€ü\\x07O@  “!\\f\\v#\\0Ak\"$\\0@ ¼\")Aÿÿÿÿ\\x07q\"\\0Aڟ¤îM@  »\"\\f \\fDƒÈÉm0_ä?¢D\\0\\0\\0\\0\\0\\x008C\\xA0D\\0\\0\\0\\0\\0\\x008Ã\\xA0\"\\vD\\0\\0\\0Pû!ù¿¢\\xA0 \\vDcba´Q¾¢\\xA0\"\\r9\\b \\vü!\\0 \\rD\\0\\0\\0\\`û!é¿c@  \\f \\vD\\0\\0\\0\\0\\0\\0ð¿\\xA0\"\\vD\\0\\0\\0Pû!ù¿¢\\xA0 \\vDcba´Q¾¢\\xA09\\b \\0Ak!\\0\\f\\v \\rD\\0\\0\\0\\`û!é?dE\\r  \\f \\vD\\0\\0\\0\\0\\0\\0ð?\\xA0\"\\vD\\0\\0\\0Pû!ù¿¢\\xA0 \\vDcba´Q¾¢\\xA09\\b \\0Aj!\\0\\f\\v \\0A€€€ü\\x07O@   “»9\\bA\\0!\\0\\f\\v  \\0 \\0AvA–k\"\\0Atk¾»9\\b A\\bj!\"A\\0!#\\0A°k\"$\\0 \\0 \\0AkAm\"A\\0 A\\0J\\x1B\"Ahlj!A\\xA0\n(\\0\"A\\0N@ Aj!\\0 !@ AÀj Atj A\\0H|D\\0\\0\\0\\0\\0\\0\\0\\0 At(°\n·\\v9\\0 Aj! Aj\" \\0G\\r\\0\\v\\v Ak!\\x1BA\\0!\\0 A\\0 A\\0J\\x1B!@A\\0!D\\0\\0\\0\\0\\0\\0\\0\\0!\\v@ \" Atj+\\0 AÀj \\0 kAtj+\\0¢ \\v\\xA0!\\v Aj\"AG\\r\\0\\v  \\0Atj \\v9\\0 \\0 F \\0Aj!\\0E\\r\\0\\vA/ k!*A0 k!# AtA°\nj!+ Ak!, !\\0@@  \\0Atj+\\0!\\vA\\0! \\0! \\0A\\0J@@ Aàj Atj \\vD\\0\\0\\0\\0\\0\\0p>¢ü·\"\\fD\\0\\0\\0\\0\\0\\0pÁ¢ \\v\\xA0ü6\\0  AtjA\\bk+\\0 \\f\\xA0!\\v Ak! Aj\" \\0G\\r\\0\\v\\v \\v \\x1B\"\\v \\vD\\0\\0\\0\\0\\0\\0À?¢œD\\0\\0\\0\\0\\0\\0 À¢\\xA0\"\\v \\vü\" ·¡!\\v@@@ \\x1BA\\0L\"-E@ \\0At j\" (Ü\"  #u\" #tk\"6Ü  j!  *u\\f\\v \\x1B\\r \\0At j(ÜAu\\v\"!A\\0L\\r\\f\\vA!! \\vD\\0\\0\\0\\0\\0\\0à?f\\r\\0A\\0!!\\f\\vA\\0!A\\0!A! \\0A\\0J@@ Aàj Atj\".(\\0!@ . Aÿÿÿ\\x07 E\\rA€€€\\b\\v k6\\0A!A\\0\\f\\vA\\0!A\\v! Aj\" \\0G\\r\\0\\v\\v@ -\\r\\0Aÿÿÿ!@@ ,\\0\\vAÿÿÿ!\\v \\0At j\" (Ü q6Ü\\v Aj! !AG\\r\\0D\\0\\0\\0\\0\\0\\0ð? \\v¡!\\vA!! \\r\\0 \\vD\\0\\0\\0\\0\\0\\0ð? \\x1B¡!\\v\\v \\vD\\0\\0\\0\\0\\0\\0\\0\\0a@A\\0! \\0!@ \\0 L\\r\\0@ Aàj Ak\"Atj(\\0 r!  J\\r\\0\\v E\\r\\0@ \\x1BAk!\\x1B Aàj \\0Ak\"\\0Atj(\\0E\\r\\0\\v\\f\\vA!@ \"Aj! Aàj  kAtj(\\0E\\r\\0\\v \\0 j!@ AÀj \\0Aj\"\\0Atj + \\0Atj(\\0·9\\0A\\0!D\\0\\0\\0\\0\\0\\0\\0\\0!\\v@ \" Atj+\\0 AÀj \\0 kAtj+\\0¢ \\v\\xA0!\\v Aj\"AG\\r\\0\\v  \\0Atj \\v9\\0 \\0 H\\r\\0\\v !\\0\\f\\v\\v@ \\vA k\"\\vD\\0\\0\\0\\0\\0\\0pAf@ Aàj \\0Atj \\vD\\0\\0\\0\\0\\0\\0p>¢ü\"·D\\0\\0\\0\\0\\0\\0pÁ¢ \\v\\xA0ü6\\0 \\0Aj!\\0 !\\x1B\\f\\v \\vü!\\v Aàj \\0Atj 6\\0\\vD\\0\\0\\0\\0\\0\\0ð? \\x1B!\\v \\0A\\0N@ \\0!@  \"Atj \\v Aàj Atj(\\0·¢9\\0 Ak! \\vD\\0\\0\\0\\0\\0\\0p>¢!\\v \\r\\0\\vA\\0! \\0!@    J\\x1B!\\x1B \\0 k!  Atj!\"A\\0!D\\0\\0\\0\\0\\0\\0\\0\\0!\\v@ At\"#+€ \" #j+\\0¢ \\v\\xA0!\\v  \\x1BG Aj!\\r\\0\\v A\\xA0j Atj \\v9\\0 Ak! \\0 G Aj!\\r\\0\\v\\vD\\0\\0\\0\\0\\0\\0\\0\\0!\\v \\0A\\0N@@ \\0\"Ak!\\0 \\v A\\xA0j Atj+\\0\\xA0!\\v \\r\\0\\v\\v  \\vš \\v !\\x1B9\\0 A°j$\\0 A\\x07q!\\0 +\\0!\\v )A\\0H@  \\vš9\\bA\\0 \\0k!\\0\\f\\v  \\v9\\b\\v Aj$\\0 +\\b!\\v@@@@ \\0AqAk\\0\\v \\v!\\f\\v \\v!\\f\\v \\vš!\\f\\v \\vŒ!\\v Aj$\\0 C½7†5^@  •!  •!  •!\\v ‹ ‹’ ‹’\"C\\0\\0\\0\\0^@  •!  •!  •!\\v@ C\\0\\0\\0\\0\\`@ !\\f\\vC\\0\\0€? ‹“\" Œ C\\0\\0\\0\\0\\`\\x1B!C\\0\\0€? ‹“\" Œ C\\0\\0\\0\\0\\`\\x1B!\\v C\\0\\0\\0?”C\\0\\0\\0?’C\\0\\0C”! \\x07 %j C\\0\\0\\0?”C\\0\\0\\0?’C\\0\\0C”C\\0\\0C–üAt  r C\\0\\0C–üAtr6\\0 '*\\0\\b!\\0 \\x07 &j \\0 (*\\0\\bA\\btr \\bAtr  ’CÛI@•C\\0\\0C”C\\0\\0C–üAtr6\\0 $Aj!$\\f\\v\\v\\vß\\v\\b@ \\0E\\r\\0 \\0A\\bk\" \\0Ak(\\0\"Axq\"\\0j!@ Aq\\r\\0 AqE\\r  (\\0\"k\"AØ (\\0I\\r \\0 j!\\0@@@AÜ (\\0 G@ (\\f! AÿM@  (\\b\"G\\rAÈ AÈ (\\0A~ Avwq6\\0\\f\\v (!\\x07  G@ (\\b\" 6\\f  6\\b\\f\\v (\" Aj (\"E\\r Aj\\v!@ ! \"Aj! (\"\\r\\0 Aj! (\"\\r\\0\\v A\\x006\\0\\f\\v (\"AqAG\\rAÐ \\x006\\0  A~q6  \\0Ar6  \\x006\\0\\v  6\\f  6\\b\\f\\vA\\0!\\v \\x07E\\r\\0@ (\"At\"(ø\" F@ Aø\"j 6\\0 \\rAÌ AÌ (\\0A~ wq6\\0\\f\\v@  \\x07(F@ \\x07 6\\f\\v \\x07 6\\v E\\r\\v  \\x076 (\"@  6  6\\v (\"E\\r\\0  6  6\\v  O\\r\\0 (\"AqE\\r\\0@@@@ AqE@Aà (\\0 F@Aà 6\\0AÔ AÔ (\\0 \\0j\"\\x006\\0  \\0Ar6 AÜ (\\0G\\rAÐ A\\x006\\0AÜ A\\x006\\0\\vAÜ (\\0\"\\x07 F@AÜ 6\\0AÐ AÐ (\\0 \\0j\"\\x006\\0  \\0Ar6 \\0 j \\x006\\0\\v Axq \\0j!\\0 (\\f! AÿM@ (\\b\" F@AÈ AÈ (\\0A~ Avwq6\\0\\f\\v  6\\f  6\\b\\f\\v (!\\b  G@ (\\b\" 6\\f  6\\b\\f\\v (\" Aj (\"E\\r Aj\\v!@ ! \"Aj! (\"\\r\\0 Aj! (\"\\r\\0\\v A\\x006\\0\\f\\v  A~q6  \\0Ar6 \\0 j \\x006\\0\\f\\vA\\0!\\v \\bE\\r\\0@ (\"At\"(ø\" F@ Aø\"j 6\\0 \\rAÌ AÌ (\\0A~ wq6\\0\\f\\v@  \\b(F@ \\b 6\\f\\v \\b 6\\v E\\r\\v  \\b6 (\"@  6  6\\v (\"E\\r\\0  6  6\\v  \\0Ar6 \\0 j \\x006\\0  \\x07G\\r\\0AÐ \\x006\\0\\v \\0AÿM@ \\0AøqAð j!AÈ (\\0\"A \\0Avt\"\\0qE@AÈ \\0 r6\\0 \\f\\v (\\b\\v!\\0  6\\b \\0 6\\f  6\\f  \\x006\\b\\vA! \\0Aÿÿÿ\\x07M@ \\0A& \\0A\\bvg\"kvAq AtrA>s!\\v  6 B\\x007 AtAø\"j!@AÌ (\\0\"A t\"qE@AÌ  r6\\0  6\\0A!A\\b\\f\\v \\0A AvkA\\0 AG\\x1Bt! (\\0!@ \"(Axq \\0F\\r Av! At!  Aqj\"(\"\\r\\0\\v  6A! !A\\b\\v!\\0 \"\\f\\v (\\b\" 6\\f  6\\bA!\\0A\\b!A\\0\\v!  j 6\\0  6\\f \\0 j 6\\0Aè Aè (\\0Ak\"\\0A \\0\\x1B6\\0\\v\\v¸'\\v#\\0Ak\"\n$\\0@@@@@@@@@@ \\0AôM@AÈ (\\0\"A \\0A\\vjAøq \\0A\\vI\\x1B\"Av\"\\0v\"Aq@@ AsAq \\0j\"At\"Að j\"\\0 (ø \"(\\b\"F@AÈ A~ wq6\\0\\f\\v  \\x006\\f \\0 6\\b\\v A\\bj!\\0  Ar6  j\" (Ar6\\f\\v\\v AÐ (\\0\"\\bM\\r @@A \\0t\"A\\0 kr  \\0tqh\"At\"Að j\" (ø \"\\0(\\b\"F@AÈ A~ wq\"6\\0\\f\\v  6\\f  6\\b\\v \\0 Ar6 \\0 j\"\\x07  k\"Ar6 \\0 j 6\\0 \\b@ \\bAxqAð j!AÜ (\\0! A \\bAvt\"qE@AÈ  r6\\0 \\f\\v (\\b\\v!  6\\b  6\\f  6\\f  6\\b\\v \\0A\\bj!\\0AÜ \\x076\\0AÐ 6\\0\\f\\v\\vAÌ (\\0\"\\vE\\r \\vhAt(ø\"\"(Axq k! !@@ (\"\\0E@ (\"\\0E\\r\\v \\0(Axq k\"   I\"\\x1B! \\0  \\x1B! \\0!\\f\\v\\v (!  (\\f\"\\0G@ (\\b\" \\x006\\f \\0 6\\b\\f\n\\v (\" Aj (\"E\\r Aj\\v!@ !\\x07 \"\\0Aj! \\0(\"\\r\\0 \\0Aj! \\0(\"\\r\\0\\v \\x07A\\x006\\0\\f \\vA! \\0A¿K\\r\\0 \\0A\\vj\"Axq!AÌ (\\0\"\\x07E\\r\\0A!\\bA\\0 k! \\0Aôÿÿ\\x07M@ A& A\\bvg\"\\0kvAq \\0AtkA>j!\\b\\v@@@ \\bAt(ø\"\"E@A\\0!\\0\\f\\vA\\0!\\0 A \\bAvkA\\0 \\bAG\\x1Bt!@@ (Axq k\" O\\r\\0 ! \"\\r\\0A\\0! !\\0\\f\\v \\0 (\"   AvAqj(\"F\\x1B \\0 \\x1B!\\0 At! \\r\\0\\v\\v \\0 rE@A\\0!A \\bt\"\\0A\\0 \\0kr \\x07q\"\\0E\\r \\0hAt(ø\"!\\0\\v \\0E\\r\\v@ \\0(Axq k\" I!   \\x1B! \\0  \\x1B! \\0(\"  \\0(\\v\"\\0\\r\\0\\v\\v E\\r\\0 AÐ (\\0 kO\\r\\0 (!\\b  (\\f\"\\0G@ (\\b\" \\x006\\f \\0 6\\b\\f\\b\\v (\" Aj (\"E\\r Aj\\v!@ ! \"\\0Aj! \\0(\"\\r\\0 \\0Aj! \\0(\"\\r\\0\\v A\\x006\\0\\f\\x07\\v AÐ (\\0\"M@AÜ (\\0!\\0@  k\"AO@ \\0 j\" Ar6 \\0 j 6\\0 \\0 Ar6\\f\\v \\0 Ar6 \\0 j\" (Ar6A\\0!A\\0!\\vAÐ 6\\0AÜ 6\\0 \\0A\\bj!\\0\\f \\v AÔ (\\0\"I@AÔ  k\"6\\0Aà Aà (\\0\"\\0 j\"6\\0  Ar6 \\0 Ar6 \\0A\\bj!\\0\\f \\vA\\0!\\0 A/j\"A\\xA0$(\\0@A¨$(\\0\\f\\vA¬$B7\\0A¤$B€\\xA0€€€€7\\0A\\xA0$ \nA\\fjApqAتժs6\\0A´$A\\x006\\0A„$A\\x006\\0A€ \\v\"j\"A\\0 k\"\\x07q\" M\\r\\bA€$(\\0\"@Aø#(\\0\"\\b j\" \\bM  Ir\\r \\v@A„$-\\0\\0AqE@@@@@Aà (\\0\"@Aˆ$!\\0@ \\0(\\0\"\\b M@  \\b \\0(jI\\r\\v \\0(\\b\"\\0\\r\\0\\v\\vA\\0\"AF\\r !A¤$(\\0\"\\0Ak\" q@  k  jA\\0 \\0kqj!\\v  M\\rA€$(\\0\"\\0@Aø#(\\0\" j\"\\x07 M \\0 \\x07Ir\\r\\v \"\\0 G\\r\\f\\v  k \\x07q\"\" \\0(\\0 \\0(jF\\r !\\0\\v \\0AF\\r A0j M@ \\0!\\f\\vA¨$(\\0\"  kjA\\0 kq\"AF\\r  j! \\0!\\f\\v AG\\r\\vA„$A„$(\\0Ar6\\0\\v \"AFA\\0\"\\0AFr \\0 Mr\\r \\0 k\" A(jM\\r\\vAø#Aø#(\\0 j\"\\x006\\0Aü#(\\0 \\0I@Aü# \\x006\\0\\v@Aà (\\0\"@Aˆ$!\\0@  \\0(\\0\" \\0(\"jF\\r \\0(\\b\"\\0\\r\\0\\v\\f\\vAØ (\\0\"\\0A\\0 \\0 M\\x1BE@AØ 6\\0\\vA\\0!\\0AŒ$ 6\\0Aˆ$ 6\\0Aè A6\\0Aì A\\xA0$(\\x006\\0A”$A\\x006\\0@ \\0At\" Að j\"6ø  6ü \\0Aj\"\\0A G\\r\\0\\vAÔ A(k\"\\0Ax kA\\x07q\"k\"6\\0Aà  j\"6\\0  Ar6 \\0 jA(6Aä A°$(\\x006\\0\\f\\v  M  Kr\\r \\0(\\fA\\bq\\r \\0  j6Aà Ax kA\\x07q\"\\0j\"6\\0AÔ AÔ (\\0 j\" \\0k\"\\x006\\0  \\0Ar6  jA(6Aä A°$(\\x006\\0\\f\\vA\\0!\\0\\f\\vA\\0!\\0\\f\\vAØ (\\0 K@AØ 6\\0\\v  j!Aˆ$!\\0@@  \\0(\\0\"G@ \\0(\\b\"\\0\\r\\f\\v\\v \\0-\\0\\fA\\bqE\\r\\vAˆ$!\\0@@ \\0(\\0\" M@   \\0(j\"I\\r\\v \\0(\\b!\\0\\f\\v\\vAÔ A(k\"\\0Ax kA\\x07q\"k\"\\x076\\0Aà  j\"6\\0  \\x07Ar6 \\0 jA(6Aä A°$(\\x006\\0  A' kA\\x07qjA/k\"\\0 \\0 AjI\\x1B\"A\\x1B6 A$)\\x007 Aˆ$)\\x007\\bA$ A\\bj6\\0AŒ$ 6\\0Aˆ$ 6\\0A”$A\\x006\\0 Aj!\\0@ \\0A\\x076 \\0A\\bj \\0Aj!\\0 I\\r\\0\\v  F\\r\\0  (A~q6   k\"Ar6  6\\0 AÿM@ AøqAð j!\\0AÈ (\\0\"A Avt\"qE@AÈ  r6\\0 \\0\\f\\v \\0(\\b\\v! \\0 6\\b  6\\fA\\f!A\\b\\f\\vA!\\0 Aÿÿÿ\\x07M@ A& A\\bvg\"\\0kvAq \\0AtrA>s!\\0\\v  \\x006 B\\x007 \\0AtAø\"j!@@AÌ (\\0\"A \\0t\"qE@AÌ  r6\\0  6\\0\\f\\v A \\0AvkA\\0 \\0AG\\x1Bt!\\0 (\\0!@ \"(Axq F\\r \\0Av! \\0At!\\0  Aqj\"(\"\\r\\0\\v  6\\v  6A\\b! \"!\\0A\\f\\f\\v (\\b\"\\0 6\\f  6\\b  \\x006\\bA\\0!\\0A!A\\f\\v j 6\\0  j \\x006\\0\\vAÔ (\\0\"\\0 M\\r\\0AÔ \\0 k\"6\\0Aà Aà (\\0\"\\0 j\"6\\0  Ar6 \\0 Ar6 \\0A\\bj!\\0\\f\\vAÄ A06\\0A\\0!\\0\\f\\v \\0 6\\0 \\0 \\0( j6 Ax kA\\x07qj\"\\b Ar6 Ax kA\\x07qj\"  \\bj\"k!\\x07@Aà (\\0 F@Aà 6\\0AÔ AÔ (\\0 \\x07j\"\\x006\\0  \\0Ar6\\f\\vAÜ (\\0 F@AÜ 6\\0AÐ AÐ (\\0 \\x07j\"\\x006\\0  \\0Ar6 \\0 j \\x006\\0\\f\\v (\"\\0AqAF@ \\0Axq! (\\f!@ \\0AÿM@ (\\b\" F@AÈ AÈ (\\0A~ \\0Avwq6\\0\\f\\v  6\\f  6\\b\\f\\v (!@  G@ (\\b\"\\0 6\\f  \\x006\\b\\f\\v@ (\"\\0 Aj (\"\\0E\\r Aj\\v!@ ! \\0\"Aj! \\0(\"\\0\\r\\0 Aj! (\"\\0\\r\\0\\v A\\x006\\0\\f\\vA\\0!\\v E\\r\\0@ (\"\\0At\"(ø\" F@ Aø\"j 6\\0 \\rAÌ AÌ (\\0A~ \\0wq6\\0\\f\\v@  (F@  6\\f\\v  6\\v E\\r\\v  6 (\"\\0@  \\x006 \\0 6\\v (\"\\0E\\r\\0  \\x006 \\0 6\\v \\x07 j!\\x07  j\"(!\\0\\v  \\0A~q6  \\x07Ar6  \\x07j \\x076\\0 \\x07AÿM@ \\x07AøqAð j!\\0AÈ (\\0\"A \\x07Avt\"qE@AÈ  r6\\0 \\0\\f\\v \\0(\\b\\v! \\0 6\\b  6\\f  \\x006\\f  6\\b\\f\\vA! \\x07Aÿÿÿ\\x07M@ \\x07A& \\x07A\\bvg\"\\0kvAq \\0AtrA>s!\\v  6 B\\x007 AtAø\"j!\\0@@AÌ (\\0\"A t\"qE@AÌ  r6\\0 \\0 6\\0\\f\\v \\x07A AvkA\\0 AG\\x1Bt! \\0(\\0!@ \"\\0(Axq \\x07F\\r Av! At! \\0 Aqj\"(\"\\r\\0\\v  6\\v  \\x006  6\\f  6\\b\\f\\v \\0(\\b\" 6\\f \\0 6\\b A\\x006  \\x006\\f  6\\b\\v \\bA\\bj!\\0\\f\\v@ \\bE\\r\\0@ (\"At\"(ø\" F@ Aø\"j \\x006\\0 \\0\\rAÌ \\x07A~ wq\"\\x076\\0\\f\\v@  \\b(F@ \\b \\x006\\f\\v \\b \\x006\\v \\0E\\r\\v \\0 \\b6 (\"@ \\0 6  \\x006\\v (\"E\\r\\0 \\0 6  \\x006\\v@ AM@   j\"\\0Ar6 \\0 j\"\\0 \\0(Ar6\\f\\v  Ar6  j\" Ar6  j 6\\0 AÿM@ AøqAð j!\\0AÈ (\\0\"A Avt\"qE@AÈ  r6\\0 \\0\\f\\v \\0(\\b\\v! \\0 6\\b  6\\f  \\x006\\f  6\\b\\f\\vA!\\0 Aÿÿÿ\\x07M@ A& A\\bvg\"\\0kvAq \\0AtrA>s!\\0\\v  \\x006 B\\x007 \\0AtAø\"j!@@ \\x07A \\0t\"qE@AÌ  \\x07r6\\0  6\\0  6\\f\\v A \\0AvkA\\0 \\0AG\\x1Bt!\\0 (\\0!@ \"(Axq F\\r \\0Av! \\0At!\\0  Aqj\"\\x07(\"\\r\\0\\v \\x07 6  6\\v  6\\f  6\\b\\f\\v (\\b\"\\0 6\\f  6\\b A\\x006  6\\f  \\x006\\b\\v A\\bj!\\0\\f\\v@ E\\r\\0@ (\"At\"(ø\" F@ Aø\"j \\x006\\0 \\0\\rAÌ \\vA~ wq6\\0\\f\\v@  (F@ \\x006\\f\\v \\x006\\v \\0E\\r\\v \\0 6 (\"@ \\0 6  \\x006\\v (\"E\\r\\0 \\0 6  \\x006\\v@ AM@   j\"\\0Ar6 \\0 j\"\\0 \\0(Ar6\\f\\v  Ar6  j\" Ar6  j 6\\0 \\b@ \\bAxqAð j!\\0AÜ (\\0!A \\bAvt\"\\x07 qE@AÈ  \\x07r6\\0 \\0\\f\\v \\0(\\b\\v! \\0 6\\b  6\\f  \\x006\\f  6\\b\\vAÜ 6\\0AÐ 6\\0\\v A\\bj!\\0\\v \nAj$\\0 \\0\\v\\0\\v\\vË\\0A€\\b\\v÷¾óøyìaö?ÞªŒ€÷{Õ¿=ˆ¯Jíqõ?ÛmÀ§ð¾Ò¿°ðð9•ô?g:Q®п…¸°•Éó?é$‚¦Ø1Ë¿¥dˆ\\f\\ró?XwÀ\nOWÆ¿\\xA0Ž\\v{\"^ò?\\0œÇ+ªÁ¿?4JJ»ñ?^ŒÎvNº¿ºåŠðX#ñ?ÌaZ<—±¿§\\0™A?•ð?\\fá8ôR¢¿\\0\\0\\0\\0\\0\\0ð?\\0\\0\\0\\0\\0\\0\\0\\0¬GšýŒ\\`î?„Yò]ª¥ª?\\xA0j³¤ì?´.6ªS^¼?æüjW6 ë?\\bÛ wå&Å?-ª¡cÑÂé?pG\"\\r†ÂË?íAxæ†è?á~\\xA0ȋÑ?bHSõÜgç? î¶W0Ô?ï9úþB.æ?4ƒ¸H£пj\\và\\v[WÕ?#A\nòþÿß¿\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0ƒù¢\\0DNn\\0ü)\\0ÑW'\\0Ý4õ\\0bÛÀ\\0<™•\\0AC\\0cQþ\\0»Þ«\\0·aÅ\\0:n$\\0ÒMB\\0Ià\\0 ê.\\0’Ñ\\0ëþ\\0)±\\0è>§\\0õ5‚\\0D».\\0œé„\\0´&p\\0A~_\\0֑9\\0Sƒ9\\0œô9\\0‹_„\\0(ù½\\0ø;\\0Þÿ—\\0˜\\0/ï\\0\nZ‹\\0mm\\0Ï~6\\0 Ë'\\0FO·\\0žf?\\0-ê_\\0º'u\\0åëÇ\\0={ñ\\0÷9\\x07\\0’RŠ\\0ûkê\\0±_\\0\\b]\\x000V\\0{üF\\0ð«k\\0 ¼Ï\\x006ôš\\0ã©\\0^a‘\\0\\b\\x1Bæ\\0…™e\\0\\xA0_\\0@h\\0€Øÿ\\0'sM\\01\\0ÊV\\0ɨs\\0{â\\`\\0kŒÀ\\0ÄG\\0ÍgÃ\\0 èÜ\\0Yƒ*\\0‹vÄ\\0¦–\\0D¯Ý\\0WÑ\\0¥>\\0\\x07ÿ\\x003~?\\0Â2è\\0˜OÞ\\0»}2\\0&=Ã\\0kï\\0Ÿø^\\x005:\\0òÊ\\0ñ‡\\0|!\\0j$|\\0Õnú\\x000-w\\0;C\\0µÆ\\0Ý\\0­ÄÂ\\0,MA\\0\\f\\0]\\0†}F\\0ãq-\\0›Æš\\x003b\\0\\0´Ò|\\0´§—\\x007UÕ\\0×>ö\\0£\\0Mvü\\0d*\\0p׫\\0c|ø\\0z°W\\0ç\\0ÀIV\\0;ÖÙ\\0§„8\\0$#Ë\\0֊w\\0ZT#\\0\\0¹\\0ñ\n\\x1B\\0Îß\\0Ÿ1ÿ\\0fj\\0™Wa\\0¬ûG\\0~Ø\\0\"e·\\x002è‰\\0æ¿\\`\\0ïÄÍ\\0l6 \\0]?Ô\\0Þ×\\0X;Þ\\0ޛ’\\0Ò\"(\\0(†è\\0âXM\\0ÆÊ2\\0\\bã\\0à}Ë\\0ÀP\\0ó§\\0à[\\0.4\\0ƒb\\0ƒH\\0õŽ[\\0­°\\0éò\\0HJC\\0gÓ\\0ªÝØ\\0®_B\\0jaÎ\\0\n(¤\\0ә´\\0¦ò\\0\\\\w\\0£Âƒ\\0a<ˆ\\0Šsx\\0¯ŒZ\\0o×½\\0-¦c\\0ô¿Ë\\0ï\\0&Ág\\0UÊE\\0ÊÙ6\\0(¨Ò\\0Âa\\0Éw\\0&\\0F›\\0ÄYÄ\\0ÈÅD\\0M²‘\\0\\0ó\\0ÔC­\\0)Iå\\0ýÕ\\0\\0¾ü\\0”Ì\\0pÎî\\0>õ\\0ìñ€\\0³çÃ\\0Çø(\\0“”\\0Áq>\\0. ³\\0\\vEó\\0ˆœ\\0« {\\0.µŸ\\0G’Â\\0{2/\\0\\fUm\\0r§\\0kç\\x001˖\\0yJ\\0Ayâ\\0ô߉\\0蔗\\0âæ„\\0™1—\\0ˆík\\0__6\\0»ý\\0Hš´\\0g¤l\\0qrB\\0]2\\0Ÿ¸\\0¼å \\01%\\0÷t9\\x000\\0\\r\\f\\0K\\bh\\0,îX\\0Gª\\0tç\\0½Ö$\\0÷}¦\\0nHr\\0Ÿï\\0Ž”¦\\0´‘ö\\0ÑSQ\\0Ï\nò\\0 ˜3\\0õK~\\0²ch\\0Ý>_\\0@]\\0…‰\\0UR)\\x007dÀ\\0mØ\\x002H2\\0[Lu\\0NqÔ\\0ETn\\0\\v Á\\0*õi\\0fÕ\\0'\\x07\\0]P\\0´;Û\\0êvÅ\\0‡ù\\0Ik}\\0'º\\0–i)\\0ÆÌ¬\\0­T\\0âj\\0ˆÙ‰\\0,rP\\0¤¾\\0w\\x07”\\0ó0p\\0\\0ü'\\0êq¨\\0fÂI\\0dà=\\0—݃\\0£?—\\0C”ý\\0\\r†Œ\\x001AÞ\\0’9\\0ÝpŒ\\0·ç\\0\\bß;\\07+\\0\\\\€\\xA0\\0Z€“\\0’\\0èØ\\0l€¯\\0ÛÿK\\x008\\0Yv\\0b¥\\0aË»\\0lj¹\\0@½\\0Òò\\0Iu'\\0ë¶ö\\0Û\"»\\0\nª\\0‰&/\\0dƒv\\0 ;3\\0”\\0Q:ª\\0£Â\\0¯í®\\0\\\\&\\0mÂM\\0-zœ\\0ÀV—\\0?ƒ\\0 ðö\\0+@Œ\\0m1™\\x009´\\x07\\0\\f \\0ØÃ[\\0õ’Ä\\0Æ­K\\0NÊ¥\\0§7Í\\0æ©6\\0«’”\\0ÝBh\\0cÞ\\0vŒï\\0h‹R\\0üÛ7\\0®¡«\\0ß1\\0\\0®¡\\0\\fûÚ\\0dMf\\0í·\\0)e0\\0WV¿\\0Gÿ:\\0jù¹\\0u¾ó\\0(“ß\\0«€0\\0fŒö\\0Ë\\0ú\"\\0Ùä\\0=³¤\\0W\\x1B\\x006Í \\0NBé\\0¾¤\\x003#µ\\0ðª\\0Oe¨\\0ÒÁ¥\\0\\v?\\0[xÍ\\0#ùv\\0{‹\\0‰r\\0ƦS\\0onâ\\0ïë\\0\\0›JX\\0ÄÚ·\\0ªfº\\0vÏÏ\\0Ñ\\0±ñ-\\0Œ™Á\\0íw\\0†HÚ\\0÷]\\xA0\\0ƀô\\0¬ð/\\0Ýìš\\0?\\\\¼\\0ÐÞm\\0Ç\\0*Û¶\\0£%:\\0\\0¯š\\0­S“\\0¶W\\0)-´\\0K€~\\0Ú\\x07§\\0vª\\0{Y¡\\0*\\0Ü·-\\0úåý\\0‰Ûþ\\0‰¾ý\\0ävl\\0©ü\\0>€p\\0…n\\0ý‡ÿ\\0(>\\x07\\0ag3\\0*†\\0M½ê\\0³ç¯\\0mn\\0•g9\\x001¿[\\0„×H\\x000ß\\0Ç-C\\0%a5\\0ÉpÎ\\x000˸\\0¿lý\\0¤\\0¢\\0lä\\0ZÝ\\xA0\\0!oG\\0bÒ\\0¹\\\\„\\0paI\\0kVà\\0™R\\0PU7\\0Õ·\\x003ñÄ\\0n_\\0]0ä\\0….©\\0²Ã\\0¡26\\0\\b·¤\\0ê±Ô\\0÷!\\0iä\\0'ÿw\\0\\f€\\0@-\\0OÍ\\xA0\\0 ¥™\\0³¢Ó\\0/]\n\\0´ùB\\0ÚË\\0}¾Ð\\0›ÛÁ\\0«½\\0Ê¢\\0\\bj\\\\\\0.U\\0'\\0U\\0ð\\0á\\x07†\\0\\vd\\0–A\\0‡¾Þ\\0Úý*\\0k%¶\\0{‰4\\0óþ\\0¹¿ž\\0hjO\\0J*¨\\0OÄZ\\0-ø¼\\0×Z˜\\0ôǕ\\0\\rM\\0 :¦\\0¤W_\\0?±\\0€8•\\0Ì \\0q݆\\0ÉÞ¶\\0¿\\`õ\\0Me\\0\\x07k\\0Œ°¬\\0²ÀÐ\\0QUH\\0û\\0•rÃ\\0£;\\0À@5\\0Ü{\\0àEÌ\\0N)ú\\0ÖÊÈ\\0èóA\\0|dÞ\\0›dØ\\0Ù¾1\\0¤—Ã\\0wXÔ\\0iãÅ\\0ðÚ\\0º:<\\0FF\\0Uu_\\0Ò½õ\\0n’Æ\\0¬.]\\0Dí\\0>B\\0ać\\0)ýé\\0çÖó\\0\"|Ê\\0o‘5\\0\\bàÅ\\0ÿ׍\\0njâ\\0°ýÆ\\0“\\bÁ\\0|]t\\0k­²\\0Ín\\0>r{\\0Æj\\0÷Ï©\\0)sß\\0µÉº\\0·\\0Q\\0â²\\r\\0tº$\\0å}\\`\\0t؊\\0\\r,\\0\\f\\0~f”\\0)\\0Ÿzv\\0ýý¾\\0VEï\\0Ù~6\\0ìÙ\\0‹º¹\\0ėü\\x001¨'\\0ñnÃ\\0”Å6\\0بV\\0´¨µ\\0ÏÌ\\0‰-\\0oW4\\0,V‰\\0™Îã\\0Ö ¹\\0k^ª\\0>*œ\\0_Ì\\0ý\\vJ\\0áôû\\0Ž;m\\0â†,\\0éԄ\\0ü´©\\0ïîÑ\\0.5É\\0/9a\\x008!D\\0\\x1BÙÈ\\0ü\n\\0ûJj\\0/Ø\\0S´„\\0N™Œ\\0T\"Ì\\0*UÜ\\0ÀÆÖ\\0\\v–\\0p¸\\0i•d\\0&Z\\`\\0?Rî\\0\\0ôµ\\0üËõ\\x004¼-\\x004¼î\\0è]Ì\\0Ý^\\`\\0gŽ›\\0’3ï\\0ɸ\\0aX›\\0áW¼\\0QƒÆ\\0Ø>\\0ÝqH\\0-Ý\\0¯¡\\0!,F\\0Yó×\\0Ùz˜\\0žTÀ\\0O†ú\\0Vü\\0åy®\\0‰\"6\\x008­\"\\0g“Ü\\0Uèª\\0‚&8\\0Êç›\\0Q\\r¤\\0™3±\\0©×\\0iH\\0e²ð\\0ˆ§\\0ˆL—\\0ùÑ6\\0!’³\\0{‚J\\0˜Ï!\\0@ŸÜ\\0ÜGU\\0át:\\0gëB\\0þß\\0^Ô_\\0{g¤\\0º¬z\\0Uö¢\\0+ˆ#\\0AºU\\0Yn\\b\\0!*†\\x009Gƒ\\0‰ãæ\\0åžÔ\\0Iû@\\0ÿVé\\0Ê\\0ÅYŠ\\0”ú+\\0ÓÁÅ\\0ÅÏ\\0ÛZ®\\0Gņ\\0…Cb\\0!†;\\0,y”\\0a‡\\0*L{\\0€,\\0C¿\\0ˆ&\\0x<‰\\0¨Ää\\0åÛ{\\0Ä:Â\\0&ôê\\0÷gŠ\\0\\r’¿\\0e£+\\0=“±\\0½|\\v\\0¤QÜ\\0'Ýc\\0iáÝ\\0š”\\0¨)•\\0hÎ(\\0 í´\\0DŸ \\0N˜Ê\\0p‚c\\0~|#\\0¹2\\0§õŽ\\0Vç\\0!ñ\\b\\0µ*\\0o~M\\0¥Q\\0µù«\\0‚ßÖ\\0–Ýa\\06\\0Ä:Ÿ\\0ƒ¢¡\\0rím\\x009z\\0‚¸©\\0k2\\\\\\0F'[\\0\\x004í\\0Ò\\0w\\0üôU\\0YM\\0àq€\\0Aƒ \\v=@û!ù?\\0\\0\\0\\0-Dt>\\0\\0\\0€˜Fø<\\0\\0\\0\\`QÌx;\\0\\0\\0€ƒ\\x1Bð9\\0\\0\\0@ %z8\\0\\0\\0€\"‚ã6\\0\\0\\0\\0ói5\\0AÀ \\v@`)}function _(e){return e}function v(e,t){var n,r=_(e);return n=new WebAssembly.Module(r),[new WebAssembly.Instance(n,t),n]}function y(){return{a:P}}function b(){function e(e,t){return I=e.exports,N(I),d(),I}var t=y();return n.instantiateWasm?new Promise((r,i)=>{n.instantiateWasm(t,(t,n)=>{r(e(t,n))})}):(h??=g(),e(v(h,t)[0]))}for(var x=e=>{for(;e.length>0;)e.shift()(n)},S=[],C=e=>S.push(e),w=[],T=e=>w.push(e),E=()=>2147483648,D=(e,t)=>Math.ceil(e/t)*t,O=e=>{var t=(e-M.buffer.byteLength+65535)/65536|0;try{return M.grow(t),d(),1}catch{}},k=e=>{var t=l.length;e>>>=0;var n=E();if(e>n)return!1;for(var r=1;r<=4;r*=2){var i=t*(1+.2/r);if(i=Math.min(i,e+100663296),O(Math.min(n,D(Math.max(e,i),65536))))return!0}return!1},A=new Uint8Array(123),j=25;j>=0;--j)A[48+j]=52+j,A[65+j]=j,A[97+j]=26+j;if(A[43]=62,A[47]=63,n.noExitRuntime&&n.noExitRuntime,n.print&&n.print,n.printErr&&n.printErr,n.wasmBinary&&n.wasmBinary,n.arguments&&n.arguments,n.thisProgram&&n.thisProgram,n.preInit)for(typeof n.preInit==`function`&&(n.preInit=[n.preInit]);n.preInit.length>0;)n.preInit.shift()();var M;function N(e){n._pack=e.d,n._malloc=e.e,n._free=e.f,M=e.b,e.__indirect_function_table}var P={a:k};function F(){f();function e(){n.calledRun=!0,!o&&(p(),c?.(n),n.onRuntimeInitialized?.(),m())}n.setStatus?(n.setStatus(`Running...`),setTimeout(()=>{setTimeout(()=>n.setStatus(``),1),e()},1)):e()}var I=b();return F(),t=u?n:new Promise((e,t)=>{c=e}),t}let n;function r(){return e(this,void 0,void 0,function*(){n=yield t()})}let i=0,a=[],o=!1,s=!1,c,l,u,d,f,p,m,h,g,_=t=>e(void 0,void 0,void 0,function*(){for(;s;)yield new Promise(e=>setTimeout(e,0));n||(s=!0,yield r(),s=!1);let e=2**Math.ceil(Math.log2(t.vertexCount));e>i&&(i>0&&(n._free(c),n._free(l),n._free(u),n._free(d),n._free(f),n._free(p),n._free(m),n._free(h),n._free(g)),i=e,c=n._malloc(3*i*4),l=n._malloc(4*i*4),u=n._malloc(3*i*4),d=n._malloc(4*i),f=n._malloc(i),p=n._malloc(8*i*4),m=n._malloc(3*i*4),h=n._malloc(4*i*4),g=n._malloc(3*i*4)),n.HEAPF32.set(t.positions,c/4),n.HEAPF32.set(t.rotations,l/4),n.HEAPF32.set(t.scales,u/4),n.HEAPU8.set(t.colors,d),n.HEAPU8.set(t.selection,f),n._pack(t.selected,t.vertexCount,c,l,u,d,f,p,m,h,g);let a=new Uint32Array(n.HEAPU32.buffer,p,t.vertexCount*8),_=new Uint32Array(a.slice().buffer),v=new Float32Array(n.HEAPF32.buffer,m,t.vertexCount*3),y=new Float32Array(v.slice().buffer),b=new Float32Array(n.HEAPF32.buffer,h,t.vertexCount*4),x=new Float32Array(b.slice().buffer),S=new Float32Array(n.HEAPF32.buffer,g,t.vertexCount*3),C={data:_,worldPositions:y,worldRotations:x,worldScales:new Float32Array(S.slice().buffer),offset:t.offset,vertexCount:t.vertexCount,positions:t.positions.buffer,rotations:t.rotations.buffer,scales:t.scales.buffer,colors:t.colors.buffer,selection:t.selection.buffer};self.postMessage({response:C},[C.data.buffer,C.worldPositions.buffer,C.worldRotations.buffer,C.worldScales.buffer,C.positions,C.rotations,C.scales,C.colors,C.selection]),o=!1}),v=()=>{a.length!==0&&(o||(o=!0,_(a.shift()),setTimeout(()=>{o=!1,v()},0)))};self.onmessage=e=>new Promise((t,n)=>{if(e.data.splat){let n=e.data.splat;for(let e=0;e<a.length;e++)if(a[e].offset===n.offset){a[e]=n,t(!0);return}a.push(n),v(),t(!0)}})})();", py = typeof self < "u" && self.Blob && new Blob(["(self.URL || self.webkitURL).revokeObjectURL(self.location.href);", fy], { type: "text/javascript;charset=utf-8" });
25683
+ function my(e) {
25670
25684
  let t;
25671
25685
  try {
25672
- if (t = dy && (self.URL || self.webkitURL).createObjectURL(dy), !t) throw "";
25686
+ if (t = py && (self.URL || self.webkitURL).createObjectURL(py), !t) throw "";
25673
25687
  let n = new Worker(t, { name: e == null ? void 0 : e.name });
25674
25688
  return n.addEventListener("error", () => {
25675
25689
  (self.URL || self.webkitURL).revokeObjectURL(t);
25676
25690
  }), n;
25677
25691
  } catch (t) {
25678
- return new Worker("data:text/javascript;charset=utf-8," + encodeURIComponent(uy), { name: e == null ? void 0 : e.name });
25692
+ return new Worker("data:text/javascript;charset=utf-8," + encodeURIComponent(fy), { name: e == null ? void 0 : e.name });
25679
25693
  }
25680
25694
  }
25681
25695
  //#endregion
25682
25696
  //#region \0@oxc-project+runtime@0.122.0/helpers/asyncToGenerator.js
25683
- function py(e, t, n, r, i, a, o) {
25697
+ function hy(e, t, n, r, i, a, o) {
25684
25698
  try {
25685
25699
  var s = e[a](o), c = s.value;
25686
25700
  } catch (e) {
@@ -25689,16 +25703,16 @@ function py(e, t, n, r, i, a, o) {
25689
25703
  }
25690
25704
  s.done ? t(c) : Promise.resolve(c).then(r, i);
25691
25705
  }
25692
- function my(e) {
25706
+ function gy(e) {
25693
25707
  return function() {
25694
25708
  var t = this, n = arguments;
25695
25709
  return new Promise(function(r, i) {
25696
25710
  var a = e.apply(t, n);
25697
25711
  function o(e) {
25698
- py(a, r, i, o, s, "next", e);
25712
+ hy(a, r, i, o, s, "next", e);
25699
25713
  }
25700
25714
  function s(e) {
25701
- py(a, r, i, o, s, "throw", e);
25715
+ hy(a, r, i, o, s, "throw", e);
25702
25716
  }
25703
25717
  o(void 0);
25704
25718
  });
@@ -25706,18 +25720,18 @@ function my(e) {
25706
25720
  }
25707
25721
  //#endregion
25708
25722
  //#region build/five/gaussian-splatting/wasm/data.js
25709
- function hy() {
25710
- return gy.apply(this, arguments);
25723
+ function _y() {
25724
+ return vy.apply(this, arguments);
25711
25725
  }
25712
- function gy() {
25713
- return gy = my(function* (e = {}) {
25726
+ function vy() {
25727
+ return vy = gy(function* (e = {}) {
25714
25728
  var t, n = e, r = !1, i = !0, a = import.meta.url;
25715
25729
  if (r || i) {
25716
25730
  try {
25717
25731
  new URL(".", a).href;
25718
25732
  } catch (e) {}
25719
25733
  (function() {
25720
- var e = my(function* (e) {
25734
+ var e = gy(function* (e) {
25721
25735
  var t = yield fetch(e, { credentials: "same-origin" });
25722
25736
  if (t.ok) return t.arrayBuffer();
25723
25737
  throw Error(t.status + " : " + t.url);
@@ -25812,21 +25826,21 @@ function gy() {
25812
25826
  return te(), t = u ? n : new Promise((e, t) => {
25813
25827
  c = e;
25814
25828
  }), t;
25815
- }), gy.apply(this, arguments);
25829
+ }), vy.apply(this, arguments);
25816
25830
  }
25817
25831
  //#endregion
25818
25832
  //#region build/five/gaussian-splatting/util/renderData.js
25819
- var _y = null;
25820
- function vy() {
25821
- return _y || (_y = hy()), _y;
25822
- }
25823
25833
  var yy = null;
25824
25834
  function by() {
25825
- return yy || (yy = new fy()), yy;
25835
+ return yy || (yy = _y()), yy;
25836
+ }
25837
+ var xy = null;
25838
+ function Sy() {
25839
+ return xy || (xy = new my()), xy;
25826
25840
  }
25827
- var xy = class {
25841
+ var Cy = class {
25828
25842
  static warmupWasm() {
25829
- vy();
25843
+ by();
25830
25844
  }
25831
25845
  constructor(e, t = 0) {
25832
25846
  this.dataChanged = !1, this.transformsChanged = !1, this.maxShDegree = 0, this.initialBuildComplete = !1, this.pendingInitialBuildCount = 0, this.sortDataReleased = !1, this.aggregatedDataReleased = !1, this.shDataReleased = !1, this.indexDataReleased = !1, this.disposed = !1, this.resolveReadyPromise = null, this.objectsInOrder = [], this.generation = t, this.readyPromise = new Promise((e) => {
@@ -25846,7 +25860,7 @@ var xy = class {
25846
25860
  }), this.maxShDegree = a, a >= 1 && (this.sh1 = new Float32Array(this.numPoints * 9)), a >= 2 && (this.sh2 = new Float32Array(this.numPoints * 15)), a >= 3 && (this.sh3 = new Float32Array(this.numPoints * 21)), e.forEach((e) => {
25847
25861
  let t = this.offsets.get(e);
25848
25862
  e.sh1 && this.sh1 && this.sh1.set(e.sh1, t * 9), e.sh2 && this.sh2 && this.sh2.set(e.sh2, t * 15), e.sh3 && this.sh3 && this.sh3.set(e.sh3, t * 21);
25849
- }), this.worker = by(), this.worker.onmessage = (e) => {
25863
+ }), this.worker = Sy(), this.worker.onmessage = (e) => {
25850
25864
  if (!this.disposed && e.data.response) {
25851
25865
  let t = e.data.response, n = i.get(t.offset);
25852
25866
  if (!n) return;
@@ -25855,7 +25869,7 @@ var xy = class {
25855
25869
  for (let e = 0; e < n.numPoints; e++) this.transformIndices[t.offset + e] = r, this.layerIndices[t.offset + e] = a;
25856
25870
  this.data.set(t.data, t.offset * 4), n.reattach(t.positions, t.rotations, t.scales, t.colors, t.selection), this.positions.set(t.worldPositions, t.offset * 3), this.rotations.set(t.worldRotations, t.offset * 4), this.scales.set(t.worldScales, t.offset * 3), n.selectedChanged = !1, this.dataChanged = !0;
25857
25871
  }
25858
- }, vy().then((e) => {
25872
+ }, by().then((e) => {
25859
25873
  if (this.disposed) {
25860
25874
  this.completeInitialBuild();
25861
25875
  return;
@@ -25886,7 +25900,7 @@ var xy = class {
25886
25900
  rebuildSortData() {
25887
25901
  return Vo(this, void 0, void 0, function* () {
25888
25902
  if (!this.sortDataReleased || this.disposed) return;
25889
- let e = yield vy();
25903
+ let e = yield by();
25890
25904
  if (!this.disposed) {
25891
25905
  this.positions = new Float32Array(this.numPoints * 3), this.rotations = new Float32Array(this.numPoints * 4), this.scales = new Float32Array(this.numPoints * 3);
25892
25906
  for (let t of this.objectsInOrder) {
@@ -25913,7 +25927,7 @@ var xy = class {
25913
25927
  return Vo(this, void 0, void 0, function* () {
25914
25928
  if (this.disposed) return !1;
25915
25929
  if (e.length === 0) return !0;
25916
- let t = yield vy();
25930
+ let t = yield by();
25917
25931
  if (this.disposed) return !1;
25918
25932
  let n = this.numPoints, r = this.objectsInOrder.length, i = n + e.reduce((e, t) => e + t.numPoints, 0), a = r + e.length;
25919
25933
  this.numPoints = i, this.height = Math.ceil(this.numPoints / this.width), this.data = this.expandUint32Array(this.data, this.width * this.height * 4), this.transformsHeight = a, this.transforms = this.expandFloat32Array(this.transforms, this.transformsWidth * this.transformsHeight * 4), this.transformIndicesHeight = Math.ceil(this.numPoints / this.transformIndicesWidth), this.transformIndices = this.expandUint32Array(this.transformIndices, this.transformIndicesWidth * this.transformIndicesHeight), this.layerIndicesHeight = Math.ceil(this.numPoints / this.layerIndicesWidth), this.layerIndices = this.expandUint32Array(this.layerIndices, this.layerIndicesWidth * this.layerIndicesHeight), this.positions = this.expandFloat32Array(this.positions, this.numPoints * 3), this.rotations = this.expandFloat32Array(this.rotations, this.numPoints * 4), this.scales = this.expandFloat32Array(this.scales, this.numPoints * 3);
@@ -25966,26 +25980,26 @@ var xy = class {
25966
25980
  completeInitialBuild() {
25967
25981
  this.initialBuildComplete || (this.initialBuildComplete = !0), this.resolveReadyPromise && (this.resolveReadyPromise(), this.resolveReadyPromise = null);
25968
25982
  }
25969
- }, Sy = "(function(){function e(e,t,n,r){function i(e){return e instanceof n?e:new n(function(t){t(e)})}return new(n||=Promise)(function(n,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function s(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){e.done?n(e.value):i(e.value).then(o,s)}c((r=r.apply(e,t||[])).next())})}async function t(e={}){var t,n=e,r=!1,i=!0,a=self.location.href;if(r||i)try{new URL(`.`,a).href}catch{}console.log.bind(console),console.error.bind(console);var o=!1;function s(e){for(var t=0,n=e.length,r=new Uint8Array(n),i;t<n;++t)i=e.charCodeAt(t),r[t]=~i>>8&i;return r}var c,l,u=!1;function d(){var e=M.buffer;new Int8Array(e),new Int16Array(e),n.HEAPU8=l=new Uint8Array(e),new Uint16Array(e),new Int32Array(e),n.HEAPU32=new Uint32Array(e),n.HEAPF32=new Float32Array(e),new Float64Array(e),new BigInt64Array(e),new BigUint64Array(e)}function f(){if(n.preRun)for(typeof n.preRun==`function`&&(n.preRun=[n.preRun]);n.preRun.length;)T(n.preRun.shift());x(w)}function p(){u=!0,I.c()}function m(){if(n.postRun)for(typeof n.postRun==`function`&&(n.postRun=[n.postRun]);n.postRun.length;)C(n.postRun.shift());x(S)}var h;function g(){return s(`\\0asm\\0\\0\\0\\x1B\\`\\`\\0\\`\n\\`\\0\\0\\x07aa\\0\\0\\0\\0\\x07‚€€\\bA€Œ\\v\\x07b\\0c\\0d\\0e\\0f\\0\\f\nü9T~@A€\\b(\\0\"­ \\0­B\\x07|Bøÿÿÿƒ|\"BÿÿÿÿX@ §\"\\0?\\0AtM\\r \\0\\0\\r\\vA„\\bA06\\0A\\vA€\\b \\x006\\0 \\vß\\v\\b@ \\0E\\r\\0 \\0A\\bk\" \\0Ak(\\0\"Axq\"\\0j!@ Aq\\r\\0 AqE\\r  (\\0\"k\"A˜\\b(\\0I\\r \\0 j!\\0@@@Aœ\\b(\\0 G@ (\\f! AÿM@  (\\b\"G\\rAˆ\\bAˆ\\b(\\0A~ Avwq6\\0\\f\\v (!\\x07  G@ (\\b\" 6\\f  6\\b\\f\\v (\" Aj (\"E\\r Aj\\v!@ ! \"Aj! (\"\\r\\0 Aj! (\"\\r\\0\\v A\\x006\\0\\f\\v (\"AqAG\\rA\\b \\x006\\0  A~q6  \\0Ar6  \\x006\\0\\v  6\\f  6\\b\\f\\vA\\0!\\v \\x07E\\r\\0@ (\"At\"(¸\n F@ A¸\nj 6\\0 \\rAŒ\\bAŒ\\b(\\0A~ wq6\\0\\f\\v@  \\x07(F@ \\x07 6\\f\\v \\x07 6\\v E\\r\\v  \\x076 (\"@  6  6\\v (\"E\\r\\0  6  6\\v  O\\r\\0 (\"AqE\\r\\0@@@@ AqE@A\\xA0\\b(\\0 F@A\\xA0\\b 6\\0A”\\bA”\\b(\\0 \\0j\"\\x006\\0  \\0Ar6 Aœ\\b(\\0G\\rA\\bA\\x006\\0Aœ\\bA\\x006\\0\\vAœ\\b(\\0\"\\x07 F@Aœ\\b 6\\0A\\bA\\b(\\0 \\0j\"\\x006\\0  \\0Ar6 \\0 j \\x006\\0\\v Axq \\0j!\\0 (\\f! AÿM@ (\\b\" F@Aˆ\\bAˆ\\b(\\0A~ Avwq6\\0\\f\\v  6\\f  6\\b\\f\\v (!\\b  G@ (\\b\" 6\\f  6\\b\\f\\v (\" Aj (\"E\\r Aj\\v!@ ! \"Aj! (\"\\r\\0 Aj! (\"\\r\\0\\v A\\x006\\0\\f\\v  A~q6  \\0Ar6 \\0 j \\x006\\0\\f\\vA\\0!\\v \\bE\\r\\0@ (\"At\"(¸\n F@ A¸\nj 6\\0 \\rAŒ\\bAŒ\\b(\\0A~ wq6\\0\\f\\v@  \\b(F@ \\b 6\\f\\v \\b 6\\v E\\r\\v  \\b6 (\"@  6  6\\v (\"E\\r\\0  6  6\\v  \\0Ar6 \\0 j \\x006\\0  \\x07G\\r\\0A\\b \\x006\\0\\v \\0AÿM@ \\0AøqA°\\bj!Aˆ\\b(\\0\"A \\0Avt\"\\0qE@Aˆ\\b \\0 r6\\0 \\f\\v (\\b\\v!\\0  6\\b \\0 6\\f  6\\f  \\x006\\b\\vA! \\0Aÿÿÿ\\x07M@ \\0A& \\0A\\bvg\"kvAq AtrA>s!\\v  6 B\\x007 AtA¸\nj!@AŒ\\b(\\0\"A t\"qE@AŒ\\b  r6\\0  6\\0A!A\\b\\f\\v \\0A AvkA\\0 AG\\x1Bt! (\\0!@ \"(Axq \\0F\\r Av! At!  Aqj\"(\"\\r\\0\\v  6A! !A\\b\\v!\\0 \"\\f\\v (\\b\" 6\\f  6\\bA!\\0A\\b!A\\0\\v!  j 6\\0  6\\f \\0 j 6\\0A¨\\bA¨\\b(\\0Ak\"\\0A \\0\\x1B6\\0\\v\\v¸'\\v#\\0Ak\"\n$\\0@@@@@@@@@@ \\0AôM@Aˆ\\b(\\0\"A \\0A\\vjAøq \\0A\\vI\\x1B\"Av\"\\0v\"Aq@@ AsAq \\0j\"At\"A°\\bj\"\\0 (¸\\b\"(\\b\"F@Aˆ\\b A~ wq6\\0\\f\\v  \\x006\\f \\0 6\\b\\v A\\bj!\\0  Ar6  j\" (Ar6\\f\\v\\v A\\b(\\0\"\\bM\\r @@A \\0t\"A\\0 kr  \\0tqh\"At\"A°\\bj\" (¸\\b\"\\0(\\b\"F@Aˆ\\b A~ wq\"6\\0\\f\\v  6\\f  6\\b\\v \\0 Ar6 \\0 j\"\\x07  k\"Ar6 \\0 j 6\\0 \\b@ \\bAxqA°\\bj!Aœ\\b(\\0! A \\bAvt\"qE@Aˆ\\b  r6\\0 \\f\\v (\\b\\v!  6\\b  6\\f  6\\f  6\\b\\v \\0A\\bj!\\0Aœ\\b \\x076\\0A\\b 6\\0\\f\\v\\vAŒ\\b(\\0\"\\vE\\r \\vhAt(¸\n\"(Axq k! !@@ (\"\\0E@ (\"\\0E\\r\\v \\0(Axq k\"   I\"\\x1B! \\0  \\x1B! \\0!\\f\\v\\v (!  (\\f\"\\0G@ (\\b\" \\x006\\f \\0 6\\b\\f\n\\v (\" Aj (\"E\\r Aj\\v!@ !\\x07 \"\\0Aj! \\0(\"\\r\\0 \\0Aj! \\0(\"\\r\\0\\v \\x07A\\x006\\0\\f \\vA! \\0A¿K\\r\\0 \\0A\\vj\"Axq!AŒ\\b(\\0\"\\x07E\\r\\0A!\\bA\\0 k! \\0Aôÿÿ\\x07M@ A& A\\bvg\"\\0kvAq \\0AtkA>j!\\b\\v@@@ \\bAt(¸\n\"E@A\\0!\\0\\f\\vA\\0!\\0 A \\bAvkA\\0 \\bAG\\x1Bt!@@ (Axq k\" O\\r\\0 ! \"\\r\\0A\\0! !\\0\\f\\v \\0 (\"   AvAqj(\"F\\x1B \\0 \\x1B!\\0 At! \\r\\0\\v\\v \\0 rE@A\\0!A \\bt\"\\0A\\0 \\0kr \\x07q\"\\0E\\r \\0hAt(¸\n!\\0\\v \\0E\\r\\v@ \\0(Axq k\" I!   \\x1B! \\0  \\x1B! \\0(\"  \\0(\\v\"\\0\\r\\0\\v\\v E\\r\\0 A\\b(\\0 kO\\r\\0 (!\\b  (\\f\"\\0G@ (\\b\" \\x006\\f \\0 6\\b\\f\\b\\v (\" Aj (\"E\\r Aj\\v!@ ! \"\\0Aj! \\0(\"\\r\\0 \\0Aj! \\0(\"\\r\\0\\v A\\x006\\0\\f\\x07\\v A\\b(\\0\"M@Aœ\\b(\\0!\\0@  k\"AO@ \\0 j\" Ar6 \\0 j 6\\0 \\0 Ar6\\f\\v \\0 Ar6 \\0 j\" (Ar6A\\0!A\\0!\\vA\\b 6\\0Aœ\\b 6\\0 \\0A\\bj!\\0\\f \\v A”\\b(\\0\"I@A”\\b  k\"6\\0A\\xA0\\bA\\xA0\\b(\\0\"\\0 j\"6\\0  Ar6 \\0 Ar6 \\0A\\bj!\\0\\f \\vA\\0!\\0 A/j\"Aà\\v(\\0@Aè\\v(\\0\\f\\vAì\\vB7\\0Aä\\vB€\\xA0€€€€7\\0Aà\\v \nA\\fjApqAتժs6\\0Aô\\vA\\x006\\0AÄ\\vA\\x006\\0A€ \\v\"j\"A\\0 k\"\\x07q\" M\\r\\bAÀ\\v(\\0\"@A¸\\v(\\0\"\\b j\" \\bM  Ir\\r \\v@AÄ\\v-\\0\\0AqE@@@@@A\\xA0\\b(\\0\"@AÈ\\v!\\0@ \\0(\\0\"\\b M@  \\b \\0(jI\\r\\v \\0(\\b\"\\0\\r\\0\\v\\vA\\0\"AF\\r !Aä\\v(\\0\"\\0Ak\" q@  k  jA\\0 \\0kqj!\\v  M\\rAÀ\\v(\\0\"\\0@A¸\\v(\\0\" j\"\\x07 M \\0 \\x07Ir\\r\\v \"\\0 G\\r\\f\\v  k \\x07q\"\" \\0(\\0 \\0(jF\\r !\\0\\v \\0AF\\r A0j M@ \\0!\\f\\vAè\\v(\\0\"  kjA\\0 kq\"AF\\r  j! \\0!\\f\\v AG\\r\\vAÄ\\vAÄ\\v(\\0Ar6\\0\\v \"AFA\\0\"\\0AFr \\0 Mr\\r \\0 k\" A(jM\\r\\vA¸\\vA¸\\v(\\0 j\"\\x006\\0A¼\\v(\\0 \\0I@A¼\\v \\x006\\0\\v@A\\xA0\\b(\\0\"@AÈ\\v!\\0@  \\0(\\0\" \\0(\"jF\\r \\0(\\b\"\\0\\r\\0\\v\\f\\vA˜\\b(\\0\"\\0A\\0 \\0 M\\x1BE@A˜\\b 6\\0\\vA\\0!\\0AÌ\\v 6\\0AÈ\\v 6\\0A¨\\bA6\\0A¬\\bAà\\v(\\x006\\0AÔ\\vA\\x006\\0@ \\0At\" A°\\bj\"6¸\\b  6¼\\b \\0Aj\"\\0A G\\r\\0\\vA”\\b A(k\"\\0Ax kA\\x07q\"k\"6\\0A\\xA0\\b  j\"6\\0  Ar6 \\0 jA(6A¤\\bAð\\v(\\x006\\0\\f\\v  M  Kr\\r \\0(\\fA\\bq\\r \\0  j6A\\xA0\\b Ax kA\\x07q\"\\0j\"6\\0A”\\bA”\\b(\\0 j\" \\0k\"\\x006\\0  \\0Ar6  jA(6A¤\\bAð\\v(\\x006\\0\\f\\vA\\0!\\0\\f\\vA\\0!\\0\\f\\vA˜\\b(\\0 K@A˜\\b 6\\0\\v  j!AÈ\\v!\\0@@  \\0(\\0\"G@ \\0(\\b\"\\0\\r\\f\\v\\v \\0-\\0\\fA\\bqE\\r\\vAÈ\\v!\\0@@ \\0(\\0\" M@   \\0(j\"I\\r\\v \\0(\\b!\\0\\f\\v\\vA”\\b A(k\"\\0Ax kA\\x07q\"k\"\\x076\\0A\\xA0\\b  j\"6\\0  \\x07Ar6 \\0 jA(6A¤\\bAð\\v(\\x006\\0  A' kA\\x07qjA/k\"\\0 \\0 AjI\\x1B\"A\\x1B6 AÐ\\v)\\x007 AÈ\\v)\\x007\\bAÐ\\v A\\bj6\\0AÌ\\v 6\\0AÈ\\v 6\\0AÔ\\vA\\x006\\0 Aj!\\0@ \\0A\\x076 \\0A\\bj \\0Aj!\\0 I\\r\\0\\v  F\\r\\0  (A~q6   k\"Ar6  6\\0 AÿM@ AøqA°\\bj!\\0Aˆ\\b(\\0\"A Avt\"qE@Aˆ\\b  r6\\0 \\0\\f\\v \\0(\\b\\v! \\0 6\\b  6\\fA\\f!A\\b\\f\\vA!\\0 Aÿÿÿ\\x07M@ A& A\\bvg\"\\0kvAq \\0AtrA>s!\\0\\v  \\x006 B\\x007 \\0AtA¸\nj!@@AŒ\\b(\\0\"A \\0t\"qE@AŒ\\b  r6\\0  6\\0\\f\\v A \\0AvkA\\0 \\0AG\\x1Bt!\\0 (\\0!@ \"(Axq F\\r \\0Av! \\0At!\\0  Aqj\"(\"\\r\\0\\v  6\\v  6A\\b! \"!\\0A\\f\\f\\v (\\b\"\\0 6\\f  6\\b  \\x006\\bA\\0!\\0A!A\\f\\v j 6\\0  j \\x006\\0\\vA”\\b(\\0\"\\0 M\\r\\0A”\\b \\0 k\"6\\0A\\xA0\\bA\\xA0\\b(\\0\"\\0 j\"6\\0  Ar6 \\0 Ar6 \\0A\\bj!\\0\\f\\vA„\\bA06\\0A\\0!\\0\\f\\v \\0 6\\0 \\0 \\0( j6 Ax kA\\x07qj\"\\b Ar6 Ax kA\\x07qj\"  \\bj\"k!\\x07@A\\xA0\\b(\\0 F@A\\xA0\\b 6\\0A”\\bA”\\b(\\0 \\x07j\"\\x006\\0  \\0Ar6\\f\\vAœ\\b(\\0 F@Aœ\\b 6\\0A\\bA\\b(\\0 \\x07j\"\\x006\\0  \\0Ar6 \\0 j \\x006\\0\\f\\v (\"\\0AqAF@ \\0Axq! (\\f!@ \\0AÿM@ (\\b\" F@Aˆ\\bAˆ\\b(\\0A~ \\0Avwq6\\0\\f\\v  6\\f  6\\b\\f\\v (!@  G@ (\\b\"\\0 6\\f  \\x006\\b\\f\\v@ (\"\\0 Aj (\"\\0E\\r Aj\\v!@ ! \\0\"Aj! \\0(\"\\0\\r\\0 Aj! (\"\\0\\r\\0\\v A\\x006\\0\\f\\vA\\0!\\v E\\r\\0@ (\"\\0At\"(¸\n F@ A¸\nj 6\\0 \\rAŒ\\bAŒ\\b(\\0A~ \\0wq6\\0\\f\\v@  (F@  6\\f\\v  6\\v E\\r\\v  6 (\"\\0@  \\x006 \\0 6\\v (\"\\0E\\r\\0  \\x006 \\0 6\\v \\x07 j!\\x07  j\"(!\\0\\v  \\0A~q6  \\x07Ar6  \\x07j \\x076\\0 \\x07AÿM@ \\x07AøqA°\\bj!\\0Aˆ\\b(\\0\"A \\x07Avt\"qE@Aˆ\\b  r6\\0 \\0\\f\\v \\0(\\b\\v! \\0 6\\b  6\\f  \\x006\\f  6\\b\\f\\vA! \\x07Aÿÿÿ\\x07M@ \\x07A& \\x07A\\bvg\"\\0kvAq \\0AtrA>s!\\v  6 B\\x007 AtA¸\nj!\\0@@AŒ\\b(\\0\"A t\"qE@AŒ\\b  r6\\0 \\0 6\\0\\f\\v \\x07A AvkA\\0 AG\\x1Bt! \\0(\\0!@ \"\\0(Axq \\x07F\\r Av! At! \\0 Aqj\"(\"\\r\\0\\v  6\\v  \\x006  6\\f  6\\b\\f\\v \\0(\\b\" 6\\f \\0 6\\b A\\x006  \\x006\\f  6\\b\\v \\bA\\bj!\\0\\f\\v@ \\bE\\r\\0@ (\"At\"(¸\n F@ A¸\nj \\x006\\0 \\0\\rAŒ\\b \\x07A~ wq\"\\x076\\0\\f\\v@  \\b(F@ \\b \\x006\\f\\v \\b \\x006\\v \\0E\\r\\v \\0 \\b6 (\"@ \\0 6  \\x006\\v (\"E\\r\\0 \\0 6  \\x006\\v@ AM@   j\"\\0Ar6 \\0 j\"\\0 \\0(Ar6\\f\\v  Ar6  j\" Ar6  j 6\\0 AÿM@ AøqA°\\bj!\\0Aˆ\\b(\\0\"A Avt\"qE@Aˆ\\b  r6\\0 \\0\\f\\v \\0(\\b\\v! \\0 6\\b  6\\f  \\x006\\f  6\\b\\f\\vA!\\0 Aÿÿÿ\\x07M@ A& A\\bvg\"\\0kvAq \\0AtrA>s!\\0\\v  \\x006 B\\x007 \\0AtA¸\nj!@@ \\x07A \\0t\"qE@AŒ\\b  \\x07r6\\0  6\\0  6\\f\\v A \\0AvkA\\0 \\0AG\\x1Bt!\\0 (\\0!@ \"(Axq F\\r \\0Av! \\0At!\\0  Aqj\"\\x07(\"\\r\\0\\v \\x07 6  6\\v  6\\f  6\\b\\f\\v (\\b\"\\0 6\\f  6\\b A\\x006  6\\f  \\x006\\b\\v A\\bj!\\0\\f\\v@ E\\r\\0@ (\"At\"(¸\n F@ A¸\nj \\x006\\0 \\0\\rAŒ\\b \\vA~ wq6\\0\\f\\v@  (F@ \\x006\\f\\v \\x006\\v \\0E\\r\\v \\0 6 (\"@ \\0 6  \\x006\\v (\"E\\r\\0 \\0 6  \\x006\\v@ AM@   j\"\\0Ar6 \\0 j\"\\0 \\0(Ar6\\f\\v  Ar6  j\" Ar6  j 6\\0 \\b@ \\bAxqA°\\bj!\\0Aœ\\b(\\0!A \\bAvt\"\\x07 qE@Aˆ\\b  \\x07r6\\0 \\0\\f\\v \\0(\\b\\v! \\0 6\\b  6\\f  \\x006\\f  6\\b\\vAœ\\b 6\\0A\\b 6\\0\\v A\\bj!\\0\\v \nAj$\\0 \\0\\v†\n}@ E@\\f\\vA!\\v@  \\fF@A\\0!\\f \\x07A\\0A€€ü\\v\\0 \\bA\\0A€€ü\\v\\0A\\0!\n@  \nF@A\\0!\n@ \nA€€F@A\\0!\n@  \nF@A\\0!A\\0!\n@ \nA€€F@A\\0!\n@ \n \\fF\\r\\v \\b  \nAtj(\\0\"\\0Atj(\\0AsAvAüÿqj\" (\\0\"Aj6\\0  Atj \\x006\\0 \nAj!\n\\f\\0\\v\\0 \\b \nAtj\"\\0(\\0 \\0 6\\0 \nAj!\n j!\\f\\v\\0\\v\\0\\v  \nAtj(\\0\"\\0A€€€ü\\x07G@ \\x07 \\0AsAÿÿqAtj\"\\0 \\0(\\0\"\\0Aj6\\0 \\0Atj \n6\\0\\v \nAj!\n\\f\\0\\v\\0 \\x07 \nAtj\"\\0(\\0 \\0 \\f6\\0 \nAj!\n \\fj!\\f\\f\\v\\0\\v\\0\\v  \nAtj(\\0\"\\0A€€€ü\\x07G@ \\x07 \\0As\"\\0AÿÿqAtj\" (\\0Aj6\\0 \\b \\0AvAüÿqj\"\\0 \\0(\\0Aj6\\0\\v \nAj!\n\\f\\0\\v\\0  \\fA\\flj\"\n*\\0! \n*\\b! \n*! \\v  \\fAt\"\\rj(\\0\"\nG@  \nAÐ\\0lj\"\\v*< \\0*8\"” \\v*8 \\0*(\"” \\v*0 \\0*\\b\"” \\0*\" \\v*4”’’’! \\v*, ” \\v*( ” \\v* ”  \\v*$”’’’! \\v* ” \\v* ” \\v* ”  \\v*”’’’! \\v*\\f ” \\v*\\b ” \\v*\\0 ” \\v* ”’’’! \n!\\v\\vA€€€ü\\x07!\n  \\rj   ”  ”  ”’’’\"C\\0\\0€\\\\ ¼\"\nAA€€€€x \nA\\0H\\x1BsA€€€ü\\x07\\v6\\0 \\fAj!\\f\\f\\v\\0\\v\\0\\v \\f\\v\\0\\v\\v \\0A\\b\\v`)}function _(e){return e}function v(e,t){var n,r=_(e);return n=new WebAssembly.Module(r),[new WebAssembly.Instance(n,t),n]}function y(){return{a:P}}function b(){function e(e,t){return I=e.exports,N(I),d(),I}var t=y();return n.instantiateWasm?new Promise((r,i)=>{n.instantiateWasm(t,(t,n)=>{r(e(t,n))})}):(h??=g(),e(v(h,t)[0]))}for(var x=e=>{for(;e.length>0;)e.shift()(n)},S=[],C=e=>S.push(e),w=[],T=e=>w.push(e),E=()=>2147483648,D=(e,t)=>Math.ceil(e/t)*t,O=e=>{var t=(e-M.buffer.byteLength+65535)/65536|0;try{return M.grow(t),d(),1}catch{}},k=e=>{var t=l.length;e>>>=0;var n=E();if(e>n)return!1;for(var r=1;r<=4;r*=2){var i=t*(1+.2/r);if(i=Math.min(i,e+100663296),O(Math.min(n,D(Math.max(e,i),65536))))return!0}return!1},A=new Uint8Array(123),j=25;j>=0;--j)A[48+j]=52+j,A[65+j]=j,A[97+j]=26+j;if(A[43]=62,A[47]=63,n.noExitRuntime&&n.noExitRuntime,n.print&&n.print,n.printErr&&n.printErr,n.wasmBinary&&n.wasmBinary,n.arguments&&n.arguments,n.thisProgram&&n.thisProgram,n.preInit)for(typeof n.preInit==`function`&&(n.preInit=[n.preInit]);n.preInit.length>0;)n.preInit.shift()();var M;function N(e){n._sort=e.d,n._malloc=e.e,n._free=e.f,M=e.b,e.__indirect_function_table}var P={a:k};function F(){f();function e(){n.calledRun=!0,!o&&(p(),c?.(n),n.onRuntimeInitialized?.(),m())}n.setStatus?(n.setStatus(`Running...`),setTimeout(()=>{setTimeout(()=>n.setStatus(``),1),e()},1)):e()}var I=b();return F(),t=u?n:new Promise((e,t)=>{c=e}),t}let n;function r(){return e(this,void 0,void 0,function*(){n=yield t()})}let i,a,o,s,c,l,u,d,f,p,m=0,h=0,g=!1,_=[],v=!0,y=!0,b=!1,x=!1,S=!1,C=65536,w=()=>e(void 0,void 0,void 0,function*(){if(b){x=!0;return}b=!0,x=!1,n||(yield r());let e=2**Math.ceil(Math.log2(i.vertexCount));m<e&&(m>0&&(n._free(a),n._free(s),n._free(c),n._free(l),n._free(u),n._free(p)),m=e,a=n._malloc(64),s=n._malloc(m*4),c=n._malloc(3*m*4),l=n._malloc(m*4),u=n._malloc(m*4),p=n._malloc(m*4)),g||=(d=n._malloc(C*4),f=n._malloc(C*4),!0),h<i.transforms.length&&(h>0&&n._free(o),h=i.transforms.length,o=n._malloc(h*4)),b=!1,x&&(x=!1,yield w())}),T=()=>{if(b||x||!n)return;b=!0,y&&=(n.HEAPF32.set(i.positions,c/4),n.HEAPF32.set(i.transforms,o/4),n.HEAPU32.set(i.transformIndices,s/4),!1),n.HEAPF32.set(new Float32Array(_),a/4);let e=n._sort(a,o,s,i.vertexCount,c,l,u,d,f,p),t=Math.min(e,i.vertexCount),r=new Uint32Array(n.HEAPU32.buffer,u,t),m=new Uint32Array(r.slice().buffer);self.postMessage({depthIndex:m,generation:i.generation},[m.buffer]),b=!1,v=!1},E=()=>{S||(S=!0,v&&T(),setTimeout(()=>{S=!1,E()}))};self.onmessage=e=>new Promise(t=>{if(e.data.warmup){r().finally(()=>t(!0));return}e.data.sortData&&(i={positions:e.data.sortData.positions,transforms:e.data.sortData.transforms,transformIndices:e.data.sortData.transformIndices,vertexCount:e.data.sortData.vertexCount,generation:e.data.sortData.generation??0},v=!0,y=!0,w()),e.data.viewProj?(e.data.viewProj.every(e=>_.includes(e))===!1&&(_=e.data.viewProj,v=!0),E(),t(!0)):t(!0)})})();", Cy = typeof self < "u" && self.Blob && new Blob(["(self.URL || self.webkitURL).revokeObjectURL(self.location.href);", Sy], { type: "text/javascript;charset=utf-8" });
25970
- function wy(e) {
25983
+ }, wy = "(function(){function e(e,t,n,r){function i(e){return e instanceof n?e:new n(function(t){t(e)})}return new(n||=Promise)(function(n,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function s(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){e.done?n(e.value):i(e.value).then(o,s)}c((r=r.apply(e,t||[])).next())})}async function t(e={}){var t,n=e,r=!1,i=!0,a=self.location.href;if(r||i)try{new URL(`.`,a).href}catch{}console.log.bind(console),console.error.bind(console);var o=!1;function s(e){for(var t=0,n=e.length,r=new Uint8Array(n),i;t<n;++t)i=e.charCodeAt(t),r[t]=~i>>8&i;return r}var c,l,u=!1;function d(){var e=M.buffer;new Int8Array(e),new Int16Array(e),n.HEAPU8=l=new Uint8Array(e),new Uint16Array(e),new Int32Array(e),n.HEAPU32=new Uint32Array(e),n.HEAPF32=new Float32Array(e),new Float64Array(e),new BigInt64Array(e),new BigUint64Array(e)}function f(){if(n.preRun)for(typeof n.preRun==`function`&&(n.preRun=[n.preRun]);n.preRun.length;)T(n.preRun.shift());x(w)}function p(){u=!0,I.c()}function m(){if(n.postRun)for(typeof n.postRun==`function`&&(n.postRun=[n.postRun]);n.postRun.length;)C(n.postRun.shift());x(S)}var h;function g(){return s(`\\0asm\\0\\0\\0\\x1B\\`\\`\\0\\`\n\\`\\0\\0\\x07aa\\0\\0\\0\\0\\x07‚€€\\bA€Œ\\v\\x07b\\0c\\0d\\0e\\0f\\0\\f\nü9T~@A€\\b(\\0\"­ \\0­B\\x07|Bøÿÿÿƒ|\"BÿÿÿÿX@ §\"\\0?\\0AtM\\r \\0\\0\\r\\vA„\\bA06\\0A\\vA€\\b \\x006\\0 \\vß\\v\\b@ \\0E\\r\\0 \\0A\\bk\" \\0Ak(\\0\"Axq\"\\0j!@ Aq\\r\\0 AqE\\r  (\\0\"k\"A˜\\b(\\0I\\r \\0 j!\\0@@@Aœ\\b(\\0 G@ (\\f! AÿM@  (\\b\"G\\rAˆ\\bAˆ\\b(\\0A~ Avwq6\\0\\f\\v (!\\x07  G@ (\\b\" 6\\f  6\\b\\f\\v (\" Aj (\"E\\r Aj\\v!@ ! \"Aj! (\"\\r\\0 Aj! (\"\\r\\0\\v A\\x006\\0\\f\\v (\"AqAG\\rA\\b \\x006\\0  A~q6  \\0Ar6  \\x006\\0\\v  6\\f  6\\b\\f\\vA\\0!\\v \\x07E\\r\\0@ (\"At\"(¸\n F@ A¸\nj 6\\0 \\rAŒ\\bAŒ\\b(\\0A~ wq6\\0\\f\\v@  \\x07(F@ \\x07 6\\f\\v \\x07 6\\v E\\r\\v  \\x076 (\"@  6  6\\v (\"E\\r\\0  6  6\\v  O\\r\\0 (\"AqE\\r\\0@@@@ AqE@A\\xA0\\b(\\0 F@A\\xA0\\b 6\\0A”\\bA”\\b(\\0 \\0j\"\\x006\\0  \\0Ar6 Aœ\\b(\\0G\\rA\\bA\\x006\\0Aœ\\bA\\x006\\0\\vAœ\\b(\\0\"\\x07 F@Aœ\\b 6\\0A\\bA\\b(\\0 \\0j\"\\x006\\0  \\0Ar6 \\0 j \\x006\\0\\v Axq \\0j!\\0 (\\f! AÿM@ (\\b\" F@Aˆ\\bAˆ\\b(\\0A~ Avwq6\\0\\f\\v  6\\f  6\\b\\f\\v (!\\b  G@ (\\b\" 6\\f  6\\b\\f\\v (\" Aj (\"E\\r Aj\\v!@ ! \"Aj! (\"\\r\\0 Aj! (\"\\r\\0\\v A\\x006\\0\\f\\v  A~q6  \\0Ar6 \\0 j \\x006\\0\\f\\vA\\0!\\v \\bE\\r\\0@ (\"At\"(¸\n F@ A¸\nj 6\\0 \\rAŒ\\bAŒ\\b(\\0A~ wq6\\0\\f\\v@  \\b(F@ \\b 6\\f\\v \\b 6\\v E\\r\\v  \\b6 (\"@  6  6\\v (\"E\\r\\0  6  6\\v  \\0Ar6 \\0 j \\x006\\0  \\x07G\\r\\0A\\b \\x006\\0\\v \\0AÿM@ \\0AøqA°\\bj!Aˆ\\b(\\0\"A \\0Avt\"\\0qE@Aˆ\\b \\0 r6\\0 \\f\\v (\\b\\v!\\0  6\\b \\0 6\\f  6\\f  \\x006\\b\\vA! \\0Aÿÿÿ\\x07M@ \\0A& \\0A\\bvg\"kvAq AtrA>s!\\v  6 B\\x007 AtA¸\nj!@AŒ\\b(\\0\"A t\"qE@AŒ\\b  r6\\0  6\\0A!A\\b\\f\\v \\0A AvkA\\0 AG\\x1Bt! (\\0!@ \"(Axq \\0F\\r Av! At!  Aqj\"(\"\\r\\0\\v  6A! !A\\b\\v!\\0 \"\\f\\v (\\b\" 6\\f  6\\bA!\\0A\\b!A\\0\\v!  j 6\\0  6\\f \\0 j 6\\0A¨\\bA¨\\b(\\0Ak\"\\0A \\0\\x1B6\\0\\v\\v¸'\\v#\\0Ak\"\n$\\0@@@@@@@@@@ \\0AôM@Aˆ\\b(\\0\"A \\0A\\vjAøq \\0A\\vI\\x1B\"Av\"\\0v\"Aq@@ AsAq \\0j\"At\"A°\\bj\"\\0 (¸\\b\"(\\b\"F@Aˆ\\b A~ wq6\\0\\f\\v  \\x006\\f \\0 6\\b\\v A\\bj!\\0  Ar6  j\" (Ar6\\f\\v\\v A\\b(\\0\"\\bM\\r @@A \\0t\"A\\0 kr  \\0tqh\"At\"A°\\bj\" (¸\\b\"\\0(\\b\"F@Aˆ\\b A~ wq\"6\\0\\f\\v  6\\f  6\\b\\v \\0 Ar6 \\0 j\"\\x07  k\"Ar6 \\0 j 6\\0 \\b@ \\bAxqA°\\bj!Aœ\\b(\\0! A \\bAvt\"qE@Aˆ\\b  r6\\0 \\f\\v (\\b\\v!  6\\b  6\\f  6\\f  6\\b\\v \\0A\\bj!\\0Aœ\\b \\x076\\0A\\b 6\\0\\f\\v\\vAŒ\\b(\\0\"\\vE\\r \\vhAt(¸\n\"(Axq k! !@@ (\"\\0E@ (\"\\0E\\r\\v \\0(Axq k\"   I\"\\x1B! \\0  \\x1B! \\0!\\f\\v\\v (!  (\\f\"\\0G@ (\\b\" \\x006\\f \\0 6\\b\\f\n\\v (\" Aj (\"E\\r Aj\\v!@ !\\x07 \"\\0Aj! \\0(\"\\r\\0 \\0Aj! \\0(\"\\r\\0\\v \\x07A\\x006\\0\\f \\vA! \\0A¿K\\r\\0 \\0A\\vj\"Axq!AŒ\\b(\\0\"\\x07E\\r\\0A!\\bA\\0 k! \\0Aôÿÿ\\x07M@ A& A\\bvg\"\\0kvAq \\0AtkA>j!\\b\\v@@@ \\bAt(¸\n\"E@A\\0!\\0\\f\\vA\\0!\\0 A \\bAvkA\\0 \\bAG\\x1Bt!@@ (Axq k\" O\\r\\0 ! \"\\r\\0A\\0! !\\0\\f\\v \\0 (\"   AvAqj(\"F\\x1B \\0 \\x1B!\\0 At! \\r\\0\\v\\v \\0 rE@A\\0!A \\bt\"\\0A\\0 \\0kr \\x07q\"\\0E\\r \\0hAt(¸\n!\\0\\v \\0E\\r\\v@ \\0(Axq k\" I!   \\x1B! \\0  \\x1B! \\0(\"  \\0(\\v\"\\0\\r\\0\\v\\v E\\r\\0 A\\b(\\0 kO\\r\\0 (!\\b  (\\f\"\\0G@ (\\b\" \\x006\\f \\0 6\\b\\f\\b\\v (\" Aj (\"E\\r Aj\\v!@ ! \"\\0Aj! \\0(\"\\r\\0 \\0Aj! \\0(\"\\r\\0\\v A\\x006\\0\\f\\x07\\v A\\b(\\0\"M@Aœ\\b(\\0!\\0@  k\"AO@ \\0 j\" Ar6 \\0 j 6\\0 \\0 Ar6\\f\\v \\0 Ar6 \\0 j\" (Ar6A\\0!A\\0!\\vA\\b 6\\0Aœ\\b 6\\0 \\0A\\bj!\\0\\f \\v A”\\b(\\0\"I@A”\\b  k\"6\\0A\\xA0\\bA\\xA0\\b(\\0\"\\0 j\"6\\0  Ar6 \\0 Ar6 \\0A\\bj!\\0\\f \\vA\\0!\\0 A/j\"Aà\\v(\\0@Aè\\v(\\0\\f\\vAì\\vB7\\0Aä\\vB€\\xA0€€€€7\\0Aà\\v \nA\\fjApqAتժs6\\0Aô\\vA\\x006\\0AÄ\\vA\\x006\\0A€ \\v\"j\"A\\0 k\"\\x07q\" M\\r\\bAÀ\\v(\\0\"@A¸\\v(\\0\"\\b j\" \\bM  Ir\\r \\v@AÄ\\v-\\0\\0AqE@@@@@A\\xA0\\b(\\0\"@AÈ\\v!\\0@ \\0(\\0\"\\b M@  \\b \\0(jI\\r\\v \\0(\\b\"\\0\\r\\0\\v\\vA\\0\"AF\\r !Aä\\v(\\0\"\\0Ak\" q@  k  jA\\0 \\0kqj!\\v  M\\rAÀ\\v(\\0\"\\0@A¸\\v(\\0\" j\"\\x07 M \\0 \\x07Ir\\r\\v \"\\0 G\\r\\f\\v  k \\x07q\"\" \\0(\\0 \\0(jF\\r !\\0\\v \\0AF\\r A0j M@ \\0!\\f\\vAè\\v(\\0\"  kjA\\0 kq\"AF\\r  j! \\0!\\f\\v AG\\r\\vAÄ\\vAÄ\\v(\\0Ar6\\0\\v \"AFA\\0\"\\0AFr \\0 Mr\\r \\0 k\" A(jM\\r\\vA¸\\vA¸\\v(\\0 j\"\\x006\\0A¼\\v(\\0 \\0I@A¼\\v \\x006\\0\\v@A\\xA0\\b(\\0\"@AÈ\\v!\\0@  \\0(\\0\" \\0(\"jF\\r \\0(\\b\"\\0\\r\\0\\v\\f\\vA˜\\b(\\0\"\\0A\\0 \\0 M\\x1BE@A˜\\b 6\\0\\vA\\0!\\0AÌ\\v 6\\0AÈ\\v 6\\0A¨\\bA6\\0A¬\\bAà\\v(\\x006\\0AÔ\\vA\\x006\\0@ \\0At\" A°\\bj\"6¸\\b  6¼\\b \\0Aj\"\\0A G\\r\\0\\vA”\\b A(k\"\\0Ax kA\\x07q\"k\"6\\0A\\xA0\\b  j\"6\\0  Ar6 \\0 jA(6A¤\\bAð\\v(\\x006\\0\\f\\v  M  Kr\\r \\0(\\fA\\bq\\r \\0  j6A\\xA0\\b Ax kA\\x07q\"\\0j\"6\\0A”\\bA”\\b(\\0 j\" \\0k\"\\x006\\0  \\0Ar6  jA(6A¤\\bAð\\v(\\x006\\0\\f\\vA\\0!\\0\\f\\vA\\0!\\0\\f\\vA˜\\b(\\0 K@A˜\\b 6\\0\\v  j!AÈ\\v!\\0@@  \\0(\\0\"G@ \\0(\\b\"\\0\\r\\f\\v\\v \\0-\\0\\fA\\bqE\\r\\vAÈ\\v!\\0@@ \\0(\\0\" M@   \\0(j\"I\\r\\v \\0(\\b!\\0\\f\\v\\vA”\\b A(k\"\\0Ax kA\\x07q\"k\"\\x076\\0A\\xA0\\b  j\"6\\0  \\x07Ar6 \\0 jA(6A¤\\bAð\\v(\\x006\\0  A' kA\\x07qjA/k\"\\0 \\0 AjI\\x1B\"A\\x1B6 AÐ\\v)\\x007 AÈ\\v)\\x007\\bAÐ\\v A\\bj6\\0AÌ\\v 6\\0AÈ\\v 6\\0AÔ\\vA\\x006\\0 Aj!\\0@ \\0A\\x076 \\0A\\bj \\0Aj!\\0 I\\r\\0\\v  F\\r\\0  (A~q6   k\"Ar6  6\\0 AÿM@ AøqA°\\bj!\\0Aˆ\\b(\\0\"A Avt\"qE@Aˆ\\b  r6\\0 \\0\\f\\v \\0(\\b\\v! \\0 6\\b  6\\fA\\f!A\\b\\f\\vA!\\0 Aÿÿÿ\\x07M@ A& A\\bvg\"\\0kvAq \\0AtrA>s!\\0\\v  \\x006 B\\x007 \\0AtA¸\nj!@@AŒ\\b(\\0\"A \\0t\"qE@AŒ\\b  r6\\0  6\\0\\f\\v A \\0AvkA\\0 \\0AG\\x1Bt!\\0 (\\0!@ \"(Axq F\\r \\0Av! \\0At!\\0  Aqj\"(\"\\r\\0\\v  6\\v  6A\\b! \"!\\0A\\f\\f\\v (\\b\"\\0 6\\f  6\\b  \\x006\\bA\\0!\\0A!A\\f\\v j 6\\0  j \\x006\\0\\vA”\\b(\\0\"\\0 M\\r\\0A”\\b \\0 k\"6\\0A\\xA0\\bA\\xA0\\b(\\0\"\\0 j\"6\\0  Ar6 \\0 Ar6 \\0A\\bj!\\0\\f\\vA„\\bA06\\0A\\0!\\0\\f\\v \\0 6\\0 \\0 \\0( j6 Ax kA\\x07qj\"\\b Ar6 Ax kA\\x07qj\"  \\bj\"k!\\x07@A\\xA0\\b(\\0 F@A\\xA0\\b 6\\0A”\\bA”\\b(\\0 \\x07j\"\\x006\\0  \\0Ar6\\f\\vAœ\\b(\\0 F@Aœ\\b 6\\0A\\bA\\b(\\0 \\x07j\"\\x006\\0  \\0Ar6 \\0 j \\x006\\0\\f\\v (\"\\0AqAF@ \\0Axq! (\\f!@ \\0AÿM@ (\\b\" F@Aˆ\\bAˆ\\b(\\0A~ \\0Avwq6\\0\\f\\v  6\\f  6\\b\\f\\v (!@  G@ (\\b\"\\0 6\\f  \\x006\\b\\f\\v@ (\"\\0 Aj (\"\\0E\\r Aj\\v!@ ! \\0\"Aj! \\0(\"\\0\\r\\0 Aj! (\"\\0\\r\\0\\v A\\x006\\0\\f\\vA\\0!\\v E\\r\\0@ (\"\\0At\"(¸\n F@ A¸\nj 6\\0 \\rAŒ\\bAŒ\\b(\\0A~ \\0wq6\\0\\f\\v@  (F@  6\\f\\v  6\\v E\\r\\v  6 (\"\\0@  \\x006 \\0 6\\v (\"\\0E\\r\\0  \\x006 \\0 6\\v \\x07 j!\\x07  j\"(!\\0\\v  \\0A~q6  \\x07Ar6  \\x07j \\x076\\0 \\x07AÿM@ \\x07AøqA°\\bj!\\0Aˆ\\b(\\0\"A \\x07Avt\"qE@Aˆ\\b  r6\\0 \\0\\f\\v \\0(\\b\\v! \\0 6\\b  6\\f  \\x006\\f  6\\b\\f\\vA! \\x07Aÿÿÿ\\x07M@ \\x07A& \\x07A\\bvg\"\\0kvAq \\0AtrA>s!\\v  6 B\\x007 AtA¸\nj!\\0@@AŒ\\b(\\0\"A t\"qE@AŒ\\b  r6\\0 \\0 6\\0\\f\\v \\x07A AvkA\\0 AG\\x1Bt! \\0(\\0!@ \"\\0(Axq \\x07F\\r Av! At! \\0 Aqj\"(\"\\r\\0\\v  6\\v  \\x006  6\\f  6\\b\\f\\v \\0(\\b\" 6\\f \\0 6\\b A\\x006  \\x006\\f  6\\b\\v \\bA\\bj!\\0\\f\\v@ \\bE\\r\\0@ (\"At\"(¸\n F@ A¸\nj \\x006\\0 \\0\\rAŒ\\b \\x07A~ wq\"\\x076\\0\\f\\v@  \\b(F@ \\b \\x006\\f\\v \\b \\x006\\v \\0E\\r\\v \\0 \\b6 (\"@ \\0 6  \\x006\\v (\"E\\r\\0 \\0 6  \\x006\\v@ AM@   j\"\\0Ar6 \\0 j\"\\0 \\0(Ar6\\f\\v  Ar6  j\" Ar6  j 6\\0 AÿM@ AøqA°\\bj!\\0Aˆ\\b(\\0\"A Avt\"qE@Aˆ\\b  r6\\0 \\0\\f\\v \\0(\\b\\v! \\0 6\\b  6\\f  \\x006\\f  6\\b\\f\\vA!\\0 Aÿÿÿ\\x07M@ A& A\\bvg\"\\0kvAq \\0AtrA>s!\\0\\v  \\x006 B\\x007 \\0AtA¸\nj!@@ \\x07A \\0t\"qE@AŒ\\b  \\x07r6\\0  6\\0  6\\f\\v A \\0AvkA\\0 \\0AG\\x1Bt!\\0 (\\0!@ \"(Axq F\\r \\0Av! \\0At!\\0  Aqj\"\\x07(\"\\r\\0\\v \\x07 6  6\\v  6\\f  6\\b\\f\\v (\\b\"\\0 6\\f  6\\b A\\x006  6\\f  \\x006\\b\\v A\\bj!\\0\\f\\v@ E\\r\\0@ (\"At\"(¸\n F@ A¸\nj \\x006\\0 \\0\\rAŒ\\b \\vA~ wq6\\0\\f\\v@  (F@ \\x006\\f\\v \\x006\\v \\0E\\r\\v \\0 6 (\"@ \\0 6  \\x006\\v (\"E\\r\\0 \\0 6  \\x006\\v@ AM@   j\"\\0Ar6 \\0 j\"\\0 \\0(Ar6\\f\\v  Ar6  j\" Ar6  j 6\\0 \\b@ \\bAxqA°\\bj!\\0Aœ\\b(\\0!A \\bAvt\"\\x07 qE@Aˆ\\b  \\x07r6\\0 \\0\\f\\v \\0(\\b\\v! \\0 6\\b  6\\f  \\x006\\f  6\\b\\vAœ\\b 6\\0A\\b 6\\0\\v A\\bj!\\0\\v \nAj$\\0 \\0\\v†\n}@ E@\\f\\vA!\\v@  \\fF@A\\0!\\f \\x07A\\0A€€ü\\v\\0 \\bA\\0A€€ü\\v\\0A\\0!\n@  \nF@A\\0!\n@ \nA€€F@A\\0!\n@  \nF@A\\0!A\\0!\n@ \nA€€F@A\\0!\n@ \n \\fF\\r\\v \\b  \nAtj(\\0\"\\0Atj(\\0AsAvAüÿqj\" (\\0\"Aj6\\0  Atj \\x006\\0 \nAj!\n\\f\\0\\v\\0 \\b \nAtj\"\\0(\\0 \\0 6\\0 \nAj!\n j!\\f\\v\\0\\v\\0\\v  \nAtj(\\0\"\\0A€€€ü\\x07G@ \\x07 \\0AsAÿÿqAtj\"\\0 \\0(\\0\"\\0Aj6\\0 \\0Atj \n6\\0\\v \nAj!\n\\f\\0\\v\\0 \\x07 \nAtj\"\\0(\\0 \\0 \\f6\\0 \nAj!\n \\fj!\\f\\f\\v\\0\\v\\0\\v  \nAtj(\\0\"\\0A€€€ü\\x07G@ \\x07 \\0As\"\\0AÿÿqAtj\" (\\0Aj6\\0 \\b \\0AvAüÿqj\"\\0 \\0(\\0Aj6\\0\\v \nAj!\n\\f\\0\\v\\0  \\fA\\flj\"\n*\\0! \n*\\b! \n*! \\v  \\fAt\"\\rj(\\0\"\nG@  \nAÐ\\0lj\"\\v*< \\0*8\"” \\v*8 \\0*(\"” \\v*0 \\0*\\b\"” \\0*\" \\v*4”’’’! \\v*, ” \\v*( ” \\v* ”  \\v*$”’’’! \\v* ” \\v* ” \\v* ”  \\v*”’’’! \\v*\\f ” \\v*\\b ” \\v*\\0 ” \\v* ”’’’! \n!\\v\\vA€€€ü\\x07!\n  \\rj   ”  ”  ”’’’\"C\\0\\0€\\\\ ¼\"\nAA€€€€x \nA\\0H\\x1BsA€€€ü\\x07\\v6\\0 \\fAj!\\f\\f\\v\\0\\v\\0\\v \\f\\v\\0\\v\\v \\0A\\b\\v`)}function _(e){return e}function v(e,t){var n,r=_(e);return n=new WebAssembly.Module(r),[new WebAssembly.Instance(n,t),n]}function y(){return{a:P}}function b(){function e(e,t){return I=e.exports,N(I),d(),I}var t=y();return n.instantiateWasm?new Promise((r,i)=>{n.instantiateWasm(t,(t,n)=>{r(e(t,n))})}):(h??=g(),e(v(h,t)[0]))}for(var x=e=>{for(;e.length>0;)e.shift()(n)},S=[],C=e=>S.push(e),w=[],T=e=>w.push(e),E=()=>2147483648,D=(e,t)=>Math.ceil(e/t)*t,O=e=>{var t=(e-M.buffer.byteLength+65535)/65536|0;try{return M.grow(t),d(),1}catch{}},k=e=>{var t=l.length;e>>>=0;var n=E();if(e>n)return!1;for(var r=1;r<=4;r*=2){var i=t*(1+.2/r);if(i=Math.min(i,e+100663296),O(Math.min(n,D(Math.max(e,i),65536))))return!0}return!1},A=new Uint8Array(123),j=25;j>=0;--j)A[48+j]=52+j,A[65+j]=j,A[97+j]=26+j;if(A[43]=62,A[47]=63,n.noExitRuntime&&n.noExitRuntime,n.print&&n.print,n.printErr&&n.printErr,n.wasmBinary&&n.wasmBinary,n.arguments&&n.arguments,n.thisProgram&&n.thisProgram,n.preInit)for(typeof n.preInit==`function`&&(n.preInit=[n.preInit]);n.preInit.length>0;)n.preInit.shift()();var M;function N(e){n._sort=e.d,n._malloc=e.e,n._free=e.f,M=e.b,e.__indirect_function_table}var P={a:k};function F(){f();function e(){n.calledRun=!0,!o&&(p(),c?.(n),n.onRuntimeInitialized?.(),m())}n.setStatus?(n.setStatus(`Running...`),setTimeout(()=>{setTimeout(()=>n.setStatus(``),1),e()},1)):e()}var I=b();return F(),t=u?n:new Promise((e,t)=>{c=e}),t}let n;function r(){return e(this,void 0,void 0,function*(){n=yield t()})}let i,a,o,s,c,l,u,d,f,p,m=0,h=0,g=!1,_=[],v=!0,y=!0,b=!1,x=!1,S=!1,C=65536,w=()=>e(void 0,void 0,void 0,function*(){if(b){x=!0;return}b=!0,x=!1,n||(yield r());let e=2**Math.ceil(Math.log2(i.vertexCount));m<e&&(m>0&&(n._free(a),n._free(s),n._free(c),n._free(l),n._free(u),n._free(p)),m=e,a=n._malloc(64),s=n._malloc(m*4),c=n._malloc(3*m*4),l=n._malloc(m*4),u=n._malloc(m*4),p=n._malloc(m*4)),g||=(d=n._malloc(C*4),f=n._malloc(C*4),!0),h<i.transforms.length&&(h>0&&n._free(o),h=i.transforms.length,o=n._malloc(h*4)),b=!1,x&&(x=!1,yield w())}),T=()=>{if(b||x||!n)return;b=!0,y&&=(n.HEAPF32.set(i.positions,c/4),n.HEAPF32.set(i.transforms,o/4),n.HEAPU32.set(i.transformIndices,s/4),!1),n.HEAPF32.set(new Float32Array(_),a/4);let e=n._sort(a,o,s,i.vertexCount,c,l,u,d,f,p),t=Math.min(e,i.vertexCount),r=new Uint32Array(n.HEAPU32.buffer,u,t),m=new Uint32Array(r.slice().buffer);self.postMessage({depthIndex:m,generation:i.generation},[m.buffer]),b=!1,v=!1},E=()=>{S||(S=!0,v&&T(),setTimeout(()=>{S=!1,E()}))};self.onmessage=e=>new Promise(t=>{if(e.data.warmup){r().finally(()=>t(!0));return}e.data.sortData&&(i={positions:e.data.sortData.positions,transforms:e.data.sortData.transforms,transformIndices:e.data.sortData.transformIndices,vertexCount:e.data.sortData.vertexCount,generation:e.data.sortData.generation??0},v=!0,y=!0,w()),e.data.viewProj?(e.data.viewProj.every(e=>_.includes(e))===!1&&(_=e.data.viewProj,v=!0),E(),t(!0)):t(!0)})})();", Ty = typeof self < "u" && self.Blob && new Blob(["(self.URL || self.webkitURL).revokeObjectURL(self.location.href);", wy], { type: "text/javascript;charset=utf-8" });
25984
+ function Ey(e) {
25971
25985
  let t;
25972
25986
  try {
25973
- if (t = Cy && (self.URL || self.webkitURL).createObjectURL(Cy), !t) throw "";
25987
+ if (t = Ty && (self.URL || self.webkitURL).createObjectURL(Ty), !t) throw "";
25974
25988
  let n = new Worker(t, { name: e == null ? void 0 : e.name });
25975
25989
  return n.addEventListener("error", () => {
25976
25990
  (self.URL || self.webkitURL).revokeObjectURL(t);
25977
25991
  }), n;
25978
25992
  } catch (t) {
25979
- return new Worker("data:text/javascript;charset=utf-8," + encodeURIComponent(Sy), { name: e == null ? void 0 : e.name });
25993
+ return new Worker("data:text/javascript;charset=utf-8," + encodeURIComponent(wy), { name: e == null ? void 0 : e.name });
25980
25994
  }
25981
25995
  }
25982
25996
  //#endregion
25983
25997
  //#region build/five/model/shaders/pbm_gaussian_splatting/vertex.js
25984
- var Ty = function(...e) {
25998
+ var Dy = function(...e) {
25985
25999
  return e[0].split("").map((e) => e.charCodeAt(0) > 126 ? e : String.fromCharCode((e.charCodeAt(0) + 113) % 126)).join("");
25986
- }("}rpvv|{-uvtu}-sy|nH}rpvv|{-uvtu}-v{Hnvor-sy|n-}ynV{qr\x07H{vs|z-uvtu}-nz}yr?Q-lr\x07rH{vs|z-uvtu}-nz}yr?Q-ln{s|zH{vs|z-uvtu}-nz}yr?Q-ln{s|zV{qvprH{vs|z-uvtu}-nz}yr?Q-lyn\brV{qvprH{vs|z-uvtu}-nz}yr?Q-luar\x07rH{vs|z-rp?-luar\x07r`v rH{vs|z-v{-lzn\x07`uQrtrrH0vs-[bZlT`lPYV]]R_`-K-=----{vs|z-rp?-lyn\brPyv}}r_n{trh[bZlT`lYNfR_`jH----{vs|z-znA-lpyv}}rZnvprV{rrh[bZlT`lPYV]]R_`jH0r{qvs{vs|z-rp?-r|yv|{H{vs|z-o||y-lnttrtnv|{R{noyrqH{vs|z-sy|n-lnttrtnv|{]|trH{vs|z-sy|n-lnttrtnv|{]|v{Qnv|{H{vs|z-rp@-lnttrtnv|{O|{qZv{H{vs|z-rp@-lnttrtnv|{O|{qZn\x07Hn\bv{t-rpA-P|y|Hn\bv{t-rp?-]|vv|{Hn\bv{t-rp?-bHp|{-sy|n-\0E-J-\05E;=6Hp|{-sy|n-xr{ry?Q`v r-J-=;@Hp|{-sy|n-zn\x07`prr{`}npr`}yn`v r-J-?=AE;=Hp|{-sy|n-]V-J-@;>A>BF?CBH<<-Y|t:pnyr-qrp|qv{t-p|{n{-5znpuv{t-qnn;p}}6p|{-sy|n-Y[l`PNYRlZV[-J-:>?;=Hp|{-sy|n-Y[l`PNYRlZNe-J-F;=H<<-`U-p|{n{p|{-sy|n-`UlP>-J-=;AEEC=?B>>F=?F>FFHp|{-sy|n-`UlP?l=-J->;=F?BAEAHp|{-sy|n-`UlP?l>-J-:>;=F?BAEAHp|{-sy|n-`UlP?l?-J-=;@>B@F>CHp|{-sy|n-`UlP?l@-J-:>;=F?BAEAHp|{-sy|n-`UlP?lA-J-=;BAC?DA?H<<-Qrp|qr-y|t:r{p|qrq-v{E-pnyr-onpx-|-sy|nsy|n-qrp|qrY|t`pnyr5v{-r{p|qrq6-\n----vs-5r{p|qrq-JJ-=6-r{-=;=H-<<-?QT`-znxr----sy|n-{|znyv rq-J-5sy|n5r{p|qrq6-:->;=6-<-?BA;=H----r{-r\x07}5{|znyv rq-7-5Y[l`PNYRlZNe-:-Y[l`PNYRlZV[6-8-Y[l`PNYRlZV[6H\f<<-Qrp|qr-|pnurqny-n\x07v:n{tyr-\0nr{v|{-s|z-@-v{E-nyrrpA-qrp|qr^n\\pnurqny5v{-r{pe9-v{-r{pf9-v{-r{pg6-\n----<<-Qrp|qr-|pnurqny-qvrpv|{----sy|n-|\x07-J-sy|n5r{pe6-<-?BB;=-7-?;=-:->;=H----sy|n-|\b-J-sy|n5r{pf6-<-?BB;=-7-?;=-:->;=H----<<-\\pnurqny-|-{v-rp|----sy|n-| -J->;=-:-no5|\x076-:-no5|\b6H----vs-5| -I-=;=6-\n--------sy|n-z}e-J-|\x07H--------|\x07-J-5>;=-:-no5|\b66-7-5|\x07-KJ-=;=-L->;=-G-:>;=6H--------|\b-J-5>;=-:-no5z}e66-7-5|\b-KJ-=;=-L->;=-G-:>;=6H----\f----rp@-n\x07v-J-{|znyv r5rp@5|\x079-|\b9-| 66H----<<-Qrp|qr-n{tyr-h=9-]Vj----sy|n-n{tyr-J-sy|n5r{pg6-<-?BB;=-7-]VH----sy|n-unysN{tyr-J-n{tyr-7-=;BH----sy|n-v{Unys-J-v{5unysN{tyr6H----sy|n-p|Unys-J-p|5unysN{tyr6H----r{-rpA5n\x07v-7-v{Unys9-p|Unys6H-<<-5\x079-\b9- 9-6\f<<-Ovyq-|nv|{-znv\x07-s|z-\0nr{v|{-5\x079-\b9- 9-6zn@-\0na|Zn@5rpA-\x006-\n----sy|n-\x07-J-\0;\x079-\b-J-\0;\b9- -J-\0; 9--J-\0;H----r{-zn@5-------->;=-:-?;=75\b7\b-8- 7 69-?;=75\x077\b-:- 769-------?;=75\x077 -8-\b769--------?;=75\x077\b-8- 769------->;=-:-?;=75\x077\x07-8- 7 69-?;=75\b7 -:-\x07769--------?;=75\x077 -:-\b769-------?;=75\b7 -8-\x07769------->;=-:-?;=75\x077\x07-8-\b7\b6----6H\frp?-tr`UQnnbc5v{-}ynVq\x079-v{-p|z}|{r{\\ssr9-rp?-r\x07r`v r6-\n----v{-uP|z}|{r{P|{-J-=H----vs-5lzn\x07`uQrtrr-KJ->6-uP|z}|{r{P|{-8J-FH----vs-5lzn\x07`uQrtrr-KJ-?6-uP|z}|{r{P|{-8J->BH----vs-5lzn\x07`uQrtrr-KJ-@6-uP|z}|{r{P|{-8J-?>H----v{-}nqqrqP|z}|{r{P|{-J-uP|z}|{r{P|{H----vs-5}nqqrqP|z}|{r{P|{-2-A-.J-=6-\n--------}nqqrqP|z}|{r{P|{-J-55}nqqrqP|z}|{r{P|{-<-A6-8->6-7-AH----\f----sy|n-yv{rnP|z}|{r{V{qr\x07-J-sy|n5}ynVq\x07-7-}nqqrqP|z}|{r{P|{-8-p|z}|{r{\\ssr6H----sy|n-r\x07ryV{qr\x07-J-yv{rnP|z}|{r{V{qr\x07-<-A;=H----sy|n-q-J-r\x07ryV{qr\x07-<-r\x07r`v r;\x07H----sy|n-\b-J-sy||5q6-<-r\x07r`v r;\bH----sy|n-\x07-J-snp5q6H----r{-rp?5\x079-\b6H\f|vq-znv{-56-\n----v{-}ynV{qr\x07b-J-v{5}ynV{qr\x07-8-=;B6H----v{-}ynV{qr\x07V-J-v{5}ynV{qr\x07b6H----<<-JJJ-P|z}np-s|znG-v{tyr-r\x07rySrpu9-A-\x07-v{@?-J->C-o\br<}yn-JJJ----<<-qnnh=jG-_-\v-TIIE-\v-OII>C-\v-NII?A----<<-qnnh>jG-pr{re5s>C6-\v-pr{rf5s>C6----<<-qnnh?jG-pr{rg5s>C6-\v-\0ne5E6II>C-\v-\0nf5E6II?A----<<-qnnh@jG-pnyre5E6-\v-pnyrf5E6IIE-\v-pnyrg5E6II>C-\v-\0ng5E6II?A----rpA-}npxrq-J-r\x07rySrpu5lr\x07r9-vrp?5}ynV{qr\x07b-3-=\x07Dss9-}ynV{qr\x07b-KK->>69-=6H----<<-Qrp|qr-}|vv|{-s|z-sy|n>C----rp?-}|ef-J-{}npxUnys?\x07>C5}npxrq;\b6H----rp?-}|g\0e-J-{}npxUnys?\x07>C5}npxrq; 6H----rp@-}ynPr{r-J-rp@5}|ef;\x079-}|ef;\b9-}|g\0e;\x076H----<<-Qrp|qr-\0nr{v|{-s|z-|pnurqny-r{p|qv{t----v{-\0nR{pe-J-5}npxrq; -KK->C6-3-=\x07ssH----v{-\0nR{pf-J-5}npxrq; -KK-?A6-3-=\x07ssH----v{-\0nR{pg-J-5}npxrq;-KK-?A6-3-=\x07ssH----rpA-\0n-J-qrp|qr^n\\pnurqny5\0nR{pe9-\0nR{pf9-\0nR{pg6H----<<-Qrp|qr-pnyr-s|z-y|t:r{p|qrq-v{E----sy|n-pnyre-J-qrp|qrY|t`pnyr5}npxrq;-3-=\x07ss6H----sy|n-pnyrf-J-qrp|qrY|t`pnyr55}npxrq;-KK-E6-3-=\x07ss6H----sy|n-pnyrg-J-qrp|qrY|t`pnyr55}npxrq;-KK->C6-3-=\x07ss6H----<<-Qrp|qr-p|y|----rpA-p|y|-J-rpA5--------sy|n5}npxrq;\x07-3-=\x07ss69--------sy|n55}npxrq;\x07-KK-E6-3-=\x07ss69--------sy|n55}npxrq;\x07-KK->C6-3-=\x07ss69--------sy|n55}npxrq;\x07-KK-?A6-3-=\x07ss6----6-<-?BB;=H----<<-_rnq-n{s|z----v{-n{s|zV{qr\x07-J-r\x07rySrpu5ln{s|zV{qvpr9-vrp?5}ynV{qr\x07b-3-=\x07@ss9-}ynV{qr\x07b-KK->=69-=6;\x07H----znA-n{s|z-J-znA5--------r\x07rySrpu5ln{s|z9-vrp?5=9-n{s|zV{qr\x0769-=69--------r\x07rySrpu5ln{s|z9-vrp?5>9-n{s|zV{qr\x0769-=69--------r\x07rySrpu5ln{s|z9-vrp?5?9-n{s|zV{qr\x0769-=69--------r\x07rySrpu5ln{s|z9-vrp?5@9-n{s|zV{qr\x0769-=6----6H----znA-n{s|zZ|qrycvrZnv\x07-J-vrZnv\x07-7-n{s|zH----rpA-|yqPr{r-J-n{s|z-7-rpA5}ynPr{r9->;=6H----<<-JJJ-Nttrtnv|{-rssrp-JJJ----sy|n-y|pny]|tr-J-lnttrtnv|{]|trH----sy|n-pnyr]|tr-J-=;=H----o||y-v{O|{qS|Nttrtnv|{-J-snyrH----vs-5lnttrtnv|{R{noyrq-33-lnttrtnv|{]|tr-I->;=6-\n--------o||y-v{O|{q-J-|yqPr{r;\x07-KJ-lnttrtnv|{O|{qZv{;\x07---------------------33-|yqPr{r;\x07-IJ-lnttrtnv|{O|{qZn\x07;\x07---------------------33-|yqPr{r; -KJ-lnttrtnv|{O|{qZv{; ---------------------33-|yqPr{r; -IJ-lnttrtnv|{O|{qZn\x07; H--------vs-5v{O|{q6-\n------------v{O|{qS|Nttrtnv|{-J-rH------------sy|n-urvtu_n{tr-J-lnttrtnv|{O|{qZn\x07;\b-:-lnttrtnv|{O|{qZv{;\bH------------sy|n-{|znyv rqUrvtu-J-urvtu_n{tr-K-=;==>----------------L-pynz}55|yqPr{r;\b-:-lnttrtnv|{O|{qZv{;\b6-<-urvtu_n{tr9-=;=9->;=6----------------G-=;BH------------sy|n-}|v{Q-J-pynz}5lnttrtnv|{]|v{Qnv|{9-=;=>9->;=6H------------sy|n-navzr-J-5>;=-:-{|znyv rqUrvtu6-7-5>;=-:-}|v{Q6H------------y|pny]|tr-J-pynz}55lnttrtnv|{]|tr-:-navzr6-<-}|v{Q9-=;=9->;=6H------------sy|n-|ssr]|tr-J-z||ur}5=;=9->;=9-y|pny]|tr6H------------pnyr]|tr-J-y|pny]|tr-7-y|pny]|tr-7-y|pny]|trH------------rp@-nttrtnv|{Pr{r-J-5lnttrtnv|{O|{qZv{-8-lnttrtnv|{O|{qZn\x076-<-?;=H------------rp@-qv-J-|yqPr{r;\x07\b -:-nttrtnv|{Pr{rH------------sy|n-qv-J-yr{tu5qv6H------------sy|n-n{q`rrq-J-q|5}ynPr{r9-rp@5>?;FEFE9-DE;?@@9-AB;>CA66H------------sy|n-n{qQv-J-snp5v{5n{q`rrq6-7-A@DBE;BAB@6H------------sy|n-n{tyr-J-n{q`rrq-7->=;=H------------rp@-pnrQv-J-{|znyv r5rp@5----------------p|5n{tyr69----------------zv\x075:=;D9-=;>9-snp5v{5n{q`rrq-7->;D6-7-A@DBE;BAB@669----------------v{5n{tyr6------------66H------------sy|n-r\x07}y|v|{Snp|-J-5>;=-:-|ssr]|tr6-7-5>;=-8->;=-7-n{qQv6H------------rp@-|ssr-J-pnrQv-7-qv-7-r\x07}y|v|{Snp|H------------|yqPr{r;\x07\b -8J-|ssrH------------}ynPr{r-J-5v{rr5n{s|z6-7-|yqPr{r6;\x07\b H--------\f----\f----<<-JJJ-Pyv}}r-purpx-JJJ----0vs-[bZlT`lPYV]]R_`-K-=----v{-yn\brV{qr\x07-J-v{5r\x07rySrpu5lyn\brV{qvpr9-vrp?5}ynV{qr\x07b-3-=\x07@ss9-}ynV{qr\x07b-KK->=69-=6;\x076H----vs-5yn\brV{qr\x07-KJ-=-33-yn\brV{qr\x07-I-[bZlT`lYNfR_`6-\n--------rp?-pyv}_n{tr-J-lyn\brPyv}}r_n{trhyn\brV{qr\x07jH--------v{-pyv}`n-J-v{5pyv}_n{tr;\x07-8-=;B6H--------v{-pyv}P|{-J-v{5pyv}_n{tr;\b-8-=;B6H--------v{-pyv}R{q-J-pyv}`n-8-pyv}P|{H--------s|-5v{-v-J-=H-v-I-[bZlT`lPYV]]R_`H-v886-\n----------------vs-5v-I-pyv}`n-\v\v-v-KJ-pyv}R{q6-\n--------------------p|{v{rH----------------\f----------------rpA-pyv}}r]|vv|{-J-lpyv}}rZnvprV{rrhvj-7-|yqPr{rH----------------o||y-pyv}}rq-J-pyv}}r]|vv|{;\x07-K-:=;B-33-pyv}}r]|vv|{;\x07-I-=;BH----------------pyv}}rq-J-pyv}}rq-33-pyv}}r]|vv|{;\b-K-:=;B-33-pyv}}r]|vv|{;\b-I-=;BH----------------pyv}}rq-J-pyv}}rq-33-pyv}}r]|vv|{; -K-:=;B-33-pyv}}r]|vv|{; -I-=;BH----------------vs-5pyv}}rq6-\n--------------------tyl]|vv|{-J-rpA5=;=9-=;=9-?;=9->;=6H--------------------r{H----------------\f--------\f----\f----0r{qvs----rpA-vrPr{r-J-n{s|zZ|qrycvrZnv\x07-7-rpA5}ynPr{r9->;=6H----rpA-pyv}Pr{r-J-}|wrpv|{Znv\x07-7-vrPr{rH----<<-Sz-pyyv{t----sy|n-pyv}-J->;?-7-pyv}Pr{r;H----vs-5pyv}Pr{r; -I-:pyv}Pr{r;-\v\v-pyv}Pr{r; -K-pyv}Pr{r;-\v\v--------pyv}Pr{r;\x07-I-:pyv}-\v\v-pyv}Pr{r;\x07-K-pyv}-\v\v--------pyv}Pr{r;\b-I-:pyv}-\v\v-pyv}Pr{r;\b-K-pyv}6-\n--------tyl]|vv|{-J-rpA5=;=9-=;=9-?;=9->;=6H--------r{H----\f----rp@-{qpPr{r-J-pyv}Pr{r;\x07\b -<-pyv}Pr{r;H----rp?-s|pny-J-rp?5--------}|wrpv|{Znv\x07h=jh=j-7-r|yv|{;\x07-7-=;B9--------}|wrpv|{Znv\x07h>jh>j-7-r|yv|{;\b-7-=;B----6H----]|vv|{-J-}|vv|{;\x07\bH----<<-JJJ-P|z}r-@Q-p|nvn{pr-s|z-\0nr{v|{-8-pnyr-5v{:unqr9-{|-}r:p|z}nv|{6-JJJ----<<-auv-r}ynpr-ur-}r:p|z}rq-p|nvn{pr-rnq-s|z-ur-|yq-@?:o\br-s|zn;----<<-_rsrr{prG-`}nx-p|z}r-p|nvn{pr-v{-rr\x07-unqr-s|z-}npxrq-\0nr{v|{8pnyr;----zn@-|Zn-J-\0na|Zn@5\0n6H----zn@-pnyrZn-J-zn@5--------pnyre9-=;=9-=;=9--------=;=9-pnyrf9-=;=9--------=;=9-=;=9-pnyrg----6H----zn@-Z-J-pnyrZn-7-|ZnH----<<-cx-J-Z-7-Zka-5@Q-p|nvn{pr-v{-|owrp-}npr6----zn@-cx-J-zn@5--------q|5Zh=j9-Zh=j69-q|5Zh=j9-Zh>j69-q|5Zh=j9-Zh?j69--------q|5Zh>j9-Zh=j69-q|5Zh>j9-Zh>j69-q|5Zh>j9-Zh?j69--------q|5Zh?j9-Zh=j69-q|5Zh?j9-Zh>j69-q|5Zh?j9-Zh?j6----6H----<<-Wnp|ovn{-s|-}r}rpvr<|u|tn}uvp-}|wrpv|{----o||y-v\\u|tn}uvp-J-}|wrpv|{Znv\x07h@jh@j-K-=;DH----zn@-WH----vs-5v\\u|tn}uvp6-\n--------W-J-n{}|r5zn@5------------s|pny;\x079-=;=9-=;=9------------=;=9-s|pny;\b9-=;=9------------=;=9-=;=9-=;=--------66H----\f-ryr-\n--------sy|n--J->;=-<-5vrPr{r; -7-vrPr{r; 6H--------W-J-zn@5------------s|pny;\x07-<-vrPr{r; 9-=;=9-:5s|pny;\x07-7-vrPr{r;\x076-7-9------------=;=9-s|pny;\b-<-vrPr{r; 9-:5s|pny;\b-7-vrPr{r;\b6-7-9------------=;=9-=;=9-=;=--------6H----\f----zn@-d-J-n{}|r5zn@5n{s|zZ|qrycvrZnv\x0766H----zn@-a-J-d-7-WH----<<-]|wrp-@Q-p|nvn{pr-|-?Q----zn@-p|?Qz-J-n{}|r5a6-7-cx-7-aH----p|?Qzh=jh=j-8J-xr{ry?Q`v rH----p|?Qzh>jh>j-8J-xr{ry?Q`v rH----rp@-p|?Q-J-rp@5p|?Qzh=jh=j9-p|?Qzh=jh>j9-p|?Qzh>jh>j6H----sy|n-n-J-p|?Q;\x07H----sy|n-q-J-p|?Q; H----sy|n-o-J-p|?Q;\bH----sy|n-Q-J-n-7-q-:-o-7-oH----sy|n-npr-J-n-8-qH----sy|n-npr\\r?-J-=;B-7-nprH----sy|n-rz?-J-\05zn\x075=;>9-npr\\r?-7-npr\\r?-:-Q66H----sy|n-rvtr{cnyr>-J-npr\\r?-8-rz?H----sy|n-rvtr{cnyr?-J-npr\\r?-:-rz?H----vs-5rvtr{cnyr?-IJ-=;=6-\n--------r{H----\f----rp?-rvtr{crp|>-J-{|znyv r5rp?5o9-rvtr{cnyr>-:-n66H----rp?-rvtr{crp|?-J-rp?5rvtr{crp|>;\b9-:rvtr{crp|>;\x076H----rp?-onvcrp|>-J-rvtr{crp|>-7-zv{5\0E-7-\05rvtr{cnyr>69-zn\x07`prr{`}npr`}yn`v r6H----rp?-onvcrp|?-J-rvtr{crp|?-7-zv{5\0E-7-\05rvtr{cnyr?69-zn\x07`prr{`}npr`}yn`v r6H----rp?-onvcvr}|-J-rp?5>;=-<-r|yv|{;\x079->;=-<-r|yv|{;\b6H----rp?-{qp\\ssr-J-rp?5]|vv|{;\x07-7-onvcrp|>-8-]|vv|{;\b-7-onvcrp|?6-7---------------------onvcvr}|-7-?;=H----<<-]|v{:py|q-|-@QT`-n{vv|{----vs-5lnttrtnv|{R{noyrq6-\n--------sy|n-sv{ny`pnyr]|tr-J-v{O|{qS|Nttrtnv|{-L-pnyr]|tr-G-5lnttrtnv|{]|tr-7-lnttrtnv|{]|tr-7-lnttrtnv|{]|tr6H--------{qp\\ssr-7J-zv\x075=;>9->;=9-sv{ny`pnyr]|tr6H----\f----rpA-\0nq]|-J-rpA5{qpPr{r;\x07\b-8-{qp\\ssr9-{qpPr{r; 9->;=6H----tyl]|vv|{-J-\0nq]|H----<<-JJJ-`U-yvtuv{t-JJJ----vs-5lzn\x07`uQrtrr-KJ->6-\n--------rp@-pnzrn]|V{\\owrp-J-rp@5v{rr5n{s|z6-7-rpA5pnzrn]|vv|{9->;=66H--------rp@-|owrpcvrQv-J-{|znyv r5}ynPr{r-:-pnzrn]|V{\\owrp6H--------rpA-u=>?@-J-r\x07r5luar\x07r9-tr`UQnnbc5}ynV{qr\x07V9-=9-luar\x07r`v r66H--------rpA-uABCD-J-r\x07r5luar\x07r9-tr`UQnnbc5}ynV{qr\x07V9-A9-luar\x07r`v r66H--------rpA-uEF>=>>-J-r\x07r5luar\x07r9-tr`UQnnbc5}ynV{qr\x07V9-E9-luar\x07r`v r66H--------rp@-u>-J-u=>?@;toH--------rp@-u?-J-rp@5u=>?@;n9-uABCD;t6H--------rp@-u@-J-rp@5uABCD;on9-uEF>=>>;6H--------sy|n-\x07-J-|owrpcvrQv;\x07H--------sy|n-\b-J-|owrpcvrQv;\bH--------sy|n- -J-|owrpcvrQv; H--------rp@-uP|y|-J-u>-7-5:=;AEEC=?B-7-\b6-8-u?-7-5=;AEEC=?B-7- 6-8-u@-7-5:=;AEEC=?B-7-\x076H--------p|y|;to-8J-uP|y|H--------vs-5lzn\x07`uQrtrr-KJ-?6-\n------------rpA-u>?>@>A>B-J-r\x07r5luar\x07r9-tr`UQnnbc5}ynV{qr\x07V9->?9-luar\x07r`v r66H------------rpA-u>C>D>E>F-J-r\x07r5luar\x07r9-tr`UQnnbc5}ynV{qr\x07V9->C9-luar\x07r`v r66H------------rpA-u?=?>???@-J-r\x07r5luar\x07r9-tr`UQnnbc5}ynV{qr\x07V9-?=9-luar\x07r`v r66H------------rp@-uA-J-uEF>=>>;tonH------------rp@-uB-J-u>?>@>A>B;toH------------rp@-uC-J-rp@5u>?>@>A>B;n9-u>C>D>E>F;t6H------------rp@-uD-J-rp@5u>C>D>E>F;on9-u?=?>???@;6H------------rp@-uElqrt?-J-u?=?>???@;tonH------------sy|n-\x07\x07-J-\x07-7-\x07H------------sy|n-\b\b-J-\b-7-\bH------------sy|n- -J- -7- H------------sy|n-\x07\b-J-\x07-7-\bH------------sy|n-\b -J-\b-7- H------------sy|n-\x07 -J-\x07-7- H------------p|y|;to-8J----------------5`UlP?l=-7-\x07\b6-7-uA-8----------------5`UlP?l>-7-\b 6-7-uB-8----------------5`UlP?l?-7-5?;=-7- -:-\x07\x07-:-\b\b66-7-uC-8----------------5`UlP?l@-7-\x07 6-7-uD-8----------------5`UlP?lA-7-5\x07\x07-:-\b\b66-7-uElqrt?H--------\f----\f----p|y|;to-J-pynz}5p|y|;to9-rp@5=;=69-rp@5>;=66H----P|y|-J-p|y|H----]|vv|{-7J-\0EH----b-J-}|vv|{;\x07\bH\f"), Ey = function(...e) {
26000
+ }("}rpvv|{-uvtu}-sy|nH}rpvv|{-uvtu}-v{Hnvor-sy|n-}ynV{qr\x07H{vs|z-uvtu}-nz}yr?Q-lr\x07rH{vs|z-uvtu}-nz}yr?Q-ln{s|zH{vs|z-uvtu}-nz}yr?Q-ln{s|zV{qvprH{vs|z-uvtu}-nz}yr?Q-lyn\brV{qvprH{vs|z-uvtu}-nz}yr?Q-luar\x07rH{vs|z-rp?-luar\x07r`v rH{vs|z-v{-lzn\x07`uQrtrrH0vs-[bZlT`lPYV]]R_`-K-=----{vs|z-rp?-lyn\brPyv}}r_n{trh[bZlT`lYNfR_`jH----{vs|z-znA-lpyv}}rZnvprV{rrh[bZlT`lPYV]]R_`jH0r{qvs{vs|z-rp?-r|yv|{H{vs|z-o||y-lnttrtnv|{R{noyrqH{vs|z-sy|n-lnttrtnv|{]|trH{vs|z-sy|n-lnttrtnv|{]|v{Qnv|{H{vs|z-rp@-lnttrtnv|{O|{qZv{H{vs|z-rp@-lnttrtnv|{O|{qZn\x07Hn\bv{t-rpA-P|y|Hn\bv{t-rp?-]|vv|{Hn\bv{t-rp?-bHp|{-sy|n-\0E-J-\05E;=6Hp|{-sy|n-xr{ry?Q`v r-J-=;@Hp|{-sy|n-zn\x07`prr{`}npr`}yn`v r-J-?=AE;=Hp|{-sy|n-]V-J-@;>A>BF?CBH<<-Y|t:pnyr-qrp|qv{t-p|{n{-5znpuv{t-qnn;p}}6p|{-sy|n-Y[l`PNYRlZV[-J-:>?;=Hp|{-sy|n-Y[l`PNYRlZNe-J-F;=H<<-`U-p|{n{p|{-sy|n-`UlP>-J-=;AEEC=?B>>F=?F>FFHp|{-sy|n-`UlP?l=-J->;=F?BAEAHp|{-sy|n-`UlP?l>-J-:>;=F?BAEAHp|{-sy|n-`UlP?l?-J-=;@>B@F>CHp|{-sy|n-`UlP?l@-J-:>;=F?BAEAHp|{-sy|n-`UlP?lA-J-=;BAC?DA?H<<-Qrp|qr-y|t:r{p|qrq-v{E-pnyr-onpx-|-sy|nsy|n-qrp|qrY|t`pnyr5v{-r{p|qrq6-\n----vs-5r{p|qrq-JJ-=6-r{-=;=H-<<-?QT`-znxr----sy|n-{|znyv rq-J-5sy|n5r{p|qrq6-:->;=6-<-?BA;=H----r{-r\x07}5{|znyv rq-7-5Y[l`PNYRlZNe-:-Y[l`PNYRlZV[6-8-Y[l`PNYRlZV[6H\f<<-Qrp|qr-|pnurqny-n\x07v:n{tyr-\0nr{v|{-s|z-@-v{E-nyrrpA-qrp|qr^n\\pnurqny5v{-r{pe9-v{-r{pf9-v{-r{pg6-\n----<<-Qrp|qr-|pnurqny-qvrpv|{----sy|n-|\x07-J-sy|n5r{pe6-<-?BB;=-7-?;=-:->;=H----sy|n-|\b-J-sy|n5r{pf6-<-?BB;=-7-?;=-:->;=H----<<-\\pnurqny-|-{v-rp|----sy|n-| -J->;=-:-no5|\x076-:-no5|\b6H----vs-5| -I-=;=6-\n--------sy|n-z}e-J-|\x07H--------|\x07-J-5>;=-:-no5|\b66-7-5|\x07-KJ-=;=-L->;=-G-:>;=6H--------|\b-J-5>;=-:-no5z}e66-7-5|\b-KJ-=;=-L->;=-G-:>;=6H----\f----rp@-n\x07v-J-{|znyv r5rp@5|\x079-|\b9-| 66H----<<-Qrp|qr-n{tyr-h=9-]Vj----sy|n-n{tyr-J-sy|n5r{pg6-<-?BB;=-7-]VH----sy|n-unysN{tyr-J-n{tyr-7-=;BH----sy|n-v{Unys-J-v{5unysN{tyr6H----sy|n-p|Unys-J-p|5unysN{tyr6H----r{-rpA5n\x07v-7-v{Unys9-p|Unys6H-<<-5\x079-\b9- 9-6\f<<-Ovyq-|nv|{-znv\x07-s|z-\0nr{v|{-5\x079-\b9- 9-6zn@-\0na|Zn@5rpA-\x006-\n----sy|n-\x07-J-\0;\x079-\b-J-\0;\b9- -J-\0; 9--J-\0;H----r{-zn@5-------->;=-:-?;=75\b7\b-8- 7 69-?;=75\x077\b-:- 769-------?;=75\x077 -8-\b769--------?;=75\x077\b-8- 769------->;=-:-?;=75\x077\x07-8- 7 69-?;=75\b7 -:-\x07769--------?;=75\x077 -:-\b769-------?;=75\b7 -8-\x07769------->;=-:-?;=75\x077\x07-8-\b7\b6----6H\frp?-tr`UQnnbc5v{-}ynVq\x079-v{-p|z}|{r{\\ssr9-rp?-r\x07r`v r6-\n----v{-uP|z}|{r{P|{-J-=H----vs-5lzn\x07`uQrtrr-KJ->6-uP|z}|{r{P|{-8J-FH----vs-5lzn\x07`uQrtrr-KJ-?6-uP|z}|{r{P|{-8J->BH----vs-5lzn\x07`uQrtrr-KJ-@6-uP|z}|{r{P|{-8J-?>H----v{-}nqqrqP|z}|{r{P|{-J-uP|z}|{r{P|{H----vs-5}nqqrqP|z}|{r{P|{-2-A-.J-=6-\n--------}nqqrqP|z}|{r{P|{-J-55}nqqrqP|z}|{r{P|{-<-A6-8->6-7-AH----\f----sy|n-yv{rnP|z}|{r{V{qr\x07-J-sy|n5}ynVq\x07-7-}nqqrqP|z}|{r{P|{-8-p|z}|{r{\\ssr6H----sy|n-r\x07ryV{qr\x07-J-yv{rnP|z}|{r{V{qr\x07-<-A;=H----sy|n-q-J-r\x07ryV{qr\x07-<-r\x07r`v r;\x07H----sy|n-\b-J-sy||5q6-<-r\x07r`v r;\bH----sy|n-\x07-J-snp5q6H----r{-rp?5\x079-\b6H\f|vq-znv{-56-\n----v{-}ynV{qr\x07b-J-v{5}ynV{qr\x07-8-=;B6H----v{-}ynV{qr\x07V-J-v{5}ynV{qr\x07b6H----<<-JJJ-P|z}np-s|znG-v{tyr-r\x07rySrpu9-A-\x07-v{@?-J->C-o\br<}yn-JJJ----<<-qnnh=jG-_-\v-TIIE-\v-OII>C-\v-NII?A----<<-qnnh>jG-pr{re5s>C6-\v-pr{rf5s>C6----<<-qnnh?jG-pr{rg5s>C6-\v-\0ne5E6II>C-\v-\0nf5E6II?A----<<-qnnh@jG-pnyre5E6-\v-pnyrf5E6IIE-\v-pnyrg5E6II>C-\v-\0ng5E6II?A----rpA-}npxrq-J-r\x07rySrpu5lr\x07r9-vrp?5}ynV{qr\x07b-3-=\x07Dss9-}ynV{qr\x07b-KK->>69-=6H----<<-Qrp|qr-}|vv|{-s|z-sy|n>C----rp?-}|ef-J-{}npxUnys?\x07>C5}npxrq;\b6H----rp?-}|g\0e-J-{}npxUnys?\x07>C5}npxrq; 6H----rp@-}ynPr{r-J-rp@5}|ef;\x079-}|ef;\b9-}|g\0e;\x076H----<<-Qrp|qr-\0nr{v|{-s|z-|pnurqny-r{p|qv{t----v{-\0nR{pe-J-5}npxrq; -KK->C6-3-=\x07ssH----v{-\0nR{pf-J-5}npxrq; -KK-?A6-3-=\x07ssH----v{-\0nR{pg-J-5}npxrq;-KK-?A6-3-=\x07ssH----rpA-\0n-J-qrp|qr^n\\pnurqny5\0nR{pe9-\0nR{pf9-\0nR{pg6H----<<-Qrp|qr-pnyr-s|z-y|t:r{p|qrq-v{E----sy|n-pnyre-J-qrp|qrY|t`pnyr5}npxrq;-3-=\x07ss6H----sy|n-pnyrf-J-qrp|qrY|t`pnyr55}npxrq;-KK-E6-3-=\x07ss6H----sy|n-pnyrg-J-qrp|qrY|t`pnyr55}npxrq;-KK->C6-3-=\x07ss6H----<<-Qrp|qr-p|y|----rpA-p|y|-J-rpA5--------sy|n5}npxrq;\x07-3-=\x07ss69--------sy|n55}npxrq;\x07-KK-E6-3-=\x07ss69--------sy|n55}npxrq;\x07-KK->C6-3-=\x07ss69--------sy|n55}npxrq;\x07-KK-?A6-3-=\x07ss6----6-<-?BB;=H----<<-_rnq-n{s|z----v{-n{s|zV{qr\x07-J-r\x07rySrpu5ln{s|zV{qvpr9-vrp?5}ynV{qr\x07b-3-=\x07@ss9-}ynV{qr\x07b-KK->=69-=6;\x07H----znA-n{s|z-J-znA5--------r\x07rySrpu5ln{s|z9-vrp?5=9-n{s|zV{qr\x0769-=69--------r\x07rySrpu5ln{s|z9-vrp?5>9-n{s|zV{qr\x0769-=69--------r\x07rySrpu5ln{s|z9-vrp?5?9-n{s|zV{qr\x0769-=69--------r\x07rySrpu5ln{s|z9-vrp?5@9-n{s|zV{qr\x0769-=6----6H----znA-n{s|zZ|qrycvrZnv\x07-J-vrZnv\x07-7-n{s|zH----rpA-|yqPr{r-J-n{s|z-7-rpA5}ynPr{r9->;=6H----<<-JJJ-Nttrtnv|{-rssrp-JJJ----sy|n-y|pny]|tr-J-lnttrtnv|{]|trH----sy|n-pnyr]|tr-J-=;=H----o||y-v{O|{qS|Nttrtnv|{-J-snyrH----vs-5lnttrtnv|{R{noyrq-33-lnttrtnv|{]|tr-I->;=6-\n--------o||y-v{O|{q-J-|yqPr{r;\x07-KJ-lnttrtnv|{O|{qZv{;\x07---------------------33-|yqPr{r;\x07-IJ-lnttrtnv|{O|{qZn\x07;\x07---------------------33-|yqPr{r; -KJ-lnttrtnv|{O|{qZv{; ---------------------33-|yqPr{r; -IJ-lnttrtnv|{O|{qZn\x07; H--------vs-5v{O|{q6-\n------------v{O|{qS|Nttrtnv|{-J-rH------------sy|n-urvtu_n{tr-J-lnttrtnv|{O|{qZn\x07;\b-:-lnttrtnv|{O|{qZv{;\bH------------sy|n-{|znyv rqUrvtu-J-urvtu_n{tr-K-=;==>----------------L-pynz}55|yqPr{r;\b-:-lnttrtnv|{O|{qZv{;\b6-<-urvtu_n{tr9-=;=9->;=6----------------G-=;BH------------sy|n-}|v{Q-J-pynz}5lnttrtnv|{]|v{Qnv|{9-=;=>9->;=6H------------sy|n-navzr-J-5>;=-:-{|znyv rqUrvtu6-7-5>;=-:-}|v{Q6H------------y|pny]|tr-J-pynz}55lnttrtnv|{]|tr-:-navzr6-<-}|v{Q9-=;=9->;=6H------------sy|n-|ssr]|tr-J-z||ur}5=;=9->;=9-y|pny]|tr6H------------pnyr]|tr-J-y|pny]|tr-7-y|pny]|tr-7-y|pny]|trH------------rp@-nttrtnv|{Pr{r-J-5lnttrtnv|{O|{qZv{-8-lnttrtnv|{O|{qZn\x076-<-?;=H------------rp@-qv-J-|yqPr{r;\x07\b -:-nttrtnv|{Pr{rH------------sy|n-qv-J-yr{tu5qv6H------------sy|n-n{q`rrq-J-q|5}ynPr{r9-rp@5>?;FEFE9-DE;?@@9-AB;>CA66H------------sy|n-n{qQv-J-snp5v{5n{q`rrq6-7-A@DBE;BAB@6H------------sy|n-n{tyr-J-n{q`rrq-7->=;=H------------rp@-pnrQv-J-{|znyv r5rp@5----------------p|5n{tyr69----------------zv\x075:=;D9-=;>9-snp5v{5n{q`rrq-7->;D6-7-A@DBE;BAB@669----------------v{5n{tyr6------------66H------------sy|n-r\x07}y|v|{Snp|-J-5>;=-:-|ssr]|tr6-7-5>;=-8->;=-7-n{qQv6H------------rp@-|ssr-J-pnrQv-7-qv-7-r\x07}y|v|{Snp|H------------|yqPr{r;\x07\b -8J-|ssrH------------}ynPr{r-J-5v{rr5n{s|z6-7-|yqPr{r6;\x07\b H--------\f----\f----<<-JJJ-Pyv}}r-purpx-JJJ----0vs-[bZlT`lPYV]]R_`-K-=----v{-yn\brV{qr\x07-J-v{5r\x07rySrpu5lyn\brV{qvpr9-vrp?5}ynV{qr\x07b-3-=\x07@ss9-}ynV{qr\x07b-KK->=69-=6;\x076H----vs-5yn\brV{qr\x07-KJ-=-33-yn\brV{qr\x07-I-[bZlT`lYNfR_`6-\n--------rp?-pyv}_n{tr-J-lyn\brPyv}}r_n{trhyn\brV{qr\x07jH--------v{-pyv}`n-J-v{5pyv}_n{tr;\x07-8-=;B6H--------v{-pyv}P|{-J-v{5pyv}_n{tr;\b-8-=;B6H--------v{-pyv}R{q-J-pyv}`n-8-pyv}P|{H--------s|-5v{-v-J-=H-v-I-[bZlT`lPYV]]R_`H-v886-\n----------------vs-5v-I-pyv}`n-\v\v-v-KJ-pyv}R{q6-\n--------------------p|{v{rH----------------\f----------------rpA-pyv}}r]|vv|{-J-lpyv}}rZnvprV{rrhvj-7-|yqPr{rH----------------o||y-pyv}}rq-J-pyv}}r]|vv|{;\x07-K-:=;B-33-pyv}}r]|vv|{;\x07-I-=;BH----------------pyv}}rq-J-pyv}}rq-33-pyv}}r]|vv|{;\b-K-:=;B-33-pyv}}r]|vv|{;\b-I-=;BH----------------pyv}}rq-J-pyv}}rq-33-pyv}}r]|vv|{; -K-:=;B-33-pyv}}r]|vv|{; -I-=;BH----------------vs-5pyv}}rq6-\n--------------------tyl]|vv|{-J-rpA5=;=9-=;=9-?;=9->;=6H--------------------r{H----------------\f--------\f----\f----0r{qvs----rpA-vrPr{r-J-n{s|zZ|qrycvrZnv\x07-7-rpA5}ynPr{r9->;=6H----rpA-pyv}Pr{r-J-}|wrpv|{Znv\x07-7-vrPr{rH----<<-Sz-pyyv{t----sy|n-pyv}-J->;?-7-pyv}Pr{r;H----vs-5pyv}Pr{r; -I-:pyv}Pr{r;-\v\v-pyv}Pr{r; -K-pyv}Pr{r;-\v\v--------pyv}Pr{r;\x07-I-:pyv}-\v\v-pyv}Pr{r;\x07-K-pyv}-\v\v--------pyv}Pr{r;\b-I-:pyv}-\v\v-pyv}Pr{r;\b-K-pyv}6-\n--------tyl]|vv|{-J-rpA5=;=9-=;=9-?;=9->;=6H--------r{H----\f----rp@-{qpPr{r-J-pyv}Pr{r;\x07\b -<-pyv}Pr{r;H----rp?-s|pny-J-rp?5--------}|wrpv|{Znv\x07h=jh=j-7-r|yv|{;\x07-7-=;B9--------}|wrpv|{Znv\x07h>jh>j-7-r|yv|{;\b-7-=;B----6H----]|vv|{-J-}|vv|{;\x07\bH----<<-JJJ-P|z}r-@Q-p|nvn{pr-s|z-\0nr{v|{-8-pnyr-5v{:unqr9-{|-}r:p|z}nv|{6-JJJ----<<-auv-r}ynpr-ur-}r:p|z}rq-p|nvn{pr-rnq-s|z-ur-|yq-@?:o\br-s|zn;----<<-_rsrr{prG-`}nx-p|z}r-p|nvn{pr-v{-rr\x07-unqr-s|z-}npxrq-\0nr{v|{8pnyr;----zn@-|Zn-J-\0na|Zn@5\0n6H----zn@-pnyrZn-J-zn@5--------pnyre9-=;=9-=;=9--------=;=9-pnyrf9-=;=9--------=;=9-=;=9-pnyrg----6H----zn@-Z-J-pnyrZn-7-|ZnH----<<-cx-J-Z-7-Zka-5@Q-p|nvn{pr-v{-|owrp-}npr6----zn@-cx-J-zn@5--------q|5Zh=j9-Zh=j69-q|5Zh=j9-Zh>j69-q|5Zh=j9-Zh?j69--------q|5Zh>j9-Zh=j69-q|5Zh>j9-Zh>j69-q|5Zh>j9-Zh?j69--------q|5Zh?j9-Zh=j69-q|5Zh?j9-Zh>j69-q|5Zh?j9-Zh?j6----6H----<<-Wnp|ovn{-s|-}r}rpvr<|u|tn}uvp-}|wrpv|{----o||y-v\\u|tn}uvp-J-}|wrpv|{Znv\x07h@jh@j-K-=;DH----zn@-WH----vs-5v\\u|tn}uvp6-\n--------W-J-n{}|r5zn@5------------s|pny;\x079-=;=9-=;=9------------=;=9-s|pny;\b9-=;=9------------=;=9-=;=9-=;=--------66H----\f-ryr-\n--------sy|n--J->;=-<-5vrPr{r; -7-vrPr{r; 6H--------W-J-zn@5------------s|pny;\x07-<-vrPr{r; 9-=;=9-:5s|pny;\x07-7-vrPr{r;\x076-7-9------------=;=9-s|pny;\b-<-vrPr{r; 9-:5s|pny;\b-7-vrPr{r;\b6-7-9------------=;=9-=;=9-=;=--------6H----\f----zn@-d-J-n{}|r5zn@5n{s|zZ|qrycvrZnv\x0766H----zn@-a-J-d-7-WH----<<-]|wrp-@Q-p|nvn{pr-|-?Q----zn@-p|?Qz-J-n{}|r5a6-7-cx-7-aH----p|?Qzh=jh=j-8J-xr{ry?Q`v rH----p|?Qzh>jh>j-8J-xr{ry?Q`v rH----rp@-p|?Q-J-rp@5p|?Qzh=jh=j9-p|?Qzh=jh>j9-p|?Qzh>jh>j6H----sy|n-n-J-p|?Q;\x07H----sy|n-q-J-p|?Q; H----sy|n-o-J-p|?Q;\bH----sy|n-Q-J-n-7-q-:-o-7-oH----sy|n-npr-J-n-8-qH----sy|n-npr\\r?-J-=;B-7-nprH----sy|n-rz?-J-\05zn\x075=;>9-npr\\r?-7-npr\\r?-:-Q66H----sy|n-rvtr{cnyr>-J-npr\\r?-8-rz?H----sy|n-rvtr{cnyr?-J-npr\\r?-:-rz?H----vs-5rvtr{cnyr?-IJ-=;=6-\n--------r{H----\f----rp?-rvtr{crp|>-J-{|znyv r5rp?5o9-rvtr{cnyr>-:-n66H----rp?-rvtr{crp|?-J-rp?5rvtr{crp|>;\b9-:rvtr{crp|>;\x076H----rp?-onvcrp|>-J-rvtr{crp|>-7-zv{5\0E-7-\05rvtr{cnyr>69-zn\x07`prr{`}npr`}yn`v r6H----rp?-onvcrp|?-J-rvtr{crp|?-7-zv{5\0E-7-\05rvtr{cnyr?69-zn\x07`prr{`}npr`}yn`v r6H----rp?-onvcvr}|-J-rp?5>;=-<-r|yv|{;\x079->;=-<-r|yv|{;\b6H----rp?-{qp\\ssr-J-rp?5]|vv|{;\x07-7-onvcrp|>-8-]|vv|{;\b-7-onvcrp|?6-7---------------------onvcvr}|-7-?;=H----<<-]|v{:py|q-|-@QT`-n{vv|{----vs-5lnttrtnv|{R{noyrq6-\n--------sy|n-sv{ny`pnyr]|tr-J-v{O|{qS|Nttrtnv|{-L-pnyr]|tr-G-5lnttrtnv|{]|tr-7-lnttrtnv|{]|tr-7-lnttrtnv|{]|tr6H--------{qp\\ssr-7J-zv\x075=;>9->;=9-sv{ny`pnyr]|tr6H----\f----rpA-\0nq]|-J-rpA5{qpPr{r;\x07\b-8-{qp\\ssr9-{qpPr{r; 9->;=6H----tyl]|vv|{-J-\0nq]|H----<<-JJJ-`U-yvtuv{t-JJJ----vs-5lzn\x07`uQrtrr-KJ->6-\n--------rp@-pnzrn]|V{\\owrp-J-rp@5v{rr5n{s|z6-7-rpA5pnzrn]|vv|{9->;=66H--------rp@-|owrpcvrQv-J-{|znyv r5}ynPr{r-:-pnzrn]|V{\\owrp6H--------rpA-u=>?@-J-r\x07r5luar\x07r9-tr`UQnnbc5}ynV{qr\x07V9-=9-luar\x07r`v r66H--------rpA-uABCD-J-r\x07r5luar\x07r9-tr`UQnnbc5}ynV{qr\x07V9-A9-luar\x07r`v r66H--------rpA-uEF>=>>-J-r\x07r5luar\x07r9-tr`UQnnbc5}ynV{qr\x07V9-E9-luar\x07r`v r66H--------rp@-u>-J-u=>?@;toH--------rp@-u?-J-rp@5u=>?@;n9-uABCD;t6H--------rp@-u@-J-rp@5uABCD;on9-uEF>=>>;6H--------sy|n-\x07-J-|owrpcvrQv;\x07H--------sy|n-\b-J-|owrpcvrQv;\bH--------sy|n- -J-|owrpcvrQv; H--------rp@-uP|y|-J-u>-7-5:=;AEEC=?B-7-\b6-8-u?-7-5=;AEEC=?B-7- 6-8-u@-7-5:=;AEEC=?B-7-\x076H--------p|y|;to-8J-uP|y|H--------vs-5lzn\x07`uQrtrr-KJ-?6-\n------------rpA-u>?>@>A>B-J-r\x07r5luar\x07r9-tr`UQnnbc5}ynV{qr\x07V9->?9-luar\x07r`v r66H------------rpA-u>C>D>E>F-J-r\x07r5luar\x07r9-tr`UQnnbc5}ynV{qr\x07V9->C9-luar\x07r`v r66H------------rpA-u?=?>???@-J-r\x07r5luar\x07r9-tr`UQnnbc5}ynV{qr\x07V9-?=9-luar\x07r`v r66H------------rp@-uA-J-uEF>=>>;tonH------------rp@-uB-J-u>?>@>A>B;toH------------rp@-uC-J-rp@5u>?>@>A>B;n9-u>C>D>E>F;t6H------------rp@-uD-J-rp@5u>C>D>E>F;on9-u?=?>???@;6H------------rp@-uElqrt?-J-u?=?>???@;tonH------------sy|n-\x07\x07-J-\x07-7-\x07H------------sy|n-\b\b-J-\b-7-\bH------------sy|n- -J- -7- H------------sy|n-\x07\b-J-\x07-7-\bH------------sy|n-\b -J-\b-7- H------------sy|n-\x07 -J-\x07-7- H------------p|y|;to-8J----------------5`UlP?l=-7-\x07\b6-7-uA-8----------------5`UlP?l>-7-\b 6-7-uB-8----------------5`UlP?l?-7-5?;=-7- -:-\x07\x07-:-\b\b66-7-uC-8----------------5`UlP?l@-7-\x07 6-7-uD-8----------------5`UlP?lA-7-5\x07\x07-:-\b\b66-7-uElqrt?H--------\f----\f----p|y|;to-J-pynz}5p|y|;to9-rp@5=;=69-rp@5>;=66H----P|y|-J-p|y|H----]|vv|{-7J-\0EH----b-J-}|vv|{;\x07\bH\f"), Oy = function(...e) {
25987
26001
  return e[0].split("").map((e) => e.charCodeAt(0) > 126 ? e : String.fromCharCode((e.charCodeAt(0) + 113) % 126)).join("");
25988
- }("}rpvv|{-uvtu}-sy|nH0v{pyqr-Ip|zz|{Kn\bv{t-rpA-P|y|Hn\bv{t-rp?-]|vv|{Hn\bv{t-rp?-bH|vq-znv{-56-\n----<<-计算从-}yn-中心到当前片段的平方距离----<<-由于-]|vv|{-已经按-\05E6-缩放,平方结果会被缩放-E-倍----<<-如果平方结果大于-E,说明在椭圆外,距离均值超过-\05E6-个标准差----sy|n-N-J-q|5]|vv|{9-]|vv|{6H----vs-5N-K-E;=6-qvpnqH--------rp@-p|y|-J-P|y|;toH--------<<-由于渲染的-}yn-按-\05E6-缩放,高斯公式中的逆协方差矩阵部分变成单位矩阵----<<-因此只剩下-5e-:-zrn{6-7-5e-:-zrn{6,而-zrn{-为零,所以是-e-7-e,即-N----sy|n-|}npv\b-J-r\x07}5:=;B-7-N6-7-P|y|;nH--------tylSntP|y|-J-rpA5p|y|;to9-|}npv\b6H\f"), Dy = 2, Oy = class extends e.Mesh {
26002
+ }("}rpvv|{-uvtu}-sy|nH0v{pyqr-Ip|zz|{Kn\bv{t-rpA-P|y|Hn\bv{t-rp?-]|vv|{Hn\bv{t-rp?-bH|vq-znv{-56-\n----<<-计算从-}yn-中心到当前片段的平方距离----<<-由于-]|vv|{-已经按-\05E6-缩放,平方结果会被缩放-E-倍----<<-如果平方结果大于-E,说明在椭圆外,距离均值超过-\05E6-个标准差----sy|n-N-J-q|5]|vv|{9-]|vv|{6H----vs-5N-K-E;=6-qvpnqH--------rp@-p|y|-J-P|y|;toH--------<<-由于渲染的-}yn-按-\05E6-缩放,高斯公式中的逆协方差矩阵部分变成单位矩阵----<<-因此只剩下-5e-:-zrn{6-7-5e-:-zrn{6,而-zrn{-为零,所以是-e-7-e,即-N----sy|n-|}npv\b-J-r\x07}5:=;B-7-N6-7-P|y|;nH--------tylSntP|y|-J-rpA5p|y|;to9-|}npv\b6H\f"), ky = 2, Ay = class extends e.Mesh {
25989
26003
  constructor() {
25990
26004
  super(), this.renderData = null, this.needsRender = !1, this.sortWorker = null, this.depthIndex = new Uint32Array(), this.splatIndexCapacity = 0, this.activeSlot = null, this.pendingSlot = null, this.rebuildGeneration = 0, this.forceClipperUniformRefresh = !1, this.incrementalUpdateInFlight = !1, this.freeSlotPool = [], this.dataTexture = null, this.transformsTexture = null, this.transformIndicesTexture = null, this.layerIndicesTexture = null, this.shTexture = null, this.usedSHDegree = 0, this.sortDataRebuilding = !1, this.onBeforeRender = (t, n, r) => {
25991
26005
  let i = r, a = this.collectObjects(n);
@@ -26014,7 +26028,7 @@ var Ty = function(...e) {
26014
26028
  this.geometry = t, this.material = n, this.frustumCulled = !1, this.renderOrder = -99999999999, this.gsSceneState = {
26015
26029
  lastObjectsHash: "",
26016
26030
  lastClipperHash: ""
26017
- }, this.sortWorker = new wy(), this.sortWorker.postMessage({ warmup: !0 }), xy.warmupWasm(), this.sortWorker.onmessage = (e) => {
26031
+ }, this.sortWorker = new Ey(), this.sortWorker.postMessage({ warmup: !0 }), Cy.warmupWasm(), this.sortWorker.onmessage = (e) => {
26018
26032
  if (e.data.depthIndex) {
26019
26033
  let t = e.data.generation;
26020
26034
  if (this.pendingSlot && t === this.pendingSlot.generation) {
@@ -26070,8 +26084,8 @@ var Ty = function(...e) {
26070
26084
  }
26071
26085
  createMaterial() {
26072
26086
  return new e.ShaderMaterial({
26073
- vertexShader: Ty,
26074
- fragmentShader: Ey,
26087
+ vertexShader: Dy,
26088
+ fragmentShader: Oy,
26075
26089
  defines: {
26076
26090
  NUM_GS_LAYERS: 0,
26077
26091
  NUM_GS_CLIPPERS: 0
@@ -26174,7 +26188,7 @@ var Ty = function(...e) {
26174
26188
  }
26175
26189
  recycleSlot(e) {
26176
26190
  if (e) {
26177
- if (this.freeSlotPool.length >= Dy) {
26191
+ if (this.freeSlotPool.length >= ky) {
26178
26192
  let e = this.freeSlotPool.shift();
26179
26193
  this.disposeSlot(e);
26180
26194
  }
@@ -26291,7 +26305,7 @@ var Ty = function(...e) {
26291
26305
  }
26292
26306
  startPendingRebuild(e) {
26293
26307
  this.pendingSlot && (this.recycleSlot(this.pendingSlot), this.pendingSlot = null), this.rebuildGeneration += 1;
26294
- let t = new xy(e, this.rebuildGeneration), n = this.freeSlotPool.pop();
26308
+ let t = new Cy(e, this.rebuildGeneration), n = this.freeSlotPool.pop();
26295
26309
  if (n) {
26296
26310
  n.renderData.dispose();
26297
26311
  let e = this.createTextures(t, n.textures);
@@ -26325,7 +26339,7 @@ var Ty = function(...e) {
26325
26339
  for (let e of this.freeSlotPool) this.disposeSlot(e);
26326
26340
  this.freeSlotPool.length = 0, this.renderData = null, this.sortWorker && this.sortWorker.terminate(), this.bindSlotTextures(null), this.geometry.dispose(), this.material.dispose();
26327
26341
  }
26328
- }, ky = class extends e.Mesh {
26342
+ }, jy = class extends e.Mesh {
26329
26343
  constructor() {
26330
26344
  super(), this.onBeforeRender = (e, t, n) => {
26331
26345
  this.collectObjects(t).length > 0 && console.warn("未开启webgl2, 3dgs仅支持在开启webgl2模式后使用");
@@ -26337,9 +26351,9 @@ var Ty = function(...e) {
26337
26351
  e instanceof Yn && e.visible && t.push(e);
26338
26352
  }), t;
26339
26353
  }
26340
- }, Ay = 1e3, jy = 90, My = (e) => e.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/"), Ny = new e.Sphere(), Py = new e.Box3(), Fy = new e.Vector4(), Iy = new e.Vector4(), Ly = new e.Color(), Ry = new e.Vector2(), zy = /* @__PURE__ */ new WeakMap(), By = tm([Qp(null)]), Vy = {}, Hy = class t extends an {
26354
+ }, My = 1e3, Ny = 90, Py = (e) => e.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/"), Fy = new e.Sphere(), Iy = new e.Box3(), Ly = new e.Vector4(), Ry = new e.Vector4(), zy = new e.Color(), By = new e.Vector2(), Vy = /* @__PURE__ */ new WeakMap(), Hy = tm([Qp(null)]), Uy = {}, Wy = class t extends an {
26341
26355
  static get version() {
26342
- return "6.8.0";
26356
+ return "6.8.2";
26343
26357
  }
26344
26358
  static get dracoPath() {
26345
26359
  return eo.decoderPath;
@@ -26361,7 +26375,7 @@ var Ty = function(...e) {
26361
26375
  }
26362
26376
  constructor(t = {}) {
26363
26377
  var n, r, i, a, o, s, c, l, u, d, f;
26364
- if (super(), this.pbmGaussianSplattingRenderMesh = null, this.fiveId = $t(), Vy[this.fiveId] = this, this.currentUpdateArgs = {
26378
+ if (super(), this.pbmGaussianSplattingRenderMesh = null, this.fiveId = $t(), Uy[this.fiveId] = this, this.currentUpdateArgs = {
26365
26379
  time: H(),
26366
26380
  args: []
26367
26381
  }, this.currentMode = "Panorama", this.pano = {
@@ -26378,7 +26392,7 @@ var Ty = function(...e) {
26378
26392
  }, this.fps = {
26379
26393
  testCount: 0,
26380
26394
  testTime: H()
26381
- }, this.modeChangeDuration = (c = t.modeChangeDuration) == null ? Ay : c, this.enableWheel = (l = t.enableWheel) == null ? !0 : l, typeof window < "u") if ("renderer" in t) t.renderer instanceof Jm && this.throwError(/* @__PURE__ */ Error("cannot render a internal renderer")), this.renderer = t.renderer;
26395
+ }, this.modeChangeDuration = (c = t.modeChangeDuration) == null ? My : c, this.enableWheel = (l = t.enableWheel) == null ? !0 : l, typeof window < "u") if ("renderer" in t) t.renderer instanceof Jm && this.throwError(/* @__PURE__ */ Error("cannot render a internal renderer")), this.renderer = t.renderer;
26382
26396
  else try {
26383
26397
  this.renderer = new Jm({
26384
26398
  preserveDrawingBuffer: t.preserveDrawingBuffer,
@@ -26388,7 +26402,7 @@ var Ty = function(...e) {
26388
26402
  precision: t.precision,
26389
26403
  powerPreference: t.powerPreference
26390
26404
  });
26391
- let e = Yv();
26405
+ let e = Zv();
26392
26406
  this.renderer.setPixelRatio(e === 1 ? window.devicePixelRatio : 1), this.renderer.setSize(512, 512), this.renderer.setClearColor(this.backgroundColor, this.backgroundAlpha);
26393
26407
  } catch (e) {
26394
26408
  let t = e instanceof Error ? e : Error(String(e));
@@ -26402,7 +26416,7 @@ var Ty = function(...e) {
26402
26416
  bottom: 0,
26403
26417
  width: 1,
26404
26418
  height: 1
26405
- }, t.viewport), this.camera = new Zt(jy), this.scene = new th(), this.xrCustomObjectsScene = new e.Scene(), this.scene.add(this.xrCustomObjectsScene), this.scene.matrixAutoUpdate = !1, this.loadWorkTask = Promise.resolve(), this.requestProxy = (f = t.requestProxy) == null ? My : f, this.networkSubscribe = new sr(), this.networkSubscribe.on("network", (e, t, n, r) => {
26419
+ }, t.viewport), this.camera = new Zt(Ny), this.scene = new th(), this.xrCustomObjectsScene = new e.Scene(), this.scene.add(this.xrCustomObjectsScene), this.scene.matrixAutoUpdate = !1, this.loadWorkTask = Promise.resolve(), this.requestProxy = (f = t.requestProxy) == null ? Py : f, this.networkSubscribe = new sr(), this.networkSubscribe.on("network", (e, t, n, r) => {
26406
26420
  var i;
26407
26421
  this.emit("network.resource", Q("network.resource", {
26408
26422
  source: e,
@@ -26410,17 +26424,17 @@ var Ty = function(...e) {
26410
26424
  requestState: n,
26411
26425
  detail: r
26412
26426
  })), (i = this.analysis) == null || i.network(this.works, e, t, n, r);
26413
- }), this.readyCallbacks = [], this.syncingState = !1, this.helperGroup = new e.Group(), this.helperGroup.name = "helper", this.helperGroup.matrixAutoUpdate = !1, this.scene.add(this.helperGroup), zy.set(this, By), this.modelScene = new Qf({ fiveId: this.fiveId }), this.modelScene.addEventListener("model.create", (e) => {
26427
+ }), this.readyCallbacks = [], this.syncingState = !1, this.helperGroup = new e.Group(), this.helperGroup.name = "helper", this.helperGroup.matrixAutoUpdate = !1, this.scene.add(this.helperGroup), Vy.set(this, Hy), this.modelScene = new Qf({ fiveId: this.fiveId }), this.modelScene.addEventListener("model.create", (e) => {
26414
26428
  this.bindModel(e.model);
26415
26429
  }), this.scene.add(this.modelScene);
26416
- let [p] = this.modelScene.setModels(By, { forceReplaceImmediately: !0 });
26430
+ let [p] = this.modelScene.setModels(Hy, { forceReplaceImmediately: !0 });
26417
26431
  V(p, "loaded", {
26418
26432
  get() {
26419
26433
  return !1;
26420
26434
  },
26421
26435
  set(e) {}
26422
- }), this.videoTexture = new e.VideoTexture(t.videoInstance || Kv());
26423
- let m = qv();
26436
+ }), this.videoTexture = new e.VideoTexture(t.videoInstance || Jv());
26437
+ let m = Yv();
26424
26438
  this.scene.add(m), this.state = {
26425
26439
  mode: this.currentMode,
26426
26440
  workCode: this.pano.workCode,
@@ -26450,7 +26464,7 @@ var Ty = function(...e) {
26450
26464
  }
26451
26465
  }
26452
26466
  }
26453
- Gv(this), this.fiveRenderer = new qm(), this.adaptiveLuminancePass = new Em(), this.adaptiveLuminancePass.enabled = !1, this.fiveRenderer.composer.addPass(this.adaptiveLuminancePass), this.eyeDomeLightingPass = new km(this.camera), this.eyeDomeLightingPass.enabled = !1, this.fiveRenderer.composer.addPass(this.eyeDomeLightingPass), t.webgl2 ? (this.pbmGaussianSplattingRenderMesh = new Oy(), this.scene.add(this.pbmGaussianSplattingRenderMesh)) : this.scene.add(new ky());
26467
+ qv(this), this.fiveRenderer = new qm(), this.adaptiveLuminancePass = new Em(), this.adaptiveLuminancePass.enabled = !1, this.fiveRenderer.composer.addPass(this.adaptiveLuminancePass), this.eyeDomeLightingPass = new km(this.camera), this.eyeDomeLightingPass.enabled = !1, this.fiveRenderer.composer.addPass(this.eyeDomeLightingPass), t.webgl2 ? (this.pbmGaussianSplattingRenderMesh = new Ay(), this.scene.add(this.pbmGaussianSplattingRenderMesh)) : this.scene.add(new jy());
26454
26468
  }
26455
26469
  get ident() {
26456
26470
  return this.fiveId;
@@ -26464,11 +26478,11 @@ var Ty = function(...e) {
26464
26478
  dispose() {
26465
26479
  var t;
26466
26480
  if (this.destroyed === !0) return;
26467
- delete Vy[this.fiveId], 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);
26481
+ delete Uy[this.fiveId], 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);
26468
26482
  let n = this.getElement();
26469
26483
  n && n.parentNode && n.parentNode.removeChild(n);
26470
26484
  let r = this.modelScene.parameter;
26471
- r.pano0 && r.pano0.map.dispose(), r.pano1 && r.pano1.map !== ((t = r.pano0) == null ? void 0 : t.map) && r.pano1.map.dispose(), r.reset("pano0", "pano1"), this.modelScene.dispose(), this.scene.dispose(), this.xrCustomObjectsScene.dispose(), zy.set(this, By), this.renderer && this.renderer.render(new e.Scene(), new e.Camera()), this.fiveRenderer.dispose(), this.renderer instanceof Jm && (this.renderer.forceContextLoss && this.renderer.forceContextLoss(), this.renderer.dispose());
26485
+ r.pano0 && r.pano0.map.dispose(), r.pano1 && r.pano1.map !== ((t = r.pano0) == null ? void 0 : t.map) && r.pano1.map.dispose(), r.reset("pano0", "pano1"), this.modelScene.dispose(), this.scene.dispose(), this.xrCustomObjectsScene.dispose(), Vy.set(this, Hy), this.renderer && this.renderer.render(new e.Scene(), new e.Camera()), this.fiveRenderer.dispose(), this.renderer instanceof Jm && (this.renderer.forceContextLoss && this.renderer.forceContextLoss(), this.renderer.dispose());
26472
26486
  }
26473
26487
  setViewport(e) {
26474
26488
  Object.assign(this.viewport, e), this.needsRender = !0;
@@ -26503,7 +26517,7 @@ var Ty = function(...e) {
26503
26517
  if (!this.renderer) return;
26504
26518
  let a = this.renderer.domElement.parentNode, { width: o = (n = a == null ? void 0 : a.offsetWidth) == null ? 512 : n, height: s = (r = a == null ? void 0 : a.offsetHeight) == null ? 512 : r } = e;
26505
26519
  if (o = Math.max(1, o), s = Math.max(1, s), !t) {
26506
- let e = Yv(), n = typeof window < "u" ? window.devicePixelRatio : 1;
26520
+ let e = Zv(), n = typeof window < "u" ? window.devicePixelRatio : 1;
26507
26521
  if (t = (i = e === 1 ? n : 1) == null ? 1 : i, t > 1) {
26508
26522
  let e = Math.max(o, s) * t, n = Math.min(this.renderer.capabilities.maxTextureSize, 4096);
26509
26523
  e > n && (t = Math.max(t / e * n, 1), t = Math.floor(t * 100) / 100);
@@ -26537,7 +26551,7 @@ var Ty = function(...e) {
26537
26551
  return this.controller.updateCameraWithKeyframes(e, t, n);
26538
26552
  }
26539
26553
  get works() {
26540
- return zy.get(this) || By;
26554
+ return Vy.get(this) || Hy;
26541
26555
  }
26542
26556
  get work() {
26543
26557
  return this.works[0];
@@ -26561,7 +26575,7 @@ var Ty = function(...e) {
26561
26575
  load_(n, r, i, a = !0) {
26562
26576
  var o, s, c, l, u, d, f, p, m, h;
26563
26577
  let g = {};
26564
- typeof i == "number" ? g.duration = i : typeof i == "object" && Object.assign(g, i), this.works === By && (g.duration === void 0 && (g.duration = 0), g.effect === void 0 && (g.effect = "instant"));
26578
+ typeof i == "number" ? g.duration = i : typeof i == "object" && Object.assign(g, i), this.works === Hy && (g.duration === void 0 && (g.duration = 0), g.effect === void 0 && (g.effect = "instant"));
26565
26579
  let _ = {};
26566
26580
  Object.assign(_, g.model), !_["3d-tiles"] && g["3d-tiles"] && (_["3d-tiles"] = g["3d-tiles"]), !_.textureOptions && g.textureOptions && (_.textureOptions = g.textureOptions), !_.textureOptions && this.textureOptions && (_.textureOptions = this.textureOptions);
26567
26581
  let v = [];
@@ -26575,7 +26589,7 @@ var Ty = function(...e) {
26575
26589
  return this.throwError(e), Promise.reject(e);
26576
26590
  }
26577
26591
  for (let e of y) this.bindWorkFetcher(e);
26578
- r === void 0 && (r = "inherit"), r === "inherit" && this.works === By && (r = "initial");
26592
+ r === void 0 && (r = "inherit"), r === "inherit" && this.works === Hy && (r = "initial");
26579
26593
  let b = this.currentMode, x = y.initial, S = x.work.observers[0], C = S ? {
26580
26594
  workCode: S.work.workCode,
26581
26595
  panoIndex: S.panoIndex
@@ -26646,7 +26660,7 @@ var Ty = function(...e) {
26646
26660
  duration: E,
26647
26661
  effect: D,
26648
26662
  userAction: a
26649
- } }, this.commonParams()), this.controllerInits[e]), c = Hv[o.mode].initAnimationEndState(s);
26663
+ } }, this.commonParams()), this.controllerInits[e]), c = Wv[o.mode].initAnimationEndState(s);
26650
26664
  if (this.controller && b === e) this.controller.updateWork(y, c, {
26651
26665
  effect: D,
26652
26666
  duration: E
@@ -26654,7 +26668,7 @@ var Ty = function(...e) {
26654
26668
  else {
26655
26669
  if (this.controller) this.controller.destroy();
26656
26670
  else {
26657
- let t = Hv[e].initAnimationEndState(s);
26671
+ let t = Wv[e].initAnimationEndState(s);
26658
26672
  this.camera.setFromPose(t), this.emit("camera.update", Q("camera.update", {
26659
26673
  state: this.getCurrentState(),
26660
26674
  userAction: a
@@ -26675,7 +26689,7 @@ var Ty = function(...e) {
26675
26689
  }
26676
26690
  this.updateTime(this.currentUpdateArgs.time, 0, ...this.currentUpdateArgs.args);
26677
26691
  };
26678
- zy.set(this, y);
26692
+ Vy.set(this, y);
26679
26693
  let k = Promise.resolve();
26680
26694
  if (w === t.Mode.Floorplan || w === t.Mode.Topview || w === t.Mode.Mapview || w === t.Mode.Model) {
26681
26695
  this.modelScene.loaded === !1 && (this.camera.setFromPose(T), Mh(this.state, this.camera.pose));
@@ -26726,12 +26740,12 @@ var Ty = function(...e) {
26726
26740
  pano0: null,
26727
26741
  pano1: null,
26728
26742
  modelAlpha: 1
26729
- }), zy.set(this, By), this.modelScene.setModels(By, { forceReplaceImmediately: !0 }), this.renderer && this.modelScene.update(this.renderer, this.camera), this.needsRender = !0, this.currentMode = "Panorama", this.pano = {
26743
+ }), Vy.set(this, Hy), this.modelScene.setModels(Hy, { forceReplaceImmediately: !0 }), this.renderer && this.modelScene.update(this.renderer, this.camera), this.needsRender = !0, this.currentMode = "Panorama", this.pano = {
26730
26744
  workCode: "",
26731
26745
  panoIndex: 0
26732
26746
  }, this.camera.setFromPose({
26733
26747
  distance: 0,
26734
- fov: jy,
26748
+ fov: Ny,
26735
26749
  longitude: 0,
26736
26750
  latitude: 0,
26737
26751
  offset: new e.Vector3(0, 0, 0)
@@ -26780,7 +26794,7 @@ var Ty = function(...e) {
26780
26794
  duration: f,
26781
26795
  effect: p,
26782
26796
  userAction: i
26783
- } }, this.commonParams()), this.controllerInits[e]), a = Hv[e].initAnimationEndState(r), o = Q("mode.change.request", {
26797
+ } }, this.commonParams()), this.controllerInits[e]), a = Wv[e].initAnimationEndState(r), o = Q("mode.change.request", {
26784
26798
  prevMode: this.currentMode,
26785
26799
  mode: e,
26786
26800
  state: a,
@@ -26815,10 +26829,10 @@ var Ty = function(...e) {
26815
26829
  let c = H(), l = this.renderer.getPixelRatio(), u = this.renderer.getRenderTarget(), d = this.getSize(new e.Vector2()), f = 0, p = 0, m = 1, h = 1, g, _, v, y, b;
26816
26830
  typeof t == "number" ? (f = t, typeof n == "number" && (p = n), typeof r == "number" && (m = r), typeof i == "number" && (h = i), g = a, _ = o, b = s) : (f = t.x, p = t.y, m = t.width, h = t.height, g = t.pixelRatio, _ = t.flipY, v = t.helperVisible, y = t.skipPanorama, b = t.buffer), f = Math.floor(f), p = Math.floor(p), m = Math.floor(m), h = Math.floor(h), g = Math.floor(g == null ? l : g), _ = _ == null ? !1 : _;
26817
26831
  let x = this.helperVisible, S = this.modelScene.parameter.modelAlpha;
26818
- this.helperVisible = v == null ? this.helperVisible : v, y && (this.controller instanceof Hv.Panorama || this.controller instanceof Hv.VRPanorama || this.controller instanceof Hv.XRPanorama) && y === !0 && this.modelScene.parameter.set("modelAlpha", 1), this.modelScene.update(this.renderer, this.camera);
26832
+ this.helperVisible = v == null ? this.helperVisible : v, y && (this.controller instanceof Wv.Panorama || this.controller instanceof Wv.VRPanorama || this.controller instanceof Wv.XRPanorama) && y === !0 && this.modelScene.parameter.set("modelAlpha", 1), this.modelScene.update(this.renderer, this.camera);
26819
26833
  let C = this.getPixelsRenderTarget;
26820
26834
  C.setSize(m * g, h * g), this.renderer.setRenderTarget(C), this.camera.pixelRatio = g, this.camera.resolution.set(m, h), this.camera.setViewOffset(d.width, d.height, f, d.height - p - h, m, h), this.camera.aspect = d.width / d.height, this.camera.updateTime(c), this.scene.update(this.renderer, this.camera);
26821
- let w = this.renderer.autoClear, T = this.renderer.autoClearColor, E = this.renderer.autoClearDepth, D = this.renderer.autoClearStencil, O = Ly.copy(this.renderer.getClearColor()), k = this.renderer.getClearAlpha(), A = this.renderer.getScissorTest();
26835
+ let w = this.renderer.autoClear, T = this.renderer.autoClearColor, E = this.renderer.autoClearDepth, D = this.renderer.autoClearStencil, O = zy.copy(this.renderer.getClearColor()), k = this.renderer.getClearAlpha(), A = this.renderer.getScissorTest();
26822
26836
  this.renderer.autoClear = !0, this.renderer.autoClearColor = !0, this.renderer.autoClearDepth = !0, this.renderer.autoClearStencil = !0, this.renderer.setScissorTest(!1);
26823
26837
  let j = this.scene.background;
26824
26838
  this.scene.background = this.camera.isOrthographicCamera ? null : j, this.renderer.render(this.scene, this.camera), this.scene.background = j, this.renderer.autoClear = w, this.renderer.autoClearColor = T, this.renderer.autoClearDepth = E, this.renderer.autoClearStencil = D, this.renderer.setClearColor(O, k), this.renderer.setScissorTest(A), this.helperVisible = x, S === void 0 ? this.modelScene.parameter.reset("modelAlpha") : this.modelScene.parameter.set("modelAlpha", S), this.renderer.setRenderTarget(u), this.camera.clearViewOffset(), this.camera.pixelRatio = l, this.camera.resolution.copy(d), this.camera.aspect = this.camera.resolution.width / this.camera.resolution.height, this.camera.updateTime(c), this.modelScene.update(this.renderer, this.camera), this.scene.update(this.renderer, this.camera);
@@ -26841,9 +26855,9 @@ var Ty = function(...e) {
26841
26855
  if (!t) return;
26842
26856
  let n = t.getRenderTarget();
26843
26857
  t.setRenderTarget(null);
26844
- let r = t.autoClear, i = t.autoClearColor, a = t.autoClearDepth, o = t.autoClearStencil, s = Ly.copy(t.getClearColor()), c = t.getClearAlpha(), l = t.getViewport(Fy), u = t.getScissor(Iy), d = t.getScissorTest();
26858
+ let r = t.autoClear, i = t.autoClearColor, a = t.autoClearDepth, o = t.autoClearStencil, s = zy.copy(t.getClearColor()), c = t.getClearAlpha(), l = t.getViewport(Ly), u = t.getScissor(Ry), d = t.getScissorTest();
26845
26859
  t.autoClear = !0, t.autoClearColor = !0, t.autoClearDepth = !0, t.autoClearStencil = !0;
26846
- let f = t.getSize(Ry), p = Math.floor(f.x * this.viewport.left), m = Math.floor(f.y * this.viewport.bottom), h = Math.floor(f.x * this.viewport.width), g = Math.floor(f.y * this.viewport.height);
26860
+ let f = t.getSize(By), p = Math.floor(f.x * this.viewport.left), m = Math.floor(f.y * this.viewport.bottom), h = Math.floor(f.x * this.viewport.width), g = Math.floor(f.y * this.viewport.height);
26847
26861
  t.setClearColor(this.backgroundColor, this.backgroundAlpha), t.setViewport(p, m, h, g), t.setScissor(p, m, h, g);
26848
26862
  let _ = this.viewport.bottom !== 0 || this.viewport.left !== 0 || this.viewport.width !== 1 || this.viewport.height !== 1;
26849
26863
  t.setScissorTest(_);
@@ -26852,7 +26866,7 @@ var Ty = function(...e) {
26852
26866
  let y = !0;
26853
26867
  if (this.controller && this.controller.render() && (y = !1), y) {
26854
26868
  let e = this.fiveRenderer.render(t, this.scene, this.modelScene, this.camera, this.needsRender);
26855
- this.poweredByRealsee && e && ly(t);
26869
+ this.poweredByRealsee && e && dy(t);
26856
26870
  }
26857
26871
  this.scene.background = v, t.autoClear = r, t.autoClearColor = i, t.autoClearDepth = a, t.autoClearStencil = o, t.setClearColor(s, c), t.setViewport(l), t.setScissor(u), t.setScissorTest(d), t.setRenderTarget(n), e && ri.shared.add(e, !0);
26858
26872
  }
@@ -26870,8 +26884,8 @@ var Ty = function(...e) {
26870
26884
  }, !0, 0, 10);
26871
26885
  }
26872
26886
  if (this.camera.autoNearFar) {
26873
- Py.makeEmpty(), Py.expandByObject(this.modelScene.boundingMesh);
26874
- let t = Py.getBoundingSphere(Ny), n = t.radius * 2;
26887
+ Iy.makeEmpty(), Iy.expandByObject(this.modelScene.boundingMesh);
26888
+ let t = Iy.getBoundingSphere(Fy), n = t.radius * 2;
26875
26889
  t.containsPoint(this.camera.position) || (n = this.camera.position.distanceTo(t.center) + t.radius), n = U(n, 800);
26876
26890
  let r = n / 1e4;
26877
26891
  r = U(r, .03, .1), this.camera.near !== r && (this.camera.near = r), this.camera.far !== n && (this.camera.far = n), this.camera.updateTime(e);
@@ -27001,7 +27015,7 @@ var Ty = function(...e) {
27001
27015
  duration: this.modeChangeDuration,
27002
27016
  effect: "fly",
27003
27017
  userAction: !1
27004
- } }, this.commonParams()), this.controllerInits[h]), i = Hv[h].initAnimationEndState(r);
27018
+ } }, this.commonParams()), this.controllerInits[h]), i = Wv[h].initAnimationEndState(r);
27005
27019
  g = i.longitude, _ = i.latitude, v = i.fov, y = i.offset, b = i.distance;
27006
27020
  } else g = (s = t.longitude) == null ? this.state.longitude : s, _ = (c = t.latitude) == null ? this.state.latitude : c, v = (l = t.fov) == null ? this.state.fov : l, y = (u = t.offset) == null ? this.state.offset : u, b = (d = t.distance) == null ? this.state.distance : d;
27007
27021
  let x = {
@@ -27039,7 +27053,7 @@ var Ty = function(...e) {
27039
27053
  return this.changeMode(this.state.mode, e, this.modeChangeDuration, this.controller.userAction), !0;
27040
27054
  }
27041
27055
  if (!this.controller.isReady()) return !1;
27042
- if (this.controller instanceof Hv.Model) {
27056
+ if (this.controller instanceof Wv.Model) {
27043
27057
  if (bh(this.camera.pose.offset, this.state.offset)) {
27044
27058
  let e = {
27045
27059
  longitude: this.state.longitude,
@@ -27065,7 +27079,7 @@ var Ty = function(...e) {
27065
27079
  return this.controller.moveToPano(e, t, !1), !0;
27066
27080
  }
27067
27081
  }
27068
- if (this.controller instanceof Hv.Floorplan || this.controller instanceof Hv.Topview || this.controller instanceof Hv.Mapview) {
27082
+ if (this.controller instanceof Wv.Floorplan || this.controller instanceof Wv.Topview || this.controller instanceof Wv.Mapview) {
27069
27083
  let t = .2, n = Math.PI / 45, r = i ? this.state.fov : ym(this.camera.pose.fov, this.state.fov, 1), a = Math.abs(this.camera.pose.distance - this.state.distance), o = a > t * 15 ? a / 15 : .2, s = i ? this.state.distance : ym(this.camera.pose.distance, this.state.distance, o), c = this.camera.pose.offset.distanceTo(this.state.offset), l = c > t * 15 ? c / 15 : t, u = i ? new e.Vector3().copy(this.state.offset) : bm(this.camera.pose.offset, this.state.offset, l), { longitude: d, latitude: f } = i ? {
27070
27084
  longitude: this.state.longitude,
27071
27085
  latitude: this.state.latitude
@@ -27112,7 +27126,7 @@ var Ty = function(...e) {
27112
27126
  if (!(e === t.Mode.Floorplan || e === t.Mode.Topview || e === t.Mode.Mapview || e === t.Mode.Model) || this.modelScene.loaded) {
27113
27127
  let e = this.readyCallbacks.slice();
27114
27128
  this.readyCallbacks.length = 0;
27115
- for (let t of e) this.controller instanceof Hv.Panorama && t.tile === !0 && !this.controller.isTileReady() ? this.readyCallbacks.push(t) : t();
27129
+ for (let t of e) this.controller instanceof Wv.Panorama && t.tile === !0 && !this.controller.isTileReady() ? this.readyCallbacks.push(t) : t();
27116
27130
  }
27117
27131
  }
27118
27132
  return !1;
@@ -27212,14 +27226,14 @@ var Ty = function(...e) {
27212
27226
  }
27213
27227
  applyController(e, n) {
27214
27228
  if (!this.renderer) throw Error("renderer is not initialized.");
27215
- let r = Hv[e];
27229
+ let r = Wv[e];
27216
27230
  this.currentMode = e;
27217
27231
  let i = new r(n);
27218
- for (let e of Wv) i.on(e, (...t) => {
27232
+ for (let e of Kv) i.on(e, (...t) => {
27219
27233
  if (this.emit(e, ...t)) return !1;
27220
27234
  });
27221
27235
  {
27222
- let t = Hv[e].initAnimationEndState(n), r = n.initial.userAction;
27236
+ let t = Wv[e].initAnimationEndState(n), r = n.initial.userAction;
27223
27237
  jh(this.state, t) || (Ah(this.state, t), this.emit("state.change", Q("state.change", {
27224
27238
  userAction: r,
27225
27239
  state: this.state
@@ -27403,7 +27417,7 @@ var Ty = function(...e) {
27403
27417
  this.modelScene.needsRender = e;
27404
27418
  }
27405
27419
  };
27406
- Hy.Mode = {
27420
+ Wy.Mode = {
27407
27421
  Panorama: "Panorama",
27408
27422
  Model: "Model",
27409
27423
  Floorplan: "Floorplan",
@@ -27413,12 +27427,12 @@ Hy.Mode = {
27413
27427
  XRPanorama: "XRPanorama"
27414
27428
  }, typeof window < "u" && Object.assign(window, { __FIVE_DEBUG__: {
27415
27429
  THREE: e,
27416
- constructor: Hy,
27417
- instances: Vy
27430
+ constructor: Wy,
27431
+ instances: Uy
27418
27432
  } });
27419
27433
  //#endregion
27420
27434
  //#region build/five/webxr/xrButton.js
27421
- var Uy = class {
27435
+ var Gy = class {
27422
27436
  static createButton(e) {
27423
27437
  let t = document.createElement("button");
27424
27438
  function n() {
@@ -27449,4 +27463,4 @@ var Uy = class {
27449
27463
  }
27450
27464
  };
27451
27465
  //#endregion
27452
- export { Em as AdaptiveLuminancePass, ri as AnimationFrameLoop, Xf as BoundingMesh, Zt as Camera, sn as CustomShader, sn as PBMCustomShader, nm as EffectComposer, km as EyeDomeLightingPass, fr as Fetcher, Hy as Five, im as FivePass, qm as FiveRenderer, rm as FullScreenQuad, gm as Histogram, Jm as InternalWebGLRenderer, Vf as Model, Qf as ModelScene, X as Motion, sr as NetworkSubscribe, Kn as PBMContainer, Yn as PBMGSObject, bt as PBMGroup, gn as PBMMesh, hn as PBMMeshMaterial, cn as PBMPanoFilter, En as PBMPointCloud, Tn as PBMPointCloudMaterial, _n as PBMSkinnedMesh, on as PBMUpdateable, Wv as PROXY_CONTROLLER_EVENT_NAMES, oh as PanoCircleMesh, gh as PanoCircleMeshCustom, dh as PanoCircleMeshSolid, G as Parameter, th as Scene, an as Subscribe, hi as TextureLoader, Il as Tile, bf as Tile3D, bf as Tile3DModel, cd as TileCache, Zu as TileNode, ad as TileRequestScheduler, md as Tileset, td as Trajectory, nd as TrajectoryNode, Zp as Work, em as WorkResolvedObserver, Uy as XRButton, Uv as controllersDefaultInitArgs, Rt as coordinatesToVector, jl as createDebugBoundingMesh, tm as createWorks, Kr as defaultImageURLTransform, eo as draco, Yv as getViewportScale, Vt as headingToLongitude, kr as imageSupport, El as isBoundingVolume, _p as isPanoId, co as ktx2, ea as loadAt3d, cs as loadB3dm, ia as loadDome, da as loadDomez, Cc as loadFbx, _s as loadGltf, Mi as loadPbm, ys as loadPly, hs as loadPnts, ol as loadSplat, es as loadSpz, rl as loadX3p, Bt as longitudeToHeading, Dl as makeBoundingVolume, gp as panoEqual, hp as panoParse, Z as panoStringify, Qp as parseWork, zt as vectorToCoordinates, rp as workToJson };
27466
+ export { Em as AdaptiveLuminancePass, ri as AnimationFrameLoop, Xf as BoundingMesh, Zt as Camera, sn as CustomShader, sn as PBMCustomShader, nm as EffectComposer, km as EyeDomeLightingPass, fr as Fetcher, Wy as Five, im as FivePass, qm as FiveRenderer, rm as FullScreenQuad, gm as Histogram, Jm as InternalWebGLRenderer, Vf as Model, Qf as ModelScene, X as Motion, sr as NetworkSubscribe, Kn as PBMContainer, Yn as PBMGSObject, bt as PBMGroup, gn as PBMMesh, hn as PBMMeshMaterial, cn as PBMPanoFilter, En as PBMPointCloud, Tn as PBMPointCloudMaterial, _n as PBMSkinnedMesh, on as PBMUpdateable, Kv as PROXY_CONTROLLER_EVENT_NAMES, oh as PanoCircleMesh, gh as PanoCircleMeshCustom, dh as PanoCircleMeshSolid, G as Parameter, th as Scene, an as Subscribe, hi as TextureLoader, Il as Tile, bf as Tile3D, bf as Tile3DModel, cd as TileCache, Zu as TileNode, ad as TileRequestScheduler, md as Tileset, td as Trajectory, nd as TrajectoryNode, Zp as Work, em as WorkResolvedObserver, Gy as XRButton, Gv as controllersDefaultInitArgs, Rt as coordinatesToVector, jl as createDebugBoundingMesh, tm as createWorks, Kr as defaultImageURLTransform, eo as draco, Zv as getViewportScale, Vt as headingToLongitude, kr as imageSupport, El as isBoundingVolume, _p as isPanoId, co as ktx2, ea as loadAt3d, cs as loadB3dm, ia as loadDome, da as loadDomez, Cc as loadFbx, _s as loadGltf, Mi as loadPbm, ys as loadPly, hs as loadPnts, ol as loadSplat, es as loadSpz, rl as loadX3p, Bt as longitudeToHeading, Dl as makeBoundingVolume, gp as panoEqual, hp as panoParse, Z as panoStringify, Qp as parseWork, zt as vectorToCoordinates, rp as workToJson };