@baidumap/mapv-three 1.3.2 → 1.4.0

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 (233) hide show
  1. package/dist/assets/textures/cloud/stbn.bin +0 -0
  2. package/dist/assets/wasm/lanelet.js +3296 -165
  3. package/dist/assets/wasm/lanelet.wasm +0 -0
  4. package/dist/assets/workers/{BaiduVectorParser.worker-d550338e.js → BaiduVectorParser.worker-f7fcc351.js} +915 -865
  5. package/dist/assets/workers/{CesiumTerrainParser.worker-20119751.js → CesiumTerrainParser.worker-fcae0cc9.js} +1081 -998
  6. package/dist/assets/workers/{MVTParser.worker-7dc8b0e4.js → MVTParser.worker-0dd27c39.js} +746 -685
  7. package/dist/devtool/panel.js +99 -29
  8. package/dist/mapvthree.module.js +26026 -44996
  9. package/dist/mapvthree.umd.js +13 -7
  10. package/dist/types/Internal.d.ts +1 -0
  11. package/dist/types/index.d.ts +2 -2
  12. package/dist/types/index.open.d.ts +4 -0
  13. package/dist/types/threejs/controls/PointerLockControls.d.ts +2 -0
  14. package/dist/types/threejs/loaders/utilities/BatchTableHierarchyExtension.d.ts +4 -4
  15. package/dist/types/threejs/loaders/utilities/FeatureTable.d.ts +1 -1
  16. package/dist/types/threejs/materials/effects/LightningMaterial.d.ts +9 -0
  17. package/dist/types/threejs/materials/extend/ExtendMeshStandardMaterial.d.ts +1 -0
  18. package/dist/types/threejs/materials/natural/DynamicSkyMaterial.d.ts +1 -0
  19. package/dist/types/threejs/materials/natural/StaticSkyMaterial.d.ts +1 -0
  20. package/dist/types/threejs/materials/natural/VerticalGradientSkyMaterial.d.ts +1 -0
  21. package/dist/types/threejs/materials/polygon/PolygonMaterial.d.ts +1 -0
  22. package/dist/types/threejs/objects/GeoInstancedMesh.d.ts +1 -0
  23. package/dist/types/threejs/objects/line/Polyline.d.ts +1 -1
  24. package/dist/types/threejs/objects/point/Icon.d.ts +1 -0
  25. package/dist/types/threejs/objects/point/Label.d.ts +5 -1
  26. package/dist/types/threejs/objects/point/label/GeometryBufferBuilder.d.ts +3 -0
  27. package/dist/types/threejs/objects/point/label/TextBoxCalculator.d.ts +5 -3
  28. package/dist/types/threejs/objects/text/utils.d.ts +1 -1
  29. package/dist/types/threemap/3dtiles/HDMap3DTiles.d.ts +26 -0
  30. package/dist/types/threemap/3dtiles/materials/Default3DTilesMaterialManager.d.ts +51 -3
  31. package/dist/types/threemap/Engine.d.ts +6 -0
  32. package/dist/types/threemap/animations/ObjectTracker.d.ts +82 -43
  33. package/dist/types/threemap/animations/ObjectTracker_deprecated.d.ts +56 -0
  34. package/dist/types/threemap/animations/PathTracker.d.ts +92 -29
  35. package/dist/types/threemap/animations/RotateTracker.d.ts +123 -0
  36. package/dist/types/threemap/animations/TrackerAbstract.d.ts +26 -8
  37. package/dist/types/threemap/controls/PointerLockControls.d.ts +8 -2
  38. package/dist/types/threemap/controls/controller/ColumbusController.d.ts +10 -0
  39. package/dist/types/threemap/controls/controller/Scene3DController.d.ts +9 -0
  40. package/dist/types/threemap/controls/editors/Editor.d.ts +3 -0
  41. package/dist/types/threemap/engine/Clock.d.ts +156 -0
  42. package/dist/types/threemap/engine/Map.d.ts +20 -2
  43. package/dist/types/threemap/engine/Rendering.d.ts +15 -0
  44. package/dist/types/threemap/engine/rendering/Label.d.ts +2 -0
  45. package/dist/types/threemap/engine/rendering/MainNew.d.ts +1 -1
  46. package/dist/types/threemap/engine/rendering/postprocessing/OpaquePostprocessings.d.ts +1 -1
  47. package/dist/types/threemap/engine/rendering/postprocessing/SkyAtmospherePass.d.ts +1 -0
  48. package/dist/types/threemap/engine/rendering/scene/DirectSceneRendering.d.ts +5 -0
  49. package/dist/types/threemap/mapView/geo/terrainData/QuantizedMeshTerrainData.d.ts +1 -1
  50. package/dist/types/threemap/mapView/grid/BaiduVectorOfflineGrid.d.ts +5 -0
  51. package/dist/types/threemap/mapView/map/MapView.d.ts +3 -0
  52. package/dist/types/threemap/mapView/parser/baidulane/ElementParser.d.ts +86 -0
  53. package/dist/types/threemap/mapView/parser/baidulane/StyleParser.d.ts +28 -0
  54. package/dist/types/threemap/mapView/parser/baidulane/constants/index.d.ts +25 -0
  55. package/dist/types/threemap/mapView/parser/baidulane/constants/types.d.ts +47 -0
  56. package/dist/types/threemap/mapView/parser/baidulane/core/GeometryBuilder.d.ts +40 -0
  57. package/dist/types/threemap/mapView/parser/baidulane/core/LayerManager.d.ts +41 -0
  58. package/dist/types/threemap/mapView/parser/baidulane/core/MaterialFactory.d.ts +71 -0
  59. package/dist/types/threemap/mapView/parser/baidulane/core/StyleManager.d.ts +50 -0
  60. package/dist/types/threemap/mapView/parser/baidulane/core/TextureManager.d.ts +65 -0
  61. package/dist/types/threemap/mapView/parser/baidulane/core/wasmManager.d.ts +18 -0
  62. package/dist/types/threemap/mapView/parser/baidulane/generators/Base.d.ts +46 -0
  63. package/dist/types/threemap/mapView/parser/baidulane/generators/Building3d.d.ts +15 -0
  64. package/dist/types/threemap/mapView/parser/baidulane/generators/FlatSymbol.d.ts +15 -0
  65. package/dist/types/threemap/mapView/parser/baidulane/generators/LabelLine.d.ts +29 -0
  66. package/dist/types/threemap/mapView/parser/baidulane/generators/Line.d.ts +15 -0
  67. package/dist/types/threemap/mapView/parser/baidulane/generators/Line3d.d.ts +15 -0
  68. package/dist/types/threemap/mapView/parser/baidulane/generators/Line3dTexture.d.ts +3 -0
  69. package/dist/types/threemap/mapView/parser/baidulane/generators/LineDash.d.ts +7 -0
  70. package/dist/types/threemap/mapView/parser/baidulane/generators/LineTexture.d.ts +7 -0
  71. package/dist/types/threemap/mapView/parser/baidulane/generators/Poi.d.ts +26 -0
  72. package/dist/types/threemap/mapView/parser/baidulane/generators/Polygon.d.ts +15 -0
  73. package/dist/types/threemap/mapView/parser/baidulane/generators/Polygon3d.d.ts +40 -0
  74. package/dist/types/threemap/mapView/parser/baidulane/generators/PolygonExtrude.d.ts +15 -0
  75. package/dist/types/threemap/mapView/parser/baidulane/generators/PolygonExtrudeTexture.d.ts +18 -0
  76. package/dist/types/threemap/mapView/parser/baidulane/generators/PolygonOpacity.d.ts +7 -0
  77. package/dist/types/threemap/mapView/parser/baidulane/generators/SimplePoint.d.ts +39 -0
  78. package/dist/types/threemap/mapView/parser/baidulane/processors/Background.d.ts +11 -0
  79. package/dist/types/threemap/mapView/parser/baidulane/processors/Base.d.ts +27 -0
  80. package/dist/types/threemap/mapView/parser/baidulane/processors/BridgePier.d.ts +20 -0
  81. package/dist/types/threemap/mapView/parser/baidulane/processors/DebugLine.d.ts +16 -0
  82. package/dist/types/threemap/mapView/parser/baidulane/processors/DebugPoint.d.ts +5 -0
  83. package/dist/types/threemap/mapView/parser/baidulane/processors/DebugPolygon.d.ts +20 -0
  84. package/dist/types/threemap/mapView/parser/baidulane/processors/GaoqingGradient.d.ts +16 -0
  85. package/dist/types/threemap/mapView/parser/baidulane/processors/GaoqingGuide.d.ts +11 -0
  86. package/dist/types/threemap/mapView/parser/baidulane/processors/GaoqingLine.d.ts +11 -0
  87. package/dist/types/threemap/mapView/parser/baidulane/processors/GaoqingPoly.d.ts +15 -0
  88. package/dist/types/threemap/mapView/parser/baidulane/processors/GaoqingRoad.d.ts +13 -0
  89. package/dist/types/threemap/mapView/parser/baidulane/processors/HRegion.d.ts +11 -0
  90. package/dist/types/threemap/mapView/parser/baidulane/processors/LineName.d.ts +48 -0
  91. package/dist/types/threemap/mapView/parser/baidulane/processors/Link.d.ts +10 -0
  92. package/dist/types/threemap/mapView/parser/baidulane/processors/Poi.d.ts +7 -0
  93. package/dist/types/threemap/mapView/parser/baidulane/processors/Poly.d.ts +11 -0
  94. package/dist/types/threemap/mapView/parser/baidulane/processors/Texture.d.ts +10 -0
  95. package/dist/types/threemap/mapView/parser/baidulane/utils/color.d.ts +13 -0
  96. package/dist/types/threemap/mapView/parser/baidulane/utils/coordinate.d.ts +18 -0
  97. package/dist/types/threemap/mapView/parser/baidulane/utils/geometry.d.ts +3 -0
  98. package/dist/types/threemap/mapView/parser/baidulane/utils/icon.d.ts +8 -0
  99. package/dist/types/threemap/mapView/parser/baidulane/utils/merge.d.ts +7 -0
  100. package/dist/types/threemap/mapView/parser/baidulane/utils/tracer.d.ts +7 -0
  101. package/dist/types/{util/mapbox.d.ts → threemap/mapView/parser/mapbox/util.d.ts} +1 -1
  102. package/dist/types/threemap/mapView/surface/GroundSceneRenderer.d.ts +7 -2
  103. package/dist/types/threemap/mapView/surface/MapSurface.d.ts +2 -0
  104. package/dist/types/threemap/mapView/tileProvider/terrain/CesiumTerrainTileProvider.d.ts +3 -0
  105. package/dist/types/threemap/mapView/tileProvider/vector/BaiduLaneVectorTileProvider.d.ts +7 -0
  106. package/dist/types/threemap/mapView/tileProvider/vector/MapboxVectorTileProvider.d.ts +6 -10
  107. package/dist/types/threemap/mapView/utils/createGroundTileMesh.d.ts +2 -1
  108. package/dist/types/threemap/mapView/utils/projectVertices.d.ts +1 -1
  109. package/dist/types/threemap/materials/BatchBuildingMaterial.d.ts +9 -11
  110. package/dist/types/threemap/materials/RoadMarkingMaterial.d.ts +2 -11
  111. package/dist/types/threemap/materials/TerrainClassificationMaterial.d.ts +9 -7
  112. package/dist/types/threemap/natural/DynamicSky.d.ts +68 -22
  113. package/dist/types/threemap/natural/DynamicWeather.d.ts +15 -105
  114. package/dist/types/threemap/natural/EmptySky.d.ts +48 -62
  115. package/dist/types/threemap/natural/PhysicalSky.d.ts +220 -0
  116. package/dist/types/threemap/natural/Rain.d.ts +5 -2
  117. package/dist/types/threemap/natural/Snow.d.ts +5 -2
  118. package/dist/types/threemap/natural/StaticSky.d.ts +1 -0
  119. package/dist/types/threemap/natural/Thunderstorm.d.ts +31 -0
  120. package/dist/types/threemap/natural/clouds/CascadedShadowMaps.d.ts +31 -0
  121. package/dist/types/threemap/natural/clouds/CloudLayer.d.ts +19 -0
  122. package/dist/types/threemap/natural/clouds/CloudLayers.d.ts +13 -0
  123. package/dist/types/threemap/natural/clouds/CloudShape.d.ts +4 -0
  124. package/dist/types/threemap/natural/clouds/CloudShapeDetail.d.ts +4 -0
  125. package/dist/types/threemap/natural/clouds/CloudsEffect.d.ts +173 -0
  126. package/dist/types/threemap/natural/clouds/CloudsMaterial.d.ts +35 -0
  127. package/dist/types/threemap/natural/clouds/CloudsPass.d.ts +39 -0
  128. package/dist/types/threemap/natural/clouds/CloudsPostPass.d.ts +10 -0
  129. package/dist/types/threemap/natural/clouds/CloudsResolveMaterial.d.ts +13 -0
  130. package/dist/types/threemap/natural/clouds/DensityProfile.d.ts +10 -0
  131. package/dist/types/threemap/natural/clouds/LocalWeather.d.ts +4 -0
  132. package/dist/types/threemap/natural/clouds/PassBase.d.ts +7 -0
  133. package/dist/types/threemap/natural/clouds/Procedural3DTexture.d.ts +15 -0
  134. package/dist/types/threemap/natural/clouds/ProceduralTexture.d.ts +15 -0
  135. package/dist/types/threemap/natural/clouds/ShaderArrayPass.d.ts +3 -0
  136. package/dist/types/threemap/natural/clouds/ShadowMaterial.d.ts +14 -0
  137. package/dist/types/threemap/natural/clouds/ShadowPass.d.ts +31 -0
  138. package/dist/types/threemap/natural/clouds/ShadowResolveMaterial.d.ts +8 -0
  139. package/dist/types/threemap/natural/clouds/Turbulence.d.ts +4 -0
  140. package/dist/types/threemap/natural/clouds/bayer.d.ts +2 -0
  141. package/dist/types/threemap/natural/clouds/constants.d.ts +6 -0
  142. package/dist/types/threemap/natural/clouds/helpers/FrustumCorners.d.ts +10 -0
  143. package/dist/types/threemap/natural/clouds/helpers/setArrayRenderTargetLayers.d.ts +1 -0
  144. package/dist/types/threemap/natural/clouds/helpers/splitFrustum.d.ts +6 -0
  145. package/dist/types/threemap/natural/clouds/qualityPresets.d.ts +130 -0
  146. package/dist/types/threemap/natural/clouds/uniforms.d.ts +44 -0
  147. package/dist/types/threemap/natural/core/ArrayBufferLoader.d.ts +3 -0
  148. package/dist/types/threemap/natural/core/DataTextureLoader.d.ts +11 -0
  149. package/dist/types/threemap/natural/core/Ellipsoid.d.ts +17 -0
  150. package/dist/types/threemap/natural/core/Geodetic.d.ts +23 -0
  151. package/dist/types/threemap/natural/core/TypedArrayLoader.d.ts +5 -0
  152. package/dist/types/threemap/natural/core/capabilities.d.ts +1 -0
  153. package/dist/types/threemap/natural/core/celestialDirections.d.ts +5 -0
  154. package/dist/types/threemap/natural/core/decorators.d.ts +61 -0
  155. package/dist/types/threemap/natural/core/defineShorthand.d.ts +2 -0
  156. package/dist/types/threemap/natural/core/helpers/projectOnEllipsoidSurface.d.ts +1 -0
  157. package/dist/types/threemap/natural/core/math.d.ts +15 -0
  158. package/dist/types/threemap/natural/core/requestIdleCallback.d.ts +2 -0
  159. package/dist/types/threemap/natural/core/resolveIncludes.d.ts +1 -0
  160. package/dist/types/threemap/natural/core/shaders/index.d.ts +10 -0
  161. package/dist/types/threemap/natural/core/unrollLoops.d.ts +1 -0
  162. package/dist/types/threemap/natural/effects/DepthEffect.d.ts +15 -0
  163. package/dist/types/threemap/natural/effects/DitheringEffect.d.ts +6 -0
  164. package/dist/types/threemap/natural/effects/DownsampleThresholdMaterial.d.ts +14 -0
  165. package/dist/types/threemap/natural/effects/GeometryEffect.d.ts +11 -0
  166. package/dist/types/threemap/natural/effects/GeometryPass.d.ts +6 -0
  167. package/dist/types/threemap/natural/effects/LensFlareEffect.d.ts +31 -0
  168. package/dist/types/threemap/natural/effects/LensFlareFeaturesMaterial.d.ts +17 -0
  169. package/dist/types/threemap/natural/effects/NormalEffect.d.ts +16 -0
  170. package/dist/types/threemap/natural/effects/createHaldLookupTexture.d.ts +1 -0
  171. package/dist/types/threemap/natural/effects/index.d.ts +7 -0
  172. package/dist/types/threemap/natural/effects/setupMaterialsForGeometryPass.d.ts +1 -0
  173. package/dist/types/threemap/natural/sky/AerialPerspectiveEffect.d.ts +95 -0
  174. package/dist/types/threemap/natural/sky/AtmosphereMaterialBase.d.ts +40 -0
  175. package/dist/types/threemap/natural/sky/AtmosphereParameters.d.ts +32 -0
  176. package/dist/types/threemap/natural/sky/AtmospherePostPass.d.ts +10 -0
  177. package/dist/types/threemap/natural/sky/PrecomputedTexturesGenerator.d.ts +66 -0
  178. package/dist/types/threemap/natural/sky/SkyMaterial.d.ts +26 -0
  179. package/dist/types/threemap/natural/sky/constants.d.ts +14 -0
  180. package/dist/types/threemap/natural/sky/getAltitudeCorrectionOffset.d.ts +1 -0
  181. package/dist/types/threemap/video/VideoConfig.d.ts +2 -2
  182. package/dist/types/util/graphics/line.d.ts +2 -2
  183. package/dist/types/util/request.d.ts +1 -1
  184. package/package.json +6 -3
  185. /package/dist/types/threemap/mapView/{mapbox → parser/mapbox}/color.d.ts +0 -0
  186. /package/dist/types/threemap/mapView/{mapbox → parser/mapbox}/executer/background.d.ts +0 -0
  187. /package/dist/types/threemap/mapView/{mapbox → parser/mapbox}/executer/fill-extrusion.d.ts +0 -0
  188. /package/dist/types/threemap/mapView/{mapbox → parser/mapbox}/executer/fill.d.ts +0 -0
  189. /package/dist/types/threemap/mapView/{mapbox → parser/mapbox}/executer/index.d.ts +0 -0
  190. /package/dist/types/threemap/mapView/{mapbox → parser/mapbox}/executer/line.d.ts +0 -0
  191. /package/dist/types/threemap/mapView/{mapbox → parser/mapbox}/executer/symbol.d.ts +0 -0
  192. /package/dist/types/threemap/mapView/{mapbox → parser/mapbox}/expression/compound_expression.d.ts +0 -0
  193. /package/dist/types/threemap/mapView/{mapbox → parser/mapbox}/expression/definitions/assertion.d.ts +0 -0
  194. /package/dist/types/threemap/mapView/{mapbox → parser/mapbox}/expression/definitions/at.d.ts +0 -0
  195. /package/dist/types/threemap/mapView/{mapbox → parser/mapbox}/expression/definitions/case.d.ts +0 -0
  196. /package/dist/types/threemap/mapView/{mapbox → parser/mapbox}/expression/definitions/coalesce.d.ts +0 -0
  197. /package/dist/types/threemap/mapView/{mapbox → parser/mapbox}/expression/definitions/coercion.d.ts +0 -0
  198. /package/dist/types/threemap/mapView/{mapbox → parser/mapbox}/expression/definitions/collator.d.ts +0 -0
  199. /package/dist/types/threemap/mapView/{mapbox → parser/mapbox}/expression/definitions/comparison.d.ts +0 -0
  200. /package/dist/types/threemap/mapView/{mapbox → parser/mapbox}/expression/definitions/format.d.ts +0 -0
  201. /package/dist/types/threemap/mapView/{mapbox → parser/mapbox}/expression/definitions/image.d.ts +0 -0
  202. /package/dist/types/threemap/mapView/{mapbox → parser/mapbox}/expression/definitions/in.d.ts +0 -0
  203. /package/dist/types/threemap/mapView/{mapbox → parser/mapbox}/expression/definitions/index.d.ts +0 -0
  204. /package/dist/types/threemap/mapView/{mapbox → parser/mapbox}/expression/definitions/index_of.d.ts +0 -0
  205. /package/dist/types/threemap/mapView/{mapbox → parser/mapbox}/expression/definitions/interpolate.d.ts +0 -0
  206. /package/dist/types/threemap/mapView/{mapbox → parser/mapbox}/expression/definitions/length.d.ts +0 -0
  207. /package/dist/types/threemap/mapView/{mapbox → parser/mapbox}/expression/definitions/let.d.ts +0 -0
  208. /package/dist/types/threemap/mapView/{mapbox → parser/mapbox}/expression/definitions/literal.d.ts +0 -0
  209. /package/dist/types/threemap/mapView/{mapbox → parser/mapbox}/expression/definitions/match.d.ts +0 -0
  210. /package/dist/types/threemap/mapView/{mapbox → parser/mapbox}/expression/definitions/number_format.d.ts +0 -0
  211. /package/dist/types/threemap/mapView/{mapbox → parser/mapbox}/expression/definitions/slice.d.ts +0 -0
  212. /package/dist/types/threemap/mapView/{mapbox → parser/mapbox}/expression/definitions/step.d.ts +0 -0
  213. /package/dist/types/threemap/mapView/{mapbox → parser/mapbox}/expression/definitions/var.d.ts +0 -0
  214. /package/dist/types/threemap/mapView/{mapbox → parser/mapbox}/expression/definitions/within.d.ts +0 -0
  215. /package/dist/types/threemap/mapView/{mapbox → parser/mapbox}/expression/evaluation_context.d.ts +0 -0
  216. /package/dist/types/threemap/mapView/{mapbox → parser/mapbox}/expression/expression.d.ts +0 -0
  217. /package/dist/types/threemap/mapView/{mapbox → parser/mapbox}/expression/index.d.ts +0 -0
  218. /package/dist/types/threemap/mapView/{mapbox → parser/mapbox}/expression/is_constant.d.ts +0 -0
  219. /package/dist/types/threemap/mapView/{mapbox → parser/mapbox}/expression/parsing_context.d.ts +0 -0
  220. /package/dist/types/threemap/mapView/{mapbox → parser/mapbox}/expression/parsing_error.d.ts +0 -0
  221. /package/dist/types/threemap/mapView/{mapbox → parser/mapbox}/expression/scope.d.ts +0 -0
  222. /package/dist/types/threemap/mapView/{mapbox → parser/mapbox}/expression/stops.d.ts +0 -0
  223. /package/dist/types/threemap/mapView/{mapbox → parser/mapbox}/expression/types/collator.d.ts +0 -0
  224. /package/dist/types/threemap/mapView/{mapbox → parser/mapbox}/expression/types/formatted.d.ts +0 -0
  225. /package/dist/types/threemap/mapView/{mapbox → parser/mapbox}/expression/types/resolved_image.d.ts +0 -0
  226. /package/dist/types/threemap/mapView/{mapbox → parser/mapbox}/expression/types.d.ts +0 -0
  227. /package/dist/types/threemap/mapView/{mapbox → parser/mapbox}/expression/values.d.ts +0 -0
  228. /package/dist/types/threemap/mapView/{mapbox → parser/mapbox}/feature_filter/index.d.ts +0 -0
  229. /package/dist/types/threemap/mapView/{mapbox → parser/mapbox}/function/convert.d.ts +0 -0
  230. /package/dist/types/threemap/mapView/{mapbox → parser/mapbox}/function/index.d.ts +0 -0
  231. /package/dist/types/threemap/mapView/{mapbox → parser/mapbox}/sourceLayer.d.ts +0 -0
  232. /package/dist/types/threemap/mapView/{mapbox → parser/mapbox}/sprite.d.ts +0 -0
  233. /package/dist/types/threemap/mapView/{mapbox → parser/mapbox}/style.d.ts +0 -0
@@ -351,17 +351,20 @@ function reFetch(t = "", e = {}, i = 3) {
351
351
  return i--, fetch(e2, s).then((t5) => {
352
352
  if (200 === t5.status)
353
353
  return t5;
354
+ if (404 === t5.status)
355
+ throw new Error("404");
354
356
  }).catch((r) => {
355
357
  if (s.signal && "AbortError" === r.name)
356
358
  throw r;
357
359
  if (i > 0)
358
360
  return t4(e2, s);
361
+ throw r;
359
362
  });
360
363
  }(t, e);
361
364
  }
362
365
  /**
363
366
  * @license
364
- * Copyright 2010-2023 Three.js Authors
367
+ * Copyright 2010-2025 Three.js Authors
365
368
  * SPDX-License-Identifier: MIT
366
369
  */
367
370
  Pbf.prototype = { destroy: function() {
@@ -574,7 +577,7 @@ Pbf.prototype = { destroy: function() {
574
577
  }, writeBooleanField: function(t, e) {
575
578
  this.writeVarintField(t, Boolean(e));
576
579
  } };
577
- const REVISION = "158", NoColorSpace = "", SRGBColorSpace = "srgb", LinearSRGBColorSpace = "srgb-linear", DisplayP3ColorSpace = "display-p3", LinearDisplayP3ColorSpace = "display-p3-linear", LinearTransfer = "linear", SRGBTransfer = "srgb", Rec709Primaries = "rec709", P3Primaries = "p3", WebGLCoordinateSystem = 2e3, WebGPUCoordinateSystem = 2001, _lut = ["00", "01", "02", "03", "04", "05", "06", "07", "08", "09", "0a", "0b", "0c", "0d", "0e", "0f", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "1a", "1b", "1c", "1d", "1e", "1f", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "2a", "2b", "2c", "2d", "2e", "2f", "30", "31", "32", "33", "34", "35", "36", "37", "38", "39", "3a", "3b", "3c", "3d", "3e", "3f", "40", "41", "42", "43", "44", "45", "46", "47", "48", "49", "4a", "4b", "4c", "4d", "4e", "4f", "50", "51", "52", "53", "54", "55", "56", "57", "58", "59", "5a", "5b", "5c", "5d", "5e", "5f", "60", "61", "62", "63", "64", "65", "66", "67", "68", "69", "6a", "6b", "6c", "6d", "6e", "6f", "70", "71", "72", "73", "74", "75", "76", "77", "78", "79", "7a", "7b", "7c", "7d", "7e", "7f", "80", "81", "82", "83", "84", "85", "86", "87", "88", "89", "8a", "8b", "8c", "8d", "8e", "8f", "90", "91", "92", "93", "94", "95", "96", "97", "98", "99", "9a", "9b", "9c", "9d", "9e", "9f", "a0", "a1", "a2", "a3", "a4", "a5", "a6", "a7", "a8", "a9", "aa", "ab", "ac", "ad", "ae", "af", "b0", "b1", "b2", "b3", "b4", "b5", "b6", "b7", "b8", "b9", "ba", "bb", "bc", "bd", "be", "bf", "c0", "c1", "c2", "c3", "c4", "c5", "c6", "c7", "c8", "c9", "ca", "cb", "cc", "cd", "ce", "cf", "d0", "d1", "d2", "d3", "d4", "d5", "d6", "d7", "d8", "d9", "da", "db", "dc", "dd", "de", "df", "e0", "e1", "e2", "e3", "e4", "e5", "e6", "e7", "e8", "e9", "ea", "eb", "ec", "ed", "ee", "ef", "f0", "f1", "f2", "f3", "f4", "f5", "f6", "f7", "f8", "f9", "fa", "fb", "fc", "fd", "fe", "ff"];
580
+ const REVISION = "179", NoColorSpace = "", SRGBColorSpace = "srgb", LinearSRGBColorSpace = "srgb-linear", LinearTransfer = "linear", SRGBTransfer = "srgb", WebGLCoordinateSystem = 2e3, WebGPUCoordinateSystem = 2001, _lut = ["00", "01", "02", "03", "04", "05", "06", "07", "08", "09", "0a", "0b", "0c", "0d", "0e", "0f", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "1a", "1b", "1c", "1d", "1e", "1f", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "2a", "2b", "2c", "2d", "2e", "2f", "30", "31", "32", "33", "34", "35", "36", "37", "38", "39", "3a", "3b", "3c", "3d", "3e", "3f", "40", "41", "42", "43", "44", "45", "46", "47", "48", "49", "4a", "4b", "4c", "4d", "4e", "4f", "50", "51", "52", "53", "54", "55", "56", "57", "58", "59", "5a", "5b", "5c", "5d", "5e", "5f", "60", "61", "62", "63", "64", "65", "66", "67", "68", "69", "6a", "6b", "6c", "6d", "6e", "6f", "70", "71", "72", "73", "74", "75", "76", "77", "78", "79", "7a", "7b", "7c", "7d", "7e", "7f", "80", "81", "82", "83", "84", "85", "86", "87", "88", "89", "8a", "8b", "8c", "8d", "8e", "8f", "90", "91", "92", "93", "94", "95", "96", "97", "98", "99", "9a", "9b", "9c", "9d", "9e", "9f", "a0", "a1", "a2", "a3", "a4", "a5", "a6", "a7", "a8", "a9", "aa", "ab", "ac", "ad", "ae", "af", "b0", "b1", "b2", "b3", "b4", "b5", "b6", "b7", "b8", "b9", "ba", "bb", "bc", "bd", "be", "bf", "c0", "c1", "c2", "c3", "c4", "c5", "c6", "c7", "c8", "c9", "ca", "cb", "cc", "cd", "ce", "cf", "d0", "d1", "d2", "d3", "d4", "d5", "d6", "d7", "d8", "d9", "da", "db", "dc", "dd", "de", "df", "e0", "e1", "e2", "e3", "e4", "e5", "e6", "e7", "e8", "e9", "ea", "eb", "ec", "ed", "ee", "ef", "f0", "f1", "f2", "f3", "f4", "f5", "f6", "f7", "f8", "f9", "fa", "fb", "fc", "fd", "fe", "ff"];
578
581
  let _seed = 1234567;
579
582
  const DEG2RAD = Math.PI / 180, RAD2DEG = 180 / Math.PI;
580
583
  function generateUUID() {
@@ -804,14 +807,14 @@ class Vector2 {
804
807
  return this.x = Math.max(this.x, t.x), this.y = Math.max(this.y, t.y), this;
805
808
  }
806
809
  clamp(t, e) {
807
- return this.x = Math.max(t.x, Math.min(e.x, this.x)), this.y = Math.max(t.y, Math.min(e.y, this.y)), this;
810
+ return this.x = clamp$1(this.x, t.x, e.x), this.y = clamp$1(this.y, t.y, e.y), this;
808
811
  }
809
812
  clampScalar(t, e) {
810
- return this.x = Math.max(t, Math.min(e, this.x)), this.y = Math.max(t, Math.min(e, this.y)), this;
813
+ return this.x = clamp$1(this.x, t, e), this.y = clamp$1(this.y, t, e), this;
811
814
  }
812
815
  clampLength(t, e) {
813
816
  const i = this.length();
814
- return this.divideScalar(i || 1).multiplyScalar(Math.max(t, Math.min(e, i)));
817
+ return this.divideScalar(i || 1).multiplyScalar(clamp$1(i, t, e));
815
818
  }
816
819
  floor() {
817
820
  return this.x = Math.floor(this.x), this.y = Math.floor(this.y), this;
@@ -898,159 +901,219 @@ class Vector2 {
898
901
  yield this.x, yield this.y;
899
902
  }
900
903
  }
901
- class Matrix3 {
902
- constructor(t, e, i, s, r, n, a, o, h) {
903
- Matrix3.prototype.isMatrix3 = true, this.elements = [1, 0, 0, 0, 1, 0, 0, 0, 1], void 0 !== t && this.set(t, e, i, s, r, n, a, o, h);
904
+ class Quaternion$1 {
905
+ constructor(t = 0, e = 0, i = 0, s = 1) {
906
+ this.isQuaternion = true, this._x = t, this._y = e, this._z = i, this._w = s;
904
907
  }
905
- set(t, e, i, s, r, n, a, o, h) {
906
- const l = this.elements;
907
- return l[0] = t, l[1] = s, l[2] = a, l[3] = e, l[4] = r, l[5] = o, l[6] = i, l[7] = n, l[8] = h, this;
908
+ static slerpFlat(t, e, i, s, r, n, a) {
909
+ let o = i[s + 0], h = i[s + 1], l = i[s + 2], c = i[s + 3];
910
+ const u = r[n + 0], d = r[n + 1], p = r[n + 2], f = r[n + 3];
911
+ if (0 === a)
912
+ return t[e + 0] = o, t[e + 1] = h, t[e + 2] = l, void (t[e + 3] = c);
913
+ if (1 === a)
914
+ return t[e + 0] = u, t[e + 1] = d, t[e + 2] = p, void (t[e + 3] = f);
915
+ if (c !== f || o !== u || h !== d || l !== p) {
916
+ let t4 = 1 - a;
917
+ const e2 = o * u + h * d + l * p + c * f, i2 = e2 >= 0 ? 1 : -1, s2 = 1 - e2 * e2;
918
+ if (s2 > Number.EPSILON) {
919
+ const r3 = Math.sqrt(s2), n2 = Math.atan2(r3, e2 * i2);
920
+ t4 = Math.sin(t4 * n2) / r3, a = Math.sin(a * n2) / r3;
921
+ }
922
+ const r2 = a * i2;
923
+ if (o = o * t4 + u * r2, h = h * t4 + d * r2, l = l * t4 + p * r2, c = c * t4 + f * r2, t4 === 1 - a) {
924
+ const t5 = 1 / Math.sqrt(o * o + h * h + l * l + c * c);
925
+ o *= t5, h *= t5, l *= t5, c *= t5;
926
+ }
927
+ }
928
+ t[e] = o, t[e + 1] = h, t[e + 2] = l, t[e + 3] = c;
908
929
  }
909
- identity() {
910
- return this.set(1, 0, 0, 0, 1, 0, 0, 0, 1), this;
930
+ static multiplyQuaternionsFlat(t, e, i, s, r, n) {
931
+ const a = i[s], o = i[s + 1], h = i[s + 2], l = i[s + 3], c = r[n], u = r[n + 1], d = r[n + 2], p = r[n + 3];
932
+ return t[e] = a * p + l * c + o * d - h * u, t[e + 1] = o * p + l * u + h * c - a * d, t[e + 2] = h * p + l * d + a * u - o * c, t[e + 3] = l * p - a * c - o * u - h * d, t;
933
+ }
934
+ get x() {
935
+ return this._x;
936
+ }
937
+ set x(t) {
938
+ this._x = t, this._onChangeCallback();
939
+ }
940
+ get y() {
941
+ return this._y;
942
+ }
943
+ set y(t) {
944
+ this._y = t, this._onChangeCallback();
945
+ }
946
+ get z() {
947
+ return this._z;
948
+ }
949
+ set z(t) {
950
+ this._z = t, this._onChangeCallback();
951
+ }
952
+ get w() {
953
+ return this._w;
954
+ }
955
+ set w(t) {
956
+ this._w = t, this._onChangeCallback();
957
+ }
958
+ set(t, e, i, s) {
959
+ return this._x = t, this._y = e, this._z = i, this._w = s, this._onChangeCallback(), this;
960
+ }
961
+ clone() {
962
+ return new this.constructor(this._x, this._y, this._z, this._w);
911
963
  }
912
964
  copy(t) {
913
- const e = this.elements, i = t.elements;
914
- return e[0] = i[0], e[1] = i[1], e[2] = i[2], e[3] = i[3], e[4] = i[4], e[5] = i[5], e[6] = i[6], e[7] = i[7], e[8] = i[8], this;
965
+ return this._x = t.x, this._y = t.y, this._z = t.z, this._w = t.w, this._onChangeCallback(), this;
915
966
  }
916
- extractBasis(t, e, i) {
917
- return t.setFromMatrix3Column(this, 0), e.setFromMatrix3Column(this, 1), i.setFromMatrix3Column(this, 2), this;
967
+ setFromEuler(t, e = true) {
968
+ const i = t._x, s = t._y, r = t._z, n = t._order, a = Math.cos, o = Math.sin, h = a(i / 2), l = a(s / 2), c = a(r / 2), u = o(i / 2), d = o(s / 2), p = o(r / 2);
969
+ switch (n) {
970
+ case "XYZ":
971
+ this._x = u * l * c + h * d * p, this._y = h * d * c - u * l * p, this._z = h * l * p + u * d * c, this._w = h * l * c - u * d * p;
972
+ break;
973
+ case "YXZ":
974
+ this._x = u * l * c + h * d * p, this._y = h * d * c - u * l * p, this._z = h * l * p - u * d * c, this._w = h * l * c + u * d * p;
975
+ break;
976
+ case "ZXY":
977
+ this._x = u * l * c - h * d * p, this._y = h * d * c + u * l * p, this._z = h * l * p + u * d * c, this._w = h * l * c - u * d * p;
978
+ break;
979
+ case "ZYX":
980
+ this._x = u * l * c - h * d * p, this._y = h * d * c + u * l * p, this._z = h * l * p - u * d * c, this._w = h * l * c + u * d * p;
981
+ break;
982
+ case "YZX":
983
+ this._x = u * l * c + h * d * p, this._y = h * d * c + u * l * p, this._z = h * l * p - u * d * c, this._w = h * l * c - u * d * p;
984
+ break;
985
+ case "XZY":
986
+ this._x = u * l * c - h * d * p, this._y = h * d * c - u * l * p, this._z = h * l * p + u * d * c, this._w = h * l * c + u * d * p;
987
+ break;
988
+ default:
989
+ console.warn("THREE.Quaternion: .setFromEuler() encountered an unknown order: " + n);
990
+ }
991
+ return true === e && this._onChangeCallback(), this;
918
992
  }
919
- setFromMatrix4(t) {
920
- const e = t.elements;
921
- return this.set(e[0], e[4], e[8], e[1], e[5], e[9], e[2], e[6], e[10]), this;
993
+ setFromAxisAngle(t, e) {
994
+ const i = e / 2, s = Math.sin(i);
995
+ return this._x = t.x * s, this._y = t.y * s, this._z = t.z * s, this._w = Math.cos(i), this._onChangeCallback(), this;
922
996
  }
923
- multiply(t) {
924
- return this.multiplyMatrices(this, t);
997
+ setFromRotationMatrix(t) {
998
+ const e = t.elements, i = e[0], s = e[4], r = e[8], n = e[1], a = e[5], o = e[9], h = e[2], l = e[6], c = e[10], u = i + a + c;
999
+ if (u > 0) {
1000
+ const t4 = 0.5 / Math.sqrt(u + 1);
1001
+ this._w = 0.25 / t4, this._x = (l - o) * t4, this._y = (r - h) * t4, this._z = (n - s) * t4;
1002
+ } else if (i > a && i > c) {
1003
+ const t4 = 2 * Math.sqrt(1 + i - a - c);
1004
+ this._w = (l - o) / t4, this._x = 0.25 * t4, this._y = (s + n) / t4, this._z = (r + h) / t4;
1005
+ } else if (a > c) {
1006
+ const t4 = 2 * Math.sqrt(1 + a - i - c);
1007
+ this._w = (r - h) / t4, this._x = (s + n) / t4, this._y = 0.25 * t4, this._z = (o + l) / t4;
1008
+ } else {
1009
+ const t4 = 2 * Math.sqrt(1 + c - i - a);
1010
+ this._w = (n - s) / t4, this._x = (r + h) / t4, this._y = (o + l) / t4, this._z = 0.25 * t4;
1011
+ }
1012
+ return this._onChangeCallback(), this;
925
1013
  }
926
- premultiply(t) {
927
- return this.multiplyMatrices(t, this);
1014
+ setFromUnitVectors(t, e) {
1015
+ let i = t.dot(e) + 1;
1016
+ return i < 1e-8 ? (i = 0, Math.abs(t.x) > Math.abs(t.z) ? (this._x = -t.y, this._y = t.x, this._z = 0, this._w = i) : (this._x = 0, this._y = -t.z, this._z = t.y, this._w = i)) : (this._x = t.y * e.z - t.z * e.y, this._y = t.z * e.x - t.x * e.z, this._z = t.x * e.y - t.y * e.x, this._w = i), this.normalize();
928
1017
  }
929
- multiplyMatrices(t, e) {
930
- const i = t.elements, s = e.elements, r = this.elements, n = i[0], a = i[3], o = i[6], h = i[1], l = i[4], c = i[7], u = i[2], d = i[5], p = i[8], f = s[0], _ = s[3], y = s[6], m = s[1], g = s[4], x = s[7], M = s[2], w = s[5], b = s[8];
931
- return r[0] = n * f + a * m + o * M, r[3] = n * _ + a * g + o * w, r[6] = n * y + a * x + o * b, r[1] = h * f + l * m + c * M, r[4] = h * _ + l * g + c * w, r[7] = h * y + l * x + c * b, r[2] = u * f + d * m + p * M, r[5] = u * _ + d * g + p * w, r[8] = u * y + d * x + p * b, this;
1018
+ angleTo(t) {
1019
+ return 2 * Math.acos(Math.abs(clamp$1(this.dot(t), -1, 1)));
932
1020
  }
933
- multiplyScalar(t) {
934
- const e = this.elements;
935
- return e[0] *= t, e[3] *= t, e[6] *= t, e[1] *= t, e[4] *= t, e[7] *= t, e[2] *= t, e[5] *= t, e[8] *= t, this;
1021
+ rotateTowards(t, e) {
1022
+ const i = this.angleTo(t);
1023
+ if (0 === i)
1024
+ return this;
1025
+ const s = Math.min(1, e / i);
1026
+ return this.slerp(t, s), this;
936
1027
  }
937
- determinant() {
938
- const t = this.elements, e = t[0], i = t[1], s = t[2], r = t[3], n = t[4], a = t[5], o = t[6], h = t[7], l = t[8];
939
- return e * n * l - e * a * h - i * r * l + i * a * o + s * r * h - s * n * o;
1028
+ identity() {
1029
+ return this.set(0, 0, 0, 1);
940
1030
  }
941
1031
  invert() {
942
- const t = this.elements, e = t[0], i = t[1], s = t[2], r = t[3], n = t[4], a = t[5], o = t[6], h = t[7], l = t[8], c = l * n - a * h, u = a * o - l * r, d = h * r - n * o, p = e * c + i * u + s * d;
943
- if (0 === p)
944
- return this.set(0, 0, 0, 0, 0, 0, 0, 0, 0);
945
- const f = 1 / p;
946
- return t[0] = c * f, t[1] = (s * h - l * i) * f, t[2] = (a * i - s * n) * f, t[3] = u * f, t[4] = (l * e - s * o) * f, t[5] = (s * r - a * e) * f, t[6] = d * f, t[7] = (i * o - h * e) * f, t[8] = (n * e - i * r) * f, this;
1032
+ return this.conjugate();
947
1033
  }
948
- transpose() {
949
- let t;
950
- const e = this.elements;
951
- return t = e[1], e[1] = e[3], e[3] = t, t = e[2], e[2] = e[6], e[6] = t, t = e[5], e[5] = e[7], e[7] = t, this;
1034
+ conjugate() {
1035
+ return this._x *= -1, this._y *= -1, this._z *= -1, this._onChangeCallback(), this;
952
1036
  }
953
- getNormalMatrix(t) {
954
- return this.setFromMatrix4(t).invert().transpose();
1037
+ dot(t) {
1038
+ return this._x * t._x + this._y * t._y + this._z * t._z + this._w * t._w;
955
1039
  }
956
- transposeIntoArray(t) {
957
- const e = this.elements;
958
- return t[0] = e[0], t[1] = e[3], t[2] = e[6], t[3] = e[1], t[4] = e[4], t[5] = e[7], t[6] = e[2], t[7] = e[5], t[8] = e[8], this;
1040
+ lengthSq() {
1041
+ return this._x * this._x + this._y * this._y + this._z * this._z + this._w * this._w;
959
1042
  }
960
- setUvTransform(t, e, i, s, r, n, a) {
961
- const o = Math.cos(r), h = Math.sin(r);
962
- return this.set(i * o, i * h, -i * (o * n + h * a) + n + t, -s * h, s * o, -s * (-h * n + o * a) + a + e, 0, 0, 1), this;
1043
+ length() {
1044
+ return Math.sqrt(this._x * this._x + this._y * this._y + this._z * this._z + this._w * this._w);
963
1045
  }
964
- scale(t, e) {
965
- return this.premultiply(_m3.makeScale(t, e)), this;
1046
+ normalize() {
1047
+ let t = this.length();
1048
+ return 0 === t ? (this._x = 0, this._y = 0, this._z = 0, this._w = 1) : (t = 1 / t, this._x = this._x * t, this._y = this._y * t, this._z = this._z * t, this._w = this._w * t), this._onChangeCallback(), this;
966
1049
  }
967
- rotate(t) {
968
- return this.premultiply(_m3.makeRotation(-t)), this;
1050
+ multiply(t) {
1051
+ return this.multiplyQuaternions(this, t);
969
1052
  }
970
- translate(t, e) {
971
- return this.premultiply(_m3.makeTranslation(t, e)), this;
1053
+ premultiply(t) {
1054
+ return this.multiplyQuaternions(t, this);
972
1055
  }
973
- makeTranslation(t, e) {
974
- return t.isVector2 ? this.set(1, 0, t.x, 0, 1, t.y, 0, 0, 1) : this.set(1, 0, t, 0, 1, e, 0, 0, 1), this;
1056
+ multiplyQuaternions(t, e) {
1057
+ const i = t._x, s = t._y, r = t._z, n = t._w, a = e._x, o = e._y, h = e._z, l = e._w;
1058
+ return this._x = i * l + n * a + s * h - r * o, this._y = s * l + n * o + r * a - i * h, this._z = r * l + n * h + i * o - s * a, this._w = n * l - i * a - s * o - r * h, this._onChangeCallback(), this;
975
1059
  }
976
- makeRotation(t) {
977
- const e = Math.cos(t), i = Math.sin(t);
978
- return this.set(e, -i, 0, i, e, 0, 0, 0, 1), this;
1060
+ slerp(t, e) {
1061
+ if (0 === e)
1062
+ return this;
1063
+ if (1 === e)
1064
+ return this.copy(t);
1065
+ const i = this._x, s = this._y, r = this._z, n = this._w;
1066
+ let a = n * t._w + i * t._x + s * t._y + r * t._z;
1067
+ if (a < 0 ? (this._w = -t._w, this._x = -t._x, this._y = -t._y, this._z = -t._z, a = -a) : this.copy(t), a >= 1)
1068
+ return this._w = n, this._x = i, this._y = s, this._z = r, this;
1069
+ const o = 1 - a * a;
1070
+ if (o <= Number.EPSILON) {
1071
+ const t4 = 1 - e;
1072
+ return this._w = t4 * n + e * this._w, this._x = t4 * i + e * this._x, this._y = t4 * s + e * this._y, this._z = t4 * r + e * this._z, this.normalize(), this;
1073
+ }
1074
+ const h = Math.sqrt(o), l = Math.atan2(h, a), c = Math.sin((1 - e) * l) / h, u = Math.sin(e * l) / h;
1075
+ return this._w = n * c + this._w * u, this._x = i * c + this._x * u, this._y = s * c + this._y * u, this._z = r * c + this._z * u, this._onChangeCallback(), this;
979
1076
  }
980
- makeScale(t, e) {
981
- return this.set(t, 0, 0, 0, e, 0, 0, 0, 1), this;
1077
+ slerpQuaternions(t, e, i) {
1078
+ return this.copy(t).slerp(e, i);
1079
+ }
1080
+ random() {
1081
+ const t = 2 * Math.PI * Math.random(), e = 2 * Math.PI * Math.random(), i = Math.random(), s = Math.sqrt(1 - i), r = Math.sqrt(i);
1082
+ return this.set(s * Math.sin(t), s * Math.cos(t), r * Math.sin(e), r * Math.cos(e));
982
1083
  }
983
1084
  equals(t) {
984
- const e = this.elements, i = t.elements;
985
- for (let t4 = 0; t4 < 9; t4++)
986
- if (e[t4] !== i[t4])
987
- return false;
988
- return true;
1085
+ return t._x === this._x && t._y === this._y && t._z === this._z && t._w === this._w;
989
1086
  }
990
1087
  fromArray(t, e = 0) {
991
- for (let i = 0; i < 9; i++)
992
- this.elements[i] = t[i + e];
993
- return this;
1088
+ return this._x = t[e], this._y = t[e + 1], this._z = t[e + 2], this._w = t[e + 3], this._onChangeCallback(), this;
994
1089
  }
995
1090
  toArray(t = [], e = 0) {
996
- const i = this.elements;
997
- return t[e] = i[0], t[e + 1] = i[1], t[e + 2] = i[2], t[e + 3] = i[3], t[e + 4] = i[4], t[e + 5] = i[5], t[e + 6] = i[6], t[e + 7] = i[7], t[e + 8] = i[8], t;
1091
+ return t[e] = this._x, t[e + 1] = this._y, t[e + 2] = this._z, t[e + 3] = this._w, t;
998
1092
  }
999
- clone() {
1000
- return new this.constructor().fromArray(this.elements);
1093
+ fromBufferAttribute(t, e) {
1094
+ return this._x = t.getX(e), this._y = t.getY(e), this._z = t.getZ(e), this._w = t.getW(e), this._onChangeCallback(), this;
1001
1095
  }
1002
- }
1003
- const _m3 = new Matrix3(), LINEAR_SRGB_TO_LINEAR_DISPLAY_P3 = new Matrix3().set(0.8224621, 0.177538, 0, 0.0331941, 0.9668058, 0, 0.0170827, 0.0723974, 0.9105199), LINEAR_DISPLAY_P3_TO_LINEAR_SRGB = new Matrix3().set(1.2249401, -0.2249404, 0, -0.0420569, 1.0420571, 0, -0.0196376, -0.0786361, 1.0982735), COLOR_SPACES = { [LinearSRGBColorSpace]: { transfer: LinearTransfer, primaries: Rec709Primaries, toReference: (t) => t, fromReference: (t) => t }, [SRGBColorSpace]: { transfer: SRGBTransfer, primaries: Rec709Primaries, toReference: (t) => t.convertSRGBToLinear(), fromReference: (t) => t.convertLinearToSRGB() }, [LinearDisplayP3ColorSpace]: { transfer: LinearTransfer, primaries: P3Primaries, toReference: (t) => t.applyMatrix3(LINEAR_DISPLAY_P3_TO_LINEAR_SRGB), fromReference: (t) => t.applyMatrix3(LINEAR_SRGB_TO_LINEAR_DISPLAY_P3) }, [DisplayP3ColorSpace]: { transfer: SRGBTransfer, primaries: P3Primaries, toReference: (t) => t.convertSRGBToLinear().applyMatrix3(LINEAR_DISPLAY_P3_TO_LINEAR_SRGB), fromReference: (t) => t.applyMatrix3(LINEAR_SRGB_TO_LINEAR_DISPLAY_P3).convertLinearToSRGB() } }, SUPPORTED_WORKING_COLOR_SPACES = /* @__PURE__ */ new Set([LinearSRGBColorSpace, LinearDisplayP3ColorSpace]), ColorManagement = { enabled: true, _workingColorSpace: LinearSRGBColorSpace, get legacyMode() {
1004
- return console.warn("THREE.ColorManagement: .legacyMode=false renamed to .enabled=true in r150."), !this.enabled;
1005
- }, set legacyMode(t) {
1006
- console.warn("THREE.ColorManagement: .legacyMode=false renamed to .enabled=true in r150."), this.enabled = !t;
1007
- }, get workingColorSpace() {
1008
- return this._workingColorSpace;
1009
- }, set workingColorSpace(t) {
1010
- if (!SUPPORTED_WORKING_COLOR_SPACES.has(t))
1011
- throw new Error(`Unsupported working color space, "${t}".`);
1012
- this._workingColorSpace = t;
1013
- }, convert: function(t, e, i) {
1014
- if (false === this.enabled || e === i || !e || !i)
1015
- return t;
1016
- const s = COLOR_SPACES[e].toReference;
1017
- return (0, COLOR_SPACES[i].fromReference)(s(t));
1018
- }, fromWorkingColorSpace: function(t, e) {
1019
- return this.convert(t, this._workingColorSpace, e);
1020
- }, toWorkingColorSpace: function(t, e) {
1021
- return this.convert(t, e, this._workingColorSpace);
1022
- }, getPrimaries: function(t) {
1023
- return COLOR_SPACES[t].primaries;
1024
- }, getTransfer: function(t) {
1025
- return t === NoColorSpace ? LinearTransfer : COLOR_SPACES[t].transfer;
1026
- } };
1027
- function SRGBToLinear(t) {
1028
- return t < 0.04045 ? 0.0773993808 * t : Math.pow(0.9478672986 * t + 0.0521327014, 2.4);
1029
- }
1030
- function LinearToSRGB(t) {
1031
- return t < 31308e-7 ? 12.92 * t : 1.055 * Math.pow(t, 0.41666) - 0.055;
1032
- }
1033
- class Vector4 {
1034
- constructor(t = 0, e = 0, i = 0, s = 1) {
1035
- Vector4.prototype.isVector4 = true, this.x = t, this.y = e, this.z = i, this.w = s;
1096
+ toJSON() {
1097
+ return this.toArray();
1036
1098
  }
1037
- get width() {
1038
- return this.z;
1099
+ _onChange(t) {
1100
+ return this._onChangeCallback = t, this;
1039
1101
  }
1040
- set width(t) {
1041
- this.z = t;
1102
+ _onChangeCallback() {
1042
1103
  }
1043
- get height() {
1044
- return this.w;
1104
+ *[Symbol.iterator]() {
1105
+ yield this._x, yield this._y, yield this._z, yield this._w;
1045
1106
  }
1046
- set height(t) {
1047
- this.w = t;
1107
+ }
1108
+ class Vector3$1 {
1109
+ constructor(t = 0, e = 0, i = 0) {
1110
+ Vector3$1.prototype.isVector3 = true, this.x = t, this.y = e, this.z = i;
1048
1111
  }
1049
- set(t, e, i, s) {
1050
- return this.x = t, this.y = e, this.z = i, this.w = s, this;
1112
+ set(t, e, i) {
1113
+ return void 0 === i && (i = this.z), this.x = t, this.y = e, this.z = i, this;
1051
1114
  }
1052
1115
  setScalar(t) {
1053
- return this.x = t, this.y = t, this.z = t, this.w = t, this;
1116
+ return this.x = t, this.y = t, this.z = t, this;
1054
1117
  }
1055
1118
  setX(t) {
1056
1119
  return this.x = t, this;
@@ -1061,9 +1124,6 @@ class Vector4 {
1061
1124
  setZ(t) {
1062
1125
  return this.z = t, this;
1063
1126
  }
1064
- setW(t) {
1065
- return this.w = t, this;
1066
- }
1067
1127
  setComponent(t, e) {
1068
1128
  switch (t) {
1069
1129
  case 0:
@@ -1075,9 +1135,6 @@ class Vector4 {
1075
1135
  case 2:
1076
1136
  this.z = e;
1077
1137
  break;
1078
- case 3:
1079
- this.w = e;
1080
- break;
1081
1138
  default:
1082
1139
  throw new Error("index is out of range: " + t);
1083
1140
  }
@@ -1091,357 +1148,395 @@ class Vector4 {
1091
1148
  return this.y;
1092
1149
  case 2:
1093
1150
  return this.z;
1094
- case 3:
1095
- return this.w;
1096
1151
  default:
1097
1152
  throw new Error("index is out of range: " + t);
1098
1153
  }
1099
1154
  }
1100
1155
  clone() {
1101
- return new this.constructor(this.x, this.y, this.z, this.w);
1156
+ return new this.constructor(this.x, this.y, this.z);
1102
1157
  }
1103
1158
  copy(t) {
1104
- return this.x = t.x, this.y = t.y, this.z = t.z, this.w = void 0 !== t.w ? t.w : 1, this;
1159
+ return this.x = t.x, this.y = t.y, this.z = t.z, this;
1105
1160
  }
1106
1161
  add(t) {
1107
- return this.x += t.x, this.y += t.y, this.z += t.z, this.w += t.w, this;
1162
+ return this.x += t.x, this.y += t.y, this.z += t.z, this;
1108
1163
  }
1109
1164
  addScalar(t) {
1110
- return this.x += t, this.y += t, this.z += t, this.w += t, this;
1165
+ return this.x += t, this.y += t, this.z += t, this;
1111
1166
  }
1112
1167
  addVectors(t, e) {
1113
- return this.x = t.x + e.x, this.y = t.y + e.y, this.z = t.z + e.z, this.w = t.w + e.w, this;
1168
+ return this.x = t.x + e.x, this.y = t.y + e.y, this.z = t.z + e.z, this;
1114
1169
  }
1115
1170
  addScaledVector(t, e) {
1116
- return this.x += t.x * e, this.y += t.y * e, this.z += t.z * e, this.w += t.w * e, this;
1171
+ return this.x += t.x * e, this.y += t.y * e, this.z += t.z * e, this;
1117
1172
  }
1118
1173
  sub(t) {
1119
- return this.x -= t.x, this.y -= t.y, this.z -= t.z, this.w -= t.w, this;
1174
+ return this.x -= t.x, this.y -= t.y, this.z -= t.z, this;
1120
1175
  }
1121
1176
  subScalar(t) {
1122
- return this.x -= t, this.y -= t, this.z -= t, this.w -= t, this;
1177
+ return this.x -= t, this.y -= t, this.z -= t, this;
1123
1178
  }
1124
1179
  subVectors(t, e) {
1125
- return this.x = t.x - e.x, this.y = t.y - e.y, this.z = t.z - e.z, this.w = t.w - e.w, this;
1180
+ return this.x = t.x - e.x, this.y = t.y - e.y, this.z = t.z - e.z, this;
1126
1181
  }
1127
1182
  multiply(t) {
1128
- return this.x *= t.x, this.y *= t.y, this.z *= t.z, this.w *= t.w, this;
1183
+ return this.x *= t.x, this.y *= t.y, this.z *= t.z, this;
1129
1184
  }
1130
1185
  multiplyScalar(t) {
1131
- return this.x *= t, this.y *= t, this.z *= t, this.w *= t, this;
1186
+ return this.x *= t, this.y *= t, this.z *= t, this;
1187
+ }
1188
+ multiplyVectors(t, e) {
1189
+ return this.x = t.x * e.x, this.y = t.y * e.y, this.z = t.z * e.z, this;
1190
+ }
1191
+ applyEuler(t) {
1192
+ return this.applyQuaternion(_quaternion$4.setFromEuler(t));
1193
+ }
1194
+ applyAxisAngle(t, e) {
1195
+ return this.applyQuaternion(_quaternion$4.setFromAxisAngle(t, e));
1196
+ }
1197
+ applyMatrix3(t) {
1198
+ const e = this.x, i = this.y, s = this.z, r = t.elements;
1199
+ return this.x = r[0] * e + r[3] * i + r[6] * s, this.y = r[1] * e + r[4] * i + r[7] * s, this.z = r[2] * e + r[5] * i + r[8] * s, this;
1200
+ }
1201
+ applyNormalMatrix(t) {
1202
+ return this.applyMatrix3(t).normalize();
1132
1203
  }
1133
1204
  applyMatrix4(t) {
1134
- const e = this.x, i = this.y, s = this.z, r = this.w, n = t.elements;
1135
- return this.x = n[0] * e + n[4] * i + n[8] * s + n[12] * r, this.y = n[1] * e + n[5] * i + n[9] * s + n[13] * r, this.z = n[2] * e + n[6] * i + n[10] * s + n[14] * r, this.w = n[3] * e + n[7] * i + n[11] * s + n[15] * r, this;
1205
+ const e = this.x, i = this.y, s = this.z, r = t.elements, n = 1 / (r[3] * e + r[7] * i + r[11] * s + r[15]);
1206
+ return this.x = (r[0] * e + r[4] * i + r[8] * s + r[12]) * n, this.y = (r[1] * e + r[5] * i + r[9] * s + r[13]) * n, this.z = (r[2] * e + r[6] * i + r[10] * s + r[14]) * n, this;
1136
1207
  }
1137
- divideScalar(t) {
1138
- return this.multiplyScalar(1 / t);
1208
+ applyQuaternion(t) {
1209
+ const e = this.x, i = this.y, s = this.z, r = t.x, n = t.y, a = t.z, o = t.w, h = 2 * (n * s - a * i), l = 2 * (a * e - r * s), c = 2 * (r * i - n * e);
1210
+ return this.x = e + o * h + n * c - a * l, this.y = i + o * l + a * h - r * c, this.z = s + o * c + r * l - n * h, this;
1139
1211
  }
1140
- setAxisAngleFromQuaternion(t) {
1141
- this.w = 2 * Math.acos(t.w);
1142
- const e = Math.sqrt(1 - t.w * t.w);
1143
- return e < 1e-4 ? (this.x = 1, this.y = 0, this.z = 0) : (this.x = t.x / e, this.y = t.y / e, this.z = t.z / e), this;
1212
+ project(t) {
1213
+ return this.applyMatrix4(t.matrixWorldInverse).applyMatrix4(t.projectionMatrix);
1144
1214
  }
1145
- setAxisAngleFromRotationMatrix(t) {
1146
- let e, i, s, r;
1147
- const n = 0.01, a = 0.1, o = t.elements, h = o[0], l = o[4], c = o[8], u = o[1], d = o[5], p = o[9], f = o[2], _ = o[6], y = o[10];
1148
- if (Math.abs(l - u) < n && Math.abs(c - f) < n && Math.abs(p - _) < n) {
1149
- if (Math.abs(l + u) < a && Math.abs(c + f) < a && Math.abs(p + _) < a && Math.abs(h + d + y - 3) < a)
1150
- return this.set(1, 0, 0, 0), this;
1151
- e = Math.PI;
1152
- const t4 = (h + 1) / 2, o2 = (d + 1) / 2, m2 = (y + 1) / 2, g = (l + u) / 4, x = (c + f) / 4, M = (p + _) / 4;
1153
- return t4 > o2 && t4 > m2 ? t4 < n ? (i = 0, s = 0.707106781, r = 0.707106781) : (i = Math.sqrt(t4), s = g / i, r = x / i) : o2 > m2 ? o2 < n ? (i = 0.707106781, s = 0, r = 0.707106781) : (s = Math.sqrt(o2), i = g / s, r = M / s) : m2 < n ? (i = 0.707106781, s = 0.707106781, r = 0) : (r = Math.sqrt(m2), i = x / r, s = M / r), this.set(i, s, r, e), this;
1154
- }
1155
- let m = Math.sqrt((_ - p) * (_ - p) + (c - f) * (c - f) + (u - l) * (u - l));
1156
- return Math.abs(m) < 1e-3 && (m = 1), this.x = (_ - p) / m, this.y = (c - f) / m, this.z = (u - l) / m, this.w = Math.acos((h + d + y - 1) / 2), this;
1215
+ unproject(t) {
1216
+ return this.applyMatrix4(t.projectionMatrixInverse).applyMatrix4(t.matrixWorld);
1217
+ }
1218
+ transformDirection(t) {
1219
+ const e = this.x, i = this.y, s = this.z, r = t.elements;
1220
+ return this.x = r[0] * e + r[4] * i + r[8] * s, this.y = r[1] * e + r[5] * i + r[9] * s, this.z = r[2] * e + r[6] * i + r[10] * s, this.normalize();
1221
+ }
1222
+ divide(t) {
1223
+ return this.x /= t.x, this.y /= t.y, this.z /= t.z, this;
1224
+ }
1225
+ divideScalar(t) {
1226
+ return this.multiplyScalar(1 / t);
1157
1227
  }
1158
1228
  min(t) {
1159
- return this.x = Math.min(this.x, t.x), this.y = Math.min(this.y, t.y), this.z = Math.min(this.z, t.z), this.w = Math.min(this.w, t.w), this;
1229
+ return this.x = Math.min(this.x, t.x), this.y = Math.min(this.y, t.y), this.z = Math.min(this.z, t.z), this;
1160
1230
  }
1161
1231
  max(t) {
1162
- return this.x = Math.max(this.x, t.x), this.y = Math.max(this.y, t.y), this.z = Math.max(this.z, t.z), this.w = Math.max(this.w, t.w), this;
1232
+ return this.x = Math.max(this.x, t.x), this.y = Math.max(this.y, t.y), this.z = Math.max(this.z, t.z), this;
1163
1233
  }
1164
1234
  clamp(t, e) {
1165
- return this.x = Math.max(t.x, Math.min(e.x, this.x)), this.y = Math.max(t.y, Math.min(e.y, this.y)), this.z = Math.max(t.z, Math.min(e.z, this.z)), this.w = Math.max(t.w, Math.min(e.w, this.w)), this;
1235
+ return this.x = clamp$1(this.x, t.x, e.x), this.y = clamp$1(this.y, t.y, e.y), this.z = clamp$1(this.z, t.z, e.z), this;
1166
1236
  }
1167
1237
  clampScalar(t, e) {
1168
- return this.x = Math.max(t, Math.min(e, this.x)), this.y = Math.max(t, Math.min(e, this.y)), this.z = Math.max(t, Math.min(e, this.z)), this.w = Math.max(t, Math.min(e, this.w)), this;
1238
+ return this.x = clamp$1(this.x, t, e), this.y = clamp$1(this.y, t, e), this.z = clamp$1(this.z, t, e), this;
1169
1239
  }
1170
1240
  clampLength(t, e) {
1171
1241
  const i = this.length();
1172
- return this.divideScalar(i || 1).multiplyScalar(Math.max(t, Math.min(e, i)));
1242
+ return this.divideScalar(i || 1).multiplyScalar(clamp$1(i, t, e));
1173
1243
  }
1174
1244
  floor() {
1175
- return this.x = Math.floor(this.x), this.y = Math.floor(this.y), this.z = Math.floor(this.z), this.w = Math.floor(this.w), this;
1245
+ return this.x = Math.floor(this.x), this.y = Math.floor(this.y), this.z = Math.floor(this.z), this;
1176
1246
  }
1177
1247
  ceil() {
1178
- return this.x = Math.ceil(this.x), this.y = Math.ceil(this.y), this.z = Math.ceil(this.z), this.w = Math.ceil(this.w), this;
1248
+ return this.x = Math.ceil(this.x), this.y = Math.ceil(this.y), this.z = Math.ceil(this.z), this;
1179
1249
  }
1180
1250
  round() {
1181
- return this.x = Math.round(this.x), this.y = Math.round(this.y), this.z = Math.round(this.z), this.w = Math.round(this.w), this;
1251
+ return this.x = Math.round(this.x), this.y = Math.round(this.y), this.z = Math.round(this.z), this;
1182
1252
  }
1183
1253
  roundToZero() {
1184
- return this.x = Math.trunc(this.x), this.y = Math.trunc(this.y), this.z = Math.trunc(this.z), this.w = Math.trunc(this.w), this;
1254
+ return this.x = Math.trunc(this.x), this.y = Math.trunc(this.y), this.z = Math.trunc(this.z), this;
1185
1255
  }
1186
1256
  negate() {
1187
- return this.x = -this.x, this.y = -this.y, this.z = -this.z, this.w = -this.w, this;
1257
+ return this.x = -this.x, this.y = -this.y, this.z = -this.z, this;
1188
1258
  }
1189
1259
  dot(t) {
1190
- return this.x * t.x + this.y * t.y + this.z * t.z + this.w * t.w;
1260
+ return this.x * t.x + this.y * t.y + this.z * t.z;
1191
1261
  }
1192
1262
  lengthSq() {
1193
- return this.x * this.x + this.y * this.y + this.z * this.z + this.w * this.w;
1263
+ return this.x * this.x + this.y * this.y + this.z * this.z;
1264
+ }
1265
+ length() {
1266
+ return Math.sqrt(this.x * this.x + this.y * this.y + this.z * this.z);
1267
+ }
1268
+ manhattanLength() {
1269
+ return Math.abs(this.x) + Math.abs(this.y) + Math.abs(this.z);
1270
+ }
1271
+ normalize() {
1272
+ return this.divideScalar(this.length() || 1);
1273
+ }
1274
+ setLength(t) {
1275
+ return this.normalize().multiplyScalar(t);
1276
+ }
1277
+ lerp(t, e) {
1278
+ return this.x += (t.x - this.x) * e, this.y += (t.y - this.y) * e, this.z += (t.z - this.z) * e, this;
1279
+ }
1280
+ lerpVectors(t, e, i) {
1281
+ return this.x = t.x + (e.x - t.x) * i, this.y = t.y + (e.y - t.y) * i, this.z = t.z + (e.z - t.z) * i, this;
1282
+ }
1283
+ cross(t) {
1284
+ return this.crossVectors(this, t);
1285
+ }
1286
+ crossVectors(t, e) {
1287
+ const i = t.x, s = t.y, r = t.z, n = e.x, a = e.y, o = e.z;
1288
+ return this.x = s * o - r * a, this.y = r * n - i * o, this.z = i * a - s * n, this;
1289
+ }
1290
+ projectOnVector(t) {
1291
+ const e = t.lengthSq();
1292
+ if (0 === e)
1293
+ return this.set(0, 0, 0);
1294
+ const i = t.dot(this) / e;
1295
+ return this.copy(t).multiplyScalar(i);
1296
+ }
1297
+ projectOnPlane(t) {
1298
+ return _vector$c.copy(this).projectOnVector(t), this.sub(_vector$c);
1299
+ }
1300
+ reflect(t) {
1301
+ return this.sub(_vector$c.copy(t).multiplyScalar(2 * this.dot(t)));
1302
+ }
1303
+ angleTo(t) {
1304
+ const e = Math.sqrt(this.lengthSq() * t.lengthSq());
1305
+ if (0 === e)
1306
+ return Math.PI / 2;
1307
+ const i = this.dot(t) / e;
1308
+ return Math.acos(clamp$1(i, -1, 1));
1309
+ }
1310
+ distanceTo(t) {
1311
+ return Math.sqrt(this.distanceToSquared(t));
1312
+ }
1313
+ distanceToSquared(t) {
1314
+ const e = this.x - t.x, i = this.y - t.y, s = this.z - t.z;
1315
+ return e * e + i * i + s * s;
1316
+ }
1317
+ manhattanDistanceTo(t) {
1318
+ return Math.abs(this.x - t.x) + Math.abs(this.y - t.y) + Math.abs(this.z - t.z);
1319
+ }
1320
+ setFromSpherical(t) {
1321
+ return this.setFromSphericalCoords(t.radius, t.phi, t.theta);
1322
+ }
1323
+ setFromSphericalCoords(t, e, i) {
1324
+ const s = Math.sin(e) * t;
1325
+ return this.x = s * Math.sin(i), this.y = Math.cos(e) * t, this.z = s * Math.cos(i), this;
1326
+ }
1327
+ setFromCylindrical(t) {
1328
+ return this.setFromCylindricalCoords(t.radius, t.theta, t.y);
1329
+ }
1330
+ setFromCylindricalCoords(t, e, i) {
1331
+ return this.x = t * Math.sin(e), this.y = i, this.z = t * Math.cos(e), this;
1194
1332
  }
1195
- length() {
1196
- return Math.sqrt(this.x * this.x + this.y * this.y + this.z * this.z + this.w * this.w);
1333
+ setFromMatrixPosition(t) {
1334
+ const e = t.elements;
1335
+ return this.x = e[12], this.y = e[13], this.z = e[14], this;
1197
1336
  }
1198
- manhattanLength() {
1199
- return Math.abs(this.x) + Math.abs(this.y) + Math.abs(this.z) + Math.abs(this.w);
1337
+ setFromMatrixScale(t) {
1338
+ const e = this.setFromMatrixColumn(t, 0).length(), i = this.setFromMatrixColumn(t, 1).length(), s = this.setFromMatrixColumn(t, 2).length();
1339
+ return this.x = e, this.y = i, this.z = s, this;
1200
1340
  }
1201
- normalize() {
1202
- return this.divideScalar(this.length() || 1);
1341
+ setFromMatrixColumn(t, e) {
1342
+ return this.fromArray(t.elements, 4 * e);
1203
1343
  }
1204
- setLength(t) {
1205
- return this.normalize().multiplyScalar(t);
1344
+ setFromMatrix3Column(t, e) {
1345
+ return this.fromArray(t.elements, 3 * e);
1206
1346
  }
1207
- lerp(t, e) {
1208
- return this.x += (t.x - this.x) * e, this.y += (t.y - this.y) * e, this.z += (t.z - this.z) * e, this.w += (t.w - this.w) * e, this;
1347
+ setFromEuler(t) {
1348
+ return this.x = t._x, this.y = t._y, this.z = t._z, this;
1209
1349
  }
1210
- lerpVectors(t, e, i) {
1211
- return this.x = t.x + (e.x - t.x) * i, this.y = t.y + (e.y - t.y) * i, this.z = t.z + (e.z - t.z) * i, this.w = t.w + (e.w - t.w) * i, this;
1350
+ setFromColor(t) {
1351
+ return this.x = t.r, this.y = t.g, this.z = t.b, this;
1212
1352
  }
1213
1353
  equals(t) {
1214
- return t.x === this.x && t.y === this.y && t.z === this.z && t.w === this.w;
1354
+ return t.x === this.x && t.y === this.y && t.z === this.z;
1215
1355
  }
1216
1356
  fromArray(t, e = 0) {
1217
- return this.x = t[e], this.y = t[e + 1], this.z = t[e + 2], this.w = t[e + 3], this;
1357
+ return this.x = t[e], this.y = t[e + 1], this.z = t[e + 2], this;
1218
1358
  }
1219
1359
  toArray(t = [], e = 0) {
1220
- return t[e] = this.x, t[e + 1] = this.y, t[e + 2] = this.z, t[e + 3] = this.w, t;
1360
+ return t[e] = this.x, t[e + 1] = this.y, t[e + 2] = this.z, t;
1221
1361
  }
1222
1362
  fromBufferAttribute(t, e) {
1223
- return this.x = t.getX(e), this.y = t.getY(e), this.z = t.getZ(e), this.w = t.getW(e), this;
1363
+ return this.x = t.getX(e), this.y = t.getY(e), this.z = t.getZ(e), this;
1224
1364
  }
1225
1365
  random() {
1226
- return this.x = Math.random(), this.y = Math.random(), this.z = Math.random(), this.w = Math.random(), this;
1366
+ return this.x = Math.random(), this.y = Math.random(), this.z = Math.random(), this;
1367
+ }
1368
+ randomDirection() {
1369
+ const t = Math.random() * Math.PI * 2, e = 2 * Math.random() - 1, i = Math.sqrt(1 - e * e);
1370
+ return this.x = i * Math.cos(t), this.y = e, this.z = i * Math.sin(t), this;
1227
1371
  }
1228
1372
  *[Symbol.iterator]() {
1229
- yield this.x, yield this.y, yield this.z, yield this.w;
1373
+ yield this.x, yield this.y, yield this.z;
1230
1374
  }
1231
1375
  }
1232
- class Quaternion$1 {
1233
- constructor(t = 0, e = 0, i = 0, s = 1) {
1234
- this.isQuaternion = true, this._x = t, this._y = e, this._z = i, this._w = s;
1235
- }
1236
- static slerpFlat(t, e, i, s, r, n, a) {
1237
- let o = i[s + 0], h = i[s + 1], l = i[s + 2], c = i[s + 3];
1238
- const u = r[n + 0], d = r[n + 1], p = r[n + 2], f = r[n + 3];
1239
- if (0 === a)
1240
- return t[e + 0] = o, t[e + 1] = h, t[e + 2] = l, void (t[e + 3] = c);
1241
- if (1 === a)
1242
- return t[e + 0] = u, t[e + 1] = d, t[e + 2] = p, void (t[e + 3] = f);
1243
- if (c !== f || o !== u || h !== d || l !== p) {
1244
- let t4 = 1 - a;
1245
- const e2 = o * u + h * d + l * p + c * f, i2 = e2 >= 0 ? 1 : -1, s2 = 1 - e2 * e2;
1246
- if (s2 > Number.EPSILON) {
1247
- const r3 = Math.sqrt(s2), n2 = Math.atan2(r3, e2 * i2);
1248
- t4 = Math.sin(t4 * n2) / r3, a = Math.sin(a * n2) / r3;
1249
- }
1250
- const r2 = a * i2;
1251
- if (o = o * t4 + u * r2, h = h * t4 + d * r2, l = l * t4 + p * r2, c = c * t4 + f * r2, t4 === 1 - a) {
1252
- const t5 = 1 / Math.sqrt(o * o + h * h + l * l + c * c);
1253
- o *= t5, h *= t5, l *= t5, c *= t5;
1254
- }
1255
- }
1256
- t[e] = o, t[e + 1] = h, t[e + 2] = l, t[e + 3] = c;
1257
- }
1258
- static multiplyQuaternionsFlat(t, e, i, s, r, n) {
1259
- const a = i[s], o = i[s + 1], h = i[s + 2], l = i[s + 3], c = r[n], u = r[n + 1], d = r[n + 2], p = r[n + 3];
1260
- return t[e] = a * p + l * c + o * d - h * u, t[e + 1] = o * p + l * u + h * c - a * d, t[e + 2] = h * p + l * d + a * u - o * c, t[e + 3] = l * p - a * c - o * u - h * d, t;
1261
- }
1262
- get x() {
1263
- return this._x;
1264
- }
1265
- set x(t) {
1266
- this._x = t, this._onChangeCallback();
1267
- }
1268
- get y() {
1269
- return this._y;
1270
- }
1271
- set y(t) {
1272
- this._y = t, this._onChangeCallback();
1273
- }
1274
- get z() {
1275
- return this._z;
1276
- }
1277
- set z(t) {
1278
- this._z = t, this._onChangeCallback();
1279
- }
1280
- get w() {
1281
- return this._w;
1282
- }
1283
- set w(t) {
1284
- this._w = t, this._onChangeCallback();
1376
+ const _vector$c = new Vector3$1(), _quaternion$4 = new Quaternion$1();
1377
+ class Matrix3 {
1378
+ constructor(t, e, i, s, r, n, a, o, h) {
1379
+ Matrix3.prototype.isMatrix3 = true, this.elements = [1, 0, 0, 0, 1, 0, 0, 0, 1], void 0 !== t && this.set(t, e, i, s, r, n, a, o, h);
1285
1380
  }
1286
- set(t, e, i, s) {
1287
- return this._x = t, this._y = e, this._z = i, this._w = s, this._onChangeCallback(), this;
1381
+ set(t, e, i, s, r, n, a, o, h) {
1382
+ const l = this.elements;
1383
+ return l[0] = t, l[1] = s, l[2] = a, l[3] = e, l[4] = r, l[5] = o, l[6] = i, l[7] = n, l[8] = h, this;
1288
1384
  }
1289
- clone() {
1290
- return new this.constructor(this._x, this._y, this._z, this._w);
1385
+ identity() {
1386
+ return this.set(1, 0, 0, 0, 1, 0, 0, 0, 1), this;
1291
1387
  }
1292
1388
  copy(t) {
1293
- return this._x = t.x, this._y = t.y, this._z = t.z, this._w = t.w, this._onChangeCallback(), this;
1389
+ const e = this.elements, i = t.elements;
1390
+ return e[0] = i[0], e[1] = i[1], e[2] = i[2], e[3] = i[3], e[4] = i[4], e[5] = i[5], e[6] = i[6], e[7] = i[7], e[8] = i[8], this;
1294
1391
  }
1295
- setFromEuler(t, e) {
1296
- const i = t._x, s = t._y, r = t._z, n = t._order, a = Math.cos, o = Math.sin, h = a(i / 2), l = a(s / 2), c = a(r / 2), u = o(i / 2), d = o(s / 2), p = o(r / 2);
1297
- switch (n) {
1298
- case "XYZ":
1299
- this._x = u * l * c + h * d * p, this._y = h * d * c - u * l * p, this._z = h * l * p + u * d * c, this._w = h * l * c - u * d * p;
1300
- break;
1301
- case "YXZ":
1302
- this._x = u * l * c + h * d * p, this._y = h * d * c - u * l * p, this._z = h * l * p - u * d * c, this._w = h * l * c + u * d * p;
1303
- break;
1304
- case "ZXY":
1305
- this._x = u * l * c - h * d * p, this._y = h * d * c + u * l * p, this._z = h * l * p + u * d * c, this._w = h * l * c - u * d * p;
1306
- break;
1307
- case "ZYX":
1308
- this._x = u * l * c - h * d * p, this._y = h * d * c + u * l * p, this._z = h * l * p - u * d * c, this._w = h * l * c + u * d * p;
1309
- break;
1310
- case "YZX":
1311
- this._x = u * l * c + h * d * p, this._y = h * d * c + u * l * p, this._z = h * l * p - u * d * c, this._w = h * l * c - u * d * p;
1312
- break;
1313
- case "XZY":
1314
- this._x = u * l * c - h * d * p, this._y = h * d * c - u * l * p, this._z = h * l * p + u * d * c, this._w = h * l * c + u * d * p;
1315
- break;
1316
- default:
1317
- console.warn("THREE.Quaternion: .setFromEuler() encountered an unknown order: " + n);
1318
- }
1319
- return false !== e && this._onChangeCallback(), this;
1392
+ extractBasis(t, e, i) {
1393
+ return t.setFromMatrix3Column(this, 0), e.setFromMatrix3Column(this, 1), i.setFromMatrix3Column(this, 2), this;
1320
1394
  }
1321
- setFromAxisAngle(t, e) {
1322
- const i = e / 2, s = Math.sin(i);
1323
- return this._x = t.x * s, this._y = t.y * s, this._z = t.z * s, this._w = Math.cos(i), this._onChangeCallback(), this;
1395
+ setFromMatrix4(t) {
1396
+ const e = t.elements;
1397
+ return this.set(e[0], e[4], e[8], e[1], e[5], e[9], e[2], e[6], e[10]), this;
1324
1398
  }
1325
- setFromRotationMatrix(t) {
1326
- const e = t.elements, i = e[0], s = e[4], r = e[8], n = e[1], a = e[5], o = e[9], h = e[2], l = e[6], c = e[10], u = i + a + c;
1327
- if (u > 0) {
1328
- const t4 = 0.5 / Math.sqrt(u + 1);
1329
- this._w = 0.25 / t4, this._x = (l - o) * t4, this._y = (r - h) * t4, this._z = (n - s) * t4;
1330
- } else if (i > a && i > c) {
1331
- const t4 = 2 * Math.sqrt(1 + i - a - c);
1332
- this._w = (l - o) / t4, this._x = 0.25 * t4, this._y = (s + n) / t4, this._z = (r + h) / t4;
1333
- } else if (a > c) {
1334
- const t4 = 2 * Math.sqrt(1 + a - i - c);
1335
- this._w = (r - h) / t4, this._x = (s + n) / t4, this._y = 0.25 * t4, this._z = (o + l) / t4;
1336
- } else {
1337
- const t4 = 2 * Math.sqrt(1 + c - i - a);
1338
- this._w = (n - s) / t4, this._x = (r + h) / t4, this._y = (o + l) / t4, this._z = 0.25 * t4;
1339
- }
1340
- return this._onChangeCallback(), this;
1399
+ multiply(t) {
1400
+ return this.multiplyMatrices(this, t);
1341
1401
  }
1342
- setFromUnitVectors(t, e) {
1343
- let i = t.dot(e) + 1;
1344
- return i < Number.EPSILON ? (i = 0, Math.abs(t.x) > Math.abs(t.z) ? (this._x = -t.y, this._y = t.x, this._z = 0, this._w = i) : (this._x = 0, this._y = -t.z, this._z = t.y, this._w = i)) : (this._x = t.y * e.z - t.z * e.y, this._y = t.z * e.x - t.x * e.z, this._z = t.x * e.y - t.y * e.x, this._w = i), this.normalize();
1402
+ premultiply(t) {
1403
+ return this.multiplyMatrices(t, this);
1345
1404
  }
1346
- angleTo(t) {
1347
- return 2 * Math.acos(Math.abs(clamp$1(this.dot(t), -1, 1)));
1405
+ multiplyMatrices(t, e) {
1406
+ const i = t.elements, s = e.elements, r = this.elements, n = i[0], a = i[3], o = i[6], h = i[1], l = i[4], c = i[7], u = i[2], d = i[5], p = i[8], f = s[0], _ = s[3], y = s[6], m = s[1], g = s[4], x = s[7], M = s[2], w = s[5], b = s[8];
1407
+ return r[0] = n * f + a * m + o * M, r[3] = n * _ + a * g + o * w, r[6] = n * y + a * x + o * b, r[1] = h * f + l * m + c * M, r[4] = h * _ + l * g + c * w, r[7] = h * y + l * x + c * b, r[2] = u * f + d * m + p * M, r[5] = u * _ + d * g + p * w, r[8] = u * y + d * x + p * b, this;
1348
1408
  }
1349
- rotateTowards(t, e) {
1350
- const i = this.angleTo(t);
1351
- if (0 === i)
1352
- return this;
1353
- const s = Math.min(1, e / i);
1354
- return this.slerp(t, s), this;
1409
+ multiplyScalar(t) {
1410
+ const e = this.elements;
1411
+ return e[0] *= t, e[3] *= t, e[6] *= t, e[1] *= t, e[4] *= t, e[7] *= t, e[2] *= t, e[5] *= t, e[8] *= t, this;
1355
1412
  }
1356
- identity() {
1357
- return this.set(0, 0, 0, 1);
1413
+ determinant() {
1414
+ const t = this.elements, e = t[0], i = t[1], s = t[2], r = t[3], n = t[4], a = t[5], o = t[6], h = t[7], l = t[8];
1415
+ return e * n * l - e * a * h - i * r * l + i * a * o + s * r * h - s * n * o;
1358
1416
  }
1359
1417
  invert() {
1360
- return this.conjugate();
1361
- }
1362
- conjugate() {
1363
- return this._x *= -1, this._y *= -1, this._z *= -1, this._onChangeCallback(), this;
1418
+ const t = this.elements, e = t[0], i = t[1], s = t[2], r = t[3], n = t[4], a = t[5], o = t[6], h = t[7], l = t[8], c = l * n - a * h, u = a * o - l * r, d = h * r - n * o, p = e * c + i * u + s * d;
1419
+ if (0 === p)
1420
+ return this.set(0, 0, 0, 0, 0, 0, 0, 0, 0);
1421
+ const f = 1 / p;
1422
+ return t[0] = c * f, t[1] = (s * h - l * i) * f, t[2] = (a * i - s * n) * f, t[3] = u * f, t[4] = (l * e - s * o) * f, t[5] = (s * r - a * e) * f, t[6] = d * f, t[7] = (i * o - h * e) * f, t[8] = (n * e - i * r) * f, this;
1364
1423
  }
1365
- dot(t) {
1366
- return this._x * t._x + this._y * t._y + this._z * t._z + this._w * t._w;
1424
+ transpose() {
1425
+ let t;
1426
+ const e = this.elements;
1427
+ return t = e[1], e[1] = e[3], e[3] = t, t = e[2], e[2] = e[6], e[6] = t, t = e[5], e[5] = e[7], e[7] = t, this;
1367
1428
  }
1368
- lengthSq() {
1369
- return this._x * this._x + this._y * this._y + this._z * this._z + this._w * this._w;
1429
+ getNormalMatrix(t) {
1430
+ return this.setFromMatrix4(t).invert().transpose();
1370
1431
  }
1371
- length() {
1372
- return Math.sqrt(this._x * this._x + this._y * this._y + this._z * this._z + this._w * this._w);
1432
+ transposeIntoArray(t) {
1433
+ const e = this.elements;
1434
+ return t[0] = e[0], t[1] = e[3], t[2] = e[6], t[3] = e[1], t[4] = e[4], t[5] = e[7], t[6] = e[2], t[7] = e[5], t[8] = e[8], this;
1373
1435
  }
1374
- normalize() {
1375
- let t = this.length();
1376
- return 0 === t ? (this._x = 0, this._y = 0, this._z = 0, this._w = 1) : (t = 1 / t, this._x = this._x * t, this._y = this._y * t, this._z = this._z * t, this._w = this._w * t), this._onChangeCallback(), this;
1436
+ setUvTransform(t, e, i, s, r, n, a) {
1437
+ const o = Math.cos(r), h = Math.sin(r);
1438
+ return this.set(i * o, i * h, -i * (o * n + h * a) + n + t, -s * h, s * o, -s * (-h * n + o * a) + a + e, 0, 0, 1), this;
1377
1439
  }
1378
- multiply(t) {
1379
- return this.multiplyQuaternions(this, t);
1440
+ scale(t, e) {
1441
+ return this.premultiply(_m3.makeScale(t, e)), this;
1380
1442
  }
1381
- premultiply(t) {
1382
- return this.multiplyQuaternions(t, this);
1443
+ rotate(t) {
1444
+ return this.premultiply(_m3.makeRotation(-t)), this;
1383
1445
  }
1384
- multiplyQuaternions(t, e) {
1385
- const i = t._x, s = t._y, r = t._z, n = t._w, a = e._x, o = e._y, h = e._z, l = e._w;
1386
- return this._x = i * l + n * a + s * h - r * o, this._y = s * l + n * o + r * a - i * h, this._z = r * l + n * h + i * o - s * a, this._w = n * l - i * a - s * o - r * h, this._onChangeCallback(), this;
1446
+ translate(t, e) {
1447
+ return this.premultiply(_m3.makeTranslation(t, e)), this;
1387
1448
  }
1388
- slerp(t, e) {
1389
- if (0 === e)
1390
- return this;
1391
- if (1 === e)
1392
- return this.copy(t);
1393
- const i = this._x, s = this._y, r = this._z, n = this._w;
1394
- let a = n * t._w + i * t._x + s * t._y + r * t._z;
1395
- if (a < 0 ? (this._w = -t._w, this._x = -t._x, this._y = -t._y, this._z = -t._z, a = -a) : this.copy(t), a >= 1)
1396
- return this._w = n, this._x = i, this._y = s, this._z = r, this;
1397
- const o = 1 - a * a;
1398
- if (o <= Number.EPSILON) {
1399
- const t4 = 1 - e;
1400
- return this._w = t4 * n + e * this._w, this._x = t4 * i + e * this._x, this._y = t4 * s + e * this._y, this._z = t4 * r + e * this._z, this.normalize(), this._onChangeCallback(), this;
1401
- }
1402
- const h = Math.sqrt(o), l = Math.atan2(h, a), c = Math.sin((1 - e) * l) / h, u = Math.sin(e * l) / h;
1403
- return this._w = n * c + this._w * u, this._x = i * c + this._x * u, this._y = s * c + this._y * u, this._z = r * c + this._z * u, this._onChangeCallback(), this;
1449
+ makeTranslation(t, e) {
1450
+ return t.isVector2 ? this.set(1, 0, t.x, 0, 1, t.y, 0, 0, 1) : this.set(1, 0, t, 0, 1, e, 0, 0, 1), this;
1404
1451
  }
1405
- slerpQuaternions(t, e, i) {
1406
- return this.copy(t).slerp(e, i);
1452
+ makeRotation(t) {
1453
+ const e = Math.cos(t), i = Math.sin(t);
1454
+ return this.set(e, -i, 0, i, e, 0, 0, 0, 1), this;
1407
1455
  }
1408
- random() {
1409
- const t = Math.random(), e = Math.sqrt(1 - t), i = Math.sqrt(t), s = 2 * Math.PI * Math.random(), r = 2 * Math.PI * Math.random();
1410
- return this.set(e * Math.cos(s), i * Math.sin(r), i * Math.cos(r), e * Math.sin(s));
1456
+ makeScale(t, e) {
1457
+ return this.set(t, 0, 0, 0, e, 0, 0, 0, 1), this;
1411
1458
  }
1412
1459
  equals(t) {
1413
- return t._x === this._x && t._y === this._y && t._z === this._z && t._w === this._w;
1460
+ const e = this.elements, i = t.elements;
1461
+ for (let t4 = 0; t4 < 9; t4++)
1462
+ if (e[t4] !== i[t4])
1463
+ return false;
1464
+ return true;
1414
1465
  }
1415
1466
  fromArray(t, e = 0) {
1416
- return this._x = t[e], this._y = t[e + 1], this._z = t[e + 2], this._w = t[e + 3], this._onChangeCallback(), this;
1467
+ for (let i = 0; i < 9; i++)
1468
+ this.elements[i] = t[i + e];
1469
+ return this;
1417
1470
  }
1418
1471
  toArray(t = [], e = 0) {
1419
- return t[e] = this._x, t[e + 1] = this._y, t[e + 2] = this._z, t[e + 3] = this._w, t;
1472
+ const i = this.elements;
1473
+ return t[e] = i[0], t[e + 1] = i[1], t[e + 2] = i[2], t[e + 3] = i[3], t[e + 4] = i[4], t[e + 5] = i[5], t[e + 6] = i[6], t[e + 7] = i[7], t[e + 8] = i[8], t;
1420
1474
  }
1421
- fromBufferAttribute(t, e) {
1422
- return this._x = t.getX(e), this._y = t.getY(e), this._z = t.getZ(e), this._w = t.getW(e), this;
1475
+ clone() {
1476
+ return new this.constructor().fromArray(this.elements);
1423
1477
  }
1424
- toJSON() {
1425
- return this.toArray();
1478
+ }
1479
+ const _m3 = new Matrix3(), _cache$1 = {};
1480
+ function warnOnce(t) {
1481
+ t in _cache$1 || (_cache$1[t] = true, console.warn(t));
1482
+ }
1483
+ const LINEAR_REC709_TO_XYZ = new Matrix3().set(0.4123908, 0.3575843, 0.1804808, 0.212639, 0.7151687, 0.0721923, 0.0193308, 0.1191948, 0.9505322), XYZ_TO_LINEAR_REC709 = new Matrix3().set(3.2409699, -1.5373832, -0.4986108, -0.9692436, 1.8759675, 0.0415551, 0.0556301, -0.203977, 1.0569715);
1484
+ function createColorManagement() {
1485
+ const t = { enabled: true, workingColorSpace: LinearSRGBColorSpace, spaces: {}, convert: function(t4, e2, i2) {
1486
+ return false !== this.enabled && e2 !== i2 && e2 && i2 ? (this.spaces[e2].transfer === SRGBTransfer && (t4.r = SRGBToLinear(t4.r), t4.g = SRGBToLinear(t4.g), t4.b = SRGBToLinear(t4.b)), this.spaces[e2].primaries !== this.spaces[i2].primaries && (t4.applyMatrix3(this.spaces[e2].toXYZ), t4.applyMatrix3(this.spaces[i2].fromXYZ)), this.spaces[i2].transfer === SRGBTransfer && (t4.r = LinearToSRGB(t4.r), t4.g = LinearToSRGB(t4.g), t4.b = LinearToSRGB(t4.b)), t4) : t4;
1487
+ }, workingToColorSpace: function(t4, e2) {
1488
+ return this.convert(t4, this.workingColorSpace, e2);
1489
+ }, colorSpaceToWorking: function(t4, e2) {
1490
+ return this.convert(t4, e2, this.workingColorSpace);
1491
+ }, getPrimaries: function(t4) {
1492
+ return this.spaces[t4].primaries;
1493
+ }, getTransfer: function(t4) {
1494
+ return t4 === NoColorSpace ? LinearTransfer : this.spaces[t4].transfer;
1495
+ }, getLuminanceCoefficients: function(t4, e2 = this.workingColorSpace) {
1496
+ return t4.fromArray(this.spaces[e2].luminanceCoefficients);
1497
+ }, define: function(t4) {
1498
+ Object.assign(this.spaces, t4);
1499
+ }, _getMatrix: function(t4, e2, i2) {
1500
+ return t4.copy(this.spaces[e2].toXYZ).multiply(this.spaces[i2].fromXYZ);
1501
+ }, _getDrawingBufferColorSpace: function(t4) {
1502
+ return this.spaces[t4].outputColorSpaceConfig.drawingBufferColorSpace;
1503
+ }, _getUnpackColorSpace: function(t4 = this.workingColorSpace) {
1504
+ return this.spaces[t4].workingColorSpaceConfig.unpackColorSpace;
1505
+ }, fromWorkingColorSpace: function(e2, i2) {
1506
+ return warnOnce("THREE.ColorManagement: .fromWorkingColorSpace() has been renamed to .workingToColorSpace()."), t.workingToColorSpace(e2, i2);
1507
+ }, toWorkingColorSpace: function(e2, i2) {
1508
+ return warnOnce("THREE.ColorManagement: .toWorkingColorSpace() has been renamed to .colorSpaceToWorking()."), t.colorSpaceToWorking(e2, i2);
1509
+ } }, e = [0.64, 0.33, 0.3, 0.6, 0.15, 0.06], i = [0.2126, 0.7152, 0.0722], s = [0.3127, 0.329];
1510
+ return t.define({ [LinearSRGBColorSpace]: { primaries: e, whitePoint: s, transfer: LinearTransfer, toXYZ: LINEAR_REC709_TO_XYZ, fromXYZ: XYZ_TO_LINEAR_REC709, luminanceCoefficients: i, workingColorSpaceConfig: { unpackColorSpace: SRGBColorSpace }, outputColorSpaceConfig: { drawingBufferColorSpace: SRGBColorSpace } }, [SRGBColorSpace]: { primaries: e, whitePoint: s, transfer: SRGBTransfer, toXYZ: LINEAR_REC709_TO_XYZ, fromXYZ: XYZ_TO_LINEAR_REC709, luminanceCoefficients: i, outputColorSpaceConfig: { drawingBufferColorSpace: SRGBColorSpace } } }), t;
1511
+ }
1512
+ const ColorManagement = createColorManagement();
1513
+ function SRGBToLinear(t) {
1514
+ return t < 0.04045 ? 0.0773993808 * t : Math.pow(0.9478672986 * t + 0.0521327014, 2.4);
1515
+ }
1516
+ function LinearToSRGB(t) {
1517
+ return t < 31308e-7 ? 12.92 * t : 1.055 * Math.pow(t, 0.41666) - 0.055;
1518
+ }
1519
+ class Vector4 {
1520
+ constructor(t = 0, e = 0, i = 0, s = 1) {
1521
+ Vector4.prototype.isVector4 = true, this.x = t, this.y = e, this.z = i, this.w = s;
1426
1522
  }
1427
- _onChange(t) {
1428
- return this._onChangeCallback = t, this;
1523
+ get width() {
1524
+ return this.z;
1429
1525
  }
1430
- _onChangeCallback() {
1526
+ set width(t) {
1527
+ this.z = t;
1431
1528
  }
1432
- *[Symbol.iterator]() {
1433
- yield this._x, yield this._y, yield this._z, yield this._w;
1529
+ get height() {
1530
+ return this.w;
1434
1531
  }
1435
- }
1436
- class Vector3$1 {
1437
- constructor(t = 0, e = 0, i = 0) {
1438
- Vector3$1.prototype.isVector3 = true, this.x = t, this.y = e, this.z = i;
1532
+ set height(t) {
1533
+ this.w = t;
1439
1534
  }
1440
- set(t, e, i) {
1441
- return void 0 === i && (i = this.z), this.x = t, this.y = e, this.z = i, this;
1535
+ set(t, e, i, s) {
1536
+ return this.x = t, this.y = e, this.z = i, this.w = s, this;
1442
1537
  }
1443
1538
  setScalar(t) {
1444
- return this.x = t, this.y = t, this.z = t, this;
1539
+ return this.x = t, this.y = t, this.z = t, this.w = t, this;
1445
1540
  }
1446
1541
  setX(t) {
1447
1542
  return this.x = t, this;
@@ -1452,6 +1547,9 @@ class Vector3$1 {
1452
1547
  setZ(t) {
1453
1548
  return this.z = t, this;
1454
1549
  }
1550
+ setW(t) {
1551
+ return this.w = t, this;
1552
+ }
1455
1553
  setComponent(t, e) {
1456
1554
  switch (t) {
1457
1555
  case 0:
@@ -1463,6 +1561,9 @@ class Vector3$1 {
1463
1561
  case 2:
1464
1562
  this.z = e;
1465
1563
  break;
1564
+ case 3:
1565
+ this.w = e;
1566
+ break;
1466
1567
  default:
1467
1568
  throw new Error("index is out of range: " + t);
1468
1569
  }
@@ -1476,125 +1577,119 @@ class Vector3$1 {
1476
1577
  return this.y;
1477
1578
  case 2:
1478
1579
  return this.z;
1580
+ case 3:
1581
+ return this.w;
1479
1582
  default:
1480
1583
  throw new Error("index is out of range: " + t);
1481
1584
  }
1482
1585
  }
1483
1586
  clone() {
1484
- return new this.constructor(this.x, this.y, this.z);
1587
+ return new this.constructor(this.x, this.y, this.z, this.w);
1485
1588
  }
1486
1589
  copy(t) {
1487
- return this.x = t.x, this.y = t.y, this.z = t.z, this;
1590
+ return this.x = t.x, this.y = t.y, this.z = t.z, this.w = void 0 !== t.w ? t.w : 1, this;
1488
1591
  }
1489
1592
  add(t) {
1490
- return this.x += t.x, this.y += t.y, this.z += t.z, this;
1593
+ return this.x += t.x, this.y += t.y, this.z += t.z, this.w += t.w, this;
1491
1594
  }
1492
1595
  addScalar(t) {
1493
- return this.x += t, this.y += t, this.z += t, this;
1596
+ return this.x += t, this.y += t, this.z += t, this.w += t, this;
1494
1597
  }
1495
1598
  addVectors(t, e) {
1496
- return this.x = t.x + e.x, this.y = t.y + e.y, this.z = t.z + e.z, this;
1599
+ return this.x = t.x + e.x, this.y = t.y + e.y, this.z = t.z + e.z, this.w = t.w + e.w, this;
1497
1600
  }
1498
1601
  addScaledVector(t, e) {
1499
- return this.x += t.x * e, this.y += t.y * e, this.z += t.z * e, this;
1602
+ return this.x += t.x * e, this.y += t.y * e, this.z += t.z * e, this.w += t.w * e, this;
1500
1603
  }
1501
1604
  sub(t) {
1502
- return this.x -= t.x, this.y -= t.y, this.z -= t.z, this;
1605
+ return this.x -= t.x, this.y -= t.y, this.z -= t.z, this.w -= t.w, this;
1503
1606
  }
1504
1607
  subScalar(t) {
1505
- return this.x -= t, this.y -= t, this.z -= t, this;
1608
+ return this.x -= t, this.y -= t, this.z -= t, this.w -= t, this;
1506
1609
  }
1507
1610
  subVectors(t, e) {
1508
- return this.x = t.x - e.x, this.y = t.y - e.y, this.z = t.z - e.z, this;
1611
+ return this.x = t.x - e.x, this.y = t.y - e.y, this.z = t.z - e.z, this.w = t.w - e.w, this;
1509
1612
  }
1510
1613
  multiply(t) {
1511
- return this.x *= t.x, this.y *= t.y, this.z *= t.z, this;
1614
+ return this.x *= t.x, this.y *= t.y, this.z *= t.z, this.w *= t.w, this;
1512
1615
  }
1513
1616
  multiplyScalar(t) {
1514
- return this.x *= t, this.y *= t, this.z *= t, this;
1515
- }
1516
- multiplyVectors(t, e) {
1517
- return this.x = t.x * e.x, this.y = t.y * e.y, this.z = t.z * e.z, this;
1518
- }
1519
- applyEuler(t) {
1520
- return this.applyQuaternion(_quaternion$4.setFromEuler(t));
1521
- }
1522
- applyAxisAngle(t, e) {
1523
- return this.applyQuaternion(_quaternion$4.setFromAxisAngle(t, e));
1524
- }
1525
- applyMatrix3(t) {
1526
- const e = this.x, i = this.y, s = this.z, r = t.elements;
1527
- return this.x = r[0] * e + r[3] * i + r[6] * s, this.y = r[1] * e + r[4] * i + r[7] * s, this.z = r[2] * e + r[5] * i + r[8] * s, this;
1528
- }
1529
- applyNormalMatrix(t) {
1530
- return this.applyMatrix3(t).normalize();
1617
+ return this.x *= t, this.y *= t, this.z *= t, this.w *= t, this;
1531
1618
  }
1532
1619
  applyMatrix4(t) {
1533
- const e = this.x, i = this.y, s = this.z, r = t.elements, n = 1 / (r[3] * e + r[7] * i + r[11] * s + r[15]);
1534
- return this.x = (r[0] * e + r[4] * i + r[8] * s + r[12]) * n, this.y = (r[1] * e + r[5] * i + r[9] * s + r[13]) * n, this.z = (r[2] * e + r[6] * i + r[10] * s + r[14]) * n, this;
1535
- }
1536
- applyQuaternion(t) {
1537
- const e = this.x, i = this.y, s = this.z, r = t.x, n = t.y, a = t.z, o = t.w, h = 2 * (n * s - a * i), l = 2 * (a * e - r * s), c = 2 * (r * i - n * e);
1538
- return this.x = e + o * h + n * c - a * l, this.y = i + o * l + a * h - r * c, this.z = s + o * c + r * l - n * h, this;
1539
- }
1540
- project(t) {
1541
- return this.applyMatrix4(t.matrixWorldInverse).applyMatrix4(t.projectionMatrix);
1542
- }
1543
- unproject(t) {
1544
- return this.applyMatrix4(t.projectionMatrixInverse).applyMatrix4(t.matrixWorld);
1545
- }
1546
- transformDirection(t) {
1547
- const e = this.x, i = this.y, s = this.z, r = t.elements;
1548
- return this.x = r[0] * e + r[4] * i + r[8] * s, this.y = r[1] * e + r[5] * i + r[9] * s, this.z = r[2] * e + r[6] * i + r[10] * s, this.normalize();
1620
+ const e = this.x, i = this.y, s = this.z, r = this.w, n = t.elements;
1621
+ return this.x = n[0] * e + n[4] * i + n[8] * s + n[12] * r, this.y = n[1] * e + n[5] * i + n[9] * s + n[13] * r, this.z = n[2] * e + n[6] * i + n[10] * s + n[14] * r, this.w = n[3] * e + n[7] * i + n[11] * s + n[15] * r, this;
1549
1622
  }
1550
1623
  divide(t) {
1551
- return this.x /= t.x, this.y /= t.y, this.z /= t.z, this;
1624
+ return this.x /= t.x, this.y /= t.y, this.z /= t.z, this.w /= t.w, this;
1552
1625
  }
1553
1626
  divideScalar(t) {
1554
1627
  return this.multiplyScalar(1 / t);
1555
1628
  }
1629
+ setAxisAngleFromQuaternion(t) {
1630
+ this.w = 2 * Math.acos(t.w);
1631
+ const e = Math.sqrt(1 - t.w * t.w);
1632
+ return e < 1e-4 ? (this.x = 1, this.y = 0, this.z = 0) : (this.x = t.x / e, this.y = t.y / e, this.z = t.z / e), this;
1633
+ }
1634
+ setAxisAngleFromRotationMatrix(t) {
1635
+ let e, i, s, r;
1636
+ const n = 0.01, a = 0.1, o = t.elements, h = o[0], l = o[4], c = o[8], u = o[1], d = o[5], p = o[9], f = o[2], _ = o[6], y = o[10];
1637
+ if (Math.abs(l - u) < n && Math.abs(c - f) < n && Math.abs(p - _) < n) {
1638
+ if (Math.abs(l + u) < a && Math.abs(c + f) < a && Math.abs(p + _) < a && Math.abs(h + d + y - 3) < a)
1639
+ return this.set(1, 0, 0, 0), this;
1640
+ e = Math.PI;
1641
+ const t4 = (h + 1) / 2, o2 = (d + 1) / 2, m2 = (y + 1) / 2, g = (l + u) / 4, x = (c + f) / 4, M = (p + _) / 4;
1642
+ return t4 > o2 && t4 > m2 ? t4 < n ? (i = 0, s = 0.707106781, r = 0.707106781) : (i = Math.sqrt(t4), s = g / i, r = x / i) : o2 > m2 ? o2 < n ? (i = 0.707106781, s = 0, r = 0.707106781) : (s = Math.sqrt(o2), i = g / s, r = M / s) : m2 < n ? (i = 0.707106781, s = 0.707106781, r = 0) : (r = Math.sqrt(m2), i = x / r, s = M / r), this.set(i, s, r, e), this;
1643
+ }
1644
+ let m = Math.sqrt((_ - p) * (_ - p) + (c - f) * (c - f) + (u - l) * (u - l));
1645
+ return Math.abs(m) < 1e-3 && (m = 1), this.x = (_ - p) / m, this.y = (c - f) / m, this.z = (u - l) / m, this.w = Math.acos((h + d + y - 1) / 2), this;
1646
+ }
1647
+ setFromMatrixPosition(t) {
1648
+ const e = t.elements;
1649
+ return this.x = e[12], this.y = e[13], this.z = e[14], this.w = e[15], this;
1650
+ }
1556
1651
  min(t) {
1557
- return this.x = Math.min(this.x, t.x), this.y = Math.min(this.y, t.y), this.z = Math.min(this.z, t.z), this;
1652
+ return this.x = Math.min(this.x, t.x), this.y = Math.min(this.y, t.y), this.z = Math.min(this.z, t.z), this.w = Math.min(this.w, t.w), this;
1558
1653
  }
1559
1654
  max(t) {
1560
- return this.x = Math.max(this.x, t.x), this.y = Math.max(this.y, t.y), this.z = Math.max(this.z, t.z), this;
1655
+ return this.x = Math.max(this.x, t.x), this.y = Math.max(this.y, t.y), this.z = Math.max(this.z, t.z), this.w = Math.max(this.w, t.w), this;
1561
1656
  }
1562
1657
  clamp(t, e) {
1563
- return this.x = Math.max(t.x, Math.min(e.x, this.x)), this.y = Math.max(t.y, Math.min(e.y, this.y)), this.z = Math.max(t.z, Math.min(e.z, this.z)), this;
1658
+ return this.x = clamp$1(this.x, t.x, e.x), this.y = clamp$1(this.y, t.y, e.y), this.z = clamp$1(this.z, t.z, e.z), this.w = clamp$1(this.w, t.w, e.w), this;
1564
1659
  }
1565
1660
  clampScalar(t, e) {
1566
- return this.x = Math.max(t, Math.min(e, this.x)), this.y = Math.max(t, Math.min(e, this.y)), this.z = Math.max(t, Math.min(e, this.z)), this;
1661
+ return this.x = clamp$1(this.x, t, e), this.y = clamp$1(this.y, t, e), this.z = clamp$1(this.z, t, e), this.w = clamp$1(this.w, t, e), this;
1567
1662
  }
1568
1663
  clampLength(t, e) {
1569
1664
  const i = this.length();
1570
- return this.divideScalar(i || 1).multiplyScalar(Math.max(t, Math.min(e, i)));
1665
+ return this.divideScalar(i || 1).multiplyScalar(clamp$1(i, t, e));
1571
1666
  }
1572
1667
  floor() {
1573
- return this.x = Math.floor(this.x), this.y = Math.floor(this.y), this.z = Math.floor(this.z), this;
1668
+ return this.x = Math.floor(this.x), this.y = Math.floor(this.y), this.z = Math.floor(this.z), this.w = Math.floor(this.w), this;
1574
1669
  }
1575
1670
  ceil() {
1576
- return this.x = Math.ceil(this.x), this.y = Math.ceil(this.y), this.z = Math.ceil(this.z), this;
1671
+ return this.x = Math.ceil(this.x), this.y = Math.ceil(this.y), this.z = Math.ceil(this.z), this.w = Math.ceil(this.w), this;
1577
1672
  }
1578
1673
  round() {
1579
- return this.x = Math.round(this.x), this.y = Math.round(this.y), this.z = Math.round(this.z), this;
1674
+ return this.x = Math.round(this.x), this.y = Math.round(this.y), this.z = Math.round(this.z), this.w = Math.round(this.w), this;
1580
1675
  }
1581
1676
  roundToZero() {
1582
- return this.x = Math.trunc(this.x), this.y = Math.trunc(this.y), this.z = Math.trunc(this.z), this;
1677
+ return this.x = Math.trunc(this.x), this.y = Math.trunc(this.y), this.z = Math.trunc(this.z), this.w = Math.trunc(this.w), this;
1583
1678
  }
1584
1679
  negate() {
1585
- return this.x = -this.x, this.y = -this.y, this.z = -this.z, this;
1680
+ return this.x = -this.x, this.y = -this.y, this.z = -this.z, this.w = -this.w, this;
1586
1681
  }
1587
1682
  dot(t) {
1588
- return this.x * t.x + this.y * t.y + this.z * t.z;
1683
+ return this.x * t.x + this.y * t.y + this.z * t.z + this.w * t.w;
1589
1684
  }
1590
1685
  lengthSq() {
1591
- return this.x * this.x + this.y * this.y + this.z * this.z;
1686
+ return this.x * this.x + this.y * this.y + this.z * this.z + this.w * this.w;
1592
1687
  }
1593
1688
  length() {
1594
- return Math.sqrt(this.x * this.x + this.y * this.y + this.z * this.z);
1689
+ return Math.sqrt(this.x * this.x + this.y * this.y + this.z * this.z + this.w * this.w);
1595
1690
  }
1596
1691
  manhattanLength() {
1597
- return Math.abs(this.x) + Math.abs(this.y) + Math.abs(this.z);
1692
+ return Math.abs(this.x) + Math.abs(this.y) + Math.abs(this.z) + Math.abs(this.w);
1598
1693
  }
1599
1694
  normalize() {
1600
1695
  return this.divideScalar(this.length() || 1);
@@ -1603,105 +1698,30 @@ class Vector3$1 {
1603
1698
  return this.normalize().multiplyScalar(t);
1604
1699
  }
1605
1700
  lerp(t, e) {
1606
- return this.x += (t.x - this.x) * e, this.y += (t.y - this.y) * e, this.z += (t.z - this.z) * e, this;
1701
+ return this.x += (t.x - this.x) * e, this.y += (t.y - this.y) * e, this.z += (t.z - this.z) * e, this.w += (t.w - this.w) * e, this;
1607
1702
  }
1608
1703
  lerpVectors(t, e, i) {
1609
- return this.x = t.x + (e.x - t.x) * i, this.y = t.y + (e.y - t.y) * i, this.z = t.z + (e.z - t.z) * i, this;
1610
- }
1611
- cross(t) {
1612
- return this.crossVectors(this, t);
1613
- }
1614
- crossVectors(t, e) {
1615
- const i = t.x, s = t.y, r = t.z, n = e.x, a = e.y, o = e.z;
1616
- return this.x = s * o - r * a, this.y = r * n - i * o, this.z = i * a - s * n, this;
1617
- }
1618
- projectOnVector(t) {
1619
- const e = t.lengthSq();
1620
- if (0 === e)
1621
- return this.set(0, 0, 0);
1622
- const i = t.dot(this) / e;
1623
- return this.copy(t).multiplyScalar(i);
1624
- }
1625
- projectOnPlane(t) {
1626
- return _vector$b.copy(this).projectOnVector(t), this.sub(_vector$b);
1627
- }
1628
- reflect(t) {
1629
- return this.sub(_vector$b.copy(t).multiplyScalar(2 * this.dot(t)));
1630
- }
1631
- angleTo(t) {
1632
- const e = Math.sqrt(this.lengthSq() * t.lengthSq());
1633
- if (0 === e)
1634
- return Math.PI / 2;
1635
- const i = this.dot(t) / e;
1636
- return Math.acos(clamp$1(i, -1, 1));
1637
- }
1638
- distanceTo(t) {
1639
- return Math.sqrt(this.distanceToSquared(t));
1640
- }
1641
- distanceToSquared(t) {
1642
- const e = this.x - t.x, i = this.y - t.y, s = this.z - t.z;
1643
- return e * e + i * i + s * s;
1644
- }
1645
- manhattanDistanceTo(t) {
1646
- return Math.abs(this.x - t.x) + Math.abs(this.y - t.y) + Math.abs(this.z - t.z);
1647
- }
1648
- setFromSpherical(t) {
1649
- return this.setFromSphericalCoords(t.radius, t.phi, t.theta);
1650
- }
1651
- setFromSphericalCoords(t, e, i) {
1652
- const s = Math.sin(e) * t;
1653
- return this.x = s * Math.sin(i), this.y = Math.cos(e) * t, this.z = s * Math.cos(i), this;
1654
- }
1655
- setFromCylindrical(t) {
1656
- return this.setFromCylindricalCoords(t.radius, t.theta, t.y);
1657
- }
1658
- setFromCylindricalCoords(t, e, i) {
1659
- return this.x = t * Math.sin(e), this.y = i, this.z = t * Math.cos(e), this;
1660
- }
1661
- setFromMatrixPosition(t) {
1662
- const e = t.elements;
1663
- return this.x = e[12], this.y = e[13], this.z = e[14], this;
1664
- }
1665
- setFromMatrixScale(t) {
1666
- const e = this.setFromMatrixColumn(t, 0).length(), i = this.setFromMatrixColumn(t, 1).length(), s = this.setFromMatrixColumn(t, 2).length();
1667
- return this.x = e, this.y = i, this.z = s, this;
1668
- }
1669
- setFromMatrixColumn(t, e) {
1670
- return this.fromArray(t.elements, 4 * e);
1671
- }
1672
- setFromMatrix3Column(t, e) {
1673
- return this.fromArray(t.elements, 3 * e);
1674
- }
1675
- setFromEuler(t) {
1676
- return this.x = t._x, this.y = t._y, this.z = t._z, this;
1677
- }
1678
- setFromColor(t) {
1679
- return this.x = t.r, this.y = t.g, this.z = t.b, this;
1704
+ return this.x = t.x + (e.x - t.x) * i, this.y = t.y + (e.y - t.y) * i, this.z = t.z + (e.z - t.z) * i, this.w = t.w + (e.w - t.w) * i, this;
1680
1705
  }
1681
1706
  equals(t) {
1682
- return t.x === this.x && t.y === this.y && t.z === this.z;
1707
+ return t.x === this.x && t.y === this.y && t.z === this.z && t.w === this.w;
1683
1708
  }
1684
1709
  fromArray(t, e = 0) {
1685
- return this.x = t[e], this.y = t[e + 1], this.z = t[e + 2], this;
1710
+ return this.x = t[e], this.y = t[e + 1], this.z = t[e + 2], this.w = t[e + 3], this;
1686
1711
  }
1687
1712
  toArray(t = [], e = 0) {
1688
- return t[e] = this.x, t[e + 1] = this.y, t[e + 2] = this.z, t;
1713
+ return t[e] = this.x, t[e + 1] = this.y, t[e + 2] = this.z, t[e + 3] = this.w, t;
1689
1714
  }
1690
1715
  fromBufferAttribute(t, e) {
1691
- return this.x = t.getX(e), this.y = t.getY(e), this.z = t.getZ(e), this;
1716
+ return this.x = t.getX(e), this.y = t.getY(e), this.z = t.getZ(e), this.w = t.getW(e), this;
1692
1717
  }
1693
1718
  random() {
1694
- return this.x = Math.random(), this.y = Math.random(), this.z = Math.random(), this;
1695
- }
1696
- randomDirection() {
1697
- const t = 2 * (Math.random() - 0.5), e = Math.random() * Math.PI * 2, i = Math.sqrt(1 - t ** 2);
1698
- return this.x = i * Math.cos(e), this.y = i * Math.sin(e), this.z = t, this;
1719
+ return this.x = Math.random(), this.y = Math.random(), this.z = Math.random(), this.w = Math.random(), this;
1699
1720
  }
1700
1721
  *[Symbol.iterator]() {
1701
- yield this.x, yield this.y, yield this.z;
1722
+ yield this.x, yield this.y, yield this.z, yield this.w;
1702
1723
  }
1703
1724
  }
1704
- const _vector$b = new Vector3$1(), _quaternion$4 = new Quaternion$1();
1705
1725
  class Box3 {
1706
1726
  constructor(t = new Vector3$1(1 / 0, 1 / 0, 1 / 0), e = new Vector3$1(-1 / 0, -1 / 0, -1 / 0)) {
1707
1727
  this.isBox3 = true, this.min = t, this.max = e;
@@ -1712,13 +1732,13 @@ class Box3 {
1712
1732
  setFromArray(t) {
1713
1733
  this.makeEmpty();
1714
1734
  for (let e = 0, i = t.length; e < i; e += 3)
1715
- this.expandByPoint(_vector$a.fromArray(t, e));
1735
+ this.expandByPoint(_vector$b.fromArray(t, e));
1716
1736
  return this;
1717
1737
  }
1718
1738
  setFromBufferAttribute(t) {
1719
1739
  this.makeEmpty();
1720
1740
  for (let e = 0, i = t.count; e < i; e++)
1721
- this.expandByPoint(_vector$a.fromBufferAttribute(t, e));
1741
+ this.expandByPoint(_vector$b.fromBufferAttribute(t, e));
1722
1742
  return this;
1723
1743
  }
1724
1744
  setFromPoints(t) {
@@ -1728,7 +1748,7 @@ class Box3 {
1728
1748
  return this;
1729
1749
  }
1730
1750
  setFromCenterAndSize(t, e) {
1731
- const i = _vector$a.copy(e).multiplyScalar(0.5);
1751
+ const i = _vector$b.copy(e).multiplyScalar(0.5);
1732
1752
  return this.min.copy(t).sub(i), this.max.copy(t).add(i), this;
1733
1753
  }
1734
1754
  setFromObject(t, e = false) {
@@ -1768,9 +1788,9 @@ class Box3 {
1768
1788
  const s2 = i.getAttribute("position");
1769
1789
  if (true === e && void 0 !== s2 && true !== t.isInstancedMesh)
1770
1790
  for (let e2 = 0, i2 = s2.count; e2 < i2; e2++)
1771
- true === t.isMesh ? t.getVertexPosition(e2, _vector$a) : _vector$a.fromBufferAttribute(s2, e2), _vector$a.applyMatrix4(t.matrixWorld), this.expandByPoint(_vector$a);
1791
+ true === t.isMesh ? t.getVertexPosition(e2, _vector$b) : _vector$b.fromBufferAttribute(s2, e2), _vector$b.applyMatrix4(t.matrixWorld), this.expandByPoint(_vector$b);
1772
1792
  else
1773
- void 0 !== t.boundingBox ? (null === t.boundingBox && t.computeBoundingBox(), _box$3.copy(t.boundingBox)) : (null === i.boundingBox && i.computeBoundingBox(), _box$3.copy(i.boundingBox)), _box$3.applyMatrix4(t.matrixWorld), this.union(_box$3);
1793
+ void 0 !== t.boundingBox ? (null === t.boundingBox && t.computeBoundingBox(), _box$4.copy(t.boundingBox)) : (null === i.boundingBox && i.computeBoundingBox(), _box$4.copy(i.boundingBox)), _box$4.applyMatrix4(t.matrixWorld), this.union(_box$4);
1774
1794
  }
1775
1795
  const s = t.children;
1776
1796
  for (let t4 = 0, i2 = s.length; t4 < i2; t4++)
@@ -1778,7 +1798,7 @@ class Box3 {
1778
1798
  return this;
1779
1799
  }
1780
1800
  containsPoint(t) {
1781
- return !(t.x < this.min.x || t.x > this.max.x || t.y < this.min.y || t.y > this.max.y || t.z < this.min.z || t.z > this.max.z);
1801
+ return t.x >= this.min.x && t.x <= this.max.x && t.y >= this.min.y && t.y <= this.max.y && t.z >= this.min.z && t.z <= this.max.z;
1782
1802
  }
1783
1803
  containsBox(t) {
1784
1804
  return this.min.x <= t.min.x && t.max.x <= this.max.x && this.min.y <= t.min.y && t.max.y <= this.max.y && this.min.z <= t.min.z && t.max.z <= this.max.z;
@@ -1787,10 +1807,10 @@ class Box3 {
1787
1807
  return e.set((t.x - this.min.x) / (this.max.x - this.min.x), (t.y - this.min.y) / (this.max.y - this.min.y), (t.z - this.min.z) / (this.max.z - this.min.z));
1788
1808
  }
1789
1809
  intersectsBox(t) {
1790
- return !(t.max.x < this.min.x || t.min.x > this.max.x || t.max.y < this.min.y || t.min.y > this.max.y || t.max.z < this.min.z || t.min.z > this.max.z);
1810
+ return t.max.x >= this.min.x && t.min.x <= this.max.x && t.max.y >= this.min.y && t.min.y <= this.max.y && t.max.z >= this.min.z && t.min.z <= this.max.z;
1791
1811
  }
1792
1812
  intersectsSphere(t) {
1793
- return this.clampPoint(t.center, _vector$a), _vector$a.distanceToSquared(t.center) <= t.radius * t.radius;
1813
+ return this.clampPoint(t.center, _vector$b), _vector$b.distanceToSquared(t.center) <= t.radius * t.radius;
1794
1814
  }
1795
1815
  intersectsPlane(t) {
1796
1816
  let e, i;
@@ -1807,10 +1827,10 @@ class Box3 {
1807
1827
  return e.copy(t).clamp(this.min, this.max);
1808
1828
  }
1809
1829
  distanceToPoint(t) {
1810
- return this.clampPoint(t, _vector$a).distanceTo(t);
1830
+ return this.clampPoint(t, _vector$b).distanceTo(t);
1811
1831
  }
1812
1832
  getBoundingSphere(t) {
1813
- return this.isEmpty() ? t.makeEmpty() : (this.getCenter(t.center), t.radius = 0.5 * this.getSize(_vector$a).length()), t;
1833
+ return this.isEmpty() ? t.makeEmpty() : (this.getCenter(t.center), t.radius = 0.5 * this.getSize(_vector$b).length()), t;
1814
1834
  }
1815
1835
  intersect(t) {
1816
1836
  return this.min.max(t.min), this.max.min(t.max), this.isEmpty() && this.makeEmpty(), this;
@@ -1827,8 +1847,14 @@ class Box3 {
1827
1847
  equals(t) {
1828
1848
  return t.min.equals(this.min) && t.max.equals(this.max);
1829
1849
  }
1850
+ toJSON() {
1851
+ return { min: this.min.toArray(), max: this.max.toArray() };
1852
+ }
1853
+ fromJSON(t) {
1854
+ return this.min.fromArray(t.min), this.max.fromArray(t.max), this;
1855
+ }
1830
1856
  }
1831
- const _points = [new Vector3$1(), new Vector3$1(), new Vector3$1(), new Vector3$1(), new Vector3$1(), new Vector3$1(), new Vector3$1(), new Vector3$1()], _vector$a = new Vector3$1(), _box$3 = new Box3(), _v0$2 = new Vector3$1(), _v1$7 = new Vector3$1(), _v2$4 = new Vector3$1(), _f0 = new Vector3$1(), _f1 = new Vector3$1(), _f2 = new Vector3$1(), _center = new Vector3$1(), _extents = new Vector3$1(), _triangleNormal = new Vector3$1(), _testAxis = new Vector3$1();
1857
+ const _points = [new Vector3$1(), new Vector3$1(), new Vector3$1(), new Vector3$1(), new Vector3$1(), new Vector3$1(), new Vector3$1(), new Vector3$1()], _vector$b = new Vector3$1(), _box$4 = new Box3(), _v0$2 = new Vector3$1(), _v1$7 = new Vector3$1(), _v2$4 = new Vector3$1(), _f0 = new Vector3$1(), _f1 = new Vector3$1(), _f2 = new Vector3$1(), _center = new Vector3$1(), _extents = new Vector3$1(), _triangleNormal = new Vector3$1(), _testAxis = new Vector3$1();
1832
1858
  function satForAxes(t, e, i, s, r) {
1833
1859
  for (let n = 0, a = t.length - 3; n <= a; n += 3) {
1834
1860
  _testAxis.fromArray(t, n);
@@ -1838,7 +1864,7 @@ function satForAxes(t, e, i, s, r) {
1838
1864
  }
1839
1865
  return true;
1840
1866
  }
1841
- const _vector$9 = new Vector3$1(), _segCenter = new Vector3$1(), _segDir = new Vector3$1(), _diff = new Vector3$1(), _edge1 = new Vector3$1(), _edge2 = new Vector3$1(), _normal$1 = new Vector3$1();
1867
+ const _vector$a = new Vector3$1(), _segCenter = new Vector3$1(), _segDir = new Vector3$1(), _diff = new Vector3$1(), _edge1 = new Vector3$1(), _edge2 = new Vector3$1(), _normal$1 = new Vector3$1();
1842
1868
  class Ray {
1843
1869
  constructor(t = new Vector3$1(), e = new Vector3$1(0, 0, -1)) {
1844
1870
  this.origin = t, this.direction = e;
@@ -1856,7 +1882,7 @@ class Ray {
1856
1882
  return this.direction.copy(t).sub(this.origin).normalize(), this;
1857
1883
  }
1858
1884
  recast(t) {
1859
- return this.origin.copy(this.at(t, _vector$9)), this;
1885
+ return this.origin.copy(this.at(t, _vector$a)), this;
1860
1886
  }
1861
1887
  closestPointToPoint(t, e) {
1862
1888
  e.subVectors(t, this.origin);
@@ -1867,8 +1893,8 @@ class Ray {
1867
1893
  return Math.sqrt(this.distanceSqToPoint(t));
1868
1894
  }
1869
1895
  distanceSqToPoint(t) {
1870
- const e = _vector$9.subVectors(t, this.origin).dot(this.direction);
1871
- return e < 0 ? this.origin.distanceToSquared(t) : (_vector$9.copy(this.origin).addScaledVector(this.direction, e), _vector$9.distanceToSquared(t));
1896
+ const e = _vector$a.subVectors(t, this.origin).dot(this.direction);
1897
+ return e < 0 ? this.origin.distanceToSquared(t) : (_vector$a.copy(this.origin).addScaledVector(this.direction, e), _vector$a.distanceToSquared(t));
1872
1898
  }
1873
1899
  distanceSqToSegment(t, e, i, s) {
1874
1900
  _segCenter.copy(t).add(e).multiplyScalar(0.5), _segDir.copy(e).sub(t).normalize(), _diff.copy(this.origin).sub(_segCenter);
@@ -1891,15 +1917,15 @@ class Ray {
1891
1917
  return i && i.copy(this.origin).addScaledVector(this.direction, c), s && s.copy(_segCenter).addScaledVector(_segDir, u), d;
1892
1918
  }
1893
1919
  intersectSphere(t, e) {
1894
- _vector$9.subVectors(t.center, this.origin);
1895
- const i = _vector$9.dot(this.direction), s = _vector$9.dot(_vector$9) - i * i, r = t.radius * t.radius;
1920
+ _vector$a.subVectors(t.center, this.origin);
1921
+ const i = _vector$a.dot(this.direction), s = _vector$a.dot(_vector$a) - i * i, r = t.radius * t.radius;
1896
1922
  if (s > r)
1897
1923
  return null;
1898
1924
  const n = Math.sqrt(r - s), a = i - n, o = i + n;
1899
1925
  return o < 0 ? null : a < 0 ? this.at(o, e) : this.at(a, e);
1900
1926
  }
1901
1927
  intersectsSphere(t) {
1902
- return this.distanceSqToPoint(t.center) <= t.radius * t.radius;
1928
+ return !(t.radius < 0) && this.distanceSqToPoint(t.center) <= t.radius * t.radius;
1903
1929
  }
1904
1930
  distanceToPlane(t) {
1905
1931
  const e = t.normal.dot(this.direction);
@@ -1924,7 +1950,7 @@ class Ray {
1924
1950
  return h >= 0 ? (i = (t.min.x - u.x) * h, s = (t.max.x - u.x) * h) : (i = (t.max.x - u.x) * h, s = (t.min.x - u.x) * h), l >= 0 ? (r = (t.min.y - u.y) * l, n = (t.max.y - u.y) * l) : (r = (t.max.y - u.y) * l, n = (t.min.y - u.y) * l), i > n || r > s ? null : ((r > i || isNaN(i)) && (i = r), (n < s || isNaN(s)) && (s = n), c >= 0 ? (a = (t.min.z - u.z) * c, o = (t.max.z - u.z) * c) : (a = (t.max.z - u.z) * c, o = (t.min.z - u.z) * c), i > o || a > s ? null : ((a > i || i != i) && (i = a), (o < s || s != s) && (s = o), s < 0 ? null : this.at(i >= 0 ? i : s, e)));
1925
1951
  }
1926
1952
  intersectsBox(t) {
1927
- return null !== this.intersectBox(t, _vector$9);
1953
+ return null !== this.intersectBox(t, _vector$a);
1928
1954
  }
1929
1955
  intersectTriangle(t, e, i, s, r) {
1930
1956
  _edge1.subVectors(e, t), _edge2.subVectors(i, t), _normal$1.crossVectors(_edge1, _edge2);
@@ -2033,8 +2059,8 @@ class Matrix4 {
2033
2059
  return this.multiplyMatrices(t, this);
2034
2060
  }
2035
2061
  multiplyMatrices(t, e) {
2036
- const i = t.elements, s = e.elements, r = this.elements, n = i[0], a = i[4], o = i[8], h = i[12], l = i[1], c = i[5], u = i[9], d = i[13], p = i[2], f = i[6], _ = i[10], y = i[14], m = i[3], g = i[7], x = i[11], M = i[15], w = s[0], b = s[4], v = s[8], S = s[12], C = s[1], E = s[5], P = s[9], T = s[13], A2 = s[2], I = s[6], O = s[10], z = s[14], N = s[3], R = s[7], G = s[11], V = s[15];
2037
- return r[0] = n * w + a * C + o * A2 + h * N, r[4] = n * b + a * E + o * I + h * R, r[8] = n * v + a * P + o * O + h * G, r[12] = n * S + a * T + o * z + h * V, r[1] = l * w + c * C + u * A2 + d * N, r[5] = l * b + c * E + u * I + d * R, r[9] = l * v + c * P + u * O + d * G, r[13] = l * S + c * T + u * z + d * V, r[2] = p * w + f * C + _ * A2 + y * N, r[6] = p * b + f * E + _ * I + y * R, r[10] = p * v + f * P + _ * O + y * G, r[14] = p * S + f * T + _ * z + y * V, r[3] = m * w + g * C + x * A2 + M * N, r[7] = m * b + g * E + x * I + M * R, r[11] = m * v + g * P + x * O + M * G, r[15] = m * S + g * T + x * z + M * V, this;
2062
+ const i = t.elements, s = e.elements, r = this.elements, n = i[0], a = i[4], o = i[8], h = i[12], l = i[1], c = i[5], u = i[9], d = i[13], p = i[2], f = i[6], _ = i[10], y = i[14], m = i[3], g = i[7], x = i[11], M = i[15], w = s[0], b = s[4], v = s[8], S = s[12], C = s[1], E = s[5], P = s[9], T = s[13], A2 = s[2], I = s[6], O = s[10], z = s[14], N = s[3], R = s[7], G = s[11], $ = s[15];
2063
+ return r[0] = n * w + a * C + o * A2 + h * N, r[4] = n * b + a * E + o * I + h * R, r[8] = n * v + a * P + o * O + h * G, r[12] = n * S + a * T + o * z + h * $, r[1] = l * w + c * C + u * A2 + d * N, r[5] = l * b + c * E + u * I + d * R, r[9] = l * v + c * P + u * O + d * G, r[13] = l * S + c * T + u * z + d * $, r[2] = p * w + f * C + _ * A2 + y * N, r[6] = p * b + f * E + _ * I + y * R, r[10] = p * v + f * P + _ * O + y * G, r[14] = p * S + f * T + _ * z + y * $, r[3] = m * w + g * C + x * A2 + M * N, r[7] = m * b + g * E + x * I + M * R, r[11] = m * v + g * P + x * O + M * G, r[15] = m * S + g * T + x * z + M * $, this;
2038
2064
  }
2039
2065
  multiplyScalar(t) {
2040
2066
  const e = this.elements;
@@ -2105,29 +2131,33 @@ class Matrix4 {
2105
2131
  const o = 1 / r, h = 1 / n, l = 1 / a;
2106
2132
  return _m1$2.elements[0] *= o, _m1$2.elements[1] *= o, _m1$2.elements[2] *= o, _m1$2.elements[4] *= h, _m1$2.elements[5] *= h, _m1$2.elements[6] *= h, _m1$2.elements[8] *= l, _m1$2.elements[9] *= l, _m1$2.elements[10] *= l, e.setFromRotationMatrix(_m1$2), i.x = r, i.y = n, i.z = a, this;
2107
2133
  }
2108
- makePerspective(t, e, i, s, r, n, a = WebGLCoordinateSystem) {
2109
- const o = this.elements, h = 2 * r / (e - t), l = 2 * r / (i - s), c = (e + t) / (e - t), u = (i + s) / (i - s);
2110
- let d, p;
2111
- if (a === WebGLCoordinateSystem)
2112
- d = -(n + r) / (n - r), p = -2 * n * r / (n - r);
2134
+ makePerspective(t, e, i, s, r, n, a = WebGLCoordinateSystem, o = false) {
2135
+ const h = this.elements, l = 2 * r / (e - t), c = 2 * r / (i - s), u = (e + t) / (e - t), d = (i + s) / (i - s);
2136
+ let p, f;
2137
+ if (o)
2138
+ p = r / (n - r), f = n * r / (n - r);
2139
+ else if (a === WebGLCoordinateSystem)
2140
+ p = -(n + r) / (n - r), f = -2 * n * r / (n - r);
2113
2141
  else {
2114
2142
  if (a !== WebGPUCoordinateSystem)
2115
2143
  throw new Error("THREE.Matrix4.makePerspective(): Invalid coordinate system: " + a);
2116
- d = -n / (n - r), p = -n * r / (n - r);
2144
+ p = -n / (n - r), f = -n * r / (n - r);
2117
2145
  }
2118
- return o[0] = h, o[4] = 0, o[8] = c, o[12] = 0, o[1] = 0, o[5] = l, o[9] = u, o[13] = 0, o[2] = 0, o[6] = 0, o[10] = d, o[14] = p, o[3] = 0, o[7] = 0, o[11] = -1, o[15] = 0, this;
2146
+ return h[0] = l, h[4] = 0, h[8] = u, h[12] = 0, h[1] = 0, h[5] = c, h[9] = d, h[13] = 0, h[2] = 0, h[6] = 0, h[10] = p, h[14] = f, h[3] = 0, h[7] = 0, h[11] = -1, h[15] = 0, this;
2119
2147
  }
2120
- makeOrthographic(t, e, i, s, r, n, a = WebGLCoordinateSystem) {
2121
- const o = this.elements, h = 1 / (e - t), l = 1 / (i - s), c = 1 / (n - r), u = (e + t) * h, d = (i + s) * l;
2148
+ makeOrthographic(t, e, i, s, r, n, a = WebGLCoordinateSystem, o = false) {
2149
+ const h = this.elements, l = 2 / (e - t), c = 2 / (i - s), u = -(e + t) / (e - t), d = -(i + s) / (i - s);
2122
2150
  let p, f;
2123
- if (a === WebGLCoordinateSystem)
2124
- p = (n + r) * c, f = -2 * c;
2151
+ if (o)
2152
+ p = 1 / (n - r), f = n / (n - r);
2153
+ else if (a === WebGLCoordinateSystem)
2154
+ p = -2 / (n - r), f = -(n + r) / (n - r);
2125
2155
  else {
2126
2156
  if (a !== WebGPUCoordinateSystem)
2127
2157
  throw new Error("THREE.Matrix4.makeOrthographic(): Invalid coordinate system: " + a);
2128
- p = r * c, f = -1 * c;
2158
+ p = -1 / (n - r), f = -r / (n - r);
2129
2159
  }
2130
- return o[0] = 2 * h, o[4] = 0, o[8] = 0, o[12] = -u, o[1] = 0, o[5] = 2 * l, o[9] = 0, o[13] = -d, o[2] = 0, o[6] = 0, o[10] = f, o[14] = -p, o[3] = 0, o[7] = 0, o[11] = 0, o[15] = 1, this;
2160
+ return h[0] = l, h[4] = 0, h[8] = 0, h[12] = u, h[1] = 0, h[5] = c, h[9] = 0, h[13] = d, h[2] = 0, h[6] = 0, h[10] = p, h[14] = f, h[3] = 0, h[7] = 0, h[11] = 0, h[15] = 1, this;
2131
2161
  }
2132
2162
  equals(t) {
2133
2163
  const e = this.elements, i = t.elements;
@@ -2166,10 +2196,10 @@ class Color$1 {
2166
2196
  return this.r = t, this.g = t, this.b = t, this;
2167
2197
  }
2168
2198
  setHex(t, e = SRGBColorSpace) {
2169
- return t = Math.floor(t), this.r = (t >> 16 & 255) / 255, this.g = (t >> 8 & 255) / 255, this.b = (255 & t) / 255, ColorManagement.toWorkingColorSpace(this, e), this;
2199
+ return t = Math.floor(t), this.r = (t >> 16 & 255) / 255, this.g = (t >> 8 & 255) / 255, this.b = (255 & t) / 255, ColorManagement.colorSpaceToWorking(this, e), this;
2170
2200
  }
2171
2201
  setRGB(t, e, i, s = ColorManagement.workingColorSpace) {
2172
- return this.r = t, this.g = e, this.b = i, ColorManagement.toWorkingColorSpace(this, s), this;
2202
+ return this.r = t, this.g = e, this.b = i, ColorManagement.colorSpaceToWorking(this, s), this;
2173
2203
  }
2174
2204
  setHSL(t, e, i, s = ColorManagement.workingColorSpace) {
2175
2205
  if (t = euclideanModulo(t, 1), e = clamp$1(e, 0, 1), i = clamp$1(i, 0, 1), 0 === e)
@@ -2178,7 +2208,7 @@ class Color$1 {
2178
2208
  const s2 = i <= 0.5 ? i * (1 + e) : i + e - i * e, r = 2 * i - s2;
2179
2209
  this.r = hue2rgb(r, s2, t + 1 / 3), this.g = hue2rgb(r, s2, t), this.b = hue2rgb(r, s2, t - 1 / 3);
2180
2210
  }
2181
- return ColorManagement.toWorkingColorSpace(this, s), this;
2211
+ return ColorManagement.colorSpaceToWorking(this, s), this;
2182
2212
  }
2183
2213
  setStyle(t, e = SRGBColorSpace) {
2184
2214
  function i(e2) {
@@ -2238,13 +2268,13 @@ class Color$1 {
2238
2268
  return this.copyLinearToSRGB(this), this;
2239
2269
  }
2240
2270
  getHex(t = SRGBColorSpace) {
2241
- return ColorManagement.fromWorkingColorSpace(_color.copy(this), t), 65536 * Math.round(clamp$1(255 * _color.r, 0, 255)) + 256 * Math.round(clamp$1(255 * _color.g, 0, 255)) + Math.round(clamp$1(255 * _color.b, 0, 255));
2271
+ return ColorManagement.workingToColorSpace(_color.copy(this), t), 65536 * Math.round(clamp$1(255 * _color.r, 0, 255)) + 256 * Math.round(clamp$1(255 * _color.g, 0, 255)) + Math.round(clamp$1(255 * _color.b, 0, 255));
2242
2272
  }
2243
2273
  getHexString(t = SRGBColorSpace) {
2244
2274
  return ("000000" + this.getHex(t).toString(16)).slice(-6);
2245
2275
  }
2246
2276
  getHSL(t, e = ColorManagement.workingColorSpace) {
2247
- ColorManagement.fromWorkingColorSpace(_color.copy(this), e);
2277
+ ColorManagement.workingToColorSpace(_color.copy(this), e);
2248
2278
  const i = _color.r, s = _color.g, r = _color.b, n = Math.max(i, s, r), a = Math.min(i, s, r);
2249
2279
  let o, h;
2250
2280
  const l = (a + n) / 2;
@@ -2267,10 +2297,10 @@ class Color$1 {
2267
2297
  return t.h = o, t.s = h, t.l = l, t;
2268
2298
  }
2269
2299
  getRGB(t, e = ColorManagement.workingColorSpace) {
2270
- return ColorManagement.fromWorkingColorSpace(_color.copy(this), e), t.r = _color.r, t.g = _color.g, t.b = _color.b, t;
2300
+ return ColorManagement.workingToColorSpace(_color.copy(this), e), t.r = _color.r, t.g = _color.g, t.b = _color.b, t;
2271
2301
  }
2272
2302
  getStyle(t = SRGBColorSpace) {
2273
- ColorManagement.fromWorkingColorSpace(_color.copy(this), t);
2303
+ ColorManagement.workingToColorSpace(_color.copy(this), t);
2274
2304
  const e = _color.r, i = _color.g, s = _color.b;
2275
2305
  return t !== SRGBColorSpace ? `color(${t} ${e.toFixed(3)} ${i.toFixed(3)} ${s.toFixed(3)})` : `rgb(${Math.round(255 * e)},${Math.round(255 * i)},${Math.round(255 * s)})`;
2276
2306
  }
@@ -3008,10 +3038,10 @@ function computeRealRoots(t, e, i, s) {
3008
3038
  r = 2 * Math.sqrt(-C);
3009
3039
  var z = Math.cos(O);
3010
3040
  n = r * z;
3011
- var N = r * (-z / 2 - I * Math.sin(O)), R = n + N > 2 * o ? n - o : N - o, G = a, V = R / G;
3041
+ var N = r * (-z / 2 - I * Math.sin(O)), R = n + N > 2 * o ? n - o : N - o, G = a, $ = R / G;
3012
3042
  O = Math.abs(Math.atan2(l * A2, -T) / 3);
3013
- var L = -l, $ = (n = (r = 2 * Math.sqrt(-P)) * (z = Math.cos(O))) + (N = r * (-z / 2 - I * Math.sin(O))) < 2 * h ? n + h : N + h, q = L / $, k = -R * $ - G * L, B = (h * k - o * (R * L)) / (-o * k + h * (G * $));
3014
- return V <= B ? V <= q ? B <= q ? [V, B, q] : [V, q, B] : [q, V, B] : V <= q ? [B, V, q] : B <= q ? [B, q, V] : [q, B, V];
3043
+ var V = -l, q = (n = (r = 2 * Math.sqrt(-P)) * (z = Math.cos(O))) + (N = r * (-z / 2 - I * Math.sin(O))) < 2 * h ? n + h : N + h, L = V / q, k = -R * q - G * V, B = (h * k - o * (R * V)) / (-o * k + h * (G * q));
3044
+ return $ <= B ? $ <= L ? B <= L ? [$, B, L] : [$, L, B] : [L, $, B] : $ <= L ? [B, $, L] : B <= L ? [B, L, $] : [L, B, $];
3015
3045
  }
3016
3046
  CubicRealPolynomial.computeDiscriminant = function(t, e, i, s) {
3017
3047
  if ("number" != typeof t)
@@ -3745,7 +3775,7 @@ class Quaternion {
3745
3775
  copy(t) {
3746
3776
  return this._x = t.x, this._y = t.y, this._z = t.z, this._w = t.w, this._onChangeCallback(), this;
3747
3777
  }
3748
- setFromEuler(t, e) {
3778
+ setFromEuler(t, e = true) {
3749
3779
  const i = t._x, s = t._y, r = t._z, n = t._order, a = Math.cos, o = Math.sin, h = a(i / 2), l = a(s / 2), c = a(r / 2), u = o(i / 2), d = o(s / 2), p = o(r / 2);
3750
3780
  switch (n) {
3751
3781
  case "XYZ":
@@ -3769,7 +3799,7 @@ class Quaternion {
3769
3799
  default:
3770
3800
  console.warn("THREE.Quaternion: .setFromEuler() encountered an unknown order: " + n);
3771
3801
  }
3772
- return false !== e && this._onChangeCallback(), this;
3802
+ return true === e && this._onChangeCallback(), this;
3773
3803
  }
3774
3804
  setFromAxisAngle(t, e) {
3775
3805
  const i = e / 2, s = Math.sin(i);
@@ -3794,7 +3824,7 @@ class Quaternion {
3794
3824
  }
3795
3825
  setFromUnitVectors(t, e) {
3796
3826
  let i = t.dot(e) + 1;
3797
- return i < Number.EPSILON ? (i = 0, Math.abs(t.x) > Math.abs(t.z) ? (this._x = -t.y, this._y = t.x, this._z = 0, this._w = i) : (this._x = 0, this._y = -t.z, this._z = t.y, this._w = i)) : (this._x = t.y * e.z - t.z * e.y, this._y = t.z * e.x - t.x * e.z, this._z = t.x * e.y - t.y * e.x, this._w = i), this.normalize();
3827
+ return i < 1e-8 ? (i = 0, Math.abs(t.x) > Math.abs(t.z) ? (this._x = -t.y, this._y = t.x, this._z = 0, this._w = i) : (this._x = 0, this._y = -t.z, this._z = t.y, this._w = i)) : (this._x = t.y * e.z - t.z * e.y, this._y = t.z * e.x - t.x * e.z, this._z = t.x * e.y - t.y * e.x, this._w = i), this.normalize();
3798
3828
  }
3799
3829
  angleTo(t) {
3800
3830
  return 2 * Math.acos(Math.abs(clamp(this.dot(t), -1, 1)));
@@ -3850,7 +3880,7 @@ class Quaternion {
3850
3880
  const o = 1 - a * a;
3851
3881
  if (o <= Number.EPSILON) {
3852
3882
  const t4 = 1 - e;
3853
- return this._w = t4 * n + e * this._w, this._x = t4 * i + e * this._x, this._y = t4 * s + e * this._y, this._z = t4 * r + e * this._z, this.normalize(), this._onChangeCallback(), this;
3883
+ return this._w = t4 * n + e * this._w, this._x = t4 * i + e * this._x, this._y = t4 * s + e * this._y, this._z = t4 * r + e * this._z, this.normalize(), this;
3854
3884
  }
3855
3885
  const h = Math.sqrt(o), l = Math.atan2(h, a), c = Math.sin((1 - e) * l) / h, u = Math.sin(e * l) / h;
3856
3886
  return this._w = n * c + this._w * u, this._x = i * c + this._x * u, this._y = s * c + this._y * u, this._z = r * c + this._z * u, this._onChangeCallback(), this;
@@ -3859,8 +3889,8 @@ class Quaternion {
3859
3889
  return this.copy(t).slerp(e, i);
3860
3890
  }
3861
3891
  random() {
3862
- const t = Math.random(), e = Math.sqrt(1 - t), i = Math.sqrt(t), s = 2 * Math.PI * Math.random(), r = 2 * Math.PI * Math.random();
3863
- return this.set(e * Math.cos(s), i * Math.sin(r), i * Math.cos(r), e * Math.sin(s));
3892
+ const t = 2 * Math.PI * Math.random(), e = 2 * Math.PI * Math.random(), i = Math.random(), s = Math.sqrt(1 - i), r = Math.sqrt(i);
3893
+ return this.set(s * Math.sin(t), s * Math.cos(t), r * Math.sin(e), r * Math.cos(e));
3864
3894
  }
3865
3895
  equals(t) {
3866
3896
  return t._x === this._x && t._y === this._y && t._z === this._z && t._w === this._w;
@@ -3872,7 +3902,7 @@ class Quaternion {
3872
3902
  return t[e] = this._x, t[e + 1] = this._y, t[e + 2] = this._z, t[e + 3] = this._w, t;
3873
3903
  }
3874
3904
  fromBufferAttribute(t, e) {
3875
- return this._x = t.getX(e), this._y = t.getY(e), this._z = t.getZ(e), this._w = t.getW(e), this;
3905
+ return this._x = t.getX(e), this._y = t.getY(e), this._z = t.getZ(e), this._w = t.getW(e), this._onChangeCallback(), this;
3876
3906
  }
3877
3907
  toJSON() {
3878
3908
  return this.toArray();
@@ -4013,14 +4043,14 @@ class Vector3 {
4013
4043
  return this.x = Math.max(this.x, t.x), this.y = Math.max(this.y, t.y), this.z = Math.max(this.z, t.z), this;
4014
4044
  }
4015
4045
  clamp(t, e) {
4016
- return this.x = Math.max(t.x, Math.min(e.x, this.x)), this.y = Math.max(t.y, Math.min(e.y, this.y)), this.z = Math.max(t.z, Math.min(e.z, this.z)), this;
4046
+ return this.x = clamp(this.x, t.x, e.x), this.y = clamp(this.y, t.y, e.y), this.z = clamp(this.z, t.z, e.z), this;
4017
4047
  }
4018
4048
  clampScalar(t, e) {
4019
- return this.x = Math.max(t, Math.min(e, this.x)), this.y = Math.max(t, Math.min(e, this.y)), this.z = Math.max(t, Math.min(e, this.z)), this;
4049
+ return this.x = clamp(this.x, t, e), this.y = clamp(this.y, t, e), this.z = clamp(this.z, t, e), this;
4020
4050
  }
4021
4051
  clampLength(t, e) {
4022
4052
  const i = this.length();
4023
- return this.divideScalar(i || 1).multiplyScalar(Math.max(t, Math.min(e, i)));
4053
+ return this.divideScalar(i || 1).multiplyScalar(clamp(i, t, e));
4024
4054
  }
4025
4055
  floor() {
4026
4056
  return this.x = Math.floor(this.x), this.y = Math.floor(this.y), this.z = Math.floor(this.z), this;
@@ -4147,8 +4177,8 @@ class Vector3 {
4147
4177
  return this.x = Math.random(), this.y = Math.random(), this.z = Math.random(), this;
4148
4178
  }
4149
4179
  randomDirection() {
4150
- const t = 2 * (Math.random() - 0.5), e = Math.random() * Math.PI * 2, i = Math.sqrt(1 - t ** 2);
4151
- return this.x = i * Math.cos(e), this.y = i * Math.sin(e), this.z = t, this;
4180
+ const t = Math.random() * Math.PI * 2, e = 2 * Math.random() - 1, i = Math.sqrt(1 - e * e);
4181
+ return this.x = i * Math.cos(t), this.y = e, this.z = i * Math.sin(t), this;
4152
4182
  }
4153
4183
  *[Symbol.iterator]() {
4154
4184
  yield this.x, yield this.y, yield this.z;
@@ -4238,26 +4268,26 @@ __publicField(CoordTransformer, "_pathCache", /* @__PURE__ */ new Map());
4238
4268
  const _pointIn$1 = new Vector3$1(), _pointOut$1 = new Vector3$1(), reprojectCoordinate = (t, e, i, s, r, n) => {
4239
4269
  let a = CoordTransformer.canTransform(t, e);
4240
4270
  return i !== s && i && s || a ? (i.unprojectCoordinate(r, _pointOut$1), a ? CoordTransformer.transform(t, e, _pointOut$1, _pointIn$1) : _pointIn$1.copy(_pointOut$1), s.projectCoordinate(_pointIn$1, n), n) : (n.copy(r), n);
4241
- }, projectVertices = (t, e, i = true, s = true) => {
4242
- if (!e.forceProjectCoordinates && e.targetProjectionName === e.sourceProjectionName)
4271
+ }, projectVertices = (t, e, i = true, s = true, r = false) => {
4272
+ if (!e.forceProjectCoordinates && !r && e.targetProjectionName === e.sourceProjectionName)
4243
4273
  return;
4244
- const r = e.sourceProjection, n = e.targetProjection, a = e.sourceCoordType, o = e.targetCoordType, [h, l, c] = e.targetCenter, u = e.forceUseGeoBoundingBox || r.isGeo, d = u ? e.geoBoundingBox : e.projectedBoundingBox;
4245
- let p, f, _, y;
4246
- if (d.isBox3) {
4247
- const t4 = d.min, e2 = d.max;
4248
- p = t4.x, f = t4.y, _ = e2.x, y = e2.y;
4274
+ const n = e.sourceProjection, a = e.targetProjection, o = e.sourceCoordType, h = e.targetCoordType, [l, c, u] = e.targetCenter, d = e.forceUseGeoBoundingBox || n.isGeo, p = d ? e.geoBoundingBox : e.projectedBoundingBox;
4275
+ let f, _, y, m;
4276
+ if (p.isBox3) {
4277
+ const t4 = p.min, e2 = p.max;
4278
+ f = t4.x, _ = t4.y, y = e2.x, m = e2.y;
4249
4279
  } else
4250
- [p, f, , _, y] = d;
4251
- const m = _ - p, g = y - f;
4280
+ [f, _, , y, m] = p;
4281
+ const g = y - f, x = m - _;
4252
4282
  if (i)
4253
4283
  for (let e2 = 0, i2 = t.length - 2; e2 < i2; e2 += 3) {
4254
- const i3 = t[e2], d2 = t[e2 + 1], _2 = t[e2 + 2];
4255
- _pointIn$1.set(p + (i3 + 0.5) * m, f + (d2 + 0.5) * g, _2), u ? (a !== o && CoordTransformer.transform(a, o, _pointIn$1, _pointIn$1), n.projectCoordinate(_pointIn$1, _pointOut$1)) : reprojectCoordinate(a, o, r, n, _pointIn$1, _pointOut$1), t[e2] = _pointOut$1.x, t[e2 + 1] = _pointOut$1.y, t[e2 + 2] = _pointOut$1.z, s && (t[e2] -= h, t[e2 + 1] -= l, t[e2 + 2] -= c);
4284
+ const i3 = t[e2], r2 = t[e2 + 1], p2 = t[e2 + 2];
4285
+ _pointIn$1.set(f + (i3 + 0.5) * g, _ + (r2 + 0.5) * x, p2), d ? (o !== h && CoordTransformer.transform(o, h, _pointIn$1, _pointIn$1), a.projectCoordinate(_pointIn$1, _pointOut$1)) : reprojectCoordinate(o, h, n, a, _pointIn$1, _pointOut$1), t[e2] = _pointOut$1.x, t[e2 + 1] = _pointOut$1.y, t[e2 + 2] = _pointOut$1.z, s && (t[e2] -= l, t[e2 + 1] -= c, t[e2 + 2] -= u);
4256
4286
  }
4257
4287
  else
4258
4288
  for (let e2 = 0, i2 = t.length; e2 < i2; e2 += 1) {
4259
- const i3 = t[e2], d2 = i3[0], _2 = i3[1], y2 = i3[2];
4260
- _pointIn$1.set(p + (d2 + 0.5) * m, f + (_2 + 0.5) * g, y2), u ? (a !== o && CoordTransformer.transform(a, o, _pointIn$1, _pointIn$1), n.projectCoordinate(_pointIn$1, _pointOut$1)) : reprojectCoordinate(a, o, r, n, _pointIn$1, _pointOut$1), i3[0] = _pointOut$1.x, i3[1] = _pointOut$1.y, i3[2] = _pointOut$1.z, s && (i3[0] -= h, i3[1] -= l, i3[2] -= c);
4289
+ const i3 = t[e2], r2 = i3[0], p2 = i3[1], y2 = i3[2];
4290
+ _pointIn$1.set(f + (r2 + 0.5) * g, _ + (p2 + 0.5) * x, y2), d ? (o !== h && CoordTransformer.transform(o, h, _pointIn$1, _pointIn$1), a.projectCoordinate(_pointIn$1, _pointOut$1)) : reprojectCoordinate(o, h, n, a, _pointIn$1, _pointOut$1), i3[0] = _pointOut$1.x, i3[1] = _pointOut$1.y, i3[2] = _pointOut$1.z, s && (i3[0] -= l, i3[1] -= c, i3[2] -= u);
4261
4291
  }
4262
4292
  }, subdivideVertices = (t, e, i, s) => {
4263
4293
  if (s.sourceProjectionName === s.targetProjectionName)
@@ -4281,25 +4311,45 @@ const _pointIn$1 = new Vector3$1(), _pointOut$1 = new Vector3$1(), reprojectCoor
4281
4311
  return t;
4282
4312
  const i = Math.max(2, 16 - e.z);
4283
4313
  return subdivideLine(t, 1 / i);
4284
- }, createGroundTileMesh = (t, e) => {
4285
- const { vertices: i, uvs: s, indices: r } = subdivideVertices([-0.5, -0.5, 0, -0.5, 0.5, 0, 0.5, 0.5, 0, 0.5, -0.5, 0], [0, 2, 1, 0, 3, 2], [0, 0, 0, 1, 1, 1, 1, 0], t);
4286
- projectVertices(i, t);
4287
- const n = { vertices: i, uvs: s, indices: r };
4314
+ }, computeNormals = (t, e = 3, i = 0) => {
4315
+ const { vertices: s, indices: r } = t, n = s.length / e, a = new Array(3 * n).fill(0), o = new Array(n).fill(0);
4316
+ for (let t4 = 0; t4 < r.length; t4 += 3) {
4317
+ const n2 = r[t4], h = r[t4 + 1], l = r[t4 + 2], c = s[n2 * e + i], u = s[n2 * e + i + 1], d = s[n2 * e + i + 2], p = s[h * e + i] - c, f = s[h * e + i + 1] - u, _ = s[h * e + i + 2] - d, y = s[l * e + i] - c, m = s[l * e + i + 1] - u, g = s[l * e + i + 2] - d, x = f * g - _ * m, M = _ * y - p * g, w = p * m - f * y;
4318
+ a[3 * n2] += x, a[3 * n2 + 1] += M, a[3 * n2 + 2] += w, o[n2]++, a[3 * h] += x, a[3 * h + 1] += M, a[3 * h + 2] += w, o[h]++, a[3 * l] += x, a[3 * l + 1] += M, a[3 * l + 2] += w, o[l]++;
4319
+ }
4320
+ for (let t4 = 0; t4 < n; t4++) {
4321
+ const e2 = o[t4];
4322
+ if (e2 > 0) {
4323
+ let i2 = a[3 * t4] / e2, s2 = a[3 * t4 + 1] / e2, r2 = a[3 * t4 + 2] / e2;
4324
+ const n2 = Math.sqrt(i2 * i2 + s2 * s2 + r2 * r2);
4325
+ if (n2 > 0) {
4326
+ const t5 = 1 / n2;
4327
+ i2 *= t5, s2 *= t5, r2 *= t5;
4328
+ } else
4329
+ i2 = 0, s2 = 0, r2 = 1;
4330
+ a[3 * t4] = i2, a[3 * t4 + 1] = s2, a[3 * t4 + 2] = r2;
4331
+ }
4332
+ }
4333
+ t.normals = a;
4334
+ }, createGroundTileMesh = (t, e, i = true) => {
4335
+ const { vertices: s, uvs: r, indices: n } = subdivideVertices([-0.5, -0.5, 0, -0.5, 0.5, 0, 0.5, 0.5, 0, 0.5, -0.5, 0], [0, 2, 1, 0, 3, 2], [0, 0, 0, 1, 1, 1, 1, 0], t);
4336
+ projectVertices(s, t);
4337
+ const a = { vertices: s, uvs: r, indices: n };
4288
4338
  if (e) {
4289
- const t4 = i.length / 3;
4339
+ const t4 = s.length / 3;
4290
4340
  for (const i2 of Object.keys(e)) {
4291
- const s2 = e[i2], r2 = Array.isArray(s2), a = r2 ? s2.length : 1, o = [];
4341
+ const s2 = e[i2], r2 = Array.isArray(s2), n2 = r2 ? s2.length : 1, o = [];
4292
4342
  if (r2)
4293
4343
  for (let e2 = 0; e2 < t4; e2++)
4294
- for (let t5 = 0; t5 < a; t5++)
4344
+ for (let t5 = 0; t5 < n2; t5++)
4295
4345
  o.push(s2[t5]);
4296
4346
  else
4297
4347
  for (let e2 = 0; e2 < t4; e2++)
4298
4348
  o.push(s2);
4299
- n[i2] = o;
4349
+ a[i2] = o;
4300
4350
  }
4301
4351
  }
4302
- return n;
4352
+ return i && computeNormals(a), a;
4303
4353
  }, LAYER_INDEX = 1e-3;
4304
4354
  new Vector3$1(), new Vector3$1();
4305
4355
  class BackGroundExecuter {
@@ -4332,7 +4382,7 @@ class BackGroundExecuter {
4332
4382
  this._color.a = e;
4333
4383
  }
4334
4384
  _setupBackgroundData() {
4335
- const t = this._color, e = createGroundTileMesh(this.tileConfig, { colors: [t.r, t.g, t.b, t.a], normals: [0, 0, 1], layerIndices: LAYER_INDEX });
4385
+ const t = this._color, e = createGroundTileMesh(this.tileConfig, { colors: [t.r, t.g, t.b, t.a], layerIndices: LAYER_INDEX });
4336
4386
  this._vertices = new Float32Array(e.vertices), this._uvs = new Float32Array(e.uvs), this._indices = new Uint32Array(e.indices), this._colors = new Float32Array(e.colors), this._normals = new Float32Array(e.normals), this._layerIndices = new Float32Array(e.layerIndices);
4337
4387
  }
4338
4388
  }
@@ -4994,30 +5044,41 @@ function vector2RotateTo(t, e) {
4994
5044
  let i = t.x * e.x + t.y * e.y, s = Math.sqrt(t.x * t.x + t.y * t.y), r = Math.sqrt(e.x * e.x + e.y * e.y), n = Math.acos(i / (s * r));
4995
5045
  return t.x * e.y - e.x * t.y < 0 && (n = 2 * Math.PI - n), n;
4996
5046
  }
4997
- const _centerIn = new Vector3$1(), _lastPosition = new Vector3$1(), _currentPosition = new Vector3$1(), _lineNormal = new Vector3$1(), _offset = new Vector3$1(), _segmentLines3D = (t, e, i, s, r, n, a, o, h, l, c, u, d, p) => {
4998
- const f = d.targetCenter, _ = d.targetProjection, { sourceProjectionName: y, targetProjectionName: m } = d;
4999
- let g = 0;
5000
- _centerIn.fromArray(f), _lastPosition.fromArray(a), _currentPosition.fromArray(o);
5001
- let x = u.value;
5002
- r.push(x, x), n.push(x, 1, x, 0);
5003
- const M = _.getProjectedSurfaceNormal(_lastPosition, _lineNormal), w = _offset.copy(_currentPosition).sub(_lastPosition), b = _lineNormal.crossVectors(M, w).normalize();
5004
- return y !== m && (_lastPosition.sub(_centerIn), _currentPosition.sub(_centerIn)), i.push(b.x, b.y, b.z, -b.x, -b.y, -b.z), t.push(_lastPosition.x, _lastPosition.y, _lastPosition.z, _lastPosition.x, _lastPosition.y, _lastPosition.z), e.push(h, h), g += 2, c || (s.push(l + 0 - 2, l + 1 - 2, l + 2 - 2), s.push(l + 2 - 2, l + 1 - 2, l + 3 - 2)), s.push(l, l + 1, l + 2), i.push(b.x, b.y, b.z, -b.x, -b.y, -b.z), t.push(_currentPosition.x, _currentPosition.y, _currentPosition.z, _currentPosition.x, _currentPosition.y, _currentPosition.z), e.push(h, h), x += getDistance(a, o) / p, r.push(x, x), n.push(x, 1, x, 0), u.value = x, g += 2, s.push(l + 2, l + 1, l + 3), 4;
5047
+ const _centerIn = new Vector3$1(), _lastPosition = new Vector3$1(), _currentPosition = new Vector3$1(), _lineNormal = new Vector3$1(), _offset = new Vector3$1(), _segmentLines3D = (t, e, i, s, r, n, a, o, h, l, c, u, d, p, f, _) => {
5048
+ const y = d.targetCenter, m = d.targetProjection, { sourceProjectionName: g, targetProjectionName: x } = d;
5049
+ let M = 0;
5050
+ _centerIn.fromArray(y), _lastPosition.fromArray(a), _currentPosition.fromArray(o);
5051
+ let w = u.value;
5052
+ r.push(w, w), n.push(w, 1, w, 0);
5053
+ const b = m.getProjectedSurfaceNormal(_lastPosition, _lineNormal), v = _offset.copy(_currentPosition).sub(_lastPosition), S = _lineNormal.crossVectors(b, v).normalize();
5054
+ g !== x && (_lastPosition.sub(_centerIn), _currentPosition.sub(_centerIn)), i.push(S.x, S.y, S.z, -S.x, -S.y, -S.z), t.push(_lastPosition.x, _lastPosition.y, _lastPosition.z, _lastPosition.x, _lastPosition.y, _lastPosition.z), e.push(h, h), M += 2, c || (s.push(l + 0 - 2, l + 1 - 2, l + 2 - 2), s.push(l + 2 - 2, l + 1 - 2, l + 3 - 2)), s.push(l, l + 1, l + 2), i.push(S.x, S.y, S.z, -S.x, -S.y, -S.z), t.push(_currentPosition.x, _currentPosition.y, _currentPosition.z, _currentPosition.x, _currentPosition.y, _currentPosition.z), e.push(h, h);
5055
+ return w += (f && _ ? getDistance(f, _) : getDistance(a, o)) / p, r.push(w, w), n.push(w, 1, w, 0), u.value = w, M += 2, s.push(l + 2, l + 1, l + 3), 4;
5005
5056
  };
5006
- function lineToMesh(t, e, i, s, r = 1) {
5007
- let n = 0, a = null, o = null, h = null, l = null;
5008
- const c = [], u = [], d = [], p = [], f = [], _ = [];
5009
- let y;
5010
- const m = { value: 0 };
5011
- let g = true;
5012
- for (let s2 = 1, y2 = t.length - 1; s2 <= y2; s2++) {
5013
- if (a = l || t[s2 - 1], o = t[s2], h = t[s2 + 1], h && isPointEqual(o, h)) {
5014
- l = a;
5057
+ function lineToMesh(t, e, i, s, r = 1, n) {
5058
+ let a = t;
5059
+ if (!Array.isArray(t[0])) {
5060
+ a = [];
5061
+ for (let e2 = 0; e2 < t.length; e2 += 3)
5062
+ a.push([t[e2], t[e2 + 1], t[e2 + 2]]);
5063
+ }
5064
+ let o = 0, h = null, l = null, c = null;
5065
+ const u = [], d = [], p = [], f = [], _ = [], y = [];
5066
+ let m;
5067
+ const g = { value: 0 }, x = n || a;
5068
+ let M = true;
5069
+ for (let t4 = 1, s2 = a.length - 1; t4 <= s2; t4++) {
5070
+ h = c || a[t4 - 1], l = a[t4];
5071
+ const s3 = c ? n ? n[a.indexOf(c)] : c : x[t4 - 1], m2 = x[t4], w = x[t4 + 1];
5072
+ if (w && isPointEqual(m2, w)) {
5073
+ c = h;
5015
5074
  continue;
5016
5075
  }
5017
- let y3 = 0;
5018
- y3 = _segmentLines3D(c, p, u, d, f, _, a, o, e, n, g, m, i, r), -1 !== y3 && (n += y3, l = null), g = false;
5076
+ let b = 0;
5077
+ b = _segmentLines3D(u, f, d, p, _, y, h, l, e, o, M, g, i, r, s3, m2), -1 !== b && (o += b, c = null), M = false;
5019
5078
  }
5020
- return s && (y = new Array(f.length).fill(m.value)), { vertices: c, indices: d, normals: u, widths: p, lengths: f, totalLengths: y, uvs: _ };
5079
+ for (let t4 = 0; t4 < y.length; t4++)
5080
+ t4 % 2 == 0 && (y[t4] = g.value - y[t4]);
5081
+ return s && (m = new Array(_.length).fill(g.value)), { vertices: u, indices: p, normals: d, widths: f, lengths: _, totalLengths: m, uvs: y };
5021
5082
  }
5022
5083
  const PROJECTION_GEO = "EPSG:4326", PROJECTION_WEB_MERCATOR = "EPSG:3857", PROJECTION_ECEF = "EPSG:4978", PROJECTION_BD_MERCATOR = "BD:MERCATOR", PROJECTION_SCREEN_PIXEL = "SCREEN_PIXEL";
5023
5084
  function pushInBatches(t, e, i = 1e4) {
@@ -5417,9 +5478,9 @@ class Executer {
5417
5478
  return s;
5418
5479
  }
5419
5480
  _mergeArray(t, e) {
5420
- const { vertices_opaque: i, colors_opaque: s, uvs_opaque: r, indices_opaque: n, indices_opaque_side: a, normals_opaque: o, widths_opaque: h, layerIndices_opaque: l, extentVertices_opaque: c, vertices_translucent: u, colors_translucent: d, uvs_translucent: p, indices_translucent: f, indices_translucent_side: _, normals_translucent: y, widths_translucent: m, layerIndices_translucent: g, extentVertices_translucent: x, vertices_dashed: M, colors_dashed: w, indices_dashed: b, normals_dashed: v, widths_dashed: S, layerIndices_dashed: C, extentVertices_dashed: E, lengths_dashed: P, dashArray_dashed: T, dashRatio_dashed: A2, vertices_water: I, colors_water: O, uvs_water: z, indices_water: N, normals_water: R, layerIndices_water: G, vertices_wood: V, colors_wood: L, uvs_wood: $, indices_wood: q, normals_wood: k, layerIndices_wood: B, vertices_pattern: F, colors_pattern: D, uvs_pattern: j, indices_pattern: U, normals_pattern: W, layerIndices_pattern: H, icons_pattern: X } = e;
5481
+ const { vertices_opaque: i, colors_opaque: s, uvs_opaque: r, indices_opaque: n, indices_opaque_side: a, normals_opaque: o, widths_opaque: h, layerIndices_opaque: l, extentVertices_opaque: c, vertices_translucent: u, colors_translucent: d, uvs_translucent: p, indices_translucent: f, indices_translucent_side: _, normals_translucent: y, widths_translucent: m, layerIndices_translucent: g, extentVertices_translucent: x, vertices_dashed: M, colors_dashed: w, indices_dashed: b, normals_dashed: v, widths_dashed: S, layerIndices_dashed: C, extentVertices_dashed: E, lengths_dashed: P, dashArray_dashed: T, dashRatio_dashed: A2, vertices_water: I, colors_water: O, uvs_water: z, indices_water: N, normals_water: R, layerIndices_water: G, vertices_wood: $, colors_wood: V, uvs_wood: q, indices_wood: L, normals_wood: k, layerIndices_wood: B, vertices_pattern: F, colors_pattern: D, uvs_pattern: j, indices_pattern: U, normals_pattern: W, layerIndices_pattern: H, icons_pattern: X } = e;
5421
5482
  if (t instanceof FillExecuter)
5422
- this._fillOpaqueArray.push({ vertices: i, colors: s, uvs: r, normals: o, layerIndices: l, indices: n }), this._fillTranslucentArray.push({ vertices: u, colors: d, uvs: p, normals: y, layerIndices: g, indices: f }), this._fillWaterArray.push({ vertices: I, colors: O, uvs: z, normals: R, layerIndices: G, indices: N }), this._fillWoodArray.push({ vertices: V, colors: L, uvs: $, normals: k, layerIndices: B, indices: q }), this._fillPatternArray.push({ vertices: F, colors: D, uvs: j, normals: W, layerIndices: H, indices: U, icons: X }), this._fill_opaque.vertices += i.length, this._fill_opaque.uvs += r.length, this._fill_opaque.colors += s.length, this._fill_opaque.normals += o.length, this._fill_opaque.layerIndices += l.length, this._fill_opaque.indices += n.length, this._fill_translucent.vertices += u.length, this._fill_translucent.uvs += p.length, this._fill_translucent.colors += d.length, this._fill_translucent.normals += y.length, this._fill_translucent.layerIndices += g.length, this._fill_translucent.indices += f.length, this._fill_water.vertices += I.length, this._fill_water.uvs += z.length, this._fill_water.colors += O.length, this._fill_water.normals += R.length, this._fill_water.layerIndices += G.length, this._fill_water.indices += N.length, this._fill_wood.vertices += V.length, this._fill_wood.uvs += $.length, this._fill_wood.colors += L.length, this._fill_wood.normals += k.length, this._fill_wood.layerIndices += B.length, this._fill_wood.indices += q.length, this._fill_pattern.vertices += F.length, this._fill_pattern.uvs += j.length, this._fill_pattern.colors += D.length, this._fill_pattern.normals += W.length, this._fill_pattern.layerIndices += H.length, this._fill_pattern.indices += U.length, this._fill_pattern.icons += X.length;
5483
+ this._fillOpaqueArray.push({ vertices: i, colors: s, uvs: r, normals: o, layerIndices: l, indices: n }), this._fillTranslucentArray.push({ vertices: u, colors: d, uvs: p, normals: y, layerIndices: g, indices: f }), this._fillWaterArray.push({ vertices: I, colors: O, uvs: z, normals: R, layerIndices: G, indices: N }), this._fillWoodArray.push({ vertices: $, colors: V, uvs: q, normals: k, layerIndices: B, indices: L }), this._fillPatternArray.push({ vertices: F, colors: D, uvs: j, normals: W, layerIndices: H, indices: U, icons: X }), this._fill_opaque.vertices += i.length, this._fill_opaque.uvs += r.length, this._fill_opaque.colors += s.length, this._fill_opaque.normals += o.length, this._fill_opaque.layerIndices += l.length, this._fill_opaque.indices += n.length, this._fill_translucent.vertices += u.length, this._fill_translucent.uvs += p.length, this._fill_translucent.colors += d.length, this._fill_translucent.normals += y.length, this._fill_translucent.layerIndices += g.length, this._fill_translucent.indices += f.length, this._fill_water.vertices += I.length, this._fill_water.uvs += z.length, this._fill_water.colors += O.length, this._fill_water.normals += R.length, this._fill_water.layerIndices += G.length, this._fill_water.indices += N.length, this._fill_wood.vertices += $.length, this._fill_wood.uvs += q.length, this._fill_wood.colors += V.length, this._fill_wood.normals += k.length, this._fill_wood.layerIndices += B.length, this._fill_wood.indices += L.length, this._fill_pattern.vertices += F.length, this._fill_pattern.uvs += j.length, this._fill_pattern.colors += D.length, this._fill_pattern.normals += W.length, this._fill_pattern.layerIndices += H.length, this._fill_pattern.indices += U.length, this._fill_pattern.icons += X.length;
5423
5484
  else if (t instanceof FillExtrusionExecuter)
5424
5485
  this._fillExtrusionOpaqueArray.push({ vertices: i, colors: s, uvs: r, normals: o, layerIndices: l, indices: n, indices_side: a, extentVertices: c }), this._fillExtrusionTranslucentArray.push({ vertices: u, colors: d, uvs: p, normals: y, layerIndices: g, indices: f, indices_side: _, extentVertices: x }), this._fill_extrusion_opaque.vertices += i.length, this._fill_extrusion_opaque.colors += s.length, this._fill_extrusion_opaque.uvs += r.length, this._fill_extrusion_opaque.normals += o.length, this._fill_extrusion_opaque.layerIndices += l.length, this._fill_extrusion_opaque.indices += n.length, this._fill_extrusion_opaque.indices_side += a.length, this._fill_extrusion_opaque.extentVertices += c.length, this._fill_extrusion_translucent.vertices += u.length, this._fill_extrusion_translucent.colors += d.length, this._fill_extrusion_translucent.uvs += p.length, this._fill_extrusion_translucent.normals += y.length, this._fill_extrusion_translucent.layerIndices += g.length, this._fill_extrusion_translucent.indices += f.length, this._fill_extrusion_translucent.indices_side += _.length, this._fill_extrusion_translucent.extentVertices += x.length;
5425
5486
  else if (t instanceof LineExecuter)
@@ -8428,7 +8489,7 @@ proj4Src.exports = function() {
8428
8489
  const e2 = t4.toUpperCase();
8429
8490
  return e2.includes("PROJCRS") || e2.includes("GEOGCRS") || e2.includes("BOUNDCRS") || e2.includes("VERTCRS") || e2.includes("LENGTHUNIT") || e2.includes("ANGLEUNIT") || e2.includes("SCALEUNIT") ? "WKT2" : (e2.includes("PROJCS") || e2.includes("GEOGCS") || e2.includes("LOCAL_CS") || e2.includes("VERT_CS") || e2.includes("UNIT"), "WKT1");
8430
8491
  }
8431
- var O = 1, z = 2, N = 3, R = 4, G = 5, V = -1, L = /\s/, $ = /[A-Za-z]/, q = /[A-Za-z84_]/, k = /[,\]]/, B = /[\d\.E\-\+]/;
8492
+ var O = 1, z = 2, N = 3, R = 4, G = 5, $ = -1, V = /\s/, q = /[A-Za-z]/, L = /[A-Za-z84_]/, k = /[,\]]/, B = /[\d\.E\-\+]/;
8432
8493
  function F(t4) {
8433
8494
  if ("string" != typeof t4)
8434
8495
  throw new Error("not a string");
@@ -8501,7 +8562,7 @@ proj4Src.exports = function() {
8501
8562
  F.prototype.readCharicter = function() {
8502
8563
  var t4 = this.text[this.place++];
8503
8564
  if (this.state !== R)
8504
- for (; L.test(t4); ) {
8565
+ for (; V.test(t4); ) {
8505
8566
  if (this.place >= this.text.length)
8506
8567
  return;
8507
8568
  t4 = this.text[this.place++];
@@ -8517,7 +8578,7 @@ proj4Src.exports = function() {
8517
8578
  return this.afterquote(t4);
8518
8579
  case N:
8519
8580
  return this.number(t4);
8520
- case V:
8581
+ case $:
8521
8582
  return;
8522
8583
  }
8523
8584
  }, F.prototype.afterquote = function(t4) {
@@ -8527,7 +8588,7 @@ proj4Src.exports = function() {
8527
8588
  return this.word = this.word.trim(), void this.afterItem(t4);
8528
8589
  throw new Error(`havn't handled "` + t4 + '" in afterquote yet, index ' + this.place);
8529
8590
  }, F.prototype.afterItem = function(t4) {
8530
- return "," === t4 ? (null !== this.word && this.currentObject.push(this.word), this.word = null, void (this.state = O)) : "]" === t4 ? (this.level--, null !== this.word && (this.currentObject.push(this.word), this.word = null), this.state = O, this.currentObject = this.stack.pop(), void (this.currentObject || (this.state = V))) : void 0;
8591
+ return "," === t4 ? (null !== this.word && this.currentObject.push(this.word), this.word = null, void (this.state = O)) : "]" === t4 ? (this.level--, null !== this.word && (this.currentObject.push(this.word), this.word = null), this.state = O, this.currentObject = this.stack.pop(), void (this.currentObject || (this.state = $))) : void 0;
8531
8592
  }, F.prototype.number = function(t4) {
8532
8593
  if (!B.test(t4)) {
8533
8594
  if (k.test(t4))
@@ -8538,7 +8599,7 @@ proj4Src.exports = function() {
8538
8599
  }, F.prototype.quoted = function(t4) {
8539
8600
  '"' !== t4 ? this.word += t4 : this.state = G;
8540
8601
  }, F.prototype.keyword = function(t4) {
8541
- if (q.test(t4))
8602
+ if (L.test(t4))
8542
8603
  this.word += t4;
8543
8604
  else {
8544
8605
  if ("[" === t4) {
@@ -8550,7 +8611,7 @@ proj4Src.exports = function() {
8550
8611
  this.afterItem(t4);
8551
8612
  }
8552
8613
  }, F.prototype.neutral = function(t4) {
8553
- if ($.test(t4))
8614
+ if (q.test(t4))
8554
8615
  return this.word = t4, void (this.state = z);
8555
8616
  if ('"' === t4)
8556
8617
  return this.word = "", void (this.state = R);
@@ -8562,7 +8623,7 @@ proj4Src.exports = function() {
8562
8623
  }, F.prototype.output = function() {
8563
8624
  for (; this.place < this.text.length; )
8564
8625
  this.readCharicter();
8565
- if (this.state === V)
8626
+ if (this.state === $)
8566
8627
  return this.root;
8567
8628
  throw new Error('unable to parse string "' + this.text + '". State is ' + this.state);
8568
8629
  };
@@ -8584,9 +8645,9 @@ proj4Src.exports = function() {
8584
8645
  function Y(t4, e2) {
8585
8646
  t4.ellipsoid.radius ? (e2.a = t4.ellipsoid.radius, e2.rf = 0) : (e2.a = Z(t4.ellipsoid.semi_major_axis), void 0 !== t4.ellipsoid.inverse_flattening ? e2.rf = t4.ellipsoid.inverse_flattening : void 0 !== t4.ellipsoid.semi_major_axis && void 0 !== t4.ellipsoid.semi_minor_axis && (e2.rf = e2.a / (e2.a - Z(t4.ellipsoid.semi_minor_axis))));
8586
8647
  }
8587
- function K(t4, e2 = {}) {
8648
+ function J(t4, e2 = {}) {
8588
8649
  var _a;
8589
- return t4 && "object" == typeof t4 ? "BoundCRS" === t4.type ? (K(t4.source_crs, e2), t4.transformation && ("NTv2" === ((_a = t4.transformation.method) == null ? void 0 : _a.name) ? e2.nadgrids = t4.transformation.parameters[0].value : e2.datum_params = t4.transformation.parameters.map((t5) => t5.value)), e2) : (Object.keys(t4).forEach((i2) => {
8650
+ return t4 && "object" == typeof t4 ? "BoundCRS" === t4.type ? (J(t4.source_crs, e2), t4.transformation && ("NTv2" === ((_a = t4.transformation.method) == null ? void 0 : _a.name) ? e2.nadgrids = t4.transformation.parameters[0].value : e2.datum_params = t4.transformation.parameters.map((t5) => t5.value)), e2) : (Object.keys(t4).forEach((i2) => {
8590
8651
  var _a2, _b, _c;
8591
8652
  const s2 = t4[i2];
8592
8653
  if (null !== s2)
@@ -8644,11 +8705,11 @@ proj4Src.exports = function() {
8644
8705
  s2.name && (e2.units = s2.name.toLowerCase(), "metre" === e2.units && (e2.units = "meter")), s2.conversion_factor && (e2.to_meter = s2.conversion_factor);
8645
8706
  break;
8646
8707
  case "base_crs":
8647
- K(s2, e2), e2.datumCode = s2.id ? s2.id.authority + "_" + s2.id.code : s2.name;
8708
+ J(s2, e2), e2.datumCode = s2.id ? s2.id.authority + "_" + s2.id.code : s2.name;
8648
8709
  }
8649
8710
  }), void 0 !== e2.latitude_of_false_origin && (e2.lat0 = e2.latitude_of_false_origin), void 0 !== e2.longitude_of_false_origin && (e2.long0 = e2.longitude_of_false_origin), void 0 !== e2.latitude_of_standard_parallel && (e2.lat0 = e2.latitude_of_standard_parallel, e2.lat1 = e2.latitude_of_standard_parallel), void 0 !== e2.latitude_of_1st_standard_parallel && (e2.lat1 = e2.latitude_of_1st_standard_parallel), void 0 !== e2.latitude_of_2nd_standard_parallel && (e2.lat2 = e2.latitude_of_2nd_standard_parallel), void 0 !== e2.latitude_of_projection_centre && (e2.lat0 = e2.latitude_of_projection_centre), void 0 !== e2.longitude_of_projection_centre && (e2.longc = e2.longitude_of_projection_centre), void 0 !== e2.easting_at_false_origin && (e2.x0 = e2.easting_at_false_origin), void 0 !== e2.northing_at_false_origin && (e2.y0 = e2.northing_at_false_origin), void 0 !== e2.latitude_of_natural_origin && (e2.lat0 = e2.latitude_of_natural_origin), void 0 !== e2.longitude_of_natural_origin && (e2.long0 = e2.longitude_of_natural_origin), void 0 !== e2.longitude_of_origin && (e2.long0 = e2.longitude_of_origin), void 0 !== e2.false_easting && (e2.x0 = e2.false_easting), e2.easting_at_projection_centre && (e2.x0 = e2.easting_at_projection_centre), void 0 !== e2.false_northing && (e2.y0 = e2.false_northing), e2.northing_at_projection_centre && (e2.y0 = e2.northing_at_projection_centre), void 0 !== e2.standard_parallel_1 && (e2.lat1 = e2.standard_parallel_1), void 0 !== e2.standard_parallel_2 && (e2.lat2 = e2.standard_parallel_2), void 0 !== e2.scale_factor_at_natural_origin && (e2.k0 = e2.scale_factor_at_natural_origin), void 0 !== e2.scale_factor_at_projection_centre && (e2.k0 = e2.scale_factor_at_projection_centre), void 0 !== e2.scale_factor_on_pseudo_standard_parallel && (e2.k0 = e2.scale_factor_on_pseudo_standard_parallel), void 0 !== e2.azimuth && (e2.alpha = e2.azimuth), void 0 !== e2.azimuth_at_projection_centre && (e2.alpha = e2.azimuth_at_projection_centre), e2.angle_from_rectified_to_skew_grid && (e2.rectified_grid_angle = e2.angle_from_rectified_to_skew_grid), X(e2), e2) : t4;
8650
8711
  }
8651
- var J = ["PROJECTEDCRS", "PROJCRS", "GEOGCS", "GEOCCS", "PROJCS", "LOCAL_CS", "GEODCRS", "GEODETICCRS", "GEODETICDATUM", "ENGCRS", "ENGINEERINGCRS"];
8712
+ var K = ["PROJECTEDCRS", "PROJCRS", "GEOGCS", "GEOCCS", "PROJCS", "LOCAL_CS", "GEODCRS", "GEODETICCRS", "GEODETICDATUM", "ENGCRS", "ENGINEERINGCRS"];
8652
8713
  function tt(t4, e2) {
8653
8714
  var i2 = e2[0], s2 = e2[1];
8654
8715
  !(i2 in t4) && s2 in t4 && (t4[i2] = t4[s2], 3 === e2.length && (t4[i2] = e2[2](t4[i2])));
@@ -8656,7 +8717,7 @@ proj4Src.exports = function() {
8656
8717
  function et(t4) {
8657
8718
  for (var e2 = Object.keys(t4), i2 = 0, s2 = e2.length; i2 < s2; ++i2) {
8658
8719
  var r2 = e2[i2];
8659
- -1 !== J.indexOf(r2) && it(t4[r2]), "object" == typeof t4[r2] && et(t4[r2]);
8720
+ -1 !== K.indexOf(r2) && it(t4[r2]), "object" == typeof t4[r2] && et(t4[r2]);
8660
8721
  }
8661
8722
  }
8662
8723
  function it(t4) {
@@ -8682,11 +8743,11 @@ proj4Src.exports = function() {
8682
8743
  }
8683
8744
  function st(t4) {
8684
8745
  if ("object" == typeof t4)
8685
- return K(t4);
8746
+ return J(t4);
8686
8747
  const e2 = I(t4);
8687
8748
  var i2 = D(t4);
8688
8749
  if ("WKT2" === e2)
8689
- return K(A2(i2));
8750
+ return J(A2(i2));
8690
8751
  var s2 = i2[0], r2 = {};
8691
8752
  return U(i2, r2), et(r2), r2[s2];
8692
8753
  }
@@ -8842,12 +8903,12 @@ proj4Src.exports = function() {
8842
8903
  }
8843
8904
  return i2 && !e2 && (e2 = (1 - 1 / i2) * t4), (0 === i2 || Math.abs(t4 - e2) < f) && (r2 = true, e2 = t4), { a: t4, b: e2, rf: i2, sphere: r2 };
8844
8905
  }
8845
- var Vt = { wgs84: { towgs84: "0,0,0", ellipse: "WGS84", datumName: "WGS84" }, ch1903: { towgs84: "674.374,15.056,405.346", ellipse: "bessel", datumName: "swiss" }, ggrs87: { towgs84: "-199.87,74.79,246.62", ellipse: "GRS80", datumName: "Greek_Geodetic_Reference_System_1987" }, nad83: { towgs84: "0,0,0", ellipse: "GRS80", datumName: "North_American_Datum_1983" }, nad27: { nadgrids: "@conus,@alaska,@ntv2_0.gsb,@ntv1_can.dat", ellipse: "clrk66", datumName: "North_American_Datum_1927" }, potsdam: { towgs84: "598.1,73.7,418.2,0.202,0.045,-2.455,6.7", ellipse: "bessel", datumName: "Potsdam Rauenberg 1950 DHDN" }, carthage: { towgs84: "-263.0,6.0,431.0", ellipse: "clark80", datumName: "Carthage 1934 Tunisia" }, hermannskogel: { towgs84: "577.326,90.129,463.919,5.137,1.474,5.297,2.4232", ellipse: "bessel", datumName: "Hermannskogel" }, mgi: { towgs84: "577.326,90.129,463.919,5.137,1.474,5.297,2.4232", ellipse: "bessel", datumName: "Militar-Geographische Institut" }, osni52: { towgs84: "482.530,-130.596,564.557,-1.042,-0.214,-0.631,8.15", ellipse: "airy", datumName: "Irish National" }, ire65: { towgs84: "482.530,-130.596,564.557,-1.042,-0.214,-0.631,8.15", ellipse: "mod_airy", datumName: "Ireland 1965" }, rassadiran: { towgs84: "-133.63,-157.5,-158.62", ellipse: "intl", datumName: "Rassadiran" }, nzgd49: { towgs84: "59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5993", ellipse: "intl", datumName: "New Zealand Geodetic Datum 1949" }, osgb36: { towgs84: "446.448,-125.157,542.060,0.1502,0.2470,0.8421,-20.4894", ellipse: "airy", datumName: "Ordnance Survey of Great Britain 1936" }, s_jtsk: { towgs84: "589,76,480", ellipse: "bessel", datumName: "S-JTSK (Ferro)" }, beduaram: { towgs84: "-106,-87,188", ellipse: "clrk80", datumName: "Beduaram" }, gunung_segara: { towgs84: "-403,684,41", ellipse: "bessel", datumName: "Gunung Segara Jakarta" }, rnb72: { towgs84: "106.869,-52.2978,103.724,-0.33657,0.456955,-1.84218,1", ellipse: "intl", datumName: "Reseau National Belge 1972" }, EPSG_5451: { towgs84: "6.41,-49.05,-11.28,1.5657,0.5242,6.9718,-5.7649" }, IGNF_LURESG: { towgs84: "-192.986,13.673,-39.309,-0.4099,-2.9332,2.6881,0.43" }, EPSG_4614: { towgs84: "-119.4248,-303.65872,-11.00061,1.164298,0.174458,1.096259,3.657065" }, EPSG_4615: { towgs84: "-494.088,-312.129,279.877,-1.423,-1.013,1.59,-0.748" }, ESRI_37241: { towgs84: "-76.822,257.457,-12.817,2.136,-0.033,-2.392,-0.031" }, ESRI_37249: { towgs84: "-440.296,58.548,296.265,1.128,10.202,4.559,-0.438" }, ESRI_37245: { towgs84: "-511.151,-181.269,139.609,1.05,2.703,1.798,3.071" }, EPSG_4178: { towgs84: "24.9,-126.4,-93.2,-0.063,-0.247,-0.041,1.01" }, EPSG_4622: { towgs84: "-472.29,-5.63,-304.12,0.4362,-0.8374,0.2563,1.8984" }, EPSG_4625: { towgs84: "126.93,547.94,130.41,-2.7867,5.1612,-0.8584,13.8227" }, EPSG_5252: { towgs84: "0.023,0.036,-0.068,0.00176,0.00912,-0.01136,0.00439" }, EPSG_4314: { towgs84: "597.1,71.4,412.1,0.894,0.068,-1.563,7.58" }, EPSG_4282: { towgs84: "-178.3,-316.7,-131.5,5.278,6.077,10.979,19.166" }, EPSG_4231: { towgs84: "-83.11,-97.38,-117.22,0.0276,-0.2167,0.2147,0.1218" }, EPSG_4274: { towgs84: "-230.994,102.591,25.199,0.633,-0.239,0.9,1.95" }, EPSG_4134: { towgs84: "-180.624,-225.516,173.919,-0.81,-1.898,8.336,16.71006" }, EPSG_4254: { towgs84: "18.38,192.45,96.82,0.056,-0.142,-0.2,-0.0013" }, EPSG_4159: { towgs84: "-194.513,-63.978,-25.759,-3.4027,3.756,-3.352,-0.9175" }, EPSG_4687: { towgs84: "0.072,-0.507,-0.245,0.0183,-0.0003,0.007,-0.0093" }, EPSG_4227: { towgs84: "-83.58,-397.54,458.78,-17.595,-2.847,4.256,3.225" }, EPSG_4746: { towgs84: "599.4,72.4,419.2,-0.062,-0.022,-2.723,6.46" }, EPSG_4745: { towgs84: "612.4,77,440.2,-0.054,0.057,-2.797,2.55" }, EPSG_6311: { towgs84: "8.846,-4.394,-1.122,-0.00237,-0.146528,0.130428,0.783926" }, EPSG_4289: { towgs84: "565.7381,50.4018,465.2904,-1.91514,1.60363,-9.09546,4.07244" }, EPSG_4230: { towgs84: "-68.863,-134.888,-111.49,-0.53,-0.14,0.57,-3.4" }, EPSG_4154: { towgs84: "-123.02,-158.95,-168.47" }, EPSG_4156: { towgs84: "570.8,85.7,462.8,4.998,1.587,5.261,3.56" }, EPSG_4299: { towgs84: "482.5,-130.6,564.6,-1.042,-0.214,-0.631,8.15" }, EPSG_4179: { towgs84: "33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.84" }, EPSG_4313: { towgs84: "-106.8686,52.2978,-103.7239,0.3366,-0.457,1.8422,-1.2747" }, EPSG_4194: { towgs84: "163.511,127.533,-159.789" }, EPSG_4195: { towgs84: "105,326,-102.5" }, EPSG_4196: { towgs84: "-45,417,-3.5" }, EPSG_4611: { towgs84: "-162.619,-276.959,-161.764,0.067753,-2.243649,-1.158827,-1.094246" }, EPSG_4633: { towgs84: "137.092,131.66,91.475,-1.9436,-11.5993,-4.3321,-7.4824" }, EPSG_4641: { towgs84: "-408.809,366.856,-412.987,1.8842,-0.5308,2.1655,-121.0993" }, EPSG_4643: { towgs84: "-480.26,-438.32,-643.429,16.3119,20.1721,-4.0349,-111.7002" }, EPSG_4300: { towgs84: "482.5,-130.6,564.6,-1.042,-0.214,-0.631,8.15" }, EPSG_4188: { towgs84: "482.5,-130.6,564.6,-1.042,-0.214,-0.631,8.15" }, EPSG_4660: { towgs84: "982.6087,552.753,-540.873,32.39344,-153.25684,-96.2266,16.805" }, EPSG_4662: { towgs84: "97.295,-263.247,310.882,-1.5999,0.8386,3.1409,13.3259" }, EPSG_3906: { towgs84: "577.88891,165.22205,391.18289,4.9145,-0.94729,-13.05098,7.78664" }, EPSG_4307: { towgs84: "-209.3622,-87.8162,404.6198,0.0046,3.4784,0.5805,-1.4547" }, EPSG_6892: { towgs84: "-76.269,-16.683,68.562,-6.275,10.536,-4.286,-13.686" }, EPSG_4690: { towgs84: "221.597,152.441,176.523,2.403,1.3893,0.884,11.4648" }, EPSG_4691: { towgs84: "218.769,150.75,176.75,3.5231,2.0037,1.288,10.9817" }, EPSG_4629: { towgs84: "72.51,345.411,79.241,-1.5862,-0.8826,-0.5495,1.3653" }, EPSG_4630: { towgs84: "165.804,216.213,180.26,-0.6251,-0.4515,-0.0721,7.4111" }, EPSG_4692: { towgs84: "217.109,86.452,23.711,0.0183,-0.0003,0.007,-0.0093" }, EPSG_9333: { towgs84: "0,0,0,-8.393,0.749,-10.276,0" }, EPSG_9059: { towgs84: "0,0,0" }, EPSG_4312: { towgs84: "601.705,84.263,485.227,4.7354,1.3145,5.393,-2.3887" }, EPSG_4123: { towgs84: "-96.062,-82.428,-121.753,4.801,0.345,-1.376,1.496" }, EPSG_4309: { towgs84: "-124.45,183.74,44.64,-0.4384,0.5446,-0.9706,-2.1365" }, ESRI_104106: { towgs84: "-283.088,-70.693,117.445,-1.157,0.059,-0.652,-4.058" }, EPSG_4281: { towgs84: "-219.247,-73.802,269.529" }, EPSG_4322: { towgs84: "0,0,4.5" }, EPSG_4324: { towgs84: "0,0,1.9" }, EPSG_4284: { towgs84: "43.822,-108.842,-119.585,1.455,-0.761,0.737,0.549" }, EPSG_4277: { towgs84: "446.448,-125.157,542.06,0.15,0.247,0.842,-20.489" }, EPSG_4207: { towgs84: "-282.1,-72.2,120,-1.529,0.145,-0.89,-4.46" }, EPSG_4688: { towgs84: "347.175,1077.618,2623.677,33.9058,-70.6776,9.4013,186.0647" }, EPSG_4689: { towgs84: "410.793,54.542,80.501,-2.5596,-2.3517,-0.6594,17.3218" }, EPSG_4720: { towgs84: "0,0,4.5" }, EPSG_4273: { towgs84: "278.3,93,474.5,7.889,0.05,-6.61,6.21" }, EPSG_4240: { towgs84: "204.64,834.74,293.8" }, EPSG_4817: { towgs84: "278.3,93,474.5,7.889,0.05,-6.61,6.21" }, ESRI_104131: { towgs84: "426.62,142.62,460.09,4.98,4.49,-12.42,-17.1" }, EPSG_4265: { towgs84: "-104.1,-49.1,-9.9,0.971,-2.917,0.714,-11.68" }, EPSG_4263: { towgs84: "-111.92,-87.85,114.5,1.875,0.202,0.219,0.032" }, EPSG_4298: { towgs84: "-689.5937,623.84046,-65.93566,-0.02331,1.17094,-0.80054,5.88536" }, EPSG_4270: { towgs84: "-253.4392,-148.452,386.5267,0.15605,0.43,-0.1013,-0.0424" }, EPSG_4229: { towgs84: "-121.8,98.1,-10.7" }, EPSG_4220: { towgs84: "-55.5,-348,-229.2" }, EPSG_4214: { towgs84: "12.646,-155.176,-80.863" }, EPSG_4232: { towgs84: "-345,3,223" }, EPSG_4238: { towgs84: "-1.977,-13.06,-9.993,0.364,0.254,0.689,-1.037" }, EPSG_4168: { towgs84: "-170,33,326" }, EPSG_4131: { towgs84: "199,931,318.9" }, EPSG_4152: { towgs84: "-0.9102,2.0141,0.5602,0.029039,0.010065,0.010101,0" }, EPSG_5228: { towgs84: "572.213,85.334,461.94,4.9732,1.529,5.2484,3.5378" }, EPSG_8351: { towgs84: "485.021,169.465,483.839,7.786342,4.397554,4.102655,0" }, EPSG_4683: { towgs84: "-127.62,-67.24,-47.04,-3.068,4.903,1.578,-1.06" }, EPSG_4133: { towgs84: "0,0,0" }, EPSG_7373: { towgs84: "0.819,-0.5762,-1.6446,-0.00378,-0.03317,0.00318,0.0693" }, EPSG_9075: { towgs84: "-0.9102,2.0141,0.5602,0.029039,0.010065,0.010101,0" }, EPSG_9072: { towgs84: "-0.9102,2.0141,0.5602,0.029039,0.010065,0.010101,0" }, EPSG_9294: { towgs84: "1.16835,-1.42001,-2.24431,-0.00822,-0.05508,0.01818,0.23388" }, EPSG_4212: { towgs84: "-267.434,173.496,181.814,-13.4704,8.7154,7.3926,14.7492" }, EPSG_4191: { towgs84: "-44.183,-0.58,-38.489,2.3867,2.7072,-3.5196,-8.2703" }, EPSG_4237: { towgs84: "52.684,-71.194,-13.975,-0.312,-0.1063,-0.3729,1.0191" }, EPSG_4740: { towgs84: "-1.08,-0.27,-0.9" }, EPSG_4124: { towgs84: "419.3836,99.3335,591.3451,0.850389,1.817277,-7.862238,-0.99496" }, EPSG_5681: { towgs84: "584.9636,107.7175,413.8067,1.1155,0.2824,-3.1384,7.9922" }, EPSG_4141: { towgs84: "23.772,17.49,17.859,-0.3132,-1.85274,1.67299,-5.4262" }, EPSG_4204: { towgs84: "-85.645,-273.077,-79.708,2.289,-1.421,2.532,3.194" }, EPSG_4319: { towgs84: "226.702,-193.337,-35.371,-2.229,-4.391,9.238,0.9798" }, EPSG_4200: { towgs84: "24.82,-131.21,-82.66" }, EPSG_4130: { towgs84: "0,0,0" }, EPSG_4127: { towgs84: "-82.875,-57.097,-156.768,-2.158,1.524,-0.982,-0.359" }, EPSG_4149: { towgs84: "674.374,15.056,405.346" }, EPSG_4617: { towgs84: "-0.991,1.9072,0.5129,1.25033e-7,4.6785e-8,5.6529e-8,0" }, EPSG_4663: { towgs84: "-210.502,-66.902,-48.476,2.094,-15.067,-5.817,0.485" }, EPSG_4664: { towgs84: "-211.939,137.626,58.3,-0.089,0.251,0.079,0.384" }, EPSG_4665: { towgs84: "-105.854,165.589,-38.312,-0.003,-0.026,0.024,-0.048" }, EPSG_4666: { towgs84: "631.392,-66.551,481.442,1.09,-4.445,-4.487,-4.43" }, EPSG_4756: { towgs84: "-192.873,-39.382,-111.202,-0.00205,-0.0005,0.00335,0.0188" }, EPSG_4723: { towgs84: "-179.483,-69.379,-27.584,-7.862,8.163,6.042,-13.925" }, EPSG_4726: { towgs84: "8.853,-52.644,180.304,-0.393,-2.323,2.96,-24.081" }, EPSG_4267: { towgs84: "-8.0,160.0,176.0" }, EPSG_5365: { towgs84: "-0.16959,0.35312,0.51846,0.03385,-0.16325,0.03446,0.03693" }, EPSG_4218: { towgs84: "304.5,306.5,-318.1" }, EPSG_4242: { towgs84: "-33.722,153.789,94.959,-8.581,-4.478,4.54,8.95" }, EPSG_4216: { towgs84: "-292.295,248.758,429.447,4.9971,2.99,6.6906,1.0289" }, ESRI_104105: { towgs84: "631.392,-66.551,481.442,1.09,-4.445,-4.487,-4.43" }, ESRI_104129: { towgs84: "0,0,0" }, EPSG_4673: { towgs84: "174.05,-25.49,112.57" }, EPSG_4202: { towgs84: "-124,-60,154" }, EPSG_4203: { towgs84: "-117.763,-51.51,139.061,0.292,0.443,0.277,-0.191" }, EPSG_3819: { towgs84: "595.48,121.69,515.35,4.115,-2.9383,0.853,-3.408" }, EPSG_8694: { towgs84: "-93.799,-132.737,-219.073,-1.844,0.648,-6.37,-0.169" }, EPSG_4145: { towgs84: "275.57,676.78,229.6" }, EPSG_4283: { towgs84: "61.55,-10.87,-40.19,39.4924,32.7221,32.8979,-9.994" }, EPSG_4317: { towgs84: "2.3287,-147.0425,-92.0802,-0.3092483,0.32482185,0.49729934,5.68906266" }, EPSG_4272: { towgs84: "59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5993" }, EPSG_4248: { towgs84: "-307.7,265.3,-363.5" }, EPSG_5561: { towgs84: "24,-121,-76" }, EPSG_5233: { towgs84: "-0.293,766.95,87.713,0.195704,1.695068,3.473016,-0.039338" }, ESRI_104130: { towgs84: "-86,-98,-119" }, ESRI_104102: { towgs84: "682,-203,480" }, ESRI_37207: { towgs84: "7,-10,-26" }, EPSG_4675: { towgs84: "59.935,118.4,-10.871" }, ESRI_104109: { towgs84: "-89.121,-348.182,260.871" }, ESRI_104112: { towgs84: "-185.583,-230.096,281.361" }, ESRI_104113: { towgs84: "25.1,-275.6,222.6" }, IGNF_WGS72G: { towgs84: "0,12,6" }, IGNF_NTFG: { towgs84: "-168,-60,320" }, IGNF_EFATE57G: { towgs84: "-127,-769,472" }, IGNF_PGP50G: { towgs84: "324.8,153.6,172.1" }, IGNF_REUN47G: { towgs84: "94,-948,-1262" }, IGNF_CSG67G: { towgs84: "-186,230,110" }, IGNF_GUAD48G: { towgs84: "-467,-16,-300" }, IGNF_TAHI51G: { towgs84: "162,117,154" }, IGNF_TAHAAG: { towgs84: "65,342,77" }, IGNF_NUKU72G: { towgs84: "84,274,65" }, IGNF_PETRELS72G: { towgs84: "365,194,166" }, IGNF_WALL78G: { towgs84: "253,-133,-127" }, IGNF_MAYO50G: { towgs84: "-382,-59,-262" }, IGNF_TANNAG: { towgs84: "-139,-967,436" }, IGNF_IGN72G: { towgs84: "-13,-348,292" }, IGNF_ATIGG: { towgs84: "1118,23,66" }, IGNF_FANGA84G: { towgs84: "150.57,158.33,118.32" }, IGNF_RUSAT84G: { towgs84: "202.13,174.6,-15.74" }, IGNF_KAUE70G: { towgs84: "126.74,300.1,-75.49" }, IGNF_MOP90G: { towgs84: "-10.8,-1.8,12.77" }, IGNF_MHPF67G: { towgs84: "338.08,212.58,-296.17" }, IGNF_TAHI79G: { towgs84: "160.61,116.05,153.69" }, IGNF_ANAA92G: { towgs84: "1.5,3.84,4.81" }, IGNF_MARQUI72G: { towgs84: "330.91,-13.92,58.56" }, IGNF_APAT86G: { towgs84: "143.6,197.82,74.05" }, IGNF_TUBU69G: { towgs84: "237.17,171.61,-77.84" }, IGNF_STPM50G: { towgs84: "11.363,424.148,373.13" }, EPSG_4150: { towgs84: "674.374,15.056,405.346" }, EPSG_4754: { towgs84: "-208.4058,-109.8777,-2.5764" }, ESRI_104101: { towgs84: "374,150,588" }, EPSG_4693: { towgs84: "0,-0.15,0.68" }, EPSG_6207: { towgs84: "293.17,726.18,245.36" }, EPSG_4153: { towgs84: "-133.63,-157.5,-158.62" }, EPSG_4132: { towgs84: "-241.54,-163.64,396.06" }, EPSG_4221: { towgs84: "-154.5,150.7,100.4" }, EPSG_4266: { towgs84: "-80.7,-132.5,41.1" }, EPSG_4193: { towgs84: "-70.9,-151.8,-41.4" }, EPSG_5340: { towgs84: "-0.41,0.46,-0.35" }, EPSG_4246: { towgs84: "-294.7,-200.1,525.5" }, EPSG_4318: { towgs84: "-3.2,-5.7,2.8" }, EPSG_4121: { towgs84: "-199.87,74.79,246.62" }, EPSG_4223: { towgs84: "-260.1,5.5,432.2" }, EPSG_4158: { towgs84: "-0.465,372.095,171.736" }, EPSG_4285: { towgs84: "-128.16,-282.42,21.93" }, EPSG_4613: { towgs84: "-404.78,685.68,45.47" }, EPSG_4607: { towgs84: "195.671,332.517,274.607" }, EPSG_4475: { towgs84: "-381.788,-57.501,-256.673" }, EPSG_4208: { towgs84: "-157.84,308.54,-146.6" }, EPSG_4743: { towgs84: "70.995,-335.916,262.898" }, EPSG_4710: { towgs84: "-323.65,551.39,-491.22" }, EPSG_7881: { towgs84: "-0.077,0.079,0.086" }, EPSG_4682: { towgs84: "283.729,735.942,261.143" }, EPSG_4739: { towgs84: "-156,-271,-189" }, EPSG_4679: { towgs84: "-80.01,253.26,291.19" }, EPSG_4750: { towgs84: "-56.263,16.136,-22.856" }, EPSG_4644: { towgs84: "-10.18,-350.43,291.37" }, EPSG_4695: { towgs84: "-103.746,-9.614,-255.95" }, EPSG_4292: { towgs84: "-355,21,72" }, EPSG_4302: { towgs84: "-61.702,284.488,472.052" }, EPSG_4143: { towgs84: "-124.76,53,466.79" }, EPSG_4606: { towgs84: "-153,153,307" }, EPSG_4699: { towgs84: "-770.1,158.4,-498.2" }, EPSG_4247: { towgs84: "-273.5,110.6,-357.9" }, EPSG_4160: { towgs84: "8.88,184.86,106.69" }, EPSG_4161: { towgs84: "-233.43,6.65,173.64" }, EPSG_9251: { towgs84: "-9.5,122.9,138.2" }, EPSG_9253: { towgs84: "-78.1,101.6,133.3" }, EPSG_4297: { towgs84: "-198.383,-240.517,-107.909" }, EPSG_4269: { towgs84: "0,0,0" }, EPSG_4301: { towgs84: "-147,506,687" }, EPSG_4618: { towgs84: "-59,-11,-52" }, EPSG_4612: { towgs84: "0,0,0" }, EPSG_4678: { towgs84: "44.585,-131.212,-39.544" }, EPSG_4250: { towgs84: "-130,29,364" }, EPSG_4144: { towgs84: "214,804,268" }, EPSG_4147: { towgs84: "-17.51,-108.32,-62.39" }, EPSG_4259: { towgs84: "-254.1,-5.36,-100.29" }, EPSG_4164: { towgs84: "-76,-138,67" }, EPSG_4211: { towgs84: "-378.873,676.002,-46.255" }, EPSG_4182: { towgs84: "-422.651,-172.995,84.02" }, EPSG_4224: { towgs84: "-143.87,243.37,-33.52" }, EPSG_4225: { towgs84: "-205.57,168.77,-4.12" }, EPSG_5527: { towgs84: "-67.35,3.88,-38.22" }, EPSG_4752: { towgs84: "98,390,-22" }, EPSG_4310: { towgs84: "-30,190,89" }, EPSG_9248: { towgs84: "-192.26,65.72,132.08" }, EPSG_4680: { towgs84: "124.5,-63.5,-281" }, EPSG_4701: { towgs84: "-79.9,-158,-168.9" }, EPSG_4706: { towgs84: "-146.21,112.63,4.05" }, EPSG_4805: { towgs84: "682,-203,480" }, EPSG_4201: { towgs84: "-165,-11,206" }, EPSG_4210: { towgs84: "-157,-2,-299" }, EPSG_4183: { towgs84: "-104,167,-38" }, EPSG_4139: { towgs84: "11,72,-101" }, EPSG_4668: { towgs84: "-86,-98,-119" }, EPSG_4717: { towgs84: "-2,151,181" }, EPSG_4732: { towgs84: "102,52,-38" }, EPSG_4280: { towgs84: "-377,681,-50" }, EPSG_4209: { towgs84: "-138,-105,-289" }, EPSG_4261: { towgs84: "31,146,47" }, EPSG_4658: { towgs84: "-73,46,-86" }, EPSG_4721: { towgs84: "265.025,384.929,-194.046" }, EPSG_4222: { towgs84: "-136,-108,-292" }, EPSG_4601: { towgs84: "-255,-15,71" }, EPSG_4602: { towgs84: "725,685,536" }, EPSG_4603: { towgs84: "72,213.7,93" }, EPSG_4605: { towgs84: "9,183,236" }, EPSG_4621: { towgs84: "137,248,-430" }, EPSG_4657: { towgs84: "-28,199,5" }, EPSG_4316: { towgs84: "103.25,-100.4,-307.19" }, EPSG_4642: { towgs84: "-13,-348,292" }, EPSG_4698: { towgs84: "145,-187,103" }, EPSG_4192: { towgs84: "-206.1,-174.7,-87.7" }, EPSG_4311: { towgs84: "-265,120,-358" }, EPSG_4135: { towgs84: "58,-283,-182" }, ESRI_104138: { towgs84: "198,-226,-347" }, EPSG_4245: { towgs84: "-11,851,5" }, EPSG_4142: { towgs84: "-125,53,467" }, EPSG_4213: { towgs84: "-106,-87,188" }, EPSG_4253: { towgs84: "-133,-77,-51" }, EPSG_4129: { towgs84: "-132,-110,-335" }, EPSG_4713: { towgs84: "-77,-128,142" }, EPSG_4239: { towgs84: "217,823,299" }, EPSG_4146: { towgs84: "295,736,257" }, EPSG_4155: { towgs84: "-83,37,124" }, EPSG_4165: { towgs84: "-173,253,27" }, EPSG_4672: { towgs84: "175,-38,113" }, EPSG_4236: { towgs84: "-637,-549,-203" }, EPSG_4251: { towgs84: "-90,40,88" }, EPSG_4271: { towgs84: "-2,374,172" }, EPSG_4175: { towgs84: "-88,4,101" }, EPSG_4716: { towgs84: "298,-304,-375" }, EPSG_4315: { towgs84: "-23,259,-9" }, EPSG_4744: { towgs84: "-242.2,-144.9,370.3" }, EPSG_4244: { towgs84: "-97,787,86" }, EPSG_4293: { towgs84: "616,97,-251" }, EPSG_4714: { towgs84: "-127,-769,472" }, EPSG_4736: { towgs84: "260,12,-147" }, EPSG_6883: { towgs84: "-235,-110,393" }, EPSG_6894: { towgs84: "-63,176,185" }, EPSG_4205: { towgs84: "-43,-163,45" }, EPSG_4256: { towgs84: "41,-220,-134" }, EPSG_4262: { towgs84: "639,405,60" }, EPSG_4604: { towgs84: "174,359,365" }, EPSG_4169: { towgs84: "-115,118,426" }, EPSG_4620: { towgs84: "-106,-129,165" }, EPSG_4184: { towgs84: "-203,141,53" }, EPSG_4616: { towgs84: "-289,-124,60" }, EPSG_9403: { towgs84: "-307,-92,127" }, EPSG_4684: { towgs84: "-133,-321,50" }, EPSG_4708: { towgs84: "-491,-22,435" }, EPSG_4707: { towgs84: "114,-116,-333" }, EPSG_4709: { towgs84: "145,75,-272" }, EPSG_4712: { towgs84: "-205,107,53" }, EPSG_4711: { towgs84: "124,-234,-25" }, EPSG_4718: { towgs84: "230,-199,-752" }, EPSG_4719: { towgs84: "211,147,111" }, EPSG_4724: { towgs84: "208,-435,-229" }, EPSG_4725: { towgs84: "189,-79,-202" }, EPSG_4735: { towgs84: "647,1777,-1124" }, EPSG_4722: { towgs84: "-794,119,-298" }, EPSG_4728: { towgs84: "-307,-92,127" }, EPSG_4734: { towgs84: "-632,438,-609" }, EPSG_4727: { towgs84: "912,-58,1227" }, EPSG_4729: { towgs84: "185,165,42" }, EPSG_4730: { towgs84: "170,42,84" }, EPSG_4733: { towgs84: "276,-57,149" }, ESRI_37218: { towgs84: "230,-199,-752" }, ESRI_37240: { towgs84: "-7,215,225" }, ESRI_37221: { towgs84: "252,-209,-751" }, ESRI_4305: { towgs84: "-123,-206,219" }, ESRI_104139: { towgs84: "-73,-247,227" }, EPSG_4748: { towgs84: "51,391,-36" }, EPSG_4219: { towgs84: "-384,664,-48" }, EPSG_4255: { towgs84: "-333,-222,114" }, EPSG_4257: { towgs84: "-587.8,519.75,145.76" }, EPSG_4646: { towgs84: "-963,510,-359" }, EPSG_6881: { towgs84: "-24,-203,268" }, EPSG_6882: { towgs84: "-183,-15,273" }, EPSG_4715: { towgs84: "-104,-129,239" }, IGNF_RGF93GDD: { towgs84: "0,0,0" }, IGNF_RGM04GDD: { towgs84: "0,0,0" }, IGNF_RGSPM06GDD: { towgs84: "0,0,0" }, IGNF_RGTAAF07GDD: { towgs84: "0,0,0" }, IGNF_RGFG95GDD: { towgs84: "0,0,0" }, IGNF_RGNCG: { towgs84: "0,0,0" }, IGNF_RGPFGDD: { towgs84: "0,0,0" }, IGNF_ETRS89G: { towgs84: "0,0,0" }, IGNF_RGR92GDD: { towgs84: "0,0,0" }, EPSG_4173: { towgs84: "0,0,0" }, EPSG_4180: { towgs84: "0,0,0" }, EPSG_4619: { towgs84: "0,0,0" }, EPSG_4667: { towgs84: "0,0,0" }, EPSG_4075: { towgs84: "0,0,0" }, EPSG_6706: { towgs84: "0,0,0" }, EPSG_7798: { towgs84: "0,0,0" }, EPSG_4661: { towgs84: "0,0,0" }, EPSG_4669: { towgs84: "0,0,0" }, EPSG_8685: { towgs84: "0,0,0" }, EPSG_4151: { towgs84: "0,0,0" }, EPSG_9702: { towgs84: "0,0,0" }, EPSG_4758: { towgs84: "0,0,0" }, EPSG_4761: { towgs84: "0,0,0" }, EPSG_4765: { towgs84: "0,0,0" }, EPSG_8997: { towgs84: "0,0,0" }, EPSG_4023: { towgs84: "0,0,0" }, EPSG_4670: { towgs84: "0,0,0" }, EPSG_4694: { towgs84: "0,0,0" }, EPSG_4148: { towgs84: "0,0,0" }, EPSG_4163: { towgs84: "0,0,0" }, EPSG_4167: { towgs84: "0,0,0" }, EPSG_4189: { towgs84: "0,0,0" }, EPSG_4190: { towgs84: "0,0,0" }, EPSG_4176: { towgs84: "0,0,0" }, EPSG_4659: { towgs84: "0,0,0" }, EPSG_3824: { towgs84: "0,0,0" }, EPSG_3889: { towgs84: "0,0,0" }, EPSG_4046: { towgs84: "0,0,0" }, EPSG_4081: { towgs84: "0,0,0" }, EPSG_4558: { towgs84: "0,0,0" }, EPSG_4483: { towgs84: "0,0,0" }, EPSG_5013: { towgs84: "0,0,0" }, EPSG_5264: { towgs84: "0,0,0" }, EPSG_5324: { towgs84: "0,0,0" }, EPSG_5354: { towgs84: "0,0,0" }, EPSG_5371: { towgs84: "0,0,0" }, EPSG_5373: { towgs84: "0,0,0" }, EPSG_5381: { towgs84: "0,0,0" }, EPSG_5393: { towgs84: "0,0,0" }, EPSG_5489: { towgs84: "0,0,0" }, EPSG_5593: { towgs84: "0,0,0" }, EPSG_6135: { towgs84: "0,0,0" }, EPSG_6365: { towgs84: "0,0,0" }, EPSG_5246: { towgs84: "0,0,0" }, EPSG_7886: { towgs84: "0,0,0" }, EPSG_8431: { towgs84: "0,0,0" }, EPSG_8427: { towgs84: "0,0,0" }, EPSG_8699: { towgs84: "0,0,0" }, EPSG_8818: { towgs84: "0,0,0" }, EPSG_4757: { towgs84: "0,0,0" }, EPSG_9140: { towgs84: "0,0,0" }, EPSG_8086: { towgs84: "0,0,0" }, EPSG_4686: { towgs84: "0,0,0" }, EPSG_4737: { towgs84: "0,0,0" }, EPSG_4702: { towgs84: "0,0,0" }, EPSG_4747: { towgs84: "0,0,0" }, EPSG_4749: { towgs84: "0,0,0" }, EPSG_4674: { towgs84: "0,0,0" }, EPSG_4755: { towgs84: "0,0,0" }, EPSG_4759: { towgs84: "0,0,0" }, EPSG_4762: { towgs84: "0,0,0" }, EPSG_4763: { towgs84: "0,0,0" }, EPSG_4764: { towgs84: "0,0,0" }, EPSG_4166: { towgs84: "0,0,0" }, EPSG_4170: { towgs84: "0,0,0" }, EPSG_5546: { towgs84: "0,0,0" }, EPSG_7844: { towgs84: "0,0,0" }, EPSG_4818: { towgs84: "589,76,480" } };
8846
- for (var Lt in Vt) {
8847
- var $t = Vt[Lt];
8848
- $t.datumName && (Vt[$t.datumName] = $t);
8906
+ var $t = { wgs84: { towgs84: "0,0,0", ellipse: "WGS84", datumName: "WGS84" }, ch1903: { towgs84: "674.374,15.056,405.346", ellipse: "bessel", datumName: "swiss" }, ggrs87: { towgs84: "-199.87,74.79,246.62", ellipse: "GRS80", datumName: "Greek_Geodetic_Reference_System_1987" }, nad83: { towgs84: "0,0,0", ellipse: "GRS80", datumName: "North_American_Datum_1983" }, nad27: { nadgrids: "@conus,@alaska,@ntv2_0.gsb,@ntv1_can.dat", ellipse: "clrk66", datumName: "North_American_Datum_1927" }, potsdam: { towgs84: "598.1,73.7,418.2,0.202,0.045,-2.455,6.7", ellipse: "bessel", datumName: "Potsdam Rauenberg 1950 DHDN" }, carthage: { towgs84: "-263.0,6.0,431.0", ellipse: "clark80", datumName: "Carthage 1934 Tunisia" }, hermannskogel: { towgs84: "577.326,90.129,463.919,5.137,1.474,5.297,2.4232", ellipse: "bessel", datumName: "Hermannskogel" }, mgi: { towgs84: "577.326,90.129,463.919,5.137,1.474,5.297,2.4232", ellipse: "bessel", datumName: "Militar-Geographische Institut" }, osni52: { towgs84: "482.530,-130.596,564.557,-1.042,-0.214,-0.631,8.15", ellipse: "airy", datumName: "Irish National" }, ire65: { towgs84: "482.530,-130.596,564.557,-1.042,-0.214,-0.631,8.15", ellipse: "mod_airy", datumName: "Ireland 1965" }, rassadiran: { towgs84: "-133.63,-157.5,-158.62", ellipse: "intl", datumName: "Rassadiran" }, nzgd49: { towgs84: "59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5993", ellipse: "intl", datumName: "New Zealand Geodetic Datum 1949" }, osgb36: { towgs84: "446.448,-125.157,542.060,0.1502,0.2470,0.8421,-20.4894", ellipse: "airy", datumName: "Ordnance Survey of Great Britain 1936" }, s_jtsk: { towgs84: "589,76,480", ellipse: "bessel", datumName: "S-JTSK (Ferro)" }, beduaram: { towgs84: "-106,-87,188", ellipse: "clrk80", datumName: "Beduaram" }, gunung_segara: { towgs84: "-403,684,41", ellipse: "bessel", datumName: "Gunung Segara Jakarta" }, rnb72: { towgs84: "106.869,-52.2978,103.724,-0.33657,0.456955,-1.84218,1", ellipse: "intl", datumName: "Reseau National Belge 1972" }, EPSG_5451: { towgs84: "6.41,-49.05,-11.28,1.5657,0.5242,6.9718,-5.7649" }, IGNF_LURESG: { towgs84: "-192.986,13.673,-39.309,-0.4099,-2.9332,2.6881,0.43" }, EPSG_4614: { towgs84: "-119.4248,-303.65872,-11.00061,1.164298,0.174458,1.096259,3.657065" }, EPSG_4615: { towgs84: "-494.088,-312.129,279.877,-1.423,-1.013,1.59,-0.748" }, ESRI_37241: { towgs84: "-76.822,257.457,-12.817,2.136,-0.033,-2.392,-0.031" }, ESRI_37249: { towgs84: "-440.296,58.548,296.265,1.128,10.202,4.559,-0.438" }, ESRI_37245: { towgs84: "-511.151,-181.269,139.609,1.05,2.703,1.798,3.071" }, EPSG_4178: { towgs84: "24.9,-126.4,-93.2,-0.063,-0.247,-0.041,1.01" }, EPSG_4622: { towgs84: "-472.29,-5.63,-304.12,0.4362,-0.8374,0.2563,1.8984" }, EPSG_4625: { towgs84: "126.93,547.94,130.41,-2.7867,5.1612,-0.8584,13.8227" }, EPSG_5252: { towgs84: "0.023,0.036,-0.068,0.00176,0.00912,-0.01136,0.00439" }, EPSG_4314: { towgs84: "597.1,71.4,412.1,0.894,0.068,-1.563,7.58" }, EPSG_4282: { towgs84: "-178.3,-316.7,-131.5,5.278,6.077,10.979,19.166" }, EPSG_4231: { towgs84: "-83.11,-97.38,-117.22,0.0276,-0.2167,0.2147,0.1218" }, EPSG_4274: { towgs84: "-230.994,102.591,25.199,0.633,-0.239,0.9,1.95" }, EPSG_4134: { towgs84: "-180.624,-225.516,173.919,-0.81,-1.898,8.336,16.71006" }, EPSG_4254: { towgs84: "18.38,192.45,96.82,0.056,-0.142,-0.2,-0.0013" }, EPSG_4159: { towgs84: "-194.513,-63.978,-25.759,-3.4027,3.756,-3.352,-0.9175" }, EPSG_4687: { towgs84: "0.072,-0.507,-0.245,0.0183,-0.0003,0.007,-0.0093" }, EPSG_4227: { towgs84: "-83.58,-397.54,458.78,-17.595,-2.847,4.256,3.225" }, EPSG_4746: { towgs84: "599.4,72.4,419.2,-0.062,-0.022,-2.723,6.46" }, EPSG_4745: { towgs84: "612.4,77,440.2,-0.054,0.057,-2.797,2.55" }, EPSG_6311: { towgs84: "8.846,-4.394,-1.122,-0.00237,-0.146528,0.130428,0.783926" }, EPSG_4289: { towgs84: "565.7381,50.4018,465.2904,-1.91514,1.60363,-9.09546,4.07244" }, EPSG_4230: { towgs84: "-68.863,-134.888,-111.49,-0.53,-0.14,0.57,-3.4" }, EPSG_4154: { towgs84: "-123.02,-158.95,-168.47" }, EPSG_4156: { towgs84: "570.8,85.7,462.8,4.998,1.587,5.261,3.56" }, EPSG_4299: { towgs84: "482.5,-130.6,564.6,-1.042,-0.214,-0.631,8.15" }, EPSG_4179: { towgs84: "33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.84" }, EPSG_4313: { towgs84: "-106.8686,52.2978,-103.7239,0.3366,-0.457,1.8422,-1.2747" }, EPSG_4194: { towgs84: "163.511,127.533,-159.789" }, EPSG_4195: { towgs84: "105,326,-102.5" }, EPSG_4196: { towgs84: "-45,417,-3.5" }, EPSG_4611: { towgs84: "-162.619,-276.959,-161.764,0.067753,-2.243649,-1.158827,-1.094246" }, EPSG_4633: { towgs84: "137.092,131.66,91.475,-1.9436,-11.5993,-4.3321,-7.4824" }, EPSG_4641: { towgs84: "-408.809,366.856,-412.987,1.8842,-0.5308,2.1655,-121.0993" }, EPSG_4643: { towgs84: "-480.26,-438.32,-643.429,16.3119,20.1721,-4.0349,-111.7002" }, EPSG_4300: { towgs84: "482.5,-130.6,564.6,-1.042,-0.214,-0.631,8.15" }, EPSG_4188: { towgs84: "482.5,-130.6,564.6,-1.042,-0.214,-0.631,8.15" }, EPSG_4660: { towgs84: "982.6087,552.753,-540.873,32.39344,-153.25684,-96.2266,16.805" }, EPSG_4662: { towgs84: "97.295,-263.247,310.882,-1.5999,0.8386,3.1409,13.3259" }, EPSG_3906: { towgs84: "577.88891,165.22205,391.18289,4.9145,-0.94729,-13.05098,7.78664" }, EPSG_4307: { towgs84: "-209.3622,-87.8162,404.6198,0.0046,3.4784,0.5805,-1.4547" }, EPSG_6892: { towgs84: "-76.269,-16.683,68.562,-6.275,10.536,-4.286,-13.686" }, EPSG_4690: { towgs84: "221.597,152.441,176.523,2.403,1.3893,0.884,11.4648" }, EPSG_4691: { towgs84: "218.769,150.75,176.75,3.5231,2.0037,1.288,10.9817" }, EPSG_4629: { towgs84: "72.51,345.411,79.241,-1.5862,-0.8826,-0.5495,1.3653" }, EPSG_4630: { towgs84: "165.804,216.213,180.26,-0.6251,-0.4515,-0.0721,7.4111" }, EPSG_4692: { towgs84: "217.109,86.452,23.711,0.0183,-0.0003,0.007,-0.0093" }, EPSG_9333: { towgs84: "0,0,0,-8.393,0.749,-10.276,0" }, EPSG_9059: { towgs84: "0,0,0" }, EPSG_4312: { towgs84: "601.705,84.263,485.227,4.7354,1.3145,5.393,-2.3887" }, EPSG_4123: { towgs84: "-96.062,-82.428,-121.753,4.801,0.345,-1.376,1.496" }, EPSG_4309: { towgs84: "-124.45,183.74,44.64,-0.4384,0.5446,-0.9706,-2.1365" }, ESRI_104106: { towgs84: "-283.088,-70.693,117.445,-1.157,0.059,-0.652,-4.058" }, EPSG_4281: { towgs84: "-219.247,-73.802,269.529" }, EPSG_4322: { towgs84: "0,0,4.5" }, EPSG_4324: { towgs84: "0,0,1.9" }, EPSG_4284: { towgs84: "43.822,-108.842,-119.585,1.455,-0.761,0.737,0.549" }, EPSG_4277: { towgs84: "446.448,-125.157,542.06,0.15,0.247,0.842,-20.489" }, EPSG_4207: { towgs84: "-282.1,-72.2,120,-1.529,0.145,-0.89,-4.46" }, EPSG_4688: { towgs84: "347.175,1077.618,2623.677,33.9058,-70.6776,9.4013,186.0647" }, EPSG_4689: { towgs84: "410.793,54.542,80.501,-2.5596,-2.3517,-0.6594,17.3218" }, EPSG_4720: { towgs84: "0,0,4.5" }, EPSG_4273: { towgs84: "278.3,93,474.5,7.889,0.05,-6.61,6.21" }, EPSG_4240: { towgs84: "204.64,834.74,293.8" }, EPSG_4817: { towgs84: "278.3,93,474.5,7.889,0.05,-6.61,6.21" }, ESRI_104131: { towgs84: "426.62,142.62,460.09,4.98,4.49,-12.42,-17.1" }, EPSG_4265: { towgs84: "-104.1,-49.1,-9.9,0.971,-2.917,0.714,-11.68" }, EPSG_4263: { towgs84: "-111.92,-87.85,114.5,1.875,0.202,0.219,0.032" }, EPSG_4298: { towgs84: "-689.5937,623.84046,-65.93566,-0.02331,1.17094,-0.80054,5.88536" }, EPSG_4270: { towgs84: "-253.4392,-148.452,386.5267,0.15605,0.43,-0.1013,-0.0424" }, EPSG_4229: { towgs84: "-121.8,98.1,-10.7" }, EPSG_4220: { towgs84: "-55.5,-348,-229.2" }, EPSG_4214: { towgs84: "12.646,-155.176,-80.863" }, EPSG_4232: { towgs84: "-345,3,223" }, EPSG_4238: { towgs84: "-1.977,-13.06,-9.993,0.364,0.254,0.689,-1.037" }, EPSG_4168: { towgs84: "-170,33,326" }, EPSG_4131: { towgs84: "199,931,318.9" }, EPSG_4152: { towgs84: "-0.9102,2.0141,0.5602,0.029039,0.010065,0.010101,0" }, EPSG_5228: { towgs84: "572.213,85.334,461.94,4.9732,1.529,5.2484,3.5378" }, EPSG_8351: { towgs84: "485.021,169.465,483.839,7.786342,4.397554,4.102655,0" }, EPSG_4683: { towgs84: "-127.62,-67.24,-47.04,-3.068,4.903,1.578,-1.06" }, EPSG_4133: { towgs84: "0,0,0" }, EPSG_7373: { towgs84: "0.819,-0.5762,-1.6446,-0.00378,-0.03317,0.00318,0.0693" }, EPSG_9075: { towgs84: "-0.9102,2.0141,0.5602,0.029039,0.010065,0.010101,0" }, EPSG_9072: { towgs84: "-0.9102,2.0141,0.5602,0.029039,0.010065,0.010101,0" }, EPSG_9294: { towgs84: "1.16835,-1.42001,-2.24431,-0.00822,-0.05508,0.01818,0.23388" }, EPSG_4212: { towgs84: "-267.434,173.496,181.814,-13.4704,8.7154,7.3926,14.7492" }, EPSG_4191: { towgs84: "-44.183,-0.58,-38.489,2.3867,2.7072,-3.5196,-8.2703" }, EPSG_4237: { towgs84: "52.684,-71.194,-13.975,-0.312,-0.1063,-0.3729,1.0191" }, EPSG_4740: { towgs84: "-1.08,-0.27,-0.9" }, EPSG_4124: { towgs84: "419.3836,99.3335,591.3451,0.850389,1.817277,-7.862238,-0.99496" }, EPSG_5681: { towgs84: "584.9636,107.7175,413.8067,1.1155,0.2824,-3.1384,7.9922" }, EPSG_4141: { towgs84: "23.772,17.49,17.859,-0.3132,-1.85274,1.67299,-5.4262" }, EPSG_4204: { towgs84: "-85.645,-273.077,-79.708,2.289,-1.421,2.532,3.194" }, EPSG_4319: { towgs84: "226.702,-193.337,-35.371,-2.229,-4.391,9.238,0.9798" }, EPSG_4200: { towgs84: "24.82,-131.21,-82.66" }, EPSG_4130: { towgs84: "0,0,0" }, EPSG_4127: { towgs84: "-82.875,-57.097,-156.768,-2.158,1.524,-0.982,-0.359" }, EPSG_4149: { towgs84: "674.374,15.056,405.346" }, EPSG_4617: { towgs84: "-0.991,1.9072,0.5129,1.25033e-7,4.6785e-8,5.6529e-8,0" }, EPSG_4663: { towgs84: "-210.502,-66.902,-48.476,2.094,-15.067,-5.817,0.485" }, EPSG_4664: { towgs84: "-211.939,137.626,58.3,-0.089,0.251,0.079,0.384" }, EPSG_4665: { towgs84: "-105.854,165.589,-38.312,-0.003,-0.026,0.024,-0.048" }, EPSG_4666: { towgs84: "631.392,-66.551,481.442,1.09,-4.445,-4.487,-4.43" }, EPSG_4756: { towgs84: "-192.873,-39.382,-111.202,-0.00205,-0.0005,0.00335,0.0188" }, EPSG_4723: { towgs84: "-179.483,-69.379,-27.584,-7.862,8.163,6.042,-13.925" }, EPSG_4726: { towgs84: "8.853,-52.644,180.304,-0.393,-2.323,2.96,-24.081" }, EPSG_4267: { towgs84: "-8.0,160.0,176.0" }, EPSG_5365: { towgs84: "-0.16959,0.35312,0.51846,0.03385,-0.16325,0.03446,0.03693" }, EPSG_4218: { towgs84: "304.5,306.5,-318.1" }, EPSG_4242: { towgs84: "-33.722,153.789,94.959,-8.581,-4.478,4.54,8.95" }, EPSG_4216: { towgs84: "-292.295,248.758,429.447,4.9971,2.99,6.6906,1.0289" }, ESRI_104105: { towgs84: "631.392,-66.551,481.442,1.09,-4.445,-4.487,-4.43" }, ESRI_104129: { towgs84: "0,0,0" }, EPSG_4673: { towgs84: "174.05,-25.49,112.57" }, EPSG_4202: { towgs84: "-124,-60,154" }, EPSG_4203: { towgs84: "-117.763,-51.51,139.061,0.292,0.443,0.277,-0.191" }, EPSG_3819: { towgs84: "595.48,121.69,515.35,4.115,-2.9383,0.853,-3.408" }, EPSG_8694: { towgs84: "-93.799,-132.737,-219.073,-1.844,0.648,-6.37,-0.169" }, EPSG_4145: { towgs84: "275.57,676.78,229.6" }, EPSG_4283: { towgs84: "61.55,-10.87,-40.19,39.4924,32.7221,32.8979,-9.994" }, EPSG_4317: { towgs84: "2.3287,-147.0425,-92.0802,-0.3092483,0.32482185,0.49729934,5.68906266" }, EPSG_4272: { towgs84: "59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5993" }, EPSG_4248: { towgs84: "-307.7,265.3,-363.5" }, EPSG_5561: { towgs84: "24,-121,-76" }, EPSG_5233: { towgs84: "-0.293,766.95,87.713,0.195704,1.695068,3.473016,-0.039338" }, ESRI_104130: { towgs84: "-86,-98,-119" }, ESRI_104102: { towgs84: "682,-203,480" }, ESRI_37207: { towgs84: "7,-10,-26" }, EPSG_4675: { towgs84: "59.935,118.4,-10.871" }, ESRI_104109: { towgs84: "-89.121,-348.182,260.871" }, ESRI_104112: { towgs84: "-185.583,-230.096,281.361" }, ESRI_104113: { towgs84: "25.1,-275.6,222.6" }, IGNF_WGS72G: { towgs84: "0,12,6" }, IGNF_NTFG: { towgs84: "-168,-60,320" }, IGNF_EFATE57G: { towgs84: "-127,-769,472" }, IGNF_PGP50G: { towgs84: "324.8,153.6,172.1" }, IGNF_REUN47G: { towgs84: "94,-948,-1262" }, IGNF_CSG67G: { towgs84: "-186,230,110" }, IGNF_GUAD48G: { towgs84: "-467,-16,-300" }, IGNF_TAHI51G: { towgs84: "162,117,154" }, IGNF_TAHAAG: { towgs84: "65,342,77" }, IGNF_NUKU72G: { towgs84: "84,274,65" }, IGNF_PETRELS72G: { towgs84: "365,194,166" }, IGNF_WALL78G: { towgs84: "253,-133,-127" }, IGNF_MAYO50G: { towgs84: "-382,-59,-262" }, IGNF_TANNAG: { towgs84: "-139,-967,436" }, IGNF_IGN72G: { towgs84: "-13,-348,292" }, IGNF_ATIGG: { towgs84: "1118,23,66" }, IGNF_FANGA84G: { towgs84: "150.57,158.33,118.32" }, IGNF_RUSAT84G: { towgs84: "202.13,174.6,-15.74" }, IGNF_KAUE70G: { towgs84: "126.74,300.1,-75.49" }, IGNF_MOP90G: { towgs84: "-10.8,-1.8,12.77" }, IGNF_MHPF67G: { towgs84: "338.08,212.58,-296.17" }, IGNF_TAHI79G: { towgs84: "160.61,116.05,153.69" }, IGNF_ANAA92G: { towgs84: "1.5,3.84,4.81" }, IGNF_MARQUI72G: { towgs84: "330.91,-13.92,58.56" }, IGNF_APAT86G: { towgs84: "143.6,197.82,74.05" }, IGNF_TUBU69G: { towgs84: "237.17,171.61,-77.84" }, IGNF_STPM50G: { towgs84: "11.363,424.148,373.13" }, EPSG_4150: { towgs84: "674.374,15.056,405.346" }, EPSG_4754: { towgs84: "-208.4058,-109.8777,-2.5764" }, ESRI_104101: { towgs84: "374,150,588" }, EPSG_4693: { towgs84: "0,-0.15,0.68" }, EPSG_6207: { towgs84: "293.17,726.18,245.36" }, EPSG_4153: { towgs84: "-133.63,-157.5,-158.62" }, EPSG_4132: { towgs84: "-241.54,-163.64,396.06" }, EPSG_4221: { towgs84: "-154.5,150.7,100.4" }, EPSG_4266: { towgs84: "-80.7,-132.5,41.1" }, EPSG_4193: { towgs84: "-70.9,-151.8,-41.4" }, EPSG_5340: { towgs84: "-0.41,0.46,-0.35" }, EPSG_4246: { towgs84: "-294.7,-200.1,525.5" }, EPSG_4318: { towgs84: "-3.2,-5.7,2.8" }, EPSG_4121: { towgs84: "-199.87,74.79,246.62" }, EPSG_4223: { towgs84: "-260.1,5.5,432.2" }, EPSG_4158: { towgs84: "-0.465,372.095,171.736" }, EPSG_4285: { towgs84: "-128.16,-282.42,21.93" }, EPSG_4613: { towgs84: "-404.78,685.68,45.47" }, EPSG_4607: { towgs84: "195.671,332.517,274.607" }, EPSG_4475: { towgs84: "-381.788,-57.501,-256.673" }, EPSG_4208: { towgs84: "-157.84,308.54,-146.6" }, EPSG_4743: { towgs84: "70.995,-335.916,262.898" }, EPSG_4710: { towgs84: "-323.65,551.39,-491.22" }, EPSG_7881: { towgs84: "-0.077,0.079,0.086" }, EPSG_4682: { towgs84: "283.729,735.942,261.143" }, EPSG_4739: { towgs84: "-156,-271,-189" }, EPSG_4679: { towgs84: "-80.01,253.26,291.19" }, EPSG_4750: { towgs84: "-56.263,16.136,-22.856" }, EPSG_4644: { towgs84: "-10.18,-350.43,291.37" }, EPSG_4695: { towgs84: "-103.746,-9.614,-255.95" }, EPSG_4292: { towgs84: "-355,21,72" }, EPSG_4302: { towgs84: "-61.702,284.488,472.052" }, EPSG_4143: { towgs84: "-124.76,53,466.79" }, EPSG_4606: { towgs84: "-153,153,307" }, EPSG_4699: { towgs84: "-770.1,158.4,-498.2" }, EPSG_4247: { towgs84: "-273.5,110.6,-357.9" }, EPSG_4160: { towgs84: "8.88,184.86,106.69" }, EPSG_4161: { towgs84: "-233.43,6.65,173.64" }, EPSG_9251: { towgs84: "-9.5,122.9,138.2" }, EPSG_9253: { towgs84: "-78.1,101.6,133.3" }, EPSG_4297: { towgs84: "-198.383,-240.517,-107.909" }, EPSG_4269: { towgs84: "0,0,0" }, EPSG_4301: { towgs84: "-147,506,687" }, EPSG_4618: { towgs84: "-59,-11,-52" }, EPSG_4612: { towgs84: "0,0,0" }, EPSG_4678: { towgs84: "44.585,-131.212,-39.544" }, EPSG_4250: { towgs84: "-130,29,364" }, EPSG_4144: { towgs84: "214,804,268" }, EPSG_4147: { towgs84: "-17.51,-108.32,-62.39" }, EPSG_4259: { towgs84: "-254.1,-5.36,-100.29" }, EPSG_4164: { towgs84: "-76,-138,67" }, EPSG_4211: { towgs84: "-378.873,676.002,-46.255" }, EPSG_4182: { towgs84: "-422.651,-172.995,84.02" }, EPSG_4224: { towgs84: "-143.87,243.37,-33.52" }, EPSG_4225: { towgs84: "-205.57,168.77,-4.12" }, EPSG_5527: { towgs84: "-67.35,3.88,-38.22" }, EPSG_4752: { towgs84: "98,390,-22" }, EPSG_4310: { towgs84: "-30,190,89" }, EPSG_9248: { towgs84: "-192.26,65.72,132.08" }, EPSG_4680: { towgs84: "124.5,-63.5,-281" }, EPSG_4701: { towgs84: "-79.9,-158,-168.9" }, EPSG_4706: { towgs84: "-146.21,112.63,4.05" }, EPSG_4805: { towgs84: "682,-203,480" }, EPSG_4201: { towgs84: "-165,-11,206" }, EPSG_4210: { towgs84: "-157,-2,-299" }, EPSG_4183: { towgs84: "-104,167,-38" }, EPSG_4139: { towgs84: "11,72,-101" }, EPSG_4668: { towgs84: "-86,-98,-119" }, EPSG_4717: { towgs84: "-2,151,181" }, EPSG_4732: { towgs84: "102,52,-38" }, EPSG_4280: { towgs84: "-377,681,-50" }, EPSG_4209: { towgs84: "-138,-105,-289" }, EPSG_4261: { towgs84: "31,146,47" }, EPSG_4658: { towgs84: "-73,46,-86" }, EPSG_4721: { towgs84: "265.025,384.929,-194.046" }, EPSG_4222: { towgs84: "-136,-108,-292" }, EPSG_4601: { towgs84: "-255,-15,71" }, EPSG_4602: { towgs84: "725,685,536" }, EPSG_4603: { towgs84: "72,213.7,93" }, EPSG_4605: { towgs84: "9,183,236" }, EPSG_4621: { towgs84: "137,248,-430" }, EPSG_4657: { towgs84: "-28,199,5" }, EPSG_4316: { towgs84: "103.25,-100.4,-307.19" }, EPSG_4642: { towgs84: "-13,-348,292" }, EPSG_4698: { towgs84: "145,-187,103" }, EPSG_4192: { towgs84: "-206.1,-174.7,-87.7" }, EPSG_4311: { towgs84: "-265,120,-358" }, EPSG_4135: { towgs84: "58,-283,-182" }, ESRI_104138: { towgs84: "198,-226,-347" }, EPSG_4245: { towgs84: "-11,851,5" }, EPSG_4142: { towgs84: "-125,53,467" }, EPSG_4213: { towgs84: "-106,-87,188" }, EPSG_4253: { towgs84: "-133,-77,-51" }, EPSG_4129: { towgs84: "-132,-110,-335" }, EPSG_4713: { towgs84: "-77,-128,142" }, EPSG_4239: { towgs84: "217,823,299" }, EPSG_4146: { towgs84: "295,736,257" }, EPSG_4155: { towgs84: "-83,37,124" }, EPSG_4165: { towgs84: "-173,253,27" }, EPSG_4672: { towgs84: "175,-38,113" }, EPSG_4236: { towgs84: "-637,-549,-203" }, EPSG_4251: { towgs84: "-90,40,88" }, EPSG_4271: { towgs84: "-2,374,172" }, EPSG_4175: { towgs84: "-88,4,101" }, EPSG_4716: { towgs84: "298,-304,-375" }, EPSG_4315: { towgs84: "-23,259,-9" }, EPSG_4744: { towgs84: "-242.2,-144.9,370.3" }, EPSG_4244: { towgs84: "-97,787,86" }, EPSG_4293: { towgs84: "616,97,-251" }, EPSG_4714: { towgs84: "-127,-769,472" }, EPSG_4736: { towgs84: "260,12,-147" }, EPSG_6883: { towgs84: "-235,-110,393" }, EPSG_6894: { towgs84: "-63,176,185" }, EPSG_4205: { towgs84: "-43,-163,45" }, EPSG_4256: { towgs84: "41,-220,-134" }, EPSG_4262: { towgs84: "639,405,60" }, EPSG_4604: { towgs84: "174,359,365" }, EPSG_4169: { towgs84: "-115,118,426" }, EPSG_4620: { towgs84: "-106,-129,165" }, EPSG_4184: { towgs84: "-203,141,53" }, EPSG_4616: { towgs84: "-289,-124,60" }, EPSG_9403: { towgs84: "-307,-92,127" }, EPSG_4684: { towgs84: "-133,-321,50" }, EPSG_4708: { towgs84: "-491,-22,435" }, EPSG_4707: { towgs84: "114,-116,-333" }, EPSG_4709: { towgs84: "145,75,-272" }, EPSG_4712: { towgs84: "-205,107,53" }, EPSG_4711: { towgs84: "124,-234,-25" }, EPSG_4718: { towgs84: "230,-199,-752" }, EPSG_4719: { towgs84: "211,147,111" }, EPSG_4724: { towgs84: "208,-435,-229" }, EPSG_4725: { towgs84: "189,-79,-202" }, EPSG_4735: { towgs84: "647,1777,-1124" }, EPSG_4722: { towgs84: "-794,119,-298" }, EPSG_4728: { towgs84: "-307,-92,127" }, EPSG_4734: { towgs84: "-632,438,-609" }, EPSG_4727: { towgs84: "912,-58,1227" }, EPSG_4729: { towgs84: "185,165,42" }, EPSG_4730: { towgs84: "170,42,84" }, EPSG_4733: { towgs84: "276,-57,149" }, ESRI_37218: { towgs84: "230,-199,-752" }, ESRI_37240: { towgs84: "-7,215,225" }, ESRI_37221: { towgs84: "252,-209,-751" }, ESRI_4305: { towgs84: "-123,-206,219" }, ESRI_104139: { towgs84: "-73,-247,227" }, EPSG_4748: { towgs84: "51,391,-36" }, EPSG_4219: { towgs84: "-384,664,-48" }, EPSG_4255: { towgs84: "-333,-222,114" }, EPSG_4257: { towgs84: "-587.8,519.75,145.76" }, EPSG_4646: { towgs84: "-963,510,-359" }, EPSG_6881: { towgs84: "-24,-203,268" }, EPSG_6882: { towgs84: "-183,-15,273" }, EPSG_4715: { towgs84: "-104,-129,239" }, IGNF_RGF93GDD: { towgs84: "0,0,0" }, IGNF_RGM04GDD: { towgs84: "0,0,0" }, IGNF_RGSPM06GDD: { towgs84: "0,0,0" }, IGNF_RGTAAF07GDD: { towgs84: "0,0,0" }, IGNF_RGFG95GDD: { towgs84: "0,0,0" }, IGNF_RGNCG: { towgs84: "0,0,0" }, IGNF_RGPFGDD: { towgs84: "0,0,0" }, IGNF_ETRS89G: { towgs84: "0,0,0" }, IGNF_RGR92GDD: { towgs84: "0,0,0" }, EPSG_4173: { towgs84: "0,0,0" }, EPSG_4180: { towgs84: "0,0,0" }, EPSG_4619: { towgs84: "0,0,0" }, EPSG_4667: { towgs84: "0,0,0" }, EPSG_4075: { towgs84: "0,0,0" }, EPSG_6706: { towgs84: "0,0,0" }, EPSG_7798: { towgs84: "0,0,0" }, EPSG_4661: { towgs84: "0,0,0" }, EPSG_4669: { towgs84: "0,0,0" }, EPSG_8685: { towgs84: "0,0,0" }, EPSG_4151: { towgs84: "0,0,0" }, EPSG_9702: { towgs84: "0,0,0" }, EPSG_4758: { towgs84: "0,0,0" }, EPSG_4761: { towgs84: "0,0,0" }, EPSG_4765: { towgs84: "0,0,0" }, EPSG_8997: { towgs84: "0,0,0" }, EPSG_4023: { towgs84: "0,0,0" }, EPSG_4670: { towgs84: "0,0,0" }, EPSG_4694: { towgs84: "0,0,0" }, EPSG_4148: { towgs84: "0,0,0" }, EPSG_4163: { towgs84: "0,0,0" }, EPSG_4167: { towgs84: "0,0,0" }, EPSG_4189: { towgs84: "0,0,0" }, EPSG_4190: { towgs84: "0,0,0" }, EPSG_4176: { towgs84: "0,0,0" }, EPSG_4659: { towgs84: "0,0,0" }, EPSG_3824: { towgs84: "0,0,0" }, EPSG_3889: { towgs84: "0,0,0" }, EPSG_4046: { towgs84: "0,0,0" }, EPSG_4081: { towgs84: "0,0,0" }, EPSG_4558: { towgs84: "0,0,0" }, EPSG_4483: { towgs84: "0,0,0" }, EPSG_5013: { towgs84: "0,0,0" }, EPSG_5264: { towgs84: "0,0,0" }, EPSG_5324: { towgs84: "0,0,0" }, EPSG_5354: { towgs84: "0,0,0" }, EPSG_5371: { towgs84: "0,0,0" }, EPSG_5373: { towgs84: "0,0,0" }, EPSG_5381: { towgs84: "0,0,0" }, EPSG_5393: { towgs84: "0,0,0" }, EPSG_5489: { towgs84: "0,0,0" }, EPSG_5593: { towgs84: "0,0,0" }, EPSG_6135: { towgs84: "0,0,0" }, EPSG_6365: { towgs84: "0,0,0" }, EPSG_5246: { towgs84: "0,0,0" }, EPSG_7886: { towgs84: "0,0,0" }, EPSG_8431: { towgs84: "0,0,0" }, EPSG_8427: { towgs84: "0,0,0" }, EPSG_8699: { towgs84: "0,0,0" }, EPSG_8818: { towgs84: "0,0,0" }, EPSG_4757: { towgs84: "0,0,0" }, EPSG_9140: { towgs84: "0,0,0" }, EPSG_8086: { towgs84: "0,0,0" }, EPSG_4686: { towgs84: "0,0,0" }, EPSG_4737: { towgs84: "0,0,0" }, EPSG_4702: { towgs84: "0,0,0" }, EPSG_4747: { towgs84: "0,0,0" }, EPSG_4749: { towgs84: "0,0,0" }, EPSG_4674: { towgs84: "0,0,0" }, EPSG_4755: { towgs84: "0,0,0" }, EPSG_4759: { towgs84: "0,0,0" }, EPSG_4762: { towgs84: "0,0,0" }, EPSG_4763: { towgs84: "0,0,0" }, EPSG_4764: { towgs84: "0,0,0" }, EPSG_4166: { towgs84: "0,0,0" }, EPSG_4170: { towgs84: "0,0,0" }, EPSG_5546: { towgs84: "0,0,0" }, EPSG_7844: { towgs84: "0,0,0" }, EPSG_4818: { towgs84: "589,76,480" } };
8907
+ for (var Vt in $t) {
8908
+ var qt = $t[Vt];
8909
+ qt.datumName && ($t[qt.datumName] = qt);
8849
8910
  }
8850
- function qt(t4, a2, o2, h2, c2, u2, d2) {
8911
+ function Lt(t4, a2, o2, h2, c2, u2, d2) {
8851
8912
  var p2 = {};
8852
8913
  return p2.datum_type = void 0 === t4 || "none" === t4 ? n : r, a2 && (p2.datum_params = a2.map(parseFloat), 0 === p2.datum_params[0] && 0 === p2.datum_params[1] && 0 === p2.datum_params[2] || (p2.datum_type = e), p2.datum_params.length > 3 && (0 === p2.datum_params[3] && 0 === p2.datum_params[4] && 0 === p2.datum_params[5] && 0 === p2.datum_params[6] || (p2.datum_type = i, p2.datum_params[3] *= l, p2.datum_params[4] *= l, p2.datum_params[5] *= l, p2.datum_params[6] = p2.datum_params[6] / 1e6 + 1))), d2 && (p2.datum_type = s, p2.grids = d2), p2.a = o2, p2.b = h2, p2.es = c2, p2.ep2 = u2, p2;
8853
8914
  }
@@ -8901,19 +8962,19 @@ proj4Src.exports = function() {
8901
8962
  }
8902
8963
  function Yt(t4, e2, i2, s2) {
8903
8964
  for (var r2 = 176, n2 = [], a2 = 0; a2 < e2.nSubgrids; a2++) {
8904
- var o2 = Jt(t4, r2, i2), h2 = te(t4, r2, o2, i2, s2), l2 = Math.round(1 + (o2.upperLongitude - o2.lowerLongitude) / o2.longitudeInterval), c2 = Math.round(1 + (o2.upperLatitude - o2.lowerLatitude) / o2.latitudeInterval);
8905
- n2.push({ ll: [Ht(o2.lowerLongitude), Ht(o2.lowerLatitude)], del: [Ht(o2.longitudeInterval), Ht(o2.latitudeInterval)], lim: [l2, c2], count: o2.gridNodeCount, cvs: Kt(h2) });
8965
+ var o2 = Kt(t4, r2, i2), h2 = te(t4, r2, o2, i2, s2), l2 = Math.round(1 + (o2.upperLongitude - o2.lowerLongitude) / o2.longitudeInterval), c2 = Math.round(1 + (o2.upperLatitude - o2.lowerLatitude) / o2.latitudeInterval);
8966
+ n2.push({ ll: [Ht(o2.lowerLongitude), Ht(o2.lowerLatitude)], del: [Ht(o2.longitudeInterval), Ht(o2.latitudeInterval)], lim: [l2, c2], count: o2.gridNodeCount, cvs: Jt(h2) });
8906
8967
  var u2 = 16;
8907
8968
  false === s2 && (u2 = 8), r2 += 176 + o2.gridNodeCount * u2;
8908
8969
  }
8909
8970
  return n2;
8910
8971
  }
8911
- function Kt(t4) {
8972
+ function Jt(t4) {
8912
8973
  return t4.map(function(t5) {
8913
8974
  return [Ht(t5.longitudeShift), Ht(t5.latitudeShift)];
8914
8975
  });
8915
8976
  }
8916
- function Jt(t4, e2, i2) {
8977
+ function Kt(t4, e2, i2) {
8917
8978
  return { name: Zt(t4, e2 + 8, e2 + 16).trim(), parent: Zt(t4, e2 + 24, e2 + 24 + 8).trim(), lowerLatitude: t4.getFloat64(e2 + 72, i2), upperLatitude: t4.getFloat64(e2 + 88, i2), lowerLongitude: t4.getFloat64(e2 + 104, i2), upperLongitude: t4.getFloat64(e2 + 120, i2), latitudeInterval: t4.getFloat64(e2 + 136, i2), longitudeInterval: t4.getFloat64(e2 + 152, i2), gridNodeCount: t4.getInt32(e2 + 168, i2) };
8918
8979
  }
8919
8980
  function te(t4, e2, i2, s2, r2) {
@@ -8937,11 +8998,11 @@ proj4Src.exports = function() {
8937
8998
  var s2 = ee.projections.get(i2.projName);
8938
8999
  if (s2) {
8939
9000
  if (i2.datumCode && "none" !== i2.datumCode) {
8940
- var r2 = v(Vt, i2.datumCode);
9001
+ var r2 = v($t, i2.datumCode);
8941
9002
  r2 && (i2.datum_params = i2.datum_params || (r2.towgs84 ? r2.towgs84.split(",") : null), i2.ellps = r2.ellipse, i2.datumName = r2.datumName ? r2.datumName : i2.datumCode);
8942
9003
  }
8943
9004
  i2.k0 = i2.k0 || 1, i2.axis = i2.axis || "enu", i2.ellps = i2.ellps || "wgs84", i2.lat1 = i2.lat1 || i2.lat0;
8944
- var n2 = Gt(i2.a, i2.b, i2.rf, i2.ellps, i2.sphere), a2 = Rt(n2.a, n2.b, n2.rf, i2.R_A), o2 = jt(i2.nadgrids), h2 = i2.datum || qt(i2.datumCode, i2.datum_params, n2.a, n2.b, a2.es, a2.ep2, o2);
9005
+ var n2 = Gt(i2.a, i2.b, i2.rf, i2.ellps, i2.sphere), a2 = Rt(n2.a, n2.b, n2.rf, i2.R_A), o2 = jt(i2.nadgrids), h2 = i2.datum || Lt(i2.datumCode, i2.datum_params, n2.a, n2.b, a2.es, a2.ep2, o2);
8945
9006
  pt(this, i2), pt(this, s2), this.a = n2.a, this.b = n2.b, this.rf = n2.rf, this.sphere = n2.sphere, this.es = a2.es, this.e = a2.e, this.ep2 = a2.ep2, this.datum = h2, this.init(), e2(null, this);
8946
9007
  } else
8947
9008
  e2("Could not get projection name from: " + t4);
@@ -9154,14 +9215,14 @@ proj4Src.exports = function() {
9154
9215
  }
9155
9216
  var be = 6, ve = "AJSAJS", Se = "AFAFAF", Ce = 65, Ee = 73, Pe = 79, Te = 86, Ae = 90, Ie = { forward: Oe, inverse: ze, toPoint: Ne };
9156
9217
  function Oe(t4, e2) {
9157
- return e2 = e2 || 5, qe(Ve({ lat: t4[1], lon: t4[0] }), e2);
9218
+ return e2 = e2 || 5, Le($e({ lat: t4[1], lon: t4[0] }), e2);
9158
9219
  }
9159
9220
  function ze(t4) {
9160
- var e2 = Le(De(t4.toUpperCase()));
9221
+ var e2 = Ve(De(t4.toUpperCase()));
9161
9222
  return e2.lat && e2.lon ? [e2.lon, e2.lat, e2.lon, e2.lat] : [e2.left, e2.bottom, e2.right, e2.top];
9162
9223
  }
9163
9224
  function Ne(t4) {
9164
- var e2 = Le(De(t4.toUpperCase()));
9225
+ var e2 = Ve(De(t4.toUpperCase()));
9165
9226
  return e2.lat && e2.lon ? [e2.lon, e2.lat] : [(e2.left + e2.right) / 2, (e2.top + e2.bottom) / 2];
9166
9227
  }
9167
9228
  function Re(t4) {
@@ -9170,13 +9231,13 @@ proj4Src.exports = function() {
9170
9231
  function Ge(t4) {
9171
9232
  return t4 / Math.PI * 180;
9172
9233
  }
9173
- function Ve(t4) {
9234
+ function $e(t4) {
9174
9235
  var e2, i2, s2, r2, n2, a2, o2, h2 = t4.lat, l2 = t4.lon, c2 = 6378137, u2 = 669438e-8, d2 = 0.9996, p2 = Re(h2), f2 = Re(l2);
9175
9236
  o2 = Math.floor((l2 + 180) / 6) + 1, 180 === l2 && (o2 = 60), h2 >= 56 && h2 < 64 && l2 >= 3 && l2 < 12 && (o2 = 32), h2 >= 72 && h2 < 84 && (l2 >= 0 && l2 < 9 ? o2 = 31 : l2 >= 9 && l2 < 21 ? o2 = 33 : l2 >= 21 && l2 < 33 ? o2 = 35 : l2 >= 33 && l2 < 42 && (o2 = 37)), a2 = Re(6 * (o2 - 1) - 180 + 3), e2 = u2 / (1 - u2), i2 = c2 / Math.sqrt(1 - u2 * Math.sin(p2) * Math.sin(p2)), s2 = Math.tan(p2) * Math.tan(p2), r2 = e2 * Math.cos(p2) * Math.cos(p2);
9176
9237
  var _2 = d2 * i2 * ((n2 = Math.cos(p2) * (f2 - a2)) + (1 - s2 + r2) * n2 * n2 * n2 / 6 + (5 - 18 * s2 + s2 * s2 + 72 * r2 - 58 * e2) * n2 * n2 * n2 * n2 * n2 / 120) + 5e5, y2 = d2 * (c2 * ((1 - u2 / 4 - 3 * u2 * u2 / 64 - 5 * u2 * u2 * u2 / 256) * p2 - (3 * u2 / 8 + 3 * u2 * u2 / 32 + 45 * u2 * u2 * u2 / 1024) * Math.sin(2 * p2) + (15 * u2 * u2 / 256 + 45 * u2 * u2 * u2 / 1024) * Math.sin(4 * p2) - 35 * u2 * u2 * u2 / 3072 * Math.sin(6 * p2)) + i2 * Math.tan(p2) * (n2 * n2 / 2 + (5 - s2 + 9 * r2 + 4 * r2 * r2) * n2 * n2 * n2 * n2 / 24 + (61 - 58 * s2 + s2 * s2 + 600 * r2 - 330 * e2) * n2 * n2 * n2 * n2 * n2 * n2 / 720));
9177
- return h2 < 0 && (y2 += 1e7), { northing: Math.round(y2), easting: Math.round(_2), zoneNumber: o2, zoneLetter: $e(h2) };
9238
+ return h2 < 0 && (y2 += 1e7), { northing: Math.round(y2), easting: Math.round(_2), zoneNumber: o2, zoneLetter: qe(h2) };
9178
9239
  }
9179
- function Le(t4) {
9240
+ function Ve(t4) {
9180
9241
  var e2 = t4.northing, i2 = t4.easting, s2 = t4.zoneLetter, r2 = t4.zoneNumber;
9181
9242
  if (r2 < 0 || r2 > 60)
9182
9243
  return null;
@@ -9186,17 +9247,17 @@ proj4Src.exports = function() {
9186
9247
  M2 = Ge(M2);
9187
9248
  var w2, b2 = (c2 - (1 + 2 * o2 + h2) * c2 * c2 * c2 / 6 + (5 - 2 * h2 + 28 * o2 - 3 * h2 * h2 + 8 * n2 + 24 * o2 * o2) * c2 * c2 * c2 * c2 * c2 / 120) / Math.cos(p2);
9188
9249
  if (b2 = u2 + Ge(b2), t4.accuracy) {
9189
- var v2 = Le({ northing: t4.northing + t4.accuracy, easting: t4.easting + t4.accuracy, zoneLetter: t4.zoneLetter, zoneNumber: t4.zoneNumber });
9250
+ var v2 = Ve({ northing: t4.northing + t4.accuracy, easting: t4.easting + t4.accuracy, zoneLetter: t4.zoneLetter, zoneNumber: t4.zoneNumber });
9190
9251
  w2 = { top: v2.lat, right: v2.lon, bottom: M2, left: b2 };
9191
9252
  } else
9192
9253
  w2 = { lat: M2, lon: b2 };
9193
9254
  return w2;
9194
9255
  }
9195
- function $e(t4) {
9256
+ function qe(t4) {
9196
9257
  var e2 = "Z";
9197
9258
  return 84 >= t4 && t4 >= 72 ? e2 = "X" : 72 > t4 && t4 >= 64 ? e2 = "W" : 64 > t4 && t4 >= 56 ? e2 = "V" : 56 > t4 && t4 >= 48 ? e2 = "U" : 48 > t4 && t4 >= 40 ? e2 = "T" : 40 > t4 && t4 >= 32 ? e2 = "S" : 32 > t4 && t4 >= 24 ? e2 = "R" : 24 > t4 && t4 >= 16 ? e2 = "Q" : 16 > t4 && t4 >= 8 ? e2 = "P" : 8 > t4 && t4 >= 0 ? e2 = "N" : 0 > t4 && t4 >= -8 ? e2 = "M" : -8 > t4 && t4 >= -16 ? e2 = "L" : -16 > t4 && t4 >= -24 ? e2 = "K" : -24 > t4 && t4 >= -32 ? e2 = "J" : -32 > t4 && t4 >= -40 ? e2 = "H" : -40 > t4 && t4 >= -48 ? e2 = "G" : -48 > t4 && t4 >= -56 ? e2 = "F" : -56 > t4 && t4 >= -64 ? e2 = "E" : -64 > t4 && t4 >= -72 ? e2 = "D" : -72 > t4 && t4 >= -80 && (e2 = "C"), e2;
9198
9259
  }
9199
- function qe(t4, e2) {
9260
+ function Le(t4, e2) {
9200
9261
  var i2 = "00000" + t4.easting, s2 = "00000" + t4.northing;
9201
9262
  return t4.zoneNumber + t4.zoneLetter + ke(t4.easting, t4.northing, t4.zoneNumber) + i2.substr(i2.length - 5, e2) + s2.substr(s2.length - 5, e2);
9202
9263
  }
@@ -9348,10 +9409,10 @@ proj4Src.exports = function() {
9348
9409
  }, He.prototype.toMGRS = function(t4) {
9349
9410
  return Oe([this.x, this.y], t4);
9350
9411
  };
9351
- var Xe = 1, Qe = 0.25, Ze = 0.046875, Ye = 0.01953125, Ke = 0.01068115234375, Je = 0.75, ti = 0.46875, ei = 0.013020833333333334, ii = 0.007120768229166667, si = 0.3645833333333333, ri = 0.005696614583333333, ni = 0.3076171875;
9412
+ var Xe = 1, Qe = 0.25, Ze = 0.046875, Ye = 0.01953125, Je = 0.01068115234375, Ke = 0.75, ti = 0.46875, ei = 0.013020833333333334, ii = 0.007120768229166667, si = 0.3645833333333333, ri = 0.005696614583333333, ni = 0.3076171875;
9352
9413
  function ai(t4) {
9353
9414
  var e2 = [];
9354
- e2[0] = Xe - t4 * (Qe + t4 * (Ze + t4 * (Ye + t4 * Ke))), e2[1] = t4 * (Je - t4 * (Ze + t4 * (Ye + t4 * Ke)));
9415
+ e2[0] = Xe - t4 * (Qe + t4 * (Ze + t4 * (Ye + t4 * Je))), e2[1] = t4 * (Ke - t4 * (Ze + t4 * (Ye + t4 * Je)));
9355
9416
  var i2 = t4 * t4;
9356
9417
  return e2[2] = i2 * (ti - t4 * (ei + t4 * ii)), i2 *= t4, e2[3] = i2 * (si - t4 * ri), e2[4] = i2 * t4 * ni, e2;
9357
9418
  }
@@ -9510,11 +9571,11 @@ proj4Src.exports = function() {
9510
9571
  function Gi() {
9511
9572
  Ri.init.apply(this), this.rc && (this.sinc0 = Math.sin(this.phic0), this.cosc0 = Math.cos(this.phic0), this.R2 = 2 * this.rc, this.title || (this.title = "Oblique Stereographic Alternative"));
9512
9573
  }
9513
- function Vi(t4) {
9574
+ function $i(t4) {
9514
9575
  var e2, i2, s2, r2;
9515
9576
  return t4.x = yt(t4.x - this.long0), Ri.forward.apply(this, [t4]), e2 = Math.sin(t4.y), i2 = Math.cos(t4.y), s2 = Math.cos(t4.x), r2 = this.k0 * this.R2 / (1 + this.sinc0 * e2 + this.cosc0 * i2 * s2), t4.x = r2 * i2 * Math.sin(t4.x), t4.y = r2 * (this.cosc0 * e2 - this.sinc0 * i2 * s2), t4.x = this.a * t4.x + this.x0, t4.y = this.a * t4.y + this.y0, t4;
9516
9577
  }
9517
- function Li(t4) {
9578
+ function Vi(t4) {
9518
9579
  var e2, i2, s2, r2, n2;
9519
9580
  if (t4.x = (t4.x - this.x0) / this.a, t4.y = (t4.y - this.y0) / this.a, t4.x /= this.k0, t4.y /= this.k0, n2 = _i(t4.x, t4.y)) {
9520
9581
  var a2 = 2 * Math.atan2(n2, this.R2);
@@ -9523,8 +9584,8 @@ proj4Src.exports = function() {
9523
9584
  r2 = this.phic0, s2 = 0;
9524
9585
  return t4.x = s2, t4.y = r2, Ri.inverse.apply(this, [t4]), t4.x = yt(t4.x + this.long0), t4;
9525
9586
  }
9526
- var $i = { init: Gi, forward: Vi, inverse: Li, names: ["Stereographic_North_Pole", "Oblique_Stereographic", "sterea", "Oblique Stereographic Alternative", "Double_Stereographic"] };
9527
- function qi(t4, e2, i2) {
9587
+ var qi = { init: Gi, forward: $i, inverse: Vi, names: ["Stereographic_North_Pole", "Oblique_Stereographic", "sterea", "Oblique Stereographic Alternative", "Double_Stereographic"] };
9588
+ function Li(t4, e2, i2) {
9528
9589
  return e2 *= i2, Math.tan(0.5 * (c + t4)) * Math.pow((1 - e2) / (1 + e2), 0.5 * i2);
9529
9590
  }
9530
9591
  function ki() {
@@ -9550,7 +9611,7 @@ proj4Src.exports = function() {
9550
9611
  r2 = 2 * Math.atan(a2 * this.cosX0 / (2 * this.a * this.k0 * this.ms1)), e2 = this.long0, a2 <= f ? n2 = this.X0 : (n2 = Math.asin(Math.cos(r2) * this.sinX0 + t4.y * Math.sin(r2) * this.cosX0 / a2), e2 = yt(this.long0 + Math.atan2(t4.x * Math.sin(r2), a2 * this.cosX0 * Math.cos(r2) - t4.y * this.sinX0 * Math.sin(r2)))), i2 = -1 * gt2(this.e, Math.tan(0.5 * (c + n2)));
9551
9612
  return t4.x = e2, t4.y = i2, t4;
9552
9613
  }
9553
- var Di = { init: ki, forward: Bi, inverse: Fi, names: ["stere", "Stereographic_South_Pole", "Polar_Stereographic_variant_A", "Polar_Stereographic_variant_B", "Polar_Stereographic"], ssfn_: qi };
9614
+ var Di = { init: ki, forward: Bi, inverse: Fi, names: ["stere", "Stereographic_South_Pole", "Polar_Stereographic_variant_A", "Polar_Stereographic_variant_B", "Polar_Stereographic"], ssfn_: Li };
9554
9615
  function ji() {
9555
9616
  var t4 = this.lat0;
9556
9617
  this.lambda0 = this.long0;
@@ -9599,7 +9660,7 @@ proj4Src.exports = function() {
9599
9660
  h2 = t4.y > 0 ? this.v_pole_n : this.v_pole_s, o2 = this.ArB * t4.y;
9600
9661
  return this.no_rot ? (l2.x = o2, l2.y = h2) : (o2 -= this.u_0, l2.x = h2 * this.cosrot + o2 * this.sinrot, l2.y = o2 * this.cosrot - h2 * this.sinrot), l2.x = this.a * l2.x + this.x0, l2.y = this.a * l2.y + this.y0, l2;
9601
9662
  }
9602
- function Ki(t4) {
9663
+ function Ji(t4) {
9603
9664
  var e2, i2, s2, r2, n2, a2, o2, h2 = {};
9604
9665
  if (t4.x = (t4.x - this.x0) * (1 / this.a), t4.y = (t4.y - this.y0) * (1 / this.a), this.no_rot ? (i2 = t4.y, e2 = t4.x) : (i2 = t4.x * this.cosrot - t4.y * this.sinrot, e2 = t4.y * this.cosrot + t4.x * this.sinrot + this.u_0), r2 = 0.5 * ((s2 = Math.exp(-this.BrA * i2)) - 1 / s2), n2 = 0.5 * (s2 + 1 / s2), o2 = ((a2 = Math.sin(this.BrA * e2)) * this.cosgam + r2 * this.singam) / n2, Math.abs(Math.abs(o2) - 1) < f)
9605
9666
  h2.x = 0, h2.y = o2 < 0 ? -c : c;
@@ -9610,7 +9671,7 @@ proj4Src.exports = function() {
9610
9671
  }
9611
9672
  return h2.x += this.lam0, h2;
9612
9673
  }
9613
- var Ji = { init: Zi, forward: Yi, inverse: Ki, names: ["Hotine_Oblique_Mercator", "Hotine Oblique Mercator", "Hotine_Oblique_Mercator_variant_A", "Hotine_Oblique_Mercator_Variant_B", "Hotine_Oblique_Mercator_Azimuth_Natural_Origin", "Hotine_Oblique_Mercator_Two_Point_Natural_Origin", "Hotine_Oblique_Mercator_Azimuth_Center", "Oblique_Mercator", "omerc"] };
9674
+ var Ki = { init: Zi, forward: Yi, inverse: Ji, names: ["Hotine_Oblique_Mercator", "Hotine Oblique Mercator", "Hotine_Oblique_Mercator_variant_A", "Hotine_Oblique_Mercator_Variant_B", "Hotine_Oblique_Mercator_Azimuth_Natural_Origin", "Hotine_Oblique_Mercator_Two_Point_Natural_Origin", "Hotine_Oblique_Mercator_Azimuth_Center", "Oblique_Mercator", "omerc"] };
9614
9675
  function ts() {
9615
9676
  if (this.lat2 || (this.lat2 = this.lat1), this.k0 || (this.k0 = 1), this.x0 = this.x0 || 0, this.y0 = this.y0 || 0, !(Math.abs(this.lat1 + this.lat2) < f)) {
9616
9677
  var t4 = this.b / this.a;
@@ -9839,11 +9900,11 @@ proj4Src.exports = function() {
9839
9900
  var s2 = Ms(this.e3, this.sin_phi), r2 = this.a * Math.sqrt(this.c - this.ns0 * s2) / this.ns0, n2 = this.ns0 * yt(e2 - this.long0), a2 = r2 * Math.sin(n2) + this.x0, o2 = this.rh - r2 * Math.cos(n2) + this.y0;
9840
9901
  return t4.x = a2, t4.y = o2, t4;
9841
9902
  }
9842
- function Vs(t4) {
9903
+ function $s(t4) {
9843
9904
  var e2, i2, s2, r2, n2, a2;
9844
9905
  return t4.x -= this.x0, t4.y = this.rh - t4.y + this.y0, this.ns0 >= 0 ? (e2 = Math.sqrt(t4.x * t4.x + t4.y * t4.y), s2 = 1) : (e2 = -Math.sqrt(t4.x * t4.x + t4.y * t4.y), s2 = -1), r2 = 0, 0 !== e2 && (r2 = Math.atan2(s2 * t4.x, s2 * t4.y)), s2 = e2 * this.ns0 / this.a, this.sphere ? a2 = Math.asin((this.c - s2 * s2) / (2 * this.ns0)) : (i2 = (this.c - s2 * s2) / this.ns0, a2 = this.phi1z(this.e3, i2)), n2 = yt(r2 / this.ns0 + this.long0), t4.x = n2, t4.y = a2, t4;
9845
9906
  }
9846
- function Ls(t4, e2) {
9907
+ function Vs(t4, e2) {
9847
9908
  var i2, s2, r2, n2, a2 = Ns(0.5 * e2);
9848
9909
  if (t4 < f)
9849
9910
  return a2;
@@ -9852,8 +9913,8 @@ proj4Src.exports = function() {
9852
9913
  return a2;
9853
9914
  return null;
9854
9915
  }
9855
- var $s = { init: Rs, forward: Gs, inverse: Vs, names: ["Albers_Conic_Equal_Area", "Albers_Equal_Area", "Albers", "aea"], phi1z: Ls };
9856
- function qs() {
9916
+ var qs = { init: Rs, forward: Gs, inverse: $s, names: ["Albers_Conic_Equal_Area", "Albers_Equal_Area", "Albers", "aea"], phi1z: Vs };
9917
+ function Ls() {
9857
9918
  this.sin_p14 = Math.sin(this.lat0), this.cos_p14 = Math.cos(this.lat0), this.infinity_dist = 1e3 * this.a, this.rc = 1;
9858
9919
  }
9859
9920
  function ks(t4) {
@@ -9864,7 +9925,7 @@ proj4Src.exports = function() {
9864
9925
  var e2, i2, s2, r2, n2, a2;
9865
9926
  return t4.x = (t4.x - this.x0) / this.a, t4.y = (t4.y - this.y0) / this.a, t4.x /= this.k0, t4.y /= this.k0, (e2 = Math.sqrt(t4.x * t4.x + t4.y * t4.y)) ? (r2 = Math.atan2(e2, this.rc), i2 = Math.sin(r2), a2 = Ns((s2 = Math.cos(r2)) * this.sin_p14 + t4.y * i2 * this.cos_p14 / e2), n2 = Math.atan2(t4.x * i2, e2 * this.cos_p14 * s2 - t4.y * this.sin_p14 * i2), n2 = yt(this.long0 + n2)) : (a2 = this.phic0, n2 = 0), t4.x = n2, t4.y = a2, t4;
9866
9927
  }
9867
- var Fs = { init: qs, forward: ks, inverse: Bs, names: ["gnom"] };
9928
+ var Fs = { init: Ls, forward: ks, inverse: Bs, names: ["gnom"] };
9868
9929
  function Ds(t4, e2) {
9869
9930
  var i2 = 1 - (1 - t4 * t4) / (2 * t4) * Math.log((1 - t4) / (1 + t4));
9870
9931
  if (Math.abs(Math.abs(e2) - i2) < 1e-6)
@@ -9903,8 +9964,8 @@ proj4Src.exports = function() {
9903
9964
  var e2 = t4.x, i2 = t4.y;
9904
9965
  return t4.x = yt(this.long0 + (e2 - this.x0) / (this.a * this.rc)), t4.y = fs(this.lat0 + (i2 - this.y0) / this.a), t4;
9905
9966
  }
9906
- var Ys = { init: Xs, forward: Qs, inverse: Zs, names: ["Equirectangular", "Equidistant_Cylindrical", "Equidistant_Cylindrical_Spherical", "eqc"] }, Ks = 20;
9907
- function Js() {
9967
+ var Ys = { init: Xs, forward: Qs, inverse: Zs, names: ["Equirectangular", "Equidistant_Cylindrical", "Equidistant_Cylindrical_Spherical", "eqc"] }, Js = 20;
9968
+ function Ks() {
9908
9969
  this.temp = this.b / this.a, this.es = 1 - Math.pow(this.temp, 2), this.e = Math.sqrt(this.es), this.e0 = ls(this.es), this.e1 = cs(this.es), this.e2 = us(this.es), this.e3 = ds(this.es), this.ml0 = this.a * hs(this.e0, this.e1, this.e2, this.e3, this.lat0);
9909
9970
  }
9910
9971
  function tr(t4) {
@@ -9926,7 +9987,7 @@ proj4Src.exports = function() {
9926
9987
  e2 = yt(s2 / this.a + this.long0), i2 = 0;
9927
9988
  else {
9928
9989
  var c2;
9929
- for (a2 = this.lat0 + r2 / this.a, o2 = s2 * s2 / this.a / this.a + a2 * a2, h2 = a2, n2 = Ks; n2; --n2)
9990
+ for (a2 = this.lat0 + r2 / this.a, o2 = s2 * s2 / this.a / this.a + a2 * a2, h2 = a2, n2 = Js; n2; --n2)
9930
9991
  if (h2 += l2 = -1 * (a2 * (h2 * (c2 = Math.tan(h2)) + 1) - h2 - 0.5 * (h2 * h2 + o2) * c2) / ((h2 - a2) / c2 - 1), Math.abs(l2) <= f) {
9931
9992
  i2 = h2;
9932
9993
  break;
@@ -9937,7 +9998,7 @@ proj4Src.exports = function() {
9937
9998
  i2 = 0, e2 = yt(this.long0 + s2 / this.a);
9938
9999
  else {
9939
10000
  var u2, d2, p2, _2, y2;
9940
- for (a2 = (this.ml0 + r2) / this.a, o2 = s2 * s2 / this.a / this.a + a2 * a2, h2 = a2, n2 = Ks; n2; --n2)
10001
+ for (a2 = (this.ml0 + r2) / this.a, o2 = s2 * s2 / this.a / this.a + a2 * a2, h2 = a2, n2 = Js; n2; --n2)
9941
10002
  if (y2 = this.e * Math.sin(h2), u2 = Math.sqrt(1 - y2 * y2) * Math.tan(h2), d2 = this.a * hs(this.e0, this.e1, this.e2, this.e3, h2), p2 = this.e0 - 2 * this.e1 * Math.cos(2 * h2) + 4 * this.e2 * Math.cos(4 * h2) - 6 * this.e3 * Math.cos(6 * h2), h2 -= l2 = (a2 * (u2 * (_2 = d2 / this.a) + 1) - _2 - 0.5 * u2 * (_2 * _2 + o2)) / (this.es * Math.sin(2 * h2) * (_2 * _2 + o2 - 2 * a2 * _2) / (4 * u2) + (a2 - _2) * (u2 * p2 - 2 / Math.sin(2 * h2)) - p2), Math.abs(l2) <= f) {
9942
10003
  i2 = h2;
9943
10004
  break;
@@ -9946,7 +10007,7 @@ proj4Src.exports = function() {
9946
10007
  }
9947
10008
  return t4.x = e2, t4.y = i2, t4;
9948
10009
  }
9949
- var ir = { init: Js, forward: tr, inverse: er, names: ["Polyconic", "American_Polyconic", "poly"] };
10010
+ var ir = { init: Ks, forward: tr, inverse: er, names: ["Polyconic", "American_Polyconic", "poly"] };
9950
10011
  function sr() {
9951
10012
  this.A = [], this.A[1] = 0.6399175073, this.A[2] = -0.1358797613, this.A[3] = 0.063294409, this.A[4] = -0.02526853, this.A[5] = 0.0117879, this.A[6] = -55161e-7, this.A[7] = 26906e-7, this.A[8] = -1333e-6, this.A[9] = 67e-5, this.A[10] = -34e-5, this.B_re = [], this.B_im = [], this.B_re[1] = 0.7557853228, this.B_im[1] = 0, this.B_re[2] = 0.249204646, this.B_im[2] = 3371507e-9, this.B_re[3] = -1541739e-9, this.B_im[3] = 0.04105856, this.B_re[4] = -0.10162907, this.B_im[4] = 0.01727609, this.B_re[5] = -0.26623489, this.B_im[5] = -0.36249218, this.B_re[6] = -0.6870983, this.B_im[6] = -1.1651967, this.C_re = [], this.C_im = [], this.C_re[1] = 1.3231270439, this.C_im[1] = 0, this.C_re[2] = -0.577245789, this.C_im[2] = -7809598e-9, this.C_re[3] = 0.508307513, this.C_im[3] = -0.112208952, this.C_re[4] = -0.15094762, this.C_im[4] = 0.18200602, this.C_re[5] = 1.01418179, this.C_im[5] = 1.64497696, this.C_re[6] = 1.9660549, this.C_im[6] = 2.5127645, this.D = [], this.D[1] = 1.5627014243, this.D[2] = 0.5185406398, this.D[3] = -0.03333098, this.D[4] = -0.1052906, this.D[5] = -0.0368594, this.D[6] = 7317e-6, this.D[7] = 0.0122, this.D[8] = 394e-5, this.D[9] = -13e-4;
9952
10013
  }
@@ -10249,8 +10310,8 @@ proj4Src.exports = function() {
10249
10310
  }
10250
10311
  return u3 & t5.REDUCEDLENGTH && (g3.m0 = x3, g3.m12b = h3 * (r4 * a3) - n3 * (s4 * o3) - r4 * o3 * M3), u3 & t5.GEODESICSCALE && (y3 = r4 * o3 + s4 * a3, m3 = this._ep2 * (l3 - c3) * (l3 + c3) / (n3 + h3), g3.M12 = y3 + (m3 * a3 - o3 * M3) * s4 / n3, g3.M21 = y3 - (m3 * s4 - r4 * M3) * a3 / h3), g3;
10251
10312
  }, t5.Geodesic.prototype.InverseStart = function(e4, i4, r4, n3, a3, h3, l3, c3, u3, d3, p3) {
10252
- var f3, _3, y3, m3, g3, x3, M3, w3, b3, v3, C3, E3, T3, A4, I3, O2, z2, N2, R2, G2, V2 = {}, L2 = n3 * i4 - a3 * e4, $2 = a3 * i4 + n3 * e4;
10253
- return V2.sig12 = -1, f3 = n3 * i4, f3 += a3 * e4, (_3 = $2 >= 0 && L2 < 0.5 && a3 * l3 < 0.5) ? (m3 = s3.sq(e4 + n3), m3 /= m3 + s3.sq(i4 + a3), V2.dnm = Math.sqrt(1 + this._ep2 * m3), y3 = l3 / (this._f1 * V2.dnm), g3 = Math.sin(y3), x3 = Math.cos(y3)) : (g3 = c3, x3 = u3), V2.salp1 = a3 * g3, V2.calp1 = x3 >= 0 ? L2 + a3 * e4 * s3.sq(g3) / (1 + x3) : f3 - a3 * e4 * s3.sq(g3) / (1 - x3), w3 = s3.hypot(V2.salp1, V2.calp1), b3 = e4 * n3 + i4 * a3 * x3, _3 && w3 < this._etol2 ? (V2.salp2 = i4 * g3, V2.calp2 = L2 - i4 * n3 * (x3 >= 0 ? s3.sq(g3) / (1 + x3) : 1 - x3), M3 = s3.hypot(V2.salp2, V2.calp2), V2.salp2 /= M3, V2.calp2 /= M3, V2.sig12 = Math.atan2(w3, b3)) : Math.abs(this._n) > 0.1 || b3 >= 0 || w3 >= 6 * Math.abs(this._n) * Math.PI * s3.sq(i4) || (G2 = Math.atan2(-c3, -u3), this.f >= 0 ? (A4 = (T3 = s3.sq(e4) * this._ep2) / (2 * (1 + Math.sqrt(1 + T3)) + T3), v3 = G2 / (E3 = this.f * i4 * this.A3f(A4) * Math.PI), C3 = f3 / (E3 * i4)) : (I3 = a3 * i4 - n3 * e4, O2 = Math.atan2(f3, I3), C3 = l3 / (E3 = ((v3 = (z2 = this.Lengths(this._n, Math.PI + O2, e4, -i4, r4, n3, a3, h3, i4, a3, t5.REDUCEDLENGTH, d3, p3)).m12b / (i4 * a3 * z2.m0 * Math.PI) - 1) < -0.01 ? f3 / v3 : -this.f * s3.sq(i4) * Math.PI) / i4)), C3 > -S2 && v3 > -1 - P2 ? this.f >= 0 ? (V2.salp1 = Math.min(1, -v3), V2.calp1 = -Math.sqrt(1 - s3.sq(V2.salp1))) : (V2.calp1 = Math.max(v3 > -S2 ? 0 : -1, v3), V2.salp1 = Math.sqrt(1 - s3.sq(V2.calp1))) : (N2 = o2(v3, C3), R2 = E3 * (this.f >= 0 ? -v3 * N2 / (1 + N2) : -C3 * (1 + N2) / N2), g3 = Math.sin(R2), x3 = -Math.cos(R2), V2.salp1 = a3 * g3, V2.calp1 = f3 - a3 * e4 * s3.sq(g3) / (1 - x3))), V2.salp1 <= 0 ? (V2.salp1 = 1, V2.calp1 = 0) : (M3 = s3.hypot(V2.salp1, V2.calp1), V2.salp1 /= M3, V2.calp1 /= M3), V2;
10313
+ var f3, _3, y3, m3, g3, x3, M3, w3, b3, v3, C3, E3, T3, A4, I3, O2, z2, N2, R2, G2, $2 = {}, V2 = n3 * i4 - a3 * e4, q2 = a3 * i4 + n3 * e4;
10314
+ return $2.sig12 = -1, f3 = n3 * i4, f3 += a3 * e4, (_3 = q2 >= 0 && V2 < 0.5 && a3 * l3 < 0.5) ? (m3 = s3.sq(e4 + n3), m3 /= m3 + s3.sq(i4 + a3), $2.dnm = Math.sqrt(1 + this._ep2 * m3), y3 = l3 / (this._f1 * $2.dnm), g3 = Math.sin(y3), x3 = Math.cos(y3)) : (g3 = c3, x3 = u3), $2.salp1 = a3 * g3, $2.calp1 = x3 >= 0 ? V2 + a3 * e4 * s3.sq(g3) / (1 + x3) : f3 - a3 * e4 * s3.sq(g3) / (1 - x3), w3 = s3.hypot($2.salp1, $2.calp1), b3 = e4 * n3 + i4 * a3 * x3, _3 && w3 < this._etol2 ? ($2.salp2 = i4 * g3, $2.calp2 = V2 - i4 * n3 * (x3 >= 0 ? s3.sq(g3) / (1 + x3) : 1 - x3), M3 = s3.hypot($2.salp2, $2.calp2), $2.salp2 /= M3, $2.calp2 /= M3, $2.sig12 = Math.atan2(w3, b3)) : Math.abs(this._n) > 0.1 || b3 >= 0 || w3 >= 6 * Math.abs(this._n) * Math.PI * s3.sq(i4) || (G2 = Math.atan2(-c3, -u3), this.f >= 0 ? (A4 = (T3 = s3.sq(e4) * this._ep2) / (2 * (1 + Math.sqrt(1 + T3)) + T3), v3 = G2 / (E3 = this.f * i4 * this.A3f(A4) * Math.PI), C3 = f3 / (E3 * i4)) : (I3 = a3 * i4 - n3 * e4, O2 = Math.atan2(f3, I3), C3 = l3 / (E3 = ((v3 = (z2 = this.Lengths(this._n, Math.PI + O2, e4, -i4, r4, n3, a3, h3, i4, a3, t5.REDUCEDLENGTH, d3, p3)).m12b / (i4 * a3 * z2.m0 * Math.PI) - 1) < -0.01 ? f3 / v3 : -this.f * s3.sq(i4) * Math.PI) / i4)), C3 > -S2 && v3 > -1 - P2 ? this.f >= 0 ? ($2.salp1 = Math.min(1, -v3), $2.calp1 = -Math.sqrt(1 - s3.sq($2.salp1))) : ($2.calp1 = Math.max(v3 > -S2 ? 0 : -1, v3), $2.salp1 = Math.sqrt(1 - s3.sq($2.calp1))) : (N2 = o2(v3, C3), R2 = E3 * (this.f >= 0 ? -v3 * N2 / (1 + N2) : -C3 * (1 + N2) / N2), g3 = Math.sin(R2), x3 = -Math.cos(R2), $2.salp1 = a3 * g3, $2.calp1 = f3 - a3 * e4 * s3.sq(g3) / (1 - x3))), $2.salp1 <= 0 ? ($2.salp1 = 1, $2.calp1 = 0) : (M3 = s3.hypot($2.salp1, $2.calp1), $2.salp1 /= M3, $2.calp1 /= M3), $2;
10254
10315
  }, t5.Geodesic.prototype.Lambda12 = function(e4, i4, r4, n3, a3, o3, h3, l3, c3, u3, d3, p3, f3, _3) {
10255
10316
  var y3, m3, g3, x3, M3, w3, b3, v3, S3, C3, E3, P3, T3, A4 = {};
10256
10317
  return 0 === e4 && 0 === l3 && (l3 = -t5.tiny_), m3 = h3 * i4, g3 = s3.hypot(l3, h3 * e4), A4.ssig1 = e4, x3 = m3 * e4, A4.csig1 = M3 = l3 * i4, y3 = s3.hypot(A4.ssig1, A4.csig1), A4.ssig1 /= y3, A4.csig1 /= y3, A4.salp2 = a3 !== i4 ? m3 / a3 : h3, A4.calp2 = a3 !== i4 || Math.abs(n3) !== -e4 ? Math.sqrt(s3.sq(l3 * i4) + (i4 < -e4 ? (a3 - i4) * (i4 + a3) : (e4 - n3) * (e4 + n3))) / a3 : Math.abs(l3), A4.ssig2 = n3, w3 = m3 * n3, A4.csig2 = b3 = A4.calp2 * a3, y3 = s3.hypot(A4.ssig2, A4.csig2), A4.ssig2 /= y3, A4.csig2 /= y3, A4.sig12 = Math.atan2(Math.max(0, A4.csig1 * A4.ssig2 - A4.ssig1 * A4.csig2), A4.csig1 * A4.csig2 + A4.ssig1 * A4.ssig2), v3 = Math.max(0, M3 * w3 - x3 * b3), S3 = M3 * b3 + x3 * w3, E3 = Math.atan2(v3 * u3 - S3 * c3, S3 * u3 + v3 * c3), P3 = s3.sq(g3) * this._ep2, A4.eps = P3 / (2 * (1 + Math.sqrt(1 + P3)) + P3), this.C3f(A4.eps, _3), C3 = t5.SinCosSeries(true, A4.ssig2, A4.csig2, _3) - t5.SinCosSeries(true, A4.ssig1, A4.csig1, _3), A4.domg12 = -this.f * this.A3f(A4.eps) * m3 * (A4.sig12 + C3), A4.lam12 = E3 + A4.domg12, d3 && (0 === A4.calp2 ? A4.dlam12 = -2 * this._f1 * r4 / e4 : (T3 = this.Lengths(A4.eps, A4.sig12, A4.ssig1, A4.csig1, r4, A4.ssig2, A4.csig2, o3, i4, a3, t5.REDUCEDLENGTH, p3, f3), A4.dlam12 = T3.m12b, A4.dlam12 *= this._f1 / (A4.calp2 * a3))), A4;
@@ -10258,18 +10319,18 @@ proj4Src.exports = function() {
10258
10319
  var o3, h3;
10259
10320
  return a3 || (a3 = t5.STANDARD), a3 === t5.LONG_UNROLL && (a3 |= t5.STANDARD), a3 &= t5.OUT_MASK, h3 = (o3 = this.InverseInt(e4, i4, r4, n3, a3)).vals, a3 & t5.AZIMUTH && (h3.azi1 = s3.atan2d(o3.salp1, o3.calp1), h3.azi2 = s3.atan2d(o3.salp2, o3.calp2)), h3;
10260
10321
  }, t5.Geodesic.prototype.InverseInt = function(e4, i4, r4, n3, a3) {
10261
- var o3, h3, l3, c3, u3, d3, p3, f3, _3, y3, m3, g3, x3, M3, S3, C3, P3, T3, A4, I3, O2, z2, N2, R2, G2, V2, L2, $2, q2, k2, B2, F2, D2, j2, U2, W2, H2, X2, Q2, Z2, Y2, K2, J2, tt2, et2, it2, st2, rt2, nt2, at2, ot2, ht2, lt3, ct2, ut2, dt2, pt2, ft2, _t2, yt2, mt2, gt3, xt2, Mt2, wt2, bt2 = {};
10262
- if (bt2.lat1 = e4 = s3.LatFix(e4), bt2.lat2 = r4 = s3.LatFix(r4), e4 = s3.AngRound(e4), r4 = s3.AngRound(r4), h3 = (o3 = s3.AngDiff(i4, n3)).e, o3 = o3.d, a3 & t5.LONG_UNROLL ? (bt2.lon1 = i4, bt2.lon2 = i4 + o3 + h3) : (bt2.lon1 = s3.AngNormalize(i4), bt2.lon2 = s3.AngNormalize(n3)), h3 *= l3 = s3.copysign(1, o3), S3 = (o3 *= l3) * s3.degree, C3 = (c3 = s3.sincosde(o3, h3)).s, P3 = c3.c, h3 = 180 - o3 - h3, (u3 = Math.abs(e4) < Math.abs(r4) || isNaN(r4) ? -1 : 1) < 0 && (l3 *= -1, [r4, e4] = [e4, r4]), e4 *= d3 = s3.copysign(1, -e4), r4 *= d3, c3 = s3.sincosd(e4), p3 = this._f1 * c3.s, f3 = c3.c, p3 /= c3 = s3.hypot(p3, f3), f3 /= c3, f3 = Math.max(t5.tiny_, f3), c3 = s3.sincosd(r4), _3 = this._f1 * c3.s, y3 = c3.c, _3 /= c3 = s3.hypot(_3, y3), y3 /= c3, y3 = Math.max(t5.tiny_, y3), f3 < -p3 ? y3 === f3 && (_3 = s3.copysign(p3, _3)) : Math.abs(_3) === -p3 && (y3 = f3), x3 = Math.sqrt(1 + this._ep2 * s3.sq(p3)), M3 = Math.sqrt(1 + this._ep2 * s3.sq(_3)), N2 = new Array(t5.nC1_ + 1), R2 = new Array(t5.nC2_ + 1), G2 = new Array(t5.nC3_), (V2 = -90 === e4 || 0 === C3) && (I3 = C3, z2 = 0, $2 = p3, q2 = (A4 = P3) * f3, k2 = _3, B2 = (O2 = 1) * y3, T3 = Math.atan2(Math.max(0, q2 * k2 - $2 * B2), q2 * B2 + $2 * k2), m3 = (L2 = this.Lengths(this._n, T3, $2, q2, x3, k2, B2, M3, f3, y3, a3 | t5.DISTANCE | t5.REDUCEDLENGTH, N2, R2)).s12b, g3 = L2.m12b, a3 & t5.GEODESICSCALE && (bt2.M12 = L2.M12, bt2.M21 = L2.M21), T3 < 1 || g3 >= 0 ? ((T3 < 3 * t5.tiny_ || T3 < v2 && (m3 < 0 || g3 < 0)) && (T3 = g3 = m3 = 0), g3 *= this._b, m3 *= this._b, bt2.a12 = T3 / s3.degree) : V2 = false), pt2 = 2, !V2 && 0 === p3 && (this.f <= 0 || h3 >= 180 * this.f))
10322
+ var o3, h3, l3, c3, u3, d3, p3, f3, _3, y3, m3, g3, x3, M3, S3, C3, P3, T3, A4, I3, O2, z2, N2, R2, G2, $2, V2, q2, L2, k2, B2, F2, D2, j2, U2, W2, H2, X2, Q2, Z2, Y2, J2, K2, tt2, et2, it2, st2, rt2, nt2, at2, ot2, ht2, lt3, ct2, ut2, dt2, pt2, ft2, _t2, yt2, mt2, gt3, xt2, Mt2, wt2, bt2 = {};
10323
+ if (bt2.lat1 = e4 = s3.LatFix(e4), bt2.lat2 = r4 = s3.LatFix(r4), e4 = s3.AngRound(e4), r4 = s3.AngRound(r4), h3 = (o3 = s3.AngDiff(i4, n3)).e, o3 = o3.d, a3 & t5.LONG_UNROLL ? (bt2.lon1 = i4, bt2.lon2 = i4 + o3 + h3) : (bt2.lon1 = s3.AngNormalize(i4), bt2.lon2 = s3.AngNormalize(n3)), h3 *= l3 = s3.copysign(1, o3), S3 = (o3 *= l3) * s3.degree, C3 = (c3 = s3.sincosde(o3, h3)).s, P3 = c3.c, h3 = 180 - o3 - h3, (u3 = Math.abs(e4) < Math.abs(r4) || isNaN(r4) ? -1 : 1) < 0 && (l3 *= -1, [r4, e4] = [e4, r4]), e4 *= d3 = s3.copysign(1, -e4), r4 *= d3, c3 = s3.sincosd(e4), p3 = this._f1 * c3.s, f3 = c3.c, p3 /= c3 = s3.hypot(p3, f3), f3 /= c3, f3 = Math.max(t5.tiny_, f3), c3 = s3.sincosd(r4), _3 = this._f1 * c3.s, y3 = c3.c, _3 /= c3 = s3.hypot(_3, y3), y3 /= c3, y3 = Math.max(t5.tiny_, y3), f3 < -p3 ? y3 === f3 && (_3 = s3.copysign(p3, _3)) : Math.abs(_3) === -p3 && (y3 = f3), x3 = Math.sqrt(1 + this._ep2 * s3.sq(p3)), M3 = Math.sqrt(1 + this._ep2 * s3.sq(_3)), N2 = new Array(t5.nC1_ + 1), R2 = new Array(t5.nC2_ + 1), G2 = new Array(t5.nC3_), ($2 = -90 === e4 || 0 === C3) && (I3 = C3, z2 = 0, q2 = p3, L2 = (A4 = P3) * f3, k2 = _3, B2 = (O2 = 1) * y3, T3 = Math.atan2(Math.max(0, L2 * k2 - q2 * B2), L2 * B2 + q2 * k2), m3 = (V2 = this.Lengths(this._n, T3, q2, L2, x3, k2, B2, M3, f3, y3, a3 | t5.DISTANCE | t5.REDUCEDLENGTH, N2, R2)).s12b, g3 = V2.m12b, a3 & t5.GEODESICSCALE && (bt2.M12 = V2.M12, bt2.M21 = V2.M21), T3 < 1 || g3 >= 0 ? ((T3 < 3 * t5.tiny_ || T3 < v2 && (m3 < 0 || g3 < 0)) && (T3 = g3 = m3 = 0), g3 *= this._b, m3 *= this._b, bt2.a12 = T3 / s3.degree) : $2 = false), pt2 = 2, !$2 && 0 === p3 && (this.f <= 0 || h3 >= 180 * this.f))
10263
10324
  A4 = O2 = 0, I3 = z2 = 1, m3 = this.a * S3, T3 = D2 = S3 / this._f1, g3 = this._b * Math.sin(T3), a3 & t5.GEODESICSCALE && (bt2.M12 = bt2.M21 = Math.cos(T3)), bt2.a12 = o3 / this._f1;
10264
- else if (!V2)
10265
- if (T3 = (L2 = this.InverseStart(p3, f3, x3, _3, y3, M3, S3, C3, P3, N2, R2)).sig12, I3 = L2.salp1, A4 = L2.calp1, T3 >= 0)
10266
- z2 = L2.salp2, O2 = L2.calp2, j2 = L2.dnm, m3 = T3 * this._b * j2, g3 = s3.sq(j2) * this._b * Math.sin(T3 / j2), a3 & t5.GEODESICSCALE && (bt2.M12 = bt2.M21 = Math.cos(T3 / j2)), bt2.a12 = T3 / s3.degree, D2 = S3 / (this._f1 * j2);
10325
+ else if (!$2)
10326
+ if (T3 = (V2 = this.InverseStart(p3, f3, x3, _3, y3, M3, S3, C3, P3, N2, R2)).sig12, I3 = V2.salp1, A4 = V2.calp1, T3 >= 0)
10327
+ z2 = V2.salp2, O2 = V2.calp2, j2 = V2.dnm, m3 = T3 * this._b * j2, g3 = s3.sq(j2) * this._b * Math.sin(T3 / j2), a3 & t5.GEODESICSCALE && (bt2.M12 = bt2.M21 = Math.cos(T3 / j2)), bt2.a12 = T3 / s3.degree, D2 = S3 / (this._f1 * j2);
10267
10328
  else {
10268
- for (U2 = 0, W2 = t5.tiny_, H2 = 1, X2 = t5.tiny_, Q2 = -1, Z2 = false, Y2 = false; K2 = (L2 = this.Lambda12(p3, f3, x3, _3, y3, M3, I3, A4, C3, P3, U2 < w2, N2, R2, G2)).lam12, z2 = L2.salp2, O2 = L2.calp2, T3 = L2.sig12, $2 = L2.ssig1, q2 = L2.csig1, k2 = L2.ssig2, B2 = L2.csig2, F2 = L2.eps, _t2 = L2.domg12, J2 = L2.dlam12, !Y2 && Math.abs(K2) >= (Z2 ? 8 : 1) * v2 && U2 != b2; ++U2)
10269
- K2 > 0 && (U2 < w2 || A4 / I3 > Q2 / X2) ? (X2 = I3, Q2 = A4) : K2 < 0 && (U2 < w2 || A4 / I3 < H2 / W2) && (W2 = I3, H2 = A4), U2 < w2 && J2 > 0 && (tt2 = -K2 / J2, Math.abs(tt2) < Math.PI && (et2 = Math.sin(tt2), (st2 = I3 * (it2 = Math.cos(tt2)) + A4 * et2) > 0)) ? (A4 = A4 * it2 - I3 * et2, I3 = st2, I3 /= c3 = s3.hypot(I3, A4), A4 /= c3, Z2 = Math.abs(K2) <= 16 * v2) : (I3 = (W2 + X2) / 2, A4 = (H2 + Q2) / 2, I3 /= c3 = s3.hypot(I3, A4), A4 /= c3, Z2 = false, Y2 = Math.abs(W2 - I3) + (H2 - A4) < E2 || Math.abs(I3 - X2) + (A4 - Q2) < E2);
10270
- rt2 = a3 | (a3 & (t5.REDUCEDLENGTH | t5.GEODESICSCALE) ? t5.DISTANCE : t5.NONE), m3 = (L2 = this.Lengths(F2, T3, $2, q2, x3, k2, B2, M3, f3, y3, rt2, N2, R2)).s12b, g3 = L2.m12b, a3 & t5.GEODESICSCALE && (bt2.M12 = L2.M12, bt2.M21 = L2.M21), g3 *= this._b, m3 *= this._b, bt2.a12 = T3 / s3.degree, a3 & t5.AREA && (Mt2 = Math.sin(_t2), pt2 = C3 * (wt2 = Math.cos(_t2)) - P3 * Mt2, ft2 = P3 * wt2 + C3 * Mt2);
10329
+ for (U2 = 0, W2 = t5.tiny_, H2 = 1, X2 = t5.tiny_, Q2 = -1, Z2 = false, Y2 = false; J2 = (V2 = this.Lambda12(p3, f3, x3, _3, y3, M3, I3, A4, C3, P3, U2 < w2, N2, R2, G2)).lam12, z2 = V2.salp2, O2 = V2.calp2, T3 = V2.sig12, q2 = V2.ssig1, L2 = V2.csig1, k2 = V2.ssig2, B2 = V2.csig2, F2 = V2.eps, _t2 = V2.domg12, K2 = V2.dlam12, !Y2 && Math.abs(J2) >= (Z2 ? 8 : 1) * v2 && U2 != b2; ++U2)
10330
+ J2 > 0 && (U2 < w2 || A4 / I3 > Q2 / X2) ? (X2 = I3, Q2 = A4) : J2 < 0 && (U2 < w2 || A4 / I3 < H2 / W2) && (W2 = I3, H2 = A4), U2 < w2 && K2 > 0 && (tt2 = -J2 / K2, Math.abs(tt2) < Math.PI && (et2 = Math.sin(tt2), (st2 = I3 * (it2 = Math.cos(tt2)) + A4 * et2) > 0)) ? (A4 = A4 * it2 - I3 * et2, I3 = st2, I3 /= c3 = s3.hypot(I3, A4), A4 /= c3, Z2 = Math.abs(J2) <= 16 * v2) : (I3 = (W2 + X2) / 2, A4 = (H2 + Q2) / 2, I3 /= c3 = s3.hypot(I3, A4), A4 /= c3, Z2 = false, Y2 = Math.abs(W2 - I3) + (H2 - A4) < E2 || Math.abs(I3 - X2) + (A4 - Q2) < E2);
10331
+ rt2 = a3 | (a3 & (t5.REDUCEDLENGTH | t5.GEODESICSCALE) ? t5.DISTANCE : t5.NONE), m3 = (V2 = this.Lengths(F2, T3, q2, L2, x3, k2, B2, M3, f3, y3, rt2, N2, R2)).s12b, g3 = V2.m12b, a3 & t5.GEODESICSCALE && (bt2.M12 = V2.M12, bt2.M21 = V2.M21), g3 *= this._b, m3 *= this._b, bt2.a12 = T3 / s3.degree, a3 & t5.AREA && (Mt2 = Math.sin(_t2), pt2 = C3 * (wt2 = Math.cos(_t2)) - P3 * Mt2, ft2 = P3 * wt2 + C3 * Mt2);
10271
10332
  }
10272
- return a3 & t5.DISTANCE && (bt2.s12 = 0 + m3), a3 & t5.REDUCEDLENGTH && (bt2.m12 = 0 + g3), a3 & t5.AREA && (nt2 = I3 * f3, 0 !== (at2 = s3.hypot(A4, I3 * p3)) && 0 !== nt2 ? ($2 = p3, q2 = A4 * f3, k2 = _3, B2 = O2 * y3, F2 = (ht2 = s3.sq(at2) * this._ep2) / (2 * (1 + Math.sqrt(1 + ht2)) + ht2), lt3 = s3.sq(this.a) * at2 * nt2 * this._e2, $2 /= c3 = s3.hypot($2, q2), q2 /= c3, k2 /= c3 = s3.hypot(k2, B2), B2 /= c3, ct2 = new Array(t5.nC4_), this.C4f(F2, ct2), ut2 = t5.SinCosSeries(false, $2, q2, ct2), dt2 = t5.SinCosSeries(false, k2, B2, ct2), bt2.S12 = lt3 * (dt2 - ut2)) : bt2.S12 = 0, V2 || 2 != pt2 || (pt2 = Math.sin(D2), ft2 = Math.cos(D2)), !V2 && ft2 > -0.7071 && _3 - p3 < 1.75 ? (_t2 = 1 + ft2, yt2 = 1 + f3, mt2 = 1 + y3, ot2 = 2 * Math.atan2(pt2 * (p3 * mt2 + _3 * yt2), _t2 * (p3 * _3 + yt2 * mt2))) : (xt2 = O2 * A4 + z2 * I3, 0 === (gt3 = z2 * A4 - O2 * I3) && xt2 < 0 && (gt3 = t5.tiny_ * A4, xt2 = -1), ot2 = Math.atan2(gt3, xt2)), bt2.S12 += this._c2 * ot2, bt2.S12 *= u3 * l3 * d3, bt2.S12 += 0), u3 < 0 && ([z2, I3] = [I3, z2], [O2, A4] = [A4, O2], a3 & t5.GEODESICSCALE && ([bt2.M21, bt2.M12] = [bt2.M12, bt2.M21])), { vals: bt2, salp1: I3 *= u3 * l3, calp1: A4 *= u3 * d3, salp2: z2 *= u3 * l3, calp2: O2 *= u3 * d3 };
10333
+ return a3 & t5.DISTANCE && (bt2.s12 = 0 + m3), a3 & t5.REDUCEDLENGTH && (bt2.m12 = 0 + g3), a3 & t5.AREA && (nt2 = I3 * f3, 0 !== (at2 = s3.hypot(A4, I3 * p3)) && 0 !== nt2 ? (q2 = p3, L2 = A4 * f3, k2 = _3, B2 = O2 * y3, F2 = (ht2 = s3.sq(at2) * this._ep2) / (2 * (1 + Math.sqrt(1 + ht2)) + ht2), lt3 = s3.sq(this.a) * at2 * nt2 * this._e2, q2 /= c3 = s3.hypot(q2, L2), L2 /= c3, k2 /= c3 = s3.hypot(k2, B2), B2 /= c3, ct2 = new Array(t5.nC4_), this.C4f(F2, ct2), ut2 = t5.SinCosSeries(false, q2, L2, ct2), dt2 = t5.SinCosSeries(false, k2, B2, ct2), bt2.S12 = lt3 * (dt2 - ut2)) : bt2.S12 = 0, $2 || 2 != pt2 || (pt2 = Math.sin(D2), ft2 = Math.cos(D2)), !$2 && ft2 > -0.7071 && _3 - p3 < 1.75 ? (_t2 = 1 + ft2, yt2 = 1 + f3, mt2 = 1 + y3, ot2 = 2 * Math.atan2(pt2 * (p3 * mt2 + _3 * yt2), _t2 * (p3 * _3 + yt2 * mt2))) : (xt2 = O2 * A4 + z2 * I3, 0 === (gt3 = z2 * A4 - O2 * I3) && xt2 < 0 && (gt3 = t5.tiny_ * A4, xt2 = -1), ot2 = Math.atan2(gt3, xt2)), bt2.S12 += this._c2 * ot2, bt2.S12 *= u3 * l3 * d3, bt2.S12 += 0), u3 < 0 && ([z2, I3] = [I3, z2], [O2, A4] = [A4, O2], a3 & t5.GEODESICSCALE && ([bt2.M21, bt2.M12] = [bt2.M12, bt2.M21])), { vals: bt2, salp1: I3 *= u3 * l3, calp1: A4 *= u3 * d3, salp2: z2 *= u3 * l3, calp2: O2 *= u3 * d3 };
10273
10334
  }, t5.Geodesic.prototype.GenDirect = function(i4, s4, r4, n3, a3, o3) {
10274
10335
  return o3 ? o3 === t5.LONG_UNROLL && (o3 |= t5.STANDARD) : o3 = t5.STANDARD, n3 || (o3 |= t5.DISTANCE_IN), new e3.GeodesicLine(this, i4, s4, r4, o3).GenPosition(n3, a3, o3);
10275
10336
  }, t5.Geodesic.prototype.Direct = function(t6, e4, i4, s4, r4) {
@@ -10367,18 +10428,18 @@ proj4Src.exports = function() {
10367
10428
  return h2 = ls(this.es), l2 = cs(this.es), u2 = us(this.es), d2 = ds(this.es), Math.abs(this.sin_p12 - 1) <= f ? (a2 = _s(((p2 = this.a * hs(h2, l2, u2, d2, c)) - (e2 = Math.sqrt(t4.x * t4.x + t4.y * t4.y))) / this.a, h2, l2, u2, d2), n2 = yt(this.long0 + Math.atan2(t4.x, -1 * t4.y)), t4.x = n2, t4.y = a2, t4) : Math.abs(this.sin_p12 + 1) <= f ? (p2 = this.a * hs(h2, l2, u2, d2, c), a2 = _s(((e2 = Math.sqrt(t4.x * t4.x + t4.y * t4.y)) - p2) / this.a, h2, l2, u2, d2), n2 = yt(this.long0 + Math.atan2(t4.x, t4.y)), t4.x = n2, t4.y = a2, t4) : (y2 = this.lat0 / _, m2 = this.long0 / _, g2 = Math.atan2(t4.x, t4.y) / _, x2 = Math.sqrt(t4.x * t4.x + t4.y * t4.y), M2 = this.g.Direct(y2, m2, g2, x2, this.g.STANDARD), t4.x = M2.lon2 * _, t4.y = M2.lat2 * _, t4);
10368
10429
  }
10369
10430
  var Gr = { init: zr, forward: Nr, inverse: Rr, names: ["Azimuthal_Equidistant", "aeqd"] };
10370
- function Vr() {
10431
+ function $r() {
10371
10432
  this.sin_p14 = Math.sin(this.lat0), this.cos_p14 = Math.cos(this.lat0);
10372
10433
  }
10373
- function Lr(t4) {
10434
+ function Vr(t4) {
10374
10435
  var e2, i2, s2, r2, n2, a2, o2, h2, l2 = t4.x, c2 = t4.y;
10375
10436
  return s2 = yt(l2 - this.long0), e2 = Math.sin(c2), i2 = Math.cos(c2), r2 = Math.cos(s2), n2 = 1, ((a2 = this.sin_p14 * e2 + this.cos_p14 * i2 * r2) > 0 || Math.abs(a2) <= f) && (o2 = this.a * n2 * i2 * Math.sin(s2), h2 = this.y0 + this.a * n2 * (this.cos_p14 * e2 - this.sin_p14 * i2 * r2)), t4.x = o2, t4.y = h2, t4;
10376
10437
  }
10377
- function $r(t4) {
10438
+ function qr(t4) {
10378
10439
  var e2, i2, s2, r2, n2, a2, o2;
10379
10440
  return t4.x -= this.x0, t4.y -= this.y0, i2 = Ns((e2 = Math.sqrt(t4.x * t4.x + t4.y * t4.y)) / this.a), s2 = Math.sin(i2), r2 = Math.cos(i2), a2 = this.long0, Math.abs(e2) <= f ? (o2 = this.lat0, t4.x = a2, t4.y = o2, t4) : (o2 = Ns(r2 * this.sin_p14 + t4.y * s2 * this.cos_p14 / e2), n2 = Math.abs(this.lat0) - c, Math.abs(n2) <= f ? (a2 = this.lat0 >= 0 ? yt(this.long0 + Math.atan2(t4.x, -t4.y)) : yt(this.long0 - Math.atan2(-t4.x, t4.y)), t4.x = a2, t4.y = o2, t4) : (a2 = yt(this.long0 + Math.atan2(t4.x * s2, e2 * this.cos_p14 * r2 - t4.y * this.sin_p14 * s2)), t4.x = a2, t4.y = o2, t4));
10380
10441
  }
10381
- var qr = { init: Vr, forward: Lr, inverse: $r, names: ["ortho"] }, kr = { FRONT: 1, RIGHT: 2, BACK: 3, LEFT: 4, TOP: 5, BOTTOM: 6 }, Br = { AREA_0: 1, AREA_1: 2, AREA_2: 3, AREA_3: 4 };
10442
+ var Lr = { init: $r, forward: Vr, inverse: qr, names: ["ortho"] }, kr = { FRONT: 1, RIGHT: 2, BACK: 3, LEFT: 4, TOP: 5, BOTTOM: 6 }, Br = { AREA_0: 1, AREA_1: 2, AREA_2: 3, AREA_3: 4 };
10382
10443
  function Fr() {
10383
10444
  this.x0 = this.x0 || 0, this.y0 = this.y0 || 0, this.lat0 = this.lat0 || 0, this.long0 = this.long0 || 0, this.lat_ts = this.lat_ts || 0, this.title = this.title || "Quadrilateralized Spherical Cube", this.lat0 >= c - m / 2 ? this.face = kr.TOP : this.lat0 <= -(c - m / 2) ? this.face = kr.BOTTOM : Math.abs(this.long0) <= m ? this.face = kr.FRONT : Math.abs(this.long0) <= c + m ? this.face = this.long0 > 0 ? kr.RIGHT : kr.LEFT : this.face = kr.BACK, 0 !== this.es && (this.one_minus_f = 1 - (this.a - this.b) / this.a, this.one_minus_f_squared = this.one_minus_f * this.one_minus_f);
10384
10445
  }
@@ -10414,7 +10475,7 @@ proj4Src.exports = function() {
10414
10475
  var i2 = t4 + e2;
10415
10476
  return i2 < -3.14159265359 ? i2 += g : i2 > 3.14159265359 && (i2 -= g), i2;
10416
10477
  }
10417
- var Hr = { init: Fr, forward: Dr, inverse: jr, names: ["Quadrilateralized Spherical Cube", "Quadrilateralized_Spherical_Cube", "qsc"] }, Xr = [[1, 22199e-21, -715515e-10, 31103e-10], [0.9986, -482243e-9, -24897e-9, -13309e-10], [0.9954, -83103e-8, -448605e-10, -986701e-12], [0.99, -135364e-8, -59661e-9, 36777e-10], [0.9822, -167442e-8, -449547e-11, -572411e-11], [0.973, -214868e-8, -903571e-10, 18736e-12], [0.96, -305085e-8, -900761e-10, 164917e-11], [0.9427, -382792e-8, -653386e-10, -26154e-10], [0.9216, -467746e-8, -10457e-8, 481243e-11], [0.8962, -536223e-8, -323831e-10, -543432e-11], [0.8679, -609363e-8, -113898e-9, 332484e-11], [0.835, -698325e-8, -640253e-10, 934959e-12], [0.7986, -755338e-8, -500009e-10, 935324e-12], [0.7597, -798324e-8, -35971e-9, -227626e-11], [0.7186, -851367e-8, -701149e-10, -86303e-10], [0.6732, -986209e-8, -199569e-9, 191974e-10], [0.6213, -0.010418, 883923e-10, 624051e-11], [0.5722, -906601e-8, 182e-6, 624051e-11], [0.5322, -677797e-8, 275608e-9, 624051e-11]], Qr = [[-520417e-23, 0.0124, 121431e-23, -845284e-16], [0.062, 0.0124, -126793e-14, 422642e-15], [0.124, 0.0124, 507171e-14, -160604e-14], [0.186, 0.0123999, -190189e-13, 600152e-14], [0.248, 0.0124002, 710039e-13, -224e-10], [0.31, 0.0123992, -264997e-12, 835986e-13], [0.372, 0.0124029, 988983e-12, -311994e-12], [0.434, 0.0123893, -369093e-11, -435621e-12], [0.4958, 0.0123198, -102252e-10, -345523e-12], [0.5571, 0.0121916, -154081e-10, -582288e-12], [0.6176, 0.0119938, -241424e-10, -525327e-12], [0.6769, 0.011713, -320223e-10, -516405e-12], [0.7346, 0.0113541, -397684e-10, -609052e-12], [0.7903, 0.0109107, -489042e-10, -104739e-11], [0.8435, 0.0103431, -64615e-9, -140374e-14], [0.8936, 969686e-8, -64636e-9, -8547e-9], [0.9394, 840947e-8, -192841e-9, -42106e-10], [0.9761, 616527e-8, -256e-6, -42106e-10], [1, 328947e-8, -319159e-9, -42106e-10]], Zr = 0.8487, Yr = 1.3523, Kr = y / 5, Jr = 1 / Kr, tn = 18, en = function(t4, e2) {
10478
+ var Hr = { init: Fr, forward: Dr, inverse: jr, names: ["Quadrilateralized Spherical Cube", "Quadrilateralized_Spherical_Cube", "qsc"] }, Xr = [[1, 22199e-21, -715515e-10, 31103e-10], [0.9986, -482243e-9, -24897e-9, -13309e-10], [0.9954, -83103e-8, -448605e-10, -986701e-12], [0.99, -135364e-8, -59661e-9, 36777e-10], [0.9822, -167442e-8, -449547e-11, -572411e-11], [0.973, -214868e-8, -903571e-10, 18736e-12], [0.96, -305085e-8, -900761e-10, 164917e-11], [0.9427, -382792e-8, -653386e-10, -26154e-10], [0.9216, -467746e-8, -10457e-8, 481243e-11], [0.8962, -536223e-8, -323831e-10, -543432e-11], [0.8679, -609363e-8, -113898e-9, 332484e-11], [0.835, -698325e-8, -640253e-10, 934959e-12], [0.7986, -755338e-8, -500009e-10, 935324e-12], [0.7597, -798324e-8, -35971e-9, -227626e-11], [0.7186, -851367e-8, -701149e-10, -86303e-10], [0.6732, -986209e-8, -199569e-9, 191974e-10], [0.6213, -0.010418, 883923e-10, 624051e-11], [0.5722, -906601e-8, 182e-6, 624051e-11], [0.5322, -677797e-8, 275608e-9, 624051e-11]], Qr = [[-520417e-23, 0.0124, 121431e-23, -845284e-16], [0.062, 0.0124, -126793e-14, 422642e-15], [0.124, 0.0124, 507171e-14, -160604e-14], [0.186, 0.0123999, -190189e-13, 600152e-14], [0.248, 0.0124002, 710039e-13, -224e-10], [0.31, 0.0123992, -264997e-12, 835986e-13], [0.372, 0.0124029, 988983e-12, -311994e-12], [0.434, 0.0123893, -369093e-11, -435621e-12], [0.4958, 0.0123198, -102252e-10, -345523e-12], [0.5571, 0.0121916, -154081e-10, -582288e-12], [0.6176, 0.0119938, -241424e-10, -525327e-12], [0.6769, 0.011713, -320223e-10, -516405e-12], [0.7346, 0.0113541, -397684e-10, -609052e-12], [0.7903, 0.0109107, -489042e-10, -104739e-11], [0.8435, 0.0103431, -64615e-9, -140374e-14], [0.8936, 969686e-8, -64636e-9, -8547e-9], [0.9394, 840947e-8, -192841e-9, -42106e-10], [0.9761, 616527e-8, -256e-6, -42106e-10], [1, 328947e-8, -319159e-9, -42106e-10]], Zr = 0.8487, Yr = 1.3523, Jr = y / 5, Kr = 1 / Jr, tn = 18, en = function(t4, e2) {
10418
10479
  return t4[0] + e2 * (t4[1] + e2 * (t4[2] + e2 * t4[3]));
10419
10480
  }, sn = function(t4, e2) {
10420
10481
  return t4[1] + e2 * (2 * t4[2] + 3 * e2 * t4[3]);
@@ -10431,8 +10492,8 @@ proj4Src.exports = function() {
10431
10492
  this.x0 = this.x0 || 0, this.y0 = this.y0 || 0, this.long0 = this.long0 || 0, this.es = 0, this.title = this.title || "Robinson";
10432
10493
  }
10433
10494
  function an(t4) {
10434
- var e2 = yt(t4.x - this.long0), i2 = Math.abs(t4.y), s2 = Math.floor(i2 * Kr);
10435
- s2 < 0 ? s2 = 0 : s2 >= tn && (s2 = tn - 1), i2 = y * (i2 - Jr * s2);
10495
+ var e2 = yt(t4.x - this.long0), i2 = Math.abs(t4.y), s2 = Math.floor(i2 * Jr);
10496
+ s2 < 0 ? s2 = 0 : s2 >= tn && (s2 = tn - 1), i2 = y * (i2 - Kr * s2);
10436
10497
  var r2 = { x: en(Xr[s2], i2) * e2, y: en(Qr[s2], i2) };
10437
10498
  return t4.y < 0 && (r2.y = -r2.y), r2.x = r2.x * this.a * Zr + this.x0, r2.y = r2.y * this.a * Yr + this.y0, r2;
10438
10499
  }
@@ -10599,7 +10660,7 @@ proj4Src.exports = function() {
10599
10660
  var t4;
10600
10661
  if (this.phi1 = this.lat1, Math.abs(this.phi1) < zn)
10601
10662
  throw new Error();
10602
- this.es ? (this.en = ai(this.es), this.m1 = oi(this.phi1, this.am1 = Math.sin(this.phi1), t4 = Math.cos(this.phi1), this.en), this.am1 = t4 / (Math.sqrt(1 - this.es * this.am1 * this.am1) * this.am1), this.inverse = Gn, this.forward = Rn) : (Math.abs(this.phi1) + zn >= c ? this.cphi1 = 0 : this.cphi1 = 1 / Math.tan(this.phi1), this.inverse = Ln, this.forward = Vn);
10663
+ this.es ? (this.en = ai(this.es), this.m1 = oi(this.phi1, this.am1 = Math.sin(this.phi1), t4 = Math.cos(this.phi1), this.en), this.am1 = t4 / (Math.sqrt(1 - this.es * this.am1 * this.am1) * this.am1), this.inverse = Gn, this.forward = Rn) : (Math.abs(this.phi1) + zn >= c ? this.cphi1 = 0 : this.cphi1 = 1 / Math.tan(this.phi1), this.inverse = Vn, this.forward = $n);
10603
10664
  }
10604
10665
  function Rn(t4) {
10605
10666
  var e2, i2, s2, r2 = yt(t4.x - (this.long0 || 0)), n2 = t4.y;
@@ -10616,11 +10677,11 @@ proj4Src.exports = function() {
10616
10677
  }
10617
10678
  return t4.x = yt(s2 + (this.long0 || 0)), t4.y = fs(r2), t4;
10618
10679
  }
10619
- function Vn(t4) {
10680
+ function $n(t4) {
10620
10681
  var e2, i2, s2 = yt(t4.x - (this.long0 || 0)), r2 = t4.y;
10621
10682
  return i2 = this.cphi1 + this.phi1 - r2, Math.abs(i2) > zn ? (t4.x = i2 * Math.sin(e2 = s2 * Math.cos(r2) / i2), t4.y = this.cphi1 - i2 * Math.cos(e2)) : t4.x = t4.y = 0, t4.x = this.a * t4.x + (this.x0 || 0), t4.y = this.a * t4.y + (this.y0 || 0), t4;
10622
10683
  }
10623
- function Ln(t4) {
10684
+ function Vn(t4) {
10624
10685
  var e2, i2;
10625
10686
  t4.x = (t4.x - (this.x0 || 0)) / this.a, t4.y = (t4.y - (this.y0 || 0)) / this.a;
10626
10687
  var s2 = _i(t4.x, t4.y = this.cphi1 - t4.y);
@@ -10628,11 +10689,11 @@ proj4Src.exports = function() {
10628
10689
  throw new Error();
10629
10690
  return e2 = Math.abs(Math.abs(i2) - c) <= zn ? 0 : s2 * Math.atan2(t4.x, t4.y) / Math.cos(i2), t4.x = yt(e2 + (this.long0 || 0)), t4.y = fs(i2), t4;
10630
10691
  }
10631
- var $n = { init: Nn, names: ["bonne", "Bonne (Werner lat_1=90)"] };
10632
- function qn(t4) {
10633
- t4.Proj.projections.add(pi), t4.Proj.projections.add(Ci), t4.Proj.projections.add(Ti), t4.Proj.projections.add($i), t4.Proj.projections.add(Di), t4.Proj.projections.add(Hi), t4.Proj.projections.add(Ji), t4.Proj.projections.add(ss), t4.Proj.projections.add(os), t4.Proj.projections.add(xs), t4.Proj.projections.add(zs), t4.Proj.projections.add($s), t4.Proj.projections.add(Fs), t4.Proj.projections.add(Hs), t4.Proj.projections.add(Ys), t4.Proj.projections.add(ir), t4.Proj.projections.add(ar), t4.Proj.projections.add(cr), t4.Proj.projections.add(_r), t4.Proj.projections.add(xr), t4.Proj.projections.add(vr), t4.Proj.projections.add(Tr), t4.Proj.projections.add(Gr), t4.Proj.projections.add(qr), t4.Proj.projections.add(Hr), t4.Proj.projections.add(hn), t4.Proj.projections.add(dn), t4.Proj.projections.add(gn), t4.Proj.projections.add(bn), t4.Proj.projections.add(On), t4.Proj.projections.add($n);
10692
+ var qn = { init: Nn, names: ["bonne", "Bonne (Werner lat_1=90)"] };
10693
+ function Ln(t4) {
10694
+ t4.Proj.projections.add(pi), t4.Proj.projections.add(Ci), t4.Proj.projections.add(Ti), t4.Proj.projections.add(qi), t4.Proj.projections.add(Di), t4.Proj.projections.add(Hi), t4.Proj.projections.add(Ki), t4.Proj.projections.add(ss), t4.Proj.projections.add(os), t4.Proj.projections.add(xs), t4.Proj.projections.add(zs), t4.Proj.projections.add(qs), t4.Proj.projections.add(Fs), t4.Proj.projections.add(Hs), t4.Proj.projections.add(Ys), t4.Proj.projections.add(ir), t4.Proj.projections.add(ar), t4.Proj.projections.add(cr), t4.Proj.projections.add(_r), t4.Proj.projections.add(xr), t4.Proj.projections.add(vr), t4.Proj.projections.add(Tr), t4.Proj.projections.add(Gr), t4.Proj.projections.add(Lr), t4.Proj.projections.add(Hr), t4.Proj.projections.add(hn), t4.Proj.projections.add(dn), t4.Proj.projections.add(gn), t4.Proj.projections.add(bn), t4.Proj.projections.add(On), t4.Proj.projections.add(qn);
10634
10695
  }
10635
- return we.defaultDatum = "WGS84", we.Proj = ee, we.WGS84 = new we.Proj("WGS84"), we.Point = He, we.toPoint = pe, we.defs = rt, we.nadgrid = Bt, we.transform = me, we.mgrs = Ie, we.version = "2.17.0", qn(we), we;
10696
+ return we.defaultDatum = "WGS84", we.Proj = ee, we.WGS84 = new we.Proj("WGS84"), we.Point = He, we.toPoint = pe, we.defs = rt, we.nadgrid = Bt, we.transform = me, we.mgrs = Ie, we.version = "2.17.0", Ln(we), we;
10636
10697
  }();
10637
10698
  var proj4 = proj4Src.exports;
10638
10699
  let globalId = 1;
@@ -10735,7 +10796,7 @@ self.abortControllers = /* @__PURE__ */ new Map(), self.addEventListener("messag
10735
10796
  const l2 = new VectorTile(new pbf(h2)), { styleJSON: p2, defaultStyleJSON: f2, spriteData: _ } = self, { displayOptions: y } = s, m = new MapboxStyle(p2, f2, _), g = new SourceLayer(l2.layers, 0, { x: a, y: o, z: n }), x = new Executer(g, m, y, t);
10736
10797
  x.execute();
10737
10798
  const M = { background: [], fill_opaque: [], fill_water: [], fill_wood: [], fill_translucent: [], fill_extrusion_opaque: [], fill_extrusion_translucent: [], line_opaque: [], line_translucent: [], line_dashed: [], symbol: [] };
10738
- d = x.getExecutedData(M), c = M, c.background && u.push(c.background.vertices.buffer, c.background.layerIndices.buffer, c.background.colors.buffer, c.background.normals.buffer, c.background.indices.buffer), c.fill_opaque && u.push(c.fill_opaque.vertices.buffer, c.fill_opaque.layerIndices.buffer, c.fill_opaque.colors.buffer, c.fill_opaque.normals.buffer, c.fill_opaque.uvs.buffer, c.fill_opaque.indices.buffer), c.fill_pattern && u.push(c.fill_pattern.vertices.buffer, c.fill_pattern.layerIndices.buffer, c.fill_pattern.colors.buffer, c.fill_pattern.normals.buffer, c.fill_pattern.uvs.buffer, c.fill_pattern.indices.buffer, c.fill_pattern.icons.buffer), c.fill_water && u.push(c.fill_water.vertices.buffer, c.fill_water.layerIndices.buffer, c.fill_water.colors.buffer, c.fill_water.normals.buffer, c.fill_water.uvs.buffer, c.fill_water.indices.buffer), c.fill_wood && u.push(c.fill_wood.vertices.buffer, c.fill_wood.layerIndices.buffer, c.fill_wood.colors.buffer, c.fill_wood.normals.buffer, c.fill_wood.uvs.buffer, c.fill_wood.indices.buffer), c.fill_translucent && u.push(c.fill_translucent.vertices.buffer, c.fill_translucent.layerIndices.buffer, c.fill_translucent.colors.buffer, c.fill_translucent.normals.buffer, c.fill_translucent.uvs.buffer, c.fill_translucent.indices.buffer), c.fill_extrusion_opaque && u.push(c.fill_extrusion_opaque.vertices.buffer, c.fill_extrusion_opaque.layerIndices.buffer, c.fill_extrusion_opaque.colors.buffer, c.fill_extrusion_opaque.normals.buffer, c.fill_extrusion_opaque.uvs.buffer, c.fill_extrusion_opaque.indices.buffer, c.fill_extrusion_opaque.indices_side.buffer), c.fill_extrusion_translucent && u.push(c.fill_extrusion_translucent.vertices.buffer, c.fill_extrusion_translucent.layerIndices.buffer, c.fill_extrusion_translucent.colors.buffer, c.fill_extrusion_translucent.normals.buffer, c.fill_extrusion_translucent.uvs.buffer, c.fill_extrusion_translucent.indices.buffer, c.fill_extrusion_translucent.indices_side.buffer), c.line_opaque && u.push(c.line_opaque.vertices.buffer, c.line_opaque.layerIndices.buffer, c.line_opaque.colors.buffer, c.line_opaque.normals.buffer, c.line_opaque.widths.buffer, c.line_opaque.extentVertices.buffer, c.line_opaque.indices.buffer), c.line_translucent && u.push(c.line_translucent.vertices.buffer, c.line_translucent.layerIndices.buffer, c.line_translucent.colors.buffer, c.line_translucent.normals.buffer, c.line_translucent.widths.buffer, c.line_translucent.extentVertices.buffer, c.line_translucent.indices.buffer), c.line_dashed && u.push(c.line_dashed.vertices.buffer, c.line_dashed.layerIndices.buffer, c.line_dashed.colors.buffer, c.line_dashed.normals.buffer, c.line_dashed.widths.buffer, c.line_dashed.extentVertices.buffer, c.line_dashed.indices.buffer), c.maxLayerIndex = d;
10799
+ d = x.getExecutedData(M), c = M, c.background && u.push(c.background.vertices.buffer, c.background.layerIndices.buffer, c.background.colors.buffer, c.background.normals.buffer, c.background.indices.buffer), c.fill_opaque && u.push(c.fill_opaque.vertices.buffer, c.fill_opaque.layerIndices.buffer, c.fill_opaque.colors.buffer, c.fill_opaque.normals.buffer, c.fill_opaque.uvs.buffer, c.fill_opaque.indices.buffer), c.fill_pattern && u.push(c.fill_pattern.vertices.buffer, c.fill_pattern.layerIndices.buffer, c.fill_pattern.colors.buffer, c.fill_pattern.normals.buffer, c.fill_pattern.uvs.buffer, c.fill_pattern.indices.buffer, c.fill_pattern.icons.buffer), c.fill_water && u.push(c.fill_water.vertices.buffer, c.fill_water.layerIndices.buffer, c.fill_water.colors.buffer, c.fill_water.normals.buffer, c.fill_water.uvs.buffer, c.fill_water.indices.buffer), c.fill_wood && u.push(c.fill_wood.vertices.buffer, c.fill_wood.layerIndices.buffer, c.fill_wood.colors.buffer, c.fill_wood.normals.buffer, c.fill_wood.uvs.buffer, c.fill_wood.indices.buffer), c.fill_translucent && u.push(c.fill_translucent.vertices.buffer, c.fill_translucent.layerIndices.buffer, c.fill_translucent.colors.buffer, c.fill_translucent.normals.buffer, c.fill_translucent.uvs.buffer, c.fill_translucent.indices.buffer), c.fill_extrusion_opaque && u.push(c.fill_extrusion_opaque.vertices.buffer, c.fill_extrusion_opaque.layerIndices.buffer, c.fill_extrusion_opaque.colors.buffer, c.fill_extrusion_opaque.normals.buffer, c.fill_extrusion_opaque.uvs.buffer, c.fill_extrusion_opaque.indices.buffer, c.fill_extrusion_opaque.indices_side.buffer), c.fill_extrusion_translucent && u.push(c.fill_extrusion_translucent.vertices.buffer, c.fill_extrusion_translucent.layerIndices.buffer, c.fill_extrusion_translucent.colors.buffer, c.fill_extrusion_translucent.normals.buffer, c.fill_extrusion_translucent.uvs.buffer, c.fill_extrusion_translucent.indices.buffer, c.fill_extrusion_translucent.indices_side.buffer), c.line_opaque && u.push(c.line_opaque.vertices.buffer, c.line_opaque.layerIndices.buffer, c.line_opaque.colors.buffer, c.line_opaque.normals.buffer, c.line_opaque.widths.buffer, c.line_opaque.extentVertices.buffer, c.line_opaque.indices.buffer), c.line_translucent && u.push(c.line_translucent.vertices.buffer, c.line_translucent.layerIndices.buffer, c.line_translucent.colors.buffer, c.line_translucent.normals.buffer, c.line_translucent.widths.buffer, c.line_translucent.extentVertices.buffer, c.line_translucent.indices.buffer), c.line_dashed && u.push(c.line_dashed.vertices.buffer, c.line_dashed.layerIndices.buffer, c.line_dashed.colors.buffer, c.line_dashed.normals.buffer, c.line_dashed.widths.buffer, c.line_dashed.extentVertices.buffer, c.line_dashed.indices.buffer);
10739
10800
  } catch (t4) {
10740
10801
  "AbortError" === t4.name ? (f = true, self.abortControllers.delete(e)) : console.warn(t4);
10741
10802
  }