@arcgis/core 5.2.0-next.75 → 5.2.0-next.77

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 (295) hide show
  1. package/arcgisGlobal.d.ts +1 -0
  2. package/assets/esri/core/workers/RemoteClient.js +1 -1
  3. package/assets/esri/core/workers/chunks/013c9cc198736a72f7f2.js +1 -0
  4. package/assets/esri/core/workers/chunks/0194244a3f437ad74045.js +1 -0
  5. package/assets/esri/core/workers/chunks/040a73b2a23577e1eabd.js +1 -0
  6. package/assets/esri/core/workers/chunks/{0d3b2d9a19383bb63f0a.js → 05663093b1d2a268b953.js} +1 -1
  7. package/assets/esri/core/workers/chunks/{ad1d06a91121ebfe9162.js → 06c8547521ce9c97b258.js} +2 -2
  8. package/assets/esri/core/workers/chunks/{4dcd4a052b40047a9230.js → 08cac27df6c216ae1995.js} +1 -1
  9. package/assets/esri/core/workers/chunks/08ec5461af74356e7570.js +1 -0
  10. package/assets/esri/core/workers/chunks/0909816f13d25cacf250.js +1 -0
  11. package/assets/esri/core/workers/chunks/0933203eee15ea50e123.js +1 -0
  12. package/assets/esri/core/workers/chunks/{5e1d84e97de0e662aaa9.js → 1142f8e9c80207d6bdae.js} +1 -1
  13. package/assets/esri/core/workers/chunks/16929524565a677db4dc.js +1 -0
  14. package/assets/esri/core/workers/chunks/16a04fc184728d66e6e1.js +1 -0
  15. package/assets/esri/core/workers/chunks/177c3b23c1cbd4737049.js +1 -0
  16. package/assets/esri/core/workers/chunks/{d03e7be74c57c3dbf003.js → 17e9324a02b69733307a.js} +2 -2
  17. package/assets/esri/core/workers/chunks/1a467da4c0b33f655199.js +1 -0
  18. package/assets/esri/core/workers/chunks/1ef28d4457c8c943ad19.js +1 -0
  19. package/assets/esri/core/workers/chunks/{2b93888e61ca638490cf.js → 20b54e7872d967f3be32.js} +1 -1
  20. package/assets/esri/core/workers/chunks/{5f31b375971ab067121e.js → 21f763694a41968ac21a.js} +1 -1
  21. package/assets/esri/core/workers/chunks/230925079cee040a8d77.js +1 -0
  22. package/assets/esri/core/workers/chunks/257f1e8316877f611e11.js +1 -0
  23. package/assets/esri/core/workers/chunks/270ed3070d118edb3f37.js +1 -0
  24. package/assets/esri/core/workers/chunks/29a20a37e7837142fa6b.js +2 -0
  25. package/assets/esri/core/workers/chunks/2e7c830b5b1fe406169f.js +1 -0
  26. package/assets/esri/core/workers/chunks/315031323e11a18154e3.js +1 -0
  27. package/assets/esri/core/workers/chunks/385b23d4bd5275031fb6.js +1 -0
  28. package/assets/esri/core/workers/chunks/393f79843d5a78c1cc37.js +1 -0
  29. package/assets/esri/core/workers/chunks/3958d92c737b3a2a3bc2.js +1 -0
  30. package/assets/esri/core/workers/chunks/3b5c5356353f1a2303a0.js +1 -0
  31. package/assets/esri/core/workers/chunks/{6743d726e45e7b660505.js → 4115bab15c19b4f5ae08.js} +1 -1
  32. package/assets/esri/core/workers/chunks/{99e3aa4832ed87474ab4.js → 44857a76be2c0ac65bb9.js} +1 -1
  33. package/assets/esri/core/workers/chunks/{4491dc227c28e2ab4f8e.js → 484b251fbcbffcb58323.js} +1 -1
  34. package/assets/esri/core/workers/chunks/48e2d0bfb62e1f4f2ad9.js +1 -0
  35. package/assets/esri/core/workers/chunks/{7f2f2a92dce3f68e579b.js → 4b54444c04fbd6f42c18.js} +1 -1
  36. package/assets/esri/core/workers/chunks/4c82f5f23004f905a18f.js +1 -0
  37. package/assets/esri/core/workers/chunks/53eed0941a39b56cc034.js +1 -0
  38. package/assets/esri/core/workers/chunks/56e6d8c4a9ed893ce951.js +1 -0
  39. package/assets/esri/core/workers/chunks/57159bcac86d660dcceb.js +1 -0
  40. package/assets/esri/core/workers/chunks/{36ec5b84e551ab08b24a.js → 57e26a86d46e02c89c4f.js} +1 -1
  41. package/assets/esri/core/workers/chunks/58026fc30d8a0ded4102.js +1 -0
  42. package/assets/esri/core/workers/chunks/59598023c0aea62a6297.js +1 -0
  43. package/assets/esri/core/workers/chunks/5bf2ce280ea35ea4c96b.js +1 -0
  44. package/assets/esri/core/workers/chunks/5fd2aa0be03dfb494efa.js +1 -0
  45. package/assets/esri/core/workers/chunks/619aa1381296172ff47b.js +1 -0
  46. package/assets/esri/core/workers/chunks/62f37d1075390a177ae9.js +1 -0
  47. package/assets/esri/core/workers/chunks/65d1e338612e59063eba.js +1 -0
  48. package/assets/esri/core/workers/chunks/680dd7b7638465eb33de.js +1 -0
  49. package/assets/esri/core/workers/chunks/{b14961a9f1f40028f141.js → 6c982779d6d47ec99899.js} +1 -1
  50. package/assets/esri/core/workers/chunks/{a52c88e2d837b525ff6c.js → 71ee7c51d2c60a180f1e.js} +1 -1
  51. package/assets/esri/core/workers/chunks/{6b783f440c4a5d36e879.js → 75fc0b1db8e2e3fd2458.js} +1 -1
  52. package/assets/esri/core/workers/chunks/79429c8be5da85713200.js +1 -0
  53. package/assets/esri/core/workers/chunks/7b470d6ad182548b9e95.js +1 -0
  54. package/assets/esri/core/workers/chunks/7d8eb4dbea1916320f74.js +1 -0
  55. package/assets/esri/core/workers/chunks/{67f54586156d1ab80257.js → 81cd0cb9ae1371765d32.js} +1 -1
  56. package/assets/esri/core/workers/chunks/83556c9f6f85c2a46779.js +1 -0
  57. package/assets/esri/core/workers/chunks/{d1c7c877edc6948f3801.js → 8762da315cf5086167c3.js} +1 -1
  58. package/assets/esri/core/workers/chunks/87eaed6fdabd482d142e.js +1 -0
  59. package/assets/esri/core/workers/chunks/88d5541679e77117bf03.js +1 -0
  60. package/assets/esri/core/workers/chunks/894ebc64b698e5d7604b.js +1 -0
  61. package/assets/esri/core/workers/chunks/{4046bd65d7d0677f4600.js → 8d9a7fa14489897780d3.js} +1 -1
  62. package/assets/esri/core/workers/chunks/8e225dd0319672103561.js +1 -0
  63. package/assets/esri/core/workers/chunks/9199300ffd225a1bbef1.js +1 -0
  64. package/assets/esri/core/workers/chunks/{3e2b4e734aa20a308f3e.js → 95956d62591d689f1135.js} +1 -1
  65. package/assets/esri/core/workers/chunks/98613fded899c59f34a4.js +1 -0
  66. package/assets/esri/core/workers/chunks/9e1392a0c608a13ab036.js +1 -0
  67. package/assets/esri/core/workers/chunks/{53d165b4f30fd64e5d8a.js → a4e4fa4dd1a122bbf7cd.js} +1 -1
  68. package/assets/esri/core/workers/chunks/a5240c8a47842138f31f.js +1 -0
  69. package/assets/esri/core/workers/chunks/a69c10bfd632a5546b34.js +1 -0
  70. package/assets/esri/core/workers/chunks/a7727a2377470d586ff9.js +1 -0
  71. package/assets/esri/core/workers/chunks/{7a24cc0f3b4eff2bdb8e.js → ac2ba5c3d613d7d5183a.js} +1 -1
  72. package/assets/esri/core/workers/chunks/{6cd6d0cfd313f0475d98.js → ac59218847e5ef4c4160.js} +1 -1
  73. package/assets/esri/core/workers/chunks/ac87be2210f868524996.js +1 -0
  74. package/assets/esri/core/workers/chunks/aed16c3e26652960ad3f.js +1 -0
  75. package/assets/esri/core/workers/chunks/{43713bc6f7eea07259d0.js → b084829a3fd709dc47a8.js} +1 -1
  76. package/assets/esri/core/workers/chunks/{05f6887805d92da03122.js → b24fc7eeda580ef020d2.js} +1 -1
  77. package/assets/esri/core/workers/chunks/{5ba3a30b7cbfa9e3aa62.js → b2812279662f1a5f8d06.js} +1 -1
  78. package/assets/esri/core/workers/chunks/b37a20c5c4a4686257d4.js +1 -0
  79. package/assets/esri/core/workers/chunks/{43a65cab888d43954564.js → b4abf82b8ac974a55ae1.js} +1 -1
  80. package/assets/esri/core/workers/chunks/b82763e9401b16121f8d.js +2 -0
  81. package/assets/esri/core/workers/chunks/bab5f4b2424b487b87ac.js +1 -0
  82. package/assets/esri/core/workers/chunks/bbc6b270d2032189107c.js +1 -0
  83. package/assets/esri/core/workers/chunks/bc6e488f5fbd50f9f3d0.js +1 -0
  84. package/assets/esri/core/workers/chunks/bd7d87d175ba933ab2ce.js +1 -0
  85. package/assets/esri/core/workers/chunks/{1c49c9472167a2e0c923.js → c17dda6fadb8bfad0d51.js} +1 -1
  86. package/assets/esri/core/workers/chunks/c1e5ffe9a251be5a0744.js +1 -0
  87. package/assets/esri/core/workers/chunks/c69cf08da4e4c2c824ee.js +1717 -0
  88. package/assets/esri/core/workers/chunks/ca6652c6304ad0e37e8f.js +1 -0
  89. package/assets/esri/core/workers/chunks/cd74de12005834244a47.js +1 -0
  90. package/assets/esri/core/workers/chunks/{762be5d3e6aeaea33f74.js → cef02ed3942c010da2e8.js} +1 -1
  91. package/assets/esri/core/workers/chunks/d520d407043bc52e5410.js +1 -0
  92. package/assets/esri/core/workers/chunks/da0ef984509057ec8507.js +1 -0
  93. package/assets/esri/core/workers/chunks/dff932682d6386a861ce.js +1 -0
  94. package/assets/esri/core/workers/chunks/{2c31648a4b95275516ee.js → e227eb44cd139fe2bc1b.js} +1 -1
  95. package/assets/esri/core/workers/chunks/e4e5a171a4874c5af4a4.js +1 -0
  96. package/assets/esri/core/workers/chunks/{ddb92c815d17c67a45e6.js → e5d114f2b57d2b8e2f1c.js} +1 -1
  97. package/assets/esri/core/workers/chunks/e89e6eea380ca2c13b64.js +1 -0
  98. package/assets/esri/core/workers/chunks/e9d352d030dcad1619a6.js +1 -0
  99. package/assets/esri/core/workers/chunks/{3de6e54b6ed0feae1940.js → eae51e827f629ab37207.js} +1 -1
  100. package/assets/esri/core/workers/chunks/eee1fd629619021ea279.js +1 -0
  101. package/assets/esri/core/workers/chunks/{b6cd165d0e58598f28a5.js → ef47a5da641cb0d33fdf.js} +1 -1
  102. package/assets/esri/core/workers/chunks/{0eb35e09765fd74eb698.js → ef803fb25741e9f2a0a1.js} +1 -1
  103. package/assets/esri/core/workers/chunks/f35e749bb5be39880cbe.js +1 -0
  104. package/assets/esri/core/workers/chunks/f3bbebedad51f776bb98.js +1 -0
  105. package/assets/esri/core/workers/chunks/{3dff36f6de181d9dcdc5.js → f40e4433e7608d0962a6.js} +1 -1
  106. package/assets/esri/core/workers/chunks/f703bc002c732d1c045d.js +1 -0
  107. package/assets/esri/core/workers/chunks/fdd4f78facec6387cdb0.js +1 -0
  108. package/assets/esri/core/workers/chunks/ffd5285c7b2c83208f87.js +2 -0
  109. package/assets/esri/libs/lyr3d/lyr3DMain.wasm +0 -0
  110. package/assets/esri/libs/lyr3d/lyr3DWorker.wasm +0 -0
  111. package/assets/esri/libs/text/pkg/bundle_bg.wasm +0 -0
  112. package/chunks/HeatmapDensity.glsl.js +5 -5
  113. package/chunks/bundle2.js +1 -1
  114. package/chunks/lyr3DMain.js +1 -1
  115. package/chunks/lyr3DWorker.js +1 -1
  116. package/config.js +1 -1
  117. package/geometry/geometryEngine.js +1 -1
  118. package/geometry/support/centroid.js +1 -1
  119. package/geometry/support/extentUtils.js +1 -1
  120. package/geometry/support/frustum.js +1 -1
  121. package/geometry/support/webMercatorUtils.d.ts +38 -14
  122. package/kernel.js +1 -1
  123. package/layers/Lyr3DWasmPerSceneView.js +1 -1
  124. package/layers/VectorTileLayer.d.ts +40 -22
  125. package/layers/graphics/data/QueryEngineResult.js +1 -1
  126. package/layers/graphics/data/projectionSupport.js +1 -1
  127. package/layers/graphics/sources/support/sourceUtils.js +1 -1
  128. package/layers/mixins/RasterJobHandlerMixin.js +1 -1
  129. package/layers/support/RasterJobHandler.js +1 -1
  130. package/layers/video/VideoController.js +1 -1
  131. package/package.json +4 -4
  132. package/support/revision.js +1 -1
  133. package/symbols/cim/animationUtils.js +1 -1
  134. package/symbols/cim/cimAnalyzer.js +1 -1
  135. package/symbols/cim/effects/EffectCircularSector.js +1 -1
  136. package/views/2d/engine/vectorTiles/SpriteMosaic.js +1 -1
  137. package/views/2d/engine/webgl/animations/infos.js +1 -1
  138. package/views/2d/engine/webgl/animations/instructions.js +1 -1
  139. package/views/2d/engine/webgl/shaderGraph/techniques/animated/AAnimatedShader.js +1 -1
  140. package/views/3d/GroundView3D.js +1 -1
  141. package/views/3d/interactive/visualElements/ExtendedLineVisualElement.js +1 -1
  142. package/views/3d/interactive/visualElements/ParallelLineVisualElement.js +1 -1
  143. package/views/3d/interactive/visualElements/RightAngleQuadVisualElement.js +1 -1
  144. package/views/3d/layers/GaussianSplatLayerView3D.js +1 -1
  145. package/views/3d/layers/IntegratedMesh3DTilesLayerView3D.js +1 -1
  146. package/views/3d/layers/MediaLayerView3D.js +1 -1
  147. package/views/3d/layers/graphics/Graphics3DIconSymbolLayer.js +1 -1
  148. package/views/3d/layers/graphics/Graphics3DTextSymbolLayer.js +1 -1
  149. package/views/3d/layers/support/HeatmapFeatureProcessor.js +1 -1
  150. package/views/3d/state/HUDOccludedFragmentOpacity.js +1 -1
  151. package/views/3d/state/ViewState.js +1 -1
  152. package/views/3d/state/ViewStateManager.js +1 -1
  153. package/views/3d/support/GaussianSplatSortWorker.js +1 -1
  154. package/views/3d/support/GaussianSplatWorkerHandle.js +1 -1
  155. package/views/3d/support/flow/geometryUtils.js +1 -1
  156. package/views/3d/support/gaussianSplatting/GaussianSplatDataStore.js +1 -1
  157. package/views/3d/support/gaussianSplatting/GaussianTile.js +1 -1
  158. package/views/3d/support/renderInfoUtils/line.js +1 -1
  159. package/views/3d/support/renderInfoUtils/polygon.js +1 -1
  160. package/views/3d/terrain/DrapedZ.js +2 -0
  161. package/views/3d/terrain/OverlayManager.js +1 -1
  162. package/views/3d/terrain/OverlayRenderer.js +1 -1
  163. package/views/3d/terrain/PatchRenderDataWaterproofness.js +1 -1
  164. package/views/3d/terrain/TerrainRenderer.js +1 -1
  165. package/views/3d/terrain/TerrainSurface.js +1 -1
  166. package/views/3d/terrain/TerrainWaterproofnessDiagnostics.js +2 -0
  167. package/views/3d/webgl/RenderCamera.js +1 -1
  168. package/views/3d/webgl/RenderNode.js +1 -1
  169. package/views/3d/webgl-engine/core/shaderLibrary/TextureBackedBuffer.glsl.js +2 -2
  170. package/views/3d/webgl-engine/core/shaderLibrary/TextureBackedBufferFields.glsl.js +2 -2
  171. package/views/3d/webgl-engine/lib/Geometry.js +1 -1
  172. package/views/3d/webgl-engine/lib/PositionReader.js +1 -1
  173. package/views/3d/webgl-engine/lib/TextureBackedBuffer/TextureBackedBuffer.js +1 -1
  174. package/views/3d/webgl-engine/lib/TextureBackedBuffer/TextureBackedBufferFields.js +1 -1
  175. package/views/3d/webgl-engine/lib/screenPolygonOverlapUtils.js +1 -1
  176. package/views/3d/webgl-engine/materials/HeatmapDensityMaterial.js +1 -1
  177. package/views/3d/webgl-engine/materials/RibbonLineMaterial.js +1 -1
  178. package/views/3d/webgl-engine/materials/internal/bufferWriterUtils.js +1 -1
  179. package/views/3d/webgl-engine/parts/Model.js +1 -1
  180. package/views/3d/webgl-engine/shaders/HeatmapDensity.glsl.js +1 -1
  181. package/views/3d/webgl-engine/shaders/HeatmapDensityTechnique.js +1 -1
  182. package/views/support/waitForResources.js +1 -1
  183. package/views/webgl/RenderingContext.js +1 -1
  184. package/widgets/BatchAttributeForm/inputs/FieldInput.d.ts +20 -6
  185. package/widgets/BatchAttributeForm/inputs/FieldInput.js +1 -1
  186. package/widgets/BatchAttributeForm/inputs/support/MultipleChoiceController.d.ts +100 -0
  187. package/widgets/BatchAttributeForm/inputs/support/MultipleChoiceController.js +2 -0
  188. package/widgets/BatchAttributeForm/inputs/support/createBatchFormInputs.js +1 -1
  189. package/widgets/BatchAttributeForm/inputs/support/multipleChoiceInputUtils.js +1 -1
  190. package/widgets/BatchAttributeForm.js +1 -1
  191. package/widgets/Feature/FeatureViewModel.d.ts +4 -3
  192. package/widgets/Feature/FeatureViewModel.js +1 -1
  193. package/widgets/Feature.js +1 -1
  194. package/widgets/Features/FeaturesViewModel.d.ts +4 -2
  195. package/widgets/Features/FeaturesViewModel.js +1 -1
  196. package/widgets/Features.js +1 -1
  197. package/widgets/OrientedImageryViewer.js +1 -1
  198. package/widgets/PanoramicViewer/PanoramicVideoViewerViewModel.js +1 -1
  199. package/widgets/PanoramicViewer/PanoramicViewerViewModel.js +1 -1
  200. package/widgets/Popup/PopupViewModel.d.ts +1 -0
  201. package/widgets/Popup/PopupViewModel.js +1 -1
  202. package/widgets/Popup.js +1 -1
  203. package/widgets/UtilityNetworkTrace/UtilityNetworkTraceFeature.js +1 -1
  204. package/widgets/UtilityNetworkTrace/UtilityNetworkTraceViewModel.js +1 -1
  205. package/widgets/UtilityNetworkTrace/support/GeometryHandler.js +1 -1
  206. package/widgets/UtilityNetworkTrace/support/ResultAreaHandler.js +1 -1
  207. package/assets/esri/core/workers/chunks/02dd79beb13eff6be85e.js +0 -1
  208. package/assets/esri/core/workers/chunks/0502641d9a214b37ff29.js +0 -1
  209. package/assets/esri/core/workers/chunks/0823961e5d0bdedbf8cf.js +0 -2
  210. package/assets/esri/core/workers/chunks/0aedeb837399d3f92e4a.js +0 -1
  211. package/assets/esri/core/workers/chunks/0bf644f93c180a2bc2f8.js +0 -705
  212. package/assets/esri/core/workers/chunks/0daaa89de339e8ea4b81.js +0 -1
  213. package/assets/esri/core/workers/chunks/1119a33245138e7b3914.js +0 -1
  214. package/assets/esri/core/workers/chunks/12234a63d3fa4bc25e7e.js +0 -1
  215. package/assets/esri/core/workers/chunks/186bedc377cc97731ca2.js +0 -2
  216. package/assets/esri/core/workers/chunks/1cf8fb704c48ac3d3b15.js +0 -1
  217. package/assets/esri/core/workers/chunks/2435ef7d11f8dbb920b7.js +0 -256
  218. package/assets/esri/core/workers/chunks/2791f3fe16ca5ee2f39a.js +0 -1
  219. package/assets/esri/core/workers/chunks/27f574acf52f2c8bc2c9.js +0 -1
  220. package/assets/esri/core/workers/chunks/2d45daacec0d5ed38782.js +0 -1
  221. package/assets/esri/core/workers/chunks/2ea3ca68cfa4d34e8f3b.js +0 -1
  222. package/assets/esri/core/workers/chunks/2f81047790c4890ae625.js +0 -1
  223. package/assets/esri/core/workers/chunks/3235e14fedb19dd94807.js +0 -1
  224. package/assets/esri/core/workers/chunks/32f5112c848efec6c33b.js +0 -1
  225. package/assets/esri/core/workers/chunks/3bc2943035391b44d4cf.js +0 -29
  226. package/assets/esri/core/workers/chunks/3c32471785bc8570e41c.js +0 -1
  227. package/assets/esri/core/workers/chunks/4295822fa6ef743c76f1.js +0 -1
  228. package/assets/esri/core/workers/chunks/42d5ed44111bea77ec71.js +0 -1462
  229. package/assets/esri/core/workers/chunks/46873badbd6ce8ff4e1e.js +0 -1
  230. package/assets/esri/core/workers/chunks/4710f21b138a2c9a0345.js +0 -1
  231. package/assets/esri/core/workers/chunks/4b5bd0c9a55ea2998601.js +0 -1
  232. package/assets/esri/core/workers/chunks/4c2794687aea172775a0.js +0 -1
  233. package/assets/esri/core/workers/chunks/4d9bde9f66817a92ceca.js +0 -1
  234. package/assets/esri/core/workers/chunks/4fe2cca405180af23364.js +0 -1
  235. package/assets/esri/core/workers/chunks/519af918050b47f93516.js +0 -1
  236. package/assets/esri/core/workers/chunks/5600fc334d20c4f0c83d.js +0 -1
  237. package/assets/esri/core/workers/chunks/5627f562dea8bae2f346.js +0 -1
  238. package/assets/esri/core/workers/chunks/5bf4ab72b9634b06cc5d.js +0 -1
  239. package/assets/esri/core/workers/chunks/5e3d5347223f0111f40f.js +0 -1
  240. package/assets/esri/core/workers/chunks/6f58cb9dffe8016397a2.js +0 -1
  241. package/assets/esri/core/workers/chunks/6fc3553c52af6ace926d.js +0 -1
  242. package/assets/esri/core/workers/chunks/7aaa051b51a8e34bbfb0.js +0 -1
  243. package/assets/esri/core/workers/chunks/7dc5aedc964eacd1be5a.js +0 -1
  244. package/assets/esri/core/workers/chunks/7f91e45156bbe88f9a62.js +0 -1
  245. package/assets/esri/core/workers/chunks/8302bffd28cc6720e0fe.js +0 -2
  246. package/assets/esri/core/workers/chunks/8a48a6760c33ed50b650.js +0 -1
  247. package/assets/esri/core/workers/chunks/8d21e2dabc5165f1c8ca.js +0 -1
  248. package/assets/esri/core/workers/chunks/903e1cd8b76eff19ebdf.js +0 -1
  249. package/assets/esri/core/workers/chunks/917c11cb40a7742d7f98.js +0 -1
  250. package/assets/esri/core/workers/chunks/91d133c04ca764d74934.js +0 -1
  251. package/assets/esri/core/workers/chunks/92c4464b67fce6cea134.js +0 -1
  252. package/assets/esri/core/workers/chunks/947f1ea4dbc3e3419ecc.js +0 -1
  253. package/assets/esri/core/workers/chunks/9482a6d7baa24bbf5693.js +0 -1
  254. package/assets/esri/core/workers/chunks/96cec8a02ca96175d602.js +0 -1
  255. package/assets/esri/core/workers/chunks/9902fcd2070c8eb6d043.js +0 -1
  256. package/assets/esri/core/workers/chunks/9b76c8974424a1908e86.js +0 -1
  257. package/assets/esri/core/workers/chunks/9be6827e5756031a56c1.js +0 -1
  258. package/assets/esri/core/workers/chunks/9cff18e6f751d1b3085e.js +0 -1
  259. package/assets/esri/core/workers/chunks/a101152066dd56259619.js +0 -1
  260. package/assets/esri/core/workers/chunks/a2a2c7e274fb32fecffa.js +0 -1
  261. package/assets/esri/core/workers/chunks/a3bf8aa81ee398da5b52.js +0 -1
  262. package/assets/esri/core/workers/chunks/a7a7d3289d4ca95f545f.js +0 -1
  263. package/assets/esri/core/workers/chunks/abb6c76d5dba3559a68e.js +0 -1
  264. package/assets/esri/core/workers/chunks/afeeb11b39e140303b5a.js +0 -1
  265. package/assets/esri/core/workers/chunks/b1a175b3b2d1a7ddde8e.js +0 -1
  266. package/assets/esri/core/workers/chunks/b78f509fd8e95f728178.js +0 -1
  267. package/assets/esri/core/workers/chunks/b858adff7043683fe41c.js +0 -1
  268. package/assets/esri/core/workers/chunks/be1d2c3a61e6447fbbc7.js +0 -1
  269. package/assets/esri/core/workers/chunks/c02ae1d40c1fe95ae6c5.js +0 -1
  270. package/assets/esri/core/workers/chunks/c1189316d24fb4cdb2a0.js +0 -1
  271. package/assets/esri/core/workers/chunks/c53b2be005721591e29b.js +0 -1
  272. package/assets/esri/core/workers/chunks/c82ab4f0908290e70ee9.js +0 -1
  273. package/assets/esri/core/workers/chunks/cc5ec6e99aa09342c704.js +0 -1
  274. package/assets/esri/core/workers/chunks/cd892c9603710d6130a9.js +0 -1
  275. package/assets/esri/core/workers/chunks/d021775cf747556660a5.js +0 -1
  276. package/assets/esri/core/workers/chunks/d633e98b0dfa0490e4de.js +0 -1
  277. package/assets/esri/core/workers/chunks/d79ce047afbc034f6008.js +0 -1
  278. package/assets/esri/core/workers/chunks/d8eca13c127b443141b7.js +0 -1
  279. package/assets/esri/core/workers/chunks/dbc9249dae41096d750d.js +0 -1
  280. package/assets/esri/core/workers/chunks/eb1a86159dbc098f06fe.js +0 -1
  281. package/assets/esri/core/workers/chunks/ec1841e6e498d54012eb.js +0 -1
  282. package/assets/esri/core/workers/chunks/ed1de8b7406269e217b9.js +0 -29
  283. package/assets/esri/core/workers/chunks/ee9eb381e675d2d01260.js +0 -1
  284. package/assets/esri/core/workers/chunks/f2ab8e49c7f17f488aa8.js +0 -1
  285. package/assets/esri/core/workers/chunks/f43a0edf58941e2ac78e.js +0 -1
  286. package/assets/esri/core/workers/chunks/f78acff510ca615d42e4.js +0 -1
  287. package/assets/esri/core/workers/chunks/f7a5c4d22a24e1ac433c.js +0 -1
  288. package/chunks/geometryEngineBase.js +0 -2
  289. package/geometry/geometryAdapters/json.js +0 -2
  290. package/geometry/geometryEngineJSON.js +0 -2
  291. /package/assets/esri/core/workers/chunks/{ad1d06a91121ebfe9162.js.LICENSE.txt → 06c8547521ce9c97b258.js.LICENSE.txt} +0 -0
  292. /package/assets/esri/core/workers/chunks/{d03e7be74c57c3dbf003.js.LICENSE.txt → 17e9324a02b69733307a.js.LICENSE.txt} +0 -0
  293. /package/assets/esri/core/workers/chunks/{0823961e5d0bdedbf8cf.js.LICENSE.txt → 29a20a37e7837142fa6b.js.LICENSE.txt} +0 -0
  294. /package/assets/esri/core/workers/chunks/{8302bffd28cc6720e0fe.js.LICENSE.txt → b82763e9401b16121f8d.js.LICENSE.txt} +0 -0
  295. /package/assets/esri/core/workers/chunks/{186bedc377cc97731ca2.js.LICENSE.txt → ffd5285c7b2c83208f87.js.LICENSE.txt} +0 -0
@@ -1 +1 @@
1
- "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[8521],{69540(e,t,n){var i=n(5482),r=n(69622),s=(n(44208),n(4718)),o=(n(53966),n(97768)),a=n(88620),l=n(64108);const u=Symbol("ClonableMixin"),h=e=>{var t;const n=e;let r=class extends n{constructor(){super(...arguments),this[t]=!0}static{t=u}clone(e){const t=(0,a.oY)(this);(0,o.Lw)(t,"unable to clone instance of non-accessor class");const n=t.metadata,i=t.store,r={},l=new Map;for(const t in n){const o=n[t],a=i?.originOf(t),u=o.clonable;if(o.readOnly||!1===u||7!==a&&0!==a&&5!==a&&4!==a)continue;const h=this[t];let c=null;if("function"==typeof u)c=u(h,e);else if("reference"===u)c=h;else if(c=(0,s.TU)(h,e),null!=h&&null==c)continue;0===a?l.set(t,c):r[t]=c}const u=new(0,Object.getPrototypeOf(this).constructor)(r);if(l.size){const e=(0,a.oY)(u)?.store;if(e)for(const[t,n]of l)e.set(t,n,0)}return u}};return r=(0,i.Cg)([(0,l.$)("esri.core.Clonable")],r),r},c=h(r.A);n.d(t,["OU",0,h,"Pw",0,c])},60999(e,t,n){n.d(t,{DZ:()=>p,Ke:()=>m,Tj:()=>h,UT:()=>f,aD:()=>g,jJ:()=>u});var i=n(5482),r=n(69622),s=n(97768),o=n(17676),a=n(10107),l=n(64108);function u(e,t,n){return(0,o.Lx)(e.map((e,i)=>t.apply(n,[e,i])))}async function h(e,t,n){return(await(0,o.Lx)(e.map((e,i)=>t.apply(n,[e,i])))).map(e=>e.value)}function c(e){return{ok:!0,value:e}}function d(e){return{ok:!1,error:e}}async function m(e){if(null==e)return{ok:!1,error:new Error("no promise provided")};try{return c(await e)}catch(e){return d(e)}}async function p(e){try{return c(await e)}catch(e){return(0,o.QP)(e),d(e)}}function f(e,t){return new y(e,t)}let y=class extends r.A{get value(){return null!=(e=this._result)&&!0===e.ok?e.value:null;var e}get error(){return null!=(e=this._result)&&!1===e.ok?e.error:null;var e}get finished(){return null!=this._result}constructor(e,t){super({}),this._result=null,this._abortHandle=null,this.abort=()=>{this._abortController=(0,s.DC)(this._abortController)},this.remove=this.abort,this._abortController=new AbortController;const{signal:n}=this._abortController;this.promise=e(n),this.promise.then(e=>{this._result=c(e),this._cleanup()},e=>{this._result=d(e),this._cleanup()}),this._abortHandle=(0,o.u7)(t,this.abort)}normalizeCtorArgs(){return{}}destroy(){this.abort()}_cleanup(){this._abortHandle=(0,s.xt)(this._abortHandle),this._abortController=null}};(0,i.Cg)([(0,a.MZ)()],y.prototype,"value",null),(0,i.Cg)([(0,a.MZ)()],y.prototype,"error",null),(0,i.Cg)([(0,a.MZ)()],y.prototype,"finished",null),(0,i.Cg)([(0,a.MZ)()],y.prototype,"promise",void 0),(0,i.Cg)([(0,a.MZ)()],y.prototype,"_result",void 0),y=(0,i.Cg)([(0,l.$)("esri.core.asyncUtils.ReactiveTask")],y);class g{constructor(){this._sequence=Promise.resolve()}async acquire(){let e;this._sequence=new Promise(t=>{e=this._sequence.then(()=>t,()=>t)});const t=await e;return{[Symbol.dispose]:t}}async run(e){const t={stack:[],error:void 0,hasError:!1};try{return(0,i.mS)(t,await this.acquire(),!1),await e()}catch(e){t.error=e,t.hasError=!0}finally{(0,i.hk)(t)}}}},67482(e,t,n){function i(e){return null!==r(e)}function r(e){return function(e){const t=s.exec(e);if(!t?.groups)return null;const n=t.groups,i=+n.year,r=+n.month-1,o=+n.day,a=+(n.hours??"0"),l=+(n.minutes??"0"),u=+(n.seconds??"0");if(a>23)return null;if(l>59)return null;if(u>59)return null;const h=n.ms??"0",c=h?+h.padEnd(3,"0").slice(0,3):0;let d;if(n.isUTC||!n.offsetSign)d=Date.UTC(i,r,o,a,l,u,c);else{const e=+n.offsetHours,t=+n.offsetMinutes;d=6e4*("+"===n.offsetSign?-1:1)*(60*e+t)+Date.UTC(i,r,o,a,l,u,c)}return Number.isNaN(d)?null:d}(e)??function(e){const t=new Date(e),n=t.getTime();return Number.isNaN(n)?null:e.toLowerCase()===t.toUTCString().toLowerCase()?n:null}(e)??function(e){if(!o.test(e))return null;const t=new Date(e);return Number.isNaN(t.getTime())?null:t.getTime()-6e4*t.getTimezoneOffset()}(e)}n.d(t,{C:()=>i,_:()=>r});const s=/^(?:(?<year>-?\d{4,})-(?<month>\d{2})-(?<day>\d{2}))(?:T(?<hours>\d{2}):(?<minutes>\d{2}):(?<seconds>\d{2})(?:\.(?<ms>\d+))?)?(?:(?<isUTC>Z)|(?:(?<offsetSign>\+|-)(?<offsetHours>\d{2}):(?<offsetMinutes>\d{2})))?$/,o=/^((\d{1,2}[/-]\d{1,2}[/-]\d{4})|(\d{4}[/-]\d{1,2}[/-]\d{1,2}))( \d{1,2}:\d{1,2}:\d{1,2}( ((AM)|(PM)))?)?$/i},75503(e,t,n){n.d(t,{wq:()=>a});var i=n(4576),r=n(21818),s=(n(44208),n(15142)),o=n(11006);class a{constructor(e=9,t){this._compareMinX=d,this._compareMinY=m,this._toBBox=e=>e,this._maxEntries=Math.max(4,e||9),this._minEntries=Math.max(2,Math.ceil(.4*this._maxEntries)),t&&("function"==typeof t?this._toBBox=t:this._initFormat(t)),this.clear()}destroy(){this.clear(),b.prune(),S.prune(),I.prune(),v.prune()}all(e){l(this._data,e)}search(e,t){let n=this._data;const i=this._toBBox;if(x(e,n))for(b.clear();n;){for(let r=0,s=n.children.length;r<s;r++){const s=n.children[r],o=n.leaf?i(s):s;x(e,o)&&(n.leaf?t(s):_(e,o)?l(s,t):b.push(s))}n=b.pop()}}collides(e){let t=this._data;const n=this._toBBox;if(!x(e,t))return!1;for(b.clear();t;){for(let i=0,r=t.children.length;i<r;i++){const r=t.children[i],s=t.leaf?n(r):r;if(x(e,s)){if(t.leaf||_(e,s))return!0;b.push(r)}}t=b.pop()}return!1}load(e){if(!e.length)return this;if(e.length<this._minEntries){for(let t=0,n=e.length;t<n;t++)this.insert(e[t]);return this}let t=this._build(e.slice(),0,e.length-1,0);if(this._data.children.length)if(this._data.height===t.height)this._splitRoot(this._data,t);else{if(this._data.height<t.height){const e=this._data;this._data=t,t=e}this._insert(t,this._data.height-t.height-1,!0)}else this._data=t;return this}insert(e){return e&&this._insert(e,this._data.height-1),this}clear(){return this._data=new C([]),this}remove(e){if(!e)return this;let t,n=this._data,s=null,o=0,a=!1;const l=this._toBBox(e);for(I.clear(),v.clear();n||I.length>0;){if(n||(n=I.pop(),s=I.data[I.length-1],o=v.pop()??0,a=!0),n.leaf&&(t=(0,i.qh)(n.children,(0,r.z)(e),n.children.length,n.indexHint),-1!==t))return n.children.splice(t,1),I.push(n),this._condense(I),this;a||n.leaf||!_(n,l)?s?(o++,n=s.children[o],a=!1):n=null:(I.push(n),v.push(o),o=0,s=n,n=n.children[0])}return this}toJSON(){return this._data}fromJSON(e){return this._data=e,this}_build(e,t,n,i){const r=n-t+1;let s=this._maxEntries;if(r<=s){const i=new C(e.slice(t,n+1));return u(i,this._toBBox),i}i||(i=Math.ceil(Math.log(r)/Math.log(s)),s=Math.ceil(r/s**(i-1)));const o=new F([]);o.height=i;const a=Math.ceil(r/s),l=a*Math.ceil(Math.sqrt(s));w(e,t,n,l,this._compareMinX);for(let r=t;r<=n;r+=l){const t=Math.min(r+l-1,n);w(e,r,t,a,this._compareMinY);for(let n=r;n<=t;n+=a){const r=Math.min(n+a-1,t);o.children.push(this._build(e,n,r,i-1))}}return u(o,this._toBBox),o}_insert(e,t,n){const i=this._toBBox,r=n?e:i(e);I.clear();const s=function(e,t,n,i){for(;i.push(t),!0!==t.leaf&&i.length-1!==n;){let n,i=1/0,r=1/0;for(let s=0,o=t.children.length;s<o;s++){const o=t.children[s],a=p(o),l=y(e,o)-a;l<r?(r=l,i=a<i?a:i,n=o):l===r&&a<i&&(i=a,n=o)}t=n||t.children[0]}return t}(r,this._data,t,I);for(s.children.push(e),c(s,r);t>=0&&I.data[t].children.length>this._maxEntries;)this._split(I,t),t--;!function(e,t,n){for(let i=n;i>=0;i--)c(t.data[i],e)}(r,I,t)}_split(e,t){const n=e.data[t],i=n.children.length,r=this._minEntries;this._chooseSplitAxis(n,r,i);const s=this._chooseSplitIndex(n,r,i);if(!s)return;const o=n.children.splice(s,n.children.length-s),a=n.leaf?new C(o):new F(o);a.height=n.height,u(n,this._toBBox),u(a,this._toBBox),t?e.data[t-1].children.push(a):this._splitRoot(n,a)}_splitRoot(e,t){this._data=new F([e,t]),this._data.height=e.height+1,u(this._data,this._toBBox)}_chooseSplitIndex(e,t,n){let i,r,s;i=r=1/0;for(let o=t;o<=n-t;o++){const t=h(e,0,o,this._toBBox),a=h(e,o,n,this._toBBox),l=g(t,a),u=p(t)+p(a);l<i?(i=l,s=o,r=u<r?u:r):l===i&&u<r&&(r=u,s=o)}return s}_chooseSplitAxis(e,t,n){const i=e.leaf?this._compareMinX:d,r=e.leaf?this._compareMinY:m;this._allDistMargin(e,t,n,i)<this._allDistMargin(e,t,n,r)&&e.children.sort(i)}_allDistMargin(e,t,n,i){e.children.sort(i);const r=this._toBBox,s=h(e,0,t,r),o=h(e,n-t,n,r);let a=f(s)+f(o);for(let i=t;i<n-t;i++){const t=e.children[i];c(s,e.leaf?r(t):t),a+=f(s)}for(let i=n-t-1;i>=t;i--){const t=e.children[i];c(o,e.leaf?r(t):t),a+=f(o)}return a}_condense(e){for(let t=e.length-1;t>=0;t--){const n=e.data[t];if(0===n.children.length)if(t>0){const r=e.data[t-1],s=r.children;s.splice((0,i.qh)(s,n,s.length,r.indexHint),1)}else this.clear();else u(n,this._toBBox)}}_initFormat(e){const t=["return a"," - b",";"];this._compareMinX=new Function("a","b",t.join(e[0])),this._compareMinY=new Function("a","b",t.join(e[1])),this._toBBox=new Function("a","return {minX: a"+e[0]+", minY: a"+e[1]+", maxX: a"+e[2]+", maxY: a"+e[3]+"};")}}function l(e,t){let n=e;for(S.clear();n;){if(!0===n.leaf)for(const e of n.children)t((0,r.z)(e));else S.pushArray(n.children);n=S.pop()??null}}function u(e,t){h(e,0,e.children.length,t,e)}function h(e,t,n,i,r){r||(r=new C([])),r.minX=1/0,r.minY=1/0,r.maxX=-1/0,r.maxY=-1/0;for(let s,o=t;o<n;o++)s=e.children[o],c(r,e.leaf?i(s):s);return r}function c(e,t){e.minX=Math.min(e.minX,t.minX),e.minY=Math.min(e.minY,t.minY),e.maxX=Math.max(e.maxX,t.maxX),e.maxY=Math.max(e.maxY,t.maxY)}function d(e,t){return e.minX-t.minX}function m(e,t){return e.minY-t.minY}function p(e){return(e.maxX-e.minX)*(e.maxY-e.minY)}function f(e){return e.maxX-e.minX+(e.maxY-e.minY)}function y(e,t){return(Math.max(t.maxX,e.maxX)-Math.min(t.minX,e.minX))*(Math.max(t.maxY,e.maxY)-Math.min(t.minY,e.minY))}function g(e,t){const n=Math.max(e.minX,t.minX),i=Math.max(e.minY,t.minY),r=Math.min(e.maxX,t.maxX),s=Math.min(e.maxY,t.maxY);return Math.max(0,r-n)*Math.max(0,s-i)}function _(e,t){return e.minX<=t.minX&&e.minY<=t.minY&&t.maxX<=e.maxX&&t.maxY<=e.maxY}function x(e,t){return t.minX<=e.maxX&&t.minY<=e.maxY&&t.maxX>=e.minX&&t.maxY>=e.minY}function w(e,t,n,i,r){const s=[t,n];for(;s.length;){const t=s.pop(),n=s.pop();if(t-n<=i)continue;const a=n+Math.ceil((t-n)/i/2)*i;(0,o.q)(e,a,n,t,r),s.push(n,a,a,t)}}const b=new s.A,S=new s.A,I=new s.A,v=new s.A({deallocator:void 0});class M{constructor(){this.minX=1/0,this.minY=1/0,this.maxX=-1/0,this.maxY=-1/0}}class T extends M{constructor(){super(...arguments),this.height=1,this.indexHint=new i.vW}}class C extends T{constructor(e){super(),this.children=e,this.leaf=!0}}class F extends T{constructor(e){super(),this.children=e,this.leaf=!1}}},69397(e,t,n){n.d(t,{Qf:()=>a,Qh:()=>s,lM:()=>r});var i=n(34275);function r(e){if(!e)return 0;let t=u;for(const n in e)e.hasOwnProperty(n)&&(t+=o(e[n],!1));return t}function s(e){if(!e)return 0;if("number"==typeof e[0])return a(e);if(Array.isArray(e))return function(e){const t=e.length;if(0===t||"number"==typeof e[0])return l(e,8);let n=h;for(let i=0;i<t;i++)n+=o(e[i]);return n}(e);let t=u;for(const n in e)e.hasOwnProperty(n)&&(t+=o(e[n]));return t}function o(e,t=!0){switch(typeof e){case"object":return t?s(e):u;case"string":return function(e){return 32+e.length}(e);case"number":return 16;case"boolean":return 4;default:return 8}}function a(...e){return e.reduce((e,t)=>e+(t?(0,i.iu)(t)?t.byteLength+c:Array.isArray(t)?l(t,16):0:0),0)}function l(e,t){return h+e.length*t}const u=32,h=16,c=145},14607(e,t,n){n.d(t,{B:()=>u,GP:()=>a,qg:()=>h});var i=n(799),r=n(73444);const s={ar:[".",","],bg:[","," "],bs:[",","."],ca:[",","."],cs:[","," "],da:[",","."],de:[",","."],"de-ch":[".","’"],el:[",","."],en:[".",","],"en-au":[".",","],es:[",","."],"es-mx":[".",","],et:[","," "],fi:[","," "],fr:[","," "],"fr-ch":[","," "],he:[".",","],hi:[".",",","#,##,##0.###"],hr:[",","."],hu:[","," "],id:[",","."],it:[",","."],"it-ch":[".","’"],ja:[".",","],ko:[".",","],lt:[","," "],lv:[","," "],mk:[",","."],nb:[","," "],nl:[",","."],no:[","," "],pl:[","," "],pt:[",","."],"pt-pt":[","," "],ro:[",","."],ru:[","," "],sk:[","," "],sl:[",","."],sr:[",","."],sv:[","," "],th:[".",","],tr:[",","."],uk:[","," "],vi:[",","."],zh:[".",","]};function o(e=(0,r.JK)()){let t=(e=e.toLowerCase())in s;if(!t){const n=e.split("-");n.length>1&&n[0]in s&&(e=n[0],t=!0),t||(e="en")}const[n,i,o="#,##0.###"]=s[e];return{decimal:n,group:i,pattern:o}}function a(e,t){const n=o((t={...t}).locale);t.customs=n;const i=t.pattern||n.pattern;return isNaN(e)||Math.abs(e)===1/0?null:function(e,t,n){const i=(n=n||{}).customs.group,r=n.customs.decimal,s=t.split(";"),o=s[0];if((t=s[e<0?1:0]||"-"+o).includes("%"))e*=100;else if(t.includes("‰"))e*=1e3;else{if(t.includes("¤"))throw new Error("currency notation not supported");if(t.includes("E"))throw new Error("exponential notation not supported")}const a=l,u=o.match(a);if(!u)throw new Error("unable to find a number expression in pattern: "+t);return!1===n.fractional&&(n.places=0),t.replace(a,function(e,t,n){!0===(n=n||{}).places&&(n.places=0),n.places===1/0&&(n.places=6);const i=t.split("."),r="string"==typeof n.places&&n.places.indexOf(",");let s=n.places;r?s=n.places.slice(r+1):+s>=0||(s=(i[1]||[]).length),n.round<0||(e=Number(e.toFixed(Number(s))));const o=String(Math.abs(e)).split("."),a=o[1]||"";if(i[1]||n.places){r&&(n.places=n.places.slice(0,Math.max(0,r)));const e=void 0!==n.places?n.places:i[1]&&i[1].lastIndexOf("0")+1;+e>a.length&&(o[1]=a.padEnd(Number(e),"0")),+s<a.length&&(o[1]=a.slice(0,Math.max(0,Number(s))))}else o[1]&&o.pop();const l=i[0].replace(",","");let u=l.indexOf("0");-1!==u&&(u=l.length-u,u>o[0].length&&(o[0]=o[0].padStart(u,"0")),l.includes("#")||(o[0]=o[0].slice(-u)));let h,c,d=i[0].lastIndexOf(",");if(-1!==d){h=i[0].length-d-1;const e=i[0].slice(0,d);d=e.lastIndexOf(","),-1!==d&&(c=e.length-d-1)}const m=[];for(let e=o[0];e;){const t=e.length-h;m.push(t>0?e.slice(Math.max(0,t)):e),e=t>0?e.slice(0,t):"",c&&(h=c,c=void 0)}return o[0]=m.reverse().join(n.group||","),o.join(n.decimal||".")}(e,u[0],{decimal:r,group:i,places:n.places,round:n.round}))}(e,i,t)}const l=/[#0,]*[#0](?:\.0*#*)?/;function u(e){const t=o((e=e||{}).locale),n=e.pattern||t.pattern,r=t.group,s=t.decimal;let a=1;if(n.includes("%"))a/=100;else if(n.includes("‰"))a/=1e3;else if(n.includes("¤"))throw new Error("currency notation not supported");const u=n.split(";");1===u.length&&u.push("-"+u[0]);const h=d(u,t=>(t="(?:"+(0,i.Cj)(t,".")+")").replace(l,t=>{const n={signed:!1,separator:e.strict?r:[r,""],fractional:e.fractional,decimal:s,exponent:!1},i=t.split(".");let o=e.places;1===i.length&&1!==a&&(i[1]="###"),1===i.length||0===o?n.fractional=!1:(void 0===o&&(o=e.pattern?i[1].lastIndexOf("0")+1:1/0),o&&null==e.fractional&&(n.fractional=!0),!e.places&&+o<i[1].length&&(o+=","+i[1].length),n.places=o);const l=i[0].split(",");return l.length>1&&(n.groupSize=l.pop().length,l.length>1&&(n.groupSize2=l.pop().length)),"("+function(e){"places"in(e=e||{})||(e.places=1/0),"string"!=typeof e.decimal&&(e.decimal="."),"fractional"in e&&!String(e.places).startsWith("0")||(e.fractional=[!0,!1]),"exponent"in e||(e.exponent=[!0,!1]),"eSigned"in e||(e.eSigned=[!0,!1]);const t=c(e),n=d(e.fractional,t=>{let n="";return t&&0!==e.places&&(n="\\"+e.decimal,e.places===1/0?n="(?:"+n+"\\d+)?":n+="\\d{"+e.places+"}"),n},!0);let i=t+n;return n&&(i="(?:(?:"+i+")|(?:"+n+"))"),i+d(e.exponent,t=>t?"([eE]"+c({signed:e.eSigned})+")":"")}(n)+")"}),!0);return{regexp:h.replaceAll(/[\xa0 ]/g,"[\\s\\xa0]"),group:r,decimal:s,factor:a}}function h(e,t){const n=u(t),i=new RegExp("^"+n.regexp+"$").exec(e);if(!i)return NaN;let r=i[1];if(!i[1]){if(!i[2])return NaN;r=i[2],n.factor*=-1}return r=r.replaceAll(new RegExp("["+n.group+"\\s\\xa0]","g"),"").replace(n.decimal,"."),Number(r)*n.factor}function c(e){return"signed"in(e=e||{})||(e.signed=[!0,!1]),"separator"in e?"groupSize"in e||(e.groupSize=3):e.separator="",d(e.signed,e=>e?"[-+]":"",!0)+d(e.separator,t=>{if(!t)return"(?:\\d+)";" "===(t=(0,i.Cj)(t))?t="\\s":" "===t&&(t="\\s\\xa0");const n=e.groupSize,r=e.groupSize2;if(r){const e="(?:0|[1-9]\\d{0,"+(r-1)+"}(?:["+t+"]\\d{"+r+"})*["+t+"]\\d{"+n+"})";return n-r>0?"(?:"+e+"|(?:0|[1-9]\\d{0,"+(n-1)+"}))":e}return"(?:0|[1-9]\\d{0,"+(n-1)+"}(?:["+t+"]\\d{"+n+"})*)"},!0)}const d=(e,t,n)=>{if(!Array.isArray(e))return t(e);const i=[];for(let n=0;n<e.length;n++)i.push(t(e[n]));return m(i.join("|"),Boolean(n))},m=(e,t)=>"("+(t?"?:":"")+e+")"},36708(e,t,n){n.d(t,{C_:()=>d,on:()=>c,wB:()=>l,z7:()=>u});var i=n(37955),r=n(36563),s=n(97768),o=n(17676),a=n(14012);function l(e,t,n={}){return h(e,t,n,m)}function u(e,t,n={}){return h(e,t,n,p)}function h(e,t,n={},i){let r=null;const o=n.once?(e,n)=>{i(e)&&((0,s.xt)(r),t(e,n))}:(e,n)=>{i(e)&&t(e,n)};if(r=(0,a.Cn)(e,o,n.sync,n.equals),n.initial){const t=e();o(t,t)}return r}function c(e,t,n,o={}){let a=null,u=null,h=null;function c(){a&&u&&(u.remove(),o.onListenerRemove?.(a),a=null,u=null)}function d(e){o.once&&o.once&&(0,s.xt)(h),n(e)}const m=l(e,(e,n)=>{c(),(0,i.wb)(e)&&(a=e,u=(0,i.on)(e,t,d),o.onListenerAdd?.(e))},{sync:o.sync,initial:!0});return h=(0,r.hA)(()=>{m.remove(),c()}),h}function d(e,t){return function(e,t,n){if((0,o.G4)(n))return Promise.reject((0,o.NK)());const i=e();if(t?.(i))return Promise.resolve(i);let a=null;function l(){a=(0,s.xt)(a)}return new Promise((i,s)=>{a=(0,r.vE)([(0,o.u7)(n,()=>{l(),s((0,o.NK)())}),h(e,e=>{l(),i(e)},{sync:!1,once:!0},t??m)])})}(e,p,t)}function m(e){return!0}function p(e){return!!e}n(80559),n.d(t,["OH",0,{sync:!0},"Vh",0,{initial:!0},"pc",0,{sync:!0,initial:!0}])},88930(e,t,n){n.d(t,{S1:()=>a,lL:()=>u,mi:()=>l,rb:()=>h,t:()=>c});var i=n(97770),r=(n(98623),n(92647));const s=/^(?<hh>([01][0-9])|(2[0-3])):(?<mm>[0-5][0-9])(:(?<ss>[0-5][0-9]))?(\.(?<ms>\d+))?$/,o={milliseconds:1,seconds:1e3,minutes:6e4,hours:36e5,days:864e5,weeks:6048e5,months:26784e5,years:31536e6,decades:31536e7,centuries:31536e8,unknown:NaN};function a(e,t,n,s="system"){if("unknown"===n)return e;const o=new r.oh((0,i.wj)(s)),a=r.c9.fromJSDate(e,{zone:o}),l="decades"===n||"centuries"===n?"year":function(e){switch(e){case"milliseconds":return"millisecond";case"seconds":return"second";case"minutes":return"minute";case"hours":return"hour";case"days":return"day";case"weeks":return"week";case"months":return"month";case"years":return"year"}}(n);return"decades"===n&&(t*=10),"centuries"===n&&(t*=100),a.plus({[l]:t}).toJSDate()}function l(e,t,n="milliseconds"){const i=e.getTime(),r=c(t,n,"milliseconds");return new Date(i+r)}function u(e,t,n="system"){const{unit:s}=t,o=Math.max(1,Math.trunc(t.value)),a=new r.oh((0,i.wj)(n)),l=r.c9.fromJSDate(e,{zone:a}),u=e=>e-e%o;switch(s){case"milliseconds":return l.startOf("second").plus({millisecond:u(l.millisecond)}).toJSDate();case"seconds":return l.startOf("minute").plus({second:u(l.second)}).toJSDate();case"minutes":return l.startOf("hour").plus({minute:u(l.minute)}).toJSDate();case"hours":return l.startOf("day").plus({hour:u(l.hour)}).toJSDate();case"days":return l.startOf("month").plus({day:u(l.day-1)}).toJSDate();case"weeks":{const e=l.startOf("year").startOf("week"),t=Math.floor(l.diff(e,"weeks").weeks);return e.plus({week:u(t)}).toJSDate()}case"months":return l.startOf("year").plus({month:u(l.month-1)}).toJSDate();case"years":case"decades":case"centuries":{const e=l.startOf("year"),t=("decades"===s?10:"centuries"===s?100:1)*o,n=e.year-e.year%t;return e.set({year:n}).toJSDate()}case"unknown":return e}}function h(e){const t=s.exec(e);if(!t)return null;const{hh:n,mm:i,ss:r,ms:a}=t.groups;return Number(n)*o.hours+Number(i)*o.minutes+Number(r||0)*o.seconds+Number(a||0)}function c(e,t,n){return 0===e?0:e*o[t]/o[n]}},48526(e,t,n){n.d(t,{A:()=>y});var i,r=n(5482),s=n(4576),o=n(4718),a=n(91429),l=n(5443),u=n(91075),h=n(86738),c=n(16930),d=n(90634),m=n(47610),p=n(56993),f=n(43937);let y=i=class extends u.A{constructor(e){super(function(e){if(!e)return;let{points:t,hasM:n,hasZ:i,spatialReference:r}=e;switch(t??=[],t?.at(0)?.length){case 4:i??=!0,n??=!0;break;case 3:i??=!0!==n,n??=!i;break;default:i??=!1,n??=!1}return r??=c.A.WGS84,{...e,hasM:n,hasZ:i,points:t,spatialReference:r}}(e)),this.points=[],this.type="multipoint"}get cache(){return this.commitProperty("points"),this.commitProperty("hasZ"),this.commitProperty("hasM"),this.commitProperty("spatialReference"),{}}get extent(){const e=(0,d.ge)(this);return e?new l.A({...e,spatialReference:this.spatialReference}):null}writePoints(e,t){t.points=(0,o.o8)(this.points)}clone(){const{points:e,spatialReference:t,hasM:n,hasZ:r}=this;return new i({points:(0,o.o8)(e),spatialReference:t.clone(),hasM:n,hasZ:r})}equals(e){if(this===e)return!0;if(null==e)return!1;const t=this.spatialReference,n=e.spatialReference;return null!=t==(null!=n)&&!(null!=t&&null!=n&&!t.equals(n))&&(0,s.aI)(this.points,e.points,m.v6)}addPoint(e){return(0,p.h)(this,e),Array.isArray(e)?this.points.push(e):this.points.push(e.toArray()),this.notifyChange("points"),this}getPoint(e){if(!this._validateInputs(e))return null;const t=this.points[e],n={x:t[0],y:t[1],spatialReference:this.spatialReference};let i=2;return this.hasZ&&(n.z=t[2],i=3),this.hasM&&(n.m=t[i]),new h.A(n)}removePoint(e){if(!this._validateInputs(e))return null;const t=new h.A(this.points.splice(e,1)[0],this.spatialReference);return this.notifyChange("points"),t}setPoint(e,t){return this._validateInputs(e)?((0,p.h)(this,t),Array.isArray(t)||(t=t.toArray()),this.points[e]=t,this.notifyChange("points"),this):this}toJSON(e){return this.write({},e)}_validateInputs(e){return null!=e&&e>=0&&e<this.points.length}};(0,r.Cg)([(0,a.MZ)({readOnly:!0})],y.prototype,"cache",null),(0,r.Cg)([(0,a.MZ)({readOnly:!0})],y.prototype,"extent",null),(0,r.Cg)([(0,a.MZ)({type:[[Number]],json:{write:{isRequired:!0}}})],y.prototype,"points",void 0),(0,r.Cg)([(0,f.K)("points")],y.prototype,"writePoints",null),y=i=(0,r.Cg)([(0,a.$K)("esri.geometry.Multipoint")],y),y.prototype.toJSON.isDefaultToJSON=!0},82799(e,t,n){n.d(t,{A:()=>p});var i,r=n(5482),s=n(4718),o=n(91429),a=n(5443),l=n(91075),u=n(86738),h=n(16930),c=n(90634),d=n(56993),m=n(43937);let p=i=class extends l.A{constructor(e){super(function(e){if(!e)return;let{paths:t,hasM:n,hasZ:i,spatialReference:r}=e;switch(t??=[],function(e){return"number"==typeof e[0]?.[0]}(t)&&(t=[t]),t[0]?.[0]?.length){case 4:i??=!0,n??=!0;break;case 3:i??=!0!==n,n??=!i;break;default:i??=!1,n??=!1}return r??=h.A.WGS84,{...e,hasM:n,hasZ:i,paths:t,spatialReference:r}}(e)),this.curvePaths=void 0,this.paths=[],this.type="polyline"}get cache(){return this.commitProperty("curvePaths"),this.commitProperty("hasM"),this.commitProperty("hasZ"),this.commitProperty("paths"),this.commitProperty("spatialReference"),{}}writeCurvePaths(e,t){t.curvePaths=(0,s.o8)(e)}get extent(){const e=(0,c.Z3)(this),{spatialReference:t}=this;return e?new a.A({...e,spatialReference:t}):null}writePaths(e,t){t.paths=(0,s.o8)(this.paths)}addPath(e){if(!e)return;const t=this.paths,n=t.length;if(function(e){return!Array.isArray(e[0])}(e)){const i=[];for(let t=0,n=e.length;t<n;t++)i[t]=e[t].toArray();t[n]=i}else t[n]=e.slice();return this.notifyChange("paths"),this}clone(){const e=new i;return e.spatialReference=this.spatialReference,e.paths=(0,s.o8)(this.paths),e.curvePaths=(0,s.o8)(this.curvePaths),e.hasZ=this.hasZ,e.hasM=this.hasM,e}getPoint(e,t){if(!this._validateInputs(e,t))return null;const n=this.paths[e][t],i=this.hasZ,r=this.hasM;return i&&!r?new u.A(n[0],n[1],n[2],void 0,this.spatialReference):r&&!i?new u.A(n[0],n[1],void 0,n[2],this.spatialReference):i&&r?new u.A(n[0],n[1],n[2],n[3],this.spatialReference):new u.A(n[0],n[1],this.spatialReference)}insertPoint(e,t,n){return this._validateInputs(e,t,!0)?((0,d.h)(this,n),Array.isArray(n)||(n=n.toArray()),this.paths[e].splice(t,0,n),this.notifyChange("paths"),this):this}removePath(e){if(!this._validateInputs(e,null))return null;const t=this.paths.splice(e,1)[0],n=this.spatialReference,i=t.map(e=>new u.A(e,n));return this.notifyChange("paths"),i}removePoint(e,t){if(!this._validateInputs(e,t))return null;const n=new u.A(this.paths[e].splice(t,1)[0],this.spatialReference);return this.notifyChange("paths"),n}setPoint(e,t,n){return this._validateInputs(e,t)?((0,d.h)(this,n),Array.isArray(n)||(n=n.toArray()),this.paths[e][t]=n,this.notifyChange("paths"),this):this}_validateInputs(e,t,n=!1){if(null==e||e<0||e>=this.paths.length)return!1;if(null!=t){const i=this.paths[e];if(n&&(t<0||t>i.length))return!1;if(!n&&(t<0||t>=i.length))return!1}return!0}toJSON(e){return this.write({},e)}};(0,r.Cg)([(0,o.MZ)({readOnly:!0})],p.prototype,"cache",null),(0,r.Cg)([(0,o.MZ)({json:{write:!0,origins:{"portal-item":{write:!1},"web-map":{write:!1},"web-scene":{write:!1}}}})],p.prototype,"curvePaths",void 0),(0,r.Cg)([(0,m.K)("curvePaths")],p.prototype,"writeCurvePaths",null),(0,r.Cg)([(0,o.MZ)({readOnly:!0})],p.prototype,"extent",null),(0,r.Cg)([(0,o.MZ)({type:[[[Number]]],json:{write:{isRequired:!0}}})],p.prototype,"paths",void 0),(0,r.Cg)([(0,m.K)("paths")],p.prototype,"writePaths",null),p=i=(0,r.Cg)([(0,o.$K)("esri.geometry.Polyline")],p),p.prototype.toJSON.isDefaultToJSON=!0},97770(e,t,n){n.d(t,{Ey:()=>E,F8:()=>N,J2:()=>C,Yq:()=>A,_m:()=>F,iS:()=>B,wj:()=>O});var i=n(66552),r=n(73444),s=n(98623),o=n(92647);const a={dateStyle:void 0,year:void 0,month:void 0,day:void 0,weekday:void 0},l={timeStyle:void 0,hour12:void 0,hourCycle:void 0,hour:void 0,minute:void 0,second:void 0},u={timeZone:"UTC"},h={year:"numeric",month:"numeric",day:"numeric"},c={year:"numeric",month:"long",day:"numeric"},d={year:"numeric",month:"short",day:"numeric"},m={year:"numeric",month:"long",weekday:"long",day:"numeric"},p={hour:"numeric",minute:"numeric"},f={...p,second:"numeric"},y={hourCycle:"h23"},g={...p,...y},_={...f,...y},x={"short-date":h,"short-date-short-time":{...h,...p},"short-date-short-time-24":{...h,...g},"short-date-long-time":{...h,...f},"short-date-long-time-24":{...h,..._},"short-date-le":h,"short-date-le-short-time":{...h,...p},"short-date-le-short-time-24":{...h,...g},"short-date-le-long-time":{...h,...f},"short-date-le-long-time-24":{...h,..._},"long-month-day-year":c,"long-month-day-year-short-time":{...c,...p},"long-month-day-year-short-time-24":{...c,...g},"long-month-day-year-long-time":{...c,...f},"long-month-day-year-long-time-24":{...c,..._},"day-short-month-year":d,"day-short-month-year-short-time":{...d,...p},"day-short-month-year-short-time-24":{...d,...g},"day-short-month-year-long-time":{...d,...f},"day-short-month-year-long-time-24":{...d,..._},"long-date":m,"long-date-short-time":{...m,...p},"long-date-short-time-24":{...m,...g},"long-date-long-time":{...m,...f},"long-date-long-time-24":{...m,..._},"long-month-year":{month:"long",year:"numeric"},"short-month-year":{month:"short",year:"numeric"},year:{year:"numeric"},"short-time":p,"long-time":f},w=(0,i.O)()({shortDate:"short-date",shortDateShortTime:"short-date-short-time",shortDateShortTime24:"short-date-short-time-24",shortDateLongTime:"short-date-long-time",shortDateLongTime24:"short-date-long-time-24",shortDateLE:"short-date-le",shortDateLEShortTime:"short-date-le-short-time",shortDateLEShortTime24:"short-date-le-short-time-24",shortDateLELongTime:"short-date-le-long-time",shortDateLELongTime24:"short-date-le-long-time-24",longMonthDayYear:"long-month-day-year",longMonthDayYearShortTime:"long-month-day-year-short-time",longMonthDayYearShortTime24:"long-month-day-year-short-time-24",longMonthDayYearLongTime:"long-month-day-year-long-time",longMonthDayYearLongTime24:"long-month-day-year-long-time-24",dayShortMonthYear:"day-short-month-year",dayShortMonthYearShortTime:"day-short-month-year-short-time",dayShortMonthYearShortTime24:"day-short-month-year-short-time-24",dayShortMonthYearLongTime:"day-short-month-year-long-time",dayShortMonthYearLongTime24:"day-short-month-year-long-time-24",longDate:"long-date",longDateShortTime:"long-date-short-time",longDateShortTime24:"long-date-short-time-24",longDateLongTime:"long-date-long-time",longDateLongTime24:"long-date-long-time-24",longMonthYear:"long-month-year",shortMonthYear:"short-month-year",year:"year"}),b={ar:"ar-u-nu-latn-ca-gregory",nn:"no-NN"},S=new Intl.DateTimeFormat("bs",{month:"long"}).formatToParts(new Date(2025,2)),I=S.find(({type:e})=>"month"===e)?.value.toLowerCase();function v(){const e=(0,r.lR)();return(e&&b[e])??(0,r.QC)()}"mart"!==I&&(b.bs="sr-Latn-CS");let M=new WeakMap;const T=x["short-date-short-time"];function C(e){return x[e]}function F(e){const{dateStyle:t,timeStyle:n,hour12:i,year:r,month:s}=e,o={};return t?o.dateStyle=t:r&&(o.year=r,o.month=s||void 0),n&&!o.year&&(o.timeStyle=n,o.hour12="auto"===i?void 0:"always"===i),o}function A(e,t=T){return function(e){let t=M.get(e);if(!t){const n=v(),i=O(e.timeZone??"system"),r={...e,timeZone:i};t=new Intl.DateTimeFormat(n,r),M.set(e,t)}return t}(t).format(e)}function B(e,t=T){return A(new Date(e),{...t,...u,...l})}function N(e,t=T){return A(new Date(`1970-01-01T${e}Z`),{...t,...u,...a})}function E(e,t=T){const n=o.c9.fromISO(e,{setZone:!0});if(!n.isValid)return e;if(t.timeZone)return A(n.toJSDate(),t);const i=0===n.offset?"UTC":t.timeZone,r={...t,timeZone:i};return n.toLocaleString(r,{locale:v()})}function O(e){switch(e){case"system":return s.N;case s.L:return"UTC";default:return e}}(0,r.Ml)(()=>{M=new WeakMap}),n.d(t,["_v",0,w])},73444(e,t,n){n.d(t,{JK:()=>l,Ml:()=>y,QC:()=>c,lR:()=>h,oQ:()=>p});var i=n(36563);let r;n(44208);const s=globalThis.esriConfig?.locale,o=globalThis.document?.documentElement;function a(){const e=o?.getAttribute("lang"),t=globalThis.navigator?.language;return s??e??t??"en"}function l(){return void 0===r&&(r=a()),r}const u=/^(?<language>[a-z]{2,3})(?:-(?<extlang>[a-z]{3}))?(?:-[A-Z][a-z]{3})?(?:-(?<region>[A-Z]{2}|\d{3}))?(?:-.*)?$/;function h(e=l()){return d(e)?.language}function c(e=l()){const t=d(e);return t?.language&&t?.extlang?e.replace(`${t.language}-`,""):e}function d(e=l()){return u.exec(e)?.groups}const m=[];function p(e){return m.push(e),(0,i.hA)(()=>{m.splice(m.indexOf(e),1)})}new Map;const f=[];function y(e){return f.push(e),(0,i.hA)(()=>f.splice(f.indexOf(e),1))}function g(){const e=a();r!==e&&([...f].forEach(t=>t(e)),r=e,[...m].forEach(t=>t(e)))}globalThis.addEventListener?.("languagechange",g),o&&new MutationObserver(()=>{g()}).observe(o,{attributeFilter:["lang"]})},6518(e,t,n){n.d(t,{F:()=>a});var i=n(44208),r=n(75503),s=n(19419);const o={minX:0,minY:0,maxX:0,maxY:0};class a{constructor(){this._indexInvalid=!1,this._boundsToLoad=[],this._boundsById=new Map,this._idByBounds=new Map,this._index=new r.wq(9,(0,i.A)("esri-csp-restrictions")?e=>({minX:e[0],minY:e[1],maxX:e[2],maxY:e[3]}):["[0]","[1]","[2]","[3]"]),this._loadIndex=()=>{if(this._indexInvalid){const e=new Array(this._idByBounds.size);let t=0;this._idByBounds.forEach((n,i)=>{e[t++]=i}),this._indexInvalid=!1,this._index.clear(),this._index.load(e)}else this._boundsToLoad.length&&(this._index.load(Array.from(new Set(this._boundsToLoad.filter(e=>this._idByBounds.has(e))))),this._boundsToLoad.length=0)}}get fullBounds(){if(!this._boundsById.size)return null;const e=(0,s.Ie)();for(const t of this._boundsById.values())t&&(e[0]=Math.min(t[0],e[0]),e[1]=Math.min(t[1],e[1]),e[2]=Math.max(t[2],e[2]),e[3]=Math.max(t[3],e[3]));return e}get valid(){return!this._indexInvalid}clear(){this._indexInvalid=!1,this._boundsToLoad.length=0,this._boundsById.clear(),this._idByBounds.clear(),this._index.clear()}delete(e){const t=this._boundsById.get(e);this._boundsById.delete(e),t&&(this._idByBounds.delete(t),this._indexInvalid||this._index.remove(t))}forEachInBounds(e,t){this._loadIndex(),function(e,t,n){(function(e){o.minX=e[0],o.minY=e[1],o.maxX=e[2],o.maxY=e[3]})(t),e.search(o,n)}(this._index,e,e=>t(this._idByBounds.get(e)))}get(e){return this._boundsById.get(e)}has(e){return this._boundsById.has(e)}invalidateIndex(){this._indexInvalid||(this._indexInvalid=!0,this._boundsToLoad.length=0)}set(e,t){if(!this._indexInvalid){const t=this._boundsById.get(e);t&&(this._index.remove(t),this._idByBounds.delete(t))}this._boundsById.set(e,t),t&&(this._idByBounds.set(t,e),this._indexInvalid||(this._boundsToLoad.push(t),this._boundsToLoad.length>5e4&&this._loadIndex()))}}},83221(e,t,n){n.d(t,{A:()=>p});var i=n(4576),r=n(49186),s=n(65529),o=n(53966),a=n(70328),l=n(19419),u=n(90708),h=n(6518),c=n(51441),d=n(37730);const m=(0,a.vt)();class p{constructor(e){this.geometryInfo=e,this._boundsStore=new h.F,this._featuresById=new Map,this._usedMemory=0,this.events=new s.bk,this.featureAdapter=d.T}get usedMemory(){return this._usedMemory}get geometryType(){return this.geometryInfo.geometryType}get hasM(){return this.geometryInfo.hasM}get hasZ(){return this.geometryInfo.hasZ}get numFeatures(){return this._featuresById.size}get fullBounds(){return this._boundsStore.fullBounds}get storeStatistics(){let e=0;return this._featuresById.forEach(t=>{null!=t.geometry&&t.geometry.coords&&(e+=t.geometry.coords.length)}),{featureCount:this._featuresById.size,vertexCount:e/(this.hasZ?this.hasM?4:3:this.hasM?3:2)}}getFullExtent(e){if(null==this.fullBounds)return null;const[t,n,i,r]=this.fullBounds;return{xmin:t,ymin:n,xmax:i,ymax:r,spatialReference:(0,c.ag)(e)}}add(e){this._add(e),this._emitChanged()}addMany(e){for(const t of e)this._add(t);this._emitChanged()}upsertMany(e){const t=e.map(e=>this._upsert(e));return this._emitChanged(),t.filter(i.Ru)}clear(){this._featuresById.clear(),this._boundsStore.clear(),this._emitChanged(),this._usedMemory=0}removeById(e){const t=this._featuresById.get(e);return t?(this._remove(t),this._emitChanged(),t):null}removeManyById(e){this._boundsStore.invalidateIndex();for(const t of e){const e=this._featuresById.get(t);e&&this._remove(e)}this._emitChanged()}forEachBounds(e,t){for(const n of e){const e=this._boundsStore.get(n.objectId);e&&t((0,a.Jt)(m,e))}}getFeature(e){return this._featuresById.get(e)}has(e){return this._featuresById.has(e)}forEach(e){this._featuresById.forEach(t=>e(t))}forEachInBounds(e,t){this._boundsStore.forEachInBounds(e,e=>{t(this._featuresById.get(e))})}_emitChanged(){this.events.emit("changed",void 0)}_add(e){if(!e)return;const t=e.objectId;if(null==t)return void o.A.getLogger("esri.layers.graphics.data.FeatureStore").error(new r.A("featurestore:invalid-feature","feature id is missing",{feature:e}));const n=this._featuresById.get(t);let i;if(n?(e.displayId=n.displayId,i=this._boundsStore.get(t),this._boundsStore.delete(t),this._usedMemory-=this.estimateFeatureUsedMemory?.(n)??0):null!=this.onFeatureAdd&&this.onFeatureAdd(e),!e.geometry?.coords?.length)return this._boundsStore.set(t,null),void this._featuresById.set(t,e);i=(0,u.jQ)(null!=i?i:(0,l.vt)(),e.geometry),null!=i&&this._boundsStore.set(t,i),this._featuresById.set(t,e),this._usedMemory+=this.estimateFeatureUsedMemory?.(e)??0}_upsert(e){const t=e?.objectId;if(null==t)return o.A.getLogger("esri.layers.graphics.data.FeatureStore").error(new r.A("featurestore:invalid-feature","feature id is missing",{feature:e})),null;const n=this._featuresById.get(t);if(!n)return this._add(e),e;this._usedMemory-=this.estimateFeatureUsedMemory?.(n)??0;const{geometry:i,attributes:s}=e;for(const e in s)n.attributes[e]=s[e];return i&&(n.geometry=i,this._boundsStore.set(t,(0,u.jQ)((0,l.vt)(),i)??null)),this._usedMemory+=this.estimateFeatureUsedMemory?.(n)??0,n}_remove(e){null!=this.onFeatureRemove&&this.onFeatureRemove(e);const t=e.objectId;return this._boundsStore.delete(t),this._featuresById.delete(t),this._usedMemory-=this.estimateFeatureUsedMemory?.(e)??0,e}}},37730(e,t,n){var i=n(43334);const r={getObjectId:e=>e.objectId,getAttributes:e=>e.attributes,getAttribute:(e,t)=>e.attributes[t],cloneWithGeometry:(e,t,n)=>new i.Om(t,e.attributes,null,e.objectId,e.displayId,e.distance,e.vertexCount),getGeometry:e=>e.geometry,getCentroid:(e,t)=>e.ensureCentroid(t)};n.d(t,["T",0,r])},25209(e,t,n){n.r(t),n.d(t,{default:()=>z});var i=n(11254),r=n(60999),s=n(67482),o=n(49186),a=n(53966),l=n(17676),u=n(84952),h=n(91218),c=n(16930),d=n(21325),m=n(28735),p=n(43334),f=n(92722),y=n(83221),g=n(31464),_=n(75752),x=n(14607),w=n(30524),b=n(54625);const S=/^\s*"([\S\s]*)"\s*$/,I=/""/g,v=[",",";","|","\t"];function*M(e,t,n){let i=0;for(;i<=e.length;){const r=e.indexOf(t,i),s=e.slice(i,r>-1?r:void 0);i+=s.length+t.length,n&&!s.trim()||(yield s)}}function T(e){const t=e.includes("\r\n")?"\r\n":"\n";return M(e,t,!0)}function C(e,t){return M(e,t,!1)}function F(e,t,n){e=e.trim(),t=t?.trim();const i=[],r=Array.from(new Set([n?.delimiter,...v])).filter(e=>null!=e);for(const n of r){const r=N(e,n).length,s=N(t,n).length??r;r>1&&i.push({weight:Math.min(r,s),delimiter:n})}const s=i.sort(({weight:e},{weight:t})=>t-e).map(({delimiter:e})=>e);for(const t of s){const i=B(e,t).names,r=(0,b.i_)(i,n?.longitudeField,n?.latitudeField);if(r.longitudeFieldName&&r.latitudeFieldName)return{delimiter:t,locationInfo:r}}return{delimiter:s[0],locationInfo:null}}function*A(e,t,n,i=()=>Object.create(null)){const r=T(e);r.next();let s="",o="",a=0,l=i(),u=0;e:for(const e of r){const r=C(e,n);for(const e of r)if(s+=o+e,o="",a+=E(e),a%2==0){if(a>0){const e=S.exec(s);if(!e){l=i(),u=0,s="",a=0;continue e}l[t[u]]=e[1].replaceAll(I,'"'),u++}else l[t[u]]=s,u++;s="",a=0}else o=n;0===a?(yield l,l=i(),u=0):o="\n"}}function B(e,t){const n=N(e,t).filter(e=>null!=e),i=n.map(e=>(0,w.rS)(e));for(let e=i.length-1;e>=0;e--)i[e]||(i.splice(e,1),n.splice(e,1));return{names:i,aliases:n}}function N(e,t){if(!e?.length)return[];const n=[];let i="",r="",s=0;const o=C(e,t);for(const e of o)if(i+=r+e,r="",s+=E(e),s%2==0){if(s>0){const e=S.exec(i);e&&n.push(e[1].replaceAll(I,'"'))}else n.push(i);i="",s=0}else r=t;return n}function E(e){let t=0,n=0;for(n=e.indexOf('"',n);n>=0;)t++,n=e.indexOf('"',n+1);return t}function O(e,t,n,i,r){const s=[],o=A(e,n,t),a=[];for(const e of o){if(10===a.length)break;a.push(e)}for(let e=0;e<n.length;e++){const t=n[e],o=i[e];if(t===r.longitudeFieldName||t===r.latitudeFieldName)s.push({name:t,type:"esriFieldTypeDouble",alias:o});else{let e;switch(D(a.map(e=>e[t]))){case"integer":e="esriFieldTypeInteger";break;case"double":e="esriFieldTypeDouble";break;case"date":e="esriFieldTypeDate";break;default:e="esriFieldTypeString"}s.push({name:t,type:e,alias:o,length:(0,w._b)(e)})}}return s}function D(e){if(!e.length)return"string";const t=/[^+\-.,0-9]/;return e.map(e=>{if(""!==e){if(!t.test(e)){let t=P(e);if(!isNaN(t))return/[.,]/.test(e)||!Number.isInteger(t)||t>214783647||t<-214783648?"double":"integer";if(e.includes("E")){if(t=Number(e),!Number.isNaN(t))return"double";if(e.includes(",")&&(e=e.replace(",","."),t=Number(e),!Number.isNaN(t)))return"double"}}return(0,s.C)(e)?"date":"string"}}).reduce((e,t)=>void 0===e?t:void 0===t?e:e===t?t:"string"===e||"string"===t?"string":"double"===e||"double"===t?"double":void 0)}const P=function(){const e=(0,x.B)(),t=new RegExp("^"+e.regexp+"$"),n=new RegExp("["+e.group+"\\s\\xa0]","g"),i=e.factor;return r=>{const s=t.exec(r);if(e.factor=i,!s)return NaN;let o=s[1];if(!s[1]){if(!s[2])return NaN;o=s[2],e.factor*=-1}return o=o.replace(n,"").replace(e.decimal,"."),+o*e.factor}}();function R(e){return JSON.parse(JSON.stringify(e))}var Y=n(64714),L=n(60694),k=n(95466),q=n(54218);n(98623);const Z=(0,Y.F0)("esriGeometryPoint"),X=["csv"],j=[0,0];class J{constructor(e,t){this.x=e,this.y=t}}class z{constructor(){this._queryEngine=null,this._featureIdInfo=null,this._snapshotFeatures=async e=>{const t=await this._fetch(e);return this._createFeatures(t)}}destroy(){this._queryEngine?.destroy(),this._queryEngine=null}async load(e,t={}){this._loadOptions=e;const[n]=await Promise.all([this._fetch(t.signal),this._checkProjection(e?.parsingOptions?.spatialReference)]),i=function(e,t){const n=t.parsingOptions||{},i={delimiter:n.delimiter,layerDefinition:null,locationInfo:{latitudeFieldName:n.latitudeField,longitudeFieldName:n.longitudeField}},r=i.layerDefinition={name:(0,L.cr)((0,u.e7)(t.url,X)||"csv"),dateFieldsTimeReference:{timeZoneIANA:"UTC"},drawingInfo:Z,geometryType:"esriGeometryPoint",objectIdField:null,fields:[],timeInfo:n.timeInfo,extent:{xmin:Number.POSITIVE_INFINITY,ymin:Number.POSITIVE_INFINITY,xmax:Number.NEGATIVE_INFINITY,ymax:Number.NEGATIVE_INFINITY,spatialReference:n.spatialReference||{wkid:4326}}},s=T(e),a=s.next().value?.trim(),l=s.next().value?.trim();if(!a)throw new o.A("csv-layer:empty-csv","CSV is empty",{csv:e});const{delimiter:h,locationInfo:c}=F(a,l,n);if(!h)throw new o.A("csv-layer:invalid-delimiter","Unable to detect the delimiter from CSV",{firstLine:a,secondLine:l,parsingOptions:n});if(!c)throw new o.A("csv-layer:location-fields-not-found","Unable to identify latitude and longitude fields from the CSV file",{firstLine:a,secondLine:l,parsingOptions:n});i.locationInfo=c,i.delimiter=h;const{names:d,aliases:m}=B(a,h),p=O(e,i.delimiter,d,m,i.locationInfo);if(n.fields?.length){const e=new k.A(n.fields);for(const t of p){const n=e.get(t.name);n&&Object.assign(t,n)}}if(!p.some(e=>"esriFieldTypeOID"===e.type&&(r.objectIdField=e.name,!0))){const e={name:"__OBJECTID",alias:"__OBJECTID",type:"esriFieldTypeOID",editable:!1,nullable:!1};r.objectIdField=e.name,p.unshift(e)}r.fields=p;const f=new k.A(r.fields);if(i.locationInfo&&(i.locationInfo.latitudeFieldName=f.get(i.locationInfo.latitudeFieldName).name,i.locationInfo.longitudeFieldName=f.get(i.locationInfo.longitudeFieldName).name),r.timeInfo){const e=r.timeInfo;if(e.startTimeField){const t=f.get(e.startTimeField);t?(e.startTimeField=t.name,t.type="esriFieldTypeDate"):e.startTimeField=null}if(e.endTimeField){const t=f.get(e.endTimeField);t?(e.endTimeField=t.name,t.type="esriFieldTypeDate"):e.endTimeField=null}if(e.trackIdField){const t=f.get(e.trackIdField);e.trackIdField=t?t.name:null}e.startTimeField||e.endTimeField||(r.timeInfo=null)}return i}(n,e);this._locationInfo=i.locationInfo,this._delimiter=i.delimiter;const{objectIdField:r,fields:s,extent:{spatialReference:a},timeInfo:l}=i.layerDefinition,h=new y.A({geometryType:"esriGeometryPoint",hasM:!1,hasZ:!1});this._featureIdInfo={type:"object-id",fieldName:r},this._queryEngine=new _.do({fieldsIndex:k.A.fromLayerJSON({fields:s,dateFieldsTimeReference:{timeZoneIANA:"UTC"}}),geometryType:"esriGeometryPoint",hasM:!1,hasZ:!1,timeInfo:l,featureIdInfo:this._featureIdInfo,spatialReference:a||{wkid:4326},featureStore:h});const c=this._createFeatures(n);this._queryEngine.featureStore.addMany(c);const{fullExtent:d,timeExtent:m}=await this._queryEngine.fetchRecomputedExtents();if(i.layerDefinition.extent=d,m){const{start:e,end:t}=m;i.layerDefinition.timeInfo.timeExtent=[e,t]}return i}async applyEdits(){throw new o.A("csv-layer:editing-not-supported","applyEdits() is not supported on CSVLayer")}async queryFeatures(e={},t={}){return await this._waitSnapshotComplete(),this._queryEngine.executeQuery(e,t.signal)}async queryFeatureCount(e={},t={}){return await this._waitSnapshotComplete(),this._queryEngine.executeQueryForCount(e,t.signal)}async queryObjectIds(e={},t={}){return await this._waitSnapshotComplete(),(await this._queryEngine.executeQueryForIds(e,t.signal)).filter(q.Et)}async queryExtent(e={},t={}){return await this._waitSnapshotComplete(),this._queryEngine.executeQueryForExtent(e,t.signal)}async querySnapping(e,t={}){return await this._waitSnapshotComplete(),await this._queryEngine.executeQueryForSnapping(e,t.signal)}async queryAttributeBins(e,t={}){return await this._waitSnapshotComplete(),this._queryEngine.executeAttributeBinsQuery(e,t.signal)}async refresh(e){this._loadOptions.customParameters=e,this._snapshotTask?.abort(),this._snapshotTask=(0,r.UT)(this._snapshotFeatures),this._snapshotTask.promise.then(e=>{this._queryEngine.featureStore.clear(),e&&this._queryEngine.featureStore.addMany(e)},e=>{this._queryEngine.featureStore.clear(),(0,l.zf)(e)||a.A.getLogger("esri.layers.CSVLayer").error(new o.A("csv-layer:refresh","An error occurred during refresh",{error:e}))}),await this._waitSnapshotComplete();const{fullExtent:t,timeExtent:n}=await this._queryEngine.fetchRecomputedExtents();return{extent:t,timeExtent:n}}async _waitSnapshotComplete(){if(this._snapshotTask&&!this._snapshotTask.finished){try{await this._snapshotTask.promise}catch{}return this._waitSnapshotComplete()}}async _fetch(e){const{url:t,customParameters:n}=this._loadOptions;if(!t)throw new o.A("csv-layer:invalid-source","url not defined");const r=(0,u.An)(t);return(await(0,i.A)(r.path,{query:{...r.query,...n},responseType:"text",signal:e})).data}_createFeatures(e){const{latitudeFieldName:t,longitudeFieldName:n}=this._locationInfo,{fieldsIndex:i,spatialReference:r}=this._queryEngine,o=this._featureIdInfo.fieldName;let a=[];const l=[],u=i.fields.filter(e=>e.name!==o).map(e=>e.name);let y=0;const g={};for(const e of i.fields)if("esriFieldTypeOID"!==e.type&&"esriFieldTypeGlobalID"!==e.type){const t=(0,w.lD)(e);void 0!==t&&(g[e.name]=t)}const _=A(e,u,this._delimiter,(0,Y.Vx)(g,o));for(const e of _){const r=this._parseCoordinateValue(e[t]),u=this._parseCoordinateValue(e[n]);if(null!=u&&null!=r&&!isNaN(r)&&!isNaN(u)){e[t]=r,e[n]=u;for(const r in e)if(r!==t&&r!==n)if(i.isDateField(r))e[r]=(0,s._)(e[r]);else if(i.isNumericField(r)){const t=P(e[r]);isNaN(t)?e[r]=null:e[r]=t}else null!=e[r]&&(e[r]=R(e[r]));e[o]=y,y++,a.push(new J(u,r)),l.push(e)}}if(!(0,d.aI)({wkid:4326},r))if((0,d.K8)(r))for(const e of a)[e.x,e.y]=(0,m.je)(e.x,e.y,j);else a=(0,h.projectMany)(a,c.A.WGS84,r);const x=[];for(let e=0;e<a.length;e++){const{x:t,y:n}=a[e],i=l[e];i[o]=e+1,x.push(new p.Om(new f.A([],[t,n]),i,null,i[o]))}return x}_parseCoordinateValue(e){if(null==e||""===e)return null;let t=P(e);return(isNaN(t)||Math.abs(t)>181)&&(t=parseFloat(e)),t}async _checkProjection(e){try{await(0,g.Nk)(d.KK,e)}catch{throw new o.A("csv-layer:projection-not-supported","Projection not supported")}}}},64714(e,t,n){n.d(t,{F0:()=>a,Vx:()=>h,e2:()=>d,f:()=>m});var i=n(44208),r=n(4718),s=n(99352),o=n(93470);function a(e){return{renderer:{type:"simple",symbol:"esriGeometryPoint"===e||"esriGeometryMultipoint"===e?o.Cb:"esriGeometryPolyline"===e?o.yM:o.WR}}}const l=/^[_$a-zA-Z][_$a-zA-Z0-9]*$/;let u=1;function h(e,t){if((0,i.A)("esri-csp-restrictions"))return()=>t?{[t]:null,...e}:{...e};try{let n="";t&&(n+=`this${c(t)} = null;`);for(const t in e)n+=`this${c(t)} = ${JSON.stringify(e[t])};`;const i=new Function(`\n return class AttributesClass$${u++} {\n constructor() {\n ${n};\n }\n }\n `)();return()=>new i}catch(n){return()=>t?{[t]:null,...e}:{...e}}}function c(e){return l.test(e)?`.${e}`:`[${JSON.stringify(e)}]`}function d(e={}){return[{name:"New Feature",description:"",prototype:{attributes:(0,r.o8)(e)}}]}function m(e,t){return{analytics:{supportsCacheHint:!1},attachment:null,data:{isVersioned:!1,isBranchVersioned:!1,supportedCurveTypes:[],supportsAttachment:!1,supportsM:!1,supportsTrueCurve:!1,supportsZ:e},metadata:{supportsAdvancedFieldProperties:!1},operations:{supportsCalculate:!1,supportsTruncate:!1,supportsValidateSql:!1,supportsAdd:t,supportsDelete:t,supportsEditing:t,supportsChangeTracking:!1,supportsQuery:!0,supportsQueryBins:!0,supportsQueryPivot:!1,supportsQueryAnalytics:!1,supportsQueryAttachments:!1,supportsQueryTopFeatures:!1,supportsResizeAttachments:!1,supportsSync:!1,supportsUpdate:t,supportsExceedsLimitStatistics:!0,supportsAsyncConvert3D:!1},query:s.F,queryRelated:{supportsCount:!0,supportsOrderBy:!0,supportsPagination:!0,supportsCacheHint:!1},queryTopFeatures:{supportsCacheHint:!1},queryAttributeBins:s.P,editing:{supportsGeometryUpdate:t,supportsGlobalId:!1,supportsReturnServiceEditsInSourceSpatialReference:!1,supportsRollbackOnFailure:!1,supportsTrueCurveUpdate:t,supportsTrueCurveUpdateByTrueCurveClientsOnly:!1,supportsUpdateWithoutM:!1,supportsUploadWithItemId:!1,supportsDeleteByAnonymous:!1,supportsDeleteByOthers:!1,supportsUpdateByAnonymous:!1,supportsUpdateByOthers:!1,supportsAsyncApplyEdits:!1,zDefault:void 0}}}},98453(e,t,n){const i=new(n(66552).J)({esriFieldTypeSmallInteger:"small-integer",esriFieldTypeInteger:"integer",esriFieldTypeSingle:"single",esriFieldTypeDouble:"double",esriFieldTypeLong:"long",esriFieldTypeString:"string",esriFieldTypeDate:"date",esriFieldTypeOID:"oid",esriFieldTypeGeometry:"geometry",esriFieldTypeBlob:"blob",esriFieldTypeRaster:"raster",esriFieldTypeGUID:"guid",esriFieldTypeGlobalID:"global-id",esriFieldTypeXML:"xml",esriFieldTypeBigInteger:"big-integer",esriFieldTypeDateOnly:"date-only",esriFieldTypeTimeOnly:"time-only",esriFieldTypeTimestampOffset:"timestamp-offset"});n.d(t,["m",0,i])},54625(e,t,n){n.d(t,{i_:()=>r});var i=n(30524);function r(e,t,n){t=(0,i.rS)(t)?.toLowerCase(),n=(0,i.rS)(n)?.toLowerCase();const r=e.map(e=>e.toLowerCase()),a=t?e[r.indexOf(t)]:null,l=n?e[r.indexOf(n)]:null;return{longitudeFieldName:a||e[r.indexOf(o.find(e=>r.includes(e)))],latitudeFieldName:l||e[r.indexOf(s.find(e=>r.includes(e)))]}}const s=["lat","lat83","latitude","latitude83","latdecdeg","lat_dd","y","ycenter","point_y"],o=["lon","lng","lng83","long","long83","longitude","longitude83","longdecdeg","long_dd","x","xcenter","point_x"];n.d(t,["A0",0,o,"bD",0,s])},93470(e,t,n){const i=[252,146,31,255],r={type:"esriSMS",style:"esriSMSCircle",size:6,color:i,outline:{type:"esriSLS",style:"esriSLSSolid",width:.75,color:[153,153,153,255]}},s={type:"esriSLS",style:"esriSLSSolid",width:.75,color:i};n.d(t,["Cb",0,r,"HW",0,{type:"esriSLS",style:"esriSLSSolid",color:[0,0,0,255],width:1.5},"JR",0,[153,153,153,255],"JZ",0,{type:"esriTS",color:[255,255,255,255],font:{family:"arial-unicode-ms",size:10,weight:"bold"},horizontalAlignment:"center",kerning:!0,haloColor:[0,0,0,255],haloSize:1,rotated:!1,text:"",xoffset:0,yoffset:0,angle:0},"WR",0,{type:"esriSFS",style:"esriSFSSolid",color:[252,146,31,196],outline:{type:"esriSLS",style:"esriSLSSolid",width:.75,color:[255,255,255,191]}},"b6",0,{type:"esriSFS",style:"esriSFSSolid",color:[0,0,0,255],outline:null},"fT",0,i,"nC",0,{type:"esriSMS",style:"esriSMSCircle",color:[0,0,0,255],outline:null,size:10.5},"yM",0,s])}}]);
1
+ "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[8521],{69540(e,t,n){var i=n(5482),r=n(69622),s=(n(44208),n(4718)),o=(n(53966),n(97768)),a=n(88620),l=n(64108);const u=Symbol("ClonableMixin"),h=e=>{var t;const n=e;let r=class extends n{constructor(){super(...arguments),this[t]=!0}static{t=u}clone(e){const t=(0,a.oY)(this);(0,o.Lw)(t,"unable to clone instance of non-accessor class");const n=t.metadata,i=t.store,r={},l=new Map;for(const t in n){const o=n[t],a=i?.originOf(t),u=o.clonable;if(o.readOnly||!1===u||7!==a&&0!==a&&5!==a&&4!==a)continue;const h=this[t];let c=null;if("function"==typeof u)c=u(h,e);else if("reference"===u)c=h;else if(c=(0,s.TU)(h,e),null!=h&&null==c)continue;0===a?l.set(t,c):r[t]=c}const u=new(0,Object.getPrototypeOf(this).constructor)(r);if(l.size){const e=(0,a.oY)(u)?.store;if(e)for(const[t,n]of l)e.set(t,n,0)}return u}};return r=(0,i.Cg)([(0,l.$)("esri.core.Clonable")],r),r},c=h(r.A);n.d(t,["OU",0,h,"Pw",0,c])},60999(e,t,n){n.d(t,{DZ:()=>p,Ke:()=>m,Tj:()=>h,UT:()=>f,aD:()=>g,jJ:()=>u});var i=n(5482),r=n(69622),s=n(97768),o=n(17676),a=n(10107),l=n(64108);function u(e,t,n){return(0,o.Lx)(e.map((e,i)=>t.apply(n,[e,i])))}async function h(e,t,n){return(await(0,o.Lx)(e.map((e,i)=>t.apply(n,[e,i])))).map(e=>e.value)}function c(e){return{ok:!0,value:e}}function d(e){return{ok:!1,error:e}}async function m(e){if(null==e)return{ok:!1,error:new Error("no promise provided")};try{return c(await e)}catch(e){return d(e)}}async function p(e){try{return c(await e)}catch(e){return(0,o.QP)(e),d(e)}}function f(e,t){return new y(e,t)}let y=class extends r.A{get value(){return null!=(e=this._result)&&!0===e.ok?e.value:null;var e}get error(){return null!=(e=this._result)&&!1===e.ok?e.error:null;var e}get finished(){return null!=this._result}constructor(e,t){super({}),this._result=null,this._abortHandle=null,this.abort=()=>{this._abortController=(0,s.DC)(this._abortController)},this.remove=this.abort,this._abortController=new AbortController;const{signal:n}=this._abortController;this.promise=e(n),this.promise.then(e=>{this._result=c(e),this._cleanup()},e=>{this._result=d(e),this._cleanup()}),this._abortHandle=(0,o.u7)(t,this.abort)}normalizeCtorArgs(){return{}}destroy(){this.abort()}_cleanup(){this._abortHandle=(0,s.xt)(this._abortHandle),this._abortController=null}};(0,i.Cg)([(0,a.MZ)()],y.prototype,"value",null),(0,i.Cg)([(0,a.MZ)()],y.prototype,"error",null),(0,i.Cg)([(0,a.MZ)()],y.prototype,"finished",null),(0,i.Cg)([(0,a.MZ)()],y.prototype,"promise",void 0),(0,i.Cg)([(0,a.MZ)()],y.prototype,"_result",void 0),y=(0,i.Cg)([(0,l.$)("esri.core.asyncUtils.ReactiveTask")],y);class g{constructor(){this._sequence=Promise.resolve()}async acquire(){let e;this._sequence=new Promise(t=>{e=this._sequence.then(()=>t,()=>t)});const t=await e;return{[Symbol.dispose]:t}}async run(e){const t={stack:[],error:void 0,hasError:!1};try{return(0,i.mS)(t,await this.acquire(),!1),await e()}catch(e){t.error=e,t.hasError=!0}finally{(0,i.hk)(t)}}}},67482(e,t,n){function i(e){return null!==r(e)}function r(e){return function(e){const t=s.exec(e);if(!t?.groups)return null;const n=t.groups,i=+n.year,r=+n.month-1,o=+n.day,a=+(n.hours??"0"),l=+(n.minutes??"0"),u=+(n.seconds??"0");if(a>23)return null;if(l>59)return null;if(u>59)return null;const h=n.ms??"0",c=h?+h.padEnd(3,"0").slice(0,3):0;let d;if(n.isUTC||!n.offsetSign)d=Date.UTC(i,r,o,a,l,u,c);else{const e=+n.offsetHours,t=+n.offsetMinutes;d=6e4*("+"===n.offsetSign?-1:1)*(60*e+t)+Date.UTC(i,r,o,a,l,u,c)}return Number.isNaN(d)?null:d}(e)??function(e){const t=new Date(e),n=t.getTime();return Number.isNaN(n)?null:e.toLowerCase()===t.toUTCString().toLowerCase()?n:null}(e)??function(e){if(!o.test(e))return null;const t=new Date(e);return Number.isNaN(t.getTime())?null:t.getTime()-6e4*t.getTimezoneOffset()}(e)}n.d(t,{C:()=>i,_:()=>r});const s=/^(?:(?<year>-?\d{4,})-(?<month>\d{2})-(?<day>\d{2}))(?:T(?<hours>\d{2}):(?<minutes>\d{2}):(?<seconds>\d{2})(?:\.(?<ms>\d+))?)?(?:(?<isUTC>Z)|(?:(?<offsetSign>\+|-)(?<offsetHours>\d{2}):(?<offsetMinutes>\d{2})))?$/,o=/^((\d{1,2}[/-]\d{1,2}[/-]\d{4})|(\d{4}[/-]\d{1,2}[/-]\d{1,2}))( \d{1,2}:\d{1,2}:\d{1,2}( ((AM)|(PM)))?)?$/i},75503(e,t,n){n.d(t,{wq:()=>a});var i=n(4576),r=n(21818),s=(n(44208),n(15142)),o=n(11006);class a{constructor(e=9,t){this._compareMinX=d,this._compareMinY=m,this._toBBox=e=>e,this._maxEntries=Math.max(4,e||9),this._minEntries=Math.max(2,Math.ceil(.4*this._maxEntries)),t&&("function"==typeof t?this._toBBox=t:this._initFormat(t)),this.clear()}destroy(){this.clear(),b.prune(),S.prune(),I.prune(),v.prune()}all(e){l(this._data,e)}search(e,t){let n=this._data;const i=this._toBBox;if(x(e,n))for(b.clear();n;){for(let r=0,s=n.children.length;r<s;r++){const s=n.children[r],o=n.leaf?i(s):s;x(e,o)&&(n.leaf?t(s):_(e,o)?l(s,t):b.push(s))}n=b.pop()}}collides(e){let t=this._data;const n=this._toBBox;if(!x(e,t))return!1;for(b.clear();t;){for(let i=0,r=t.children.length;i<r;i++){const r=t.children[i],s=t.leaf?n(r):r;if(x(e,s)){if(t.leaf||_(e,s))return!0;b.push(r)}}t=b.pop()}return!1}load(e){if(!e.length)return this;if(e.length<this._minEntries){for(let t=0,n=e.length;t<n;t++)this.insert(e[t]);return this}let t=this._build(e.slice(),0,e.length-1,0);if(this._data.children.length)if(this._data.height===t.height)this._splitRoot(this._data,t);else{if(this._data.height<t.height){const e=this._data;this._data=t,t=e}this._insert(t,this._data.height-t.height-1,!0)}else this._data=t;return this}insert(e){return e&&this._insert(e,this._data.height-1),this}clear(){return this._data=new C([]),this}remove(e){if(!e)return this;let t,n=this._data,s=null,o=0,a=!1;const l=this._toBBox(e);for(I.clear(),v.clear();n||I.length>0;){if(n||(n=I.pop(),s=I.data[I.length-1],o=v.pop()??0,a=!0),n.leaf&&(t=(0,i.qh)(n.children,(0,r.z)(e),n.children.length,n.indexHint),-1!==t))return n.children.splice(t,1),I.push(n),this._condense(I),this;a||n.leaf||!_(n,l)?s?(o++,n=s.children[o],a=!1):n=null:(I.push(n),v.push(o),o=0,s=n,n=n.children[0])}return this}toJSON(){return this._data}fromJSON(e){return this._data=e,this}_build(e,t,n,i){const r=n-t+1;let s=this._maxEntries;if(r<=s){const i=new C(e.slice(t,n+1));return u(i,this._toBBox),i}i||(i=Math.ceil(Math.log(r)/Math.log(s)),s=Math.ceil(r/s**(i-1)));const o=new F([]);o.height=i;const a=Math.ceil(r/s),l=a*Math.ceil(Math.sqrt(s));w(e,t,n,l,this._compareMinX);for(let r=t;r<=n;r+=l){const t=Math.min(r+l-1,n);w(e,r,t,a,this._compareMinY);for(let n=r;n<=t;n+=a){const r=Math.min(n+a-1,t);o.children.push(this._build(e,n,r,i-1))}}return u(o,this._toBBox),o}_insert(e,t,n){const i=this._toBBox,r=n?e:i(e);I.clear();const s=function(e,t,n,i){for(;i.push(t),!0!==t.leaf&&i.length-1!==n;){let n,i=1/0,r=1/0;for(let s=0,o=t.children.length;s<o;s++){const o=t.children[s],a=p(o),l=y(e,o)-a;l<r?(r=l,i=a<i?a:i,n=o):l===r&&a<i&&(i=a,n=o)}t=n||t.children[0]}return t}(r,this._data,t,I);for(s.children.push(e),c(s,r);t>=0&&I.data[t].children.length>this._maxEntries;)this._split(I,t),t--;!function(e,t,n){for(let i=n;i>=0;i--)c(t.data[i],e)}(r,I,t)}_split(e,t){const n=e.data[t],i=n.children.length,r=this._minEntries;this._chooseSplitAxis(n,r,i);const s=this._chooseSplitIndex(n,r,i);if(!s)return;const o=n.children.splice(s,n.children.length-s),a=n.leaf?new C(o):new F(o);a.height=n.height,u(n,this._toBBox),u(a,this._toBBox),t?e.data[t-1].children.push(a):this._splitRoot(n,a)}_splitRoot(e,t){this._data=new F([e,t]),this._data.height=e.height+1,u(this._data,this._toBBox)}_chooseSplitIndex(e,t,n){let i,r,s;i=r=1/0;for(let o=t;o<=n-t;o++){const t=h(e,0,o,this._toBBox),a=h(e,o,n,this._toBBox),l=g(t,a),u=p(t)+p(a);l<i?(i=l,s=o,r=u<r?u:r):l===i&&u<r&&(r=u,s=o)}return s}_chooseSplitAxis(e,t,n){const i=e.leaf?this._compareMinX:d,r=e.leaf?this._compareMinY:m;this._allDistMargin(e,t,n,i)<this._allDistMargin(e,t,n,r)&&e.children.sort(i)}_allDistMargin(e,t,n,i){e.children.sort(i);const r=this._toBBox,s=h(e,0,t,r),o=h(e,n-t,n,r);let a=f(s)+f(o);for(let i=t;i<n-t;i++){const t=e.children[i];c(s,e.leaf?r(t):t),a+=f(s)}for(let i=n-t-1;i>=t;i--){const t=e.children[i];c(o,e.leaf?r(t):t),a+=f(o)}return a}_condense(e){for(let t=e.length-1;t>=0;t--){const n=e.data[t];if(0===n.children.length)if(t>0){const r=e.data[t-1],s=r.children;s.splice((0,i.qh)(s,n,s.length,r.indexHint),1)}else this.clear();else u(n,this._toBBox)}}_initFormat(e){const t=["return a"," - b",";"];this._compareMinX=new Function("a","b",t.join(e[0])),this._compareMinY=new Function("a","b",t.join(e[1])),this._toBBox=new Function("a","return {minX: a"+e[0]+", minY: a"+e[1]+", maxX: a"+e[2]+", maxY: a"+e[3]+"};")}}function l(e,t){let n=e;for(S.clear();n;){if(!0===n.leaf)for(const e of n.children)t((0,r.z)(e));else S.pushArray(n.children);n=S.pop()??null}}function u(e,t){h(e,0,e.children.length,t,e)}function h(e,t,n,i,r){r||(r=new C([])),r.minX=1/0,r.minY=1/0,r.maxX=-1/0,r.maxY=-1/0;for(let s,o=t;o<n;o++)s=e.children[o],c(r,e.leaf?i(s):s);return r}function c(e,t){e.minX=Math.min(e.minX,t.minX),e.minY=Math.min(e.minY,t.minY),e.maxX=Math.max(e.maxX,t.maxX),e.maxY=Math.max(e.maxY,t.maxY)}function d(e,t){return e.minX-t.minX}function m(e,t){return e.minY-t.minY}function p(e){return(e.maxX-e.minX)*(e.maxY-e.minY)}function f(e){return e.maxX-e.minX+(e.maxY-e.minY)}function y(e,t){return(Math.max(t.maxX,e.maxX)-Math.min(t.minX,e.minX))*(Math.max(t.maxY,e.maxY)-Math.min(t.minY,e.minY))}function g(e,t){const n=Math.max(e.minX,t.minX),i=Math.max(e.minY,t.minY),r=Math.min(e.maxX,t.maxX),s=Math.min(e.maxY,t.maxY);return Math.max(0,r-n)*Math.max(0,s-i)}function _(e,t){return e.minX<=t.minX&&e.minY<=t.minY&&t.maxX<=e.maxX&&t.maxY<=e.maxY}function x(e,t){return t.minX<=e.maxX&&t.minY<=e.maxY&&t.maxX>=e.minX&&t.maxY>=e.minY}function w(e,t,n,i,r){const s=[t,n];for(;s.length;){const t=s.pop(),n=s.pop();if(t-n<=i)continue;const a=n+Math.ceil((t-n)/i/2)*i;(0,o.q)(e,a,n,t,r),s.push(n,a,a,t)}}const b=new s.A,S=new s.A,I=new s.A,v=new s.A({deallocator:void 0});class M{constructor(){this.minX=1/0,this.minY=1/0,this.maxX=-1/0,this.maxY=-1/0}}class T extends M{constructor(){super(...arguments),this.height=1,this.indexHint=new i.vW}}class C extends T{constructor(e){super(),this.children=e,this.leaf=!0}}class F extends T{constructor(e){super(),this.children=e,this.leaf=!1}}},69397(e,t,n){n.d(t,{Qf:()=>a,Qh:()=>s,lM:()=>r});var i=n(34275);function r(e){if(!e)return 0;let t=u;for(const n in e)e.hasOwnProperty(n)&&(t+=o(e[n],!1));return t}function s(e){if(!e)return 0;if("number"==typeof e[0])return a(e);if(Array.isArray(e))return function(e){const t=e.length;if(0===t||"number"==typeof e[0])return l(e,8);let n=h;for(let i=0;i<t;i++)n+=o(e[i]);return n}(e);let t=u;for(const n in e)e.hasOwnProperty(n)&&(t+=o(e[n]));return t}function o(e,t=!0){switch(typeof e){case"object":return t?s(e):u;case"string":return function(e){return 32+e.length}(e);case"number":return 16;case"boolean":return 4;default:return 8}}function a(...e){return e.reduce((e,t)=>e+(t?(0,i.iu)(t)?t.byteLength+c:Array.isArray(t)?l(t,16):0:0),0)}function l(e,t){return h+e.length*t}const u=32,h=16,c=145},14607(e,t,n){n.d(t,{B:()=>u,GP:()=>a,qg:()=>h});var i=n(799),r=n(73444);const s={ar:[".",","],bg:[","," "],bs:[",","."],ca:[",","."],cs:[","," "],da:[",","."],de:[",","."],"de-ch":[".","’"],el:[",","."],en:[".",","],"en-au":[".",","],es:[",","."],"es-mx":[".",","],et:[","," "],fi:[","," "],fr:[","," "],"fr-ch":[","," "],he:[".",","],hi:[".",",","#,##,##0.###"],hr:[",","."],hu:[","," "],id:[",","."],it:[",","."],"it-ch":[".","’"],ja:[".",","],ko:[".",","],lt:[","," "],lv:[","," "],mk:[",","."],nb:[","," "],nl:[",","."],no:[","," "],pl:[","," "],pt:[",","."],"pt-pt":[","," "],ro:[",","."],ru:[","," "],sk:[","," "],sl:[",","."],sr:[",","."],sv:[","," "],th:[".",","],tr:[",","."],uk:[","," "],vi:[",","."],zh:[".",","]};function o(e=(0,r.JK)()){let t=(e=e.toLowerCase())in s;if(!t){const n=e.split("-");n.length>1&&n[0]in s&&(e=n[0],t=!0),t||(e="en")}const[n,i,o="#,##0.###"]=s[e];return{decimal:n,group:i,pattern:o}}function a(e,t){const n=o((t={...t}).locale);t.customs=n;const i=t.pattern||n.pattern;return isNaN(e)||Math.abs(e)===1/0?null:function(e,t,n){const i=(n=n||{}).customs.group,r=n.customs.decimal,s=t.split(";"),o=s[0];if((t=s[e<0?1:0]||"-"+o).includes("%"))e*=100;else if(t.includes("‰"))e*=1e3;else{if(t.includes("¤"))throw new Error("currency notation not supported");if(t.includes("E"))throw new Error("exponential notation not supported")}const a=l,u=o.match(a);if(!u)throw new Error("unable to find a number expression in pattern: "+t);return!1===n.fractional&&(n.places=0),t.replace(a,function(e,t,n){!0===(n=n||{}).places&&(n.places=0),n.places===1/0&&(n.places=6);const i=t.split("."),r="string"==typeof n.places&&n.places.indexOf(",");let s=n.places;r?s=n.places.slice(r+1):+s>=0||(s=(i[1]||[]).length),n.round<0||(e=Number(e.toFixed(Number(s))));const o=String(Math.abs(e)).split("."),a=o[1]||"";if(i[1]||n.places){r&&(n.places=n.places.slice(0,Math.max(0,r)));const e=void 0!==n.places?n.places:i[1]&&i[1].lastIndexOf("0")+1;+e>a.length&&(o[1]=a.padEnd(Number(e),"0")),+s<a.length&&(o[1]=a.slice(0,Math.max(0,Number(s))))}else o[1]&&o.pop();const l=i[0].replace(",","");let u=l.indexOf("0");-1!==u&&(u=l.length-u,u>o[0].length&&(o[0]=o[0].padStart(u,"0")),l.includes("#")||(o[0]=o[0].slice(-u)));let h,c,d=i[0].lastIndexOf(",");if(-1!==d){h=i[0].length-d-1;const e=i[0].slice(0,d);d=e.lastIndexOf(","),-1!==d&&(c=e.length-d-1)}const m=[];for(let e=o[0];e;){const t=e.length-h;m.push(t>0?e.slice(Math.max(0,t)):e),e=t>0?e.slice(0,t):"",c&&(h=c,c=void 0)}return o[0]=m.reverse().join(n.group||","),o.join(n.decimal||".")}(e,u[0],{decimal:r,group:i,places:n.places,round:n.round}))}(e,i,t)}const l=/[#0,]*[#0](?:\.0*#*)?/;function u(e){const t=o((e=e||{}).locale),n=e.pattern||t.pattern,r=t.group,s=t.decimal;let a=1;if(n.includes("%"))a/=100;else if(n.includes("‰"))a/=1e3;else if(n.includes("¤"))throw new Error("currency notation not supported");const u=n.split(";");1===u.length&&u.push("-"+u[0]);const h=d(u,t=>(t="(?:"+(0,i.Cj)(t,".")+")").replace(l,t=>{const n={signed:!1,separator:e.strict?r:[r,""],fractional:e.fractional,decimal:s,exponent:!1},i=t.split(".");let o=e.places;1===i.length&&1!==a&&(i[1]="###"),1===i.length||0===o?n.fractional=!1:(void 0===o&&(o=e.pattern?i[1].lastIndexOf("0")+1:1/0),o&&null==e.fractional&&(n.fractional=!0),!e.places&&+o<i[1].length&&(o+=","+i[1].length),n.places=o);const l=i[0].split(",");return l.length>1&&(n.groupSize=l.pop().length,l.length>1&&(n.groupSize2=l.pop().length)),"("+function(e){"places"in(e=e||{})||(e.places=1/0),"string"!=typeof e.decimal&&(e.decimal="."),"fractional"in e&&!String(e.places).startsWith("0")||(e.fractional=[!0,!1]),"exponent"in e||(e.exponent=[!0,!1]),"eSigned"in e||(e.eSigned=[!0,!1]);const t=c(e),n=d(e.fractional,t=>{let n="";return t&&0!==e.places&&(n="\\"+e.decimal,e.places===1/0?n="(?:"+n+"\\d+)?":n+="\\d{"+e.places+"}"),n},!0);let i=t+n;return n&&(i="(?:(?:"+i+")|(?:"+n+"))"),i+d(e.exponent,t=>t?"([eE]"+c({signed:e.eSigned})+")":"")}(n)+")"}),!0);return{regexp:h.replaceAll(/[\xa0 ]/g,"[\\s\\xa0]"),group:r,decimal:s,factor:a}}function h(e,t){const n=u(t),i=new RegExp("^"+n.regexp+"$").exec(e);if(!i)return NaN;let r=i[1];if(!i[1]){if(!i[2])return NaN;r=i[2],n.factor*=-1}return r=r.replaceAll(new RegExp("["+n.group+"\\s\\xa0]","g"),"").replace(n.decimal,"."),Number(r)*n.factor}function c(e){return"signed"in(e=e||{})||(e.signed=[!0,!1]),"separator"in e?"groupSize"in e||(e.groupSize=3):e.separator="",d(e.signed,e=>e?"[-+]":"",!0)+d(e.separator,t=>{if(!t)return"(?:\\d+)";" "===(t=(0,i.Cj)(t))?t="\\s":" "===t&&(t="\\s\\xa0");const n=e.groupSize,r=e.groupSize2;if(r){const e="(?:0|[1-9]\\d{0,"+(r-1)+"}(?:["+t+"]\\d{"+r+"})*["+t+"]\\d{"+n+"})";return n-r>0?"(?:"+e+"|(?:0|[1-9]\\d{0,"+(n-1)+"}))":e}return"(?:0|[1-9]\\d{0,"+(n-1)+"}(?:["+t+"]\\d{"+n+"})*)"},!0)}const d=(e,t,n)=>{if(!Array.isArray(e))return t(e);const i=[];for(let n=0;n<e.length;n++)i.push(t(e[n]));return m(i.join("|"),Boolean(n))},m=(e,t)=>"("+(t?"?:":"")+e+")"},36708(e,t,n){n.d(t,{C_:()=>d,on:()=>c,wB:()=>l,z7:()=>u});var i=n(37955),r=n(36563),s=n(97768),o=n(17676),a=n(14012);function l(e,t,n={}){return h(e,t,n,m)}function u(e,t,n={}){return h(e,t,n,p)}function h(e,t,n={},i){let r=null;const o=n.once?(e,n)=>{i(e)&&((0,s.xt)(r),t(e,n))}:(e,n)=>{i(e)&&t(e,n)};if(r=(0,a.Cn)(e,o,n.sync,n.equals),n.initial){const t=e();o(t,t)}return r}function c(e,t,n,o={}){let a=null,u=null,h=null;function c(){a&&u&&(u.remove(),o.onListenerRemove?.(a),a=null,u=null)}function d(e){o.once&&o.once&&(0,s.xt)(h),n(e)}const m=l(e,(e,n)=>{c(),(0,i.wb)(e)&&(a=e,u=(0,i.on)(e,t,d),o.onListenerAdd?.(e))},{sync:o.sync,initial:!0});return h=(0,r.hA)(()=>{m.remove(),c()}),h}function d(e,t){return function(e,t,n){if((0,o.G4)(n))return Promise.reject((0,o.NK)());const i=e();if(t?.(i))return Promise.resolve(i);let a=null;function l(){a=(0,s.xt)(a)}return new Promise((i,s)=>{a=(0,r.vE)([(0,o.u7)(n,()=>{l(),s((0,o.NK)())}),h(e,e=>{l(),i(e)},{sync:!1,once:!0},t??m)])})}(e,p,t)}function m(e){return!0}function p(e){return!!e}n(80559),n.d(t,["OH",0,{sync:!0},"Vh",0,{initial:!0},"pc",0,{sync:!0,initial:!0}])},88930(e,t,n){n.d(t,{S1:()=>a,lL:()=>u,mi:()=>l,rb:()=>h,t:()=>c});var i=n(97770),r=(n(98623),n(92647));const s=/^(?<hh>([01][0-9])|(2[0-3])):(?<mm>[0-5][0-9])(:(?<ss>[0-5][0-9]))?(\.(?<ms>\d+))?$/,o={milliseconds:1,seconds:1e3,minutes:6e4,hours:36e5,days:864e5,weeks:6048e5,months:26784e5,years:31536e6,decades:31536e7,centuries:31536e8,unknown:NaN};function a(e,t,n,s="system"){if("unknown"===n)return e;const o=new r.oh((0,i.wj)(s)),a=r.c9.fromJSDate(e,{zone:o}),l="decades"===n||"centuries"===n?"year":function(e){switch(e){case"milliseconds":return"millisecond";case"seconds":return"second";case"minutes":return"minute";case"hours":return"hour";case"days":return"day";case"weeks":return"week";case"months":return"month";case"years":return"year"}}(n);return"decades"===n&&(t*=10),"centuries"===n&&(t*=100),a.plus({[l]:t}).toJSDate()}function l(e,t,n="milliseconds"){const i=e.getTime(),r=c(t,n,"milliseconds");return new Date(i+r)}function u(e,t,n="system"){const{unit:s}=t,o=Math.max(1,Math.trunc(t.value)),a=new r.oh((0,i.wj)(n)),l=r.c9.fromJSDate(e,{zone:a}),u=e=>e-e%o;switch(s){case"milliseconds":return l.startOf("second").plus({millisecond:u(l.millisecond)}).toJSDate();case"seconds":return l.startOf("minute").plus({second:u(l.second)}).toJSDate();case"minutes":return l.startOf("hour").plus({minute:u(l.minute)}).toJSDate();case"hours":return l.startOf("day").plus({hour:u(l.hour)}).toJSDate();case"days":return l.startOf("month").plus({day:u(l.day-1)}).toJSDate();case"weeks":{const e=l.startOf("year").startOf("week"),t=Math.floor(l.diff(e,"weeks").weeks);return e.plus({week:u(t)}).toJSDate()}case"months":return l.startOf("year").plus({month:u(l.month-1)}).toJSDate();case"years":case"decades":case"centuries":{const e=l.startOf("year"),t=("decades"===s?10:"centuries"===s?100:1)*o,n=e.year-e.year%t;return e.set({year:n}).toJSDate()}case"unknown":return e}}function h(e){const t=s.exec(e);if(!t)return null;const{hh:n,mm:i,ss:r,ms:a}=t.groups;return Number(n)*o.hours+Number(i)*o.minutes+Number(r||0)*o.seconds+Number(a||0)}function c(e,t,n){return 0===e?0:e*o[t]/o[n]}},48526(e,t,n){n.d(t,{A:()=>y});var i,r=n(5482),s=n(4576),o=n(4718),a=n(91429),l=n(5443),u=n(91075),h=n(86738),c=n(16930),d=n(90634),m=n(47610),p=n(56993),f=n(43937);let y=i=class extends u.A{constructor(e){super(function(e){if(!e)return;let{points:t,hasM:n,hasZ:i,spatialReference:r}=e;switch(t??=[],t?.at(0)?.length){case 4:i??=!0,n??=!0;break;case 3:i??=!0!==n,n??=!i;break;default:i??=!1,n??=!1}return r??=c.A.WGS84,{...e,hasM:n,hasZ:i,points:t,spatialReference:r}}(e)),this.points=[],this.type="multipoint"}get cache(){return this.commitProperty("points"),this.commitProperty("hasZ"),this.commitProperty("hasM"),this.commitProperty("spatialReference"),{}}get extent(){const e=(0,d.ge)(this);return e?new l.A({...e,spatialReference:this.spatialReference}):null}writePoints(e,t){t.points=(0,o.o8)(this.points)}clone(){const{points:e,spatialReference:t,hasM:n,hasZ:r}=this;return new i({points:(0,o.o8)(e),spatialReference:t.clone(),hasM:n,hasZ:r})}equals(e){if(this===e)return!0;if(null==e)return!1;const t=this.spatialReference,n=e.spatialReference;return null!=t==(null!=n)&&!(null!=t&&null!=n&&!t.equals(n))&&(0,s.aI)(this.points,e.points,m.v6)}addPoint(e){return(0,p.h)(this,e),Array.isArray(e)?this.points.push(e):this.points.push(e.toArray()),this.notifyChange("points"),this}getPoint(e){if(!this._validateInputs(e))return null;const t=this.points[e],n={x:t[0],y:t[1],spatialReference:this.spatialReference};let i=2;return this.hasZ&&(n.z=t[2],i=3),this.hasM&&(n.m=t[i]),new h.A(n)}removePoint(e){if(!this._validateInputs(e))return null;const t=new h.A(this.points.splice(e,1)[0],this.spatialReference);return this.notifyChange("points"),t}setPoint(e,t){return this._validateInputs(e)?((0,p.h)(this,t),Array.isArray(t)||(t=t.toArray()),this.points[e]=t,this.notifyChange("points"),this):this}toJSON(e){return this.write({},e)}_validateInputs(e){return null!=e&&e>=0&&e<this.points.length}};(0,r.Cg)([(0,a.MZ)({readOnly:!0})],y.prototype,"cache",null),(0,r.Cg)([(0,a.MZ)({readOnly:!0})],y.prototype,"extent",null),(0,r.Cg)([(0,a.MZ)({type:[[Number]],json:{write:{isRequired:!0}}})],y.prototype,"points",void 0),(0,r.Cg)([(0,f.K)("points")],y.prototype,"writePoints",null),y=i=(0,r.Cg)([(0,a.$K)("esri.geometry.Multipoint")],y),y.prototype.toJSON.isDefaultToJSON=!0},82799(e,t,n){n.d(t,{A:()=>p});var i,r=n(5482),s=n(4718),o=n(91429),a=n(5443),l=n(91075),u=n(86738),h=n(16930),c=n(90634),d=n(56993),m=n(43937);let p=i=class extends l.A{constructor(e){super(function(e){if(!e)return;let{paths:t,hasM:n,hasZ:i,spatialReference:r}=e;switch(t??=[],function(e){return"number"==typeof e[0]?.[0]}(t)&&(t=[t]),t[0]?.[0]?.length){case 4:i??=!0,n??=!0;break;case 3:i??=!0!==n,n??=!i;break;default:i??=!1,n??=!1}return r??=h.A.WGS84,{...e,hasM:n,hasZ:i,paths:t,spatialReference:r}}(e)),this.curvePaths=void 0,this.paths=[],this.type="polyline"}get cache(){return this.commitProperty("curvePaths"),this.commitProperty("hasM"),this.commitProperty("hasZ"),this.commitProperty("paths"),this.commitProperty("spatialReference"),{}}writeCurvePaths(e,t){t.curvePaths=(0,s.o8)(e)}get extent(){const e=(0,c.Z3)(this),{spatialReference:t}=this;return e?new a.A({...e,spatialReference:t}):null}writePaths(e,t){t.paths=(0,s.o8)(this.paths)}addPath(e){if(!e)return;const t=this.paths,n=t.length;if(function(e){return!Array.isArray(e[0])}(e)){const i=[];for(let t=0,n=e.length;t<n;t++)i[t]=e[t].toArray();t[n]=i}else t[n]=e.slice();return this.notifyChange("paths"),this}clone(){const e=new i;return e.spatialReference=this.spatialReference,e.paths=(0,s.o8)(this.paths),e.curvePaths=(0,s.o8)(this.curvePaths),e.hasZ=this.hasZ,e.hasM=this.hasM,e}getPoint(e,t){if(!this._validateInputs(e,t))return null;const n=this.paths[e][t],i=this.hasZ,r=this.hasM;return i&&!r?new u.A(n[0],n[1],n[2],void 0,this.spatialReference):r&&!i?new u.A(n[0],n[1],void 0,n[2],this.spatialReference):i&&r?new u.A(n[0],n[1],n[2],n[3],this.spatialReference):new u.A(n[0],n[1],this.spatialReference)}insertPoint(e,t,n){return this._validateInputs(e,t,!0)?((0,d.h)(this,n),Array.isArray(n)||(n=n.toArray()),this.paths[e].splice(t,0,n),this.notifyChange("paths"),this):this}removePath(e){if(!this._validateInputs(e,null))return null;const t=this.paths.splice(e,1)[0],n=this.spatialReference,i=t.map(e=>new u.A(e,n));return this.notifyChange("paths"),i}removePoint(e,t){if(!this._validateInputs(e,t))return null;const n=new u.A(this.paths[e].splice(t,1)[0],this.spatialReference);return this.notifyChange("paths"),n}setPoint(e,t,n){return this._validateInputs(e,t)?((0,d.h)(this,n),Array.isArray(n)||(n=n.toArray()),this.paths[e][t]=n,this.notifyChange("paths"),this):this}_validateInputs(e,t,n=!1){if(null==e||e<0||e>=this.paths.length)return!1;if(null!=t){const i=this.paths[e];if(n&&(t<0||t>i.length))return!1;if(!n&&(t<0||t>=i.length))return!1}return!0}toJSON(e){return this.write({},e)}};(0,r.Cg)([(0,o.MZ)({readOnly:!0})],p.prototype,"cache",null),(0,r.Cg)([(0,o.MZ)({json:{write:!0,origins:{"portal-item":{write:!1},"web-map":{write:!1},"web-scene":{write:!1}}}})],p.prototype,"curvePaths",void 0),(0,r.Cg)([(0,m.K)("curvePaths")],p.prototype,"writeCurvePaths",null),(0,r.Cg)([(0,o.MZ)({readOnly:!0})],p.prototype,"extent",null),(0,r.Cg)([(0,o.MZ)({type:[[[Number]]],json:{write:{isRequired:!0}}})],p.prototype,"paths",void 0),(0,r.Cg)([(0,m.K)("paths")],p.prototype,"writePaths",null),p=i=(0,r.Cg)([(0,o.$K)("esri.geometry.Polyline")],p),p.prototype.toJSON.isDefaultToJSON=!0},97770(e,t,n){n.d(t,{Ey:()=>E,F8:()=>N,J2:()=>C,Yq:()=>A,_m:()=>F,iS:()=>B,wj:()=>O});var i=n(66552),r=n(73444),s=n(98623),o=n(92647);const a={dateStyle:void 0,year:void 0,month:void 0,day:void 0,weekday:void 0},l={timeStyle:void 0,hour12:void 0,hourCycle:void 0,hour:void 0,minute:void 0,second:void 0},u={timeZone:"UTC"},h={year:"numeric",month:"numeric",day:"numeric"},c={year:"numeric",month:"long",day:"numeric"},d={year:"numeric",month:"short",day:"numeric"},m={year:"numeric",month:"long",weekday:"long",day:"numeric"},p={hour:"numeric",minute:"numeric"},f={...p,second:"numeric"},y={hourCycle:"h23"},g={...p,...y},_={...f,...y},x={"short-date":h,"short-date-short-time":{...h,...p},"short-date-short-time-24":{...h,...g},"short-date-long-time":{...h,...f},"short-date-long-time-24":{...h,..._},"short-date-le":h,"short-date-le-short-time":{...h,...p},"short-date-le-short-time-24":{...h,...g},"short-date-le-long-time":{...h,...f},"short-date-le-long-time-24":{...h,..._},"long-month-day-year":c,"long-month-day-year-short-time":{...c,...p},"long-month-day-year-short-time-24":{...c,...g},"long-month-day-year-long-time":{...c,...f},"long-month-day-year-long-time-24":{...c,..._},"day-short-month-year":d,"day-short-month-year-short-time":{...d,...p},"day-short-month-year-short-time-24":{...d,...g},"day-short-month-year-long-time":{...d,...f},"day-short-month-year-long-time-24":{...d,..._},"long-date":m,"long-date-short-time":{...m,...p},"long-date-short-time-24":{...m,...g},"long-date-long-time":{...m,...f},"long-date-long-time-24":{...m,..._},"long-month-year":{month:"long",year:"numeric"},"short-month-year":{month:"short",year:"numeric"},year:{year:"numeric"},"short-time":p,"long-time":f},w=(0,i.O)()({shortDate:"short-date",shortDateShortTime:"short-date-short-time",shortDateShortTime24:"short-date-short-time-24",shortDateLongTime:"short-date-long-time",shortDateLongTime24:"short-date-long-time-24",shortDateLE:"short-date-le",shortDateLEShortTime:"short-date-le-short-time",shortDateLEShortTime24:"short-date-le-short-time-24",shortDateLELongTime:"short-date-le-long-time",shortDateLELongTime24:"short-date-le-long-time-24",longMonthDayYear:"long-month-day-year",longMonthDayYearShortTime:"long-month-day-year-short-time",longMonthDayYearShortTime24:"long-month-day-year-short-time-24",longMonthDayYearLongTime:"long-month-day-year-long-time",longMonthDayYearLongTime24:"long-month-day-year-long-time-24",dayShortMonthYear:"day-short-month-year",dayShortMonthYearShortTime:"day-short-month-year-short-time",dayShortMonthYearShortTime24:"day-short-month-year-short-time-24",dayShortMonthYearLongTime:"day-short-month-year-long-time",dayShortMonthYearLongTime24:"day-short-month-year-long-time-24",longDate:"long-date",longDateShortTime:"long-date-short-time",longDateShortTime24:"long-date-short-time-24",longDateLongTime:"long-date-long-time",longDateLongTime24:"long-date-long-time-24",longMonthYear:"long-month-year",shortMonthYear:"short-month-year",year:"year"}),b={ar:"ar-u-nu-latn-ca-gregory",nn:"no-NN"},S=new Intl.DateTimeFormat("bs",{month:"long"}).formatToParts(new Date(2025,2)),I=S.find(({type:e})=>"month"===e)?.value.toLowerCase();function v(){const e=(0,r.lR)();return(e&&b[e])??(0,r.QC)()}"mart"!==I&&(b.bs="sr-Latn-CS");let M=new WeakMap;const T=x["short-date-short-time"];function C(e){return x[e]}function F(e){const{dateStyle:t,timeStyle:n,hour12:i,year:r,month:s}=e,o={};return t?o.dateStyle=t:r&&(o.year=r,o.month=s||void 0),n&&!o.year&&(o.timeStyle=n,o.hour12="auto"===i?void 0:"always"===i),o}function A(e,t=T){return function(e){let t=M.get(e);if(!t){const n=v(),i=O(e.timeZone??"system"),r={...e,timeZone:i};t=new Intl.DateTimeFormat(n,r),M.set(e,t)}return t}(t).format(e)}function B(e,t=T){return A(new Date(e),{...t,...u,...l})}function N(e,t=T){return A(new Date(`1970-01-01T${e}Z`),{...t,...u,...a})}function E(e,t=T){const n=o.c9.fromISO(e,{setZone:!0});if(!n.isValid)return e;if(t.timeZone)return A(n.toJSDate(),t);const i=0===n.offset?"UTC":t.timeZone,r={...t,timeZone:i};return n.toLocaleString(r,{locale:v()})}function O(e){switch(e){case"system":return s.N;case s.L:return"UTC";default:return e}}(0,r.Ml)(()=>{M=new WeakMap}),n.d(t,["_v",0,w])},73444(e,t,n){n.d(t,{JK:()=>l,Ml:()=>y,QC:()=>c,lR:()=>h,oQ:()=>p});var i=n(36563);let r;n(44208);const s=globalThis.esriConfig?.locale,o=globalThis.document?.documentElement;function a(){const e=o?.getAttribute("lang"),t=globalThis.navigator?.language;return s??e??t??"en"}function l(){return void 0===r&&(r=a()),r}const u=/^(?<language>[a-z]{2,3})(?:-(?<extlang>[a-z]{3}))?(?:-[A-Z][a-z]{3})?(?:-(?<region>[A-Z]{2}|\d{3}))?(?:-.*)?$/;function h(e=l()){return d(e)?.language}function c(e=l()){const t=d(e);return t?.language&&t?.extlang?e.replace(`${t.language}-`,""):e}function d(e=l()){return u.exec(e)?.groups}const m=[];function p(e){return m.push(e),(0,i.hA)(()=>{m.splice(m.indexOf(e),1)})}new Map;const f=[];function y(e){return f.push(e),(0,i.hA)(()=>f.splice(f.indexOf(e),1))}function g(){const e=a();r!==e&&([...f].forEach(t=>t(e)),r=e,[...m].forEach(t=>t(e)))}globalThis.addEventListener?.("languagechange",g),o&&new MutationObserver(()=>{g()}).observe(o,{attributeFilter:["lang"]})},6518(e,t,n){n.d(t,{F:()=>a});var i=n(44208),r=n(75503),s=n(19419);const o={minX:0,minY:0,maxX:0,maxY:0};class a{constructor(){this._indexInvalid=!1,this._boundsToLoad=[],this._boundsById=new Map,this._idByBounds=new Map,this._index=new r.wq(9,(0,i.A)("esri-csp-restrictions")?e=>({minX:e[0],minY:e[1],maxX:e[2],maxY:e[3]}):["[0]","[1]","[2]","[3]"]),this._loadIndex=()=>{if(this._indexInvalid){const e=new Array(this._idByBounds.size);let t=0;this._idByBounds.forEach((n,i)=>{e[t++]=i}),this._indexInvalid=!1,this._index.clear(),this._index.load(e)}else this._boundsToLoad.length&&(this._index.load(Array.from(new Set(this._boundsToLoad.filter(e=>this._idByBounds.has(e))))),this._boundsToLoad.length=0)}}get fullBounds(){if(!this._boundsById.size)return null;const e=(0,s.Ie)();for(const t of this._boundsById.values())t&&(e[0]=Math.min(t[0],e[0]),e[1]=Math.min(t[1],e[1]),e[2]=Math.max(t[2],e[2]),e[3]=Math.max(t[3],e[3]));return e}get valid(){return!this._indexInvalid}clear(){this._indexInvalid=!1,this._boundsToLoad.length=0,this._boundsById.clear(),this._idByBounds.clear(),this._index.clear()}delete(e){const t=this._boundsById.get(e);this._boundsById.delete(e),t&&(this._idByBounds.delete(t),this._indexInvalid||this._index.remove(t))}forEachInBounds(e,t){this._loadIndex(),function(e,t,n){(function(e){o.minX=e[0],o.minY=e[1],o.maxX=e[2],o.maxY=e[3]})(t),e.search(o,n)}(this._index,e,e=>t(this._idByBounds.get(e)))}get(e){return this._boundsById.get(e)}has(e){return this._boundsById.has(e)}invalidateIndex(){this._indexInvalid||(this._indexInvalid=!0,this._boundsToLoad.length=0)}set(e,t){if(!this._indexInvalid){const t=this._boundsById.get(e);t&&(this._index.remove(t),this._idByBounds.delete(t))}this._boundsById.set(e,t),t&&(this._idByBounds.set(t,e),this._indexInvalid||(this._boundsToLoad.push(t),this._boundsToLoad.length>5e4&&this._loadIndex()))}}},83221(e,t,n){n.d(t,{A:()=>p});var i=n(4576),r=n(49186),s=n(65529),o=n(53966),a=n(70328),l=n(19419),u=n(90708),h=n(6518),c=n(51441),d=n(37730);const m=(0,a.vt)();class p{constructor(e){this.geometryInfo=e,this._boundsStore=new h.F,this._featuresById=new Map,this._usedMemory=0,this.events=new s.bk,this.featureAdapter=d.T}get usedMemory(){return this._usedMemory}get geometryType(){return this.geometryInfo.geometryType}get hasM(){return this.geometryInfo.hasM}get hasZ(){return this.geometryInfo.hasZ}get numFeatures(){return this._featuresById.size}get fullBounds(){return this._boundsStore.fullBounds}get storeStatistics(){let e=0;return this._featuresById.forEach(t=>{null!=t.geometry&&t.geometry.coords&&(e+=t.geometry.coords.length)}),{featureCount:this._featuresById.size,vertexCount:e/(this.hasZ?this.hasM?4:3:this.hasM?3:2)}}getFullExtent(e){if(null==this.fullBounds)return null;const[t,n,i,r]=this.fullBounds;return{xmin:t,ymin:n,xmax:i,ymax:r,spatialReference:(0,c.ag)(e)}}add(e){this._add(e),this._emitChanged()}addMany(e){for(const t of e)this._add(t);this._emitChanged()}upsertMany(e){const t=e.map(e=>this._upsert(e));return this._emitChanged(),t.filter(i.Ru)}clear(){this._featuresById.clear(),this._boundsStore.clear(),this._emitChanged(),this._usedMemory=0}removeById(e){const t=this._featuresById.get(e);return t?(this._remove(t),this._emitChanged(),t):null}removeManyById(e){this._boundsStore.invalidateIndex();for(const t of e){const e=this._featuresById.get(t);e&&this._remove(e)}this._emitChanged()}forEachBounds(e,t){for(const n of e){const e=this._boundsStore.get(n.objectId);e&&t((0,a.Jt)(m,e))}}getFeature(e){return this._featuresById.get(e)}has(e){return this._featuresById.has(e)}forEach(e){this._featuresById.forEach(t=>e(t))}forEachInBounds(e,t){this._boundsStore.forEachInBounds(e,e=>{t(this._featuresById.get(e))})}_emitChanged(){this.events.emit("changed",void 0)}_add(e){if(!e)return;const t=e.objectId;if(null==t)return void o.A.getLogger("esri.layers.graphics.data.FeatureStore").error(new r.A("featurestore:invalid-feature","feature id is missing",{feature:e}));const n=this._featuresById.get(t);let i;if(n?(e.displayId=n.displayId,i=this._boundsStore.get(t),this._boundsStore.delete(t),this._usedMemory-=this.estimateFeatureUsedMemory?.(n)??0):null!=this.onFeatureAdd&&this.onFeatureAdd(e),!e.geometry?.coords?.length)return this._boundsStore.set(t,null),void this._featuresById.set(t,e);i=(0,u.jQ)(null!=i?i:(0,l.vt)(),e.geometry),null!=i&&this._boundsStore.set(t,i),this._featuresById.set(t,e),this._usedMemory+=this.estimateFeatureUsedMemory?.(e)??0}_upsert(e){const t=e?.objectId;if(null==t)return o.A.getLogger("esri.layers.graphics.data.FeatureStore").error(new r.A("featurestore:invalid-feature","feature id is missing",{feature:e})),null;const n=this._featuresById.get(t);if(!n)return this._add(e),e;this._usedMemory-=this.estimateFeatureUsedMemory?.(n)??0;const{geometry:i,attributes:s}=e;for(const e in s)n.attributes[e]=s[e];return i&&(n.geometry=i,this._boundsStore.set(t,(0,u.jQ)((0,l.vt)(),i)??null)),this._usedMemory+=this.estimateFeatureUsedMemory?.(n)??0,n}_remove(e){null!=this.onFeatureRemove&&this.onFeatureRemove(e);const t=e.objectId;return this._boundsStore.delete(t),this._featuresById.delete(t),this._usedMemory-=this.estimateFeatureUsedMemory?.(e)??0,e}}},37730(e,t,n){var i=n(43334);const r={getObjectId:e=>e.objectId,getAttributes:e=>e.attributes,getAttribute:(e,t)=>e.attributes[t],cloneWithGeometry:(e,t,n)=>new i.Om(t,e.attributes,null,e.objectId,e.displayId,e.distance,e.vertexCount),getGeometry:e=>e.geometry,getCentroid:(e,t)=>e.ensureCentroid(t)};n.d(t,["T",0,r])},25209(e,t,n){n.r(t),n.d(t,{default:()=>z});var i=n(11254),r=n(60999),s=n(67482),o=n(49186),a=n(53966),l=n(17676),u=n(84952),h=n(91218),c=n(16930),d=n(21325),m=n(28735),p=n(43334),f=n(92722),y=n(83221),g=n(31464),_=n(56390),x=n(14607),w=n(30524),b=n(54625);const S=/^\s*"([\S\s]*)"\s*$/,I=/""/g,v=[",",";","|","\t"];function*M(e,t,n){let i=0;for(;i<=e.length;){const r=e.indexOf(t,i),s=e.slice(i,r>-1?r:void 0);i+=s.length+t.length,n&&!s.trim()||(yield s)}}function T(e){const t=e.includes("\r\n")?"\r\n":"\n";return M(e,t,!0)}function C(e,t){return M(e,t,!1)}function F(e,t,n){e=e.trim(),t=t?.trim();const i=[],r=Array.from(new Set([n?.delimiter,...v])).filter(e=>null!=e);for(const n of r){const r=N(e,n).length,s=N(t,n).length??r;r>1&&i.push({weight:Math.min(r,s),delimiter:n})}const s=i.sort(({weight:e},{weight:t})=>t-e).map(({delimiter:e})=>e);for(const t of s){const i=B(e,t).names,r=(0,b.i_)(i,n?.longitudeField,n?.latitudeField);if(r.longitudeFieldName&&r.latitudeFieldName)return{delimiter:t,locationInfo:r}}return{delimiter:s[0],locationInfo:null}}function*A(e,t,n,i=()=>Object.create(null)){const r=T(e);r.next();let s="",o="",a=0,l=i(),u=0;e:for(const e of r){const r=C(e,n);for(const e of r)if(s+=o+e,o="",a+=E(e),a%2==0){if(a>0){const e=S.exec(s);if(!e){l=i(),u=0,s="",a=0;continue e}l[t[u]]=e[1].replaceAll(I,'"'),u++}else l[t[u]]=s,u++;s="",a=0}else o=n;0===a?(yield l,l=i(),u=0):o="\n"}}function B(e,t){const n=N(e,t).filter(e=>null!=e),i=n.map(e=>(0,w.rS)(e));for(let e=i.length-1;e>=0;e--)i[e]||(i.splice(e,1),n.splice(e,1));return{names:i,aliases:n}}function N(e,t){if(!e?.length)return[];const n=[];let i="",r="",s=0;const o=C(e,t);for(const e of o)if(i+=r+e,r="",s+=E(e),s%2==0){if(s>0){const e=S.exec(i);e&&n.push(e[1].replaceAll(I,'"'))}else n.push(i);i="",s=0}else r=t;return n}function E(e){let t=0,n=0;for(n=e.indexOf('"',n);n>=0;)t++,n=e.indexOf('"',n+1);return t}function O(e,t,n,i,r){const s=[],o=A(e,n,t),a=[];for(const e of o){if(10===a.length)break;a.push(e)}for(let e=0;e<n.length;e++){const t=n[e],o=i[e];if(t===r.longitudeFieldName||t===r.latitudeFieldName)s.push({name:t,type:"esriFieldTypeDouble",alias:o});else{let e;switch(D(a.map(e=>e[t]))){case"integer":e="esriFieldTypeInteger";break;case"double":e="esriFieldTypeDouble";break;case"date":e="esriFieldTypeDate";break;default:e="esriFieldTypeString"}s.push({name:t,type:e,alias:o,length:(0,w._b)(e)})}}return s}function D(e){if(!e.length)return"string";const t=/[^+\-.,0-9]/;return e.map(e=>{if(""!==e){if(!t.test(e)){let t=P(e);if(!isNaN(t))return/[.,]/.test(e)||!Number.isInteger(t)||t>214783647||t<-214783648?"double":"integer";if(e.includes("E")){if(t=Number(e),!Number.isNaN(t))return"double";if(e.includes(",")&&(e=e.replace(",","."),t=Number(e),!Number.isNaN(t)))return"double"}}return(0,s.C)(e)?"date":"string"}}).reduce((e,t)=>void 0===e?t:void 0===t?e:e===t?t:"string"===e||"string"===t?"string":"double"===e||"double"===t?"double":void 0)}const P=function(){const e=(0,x.B)(),t=new RegExp("^"+e.regexp+"$"),n=new RegExp("["+e.group+"\\s\\xa0]","g"),i=e.factor;return r=>{const s=t.exec(r);if(e.factor=i,!s)return NaN;let o=s[1];if(!s[1]){if(!s[2])return NaN;o=s[2],e.factor*=-1}return o=o.replace(n,"").replace(e.decimal,"."),+o*e.factor}}();function R(e){return JSON.parse(JSON.stringify(e))}var Y=n(64714),L=n(60694),k=n(95466),q=n(54218);n(98623);const Z=(0,Y.F0)("esriGeometryPoint"),X=["csv"],j=[0,0];class J{constructor(e,t){this.x=e,this.y=t}}class z{constructor(){this._queryEngine=null,this._featureIdInfo=null,this._snapshotFeatures=async e=>{const t=await this._fetch(e);return this._createFeatures(t)}}destroy(){this._queryEngine?.destroy(),this._queryEngine=null}async load(e,t={}){this._loadOptions=e;const[n]=await Promise.all([this._fetch(t.signal),this._checkProjection(e?.parsingOptions?.spatialReference)]),i=function(e,t){const n=t.parsingOptions||{},i={delimiter:n.delimiter,layerDefinition:null,locationInfo:{latitudeFieldName:n.latitudeField,longitudeFieldName:n.longitudeField}},r=i.layerDefinition={name:(0,L.cr)((0,u.e7)(t.url,X)||"csv"),dateFieldsTimeReference:{timeZoneIANA:"UTC"},drawingInfo:Z,geometryType:"esriGeometryPoint",objectIdField:null,fields:[],timeInfo:n.timeInfo,extent:{xmin:Number.POSITIVE_INFINITY,ymin:Number.POSITIVE_INFINITY,xmax:Number.NEGATIVE_INFINITY,ymax:Number.NEGATIVE_INFINITY,spatialReference:n.spatialReference||{wkid:4326}}},s=T(e),a=s.next().value?.trim(),l=s.next().value?.trim();if(!a)throw new o.A("csv-layer:empty-csv","CSV is empty",{csv:e});const{delimiter:h,locationInfo:c}=F(a,l,n);if(!h)throw new o.A("csv-layer:invalid-delimiter","Unable to detect the delimiter from CSV",{firstLine:a,secondLine:l,parsingOptions:n});if(!c)throw new o.A("csv-layer:location-fields-not-found","Unable to identify latitude and longitude fields from the CSV file",{firstLine:a,secondLine:l,parsingOptions:n});i.locationInfo=c,i.delimiter=h;const{names:d,aliases:m}=B(a,h),p=O(e,i.delimiter,d,m,i.locationInfo);if(n.fields?.length){const e=new k.A(n.fields);for(const t of p){const n=e.get(t.name);n&&Object.assign(t,n)}}if(!p.some(e=>"esriFieldTypeOID"===e.type&&(r.objectIdField=e.name,!0))){const e={name:"__OBJECTID",alias:"__OBJECTID",type:"esriFieldTypeOID",editable:!1,nullable:!1};r.objectIdField=e.name,p.unshift(e)}r.fields=p;const f=new k.A(r.fields);if(i.locationInfo&&(i.locationInfo.latitudeFieldName=f.get(i.locationInfo.latitudeFieldName).name,i.locationInfo.longitudeFieldName=f.get(i.locationInfo.longitudeFieldName).name),r.timeInfo){const e=r.timeInfo;if(e.startTimeField){const t=f.get(e.startTimeField);t?(e.startTimeField=t.name,t.type="esriFieldTypeDate"):e.startTimeField=null}if(e.endTimeField){const t=f.get(e.endTimeField);t?(e.endTimeField=t.name,t.type="esriFieldTypeDate"):e.endTimeField=null}if(e.trackIdField){const t=f.get(e.trackIdField);e.trackIdField=t?t.name:null}e.startTimeField||e.endTimeField||(r.timeInfo=null)}return i}(n,e);this._locationInfo=i.locationInfo,this._delimiter=i.delimiter;const{objectIdField:r,fields:s,extent:{spatialReference:a},timeInfo:l}=i.layerDefinition,h=new y.A({geometryType:"esriGeometryPoint",hasM:!1,hasZ:!1});this._featureIdInfo={type:"object-id",fieldName:r},this._queryEngine=new _.do({fieldsIndex:k.A.fromLayerJSON({fields:s,dateFieldsTimeReference:{timeZoneIANA:"UTC"}}),geometryType:"esriGeometryPoint",hasM:!1,hasZ:!1,timeInfo:l,featureIdInfo:this._featureIdInfo,spatialReference:a||{wkid:4326},featureStore:h});const c=this._createFeatures(n);this._queryEngine.featureStore.addMany(c);const{fullExtent:d,timeExtent:m}=await this._queryEngine.fetchRecomputedExtents();if(i.layerDefinition.extent=d,m){const{start:e,end:t}=m;i.layerDefinition.timeInfo.timeExtent=[e,t]}return i}async applyEdits(){throw new o.A("csv-layer:editing-not-supported","applyEdits() is not supported on CSVLayer")}async queryFeatures(e={},t={}){return await this._waitSnapshotComplete(),this._queryEngine.executeQuery(e,t.signal)}async queryFeatureCount(e={},t={}){return await this._waitSnapshotComplete(),this._queryEngine.executeQueryForCount(e,t.signal)}async queryObjectIds(e={},t={}){return await this._waitSnapshotComplete(),(await this._queryEngine.executeQueryForIds(e,t.signal)).filter(q.Et)}async queryExtent(e={},t={}){return await this._waitSnapshotComplete(),this._queryEngine.executeQueryForExtent(e,t.signal)}async querySnapping(e,t={}){return await this._waitSnapshotComplete(),await this._queryEngine.executeQueryForSnapping(e,t.signal)}async queryAttributeBins(e,t={}){return await this._waitSnapshotComplete(),this._queryEngine.executeAttributeBinsQuery(e,t.signal)}async refresh(e){this._loadOptions.customParameters=e,this._snapshotTask?.abort(),this._snapshotTask=(0,r.UT)(this._snapshotFeatures),this._snapshotTask.promise.then(e=>{this._queryEngine.featureStore.clear(),e&&this._queryEngine.featureStore.addMany(e)},e=>{this._queryEngine.featureStore.clear(),(0,l.zf)(e)||a.A.getLogger("esri.layers.CSVLayer").error(new o.A("csv-layer:refresh","An error occurred during refresh",{error:e}))}),await this._waitSnapshotComplete();const{fullExtent:t,timeExtent:n}=await this._queryEngine.fetchRecomputedExtents();return{extent:t,timeExtent:n}}async _waitSnapshotComplete(){if(this._snapshotTask&&!this._snapshotTask.finished){try{await this._snapshotTask.promise}catch{}return this._waitSnapshotComplete()}}async _fetch(e){const{url:t,customParameters:n}=this._loadOptions;if(!t)throw new o.A("csv-layer:invalid-source","url not defined");const r=(0,u.An)(t);return(await(0,i.A)(r.path,{query:{...r.query,...n},responseType:"text",signal:e})).data}_createFeatures(e){const{latitudeFieldName:t,longitudeFieldName:n}=this._locationInfo,{fieldsIndex:i,spatialReference:r}=this._queryEngine,o=this._featureIdInfo.fieldName;let a=[];const l=[],u=i.fields.filter(e=>e.name!==o).map(e=>e.name);let y=0;const g={};for(const e of i.fields)if("esriFieldTypeOID"!==e.type&&"esriFieldTypeGlobalID"!==e.type){const t=(0,w.lD)(e);void 0!==t&&(g[e.name]=t)}const _=A(e,u,this._delimiter,(0,Y.Vx)(g,o));for(const e of _){const r=this._parseCoordinateValue(e[t]),u=this._parseCoordinateValue(e[n]);if(null!=u&&null!=r&&!isNaN(r)&&!isNaN(u)){e[t]=r,e[n]=u;for(const r in e)if(r!==t&&r!==n)if(i.isDateField(r))e[r]=(0,s._)(e[r]);else if(i.isNumericField(r)){const t=P(e[r]);isNaN(t)?e[r]=null:e[r]=t}else null!=e[r]&&(e[r]=R(e[r]));e[o]=y,y++,a.push(new J(u,r)),l.push(e)}}if(!(0,d.aI)({wkid:4326},r))if((0,d.K8)(r))for(const e of a)[e.x,e.y]=(0,m.je)(e.x,e.y,j);else a=(0,h.projectMany)(a,c.A.WGS84,r);const x=[];for(let e=0;e<a.length;e++){const{x:t,y:n}=a[e],i=l[e];i[o]=e+1,x.push(new p.Om(new f.A([],[t,n]),i,null,i[o]))}return x}_parseCoordinateValue(e){if(null==e||""===e)return null;let t=P(e);return(isNaN(t)||Math.abs(t)>181)&&(t=parseFloat(e)),t}async _checkProjection(e){try{await(0,g.Nk)(d.KK,e)}catch{throw new o.A("csv-layer:projection-not-supported","Projection not supported")}}}},64714(e,t,n){n.d(t,{F0:()=>a,Vx:()=>h,e2:()=>d,f:()=>m});var i=n(44208),r=n(4718),s=n(99352),o=n(93470);function a(e){return{renderer:{type:"simple",symbol:"esriGeometryPoint"===e||"esriGeometryMultipoint"===e?o.Cb:"esriGeometryPolyline"===e?o.yM:o.WR}}}const l=/^[_$a-zA-Z][_$a-zA-Z0-9]*$/;let u=1;function h(e,t){if((0,i.A)("esri-csp-restrictions"))return()=>t?{[t]:null,...e}:{...e};try{let n="";t&&(n+=`this${c(t)} = null;`);for(const t in e)n+=`this${c(t)} = ${JSON.stringify(e[t])};`;const i=new Function(`\n return class AttributesClass$${u++} {\n constructor() {\n ${n};\n }\n }\n `)();return()=>new i}catch(n){return()=>t?{[t]:null,...e}:{...e}}}function c(e){return l.test(e)?`.${e}`:`[${JSON.stringify(e)}]`}function d(e={}){return[{name:"New Feature",description:"",prototype:{attributes:(0,r.o8)(e)}}]}function m(e,t){return{analytics:{supportsCacheHint:!1},attachment:null,data:{isVersioned:!1,isBranchVersioned:!1,supportedCurveTypes:[],supportsAttachment:!1,supportsM:!1,supportsTrueCurve:!1,supportsZ:e},metadata:{supportsAdvancedFieldProperties:!1},operations:{supportsCalculate:!1,supportsTruncate:!1,supportsValidateSql:!1,supportsAdd:t,supportsDelete:t,supportsEditing:t,supportsChangeTracking:!1,supportsQuery:!0,supportsQueryBins:!0,supportsQueryPivot:!1,supportsQueryAnalytics:!1,supportsQueryAttachments:!1,supportsQueryTopFeatures:!1,supportsResizeAttachments:!1,supportsSync:!1,supportsUpdate:t,supportsExceedsLimitStatistics:!0,supportsAsyncConvert3D:!1},query:s.F,queryRelated:{supportsCount:!0,supportsOrderBy:!0,supportsPagination:!0,supportsCacheHint:!1},queryTopFeatures:{supportsCacheHint:!1},queryAttributeBins:s.P,editing:{supportsGeometryUpdate:t,supportsGlobalId:!1,supportsReturnServiceEditsInSourceSpatialReference:!1,supportsRollbackOnFailure:!1,supportsTrueCurveUpdate:t,supportsTrueCurveUpdateByTrueCurveClientsOnly:!1,supportsUpdateWithoutM:!1,supportsUploadWithItemId:!1,supportsDeleteByAnonymous:!1,supportsDeleteByOthers:!1,supportsUpdateByAnonymous:!1,supportsUpdateByOthers:!1,supportsAsyncApplyEdits:!1,zDefault:void 0}}}},98453(e,t,n){const i=new(n(66552).J)({esriFieldTypeSmallInteger:"small-integer",esriFieldTypeInteger:"integer",esriFieldTypeSingle:"single",esriFieldTypeDouble:"double",esriFieldTypeLong:"long",esriFieldTypeString:"string",esriFieldTypeDate:"date",esriFieldTypeOID:"oid",esriFieldTypeGeometry:"geometry",esriFieldTypeBlob:"blob",esriFieldTypeRaster:"raster",esriFieldTypeGUID:"guid",esriFieldTypeGlobalID:"global-id",esriFieldTypeXML:"xml",esriFieldTypeBigInteger:"big-integer",esriFieldTypeDateOnly:"date-only",esriFieldTypeTimeOnly:"time-only",esriFieldTypeTimestampOffset:"timestamp-offset"});n.d(t,["m",0,i])},54625(e,t,n){n.d(t,{i_:()=>r});var i=n(30524);function r(e,t,n){t=(0,i.rS)(t)?.toLowerCase(),n=(0,i.rS)(n)?.toLowerCase();const r=e.map(e=>e.toLowerCase()),a=t?e[r.indexOf(t)]:null,l=n?e[r.indexOf(n)]:null;return{longitudeFieldName:a||e[r.indexOf(o.find(e=>r.includes(e)))],latitudeFieldName:l||e[r.indexOf(s.find(e=>r.includes(e)))]}}const s=["lat","lat83","latitude","latitude83","latdecdeg","lat_dd","y","ycenter","point_y"],o=["lon","lng","lng83","long","long83","longitude","longitude83","longdecdeg","long_dd","x","xcenter","point_x"];n.d(t,["A0",0,o,"bD",0,s])},93470(e,t,n){const i=[252,146,31,255],r={type:"esriSMS",style:"esriSMSCircle",size:6,color:i,outline:{type:"esriSLS",style:"esriSLSSolid",width:.75,color:[153,153,153,255]}},s={type:"esriSLS",style:"esriSLSSolid",width:.75,color:i};n.d(t,["Cb",0,r,"HW",0,{type:"esriSLS",style:"esriSLSSolid",color:[0,0,0,255],width:1.5},"JR",0,[153,153,153,255],"JZ",0,{type:"esriTS",color:[255,255,255,255],font:{family:"arial-unicode-ms",size:10,weight:"bold"},horizontalAlignment:"center",kerning:!0,haloColor:[0,0,0,255],haloSize:1,rotated:!1,text:"",xoffset:0,yoffset:0,angle:0},"WR",0,{type:"esriSFS",style:"esriSFSSolid",color:[252,146,31,196],outline:{type:"esriSLS",style:"esriSLSSolid",width:.75,color:[255,255,255,191]}},"b6",0,{type:"esriSFS",style:"esriSFSSolid",color:[0,0,0,255],outline:null},"fT",0,i,"nC",0,{type:"esriSMS",style:"esriSMSCircle",color:[0,0,0,255],outline:null,size:10.5},"yM",0,s])}}]);
@@ -1 +1 @@
1
- "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[4583],{9775(t,e,s){s.d(e,{A:()=>n});var i=s(62788),r=s(95488);class n{constructor(t=t=>t.values().next().value){this._peeker=t,this._observable=new r.I,this._items=new Set}get length(){return(0,i.gc)(this._observable),this._items.size}clear(){0!==this.length&&(this._items.clear(),this._observable.notify())}last(){if(0===this.length)return;let t;for(t of this._items);return t}peek(){if(0!==this.length)return this._peeker(this._items)}push(t){this.contains(t)||(this._items.add(t),this._observable.notify())}contains(t){return(0,i.gc)(this._observable),this._items.has(t)}pop(){if(0===this.length)return;const t=this.peek();return this._items.delete(t),this._observable.notify(),t}popLast(){if(0===this.length)return;const t=this.last();return this._items.delete(t),this._observable.notify(),t}remove(t){this.contains(t)&&(this._items.delete(t),this._observable.notify())}filter(t){const e=this.length;return this._items.forEach(e=>{t(e)||this._items.delete(e)}),e!==this._items.size&&this._observable.notify(),this}*[Symbol.iterator](){(0,i.gc)(this._observable),yield*this._items}}},69397(t,e,s){s.d(e,{Qf:()=>o,Qh:()=>n,lM:()=>r});var i=s(34275);function r(t){if(!t)return 0;let e=l;for(const s in t)t.hasOwnProperty(s)&&(e+=a(t[s],!1));return e}function n(t){if(!t)return 0;if("number"==typeof t[0])return o(t);if(Array.isArray(t))return function(t){const e=t.length;if(0===e||"number"==typeof t[0])return u(t,8);let s=h;for(let i=0;i<e;i++)s+=a(t[i]);return s}(t);let e=l;for(const s in t)t.hasOwnProperty(s)&&(e+=a(t[s]));return e}function a(t,e=!0){switch(typeof t){case"object":return e?n(t):l;case"string":return function(t){return 32+t.length}(t);case"number":return 16;case"boolean":return 4;default:return 8}}function o(...t){return t.reduce((t,e)=>t+(e?(0,i.iu)(e)?e.byteLength+c:Array.isArray(e)?u(e,16):0:0),0)}function u(t,e){return h+t.length*e}const l=32,h=16,c=145},36745(t,e,s){s.d(e,{z:()=>o});var i=s(4718),r=s(51118),n=s(60408),a=s(92722);class o{static fromOptimized(t,e,s=1){return(new u).initialize(t,e,s)}static fromJSON(t){const[e,s]=h(t),i=(0,n.Pv)(t),r=(0,n.W0)(t);return(new c).initialize(e,s,i,r,1)}static fromOptimizedCIM(t,e,s=1){return(new p).initialize(t,e,s)}static fromJSONCIM(t,e=1){const[s,i]=h(t),r=(0,n.Pv)(t),a=(0,n.W0)(t);return(new d).initialize(s,i,r,a,e)}static fromFeatureSetReader(t){const e=t.readGeometryForDisplay(),s=t.geometryType;return e&&s?this.fromOptimized(e,s):null}static fromFeatureSetReaderCIM(t){const e=t.readGeometryForDisplay(),s=t.geometryType;return e&&s?this.fromOptimizedCIM(e,s):null}static createEmptyOptimized(t,e=!1,s=!1,i=1){return(new p).initialize(new a.A([],[],e,s),t,i)}static createEmptyJSON(t,e=!1,s=!1){return(new c).initialize([],t,e,s,1)}static createEmptyOptimizedCIM(t,e=!1,s=!1,i=1){return(new p).initialize(new a.A([],[],e,s),t,i)}static createEmptyJSONCIM(t,e=!1,s=!1,i=1){return(new d).initialize([],t,e,s,i)}asJSON(){const t=(0,r.x)(this),{hasZ:e,hasM:s}=this;return"esriGeometryEnvelope"===this.geometryType?{xmin:t[0][0][0],ymin:t[0][0][1],xmax:t[0][2][0],ymax:t[0][2][1]}:"esriGeometryMultipoint"===this.geometryType?{points:t.flat(),hasZ:e,hasM:s}:"esriGeometryPoint"===this.geometryType?{x:t[0][0][0],y:t[0][0][1],z:e?t[0][0][2]:void 0,m:s?t[0][0][e?3:2]:void 0}:"esriGeometryPolygon"===this.geometryType?{rings:t,hasZ:e,hasM:s}:{paths:t,hasZ:e,hasM:s}}getCurrentRingArea(){if(this.pathSize<3)return 0;let t,e,s=0;if(this.seekPathStart(),!this.nextPoint())return 0;t=this.x,e=this.y;const i=t,r=e;for(;this.nextPoint();)s+=(t-this.x)*(e+this.y),t=this.x,e=this.y;return s+=(t-i)*(e+r),-.5*s}invertY(){this.yFactor*=-1}}class u extends o{constructor(){super(...arguments),this._end=-1}get hasZ(){return this._geometry?.hasZ}get hasM(){return this._geometry?.hasM}initialize(t,e,s){return this.geometryType=e,this._stride=t.stride,this._geometry=t,this._pathIndex=-1,this._pathOffset=0,this._pointOffset=-this._stride,this._end=-1,this.yFactor=s,this}reset(){this.initialize(this._geometry,this.geometryType,this.yFactor)}seekPath(t){if(t>=0&&t<this.totalSize){if(this._pathIndex<t)for(;this._pathIndex<t&&this.nextPath(););else if(this._pathIndex>t)for(;this._pathIndex>t&&this.prevPath(););return!0}return!1}seekPathStart(){this._pointOffset=this._pathOffset-this._stride}seekPathEnd(){this._pointOffset=this._end}seekInPath(t){const e=this._pathOffset+t*this._stride;return e>=0&&e<this._end&&(this._pointOffset=e,!0)}nextPoint(){return(this._pointOffset+=this._stride)<this._end}prevPoint(){return(this._pointOffset-=this._stride)>=this._pathOffset}nextPath(){return!(this.pathIndex>=this.totalSize-1||(this._pathIndex>=0&&(this._pathOffset+=this._stride*this.pathSize),this._pathIndex++,this._pointOffset=this._pathOffset-this._stride,this._end=this._pointOffset+this._stride+this._stride*this.pathSize,0))}prevPath(){return!(this.pathIndex<=0||(this._pathIndex--,this._end=this._pathOffset,this._pathOffset-=this._stride*this.pathSize,this._pointOffset=this._pathOffset-this._stride,0))}getCurrentPath(){const t=this._end,e=this._geometry.coords,s=this._pathOffset;return(new u).initialize(new a.A([this.pathSize],e.slice(s,t),this.hasZ,this.hasM),this.geometryType,this.yFactor)}pathLength(){const t=this._end,e=this._stride,s=this._geometry.coords;let i=0;for(let r=this._pathOffset+e;r<t;r+=e){const t=s[r-e],n=s[r-e+1],a=s[r]-t,o=s[r+1]-n;i+=Math.sqrt(a*a+o*o)}return i}startPath(){this._geometry.lengths.push(0)}pushPath(t){this.startPath(),this.pushPoints(t)}pushPoint(t){for(let e=0;e<this._stride;++e)this._geometry.coords.push(t[e]);this._geometry.lengths[this.totalSize-1]++}pushXY(t,e){this._geometry.coords.push(t,e),this._geometry.lengths[this.totalSize-1]++}pushPoints(t){for(const e of t)for(let t=0;t<this._stride;++t)this._geometry.coords.push(e[t]);this._geometry.lengths[this.totalSize-1]+=t.length}pushCursor(t){const e=t.asOptimized();this._geometry.coords.push(...e.coords),this._geometry.lengths.push(...e.lengths)}asOptimized(){const t=this._geometry.clone();if(1!==this.yFactor)for(let e=1;e<t.coords.length;e+=this._stride)t.coords[e]*=this.yFactor;return"esriGeometryPoint"===this.geometryType&&(t.lengths.length=0),t}isClosed(){const t=this._geometry.coords,e=this._pathOffset,s=this._end-this._stride;for(let i=0;i<this._stride;i++)if(t[e+i]!==t[s+i])return!1;return!0}clone(){return(new u).initialize(this._geometry.clone(),this.geometryType,this.yFactor)}get totalPoints(){return this._geometry.isPoint?1:this._geometry.lengths.reduce((t,e)=>t+e)}get pathSize(){const{lengths:t}=this._geometry;return this._geometry.isPoint?1:this._pathIndex<0||this._pathIndex>t.length-1?0:t[this._pathIndex]}get totalSize(){return this._geometry.isPoint?1:this._geometry.lengths.length}get x(){return this._geometry.coords[this._pointOffset]}set x(t){this._geometry.coords[this._pointOffset]=t}get y(){return this.yFactor*this._geometry.coords[this._pointOffset+1]}set y(t){this._geometry.coords[this._pointOffset+1]=this.yFactor*t}get z(){return this._geometry.coords[this._pointOffset+2]}set z(t){this._geometry.coords[this._pointOffset+2]=t}get m(){const t=this.hasZ?3:2;return this._geometry.coords[this._pointOffset+t]}set m(t){this._geometry.coords[this._pointOffset+3]=t}get pathIndex(){return this._pathIndex}get _coordIndex(){return this._pointOffset/this._stride}}function l(t){const e=[t.x,t.y];return t.z&&e.push(t.z),t.m&&e.push(t.m),e}function h(t){return(0,n.Bi)(t)?[t.rings,"esriGeometryPolygon"]:(0,n.Rg)(t)?[t.paths,"esriGeometryPolyline"]:(0,n.U9)(t)?[[t.points],"esriGeometryMultipoint"]:(0,n.ZC)(t)?[[[[t.xmin,t.ymin],[t.xmin,t.ymax],[t.xmax,t.ymax],[t.xmax,t.ymin],[t.xmin,t.ymin]]],"esriGeometryEnvelope"]:(0,n.fT)(t)?[[[l(t)]],"esriGeometryPoint"]:[[],"esriGeometryPolyline"]}class c extends o{initialize(t,e,s,i,r){return this._paths=t,this.geometryType=e,this.hasZ=s,this.hasM=i,this._pathIndex=this._pointIndex=-1,this.yFactor=r,this._mIndex=this.hasZ?3:2,this}reset(){this._pathIndex=this._pointIndex=-1}seekPath(t){return this._pathIndex=t,this._pointIndex=-1,t>=0&&t<this.totalSize&&(this._currentPath=this._paths[t],!0)}seekPathStart(){this._pointIndex=-1}seekPathEnd(){this._pointIndex=this._currentPath.length}seekInPath(t){return t>=0&&t<this._currentPath.length&&(this._pointIndex=t,this._currentPoint=this._currentPath[this._pointIndex],!0)}nextPoint(){return this._currentPoint=this._currentPath[++this._pointIndex],this._pointIndex<this._currentPath.length}prevPoint(){return this._currentPoint=this._currentPath[--this._pointIndex],this._pointIndex>=0}nextPath(){return this._pointIndex=-1,this._currentPath=this._paths[++this._pathIndex],this._pathIndex<this.totalSize}prevPath(){return this.pathIndex>0&&(this._pointIndex=-1,this._pathIndex--,this._currentPath=this._paths[this._pathIndex],!0)}pathLength(){const t=this._currentPath.length,e=this._currentPath;let s=0;for(let i=1;i<t;i++){const t=e[i-1],r=e[i],n=t[0],a=t[1],o=r[0]-n,u=r[1]-a;s+=Math.sqrt(o*o+u*u)}return s}startPath(){this._paths.push([])}getCurrentPath(){return(new c).initialize([this._currentPath],this.geometryType,this.hasZ,this.hasM,this.yFactor)}pushPath(t){this._paths.push(t)}pushPoint(t){this._paths[this.totalSize-1].push(t)}pushXY(t,e){this._paths[this.totalSize-1].push([t,e])}pushPoints(t){this._paths[this.totalSize-1].push(...t)}pushCursor(t){const e=(0,r.x)(t);for(const t of e)this.pushPath(t)}asOptimized(){const{hasZ:t,hasM:e}=this,s=new a.A([],[],t,e),{coords:i,lengths:r}=s;if("esriGeometryPoint"===this.geometryType)i.push(...this._paths[0][0]),r.length=0;else for(const s of this._paths){for(const r of s)i.push(r[0]),i.push(r[1]*this.yFactor),t&&i.push(r[2]),e&&i.push(r[this._mIndex]);r.push(s.length)}return s}isClosed(){const t=this._currentPath[0],e=this._currentPath[this._currentPath.length-1];for(let s=0;s<t.length;s++)if(t[s]!==e[s])return!1;return!0}clone(){return(new c).initialize((0,i.o8)(this._paths),this.geometryType,this.hasZ,this.hasM,this.yFactor)}get totalPoints(){return this._paths.map(t=>t.length).reduce((t,e)=>t+e)}get pathSize(){return this._pathIndex<0||this._pathIndex>this.totalSize-1?-1:this._paths[this._pathIndex].length}get totalSize(){return this._paths.length}get x(){return this._currentPoint[0]}set x(t){this._currentPoint[0]=t}get y(){return this.yFactor*this._currentPoint[1]}set y(t){this._currentPoint[1]=this.yFactor*t}get z(){return this._currentPoint[2]}set z(t){this._currentPoint[2]=t}get m(){return this._currentPoint[this._mIndex]}set m(t){this._currentPoint[this._mIndex]=t}get pathIndex(){return this._pathIndex}}class p extends u{initialize(t,e,s){return super.initialize(t,e,s),this._controlPoints||(this._controlPoints=this._controlPoints=new Array(this.totalSize).fill(void 0).map(t=>new Set)),this}startPath(){super.startPath(),this._controlPoints.push(new Set)}clone(){const t=(new p).initialize(this._geometry.clone(),this.geometryType,this.yFactor);return t._controlPoints=this._controlPoints,t}setControlPoint(){this._controlPoints[this.pathIndex].add(this._coordIndex)}getControlPoint(){return this._controlPoints[this.pathIndex].has(this._coordIndex)}setControlPointAt(t){this._controlPoints[this.pathIndex].add(t)}getControlPointAt(t){return this._controlPoints[this.pathIndex].has(t)}}class d extends c{initialize(t,e,s,i,r){return super.initialize(t,e,s,i,r)}clone(){return(new d).initialize((0,i.o8)(this._paths),this.geometryType,this.hasZ,this.hasM,this.yFactor)}setControlPoint(){this._paths[this.pathIndex][this._pointIndex][4]=1}getControlPoint(){return 1===this._paths[this.pathIndex][this._pointIndex][4]}setControlPointAt(t){this._paths[this.pathIndex][t][4]=1}getControlPointAt(t){return 1===this._paths[this.pathIndex][t][4]}}},32011(t,e,s){s.d(e,{d:()=>u});var i=s(19419),r=s(537),n=s(12359),a=s(95108),o=s(12176);function u(t){if(0===t.totalSize)return null;const e=(0,r.z8)(t);if(!e)return null;const s=4*(Math.abs(e[0])+Math.abs(e[2])+Math.abs(e[1])+Math.abs(e[3])+1)*222045e-19;let a=0,o=0;t.reset();for(let e=0;t.nextPath();e++){const s=t.getCurrentRingArea();s>o&&(o=s,a=e)}if(t.seekPath(a),0===t.pathSize)return null;t.seekPathStart();const u=(0,r.B$)(t);if(Math.abs(o)<=2*s*s)return[(u[0]+u[2])/2,(u[1]+u[3])/2];t.seekPathStart();const p=(0,n.w2)(t,(0,i.vt)());if(null===p)return null;if(t.totalPoints<4)return p;const d=[[NaN,NaN],[NaN,NaN],[NaN,NaN],[NaN,NaN]],f=[NaN,NaN,NaN,NaN],g=[NaN,NaN,NaN,NaN];let x=!1,w=h(p,t,!0);0===w.distance&&(x=!0,d[0][0]=p[0],d[0][1]=p[1],w=h(p,t,!1)),f[0]=w.distance,g[0]=0;const I=[NaN,NaN];let P=!1,F=.25,S=-1,v=NaN;do{if(v=NaN,d[1]=c(t,y(u[0],u[2],F),0,e),isNaN(d[1][0])||isNaN(d[1][1])||(w=h(d[1],t,!1),v=w.distance),!isNaN(v)&&v>s&&l(d[1],t))P=!0,f[1]=v,g[1]=_(d[1],p);else if(!isNaN(v)&&v>S&&(S=v,I[0]=d[1][0],I[1]=d[1][1]),F-=.01,F<.1){if(!(S>=0))break;P=!0,f[1]=S,d[1][0]=I[0],d[1][1]=I[1],g[1]=_(d[1],p)}}while(!P);P=!1,F=.5,S=-1;let b=.01,N=1;do{if(v=NaN,d[2]=c(t,y(u[0],u[2],F),0,e),isNaN(d[2][0])||isNaN(d[2][1])||(w=h(d[2],t,!1),v=w.distance),!isNaN(v)&&v>s&&l(d[2],t))P=!0,f[2]=v,g[2]=_(d[2],p);else if(!isNaN(v)&&v>S)S=v,I[0]=d[2][0],I[1]=d[2][1];else if(v>S&&(S=v,I[0]=d[2][0],I[1]=d[2][1]),F=.5+b*N,b+=.01,N*=-1,F<.3||F>.7){if(!(S>=0))break;P=!0,f[2]=S,d[2][0]=I[0],d[2][1]=I[1],g[2]=_(d[2],p)}}while(!P);P=!1,F=.75,S=-1;do{if(v=NaN,d[3]=c(t,y(u[0],u[2],F),0,e),isNaN(d[3][0])||isNaN(d[3][1])||(w=h(d[3],t,!1),v=w.distance),!isNaN(v)&&v>s&&l(d[3],t))P=!0,f[3]=v,g[3]=_(d[3],p);else if(v>S&&(S=v,I[0]=d[3][0],I[1]=d[3][1]),F+=.01,F>.9){if(!(S>=0))break;P=!0,f[3]=S,d[3][0]=I[0],d[3][1]=I[1],g[3]=_(d[3],p)}}while(!P);const O=[0,1,2,3],C=x?0:1;let z;for(let t=C;t<4;t++)for(let t=C;t<3;t++){const e=g[t],s=g[t+1];m(e,s)>0&&(z=O[t],O[t]=O[t+1],O[t+1]=z,g[t]=s,g[t+1]=e)}let R=C,q=0,M=0;for(let t=C;t<4;t++){switch(t){case 0:M=2*f[O[t]];break;case 1:M=1.66666666*f[O[t]];break;case 2:M=1.33333333*f[O[t]];break;case 3:M=f[O[t]]}M>q&&(q=M,R=O[t])}return d[R]}function l(t,e){let s,i,r,n,a=0;for(e.reset();e.nextPath()&&e.nextPoint();)for(s=e.x,i=e.y;e.nextPoint();s=r,i=n)r=e.x,n=e.y,i>t[1]!=n>t[1]&&((r-s)*(t[1]-i)-(n-i)*(t[0]-s)>0?a++:a--);return 0!==a}function h(t,e,s){if(s&&l(t,e))return{coord:t,distance:0};let i=1/0,r=0,n=0,o=[0,0],u=[0,0];const h=[0,0];for(e.reset();e.nextPath()&&e.nextPoint();)if(!(e.pathSize<2))for(o[0]=e.x,o[1]=e.y;e.nextPoint();o=u){u=[e.x,e.y],(0,a.gR)(h,t,o,u);const s=_(t,h);s<i&&(i=s,r=h[0],n=h[1])}return{coord:[r,n],distance:Math.sqrt(i)}}function c(t,e,s,r){const n=[e,0];let a=1/0,u=1/0,l=!1,h=!1;const c=[[e,r[1]-1],[e,r[3]+1]],f=[0,0],y=[0,0],_=[0,0],m=[[0,0],[0,0]],g=(0,i.vt)();for(t.reset();t.nextPath()&&t.nextPoint();)if(!(t.pathSize<2))for(m[0][0]=t.x,m[0][1]=t.y;t.nextPoint();m[0][0]=m[1][0],m[0][1]=m[1][1]){if(m[1][0]=t.x,m[1][1]=t.y,null===p(g,m))continue;if(y[0]=c[0][0],y[1]=c[0][1],_[0]=c[1][0],_[1]=c[1][1],0===d(g,y,_))continue;if(!(0,o.Ql)(c[0],c[1],m[0],m[1],f))continue;const e=f[1];a>u?e<a&&(a=e,l=!0):e<u&&(u=e,h=!0)}return l&&h?n[1]=(a+u)/2:n[0]=n[1]=NaN,n}function p(t,e){if(e.length<2)return null;t||(t=(0,i.vt)());const[s,r]=e[0],[n,a]=e[1];return t[0]=Math.min(s,n),t[1]=Math.min(r,a),t[2]=Math.max(s,n),t[3]=Math.max(r,a),t}function d(t,e,s){let i=f(e,t),r=f(s,t);const n=t[0],a=t[1],o=t[2],u=t[3];if(i&r)return 0;if(!(i|r))return 4;const l=(i?1:0)|(r?2:0);do{const l=s[0]-e[0],h=s[1]-e[1];if(l>h)3&i?(1&i?(e[1]+=h*(n-e[0])/l,e[0]=n):(e[1]+=h*(o-e[0])/l,e[0]=o),i=f(e,t)):3&r?(1&r?(s[1]+=h*(n-s[0])/l,s[0]=n):(s[1]+=h*(o-s[0])/l,s[0]=o),r=f(s,t)):i?(4&i?(e[0]+=l*(a-e[1])/h,e[1]=a):(e[0]+=l*(u-e[1])/h,e[1]=u),i=f(e,t)):(4&r?(s[0]+=l*(a-s[1])/h,s[1]=a):(s[0]+=l*(u-s[1])/h,s[1]=u),r=f(s,t));else if(12&i?(4&i?(e[0]+=l*(a-e[1])/h,e[1]=a):(e[0]+=l*(u-e[1])/h,e[1]=u),i=f(e,t)):12&r?(4&r?(s[0]+=l*(a-s[1])/h,s[1]=a):(s[0]+=l*(u-s[1])/h,s[1]=u),r=f(s,t)):i?(1&i?(e[1]+=h*(n-e[0])/l,e[0]=n):(e[1]+=h*(o-e[0])/l,e[0]=o),i=f(e,t)):(1&r?(s[1]+=h*(n-s[0])/l,s[0]=n):(s[1]+=h*(o-s[0])/l,s[0]=o),r=f(s,t)),i&r)return 0}while(i|r);return l}function f(t,e){return(t[0]<e[0]?1:0)|(t[0]>e[2]?1:0)<<1|(t[1]<e[1]?1:0)<<2|(t[1]>e[3]?1:0)<<3}function y(t,e,s){return t+(e-t)*s}function _(t,e){return(t[0]-e[0])*(t[0]-e[0])+(t[1]-e[1])*(t[1]-e[1])}function m(t,e){if(t<e)return-1;if(t>e)return 1;if(t===e)return 0;const s=isNaN(t),i=isNaN(e);return s<i?-1:s>i?1:0}},62815(t,e,s){s.d(e,{N:()=>o,d:()=>u});var i=s(86211),r=s(73941),n=s(21325),a=s(52006);function o(t,e,s){const i=u(e,s);if(1!==i)switch(t){case"point":case"esriGeometryPoint":return t=>function(t,e){null!=t?.z&&(t.z*=e)}(t,i);case"polyline":case"esriGeometryPolyline":return t=>function(t,e){if(t){if(t.curvePaths)for(const s of t.curvePaths)for(const t of s){const s=(0,a.yP)(t);s.length>2&&(s[2]*=e)}if(t.paths)for(const s of t.paths)for(const t of s)t.length>2&&(t[2]*=e)}}(t,i);case"polygon":case"esriGeometryPolygon":return t=>function(t,e){if(t){if(t.curveRings)for(const s of t.curveRings)for(const t of s){const s=(0,a.yP)(t);s.length>2&&(s[2]*=e)}if(t.rings)for(const s of t.rings)for(const t of s)t.length>2&&(t[2]*=e)}}(t,i);case"multipoint":case"esriGeometryMultipoint":return t=>function(t,e){if(t)for(const s of t.points)s.length>2&&(s[2]*=e)}(t,i);case"extent":case"esriGeometryEnvelope":return t=>function(t,e){t&&null!=t.zmin&&null!=t.zmax&&(t.zmin*=e,t.zmax*=e)}(t,i);default:return}}function u(t,e){return null==t||null==e||(0,n.aI)(t,e)||(0,r.xP)(t)||(0,r.xP)(e)?1:(0,i.G9)(t)/(0,i.G9)(e)}},6557(t,e,s){s.r(e),s.d(e,{default:()=>j});var i=s(5482),r=s(21818),n=s(49186),a=s(71511),o=s(44208),u=s(53966),l=s(17676),h=s(563),c=s(39516),p=s(86211),d=s(16930),f=s(70328),y=s(19419),_=s(21325),m=s(90708),g=s(29441),x=s(75752),w=s(99352),I=s(8384),P=s(58727),F=s(95031),S=s(24460),v=s(64714),b=s(17754),N=s(20437),O=s(95466),C=s(30524),z=s(50639),R=s(42760),q=s(39412),M=s(63892),A=s(30661),T=s(28923),E=s(44320),G=s(35258),k=s(16630);const Q=new A.Z,Z="__OBJECTID",D=new TextDecoder,B=8e3;class W{constructor(t,e){this._files=t,this._createFileStream=e,this._fileIndex=0,this._streamIndex=0,this._streams=[],this._pending=new Set,this._resolvedCount=0}async next(t){for(await this._fill(t);this._pending.size>0;){(0,l.Te)(t),await this._fill(t);const e=await V(this._pending);if(this._pending.delete(e.read),this._resolvedCount++,null!=e.chunk)return e.chunk}return null}async _fill(t){for(this._removeDone();this._pending.size<8;){const e=this._getOrCreateNextStream(t);if(null==e)return;this._pending.add(e.read(t))}}_getOrCreateNextStream(t){const e=this._resolvedCount>=8?8:2;if(this._fileIndex<this._files.length&&this._streams.length<e){const e=this._files[this._fileIndex++],s=new J(e.id,this._createFileStream(e,t));return this._streams.push(s),s}return this._getNextStream()}_getNextStream(){const t=this._streams.length;for(let e=0;e<t;e++){const s=(this._streamIndex+e)%t,i=this._streams[s];if(i.canRead)return this._streamIndex=(s+1)%t,i}return null}_removeDone(){let t=this._streamIndex;for(let e=this._streams.length-1;e>=0;e--)this._streams[e].done&&(this._streams.splice(e,1),e<t&&t--);this._streamIndex=this._streams.length>0?t%this._streams.length:0}}function V(t){return Promise.race(Array.from(t,async t=>({read:t,chunk:await t})))}class J{constructor(t,e){this._fileId=t,this._stream=e,this._readCount=0,this._reachedEnd=!1}get canRead(){return!this._reachedEnd}get done(){return this._reachedEnd&&0===this._readCount}async read(t){this._readCount++;try{const e=await this._stream,s=await e.next(t);return null==s?(this._reachedEnd=!0,null):{fileId:this._fileId,chunk:s}}finally{this._readCount--}}}class j{constructor(){this._hasZ=!1,this._hasM=!1,this._queue=new h.QueueProcessor({concurrency:4,process:(t,e)=>this._executeQuery(t,e)}),this._streams=new Map,this._streamIdCounter=0,this._indexMap={},this._handles=new a.A}async load(t){const e=t.spatialReference?d.A.fromJSON(t.spatialReference):void 0;if(e&&!e.isWGS84&&!e.isWebMercator)throw new n.A("parquet:unsupported-projection","Only WGS84 and Web Mercator are supported");this._customParameters=t.customParameters,this._loadParameters=t,await this._updateProvider((0,F.M)(t.provider,null,()=>this._customParameters));const s=await this._provider.getMetadata(),i=await(0,R.nc)(s,{fields:t.fields?.map(t=>N.A.fromJSON(t)),geometryEncoding:t.geometryEncoding?(0,z.G)(t.geometryEncoding):null,geometryType:t.geometryType?(0,R.hG)(t.geometryType):null,displayOptimization:t.displayOptimization,spatialReference:e});if(this._hasZ=!!s?.hasZ,this._hasM=!!s?.hasM,!i.fields)throw new n.A("parquet:unsupported","Fields must be defined");let r;if(i.spatialReference&&i.geometryType){if(!i.spatialReference)throw new n.A("parquet:unsupported","SpatialReference must be defined");if(!i.spatialReference.isGeographic&&!i.spatialReference.isWebMercator)throw new n.A("parquet:unsupported-projection","Only WGS84 and Web Mercator are supported");i.spatialReference.isGeographic&&!i.spatialReference.isWGS84&&(u.A.getLogger("parquet:unsupported-projection").warn("Found a geographic projection that is not WGS84. Handling as WGS84.",{spatialReference:i.spatialReference}),i.spatialReference=d.A.WGS84),r={geometry:i.geometryEncoding?{geometryType:(0,R.sA)(i.geometryType),spatialReference:i.spatialReference.toJSON(),encoding:i.geometryEncoding.toJSON()}:null,displayOptimization:i.displayOptimization}}this.setCustomParameters(t.customParameters),this._displayOptimization=i.displayOptimization,await this._provider.updateGeometryInfo(r),this._capabilities=rt(await this._getFileStatistics(),this._hasZ,this._hasM);const a=await this._provider.getFiles();if(!a.length)return{layerDefinition:{},capabilities:rt(null,this._hasZ,this._hasM)};const o=await a[0].file;i.file=o;const{fields:l}=i;if(null==l)throw new n.A("parquet-layer:missing-metadata","Unable to create parquet source: cannot infer fields",l);l.push(new N.A({name:Z,type:"oid",alias:Z}));for(const t of l){const e=o.getColumnId(t.name);null!=e&&(this._indexMap[t.name]=e)}const h=new O.A(l.map(t=>t.toJSON()));this._fieldsIndex=h;const c=(0,R.sA)(i.geometryType??"point");return this._metadata=G.i.createFeature({fieldsIndex:h.toJSON(),geometryType:c,hasZ:this._hasZ,hasM:this._hasM,featureIdInfo:{type:"object-id",fieldName:Z},subtypes:null,subtypeField:null,types:null,typeIdField:null,globalIdField:null,spatialReference:i.spatialReference,outSpatialReference:null,attributeSpatialReference:null,timeInfo:null,timeReferenceUnknownClient:null,dateFieldsTimeZone:null}),this._queryEngineParams={fieldsIndex:this._metadata.fieldsIndex,geometryType:c,featureIdInfo:{type:"object-id",fieldName:Z},hasM:this._hasM,hasZ:this._hasZ,spatialReference:i.spatialReference?.toJSON()??{wkid:4326},aggregateAdapter:null,timeInfo:null,definitionExpression:null},this._fullExtent=s?.extent?s.extent:await this._tryDeriveParquetFullExtent(i),{capabilities:this._capabilities,layerDefinition:{fields:i.fields?.map(t=>t.toJSON()),drawingInfo:(0,v.F0)(c),extent:this._fullExtent??void 0,geometryType:c,geometryEncoding:i.geometryEncoding?.toJSON(),displayOptimization:i.displayOptimization}}}destroy(){this._provider.destroy(),this._queue.destroy();for(const{handle:t}of this._streams.values())t.remove();this._streams.clear(),this._indexMap={},this._handles.removeAll()}async reload(t){this.destroy(),await this.load(t)}set remoteClient(t){this._source=t.createInvokeProxy("")}setCustomParameters(t){this._customParameters=t}getIndexMap(){return this._indexMap}async updateFileProvider(t){this._loadParameters={...this._loadParameters,provider:t};const e=(0,F.M)(t,this._provider.getGeometryInfo(),()=>this._customParameters);await this._updateProvider(e)}async getDiagnosticsSnapshot(){const t=await this._provider.getFiles();return{files:await Promise.all(t.map(t=>t.getDiagnosticsSnapshot()))}}async getColumnIndex(t){return(await this._getFileInfoById(t.fileId)).getColumnIndex(t.rowGroupIndex,t.columnIndex)}async getOffsetIndex(t){return(await this._getFileInfoById(t.fileId)).getOffsetIndex(t.rowGroupIndex,t.columnIndex)}async queryFeatures(t,e){const s=await(0,P.T2)(t,null,this._queryEngineParams.spatialReference);return this._validateQuery(s),function(t){return!!(t.objectIds?.length||t.outStatistics||t.orderByFields?.length||t.returnDistinctValues)}(s)||(s.resultRecordCount=s.resultRecordCount?Math.min(s.resultRecordCount,B):B,s.resultOffset=s.resultOffset??0),s.outStatistics?this._queryStatistics(s,e):(s.returnDistinctValues&&(s.returnGeometry=void 0),(await this._enqueueQuery(s,e)).createQueryResponse())}async queryFeatureCount(t,e){const s=await(0,P.T2)(t,null,this._queryEngineParams.spatialReference);return this._validateQuery(s),Y(s)?(s.outFields=void 0,s.returnGeometry=void 0,(await this._enqueueQuery(s,e)).createQueryResponseForCount()):this._getFeatureCount()}async queryObjectIds(t,e){const s=await(0,P.T2)(t,null,this._queryEngineParams.spatialReference);return this._validateQuery(s),Y(s)?(s.resultRecordCount=s.resultRecordCount?Math.min(s.resultRecordCount,8e3):8e3,s.resultOffset=s.resultOffset??0,s.returnGeometry=void 0,s.outFields=void 0,(await this._enqueueQuery(s,e)).items.map(t=>t.getObjectId())):Array.from({length:await this._getFeatureCount()},(t,e)=>e)}async queryAttributeBins(t,e={}){throw new n.A("parquet:unsupported","queryAttributeBins not supported.")}async queryExtent(t,e){const s=await(0,P.T2)(t,null,this._queryEngineParams.spatialReference);if(this._validateQuery(s),this._fullExtent&&!Y(s))return{count:await this._getFeatureCount(),extent:this._fullExtent};const i=(0,r.z)(this._metadata.spatialReference);s.returnGeometry=!0,s.outFields=void 0;const n=(0,f.hZ)((0,f.vt)(),f.qv),a=(0,f.vt)(),o=await this._enqueueQuery(s,e);let u=0;for(const t of o.items)t.getBounds(a)&&((0,f.RF)(n,a),u+=1);return{count:u,extent:(0,x.Wc)(n,i,s.outSR?(0,r.z)(s.outSR):i.toJSON(),i,!1)}}async queryStream(t,e){if(!e.signal)throw new Error("InternalError: AbortSignal must be passed");const s=await this._getCandidateFiles(t),i=new W(s,async(e,s)=>{const i=await e.file,r=await this._createParquetDisplayQuery(i,e.id,t);return i.executeQuery(r,B,s)}),r=this._streamIdCounter++,n=(0,l.NY)(e.signal,t=>{const e=this._streams.get(r);null!=e&&(e.handle.remove(),this._streams.delete(r))});return this._streams.set(r,{stream:i,handle:n}),r}async getStreamNext(t,e){if(!e.signal)throw new Error("InternalError: AbortSignal must be passed");const s=this._streams.get(t);if(!s)return{result:null};const i=await s.stream.next(e.signal);if(null==i)return s.handle.remove(),this._streams.delete(t),{result:null};const r=i.chunk.serialize().buffer,n={fileId:i.fileId,buffer:r};return r instanceof ArrayBuffer?{result:n,transferList:[r]}:{result:n}}async getStreamNextFeatures(t,e){const{result:s}=await this.getStreamNext(t,e);if(null==s)return null;const i=(await(0,q.N)()).ParquetChunk.deserialize(new Uint8Array(s.buffer)),r=new k.s(this._metadata,this._indexMap,i,s.fileId),n=[];for(;r.next();){const t=(0,m.zv)(r.readGeometryWorldSpace(),r.geometryType,r.hasZ,r.hasM),e=r.readAttributes();n.push({attributes:e,geometry:t})}return{features:n}}async createPatch(t,e,s,i,r){if(!r.signal)throw new Error("InternalError: AbortSignal must be passed");const n=await this._getFileInfoById(t),a=await n.file;return(await a.createChunkPatch(e,s,i,r.signal)).serialize().buffer}async _updateProvider(t){const e=this._provider;this._handles.removeAll(),this._provider=t,this._handles.add([t.events.on("rangeRead",t=>{this._source.onRangeRead(t)}),t.events.on("sourceChanged",async()=>{await this.reload(this._loadParameters),await this._source.onSourceChange()})]),await(e?.destroy())}async _getCandidateFiles(t){const e=await this._provider.getFiles(),s=await this._getSpatialFilePruning(t);if(null==s)return e;const i=e.filter(t=>this._mayIncludeFileForSpatialPruning(t,s));return"xz"===s.type?function(t,e){return t.slice().sort((t,s)=>{const i=it(t,e),r=it(s,e);return i===r?0:i<r?-1:1})}(i,s):i}async _queryStatistics(t,e){const s=await(0,P.T2)({...t},null,this._queryEngineParams.spatialReference);if(s.returnGeometry=void 0,function(t,e){return!!t.outStatistics?.length&&!Y(t)&&!t.groupByFieldsForStatistics?.length&&!t.orderByFields?.length&&!t.returnDistinctValues&&!t.returnAggIds&&t.outStatistics.every(t=>function(t,e){switch(t.statisticType){case"count":return"1"===t.onStatisticField||null!=e.get(t.onStatisticField);case"min":case"max":{const s=e.get(t.onStatisticField);return null!=s&&(0,C.WA)(s)}default:return!1}}(t,e))}(s,this._fieldsIndex)){const t=await this._getStatisticsFromFiles(s);if(t)return t}return(await this._enqueueQuery(s,e)).createQueryResponse()}async _getStatisticsFromFiles(t){const e=await this._provider.getFiles(),s={},i=[];for(const r of t.outStatistics??[]){const t=K(r,e);if(!t.available)return null;s[r.outStatisticFieldName]=t.value,i.push(X(r,this._fieldsIndex))}return{fields:i,features:[{attributes:s}]}}async _getSpatialFilePruning(t){if("tile"!==t.type&&("arcade"!==t.type||null==t.extent))return null;const e=this._displayOptimization,s=e?.index;if(null==s)return null;const i=t.outSpatialReference.wkid;if(null==s.wkid||null==i)return null;const r=s.wkid,n=await(0,q.N)();switch(s.type){case"xz":return{type:"xz",fieldName:(0,M.FG)(s.code),intersects:(e,a)=>n.queryIntersectsXZStatistics(s.fullExtent,t.extent,i,r,s.maxLevel,e,a)};case"z":return{type:"xy",xFieldName:(0,M.FG)(s.xColumn),yFieldName:(0,M.FG)(s.yColumn),intersects:(e,s,a,o)=>n.queryIntersectsXYStatistics(t.extent,i,r,e,s,a,o)}}}_mayIncludeFileForSpatialPruning(t,e){switch(e.type){case"xz":{const s=st(t,e);return"null-only"!==s?.type&&("bounds"!==s?.type||e.intersects(s.minValue,s.maxValue))}case"xy":{const s=t.statistics.statistics.get(e.xFieldName),i=t.statistics.statistics.get(e.yFieldName);return"null-only"!==s?.type&&"null-only"!==i?.type&&("bounds"!==s?.type||"bounds"!==i?.type||e.intersects(s.minValue,s.maxValue,i.minValue,i.maxValue))}}}async _tryDeriveParquetFullExtent(t){if(!t.spatialReference)return null;if(null==this._fullExtent&&"location"===t.geometryEncoding?.type){const e=await this._provider.getFiles(),{xField:s,yField:r}=t.geometryEncoding,n=(0,f.hZ)((0,f.vt)(),f.qv);let a=!1;for(const t of e){const e=await t.file;for(const t of e.rowGroups()){const e={stack:[],error:void 0,hasError:!1};try{const o=(0,i.mS)(e,t.columnDescriptorForAttribute(s),!1),u=(0,i.mS)(e,t.columnDescriptorForAttribute(r),!1),l=(0,S.Hk)(o),h=(0,S.Hk)(u);if("bounds"===l?.type&&"bounds"===h?.type){const t=[l.minValue,h.minValue,l.maxValue,h.maxValue];(0,f.DC)(n,t),a=!0}t.free()}catch(t){e.error=t,e.hasError=!0}finally{(0,i.hk)(e)}}}return a?{xmin:n[0],ymin:n[1],xmax:n[3],ymax:n[4],spatialReference:t.spatialReference?.toJSON()}:null}return null}async _getFileInfoById(t){const e=await this._provider.getFiles();for(const s of e)if(s.id===t)return s;throw new Error(`InternalError: File ${t} does not exist`)}async _getFileStatistics(){return{featureCount:await this._getFeatureCount(),byteLength:await this._getByteLength()}}async _getFile(t){return(await this._getFileInfoById(t)).file}async _createParquetQuery(t,e,s,i,r){const n=(await(0,q.N)()).Query.new();null!=s&&n.setPreFilterStart(s),null!=i&&n.setPreFilterCount(i),null!=r&&n.setPostFilterCount(r);const a=await this._getRequiredFields(t);n.setOutFields(a),(t.geometry||t.returnGeometry)&&n.setReturnGeometry(!0),n.setReturnZ(!!t.returnZ),n.setReturnM(!!t.returnM);const o=this._tryGetGeneralizedGeometryResolution(t);null!=o&&n.setSourceResolution(o);const u=t.geometry?.spatialReference??this._queryEngineParams.spatialReference,l=u.wkid;if(t.geometry&&((0,_.K8)(u)||(0,_.oT)(u))){const e=(0,y.C)((0,y.vt)(),y.qv);for(const s of(0,x.qo)(t.geometry))(0,y.DC)(e,s);n.setOutSpatialReference(l),n.setExtent({xmin:e[0],ymin:e[1],xmax:e[2],ymax:e[3]})}if(t.where){const{id:s,file:i}=e;await this._setWhereClause(n,await i,s,t.where)}return n}async _createParquetDisplayQuery(t,e,s){const i=(await(0,q.N)()).Query.new();if("tile"===s.type){i.setExtent(s.extent),i.setQuantizationTransform(s.transform);const t=this._sourceResolution(s.resolution,s.outSpatialReference);null!=t&&i.setSourceResolution(t)}else"arcade"===s.type&&null!=s.extent&&i.setExtent(s.extent);return i.setOutFields(s.outFields.filter(t=>null!=this._indexMap[t])),i.setOutSpatialReference(s.outSpatialReference.wkid),i.setReturnGeometry(s.returnGeometry),i.setReturnZ(s.returnZ),i.setReturnM(s.returnM),s.where&&await this._setWhereClause(i,t,e,s.where),i}async _getFeatureCount(){return(await this._provider.getFiles()).map(t=>t.statistics.rowCount).reduce((t,e)=>t+e,0)}async _getByteLength(){return(await this._provider.getFiles()).map(t=>t.statistics.byteSize).reduce((t,e)=>t+e,0)}_validateQuery(t){if(!this._capabilities.query.supportsStatistics&&t.outStatistics)throw new n.A("parquet:unsupported","Statistics queries are not supported",{query:t});if(!this._capabilities.query.supportsOrderBy&&t.orderByFields?.length)throw new n.A("parquet:unsupported","Queries using orderBy are not supported",{query:t});if(!this._capabilities.query.supportsDistinct&&t.returnDistinctValues)throw new n.A("parquet:unsupported","Queries using returnDistinctValues are not supported",{query:t})}async _setWhereClause(t,e,s,i){const r=this._indexMap,a=this._fieldsIndex,o={getAttribute(t,i){const n=r[i];if(null==n){const e=a.get(i);if("__OBJECTID"===e?.name){const e=t.row+t.rowGroupStart;return(0,b.xb)(s,e)}return null}const o=e.readAttribute(t.rowGroup,t.row,n);if(null==o)return null;const u=a.get(i);return"esriFieldTypeString"===u.type||"esriFieldTypeDateOnly"===u.type||"esriFieldTypeTimeOnly"===u.type||"esriFieldTypeTimestampOffset"===u.type?D.decode(o):o}},u=await(0,c.GP)(i,this._fieldsIndex);if(!u.isStandardized)throw new n.A("sql-parse-error","expression is not standardized");const l=u.fieldNames.map(t=>a.get(t)).filter(t=>t&&null!=this._indexMap[t?.name]);t.setWhere(i),t.setWhereEvaluator((t,e,s)=>u.testFeatureCompiled({rowGroup:t,row:e,rowGroupStart:s},o,null)),t.setWhereFields(l.map(t=>t.name))}async*_streamFeatures(t,e,s,i,r){const n=await this._provider.getFiles();let a=0;for(const o of n){const n=a,u=a+o.statistics.rowCount;if(a+=o.statistics.rowCount,null!=e&&e>=u)continue;const l=null!=e?Math.max(e-n,0):null;let h=s;if(null!=s){const t=e??0,i=t+s,r=Math.max(t,n),a=Math.min(i,u);h=Math.max(a-r,0)}if(0===h)continue;const c=await this._createParquetQuery(t,o,l,h,i),p=await o.file,d=await p.executeQuery(c,B),f=async()=>{const t=await d.next(r);if(!t)return null;const e=new k.s(this._metadata,this._indexMap,t,o.id);return et([new T.j(e,null,0,!1)],this._queryEngineParams)};let y=await f();for(;null!=y;)yield y,y=await f()}}async _queryFeaturesWithQueryEnginePagination(t,e){const s=[],i=this._streamFeatures(t,null,null,null,e);let r=await i.next();for(;!r.done;){const n=await r.value.executeQueryForOpaqueFeatures({...t,where:void 0},e);for(const t of n)s.push(t);r=await i.next()}return s}async _queryFeaturesWithUpfrontPagination(t,e){let s,i,r,n=t.resultOffset??0,a=t.resultRecordCount??B;!function(t){for(const e in t){const s=e;if(L(s)&&null!==t[s])return!0}return!1}(t)?(n&&(s=n,n=0),i=t.resultRecordCount):function(t){for(const e in t){const s=e;if(H(s)&&null!==t[s])return!0}return!1}(t)||(r=n+a);const o=[],u=this._streamFeatures(t,s,i,r,e);let l=await u.next();for(;!l.done&&a>0;){const s=await l.value.executeQueryForOpaqueFeatures({...t,where:void 0},e);for(const t of s)if(n>0)n--;else if(o.push(t),--a<=0)return o;l=await u.next()}return o}_enqueueQuery(t,e){return this._queue.push(t,e)}async _executeQuery(t,e){if(t.objectIds?.length){const s=new Map;for(const e of t.objectIds){const t=(0,b.wY)(e),i=(0,b.gE)(e);let r=s.get(t);r||(r=[],s.set(t,r)),r.push(i)}const i=[];for(const[r,n]of s.entries()){const s=await this._executeFileIdQuery(t,r,n,e);for(const t of s)i.push(t)}return new I.G(i,t,{fieldsIndex:this._fieldsIndex,geometryType:this._metadata.geometryType,spatialReference:this._queryEngineParams.spatialReference,hasM:this._hasM,hasZ:this._hasZ,featureAdapter:Q,featureIdInfo:this._queryEngineParams.featureIdInfo})}if("1=1"===t.where&&(t.where=null),t.resultOffset??=0,t.resultRecordCount??=await this._getFeatureCount(),t.resultRecordCount>2e7&&(!this._displayOptimization||!t.geometry))throw new n.A("parquet:cannot-execute-query","Unable to execute query, dataset is too large.");const s=!!t.orderByFields?.length||!!t.outStatistics?.length||!!t.returnDistinctValues,i=s?await this._queryFeaturesWithQueryEnginePagination(t,e):await this._queryFeaturesWithUpfrontPagination(t,e);return s||(t.resultOffset=0),new I.G(i,t,{fieldsIndex:this._fieldsIndex,geometryType:this._metadata.geometryType,spatialReference:this._queryEngineParams.spatialReference,hasM:this._hasM,hasZ:this._hasZ,featureAdapter:Q,featureIdInfo:this._queryEngineParams.featureIdInfo})}async _executeFileIdQuery(t,e,s,i){const r=await this._getRequiredFields(t),n=(await(0,q.N)()).Query.new();n.setOutFields(r),n.setReturnGeometry(!!t.returnGeometry),n.setReturnZ(!!t.returnZ),n.setReturnM(!!t.returnM),n.setIds(new Uint32Array(s));const a=await this._getFile(e),o=await a.executeQuery(n,B,i);let u=await o.next(i),l=0;const h=[];for(;null!=u;){const t=new k.s(this._metadata,this._indexMap,u,e),s=new T.j(t,null,l++,!1);h.push(s),u=await o.next(i)}return et(h,this._queryEngineParams).executeQueryForOpaqueFeatures(t,i)}async _getRequiredFields(t){const e=new Set;if(t.outStatistics)for(const s of(0,g.g9)(this._fieldsIndex,t.outStatistics,t.groupByFieldsForStatistics))e.add(s);else if(t.outFields)for(const s of t.outFields)e.add(s);return(e.has("*")?this._fieldsIndex.fields.map(t=>t.name):Array.from(e)).filter(t=>null!=this._indexMap[t])}_tryGetGeneralizedGeometryResolution(t){if(!this._displayOptimization)return null;const e=t.outSR??this._queryEngineParams.spatialReference;if(!(0,_.K8)(e)&&!(0,_.oT)(e))return null;const s=t.quantizationParameters?.tolerance??t.maxAllowableOffset;return s?this._sourceResolution(s,e):null}_sourceResolution(t,e){const s=this._queryEngineParams.spatialReference,i=t*((0,p.GA)(e)/(0,p.GA)(s));return!Number.isFinite(i)||i<=0?null:i}}function U(t){switch(t){case"fullText":case"having":case"timeExtent":case"historicMoment":case"aggregateIds":case"uniqueIds":case"gdbVersion":case"objectIds":case"where":case"geometry":case"resultOffset":case"resultRecordCount":return!0;default:return!1}}function L(t){switch(t){case"fullText":case"having":case"timeExtent":case"historicMoment":case"aggregateIds":case"uniqueIds":case"gdbVersion":case"objectIds":case"where":case"geometry":return!0;default:return!1}}function H(t){switch(t){case"fullText":case"having":case"timeExtent":return!0;case"historicMoment":case"aggregateIds":case"uniqueIds":case"gdbVersion":case"objectIds":case"where":case"resultOffset":case"geometry":case"resultRecordCount":return!1}return!1}function Y(t){for(const e in t){const s=e;if(U(s)&&null!==t[s])return!0}return!1}function X(t,e){const s="exceedslimit"!==t.statisticType?e.get(t.onStatisticField):null,i="min"!==t.statisticType&&"max"!==t.statisticType||"esriFieldTypeDate"!==s?.type?"esriFieldTypeDouble":s.type;return{name:t.outStatisticFieldName,alias:t.outStatisticFieldName,type:i}}function K(t,e){switch(t.statisticType){case"count":return function(t,e){if("count"!==t.statisticType)return{available:!1,value:null};if("1"===t.onStatisticField)return{available:!0,value:e.reduce((t,e)=>t+e.statistics.rowCount,0)};let s=0;for(const i of e){const e=i.statistics.statistics.get(t.onStatisticField);if(null==e||null==e.nullCount)return{available:!1,value:null};s+=i.statistics.rowCount-e.nullCount}return{available:!0,value:s}}(t,e);case"min":return $(t,e,Math.min);case"max":return $(t,e,Math.max);default:return{available:!1,value:null}}}function $(t,e,s){if("min"!==t.statisticType&&"max"!==t.statisticType)return{available:!1,value:null};let i=null;const r="min"===t.statisticType?"minValue":"maxValue";for(const n of e){const e=n.statistics.statistics.get(t.onStatisticField);if(null==e)return{available:!1,value:null};switch(e.type){case"null-only":continue;case"unknown":return{available:!1,value:null};case"bounds":{const t=tt(e[r]);if(null==t)return{available:!1,value:null};i=null==i?t:s(i,t);break}}}return{available:!0,value:i}}function tt(t){return"number"==typeof t&&Number.isFinite(t)?t:null}function et(t,e){const s=new E.I;for(const e of t)s.insert(e);return new x.do({...e,featureStore:s})}function st(t,e){return t.statistics.statistics.get(e.fieldName)??null}function it(t,e){const s=st(t,e);return"bounds"!==s?.type?Number.POSITIVE_INFINITY:s.maxValue-s.minValue}function rt(t,e,s){const i=t?.featureCount;let r=!1;return null!=i&&i<(0,o.A)("parquetlayer-full-query-feature-count")&&(r=!0),{analytics:{supportsCacheHint:!1},attachment:null,data:{isVersioned:!1,isBranchVersioned:!1,supportedCurveTypes:[],supportsAttachment:!1,supportsM:s,supportsTrueCurve:!1,supportsZ:e},metadata:{supportsAdvancedFieldProperties:!1},operations:{supportsCalculate:!1,supportsTruncate:!1,supportsValidateSql:!1,supportsAdd:!1,supportsDelete:!1,supportsEditing:!1,supportsChangeTracking:!1,supportsQuery:!0,supportsQueryBins:!1,supportsQueryPivot:!1,supportsQueryAnalytics:!1,supportsQueryAttachments:!1,supportsQueryTopFeatures:!1,supportsResizeAttachments:!1,supportsSync:!1,supportsUpdate:!1,supportsExceedsLimitStatistics:!1,supportsAsyncConvert3D:!1},query:{...w.F,maxRecordCount:B,supportsOrderBy:r,supportsDistinct:!0,supportsStatistics:!0,supportsSpatialAggregationStatistics:!1,supportedSpatialAggregationStatistics:{envelope:!1,centroid:!1,convexHull:!1}},queryAttributeBins:{supportsDate:!1,supportsFixedInterval:!1,supportsAutoInterval:!1,supportsFixedBoundaries:!1,supportsStackBy:!1,supportsSplitBy:!1,supportsSnapToData:!1,supportsReturnFullIntervalBin:!1,supportsFirstDayOfWeek:!1,supportsNormalization:!1},queryRelated:{supportsCount:!1,supportsOrderBy:!1,supportsPagination:!1,supportsCacheHint:!1},queryTopFeatures:{supportsCacheHint:!1},editing:{supportsDeleteByAnonymous:!1,supportsDeleteByOthers:!1,supportsGeometryUpdate:!1,supportsGlobalId:!1,supportsTrueCurveUpdate:!1,supportsTrueCurveUpdateByTrueCurveClientsOnly:!0,supportsReturnServiceEditsInSourceSpatialReference:!1,supportsRollbackOnFailure:!1,supportsUpdateByAnonymous:!1,supportsUpdateByOthers:!1,supportsUploadWithItemId:!1,supportsUpdateWithoutM:!1,supportsAsyncApplyEdits:!1,zDefault:void 0}}}}}]);
1
+ "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[4583],{9775(t,e,s){s.d(e,{A:()=>n});var i=s(62788),r=s(95488);class n{constructor(t=t=>t.values().next().value){this._peeker=t,this._observable=new r.I,this._items=new Set}get length(){return(0,i.gc)(this._observable),this._items.size}clear(){0!==this.length&&(this._items.clear(),this._observable.notify())}last(){if(0===this.length)return;let t;for(t of this._items);return t}peek(){if(0!==this.length)return this._peeker(this._items)}push(t){this.contains(t)||(this._items.add(t),this._observable.notify())}contains(t){return(0,i.gc)(this._observable),this._items.has(t)}pop(){if(0===this.length)return;const t=this.peek();return this._items.delete(t),this._observable.notify(),t}popLast(){if(0===this.length)return;const t=this.last();return this._items.delete(t),this._observable.notify(),t}remove(t){this.contains(t)&&(this._items.delete(t),this._observable.notify())}filter(t){const e=this.length;return this._items.forEach(e=>{t(e)||this._items.delete(e)}),e!==this._items.size&&this._observable.notify(),this}*[Symbol.iterator](){(0,i.gc)(this._observable),yield*this._items}}},69397(t,e,s){s.d(e,{Qf:()=>o,Qh:()=>n,lM:()=>r});var i=s(34275);function r(t){if(!t)return 0;let e=l;for(const s in t)t.hasOwnProperty(s)&&(e+=a(t[s],!1));return e}function n(t){if(!t)return 0;if("number"==typeof t[0])return o(t);if(Array.isArray(t))return function(t){const e=t.length;if(0===e||"number"==typeof t[0])return u(t,8);let s=h;for(let i=0;i<e;i++)s+=a(t[i]);return s}(t);let e=l;for(const s in t)t.hasOwnProperty(s)&&(e+=a(t[s]));return e}function a(t,e=!0){switch(typeof t){case"object":return e?n(t):l;case"string":return function(t){return 32+t.length}(t);case"number":return 16;case"boolean":return 4;default:return 8}}function o(...t){return t.reduce((t,e)=>t+(e?(0,i.iu)(e)?e.byteLength+c:Array.isArray(e)?u(e,16):0:0),0)}function u(t,e){return h+t.length*e}const l=32,h=16,c=145},36745(t,e,s){s.d(e,{z:()=>o});var i=s(4718),r=s(51118),n=s(60408),a=s(92722);class o{static fromOptimized(t,e,s=1){return(new u).initialize(t,e,s)}static fromJSON(t){const[e,s]=h(t),i=(0,n.Pv)(t),r=(0,n.W0)(t);return(new c).initialize(e,s,i,r,1)}static fromOptimizedCIM(t,e,s=1){return(new p).initialize(t,e,s)}static fromJSONCIM(t,e=1){const[s,i]=h(t),r=(0,n.Pv)(t),a=(0,n.W0)(t);return(new d).initialize(s,i,r,a,e)}static fromFeatureSetReader(t){const e=t.readGeometryForDisplay(),s=t.geometryType;return e&&s?this.fromOptimized(e,s):null}static fromFeatureSetReaderCIM(t){const e=t.readGeometryForDisplay(),s=t.geometryType;return e&&s?this.fromOptimizedCIM(e,s):null}static createEmptyOptimized(t,e=!1,s=!1,i=1){return(new p).initialize(new a.A([],[],e,s),t,i)}static createEmptyJSON(t,e=!1,s=!1){return(new c).initialize([],t,e,s,1)}static createEmptyOptimizedCIM(t,e=!1,s=!1,i=1){return(new p).initialize(new a.A([],[],e,s),t,i)}static createEmptyJSONCIM(t,e=!1,s=!1,i=1){return(new d).initialize([],t,e,s,i)}asJSON(){const t=(0,r.x)(this),{hasZ:e,hasM:s}=this;return"esriGeometryEnvelope"===this.geometryType?{xmin:t[0][0][0],ymin:t[0][0][1],xmax:t[0][2][0],ymax:t[0][2][1]}:"esriGeometryMultipoint"===this.geometryType?{points:t.flat(),hasZ:e,hasM:s}:"esriGeometryPoint"===this.geometryType?{x:t[0][0][0],y:t[0][0][1],z:e?t[0][0][2]:void 0,m:s?t[0][0][e?3:2]:void 0}:"esriGeometryPolygon"===this.geometryType?{rings:t,hasZ:e,hasM:s}:{paths:t,hasZ:e,hasM:s}}getCurrentRingArea(){if(this.pathSize<3)return 0;let t,e,s=0;if(this.seekPathStart(),!this.nextPoint())return 0;t=this.x,e=this.y;const i=t,r=e;for(;this.nextPoint();)s+=(t-this.x)*(e+this.y),t=this.x,e=this.y;return s+=(t-i)*(e+r),-.5*s}invertY(){this.yFactor*=-1}}class u extends o{constructor(){super(...arguments),this._end=-1}get hasZ(){return this._geometry?.hasZ}get hasM(){return this._geometry?.hasM}initialize(t,e,s){return this.geometryType=e,this._stride=t.stride,this._geometry=t,this._pathIndex=-1,this._pathOffset=0,this._pointOffset=-this._stride,this._end=-1,this.yFactor=s,this}reset(){this.initialize(this._geometry,this.geometryType,this.yFactor)}seekPath(t){if(t>=0&&t<this.totalSize){if(this._pathIndex<t)for(;this._pathIndex<t&&this.nextPath(););else if(this._pathIndex>t)for(;this._pathIndex>t&&this.prevPath(););return!0}return!1}seekPathStart(){this._pointOffset=this._pathOffset-this._stride}seekPathEnd(){this._pointOffset=this._end}seekInPath(t){const e=this._pathOffset+t*this._stride;return e>=0&&e<this._end&&(this._pointOffset=e,!0)}nextPoint(){return(this._pointOffset+=this._stride)<this._end}prevPoint(){return(this._pointOffset-=this._stride)>=this._pathOffset}nextPath(){return!(this.pathIndex>=this.totalSize-1||(this._pathIndex>=0&&(this._pathOffset+=this._stride*this.pathSize),this._pathIndex++,this._pointOffset=this._pathOffset-this._stride,this._end=this._pointOffset+this._stride+this._stride*this.pathSize,0))}prevPath(){return!(this.pathIndex<=0||(this._pathIndex--,this._end=this._pathOffset,this._pathOffset-=this._stride*this.pathSize,this._pointOffset=this._pathOffset-this._stride,0))}getCurrentPath(){const t=this._end,e=this._geometry.coords,s=this._pathOffset;return(new u).initialize(new a.A([this.pathSize],e.slice(s,t),this.hasZ,this.hasM),this.geometryType,this.yFactor)}pathLength(){const t=this._end,e=this._stride,s=this._geometry.coords;let i=0;for(let r=this._pathOffset+e;r<t;r+=e){const t=s[r-e],n=s[r-e+1],a=s[r]-t,o=s[r+1]-n;i+=Math.sqrt(a*a+o*o)}return i}startPath(){this._geometry.lengths.push(0)}pushPath(t){this.startPath(),this.pushPoints(t)}pushPoint(t){for(let e=0;e<this._stride;++e)this._geometry.coords.push(t[e]);this._geometry.lengths[this.totalSize-1]++}pushXY(t,e){this._geometry.coords.push(t,e),this._geometry.lengths[this.totalSize-1]++}pushPoints(t){for(const e of t)for(let t=0;t<this._stride;++t)this._geometry.coords.push(e[t]);this._geometry.lengths[this.totalSize-1]+=t.length}pushCursor(t){const e=t.asOptimized();this._geometry.coords.push(...e.coords),this._geometry.lengths.push(...e.lengths)}asOptimized(){const t=this._geometry.clone();if(1!==this.yFactor)for(let e=1;e<t.coords.length;e+=this._stride)t.coords[e]*=this.yFactor;return"esriGeometryPoint"===this.geometryType&&(t.lengths.length=0),t}isClosed(){const t=this._geometry.coords,e=this._pathOffset,s=this._end-this._stride;for(let i=0;i<this._stride;i++)if(t[e+i]!==t[s+i])return!1;return!0}clone(){return(new u).initialize(this._geometry.clone(),this.geometryType,this.yFactor)}get totalPoints(){return this._geometry.isPoint?1:this._geometry.lengths.reduce((t,e)=>t+e)}get pathSize(){const{lengths:t}=this._geometry;return this._geometry.isPoint?1:this._pathIndex<0||this._pathIndex>t.length-1?0:t[this._pathIndex]}get totalSize(){return this._geometry.isPoint?1:this._geometry.lengths.length}get x(){return this._geometry.coords[this._pointOffset]}set x(t){this._geometry.coords[this._pointOffset]=t}get y(){return this.yFactor*this._geometry.coords[this._pointOffset+1]}set y(t){this._geometry.coords[this._pointOffset+1]=this.yFactor*t}get z(){return this._geometry.coords[this._pointOffset+2]}set z(t){this._geometry.coords[this._pointOffset+2]=t}get m(){const t=this.hasZ?3:2;return this._geometry.coords[this._pointOffset+t]}set m(t){this._geometry.coords[this._pointOffset+3]=t}get pathIndex(){return this._pathIndex}get _coordIndex(){return this._pointOffset/this._stride}}function l(t){const e=[t.x,t.y];return t.z&&e.push(t.z),t.m&&e.push(t.m),e}function h(t){return(0,n.Bi)(t)?[t.rings,"esriGeometryPolygon"]:(0,n.Rg)(t)?[t.paths,"esriGeometryPolyline"]:(0,n.U9)(t)?[[t.points],"esriGeometryMultipoint"]:(0,n.ZC)(t)?[[[[t.xmin,t.ymin],[t.xmin,t.ymax],[t.xmax,t.ymax],[t.xmax,t.ymin],[t.xmin,t.ymin]]],"esriGeometryEnvelope"]:(0,n.fT)(t)?[[[l(t)]],"esriGeometryPoint"]:[[],"esriGeometryPolyline"]}class c extends o{initialize(t,e,s,i,r){return this._paths=t,this.geometryType=e,this.hasZ=s,this.hasM=i,this._pathIndex=this._pointIndex=-1,this.yFactor=r,this._mIndex=this.hasZ?3:2,this}reset(){this._pathIndex=this._pointIndex=-1}seekPath(t){return this._pathIndex=t,this._pointIndex=-1,t>=0&&t<this.totalSize&&(this._currentPath=this._paths[t],!0)}seekPathStart(){this._pointIndex=-1}seekPathEnd(){this._pointIndex=this._currentPath.length}seekInPath(t){return t>=0&&t<this._currentPath.length&&(this._pointIndex=t,this._currentPoint=this._currentPath[this._pointIndex],!0)}nextPoint(){return this._currentPoint=this._currentPath[++this._pointIndex],this._pointIndex<this._currentPath.length}prevPoint(){return this._currentPoint=this._currentPath[--this._pointIndex],this._pointIndex>=0}nextPath(){return this._pointIndex=-1,this._currentPath=this._paths[++this._pathIndex],this._pathIndex<this.totalSize}prevPath(){return this.pathIndex>0&&(this._pointIndex=-1,this._pathIndex--,this._currentPath=this._paths[this._pathIndex],!0)}pathLength(){const t=this._currentPath.length,e=this._currentPath;let s=0;for(let i=1;i<t;i++){const t=e[i-1],r=e[i],n=t[0],a=t[1],o=r[0]-n,u=r[1]-a;s+=Math.sqrt(o*o+u*u)}return s}startPath(){this._paths.push([])}getCurrentPath(){return(new c).initialize([this._currentPath],this.geometryType,this.hasZ,this.hasM,this.yFactor)}pushPath(t){this._paths.push(t)}pushPoint(t){this._paths[this.totalSize-1].push(t)}pushXY(t,e){this._paths[this.totalSize-1].push([t,e])}pushPoints(t){this._paths[this.totalSize-1].push(...t)}pushCursor(t){const e=(0,r.x)(t);for(const t of e)this.pushPath(t)}asOptimized(){const{hasZ:t,hasM:e}=this,s=new a.A([],[],t,e),{coords:i,lengths:r}=s;if("esriGeometryPoint"===this.geometryType)i.push(...this._paths[0][0]),r.length=0;else for(const s of this._paths){for(const r of s)i.push(r[0]),i.push(r[1]*this.yFactor),t&&i.push(r[2]),e&&i.push(r[this._mIndex]);r.push(s.length)}return s}isClosed(){const t=this._currentPath[0],e=this._currentPath[this._currentPath.length-1];for(let s=0;s<t.length;s++)if(t[s]!==e[s])return!1;return!0}clone(){return(new c).initialize((0,i.o8)(this._paths),this.geometryType,this.hasZ,this.hasM,this.yFactor)}get totalPoints(){return this._paths.map(t=>t.length).reduce((t,e)=>t+e)}get pathSize(){return this._pathIndex<0||this._pathIndex>this.totalSize-1?-1:this._paths[this._pathIndex].length}get totalSize(){return this._paths.length}get x(){return this._currentPoint[0]}set x(t){this._currentPoint[0]=t}get y(){return this.yFactor*this._currentPoint[1]}set y(t){this._currentPoint[1]=this.yFactor*t}get z(){return this._currentPoint[2]}set z(t){this._currentPoint[2]=t}get m(){return this._currentPoint[this._mIndex]}set m(t){this._currentPoint[this._mIndex]=t}get pathIndex(){return this._pathIndex}}class p extends u{initialize(t,e,s){return super.initialize(t,e,s),this._controlPoints||(this._controlPoints=this._controlPoints=new Array(this.totalSize).fill(void 0).map(t=>new Set)),this}startPath(){super.startPath(),this._controlPoints.push(new Set)}clone(){const t=(new p).initialize(this._geometry.clone(),this.geometryType,this.yFactor);return t._controlPoints=this._controlPoints,t}setControlPoint(){this._controlPoints[this.pathIndex].add(this._coordIndex)}getControlPoint(){return this._controlPoints[this.pathIndex].has(this._coordIndex)}setControlPointAt(t){this._controlPoints[this.pathIndex].add(t)}getControlPointAt(t){return this._controlPoints[this.pathIndex].has(t)}}class d extends c{initialize(t,e,s,i,r){return super.initialize(t,e,s,i,r)}clone(){return(new d).initialize((0,i.o8)(this._paths),this.geometryType,this.hasZ,this.hasM,this.yFactor)}setControlPoint(){this._paths[this.pathIndex][this._pointIndex][4]=1}getControlPoint(){return 1===this._paths[this.pathIndex][this._pointIndex][4]}setControlPointAt(t){this._paths[this.pathIndex][t][4]=1}getControlPointAt(t){return 1===this._paths[this.pathIndex][t][4]}}},32011(t,e,s){s.d(e,{d:()=>u});var i=s(19419),r=s(537),n=s(12359),a=s(95108),o=s(12176);function u(t){if(0===t.totalSize)return null;const e=(0,r.z8)(t);if(!e)return null;const s=4*(Math.abs(e[0])+Math.abs(e[2])+Math.abs(e[1])+Math.abs(e[3])+1)*222045e-19;let a=0,o=0;t.reset();for(let e=0;t.nextPath();e++){const s=t.getCurrentRingArea();s>o&&(o=s,a=e)}if(t.seekPath(a),0===t.pathSize)return null;t.seekPathStart();const u=(0,r.B$)(t);if(Math.abs(o)<=2*s*s)return[(u[0]+u[2])/2,(u[1]+u[3])/2];t.seekPathStart();const p=(0,n.w2)(t,(0,i.vt)());if(null===p)return null;if(t.totalPoints<4)return p;const d=[[NaN,NaN],[NaN,NaN],[NaN,NaN],[NaN,NaN]],f=[NaN,NaN,NaN,NaN],g=[NaN,NaN,NaN,NaN];let x=!1,w=h(p,t,!0);0===w.distance&&(x=!0,d[0][0]=p[0],d[0][1]=p[1],w=h(p,t,!1)),f[0]=w.distance,g[0]=0;const I=[NaN,NaN];let P=!1,F=.25,S=-1,v=NaN;do{if(v=NaN,d[1]=c(t,y(u[0],u[2],F),0,e),isNaN(d[1][0])||isNaN(d[1][1])||(w=h(d[1],t,!1),v=w.distance),!isNaN(v)&&v>s&&l(d[1],t))P=!0,f[1]=v,g[1]=_(d[1],p);else if(!isNaN(v)&&v>S&&(S=v,I[0]=d[1][0],I[1]=d[1][1]),F-=.01,F<.1){if(!(S>=0))break;P=!0,f[1]=S,d[1][0]=I[0],d[1][1]=I[1],g[1]=_(d[1],p)}}while(!P);P=!1,F=.5,S=-1;let b=.01,N=1;do{if(v=NaN,d[2]=c(t,y(u[0],u[2],F),0,e),isNaN(d[2][0])||isNaN(d[2][1])||(w=h(d[2],t,!1),v=w.distance),!isNaN(v)&&v>s&&l(d[2],t))P=!0,f[2]=v,g[2]=_(d[2],p);else if(!isNaN(v)&&v>S)S=v,I[0]=d[2][0],I[1]=d[2][1];else if(v>S&&(S=v,I[0]=d[2][0],I[1]=d[2][1]),F=.5+b*N,b+=.01,N*=-1,F<.3||F>.7){if(!(S>=0))break;P=!0,f[2]=S,d[2][0]=I[0],d[2][1]=I[1],g[2]=_(d[2],p)}}while(!P);P=!1,F=.75,S=-1;do{if(v=NaN,d[3]=c(t,y(u[0],u[2],F),0,e),isNaN(d[3][0])||isNaN(d[3][1])||(w=h(d[3],t,!1),v=w.distance),!isNaN(v)&&v>s&&l(d[3],t))P=!0,f[3]=v,g[3]=_(d[3],p);else if(v>S&&(S=v,I[0]=d[3][0],I[1]=d[3][1]),F+=.01,F>.9){if(!(S>=0))break;P=!0,f[3]=S,d[3][0]=I[0],d[3][1]=I[1],g[3]=_(d[3],p)}}while(!P);const O=[0,1,2,3],C=x?0:1;let z;for(let t=C;t<4;t++)for(let t=C;t<3;t++){const e=g[t],s=g[t+1];m(e,s)>0&&(z=O[t],O[t]=O[t+1],O[t+1]=z,g[t]=s,g[t+1]=e)}let R=C,q=0,M=0;for(let t=C;t<4;t++){switch(t){case 0:M=2*f[O[t]];break;case 1:M=1.66666666*f[O[t]];break;case 2:M=1.33333333*f[O[t]];break;case 3:M=f[O[t]]}M>q&&(q=M,R=O[t])}return d[R]}function l(t,e){let s,i,r,n,a=0;for(e.reset();e.nextPath()&&e.nextPoint();)for(s=e.x,i=e.y;e.nextPoint();s=r,i=n)r=e.x,n=e.y,i>t[1]!=n>t[1]&&((r-s)*(t[1]-i)-(n-i)*(t[0]-s)>0?a++:a--);return 0!==a}function h(t,e,s){if(s&&l(t,e))return{coord:t,distance:0};let i=1/0,r=0,n=0,o=[0,0],u=[0,0];const h=[0,0];for(e.reset();e.nextPath()&&e.nextPoint();)if(!(e.pathSize<2))for(o[0]=e.x,o[1]=e.y;e.nextPoint();o=u){u=[e.x,e.y],(0,a.gR)(h,t,o,u);const s=_(t,h);s<i&&(i=s,r=h[0],n=h[1])}return{coord:[r,n],distance:Math.sqrt(i)}}function c(t,e,s,r){const n=[e,0];let a=1/0,u=1/0,l=!1,h=!1;const c=[[e,r[1]-1],[e,r[3]+1]],f=[0,0],y=[0,0],_=[0,0],m=[[0,0],[0,0]],g=(0,i.vt)();for(t.reset();t.nextPath()&&t.nextPoint();)if(!(t.pathSize<2))for(m[0][0]=t.x,m[0][1]=t.y;t.nextPoint();m[0][0]=m[1][0],m[0][1]=m[1][1]){if(m[1][0]=t.x,m[1][1]=t.y,null===p(g,m))continue;if(y[0]=c[0][0],y[1]=c[0][1],_[0]=c[1][0],_[1]=c[1][1],0===d(g,y,_))continue;if(!(0,o.Ql)(c[0],c[1],m[0],m[1],f))continue;const e=f[1];a>u?e<a&&(a=e,l=!0):e<u&&(u=e,h=!0)}return l&&h?n[1]=(a+u)/2:n[0]=n[1]=NaN,n}function p(t,e){if(e.length<2)return null;t||(t=(0,i.vt)());const[s,r]=e[0],[n,a]=e[1];return t[0]=Math.min(s,n),t[1]=Math.min(r,a),t[2]=Math.max(s,n),t[3]=Math.max(r,a),t}function d(t,e,s){let i=f(e,t),r=f(s,t);const n=t[0],a=t[1],o=t[2],u=t[3];if(i&r)return 0;if(!(i|r))return 4;const l=(i?1:0)|(r?2:0);do{const l=s[0]-e[0],h=s[1]-e[1];if(l>h)3&i?(1&i?(e[1]+=h*(n-e[0])/l,e[0]=n):(e[1]+=h*(o-e[0])/l,e[0]=o),i=f(e,t)):3&r?(1&r?(s[1]+=h*(n-s[0])/l,s[0]=n):(s[1]+=h*(o-s[0])/l,s[0]=o),r=f(s,t)):i?(4&i?(e[0]+=l*(a-e[1])/h,e[1]=a):(e[0]+=l*(u-e[1])/h,e[1]=u),i=f(e,t)):(4&r?(s[0]+=l*(a-s[1])/h,s[1]=a):(s[0]+=l*(u-s[1])/h,s[1]=u),r=f(s,t));else if(12&i?(4&i?(e[0]+=l*(a-e[1])/h,e[1]=a):(e[0]+=l*(u-e[1])/h,e[1]=u),i=f(e,t)):12&r?(4&r?(s[0]+=l*(a-s[1])/h,s[1]=a):(s[0]+=l*(u-s[1])/h,s[1]=u),r=f(s,t)):i?(1&i?(e[1]+=h*(n-e[0])/l,e[0]=n):(e[1]+=h*(o-e[0])/l,e[0]=o),i=f(e,t)):(1&r?(s[1]+=h*(n-s[0])/l,s[0]=n):(s[1]+=h*(o-s[0])/l,s[0]=o),r=f(s,t)),i&r)return 0}while(i|r);return l}function f(t,e){return(t[0]<e[0]?1:0)|(t[0]>e[2]?1:0)<<1|(t[1]<e[1]?1:0)<<2|(t[1]>e[3]?1:0)<<3}function y(t,e,s){return t+(e-t)*s}function _(t,e){return(t[0]-e[0])*(t[0]-e[0])+(t[1]-e[1])*(t[1]-e[1])}function m(t,e){if(t<e)return-1;if(t>e)return 1;if(t===e)return 0;const s=isNaN(t),i=isNaN(e);return s<i?-1:s>i?1:0}},62815(t,e,s){s.d(e,{N:()=>o,d:()=>u});var i=s(86211),r=s(73941),n=s(21325),a=s(52006);function o(t,e,s){const i=u(e,s);if(1!==i)switch(t){case"point":case"esriGeometryPoint":return t=>function(t,e){null!=t?.z&&(t.z*=e)}(t,i);case"polyline":case"esriGeometryPolyline":return t=>function(t,e){if(t){if(t.curvePaths)for(const s of t.curvePaths)for(const t of s){const s=(0,a.yP)(t);s.length>2&&(s[2]*=e)}if(t.paths)for(const s of t.paths)for(const t of s)t.length>2&&(t[2]*=e)}}(t,i);case"polygon":case"esriGeometryPolygon":return t=>function(t,e){if(t){if(t.curveRings)for(const s of t.curveRings)for(const t of s){const s=(0,a.yP)(t);s.length>2&&(s[2]*=e)}if(t.rings)for(const s of t.rings)for(const t of s)t.length>2&&(t[2]*=e)}}(t,i);case"multipoint":case"esriGeometryMultipoint":return t=>function(t,e){if(t)for(const s of t.points)s.length>2&&(s[2]*=e)}(t,i);case"extent":case"esriGeometryEnvelope":return t=>function(t,e){t&&null!=t.zmin&&null!=t.zmax&&(t.zmin*=e,t.zmax*=e)}(t,i);default:return}}function u(t,e){return null==t||null==e||(0,n.aI)(t,e)||(0,r.xP)(t)||(0,r.xP)(e)?1:(0,i.G9)(t)/(0,i.G9)(e)}},6557(t,e,s){s.r(e),s.d(e,{default:()=>j});var i=s(5482),r=s(21818),n=s(49186),a=s(71511),o=s(44208),u=s(53966),l=s(17676),h=s(563),c=s(39516),p=s(86211),d=s(16930),f=s(70328),y=s(19419),_=s(21325),m=s(90708),g=s(29441),x=s(56390),w=s(99352),I=s(8384),P=s(58727),F=s(95031),S=s(24460),v=s(64714),b=s(17754),N=s(20437),O=s(95466),C=s(30524),z=s(50639),R=s(42760),q=s(39412),M=s(63892),A=s(30661),T=s(28923),E=s(44320),G=s(35258),k=s(16630);const Q=new A.Z,Z="__OBJECTID",D=new TextDecoder,B=8e3;class W{constructor(t,e){this._files=t,this._createFileStream=e,this._fileIndex=0,this._streamIndex=0,this._streams=[],this._pending=new Set,this._resolvedCount=0}async next(t){for(await this._fill(t);this._pending.size>0;){(0,l.Te)(t),await this._fill(t);const e=await V(this._pending);if(this._pending.delete(e.read),this._resolvedCount++,null!=e.chunk)return e.chunk}return null}async _fill(t){for(this._removeDone();this._pending.size<8;){const e=this._getOrCreateNextStream(t);if(null==e)return;this._pending.add(e.read(t))}}_getOrCreateNextStream(t){const e=this._resolvedCount>=8?8:2;if(this._fileIndex<this._files.length&&this._streams.length<e){const e=this._files[this._fileIndex++],s=new J(e.id,this._createFileStream(e,t));return this._streams.push(s),s}return this._getNextStream()}_getNextStream(){const t=this._streams.length;for(let e=0;e<t;e++){const s=(this._streamIndex+e)%t,i=this._streams[s];if(i.canRead)return this._streamIndex=(s+1)%t,i}return null}_removeDone(){let t=this._streamIndex;for(let e=this._streams.length-1;e>=0;e--)this._streams[e].done&&(this._streams.splice(e,1),e<t&&t--);this._streamIndex=this._streams.length>0?t%this._streams.length:0}}function V(t){return Promise.race(Array.from(t,async t=>({read:t,chunk:await t})))}class J{constructor(t,e){this._fileId=t,this._stream=e,this._readCount=0,this._reachedEnd=!1}get canRead(){return!this._reachedEnd}get done(){return this._reachedEnd&&0===this._readCount}async read(t){this._readCount++;try{const e=await this._stream,s=await e.next(t);return null==s?(this._reachedEnd=!0,null):{fileId:this._fileId,chunk:s}}finally{this._readCount--}}}class j{constructor(){this._hasZ=!1,this._hasM=!1,this._queue=new h.QueueProcessor({concurrency:4,process:(t,e)=>this._executeQuery(t,e)}),this._streams=new Map,this._streamIdCounter=0,this._indexMap={},this._handles=new a.A}async load(t){const e=t.spatialReference?d.A.fromJSON(t.spatialReference):void 0;if(e&&!e.isWGS84&&!e.isWebMercator)throw new n.A("parquet:unsupported-projection","Only WGS84 and Web Mercator are supported");this._customParameters=t.customParameters,this._loadParameters=t,await this._updateProvider((0,F.M)(t.provider,null,()=>this._customParameters));const s=await this._provider.getMetadata(),i=await(0,R.nc)(s,{fields:t.fields?.map(t=>N.A.fromJSON(t)),geometryEncoding:t.geometryEncoding?(0,z.G)(t.geometryEncoding):null,geometryType:t.geometryType?(0,R.hG)(t.geometryType):null,displayOptimization:t.displayOptimization,spatialReference:e});if(this._hasZ=!!s?.hasZ,this._hasM=!!s?.hasM,!i.fields)throw new n.A("parquet:unsupported","Fields must be defined");let r;if(i.spatialReference&&i.geometryType){if(!i.spatialReference)throw new n.A("parquet:unsupported","SpatialReference must be defined");if(!i.spatialReference.isGeographic&&!i.spatialReference.isWebMercator)throw new n.A("parquet:unsupported-projection","Only WGS84 and Web Mercator are supported");i.spatialReference.isGeographic&&!i.spatialReference.isWGS84&&(u.A.getLogger("parquet:unsupported-projection").warn("Found a geographic projection that is not WGS84. Handling as WGS84.",{spatialReference:i.spatialReference}),i.spatialReference=d.A.WGS84),r={geometry:i.geometryEncoding?{geometryType:(0,R.sA)(i.geometryType),spatialReference:i.spatialReference.toJSON(),encoding:i.geometryEncoding.toJSON()}:null,displayOptimization:i.displayOptimization}}this.setCustomParameters(t.customParameters),this._displayOptimization=i.displayOptimization,await this._provider.updateGeometryInfo(r),this._capabilities=rt(await this._getFileStatistics(),this._hasZ,this._hasM);const a=await this._provider.getFiles();if(!a.length)return{layerDefinition:{},capabilities:rt(null,this._hasZ,this._hasM)};const o=await a[0].file;i.file=o;const{fields:l}=i;if(null==l)throw new n.A("parquet-layer:missing-metadata","Unable to create parquet source: cannot infer fields",l);l.push(new N.A({name:Z,type:"oid",alias:Z}));for(const t of l){const e=o.getColumnId(t.name);null!=e&&(this._indexMap[t.name]=e)}const h=new O.A(l.map(t=>t.toJSON()));this._fieldsIndex=h;const c=(0,R.sA)(i.geometryType??"point");return this._metadata=G.i.createFeature({fieldsIndex:h.toJSON(),geometryType:c,hasZ:this._hasZ,hasM:this._hasM,featureIdInfo:{type:"object-id",fieldName:Z},subtypes:null,subtypeField:null,types:null,typeIdField:null,globalIdField:null,spatialReference:i.spatialReference,outSpatialReference:null,attributeSpatialReference:null,timeInfo:null,timeReferenceUnknownClient:null,dateFieldsTimeZone:null}),this._queryEngineParams={fieldsIndex:this._metadata.fieldsIndex,geometryType:c,featureIdInfo:{type:"object-id",fieldName:Z},hasM:this._hasM,hasZ:this._hasZ,spatialReference:i.spatialReference?.toJSON()??{wkid:4326},aggregateAdapter:null,timeInfo:null,definitionExpression:null},this._fullExtent=s?.extent?s.extent:await this._tryDeriveParquetFullExtent(i),{capabilities:this._capabilities,layerDefinition:{fields:i.fields?.map(t=>t.toJSON()),drawingInfo:(0,v.F0)(c),extent:this._fullExtent??void 0,geometryType:c,geometryEncoding:i.geometryEncoding?.toJSON(),displayOptimization:i.displayOptimization}}}destroy(){this._provider.destroy(),this._queue.destroy();for(const{handle:t}of this._streams.values())t.remove();this._streams.clear(),this._indexMap={},this._handles.removeAll()}async reload(t){this.destroy(),await this.load(t)}set remoteClient(t){this._source=t.createInvokeProxy("")}setCustomParameters(t){this._customParameters=t}getIndexMap(){return this._indexMap}async updateFileProvider(t){this._loadParameters={...this._loadParameters,provider:t};const e=(0,F.M)(t,this._provider.getGeometryInfo(),()=>this._customParameters);await this._updateProvider(e)}async getDiagnosticsSnapshot(){const t=await this._provider.getFiles();return{files:await Promise.all(t.map(t=>t.getDiagnosticsSnapshot()))}}async getColumnIndex(t){return(await this._getFileInfoById(t.fileId)).getColumnIndex(t.rowGroupIndex,t.columnIndex)}async getOffsetIndex(t){return(await this._getFileInfoById(t.fileId)).getOffsetIndex(t.rowGroupIndex,t.columnIndex)}async queryFeatures(t,e){const s=await(0,P.T2)(t,null,this._queryEngineParams.spatialReference);return this._validateQuery(s),function(t){return!!(t.objectIds?.length||t.outStatistics||t.orderByFields?.length||t.returnDistinctValues)}(s)||(s.resultRecordCount=s.resultRecordCount?Math.min(s.resultRecordCount,B):B,s.resultOffset=s.resultOffset??0),s.outStatistics?this._queryStatistics(s,e):(s.returnDistinctValues&&(s.returnGeometry=void 0),(await this._enqueueQuery(s,e)).createQueryResponse())}async queryFeatureCount(t,e){const s=await(0,P.T2)(t,null,this._queryEngineParams.spatialReference);return this._validateQuery(s),Y(s)?(s.outFields=void 0,s.returnGeometry=void 0,(await this._enqueueQuery(s,e)).createQueryResponseForCount()):this._getFeatureCount()}async queryObjectIds(t,e){const s=await(0,P.T2)(t,null,this._queryEngineParams.spatialReference);return this._validateQuery(s),Y(s)?(s.resultRecordCount=s.resultRecordCount?Math.min(s.resultRecordCount,8e3):8e3,s.resultOffset=s.resultOffset??0,s.returnGeometry=void 0,s.outFields=void 0,(await this._enqueueQuery(s,e)).items.map(t=>t.getObjectId())):Array.from({length:await this._getFeatureCount()},(t,e)=>e)}async queryAttributeBins(t,e={}){throw new n.A("parquet:unsupported","queryAttributeBins not supported.")}async queryExtent(t,e){const s=await(0,P.T2)(t,null,this._queryEngineParams.spatialReference);if(this._validateQuery(s),this._fullExtent&&!Y(s))return{count:await this._getFeatureCount(),extent:this._fullExtent};const i=(0,r.z)(this._metadata.spatialReference);s.returnGeometry=!0,s.outFields=void 0;const n=(0,f.hZ)((0,f.vt)(),f.qv),a=(0,f.vt)(),o=await this._enqueueQuery(s,e);let u=0;for(const t of o.items)t.getBounds(a)&&((0,f.RF)(n,a),u+=1);return{count:u,extent:(0,x.Wc)(n,i,s.outSR?(0,r.z)(s.outSR):i.toJSON(),i,!1)}}async queryStream(t,e){if(!e.signal)throw new Error("InternalError: AbortSignal must be passed");const s=await this._getCandidateFiles(t),i=new W(s,async(e,s)=>{const i=await e.file,r=await this._createParquetDisplayQuery(i,e.id,t);return i.executeQuery(r,B,s)}),r=this._streamIdCounter++,n=(0,l.NY)(e.signal,t=>{const e=this._streams.get(r);null!=e&&(e.handle.remove(),this._streams.delete(r))});return this._streams.set(r,{stream:i,handle:n}),r}async getStreamNext(t,e){if(!e.signal)throw new Error("InternalError: AbortSignal must be passed");const s=this._streams.get(t);if(!s)return{result:null};const i=await s.stream.next(e.signal);if(null==i)return s.handle.remove(),this._streams.delete(t),{result:null};const r=i.chunk.serialize().buffer,n={fileId:i.fileId,buffer:r};return r instanceof ArrayBuffer?{result:n,transferList:[r]}:{result:n}}async getStreamNextFeatures(t,e){const{result:s}=await this.getStreamNext(t,e);if(null==s)return null;const i=(await(0,q.N)()).ParquetChunk.deserialize(new Uint8Array(s.buffer)),r=new k.s(this._metadata,this._indexMap,i,s.fileId),n=[];for(;r.next();){const t=(0,m.zv)(r.readGeometryWorldSpace(),r.geometryType,r.hasZ,r.hasM),e=r.readAttributes();n.push({attributes:e,geometry:t})}return{features:n}}async createPatch(t,e,s,i,r){if(!r.signal)throw new Error("InternalError: AbortSignal must be passed");const n=await this._getFileInfoById(t),a=await n.file;return(await a.createChunkPatch(e,s,i,r.signal)).serialize().buffer}async _updateProvider(t){const e=this._provider;this._handles.removeAll(),this._provider=t,this._handles.add([t.events.on("rangeRead",t=>{this._source.onRangeRead(t)}),t.events.on("sourceChanged",async()=>{await this.reload(this._loadParameters),await this._source.onSourceChange()})]),await(e?.destroy())}async _getCandidateFiles(t){const e=await this._provider.getFiles(),s=await this._getSpatialFilePruning(t);if(null==s)return e;const i=e.filter(t=>this._mayIncludeFileForSpatialPruning(t,s));return"xz"===s.type?function(t,e){return t.slice().sort((t,s)=>{const i=it(t,e),r=it(s,e);return i===r?0:i<r?-1:1})}(i,s):i}async _queryStatistics(t,e){const s=await(0,P.T2)({...t},null,this._queryEngineParams.spatialReference);if(s.returnGeometry=void 0,function(t,e){return!!t.outStatistics?.length&&!Y(t)&&!t.groupByFieldsForStatistics?.length&&!t.orderByFields?.length&&!t.returnDistinctValues&&!t.returnAggIds&&t.outStatistics.every(t=>function(t,e){switch(t.statisticType){case"count":return"1"===t.onStatisticField||null!=e.get(t.onStatisticField);case"min":case"max":{const s=e.get(t.onStatisticField);return null!=s&&(0,C.WA)(s)}default:return!1}}(t,e))}(s,this._fieldsIndex)){const t=await this._getStatisticsFromFiles(s);if(t)return t}return(await this._enqueueQuery(s,e)).createQueryResponse()}async _getStatisticsFromFiles(t){const e=await this._provider.getFiles(),s={},i=[];for(const r of t.outStatistics??[]){const t=K(r,e);if(!t.available)return null;s[r.outStatisticFieldName]=t.value,i.push(X(r,this._fieldsIndex))}return{fields:i,features:[{attributes:s}]}}async _getSpatialFilePruning(t){if("tile"!==t.type&&("arcade"!==t.type||null==t.extent))return null;const e=this._displayOptimization,s=e?.index;if(null==s)return null;const i=t.outSpatialReference.wkid;if(null==s.wkid||null==i)return null;const r=s.wkid,n=await(0,q.N)();switch(s.type){case"xz":return{type:"xz",fieldName:(0,M.FG)(s.code),intersects:(e,a)=>n.queryIntersectsXZStatistics(s.fullExtent,t.extent,i,r,s.maxLevel,e,a)};case"z":return{type:"xy",xFieldName:(0,M.FG)(s.xColumn),yFieldName:(0,M.FG)(s.yColumn),intersects:(e,s,a,o)=>n.queryIntersectsXYStatistics(t.extent,i,r,e,s,a,o)}}}_mayIncludeFileForSpatialPruning(t,e){switch(e.type){case"xz":{const s=st(t,e);return"null-only"!==s?.type&&("bounds"!==s?.type||e.intersects(s.minValue,s.maxValue))}case"xy":{const s=t.statistics.statistics.get(e.xFieldName),i=t.statistics.statistics.get(e.yFieldName);return"null-only"!==s?.type&&"null-only"!==i?.type&&("bounds"!==s?.type||"bounds"!==i?.type||e.intersects(s.minValue,s.maxValue,i.minValue,i.maxValue))}}}async _tryDeriveParquetFullExtent(t){if(!t.spatialReference)return null;if(null==this._fullExtent&&"location"===t.geometryEncoding?.type){const e=await this._provider.getFiles(),{xField:s,yField:r}=t.geometryEncoding,n=(0,f.hZ)((0,f.vt)(),f.qv);let a=!1;for(const t of e){const e=await t.file;for(const t of e.rowGroups()){const e={stack:[],error:void 0,hasError:!1};try{const o=(0,i.mS)(e,t.columnDescriptorForAttribute(s),!1),u=(0,i.mS)(e,t.columnDescriptorForAttribute(r),!1),l=(0,S.Hk)(o),h=(0,S.Hk)(u);if("bounds"===l?.type&&"bounds"===h?.type){const t=[l.minValue,h.minValue,l.maxValue,h.maxValue];(0,f.DC)(n,t),a=!0}t.free()}catch(t){e.error=t,e.hasError=!0}finally{(0,i.hk)(e)}}}return a?{xmin:n[0],ymin:n[1],xmax:n[3],ymax:n[4],spatialReference:t.spatialReference?.toJSON()}:null}return null}async _getFileInfoById(t){const e=await this._provider.getFiles();for(const s of e)if(s.id===t)return s;throw new Error(`InternalError: File ${t} does not exist`)}async _getFileStatistics(){return{featureCount:await this._getFeatureCount(),byteLength:await this._getByteLength()}}async _getFile(t){return(await this._getFileInfoById(t)).file}async _createParquetQuery(t,e,s,i,r){const n=(await(0,q.N)()).Query.new();null!=s&&n.setPreFilterStart(s),null!=i&&n.setPreFilterCount(i),null!=r&&n.setPostFilterCount(r);const a=await this._getRequiredFields(t);n.setOutFields(a),(t.geometry||t.returnGeometry)&&n.setReturnGeometry(!0),n.setReturnZ(!!t.returnZ),n.setReturnM(!!t.returnM);const o=this._tryGetGeneralizedGeometryResolution(t);null!=o&&n.setSourceResolution(o);const u=t.geometry?.spatialReference??this._queryEngineParams.spatialReference,l=u.wkid;if(t.geometry&&((0,_.K8)(u)||(0,_.oT)(u))){const e=(0,y.C)((0,y.vt)(),y.qv);for(const s of(0,x.qo)(t.geometry))(0,y.DC)(e,s);n.setOutSpatialReference(l),n.setExtent({xmin:e[0],ymin:e[1],xmax:e[2],ymax:e[3]})}if(t.where){const{id:s,file:i}=e;await this._setWhereClause(n,await i,s,t.where)}return n}async _createParquetDisplayQuery(t,e,s){const i=(await(0,q.N)()).Query.new();if("tile"===s.type){i.setExtent(s.extent),i.setQuantizationTransform(s.transform);const t=this._sourceResolution(s.resolution,s.outSpatialReference);null!=t&&i.setSourceResolution(t)}else"arcade"===s.type&&null!=s.extent&&i.setExtent(s.extent);return i.setOutFields(s.outFields.filter(t=>null!=this._indexMap[t])),i.setOutSpatialReference(s.outSpatialReference.wkid),i.setReturnGeometry(s.returnGeometry),i.setReturnZ(s.returnZ),i.setReturnM(s.returnM),s.where&&await this._setWhereClause(i,t,e,s.where),i}async _getFeatureCount(){return(await this._provider.getFiles()).map(t=>t.statistics.rowCount).reduce((t,e)=>t+e,0)}async _getByteLength(){return(await this._provider.getFiles()).map(t=>t.statistics.byteSize).reduce((t,e)=>t+e,0)}_validateQuery(t){if(!this._capabilities.query.supportsStatistics&&t.outStatistics)throw new n.A("parquet:unsupported","Statistics queries are not supported",{query:t});if(!this._capabilities.query.supportsOrderBy&&t.orderByFields?.length)throw new n.A("parquet:unsupported","Queries using orderBy are not supported",{query:t});if(!this._capabilities.query.supportsDistinct&&t.returnDistinctValues)throw new n.A("parquet:unsupported","Queries using returnDistinctValues are not supported",{query:t})}async _setWhereClause(t,e,s,i){const r=this._indexMap,a=this._fieldsIndex,o={getAttribute(t,i){const n=r[i];if(null==n){const e=a.get(i);if("__OBJECTID"===e?.name){const e=t.row+t.rowGroupStart;return(0,b.xb)(s,e)}return null}const o=e.readAttribute(t.rowGroup,t.row,n);if(null==o)return null;const u=a.get(i);return"esriFieldTypeString"===u.type||"esriFieldTypeDateOnly"===u.type||"esriFieldTypeTimeOnly"===u.type||"esriFieldTypeTimestampOffset"===u.type?D.decode(o):o}},u=await(0,c.GP)(i,this._fieldsIndex);if(!u.isStandardized)throw new n.A("sql-parse-error","expression is not standardized");const l=u.fieldNames.map(t=>a.get(t)).filter(t=>t&&null!=this._indexMap[t?.name]);t.setWhere(i),t.setWhereEvaluator((t,e,s)=>u.testFeatureCompiled({rowGroup:t,row:e,rowGroupStart:s},o,null)),t.setWhereFields(l.map(t=>t.name))}async*_streamFeatures(t,e,s,i,r){const n=await this._provider.getFiles();let a=0;for(const o of n){const n=a,u=a+o.statistics.rowCount;if(a+=o.statistics.rowCount,null!=e&&e>=u)continue;const l=null!=e?Math.max(e-n,0):null;let h=s;if(null!=s){const t=e??0,i=t+s,r=Math.max(t,n),a=Math.min(i,u);h=Math.max(a-r,0)}if(0===h)continue;const c=await this._createParquetQuery(t,o,l,h,i),p=await o.file,d=await p.executeQuery(c,B),f=async()=>{const t=await d.next(r);if(!t)return null;const e=new k.s(this._metadata,this._indexMap,t,o.id);return et([new T.j(e,null,0,!1)],this._queryEngineParams)};let y=await f();for(;null!=y;)yield y,y=await f()}}async _queryFeaturesWithQueryEnginePagination(t,e){const s=[],i=this._streamFeatures(t,null,null,null,e);let r=await i.next();for(;!r.done;){const n=await r.value.executeQueryForOpaqueFeatures({...t,where:void 0},e);for(const t of n)s.push(t);r=await i.next()}return s}async _queryFeaturesWithUpfrontPagination(t,e){let s,i,r,n=t.resultOffset??0,a=t.resultRecordCount??B;!function(t){for(const e in t){const s=e;if(L(s)&&null!==t[s])return!0}return!1}(t)?(n&&(s=n,n=0),i=t.resultRecordCount):function(t){for(const e in t){const s=e;if(H(s)&&null!==t[s])return!0}return!1}(t)||(r=n+a);const o=[],u=this._streamFeatures(t,s,i,r,e);let l=await u.next();for(;!l.done&&a>0;){const s=await l.value.executeQueryForOpaqueFeatures({...t,where:void 0},e);for(const t of s)if(n>0)n--;else if(o.push(t),--a<=0)return o;l=await u.next()}return o}_enqueueQuery(t,e){return this._queue.push(t,e)}async _executeQuery(t,e){if(t.objectIds?.length){const s=new Map;for(const e of t.objectIds){const t=(0,b.wY)(e),i=(0,b.gE)(e);let r=s.get(t);r||(r=[],s.set(t,r)),r.push(i)}const i=[];for(const[r,n]of s.entries()){const s=await this._executeFileIdQuery(t,r,n,e);for(const t of s)i.push(t)}return new I.G(i,t,{fieldsIndex:this._fieldsIndex,geometryType:this._metadata.geometryType,spatialReference:this._queryEngineParams.spatialReference,hasM:this._hasM,hasZ:this._hasZ,featureAdapter:Q,featureIdInfo:this._queryEngineParams.featureIdInfo})}if("1=1"===t.where&&(t.where=null),t.resultOffset??=0,t.resultRecordCount??=await this._getFeatureCount(),t.resultRecordCount>2e7&&(!this._displayOptimization||!t.geometry))throw new n.A("parquet:cannot-execute-query","Unable to execute query, dataset is too large.");const s=!!t.orderByFields?.length||!!t.outStatistics?.length||!!t.returnDistinctValues,i=s?await this._queryFeaturesWithQueryEnginePagination(t,e):await this._queryFeaturesWithUpfrontPagination(t,e);return s||(t.resultOffset=0),new I.G(i,t,{fieldsIndex:this._fieldsIndex,geometryType:this._metadata.geometryType,spatialReference:this._queryEngineParams.spatialReference,hasM:this._hasM,hasZ:this._hasZ,featureAdapter:Q,featureIdInfo:this._queryEngineParams.featureIdInfo})}async _executeFileIdQuery(t,e,s,i){const r=await this._getRequiredFields(t),n=(await(0,q.N)()).Query.new();n.setOutFields(r),n.setReturnGeometry(!!t.returnGeometry),n.setReturnZ(!!t.returnZ),n.setReturnM(!!t.returnM),n.setIds(new Uint32Array(s));const a=await this._getFile(e),o=await a.executeQuery(n,B,i);let u=await o.next(i),l=0;const h=[];for(;null!=u;){const t=new k.s(this._metadata,this._indexMap,u,e),s=new T.j(t,null,l++,!1);h.push(s),u=await o.next(i)}return et(h,this._queryEngineParams).executeQueryForOpaqueFeatures(t,i)}async _getRequiredFields(t){const e=new Set;if(t.outStatistics)for(const s of(0,g.g9)(this._fieldsIndex,t.outStatistics,t.groupByFieldsForStatistics))e.add(s);else if(t.outFields)for(const s of t.outFields)e.add(s);return(e.has("*")?this._fieldsIndex.fields.map(t=>t.name):Array.from(e)).filter(t=>null!=this._indexMap[t])}_tryGetGeneralizedGeometryResolution(t){if(!this._displayOptimization)return null;const e=t.outSR??this._queryEngineParams.spatialReference;if(!(0,_.K8)(e)&&!(0,_.oT)(e))return null;const s=t.quantizationParameters?.tolerance??t.maxAllowableOffset;return s?this._sourceResolution(s,e):null}_sourceResolution(t,e){const s=this._queryEngineParams.spatialReference,i=t*((0,p.GA)(e)/(0,p.GA)(s));return!Number.isFinite(i)||i<=0?null:i}}function U(t){switch(t){case"fullText":case"having":case"timeExtent":case"historicMoment":case"aggregateIds":case"uniqueIds":case"gdbVersion":case"objectIds":case"where":case"geometry":case"resultOffset":case"resultRecordCount":return!0;default:return!1}}function L(t){switch(t){case"fullText":case"having":case"timeExtent":case"historicMoment":case"aggregateIds":case"uniqueIds":case"gdbVersion":case"objectIds":case"where":case"geometry":return!0;default:return!1}}function H(t){switch(t){case"fullText":case"having":case"timeExtent":return!0;case"historicMoment":case"aggregateIds":case"uniqueIds":case"gdbVersion":case"objectIds":case"where":case"resultOffset":case"geometry":case"resultRecordCount":return!1}return!1}function Y(t){for(const e in t){const s=e;if(U(s)&&null!==t[s])return!0}return!1}function X(t,e){const s="exceedslimit"!==t.statisticType?e.get(t.onStatisticField):null,i="min"!==t.statisticType&&"max"!==t.statisticType||"esriFieldTypeDate"!==s?.type?"esriFieldTypeDouble":s.type;return{name:t.outStatisticFieldName,alias:t.outStatisticFieldName,type:i}}function K(t,e){switch(t.statisticType){case"count":return function(t,e){if("count"!==t.statisticType)return{available:!1,value:null};if("1"===t.onStatisticField)return{available:!0,value:e.reduce((t,e)=>t+e.statistics.rowCount,0)};let s=0;for(const i of e){const e=i.statistics.statistics.get(t.onStatisticField);if(null==e||null==e.nullCount)return{available:!1,value:null};s+=i.statistics.rowCount-e.nullCount}return{available:!0,value:s}}(t,e);case"min":return $(t,e,Math.min);case"max":return $(t,e,Math.max);default:return{available:!1,value:null}}}function $(t,e,s){if("min"!==t.statisticType&&"max"!==t.statisticType)return{available:!1,value:null};let i=null;const r="min"===t.statisticType?"minValue":"maxValue";for(const n of e){const e=n.statistics.statistics.get(t.onStatisticField);if(null==e)return{available:!1,value:null};switch(e.type){case"null-only":continue;case"unknown":return{available:!1,value:null};case"bounds":{const t=tt(e[r]);if(null==t)return{available:!1,value:null};i=null==i?t:s(i,t);break}}}return{available:!0,value:i}}function tt(t){return"number"==typeof t&&Number.isFinite(t)?t:null}function et(t,e){const s=new E.I;for(const e of t)s.insert(e);return new x.do({...e,featureStore:s})}function st(t,e){return t.statistics.statistics.get(e.fieldName)??null}function it(t,e){const s=st(t,e);return"bounds"!==s?.type?Number.POSITIVE_INFINITY:s.maxValue-s.minValue}function rt(t,e,s){const i=t?.featureCount;let r=!1;return null!=i&&i<(0,o.A)("parquetlayer-full-query-feature-count")&&(r=!0),{analytics:{supportsCacheHint:!1},attachment:null,data:{isVersioned:!1,isBranchVersioned:!1,supportedCurveTypes:[],supportsAttachment:!1,supportsM:s,supportsTrueCurve:!1,supportsZ:e},metadata:{supportsAdvancedFieldProperties:!1},operations:{supportsCalculate:!1,supportsTruncate:!1,supportsValidateSql:!1,supportsAdd:!1,supportsDelete:!1,supportsEditing:!1,supportsChangeTracking:!1,supportsQuery:!0,supportsQueryBins:!1,supportsQueryPivot:!1,supportsQueryAnalytics:!1,supportsQueryAttachments:!1,supportsQueryTopFeatures:!1,supportsResizeAttachments:!1,supportsSync:!1,supportsUpdate:!1,supportsExceedsLimitStatistics:!1,supportsAsyncConvert3D:!1},query:{...w.F,maxRecordCount:B,supportsOrderBy:r,supportsDistinct:!0,supportsStatistics:!0,supportsSpatialAggregationStatistics:!1,supportedSpatialAggregationStatistics:{envelope:!1,centroid:!1,convexHull:!1}},queryAttributeBins:{supportsDate:!1,supportsFixedInterval:!1,supportsAutoInterval:!1,supportsFixedBoundaries:!1,supportsStackBy:!1,supportsSplitBy:!1,supportsSnapToData:!1,supportsReturnFullIntervalBin:!1,supportsFirstDayOfWeek:!1,supportsNormalization:!1},queryRelated:{supportsCount:!1,supportsOrderBy:!1,supportsPagination:!1,supportsCacheHint:!1},queryTopFeatures:{supportsCacheHint:!1},editing:{supportsDeleteByAnonymous:!1,supportsDeleteByOthers:!1,supportsGeometryUpdate:!1,supportsGlobalId:!1,supportsTrueCurveUpdate:!1,supportsTrueCurveUpdateByTrueCurveClientsOnly:!0,supportsReturnServiceEditsInSourceSpatialReference:!1,supportsRollbackOnFailure:!1,supportsUpdateByAnonymous:!1,supportsUpdateByOthers:!1,supportsUploadWithItemId:!1,supportsUpdateWithoutM:!1,supportsAsyncApplyEdits:!1,zDefault:void 0}}}}}]);