@arcgis/core 5.1.0-next.17 → 5.1.0-next.19

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 (686) hide show
  1. package/Camera.d.ts +1 -1
  2. package/Ground.d.ts +7 -7
  3. package/PopupTemplate.d.ts +6 -6
  4. package/WebScene.d.ts +1 -1
  5. package/analysis/AreaMeasurementAnalysis.d.ts +1 -1
  6. package/analysis/DirectLineMeasurementAnalysis.d.ts +1 -1
  7. package/analysis/LengthDimension.d.ts +4 -4
  8. package/analysis/ShadowCastAnalysis.d.ts +3 -3
  9. package/analysis/SliceAnalysis.d.ts +1 -1
  10. package/analysis/SlicePlane.d.ts +1 -1
  11. package/analysis/VolumeMeasurement/VolumeMeasurementCutFillOptions.d.ts +1 -1
  12. package/analysis/VolumeMeasurementAnalysis.d.ts +1 -1
  13. package/applications/Components/applySetUtils.d.ts +1 -1
  14. package/applications/WebEditor/geometryUtils.d.ts +26 -0
  15. package/applications/WebEditor/geometryUtils.js +2 -0
  16. package/assets/esri/core/workers/RemoteClient.js +1 -1
  17. package/assets/esri/core/workers/chunks/045e4e520d6dffe06ba7.js +1 -0
  18. package/assets/esri/core/workers/chunks/05d6cd51ca970705e46a.js +1 -0
  19. package/assets/esri/core/workers/chunks/{da5deed75e1a170a49b3.js → 08d73543c713984f6ecf.js} +13 -13
  20. package/assets/esri/core/workers/chunks/{982e709d2cef971ecd82.js → 0d9d33f29124d464a4cb.js} +1 -1
  21. package/assets/esri/core/workers/chunks/{07317f6b57c1314db442.js → 0e1d559d05229ef92e35.js} +1 -1
  22. package/assets/esri/core/workers/chunks/{2762149a922275136171.js → 112227b862b935123ddf.js} +2 -2
  23. package/assets/esri/core/workers/chunks/128cdb4a02549abc68b5.js +1 -0
  24. package/assets/esri/core/workers/chunks/1336f685bae5f1251558.js +1 -0
  25. package/assets/esri/core/workers/chunks/{b71e4f48377fefe2537d.js → 15d46482ec096e3ce161.js} +1 -1
  26. package/assets/esri/core/workers/chunks/1794db88a2006711eff3.js +1 -0
  27. package/assets/esri/core/workers/chunks/{a327f36561f093dc0fab.js → 19fcc74d34cbbaa56a41.js} +1 -1
  28. package/assets/esri/core/workers/chunks/{d0d1378e714ff0e43e26.js → 1cfa8d404d42b9eccf78.js} +1 -1
  29. package/assets/esri/core/workers/chunks/1e916e552ce7d53692d2.js +1 -0
  30. package/assets/esri/core/workers/chunks/2011da6dfc4bb89829c6.js +1 -0
  31. package/assets/esri/core/workers/chunks/{1e29a114c1cfe21121c4.js → 203ef5459fc5dde12851.js} +1 -1
  32. package/assets/esri/core/workers/chunks/215c54520d0da638fe57.js +1 -0
  33. package/assets/esri/core/workers/chunks/22045f85e503ae0ec8f4.js +1 -0
  34. package/assets/esri/core/workers/chunks/{78fc7ef00cc4931ef47d.js → 2351b713ba3d05de0728.js} +1 -1
  35. package/assets/esri/core/workers/chunks/{0a4ebb5dca630a4ab0dd.js → 236f8137ae505c8f0764.js} +1 -1
  36. package/assets/esri/core/workers/chunks/249630af2fb01257eb75.js +1 -0
  37. package/assets/esri/core/workers/chunks/{1f30558e3ad6ac68bdb8.js → 25d34552bfb255af9467.js} +1 -1
  38. package/assets/esri/core/workers/chunks/{7cd4280d24b24045bd7e.js → 27e14277128446e76b45.js} +1 -1
  39. package/assets/esri/core/workers/chunks/3214763f268622f09986.js +1 -0
  40. package/assets/esri/core/workers/chunks/32a1ccc145c9f6091e13.js +1 -0
  41. package/assets/esri/core/workers/chunks/34691b147318b2cfdd45.js +1 -0
  42. package/assets/esri/core/workers/chunks/{18c05353d6d8950d1491.js → 36215b2c0b1020743458.js} +1 -1
  43. package/assets/esri/core/workers/chunks/3d3b1ce112be6ea31d93.js +1 -0
  44. package/assets/esri/core/workers/chunks/{2badadf8032e166b34ec.js → 3f3c63420644f9522ab1.js} +1 -1
  45. package/assets/esri/core/workers/chunks/41108f58f0f439ebba3f.js +1 -0
  46. package/assets/esri/core/workers/chunks/{bc9997d15ec0a86793c6.js → 415957a42e45eb21aa84.js} +1 -1
  47. package/assets/esri/core/workers/chunks/43c797bfc2191b51875b.js +1 -0
  48. package/assets/esri/core/workers/chunks/460a82f3e4838b13e3b4.js +1 -0
  49. package/assets/esri/core/workers/chunks/4ad6f80488aa218b95e3.js +1 -0
  50. package/assets/esri/core/workers/chunks/4e9863a11d09900baf30.js +1 -0
  51. package/assets/esri/core/workers/chunks/4fe210314813ea1f7a26.js +1 -0
  52. package/assets/esri/core/workers/chunks/5028de543cc1b8e60e65.js +1 -0
  53. package/assets/esri/core/workers/chunks/52705ccbb452a3edb064.js +1 -0
  54. package/assets/esri/core/workers/chunks/{17b39b88547968048113.js → 531c55f3b8e708ccf767.js} +1 -1
  55. package/assets/esri/core/workers/chunks/{72acfb74fd9ab9bae923.js → 53e348f5585fa8c53fe8.js} +2 -2
  56. package/assets/esri/core/workers/chunks/54c545f44b7ce21fb604.js +1 -0
  57. package/assets/esri/core/workers/chunks/558e9fed2e58cbbf9947.js +1 -0
  58. package/assets/esri/core/workers/chunks/{b50d2d3379654de1f2f3.js → 58134617fb7530836b81.js} +1 -1
  59. package/assets/esri/core/workers/chunks/58c4be467a922fe37f01.js +1 -0
  60. package/assets/esri/core/workers/chunks/{ec4e2f18453e1cb68fed.js → 5f10f39835cb40179000.js} +1 -1
  61. package/assets/esri/core/workers/chunks/{7b1964255722e756eba3.js → 5f9eeab833a6c08c76c4.js} +1 -1
  62. package/assets/esri/core/workers/chunks/651b46aeabf22ff53a38.js +1 -0
  63. package/assets/esri/core/workers/chunks/65f86594c42ff82095fe.js +1 -0
  64. package/assets/esri/core/workers/chunks/{90316fb569389d48920f.js → 666f201d222c50ab8428.js} +1 -1
  65. package/assets/esri/core/workers/chunks/677f5e444ff588ab670f.js +1 -0
  66. package/assets/esri/core/workers/chunks/{323f6077a659416c4cee.js → 6a9a96aa811c1d3b6edb.js} +1 -1
  67. package/assets/esri/core/workers/chunks/6bf7d8de86b9eb76f920.js +1 -0
  68. package/assets/esri/core/workers/chunks/6c0b7890c8eec7febe28.js +1 -0
  69. package/assets/esri/core/workers/chunks/{25c189e894927099c239.js → 6c85396c90941a042c33.js} +1 -1
  70. package/assets/esri/core/workers/chunks/{18b0776aef1536867ab8.js → 6f337c3ccd84d90a35e5.js} +1 -1
  71. package/assets/esri/core/workers/chunks/711bec78dc00fad0f78d.js +1 -0
  72. package/assets/esri/core/workers/chunks/7382c9882525101eddad.js +1 -0
  73. package/assets/esri/core/workers/chunks/778ab9e4c3928b0d7d74.js +1 -0
  74. package/assets/esri/core/workers/chunks/{a3e8b7185d63a0f85931.js → 79c69ae86a1f4a56f7c7.js} +1 -1
  75. package/assets/esri/core/workers/chunks/{0420fb4b3592f8a26b1f.js → 7d2b1e5402a88b6bee85.js} +1 -1
  76. package/assets/esri/core/workers/chunks/7ec83fc059325e207825.js +1 -0
  77. package/assets/esri/core/workers/chunks/7f385e9c88df3395e678.js +1 -0
  78. package/assets/esri/core/workers/chunks/{66ed527cd8ad11d008be.js → 80d51d58db09b9f96cb5.js} +1 -1
  79. package/assets/esri/core/workers/chunks/81a45d7e9dadf678b584.js +1 -0
  80. package/assets/esri/core/workers/chunks/81c758bdc07ed9d9a132.js +1 -0
  81. package/assets/esri/core/workers/chunks/{8670d9d11950f3c61b79.js → 83711695e16912e9b9c5.js} +1 -1
  82. package/assets/esri/core/workers/chunks/8c3bf66f8543cedc72ef.js +1 -0
  83. package/assets/esri/core/workers/chunks/8cade3af17a8bb6d4e37.js +1 -0
  84. package/assets/esri/core/workers/chunks/920d6330df72e2f01d19.js +1 -0
  85. package/assets/esri/core/workers/chunks/9dc7abca1d1eb9ba5b58.js +1 -0
  86. package/assets/esri/core/workers/chunks/9e054c264b17f04b7efa.js +1 -0
  87. package/assets/esri/core/workers/chunks/a143a6f8e2f21548b244.js +1 -0
  88. package/assets/esri/core/workers/chunks/a48a6232fa33084cb686.js +1 -0
  89. package/assets/esri/core/workers/chunks/a4947d5d2fa6b7bd399b.js +1 -0
  90. package/assets/esri/core/workers/chunks/a49f1172b17c14527acf.js +1 -0
  91. package/assets/esri/core/workers/chunks/{6af14a0217077d9ab47f.js → aaf3ed508d30ed583915.js} +1 -1
  92. package/assets/esri/core/workers/chunks/{ab9156be67332338bbe4.js → aceec85ce64a3e6d8761.js} +1 -1
  93. package/assets/esri/core/workers/chunks/b10b3eb8c2ed9be14ab2.js +1 -0
  94. package/assets/esri/core/workers/chunks/b315b3771d0d19681aa5.js +1 -0
  95. package/assets/esri/core/workers/chunks/{91858b02da40ff251ab2.js → b397a9f87082705301a4.js} +2 -2
  96. package/assets/esri/core/workers/chunks/b40e4ed067da65c3d7ce.js +1 -0
  97. package/assets/esri/core/workers/chunks/b4b16914950792c46bd3.js +1 -0
  98. package/assets/esri/core/workers/chunks/{360b3499e2a671c309ce.js → b6969a42602517a6ef1c.js} +1 -1
  99. package/assets/esri/core/workers/chunks/baad696d84ab78b3d00e.js +2 -0
  100. package/assets/esri/core/workers/chunks/{2e7d4a437717606bc39c.js → bc2dcbdc414d157ab727.js} +1 -1
  101. package/assets/esri/core/workers/chunks/{1aa2187597f7c4adb67f.js → bcb254cb7297fec88679.js} +1 -1
  102. package/assets/esri/core/workers/chunks/{2d1a772abd730b61854f.js → bd2125e0a68378533641.js} +1 -1
  103. package/assets/esri/core/workers/chunks/{6bd910e0480451a8d6aa.js → bde2c3199f667b63dbe8.js} +1 -1
  104. package/assets/esri/core/workers/chunks/bf595eb10f99b8a96baa.js +1 -0
  105. package/assets/esri/core/workers/chunks/c0b6706f86665cec85f8.js +1 -0
  106. package/assets/esri/core/workers/chunks/{12fd2e26e949d90abfbd.js → c3c6d337ff53e5d921e8.js} +1 -1
  107. package/assets/esri/core/workers/chunks/c461c19e4fdbdd2e94d4.js +1 -0
  108. package/assets/esri/core/workers/chunks/{4214f46bee613dea72f3.js → c66aa57b6360963bd938.js} +1 -1
  109. package/assets/esri/core/workers/chunks/c873ac660e7d5dc88781.js +1 -0
  110. package/assets/esri/core/workers/chunks/c99f36159b5ed6f9267e.js +1 -0
  111. package/assets/esri/core/workers/chunks/cb5f4820277f3fc7ff2f.js +1 -0
  112. package/assets/esri/core/workers/chunks/cbcb3530375e280bfeac.js +1 -0
  113. package/assets/esri/core/workers/chunks/cf4202ad468501ef24cf.js +1 -0
  114. package/assets/esri/core/workers/chunks/d03d50f3247327257d8b.js +1 -0
  115. package/assets/esri/core/workers/chunks/{a5af20f3d484d2d3bafe.js → d2017b0b27b9e4ada922.js} +1 -1
  116. package/assets/esri/core/workers/chunks/d2d9c1f32a75befe168b.js +1 -0
  117. package/assets/esri/core/workers/chunks/{5c12a9b0db317620dce2.js → d39f5d57f7e35c00ca16.js} +1 -1
  118. package/assets/esri/core/workers/chunks/d5b4487a983921572e58.js +1 -0
  119. package/assets/esri/core/workers/chunks/d78b2f85ec9212a973e8.js +1 -0
  120. package/assets/esri/core/workers/chunks/d9dc8d9fc8ab2706f96b.js +1 -0
  121. package/assets/esri/core/workers/chunks/{09cf8aed89a1ea1f8b28.js → da42da04a9df651b06cc.js} +1 -1
  122. package/assets/esri/core/workers/chunks/{a82587f69c4bbcac7e0b.js → dc7df2072c0ebed5602c.js} +1 -1
  123. package/assets/esri/core/workers/chunks/dd24cddc406f610d2483.js +1 -0
  124. package/assets/esri/core/workers/chunks/dd3789e71270a4640551.js +1 -0
  125. package/assets/esri/core/workers/chunks/de5719ef663224860af5.js +1 -0
  126. package/assets/esri/core/workers/chunks/de6438fdbe38d32c4ad5.js +1 -0
  127. package/assets/esri/core/workers/chunks/ded71a656e2626a411f9.js +1 -0
  128. package/assets/esri/core/workers/chunks/df1fa0f7e8f7e2bcc2e6.js +1 -0
  129. package/assets/esri/core/workers/chunks/{b705f837caa76cee81fc.js → e09722903e63f6cc2540.js} +1 -1
  130. package/assets/esri/core/workers/chunks/e2e03622936d2b35afc0.js +1 -0
  131. package/assets/esri/core/workers/chunks/e33f5780fb45ac7ca889.js +1 -0
  132. package/assets/esri/core/workers/chunks/{eb9e913fe0dfcc71cf92.js → e4611ebd7dba7692a914.js} +1 -1
  133. package/assets/esri/core/workers/chunks/e52793690dff1a199647.js +1 -0
  134. package/assets/esri/core/workers/chunks/{c13efb74aa4602f6a1ee.js → e56a10a475ce128b5fce.js} +1 -1
  135. package/assets/esri/core/workers/chunks/{9531f17cecd50431cce2.js → e8ae71e482b8d5f54a72.js} +1 -1
  136. package/assets/esri/core/workers/chunks/ea633a6a3b9ea8ce965d.js +1 -0
  137. package/assets/esri/core/workers/chunks/eae1c098c16e2faaf90d.js +1 -0
  138. package/assets/esri/core/workers/chunks/{f7e25a85a79c4e3c1c9f.js → ec63c0fa21cd3c872633.js} +1 -1
  139. package/assets/esri/core/workers/chunks/ece363681bb09072f379.js +1 -0
  140. package/assets/esri/core/workers/chunks/edaae0fc63d16b0f675d.js +2 -0
  141. package/assets/esri/core/workers/chunks/{8650fbe1db55b7280c00.js → ef4237dc7b67c9039826.js} +1 -1
  142. package/assets/esri/core/workers/chunks/ef9106ee818ec732b670.js +1 -0
  143. package/assets/esri/core/workers/chunks/f121a0bf33c03abfa0b6.js +1 -0
  144. package/assets/esri/core/workers/chunks/{a2f38e86acf45272dbc2.js → f7506c9d57b2ae0c5fd3.js} +1 -1
  145. package/assets/esri/core/workers/chunks/fab7e3e07d700d7bb651.js +1 -0
  146. package/assets/esri/core/workers/chunks/fcc8d0b60f7c2397e550.js +1 -0
  147. package/assets/esri/core/workers/chunks/fe5aec7e2da4465422b4.js +1 -0
  148. package/assets/esri/themes/base/widgets/_BasemapGallery.scss +1 -0
  149. package/assets/esri/themes/base/widgets/_Editor.scss +1 -0
  150. package/assets/esri/themes/dark/main.css +1 -1
  151. package/assets/esri/themes/light/main.css +1 -1
  152. package/assets/esri/themes/light/view.css +1 -1
  153. package/chunks/Envelope.js +1 -1
  154. package/chunks/GeodeticDistanceCalculator-Ce-woMPw.js +1 -1
  155. package/chunks/GeodeticUtils.js +1 -1
  156. package/chunks/Geometry.js +1 -1
  157. package/chunks/HUDMaterial.glsl.js +41 -64
  158. package/chunks/MeasurementArrow.glsl.js +7 -8
  159. package/chunks/MultiPathImpl.js +1 -1
  160. package/chunks/OperatorGeodesicBuffer.js +1 -1
  161. package/chunks/OperatorGeodeticArea.js +1 -1
  162. package/chunks/OperatorGeodeticDensifyByLength.js +1 -1
  163. package/chunks/OperatorGeodeticLength.js +1 -1
  164. package/chunks/OperatorIntegrate.js +2 -0
  165. package/chunks/OperatorMultiPartToSinglePart.js +1 -1
  166. package/chunks/OperatorProximityGeodesic.js +1 -1
  167. package/chunks/OperatorShapePreservingLength.js +1 -1
  168. package/chunks/OperatorShapePreservingProject.js +1 -1
  169. package/chunks/Point2D.js +1 -1
  170. package/chunks/RealisticTree.glsl.js +3 -3
  171. package/chunks/RibbonLine.glsl.js +29 -35
  172. package/chunks/SpatialReference.js +1 -1
  173. package/chunks/Terrain.glsl.js +24 -24
  174. package/chunks/containsOperator.js +1 -1
  175. package/chunks/disjointOperator.js +1 -1
  176. package/chunks/relateOperator.js +1 -1
  177. package/config.js +1 -1
  178. package/core/has.js +1 -1
  179. package/editing/sharedTemplates/SharedTemplateMetadata.d.ts +0 -31
  180. package/{layers/graphics/editingSupport.d.ts → editing/types.d.ts} +8 -8
  181. package/editing/types.js +2 -0
  182. package/effects/FocusAreas.d.ts +1 -1
  183. package/form/elements/FieldElement.d.ts +1 -1
  184. package/form/elements/GroupElement.d.ts +1 -1
  185. package/form/elements/TextElement.d.ts +1 -1
  186. package/form/elements/inputs/ComboBoxInput.d.ts +1 -1
  187. package/form/elements/inputs/RadioButtonsInput.d.ts +1 -1
  188. package/form/elements/inputs/SwitchInput.d.ts +1 -1
  189. package/geometry/Mesh.d.ts +7 -7
  190. package/geometry/operators/alphaShapeOperator.d.ts +1 -1
  191. package/geometry/operators/areaOperator.d.ts +1 -1
  192. package/geometry/operators/bufferOperator.d.ts +1 -1
  193. package/geometry/operators/centroidOperator.d.ts +1 -1
  194. package/geometry/operators/clipOperator.d.ts +1 -1
  195. package/geometry/operators/containsOperator.d.ts +1 -1
  196. package/geometry/operators/convexHullOperator.d.ts +1 -1
  197. package/geometry/operators/crossesOperator.d.ts +1 -1
  198. package/geometry/operators/cutOperator.d.ts +1 -1
  199. package/geometry/operators/densifyOperator.d.ts +1 -1
  200. package/geometry/operators/differenceOperator.d.ts +1 -1
  201. package/geometry/operators/disjointOperator.d.ts +1 -1
  202. package/geometry/operators/distanceOperator.d.ts +1 -1
  203. package/geometry/operators/extendOperator.js +1 -1
  204. package/geometry/operators/generalizeOperator.d.ts +1 -1
  205. package/geometry/operators/geodesicProximityOperator.d.ts +1 -1
  206. package/geometry/operators/geodeticDistanceOperator.d.ts +1 -1
  207. package/geometry/operators/geodeticUtilsOperator.d.ts +2 -2
  208. package/geometry/operators/graphicBufferOperator.d.ts +1 -1
  209. package/geometry/operators/gx/operatorAlphaShape.js +1 -1
  210. package/geometry/operators/gx/operatorAutoComplete.js +1 -1
  211. package/geometry/operators/gx/operatorConvexHull.js +1 -1
  212. package/geometry/operators/gx/operatorIntegrate.js +1 -1
  213. package/geometry/operators/gx/operatorIntersection.js +1 -1
  214. package/geometry/operators/gx/operatorLabelPoint.js +1 -1
  215. package/geometry/operators/gx/operatorMinimumBoundingCircle.js +1 -1
  216. package/geometry/operators/gx/operatorPolygonOverlay.js +1 -1
  217. package/geometry/operators/gx/operatorSymmetricDifference.js +1 -1
  218. package/geometry/operators/intersectionOperator.d.ts +1 -1
  219. package/geometry/operators/intersectsOperator.d.ts +1 -1
  220. package/geometry/operators/isNearOperator.d.ts +1 -1
  221. package/geometry/operators/json/containsOperator.js +1 -1
  222. package/geometry/operators/json/disjointOperator.js +1 -1
  223. package/geometry/operators/lengthOperator.d.ts +1 -1
  224. package/geometry/operators/locateBetweenOperator.d.ts +1 -1
  225. package/geometry/operators/multiPartToSinglePartOperator.d.ts +1 -1
  226. package/geometry/operators/offsetOperator.d.ts +5 -5
  227. package/geometry/operators/overlapsOperator.d.ts +1 -1
  228. package/geometry/operators/proximityOperator.d.ts +1 -1
  229. package/geometry/operators/reshapeOperator.js +1 -1
  230. package/geometry/operators/simplifyOGCOperator.d.ts +1 -1
  231. package/geometry/operators/simplifyOperator.d.ts +1 -1
  232. package/geometry/operators/support/GeographicTransformation.d.ts +6 -4
  233. package/geometry/operators/support/GeographicTransformation.js +1 -1
  234. package/geometry/operators/support/GeographicTransformationStep.d.ts +5 -3
  235. package/geometry/operators/support/GeographicTransformationStep.js +1 -1
  236. package/geometry/operators/support/Transformation.d.ts +6 -6
  237. package/geometry/operators/support/jsonConverter.js +1 -1
  238. package/geometry/operators/support/projectionTransformation.js +1 -1
  239. package/geometry/operators/symmetricDifferenceOperator.d.ts +1 -1
  240. package/geometry/operators/touchesOperator.d.ts +1 -1
  241. package/geometry/operators/unionOperator.d.ts +1 -1
  242. package/geometry/operators/withinOperator.d.ts +1 -1
  243. package/geometry/support/MeshMaterialMetallicRoughness.d.ts +1 -1
  244. package/geometry/support/zscale.js +1 -1
  245. package/graphic/KnowledgeGraphGraphicOrigin.d.ts +0 -1
  246. package/graphic/LinkChartGraphicOrigin.js +1 -1
  247. package/interfaces.d.ts +60 -60
  248. package/kernel.js +1 -1
  249. package/layers/BuildingSceneLayer.d.ts +4 -4
  250. package/layers/CSVLayer.d.ts +319 -542
  251. package/layers/CSVLayer.js +1 -1
  252. package/layers/CatalogLayer.d.ts +2 -2
  253. package/layers/ElevationLayer.d.ts +1 -1
  254. package/layers/FeatureLayer.d.ts +15 -15
  255. package/layers/FeatureLayer.js +1 -1
  256. package/layers/GeoJSONLayer.d.ts +6 -6
  257. package/layers/GeoRSSLayer.d.ts +1 -1
  258. package/layers/GraphicsLayer.d.ts +2 -2
  259. package/layers/ImageryLayer.d.ts +3 -3
  260. package/layers/ImageryTileLayer.d.ts +2 -2
  261. package/layers/IntegratedMesh3DTilesLayer.d.ts +6 -6
  262. package/layers/IntegratedMeshLayer.d.ts +7 -7
  263. package/layers/MapImageLayer.d.ts +1 -1
  264. package/layers/MediaLayer.d.ts +1 -1
  265. package/layers/OGCFeatureLayer.d.ts +2 -2
  266. package/layers/OrientedImageryLayer.d.ts +6 -6
  267. package/layers/OrientedImageryLayer.js +1 -1
  268. package/layers/PointCloudLayer.d.ts +1 -1
  269. package/layers/SceneLayer.d.ts +7 -7
  270. package/layers/StreamLayer.d.ts +2 -2
  271. package/layers/SubtypeGroupLayer.d.ts +5 -5
  272. package/layers/VectorTileLayer.d.ts +2 -2
  273. package/layers/VideoLayer.d.ts +1 -1
  274. package/layers/VoxelLayer.d.ts +8 -8
  275. package/layers/WFSLayer.d.ts +6 -6
  276. package/layers/catalog/CatalogFootprintLayer.d.ts +1 -1
  277. package/layers/graphics/applyEditsUtils.js +1 -1
  278. package/layers/graphics/data/QueryEngineCapabilities.js +1 -1
  279. package/layers/graphics/data/QueryEngineResult.js +1 -1
  280. package/layers/graphics/editingSupport.js +1 -1
  281. package/layers/graphics/sources/FeatureLayerSource.js +1 -1
  282. package/layers/graphics/sources/OGCFeatureSource.js +1 -1
  283. package/layers/graphics/sources/support/CSVSourceWorker.js +1 -1
  284. package/layers/graphics/sources/support/ParquetSourceWorker.js +1 -1
  285. package/layers/graphics/sources/support/QueryTask.js +1 -1
  286. package/layers/mixins/ArcGISImageService.js +1 -1
  287. package/layers/mixins/BlendLayer.d.ts +6 -6
  288. package/layers/mixins/EditBusLayer.d.ts +1 -1
  289. package/layers/orientedImagery/core/ExposurePoint.js +1 -1
  290. package/layers/orientedImagery/transformations/utils.js +1 -1
  291. package/layers/pointCloudFilters/PointCloudReturnFilter.d.ts +1 -1
  292. package/layers/pointCloudFilters/PointCloudValueFilter.d.ts +1 -1
  293. package/layers/raster/datasets/ImageServerRaster.js +1 -1
  294. package/layers/raster/functions/ExtractBandFunction.js +1 -1
  295. package/layers/support/DimensionalDefinition.d.ts +2 -2
  296. package/layers/support/FeatureEffect.d.ts +4 -4
  297. package/layers/support/FeatureFilter.d.ts +17 -17
  298. package/layers/support/FeatureReductionBinning.d.ts +1 -1
  299. package/layers/support/FeatureReductionCluster.d.ts +9 -9
  300. package/layers/support/LabelClass.d.ts +2 -2
  301. package/layers/support/RasterFunction.d.ts +1 -1
  302. package/layers/support/SceneFilter.d.ts +2 -2
  303. package/layers/support/SceneModification.d.ts +3 -3
  304. package/layers/support/SubtypeSublayer.d.ts +5 -5
  305. package/layers/support/arcgisLayerUrl.js +1 -1
  306. package/layers/support/capabilities.js +1 -1
  307. package/layers/support/featurePopupQueryUtils.js +1 -1
  308. package/layers/support/serviceCapabilitiesUtils.js +1 -1
  309. package/networks/support/Circuit.d.ts +11 -2
  310. package/networks/support/CircuitSection.d.ts +3 -2
  311. package/networks/support/TraceConfiguration.d.ts +5 -4
  312. package/networks/support/UNTraceConfiguration.d.ts +6 -5
  313. package/networks/support/jsonTypes.d.ts +305 -0
  314. package/package.json +3 -3
  315. package/popup/content/AttachmentsContent.d.ts +1 -1
  316. package/popup/content/BarChartMediaInfo.d.ts +1 -1
  317. package/popup/content/ColumnChartMediaInfo.d.ts +1 -1
  318. package/popup/content/FieldsContent.d.ts +1 -1
  319. package/popup/content/ImageMediaInfo.d.ts +1 -1
  320. package/popup/content/LineChartMediaInfo.d.ts +1 -1
  321. package/popup/content/MediaContent.d.ts +1 -1
  322. package/popup/content/PieChartMediaInfo.d.ts +1 -1
  323. package/popup/content/RelationshipContent.d.ts +1 -1
  324. package/popup/content/TextContent.d.ts +1 -1
  325. package/portal/schemas/definitions.js +1 -1
  326. package/portal/support/urlUtils.js +1 -1
  327. package/renderers/DotDensityRenderer.d.ts +3 -3
  328. package/renderers/FlowRenderer.d.ts +6 -6
  329. package/renderers/HeatmapRenderer.d.ts +3 -3
  330. package/renderers/PieChartRenderer.d.ts +1 -1
  331. package/renderers/RasterShadedReliefRenderer.d.ts +1 -1
  332. package/renderers/Renderer.d.ts +2 -2
  333. package/renderers/SimpleRenderer.d.ts +1 -1
  334. package/renderers/VectorFieldRenderer.d.ts +1 -1
  335. package/renderers/mixins/VisualVariablesMixin.d.ts +8 -8
  336. package/rest/featureService/FeatureService.js +1 -1
  337. package/rest/featureService/types.d.ts +7 -1
  338. package/rest/query/operations/editsZScale.js +1 -1
  339. package/rest/query/operations/pbfFlatFeatureSet.js +1 -1
  340. package/rest/query/support/AttachmentInfo.d.ts +1 -1
  341. package/rest/support/AutoIntervalBinParameters.d.ts +1 -1
  342. package/rest/support/DateBinParameters.d.ts +1 -1
  343. package/rest/support/FixedBoundariesBinParameters.d.ts +1 -1
  344. package/rest/support/FixedIntervalBinParameters.d.ts +1 -1
  345. package/rest/support/Query.d.ts +3 -2
  346. package/rest/types.d.ts +1 -3
  347. package/smartMapping/labels/clusters.d.ts +1 -1
  348. package/smartMapping/popup/clusters.d.ts +2 -2
  349. package/smartMapping/popup/templates.d.ts +1 -1
  350. package/smartMapping/raster/renderers/flow.d.ts +2 -2
  351. package/smartMapping/renderers/color.d.ts +12 -12
  352. package/smartMapping/renderers/predominance.d.ts +3 -3
  353. package/smartMapping/renderers/relationship.d.ts +15 -15
  354. package/smartMapping/renderers/univariateColorSize.d.ts +4 -4
  355. package/smartMapping/support/adapters/FeatureLayerAdapter.js +1 -1
  356. package/smartMapping/support/adapters/InMemoryLayerAdapter.js +1 -1
  357. package/smartMapping/support/utils.js +1 -1
  358. package/smartMapping/symbology/color.d.ts +4 -4
  359. package/smartMapping/symbology/flow.d.ts +2 -2
  360. package/smartMapping/symbology/types.d.ts +18 -18
  361. package/support/revision.js +1 -1
  362. package/symbols/CIMSymbol.d.ts +1 -1
  363. package/symbols/FillSymbol3DLayer.d.ts +3 -3
  364. package/symbols/IconSymbol3DLayer.d.ts +1 -1
  365. package/symbols/LabelSymbol3D.d.ts +2 -2
  366. package/symbols/LineStyleMarker3D.d.ts +7 -7
  367. package/symbols/LineSymbol3D.d.ts +2 -2
  368. package/symbols/LineSymbol3DLayer.d.ts +7 -7
  369. package/symbols/LineSymbolMarker.d.ts +6 -6
  370. package/symbols/MarkerSymbol.d.ts +1 -1
  371. package/symbols/MeshSymbol3D.d.ts +2 -2
  372. package/symbols/ObjectSymbol3DLayer.d.ts +1 -1
  373. package/symbols/PathSymbol3DLayer.d.ts +14 -14
  374. package/symbols/PictureFillSymbol.d.ts +1 -1
  375. package/symbols/PictureMarkerSymbol.d.ts +1 -1
  376. package/symbols/PointSymbol3D.d.ts +3 -3
  377. package/symbols/PolygonSymbol3D.d.ts +8 -26
  378. package/symbols/PolygonSymbol3D.js +1 -1
  379. package/symbols/SimpleFillSymbol.d.ts +8 -8
  380. package/symbols/SimpleLineSymbol.d.ts +20 -20
  381. package/symbols/SimpleMarkerSymbol.d.ts +7 -7
  382. package/symbols/Symbol3DLayer.d.ts +28 -34
  383. package/symbols/TextSymbol.d.ts +1 -1
  384. package/symbols/TextSymbol3DLayer.d.ts +1 -1
  385. package/symbols/WaterSymbol3DLayer.d.ts +3 -3
  386. package/symbols/WebStyleSymbol.d.ts +1 -1
  387. package/symbols/callouts/Callout3D.d.ts +1 -1
  388. package/symbols/callouts/LineCallout3D.d.ts +3 -3
  389. package/symbols/cim/CIMCursor.js +1 -1
  390. package/symbols/cim/CIMSymbolHelper.js +1 -1
  391. package/symbols/cim/cimAnalyzer.js +1 -1
  392. package/symbols/cim/placements/PlacementAlongLineSameSize.js +1 -1
  393. package/symbols/cim/placements/PlacementAtExtremities.js +1 -1
  394. package/symbols/cim/placements/PlacementAtMeasuredUnits.js +1 -1
  395. package/symbols/cim/placements/PlacementAtRatioPositions.js +1 -1
  396. package/symbols/cim/placements/PlacementOnLine.js +1 -1
  397. package/symbols/cim/placements/PlacementOnVertices.js +1 -1
  398. package/symbols/cim/types.d.ts +30 -23
  399. package/symbols/edges/Edges3D.d.ts +1 -1
  400. package/symbols/edges/SolidEdges3D.d.ts +1 -1
  401. package/symbols/patterns/LineStylePattern3D.d.ts +11 -11
  402. package/symbols/patterns/StylePattern3D.d.ts +8 -8
  403. package/symbols/support/ElevationInfo.d.ts +2 -2
  404. package/symbols/support/IconSymbol3DLayerResource.d.ts +6 -6
  405. package/symbols/support/ObjectSymbol3DLayerResource.d.ts +7 -7
  406. package/symbols/support/Symbol3DEmissive.d.ts +24 -13
  407. package/symbols/support/Symbol3DVerticalOffset.d.ts +2 -2
  408. package/symbols/support/previewSymbol3D.js +1 -1
  409. package/versionManagement/VersionManagementService.d.ts +3 -2
  410. package/views/2d/analysis/DistanceMeasurement/utils.js +1 -1
  411. package/views/2d/engine/webgl/shaderGraph/techniques/GraphicInstanceStore.js +1 -1
  412. package/views/2d/engine/webgl/shaderGraph/techniques/animated/AAnimatedPolyShader.js +1 -1
  413. package/views/2d/engine/webgl/shaderGraph/techniques/animated/AnimatedFillShader.js +1 -1
  414. package/views/2d/engine/webgl/shaderGraph/techniques/animated/AnimatedPolyMeshWriters.js +1 -1
  415. package/views/2d/engine/webgl/shaderGraph/techniques/animated/attributes.js +1 -1
  416. package/views/2d/engine/webgl/shaders/sources/shaderRepository.js +1 -1
  417. package/views/2d/layers/BaseLayerViewGL2D.d.ts +1 -1
  418. package/views/2d/layers/features/schema/processor/symbols/ComplexSymbolSchema.js +1 -1
  419. package/views/2d/layers/imagery/BaseImageryTileSubView2D.js +1 -1
  420. package/views/2d/types.d.ts +3 -3
  421. package/views/3d/environment/CloudyWeather.d.ts +1 -1
  422. package/views/3d/environment/Environment.d.ts +4 -4
  423. package/views/3d/environment/FoggyWeather.d.ts +1 -1
  424. package/views/3d/environment/RainyWeather.d.ts +1 -1
  425. package/views/3d/environment/SnowyWeather.d.ts +1 -1
  426. package/views/3d/environment/SunLighting.d.ts +1 -1
  427. package/views/3d/environment/SunnyWeather.d.ts +1 -1
  428. package/views/3d/environment/VirtualLighting.d.ts +1 -1
  429. package/views/3d/layers/graphics/Deconflictor.js +1 -1
  430. package/views/3d/layers/graphics/FeatureGraphics3DGraphicsPipeline.js +1 -1
  431. package/views/3d/layers/i3s/I3SViewportQueries.js +1 -1
  432. package/views/3d/support/MemoryController.js +1 -1
  433. package/views/3d/support/orientedBoundingBox.js +1 -1
  434. package/views/3d/webgl/RenderNode.d.ts +46 -57
  435. package/views/3d/webgl-engine/collections/Component/Material/ComponentMaterial.js +1 -1
  436. package/views/3d/webgl-engine/lib/RenderingContext.js +1 -1
  437. package/views/3d/webgl-engine/lib/TextureBackedBuffer/TextureBuffer.js +1 -1
  438. package/views/3d/webgl-engine/lib/Viewshed.js +1 -1
  439. package/views/3d/webgl-engine/materials/renderers/BufferCache.js +2 -0
  440. package/views/3d/webgl-engine/materials/renderers/MergedBuffer.js +1 -1
  441. package/views/3d/webgl-engine/materials/renderers/MergedRenderer.js +1 -1
  442. package/views/3d/webgl-engine/materials/renderers/PerBufferData.js +1 -1
  443. package/views/3d/webgl-engine/materials/renderers/PerOriginData.js +1 -1
  444. package/views/3d/webgl-engine/materials/renderers/TextureBufferCache.js +2 -0
  445. package/views/3d/webgl-engine/materials/renderers/VaoWriter.js +1 -1
  446. package/views/3d/webgl-engine/materials/renderers/VboCache.js +2 -0
  447. package/views/3d/webgl-engine/shaders/HUDMaterial.glsl.js +1 -1
  448. package/views/3d/webgl-engine/shaders/MeasurementArrow.glsl.js +1 -1
  449. package/views/3d/webgl-engine/shaders/OutputColorHighlightOLID.glsl.js +7 -7
  450. package/views/3d/webgl-engine/shaders/RealisticTree.glsl.js +1 -1
  451. package/views/3d/webgl-engine/shaders/RibbonLine.glsl.js +1 -1
  452. package/views/3d/webgl-engine/shaders/Terrain.glsl.js +1 -1
  453. package/views/3d/webgl-engine/shaders/alphaCutoff.glsl.js +2 -0
  454. package/views/3d/webgl.d.ts +8 -5
  455. package/views/DOMContainer.js +1 -1
  456. package/views/Magnifier.d.ts +3 -3
  457. package/views/MapView.d.ts +7 -7
  458. package/views/SceneView.d.ts +34 -37
  459. package/views/View.d.ts +2 -2
  460. package/views/analysis/ElevationProfile/ElevationProfileChart.js +1 -1
  461. package/views/draw/DrawOperation.js +1 -1
  462. package/views/draw/DrawTool.js +1 -1
  463. package/views/draw/plugins/BezierSegmentPlugin.js +1 -1
  464. package/views/draw/plugins/CircularArcSegmentPlugin.js +1 -1
  465. package/views/draw/plugins/FreehandSegmentPlugin.js +1 -1
  466. package/views/draw/plugins/MultipointPlugin.js +1 -1
  467. package/views/draw/plugins/PointPlugin.js +1 -1
  468. package/views/draw/plugins/PolygonPlugin.js +1 -1
  469. package/views/draw/plugins/PolylinePlugin.js +1 -1
  470. package/views/draw/plugins/ShapePlugin.js +1 -1
  471. package/views/draw/support/managers/TooltipManager.js +1 -1
  472. package/views/interactive/sketch/SketchLabelOptions.d.ts +1 -1
  473. package/views/interactive/sketch/SketchTooltipOptions.d.ts +1 -1
  474. package/views/interactive/snapping/RightAngleSnapper.js +1 -1
  475. package/views/interactive/snapping/RightAngleTriangleSnapper.js +1 -1
  476. package/views/interactive/snapping/SnappingOptions.d.ts +7 -7
  477. package/views/interactive/snapping/featureSources/featureServiceSource/FeatureServiceTiledFetcher.js +1 -1
  478. package/views/interactive/tooltip/content/TooltipContentDynamic.js +1 -1
  479. package/views/interactive/tooltip/infos/DynamicTooltipInfo.js +1 -1
  480. package/views/layers/FeatureLikeLayerView.js +1 -1
  481. package/views/support/HighlightOptions.d.ts +1 -1
  482. package/views/support/flow/dataUtils.js +1 -1
  483. package/views/ui/DefaultUI.d.ts +2 -2
  484. package/views/webgl/VertexArrayObject.js +1 -1
  485. package/webscene/Environment.d.ts +10 -10
  486. package/webscene/Glow.d.ts +13 -2
  487. package/webscene/background/ColorBackground.d.ts +1 -1
  488. package/webscene/spec-certification/spec.js +1 -1
  489. package/widgets/AreaMeasurement2D.d.ts +1 -1
  490. package/widgets/AreaMeasurement3D.d.ts +2 -2
  491. package/widgets/Attachments.d.ts +1 -1
  492. package/widgets/Attribution.d.ts +1 -1
  493. package/widgets/BasemapGallery.d.ts +1 -1
  494. package/widgets/BasemapLayerList.d.ts +3 -3
  495. package/widgets/BasemapToggle.d.ts +1 -1
  496. package/widgets/Bookmarks/BookmarksVisibleElements.d.ts +1 -1
  497. package/widgets/Bookmarks.d.ts +2 -2
  498. package/widgets/BuildingExplorer.d.ts +1 -1
  499. package/widgets/CatalogLayerList.d.ts +3 -3
  500. package/widgets/Compass.d.ts +2 -2
  501. package/widgets/CoordinateConversion.d.ts +1 -1
  502. package/widgets/Daylight.d.ts +5 -5
  503. package/widgets/DirectLineMeasurement3D.d.ts +2 -2
  504. package/widgets/Directions/DirectionsViewModel.d.ts +12 -0
  505. package/widgets/Directions/DirectionsViewModel.js +1 -1
  506. package/widgets/Directions.d.ts +4 -4
  507. package/widgets/Directions.js +1 -1
  508. package/widgets/DistanceMeasurement2D.d.ts +1 -1
  509. package/widgets/Editor/CreateFeaturesWorkflow.d.ts +1 -1
  510. package/widgets/Editor/CreateFeaturesWorkflow.js +1 -1
  511. package/widgets/Editor/SplitFeatureWorkflow.js +1 -1
  512. package/widgets/Editor.d.ts +2 -2
  513. package/widgets/ElevationProfile/ElevationProfileLineGround.d.ts +1 -1
  514. package/widgets/ElevationProfile/ElevationProfileLineInput.d.ts +1 -1
  515. package/widgets/ElevationProfile/ElevationProfileLineView.d.ts +1 -1
  516. package/widgets/ElevationProfile.d.ts +3 -3
  517. package/widgets/Expand.d.ts +1 -1
  518. package/widgets/FeatureForm.d.ts +1 -1
  519. package/widgets/FeatureTable/ActionColumn.d.ts +1 -1
  520. package/widgets/FeatureTable/AttachmentsColumn.d.ts +1 -1
  521. package/widgets/FeatureTable/FeatureTableViewModel.d.ts +3 -3
  522. package/widgets/FeatureTable/Grid/GroupColumn.d.ts +1 -1
  523. package/widgets/FeatureTable/RelationshipColumn.d.ts +1 -1
  524. package/widgets/FeatureTable/VisibleElements.d.ts +1 -1
  525. package/widgets/FeatureTable.d.ts +9 -9
  526. package/widgets/FeatureTemplates/FeatureTemplatesViewModel.d.ts +5 -5
  527. package/widgets/FeatureTemplates.d.ts +8 -8
  528. package/widgets/Features/FeaturesViewModel.d.ts +2 -2
  529. package/widgets/Features/FeaturesVisibleElements.d.ts +2 -2
  530. package/widgets/Features.d.ts +1 -1
  531. package/widgets/FloorFilter/FloorFilterViewModel.js +1 -1
  532. package/widgets/Histogram.d.ts +2 -2
  533. package/widgets/HistogramRangeSlider.d.ts +1 -1
  534. package/widgets/Home/HomeViewModel.d.ts +2 -1
  535. package/widgets/Home/HomeViewModel.js +1 -1
  536. package/widgets/Home.d.ts +1 -1
  537. package/widgets/Home.js +1 -1
  538. package/widgets/LayerList.d.ts +4 -4
  539. package/widgets/Legend.d.ts +8 -8
  540. package/widgets/LineOfSight.d.ts +1 -1
  541. package/widgets/Locate.d.ts +2 -2
  542. package/widgets/Measurement.d.ts +1 -1
  543. package/widgets/NavigationToggle/NavigationToggleViewModel.d.ts +1 -1
  544. package/widgets/NavigationToggle.d.ts +3 -3
  545. package/widgets/OrientedImageryViewer/OrientedImageryViewerViewModel.js +1 -1
  546. package/widgets/OrientedImageryViewer/adapters/sketch/MeasurementAdapter.js +1 -1
  547. package/widgets/OrientedImageryViewer/adapters/sketch/TriangulatedMeasurementAdapter.js +1 -1
  548. package/widgets/OrientedImageryViewer/components/ImageLocationViewModel.js +1 -1
  549. package/widgets/OrientedImageryViewer/components/OrientedImageryVideoViewModel.js +1 -1
  550. package/widgets/OrientedImageryViewer/constants.js +1 -1
  551. package/widgets/OrientedImageryViewer/imageMeasurementUtils.js +1 -1
  552. package/widgets/OrientedImageryViewer/navigation/NavigationManager.js +1 -1
  553. package/widgets/OrientedImageryViewer/navigation/queries.js +1 -1
  554. package/widgets/OrientedImageryViewer/navigation/utils.js +1 -1
  555. package/widgets/OrientedImageryViewer/services/ImageMeasurementService.js +1 -1
  556. package/widgets/OrientedImageryViewer/services/TransformationService.js +1 -1
  557. package/widgets/OrientedImageryViewer/types.js +1 -1
  558. package/widgets/OrientedImageryViewer/videoViewerUtils.js +1 -1
  559. package/widgets/OrientedImageryViewer.js +1 -1
  560. package/widgets/Popup/PopupVisibleElements.d.ts +2 -2
  561. package/widgets/Popup.d.ts +5 -5
  562. package/widgets/Print/CustomTemplate.d.ts +1 -1
  563. package/widgets/Print/TemplateOptions.d.ts +4 -4
  564. package/widgets/ScaleRangeSlider.d.ts +1 -1
  565. package/widgets/Search/SearchViewModel.d.ts +4 -4
  566. package/widgets/Search.d.ts +5 -5
  567. package/widgets/ShadowCast.d.ts +3 -3
  568. package/widgets/Sketch/SketchViewModel.d.ts +39 -39
  569. package/widgets/Sketch/SketchViewModel.js +1 -1
  570. package/widgets/Sketch/support/PluginManager.js +1 -1
  571. package/widgets/Sketch.d.ts +43 -43
  572. package/widgets/Slice.d.ts +2 -2
  573. package/widgets/Slider/SliderViewModel.d.ts +2 -2
  574. package/widgets/Slider.d.ts +9 -9
  575. package/widgets/Swipe/SwipeViewModel.d.ts +1 -1
  576. package/widgets/Swipe.d.ts +2 -2
  577. package/widgets/TableList.d.ts +1 -1
  578. package/widgets/TimeSlider/TimeSliderViewModel.d.ts +8 -8
  579. package/widgets/TimeSlider/types.d.ts +1 -1
  580. package/widgets/TimeSlider.d.ts +11 -11
  581. package/widgets/Track.d.ts +2 -2
  582. package/widgets/UtilityNetworkAssociations.d.ts +3 -3
  583. package/widgets/UtilityNetworkTrace.d.ts +4 -4
  584. package/widgets/UtilityNetworkValidateTopology.d.ts +1 -1
  585. package/widgets/ValuePicker.d.ts +5 -5
  586. package/widgets/VideoPlayer.d.ts +1 -1
  587. package/widgets/smartMapping/ClassedColorSlider.d.ts +1 -1
  588. package/widgets/smartMapping/ClassedSizeSlider.d.ts +1 -1
  589. package/widgets/smartMapping/ColorSizeSlider.d.ts +2 -2
  590. package/widgets/smartMapping/ColorSlider.d.ts +1 -1
  591. package/widgets/smartMapping/HeatmapSlider.d.ts +1 -1
  592. package/widgets/smartMapping/OpacitySlider.d.ts +1 -1
  593. package/widgets/smartMapping/SizeSlider.d.ts +1 -1
  594. package/widgets/smartMapping/SmartMappingSliderBase.d.ts +4 -4
  595. package/widgets/smartMapping/SmartMappingSliderViewModel.d.ts +6 -6
  596. package/widgets/support/GridControls.d.ts +1 -1
  597. package/widgets/support/SnappingControls/VisibleElements.d.ts +1 -1
  598. package/widgets/support/SnappingControls.d.ts +6 -6
  599. package/assets/esri/core/workers/chunks/0184b4c0c92c76c60ab2.js +0 -1
  600. package/assets/esri/core/workers/chunks/08616877b58b518e7461.js +0 -1
  601. package/assets/esri/core/workers/chunks/089cef7124173a5cd5f9.js +0 -1
  602. package/assets/esri/core/workers/chunks/0baa0d66003d23cc76a7.js +0 -1
  603. package/assets/esri/core/workers/chunks/0baf2cf9d8998045a605.js +0 -1
  604. package/assets/esri/core/workers/chunks/0bf742d48f434c4c575f.js +0 -1
  605. package/assets/esri/core/workers/chunks/0cc68540194bd9f7aa3c.js +0 -1
  606. package/assets/esri/core/workers/chunks/0e216f0075fd531c3a2b.js +0 -1
  607. package/assets/esri/core/workers/chunks/1219b588f983b4f35033.js +0 -1
  608. package/assets/esri/core/workers/chunks/13e913aa5f5113fceb16.js +0 -1
  609. package/assets/esri/core/workers/chunks/15ba0296403dd4152b88.js +0 -1
  610. package/assets/esri/core/workers/chunks/15e5471277a48f482383.js +0 -1
  611. package/assets/esri/core/workers/chunks/16abc548724e428c325a.js +0 -1
  612. package/assets/esri/core/workers/chunks/1d124a55f6804be19e09.js +0 -1
  613. package/assets/esri/core/workers/chunks/1ede5fa7a16839ed9444.js +0 -1
  614. package/assets/esri/core/workers/chunks/25267253ba578eba38cf.js +0 -1
  615. package/assets/esri/core/workers/chunks/27aa21da934ecaca381a.js +0 -1
  616. package/assets/esri/core/workers/chunks/27d1f8279df34d8b15b5.js +0 -1
  617. package/assets/esri/core/workers/chunks/2907e9a7216b5a29729b.js +0 -1
  618. package/assets/esri/core/workers/chunks/2b0891ba57ba66b913ce.js +0 -1
  619. package/assets/esri/core/workers/chunks/2bb7bb7901bd343201fc.js +0 -1
  620. package/assets/esri/core/workers/chunks/2c7e5b78d94e5850537b.js +0 -1
  621. package/assets/esri/core/workers/chunks/2d52b137ee64469a46b2.js +0 -1
  622. package/assets/esri/core/workers/chunks/2eb7df99170b7bb2a914.js +0 -1
  623. package/assets/esri/core/workers/chunks/36b8dd092697ef544f40.js +0 -1
  624. package/assets/esri/core/workers/chunks/395ee51a863757ea8124.js +0 -1
  625. package/assets/esri/core/workers/chunks/3b0cfe3db8d90e02d6c6.js +0 -1
  626. package/assets/esri/core/workers/chunks/454150571b5b664b576a.js +0 -1
  627. package/assets/esri/core/workers/chunks/4740d319f233b7f528fe.js +0 -1
  628. package/assets/esri/core/workers/chunks/4742a8c19b86a5f859f0.js +0 -1
  629. package/assets/esri/core/workers/chunks/49d58bacb5b397246978.js +0 -1
  630. package/assets/esri/core/workers/chunks/4ba4aa6c75e3f8950e65.js +0 -1
  631. package/assets/esri/core/workers/chunks/59f955c7d6b0589e7cc6.js +0 -1
  632. package/assets/esri/core/workers/chunks/5a347b1d87eb6f710136.js +0 -1
  633. package/assets/esri/core/workers/chunks/5b97cdeb5949822fbef3.js +0 -1
  634. package/assets/esri/core/workers/chunks/5cd614f50e8925eeeaf4.js +0 -1
  635. package/assets/esri/core/workers/chunks/620d7cd0b0885122aa0f.js +0 -1
  636. package/assets/esri/core/workers/chunks/6321680c8070dffa3b6c.js +0 -1
  637. package/assets/esri/core/workers/chunks/7017c2e621236c7a7da4.js +0 -1
  638. package/assets/esri/core/workers/chunks/731e6eaad319865fb780.js +0 -1
  639. package/assets/esri/core/workers/chunks/7407a1e0cef508116a0b.js +0 -1
  640. package/assets/esri/core/workers/chunks/752c43cdd38dfde912d2.js +0 -1
  641. package/assets/esri/core/workers/chunks/78936c591fd49ff955a9.js +0 -1
  642. package/assets/esri/core/workers/chunks/796f5265747ce8be910e.js +0 -1
  643. package/assets/esri/core/workers/chunks/7b7288c431933a75daca.js +0 -1
  644. package/assets/esri/core/workers/chunks/7e6309bfed6692e8d2d7.js +0 -2
  645. package/assets/esri/core/workers/chunks/7f60309d211c49721265.js +0 -1
  646. package/assets/esri/core/workers/chunks/7f9b0ef7f9b3f3fd3df9.js +0 -1
  647. package/assets/esri/core/workers/chunks/8177e95596b71bf020aa.js +0 -1
  648. package/assets/esri/core/workers/chunks/9bb04d5f2e6f6e4585a0.js +0 -1
  649. package/assets/esri/core/workers/chunks/a03196e6579d738251fc.js +0 -1
  650. package/assets/esri/core/workers/chunks/a0b715cf03895082b773.js +0 -1
  651. package/assets/esri/core/workers/chunks/a115984b794a7f90b2c0.js +0 -1
  652. package/assets/esri/core/workers/chunks/a5e91cf150f6cf6a5d2a.js +0 -1
  653. package/assets/esri/core/workers/chunks/a60a84c8c45f6d03443f.js +0 -1
  654. package/assets/esri/core/workers/chunks/aec827b50df6edc54808.js +0 -1
  655. package/assets/esri/core/workers/chunks/aef2832902b270f1a594.js +0 -1
  656. package/assets/esri/core/workers/chunks/b0b24fb60a21b995b348.js +0 -1
  657. package/assets/esri/core/workers/chunks/bb830d93e97dceac350f.js +0 -1
  658. package/assets/esri/core/workers/chunks/bd05e68b00b9878d0266.js +0 -1
  659. package/assets/esri/core/workers/chunks/bd12ca39198e6efbefbb.js +0 -1
  660. package/assets/esri/core/workers/chunks/bdd246cc50ccd5c10987.js +0 -1
  661. package/assets/esri/core/workers/chunks/c080e189764d8bb9cf25.js +0 -1
  662. package/assets/esri/core/workers/chunks/c15f0769a64863cccef0.js +0 -1
  663. package/assets/esri/core/workers/chunks/c516b185b099bf69c0ed.js +0 -1
  664. package/assets/esri/core/workers/chunks/c53048b0f153b251d792.js +0 -1
  665. package/assets/esri/core/workers/chunks/c693e8eb96ab8a4b9cbe.js +0 -1
  666. package/assets/esri/core/workers/chunks/c9babe86c00ae69e63ee.js +0 -2
  667. package/assets/esri/core/workers/chunks/cf09408cb7729126caae.js +0 -1
  668. package/assets/esri/core/workers/chunks/d9c1e1ec5c56f09fb82f.js +0 -1
  669. package/assets/esri/core/workers/chunks/e0565849281ffbe8269e.js +0 -1
  670. package/assets/esri/core/workers/chunks/e1ba6f857ca12f154e77.js +0 -1
  671. package/assets/esri/core/workers/chunks/e4f1e584f89ffb86206b.js +0 -1
  672. package/assets/esri/core/workers/chunks/e60684918100666bb892.js +0 -1
  673. package/assets/esri/core/workers/chunks/e94448b371cd17d7a472.js +0 -1
  674. package/assets/esri/core/workers/chunks/ed78e19b1e400c0db309.js +0 -1
  675. package/assets/esri/core/workers/chunks/ede1d1cc2f315a34f4ca.js +0 -1
  676. package/assets/esri/core/workers/chunks/f17a301516f008abef3a.js +0 -1
  677. package/assets/esri/core/workers/chunks/fc98b8351be567d3eb62.js +0 -1
  678. package/assets/esri/core/workers/chunks/fd5a5b05a1551cdb8c87.js +0 -1
  679. package/assets/esri/core/workers/chunks/fda0f4469d9cda637af4.js +0 -1
  680. package/assets/esri/core/workers/chunks/fe52117fe6982046c9e3.js +0 -1
  681. package/assets/esri/core/workers/chunks/ff961bb6d29ab3fe129d.js +0 -1
  682. /package/assets/esri/core/workers/chunks/{2762149a922275136171.js.LICENSE.txt → 112227b862b935123ddf.js.LICENSE.txt} +0 -0
  683. /package/assets/esri/core/workers/chunks/{72acfb74fd9ab9bae923.js.LICENSE.txt → 53e348f5585fa8c53fe8.js.LICENSE.txt} +0 -0
  684. /package/assets/esri/core/workers/chunks/{7e6309bfed6692e8d2d7.js.LICENSE.txt → b397a9f87082705301a4.js.LICENSE.txt} +0 -0
  685. /package/assets/esri/core/workers/chunks/{91858b02da40ff251ab2.js.LICENSE.txt → baad696d84ab78b3d00e.js.LICENSE.txt} +0 -0
  686. /package/assets/esri/core/workers/chunks/{c9babe86c00ae69e63ee.js.LICENSE.txt → edaae0fc63d16b0f675d.js.LICENSE.txt} +0 -0
package/chunks/Point2D.js CHANGED
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{t,g as s,q as i,a as e}from"./Geometry.js";class n{constructor(t){this.sum=t,this.compensation=0}assign(t){return this.compensation=t.compensation,this.sum=t.sum,this}reset(){this.sum=this.compensation=0}resetToStart(t){this.sum=t,this.compensation=0}normalize(){const t=[Number.NaN];this.sum=lt(this.sum,this.compensation,t),this.compensation=t[0]}add(t){const s=this.sum+t;let i;if(Math.abs(this.sum)>=Math.abs(t)){const e=this.sum-s+t;i=this.compensation+e}else{const e=t-s+this.sum;i=this.compensation+e}this.sum=s,this.compensation=i}sub(t){this.add(-t)}addProduct(t,s){const i=[0],e=ut(t,s,i);this.add(e),this.add(i[0])}mul(t){const s=new n(0);s.addProduct(this.sum,t),s.addProduct(this.compensation,t),this.assign(s)}getResult(){return this.sum+this.compensation}pe(t){return this.add(t),this}me(t){return this.add(-t),this}}const r=0x00000000ffffffffn,u=0x0000ffffn,h=0x000000ffn,a=0x0fn,o=0xffff0000n,m=0xff00n,l=0xf0n,c=[5,1,2,1,3,1,2,1,4,1,2,1,3,1,2,1],f=[-1,0,1,1,2,2,2,2,3,3,3,3,3,3,3,3];function _(t){let s=0;return t&u||(s+=16,t>>=16n),t&h||(s+=8,t>>=8n),t&a||(s+=4,t>>=4n),s+c[Number(BigInt.asUintN(4,t))]}function v(t){let s=0;return t&o&&(s+=16,t>>=16n),t&m&&(s+=8,t>>=8n),t&l&&(s+=4,t>>=4n),s+f[Number(BigInt.asUintN(4,t))]+1}function b(t){let s=0;return t&r||(s=32,t>>=32n),s+_(BigInt.asUintN(32,t))}function d(t){let s=0;return 0xffffffff00000000n&t&&(s=32,t>>=32n),s+v(t)}class x{constructor(t,s){if(this.m_EnvelopeType=1,void 0!==t){if(t instanceof x)return this.vmin=t.vmin,void(this.vmax=t.vmax);this.vmin=t,this.vmax=s,this.normalize()}else this.setEmpty()}static construct(t,s){return new x(t,s)}static constructEmpty(){return new x}setCoords(t,s){this.vmin=t,this.vmax=s,this.normalize()}setCoordsFromEnvelope(t){this.vmin=t.vmin,this.vmax=t.vmax}setEmpty(){this.vmin=Number.NaN,this.vmax=Number.NaN}getCenter(){return.5*(this.vmin+this.vmax)}equalsRange(t,s){return ls(this.vmin,t)&&ls(this.vmax,s)}equals(t,s){return!(!this.isEmpty()||!t.isEmpty())||(void 0!==s?Math.abs(this.vmin-t.vmin)<=s&&Math.abs(this.vmax-t.vmax)<=s:this.vmin===t.vmin&&this.vmax===t.vmax)}width(){return this.vmax-this.vmin}isEmpty(){return Number.isNaN(this.vmin)||Number.isNaN(this.vmax)}isZero(){return this.vmin===this.vmax}setInfinite(){this.vmin=Number.NEGATIVE_INFINITY,this.vmax=Number.POSITIVE_INFINITY}move(t){this.isEmpty()||(this.vmin+=t,this.vmax+=t)}contains(t){return t.vmin>=this.vmin&&t.vmax<=this.vmax}containsCoordinate(t){return t>=this.vmin&&t<=this.vmax}containsRightExclusive(t){return t>=this.vmin&&t<this.vmax}containsExclusiveCoordinate(t){return t>this.vmin&&t<this.vmax}containsExclusive(t){return t.vmin>this.vmin&&t.vmax<this.vmax}isIntersecting(t){return this.vmin<=t.vmin?this.vmax>=t.vmin:t.vmax>=this.vmin}mergeCoordinate(t){if(this.isEmpty())return this.vmin=t,void(this.vmax=t);this.mergeNeCoordinate(t)}merge(t){if(t.isEmpty())return;const s=t.vmin,i=t.vmax;this.mergeCoordinate(s),this.mergeCoordinate(i)}mergeNe(t){const s=t.vmin,i=t.vmax;this.mergeNeCoordinate(s),this.mergeNeCoordinate(i)}mergeNeCoordinate(t){t<this.vmin?this.vmin=t:t>this.vmax&&(this.vmax=t)}intersect(t){this.isEmpty()||t.isEmpty()?this.setEmpty():(this.vmin<t.vmin&&(this.vmin=t.vmin),this.vmax>t.vmax&&(this.vmax=t.vmax),this.vmin>this.vmax&&this.setEmpty())}inflate(t){this.isEmpty()||(this.vmin-=t,this.vmax+=t,this.vmax<this.vmin&&this.setEmpty())}normalize(){this.vmin<=this.vmax||(this.vmin>this.vmax?this.vmax=Pt(this.vmin,this.vmin=this.vmax):this.setEmpty())}isValid(){return this.isEmpty()||this.vmin<=this.vmax}snapClip(t){return Us(t,this.vmin,this.vmax)}calculateToleranceFromEnvelope(){if(this.isEmpty())return Ls();return(Math.abs(this.vmin)+Math.abs(this.vmax)+1)*Ls()}static unit(){return N}normalizeNoNAN(){this.vmin>this.vmax&&(this.vmax=Pt(this.vmin,this.vmin=this.vmax))}setCoordsNoNAN(t,s){this.vmin=t,this.vmax=s,this.normalizeNoNAN()}clone(){return new x(this.vmin,this.vmax)}}const N=new x(0,1);class p{static getNAN(){return new p(Number.NaN)}constructor(t,s){this.m_value=t??0,this.m_eps=s??0}[Symbol.toPrimitive](t){return this}clone(){return new p(this.m_value,this.m_eps)}assign(t){return this.m_value=t.m_value,this.m_eps=t.m_eps,this}scaleError(t){this.m_eps*=t}setError(t){this.m_eps=t}set(t,s){return this.m_value=t,this.m_eps=s??0,this}setWithEps(t,s){return void 0===s&&(s=1),this.m_value=t,this.m_eps=p.ulp(t)*s,this}setE(t){return this.m_value=t.m_value,this.m_eps=t.m_eps,this}precise(){return new p(this.m_value)}value(){return this.m_value}toDouble(){return this.m_value}eps(){return this.m_eps}resetError(){return this.m_eps=0,this}absThis(){return this.m_value=Math.abs(this.m_value),this}add(t){return this.clone().addThis(t)}addE(t){return this.clone().addThisE(t)}addThisE(t){const s=this.m_value+t.m_value,i=this.m_eps+t.m_eps+p.ulp(s);return this.m_value=s,this.m_eps=i,this}addThis(t){const s=this.m_value+t,i=this.m_eps+p.ulp(s);return this.m_value=s,this.m_eps=i,this}subE(t){return this.clone().subThisE(t)}sub(t){return this.clone().subThis(t)}subThisE(t){const s=this.m_value-t.m_value,i=this.m_eps+t.m_eps+p.ulp(s);return this.m_value=s,this.m_eps=i,this}subThis(t){const s=this.m_value-t,i=this.m_eps+p.ulp(s);return this.m_value=s,this.m_eps=i,this}setAddE(t,s){return this.m_value=t.m_value+s.m_value,this.m_eps=t.m_eps+s.m_eps+p.ulp(this.m_value),this}setAdd(t,s){return this.m_value=t+s,this.m_eps=p.ulp(this.m_value),this}setAddEN(t,s){return this.m_value=t.m_value+s,this.m_eps=t.m_eps+p.ulp(this.m_value),this}setAddNE(t,s){return this.m_value=t+s.m_value,this.m_eps=s.m_eps+p.ulp(this.m_value),this}setSubE(t,s){return this.m_value=t.m_value-s.m_value,this.m_eps=t.m_eps+s.m_eps+p.ulp(this.m_value),this}setSub(t,s){return this.m_value=t-s,this.m_eps=p.ulp(this.m_value),this}setSubEN(t,s){return this.m_value=t.m_value-s,this.m_eps=t.m_eps+p.ulp(this.m_value),this}setSubNE(t,s){return this.m_value=t-s.m_value,this.m_eps=s.m_eps+p.ulp(this.m_value),this}mulThisE(t){const s=this.m_value*t.m_value;return this.m_eps=this.m_eps*Math.abs(t.m_value)+t.m_eps*Math.abs(this.m_value)+this.m_eps*t.m_eps+p.ulp(s),this.m_value=s,this}mulThis(t){const s=this.m_value*t;return this.m_eps=this.m_eps*Math.abs(t)+p.ulp(s),this.m_value=s,this}mul(t){return this.clone().mulThis(t)}mulE(t){return this.clone().mulThisE(t)}setMulE(t,s){const i=t.m_value*s.m_value;return this.m_eps=t.m_eps*Math.abs(s.m_value)+s.m_eps*Math.abs(t.m_value)+t.m_eps*s.m_eps+p.ulp(i),this.m_value=i,this}setMul(t,s){return this.m_value=t*s,this.m_eps=p.ulp(this.m_value),this}setMulEN(t,s){return this.setE(t),this.mulThis(s)}setMulNE(t,s){return this.setE(s),this.mulThis(t)}mulThisByPower2(t){return this.m_value*=t,this.m_eps*=Math.abs(t),this}static st_mulByPower2(t,s){return new p(t.m_value,t.m_eps).mulThisByPower2(s)}divE(t){return this.clone().divThisE(t)}divThisE(t){const s=Math.abs(t.m_value),i=this.m_value/t.m_value;let e=(this.m_eps+Math.abs(i)*t.m_eps)/s;if(t.m_eps>.01*s){const i=t.m_eps/s;e*=1+(1+i)*i}return this.m_value=i,this.m_eps=e+p.ulp(i),this}divThis(t){const s=Math.abs(t);return this.m_value/=t,this.m_eps=this.m_eps/s+p.ulp(this.m_value),this}setDivE(t,s){return this.setE(t),this.divThisE(s)}setDiv(t,s){return this.m_value=t/s,this.m_eps=p.ulp(this.m_value),this}setDivEN(t,s){return this.setE(t),this.divThis(s)}setDivNE(t,s){return this.set(t),this.divThisE(s)}divThisByPower2(t){return this.m_value/=t,this.m_eps/=Math.abs(t),this}invThis(){return this.setE(w.clone().divThisE(this)),this}sqrt(){return this.clone().sqrtThis()}sqrtThis(){let t,s;return this.m_value>=0?(t=Math.sqrt(this.m_value),s=this.m_value>10*this.m_eps?.5*this.m_eps/t:this.m_value>this.m_eps?t-Math.sqrt(this.m_value-this.m_eps):Math.max(t,Math.sqrt(this.m_value+this.m_eps)-t),s+=p.ulp(t)):this.m_value<-this.m_eps?(t=Number.NaN,s=Number.NaN):(t=0,s=Math.sqrt(this.m_eps)),this.m_value=t,this.m_eps=s,this}sqr(){return this.clone().sqrThis()}sqrThis(){const t=this.m_value*this.m_value;return this.m_eps=2*this.m_eps*Math.abs(this.m_value)+this.m_eps*this.m_eps+p.ulp(t),this.m_value=t,this}setSin(t){const s=Math.sin(t.m_value),i=Math.cos(t.m_value);this.m_value=s;const e=Math.abs(s),n=Math.abs(t.value());return this.m_eps=(Math.abs(i)+.5*e*t.m_eps)*t.m_eps+p.ulp(e+n),this}static ulp(t){let s=us(t);const i=((0x7ff0000000000000n&s)>>52n)-1075n;return i>-1023n?(s=i+0x3ffn<<52n,hs(s)):0===t?0:Number.MIN_VALUE}setCos(t){const s=Math.sin(t.m_value),i=Math.cos(t.m_value);this.m_value=i;const e=Math.abs(i),n=Math.abs(t.value());return this.m_eps=(Math.abs(s)+.5*e*t.m_eps)*t.m_eps+p.ulp(e+n),this}static st_cosAndSin(t,s,i){const e=Math.sin(t.m_value),n=Math.cos(t.m_value);i.m_value=e,s.m_value=n;const r=Math.abs(e),u=Math.abs(n),h=Math.abs(t.value());i.m_eps=(Math.abs(n)+.5*r*t.m_eps)*t.m_eps+p.ulp(r+h),s.m_eps=(Math.abs(e)+.5*u*t.m_eps)*t.m_eps+p.ulp(u+h)}negate(){return this.clone().negateThis()}negateThis(){return this.m_value=-this.m_value,this}setAbs(){return this.m_value=Math.abs(this.m_value),this}isInInterval(t){return x.construct(this.m_value-this.m_eps,this.m_value+this.m_eps).isIntersecting(t)}eq(t){return Math.abs(this.m_value-t.m_value)<=this.m_eps+t.m_eps}ne(t){return!this.eq(t)}gt(t){return this.m_value-t.m_value>this.m_eps+t.m_eps}lt(t){return t.m_value-this.m_value>this.m_eps+t.m_eps}ge(t){return!this.lt(t)}le(t){return!this.gt(t)}tolEQ(t,s){return Math.abs(this.m_value-t.m_value)<=s||this.eq(t)}tolNE(t,s){return!this.tolEQ(t,s)}tolGT(t,s){return this.m_value-t.m_value>s&&this.gt(t)}tolLT(t,s){return t.m_value-this.m_value>s&&this.lt(t)}tolGE(t,s){return!this.tolLT(t,s)}tolLE(t,s){return!this.tolGT(t,s)}isZero(){return Math.abs(this.m_value)<=this.m_eps}isFuzzyZero(){return this.isZero()&&0!==this.m_eps}tolIsZero(t){return Math.abs(this.m_value)<=Math.max(this.m_eps,t)}setPi(){this.setE(E)}setEuler(){this.set(2.718281828459045,M())}static size(){return 1}}function y(t,s){const i=as(t),e=as(s),n=53-b(i),r=53-b(e);return(n>=0?n:0)+(r>=0?r:0)<=52}function T(t,s){const i=t+s;return i-t===s&&i-s===t}function g(t,s){const i=t-s;return t-i===s&&s+i===t}function M(){return Qs()}p.dimensions=1;const E=new p(Math.PI,.5*M()),I=new p(0,0),w=new p(1,0),D=new p(4,0);function A(t,s,i){return t.addE(s.subE(t).mulE(i))}function P(t,s,i){return s.subE(s.subE(t).mulE(w.subE(i)))}function q(t){return Math.atanh(t)}function z(t){let s;if(0===t)s=1;else if(Math.abs(t)>.01)s=q(t)/t;else{let i;const e=-36.841361487904734;s=0;const n=t*t;for(let t=2*Math.trunc(e/Math.log(n)+2.5)-1;t>1;t-=2)i=1/t,s=(s+i)*n;s+=1}return s}function Z(t){const s=Math.PI*Math.PI/6;let i;if(1===t)i=s;else if(t>1)i=s;else if(0===t)i=t;else if(t<0){const s=1+(t=Math.abs(t)),e=Math.log(s);i=e*e/-2-Z(t/s)}else if(t>.5){const e=1-t,n=Math.log(t)*Math.log(e);i=s-Z(e)-n}else{i=0;const s=1+Math.trunc(-16*Math.log(10)/Math.log(t)+1.5);let e=s;for(let n=s;n>0;n--,e-=1)i*=t,i+=1/(e*e);i*=t}return i}function C(t,s){const i=s*t;if(Math.abs(s)<.1){let s=0;for(let t=60;t>=1;t--)s*=i,s+=1/t/t;return s*=t,s}return Z(i)/s}function R(t,s){return t<s?$t(t,s):$t(s,t)}function B(t,s){const i=Math.abs(t);return s>=0?i:-i}function S(t){return Math.round(t)}function k(t,s,i,e,n){n[0]=s[0]+(i[0]-s[0])*e,n[1]=s[1]+(i[1]-s[1])*e,3===t&&(n[2]=s[2]+(i[2]-s[2])*e)}function F(t,s,i,e,n){n[0]=i[0]-(i[0]-s[0])*(1-e),n[1]=i[1]-(i[1]-s[1])*(1-e),3===t&&(n[2]=i[2]-(i[2]-s[2])*(1-e))}function L(t,s,i,e,n){e<=.5?k(t,s,i,e,n):F(t,s,i,e,n)}function O(t,s,i,e,n){n[0]=s[0].addE(i[0].subE(s[0]).mulE(e)),n[1]=s[1].addE(i[1].subE(s[1]).mulE(e))}function G(t,s,i,e,n){n[0]=i[0].subE(i[0].subE(s[0]).mulE(w.subE(e))),n[1]=i[1].subE(i[1].subE(s[1]).mulE(w.subE(e)))}function Q(t,s,i){let e;return e=i<=.5?t+(s-t)*i:s-(s-t)*(1-i),e}function V(t,s,i){return t+(s-t)*i}function U(t,s,i){return s-(s-t)*(1-i)}function Y(t,s,i,e){i<=.5?(e.x=t.x+(s.x-t.x)*i,e.y=t.y+(s.y-t.y)*i):(e.x=s.x-(s.x-t.x)*(1-i),e.y=s.y-(s.y-t.y)*(1-i))}function j(t,s,i,e){i<=.5?(e.x=t.x+(s.x-t.x)*i,e.y=t.y+(s.y-t.y)*i,e.z=t.z+(s.z-t.z)*i):(e.x=s.x-(s.x-t.x)*(1-i),e.y=s.y-(s.y-t.y)*(1-i),e.z=s.z-(s.z-t.z)*(1-i))}function H(t){return t*t}function $(t){return t*t*t}function J(t){return 1/Math.sqrt(t)}function K(t){return t<0?-1:t>0?1:0}function W(t,s,i,e){const n=[0],r=[0],u=[0];return lt(ut(t,i,n),ut(s,e,r),u)+(n[0]+r[0]+u[0])}const X=[0],tt=[0];function st(t,s,i){return mt(ut(t,s,X),i,X[0],tt)}const it=[0],et=[0],nt=[0],rt=[0];function ut(t,s,i){const e=t*s;return ht(t,it,et),ht(s,nt,rt),i[0]=et[0]*rt[0]-(e-it[0]*nt[0]-et[0]*nt[0]-it[0]*rt[0]),e}function ht(t,s,i){const e=134217729*t;s[0]=e-(e-t),i[0]=t-s[0]}const at=[0],ot=[0];function mt(t,s,i,e){const n=lt(t,s,at),r=lt(n,i,ot);return lt(r,at[0]+ot[0],e)}function lt(t,s,i){const e=t+s;return Math.abs(t)>Math.abs(s)?i[0]=t-e+s:i[0]=s-e+t,e}function ct(t,s){return t%s}function ft(t){const s=1-t;if(0===s)return 1;let i;if(s<=.01){const t=s,e=Math.log(t);i=1+t*(.4431471805599453-.25*e+t*(.05680519270997949-.09375*e+t*(.02183137044373718-.05859375*e+t*(.011544521417308362-.042724609375*e+t*(.00714200031339596-.0336456298828125*e+t*(.004854743337164948-.027757644653320312*e+t*(.003514687963781376-.023627042770385742*e)))))))}else{if(t<.016){const s=t,i=.25,e=.046875,n=.01953125,r=.01068115234375,u=.0067291259765625,h=.004626274108886719,a=.0033752918243408203,o=.0025710230693221092;return Js()*(1-s*(i+s*(e+s*(n+s*(r+s*(u+s*(h+s*(a+s*o))))))))}i=bt(0,s,1)-t*dt(0,s,1)/3}return Us(i,1,Js())}function _t(t,i,e=Number.NaN){if(s(i>=0&&i<=1),0===i)return t;let n=1,r=t;if(r<0&&(r=-r,n=-1),1===i){const t=Math.round(r/Hs()),s=r-t*Hs();return n*(2*t+Math.sin(s))}const u=Js(),h=Math.floor(r/u);1&h?r=(h+1)*u-r:r-=h*u;const a=Math.sin(r),o=Number.isNaN(e)?ft(i):e;let m;if(1===a)m=o+Math.sqrt(1-i)*(r-u);else{const t=r*r;if(.01424*Math.pow(t,4)<=2*Qs()){m=r*(1+t*i*(-1/6+t*((4-3*i)/120-(16+(45*i-60)*i)/5040*t)))}else if(i<=.01){const t=Math.sin(2*r),s=Math.sin(4*r),e=Math.sin(6*r),n=Math.sin(8*r),u=Math.sin(10*r);m=r+i*((2*-r+t)/8+i*((-3*r+2*t-.25*s)/64+i*((-20*r+15*t-3*s+e/3)/1024+i*(5*(-140*r+112*t-28*s+16/3*e-.5*n)/65536+7*i*((-63*r+52.5*t-15*s+3.75*e-.625*n+.05*u)/65536+i*(-693*r+594*t-185.625*s+1.375*e-12.375*n+1.8*u-.125*Math.sin(12*r))/1048576)))))}else{const t=a*a,s=Math.cos(r),e=s*s,n=xt(a,s,i);m=a*(bt(e,n,1)-i*t*dt(e,n,1)/3)}}if(1&h){m=o*(h+1)-m}else m+=o*h;return n*m}function vt(t,s,i=Number.NaN){if(0===t)return 0;let e=1,n=t;t<0&&(n=-n,e=-1);const r=Number.isNaN(i)?ft(s):i,u=Math.floor(n/r);1&u?n=(u+1)*r-n:n-=u*r;let h=n<=0?0:n>=r?Js():Nt(n,s,r);return 1&u?h=Js()*(u+1)-h:h+=Js()*u,e*h}function bt(t,i,e){s((0!==t?1:0)+(0!==i?1:0)+1>1);let n=t,r=i,u=e;for(;;){const t=Math.sqrt(n*r)+Math.sqrt(r*u)+Math.sqrt(u*n);n=.25*(n+t),r=.25*(r+t),u=.25*(u+t);const s=(n+r+u)/3,i=(s-n)/s,e=(s-r)/s,h=(s-u)/s;if(Math.abs(i)<=.0024&&Math.abs(e)<=.0024&&Math.abs(h)<=.0024){const t=i*e-h*h,n=i*e*h;return(1+(1/24*t-.1-3/44*n-5*t*t/208+t*n/16)*t+(1/14+3*n/104)*n)/Math.sqrt(s)}}}function dt(t,i,e){s(0!==t||0!==i);let r=t,u=i,h=e;const a=new n(0);let o=1;for(;;){const t=.2*(r+u+3*h),s=(t-r)/t,i=(t-u)/t,e=(t-h)/t;if(Math.abs(s)<=.0015&&Math.abs(i)<=.0015&&Math.abs(e)<=.0015){const n=s*i,r=e*e,u=n-r,h=n-6*r,m=h+u+u,l=9/22,c=3/26,f=h*(.25*l*h-.21428571428571427-1.5*c*e*m),_=e*(1/6*m+e*(-l*u+e*c*n));return 3*a.getResult()+o*(1+f+_)/(t*Math.sqrt(t))}const n=Math.sqrt(r),m=Math.sqrt(u),l=Math.sqrt(h),c=n*(m+l)+m*l;a.add(o/(l*(h+c))),o*=.25,r=.25*(r+c),u=.25*(u+c),h=.25*(h+c)}}function xt(t,s,i){return t<.999?1-i*H(t):1-i+i*H(s)}function Nt(t,s,i){if(0===s)return t;if(1===s)return Math.asin(t);let e=0,n=!0;if(t<.2){const i=t*t,r=t*(1+i*s*(1/6+i*((13*s-4)/120+(16-284*s+493*s*s)/5040*i))),u=Math.abs(s*(4944*s-64-31224*s*s+37369*s*s*s)/362880*Math.pow(t,9));if(u<Math.abs(r)*Qs())return r;e=r,n=u>.1*r}if(n){const n=1-s,r=1-t/i,u=Math.sqrt(r*r+n*n),h=Math.atan2(n,t+Qs());e=Js()+Math.sqrt(u)*(h-Js())}let r=0;for(let u=0;u<7;u++){r=_t(e,s,i);const n=xt(Math.sin(e),Math.cos(e),s);if(e-=(r-t)/Math.sqrt(n),u>0&&Math.abs(r-t)<=4*Qs()*t)break}return e}class pt{constructor(t){for(this.values=[[1]];this.values.length<t+1;){const t=this.values.at(-1),s=Yt(t.length+1,1);for(let i=1;i<t.length;++i)s[i]=t[i-1]+t[i];this.values.push(s)}}get(t,s){return this.values[t][s]}}function yt(t,i){return s(0),0}const Tt=new pt(32);function gt(t,s){if(t<Tt.values.length)return Tt.get(t,s);const e=Math.exp(yt());return e+.01>ds()&&i("The result value of n choose k is out of range"),e+.01}function Mt(t,s){if(t.isZero())return t.clone();const i=t.clone().divThis(t);if(s<0)return i.divThis(Mt(t,-s));for(t=t.clone(),s=Math.trunc(s);1&s&&i.mulThis(t),s>>=1;)t.mulThis(t);return i}function Et(t,s){if(0===s)return[];const i=t[0].clone().mulDoubleThis(0),e=[];e.length=s;const n=s-1;for(let r=0;r<=n;++r){e[r]=i.clone();for(let s=0;s<=r;++s)e[r].addThis(t[s].clone().mulDoubleThis(gt(r,s)/gt(n,s)))}return e}function It(s,i,e,n,r){return 0===s?0===n?i:1===n?e:r:1===s?0===n?i:1===n?e:Q(i,e,n):(2===s&&t("angular interpolation"),void t(""))}function wt(s,i,e,n,r,u,h,a){if(0===s)for(let t=0;t<u;++t)n[t+r]=0===h?i[t]:1===h?e[t]:a;else if(1===s)if(0===h)Dt(n,i,r,0,u);else if(1===h)Dt(n,e,r,0,u);else for(let t=0;t<u;++t)n[t+r]=Q(i[t],e[t],h);else if(2===s)if(0===h)Dt(n,i,r,0,u);else if(1===h)Dt(n,e,r,0,u);else{let t=0;for(let s=0,a=r;s<u;++s,++a)n[a]=Q(i[s],e[s],h),t+=n[a]*n[a];if(t>0){t=Math.sqrt(t);for(let s=r;s<r+u;++s)n[s]/=t}else{for(let t=r;t<r+u;++t)n[t]=0;n[r]=1}}else t("")}function Dt(t,s,i,e,n){if(0===n)return;let r=0,u=i,h=e;for(;r++<n;)t[u++]=s[h++]}function At(t,s,i){let e=0;for(let n=0;!e&&n<i;++n)e=t[n]-s[n];return e}function Pt(t,s){return t}function qt(t){t.sort((t,s)=>t<s?-1:t>s?1:0)}function zt(t,s){const i=t.slice(0,s);qt(i),Dt(t,i,0,0,s)}function Zt(t,s,i,e){const n=t.slice(s,s+i);n.sort(e),Dt(t,n,s,0,i)}function Ct(t,s){return t<s?-1:t>s?1:0}function Rt(t,s,i,e){return t<i?-1:t>i?1:s<e?-1:s>e?1:0}function Bt(t,s){if(t.length<2)return t.length;let i=0;for(let e=1;e<t.length;++e)s(t[e],t[i])||(i++,t[e]=Pt(t[i],t[i]=t[e]));return 1+i}function St(t,s){t[s]=t.at(-1),t.pop()}function kt(t,s=!1){return{[Symbol.dispose](){this.bForget||t()},bForget:s}}function Ft(t,s,i){t.length=s,t.fill(i)}function Lt(t,s,i){t.length=i;for(let e=0;e<i;++e)t[e]=new s}function Ot(t,s){const i=new Array(s);for(let e=0;e<s;++e)i[e]=new t;return i}function Gt(t,s,i){for(let e=0;e<i;++e)t[e].assign(s[e]);return i}function Qt(t,s){const i=t.slice(0,s);for(let e=0;e<s;++e)i[e]=i[e].clone();return i}function Vt(t){return Array.from({length:t},()=>null)}function Ut(t,s){return Array.from({length:s},()=>t())}function Yt(t,s){const i=new Array(t);return i.fill(s),i}function jt(t,s){return s in t&&1===Object.getOwnPropertyNames(t).length}class Ht{constructor(...t){this.m_elts=t}get length(){return this.m_elts.length}at(t){return this.m_elts[t]}[Symbol.dispose](){for(const t of this.m_elts)t[Symbol.dispose]()}}function $t(t,s){return{first:t,second:s}}const Jt=Math.PI,Kt=2*Math.PI,Wt=.5*Math.PI;class Xt{constructor(t,s){this.m_cr=t,this.m_cc=s,this.m_v=Yt(t*s,0)}get(t,s){return this.m_v[t*this.m_cc+s]}set(t,s,i){this.m_v[t*this.m_cc+s]=i}inc(t,s){return++this.m_v[t*this.m_cc+s]}}const ts=new ArrayBuffer(8),ss=new Float64Array(ts),is=new BigUint64Array(ts),es=0x0fffffffffffffn,ns=0x7ff0000000000000n;function rs(){return Number.EPSILON*Fs}function us(t){return ss[0]=t,is[0]}function hs(t){return is[0]=t,ss[0]}function as(t){return us(t)&es}function os(t){return Number((us(t)&ns)>>52n)}function ms(t){if(0n===t)return-1n;if(1n===t||-1n===t)return 0n;t<0n&&(t=-t);let s=0n,i=512n,e=1n<<s+i;for(;t>=e;)s+=i,i<<=1n,e<<=i;let n=s;i>>=1n;let r=n+i;for(;i>0n;)t<1n<<r||(n=r),i>>=1n,r=n+i;return n}function ls(t,s){return t===s||Number.isNaN(t)&&Number.isNaN(s)}function cs(t,s,i){return t===s||Math.abs(t-s)<=i||Number.isNaN(t)&&Number.isNaN(s)}function fs(t,s){return t<s?-1:t>s?1:0}function _s(t,s){if(t<s)return-1;if(t>s)return 1;if(t===s)return 0;{const i=Number.isNaN(t),e=Number.isNaN(s);return i<e?-1:i>e?1:0}}function vs(){return 2147483647}function bs(){return 32767}function ds(){return 2147483647}function xs(){return-2147483648}const Ns=ds(),ps=BigInt(Ns),ys=2166136261,Ts=16777619;function gs(t){let s=ys,i=t;return s=(s^255&i)*Ts,i>>=8,s=(s^255&i)*Ts,i>>=8,s=(s^255&i)*Ts,i>>=8,s=(s^255&i)*Ts,s&Ns}const Ms=14695981039346656037n,Es=1099511628211n;function Is(t){let s=Ms,i=t;return s=(s^0xffn&i)*Es,i>>=8n,s=(s^0xffn&i)*Es,i>>=8n,s=(s^0xffn&i)*Es,i>>=8n,s=(s^0xffn&i)*Es,i>>=8n,s=(s^0xffn&i)*Es,i>>=8n,s=(s^0xffn&i)*Es,i>>=8n,s=(s^0xffn&i)*Es,s&ps}function ws(t){return 1103515245*t+12345&2147483647}function Ds(t){let s=ys;for(let i=0,e=t.length;i<e;++i)s=(s^t.charCodeAt(i))*Ts;return s&Ns}function As(t,s){return s+2654435769+(t<<6)+(t>>2)&Ns}function Ps(t,s){return As(t,Cs(s))}function qs(t){return As(3735928559,t)}function zs(t,s){return As(t,qs(s))}function Zs(t){return gs(t)}function Cs(t){return Number(Is(t))}function Rs(t){return Xs(t)}function Bs(t){return Cs(us(Rs(t)))}function Ss(t){return ws(t)}const ks=100,Fs=100;function Ls(){return Number.EPSILON*ks}function Os(){return.38196601125010515}function Gs(){return 1.4142135623730951}function Qs(){return Number.EPSILON}function Vs(t,s,i){return t===s||t===i}function Us(t,s,i){return t>=s?t<=i?t:i:s}function Ys(t,s,i){const e=t[0];if(e>=s){if(e<=i)return!1;t[0]=i}else t[0]=s;return!0}function js(t,s){return t>=s?s:t<-s?-s:t}function Hs(){return Jt}function $s(){return Kt}function Js(){return Wt}const Ks=3*Js();function Ws(){return Ks}function Xs(t){return t+0}function ti(t){return{v:t}}class si{constructor(){this.m_rn=ti(0n),this.m_rd=ti(1n),this.m_bNaN=!1,this.m_bNormalized=!1,this.m_power=0,this.m_sign=0}static constructAssign(t,s){const i=t.clone();return void 0!==s&&i.limitPrecisionThis(s),i}static constructDouble(t){return(new si).setDouble(t)}static constructInt64(t){return(new si).setInt64(t)}static constructRational(t,s){return(new si).setRational(t,s)}static constructInt32(t){return this.constructInt64(BigInt(Math.trunc(t)))}[Symbol.toPrimitive](t){return this}compare(t){return this.lt(t)?-1:this.gt(t)?1:0}assignCopy(t){return this.setThis(t)}abs(){return this.clone().absThis()}absThis(){return this.isNAN()||(this.m_sign*=this.m_sign),this}clone(){return(new si).setThis(this)}setThis(t){return this.m_bNaN=t.m_bNaN,this.m_bNormalized=t.m_bNormalized,this.m_rn.v=t.m_rn.v,this.m_rd.v=t.m_rd.v,this.m_power=t.m_power,this.m_sign=t.m_sign,this}setZero(){return this.m_rn.v=0n,this.m_rd.v=1n,this.m_bNaN=!1,this.m_power=0,this.m_bNormalized=!0,this.m_sign=0,this}setDouble(s){if(this.setZero(),0===s)return this;if(Number.isInteger(s)&&Math.abs(s)<ds())return this.setInt32(s);const i=us(s),e=(i&si.s_em)>>52n,n=!!(i&si.s_sm),r=i&si.s_fm;if(e===si.s_emax)return r?(this.m_rn.v=this.m_rd.v=0n,this.m_bNaN=!0,this):(this.m_rn.v=n?-1n:1n,this.m_rd.v=0n,this);0n===e&&t("denormalized numbers not yet implemented");const u=e-1023n,h=u>=0n?u:0n,a=u<0n?-u:0n;return this.m_rn.v=(1n<<52n|r)<<h,this.m_rd.v=1n<<52n+a,this.m_sign=n?-1:1,this.m_bNormalized=!1,this.normalizeThis()}setInt64(t){return 0n===t?this.setZero():(this.m_bNaN=!1,this.m_sign=t>0n?1:-1,this.m_rn.v=t>0n?t:-t,this.m_rd.v=1n,this.m_power=0,this.m_bNormalized=!1,this.normalizeThis())}setRational(t,s){return 0n===t?0n===s?this.setNAN():this.setZero():0n===s?t>0n?this.setPositiveInf():this.setNegativeInf():(this.m_sign=(t>0n?1:-1)*(s>0n?1:-1),this.m_rn.v=t>0n?t:-t,this.m_rd.v=s>0n?s:-s,this.m_power=0,this.m_bNormalized=!1,this.normalizeThis())}setInt32(t){return this.setInt64(BigInt(Math.trunc(t)))}getDouble(){return this.convertToDouble()}toDouble(){return this.convertToDouble()}value(){return this.convertToDouble()}isNAN(){return this.m_bNaN}isPositiveInf(){return!this.isNAN()&&(0n===this.m_rd.v&&1===this.m_sign)}isNegativeInf(){return!this.isNAN()&&(0n===this.m_rd.v&&-1===this.m_sign)}isFinite(){return!this.isNAN()&&0n!==this.m_rd.v}setNAN(){return this.m_bNaN=!0,this.m_rn.v=0n,this.m_rd.v=0n,this.m_power=0,this.m_bNormalized=!0,this}setPositiveInf(){return this.m_rn.v=1n,this.m_rd.v=0n,this.m_bNaN=!1,this.m_bNormalized=!0,this.m_sign=1,this.m_power=0,this}setNegativeInf(){return this.m_rn.v=1n,this.m_rd.v=0n,this.m_bNaN=!1,this.m_bNormalized=!0,this.m_sign=-1,this.m_power=0,this}subThis(t){if(t.isNAN()&&this.setNAN(),this.isPositiveInf()&&t.isPositiveInf())this.setNAN();else{if(this.isPositiveInf()&&t.isNegativeInf())return this.setPositiveInf(),this;if(this.isNegativeInf()&&t.isNegativeInf())this.setNAN();else if(this.isNegativeInf()&&t.isPositiveInf())return this.setNegativeInf(),this}return this.isNAN()?this:this.opPlusMinus(t,!1)}thisSubAbs(t){return s(0),this}mulThis(t){return t.isNAN()&&this.setNAN(),this.isNAN()?this:(this.m_sign*=t.m_sign,0===this.m_sign?this.setZero():(this.m_rn.v*=t.m_rn.v,this.m_rd.v*=t.m_rd.v,this.m_power+=t.m_power,this.m_bNormalized=!1,this.normalizeThis(),this))}mulDoubleThis(t){return this.mulThis(si.constructDouble(t))}thisMulInt64(t){return s(0),this}thisMulInt32(t){return s(0),this}divThis(t){return this.mulThis(t.clone().invertThis())}divDoubleThis(t){return this.divThis(si.constructDouble(t))}addDoubleThis(t){return this.addThis(si.constructDouble(t))}subDoubleThis(t){return this.subThis(si.constructDouble(t))}mul(t){return this.clone().mulThis(t)}mulBigIntThis(t){return this.mulThis(si.constructInt64(t))}mulDouble(t){return this.clone().mulThis(si.constructDouble(t))}div(t){return this.clone().divThis(t)}divDouble(t){return this.clone().divDoubleThis(t)}add(t){return this.clone().addThis(t)}fmSubThis(t,s){return this.subThis(t.clone().mulThis(s))}fmAddThis(t,s){return this.addThis(t.clone().mulThis(s))}addThis(t){if(t.isNAN()&&this.setNAN(),this.isPositiveInf()&&t.isPositiveInf())return this.setPositiveInf(),this;if(this.isPositiveInf()&&t.isNegativeInf())this.setNAN();else{if(this.isNegativeInf()&&t.isNegativeInf())return this.setNegativeInf(),this;this.isNegativeInf()&&t.isPositiveInf()&&this.setNAN()}return this.isNAN()?this:this.opPlusMinus(t,!0)}addDouble(t){return this.clone().addThis(si.constructDouble(t))}sub(t){return this.clone().subThis(t)}subDouble(t){return this.clone().subThis(si.constructDouble(t))}isZero(){return 0===this.m_sign}equals(t){return this.clone().subThis(t).isZero()}lt(t){return!this.isNAN()&&!t.isNAN()&&(!(this.isPositiveInf()&&t.isPositiveInf()||this.isNegativeInf()&&t.isNegativeInf())&&(!this.isPositiveInf()&&(!!t.isPositiveInf()||this.clone().sub(t).LZ())))}absLessAbs(t){return this.abs().lt(t.abs())}gt(t){return this.clone().sub(t).GZ()}lte(t){return this.sub(t).LEZ()}gte(t){return this.sub(t).GEZ()}normalizeThis(){if(this.m_bNormalized)return this;if(0n===this.m_rn.v)return this.setZero();let t=0,s=0xffffffffn;for(;0n===(this.m_rn.v&s)&&s<=this.m_rn.v;)s<<=32n,t+=32;s&=this.m_rn.v,s>>=BigInt(t),t+=_(BigInt.asUintN(32,s))-1;let i=0;for(s=0xffffffffn;0n===(this.m_rd.v&s)&&s<=this.m_rd.v;)s<<=32n,i+=32;return s&=this.m_rd.v,s>>=BigInt(i),i+=_(BigInt.asUintN(32,s))-1,this.m_rn.v>>=BigInt(t),this.m_rd.v>>=BigInt(i),this.m_power+=t-i,this.m_rn.v>1n&&this.m_rd.v>1n&&(this.m_rn.v%this.m_rd.v===0n?(this.m_rn.v/=this.m_rd.v,this.m_rd.v=1n):this.m_rd.v%this.m_rn.v===0n&&(this.m_rd.v/=this.m_rn.v,this.m_rn.v=1n)),this.m_bNormalized=!0,this}negateThis(){return this.isNAN()||(this.m_sign*=-1),this}negate(){return this.clone().negateThis()}invertThis(){return this.isNAN()?this:this.isPositiveInf()||this.isNegativeInf()?(this.setZero(),this):0n===this.m_rn.v?(this.setPositiveInf(),this):(this.m_rd=Pt(this.m_rn,this.m_rn=this.m_rd),this.m_power=-this.m_power,this)}limitPrecisionThis(t){if(0===t)return this;if(this.isZero())return this.setZero();if(!this.isFinite())return this;this.normalizeThis();let s=Number(ms(this.m_rn.v));if(s>t){const i=s-t;this.m_rn.v>>=BigInt(s-t),this.m_power+=i}if(s=Number(ms(this.m_rd.v)),s>t){const i=s-t;this.m_rd.v>>=BigInt(s-t),this.m_power-=i}return this}hiBitIndex(){return Math.max(Number(ms(this.m_rn.v)),Number(ms(this.m_rd.v)))}ldexp(t){return this.clone().ldexpThis(t)}ldexpThis(t){return t&&(this.m_bNormalized=!1,this.m_power+=t,this.normalizeThis()),this}static lerp(t,s,i){return si.lerpLo(s,s,i)}static lerpLo(t,s,i){return s.sub(t).mulThis(i).addThis(t)}static lerpHi(t,s,i){return s.sub(t).mulThis(ii.sub(i)).addThis(t)}LZ(){return!this.isNAN()&&-1===this.m_sign}GZ(){return!this.isNAN()&&1===this.m_sign}LEZ(){return!this.isNAN()&&this.m_sign<=0}GEZ(){return!this.isNAN()&&this.m_sign>=0}toString(){return this.toDouble().toString()}sqr(){return this.clone().sqrThis()}sqrThis(){return this.mulThis(this.clone())}static sqrt(t,e){if(t.m_sign<0n&&i("MP_value: sqrt(-1)"),t.isZero())return t.clone();let n=52,r=2220446049250313e-31;for(;n<e;)2*n<=e?(r*=r,n*=2):(r*=2220446049250313e-31,n+=52);n+=52;const u=ms(t.m_rn.v),h=ms(t.m_rd.v);let a,o=t.m_power+Number(u-h);const m=new si;Math.abs(o)>200?(1&Math.abs(o)&&(o+=1),a=si.constructAssign(t,53).ldexpThis(-o).value(),m.setThis(t).ldexpThis(-o),s(Number.isFinite(a))):(m.setThis(t),a=m.value(),s(Number.isFinite(a)),o=0),a=Math.sqrt(a);const l=si.constructDouble(a),c=si.constructDouble(r);c.mulThis(l).ldexpThis(1);const f=r*a*2,_=l.clone(),v=new si;let b;for(let s=0;s<10;++s){_.mulThis(l),v.setThis(m).subThis(_).absThis();let t=v.value();if(b=1,t<.9)for(;t>f;)t*=t,++b;else b=4;if(v.lte(c))break;for(let s=0;s<b;s++)_.setThis(l).divThis(m).invertThis().addThis(l).ldexpThis(-1).limitPrecisionThis(n),l.setThis(_)}return l.ldexpThis(o/2)}static cubicRoot(t,s){if(t.isZero())return t.clone();let i=52,e=2220446049250313e-31;for(;i<s;)2*i<=s?(e*=e,i*=2):(e*=2220446049250313e-31,i+=52);i+=52;const n=Math.pow(Math.abs(t.value()),1/3),r=si.constructDouble(n),u=r.clone();u.sqrThis().mulDoubleThis(3).mulDoubleThis(e),u.limitPrecisionThis(32),t.LZ()&&r.negateThis();for(let h=0;h<10;++h){const s=r.clone();s.sqrThis().mulThis(r);const e=s.clone();if(e.subThis(t),e.absThis().limitPrecisionThis(32),e.lte(u))break;e.setThis(t),e.ldexpThis(1),e.addThis(s);const n=s.clone();n.ldexpThis(1),n.addThis(t),e.divThis(n),r.mulThis(e),r.limitPrecisionThis(i)}return r}isInTheRangeOfDouble(){return s(0),!1}sign(){return this.m_sign}cosAndSin(t,i){s(0)}pow(t){return Mt(this,t)}static nan(){return s(0),new si}convertToDouble(){if(this.m_bNaN)return Number.NaN;if(this.isZero())return 0;if(0n===this.m_rd.v)return 1===this.m_sign?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY;const t=-1===this.m_sign,s=this.m_rn.v<<(this.m_power>=0?BigInt(this.m_power):0n);let i=this.m_rd.v<<(this.m_power<0?BigInt(-this.m_power):0n);const e=s/i;let n=Number(e);if(BigInt(n)!==e)return t?-n:n;let r=s-e*i;if(r){let t=ms(i)-1023n;t>0n&&(i>>=t,r<<=52n,r>>=t);let s=Number(r);Number.isFinite(s)||(r>>=52n,s=Number(r),t=0n),t>0n&&(s/=Math.pow(2,52));n+=s/Number(i)}return t?-n:n}signVal(){return 1===this.m_sign?1n:-1===this.m_sign?-1n:0n}opPlusMinus(t,s){const i=Math.min(this.m_power,t.m_power);let e,n;this.m_power>i?(e=BigInt(this.m_power-i),n=0n):(e=0n,n=BigInt(t.m_power-i));const r=this.signVal()*this.m_rn.v*t.m_rd.v<<e,u=t.signVal()*t.m_rn.v*this.m_rd.v<<n;return this.m_rn.v=s?r+u:r-u,this.m_rd.v*=t.m_rd.v,this.m_power=i,this.m_sign=1,this.m_rn.v<0n&&(this.m_sign=-1,this.m_rn.v=-this.m_rn.v),this.m_bNormalized=!1,this.normalizeThis(),this}}si.s_sm=0x8000000000000000n,si.s_em=0x7ff0000000000000n,si.s_fm=0x000fffffffffffffn,si.s_emax=0x7ffn;const ii=si.constructInt32(1),ei=si.constructInt32(0),ni=si.constructDouble(.5);function ri(t,s){return d(t^s)}function ui(t,s){let i=os(t);const e=os(s);if(i===e){return i-=53-ri(as(t),as(s)),i}return i>e?i:e}function hi(t,s){for(let i=0,e=0,n=t.length;i<n;i+=2,e++)s[e].x=t[i],s[e].y=t[i+1]}function ai(t){const s=new Float64Array(2*t.length);for(let i=0,e=t.length;i<e;++i){const e=i<<1;s[e]=t[i].x,s[e+1]=t[i].y}return s}function oi(t){const s=Ot(mi,t.length);for(let i=0,e=t.length;i<e;++i)s[i].setCoords(t[i][0],t[i][1]);return s}class mi{static construct(t,s){return new mi(t,s)}constructor(t,s){void 0!==t?(this.x=t,this.y=s):this.x=this.y=Number.NaN}clone(){return new mi(this.x,this.y)}assign(t){this.setCoordsPoint2D(t)}setCoords(t,s){return this.x=t,this.y=s,this}setCoordsPoint2D(t){this.x=t.x,this.y=t.y}isEqualPoint2D(t,s){return void 0!==s?Math.abs(this.x-t.x)<=s&&Math.abs(this.y-t.y)<=s:this.x===t.x&&this.y===t.y}isEqual(t,s,i){return void 0!==i?Math.abs(this.x-t)<=i&&Math.abs(this.y-s)<=i:this.x===t&&this.y===s}equalsPoint2D(t,s){return this.isEqualPoint2D(t,s)}setSub(t,s){this.x=t.x-s.x,this.y=t.y-s.y}addThis(t){return this.x+=t.x,this.y+=t.y,this}setAdd(t,s){return this.x=t.x+s.x,this.y=t.y+s.y,this}absoluteOther(t){}absolute(){return s(0),this}setNegate(){this.x=-this.x,this.y=-this.y}setNegateOther(t){this.x=-t.x,this.y=-t.y}interpolateThis(t,s){}interpolate(t,i,e){s(0)}scaleAddThis(t,s){this.x=this.x*t+s.x,this.y=this.y*t+s.y}setScaleAdd(t,s,i){this.x=s.x*t+i.x,this.y=s.y*t+i.y}scaleOther(t,i){s(0)}scale(t){this.x*=t,this.y*=t}compare(t){return this.y<t.y?-1:this.y>t.y?1:this.x<t.x?-1:this.x>t.x?1:0}compareX(t){return this.x<t.x?-1:this.x>t.x?1:this.y<t.y?-1:this.y>t.y?1:0}normalizeOther(t){s(0)}normalize(){const t=this.length();return t?(this.x/=t,this.y/=t):(this.x=1,this.y=0),this}getUnitVector(){return this.clone().normalize()}length(){return Math.sqrt(this.x*this.x+this.y*this.y)}sqrLength(){return this.x*this.x+this.y*this.y}static averageFast(t,i){return s(0),{}}static average(t,s){const i=new mi;if(0===s)return i.setNAN(),i;if(1===s)return i.assign(t[0]),i;const e=new n(t[0].x),r=new n(t[0].y);for(let n=1;n<s;n++)e.add(t[n].x),r.add(t[n].y),255&n||(e.normalize(),r.normalize());return i.x=e.getResult()/s,i.y=r.getResult()/s,i}static calculateLength(t,s){const i=new n(0);for(let e=1;e<s;e++)i.add(mi.distance(t[e],t[e-1]));return i.getResult()}offset(t,s){const i=mi.distance(t,s),e=mi.construct(this.x,this.y);if(0===i)return mi.distance(e,t);const n=s.clone();n.subThis(t),e.subThis(t);return e.crossProduct(n)/i}side(t,s){return t.equals(s)?this.equals(t)?0:1:mi.orientationRobust(s,t,this)}static sqrDistance(t,s){const i=t.x-s.x,e=t.y-s.y;return i*i+e*e}static sqrDistanceCoords(t,s,i,e){const n=i-t,r=e-s;return n*n+r*r}static distance(t,s){return Math.sqrt(mi.sqrDistance(t,s))}dotProduct(t){return this.x*t.x+this.y*t.y}dotProductAbs(t){return Math.abs(this.x*t.x)+Math.abs(this.y*t.y)}crossProduct(t){return this.x*t.y-this.y*t.x}crossProductAbs(t){return s(0),0}rotateDirect(t,s){const i=this.x*t-this.y*s,e=this.x*s+this.y*t;this.x=i,this.y=e}rotateReverse(t,s){const i=this.x*t+this.y*s,e=-this.x*s+this.y*t;this.x=i,this.y=e}leftPerpendicularThis(){const t=this.x;this.x=-this.y,this.y=t}leftPerpendicularOther(t){const s=t.x;this.x=-t.y,this.y=s}rightPerpendicularThis(){const t=this.x;this.x=this.y,this.y=-t}rightPerpendicularOther(t){const s=t.x;this.x=t.y,this.y=-s}equals(t){return this.x===t.x&&this.y===t.y}notequals(t){return this.x!==t.x||this.y!==t.y}not(){return!this.x&&!this.y}gt(t){return this.y>t.y||this.y===t.y&&this.x>t.x}gte(t){return!this.lt(t)}lt(t){return this.y<t.y||this.y===t.y&&this.x<t.x}lte(t){return!this.gt(t)}subThis(t){return this.x-=t.x,this.y-=t.y,this}divThis(t){return this.x/=t,this.y/=t,this}add(t){return new mi(this.x+t.x,this.y+t.y)}sub(t){return new mi(this.x-t.x,this.y-t.y)}negateThis(){return this.x=-this.x,this.y=-this.y,this}negate(){return new mi(-this.x,-this.y)}mul(t){return new mi(this.x*t,this.y*t)}mulThis(t){return this.x*=t,this.y*=t,this}divide(t){return new mi(this.x/t,this.y/t)}setNAN(){this.x=this.y=Number.NaN}isNAN(){return Number.isNaN(this.x)||Number.isNaN(this.y)}static getNAN(){return new mi(Number.NaN,Number.NaN)}isFinite(){return Number.isFinite(this.x)&&Number.isFinite(this.y)}isZero(){return 0===this.x&&0===this.y}norm(t){switch(t){case 0:{const t=Math.abs(this.x),s=Math.abs(this.y),i=t-s;return i>=0?t:i<=0?s:Number.NaN}case 1:return Math.abs(this.x)+Math.abs(this.y);case 2:return Math.sqrt(this.x*this.x+this.y*this.y);default:e("norm")}}getQuarter(){return mi.getQuarterCoords(this.x,this.y)}static getQuarterCoords(t,s){return t>0?s>=0?1:4:s>0?2:0===t?4:3}static compareVectors(t,s){const i=t.getQuarter(),e=s.getQuarter();return e===i?mi.orientationRobustImpl(mi.construct(0,0),s,t,!0):i<e?-1:1}static compareVectorsOrigin(t,s,i){const e=s.sub(t),n=i.sub(t),r=e.getQuarter(),u=n.getQuarter();return u===r?mi.orientationRobustImpl(t,i,s,!0):r<u?-1:1}static orientationRobust(t,s,i){return mi.orientationRobustImpl(t,s,i,!1)}static orientationRobustEx(t,s,i,e){if(t.equals(s)||i.equals(e))return 0;const n=s.x-t.x,r=s.y-t.y,u=e.x-i.x,h=e.y-i.y;{const t=mi.getQuarterCoords(n,r)-1,s=mi.getQuarterCoords(u,h)-1,i=mi.d[t][s];if(0!==i)return i}const a=n*h,o=r*u,m=4*Qs()*(Math.abs(a)+Math.abs(o)),l=a-o;if(Math.abs(l)>=m){return l<0?-1:l>0?1:0}return mi.orientationRobustExMp(t,s,i,e)}static orientationRobustExMp(t,s,i,e){const n=si.constructDouble(s.x),r=si.constructDouble(e.x);n.subThis(si.constructDouble(t.x)),r.subThis(si.constructDouble(i.x));const u=si.constructDouble(s.y),h=si.constructDouble(e.y);return u.subThis(si.constructDouble(t.y)),h.subThis(si.constructDouble(i.y)),n.mulThis(h),u.mulThis(r),n.subThis(u),n.LZ()?-1:n.GZ()?1:0}static orientationNonRobust(t,s,i){const e=s.sub(t).crossProduct(i.sub(t));return e<0?-1:e>0?1:0}static orientationRobustImpl(t,s,i,e){if(s.isEqualPoint2D(t)||i.isEqualPoint2D(t)||s.isEqualPoint2D(i))return 0;const n=s.x-t.x,r=s.y-t.y,u=i.x-t.x,h=i.y-t.y;if(!e){const t=mi.getQuarterCoords(n,r)-1,s=mi.getQuarterCoords(u,h)-1,i=mi.d[t][s];if(0!==i)return i}const a=(Math.abs(n)+Math.abs(r)+Math.abs(u)+Math.abs(h))*(Math.abs(s.x)+Math.abs(s.y)+Math.abs(i.x)+Math.abs(i.y))*8*M(),o=n*h-r*u;if(Math.abs(o)>a){return o<0?-1:1}if(g(s.x,t.x)&&g(i.y,t.y)&&g(s.y,t.y)&&g(i.x,t.x)&&y(n,h)&&y(r,u)){const t=n*h,s=r*u;if(g(t,s)){const i=t-s;return i<0?-1:i>0?1:0}}return mi.orientationRobustMp(t,s,i)}static orientationRobustMp(t,s,i){const e=si.constructDouble(s.x),n=si.constructDouble(i.x);{const s=si.constructDouble(t.x);e.subThis(s),n.subThis(s)}const r=si.constructDouble(i.y),u=si.constructDouble(s.y);{const s=si.constructDouble(t.y);r.subThis(s),u.subThis(s)}return e.mulThis(r),u.mulThis(n),e.subThis(u),e.LZ()?-1:e.GZ()?1:0}static inCircleRobust(t,s,i,e){const n=new p,r=new p;n.set(t.x),n.subThis(e.x),r.set(t.y),r.subThis(e.y);const u=new p,h=new p;u.set(s.x),u.subThis(e.x),h.set(s.y),h.subThis(e.y);const a=new p,o=new p;a.set(i.x),a.subThis(e.x),o.set(i.y),o.subThis(e.y);const m=n.mulE(h).subE(r.mulE(u)),l=u.mulE(o).subE(h.mulE(a)),c=n.mulE(o).subE(r.mulE(a)),f=n.mulE(n).addE(r.mulE(r)),_=u.mulE(u).addE(h.mulE(h)),v=a.mulE(a).addE(o.mulE(o)),b=f.mulE(l).subE(_.mulE(c)).addE(v.mulE(m));if(!b.isFuzzyZero()){const t=b.value();return t<0?-1:t>0?1:0}return mi.inCircleRobustMp(t,s,i,e)}static inCircleRobustMp(t,s,i,e){do{if(!g(t.x,e.x)||!g(t.y,e.y))break;if(!g(s.x,e.x)||!g(s.y,e.y))break;if(!g(i.x,e.x)||!g(i.y,e.y))break;const n=t.x-e.x,r=t.y-e.y,u=s.x-e.x,h=s.y-e.y,a=i.x-e.x,o=i.y-e.y;if(!y(n,h)||!y(r,u))break;if(!y(u,o)||!y(h,a))break;if(!y(n,o)||!y(r,a))break;if(!y(n,n)||!y(r,r))break;if(!y(u,u)||!y(h,h))break;if(!y(a,a)||!y(o,o))break;const m=n*h,l=r*u,c=u*o,f=h*a,_=n*o,v=r*a,b=n*n,d=r*r,x=u*u,N=h*h,p=a*a,M=o*o;if(!g(m,l))break;if(!g(c,f))break;if(!g(_,v))break;if(!T(b,d))break;if(!T(x,N))break;if(!T(p,M))break;const E=m-l,I=c-f,w=_-v,D=b+d,A=x+N,P=p+M;if(!y(D,I))break;if(!y(A,w))break;if(!y(P,E))break;const q=D*I,z=A*w,Z=P*E;if(!g(q,z))break;const C=q-z;if(!T(C,Z))break;const R=C+Z;return R<0?-1:R>0?1:0}while(0);const n=si.constructDouble(e.x),r=si.constructDouble(e.y),u=si.constructDouble(t.x),h=si.constructDouble(t.y);u.subThis(n),h.subThis(r);const a=si.constructDouble(s.x),o=si.constructDouble(s.y);a.subThis(n),o.subThis(r);const m=si.constructDouble(i.x),l=si.constructDouble(i.y);m.subThis(n),l.subThis(r);const c=u.mul(o).sub(h.mul(a)),f=a.mul(l).sub(o.mul(m)),_=u.mul(l).sub(h.mul(m)),v=u.mul(u).add(h.mul(h)),b=a.mul(a).add(o.mul(o)),d=m.mul(m).add(l.mul(l)),x=v.mul(f).sub(b.mul(_)).add(d.mul(c));return x.LZ()?-1:x.GZ()?1:0}static inCircleRobustMp3Point(t,s,i){const e=si.constructDouble(t.x),n=si.constructDouble(t.y),r=si.constructDouble(s.x),u=si.constructDouble(s.y),h=si.constructDouble(i.x),a=si.constructDouble(i.y),o=h.mul(h).add(a.mul(a)).sub(h.mul(e).add(a.mul(n)).add(h.mul(r)).add(a.mul(u))).add(e.mul(r).add(n.mul(u)));return o.LZ()?-1:o.GZ()?1:0}static inCircleRobust3Point(t,s,i){const e=new p(t.x),n=new p(t.y),r=new p(s.x),u=new p(s.y),h=new p(i.x),a=new p(i.y),o=h.mulE(h).addE(a.mulE(a)).subE(h.mulE(e).addE(a.mulE(n)).addE(h.mulE(r)).addE(a.mulE(u))).addE(e.mulE(r).addE(n.mulE(u)));if(!o.isFuzzyZero()){const t=o.value();return t<0?-1:t>0?1:0}return mi.inCircleRobustMp3Point(t,s,i)}static calculateCircleCenterFromThreePoints(t,s,i){if(t.equals(i)||t.equals(s)||i.equals(s))return mi.getNAN();const e=li(t,s,i);return e.isNAN()?ci(t,s,i):e}static calculateAngle(t,s){return Math.atan2(t.crossProduct(s),t.dotProduct(s))}static isBisectorRobust(t,i,e){return s(0),!1}static size(){return 2}get 0(){return this.x}get 1(){return this.y}set 0(t){this.x=t}set 1(t){this.y=t}static compareZorder(t,s){const i=mi.c_compare_zorder_xx[t.x<0?1:0]|mi.c_compare_zorder_yy[t.y<0?1:0],e=mi.c_compare_zorder_xx[s.x<0?1:0]|mi.c_compare_zorder_yy[s.y<0?1:0];if(i===e){let i=0,e=0;for(let n=0;n<2;++n){const r=ui(t[n],s[n]);r>i&&(i=r,e=n)}return t[e]<s[e]}return i<e}static lerp(t,s,i){const e=new mi;return Y(t,s,i,e),e}static getClosestCoordinate(t,s,i,e=!1){const n=mi.getNAN();n.setSub(s,t);const r=n.sqrLength();if(0===r)return.5;if(s.isEqualPoint2D(i))return 1;const u=mi.getNAN();u.setSub(i,t);let h=u.dotProduct(n)/r;return e||(h<0?h=0:h>1&&(h=1)),h}static intersectLinesAtOnePoint(t,s,i,e){if(t.equals(s)||i.equals(e))return mi.getNAN();const n=s.x-t.x,r=i.x-e.x,u=s.y-t.y,h=i.y-e.y,a=n*h-r*u;if(!a)return mi.getNAN();const o=a;if(0===o)return mi.getNAN();let m=(i.x-t.x)*h-(i.y-t.y)*r;m/=o;const l=new mi;return Y(t,s,m,l),l.isFinite()?l:mi.getNAN()}toString(){return`[${this.x},${this.y}]`}}function li(t,s,i){const e=new p(s.x);e.subThis(t.x);const n=new p(s.y);n.subThis(t.y);const r=new p(i.x);r.subThis(t.x);const u=new p(i.y);u.subThis(t.y);const h=e.clone();h.mulThisE(u);let a=n.clone();if(a.mulThisE(r),h.subThisE(a),0===h.value())return mi.getNAN();h.mulThis(2);const o=e.clone();o.mulThisE(e);const m=n.clone();m.mulThisE(n);const l=o.clone();l.addThisE(m);const c=r.clone();c.mulThisE(r);const f=u.clone();f.mulThisE(u);const _=c.clone();_.addThisE(f);const v=n.clone();v.mulThisE(_),a=u.clone(),a.mulThisE(l),v.subThisE(a),v.divThisE(h);const b=e.clone();b.mulThisE(_),a=r.clone(),a.mulThisE(l),b.subThisE(a),b.divThisE(h);const d=mi.construct(t.x-v.value(),t.y+b.value()),x=t.sub(d).length(),N=s.sub(d).length(),y=i.sub(d).length(),T=1e-15*(x+Math.abs(t.x)+Math.abs(s.x)+Math.abs(i.x)+Math.abs(t.y)+Math.abs(s.y)+Math.abs(i.y));return Math.abs(x-N)<=T&&Math.abs(x-y)<=T&&v.eps()<T&&b.eps()<T?d:mi.getNAN()}function ci(t,s,i){const e=si.constructDouble(s.x);e.subDoubleThis(t.x);const n=si.constructDouble(s.y);n.subDoubleThis(t.y);const r=si.constructDouble(i.x);r.subDoubleThis(t.x);const u=si.constructDouble(i.y);u.subDoubleThis(t.y);const h=e.clone();h.mulThis(u);let a=n.clone();if(a.mulThis(r),h.subThis(a),h.isZero())return mi.getNAN();h.mulDoubleThis(2);const o=e.clone();o.mulThis(e);const m=n.clone();m.mulThis(n);const l=o.clone();l.addThis(m);const c=r.clone();c.mulThis(r);const f=u.clone();f.mulThis(u);const _=c.clone();_.addThis(f);const v=n.clone();v.mulThis(_),a=u.clone(),a.mulThis(l),v.subThis(a),v.divThis(h);const b=e.clone();b.mulThis(_),a=r.clone(),a.mulThis(l),b.subThis(a),b.divThis(h);return mi.construct(t.x-v.value(),t.y+b.value())}mi.dimensions=2,mi.d=[[0,1,0,-1],[-1,0,1,0],[0,-1,0,1],[1,0,-1,0]],mi.c_compare_zorder_xx=[2,0],mi.c_compare_zorder_yy=[1,0];export{Hs as $,wt as A,Ss as B,Zt as C,Gs as D,x as E,fs as F,cs as G,p as H,w as I,I as J,n as K,Qt as L,si as M,Vs as N,Qs as O,mi as P,ls as Q,Xt as R,Ht as S,Js as T,Y as U,It as V,jt as W,V as X,U as Y,zt as Z,L as _,H as a,Ws as a0,k as a1,F as a2,O as a3,G as a4,D as a5,ni as a6,Ct as a7,js as a8,$s as a9,Ds as aA,oi as aB,bs as aC,Ys as aD,R as aE,zs as aF,rs as aG,ai as aH,hi as aI,Bs as aJ,qs as aK,_t as aa,vt as ab,Lt as ac,A as ad,P as ae,ft as af,Jt as ag,ei as ah,ii as ai,Et as aj,Xs as ak,Rt as al,st as am,$ as an,gt as ao,J as ap,Os as aq,xs as ar,At as as,As as at,Zs as au,Vt as av,Gt as aw,S as ax,St as ay,Ps as az,Dt as b,Pt as c,Yt as d,K as e,B as f,Ls as g,kt as h,ds as i,vs as j,Ut as k,$t as l,Ot as m,ct as n,Wt as o,Kt as p,Q as q,_s as r,Us as s,W as t,Bt as u,qt as v,Ft as w,j as x,z as y,C as z};
2
+ import{t,g as s,r as i,a as e}from"./Geometry.js";class n{constructor(t){this.sum=t,this.compensation=0}assign(t){return this.compensation=t.compensation,this.sum=t.sum,this}reset(){this.sum=this.compensation=0}resetToStart(t){this.sum=t,this.compensation=0}normalize(){const t=[Number.NaN];this.sum=lt(this.sum,this.compensation,t),this.compensation=t[0]}add(t){const s=this.sum+t;let i;if(Math.abs(this.sum)>=Math.abs(t)){const e=this.sum-s+t;i=this.compensation+e}else{const e=t-s+this.sum;i=this.compensation+e}this.sum=s,this.compensation=i}sub(t){this.add(-t)}addProduct(t,s){const i=[0],e=ut(t,s,i);this.add(e),this.add(i[0])}mul(t){const s=new n(0);s.addProduct(this.sum,t),s.addProduct(this.compensation,t),this.assign(s)}getResult(){return this.sum+this.compensation}pe(t){return this.add(t),this}me(t){return this.add(-t),this}}const r=0x00000000ffffffffn,u=0x0000ffffn,h=0x000000ffn,a=0x0fn,o=0xffff0000n,m=0xff00n,l=0xf0n,c=[5,1,2,1,3,1,2,1,4,1,2,1,3,1,2,1],f=[-1,0,1,1,2,2,2,2,3,3,3,3,3,3,3,3];function _(t){let s=0;return t&u||(s+=16,t>>=16n),t&h||(s+=8,t>>=8n),t&a||(s+=4,t>>=4n),s+c[Number(BigInt.asUintN(4,t))]}function v(t){let s=0;return t&o&&(s+=16,t>>=16n),t&m&&(s+=8,t>>=8n),t&l&&(s+=4,t>>=4n),s+f[Number(BigInt.asUintN(4,t))]+1}function b(t){let s=0;return t&r||(s=32,t>>=32n),s+_(BigInt.asUintN(32,t))}function d(t){let s=0;return 0xffffffff00000000n&t&&(s=32,t>>=32n),s+v(t)}class x{constructor(t,s){if(this.m_EnvelopeType=1,void 0!==t){if(t instanceof x)return this.vmin=t.vmin,void(this.vmax=t.vmax);this.vmin=t,this.vmax=s,this.normalize()}else this.setEmpty()}static construct(t,s){return new x(t,s)}static constructEmpty(){return new x}setCoords(t,s){this.vmin=t,this.vmax=s,this.normalize()}setCoordsFromEnvelope(t){this.vmin=t.vmin,this.vmax=t.vmax}setEmpty(){this.vmin=Number.NaN,this.vmax=Number.NaN}getCenter(){return.5*(this.vmin+this.vmax)}equalsRange(t,s){return ls(this.vmin,t)&&ls(this.vmax,s)}equals(t,s){return!(!this.isEmpty()||!t.isEmpty())||(void 0!==s?Math.abs(this.vmin-t.vmin)<=s&&Math.abs(this.vmax-t.vmax)<=s:this.vmin===t.vmin&&this.vmax===t.vmax)}width(){return this.vmax-this.vmin}isEmpty(){return Number.isNaN(this.vmin)||Number.isNaN(this.vmax)}isZero(){return this.vmin===this.vmax}setInfinite(){this.vmin=Number.NEGATIVE_INFINITY,this.vmax=Number.POSITIVE_INFINITY}move(t){this.isEmpty()||(this.vmin+=t,this.vmax+=t)}contains(t){return t.vmin>=this.vmin&&t.vmax<=this.vmax}containsCoordinate(t){return t>=this.vmin&&t<=this.vmax}containsRightExclusive(t){return t>=this.vmin&&t<this.vmax}containsExclusiveCoordinate(t){return t>this.vmin&&t<this.vmax}containsExclusive(t){return t.vmin>this.vmin&&t.vmax<this.vmax}isIntersecting(t){return this.vmin<=t.vmin?this.vmax>=t.vmin:t.vmax>=this.vmin}mergeCoordinate(t){if(this.isEmpty())return this.vmin=t,void(this.vmax=t);this.mergeNeCoordinate(t)}merge(t){if(t.isEmpty())return;const s=t.vmin,i=t.vmax;this.mergeCoordinate(s),this.mergeCoordinate(i)}mergeNe(t){const s=t.vmin,i=t.vmax;this.mergeNeCoordinate(s),this.mergeNeCoordinate(i)}mergeNeCoordinate(t){t<this.vmin?this.vmin=t:t>this.vmax&&(this.vmax=t)}intersect(t){this.isEmpty()||t.isEmpty()?this.setEmpty():(this.vmin<t.vmin&&(this.vmin=t.vmin),this.vmax>t.vmax&&(this.vmax=t.vmax),this.vmin>this.vmax&&this.setEmpty())}inflate(t){this.isEmpty()||(this.vmin-=t,this.vmax+=t,this.vmax<this.vmin&&this.setEmpty())}normalize(){this.vmin<=this.vmax||(this.vmin>this.vmax?this.vmax=Pt(this.vmin,this.vmin=this.vmax):this.setEmpty())}isValid(){return this.isEmpty()||this.vmin<=this.vmax}snapClip(t){return Us(t,this.vmin,this.vmax)}calculateToleranceFromEnvelope(){if(this.isEmpty())return Ls();return(Math.abs(this.vmin)+Math.abs(this.vmax)+1)*Ls()}static unit(){return N}normalizeNoNAN(){this.vmin>this.vmax&&(this.vmax=Pt(this.vmin,this.vmin=this.vmax))}setCoordsNoNAN(t,s){this.vmin=t,this.vmax=s,this.normalizeNoNAN()}clone(){return new x(this.vmin,this.vmax)}}const N=new x(0,1);class p{static getNAN(){return new p(Number.NaN)}constructor(t,s){this.m_value=t??0,this.m_eps=s??0}[Symbol.toPrimitive](t){return this}clone(){return new p(this.m_value,this.m_eps)}assign(t){return this.m_value=t.m_value,this.m_eps=t.m_eps,this}scaleError(t){this.m_eps*=t}setError(t){this.m_eps=t}set(t,s){return this.m_value=t,this.m_eps=s??0,this}setWithEps(t,s){return void 0===s&&(s=1),this.m_value=t,this.m_eps=p.ulp(t)*s,this}setE(t){return this.m_value=t.m_value,this.m_eps=t.m_eps,this}precise(){return new p(this.m_value)}value(){return this.m_value}toDouble(){return this.m_value}eps(){return this.m_eps}resetError(){return this.m_eps=0,this}absThis(){return this.m_value=Math.abs(this.m_value),this}add(t){return this.clone().addThis(t)}addE(t){return this.clone().addThisE(t)}addThisE(t){const s=this.m_value+t.m_value,i=this.m_eps+t.m_eps+p.ulp(s);return this.m_value=s,this.m_eps=i,this}addThis(t){const s=this.m_value+t,i=this.m_eps+p.ulp(s);return this.m_value=s,this.m_eps=i,this}subE(t){return this.clone().subThisE(t)}sub(t){return this.clone().subThis(t)}subThisE(t){const s=this.m_value-t.m_value,i=this.m_eps+t.m_eps+p.ulp(s);return this.m_value=s,this.m_eps=i,this}subThis(t){const s=this.m_value-t,i=this.m_eps+p.ulp(s);return this.m_value=s,this.m_eps=i,this}setAddE(t,s){return this.m_value=t.m_value+s.m_value,this.m_eps=t.m_eps+s.m_eps+p.ulp(this.m_value),this}setAdd(t,s){return this.m_value=t+s,this.m_eps=p.ulp(this.m_value),this}setAddEN(t,s){return this.m_value=t.m_value+s,this.m_eps=t.m_eps+p.ulp(this.m_value),this}setAddNE(t,s){return this.m_value=t+s.m_value,this.m_eps=s.m_eps+p.ulp(this.m_value),this}setSubE(t,s){return this.m_value=t.m_value-s.m_value,this.m_eps=t.m_eps+s.m_eps+p.ulp(this.m_value),this}setSub(t,s){return this.m_value=t-s,this.m_eps=p.ulp(this.m_value),this}setSubEN(t,s){return this.m_value=t.m_value-s,this.m_eps=t.m_eps+p.ulp(this.m_value),this}setSubNE(t,s){return this.m_value=t-s.m_value,this.m_eps=s.m_eps+p.ulp(this.m_value),this}mulThisE(t){const s=this.m_value*t.m_value;return this.m_eps=this.m_eps*Math.abs(t.m_value)+t.m_eps*Math.abs(this.m_value)+this.m_eps*t.m_eps+p.ulp(s),this.m_value=s,this}mulThis(t){const s=this.m_value*t;return this.m_eps=this.m_eps*Math.abs(t)+p.ulp(s),this.m_value=s,this}mul(t){return this.clone().mulThis(t)}mulE(t){return this.clone().mulThisE(t)}setMulE(t,s){const i=t.m_value*s.m_value;return this.m_eps=t.m_eps*Math.abs(s.m_value)+s.m_eps*Math.abs(t.m_value)+t.m_eps*s.m_eps+p.ulp(i),this.m_value=i,this}setMul(t,s){return this.m_value=t*s,this.m_eps=p.ulp(this.m_value),this}setMulEN(t,s){return this.setE(t),this.mulThis(s)}setMulNE(t,s){return this.setE(s),this.mulThis(t)}mulThisByPower2(t){return this.m_value*=t,this.m_eps*=Math.abs(t),this}static st_mulByPower2(t,s){return new p(t.m_value,t.m_eps).mulThisByPower2(s)}divE(t){return this.clone().divThisE(t)}divThisE(t){const s=Math.abs(t.m_value),i=this.m_value/t.m_value;let e=(this.m_eps+Math.abs(i)*t.m_eps)/s;if(t.m_eps>.01*s){const i=t.m_eps/s;e*=1+(1+i)*i}return this.m_value=i,this.m_eps=e+p.ulp(i),this}divThis(t){const s=Math.abs(t);return this.m_value/=t,this.m_eps=this.m_eps/s+p.ulp(this.m_value),this}setDivE(t,s){return this.setE(t),this.divThisE(s)}setDiv(t,s){return this.m_value=t/s,this.m_eps=p.ulp(this.m_value),this}setDivEN(t,s){return this.setE(t),this.divThis(s)}setDivNE(t,s){return this.set(t),this.divThisE(s)}divThisByPower2(t){return this.m_value/=t,this.m_eps/=Math.abs(t),this}invThis(){return this.setE(w.clone().divThisE(this)),this}sqrt(){return this.clone().sqrtThis()}sqrtThis(){let t,s;return this.m_value>=0?(t=Math.sqrt(this.m_value),s=this.m_value>10*this.m_eps?.5*this.m_eps/t:this.m_value>this.m_eps?t-Math.sqrt(this.m_value-this.m_eps):Math.max(t,Math.sqrt(this.m_value+this.m_eps)-t),s+=p.ulp(t)):this.m_value<-this.m_eps?(t=Number.NaN,s=Number.NaN):(t=0,s=Math.sqrt(this.m_eps)),this.m_value=t,this.m_eps=s,this}sqr(){return this.clone().sqrThis()}sqrThis(){const t=this.m_value*this.m_value;return this.m_eps=2*this.m_eps*Math.abs(this.m_value)+this.m_eps*this.m_eps+p.ulp(t),this.m_value=t,this}setSin(t){const s=Math.sin(t.m_value),i=Math.cos(t.m_value);this.m_value=s;const e=Math.abs(s),n=Math.abs(t.value());return this.m_eps=(Math.abs(i)+.5*e*t.m_eps)*t.m_eps+p.ulp(e+n),this}static ulp(t){let s=us(t);const i=((0x7ff0000000000000n&s)>>52n)-1075n;return i>-1023n?(s=i+0x3ffn<<52n,hs(s)):0===t?0:Number.MIN_VALUE}setCos(t){const s=Math.sin(t.m_value),i=Math.cos(t.m_value);this.m_value=i;const e=Math.abs(i),n=Math.abs(t.value());return this.m_eps=(Math.abs(s)+.5*e*t.m_eps)*t.m_eps+p.ulp(e+n),this}static st_cosAndSin(t,s,i){const e=Math.sin(t.m_value),n=Math.cos(t.m_value);i.m_value=e,s.m_value=n;const r=Math.abs(e),u=Math.abs(n),h=Math.abs(t.value());i.m_eps=(Math.abs(n)+.5*r*t.m_eps)*t.m_eps+p.ulp(r+h),s.m_eps=(Math.abs(e)+.5*u*t.m_eps)*t.m_eps+p.ulp(u+h)}negate(){return this.clone().negateThis()}negateThis(){return this.m_value=-this.m_value,this}setAbs(){return this.m_value=Math.abs(this.m_value),this}isInInterval(t){return x.construct(this.m_value-this.m_eps,this.m_value+this.m_eps).isIntersecting(t)}eq(t){return Math.abs(this.m_value-t.m_value)<=this.m_eps+t.m_eps}ne(t){return!this.eq(t)}gt(t){return this.m_value-t.m_value>this.m_eps+t.m_eps}lt(t){return t.m_value-this.m_value>this.m_eps+t.m_eps}ge(t){return!this.lt(t)}le(t){return!this.gt(t)}tolEQ(t,s){return Math.abs(this.m_value-t.m_value)<=s||this.eq(t)}tolNE(t,s){return!this.tolEQ(t,s)}tolGT(t,s){return this.m_value-t.m_value>s&&this.gt(t)}tolLT(t,s){return t.m_value-this.m_value>s&&this.lt(t)}tolGE(t,s){return!this.tolLT(t,s)}tolLE(t,s){return!this.tolGT(t,s)}isZero(){return Math.abs(this.m_value)<=this.m_eps}isFuzzyZero(){return this.isZero()&&0!==this.m_eps}tolIsZero(t){return Math.abs(this.m_value)<=Math.max(this.m_eps,t)}setPi(){this.setE(E)}setEuler(){this.set(2.718281828459045,M())}static size(){return 1}}function y(t,s){const i=as(t),e=as(s),n=53-b(i),r=53-b(e);return(n>=0?n:0)+(r>=0?r:0)<=52}function T(t,s){const i=t+s;return i-t===s&&i-s===t}function g(t,s){const i=t-s;return t-i===s&&s+i===t}function M(){return Qs()}p.dimensions=1;const E=new p(Math.PI,.5*M()),I=new p(0,0),w=new p(1,0),D=new p(4,0);function A(t,s,i){return t.addE(s.subE(t).mulE(i))}function P(t,s,i){return s.subE(s.subE(t).mulE(w.subE(i)))}function q(t){return Math.atanh(t)}function z(t){let s;if(0===t)s=1;else if(Math.abs(t)>.01)s=q(t)/t;else{let i;const e=-36.841361487904734;s=0;const n=t*t;for(let t=2*Math.trunc(e/Math.log(n)+2.5)-1;t>1;t-=2)i=1/t,s=(s+i)*n;s+=1}return s}function Z(t){const s=Math.PI*Math.PI/6;let i;if(1===t)i=s;else if(t>1)i=s;else if(0===t)i=t;else if(t<0){const s=1+(t=Math.abs(t)),e=Math.log(s);i=e*e/-2-Z(t/s)}else if(t>.5){const e=1-t,n=Math.log(t)*Math.log(e);i=s-Z(e)-n}else{i=0;const s=1+Math.trunc(-16*Math.log(10)/Math.log(t)+1.5);let e=s;for(let n=s;n>0;n--,e-=1)i*=t,i+=1/(e*e);i*=t}return i}function C(t,s){const i=s*t;if(Math.abs(s)<.1){let s=0;for(let t=60;t>=1;t--)s*=i,s+=1/t/t;return s*=t,s}return Z(i)/s}function R(t,s){return t<s?$t(t,s):$t(s,t)}function B(t,s){const i=Math.abs(t);return s>=0?i:-i}function S(t){return Math.round(t)}function k(t,s,i,e,n){n[0]=s[0]+(i[0]-s[0])*e,n[1]=s[1]+(i[1]-s[1])*e,3===t&&(n[2]=s[2]+(i[2]-s[2])*e)}function F(t,s,i,e,n){n[0]=i[0]-(i[0]-s[0])*(1-e),n[1]=i[1]-(i[1]-s[1])*(1-e),3===t&&(n[2]=i[2]-(i[2]-s[2])*(1-e))}function L(t,s,i,e,n){e<=.5?k(t,s,i,e,n):F(t,s,i,e,n)}function O(t,s,i,e,n){n[0]=s[0].addE(i[0].subE(s[0]).mulE(e)),n[1]=s[1].addE(i[1].subE(s[1]).mulE(e))}function G(t,s,i,e,n){n[0]=i[0].subE(i[0].subE(s[0]).mulE(w.subE(e))),n[1]=i[1].subE(i[1].subE(s[1]).mulE(w.subE(e)))}function Q(t,s,i){let e;return e=i<=.5?t+(s-t)*i:s-(s-t)*(1-i),e}function V(t,s,i){return t+(s-t)*i}function U(t,s,i){return s-(s-t)*(1-i)}function Y(t,s,i,e){i<=.5?(e.x=t.x+(s.x-t.x)*i,e.y=t.y+(s.y-t.y)*i):(e.x=s.x-(s.x-t.x)*(1-i),e.y=s.y-(s.y-t.y)*(1-i))}function j(t,s,i,e){i<=.5?(e.x=t.x+(s.x-t.x)*i,e.y=t.y+(s.y-t.y)*i,e.z=t.z+(s.z-t.z)*i):(e.x=s.x-(s.x-t.x)*(1-i),e.y=s.y-(s.y-t.y)*(1-i),e.z=s.z-(s.z-t.z)*(1-i))}function H(t){return t*t}function $(t){return t*t*t}function J(t){return 1/Math.sqrt(t)}function K(t){return t<0?-1:t>0?1:0}function W(t,s,i,e){const n=[0],r=[0],u=[0];return lt(ut(t,i,n),ut(s,e,r),u)+(n[0]+r[0]+u[0])}const X=[0],tt=[0];function st(t,s,i){return mt(ut(t,s,X),i,X[0],tt)}const it=[0],et=[0],nt=[0],rt=[0];function ut(t,s,i){const e=t*s;return ht(t,it,et),ht(s,nt,rt),i[0]=et[0]*rt[0]-(e-it[0]*nt[0]-et[0]*nt[0]-it[0]*rt[0]),e}function ht(t,s,i){const e=134217729*t;s[0]=e-(e-t),i[0]=t-s[0]}const at=[0],ot=[0];function mt(t,s,i,e){const n=lt(t,s,at),r=lt(n,i,ot);return lt(r,at[0]+ot[0],e)}function lt(t,s,i){const e=t+s;return Math.abs(t)>Math.abs(s)?i[0]=t-e+s:i[0]=s-e+t,e}function ct(t,s){return t%s}function ft(t){const s=1-t;if(0===s)return 1;let i;if(s<=.01){const t=s,e=Math.log(t);i=1+t*(.4431471805599453-.25*e+t*(.05680519270997949-.09375*e+t*(.02183137044373718-.05859375*e+t*(.011544521417308362-.042724609375*e+t*(.00714200031339596-.0336456298828125*e+t*(.004854743337164948-.027757644653320312*e+t*(.003514687963781376-.023627042770385742*e)))))))}else{if(t<.016){const s=t,i=.25,e=.046875,n=.01953125,r=.01068115234375,u=.0067291259765625,h=.004626274108886719,a=.0033752918243408203,o=.0025710230693221092;return Js()*(1-s*(i+s*(e+s*(n+s*(r+s*(u+s*(h+s*(a+s*o))))))))}i=bt(0,s,1)-t*dt(0,s,1)/3}return Us(i,1,Js())}function _t(t,i,e=Number.NaN){if(s(i>=0&&i<=1),0===i)return t;let n=1,r=t;if(r<0&&(r=-r,n=-1),1===i){const t=Math.round(r/Hs()),s=r-t*Hs();return n*(2*t+Math.sin(s))}const u=Js(),h=Math.floor(r/u);1&h?r=(h+1)*u-r:r-=h*u;const a=Math.sin(r),o=Number.isNaN(e)?ft(i):e;let m;if(1===a)m=o+Math.sqrt(1-i)*(r-u);else{const t=r*r;if(.01424*Math.pow(t,4)<=2*Qs()){m=r*(1+t*i*(-1/6+t*((4-3*i)/120-(16+(45*i-60)*i)/5040*t)))}else if(i<=.01){const t=Math.sin(2*r),s=Math.sin(4*r),e=Math.sin(6*r),n=Math.sin(8*r),u=Math.sin(10*r);m=r+i*((2*-r+t)/8+i*((-3*r+2*t-.25*s)/64+i*((-20*r+15*t-3*s+e/3)/1024+i*(5*(-140*r+112*t-28*s+16/3*e-.5*n)/65536+7*i*((-63*r+52.5*t-15*s+3.75*e-.625*n+.05*u)/65536+i*(-693*r+594*t-185.625*s+1.375*e-12.375*n+1.8*u-.125*Math.sin(12*r))/1048576)))))}else{const t=a*a,s=Math.cos(r),e=s*s,n=xt(a,s,i);m=a*(bt(e,n,1)-i*t*dt(e,n,1)/3)}}if(1&h){m=o*(h+1)-m}else m+=o*h;return n*m}function vt(t,s,i=Number.NaN){if(0===t)return 0;let e=1,n=t;t<0&&(n=-n,e=-1);const r=Number.isNaN(i)?ft(s):i,u=Math.floor(n/r);1&u?n=(u+1)*r-n:n-=u*r;let h=n<=0?0:n>=r?Js():Nt(n,s,r);return 1&u?h=Js()*(u+1)-h:h+=Js()*u,e*h}function bt(t,i,e){s((0!==t?1:0)+(0!==i?1:0)+1>1);let n=t,r=i,u=e;for(;;){const t=Math.sqrt(n*r)+Math.sqrt(r*u)+Math.sqrt(u*n);n=.25*(n+t),r=.25*(r+t),u=.25*(u+t);const s=(n+r+u)/3,i=(s-n)/s,e=(s-r)/s,h=(s-u)/s;if(Math.abs(i)<=.0024&&Math.abs(e)<=.0024&&Math.abs(h)<=.0024){const t=i*e-h*h,n=i*e*h;return(1+(1/24*t-.1-3/44*n-5*t*t/208+t*n/16)*t+(1/14+3*n/104)*n)/Math.sqrt(s)}}}function dt(t,i,e){s(0!==t||0!==i);let r=t,u=i,h=e;const a=new n(0);let o=1;for(;;){const t=.2*(r+u+3*h),s=(t-r)/t,i=(t-u)/t,e=(t-h)/t;if(Math.abs(s)<=.0015&&Math.abs(i)<=.0015&&Math.abs(e)<=.0015){const n=s*i,r=e*e,u=n-r,h=n-6*r,m=h+u+u,l=9/22,c=3/26,f=h*(.25*l*h-.21428571428571427-1.5*c*e*m),_=e*(1/6*m+e*(-l*u+e*c*n));return 3*a.getResult()+o*(1+f+_)/(t*Math.sqrt(t))}const n=Math.sqrt(r),m=Math.sqrt(u),l=Math.sqrt(h),c=n*(m+l)+m*l;a.add(o/(l*(h+c))),o*=.25,r=.25*(r+c),u=.25*(u+c),h=.25*(h+c)}}function xt(t,s,i){return t<.999?1-i*H(t):1-i+i*H(s)}function Nt(t,s,i){if(0===s)return t;if(1===s)return Math.asin(t);let e=0,n=!0;if(t<.2){const i=t*t,r=t*(1+i*s*(1/6+i*((13*s-4)/120+(16-284*s+493*s*s)/5040*i))),u=Math.abs(s*(4944*s-64-31224*s*s+37369*s*s*s)/362880*Math.pow(t,9));if(u<Math.abs(r)*Qs())return r;e=r,n=u>.1*r}if(n){const n=1-s,r=1-t/i,u=Math.sqrt(r*r+n*n),h=Math.atan2(n,t+Qs());e=Js()+Math.sqrt(u)*(h-Js())}let r=0;for(let u=0;u<7;u++){r=_t(e,s,i);const n=xt(Math.sin(e),Math.cos(e),s);if(e-=(r-t)/Math.sqrt(n),u>0&&Math.abs(r-t)<=4*Qs()*t)break}return e}class pt{constructor(t){for(this.values=[[1]];this.values.length<t+1;){const t=this.values.at(-1),s=Yt(t.length+1,1);for(let i=1;i<t.length;++i)s[i]=t[i-1]+t[i];this.values.push(s)}}get(t,s){return this.values[t][s]}}function yt(t,i){return s(0),0}const Tt=new pt(32);function gt(t,s){if(t<Tt.values.length)return Tt.get(t,s);const e=Math.exp(yt());return e+.01>ds()&&i("The result value of n choose k is out of range"),e+.01}function Mt(t,s){if(t.isZero())return t.clone();const i=t.clone().divThis(t);if(s<0)return i.divThis(Mt(t,-s));for(t=t.clone(),s=Math.trunc(s);1&s&&i.mulThis(t),s>>=1;)t.mulThis(t);return i}function Et(t,s){if(0===s)return[];const i=t[0].clone().mulDoubleThis(0),e=[];e.length=s;const n=s-1;for(let r=0;r<=n;++r){e[r]=i.clone();for(let s=0;s<=r;++s)e[r].addThis(t[s].clone().mulDoubleThis(gt(r,s)/gt(n,s)))}return e}function It(s,i,e,n,r){return 0===s?0===n?i:1===n?e:r:1===s?0===n?i:1===n?e:Q(i,e,n):(2===s&&t("angular interpolation"),void t(""))}function wt(s,i,e,n,r,u,h,a){if(0===s)for(let t=0;t<u;++t)n[t+r]=0===h?i[t]:1===h?e[t]:a;else if(1===s)if(0===h)Dt(n,i,r,0,u);else if(1===h)Dt(n,e,r,0,u);else for(let t=0;t<u;++t)n[t+r]=Q(i[t],e[t],h);else if(2===s)if(0===h)Dt(n,i,r,0,u);else if(1===h)Dt(n,e,r,0,u);else{let t=0;for(let s=0,a=r;s<u;++s,++a)n[a]=Q(i[s],e[s],h),t+=n[a]*n[a];if(t>0){t=Math.sqrt(t);for(let s=r;s<r+u;++s)n[s]/=t}else{for(let t=r;t<r+u;++t)n[t]=0;n[r]=1}}else t("")}function Dt(t,s,i,e,n){if(0===n)return;let r=0,u=i,h=e;for(;r++<n;)t[u++]=s[h++]}function At(t,s,i){let e=0;for(let n=0;!e&&n<i;++n)e=t[n]-s[n];return e}function Pt(t,s){return t}function qt(t){t.sort((t,s)=>t<s?-1:t>s?1:0)}function zt(t,s){const i=t.slice(0,s);qt(i),Dt(t,i,0,0,s)}function Zt(t,s,i,e){const n=t.slice(s,s+i);n.sort(e),Dt(t,n,s,0,i)}function Ct(t,s){return t<s?-1:t>s?1:0}function Rt(t,s,i,e){return t<i?-1:t>i?1:s<e?-1:s>e?1:0}function Bt(t,s){if(t.length<2)return t.length;let i=0;for(let e=1;e<t.length;++e)s(t[e],t[i])||(i++,t[e]=Pt(t[i],t[i]=t[e]));return 1+i}function St(t,s){t[s]=t.at(-1),t.pop()}function kt(t,s=!1){return{[Symbol.dispose](){this.bForget||t()},bForget:s}}function Ft(t,s,i){t.length=s,t.fill(i)}function Lt(t,s,i){t.length=i;for(let e=0;e<i;++e)t[e]=new s}function Ot(t,s){const i=new Array(s);for(let e=0;e<s;++e)i[e]=new t;return i}function Gt(t,s,i){for(let e=0;e<i;++e)t[e].assign(s[e]);return i}function Qt(t,s){const i=t.slice(0,s);for(let e=0;e<s;++e)i[e]=i[e].clone();return i}function Vt(t){return Array.from({length:t},()=>null)}function Ut(t,s){return Array.from({length:s},()=>t())}function Yt(t,s){const i=new Array(t);return i.fill(s),i}function jt(t,s){return s in t&&1===Object.getOwnPropertyNames(t).length}class Ht{constructor(...t){this.m_elts=t}get length(){return this.m_elts.length}at(t){return this.m_elts[t]}[Symbol.dispose](){for(const t of this.m_elts)t[Symbol.dispose]()}}function $t(t,s){return{first:t,second:s}}const Jt=Math.PI,Kt=2*Math.PI,Wt=.5*Math.PI;class Xt{constructor(t,s){this.m_cr=t,this.m_cc=s,this.m_v=Yt(t*s,0)}get(t,s){return this.m_v[t*this.m_cc+s]}set(t,s,i){this.m_v[t*this.m_cc+s]=i}inc(t,s){return++this.m_v[t*this.m_cc+s]}}const ts=new ArrayBuffer(8),ss=new Float64Array(ts),is=new BigUint64Array(ts),es=0x0fffffffffffffn,ns=0x7ff0000000000000n;function rs(){return Number.EPSILON*Fs}function us(t){return ss[0]=t,is[0]}function hs(t){return is[0]=t,ss[0]}function as(t){return us(t)&es}function os(t){return Number((us(t)&ns)>>52n)}function ms(t){if(0n===t)return-1n;if(1n===t||-1n===t)return 0n;t<0n&&(t=-t);let s=0n,i=512n,e=1n<<s+i;for(;t>=e;)s+=i,i<<=1n,e<<=i;let n=s;i>>=1n;let r=n+i;for(;i>0n;)t<1n<<r||(n=r),i>>=1n,r=n+i;return n}function ls(t,s){return t===s||Number.isNaN(t)&&Number.isNaN(s)}function cs(t,s,i){return t===s||Math.abs(t-s)<=i||Number.isNaN(t)&&Number.isNaN(s)}function fs(t,s){return t<s?-1:t>s?1:0}function _s(t,s){if(t<s)return-1;if(t>s)return 1;if(t===s)return 0;{const i=Number.isNaN(t),e=Number.isNaN(s);return i<e?-1:i>e?1:0}}function vs(){return 2147483647}function bs(){return 32767}function ds(){return 2147483647}function xs(){return-2147483648}const Ns=ds(),ps=BigInt(Ns),ys=2166136261,Ts=16777619;function gs(t){let s=ys,i=t;return s=(s^255&i)*Ts,i>>=8,s=(s^255&i)*Ts,i>>=8,s=(s^255&i)*Ts,i>>=8,s=(s^255&i)*Ts,s&Ns}const Ms=14695981039346656037n,Es=1099511628211n;function Is(t){let s=Ms,i=t;return s=(s^0xffn&i)*Es,i>>=8n,s=(s^0xffn&i)*Es,i>>=8n,s=(s^0xffn&i)*Es,i>>=8n,s=(s^0xffn&i)*Es,i>>=8n,s=(s^0xffn&i)*Es,i>>=8n,s=(s^0xffn&i)*Es,i>>=8n,s=(s^0xffn&i)*Es,s&ps}function ws(t){return 1103515245*t+12345&2147483647}function Ds(t){let s=ys;for(let i=0,e=t.length;i<e;++i)s=(s^t.charCodeAt(i))*Ts;return s&Ns}function As(t,s){return s+2654435769+(t<<6)+(t>>2)&Ns}function Ps(t,s){return As(t,Cs(s))}function qs(t){return As(3735928559,t)}function zs(t,s){return As(t,qs(s))}function Zs(t){return gs(t)}function Cs(t){return Number(Is(t))}function Rs(t){return Xs(t)}function Bs(t){return Cs(us(Rs(t)))}function Ss(t){return ws(t)}const ks=100,Fs=100;function Ls(){return Number.EPSILON*ks}function Os(){return.38196601125010515}function Gs(){return 1.4142135623730951}function Qs(){return Number.EPSILON}function Vs(t,s,i){return t===s||t===i}function Us(t,s,i){return t>=s?t<=i?t:i:s}function Ys(t,s,i){const e=t[0];if(e>=s){if(e<=i)return!1;t[0]=i}else t[0]=s;return!0}function js(t,s){return t>=s?s:t<-s?-s:t}function Hs(){return Jt}function $s(){return Kt}function Js(){return Wt}const Ks=3*Js();function Ws(){return Ks}function Xs(t){return t+0}function ti(t){return{v:t}}class si{constructor(){this.m_rn=ti(0n),this.m_rd=ti(1n),this.m_bNaN=!1,this.m_bNormalized=!1,this.m_power=0,this.m_sign=0}static constructAssign(t,s){const i=t.clone();return void 0!==s&&i.limitPrecisionThis(s),i}static constructDouble(t){return(new si).setDouble(t)}static constructInt64(t){return(new si).setInt64(t)}static constructRational(t,s){return(new si).setRational(t,s)}static constructInt32(t){return this.constructInt64(BigInt(Math.trunc(t)))}[Symbol.toPrimitive](t){return this}compare(t){return this.lt(t)?-1:this.gt(t)?1:0}assignCopy(t){return this.setThis(t)}abs(){return this.clone().absThis()}absThis(){return this.isNAN()||(this.m_sign*=this.m_sign),this}clone(){return(new si).setThis(this)}setThis(t){return this.m_bNaN=t.m_bNaN,this.m_bNormalized=t.m_bNormalized,this.m_rn.v=t.m_rn.v,this.m_rd.v=t.m_rd.v,this.m_power=t.m_power,this.m_sign=t.m_sign,this}setZero(){return this.m_rn.v=0n,this.m_rd.v=1n,this.m_bNaN=!1,this.m_power=0,this.m_bNormalized=!0,this.m_sign=0,this}setDouble(s){if(this.setZero(),0===s)return this;if(Number.isInteger(s)&&Math.abs(s)<ds())return this.setInt32(s);const i=us(s),e=(i&si.s_em)>>52n,n=!!(i&si.s_sm),r=i&si.s_fm;if(e===si.s_emax)return r?(this.m_rn.v=this.m_rd.v=0n,this.m_bNaN=!0,this):(this.m_rn.v=n?-1n:1n,this.m_rd.v=0n,this);0n===e&&t("denormalized numbers not yet implemented");const u=e-1023n,h=u>=0n?u:0n,a=u<0n?-u:0n;return this.m_rn.v=(1n<<52n|r)<<h,this.m_rd.v=1n<<52n+a,this.m_sign=n?-1:1,this.m_bNormalized=!1,this.normalizeThis()}setInt64(t){return 0n===t?this.setZero():(this.m_bNaN=!1,this.m_sign=t>0n?1:-1,this.m_rn.v=t>0n?t:-t,this.m_rd.v=1n,this.m_power=0,this.m_bNormalized=!1,this.normalizeThis())}setRational(t,s){return 0n===t?0n===s?this.setNAN():this.setZero():0n===s?t>0n?this.setPositiveInf():this.setNegativeInf():(this.m_sign=(t>0n?1:-1)*(s>0n?1:-1),this.m_rn.v=t>0n?t:-t,this.m_rd.v=s>0n?s:-s,this.m_power=0,this.m_bNormalized=!1,this.normalizeThis())}setInt32(t){return this.setInt64(BigInt(Math.trunc(t)))}getDouble(){return this.convertToDouble()}toDouble(){return this.convertToDouble()}value(){return this.convertToDouble()}isNAN(){return this.m_bNaN}isPositiveInf(){return!this.isNAN()&&(0n===this.m_rd.v&&1===this.m_sign)}isNegativeInf(){return!this.isNAN()&&(0n===this.m_rd.v&&-1===this.m_sign)}isFinite(){return!this.isNAN()&&0n!==this.m_rd.v}setNAN(){return this.m_bNaN=!0,this.m_rn.v=0n,this.m_rd.v=0n,this.m_power=0,this.m_bNormalized=!0,this}setPositiveInf(){return this.m_rn.v=1n,this.m_rd.v=0n,this.m_bNaN=!1,this.m_bNormalized=!0,this.m_sign=1,this.m_power=0,this}setNegativeInf(){return this.m_rn.v=1n,this.m_rd.v=0n,this.m_bNaN=!1,this.m_bNormalized=!0,this.m_sign=-1,this.m_power=0,this}subThis(t){if(t.isNAN()&&this.setNAN(),this.isPositiveInf()&&t.isPositiveInf())this.setNAN();else{if(this.isPositiveInf()&&t.isNegativeInf())return this.setPositiveInf(),this;if(this.isNegativeInf()&&t.isNegativeInf())this.setNAN();else if(this.isNegativeInf()&&t.isPositiveInf())return this.setNegativeInf(),this}return this.isNAN()?this:this.opPlusMinus(t,!1)}thisSubAbs(t){return s(0),this}mulThis(t){return t.isNAN()&&this.setNAN(),this.isNAN()?this:(this.m_sign*=t.m_sign,0===this.m_sign?this.setZero():(this.m_rn.v*=t.m_rn.v,this.m_rd.v*=t.m_rd.v,this.m_power+=t.m_power,this.m_bNormalized=!1,this.normalizeThis(),this))}mulDoubleThis(t){return this.mulThis(si.constructDouble(t))}thisMulInt64(t){return s(0),this}thisMulInt32(t){return s(0),this}divThis(t){return this.mulThis(t.clone().invertThis())}divDoubleThis(t){return this.divThis(si.constructDouble(t))}addDoubleThis(t){return this.addThis(si.constructDouble(t))}subDoubleThis(t){return this.subThis(si.constructDouble(t))}mul(t){return this.clone().mulThis(t)}mulBigIntThis(t){return this.mulThis(si.constructInt64(t))}mulDouble(t){return this.clone().mulThis(si.constructDouble(t))}div(t){return this.clone().divThis(t)}divDouble(t){return this.clone().divDoubleThis(t)}add(t){return this.clone().addThis(t)}fmSubThis(t,s){return this.subThis(t.clone().mulThis(s))}fmAddThis(t,s){return this.addThis(t.clone().mulThis(s))}addThis(t){if(t.isNAN()&&this.setNAN(),this.isPositiveInf()&&t.isPositiveInf())return this.setPositiveInf(),this;if(this.isPositiveInf()&&t.isNegativeInf())this.setNAN();else{if(this.isNegativeInf()&&t.isNegativeInf())return this.setNegativeInf(),this;this.isNegativeInf()&&t.isPositiveInf()&&this.setNAN()}return this.isNAN()?this:this.opPlusMinus(t,!0)}addDouble(t){return this.clone().addThis(si.constructDouble(t))}sub(t){return this.clone().subThis(t)}subDouble(t){return this.clone().subThis(si.constructDouble(t))}isZero(){return 0===this.m_sign}equals(t){return this.clone().subThis(t).isZero()}lt(t){return!this.isNAN()&&!t.isNAN()&&(!(this.isPositiveInf()&&t.isPositiveInf()||this.isNegativeInf()&&t.isNegativeInf())&&(!this.isPositiveInf()&&(!!t.isPositiveInf()||this.clone().sub(t).LZ())))}absLessAbs(t){return this.abs().lt(t.abs())}gt(t){return this.clone().sub(t).GZ()}lte(t){return this.sub(t).LEZ()}gte(t){return this.sub(t).GEZ()}normalizeThis(){if(this.m_bNormalized)return this;if(0n===this.m_rn.v)return this.setZero();let t=0,s=0xffffffffn;for(;0n===(this.m_rn.v&s)&&s<=this.m_rn.v;)s<<=32n,t+=32;s&=this.m_rn.v,s>>=BigInt(t),t+=_(BigInt.asUintN(32,s))-1;let i=0;for(s=0xffffffffn;0n===(this.m_rd.v&s)&&s<=this.m_rd.v;)s<<=32n,i+=32;return s&=this.m_rd.v,s>>=BigInt(i),i+=_(BigInt.asUintN(32,s))-1,this.m_rn.v>>=BigInt(t),this.m_rd.v>>=BigInt(i),this.m_power+=t-i,this.m_rn.v>1n&&this.m_rd.v>1n&&(this.m_rn.v%this.m_rd.v===0n?(this.m_rn.v/=this.m_rd.v,this.m_rd.v=1n):this.m_rd.v%this.m_rn.v===0n&&(this.m_rd.v/=this.m_rn.v,this.m_rn.v=1n)),this.m_bNormalized=!0,this}negateThis(){return this.isNAN()||(this.m_sign*=-1),this}negate(){return this.clone().negateThis()}invertThis(){return this.isNAN()?this:this.isPositiveInf()||this.isNegativeInf()?(this.setZero(),this):0n===this.m_rn.v?(this.setPositiveInf(),this):(this.m_rd=Pt(this.m_rn,this.m_rn=this.m_rd),this.m_power=-this.m_power,this)}limitPrecisionThis(t){if(0===t)return this;if(this.isZero())return this.setZero();if(!this.isFinite())return this;this.normalizeThis();let s=Number(ms(this.m_rn.v));if(s>t){const i=s-t;this.m_rn.v>>=BigInt(s-t),this.m_power+=i}if(s=Number(ms(this.m_rd.v)),s>t){const i=s-t;this.m_rd.v>>=BigInt(s-t),this.m_power-=i}return this}hiBitIndex(){return Math.max(Number(ms(this.m_rn.v)),Number(ms(this.m_rd.v)))}ldexp(t){return this.clone().ldexpThis(t)}ldexpThis(t){return t&&(this.m_bNormalized=!1,this.m_power+=t,this.normalizeThis()),this}static lerp(t,s,i){return si.lerpLo(s,s,i)}static lerpLo(t,s,i){return s.sub(t).mulThis(i).addThis(t)}static lerpHi(t,s,i){return s.sub(t).mulThis(ii.sub(i)).addThis(t)}LZ(){return!this.isNAN()&&-1===this.m_sign}GZ(){return!this.isNAN()&&1===this.m_sign}LEZ(){return!this.isNAN()&&this.m_sign<=0}GEZ(){return!this.isNAN()&&this.m_sign>=0}toString(){return this.toDouble().toString()}sqr(){return this.clone().sqrThis()}sqrThis(){return this.mulThis(this.clone())}static sqrt(t,e){if(t.m_sign<0n&&i("MP_value: sqrt(-1)"),t.isZero())return t.clone();let n=52,r=2220446049250313e-31;for(;n<e;)2*n<=e?(r*=r,n*=2):(r*=2220446049250313e-31,n+=52);n+=52;const u=ms(t.m_rn.v),h=ms(t.m_rd.v);let a,o=t.m_power+Number(u-h);const m=new si;Math.abs(o)>200?(1&Math.abs(o)&&(o+=1),a=si.constructAssign(t,53).ldexpThis(-o).value(),m.setThis(t).ldexpThis(-o),s(Number.isFinite(a))):(m.setThis(t),a=m.value(),s(Number.isFinite(a)),o=0),a=Math.sqrt(a);const l=si.constructDouble(a),c=si.constructDouble(r);c.mulThis(l).ldexpThis(1);const f=r*a*2,_=l.clone(),v=new si;let b;for(let s=0;s<10;++s){_.mulThis(l),v.setThis(m).subThis(_).absThis();let t=v.value();if(b=1,t<.9)for(;t>f;)t*=t,++b;else b=4;if(v.lte(c))break;for(let s=0;s<b;s++)_.setThis(l).divThis(m).invertThis().addThis(l).ldexpThis(-1).limitPrecisionThis(n),l.setThis(_)}return l.ldexpThis(o/2)}static cubicRoot(t,s){if(t.isZero())return t.clone();let i=52,e=2220446049250313e-31;for(;i<s;)2*i<=s?(e*=e,i*=2):(e*=2220446049250313e-31,i+=52);i+=52;const n=Math.pow(Math.abs(t.value()),1/3),r=si.constructDouble(n),u=r.clone();u.sqrThis().mulDoubleThis(3).mulDoubleThis(e),u.limitPrecisionThis(32),t.LZ()&&r.negateThis();for(let h=0;h<10;++h){const s=r.clone();s.sqrThis().mulThis(r);const e=s.clone();if(e.subThis(t),e.absThis().limitPrecisionThis(32),e.lte(u))break;e.setThis(t),e.ldexpThis(1),e.addThis(s);const n=s.clone();n.ldexpThis(1),n.addThis(t),e.divThis(n),r.mulThis(e),r.limitPrecisionThis(i)}return r}isInTheRangeOfDouble(){return s(0),!1}sign(){return this.m_sign}cosAndSin(t,i){s(0)}pow(t){return Mt(this,t)}static nan(){return s(0),new si}convertToDouble(){if(this.m_bNaN)return Number.NaN;if(this.isZero())return 0;if(0n===this.m_rd.v)return 1===this.m_sign?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY;const t=-1===this.m_sign,s=this.m_rn.v<<(this.m_power>=0?BigInt(this.m_power):0n);let i=this.m_rd.v<<(this.m_power<0?BigInt(-this.m_power):0n);const e=s/i;let n=Number(e);if(BigInt(n)!==e)return t?-n:n;let r=s-e*i;if(r){let t=ms(i)-1023n;t>0n&&(i>>=t,r<<=52n,r>>=t);let s=Number(r);Number.isFinite(s)||(r>>=52n,s=Number(r),t=0n),t>0n&&(s/=Math.pow(2,52));n+=s/Number(i)}return t?-n:n}signVal(){return 1===this.m_sign?1n:-1===this.m_sign?-1n:0n}opPlusMinus(t,s){const i=Math.min(this.m_power,t.m_power);let e,n;this.m_power>i?(e=BigInt(this.m_power-i),n=0n):(e=0n,n=BigInt(t.m_power-i));const r=this.signVal()*this.m_rn.v*t.m_rd.v<<e,u=t.signVal()*t.m_rn.v*this.m_rd.v<<n;return this.m_rn.v=s?r+u:r-u,this.m_rd.v*=t.m_rd.v,this.m_power=i,this.m_sign=1,this.m_rn.v<0n&&(this.m_sign=-1,this.m_rn.v=-this.m_rn.v),this.m_bNormalized=!1,this.normalizeThis(),this}}si.s_sm=0x8000000000000000n,si.s_em=0x7ff0000000000000n,si.s_fm=0x000fffffffffffffn,si.s_emax=0x7ffn;const ii=si.constructInt32(1),ei=si.constructInt32(0),ni=si.constructDouble(.5);function ri(t,s){return d(t^s)}function ui(t,s){let i=os(t);const e=os(s);if(i===e){return i-=53-ri(as(t),as(s)),i}return i>e?i:e}function hi(t,s){for(let i=0,e=0,n=t.length;i<n;i+=2,e++)s[e].x=t[i],s[e].y=t[i+1]}function ai(t){const s=new Float64Array(2*t.length);for(let i=0,e=t.length;i<e;++i){const e=i<<1;s[e]=t[i].x,s[e+1]=t[i].y}return s}function oi(t){const s=Ot(mi,t.length);for(let i=0,e=t.length;i<e;++i)s[i].setCoords(t[i][0],t[i][1]);return s}class mi{static construct(t,s){return new mi(t,s)}constructor(t,s){void 0!==t?(this.x=t,this.y=s):this.x=this.y=Number.NaN}clone(){return new mi(this.x,this.y)}assign(t){this.setCoordsPoint2D(t)}setCoords(t,s){return this.x=t,this.y=s,this}setCoordsPoint2D(t){this.x=t.x,this.y=t.y}isEqualPoint2D(t,s){return void 0!==s?Math.abs(this.x-t.x)<=s&&Math.abs(this.y-t.y)<=s:this.x===t.x&&this.y===t.y}isEqual(t,s,i){return void 0!==i?Math.abs(this.x-t)<=i&&Math.abs(this.y-s)<=i:this.x===t&&this.y===s}equalsPoint2D(t,s){return this.isEqualPoint2D(t,s)}setSub(t,s){this.x=t.x-s.x,this.y=t.y-s.y}addThis(t){return this.x+=t.x,this.y+=t.y,this}setAdd(t,s){return this.x=t.x+s.x,this.y=t.y+s.y,this}absoluteOther(t){}absolute(){return s(0),this}setNegate(){this.x=-this.x,this.y=-this.y}setNegateOther(t){this.x=-t.x,this.y=-t.y}interpolateThis(t,s){}interpolate(t,i,e){s(0)}scaleAddThis(t,s){this.x=this.x*t+s.x,this.y=this.y*t+s.y}setScaleAdd(t,s,i){this.x=s.x*t+i.x,this.y=s.y*t+i.y}scaleOther(t,i){s(0)}scale(t){this.x*=t,this.y*=t}compare(t){return this.y<t.y?-1:this.y>t.y?1:this.x<t.x?-1:this.x>t.x?1:0}compareX(t){return this.x<t.x?-1:this.x>t.x?1:this.y<t.y?-1:this.y>t.y?1:0}normalizeOther(t){s(0)}normalize(){const t=this.length();return t?(this.x/=t,this.y/=t):(this.x=1,this.y=0),this}getUnitVector(){return this.clone().normalize()}length(){return Math.sqrt(this.x*this.x+this.y*this.y)}sqrLength(){return this.x*this.x+this.y*this.y}static averageFast(t,i){return s(0),{}}static average(t,s){const i=new mi;if(0===s)return i.setNAN(),i;if(1===s)return i.assign(t[0]),i;const e=new n(t[0].x),r=new n(t[0].y);for(let n=1;n<s;n++)e.add(t[n].x),r.add(t[n].y),255&n||(e.normalize(),r.normalize());return i.x=e.getResult()/s,i.y=r.getResult()/s,i}static calculateLength(t,s){const i=new n(0);for(let e=1;e<s;e++)i.add(mi.distance(t[e],t[e-1]));return i.getResult()}offset(t,s){const i=mi.distance(t,s),e=mi.construct(this.x,this.y);if(0===i)return mi.distance(e,t);const n=s.clone();n.subThis(t),e.subThis(t);return e.crossProduct(n)/i}side(t,s){return t.equals(s)?this.equals(t)?0:1:mi.orientationRobust(s,t,this)}static sqrDistance(t,s){const i=t.x-s.x,e=t.y-s.y;return i*i+e*e}static sqrDistanceCoords(t,s,i,e){const n=i-t,r=e-s;return n*n+r*r}static distance(t,s){return Math.sqrt(mi.sqrDistance(t,s))}dotProduct(t){return this.x*t.x+this.y*t.y}dotProductAbs(t){return Math.abs(this.x*t.x)+Math.abs(this.y*t.y)}crossProduct(t){return this.x*t.y-this.y*t.x}crossProductAbs(t){return s(0),0}rotateDirect(t,s){const i=this.x*t-this.y*s,e=this.x*s+this.y*t;this.x=i,this.y=e}rotateReverse(t,s){const i=this.x*t+this.y*s,e=-this.x*s+this.y*t;this.x=i,this.y=e}leftPerpendicularThis(){const t=this.x;this.x=-this.y,this.y=t}leftPerpendicularOther(t){const s=t.x;this.x=-t.y,this.y=s}rightPerpendicularThis(){const t=this.x;this.x=this.y,this.y=-t}rightPerpendicularOther(t){const s=t.x;this.x=t.y,this.y=-s}equals(t){return this.x===t.x&&this.y===t.y}notequals(t){return this.x!==t.x||this.y!==t.y}not(){return!this.x&&!this.y}gt(t){return this.y>t.y||this.y===t.y&&this.x>t.x}gte(t){return!this.lt(t)}lt(t){return this.y<t.y||this.y===t.y&&this.x<t.x}lte(t){return!this.gt(t)}subThis(t){return this.x-=t.x,this.y-=t.y,this}divThis(t){return this.x/=t,this.y/=t,this}add(t){return new mi(this.x+t.x,this.y+t.y)}sub(t){return new mi(this.x-t.x,this.y-t.y)}negateThis(){return this.x=-this.x,this.y=-this.y,this}negate(){return new mi(-this.x,-this.y)}mul(t){return new mi(this.x*t,this.y*t)}mulThis(t){return this.x*=t,this.y*=t,this}divide(t){return new mi(this.x/t,this.y/t)}setNAN(){this.x=this.y=Number.NaN}isNAN(){return Number.isNaN(this.x)||Number.isNaN(this.y)}static getNAN(){return new mi(Number.NaN,Number.NaN)}isFinite(){return Number.isFinite(this.x)&&Number.isFinite(this.y)}isZero(){return 0===this.x&&0===this.y}norm(t){switch(t){case 0:{const t=Math.abs(this.x),s=Math.abs(this.y),i=t-s;return i>=0?t:i<=0?s:Number.NaN}case 1:return Math.abs(this.x)+Math.abs(this.y);case 2:return Math.sqrt(this.x*this.x+this.y*this.y);default:e("norm")}}getQuarter(){return mi.getQuarterCoords(this.x,this.y)}static getQuarterCoords(t,s){return t>0?s>=0?1:4:s>0?2:0===t?4:3}static compareVectors(t,s){const i=t.getQuarter(),e=s.getQuarter();return e===i?mi.orientationRobustImpl(mi.construct(0,0),s,t,!0):i<e?-1:1}static compareVectorsOrigin(t,s,i){const e=s.sub(t),n=i.sub(t),r=e.getQuarter(),u=n.getQuarter();return u===r?mi.orientationRobustImpl(t,i,s,!0):r<u?-1:1}static orientationRobust(t,s,i){return mi.orientationRobustImpl(t,s,i,!1)}static orientationRobustEx(t,s,i,e){if(t.equals(s)||i.equals(e))return 0;const n=s.x-t.x,r=s.y-t.y,u=e.x-i.x,h=e.y-i.y;{const t=mi.getQuarterCoords(n,r)-1,s=mi.getQuarterCoords(u,h)-1,i=mi.d[t][s];if(0!==i)return i}const a=n*h,o=r*u,m=4*Qs()*(Math.abs(a)+Math.abs(o)),l=a-o;if(Math.abs(l)>=m){return l<0?-1:l>0?1:0}return mi.orientationRobustExMp(t,s,i,e)}static orientationRobustExMp(t,s,i,e){const n=si.constructDouble(s.x),r=si.constructDouble(e.x);n.subThis(si.constructDouble(t.x)),r.subThis(si.constructDouble(i.x));const u=si.constructDouble(s.y),h=si.constructDouble(e.y);return u.subThis(si.constructDouble(t.y)),h.subThis(si.constructDouble(i.y)),n.mulThis(h),u.mulThis(r),n.subThis(u),n.LZ()?-1:n.GZ()?1:0}static orientationNonRobust(t,s,i){const e=s.sub(t).crossProduct(i.sub(t));return e<0?-1:e>0?1:0}static orientationRobustImpl(t,s,i,e){if(s.isEqualPoint2D(t)||i.isEqualPoint2D(t)||s.isEqualPoint2D(i))return 0;const n=s.x-t.x,r=s.y-t.y,u=i.x-t.x,h=i.y-t.y;if(!e){const t=mi.getQuarterCoords(n,r)-1,s=mi.getQuarterCoords(u,h)-1,i=mi.d[t][s];if(0!==i)return i}const a=(Math.abs(n)+Math.abs(r)+Math.abs(u)+Math.abs(h))*(Math.abs(s.x)+Math.abs(s.y)+Math.abs(i.x)+Math.abs(i.y))*8*M(),o=n*h-r*u;if(Math.abs(o)>a){return o<0?-1:1}if(g(s.x,t.x)&&g(i.y,t.y)&&g(s.y,t.y)&&g(i.x,t.x)&&y(n,h)&&y(r,u)){const t=n*h,s=r*u;if(g(t,s)){const i=t-s;return i<0?-1:i>0?1:0}}return mi.orientationRobustMp(t,s,i)}static orientationRobustMp(t,s,i){const e=si.constructDouble(s.x),n=si.constructDouble(i.x);{const s=si.constructDouble(t.x);e.subThis(s),n.subThis(s)}const r=si.constructDouble(i.y),u=si.constructDouble(s.y);{const s=si.constructDouble(t.y);r.subThis(s),u.subThis(s)}return e.mulThis(r),u.mulThis(n),e.subThis(u),e.LZ()?-1:e.GZ()?1:0}static inCircleRobust(t,s,i,e){const n=new p,r=new p;n.set(t.x),n.subThis(e.x),r.set(t.y),r.subThis(e.y);const u=new p,h=new p;u.set(s.x),u.subThis(e.x),h.set(s.y),h.subThis(e.y);const a=new p,o=new p;a.set(i.x),a.subThis(e.x),o.set(i.y),o.subThis(e.y);const m=n.mulE(h).subE(r.mulE(u)),l=u.mulE(o).subE(h.mulE(a)),c=n.mulE(o).subE(r.mulE(a)),f=n.mulE(n).addE(r.mulE(r)),_=u.mulE(u).addE(h.mulE(h)),v=a.mulE(a).addE(o.mulE(o)),b=f.mulE(l).subE(_.mulE(c)).addE(v.mulE(m));if(!b.isFuzzyZero()){const t=b.value();return t<0?-1:t>0?1:0}return mi.inCircleRobustMp(t,s,i,e)}static inCircleRobustMp(t,s,i,e){do{if(!g(t.x,e.x)||!g(t.y,e.y))break;if(!g(s.x,e.x)||!g(s.y,e.y))break;if(!g(i.x,e.x)||!g(i.y,e.y))break;const n=t.x-e.x,r=t.y-e.y,u=s.x-e.x,h=s.y-e.y,a=i.x-e.x,o=i.y-e.y;if(!y(n,h)||!y(r,u))break;if(!y(u,o)||!y(h,a))break;if(!y(n,o)||!y(r,a))break;if(!y(n,n)||!y(r,r))break;if(!y(u,u)||!y(h,h))break;if(!y(a,a)||!y(o,o))break;const m=n*h,l=r*u,c=u*o,f=h*a,_=n*o,v=r*a,b=n*n,d=r*r,x=u*u,N=h*h,p=a*a,M=o*o;if(!g(m,l))break;if(!g(c,f))break;if(!g(_,v))break;if(!T(b,d))break;if(!T(x,N))break;if(!T(p,M))break;const E=m-l,I=c-f,w=_-v,D=b+d,A=x+N,P=p+M;if(!y(D,I))break;if(!y(A,w))break;if(!y(P,E))break;const q=D*I,z=A*w,Z=P*E;if(!g(q,z))break;const C=q-z;if(!T(C,Z))break;const R=C+Z;return R<0?-1:R>0?1:0}while(0);const n=si.constructDouble(e.x),r=si.constructDouble(e.y),u=si.constructDouble(t.x),h=si.constructDouble(t.y);u.subThis(n),h.subThis(r);const a=si.constructDouble(s.x),o=si.constructDouble(s.y);a.subThis(n),o.subThis(r);const m=si.constructDouble(i.x),l=si.constructDouble(i.y);m.subThis(n),l.subThis(r);const c=u.mul(o).sub(h.mul(a)),f=a.mul(l).sub(o.mul(m)),_=u.mul(l).sub(h.mul(m)),v=u.mul(u).add(h.mul(h)),b=a.mul(a).add(o.mul(o)),d=m.mul(m).add(l.mul(l)),x=v.mul(f).sub(b.mul(_)).add(d.mul(c));return x.LZ()?-1:x.GZ()?1:0}static inCircleRobustMp3Point(t,s,i){const e=si.constructDouble(t.x),n=si.constructDouble(t.y),r=si.constructDouble(s.x),u=si.constructDouble(s.y),h=si.constructDouble(i.x),a=si.constructDouble(i.y),o=h.mul(h).add(a.mul(a)).sub(h.mul(e).add(a.mul(n)).add(h.mul(r)).add(a.mul(u))).add(e.mul(r).add(n.mul(u)));return o.LZ()?-1:o.GZ()?1:0}static inCircleRobust3Point(t,s,i){const e=new p(t.x),n=new p(t.y),r=new p(s.x),u=new p(s.y),h=new p(i.x),a=new p(i.y),o=h.mulE(h).addE(a.mulE(a)).subE(h.mulE(e).addE(a.mulE(n)).addE(h.mulE(r)).addE(a.mulE(u))).addE(e.mulE(r).addE(n.mulE(u)));if(!o.isFuzzyZero()){const t=o.value();return t<0?-1:t>0?1:0}return mi.inCircleRobustMp3Point(t,s,i)}static calculateCircleCenterFromThreePoints(t,s,i){if(t.equals(i)||t.equals(s)||i.equals(s))return mi.getNAN();const e=li(t,s,i);return e.isNAN()?ci(t,s,i):e}static calculateAngle(t,s){return Math.atan2(t.crossProduct(s),t.dotProduct(s))}static isBisectorRobust(t,i,e){return s(0),!1}static size(){return 2}get 0(){return this.x}get 1(){return this.y}set 0(t){this.x=t}set 1(t){this.y=t}static compareZorder(t,s){const i=mi.c_compare_zorder_xx[t.x<0?1:0]|mi.c_compare_zorder_yy[t.y<0?1:0],e=mi.c_compare_zorder_xx[s.x<0?1:0]|mi.c_compare_zorder_yy[s.y<0?1:0];if(i===e){let i=0,e=0;for(let n=0;n<2;++n){const r=ui(t[n],s[n]);r>i&&(i=r,e=n)}return t[e]<s[e]}return i<e}static lerp(t,s,i){const e=new mi;return Y(t,s,i,e),e}static getClosestCoordinate(t,s,i,e=!1){const n=mi.getNAN();n.setSub(s,t);const r=n.sqrLength();if(0===r)return.5;if(s.isEqualPoint2D(i))return 1;const u=mi.getNAN();u.setSub(i,t);let h=u.dotProduct(n)/r;return e||(h<0?h=0:h>1&&(h=1)),h}static intersectLinesAtOnePoint(t,s,i,e){if(t.equals(s)||i.equals(e))return mi.getNAN();const n=s.x-t.x,r=i.x-e.x,u=s.y-t.y,h=i.y-e.y,a=n*h-r*u;if(!a)return mi.getNAN();const o=a;if(0===o)return mi.getNAN();let m=(i.x-t.x)*h-(i.y-t.y)*r;m/=o;const l=new mi;return Y(t,s,m,l),l.isFinite()?l:mi.getNAN()}toString(){return`[${this.x},${this.y}]`}}function li(t,s,i){const e=new p(s.x);e.subThis(t.x);const n=new p(s.y);n.subThis(t.y);const r=new p(i.x);r.subThis(t.x);const u=new p(i.y);u.subThis(t.y);const h=e.clone();h.mulThisE(u);let a=n.clone();if(a.mulThisE(r),h.subThisE(a),0===h.value())return mi.getNAN();h.mulThis(2);const o=e.clone();o.mulThisE(e);const m=n.clone();m.mulThisE(n);const l=o.clone();l.addThisE(m);const c=r.clone();c.mulThisE(r);const f=u.clone();f.mulThisE(u);const _=c.clone();_.addThisE(f);const v=n.clone();v.mulThisE(_),a=u.clone(),a.mulThisE(l),v.subThisE(a),v.divThisE(h);const b=e.clone();b.mulThisE(_),a=r.clone(),a.mulThisE(l),b.subThisE(a),b.divThisE(h);const d=mi.construct(t.x-v.value(),t.y+b.value()),x=t.sub(d).length(),N=s.sub(d).length(),y=i.sub(d).length(),T=1e-15*(x+Math.abs(t.x)+Math.abs(s.x)+Math.abs(i.x)+Math.abs(t.y)+Math.abs(s.y)+Math.abs(i.y));return Math.abs(x-N)<=T&&Math.abs(x-y)<=T&&v.eps()<T&&b.eps()<T?d:mi.getNAN()}function ci(t,s,i){const e=si.constructDouble(s.x);e.subDoubleThis(t.x);const n=si.constructDouble(s.y);n.subDoubleThis(t.y);const r=si.constructDouble(i.x);r.subDoubleThis(t.x);const u=si.constructDouble(i.y);u.subDoubleThis(t.y);const h=e.clone();h.mulThis(u);let a=n.clone();if(a.mulThis(r),h.subThis(a),h.isZero())return mi.getNAN();h.mulDoubleThis(2);const o=e.clone();o.mulThis(e);const m=n.clone();m.mulThis(n);const l=o.clone();l.addThis(m);const c=r.clone();c.mulThis(r);const f=u.clone();f.mulThis(u);const _=c.clone();_.addThis(f);const v=n.clone();v.mulThis(_),a=u.clone(),a.mulThis(l),v.subThis(a),v.divThis(h);const b=e.clone();b.mulThis(_),a=r.clone(),a.mulThis(l),b.subThis(a),b.divThis(h);return mi.construct(t.x-v.value(),t.y+b.value())}mi.dimensions=2,mi.d=[[0,1,0,-1],[-1,0,1,0],[0,-1,0,1],[1,0,-1,0]],mi.c_compare_zorder_xx=[2,0],mi.c_compare_zorder_yy=[1,0];export{Hs as $,wt as A,Ss as B,Zt as C,Gs as D,x as E,fs as F,cs as G,p as H,w as I,I as J,n as K,Qt as L,si as M,Vs as N,Qs as O,mi as P,ls as Q,Xt as R,Ht as S,Js as T,Y as U,It as V,jt as W,V as X,U as Y,zt as Z,L as _,H as a,Ws as a0,k as a1,F as a2,O as a3,G as a4,D as a5,ni as a6,Ct as a7,js as a8,$s as a9,Ds as aA,oi as aB,bs as aC,Ys as aD,R as aE,zs as aF,rs as aG,ai as aH,hi as aI,Bs as aJ,qs as aK,_t as aa,vt as ab,Lt as ac,A as ad,P as ae,ft as af,Jt as ag,ei as ah,ii as ai,Et as aj,Xs as ak,Rt as al,st as am,$ as an,gt as ao,J as ap,Os as aq,xs as ar,At as as,As as at,Zs as au,Vt as av,Gt as aw,S as ax,St as ay,Ps as az,Dt as b,Pt as c,Yt as d,K as e,B as f,Ls as g,kt as h,ds as i,vs as j,Ut as k,$t as l,Ot as m,ct as n,Wt as o,Kt as p,Q as q,_s as r,Us as s,W as t,Bt as u,qt as v,Ft as w,j as x,z as y,C as z};
@@ -1,5 +1,5 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{Offset as e}from"../views/3d/webgl-engine/core/shaderLibrary/Offset.glsl.js";import{isColor as o}from"../views/3d/webgl-engine/core/shaderLibrary/ShaderOutput.js";import{SliceDraw as r}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{Transform as i}from"../views/3d/webgl-engine/core/shaderLibrary/Transform.glsl.js";import{InstanceColor as a}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/InstanceColor.glsl.js";import{InstancedDoublePrecision as l}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/InstancedDoublePrecision.glsl.js";import{MaskedColorDefinition as t,CreateMaskedFromNaNColor as s}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/MaskedColor.glsl.js";import{NormalAttribute as n}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/NormalAttribute.glsl.js";import{SymbolColor as d}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/SymbolColor.glsl.js";import{TextureCoordinateAttribute as c}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/TextureCoordinateAttribute.glsl.js";import{VertexColor as g}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VertexColor.glsl.js";import{VerticalOffset as m}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VerticalOffset.glsl.js";import{DefaultMaterialAuxiliaryPasses as v}from"../views/3d/webgl-engine/core/shaderLibrary/default/DefaultMaterialAuxiliaryPasses.glsl.js";import{EvaluateAmbientOcclusion as b}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateAmbientOcclusion.glsl.js";import{EvaluateSceneLighting as p,addAmbientBoostFactor as w,addLightingGlobalFactor as u}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js";import{addMainLightDirection as f,addMainLightIntensity as h}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MainLighting.glsl.js";import{PhysicallyBasedRendering as y}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRendering.glsl.js";import{PhysicallyBasedRenderingParameters as x}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRenderingParameters.glsl.js";import{ReadShadowMapPass as C,ReadShadowMapDraw as L}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ReadShadowMap.glsl.js";import{terrainDepthTest as j}from"../views/3d/webgl-engine/core/shaderLibrary/shading/TerrainDepthTest.glsl.js";import{VisualVariables as M}from"../views/3d/webgl-engine/core/shaderLibrary/shading/VisualVariables.glsl.js";import{DiscardOrAdjustAlphaPass as O}from"../views/3d/webgl-engine/core/shaderLibrary/util/DiscardOrAdjustAlpha.glsl.js";import{MixExternalColor as P}from"../views/3d/webgl-engine/core/shaderLibrary/util/MixExternalColor.glsl.js";import{addProjViewLocalOrigin as N,addCameraPosition as S}from"../views/3d/webgl-engine/core/shaderLibrary/util/View.glsl.js";import{Float3PassUniform as A}from"../views/3d/webgl-engine/core/shaderModules/Float3PassUniform.js";import{Float4PassUniform as E}from"../views/3d/webgl-engine/core/shaderModules/Float4PassUniform.js";import{FloatPassUniform as D}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{glsl as F,If as V}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Texture2DPassUniform as T}from"../views/3d/webgl-engine/core/shaderModules/Texture2DPassUniform.js";import{SnowCover as $}from"../views/3d/webgl-engine/effects/weather/SnowCover.glsl.js";import{colorMixModes as I}from"../views/3d/webgl-engine/materials/internal/MaterialUtil.js";import{outputColorHighlightOLID as k}from"../views/3d/webgl-engine/shaders/OutputColorHighlightOLID.glsl.js";import{ShaderBuilder as R}from"../views/webgl/ShaderBuilder.js";import{alphaCutoff as B}from"../webscene/support/AlphaCutoff.js";function _(_){const z=new R,{attributes:U,vertex:W,fragment:H,varyings:G}=z,{output:q,offsetBackfaces:J,pbrMode:K,snowCover:Q,spherical:X}=_,Y=1===K||2===K;if(N(W,_),U.add("position","vec3"),G.add("vpos","vec3",{invariant:!0}),z.include(M,_),z.include(l,_),z.include(m,_),z.include(j,_),!o(q))return z.include(v,_),z;S(z.vertex,_),z.include(n,_),z.include(i),J&&z.include(e),G.add("vNormalWorld","vec3"),G.add("localvpos","vec3",{invariant:!0}),z.include(c,_),z.include(d,_),z.include(a,_),z.include(g,_),W.include(t),W.include(s),W.uniforms.add(new E("externalColor",e=>e.externalColor,{supportsNaN:!0})),G.add("vcolorExt","vec4"),z.include(_.instancedDoublePrecision?C:L,_),W.main.add(F`
2
+ import{Offset as e}from"../views/3d/webgl-engine/core/shaderLibrary/Offset.glsl.js";import{isColor as o}from"../views/3d/webgl-engine/core/shaderLibrary/ShaderOutput.js";import{SliceDraw as r}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{Transform as i}from"../views/3d/webgl-engine/core/shaderLibrary/Transform.glsl.js";import{InstanceColor as a}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/InstanceColor.glsl.js";import{InstancedDoublePrecision as l}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/InstancedDoublePrecision.glsl.js";import{MaskedColorDefinition as t,CreateMaskedFromNaNColor as s}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/MaskedColor.glsl.js";import{NormalAttribute as n}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/NormalAttribute.glsl.js";import{SymbolColor as d}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/SymbolColor.glsl.js";import{TextureCoordinateAttribute as c}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/TextureCoordinateAttribute.glsl.js";import{VertexColor as g}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VertexColor.glsl.js";import{VerticalOffset as m}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VerticalOffset.glsl.js";import{DefaultMaterialAuxiliaryPasses as v}from"../views/3d/webgl-engine/core/shaderLibrary/default/DefaultMaterialAuxiliaryPasses.glsl.js";import{EvaluateAmbientOcclusion as b}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateAmbientOcclusion.glsl.js";import{EvaluateSceneLighting as w,addAmbientBoostFactor as p,addLightingGlobalFactor as u}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js";import{addMainLightDirection as f,addMainLightIntensity as h}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MainLighting.glsl.js";import{PhysicallyBasedRendering as y}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRendering.glsl.js";import{PhysicallyBasedRenderingParameters as x}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRenderingParameters.glsl.js";import{ReadShadowMapPass as C,ReadShadowMapDraw as L}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ReadShadowMap.glsl.js";import{terrainDepthTest as j}from"../views/3d/webgl-engine/core/shaderLibrary/shading/TerrainDepthTest.glsl.js";import{VisualVariables as M}from"../views/3d/webgl-engine/core/shaderLibrary/shading/VisualVariables.glsl.js";import{DiscardOrAdjustAlphaPass as O}from"../views/3d/webgl-engine/core/shaderLibrary/util/DiscardOrAdjustAlpha.glsl.js";import{MixExternalColor as P}from"../views/3d/webgl-engine/core/shaderLibrary/util/MixExternalColor.glsl.js";import{addProjViewLocalOrigin as N,addCameraPosition as S}from"../views/3d/webgl-engine/core/shaderLibrary/util/View.glsl.js";import{Float3PassUniform as A}from"../views/3d/webgl-engine/core/shaderModules/Float3PassUniform.js";import{Float4PassUniform as E}from"../views/3d/webgl-engine/core/shaderModules/Float4PassUniform.js";import{FloatPassUniform as D}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{glsl as F,If as V}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Texture2DPassUniform as T}from"../views/3d/webgl-engine/core/shaderModules/Texture2DPassUniform.js";import{SnowCover as I}from"../views/3d/webgl-engine/effects/weather/SnowCover.glsl.js";import{colorMixModes as $}from"../views/3d/webgl-engine/materials/internal/MaterialUtil.js";import{alphaCutoff as k}from"../views/3d/webgl-engine/shaders/alphaCutoff.glsl.js";import{outputColorHighlightOLID as R}from"../views/3d/webgl-engine/shaders/OutputColorHighlightOLID.glsl.js";import{ShaderBuilder as B}from"../views/webgl/ShaderBuilder.js";function _(_){const z=new B,{attributes:U,vertex:W,fragment:H,varyings:G}=z,{output:q,offsetBackfaces:J,pbrMode:K,snowCover:Q,spherical:X}=_,Y=1===K||2===K;if(N(W,_),U.add("position","vec3"),G.add("vpos","vec3",{invariant:!0}),z.include(M,_),z.include(l,_),z.include(m,_),z.include(j,_),!o(q))return z.include(v,_),z;S(z.vertex,_),z.include(n,_),z.include(i),J&&z.include(e),G.add("vNormalWorld","vec3"),G.add("localvpos","vec3",{invariant:!0}),z.include(c,_),z.include(d,_),z.include(a,_),z.include(g,_),W.include(t),W.include(s),W.uniforms.add(new E("externalColor",e=>e.externalColor,{supportsNaN:!0})),G.add("vcolorExt","vec4"),z.include(_.instancedDoublePrecision?C:L,_),W.include(k),W.main.add(F`
3
3
  forwardVertexColor();
4
4
 
5
5
  MaskedColor maskedColorExt =
@@ -8,7 +8,7 @@ import{Offset as e}from"../views/3d/webgl-engine/core/shaderLibrary/Offset.glsl.
8
8
  vcolorExt = maskedColorExt.color;
9
9
  forwardColorMixMode(maskedColorExt.mask);
10
10
 
11
- bool alphaCut = opacityMixMode != ${F.int(I.ignore)} && vcolorExt.a < ${F.float(B)};
11
+ bool alphaCut = opacityMixMode != ${F.int($.ignore)} && vcolorExt.a < alphaCutoff;
12
12
  vpos = getVertexInLocalOriginSpace();
13
13
 
14
14
  localvpos = vpos - view[3].xyz;
@@ -22,7 +22,7 @@ import{Offset as e}from"../views/3d/webgl-engine/core/shaderLibrary/Offset.glsl.
22
22
  forwardLinearDepthToReadShadowMap();
23
23
  gl_Position = alphaCut ? vec4(1e38, 1e38, 1e38, 1.0) :
24
24
  ${V(J,"offsetBackfacingClipPosition(basePosition, vpos, vNormalWorld, cameraPosition);","basePosition;")}
25
- `);const{hasColorTexture:Z,hasColorTextureTransform:ee}=_;return H.include(p,_),H.include(b,_),z.include(O,_),H.include(r,_),z.include(k,_),S(H,_),f(H),w(H),u(H),H.uniforms.add(W.uniforms.get("localOrigin"),W.uniforms.get("view"),new A("ambient",e=>e.ambient),new A("diffuse",e=>e.diffuse),new D("opacity",e=>e.opacity),new D("layerOpacity",e=>e.layerOpacity)),Z&&H.uniforms.add(new T("tex",e=>e.texture)),z.include(x,_),H.include(y,_),H.include(P),H.include($,_),h(H),H.main.add(F`
25
+ `);const{hasColorTexture:Z,hasColorTextureTransform:ee}=_;return H.include(w,_),H.include(b,_),z.include(O,_),H.include(r,_),z.include(R,_),S(H,_),f(H),p(H),u(H),H.uniforms.add(W.uniforms.get("localOrigin"),W.uniforms.get("view"),new A("ambient",e=>e.ambient),new A("diffuse",e=>e.diffuse),new D("opacity",e=>e.opacity),new D("layerOpacity",e=>e.layerOpacity)),Z&&H.uniforms.add(new T("tex",e=>e.texture)),z.include(x,_),H.include(y,_),H.include(P),H.include(I,_),h(H),H.main.add(F`
26
26
  discardBySlice(vpos);
27
27
  discardByTerrainDepth();
28
28
  vec4 texColor = ${Z?`texture(tex, ${ee?"colorUV":"vuv0"})`:" vec4(1.0)"};
@@ -1,5 +1,5 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{SliceDraw as e}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{ObjectAndLayerIdColor as i}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/ObjectAndLayerIdColor.glsl.js";import{RibbonVertexPosition as t}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/RibbonVertexPosition.glsl.js";import{LineStipple as n,computePixelSize as r}from"../views/3d/webgl-engine/core/shaderLibrary/shading/LineStipple.glsl.js";import{MarkerSizing as o}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MarkerSizing.glsl.js";import{PiUtils as a}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PiUtils.glsl.js";import{positionOutsideClipSpace as s}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PositionOutsideClipSpace.js";import{terrainDepthTest as l}from"../views/3d/webgl-engine/core/shaderLibrary/shading/TerrainDepthTest.glsl.js";import{ColorConversion as p}from"../views/3d/webgl-engine/core/shaderLibrary/util/ColorConversion.glsl.js";import{NoPerspectiveWrite as d,NoPerspectiveRead as c}from"../views/3d/webgl-engine/core/shaderLibrary/util/NoPerspective.glsl.js";import{addProjViewLocalOrigin as m,addPixelRatio as v}from"../views/3d/webgl-engine/core/shaderLibrary/util/View.glsl.js";import{Float2BindUniform as f}from"../views/3d/webgl-engine/core/shaderModules/Float2BindUniform.js";import{Float4BindUniform as g}from"../views/3d/webgl-engine/core/shaderModules/Float4BindUniform.js";import{Float4PassUniform as h}from"../views/3d/webgl-engine/core/shaderModules/Float4PassUniform.js";import{FloatBindUniform as S}from"../views/3d/webgl-engine/core/shaderModules/FloatBindUniform.js";import{FloatPassUniform as u}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{glsl as D,If as x}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Matrix4BindUniform as L}from"../views/3d/webgl-engine/core/shaderModules/Matrix4BindUniform.js";import{AnimatedLine as w}from"../views/3d/webgl-engine/shaders/AnimatedLine.glsl.js";import{outputColorHighlightOLID as b}from"../views/3d/webgl-engine/shaders/OutputColorHighlightOLID.glsl.js";import{ShaderBuilder as y}from"../views/webgl/ShaderBuilder.js";import{alphaCutoff as P}from"../webscene/support/AlphaCutoff.js";const j=1;function z(z){const C=new y,{attributes:W,varyings:R,vertex:F,fragment:A}=C,{applyMarkerOffset:V,draped:T,output:E,capType:O,stippleEnabled:$,falloffEnabled:N,roundJoins:M,wireframe:_,innerColorEnabled:k,hasAnimation:I,hasScreenSizePerspective:B,worldSizedImagePattern:H}=z;A.include(a),C.include(t,z),C.include(n,z),C.include(i,z),C.include(l,z),C.include(w,z);const J=V&&!T;J&&(F.uniforms.add(new u("markerScale",e=>e.markerScale)),C.include(o,{space:2,hasScreenSizePerspective:B})),m(F,z),F.uniforms.add(new L("inverseProjectionMatrix",e=>e.camera.inverseProjectionMatrix),new f("nearFar",e=>e.camera.nearFar),new u("miterLimit",e=>"miter"!==e.join?0:e.miterLimit),new g("viewport",e=>e.camera.fullViewport)),F.constants.add("LARGE_HALF_FLOAT","float",65500),W.add("position","vec3"),W.add("previousDelta","vec4"),W.add("nextDelta","vec4"),W.add("lineParameters","vec2"),W.add("u0","float"),R.add("vColor","vec4"),R.add("vpos","vec3",{invariant:!0}),R.add("vLineDistance","float"),R.add("vLineWidth","float");const U=$;U&&R.add("vLineSizeInv","float");const G=2===O,q=$&&G,K=N||q;K&&R.add("vLineDistanceNorm","float"),G&&(R.add("vSegmentSDF","float"),R.add("vReverseSegmentSDF","float")),F.code.add(D`vec2 perpendicular(vec2 v) {
2
+ import{SliceDraw as e}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{ObjectAndLayerIdColor as i}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/ObjectAndLayerIdColor.glsl.js";import{RibbonVertexPosition as t}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/RibbonVertexPosition.glsl.js";import{LineStipple as n,computePixelSize as r}from"../views/3d/webgl-engine/core/shaderLibrary/shading/LineStipple.glsl.js";import{MarkerSizing as o}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MarkerSizing.glsl.js";import{PiUtils as a}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PiUtils.glsl.js";import{positionOutsideClipSpace as s}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PositionOutsideClipSpace.js";import{terrainDepthTest as l}from"../views/3d/webgl-engine/core/shaderLibrary/shading/TerrainDepthTest.glsl.js";import{ColorConversion as p}from"../views/3d/webgl-engine/core/shaderLibrary/util/ColorConversion.glsl.js";import{NoPerspectiveWrite as d,NoPerspectiveRead as c}from"../views/3d/webgl-engine/core/shaderLibrary/util/NoPerspective.glsl.js";import{addProjViewLocalOrigin as m,addPixelRatio as v}from"../views/3d/webgl-engine/core/shaderLibrary/util/View.glsl.js";import{Float2BindUniform as f}from"../views/3d/webgl-engine/core/shaderModules/Float2BindUniform.js";import{Float4BindUniform as g}from"../views/3d/webgl-engine/core/shaderModules/Float4BindUniform.js";import{Float4PassUniform as h}from"../views/3d/webgl-engine/core/shaderModules/Float4PassUniform.js";import{FloatBindUniform as u}from"../views/3d/webgl-engine/core/shaderModules/FloatBindUniform.js";import{FloatPassUniform as S}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{glsl as D,If as x}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Matrix4BindUniform as L}from"../views/3d/webgl-engine/core/shaderModules/Matrix4BindUniform.js";import{alphaCutoff as w}from"../views/3d/webgl-engine/shaders/alphaCutoff.glsl.js";import{AnimatedLine as b}from"../views/3d/webgl-engine/shaders/AnimatedLine.glsl.js";import{outputColorHighlightOLID as y}from"../views/3d/webgl-engine/shaders/OutputColorHighlightOLID.glsl.js";import{ShaderBuilder as P}from"../views/webgl/ShaderBuilder.js";const j=1;function z(z){const C=new P,{attributes:W,varyings:R,vertex:F,fragment:A}=C,{applyMarkerOffset:V,draped:T,output:E,capType:O,stippleEnabled:N,falloffEnabled:M,roundJoins:$,wireframe:_,innerColorEnabled:k,hasAnimation:I,hasScreenSizePerspective:B,worldSizedImagePattern:H}=z;A.include(a),C.include(t,z),C.include(n,z),C.include(i,z),C.include(l,z),C.include(b,z);const J=V&&!T;J&&(F.uniforms.add(new S("markerScale",e=>e.markerScale)),C.include(o,{space:2,hasScreenSizePerspective:B})),m(F,z),F.uniforms.add(new L("inverseProjectionMatrix",e=>e.camera.inverseProjectionMatrix),new f("nearFar",e=>e.camera.nearFar),new S("miterLimit",e=>"miter"!==e.join?0:e.miterLimit),new g("viewport",e=>e.camera.fullViewport)),F.constants.add("LARGE_HALF_FLOAT","float",65500),W.add("position","vec3"),W.add("previousDelta","vec4"),W.add("nextDelta","vec4"),W.add("lineParameters","vec2"),W.add("u0","float"),R.add("vColor","vec4"),R.add("vpos","vec3",{invariant:!0}),R.add("vLineDistance","float"),R.add("vLineWidth","float");const U=N;U&&R.add("vLineSizeInv","float");const G=2===O,q=N&&G,K=M||q;K&&R.add("vLineDistanceNorm","float"),G&&(R.add("vSegmentSDF","float"),R.add("vReverseSegmentSDF","float")),F.code.add(D`vec2 perpendicular(vec2 v) {
3
3
  return vec2(v.y, -v.x);
4
4
  }
5
5
  float interp(float ncp, vec4 a, vec4 b) {
@@ -45,7 +45,7 @@ if (next.z > -nearFar[0]) {
45
45
  next = mix(next, pos, interp(vnp, next, pos));
46
46
  }
47
47
  }
48
- }`),v(F),F.constants.add("aaWidth","float",$?0:1).main.add(D`
48
+ }`),v(F),F.constants.add("aaWidth","float",N?0:1).main.add(D`
49
49
  // unpack values from vertex type
50
50
  bool isStartVertex = abs(abs(lineParameters.y) - 3.0) == 1.0;
51
51
  vec3 prevPosition = position + previousDelta.xyz * previousDelta.w;
@@ -87,8 +87,8 @@ pos.xyz += normalize(other.xyz - pos.xyz) * getWorldMarkerSize(pos.xyz) * 0.5;
87
87
  float rightLen = length(right);
88
88
 
89
89
  float lineSize = getSize(${x(B,"clippedPos")});
90
- ${x($&&B,"float patternLineSize = getSize(clippedCenter);")}
91
- ${x($&&!B,"float patternLineSize = lineSize;")}
90
+ ${x(N&&B,"float patternLineSize = getSize(clippedCenter);")}
91
+ ${x(N&&!B,"float patternLineSize = lineSize;")}
92
92
 
93
93
  ${x(H,D`
94
94
  lineSize += aaWidth;
@@ -109,7 +109,7 @@ pos.xyz += normalize(other.xyz - pos.xyz) * getWorldMarkerSize(pos.xyz) * 0.5;
109
109
 
110
110
  vLineWidth = noPerspectiveWrite(lineWidth, pos.w);
111
111
  ${U?D`vLineSizeInv = noPerspectiveWrite(1.0 / lineSize, pos.w);`:""}
112
- `);($||G)&&F.main.add(D`
112
+ `);(N||G)&&F.main.add(D`
113
113
  float isEndVertex = float(!isStartVertex);
114
114
  vec2 segmentOrigin = mix(pos.xy, prev.xy, isEndVertex);
115
115
  vec2 segment = mix(right, left, isEndVertex);
@@ -131,14 +131,14 @@ displacementLen = min(displacementLen, min(leftLen, rightLen)/abs(nDotSeg));
131
131
  }
132
132
  }
133
133
  float subdivisionFactor = lineParameters.x;
134
- if (isOutside && (displacementLen > miterLimit * lineWidth)) {`),M?F.main.add(D`
134
+ if (isOutside && (displacementLen > miterLimit * lineWidth)) {`),$?F.main.add(D`
135
135
  vec2 startDir = leftLen < 0.001 ? right : left;
136
136
  startDir = perpendicular(startDir);
137
137
 
138
138
  vec2 endDir = rightLen < 0.001 ? left : right;
139
139
  endDir = perpendicular(endDir);
140
140
 
141
- float factor = ${$?D`min(1.0, subdivisionFactor * ${D.float((j+2)/(j+1))})`:D`subdivisionFactor`};
141
+ float factor = ${N?D`min(1.0, subdivisionFactor * ${D.float((j+2)/(j+1))})`:D`subdivisionFactor`};
142
142
 
143
143
  float rotationAngle = acos(clamp(dot(startDir, endDir), -1.0, 1.0));
144
144
  joinDisplacementDir = rotate(startDir, -sign(lineParameters.y) * factor * rotationAngle);
@@ -172,14 +172,14 @@ joinDisplacementDir = perpendicular(joinDisplacementDir);`);const Q=0!==O;return
172
172
  pos.xy += dpos;
173
173
  `),G&&F.main.add(D`vec2 segmentDir = normalize(segment);
174
174
  vSegmentSDF = noPerspectiveWrite((isJoin && isStartVertex) ? LARGE_HALF_FLOAT : (dot(pos.xy - segmentOrigin, segmentDir)), pos.w);
175
- vReverseSegmentSDF = noPerspectiveWrite((isJoin && !isStartVertex) ? LARGE_HALF_FLOAT : (dot(pos.xy - segmentEnd, -segmentDir)), pos.w);`),$&&(T?F.uniforms.add(new S("worldToScreenRatio",e=>1/e.screenToPCSRatio)):F.main.add(D`vec3 segmentCenter = mix((nextPosition + position) * 0.5, (position + prevPosition) * 0.5, isEndVertex);
175
+ vReverseSegmentSDF = noPerspectiveWrite((isJoin && !isStartVertex) ? LARGE_HALF_FLOAT : (dot(pos.xy - segmentEnd, -segmentDir)), pos.w);`),N&&(T?F.uniforms.add(new u("worldToScreenRatio",e=>1/e.screenToPCSRatio)):F.main.add(D`vec3 segmentCenter = mix((nextPosition + position) * 0.5, (position + prevPosition) * 0.5, isEndVertex);
176
176
  float worldToScreenRatio = computeWorldToScreenRatio(segmentCenter);`),F.main.add(D`float segmentLengthScreenDouble = length(segment);
177
177
  float segmentLengthScreen = segmentLengthScreenDouble * 0.5;
178
178
  float discreteWorldToScreenRatio = discretizeWorldToScreenRatio(worldToScreenRatio);
179
179
  float segmentLengthRender = length(mix(nextPosition - position, position - prevPosition, isEndVertex));
180
180
  vStipplePatternStretch = worldToScreenRatio / discreteWorldToScreenRatio;`),T?F.main.add(D`float segmentLengthPseudoScreen = segmentLengthScreen / pixelRatio * discreteWorldToScreenRatio / worldToScreenRatio;
181
181
  float startPseudoScreen = u0 * discreteWorldToScreenRatio - mix(0.0, segmentLengthPseudoScreen, isEndVertex);`):F.main.add(D`float startPseudoScreen = mix(u0, u0 - segmentLengthRender, isEndVertex) * discreteWorldToScreenRatio;
182
- float segmentLengthPseudoScreen = segmentLengthRender * discreteWorldToScreenRatio;`),F.uniforms.add(new u("stipplePatternPixelSize",e=>r(e))),F.main.add(D`
182
+ float segmentLengthPseudoScreen = segmentLengthRender * discreteWorldToScreenRatio;`),F.uniforms.add(new S("stipplePatternPixelSize",e=>r(e))),F.main.add(D`
183
183
  float patternLength = patternLineSize * stipplePatternPixelSize;
184
184
 
185
185
  ${x(H,D`
@@ -234,43 +234,37 @@ float segmentLengthPseudoScreen = segmentLengthRender * discreteWorldToScreenRat
234
234
  vpos = (inverseProjectionMatrix * pos).xyz;
235
235
  gl_Position = pos;
236
236
  forwardObjectAndLayerIdColor();
237
- }`),C.fragment.include(e,z),C.include(b,z),A.include(p),A.main.add(D`discardBySlice(vpos);
238
- discardByTerrainDepth();`),C.include(c),A.main.add(D`
237
+ }`),C.fragment.include(e,z),C.include(y,z),A.include(p),A.main.add(D`discardBySlice(vpos);
238
+ discardByTerrainDepth();`),C.include(c),A.include(w),A.main.add(D`
239
239
  float lineWidth = noPerspectiveRead(vLineWidth);
240
240
  float lineDistance = noPerspectiveRead(vLineDistance);
241
241
  ${x(K,D`float lineDistanceNorm = noPerspectiveRead(vLineDistanceNorm);`)}
242
- `),_?A.main.add(D`vec4 finalColor = vec4(1.0, 0.0, 1.0, 1.0);`):(G&&A.main.add(D`
243
- float sdf = noPerspectiveRead(min(vSegmentSDF, vReverseSegmentSDF));
244
- vec2 fragmentPosition = vec2(min(sdf, 0.0), lineDistance);
245
-
246
- float fragmentRadius = length(fragmentPosition);
247
- float fragmentCapSDF = (fragmentRadius - lineWidth) * 0.5; // Divide by 2 to transform from double pixel scale
248
- float capCoverage = clamp(0.5 - fragmentCapSDF, 0.0, 1.0);
249
-
250
- if (capCoverage < ${D.float(P)}) {
251
- discard;
252
- }
253
- `),q?A.main.add(D`
254
- vec2 stipplePosition = vec2(
255
- min(getStippleSDF() * 2.0 - 1.0, 0.0),
256
- lineDistanceNorm
257
- );
258
- float stippleRadius = length(stipplePosition * lineWidth);
259
- float stippleCapSDF = (stippleRadius - lineWidth) * 0.5; // Divide by 2 to transform from double pixel scale
260
- float stippleCoverage = clamp(0.5 - stippleCapSDF, 0.0, 1.0);
261
- float stippleAlpha = step(${D.float(P)}, stippleCoverage);
262
- `):A.main.add(D`float stippleAlpha = getStippleAlpha(lineWidth);`),9!==E&&A.main.add(D`discardByStippleAlpha(stippleAlpha, ${D.float(P)});`),C.include(c),A.uniforms.add(new h("intrinsicColor",e=>e.color)).main.add(D`vec4 color = intrinsicColor * vColor;
263
- color.a = noPerspectiveRead(color.a);`),k&&A.uniforms.add(new h("innerColor",e=>e.innerColor??e.color),new u("innerWidth",(e,i)=>e.innerWidth*i.camera.pixelRatio)).main.add(D`float distToInner = abs(lineDistance) - innerWidth;
242
+ `),_?A.main.add(D`vec4 finalColor = vec4(1.0, 0.0, 1.0, 1.0);`):(G&&A.main.add(D`float sdf = noPerspectiveRead(min(vSegmentSDF, vReverseSegmentSDF));
243
+ vec2 fragmentPosition = vec2(min(sdf, 0.0), lineDistance);
244
+ float fragmentRadius = length(fragmentPosition);
245
+ float fragmentCapSDF = (fragmentRadius - lineWidth) * 0.5;
246
+ float capCoverage = clamp(0.5 - fragmentCapSDF, 0.0, 1.0);
247
+ if (capCoverage < alphaCutoff) {
248
+ discard;
249
+ }`),q?A.main.add(D`vec2 stipplePosition = vec2(
250
+ min(getStippleSDF() * 2.0 - 1.0, 0.0),
251
+ lineDistanceNorm
252
+ );
253
+ float stippleRadius = length(stipplePosition * lineWidth);
254
+ float stippleCapSDF = (stippleRadius - lineWidth) * 0.5;
255
+ float stippleCoverage = clamp(0.5 - stippleCapSDF, 0.0, 1.0);
256
+ float stippleAlpha = step(alphaCutoff, stippleCoverage);`):A.main.add(D`float stippleAlpha = getStippleAlpha(lineWidth);`),9!==E&&A.main.add(D`discardByStippleAlpha(stippleAlpha, alphaCutoff);`),C.include(c),A.uniforms.add(new h("intrinsicColor",e=>e.color)).main.add(D`vec4 color = intrinsicColor * vColor;
257
+ color.a = noPerspectiveRead(color.a);`),k&&A.uniforms.add(new h("innerColor",e=>e.innerColor??e.color),new S("innerWidth",(e,i)=>e.innerWidth*i.camera.pixelRatio)).main.add(D`float distToInner = abs(lineDistance) - innerWidth;
264
258
  float innerAA = clamp(0.5 - distToInner, 0.0, 1.0);
265
259
  float innerAlpha = innerColor.a + color.a * (1.0 - innerColor.a);
266
- color = mix(color, vec4(innerColor.rgb, innerAlpha), innerAA);`),A.main.add(D`vec4 finalColor = blendStipple(color, stippleAlpha);`),N&&(A.uniforms.add(new u("falloff",e=>e.falloff)),A.main.add(D`finalColor.a *= pow(max(0.0, 1.0 - abs(lineDistanceNorm)), falloff);`)),$||A.main.add(D`float featherStartDistance = max(lineWidth - 2.0, 0.0);
260
+ color = mix(color, vec4(innerColor.rgb, innerAlpha), innerAA);`),A.main.add(D`vec4 finalColor = blendStipple(color, stippleAlpha);`),M&&(A.uniforms.add(new S("falloff",e=>e.falloff)),A.main.add(D`finalColor.a *= pow(max(0.0, 1.0 - abs(lineDistanceNorm)), falloff);`)),N||A.main.add(D`float featherStartDistance = max(lineWidth - 2.0, 0.0);
267
261
  float value = abs(lineDistance);
268
262
  float feather = (value - featherStartDistance) / (lineWidth - featherStartDistance);
269
263
  finalColor.a *= 1.0 - clamp(feather, 0.0, 1.0);`),I&&A.main.add(D`
270
264
  finalColor = animate(finalColor);
271
265
 
272
266
  ${x(9!==E,D`
273
- if (finalColor.a <= ${D.float(P)}) {
267
+ if (finalColor.a <= alphaCutoff) {
274
268
  discard;
275
269
  }`)}
276
270
  `)),A.main.add(D`outputColorHighlightOLID(applySlice(finalColor, vpos), finalColor.rgb);`),C}const C=Object.freeze(Object.defineProperty({__proto__:null,build:z,ribbonlineNumRoundJoinSubdivisions:j},Symbol.toStringTag,{value:"Module"}));export{C as R,z as b,j as r};