@arcgis/core 4.22.0-next.20211021 → 4.22.0-next.20211025

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 (440) hide show
  1. package/assets/esri/core/workers/RemoteClient.js +1 -1
  2. package/assets/esri/core/workers/chunks/00ac1ce56f9885a8be83.js +1 -0
  3. package/assets/esri/core/workers/chunks/01c9afe41ab4ccc597c9.js +1 -0
  4. package/assets/esri/core/workers/chunks/02a3d14adc504a51fa24.js +1 -0
  5. package/assets/esri/core/workers/chunks/035a9ab0202d5386b782.js +1 -0
  6. package/assets/esri/core/workers/chunks/062bace5505f13689c7d.js +1 -0
  7. package/assets/esri/core/workers/chunks/06c7745d813bcb540ce8.js +1 -0
  8. package/assets/esri/core/workers/chunks/0950b488a60b2abc21fc.js +1 -0
  9. package/assets/esri/core/workers/chunks/0af396f2e0de681113ef.js +1 -0
  10. package/assets/esri/core/workers/chunks/131838059f0f81d8eaee.js +1 -0
  11. package/assets/esri/core/workers/chunks/146cba0d172ec2f4eba2.js +1 -0
  12. package/assets/esri/core/workers/chunks/17e49c0dfa5a5a6213e2.js +1 -0
  13. package/assets/esri/core/workers/chunks/1a0b08190274725dc956.js +1 -0
  14. package/assets/esri/core/workers/chunks/1add7f0779accdf8d204.js +1 -0
  15. package/assets/esri/core/workers/chunks/20b81d11e6286d347bfc.js +1 -0
  16. package/assets/esri/core/workers/chunks/{e596bd3de960d1dc1c57.js → 2207580a78ee292ed9b8.js} +1 -1
  17. package/assets/esri/core/workers/chunks/2d3646a83465c75986f9.js +1 -0
  18. package/assets/esri/core/workers/chunks/2d38ee3ef3ebe32a1194.js +1 -0
  19. package/assets/esri/core/workers/chunks/3737dcc3c0dea3ca05d5.js +1 -0
  20. package/assets/esri/core/workers/chunks/3e2042e70647c1afa6aa.js +1 -0
  21. package/assets/esri/core/workers/chunks/3ebfaab2855a2236a95d.js +1 -0
  22. package/assets/esri/core/workers/chunks/{d6fe616192a8efbfbc3e.js → 440f8101402a4c0d7019.js} +1 -1
  23. package/assets/esri/core/workers/chunks/4587d770767966985e22.js +1 -0
  24. package/assets/esri/core/workers/chunks/487b8892fae85810a8c0.js +1 -0
  25. package/assets/esri/core/workers/chunks/4901a78f32c3ea6b823b.js +1 -0
  26. package/assets/esri/core/workers/chunks/496fe47fc4d28e1a716d.js +1 -0
  27. package/assets/esri/core/workers/chunks/{9f22f47d4b2e72d7bdcf.js → 4c010119c24510ea31bb.js} +2 -2
  28. package/assets/esri/core/workers/chunks/{9f22f47d4b2e72d7bdcf.js.LICENSE.txt → 4c010119c24510ea31bb.js.LICENSE.txt} +0 -0
  29. package/assets/esri/core/workers/chunks/4f5076e1f2b18ce8156d.js +1 -0
  30. package/assets/esri/core/workers/chunks/{f291ebc4b089bd1f0a3f.js → 50e86a6bb13042b1dbac.js} +1 -1
  31. package/assets/esri/core/workers/chunks/{64d9a062c1f1ac08a3ac.js → 565020b1c02a8cb33c2b.js} +1 -1
  32. package/assets/esri/core/workers/chunks/{d78c60a22f76df7c48c7.js → 59640d78295e2e363f18.js} +1 -1
  33. package/assets/esri/core/workers/chunks/{a0356f320a1b2fbd03f0.js → 5ac2b2598245aa17cdbd.js} +1 -1
  34. package/assets/esri/core/workers/chunks/5b4a8cce5601cc92c8a3.js +1 -0
  35. package/assets/esri/core/workers/chunks/5b92d5d4049622531109.js +1 -0
  36. package/assets/esri/core/workers/chunks/{751c1a2838b54a74a9a6.js → 5f3caa0ddb215342c728.js} +2 -2
  37. package/assets/esri/core/workers/chunks/615e995d5ce8fa044b09.js +1 -0
  38. package/assets/esri/core/workers/chunks/62a2453699e0dd2393b9.js +1 -0
  39. package/assets/esri/core/workers/chunks/67013547be1a7ae1670a.js +1 -0
  40. package/assets/esri/core/workers/chunks/67eddf4808f8888faeb4.js +1 -0
  41. package/assets/esri/core/workers/chunks/695dbedff2340aa019ba.js +1 -0
  42. package/assets/esri/core/workers/chunks/6a7e388c94206d2f61ff.js +1 -0
  43. package/assets/esri/core/workers/chunks/6e22b69d55e791ab3d9a.js +1 -0
  44. package/assets/esri/core/workers/chunks/71e6c0c5ef0aa7eb1703.js +1 -0
  45. package/assets/esri/core/workers/chunks/7a74e230439c5111f852.js +1 -0
  46. package/assets/esri/core/workers/chunks/7e76a8e6fa67e607d09e.js +1 -0
  47. package/assets/esri/core/workers/chunks/7fe4985ca0cb3e6d35c6.js +1 -0
  48. package/assets/esri/core/workers/chunks/8027330714ff5ffb020e.js +1 -0
  49. package/assets/esri/core/workers/chunks/844b564d1a422a17f6ac.js +1 -0
  50. package/assets/esri/core/workers/chunks/856f9281a08cb032238e.js +1 -0
  51. package/assets/esri/core/workers/chunks/89b4983de872780e9aa1.js +1 -0
  52. package/assets/esri/core/workers/chunks/8f3bc0cd2c2b01ab80cd.js +1 -0
  53. package/assets/esri/core/workers/chunks/8fd912e325ccd48b98a9.js +1 -0
  54. package/assets/esri/core/workers/chunks/901907a5c01f0fd1478f.js +1 -0
  55. package/assets/esri/core/workers/chunks/92a0b88a14c92239df8a.js +1 -0
  56. package/assets/esri/core/workers/chunks/972e9aeb3c29c9bf441a.js +1 -0
  57. package/assets/esri/core/workers/chunks/9758c34ce61c3714515a.js +1 -0
  58. package/assets/esri/core/workers/chunks/{457ea4feaa006d60c6b1.js → 9a04d087a29f0f3937a3.js} +1 -1
  59. package/assets/esri/core/workers/chunks/9b0bb171224b35ce2031.js +1 -0
  60. package/assets/esri/core/workers/chunks/9cbe7afdaef8720dfc8d.js +1 -0
  61. package/assets/esri/core/workers/chunks/9ccde5b6562f0007fe45.js +1 -0
  62. package/assets/esri/core/workers/chunks/9d320bbeedeea15522ab.js +1 -0
  63. package/assets/esri/core/workers/chunks/a001b3b4527817548094.js +1 -0
  64. package/assets/esri/core/workers/chunks/{197b72bca45065e0eb4a.js → a0c580d4a1915ddd3fe4.js} +1 -1
  65. package/assets/esri/core/workers/chunks/a4a9c15929b43d83701f.js +1 -0
  66. package/assets/esri/core/workers/chunks/a54d11f44721f808b82f.js +1 -0
  67. package/assets/esri/core/workers/chunks/a646a11673d513c00e7a.js +1 -0
  68. package/assets/esri/core/workers/chunks/a792e2bc7cafdc29f05e.js +1 -0
  69. package/assets/esri/core/workers/chunks/acae1771697034f265b1.js +1 -0
  70. package/assets/esri/core/workers/chunks/af2ee804a9c63eea610c.js +1 -0
  71. package/assets/esri/core/workers/chunks/b28b487047da3aeef3fd.js +1 -0
  72. package/assets/esri/core/workers/chunks/b3e57824a5855cb37a96.js +1 -0
  73. package/assets/esri/core/workers/chunks/b89449ead32e4cd21edd.js +1 -0
  74. package/assets/esri/core/workers/chunks/b99891ed5a02cab02173.js +1 -0
  75. package/assets/esri/core/workers/chunks/bac84bc621be73a7a4bc.js +1 -0
  76. package/assets/esri/core/workers/chunks/{25037dcf8a0c72b7b647.js → bbe068388167e9dd0c11.js} +1 -1
  77. package/assets/esri/core/workers/chunks/c271a1857bcc4e9a36dd.js +1 -0
  78. package/assets/esri/core/workers/chunks/{eb3035e49a45ecc82575.js → c5030664720fcdc6d85e.js} +1 -1
  79. package/assets/esri/core/workers/chunks/c534ed122f8a1202d3a3.js +1 -0
  80. package/assets/esri/core/workers/chunks/c5ef2e28b0c539ddb6a7.js +1 -0
  81. package/assets/esri/core/workers/chunks/c65e5ccfae03d148d82b.js +1 -0
  82. package/assets/esri/core/workers/chunks/c91660f3982be4e03705.js +1 -0
  83. package/assets/esri/core/workers/chunks/ce93113b99bdbeddd07b.js +1 -0
  84. package/assets/esri/core/workers/chunks/cf2d408e669cfa2c65be.js +1 -0
  85. package/assets/esri/core/workers/chunks/d08f63ffeecefa02ad91.js +1 -0
  86. package/assets/esri/core/workers/chunks/{8d33644192c01e5416b4.js → d1a71b58ef62e71979c5.js} +1 -1
  87. package/assets/esri/core/workers/chunks/d30eade5afecd334f6cb.js +1 -0
  88. package/assets/esri/core/workers/chunks/d8782d0856b9d815cb6c.js +1 -0
  89. package/assets/esri/core/workers/chunks/db16c21b650001502e6c.js +1 -0
  90. package/assets/esri/core/workers/chunks/db18110c57253a31ac96.js +1 -0
  91. package/assets/esri/core/workers/chunks/dbaa5fb466d6c0214f24.js +1 -0
  92. package/assets/esri/core/workers/chunks/deae370788a7aacf4dd5.js +1 -0
  93. package/assets/esri/core/workers/chunks/e6ca132e1eeea3aa174e.js +1 -0
  94. package/assets/esri/core/workers/chunks/e878ccc431729ef3360f.js +1 -0
  95. package/assets/esri/core/workers/chunks/eb124f15ad4b9193f00a.js +1 -0
  96. package/assets/esri/core/workers/chunks/ebc71c06c1c22aaef54e.js +1 -0
  97. package/assets/esri/core/workers/chunks/f183da283af0836421ab.js +1 -0
  98. package/assets/esri/core/workers/chunks/f42bdc2a134833d33b4e.js +1 -0
  99. package/assets/esri/core/workers/chunks/{736d628cda4e02d40337.js → f8612c2fc5739e98be58.js} +1 -1
  100. package/assets/esri/core/workers/chunks/f965e3e5f6f4f9ba54ac.js +1 -0
  101. package/assets/esri/core/workers/chunks/fa4089640f480b69962e.js +1 -0
  102. package/assets/esri/core/workers/chunks/fb219563e5169ea67d68.js +1 -0
  103. package/assets/esri/libs/i3s/i3s.wasm +0 -0
  104. package/chunks/ChapmanAtmosphere.glsl.js +56 -77
  105. package/chunks/Clouds.glsl.js +1 -1
  106. package/chunks/Pattern.glsl.js +9 -11
  107. package/chunks/RibbonLine.glsl.js +60 -68
  108. package/chunks/i3s.js +1 -1
  109. package/chunks/mat4.js +1 -1
  110. package/chunks/vec3.js +1 -1
  111. package/core/Collection.js +1 -1
  112. package/core/Loadable.js +1 -1
  113. package/core/accessorSupport/ensureType.js +1 -1
  114. package/core/promiseUtils.js +1 -1
  115. package/core/support/OwningCollection.js +1 -1
  116. package/core/workers/RemoteClient.js +1 -1
  117. package/core/workers/WorkerOwner.js +1 -1
  118. package/core/workers/workers.js +2 -2
  119. package/geometry/projection.js +1 -1
  120. package/identity/IdentityManagerBase.js +1 -1
  121. package/interfaces.d.ts +205 -497
  122. package/layers/ElevationLayer.js +1 -1
  123. package/layers/GeoJSONLayer.js +1 -1
  124. package/layers/ImageryTileLayer.js +1 -1
  125. package/layers/VectorTileLayer.js +1 -1
  126. package/layers/VoxelWasmPerScene.js +1 -1
  127. package/layers/WCSLayer.js +1 -1
  128. package/layers/analyses/AreaMeasurement3D.js +1 -1
  129. package/layers/analyses/DirectLineMeasurement3D.js +1 -1
  130. package/layers/analyses/Slice.js +1 -1
  131. package/layers/effects/EffectList.js +1 -1
  132. package/layers/effects/effects.js +1 -1
  133. package/layers/effects/jsonUtils.js +1 -1
  134. package/layers/effects/parser.js +1 -1
  135. package/layers/effects/utils.js +5 -0
  136. package/layers/graphics/controllers/FeatureTileController3D.js +1 -1
  137. package/layers/graphics/controllers/I3SOnDemandController.js +1 -1
  138. package/layers/graphics/data/QueryEngine.js +1 -1
  139. package/layers/graphics/data/QueryEngineResult.js +1 -1
  140. package/layers/graphics/sources/connections/GeoEventConnection.js +1 -1
  141. package/layers/mixins/ImageryTileMixin.js +1 -1
  142. package/layers/support/RasterWorker.js +1 -1
  143. package/layers/support/TilemapCache.js +1 -1
  144. package/layers/support/rasterDatasets/BaseRaster.js +1 -1
  145. package/layers/support/rasterDatasets/ImageServerRaster.js +1 -1
  146. package/layers/support/rasterDatasets/WCSRaster.js +1 -1
  147. package/layers/support/rasterFunctions/pixelUtils.js +1 -1
  148. package/layers/support/rasterFunctions/rasterProjectionHelper.js +1 -1
  149. package/package.json +2 -2
  150. package/portal/support/portalLayers.js +1 -1
  151. package/request.js +1 -1
  152. package/smartMapping/renderers/support/utils.js +1 -1
  153. package/smartMapping/statistics/support/WorkerClient.js +1 -1
  154. package/smartMapping/statistics/support/statsWorker.js +1 -1
  155. package/smartMapping/statistics/support/utils.js +1 -1
  156. package/smartMapping/support/adapters/CSVLayerAdapter.js +1 -1
  157. package/smartMapping/support/adapters/FeatureLayerAdapter.js +1 -1
  158. package/smartMapping/support/adapters/SceneLayerAdapter.js +1 -1
  159. package/smartMapping/support/adapters/support/utils.js +1 -1
  160. package/statistics/utils.js +1 -1
  161. package/support/GraphicsCollection.js +1 -1
  162. package/support/revision.js +1 -1
  163. package/symbols/FillSymbol3DLayer.js +1 -1
  164. package/symbols/IconSymbol3DLayer.js +1 -1
  165. package/symbols/LineSymbol3DLayer.js +1 -1
  166. package/symbols/patterns/LinePattern3D.js +5 -0
  167. package/symbols/patterns/LineStylePattern3D.d.ts +4 -0
  168. package/symbols/patterns/LineStylePattern3D.js +5 -0
  169. package/symbols/patterns/StylePattern3D.js +1 -1
  170. package/symbols/patterns/lineStyles.js +5 -0
  171. package/symbols/patterns/utils.js +1 -1
  172. package/symbols/support/Symbol3DFillMaterial.js +1 -1
  173. package/symbols/support/Symbol3DIconOutline.js +5 -0
  174. package/symbols/support/Symbol3DMaterial.js +1 -1
  175. package/symbols/support/Symbol3DOutline.js +1 -1
  176. package/symbols/support/defaults3D.js +1 -1
  177. package/symbols/support/previewSymbol3D.js +1 -1
  178. package/symbols/support/symbolLayerUtils3D.js +1 -1
  179. package/views/2d/engine/vectorTiles/TileParser.js +1 -1
  180. package/views/2d/engine/vectorTiles/VectorTileContainer.js +1 -1
  181. package/views/2d/engine/vectorTiles/style/StyleRepository.js +1 -1
  182. package/views/2d/engine/webgl/effects/HittestEffect.js +1 -1
  183. package/views/2d/layers/FeatureLayerView2D.js +1 -1
  184. package/views/2d/layers/ImageryLayerView2D.js +1 -1
  185. package/views/2d/layers/ImageryTileLayerView2D.js +1 -1
  186. package/views/2d/layers/VectorTileLayerView2D.js +1 -1
  187. package/views/2d/layers/features/controllers/EditsQueue.js +1 -1
  188. package/views/2d/layers/features/controllers/FeatureController2D.js +1 -1
  189. package/views/2d/layers/features/support/AttributeStore.js +1 -1
  190. package/views/2d/layers/graphics/GraphicsView2D.js +1 -1
  191. package/views/2d/layers/support/FeatureLayerProxy.js +1 -1
  192. package/views/3d/environment/ChapmanAtmosphere.js +1 -1
  193. package/views/3d/environment/ChapmanAtmosphereTechnique.js +1 -1
  194. package/views/3d/environment/CloudsGenerator.js +1 -1
  195. package/views/3d/environment/EnvironmentRenderer.js +1 -1
  196. package/views/3d/environment/PanoramicAtmosphere.js +1 -1
  197. package/views/3d/environment/SimpleAtmosphere.js +1 -1
  198. package/views/3d/externalRenderers/ExternalRendererStore.js +1 -1
  199. package/views/3d/externalRenderers.js +1 -1
  200. package/views/3d/interactive/Manipulator3D.js +1 -1
  201. package/views/3d/interactive/analysisTools/slice/SliceTool.js +1 -1
  202. package/views/3d/interactive/analysisTools/slice/images/Factory.js +5 -0
  203. package/views/3d/interactive/analysisTools/slice/sliceToolConfig.js +1 -1
  204. package/views/3d/interactive/analysisTools/slice/sliceToolUtils.js +1 -1
  205. package/views/3d/interactive/editingTools/settings.js +1 -1
  206. package/views/3d/interactive/editingTools/transformGraphic/ExtentTransformTool.js +1 -1
  207. package/views/3d/interactive/graphics/Slice/SliceController.js +1 -1
  208. package/views/3d/interactive/measurementTools/areaMeasurement3D/AreaMeasurement3DTool.js +1 -1
  209. package/views/3d/interactive/measurementTools/areaMeasurement3D/AreaMeasurement3DView.js +1 -1
  210. package/views/3d/interactive/measurementTools/directLineMeasurement3D/DirectLineMeasurement3DView.js +1 -1
  211. package/views/3d/interactive/visualElements/ExtendedLineVisualElement.js +1 -1
  212. package/views/3d/interactive/visualElements/LaserlineVisualElement.js +1 -1
  213. package/views/3d/interactive/visualElements/LineVisualElement.js +1 -1
  214. package/views/3d/interactive/visualElements/MeasurementAreaVisualElement.js +1 -1
  215. package/views/3d/interactive/visualElements/MeasurementArrowVisualElement.js +1 -1
  216. package/views/3d/interactive/visualElements/OutlineVisualElement.js +1 -1
  217. package/views/3d/interactive/visualElements/ParallelLineVisualElement.js +1 -1
  218. package/views/3d/interactive/visualElements/PointVisualElement.js +1 -1
  219. package/views/3d/interactive/visualElements/RightAngleQuadVisualElement.js +1 -1
  220. package/views/3d/interactive/visualElements/SlicePlaneVisualElement.js +1 -1
  221. package/views/3d/interactive/visualElements/VerticesVisualElement.js +1 -1
  222. package/views/3d/layers/BuildingSceneLayerView3D.js +1 -1
  223. package/views/3d/layers/DynamicLayerView3D.js +1 -1
  224. package/views/3d/layers/I3SMeshView3D.js +1 -1
  225. package/views/3d/layers/PointCloudLayerView3D.js +1 -1
  226. package/views/3d/layers/VectorTileLayerView3D.js +1 -1
  227. package/views/3d/layers/analyses/AreaMeasurement3D/AreaMeasurementView3D.js +1 -1
  228. package/views/3d/layers/analyses/AreaMeasurement3D/support/AreaMeasurementPathHelper.js +1 -1
  229. package/views/3d/layers/analyses/AreaMeasurement3D/support/AreaMeasurementVisualization.js +1 -1
  230. package/views/3d/layers/analyses/DirectLineMeasurement3D/DirectLineMeasurementView3D.js +1 -1
  231. package/views/3d/layers/graphics/Deconflictor.js +1 -1
  232. package/views/3d/layers/graphics/ElevationAligners.js +1 -1
  233. package/views/3d/layers/graphics/ElevationQuery.js +1 -1
  234. package/views/3d/layers/graphics/Graphics3DCore.js +1 -1
  235. package/views/3d/layers/graphics/Graphics3DExtrudeSymbolLayer.js +1 -1
  236. package/views/3d/layers/graphics/Graphics3DIconSymbolLayer.js +1 -1
  237. package/views/3d/layers/graphics/Graphics3DLineCalloutSymbolLayer.js +1 -1
  238. package/views/3d/layers/graphics/Graphics3DLineSymbolLayer.js +1 -1
  239. package/views/3d/layers/graphics/Graphics3DLodInstanceGraphicLayer.js +1 -1
  240. package/views/3d/layers/graphics/Graphics3DMeshFillSymbolLayer.js +1 -1
  241. package/views/3d/layers/graphics/Graphics3DObject3DGraphicLayer.js +1 -1
  242. package/views/3d/layers/graphics/Graphics3DObjectSymbolLayer.js +1 -1
  243. package/views/3d/layers/graphics/Graphics3DPathSymbolLayer.js +1 -1
  244. package/views/3d/layers/graphics/Graphics3DPolygonFillSymbolLayer.js +1 -1
  245. package/views/3d/layers/graphics/Graphics3DSymbol.js +1 -1
  246. package/views/3d/layers/graphics/Graphics3DTextSymbolLayer.js +1 -1
  247. package/views/3d/layers/graphics/Graphics3DWaterSymbolLayer.js +1 -1
  248. package/views/3d/layers/graphics/Graphics3DWebStyleSymbol.js +1 -1
  249. package/views/3d/layers/graphics/Labeler.js +1 -1
  250. package/views/3d/layers/graphics/Loadable.js +1 -1
  251. package/views/3d/layers/graphics/ObjectResourceCache.js +1 -1
  252. package/views/3d/layers/graphics/elevationAlignmentUtils.js +1 -1
  253. package/views/3d/layers/graphics/graphicUtils.js +1 -1
  254. package/views/3d/layers/graphics/labelPlacement.js +1 -1
  255. package/views/3d/layers/graphics/pointUtils.js +1 -1
  256. package/views/3d/layers/i3s/I3SAttributeOverrides.js +1 -1
  257. package/views/3d/layers/i3s/I3SMaterialUtil.js +1 -1
  258. package/views/3d/layers/i3s/I3SStreamDataController.js +1 -1
  259. package/views/3d/layers/i3s/PointRenderer.js +1 -1
  260. package/views/3d/layers/support/FastSymbolUpdates.js +1 -1
  261. package/views/3d/layers/support/FeatureTileFetcher3D.js +1 -1
  262. package/views/3d/layers/support/patternUtils.js +1 -1
  263. package/views/3d/state/GoToOperation.js +1 -1
  264. package/views/3d/state/ViewStateManager.js +1 -1
  265. package/views/3d/support/LaserLineRenderer.js +1 -1
  266. package/views/3d/support/SharedSymbolResources.js +1 -1
  267. package/views/3d/support/StreamDataLoader.js +1 -1
  268. package/views/3d/support/StreamTextureCollection.js +5 -0
  269. package/views/3d/support/TextureCollection.js +1 -1
  270. package/views/3d/support/debugFlags.js +1 -1
  271. package/views/3d/support/pointsOfInterest/CameraOnSurface.js +1 -1
  272. package/views/3d/support/pointsOfInterest/CenterOnSurface.js +1 -1
  273. package/views/3d/support/pointsOfInterest/StableSurfaceCenter.js +1 -1
  274. package/views/3d/terrain/OverlayManager.js +1 -1
  275. package/views/3d/terrain/OverlayRenderTarget.js +1 -1
  276. package/views/3d/terrain/OverlayRenderer.js +1 -1
  277. package/views/3d/terrain/Tile.js +1 -1
  278. package/views/3d/webgl-engine/Stage.js +1 -1
  279. package/views/3d/webgl-engine/core/material/RenderTexture.js +1 -1
  280. package/views/3d/webgl-engine/core/shaderLibrary/shading/LineStipple.glsl.js +13 -12
  281. package/views/3d/webgl-engine/core/shaderLibrary/shading/Reprojection.glsl.js +1 -1
  282. package/views/3d/webgl-engine/core/shaderLibrary/util/CloudsParallaxShading.glsl.js +10 -3
  283. package/views/3d/webgl-engine/core/shaderTechnique/ShaderTechniqueRepository.js +1 -1
  284. package/views/3d/webgl-engine/lib/Camera.js +1 -1
  285. package/views/3d/webgl-engine/lib/GLMaterialRepository.js +1 -1
  286. package/views/3d/webgl-engine/lib/GLMaterialTexture.js +1 -1
  287. package/views/3d/webgl-engine/lib/GLMaterials.js +1 -1
  288. package/views/3d/webgl-engine/lib/Material.js +1 -1
  289. package/views/3d/webgl-engine/lib/ModelDirtySet.js +1 -1
  290. package/views/3d/webgl-engine/lib/Object3D.js +1 -1
  291. package/views/3d/webgl-engine/lib/Renderer.js +1 -1
  292. package/views/3d/webgl-engine/lib/ShadowAccumulator.js +1 -1
  293. package/views/3d/webgl-engine/lib/ShadowCastRenderer.js +1 -1
  294. package/views/3d/webgl-engine/lib/SmaaRenderPass.js +1 -1
  295. package/views/3d/webgl-engine/lib/TextTexture.js +1 -1
  296. package/views/3d/webgl-engine/lib/TextTextureAtlas.js +1 -1
  297. package/views/3d/webgl-engine/lib/Texture.js +1 -1
  298. package/views/3d/webgl-engine/lib/TextureRepository.js +1 -1
  299. package/views/3d/webgl-engine/lib/depthRangeUtils.js +1 -1
  300. package/views/3d/webgl-engine/lib/edgeRendering/EdgeRenderer.js +1 -1
  301. package/views/3d/webgl-engine/lib/edgeRendering/EdgeView.js +1 -1
  302. package/views/3d/webgl-engine/lib/lodRendering/LodComponentData.js +1 -1
  303. package/views/3d/webgl-engine/lib/lodRendering/LodLevel.js +1 -1
  304. package/views/3d/webgl-engine/lib/lodRendering/LodRenderer.js +1 -1
  305. package/views/3d/webgl-engine/lib/lodRendering/LodResources.js +1 -1
  306. package/views/3d/webgl-engine/materials/CheckerBoardMaterial.js +1 -1
  307. package/views/3d/webgl-engine/materials/ColorMaterial.js +1 -1
  308. package/views/3d/webgl-engine/materials/DefaultMaterial.js +1 -1
  309. package/views/3d/webgl-engine/materials/HUDMaterial.js +1 -1
  310. package/views/3d/webgl-engine/materials/ImageMaterial.js +1 -1
  311. package/views/3d/webgl-engine/materials/LineCalloutMaterial.js +1 -1
  312. package/views/3d/webgl-engine/materials/MeasurementArrowMaterial.js +1 -1
  313. package/views/3d/webgl-engine/materials/NativeLineMaterial.js +1 -1
  314. package/views/3d/webgl-engine/materials/PathMaterial.js +1 -1
  315. package/views/3d/webgl-engine/materials/PatternMaterial.js +1 -1
  316. package/views/3d/webgl-engine/materials/RibbonLineMaterial.js +1 -1
  317. package/views/3d/webgl-engine/materials/ShadedColorMaterial.js +1 -1
  318. package/views/3d/webgl-engine/materials/SlicePlaneMaterial.js +1 -1
  319. package/views/3d/webgl-engine/materials/WaterGLMaterial.js +1 -1
  320. package/views/3d/webgl-engine/materials/WaterMaterial.js +1 -1
  321. package/views/3d/webgl-engine/materials/lineStippleUtils.js +1 -1
  322. package/views/3d/webgl-engine/materials/renderers/MergedRenderer.js +1 -1
  323. package/views/3d/webgl-engine/parts/Model.js +1 -1
  324. package/views/3d/webgl-engine/parts/RenderView.js +1 -1
  325. package/views/3d/webgl-engine/shaders/RibbonLineTechnique.js +1 -1
  326. package/views/LayerViewManager.js +1 -1
  327. package/views/SceneView.js +1 -1
  328. package/views/ToolViewManager.js +1 -1
  329. package/views/interactive/snapping/featureSources/featureServiceSource/FeatureServiceTiledFetcher.js +1 -1
  330. package/views/support/AllocationTracer.js +1 -1
  331. package/views/support/DefaultsFromMap.js +1 -1
  332. package/views/support/QueueProcessor.js +1 -1
  333. package/views/webgl/capabilities/load.js +1 -1
  334. package/webscene/Slide.js +1 -1
  335. package/widgets/AreaMeasurement2D/AreaMeasurement2DTool.js +1 -1
  336. package/widgets/AreaMeasurement3D/AreaMeasurement3DViewModel.js +1 -1
  337. package/widgets/BuildingExplorer/support/layerUtils.js +1 -1
  338. package/widgets/DirectLineMeasurement3D/DirectLineMeasurement3DViewModel.js +1 -1
  339. package/widgets/DistanceMeasurement2D/DistanceMeasurement2DTool.js +1 -1
  340. package/widgets/Editor/UpdateWorkflow.js +1 -1
  341. package/widgets/Feature/FeatureViewModel.js +1 -1
  342. package/widgets/Home/HomeViewModel.js +1 -1
  343. package/widgets/Locate/LocateViewModel.js +1 -1
  344. package/widgets/Popup/PopupViewModel.js +1 -1
  345. package/widgets/Search/SearchViewModel.js +1 -1
  346. package/widgets/Search.js +1 -1
  347. package/widgets/Sketch/SketchViewModel.js +1 -1
  348. package/widgets/Slice/SliceViewModel.js +1 -1
  349. package/widgets/TimeSlider/TimeSliderViewModel.js +1 -1
  350. package/assets/esri/core/workers/chunks/0283801d442984997abe.js +0 -1
  351. package/assets/esri/core/workers/chunks/0419e14a520b8fcf3e7a.js +0 -1
  352. package/assets/esri/core/workers/chunks/05318446b6a40caea361.js +0 -1
  353. package/assets/esri/core/workers/chunks/09e714d4381649348ac9.js +0 -1
  354. package/assets/esri/core/workers/chunks/0cecd668b9d5d3f83293.js +0 -1
  355. package/assets/esri/core/workers/chunks/13a73a88efd4f464173e.js +0 -1
  356. package/assets/esri/core/workers/chunks/1576727e8174d672555b.js +0 -1
  357. package/assets/esri/core/workers/chunks/1a3cbeb0a53d03a51dad.js +0 -1
  358. package/assets/esri/core/workers/chunks/1b8524b617bfc6fe422c.js +0 -1
  359. package/assets/esri/core/workers/chunks/1dc1d750046912ff6cef.js +0 -1
  360. package/assets/esri/core/workers/chunks/21fa174c114640be5e40.js +0 -1
  361. package/assets/esri/core/workers/chunks/2a3f6e56079620421a02.js +0 -1
  362. package/assets/esri/core/workers/chunks/2a5bcc73e55986ad93fe.js +0 -1
  363. package/assets/esri/core/workers/chunks/2a6f2e3d639aae491171.js +0 -1
  364. package/assets/esri/core/workers/chunks/2c17d1bad17bcee53f7d.js +0 -1
  365. package/assets/esri/core/workers/chunks/2cea27a0d07aa9a88ad4.js +0 -1
  366. package/assets/esri/core/workers/chunks/2e193d97d199b29b00c2.js +0 -1
  367. package/assets/esri/core/workers/chunks/2eb41fdf0d0a3b0c3232.js +0 -1
  368. package/assets/esri/core/workers/chunks/2f09ea639ca5d1d6ca7e.js +0 -1
  369. package/assets/esri/core/workers/chunks/2fb847ab1440bd1bdf15.js +0 -1
  370. package/assets/esri/core/workers/chunks/402d22ebbae608760b4f.js +0 -1
  371. package/assets/esri/core/workers/chunks/44daef7f0cbc6f6af09f.js +0 -1
  372. package/assets/esri/core/workers/chunks/46899156159e398c693f.js +0 -1
  373. package/assets/esri/core/workers/chunks/46bf8921db25845c63c0.js +0 -1
  374. package/assets/esri/core/workers/chunks/4eb23554e375350f73b5.js +0 -1
  375. package/assets/esri/core/workers/chunks/551917be63a513dfa4de.js +0 -1
  376. package/assets/esri/core/workers/chunks/564f6f5484bcb13ebb2b.js +0 -1
  377. package/assets/esri/core/workers/chunks/61df67ae47b7fb5875d9.js +0 -1
  378. package/assets/esri/core/workers/chunks/62642a8fc7bafe339984.js +0 -1
  379. package/assets/esri/core/workers/chunks/6304f4e53027df04eb8f.js +0 -1
  380. package/assets/esri/core/workers/chunks/6331987617ad166ea098.js +0 -1
  381. package/assets/esri/core/workers/chunks/6b13fcbc71c0088d317e.js +0 -1
  382. package/assets/esri/core/workers/chunks/6f7a6841e7269d2764ad.js +0 -1
  383. package/assets/esri/core/workers/chunks/70110efd2de23d9a5263.js +0 -1
  384. package/assets/esri/core/workers/chunks/7eae3f0588cde44fce39.js +0 -1
  385. package/assets/esri/core/workers/chunks/80d3c7a429c6412f1a8d.js +0 -1
  386. package/assets/esri/core/workers/chunks/80deebdf54bea04a0889.js +0 -1
  387. package/assets/esri/core/workers/chunks/81aa5fe7dcb4fdeb0974.js +0 -1
  388. package/assets/esri/core/workers/chunks/840d08b41913cad4df89.js +0 -1
  389. package/assets/esri/core/workers/chunks/85d154aeb511c5d70bb1.js +0 -1
  390. package/assets/esri/core/workers/chunks/8681e99e2bc9ece61c43.js +0 -1
  391. package/assets/esri/core/workers/chunks/8e5ef967f6518f4c93b1.js +0 -1
  392. package/assets/esri/core/workers/chunks/8edd7f70c8b95c34125c.js +0 -1
  393. package/assets/esri/core/workers/chunks/9044a7b90a53312b6392.js +0 -1
  394. package/assets/esri/core/workers/chunks/905b4dfc1ce57a225fa4.js +0 -1
  395. package/assets/esri/core/workers/chunks/945f90b31ebfae623ea0.js +0 -1
  396. package/assets/esri/core/workers/chunks/9943fd69b67cd1871d68.js +0 -1
  397. package/assets/esri/core/workers/chunks/9ad91c23480ffb656030.js +0 -1
  398. package/assets/esri/core/workers/chunks/9d103681372ab01a4147.js +0 -1
  399. package/assets/esri/core/workers/chunks/9d3230f59b4c4d1b2713.js +0 -1
  400. package/assets/esri/core/workers/chunks/9db75bc0980d16b730a1.js +0 -1
  401. package/assets/esri/core/workers/chunks/a0659b8bdc067da7badd.js +0 -1
  402. package/assets/esri/core/workers/chunks/a480ee9a994410177961.js +0 -1
  403. package/assets/esri/core/workers/chunks/a9b279975d7df0f295d7.js +0 -1
  404. package/assets/esri/core/workers/chunks/aa3abaa5ad4a5a3bcb84.js +0 -1
  405. package/assets/esri/core/workers/chunks/aa8e607f908297786675.js +0 -1
  406. package/assets/esri/core/workers/chunks/ab5a302b5f62d38293f9.js +0 -1
  407. package/assets/esri/core/workers/chunks/abd6a84396e0eb3f01ad.js +0 -1
  408. package/assets/esri/core/workers/chunks/abe9f8516b03a3fb0477.js +0 -1
  409. package/assets/esri/core/workers/chunks/aff6aa5c7f75f8e052d9.js +0 -1
  410. package/assets/esri/core/workers/chunks/b601cc5304b132536239.js +0 -1
  411. package/assets/esri/core/workers/chunks/b85f614ddbddd3c3007e.js +0 -1
  412. package/assets/esri/core/workers/chunks/b944f4ab25a691b3e611.js +0 -1
  413. package/assets/esri/core/workers/chunks/bbdacddb61e651ca0098.js +0 -1
  414. package/assets/esri/core/workers/chunks/c2fa728e805637a1783e.js +0 -1
  415. package/assets/esri/core/workers/chunks/c901f5f85d962254fc2c.js +0 -1
  416. package/assets/esri/core/workers/chunks/ca173b908d89a4e334f6.js +0 -1
  417. package/assets/esri/core/workers/chunks/cc2ef3bfa1f614d7452c.js +0 -1
  418. package/assets/esri/core/workers/chunks/cdb32a9ac9f5804c4212.js +0 -1
  419. package/assets/esri/core/workers/chunks/ce9a4997973da80141a5.js +0 -1
  420. package/assets/esri/core/workers/chunks/d0674b50a358d3bb9db2.js +0 -1
  421. package/assets/esri/core/workers/chunks/d18b7b4b3b9bea7204b0.js +0 -1
  422. package/assets/esri/core/workers/chunks/d2ce983f7babdf18a0ed.js +0 -1
  423. package/assets/esri/core/workers/chunks/d38a0d867dc6cecdc551.js +0 -1
  424. package/assets/esri/core/workers/chunks/e39ca33e9e463c1d6060.js +0 -1
  425. package/assets/esri/core/workers/chunks/e471d103205018a5cf7f.js +0 -1
  426. package/assets/esri/core/workers/chunks/e542fb044fc96f7e8af2.js +0 -1
  427. package/assets/esri/core/workers/chunks/e94e00a28591337b2def.js +0 -1
  428. package/assets/esri/core/workers/chunks/eb2709ccbc001f42ac1b.js +0 -1
  429. package/assets/esri/core/workers/chunks/f905511ca5f9b59fc17f.js +0 -1
  430. package/assets/esri/core/workers/chunks/f910e80dd87727af5184.js +0 -1
  431. package/assets/esri/core/workers/chunks/f9300a24305b0af1d227.js +0 -1
  432. package/assets/esri/core/workers/chunks/fa1e1ac5b3ef7bdf8a78.js +0 -1
  433. package/assets/esri/core/workers/chunks/fce76a84c7d25d8d47e8.js +0 -1
  434. package/assets/esri/core/workers/chunks/fef4f97fbe861a1b60e8.js +0 -1
  435. package/layers/AreaMeasurementLayer.d.ts +0 -4
  436. package/layers/DirectLineMeasurementLayer.d.ts +0 -4
  437. package/symbols/support/symbolPreview.d.ts +0 -4
  438. package/symbols/support/symbolPreview.js +0 -5
  439. package/views/3d/layers/AreaMeasurementLayerView3D.d.ts +0 -4
  440. package/views/3d/layers/DirectLineMeasurementLayerView3D.d.ts +0 -4
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[8614,3172,5732],{92835:(e,t,r)=>{r.d(t,{Z:()=>p});var n,s=r(43697),i=r(10736),a=r(70586),o=r(35463),l=r(5600),c=(r(67676),r(80442),r(75215),r(71715)),u=r(52011),h=r(30556);let f=n=class extends i.wq{constructor(e){super(e),this.end=null,this.start=null}static get allTime(){return d}static get empty(){return m}readEnd(e,t){return null!=t.end?new Date(t.end):null}writeEnd(e,t){t.end=e?e.getTime():null}get isAllTime(){return this.equals(n.allTime)}get isEmpty(){return this.equals(n.empty)}readStart(e,t){return null!=t.start?new Date(t.start):null}writeStart(e,t){t.start=e?e.getTime():null}clone(){return new n({end:this.end,start:this.start})}equals(e){if(!e)return!1;const t=(0,a.pC)(this.start)?this.start.getTime():this.start,r=(0,a.pC)(this.end)?this.end.getTime():this.end,n=(0,a.pC)(e.start)?e.start.getTime():e.start,s=(0,a.pC)(e.end)?e.end.getTime():e.end;return t===n&&r===s}expandTo(e){if(this.isEmpty||this.isAllTime)return this.clone();const t=(0,a.Po)(this.start,(t=>(0,o.JE)(t,e))),r=(0,a.Po)(this.end,(t=>(0,o.Nm)((0,o.JE)(t,e),1,e)));return new n({start:t,end:r})}intersection(e){if(!e)return this.clone();if(this.isEmpty||e.isEmpty)return n.empty;if(this.isAllTime)return e.clone();if(e.isAllTime)return this.clone();const t=(0,a.R2)(this.start,-1/0,(e=>e.getTime())),r=(0,a.R2)(this.end,1/0,(e=>e.getTime())),s=(0,a.R2)(e.start,-1/0,(e=>e.getTime())),i=(0,a.R2)(e.end,1/0,(e=>e.getTime()));let o,l;if(s>=t&&s<=r?o=s:t>=s&&t<=i&&(o=t),r>=s&&r<=i?l=r:i>=t&&i<=r&&(l=i),!isNaN(o)&&!isNaN(l)){const e=new n;return e.start=o===-1/0?null:new Date(o),e.end=l===1/0?null:new Date(l),e}return n.empty}offset(e,t){if(this.isEmpty||this.isAllTime)return this.clone();const r=new n,{start:s,end:i}=this;return(0,a.pC)(s)&&(r.start=(0,o.Nm)(s,e,t)),(0,a.pC)(i)&&(r.end=(0,o.Nm)(i,e,t)),r}union(e){if(!e||e.isEmpty)return this.clone();if(this.isEmpty)return e.clone();if(this.isAllTime||e.isAllTime)return d.clone();const t=(0,a.pC)(this.start)&&(0,a.pC)(e.start)?new Date(Math.min(this.start.getTime(),e.start.getTime())):null,r=(0,a.pC)(this.end)&&(0,a.pC)(e.end)?new Date(Math.max(this.end.getTime(),e.end.getTime())):null;return new n({start:t,end:r})}};(0,s._)([(0,l.Cb)({type:Date,json:{write:{allowNull:!0}}})],f.prototype,"end",void 0),(0,s._)([(0,c.r)("end")],f.prototype,"readEnd",null),(0,s._)([(0,h.c)("end")],f.prototype,"writeEnd",null),(0,s._)([(0,l.Cb)({readOnly:!0,json:{read:!1}})],f.prototype,"isAllTime",null),(0,s._)([(0,l.Cb)({readOnly:!0,json:{read:!1}})],f.prototype,"isEmpty",null),(0,s._)([(0,l.Cb)({type:Date,json:{write:{allowNull:!0}}})],f.prototype,"start",void 0),(0,s._)([(0,c.r)("start")],f.prototype,"readStart",null),(0,s._)([(0,h.c)("start")],f.prototype,"writeStart",null),f=n=(0,s._)([(0,u.j)("esri.TimeExtent")],f);const d=new f,m=new f({start:void 0,end:void 0}),p=f},5732:(e,t,r)=>{r.d(t,{a:()=>i,c:()=>n,g:()=>s});var n="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function s(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function i(e){throw new Error('Could not dynamically require "'+e+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}},46851:(e,t,r)=>{r.d(t,{E:()=>n,R:()=>s});const n=1e-6,s=Math.random,i=Math.PI/180,a=180/Math.PI;Object.freeze({__proto__:null,EPSILON:n,RANDOM:s,toRadian:function(e){return e*i},toDegree:function(e){return e*a},equals:function(e,t){return Math.abs(e-t)<=n*Math.max(1,Math.abs(e),Math.abs(t))}})},52138:(e,t,r)=>{r.d(t,{a:()=>l,b:()=>c,d:()=>d,e:()=>i,f:()=>f,g:()=>x,h:()=>b,i:()=>o,m:()=>u,o:()=>m,q:()=>v,s:()=>a,t:()=>h});var n=r(65617),s=r(46851);function i(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}function a(e,t,r,n,s,i,a,o,l,c,u,h,f,d,m,p,g){return e[0]=t,e[1]=r,e[2]=n,e[3]=s,e[4]=i,e[5]=a,e[6]=o,e[7]=l,e[8]=c,e[9]=u,e[10]=h,e[11]=f,e[12]=d,e[13]=m,e[14]=p,e[15]=g,e}function o(e){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function l(e,t){if(e===t){const r=t[1],n=t[2],s=t[3],i=t[6],a=t[7],o=t[11];e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=r,e[6]=t[9],e[7]=t[13],e[8]=n,e[9]=i,e[11]=t[14],e[12]=s,e[13]=a,e[14]=o}else e[0]=t[0],e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=t[1],e[5]=t[5],e[6]=t[9],e[7]=t[13],e[8]=t[2],e[9]=t[6],e[10]=t[10],e[11]=t[14],e[12]=t[3],e[13]=t[7],e[14]=t[11],e[15]=t[15];return e}function c(e,t){const r=t[0],n=t[1],s=t[2],i=t[3],a=t[4],o=t[5],l=t[6],c=t[7],u=t[8],h=t[9],f=t[10],d=t[11],m=t[12],p=t[13],g=t[14],y=t[15],b=r*o-n*a,x=r*l-s*a,v=r*c-i*a,w=n*l-s*o,_=n*c-i*o,I=s*c-i*l,C=u*p-h*m,M=u*g-f*m,k=u*y-d*m,T=h*g-f*p,S=h*y-d*p,R=f*y-d*g;let E=b*R-x*S+v*T+w*k-_*M+I*C;return E?(E=1/E,e[0]=(o*R-l*S+c*T)*E,e[1]=(s*S-n*R-i*T)*E,e[2]=(p*I-g*_+y*w)*E,e[3]=(f*_-h*I-d*w)*E,e[4]=(l*k-a*R-c*M)*E,e[5]=(r*R-s*k+i*M)*E,e[6]=(g*v-m*I-y*x)*E,e[7]=(u*I-f*v+d*x)*E,e[8]=(a*S-o*k+c*C)*E,e[9]=(n*k-r*S-i*C)*E,e[10]=(m*_-p*v+y*b)*E,e[11]=(h*v-u*_-d*b)*E,e[12]=(o*M-a*T-l*C)*E,e[13]=(r*T-n*M+s*C)*E,e[14]=(p*x-m*w-g*b)*E,e[15]=(u*w-h*x+f*b)*E,e):null}function u(e,t,r){const n=t[0],s=t[1],i=t[2],a=t[3],o=t[4],l=t[5],c=t[6],u=t[7],h=t[8],f=t[9],d=t[10],m=t[11],p=t[12],g=t[13],y=t[14],b=t[15];let x=r[0],v=r[1],w=r[2],_=r[3];return e[0]=x*n+v*o+w*h+_*p,e[1]=x*s+v*l+w*f+_*g,e[2]=x*i+v*c+w*d+_*y,e[3]=x*a+v*u+w*m+_*b,x=r[4],v=r[5],w=r[6],_=r[7],e[4]=x*n+v*o+w*h+_*p,e[5]=x*s+v*l+w*f+_*g,e[6]=x*i+v*c+w*d+_*y,e[7]=x*a+v*u+w*m+_*b,x=r[8],v=r[9],w=r[10],_=r[11],e[8]=x*n+v*o+w*h+_*p,e[9]=x*s+v*l+w*f+_*g,e[10]=x*i+v*c+w*d+_*y,e[11]=x*a+v*u+w*m+_*b,x=r[12],v=r[13],w=r[14],_=r[15],e[12]=x*n+v*o+w*h+_*p,e[13]=x*s+v*l+w*f+_*g,e[14]=x*i+v*c+w*d+_*y,e[15]=x*a+v*u+w*m+_*b,e}function h(e,t,r){const n=r[0],s=r[1],i=r[2];let a,o,l,c,u,h,f,d,m,p,g,y;return t===e?(e[12]=t[0]*n+t[4]*s+t[8]*i+t[12],e[13]=t[1]*n+t[5]*s+t[9]*i+t[13],e[14]=t[2]*n+t[6]*s+t[10]*i+t[14],e[15]=t[3]*n+t[7]*s+t[11]*i+t[15]):(a=t[0],o=t[1],l=t[2],c=t[3],u=t[4],h=t[5],f=t[6],d=t[7],m=t[8],p=t[9],g=t[10],y=t[11],e[0]=a,e[1]=o,e[2]=l,e[3]=c,e[4]=u,e[5]=h,e[6]=f,e[7]=d,e[8]=m,e[9]=p,e[10]=g,e[11]=y,e[12]=a*n+u*s+m*i+t[12],e[13]=o*n+h*s+p*i+t[13],e[14]=l*n+f*s+g*i+t[14],e[15]=c*n+d*s+y*i+t[15]),e}function f(e,t,r){const n=r[0],s=r[1],i=r[2];return e[0]=t[0]*n,e[1]=t[1]*n,e[2]=t[2]*n,e[3]=t[3]*n,e[4]=t[4]*s,e[5]=t[5]*s,e[6]=t[6]*s,e[7]=t[7]*s,e[8]=t[8]*i,e[9]=t[9]*i,e[10]=t[10]*i,e[11]=t[11]*i,e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}function d(e,t,r,n){let i,a,o,l,c,u,h,f,d,m,p,g,y,b,x,v,w,_,I,C,M,k,T,S,R=n[0],E=n[1],O=n[2],P=Math.sqrt(R*R+E*E+O*O);return P<s.E?null:(P=1/P,R*=P,E*=P,O*=P,i=Math.sin(r),a=Math.cos(r),o=1-a,l=t[0],c=t[1],u=t[2],h=t[3],f=t[4],d=t[5],m=t[6],p=t[7],g=t[8],y=t[9],b=t[10],x=t[11],v=R*R*o+a,w=E*R*o+O*i,_=O*R*o-E*i,I=R*E*o-O*i,C=E*E*o+a,M=O*E*o+R*i,k=R*O*o+E*i,T=E*O*o-R*i,S=O*O*o+a,e[0]=l*v+f*w+g*_,e[1]=c*v+d*w+y*_,e[2]=u*v+m*w+b*_,e[3]=h*v+p*w+x*_,e[4]=l*I+f*C+g*M,e[5]=c*I+d*C+y*M,e[6]=u*I+m*C+b*M,e[7]=h*I+p*C+x*M,e[8]=l*k+f*T+g*S,e[9]=c*k+d*T+y*S,e[10]=u*k+m*T+b*S,e[11]=h*k+p*T+x*S,t!==e&&(e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e)}function m(e,t){const r=Math.sin(t),n=Math.cos(t);return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=n,e[6]=r,e[7]=0,e[8]=0,e[9]=-r,e[10]=n,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function p(e,t,r){const n=t[0],s=t[1],i=t[2],a=t[3],o=n+n,l=s+s,c=i+i,u=n*o,h=n*l,f=n*c,d=s*l,m=s*c,p=i*c,g=a*o,y=a*l,b=a*c;return e[0]=1-(d+p),e[1]=h+b,e[2]=f-y,e[3]=0,e[4]=h-b,e[5]=1-(u+p),e[6]=m+g,e[7]=0,e[8]=f+y,e[9]=m-g,e[10]=1-(u+d),e[11]=0,e[12]=r[0],e[13]=r[1],e[14]=r[2],e[15]=1,e}const g=(0,n.c)();function y(e,t,r){return e[0]=t[0]-r[0],e[1]=t[1]-r[1],e[2]=t[2]-r[2],e[3]=t[3]-r[3],e[4]=t[4]-r[4],e[5]=t[5]-r[5],e[6]=t[6]-r[6],e[7]=t[7]-r[7],e[8]=t[8]-r[8],e[9]=t[9]-r[9],e[10]=t[10]-r[10],e[11]=t[11]-r[11],e[12]=t[12]-r[12],e[13]=t[13]-r[13],e[14]=t[14]-r[14],e[15]=t[15]-r[15],e}function b(e,t){return e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3]&&e[4]===t[4]&&e[5]===t[5]&&e[6]===t[6]&&e[7]===t[7]&&e[8]===t[8]&&e[9]===t[9]&&e[10]===t[10]&&e[11]===t[11]&&e[12]===t[12]&&e[13]===t[13]&&e[14]===t[14]&&e[15]===t[15]}function x(e,t){if(e===t)return!0;const r=e[0],n=e[1],i=e[2],a=e[3],o=e[4],l=e[5],c=e[6],u=e[7],h=e[8],f=e[9],d=e[10],m=e[11],p=e[12],g=e[13],y=e[14],b=e[15],x=t[0],v=t[1],w=t[2],_=t[3],I=t[4],C=t[5],M=t[6],k=t[7],T=t[8],S=t[9],R=t[10],E=t[11],O=t[12],P=t[13],F=t[14],D=t[15];return Math.abs(r-x)<=s.E*Math.max(1,Math.abs(r),Math.abs(x))&&Math.abs(n-v)<=s.E*Math.max(1,Math.abs(n),Math.abs(v))&&Math.abs(i-w)<=s.E*Math.max(1,Math.abs(i),Math.abs(w))&&Math.abs(a-_)<=s.E*Math.max(1,Math.abs(a),Math.abs(_))&&Math.abs(o-I)<=s.E*Math.max(1,Math.abs(o),Math.abs(I))&&Math.abs(l-C)<=s.E*Math.max(1,Math.abs(l),Math.abs(C))&&Math.abs(c-M)<=s.E*Math.max(1,Math.abs(c),Math.abs(M))&&Math.abs(u-k)<=s.E*Math.max(1,Math.abs(u),Math.abs(k))&&Math.abs(h-T)<=s.E*Math.max(1,Math.abs(h),Math.abs(T))&&Math.abs(f-S)<=s.E*Math.max(1,Math.abs(f),Math.abs(S))&&Math.abs(d-R)<=s.E*Math.max(1,Math.abs(d),Math.abs(R))&&Math.abs(m-E)<=s.E*Math.max(1,Math.abs(m),Math.abs(E))&&Math.abs(p-O)<=s.E*Math.max(1,Math.abs(p),Math.abs(O))&&Math.abs(g-P)<=s.E*Math.max(1,Math.abs(g),Math.abs(P))&&Math.abs(y-F)<=s.E*Math.max(1,Math.abs(y),Math.abs(F))&&Math.abs(b-D)<=s.E*Math.max(1,Math.abs(b),Math.abs(D))}function v(e){const t=s.E,r=e[0],n=e[1],i=e[2],a=e[4],o=e[5],l=e[6],c=e[8],u=e[9],h=e[10];return Math.abs(1-(r*r+a*a+c*c))<=t&&Math.abs(1-(n*n+o*o+u*u))<=t&&Math.abs(1-(i*i+l*l+h*h))<=t}const w=u,_=y;Object.freeze({__proto__:null,copy:i,set:a,identity:o,transpose:l,invert:c,adjoint:function(e,t){const r=t[0],n=t[1],s=t[2],i=t[3],a=t[4],o=t[5],l=t[6],c=t[7],u=t[8],h=t[9],f=t[10],d=t[11],m=t[12],p=t[13],g=t[14],y=t[15];return e[0]=o*(f*y-d*g)-h*(l*y-c*g)+p*(l*d-c*f),e[1]=-(n*(f*y-d*g)-h*(s*y-i*g)+p*(s*d-i*f)),e[2]=n*(l*y-c*g)-o*(s*y-i*g)+p*(s*c-i*l),e[3]=-(n*(l*d-c*f)-o*(s*d-i*f)+h*(s*c-i*l)),e[4]=-(a*(f*y-d*g)-u*(l*y-c*g)+m*(l*d-c*f)),e[5]=r*(f*y-d*g)-u*(s*y-i*g)+m*(s*d-i*f),e[6]=-(r*(l*y-c*g)-a*(s*y-i*g)+m*(s*c-i*l)),e[7]=r*(l*d-c*f)-a*(s*d-i*f)+u*(s*c-i*l),e[8]=a*(h*y-d*p)-u*(o*y-c*p)+m*(o*d-c*h),e[9]=-(r*(h*y-d*p)-u*(n*y-i*p)+m*(n*d-i*h)),e[10]=r*(o*y-c*p)-a*(n*y-i*p)+m*(n*c-i*o),e[11]=-(r*(o*d-c*h)-a*(n*d-i*h)+u*(n*c-i*o)),e[12]=-(a*(h*g-f*p)-u*(o*g-l*p)+m*(o*f-l*h)),e[13]=r*(h*g-f*p)-u*(n*g-s*p)+m*(n*f-s*h),e[14]=-(r*(o*g-l*p)-a*(n*g-s*p)+m*(n*l-s*o)),e[15]=r*(o*f-l*h)-a*(n*f-s*h)+u*(n*l-s*o),e},determinant:function(e){const t=e[0],r=e[1],n=e[2],s=e[3],i=e[4],a=e[5],o=e[6],l=e[7],c=e[8],u=e[9],h=e[10],f=e[11],d=e[12],m=e[13],p=e[14],g=e[15];return(t*a-r*i)*(h*g-f*p)-(t*o-n*i)*(u*g-f*m)+(t*l-s*i)*(u*p-h*m)+(r*o-n*a)*(c*g-f*d)-(r*l-s*a)*(c*p-h*d)+(n*l-s*o)*(c*m-u*d)},multiply:u,translate:h,scale:f,rotate:d,rotateX:function(e,t,r){const n=Math.sin(r),s=Math.cos(r),i=t[4],a=t[5],o=t[6],l=t[7],c=t[8],u=t[9],h=t[10],f=t[11];return t!==e&&(e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[4]=i*s+c*n,e[5]=a*s+u*n,e[6]=o*s+h*n,e[7]=l*s+f*n,e[8]=c*s-i*n,e[9]=u*s-a*n,e[10]=h*s-o*n,e[11]=f*s-l*n,e},rotateY:function(e,t,r){const n=Math.sin(r),s=Math.cos(r),i=t[0],a=t[1],o=t[2],l=t[3],c=t[8],u=t[9],h=t[10],f=t[11];return t!==e&&(e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[0]=i*s-c*n,e[1]=a*s-u*n,e[2]=o*s-h*n,e[3]=l*s-f*n,e[8]=i*n+c*s,e[9]=a*n+u*s,e[10]=o*n+h*s,e[11]=l*n+f*s,e},rotateZ:function(e,t,r){const n=Math.sin(r),s=Math.cos(r),i=t[0],a=t[1],o=t[2],l=t[3],c=t[4],u=t[5],h=t[6],f=t[7];return t!==e&&(e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[0]=i*s+c*n,e[1]=a*s+u*n,e[2]=o*s+h*n,e[3]=l*s+f*n,e[4]=c*s-i*n,e[5]=u*s-a*n,e[6]=h*s-o*n,e[7]=f*s-l*n,e},fromTranslation:function(e,t){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=t[0],e[13]=t[1],e[14]=t[2],e[15]=1,e},fromScaling:function(e,t){return e[0]=t[0],e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=t[1],e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=t[2],e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e},fromRotation:function(e,t,r){let n,i,a,o=r[0],l=r[1],c=r[2],u=Math.sqrt(o*o+l*l+c*c);return u<s.E?null:(u=1/u,o*=u,l*=u,c*=u,n=Math.sin(t),i=Math.cos(t),a=1-i,e[0]=o*o*a+i,e[1]=l*o*a+c*n,e[2]=c*o*a-l*n,e[3]=0,e[4]=o*l*a-c*n,e[5]=l*l*a+i,e[6]=c*l*a+o*n,e[7]=0,e[8]=o*c*a+l*n,e[9]=l*c*a-o*n,e[10]=c*c*a+i,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e)},fromXRotation:m,fromYRotation:function(e,t){const r=Math.sin(t),n=Math.cos(t);return e[0]=n,e[1]=0,e[2]=-r,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=r,e[9]=0,e[10]=n,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e},fromZRotation:function(e,t){const r=Math.sin(t),n=Math.cos(t);return e[0]=n,e[1]=r,e[2]=0,e[3]=0,e[4]=-r,e[5]=n,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e},fromRotationTranslation:p,fromQuat2:function(e,t){const r=g,n=-t[0],s=-t[1],i=-t[2],a=t[3],o=t[4],l=t[5],c=t[6],u=t[7],h=n*n+s*s+i*i+a*a;return h>0?(r[0]=2*(o*a+u*n+l*i-c*s)/h,r[1]=2*(l*a+u*s+c*n-o*i)/h,r[2]=2*(c*a+u*i+o*s-l*n)/h):(r[0]=2*(o*a+u*n+l*i-c*s),r[1]=2*(l*a+u*s+c*n-o*i),r[2]=2*(c*a+u*i+o*s-l*n)),p(e,t,r),e},getTranslation:function(e,t){return e[0]=t[12],e[1]=t[13],e[2]=t[14],e},getScaling:function(e,t){const r=t[0],n=t[1],s=t[2],i=t[4],a=t[5],o=t[6],l=t[8],c=t[9],u=t[10];return e[0]=Math.sqrt(r*r+n*n+s*s),e[1]=Math.sqrt(i*i+a*a+o*o),e[2]=Math.sqrt(l*l+c*c+u*u),e},getRotation:function(e,t){const r=t[0]+t[5]+t[10];let n=0;return r>0?(n=2*Math.sqrt(r+1),e[3]=.25*n,e[0]=(t[6]-t[9])/n,e[1]=(t[8]-t[2])/n,e[2]=(t[1]-t[4])/n):t[0]>t[5]&&t[0]>t[10]?(n=2*Math.sqrt(1+t[0]-t[5]-t[10]),e[3]=(t[6]-t[9])/n,e[0]=.25*n,e[1]=(t[1]+t[4])/n,e[2]=(t[8]+t[2])/n):t[5]>t[10]?(n=2*Math.sqrt(1+t[5]-t[0]-t[10]),e[3]=(t[8]-t[2])/n,e[0]=(t[1]+t[4])/n,e[1]=.25*n,e[2]=(t[6]+t[9])/n):(n=2*Math.sqrt(1+t[10]-t[0]-t[5]),e[3]=(t[1]-t[4])/n,e[0]=(t[8]+t[2])/n,e[1]=(t[6]+t[9])/n,e[2]=.25*n),e},fromRotationTranslationScale:function(e,t,r,n){const s=t[0],i=t[1],a=t[2],o=t[3],l=s+s,c=i+i,u=a+a,h=s*l,f=s*c,d=s*u,m=i*c,p=i*u,g=a*u,y=o*l,b=o*c,x=o*u,v=n[0],w=n[1],_=n[2];return e[0]=(1-(m+g))*v,e[1]=(f+x)*v,e[2]=(d-b)*v,e[3]=0,e[4]=(f-x)*w,e[5]=(1-(h+g))*w,e[6]=(p+y)*w,e[7]=0,e[8]=(d+b)*_,e[9]=(p-y)*_,e[10]=(1-(h+m))*_,e[11]=0,e[12]=r[0],e[13]=r[1],e[14]=r[2],e[15]=1,e},fromRotationTranslationScaleOrigin:function(e,t,r,n,s){const i=t[0],a=t[1],o=t[2],l=t[3],c=i+i,u=a+a,h=o+o,f=i*c,d=i*u,m=i*h,p=a*u,g=a*h,y=o*h,b=l*c,x=l*u,v=l*h,w=n[0],_=n[1],I=n[2],C=s[0],M=s[1],k=s[2],T=(1-(p+y))*w,S=(d+v)*w,R=(m-x)*w,E=(d-v)*_,O=(1-(f+y))*_,P=(g+b)*_,F=(m+x)*I,D=(g-b)*I,A=(1-(f+p))*I;return e[0]=T,e[1]=S,e[2]=R,e[3]=0,e[4]=E,e[5]=O,e[6]=P,e[7]=0,e[8]=F,e[9]=D,e[10]=A,e[11]=0,e[12]=r[0]+C-(T*C+E*M+F*k),e[13]=r[1]+M-(S*C+O*M+D*k),e[14]=r[2]+k-(R*C+P*M+A*k),e[15]=1,e},fromQuat:function(e,t){const r=t[0],n=t[1],s=t[2],i=t[3],a=r+r,o=n+n,l=s+s,c=r*a,u=n*a,h=n*o,f=s*a,d=s*o,m=s*l,p=i*a,g=i*o,y=i*l;return e[0]=1-h-m,e[1]=u+y,e[2]=f-g,e[3]=0,e[4]=u-y,e[5]=1-c-m,e[6]=d+p,e[7]=0,e[8]=f+g,e[9]=d-p,e[10]=1-c-h,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e},frustum:function(e,t,r,n,s,i,a){const o=1/(r-t),l=1/(s-n),c=1/(i-a);return e[0]=2*i*o,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=2*i*l,e[6]=0,e[7]=0,e[8]=(r+t)*o,e[9]=(s+n)*l,e[10]=(a+i)*c,e[11]=-1,e[12]=0,e[13]=0,e[14]=a*i*2*c,e[15]=0,e},perspective:function(e,t,r,n,s){const i=1/Math.tan(t/2);let a;return e[0]=i/r,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=i,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=-1,e[12]=0,e[13]=0,e[15]=0,null!=s&&s!==1/0?(a=1/(n-s),e[10]=(s+n)*a,e[14]=2*s*n*a):(e[10]=-1,e[14]=-2*n),e},perspectiveFromFieldOfView:function(e,t,r,n){const s=Math.tan(t.upDegrees*Math.PI/180),i=Math.tan(t.downDegrees*Math.PI/180),a=Math.tan(t.leftDegrees*Math.PI/180),o=Math.tan(t.rightDegrees*Math.PI/180),l=2/(a+o),c=2/(s+i);return e[0]=l,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=c,e[6]=0,e[7]=0,e[8]=-(a-o)*l*.5,e[9]=(s-i)*c*.5,e[10]=n/(r-n),e[11]=-1,e[12]=0,e[13]=0,e[14]=n*r/(r-n),e[15]=0,e},ortho:function(e,t,r,n,s,i,a){const o=1/(t-r),l=1/(n-s),c=1/(i-a);return e[0]=-2*o,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=-2*l,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=2*c,e[11]=0,e[12]=(t+r)*o,e[13]=(s+n)*l,e[14]=(a+i)*c,e[15]=1,e},lookAt:function(e,t,r,n){let i,a,l,c,u,h,f,d,m,p;const g=t[0],y=t[1],b=t[2],x=n[0],v=n[1],w=n[2],_=r[0],I=r[1],C=r[2];return Math.abs(g-_)<s.E&&Math.abs(y-I)<s.E&&Math.abs(b-C)<s.E?o(e):(f=g-_,d=y-I,m=b-C,p=1/Math.sqrt(f*f+d*d+m*m),f*=p,d*=p,m*=p,i=v*m-w*d,a=w*f-x*m,l=x*d-v*f,p=Math.sqrt(i*i+a*a+l*l),p?(p=1/p,i*=p,a*=p,l*=p):(i=0,a=0,l=0),c=d*l-m*a,u=m*i-f*l,h=f*a-d*i,p=Math.sqrt(c*c+u*u+h*h),p?(p=1/p,c*=p,u*=p,h*=p):(c=0,u=0,h=0),e[0]=i,e[1]=c,e[2]=f,e[3]=0,e[4]=a,e[5]=u,e[6]=d,e[7]=0,e[8]=l,e[9]=h,e[10]=m,e[11]=0,e[12]=-(i*g+a*y+l*b),e[13]=-(c*g+u*y+h*b),e[14]=-(f*g+d*y+m*b),e[15]=1,e)},targetTo:function(e,t,r,n){const s=t[0],i=t[1],a=t[2],o=n[0],l=n[1],c=n[2];let u=s-r[0],h=i-r[1],f=a-r[2],d=u*u+h*h+f*f;d>0&&(d=1/Math.sqrt(d),u*=d,h*=d,f*=d);let m=l*f-c*h,p=c*u-o*f,g=o*h-l*u;return d=m*m+p*p+g*g,d>0&&(d=1/Math.sqrt(d),m*=d,p*=d,g*=d),e[0]=m,e[1]=p,e[2]=g,e[3]=0,e[4]=h*g-f*p,e[5]=f*m-u*g,e[6]=u*p-h*m,e[7]=0,e[8]=u,e[9]=h,e[10]=f,e[11]=0,e[12]=s,e[13]=i,e[14]=a,e[15]=1,e},str:function(e){return"mat4("+e[0]+", "+e[1]+", "+e[2]+", "+e[3]+", "+e[4]+", "+e[5]+", "+e[6]+", "+e[7]+", "+e[8]+", "+e[9]+", "+e[10]+", "+e[11]+", "+e[12]+", "+e[13]+", "+e[14]+", "+e[15]+")"},frob:function(e){return Math.sqrt(e[0]**2+e[1]**2+e[2]**2+e[3]**2+e[4]**2+e[5]**2+e[6]**2+e[7]**2+e[8]**2+e[9]**2+e[10]**2+e[11]**2+e[12]**2+e[13]**2+e[14]**2+e[15]**2)},add:function(e,t,r){return e[0]=t[0]+r[0],e[1]=t[1]+r[1],e[2]=t[2]+r[2],e[3]=t[3]+r[3],e[4]=t[4]+r[4],e[5]=t[5]+r[5],e[6]=t[6]+r[6],e[7]=t[7]+r[7],e[8]=t[8]+r[8],e[9]=t[9]+r[9],e[10]=t[10]+r[10],e[11]=t[11]+r[11],e[12]=t[12]+r[12],e[13]=t[13]+r[13],e[14]=t[14]+r[14],e[15]=t[15]+r[15],e},subtract:y,multiplyScalar:function(e,t,r){return e[0]=t[0]*r,e[1]=t[1]*r,e[2]=t[2]*r,e[3]=t[3]*r,e[4]=t[4]*r,e[5]=t[5]*r,e[6]=t[6]*r,e[7]=t[7]*r,e[8]=t[8]*r,e[9]=t[9]*r,e[10]=t[10]*r,e[11]=t[11]*r,e[12]=t[12]*r,e[13]=t[13]*r,e[14]=t[14]*r,e[15]=t[15]*r,e},multiplyScalarAndAdd:function(e,t,r,n){return e[0]=t[0]+r[0]*n,e[1]=t[1]+r[1]*n,e[2]=t[2]+r[2]*n,e[3]=t[3]+r[3]*n,e[4]=t[4]+r[4]*n,e[5]=t[5]+r[5]*n,e[6]=t[6]+r[6]*n,e[7]=t[7]+r[7]*n,e[8]=t[8]+r[8]*n,e[9]=t[9]+r[9]*n,e[10]=t[10]+r[10]*n,e[11]=t[11]+r[11]*n,e[12]=t[12]+r[12]*n,e[13]=t[13]+r[13]*n,e[14]=t[14]+r[14]*n,e[15]=t[15]+r[15]*n,e},exactEquals:b,equals:x,isOrthoNormal:v,mul:w,sub:_})},65617:(e,t,r)=>{function n(){return[0,0,0]}function s(e){return[e[0],e[1],e[2]]}function i(e,t,r){return[e,t,r]}function a(e){const t=[0,0,0],r=Math.min(3,e.length);for(let n=0;n<r;++n)t[n]=e[n];return t}function o(e,t){return new Float64Array(e,t,3)}function l(){return i(1,1,1)}function c(){return i(1,0,0)}function u(){return i(0,1,0)}function h(){return i(0,0,1)}r.d(t,{O:()=>d,Z:()=>f,a:()=>s,b:()=>o,c:()=>n,d:()=>a,f:()=>i});const f=[0,0,0],d=l(),m=c(),p=u(),g=h();Object.freeze({__proto__:null,create:n,clone:s,fromValues:i,fromArray:a,createView:o,zeros:function(){return[0,0,0]},ones:l,unitX:c,unitY:u,unitZ:h,ZEROS:f,ONES:d,UNIT_X:m,UNIT_Y:p,UNIT_Z:g})},35270:(e,t,r)=>{r.d(t,{h$:()=>s,VL:()=>i,rW:()=>l,B7:()=>o});const n={transparent:[0,0,0,0],black:[0,0,0,1],silver:[192,192,192,1],gray:[128,128,128,1],white:[255,255,255,1],maroon:[128,0,0,1],red:[255,0,0,1],purple:[128,0,128,1],fuchsia:[255,0,255,1],green:[0,128,0,1],lime:[0,255,0,1],olive:[128,128,0,1],yellow:[255,255,0,1],navy:[0,0,128,1],blue:[0,0,255,1],teal:[0,128,128,1],aqua:[0,255,255,1],aliceblue:[240,248,255,1],antiquewhite:[250,235,215,1],aquamarine:[127,255,212,1],azure:[240,255,255,1],beige:[245,245,220,1],bisque:[255,228,196,1],blanchedalmond:[255,235,205,1],blueviolet:[138,43,226,1],brown:[165,42,42,1],burlywood:[222,184,135,1],cadetblue:[95,158,160,1],chartreuse:[127,255,0,1],chocolate:[210,105,30,1],coral:[255,127,80,1],cornflowerblue:[100,149,237,1],cornsilk:[255,248,220,1],crimson:[220,20,60,1],cyan:[0,255,255,1],darkblue:[0,0,139,1],darkcyan:[0,139,139,1],darkgoldenrod:[184,134,11,1],darkgray:[169,169,169,1],darkgreen:[0,100,0,1],darkgrey:[169,169,169,1],darkkhaki:[189,183,107,1],darkmagenta:[139,0,139,1],darkolivegreen:[85,107,47,1],darkorange:[255,140,0,1],darkorchid:[153,50,204,1],darkred:[139,0,0,1],darksalmon:[233,150,122,1],darkseagreen:[143,188,143,1],darkslateblue:[72,61,139,1],darkslategray:[47,79,79,1],darkslategrey:[47,79,79,1],darkturquoise:[0,206,209,1],darkviolet:[148,0,211,1],deeppink:[255,20,147,1],deepskyblue:[0,191,255,1],dimgray:[105,105,105,1],dimgrey:[105,105,105,1],dodgerblue:[30,144,255,1],firebrick:[178,34,34,1],floralwhite:[255,250,240,1],forestgreen:[34,139,34,1],gainsboro:[220,220,220,1],ghostwhite:[248,248,255,1],gold:[255,215,0,1],goldenrod:[218,165,32,1],greenyellow:[173,255,47,1],grey:[128,128,128,1],honeydew:[240,255,240,1],hotpink:[255,105,180,1],indianred:[205,92,92,1],indigo:[75,0,130,1],ivory:[255,255,240,1],khaki:[240,230,140,1],lavender:[230,230,250,1],lavenderblush:[255,240,245,1],lawngreen:[124,252,0,1],lemonchiffon:[255,250,205,1],lightblue:[173,216,230,1],lightcoral:[240,128,128,1],lightcyan:[224,255,255,1],lightgoldenrodyellow:[250,250,210,1],lightgray:[211,211,211,1],lightgreen:[144,238,144,1],lightgrey:[211,211,211,1],lightpink:[255,182,193,1],lightsalmon:[255,160,122,1],lightseagreen:[32,178,170,1],lightskyblue:[135,206,250,1],lightslategray:[119,136,153,1],lightslategrey:[119,136,153,1],lightsteelblue:[176,196,222,1],lightyellow:[255,255,224,1],limegreen:[50,205,50,1],linen:[250,240,230,1],magenta:[255,0,255,1],mediumaquamarine:[102,205,170,1],mediumblue:[0,0,205,1],mediumorchid:[186,85,211,1],mediumpurple:[147,112,219,1],mediumseagreen:[60,179,113,1],mediumslateblue:[123,104,238,1],mediumspringgreen:[0,250,154,1],mediumturquoise:[72,209,204,1],mediumvioletred:[199,21,133,1],midnightblue:[25,25,112,1],mintcream:[245,255,250,1],mistyrose:[255,228,225,1],moccasin:[255,228,181,1],navajowhite:[255,222,173,1],oldlace:[253,245,230,1],olivedrab:[107,142,35,1],orange:[255,165,0,1],orangered:[255,69,0,1],orchid:[218,112,214,1],palegoldenrod:[238,232,170,1],palegreen:[152,251,152,1],paleturquoise:[175,238,238,1],palevioletred:[219,112,147,1],papayawhip:[255,239,213,1],peachpuff:[255,218,185,1],peru:[205,133,63,1],pink:[255,192,203,1],plum:[221,160,221,1],powderblue:[176,224,230,1],rebeccapurple:[102,51,153,1],rosybrown:[188,143,143,1],royalblue:[65,105,225,1],saddlebrown:[139,69,19,1],salmon:[250,128,114,1],sandybrown:[244,164,96,1],seagreen:[46,139,87,1],seashell:[255,245,238,1],sienna:[160,82,45,1],skyblue:[135,206,235,1],slateblue:[106,90,205,1],slategray:[112,128,144,1],slategrey:[112,128,144,1],snow:[255,250,250,1],springgreen:[0,255,127,1],steelblue:[70,130,180,1],tan:[210,180,140,1],thistle:[216,191,216,1],tomato:[255,99,71,1],turquoise:[64,224,208,1],violet:[238,130,238,1],wheat:[245,222,179,1],whitesmoke:[245,245,245,1],yellowgreen:[154,205,50,1]};function s(e){var t;return null!=(t=n[e.toLowerCase()])?t:null}function i(e){const t=s(e);return t?[...t]:t}function a(e,t,r){r<0&&++r,r>1&&--r;const n=6*r;return n<1?e+(t-e)*n:2*r<1?t:3*r<2?e+(t-e)*(2/3-r)*6:e}function o(e,t,r,n=1){const s=(e%360+360)%360/360,i=r<=.5?r*(t+1):r+t-r*t,o=2*r-i;return[Math.round(255*a(o,i,s+1/3)),Math.round(255*a(o,i,s)),Math.round(255*a(o,i,s-1/3)),n]}function l(e){const t=e.length>5,r=t?8:4,n=(1<<r)-1,s=t?1:17,i=t?9===e.length:5===e.length;let a=Number("0x"+e.substr(1));if(isNaN(a))return null;const o=[0,0,0,1];let l;return i&&(l=a&n,a>>=r,o[3]=s*l/255),l=a&n,a>>=r,o[2]=s*l,l=a&n,a>>=r,o[1]=s*l,l=a&n,a>>=r,o[0]=s*l,o}},81049:(e,t,r)=>{r.d(t,{Z:()=>E});var n,s=r(43697),i=r(3894),a=r(32448),o=r(22974),l=r(70586),c=r(71143),u=r(90584),h=r(5600),f=r(75215),d=r(52421),m=r(52011),p=r(58971),g=r(39020);class y{constructor(){this._observers=[]}observe(e){return this._observers.includes(e)||this._observers.push(e),new g.X(this._observers,e)}notify(){const e=this._observers.slice();for(let t=0;t<e.length;++t){const r=e[t];r.onInvalidated(),r.onCommitted()}}}const b=new c.Z(class{constructor(){this.target=null,this.cancellable=!1,this.defaultPrevented=!1,this.item=void 0,this.type=void 0}preventDefault(){this.cancellable&&(this.defaultPrevented=!0)}reset(e){this.defaultPrevented=!1,this.item=e}},void 0,(e=>{e.item=null,e.target=null,e.defaultPrevented=!1,e.cancellable=!1})),x=()=>{};function v(e){return e?e instanceof R?e.toArray():e.length?Array.prototype.slice.apply(e):[]:[]}function w(e){if(e&&e.length)return e[0]}function _(e,t,r,n){const s=Math.min(e.length-r,t.length-n);let i=0;for(;i<s&&e[r+i]===t[n+i];)i++;return i}function I(e,t,r,n){t&&t.forEach(((t,s,i)=>{e.push(t),I(e,r.call(n,t,s,i),r,n)}))}const C=new Set,M=new Set,k=new Set,T=new Map;let S=0,R=n=class extends a.Z.EventedAccessor{constructor(e){super(e),this._chgListeners=[],this._notifications=null,this._timer=null,this._observable=new y,this.length=0,this._items=[],Object.defineProperty(this,"uid",{value:S++})}static isCollection(e){return null!=e&&e instanceof n}normalizeCtorArgs(e){return e?Array.isArray(e)||e instanceof n?{items:e}:e:{}}destroy(){this.removeAll()}*[Symbol.iterator](){yield*this.items}get items(){return(0,p.it)(this._observable),this._items}set items(e){this._emitBeforeChanges(1)||(this._splice(0,this.length,...v(e)),this._emitAfterChanges(1))}hasEventListener(e){return"change"===e?this._chgListeners.length>0:this._emitter.hasEventListener(e)}on(e,t){if("change"===e){const e=this._chgListeners,r={removed:!1,callback:t};return e.push(r),this._notifications&&this._notifications.push({listeners:e.slice(),items:this._items.slice(),changes:[]}),{remove(){this.remove=x,r.removed=!0,e.splice(e.indexOf(r),1)}}}return this._emitter.on(e,t)}once(e,t){const r=this.on(e,t);return{remove(){r.remove()}}}add(e,t){if((0,p.it)(this._observable),this._emitBeforeChanges(1))return this;const r=this.getNextIndex(null!=t?t:null);return this._splice(r,0,e),this._emitAfterChanges(1),this}addMany(e,t=this._items.length){if((0,p.it)(this._observable),!e||!e.length)return this;if(this._emitBeforeChanges(1))return this;const r=this.getNextIndex(t);return this._splice(r,0,...v(e)),this._emitAfterChanges(1),this}removeAll(){if((0,p.it)(this._observable),!this.length||this._emitBeforeChanges(2))return[];const e=this._splice(0,this.length)||[];return this._emitAfterChanges(2),e}clone(){return(0,p.it)(this._observable),this._createNewInstance({items:this._items.map(o.d9)})}concat(...e){(0,p.it)(this._observable);const t=e.map(v);return this._createNewInstance({items:this._items.concat(...t)})}drain(e,t){if((0,p.it)(this._observable),!this.length||this._emitBeforeChanges(2))return;const r=(0,l.j0)(this._splice(0,this.length)),n=r.length;for(let s=0;s<n;s++)e.call(t,r[s],s,r);this._emitAfterChanges(2)}every(e,t){return(0,p.it)(this._observable),this._items.every(e,t)}filter(e,t){let r;return(0,p.it)(this._observable),r=2===arguments.length?this._items.filter(e,t):this._items.filter(e),this._createNewInstance({items:r})}find(e,t){return(0,p.it)(this._observable),this._items.find(e,t)}findIndex(e,t){return(0,p.it)(this._observable),this._items.findIndex(e,t)}flatten(e,t){(0,p.it)(this._observable);const r=[];return I(r,this,e,t),new n(r)}forEach(e,t){return(0,p.it)(this._observable),this._items.forEach(e,t)}getItemAt(e){return(0,p.it)(this._observable),this._items[e]}getNextIndex(e){(0,p.it)(this._observable);const t=this.length;return(e=null==e?t:e)<0?e=0:e>t&&(e=t),e}includes(e,t=0){return(0,p.it)(this._observable),this._items.includes(e,t)}indexOf(e,t=0){return(0,p.it)(this._observable),this._items.indexOf(e,t)}join(e=","){return(0,p.it)(this._observable),this._items.join(e)}lastIndexOf(e,t=this.length-1){return(0,p.it)(this._observable),this._items.lastIndexOf(e,t)}map(e,t){(0,p.it)(this._observable);const r=this._items.map(e,t);return new n({items:r})}reorder(e,t=this.length-1){(0,p.it)(this._observable);const r=this.indexOf(e);if(-1!==r){if(t<0?t=0:t>=this.length&&(t=this.length-1),r!==t){if(this._emitBeforeChanges(4))return e;this._splice(r,1),this._splice(t,0,e),this._emitAfterChanges(4)}return e}}pop(){if((0,p.it)(this._observable),!this.length||this._emitBeforeChanges(2))return;const e=w(this._splice(this.length-1,1));return this._emitAfterChanges(2),e}push(...e){return(0,p.it)(this._observable),this._emitBeforeChanges(1)||(this._splice(this.length,0,...e),this._emitAfterChanges(1)),this.length}reduce(e,t){(0,p.it)(this._observable);const r=this._items;return 2===arguments.length?r.reduce(e,t):r.reduce(e)}reduceRight(e,t){(0,p.it)(this._observable);const r=this._items;return 2===arguments.length?r.reduceRight(e,t):r.reduceRight(e)}remove(e){return(0,p.it)(this._observable),this.removeAt(this.indexOf(e))}removeAt(e){if((0,p.it)(this._observable),e<0||e>=this.length||this._emitBeforeChanges(2))return;const t=w(this._splice(e,1));return this._emitAfterChanges(2),t}removeMany(e){if((0,p.it)(this._observable),!e||!e.length||this._emitBeforeChanges(2))return[];const t=e instanceof n?e.toArray():e,r=this._items,s=[],i=t.length;for(let e=0;e<i;e++){const n=t[e],i=r.indexOf(n);if(i>-1){const n=1+_(t,r,e+1,i+1),a=this._splice(i,n);a&&a.length>0&&s.push.apply(s,a),e+=n-1}}return this._emitAfterChanges(2),s}reverse(){if((0,p.it)(this._observable),this._emitBeforeChanges(4))return this;const e=this._splice(0,this.length);return e&&(e.reverse(),this._splice(0,0,...e)),this._emitAfterChanges(4),this}shift(){if((0,p.it)(this._observable),!this.length||this._emitBeforeChanges(2))return;const e=w(this._splice(0,1));return this._emitAfterChanges(2),e}slice(e=0,t=this.length){return(0,p.it)(this._observable),this._createNewInstance({items:this._items.slice(e,t)})}some(e,t){return(0,p.it)(this._observable),this._items.some(e,t)}sort(e){if((0,p.it)(this._observable),!this.length||this._emitBeforeChanges(4))return this;const t=(0,l.j0)(this._splice(0,this.length));return arguments.length?t.sort(e):t.sort(),this._splice(0,0,...t),this._emitAfterChanges(4),this}splice(e,t,...r){(0,p.it)(this._observable);const n=(t?2:0)|(r.length?1:0);if(this._emitBeforeChanges(n))return[];const s=this._splice(e,t,...r)||[];return this._emitAfterChanges(n),s}toArray(){return(0,p.it)(this._observable),this._items.slice()}toJSON(){return(0,p.it)(this._observable),this.toArray()}toLocaleString(){return(0,p.it)(this._observable),this._items.toLocaleString()}toString(){return(0,p.it)(this._observable),this._items.toString()}unshift(...e){return(0,p.it)(this._observable),!e.length||this._emitBeforeChanges(1)||(this._splice(0,0,...e),this._emitAfterChanges(1)),this.length}_createNewInstance(e){return new this.constructor(e)}_splice(e,t,...r){const n=this._items,s=this.itemType;let i,a;if(!this._notifications&&this.hasEventListener("change")&&(this._notifications=[{listeners:this._chgListeners.slice(),items:this._items.slice(),changes:[]}],this._timer&&this._timer.remove(),this._timer=(0,u.Os)((()=>this._dispatchChange()))),t){if(a=n.splice(e,t),this.hasEventListener("before-remove")){const t=b.acquire();t.target=this,t.cancellable=!0;for(let r=0,s=a.length;r<s;r++)i=a[r],t.reset(i),this.emit("before-remove",t),t.defaultPrevented&&(a.splice(r,1),n.splice(e,0,i),e+=1,r-=1,s-=1);b.release(t)}if(this.length=this._items.length,this.hasEventListener("after-remove")){const e=b.acquire();e.target=this,e.cancellable=!1;const t=a.length;for(let r=0;r<t;r++)e.reset(a[r]),this.emit("after-remove",e);b.release(e)}}if(r&&r.length){if(s){const e=[];for(const t of r){const r=s.ensureType(t);null==r&&null!=t||e.push(r)}r=e}const t=this.hasEventListener("before-add"),i=this.hasEventListener("after-add"),a=e===this.length;if(t||i){const s=b.acquire();s.target=this,s.cancellable=!0;const o=b.acquire();o.target=this,o.cancellable=!1;for(const l of r)t?(s.reset(l),this.emit("before-add",s),s.defaultPrevented||(a?n.push(l):n.splice(e++,0,l),this._set("length",n.length),i&&(o.reset(l),this.emit("after-add",o)))):(a?n.push(l):n.splice(e++,0,l),this._set("length",n.length),o.reset(l),this.emit("after-add",o));b.release(o),b.release(s)}else{if(a)for(const e of r)n.push(e);else n.splice(e,0,...r);this._set("length",n.length)}}return(r&&r.length||a&&a.length)&&this._notifyChangeEvent(r,a),a}_emitBeforeChanges(e){let t=!1;if(this.hasEventListener("before-changes")){const r=b.acquire();r.target=this,r.cancellable=!0,r.type=e,this.emit("before-changes",r),t=r.defaultPrevented,b.release(r)}return t}_emitAfterChanges(e){if(this.hasEventListener("after-changes")){const t=b.acquire();t.target=this,t.cancellable=!1,t.type=e,this.emit("after-changes",t),b.release(t)}this._observable.notify()}_notifyChangeEvent(e,t){this.hasEventListener("change")&&this._notifications&&this._notifications[this._notifications.length-1].changes.push({added:e,removed:t})}_dispatchChange(){if(this._timer&&(this._timer.remove(),this._timer=null),!this._notifications)return;const e=this._notifications;this._notifications=null;for(const t of e){const e=t.changes;C.clear(),M.clear(),k.clear();for(const{added:t,removed:r}of e){if(t)if(0===k.size&&0===M.size)for(const e of t)C.add(e);else for(const e of t)M.has(e)?(k.add(e),M.delete(e)):k.has(e)||C.add(e);if(r)if(0===k.size&&0===C.size)for(const e of r)M.add(e);else for(const e of r)C.has(e)?C.delete(e):(k.delete(e),M.add(e))}const r=i.Z.acquire();C.forEach((e=>{r.push(e)}));const n=i.Z.acquire();M.forEach((e=>{n.push(e)}));const s=this._items,a=t.items,o=i.Z.acquire();if(k.forEach((e=>{a.indexOf(e)!==s.indexOf(e)&&o.push(e)})),t.listeners&&(r.length||n.length||o.length)){const e={target:this,added:r,removed:n,moved:o},s=t.listeners.length;for(let r=0;r<s;r++){const n=t.listeners[r];n.removed||n.callback.call(this,e)}}i.Z.release(r),i.Z.release(n),i.Z.release(o)}C.clear(),M.clear(),k.clear()}};R.ofType=e=>{if(!e)return n;if(T.has(e))return T.get(e);let t=null;if("function"==typeof e)t=e.prototype.declaredClass;else if(e.base)t=e.base.prototype.declaredClass;else for(const r in e.typeMap){const n=e.typeMap[r].prototype.declaredClass;t?t+=` | ${n}`:t=n}let r=class extends n{};return(0,s._)([(0,d.c)({Type:e,ensureType:"function"==typeof e?(0,f.se)(e):(0,f.N7)(e)})],r.prototype,"itemType",void 0),r=(0,s._)([(0,m.j)(`esri.core.Collection<${t}>`)],r),T.set(e,r),r},(0,s._)([(0,h.Cb)()],R.prototype,"length",void 0),(0,s._)([(0,h.Cb)()],R.prototype,"items",null),R=n=(0,s._)([(0,m.j)("esri.core.Collection")],R);const E=R},32448:(e,t,r)=>{r.d(t,{Z:()=>l});var n=r(43697),s=r(15923),i=r(50758),a=r(52011);class o{constructor(){this._emitter=new o.EventEmitter(this)}emit(e,t){return this._emitter.emit(e,t)}on(e,t){return this._emitter.on(e,t)}once(e,t){return this._emitter.once(e,t)}hasEventListener(e){return this._emitter.hasEventListener(e)}}!function(e){class t{constructor(e=null){this.target=e,this._listenersMap=null}clear(){this._listenersMap&&this._listenersMap.clear(),this._listenersMap=null}emit(e,t){const r=this._listenersMap&&this._listenersMap.get(e);if(!r)return!1;const n=this.target||this;return[...r].forEach((e=>{e.call(n,t)})),r.length>0}on(e,t){if(Array.isArray(e)){const r=e.map((e=>this.on(e,t)));return(0,i.AL)(r)}if(e.indexOf(",")>-1)throw new TypeError("Evented.on() with a comma delimited string of event types is not supported");this._listenersMap||(this._listenersMap=new Map);const r=this._listenersMap.get(e)||[];return r.push(t),this._listenersMap.set(e,r),{remove:()=>{const r=this._listenersMap&&this._listenersMap.get(e)||[],n=r.indexOf(t);n>=0&&r.splice(n,1)}}}once(e,t){const r=this.on(e,(e=>{r.remove(),t.call(null,e)}));return r}hasEventListener(e){const t=this._listenersMap&&this._listenersMap.get(e);return null!=t&&t.length>0}}e.EventEmitter=t,e.EventedMixin=e=>{let r=class extends e{constructor(){super(...arguments),this._emitter=new t}destroy(){this._emitter.clear()}emit(e,t){return this._emitter.emit(e,t)}on(e,t){return this._emitter.on(e,t)}once(e,t){return this._emitter.once(e,t)}hasEventListener(e){return this._emitter.hasEventListener(e)}};return r=(0,n._)([(0,a.j)("esri.core.Evented")],r),r};let r=class extends s.Z{constructor(){super(...arguments),this._emitter=new o.EventEmitter(this)}destroy(){this._emitter.clear()}emit(e,t){return this._emitter.emit(e,t)}on(e,t){return this._emitter.on(e,t)}once(e,t){return this._emitter.once(e,t)}hasEventListener(e){return this._emitter.hasEventListener(e)}};r=(0,n._)([(0,a.j)("esri.core.Evented")],r),e.EventedAccessor=r}(o||(o={}));const l=o},61247:(e,t,r)=>{r.d(t,{Z:()=>u});var n=r(43697),s=r(15923),i=r(81049),a=r(70586),o=r(5600),l=r(52011);let c=class extends s.Z{constructor(e){super(e),this._groups=new Map}destroy(){this.removeAll()}get size(){let e=0;return this._groups.forEach((t=>{e+=t.length})),e}add(e,t){if(!this._isHandle(e)&&!Array.isArray(e)&&!i.Z.isCollection(e))return this;const r=this._getOrCreateGroup(t);return Array.isArray(e)||i.Z.isCollection(e)?e.forEach((e=>this._isHandle(e)&&r.push(e))):r.push(e),this.notifyChange("size"),this}forEach(e,t){if("function"==typeof e)this._groups.forEach((t=>t.forEach(e)));else{const r=this._getGroup(e);r&&t&&r.forEach(t)}}has(e){return this._groups.has(this._ensureGroupKey(e))}remove(e){if(Array.isArray(e)||i.Z.isCollection(e))return e.forEach(this.remove,this),this;if(!this.has(e))return this;const t=this._getGroup(e);for(let e=0;e<t.length;e++)t[e].remove();return this._deleteGroup(e),this.notifyChange("size"),this}removeAll(){return this._groups.forEach((e=>{for(let t=0;t<e.length;t++)e[t].remove()})),this._groups.clear(),this.notifyChange("size"),this}_isHandle(e){return e&&!!e.remove}_getOrCreateGroup(e){if(this.has(e))return this._getGroup(e);const t=[];return this._groups.set(this._ensureGroupKey(e),t),t}_getGroup(e){return(0,a.j0)(this._groups.get(this._ensureGroupKey(e)))}_deleteGroup(e){return this._groups.delete(this._ensureGroupKey(e))}_ensureGroupKey(e){return e||"_default_"}};(0,n._)([(0,o.Cb)({readOnly:!0})],c.prototype,"size",null),c=(0,n._)([(0,l.j)("esri.core.Handles")],c);const u=c},52421:(e,t,r)=>{function n(e){return(t,r)=>{t[r]=e}}r.d(t,{c:()=>n})},35463:(e,t,r)=>{r.d(t,{rJ:()=>o,Nm:()=>i,JE:()=>a}),r(80442);const n={milliseconds:1,seconds:1e3,minutes:6e4,hours:36e5,days:864e5,weeks:6048e5,months:26784e5,years:31536e6,decades:31536e7,centuries:31536e8},s={milliseconds:{getter:"getMilliseconds",setter:"setMilliseconds",multiplier:1},seconds:{getter:"getSeconds",setter:"setSeconds",multiplier:1},minutes:{getter:"getMinutes",setter:"setMinutes",multiplier:1},hours:{getter:"getHours",setter:"setHours",multiplier:1},days:{getter:"getDate",setter:"setDate",multiplier:1},weeks:{getter:"getDate",setter:"setDate",multiplier:7},months:{getter:"getMonth",setter:"setMonth",multiplier:1},years:{getter:"getFullYear",setter:"setFullYear",multiplier:1},decades:{getter:"getFullYear",setter:"setFullYear",multiplier:10},centuries:{getter:"getFullYear",setter:"setFullYear",multiplier:100}};function i(e,t,r){const n=new Date(e.getTime());if(t&&r){const e=s[r],{getter:i,setter:a,multiplier:o}=e;n[a](n[i]()+t*o)}return n}function a(e,t){switch(t){case"milliseconds":return new Date(e.getTime());case"seconds":return new Date(e.getFullYear(),e.getMonth(),e.getDate(),e.getHours(),e.getMinutes(),e.getSeconds());case"minutes":return new Date(e.getFullYear(),e.getMonth(),e.getDate(),e.getHours(),e.getMinutes());case"hours":return new Date(e.getFullYear(),e.getMonth(),e.getDate(),e.getHours());case"days":return new Date(e.getFullYear(),e.getMonth(),e.getDate());case"weeks":return new Date(e.getFullYear(),e.getMonth(),e.getDate()-e.getDay());case"months":return new Date(e.getFullYear(),e.getMonth(),1);case"years":return new Date(e.getFullYear(),0,1);case"decades":return new Date(e.getFullYear()-e.getFullYear()%10,0,1);case"centuries":return new Date(e.getFullYear()-e.getFullYear()%100,0,1);default:return new Date}}function o(e,t,r){return 0===e?0:e*n[t]/n[r]}},43050:(e,t,r)=>{r.d(t,{S1:()=>a,on:()=>h,OY:()=>u,cm:()=>l,N1:()=>o,LR:()=>c,tH:()=>f});var n=r(91460),s=(r(22974),r(95330));const i=/\?(\.|$)/g;function a(e,t,r,n){const s=Array.isArray(t)?t:t.indexOf(",")>-1?t.split(","):[t],a=function(e,t,r,n){return e.watch(t,r,n)}(e,t,r,n);for(const t of s){const n=t.trim().replace(i,"$1"),s=e.get(n);r.call(e,s,s,n,e)}return a}function o(e,t,r,n){return f(e,t,d,r,n)}function l(e,t,r,n){return f(e,t,m,r,n)}function c(e,t,r,n){return f(e,t,p,r,n)}function u(e,t,r,n){return f(e,t,g,r,n)}function h(e,t,r,s,i,o,l){const c={};function u(t){const n=c[t];n&&(o&&o(n.target,t,e,r),n.handle.remove(),delete c[t])}const h=a(e,t,((t,a,o)=>{u(o),(0,n.vT)(t)&&(c[o]={handle:(0,n.on)(t,r,s),target:t},i&&i(t,o,e,r))}),l);return{remove(){h.remove();for(const e in c)u(e)}}}function f(e,t,r,n,i){const a="function"==typeof n?n:null,o="object"==typeof n?n:null;"boolean"==typeof n&&(i=n);let l,c=!1;function u(){l&&(l.remove(),l=null)}const h=(0,s.dD)();(0,s.fu)(o,(()=>{u(),h.reject((0,s.zE)())}));const f={then:h.promise.then.bind(h.promise),catch:h.promise.catch.bind(h.promise),remove:u};return Object.freeze(f),l=function(e,t,r,n,s){const i=e.watch(t,((t,s,i,a)=>{r&&!r(t)||null==n||n.call(e,t,s,i,a)}),s);if(Array.isArray(t))for(const s of t){const i=e.get(s);r&&r(i)&&(null==n||n.call(e,i,i,t,e))}else{const s=e.get(t);r&&r(s)&&(null==n||n.call(e,s,s,t,e))}return i}(e,t,r,((t,r,n,s)=>{c=!0,u(),a&&a.call(e,t,r,n,s),h.resolve({value:t,oldValue:r,propertyName:n,target:s})}),i),c&&u(),f}function d(e){return!!e}function m(e){return!e}function p(e){return!0===e}function g(e){return!1===e}},78346:(e,t,r)=>{r.d(t,{bA:()=>z});var n=r(20102),s=r(80442),i=r(95330),a=r(80903),o=r(25045),l=r(40330),c=r(92604),u=r(94362),h=r(99880),f=r(68773),d=(r(2587),r(17452));const m={};function p(e){var t;const r={async:e.async,isDebug:e.isDebug,locale:e.locale,baseUrl:e.baseUrl,has:{...e.has},map:{...e.map},packages:e.packages&&e.packages.concat()||[],paths:{...e.paths}};return e.hasOwnProperty("async")||(r.async=!0),e.hasOwnProperty("isDebug")||(r.isDebug=!1),e.baseUrl||(r.baseUrl=m.baseUrl),null==(t=m.packages)||t.forEach((e=>{!function(e,t){for(const r of e)if(r.name===t.name)return;e.push(t)}(r.packages,e)})),r}var g=r(16358);class y{constructor(){const e=document.createDocumentFragment();["addEventListener","dispatchEvent","removeEventListener"].forEach((t=>{this[t]=(...r)=>e[t](...r)}))}}const b=g.Z.MutationObserver||g.Z.WebKitMutationObserver,x=function(){let e;if(g.Z.process&&g.Z.process.nextTick)e=e=>{g.Z.process.nextTick(e)};else if(g.Z.Promise)e=e=>{g.Z.Promise.resolve().then(e)};else if(b){const t=[],r=document.createElement("div");new b((()=>{for(;t.length>0;)t.shift()()})).observe(r,{attributes:!0}),e=e=>{t.push(e),r.setAttribute("queueStatus","1")}}return e}(),v=(()=>{const e=g.Z.MessageEvent;try{new e("message",{data:null})}catch{return(e,t={})=>{const{data:r,bubbles:n=!1,cancelable:s=!1}=t,i=document.createEvent("Event");return i.initEvent(e,n,s),i.data=r,i}}return(t,r)=>new e(t,r)})();class w{constructor(){this._dispatcher=new y,this._workerPostMessage({type:u.Cs.HANDSHAKE})}terminate(){}get onmessage(){return this._onmessageHandler}set onmessage(e){this._onmessageHandler&&this.removeEventListener("message",this._onmessageHandler),this._onmessageHandler=e,e&&this.addEventListener("message",e)}get onmessageerror(){return this._onmessageerrorHandler}set onmessageerror(e){this._onmessageerrorHandler&&this.removeEventListener("messageerror",this._onmessageerrorHandler),this._onmessageerrorHandler=e,e&&this.addEventListener("messageerror",e)}get onerror(){return this._onerrorHandler}set onerror(e){this._onerrorHandler&&this.removeEventListener("error",this._onerrorHandler),this._onerrorHandler=e,e&&this.addEventListener("error",e)}postMessage(e){x((()=>{this._workerMessageHandler(v("message",{data:e}))}))}dispatchEvent(e){return this._dispatcher.dispatchEvent(e)}addEventListener(e,t,r){this._dispatcher.addEventListener(e,t,r)}removeEventListener(e,t,r){this._dispatcher.removeEventListener(e,t,r)}_workerPostMessage(e){x((()=>{this.dispatchEvent(v("message",{data:e}))}))}async _workerMessageHandler(e){const t=(0,u.QM)(e);if(t&&t.type===u.Cs.OPEN){const{modulePath:e,jobId:r}=t;let n=await o.default.loadWorker(e);n||(n=await import(e));const s=o.default.connect(n);this._workerPostMessage({type:u.Cs.OPENED,jobId:r,data:s})}}}var _=r(70171),I=r(17202);const C=c.Z.getLogger("esri.core.workers"),{HANDSHAKE:M}=u.Cs;let k,T;const S="Failed to create Worker. Fallback to execute module in main thread";async function R(e){return new Promise((t=>{function r(s){const i=(0,u.QM)(s);i&&i.type===M&&(e.removeEventListener("message",r),e.removeEventListener("error",n),t(e))}function n(t){t.preventDefault(),e.removeEventListener("message",r),e.removeEventListener("error",n),C.warn("Failed to create Worker. Fallback to execute module in main thread",t),(e=new w).addEventListener("message",r),e.addEventListener("error",n)}e.addEventListener("message",r),e.addEventListener("error",n)}))}let E=0;const O=c.Z.getLogger("esri.core.workers"),{ABORT:P,INVOKE:F,OPEN:D,OPENED:A,RESPONSE:L}=u.Cs;class N{constructor(e,t){this._outJobs=new Map,this._inJobs=new Map,this.worker=e,this.id=t,e.addEventListener("message",this._onMessage.bind(this)),e.addEventListener("error",(e=>{e.preventDefault(),O.error(e)}))}static async create(e){const t=await async function(){if(!(0,s.Z)("esri-workers"))return R(new w);if(!k&&!T)try{const e='let globalId=0;const outgoing=new Map,configuration=JSON.parse("{CONFIGURATION}");self.esriConfig=configuration.esriConfig;const workerPath=self.esriConfig.workers.workerPath,HANDSHAKE=0,OPEN=1,OPENED=2,RESPONSE=3,INVOKE=4,ABORT=5;function createAbortError(){const e=new Error("Aborted");return e.name="AbortError",e}function receiveMessage(e){return e&&e.data?"string"==typeof e.data?JSON.parse(e.data):e.data:null}function invokeStaticMessage(e,o,r){const t=r&&r.signal,n=globalId++;return new Promise(((r,i)=>{if(t){if(t.aborted)return i(createAbortError());t.addEventListener("abort",(()=>{outgoing.get(n)&&(outgoing.delete(n),self.postMessage({type:5,jobId:n}),i(createAbortError()))}))}outgoing.set(n,{resolve:r,reject:i}),self.postMessage({type:4,jobId:n,methodName:e,abortable:null!=t,data:o})}))}let workerRevisionChecked=!1;function checkWorkerRevision(e){if(!workerRevisionChecked&&e.kernelInfo){workerRevisionChecked=!0;const{revision:o,buildDate:r,version:t}=configuration.kernelInfo,{revision:n,buildDate:i,version:s}=e.kernelInfo;o!==n&&console.warn(`[esri.core.workers] Version mismatch detected between ArcGIS API for JavaScript and assets:\nAPI version: ${t} [Date: ${r}, Revision: ${o.slice(0,8)}]\nAssets version: ${s} [Date: ${i}, Revision: ${n.slice(0,8)}]`)}}function messageHandler(e){const o=receiveMessage(e);if(!o)return;const r=o.jobId;switch(o.type){case 1:let e;function t(o){const t=e.connect(o);self.postMessage({type:2,jobId:r,data:t},[t])}"function"==typeof define&&define.amd?require([workerPath],(r=>{e=r.default||r,checkWorkerRevision(e),e.loadWorker(o.modulePath).then((e=>e||new Promise((e=>{require([o.modulePath],e)})))).then(t)})):"System"in self&&"function"==typeof System.import?System.import(workerPath).then((r=>(e=r.default,checkWorkerRevision(e),e.loadWorker(o.modulePath)))).then((e=>e||System.import(o.modulePath))).then(t):(self.RemoteClient||importScripts(workerPath),e=self.RemoteClient.default||self.RemoteClient,checkWorkerRevision(e),e.loadWorker(o.modulePath).then(t));break;case 3:if(outgoing.has(r)){const e=outgoing.get(r);outgoing.delete(r),o.error?e.reject(JSON.parse(o.error)):e.resolve(o.data)}}}self.dojoConfig=configuration.loaderConfig,esriConfig.workers.loaderUrl&&(self.importScripts(esriConfig.workers.loaderUrl),"function"==typeof require&&"function"==typeof require.config&&require.config(configuration.loaderConfig)),self.addEventListener("message",messageHandler),self.postMessage({type:0});'.replace('"{CONFIGURATION}"',`'${function(){let e;if(null!=f.Z.default){const t={...f.Z};delete t.default,e=JSON.parse(JSON.stringify(t))}else e=JSON.parse(JSON.stringify(f.Z));e.assetsPath=(0,d.hF)(e.assetsPath),e.request.interceptors=[],e.log.interceptors=[],e.locale=(0,_.Kd)(),e.has={"esri-csp-restrictions":(0,s.Z)("esri-csp-restrictions"),"esri-2d-debug":!1,"esri-2d-update-debug":(0,s.Z)("esri-2d-update-debug"),"esri-2d-query-centroid-enabled":(0,s.Z)("esri-2d-query-centroid-enabled"),"featurelayer-pbf":(0,s.Z)("featurelayer-pbf"),"featurelayer-simplify-thresholds":(0,s.Z)("featurelayer-simplify-thresholds"),"featurelayer-simplify-payload-size-factors":(0,s.Z)("featurelayer-simplify-payload-size-factors"),"esri-atomics":(0,s.Z)("esri-atomics"),"esri-shared-array-buffer":(0,s.Z)("esri-shared-array-buffer"),"esri-tiles-debug":(0,s.Z)("esri-tiles-debug"),"esri-workers-arraybuffer-transfer":(0,s.Z)("esri-workers-arraybuffer-transfer"),"host-webworker":1},e.workers.loaderUrl&&(e.workers.loaderUrl=(0,d.hF)(e.workers.loaderUrl)),e.workers.workerPath?e.workers.workerPath=(0,d.hF)(e.workers.workerPath):e.workers.workerPath=(0,d.hF)((0,h.V)("esri/core/workers/RemoteClient.js"));const t=f.Z.workers.loaderConfig,r=p({baseUrl:null==t?void 0:t.baseUrl,locale:(0,_.Kd)(),has:{"csp-restrictions":1,"dojo-test-sniff":0,"host-webworker":1,...null==t?void 0:t.has},map:{...null==t?void 0:t.map},paths:{...null==t?void 0:t.paths},packages:(null==t?void 0:t.packages)||[]}),n={version:l.i8,buildDate:I.r,revision:I.$};return JSON.stringify({esriConfig:e,loaderConfig:r,kernelInfo:n})}()}'`);k=URL.createObjectURL(new Blob([e],{type:"text/javascript"}))}catch(e){T=e||{}}let e;if(k)try{e=new Worker(k,{name:"esri-worker-"+E++})}catch(t){C.warn(S,T),e=new w}else C.warn(S,T),e=new w;return R(e)}();return new N(t,e)}terminate(){this.worker.terminate()}async open(e,t={}){const{signal:r}=t,n=(0,u.jt)();return new Promise(((t,s)=>{const a={resolve:t,reject:s,abortHandle:(0,i.$F)(r,(()=>{this._outJobs.delete(n),this._post({type:P,jobId:n})}))};this._outJobs.set(n,a),this._post({type:D,jobId:n,modulePath:e})}))}_onMessage(e){const t=(0,u.QM)(e);if(t)switch(t.type){case A:this._onOpenedMessage(t);break;case L:this._onResponseMessage(t);break;case P:this._onAbortMessage(t);break;case F:this._onInvokeMessage(t)}}_onAbortMessage(e){const t=this._inJobs,r=e.jobId,n=t.get(r);n&&(n.controller&&n.controller.abort(),t.delete(r))}_onInvokeMessage(e){const{methodName:t,jobId:r,data:n,abortable:s}=e,a=s?new AbortController:null,o=this._inJobs,c=l.Nv[t];let h;try{if("function"!=typeof c)throw new TypeError(`${t} is not a function`);h=c.call(null,n,{signal:a?a.signal:null})}catch(e){return void this._post({type:L,jobId:r,error:(0,u.AB)(e)})}(0,i.y8)(h)?(o.set(r,{controller:a,promise:h}),h.then((e=>{o.has(r)&&(o.delete(r),this._post({type:L,jobId:r},e))}),(e=>{o.has(r)&&(o.delete(r),e||(e={message:"Error encountered at method"+t}),(0,i.D_)(e)||this._post({type:L,jobId:r,error:(0,u.AB)(e||{message:`Error encountered at method ${t}`})}))}))):this._post({type:L,jobId:r},h)}_onOpenedMessage(e){var t;const{jobId:r,data:n}=e,s=this._outJobs.get(r);s&&(this._outJobs.delete(r),null==(t=s.abortHandle)||t.remove(),s.resolve(n))}_onResponseMessage(e){var t;const{jobId:r,error:s,data:i}=e,a=this._outJobs.get(r);a&&(this._outJobs.delete(r),null==(t=a.abortHandle)||t.remove(),s?a.reject(n.Z.fromJSON(JSON.parse(s))):a.resolve(i))}_post(e,t,r){return(0,u.oi)(this.worker,e,t,r)}}let Z=(0,s.Z)("esri-workers-debug")?1:(0,s.Z)("host-browser")?navigator.hardwareConcurrency-1:0;Z||(Z=(0,s.Z)("safari")&&(0,s.Z)("mac")||(0,s.Z)("trident")?7:2);let B=0;const q=[];async function H(e,t){const r=new a.Z;return await r.open(e,t),r}async function z(e,t={}){if("string"!=typeof e)throw new n.Z("workers:undefined-module","modulePath is missing");let r=t.strategy||"distributed";if((0,s.Z)("host-webworker")&&!(0,s.Z)("esri-workers")&&(r="local"),"local"===r){let r=await o.default.loadWorker(e);r||(r=await import(e)),(0,i.k_)(t.signal);const n=t.client||r;return H([o.default.connect(r)],{...t,client:n})}if(await async function(){if(J)return J;j=new AbortController;const e=[];for(let t=0;t<Z;t++){const r=N.create(t).then((e=>(q[t]=e,e)));e.push(r)}return J=Promise.all(e),J}(),(0,i.k_)(t.signal),"dedicated"===r){const r=B++%Z;return H([await q[r].open(e,t)],t)}if(t.maxNumWorkers&&t.maxNumWorkers>0){const r=Math.min(t.maxNumWorkers,Z);if(r<Z){const n=new Array(r);for(let s=0;s<r;++s){const r=B++%Z;n[s]=q[r].open(e,t)}return H(n,t)}}return H(q.map((r=>r.open(e,t))),t)}let j,J=null},24470:(e,t,r)=>{r.d(t,{Gv:()=>f,SO:()=>c,r3:()=>h,Ue:()=>i,oJ:()=>o,al:()=>a,kK:()=>u,HH:()=>l}),r(80442),r(22021);var n=r(70586),s=r(6570);function i(e=d){return[e[0],e[1],e[2],e[3]]}function a(e,t,r,n,s=i()){return s[0]=e,s[1]=t,s[2]=r,s[3]=n,s}function o(e,t=i()){return t[0]=e.xmin,t[1]=e.ymin,t[2]=e.xmax,t[3]=e.ymax,t}function l(e,t){return new s.Z({xmin:e[0],ymin:e[1],xmax:e[2],ymax:e[3],spatialReference:t})}function c(e){return function(e){return(0,n.Wi)(e)||e[0]>=e[2]?0:e[2]-e[0]}(e)*function(e){return e[1]>=e[3]?0:e[3]-e[1]}(e)}function u(e,t){return Math.max(t[0],e[0])<=Math.min(t[2],e[2])&&Math.max(t[1],e[1])<=Math.min(t[3],e[3])}function h(e,t){return t[0]>=e[0]&&t[2]<=e[2]&&t[1]>=e[1]&&t[3]<=e[3]}const f=[1/0,1/0,-1/0,-1/0],d=[0,0,0,0]},91384:(e,t,r)=>{r.r(t),r.d(t,{default:()=>xt});var n=r(43697),s=r(51773),i=r(30030),a=r(20102),o=r(70586),l=r(16453),c=r(95330),u=r(5600),h=(r(67676),r(80442),r(75215)),f=r(36030),d=r(71715),m=r(52011),p=r(29600),g=r(41522),y=r(17017),b=(r(66577),r(3172)),x=r(92604),v=r(44422),w=r(8744),_=r(66677),I=r(21506),C=r(35956),M=r(88281),k=r(11145),T=r(80676),S=r(67058),R=r(91219),E=r(6570),O=r(82971);const P=x.Z.getLogger("esri.layers.mixins.ImageryTileMixin"),F=e=>{let t=class extends e{constructor(){super(...arguments),this._rasterJobHandler={instance:null,refCount:0,connectionPromise:null},this.bandIds=null,this.copyright=null,this.fullExtent=null,this.interpolation="nearest",this.multidimensionalDefinition=null,this.raster=null,this.rasterInfo=null,this.sourceJSON=null,this.spatialReference=null,this.tileInfo=null,this.symbolizer=null}set url(e){this._set("url",(0,_.Nm)(e,P))}set renderer(e){this._set("renderer",e),this.updateRenderer()}async convertVectorFieldData(e,t){if((0,o.Wi)(e))return null;const r=this._rasterJobHandler.instance,n=this.rasterInfo.dataType;return r?r.convertVectorFieldData({pixelBlock:e,dataType:n},t):(0,T.KC)(e,n)}normalizeRasterFetchOptions(e){const{multidimensionalInfo:t}=this.rasterInfo;if((0,o.Wi)(t))return e;let r=e.multidimensionalDefinition||this.multidimensionalDefinition;!(0,o.Wi)(r)&&r.length||(r=this._getDefaultSlice());const n=e.timeExtent||this.timeExtent;if((0,o.pC)(r)&&(0,o.pC)(n)&&((0,o.pC)(n.start)||(0,o.pC)(n.end))){var s,i;r=r.map((e=>e.clone()));const a=null==(s=t.variables.find((({name:e})=>e===r[0].variableName)))||null==(i=s.dimensions)?void 0:i.find((({name:e})=>"StdTime"===e)),l=r.find((({dimensionName:e})=>"StdTime"===e));if(!a||!l)return{...e,multidimensionalDefinition:null};const{start:c,end:u}=n,h=(0,o.Wi)(c)?null:c.getTime(),f=(0,o.Wi)(u)?null:u.getTime(),d=null!=h?h:f,m=null!=f?f:h;if((0,o.pC)(a.values)){const e=a.values.filter((e=>Array.isArray(e)?e[0]<=d&&e[1]>=d||e[0]<=m&&e[1]>=m:d===m?e===d:e>=d&&e<=m));if(e.length){const t=e.sort(((e,t)=>{var r;return(null!=(r=t[1])?r:t)-(e[0]||e)}))[0];l.values=[t]}else r=null}else if(a.hasRegularIntervals&&a.extent){const[e,t]=a.extent;d>t||m<e?r=null:l.values=d===m?[d]:[Math.max(e,d),Math.min(t,m)]}}return{...e,multidimensionalDefinition:r}}async updateRenderer(){if(!this.loaded)return;if(JSON.stringify(this._cachedRendererJson)===JSON.stringify(this.renderer))return;const e=this._rasterJobHandler.instance;e&&(this.symbolizer.rendererJSON=(0,S.ol)(this.renderer.toJSON()),this.symbolizer.bind(),await e.updateSymbolizer(this.symbolizer),this._cachedRendererJson=this.renderer.toJSON())}async applyRenderer(e,t){const r=e&&e.pixelBlock;if(!((0,o.pC)(r)&&r.pixels&&r.pixels.length>0))return null;let n;await this.updateRenderer();const s=this._rasterJobHandler.instance,{bandIds:i}=this;return n=s?await s.symbolize({...e,simpleStretchParams:t,bandIds:i}):this.symbolizer.symbolize({...e,simpleStretchParams:t,bandIds:i}),n}getTileUrl(e,t,r){return"RasterTileServer"===this.raster.datasetFormat?`${this.url}/tile/${e}/${t}/${r}`:""}getCompatibleTileInfo(e,t,r=!1){if(!this.loaded||(0,o.Wi)(t))return null;if(r&&e.equals(this.spatialReference))return this.tileInfo;const n=(0,w.C5)(e);return k.Z.create({size:256,spatialReference:e,origin:n?{x:n.origin[0],y:n.origin[1]}:{x:t.xmin,y:t.ymax}})}getCompatibleFullExtent(e){return this.loaded?(this._compatibleFullExtent&&this._compatibleFullExtent.spatialReference.equals(e)||(this._compatibleFullExtent=this.raster.computeExtent(e)),this._compatibleFullExtent):null}async fetchTile(e,t,r,n={}){if(n.requestAsImageElement){const s=this.getTileUrl(e,t,r);return(0,b.default)(s,{responseType:"image",query:{...this.refreshParameters,...this.raster.ioConfig.customFetchParameters},signal:n.signal}).then((e=>e.data))}if((0,o.pC)(this.rasterInfo.multidimensionalInfo)&&(n=this.normalizeRasterFetchOptions(n),(0,o.Wi)(n.multidimensionalDefinition))){const s=n.tileInfo||this.rasterInfo.storageInfo.tileInfo;return{extent:this.raster.getTileExtentFromTileInfo(e,t,r,s),pixelBlock:null}}return await this._initJobHandler(),"raster-shaded-relief"===this.renderer.type&&(n={...n,buffer:{cols:1,rows:1}}),this.raster.fetchTile(e,t,r,n)}async fetchPixels(e,t,r,n={}){return(0,o.pC)(this.rasterInfo.multidimensionalInfo)&&(n=this.normalizeRasterFetchOptions(n),(0,o.Wi)(n.multidimensionalDefinition))?{extent:e,pixelBlock:null}:(await this._initJobHandler(),this.raster.fetchPixels(e,t,r,n))}async identify(e,t={}){return(0,o.pC)(this.rasterInfo.multidimensionalInfo)&&(t=this.normalizeRasterFetchOptions(t),(0,o.Wi)(t.multidimensionalDefinition))?{location:e,value:null}:this.raster.identify(e,t)}increaseRasterJobHandlerUsage(){this._rasterJobHandler.refCount++}decreaseRasterJobHandlerUsage(){this._rasterJobHandler.refCount--,this._rasterJobHandler.refCount<=0&&this._shutdownJobHandler()}hasStandardTime(){var e;const t=this.rasterInfo.multidimensionalInfo;if(!(0,o.pC)(t)||"standard-time"!==this.rasterInfo.dataType)return!1;const r=null==(e=this.multidimensionalDefinition[0])?void 0:e.variableName;return t.variables.some((e=>e.name===r&&e.dimensions.some((e=>"StdTime"===e.name))))}getStandardTimeValue(e){return new Date(24*(e-25569)*3600*1e3).toString()}_configDefaultSettings(){this._configDefaultInterpolation(),this.multidimensionalDefinition||(this.multidimensionalDefinition=this._getDefaultSlice()),this._configDefaultRenderer()}_initJobHandler(){if(null!=this._rasterJobHandler.connectionPromise)return this._rasterJobHandler.connectionPromise;const e=new M.Z;return this._rasterJobHandler.connectionPromise=e.initialize().then((()=>{this._rasterJobHandler.instance=e,this.raster.rasterJobHandler=e,this.renderer&&this.updateRenderer()})).catch((()=>null)),this._rasterJobHandler.connectionPromise}_shutdownJobHandler(){this._rasterJobHandler.instance&&this._rasterJobHandler.instance.destroy(),this._rasterJobHandler.instance=null,this._rasterJobHandler.connectionPromise=null,this._rasterJobHandler.refCount=0,this.raster.rasterJobHandler=null}_configDefaultInterpolation(){if(null==this.interpolation){var e;const t=(0,S.In)(this.rasterInfo,this.raster.tileType,null==(e=this.sourceJSON)?void 0:e.defaultResamplingMethod);this._set("interpolation",t)}}_getDefaultSlice(){const{multidimensionalInfo:e}=this.raster.rasterInfo;if(!(0,o.pC)(e))return null;const t=e.variables[0];return t.dimensions.map((e=>new C.Z({variableName:t.name,dimensionName:e.name,values:e.hasRegularIntervals?e.extent[0]:e.values[0],isSlice:!0})))}_configDefaultRenderer(){const e=this.raster.rasterInfo;var t;this.bandIds||(this.bandIds=(0,S.YD)(e)),this.renderer||(this.renderer=(0,S.Ob)(e,{bandIds:this.bandIds,variableName:(0,o.pC)(this.multidimensionalDefinition)?null==(t=this.multidimensionalDefinition[0])?void 0:t.variableName:null})),this.symbolizer?(this.symbolizer.rendererJSON=(0,S.ol)(this.renderer.toJSON()),this.symbolizer.rasterInfo=e):this.symbolizer=new R.Z({rendererJSON:this.renderer.toJSON(),rasterInfo:e}),this.symbolizer.bind()||P.warn("imagery-tile-mixin","The given renderer is not supported by the layer.")}};return(0,n._)([(0,u.Cb)()],t.prototype,"_cachedRendererJson",void 0),(0,n._)([(0,u.Cb)()],t.prototype,"_compatibleFullExtent",void 0),(0,n._)([(0,u.Cb)()],t.prototype,"_rasterJobHandler",void 0),(0,n._)([(0,u.Cb)()],t.prototype,"bandIds",void 0),(0,n._)([(0,u.Cb)()],t.prototype,"copyright",void 0),(0,n._)([(0,u.Cb)({type:E.Z}),(0,v.B)("rasterInfo.extent")],t.prototype,"fullExtent",void 0),(0,n._)([(0,u.Cb)()],t.prototype,"interpolation",void 0),(0,n._)([(0,u.Cb)()],t.prototype,"ioConfig",void 0),(0,n._)([(0,u.Cb)({type:[C.Z]})],t.prototype,"multidimensionalDefinition",void 0),(0,n._)([(0,u.Cb)()],t.prototype,"raster",void 0),(0,n._)([(0,u.Cb)({readOnly:!0}),(0,v.B)("raster.rasterInfo")],t.prototype,"rasterInfo",void 0),(0,n._)([(0,u.Cb)()],t.prototype,"sourceJSON",void 0),(0,n._)([(0,u.Cb)({type:O.Z}),(0,v.B)("rasterInfo.spatialReference")],t.prototype,"spatialReference",void 0),(0,n._)([(0,u.Cb)({type:k.Z}),(0,v.B)("rasterInfo.storageInfo.tileInfo")],t.prototype,"tileInfo",void 0),(0,n._)([(0,u.Cb)(I.HQ)],t.prototype,"url",null),(0,n._)([(0,u.Cb)({types:i.dr})],t.prototype,"renderer",null),(0,n._)([(0,u.Cb)()],t.prototype,"symbolizer",void 0),t=(0,n._)([(0,m.j)("esri.layers.ImageryTileMixin")],t),t};var D=r(38009),A=r(16859),L=r(34760),N=r(72965),Z=r(28294),B=r(1231),q=r(69608),H=r(30547),z=r(48526),j=r(36679),J=r(10736),W=r(609),U=r(67900),G=r(42894),$=r(40488),V=r(13473);const Y=5e-4,X=function(e,t){const r=(e.isWGS84||e.isWebMercator)&&(t.isWGS84||t.isWebMercator);return!(e.equals(t)||r)},K={3395:20037508.342789244,3410:17334193.943686873,3832:3339584.723798206,3857:20037508.342788905,3975:17367530.445161372,4087:20037508.342789244,4088:20015108.787169147,6933:17367530.445161372,8858:7396237.374497803,8859:2465412.4581659334,32662:20037508.342789244,53001:20015086.79602057,53002:10007543.39801029,53003:20015086.79602057,53004:20015086.79602057,53016:14152803.599503474,53017:17333573.624304302,53025:7276828.3848298555,53031:10384677.558821043,53034:20015086.79602057,53036:7389443.187332862,53037:2463147.729110953,53079:20015114.352186374,53080:20015114.352186374,54001:20037508.342789244,54002:10018754.171394624,54003:20037508.342789244,54004:20037508.342789244,54016:14168658.027268292,54017:17367530.44516137,54025:7311399.09166516,54031:10396310.810074743,54034:20037508.342789244,54050:808820.9223376509,54053:1920897.3915568967,54079:20037508.342789244,54080:20037508.342789244,54100:20037508.342789244,54101:20037508.342789244,102038:4297258.582585486,102299:5013965.117483125};function Q(e,t,r,n=null){if(e.spatialReference.equals(t))return e;const s=X(e.spatialReference,t);if(s&&!(0,G.kR)())throw new a.Z("rasterprojectionhelper-projectResolution","projection engine is not loaded");const i=r.center,l=new E.Z({xmin:i.x-e.x/2,xmax:i.x+e.x/2,ymin:i.y-e.y/2,ymax:i.y+e.y/2,spatialReference:e.spatialReference}),c=s?(0,G.iV)(l,t,n):(0,$.iV)(l,t);return(0,o.Wi)(c)?null:{x:c.xmax-c.xmin,y:c.ymax-c.ymin}}function ee(e,t=.01){return(0,U.c9)(e)?t/(0,U.c9)(e):0}function te(e,t,r=null,n=!0){const s=e.spatialReference;if(s.equals(t))return e;let i=(0,$.iV)(e,t);if((0,o.Wi)(i)){if(!(0,G.kR)())throw new a.Z("rasterprojectionhelper-projectResolution","projection engine is not loaded");i=(0,G.iV)(e,t,r)}if(n&&t.isGeographic){const[t,r]=ae(s,!0),n=ee(s);n&&null!=t&&null!=r&&(Math.abs(e.x-t)<n&&Math.abs(180-i.x)<Y?i.x-=360:Math.abs(e.x-r)<n&&Math.abs(180+i.x)<Y&&(i.x+=360))}return i}function re(e){const t=ie(e[0].spatialReference);if(e.length<2||!(0,o.pC)(t))return e[0];let{xmin:r,xmax:n,ymin:s,ymax:i}=e[0];for(let r=1;r<e.length;r++){const a=e[r];n=a.xmax+t*r,s=Math.min(s,a.ymin),i=Math.max(i,a.ymax)}return new E.Z({xmin:r,xmax:n,ymin:s,ymax:i,spatialReference:e[0].spatialReference})}function ne(e,t,r=null,n=!0){if(e.spatialReference.equals(t))return e;const s=le(e),i=ie(e.spatialReference,!0);return(0,o.pC)(i)&&0!==s?re(e.clone().normalize().map((e=>se(e,t,r,n)))):se(e,t,r,n)}function se(e,t,r=null,n=!0){const s=e.spatialReference;if(s.equals(t))return e;if(X(s,t)&&!(0,G.kR)())throw new a.Z("rasterprojectionhelper-projectExtent","projection engine is not loaded");let i=(0,$.iV)(e,t);(0,o.Wi)(i)&&(i=(0,G.iV)(e,t,r));let[l,c]=ae(s,!0);if(i&&n&&s.isWebMercator&&t.isGeographic&&null!=l&&null!=c){const n=.001,a=1e3;if(Math.abs(e.xmin-l)<n&&Math.abs(c-e.xmax)>a&&Math.abs(180-i.xmax)<Y){i.xmin=-180;const n=[];n.push(new V.Z(e.xmax,e.ymin,s)),n.push(new V.Z(e.xmax,(e.ymin+e.ymax)/2,s)),n.push(new V.Z(e.xmax,e.ymax,s));const a=n.map((e=>te(e,t,r))).filter((e=>!isNaN(null==e?void 0:e.x))).map((e=>e.x));i.xmax=Math.max.apply(null,a)}if(Math.abs(e.xmax-c)<n&&Math.abs(l-e.xmin)>a&&Math.abs(180+i.xmin)<Y){i.xmax=180;const n=[];n.push(new V.Z(e.xmin,e.ymin,s)),n.push(new V.Z(e.xmin,(e.ymin+e.ymax)/2,s)),n.push(new V.Z(e.xmin,e.ymax,s));const a=n.map((e=>te(e,t,r))).filter((e=>!isNaN(null==e?void 0:e.x))).map((e=>e.x));i.xmin=Math.min.apply(null,a)}}[l,c]=ae(t,!0);const u=ee(t);return u&&null!=l&&null!=c&&(Math.abs(i.xmin-l)<u&&(i.xmin=l),Math.abs(i.xmax-c)<u&&(i.xmax=c)),i}function ie(e,t=!1){const r=t?20037508.342787:20037508.342788905;return e.isWebMercator?2*r:e.wkid&&e.isGeographic?360:2*K[e.wkid]||null}function ae(e,t=!1){const r=[],n=ie(e,t);return(0,o.pC)(n)&&(r.push(-n/2),r.push(n/2)),r}function oe(e,t,r,n){let s=(e-t)/r;return s-Math.floor(s)!=0?s=Math.floor(s):n&&(s-=1),s}function le(e,t=!1){const r=ie(e.spatialReference);if(!(0,o.pC)(r))return 0;const n=t?0:-r/2;return oe(e.xmax,n,r,!0)-oe(e.xmin,n,r,!1)}function ce(e,t,r,n=null,s=null,i=!1,l=[32,32]){if(X(e.spatialReference,t.spatialReference)&&!(0,G.kR)())throw new a.Z("rasterprojectionhelper-projectResolution","projection engine is not loaded");if(!(e&&t&&r))return null;const{xmin:c,ymin:u,xmax:h,ymax:f}=e,d=e.spatialReference,m=t.spatialReference,p=ie(m);i=i||"gcs-shift"===(null==s?void 0:s.type);const g={x:l[0]*r.x,y:l[1]*r.y},y={cols:Math.ceil((h-c)/g.x-.1/l[0])+1,rows:Math.ceil((f-u)/g.y-.1/l[1])+1},b=g.x,x=g.y,v=[];let w,_=!1;for(let e=0;e<y.cols;e++){const r=[];for(let a=0;a<y.rows;a++){let l=te(new V.Z({x:c+b*e,y:f-x*a,spatialReference:d}),m,n);s&&(l=s.inverseTransform(l)),r.push(l),e>0&&i&&l&&w[a]&&(0,o.pC)(p)&&l.x<w[a].x&&(l.x+=p),l?(v.push((l.x-t.xmin)/(t.xmax-t.xmin)),v.push((t.ymax-l.y)/(t.ymax-t.ymin))):(v.push(NaN),v.push(NaN),_=!0)}w=r}const I=function(e,t){const r=(e[0]+e[4]+e[4*t.cols]+e[4*t.cols+4])/4,n=(e[1]+e[5]+e[4*t.rows+1]+e[4*t.rows+5])/4;return[Math.abs(r-e[2*t.rows+2]),Math.abs(n-e[2*t.rows+3])]}(v,y),C=new Float32Array((y.cols-1)*(y.rows-1)*2*6),M=new Float32Array([-0,-1,1,-1,1,-0,1,-0,-0]),k=new Float32Array([-1,1,0,0,-1,1,1,0,0]);for(let e=0;e<y.cols-1;e++){for(let t=0;t<y.rows-1;t++){let r=e*y.rows*2+2*t;const n=v[r],s=v[r+1],i=v[r+2],a=v[r+3];r+=2*y.rows;const o=v[r],l=v[r+1],c=v[r+2],u=v[r+3];let h=0,f=12*(t*(y.cols-1)+e);for(let e=0;e<3;e++)C[f++]=M[h++]*n+M[h++]*i+M[h++]*c;h=0;for(let e=0;e<3;e++)C[f++]=M[h++]*s+M[h++]*a+M[h++]*u;h=0;for(let e=0;e<3;e++)C[f++]=k[h++]*n+k[h++]*o+k[h++]*c;h=0;for(let e=0;e<3;e++)C[f++]=k[h++]*s+k[h++]*l+k[h++]*u}if(_)for(let e=0;e<C.length;e++)isNaN(C[e])&&(C[e]=-1)}return{offsets:v,error:I,coefficients:C,spacing:l,size:[y.cols-1,y.rows-1]}}function ue(e,t,r){const{storageInfo:n,pixelSize:s}=t;let i,a=!1;const{pyramidResolutions:l}=n;if((0,o.pC)(l)&&l.length){const n=(e.x+e.y)/2,o=l[l.length-1],c=(o.x+o.y)/2,u=(s.x+s.y)/2;if(n<=u)i=0;else if(n>=c)i=l.length,a=n/c>8;else{let e,t=u;for(let s=1;s<=l.length;s++){if(e=(l[s-1].x+l[s-1].y)/2,n<=e){n===e?i=s:"down"===r?(i=s-1,a=n/t>8):i="up"===r||n-t>e-n||n/t>2?s:s-1;break}t=e}}const h=0===i?s:l[i-1];return{pyramidLevel:i,pyramidResolution:new V.Z({x:h.x,y:h.y,spatialReference:t.spatialReference}),excessiveReading:a}}const c=Math.log(e.x/s.x)/Math.LN2,u=Math.log(e.y/s.y)/Math.LN2,h=t.storageInfo.maximumPyramidLevel||0;i="down"===r?Math.floor(Math.min(c,u)):"up"===r?Math.ceil(Math.max(c,u)):Math.round((c+u)/2),i<0?i=0:i>h&&(a=i>h+3,i=h);const f=2**i;return{pyramidLevel:i,pyramidResolution:new V.Z({x:f*t.nativePixelSize.x,y:f*t.nativePixelSize.y,spatialReference:t.spatialReference}),excessiveReading:a}}const he=new Map,fe=new class{constructor(e=15e3,t=5e3){this._timer=null,this._cachedBlocks=new Map,this._size=-1,this._duration=e,this._interval=Math.min(e,t)}decreaseRefCount(e,t){const r=e+"/"+t,n=this._cachedBlocks;if(n.has(r)){const e=n.get(r);return e.refCount--,e.refCount<=0&&(n.delete(r),e.controller&&e.controller.abort()),e.refCount}return 0}getBlock(e,t){const r=e+"/"+t,n=this._cachedBlocks;if(n.has(r)){const e=n.get(r);return e.ts=Date.now(),e.refCount++,n.delete(r),n.set(r,e),e.block}return null}putBlock(e,t,r,n=null){const s=this._cachedBlocks,i=e+"/"+t;if(s.has(i)){const e=s.get(i);e.ts=Date.now(),e.refCount++}else s.set(i,{block:r,ts:Date.now(),refCount:1,controller:n});this.trim(),this.updateTimer()}deleteBlock(e,t){const r=this._cachedBlocks,n=e+"/"+t;r.has(n)&&r.delete(n)}updateMaxSize(e){this._size=e,this.trim()}empty(){this._cachedBlocks.clear(),this.clearTimer()}getCurrentSize(){return this._cachedBlocks.size}updateTimer(){if(null!=this._timer)return;const e=this._cachedBlocks;this._timer=setInterval((()=>{const t=Array.from(e),r=Date.now();for(let n=0;n<t.length&&t[n][1].ts<=r-this._duration;n++)e.delete(t[n][0]);0===e.size&&this.clearTimer()}),this._interval)}trim(){const e=this._cachedBlocks;if(-1===this._size||this._size>=e.size)return;const t=Array.from(e);for(let r=0;r<t.length-this._size;r++)e.delete(t[r][0])}clearTimer(){null!=this._timer&&(clearInterval(this._timer),this._timer=null)}};function de(e,t){return null==t?e:`${e}?sliceId=${t}`}function me(e,t,r){if(!he.has(e))return null==t?fe.getBlock(e,r):null;const n=he.get(e);if(null==n[t]){for(let e=0;e<n.length;e++)if(n[e]&&n[e].cache.has(r)){const t=n[e].cache.get(r);return t.refCount++,t.block}return fe.getBlock(e,r)}const s=n[t].cache;if(s.has(r)){const e=s.get(r);return e.refCount++,e.block}for(let e=0;e<n.length;e++)if(e!==t&&n[e]&&n[e]&&n[e].cache.has(r)){const t=n[e].cache.get(r);return t.refCount++,s.set(r,t),t.block}return null}function pe(e,t,r,n,s=null){if(!he.has(e))return void(null==t&&fe.putBlock(e,r,n,s));const i=he.get(e);if(null==i[t])return void fe.putBlock(e,r,n,s);const a={refCount:1,block:n,isResolved:!1,isRejected:!1,controller:s};n.then((()=>a.isResolved=!0)).catch((()=>a.isRejected=!0)),i[t].cache.set(r,a)}var ge=r(75993),ye=r(55914);let be=class extends((0,W.v)(J.wq)){constructor(){super(...arguments),this.rasterJobHandler=null,this.datasetName=null,this.datasetFormat=null,this.rasterInfo=null,this.ioConfig={sampling:"closest"}}async init(){const e=async function(){if((0,G.kR)())return null;await(0,G.zD)()}();this.addResolvingPromise(e),await this.when()}normalizeCtorArgs(e){return e&&e.ioConfig&&(e={...e,ioConfig:{resolution:null,bandIds:null,sampling:"closest",tileInfo:k.Z.create(),...e.ioConfig}}),e}set url(e){this._set("url",(0,_.Nm)(e,x.Z.getLogger(this.declaredClass)))}async open(e){throw new a.Z("BaseRaster:open-not-implemented","open() is not implemented")}async fetchTile(e,t,r,n={}){const s=n.tileInfo||this.rasterInfo.storageInfo.tileInfo,i=this.getTileExtentFromTileInfo(e,t,r,s);return this.fetchPixels(i,s.size[0],s.size[1],n)}async identify(e,t={}){t=this._getRequestOptionsWithSliceId(t);const{spatialReference:r,extent:n}=this.rasterInfo,{datumTransformation:s}=t;let i=te(e,r,s);if(!n.intersects(i))return{location:i,value:null};if((0,o.pC)(this.rasterInfo.transform)){const e=this.rasterInfo.transform.inverseTransform(i);if(!this.rasterInfo.nativeExtent.intersects(e))return{location:e,value:null};i=e}let a=0;if(t.srcResolution)a=ue(t.srcResolution,this.rasterInfo,this.ioConfig.sampling).pyramidLevel;else if(a=await this.computeBestPyramidLevelForLocation(e,t),null==a)return{location:i,value:null};const l=this.identifyPixelLocation(i,a,null);if(null===l)return{location:i,value:null};const{row:c,col:u,rowOffset:h,colOffset:f}=l,d=de(this.url,t.sliceId),m=`${a}/${c}/${u}`;let p=me(d,null,m);(0,o.Wi)(p)&&(p=this.fetchRawTile(a,c,u,t),pe(d,null,m,p));const g=await p;if((0,o.Wi)(g)||!g.pixels||0===g.pixels.length)return{location:i,value:null};const y=h*this.rasterInfo.storageInfo.blockHeight+f,b=!g.mask||g.mask[y]?g.pixels.map((e=>e[y])):null,x=this.rasterInfo.dataType;return("vector-magdir"===x||"vector-uv"===x)&&(null==b?void 0:b.length)>1?{location:i,value:b,magdirValue:"vector-magdir"===x?[b[0],b[1]]:(0,T.Tg)([b[0],b[1]]),pyramidLevel:a}:{location:i,value:b,pyramidLevel:a}}async fetchPixels(e,t,r,n={}){e=function(e){const t=e.clone().normalize();return 1===t.length?t[0]:re(t)}(e);const s=ie(e.spatialReference),i=le(e),a=ie(this.rasterInfo.spatialReference),l=(0,o.pC)(a)&&this.rasterInfo.extent.width>=a/2;if(n=this._getRequestOptionsWithSliceId(n),(0,o.Wi)(s)||0===i||1===i&&l)return this._fetchPixels(e,t,r,n);if(i>=3)return{extent:e,pixelBlock:null};const c=[],{xmin:u,xmax:h}=e,f=Math.round(s/(h-u)*t),d=f-Math.round((s/2-u)/(h-u)*t);let m=0;const p=[];for(let a=0;a<=i;a++){const o=new E.Z({xmin:0===a?u:-s/2,xmax:a===i?h-s*a:s/2,ymin:e.ymin,ymax:e.ymax,spatialReference:e.spatialReference}),l=0===a?f-d:a===i?t-m:f;m+=l,p.push(l);const g=this._fetchPixels(o,l,r,n);c.push(g)}const g=(await Promise.all(c)).map((e=>null==e?void 0:e.pixelBlock));let y=null;const b={width:t,height:r};return y=this.rasterJobHandler?await this.rasterJobHandler.mosaicAndTransform({srcPixelBlocks:g,srcMosaicSize:b,destDimension:null,coefs:null,sampleSpacing:null,interpolation:"nearest",alignmentInfo:null,blockWidths:p},n):(0,ye.us)(g,b,{blockWidths:p}),{extent:e,srcExtent:ne(e,this.rasterInfo.spatialReference,n.datumTransformation),pixelBlock:y}}async fetchRawPixels(e,t,r,n){const{origin:s,blockBoundary:i}=this.rasterInfo.storageInfo,{blockWidth:a,blockHeight:l}=this.getBlockWidthHeight(e);let{x:c,y:u}=t,{width:h,height:f,wrapCount:d}=r;const m=(0,o.Wg)(this._getRasterTileAlignmentInfo(e,0));n.buffer&&(c-=n.buffer.cols,u-=n.buffer.rows,h+=2*n.buffer.cols,f+=2*n.buffer.rows);const p=Math.floor(c/a),g=Math.floor(u/l),y=Math.floor((c+h-1)/a),b=Math.floor((u+f-1)/l),x=i[e];if(!x)return null;const{minRow:v,minCol:w,maxCol:_,maxRow:I}=x;if(0===d&&(b<v||y<w||g>I||p>_))return null;const C=new Array;let M=!1;const k=null==this.ioConfig.allowPartialFill?n.allowPartialFill:this.ioConfig.allowPartialFill;for(let t=g;t<=b;t++)for(let r=p;r<=y;r++){const s=0===d||null==m||r<m.worldColumnCountFromOrigin?r:r%m.worldColumnCountFromOrigin-m.originColumnOffset;if(t>=v&&s>=w&&I>=t&&_>=s){const r=this._fetchRawTile(e,t,s,n);k?C.push(new Promise((e=>{r.then((t=>e(t))).catch((()=>{M=!0,e(null)}))}))):C.push(r)}else C.push(null)}if(0===C.length)return null;const T=await Promise.all(C),S={height:(b-g+1)*l,width:(y-p+1)*a},{spatialReference:R}=this.rasterInfo,O=this.getPyramidPixelSize(e),{x:P,y:F}=O;return{extent:new E.Z({xmin:s.x+p*a*P,xmax:s.x+(y+1)*a*P,ymin:s.y-(b+1)*l*F,ymax:s.y-g*l*F,spatialReference:R}),pixelBlocks:T,mosaicSize:S,isPartiallyFilled:M}}fetchRawTile(e,t,r,n){throw new a.Z("BaseRaster:read-not-implemented","fetchRawTile() is not implemented")}computeExtent(e){return ne(this.rasterInfo.extent,e)}decodePixelBlock(e,t){return!this.rasterJobHandler||t.useCanvas?(0,ge.Jx)(e,t):this.rasterJobHandler.decode({data:e,options:t})}async request(e,t,r){var n,s;const{customFetchParameters:i}=this.ioConfig,{range:a,query:o,headers:l}=t;r=null!=(n=null!=(s=r)?s:t.retryCount)?n:this.ioConfig.retryCount;const c=a?{Range:`bytes=${a.from}-${a.to}`}:null;try{return await(0,b.default)(e,{...t,query:{...o,...i},headers:{...l,...c}})}catch(n){if(r>0)return r--,this.request(e,t,r);throw n}}getSliceIndex(e){const{multidimensionalInfo:t}=this.rasterInfo;if(!(0,o.pC)(t))return null;if(!(0,o.pC)(e)||0===e.length)return null;let r=0;const n=e[0].variableName;for(let s=0;s<t.variables.length;s++){const i=t.variables[s],a=i.dimensions;if(i.name!==n){r+=a.map((e=>this._getDimensionValuesCount(e))).reduce(((e,t)=>e+t));break}const o=a.map((e=>this._getDimensionValuesCount(e))),l=a.length;for(let t=0;t<l;t++){const n=e.filter((e=>e.dimensionName===a[t].name))[0];if(null==n)return null;const s=Array.isArray(n.values[0])?n.values[0][0]:n.values[0],i=this._getIndexFromDimensions(s,a[t]);if(-1===i)return null;o.shift(),r+=t===l-1?i:i*o.reduce(((e,t)=>e+t))}}return r}getTileExtentFromTileInfo(e,t,r,n){const s=n.lodAt(e);return this.getTileExtent({x:s.resolution,y:s.resolution},t,r,n.origin,n.spatialReference,n.size)}updateTileInfo(){const{storageInfo:e,spatialReference:t,extent:r,pixelSize:n}=this.rasterInfo;if(!e.tileInfo){const s=[],i=e.maximumPyramidLevel||0;let a=Math.max(n.x,n.y),o=1/.0254*96*a;for(let e=0;e<=i;e++)s.push({level:i-e,resolution:a,scale:o}),a*=2,o*=2;const l=new V.Z({x:r.xmin,y:r.ymax,spatialReference:t});e.tileInfo=new k.Z({origin:l,size:[e.blockWidth,e.blockHeight],spatialReference:t,lods:s}),e.isVirtualTileInfo=!0}}createRemoteDatasetStorageInfo(e,t=512,r=512,n){const{width:s,height:i,nativeExtent:a,pixelSize:o,spatialReference:l}=e,c=new V.Z({x:a.xmin,y:a.ymax,spatialReference:l});null==n&&(n=Math.max(0,Math.round(Math.log(Math.max(s,i))/Math.LN2-8)));const u=this.computeBlockBoundary(a,512,512,{x:a.xmin,y:a.ymax},[o],n);e.storageInfo=new j.Z({blockWidth:t,blockHeight:r,pyramidBlockWidth:t,pyramidBlockHeight:r,origin:c,firstPyramidLevel:1,maximumPyramidLevel:n,blockBoundary:u})}async computeBestPyramidLevelForLocation(e,t={}){return 0}computeBlockBoundary(e,t,r,n,s,i=0,a=2){if(1===s.length&&i>0){s=[...s];let{x:e,y:t}=s[0];for(let r=0;r<i;r++)e*=a,t*=a,s.push({x:e,y:t})}const o=[],{x:l,y:c}=n;for(let n=0;n<s.length;n++){const{x:i,y:a}=s[n];o.push({minCol:Math.floor((e.xmin-l+.1*i)/t/i),maxCol:Math.floor((e.xmax-l-.1*i)/t/i),minRow:Math.floor((c-e.ymax+.1*a)/r/a),maxRow:Math.floor((c-e.ymin-.1*a)/r/a)})}return o}getPyramidPixelSize(e){const{nativePixelSize:t}=this.rasterInfo,{pyramidResolutions:r,pyramidScalingFactor:n}=this.rasterInfo.storageInfo;if(0===e)return t;if((0,o.pC)(r)&&r.length)return r[e-1];const s=n**e;return{x:t.x*s,y:t.y*s}}identifyPixelLocation(e,t,r){const{spatialReference:n,nativeExtent:s}=this.rasterInfo,{blockWidth:i,blockHeight:a,maximumPyramidLevel:o,origin:l}=this.rasterInfo.storageInfo,c=te(e,n,r);if(!s.intersects(c))return null;if(t<0||t>o)return null;const u=this.getPyramidPixelSize(t),{x:h,y:f}=u,d=(l.y-c.y)/f/a,m=(c.x-l.x)/h/i,p=Math.min(a-1,Math.floor((d-Math.floor(d))*a)),g=Math.min(i-1,Math.floor((m-Math.floor(m))*i));return{pyramidLevel:t,row:Math.floor(d),col:Math.floor(m),rowOffset:p,colOffset:g,srcLocation:c}}getTileExtent(e,t,r,n,s,i){const[a,o]=i,l=n.x+r*a*e.x,c=l+a*e.x,u=n.y-t*o*e.y,h=u-o*e.y;return new E.Z({xmin:l,xmax:c,ymin:h,ymax:u,spatialReference:s})}getBlockWidthHeight(e){return{blockWidth:e>0?this.rasterInfo.storageInfo.pyramidBlockWidth:this.rasterInfo.storageInfo.blockWidth,blockHeight:e>0?this.rasterInfo.storageInfo.pyramidBlockHeight:this.rasterInfo.storageInfo.blockHeight}}isBlockOutside(e,t,r){const n=this.rasterInfo.storageInfo.blockBoundary[e];return!n||n.maxRow<t||n.maxCol<r||n.minRow>t||n.minCol>r}async _fetchPixels(e,t,r,n={}){const s=this.rasterInfo.spatialReference,i=!e.spatialReference.equals(s),{datumTransformation:a}=n,l=new V.Z({x:(e.xmax-e.xmin)/t,y:(e.ymax-e.ymin)/r,spatialReference:e.spatialReference}),c=n.srcResolution||(i?Q(l,s,e,a):l);if(!c)return{extent:e,pixelBlock:null};const{pyramidLevel:u,pyramidResolution:h,excessiveReading:f}=ue(c,this.rasterInfo,this.ioConfig.sampling);if(f)return{extent:e,pixelBlock:null};const d=this.rasterInfo.storageInfo;let m=i?ne(e,s,a):e;const p=(0,o.Wg)(this.rasterInfo.transform);if(p&&(m=p.inverseTransform(m)),null==m)return{extent:e,srcExtent:m,pixelBlock:null};const g={x:Math.floor((m.xmin-d.origin.x)/h.x+.1),y:Math.floor((d.origin.y-m.ymax)/h.y+.1)},y=Math.ceil((m.xmax-m.xmin)/h.x-.1),b=Math.ceil((m.ymax-m.ymin)/h.y-.1),x=le(e);if(y/t>8||b/r>8||x>=2)return{extent:e,srcExtent:m,pixelBlock:null};const v=await this.fetchRawPixels(u,g,{width:y,height:b,wrapCount:x},n);if(!v)return{extent:e,srcExtent:m,pixelBlock:null};const w=u>0?d.pyramidBlockWidth:d.blockWidth,_=u>0?d.pyramidBlockHeight:d.blockHeight;if(!i&&w===y&&_===b&&g.x%w==0&&g.y%_==0&&1===v.pixelBlocks.length&&w===t&&_===r&&c.x===l.x&&c.y===l.y)return{extent:e,srcExtent:m,pixelBlock:v.pixelBlocks[0]};const I=ce(e,v.extent,l,a,p,x>0);let C;const M=!n.requestRawData,k={rows:I.spacing[0],cols:I.spacing[1]},T=(0,o.Wg)(this._getRasterTileAlignmentInfo(u,v.extent.xmin)),{pixelBlocks:S,mosaicSize:R,isPartiallyFilled:E}=v;if(this.rasterJobHandler)C=await this.rasterJobHandler.mosaicAndTransform({srcPixelBlocks:S,srcMosaicSize:R,destDimension:M?{width:t,height:r}:null,coefs:M?I.coefficients:null,sampleSpacing:M?k:null,interpolation:n.interpolation,alignmentInfo:T,blockWidths:null},n);else{const e=(0,ye.us)(S,R,{alignmentInfo:T});C=M?(0,ye.Uk)(e,{width:t,height:r},I.coefficients,k,n.interpolation):e}return n.requestRawData?{srcExtent:m,pixelBlock:C,transformGrid:I,extent:e,isPartiallyFilled:E}:{srcExtent:m,extent:e,pixelBlock:C}}_fetchRawTile(e,t,r,n){const s=this.rasterInfo.storageInfo.blockBoundary[e];if(!s)return Promise.resolve(null);const{minRow:i,minCol:a,maxCol:l,maxRow:u}=s;if(t<i||r<a||t>u||r>l)return Promise.resolve(null);const h=de(this.url,n.sliceId),f=`${e}/${t}/${r}`;let d=me(h,n.registryId,f);if((0,o.Wi)(d)){const s=new AbortController;d=this.fetchRawTile(e,t,r,{...n,signal:s.signal}),pe(h,n.registryId,f,d,s),d.catch((()=>function(e,t,r){if(!he.has(e))return void(null==t&&fe.deleteBlock(e,r));const n=he.get(e);null!=n[t]?n[t].cache.delete(r):fe.deleteBlock(e,r)}(h,n.registryId,f)))}return n.signal&&(0,c.fu)(n,(()=>{!function(e,t,r){if(!he.has(e))return null==t?fe.decreaseRefCount(e,r):0;const n=he.get(e);if(null==n[t])return fe.decreaseRefCount(e,r);const s=n[t].cache;if(s.has(r)){const e=s.get(r);if(e.refCount--,0===e.refCount){s.delete(r);for(let e=0;e<n.length;e++)n[e]&&n[e].cache.has(r)&&n[e].cache.delete(r);e.controller&&e.controller.abort()}e.refCount}}(h,n.registryId,f)})),d}_getIndexFromDimensions(e,t){const{extent:r,interval:n,unit:s,values:i}=t;if(null!=i&&i.length)return Array.isArray(i[0])?i.findIndex((t=>t[0]<=e&&t[1]>=e)):i.indexOf(e);if(e>r[1])return-1;const a=r[0];let o=-1;if("ISO8601"===s){var l;switch((null==(l=t.intervalUnit)?void 0:l.toLowerCase())||"seconds"){case"seconds":o=Math.round((e-a)/1e3/n);break;case"minutes":o=Math.round((e-a)/6e4/n);break;case"hours":o=Math.round((e-a)/36e5/n);break;case"days":o=Math.round((e-a)/864e5/n);break;case"years":o=Math.round((new Date(e).getUTCFullYear()-new Date(a).getUTCFullYear())/n);break;case"decades":o=Math.round((new Date(e).getUTCFullYear()-new Date(a).getUTCFullYear())/10/n)}return o}return Math.round((e-a)/n)}_getDimensionValuesCount(e){const{extent:t,interval:r,unit:n,values:s}=e;let i=(null==s?void 0:s.length)||0;if(i)return i;const a=t[0];if(0===i&&"ISO8601"===n){var o;switch((null==(o=e.intervalUnit)?void 0:o.toLowerCase())||"seconds"){case"seconds":i=Math.round((t[1]-t[0])/1e3/r);break;case"minutes":i=Math.round((t[1]-t[0])/6e4/r);break;case"hours":i=Math.round((t[1]-t[0])/36e5/r);break;case"days":i=Math.round((t[1]-t[0])/864e5/r);break;case"years":i=Math.round((new Date(t[1]).getUTCFullYear()-new Date(a).getUTCFullYear())/r);break;case"decades":i=Math.round((new Date(t[1]).getUTCFullYear()-new Date(a).getUTCFullYear())/10/r)}return i}return Math.round((t[1]-t[0])/r)}_getRasterTileAlignmentInfo(e,t){return null==this._rasterTileAlighmentInfo&&(this._rasterTileAlighmentInfo=function(e){const t=e.storageInfo.origin.x,r=ie(e.spatialReference,!0);if(!(0,o.pC)(r))return{originX:t,halfWorldWidth:null,pyramidsInfo:null};const n=r/2,{nativePixelSize:s,storageInfo:i,extent:a}=e,{maximumPyramidLevel:l,blockWidth:c,pyramidScalingFactor:u}=i;let h=s.x;const f=[],d=(0,o.pC)(e.transform)&&"gcs-shift"===e.transform.type,m=t+n,p=d?r-t:n-t;for(let e=0;e<=l;e++){const e=(a.xmax-t)/h/c,n=e-Math.floor(e)==0?e:Math.ceil(e),s=(r/2-t)/h/c,i=s-Math.floor(s)==0?s:Math.ceil(s),o=Math.floor(m/h/c),l=Math.round(m/h)%c,d=(c-Math.round(p/h)%c)%c;f.push({resolutionX:h,blockWidth:c,datsetColumnCount:n,worldColumnCountFromOrigin:i,leftMargin:l,rightPadding:d,originColumnOffset:o}),h*=u}return{originX:t,halfWorldWidth:n,pyramidsInfo:f,hasGCSSShiftTransform:d}}(this.rasterInfo)),(0,o.pC)(this._rasterTileAlighmentInfo.pyramidsInfo)?{startX:t,halfWorldWidth:this._rasterTileAlighmentInfo.halfWorldWidth,hasGCSSShiftTransform:this._rasterTileAlighmentInfo.hasGCSSShiftTransform,...this._rasterTileAlighmentInfo.pyramidsInfo[e]}:null}_getRequestOptionsWithSliceId(e){return(0,o.pC)(this.rasterInfo.multidimensionalInfo)&&null==e.sliceId&&(e={...e,sliceId:this.getSliceIndex(e.multidimensionalDefinition)}),e}};(0,n._)([(0,u.Cb)()],be.prototype,"_rasterTileAlighmentInfo",void 0),(0,n._)([(0,u.Cb)(I.HQ)],be.prototype,"url",null),(0,n._)([(0,u.Cb)({type:String,json:{write:!0}})],be.prototype,"datasetName",void 0),(0,n._)([(0,u.Cb)({type:String,json:{write:!0}})],be.prototype,"datasetFormat",void 0),(0,n._)([(0,u.Cb)()],be.prototype,"rasterInfo",void 0),(0,n._)([(0,u.Cb)()],be.prototype,"ioConfig",void 0),(0,n._)([(0,u.Cb)()],be.prototype,"sourceJSON",void 0),be=(0,n._)([(0,m.j)("esri.layers.support.rasterDatasets.BaseRaster")],be);const xe=be;var ve=r(20095);function we(e){const t=e.fields,r=e.records,n=t.some((e=>"oid"===e.name.toLowerCase()))?"OBJECTID":"OID",s=[{name:n,type:"esriFieldTypeOID",alias:"OID"}].concat(t.map((e=>({name:e.name,type:"esriFieldType"+e.typeName,alias:e.name})))),i=s.map((e=>e.name)),a=[];let o=0,l=0;return r.forEach((e=>{const t={};for(t[n]=o++,l=1;l<i.length;l++)t[i[l]]=e[l-1];a.push({attributes:t})})),{displayFieldName:"",fields:s,features:a}}r(37697);let _e=class extends J.wq{get affectsPixelSize(){return!1}forwardTransform(e){return e}inverseTransform(e){return e}};(0,n._)([(0,u.Cb)()],_e.prototype,"affectsPixelSize",null),(0,n._)([(0,u.Cb)({json:{write:!0}})],_e.prototype,"spatialReference",void 0),_e=(0,n._)([(0,m.j)("esri.layers.support.rasterTransforms.BaseRasterTransform")],_e);const Ie=_e;let Ce=class extends Ie{constructor(){super(...arguments),this.type="identity"}};(0,n._)([(0,f.J)({IdentityXform:"identity"})],Ce.prototype,"type",void 0),Ce=(0,n._)([(0,m.j)("esri.layers.support.rasterTransforms.IdentityTransform")],Ce);const Me=Ce;var ke=r(30556);function Te(e,t,r){const{x:n,y:s}=t;if(r<2)return{x:e[0]+n*e[2]+s*e[4],y:e[1]+n*e[3]+s*e[5]};if(2===r){const t=n*n,r=s*s,i=n*s;return{x:e[0]+n*e[2]+s*e[4]+t*e[6]+i*e[8]+r*e[10],y:e[1]+n*e[3]+s*e[5]+t*e[7]+i*e[9]+r*e[11]}}const i=n*n,a=s*s,o=n*s,l=i*n,c=i*s,u=n*a,h=s*a;return{x:e[0]+n*e[2]+s*e[4]+i*e[6]+o*e[8]+a*e[10]+l*e[12]+c*e[14]+u*e[16]+h*e[18],y:e[1]+n*e[3]+s*e[5]+i*e[7]+o*e[9]+a*e[11]+l*e[13]+c*e[15]+u*e[17]+h*e[19]}}function Se(e,t,r){const{xmin:n,ymin:s,xmax:i,ymax:a,spatialReference:o}=t;let l=[];if(r<2)l.push({x:n,y:a}),l.push({x:i,y:a}),l.push({x:n,y:s}),l.push({x:i,y:s});else{let e=10;for(let t=0;t<e;t++)l.push({x:n,y:s+(a-s)*t/(e-1)}),l.push({x:i,y:s+(a-s)*t/(e-1)});e=8;for(let t=1;t<=e;t++)l.push({x:n+(i-n)*t/e,y:s}),l.push({x:n+(i-n)*t/e,y:a})}l=l.map((t=>Te(e,t,r)));const c=l.map((e=>e.x)),u=l.map((e=>e.y));return new E.Z({xmin:Math.min.apply(null,c),xmax:Math.max.apply(null,c),ymin:Math.min.apply(null,u),ymax:Math.max.apply(null,u),spatialReference:o})}let Re=class extends Ie{constructor(){super(...arguments),this.polynomialOrder=1,this.type="polynomial"}readForwardCoefficients(e,t){const{coeffX:r,coeffY:n}=t;if(null==r||!r.length||null==n||!n.length||r.length!==n.length)return null;const s=[];for(let e=0;e<r.length;e++)s.push(r[e]),s.push(n[e]);return s}writeForwardCoefficients(e,t,r){const n=[],s=[];for(let t=0;t<(null==e?void 0:e.length);t++)t%2==0?n.push(e[t]):s.push(e[t]);t.coeffX=n,t.coeffY=s}get inverseCoefficients(){let e=this._get("inverseCoefficients");const t=this._get("forwardCoefficients");return!e&&t&&this.polynomialOrder<2&&(e=function(e){const[t,r,n,s,i,a]=e,o=n*a-i*s,l=i*s-n*a;return[(i*r-t*a)/o,(n*r-t*s)/l,a/o,s/l,-i/o,-n/l]}(t)),e}set inverseCoefficients(e){this._set("inverseCoefficients",e)}readInverseCoefficients(e,t){const{inverseCoeffX:r,inverseCoeffY:n}=t;if(null==r||!r.length||null==n||!n.length||r.length!==n.length)return null;const s=[];for(let e=0;e<r.length;e++)s.push(r[e]),s.push(n[e]);return s}writeInverseCoefficients(e,t,r){const n=[],s=[];for(let t=0;t<(null==e?void 0:e.length);t++)t%2==0?n.push(e[t]):s.push(e[t]);t.inverseCoeffX=n,t.inverseCoeffY=s}get affectsPixelSize(){return this.polynomialOrder>0}forwardTransform(e){if("point"===e.type){const t=Te(this.forwardCoefficients,e,this.polynomialOrder);return new V.Z({x:t.x,y:t.y,spatialReference:e.spatialReference})}return Se(this.forwardCoefficients,e,this.polynomialOrder)}inverseTransform(e){if("point"===e.type){const t=Te(this.inverseCoefficients,e,this.polynomialOrder);return new V.Z({x:t.x,y:t.y,spatialReference:e.spatialReference})}return Se(this.inverseCoefficients,e,this.polynomialOrder)}};(0,n._)([(0,u.Cb)({json:{write:!0}})],Re.prototype,"polynomialOrder",void 0),(0,n._)([(0,u.Cb)()],Re.prototype,"forwardCoefficients",void 0),(0,n._)([(0,d.r)("forwardCoefficients",["coeffX","coeffY"])],Re.prototype,"readForwardCoefficients",null),(0,n._)([(0,ke.c)("forwardCoefficients")],Re.prototype,"writeForwardCoefficients",null),(0,n._)([(0,u.Cb)({json:{write:!0}})],Re.prototype,"inverseCoefficients",null),(0,n._)([(0,d.r)("inverseCoefficients",["inverseCoeffX","inverseCoeffY"])],Re.prototype,"readInverseCoefficients",null),(0,n._)([(0,ke.c)("inverseCoefficients")],Re.prototype,"writeInverseCoefficients",null),(0,n._)([(0,u.Cb)()],Re.prototype,"affectsPixelSize",null),(0,n._)([(0,f.J)({PolynomialXform:"polynomial"})],Re.prototype,"type",void 0),Re=(0,n._)([(0,m.j)("esri.layers.support.rasterTransforms.PolynomialTransform")],Re);const Ee=Re,Oe={PolynomialXform:Ee,IdentityXform:Me},Pe=Object.keys(Oe);var Fe=r(74889);const De=new Map;De.set("int16","esriFieldTypeSmallInteger"),De.set("int32","esriFieldTypeInteger"),De.set("int64","esriFieldTypeInteger"),De.set("float32","esriFieldTypeSingle"),De.set("float64","esriFieldTypeDouble"),De.set("text","esriFieldTypeString");let Ae=class extends xe{constructor(){super(...arguments),this.storageInfo=null,this.datasetFormat="CRF"}async open(e){await this.init();const{data:t}=await this.request(this.url+"/conf.json",{signal:null==e?void 0:e.signal});if(!this._validateHeader(t))throw new a.Z("cloudraster:open","Invalid or unsupported conf.json.");this.datasetName=this.url.slice(this.url.lastIndexOf("/")+1);const{storageInfo:r,rasterInfo:n}=this._parseHeader(t);if("thematic"===n.dataType){const e=await this._fetchAuxiliaryInformation();n.attributeTable=e}this._set("storageInfo",r),this._set("rasterInfo",n),this.ioConfig.retryCount=this.ioConfig.retryCount||0}async fetchRawTile(e,t,r,n={}){const s=this.rasterInfo.storageInfo.maximumPyramidLevel-e;if(s<0)return null;const i=this._buildCacheFilePath(s,t,r,n.multidimensionalDefinition),a=this._getIndexRecordFromBundle(t,r),o=await this.request(i,{range:{from:0,to:this.storageInfo.headerSize-1},responseType:"array-buffer",signal:n.signal});if(!o)return null;const l=new Uint8Array(o.data),c=this._getTileEndAndContentType(l,a);if(0===c.recordSize)return null;const u=await this.request(i,{range:{from:c.position,to:c.position+c.recordSize},responseType:"array-buffer",signal:n.signal});return u?this.decodePixelBlock(u.data,{width:this.rasterInfo.storageInfo.tileInfo.size[0],height:this.rasterInfo.storageInfo.tileInfo.size[1],planes:null,pixelType:null}):null}_validateHeader(e){return e&&"RasterInfo"===e.type&&!["origin","extent","geodataXform","LODInfos","blockWidth","blockHeight","bandCount","pixelType","pixelSizeX","pixelSizeY","format","packetSize"].some((t=>!e[t]))}_parseHeader(e){var t,r;const n=["u1","u2","u4","u8","s8","u16","s16","u32","s32","f32","f64"][e.pixelType],{bandCount:s,histograms:i,colormap:a,blockWidth:o,blockHeight:l,firstPyramidLevel:c,maximumPyramidLevel:u}=e,h=e.statistics&&e.statistics.map((e=>({min:e.min,max:e.max,avg:e.mean,stddev:e.standardDeviation,median:e.median,mode:e.mode}))),f=e.extent.spatialReference,d=null==(t=e.geodataXform)?void 0:t.spatialReference,m=new O.Z(null!=f&&f.wkid||null!=f&&f.wkt?f:d);let p=new E.Z({xmin:e.extent.xmin,ymin:e.extent.ymin,xmax:e.extent.xmax,ymax:e.extent.ymax,spatialReference:m});const g=new V.Z({x:e.pixelSizeX,y:e.pixelSizeY,spatialReference:m}),y=Math.round((p.xmax-p.xmin)/g.x),b=Math.round((p.ymax-p.ymin)/g.y),x=this._parseTransform(e.geodataXform),v=x?p:null;x&&(p=x.forwardTransform(p),g.x=(p.xmax-p.xmin)/y,g.y=(p.ymax-p.ymin)/b);const w=null!=(r=e.properties)?r:{},_=e.format.toLowerCase().replace("cache/",""),I=new V.Z(e.origin.x,e.origin.y,m);let C,M,T,S;if(a&&a.colors)for(C=[],M=0;M<a.colors.length;M++)T=a.colors[M],S=a.values?a.values[M]:M,C.push([S,255&T,T<<16>>>24,T<<8>>>24,T>>>24]);const R=e.LODInfos,P=[];for(M=0;M<R.levels.length;M++)P.push({level:R.levels[M],resolution:R.resolutions[M],scale:96/.0254*R.resolutions[M]});const F=new k.Z({dpi:96,lods:P,format:_,origin:I,size:[o,l],spatialReference:m}),D={recordSize:8,packetSize:e.packetSize,headerSize:e.packetSize*e.packetSize*8+64},A=[{maxCol:Math.ceil(y/o)-1,maxRow:Math.ceil(b/l)-1,minCol:0,minRow:0}];let L=2;if(u>0)for(M=0;M<u;M++)A.push({maxCol:Math.ceil(y/L/o)-1,maxRow:Math.ceil(b/L/l)-1,minCol:0,minRow:0}),L*=2;const N=e.mdInfo;return{storageInfo:D,rasterInfo:new z.Z({width:y,height:b,pixelType:n,bandCount:s,extent:p,nativeExtent:v,transform:x,spatialReference:m,pixelSize:g,keyProperties:w,statistics:h,histograms:i,multidimensionalInfo:N,colormap:C,storageInfo:new j.Z({blockWidth:o,blockHeight:l,pyramidBlockWidth:o,pyramidBlockHeight:l,origin:I,tileInfo:F,firstPyramidLevel:c,maximumPyramidLevel:u,blockBoundary:A})})}}_parseTransform(e){var t,r;if(!function(e){const t=null==e?void 0:e.type;return!e||Pe.includes(t)}(e))throw new a.Z("cloudraster:open","the data contains unsupported geodata transform types");const n=function(e){if(!(null==e?void 0:e.type))return null;const t=Oe[null==e?void 0:e.type];if(t){const r=new t;return r.read(e),r}return null}(e);if("identity"===n.type)return null;if("polynomial"!==n.type||null==(t=n.forwardCoefficients)||!t.length||null==(r=n.inverseCoefficients)||!r.length)throw new a.Z("cloudraster:open","the data contains unsupported geodata transforms - both forward and inverse coefficients are required currently");return n}async _fetchAuxiliaryInformation(e){const t=this.request(this.url+"/conf.vat.json",{signal:e}).then((e=>e.data)).catch((()=>null)),r=this.request(this.url+"/conf.vat.dbf",{responseType:"array-buffer",signal:e}).then((e=>e.data)).catch((()=>null)),n=await Promise.all([t,r]);let s;if(n[0]){let e=n[0].fields;const t=n[0].values;if(e&&t){e=e.map((e=>({type:"OID"===e.name?"esriFieldTypeOID":De.get(e.type),name:e.name,alias:e.alias||e.name})));const r=t.map((e=>({attributes:e})));e&&t&&(s={fields:e,features:r})}}return!s&&n[1]&&(s=class{static get supportedVersions(){return[5]}static parse(e){const t=new DataView(e),r=3&t.getUint8(0);if(3!==r)return{header:{version:r},recordSet:null};const n=t.getUint32(4,!0),s=t.getUint16(8,!0),i=t.getUint16(10,!0),a={version:r,recordCount:n,headerByteCount:s,recordByteCount:i};let o=32;const l=[],c=[];let u;if(3===r){for(;13!==t.getUint8(o);)u=String.fromCharCode(t.getUint8(o+11)).trim(),l.push({name:(0,ve.f)(new Uint8Array(e,o,11)),type:u,typeName:["String","Date","Double","Boolean","String","Integer"][["C","D","F","L","M","N"].indexOf(u)],length:t.getUint8(o+16)}),o+=32;if(o+=1,l.length>0)for(;c.length<n&&e.byteLength-o>i;){const r=[];32===t.getUint8(o)?(o+=1,l.forEach((t=>{if("C"===t.type)r.push((0,ve.f)(new Uint8Array(e,o,t.length)).trim());else if("N"===t.type)r.push(parseInt(String.fromCharCode.apply(null,new Uint8Array(e,o,t.length)).trim(),10));else if("F"===t.type)r.push(parseFloat(String.fromCharCode.apply(null,new Uint8Array(e,o,t.length)).trim()));else if("D"===t.type){const n=String.fromCharCode.apply(null,new Uint8Array(e,o,t.length)).trim();r.push(new Date(parseInt(n.substring(0,4),10),parseInt(n.substring(4,6),10)-1,parseInt(n.substring(6,8),10)))}o+=t.length})),c.push(r)):o+=i}}return{header:a,fields:l,records:c,recordSet:we({fields:l,records:c})}}}.parse(n[1]).recordSet),Fe.default.fromJSON(s)}_buildCacheFilePath(e,t,r,n){const s=this.storageInfo.packetSize,i=Math.floor(t/s)*s,a=Math.floor(r/s)*s,l="R"+this._toHexString4(i)+"C"+this._toHexString4(a);let c="L";c+=e>=10?e.toString():"0"+e.toString();const{multidimensionalInfo:u}=this.rasterInfo,h=null==n?void 0:n[0];if(!(0,o.pC)(u)||!h)return`${this.url}/_alllayers/${c}/${l}.bundle`;let f=u.variables.filter((e=>e.name===h.variableName))[0].dimensions[0].values.indexOf(h.values[0]).toString(16);const d=4-f.length;for(let e=0;e<d;e++)f="0"+f;return f="S"+f,`${this.url}/_alllayers/${h.variableName}/${f}/${c}/${l}.bundle`}_getIndexRecordFromBundle(e,t){const r=this.storageInfo.packetSize,n=r*(e%r)+t%r;if(n<0)throw"Invalid level / row / col";return 20+n*this.storageInfo.recordSize+44}_getTileEndAndContentType(e,t){const r=e.subarray(t,t+8);let n,s=0;for(n=0;n<5;n++)s|=(255&r[n])<<8*n;const i=0xffffffffff&s;for(s=0,n=5;n<8;n++)s|=(255&r[n])<<8*(n-5);return{position:i,recordSize:0xffffffffff&s}}_toHexString4(e){let t=e.toString(16);if(4!==t.length){let e=4-t.length;for(;e-- >0;)t="0"+t}return t}};(0,n._)([(0,u.Cb)({readOnly:!0})],Ae.prototype,"storageInfo",void 0),(0,n._)([(0,u.Cb)({type:String,json:{write:!0}})],Ae.prototype,"datasetFormat",void 0),Ae=(0,n._)([(0,m.j)("esri.layers.support.rasterDatasets.CloudRaster")],Ae);const Le=Ae;let Ne=class extends xe{constructor(){super(...arguments),this.datasetFormat="MEMORY"}async open(e){var t;await this.init();const{pixelBlock:r,statistics:n,histograms:s,name:i,keyProperties:a,nativeExtent:o,transform:l}=this.data,{width:c,height:u,pixelType:h}=r,f=this.data.extent||new E.Z({xmin:-.5,ymin:.5,xmax:c-.5,ymax:u-.5,spatialReference:new O.Z({wkid:3857})}),d=null!=(t=this.data.isPseudoSpatialReference)?t:!this.data.extent,m={x:f.width/c,y:f.height/u},p=new z.Z({width:c,height:u,pixelType:h,extent:f,nativeExtent:o,transform:l,pixelSize:m,spatialReference:f.spatialReference,bandCount:3,keyProperties:a||{},statistics:n,isPseudoSpatialReference:d,histograms:s});this.createRemoteDatasetStorageInfo(p,512,512),this._set("rasterInfo",p),this.updateTileInfo(),await this._buildInMemoryRaster(r,{width:512,height:512},e),this.datasetName=i,this.url="/InMemory/"+i}fetchRawTile(e,t,r,n={}){const s=this._pixelBlockTiles.get(`${e}/${t}/${r}`);return Promise.resolve(s)}async _buildInMemoryRaster(e,t,r){const n=this.rasterInfo.storageInfo.maximumPyramidLevel,s=this.rasterJobHandler?this.rasterJobHandler.split({pixelBlock:e,tileSize:t,maximumPyramidLevel:n},r):Promise.resolve((0,ye.Vl)(e,t,n)),i=(0,o.pC)(this.rasterInfo.statistics),l=(0,o.pC)(this.rasterInfo.histograms),u=i&&l?Promise.resolve({statistics:null,histograms:null}):this.rasterJobHandler?this.rasterJobHandler.estimateStatisticsHistograms({pixelBlock:e},r):Promise.resolve((0,ye.Hv)(e)),h=await(0,c.as)([s,u]);if(!h[0].value&&h[1].value)throw new a.Z("inmemory-raster:open","failed to build in memory raster");var f,d;this._pixelBlockTiles=h[0].value,i||(this.rasterInfo.statistics=null==(f=h[1].value)?void 0:f.statistics),l&&(this.rasterInfo.histograms=null==(d=h[1].value)?void 0:d.histograms)}};(0,n._)([(0,u.Cb)({type:String,json:{write:!0}})],Ne.prototype,"datasetFormat",void 0),(0,n._)([(0,u.Cb)()],Ne.prototype,"data",void 0),Ne=(0,n._)([(0,m.j)("esri.layers.support.rasterDatasets.InMemoryRaster")],Ne);const Ze=Ne;function Be(e,t){if(!e||!t)return[];let r=t;t.indexOf("/")>-1?(r=t.slice(0,t.indexOf("/")),t=t.slice(t.indexOf("/")+1)):t="";const n=[];if(t){const s=Be(e,r);for(let e=0;e<s.length;e++)Be(s[e],t).forEach((e=>n.push(e)));return n}const s=e.getElementsByTagNameNS("*",r);if(!s||0===s.length)return[];for(let e=0;e<s.length;e++)n.push(s[e]||s.item[e]);return n}function qe(e,t){if(!e||!t)return null;let r=t;t.indexOf("/")>-1?(r=t.slice(0,t.indexOf("/")),t=t.slice(t.indexOf("/")+1)):t="";const n=Be(e,r);return n.length>0?t?qe(n[0],t):n[0]:null}function He(e,t=null){const r=t?qe(e,t):e;let n;return r?(n=r.textContent||r.nodeValue,n?n.trim():null):null}function ze(e,t){return function(e,t){const r=Be(e,t),n=[];let s;for(let e=0;e<r.length;e++)s=r[e].textContent||r[e].nodeValue,s&&(s=s.trim(),""!==s&&n.push(s));return n}(e,t).map((e=>Number(e)))}function je(e,t){const r=He(e,t);return Number(r)}function Je(e,t){var r;const n=null==e||null==(r=e.nodeName)?void 0:r.toLowerCase(),s=t.toLowerCase();return n.slice(n.lastIndexOf(":")+1)===s}function We(e,t){if(!e||!t)return null;const r=[];for(let n=0;n<e.length;n++)r.push(e[n]),r.push(t[n]);return r}function Ue(e){if(!e)return null;let t=Number(e);if(!isNaN(t)&&0!==t)return new O.Z({wkid:t});if((e=String(e)).startsWith("COMPD_CS")){if(!e.includes("VERTCS")||!e.includes("GEOGCS")&&!e.startsWith("PROJCS"))return null;const r=e.indexOf("VERTCS"),n=e.indexOf("PROJCS"),s=n>-1?n:e.indexOf("GEOGCS");if(-1===s)return null;const i=e.slice(s,e.lastIndexOf("]",r)+1).trim(),a=e.slice(r,e.lastIndexOf("]")).trim();t=Ge(i);const o=new O.Z(t?{wkid:t}:{wkt:i}),l=Ge(a);return l&&(o.vcsWkid=l),o}return e.startsWith("GEOGCS")||e.startsWith("PROJCS")?(t=Ge(e),new O.Z(0!==t?{wkid:t}:{wkt:e})):null}function Ge(e){var t;const r=e.replace(/\]/g,"[").replace(/\"/g,"").split("[").map((e=>e.trim())).filter((e=>""!==e)),n=r[r.length-1].split(","),s=null==(t=n[0])?void 0:t.toLowerCase();if(("epsg"===s||"esri"===s)&&e.endsWith('"]]')){const e=Number(n[1]);if(!isNaN(e)&&0!==e)return e}return 0}function $e(e){var t;if("pamdataset"!==(null==e||null==(t=e.documentElement.tagName)?void 0:t.toLowerCase()))return{};const r={spatialReference:null,transform:null,metadata:{},rasterBands:[],statistics:null,histograms:null};e.documentElement.childNodes.forEach((e=>{if(1===e.nodeType)if(Je(e,"SRS")){if(!r.spatialReference){const t=He(e);r.spatialReference=Ue(t)}}else if(Je(e,"Metadata"))if("xml:ESRI"===e.getAttribute("domain")){const{spatialReference:t,transform:n}=function(e){var t;const r=qe(e,"GeodataXform"),n=Ue(je(r,"SpatialReference/WKID")||He(r,"SpatialReference/WKT"));if("typens:PolynomialXform"!==r.getAttribute("xsi:type"))return{spatialReference:n,transform:null};const s=null!=(t=je(r,"PolynomialOrder"))?t:1,i=ze(r,"CoeffX/Double"),a=ze(r,"CoeffY/Double"),o=ze(r,"InverseCoeffX/Double"),l=ze(r,"InverseCoeffY/Double"),c=We(i,a),u=We(o,l);return{spatialReference:n,transform:new Ee({spatialReference:n,polynomialOrder:s,forwardCoefficients:c,inverseCoefficients:u})}}(e);r.transform=n,r.spatialReference||(r.spatialReference=t)}else Be(e,"MDI").forEach((e=>r.metadata[e.getAttribute("key")]=He(e)));else if(Je(e,"PAMRasterBand")){const t=function(e){var t;const r=je(e,"NoDataValue"),n=qe(e,"Histograms/HistItem"),s=je(n,"HistMin"),i=je(n,"HistMax"),a=je(n,"BucketCount"),o=null==(t=He(n,"HistCounts"))?void 0:t.split("|").map((e=>Number(e)));let l,c,u,h;Be(e,"Metadata/MDI").forEach((e=>{var t;const r=Number(null!=(t=e.textContent)?t:e.nodeValue);switch(e.getAttribute("key").toUpperCase()){case"STATISTICS_MINIMUM":l=r;break;case"STATISTICS_MAXIMUM":c=r;break;case"STATISTICS_MEAN":u=r;break;case"STATISTICS_STDDEV":h=r}}));const f=je(e,"Metadata/SourceBandIndex");return{noDataValue:r,histogram:null!=o&&o.length&&null!=l&&null!=c?{min:s,max:i,size:a||o.length,counts:o}:null,sourceBandIndex:f,statistics:null!=l&&null!=c?{min:l,max:c,avg:u,stddev:h}:null}}(e);null!=t.sourceBandIndex&&null==r.rasterBands[t.sourceBandIndex]?r.rasterBands[t.sourceBandIndex]=t:r.rasterBands.push(t)}}));const n=r.rasterBands;if(n){const e=!!n[0].statistics;r.statistics=e?n.map((e=>e.statistics)):null;const t=!!n[0].histogram;r.histograms=t?n.map((e=>e.histogram)):null}return r}let Ve=class extends xe{async open(e){await this.init();const t=await this._fetchData(e);let{spatialReference:r,statistics:n,histograms:s,transform:i}=await this._fetchAuxiliaryData(e);const a=!r;a&&(r=new O.Z({wkid:3857})),null!=s&&s.length&&null==n&&(n=(0,ye.Oh)(s));const{width:o,height:l}=t;let c=new E.Z({xmin:-.5,ymin:.5-l,xmax:o-.5,ymax:.5,spatialReference:r});const u=i?i.forwardTransform(c):c;let h=!0;if(i){const e=i.forwardCoefficients;h=e&&0===e[1]&&0===e[2],h&&(i=null,c=u)}const f=new Ze({data:{extent:u,nativeExtent:c,transform:i,pixelBlock:t,statistics:n,histograms:s,keyProperties:{DateType:"Processed"},isPseudoSpatialReference:a}});await f.open(),this._set("rasterInfo",f.rasterInfo),this._inMemoryRaster=f}fetchRawTile(e,t,r,n={}){return this._inMemoryRaster.fetchRawTile(e,t,r,n)}async _fetchData(e){const{data:t}=await this.request(this.url,{responseType:"array-buffer",signal:null==e?void 0:e.signal}),r=(0,ge.y6)(t).toUpperCase();if("JPG"!==r&&"PNG"!==r&&"GIF"!==r&&"BMP"!==r)throw new a.Z("image-aux-raster:open","the data is not a supported format");return this._set("datasetFormat",r),await this.decodePixelBlock(t,{format:"jpg",width:1,height:1,useCanvas:!0})}async _fetchAuxiliaryData(e){var t,r;const n=(0,o.Wg)(null==e?void 0:e.signal),s=null!=(t=this.ioConfig.skipExtensions)?t:[],i=s.indexOf("aux.xml")>-1?null:this.request(this.url+".aux.xml",{responseType:"xml",signal:n}),a=this.datasetFormat,l="JPG"===a?"jgw":"PNG"===a?"pgw":"BMP"===a?"bpw":null,u=s.indexOf(l)>-1?null:this.request(this.url.slice(0,this.url.lastIndexOf("."))+"."+l,{responseType:"text",signal:n}),h=await(0,c.as)([i,u]);if(null!=n&&n.aborted)throw(0,c.zE)();const f=$e(null==(r=h[0].value)?void 0:r.data);if(!f.transform){const e=h[1].value?h[1].value.data.split("\n").slice(0,6).map((e=>Number(e))):null;f.transform=6===(null==e?void 0:e.length)?new Ee({forwardCoefficients:[e[4],e[5],e[0],-e[1],e[2],-e[3]]}):null}return f}};(0,n._)([(0,u.Cb)({type:String,json:{write:!0}})],Ve.prototype,"datasetFormat",void 0),Ve=(0,n._)([(0,m.j)("esri.layers.support.rasterDatasets.ImageAuxRaster")],Ve);const Ye=Ve;var Xe=r(17452),Ke=r(45322),Qe=r(56608);let et=class extends Ie{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)}};(0,n._)([(0,f.J)({GCSShiftXform:"gcs-shift"})],et.prototype,"type",void 0),(0,n._)([(0,u.Cb)()],et.prototype,"tolerance",void 0),et=(0,n._)([(0,m.j)("esri.layers.support.rasterTransforms.GCSShiftTransform")],et);const tt=et;let rt=class extends xe{constructor(){super(...arguments),this._levelOffset=0,this._slices=null,this._tilemapCache=null,this.datasetFormat="RasterTileServer"}async open(e){await this.init();const t=e&&e.signal,r=this.sourceJSON?{data:this.sourceJSON}:await this.request(this.url,{query:{f:"json"},signal:t});r.ssl&&(this.url=this.url.replace(/^http:/i,"https:"));const n=r.data;if(this.sourceJSON=n,!n)throw new a.Z("imageserverraster:open","cannot initialize tiled image service, missing service info");if(!n.tileInfo)throw new a.Z("imageserverraster:open","use ImageryLayer to open non-tiled image services");this._fixScaleInServiceInfo(),this.tileType=n.cacheType,null==this.tileType&&(["jpg","jpeg","png","png8","png24","png32","mixed"].indexOf(n.tileInfo.format.toLowerCase())>-1?this.tileType="Map":"lerc"===n.tileInfo.format.toLowerCase()?this.tileType="Elevation":this.tileType="Raster"),this.datasetName=n.name.slice(n.name.indexOf("/")+1);const s=await this._fetchRasterInfo({signal:t});if(!(0,o.pC)(s))throw new a.Z("image-server-raster:open","cannot initialize image service");{const e="Map"===this.tileType?(0,Ke.d)(n.tileInfo,n):k.Z.fromJSON(n.tileInfo),{extent:t,pixelSize:r}=s,i=.5/s.width*r.x;let a,o;const l=e.lodAt(Math.max.apply(null,e.lods.map((e=>e.level))));"Map"!==this.tileType&&0!==n.maxScale&&("Raster"===this.tileType?(a=e.lods.filter((e=>e.resolution===r.x))[0],a||(a=e.lods[e.lods.length-1])):(a=e.lods.filter((e=>Math.abs(e.scale-n.maxScale)<i))[0],a||(a=e.lods.filter((e=>e.scale>n.maxScale)).sort(((e,t)=>e.scale>t.scale?1:-1))[0])),r.x=r.y=a.resolution,s.width=Math.ceil((t.xmax-t.xmin)/r.x-.1),s.height=Math.ceil((t.ymax-t.ymin)/r.y-.1)),a||(a=l);const c=e.lodAt(Math.min.apply(null,e.lods.map((e=>e.level))));"Map"===this.tileType?this._levelOffset=e.lods[0].level:0!==n.minScale&&"Elevation"===this.tileType&&(o=e.lods.filter((e=>Math.abs(e.scale-n.minScale)<i))[0],this._levelOffset=o.level-c.level),o||(o=c);const u=Math.max(r.x,r.y);(Math.abs(r.x-r.y)>i||!e.lods.some((e=>Math.abs(e.resolution-u)<i)))&&(r.x=r.y=a.resolution,s.width=Math.ceil((t.xmax-t.xmin)/r.x-.1),s.height=Math.ceil((t.ymax-t.ymin)/r.y-.1));const h=a.level-o.level,[f,d]=e.size,m=[];e.lods.forEach((e=>{e.level>=o.level&&e.level<=a.level&&m.push({x:e.resolution,y:e.resolution})})),m.sort(((e,t)=>e.x-t.x));const p=this.computeBlockBoundary(t,f,d,e.origin,m,h),g=m.length>1?m.slice(1):null;s.storageInfo=new j.Z({blockWidth:e.size[0],blockHeight:e.size[1],pyramidBlockWidth:e.size[0],pyramidBlockHeight:e.size[1],pyramidResolutions:g,compression:e.format,origin:e.origin,firstPyramidLevel:1,maximumPyramidLevel:h,tileInfo:e,blockBoundary:p}),this._fixGCSShift(s),this._set("rasterInfo",s)}if(n.capabilities.toLowerCase().indexOf("tilemap")>-1){const e={tileInfo:s.storageInfo.tileInfo,parsedUrl:(0,Xe.mN)(this.url),url:this.url,tileServers:[],type:"tile"};this._tilemapCache=new Qe.y({layer:e})}}async fetchRawTile(e,t,r,n={}){if(this._slices&&null==n.sliceId)return null;const{storageInfo:s,extent:i}=this.rasterInfo,a=s.maximumPyramidLevel-e+this._levelOffset,o=`${this.url}/tile/${a}/${t}/${r}`,l=this._slices?{sliceId:n.sliceId||0}:null,{data:c}=await this.request(o,{query:l,responseType:"array-buffer",signal:n.signal});if(!c)return null;const u=await this.decodePixelBlock(c,{width:s.tileInfo.size[0],height:s.tileInfo.size[1],planes:null,pixelType:null,isPoint:"Elevation"===this.tileType}),h=s.blockBoundary[e];if("jpg"!==s.compression||r>h.minCol&&r<h.maxCol&&t>h.minRow&&t<h.maxRow)return u;const{origin:f,blockWidth:d,blockHeight:m}=s,{x:p,y:g}=this.getPyramidPixelSize(e),y=Math.round((i.xmin-f.x)/p)%d,b=Math.round((i.xmax-f.x)/p)%d,x=Math.round((f.y-i.ymax)/g)%m,v=Math.round((f.y-i.ymin)/g)%m,w=r===h.minCol?y:0,_=t===h.minRow?x:0,I=r===h.maxCol?b:d,C=t===h.maxRow?v:m;return(0,ye.pW)(u,{x:w,y:_},{width:I-w,height:C-_}),u}getSliceIndex(e){if(!this._slices||(0,o.Wi)(e)||0===e.length)return null;const t=e;for(let e=0;e<this._slices.length;e++){const r=this._slices[e].multidimensionalDefinition;if(r.length===t.length&&!r.some((e=>{const r=t.filter((t=>e.variableName===t.variableName&&t.dimensionName===e.dimensionName))[0];return!r||(Array.isArray(e.values[0])?`${e.values[0][0]}-${e.values[0][1]}`:e.values[0])!==(Array.isArray(r.values[0])?`${r.values[0][0]}-${r.values[0][1]}`:r.values[0])})))return e}return null}async fetchVariableStatisticsHistograms(e,t){const r=this.request(this.url+"/statistics",{query:{variable:e,f:"json"},signal:t}).then((e=>{var t;return null==(t=e.data)?void 0:t.statistics})),n=this.request(this.url+"/histograms",{query:{variable:e,f:"json"},signal:t}).then((e=>{var t;return null==(t=e.data)?void 0:t.histograms})),s=await Promise.all([r,n]);return s[0]&&s[0].forEach((e=>{e.avg=e.mean,e.stddev=e.standardDeviation})),{statistics:s[0]||null,histograms:s[1]||null}}async computeBestPyramidLevelForLocation(e,t={}){if(!this._tilemapCache)return 0;let r=this.identifyPixelLocation(e,0,(0,o.Wg)(t.datumTransformation));if(null===r)return null;let n=0;const{maximumPyramidLevel:s}=this.rasterInfo.storageInfo;let i=s-n+this._levelOffset;const a=r.srcLocation;for(;i>=0;){try{if("available"===await this._tilemapCache.fetchAvailability(i,r.row,r.col,t))break}catch{}if(i--,n++,r=this.identifyPixelLocation(a,n,(0,o.Wg)(t.datumTransformation)),null===r)return null}return-1===i||null==r?null:n}async _fetchRasterInfo(e){const t=this.sourceJSON,r=Math.ceil((t.extent.xmax-t.extent.xmin)/t.pixelSizeX-.1),n=Math.ceil((t.extent.ymax-t.extent.ymin)/t.pixelSizeY-.1),s=O.Z.fromJSON(t.spatialReference||t.extent.spatialReference);if("Map"===this.tileType)return new z.Z({width:r,height:n,bandCount:3,extent:E.Z.fromJSON(t.extent),spatialReference:s,pixelSize:new V.Z({x:t.pixelSizeX,y:t.pixelSizeY,spatialReference:s}),pixelType:"u8",statistics:null,keyProperties:{DataType:"processed"}});const{slice:i,signal:a}=e,o=!!t.hasRasterAttributeTable&&this.request(this.url+"/rasterAttributeTable",{query:{slice:i,f:"json"},signal:a}).then((e=>Fe.default.fromJSON(e.data))).catch((()=>null)),l=!!t.hasColormap&&this.request(this.url+"/colormap",{query:{slice:i,f:"json"},signal:a}).then((e=>{var t;return null==(t=e.data)?void 0:t.colormap})),c=!!t.hasHistograms&&this.request(this.url+"/histograms",{query:{slice:i,f:"json"},signal:a}).then((e=>{var t;return null==(t=e.data)?void 0:t.histograms})),u=this.request(this.url+"/keyProperties",{query:{f:"json"},signal:a}).then((e=>e.data)).catch((()=>{})),h=!!t.hasMultidimensions&&this._fetchMultidimensionalInfo(),f=!!t.hasMultidimensions&&this.request(this.url+"/slices",{query:{f:"json"},signal:a}).then((e=>e.data&&e.data.slices)).catch((()=>{}));return Promise.all([o,l,c,u,h,f]).then((e=>{let i=null;if(t.minValues&&t.minValues.length===t.bandCount){i=[];for(let e=0;e<t.minValues.length;e++)i.push({min:t.minValues[e],max:t.maxValues[e],avg:t.meanValues[e],stddev:t.stdvValues[e]})}return this._slices=e[5]||null,new z.Z({width:r,height:n,bandCount:t.bandCount,extent:E.Z.fromJSON(t.extent),spatialReference:s,pixelSize:new V.Z({x:t.pixelSizeX,y:t.pixelSizeY,spatialReference:s}),pixelType:t.pixelType.toLowerCase(),statistics:i,attributeTable:e[0]||null,colormap:e[1]||null,histograms:e[2]||null,keyProperties:e[3]||{},multidimensionalInfo:e[4]||null})}))}async _fetchMultidimensionalInfo(e){var t;const r=await this.request(this.url+"/multidimensionalInfo",{query:{f:"json"},signal:e}).then((e=>{var t;return null==(t=e.data)?void 0:t.multidimensionalInfo}));return null!=(t=r.variables)&&t.length&&r.variables.forEach((e=>{var t;null!=(t=e.statistics)&&t.length&&e.statistics.forEach((e=>{e.avg=e.mean,e.stddev=e.standardDeviation}))})),r}_fixScaleInServiceInfo(){const{sourceJSON:e}=this;e.minScale&&e.minScale<0&&(e.minScale=0),e.maxScale&&e.maxScale<0&&(e.maxScale=0)}_fixGCSShift(e){const{extent:t,spatialReference:r}=e;0===t.xmin&&360===t.xmax&&r.wkid&&r.isGeographic&&(e.nativeExtent=e.extent,e.transform=new tt,e.extent=e.transform.forwardTransform(t))}};(0,n._)([(0,u.Cb)({type:String,json:{write:!0}})],rt.prototype,"datasetFormat",void 0),(0,n._)([(0,u.Cb)()],rt.prototype,"tileType",void 0),rt=(0,n._)([(0,m.j)("esri.layers.support.rasterDatasets.ImageServerRaster")],rt);const nt=rt;var st=r(54163),it=r(48279);const at=new Map;at.set("Int8","s8"),at.set("UInt8","u8"),at.set("Int16","s16"),at.set("UInt16","u16"),at.set("Int32","s32"),at.set("UInt32","u32"),at.set("Float32","f32"),at.set("Float64","f32"),at.set("Double64","f32");const ot=new Map;ot.set("none",{blobExtension:".til",isOneSegment:!0,decoderFormat:"bip"}),ot.set("lerc",{blobExtension:".lrc",isOneSegment:!1,decoderFormat:"lerc"}),ot.set("deflate",{blobExtension:".pzp",isOneSegment:!0,decoderFormat:"deflate"}),ot.set("jpeg",{blobExtension:".pjg",isOneSegment:!0,decoderFormat:"jpg"});let lt=class extends xe{constructor(){super(...arguments),this._files=null,this._storageIndex=null,this.datasetFormat="MRF"}async open(e){var t;await this.init(),this.datasetName=this.url.slice(this.url.lastIndexOf("/")+1);const r=e?(0,o.Wg)(e.signal):null,n=await this.request(this.url,{responseType:"xml",signal:r}),{rasterInfo:s,files:i}=this._parseHeader(n.data);if(-1===(null==(t=this.ioConfig.skipExtensions)?void 0:t.indexOf("aux.xml"))){const t=await this._fetchAuxiliaryData(e);var a;null!=t&&(s.statistics=null!=(a=t.statistics)?a:s.statistics,s.histograms=t.histograms,t.histograms&&!(0,o.pC)(s.statistics)&&(s.statistics=(0,ye.Oh)(t.histograms)))}this._set("rasterInfo",s),this._files=i;const l=await this.request(i.index,{responseType:"array-buffer",signal:r});this._storageIndex=this._parseIndex(l.data);const{blockWidth:c,blockHeight:u}=this.rasterInfo.storageInfo,h=this.rasterInfo.storageInfo.pyramidScalingFactor,{width:f,height:d}=this.rasterInfo,m=[],p=this._getBandSegmentCount();let g=0,y=-1;for(;g<this._storageIndex.length;){y++;const e=Math.ceil(f/c/h**y)-1,t=Math.ceil(d/u/h**y)-1;g+=1*e*(1*t)*p*4,m.push({maxRow:t,maxCol:e,minCol:0,minRow:0})}this.rasterInfo.storageInfo.blockBoundary=m,y>0&&(this.rasterInfo.storageInfo.firstPyramidLevel=1,this.rasterInfo.storageInfo.maximumPyramidLevel=y),this.updateTileInfo()}async fetchRawTile(e,t,r,n={}){const{blockWidth:s,blockHeight:i,blockBoundary:a}=this.rasterInfo.storageInfo,l=a[e];if(!l||l.maxRow<t||l.maxCol<r||l.minRow>t||l.minCol>r)return null;const{bandCount:c,pixelType:u}=this.rasterInfo,{ranges:h,actualTileWidth:f,actualTileHeight:d}=this._getTileLocation(e,t,r);if(!h||0===h.length)return null;if(0===h[0].from&&0===h[0].to){const e=new Uint8Array(s*i);return new st.Z({width:s,height:i,pixels:null,mask:e,validPixelCount:0})}const{bandIds:m}=this.ioConfig,p=this._getBandSegmentCount(),g=[];let y=0;for(y=0;y<p;y++)(!m||m.indexOf[y]>-1)&&g.push(this.request(this._files.data,{range:{from:h[y].from,to:h[y].to},responseType:"array-buffer",signal:n.signal}));const b=await Promise.all(g),x=b.map((e=>e.data.byteLength)).reduce(((e,t)=>e+t)),v=new Uint8Array(x);let w=0;for(y=0;y<p;y++)v.set(new Uint8Array(b[y].data),w),w+=b[y].data.byteLength;const _=ot.get(this.rasterInfo.storageInfo.compression).decoderFormat,I=await this.decodePixelBlock(v.buffer,{width:s,height:i,format:_,planes:(null==m?void 0:m.length)||c,pixelType:u});if((0,o.pC)(this.rasterInfo.noDataValue)&&"lerc"!==_&&!I.mask){const e=this.rasterInfo.noDataValue[0];if(null!=e){const t=I.width*I.height,r=new Uint8Array(t);if(Math.abs(e)>1e24)for(y=0;y<t;y++)Math.abs((I.pixels[0][y]-e)/e)>1e-6&&(r[y]=1);else for(y=0;y<t;y++)I.pixels[0][y]!==e&&(r[y]=1);I.mask=r}}let C=0,M=0;if(f!==s||d!==i){let e=I.mask;if(e)for(y=0;y<i;y++)if(M=y*s,y<d)for(C=f;C<s;C++)e[M+C]=0;else for(C=0;C<s;C++)e[M+C]=0;else for(e=new Uint8Array(s*i),I.mask=e,y=0;y<d;y++)for(M=y*s,C=0;C<f;C++)e[M+C]=1}return I}_parseIndex(e){if(e.byteLength%16>0)throw"invalid array buffer must be multiples of 16";let t,r,n,s,i,a;if(it.f){for(r=new Uint8Array(e),s=new ArrayBuffer(e.byteLength),n=new Uint8Array(s),i=0;i<e.byteLength/4;i++)for(a=0;a<4;a++)n[4*i+a]=r[4*i+3-a];t=new Uint32Array(s)}else t=new Uint32Array(e);return t}_getBandSegmentCount(){return ot.get(this.rasterInfo.storageInfo.compression).isOneSegment?1:this.rasterInfo.bandCount}_getTileLocation(e,t,r){const{blockWidth:n,blockHeight:s,pyramidScalingFactor:i}=this.rasterInfo.storageInfo,{width:a,height:o}=this.rasterInfo,l=this._getBandSegmentCount();let c,u,h,f=0,d=0;for(h=0;h<e;h++)d=i**h,c=Math.ceil(a/n/d),u=Math.ceil(o/s/d),f+=c*u;d=i**e,c=Math.ceil(a/n/d),u=Math.ceil(o/s/d),f+=t*c+r,f*=4*l;const m=this._storageIndex.subarray(f,f+4*l);let p=0,g=0;const y=[];for(let e=0;e<l;e++)p=m[4*e+0]*2**32+m[4*e+1],g=p+m[4*e+2]*2**32+m[4*e+3],y.push({from:p,to:g});return{ranges:y,actualTileWidth:r<c-1?n:Math.ceil(a/d)-n*(c-1),actualTileHeight:t<u-1?s:Math.ceil(o/d)-s*(u-1)}}_parseHeader(e){const t=qe(e,"MRF_META/Raster");if(!t)throw new a.Z("mrf:open","not a valid MRF format");const r=qe(t,"Size"),n=parseInt(r.getAttribute("x"),10),s=parseInt(r.getAttribute("y"),10),i=parseInt(r.getAttribute("c"),10),o=(He(t,"Compression")||"none").toLowerCase();if(!ot.has(o))throw new a.Z("mrf:open","currently does not support compression "+o);const l=He(t,"DataType")||"UInt8",c=at.get(l);if(null==c)throw new a.Z("mrf:open","currently does not support pixel type "+l);const u=qe(t,"PageSize"),h=parseInt(u.getAttribute("x"),10),f=parseInt(u.getAttribute("y"),10),d=qe(t,"DataValues");let m,p;if(d&&(p=d.getAttribute("NoData"),null!=p&&(m=p.trim().split(" ").map((e=>parseFloat(e))))),qe(e,"MRF_META/CachedSource"))throw new a.Z("mrf:open","currently does not support MRF referencing other data files");const g=qe(e,"MRF_META/GeoTags"),y=qe(g,"BoundingBox");if(null==y)throw new a.Z("mrf:open","missing node MRF_META/GeoTags/BoundingBox");const b=parseFloat(y.getAttribute("minx")),x=parseFloat(y.getAttribute("miny")),v=parseFloat(y.getAttribute("maxx")),w=parseFloat(y.getAttribute("maxy")),_=He(g,"Projection")||"",I=He(e,"datafile"),C=He(e,"IndexFile");let M;if("LOCAL_CS[]"!==_)if(_.toLowerCase().startsWith("epsg:")){const e=Number(_.slice(5));isNaN(e)||0===e||(M=new O.Z({wkid:e}))}else M=Ue(_);const k=new E.Z(b,x,v,w);k.spatialReference=M;const T=qe(e,"MRF_META/Rsets"),S=parseInt(T&&T.getAttribute("scale")||"2",10),R=new j.Z({origin:new V.Z({x:k.xmin,y:k.ymax,spatialReference:M}),blockWidth:h,blockHeight:f,pyramidBlockWidth:h,pyramidBlockHeight:f,compression:o,pyramidScalingFactor:S}),P=new V.Z({x:(v-b)/n,y:(w-x)/s,spatialReference:M});return{rasterInfo:new z.Z({width:n,height:s,extent:k,spatialReference:M,bandCount:i,pixelType:c,pixelSize:P,noDataValue:m,storageInfo:R}),files:{mrf:this.url,index:C||this.url.replace(".mrf",".idx"),data:I||this.url.replace(".mrf",ot.get(o).blobExtension)}}}async _fetchAuxiliaryData(e){try{const{data:t}=await this.request(this.url+".aux.xml",{responseType:"xml",signal:null==e?void 0:e.signal});return $e(t)}catch{return null}}};(0,n._)([(0,u.Cb)()],lt.prototype,"_files",void 0),(0,n._)([(0,u.Cb)()],lt.prototype,"_storageIndex",void 0),(0,n._)([(0,u.Cb)({type:String,json:{write:!0}})],lt.prototype,"datasetFormat",void 0),lt=(0,n._)([(0,m.j)("esri.layers.support.rasterIO.MRFRaster")],lt);const ct=lt;var ut=r(29825),ht=r(9832);const ft=function(e,t){const r=e.get(t);return r&&r.values},dt=function(e,t){const r=e.get(t);return r&&r.values[0]};let mt=class extends xe{constructor(){super(...arguments),this._files=null,this._headerInfo=null,this._bufferSize=1048576,this.datasetFormat="TIFF"}async open(e){var t,r,n;await this.init();const s=e?(0,o.Wg)(e.signal):null,{data:i}=await this.request(this.url,{range:{from:0,to:this._bufferSize},responseType:"array-buffer",signal:s});if(!i)throw new a.Z("tiffraster:open","failed to open url "+this.url);this.datasetName=this.url.slice(this.url.lastIndexOf("/")+1);const{littleEndian:l,firstIFD:c,isBigTiff:u}=(0,ut.p)(i),h=[];await this.readIFDs(h,i,l,c,0,u?8:4,s);const f=(0,ut.g)(h),{width:d,height:m,tileWidth:p,tileHeight:g,planes:y,pixelType:b,compression:x,firstPyramidLevel:v,maximumPyramidLevel:w,pyramidBlockWidth:_,pyramidBlockHeight:I,tileBoundary:C,affine:M,metadata:k}=f;let T=Ue((null==(t=f.extent.spatialReference)?void 0:t.wkt)||(null==(r=f.extent.spatialReference)?void 0:r.wkid)),S=!1;null==T&&(S=!0,T=new O.Z({wkid:3857}));const R=new E.Z({...f.extent,spatialReference:T}),P=new V.Z(R?{x:R.xmin,y:R.ymax,spatialReference:T}:{x:0,y:0}),F=new j.Z({blockWidth:p,blockHeight:g,pyramidBlockWidth:_,pyramidBlockHeight:I,compression:x,origin:P,firstPyramidLevel:v,maximumPyramidLevel:w,blockBoundary:C}),D=new V.Z({x:(R.xmax-R.xmin)/d,y:(R.ymax-R.ymin)/m,spatialReference:T}),A=k?{BandProperties:k.bandProperties,DataType:k.dataType}:{},L=new z.Z({width:d,height:m,bandCount:y,pixelType:b,compression:x,pixelSize:D,storageInfo:F,spatialReference:T,isPseudoSpatialReference:S,keyProperties:A,extent:R,statistics:k?k.statistics:null});if(null!=M&&M.length&&(L.nativeExtent=new E.Z({xmin:-.5,ymin:.5-m,xmax:d-.5,ymax:.5,spatialReference:T}),L.transform=new Ee({polynomialOrder:1,forwardCoefficients:[M[2]+M[0]/2,M[5]-M[3]/2,M[0],M[3],-M[1],-M[4]]}),L.extent=L.transform.forwardTransform(L.nativeExtent),L.pixelSize=new V.Z({x:(R.xmax-R.xmin)/d,y:(R.ymax-R.ymin)/m,spatialReference:T}),F.origin.x=-.5,F.origin.y=.5),null==(n=this.ioConfig.skipExtensions)||!n.includes("aux.xml")){const t=await this._fetchAuxiliaryData(e);if(null!=t){var N;if(L.statistics=null!=(N=t.statistics)?N:L.statistics,L.histograms=t.histograms,t.histograms&&!(0,o.pC)(L.statistics)&&(L.statistics=(0,ye.Oh)(t.histograms)),t.transform&&!M){L.transform=t.transform,L.nativeExtent=L.extent;const e=L.transform.forwardTransform(L.nativeExtent);L.pixelSize=new V.Z({x:(e.xmax-e.xmin)/d,y:(e.ymax-e.ymin)/m,spatialReference:T}),L.extent=e}L.spatialReference||(L.spatialReference=t.spatialReference)}}if(this._set("rasterInfo",L),this._headerInfo={littleEndian:l,isBigTiff:u,ifds:h,...f},!this._headerInfo.isSupported)throw new a.Z("tiffraster:open","this tiff is not supported: "+this._headerInfo.message);this.updateTileInfo()}async fetchRawTile(e,t,r,n={}){var s;if(null==(s=this._headerInfo)||!s.isSupported||this.isBlockOutside(e,t,r))return null;const i=this.getTileLocation(e,t,r);if(!i)return null;const{ranges:a,actualTileWidth:o,actualTileHeight:l,ifd:c}=i,u=a.map((e=>this.request(this.url,{range:e,responseType:"array-buffer",signal:n.signal}))),h=await Promise.all(u),f=h.map((e=>e.data.byteLength)).reduce(((e,t)=>e+t)),d=1===h.length?h[0].data:new ArrayBuffer(f),m=[0],p=[0];if(h.length>1){const e=new Uint8Array(d);for(let t=0,r=0;t<h.length;t++){const n=h[t].data;e.set(new Uint8Array(n),r),m[t]=r,r+=n.byteLength,p[t]=n.byteLength}}const{blockWidth:g,blockHeight:y}=this.getBlockWidthHeight(e),b=await this.decodePixelBlock(d,{format:"tiff",customOptions:{headerInfo:this._headerInfo,ifd:c,offsets:m,sizes:p},width:g,height:y,planes:null,pixelType:null});let x,v,w;if(o!==g||l!==y){let e=b.mask;if(e)for(x=0;x<y;x++)if(w=x*g,x<l)for(v=o;v<g;v++)e[w+v]=0;else for(v=0;v<g;v++)e[w+v]=0;else for(e=new Uint8Array(g*y),b.mask=e,x=0;x<l;x++)for(w=x*g,v=0;v<o;v++)e[w+v]=1}return b}async readIFDs(e,t,r,n,s,i=4,a){if(!n)return null;(n>=t.byteLength||n<0)&&(t=(await this.request(this.url,{range:{from:n+s,to:n+s+this._bufferSize},responseType:"array-buffer",signal:a})).data,s=n+s,n=0);const o=await this.readIFD(t,r,n,s,ht.Z.TIFF_TAGS,i,a);if(e.push(o.ifd),!o.nextIFD)return null;await this.readIFDs(e,t,r,o.nextIFD-s,s,i,a)}async readIFD(e,t,r,n,s=ht.Z.TIFF_TAGS,i=4,a){if(!e)return null;const o=(0,ut.b)(e,t,r,n,s,i);if(o.success){const r=[];if(o.ifd.forEach((e=>{e.values||r.push(e)})),r.length>0){const s=r.map((e=>e.offlineOffsetSize)),i=Math.min.apply(null,s.map((e=>e[0])));if(Math.min.apply(null,s.map((e=>e[0]+e[1])))-i<=this._bufferSize){const{data:s}=await this.request(this.url,{range:{from:i,to:i+this._bufferSize},responseType:"array-buffer",signal:a});e=s,n=i,r.forEach((r=>(0,ut.c)(e,t,r,n)))}}if(o.ifd.has("GEOKEYDIRECTORY")){const r=o.ifd.get("GEOKEYDIRECTORY"),s=r.values;if(s&&s.length>4){const i=s[0]+"."+s[1]+"."+s[2],o=await this.readIFD(e,t,r.valueOffset+6-n,n,ht.Z.GEO_KEYS,2,a);r.data=o.ifd,r.data&&r.data.set("GEOTIFFVersion",{id:0,type:2,valueCount:1,valueOffset:null,values:[i]})}}return o}if(o.requiredBufferSize&&o.requiredBufferSize!==e.byteLength){const r=await this.request(this.url,{range:{from:n,to:n+o.requiredBufferSize+4},responseType:"array-buffer",signal:a});return(e=r.data).byteLength<o.requiredBufferSize?null:this.readIFD(e,t,0,n,ht.Z.TIFF_TAGS,4,a)}}getTileLocation(e,t,r){const{firstPyramidLevel:n,blockBoundary:s}=this.rasterInfo.storageInfo,i=0===e?0:e-(n-1),a=this._headerInfo.ifds[i];if(!a)return null;const o=(0,ut.i)(a,this._headerInfo),l=ft(a,"TILEOFFSETS");if(void 0===l)return null;const c=ft(a,"TILEBYTECOUNTS"),{minRow:u,minCol:h,maxRow:f,maxCol:d}=s[i];if(t>f||r>d||t<u||r<h)return null;const m=dt(a,"IMAGEWIDTH"),p=dt(a,"IMAGELENGTH"),g=dt(a,"TILEWIDTH"),y=dt(a,"TILELENGTH"),b=o?this.rasterInfo.bandCount:1,x=b*t*(d+1)+r,v=[{from:l[x],to:l[x+b-1]+c[x+b-1]-1}];if(o){let e=!0;for(let t=0;t<b;t++)if(l[x+t]+c[x+t]!==l[x+t+1]){e=!1;break}if(!e)for(let e=0;e<b;e++)v[e]={from:l[x+e],to:l[x+e]+c[x+e]-1}}const w=l[x],_=c[x];return null==w||null==_?null:{ranges:v,ifd:a,actualTileWidth:r===d?m%g:g,actualTileHeight:t===f?p%y:y}}async _fetchAuxiliaryData(e){try{const{data:t}=await this.request(this.url+".aux.xml",{responseType:"xml",signal:null==e?void 0:e.signal});return $e(t)}catch{return null}}};(0,n._)([(0,u.Cb)()],mt.prototype,"_files",void 0),(0,n._)([(0,u.Cb)()],mt.prototype,"_headerInfo",void 0),(0,n._)([(0,u.Cb)()],mt.prototype,"_bufferSize",void 0),(0,n._)([(0,u.Cb)({type:String,json:{write:!0}})],mt.prototype,"datasetFormat",void 0),mt=(0,n._)([(0,m.j)("esri.layers.support.rasterDatasets.TIFFRaster")],mt);const pt=mt,gt=new Map;gt.set("CRF",{desc:"Cloud Raster Format",constructor:Le}),gt.set("MRF",{desc:"Meta Raster Format",constructor:ct}),gt.set("TIFF",{desc:"GeoTIFF",constructor:pt}),gt.set("RasterTileServer",{desc:"Raster Tile Server",constructor:nt}),gt.set("JPG",{desc:"JPG Raster Format",constructor:Ye}),gt.set("PNG",{desc:"PNG Raster Format",constructor:Ye}),gt.set("GIF",{desc:"GIF Raster Format",constructor:Ye}),gt.set("BMP",{desc:"BMP Raster Format",constructor:Ye});var yt=r(32163);let bt=class extends((0,g.h)((0,N.M)((0,D.q)((0,A.I)((0,y.N)(F((0,Z.n)((0,L.Q)((0,l.R)(p.Z)))))))))){constructor(...e){super(...e),this.bandIds=null,this.interpolation=null,this.legendEnabled=!0,this.isReference=null,this.listMode="show",this.sourceJSON=null,this.version=null,this.title=null,this.type="imagery-tile",this.operationalLayerType="ArcGISTiledImageServiceLayer",this.popupEnabled=!0,this.popupTemplate=null,this.fields=null}normalizeCtorArgs(e,t){return"string"==typeof e?{url:e,...t}:e}load(e){const t=(0,o.pC)(e)?e.signal:null;return this.addResolvingPromise(this.loadFromPortal({supportedTypes:["Image Service"]},e).catch(c.r9).then((()=>this._openRaster(t)))),Promise.resolve(this)}get defaultPopupTemplate(){return this.createPopupTemplate()}get rasterFields(){var e,t;let r=[new B.Z({name:"Raster.ServicePixelValue",alias:"Pixel Value",domain:null,editable:!1,length:50,type:"string"})];const n=null==(e=this.rasterInfo)||null==(t=e.attributeTable)?void 0:t.fields;if(n){const e=n.filter((e=>"oid"!==e.type&&"value"!==e.name.toLowerCase())).map((e=>{const t=e.clone();return t.name="Raster."+e.name,t}));r=r.concat(e)}const s=this.rasterInfo.dataType;if(("vector-magdir"===s||"vector-uv"===s)&&(0,o.pC)(this.rasterInfo.multidimensionalInfo)){var i;const e=null==(i=this.rasterInfo.multidimensionalInfo.variables[0].unit)?void 0:i.trim(),t="Magnitude"+(e?` (${e})`:"");r.push(new B.Z({name:"Raster.Magnitude",alias:t,domain:null,editable:!1,type:"double"})),r.push(new B.Z({name:"Raster.Direction",alias:"Direction (°)",domain:null,editable:!1,type:"double"}))}return r}set renderer(e){this._set("renderer",e),this.updateRenderer()}readRenderer(e,t,r){const n=t&&t.layerDefinition&&t.layerDefinition.drawingInfo&&t.layerDefinition.drawingInfo.renderer,s=(0,i.ij)(n,r)||void 0;if(null!=s)return s}createPopupTemplate(e){return(0,yt.eZ)({fields:this.rasterFields,title:this.title},e)}write(e,t){const{raster:r}=this;if(this.loaded?"RasterTileServer"===r.datasetFormat&&("Raster"===r.tileType||"Map"===r.tileType):this.url&&/\/ImageServer(\/|\/?$)/i.test(this.url))return super.write(e,t);if(t&&t.messages){const e=`${t.origin}/${t.layerContainerType||"operational-layers"}`;t.messages.push(new a.Z("layer:unsupported",`Layers (${this.title}, ${this.id}) of type '${this.declaredClass}' are not supported in the context of '${e}'`,{layer:this}))}return null}async _openRaster(e){this.raster?(this.raster.rasterInfo||await this.raster.open(),this.url=this.raster.url):this.raster=await class{static get supportedFormats(){const e=new Set;return gt.forEach(((t,r)=>e.add(r))),e}static async open(e){const{url:t,ioConfig:r,sourceJSON:n}=e;let s=e.datasetFormat;null==s&&t.lastIndexOf(".")&&(s=t.slice(t.lastIndexOf(".")+1).toUpperCase()),"OVR"===s||"TIF"===s?s="TIFF":"JPG"!==s&&"JPEG"!==s&&"JFIF"!==s||(s="JPG"),t.toLowerCase().indexOf("/imageserver")>-1&&-1===t.toLowerCase().indexOf("/wcsserver")&&(s="RasterTileServer");const i={url:t,sourceJSON:n,datasetFormat:s,ioConfig:r||{bandIds:null,sampling:null}};let o,l;if(this.supportedFormats.has(s))return o=gt.get(s).constructor,l=new o(i),await l.open({signal:e.signal}),l;if(s)throw new a.Z("rasterfactory:open","not a supported format "+s);const c=Array.from(gt.keys());let u=0;const h=function(){return s=c[u++],s?(o=gt.get(s).constructor,l=new o(i),l.open({signal:e.signal}).then((()=>l)).catch((()=>h()))):null};return h()}static register(e,t,r){gt.has(e.toUpperCase())||gt.set(e.toUpperCase(),{desc:t,constructor:r})}}.open({url:this.url,sourceJSON:this.sourceJSON,ioConfig:{sampling:"closest",...this.ioConfig,customFetchParameters:this.customParameters},signal:e});const{rasterInfo:t}=this.raster;if(!t)throw new a.Z("imagery-tile-layer:load","cannot load resources on "+this.url);this.sourceJSON=this.sourceJSON||this.raster.sourceJSON,null!=this.sourceJSON&&(this._set("version",this.sourceJSON.currentVersion),this._set("copyright",this.sourceJSON.copyrightText),this.sourceJSON.timeInfo&&this._set("timeInfo",H.Z.fromJSON(this.sourceJSON.timeInfo))),null==this.title&&(this.title=this.raster.datasetName),"Map"===this.raster.tileType&&(this.popupEnabled=!1),this._configDefaultSettings(),this.watch("customParameters",(e=>this.raster.ioConfig.customFetchParameters=e))}};(0,n._)([(0,u.Cb)({type:[h.z8],json:{write:{overridePolicy(){var e;return{enabled:!this.loaded||"Raster"===this.raster.tileType||"0,1,2"!==(null==(e=this.bandIds)?void 0:e.join(","))}}}}})],bt.prototype,"bandIds",void 0),(0,n._)([(0,u.Cb)({json:{write:{overridePolicy(){return{enabled:!this.loaded||"Raster"===this.raster.tileType||"bilinear"!==this.interpolation}}}}}),(0,f.J)(q.c)],bt.prototype,"interpolation",void 0),(0,n._)([(0,u.Cb)({json:{write:!0}})],bt.prototype,"multidimensionalDefinition",void 0),(0,n._)([(0,u.Cb)(I.rn)],bt.prototype,"legendEnabled",void 0),(0,n._)([(0,u.Cb)({type:Boolean,json:{read:!1,write:{enabled:!0,overridePolicy:()=>({enabled:!1})}}})],bt.prototype,"isReference",void 0),(0,n._)([(0,u.Cb)({type:["show","hide"]})],bt.prototype,"listMode",void 0),(0,n._)([(0,u.Cb)()],bt.prototype,"sourceJSON",void 0),(0,n._)([(0,u.Cb)({readOnly:!0})],bt.prototype,"version",void 0),(0,n._)([(0,u.Cb)()],bt.prototype,"title",void 0),(0,n._)([(0,u.Cb)({readOnly:!0,json:{read:!1}})],bt.prototype,"type",void 0),(0,n._)([(0,u.Cb)({type:["ArcGISTiledImageServiceLayer"]})],bt.prototype,"operationalLayerType",void 0),(0,n._)([(0,u.Cb)({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,r){t[r]=!e}}}})],bt.prototype,"popupEnabled",void 0),(0,n._)([(0,u.Cb)({type:s.Z,json:{read:{source:"popupInfo"},write:{target:"popupInfo",overridePolicy(){return{enabled:!this.loaded||"Raster"===this.raster.tileType}}}}})],bt.prototype,"popupTemplate",void 0),(0,n._)([(0,u.Cb)({readOnly:!0})],bt.prototype,"defaultPopupTemplate",null),(0,n._)([(0,u.Cb)({readOnly:!0,type:[B.Z]})],bt.prototype,"fields",void 0),(0,n._)([(0,u.Cb)({readOnly:!0,type:[B.Z]})],bt.prototype,"rasterFields",null),(0,n._)([(0,u.Cb)({types:i.dr,json:{name:"layerDefinition.drawingInfo.renderer",write:{overridePolicy(){var e;const t="raster-stretch"===(null==(e=this.renderer)?void 0:e.type)&&"none"===this.renderer.stretchType&&!this.renderer.useGamma;return{enabled:!this.loaded||"Raster"===this.raster.tileType||!t}}},origins:{"web-scene":{types:i.FK,name:"layerDefinition.drawingInfo.renderer",write:{overridePolicy:e=>({enabled:e&&"vector-field"!==e.type})}}}}})],bt.prototype,"renderer",null),(0,n._)([(0,d.r)("renderer")],bt.prototype,"readRenderer",null),bt=(0,n._)([(0,m.j)("esri.layers.ImageryTileLayer")],bt);const xt=bt},3172:(e,t,r)=>{r.r(t),r.d(t,{default:()=>m});var n=r(68773),s=r(40330),i=r(20102),a=r(16358),o=r(80442),l=r(22974),c=r(70586),u=r(95330),h=r(17452),f=r(71058),d=r(85958);async function m(e,t){var l;const d=(0,h.HK)(e),b=(0,h.jc)(e);b||d||(e=(0,h.Fv)(e));const x={url:e,requestOptions:{...(0,c.Wg)(t)}};let v=(0,h.oh)(e);if(v){const e=await async function(e,t){if(null!=e.responseData)return e.responseData;if(e.headers&&(t.requestOptions.headers={...t.requestOptions.headers,...e.headers}),e.query&&(t.requestOptions.query={...t.requestOptions.query,...e.query}),e.before){let r,n;try{n=await e.before(t)}catch(e){r=C("request:interceptor",e,t)}if((n instanceof Error||n instanceof i.Z)&&(r=C("request:interceptor",n,t)),r)throw e.error&&e.error(r),r;return n}}(v,x);if(null!=e)return{data:e,getHeader:w,requestOptions:x.requestOptions,url:x.url};v.after||v.error||(v=null)}if(e=x.url,"image"===(t=x.requestOptions).responseType){if((0,o.Z)("host-webworker")||(0,o.Z)("host-node"))throw C("request:invalid-parameters",new Error("responseType 'image' is not supported in Web Workers or Node environment"),x)}else if(d)throw C("request:invalid-parameters",new Error("Data URLs are not supported for responseType = "+t.responseType),x);if("head"===t.method){if(t.body)throw C("request:invalid-parameters",new Error("body parameter cannot be set when method is 'head'"),x);if(d||b)throw C("request:invalid-parameters",new Error("data and blob URLs are not supported for method 'head'"),x)}if(await async function(){(0,o.Z)("host-webworker")?p||(p=await Promise.all([r.e(102),r.e(9884)]).then(r.bind(r,29884))):m._abortableFetch||(m._abortableFetch=a.Z.fetch.bind(a.Z))}(),p)return p.execute(e,t);const _=new AbortController;(0,u.fu)(t,(()=>_.abort()));const I={controller:_,credential:null,credentialToken:null,fetchOptions:null,hasToken:!1,interceptor:v,params:x,redoRequest:!1,useIdentity:g.useIdentity,useProxy:!1,useSSL:!1,withCredentials:!1},S=await async function(e){var t,r;let i,o;await async function(e){const t=e.params.url,r=e.params.requestOptions,i=e.controller.signal,o=r.body;let l=null,c=null,h=null;if(y&&"HTMLFormElement"in a.Z&&(o instanceof FormData?l=o:o instanceof HTMLFormElement&&(c=o,l=new FormData(c))),"string"==typeof o&&(h=o),e.fetchOptions={cache:r.cacheBust&&!m._abortableFetch.polyfill?"no-cache":"default",credentials:"same-origin",headers:r.headers||{},method:"head"===r.method?"HEAD":"GET",mode:"cors",redirect:"follow",signal:i},(l||h)&&(e.fetchOptions.body=l||h),"anonymous"===r.authMode&&(e.useIdentity=!1),e.hasToken=!!(/token=/i.test(t)||r.query&&r.query.token||l&&l.get&&l.get("token")||c&&c.elements.token),!e.hasToken&&n.Z.apiKey&&(0,f.r)(t)&&(r.query||(r.query={}),r.query.token=n.Z.apiKey,e.hasToken=!0),e.useIdentity&&!e.hasToken&&!e.credentialToken&&!k(t)&&!(0,u.Hc)(i)){let n;"immediate"===r.authMode?(await M(),n=await s.id.getCredential(t,{signal:i}),e.credential=n):"no-prompt"===r.authMode?(await M(),n=await s.id.getCredential(t,{prompt:!1,signal:i}).catch((()=>{})),e.credential=n):s.id&&(n=s.id.findCredential(t)),n&&(e.credentialToken=n.token,e.useSSL=!!n.ssl)}}(e);try{do{[i,o]=await T(e)}while(!await R(e,i,o))}catch(t){const r=C("request:server",t,e.params,i);throw r.details.ssl=e.useSSL,e.interceptor&&e.interceptor.error&&e.interceptor.error(r),r}const l=e.params.url;if(/\/sharing\/rest\/(accounts|portals)\/self/i.test(l)&&!e.hasToken&&!e.credentialToken&&null!=(t=o)&&null!=(r=t.user)&&r.username&&!(0,h.kl)(l)){const e=(0,h.P$)(l,!0);e&&g.trustedServers.push(e)}const c=e.credential;if(c&&s.id){const e=s.id.findServerInfo(c.server);let t=e&&e.owningSystemUrl;if(t){t=t.replace(/\/?$/,"/sharing");const e=s.id.findCredential(t,c.userId);e&&-1===s.id._getIdenticalSvcIdx(t,e)&&e.resources.unshift(t)}}return{data:o,getHeader:i?e=>i.headers.get(e):w,requestOptions:e.params.requestOptions,ssl:e.useSSL,url:e.params.url}}(I);return null==(l=v)||null==l.after||l.after(S),S}let p;const g=n.Z.request,y="FormData"in a.Z,b=[499,498,403,401],x=["COM_0056","COM_0057","SB_0008"],v=[/\/arcgis\/tokens/i,/\/sharing(\/rest)?\/generatetoken/i,/\/rest\/info/i],w=()=>null,_=Symbol();function I(e){const t=(0,h.P$)(e);return!t||t.endsWith(".arcgis.com")||m._corsServers.includes(t)||(0,h.kl)(t)}function C(e,t,r,n){let s="Error";const a={url:r.url,requestOptions:r.requestOptions,getHeader:w,ssl:!1};if(t instanceof i.Z)return t.details?(t.details=(0,l.d9)(t.details),t.details.url=r.url,t.details.requestOptions=r.requestOptions):t.details=a,t;if(t){const e=n&&(e=>n.headers.get(e)),r=n&&n.status,i=t.message;i&&(s=i),e&&(a.getHeader=e),a.httpStatus=(null!=t.httpCode?t.httpCode:t.code)||r||0,a.subCode=t.subcode,a.messageCode=t.messageCode,"string"==typeof t.details?a.messages=[t.details]:a.messages=t.details,a.raw=_ in t?t[_]:t}return(0,u.D_)(t)?(0,u.zE)():new i.Z(e,s,a)}async function M(){s.id||await Promise.all([r.e(7824),r.e(8778),r.e(102),r.e(9625)]).then(r.bind(r,79339))}function k(e){return v.some((t=>t.test(e)))}async function T(e){let t=e.params.url;const r=e.params.requestOptions,n=e.fetchOptions,i=(0,h.jc)(t)||(0,h.HK)(t),a=r.responseType||"json",l=i?0:null!=r.timeout?r.timeout:g.timeout;let c=!1;if(!i){e.useSSL&&(t=(0,h.hO)(t)),r.cacheBust&&"default"===n.cache&&(t=(0,h.ZN)(t,"request.preventCache",Date.now()));let i={...r.query};e.credentialToken&&(i.token=e.credentialToken);let a=(0,h.B7)(i);(0,o.Z)("esri-url-encodes-apostrophe")&&(a=a.replace(/'/g,"%27"));const l=t.length+1+a.length;let u;c="delete"===r.method||"post"===r.method||"put"===r.method||!!r.body||l>g.maxUrlLength;const f=r.useProxy||!!(0,h.ed)(t);if(f){const e=(0,h.b7)(t);u=e.path,!c&&u.length+1+l>g.maxUrlLength&&(c=!0),e.query&&(i={...e.query,...i})}if("HEAD"===n.method&&(c||f)){if(c){if(l>g.maxUrlLength)throw C("request:invalid-parameters",new Error("URL exceeds maximum length"),e.params);throw C("request:invalid-parameters",new Error("cannot use POST request when method is 'head'"),e.params)}if(f)throw C("request:invalid-parameters",new Error("cannot use proxy when method is 'head'"),e.params)}if(c?(n.method="delete"===r.method?"DELETE":"put"===r.method?"PUT":"POST",r.body?t=(0,h.fl)(t,i):(n.body=(0,h.B7)(i),n.headers["Content-Type"]="application/x-www-form-urlencoded")):t=(0,h.fl)(t,i),f&&(e.useProxy=!0,t=`${u}?${t}`),i.token&&y&&n.body instanceof FormData){const e=n.body;e.set?e.set("token",i.token):e.append("token",i.token)}if(r.hasOwnProperty("withCredentials"))e.withCredentials=r.withCredentials;else if(!(0,h.D6)(t,h.Gd))if((0,h.kl)(t))e.withCredentials=!0;else if(s.id){const r=s.id.findServerInfo(t);r&&r.webTierAuth&&(e.withCredentials=!0)}e.withCredentials&&(n.credentials="include")}let f,d,p=0,b=!1;l>0&&(p=setTimeout((()=>{b=!0,e.controller.abort()}),l));try{if("native-request-init"===r.responseType)d=n,d.url=t;else if("image"!==r.responseType||"default"!==n.cache||"GET"!==n.method||c||function(e){if(e)for(const t of Object.getOwnPropertyNames(e))if(e[t])return!0;return!1}(r.headers)||!i&&!e.useProxy&&g.proxyUrl&&!I(t)){if(f=await m._abortableFetch(t,n),e.useProxy||function(e){const t=(0,h.P$)(e);t&&!m._corsServers.includes(t)&&m._corsServers.push(t)}(t),"native"===r.responseType)d=f;else if("HEAD"!==n.method)if(f.ok){switch(a){case"array-buffer":d=await f.arrayBuffer();break;case"blob":case"image":d=await f.blob();break;default:d=await f.text()}if(p&&(clearTimeout(p),p=0),"json"===a||"xml"===a||"document"===a)if(d)switch(a){case"json":d=JSON.parse(d);break;case"xml":d=S(d,"application/xml");break;case"document":d=S(d,"text/html")}else d=null;if(d){if("array-buffer"===a||"blob"===a){const e=f.headers.get("Content-Type");if(/application\/json|text\/plain/i.test(e)&&d["blob"===a?"size":"byteLength"]<=750)try{const e=await new Response(d).json();e.error&&(d=e)}catch{}}"image"===a&&d instanceof Blob&&(d=await E(URL.createObjectURL(d),e,!0))}}else d=await f.text()}else d=await E(t,e)}catch(n){if("AbortError"===n.name){if(b)throw new Error("Timeout exceeded");throw(0,u.zE)("Request canceled")}if(!(!f&&n instanceof TypeError&&g.proxyUrl)||r.body||"delete"===r.method||"head"===r.method||"post"===r.method||"put"===r.method||e.useProxy||I(t))throw n;e.redoRequest=!0,(0,h.tD)({proxyUrl:g.proxyUrl,urlPrefix:(0,h.P$)(t)})}finally{p&&clearTimeout(p)}return[f,d]}function S(e,t){let r;try{r=(new DOMParser).parseFromString(e,t)}catch{}if(!r||r.getElementsByTagName("parsererror").length)throw new SyntaxError("XML Parse error");return r}async function R(e,t,r){if(e.redoRequest)return e.redoRequest=!1,!1;const n=e.params.requestOptions;if(!t||"native"===n.responseType||"native-request-init"===n.responseType)return!0;let i,a,o,l;if(!t.ok)throw i=new Error(`Unable to load ${t.url} status: ${t.status}`),i[_]=r,i;null!=r&&r.error&&(i=r.error),i&&(a=Number(i.code),o=i.hasOwnProperty("subcode")?Number(i.subcode):null,l=i.messageCode,l=l&&l.toUpperCase());const c=n.authMode;if(403===a&&(4===o||i.message&&i.message.toLowerCase().indexOf("ssl")>-1&&-1===i.message.toLowerCase().indexOf("permission"))){if(!e.useSSL)return e.useSSL=!0,!1}else if(!e.hasToken&&e.useIdentity&&("no-prompt"!==c||498===a)&&-1!==b.indexOf(a)&&!k(e.params.url)&&(403!==a||-1===x.indexOf(l)&&(null==o||2===o&&e.credentialToken))){await M();try{const t=await s.id.getCredential(e.params.url,{error:C("request:server",i,e.params),prompt:"no-prompt"!==c,signal:e.controller.signal,token:e.credentialToken});return e.credential=t,e.credentialToken=t.token,e.useSSL=e.useSSL||t.ssl,!1}catch(t){if("no-prompt"===c)return e.credential=null,e.credentialToken=null,!1;i=t}}if(i)throw i;return!0}function E(e,t,r=!1){const n=t.controller.signal,s=new Image;return t.withCredentials?s.crossOrigin="use-credentials":s.crossOrigin="anonymous",s.alt="",s.src=e,(0,d.f)(s,e,r,n)}m._abortableFetch=null,m._corsServers=["https://server.arcgisonline.com","https://services.arcgisonline.com"]},71058:(e,t,r)=>{r.d(t,{r:()=>i});var n=r(17452);const s=["elevation3d.arcgis.com","js.arcgis.com","jsdev.arcgis.com","jsqa.arcgis.com","static.arcgis.com"];function i(e){const t=(0,n.P$)(e,!0);return t&&t.endsWith(".arcgis.com")&&!s.includes(t)&&!e.endsWith("/sharing/rest/generateToken")}},85958:(e,t,r)=>{r.d(t,{f:()=>a});var n=r(80442),s=r(70586),i=r(95330);function a(e,t,r=!1,a){return new Promise(((l,c)=>{if((0,i.Hc)(a))return void c(o());let u=()=>{d(),c(new Error(`Unable to load ${t}`))},h=()=>{const t=e;d(),l(t)},f=()=>{if(!e)return;const t=e;d(),t.src="",c(o())};const d=()=>{(0,n.Z)("esri-image-decode")||(e.removeEventListener("error",u),e.removeEventListener("load",h)),u=null,h=null,e=null,(0,s.pC)(a)&&a.removeEventListener("abort",f),f=null,r&&URL.revokeObjectURL(t)};(0,s.pC)(a)&&a.addEventListener("abort",f),(0,n.Z)("esri-image-decode")?e.decode().then(h,u):(e.addEventListener("error",u),e.addEventListener("load",h))}))}function o(){try{return new DOMException("Aborted","AbortError")}catch{const e=new Error;return e.name="AbortError",e}}}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[3172],{3172:(e,t,r)=>{r.r(t),r.d(t,{default:()=>f});var n=r(68773),s=r(40330),o=r(20102),a=r(16358),i=r(80442),l=r(22974),u=r(70586),c=r(95330),d=r(17452),p=r(71058),h=r(85958);async function f(e,t){var l;const h=(0,d.HK)(e),g=(0,d.jc)(e);g||h||(e=(0,d.Fv)(e));const b={url:e,requestOptions:{...(0,u.Wg)(t)}};let k=(0,d.oh)(e);if(k){const e=await async function(e,t){if(null!=e.responseData)return e.responseData;if(e.headers&&(t.requestOptions.headers={...t.requestOptions.headers,...e.headers}),e.query&&(t.requestOptions.query={...t.requestOptions.query,...e.query}),e.before){let r,n;try{n=await e.before(t)}catch(e){r=O("request:interceptor",e,t)}if((n instanceof Error||n instanceof o.Z)&&(r=O("request:interceptor",n,t)),r)throw e.error&&e.error(r),r;return n}}(k,b);if(null!=e)return{data:e,getHeader:q,requestOptions:b.requestOptions,url:b.url};k.after||k.error||(k=null)}if(e=b.url,"image"===(t=b.requestOptions).responseType){if((0,i.Z)("host-webworker")||(0,i.Z)("host-node"))throw O("request:invalid-parameters",new Error("responseType 'image' is not supported in Web Workers or Node environment"),b)}else if(h)throw O("request:invalid-parameters",new Error("Data URLs are not supported for responseType = "+t.responseType),b);if("head"===t.method){if(t.body)throw O("request:invalid-parameters",new Error("body parameter cannot be set when method is 'head'"),b);if(h||g)throw O("request:invalid-parameters",new Error("data and blob URLs are not supported for method 'head'"),b)}if(await async function(){(0,i.Z)("host-webworker")?m||(m=await Promise.all([r.e(102),r.e(9884)]).then(r.bind(r,29884))):f._abortableFetch||(f._abortableFetch=a.Z.fetch.bind(a.Z))}(),m)return m.execute(e,t);const v=new AbortController;(0,c.fu)(t,(()=>v.abort()));const T={controller:v,credential:null,credentialToken:null,fetchOptions:null,hasToken:!1,interceptor:k,params:b,redoRequest:!1,useIdentity:w.useIdentity,useProxy:!1,useSSL:!1,withCredentials:!1},C=await async function(e){var t,r;let o,i;await async function(e){const t=e.params.url,r=e.params.requestOptions,o=e.controller.signal,i=r.body;let l=null,u=null,d=null;if(y&&"HTMLFormElement"in a.Z&&(i instanceof FormData?l=i:i instanceof HTMLFormElement&&(u=i,l=new FormData(u))),"string"==typeof i&&(d=i),e.fetchOptions={cache:r.cacheBust&&!f._abortableFetch.polyfill?"no-cache":"default",credentials:"same-origin",headers:r.headers||{},method:"head"===r.method?"HEAD":"GET",mode:"cors",redirect:"follow",signal:o},(l||d)&&(e.fetchOptions.body=l||d),"anonymous"===r.authMode&&(e.useIdentity=!1),e.hasToken=!!(/token=/i.test(t)||r.query&&r.query.token||l&&l.get&&l.get("token")||u&&u.elements.token),!e.hasToken&&n.Z.apiKey&&(0,p.r)(t)&&(r.query||(r.query={}),r.query.token=n.Z.apiKey,e.hasToken=!0),e.useIdentity&&!e.hasToken&&!e.credentialToken&&!S(t)&&!(0,c.Hc)(o)){let n;"immediate"===r.authMode?(await E(),n=await s.id.getCredential(t,{signal:o}),e.credential=n):"no-prompt"===r.authMode?(await E(),n=await s.id.getCredential(t,{prompt:!1,signal:o}).catch((()=>{})),e.credential=n):s.id&&(n=s.id.findCredential(t)),n&&(e.credentialToken=n.token,e.useSSL=!!n.ssl)}}(e);try{do{[o,i]=await x(e)}while(!await L(e,o,i))}catch(t){const r=O("request:server",t,e.params,o);throw r.details.ssl=e.useSSL,e.interceptor&&e.interceptor.error&&e.interceptor.error(r),r}const l=e.params.url;if(/\/sharing\/rest\/(accounts|portals)\/self/i.test(l)&&!e.hasToken&&!e.credentialToken&&null!=(t=i)&&null!=(r=t.user)&&r.username&&!(0,d.kl)(l)){const e=(0,d.P$)(l,!0);e&&w.trustedServers.push(e)}const u=e.credential;if(u&&s.id){const e=s.id.findServerInfo(u.server);let t=e&&e.owningSystemUrl;if(t){t=t.replace(/\/?$/,"/sharing");const e=s.id.findCredential(t,u.userId);e&&-1===s.id._getIdenticalSvcIdx(t,e)&&e.resources.unshift(t)}}return{data:i,getHeader:o?e=>o.headers.get(e):q,requestOptions:e.params.requestOptions,ssl:e.useSSL,url:e.params.url}}(T);return null==(l=k)||null==l.after||l.after(C),C}let m;const w=n.Z.request,y="FormData"in a.Z,g=[499,498,403,401],b=["COM_0056","COM_0057","SB_0008"],k=[/\/arcgis\/tokens/i,/\/sharing(\/rest)?\/generatetoken/i,/\/rest\/info/i],q=()=>null,v=Symbol();function T(e){const t=(0,d.P$)(e);return!t||t.endsWith(".arcgis.com")||f._corsServers.includes(t)||(0,d.kl)(t)}function O(e,t,r,n){let s="Error";const a={url:r.url,requestOptions:r.requestOptions,getHeader:q,ssl:!1};if(t instanceof o.Z)return t.details?(t.details=(0,l.d9)(t.details),t.details.url=r.url,t.details.requestOptions=r.requestOptions):t.details=a,t;if(t){const e=n&&(e=>n.headers.get(e)),r=n&&n.status,o=t.message;o&&(s=o),e&&(a.getHeader=e),a.httpStatus=(null!=t.httpCode?t.httpCode:t.code)||r||0,a.subCode=t.subcode,a.messageCode=t.messageCode,"string"==typeof t.details?a.messages=[t.details]:a.messages=t.details,a.raw=v in t?t[v]:t}return(0,c.D_)(t)?(0,c.zE)():new o.Z(e,s,a)}async function E(){s.id||await Promise.all([r.e(7824),r.e(8778),r.e(102),r.e(9625)]).then(r.bind(r,79339))}function S(e){return k.some((t=>t.test(e)))}async function x(e){let t=e.params.url;const r=e.params.requestOptions,n=e.fetchOptions,o=(0,d.jc)(t)||(0,d.HK)(t),a=r.responseType||"json",l=o?0:null!=r.timeout?r.timeout:w.timeout;let u=!1;if(!o){e.useSSL&&(t=(0,d.hO)(t)),r.cacheBust&&"default"===n.cache&&(t=(0,d.ZN)(t,"request.preventCache",Date.now()));let o={...r.query};e.credentialToken&&(o.token=e.credentialToken);let a=(0,d.B7)(o);(0,i.Z)("esri-url-encodes-apostrophe")&&(a=a.replace(/'/g,"%27"));const l=t.length+1+a.length;let c;u="delete"===r.method||"post"===r.method||"put"===r.method||!!r.body||l>w.maxUrlLength;const p=r.useProxy||!!(0,d.ed)(t);if(p){const e=(0,d.b7)(t);c=e.path,!u&&c.length+1+l>w.maxUrlLength&&(u=!0),e.query&&(o={...e.query,...o})}if("HEAD"===n.method&&(u||p)){if(u){if(l>w.maxUrlLength)throw O("request:invalid-parameters",new Error("URL exceeds maximum length"),e.params);throw O("request:invalid-parameters",new Error("cannot use POST request when method is 'head'"),e.params)}if(p)throw O("request:invalid-parameters",new Error("cannot use proxy when method is 'head'"),e.params)}if(u?(n.method="delete"===r.method?"DELETE":"put"===r.method?"PUT":"POST",r.body?t=(0,d.fl)(t,o):(n.body=(0,d.B7)(o),n.headers["Content-Type"]="application/x-www-form-urlencoded")):t=(0,d.fl)(t,o),p&&(e.useProxy=!0,t=`${c}?${t}`),o.token&&y&&n.body instanceof FormData){const e=n.body;e.set?e.set("token",o.token):e.append("token",o.token)}if(r.hasOwnProperty("withCredentials"))e.withCredentials=r.withCredentials;else if(!(0,d.D6)(t,d.Gd))if((0,d.kl)(t))e.withCredentials=!0;else if(s.id){const r=s.id.findServerInfo(t);r&&r.webTierAuth&&(e.withCredentials=!0)}e.withCredentials&&(n.credentials="include")}let p,h,m=0,g=!1;l>0&&(m=setTimeout((()=>{g=!0,e.controller.abort()}),l));try{if("native-request-init"===r.responseType)h=n,h.url=t;else if("image"!==r.responseType||"default"!==n.cache||"GET"!==n.method||u||function(e){if(e)for(const t of Object.getOwnPropertyNames(e))if(e[t])return!0;return!1}(r.headers)||!o&&!e.useProxy&&w.proxyUrl&&!T(t)){if(p=await f._abortableFetch(t,n),e.useProxy||function(e){const t=(0,d.P$)(e);t&&!f._corsServers.includes(t)&&f._corsServers.push(t)}(t),"native"===r.responseType)h=p;else if("HEAD"!==n.method)if(p.ok){switch(a){case"array-buffer":h=await p.arrayBuffer();break;case"blob":case"image":h=await p.blob();break;default:h=await p.text()}if(m&&(clearTimeout(m),m=0),"json"===a||"xml"===a||"document"===a)if(h)switch(a){case"json":h=JSON.parse(h);break;case"xml":h=C(h,"application/xml");break;case"document":h=C(h,"text/html")}else h=null;if(h){if("array-buffer"===a||"blob"===a){const e=p.headers.get("Content-Type");if(/application\/json|text\/plain/i.test(e)&&h["blob"===a?"size":"byteLength"]<=750)try{const e=await new Response(h).json();e.error&&(h=e)}catch{}}"image"===a&&h instanceof Blob&&(h=await P(URL.createObjectURL(h),e,!0))}}else h=await p.text()}else h=await P(t,e)}catch(n){if("AbortError"===n.name){if(g)throw new Error("Timeout exceeded");throw(0,c.zE)("Request canceled")}if(!(!p&&n instanceof TypeError&&w.proxyUrl)||r.body||"delete"===r.method||"head"===r.method||"post"===r.method||"put"===r.method||e.useProxy||T(t))throw n;e.redoRequest=!0,(0,d.tD)({proxyUrl:w.proxyUrl,urlPrefix:(0,d.P$)(t)})}finally{m&&clearTimeout(m)}return[p,h]}function C(e,t){let r;try{r=(new DOMParser).parseFromString(e,t)}catch{}if(!r||r.getElementsByTagName("parsererror").length)throw new SyntaxError("XML Parse error");return r}async function L(e,t,r){if(e.redoRequest)return e.redoRequest=!1,!1;const n=e.params.requestOptions;if(!t||"native"===n.responseType||"native-request-init"===n.responseType)return!0;let o,a,i,l;if(!t.ok)throw o=new Error(`Unable to load ${t.url} status: ${t.status}`),o[v]=r,o;null!=r&&r.error&&(o=r.error),o&&(a=Number(o.code),i=o.hasOwnProperty("subcode")?Number(o.subcode):null,l=o.messageCode,l=l&&l.toUpperCase());const u=n.authMode;if(403===a&&(4===i||o.message&&o.message.toLowerCase().indexOf("ssl")>-1&&-1===o.message.toLowerCase().indexOf("permission"))){if(!e.useSSL)return e.useSSL=!0,!1}else if(!e.hasToken&&e.useIdentity&&("no-prompt"!==u||498===a)&&-1!==g.indexOf(a)&&!S(e.params.url)&&(403!==a||-1===b.indexOf(l)&&(null==i||2===i&&e.credentialToken))){await E();try{const t=await s.id.getCredential(e.params.url,{error:O("request:server",o,e.params),prompt:"no-prompt"!==u,signal:e.controller.signal,token:e.credentialToken});return e.credential=t,e.credentialToken=t.token,e.useSSL=e.useSSL||t.ssl,!1}catch(t){if("no-prompt"===u)return e.credential=null,e.credentialToken=null,!1;o=t}}if(o)throw o;return!0}function P(e,t,r=!1){const n=t.controller.signal,s=new Image;return t.withCredentials?s.crossOrigin="use-credentials":s.crossOrigin="anonymous",s.alt="",s.src=e,(0,h.f)(s,e,r,n)}f._abortableFetch=null,f._corsServers=["https://server.arcgisonline.com","https://services.arcgisonline.com"]},71058:(e,t,r)=>{r.d(t,{r:()=>o});var n=r(17452);const s=["elevation3d.arcgis.com","js.arcgis.com","jsdev.arcgis.com","jsqa.arcgis.com","static.arcgis.com"];function o(e){const t=(0,n.P$)(e,!0);return t&&t.endsWith(".arcgis.com")&&!s.includes(t)&&!e.endsWith("/sharing/rest/generateToken")}},85958:(e,t,r)=>{r.d(t,{f:()=>a});var n=r(80442),s=r(70586),o=r(95330);function a(e,t,r=!1,a){return new Promise(((l,u)=>{if((0,o.Hc)(a))return void u(i());let c=()=>{h(),u(new Error(`Unable to load ${t}`))},d=()=>{const t=e;h(),l(t)},p=()=>{if(!e)return;const t=e;h(),t.src="",u(i())};const h=()=>{(0,n.Z)("esri-image-decode")||(e.removeEventListener("error",c),e.removeEventListener("load",d)),c=null,d=null,e=null,(0,s.pC)(a)&&a.removeEventListener("abort",p),p=null,r&&URL.revokeObjectURL(t)};(0,s.pC)(a)&&a.addEventListener("abort",p),(0,n.Z)("esri-image-decode")?e.decode().then(d,c):(e.addEventListener("error",c),e.addEventListener("load",d))}))}function i(){try{return new DOMException("Aborted","AbortError")}catch{const e=new Error;return e.name="AbortError",e}}}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[2938,2515],{35270:(e,t,r)=>{r.d(t,{h$:()=>a,VL:()=>o,rW:()=>l,B7:()=>n});const i={transparent:[0,0,0,0],black:[0,0,0,1],silver:[192,192,192,1],gray:[128,128,128,1],white:[255,255,255,1],maroon:[128,0,0,1],red:[255,0,0,1],purple:[128,0,128,1],fuchsia:[255,0,255,1],green:[0,128,0,1],lime:[0,255,0,1],olive:[128,128,0,1],yellow:[255,255,0,1],navy:[0,0,128,1],blue:[0,0,255,1],teal:[0,128,128,1],aqua:[0,255,255,1],aliceblue:[240,248,255,1],antiquewhite:[250,235,215,1],aquamarine:[127,255,212,1],azure:[240,255,255,1],beige:[245,245,220,1],bisque:[255,228,196,1],blanchedalmond:[255,235,205,1],blueviolet:[138,43,226,1],brown:[165,42,42,1],burlywood:[222,184,135,1],cadetblue:[95,158,160,1],chartreuse:[127,255,0,1],chocolate:[210,105,30,1],coral:[255,127,80,1],cornflowerblue:[100,149,237,1],cornsilk:[255,248,220,1],crimson:[220,20,60,1],cyan:[0,255,255,1],darkblue:[0,0,139,1],darkcyan:[0,139,139,1],darkgoldenrod:[184,134,11,1],darkgray:[169,169,169,1],darkgreen:[0,100,0,1],darkgrey:[169,169,169,1],darkkhaki:[189,183,107,1],darkmagenta:[139,0,139,1],darkolivegreen:[85,107,47,1],darkorange:[255,140,0,1],darkorchid:[153,50,204,1],darkred:[139,0,0,1],darksalmon:[233,150,122,1],darkseagreen:[143,188,143,1],darkslateblue:[72,61,139,1],darkslategray:[47,79,79,1],darkslategrey:[47,79,79,1],darkturquoise:[0,206,209,1],darkviolet:[148,0,211,1],deeppink:[255,20,147,1],deepskyblue:[0,191,255,1],dimgray:[105,105,105,1],dimgrey:[105,105,105,1],dodgerblue:[30,144,255,1],firebrick:[178,34,34,1],floralwhite:[255,250,240,1],forestgreen:[34,139,34,1],gainsboro:[220,220,220,1],ghostwhite:[248,248,255,1],gold:[255,215,0,1],goldenrod:[218,165,32,1],greenyellow:[173,255,47,1],grey:[128,128,128,1],honeydew:[240,255,240,1],hotpink:[255,105,180,1],indianred:[205,92,92,1],indigo:[75,0,130,1],ivory:[255,255,240,1],khaki:[240,230,140,1],lavender:[230,230,250,1],lavenderblush:[255,240,245,1],lawngreen:[124,252,0,1],lemonchiffon:[255,250,205,1],lightblue:[173,216,230,1],lightcoral:[240,128,128,1],lightcyan:[224,255,255,1],lightgoldenrodyellow:[250,250,210,1],lightgray:[211,211,211,1],lightgreen:[144,238,144,1],lightgrey:[211,211,211,1],lightpink:[255,182,193,1],lightsalmon:[255,160,122,1],lightseagreen:[32,178,170,1],lightskyblue:[135,206,250,1],lightslategray:[119,136,153,1],lightslategrey:[119,136,153,1],lightsteelblue:[176,196,222,1],lightyellow:[255,255,224,1],limegreen:[50,205,50,1],linen:[250,240,230,1],magenta:[255,0,255,1],mediumaquamarine:[102,205,170,1],mediumblue:[0,0,205,1],mediumorchid:[186,85,211,1],mediumpurple:[147,112,219,1],mediumseagreen:[60,179,113,1],mediumslateblue:[123,104,238,1],mediumspringgreen:[0,250,154,1],mediumturquoise:[72,209,204,1],mediumvioletred:[199,21,133,1],midnightblue:[25,25,112,1],mintcream:[245,255,250,1],mistyrose:[255,228,225,1],moccasin:[255,228,181,1],navajowhite:[255,222,173,1],oldlace:[253,245,230,1],olivedrab:[107,142,35,1],orange:[255,165,0,1],orangered:[255,69,0,1],orchid:[218,112,214,1],palegoldenrod:[238,232,170,1],palegreen:[152,251,152,1],paleturquoise:[175,238,238,1],palevioletred:[219,112,147,1],papayawhip:[255,239,213,1],peachpuff:[255,218,185,1],peru:[205,133,63,1],pink:[255,192,203,1],plum:[221,160,221,1],powderblue:[176,224,230,1],rebeccapurple:[102,51,153,1],rosybrown:[188,143,143,1],royalblue:[65,105,225,1],saddlebrown:[139,69,19,1],salmon:[250,128,114,1],sandybrown:[244,164,96,1],seagreen:[46,139,87,1],seashell:[255,245,238,1],sienna:[160,82,45,1],skyblue:[135,206,235,1],slateblue:[106,90,205,1],slategray:[112,128,144,1],slategrey:[112,128,144,1],snow:[255,250,250,1],springgreen:[0,255,127,1],steelblue:[70,130,180,1],tan:[210,180,140,1],thistle:[216,191,216,1],tomato:[255,99,71,1],turquoise:[64,224,208,1],violet:[238,130,238,1],wheat:[245,222,179,1],whitesmoke:[245,245,245,1],yellowgreen:[154,205,50,1]};function a(e){var t;return null!=(t=i[e.toLowerCase()])?t:null}function o(e){const t=a(e);return t?[...t]:t}function s(e,t,r){r<0&&++r,r>1&&--r;const i=6*r;return i<1?e+(t-e)*i:2*r<1?t:3*r<2?e+(t-e)*(2/3-r)*6:e}function n(e,t,r,i=1){const a=(e%360+360)%360/360,o=r<=.5?r*(t+1):r+t-r*t,n=2*r-o;return[Math.round(255*s(n,o,a+1/3)),Math.round(255*s(n,o,a)),Math.round(255*s(n,o,a-1/3)),i]}function l(e){const t=e.length>5,r=t?8:4,i=(1<<r)-1,a=t?1:17,o=t?9===e.length:5===e.length;let s=Number("0x"+e.substr(1));if(isNaN(s))return null;const n=[0,0,0,1];let l;return o&&(l=s&i,s>>=r,n[3]=a*l/255),l=s&i,s>>=r,n[2]=a*l,l=s&i,s>>=r,n[1]=a*l,l=s&i,s>>=r,n[0]=a*l,n}},66643:(e,t,r)=>{r.d(t,{Ed:()=>o,UI:()=>s,q6:()=>n,mt:()=>l});var i=r(70586),a=r(95330);function o(e,t,r){return(0,a.as)(e.map(((e,i)=>t.apply(r,[e,i]))))}function s(e,t,r){return(0,a.as)(e.map(((e,i)=>t.apply(r,[e,i])))).then((e=>e.map((e=>e.value))))}function n(e){return(0,i.Wi)(e)?(0,a.DB)():e.then((e=>({ok:!0,value:e}))).catch((e=>({ok:!1,error:e})))}function l(e){return e.then((e=>({ok:!0,value:e}))).catch((e=>((0,a.r9)(e),{ok:!1,error:e})))}},68668:(e,t,r)=>{r.d(t,{GZ:()=>n,wF:()=>l});var i=r(66643),a=r(81049),o=r(83379),s=r(70586);async function n(e,t){return await e.load(),l(e,t)}async function l(e,t){const r=[],n=(...e)=>{for(const t of e)(0,s.Wi)(t)||(Array.isArray(t)?n(...t):a.Z.isCollection(t)?t.forEach((e=>n(e))):o.Z.isLoadable(t)&&r.push(t))};t(n);let l=null;if(await(0,i.UI)(r,(async e=>{!1!==(await(0,i.q6)(function(e){return"loadAll"in e&&"function"==typeof e.loadAll}(e)?e.loadAll():e.load())).ok||l||(l=e)})),l)throw l.loadError;return e}},75823:(e,t,r)=>{r.r(t),r.d(t,{default:()=>M});var i=r(43697),a=r(3172),o=r(92835),s=r(20102),n=r(3920),l=r(68668),p=r(70586),c=r(16453),u=r(95330),d=r(5600),h=(r(67676),r(80442),r(75215)),y=r(71715),m=r(52011),g=r(30556),b=r(31263),f=r(6570),v=r(91040),w=r(29600),k=r(54295),x=r(7944),C=r(17287),S=r(41522),_=r(17017),O=r(38009),I=r(16859),P=r(34760),q=r(72965),L=r(10343),N=r(28294),U=r(21506),R=r(15923),T=r(32073),j=r(410);const F={visible:"visibleSublayers",definitionExpression:"layerDefs",labelingInfo:"hasDynamicLayers",labelsVisible:"hasDynamicLayers",opacity:"hasDynamicLayers",minScale:"visibleSublayers",maxScale:"visibleSublayers",renderer:"hasDynamicLayers",source:"hasDynamicLayers"};let D=class extends((0,n.p)(R.Z)){constructor(e){super(e),this.floors=null,this.scale=0}destroy(){this.layer=null}get dynamicLayers(){if(!this.hasDynamicLayers)return null;const e=this.visibleSublayers.map((e=>{const t=(0,j.ff)(this.floors,e);return e.toExportImageJSON(t)}));return e.length?JSON.stringify(e):null}get hasDynamicLayers(){return this.layer&&(0,T.FN)(this.visibleSublayers,this.layer.serviceSublayers,this.layer)}set layer(e){this._get("layer")!==e&&(this._set("layer",e),this.handles.remove("layer"),e&&this.handles.add([e.allSublayers.on("change",(()=>this.notifyChange("visibleSublayers"))),e.on("sublayer-update",(e=>this.notifyChange(F[e.propertyName])))],"layer"))}get layers(){const e=this.visibleSublayers;return e?e.length?"show:"+e.map((e=>e.id)).join(","):"show:-1":null}get layerDefs(){var e;const t=!(null==(e=this.floors)||!e.length),r=this.visibleSublayers.filter((e=>null!=e.definitionExpression||t&&null!=e.floorInfo));return r.length?JSON.stringify(r.reduce(((e,t)=>{const r=(0,j.ff)(this.floors,t),i=(0,p.pC)(r)?(0,j.Hp)(r,t):t.definitionExpression;return e[t.id]=i,e}),{})):null}get version(){this.commitProperty("layers"),this.commitProperty("layerDefs"),this.commitProperty("dynamicLayers"),this.commitProperty("timeExtent");const e=this.layer;return e&&(e.commitProperty("dpi"),e.commitProperty("imageFormat"),e.commitProperty("imageTransparency"),e.commitProperty("gdbVersion")),(this._get("version")||0)+1}get visibleSublayers(){const e=[];if(!this.layer)return e;const t=this.layer.sublayers,r=t=>{const i=this.scale,a=0===i,o=0===t.minScale||i<=t.minScale,s=0===t.maxScale||i>=t.maxScale;t.visible&&(a||o&&s)&&(t.sublayers?t.sublayers.forEach(r):e.unshift(t))};t&&t.forEach(r);const i=this._get("visibleSublayers");return!i||i.length!==e.length||i.some(((t,r)=>e[r]!==t))?e:i}toJSON(){const e=this.layer;let t={dpi:e.dpi,format:e.imageFormat,transparent:e.imageTransparency,gdbVersion:e.gdbVersion||null};return this.hasDynamicLayers&&this.dynamicLayers?t.dynamicLayers=this.dynamicLayers:t={...t,layers:this.layers,layerDefs:this.layerDefs},t}};(0,i._)([(0,d.Cb)({readOnly:!0})],D.prototype,"dynamicLayers",null),(0,i._)([(0,d.Cb)()],D.prototype,"floors",void 0),(0,i._)([(0,d.Cb)({readOnly:!0})],D.prototype,"hasDynamicLayers",null),(0,i._)([(0,d.Cb)()],D.prototype,"layer",null),(0,i._)([(0,d.Cb)({readOnly:!0})],D.prototype,"layers",null),(0,i._)([(0,d.Cb)({readOnly:!0})],D.prototype,"layerDefs",null),(0,i._)([(0,d.Cb)({type:Number})],D.prototype,"scale",void 0),(0,i._)([(0,d.Cb)(U.qG)],D.prototype,"timeExtent",void 0),(0,i._)([(0,d.Cb)({readOnly:!0})],D.prototype,"version",null),(0,i._)([(0,d.Cb)({readOnly:!0})],D.prototype,"visibleSublayers",null),D=(0,i._)([(0,m.j)("esri.layers.mixins.ExportImageParameters")],D);var J=r(49867);let E=class extends((0,S.h)((0,N.n)((0,q.M)((0,L.x)((0,x.O)((0,C.Y)((0,O.q)((0,I.I)((0,c.R)((0,P.Q)((0,k.V)((0,_.N)((0,n.p)(w.Z)))))))))))))){constructor(...e){super(...e),this.datesInUnknownTimezone=!1,this.dpi=96,this.gdbVersion=null,this.imageFormat="png24",this.imageMaxHeight=2048,this.imageMaxWidth=2048,this.imageTransparency=!0,this.isReference=null,this.labelsVisible=!1,this.operationalLayerType="ArcGISMapServiceLayer",this.sourceJSON=null,this.sublayers=null,this.type="map-image",this.url=null}normalizeCtorArgs(e,t){return"string"==typeof e?{url:e,...t}:e}load(e){const t=(0,p.pC)(e)?e.signal:null;return this.addResolvingPromise(this.loadFromPortal({supportedTypes:["Map Service"]},e).catch(u.r9).then((()=>this._fetchService(t)))),Promise.resolve(this)}readImageFormat(e,t){const r=t.supportedImageFormatTypes;return r&&r.indexOf("PNG32")>-1?"png32":"png24"}writeSublayers(e,t,r,i){if(!this.loaded||!e)return;const a=e.slice().reverse().flatten((({sublayers:e})=>e&&e.toArray().reverse())).toArray();let o=!1;if(this.capabilities&&this.capabilities.operations.supportsExportMap&&this.capabilities.exportMap.supportsDynamicLayers){const e=(0,b.M9)(i.origin);if(3===e){const e=this.createSublayersForOrigin("service").sublayers;o=(0,T.QV)(a,e,2)}else if(e>3){const e=this.createSublayersForOrigin("portal-item");o=(0,T.QV)(a,e.sublayers,(0,b.M9)(e.origin))}}const s=[],n={writeSublayerStructure:o,...i};let l=o;a.forEach((e=>{const t=e.write({},n);s.push(t),l=l||"user"===e.originOf("visible")})),s.some((e=>Object.keys(e).length>1))&&(t.layers=s),l&&(t.visibleLayers=a.filter((e=>e.visible)).map((e=>e.id)))}createExportImageParameters(e,t,r,i){const a=i&&i.pixelRatio||1;e&&this.version>=10&&(e=e.clone().shiftCentralMeridian());const o=new D({layer:this,floors:null==i?void 0:i.floors,scale:(0,v.yZ)({extent:e,width:t})*a}),s=o.toJSON();o.destroy();const n=!i||!i.rotation||this.version<10.3?{}:{rotation:-i.rotation},l=e&&e.spatialReference,p=l.wkid||JSON.stringify(l.toJSON());s.dpi*=a;const c={};if(null!=i&&i.timeExtent){const{start:e,end:t}=i.timeExtent.toJSON();c.time=e&&t&&e===t?""+e:`${null==e?"null":e},${null==t?"null":t}`}else this.timeInfo&&!this.timeInfo.hasLiveData&&(c.time="null,null");return{bbox:e&&e.xmin+","+e.ymin+","+e.xmax+","+e.ymax,bboxSR:p,imageSR:p,size:t+","+r,...s,...n,...c}}async fetchImage(e,t,r,i){var o;const n={responseType:"image",signal:null!=(o=null==i?void 0:i.signal)?o:null,query:{...this.parsedUrl.query,...this.createExportImageParameters(e,t,r,i),f:"image",...this.refreshParameters,...this.customParameters,token:this.apiKey}},l=this.parsedUrl.path+"/export";return null==n.query.dynamicLayers||this.capabilities.exportMap.supportsDynamicLayers?(0,a.default)(l,n).then((e=>e.data)).catch((e=>{if((0,u.D_)(e))throw e;throw new s.Z("mapimagelayer:image-fetch-error",`Unable to load image: ${l}`,{error:e})})):Promise.reject(new s.Z("mapimagelayer:dynamiclayer-not-supported",`service ${this.url} doesn't support dynamic layers, which is required to be able to change the sublayer's order, rendering, labeling or source.`,{query:n.query}))}async fetchRecomputedExtents(e={}){const t={...e,query:{returnUpdates:!0,f:"json",...this.customParameters,token:this.apiKey}},{data:r}=await(0,a.default)(this.url,t),{extent:i,fullExtent:s,timeExtent:n}=r,l=i||s;return{fullExtent:l&&f.Z.fromJSON(l),timeExtent:n&&o.Z.fromJSON({start:n[0],end:n[1]})}}loadAll(){return(0,l.GZ)(this,(e=>{e(this.allSublayers)}))}async _fetchService(e){if(this.sourceJSON)return void this.read(this.sourceJSON,{origin:"service",url:this.parsedUrl});const{data:t,ssl:r}=await(0,a.default)(this.parsedUrl.path,{query:{f:"json",...this.parsedUrl.query,...this.customParameters,token:this.apiKey},signal:e});r&&(this.url=this.url.replace(/^http:/i,"https:")),this.sourceJSON=t,this.read(t,{origin:"service",url:this.parsedUrl})}};(0,i._)([(0,d.Cb)({type:Boolean})],E.prototype,"datesInUnknownTimezone",void 0),(0,i._)([(0,d.Cb)()],E.prototype,"dpi",void 0),(0,i._)([(0,d.Cb)()],E.prototype,"gdbVersion",void 0),(0,i._)([(0,d.Cb)()],E.prototype,"imageFormat",void 0),(0,i._)([(0,y.r)("imageFormat",["supportedImageFormatTypes"])],E.prototype,"readImageFormat",null),(0,i._)([(0,d.Cb)({json:{origins:{service:{read:{source:"maxImageHeight"}}}}})],E.prototype,"imageMaxHeight",void 0),(0,i._)([(0,d.Cb)({json:{origins:{service:{read:{source:"maxImageWidth"}}}}})],E.prototype,"imageMaxWidth",void 0),(0,i._)([(0,d.Cb)()],E.prototype,"imageTransparency",void 0),(0,i._)([(0,d.Cb)({type:Boolean,json:{read:!1,write:{enabled:!0,overridePolicy:()=>({enabled:!1})}}})],E.prototype,"isReference",void 0),(0,i._)([(0,d.Cb)({json:{read:!1,write:!1}})],E.prototype,"labelsVisible",void 0),(0,i._)([(0,d.Cb)({type:["ArcGISMapServiceLayer"]})],E.prototype,"operationalLayerType",void 0),(0,i._)([(0,d.Cb)({json:{read:!1,write:!1}})],E.prototype,"popupEnabled",void 0),(0,i._)([(0,d.Cb)()],E.prototype,"sourceJSON",void 0),(0,i._)([(0,d.Cb)({json:{write:{ignoreOrigin:!0}}})],E.prototype,"sublayers",void 0),(0,i._)([(0,g.c)("sublayers",{layers:{type:[J.Z]},visibleLayers:{type:[h.z8]}})],E.prototype,"writeSublayers",null),(0,i._)([(0,d.Cb)({type:["show","hide","hide-children"]})],E.prototype,"listMode",void 0),(0,i._)([(0,d.Cb)({json:{read:!1},readOnly:!0,value:"map-image"})],E.prototype,"type",void 0),(0,i._)([(0,d.Cb)(U.HQ)],E.prototype,"url",void 0),E=(0,i._)([(0,m.j)("esri.layers.MapImageLayer")],E);const M=E},15235:(e,t,r)=>{r.r(t),r.d(t,{default:()=>I});var i=r(43697),a=r(99880),o=r(20102),s=r(10736),n=r(22974),l=r(83379),p=r(70586),c=r(17452),u=r(5600),d=r(75215),h=r(71715),y=r(52011),m=r(6570),g=r(65587),b=r(15923),f=r(92604),v=(r(67676),r(80442),r(90578));const w=f.Z.getLogger("esri.portal.PortalItemResource");let k=class extends b.Z{constructor(e){super(e),this.portalItem=null}normalizeCtorArgs(e){return e&&e.portalItem&&e.path?{...e,path:this.normalizePath(e.path,e.portalItem)}:e}set path(e){(0,p.pC)(e)&&(0,c.YP)(e)?w.error("portalitemresource:invalid-path","A portal item resource path must be relative"):this._set("path",e)}_castPath(e){return this.normalizePath(e,this.portalItem)}get url(){return this.portalItem&&this.path?`${this.portalItem.itemUrl}/resources/${this.path}`:null}get itemRelativeUrl(){return this.portalItem&&this.path?`./resources/${this.path}`:null}fetch(e="json",t){const r=this.url;if((0,p.Wi)(r))throw new o.Z("portal-item-resource:fetch","Portal item resource does not refer to a valid item or path");return this.portalItem.portal._request(r,{responseType:e,query:{token:this.portalItem.apiKey},signal:(0,p.U2)(t,"signal")})}async update(e,t){return(await r.e(7873).then(r.bind(r,97873))).addOrUpdateResource(this,"update",e,t)}hasPath(){return(0,p.pC)(this.path)}normalizePath(e,t){return(0,p.Wi)(e)?e:(e=e.replace(/^\/+/,""),(0,p.pC)(t)&&(0,c.YP)(e)&&(e=(0,c.PF)(e,t.itemUrl)),e.replace(/^\/+/,"").replace(/^(\.\/)?resources\//,""))}};(0,i._)([(0,u.Cb)()],k.prototype,"portalItem",void 0),(0,i._)([(0,u.Cb)({type:String,value:null})],k.prototype,"path",null),(0,i._)([(0,v.p)("path")],k.prototype,"_castPath",null),(0,i._)([(0,u.Cb)({type:String,readOnly:!0})],k.prototype,"url",null),(0,i._)([(0,u.Cb)({type:String,readOnly:!0})],k.prototype,"itemRelativeUrl",null),k=(0,i._)([(0,y.j)("esri.portal.PortalItemResource")],k);const x=k;let C=class extends b.Z{constructor(e){super(e),this.created=null,this.rating=null}};(0,i._)([(0,u.Cb)()],C.prototype,"created",void 0),(0,i._)([(0,u.Cb)()],C.prototype,"rating",void 0),C=(0,i._)([(0,y.j)("esri.portal.PortalRating")],C);const S=C;var _;let O=_=class extends((0,s.eC)(l.Z)){constructor(e){super(e),this.access=null,this.accessInformation=null,this.apiKey=null,this.applicationProxies=null,this.avgRating=null,this.categories=null,this.created=null,this.culture=null,this.description=null,this.extent=null,this.groupCategories=null,this.id=null,this.itemControl=null,this.licenseInfo=null,this.modified=null,this.name=null,this.numComments=null,this.numRatings=null,this.numViews=null,this.owner=null,this.ownerFolder=null,this.portal=null,this.screenshots=null,this.size=null,this.snippet=null,this.sourceJSON=null,this.tags=null,this.title=null,this.type=null,this.typeKeywords=null,this.url=null}static from(e){return(0,d.TJ)(_,e)}destroy(){this.portal=null}get displayName(){const e=this.type,t=this.typeKeywords||[];let r=e;return"Feature Service"===e||"Feature Collection"===e?r=t.indexOf("Table")>-1?"Table":t.indexOf("Route Layer")>-1?"Route Layer":t.indexOf("Markup")>-1?"Markup":"Feature Layer":"Image Service"===e?r=t.indexOf("Elevation 3D Layer")>-1?"Elevation Layer":t.indexOf("Tiled Imagery")>-1?"Tiled Imagery Layer":"Imagery Layer":"Scene Service"===e?r="Scene Layer":"Scene Package"===e?r="Scene Layer Package":"Stream Service"===e?r="Feature Layer":"Geoprocessing Service"===e&&this.portal&&this.portal.isPortal?r=t.indexOf("Web Tool")>-1?"Tool":"Geoprocessing Service":"Geocoding Service"===e?r="Locator":"Geoenrichment Service"===e?r="GeoEnrichment Service":"Microsoft Powerpoint"===e?r="Microsoft PowerPoint":"GeoJson"===e?r="GeoJSON":"Globe Service"===e?r="Globe Layer":"Vector Tile Service"===e?r="Tile Layer":"netCDF"===e?r="NetCDF":"Map Service"===e?r=-1===t.indexOf("Spatiotemporal")&&(t.indexOf("Hosted Service")>-1||t.indexOf("Tiled")>-1)&&-1===t.indexOf("Relational")?"Tile Layer":"Map Image Layer":e&&e.toLowerCase().indexOf("add in")>-1?r=e.replace(/(add in)/gi,"Add-In"):"datastore catalog service"===e?r="Big Data File Share":"Compact Tile Package"===e?r="Tile Package (tpkx)":"OGCFeatureServer"===e&&(r="OGC Feature Layer"),r}readExtent(e){return e&&e.length?new m.Z(e[0][0],e[0][1],e[1][0],e[1][1]):null}get iconUrl(){const e=this.type&&this.type.toLowerCase()||"",t=this.typeKeywords||[];let r,i=!1,o=!1,s=!1,n=!1,l=!1,p=!1;return e.indexOf("service")>0||"feature collection"===e||"kml"===e||"wms"===e||"wmts"===e||"wfs"===e?(i=t.indexOf("Hosted Service")>-1,"feature service"===e||"feature collection"===e||"kml"===e||"wfs"===e?(o=t.indexOf("Table")>-1,s=t.indexOf("Route Layer")>-1,n=t.indexOf("Markup")>-1,l=-1!==t.indexOf("Spatiotemporal"),p=-1!==t.indexOf("UtilityNetwork"),r=l&&o?"spatiotemporaltable":o?"table":s?"routelayer":n?"markup":l?"spatiotemporal":i?"featureshosted":p?"utilitynetwork":"features"):r="map service"===e||"wms"===e||"wmts"===e?i||t.indexOf("Tiled")>-1||"wmts"===e?"maptiles":"mapimages":"scene service"===e?t.indexOf("Line")>-1?"sceneweblayerline":t.indexOf("3DObject")>-1?"sceneweblayermultipatch":t.indexOf("Point")>-1?"sceneweblayerpoint":t.indexOf("IntegratedMesh")>-1?"sceneweblayermesh":t.indexOf("PointCloud")>-1?"sceneweblayerpointcloud":t.indexOf("Polygon")>-1?"sceneweblayerpolygon":t.indexOf("Building")>-1?"sceneweblayerbuilding":t.indexOf("Voxel")>-1?"sceneweblayervoxel":"sceneweblayer":"image service"===e?t.indexOf("Elevation 3D Layer")>-1?"elevationlayer":t.indexOf("Tiled Imagery")>-1?"tiledimagerylayer":"imagery":"stream service"===e?"streamlayer":"vector tile service"===e?"vectortile":"datastore catalog service"===e?"datastorecollection":"geocoding service"===e?"geocodeservice":"geoprocessing service"===e&&t.indexOf("Web Tool")>-1&&this.portal&&this.portal.isPortal?"tool":"layers"):r="web map"===e||"cityengine web scene"===e?"maps":"web scene"===e?t.indexOf("ViewingMode-Local")>-1?"webscenelocal":"websceneglobal":"web mapping application"===e||"mobile application"===e||"application"===e||"operation view"===e||"desktop application"===e?"apps":"map document"===e||"map package"===e||"published map"===e||"scene document"===e||"globe document"===e||"basemap package"===e||"mobile basemap package"===e||"mobile map package"===e||"project package"===e||"project template"===e||"pro map"===e||"layout"===e||"layer"===e&&t.indexOf("ArcGIS Pro")>-1||"explorer map"===e&&t.indexOf("Explorer Document")?"mapsgray":"service definition"===e||"csv"===e||"shapefile"===e||"cad drawing"===e||"geojson"===e||"360 vr experience"===e||"netcdf"===e||"administrative report"===e?"datafiles":"explorer add in"===e||"desktop add in"===e||"windows viewer add in"===e||"windows viewer configuration"===e?"appsgray":"arcgis pro add in"===e||"arcgis pro configuration"===e?"addindesktop":"rule package"===e||"file geodatabase"===e||"sqlite geodatabase"===e||"csv collection"===e||"kml collection"===e||"windows mobile package"===e||"map template"===e||"desktop application template"===e||"gml"===e||"arcpad package"===e||"code sample"===e||"form"===e||"document link"===e||"earth configuration"===e||"operations dashboard add in"===e||"rules package"===e||"image"===e||"workflow manager package"===e||"explorer map"===e&&t.indexOf("Explorer Mapping Application")>-1||t.indexOf("Document")>-1?"datafilesgray":"network analysis service"===e||"geoprocessing service"===e||"geodata service"===e||"geometry service"===e||"geoprocessing package"===e||"locator package"===e||"geoprocessing sample"===e||"workflow manager service"===e?"toolsgray":"layer"===e||"layer package"===e||"explorer layer"===e?"layersgray":"scene package"===e?"scenepackage":"mobile scene package"===e?"mobilescenepackage":"tile package"===e||"compact tile package"===e?"tilepackage":"task file"===e?"taskfile":"report template"===e?"report-template":"statistical data collection"===e?"statisticaldatacollection":"insights workbook"===e?"workbook":"insights model"===e?"insightsmodel":"insights page"===e?"insightspage":"insights theme"===e?"insightstheme":"hub initiative"===e?"hubinitiative":"hubpage"===e?"hubpage":"hub event"===e?"hubevent":"hub site application"===e?"hubsite":"relational database connection"===e?"relationaldatabaseconnection":"big data file share"===e?"datastorecollection":"image collection"===e?"imagecollection":"style"===e?"style":"desktop style"===e?"desktopstyle":"dashboard"===e?"dashboard":"raster function template"===e?"rasterprocessingtemplate":"vector tile package"===e?"vectortilepackage":"ortho mapping project"===e?"orthomappingproject":"ortho mapping template"===e?"orthomappingtemplate":"solution"===e?"solutions":"geopackage"===e?"geopackage":"deep learning package"===e?"deeplearningpackage":"real time analytic"===e?"realtimeanalytics":"big data analytic"===e?"bigdataanalytics":"feed"===e?"feed":"excalibur imagery project"===e?"excaliburimageryproject":"notebook"===e?"notebook":"storymap"===e?"storymap":"survey123 add in"===e?"survey123addin":"mission"===e?"mission":"mission report"===e?"missionreport":"quickcapture project"===e?"quickcaptureproject":"pro report"===e?"proreport":"urban model"===e?"urbanmodel":"web experience"===e?"experiencebuilder":"web experience template"===e?"webexperiencetemplate":"workflow"===e?"workflow":"insights script"===e?"insightsscript":"kernel gateway connection"===e?"kernelgatewayconnection":"hub initiative template"===e?"hubinitiativetemplate":"storymap theme"===e?"storymaptheme":"knowledge graph"===e?"knowledgegraph":"native application"===e?"nativeapp":"native application installer"===e?"nativeappinstaller":"link chart"===e?"linkchart":"investigation"===e?"investigation":"ogcfeatureserver"===e?"features":"pro project"===e?"proproject":"insights workbook package"===e?"insightsworkbookpackage":"apache parquet"===e?"apacheparquet":"maps",r?(0,a.V)("esri/images/portal/"+r+"16.png"):null}get isLayer(){return["Map Service","Feature Service","Feature Collection","Scene Service","Image Service","Stream Service","Vector Tile Service","WMTS","WMS"].indexOf(this.type)>-1}get itemUrl(){const e=this.get("portal.restUrl");return e?e+"/content/items/"+this.id:null}get thumbnailUrl(){const e=this.itemUrl,t=this.thumbnail;return e&&t?this.portal._normalizeUrl(`${e}/info/${t}?f=json`):null}get userItemUrl(){const e=this.get("portal.restUrl");if(!e)return null;const t=this.owner||this.get("portal.user.username");return t?`${e}/content/users/${this.ownerFolder?`${t}/${this.ownerFolder}`:t}/items/${this.id}`:null}load(e){this.portal||(this.portal=g.Z.getDefault());const t=this.portal.load(e).then((()=>this.sourceJSON?this.sourceJSON:this.id&&this.itemUrl?this.portal._request(this.itemUrl,{signal:(0,p.pC)(e)?e.signal:null,query:{token:this.apiKey}}):{})).then((e=>{this.sourceJSON=e,this.read(e)}));return this.addResolvingPromise(t),Promise.resolve(this)}addRating(e){const t={method:"post",query:{}};return e instanceof S&&(e=e.rating),isNaN(e)||"number"!=typeof e||(t.query.rating=e),this.portal._request(this.itemUrl+"/addRating",t).then((()=>new S({rating:e,created:new Date})))}clone(){const e={access:this.access,accessInformation:this.accessInformation,applicationProxies:(0,n.d9)(this.applicationProxies),avgRating:this.avgRating,categories:(0,n.d9)(this.categories),created:(0,n.d9)(this.created),culture:this.culture,description:this.description,extent:(0,n.d9)(this.extent),groupCategories:(0,n.d9)(this.groupCategories),id:this.id,itemControl:this.itemControl,licenseInfo:this.licenseInfo,modified:(0,n.d9)(this.modified),name:this.name,numComments:this.numComments,numRatings:this.numRatings,numViews:this.numViews,owner:this.owner,ownerFolder:this.ownerFolder,portal:this.portal,screenshots:(0,n.d9)(this.screenshots),size:this.size,snippet:this.snippet,tags:(0,n.d9)(this.tags),thumbnail:this.thumbnail,title:this.title,type:this.type,typeKeywords:(0,n.d9)(this.typeKeywords),url:this.url};return this.loaded&&(e.loadStatus="loaded"),new _({sourceJSON:this.sourceJSON}).set(e)}createPostQuery(){const e=this.toJSON();for(const t in e)"tags"===t&&null!==e[t]&&(e[t]=e[t].join(", ")),"typeKeywords"===t&&null!==e[t]&&(e[t]=e[t].join(", ")),"extent"===t&&e[t]&&(e[t]=JSON.stringify(e[t]));return e}deleteRating(){return this.portal._request(this.itemUrl+"/deleteRating",{method:"post"}).then((()=>{}))}fetchData(e="json",t){return this.portal._request(this.itemUrl+"/data",{responseType:e,...t,query:{token:this.apiKey}})}fetchRating(e){return this.portal._request(this.itemUrl+"/rating",{query:{token:this.apiKey},...e}).then((e=>null!=e.rating?(e.created=new Date(e.created),new S(e)):null))}fetchRelatedItems(e,t){return this.portal._requestToTypedArray(this.itemUrl+"/relatedItems",{query:{...e,token:this.apiKey},...t},_)}getThumbnailUrl(e){let t=this.thumbnailUrl;return t&&e&&(t+=`&w=${e}`),t}reload(){return this.portal._request(this.itemUrl,{cacheBust:!0,query:{token:this.apiKey}}).then((e=>(this.sourceJSON=e,this.read(e),this)))}update(e){return this.id?this.load().then((()=>this.portal._signIn())).then((()=>{const t=e&&e.data,r={method:"post"};r.query=this.createPostQuery();for(const e in r.query)null===r.query[e]&&(r.query[e]="");return r.query.clearEmptyFields=!0,null!=t&&("string"==typeof t?r.query.text=t:"object"==typeof t&&(r.query.text=JSON.stringify(t))),this.portal._request(`${this.userItemUrl}/update`,r).then((()=>this.reload()))})):Promise.reject(new o.Z("portal:item-does-not-exist","The item does not exist yet and cannot be updated"))}updateThumbnail(e){return this.id?this.load().then((()=>this.portal._signIn())).then((()=>{const t=e.thumbnail,r=e.filename,i={method:"post"};if("string"==typeof t)(0,c.HK)(t)?i.query={data:t}:i.query={url:(0,c.hF)(t)},(0,p.pC)(r)&&(i.query.filename=r);else{const e=new FormData;(0,p.pC)(r)?e.append("file",t,r):e.append("file",t),i.body=e}return this.portal._request(`${this.userItemUrl}/updateThumbnail`,i).then((()=>this.reload()))})):Promise.reject(new o.Z("portal:item-does-not-exist","The item does not exist yet and cannot be updated"))}async fetchResources(e={},t){return(await r.e(7873).then(r.bind(r,97873))).fetchResources(this,e,t)}async addResource(e,t,i){const a=await r.e(7873).then(r.bind(r,97873));return e.portalItem=this,a.addOrUpdateResource(e,"add",t,i)}async removeResource(e,t){const i=await r.e(7873).then(r.bind(r,97873));if(e.portalItem&&e.portalItem.itemUrl!==this.itemUrl)throw new o.Z("removeresource:portal-item-mismatch","The portal item associated with the provided resource does not match the item");return i.removeResource(this,e,t)}async removeAllResources(e){return(await r.e(7873).then(r.bind(r,97873))).removeAllResources(this,e)}resourceFromPath(e){return new x({portalItem:this,path:e})}toJSON(){const e=this.extent,t={created:this.created&&this.created.getTime(),description:this.description,extent:e&&[[e.xmin,e.ymin],[e.xmax,e.ymax]],id:this.id,modified:this.modified&&this.modified.getTime(),name:this.name,owner:this.owner,ownerFolder:this.ownerFolder,snippet:this.snippet,tags:this.tags,thumbnail:this.thumbnail,title:this.title,type:this.type,typeKeywords:this.typeKeywords,url:this.url};return(0,n.yd)(t)}static fromJSON(e){if(!e)return null;if(e.declaredClass)throw new Error("JSON object is already hydrated");return new _({sourceJSON:e})}_getPostQuery(){const e=this.toJSON();for(const t in e)"tags"===t&&null!==e[t]&&(e[t]=e[t].join(", ")),"typeKeywords"===t&&null!==e[t]&&(e[t]=e[t].join(", ")),"extent"===t&&e[t]&&(e[t]=JSON.stringify(e[t]));return e}};(0,i._)([(0,u.Cb)({type:["private","shared","org","public"]})],O.prototype,"access",void 0),(0,i._)([(0,u.Cb)()],O.prototype,"accessInformation",void 0),(0,i._)([(0,u.Cb)({type:String})],O.prototype,"apiKey",void 0),(0,i._)([(0,u.Cb)({json:{read:{source:"appProxies"}}})],O.prototype,"applicationProxies",void 0),(0,i._)([(0,u.Cb)()],O.prototype,"avgRating",void 0),(0,i._)([(0,u.Cb)()],O.prototype,"categories",void 0),(0,i._)([(0,u.Cb)({type:Date})],O.prototype,"created",void 0),(0,i._)([(0,u.Cb)()],O.prototype,"culture",void 0),(0,i._)([(0,u.Cb)()],O.prototype,"description",void 0),(0,i._)([(0,u.Cb)({readOnly:!0})],O.prototype,"displayName",null),(0,i._)([(0,u.Cb)({type:m.Z})],O.prototype,"extent",void 0),(0,i._)([(0,h.r)("extent")],O.prototype,"readExtent",null),(0,i._)([(0,u.Cb)()],O.prototype,"groupCategories",void 0),(0,i._)([(0,u.Cb)({readOnly:!0})],O.prototype,"iconUrl",null),(0,i._)([(0,u.Cb)()],O.prototype,"id",void 0),(0,i._)([(0,u.Cb)({readOnly:!0})],O.prototype,"isLayer",null),(0,i._)([(0,u.Cb)()],O.prototype,"itemControl",void 0),(0,i._)([(0,u.Cb)({readOnly:!0})],O.prototype,"itemUrl",null),(0,i._)([(0,u.Cb)()],O.prototype,"licenseInfo",void 0),(0,i._)([(0,u.Cb)({type:Date})],O.prototype,"modified",void 0),(0,i._)([(0,u.Cb)()],O.prototype,"name",void 0),(0,i._)([(0,u.Cb)()],O.prototype,"numComments",void 0),(0,i._)([(0,u.Cb)()],O.prototype,"numRatings",void 0),(0,i._)([(0,u.Cb)()],O.prototype,"numViews",void 0),(0,i._)([(0,u.Cb)()],O.prototype,"owner",void 0),(0,i._)([(0,u.Cb)()],O.prototype,"ownerFolder",void 0),(0,i._)([(0,u.Cb)({type:g.Z})],O.prototype,"portal",void 0),(0,i._)([(0,u.Cb)()],O.prototype,"screenshots",void 0),(0,i._)([(0,u.Cb)()],O.prototype,"size",void 0),(0,i._)([(0,u.Cb)()],O.prototype,"snippet",void 0),(0,i._)([(0,u.Cb)()],O.prototype,"sourceJSON",void 0),(0,i._)([(0,u.Cb)()],O.prototype,"tags",void 0),(0,i._)([(0,u.Cb)()],O.prototype,"thumbnail",void 0),(0,i._)([(0,u.Cb)({readOnly:!0})],O.prototype,"thumbnailUrl",null),(0,i._)([(0,u.Cb)()],O.prototype,"title",void 0),(0,i._)([(0,u.Cb)()],O.prototype,"type",void 0),(0,i._)([(0,u.Cb)()],O.prototype,"typeKeywords",void 0),(0,i._)([(0,u.Cb)()],O.prototype,"url",void 0),(0,i._)([(0,u.Cb)({readOnly:!0})],O.prototype,"userItemUrl",null),O=_=(0,i._)([(0,y.j)("esri.portal.PortalItem")],O);const I=O}}]);