@arcgis/core 6.0.0-next.36 → 6.0.0-next.38

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 (389) hide show
  1. package/analysis/DimensionAnalysis.js +1 -1
  2. package/analysis/DimensionSimpleStyle.js +1 -1
  3. package/analysis/LengthDimension.js +1 -1
  4. package/analysis/LineOfSightAnalysis.js +1 -1
  5. package/analysis/LineOfSightAnalysisTarget.js +1 -1
  6. package/analysis/Viewshed.js +1 -1
  7. package/analysis/ViewshedAnalysis.js +1 -1
  8. package/assets/esri/core/workers/RemoteClient.js +1 -1
  9. package/assets/esri/core/workers/chunks/{0202eb8c2b2865f99981.js → 00311d1b18d5952a014b.js} +1 -1
  10. package/assets/esri/core/workers/chunks/{9503eedfdda55fc5adab.js → 091ec4fe83038f3558f4.js} +1 -1
  11. package/assets/esri/core/workers/chunks/0b21d0e2e5a91c34a108.js +1 -0
  12. package/assets/esri/core/workers/chunks/{322b22a5d54e404bebd5.js → 0c893837f67829757df7.js} +1 -1
  13. package/assets/esri/core/workers/chunks/123541f79be7adff0818.js +1 -0
  14. package/assets/esri/core/workers/chunks/{155861fbd0e5fc2db80c.js → 1a91443970d64a59521d.js} +1 -1
  15. package/assets/esri/core/workers/chunks/1e37337f47f45d6d8005.js +1 -0
  16. package/assets/esri/core/workers/chunks/{4e5405134d079bdf9b7a.js → 1f76f6dcdae9f55389cb.js} +1 -1
  17. package/assets/esri/core/workers/chunks/{f717005e14a7e9141df7.js → 2050c844b5a29b1df28a.js} +1 -1
  18. package/assets/esri/core/workers/chunks/2c3612379111457c3221.js +1 -0
  19. package/assets/esri/core/workers/chunks/2d16b5a44f840147e882.js +1 -0
  20. package/assets/esri/core/workers/chunks/{d9a240a3c6bf85124474.js → 342a97974a78007b25e0.js} +1 -1
  21. package/assets/esri/core/workers/chunks/34467f7d84baffd772a3.js +1 -0
  22. package/assets/esri/core/workers/chunks/396299c22994c502e41c.js +1 -0
  23. package/assets/esri/core/workers/chunks/{03daf6f235c6edef6268.js → 398ec098fffe6abceedd.js} +1 -1
  24. package/assets/esri/core/workers/chunks/3b32a24488b3068f0cb7.js +1 -0
  25. package/assets/esri/core/workers/chunks/3b5e9e0b180dc10491ec.js +1 -0
  26. package/assets/esri/core/workers/chunks/{4d18b48d4a282a0f341c.js → 427d929dc7f89b0a1ea9.js} +1 -1
  27. package/assets/esri/core/workers/chunks/432728c557be5dfa26b5.js +1 -0
  28. package/assets/esri/core/workers/chunks/46969f379623810b2eca.js +1 -0
  29. package/assets/esri/core/workers/chunks/46edd6c9ed6701e6b975.js +1 -0
  30. package/assets/esri/core/workers/chunks/{8b0d5551978ab0aac0d1.js → 520f499d79fa71f262c7.js} +1 -1
  31. package/assets/esri/core/workers/chunks/5473409fee59db80f87d.js +1 -0
  32. package/assets/esri/core/workers/chunks/553a8bf5bc5c56d1bcaf.js +1 -0
  33. package/assets/esri/core/workers/chunks/{2211ff0a1f1ae8100231.js → 585ae43c7bcb86a26762.js} +1 -1
  34. package/assets/esri/core/workers/chunks/58716a3a6106a1b0fb9d.js +1 -0
  35. package/assets/esri/core/workers/chunks/{aa6ee2aa4ff6e6d41efb.js → 5882f349f3771868e67f.js} +1 -1
  36. package/assets/esri/core/workers/chunks/592b5db1459c02cf6a0c.js +1 -0
  37. package/assets/esri/core/workers/chunks/{1b17f5f720f6cf3f6d73.js → 5be386b3af867b19ff39.js} +1 -1
  38. package/assets/esri/core/workers/chunks/{ea81f9d71b0842a4be26.js → 5e48898cebb6dbaf09b5.js} +1 -1
  39. package/assets/esri/core/workers/chunks/6a21dc13a465757ba007.js +1 -0
  40. package/assets/esri/core/workers/chunks/{139e753d95cfc9470e74.js → 6a65fc1a2931230fe994.js} +1 -1
  41. package/assets/esri/core/workers/chunks/{3e406043a374ee17475b.js → 6f2e7e663229b223b4df.js} +1 -1
  42. package/assets/esri/core/workers/chunks/{379db67f78161ebd5468.js → 7023651ed6398dcf8efb.js} +1 -1
  43. package/assets/esri/core/workers/chunks/{90360c0bd053d3e3fd77.js → 7027a0e7bfabb3bb7fc2.js} +1 -1
  44. package/assets/esri/core/workers/chunks/76e80381fa6d1e084796.js +1 -0
  45. package/assets/esri/core/workers/chunks/78818c2a898444f7e890.js +1 -0
  46. package/assets/esri/core/workers/chunks/{40c2674dae73f0942751.js → 7d497df6e13162156342.js} +1 -1
  47. package/assets/esri/core/workers/chunks/{3b380e64566a6cce59e2.js → 7e0ed6e8f7b77e43f628.js} +1 -1
  48. package/assets/esri/core/workers/chunks/8c3779de09291170497f.js +1 -0
  49. package/assets/esri/core/workers/chunks/8e391b5b82429f39791e.js +1 -0
  50. package/assets/esri/core/workers/chunks/947f3a1cad976bba9738.js +1 -0
  51. package/assets/esri/core/workers/chunks/{59a1b637d2c107504a04.js → 966204d6dedc8149c3e9.js} +1 -1
  52. package/assets/esri/core/workers/chunks/9826baa3c15ea2062669.js +1 -0
  53. package/assets/esri/core/workers/chunks/{d3369ffed19f4c264dcd.js → 9ab0735e86cf8932bf9d.js} +1 -1
  54. package/assets/esri/core/workers/chunks/ab0ea4042f4e13874aed.js +1 -0
  55. package/assets/esri/core/workers/chunks/ab98ade3257360015d6c.js +1 -0
  56. package/assets/esri/core/workers/chunks/ac107079342251a984dd.js +1 -0
  57. package/assets/esri/core/workers/chunks/{572aec57593a08b8045b.js → b15a8d4322f3b7819d2f.js} +1 -1
  58. package/assets/esri/core/workers/chunks/{552c36b40e5a5ec117fb.js → b472c0a21ae29e653f7d.js} +1 -1
  59. package/assets/esri/core/workers/chunks/b90271ce38522bcf813b.js +1 -0
  60. package/assets/esri/core/workers/chunks/ba91df9835cdea7698a9.js +1 -0
  61. package/assets/esri/core/workers/chunks/bdd76a0b6c14e7fb6984.js +1 -0
  62. package/assets/esri/core/workers/chunks/bfe13ac9fa1aafb190a1.js +1 -0
  63. package/assets/esri/core/workers/chunks/{f372f4eb5527238c46f5.js → c31830ee897d5a7f2582.js} +1 -1
  64. package/assets/esri/core/workers/chunks/c48d97c38e821be17dc5.js +1 -0
  65. package/assets/esri/core/workers/chunks/{0a508e25ec05363e1f04.js → c7ad62f54d2abe1d17a0.js} +1 -1
  66. package/assets/esri/core/workers/chunks/cb1642ea8b66231cbfb5.js +1 -0
  67. package/assets/esri/core/workers/chunks/ce0274847ccce6a1ac53.js +1 -0
  68. package/assets/esri/core/workers/chunks/cf21b217b13770757cb8.js +1 -0
  69. package/assets/esri/core/workers/chunks/cf2e5f827cea7d7319ce.js +1 -0
  70. package/assets/esri/core/workers/chunks/d42a4f47843e075c56a8.js +1 -0
  71. package/assets/esri/core/workers/chunks/dae2036faa28dade2119.js +1 -0
  72. package/assets/esri/core/workers/chunks/e2430bc3a1edeb5c3266.js +1 -0
  73. package/assets/esri/core/workers/chunks/e9457a67befc61e11095.js +1 -0
  74. package/assets/esri/core/workers/chunks/f06ef153e106b26a6748.js +1 -0
  75. package/assets/esri/core/workers/chunks/faae3c43048b42341536.js +1 -0
  76. package/assets/esri/core/workers/chunks/fc77eb7683e708774168.js +1 -0
  77. package/assets/esri/core/workers/chunks/fd967a9f3cf0e2890dbb.js +1 -0
  78. package/chunks/Clouds.glsl.js +7 -11
  79. package/chunks/h.js +2 -0
  80. package/chunks/projector.js +2 -0
  81. package/config.js +1 -1
  82. package/core/libs/gl-matrix-2/math/vec3.js +1 -1
  83. package/core/sanitizerUtils.js +1 -1
  84. package/form/FormTemplate.js +1 -1
  85. package/form/elements/Element.js +1 -1
  86. package/form/elements/FieldElement.js +1 -1
  87. package/geometry/ellipsoidUtils.js +4 -4
  88. package/geometry/support/frustumPlanes.js +1 -1
  89. package/geometry/support/plane.js +1 -1
  90. package/geometry/support/triangle.js +1 -1
  91. package/kernel.js +1 -1
  92. package/layers/BaseElevationLayer.js +1 -1
  93. package/layers/ElevationLayer.js +1 -1
  94. package/layers/GraphicsLayer.js +1 -1
  95. package/layers/IntegratedMesh3DTilesLayer.js +1 -1
  96. package/layers/IntegratedMeshLayer.d.ts +2 -0
  97. package/layers/IntegratedMeshLayer.js +1 -1
  98. package/layers/Lyr3DWasmPerSceneView.js +1 -1
  99. package/layers/geospatialPDF/geospatialPDFParserUtils.js +1 -1
  100. package/layers/geospatialPDF/support/datumUtils.js +2 -0
  101. package/layers/geospatialPDF/support/ellipsoidUtils.js +2 -0
  102. package/layers/geospatialPDF/support/geographicProjectionUtils.js +2 -0
  103. package/layers/geospatialPDF/support/parameterUtils.js +2 -0
  104. package/layers/geospatialPDF/support/projectedProjectionUtils.js +3 -0
  105. package/layers/geospatialPDF/support/projectionToSpatialReference.js +2 -0
  106. package/layers/geospatialPDF/support/statePlaneUtils.js +2 -0
  107. package/layers/geospatialPDF/support/unitUtils.js +2 -0
  108. package/layers/geospatialPDF/support/validateProjectionUtils.js +2 -0
  109. package/layers/graphics/sources/support/clientSideDefaults.js +2 -2
  110. package/layers/knowledgeGraph/KnowledgeGraphLayerDataManager.js +1 -1
  111. package/layers/knowledgeGraph/KnowledgeGraphSublayer.js +1 -1
  112. package/layers/ogc/ogcFeatureUtils.js +1 -1
  113. package/layers/save/imageryUtils.js +1 -1
  114. package/layers/save/mediaLayerUtils.js +1 -1
  115. package/layers/save/streamLayerUtils.js +1 -1
  116. package/layers/support/ControlPoint.js +1 -1
  117. package/layers/support/ControlPointsGeoreference.js +1 -1
  118. package/layers/support/DimensionalDefinition.js +1 -1
  119. package/layers/support/ElevationQuery.js +1 -1
  120. package/layers/support/LabelClass.js +1 -1
  121. package/layers/support/LabelExpressionInfo.js +1 -1
  122. package/layers/support/MediaElementBase.js +1 -1
  123. package/layers/support/MosaicRule.js +1 -1
  124. package/layers/support/MultidimensionalSubset.js +1 -1
  125. package/layers/support/RasterBandInfo.js +1 -1
  126. package/layers/support/RasterFunction.js +1 -1
  127. package/layers/support/RasterFunctionTemplate.js +1 -1
  128. package/layers/support/RasterInfo.js +1 -1
  129. package/layers/support/RasterSensorInfo.js +1 -1
  130. package/layers/support/RasterStorageInfo.js +1 -1
  131. package/layers/support/VideoElement.js +1 -1
  132. package/layers/support/layersLoader.js +1 -1
  133. package/layers/video/VideoController.js +3 -3
  134. package/layers/video/types.d.ts +12 -0
  135. package/legend/ActiveLayerInfo.d.ts +5 -1
  136. package/legend/ActiveLayerInfo.js +1 -1
  137. package/libs/maquette-advanced-projector/projector.js +1 -1
  138. package/linkChart/LayoutSettings.js +1 -1
  139. package/linkChart/RootedLayoutSettings.js +1 -1
  140. package/package.json +3 -3
  141. package/renderers/FlowRenderer.js +1 -1
  142. package/renderers/RasterColormapRenderer.js +1 -1
  143. package/renderers/RasterShadedReliefRenderer.js +1 -1
  144. package/renderers/RasterStretchRenderer.js +1 -1
  145. package/renderers/VectorFieldRenderer.js +1 -1
  146. package/renderers/support/ColormapInfo.js +1 -1
  147. package/renderers/support/RasterPresetRenderer.js +1 -1
  148. package/renderers/support/rasterRendererHelper.js +1 -1
  149. package/rest/knowledgeGraph/GraphApplyEdits.js +1 -1
  150. package/rest/support/BaseImageMeasureParameters.js +1 -1
  151. package/rest/support/BaseImageMeasureResult.js +1 -1
  152. package/rest/support/FindImagesParameters.js +1 -1
  153. package/rest/support/FindImagesResult.js +1 -1
  154. package/rest/support/ImageAngleParameters.js +1 -1
  155. package/rest/support/ImageAngleResult.js +1 -1
  156. package/rest/support/ImageAreaParameters.js +1 -1
  157. package/rest/support/ImageAreaResult.js +1 -1
  158. package/rest/support/ImageBoundaryParameters.js +1 -1
  159. package/rest/support/ImageBoundaryResult.js +1 -1
  160. package/rest/support/ImageDistanceParameters.js +1 -1
  161. package/rest/support/ImageDistanceResult.js +1 -1
  162. package/rest/support/ImageGPSInfoParameters.js +1 -1
  163. package/rest/support/ImageGPSInfoResult.js +1 -1
  164. package/rest/support/ImageHeightParameters.js +1 -1
  165. package/rest/support/ImageHeightResult.js +1 -1
  166. package/rest/support/ImageHistogramParameters.js +1 -1
  167. package/rest/support/ImageIdentifyParameters.js +1 -1
  168. package/rest/support/ImageIdentifyResult.js +1 -1
  169. package/rest/support/ImagePixelLocationParameters.js +1 -1
  170. package/rest/support/ImagePixelLocationResult.js +1 -1
  171. package/rest/support/ImagePointParameters.js +1 -1
  172. package/rest/support/ImagePointResult.js +1 -1
  173. package/rest/support/ImageSample.js +1 -1
  174. package/rest/support/ImageSampleParameters.js +1 -1
  175. package/rest/support/ImageSampleResult.js +1 -1
  176. package/rest/support/ImageToMapMultirayParameters.js +1 -1
  177. package/rest/support/ImageToMapParameters.js +1 -1
  178. package/rest/support/ImageUrlParameters.js +1 -1
  179. package/rest/support/ImageUrlResult.js +1 -1
  180. package/rest/support/ImageVolumeParameters.js +1 -1
  181. package/rest/support/ImageVolumeResult.js +1 -1
  182. package/rest/support/MapToImageParameters.js +1 -1
  183. package/rest/support/MeasureAreaFromImageResult.js +1 -1
  184. package/rest/support/MeasureFromImageParameters.js +1 -1
  185. package/rest/support/MeasureLengthFromImageResult.js +1 -1
  186. package/symbols/support/cimSymbolUtils.js +1 -1
  187. package/symbols/support/renderUtils.js +1 -1
  188. package/views/2d/ViewState.d.ts +3 -3
  189. package/views/2d/ViewState.js +1 -1
  190. package/views/2d/ViewStateManager.js +1 -1
  191. package/views/2d/engine/Bitmap.js +1 -1
  192. package/views/2d/engine/flow/styles/Imagery.js +1 -1
  193. package/views/2d/engine/vectorTiles/SpriteMosaic.js +1 -1
  194. package/views/2d/engine/vectorTiles/VTLPainter3D.js +1 -1
  195. package/views/2d/engine/vectorTiles/decluttering/CollisionJob.js +1 -1
  196. package/views/2d/engine/vectorTiles/style/geoJSONVectorTileUtils.js +1 -1
  197. package/views/2d/engine/webgl/AttributeStoreView.js +1 -1
  198. package/views/2d/engine/webgl/GlyphMosaic.js +1 -1
  199. package/views/2d/engine/webgl/Overlay.js +1 -1
  200. package/views/2d/engine/webgl/OverlayMultipoint.js +1 -1
  201. package/views/2d/engine/webgl/SpriteMosaic.js +1 -1
  202. package/views/2d/engine/webgl/VideoScreenRenderer.js +1 -1
  203. package/views/2d/engine/webgl/animations/store/AnimationStore.js +1 -1
  204. package/views/2d/engine/webgl/collisions/LabelMetric.js +1 -1
  205. package/views/2d/engine/webgl/collisions/LabelStore.js +1 -1
  206. package/views/2d/engine/webgl/effects/highlight/HighlightGradient.js +1 -1
  207. package/views/2d/engine/webgl/shaderGraph/techniques/TextureStatisticsTechnique.js +1 -1
  208. package/views/2d/engine/webgl/shaderGraph/techniques/animated/AAnimatedShader.js +1 -1
  209. package/views/2d/engine/webgl/shaderGraph/techniques/animated/AnimatedMarkerShader.js +1 -1
  210. package/views/2d/engine/webgl/shaderGraph/techniques/blend/BlendTechnique.js +1 -1
  211. package/views/2d/engine/webgl/shaderGraph/techniques/colorize/ColorizeTechnique.js +1 -1
  212. package/views/2d/engine/webgl/shaderGraph/techniques/dotDensity/DotDensityResources.js +1 -1
  213. package/views/2d/engine/webgl/shaderGraph/techniques/drop-shadow/DropShadowTechnique.js +1 -1
  214. package/views/2d/engine/webgl/shaderGraph/techniques/heatmap/HeatmapResources.js +1 -1
  215. package/views/2d/engine/webgl/shaderGraph/techniques/labels/LabelMeshWriter.js +1 -1
  216. package/views/2d/engine/webgl/shaderGraph/techniques/magnifier/MagnifierTechnique.js +1 -1
  217. package/views/2d/engine/webgl/shaderGraph/techniques/markers/MarkerShader.js +1 -1
  218. package/views/2d/engine/webgl/shaderGraph/techniques/opacity/OpacityTechnique.js +1 -1
  219. package/views/2d/engine/webgl/shaderGraph/techniques/raster/RasterColorizerTechnique.js +1 -1
  220. package/views/2d/engine/webgl/shaderGraph/techniques/raster/RasterHighlightTechnique.js +1 -1
  221. package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/textureUtils.js +1 -1
  222. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/AFeatureShader.js +1 -1
  223. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/FillShader.js +1 -1
  224. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/LineShader.js +1 -1
  225. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/OutlineFillShader.js +1 -1
  226. package/views/2d/engine/webgl/shaderGraph/techniques/text/TextShader.js +1 -1
  227. package/views/2d/engine/webgl/shaderGraph/techniques/tile/TileDebugInfoTexture.js +1 -1
  228. package/views/2d/engine/webgl/textureUtils.js +1 -1
  229. package/views/2d/engine/webgl/util/IntervalMatcher.js +1 -1
  230. package/views/2d/layers/LayerView2D.js +1 -1
  231. package/views/2d/webglDeps.js +1 -1
  232. package/views/3d/FocusAreasView.js +1 -1
  233. package/views/3d/GroundView3D.js +1 -1
  234. package/views/3d/input/SceneInputManager.js +1 -1
  235. package/views/3d/layers/GaussianSplatLayerView3D.js +1 -1
  236. package/views/3d/layers/graphics/ElevationAligners.js +1 -1
  237. package/views/3d/layers/graphics/Graphics3DLineSymbolLayer.js +1 -1
  238. package/views/3d/layers/graphics/Graphics3DSymbol.js +1 -1
  239. package/views/3d/layers/i3s/I3SBinaryReader.js +1 -1
  240. package/views/3d/layers/i3s/LayerElevationProvider.js +1 -1
  241. package/views/3d/state/ConstraintsManager.js +1 -1
  242. package/views/3d/state/ViewState.js +1 -1
  243. package/views/3d/state/ViewStateManager.js +1 -1
  244. package/views/3d/support/engineContent/line.js +1 -1
  245. package/views/3d/support/engineContent/marker.js +1 -1
  246. package/views/3d/support/flow/StreamlineResources3D.js +1 -1
  247. package/views/3d/support/flow/StreamlineResources3DOverlay.js +1 -1
  248. package/views/3d/support/flow/StreamlineResources3DShape.js +1 -1
  249. package/views/3d/support/flow/geometryUtils.js +1 -1
  250. package/views/3d/support/gaussianSplatting/GaussianSplatFadeHelper.js +1 -1
  251. package/views/3d/support/gaussianSplatting/GaussianSplatIntersectionHandler.js +1 -1
  252. package/views/3d/support/gaussianSplatting/GaussianSplatOrderTexture.js +1 -1
  253. package/views/3d/support/gaussianSplatting/GaussianSplatTextureAtlas.js +1 -1
  254. package/views/3d/support/gaussianSplatting/GaussianTileBuilder.js +2 -0
  255. package/views/3d/support/gaussianSplatting/GaussianTileLifecycle.js +2 -0
  256. package/views/3d/support/gaussianSplatting/formatConstants.js +2 -0
  257. package/views/3d/support/pointsOfInterest/CameraOnSurface.js +1 -1
  258. package/views/3d/support/pointsOfInterest/StableSurfaceCenter.js +1 -1
  259. package/views/3d/terrain/OverlayManager.js +1 -1
  260. package/views/3d/terrain/OverlayRenderer.js +1 -1
  261. package/views/3d/terrain/TerrainRenderer.js +1 -1
  262. package/views/3d/terrain/TerrainSurface.js +1 -1
  263. package/views/3d/terrain/Tile.js +1 -1
  264. package/views/3d/terrain/TileCompositor.js +1 -1
  265. package/views/3d/terrain/TileRenderer.js +1 -1
  266. package/views/3d/terrain/tileUtils.js +1 -1
  267. package/views/3d/webgl/RenderNode.d.ts +1 -1
  268. package/views/3d/webgl-engine/core/FBOCache.js +1 -1
  269. package/views/3d/webgl-engine/core/renderPasses/RenderPassManager.js +1 -1
  270. package/views/3d/webgl-engine/core/shaderLibrary/hud/HUD.glsl.js +1 -1
  271. package/views/3d/webgl-engine/core/shaderLibrary/shading/readShadow.glsl.js +1 -1
  272. package/views/3d/webgl-engine/core/shaderLibrary/util/GaussianSplatUnpacking.glsl.js +15 -11
  273. package/views/3d/webgl-engine/effects/WeatherFader.js +1 -1
  274. package/views/3d/webgl-engine/effects/atmosphere/LocalAtmosphere.js +1 -1
  275. package/views/3d/webgl-engine/effects/atmosphere/MarsAtmosphere.js +1 -1
  276. package/views/3d/webgl-engine/effects/clouds/CloudsRenderer.js +1 -1
  277. package/views/3d/webgl-engine/effects/debug/RenderNodeVisualizerNode.js +19 -9
  278. package/views/3d/webgl-engine/effects/highlight/Highlight.js +1 -1
  279. package/views/3d/webgl-engine/effects/magnifier/Magnifier.js +1 -1
  280. package/views/3d/webgl-engine/effects/smaa/SMAA.js +1 -1
  281. package/views/3d/webgl-engine/effects/ssao/SSAO.js +1 -1
  282. package/views/3d/webgl-engine/effects/stars/Stars.js +1 -1
  283. package/views/3d/webgl-engine/lib/AttributeView.js +1 -1
  284. package/views/3d/webgl-engine/lib/BasisUtil.js +1 -1
  285. package/views/3d/webgl-engine/lib/BindParameters.js +1 -1
  286. package/views/3d/webgl-engine/lib/DDSUtil.js +1 -1
  287. package/views/3d/webgl-engine/lib/DrapedHeatmapRenderer.js +1 -1
  288. package/views/3d/webgl-engine/lib/GPUPointOcclusionQuery.js +1 -1
  289. package/views/3d/webgl-engine/lib/GaussianSplatRenderUtils.js +1 -1
  290. package/views/3d/webgl-engine/lib/GeometryUtil.js +1 -1
  291. package/views/3d/webgl-engine/lib/ManagedTexture.js +1 -1
  292. package/views/3d/webgl-engine/lib/Renderer.js +1 -1
  293. package/views/3d/webgl-engine/lib/TextTextureAtlas.js +1 -1
  294. package/views/3d/webgl-engine/lib/TextureBackedBuffer/TextureBuffer.js +1 -1
  295. package/views/3d/webgl-engine/lib/TextureBackedBuffer/TextureBufferView.js +1 -1
  296. package/views/3d/webgl-engine/lib/VerticesView.js +2 -0
  297. package/views/3d/webgl-engine/lib/attributeViewUtils.js +1 -1
  298. package/views/3d/webgl-engine/lib/edgeRendering/strokes.js +1 -1
  299. package/views/3d/webgl-engine/lib/geometryDataUtils.js +1 -1
  300. package/views/3d/webgl-engine/lib/glUtil3D.js +1 -1
  301. package/views/3d/webgl-engine/lib/screenPolygonOverlapUtils.js +1 -1
  302. package/views/3d/webgl-engine/lib/screenPolygonTriangleIntersections.js +1 -1
  303. package/views/3d/webgl-engine/materials/HUDMaterial.js +1 -1
  304. package/views/3d/webgl-engine/materials/HUDMaterialBaseInstance.js +1 -1
  305. package/views/3d/webgl-engine/materials/LineMarkerMaterial.js +1 -1
  306. package/views/3d/webgl-engine/materials/RibbonLineMaterial.js +1 -1
  307. package/views/3d/webgl-engine/materials/internal/WaterTextureRepository.js +1 -1
  308. package/views/3d/webgl-engine/materials/internal/bufferWriterUtils.js +1 -1
  309. package/views/3d/webgl-engine/materials/internal/lineMarkerBufferUtils.js +2 -0
  310. package/views/3d/webgl-engine/materials/internal/ribbonLineBufferUtils.js +2 -0
  311. package/views/3d/webgl-engine/materials/renderers/VaoRenderer.js +1 -1
  312. package/views/3d/webgl-engine/materials/stippleTextureRepository.js +1 -1
  313. package/views/3d/webgl-engine/shaders/DefaultMaterialTechnique.js +1 -1
  314. package/views/3d/webgl-engine/shaders/HUDMaterialTechnique.js +1 -1
  315. package/views/3d/webgl-engine/shaders/LineMarkerTechnique.js +1 -1
  316. package/views/3d/webgl-engine/shaders/hudMaterialLayouts.js +2 -0
  317. package/views/3d/webgl-engine/shaders/lineMarkerLayouts.js +2 -0
  318. package/views/draw/support/ManagedTooltipField.js +1 -1
  319. package/views/overlay/LineOverlayItem.js +1 -1
  320. package/views/overlay/TextOverlayItem.js +1 -1
  321. package/views/overlay/ViewOverlay.js +1 -1
  322. package/views/support/GroundElevationSampler.js +1 -1
  323. package/views/support/HighlightOptions.d.ts +2 -2
  324. package/views/support/HighlightOptions.js +1 -1
  325. package/views/support/TextureCompressionHelper.js +1 -1
  326. package/views/support/imageReprojection.js +1 -1
  327. package/views/webgl/FramebufferObject.js +1 -1
  328. package/views/webgl/RenderingContext.js +1 -1
  329. package/views/webgl/Texture.js +1 -1
  330. package/views/webgl/Util.js +1 -1
  331. package/views/webgl/rasterUtils.js +1 -1
  332. package/views/webgl/testSVGPremultipliedAlpha.js +1 -1
  333. package/widgets/FeatureTable/Grid/Grid.js +1 -1
  334. package/widgets/Legend/styles/support/univariateUtils.js +1 -1
  335. package/widgets/OrientedImageryViewer/OrientedImageryViewerViewModel.js +1 -1
  336. package/widgets/OrientedImageryViewer.js +1 -1
  337. package/widgets/ScaleRangeSlider/types.d.ts +3 -3
  338. package/assets/esri/core/workers/chunks/01f55004d64309f8538b.js +0 -1
  339. package/assets/esri/core/workers/chunks/039d9bc5b5015012f811.js +0 -1
  340. package/assets/esri/core/workers/chunks/08140725277de5d2e41a.js +0 -1
  341. package/assets/esri/core/workers/chunks/0d99bfb75dcb9fa29080.js +0 -1
  342. package/assets/esri/core/workers/chunks/144bad0c2415c345736a.js +0 -1
  343. package/assets/esri/core/workers/chunks/165ca7a97b611c8f26c4.js +0 -1
  344. package/assets/esri/core/workers/chunks/16cda273927ab0a39544.js +0 -1
  345. package/assets/esri/core/workers/chunks/1989410a618865f02dec.js +0 -1
  346. package/assets/esri/core/workers/chunks/29c610ce1c81ebb84a6b.js +0 -1
  347. package/assets/esri/core/workers/chunks/3223f9fbc76ba9ef8d13.js +0 -1
  348. package/assets/esri/core/workers/chunks/338d800d4efcc91cead1.js +0 -1
  349. package/assets/esri/core/workers/chunks/3415531224f8494d79ca.js +0 -1
  350. package/assets/esri/core/workers/chunks/3fdcc383bbd9cf0d274c.js +0 -1
  351. package/assets/esri/core/workers/chunks/46c290108a90518ef695.js +0 -1
  352. package/assets/esri/core/workers/chunks/48b8b57f559a53c6c513.js +0 -1
  353. package/assets/esri/core/workers/chunks/4a979fce1c971b614a18.js +0 -1
  354. package/assets/esri/core/workers/chunks/59a88dd53f8806bbec06.js +0 -1
  355. package/assets/esri/core/workers/chunks/5aeb5e18514644fe2cf9.js +0 -1
  356. package/assets/esri/core/workers/chunks/5bd1414220e42cb8ebcf.js +0 -1
  357. package/assets/esri/core/workers/chunks/5d781c2c6204cffffd0d.js +0 -1
  358. package/assets/esri/core/workers/chunks/6edc13a426e00bb93a9b.js +0 -1
  359. package/assets/esri/core/workers/chunks/723df53cfa0189837d01.js +0 -1
  360. package/assets/esri/core/workers/chunks/7400b8c454b47ee4fb3c.js +0 -1
  361. package/assets/esri/core/workers/chunks/7862abd24fb5c3b12e6b.js +0 -1
  362. package/assets/esri/core/workers/chunks/796c6195b6bf59dcc9bd.js +0 -1
  363. package/assets/esri/core/workers/chunks/7af4edc6e87d27b9d467.js +0 -1
  364. package/assets/esri/core/workers/chunks/81bcc495e6eaf2cf7474.js +0 -1
  365. package/assets/esri/core/workers/chunks/934e1f2153e6fad6ed23.js +0 -1
  366. package/assets/esri/core/workers/chunks/990e96139b5a1dccb061.js +0 -1
  367. package/assets/esri/core/workers/chunks/a607541959169741a943.js +0 -1
  368. package/assets/esri/core/workers/chunks/aa779896fd9e5c341349.js +0 -1
  369. package/assets/esri/core/workers/chunks/c131e0dd180a4c10e12e.js +0 -1
  370. package/assets/esri/core/workers/chunks/c7adb7b77721c75891f4.js +0 -1
  371. package/assets/esri/core/workers/chunks/cd55cad81accf51d2989.js +0 -1
  372. package/assets/esri/core/workers/chunks/ce324dde6d7daea33638.js +0 -1
  373. package/assets/esri/core/workers/chunks/d3412518a7b518860fbb.js +0 -1
  374. package/assets/esri/core/workers/chunks/dac69c0047488fdf986d.js +0 -1
  375. package/assets/esri/core/workers/chunks/dba5f44c4e4a3f075df2.js +0 -1
  376. package/assets/esri/core/workers/chunks/e67ea2f1714e5abeae44.js +0 -1
  377. package/assets/esri/core/workers/chunks/e8fb2ba7b7a4f0916325.js +0 -1
  378. package/assets/esri/core/workers/chunks/f10c883eb26330e3421c.js +0 -1
  379. package/assets/esri/core/workers/chunks/f3b4159c0722df8ffe13.js +0 -1
  380. package/assets/esri/core/workers/chunks/f75eec2cbc541eec9712.js +0 -1
  381. package/layers/geospatialPDF/projectionToWKTUtils.js +0 -3
  382. package/libs/maquette/cache.js +0 -2
  383. package/libs/maquette/dom.js +0 -2
  384. package/libs/maquette/h.js +0 -2
  385. package/libs/maquette/index.js +0 -2
  386. package/libs/maquette/mapping.js +0 -2
  387. package/libs/maquette/projection.js +0 -2
  388. package/libs/maquette/projector.js +0 -2
  389. package/libs/maquette/utilities/window-performance-projector-logger.js +0 -2
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[8589],{16494(e,t,i){var r=i(8673);const s=["dd","dl","dt","h1","h2","h3","h4","h5","h6","sub","sup",..."animate.animatetransform.circle.clippath.defs.ellipse.g.image.line.lineargradient.marker.mask.path.pattern.polygon.polyline.radialgradient.rect.stop.svg.switch.symbol.text.textpath.tspan.use".split(".")].reduce((e,t)=>(e[t]=[],e),{}),a="align.alink.alt.bgcolor.border.cellpadding.cellspacing.class.color.cols.colspan.coords.d.dir.face.height.hspace.ismap.lang.marginheight.marginwidth.multiple.nohref.noresize.noshade.nowrap.ref.rel.rev.rows.rowspan.scrolling.shape.span.summary.tabindex.title.usemap.valign.value.vlink.vspace.width".split("."),o=new r.I({whiteList:s,onTagAttr:(e,t,i)=>{let r=`${t}="${i}"`;if(a.includes(t))return r},stripIgnoreTag:!0,stripIgnoreTagBody:["script","style"]},!0),n={sanitizeHtml:e=>o.sanitize(e)},l=new r.I({whiteList:{br:[]},stripIgnoreTag:!0,escapeHtml:e=>e},!1);i.d(t,["KO",0,n,"Nd",0,l,"W5",0,o])},83027(e,t,i){const r=i(29953).ho;i.d(t,["h",0,r])},18589(e,t,i){i.r(t),i.d(t,{default:()=>Ke});var r=i(32198),s=i(40124),a=i(56507),o=i(69540),n=i(7762),l=i(49186),d=i(36563),u=i(4718),p=i(53966),y=i(97768),h=i(25728),c=i(93637),f=i(17676),g=i(39516),m=i(91429),b=i(89317),w=i(78247),v=i(16930),F=i(41910),I=i(55156),C=i(60950),M=i(89808),T=i(99959);const S=Symbol("isFeatureGraphicOrigin");var _;class E extends T.A{get[(_=S,C.ym)](){return this.layer}get[I.e](){return this.layer}get[M.Q](){return this.layer}get[F.e7](){return this.layer}constructor(e){super(),this[_]=!0,this.type="feature",this.layer=e}get id(){return this.layer.id}}var Z=i(4146),j=i(52106),O=i(44208),x=i(92474),A=i(61893),D=i(83027),q=i(78888),L=i(5443),P=i(39829),R=i(50498),k=i(54339),N=i(59288),G=i(96520),$=i(22671),J=i(7695);let U=0,V=class extends((0,x.WV)((0,A.g)(n.A))){constructor(e){super(e),this._idToClientGeometry=null,this.type="memory"}load(e){let t=null==e?null:e.signal;return this.addResolvingPromise(this._startWorker(t)),Promise.resolve(this)}destroy(){this._connection?.close(),this._connection=null}get _workerGeometryType(){let e=this.layer?.geometryType;return e?this._geometryTypeRequiresClientGraphicMapping(e)?"polygon":e:null}applyEdits(e){return this.load().then(()=>this._applyEdits(e))}openPorts(){return this.load().then(()=>this._connection.openPorts())}async queryFeatures(e,t={}){if(await this.load(t),(0,f.G4)(t)||null==this._connection)throw(0,f.NK)();let i=(0,N.$)(e,this.layer.timeInfo,this.sourceJSON.timeInfo,this.layer.fieldsIndex),r=await this._connection.invoke("queryFeatures",i.toJSON(),t),s=$.A.fromJSON(r);if(!this._requiresClientGraphicMapping()||!this._idToClientGeometry)return s;let a=this.layer.objectIdField;for(let e of s.features){let t=e.attributes[a],i=this._idToClientGeometry.get(t);void 0!==i&&(e.geometry=i)}return s.geometryType=this.layer.geometryType,s}async queryFeaturesJSON(e,t={}){if(this._requiresClientGraphicMapping())throw new l.A("query-features-json:unsupported","Cannot query in JSON format for client only geometry types (mesh and extent)");if(await this.load(t),(0,f.G4)(t)||null==this._connection)throw(0,f.NK)();let i=(0,N.$)(e,this.layer.timeInfo,this.sourceJSON.timeInfo,this.layer.fieldsIndex);return await this._connection.invoke("queryFeatures",i.toJSON(),t)}async queryFeatureCount(e,t={}){if(await this.load(t),(0,f.G4)(t)||null==this._connection)throw(0,f.NK)();let i=(0,N.$)(e,this.layer.timeInfo,this.sourceJSON.timeInfo,this.layer.fieldsIndex);return this._connection.invoke("queryFeatureCount",i.toJSON(),t)}async queryObjectIds(e,t={}){if(await this.load(t),(0,f.G4)(t)||null==this._connection)throw(0,f.NK)();let i=(0,N.$)(e,this.layer.timeInfo,this.sourceJSON.timeInfo,this.layer.fieldsIndex);return this._connection.invoke("queryObjectIds",i.toJSON(),t)}async queryExtent(e,t={}){if(await this.load(t),(0,f.G4)(t)||null==this._connection)throw(0,f.NK)();let i=(0,N.$)(e,this.layer.timeInfo,this.sourceJSON.timeInfo,this.layer.fieldsIndex),r=await this._connection.invoke("queryExtent",i.toJSON(),t);return{count:r.count,extent:L.A.fromJSON(r.extent)}}async querySnapping(e,t={}){if(await this.load(t),(0,f.G4)(t)||null==this._connection)throw(0,f.NK)();return this._connection.invoke("querySnapping",e,t)}async queryAttributeBins(e,t={}){if(await this.load(t),(0,f.G4)(t)||null==this._connection)throw(0,f.NK)();let r=(0,N.$)(e,this.layer.timeInfo,this.sourceJSON.timeInfo,this.layer.fieldsIndex),s=await this._connection.invoke("queryAttributeBins",r.toJSON(),t);return(await i.e(7745).then(()=>i(37745))).default.fromJSON(s)}async _applyEdits(e){if(!this._connection)throw new l.A("feature-layer-source:edit-failure","Memory source not loaded");let t=this.layer.objectIdField,i=this.layer.uniqueIdFields,r=null,s=[],a=[];await Promise.all([this._prepareClientMapping(e.addFeatures,null),this._prepareClientMapping(e.updateFeatures,null)]);let o=e=>i?.length&&"attributes"in e?(0,k.r)(e,this.layer):"objectId"in e&&null!=e.objectId?e.objectId:"attributes"in e&&null!=e.attributes[t]?e.attributes[t]:null;if(e.addFeatures&&(r=this._prepareAddFeatures(e.addFeatures)),e.deleteFeatures)for(let t of e.deleteFeatures){let e=o(t);null!=e&&s.push(e)}let n=e.updateFeatures&&this._idToClientGeometry?new Map:null;if(e.updateFeatures)for(let t of e.updateFeatures)if(a.push(this._serializeFeature(t)),n&&null!=t.geometry){let e=o(t);null!=e&&n.set(e,t)}(0,G.u)(r?r.features:null,a,this.layer.spatialReference);let{fullExtent:d,featureEditResults:u}=await this._connection.invoke("applyEdits",{adds:r?r.features:[],updates:a,deletes:s});return this.fullExtent=d,r&&r.finish(u.uidToObjectId),this._updateIdToClientGeometries(n,u),this._createEditsResult(u)}async _prepareClientMapping(e,t){if("mesh"!==this._layerOrSourceGeometryType||null==e)return;let i=[];for(let{geometry:r}of e)null!=r&&"mesh"===r.type&&!r.hasExtent&&!r.loaded&&i.push(r.load({signal:t}));i.length&&await Promise.all(i)}_updateIdToClientGeometries(e,t){if(this._idToClientGeometry){if(e)for(let i of t.updateResults){if(!i.success)continue;let t=e.get(i.objectId);null!=t&&this._addIdToClientGeometry(t)}for(let e of t.deleteResults)e.success&&this._idToClientGeometry.delete(e.objectId)}}_createEditsResult(e){return{addFeatureResults:e.addResults?e.addResults.map(this._createFeatureEditResult,this):[],updateFeatureResults:e.updateResults?e.updateResults.map(this._createFeatureEditResult,this):[],deleteFeatureResults:e.deleteResults?e.deleteResults.map(this._createFeatureEditResult,this):[],addAttachmentResults:[],updateAttachmentResults:[],deleteAttachmentResults:[]}}_createFeatureEditResult(e){let t=!0===e.success?null:e.error||{code:void 0,description:""};return{objectId:e.objectId,globalId:e.globalId,error:t?new l.A("feature-layer-source:edit-failure",t.description,{code:t.code}):null}}_prepareAddFeatures(e){let t=new Map,i=Array(e.length),r=null;for(let s=0;s<e.length;s++){let a=e[s],o=this._serializeFeature(a);!r&&null!=a.geometry&&(r=a.geometry.type),i[s]=o,t.set(`${o.uid}`,a)}let s=this;return{features:i,inferredGeometryType:r,finish(e){let i=s.sourceJSON.objectIdField;for(let r in e){let a=e[r],o=t.get(r);o&&(o.attributes||={},-1===a?delete o.attributes[i]:o.attributes[i]=a,s._addIdToClientGeometry(o))}}}}_addIdToClientGeometry(e){if(!this._idToClientGeometry)return;let t=this.sourceJSON.objectIdField,i=e.attributes?.[t];null!=i&&this._idToClientGeometry.set(i,e.geometry??null)}get _layerOrSourceGeometryType(){return this.layer?.geometryType??this.sourceJSON?.geometryType}_requiresClientGraphicMapping(){return this._geometryTypeRequiresClientGraphicMapping(this._layerOrSourceGeometryType)}_geometryRequiresClientGraphicMapping(e){return this._geometryTypeRequiresClientGraphicMapping(e.type)}_geometryTypeRequiresClientGraphicMapping(e){return"mesh"===e||"multipatch"===e||"extent"===e}_serializeFeature(e){let{attributes:t}=e,i=this._geometryForSerialization(e),r=(U++).toString();return i?{uid:r,geometry:i.toJSON(),attributes:t}:{uid:r,attributes:t}}_geometryForSerialization(e){let{geometry:t}=e;return null==t?null:this._geometryRequiresClientGraphicMapping(t)?t.extent?P.A.fromExtent(t.extent):null:t}async _startWorker(e){this._connection=await(0,D.h)("MemorySourceWorker",{strategy:(0,O.A)("feature-layers-workers")?"dedicated":"local",signal:e,registryTarget:this});let{fields:t,spatialReference:i,objectIdField:r,hasM:s,hasZ:a,timeInfo:o,dateFieldsTimeZone:n}=this.layer,l="defaults"===this.layer.originOf("spatialReference");await this._prepareClientMapping(this.items,e);let d=this._prepareAddFeatures(this.items);this.addHandles(this.on("before-changes",e=>{p.A.getLogger(this).error("Source modifications will not propagate after layer has been loaded. Please use .applyEdits() instead"),e.preventDefault()}));let{uniqueIdFields:u}=this.layer,y=u?.length?{type:u.length>1?"composite":"simple",fields:u.slice(),OIDFieldContainsHashValue:1!==u?.length||u.at(0)!==this.layer.objectIdField}:void 0,h={features:d.features,fields:t?.map(e=>e.toJSON()),geometryType:R.Ye.toJSON(this._workerGeometryType),hasM:"mesh"!==this._layerOrSourceGeometryType&&s,hasZ:"mesh"===this._layerOrSourceGeometryType||a,objectIdField:r,spatialReference:l?null:i&&i.toJSON(),timeInfo:o?.toJSON()??null,dateFieldsTimeZone:n,uniqueIdInfo:y},c=await this._connection.invoke("load",h,{signal:e});for(let e of c.warnings)p.A.getLogger(this.layer).warn("#load()",`${e.message} (title: '${this.layer.title||"no title"}', id: '${this.layer.id??"no id"}')`,{warning:e});c.featureErrors.length&&p.A.getLogger(this.layer).error("#load()",`Failed to load ${c.featureErrors.length} features due to errors. (title: '${this.layer.title||"no title"}', id: '${this.layer.id??"no id"}').`,c.featureErrors.map(e=>"\n\n- "+e.error.description).join(""));let f=c.layerDefinition;this._geometryTypeRequiresClientGraphicMapping(d.inferredGeometryType)&&(f.geometryType=R.Ye.toJSON(d.inferredGeometryType)),this.sourceJSON=f,this._requiresClientGraphicMapping()&&(this._idToClientGeometry=new Map),d.finish(c.assignedObjectIds)}};(0,r.Cg)([(0,J.u)({Type:j.A,ensureType:(0,q.dp)(j.A)})],V.prototype,"itemType",void 0),(0,r.Cg)([(0,m.MZ)()],V.prototype,"type",void 0),(0,r.Cg)([(0,m.MZ)({constructOnly:!0})],V.prototype,"layer",void 0),(0,r.Cg)([(0,m.MZ)({readOnly:!0})],V.prototype,"_workerGeometryType",null),(0,r.Cg)([(0,m.MZ)()],V.prototype,"sourceJSON",void 0),V=(0,r.Cg)([(0,m.$K)("esri.layers.graphics.sources.MemorySource")],V);var K=i(52136),H=i(18768),B=i(63074),Q=i(69208),W=i(75254),z=i(6455),Y=i(47685),X=i(87718),ee=i(10086),te=i(56658),ie=i(34287),re=i(32756),se=i(8303),ae=i(69622);let oe=class extends ae.A{constructor(e){super(e),this.updating=!1,this.status="unknown"}};(0,r.Cg)([(0,m.MZ)()],oe.prototype,"updating",void 0),(0,r.Cg)([(0,m.MZ)()],oe.prototype,"status",void 0),oe=(0,r.Cg)([(0,m.$K)("esri.layers.support.PublishingInfo")],oe);const ne=Symbol(),le=e=>{var t;let i=e,s=class extends i{constructor(){super(...arguments),this[t]=!0}static{t=ne}get publishingInfo(){if(this.destroyed)return null;let e=this._get("publishingInfo");if(e)return e;let t=new oe;return this._checkPublishingStatus(t),t}_checkPublishingStatus(e){let t=0,i=async s=>{let a;e.updating=!0;try{a=await this.fetchPublishingStatus()}catch{a="unavailable"}("published"===a||"unavailable"===a)&&("publishing"===e.status&&this.refresh(),r.remove()),e.status=a,e.updating=!1,r.removed||(t=setTimeout(i,s,s+125))},r={removed:!1,remove(){this.removed=!0,clearTimeout(t)}};this.when().catch(()=>r.remove()),i(250),this.addHandles(r)}};return(0,r.Cg)([(0,m.MZ)({readOnly:!0,clonable:!1})],s.prototype,"publishingInfo",null),s=(0,r.Cg)([(0,m.$K)("esri.layers.mixins.PublishableLayer")],s),s};var de=i(54310),ue=i(23502),pe=i(25036),ye=i(82935),he=i(63396),ce=i(60694),fe=i(10873),ge=i(15426),me=i(29005),be=i(33143),we=i(30279),ve=i(16194),Fe=i(17036),Ie=i(30524),Ce=i(46499),Me=i(39383),Te=i(6666),Se=i(25482);let _e=class extends((0,o.OU)(Se.o)){constructor(e){super(e),this.enabled=!1,this.drawOrder=[]}};(0,r.Cg)([(0,m.MZ)({type:Boolean,json:{write:!0,origins:{"web-scene":{write:!1}}}})],_e.prototype,"enabled",void 0),(0,r.Cg)([(0,m.MZ)({type:[String],json:{write:!0,origins:{"web-scene":{write:!1}}}})],_e.prototype,"drawOrder",void 0),_e=(0,r.Cg)([(0,m.$K)("esri.layers.support.SymbolLayerDrawing")],_e);var Ee=i(17311),Ze=i(91908),je=i(65494),Oe=i(8947),xe=i(41214),Ae=i(99614),De=i(97552),qe=i(54218),Le=i(30291),Pe=i(33910),Re=i(78553),ke=i(59923),Ne=i(36005),Ge=i(43937);const $e="FeatureLayer";function Je(e){return e&&e instanceof n.A}const Ue=(0,Fe.p)();function Ve(e,t,i){let r=!!i?.writeLayerSchema;return{enabled:r,ignoreOrigin:r}}let Ke=class extends((0,ue.Z)((0,ee.j)((0,te.J)((0,X.F)(le((0,Y.w6)((0,z.FJ)((0,B.dM)((0,re.fY)((0,ye.e)((0,W.z)((0,he.d)((0,pe.j)((0,de.J)((0,H.b)((0,ie.q)((0,se.A)((0,h.M)((0,Q.d)((0,K.p)((0,o.OU)(Z.A)))))))))))))))))))))){constructor(...e){super(...e),this.attributeTableTemplate=null,this.charts=null,this.copyright=null,this.displayField=null,this.dynamicDataSource=null,this.fields=null,this.fieldsIndex=null,this.formTemplate=null,this.fullExtent=null,this.geometryType=null,this.graphicOrigin=new E(this),this.hasM=void 0,this.hasZ=void 0,this.infoFor3D=null,this.isTable=!1,this.labelsVisible=!0,this.labelingInfo=null,this.symbolLayerDrawing=null,this.legendEnabled=!0,this.objectIdField=null,this.operationalLayerType="ArcGISFeatureLayer",this.outFields=null,this.path=null,this.popupEnabled=!0,this.popupTemplate=null,this.resourceInfo=null,this.screenSizePerspectiveEnabled=!0,this.spatialReference=v.A.WGS84,this.subtypeCode=null,this.subtypeField=null,this.subtypes=null,this.supportedPortalItemTypes=["Feature Service","Feature Collection","Scene Service"],this.supportedSourceTypes=new Set(["Feature Layer","Oriented Imagery Layer","Table","Catalog Layer"]),this.templates=null,this.title=null,this.sublayerTitleMode="item-title",this.type="feature",this.typeIdField=null,this.types=null,this.visible=!0,this._debouncedSaveOperations=(0,f.sg)(async(e,t,r)=>{let{save:s,saveAs:a}=await i.e(3359).then(()=>i(33359));switch(e){case 0:return s(this,t);case 1:return a(this,r,t)}})}destroy(){this.source?.destroy()}normalizeCtorArgs(e,t){return"string"==typeof e?{url:e,...t}:e}load(e){let t=null==e?null:e.signal;if(this.portalItem?.loaded&&this.source)return this.addResolvingPromise(this.createGraphicsSource(t).then(e=>this.initLayerProperties(e))),Promise.resolve(this);let i=this.loadFromPortal({supportedTypes:this.supportedPortalItemTypes},e).catch(f.QP).then(async()=>{if(this.url&&null==this.layerId&&/FeatureServer|MapServer\/*$/i.test(this.url)){let e=await this._fetchFirstValidLayerId(t);null!=e&&(this.layerId=e)}if(!this.url&&!this._hasMemorySource())throw new l.A("feature-layer:missing-url-or-source","Feature layer must be created with either a url or a source");return this.initLayerProperties(await this.createGraphicsSource(t))}).then(()=>(0,ge.VA)(this,"load",e));return this.addResolvingPromise(i),Promise.resolve(this)}get _titleCreator(){let e=this._get("_titleCreator");return(0,y.pR)(e),new Ee.A({fieldsIndex:this.fieldsIndex,objectIdField:this.objectIdField,fields:this.fields,displayField:this.displayField,effectivePopupTemplate:this.popupTemplate??this.defaultPopupTemplate})}readCapabilities(e,t){return t=t.layerDefinition||t,(0,Te.S$)(t,this.url)}get createQueryVersion(){return this.commitProperty("definitionExpression"),this.commitProperty("dynamicDataSource"),this.commitProperty("timeExtent"),this.commitProperty("timeOffset"),this.commitProperty("geometryType"),this.commitProperty("gdbVersion"),this.commitProperty("historicMoment"),this.commitProperty("returnZ"),this.commitProperty("capabilities"),this.commitProperty("returnM"),(this._get("createQueryVersion")??0)+1}get editingEnabled(){return!(this.loaded&&!this.capabilities?.operations.supportsEditing)&&(this._isOverridden("editingEnabled")?this._get("editingEnabled"):this._hasMemorySource()||this.userHasEditingPrivileges)}set editingEnabled(e){this._overrideIfSome("editingEnabled",e)}readEditingEnabled(e,t){return this._readEditingEnabled(t,!1)}readEditingEnabledFromWebMap(e,t,i){return this._readEditingEnabled(t,!0,i)}writeEditingEnabled(e,t){this._writeEditingEnabled(e,t,!1)}writeEditingEnabledToWebMap(e,t,i,r){this._writeEditingEnabled(e,t,!0,r)}get effectiveEditingEnabled(){return(0,ge.C$)(this)}get featureTitleFields(){return[...this._titleCreator.requiredFields]}set fieldConfigurations(e){if(this._hasMemorySource()||(this._override("fieldConfigurations",e),!this.loaded))return;let t=(0,ve.sS)(this,e);t&&this._set("popupTemplate",t)}get fieldConfigurations(){if(!this._hasMemorySource())return this._isOverridden("fieldConfigurations")?this._get("fieldConfigurations"):(0,ve.QX)(this)||null}readIsTable(e,t){return"Table"===(t=t?.layerDefinition??t).type||!t.geometryType}writeIsTable(e,t,i,r){r?.writeLayerSchema&&(0,c.sM)(i,e?"Table":"Feature Layer",t)}readSymbolLayerDrawing(e,t){let i=t.layerDefinition?.drawingInfo,r=i?.renderer,s=i?.symbolLayerDrawing;return r&&s?new _e(s):null}readGlobalIdField(e,t){return(0,ge.jD)(t.layerDefinition||t)}readObjectIdField(e,t){return(0,ge.Zm)(t.layerDefinition||t)}writePopupTemplate(e,t,i,r){e&&(t[i]=e.toJSON({...r,writeFieldFormat:!r?.writeLayerSchema}))}get defaultPopupTemplate(){return this.createPopupTemplate()}set renderer(e){(0,Ie.yp)(e,this.fieldsIndex),this._set("renderer",e)}readRenderer(e,t,i){t=t.layerDefinition||t;let r=t.drawingInfo?.renderer;if(r){let e=(0,je.L)(r,t,i)??void 0;return e||p.A.getLogger(this).error("Failed to create renderer",{rendererDefinition:t.drawingInfo.renderer,layer:this,context:i}),e}return(0,ge.PD)(t,i)}get source(){return this._get("source")}set source(e){e||=null;let t=this._get("source");t!==e&&((Array.isArray(e)||e instanceof n.A)&&(e=new V({layer:this,items:e})),Je(t)&&this._resetMemorySource(t),Je(e)&&this._initMemorySource(e),this._set("source",e))}readSource(e,t){let i=$.A.fromJSON(t.featureSet);return new V({layer:this,items:i?.features??[]})}readTemplates(e,t){let i=t.editFieldsInfo,r=i?.creatorField,s=i?.editorField;return e=e?.map(e=>me.A.fromJSON(e)),this._fixTemplates(e,r),this._fixTemplates(e,s),e}readTitle(e,t){let i=t.layerDefinition?.name??t.name,r=t.title||t.layerDefinition?.title;if(i){if("item-title"===this.sublayerTitleMode)return this.url?(0,ce.yG)(this.url,i):i;let e=i;if(!e&&this.url){let t=(0,ce.qg)(this.url);null!=t&&(e=t.title)}if(!e)return;let t=this.portalItem?.title;return"item-title-and-service-name"===this.sublayerTitleMode&&t&&t!==e&&(e=t+" - "+e),(0,ce.cr)(e)}if("item-title"===this.sublayerTitleMode&&r)return r}readTitleFromWebMap(e,t){return t.title||t.layerDefinition?.name}readTypeIdField(e,t){let i=(t=t.layerDefinition||t).typeIdField;if(i&&t.fields){i=i.toLowerCase();let e=t.fields.find(e=>e.name.toLowerCase()===i);e&&(i=e.name)}return i}readTypes(e,t){e=(t=t.layerDefinition||t).types;let i=t.editFieldsInfo,r=i?.creatorField,s=i?.editorField;return e?.map(e=>(e=be.A.fromJSON(e),this._fixTemplates(e.templates,r),this._fixTemplates(e.templates,s),e))}readVisible(e,t){return null!=t.layerDefinition?.defaultVisibility?!!t.layerDefinition.defaultVisibility:null!=t.visibility?!!t.visibility:void 0}async addAttachment(e,t,i){let r=await(0,ge.Xl)(this,e,t,$e,i);return this.lastEditsEventDate=new Date,r}async updateAttachment(e,t,i,r){let s=await(0,ge.bt)(this,e,t,i,$e,r);return this.lastEditsEventDate=new Date,s}async applyEdits(e,t){return(0,ge.ct)(this,e,t)}async uploadAssets(e,t){return(0,ge.rn)(this,e,t)}createFieldConfigurations(){return(0,ve.xY)(this)}createPopupTemplate(e){return(0,Le.tn)(this,e)}async createGraphicsSource(e){let t={stack:[],error:void 0,hasError:!1};try{if(this._hasMemorySource()&&this.source)return this.source.load({signal:e});let{default:s}=await(0,f.qr)(Promise.all([i.e(893),i.e(7),i.e(6553)]).then(()=>i(60845)),e),a=new s({layer:this,supportedSourceTypes:this.supportedSourceTypes});return(0,r.mS)(t,(0,d.Bf)((0,f.u7)(e,()=>a.cancelLoad())??(0,d.hA)()),!1),await a.load({signal:e}),a}catch(e){t.error=e,t.hasError=!0}finally{(0,r.hk)(t)}}createQuery(){let e=(0,ge.VZ)(this);e.dynamicDataSource=this.dynamicDataSource;let t=null==this.subtypeCode?null:`${this.subtypeField} = ${this.subtypeCode}`;return e.where=(0,g.mA)(this.definitionExpression,t)||"1=1",e}async deleteAttachments(e,t,i){let r=await(0,ge.mm)(this,e,t,$e,i);return this.lastEditsEventDate=new Date,r}async fetchRecomputedExtents(e){return(0,ge.WP)(this,e,$e)}async getFeatureTitle(e,t){return this._titleCreator.getTitle(this,e,t)}async getFeatureTitles(e,t){return this._titleCreator.getTitles(this,e,t)}getFeatureType(e){return(0,ge.xd)(this.types,this.typeIdField,e)}getFieldAlias(e){let t=this.getField(e);if(t)return this.getFieldConfiguration(t.name)?.alias||t.alias}getFieldConfiguration(e){return e=e.toLowerCase(),this.fieldConfigurations?.find(t=>t.name.toLowerCase()===e)}getFieldDomain(e,t){return(0,ge.Vq)(this,e,t,this.getField(e)?.domain??null)}async queryAttachments(e,t){return(0,ge.lV)(this,e,t,$e)}async queryFeatures(e,t){let i=await this.load(),r=await i.source.queryFeatures(De.A.from(e)??i.createQuery(),t),s=this.graphicOrigin;if(r?.features)for(let e of r.features)e.layer=e.sourceLayer=i,e.origin=s;return r}async queryObjectIds(e,t){return await(0,ge.sg)(this,e,t,$e)}async queryFeatureCount(e,t){return(0,ge.Ye)(this,e,t,$e)}async queryExtent(e,t){return(0,ge.B5)(this,e,t,$e)}async queryRelatedFeatures(e,t){return(0,ge.hM)(this,e,t,$e)}async queryRelatedFeaturesCount(e,t){return(0,ge.S2)(this,e,t,$e)}async queryPivot(e,t){let{source:r,capabilities:s}=await this.load();if(!r.queryPivot||!s?.operations?.supportsQueryPivot)throw new l.A($e,"Layer source does not support queryPivot capability");let a=await i.e(9958).then(()=>i(29958)),o=await r.queryPivot(a.default.from(e),t),n=this.graphicOrigin;if(o?.features)for(let e of o.features)e.layer=e.sourceLayer=this,e.origin=n;return o}async queryTopFeatures(e,t){let{source:r,capabilities:s}=await this.load();if(!r.queryTopFeatures||!s?.query?.supportsTopFeaturesQuery)throw new l.A($e,"Layer source does not support queryTopFeatures capability");let a=await i.e(7561).then(()=>i(57561)),o=await r.queryTopFeatures(a.default.from(e),t),n=this.graphicOrigin;if(o?.features)for(let e of o.features)e.layer=e.sourceLayer=this,e.origin=n;return o}async queryAttributeBins(e,t){let{source:r,capabilities:s}=await this.load();if(!r.queryAttributeBins)throw new l.A($e,"Layer source does not support queryAttributeBins capability");(0,ge.ZJ)(e,s,$e);let a=await i.e(4575).then(()=>i(14575)),o=await r.queryAttributeBins(a.default.from(e),t),n=this.graphicOrigin;if(o.features)for(let e of o.features)e.layer=e.sourceLayer=this,e.origin=n;return o}async queryTopObjectIds(e,t){let{source:r,capabilities:s}=await this.load();if(!r.queryTopObjectIds||!s?.query.supportsTopFeaturesQuery)throw new l.A($e,"Layer source does not support queryTopObjectIds capability");let a=await i.e(7561).then(()=>i(57561));return(await r.queryTopObjectIds(a.default.from(e),t)).filter(qe.Et)}async queryTopFeaturesExtent(e,t){let{source:r,capabilities:s}=await this.load();if(!r.queryTopExtents||!s?.query?.supportsTopFeaturesQuery)throw new l.A($e,"Layer source does not support queryTopExtents capability");let a=await i.e(7561).then(()=>i(57561));return r.queryTopExtents(a.default.from(e),t)}async queryTopFeatureCount(e,t){let{source:r,capabilities:s}=await this.load();if(!r.queryTopCount||!s?.query?.supportsTopFeaturesQuery)throw new l.A($e,"Layer source does not support queryFeatureCount capability");let a=await i.e(7561).then(()=>i(57561));return r.queryTopCount(a.default.from(e),t)}read(e,t){let i=e.featureCollection;if((i||"Feature Collection"===e.type)&&(this.resourceInfo=e),i){let{layers:e,showLegend:r}=i;1===e?.length&&(super.read(e[0],t),null!=r&&super.read({showLegend:r},t))}super.read(e,t),Je(this.source)&&"service"===t?.origin&&(["objectIdField","fields","timeInfo","dateFieldsTimeZone","uniqueIdFields"].forEach(e=>{this.revertToOrigin(e,"service")}),this.spatialReference||this.revertToOrigin("spatialReference","service"))}write(e,t){t={...t,origin:t?.origin??void 0,writeLayerSchema:t?.writeLayerSchema??this._hasMemorySource()};let{origin:i,layerContainerType:r}=t;if(this.dynamicDataSource)return(0,ke.U4)(t,this,"a dynamic data source cannot be written to web scenes, web maps and feature service items"),null;if(this.isTable){if(("web-map"===i||"web-scene"===i)&&"tables"!==r)return(0,ke.U4)(t,this,"a table source can only be written to tables"),null;if(this._hasMemorySource())return(0,ke.U4)(t,this,"an in-memory table source cannot be written to web scenes and web maps"),null}else if(this.loaded&&("web-map"===i||"web-scene"===i)&&"tables"===r)return(0,ke.U4)(t,this,"a non-table source cannot be written to tables in web maps or web scenes"),null;return super.write(e,t)}clone(){if(this._hasMemorySource())throw new l.A($e,`FeatureLayer (title: ${this.title}, id: ${this.id}) created using in-memory source cannot be cloned`);return super.clone()}serviceSupportsSpatialReference(e){return!!this.loaded&&("memory"===this.source?.type||(0,Ze.D)(this,e))}async save(e){return this._debouncedSaveOperations(0,e)}async saveAs(e,t){return this._debouncedSaveOperations(1,t,e)}_readEditingEnabled(e,t,i){let r=e.layerDefinition?.capabilities;if(r||(r=e.capabilities,t&&"web-map"===i?.origin&&!this._hasMemorySource()&&r))return this._hasEditingCapability(r)}_hasEditingCapability(e){return e.toLowerCase().split(",").map(e=>e.trim()).includes("editing")}_writeEditingEnabled(e,t,i,r){if(!e){let e=this.capabilities?.operations?.supportsSync?"Query,Sync":"Query";(0,c.sM)("layerDefinition.capabilities",e,t),i&&!r?.writeLayerSchema&&(t.capabilities=e)}}_fetchFirstValidLayerId(e){return(0,a.A)(this.url??"",{query:{f:"json",...this.customParameters,token:this.apiKey},responseType:"json",signal:e}).then(e=>{let t=e.data;if(t)return this.applyPreferredHost(t),this.findFirstValidLayerId(t)})}async initLayerProperties(e){return this._set("source",e),e.sourceJSON&&(this.sourceJSON=e.sourceJSON,this.read(e.sourceJSON,{origin:"service",portalItem:this.portalItem,portal:this.portalItem?.portal,url:this.parsedUrl})),this._verifySource(),this._verifyFields(),(0,Ie.yp)(this.renderer,this.fieldsIndex),(0,Ie.sv)(this.timeInfo,this.fieldsIndex),this._hasMemorySource()&&"mesh"===this.geometryType&&(this.capabilities.query.supportsReturnMesh=!0),(0,Oe.L)(this,{origin:"service"})}canReload(){return super.canReload()&&!this._hasMemorySource()}async reloadFromService(e){let t=this.source;await t.reload({signal:e}),await this.initLayerProperties(t)}async hasDataChanged(){return(0,ge.jp)(this)}async fetchPublishingStatus(){let e=this.source;return e?.fetchPublishingStatus?e.fetchPublishingStatus():"unavailable"}_verifyFields(){let e=this.parsedUrl?.path??"undefined";this.objectIdField||console.log("FeatureLayer: 'objectIdField' property is not defined (url: "+e+")"),this.isTable||this._hasMemorySource()||-1!==e.search(/\/FeatureServer\//i)||this.fields?.some(e=>"geometry"===e.type)||console.log("FeatureLayer: unable to find field of type 'geometry' in the layer 'fields' list. If you are using a map service layer, features will not have geometry (url: "+e+")")}_fixTemplates(e,t){e&&e.forEach(e=>{let i=e.prototype?.attributes;i&&t&&delete i[t]})}_verifySource(){if(this._hasMemorySource()){if(this.url)throw new l.A("feature-layer:mixed-source-and-url","FeatureLayer cannot be created with both an in-memory source and a url")}else if(!this.url)throw new l.A("feature-layer:source-or-url-required","FeatureLayer requires either a url, a valid portal item or a source")}_initMemorySource(e){e.forEach(e=>{e.layer=this,e.sourceLayer=this}),this.addHandles([e.on("after-add",e=>{e.item.layer=this,e.item.sourceLayer=this}),e.on("after-remove",e=>{e.item.layer=null,e.item.sourceLayer=null})],"fl-source")}_resetMemorySource(e){e.forEach(e=>{e.layer=null,e.sourceLayer=null}),this.removeHandles("fl-source")}_hasMemorySource(){return!(this.url||!this.source)}findFirstValidLayerId(e){return[...e.layers||[],...e.tables||[]].find(({type:e})=>!e||this.supportedSourceTypes.has(e))?.id}};(0,r.Cg)([(0,m.MZ)({clonable:!1,readOnly:!0})],Ke.prototype,"_titleCreator",null),(0,r.Cg)([(0,m.MZ)(fe.zQ)],Ke.prototype,"attributeTableTemplate",void 0),(0,r.Cg)([(0,Ne.w)("service","capabilities")],Ke.prototype,"readCapabilities",null),(0,r.Cg)([(0,m.MZ)({json:{origins:{"web-scene":{write:!1}},write:!0}})],Ke.prototype,"charts",void 0),(0,r.Cg)([(0,m.MZ)({readOnly:!0})],Ke.prototype,"createQueryVersion",null),(0,r.Cg)([(0,m.MZ)({json:{read:{source:"layerDefinition.copyrightText"}}})],Ke.prototype,"copyright",void 0),(0,r.Cg)([(0,m.MZ)({json:{read:{source:"layerDefinition.displayField"}}})],Ke.prototype,"displayField",void 0),(0,r.Cg)([(0,m.MZ)({types:Pe.Es,readOnly:!0})],Ke.prototype,"defaultSymbol",void 0),(0,r.Cg)([(0,m.MZ)({types:Ae.e})],Ke.prototype,"dynamicDataSource",void 0),(0,r.Cg)([(0,m.MZ)({type:Boolean})],Ke.prototype,"editingEnabled",null),(0,r.Cg)([(0,Ne.w)(["portal-item","web-scene"],"editingEnabled",["layerDefinition.capabilities"])],Ke.prototype,"readEditingEnabled",null),(0,r.Cg)([(0,Ne.w)("web-map","editingEnabled",["capabilities","layerDefinition.capabilities"])],Ke.prototype,"readEditingEnabledFromWebMap",null),(0,r.Cg)([(0,Ge.K)(["portal-item","web-scene"],"editingEnabled",{"layerDefinition.capabilities":{type:String}})],Ke.prototype,"writeEditingEnabled",null),(0,r.Cg)([(0,Ge.K)("web-map","editingEnabled",{capabilities:{type:String},"layerDefinition.capabilities":{type:String}})],Ke.prototype,"writeEditingEnabledToWebMap",null),(0,r.Cg)([(0,m.MZ)({readOnly:!0})],Ke.prototype,"effectiveEditingEnabled",null),(0,r.Cg)([(0,m.MZ)({clonable:!1,readOnly:!0})],Ke.prototype,"featureTitleFields",null),(0,r.Cg)([(0,m.MZ)({type:[we.A],json:{name:"layerDefinition.fieldConfigurations",write:{overridePolicy(e,t,i){return{enabled:!i?.writeLayerSchema,ignoreOrigin:1===this.originIdOf(t)}}}}})],Ke.prototype,"fieldConfigurations",null),(0,r.Cg)([(0,m.MZ)({...Ue.fields,json:{read:{source:"layerDefinition.fields"},origins:{service:{name:"fields"},"web-map":{write:{target:"layerDefinition.fields",overridePolicy:Ve}}}}})],Ke.prototype,"fields",void 0),(0,r.Cg)([(0,m.MZ)(Ue.fieldsIndex)],Ke.prototype,"fieldsIndex",void 0),(0,r.Cg)([(0,m.MZ)({type:w.A,json:{name:"formInfo",write:!0,origins:{"web-scene":{read:!1,write:!1}}}})],Ke.prototype,"formTemplate",void 0),(0,r.Cg)([(0,m.MZ)({json:{read:{source:"layerDefinition.extent"}}})],Ke.prototype,"fullExtent",void 0),(0,r.Cg)([(0,m.MZ)({json:{origins:{"web-map":{write:{target:"layerDefinition.geometryType",overridePolicy:Ve,writer(e,t,i){let r=e?ge.iX.toJSON(e):null;r&&(0,c.sM)(i,r,t)}}}},read:{source:"layerDefinition.geometryType",reader:ge.iX.read}}})],Ke.prototype,"geometryType",void 0),(0,r.Cg)([(0,m.MZ)({readOnly:!0,clonable:!1})],Ke.prototype,"graphicOrigin",void 0),(0,r.Cg)([(0,m.MZ)({json:{read:{source:"layerDefinition.hasM"}}})],Ke.prototype,"hasM",void 0),(0,r.Cg)([(0,m.MZ)({json:{read:{source:"layerDefinition.hasZ"}}})],Ke.prototype,"hasZ",void 0),(0,r.Cg)([(0,m.MZ)(fe.id)],Ke.prototype,"id",void 0),(0,r.Cg)([(0,m.MZ)({readOnly:!0,json:{origins:{service:{read:!0}},read:!1}})],Ke.prototype,"infoFor3D",void 0),(0,r.Cg)([(0,m.MZ)({json:{origins:{"web-map":{write:{target:"layerDefinition.type"}}}}})],Ke.prototype,"isTable",void 0),(0,r.Cg)([(0,Ne.w)("service","isTable",["type","geometryType"]),(0,Ne.w)("isTable",["layerDefinition.type","layerDefinition.geometryType"])],Ke.prototype,"readIsTable",null),(0,r.Cg)([(0,Ge.K)("web-map","isTable")],Ke.prototype,"writeIsTable",null),(0,r.Cg)([(0,m.MZ)(fe.kF)],Ke.prototype,"labelsVisible",void 0),(0,r.Cg)([(0,m.MZ)({type:[Ce.A],json:{origins:{service:{name:"drawingInfo.labelingInfo",read:Me.w,write:!1}},name:"layerDefinition.drawingInfo.labelingInfo",read:Me.w,write:{layerContainerTypes:b.K}}})],Ke.prototype,"labelingInfo",void 0),(0,r.Cg)([(0,m.MZ)({type:_e,json:{name:"layerDefinition.drawingInfo.symbolLayerDrawing",write:!0,origins:{"web-scene":{write:!1}}}})],Ke.prototype,"symbolLayerDrawing",void 0),(0,r.Cg)([(0,Ne.w)(["portal-item","web-map"],"symbolLayerDrawing",["layerDefinition.drawingInfo.renderer","layerDefinition.drawingInfo.symbolLayerDrawing"])],Ke.prototype,"readSymbolLayerDrawing",null),(0,r.Cg)([(0,m.MZ)((()=>{let e=(0,u.o8)(fe.Ih);return e.json.origins["portal-item"]={write:{target:"layerDefinition.drawingInfo.transparency",writer(e,t,i){(0,c.sM)(i,(0,Re.p)(e),t)}}},e})())],Ke.prototype,"opacity",void 0),(0,r.Cg)([(0,m.MZ)(fe.fV)],Ke.prototype,"legendEnabled",void 0),(0,r.Cg)([(0,m.MZ)({type:["show","hide"],json:(()=>{let e=(0,u.o8)(fe.C1.json);return e.origins["portal-item"]={read:!1,write:!1},e})()})],Ke.prototype,"listMode",void 0),(0,r.Cg)([(0,Ne.w)("globalIdField",["layerDefinition.globalIdField","layerDefinition.fields"])],Ke.prototype,"readGlobalIdField",null),(0,r.Cg)([(0,m.MZ)({json:{origins:{"web-map":{write:{target:"layerDefinition.objectIdField",overridePolicy:Ve}}}}})],Ke.prototype,"objectIdField",void 0),(0,r.Cg)([(0,Ne.w)("objectIdField",["layerDefinition.objectIdField","layerDefinition.fields"])],Ke.prototype,"readObjectIdField",null),(0,r.Cg)([(0,m.MZ)({type:["ArcGISFeatureLayer"],json:{write:{target:"layerType",ignoreOrigin:!0,layerContainerTypes:b.K}}})],Ke.prototype,"operationalLayerType",void 0),(0,r.Cg)([(0,m.MZ)(Ue.outFields)],Ke.prototype,"outFields",void 0),(0,r.Cg)([(0,m.MZ)({type:String,json:{origins:{"web-scene":{read:!0,write:!0}},read:!1}})],Ke.prototype,"path",void 0),(0,r.Cg)([(0,m.MZ)(fe.M6)],Ke.prototype,"popupEnabled",void 0),(0,r.Cg)([(0,m.MZ)({type:s.A,json:{name:"popupInfo",write:!0}})],Ke.prototype,"popupTemplate",void 0),(0,r.Cg)([(0,Ge.K)("popupTemplate")],Ke.prototype,"writePopupTemplate",null),(0,r.Cg)([(0,m.MZ)({readOnly:!0})],Ke.prototype,"defaultPopupTemplate",null),(0,r.Cg)([(0,m.MZ)({types:xe.Hg,json:{origins:{service:{write:{target:"drawingInfo.renderer",enabled:!1}},"web-scene":{types:xe.XJ,name:"layerDefinition.drawingInfo.renderer",write:{layerContainerTypes:b.K,overridePolicy:(e,t,i)=>({ignoreOrigin:i?.writeLayerSchema,layerContainerTypes:b.K})}}},write:{target:"layerDefinition.drawingInfo.renderer",overridePolicy:(e,t,i)=>({ignoreOrigin:i?.writeLayerSchema,layerContainerTypes:b.K})}}})],Ke.prototype,"renderer",null),(0,r.Cg)([(0,Ne.w)("service","renderer",["drawingInfo.renderer","defaultSymbol"]),(0,Ne.w)("renderer",["layerDefinition.drawingInfo.renderer","layerDefinition.defaultSymbol"])],Ke.prototype,"readRenderer",null),(0,r.Cg)([(0,m.MZ)()],Ke.prototype,"resourceInfo",void 0),(0,r.Cg)([(0,m.MZ)((()=>{let e=(0,u.o8)(fe.PY);return e.json.origins["portal-item"]={read:!1,write:!1},e})())],Ke.prototype,"screenSizePerspectiveEnabled",void 0),(0,r.Cg)([(0,m.MZ)({clonable:!1})],Ke.prototype,"source",null),(0,r.Cg)([(0,Ne.w)("portal-item","source",["featureSet"]),(0,Ne.w)("web-map","source",["featureSet"])],Ke.prototype,"readSource",null),(0,r.Cg)([(0,m.MZ)({json:{read:{source:"layerDefinition.extent.spatialReference"}}})],Ke.prototype,"spatialReference",void 0),(0,r.Cg)([(0,m.MZ)({type:Number})],Ke.prototype,"subtypeCode",void 0),(0,r.Cg)([(0,m.MZ)({readOnly:!1})],Ke.prototype,"subtypeField",void 0),(0,r.Cg)([(0,m.MZ)({readOnly:!1})],Ke.prototype,"subtypes",void 0),(0,r.Cg)([(0,m.MZ)({type:[me.A]})],Ke.prototype,"templates",void 0),(0,r.Cg)([(0,Ne.w)("templates",["editFieldsInfo","creatorField","editorField","templates"])],Ke.prototype,"readTemplates",null),(0,r.Cg)([(0,m.MZ)()],Ke.prototype,"title",void 0),(0,r.Cg)([(0,Ne.w)("service","title",["name"]),(0,Ne.w)("portal-item","title",["layerDefinition.title","layerDefinition.name","title"])],Ke.prototype,"readTitle",null),(0,r.Cg)([(0,Ne.w)("web-map","title",["layerDefinition.name","title"])],Ke.prototype,"readTitleFromWebMap",null),(0,r.Cg)([(0,m.MZ)({type:String})],Ke.prototype,"sublayerTitleMode",void 0),(0,r.Cg)([(0,m.MZ)({json:{read:!1}})],Ke.prototype,"type",void 0),(0,r.Cg)([(0,m.MZ)({type:String})],Ke.prototype,"typeIdField",void 0),(0,r.Cg)([(0,Ne.w)("service","typeIdField"),(0,Ne.w)("typeIdField",["layerDefinition.typeIdField"])],Ke.prototype,"readTypeIdField",null),(0,r.Cg)([(0,m.MZ)({type:[be.A]})],Ke.prototype,"types",void 0),(0,r.Cg)([(0,Ne.w)("service","types",["types"]),(0,Ne.w)("types",["layerDefinition.types"])],Ke.prototype,"readTypes",null),(0,r.Cg)([(0,m.MZ)({type:Boolean,json:{origins:{"portal-item":{write:{target:"layerDefinition.defaultVisibility",layerContainerTypes:b.K}}}}})],Ke.prototype,"visible",void 0),(0,r.Cg)([(0,Ne.w)("portal-item","visible",["visibility","layerDefinition.defaultVisibility"])],Ke.prototype,"readVisible",null),Ke=(0,r.Cg)([(0,m.$K)("esri.layers.FeatureLayer")],Ke)},59288(e,t,i){i.d(t,{$:()=>o});var r=i(96184),s=i(36003),a=i(2991);function o(e,t,i,o){if(!e.timeExtent||!t&&!i)return e;let n=e.clone();if(t&&i){if(!(0,s.L)(t,r.A.fromJSON(i))){let i=(0,a.RZ)(e.timeExtent,t,o,e.where);i&&(n.where=i,n.timeExtent=void 0)}return n}return!t&&i?(n.timeExtent=void 0,n):(t&&!i&&(n.where=(0,a.RZ)(e.timeExtent,t,o,e.where),n.timeExtent=void 0),n)}},75254(e,t,i){i.d(t,{z:()=>c});var r=i(32198),s=i(91429),a=i(89317),o=i(69540),n=i(25482);let l=class extends((0,o.OU)(n.o)){constructor(e){super(e),this.name=null,this.type=null,this.title=null}};(0,r.Cg)([(0,s.MZ)({type:String,json:{write:{isRequired:!0}}})],l.prototype,"name",void 0),(0,r.Cg)([(0,s.MZ)({type:["change-from-average","change-from-first","change-from-previous","percent-change-from-average","percent-change-from-first","percent-change-from-previous"],json:{write:{isRequired:!0}}})],l.prototype,"type",void 0),(0,r.Cg)([(0,s.MZ)({type:String,json:{write:!0}})],l.prototype,"title",void 0),l=(0,r.Cg)([(0,s.$K)("esri.layers.support.TimeSeriesCalculationMethod")],l);const d=l;let u=class extends((0,o.OU)(n.o)){constructor(e){super(e),this.fieldName=null,this.timeValue=null}};(0,r.Cg)([(0,s.MZ)({type:String,json:{write:{isRequired:!0}}})],u.prototype,"fieldName",void 0),(0,r.Cg)([(0,s.MZ)({type:String,json:{write:{isRequired:!0}}})],u.prototype,"timeValue",void 0),u=(0,r.Cg)([(0,s.$K)("esri.layers.support.TimeSeriesFieldTimeMapping")],u);const p=u;var y=i(79677);let h=class extends((0,o.OU)(n.o)){constructor(e){super(e),this.name=null,this.fieldTimeMappings=null,this.timeExtent=null,this.timeInterval=null,this.timeIntervalUnits=null,this.timeValueUnits=null,this.title=null,this.calculationMethods=null,this.type="time-series-fields"}};(0,r.Cg)([(0,s.MZ)({type:String,json:{write:{isRequired:!0}}})],h.prototype,"name",void 0),(0,r.Cg)([(0,s.MZ)({type:[p],json:{write:{isRequired:!0}}})],h.prototype,"fieldTimeMappings",void 0),(0,r.Cg)([(0,s.MZ)({type:y.A,json:{write:!0}})],h.prototype,"timeExtent",void 0),(0,r.Cg)([(0,s.MZ)({type:Number,json:{write:{isRequired:!0}}})],h.prototype,"timeInterval",void 0),(0,r.Cg)([(0,s.MZ)({type:String,json:{write:{isRequired:!0}}})],h.prototype,"timeIntervalUnits",void 0),(0,r.Cg)([(0,s.MZ)({type:String,json:{write:{isRequired:!0}}})],h.prototype,"timeValueUnits",void 0),(0,r.Cg)([(0,s.MZ)({type:String,json:{write:!0}})],h.prototype,"title",void 0),(0,r.Cg)([(0,s.MZ)({type:[d],json:{write:!0}})],h.prototype,"calculationMethods",void 0),(0,r.Cg)([(0,s.MZ)({type:String,readOnly:!0,json:{write:{isRequired:!0}}})],h.prototype,"type",void 0),h=(0,r.Cg)([(0,s.$K)("esri.layers.support.TimeSeriesInfo")],h);const c=e=>{let t=e,i=class extends t{constructor(){super(...arguments),this.dataSeriesInfos=null}};return(0,r.Cg)([(0,s.MZ)({type:[h],json:{read:{source:["layerDefinition.dataSeriesInfos","dataSeriesInfos"],reader:(e,t,i)=>(t?.layerDefinition?.dataSeriesInfos??t.dataSeriesInfos)?.filter(e=>"time-series-fields"===e.type).map(e=>h.fromJSON(e,i))},write:{target:"layerDefinition.dataSeriesInfos",enabled:!0,allowNull:!0,layerContainerTypes:a.K},origins:{"web-scene":{write:!1,read:!1}}}})],i.prototype,"dataSeriesInfos",void 0),i=(0,r.Cg)([(0,s.$K)("esri.layers.mixins.DataSeriesLayer")],i),i}},47685(e,t,i){i.d(t,{Mk:()=>h,Zk:()=>p});var r=i(32198),s=i(65529),a=i(4718),o=i(91429),n=i(20816);const l=new s.bk;function d(e){return l.on("apply-edits",new WeakRef(e))}function u(e){return l.on("update-moment",new WeakRef(e))}function p(e,t,i=null,r=!1){let s=Promise.withResolvers();return r=null==t||r,l.emit("apply-edits",{serviceUrl:e,layerId:t,gdbVersion:i,mayReceiveServiceEdits:r,result:s.promise}),s}const y=Symbol();function h(e){return"object"==typeof e&&!!e&&y in e}function c(e){return"object"==typeof e&&!!e&&"gdbVersion"in e}function f(e,t,i){let r=new URL(e).host,s=n.Z3.get(r),a=e=>!e||e===s;return a(t)&&a(i)||t===i}i.d(t,["w6",0,e=>{var t;let i=e,s=class extends i{static{t=y}constructor(...e){super(...e),this[t]=!0,this._applyEditsHandler=e=>{let{serviceUrl:t,layerId:i,gdbVersion:r,mayReceiveServiceEdits:s,result:o}=e,n=t===this.url,l=null!=i&&null!=this.layerId&&i===this.layerId,d=null!=i&&this.relationships?.some(e=>e.relatedTableId===i),u=c(this),p=c(this)&&f(t,r,this.gdbVersion);if(!n||u&&!p||!l&&!d&&!s)return;let y=o.then(e=>{if(this.lastEditsEventDate=new Date,l&&(e.addedFeatures.length||e.updatedFeatures.length||e.deletedFeatures.length||e.addedAttachments.length||e.updatedAttachments.length||e.deletedAttachments.length))return this.emit("edits",(0,a.o8)(e)),e;let i=e.editedFeatures?.find(({layerId:e})=>e===this.layerId);if(i){let{adds:t,updates:r,deletes:s}=i.editedFeatures,o={edits:null,addedAttachments:[],deletedAttachments:[],updatedAttachments:[],addedFeatures:t?t.map(({attributes:e})=>({objectId:this.objectIdField&&e[this.objectIdField],globalId:this.globalIdField&&e[this.globalIdField]})):[],deletedFeatures:s?s.map(({attributes:e})=>({objectId:this.objectIdField&&e[this.objectIdField],globalId:this.globalIdField&&e[this.globalIdField]})):[],updatedFeatures:r?r.map(({current:{attributes:e}})=>({objectId:this.objectIdField&&e[this.objectIdField],globalId:this.globalIdField&&e[this.globalIdField]})):[],editedFeatures:(0,a.o8)(e.editedFeatures),exceededTransferLimit:!1,historicMoment:(0,a.o8)(e.historicMoment)};return this.emit("edits",o),o}let s={edits:null,addedAttachments:[],deletedAttachments:[],updatedAttachments:[],addedFeatures:[],deletedFeatures:[],updatedFeatures:[],editedFeatures:(0,a.o8)(e.editedFeatures),exceededTransferLimit:!1,historicMoment:(0,a.o8)(e.historicMoment)};return"historicMoment"in this&&this._shouldUpdateHistoricMoment(t,r,s.historicMoment)&&this.emit("edits",s),s}).then(e=>("historicMoment"in this&&this._shouldUpdateHistoricMoment(t,r,e.historicMoment)&&(this.historicMoment=e.historicMoment),e));y.catch(()=>{}),this.emit("apply-edits",{result:y})},this._updateMomentHandler=e=>{let{serviceUrl:t,gdbVersion:i,moment:r}=e,s=t===this.url,a=c(this),o=c(this)&&f(t,i,this.gdbVersion),n=c(this)&&!f(t,this.gdbVersion,null);s&&a&&o&&n&&"historicMoment"in this&&this.historicMoment!==r&&(this.historicMoment=r)},this.when().then(()=>{this.addHandles(d(this._applyEditsHandler)),"historicMoment"in this&&this.addHandles(u(this._updateMomentHandler))},()=>{})}_shouldUpdateHistoricMoment(e,t,i){return"historicMoment"in this&&this.historicMoment!==i&&(0,n.w5)(e,t)}};return(0,r.Cg)([(0,o.MZ)()],s.prototype,"lastEditsEventDate",void 0),s=(0,r.Cg)([(0,o.$K)("esri.layers.mixins.EditBusLayer")],s),s}])},63396(e,t,i){i.d(t,{d:()=>C});var r=i(32198),s=i(91429),a=i(41910),o=i(60950),n=i(99959);class l extends n.A{constructor(e){super(),this.type="track",this.trackInfoProvider=e}get id(){return this.trackInfoProvider.id}get[o.ym](){return this.trackInfoProvider.trackInfo}get[a.e7](){return this.trackInfoProvider}}var d=i(40124),u=i(69540),p=i(25482),y=i(93637),h=i(50820),c=i(10873),f=i(46499),g=i(41214);let m=class extends((0,u.OU)(p.o)){constructor(e){super(e),this.labelingInfo=null,this.labelsVisible=!0,this.renderer=null,this.visible=!0}};(0,r.Cg)([(0,s.MZ)({type:[f.A],json:{write:!0}})],m.prototype,"labelingInfo",void 0),(0,r.Cg)([(0,s.MZ)(c.kF)],m.prototype,"labelsVisible",void 0),(0,r.Cg)([(0,s.MZ)({types:g.Hg,json:{write:!0}})],m.prototype,"renderer",void 0),(0,r.Cg)([(0,s.MZ)({type:Boolean,json:{write:!0}})],m.prototype,"visible",void 0),m=(0,r.Cg)([(0,s.$K)("esri.layers.support.TrackPartInfo")],m);var b=i(96576),w=i(59868),v=i(10184),F=i(43937);let I=class extends((0,u.OU)(p.o)){constructor(e){super(e),this.enabled=!0,this.fields=[],this.latestObservations=new m({renderer:new b.A({symbol:w.UK.clone()})}),this.maxDisplayDuration=null,this.maxDisplayObservationsPerTrack=0,this.popupEnabled=!0,this.popupTemplate=null,this.previousObservations=new m({renderer:new b.A({symbol:w.UK.clone()})}),this.trackLines=new m({renderer:new b.A({symbol:w.A7.clone()})}),this.timeField="startTimeField"}writeFields(e,t,i){let r=e.filter(e=>"avg_angle"!==e.statisticType).map(e=>e.toJSON());(0,y.sM)(i,r,t)}};(0,r.Cg)([(0,s.MZ)({type:Boolean,json:{write:!0}})],I.prototype,"enabled",void 0),(0,r.Cg)([(0,s.MZ)({type:[h.A],json:{write:!0}})],I.prototype,"fields",void 0),(0,r.Cg)([(0,F.K)("fields")],I.prototype,"writeFields",null),(0,r.Cg)([(0,s.MZ)({type:m,json:{write:!0}})],I.prototype,"latestObservations",void 0),(0,r.Cg)([(0,s.MZ)({type:v.A,json:{write:!0}})],I.prototype,"maxDisplayDuration",void 0),(0,r.Cg)([(0,s.MZ)({type:Number,json:{write:!0}})],I.prototype,"maxDisplayObservationsPerTrack",void 0),(0,r.Cg)([(0,s.MZ)(c.M6)],I.prototype,"popupEnabled",void 0),(0,r.Cg)([(0,s.MZ)({type:d.A,json:{name:"popupInfo",write:!0}})],I.prototype,"popupTemplate",void 0),(0,r.Cg)([(0,s.MZ)({type:m,json:{write:!0}})],I.prototype,"previousObservations",void 0),(0,r.Cg)([(0,s.MZ)({type:m,json:{write:!0}})],I.prototype,"trackLines",void 0),(0,r.Cg)([(0,s.MZ)({type:["timeReceived","startTimeField","endTimeField"],json:{read:!0,write:!0}})],I.prototype,"timeField",void 0),I=(0,r.Cg)([(0,s.$K)("esri.layers.support.TrackInfo")],I);const C=e=>{let t=e,i=class extends t{constructor(){super(...arguments),this.trackGraphicOrigin=new l(this),this.trackInfo=null}};return(0,r.Cg)([(0,s.MZ)({readOnly:!0,clonable:!1})],i.prototype,"trackGraphicOrigin",void 0),(0,r.Cg)([(0,s.MZ)({type:I})],i.prototype,"trackInfo",void 0),i=(0,r.Cg)([(0,s.$K)("esri.layers.mixins.TrackableLayer")],i),i}},17311(e,t,i){i.d(t,{A:()=>h});var r=i(32198),s=i(69622),a=i(4576),o=i(60999),n=i(7762),l=i(16494),d=i(91429),u=i(30524),p=i(43668);const y=/<br\s*\/*>/gi;let h=class extends s.A{constructor(e){super(e),this._featureUtils=null,this.effectivePopupTemplate=null}get _arcadeTask(){return this.expressionsUsedInTitle.length>0?this._get("_arcadeTask")||(0,o.UT)(()=>(0,p.l)()):null}get featureUtilsPromise(){return this._get("featureUtilsPromise")??Promise.all([i.e(3281),i.e(9301)]).then(()=>i(99301)).then(e=>this._featureUtils=e)}get calculatedExpressions(){let e=new n.A;if(!this.expressionsUsedInTitle.length)return e;if(!this._arcadeTask?.value){for(let t of this.expressionsUsedInTitle??[])e.push({name:t.name,invalid:!0});return e}for(let t of this.expressionsUsedInTitle)try{let i=this._arcadeTask.value.arcade.parseScript(t.expression,["$layer","$map","$datastore"]);if(i.isAsync){e.push({name:t.name,invalid:!0});break}e.push({name:t.name,syntax:i,invalid:!1,func:this._arcadeTask.value.arcade.compileScript(i,{vars:{$feature:"any"}})})}catch{e.push({name:t.name,invalid:!0});break}return e}get expressionsUsedInTitle(){let e=this.effectivePopupTemplate?.title??"";return"string"==typeof e?(e=e.toLowerCase(),this.effectivePopupTemplate?.expressionInfos?.filter(t=>e.includes(`{expression/${t.name.toLowerCase()}}`))??[]):[]}get fieldInfoMap(){return this._featureUtils?this._createFieldInfoMap(this._featureUtils.getAllFieldInfos(this.effectivePopupTemplate)):null}get hasBadExpressions(){return this.calculatedExpressions.some(e=>!0===e.invalid)}get requiredFields(){let e=new Set;if(this._arcadeTask?.value&&!this.hasBadExpressions)for(let t of this.calculatedExpressions?.toArray()??[])try{let i=this._arcadeTask.value.arcade.extractFieldLiterals(t.syntax);for(let t of i){let i=t.split("."),r=this.fieldsIndex.get(i.at(-1)??"");r&&e.add(r.name)}}catch{}let t=this._extractFieldNames(this.workingTitle);for(let i of t){let t=this.fieldsIndex.get(i);t&&e.add(t.name)}return null!=this.objectIdField&&e.add(this.objectIdField),e}get titleFromDisplayField(){let e="";return this.displayField&&(e=this.fieldsIndex.get(this.displayField)?.name??""),e||=this.fieldsIndex.get(this.objectIdField)?.name??"",e?`{${e}}`:""}get workingTitle(){let e=this.effectivePopupTemplate?this.effectivePopupTemplate.title:"";return""===e||null==e||this.hasBadExpressions||"string"!=typeof e?this.titleFromDisplayField:e}async getTitle(e,t,i){let r=t.getObjectId()??t.attributes?.[e.objectIdField];return(await this.getTitles(e,[t],i)).get(r)??""}async getTitles(e,t,i){let r=new Map,s=i?.timeZone??"system";try{let[{substituteFieldsInLinksAndAttributes:a}]=await Promise.all([this.featureUtilsPromise,this._arcadeTask?.promise]);i?.fetchMissingFields&&(t=await this._checkAndReQueryGraphics(e,t));let{fieldInfoMap:o,workingTitle:n}=this,d=n&&o;t.forEach(t=>{let u=t.getObjectId()??t.attributes[e.objectIdField],p=d?a({attributes:t.attributes,expressionAttributes:null,fieldInfoMap:o,globalAttributes:this._createFormattedAttributes(e,t,s).global,layer:e,text:n}):"";i?.removeHTML&&(p=l.Nd.sanitize(p).replaceAll(y," ")),r.set(u,p)})}catch{}return r}async _checkAndReQueryGraphics(e,t){let i=t.map(t=>t.getObjectId()??t.attributes[e.objectIdField]).filter(a.Ru);if(i.length!==t.length)return t;if(t.some(e=>!(0,u.Kl)(e,this.requiredFields))){let r=e.createQuery();r.where="1=1",r.outFields=[...this.requiredFields],r.objectIds=i;let s=await e.queryFeatures(r);if(s?.features.length===t.length)return s.features}return t}_createFieldInfoMap(e){let t=new Map;if(!e)return t;for(let i of e){if(!i.fieldName)continue;let e=this.fieldsIndex.get(i.fieldName)?.name??i.fieldName;i.fieldName=e,t.set(e.toLowerCase(),i)}return t}_createFormattedAttributes(e,t,i="system"){let r=this.effectivePopupTemplate?.fieldInfos??[],s={};if(!this._featureUtils)return{};if(!this.hasBadExpressions&&this.calculatedExpressions.length>0&&this._arcadeTask?.value){let i=this._arcadeTask.value.Feature.createFromGraphicLikeObject(t.geometry,t.attributes,e,null);for(let e of this.calculatedExpressions)try{s[`expression/${e.name}`]=e.func({vars:{$feature:i}})}catch{}}let a={...t.attributes,...s};return{global:this._featureUtils.formatAttributes({fieldInfos:r,attributes:a,graphic:t,timeZone:i,layer:e,fieldInfoMap:this.fieldInfoMap}),content:[]}}_extractFieldNames(e){return(0,u.nw)(e).filter(e=>!(e.startsWith("relationships/")||e.startsWith("expression/")))}};(0,r.Cg)([(0,d.MZ)({readOnly:!0})],h.prototype,"_arcadeTask",null),(0,r.Cg)([(0,d.MZ)()],h.prototype,"_featureUtils",void 0),(0,r.Cg)([(0,d.MZ)({readOnly:!0})],h.prototype,"featureUtilsPromise",null),(0,r.Cg)([(0,d.MZ)({readOnly:!0})],h.prototype,"calculatedExpressions",null),(0,r.Cg)([(0,d.MZ)()],h.prototype,"displayField",void 0),(0,r.Cg)([(0,d.MZ)()],h.prototype,"effectivePopupTemplate",void 0),(0,r.Cg)([(0,d.MZ)()],h.prototype,"expressionsUsedInTitle",null),(0,r.Cg)([(0,d.MZ)()],h.prototype,"fieldsIndex",void 0),(0,r.Cg)([(0,d.MZ)()],h.prototype,"fieldInfoMap",null),(0,r.Cg)([(0,d.MZ)()],h.prototype,"fields",void 0),(0,r.Cg)([(0,d.MZ)()],h.prototype,"objectIdField",void 0),(0,r.Cg)([(0,d.MZ)()],h.prototype,"requiredFields",null),h=(0,r.Cg)([(0,d.$K)("esri.layers.support.TitleCreator")],h)},36003(e,t,i){function r(e,t){let i=e.startField===t.startField||!e.startField&&!t.startField,r=e.endField===t.endField||!e.endField&&!t.endField;return i&&r}i.d(t,{L:()=>r})},8947(e,t,i){i.d(t,{L:()=>o});var r=i(60999),s=i(17676),a=i(67076);async function o(e,t,i){let o=e&&e.getAtOrigin&&e.getAtOrigin("renderer",t.origin);if(o&&"unique-value"===o.type&&o.styleOrigin){let n=await(0,r.Ke)(o.populateFromStyle());if((0,s.Te)(i),!1===n.ok){let i=n.error;t?.messages&&t.messages.push(new a.A("renderer:style-reference",`Failed to create unique value renderer from style reference: ${i.message}`,{error:i,context:t})),e.clear("renderer",t?.origin)}}}},96520(e,t,i){i.d(t,{u:()=>l});var r=i(86211),s=i(21325),a=i(52006);function o(e,t,i){if(null==e.hasM||e.hasZ)for(let e of t)for(let t of e)t.length>2&&(t[2]*=i)}function n(e,t,i){if(null==e.hasM||e.hasZ)for(let e of t)for(let t of e){let e=(0,a.yP)(t);e.length>2&&(e[2]*=i)}}function l(e,t,i){if(!e&&!t||!i)return;let s=(0,r.G9)(i);d(e,i,s),d(t,i,s)}function d(e,t,i){if(e)for(let r of e)u(r.geometry,t,i)}function u(e,t,i){if(!e?.spatialReference||(0,s.aI)(e.spatialReference,t))return;let a=(0,r.G9)(e.spatialReference)/i;if(1!==a)if("x"in e)null!=e.z&&(e.z*=a);else if("curveRings"in e)n(e,e.curveRings,a);else if("curvePaths"in e)n(e,e.curvePaths,a);else if("rings"in e)o(e,e.rings,a);else if("paths"in e)o(e,e.paths,a);else if("points"in e&&(null==e.hasM||e.hasZ))for(let t of e.points)t.length>2&&(t[2]*=a)}},20816(e,t,i){i.d(t,{We:()=>n,ZJ:()=>l,w5:()=>d});var r=i(56507);const s=(0,i(13069).vD)(),a=new Map,o=new Map;async function n(e,t,i){if(!e||!i)return!1;if(!t)return!0;let s=new URL(e).host,o=a.get(s);if(!o){let t=e.replace(/\/FeatureServer/i,"/VersionManagementServer").replace(/\/\d*$/,"");o=(await(0,r.A)(t,{responseType:"json",query:{f:"json"}})).data.defaultVersionName}return o===t}async function l(e,t,r=!1){if(!e||!t)return!0;let a=e.replace(/\/FeatureServer/i,"/VersionManagementServer").replace(/\/\d*$/,""),n=o.get(a)?.entries();if(n)for(let[e,o]of n)if(o.name===t){let t=!o.stack?.hasForwardEdits();if(!t&&r){let[{deleteForwardEdits:t},{default:r}]=await Promise.all([i.e(2186).then(()=>i(32186)),i.e(2558).then(()=>i(32558))]),n=await t(a,e,new r({sessionId:s,moment:o.moment}));return n.success&&o.stack?.clearForwardEdits(),n.success}return t}return!0}function d(e,t){if(!e)return!1;let i=e.replace(/\/FeatureServer/i,"/VersionManagementServer").replace(/\/\d*$/,""),r=o.get(i)?.entries();if(r)for(let[e,i]of r)if(i.name===t)return"edit"===i.lockType;return!1}new Map,i.d(t,["TA",0,s,"Z3",0,a])}}]);
@@ -1 +1 @@
1
- "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[1137],{56512(e,t,i){function r(e){let t,i,r=[],a=!1;return function(...s){return a&&t===this&&function(e,t){if(e.length!==t.length)return!1;for(let i=0;i<e.length;++i)if(e[i]!==t[i])return!1;return!0}(s,r)||(i=e.apply(this,s),t=this,r=s,a=!0),i}}i.d(t,{B:()=>r})},69397(e,t,i){i.d(t,{Qf:()=>o,Qh:()=>n,lM:()=>s,ro:()=>u,rq:()=>f});var r=i(44208),a=i(34275);function s(e){if(!e)return 0;let t=h;for(let i in e)e.hasOwnProperty(i)&&(t+=l(e[i],!1));return t}function n(e){if(!e)return 0;if("number"==typeof e[0])return o(e);if(Array.isArray(e))return function(e){let t=e.length;if(0===t||"number"==typeof e[0])return f(e,8);let i=c;for(let r=0;r<t;r++)i+=l(e[r]);return i}(e);let t=h;for(let i in e)e.hasOwnProperty(i)&&(t+=l(e[i]));return t}function l(e,t=!0){switch(typeof e){case"object":return t?n(e):h;case"string":return function(e){return 32+e.length}(e);case"number":return 16;case"boolean":return 4;default:return 8}}function o(...e){return e.reduce((e,t)=>e+u(t),0)}function u(e,t=16){return e?(0,a.iu)(e)?e.byteLength+d:Array.isArray(e)?f(e,t):0:0}function f(e,t){return c+e.length*t}const h=32,c=16,p=(0,r.A)("ios")||!(0,r.A)("chrome")&&!(0,r.A)("opr")?8:4,d=145;i.d(t,["JY",0,p])},5359(e,t,i){i.d(t,{Z:()=>a});const r=Symbol("isImageryTileGraphicOrigin");function a(e){return!!e&&r in e}i.d(t,["H",0,r])},11137(e,t,i){i.r(t),i.d(t,{default:()=>rt});var r,a=i(32198),s=i(40124),n=i(69540),l=i(49186),o=i(53966),u=i(97768),f=i(25728),h=i(17676),c=i(36708),p=i(91429),d=i(78888),m=i(41910),g=i(60950),y=i(89808),w=i(99959),v=i(5359);class x extends w.A{get[(r=v.H,g.ym)](){return this.layer}get[y.Q](){return this.layer}get[m.e7](){return this.layer}constructor(e){super(),this[r]=!0,this.type="imagery-tile",this.layer=e}get id(){return this.layer.id}}var b=i(4146),I=i(18768),C=i(63074),S=i(69208),A=i(34287),_=i(8303),T=i(72545),R=i(56551),M=i(54310),O=i(25036),F=i(82935),k=i(82806),P=i(7548),D=i(23636),N=i(49859),L=i(68197),B=i(5443),z=i(16930),E=i(73444),J=i(94778),H=i(14140);function $(e){return["x","e","east","long","longitude"].includes(e.toLowerCase())}function U(e){return["y","n","west","lat","latitude"].includes(e.toLowerCase())}function Z(e){let t=(0,E.lR)();return t?e[t]??Object.values(e)[0]:Object.values(e)[0]}function j(){return Math.round(255*Math.random())}function q(e){let t={},{parameters:i}=e;if(!i)return t;for(let[e,r]of Object.entries(i)){let{type:i,description:a,unit:s,categoryEncoding:n,observedProperty:l}=r;if("Parameter"===i&&(t[e]={},a&&(t[e].description=Z(a)),s&&(t[e].unit=s.label?Z(s.label):null,t[e].symbol=s.symbol?.value),n)){let i=Object.entries(n).map((e,t)=>({OID:t,Value:Number(e[1]),ClassName:e[0].slice(e[0].lastIndexOf("/")+1),Count:1})),r=!1;l?.categories?.length&&(l.categories.forEach(e=>{if(!e.id)return;let t=e.id.slice(e.id.lastIndexOf("/")+1),a=i.find(e=>e.ClassName===t);if(a&&(a.Label=e.label?Z(e.label):null,e.preferredColor)){let t=L.A.fromHex(e.preferredColor);t&&(r=!0,a.Red=t.r,a.Green=t.g,a.Blue=t.b)}}),r&&i.forEach(e=>{e.Red??(e.Red=j(),e.Green=j(),e.Blue=j())}));let a={objectIdFieldName:"",fields:[{name:"OID",type:"esriFieldTypeOID",alias:"OID",domain:null},{name:"Value",type:"esriFieldTypeInteger",alias:"Value",domain:null},{name:"Count",type:"esriFieldTypeDouble",alias:"Count",domain:null},{name:"ClassName",type:"esriFieldTypeString",alias:"ClassName",domain:null,length:50},{name:"Label",type:"esriFieldTypeString",alias:"Label",domain:null,length:50}],features:i.map(e=>({attributes:e}))};r&&a.fields.push({name:"Red",type:"esriFieldTypeInteger",alias:"Red",domain:null},{name:"Green",type:"esriFieldTypeInteger",alias:"Green",domain:null},{name:"Blue",type:"esriFieldTypeInteger",alias:"Blue",domain:null}),t[e].attributeTable=a}}return t}function V(e){let t=Number.MAX_VALUE,i=-Number.MAX_VALUE;for(let r=0;r<e.length;r++){let a=e[r];null!=a&&(a<t&&(t=a),a>i&&(i=a))}return(0,J.X1)(t,i)}function G(e,t,i){let r=e.map((e,i)=>({name:e,count:t[i]})).sort((e,t)=>e.name>t.name?-1:1),a=(e=>t=>e*=t.count)(1),s=[...r.slice(1),{name:"",count:1}].reverse().map(a).reverse(),n=0;for(let a=e.length-1;a>=0;a--){let l=r.findIndex(({name:t})=>t===e[a]);n+=s[l]*(i%t[a]),i=Math.floor(i/t[a])}return n}var W=i(4366),X=i(47520),K=i(51927),Y=i(45617),Q=i(87186);let ee=class extends N.A{constructor(){super(...arguments),this._pixelBlockTiles=new Map,this.datasetFormat="MEMORY",this.preGenerateTiles=!0,this.source=null}get url(){return""}async fetchRawTile(e,t,i,r={}){let a=`${e}/${t}/${i}`,s=this._pixelBlockTiles.get(a);if(s)return s;if(!this.source)return null;let{rasterInfo:n}=this,[l,o]=n.storageInfo.tileInfo.size,{sliceId:u}=r,{encodedData:f}=this.source;if(f){let s=await this.decodePixelBlock(f,{tileSize:[l,o],tileIndex:[e,t,i],canvasUsage:"canvas-only",cloneSource:!0,skipStatistics:!0},{signal:r.signal});return s&&this._pixelBlockTiles.set(a,s),s}let{pixelBlocks:h}=this.source,c=null==u?h[0]:h[u];if(null==c)return null;let p={pixelBlock:c,useBilinear:"thematic"!==n.dataType,tileSize:{width:l,height:o},level:e,row:t,col:i};return this.rasterJobHandler?this.rasterJobHandler.clipTile(p,r):(0,X.J$)(p)}async _open(e){if(!this.source)throw new l.A("in-memory-raster:open","source is required to open an in memory raster");let t=this.source;this.datasetName=t.name;let{pixelBlocks:i,attributeTable:r,statistics:a,histograms:s,nativeExtent:n,transform:o,colormap:u}=t,f=i[0],{width:h,height:c,pixelType:p}=f??t.imageInfo,d=t.extent??new B.A({xmin:-.5,ymin:.5,xmax:h-.5,ymax:c-.5,spatialReference:new z.A({wkid:3857})}),m=t.isPseudoSpatialReference??!t.extent,g={x:d.width/h,y:d.height/c},y={...t.keyProperties};t.dataType&&(y.DataType=t.dataType),t.bandInfos&&(y.BandProperties=t.bandInfos.map(e=>e.toJSON())),r&&(y.DataType="Thematic");let w=new Q.A({width:h,height:c,pixelType:p,extent:d,nativeExtent:n,attributeTable:r,colormap:u,transform:o,pixelSize:g,spatialReference:d.spatialReference,bandCount:f?.pixels.length??t.imageInfo.bandCount,keyProperties:y,multidimensionalInfo:t.multidimensionalInfo,statistics:a,isPseudoSpatialReference:m,histograms:s});this.ioConfig.skipMapInfo&&this.updateImageSpaceRasterInfo(w),this.createRemoteDatasetStorageInfo(w,512,512),this._set("rasterInfo",w),this.updateTileInfo(),w.multidimensionalInfo?await this._buildMDimStats(i,w.multidimensionalInfo):this.preGenerateTiles&&f&&(await this._buildInMemoryRaster(f,{width:512,height:512},e),this.source=null)}async _buildInMemoryRaster(e,t,i){let{rasterInfo:r}=this,a=r.storageInfo.maximumPyramidLevel??0,s="thematic"!==r.dataType,n=this.rasterJobHandler?this.rasterJobHandler.split({pixelBlock:e,tileSize:t,maximumPyramidLevel:a,useBilinear:s},i):Promise.resolve((0,X.lD)(e,t,a,s)),o=null!=r.statistics,u=null!=r.histograms,f=this.ioConfig.skipStatistics||o?Promise.resolve({statistics:null,histograms:null}):this.rasterJobHandler?this.rasterJobHandler.estimateStatisticsHistograms({pixelBlock:e},i):Promise.resolve((0,K.f4)(e)),c=await(0,h.Lx)([n,f]);if(!c[0].value)throw new l.A("in-memory-raster:open","failed to build in memory raster");this._pixelBlockTiles=c[0].value,o||(r.statistics=c[1].value?.statistics),u||(r.histograms=c[1].value?.histograms)}async _buildMDimStats(e,t,i){for(let r=0;r<t.variables.length;r++){let a=t.variables[r];if(a.statistics)continue;let s=a.dimensions.map(e=>new Y.A({variableName:a.name,dimensionName:e.name,values:[e.values?.[0]??e.extent?.[0]],isSlice:!0})),n=(0,W.NG)(s,t),l=null==n?null:e[n];if(null==l)continue;let o=this.rasterJobHandler?await this.rasterJobHandler.computeStatisticsHistograms({pixelBlock:l},i):(0,K.eH)(l);a.statistics=o.statistics,a.histograms||=o.histograms}}};(0,a.Cg)([(0,p.MZ)({type:String,json:{write:!0}})],ee.prototype,"datasetFormat",void 0),(0,a.Cg)([(0,p.MZ)({constructOnly:!0})],ee.prototype,"preGenerateTiles",void 0),(0,a.Cg)([(0,p.MZ)()],ee.prototype,"source",void 0),(0,a.Cg)([(0,p.MZ)()],ee.prototype,"url",null),ee=(0,a.Cg)([(0,p.$K)("esri.layers.raster.datasets.InMemoryRaster")],ee);const te=ee;var ie=i(22671);let re=class extends N.A{constructor(){super(...arguments),this.datasetFormat="CovJSON"}fetchRawTile(e,t,i,r={}){return this._inMemoryRaster.fetchRawTile(e,t,i,r)}async _open(e){let{extent:t,pixelBlocks:i,multidimensionalInfo:r,attributeTable:a,bandNames:s}=await this._fetchData(e),{statistics:n,histograms:l}=(0,K.eH)(i[0]),o=s?.map(e=>({BandName:e})),u={DataType:a?"Thematic":r?"Scientific":"Generic",BandProperties:o},f=new te({source:{extent:t,pixelBlocks:i,attributeTable:a?ie.A.fromJSON(a):null,multidimensionalInfo:r,statistics:n,histograms:l,keyProperties:u,isPseudoSpatialReference:!1}});await f.open(),this._inMemoryRaster=f;let h=this.source?"":this.url.slice(this.url.lastIndexOf("/")+1);this._set("datasetName",h.slice(0,h.indexOf("."))),this._set("rasterInfo",f.rasterInfo)}async _fetchData(e){let t=this.source??(await this.request(this.url,{signal:e?.signal})).data,i="imagery-tile-layer:open-coverage-json";if("coverage"!==t.type?.toLowerCase()||"grid"!==t.domain?.domainType?.toLowerCase())throw new l.A(i,"Only coverage with Grid domain type is supported");if(!t.ranges)throw new l.A(i,"Missing ranges in the grid coverage data");if(!t.domain.referencing?.length)throw new l.A(i,"Missing domain referencing in the grid coverage data");let r=Object.values(t.ranges);for(let e=0;e<r.length;e++){let{axisNames:t,shape:a,type:s,values:n}=r[e];if(!("ndarray"===s.toLowerCase()&&n?.length&&t?.length&&a?.length))throw new l.A(i,"Only ranges with valid NdArray, axisNames, shape, and inline values are supported");if(!$(t[t.length-1])||!U(t[t.length-2]))throw new l.A(i,"Only row-major ordered pixel values are supported. X axis must be the last axis.")}return function(e){let{width:t,height:i,extent:r,dimensions:a}=function(e){let{axes:t}=e.domain,i=Object.keys(t),r=[],a=[],s=-1,n=-1,l=[];for(let e=0;e<i.length;e++){let o=i[e];$(o)?s=e:U(o)&&(n=e);let u=t[o],f=[];if("values"in u){u.values.forEach(e=>f.push("string"==typeof e?new Date(e).getTime():e));let e=f[1]-f[0];r.push([f[0]-.5*e,f[f.length-1]+.5*e]),a.push(e)}else{let{start:e,stop:t,num:i}=u,s=(t-e)/(i-1);r.push([e-.5*s,t+.5*s]),a.push(s);for(let t=0;t<i;t++)f.push(e+s*t)}l.push({name:o,values:f,extent:[f[0],f[f.length-1]]})}s>-1&&-1===n?n=+(0===s):n>-1&&-1===s?s=+(0===n):-1===n&&-1===s&&(s=0,n=1),l=l.filter((e,t)=>t!==s&&t!==n);let{referencing:o}=e.domain,u=o.find(e=>e.coordinates.includes(i[s])).system.id,f=u?.slice(u.lastIndexOf("/")+1),h=null==f||"CRS84"===f?4326:Number(f),c=new z.A({wkid:h}),[p,d]=r[s],[m,g]=r[n],y=new B.A({xmin:p,xmax:d,ymin:m,ymax:g,spatialReference:c});return{width:Math.round(y.width/a[s]),height:Math.round(y.height/a[n]),extent:y,dimensions:l}}(e),{ranges:s}=e,n=Object.keys(s).sort((e,t)=>e<t?-1:1),l=[];for(let e=0;e<n.length;e++){let t=n[e];a?.length&&l.push({name:t,dimensions:a})}let o=q(e);l.forEach(e=>o[e.name]&&Object.assign(e,o[e.name]));let u=l.length?{variables:l}:void 0,f=[];for(let e=0;e<n.length;e++){let{values:r,dataType:l,axisNames:o,shape:u}=s[n[e]],h=u.length>2?e*u.slice(0,-2).reduce((e,t)=>e*t):0,c=o.slice(0,-2),p=u.slice(0,-2),d="float"===l?"f32":V(r),m=t*i,g=r.length/m;for(let s=0;s<g;s++){let n=H.A.createEmptyBand(d,m),l=new Uint8Array(m).fill(255),o=!1,u=s*m;for(let e=0;e<m;e++){let t=r[u+e];null==t?(l[e]=0,o=!0):n[e]=t}if(0===e||a?.length){let e=new H.A({width:t,height:i,mask:o?l:null,pixels:[n],pixelType:d});e.updateStatistics(),a?.length?f[G(c,p,s)+h]=e:f.push(e)}else{let e=f[s];e.pixels.push(n),o?e.mask&&=H.A.combineBandMasks([e.mask,l]):e.mask=o?l:null}}}return{extent:r,pixelBlocks:f,multidimensionalInfo:u,attributeTable:Object.values(o).find(e=>e.attributeTable)?.attributeTable,bandNames:u?void 0:n}}(t)}};(0,a.Cg)([(0,p.MZ)({type:String,json:{write:!0}})],re.prototype,"datasetFormat",void 0),(0,a.Cg)([(0,p.MZ)({constructOnly:!0})],re.prototype,"source",void 0),re=(0,a.Cg)([(0,p.$K)("esri.layers.raster.datasets.CovJSONRaster")],re);const ae=re;var se=i(4576),ne=i(21325),le=i(330),oe=i(43163);function ue(e,t){if(!e||!t)return null;let i=[];for(let r=0;r<e.length;r++)i.push(e[r]),i.push(t[r]);return i}function fe(e){if(!e)return null;let t=Number(e);if(!isNaN(t)&&0!==t)return new z.A({wkid:t});if(e=String(e).trim(),(0,ne.jp)(e))return new z.A({wkt2:e});let i=e.toUpperCase();if(i.startsWith("COMPD_CS")){if(!i.includes("VERTCS")||!i.includes("GEOGCS")&&!i.startsWith("PROJCS"))return null;let r=i.indexOf("VERTCS"),a=i.indexOf("PROJCS"),s=a>-1?a:i.indexOf("GEOGCS");if(-1===s)return null;let n=e.slice(s,e.lastIndexOf("]",r)+1).trim(),l=e.slice(r,e.lastIndexOf("]")).trim();t=he(n);let o=t?new z.A({wkid:t}):new z.A({wkt:n}),u=he(l);return u&&(o.vcsWkid=u),o}return i.startsWith("GEOGCS")||i.startsWith("PROJCS")?(t=he(e),0===t?new z.A({wkt:e}):new z.A({wkid:t})):null}function he(e){let t=e.replaceAll("]","[").replaceAll('"',"").split("[").map(e=>e.trim()).filter(e=>""!==e),i=t[t.length-1].split(","),r=i[0]?.toLowerCase();if(("epsg"===r||"esri"===r)&&e.endsWith('"]]')){let e=Number(i[1]);if(!isNaN(e)&&0!==e)return e}return 0}function ce(e){if("pamdataset"!==e?.documentElement.tagName?.toLowerCase())return{};let t={spatialReference:null,transform:null,metadata:{},rasterBands:[],statistics:null,histograms:null};e.documentElement.childNodes.forEach(e=>{if(1===e.nodeType)if((0,le.g7)(e,"SRS")){if(!t.spatialReference){let i=(0,le.mX)(e);t.spatialReference=fe(i)}}else if((0,le.g7)(e,"Metadata"))if("xml:ESRI"===e.getAttribute("domain")){let{spatialReference:i,transform:r}=function(e){let t=(0,le.V6)(e,"GeodataXform"),i=fe((0,le.v7)(t,"SpatialReference/WKID")||(0,le.mX)(t,"SpatialReference/WKT"));if("typens:PolynomialXform"!==t.getAttribute("xsi:type"))return{spatialReference:i,transform:null};let r=(0,le.v7)(t,"PolynomialOrder")??1,a=(0,le.Ui)(t,"CoeffX/Double"),s=(0,le.Ui)(t,"CoeffY/Double"),n=(0,le.Ui)(t,"InverseCoeffX/Double"),l=(0,le.Ui)(t,"InverseCoeffY/Double"),o=ue(a,s),u=ue(n,l);return{spatialReference:i,transform:o&&u&&o.length&&u.length?new oe.A({spatialReference:i,polynomialOrder:r,forwardCoefficients:o,inverseCoefficients:u}):null}}(e);t.transform=r,t.spatialReference||=i}else(0,le.IC)(e,"MDI").forEach(e=>t.metadata[e.getAttribute("key")]=(0,le.mX)(e));else if((0,le.g7)(e,"PAMRasterBand")){let i=function(e){let t,i,r,a,s=(0,le.v7)(e,"NoDataValue"),n=(0,le.V6)(e,"Histograms/HistItem"),l=(0,le.v7)(n,"HistMin"),o=(0,le.v7)(n,"HistMax"),u=(0,le.v7)(n,"BucketCount"),f=(0,le.mX)(n,"HistCounts")?.split("|").map(e=>Number(e));(0,le.IC)(e,"Metadata/MDI").forEach(e=>{let s=Number(e.textContent??e.nodeValue);switch(e.getAttribute("key").toUpperCase()){case"STATISTICS_MINIMUM":t=s;break;case"STATISTICS_MAXIMUM":i=s;break;case"STATISTICS_MEAN":r=s;break;case"STATISTICS_STDDEV":a=s}});let h=(0,le.v7)(e,"Metadata/SourceBandIndex");return{noDataValue:s,histogram:f?.length&&null!=l&&null!=o?{min:l,max:o,size:u||f.length,counts:f}:null,sourceBandIndex:h,statistics:null!=t&&null!=i?{min:t,max:i,avg:r,stddev:a}:null}}(e);null!=i.sourceBandIndex&&null==t.rasterBands[i.sourceBandIndex]?t.rasterBands[i.sourceBandIndex]=i:t.rasterBands.push(i)}});let i=t.rasterBands;return i.length&&(t.statistics=i[0].statistics?i.map(e=>e.statistics).filter(se.Ru):null,t.histograms=i[0].histogram?i.map(e=>e.histogram).filter(se.Ru):null),t}var pe=i(85951),de=i(40951);const me="image-aux-raster:open",ge="The data is not a supported format.";let ye=class extends N.A{set rasterJobHandler(e){this._set("rasterJobHandler",e),this._inMemoryRaster&&(this._inMemoryRaster.rasterJobHandler=e)}async fetchRawTile(e,t,i,r={}){return this._inMemoryRaster?.fetchRawTile(e,t,i,r)}async _open(e){let t,{data:i,format:r}=await this._fetchData(e),{tileGeneration:a}=this.ioConfig,s="immediate"===a||"jpg"!==r;if(s){let a=await this._decodeFullImage(i,r,e);if(!a)throw new l.A(me,"The data cannot be decoded.");t=await this._createRasterSource(a,e)}else{let r=(0,pe.R)(i);if(!r)throw new l.A(me,ge);t=await this._createRasterSource(r,e),t.encodedData=i}let{rasterJobHandler:n,ioConfig:o}=this,u=new te({preGenerateTiles:s,rasterJobHandler:n,source:t,ioConfig:{...o,sampling:"closest",skipStatistics:!0}});await u.open(e),this._set("rasterInfo",u.rasterInfo),this._inMemoryRaster=u}async _createRasterSource(e,t){let{spatialReference:i,statistics:r,histograms:a,transform:s}=await this._fetchAuxiliaryData(t),n=!i;n&&(i=new z.A({wkid:3857})),a?.length&&null==r&&(r=(0,K.Pg)(a));let{width:l,height:o}=e,u=new B.A({xmin:-.5,ymin:.5-o,xmax:l-.5,ymax:.5,spatialReference:i}),f=s?s.forwardTransform(u):u,h=!0;if(s){let e=s.forwardCoefficients;h=e&&0===e[1]&&0===e[2],h&&(s=null,u=f)}let c=[];return"pixels"in e&&c.push(e),{name:this.datasetName,pixelBlocks:c,imageInfo:{width:l,height:o,pixelType:"u8",bandCount:3},extent:f,nativeExtent:u,transform:s,statistics:r,histograms:a,isPseudoSpatialReference:n,keyProperties:{DataType:"Processed"}}}async _fetchData(e){let{data:t}=await this.request(this.url,{responseType:"array-buffer",signal:e?.signal}),i=(0,de.g)(t);if("jpg"!==i&&"png"!==i&&"gif"!==i&&"bmp"!==i)throw new l.A(me,ge);return this._set("datasetFormat",i.toUpperCase()),{data:t,format:i}}async _decodeFullImage(e,t,i){try{return await this.decodePixelBlock(e,{format:t,canvasUsage:"canvas-only",cloneSource:!0,skipStatistics:!0},i)}catch{return(0,h.Te)(i?.signal),this.decodePixelBlock(e,{format:t,canvasUsage:"no-canvas",skipStatistics:!0},i)}}async _fetchAuxiliaryData(e){let t=e?.signal,{skipExtensions:i=[],skipMapInfo:r}=this.ioConfig,a=r||i.includes("aux.xml")?null:this.request(this.url+".aux.xml",{responseType:"xml",signal:t}),s=this.datasetFormat,n="JPG"===s?"jgw":"PNG"===s?"pgw":"BMP"===s?"bpw":null,l=r||null==n||i.includes(n)?null:this.request(this.url.slice(0,this.url.lastIndexOf("."))+"."+n,{responseType:"text",signal:t}),o=await(0,h.Lx)([a,l]);if(t?.aborted)throw(0,h.NK)();let u=ce(o[0].value?.data);if(!u.transform){let e=o[1].value?o[1].value.data.split("\n").slice(0,6).map(e=>Number(e)):null;u.transform=6===e?.length?new oe.A({forwardCoefficients:[e[4],e[5],e[0],-e[1],e[2],-e[3]]}):null}return u}};(0,a.Cg)([(0,p.MZ)({type:String,json:{write:!0}})],ye.prototype,"datasetFormat",void 0),(0,a.Cg)([(0,p.MZ)()],ye.prototype,"rasterJobHandler",null),ye=(0,a.Cg)([(0,p.$K)("esri.layers.raster.datasets.ImageAuxRaster")],ye);const we=ye;var ve=i(84952),xe=i(86738),be=i(75414),Ie=i(20223),Ce=i(87045),Se=i(25943),Ae=i(82371);let _e=class extends N.A{constructor(){super(...arguments),this._levelOffset=0,this._tilemapCache=null,this._slices=null,this.datasetFormat="RasterTileServer",this.tileType=null}async fetchRawTile(e,t,i,r={}){let{storageInfo:a,extent:s}=this.rasterInfo,{transposeInfo:n}=a,l=null!=n&&!!r.transposedVariableName;if(this._slices&&!l&&null==r.sliceId)return null;let o,u,f=l?0:a.maximumPyramidLevel-e+this._levelOffset,h=`${this.url}/tile/${f}/${t}/${i}`,c={...this._slices?l?{variable:r.transposedVariableName}:{sliceId:r.sliceId||0}:null,...r.refreshParameters};if(a.isBsqTile){let e=(r.bandIds?.length?r.bandIds:[0,1,2]).map(e=>this.request(h,{query:{...c,bandId:e},responseType:"array-buffer",signal:r.signal})),t=await Promise.all(e),i=t.map(e=>e.data.byteLength).reduce((e,t)=>e+t),a=new Uint8Array(i);u=[];let s=0;for(let{data:e}of t)u.push(s),a.set(new Uint8Array(e),s),s+=e.byteLength;o=a.buffer}else o=(await this.request(h,{query:c,responseType:"array-buffer",signal:r.signal})).data;if(!o)return null;let{tileInfo:p}=a,d=l?n.tileSize:p.size,m=/^(mixed|jp)/i.test(p.format),g="raw"===p.format,y=await this.decodePixelBlock(o,{format:g?"bsq":void 0,width:d[0],height:d[1],planes:u?.length,offsets:u,pixelType:g?this.rasterInfo.pixelType:void 0,isPoint:"Elevation"===this.tileType,returnInterleaved:l,noDataValue:this.rasterInfo.noDataValue,applyJpegMask:m},{signal:r.signal});if(null==y)return null;let w=a.blockBoundary[e];if("jpg"!==a.compression||i>w.minCol&&i<w.maxCol&&t>w.minRow&&t<w.maxRow)return y;let{origin:v,blockWidth:x,blockHeight:b}=a,{x:I,y:C}=this.getPyramidPixelSize(e),S=Math.round((s.xmin-v.x)/I)%x,A=Math.round((s.xmax-v.x)/I)%x||x,_=Math.round((v.y-s.ymax)/C)%b,T=Math.round((v.y-s.ymin)/C)%b||b,R=i===w.minCol?S:0,M=t===w.minRow?_:0,O=i===w.maxCol?A:x,F=t===w.maxRow?T:b;return(0,X.z$)(y,{x:R,y:M},{width:O-R,height:F-M}),y}getSliceIndex(e){if(!this._slices||null==e||0===e.length)return null;let t=e;for(let e=0;e<this._slices.length;e++){let i=this._slices[e].multidimensionalDefinition;if(i.length===t.length&&!i.some(e=>{let i=t.find(t=>e.variableName===t.variableName&&t.dimensionName===e.dimensionName);return!i||(Array.isArray(e.values[0])?`${e.values[0][0]}-${e.values[0][1]}`:e.values[0])!==(Array.isArray(i.values[0])?`${i.values[0][0]}-${i.values[0][1]}`:i.values[0])}))return e}return null}async fetchVariableStatisticsHistograms(e,t){let i=this.request(this.url+"/statistics",{query:{variable:e,f:"json"},signal:t}).then(e=>e.data?.statistics),r=this.request(this.url+"/histograms",{query:{variable:e,f:"json"},signal:t}).then(e=>e.data?.histograms),a=await Promise.all([i,r]);return a[0]&&a[0].forEach(e=>{e.avg=e.mean,e.stddev=e.standardDeviation}),a[1]?.[0]?.counts?.length||(a[1]=null),{statistics:a[0]||null,histograms:a[1]||null}}async computeBestPyramidLevelForLocation(e,t={}){if(!this._tilemapCache)return 0;let i=this.identifyPixelLocation(e,0,t.datumTransformation);if(null===i)return null;let r=0,{maximumPyramidLevel:a}=this.rasterInfo.storageInfo,s=a-r+this._levelOffset,n=i.srcLocation;for(;s>=0;){try{if("available"===await this._tilemapCache.fetchAvailability(s,i.row,i.col,t))break}catch{}if(s--,r++,i=this.identifyPixelLocation(n,r,t.datumTransformation),null===i)return null}return-1===s||null==i?null:r}async _open(e){let t=e?.signal,i=this.sourceJSON?{data:this.sourceJSON}:await this.request(this.url,{query:{f:"json"},signal:t});i.ssl&&(this.url=this.url.replace(/^http:/i,"https:"));let r=i.data;if(this.sourceJSON=r,!r)throw new l.A("imageserverraster:open","cannot initialize tiled image service, missing service info");if(!r.tileInfo)throw new l.A("imageserverraster:open","use ImageryLayer to open non-tiled image services");this._fixScaleInServiceInfo();this.tileType=r.cacheType,this.tileType??=["jpg","jpeg","png","png8","png24","png32","mixed"].includes(r.tileInfo.format.toLowerCase())?"Map":"lerc"===r.tileInfo.format.toLowerCase()?"Elevation":"Raster",this.datasetName=r.name?.slice(r.name.indexOf("/")+1)??"";let a=this.rasterInfo??await this._fetchRasterInfo({signal:t});if(null==a)throw new l.A("image-server-raster:open","cannot initialize image service");(0,Ae.E9)(a,r);let s="Map"===this.tileType?function(e,t){if(!e)return null;let{minScale:i,maxScale:r,minLOD:a,maxLOD:s}=t;if(null!=a&&null!=s)return Ce.A.fromJSON({...e,lods:e.lods.filter(({level:e})=>null!=e&&e>=a&&e<=s)});if(0!==i&&0!==r){let t=e=>Math.round(1e4*e)/1e4,a=i?t(i):1/0,s=r?t(r):-1/0;return Ce.A.fromJSON({...e,lods:e.lods.filter(e=>{let i=t(e.scale);return i<=a&&i>=s})})}return Ce.A.fromJSON(e)}(r.tileInfo,r):Ce.A.fromJSON(r.tileInfo);(0,u.Lw)(s);let[n,o]=this._computeMinMaxLOD(a,s),{extent:f,pixelSize:h}=a,c=.001*Math.min(h.x,h.y);(h.x!==h.y||Math.abs(n.resolution-h.x)>c)&&(h.x=h.y=n.resolution,a.width=Math.ceil((f.xmax-f.xmin)/h.x-.1),a.height=Math.ceil((f.ymax-f.ymin)/h.y-.1));let p=n.level-o.level,[d,m]=s.size,g=[],y=[],{lods:w}=s;w.forEach((e,t)=>{e.level>=o.level&&e.level<=n.level&&g.push({x:e.resolution,y:e.resolution}),t<w.length-1&&y.push(Math.round(10*e.resolution/w[t+1].resolution)/10)}),g.sort((e,t)=>e.x-t.x);let v,x=this.computeBlockBoundary(f,d,m,s.origin,g,p),b=g.length>1?g.slice(1):null;r.transposeInfo&&(v={tileSize:[r.transposeInfo.rows,r.transposeInfo.cols],packetSize:a.keyProperties?._yxs.PacketSize??0});let I=y.length<=1||y.length>=3&&y.slice(0,-1).every(e=>e===y[0])?y[0]??2:Math.round(10/(o.resolution/n.resolution)**(-1/p))/10,C=!!r.bsq&&"Raster"===this.tileType;if(a.storageInfo=new Ie.A({blockWidth:s.size[0],blockHeight:s.size[1],pyramidBlockWidth:s.size[0],pyramidBlockHeight:s.size[1],pyramidResolutions:b,pyramidScalingFactor:I,compression:s.format,origin:s.origin,firstPyramidLevel:1,maximumPyramidLevel:p,tileInfo:s,isBsqTile:C,transposeInfo:v,blockBoundary:x}),function(e){let{extent:t,spatialReference:i}=e;t.xmin>-1&&t.xmax>181&&i?.wkid&&i.isGeographic&&(e.nativeExtent=e.extent,e.transform=new be.A,e.extent=e.transform.forwardTransform(t))}(a),this._set("rasterInfo",a),r.capabilities.toLowerCase().includes("tilemap")){let e={tileInfo:a.storageInfo.tileInfo,parsedUrl:(0,ve.An)(this.url),url:this.url,tileServers:[]};this._tilemapCache=new Se.d({layer:e})}}async _fetchRasterInfo(e){let t=this.sourceJSON;if("Map"===this.tileType){let e=t.fullExtent||t.extent,i=Math.ceil((e.xmax-e.xmin)/t.pixelSizeX-.1),r=Math.ceil((e.ymax-e.ymin)/t.pixelSizeY-.1),a=z.A.fromJSON(t.spatialReference||e.spatialReference),s=new xe.A({x:t.pixelSizeX,y:t.pixelSizeY,spatialReference:a});return new Q.A({width:i,height:r,bandCount:3,extent:B.A.fromJSON(e),spatialReference:a,pixelSize:s,pixelType:"u8",statistics:null,keyProperties:{DataType:"processed"}})}let i={...e,query:{...this.ioConfig.customFetchParameters,f:"json"}},r=(0,Ae.Tw)(this.url,this.sourceJSON,i),a=t.hasMultidimensions?this.request(`${this.url}/slices`,i).then(e=>e.data?.slices).catch(()=>null):null,s=await Promise.all([r,a]);return this._slices=s[1],s[0]}_fixScaleInServiceInfo(){let{sourceJSON:e}=this;e.minScale&&e.minScale<0&&(e.minScale=0),e.maxScale&&e.maxScale<0&&(e.maxScale=0)}_computeMinMaxLOD(e,t){let{pixelSize:i}=e,r=.5/e.width*i.x,{lods:a}=t,s=t.lodAt(Math.max.apply(null,a.map(e=>e.level))),n=t.lodAt(Math.min.apply(null,a.map(e=>e.level))),{tileType:l}=this;if("Map"===l)return this._levelOffset=a[0].level,[s,n];if("Raster"===l)return[a.find(e=>e.resolution===i.x)??s,n];let{minScale:o,maxScale:u}=this.sourceJSON,f=s;u>0&&(f=a.find(e=>Math.abs(e.scale-u)<r),f||=a.filter(e=>e.scale>u).sort((e,t)=>e.scale>t.scale?1:-1)[0]??s);let h=n;return o>0&&(h=a.find(e=>Math.abs(e.scale-o)<r)??n,this._levelOffset=h.level-n.level),[f,h]}};(0,a.Cg)([(0,p.MZ)({type:String,json:{write:!0}})],_e.prototype,"datasetFormat",void 0),(0,a.Cg)([(0,p.MZ)()],_e.prototype,"tileType",void 0),_e=(0,a.Cg)([(0,p.$K)("esri.layers.raster.datasets.ImageServerRaster")],_e);const Te=_e;var Re=i(10713);const Me=new Map([["byte","u8"],["signedbyte","s8"],["int8","s8"],["uint8","u8"],["int16","s16"],["uint16","u16"],["int32","s32"],["uint32","u32"],["float32","f32"],["float64","f64"],["double64","f64"]]),Oe=new Map;Oe.set("none",{blobExtension:".til",isOneSegment:!0,decoderFormat:"bip"}),Oe.set("lerc",{blobExtension:".lrc",isOneSegment:!1,decoderFormat:"lerc"}),Oe.set("deflate",{blobExtension:".pzp",isOneSegment:!0,decoderFormat:"deflate"}),Oe.set("jpeg",{blobExtension:".pjg",isOneSegment:!0,decoderFormat:"jpg"}),Oe.set("qb3",{blobExtension:".pq3",isOneSegment:!0,decoderFormat:"qb3"});let Fe=class extends N.A{constructor(){super(...arguments),this._files=null,this._storageIndex=null,this._isBsq=!1,this.datasetFormat="MRF"}async fetchRawTile(e,t,i,r={}){let{blockWidth:a,blockHeight:s,blockBoundary:n}=this.rasterInfo.storageInfo,l=n[e];if(!l||l.maxRow<t||l.maxCol<i||l.minRow>t||l.minCol>i)return null;let{bandCount:o,pixelType:u}=this.rasterInfo,{ranges:f,actualTileWidth:h,actualTileHeight:c}=this._getTileLocation(e,t,i);if(!f||0===f.length)return null;if(f.some(e=>e.from>e.to)){let e=new Uint8Array(a*s);return new H.A({width:a,height:s,pixels:void 0,mask:e,validPixelCount:0})}let{bandIds:p}=this.ioConfig,d=this._getBandSegmentCount(),m=[],g=0;for(g=0;g<d;g++)(!p||p.includes(g))&&m.push(this.request(this._files.data,{range:{from:f[g].from,to:f[g].to},responseType:"array-buffer",signal:r.signal}));let y=await Promise.all(m),w=y.map(e=>e.data.byteLength).reduce((e,t)=>e+t),v=new Uint8Array(w),x=[],b=0;for(g=0;g<d;g++)x.push(b),v.set(new Uint8Array(y[g].data),b),b+=y[g].data.byteLength;let I=Oe.get(this.rasterInfo.storageInfo.compression).decoderFormat,C="jpg"===I&&4===o&&1===x.length,S=await this.decodePixelBlock(v.buffer,{width:a,height:s,format:I,planes:p?.length||o,offsets:x,pixelType:u,canvasUsage:C?"no-canvas":void 0,decodeJpegAsRgb:!1},{signal:r.signal});if(null==S)return null;let{noDataValue:A}=this.rasterInfo;if(null!=A&&"lerc"!==I&&!S.mask&&(A=A[0],null!=A)){let e=S.width*S.height,t=new Uint8Array(e);if(Math.abs(A)>1e24)for(g=0;g<e;g++)Math.abs((S.pixels[0][g]-A)/A)>1e-6&&(t[g]=1);else for(g=0;g<e;g++)S.pixels[0][g]!==A&&(t[g]=1);S.mask=t}let _=0,T=0;if(h!==a||c!==s){let e=S.mask;if(e)for(g=0;g<s;g++)if(T=g*a,g<c)for(_=h;_<a;_++)e[T+_]=0;else for(_=0;_<a;_++)e[T+_]=0;else for(e=new Uint8Array(a*s),S.mask=e,g=0;g<c;g++)for(T=g*a,_=0;_<h;_++)e[T+_]=1}return S}async _open(e){this.datasetName=this.url.slice(this.url.lastIndexOf("/")+1);let t=e?e.signal:null,i=await this.request(this.url,{responseType:"xml",signal:t}),{rasterInfo:r,files:a}=this._parseHeader(i.data),{skipMapInfo:s,skipExtensions:n=[]}=this.ioConfig;if(!n.includes("aux.xml")&&!s){let t=await this._fetchAuxiliaryData(e);null!=t&&(r.statistics=t.statistics??r.statistics,r.histograms=t.histograms,t.histograms&&null==r.statistics&&(r.statistics=(0,K.Pg)(t.histograms)))}s&&this.updateImageSpaceRasterInfo(r),this._set("rasterInfo",r),this._files=a;let l=await this.request(a.index,{responseType:"array-buffer",signal:t});this._storageIndex=function(e){if(e.byteLength%16>0)throw Error("invalid array buffer must be multiples of 16");let t;if(Re.Z){let i=new Uint8Array(e),r=new ArrayBuffer(e.byteLength),a=new Uint8Array(r);for(let t=0;t<e.byteLength/4;t++)for(let e=0;e<4;e++)a[4*t+e]=i[4*t+3-e];t=new Uint32Array(r)}else t=new Uint32Array(e);return t}(l.data);let{blockWidth:o,blockHeight:u}=this.rasterInfo.storageInfo,f=this.rasterInfo.storageInfo.pyramidScalingFactor,{width:h,height:c}=this.rasterInfo,p=[],d=this._getBandSegmentCount(),m=0,g=-1;for(;m<this._storageIndex.length;){g++;let e=Math.ceil(h/o/f**g)-1,t=Math.ceil(c/u/f**g)-1;m+=(e+1)*(t+1)*d*4,p.push({maxRow:t,maxCol:e,minCol:0,minRow:0})}this.rasterInfo.storageInfo.blockBoundary=p,g>0&&(this.rasterInfo.storageInfo.firstPyramidLevel=1,this.rasterInfo.storageInfo.maximumPyramidLevel=g),this.updateTileInfo()}_getBandSegmentCount(){return this._isBsq?this.rasterInfo.bandCount:1}_getTileLocation(e,t,i){let r,a,s,{blockWidth:n,blockHeight:l,pyramidScalingFactor:o}=this.rasterInfo.storageInfo,{width:u,height:f}=this.rasterInfo,h=this._getBandSegmentCount(),c=0,p=0;for(s=0;s<e;s++)p=o**s,r=Math.ceil(u/n/p),a=Math.ceil(f/l/p),c+=r*a;p=o**e,r=Math.ceil(u/n/p),a=Math.ceil(f/l/p),c+=t*r+i,c*=4*h;let d=this._storageIndex.subarray(c,c+4*h),m=0,g=0,y=[];for(let e=0;e<h;e++)m=d[4*e]*2**32+d[4*e+1],g=m+d[4*e+2]*2**32+d[4*e+3]-1,y.push({from:m,to:g});return{ranges:y,actualTileWidth:i<r-1?n:Math.ceil(u/p)-n*(r-1),actualTileHeight:t<a-1?l:Math.ceil(f/p)-l*(a-1)}}_parseHeader(e){let t=(0,le.V6)(e,"MRF_META/Raster");if(!t)throw new l.A("mrf:open","not a valid MRF format");let i=(0,le.V6)(t,"Size"),r=parseInt(i.getAttribute("x"),10),a=parseInt(i.getAttribute("y"),10),s=parseInt(i.getAttribute("c"),10),n=((0,le.mX)(t,"Compression")||"none").toLowerCase();if(!Oe.has(n))throw new l.A("mrf:open","currently does not support compression "+n);let o=(0,le.mX)(t,"DataType")||"UInt8",u=Me.get(o.toLowerCase());if(null==u)throw new l.A("mrf:open","currently does not support pixel type "+o);let f=(0,le.V6)(t,"PageSize"),h=parseInt(f.getAttribute("x"),10),c=parseInt(f.getAttribute("y"),10),p=f.getAttribute("c"),d=p?p===String(s):Oe.get(n).isOneSegment;this._isBsq=!d;let m,g=(0,le.V6)(t,"DataValues");if(g){let e=g.getAttribute("NoData");null!=e&&(m=e.trim().split(" ").map(e=>parseFloat(e)))}if((0,le.V6)(e,"MRF_META/CachedSource"))throw new l.A("mrf:open","currently does not support MRF referencing other data files");let y,w=(0,le.V6)(e,"MRF_META/GeoTags"),v=(0,le.V6)(w,"BoundingBox"),x=!1;if(null!=v){let e=parseFloat(v.getAttribute("minx")),t=parseFloat(v.getAttribute("miny")),i=parseFloat(v.getAttribute("maxx")),r=parseFloat(v.getAttribute("maxy")),a=(0,le.mX)(w,"Projection")||"",s=z.A.WGS84;if("LOCAL_CS[]"!==a)if(a.toLowerCase().startsWith("epsg:")){let e=Number(a.slice(5));!isNaN(e)&&0!==e&&(s=new z.A({wkid:e}))}else s=fe(a)??z.A.WGS84;else x=!0,s=new z.A({wkid:3857});y=new B.A(e,t,i,r),y.spatialReference=s}else x=!0,y=new B.A({xmin:-.5,ymin:.5-a,xmax:r-.5,ymax:.5,spatialReference:new z.A({wkid:3857})});let b=(0,le.V6)(e,"MRF_META/Rsets"),I=parseInt(b?.getAttribute("scale")||"2",10),C=y.spatialReference,S=new Ie.A({origin:new xe.A({x:y.xmin,y:y.ymax,spatialReference:C}),blockWidth:h,blockHeight:c,pyramidBlockWidth:h,pyramidBlockHeight:c,compression:n,pyramidScalingFactor:I}),A=new xe.A({x:y.width/r,y:y.height/a,spatialReference:C}),_=new Q.A({width:r,height:a,extent:y,isPseudoSpatialReference:x,spatialReference:C,bandCount:s,pixelType:u,pixelSize:A,noDataValue:m,storageInfo:S}),T=this._getAuxFullPath((0,le.mX)(t,"DataFile")),R=this._getAuxFullPath((0,le.mX)(t,"IndexFile"));return{rasterInfo:_,files:{mrf:this.url,index:R||this.url.replace(".mrf",".idx"),data:T||this.url.replace(".mrf",Oe.get(n).blobExtension)}}}_getAuxFullPath(e){return!e||e.includes("\\")?null:e.includes("/")?e.startsWith(new URL(this.url).origin)?e:null:`${this.url.slice(0,this.url.lastIndexOf("/"))}/${e}`}async _fetchAuxiliaryData(e){try{let{data:t}=await this.request(this.url+".aux.xml",{responseType:"xml",signal:e?.signal});return ce(t)}catch{return null}}};(0,a.Cg)([(0,p.MZ)()],Fe.prototype,"_files",void 0),(0,a.Cg)([(0,p.MZ)()],Fe.prototype,"_storageIndex",void 0),(0,a.Cg)([(0,p.MZ)()],Fe.prototype,"_isBsq",void 0),(0,a.Cg)([(0,p.MZ)({type:String,json:{write:!0}})],Fe.prototype,"datasetFormat",void 0),Fe=(0,a.Cg)([(0,p.$K)("esri.layers.raster.datasets.MRFRaster")],Fe);const ke=Fe;i(44208);var Pe=i(9334);function De(e){let t=e.fields,i=e.records,r=t.some(e=>"oid"===e.name.toLowerCase())?"OBJECTID":"OID",a=[{name:r,type:"esriFieldTypeOID",alias:"OID"}].concat(t.map(e=>({name:e.name,type:"esriFieldType"+e.typeName,alias:e.name}))),s=a.map(e=>e.name),n=[],l=0,o=0;return i.forEach(e=>{let t={};for(t[r]=l++,o=1;o<s.length;o++)t[s[o]]=e[o-1];n.push({attributes:t})}),{displayFieldName:"",fields:a,features:n}}function Ne(e){let t=new DataView(e),i=3&t.getUint8(0);if(3!==i)return{header:{version:i},recordSet:null};let r=t.getUint32(4,!0),a=t.getUint16(8,!0),s=t.getUint16(10,!0),n={version:i,recordCount:r,headerByteCount:a,recordByteCount:s},l=32,o=[],u=[];for(;13!==t.getUint8(l);){let i=String.fromCharCode(t.getUint8(l+11)).trim();o.push({name:(0,Pe.w)(new Uint8Array(e,l,11)),type:i,typeName:["String","Date","Double","Boolean","String","Integer"][["C","D","F","L","M","N"].indexOf(i)],length:t.getUint8(l+16)}),l+=32}if(l+=1,o.length>0)for(;u.length<r&&e.byteLength-l>s;){let i=[];32===t.getUint8(l)?(l+=1,o.forEach(t=>{if("C"===t.type)i.push((0,Pe.w)(new Uint8Array(e,l,t.length)).trim());else if("N"===t.type)i.push(parseInt(String.fromCharCode.apply(null,new Uint8Array(e,l,t.length)).trim(),10));else if("F"===t.type)i.push(parseFloat(String.fromCharCode.apply(null,new Uint8Array(e,l,t.length)).trim()));else if("D"===t.type){let r=String.fromCharCode.apply(null,new Uint8Array(e,l,t.length)).trim();i.push(new Date(parseInt(r.slice(0,4),10),parseInt(r.slice(4,6),10)-1,parseInt(r.slice(6,8),10)))}l+=t.length}),u.push(i)):l+=s}return{header:n,fields:o,records:u,recordSet:De({fields:o,records:u})}}var Le=i(44094),Be=i(94213);const ze="none-tiled tiff is not optimized for access, convert to COG and retry.";let Ee=class extends N.A{constructor(){super(...arguments),this._bufferSize=1048576,this._chunkSize=10485760,this._fileSize=-1,this._headerChunks=[],this.datasetFormat="TIFF",this.headerInfo=null}async fetchRawTile(e,t,i,r={}){if(!this.headerInfo?.isSupported||this.isBlockOutside(e,t,i))return null;let a=await this._fetchRawTiffTile(e,t,i,!1,r);if(null!=a&&this.headerInfo.hasMaskBand){let s=await this._fetchRawTiffTile(e,t,i,!0,r);null!=s&&s.pixels[0]instanceof Uint8Array&&(a.mask=s.pixels[0])}return a}async _open(e){this.datasetName=this.url.slice(this.url.lastIndexOf("/")+1,this.url.lastIndexOf(".")),await this._readHeader(e?.signal),await this._fetchAllAuxData(),this.ioConfig.skipMapInfo&&this.updateImageSpaceRasterInfo(this.rasterInfo),this.updateTileInfo()}async _readHeader(e){try{let t=await this._fetchHeaderData(0,this._bufferSize,e);if(!t)throw new l.A("tiffraster:open","failed to open url "+this.url);let{littleEndian:i,firstIFDPos:r,isBigTiff:a}=(0,Le.uT)(t),s=[],n={fileChunk:t,posIFD:r,fileOffset:0};await this._readIFDs(s,n,i,a?8:4,e);let{imageInfo:o,rasterInfo:u}=function(e){let t=(0,Le.uc)(e),{width:i,height:r,tileWidth:a,tileHeight:s,planes:n,pixelType:l,compression:o,firstPyramidLevel:u,maximumPyramidLevel:f,pyramidBlockWidth:h,pyramidBlockHeight:c,pyramidResolutions:p,tileBoundary:d,affine:m,metadata:g,colormap:y}=t,w=fe(t.extent.spatialReference?.wkt||t.extent.spatialReference?.wkid),v=!!t.isPseudoGeographic;w??=(v=!0,new z.A({wkid:3857}));let x=new B.A({...t.extent,spatialReference:w}),b=x?new xe.A({x:x.xmin,y:x.ymax,spatialReference:w}):new xe.A({x:0,y:0}),I=new Ie.A({blockWidth:a,blockHeight:s,pyramidBlockWidth:h,pyramidBlockHeight:c,compression:o,origin:b,firstPyramidLevel:u,maximumPyramidLevel:f,pyramidResolutions:p,blockBoundary:d}),C=new xe.A({x:(x.xmax-x.xmin)/i,y:(x.ymax-x.ymin)/r,spatialReference:w}),S=g?{BandProperties:g.bandProperties,DataType:g.dataType}:{},A=new Q.A({width:i,height:r,bandCount:n,pixelType:l,pixelSize:C,storageInfo:I,spatialReference:w,isPseudoSpatialReference:v,keyProperties:S,extent:x,colormap:y,statistics:g?g.statistics:null});if(m?.length&&(A.nativeExtent=new B.A({xmin:-.5,ymin:.5-r,xmax:i-.5,ymax:.5,spatialReference:w}),A.transform=new oe.A({polynomialOrder:1,forwardCoefficients:[m[2]+m[0]/2,m[5]-m[3]/2,m[0],m[3],-m[1],-m[4]]}),A.extent=A.transform.forwardTransform(A.nativeExtent),A.pixelSize=new xe.A({x:(x.xmax-x.xmin)/i,y:(x.ymax-x.ymin)/r,spatialReference:w}),I.origin.x=-.5,I.origin.y=.5),p){let{x:e,y:t}=A.pixelSize;p.forEach(i=>{i.x*=e,i.y*=t})}return{imageInfo:t,rasterInfo:A}}(s),f=(0,Le.zS)(s),h=(0,Le.r9)(s);this.headerInfo={littleEndian:i,isBigTiff:a,ifds:s,pyramidIFDs:f,maskIFDs:h,...o},this._set("rasterInfo",u),this._validateHeader()}finally{this._headerChunks.length=0}}_validateHeader(){let e=this.headerInfo;if(!e.isSupported)throw new l.A("tiffraster:open","this tiff is not supported: "+e.message);if(!e.tileWidth||!e.tileHeight)throw new l.A("tiffraster:open",ze);this.rasterInfo.isPseudoSpatialReference&&o.A.getLogger(this).warn("The spatial reference for this tiff is unsupported. Only EPSG spatial reference codes and Esri WKTs are supported.");let t=e.ifds[0],i=t.get("PREDICTOR")?.values?.[0];if(3===t.get("SAMPLEFORMAT")?.values?.[0]&&2===i)throw new l.A("tiffraster:open","unsupported horizontal difference encoding. Predictor=3 is supported for floating point data")}async _fetchHeaderData(e,t,i){let r=this._getCachedHeaderData(e,t);if(r)return r;let a=Math.floor(e/this._bufferSize)*this._bufferSize,s=a+Math.max(1,Math.ceil((t-a)/this._bufferSize))*this._bufferSize,n=this._getMissingHeaderRanges(a,s).map(async e=>{let{from:t,to:r}=e,a=await this._fetchOffsets(t,r,i),s=this._fileSize;return{chunk:a,fileOffset:t,isEOF:s>0?t+a.byteLength>=s:a.byteLength<r-t+1}}),o=await Promise.all(n);this._headerChunks.push(...o),this._headerChunks.sort((e,t)=>e.fileOffset-t.fileOffset);let u=this._getCachedHeaderData(e,t);if(!u)throw new l.A("tiffraster:open",`failed to fetch byte range ${e}-${t} from ${this.url}`);return u}_getCachedHeaderData(e,t){let i=[],r=e;for(let{chunk:a,fileOffset:s,isEOF:n}of this._headerChunks){if(s+a.byteLength-1<r)continue;if(s>r)return null;let l=r-s,o=Math.min(t-s+1,a.byteLength);if(i.push({chunk:a,start:l,end:o}),r=s+o,r>t||n&&o===a.byteLength){let t=new Uint8Array(r-e),a=0;for(let e of i){let i=new Uint8Array(e.chunk,e.start,e.end-e.start);t.set(i,a),a+=i.byteLength}return t.buffer}}return null}_getMissingHeaderRanges(e,t){let i=[],r=(e,t)=>{let r=Math.floor(e/this._bufferSize)*this._bufferSize,a=Math.ceil(t/this._bufferSize)*this._bufferSize;i.push({from:r,to:a})},a=e;for(let{chunk:e,fileOffset:s,isEOF:n}of this._headerChunks){let l=s+e.byteLength-1;if(!(l<a)&&(s>a&&r(a,Math.min(s-1,t)),a=Math.max(a,l+1),a>t||n))return i}return a<=t&&r(a,t),i}async _validateOrFetchHeaderBuffer(e,t){let{fileChunk:i,fileOffset:r,posIFD:a}=e;if(a+8>=i.byteLength||a<0){if(r=a+r,r<0)throw new l.A("tiffraster:open",`invalid IFD position ${r}. failed to open url ${this.url}`);i=await this._fetchHeaderData(r,r+this._bufferSize/2,t),a=0}return{fileChunk:i,fileOffset:r,posIFD:a}}async _readIFDs(e,t,i,r=4,a){if(!t.posIFD)return null;t=await this._validateOrFetchHeaderBuffer(t,a);let s=await this._readIFD(t,i,Be.NB,r,a);if(!s?.ifd)throw new l.A("tiffraster:open","cannot parse tiff header. failed to open url "+this.url);if(e.push(s.ifd),!s.nextIFD)return null;t.posIFD=s.nextIFD-t.fileOffset,await this._readIFDs(e,t,i,r,a)}async _readIFD(e,t,i=Be.NB,r=4,a){let{fileChunk:s,posIFD:n,fileOffset:o}=e;if(!e.fileChunk)return null;let u=(0,Le.JM)(s,t,n,o,i,r);if(u.success){let{ifd:e}=u;if(!e)throw new l.A("tiffraster:open","cannot parse tiff header. failed to open url "+this.url);if(!(this.ioConfig.loadFullMetadata||i!==Be.NB||e.has("TILEWIDTH")&&e.has("TILELENGTH")))throw new l.A("tiffraster:open",ze);let r=[];e.forEach(e=>{e.values||r.push(e)}),r.length>0&&await this._fillOffsets(r,t,u.nextIFD,a),(0,Le.fM)(e),(0,Le.h_)(e);for(let[i,r]of Be.RR){let l=e.get(i),u=null!=l?.data&&Array.from(l.data.values()).some(e=>null==e.values&&null!=e.offlineOffsetSize);if(l&&(!l.data||u)){n=l.valueOffset-o;let e=await this._validateOrFetchHeaderBuffer({fileChunk:s,posIFD:n,fileOffset:o},a);l.data=(await this._readIFD(e,t,r,4,a))?.ifd}}return u}return u.requiredBufferSize?(s=await this._fetchHeaderData(o,o+n+u.requiredBufferSize+8,a),s.byteLength<n+u.requiredBufferSize?null:(e.fileChunk=s,e.fileOffset=o,this._readIFD(e,t,i,r,a))):null}async _fillOffsets(e,t,i,r){let a=e.filter(e=>null!=e.offlineOffsetSize);if(0===a.length)return;let s=a.map(e=>e.offlineOffsetSize),n=Math.min.apply(null,s.map(e=>e[0])),l=Math.max.apply(null,s.map(e=>e[0]+e[1])),o=1===s.length||l-n<=this._bufferSize;if(!o&&s.length>1&&(s.sort((e,t)=>e[0]-t[0]),o=s.reduce((e,t)=>e===t[0]?t[0]+t[1]:0,s[0][0])===l),o){let e=Math.max(l,n+this._bufferSize/4),i=await this._fetchHeaderData(n,e,r);return void a.forEach(e=>(0,Le.Cr)(i,t,e,n))}let u=a.map(async e=>{let i=e.offlineOffsetSize,a=await this._fetchHeaderData(i[0],i[1]+i[0],r);(0,Le.Cr)(a,t,e,i[0])});await Promise.all(u)}async _fetchOffsets(e,t,i){let r=[],a=this._chunkSize;this._fileSize>0&&(t=Math.min(t,this._fileSize-1));let s=Math.ceil((t-e+1)/a),n=e;for(let e=0;e<s;e++)r.push(this.request(this.url,{range:{from:n,to:e===s-1?t:n+a-1},responseType:"array-buffer",signal:i})),n+=a;let l=await Promise.all(r);if(-1===this._fileSize&&206===l[0].httpStatus){let e=l[0].getHeader?.("Content-Range"),t=Number(e?.split("/")[1]);Number.isFinite(t)&&(this._fileSize=t)}if(1===l.length)return l[0].data;let o=l.reduce((e,t)=>e+t.data.byteLength,0),u=new Uint8Array(o),f=0;for(let e of l)u.set(new Uint8Array(e.data),f),f+=e.data.byteLength;return u.buffer}async _fetchRawTiffTile(e,t,i,r,a={}){let s=this._getTileLocation(e,t,i,r);if(!s)return null;let{ranges:n,actualTileWidth:l,actualTileHeight:o,ifd:u}=s,f=n.map(e=>this.request(this.url,{range:e,responseType:"array-buffer",signal:a.signal})),h=await Promise.all(f),c=h.map(e=>e.data.byteLength).reduce((e,t)=>e+t),p=1===h.length?h[0].data:new ArrayBuffer(c),d=[0],m=[0];if(h.length>1){let e=new Uint8Array(p);for(let t=0,i=0;t<h.length;t++){let r=h[t].data;e.set(new Uint8Array(r),i),d[t]=i,i+=r.byteLength,m[t]=r.byteLength}}let{blockWidth:g,blockHeight:y}=this.getBlockWidthHeight(e),w=await this.decodePixelBlock(p,{format:"tiff",customOptions:{headerInfo:this.headerInfo,ifd:u,offsets:d,sizes:m},width:g,height:y,planes:null,pixelType:null},{signal:a.signal});if(null==w)return null;if(l!==g||o!==y){let e=w.mask;if(e)for(let t=0;t<y;t++){let i=t*g;if(t<o)for(let t=l;t<g;t++)e[i+t]=0;else for(let t=0;t<g;t++)e[i+t]=0}else{e=new Uint8Array(g*y),w.mask=e;for(let t=0;t<o;t++){let i=t*g;for(let t=0;t<l;t++)e[i+t]=1}}}return w}_getTileLocation(e,t,i,r=!1){let{firstPyramidLevel:a,blockBoundary:s}=this.rasterInfo.storageInfo,n=0===e?0:e-(a-1),{headerInfo:l}=this;if(!l)return null;let o=r?l.maskIFDs[n]:0===n?l.ifds[0]:l.pyramidIFDs[n-1];if(!o)return null;let u=(0,Le.XO)(o,l),f=(0,Le.wc)(o,"TILEOFFSETS"),h=(0,Le.wc)(o,"TILEBYTECOUNTS");if(!f?.length||!h?.length)return null;let{minRow:c,minCol:p,maxRow:d,maxCol:m}=s[n];if(t>d||i>m||t<c||i<p)return null;let g=(0,Le.LZ)(o,"IMAGEWIDTH"),y=(0,Le.LZ)(o,"IMAGELENGTH"),w=(0,Le.LZ)(o,"TILEWIDTH"),v=(0,Le.LZ)(o,"TILELENGTH"),x=[];if(u){let{bandCount:e}=this.rasterInfo;for(let r=0;r<e;r++){let e=r*(d+1)*(m+1)+t*(m+1)+i;x[r]={from:f[e],to:f[e]+h[e]-1}}}else{let e=t*(m+1)+i;x.push({from:f[e],to:f[e]+h[e]-1})}for(let e=0;e<x.length;e++)if(null==x[e].from||!x[e].to||x[e].to<0)return null;return{ranges:x,ifd:o,actualTileWidth:i===m&&g%w||w,actualTileHeight:t===d&&y%v||v}}async _fetchAllAuxData(e){if(this.ioConfig.skipMapInfo)return;let{rasterInfo:t}=this,{skipExtensions:i=[]}=this.ioConfig,r=i.includes("aux.xml")?Promise.resolve(null):this._fetchAuxiliaryMetaData(e),a=i.includes("vat.dbf")||1!==t.bandCount||"u8"!==t.pixelType?Promise.resolve(null):this._fetchAuxiliaryTable(e),[s,n]=await Promise.all([r,a]);null!=s&&function(e,t){if(t.statistics=e.statistics??t.statistics,t.histograms=e.histograms,e.histograms&&null==t.statistics&&(t.statistics=(0,K.Pg)(e.histograms)),e.transform&&null==t.transform){t.transform=e.transform,t.nativeExtent=t.extent;let i=t.transform.forwardTransform(t.nativeExtent);t.pixelSize=new xe.A({x:(i.xmax-i.xmin)/t.width,y:(i.ymax-i.ymin)/t.height,spatialReference:t.spatialReference}),t.extent=i}t.isPseudoSpatialReference&&e.spatialReference&&(t.spatialReference=e.spatialReference,t.extent.spatialReference=t.nativeExtent.spatialReference=t.storageInfo.origin.spatialReference=t.spatialReference)}(s,t),null!=n&&(t.attributeTable=n,t.keyProperties.DataType="thematic")}async _fetchAuxiliaryMetaData(e){try{let{data:t}=await this.request(this.url+".aux.xml",{responseType:"xml",signal:e?.signal});return ce(t)}catch{return null}}async _fetchAuxiliaryTable(e){try{let{data:t}=await this.request(this.url+".vat.dbf",{responseType:"array-buffer",signal:e?.signal}),i=Ne(t);return i?.recordSet?ie.A.fromJSON(i.recordSet):null}catch{return null}}};(0,a.Cg)([(0,p.MZ)()],Ee.prototype,"_bufferSize",void 0),(0,a.Cg)([(0,p.MZ)()],Ee.prototype,"_chunkSize",void 0),(0,a.Cg)([(0,p.MZ)()],Ee.prototype,"_fileSize",void 0),(0,a.Cg)([(0,p.MZ)()],Ee.prototype,"_headerChunks",void 0),(0,a.Cg)([(0,p.MZ)({type:String,json:{write:!0}})],Ee.prototype,"datasetFormat",void 0),(0,a.Cg)([(0,p.MZ)()],Ee.prototype,"headerInfo",void 0),Ee=(0,a.Cg)([(0,p.$K)("esri.layers.raster.datasets.TIFFRaster")],Ee);const Je=Ee,He=new Map;He.set("MRF",{desc:"Meta Raster Format",constructor:ke}),He.set("TIFF",{desc:"GeoTIFF",constructor:Je}),He.set("RasterTileServer",{desc:"Raster Tile Server",constructor:Te}),He.set("JPG",{desc:"JPG Raster Format",constructor:we}),He.set("PNG",{desc:"PNG Raster Format",constructor:we}),He.set("GIF",{desc:"GIF Raster Format",constructor:we}),He.set("BMP",{desc:"BMP Raster Format",constructor:we}),He.set("CovJSON",{desc:"COVJSON Raster Format",constructor:ae}),He.set("MEMORY",{desc:"In Memory Raster Format",constructor:te});class $e{static get supportedFormats(){let e=new Set;return He.forEach((t,i)=>e.add(i)),e}static async open(e){let{url:t,ioConfig:i,source:r,sourceJSON:a}=e,s=e.datasetFormat??i?.datasetFormat;s??(t.includes(".")?s=t.slice(t.lastIndexOf(".")+1).toUpperCase():"coverage"===r?.type?.toLowerCase()?s="CovJSON":r?.extent&&r.pixelblocks&&(s="MEMORY")),"OVR"===s||"TIF"===s||"DM"===s?s="TIFF":"JPG"===s||"JPEG"===s||"JFIF"===s?s="JPG":"COVJSON"===s&&(s="CovJSON"),t.toLowerCase().includes("/imageserver")&&!t.toLowerCase().includes("/wcsserver")&&(s="RasterTileServer");let n={url:t,source:r,sourceJSON:a,datasetFormat:s,ioConfig:i??{bandIds:null,sampling:null}};if(Object.keys(n).forEach(e=>{n[e]??delete n[e]}),s){if(!this.supportedFormats.has(s))throw new l.A("rasterfactory:open","not a supported format "+s);if("CRF"===s)throw new l.A("rasterfactory:open",`cannot open raster: ${t}`);let i=new(0,He.get(s).constructor)(n);return i.rasterJobHandler=e.rasterJobHandler,i.rasterInfo=e.rasterInfo,await i.open({signal:e.signal}),i}let o=Array.from(He.keys()).filter(e=>"CovJSON"!==e&&"Memory"!==e),u=0,f=()=>{if(s=o[u++],!s||"CRF"===s)return null;let t=new(0,He.get(s).constructor)(n);return t.rasterJobHandler=e.rasterJobHandler,t.open({signal:e.signal}).then(()=>t).catch(()=>f())};return f()}static register(e,t,i){He.has(e.toUpperCase())||He.set(e.toUpperCase(),{desc:t,constructor:i})}}var Ue=i(99235),Ze=i(10873),je=i(20437),qe=i(74797),Ve=i(22796),Ge=i(69409);const We={instance:null,refCount:0,connectionPromise:null};async function Xe(){if(We.refCount++,We.instance)return We.instance;if(!We.connectionPromise){let e=new Ge.A;We.connectionPromise=e.initialize().then(()=>{We.instance=e})}return await We.connectionPromise,We.instance}function Ke(){We.refCount--,We.refCount>0||(We.instance?.destroy(),We.instance=null,We.connectionPromise=null,We.refCount=0)}var Ye=i(24212),Qe=i(30291),et=i(88625),tt=i(59923);let it=class extends((0,C.dM)((0,O.j)((0,A.q)((0,_.A)((0,R.H)((0,S.d)((0,k.b)((0,T.G)((0,F.e)((0,I.b)((0,M.J)((0,f.M)((0,n.OU)(b.A)))))))))))))){constructor(...e){super(...e),this._primaryRasters=[],this.charts=null,this.graphicOrigin=new x(this),this.legendEnabled=!0,this.isReference=null,this.listMode="show",this.sourceJSON=null,this.version=null,this.type="imagery-tile",this.operationalLayerType="ArcGISTiledImageServiceLayer",this.popupEnabled=!0,this.popupTemplate=null,this.screenSizePerspectiveEnabled=!0,this.fields=null,this.source=void 0,this._debouncedSaveOperations=(0,h.sg)(async(e,t,r)=>{let{save:a,saveAs:s}=await i.e(9838).then(()=>i(59838));switch(e){case 0:return a(this,t);case 1:return s(this,r,t)}})}normalizeCtorArgs(e,t){return"string"==typeof e?{url:e,...t}:e}load(e){let t=null==e?null:e.signal;return this.addResolvingPromise(this.loadFromPortal({supportedTypes:["Image Service"]},e).catch(h.QP).then(()=>this._openRaster(t))),Promise.resolve(this)}destroy(){super.destroy(),this._releaseWorkerHandle=(0,u.xt)(this._releaseWorkerHandle)}set elevationInfo(e){"relative-to-scene"!==e?.mode&&this._set("elevationInfo",e),this._validateElevationInfo(e)}get defaultPopupTemplate(){return this.createPopupTemplate()}get rasterFields(){let e=[(0,qe.rZ)("Pixel Value"),(0,qe.dy)("Raw Pixel Value")],t=this.raster?.rasterInfo??this.serviceRasterInfo,i=t?.attributeTable;if(i){let t=(0,qe.jC)(i);e.push(...t)}let r=t?.dataType,a=t?.multidimensionalInfo;if(("vector-magdir"===r||"vector-uv"===r)&&null!=a){let t=a.variables[0].unit?.trim(),i=(0,qe.DV)(t),r=(0,qe.y6)();e.push(i,r)}if(a){let t=(0,qe.AL)(a);e.push(...t)}return e}get renderer(){return super.renderer}set renderer(e){super.renderer=e}createPopupTemplate(e){let{rasterFields:t}=this,i=e?.visibleFieldNames??new Set(t.map(({name:e})=>e).filter(e=>e!==qe.F_.rawServicePixelValue)),r=(0,Qe.tn)({fields:t,title:this.title},{...e,visibleFieldNames:i}),{rasterInfo:a}=this.raster;return r?.fieldInfos&&a&&(0,qe.h4)(r.fieldInfos,a),r}async generateRasterInfo(e,t){let i=(0,d.PZ)(Ve.A,e);if(await this.load(),!i||"none"===i.functionName?.toLowerCase())return this.serviceRasterInfo;try{let{rasterInfo:e}=await this._openFunctionRaster(i,t);return e}catch(e){throw e instanceof l.A?e:new l.A("imagery-tile-layer","the given raster function is not supported")}}async save(e){return this._debouncedSaveOperations(0,e)}async saveAs(e,t){return this._debouncedSaveOperations(1,t,e)}supportsExportMapTiles(){let e=this._primaryRasters[0]??this.raster,t="RasterTileServer"===e?.datasetFormat,i=!!this.sourceJSON?.exportTilesAllowed,r=this.sourceJSON?.datasetFormat?.toLowerCase(),a=!/\/tiledimageservices[^.]*\.arcgis\.com/i.test(this.url)&&"Raster"===e?.tileType&&("cache/jpegplus"===r||"cache/jpegpng"===r);return t&&i&&("Map"===e?.tileType||a)}supportsWrite(){let e=this._primaryRasters[0]??this.raster;return!!(this.loaded?"RasterTileServer"===e.datasetFormat&&("Raster"===e.tileType||"Map"===e.tileType):this.url&&/\/ImageServer(\/|\/?$)/i.test(this.url))}write(e,t){return this.supportsWrite()?super.write(e,t):((0,tt.U4)(t,this),null)}async hasDataChanged(){try{let e=this._primaryRasters[0]??this.raster,{dataChanged:t,updates:i}=await e.refresh();return t&&(this.serviceRasterInfo!==e.rasterInfo&&this._set("serviceRasterInfo",e.rasterInfo),e.sourceJSON&&this.sourceJSON!==e.sourceJSON&&(this.sourceJSON=e.sourceJSON),i&&this.read(i,{origin:"service",url:this.parsedUrl,ignoreDefaults:!0})),t}catch{return!1}}async _openRaster(e){let t=!1;if(this.raster)await this._openFromRaster(this.raster,e),t=(0,P.qg)(this.raster),!t&&this.rasterFunction&&(this._primaryRasters=[this.raster],await this._initializeWithFunctionRaster(this.rasterFunction));else{let{url:t,rasterFunction:i,source:r}=this;if(!t&&!r)throw new l.A("imagery-tile-layer:open","missing url or source parameter");r?await this._openFromSource(r,e):i?await this._openFromUrlWithRasterFunction(t,i,e):await this._openFromUrl(t,e)}let i=this.raster.rasterInfo;if(!i)throw new l.A("imagery-tile-layer:load","cannot load resources on "+this.url);if(this._set("serviceRasterInfo",t?i:this._primaryRasters[0].rasterInfo),this._set("spatialReference",i.spatialReference),this.sourceJSON=this.sourceJSON||this.raster.sourceJSON,null!=this.sourceJSON){let e="Map"===this.raster.tileType&&null!=this.sourceJSON.minLOD&&null!=this.sourceJSON.maxLOD?this.sourceJSON:{...this.sourceJSON,minScale:0,maxScale:0};this.read(e,{origin:"service"})}else this.read({tileInfo:this.serviceRasterInfo?.storageInfo.tileInfo.toJSON()},{origin:"service"});this.title||=this.raster.datasetName,"Map"===this.raster.tileType&&(this.popupEnabled=!1),this._configDefaultSettings(),this.addHandles((0,c.wB)(()=>this.customParameters,e=>{this.raster&&(this.raster.ioConfig.customFetchParameters=e)}))}async _openFromRaster(e,t){e.rasterInfo||await e.open({signal:t}),this._primaryRasters=(0,P.pb)(e),this.url||=this._primaryRasters[0].url}async _openFromUrlWithRasterFunction(e,t,i){let r,a=[e];t&&(0,Ue.UD)(t.toJSON(),a),a.some(e=>at(e,this.ioConfig))&&(r=await Xe(),this._releaseWorkerHandle={remove:()=>Ke()});let s=await Promise.all(a.map(e=>$e.open({url:e,rasterInfo:1===a.length?this.serviceRasterInfo:void 0,sourceJSON:1===a.length?this.sourceJSON:void 0,ioConfig:{sampling:"closest",...this.ioConfig,customFetchParameters:this.customParameters},rasterJobHandler:r,signal:i}))),n=s.findIndex(e=>null==e);if(n>-1)throw new l.A("imagery-tile-layer:open",`cannot open raster: ${a[n]}`);return this._primaryRasters=s,this._initializeWithFunctionRaster(t)}async _openFromUrl(e,t){let i;at(e,this.ioConfig)&&(i=await Xe(),this._releaseWorkerHandle={remove:()=>Ke()});let r=await $e.open({url:e,rasterInfo:this.serviceRasterInfo,sourceJSON:this.sourceJSON,ioConfig:{sampling:"closest",...this.ioConfig,customFetchParameters:this.customParameters},rasterJobHandler:i,signal:t});if(null==r)throw new l.A("imagery-tile-layer:open",`cannot open raster: ${e}`);this._primaryRasters=[r],this.raster=r}async _openFromSource(e,t){let i="the tiled imagery data source is not supported",r="coverage"===e.type?.toLowerCase()?"CovJSON":e.extent&&e.pixelBlock?"MEMORY":null;if(!r)throw new l.A("imagery-tile-layer:open",i);"MEMORY"===r&&(e={...e,pixelBlock:void 0,pixelBlocks:[e.pixelBlock]});let a=await $e.open({url:"",source:e,datasetFormat:r,ioConfig:{sampling:"closest",...this.ioConfig,customFetchParameters:this.customParameters},signal:t});if(null==a)throw new l.A("imagery-tile-layer:open",i);this._primaryRasters=[a],this.rasterFunction?await this._initializeWithFunctionRaster(this.rasterFunction):this.raster=a}async _openFunctionRaster(e,t){let i={raster:this._primaryRasters[0]};this._primaryRasters.length>1&&this._primaryRasters.forEach(e=>i[e.url]=e);let r=(0,Ue.vt)(e.functionDefinition?.toJSON()??e.toJSON(),i),a=new D.A({rasterFunction:r});return await a.open(t),a}async _initializeWithFunctionRaster(e,t){try{this.raster=await this._openFunctionRaster(e,t)}catch(e){e instanceof l.A&&o.A.getLogger(this).error("imagery-tile-layer:open",e.message),o.A.getLogger(this).warn("imagery-tile-layer:open","the raster function cannot be applied and is removed"),this._set("rasterFunction",null),this.raster=this._primaryRasters[0]}}_validateElevationInfo(e){(0,Ye.XF)(o.A.getLogger(this),(0,Ye.$7)("ImageryTile layers","relative-to-scene",e)),(0,Ye.XF)(o.A.getLogger(this),(0,Ye.tW)("ImageryTile layers",e))}};(0,a.Cg)([(0,p.MZ)({clonable:!1})],it.prototype,"_primaryRasters",void 0),(0,a.Cg)([(0,p.MZ)({clonable:!1})],it.prototype,"_releaseWorkerHandle",void 0),(0,a.Cg)([(0,p.MZ)({json:{origins:{"web-scene":{write:!1}},write:!0}})],it.prototype,"charts",void 0),(0,a.Cg)([(0,p.MZ)({type:et.A,value:null,json:{name:"layerDefinition.elevationInfo",write:!0,origins:{"portal-item":{read:!1,write:!1},"web-map":{read:!1,write:!1}}}})],it.prototype,"elevationInfo",null),(0,a.Cg)([(0,p.MZ)({type:Ce.A})],it.prototype,"tileInfo",void 0),(0,a.Cg)([(0,p.MZ)({readOnly:!0,clonable:!1})],it.prototype,"graphicOrigin",void 0),(0,a.Cg)([(0,p.MZ)(Ze.fV)],it.prototype,"legendEnabled",void 0),(0,a.Cg)([(0,p.MZ)({type:Boolean,json:{read:!1,write:{enabled:!0,overridePolicy:()=>({enabled:!1})}}})],it.prototype,"isReference",void 0),(0,a.Cg)([(0,p.MZ)({type:["show","hide"]})],it.prototype,"listMode",void 0),(0,a.Cg)([(0,p.MZ)({json:{read:!0,write:!0}})],it.prototype,"blendMode",void 0),(0,a.Cg)([(0,p.MZ)({type:Ve.A,json:{name:"renderingRule",write:!0}})],it.prototype,"rasterFunction",void 0),(0,a.Cg)([(0,p.MZ)()],it.prototype,"sourceJSON",void 0),(0,a.Cg)([(0,p.MZ)({readOnly:!0,json:{origins:{service:{read:{source:"currentVersion"}}}}})],it.prototype,"version",void 0),(0,a.Cg)([(0,p.MZ)({readOnly:!0,json:{read:!1}})],it.prototype,"type",void 0),(0,a.Cg)([(0,p.MZ)({type:["ArcGISTiledImageServiceLayer"]})],it.prototype,"operationalLayerType",void 0),(0,a.Cg)([(0,p.MZ)({type:Boolean,value:!0,json:{read:{source:"disablePopup",reader:(e,t)=>!t.disablePopup},write:{target:"disablePopup",overridePolicy(){return{enabled:!this.loaded||"Raster"===this.raster.tileType}},writer(e,t,i){t[i]=!e}}}})],it.prototype,"popupEnabled",void 0),(0,a.Cg)([(0,p.MZ)({type:s.A,json:{read:{source:"popupInfo"},write:{target:"popupInfo",overridePolicy(){return{enabled:!this.loaded||"Raster"===this.raster.tileType}}}}})],it.prototype,"popupTemplate",void 0),(0,a.Cg)([(0,p.MZ)({readOnly:!0})],it.prototype,"defaultPopupTemplate",null),(0,a.Cg)([(0,p.MZ)(Ze.PY)],it.prototype,"screenSizePerspectiveEnabled",void 0),(0,a.Cg)([(0,p.MZ)({readOnly:!0,type:[je.A]})],it.prototype,"fields",void 0),(0,a.Cg)([(0,p.MZ)({readOnly:!0,type:[je.A]})],it.prototype,"rasterFields",null),(0,a.Cg)([(0,p.MZ)({constructOnly:!0})],it.prototype,"source",void 0),it=(0,a.Cg)([(0,p.$K)("esri.layers.ImageryTileLayer")],it);const rt=it;function at(e,t){let{tileGeneration:i}=t??{};return"immediate"===i||/\.(png|gif|bmp)$/i.test(e)}},18768(e,t,i){var r=i(32198),a=i(53966),s=i(91429),n=i(60694);i.d(t,["b",0,e=>{let t=e,i=class extends t{get title(){if(this._get("title")&&"defaults"!==this.originOf("title"))return this._get("title");if(this.url){let e=(0,n.qg)(this.url);if(e?.title)return e.title}return this._get("title")||""}set title(e){this._set("title",e)}set url(e){this._set("url",(0,n.Jf)(e,a.A.getLogger(this)))}};return(0,r.Cg)([(0,s.MZ)()],i.prototype,"title",null),(0,r.Cg)([(0,s.MZ)({type:String})],i.prototype,"url",null),i=(0,r.Cg)([(0,s.$K)("esri.layers.mixins.ArcGISService")],i),i}])},56551(e,t,i){i.d(t,{H:()=>h});var r=i(32198),a=i(91429),s=i(69540),n=i(25482),l=i(78888),o=i(94359),u=i(93223);let f=class extends((0,s.OU)(n.o)){constructor(e){super(e),this.name=void 0,this.method="none",this.value=void 0,this.bandIds=void 0,this.renderer=void 0}};(0,r.Cg)([(0,a.MZ)({type:String,json:{write:{isRequired:!0}}})],f.prototype,"name",void 0),(0,r.Cg)([(0,a.MZ)({type:["raster-function-template","variable","none"],json:{write:{isRequired:!0}}}),(0,u.e)({rasterFunctionTemplate:"raster-function-template",variable:"variable",none:"none"})],f.prototype,"method",void 0),(0,r.Cg)([(0,a.MZ)({type:String,json:{write:{isRequired:!0}}})],f.prototype,"value",void 0),(0,r.Cg)([(0,a.MZ)({type:[l.jz],json:{write:{isRequired:!0}}})],f.prototype,"bandIds",void 0),(0,r.Cg)([(0,a.MZ)({types:o.uy,json:{write:!0,origins:{"web-scene":{types:o.Gj,write:{overridePolicy:e=>({enabled:e&&"vector-field"!==e.type})}}}}})],f.prototype,"renderer",void 0),f=(0,r.Cg)([(0,a.$K)("esri.renderers.support.RasterPresetRenderer")],f);const h=e=>{let t=e,i=class extends t{constructor(){super(...arguments),this.activePresetRendererName=null,this.presetRenderers=null}};return(0,r.Cg)([(0,a.MZ)({type:String,json:{name:"layerDefinition.activePresetRendererName",write:{allowNull:!0}}})],i.prototype,"activePresetRendererName",void 0),(0,r.Cg)([(0,a.MZ)({type:[f],json:{name:"layerDefinition.presetRenderers",write:!0}})],i.prototype,"presetRenderers",void 0),i=(0,r.Cg)([(0,a.$K)("esri.layers.mixins.RasterPresetRendererMixin")],i),i}},10333(e,t,i){i.d(t,{A:()=>n});var r=i(32198),a=i(25482),s=i(91429);let n=class extends a.o{get affectsPixelSize(){return!1}forwardTransform(e){return e}inverseTransform(e){return e}};(0,r.Cg)([(0,s.MZ)()],n.prototype,"affectsPixelSize",null),(0,r.Cg)([(0,s.MZ)({json:{write:!0}})],n.prototype,"spatialReference",void 0),n=(0,r.Cg)([(0,s.$K)("esri.layers.raster.transforms.BaseRasterTransform")],n)},75414(e,t,i){i.d(t,{A:()=>o});var r,a=i(32198),s=i(91429),n=i(10333),l=i(93223);let o=r=class extends n.A{constructor(){super(...arguments),this.type="gcs-shift",this.tolerance=1e-8}forwardTransform(e){return"point"===(e=e.clone()).type?(e.x>180+this.tolerance&&(e.x-=360),e):(e.xmin>=180-this.tolerance?(e.xmax-=360,e.xmin-=360):e.xmax>180+this.tolerance&&(e.xmin=-180,e.xmax=180),e)}inverseTransform(e){return"point"===(e=e.clone()).type?(e.x<-this.tolerance&&(e.x+=360),e):(e.xmin<-this.tolerance&&(e.xmin+=360,e.xmax+=360),e)}clone(){return new r({tolerance:this.tolerance})}};(0,a.Cg)([(0,l.e)({GCSShiftXform:"gcs-shift"})],o.prototype,"type",void 0),(0,a.Cg)([(0,s.MZ)()],o.prototype,"tolerance",void 0),o=r=(0,a.Cg)([(0,s.$K)("esri.layers.raster.transforms.GCSShiftTransform")],o)},43163(e,t,i){i.d(t,{A:()=>d});var r,a=i(32198),s=i(91429),n=i(5443),l=i(86738),o=i(10333),u=i(36005),f=i(43937),h=i(93223);function c(e,t,i){let{x:r,y:a}=t;if(i<2)return{x:e[0]+r*e[2]+a*e[4],y:e[1]+r*e[3]+a*e[5]};if(2===i){let t=r*r,i=a*a,s=r*a;return{x:e[0]+r*e[2]+a*e[4]+t*e[6]+s*e[8]+i*e[10],y:e[1]+r*e[3]+a*e[5]+t*e[7]+s*e[9]+i*e[11]}}let s=r*r,n=a*a,l=r*a,o=s*r,u=s*a,f=r*n,h=a*n;return{x:e[0]+r*e[2]+a*e[4]+s*e[6]+l*e[8]+n*e[10]+o*e[12]+u*e[14]+f*e[16]+h*e[18],y:e[1]+r*e[3]+a*e[5]+s*e[7]+l*e[9]+n*e[11]+o*e[13]+u*e[15]+f*e[17]+h*e[19]}}function p(e,t,i){let{xmin:r,ymin:a,xmax:s,ymax:l,spatialReference:o}=t,u=[];if(i<2)u.push({x:r,y:l}),u.push({x:s,y:l}),u.push({x:r,y:a}),u.push({x:s,y:a});else{let e=10;for(let t=0;t<e;t++)u.push({x:r,y:a+(l-a)*t/(e-1)}),u.push({x:s,y:a+(l-a)*t/(e-1)});e=8;for(let t=1;t<=e;t++)u.push({x:r+(s-r)*t/e,y:a}),u.push({x:r+(s-r)*t/e,y:l})}u=u.map(t=>c(e,t,i));let f=u.map(e=>e.x),h=u.map(e=>e.y);return new n.A({xmin:Math.min.apply(null,f),xmax:Math.max.apply(null,f),ymin:Math.min.apply(null,h),ymax:Math.max.apply(null,h),spatialReference:o})}let d=r=class extends o.A{constructor(){super(...arguments),this.polynomialOrder=1,this.type="polynomial"}readForwardCoefficients(e,t){let{coeffX:i,coeffY:r}=t;if(!i?.length||!r?.length||i.length!==r.length)return null;let a=[];for(let e=0;e<i.length;e++)a.push(i[e]),a.push(r[e]);return a}writeForwardCoefficients(e,t,i){let r=[],a=[];for(let t=0;t<e?.length;t++)t%2==0?r.push(e[t]):a.push(e[t]);t.coeffX=r,t.coeffY=a}get inverseCoefficients(){let e=this._get("inverseCoefficients"),t=this._get("forwardCoefficients");return!e&&t&&this.polynomialOrder<2&&(e=function(e){let[t,i,r,a,s,n]=e,l=r*n-s*a,o=s*a-r*n;return[(s*i-t*n)/l,(r*i-t*a)/o,n/l,a/o,-s/l,-r/o]}(t)),e}set inverseCoefficients(e){this._set("inverseCoefficients",e)}readInverseCoefficients(e,t){let{inverseCoeffX:i,inverseCoeffY:r}=t;if(!i?.length||!r?.length||i.length!==r.length)return null;let a=[];for(let e=0;e<i.length;e++)a.push(i[e]),a.push(r[e]);return a}writeInverseCoefficients(e,t,i){let r=[],a=[];for(let t=0;t<e?.length;t++)t%2==0?r.push(e[t]):a.push(e[t]);t.inverseCoeffX=r,t.inverseCoeffY=a}get affectsPixelSize(){return this.polynomialOrder>0}forwardTransform(e){if("point"===e.type){let t=c(this.forwardCoefficients,e,this.polynomialOrder);return new l.A({x:t.x,y:t.y,spatialReference:e.spatialReference})}return p(this.forwardCoefficients,e,this.polynomialOrder)}inverseTransform(e){if("point"===e.type){let t=c(this.inverseCoefficients,e,this.polynomialOrder);return new l.A({x:t.x,y:t.y,spatialReference:e.spatialReference})}return p(this.inverseCoefficients,e,this.polynomialOrder)}clone(){return new r({polynomialOrder:this.polynomialOrder,forwardCoefficients:this.forwardCoefficients?[...this.forwardCoefficients]:null,inverseCoefficients:this.inverseCoefficients?[...this.inverseCoefficients]:null})}};(0,a.Cg)([(0,s.MZ)({json:{write:!0}})],d.prototype,"polynomialOrder",void 0),(0,a.Cg)([(0,s.MZ)()],d.prototype,"forwardCoefficients",void 0),(0,a.Cg)([(0,u.w)("forwardCoefficients",["coeffX","coeffY"])],d.prototype,"readForwardCoefficients",null),(0,a.Cg)([(0,f.K)("forwardCoefficients")],d.prototype,"writeForwardCoefficients",null),(0,a.Cg)([(0,s.MZ)({json:{write:!0}})],d.prototype,"inverseCoefficients",null),(0,a.Cg)([(0,u.w)("inverseCoefficients",["inverseCoeffX","inverseCoeffY"])],d.prototype,"readInverseCoefficients",null),(0,a.Cg)([(0,f.K)("inverseCoefficients")],d.prototype,"writeInverseCoefficients",null),(0,a.Cg)([(0,s.MZ)()],d.prototype,"affectsPixelSize",null),(0,a.Cg)([(0,h.e)({PolynomialXform:"polynomial"})],d.prototype,"type",void 0),d=r=(0,a.Cg)([(0,s.$K)("esri.layers.raster.transforms.PolynomialTransform")],d)},25943(e,t,i){i.d(t,{d:()=>I});var r,a=i(32198),s=i(56507),n=i(69622),l=i(49186),o=i(36563),u=(i(44208),i(66344)),f=i(15142),h=i(17676),c=i(36708),p=i(76030),d=i(84952),m=i(91429),g=i(72802),y=i(4718),w=i(69397);class v{constructor(e){!function(e){if(!e?.location)throw new l.A("tilemap:missing-location","Location missing from tilemap response");if(!1===e.valid)throw new l.A("tilemap:invalid","Tilemap response was marked as invalid");if(!e.data)throw new l.A("tilemap:missing-data","Data missing from tilemap response");if(!Array.isArray(e.data))throw new l.A("tilemap:data-mismatch","Data must be an array of numbers");if(e.data.length!==e.location.width*e.location.height)throw new l.A("tilemap:data-mismatch","Number of data items does not match width/height of tilemap")}(e);let{location:t,data:i}=e;this.location=Object.freeze((0,y.o8)(t));let r=this.location.width,a=this.location.height,s=!0,n=!0,o=function(e,t=!1){return e<=1024?t?Array(e).fill(0):Array(e):new Uint32Array(e)}(Math.ceil(r*a/32)),u=0;for(let e=0;e<i.length;e++){let t=e%32;i[e]?(n=!1,o[u]|=1<<t):s=!1,31===t&&++u}n?(this._availability="unavailable",this.byteSize=40):s?(this._availability="available",this.byteSize=40):(this._availability=o,this.byteSize=40+(0,w.Qf)(o))}getAvailability(e,t){if("unavailable"===this._availability||"available"===this._availability)return this._availability;let i=(e-this.location.top)*this.location.width+(t-this.location.left),r=i%32,a=i>>5,s=this._availability;return a<0||a>s.length?"unknown":s[a]&1<<r?"available":"unavailable"}static fromDefinition(e,t){let i=e.service.request||s.A,{row:r,col:a,width:n,height:o}=e,u={query:{f:"json"}};return t=t?{...u,...t}:u,i(function(e){let t;if(e.service.tileServers?.length){let i=e.service.tileServers;t=`${i&&i.length?i[e.row%i.length]:e.service.url}/tilemap/${e.level}/${e.row}/${e.col}/${e.width}/${e.height}`}else t=`${e.service.url}/tilemap/${e.level}/${e.row}/${e.col}/${e.width}/${e.height}`;let i=e.service.query;return i&&(t=`${t}?${i}`),t}(e),t).then(e=>e.data).catch(e=>{if(422===e?.details?.httpStatus)return{location:{top:r,left:a,width:n,height:o},valid:!0,data:Array(n*o).fill(0)};throw e}).then(e=>{if(e.location&&(e.location.top!==r||e.location.left!==a||e.location.width!==n||e.location.height!==o))throw new l.A("tilemap:location-mismatch","Tilemap response for different location than requested",{response:e,definition:{top:r,left:a,width:n,height:o}});return v.fromJSON(e)})}static fromJSON(e){return Object.freeze(new v(e))}}function x(e){return`${e.level}/${e.row}/${e.col}/${e.width}/${e.height}`}function b(e,t,i){return new l.A("tile-map:tile-unavailable","Tile is not available",{level:e,row:t,col:i})}let I=class extends n.A{static{r=this}constructor(e){super(e),this._pendingTilemapRequests={},this.request=s.A,this.size=32,this._prefetchingEnabled=!0}initialize(){this._tilemapCache=new u.q(2097152),this.addHandles((0,c.wB)(()=>{let{layer:e}=this;return[e?.parsedUrl,e?.tileServers,e?.apiKey,e?.customParameters]},()=>this._initializeTilemapDefinition(),c.Vh))}get effectiveMinLOD(){return this.minLOD??this.layer.tileInfo.lods[0].level}get effectiveMaxLOD(){return this.maxLOD??this.layer.tileInfo.lods[this.layer.tileInfo.lods.length-1].level}getAvailability(e,t,i){if(!this.layer.tileInfo.lodAt(e)||e<this.effectiveMinLOD||e>this.effectiveMaxLOD)return"unavailable";let r=this._tilemapFromCache(e,t,i,this._tmpTilemapDefinition);return r?r.getAvailability(t,i):"unknown"}fetchAvailability(e,t,i,r){return!this.layer.tileInfo.lodAt(e)||e<this.effectiveMinLOD||e>this.effectiveMaxLOD?Promise.reject(b(e,t,i)):this._fetchTilemap(e,t,i,r).catch(e=>e).then(r=>{if(r instanceof v){let a=r.getAvailability(t,i);if("unavailable"===a)throw b(e,t,i);return a}if((0,h.zf)(r))throw r;return"unknown"})}fetchAvailabilityUpsample(e,t,i,r,a){r.level=e,r.row=t,r.col=i;let s=this.layer.tileInfo;s.updateTileInfo(r);let n=this.fetchAvailability(e,t,i,a).catch(e=>{if((0,h.zf)(e))throw e;if(s.upsampleTile(r))return this.fetchAvailabilityUpsample(r.level,r.row,r.col,r,a);throw e});return this._fetchAvailabilityUpsamplePrefetch(e,t,i,a,n),n}async _fetchAvailabilityUpsamplePrefetch(e,t,i,a,s){if(!this._prefetchingEnabled)return;let n=`prefetch-${e}-${t}-${i}`;if(this.hasHandles(n))return;let l=new AbortController;s.then(()=>l.abort(),()=>l.abort());let u=!1,f=(0,o.hA)(()=>{u||(u=!0,l.abort())});if(this.addHandles(f,n),await(0,p.md)(10,l.signal).catch(()=>{}),u||(u=!0,this.removeHandles(n)),(0,h.G4)(l))return;let c=new g.U(e,t,i),d={...a,signal:l.signal},m=this.layer.tileInfo;for(let e=0;r._prefetches.length<r._maxPrefetch&&m.upsampleTile(c);++e){let e=this.fetchAvailability(c.level,c.row,c.col,d);r._prefetches.push(e);let t=()=>{r._prefetches.removeUnordered(e)};e.then(t,t)}}static{this._maxPrefetch=4}static{this._prefetches=new f.A({initialSize:r._maxPrefetch})}static cleanupTilemapCache(){this._prefetches.prune()}_fetchTilemap(e,t,i,r){if(!this.layer.tileInfo.lodAt(e)||e<this.effectiveMinLOD||e>this.effectiveMaxLOD)return Promise.reject(new l.A("tilemap-cache:level-unavailable",`Level ${e} is unavailable in the service`));let a=this._tmpTilemapDefinition,s=this._tilemapFromCache(e,t,i,a);if(s)return Promise.resolve(s);let n=r?.signal;return r={...r,signal:null},new Promise((e,t)=>{(0,h.u7)(n,()=>t((0,h.NK)()));let i=x(a),s=this._pendingTilemapRequests[i];if(!s){s=v.fromDefinition(a,r).then(e=>(this._tilemapCache.put(i,e,e.byteSize),e));let e=()=>{delete this._pendingTilemapRequests[i]};this._pendingTilemapRequests[i]=s,s.then(e,e)}s.then(e,t)})}_initializeTilemapDefinition(){if(!this.layer.parsedUrl)return;let{parsedUrl:e,apiKey:t,customParameters:i}=this.layer;this._tilemapCache.clear(),this._tmpTilemapDefinition={service:{url:e.path,query:(0,d.x0)({...e.query,...i,token:t??e.query?.token}),tileServers:this.layer.tileServers,request:this.request},width:this.size,height:this.size,level:0,row:0,col:0}}_tilemapFromCache(e,t,i,r){r.level=e,r.row=t-t%this.size,r.col=i-i%this.size;let a=x(r);return this._tilemapCache.get(a)}get test(){}};(0,a.Cg)([(0,m.MZ)({constructOnly:!0})],I.prototype,"layer",void 0),(0,a.Cg)([(0,m.MZ)({constructOnly:!0})],I.prototype,"minLOD",void 0),(0,a.Cg)([(0,m.MZ)({constructOnly:!0})],I.prototype,"maxLOD",void 0),(0,a.Cg)([(0,m.MZ)({constructOnly:!0})],I.prototype,"request",void 0),(0,a.Cg)([(0,m.MZ)({constructOnly:!0})],I.prototype,"size",void 0),I=r=(0,a.Cg)([(0,m.$K)("esri.layers.support.TilemapCache")],I)},82371(e,t,i){i.d(t,{E9:()=>d,Tw:()=>c,X6:()=>p});var r=i(56507),a=i(5443),s=i(86738),n=i(16930),l=i(87186),o=i(20223),u=i(2272),f=i(22671);async function h(e,t,i){let h=(0,u.Dl)(e),{rasterFunction:c,sourceJSON:p}=t||{},d=c?JSON.stringify(c.rasterFunctionDefinition||c):null,m=(0,u.lF)({...h.query,renderingRule:d,f:"json"}),g=(0,u.jV)(m,i);e=h.path;let y=p||await(0,r.A)(e,g).then(e=>e.data),{currentVersion:w}=y,v=y.hasRasterAttributeTable?(0,r.A)(`${e}/rasterAttributeTable`,g):null,x=y.hasColormap?(0,r.A)(`${e}/colormap`,g):null,b=y.hasHistograms?(0,r.A)(`${e}/histograms`,g):null,I=w>=10.3?(0,r.A)(`${e}/keyProperties`,g):null,C=y.hasMultidimensions?(0,r.A)(`${e}/multidimensionalInfo`,g):null,S=(c?w>=10.91:w>=10.81)?(0,r.A)(`${e}/statistics`,g):null,A=await Promise.allSettled([v,x,b,I,C,S]),_=a.A.fromJSON(y.extent),T=Math.ceil(_.width/y.pixelSizeX-.1),R=Math.ceil(_.height/y.pixelSizeY-.1),M=n.A.fromJSON(y.spatialReference||y.extent.spatialReference),O="fulfilled"===A[0].status?A[0].value?.data:null,F=O?.features?.length?f.A.fromJSON(O):null,k="fulfilled"===A[1].status?A[1].value?.data.colormap:null,P=k?.length?k:null,D="fulfilled"===A[2].status?A[2].value?.data.histograms:null,N=D?.[0]?.counts?.length?D:null,L="fulfilled"===A[3].status?A[3].value?.data??{}:{},B="fulfilled"===A[4].status?A[4].value?.data.multidimensionalInfo:null,z=B?.variables?.length?B:null;var E;(E=z)&&E.variables.forEach(e=>{e.statistics?.length&&e.statistics.forEach(e=>{e.avg=e.mean,e.stddev=e.standardDeviation}),e.dimensions?.forEach(e=>{"StdTime"===e.name&&!e.recurring&&!e.unit&&(e.unit="ISO8601")})});let J=function(e,t){let i=null;t&&t.length===e.bandCount&&(i=t.map(e=>{let t=e.covariances?.trim(),i=t?t.split(",").map(Number):void 0;return{avg:e.mean,count:e.count,max:e.max,median:e.median,min:e.min,mode:e.mode,stddev:e.standardDeviation,sum:e.sum,covariances:i}}));let r=e.minValues?.length===e.bandCount?e.minValues.map((t,i)=>({min:t,max:e.maxValues[i],avg:e.meanValues[i],stddev:e.stdvValues[i]})):null;return null==r||null==i||i.some((e,t)=>e.min!==r[t]?.min||e.max!==r[t]?.max||e.avg!==r[t]?.avg||e.stddev!==r[t]?.stddev)?r:i}(y,"fulfilled"===A[5].status?A[5].value?.data.statistics:null),{defaultVariable:H,serviceDataType:$}=y;H&&H!==L.DefaultVariable&&(L.DefaultVariable=H),$?.includes("esriImageServiceDataTypeVector")&&!$.includes(L.DataType)&&(L.DataType=$.replace("esriImageServiceDataType",""));let U=y.noDataValue;y.noDataValues?.length&&y.noDataValues.some(e=>e!==U)&&(U=y.noDataValues);let Z=y.transposeInfo?new o.A({blockWidth:256,blockHeight:256,pyramidBlockWidth:256,pyramidBlockHeight:256,pyramidScalingFactor:2,compression:"lerc",origin:new s.A({x:y.extent.xmin,y:y.extent.ymax,spatialReference:M}),firstPyramidLevel:1,maximumPyramidLevel:Math.max(0,Math.round(Math.log(Math.max(T,R))/Math.LN2-8)),transposeInfo:y.transposeInfo}):void 0;return new l.A({width:T,height:R,bandCount:y.bandCount,extent:a.A.fromJSON(y.extent),spatialReference:M,pixelSize:new s.A({x:y.pixelSizeX,y:y.pixelSizeY,spatialReference:M}),pixelType:y.pixelType.toLowerCase(),statistics:J,attributeTable:F,colormap:P,histograms:N,keyProperties:L,noDataValue:U,multidimensionalInfo:z,storageInfo:Z})}function c(e,t,i){return h(e,{sourceJSON:t},i)}function p(e,t,i){return h(e,{rasterFunction:t},i)}function d(e,t){e.attributeTable||(t.hasRasterAttributeTable=!1),e.histograms||(t.hasHistograms=!1),e.colormap||(t.hasColormap=!1),e.multidimensionalInfo||(t.hasMultidimensions=!1)}},2272(e,t,i){i.d(t,{Dl:()=>u,gf:()=>h,jV:()=>o,lF:()=>f});var r=i(92602),a=i(70333),s=i(4718),n=i(84952),l=i(926);function o(e,t){return t?{...t,query:{...e,...t.query}}:{query:e}}function u(e){return"string"==typeof e?(0,n.An)(e):(0,s.o8)(e)}function f(e,t,i){let r={};for(let a in e){if("declaredClass"===a)continue;let s=e[a];if(null!=s&&"function"!=typeof s)if(Array.isArray(s))r[a]=s.map(e=>f(e));else if("object"==typeof s)if(s.toJSON){let e=s.toJSON(i?.[a]);r[a]=t?e:JSON.stringify(e)}else r[a]=t?s:JSON.stringify(s);else r[a]=s}return r}async function h(e,t,s){return function(e,t){return e?t&&(0,l.Qc)(e)?t:(0,l.getApiKey)(e)??a.id?.findCredential(e)?.token:null}(e,t)||(!a.id&&r.A.request.useIdentity&&await Promise.all([i.e(8673),i.e(7956),i.e(3713)]).then(()=>i(50148)),(await a.id.getCredential(e,s))?.token)}},24212(e,t,i){i.d(t,{$7:()=>o,B:()=>l,M7:()=>h,XF:()=>f,tW:()=>u,w7:()=>n});var r=i(56512),a=i(86211),s=i(16271);function n(e,t){return function(e,t){return t?.mode?t.mode:function(e){return e?c:p}(e).mode}(null==e||(e.hasZ??!1),t)}function l(e,t,i){return i&&i.mode!==t?`${e} only support ${t} elevation mode`:null}function o(e,t,i){return i?.mode===t?`${e} do not support ${t} elevation mode`:null}function u(e,t){return null!=t?.featureExpressionInfo&&"0"!==t.featureExpressionInfo.expression?`${e} do not support featureExpressionInfo`:null}function f(e,t){t&&e.warn(".elevationInfo=",t)}function h(e){return(e?.offset??0)*(0,s.Ao)(e?.unit)}(0,r.B)((e,t,i)=>{if(!e||"decimal-degrees"===t)return 0;let r="unknown"!==t&&t?t:"meters",s=(0,a.mq)(i);return s?(0,a.oU)(e,r,s):0});const c={mode:"absolute-height",offset:0},p={mode:"on-the-ground",offset:null}}}]);
1
+ "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[1137],{56512(e,t,i){function r(e){let t,i,r=[],a=!1;return function(...s){return a&&t===this&&function(e,t){if(e.length!==t.length)return!1;for(let i=0;i<e.length;++i)if(e[i]!==t[i])return!1;return!0}(s,r)||(i=e.apply(this,s),t=this,r=s,a=!0),i}}i.d(t,{B:()=>r})},69397(e,t,i){i.d(t,{Qf:()=>o,Qh:()=>n,lM:()=>s,ro:()=>u,rq:()=>f});var r=i(44208),a=i(34275);function s(e){if(!e)return 0;let t=h;for(let i in e)e.hasOwnProperty(i)&&(t+=l(e[i],!1));return t}function n(e){if(!e)return 0;if("number"==typeof e[0])return o(e);if(Array.isArray(e))return function(e){let t=e.length;if(0===t||"number"==typeof e[0])return f(e,8);let i=c;for(let r=0;r<t;r++)i+=l(e[r]);return i}(e);let t=h;for(let i in e)e.hasOwnProperty(i)&&(t+=l(e[i]));return t}function l(e,t=!0){switch(typeof e){case"object":return t?n(e):h;case"string":return function(e){return 32+e.length}(e);case"number":return 16;case"boolean":return 4;default:return 8}}function o(...e){return e.reduce((e,t)=>e+u(t),0)}function u(e,t=16){return e?(0,a.iu)(e)?e.byteLength+d:Array.isArray(e)?f(e,t):0:0}function f(e,t){return c+e.length*t}const h=32,c=16,p=(0,r.A)("ios")||!(0,r.A)("chrome")&&!(0,r.A)("opr")?8:4,d=145;i.d(t,["JY",0,p])},5359(e,t,i){i.d(t,{Z:()=>a});const r=Symbol("isImageryTileGraphicOrigin");function a(e){return!!e&&r in e}i.d(t,["H",0,r])},11137(e,t,i){i.r(t),i.d(t,{default:()=>rt});var r,a=i(32198),s=i(40124),n=i(69540),l=i(49186),o=i(53966),u=i(97768),f=i(25728),h=i(17676),c=i(36708),p=i(91429),d=i(78888),m=i(41910),g=i(60950),y=i(89808),w=i(99959),v=i(5359);class x extends w.A{get[(r=v.H,g.ym)](){return this.layer}get[y.Q](){return this.layer}get[m.e7](){return this.layer}constructor(e){super(),this[r]=!0,this.type="imagery-tile",this.layer=e}get id(){return this.layer.id}}var b=i(4146),I=i(18768),C=i(63074),S=i(69208),A=i(34287),_=i(8303),T=i(72545),R=i(56551),M=i(54310),O=i(25036),F=i(82935),k=i(82806),P=i(7548),D=i(23636),N=i(49859),L=i(68197),B=i(5443),z=i(16930),E=i(73444),J=i(94778),H=i(14140);function $(e){return["x","e","east","long","longitude"].includes(e.toLowerCase())}function U(e){return["y","n","west","lat","latitude"].includes(e.toLowerCase())}function Z(e){let t=(0,E.lR)();return t?e[t]??Object.values(e)[0]:Object.values(e)[0]}function j(){return Math.round(255*Math.random())}function q(e){let t={},{parameters:i}=e;if(!i)return t;for(let[e,r]of Object.entries(i)){let{type:i,description:a,unit:s,categoryEncoding:n,observedProperty:l}=r;if("Parameter"===i&&(t[e]={},a&&(t[e].description=Z(a)),s&&(t[e].unit=s.label?Z(s.label):null,t[e].symbol=s.symbol?.value),n)){let i=Object.entries(n).map((e,t)=>({OID:t,Value:Number(e[1]),ClassName:e[0].slice(e[0].lastIndexOf("/")+1),Count:1})),r=!1;l?.categories?.length&&(l.categories.forEach(e=>{if(!e.id)return;let t=e.id.slice(e.id.lastIndexOf("/")+1),a=i.find(e=>e.ClassName===t);if(a&&(a.Label=e.label?Z(e.label):null,e.preferredColor)){let t=L.A.fromHex(e.preferredColor);t&&(r=!0,a.Red=t.r,a.Green=t.g,a.Blue=t.b)}}),r&&i.forEach(e=>{e.Red??(e.Red=j(),e.Green=j(),e.Blue=j())}));let a={objectIdFieldName:"",fields:[{name:"OID",type:"esriFieldTypeOID",alias:"OID",domain:null},{name:"Value",type:"esriFieldTypeInteger",alias:"Value",domain:null},{name:"Count",type:"esriFieldTypeDouble",alias:"Count",domain:null},{name:"ClassName",type:"esriFieldTypeString",alias:"ClassName",domain:null,length:50},{name:"Label",type:"esriFieldTypeString",alias:"Label",domain:null,length:50}],features:i.map(e=>({attributes:e}))};r&&a.fields.push({name:"Red",type:"esriFieldTypeInteger",alias:"Red",domain:null},{name:"Green",type:"esriFieldTypeInteger",alias:"Green",domain:null},{name:"Blue",type:"esriFieldTypeInteger",alias:"Blue",domain:null}),t[e].attributeTable=a}}return t}function V(e){let t=Number.MAX_VALUE,i=-Number.MAX_VALUE;for(let r=0;r<e.length;r++){let a=e[r];null!=a&&(a<t&&(t=a),a>i&&(i=a))}return(0,J.X1)(t,i)}function G(e,t,i){let r=e.map((e,i)=>({name:e,count:t[i]})).sort((e,t)=>e.name>t.name?-1:1),a=(e=>t=>e*=t.count)(1),s=[...r.slice(1),{name:"",count:1}].reverse().map(a).reverse(),n=0;for(let a=e.length-1;a>=0;a--){let l=r.findIndex(({name:t})=>t===e[a]);n+=s[l]*(i%t[a]),i=Math.floor(i/t[a])}return n}var W=i(4366),X=i(47520),K=i(51927),Y=i(45617),Q=i(87186);let ee=class extends N.A{constructor(){super(...arguments),this._pixelBlockTiles=new Map,this.datasetFormat="MEMORY",this.preGenerateTiles=!0,this.source=null}get url(){return""}async fetchRawTile(e,t,i,r={}){let a=`${e}/${t}/${i}`,s=this._pixelBlockTiles.get(a);if(s)return s;if(!this.source)return null;let{rasterInfo:n}=this,[l,o]=n.storageInfo.tileInfo.size,{sliceId:u}=r,{encodedData:f}=this.source;if(f){let s=await this.decodePixelBlock(f,{tileSize:[l,o],tileIndex:[e,t,i],canvasUsage:"canvas-only",cloneSource:!0,skipStatistics:!0},{signal:r.signal});return s&&this._pixelBlockTiles.set(a,s),s}let{pixelBlocks:h}=this.source,c=null==u?h[0]:h[u];if(null==c)return null;let p={pixelBlock:c,useBilinear:"thematic"!==n.dataType,tileSize:{width:l,height:o},level:e,row:t,col:i};return this.rasterJobHandler?this.rasterJobHandler.clipTile(p,r):(0,X.J$)(p)}async _open(e){if(!this.source)throw new l.A("in-memory-raster:open","source is required to open an in memory raster");let t=this.source;this.datasetName=t.name;let{pixelBlocks:i,attributeTable:r,statistics:a,histograms:s,nativeExtent:n,transform:o,colormap:u}=t,f=i[0],{width:h,height:c,pixelType:p}=f??t.imageInfo,d=t.extent??new B.A({xmin:-.5,ymin:.5,xmax:h-.5,ymax:c-.5,spatialReference:new z.A({wkid:3857})}),m=t.isPseudoSpatialReference??!t.extent,g={x:d.width/h,y:d.height/c},y={...t.keyProperties};t.dataType&&(y.DataType=t.dataType),t.bandInfos&&(y.BandProperties=t.bandInfos.map(e=>e.toJSON())),r&&(y.DataType="Thematic");let w=new Q.A({width:h,height:c,pixelType:p,extent:d,nativeExtent:n,attributeTable:r,colormap:u,transform:o,pixelSize:g,spatialReference:d.spatialReference,bandCount:f?.pixels.length??t.imageInfo.bandCount,keyProperties:y,multidimensionalInfo:t.multidimensionalInfo,statistics:a,isPseudoSpatialReference:m,histograms:s});this.ioConfig.skipMapInfo&&this.updateImageSpaceRasterInfo(w),this.createRemoteDatasetStorageInfo(w,512,512),this._set("rasterInfo",w),this.updateTileInfo(),w.multidimensionalInfo?await this._buildMDimStats(i,w.multidimensionalInfo):this.preGenerateTiles&&f&&(await this._buildInMemoryRaster(f,{width:512,height:512},e),this.source=null)}async _buildInMemoryRaster(e,t,i){let{rasterInfo:r}=this,a=r.storageInfo.maximumPyramidLevel??0,s="thematic"!==r.dataType,n=this.rasterJobHandler?this.rasterJobHandler.split({pixelBlock:e,tileSize:t,maximumPyramidLevel:a,useBilinear:s},i):Promise.resolve((0,X.lD)(e,t,a,s)),o=null!=r.statistics,u=null!=r.histograms,f=this.ioConfig.skipStatistics||o?Promise.resolve({statistics:null,histograms:null}):this.rasterJobHandler?this.rasterJobHandler.estimateStatisticsHistograms({pixelBlock:e},i):Promise.resolve((0,K.f4)(e)),c=await(0,h.Lx)([n,f]);if(!c[0].value)throw new l.A("in-memory-raster:open","failed to build in memory raster");this._pixelBlockTiles=c[0].value,o||(r.statistics=c[1].value?.statistics),u||(r.histograms=c[1].value?.histograms)}async _buildMDimStats(e,t,i){for(let r=0;r<t.variables.length;r++){let a=t.variables[r];if(a.statistics)continue;let s=a.dimensions.map(e=>new Y.A({variableName:a.name,dimensionName:e.name,values:[e.values?.[0]??e.extent?.[0]],isSlice:!0})),n=(0,W.NG)(s,t),l=null==n?null:e[n];if(null==l)continue;let o=this.rasterJobHandler?await this.rasterJobHandler.computeStatisticsHistograms({pixelBlock:l},i):(0,K.eH)(l);a.statistics=o.statistics,a.histograms||=o.histograms}}};(0,a.Cg)([(0,p.MZ)({type:String,json:{write:!0}})],ee.prototype,"datasetFormat",void 0),(0,a.Cg)([(0,p.MZ)({constructOnly:!0})],ee.prototype,"preGenerateTiles",void 0),(0,a.Cg)([(0,p.MZ)()],ee.prototype,"source",void 0),(0,a.Cg)([(0,p.MZ)()],ee.prototype,"url",null),ee=(0,a.Cg)([(0,p.$K)("esri.layers.raster.datasets.InMemoryRaster")],ee);const te=ee;var ie=i(22671);let re=class extends N.A{constructor(){super(...arguments),this.datasetFormat="CovJSON"}fetchRawTile(e,t,i,r={}){return this._inMemoryRaster.fetchRawTile(e,t,i,r)}async _open(e){let{extent:t,pixelBlocks:i,multidimensionalInfo:r,attributeTable:a,bandNames:s}=await this._fetchData(e),{statistics:n,histograms:l}=(0,K.eH)(i[0]),o=s?.map(e=>({BandName:e})),u={DataType:a?"Thematic":r?"Scientific":"Generic",BandProperties:o},f=new te({source:{extent:t,pixelBlocks:i,attributeTable:a?ie.A.fromJSON(a):null,multidimensionalInfo:r,statistics:n,histograms:l,keyProperties:u,isPseudoSpatialReference:!1}});await f.open(),this._inMemoryRaster=f;let h=this.source?"":this.url.slice(this.url.lastIndexOf("/")+1);this._set("datasetName",h.slice(0,h.indexOf("."))),this._set("rasterInfo",f.rasterInfo)}async _fetchData(e){let t=this.source??(await this.request(this.url,{signal:e?.signal})).data,i="imagery-tile-layer:open-coverage-json";if("coverage"!==t.type?.toLowerCase()||"grid"!==t.domain?.domainType?.toLowerCase())throw new l.A(i,"Only coverage with Grid domain type is supported");if(!t.ranges)throw new l.A(i,"Missing ranges in the grid coverage data");if(!t.domain.referencing?.length)throw new l.A(i,"Missing domain referencing in the grid coverage data");let r=Object.values(t.ranges);for(let e=0;e<r.length;e++){let{axisNames:t,shape:a,type:s,values:n}=r[e];if(!("ndarray"===s.toLowerCase()&&n?.length&&t?.length&&a?.length))throw new l.A(i,"Only ranges with valid NdArray, axisNames, shape, and inline values are supported");if(!$(t[t.length-1])||!U(t[t.length-2]))throw new l.A(i,"Only row-major ordered pixel values are supported. X axis must be the last axis.")}return function(e){let{width:t,height:i,extent:r,dimensions:a}=function(e){let{axes:t}=e.domain,i=Object.keys(t),r=[],a=[],s=-1,n=-1,l=[];for(let e=0;e<i.length;e++){let o=i[e];$(o)?s=e:U(o)&&(n=e);let u=t[o],f=[];if("values"in u){u.values.forEach(e=>f.push("string"==typeof e?new Date(e).getTime():e));let e=f[1]-f[0];r.push([f[0]-.5*e,f[f.length-1]+.5*e]),a.push(e)}else{let{start:e,stop:t,num:i}=u,s=(t-e)/(i-1);r.push([e-.5*s,t+.5*s]),a.push(s);for(let t=0;t<i;t++)f.push(e+s*t)}l.push({name:o,values:f,extent:[f[0],f[f.length-1]]})}s>-1&&-1===n?n=+(0===s):n>-1&&-1===s?s=+(0===n):-1===n&&-1===s&&(s=0,n=1),l=l.filter((e,t)=>t!==s&&t!==n);let{referencing:o}=e.domain,u=o.find(e=>e.coordinates.includes(i[s])).system.id,f=u?.slice(u.lastIndexOf("/")+1),h=null==f||"CRS84"===f?4326:Number(f),c=new z.A({wkid:h}),[p,d]=r[s],[m,g]=r[n],y=new B.A({xmin:p,xmax:d,ymin:m,ymax:g,spatialReference:c});return{width:Math.round(y.width/a[s]),height:Math.round(y.height/a[n]),extent:y,dimensions:l}}(e),{ranges:s}=e,n=Object.keys(s).sort((e,t)=>e<t?-1:1),l=[];for(let e=0;e<n.length;e++){let t=n[e];a?.length&&l.push({name:t,dimensions:a})}let o=q(e);l.forEach(e=>o[e.name]&&Object.assign(e,o[e.name]));let u=l.length?{variables:l}:void 0,f=[];for(let e=0;e<n.length;e++){let{values:r,dataType:l,axisNames:o,shape:u}=s[n[e]],h=u.length>2?e*u.slice(0,-2).reduce((e,t)=>e*t):0,c=o.slice(0,-2),p=u.slice(0,-2),d="float"===l?"f32":V(r),m=t*i,g=r.length/m;for(let s=0;s<g;s++){let n=H.A.createEmptyBand(d,m),l=new Uint8Array(m).fill(255),o=!1,u=s*m;for(let e=0;e<m;e++){let t=r[u+e];null==t?(l[e]=0,o=!0):n[e]=t}if(0===e||a?.length){let e=new H.A({width:t,height:i,mask:o?l:null,pixels:[n],pixelType:d});e.updateStatistics(),a?.length?f[G(c,p,s)+h]=e:f.push(e)}else{let e=f[s];e.pixels.push(n),o?e.mask&&=H.A.combineBandMasks([e.mask,l]):e.mask=o?l:null}}}return{extent:r,pixelBlocks:f,multidimensionalInfo:u,attributeTable:Object.values(o).find(e=>e.attributeTable)?.attributeTable,bandNames:u?void 0:n}}(t)}};(0,a.Cg)([(0,p.MZ)({type:String,json:{write:!0}})],re.prototype,"datasetFormat",void 0),(0,a.Cg)([(0,p.MZ)({constructOnly:!0})],re.prototype,"source",void 0),re=(0,a.Cg)([(0,p.$K)("esri.layers.raster.datasets.CovJSONRaster")],re);const ae=re;var se=i(4576),ne=i(21325),le=i(330),oe=i(43163);function ue(e,t){if(!e||!t)return null;let i=[];for(let r=0;r<e.length;r++)i.push(e[r]),i.push(t[r]);return i}function fe(e){if(!e)return null;let t=Number(e);if(!isNaN(t)&&0!==t)return new z.A({wkid:t});if(e=String(e).trim(),(0,ne.jp)(e))return new z.A({wkt2:e});let i=e.toUpperCase();if(i.startsWith("COMPD_CS")){if(!i.includes("VERTCS")||!i.includes("GEOGCS")&&!i.startsWith("PROJCS"))return null;let r=i.indexOf("VERTCS"),a=i.indexOf("PROJCS"),s=a>-1?a:i.indexOf("GEOGCS");if(-1===s)return null;let n=e.slice(s,e.lastIndexOf("]",r)+1).trim(),l=e.slice(r,e.lastIndexOf("]")).trim();t=he(n);let o=t?new z.A({wkid:t}):new z.A({wkt:n}),u=he(l);return u&&(o.vcsWkid=u),o}return i.startsWith("GEOGCS")||i.startsWith("PROJCS")?(t=he(e),0===t?new z.A({wkt:e}):new z.A({wkid:t})):null}function he(e){let t=e.replaceAll("]","[").replaceAll('"',"").split("[").map(e=>e.trim()).filter(e=>""!==e),i=t[t.length-1].split(","),r=i[0]?.toLowerCase();if(("epsg"===r||"esri"===r)&&e.endsWith('"]]')){let e=Number(i[1]);if(!isNaN(e)&&0!==e)return e}return 0}function ce(e){if("pamdataset"!==e?.documentElement.tagName?.toLowerCase())return{};let t={spatialReference:null,transform:null,metadata:{},rasterBands:[],statistics:null,histograms:null};e.documentElement.childNodes.forEach(e=>{if(1===e.nodeType)if((0,le.g7)(e,"SRS")){if(!t.spatialReference){let i=(0,le.mX)(e);t.spatialReference=fe(i)}}else if((0,le.g7)(e,"Metadata"))if("xml:ESRI"===e.getAttribute("domain")){let{spatialReference:i,transform:r}=function(e){let t=(0,le.V6)(e,"GeodataXform"),i=fe((0,le.v7)(t,"SpatialReference/WKID")||(0,le.mX)(t,"SpatialReference/WKT"));if("typens:PolynomialXform"!==t.getAttribute("xsi:type"))return{spatialReference:i,transform:null};let r=(0,le.v7)(t,"PolynomialOrder")??1,a=(0,le.Ui)(t,"CoeffX/Double"),s=(0,le.Ui)(t,"CoeffY/Double"),n=(0,le.Ui)(t,"InverseCoeffX/Double"),l=(0,le.Ui)(t,"InverseCoeffY/Double"),o=ue(a,s),u=ue(n,l);return{spatialReference:i,transform:o&&u&&o.length&&u.length?new oe.A({spatialReference:i,polynomialOrder:r,forwardCoefficients:o,inverseCoefficients:u}):null}}(e);t.transform=r,t.spatialReference||=i}else(0,le.IC)(e,"MDI").forEach(e=>t.metadata[e.getAttribute("key")]=(0,le.mX)(e));else if((0,le.g7)(e,"PAMRasterBand")){let i=function(e){let t,i,r,a,s=(0,le.v7)(e,"NoDataValue"),n=(0,le.V6)(e,"Histograms/HistItem"),l=(0,le.v7)(n,"HistMin"),o=(0,le.v7)(n,"HistMax"),u=(0,le.v7)(n,"BucketCount"),f=(0,le.mX)(n,"HistCounts")?.split("|").map(e=>Number(e));(0,le.IC)(e,"Metadata/MDI").forEach(e=>{let s=Number(e.textContent??e.nodeValue);switch(e.getAttribute("key").toUpperCase()){case"STATISTICS_MINIMUM":t=s;break;case"STATISTICS_MAXIMUM":i=s;break;case"STATISTICS_MEAN":r=s;break;case"STATISTICS_STDDEV":a=s}});let h=(0,le.v7)(e,"Metadata/SourceBandIndex");return{noDataValue:s,histogram:f?.length&&null!=l&&null!=o?{min:l,max:o,size:u||f.length,counts:f}:null,sourceBandIndex:h,statistics:null!=t&&null!=i?{min:t,max:i,avg:r,stddev:a}:null}}(e);null!=i.sourceBandIndex&&null==t.rasterBands[i.sourceBandIndex]?t.rasterBands[i.sourceBandIndex]=i:t.rasterBands.push(i)}});let i=t.rasterBands;return i.length&&(t.statistics=i[0].statistics?i.map(e=>e.statistics).filter(se.Ru):null,t.histograms=i[0].histogram?i.map(e=>e.histogram).filter(se.Ru):null),t}var pe=i(85951),de=i(40951);const me="image-aux-raster:open",ge="The data is not a supported format.";let ye=class extends N.A{set rasterJobHandler(e){this._set("rasterJobHandler",e),this._inMemoryRaster&&(this._inMemoryRaster.rasterJobHandler=e)}async fetchRawTile(e,t,i,r={}){return this._inMemoryRaster?.fetchRawTile(e,t,i,r)}async _open(e){let t,{data:i,format:r}=await this._fetchData(e),{tileGeneration:a}=this.ioConfig,s="immediate"===a||"jpg"!==r;if(s){let a=await this._decodeFullImage(i,r,e);if(!a)throw new l.A(me,"The data cannot be decoded.");t=await this._createRasterSource(a,e)}else{let r=(0,pe.R)(i);if(!r)throw new l.A(me,ge);t=await this._createRasterSource(r,e),t.encodedData=i}let{rasterJobHandler:n,ioConfig:o}=this,u=new te({preGenerateTiles:s,rasterJobHandler:n,source:t,ioConfig:{...o,sampling:"closest",skipStatistics:!0}});await u.open(e),this._set("rasterInfo",u.rasterInfo),this._inMemoryRaster=u}async _createRasterSource(e,t){let{spatialReference:i,statistics:r,histograms:a,transform:s}=await this._fetchAuxiliaryData(t),n=!i;n&&(i=new z.A({wkid:3857})),a?.length&&null==r&&(r=(0,K.Pg)(a));let{width:l,height:o}=e,u=new B.A({xmin:-.5,ymin:.5-o,xmax:l-.5,ymax:.5,spatialReference:i}),f=s?s.forwardTransform(u):u,h=!0;if(s){let e=s.forwardCoefficients;h=e&&0===e[1]&&0===e[2],h&&(s=null,u=f)}let c=[];return"pixels"in e&&c.push(e),{name:this.datasetName,pixelBlocks:c,imageInfo:{width:l,height:o,pixelType:"u8",bandCount:3},extent:f,nativeExtent:u,transform:s,statistics:r,histograms:a,isPseudoSpatialReference:n,keyProperties:{DataType:"Processed"}}}async _fetchData(e){let{data:t}=await this.request(this.url,{responseType:"array-buffer",signal:e?.signal}),i=(0,de.g)(t);if("jpg"!==i&&"png"!==i&&"gif"!==i&&"bmp"!==i)throw new l.A(me,ge);return this._set("datasetFormat",i.toUpperCase()),{data:t,format:i}}async _decodeFullImage(e,t,i){try{return await this.decodePixelBlock(e,{format:t,canvasUsage:"canvas-only",cloneSource:!0,skipStatistics:!0},i)}catch{return(0,h.Te)(i?.signal),this.decodePixelBlock(e,{format:t,canvasUsage:"no-canvas",skipStatistics:!0},i)}}async _fetchAuxiliaryData(e){let t=e?.signal,{skipExtensions:i=[],skipMapInfo:r}=this.ioConfig,a=r||i.includes("aux.xml")?null:this.request(this.url+".aux.xml",{responseType:"xml",signal:t}),s=this.datasetFormat,n="JPG"===s?"jgw":"PNG"===s?"pgw":"BMP"===s?"bpw":null,l=r||null==n||i.includes(n)?null:this.request(this.url.slice(0,this.url.lastIndexOf("."))+"."+n,{responseType:"text",signal:t}),o=await(0,h.Lx)([a,l]);if(t?.aborted)throw(0,h.NK)();let u=ce(o[0].value?.data);if(!u.transform){let e=o[1].value?o[1].value.data.split("\n").slice(0,6).map(e=>Number(e)):null;u.transform=6===e?.length?new oe.A({forwardCoefficients:[e[4],e[5],e[0],-e[1],e[2],-e[3]]}):null}return u}};(0,a.Cg)([(0,p.MZ)({type:String,json:{write:!0}})],ye.prototype,"datasetFormat",void 0),(0,a.Cg)([(0,p.MZ)()],ye.prototype,"rasterJobHandler",null),ye=(0,a.Cg)([(0,p.$K)("esri.layers.raster.datasets.ImageAuxRaster")],ye);const we=ye;var ve=i(84952),xe=i(86738),be=i(75414),Ie=i(20223),Ce=i(87045),Se=i(25943),Ae=i(82371);let _e=class extends N.A{constructor(){super(...arguments),this._levelOffset=0,this._tilemapCache=null,this._slices=null,this.datasetFormat="RasterTileServer",this.tileType=null}async fetchRawTile(e,t,i,r={}){let{storageInfo:a,extent:s}=this.rasterInfo,{transposeInfo:n}=a,l=null!=n&&!!r.transposedVariableName;if(this._slices&&!l&&null==r.sliceId)return null;let o,u,f=l?0:a.maximumPyramidLevel-e+this._levelOffset,h=`${this.url}/tile/${f}/${t}/${i}`,c={...this._slices?l?{variable:r.transposedVariableName}:{sliceId:r.sliceId||0}:null,...r.refreshParameters};if(a.isBsqTile){let e=(r.bandIds?.length?r.bandIds:[0,1,2]).map(e=>this.request(h,{query:{...c,bandId:e},responseType:"array-buffer",signal:r.signal})),t=await Promise.all(e),i=t.map(e=>e.data.byteLength).reduce((e,t)=>e+t),a=new Uint8Array(i);u=[];let s=0;for(let{data:e}of t)u.push(s),a.set(new Uint8Array(e),s),s+=e.byteLength;o=a.buffer}else o=(await this.request(h,{query:c,responseType:"array-buffer",signal:r.signal})).data;if(!o)return null;let{tileInfo:p}=a,d=l?n.tileSize:p.size,m=/^(mixed|jp)/i.test(p.format),g="raw"===p.format,y=await this.decodePixelBlock(o,{format:g?"bsq":void 0,width:d[0],height:d[1],planes:u?.length,offsets:u,pixelType:g?this.rasterInfo.pixelType:void 0,isPoint:"Elevation"===this.tileType,returnInterleaved:l,noDataValue:this.rasterInfo.noDataValue,applyJpegMask:m},{signal:r.signal});if(null==y)return null;let w=a.blockBoundary[e];if("jpg"!==a.compression||i>w.minCol&&i<w.maxCol&&t>w.minRow&&t<w.maxRow)return y;let{origin:v,blockWidth:x,blockHeight:b}=a,{x:I,y:C}=this.getPyramidPixelSize(e),S=Math.round((s.xmin-v.x)/I)%x,A=Math.round((s.xmax-v.x)/I)%x||x,_=Math.round((v.y-s.ymax)/C)%b,T=Math.round((v.y-s.ymin)/C)%b||b,R=i===w.minCol?S:0,M=t===w.minRow?_:0,O=i===w.maxCol?A:x,F=t===w.maxRow?T:b;return(0,X.z$)(y,{x:R,y:M},{width:O-R,height:F-M}),y}getSliceIndex(e){if(!this._slices||null==e||0===e.length)return null;let t=e;for(let e=0;e<this._slices.length;e++){let i=this._slices[e].multidimensionalDefinition;if(i.length===t.length&&!i.some(e=>{let i=t.find(t=>e.variableName===t.variableName&&t.dimensionName===e.dimensionName);return!i||(Array.isArray(e.values[0])?`${e.values[0][0]}-${e.values[0][1]}`:e.values[0])!==(Array.isArray(i.values[0])?`${i.values[0][0]}-${i.values[0][1]}`:i.values[0])}))return e}return null}async fetchVariableStatisticsHistograms(e,t){let i=this.request(this.url+"/statistics",{query:{variable:e,f:"json"},signal:t}).then(e=>e.data?.statistics),r=this.request(this.url+"/histograms",{query:{variable:e,f:"json"},signal:t}).then(e=>e.data?.histograms),a=await Promise.all([i,r]);return a[0]&&a[0].forEach(e=>{e.avg=e.mean,e.stddev=e.standardDeviation}),a[1]?.[0]?.counts?.length||(a[1]=null),{statistics:a[0]||null,histograms:a[1]||null}}async computeBestPyramidLevelForLocation(e,t={}){if(!this._tilemapCache)return 0;let i=this.identifyPixelLocation(e,0,t.datumTransformation);if(null===i)return null;let r=0,{maximumPyramidLevel:a}=this.rasterInfo.storageInfo,s=a-r+this._levelOffset,n=i.srcLocation;for(;s>=0;){try{if("available"===await this._tilemapCache.fetchAvailability(s,i.row,i.col,t))break}catch{}if(s--,r++,i=this.identifyPixelLocation(n,r,t.datumTransformation),null===i)return null}return-1===s||null==i?null:r}async _open(e){let t=e?.signal,i=this.sourceJSON?{data:this.sourceJSON}:await this.request(this.url,{query:{f:"json"},signal:t});i.ssl&&(this.url=this.url.replace(/^http:/i,"https:"));let r=i.data;if(this.sourceJSON=r,!r)throw new l.A("imageserverraster:open","cannot initialize tiled image service, missing service info");if(!r.tileInfo)throw new l.A("imageserverraster:open","use ImageryLayer to open non-tiled image services");this._fixScaleInServiceInfo();this.tileType=r.cacheType,this.tileType??=["jpg","jpeg","png","png8","png24","png32","mixed"].includes(r.tileInfo.format.toLowerCase())?"Map":"lerc"===r.tileInfo.format.toLowerCase()?"Elevation":"Raster",this.datasetName=r.name?.slice(r.name.indexOf("/")+1)??"";let a=this.rasterInfo??await this._fetchRasterInfo({signal:t});if(null==a)throw new l.A("image-server-raster:open","cannot initialize image service");(0,Ae.E9)(a,r);let s="Map"===this.tileType?function(e,t){if(!e)return null;let{minScale:i,maxScale:r,minLOD:a,maxLOD:s}=t;if(null!=a&&null!=s)return Ce.A.fromJSON({...e,lods:e.lods.filter(({level:e})=>null!=e&&e>=a&&e<=s)});if(0!==i&&0!==r){let t=e=>Math.round(1e4*e)/1e4,a=i?t(i):1/0,s=r?t(r):-1/0;return Ce.A.fromJSON({...e,lods:e.lods.filter(e=>{let i=t(e.scale);return i<=a&&i>=s})})}return Ce.A.fromJSON(e)}(r.tileInfo,r):Ce.A.fromJSON(r.tileInfo);(0,u.Lw)(s);let[n,o]=this._computeMinMaxLOD(a,s),{extent:f,pixelSize:h}=a,c=.001*Math.min(h.x,h.y);(h.x!==h.y||Math.abs(n.resolution-h.x)>c)&&(h.x=h.y=n.resolution,a.width=Math.ceil((f.xmax-f.xmin)/h.x-.1),a.height=Math.ceil((f.ymax-f.ymin)/h.y-.1));let p=n.level-o.level,[d,m]=s.size,g=[],y=[],{lods:w}=s;w.forEach((e,t)=>{e.level>=o.level&&e.level<=n.level&&g.push({x:e.resolution,y:e.resolution}),t<w.length-1&&y.push(Math.round(10*e.resolution/w[t+1].resolution)/10)}),g.sort((e,t)=>e.x-t.x);let v,x=this.computeBlockBoundary(f,d,m,s.origin,g,p),b=g.length>1?g.slice(1):null;r.transposeInfo&&(v={tileSize:[r.transposeInfo.rows,r.transposeInfo.cols],packetSize:a.keyProperties?._yxs.PacketSize??0});let I=y.length<=1||y.length>=3&&y.slice(0,-1).every(e=>e===y[0])?y[0]??2:Math.round(10/(o.resolution/n.resolution)**(-1/p))/10,C=!!r.bsq&&"Raster"===this.tileType;if(a.storageInfo=new Ie.A({blockWidth:s.size[0],blockHeight:s.size[1],pyramidBlockWidth:s.size[0],pyramidBlockHeight:s.size[1],pyramidResolutions:b,pyramidScalingFactor:I,compression:s.format,origin:s.origin,firstPyramidLevel:1,maximumPyramidLevel:p,tileInfo:s,isBsqTile:C,transposeInfo:v,blockBoundary:x}),function(e){let{extent:t,spatialReference:i}=e;t.xmin>-1&&t.xmax>181&&i?.wkid&&i.isGeographic&&(e.nativeExtent=e.extent,e.transform=new be.A,e.extent=e.transform.forwardTransform(t))}(a),this._set("rasterInfo",a),r.capabilities.toLowerCase().includes("tilemap")){let e={tileInfo:a.storageInfo.tileInfo,parsedUrl:(0,ve.An)(this.url),url:this.url,tileServers:[]};this._tilemapCache=new Se.d({layer:e})}}async _fetchRasterInfo(e){let t=this.sourceJSON;if("Map"===this.tileType){let e=t.fullExtent||t.extent,i=Math.ceil((e.xmax-e.xmin)/t.pixelSizeX-.1),r=Math.ceil((e.ymax-e.ymin)/t.pixelSizeY-.1),a=z.A.fromJSON(t.spatialReference||e.spatialReference),s=new xe.A({x:t.pixelSizeX,y:t.pixelSizeY,spatialReference:a});return new Q.A({width:i,height:r,bandCount:3,extent:B.A.fromJSON(e),spatialReference:a,pixelSize:s,pixelType:"u8",statistics:null,keyProperties:{DataType:"processed"}})}let i={...e,query:{...this.ioConfig.customFetchParameters,f:"json"}},r=(0,Ae.Tw)(this.url,this.sourceJSON,i),a=t.hasMultidimensions?this.request(`${this.url}/slices`,i).then(e=>e.data?.slices).catch(()=>null):null,s=await Promise.all([r,a]);return this._slices=s[1],s[0]}_fixScaleInServiceInfo(){let{sourceJSON:e}=this;e.minScale&&e.minScale<0&&(e.minScale=0),e.maxScale&&e.maxScale<0&&(e.maxScale=0)}_computeMinMaxLOD(e,t){let{pixelSize:i}=e,r=.5/e.width*i.x,{lods:a}=t,s=t.lodAt(Math.max.apply(null,a.map(e=>e.level))),n=t.lodAt(Math.min.apply(null,a.map(e=>e.level))),{tileType:l}=this;if("Map"===l)return this._levelOffset=a[0].level,[s,n];if("Raster"===l)return[a.find(e=>e.resolution===i.x)??s,n];let{minScale:o,maxScale:u}=this.sourceJSON,f=s;u>0&&(f=a.find(e=>Math.abs(e.scale-u)<r),f||=a.filter(e=>e.scale>u).sort((e,t)=>e.scale>t.scale?1:-1)[0]??s);let h=n;return o>0&&(h=a.find(e=>Math.abs(e.scale-o)<r)??n,this._levelOffset=h.level-n.level),[f,h]}};(0,a.Cg)([(0,p.MZ)({type:String,json:{write:!0}})],_e.prototype,"datasetFormat",void 0),(0,a.Cg)([(0,p.MZ)()],_e.prototype,"tileType",void 0),_e=(0,a.Cg)([(0,p.$K)("esri.layers.raster.datasets.ImageServerRaster")],_e);const Te=_e;var Re=i(10713);const Me=new Map([["byte","u8"],["signedbyte","s8"],["int8","s8"],["uint8","u8"],["int16","s16"],["uint16","u16"],["int32","s32"],["uint32","u32"],["float32","f32"],["float64","f64"],["double64","f64"]]),Oe=new Map;Oe.set("none",{blobExtension:".til",isOneSegment:!0,decoderFormat:"bip"}),Oe.set("lerc",{blobExtension:".lrc",isOneSegment:!1,decoderFormat:"lerc"}),Oe.set("deflate",{blobExtension:".pzp",isOneSegment:!0,decoderFormat:"deflate"}),Oe.set("jpeg",{blobExtension:".pjg",isOneSegment:!0,decoderFormat:"jpg"}),Oe.set("qb3",{blobExtension:".pq3",isOneSegment:!0,decoderFormat:"qb3"});let Fe=class extends N.A{constructor(){super(...arguments),this._files=null,this._storageIndex=null,this._isBsq=!1,this.datasetFormat="MRF"}async fetchRawTile(e,t,i,r={}){let{blockWidth:a,blockHeight:s,blockBoundary:n}=this.rasterInfo.storageInfo,l=n[e];if(!l||l.maxRow<t||l.maxCol<i||l.minRow>t||l.minCol>i)return null;let{bandCount:o,pixelType:u}=this.rasterInfo,{ranges:f,actualTileWidth:h,actualTileHeight:c}=this._getTileLocation(e,t,i);if(!f||0===f.length)return null;if(f.some(e=>e.from>e.to)){let e=new Uint8Array(a*s);return new H.A({width:a,height:s,pixels:void 0,mask:e,validPixelCount:0})}let{bandIds:p}=this.ioConfig,d=this._getBandSegmentCount(),m=[],g=0;for(g=0;g<d;g++)(!p||p.includes(g))&&m.push(this.request(this._files.data,{range:{from:f[g].from,to:f[g].to},responseType:"array-buffer",signal:r.signal}));let y=await Promise.all(m),w=y.map(e=>e.data.byteLength).reduce((e,t)=>e+t),v=new Uint8Array(w),x=[],b=0;for(g=0;g<d;g++)x.push(b),v.set(new Uint8Array(y[g].data),b),b+=y[g].data.byteLength;let I=Oe.get(this.rasterInfo.storageInfo.compression).decoderFormat,C="jpg"===I&&4===o&&1===x.length,S=await this.decodePixelBlock(v.buffer,{width:a,height:s,format:I,planes:p?.length||o,offsets:x,pixelType:u,canvasUsage:C?"no-canvas":void 0,decodeJpegAsRgb:!1},{signal:r.signal});if(null==S)return null;let{noDataValue:A}=this.rasterInfo;if(null!=A&&"lerc"!==I&&!S.mask&&(A=A[0],null!=A)){let e=S.width*S.height,t=new Uint8Array(e);if(Math.abs(A)>1e24)for(g=0;g<e;g++)Math.abs((S.pixels[0][g]-A)/A)>1e-6&&(t[g]=1);else for(g=0;g<e;g++)S.pixels[0][g]!==A&&(t[g]=1);S.mask=t}let _=0,T=0;if(h!==a||c!==s){let e=S.mask;if(e)for(g=0;g<s;g++)if(T=g*a,g<c)for(_=h;_<a;_++)e[T+_]=0;else for(_=0;_<a;_++)e[T+_]=0;else for(e=new Uint8Array(a*s),S.mask=e,g=0;g<c;g++)for(T=g*a,_=0;_<h;_++)e[T+_]=1}return S}async _open(e){this.datasetName=this.url.slice(this.url.lastIndexOf("/")+1);let t=e?e.signal:null,i=await this.request(this.url,{responseType:"xml",signal:t}),{rasterInfo:r,files:a}=this._parseHeader(i.data),{skipMapInfo:s,skipExtensions:n=[]}=this.ioConfig;if(!n.includes("aux.xml")&&!s){let t=await this._fetchAuxiliaryData(e);null!=t&&(r.statistics=t.statistics??r.statistics,r.histograms=t.histograms,t.histograms&&null==r.statistics&&(r.statistics=(0,K.Pg)(t.histograms)))}s&&this.updateImageSpaceRasterInfo(r),this._set("rasterInfo",r),this._files=a;let l=await this.request(a.index,{responseType:"array-buffer",signal:t});this._storageIndex=function(e){if(e.byteLength%16>0)throw Error("invalid array buffer must be multiples of 16");let t;if(Re.Z){let i=new Uint8Array(e),r=new ArrayBuffer(e.byteLength),a=new Uint8Array(r);for(let t=0;t<e.byteLength/4;t++)for(let e=0;e<4;e++)a[4*t+e]=i[4*t+3-e];t=new Uint32Array(r)}else t=new Uint32Array(e);return t}(l.data);let{blockWidth:o,blockHeight:u}=this.rasterInfo.storageInfo,f=this.rasterInfo.storageInfo.pyramidScalingFactor,{width:h,height:c}=this.rasterInfo,p=[],d=this._getBandSegmentCount(),m=0,g=-1;for(;m<this._storageIndex.length;){g++;let e=Math.ceil(h/o/f**g)-1,t=Math.ceil(c/u/f**g)-1;m+=(e+1)*(t+1)*d*4,p.push({maxRow:t,maxCol:e,minCol:0,minRow:0})}this.rasterInfo.storageInfo.blockBoundary=p,g>0&&(this.rasterInfo.storageInfo.firstPyramidLevel=1,this.rasterInfo.storageInfo.maximumPyramidLevel=g),this.updateTileInfo()}_getBandSegmentCount(){return this._isBsq?this.rasterInfo.bandCount:1}_getTileLocation(e,t,i){let r,a,s,{blockWidth:n,blockHeight:l,pyramidScalingFactor:o}=this.rasterInfo.storageInfo,{width:u,height:f}=this.rasterInfo,h=this._getBandSegmentCount(),c=0,p=0;for(s=0;s<e;s++)p=o**s,r=Math.ceil(u/n/p),a=Math.ceil(f/l/p),c+=r*a;p=o**e,r=Math.ceil(u/n/p),a=Math.ceil(f/l/p),c+=t*r+i,c*=4*h;let d=this._storageIndex.subarray(c,c+4*h),m=0,g=0,y=[];for(let e=0;e<h;e++)m=d[4*e]*2**32+d[4*e+1],g=m+d[4*e+2]*2**32+d[4*e+3]-1,y.push({from:m,to:g});return{ranges:y,actualTileWidth:i<r-1?n:Math.ceil(u/p)-n*(r-1),actualTileHeight:t<a-1?l:Math.ceil(f/p)-l*(a-1)}}_parseHeader(e){let t=(0,le.V6)(e,"MRF_META/Raster");if(!t)throw new l.A("mrf:open","not a valid MRF format");let i=(0,le.V6)(t,"Size"),r=parseInt(i.getAttribute("x"),10),a=parseInt(i.getAttribute("y"),10),s=parseInt(i.getAttribute("c"),10),n=((0,le.mX)(t,"Compression")||"none").toLowerCase();if(!Oe.has(n))throw new l.A("mrf:open","currently does not support compression "+n);let o=(0,le.mX)(t,"DataType")||"UInt8",u=Me.get(o.toLowerCase());if(null==u)throw new l.A("mrf:open","currently does not support pixel type "+o);let f=(0,le.V6)(t,"PageSize"),h=parseInt(f.getAttribute("x"),10),c=parseInt(f.getAttribute("y"),10),p=f.getAttribute("c"),d=p?p===String(s):Oe.get(n).isOneSegment;this._isBsq=!d;let m,g=(0,le.V6)(t,"DataValues");if(g){let e=g.getAttribute("NoData");null!=e&&(m=e.trim().split(" ").map(e=>parseFloat(e)))}if((0,le.V6)(e,"MRF_META/CachedSource"))throw new l.A("mrf:open","currently does not support MRF referencing other data files");let y,w=(0,le.V6)(e,"MRF_META/GeoTags"),v=(0,le.V6)(w,"BoundingBox"),x=!1;if(null!=v){let e=parseFloat(v.getAttribute("minx")),t=parseFloat(v.getAttribute("miny")),i=parseFloat(v.getAttribute("maxx")),r=parseFloat(v.getAttribute("maxy")),a=(0,le.mX)(w,"Projection")||"",s=z.A.WGS84;if("LOCAL_CS[]"!==a)if(a.toLowerCase().startsWith("epsg:")){let e=Number(a.slice(5));!isNaN(e)&&0!==e&&(s=new z.A({wkid:e}))}else s=fe(a)??z.A.WGS84;else x=!0,s=new z.A({wkid:3857});y=new B.A(e,t,i,r),y.spatialReference=s}else x=!0,y=new B.A({xmin:-.5,ymin:.5-a,xmax:r-.5,ymax:.5,spatialReference:new z.A({wkid:3857})});let b=(0,le.V6)(e,"MRF_META/Rsets"),I=parseInt(b?.getAttribute("scale")||"2",10),C=y.spatialReference,S=new Ie.A({origin:new xe.A({x:y.xmin,y:y.ymax,spatialReference:C}),blockWidth:h,blockHeight:c,pyramidBlockWidth:h,pyramidBlockHeight:c,compression:n,pyramidScalingFactor:I}),A=new xe.A({x:y.width/r,y:y.height/a,spatialReference:C}),_=new Q.A({width:r,height:a,extent:y,isPseudoSpatialReference:x,spatialReference:C,bandCount:s,pixelType:u,pixelSize:A,noDataValue:m,storageInfo:S}),T=this._getAuxFullPath((0,le.mX)(t,"DataFile")),R=this._getAuxFullPath((0,le.mX)(t,"IndexFile"));return{rasterInfo:_,files:{mrf:this.url,index:R||this.url.replace(".mrf",".idx"),data:T||this.url.replace(".mrf",Oe.get(n).blobExtension)}}}_getAuxFullPath(e){return!e||e.includes("\\")?null:e.includes("/")?e.startsWith(new URL(this.url).origin)?e:null:`${this.url.slice(0,this.url.lastIndexOf("/"))}/${e}`}async _fetchAuxiliaryData(e){try{let{data:t}=await this.request(this.url+".aux.xml",{responseType:"xml",signal:e?.signal});return ce(t)}catch{return null}}};(0,a.Cg)([(0,p.MZ)()],Fe.prototype,"_files",void 0),(0,a.Cg)([(0,p.MZ)()],Fe.prototype,"_storageIndex",void 0),(0,a.Cg)([(0,p.MZ)()],Fe.prototype,"_isBsq",void 0),(0,a.Cg)([(0,p.MZ)({type:String,json:{write:!0}})],Fe.prototype,"datasetFormat",void 0),Fe=(0,a.Cg)([(0,p.$K)("esri.layers.raster.datasets.MRFRaster")],Fe);const ke=Fe;i(44208);var Pe=i(9334);function De(e){let t=e.fields,i=e.records,r=t.some(e=>"oid"===e.name.toLowerCase())?"OBJECTID":"OID",a=[{name:r,type:"esriFieldTypeOID",alias:"OID"}].concat(t.map(e=>({name:e.name,type:"esriFieldType"+e.typeName,alias:e.name}))),s=a.map(e=>e.name),n=[],l=0,o=0;return i.forEach(e=>{let t={};for(t[r]=l++,o=1;o<s.length;o++)t[s[o]]=e[o-1];n.push({attributes:t})}),{displayFieldName:"",fields:a,features:n}}function Ne(e){let t=new DataView(e),i=3&t.getUint8(0);if(3!==i)return{header:{version:i},recordSet:null};let r=t.getUint32(4,!0),a=t.getUint16(8,!0),s=t.getUint16(10,!0),n={version:i,recordCount:r,headerByteCount:a,recordByteCount:s},l=32,o=[],u=[];for(;13!==t.getUint8(l);){let i=String.fromCharCode(t.getUint8(l+11)).trim();o.push({name:(0,Pe.w)(new Uint8Array(e,l,11)),type:i,typeName:["String","Date","Double","Boolean","String","Integer"][["C","D","F","L","M","N"].indexOf(i)],length:t.getUint8(l+16)}),l+=32}if(l+=1,o.length>0)for(;u.length<r&&e.byteLength-l>s;){let i=[];32===t.getUint8(l)?(l+=1,o.forEach(t=>{if("C"===t.type)i.push((0,Pe.w)(new Uint8Array(e,l,t.length)).trim());else if("N"===t.type)i.push(parseInt(String.fromCharCode.apply(null,new Uint8Array(e,l,t.length)).trim(),10));else if("F"===t.type)i.push(parseFloat(String.fromCharCode.apply(null,new Uint8Array(e,l,t.length)).trim()));else if("D"===t.type){let r=String.fromCharCode.apply(null,new Uint8Array(e,l,t.length)).trim();i.push(new Date(parseInt(r.slice(0,4),10),parseInt(r.slice(4,6),10)-1,parseInt(r.slice(6,8),10)))}l+=t.length}),u.push(i)):l+=s}return{header:n,fields:o,records:u,recordSet:De({fields:o,records:u})}}var Le=i(44094),Be=i(94213);const ze="none-tiled tiff is not optimized for access, convert to COG and retry.";let Ee=class extends N.A{constructor(){super(...arguments),this._bufferSize=1048576,this._chunkSize=10485760,this._fileSize=-1,this._headerChunks=[],this.datasetFormat="TIFF",this.headerInfo=null}async fetchRawTile(e,t,i,r={}){if(!this.headerInfo?.isSupported||this.isBlockOutside(e,t,i))return null;let a=await this._fetchRawTiffTile(e,t,i,!1,r);if(null!=a&&this.headerInfo.hasMaskBand){let s=await this._fetchRawTiffTile(e,t,i,!0,r);null!=s&&s.pixels[0]instanceof Uint8Array&&(a.mask=s.pixels[0])}return a}async _open(e){this.datasetName=this.url.slice(this.url.lastIndexOf("/")+1,this.url.lastIndexOf(".")),await this._readHeader(e?.signal),await this._fetchAllAuxData(),this.ioConfig.skipMapInfo&&this.updateImageSpaceRasterInfo(this.rasterInfo),this.updateTileInfo()}async _readHeader(e){try{let t=await this._fetchHeaderData(0,this._bufferSize,e);if(!t)throw new l.A("tiffraster:open","failed to open url "+this.url);let{littleEndian:i,firstIFDPos:r,isBigTiff:a}=(0,Le.uT)(t),s=[],n={fileChunk:t,posIFD:r,fileOffset:0};await this._readIFDs(s,n,i,a?8:4,e);let{imageInfo:o,rasterInfo:u}=function(e){let t=(0,Le.uc)(e),{width:i,height:r,tileWidth:a,tileHeight:s,planes:n,pixelType:l,compression:o,firstPyramidLevel:u,maximumPyramidLevel:f,pyramidBlockWidth:h,pyramidBlockHeight:c,pyramidResolutions:p,tileBoundary:d,affine:m,metadata:g,colormap:y}=t,w=fe(t.extent.spatialReference?.wkt||t.extent.spatialReference?.wkid),v=!!t.isPseudoGeographic;w??=(v=!0,new z.A({wkid:3857}));let x=new B.A({...t.extent,spatialReference:w}),b=x?new xe.A({x:x.xmin,y:x.ymax,spatialReference:w}):new xe.A({x:0,y:0}),I=new Ie.A({blockWidth:a,blockHeight:s,pyramidBlockWidth:h,pyramidBlockHeight:c,compression:o,origin:b,firstPyramidLevel:u,maximumPyramidLevel:f,pyramidResolutions:p,blockBoundary:d}),C=new xe.A({x:(x.xmax-x.xmin)/i,y:(x.ymax-x.ymin)/r,spatialReference:w}),S=g?{BandProperties:g.bandProperties,DataType:g.dataType}:{},A=new Q.A({width:i,height:r,bandCount:n,pixelType:l,pixelSize:C,storageInfo:I,spatialReference:w,isPseudoSpatialReference:v,keyProperties:S,extent:x,colormap:y,statistics:g?g.statistics:null});if(m?.length&&(A.nativeExtent=new B.A({xmin:-.5,ymin:.5-r,xmax:i-.5,ymax:.5,spatialReference:w}),A.transform=new oe.A({polynomialOrder:1,forwardCoefficients:[m[2]+m[0]/2,m[5]-m[3]/2,m[0],m[3],-m[1],-m[4]]}),A.extent=A.transform.forwardTransform(A.nativeExtent),A.pixelSize=new xe.A({x:(x.xmax-x.xmin)/i,y:(x.ymax-x.ymin)/r,spatialReference:w}),I.origin.x=-.5,I.origin.y=.5),p){let{x:e,y:t}=A.pixelSize;p.forEach(i=>{i.x*=e,i.y*=t})}return{imageInfo:t,rasterInfo:A}}(s),f=(0,Le.zS)(s),h=(0,Le.r9)(s);this.headerInfo={littleEndian:i,isBigTiff:a,ifds:s,pyramidIFDs:f,maskIFDs:h,...o},this._set("rasterInfo",u),this._validateHeader()}finally{this._headerChunks.length=0}}_validateHeader(){let e=this.headerInfo;if(!e.isSupported)throw new l.A("tiffraster:open","this tiff is not supported: "+e.message);if(!e.tileWidth||!e.tileHeight)throw new l.A("tiffraster:open",ze);this.rasterInfo.isPseudoSpatialReference&&o.A.getLogger(this).warn("The spatial reference for this tiff is unsupported. Only EPSG spatial reference codes and Esri WKTs are supported.");let t=e.ifds[0],i=t.get("PREDICTOR")?.values?.[0];if(3===t.get("SAMPLEFORMAT")?.values?.[0]&&2===i)throw new l.A("tiffraster:open","unsupported horizontal difference encoding. Predictor=3 is supported for floating point data")}async _fetchHeaderData(e,t,i){let r=this._getCachedHeaderData(e,t);if(r)return r;let a=Math.floor(e/this._bufferSize)*this._bufferSize,s=a+Math.max(1,Math.ceil((t-a)/this._bufferSize))*this._bufferSize,n=this._getMissingHeaderRanges(a,s).map(async e=>{let{from:t,to:r}=e,a=await this._fetchOffsets(t,r,i),s=this._fileSize;return{chunk:a,fileOffset:t,isEOF:s>0?t+a.byteLength>=s:a.byteLength<r-t+1}}),o=await Promise.all(n);this._headerChunks.push(...o),this._headerChunks.sort((e,t)=>e.fileOffset-t.fileOffset);let u=this._getCachedHeaderData(e,t);if(!u)throw new l.A("tiffraster:open",`failed to fetch byte range ${e}-${t} from ${this.url}`);return u}_getCachedHeaderData(e,t){let i=[],r=e;for(let{chunk:a,fileOffset:s,isEOF:n}of this._headerChunks){if(s+a.byteLength-1<r)continue;if(s>r)return null;let l=r-s,o=Math.min(t-s+1,a.byteLength);if(i.push({chunk:a,start:l,end:o}),r=s+o,r>t||n&&o===a.byteLength){let t=new Uint8Array(r-e),a=0;for(let e of i){let i=new Uint8Array(e.chunk,e.start,e.end-e.start);t.set(i,a),a+=i.byteLength}return t.buffer}}return null}_getMissingHeaderRanges(e,t){let i=[],r=(e,t)=>{let r=Math.floor(e/this._bufferSize)*this._bufferSize,a=Math.ceil(t/this._bufferSize)*this._bufferSize;i.push({from:r,to:a})},a=e;for(let{chunk:e,fileOffset:s,isEOF:n}of this._headerChunks){let l=s+e.byteLength-1;if(!(l<a)&&(s>a&&r(a,Math.min(s-1,t)),a=Math.max(a,l+1),a>t||n))return i}return a<=t&&r(a,t),i}async _validateOrFetchHeaderBuffer(e,t){let{fileChunk:i,fileOffset:r,posIFD:a}=e;if(a+8>=i.byteLength||a<0){if(r=a+r,r<0)throw new l.A("tiffraster:open",`invalid IFD position ${r}. failed to open url ${this.url}`);i=await this._fetchHeaderData(r,r+this._bufferSize/2,t),a=0}return{fileChunk:i,fileOffset:r,posIFD:a}}async _readIFDs(e,t,i,r=4,a){if(!t.posIFD)return null;t=await this._validateOrFetchHeaderBuffer(t,a);let s=await this._readIFD(t,i,Be.NB,r,a);if(!s?.ifd)throw new l.A("tiffraster:open","cannot parse tiff header. failed to open url "+this.url);if(e.push(s.ifd),!s.nextIFD)return null;t.posIFD=s.nextIFD-t.fileOffset,await this._readIFDs(e,t,i,r,a)}async _readIFD(e,t,i=Be.NB,r=4,a){let{fileChunk:s,posIFD:n,fileOffset:o}=e;if(!e.fileChunk)return null;let u=(0,Le.JM)(s,t,n,o,i,r);if(u.success){let{ifd:e}=u;if(!e)throw new l.A("tiffraster:open","cannot parse tiff header. failed to open url "+this.url);if(!(this.ioConfig.loadFullMetadata||i!==Be.NB||e.has("TILEWIDTH")&&e.has("TILELENGTH")))throw new l.A("tiffraster:open",ze);let r=[];e.forEach(e=>{e.values||r.push(e)}),r.length>0&&await this._fillOffsets(r,t,u.nextIFD,a),(0,Le.fM)(e),(0,Le.h_)(e);for(let[i,r]of Be.RR){let l=e.get(i),u=null!=l?.data&&Array.from(l.data.values()).some(e=>null==e.values&&null!=e.offlineOffsetSize);if(l&&(!l.data||u)){n=l.valueOffset-o;let e=await this._validateOrFetchHeaderBuffer({fileChunk:s,posIFD:n,fileOffset:o},a);l.data=(await this._readIFD(e,t,r,4,a))?.ifd}}return u}return u.requiredBufferSize?(s=await this._fetchHeaderData(o,o+n+u.requiredBufferSize+8,a),s.byteLength<n+u.requiredBufferSize?null:(e.fileChunk=s,e.fileOffset=o,this._readIFD(e,t,i,r,a))):null}async _fillOffsets(e,t,i,r){let a=e.filter(e=>null!=e.offlineOffsetSize);if(0===a.length)return;let s=a.map(e=>e.offlineOffsetSize),n=Math.min.apply(null,s.map(e=>e[0])),l=Math.max.apply(null,s.map(e=>e[0]+e[1])),o=1===s.length||l-n<=this._bufferSize;if(!o&&s.length>1&&(s.sort((e,t)=>e[0]-t[0]),o=s.reduce((e,t)=>e===t[0]?t[0]+t[1]:0,s[0][0])===l),o){let e=Math.max(l,n+this._bufferSize/4),i=await this._fetchHeaderData(n,e,r);return void a.forEach(e=>(0,Le.Cr)(i,t,e,n))}let u=a.map(async e=>{let i=e.offlineOffsetSize,a=await this._fetchHeaderData(i[0],i[1]+i[0],r);(0,Le.Cr)(a,t,e,i[0])});await Promise.all(u)}async _fetchOffsets(e,t,i){let r=[],a=this._chunkSize;this._fileSize>0&&(t=Math.min(t,this._fileSize-1));let s=Math.ceil((t-e+1)/a),n=e;for(let e=0;e<s;e++)r.push(this.request(this.url,{range:{from:n,to:e===s-1?t:n+a-1},responseType:"array-buffer",signal:i})),n+=a;let l=await Promise.all(r);if(-1===this._fileSize&&206===l[0].httpStatus){let e=l[0].getHeader?.("Content-Range"),t=Number(e?.split("/")[1]);Number.isFinite(t)&&(this._fileSize=t)}if(1===l.length)return l[0].data;let o=l.reduce((e,t)=>e+t.data.byteLength,0),u=new Uint8Array(o),f=0;for(let e of l)u.set(new Uint8Array(e.data),f),f+=e.data.byteLength;return u.buffer}async _fetchRawTiffTile(e,t,i,r,a={}){let s=this._getTileLocation(e,t,i,r);if(!s)return null;let{ranges:n,actualTileWidth:l,actualTileHeight:o,ifd:u}=s,f=n.map(e=>this.request(this.url,{range:e,responseType:"array-buffer",signal:a.signal})),h=await Promise.all(f),c=h.map(e=>e.data.byteLength).reduce((e,t)=>e+t),p=1===h.length?h[0].data:new ArrayBuffer(c),d=[0],m=[0];if(h.length>1){let e=new Uint8Array(p);for(let t=0,i=0;t<h.length;t++){let r=h[t].data;e.set(new Uint8Array(r),i),d[t]=i,i+=r.byteLength,m[t]=r.byteLength}}let{blockWidth:g,blockHeight:y}=this.getBlockWidthHeight(e),w=await this.decodePixelBlock(p,{format:"tiff",customOptions:{headerInfo:this.headerInfo,ifd:u,offsets:d,sizes:m},width:g,height:y,planes:null,pixelType:null},{signal:a.signal});if(null==w)return null;if(l!==g||o!==y){let e=w.mask;if(e)for(let t=0;t<y;t++){let i=t*g;if(t<o)for(let t=l;t<g;t++)e[i+t]=0;else for(let t=0;t<g;t++)e[i+t]=0}else{e=new Uint8Array(g*y),w.mask=e;for(let t=0;t<o;t++){let i=t*g;for(let t=0;t<l;t++)e[i+t]=1}}}return w}_getTileLocation(e,t,i,r=!1){let{firstPyramidLevel:a,blockBoundary:s}=this.rasterInfo.storageInfo,n=0===e?0:e-(a-1),{headerInfo:l}=this;if(!l)return null;let o=r?l.maskIFDs[n]:0===n?l.ifds[0]:l.pyramidIFDs[n-1];if(!o)return null;let u=(0,Le.XO)(o,l),f=(0,Le.wc)(o,"TILEOFFSETS"),h=(0,Le.wc)(o,"TILEBYTECOUNTS");if(!f?.length||!h?.length)return null;let{minRow:c,minCol:p,maxRow:d,maxCol:m}=s[n];if(t>d||i>m||t<c||i<p)return null;let g=(0,Le.LZ)(o,"IMAGEWIDTH"),y=(0,Le.LZ)(o,"IMAGELENGTH"),w=(0,Le.LZ)(o,"TILEWIDTH"),v=(0,Le.LZ)(o,"TILELENGTH"),x=[];if(u){let{bandCount:e}=this.rasterInfo;for(let r=0;r<e;r++){let e=r*(d+1)*(m+1)+t*(m+1)+i;x[r]={from:f[e],to:f[e]+h[e]-1}}}else{let e=t*(m+1)+i;x.push({from:f[e],to:f[e]+h[e]-1})}for(let e=0;e<x.length;e++)if(null==x[e].from||!x[e].to||x[e].to<0)return null;return{ranges:x,ifd:o,actualTileWidth:i===m&&g%w||w,actualTileHeight:t===d&&y%v||v}}async _fetchAllAuxData(e){if(this.ioConfig.skipMapInfo)return;let{rasterInfo:t}=this,{skipExtensions:i=[]}=this.ioConfig,r=i.includes("aux.xml")?Promise.resolve(null):this._fetchAuxiliaryMetaData(e),a=i.includes("vat.dbf")||1!==t.bandCount||"u8"!==t.pixelType?Promise.resolve(null):this._fetchAuxiliaryTable(e),[s,n]=await Promise.all([r,a]);null!=s&&function(e,t){if(t.statistics=e.statistics??t.statistics,t.histograms=e.histograms,e.histograms&&null==t.statistics&&(t.statistics=(0,K.Pg)(e.histograms)),e.transform&&null==t.transform){t.transform=e.transform,t.nativeExtent=t.extent;let i=t.transform.forwardTransform(t.nativeExtent);t.pixelSize=new xe.A({x:(i.xmax-i.xmin)/t.width,y:(i.ymax-i.ymin)/t.height,spatialReference:t.spatialReference}),t.extent=i}t.isPseudoSpatialReference&&e.spatialReference&&(t.spatialReference=e.spatialReference,t.extent.spatialReference=t.nativeExtent.spatialReference=t.storageInfo.origin.spatialReference=t.spatialReference)}(s,t),null!=n&&(t.attributeTable=n,t.keyProperties.DataType="thematic")}async _fetchAuxiliaryMetaData(e){try{let{data:t}=await this.request(this.url+".aux.xml",{responseType:"xml",signal:e?.signal});return ce(t)}catch{return null}}async _fetchAuxiliaryTable(e){try{let{data:t}=await this.request(this.url+".vat.dbf",{responseType:"array-buffer",signal:e?.signal}),i=Ne(t);return i?.recordSet?ie.A.fromJSON(i.recordSet):null}catch{return null}}};(0,a.Cg)([(0,p.MZ)()],Ee.prototype,"_bufferSize",void 0),(0,a.Cg)([(0,p.MZ)()],Ee.prototype,"_chunkSize",void 0),(0,a.Cg)([(0,p.MZ)()],Ee.prototype,"_fileSize",void 0),(0,a.Cg)([(0,p.MZ)()],Ee.prototype,"_headerChunks",void 0),(0,a.Cg)([(0,p.MZ)({type:String,json:{write:!0}})],Ee.prototype,"datasetFormat",void 0),(0,a.Cg)([(0,p.MZ)()],Ee.prototype,"headerInfo",void 0),Ee=(0,a.Cg)([(0,p.$K)("esri.layers.raster.datasets.TIFFRaster")],Ee);const Je=Ee,He=new Map;He.set("MRF",{desc:"Meta Raster Format",constructor:ke}),He.set("TIFF",{desc:"GeoTIFF",constructor:Je}),He.set("RasterTileServer",{desc:"Raster Tile Server",constructor:Te}),He.set("JPG",{desc:"JPG Raster Format",constructor:we}),He.set("PNG",{desc:"PNG Raster Format",constructor:we}),He.set("GIF",{desc:"GIF Raster Format",constructor:we}),He.set("BMP",{desc:"BMP Raster Format",constructor:we}),He.set("CovJSON",{desc:"COVJSON Raster Format",constructor:ae}),He.set("MEMORY",{desc:"In Memory Raster Format",constructor:te});class $e{static get supportedFormats(){let e=new Set;return He.forEach((t,i)=>e.add(i)),e}static async open(e){let{url:t,ioConfig:i,source:r,sourceJSON:a}=e,s=e.datasetFormat??i?.datasetFormat;s??(t.includes(".")?s=t.slice(t.lastIndexOf(".")+1).toUpperCase():"coverage"===r?.type?.toLowerCase()?s="CovJSON":r?.extent&&r.pixelblocks&&(s="MEMORY")),"OVR"===s||"TIF"===s||"DM"===s?s="TIFF":"JPG"===s||"JPEG"===s||"JFIF"===s?s="JPG":"COVJSON"===s&&(s="CovJSON"),t.toLowerCase().includes("/imageserver")&&!t.toLowerCase().includes("/wcsserver")&&(s="RasterTileServer");let n={url:t,source:r,sourceJSON:a,datasetFormat:s,ioConfig:i??{bandIds:null,sampling:null}};if(Object.keys(n).forEach(e=>{n[e]??delete n[e]}),s){if(!this.supportedFormats.has(s))throw new l.A("rasterfactory:open","not a supported format "+s);if("CRF"===s)throw new l.A("rasterfactory:open",`cannot open raster: ${t}`);let i=new(0,He.get(s).constructor)(n);return i.rasterJobHandler=e.rasterJobHandler,i.rasterInfo=e.rasterInfo,await i.open({signal:e.signal}),i}let o=Array.from(He.keys()).filter(e=>"CovJSON"!==e&&"Memory"!==e),u=0,f=()=>{if(s=o[u++],!s||"CRF"===s)return null;let t=new(0,He.get(s).constructor)(n);return t.rasterJobHandler=e.rasterJobHandler,t.open({signal:e.signal}).then(()=>t).catch(()=>f())};return f()}static register(e,t,i){He.has(e.toUpperCase())||He.set(e.toUpperCase(),{desc:t,constructor:i})}}var Ue=i(99235),Ze=i(10873),je=i(20437),qe=i(74797),Ve=i(22796),Ge=i(69409);const We={instance:null,refCount:0,connectionPromise:null};async function Xe(){if(We.refCount++,We.instance)return We.instance;if(!We.connectionPromise){let e=new Ge.A;We.connectionPromise=e.initialize().then(()=>{We.instance=e})}return await We.connectionPromise,We.instance}function Ke(){We.refCount--,We.refCount>0||(We.instance?.destroy(),We.instance=null,We.connectionPromise=null,We.refCount=0)}var Ye=i(24212),Qe=i(30291),et=i(88625),tt=i(59923);let it=class extends((0,C.dM)((0,O.j)((0,A.q)((0,_.A)((0,R.H)((0,S.d)((0,k.b)((0,T.G)((0,F.e)((0,I.b)((0,M.J)((0,f.M)((0,n.OU)(b.A)))))))))))))){constructor(...e){super(...e),this._primaryRasters=[],this.charts=null,this.graphicOrigin=new x(this),this.legendEnabled=!0,this.isReference=null,this.listMode="show",this.sourceJSON=null,this.version=null,this.type="imagery-tile",this.operationalLayerType="ArcGISTiledImageServiceLayer",this.popupEnabled=!0,this.popupTemplate=null,this.screenSizePerspectiveEnabled=!0,this.fields=null,this.source=void 0,this._debouncedSaveOperations=(0,h.sg)(async(e,t,r)=>{let{save:a,saveAs:s}=await i.e(9838).then(()=>i(59838));switch(e){case 0:return a(this,t);case 1:return s(this,r,t)}})}normalizeCtorArgs(e,t){return"string"==typeof e?{url:e,...t}:e}load(e){let t=null==e?null:e.signal;return this.addResolvingPromise(this.loadFromPortal({supportedTypes:["Image Service"]},e).catch(h.QP).then(()=>this._openRaster(t))),Promise.resolve(this)}destroy(){super.destroy(),this._releaseWorkerHandle=(0,u.xt)(this._releaseWorkerHandle)}set elevationInfo(e){"relative-to-scene"!==e?.mode&&this._set("elevationInfo",e),this._validateElevationInfo(e)}get defaultPopupTemplate(){return this.createPopupTemplate()}get rasterFields(){let e=[(0,qe.rZ)("Pixel Value"),(0,qe.dy)("Raw Pixel Value")],t=this.raster?.rasterInfo??this.serviceRasterInfo,i=t?.attributeTable;if(i){let t=(0,qe.jC)(i);e.push(...t)}let r=t?.dataType,a=t?.multidimensionalInfo;if(("vector-magdir"===r||"vector-uv"===r)&&null!=a){let t=a.variables[0].unit?.trim(),i=(0,qe.DV)(t),r=(0,qe.y6)();e.push(i,r)}if(a){let t=(0,qe.AL)(a);e.push(...t)}return e}get renderer(){return super.renderer}set renderer(e){super.renderer=e}createPopupTemplate(e){let{rasterFields:t}=this,i=e?.visibleFieldNames??new Set(t.map(({name:e})=>e).filter(e=>e!==qe.F_.rawServicePixelValue)),r=(0,Qe.tn)({fields:t,title:this.title},{...e,visibleFieldNames:i}),{rasterInfo:a}=this.raster;return r?.fieldInfos&&a&&(0,qe.h4)(r.fieldInfos,a),r}async generateRasterInfo(e,t){let i=(0,d.PZ)(Ve.A,e);if(await this.load(),!i||"none"===i.functionName?.toLowerCase())return this.serviceRasterInfo;try{let{rasterInfo:e}=await this._openFunctionRaster(i,t);return e}catch(e){throw e instanceof l.A?e:new l.A("imagery-tile-layer","the given raster function is not supported")}}async save(e){return this._debouncedSaveOperations(0,e)}async saveAs(e,t){return this._debouncedSaveOperations(1,t,e)}supportsExportMapTiles(){let e=this._primaryRasters[0]??this.raster,t="RasterTileServer"===e?.datasetFormat,i=!!this.sourceJSON?.exportTilesAllowed,r=this.sourceJSON?.datasetFormat?.toLowerCase(),a=!/\/tiledimageservices[^.]*\.arcgis\.com/i.test(this.url)&&"Raster"===e?.tileType&&("cache/jpegplus"===r||"cache/jpegpng"===r);return t&&i&&("Map"===e?.tileType||a)}supportsWrite(){let e=this._primaryRasters[0]??this.raster;return!!(this.loaded?"RasterTileServer"===e.datasetFormat&&("Raster"===e.tileType||"Map"===e.tileType):this.url&&/\/ImageServer(\/|\/?$)/i.test(this.url))}write(e,t){return this.supportsWrite()?super.write(e,t):((0,tt.U4)(t,this),null)}async hasDataChanged(){try{let e=this._primaryRasters[0]??this.raster,{dataChanged:t,updates:i}=await e.refresh();return t&&(this.serviceRasterInfo!==e.rasterInfo&&this._set("serviceRasterInfo",e.rasterInfo),e.sourceJSON&&this.sourceJSON!==e.sourceJSON&&(this.sourceJSON=e.sourceJSON),i&&this.read(i,{origin:"service",url:this.parsedUrl,ignoreDefaults:!0})),t}catch{return!1}}async _openRaster(e){let t=!1;if(this.raster)await this._openFromRaster(this.raster,e),t=(0,P.qg)(this.raster),!t&&this.rasterFunction&&(this._primaryRasters=[this.raster],await this._initializeWithFunctionRaster(this.rasterFunction));else{let{url:t,rasterFunction:i,source:r}=this;if(!t&&!r)throw new l.A("imagery-tile-layer:open","missing url or source parameter");r?await this._openFromSource(r,e):i?await this._openFromUrlWithRasterFunction(t,i,e):await this._openFromUrl(t,e)}let i=this.raster.rasterInfo;if(!i)throw new l.A("imagery-tile-layer:load","cannot load resources on "+this.url);if(this._set("serviceRasterInfo",t?i:this._primaryRasters[0].rasterInfo),this._set("spatialReference",i.spatialReference),this.sourceJSON=this.sourceJSON||this.raster.sourceJSON,null!=this.sourceJSON){let e="Map"===this.raster.tileType&&null!=this.sourceJSON.minLOD&&null!=this.sourceJSON.maxLOD?this.sourceJSON:{...this.sourceJSON,minScale:0,maxScale:0};this.read(e,{origin:"service"})}else this.read({tileInfo:this.serviceRasterInfo?.storageInfo.tileInfo.toJSON()},{origin:"service"});this.title||=this.raster.datasetName,"Map"===this.raster.tileType&&(this.popupEnabled=!1),this._configDefaultSettings(),this.addHandles((0,c.wB)(()=>this.customParameters,e=>{this.raster&&(this.raster.ioConfig.customFetchParameters=e)}))}async _openFromRaster(e,t){e.rasterInfo||await e.open({signal:t}),this._primaryRasters=(0,P.pb)(e),this.url||=this._primaryRasters[0].url}async _openFromUrlWithRasterFunction(e,t,i){let r,a=[e];t&&(0,Ue.UD)(t.toJSON(),a),a.some(e=>at(e,this.ioConfig))&&(r=await Xe(),this._releaseWorkerHandle={remove:()=>Ke()});let s=await Promise.all(a.map(e=>$e.open({url:e,rasterInfo:1===a.length?this.serviceRasterInfo:void 0,sourceJSON:1===a.length?this.sourceJSON:void 0,ioConfig:{sampling:"closest",...this.ioConfig,customFetchParameters:this.customParameters},rasterJobHandler:r,signal:i}))),n=s.findIndex(e=>null==e);if(n>-1)throw new l.A("imagery-tile-layer:open",`cannot open raster: ${a[n]}`);return this._primaryRasters=s,this._initializeWithFunctionRaster(t)}async _openFromUrl(e,t){let i;at(e,this.ioConfig)&&(i=await Xe(),this._releaseWorkerHandle={remove:()=>Ke()});let r=await $e.open({url:e,rasterInfo:this.serviceRasterInfo,sourceJSON:this.sourceJSON,ioConfig:{sampling:"closest",...this.ioConfig,customFetchParameters:this.customParameters},rasterJobHandler:i,signal:t});if(null==r)throw new l.A("imagery-tile-layer:open",`cannot open raster: ${e}`);this._primaryRasters=[r],this.raster=r}async _openFromSource(e,t){let i="the tiled imagery data source is not supported",r="coverage"===e.type?.toLowerCase()?"CovJSON":e.extent&&e.pixelBlock?"MEMORY":null;if(!r)throw new l.A("imagery-tile-layer:open",i);"MEMORY"===r&&(e={...e,pixelBlock:void 0,pixelBlocks:[e.pixelBlock]});let a=await $e.open({url:"",source:e,datasetFormat:r,ioConfig:{sampling:"closest",...this.ioConfig,customFetchParameters:this.customParameters},signal:t});if(null==a)throw new l.A("imagery-tile-layer:open",i);this._primaryRasters=[a],this.rasterFunction?await this._initializeWithFunctionRaster(this.rasterFunction):this.raster=a}async _openFunctionRaster(e,t){let i={raster:this._primaryRasters[0]};this._primaryRasters.length>1&&this._primaryRasters.forEach(e=>i[e.url]=e);let r=(0,Ue.vt)(e.functionDefinition?.toJSON()??e.toJSON(),i),a=new D.A({rasterFunction:r});return await a.open(t),a}async _initializeWithFunctionRaster(e,t){try{this.raster=await this._openFunctionRaster(e,t)}catch(e){e instanceof l.A&&o.A.getLogger(this).error("imagery-tile-layer:open",e.message),o.A.getLogger(this).warn("imagery-tile-layer:open","the raster function cannot be applied and is removed"),this._set("rasterFunction",null),this.raster=this._primaryRasters[0]}}_validateElevationInfo(e){(0,Ye.XF)(o.A.getLogger(this),(0,Ye.$7)("ImageryTile layers","relative-to-scene",e)),(0,Ye.XF)(o.A.getLogger(this),(0,Ye.tW)("ImageryTile layers",e))}};(0,a.Cg)([(0,p.MZ)({clonable:!1})],it.prototype,"_primaryRasters",void 0),(0,a.Cg)([(0,p.MZ)({clonable:!1})],it.prototype,"_releaseWorkerHandle",void 0),(0,a.Cg)([(0,p.MZ)({json:{origins:{"web-scene":{write:!1}},write:!0}})],it.prototype,"charts",void 0),(0,a.Cg)([(0,p.MZ)({type:et.A,value:null,json:{name:"layerDefinition.elevationInfo",write:!0,origins:{"portal-item":{read:!1,write:!1},"web-map":{read:!1,write:!1}}}})],it.prototype,"elevationInfo",null),(0,a.Cg)([(0,p.MZ)({type:Ce.A})],it.prototype,"tileInfo",void 0),(0,a.Cg)([(0,p.MZ)({readOnly:!0,clonable:!1})],it.prototype,"graphicOrigin",void 0),(0,a.Cg)([(0,p.MZ)(Ze.fV)],it.prototype,"legendEnabled",void 0),(0,a.Cg)([(0,p.MZ)({type:Boolean,json:{read:!1,write:{enabled:!0,overridePolicy:()=>({enabled:!1})}}})],it.prototype,"isReference",void 0),(0,a.Cg)([(0,p.MZ)({type:["show","hide"]})],it.prototype,"listMode",void 0),(0,a.Cg)([(0,p.MZ)({json:{read:!0,write:!0}})],it.prototype,"blendMode",void 0),(0,a.Cg)([(0,p.MZ)({type:Ve.A,json:{name:"renderingRule",write:!0}})],it.prototype,"rasterFunction",void 0),(0,a.Cg)([(0,p.MZ)()],it.prototype,"sourceJSON",void 0),(0,a.Cg)([(0,p.MZ)({readOnly:!0,json:{origins:{service:{read:{source:"currentVersion"}}}}})],it.prototype,"version",void 0),(0,a.Cg)([(0,p.MZ)({readOnly:!0,json:{read:!1}})],it.prototype,"type",void 0),(0,a.Cg)([(0,p.MZ)({type:["ArcGISTiledImageServiceLayer"]})],it.prototype,"operationalLayerType",void 0),(0,a.Cg)([(0,p.MZ)({type:Boolean,value:!0,json:{read:{source:"disablePopup",reader:(e,t)=>!t.disablePopup},write:{target:"disablePopup",overridePolicy(){return{enabled:!this.loaded||"Raster"===this.raster.tileType}},writer(e,t,i){t[i]=!e}}}})],it.prototype,"popupEnabled",void 0),(0,a.Cg)([(0,p.MZ)({type:s.A,json:{read:{source:"popupInfo"},write:{target:"popupInfo",overridePolicy(){return{enabled:!this.loaded||"Raster"===this.raster.tileType}}}}})],it.prototype,"popupTemplate",void 0),(0,a.Cg)([(0,p.MZ)({readOnly:!0})],it.prototype,"defaultPopupTemplate",null),(0,a.Cg)([(0,p.MZ)(Ze.PY)],it.prototype,"screenSizePerspectiveEnabled",void 0),(0,a.Cg)([(0,p.MZ)({readOnly:!0,type:[je.A]})],it.prototype,"fields",void 0),(0,a.Cg)([(0,p.MZ)({readOnly:!0,type:[je.A]})],it.prototype,"rasterFields",null),(0,a.Cg)([(0,p.MZ)({constructOnly:!0})],it.prototype,"source",void 0),it=(0,a.Cg)([(0,p.$K)("esri.layers.ImageryTileLayer")],it);const rt=it;function at(e,t){let{tileGeneration:i}=t??{};return"immediate"===i||/\.(png|gif|bmp)$/i.test(e)}},18768(e,t,i){var r=i(32198),a=i(53966),s=i(91429),n=i(60694);i.d(t,["b",0,e=>{let t=e,i=class extends t{get title(){if(this._get("title")&&"defaults"!==this.originOf("title"))return this._get("title");if(this.url){let e=(0,n.qg)(this.url);if(e?.title)return e.title}return this._get("title")||""}set title(e){this._set("title",e)}set url(e){this._set("url",(0,n.Jf)(e,a.A.getLogger(this)))}};return(0,r.Cg)([(0,s.MZ)()],i.prototype,"title",null),(0,r.Cg)([(0,s.MZ)({type:String})],i.prototype,"url",null),i=(0,r.Cg)([(0,s.$K)("esri.layers.mixins.ArcGISService")],i),i}])},56551(e,t,i){i.d(t,{H:()=>c});var r=i(32198),a=i(91429),s=i(69540),n=i(25482),l=i(78888),o=i(94359),u=i(93223);let f=class extends((0,s.OU)(n.o)){constructor(e){super(e),this.name=void 0,this.method="none",this.value=void 0,this.bandIds=void 0,this.renderer=void 0}};(0,r.Cg)([(0,a.MZ)({type:String,json:{write:{isRequired:!0}}})],f.prototype,"name",void 0),(0,r.Cg)([(0,a.MZ)({type:["raster-function-template","variable","none"],json:{write:{isRequired:!0}}}),(0,u.e)({rasterFunctionTemplate:"raster-function-template",variable:"variable",none:"none"})],f.prototype,"method",void 0),(0,r.Cg)([(0,a.MZ)({type:String,json:{write:{isRequired:!0}}})],f.prototype,"value",void 0),(0,r.Cg)([(0,a.MZ)({type:[l.jz],json:{write:{isRequired:!0}}})],f.prototype,"bandIds",void 0),(0,r.Cg)([(0,a.MZ)({types:o.uy,json:{write:!0,origins:{"web-scene":{types:o.Gj,write:{overridePolicy:e=>({enabled:e&&"vector-field"!==e.type})}}}}})],f.prototype,"renderer",void 0),f=(0,r.Cg)([(0,a.$K)("esri.renderers.support.RasterPresetRenderer")],f);const h=f,c=e=>{let t=e,i=class extends t{constructor(){super(...arguments),this.activePresetRendererName=null,this.presetRenderers=null}};return(0,r.Cg)([(0,a.MZ)({type:String,json:{name:"layerDefinition.activePresetRendererName",write:{allowNull:!0}}})],i.prototype,"activePresetRendererName",void 0),(0,r.Cg)([(0,a.MZ)({type:[h],json:{name:"layerDefinition.presetRenderers",write:!0}})],i.prototype,"presetRenderers",void 0),i=(0,r.Cg)([(0,a.$K)("esri.layers.mixins.RasterPresetRendererMixin")],i),i}},10333(e,t,i){i.d(t,{A:()=>n});var r=i(32198),a=i(25482),s=i(91429);let n=class extends a.o{get affectsPixelSize(){return!1}forwardTransform(e){return e}inverseTransform(e){return e}};(0,r.Cg)([(0,s.MZ)()],n.prototype,"affectsPixelSize",null),(0,r.Cg)([(0,s.MZ)({json:{write:!0}})],n.prototype,"spatialReference",void 0),n=(0,r.Cg)([(0,s.$K)("esri.layers.raster.transforms.BaseRasterTransform")],n)},75414(e,t,i){i.d(t,{A:()=>o});var r,a=i(32198),s=i(91429),n=i(10333),l=i(93223);let o=r=class extends n.A{constructor(){super(...arguments),this.type="gcs-shift",this.tolerance=1e-8}forwardTransform(e){return"point"===(e=e.clone()).type?(e.x>180+this.tolerance&&(e.x-=360),e):(e.xmin>=180-this.tolerance?(e.xmax-=360,e.xmin-=360):e.xmax>180+this.tolerance&&(e.xmin=-180,e.xmax=180),e)}inverseTransform(e){return"point"===(e=e.clone()).type?(e.x<-this.tolerance&&(e.x+=360),e):(e.xmin<-this.tolerance&&(e.xmin+=360,e.xmax+=360),e)}clone(){return new r({tolerance:this.tolerance})}};(0,a.Cg)([(0,l.e)({GCSShiftXform:"gcs-shift"})],o.prototype,"type",void 0),(0,a.Cg)([(0,s.MZ)()],o.prototype,"tolerance",void 0),o=r=(0,a.Cg)([(0,s.$K)("esri.layers.raster.transforms.GCSShiftTransform")],o)},43163(e,t,i){i.d(t,{A:()=>d});var r,a=i(32198),s=i(91429),n=i(5443),l=i(86738),o=i(10333),u=i(36005),f=i(43937),h=i(93223);function c(e,t,i){let{x:r,y:a}=t;if(i<2)return{x:e[0]+r*e[2]+a*e[4],y:e[1]+r*e[3]+a*e[5]};if(2===i){let t=r*r,i=a*a,s=r*a;return{x:e[0]+r*e[2]+a*e[4]+t*e[6]+s*e[8]+i*e[10],y:e[1]+r*e[3]+a*e[5]+t*e[7]+s*e[9]+i*e[11]}}let s=r*r,n=a*a,l=r*a,o=s*r,u=s*a,f=r*n,h=a*n;return{x:e[0]+r*e[2]+a*e[4]+s*e[6]+l*e[8]+n*e[10]+o*e[12]+u*e[14]+f*e[16]+h*e[18],y:e[1]+r*e[3]+a*e[5]+s*e[7]+l*e[9]+n*e[11]+o*e[13]+u*e[15]+f*e[17]+h*e[19]}}function p(e,t,i){let{xmin:r,ymin:a,xmax:s,ymax:l,spatialReference:o}=t,u=[];if(i<2)u.push({x:r,y:l}),u.push({x:s,y:l}),u.push({x:r,y:a}),u.push({x:s,y:a});else{let e=10;for(let t=0;t<e;t++)u.push({x:r,y:a+(l-a)*t/(e-1)}),u.push({x:s,y:a+(l-a)*t/(e-1)});e=8;for(let t=1;t<=e;t++)u.push({x:r+(s-r)*t/e,y:a}),u.push({x:r+(s-r)*t/e,y:l})}u=u.map(t=>c(e,t,i));let f=u.map(e=>e.x),h=u.map(e=>e.y);return new n.A({xmin:Math.min.apply(null,f),xmax:Math.max.apply(null,f),ymin:Math.min.apply(null,h),ymax:Math.max.apply(null,h),spatialReference:o})}let d=r=class extends o.A{constructor(){super(...arguments),this.polynomialOrder=1,this.type="polynomial"}readForwardCoefficients(e,t){let{coeffX:i,coeffY:r}=t;if(!i?.length||!r?.length||i.length!==r.length)return null;let a=[];for(let e=0;e<i.length;e++)a.push(i[e]),a.push(r[e]);return a}writeForwardCoefficients(e,t,i){let r=[],a=[];for(let t=0;t<e?.length;t++)t%2==0?r.push(e[t]):a.push(e[t]);t.coeffX=r,t.coeffY=a}get inverseCoefficients(){let e=this._get("inverseCoefficients"),t=this._get("forwardCoefficients");return!e&&t&&this.polynomialOrder<2&&(e=function(e){let[t,i,r,a,s,n]=e,l=r*n-s*a,o=s*a-r*n;return[(s*i-t*n)/l,(r*i-t*a)/o,n/l,a/o,-s/l,-r/o]}(t)),e}set inverseCoefficients(e){this._set("inverseCoefficients",e)}readInverseCoefficients(e,t){let{inverseCoeffX:i,inverseCoeffY:r}=t;if(!i?.length||!r?.length||i.length!==r.length)return null;let a=[];for(let e=0;e<i.length;e++)a.push(i[e]),a.push(r[e]);return a}writeInverseCoefficients(e,t,i){let r=[],a=[];for(let t=0;t<e?.length;t++)t%2==0?r.push(e[t]):a.push(e[t]);t.inverseCoeffX=r,t.inverseCoeffY=a}get affectsPixelSize(){return this.polynomialOrder>0}forwardTransform(e){if("point"===e.type){let t=c(this.forwardCoefficients,e,this.polynomialOrder);return new l.A({x:t.x,y:t.y,spatialReference:e.spatialReference})}return p(this.forwardCoefficients,e,this.polynomialOrder)}inverseTransform(e){if("point"===e.type){let t=c(this.inverseCoefficients,e,this.polynomialOrder);return new l.A({x:t.x,y:t.y,spatialReference:e.spatialReference})}return p(this.inverseCoefficients,e,this.polynomialOrder)}clone(){return new r({polynomialOrder:this.polynomialOrder,forwardCoefficients:this.forwardCoefficients?[...this.forwardCoefficients]:null,inverseCoefficients:this.inverseCoefficients?[...this.inverseCoefficients]:null})}};(0,a.Cg)([(0,s.MZ)({json:{write:!0}})],d.prototype,"polynomialOrder",void 0),(0,a.Cg)([(0,s.MZ)()],d.prototype,"forwardCoefficients",void 0),(0,a.Cg)([(0,u.w)("forwardCoefficients",["coeffX","coeffY"])],d.prototype,"readForwardCoefficients",null),(0,a.Cg)([(0,f.K)("forwardCoefficients")],d.prototype,"writeForwardCoefficients",null),(0,a.Cg)([(0,s.MZ)({json:{write:!0}})],d.prototype,"inverseCoefficients",null),(0,a.Cg)([(0,u.w)("inverseCoefficients",["inverseCoeffX","inverseCoeffY"])],d.prototype,"readInverseCoefficients",null),(0,a.Cg)([(0,f.K)("inverseCoefficients")],d.prototype,"writeInverseCoefficients",null),(0,a.Cg)([(0,s.MZ)()],d.prototype,"affectsPixelSize",null),(0,a.Cg)([(0,h.e)({PolynomialXform:"polynomial"})],d.prototype,"type",void 0),d=r=(0,a.Cg)([(0,s.$K)("esri.layers.raster.transforms.PolynomialTransform")],d)},25943(e,t,i){i.d(t,{d:()=>I});var r,a=i(32198),s=i(56507),n=i(69622),l=i(49186),o=i(36563),u=(i(44208),i(66344)),f=i(15142),h=i(17676),c=i(36708),p=i(76030),d=i(84952),m=i(91429),g=i(72802),y=i(4718),w=i(69397);class v{constructor(e){!function(e){if(!e?.location)throw new l.A("tilemap:missing-location","Location missing from tilemap response");if(!1===e.valid)throw new l.A("tilemap:invalid","Tilemap response was marked as invalid");if(!e.data)throw new l.A("tilemap:missing-data","Data missing from tilemap response");if(!Array.isArray(e.data))throw new l.A("tilemap:data-mismatch","Data must be an array of numbers");if(e.data.length!==e.location.width*e.location.height)throw new l.A("tilemap:data-mismatch","Number of data items does not match width/height of tilemap")}(e);let{location:t,data:i}=e;this.location=Object.freeze((0,y.o8)(t));let r=this.location.width,a=this.location.height,s=!0,n=!0,o=function(e,t=!1){return e<=1024?t?Array(e).fill(0):Array(e):new Uint32Array(e)}(Math.ceil(r*a/32)),u=0;for(let e=0;e<i.length;e++){let t=e%32;i[e]?(n=!1,o[u]|=1<<t):s=!1,31===t&&++u}n?(this._availability="unavailable",this.byteSize=40):s?(this._availability="available",this.byteSize=40):(this._availability=o,this.byteSize=40+(0,w.Qf)(o))}getAvailability(e,t){if("unavailable"===this._availability||"available"===this._availability)return this._availability;let i=(e-this.location.top)*this.location.width+(t-this.location.left),r=i%32,a=i>>5,s=this._availability;return a<0||a>s.length?"unknown":s[a]&1<<r?"available":"unavailable"}static fromDefinition(e,t){let i=e.service.request||s.A,{row:r,col:a,width:n,height:o}=e,u={query:{f:"json"}};return t=t?{...u,...t}:u,i(function(e){let t;if(e.service.tileServers?.length){let i=e.service.tileServers;t=`${i&&i.length?i[e.row%i.length]:e.service.url}/tilemap/${e.level}/${e.row}/${e.col}/${e.width}/${e.height}`}else t=`${e.service.url}/tilemap/${e.level}/${e.row}/${e.col}/${e.width}/${e.height}`;let i=e.service.query;return i&&(t=`${t}?${i}`),t}(e),t).then(e=>e.data).catch(e=>{if(422===e?.details?.httpStatus)return{location:{top:r,left:a,width:n,height:o},valid:!0,data:Array(n*o).fill(0)};throw e}).then(e=>{if(e.location&&(e.location.top!==r||e.location.left!==a||e.location.width!==n||e.location.height!==o))throw new l.A("tilemap:location-mismatch","Tilemap response for different location than requested",{response:e,definition:{top:r,left:a,width:n,height:o}});return v.fromJSON(e)})}static fromJSON(e){return Object.freeze(new v(e))}}function x(e){return`${e.level}/${e.row}/${e.col}/${e.width}/${e.height}`}function b(e,t,i){return new l.A("tile-map:tile-unavailable","Tile is not available",{level:e,row:t,col:i})}let I=class extends n.A{static{r=this}constructor(e){super(e),this._pendingTilemapRequests={},this.request=s.A,this.size=32,this._prefetchingEnabled=!0}initialize(){this._tilemapCache=new u.q(2097152),this.addHandles((0,c.wB)(()=>{let{layer:e}=this;return[e?.parsedUrl,e?.tileServers,e?.apiKey,e?.customParameters]},()=>this._initializeTilemapDefinition(),c.Vh))}get effectiveMinLOD(){return this.minLOD??this.layer.tileInfo.lods[0].level}get effectiveMaxLOD(){return this.maxLOD??this.layer.tileInfo.lods[this.layer.tileInfo.lods.length-1].level}getAvailability(e,t,i){if(!this.layer.tileInfo.lodAt(e)||e<this.effectiveMinLOD||e>this.effectiveMaxLOD)return"unavailable";let r=this._tilemapFromCache(e,t,i,this._tmpTilemapDefinition);return r?r.getAvailability(t,i):"unknown"}fetchAvailability(e,t,i,r){return!this.layer.tileInfo.lodAt(e)||e<this.effectiveMinLOD||e>this.effectiveMaxLOD?Promise.reject(b(e,t,i)):this._fetchTilemap(e,t,i,r).catch(e=>e).then(r=>{if(r instanceof v){let a=r.getAvailability(t,i);if("unavailable"===a)throw b(e,t,i);return a}if((0,h.zf)(r))throw r;return"unknown"})}fetchAvailabilityUpsample(e,t,i,r,a){r.level=e,r.row=t,r.col=i;let s=this.layer.tileInfo;s.updateTileInfo(r);let n=this.fetchAvailability(e,t,i,a).catch(e=>{if((0,h.zf)(e))throw e;if(s.upsampleTile(r))return this.fetchAvailabilityUpsample(r.level,r.row,r.col,r,a);throw e});return this._fetchAvailabilityUpsamplePrefetch(e,t,i,a,n),n}async _fetchAvailabilityUpsamplePrefetch(e,t,i,a,s){if(!this._prefetchingEnabled)return;let n=`prefetch-${e}-${t}-${i}`;if(this.hasHandles(n))return;let l=new AbortController;s.then(()=>l.abort(),()=>l.abort());let u=!1,f=(0,o.hA)(()=>{u||(u=!0,l.abort())});if(this.addHandles(f,n),await(0,p.md)(10,l.signal).catch(()=>{}),u||(u=!0,this.removeHandles(n)),(0,h.G4)(l))return;let c=new g.U(e,t,i),d={...a,signal:l.signal},m=this.layer.tileInfo;for(let e=0;r._prefetches.length<r._maxPrefetch&&m.upsampleTile(c);++e){let e=this.fetchAvailability(c.level,c.row,c.col,d);r._prefetches.push(e);let t=()=>{r._prefetches.removeUnordered(e)};e.then(t,t)}}static{this._maxPrefetch=4}static{this._prefetches=new f.A({initialSize:r._maxPrefetch})}static cleanupTilemapCache(){this._prefetches.prune()}_fetchTilemap(e,t,i,r){if(!this.layer.tileInfo.lodAt(e)||e<this.effectiveMinLOD||e>this.effectiveMaxLOD)return Promise.reject(new l.A("tilemap-cache:level-unavailable",`Level ${e} is unavailable in the service`));let a=this._tmpTilemapDefinition,s=this._tilemapFromCache(e,t,i,a);if(s)return Promise.resolve(s);let n=r?.signal;return r={...r,signal:null},new Promise((e,t)=>{(0,h.u7)(n,()=>t((0,h.NK)()));let i=x(a),s=this._pendingTilemapRequests[i];if(!s){s=v.fromDefinition(a,r).then(e=>(this._tilemapCache.put(i,e,e.byteSize),e));let e=()=>{delete this._pendingTilemapRequests[i]};this._pendingTilemapRequests[i]=s,s.then(e,e)}s.then(e,t)})}_initializeTilemapDefinition(){if(!this.layer.parsedUrl)return;let{parsedUrl:e,apiKey:t,customParameters:i}=this.layer;this._tilemapCache.clear(),this._tmpTilemapDefinition={service:{url:e.path,query:(0,d.x0)({...e.query,...i,token:t??e.query?.token}),tileServers:this.layer.tileServers,request:this.request},width:this.size,height:this.size,level:0,row:0,col:0}}_tilemapFromCache(e,t,i,r){r.level=e,r.row=t-t%this.size,r.col=i-i%this.size;let a=x(r);return this._tilemapCache.get(a)}get test(){}};(0,a.Cg)([(0,m.MZ)({constructOnly:!0})],I.prototype,"layer",void 0),(0,a.Cg)([(0,m.MZ)({constructOnly:!0})],I.prototype,"minLOD",void 0),(0,a.Cg)([(0,m.MZ)({constructOnly:!0})],I.prototype,"maxLOD",void 0),(0,a.Cg)([(0,m.MZ)({constructOnly:!0})],I.prototype,"request",void 0),(0,a.Cg)([(0,m.MZ)({constructOnly:!0})],I.prototype,"size",void 0),I=r=(0,a.Cg)([(0,m.$K)("esri.layers.support.TilemapCache")],I)},82371(e,t,i){i.d(t,{E9:()=>d,Tw:()=>c,X6:()=>p});var r=i(56507),a=i(5443),s=i(86738),n=i(16930),l=i(87186),o=i(20223),u=i(2272),f=i(22671);async function h(e,t,i){let h=(0,u.Dl)(e),{rasterFunction:c,sourceJSON:p}=t||{},d=c?JSON.stringify(c.rasterFunctionDefinition||c):null,m=(0,u.lF)({...h.query,renderingRule:d,f:"json"}),g=(0,u.jV)(m,i);e=h.path;let y=p||await(0,r.A)(e,g).then(e=>e.data),{currentVersion:w}=y,v=y.hasRasterAttributeTable?(0,r.A)(`${e}/rasterAttributeTable`,g):null,x=y.hasColormap?(0,r.A)(`${e}/colormap`,g):null,b=y.hasHistograms?(0,r.A)(`${e}/histograms`,g):null,I=w>=10.3?(0,r.A)(`${e}/keyProperties`,g):null,C=y.hasMultidimensions?(0,r.A)(`${e}/multidimensionalInfo`,g):null,S=(c?w>=10.91:w>=10.81)?(0,r.A)(`${e}/statistics`,g):null,A=await Promise.allSettled([v,x,b,I,C,S]),_=a.A.fromJSON(y.extent),T=Math.ceil(_.width/y.pixelSizeX-.1),R=Math.ceil(_.height/y.pixelSizeY-.1),M=n.A.fromJSON(y.spatialReference||y.extent.spatialReference),O="fulfilled"===A[0].status?A[0].value?.data:null,F=O?.features?.length?f.A.fromJSON(O):null,k="fulfilled"===A[1].status?A[1].value?.data.colormap:null,P=k?.length?k:null,D="fulfilled"===A[2].status?A[2].value?.data.histograms:null,N=D?.[0]?.counts?.length?D:null,L="fulfilled"===A[3].status?A[3].value?.data??{}:{},B="fulfilled"===A[4].status?A[4].value?.data.multidimensionalInfo:null,z=B?.variables?.length?B:null;var E;(E=z)&&E.variables.forEach(e=>{e.statistics?.length&&e.statistics.forEach(e=>{e.avg=e.mean,e.stddev=e.standardDeviation}),e.dimensions?.forEach(e=>{"StdTime"===e.name&&!e.recurring&&!e.unit&&(e.unit="ISO8601")})});let J=function(e,t){let i=null;t&&t.length===e.bandCount&&(i=t.map(e=>{let t=e.covariances?.trim(),i=t?t.split(",").map(Number):void 0;return{avg:e.mean,count:e.count,max:e.max,median:e.median,min:e.min,mode:e.mode,stddev:e.standardDeviation,sum:e.sum,covariances:i}}));let r=e.minValues?.length===e.bandCount?e.minValues.map((t,i)=>({min:t,max:e.maxValues[i],avg:e.meanValues[i],stddev:e.stdvValues[i]})):null;return null==r||null==i||i.some((e,t)=>e.min!==r[t]?.min||e.max!==r[t]?.max||e.avg!==r[t]?.avg||e.stddev!==r[t]?.stddev)?r:i}(y,"fulfilled"===A[5].status?A[5].value?.data.statistics:null),{defaultVariable:H,serviceDataType:$}=y;H&&H!==L.DefaultVariable&&(L.DefaultVariable=H),$?.includes("esriImageServiceDataTypeVector")&&!$.includes(L.DataType)&&(L.DataType=$.replace("esriImageServiceDataType",""));let U=y.noDataValue;y.noDataValues?.length&&y.noDataValues.some(e=>e!==U)&&(U=y.noDataValues);let Z=y.transposeInfo?new o.A({blockWidth:256,blockHeight:256,pyramidBlockWidth:256,pyramidBlockHeight:256,pyramidScalingFactor:2,compression:"lerc",origin:new s.A({x:y.extent.xmin,y:y.extent.ymax,spatialReference:M}),firstPyramidLevel:1,maximumPyramidLevel:Math.max(0,Math.round(Math.log(Math.max(T,R))/Math.LN2-8)),transposeInfo:y.transposeInfo}):void 0;return new l.A({width:T,height:R,bandCount:y.bandCount,extent:a.A.fromJSON(y.extent),spatialReference:M,pixelSize:new s.A({x:y.pixelSizeX,y:y.pixelSizeY,spatialReference:M}),pixelType:y.pixelType.toLowerCase(),statistics:J,attributeTable:F,colormap:P,histograms:N,keyProperties:L,noDataValue:U,multidimensionalInfo:z,storageInfo:Z})}function c(e,t,i){return h(e,{sourceJSON:t},i)}function p(e,t,i){return h(e,{rasterFunction:t},i)}function d(e,t){e.attributeTable||(t.hasRasterAttributeTable=!1),e.histograms||(t.hasHistograms=!1),e.colormap||(t.hasColormap=!1),e.multidimensionalInfo||(t.hasMultidimensions=!1)}},2272(e,t,i){i.d(t,{Dl:()=>u,gf:()=>h,jV:()=>o,lF:()=>f});var r=i(92602),a=i(70333),s=i(4718),n=i(84952),l=i(926);function o(e,t){return t?{...t,query:{...e,...t.query}}:{query:e}}function u(e){return"string"==typeof e?(0,n.An)(e):(0,s.o8)(e)}function f(e,t,i){let r={};for(let a in e){if("declaredClass"===a)continue;let s=e[a];if(null!=s&&"function"!=typeof s)if(Array.isArray(s))r[a]=s.map(e=>f(e));else if("object"==typeof s)if(s.toJSON){let e=s.toJSON(i?.[a]);r[a]=t?e:JSON.stringify(e)}else r[a]=t?s:JSON.stringify(s);else r[a]=s}return r}async function h(e,t,s){return function(e,t){return e?t&&(0,l.Qc)(e)?t:(0,l.getApiKey)(e)??a.id?.findCredential(e)?.token:null}(e,t)||(!a.id&&r.A.request.useIdentity&&await Promise.all([i.e(8673),i.e(7956),i.e(4189)]).then(()=>i(98232)),(await a.id.getCredential(e,s))?.token)}},24212(e,t,i){i.d(t,{$7:()=>o,B:()=>l,M7:()=>h,XF:()=>f,tW:()=>u,w7:()=>n});var r=i(56512),a=i(86211),s=i(16271);function n(e,t){return function(e,t){return t?.mode?t.mode:function(e){return e?c:p}(e).mode}(null==e||(e.hasZ??!1),t)}function l(e,t,i){return i&&i.mode!==t?`${e} only support ${t} elevation mode`:null}function o(e,t,i){return i?.mode===t?`${e} do not support ${t} elevation mode`:null}function u(e,t){return null!=t?.featureExpressionInfo&&"0"!==t.featureExpressionInfo.expression?`${e} do not support featureExpressionInfo`:null}function f(e,t){t&&e.warn(".elevationInfo=",t)}function h(e){return(e?.offset??0)*(0,s.Ao)(e?.unit)}(0,r.B)((e,t,i)=>{if(!e||"decimal-degrees"===t)return 0;let r="unknown"!==t&&t?t:"meters",s=(0,a.mq)(i);return s?(0,a.oU)(e,r,s):0});const c={mode:"absolute-height",offset:0},p={mode:"on-the-ground",offset:null}}}]);