@arcgis/core 5.2.0-next.126 → 5.2.0-next.128

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 (234) hide show
  1. package/WebScene.js +1 -1
  2. package/applications/Components/basemapToggleUtils.d.ts +53 -0
  3. package/applications/Components/basemapToggleUtils.js +2 -0
  4. package/applications/SceneViewer/sceneViewerUtils.d.ts +14 -1
  5. package/applications/SceneViewer/sceneViewerUtils.js +1 -1
  6. package/applications/WebEditor/sketchUtils.js +1 -1
  7. package/arcgisGlobal.d.ts +1 -0
  8. package/assets/esri/core/libs/libtess/libtess-f32.wasm +0 -0
  9. package/assets/esri/core/libs/libtess/libtess-f64.wasm +0 -0
  10. package/assets/esri/core/workers/RemoteClient.js +1 -1
  11. package/assets/esri/core/workers/chunks/{e35eb93c0fb1f6de8db0.js → 00d9e41deecf5828975c.js} +1 -1
  12. package/assets/esri/core/workers/chunks/038d2b80d96237c25b6f.js +1 -0
  13. package/assets/esri/core/workers/chunks/{ab8a1140bf31f46f8ebf.js → 1262918b2161d79851c0.js} +1 -1
  14. package/assets/esri/core/workers/chunks/{d3ef23923424ad8c5048.js → 1c2723f9630e7d597843.js} +1 -1
  15. package/assets/esri/core/workers/chunks/{9ca98fffd43e63d5ade3.js → 1c33aa349beea9a3792f.js} +1 -1
  16. package/assets/esri/core/workers/chunks/{54eeb4cac4fa092359ab.js → 2226c20c38e20713bcb5.js} +2 -2
  17. package/assets/esri/core/workers/chunks/{54eeb4cac4fa092359ab.js.LICENSE.txt → 2226c20c38e20713bcb5.js.LICENSE.txt} +2 -2
  18. package/assets/esri/core/workers/chunks/{4d18451e0ea6ca54101a.js → 2ebad7e588b26e74cefe.js} +1 -1
  19. package/assets/esri/core/workers/chunks/{a8258636096416c837a2.js → 3b7dff15a0058ea29886.js} +1 -1
  20. package/assets/esri/core/workers/chunks/{4716693eca44e8f89f5c.js → 3bf56c33876ba56c4b21.js} +1 -1
  21. package/assets/esri/core/workers/chunks/3c6ee445e49da0076ac1.js +1 -0
  22. package/assets/esri/core/workers/chunks/3f045f09ac95e7f22a97.js +1 -0
  23. package/assets/esri/core/workers/chunks/500f6d6f0ffa235cae85.js +1 -0
  24. package/assets/esri/core/workers/chunks/{56acda1eed3a013430e2.js → 58fb92775d668cfd295c.js} +1 -1
  25. package/assets/esri/core/workers/chunks/{e6637f9176566382ed3e.js → 606cca69eaea84bfcdc6.js} +1 -1
  26. package/assets/esri/core/workers/chunks/{fdbda3d2afea25142b86.js → 6267a1fe1603daa399b4.js} +1 -1
  27. package/assets/esri/core/workers/chunks/{b013b70e40dfb6ce013e.js → 668ec0bdfb2095e90c9e.js} +1 -1
  28. package/assets/esri/core/workers/chunks/{806f96ad09e882be41af.js → 67fd2cdb2e6834bfa710.js} +1 -1
  29. package/assets/esri/core/workers/chunks/{5fe5ef5ccf480634d159.js → 75294f515c7f8393181c.js} +1 -1
  30. package/assets/esri/core/workers/chunks/75879ae88fd87b089a87.js +1 -0
  31. package/assets/esri/core/workers/chunks/761ea719ec1b4d562db2.js +1 -0
  32. package/assets/esri/core/workers/chunks/{24673aac70d6c949b6fa.js → 86d7a3ae672a51b75fcc.js} +1 -1
  33. package/assets/esri/core/workers/chunks/{30604a29df320d7a4c6b.js → 88e11b645a1361f1bdbe.js} +1 -1
  34. package/assets/esri/core/workers/chunks/89dad6c1bfd81e4d7f8e.js +1 -0
  35. package/assets/esri/core/workers/chunks/{8daed13400d9e63e65ae.js → 8a842cde240aef12e417.js} +1 -1
  36. package/assets/esri/core/workers/chunks/{c692e583e87af58f6d91.js → 8b0d6205ceeec1ab446f.js} +1 -1
  37. package/assets/esri/core/workers/chunks/{57ab87e70ef85b9405f9.js → 8cb216404a6254bc695c.js} +1 -0
  38. package/assets/esri/core/workers/chunks/92509dd25996c6390a31.js +1 -0
  39. package/assets/esri/core/workers/chunks/9ccc2c8f7416943cc373.js +29 -0
  40. package/assets/esri/core/workers/chunks/a0a9c41400ae98df1912.js +1 -0
  41. package/assets/esri/core/workers/chunks/{b96358d475dc98034aa4.js → a15ed056e7493ddf3b4c.js} +1 -1
  42. package/assets/esri/core/workers/chunks/{25e212fe9a2ea37c9e81.js → a3a33ffa34f4d645ddfe.js} +1 -1
  43. package/assets/esri/core/workers/chunks/af0704494398f33aa315.js +1 -0
  44. package/assets/esri/core/workers/chunks/{ce1ccf9ec90b786591e5.js → b396c4b4bb144200acc7.js} +1 -1
  45. package/assets/esri/core/workers/chunks/{97602019a1ccad22a03a.js → bbfb80a6983574007ce5.js} +1 -1
  46. package/assets/esri/core/workers/chunks/{d5f72670634e73c0b53a.js → bcf2e5cf6b9c6d0442bb.js} +1 -1
  47. package/assets/esri/core/workers/chunks/{17218d714cb07b607c2f.js → c35e9dee87937f483a3d.js} +1 -1
  48. package/assets/esri/core/workers/chunks/{85739ed6af0f0a3cb302.js → c94bdfed831c775e04c0.js} +1 -1
  49. package/assets/esri/core/workers/chunks/{2e3fd81653dc0d86456c.js → cfeba0ffb7fdc2a9af05.js} +1 -1
  50. package/assets/esri/core/workers/chunks/d1187ad6cc4959683819.js +1 -0
  51. package/assets/esri/core/workers/chunks/d94a2b3b2ef49af9c2e3.js +1 -0
  52. package/assets/esri/core/workers/chunks/{cb7cb7d57c4e7f76600f.js → dc92710a8fdfb9135e55.js} +1 -1
  53. package/assets/esri/core/workers/chunks/ec187933b42fe65594b7.js +1 -0
  54. package/assets/esri/core/workers/chunks/eec5a93dbc258a90b6de.js +1 -0
  55. package/assets/esri/core/workers/chunks/{e1ae83ff3e0225708d4d.js → f479b4a4cee4bb2e046c.js} +1 -1
  56. package/assets/esri/core/workers/chunks/{78abd6c42f39e6f6ffbb.js → f983296b6f4a62a911eb.js} +1 -1
  57. package/assets/esri/images/portal/gaussiansplatlayer16.png +0 -0
  58. package/assets/esri/images/portal/knowledgegraphlayer16.png +0 -0
  59. package/assets/esri/images/portal/propresentation16.png +0 -0
  60. package/assets/esri/images/portal/urbanproject16.png +0 -0
  61. package/assets/esri/images/support/loading-throb.gif +0 -0
  62. package/assets/esri/layers/raster/formats/lerc-wasm.wasm +0 -0
  63. package/assets/esri/themes/base/icons/style.scss +0 -0
  64. package/assets/esri/themes/base/icons/variables.scss +0 -0
  65. package/assets/esri/themes/base/images/files/archive-32.svg +0 -0
  66. package/assets/esri/themes/base/images/files/cad-32.svg +0 -0
  67. package/assets/esri/themes/base/images/files/code-32.svg +0 -0
  68. package/assets/esri/themes/base/images/files/csv-32.svg +0 -0
  69. package/assets/esri/themes/base/images/files/excel-32.svg +0 -0
  70. package/assets/esri/themes/base/images/files/generic-32.svg +0 -0
  71. package/assets/esri/themes/base/images/files/gpx-32.svg +0 -0
  72. package/assets/esri/themes/base/images/files/image-32.svg +0 -0
  73. package/assets/esri/themes/base/images/files/pdf-32.svg +0 -0
  74. package/assets/esri/themes/base/images/files/report-32.svg +0 -0
  75. package/assets/esri/themes/base/images/files/sound-32.svg +0 -0
  76. package/assets/esri/themes/base/images/files/text-32.svg +0 -0
  77. package/assets/esri/themes/base/images/files/video-32.svg +0 -0
  78. package/assets/esri/themes/base/images/files/word-32.svg +0 -0
  79. package/assets/esri/themes/base/images/files/zip-32.svg +0 -0
  80. package/assets/esri/themes/base/images/loading-throb.gif +0 -0
  81. package/assets/esri/themes/base/widgets/_Bookmarks.scss +0 -0
  82. package/assets/esri/themes/base/widgets/_Tooltip.scss +42 -3
  83. package/assets/esri/themes/dark/main.css +1 -1
  84. package/assets/esri/themes/light/main.css +1 -1
  85. package/assets/esri/themes/light/view.css +1 -1
  86. package/assets/esri/views/interactive/tooltip/t9n/messages.en.json +1 -1
  87. package/assets/esri/widgets/BatchAttributeForm/t9n/messages.en.json +1 -1
  88. package/chunks/GlobalIllumination.glsl.js +1 -0
  89. package/config.js +1 -1
  90. package/core/Accessor.d.ts +1 -1
  91. package/core/lang.js +1 -1
  92. package/core/units.js +1 -1
  93. package/geometry/HeightModelInfo.js +1 -1
  94. package/geometry/ellipsoidUtils.js +1 -1
  95. package/geometry/support/heightModelInfoUtils.js +1 -1
  96. package/interfaces.d.ts +1 -0
  97. package/kernel.js +1 -1
  98. package/layers/ElevationLayer.js +1 -1
  99. package/layers/OrientedImageryLayer.js +1 -1
  100. package/layers/ParquetLayer.d.ts +21 -13
  101. package/layers/graphics/controllers/FeatureTileController3D.js +1 -1
  102. package/layers/graphics/dehydratedFeatures.js +1 -1
  103. package/layers/graphics/transferFeatures.js +2 -0
  104. package/layers/mixins/FeatureLayerBase.js +1 -1
  105. package/layers/mixins/HeightModelInfoMixin.js +2 -0
  106. package/layers/mixins/SceneService.js +1 -1
  107. package/layers/orientedImagery/core/ExposurePoint.js +1 -1
  108. package/layers/raster/datasets/RasterFactory.js +1 -1
  109. package/package.json +3 -3
  110. package/popup/FeatureContentCollection.d.ts +15 -25
  111. package/popup/FeatureContentCollection.js +1 -1
  112. package/rest/query/operations/pbfDehydratedFeatureSet.js +1 -1
  113. package/rest/query/operations/pbfFeatureServiceParser.js +1 -1
  114. package/support/revision.js +1 -1
  115. package/symbols/cim/callouts/calloutAnalysisUtils.js +2 -0
  116. package/symbols/cim/callouts/effects/BackgroundCallout.js +1 -1
  117. package/symbols/cim/callouts/effects/BalloonCallout.js +1 -1
  118. package/symbols/cim/callouts/effects/PointSymbolCallout.js +1 -1
  119. package/symbols/cim/callouts/effects/SimpleLineCallout.js +1 -1
  120. package/symbols/cim/callouts/effects/calloutUtils.js +1 -1
  121. package/symbols/cim/cimAnalyzer.js +1 -1
  122. package/views/2d/engine/webgl/ClipMesh.js +1 -1
  123. package/views/2d/engine/webgl/mesh/factories/CalloutMeshWriterCoordinator.js +1 -1
  124. package/views/2d/engine/webgl/mesh/factories/MeshWriterGroupCoordinator.js +1 -1
  125. package/views/2d/engine/webgl/mesh/templates/templateUtils.js +1 -1
  126. package/views/2d/engine/webgl/shaderGraph/techniques/animated/AnimatedMarkerMeshWriter.js +1 -1
  127. package/views/2d/engine/webgl/shaderGraph/techniques/animated/AnimatedPolyMeshWriters.js +1 -1
  128. package/views/2d/engine/webgl/shaderGraph/techniques/fill/AFillMeshWriter.js +1 -1
  129. package/views/2d/engine/webgl/shaderGraph/techniques/fill/ComplexOutlineFillMeshWriter.js +1 -1
  130. package/views/2d/engine/webgl/shaderGraph/techniques/fill/GradientFillMeshWriter.js +1 -1
  131. package/views/2d/engine/webgl/shaderGraph/techniques/fill/OutlineFillMeshWriter.js +1 -1
  132. package/views/2d/engine/webgl/shaderGraph/techniques/fill/PatternFillMeshWriter.js +1 -1
  133. package/views/2d/engine/webgl/shaderGraph/techniques/fill/PatternOutlineFillMeshWriter.js +1 -1
  134. package/views/2d/engine/webgl/shaderGraph/techniques/labels/LabelMeshWriter.js +1 -1
  135. package/views/2d/engine/webgl/shaderGraph/techniques/line/GradientStrokeMeshWriter.js +1 -1
  136. package/views/2d/engine/webgl/shaderGraph/techniques/line/LineMeshWriter.js +1 -1
  137. package/views/2d/engine/webgl/shaderGraph/techniques/line/TexturedLineMeshWriter.js +1 -1
  138. package/views/2d/engine/webgl/shaderGraph/techniques/markers/ComputedMarkerParams.js +1 -1
  139. package/views/2d/engine/webgl/shaderGraph/techniques/markers/MarkerMeshWriter.js +1 -1
  140. package/views/2d/engine/webgl/shaderGraph/techniques/mesh/CalloutMeshWriterPolicy.js +1 -1
  141. package/views/2d/engine/webgl/shaderGraph/techniques/mesh/MeshWriter.js +1 -1
  142. package/views/2d/engine/webgl/shaderGraph/techniques/mesh/MeshWriterReferences.js +1 -1
  143. package/views/2d/engine/webgl/shaderGraph/techniques/text/TextMeshWriter.js +1 -1
  144. package/views/2d/engine/webgl/util/AnnotationMatcher.js +1 -1
  145. package/views/2d/engine/webgl/util/Matcher.js +1 -1
  146. package/views/2d/layers/LayerView2D.js +1 -1
  147. package/views/2d/layers/support/annodime/MatcherGeometryOverride.js +1 -1
  148. package/views/2d/layers/support/annodime/PrivateMatcherGeometryOverrideEffect.js +1 -1
  149. package/views/3d/analysis/LineOfSight/LineOfSightAuthoringUtils.js +1 -1
  150. package/views/3d/analysis/LineOfSight/LineOfSightItemManipulatedObject3D.js +1 -1
  151. package/views/3d/analysis/LineOfSight/LineOfSightItemTool.js +1 -1
  152. package/views/3d/analysis/LineOfSight/LineOfSightPlacementController.js +1 -1
  153. package/views/3d/analysis/LineOfSight/LineOfSightRootPlugin.js +1 -1
  154. package/views/3d/analysis/LineOfSight/LineOfSightTargetPlugin.js +1 -1
  155. package/views/3d/analysis/LineOfSight/lineOfSightPlacementUtils.js +1 -1
  156. package/views/3d/analysis/LineOfSightAnalysisView3D.d.ts +5 -3
  157. package/views/3d/analysis/Viewshed/ViewshedPlacementController.js +1 -1
  158. package/views/3d/analysis/Viewshed/ViewshedPlacementRootPlugin.js +1 -1
  159. package/views/3d/camera/constraintUtils/surfaceCollision.js +1 -1
  160. package/views/3d/camera/intersectionUtils.js +1 -1
  161. package/views/3d/interactive/editingTools/manipulatedObjectUtils.js +1 -1
  162. package/views/3d/interactive/editingTools/move/MoveTool3D.js +1 -1
  163. package/views/3d/interactive/editingTools/tooltipUtils3D.js +1 -1
  164. package/views/3d/layers/I3SMeshView3D.js +1 -1
  165. package/views/3d/layers/graphics/FeatureGraphics3DGraphicsPipeline.js +1 -1
  166. package/views/3d/layers/graphics/Graphics3DCore.js +1 -1
  167. package/views/3d/layers/graphics/Graphics3DFeatureProcessor.js +1 -1
  168. package/views/3d/layers/graphics/Graphics3DGraphic.js +1 -1
  169. package/views/3d/layers/graphics/Graphics3DGraphicsPipeline.js +1 -1
  170. package/views/3d/layers/i3s/I3SClientMaterialUtil.js +1 -1
  171. package/views/3d/layers/support/FeatureMemory.js +2 -0
  172. package/views/3d/layers/support/FeatureTile.js +1 -1
  173. package/views/3d/layers/support/FeatureTileFetcher3D.js +1 -1
  174. package/views/3d/layers/support/featureReference.js +1 -1
  175. package/views/3d/navigation/modes/GroundNavigationMode3D.js +1 -1
  176. package/views/3d/state/Constraints.js +1 -1
  177. package/views/3d/state/helpers/SceneIntersectionHelper.js +1 -1
  178. package/views/3d/state/utils/OffsetCorrectionController.js +1 -1
  179. package/views/3d/state/utils/groundNavigationUtils.js +1 -1
  180. package/views/3d/support/PBFDecoder.js +1 -1
  181. package/views/3d/support/PBFDecoderWorker.js +1 -1
  182. package/views/3d/support/QualityProfile.js +1 -1
  183. package/views/3d/support/popupHitTest.js +1 -1
  184. package/views/3d/terrain/TerrainRenderer.js +1 -1
  185. package/views/3d/terrain/TerrainSurface.js +1 -1
  186. package/views/3d/webgl-engine/lib/TriangleIntersectionData.js +1 -1
  187. package/views/3d/webgl-engine/materials/stippleTextureRepository.js +1 -1
  188. package/views/DOMContainer.d.ts +2 -2
  189. package/views/DOMContainer.js +1 -1
  190. package/views/PopupView.d.ts +1 -1
  191. package/views/SceneView.js +1 -1
  192. package/views/ToolViewManager.js +1 -1
  193. package/views/interactive/options/TooltipVisibleElements.d.ts +11 -1
  194. package/views/interactive/options/TooltipVisibleElements.js +1 -1
  195. package/views/interactive/tooltip/components/ElevationModeSelect.js +2 -0
  196. package/views/interactive/tooltip/components/TooltipEditableField.js +1 -1
  197. package/views/interactive/tooltip/content/TooltipContent.js +1 -1
  198. package/views/interactive/tooltip/infos/DynamicTooltipInfo.js +1 -1
  199. package/views/interactive/tooltip/infos/SketchTooltipInfo.js +1 -1
  200. package/views/support/hitTestSelectUtils.js +1 -1
  201. package/widgets/BasemapToggle/BasemapToggleViewModel.d.ts +1 -0
  202. package/widgets/BasemapToggle/BasemapToggleViewModel.js +1 -1
  203. package/widgets/BasemapToggle.js +1 -1
  204. package/widgets/BatchAttributeForm/inputs/AttachmentElementInput.d.ts +9 -1
  205. package/widgets/BatchAttributeForm/inputs/support/DynamicChoiceController.js +1 -1
  206. package/widgets/BatchAttributeForm.js +1 -1
  207. package/widgets/DirectionalPad/DirectionalPadViewModel.d.ts +1 -0
  208. package/widgets/DirectionalPad/DirectionalPadViewModel.js +1 -1
  209. package/widgets/DirectionalPad.js +1 -1
  210. package/widgets/Editor/UpdateFeatureWorkflow.js +1 -1
  211. package/widgets/Editor/legacy/UpdateFeatureWorkflow.js +1 -1
  212. package/widgets/Editor/workflowUtils.js +1 -1
  213. package/widgets/OrientedImageryViewer/OrientedImageryViewerViewModel.js +1 -1
  214. package/widgets/OrientedImageryViewer/utils.js +1 -1
  215. package/widgets/Popup/types.d.ts +0 -7
  216. package/widgets/Popup.d.ts +7 -7
  217. package/widgets/TimeSlider/TimeSliderViewModel.d.ts +2 -0
  218. package/widgets/TimeSlider/TimeSliderViewModel.js +1 -1
  219. package/widgets/TimeSlider.js +1 -1
  220. package/assets/esri/core/workers/chunks/0a2b7c691a577cb3d189.js +0 -1
  221. package/assets/esri/core/workers/chunks/2146c25c01c9fc11b16c.js +0 -1
  222. package/assets/esri/core/workers/chunks/4678a8170d8a3ccd1a7b.js +0 -1
  223. package/assets/esri/core/workers/chunks/56e97b98dcb8a3f2bcb7.js +0 -1
  224. package/assets/esri/core/workers/chunks/6c3535aa7250c08b9e5b.js +0 -1
  225. package/assets/esri/core/workers/chunks/6e75f09fb9452bd5f9fb.js +0 -1
  226. package/assets/esri/core/workers/chunks/7441d121f00ce747c08e.js +0 -1
  227. package/assets/esri/core/workers/chunks/76548469fe1b9c3b2051.js +0 -1
  228. package/assets/esri/core/workers/chunks/82ce034b5ba54de9b970.js +0 -29
  229. package/assets/esri/core/workers/chunks/ba435cc73956d9c64a11.js +0 -1
  230. package/assets/esri/core/workers/chunks/c77496c350004ee66eb2.js +0 -1
  231. package/assets/esri/core/workers/chunks/d371d9279b30548efa02.js +0 -1
  232. package/assets/esri/core/workers/chunks/dc52e036547612949d32.js +0 -1
  233. package/assets/esri/core/workers/chunks/e5ee64e2fb5bfcb716d8.js +0 -1
  234. package/views/2d/engine/webgl/mesh/bufcut.js +0 -2
@@ -1 +1 @@
1
- "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[1003],{1003(e,t,s){s.r(t),s.d(t,{default:()=>pe});var i=s(49186),n=s(32198),r=s(91429),a=s(49859),o=s(68197),l=s(5443),c=s(16930),f=s(73444),u=s(94778),h=s(14140);function p(e){return["x","e","east","long","longitude"].includes(e.toLowerCase())}function d(e){return["y","n","west","lat","latitude"].includes(e.toLowerCase())}function m(e){const{axes:t}=e.domain,s=Object.keys(t),i=[],n=[];let r=-1,a=-1,o=[];for(let e=0;e<s.length;e++){const l=s[e];p(l)?r=e:d(l)&&(a=e);const c=t[l],f=[];if("values"in c){c.values.forEach(e=>f.push("string"==typeof e?new Date(e).getTime():e));const e=f[1]-f[0];i.push([f[0]-.5*e,f[f.length-1]+.5*e]),n.push(e)}else{const{start:e,stop:t,num:s}=c,r=(t-e)/(s-1);i.push([e-.5*r,t+.5*r]),n.push(r);for(let t=0;t<s;t++)f.push(e+r*t)}o.push({name:l,values:f,extent:[f[0],f[f.length-1]]})}r>-1&&-1===a?a=0===r?1:0:a>-1&&-1===r?r=0===a?1:0:-1===a&&-1===r&&(r=0,a=1),o=o.filter((e,t)=>!(t===r||t===a));const{referencing:f}=e.domain,u=f.find(e=>e.coordinates.includes(s[r])).system.id,h=u?.slice(u.lastIndexOf("/")+1),m=null==h||"CRS84"===h?4326:Number(h),g=new c.A({wkid:m}),[y,x]=i[r],[w,I]=i[a],b=new l.A({xmin:y,xmax:x,ymin:w,ymax:I,spatialReference:g});return{width:Math.round(b.width/n[r]),height:Math.round(b.height/n[a]),extent:b,dimensions:o}}function g(e){const t=(0,f.lR)();return t?e[t]??Object.values(e)[0]:Object.values(e)[0]}function y(){return Math.round(255*Math.random())}function x(e){const t={},{parameters:s}=e;if(!s)return t;for(const[e,i]of Object.entries(s)){const{type:s,description:n,unit:r,categoryEncoding:a,observedProperty:l}=i;if("Parameter"===s&&(t[e]={},n&&(t[e].description=g(n)),r&&(t[e].unit=r.label?g(r.label):null,t[e].symbol=r.symbol?.value),a)){const s=Object.entries(a).map((e,t)=>({OID:t,Value:Number(e[1]),ClassName:e[0].slice(e[0].lastIndexOf("/")+1),Count:1}));let i=!1;l?.categories?.length&&(l.categories.forEach(e=>{if(!e.id)return;const t=e.id.slice(e.id.lastIndexOf("/")+1),n=s.find(e=>e.ClassName===t);if(!n)return;const r=e.label?g(e.label):null;if(n.Label=r,e.preferredColor){const t=o.A.fromHex(e.preferredColor);t&&(i=!0,n.Red=t.r,n.Green=t.g,n.Blue=t.b)}}),i&&s.forEach(e=>{null==e.Red&&(e.Red=y(),e.Green=y(),e.Blue=y())}));const n={objectIdFieldName:"",fields:[{name:"OID",type:"esriFieldTypeOID",alias:"OID",domain:null},{name:"Value",type:"esriFieldTypeInteger",alias:"Value",domain:null},{name:"Count",type:"esriFieldTypeDouble",alias:"Count",domain:null},{name:"ClassName",type:"esriFieldTypeString",alias:"ClassName",domain:null,length:50},{name:"Label",type:"esriFieldTypeString",alias:"Label",domain:null,length:50}],features:s.map(e=>({attributes:e}))};i&&n.fields.push({name:"Red",type:"esriFieldTypeInteger",alias:"Red",domain:null},{name:"Green",type:"esriFieldTypeInteger",alias:"Green",domain:null},{name:"Blue",type:"esriFieldTypeInteger",alias:"Blue",domain:null}),t[e].attributeTable=n}}return t}function w(e){let t=Number.MAX_VALUE,s=-Number.MAX_VALUE;for(let i=0;i<e.length;i++){const n=e[i];null!=n&&(n<t&&(t=n),n>s&&(s=n))}return(0,u.X1)(t,s)}function I(e,t,s){const i=e.map((e,s)=>({name:e,count:t[s]})).sort((e,t)=>e.name>t.name?-1:1),n=(r=1,e=>r*=e.count);var r;const a=[...i.slice(1),{name:"",count:1}].reverse().map(n).reverse();let o=0;for(let n=e.length-1;n>=0;n--)o+=a[i.findIndex(({name:t})=>t===e[n])]*(s%t[n]),s=Math.floor(s/t[n]);return o}var b=s(17676),v=s(4366),C=s(47520),S=s(51927),T=s(45617),A=s(87186);let R=class extends a.A{constructor(){super(...arguments),this.datasetFormat="MEMORY",this.preGenerateTiles=!0,this.source=null}get url(){return""}fetchRawTile(e,t,s,i={}){if(!this._pixelBlockTiles){const{rasterInfo:n}=this,[r,a]=n.storageInfo.tileInfo.size,{sliceId:o}=i,{pixelBlocks:l}=this.source,c={pixelBlock:null==o?l[0]:l[o],useBilinear:"thematic"!==n.dataType,tileSize:{width:r,height:a},level:e,row:t,col:s},f=this.rasterJobHandler?this.rasterJobHandler.clipTile(c,i):(0,C.J$)(c);return Promise.resolve(f)}const n=this._pixelBlockTiles.get(`${e}/${t}/${s}`);return Promise.resolve(n)}async _open(e){const t=this.source,{pixelBlocks:s,attributeTable:i,statistics:n,histograms:r,name:a,nativeExtent:o,transform:f,colormap:u}=t,h=s[0],{width:p,height:d,pixelType:m}=h,g=t.extent??new l.A({xmin:-.5,ymin:.5,xmax:p-.5,ymax:d-.5,spatialReference:new c.A({wkid:3857})}),y=t.isPseudoSpatialReference??!t.extent,x={x:g.width/p,y:g.height/d},w={...t.keyProperties};t.dataType&&(w.DataType=t.dataType),t.bandInfos&&(w.BandProperties=t.bandInfos.map(e=>e.toJSON())),i&&(w.DataType="Thematic");const I=new A.A({width:p,height:d,pixelType:m,extent:g,nativeExtent:o,attributeTable:i,colormap:u,transform:f,pixelSize:x,spatialReference:g.spatialReference,bandCount:h.pixels.length,keyProperties:w,multidimensionalInfo:t.multidimensionalInfo,statistics:n,isPseudoSpatialReference:y,histograms:r});this.ioConfig.skipMapInfo&&this.updateImageSpaceRasterInfo(I),this.createRemoteDatasetStorageInfo(I,512,512),this._set("rasterInfo",I),this.updateTileInfo(),I.multidimensionalInfo?await this._buildMDimStats(t.pixelBlocks,I.multidimensionalInfo):this.preGenerateTiles&&await this._buildInMemoryRaster(h,{width:512,height:512},e),I.multidimensionalInfo||(this.source=null),this.datasetName=a}async _buildInMemoryRaster(e,t,s){const{rasterInfo:n}=this,r=n.storageInfo.maximumPyramidLevel??0,a="thematic"!==n.dataType,o=this.rasterJobHandler?this.rasterJobHandler.split({pixelBlock:e,tileSize:t,maximumPyramidLevel:r,useBilinear:a},s):Promise.resolve((0,C.lD)(e,t,r,a)),l=null!=n.statistics,c=null!=n.histograms,f=this.ioConfig.skipStatistics||l?Promise.resolve({statistics:null,histograms:null}):this.rasterJobHandler?this.rasterJobHandler.estimateStatisticsHistograms({pixelBlock:e},s):Promise.resolve((0,S.f4)(e)),u=await(0,b.Lx)([o,f]);if(!u[0].value&&u[1].value)throw new i.A("inmemory-raster:open","failed to build in memory raster");this._pixelBlockTiles=u[0].value,l||(n.statistics=u[1].value?.statistics),c||(n.histograms=u[1].value?.histograms)}async _buildMDimStats(e,t,s){for(let i=0;i<t.variables.length;i++){const n=t.variables[i];if(n.statistics)continue;const r=n.dimensions.map(e=>new T.A({variableName:n.name,dimensionName:e.name,values:[e.values?.[0]??e.extent?.[0]],isSlice:!0})),a=(0,v.NG)(r,t),o=null==a?null:e[a];if(null==o)continue;const l=this.rasterJobHandler?await this.rasterJobHandler.computeStatisticsHistograms({pixelBlock:o},s):(0,S.eH)(o);n.statistics=l.statistics,n.histograms||(n.histograms=l.histograms)}}};(0,n.Cg)([(0,r.MZ)({type:String,json:{write:!0}})],R.prototype,"datasetFormat",void 0),(0,n.Cg)([(0,r.MZ)({constructOnly:!0})],R.prototype,"preGenerateTiles",void 0),(0,n.Cg)([(0,r.MZ)()],R.prototype,"source",void 0),(0,n.Cg)([(0,r.MZ)()],R.prototype,"url",null),R=(0,n.Cg)([(0,r.$K)("esri.layers.raster.datasets.InMemoryRaster")],R);const M=R;var O=s(22671);let _=class extends a.A{constructor(){super(...arguments),this.datasetFormat="CovJSON"}fetchRawTile(e,t,s,i={}){return this._inMemoryRaster.fetchRawTile(e,t,s,i)}async _open(e){const{extent:t,pixelBlocks:s,multidimensionalInfo:i,attributeTable:n,bandNames:r}=await this._fetchData(e),{statistics:a,histograms:o}=(0,S.eH)(s[0]),l=r?.map(e=>({BandName:e})),c={DataType:n?"Thematic":i?"Scientific":"Generic",BandProperties:l},f=new M({source:{extent:t,pixelBlocks:s,attributeTable:n?O.A.fromJSON(n):null,multidimensionalInfo:i,statistics:a,histograms:o,keyProperties:c,isPseudoSpatialReference:!1}});await f.open(),this._inMemoryRaster=f;const u=this.source?"":this.url.slice(this.url.lastIndexOf("/")+1);this._set("datasetName",u.slice(0,u.indexOf("."))),this._set("rasterInfo",f.rasterInfo)}async _fetchData(e){const t=this.source??(await this.request(this.url,{signal:e?.signal})).data,s="imagery-tile-layer:open-coverage-json";if("coverage"!==t.type?.toLowerCase()||"grid"!==t.domain?.domainType?.toLowerCase())throw new i.A(s,"Only coverage with Grid domain type is supported");if(!t.ranges)throw new i.A(s,"Missing ranges in the grid coverage data");if(!t.domain.referencing?.length)throw new i.A(s,"Missing domain referencing in the grid coverage data");const n=Object.values(t.ranges);for(let e=0;e<n.length;e++){const{axisNames:t,shape:r,type:a,values:o}=n[e];if(!("ndarray"===a.toLowerCase()&&o?.length&&t?.length&&r?.length))throw new i.A(s,"Only ranges with valid NdArray, axisNames, shape, and inline values are supported");if(!p(t[t.length-1])||!d(t[t.length-2]))throw new i.A(s,"Only row-major ordered pixel values are supported. X axis must be the last axis.")}return function(e){const{width:t,height:s,extent:i,dimensions:n}=m(e),{ranges:r}=e,a=Object.keys(r).sort((e,t)=>e<t?-1:1),o=[];for(let e=0;e<a.length;e++){const t=a[e];n?.length&&o.push({name:t,dimensions:n})}const l=x(e);o.forEach(e=>l[e.name]&&Object.assign(e,l[e.name]));const c=o.length?{variables:o}:void 0,f=[];for(let e=0;e<a.length;e++){const i=a[e],{values:o,dataType:l,axisNames:c,shape:u}=r[i],p=u.length>2?e*u.slice(0,-2).reduce((e,t)=>e*t):0,d=c.slice(0,-2),m=u.slice(0,-2),g="float"===l?"f32":w(o),y=t*s,x=o.length/y;for(let i=0;i<x;i++){const r=h.A.createEmptyBand(g,y),a=new Uint8Array(y).fill(255);let l=!1;const c=i*y;for(let e=0;e<y;e++){const t=o[c+e];null==t?(a[e]=0,l=!0):r[e]=t}if(0===e||n?.length){const e=new h.A({width:t,height:s,mask:l?a:null,pixels:[r],pixelType:g});e.updateStatistics(),n?.length?f[I(d,m,i)+p]=e:f.push(e)}else{const e=f[i];e.pixels.push(r),l?e.mask&&(e.mask=h.A.combineBandMasks([e.mask,a])):e.mask=l?a:null}}}const u=Object.values(l).find(e=>e.attributeTable)?.attributeTable;return{extent:i,pixelBlocks:f,multidimensionalInfo:c,attributeTable:u,bandNames:c?void 0:a}}(t)}};(0,n.Cg)([(0,r.MZ)({type:String,json:{write:!0}})],_.prototype,"datasetFormat",void 0),(0,n.Cg)([(0,r.MZ)({constructOnly:!0})],_.prototype,"source",void 0),_=(0,n.Cg)([(0,r.$K)("esri.layers.raster.datasets.CovJSONRaster")],_);const k=_;var F=s(4576),P=s(21325),B=s(330),N=s(43163);function D(e,t){if(!e||!t)return null;const s=[];for(let i=0;i<e.length;i++)s.push(e[i]),s.push(t[i]);return s}function E(e){if(!e)return null;let t=Number(e);if(!isNaN(t)&&0!==t)return new c.A({wkid:t});if(e=String(e).trim(),(0,P.jp)(e))return new c.A({wkt2:e});const s=e.toUpperCase();if(s.startsWith("COMPD_CS")){if(!s.includes("VERTCS")||!s.includes("GEOGCS")&&!s.startsWith("PROJCS"))return null;const i=s.indexOf("VERTCS"),n=s.indexOf("PROJCS"),r=n>-1?n:s.indexOf("GEOGCS");if(-1===r)return null;const a=e.slice(r,e.lastIndexOf("]",i)+1).trim(),o=e.slice(i,e.lastIndexOf("]")).trim();t=L(a);const l=new c.A(t?{wkid:t}:{wkt:a}),f=L(o);return f&&(l.vcsWkid=f),l}return s.startsWith("GEOGCS")||s.startsWith("PROJCS")?(t=L(e),new c.A(0!==t?{wkid:t}:{wkt:e})):null}function L(e){const t=e.replaceAll("]","[").replaceAll('"',"").split("[").map(e=>e.trim()).filter(e=>""!==e),s=t[t.length-1].split(","),i=s[0]?.toLowerCase();if(("epsg"===i||"esri"===i)&&e.endsWith('"]]')){const e=Number(s[1]);if(!isNaN(e)&&0!==e)return e}return 0}function J(e){if("pamdataset"!==e?.documentElement.tagName?.toLowerCase())return{};const t={spatialReference:null,transform:null,metadata:{},rasterBands:[],statistics:null,histograms:null};e.documentElement.childNodes.forEach(e=>{if(1===e.nodeType)if((0,B.g7)(e,"SRS")){if(!t.spatialReference){const s=(0,B.mX)(e);t.spatialReference=E(s)}}else if((0,B.g7)(e,"Metadata"))if("xml:ESRI"===e.getAttribute("domain")){const{spatialReference:s,transform:i}=function(e){const t=(0,B.V6)(e,"GeodataXform"),s=E((0,B.v7)(t,"SpatialReference/WKID")||(0,B.mX)(t,"SpatialReference/WKT"));if("typens:PolynomialXform"!==t.getAttribute("xsi:type"))return{spatialReference:s,transform:null};const i=(0,B.v7)(t,"PolynomialOrder")??1,n=(0,B.Ui)(t,"CoeffX/Double"),r=(0,B.Ui)(t,"CoeffY/Double"),a=(0,B.Ui)(t,"InverseCoeffX/Double"),o=(0,B.Ui)(t,"InverseCoeffY/Double"),l=D(n,r),c=D(a,o);return{spatialReference:s,transform:l&&c&&l.length&&c.length?new N.A({spatialReference:s,polynomialOrder:i,forwardCoefficients:l,inverseCoefficients:c}):null}}(e);t.transform=i,t.spatialReference||(t.spatialReference=s)}else(0,B.IC)(e,"MDI").forEach(e=>t.metadata[e.getAttribute("key")]=(0,B.mX)(e));else if((0,B.g7)(e,"PAMRasterBand")){const s=function(e){const t=(0,B.v7)(e,"NoDataValue"),s=(0,B.V6)(e,"Histograms/HistItem"),i=(0,B.v7)(s,"HistMin"),n=(0,B.v7)(s,"HistMax"),r=(0,B.v7)(s,"BucketCount"),a=(0,B.mX)(s,"HistCounts")?.split("|").map(e=>Number(e));let o,l,c,f;(0,B.IC)(e,"Metadata/MDI").forEach(e=>{const t=Number(e.textContent??e.nodeValue);switch(e.getAttribute("key").toUpperCase()){case"STATISTICS_MINIMUM":o=t;break;case"STATISTICS_MAXIMUM":l=t;break;case"STATISTICS_MEAN":c=t;break;case"STATISTICS_STDDEV":f=t}});const u=(0,B.v7)(e,"Metadata/SourceBandIndex");return{noDataValue:t,histogram:a?.length&&null!=i&&null!=n?{min:i,max:n,size:r||a.length,counts:a}:null,sourceBandIndex:u,statistics:null!=o&&null!=l?{min:o,max:l,avg:c,stddev:f}:null}}(e);null!=s.sourceBandIndex&&null==t.rasterBands[s.sourceBandIndex]?t.rasterBands[s.sourceBandIndex]=s:t.rasterBands.push(s)}});const s=t.rasterBands;if(s.length){const e=!!s[0].statistics;t.statistics=e?s.map(e=>e.statistics).filter(F.Ru):null;const i=!!s[0].histogram;t.histograms=i?s.map(e=>e.histogram).filter(F.Ru):null}return t}var z=s(96271);let H=class extends a.A{set rasterJobHandler(e){this._set("rasterJobHandler",e),this._inMemoryRaster&&(this._inMemoryRaster.rasterJobHandler=e)}fetchRawTile(e,t,s,i={}){if(this._imageBlob){const{blockWidth:i,blockHeight:n}=this.rasterInfo.storageInfo;return this.decodePixelBlock(this._imageBlob,{tileSize:[i,n],tileIndex:[e,t,s],canvasUsage:"canvas-only",cloneSource:!0,skipStatistics:!0})}return this._inMemoryRaster.fetchRawTile(e,t,s,i)}async _open(e){const t=await this._fetchData(e);if(null==t)throw new i.A("image-aux-raster:open","the data cannot be decoded");let{spatialReference:s,statistics:n,histograms:r,transform:a}=await this._fetchAuxiliaryData(e);const o=!s;o&&(s=new c.A({wkid:3857})),r?.length&&null==n&&(n=(0,S.Pg)(r));const{width:f,height:u}=t;let h=new l.A({xmin:-.5,ymin:.5-u,xmax:f-.5,ymax:.5,spatialReference:s});const p=a?a.forwardTransform(h):h;let d=!0;if(a){const e=a.forwardCoefficients;d=e&&0===e[1]&&0===e[2],d&&(a=null,h=p)}const{rasterJobHandler:m,ioConfig:g}=this,y=new M({preGenerateTiles:!1,rasterJobHandler:m,source:{extent:p,nativeExtent:h,transform:a,pixelBlocks:[t],statistics:n,histograms:r,keyProperties:{DateType:"Processed"},isPseudoSpatialReference:o},ioConfig:{...g,sampling:"closest",skipStatistics:!0}});await y.open(),y.source=null,this._set("rasterInfo",y.rasterInfo),this._inMemoryRaster=y}async _fetchData(e){const{data:t}=await this.request(this.url,{responseType:"array-buffer",signal:e?.signal}),s=(0,z.g)(t);if("jpg"!==s&&"png"!==s&&"gif"!==s&&"bmp"!==s)throw new i.A("image-aux-raster:open","the data is not a supported format");this._set("datasetFormat",s.toUpperCase());const n=s.toLowerCase();try{const e=await this.decodePixelBlock(t,{format:n,canvasUsage:"canvas-only",cloneSource:!0,skipStatistics:!0});return this._imageBlob=t,e}catch{return this.decodePixelBlock(t,{format:n,canvasUsage:"no-canvas",skipStatistics:!0})}}async _fetchAuxiliaryData(e){const t=e?.signal,{skipExtensions:s=[],skipMapInfo:i}=this.ioConfig,n=i||s.includes("aux.xml")?null:this.request(this.url+".aux.xml",{responseType:"xml",signal:t}),r=this.datasetFormat,a="JPG"===r?"jgw":"PNG"===r?"pgw":"BMP"===r?"bpw":null,o=a&&s.includes(a)?null:this.request(this.url.slice(0,this.url.lastIndexOf("."))+"."+a,{responseType:"text",signal:t}),l=await(0,b.Lx)([n,o]);if(t?.aborted)throw(0,b.NK)();const c=J(l[0].value?.data);if(!c.transform){const e=l[1].value?l[1].value.data.split("\n").slice(0,6).map(e=>Number(e)):null;c.transform=6===e?.length?new N.A({forwardCoefficients:[e[4],e[5],e[0],-e[1],e[2],-e[3]]}):null}return c}};(0,n.Cg)([(0,r.MZ)({type:String,json:{write:!0}})],H.prototype,"datasetFormat",void 0),(0,n.Cg)([(0,r.MZ)()],H.prototype,"rasterJobHandler",null),H=(0,n.Cg)([(0,r.$K)("esri.layers.raster.datasets.ImageAuxRaster")],H);const U=H;var G=s(97768),q=s(84952),j=s(86738),V=s(75414),W=s(20223),Z=s(87045),X=s(25943),$=s(82371);let Y=class extends a.A{constructor(){super(...arguments),this._levelOffset=0,this._tilemapCache=null,this._slices=null,this.datasetFormat="RasterTileServer",this.tileType=null}async fetchRawTile(e,t,s,i={}){const{storageInfo:n,extent:r}=this.rasterInfo,{transposeInfo:a}=n,o=null!=a&&!!i.transposedVariableName;if(this._slices&&!o&&null==i.sliceId)return null;const l=o?0:n.maximumPyramidLevel-e+this._levelOffset,c=`${this.url}/tile/${l}/${t}/${s}`,f={...this._slices?o?{variable:i.transposedVariableName}:{sliceId:i.sliceId||0}:null,...i.refreshParameters};let u,h;if(n.isBsqTile){const e=(i.bandIds?.length?i.bandIds:[0,1,2]).map(e=>this.request(c,{query:{...f,bandId:e},responseType:"array-buffer",signal:i.signal})),t=await Promise.all(e),s=t.map(e=>e.data.byteLength).reduce((e,t)=>e+t),n=new Uint8Array(s);h=[];let r=0;for(const{data:e}of t)h.push(r),n.set(new Uint8Array(e),r),r+=e.byteLength;u=n.buffer}else u=(await this.request(c,{query:f,responseType:"array-buffer",signal:i.signal})).data;if(!u)return null;const{tileInfo:p}=n,d=o?a.tileSize:p.size,m=/^(mixed|jp)/i.test(p.format),g=await this.decodePixelBlock(u,{width:d[0],height:d[1],planes:h?.length,offsets:h,pixelType:null,isPoint:"Elevation"===this.tileType,returnInterleaved:o,noDataValue:this.rasterInfo.noDataValue,applyJpegMask:m});if(null==g)return null;const y=n.blockBoundary[e];if("jpg"!==n.compression||s>y.minCol&&s<y.maxCol&&t>y.minRow&&t<y.maxRow)return g;const{origin:x,blockWidth:w,blockHeight:I}=n,{x:b,y:v}=this.getPyramidPixelSize(e),S=Math.round((r.xmin-x.x)/b)%w,T=Math.round((r.xmax-x.x)/b)%w||w,A=Math.round((x.y-r.ymax)/v)%I,R=Math.round((x.y-r.ymin)/v)%I||I,M=s===y.minCol?S:0,O=t===y.minRow?A:0,_=s===y.maxCol?T:w,k=t===y.maxRow?R:I;return(0,C.z$)(g,{x:M,y:O},{width:_-M,height:k-O}),g}getSliceIndex(e){if(!this._slices||null==e||0===e.length)return null;const t=e;for(let e=0;e<this._slices.length;e++){const s=this._slices[e].multidimensionalDefinition;if(s.length===t.length&&!s.some(e=>{const s=t.find(t=>e.variableName===t.variableName&&t.dimensionName===e.dimensionName);return!s||(Array.isArray(e.values[0])?`${e.values[0][0]}-${e.values[0][1]}`:e.values[0])!==(Array.isArray(s.values[0])?`${s.values[0][0]}-${s.values[0][1]}`:s.values[0])}))return e}return null}async fetchVariableStatisticsHistograms(e,t){const s=this.request(this.url+"/statistics",{query:{variable:e,f:"json"},signal:t}).then(e=>e.data?.statistics),i=this.request(this.url+"/histograms",{query:{variable:e,f:"json"},signal:t}).then(e=>e.data?.histograms),n=await Promise.all([s,i]);return n[0]&&n[0].forEach(e=>{e.avg=e.mean,e.stddev=e.standardDeviation}),n[1]?.[0]?.counts?.length||(n[1]=null),{statistics:n[0]||null,histograms:n[1]||null}}async computeBestPyramidLevelForLocation(e,t={}){if(!this._tilemapCache)return 0;let s=this.identifyPixelLocation(e,0,t.datumTransformation);if(null===s)return null;let i=0;const{maximumPyramidLevel:n}=this.rasterInfo.storageInfo;let r=n-i+this._levelOffset;const a=s.srcLocation;for(;r>=0;){try{if("available"===await this._tilemapCache.fetchAvailability(r,s.row,s.col,t))break}catch{}if(r--,i++,s=this.identifyPixelLocation(a,i,t.datumTransformation),null===s)return null}return-1===r||null==s?null:i}async _open(e){const t=e?.signal,s=this.sourceJSON?{data:this.sourceJSON}:await this.request(this.url,{query:{f:"json"},signal:t});s.ssl&&(this.url=this.url.replace(/^http:/i,"https:"));const n=s.data;if(this.sourceJSON=n,!n)throw new i.A("imageserverraster:open","cannot initialize tiled image service, missing service info");if(!n.tileInfo)throw new i.A("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"].includes(n.tileInfo.format.toLowerCase())?this.tileType="Map":"lerc"===n.tileInfo.format.toLowerCase()?this.tileType="Elevation":this.tileType="Raster"),this.datasetName=n.name?.slice(n.name.indexOf("/")+1)??"";const r=this.rasterInfo??await this._fetchRasterInfo({signal:t});if(null==r)throw new i.A("image-server-raster:open","cannot initialize image service");(0,$.E9)(r,n);const a="Map"===this.tileType?function(e,t){if(!e)return null;const{minScale:s,maxScale:i,minLOD:n,maxLOD:r}=t;if(null!=n&&null!=r)return Z.A.fromJSON({...e,lods:e.lods.filter(({level:e})=>null!=e&&e>=n&&e<=r)});if(0!==s&&0!==i){const t=e=>Math.round(1e4*e)/1e4,n=s?t(s):1/0,r=i?t(i):-1/0;return Z.A.fromJSON({...e,lods:e.lods.filter(e=>{const s=t(e.scale);return s<=n&&s>=r})})}return Z.A.fromJSON(e)}(n.tileInfo,n):Z.A.fromJSON(n.tileInfo);(0,G.Lw)(a);const[o,l]=this._computeMinMaxLOD(r,a),{extent:c,pixelSize:f}=r,u=.001*Math.min(f.x,f.y);(f.x!==f.y||Math.abs(o.resolution-f.x)>u)&&(f.x=f.y=o.resolution,r.width=Math.ceil((c.xmax-c.xmin)/f.x-.1),r.height=Math.ceil((c.ymax-c.ymin)/f.y-.1));const h=o.level-l.level,[p,d]=a.size,m=[],g=[],{lods:y}=a;y.forEach((e,t)=>{e.level>=l.level&&e.level<=o.level&&m.push({x:e.resolution,y:e.resolution}),t<y.length-1&&g.push(Math.round(10*e.resolution/y[t+1].resolution)/10)}),m.sort((e,t)=>e.x-t.x);const x=this.computeBlockBoundary(c,p,d,a.origin,m,h),w=m.length>1?m.slice(1):null;let I;n.transposeInfo&&(I={tileSize:[n.transposeInfo.rows,n.transposeInfo.cols],packetSize:r.keyProperties?._yxs.PacketSize??0});const b=g.length<=1||g.length>=3&&g.slice(0,-1).every(e=>e===g[0])?g[0]??2:Math.round(10/(l.resolution/o.resolution)**(-1/h))/10,v=!!n.bsq&&"Raster"===this.tileType;if(r.storageInfo=new W.A({blockWidth:a.size[0],blockHeight:a.size[1],pyramidBlockWidth:a.size[0],pyramidBlockHeight:a.size[1],pyramidResolutions:w,pyramidScalingFactor:b,compression:a.format,origin:a.origin,firstPyramidLevel:1,maximumPyramidLevel:h,tileInfo:a,isBsqTile:v,transposeInfo:I,blockBoundary:x}),function(e){const{extent:t,spatialReference:s}=e;t.xmin>-1&&t.xmax>181&&s?.wkid&&s.isGeographic&&(e.nativeExtent=e.extent,e.transform=new V.A,e.extent=e.transform.forwardTransform(t))}(r),this._set("rasterInfo",r),n.capabilities.toLowerCase().includes("tilemap")){const e={tileInfo:r.storageInfo.tileInfo,parsedUrl:(0,q.An)(this.url),url:this.url,tileServers:[]};this._tilemapCache=new X.d({layer:e})}}async _fetchRasterInfo(e){const t=this.sourceJSON;if("Map"===this.tileType){const e=t.fullExtent||t.extent,s=Math.ceil((e.xmax-e.xmin)/t.pixelSizeX-.1),i=Math.ceil((e.ymax-e.ymin)/t.pixelSizeY-.1),n=c.A.fromJSON(t.spatialReference||e.spatialReference),r=new j.A({x:t.pixelSizeX,y:t.pixelSizeY,spatialReference:n});return new A.A({width:s,height:i,bandCount:3,extent:l.A.fromJSON(e),spatialReference:n,pixelSize:r,pixelType:"u8",statistics:null,keyProperties:{DataType:"processed"}})}const s={...e,query:{...this.ioConfig.customFetchParameters,f:"json"}},i=(0,$.Tw)(this.url,this.sourceJSON,s),n=t.hasMultidimensions?this.request(`${this.url}/slices`,s).then(e=>e.data?.slices).catch(()=>null):null,r=await Promise.all([i,n]);return this._slices=r[1],r[0]}_fixScaleInServiceInfo(){const{sourceJSON:e}=this;e.minScale&&e.minScale<0&&(e.minScale=0),e.maxScale&&e.maxScale<0&&(e.maxScale=0)}_computeMinMaxLOD(e,t){const{pixelSize:s}=e,i=.5/e.width*s.x,{lods:n}=t,r=t.lodAt(Math.max.apply(null,n.map(e=>e.level))),a=t.lodAt(Math.min.apply(null,n.map(e=>e.level))),{tileType:o}=this;if("Map"===o)return this._levelOffset=n[0].level,[r,a];if("Raster"===o)return[n.find(e=>e.resolution===s.x)??r,a];const{minScale:l,maxScale:c}=this.sourceJSON;let f=r;c>0&&(f=n.find(e=>Math.abs(e.scale-c)<i),f||(f=n.filter(e=>e.scale>c).sort((e,t)=>e.scale>t.scale?1:-1)[0]??r));let u=a;return l>0&&(u=n.find(e=>Math.abs(e.scale-l)<i)??a,this._levelOffset=u.level-a.level),[f,u]}};(0,n.Cg)([(0,r.MZ)({type:String,json:{write:!0}})],Y.prototype,"datasetFormat",void 0),(0,n.Cg)([(0,r.MZ)()],Y.prototype,"tileType",void 0),Y=(0,n.Cg)([(0,r.$K)("esri.layers.raster.datasets.ImageServerRaster")],Y);const K=Y;var Q=s(10713);const ee=new Map([["byte","u8"],["signedbyte","s8"],["int8","s8"],["uint8","u8"],["int16","s16"],["uint16","u16"],["int32","s32"],["uint32","u32"],["float32","f32"],["float64","f64"],["double64","f64"]]),te=new Map;te.set("none",{blobExtension:".til",isOneSegment:!0,decoderFormat:"bip"}),te.set("lerc",{blobExtension:".lrc",isOneSegment:!1,decoderFormat:"lerc"}),te.set("deflate",{blobExtension:".pzp",isOneSegment:!0,decoderFormat:"deflate"}),te.set("jpeg",{blobExtension:".pjg",isOneSegment:!0,decoderFormat:"jpg"}),te.set("qb3",{blobExtension:".pq3",isOneSegment:!0,decoderFormat:"qb3"});let se=class extends a.A{constructor(){super(...arguments),this._files=null,this._storageIndex=null,this._isBsq=!1,this.datasetFormat="MRF"}async fetchRawTile(e,t,s,i={}){const{blockWidth:n,blockHeight:r,blockBoundary:a}=this.rasterInfo.storageInfo,o=a[e];if(!o||o.maxRow<t||o.maxCol<s||o.minRow>t||o.minCol>s)return null;const{bandCount:l,pixelType:c}=this.rasterInfo,{ranges:f,actualTileWidth:u,actualTileHeight:p}=this._getTileLocation(e,t,s);if(!f||0===f.length)return null;if(f.some(e=>e.from>e.to)){const e=new Uint8Array(n*r);return new h.A({width:n,height:r,pixels:void 0,mask:e,validPixelCount:0})}const{bandIds:d}=this.ioConfig,m=this._getBandSegmentCount(),g=[];let y=0;for(y=0;y<m;y++)d&&!d.includes(y)||g.push(this.request(this._files.data,{range:{from:f[y].from,to:f[y].to},responseType:"array-buffer",signal:i.signal}));const x=await Promise.all(g),w=x.map(e=>e.data.byteLength).reduce((e,t)=>e+t),I=new Uint8Array(w),b=[];let v=0;for(y=0;y<m;y++)b.push(v),I.set(new Uint8Array(x[y].data),v),v+=x[y].data.byteLength;const C=te.get(this.rasterInfo.storageInfo.compression).decoderFormat,S="jpg"===C&&4===l&&1===b.length,T=await this.decodePixelBlock(I.buffer,{width:n,height:r,format:C,planes:d?.length||l,offsets:b,pixelType:c,canvasUsage:S?"no-canvas":void 0,decodeJpegAsRgb:!1}).catch(()=>null);if(null==T)return null;let{noDataValue:A}=this.rasterInfo;if(null!=A&&"lerc"!==C&&!T.mask&&(A=A[0],null!=A)){const e=T.width*T.height,t=new Uint8Array(e);if(Math.abs(A)>1e24)for(y=0;y<e;y++)Math.abs((T.pixels[0][y]-A)/A)>1e-6&&(t[y]=1);else for(y=0;y<e;y++)T.pixels[0][y]!==A&&(t[y]=1);T.mask=t}let R=0,M=0;if(u!==n||p!==r){let e=T.mask;if(e)for(y=0;y<r;y++)if(M=y*n,y<p)for(R=u;R<n;R++)e[M+R]=0;else for(R=0;R<n;R++)e[M+R]=0;else for(e=new Uint8Array(n*r),T.mask=e,y=0;y<p;y++)for(M=y*n,R=0;R<u;R++)e[M+R]=1}return T}async _open(e){this.datasetName=this.url.slice(this.url.lastIndexOf("/")+1);const t=e?e.signal:null,s=await this.request(this.url,{responseType:"xml",signal:t}),{rasterInfo:i,files:n}=this._parseHeader(s.data),{skipMapInfo:r,skipExtensions:a=[]}=this.ioConfig;if(!a.includes("aux.xml")&&!r){const t=await this._fetchAuxiliaryData(e);null!=t&&(i.statistics=t.statistics??i.statistics,i.histograms=t.histograms,t.histograms&&null==i.statistics&&(i.statistics=(0,S.Pg)(t.histograms)))}r&&this.updateImageSpaceRasterInfo(i),this._set("rasterInfo",i),this._files=n;const o=await this.request(n.index,{responseType:"array-buffer",signal:t});this._storageIndex=function(e){if(e.byteLength%16>0)throw new Error("invalid array buffer must be multiples of 16");let t;if(Q.Z){const s=new Uint8Array(e),i=new ArrayBuffer(e.byteLength),n=new Uint8Array(i);for(let t=0;t<e.byteLength/4;t++)for(let e=0;e<4;e++)n[4*t+e]=s[4*t+3-e];t=new Uint32Array(i)}else t=new Uint32Array(e);return t}(o.data);const{blockWidth:l,blockHeight:c}=this.rasterInfo.storageInfo,f=this.rasterInfo.storageInfo.pyramidScalingFactor,{width:u,height:h}=this.rasterInfo,p=[],d=this._getBandSegmentCount();let m=0,g=-1;for(;m<this._storageIndex.length;){g++;const e=Math.ceil(u/l/f**g)-1,t=Math.ceil(h/c/f**g)-1;m+=(e+1)*(t+1)*d*4,p.push({maxRow:t,maxCol:e,minCol:0,minRow:0})}this.rasterInfo.storageInfo.blockBoundary=p,g>0&&(this.rasterInfo.storageInfo.firstPyramidLevel=1,this.rasterInfo.storageInfo.maximumPyramidLevel=g),this.updateTileInfo()}_getBandSegmentCount(){return this._isBsq?this.rasterInfo.bandCount:1}_getTileLocation(e,t,s){const{blockWidth:i,blockHeight:n,pyramidScalingFactor:r}=this.rasterInfo.storageInfo,{width:a,height:o}=this.rasterInfo,l=this._getBandSegmentCount();let c,f,u,h=0,p=0;for(u=0;u<e;u++)p=r**u,c=Math.ceil(a/i/p),f=Math.ceil(o/n/p),h+=c*f;p=r**e,c=Math.ceil(a/i/p),f=Math.ceil(o/n/p),h+=t*c+s,h*=4*l;const d=this._storageIndex.subarray(h,h+4*l);let m=0,g=0;const y=[];for(let e=0;e<l;e++)m=d[4*e]*2**32+d[4*e+1],g=m+d[4*e+2]*2**32+d[4*e+3]-1,y.push({from:m,to:g});return{ranges:y,actualTileWidth:s<c-1?i:Math.ceil(a/p)-i*(c-1),actualTileHeight:t<f-1?n:Math.ceil(o/p)-n*(f-1)}}_parseHeader(e){const t=(0,B.V6)(e,"MRF_META/Raster");if(!t)throw new i.A("mrf:open","not a valid MRF format");const s=(0,B.V6)(t,"Size"),n=parseInt(s.getAttribute("x"),10),r=parseInt(s.getAttribute("y"),10),a=parseInt(s.getAttribute("c"),10),o=((0,B.mX)(t,"Compression")||"none").toLowerCase();if(!te.has(o))throw new i.A("mrf:open","currently does not support compression "+o);const f=(0,B.mX)(t,"DataType")||"UInt8",u=ee.get(f.toLowerCase());if(null==u)throw new i.A("mrf:open","currently does not support pixel type "+f);const h=(0,B.V6)(t,"PageSize"),p=parseInt(h.getAttribute("x"),10),d=parseInt(h.getAttribute("y"),10),m=h.getAttribute("c"),g=m?m===String(a):te.get(o).isOneSegment;this._isBsq=!g;const y=(0,B.V6)(t,"DataValues");let x;if(y){const e=y.getAttribute("NoData");null!=e&&(x=e.trim().split(" ").map(e=>parseFloat(e)))}if((0,B.V6)(e,"MRF_META/CachedSource"))throw new i.A("mrf:open","currently does not support MRF referencing other data files");const w=(0,B.V6)(e,"MRF_META/GeoTags"),I=(0,B.V6)(w,"BoundingBox");let b,v=!1;if(null!=I){const e=parseFloat(I.getAttribute("minx")),t=parseFloat(I.getAttribute("miny")),s=parseFloat(I.getAttribute("maxx")),i=parseFloat(I.getAttribute("maxy")),n=(0,B.mX)(w,"Projection")||"";let r=c.A.WGS84;if("LOCAL_CS[]"!==n)if(n.toLowerCase().startsWith("epsg:")){const e=Number(n.slice(5));isNaN(e)||0===e||(r=new c.A({wkid:e}))}else r=E(n)??c.A.WGS84;else v=!0,r=new c.A({wkid:3857});b=new l.A(e,t,s,i),b.spatialReference=r}else v=!0,b=new l.A({xmin:-.5,ymin:.5-r,xmax:n-.5,ymax:.5,spatialReference:new c.A({wkid:3857})});const C=(0,B.V6)(e,"MRF_META/Rsets"),S=parseInt(C?.getAttribute("scale")||"2",10),T=b.spatialReference,R=new W.A({origin:new j.A({x:b.xmin,y:b.ymax,spatialReference:T}),blockWidth:p,blockHeight:d,pyramidBlockWidth:p,pyramidBlockHeight:d,compression:o,pyramidScalingFactor:S}),M=new j.A({x:b.width/n,y:b.height/r,spatialReference:T}),O=new A.A({width:n,height:r,extent:b,isPseudoSpatialReference:v,spatialReference:T,bandCount:a,pixelType:u,pixelSize:M,noDataValue:x,storageInfo:R}),_=this._getAuxFullPath((0,B.mX)(t,"DataFile")),k=this._getAuxFullPath((0,B.mX)(t,"IndexFile"));return{rasterInfo:O,files:{mrf:this.url,index:k||this.url.replace(".mrf",".idx"),data:_||this.url.replace(".mrf",te.get(o).blobExtension)}}}_getAuxFullPath(e){return e?e.includes("\\")?null:e.includes("/")?e.startsWith(new URL(this.url).origin)?e:null:`${this.url.slice(0,this.url.lastIndexOf("/"))}/${e}`:null}async _fetchAuxiliaryData(e){try{const{data:t}=await this.request(this.url+".aux.xml",{responseType:"xml",signal:e?.signal});return J(t)}catch{return null}}};(0,n.Cg)([(0,r.MZ)()],se.prototype,"_files",void 0),(0,n.Cg)([(0,r.MZ)()],se.prototype,"_storageIndex",void 0),(0,n.Cg)([(0,r.MZ)()],se.prototype,"_isBsq",void 0),(0,n.Cg)([(0,r.MZ)({type:String,json:{write:!0}})],se.prototype,"datasetFormat",void 0),se=(0,n.Cg)([(0,r.$K)("esri.layers.raster.datasets.MRFRaster")],se);const ie=se;s(44208);var ne=s(53966),re=s(9334);function ae(e){const t=e.fields,s=e.records,i=t.some(e=>"oid"===e.name.toLowerCase())?"OBJECTID":"OID",n=[{name:i,type:"esriFieldTypeOID",alias:"OID"}].concat(t.map(e=>({name:e.name,type:"esriFieldType"+e.typeName,alias:e.name}))),r=n.map(e=>e.name),a=[];let o=0,l=0;return s.forEach(e=>{const t={};for(t[i]=o++,l=1;l<r.length;l++)t[r[l]]=e[l-1];a.push({attributes:t})}),{displayFieldName:"",fields:n,features:a}}class oe{static get supportedVersions(){return[5]}static parse(e){const t=new DataView(e),s=3&t.getUint8(0);if(3!==s)return{header:{version:s},recordSet:null};const i=t.getUint32(4,!0),n=t.getUint16(8,!0),r=t.getUint16(10,!0),a={version:s,recordCount:i,headerByteCount:n,recordByteCount:r};let o=32;const l=[],c=[];let f;if(3===s){for(;13!==t.getUint8(o);)f=String.fromCharCode(t.getUint8(o+11)).trim(),l.push({name:(0,re.w)(new Uint8Array(e,o,11)),type:f,typeName:["String","Date","Double","Boolean","String","Integer"][["C","D","F","L","M","N"].indexOf(f)],length:t.getUint8(o+16)}),o+=32;if(o+=1,l.length>0)for(;c.length<i&&e.byteLength-o>r;){const s=[];32===t.getUint8(o)?(o+=1,l.forEach(t=>{if("C"===t.type)s.push((0,re.w)(new Uint8Array(e,o,t.length)).trim());else if("N"===t.type)s.push(parseInt(String.fromCharCode.apply(null,new Uint8Array(e,o,t.length)).trim(),10));else if("F"===t.type)s.push(parseFloat(String.fromCharCode.apply(null,new Uint8Array(e,o,t.length)).trim()));else if("D"===t.type){const i=String.fromCharCode.apply(null,new Uint8Array(e,o,t.length)).trim();s.push(new Date(parseInt(i.slice(0,4),10),parseInt(i.slice(4,6),10)-1,parseInt(i.slice(6,8),10)))}o+=t.length}),c.push(s)):o+=r}}return{header:a,fields:l,records:c,recordSet:ae({fields:l,records:c})}}}var le=s(44094),ce=s(94213);let fe=class extends a.A{constructor(){super(...arguments),this._files=null,this._headerInfo=null,this._bufferSize=1048576,this._chunkSize=10485760,this.datasetFormat="TIFF"}async fetchRawTile(e,t,s,i={}){if(!this._headerInfo?.isSupported||this.isBlockOutside(e,t,s))return null;const n=await this._fetchRawTiffTile(e,t,s,!1,i);if(null!=n&&this._headerInfo.hasMaskBand){const r=await this._fetchRawTiffTile(e,t,s,!0,i);null!=r&&r.pixels[0]instanceof Uint8Array&&(n.mask=r.pixels[0])}return n}async _open(e){const t=e?e.signal:null,{data:s}=await this.request(this.url,{range:{from:0,to:this._bufferSize},responseType:"array-buffer",signal:t});if(!s)throw new i.A("tiffraster:open","failed to open url "+this.url);this.datasetName=this.url.slice(this.url.lastIndexOf("/")+1,this.url.lastIndexOf("."));const{littleEndian:n,firstIFDPos:r,isBigTiff:a}=(0,le.uT)(s),o=[],f={fileChunk:s,posIFD:r,fileOffset:0};await this._readIFDs(o,f,n,a?8:4,t);const{imageInfo:u,rasterInfo:h}=function(e){const t=(0,le.uc)(e),{width:s,height:i,tileWidth:n,tileHeight:r,planes:a,pixelType:o,compression:f,firstPyramidLevel:u,maximumPyramidLevel:h,pyramidBlockWidth:p,pyramidBlockHeight:d,pyramidResolutions:m,tileBoundary:g,affine:y,metadata:x,colormap:w}=t;let I=E(t.extent.spatialReference?.wkt||t.extent.spatialReference?.wkid),b=!!t.isPseudoGeographic;null==I&&(b=!0,I=new c.A({wkid:3857}));const v=new l.A({...t.extent,spatialReference:I}),C=new j.A(v?{x:v.xmin,y:v.ymax,spatialReference:I}:{x:0,y:0}),S=new W.A({blockWidth:n,blockHeight:r,pyramidBlockWidth:p,pyramidBlockHeight:d,compression:f,origin:C,firstPyramidLevel:u,maximumPyramidLevel:h,pyramidResolutions:m,blockBoundary:g}),T=new j.A({x:(v.xmax-v.xmin)/s,y:(v.ymax-v.ymin)/i,spatialReference:I}),R=x?{BandProperties:x.bandProperties,DataType:x.dataType}:{},M=new A.A({width:s,height:i,bandCount:a,pixelType:o,pixelSize:T,storageInfo:S,spatialReference:I,isPseudoSpatialReference:b,keyProperties:R,extent:v,colormap:w,statistics:x?x.statistics:null});if(y?.length&&(M.nativeExtent=new l.A({xmin:-.5,ymin:.5-i,xmax:s-.5,ymax:.5,spatialReference:I}),M.transform=new N.A({polynomialOrder:1,forwardCoefficients:[y[2]+y[0]/2,y[5]-y[3]/2,y[0],y[3],-y[1],-y[4]]}),M.extent=M.transform.forwardTransform(M.nativeExtent),M.pixelSize=new j.A({x:(v.xmax-v.xmin)/s,y:(v.ymax-v.ymin)/i,spatialReference:I}),S.origin.x=-.5,S.origin.y=.5),m){const{x:e,y:t}=M.pixelSize;m.forEach(s=>{s.x*=e,s.y*=t})}return{imageInfo:t,rasterInfo:M}}(o),p=(0,le.zS)(o),d=(0,le.r9)(o);if(this._headerInfo={littleEndian:n,isBigTiff:a,ifds:o,pyramidIFDs:p,maskIFDs:d,...u},this._set("rasterInfo",h),!u.isSupported)throw new i.A("tiffraster:open","this tiff is not supported: "+u.message);if(!u.tileWidth)throw new i.A("tiffraster:open","none-tiled tiff is not optimized for access, convert to COG and retry.");h.isPseudoSpatialReference&&ne.A.getLogger(this).warn("The spatial reference for this tiff is unsupported. Only EPSG spatial reference codes and Esri WKTs are supported.");const m=o[0].get("PREDICTOR")?.values?.[0],g=o[0].get("SAMPLEFORMAT")?.values?.[0];if(3===g&&2===m)throw new i.A("tiffraster:open","unsupported horizontal difference encoding. Predictor=3 is supported for floating point data");const{skipMapInfo:y,skipExtensions:x=[]}=this.ioConfig;if(!x.includes("aux.xml")&&!y){const t=await this._fetchAuxiliaryMetaData(e);null!=t&&function(e,t){if(t.statistics=e.statistics??t.statistics,t.histograms=e.histograms,e.histograms&&null==t.statistics&&(t.statistics=(0,S.Pg)(e.histograms)),e.transform&&null==t.transform){t.transform=e.transform,t.nativeExtent=t.extent;const s=t.transform.forwardTransform(t.nativeExtent);t.pixelSize=new j.A({x:(s.xmax-s.xmin)/t.width,y:(s.ymax-s.ymin)/t.height,spatialReference:t.spatialReference}),t.extent=s}t.isPseudoSpatialReference&&e.spatialReference&&(t.spatialReference=e.spatialReference,t.extent.spatialReference=t.nativeExtent.spatialReference=t.storageInfo.origin.spatialReference=t.spatialReference)}(t,h)}x.includes("vat.dbf")||1!==h.bandCount||"u8"!==h.pixelType||y||(h.attributeTable=await this._fetchAuxiliaryTable(e),null!=h.attributeTable&&(h.keyProperties.DataType="thematic")),y&&this.updateImageSpaceRasterInfo(h),this.updateTileInfo()}async _validateOrFetchHeaderBuffer(e,t){let{fileChunk:s,fileOffset:i,posIFD:n}=e;return(n+8>=s.byteLength||n<0)&&(i=n+i,s=(await this.request(this.url,{range:{from:i,to:i+this._bufferSize},responseType:"array-buffer",signal:t})).data,n=0),{fileChunk:s,fileOffset:i,posIFD:n}}async _readIFDs(e,t,s,n=4,r){if(!t.posIFD)return null;t=await this._validateOrFetchHeaderBuffer(t,r);const a=await this._readIFD(t,s,ce.NB,n,r);if(!a?.ifd)throw new i.A("tiffraster:open","cannot parse tiff header. failed to open url "+this.url);if(e.push(a.ifd),!a.nextIFD)return null;t.posIFD=a.nextIFD-t.fileOffset,await this._readIFDs(e,t,s,n,r)}async _readIFD(e,t,s=ce.NB,i=4,n){let{fileChunk:r,posIFD:a,fileOffset:o}=e;if(!e.fileChunk)return null;const l=(0,le.JM)(r,t,a,o,s,i);if(l.success){const e=[];if(l.ifd?.forEach(t=>{t.values||e.push(t)}),e.length>0&&await this._fillOffsets(e,t,l.nextIFD,n),l.ifd?.has("GEOKEYDIRECTORY")){const e=l.ifd.get("GEOKEYDIRECTORY"),s=e?.values;if(s&&s.length>4){const i=s[0]+"."+s[1]+"."+s[2];a=e.valueOffset+6-o;const l=await this._validateOrFetchHeaderBuffer({fileChunk:r,posIFD:a,fileOffset:o},n),c=await this._readIFD(l,t,ce.YC,2,n);e.data=c?.ifd,e.data&&e.data.set("GEOTIFFVersion",{id:0,type:2,valueCount:1,valueOffset:null,values:[i]})}}return l}return l.requiredBufferSize?(r=(await this.request(this.url,{range:{from:o,to:o+a+l.requiredBufferSize+8},responseType:"array-buffer",signal:n})).data,r.byteLength<a+l.requiredBufferSize?null:(e.fileChunk=r,e.fileOffset=o,this._readIFD(e,t,s,i,n))):null}async _fillOffsets(e,t,s,i){const n=e.filter(e=>null!=e.offlineOffsetSize);if(0===n.length)return;const r=n.map(e=>e.offlineOffsetSize),a=Math.min.apply(null,r.map(e=>e[0])),o=Math.max.apply(null,r.map(e=>e[0]+e[1]));let l=1===r.length||o-a<=this._bufferSize;if(!l&&r.length>1&&(r.sort((e,t)=>e[0]-t[0]),l=r.reduce((e,t)=>e===t[0]?t[0]+t[1]:0,r[0][0])===o),l){const e=await this._fetchOffsets(a,Math.max(o,a+this._bufferSize),i);return void n.forEach(s=>(0,le.Cr)(e,t,s,a))}const c=n.map(async e=>{const s=e.offlineOffsetSize,n=await this._fetchOffsets(s[0],s[1]+s[0],i);(0,le.Cr)(n,t,e,s[0])});await Promise.all(c)}async _fetchOffsets(e,t,s){const i=[],n=this._chunkSize,r=Math.ceil((t-e)/n);let a=e;for(let e=0;e<r;e++)i.push(this.request(this.url,{range:{from:a,to:e===r-1?t:a+n-1},responseType:"array-buffer",signal:s})),a+=n;const o=await Promise.all(i);if(1===r)return o[0].data;const l=new Uint8Array(t-e+1);for(let e=0;e<r;e++)l.set(new Uint8Array(o[e].data),e*n);return l.buffer}async _fetchRawTiffTile(e,t,s,i,n={}){const r=this._getTileLocation(e,t,s,i);if(!r)return null;const{ranges:a,actualTileWidth:o,actualTileHeight:l,ifd:c}=r,f=a.map(e=>this.request(this.url,{range:e,responseType:"array-buffer",signal:n.signal})),u=await Promise.all(f),h=u.map(e=>e.data.byteLength).reduce((e,t)=>e+t),p=1===u.length?u[0].data:new ArrayBuffer(h),d=[0],m=[0];if(u.length>1){const e=new Uint8Array(p);for(let t=0,s=0;t<u.length;t++){const i=u[t].data;e.set(new Uint8Array(i),s),d[t]=s,s+=i.byteLength,m[t]=i.byteLength}}const{blockWidth:g,blockHeight:y}=this.getBlockWidthHeight(e),x=await this.decodePixelBlock(p,{format:"tiff",customOptions:{headerInfo:this._headerInfo,ifd:c,offsets:d,sizes:m},width:g,height:y,planes:null,pixelType:null});if(null==x)return null;if(o!==g||l!==y){let e=x.mask;if(e)for(let t=0;t<y;t++){const s=t*g;if(t<l)for(let t=o;t<g;t++)e[s+t]=0;else for(let t=0;t<g;t++)e[s+t]=0}else{e=new Uint8Array(g*y),x.mask=e;for(let t=0;t<l;t++){const s=t*g;for(let t=0;t<o;t++)e[s+t]=1}}}return x}_getTileLocation(e,t,s,i=!1){const{firstPyramidLevel:n,blockBoundary:r}=this.rasterInfo.storageInfo,a=0===e?0:e-(n-1),{_headerInfo:o}=this;if(!o)return null;const l=i?o.maskIFDs[a]:0===a?o.ifds[0]:o.pyramidIFDs[a-1];if(!l)return null;const c=(0,le.XO)(l,o),f=(0,le.wc)(l,"TILEOFFSETS"),u=(0,le.wc)(l,"TILEBYTECOUNTS");if(!f?.length||!u?.length)return null;const{minRow:h,minCol:p,maxRow:d,maxCol:m}=r[a];if(t>d||s>m||t<h||s<p)return null;const g=(0,le.LZ)(l,"IMAGEWIDTH"),y=(0,le.LZ)(l,"IMAGELENGTH"),x=(0,le.LZ)(l,"TILEWIDTH"),w=(0,le.LZ)(l,"TILELENGTH"),I=[];if(c){const{bandCount:e}=this.rasterInfo;for(let i=0;i<e;i++){const e=i*(d+1)*(m+1)+t*(m+1)+s;I[i]={from:f[e],to:f[e]+u[e]-1}}}else{const e=t*(m+1)+s;I.push({from:f[e],to:f[e]+u[e]-1})}for(let e=0;e<I.length;e++)if(null==I[e].from||!I[e].to||I[e].to<0)return null;return{ranges:I,ifd:l,actualTileWidth:s===m&&g%x||x,actualTileHeight:t===d&&y%w||w}}async _fetchAuxiliaryMetaData(e){try{const{data:t}=await this.request(this.url+".aux.xml",{responseType:"xml",signal:e?.signal});return J(t)}catch{return null}}async _fetchAuxiliaryTable(e){try{const{data:t}=await this.request(this.url+".vat.dbf",{responseType:"array-buffer",signal:e?.signal}),s=oe.parse(t);return s?.recordSet?O.A.fromJSON(s.recordSet):null}catch{return null}}};(0,n.Cg)([(0,r.MZ)()],fe.prototype,"_files",void 0),(0,n.Cg)([(0,r.MZ)()],fe.prototype,"_headerInfo",void 0),(0,n.Cg)([(0,r.MZ)()],fe.prototype,"_bufferSize",void 0),(0,n.Cg)([(0,r.MZ)()],fe.prototype,"_chunkSize",void 0),(0,n.Cg)([(0,r.MZ)({type:String,json:{write:!0}})],fe.prototype,"datasetFormat",void 0),fe=(0,n.Cg)([(0,r.$K)("esri.layers.raster.datasets.TIFFRaster")],fe);const ue=fe,he=new Map;he.set("MRF",{desc:"Meta Raster Format",constructor:ie}),he.set("TIFF",{desc:"GeoTIFF",constructor:ue}),he.set("RasterTileServer",{desc:"Raster Tile Server",constructor:K}),he.set("JPG",{desc:"JPG Raster Format",constructor:U}),he.set("PNG",{desc:"PNG Raster Format",constructor:U}),he.set("GIF",{desc:"GIF Raster Format",constructor:U}),he.set("BMP",{desc:"BMP Raster Format",constructor:U}),he.set("CovJSON",{desc:"COVJSON Raster Format",constructor:k}),he.set("MEMORY",{desc:"In Memory Raster Format",constructor:M});class pe{static get supportedFormats(){const e=new Set;return he.forEach((t,s)=>e.add(s)),e}static async open(e){const{url:t,ioConfig:s,source:n,sourceJSON:r}=e;let a=e.datasetFormat??s?.datasetFormat;null==a&&(t.includes(".")?a=t.slice(t.lastIndexOf(".")+1).toUpperCase():"coverage"===n?.type?.toLowerCase()?a="CovJSON":n?.extent&&n.pixelblocks&&(a="MEMORY")),"OVR"===a||"TIF"===a?a="TIFF":"JPG"===a||"JPEG"===a||"JFIF"===a?a="JPG":"COVJSON"===a&&(a="CovJSON"),t.toLowerCase().includes("/imageserver")&&!t.toLowerCase().includes("/wcsserver")&&(a="RasterTileServer");const o={url:t,source:n,sourceJSON:r,datasetFormat:a,ioConfig:s??{bandIds:null,sampling:null}};if(Object.keys(o).forEach(e=>{null==o[e]&&delete o[e]}),a){if(!this.supportedFormats.has(a))throw new i.A("rasterfactory:open","not a supported format "+a);if("CRF"===a)throw new i.A("rasterfactory:open",`cannot open raster: ${t}`);const s=new(0,he.get(a).constructor)(o);return s.rasterJobHandler=e.rasterJobHandler,s.rasterInfo=e.rasterInfo,await s.open({signal:e.signal}),s}const l=Array.from(he.keys()).filter(e=>"CovJSON"!==e&&"Memory"!==e);let c=0;const f=()=>{if(a=l[c++],!a)return null;if("CRF"===a)return null;const t=new(0,he.get(a).constructor)(o);return t.rasterJobHandler=e.rasterJobHandler,t.open({signal:e.signal}).then(()=>t).catch(()=>f())};return f()}static register(e,t,s){he.has(e.toUpperCase())||he.set(e.toUpperCase(),{desc:t,constructor:s})}}},330(e,t,s){function i(e,t){if(!e||!t)return[];let s=t;t.includes("/")?(s=t.slice(0,t.indexOf("/")),t=t.slice(t.indexOf("/")+1)):t="";const n=[];if(t){const r=i(e,s);for(let e=0;e<r.length;e++)i(r[e],t).forEach(e=>n.push(e));return n}const r=e.getElementsByTagNameNS("*",s);if(!r||0===r.length)return[];for(let e=0;e<r.length;e++)n.push(r[e]||r.item(e));return n}function n(e,t){if(!e||!t)return null;let s=t;t.includes("/")?(s=t.slice(0,t.indexOf("/")),t=t.slice(t.indexOf("/")+1)):t="";const r=i(e,s);return r.length>0?t?n(r[0],t):r[0]:null}function r(e,t=null){const s=t?n(e,t):e;let i;return s?(i=s.textContent||s.nodeValue,i?i.trim():null):null}function a(e,t){const s=i(e,t),n=[];let r;for(let e=0;e<s.length;e++)r=s[e].textContent||s[e].nodeValue,r&&(r=r.trim(),""!==r&&n.push(r));return n}function o(e,t=null){const s=r(e,t);return s?.split(" ").map(e=>Number(e))??[]}function l(e,t){return a(e,t).map(e=>Number(e))}function c(e,t){const s=r(e,t);return Number(s)}function f(e,t){const s=e?.nodeName?.toLowerCase(),i=t.toLowerCase();return s.slice(s.lastIndexOf(":")+1)===i}function u(e){return e.nodeName.slice(e.nodeName.lastIndexOf(":")+1)}s.d(t,{Dy:()=>a,IC:()=>i,Ui:()=>l,V6:()=>n,g7:()=>f,mX:()=>r,pN:()=>o,v7:()=>c,vv:()=>u})},10333(e,t,s){s.d(t,{A:()=>a});var i=s(32198),n=s(25482),r=s(91429);let a=class extends n.o{get affectsPixelSize(){return!1}forwardTransform(e){return e}inverseTransform(e){return e}};(0,i.Cg)([(0,r.MZ)()],a.prototype,"affectsPixelSize",null),(0,i.Cg)([(0,r.MZ)({json:{write:!0}})],a.prototype,"spatialReference",void 0),a=(0,i.Cg)([(0,r.$K)("esri.layers.raster.transforms.BaseRasterTransform")],a)},75414(e,t,s){s.d(t,{A:()=>l});var i,n=s(32198),r=s(91429),a=s(10333),o=s(93223);let l=i=class extends a.A{constructor(){super(...arguments),this.type="gcs-shift",this.tolerance=1e-8}forwardTransform(e){return"point"===(e=e.clone()).type?(e.x>180+this.tolerance&&(e.x-=360),e):(e.xmin>=180-this.tolerance?(e.xmax-=360,e.xmin-=360):e.xmax>180+this.tolerance&&(e.xmin=-180,e.xmax=180),e)}inverseTransform(e){return"point"===(e=e.clone()).type?(e.x<-this.tolerance&&(e.x+=360),e):(e.xmin<-this.tolerance&&(e.xmin+=360,e.xmax+=360),e)}clone(){return new i({tolerance:this.tolerance})}};(0,n.Cg)([(0,o.e)({GCSShiftXform:"gcs-shift"})],l.prototype,"type",void 0),(0,n.Cg)([(0,r.MZ)()],l.prototype,"tolerance",void 0),l=i=(0,n.Cg)([(0,r.$K)("esri.layers.raster.transforms.GCSShiftTransform")],l)},43163(e,t,s){s.d(t,{A:()=>d});var i,n=s(32198),r=s(91429),a=s(5443),o=s(86738),l=s(10333),c=s(36005),f=s(43937),u=s(93223);function h(e,t,s){const{x:i,y:n}=t;if(s<2)return{x:e[0]+i*e[2]+n*e[4],y:e[1]+i*e[3]+n*e[5]};if(2===s){const t=i*i,s=n*n,r=i*n;return{x:e[0]+i*e[2]+n*e[4]+t*e[6]+r*e[8]+s*e[10],y:e[1]+i*e[3]+n*e[5]+t*e[7]+r*e[9]+s*e[11]}}const r=i*i,a=n*n,o=i*n,l=r*i,c=r*n,f=i*a,u=n*a;return{x:e[0]+i*e[2]+n*e[4]+r*e[6]+o*e[8]+a*e[10]+l*e[12]+c*e[14]+f*e[16]+u*e[18],y:e[1]+i*e[3]+n*e[5]+r*e[7]+o*e[9]+a*e[11]+l*e[13]+c*e[15]+f*e[17]+u*e[19]}}function p(e,t,s){const{xmin:i,ymin:n,xmax:r,ymax:o,spatialReference:l}=t;let c=[];if(s<2)c.push({x:i,y:o}),c.push({x:r,y:o}),c.push({x:i,y:n}),c.push({x:r,y:n});else{let e=10;for(let t=0;t<e;t++)c.push({x:i,y:n+(o-n)*t/(e-1)}),c.push({x:r,y:n+(o-n)*t/(e-1)});e=8;for(let t=1;t<=e;t++)c.push({x:i+(r-i)*t/e,y:n}),c.push({x:i+(r-i)*t/e,y:o})}c=c.map(t=>h(e,t,s));const f=c.map(e=>e.x),u=c.map(e=>e.y);return new a.A({xmin:Math.min.apply(null,f),xmax:Math.max.apply(null,f),ymin:Math.min.apply(null,u),ymax:Math.max.apply(null,u),spatialReference:l})}let d=i=class extends l.A{constructor(){super(...arguments),this.polynomialOrder=1,this.type="polynomial"}readForwardCoefficients(e,t){const{coeffX:s,coeffY:i}=t;if(!s?.length||!i?.length||s.length!==i.length)return null;const n=[];for(let e=0;e<s.length;e++)n.push(s[e]),n.push(i[e]);return n}writeForwardCoefficients(e,t,s){const i=[],n=[];for(let t=0;t<e?.length;t++)t%2==0?i.push(e[t]):n.push(e[t]);t.coeffX=i,t.coeffY=n}get inverseCoefficients(){let e=this._get("inverseCoefficients");const t=this._get("forwardCoefficients");return!e&&t&&this.polynomialOrder<2&&(e=function(e){const[t,s,i,n,r,a]=e,o=i*a-r*n,l=r*n-i*a;return[(r*s-t*a)/o,(i*s-t*n)/l,a/o,n/l,-r/o,-i/l]}(t)),e}set inverseCoefficients(e){this._set("inverseCoefficients",e)}readInverseCoefficients(e,t){const{inverseCoeffX:s,inverseCoeffY:i}=t;if(!s?.length||!i?.length||s.length!==i.length)return null;const n=[];for(let e=0;e<s.length;e++)n.push(s[e]),n.push(i[e]);return n}writeInverseCoefficients(e,t,s){const i=[],n=[];for(let t=0;t<e?.length;t++)t%2==0?i.push(e[t]):n.push(e[t]);t.inverseCoeffX=i,t.inverseCoeffY=n}get affectsPixelSize(){return this.polynomialOrder>0}forwardTransform(e){if("point"===e.type){const t=h(this.forwardCoefficients,e,this.polynomialOrder);return new o.A({x:t.x,y:t.y,spatialReference:e.spatialReference})}return p(this.forwardCoefficients,e,this.polynomialOrder)}inverseTransform(e){if("point"===e.type){const t=h(this.inverseCoefficients,e,this.polynomialOrder);return new o.A({x:t.x,y:t.y,spatialReference:e.spatialReference})}return p(this.inverseCoefficients,e,this.polynomialOrder)}clone(){return new i({polynomialOrder:this.polynomialOrder,forwardCoefficients:this.forwardCoefficients?[...this.forwardCoefficients]:null,inverseCoefficients:this.inverseCoefficients?[...this.inverseCoefficients]:null})}};(0,n.Cg)([(0,r.MZ)({json:{write:!0}})],d.prototype,"polynomialOrder",void 0),(0,n.Cg)([(0,r.MZ)()],d.prototype,"forwardCoefficients",void 0),(0,n.Cg)([(0,c.w)("forwardCoefficients",["coeffX","coeffY"])],d.prototype,"readForwardCoefficients",null),(0,n.Cg)([(0,f.K)("forwardCoefficients")],d.prototype,"writeForwardCoefficients",null),(0,n.Cg)([(0,r.MZ)({json:{write:!0}})],d.prototype,"inverseCoefficients",null),(0,n.Cg)([(0,c.w)("inverseCoefficients",["inverseCoeffX","inverseCoeffY"])],d.prototype,"readInverseCoefficients",null),(0,n.Cg)([(0,f.K)("inverseCoefficients")],d.prototype,"writeInverseCoefficients",null),(0,n.Cg)([(0,r.MZ)()],d.prototype,"affectsPixelSize",null),(0,n.Cg)([(0,u.e)({PolynomialXform:"polynomial"})],d.prototype,"type",void 0),d=i=(0,n.Cg)([(0,r.$K)("esri.layers.raster.transforms.PolynomialTransform")],d)}}]);
1
+ "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[1003],{1003(e,t,s){s.r(t),s.d(t,{default:()=>pe});var i=s(49186),n=s(32198),r=s(91429),a=s(49859),o=s(68197),l=s(5443),c=s(16930),f=s(73444),u=s(94778),h=s(14140);function p(e){return["x","e","east","long","longitude"].includes(e.toLowerCase())}function d(e){return["y","n","west","lat","latitude"].includes(e.toLowerCase())}function m(e){const{axes:t}=e.domain,s=Object.keys(t),i=[],n=[];let r=-1,a=-1,o=[];for(let e=0;e<s.length;e++){const l=s[e];p(l)?r=e:d(l)&&(a=e);const c=t[l],f=[];if("values"in c){c.values.forEach(e=>f.push("string"==typeof e?new Date(e).getTime():e));const e=f[1]-f[0];i.push([f[0]-.5*e,f[f.length-1]+.5*e]),n.push(e)}else{const{start:e,stop:t,num:s}=c,r=(t-e)/(s-1);i.push([e-.5*r,t+.5*r]),n.push(r);for(let t=0;t<s;t++)f.push(e+r*t)}o.push({name:l,values:f,extent:[f[0],f[f.length-1]]})}r>-1&&-1===a?a=0===r?1:0:a>-1&&-1===r?r=0===a?1:0:-1===a&&-1===r&&(r=0,a=1),o=o.filter((e,t)=>!(t===r||t===a));const{referencing:f}=e.domain,u=f.find(e=>e.coordinates.includes(s[r])).system.id,h=u?.slice(u.lastIndexOf("/")+1),m=null==h||"CRS84"===h?4326:Number(h),g=new c.A({wkid:m}),[y,x]=i[r],[w,I]=i[a],b=new l.A({xmin:y,xmax:x,ymin:w,ymax:I,spatialReference:g});return{width:Math.round(b.width/n[r]),height:Math.round(b.height/n[a]),extent:b,dimensions:o}}function g(e){const t=(0,f.lR)();return t?e[t]??Object.values(e)[0]:Object.values(e)[0]}function y(){return Math.round(255*Math.random())}function x(e){const t={},{parameters:s}=e;if(!s)return t;for(const[e,i]of Object.entries(s)){const{type:s,description:n,unit:r,categoryEncoding:a,observedProperty:l}=i;if("Parameter"===s&&(t[e]={},n&&(t[e].description=g(n)),r&&(t[e].unit=r.label?g(r.label):null,t[e].symbol=r.symbol?.value),a)){const s=Object.entries(a).map((e,t)=>({OID:t,Value:Number(e[1]),ClassName:e[0].slice(e[0].lastIndexOf("/")+1),Count:1}));let i=!1;l?.categories?.length&&(l.categories.forEach(e=>{if(!e.id)return;const t=e.id.slice(e.id.lastIndexOf("/")+1),n=s.find(e=>e.ClassName===t);if(!n)return;const r=e.label?g(e.label):null;if(n.Label=r,e.preferredColor){const t=o.A.fromHex(e.preferredColor);t&&(i=!0,n.Red=t.r,n.Green=t.g,n.Blue=t.b)}}),i&&s.forEach(e=>{null==e.Red&&(e.Red=y(),e.Green=y(),e.Blue=y())}));const n={objectIdFieldName:"",fields:[{name:"OID",type:"esriFieldTypeOID",alias:"OID",domain:null},{name:"Value",type:"esriFieldTypeInteger",alias:"Value",domain:null},{name:"Count",type:"esriFieldTypeDouble",alias:"Count",domain:null},{name:"ClassName",type:"esriFieldTypeString",alias:"ClassName",domain:null,length:50},{name:"Label",type:"esriFieldTypeString",alias:"Label",domain:null,length:50}],features:s.map(e=>({attributes:e}))};i&&n.fields.push({name:"Red",type:"esriFieldTypeInteger",alias:"Red",domain:null},{name:"Green",type:"esriFieldTypeInteger",alias:"Green",domain:null},{name:"Blue",type:"esriFieldTypeInteger",alias:"Blue",domain:null}),t[e].attributeTable=n}}return t}function w(e){let t=Number.MAX_VALUE,s=-Number.MAX_VALUE;for(let i=0;i<e.length;i++){const n=e[i];null!=n&&(n<t&&(t=n),n>s&&(s=n))}return(0,u.X1)(t,s)}function I(e,t,s){const i=e.map((e,s)=>({name:e,count:t[s]})).sort((e,t)=>e.name>t.name?-1:1),n=(r=1,e=>r*=e.count);var r;const a=[...i.slice(1),{name:"",count:1}].reverse().map(n).reverse();let o=0;for(let n=e.length-1;n>=0;n--)o+=a[i.findIndex(({name:t})=>t===e[n])]*(s%t[n]),s=Math.floor(s/t[n]);return o}var b=s(17676),v=s(4366),C=s(47520),S=s(51927),T=s(45617),A=s(87186);let R=class extends a.A{constructor(){super(...arguments),this.datasetFormat="MEMORY",this.preGenerateTiles=!0,this.source=null}get url(){return""}fetchRawTile(e,t,s,i={}){if(!this._pixelBlockTiles){const{rasterInfo:n}=this,[r,a]=n.storageInfo.tileInfo.size,{sliceId:o}=i,{pixelBlocks:l}=this.source,c={pixelBlock:null==o?l[0]:l[o],useBilinear:"thematic"!==n.dataType,tileSize:{width:r,height:a},level:e,row:t,col:s},f=this.rasterJobHandler?this.rasterJobHandler.clipTile(c,i):(0,C.J$)(c);return Promise.resolve(f)}const n=this._pixelBlockTiles.get(`${e}/${t}/${s}`);return Promise.resolve(n)}async _open(e){const t=this.source,{pixelBlocks:s,attributeTable:i,statistics:n,histograms:r,name:a,nativeExtent:o,transform:f,colormap:u}=t,h=s[0],{width:p,height:d,pixelType:m}=h,g=t.extent??new l.A({xmin:-.5,ymin:.5,xmax:p-.5,ymax:d-.5,spatialReference:new c.A({wkid:3857})}),y=t.isPseudoSpatialReference??!t.extent,x={x:g.width/p,y:g.height/d},w={...t.keyProperties};t.dataType&&(w.DataType=t.dataType),t.bandInfos&&(w.BandProperties=t.bandInfos.map(e=>e.toJSON())),i&&(w.DataType="Thematic");const I=new A.A({width:p,height:d,pixelType:m,extent:g,nativeExtent:o,attributeTable:i,colormap:u,transform:f,pixelSize:x,spatialReference:g.spatialReference,bandCount:h.pixels.length,keyProperties:w,multidimensionalInfo:t.multidimensionalInfo,statistics:n,isPseudoSpatialReference:y,histograms:r});this.ioConfig.skipMapInfo&&this.updateImageSpaceRasterInfo(I),this.createRemoteDatasetStorageInfo(I,512,512),this._set("rasterInfo",I),this.updateTileInfo(),I.multidimensionalInfo?await this._buildMDimStats(t.pixelBlocks,I.multidimensionalInfo):this.preGenerateTiles&&await this._buildInMemoryRaster(h,{width:512,height:512},e),I.multidimensionalInfo||(this.source=null),this.datasetName=a}async _buildInMemoryRaster(e,t,s){const{rasterInfo:n}=this,r=n.storageInfo.maximumPyramidLevel??0,a="thematic"!==n.dataType,o=this.rasterJobHandler?this.rasterJobHandler.split({pixelBlock:e,tileSize:t,maximumPyramidLevel:r,useBilinear:a},s):Promise.resolve((0,C.lD)(e,t,r,a)),l=null!=n.statistics,c=null!=n.histograms,f=this.ioConfig.skipStatistics||l?Promise.resolve({statistics:null,histograms:null}):this.rasterJobHandler?this.rasterJobHandler.estimateStatisticsHistograms({pixelBlock:e},s):Promise.resolve((0,S.f4)(e)),u=await(0,b.Lx)([o,f]);if(!u[0].value&&u[1].value)throw new i.A("inmemory-raster:open","failed to build in memory raster");this._pixelBlockTiles=u[0].value,l||(n.statistics=u[1].value?.statistics),c||(n.histograms=u[1].value?.histograms)}async _buildMDimStats(e,t,s){for(let i=0;i<t.variables.length;i++){const n=t.variables[i];if(n.statistics)continue;const r=n.dimensions.map(e=>new T.A({variableName:n.name,dimensionName:e.name,values:[e.values?.[0]??e.extent?.[0]],isSlice:!0})),a=(0,v.NG)(r,t),o=null==a?null:e[a];if(null==o)continue;const l=this.rasterJobHandler?await this.rasterJobHandler.computeStatisticsHistograms({pixelBlock:o},s):(0,S.eH)(o);n.statistics=l.statistics,n.histograms||(n.histograms=l.histograms)}}};(0,n.Cg)([(0,r.MZ)({type:String,json:{write:!0}})],R.prototype,"datasetFormat",void 0),(0,n.Cg)([(0,r.MZ)({constructOnly:!0})],R.prototype,"preGenerateTiles",void 0),(0,n.Cg)([(0,r.MZ)()],R.prototype,"source",void 0),(0,n.Cg)([(0,r.MZ)()],R.prototype,"url",null),R=(0,n.Cg)([(0,r.$K)("esri.layers.raster.datasets.InMemoryRaster")],R);const M=R;var O=s(22671);let _=class extends a.A{constructor(){super(...arguments),this.datasetFormat="CovJSON"}fetchRawTile(e,t,s,i={}){return this._inMemoryRaster.fetchRawTile(e,t,s,i)}async _open(e){const{extent:t,pixelBlocks:s,multidimensionalInfo:i,attributeTable:n,bandNames:r}=await this._fetchData(e),{statistics:a,histograms:o}=(0,S.eH)(s[0]),l=r?.map(e=>({BandName:e})),c={DataType:n?"Thematic":i?"Scientific":"Generic",BandProperties:l},f=new M({source:{extent:t,pixelBlocks:s,attributeTable:n?O.A.fromJSON(n):null,multidimensionalInfo:i,statistics:a,histograms:o,keyProperties:c,isPseudoSpatialReference:!1}});await f.open(),this._inMemoryRaster=f;const u=this.source?"":this.url.slice(this.url.lastIndexOf("/")+1);this._set("datasetName",u.slice(0,u.indexOf("."))),this._set("rasterInfo",f.rasterInfo)}async _fetchData(e){const t=this.source??(await this.request(this.url,{signal:e?.signal})).data,s="imagery-tile-layer:open-coverage-json";if("coverage"!==t.type?.toLowerCase()||"grid"!==t.domain?.domainType?.toLowerCase())throw new i.A(s,"Only coverage with Grid domain type is supported");if(!t.ranges)throw new i.A(s,"Missing ranges in the grid coverage data");if(!t.domain.referencing?.length)throw new i.A(s,"Missing domain referencing in the grid coverage data");const n=Object.values(t.ranges);for(let e=0;e<n.length;e++){const{axisNames:t,shape:r,type:a,values:o}=n[e];if(!("ndarray"===a.toLowerCase()&&o?.length&&t?.length&&r?.length))throw new i.A(s,"Only ranges with valid NdArray, axisNames, shape, and inline values are supported");if(!p(t[t.length-1])||!d(t[t.length-2]))throw new i.A(s,"Only row-major ordered pixel values are supported. X axis must be the last axis.")}return function(e){const{width:t,height:s,extent:i,dimensions:n}=m(e),{ranges:r}=e,a=Object.keys(r).sort((e,t)=>e<t?-1:1),o=[];for(let e=0;e<a.length;e++){const t=a[e];n?.length&&o.push({name:t,dimensions:n})}const l=x(e);o.forEach(e=>l[e.name]&&Object.assign(e,l[e.name]));const c=o.length?{variables:o}:void 0,f=[];for(let e=0;e<a.length;e++){const i=a[e],{values:o,dataType:l,axisNames:c,shape:u}=r[i],p=u.length>2?e*u.slice(0,-2).reduce((e,t)=>e*t):0,d=c.slice(0,-2),m=u.slice(0,-2),g="float"===l?"f32":w(o),y=t*s,x=o.length/y;for(let i=0;i<x;i++){const r=h.A.createEmptyBand(g,y),a=new Uint8Array(y).fill(255);let l=!1;const c=i*y;for(let e=0;e<y;e++){const t=o[c+e];null==t?(a[e]=0,l=!0):r[e]=t}if(0===e||n?.length){const e=new h.A({width:t,height:s,mask:l?a:null,pixels:[r],pixelType:g});e.updateStatistics(),n?.length?f[I(d,m,i)+p]=e:f.push(e)}else{const e=f[i];e.pixels.push(r),l?e.mask&&(e.mask=h.A.combineBandMasks([e.mask,a])):e.mask=l?a:null}}}const u=Object.values(l).find(e=>e.attributeTable)?.attributeTable;return{extent:i,pixelBlocks:f,multidimensionalInfo:c,attributeTable:u,bandNames:c?void 0:a}}(t)}};(0,n.Cg)([(0,r.MZ)({type:String,json:{write:!0}})],_.prototype,"datasetFormat",void 0),(0,n.Cg)([(0,r.MZ)({constructOnly:!0})],_.prototype,"source",void 0),_=(0,n.Cg)([(0,r.$K)("esri.layers.raster.datasets.CovJSONRaster")],_);const k=_;var F=s(4576),P=s(21325),B=s(330),N=s(43163);function D(e,t){if(!e||!t)return null;const s=[];for(let i=0;i<e.length;i++)s.push(e[i]),s.push(t[i]);return s}function E(e){if(!e)return null;let t=Number(e);if(!isNaN(t)&&0!==t)return new c.A({wkid:t});if(e=String(e).trim(),(0,P.jp)(e))return new c.A({wkt2:e});const s=e.toUpperCase();if(s.startsWith("COMPD_CS")){if(!s.includes("VERTCS")||!s.includes("GEOGCS")&&!s.startsWith("PROJCS"))return null;const i=s.indexOf("VERTCS"),n=s.indexOf("PROJCS"),r=n>-1?n:s.indexOf("GEOGCS");if(-1===r)return null;const a=e.slice(r,e.lastIndexOf("]",i)+1).trim(),o=e.slice(i,e.lastIndexOf("]")).trim();t=L(a);const l=new c.A(t?{wkid:t}:{wkt:a}),f=L(o);return f&&(l.vcsWkid=f),l}return s.startsWith("GEOGCS")||s.startsWith("PROJCS")?(t=L(e),new c.A(0!==t?{wkid:t}:{wkt:e})):null}function L(e){const t=e.replaceAll("]","[").replaceAll('"',"").split("[").map(e=>e.trim()).filter(e=>""!==e),s=t[t.length-1].split(","),i=s[0]?.toLowerCase();if(("epsg"===i||"esri"===i)&&e.endsWith('"]]')){const e=Number(s[1]);if(!isNaN(e)&&0!==e)return e}return 0}function J(e){if("pamdataset"!==e?.documentElement.tagName?.toLowerCase())return{};const t={spatialReference:null,transform:null,metadata:{},rasterBands:[],statistics:null,histograms:null};e.documentElement.childNodes.forEach(e=>{if(1===e.nodeType)if((0,B.g7)(e,"SRS")){if(!t.spatialReference){const s=(0,B.mX)(e);t.spatialReference=E(s)}}else if((0,B.g7)(e,"Metadata"))if("xml:ESRI"===e.getAttribute("domain")){const{spatialReference:s,transform:i}=function(e){const t=(0,B.V6)(e,"GeodataXform"),s=E((0,B.v7)(t,"SpatialReference/WKID")||(0,B.mX)(t,"SpatialReference/WKT"));if("typens:PolynomialXform"!==t.getAttribute("xsi:type"))return{spatialReference:s,transform:null};const i=(0,B.v7)(t,"PolynomialOrder")??1,n=(0,B.Ui)(t,"CoeffX/Double"),r=(0,B.Ui)(t,"CoeffY/Double"),a=(0,B.Ui)(t,"InverseCoeffX/Double"),o=(0,B.Ui)(t,"InverseCoeffY/Double"),l=D(n,r),c=D(a,o);return{spatialReference:s,transform:l&&c&&l.length&&c.length?new N.A({spatialReference:s,polynomialOrder:i,forwardCoefficients:l,inverseCoefficients:c}):null}}(e);t.transform=i,t.spatialReference||(t.spatialReference=s)}else(0,B.IC)(e,"MDI").forEach(e=>t.metadata[e.getAttribute("key")]=(0,B.mX)(e));else if((0,B.g7)(e,"PAMRasterBand")){const s=function(e){const t=(0,B.v7)(e,"NoDataValue"),s=(0,B.V6)(e,"Histograms/HistItem"),i=(0,B.v7)(s,"HistMin"),n=(0,B.v7)(s,"HistMax"),r=(0,B.v7)(s,"BucketCount"),a=(0,B.mX)(s,"HistCounts")?.split("|").map(e=>Number(e));let o,l,c,f;(0,B.IC)(e,"Metadata/MDI").forEach(e=>{const t=Number(e.textContent??e.nodeValue);switch(e.getAttribute("key").toUpperCase()){case"STATISTICS_MINIMUM":o=t;break;case"STATISTICS_MAXIMUM":l=t;break;case"STATISTICS_MEAN":c=t;break;case"STATISTICS_STDDEV":f=t}});const u=(0,B.v7)(e,"Metadata/SourceBandIndex");return{noDataValue:t,histogram:a?.length&&null!=i&&null!=n?{min:i,max:n,size:r||a.length,counts:a}:null,sourceBandIndex:u,statistics:null!=o&&null!=l?{min:o,max:l,avg:c,stddev:f}:null}}(e);null!=s.sourceBandIndex&&null==t.rasterBands[s.sourceBandIndex]?t.rasterBands[s.sourceBandIndex]=s:t.rasterBands.push(s)}});const s=t.rasterBands;if(s.length){const e=!!s[0].statistics;t.statistics=e?s.map(e=>e.statistics).filter(F.Ru):null;const i=!!s[0].histogram;t.histograms=i?s.map(e=>e.histogram).filter(F.Ru):null}return t}var z=s(96271);let H=class extends a.A{set rasterJobHandler(e){this._set("rasterJobHandler",e),this._inMemoryRaster&&(this._inMemoryRaster.rasterJobHandler=e)}fetchRawTile(e,t,s,i={}){if(this._imageBlob){const{blockWidth:i,blockHeight:n}=this.rasterInfo.storageInfo;return this.decodePixelBlock(this._imageBlob,{tileSize:[i,n],tileIndex:[e,t,s],canvasUsage:"canvas-only",cloneSource:!0,skipStatistics:!0})}return this._inMemoryRaster.fetchRawTile(e,t,s,i)}async _open(e){const t=await this._fetchData(e);if(null==t)throw new i.A("image-aux-raster:open","the data cannot be decoded");let{spatialReference:s,statistics:n,histograms:r,transform:a}=await this._fetchAuxiliaryData(e);const o=!s;o&&(s=new c.A({wkid:3857})),r?.length&&null==n&&(n=(0,S.Pg)(r));const{width:f,height:u}=t;let h=new l.A({xmin:-.5,ymin:.5-u,xmax:f-.5,ymax:.5,spatialReference:s});const p=a?a.forwardTransform(h):h;let d=!0;if(a){const e=a.forwardCoefficients;d=e&&0===e[1]&&0===e[2],d&&(a=null,h=p)}const{rasterJobHandler:m,ioConfig:g}=this,y=new M({preGenerateTiles:!1,rasterJobHandler:m,source:{extent:p,nativeExtent:h,transform:a,pixelBlocks:[t],statistics:n,histograms:r,keyProperties:{DateType:"Processed"},isPseudoSpatialReference:o},ioConfig:{...g,sampling:"closest",skipStatistics:!0}});await y.open(),y.source=null,this._set("rasterInfo",y.rasterInfo),this._inMemoryRaster=y}async _fetchData(e){const{data:t}=await this.request(this.url,{responseType:"array-buffer",signal:e?.signal}),s=(0,z.g)(t);if("jpg"!==s&&"png"!==s&&"gif"!==s&&"bmp"!==s)throw new i.A("image-aux-raster:open","the data is not a supported format");this._set("datasetFormat",s.toUpperCase());const n=s.toLowerCase();try{const e=await this.decodePixelBlock(t,{format:n,canvasUsage:"canvas-only",cloneSource:!0,skipStatistics:!0});return this._imageBlob=t,e}catch{return this.decodePixelBlock(t,{format:n,canvasUsage:"no-canvas",skipStatistics:!0})}}async _fetchAuxiliaryData(e){const t=e?.signal,{skipExtensions:s=[],skipMapInfo:i}=this.ioConfig,n=i||s.includes("aux.xml")?null:this.request(this.url+".aux.xml",{responseType:"xml",signal:t}),r=this.datasetFormat,a="JPG"===r?"jgw":"PNG"===r?"pgw":"BMP"===r?"bpw":null,o=a&&s.includes(a)?null:this.request(this.url.slice(0,this.url.lastIndexOf("."))+"."+a,{responseType:"text",signal:t}),l=await(0,b.Lx)([n,o]);if(t?.aborted)throw(0,b.NK)();const c=J(l[0].value?.data);if(!c.transform){const e=l[1].value?l[1].value.data.split("\n").slice(0,6).map(e=>Number(e)):null;c.transform=6===e?.length?new N.A({forwardCoefficients:[e[4],e[5],e[0],-e[1],e[2],-e[3]]}):null}return c}};(0,n.Cg)([(0,r.MZ)({type:String,json:{write:!0}})],H.prototype,"datasetFormat",void 0),(0,n.Cg)([(0,r.MZ)()],H.prototype,"rasterJobHandler",null),H=(0,n.Cg)([(0,r.$K)("esri.layers.raster.datasets.ImageAuxRaster")],H);const U=H;var G=s(97768),q=s(84952),j=s(86738),V=s(75414),W=s(20223),Z=s(87045),X=s(25943),$=s(82371);let Y=class extends a.A{constructor(){super(...arguments),this._levelOffset=0,this._tilemapCache=null,this._slices=null,this.datasetFormat="RasterTileServer",this.tileType=null}async fetchRawTile(e,t,s,i={}){const{storageInfo:n,extent:r}=this.rasterInfo,{transposeInfo:a}=n,o=null!=a&&!!i.transposedVariableName;if(this._slices&&!o&&null==i.sliceId)return null;const l=o?0:n.maximumPyramidLevel-e+this._levelOffset,c=`${this.url}/tile/${l}/${t}/${s}`,f={...this._slices?o?{variable:i.transposedVariableName}:{sliceId:i.sliceId||0}:null,...i.refreshParameters};let u,h;if(n.isBsqTile){const e=(i.bandIds?.length?i.bandIds:[0,1,2]).map(e=>this.request(c,{query:{...f,bandId:e},responseType:"array-buffer",signal:i.signal})),t=await Promise.all(e),s=t.map(e=>e.data.byteLength).reduce((e,t)=>e+t),n=new Uint8Array(s);h=[];let r=0;for(const{data:e}of t)h.push(r),n.set(new Uint8Array(e),r),r+=e.byteLength;u=n.buffer}else u=(await this.request(c,{query:f,responseType:"array-buffer",signal:i.signal})).data;if(!u)return null;const{tileInfo:p}=n,d=o?a.tileSize:p.size,m=/^(mixed|jp)/i.test(p.format),g=await this.decodePixelBlock(u,{width:d[0],height:d[1],planes:h?.length,offsets:h,pixelType:null,isPoint:"Elevation"===this.tileType,returnInterleaved:o,noDataValue:this.rasterInfo.noDataValue,applyJpegMask:m});if(null==g)return null;const y=n.blockBoundary[e];if("jpg"!==n.compression||s>y.minCol&&s<y.maxCol&&t>y.minRow&&t<y.maxRow)return g;const{origin:x,blockWidth:w,blockHeight:I}=n,{x:b,y:v}=this.getPyramidPixelSize(e),S=Math.round((r.xmin-x.x)/b)%w,T=Math.round((r.xmax-x.x)/b)%w||w,A=Math.round((x.y-r.ymax)/v)%I,R=Math.round((x.y-r.ymin)/v)%I||I,M=s===y.minCol?S:0,O=t===y.minRow?A:0,_=s===y.maxCol?T:w,k=t===y.maxRow?R:I;return(0,C.z$)(g,{x:M,y:O},{width:_-M,height:k-O}),g}getSliceIndex(e){if(!this._slices||null==e||0===e.length)return null;const t=e;for(let e=0;e<this._slices.length;e++){const s=this._slices[e].multidimensionalDefinition;if(s.length===t.length&&!s.some(e=>{const s=t.find(t=>e.variableName===t.variableName&&t.dimensionName===e.dimensionName);return!s||(Array.isArray(e.values[0])?`${e.values[0][0]}-${e.values[0][1]}`:e.values[0])!==(Array.isArray(s.values[0])?`${s.values[0][0]}-${s.values[0][1]}`:s.values[0])}))return e}return null}async fetchVariableStatisticsHistograms(e,t){const s=this.request(this.url+"/statistics",{query:{variable:e,f:"json"},signal:t}).then(e=>e.data?.statistics),i=this.request(this.url+"/histograms",{query:{variable:e,f:"json"},signal:t}).then(e=>e.data?.histograms),n=await Promise.all([s,i]);return n[0]&&n[0].forEach(e=>{e.avg=e.mean,e.stddev=e.standardDeviation}),n[1]?.[0]?.counts?.length||(n[1]=null),{statistics:n[0]||null,histograms:n[1]||null}}async computeBestPyramidLevelForLocation(e,t={}){if(!this._tilemapCache)return 0;let s=this.identifyPixelLocation(e,0,t.datumTransformation);if(null===s)return null;let i=0;const{maximumPyramidLevel:n}=this.rasterInfo.storageInfo;let r=n-i+this._levelOffset;const a=s.srcLocation;for(;r>=0;){try{if("available"===await this._tilemapCache.fetchAvailability(r,s.row,s.col,t))break}catch{}if(r--,i++,s=this.identifyPixelLocation(a,i,t.datumTransformation),null===s)return null}return-1===r||null==s?null:i}async _open(e){const t=e?.signal,s=this.sourceJSON?{data:this.sourceJSON}:await this.request(this.url,{query:{f:"json"},signal:t});s.ssl&&(this.url=this.url.replace(/^http:/i,"https:"));const n=s.data;if(this.sourceJSON=n,!n)throw new i.A("imageserverraster:open","cannot initialize tiled image service, missing service info");if(!n.tileInfo)throw new i.A("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"].includes(n.tileInfo.format.toLowerCase())?this.tileType="Map":"lerc"===n.tileInfo.format.toLowerCase()?this.tileType="Elevation":this.tileType="Raster"),this.datasetName=n.name?.slice(n.name.indexOf("/")+1)??"";const r=this.rasterInfo??await this._fetchRasterInfo({signal:t});if(null==r)throw new i.A("image-server-raster:open","cannot initialize image service");(0,$.E9)(r,n);const a="Map"===this.tileType?function(e,t){if(!e)return null;const{minScale:s,maxScale:i,minLOD:n,maxLOD:r}=t;if(null!=n&&null!=r)return Z.A.fromJSON({...e,lods:e.lods.filter(({level:e})=>null!=e&&e>=n&&e<=r)});if(0!==s&&0!==i){const t=e=>Math.round(1e4*e)/1e4,n=s?t(s):1/0,r=i?t(i):-1/0;return Z.A.fromJSON({...e,lods:e.lods.filter(e=>{const s=t(e.scale);return s<=n&&s>=r})})}return Z.A.fromJSON(e)}(n.tileInfo,n):Z.A.fromJSON(n.tileInfo);(0,G.Lw)(a);const[o,l]=this._computeMinMaxLOD(r,a),{extent:c,pixelSize:f}=r,u=.001*Math.min(f.x,f.y);(f.x!==f.y||Math.abs(o.resolution-f.x)>u)&&(f.x=f.y=o.resolution,r.width=Math.ceil((c.xmax-c.xmin)/f.x-.1),r.height=Math.ceil((c.ymax-c.ymin)/f.y-.1));const h=o.level-l.level,[p,d]=a.size,m=[],g=[],{lods:y}=a;y.forEach((e,t)=>{e.level>=l.level&&e.level<=o.level&&m.push({x:e.resolution,y:e.resolution}),t<y.length-1&&g.push(Math.round(10*e.resolution/y[t+1].resolution)/10)}),m.sort((e,t)=>e.x-t.x);const x=this.computeBlockBoundary(c,p,d,a.origin,m,h),w=m.length>1?m.slice(1):null;let I;n.transposeInfo&&(I={tileSize:[n.transposeInfo.rows,n.transposeInfo.cols],packetSize:r.keyProperties?._yxs.PacketSize??0});const b=g.length<=1||g.length>=3&&g.slice(0,-1).every(e=>e===g[0])?g[0]??2:Math.round(10/(l.resolution/o.resolution)**(-1/h))/10,v=!!n.bsq&&"Raster"===this.tileType;if(r.storageInfo=new W.A({blockWidth:a.size[0],blockHeight:a.size[1],pyramidBlockWidth:a.size[0],pyramidBlockHeight:a.size[1],pyramidResolutions:w,pyramidScalingFactor:b,compression:a.format,origin:a.origin,firstPyramidLevel:1,maximumPyramidLevel:h,tileInfo:a,isBsqTile:v,transposeInfo:I,blockBoundary:x}),function(e){const{extent:t,spatialReference:s}=e;t.xmin>-1&&t.xmax>181&&s?.wkid&&s.isGeographic&&(e.nativeExtent=e.extent,e.transform=new V.A,e.extent=e.transform.forwardTransform(t))}(r),this._set("rasterInfo",r),n.capabilities.toLowerCase().includes("tilemap")){const e={tileInfo:r.storageInfo.tileInfo,parsedUrl:(0,q.An)(this.url),url:this.url,tileServers:[]};this._tilemapCache=new X.d({layer:e})}}async _fetchRasterInfo(e){const t=this.sourceJSON;if("Map"===this.tileType){const e=t.fullExtent||t.extent,s=Math.ceil((e.xmax-e.xmin)/t.pixelSizeX-.1),i=Math.ceil((e.ymax-e.ymin)/t.pixelSizeY-.1),n=c.A.fromJSON(t.spatialReference||e.spatialReference),r=new j.A({x:t.pixelSizeX,y:t.pixelSizeY,spatialReference:n});return new A.A({width:s,height:i,bandCount:3,extent:l.A.fromJSON(e),spatialReference:n,pixelSize:r,pixelType:"u8",statistics:null,keyProperties:{DataType:"processed"}})}const s={...e,query:{...this.ioConfig.customFetchParameters,f:"json"}},i=(0,$.Tw)(this.url,this.sourceJSON,s),n=t.hasMultidimensions?this.request(`${this.url}/slices`,s).then(e=>e.data?.slices).catch(()=>null):null,r=await Promise.all([i,n]);return this._slices=r[1],r[0]}_fixScaleInServiceInfo(){const{sourceJSON:e}=this;e.minScale&&e.minScale<0&&(e.minScale=0),e.maxScale&&e.maxScale<0&&(e.maxScale=0)}_computeMinMaxLOD(e,t){const{pixelSize:s}=e,i=.5/e.width*s.x,{lods:n}=t,r=t.lodAt(Math.max.apply(null,n.map(e=>e.level))),a=t.lodAt(Math.min.apply(null,n.map(e=>e.level))),{tileType:o}=this;if("Map"===o)return this._levelOffset=n[0].level,[r,a];if("Raster"===o)return[n.find(e=>e.resolution===s.x)??r,a];const{minScale:l,maxScale:c}=this.sourceJSON;let f=r;c>0&&(f=n.find(e=>Math.abs(e.scale-c)<i),f||(f=n.filter(e=>e.scale>c).sort((e,t)=>e.scale>t.scale?1:-1)[0]??r));let u=a;return l>0&&(u=n.find(e=>Math.abs(e.scale-l)<i)??a,this._levelOffset=u.level-a.level),[f,u]}};(0,n.Cg)([(0,r.MZ)({type:String,json:{write:!0}})],Y.prototype,"datasetFormat",void 0),(0,n.Cg)([(0,r.MZ)()],Y.prototype,"tileType",void 0),Y=(0,n.Cg)([(0,r.$K)("esri.layers.raster.datasets.ImageServerRaster")],Y);const K=Y;var Q=s(10713);const ee=new Map([["byte","u8"],["signedbyte","s8"],["int8","s8"],["uint8","u8"],["int16","s16"],["uint16","u16"],["int32","s32"],["uint32","u32"],["float32","f32"],["float64","f64"],["double64","f64"]]),te=new Map;te.set("none",{blobExtension:".til",isOneSegment:!0,decoderFormat:"bip"}),te.set("lerc",{blobExtension:".lrc",isOneSegment:!1,decoderFormat:"lerc"}),te.set("deflate",{blobExtension:".pzp",isOneSegment:!0,decoderFormat:"deflate"}),te.set("jpeg",{blobExtension:".pjg",isOneSegment:!0,decoderFormat:"jpg"}),te.set("qb3",{blobExtension:".pq3",isOneSegment:!0,decoderFormat:"qb3"});let se=class extends a.A{constructor(){super(...arguments),this._files=null,this._storageIndex=null,this._isBsq=!1,this.datasetFormat="MRF"}async fetchRawTile(e,t,s,i={}){const{blockWidth:n,blockHeight:r,blockBoundary:a}=this.rasterInfo.storageInfo,o=a[e];if(!o||o.maxRow<t||o.maxCol<s||o.minRow>t||o.minCol>s)return null;const{bandCount:l,pixelType:c}=this.rasterInfo,{ranges:f,actualTileWidth:u,actualTileHeight:p}=this._getTileLocation(e,t,s);if(!f||0===f.length)return null;if(f.some(e=>e.from>e.to)){const e=new Uint8Array(n*r);return new h.A({width:n,height:r,pixels:void 0,mask:e,validPixelCount:0})}const{bandIds:d}=this.ioConfig,m=this._getBandSegmentCount(),g=[];let y=0;for(y=0;y<m;y++)d&&!d.includes(y)||g.push(this.request(this._files.data,{range:{from:f[y].from,to:f[y].to},responseType:"array-buffer",signal:i.signal}));const x=await Promise.all(g),w=x.map(e=>e.data.byteLength).reduce((e,t)=>e+t),I=new Uint8Array(w),b=[];let v=0;for(y=0;y<m;y++)b.push(v),I.set(new Uint8Array(x[y].data),v),v+=x[y].data.byteLength;const C=te.get(this.rasterInfo.storageInfo.compression).decoderFormat,S="jpg"===C&&4===l&&1===b.length,T=await this.decodePixelBlock(I.buffer,{width:n,height:r,format:C,planes:d?.length||l,offsets:b,pixelType:c,canvasUsage:S?"no-canvas":void 0,decodeJpegAsRgb:!1}).catch(()=>null);if(null==T)return null;let{noDataValue:A}=this.rasterInfo;if(null!=A&&"lerc"!==C&&!T.mask&&(A=A[0],null!=A)){const e=T.width*T.height,t=new Uint8Array(e);if(Math.abs(A)>1e24)for(y=0;y<e;y++)Math.abs((T.pixels[0][y]-A)/A)>1e-6&&(t[y]=1);else for(y=0;y<e;y++)T.pixels[0][y]!==A&&(t[y]=1);T.mask=t}let R=0,M=0;if(u!==n||p!==r){let e=T.mask;if(e)for(y=0;y<r;y++)if(M=y*n,y<p)for(R=u;R<n;R++)e[M+R]=0;else for(R=0;R<n;R++)e[M+R]=0;else for(e=new Uint8Array(n*r),T.mask=e,y=0;y<p;y++)for(M=y*n,R=0;R<u;R++)e[M+R]=1}return T}async _open(e){this.datasetName=this.url.slice(this.url.lastIndexOf("/")+1);const t=e?e.signal:null,s=await this.request(this.url,{responseType:"xml",signal:t}),{rasterInfo:i,files:n}=this._parseHeader(s.data),{skipMapInfo:r,skipExtensions:a=[]}=this.ioConfig;if(!a.includes("aux.xml")&&!r){const t=await this._fetchAuxiliaryData(e);null!=t&&(i.statistics=t.statistics??i.statistics,i.histograms=t.histograms,t.histograms&&null==i.statistics&&(i.statistics=(0,S.Pg)(t.histograms)))}r&&this.updateImageSpaceRasterInfo(i),this._set("rasterInfo",i),this._files=n;const o=await this.request(n.index,{responseType:"array-buffer",signal:t});this._storageIndex=function(e){if(e.byteLength%16>0)throw new Error("invalid array buffer must be multiples of 16");let t;if(Q.Z){const s=new Uint8Array(e),i=new ArrayBuffer(e.byteLength),n=new Uint8Array(i);for(let t=0;t<e.byteLength/4;t++)for(let e=0;e<4;e++)n[4*t+e]=s[4*t+3-e];t=new Uint32Array(i)}else t=new Uint32Array(e);return t}(o.data);const{blockWidth:l,blockHeight:c}=this.rasterInfo.storageInfo,f=this.rasterInfo.storageInfo.pyramidScalingFactor,{width:u,height:h}=this.rasterInfo,p=[],d=this._getBandSegmentCount();let m=0,g=-1;for(;m<this._storageIndex.length;){g++;const e=Math.ceil(u/l/f**g)-1,t=Math.ceil(h/c/f**g)-1;m+=(e+1)*(t+1)*d*4,p.push({maxRow:t,maxCol:e,minCol:0,minRow:0})}this.rasterInfo.storageInfo.blockBoundary=p,g>0&&(this.rasterInfo.storageInfo.firstPyramidLevel=1,this.rasterInfo.storageInfo.maximumPyramidLevel=g),this.updateTileInfo()}_getBandSegmentCount(){return this._isBsq?this.rasterInfo.bandCount:1}_getTileLocation(e,t,s){const{blockWidth:i,blockHeight:n,pyramidScalingFactor:r}=this.rasterInfo.storageInfo,{width:a,height:o}=this.rasterInfo,l=this._getBandSegmentCount();let c,f,u,h=0,p=0;for(u=0;u<e;u++)p=r**u,c=Math.ceil(a/i/p),f=Math.ceil(o/n/p),h+=c*f;p=r**e,c=Math.ceil(a/i/p),f=Math.ceil(o/n/p),h+=t*c+s,h*=4*l;const d=this._storageIndex.subarray(h,h+4*l);let m=0,g=0;const y=[];for(let e=0;e<l;e++)m=d[4*e]*2**32+d[4*e+1],g=m+d[4*e+2]*2**32+d[4*e+3]-1,y.push({from:m,to:g});return{ranges:y,actualTileWidth:s<c-1?i:Math.ceil(a/p)-i*(c-1),actualTileHeight:t<f-1?n:Math.ceil(o/p)-n*(f-1)}}_parseHeader(e){const t=(0,B.V6)(e,"MRF_META/Raster");if(!t)throw new i.A("mrf:open","not a valid MRF format");const s=(0,B.V6)(t,"Size"),n=parseInt(s.getAttribute("x"),10),r=parseInt(s.getAttribute("y"),10),a=parseInt(s.getAttribute("c"),10),o=((0,B.mX)(t,"Compression")||"none").toLowerCase();if(!te.has(o))throw new i.A("mrf:open","currently does not support compression "+o);const f=(0,B.mX)(t,"DataType")||"UInt8",u=ee.get(f.toLowerCase());if(null==u)throw new i.A("mrf:open","currently does not support pixel type "+f);const h=(0,B.V6)(t,"PageSize"),p=parseInt(h.getAttribute("x"),10),d=parseInt(h.getAttribute("y"),10),m=h.getAttribute("c"),g=m?m===String(a):te.get(o).isOneSegment;this._isBsq=!g;const y=(0,B.V6)(t,"DataValues");let x;if(y){const e=y.getAttribute("NoData");null!=e&&(x=e.trim().split(" ").map(e=>parseFloat(e)))}if((0,B.V6)(e,"MRF_META/CachedSource"))throw new i.A("mrf:open","currently does not support MRF referencing other data files");const w=(0,B.V6)(e,"MRF_META/GeoTags"),I=(0,B.V6)(w,"BoundingBox");let b,v=!1;if(null!=I){const e=parseFloat(I.getAttribute("minx")),t=parseFloat(I.getAttribute("miny")),s=parseFloat(I.getAttribute("maxx")),i=parseFloat(I.getAttribute("maxy")),n=(0,B.mX)(w,"Projection")||"";let r=c.A.WGS84;if("LOCAL_CS[]"!==n)if(n.toLowerCase().startsWith("epsg:")){const e=Number(n.slice(5));isNaN(e)||0===e||(r=new c.A({wkid:e}))}else r=E(n)??c.A.WGS84;else v=!0,r=new c.A({wkid:3857});b=new l.A(e,t,s,i),b.spatialReference=r}else v=!0,b=new l.A({xmin:-.5,ymin:.5-r,xmax:n-.5,ymax:.5,spatialReference:new c.A({wkid:3857})});const C=(0,B.V6)(e,"MRF_META/Rsets"),S=parseInt(C?.getAttribute("scale")||"2",10),T=b.spatialReference,R=new W.A({origin:new j.A({x:b.xmin,y:b.ymax,spatialReference:T}),blockWidth:p,blockHeight:d,pyramidBlockWidth:p,pyramidBlockHeight:d,compression:o,pyramidScalingFactor:S}),M=new j.A({x:b.width/n,y:b.height/r,spatialReference:T}),O=new A.A({width:n,height:r,extent:b,isPseudoSpatialReference:v,spatialReference:T,bandCount:a,pixelType:u,pixelSize:M,noDataValue:x,storageInfo:R}),_=this._getAuxFullPath((0,B.mX)(t,"DataFile")),k=this._getAuxFullPath((0,B.mX)(t,"IndexFile"));return{rasterInfo:O,files:{mrf:this.url,index:k||this.url.replace(".mrf",".idx"),data:_||this.url.replace(".mrf",te.get(o).blobExtension)}}}_getAuxFullPath(e){return e?e.includes("\\")?null:e.includes("/")?e.startsWith(new URL(this.url).origin)?e:null:`${this.url.slice(0,this.url.lastIndexOf("/"))}/${e}`:null}async _fetchAuxiliaryData(e){try{const{data:t}=await this.request(this.url+".aux.xml",{responseType:"xml",signal:e?.signal});return J(t)}catch{return null}}};(0,n.Cg)([(0,r.MZ)()],se.prototype,"_files",void 0),(0,n.Cg)([(0,r.MZ)()],se.prototype,"_storageIndex",void 0),(0,n.Cg)([(0,r.MZ)()],se.prototype,"_isBsq",void 0),(0,n.Cg)([(0,r.MZ)({type:String,json:{write:!0}})],se.prototype,"datasetFormat",void 0),se=(0,n.Cg)([(0,r.$K)("esri.layers.raster.datasets.MRFRaster")],se);const ie=se;s(44208);var ne=s(53966),re=s(9334);function ae(e){const t=e.fields,s=e.records,i=t.some(e=>"oid"===e.name.toLowerCase())?"OBJECTID":"OID",n=[{name:i,type:"esriFieldTypeOID",alias:"OID"}].concat(t.map(e=>({name:e.name,type:"esriFieldType"+e.typeName,alias:e.name}))),r=n.map(e=>e.name),a=[];let o=0,l=0;return s.forEach(e=>{const t={};for(t[i]=o++,l=1;l<r.length;l++)t[r[l]]=e[l-1];a.push({attributes:t})}),{displayFieldName:"",fields:n,features:a}}class oe{static get supportedVersions(){return[5]}static parse(e){const t=new DataView(e),s=3&t.getUint8(0);if(3!==s)return{header:{version:s},recordSet:null};const i=t.getUint32(4,!0),n=t.getUint16(8,!0),r=t.getUint16(10,!0),a={version:s,recordCount:i,headerByteCount:n,recordByteCount:r};let o=32;const l=[],c=[];let f;if(3===s){for(;13!==t.getUint8(o);)f=String.fromCharCode(t.getUint8(o+11)).trim(),l.push({name:(0,re.w)(new Uint8Array(e,o,11)),type:f,typeName:["String","Date","Double","Boolean","String","Integer"][["C","D","F","L","M","N"].indexOf(f)],length:t.getUint8(o+16)}),o+=32;if(o+=1,l.length>0)for(;c.length<i&&e.byteLength-o>r;){const s=[];32===t.getUint8(o)?(o+=1,l.forEach(t=>{if("C"===t.type)s.push((0,re.w)(new Uint8Array(e,o,t.length)).trim());else if("N"===t.type)s.push(parseInt(String.fromCharCode.apply(null,new Uint8Array(e,o,t.length)).trim(),10));else if("F"===t.type)s.push(parseFloat(String.fromCharCode.apply(null,new Uint8Array(e,o,t.length)).trim()));else if("D"===t.type){const i=String.fromCharCode.apply(null,new Uint8Array(e,o,t.length)).trim();s.push(new Date(parseInt(i.slice(0,4),10),parseInt(i.slice(4,6),10)-1,parseInt(i.slice(6,8),10)))}o+=t.length}),c.push(s)):o+=r}}return{header:a,fields:l,records:c,recordSet:ae({fields:l,records:c})}}}var le=s(44094),ce=s(94213);let fe=class extends a.A{constructor(){super(...arguments),this._files=null,this._headerInfo=null,this._bufferSize=1048576,this._chunkSize=10485760,this.datasetFormat="TIFF"}async fetchRawTile(e,t,s,i={}){if(!this._headerInfo?.isSupported||this.isBlockOutside(e,t,s))return null;const n=await this._fetchRawTiffTile(e,t,s,!1,i);if(null!=n&&this._headerInfo.hasMaskBand){const r=await this._fetchRawTiffTile(e,t,s,!0,i);null!=r&&r.pixels[0]instanceof Uint8Array&&(n.mask=r.pixels[0])}return n}async _open(e){const t=e?e.signal:null,{data:s}=await this.request(this.url,{range:{from:0,to:this._bufferSize},responseType:"array-buffer",signal:t});if(!s)throw new i.A("tiffraster:open","failed to open url "+this.url);this.datasetName=this.url.slice(this.url.lastIndexOf("/")+1,this.url.lastIndexOf("."));const{littleEndian:n,firstIFDPos:r,isBigTiff:a}=(0,le.uT)(s),o=[],f={fileChunk:s,posIFD:r,fileOffset:0};await this._readIFDs(o,f,n,a?8:4,t);const{imageInfo:u,rasterInfo:h}=function(e){const t=(0,le.uc)(e),{width:s,height:i,tileWidth:n,tileHeight:r,planes:a,pixelType:o,compression:f,firstPyramidLevel:u,maximumPyramidLevel:h,pyramidBlockWidth:p,pyramidBlockHeight:d,pyramidResolutions:m,tileBoundary:g,affine:y,metadata:x,colormap:w}=t;let I=E(t.extent.spatialReference?.wkt||t.extent.spatialReference?.wkid),b=!!t.isPseudoGeographic;null==I&&(b=!0,I=new c.A({wkid:3857}));const v=new l.A({...t.extent,spatialReference:I}),C=new j.A(v?{x:v.xmin,y:v.ymax,spatialReference:I}:{x:0,y:0}),S=new W.A({blockWidth:n,blockHeight:r,pyramidBlockWidth:p,pyramidBlockHeight:d,compression:f,origin:C,firstPyramidLevel:u,maximumPyramidLevel:h,pyramidResolutions:m,blockBoundary:g}),T=new j.A({x:(v.xmax-v.xmin)/s,y:(v.ymax-v.ymin)/i,spatialReference:I}),R=x?{BandProperties:x.bandProperties,DataType:x.dataType}:{},M=new A.A({width:s,height:i,bandCount:a,pixelType:o,pixelSize:T,storageInfo:S,spatialReference:I,isPseudoSpatialReference:b,keyProperties:R,extent:v,colormap:w,statistics:x?x.statistics:null});if(y?.length&&(M.nativeExtent=new l.A({xmin:-.5,ymin:.5-i,xmax:s-.5,ymax:.5,spatialReference:I}),M.transform=new N.A({polynomialOrder:1,forwardCoefficients:[y[2]+y[0]/2,y[5]-y[3]/2,y[0],y[3],-y[1],-y[4]]}),M.extent=M.transform.forwardTransform(M.nativeExtent),M.pixelSize=new j.A({x:(v.xmax-v.xmin)/s,y:(v.ymax-v.ymin)/i,spatialReference:I}),S.origin.x=-.5,S.origin.y=.5),m){const{x:e,y:t}=M.pixelSize;m.forEach(s=>{s.x*=e,s.y*=t})}return{imageInfo:t,rasterInfo:M}}(o),p=(0,le.zS)(o),d=(0,le.r9)(o);if(this._headerInfo={littleEndian:n,isBigTiff:a,ifds:o,pyramidIFDs:p,maskIFDs:d,...u},this._set("rasterInfo",h),!u.isSupported)throw new i.A("tiffraster:open","this tiff is not supported: "+u.message);if(!u.tileWidth)throw new i.A("tiffraster:open","none-tiled tiff is not optimized for access, convert to COG and retry.");h.isPseudoSpatialReference&&ne.A.getLogger(this).warn("The spatial reference for this tiff is unsupported. Only EPSG spatial reference codes and Esri WKTs are supported.");const m=o[0].get("PREDICTOR")?.values?.[0],g=o[0].get("SAMPLEFORMAT")?.values?.[0];if(3===g&&2===m)throw new i.A("tiffraster:open","unsupported horizontal difference encoding. Predictor=3 is supported for floating point data");const{skipMapInfo:y,skipExtensions:x=[]}=this.ioConfig;if(!x.includes("aux.xml")&&!y){const t=await this._fetchAuxiliaryMetaData(e);null!=t&&function(e,t){if(t.statistics=e.statistics??t.statistics,t.histograms=e.histograms,e.histograms&&null==t.statistics&&(t.statistics=(0,S.Pg)(e.histograms)),e.transform&&null==t.transform){t.transform=e.transform,t.nativeExtent=t.extent;const s=t.transform.forwardTransform(t.nativeExtent);t.pixelSize=new j.A({x:(s.xmax-s.xmin)/t.width,y:(s.ymax-s.ymin)/t.height,spatialReference:t.spatialReference}),t.extent=s}t.isPseudoSpatialReference&&e.spatialReference&&(t.spatialReference=e.spatialReference,t.extent.spatialReference=t.nativeExtent.spatialReference=t.storageInfo.origin.spatialReference=t.spatialReference)}(t,h)}x.includes("vat.dbf")||1!==h.bandCount||"u8"!==h.pixelType||y||(h.attributeTable=await this._fetchAuxiliaryTable(e),null!=h.attributeTable&&(h.keyProperties.DataType="thematic")),y&&this.updateImageSpaceRasterInfo(h),this.updateTileInfo()}async _validateOrFetchHeaderBuffer(e,t){let{fileChunk:s,fileOffset:i,posIFD:n}=e;return(n+8>=s.byteLength||n<0)&&(i=n+i,s=(await this.request(this.url,{range:{from:i,to:i+this._bufferSize},responseType:"array-buffer",signal:t})).data,n=0),{fileChunk:s,fileOffset:i,posIFD:n}}async _readIFDs(e,t,s,n=4,r){if(!t.posIFD)return null;t=await this._validateOrFetchHeaderBuffer(t,r);const a=await this._readIFD(t,s,ce.NB,n,r);if(!a?.ifd)throw new i.A("tiffraster:open","cannot parse tiff header. failed to open url "+this.url);if(e.push(a.ifd),!a.nextIFD)return null;t.posIFD=a.nextIFD-t.fileOffset,await this._readIFDs(e,t,s,n,r)}async _readIFD(e,t,s=ce.NB,i=4,n){let{fileChunk:r,posIFD:a,fileOffset:o}=e;if(!e.fileChunk)return null;const l=(0,le.JM)(r,t,a,o,s,i);if(l.success){const e=[];if(l.ifd?.forEach(t=>{t.values||e.push(t)}),e.length>0&&await this._fillOffsets(e,t,l.nextIFD,n),l.ifd?.has("GEOKEYDIRECTORY")){const e=l.ifd.get("GEOKEYDIRECTORY"),s=e?.values;if(s&&s.length>4){const i=s[0]+"."+s[1]+"."+s[2];a=e.valueOffset+6-o;const l=await this._validateOrFetchHeaderBuffer({fileChunk:r,posIFD:a,fileOffset:o},n),c=await this._readIFD(l,t,ce.YC,2,n);e.data=c?.ifd,e.data&&e.data.set("GEOTIFFVersion",{id:0,type:2,valueCount:1,valueOffset:null,values:[i]})}}return l}return l.requiredBufferSize?(r=(await this.request(this.url,{range:{from:o,to:o+a+l.requiredBufferSize+8},responseType:"array-buffer",signal:n})).data,r.byteLength<a+l.requiredBufferSize?null:(e.fileChunk=r,e.fileOffset=o,this._readIFD(e,t,s,i,n))):null}async _fillOffsets(e,t,s,i){const n=e.filter(e=>null!=e.offlineOffsetSize);if(0===n.length)return;const r=n.map(e=>e.offlineOffsetSize),a=Math.min.apply(null,r.map(e=>e[0])),o=Math.max.apply(null,r.map(e=>e[0]+e[1]));let l=1===r.length||o-a<=this._bufferSize;if(!l&&r.length>1&&(r.sort((e,t)=>e[0]-t[0]),l=r.reduce((e,t)=>e===t[0]?t[0]+t[1]:0,r[0][0])===o),l){const e=await this._fetchOffsets(a,Math.max(o,a+this._bufferSize),i);return void n.forEach(s=>(0,le.Cr)(e,t,s,a))}const c=n.map(async e=>{const s=e.offlineOffsetSize,n=await this._fetchOffsets(s[0],s[1]+s[0],i);(0,le.Cr)(n,t,e,s[0])});await Promise.all(c)}async _fetchOffsets(e,t,s){const i=[],n=this._chunkSize,r=Math.ceil((t-e)/n);let a=e;for(let e=0;e<r;e++)i.push(this.request(this.url,{range:{from:a,to:e===r-1?t:a+n-1},responseType:"array-buffer",signal:s})),a+=n;const o=await Promise.all(i);if(1===r)return o[0].data;const l=new Uint8Array(t-e+1);for(let e=0;e<r;e++)l.set(new Uint8Array(o[e].data),e*n);return l.buffer}async _fetchRawTiffTile(e,t,s,i,n={}){const r=this._getTileLocation(e,t,s,i);if(!r)return null;const{ranges:a,actualTileWidth:o,actualTileHeight:l,ifd:c}=r,f=a.map(e=>this.request(this.url,{range:e,responseType:"array-buffer",signal:n.signal})),u=await Promise.all(f),h=u.map(e=>e.data.byteLength).reduce((e,t)=>e+t),p=1===u.length?u[0].data:new ArrayBuffer(h),d=[0],m=[0];if(u.length>1){const e=new Uint8Array(p);for(let t=0,s=0;t<u.length;t++){const i=u[t].data;e.set(new Uint8Array(i),s),d[t]=s,s+=i.byteLength,m[t]=i.byteLength}}const{blockWidth:g,blockHeight:y}=this.getBlockWidthHeight(e),x=await this.decodePixelBlock(p,{format:"tiff",customOptions:{headerInfo:this._headerInfo,ifd:c,offsets:d,sizes:m},width:g,height:y,planes:null,pixelType:null});if(null==x)return null;if(o!==g||l!==y){let e=x.mask;if(e)for(let t=0;t<y;t++){const s=t*g;if(t<l)for(let t=o;t<g;t++)e[s+t]=0;else for(let t=0;t<g;t++)e[s+t]=0}else{e=new Uint8Array(g*y),x.mask=e;for(let t=0;t<l;t++){const s=t*g;for(let t=0;t<o;t++)e[s+t]=1}}}return x}_getTileLocation(e,t,s,i=!1){const{firstPyramidLevel:n,blockBoundary:r}=this.rasterInfo.storageInfo,a=0===e?0:e-(n-1),{_headerInfo:o}=this;if(!o)return null;const l=i?o.maskIFDs[a]:0===a?o.ifds[0]:o.pyramidIFDs[a-1];if(!l)return null;const c=(0,le.XO)(l,o),f=(0,le.wc)(l,"TILEOFFSETS"),u=(0,le.wc)(l,"TILEBYTECOUNTS");if(!f?.length||!u?.length)return null;const{minRow:h,minCol:p,maxRow:d,maxCol:m}=r[a];if(t>d||s>m||t<h||s<p)return null;const g=(0,le.LZ)(l,"IMAGEWIDTH"),y=(0,le.LZ)(l,"IMAGELENGTH"),x=(0,le.LZ)(l,"TILEWIDTH"),w=(0,le.LZ)(l,"TILELENGTH"),I=[];if(c){const{bandCount:e}=this.rasterInfo;for(let i=0;i<e;i++){const e=i*(d+1)*(m+1)+t*(m+1)+s;I[i]={from:f[e],to:f[e]+u[e]-1}}}else{const e=t*(m+1)+s;I.push({from:f[e],to:f[e]+u[e]-1})}for(let e=0;e<I.length;e++)if(null==I[e].from||!I[e].to||I[e].to<0)return null;return{ranges:I,ifd:l,actualTileWidth:s===m&&g%x||x,actualTileHeight:t===d&&y%w||w}}async _fetchAuxiliaryMetaData(e){try{const{data:t}=await this.request(this.url+".aux.xml",{responseType:"xml",signal:e?.signal});return J(t)}catch{return null}}async _fetchAuxiliaryTable(e){try{const{data:t}=await this.request(this.url+".vat.dbf",{responseType:"array-buffer",signal:e?.signal}),s=oe.parse(t);return s?.recordSet?O.A.fromJSON(s.recordSet):null}catch{return null}}};(0,n.Cg)([(0,r.MZ)()],fe.prototype,"_files",void 0),(0,n.Cg)([(0,r.MZ)()],fe.prototype,"_headerInfo",void 0),(0,n.Cg)([(0,r.MZ)()],fe.prototype,"_bufferSize",void 0),(0,n.Cg)([(0,r.MZ)()],fe.prototype,"_chunkSize",void 0),(0,n.Cg)([(0,r.MZ)({type:String,json:{write:!0}})],fe.prototype,"datasetFormat",void 0),fe=(0,n.Cg)([(0,r.$K)("esri.layers.raster.datasets.TIFFRaster")],fe);const ue=fe,he=new Map;he.set("MRF",{desc:"Meta Raster Format",constructor:ie}),he.set("TIFF",{desc:"GeoTIFF",constructor:ue}),he.set("RasterTileServer",{desc:"Raster Tile Server",constructor:K}),he.set("JPG",{desc:"JPG Raster Format",constructor:U}),he.set("PNG",{desc:"PNG Raster Format",constructor:U}),he.set("GIF",{desc:"GIF Raster Format",constructor:U}),he.set("BMP",{desc:"BMP Raster Format",constructor:U}),he.set("CovJSON",{desc:"COVJSON Raster Format",constructor:k}),he.set("MEMORY",{desc:"In Memory Raster Format",constructor:M});class pe{static get supportedFormats(){const e=new Set;return he.forEach((t,s)=>e.add(s)),e}static async open(e){const{url:t,ioConfig:s,source:n,sourceJSON:r}=e;let a=e.datasetFormat??s?.datasetFormat;null==a&&(t.includes(".")?a=t.slice(t.lastIndexOf(".")+1).toUpperCase():"coverage"===n?.type?.toLowerCase()?a="CovJSON":n?.extent&&n.pixelblocks&&(a="MEMORY")),"OVR"===a||"TIF"===a||"DM"===a?a="TIFF":"JPG"===a||"JPEG"===a||"JFIF"===a?a="JPG":"COVJSON"===a&&(a="CovJSON"),t.toLowerCase().includes("/imageserver")&&!t.toLowerCase().includes("/wcsserver")&&(a="RasterTileServer");const o={url:t,source:n,sourceJSON:r,datasetFormat:a,ioConfig:s??{bandIds:null,sampling:null}};if(Object.keys(o).forEach(e=>{null==o[e]&&delete o[e]}),a){if(!this.supportedFormats.has(a))throw new i.A("rasterfactory:open","not a supported format "+a);if("CRF"===a)throw new i.A("rasterfactory:open",`cannot open raster: ${t}`);const s=new(0,he.get(a).constructor)(o);return s.rasterJobHandler=e.rasterJobHandler,s.rasterInfo=e.rasterInfo,await s.open({signal:e.signal}),s}const l=Array.from(he.keys()).filter(e=>"CovJSON"!==e&&"Memory"!==e);let c=0;const f=()=>{if(a=l[c++],!a)return null;if("CRF"===a)return null;const t=new(0,he.get(a).constructor)(o);return t.rasterJobHandler=e.rasterJobHandler,t.open({signal:e.signal}).then(()=>t).catch(()=>f())};return f()}static register(e,t,s){he.has(e.toUpperCase())||he.set(e.toUpperCase(),{desc:t,constructor:s})}}},330(e,t,s){function i(e,t){if(!e||!t)return[];let s=t;t.includes("/")?(s=t.slice(0,t.indexOf("/")),t=t.slice(t.indexOf("/")+1)):t="";const n=[];if(t){const r=i(e,s);for(let e=0;e<r.length;e++)i(r[e],t).forEach(e=>n.push(e));return n}const r=e.getElementsByTagNameNS("*",s);if(!r||0===r.length)return[];for(let e=0;e<r.length;e++)n.push(r[e]||r.item(e));return n}function n(e,t){if(!e||!t)return null;let s=t;t.includes("/")?(s=t.slice(0,t.indexOf("/")),t=t.slice(t.indexOf("/")+1)):t="";const r=i(e,s);return r.length>0?t?n(r[0],t):r[0]:null}function r(e,t=null){const s=t?n(e,t):e;let i;return s?(i=s.textContent||s.nodeValue,i?i.trim():null):null}function a(e,t){const s=i(e,t),n=[];let r;for(let e=0;e<s.length;e++)r=s[e].textContent||s[e].nodeValue,r&&(r=r.trim(),""!==r&&n.push(r));return n}function o(e,t=null){const s=r(e,t);return s?.split(" ").map(e=>Number(e))??[]}function l(e,t){return a(e,t).map(e=>Number(e))}function c(e,t){const s=r(e,t);return Number(s)}function f(e,t){const s=e?.nodeName?.toLowerCase(),i=t.toLowerCase();return s.slice(s.lastIndexOf(":")+1)===i}function u(e){return e.nodeName.slice(e.nodeName.lastIndexOf(":")+1)}s.d(t,{Dy:()=>a,IC:()=>i,Ui:()=>l,V6:()=>n,g7:()=>f,mX:()=>r,pN:()=>o,v7:()=>c,vv:()=>u})},10333(e,t,s){s.d(t,{A:()=>a});var i=s(32198),n=s(25482),r=s(91429);let a=class extends n.o{get affectsPixelSize(){return!1}forwardTransform(e){return e}inverseTransform(e){return e}};(0,i.Cg)([(0,r.MZ)()],a.prototype,"affectsPixelSize",null),(0,i.Cg)([(0,r.MZ)({json:{write:!0}})],a.prototype,"spatialReference",void 0),a=(0,i.Cg)([(0,r.$K)("esri.layers.raster.transforms.BaseRasterTransform")],a)},75414(e,t,s){s.d(t,{A:()=>l});var i,n=s(32198),r=s(91429),a=s(10333),o=s(93223);let l=i=class extends a.A{constructor(){super(...arguments),this.type="gcs-shift",this.tolerance=1e-8}forwardTransform(e){return"point"===(e=e.clone()).type?(e.x>180+this.tolerance&&(e.x-=360),e):(e.xmin>=180-this.tolerance?(e.xmax-=360,e.xmin-=360):e.xmax>180+this.tolerance&&(e.xmin=-180,e.xmax=180),e)}inverseTransform(e){return"point"===(e=e.clone()).type?(e.x<-this.tolerance&&(e.x+=360),e):(e.xmin<-this.tolerance&&(e.xmin+=360,e.xmax+=360),e)}clone(){return new i({tolerance:this.tolerance})}};(0,n.Cg)([(0,o.e)({GCSShiftXform:"gcs-shift"})],l.prototype,"type",void 0),(0,n.Cg)([(0,r.MZ)()],l.prototype,"tolerance",void 0),l=i=(0,n.Cg)([(0,r.$K)("esri.layers.raster.transforms.GCSShiftTransform")],l)},43163(e,t,s){s.d(t,{A:()=>d});var i,n=s(32198),r=s(91429),a=s(5443),o=s(86738),l=s(10333),c=s(36005),f=s(43937),u=s(93223);function h(e,t,s){const{x:i,y:n}=t;if(s<2)return{x:e[0]+i*e[2]+n*e[4],y:e[1]+i*e[3]+n*e[5]};if(2===s){const t=i*i,s=n*n,r=i*n;return{x:e[0]+i*e[2]+n*e[4]+t*e[6]+r*e[8]+s*e[10],y:e[1]+i*e[3]+n*e[5]+t*e[7]+r*e[9]+s*e[11]}}const r=i*i,a=n*n,o=i*n,l=r*i,c=r*n,f=i*a,u=n*a;return{x:e[0]+i*e[2]+n*e[4]+r*e[6]+o*e[8]+a*e[10]+l*e[12]+c*e[14]+f*e[16]+u*e[18],y:e[1]+i*e[3]+n*e[5]+r*e[7]+o*e[9]+a*e[11]+l*e[13]+c*e[15]+f*e[17]+u*e[19]}}function p(e,t,s){const{xmin:i,ymin:n,xmax:r,ymax:o,spatialReference:l}=t;let c=[];if(s<2)c.push({x:i,y:o}),c.push({x:r,y:o}),c.push({x:i,y:n}),c.push({x:r,y:n});else{let e=10;for(let t=0;t<e;t++)c.push({x:i,y:n+(o-n)*t/(e-1)}),c.push({x:r,y:n+(o-n)*t/(e-1)});e=8;for(let t=1;t<=e;t++)c.push({x:i+(r-i)*t/e,y:n}),c.push({x:i+(r-i)*t/e,y:o})}c=c.map(t=>h(e,t,s));const f=c.map(e=>e.x),u=c.map(e=>e.y);return new a.A({xmin:Math.min.apply(null,f),xmax:Math.max.apply(null,f),ymin:Math.min.apply(null,u),ymax:Math.max.apply(null,u),spatialReference:l})}let d=i=class extends l.A{constructor(){super(...arguments),this.polynomialOrder=1,this.type="polynomial"}readForwardCoefficients(e,t){const{coeffX:s,coeffY:i}=t;if(!s?.length||!i?.length||s.length!==i.length)return null;const n=[];for(let e=0;e<s.length;e++)n.push(s[e]),n.push(i[e]);return n}writeForwardCoefficients(e,t,s){const i=[],n=[];for(let t=0;t<e?.length;t++)t%2==0?i.push(e[t]):n.push(e[t]);t.coeffX=i,t.coeffY=n}get inverseCoefficients(){let e=this._get("inverseCoefficients");const t=this._get("forwardCoefficients");return!e&&t&&this.polynomialOrder<2&&(e=function(e){const[t,s,i,n,r,a]=e,o=i*a-r*n,l=r*n-i*a;return[(r*s-t*a)/o,(i*s-t*n)/l,a/o,n/l,-r/o,-i/l]}(t)),e}set inverseCoefficients(e){this._set("inverseCoefficients",e)}readInverseCoefficients(e,t){const{inverseCoeffX:s,inverseCoeffY:i}=t;if(!s?.length||!i?.length||s.length!==i.length)return null;const n=[];for(let e=0;e<s.length;e++)n.push(s[e]),n.push(i[e]);return n}writeInverseCoefficients(e,t,s){const i=[],n=[];for(let t=0;t<e?.length;t++)t%2==0?i.push(e[t]):n.push(e[t]);t.inverseCoeffX=i,t.inverseCoeffY=n}get affectsPixelSize(){return this.polynomialOrder>0}forwardTransform(e){if("point"===e.type){const t=h(this.forwardCoefficients,e,this.polynomialOrder);return new o.A({x:t.x,y:t.y,spatialReference:e.spatialReference})}return p(this.forwardCoefficients,e,this.polynomialOrder)}inverseTransform(e){if("point"===e.type){const t=h(this.inverseCoefficients,e,this.polynomialOrder);return new o.A({x:t.x,y:t.y,spatialReference:e.spatialReference})}return p(this.inverseCoefficients,e,this.polynomialOrder)}clone(){return new i({polynomialOrder:this.polynomialOrder,forwardCoefficients:this.forwardCoefficients?[...this.forwardCoefficients]:null,inverseCoefficients:this.inverseCoefficients?[...this.inverseCoefficients]:null})}};(0,n.Cg)([(0,r.MZ)({json:{write:!0}})],d.prototype,"polynomialOrder",void 0),(0,n.Cg)([(0,r.MZ)()],d.prototype,"forwardCoefficients",void 0),(0,n.Cg)([(0,c.w)("forwardCoefficients",["coeffX","coeffY"])],d.prototype,"readForwardCoefficients",null),(0,n.Cg)([(0,f.K)("forwardCoefficients")],d.prototype,"writeForwardCoefficients",null),(0,n.Cg)([(0,r.MZ)({json:{write:!0}})],d.prototype,"inverseCoefficients",null),(0,n.Cg)([(0,c.w)("inverseCoefficients",["inverseCoeffX","inverseCoeffY"])],d.prototype,"readInverseCoefficients",null),(0,n.Cg)([(0,f.K)("inverseCoefficients")],d.prototype,"writeInverseCoefficients",null),(0,n.Cg)([(0,r.MZ)()],d.prototype,"affectsPixelSize",null),(0,n.Cg)([(0,u.e)({PolynomialXform:"polynomial"})],d.prototype,"type",void 0),d=i=(0,n.Cg)([(0,r.$K)("esri.layers.raster.transforms.PolynomialTransform")],d)}}]);
@@ -1 +1 @@
1
- "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[909,7982],{27982(e,a,r){r.r(a),r.d(a,{fromUrl:()=>f,isGaussianSplat3DTilesUrl:()=>h});var t=r(49186),n=r(84952),s=r(60694),l=r(92009),i=r(23154),o=r(2976),c=r(77548),u=r(7861);const y={FeatureLayer:!0,SceneLayer:!0,VideoLayer:!0};async function f(e){const{properties:a,url:o}=e,f={...a,url:o},p=await async function(e,a){let r=(0,s.qg)(e);if(null==r&&(r=await async function(e,a){const r=await(0,u.L)(e,{customParameters:a});let t=null,l=null;const i=r.type;if("Feature Layer"===i||"Table"===i?(t="FeatureServer",l=r.id??null):"indexedVector"===i?t="VectorTileServer":r.hasOwnProperty("mapName")?t="MapServer":r.hasOwnProperty("bandCount")&&r.hasOwnProperty("pixelSizeX")?t="ImageServer":r.hasOwnProperty("maxRecordCount")&&r.hasOwnProperty("allowGeometryUpdates")?t="FeatureServer":r.hasOwnProperty("streamUrls")?t="StreamServer":w(r)?(t="SceneServer",l=r.id):r.hasOwnProperty("layers")&&w(r.layers?.[0])&&(t="SceneServer"),!t)return null;const o=null!=l?(0,s.iz)(e):null;return{title:null!=o&&r.name||(0,n.e7)(e),serverType:t,sublayer:l,url:{path:null!=o?o.serviceUrl:(0,n.An)(e).path}}}(e,a)),null==r)throw new t.A("arcgis-layers:url-mismatch","The url '${url}' is not a valid arcgis resource",{url:e});const{serverType:o,sublayer:f}=r;let d;const m={FeatureServer:"FeatureLayer",KnowledgeGraphServer:"KnowledgeGraphLayer",StreamServer:"StreamLayer",VectorTileServer:"VectorTileLayer",VideoServer:"VideoLayer"},p="FeatureServer"===o,S="SceneServer"===o,v={parsedUrl:r,Constructor:null,layerId:p||S?f??void 0:void 0,layers:[],tables:[]};switch(o){case"MapServer":if(null!=f){const{type:r}=await(0,u.L)(e,{customParameters:a});switch(d="FeatureLayer",r){case"Annotation Layer":d="AnnotationFeatureLayer";break;case"Dimension Layer":d="DimensionFeatureLayer";break;case"Catalog Layer":d="CatalogLayer";break;case"Annotation SubLayer":case"Catalog Dynamic Group Layer":throw new t.A("arcgis-layers:unsupported",`fromUrl() does not support "${r}" type`)}}else d=await async function(e,a){return(await(0,u.L)(e,{customParameters:a})).tileInfo}(e,a)?"TileLayer":"MapImageLayer";break;case"ImageServer":{const r=await(0,u.L)(e,{customParameters:a}),{tileInfo:t,cacheType:n}=r;d=t?"LERC"!==t?.format?.toUpperCase()||n&&"elevation"!==n.toLowerCase()?"ImageryTileLayer":"ElevationLayer":"ImageryLayer";break}case"SceneServer":{const e=await(0,u.L)(r.url.path,{customParameters:a});if(d="SceneLayer",e){const a=e?.layers;if("Voxel"===e?.layerType)d="VoxelLayer";else if(a?.length){const e=a[0]?.layerType;null!=e&&null!=c.XX[e]&&(d=c.XX[e])}}break}case"3DTilesServer":d=await h(e,a)?"GaussianSplatLayer":"IntegratedMesh3DTilesLayer";break;case"FeatureServer":if(d="FeatureLayer",null!=f){const r=await(0,u.L)(e,{customParameters:a});v.sourceJSON=r,v.preferredUrl=(0,c.$x)();const n=(0,i.Jo)(r.type);if(!n)throw new t.A("arcgis-layers:unsupported",`fromUrl() does not support "${r.type}" type`);d=n}break;default:d=m[o]}if(y[d]&&null==f){const r=await async function(e,a,r){let t,n,s,o,y;switch(a){case"FeatureServer":{const a=await(0,i.QM)(e,{customParameters:r});s=(0,c.$x)(e,{preferredHost:a.preferredHost});const n=!!a.layersJSON,l=a.layersJSON||a.serviceJSON;o=n?l?.layers:[],y=n?l?.tables:[],t=l;break}case"SceneServer":{const a=await async function(e,a){const r=await(0,u.L)(e,{customParameters:a}),t=r.layers?.[0];if(!t)return{serviceInfo:r};try{const{serverUrl:t}=await(0,l.L)(e),n=await(0,u.L)(t,{customParameters:a}).catch(()=>null);return n&&(r.tables=n.tables),{serviceInfo:r,tableServerUrl:t}}catch{return{serviceInfo:r}}}(e,r);t=a.serviceInfo,n=a.tableServerUrl;break}default:t=await(0,u.L)(e,{customParameters:r})}return{preferredUrl:s,layers:t?.layers?.map(e=>({id:e.id})).reverse()||[],tables:t?.tables?.map(e=>({serverUrl:n,id:e.id})).reverse()||[],layerInfos:o,tableInfos:y}}(e,o,a),n=r.layers.length+r.tables.length;if(p){if(0===n)throw new t.A("arcgis-layers:no-data",`The feature service '${e}' does not have any supported layers or tables`);v.preferredUrl=r.preferredUrl,v.layerInfos=r.layerInfos,v.tableInfos=r.tableInfos}if(1!==n)v.layers=r.layers,v.tables=r.tables,p&&r.layerInfos?.length&&(v.sublayerConstructorProvider=await async function(e){if(!e.length)return;const a=new Set,r=[];for(const{type:t}of e)a.has(t)||(a.add(t),r.push(L((0,i.Jo)(t))));const t=await Promise.all(r),n=new Map;return Array.from(a).forEach((e,a)=>{n.set(e,t[a])}),e=>n.get(e.type)}(r.layerInfos));else if(p||S){const e=r.layerInfos?.[0]??r.tableInfos?.[0];v.layerId=r.layers[0]?.id??r.tables[0]?.id,v.sourceJSON=e,p&&(d=(0,i.Jo)(e?.type))}}return v.Constructor=await L(d),v}(o,a?.customParameters),{Constructor:S,layerId:v,sourceJSON:P,parsedUrl:g,layers:I,tables:b}=p;if(I.length+b.length===0)return null!=v&&(f.layerId=v),null!=P&&(f.sourceJSON=P),new S(f);const T=new(0,(await Promise.all([r.e(9917),r.e(6914),r.e(7865),r.e(9866),r.e(6569)]).then(()=>r(85989))).default)({title:g.title});return await async function(e,a,r){const t=a.sublayerConstructorProvider;for(const{id:n,serverUrl:s}of a.layers){const l=d(a.layerInfos,n),i=m(s,n,l,(l&&t?.(l))??a.Constructor,r);e.add(i)}if(a.tables.length){const t=await L("FeatureLayer");a.tables.forEach(({id:n,serverUrl:s})=>{const l=m(s,n,d(a.tableInfos,n),t,r);e.tables.add(l)})}}(T,p,f),T}function d(e,a){return e?e.find(({id:e})=>e===a):null}function m(e,a,r,t,n){const s={...n,layerId:a};return null!=e&&(s.url=e),null!=r&&(s.sourceJSON=r),"sublayerTitleMode"in t.prototype&&(s.sublayerTitleMode="service-name"),new t(s)}function w(e){return null!=e&&e.hasOwnProperty("store")&&e.hasOwnProperty("id")&&"number"==typeof e.id}async function L(e){return(0,o.U[e])()}async function h(e,a){const r=await(0,u.L)(e,{customParameters:a}),t=r.extensions?.["3DTILES_content_gltf"];return!0===t?.extensionsRequired?.includes("KHR_gaussian_splatting")}},92009(e,a,r){r.d(a,{L:()=>u});var t=r(70333),n=r(56507),s=r(49186),l=r(17676),i=r(60694),o=r(20655),c=r(80812);async function u(e,a){const r=(0,i.qg)(e);if(!r)throw new s.A("invalid-url","Invalid scene service url");const u={...a,sceneServerUrl:r.url.path,layerId:r.sublayer??void 0};if(u.sceneLayerItem??=await async function(e){const a=(await y(e)).serviceItemId;if(!a)return null;const r=new c.default({id:a,apiKey:e.apiKey}),s=await async function(e){const a=t.id?.findServerInfo(e.sceneServerUrl);if(a?.owningSystemUrl)return a.owningSystemUrl;const r=e.sceneServerUrl.replace(/(.*\/rest)\/.*/i,"$1")+"/info";try{const a=(await(0,n.A)(r,{query:{f:"json"},responseType:"json",signal:e.signal})).data.owningSystemUrl;if(a)return a}catch(e){(0,l.QP)(e)}return null}(e);null!=s&&(r.portal=new o.A({url:s}));try{return await r.load({signal:e.signal})}catch(e){return(0,l.QP)(e),null}}(u),null==u.sceneLayerItem)return f(u.sceneServerUrl.replace("/SceneServer","/FeatureServer"),u);const d=await async function({sceneLayerItem:e,signal:a}){if(!e)return null;try{const r=(await e.fetchRelatedItems({relationshipType:"Service2Service",direction:"reverse"},{signal:a})).find(e=>"Feature Service"===e.type)||null;if(!r)return null;const t=new c.default({portal:r.portal,id:r.id});return await t.load(),t}catch(e){return(0,l.QP)(e),null}}(u);if(!d?.url)throw new s.A("related-service-not-found","Could not find feature service through portal item relationship");u.featureServiceItem=d;const m=await f(d.url,u);return m.portalItem=d,m}async function y(e){if(e.rootDocument)return e.rootDocument;const a={query:{f:"json",...e.customParameters,token:e.apiKey},responseType:"json",signal:e.signal};try{const r=await(0,n.A)(e.sceneServerUrl,a);e.rootDocument=r.data}catch{e.rootDocument={}}return e.rootDocument}async function f(e,a){const r=(0,i.qg)(e);if(!r)throw new s.A("invalid-feature-service-url","Invalid feature service url");const t=r.url.path,l=a.layerId;if(null==l)return{serverUrl:t};const o=y(a),c=a.featureServiceItem?await a.featureServiceItem.fetchData("json"):null,u=(c?.layers?.[0]||c?.tables?.[0])?.customParameters,f=e=>{const r={query:{f:"json",...u},responseType:"json",authMode:e,signal:a.signal};return(0,n.A)(t,r)},d=f("anonymous").catch(()=>f("no-prompt")),[m,w]=await Promise.all([d,o]),L=w?.layers,h=m.data&&m.data.layers;if(!Array.isArray(h))throw new Error("expected layers array");if(Array.isArray(L)){for(let e=0;e<Math.min(L.length,h.length);e++)if(L[e].id===l)return{serverUrl:t,layerId:h[e].id}}else if(null!=l&&l<h.length)return{serverUrl:t,layerId:h[l].id};throw new Error("could not find matching associated sublayer")}},23154(e,a,r){r.d(a,{A6:()=>i,Aq:()=>w,Jo:()=>m,QM:()=>l});var t=r(77548),n=r(7861);const s=new Set(["Annotation Layer","Catalog Layer","Dimension Layer","Feature Layer","Oriented Imagery Layer"]);async function l(e,a){const{serviceJSON:r,layersJSON:t,...n}=await i(e,a);u(r);const s={serviceJSON:r,...n};return t&&(u(t),s.layersJSON=t),s}async function i(e,a){const{loadContext:r,...s}=a||{},l=r?await r.fetchServiceMetadata(e,s):await(0,n.L)(e,s),i=(0,t.G$)();d(l);const o={serviceJSON:l,preferredHost:i};if((l.currentVersion??0)<10.5)return o;const c=`${(0,t.$x)()??e}/layers`,u=r?await r.fetchServiceMetadata(c,s):await(0,n.L)(c,s);return d(u),o.layersJSON={layers:u.layers,tables:u.tables},o}function o(e){return s.has(e.type)}function c(e){return"Table"===e.type}function u(e){e.layers=e.layers?.filter(o),e.tables=e.tables?.filter(c)}function y(e){e.type||="Feature Layer"}function f(e){e.type||="Table"}function d(e){e.layers?.forEach(y),e.tables?.forEach(f)}function m(e){if(!e)return"FeatureLayer";switch(e){case"Feature Layer":case"Table":return"FeatureLayer";case"Oriented Imagery Layer":return"OrientedImageryLayer";case"Catalog Layer":return"CatalogLayer";case"Dimension Layer":return"DimensionFeatureLayer";case"Annotation Layer":return"AnnotationFeatureLayer"}return null}function w(e,a){if(!e)return a?"Table":"ArcGISFeatureLayer";switch(e){case"Annotation Layer":return"ArcGISAnnotationLayer";case"Catalog Layer":return"CatalogLayer";case"Dimension Layer":return"ArcGISDimensionLayer";case"Feature Layer":return"ArcGISFeatureLayer";case"Oriented Imagery Layer":return"OrientedImageryLayer";case"Parcel Layer":return"ParcelLayer";case"Table":return"Table";case"Topology Layer":return"TopologyLayer";case"Trace Network Layer":return"TraceNetworkLayer";case"Utility Network Layer":return"UtilityNetworkLayer";default:return null}}},2976(e,a,r){const t={AnnotationFeatureLayer:async()=>(await Promise.all([r.e(9917),r.e(6914),r.e(7865),r.e(2292),r.e(5732),r.e(564),r.e(2869),r.e(3910),r.e(7552),r.e(2889),r.e(5278),r.e(4674),r.e(7283),r.e(1954)]).then(()=>r(20737))).default,BingMapsLayer:async()=>(await Promise.all([r.e(6914),r.e(7865),r.e(5732),r.e(6684)]).then(()=>r(17029))).default,BuildingSceneLayer:async()=>(await Promise.all([r.e(5620),r.e(9917),r.e(6914),r.e(7865),r.e(2292),r.e(5732),r.e(9953),r.e(564),r.e(2869),r.e(3910),r.e(7552),r.e(1214),r.e(5051),r.e(2889),r.e(4473),r.e(5278),r.e(1017),r.e(9789),r.e(4674),r.e(7283),r.e(8589),r.e(7005),r.e(9480),r.e(2629),r.e(647)]).then(()=>r(82411))).default,CSVLayer:async()=>(await Promise.all([r.e(9917),r.e(6914),r.e(7865),r.e(2292),r.e(5732),r.e(9953),r.e(564),r.e(2869),r.e(3910),r.e(7552),r.e(1214),r.e(5051),r.e(2889),r.e(4473),r.e(5278),r.e(1017),r.e(3813)]).then(()=>r(68695))).default,CatalogLayer:async()=>(await Promise.all([r.e(9917),r.e(6914),r.e(7865),r.e(2292),r.e(5732),r.e(564),r.e(2869),r.e(3910),r.e(7552),r.e(1214),r.e(5051),r.e(2889),r.e(4473),r.e(5278),r.e(9789),r.e(4674),r.e(893),r.e(7283),r.e(7013),r.e(7067),r.e(7925)]).then(()=>r(83508))).default,DimensionFeatureLayer:async()=>(await Promise.all([r.e(9917),r.e(6914),r.e(7865),r.e(2292),r.e(5732),r.e(564),r.e(2869),r.e(3910),r.e(7552),r.e(2889),r.e(5278),r.e(4674),r.e(7283),r.e(3376)]).then(()=>r(25077))).default,DimensionLayer:async()=>(await Promise.all([r.e(9917),r.e(6914),r.e(6619)]).then(()=>r(71493))).default,ElevationLayer:async()=>(await Promise.all([r.e(9917),r.e(6914),r.e(9953),r.e(8732),r.e(2231)]).then(()=>r(38732))).default,FeatureLayer:async()=>(await Promise.all([r.e(5620),r.e(9917),r.e(6914),r.e(7865),r.e(2292),r.e(5732),r.e(9953),r.e(564),r.e(2869),r.e(3910),r.e(7552),r.e(1214),r.e(5051),r.e(2889),r.e(4473),r.e(5278),r.e(1017),r.e(9789),r.e(4674),r.e(7283),r.e(8589),r.e(3075)]).then(()=>r(18589))).default,GaussianSplatLayer:async()=>(await Promise.all([r.e(9917),r.e(6914),r.e(1133),r.e(6475)]).then(()=>r(36475))).default,GeoJSONLayer:async()=>(await Promise.all([r.e(9917),r.e(6914),r.e(7865),r.e(2292),r.e(5732),r.e(9953),r.e(564),r.e(2869),r.e(3910),r.e(7552),r.e(1214),r.e(5051),r.e(2889),r.e(4473),r.e(5278),r.e(1017),r.e(903)]).then(()=>r(15481))).default,GeoRSSLayer:async()=>(await Promise.all([r.e(9917),r.e(6914),r.e(7865),r.e(5732),r.e(2363)]).then(()=>r(63201))).default,GeospatialPDFLayer:async()=>(await Promise.all([r.e(9917),r.e(6914),r.e(9187),r.e(8885),r.e(9117),r.e(7865),r.e(2292),r.e(9953),r.e(564),r.e(3299),r.e(2869),r.e(3910),r.e(5130),r.e(2754),r.e(8605),r.e(9859),r.e(5485),r.e(4642),r.e(4907)]).then(()=>r(44907))).default,GroupLayer:async()=>(await Promise.all([r.e(9917),r.e(6914),r.e(7865),r.e(9866),r.e(6569)]).then(()=>r(85989))).default,ImageryLayer:async()=>(await Promise.all([r.e(9917),r.e(6914),r.e(7865),r.e(2292),r.e(5732),r.e(9953),r.e(564),r.e(2869),r.e(3910),r.e(7552),r.e(893),r.e(5130),r.e(8605),r.e(2254),r.e(7772),r.e(8768)]).then(()=>r(87772))).default,ImageryTileLayer:async()=>(await Promise.all([r.e(9917),r.e(6914),r.e(7865),r.e(2292),r.e(5732),r.e(9953),r.e(564),r.e(2869),r.e(3910),r.e(5130),r.e(2754),r.e(8605),r.e(9859),r.e(9235),r.e(2254),r.e(1003),r.e(2806),r.e(7870)]).then(()=>r(90124))).default,IntegratedMesh3DTilesLayer:async()=>(await Promise.all([r.e(9917),r.e(6914),r.e(9953),r.e(1133),r.e(6451),r.e(8241)]).then(()=>r(61528))).default,IntegratedMeshLayer:async()=>(await Promise.all([r.e(9917),r.e(6914),r.e(9953),r.e(7552),r.e(7005),r.e(9480),r.e(1133),r.e(5847),r.e(1859),r.e(6451),r.e(1721)]).then(()=>r(49013))).default,KMLLayer:async()=>(await Promise.all([r.e(9917),r.e(6914),r.e(7865),r.e(2292),r.e(5732),r.e(564),r.e(2869),r.e(3910),r.e(1214),r.e(5051),r.e(4473),r.e(8273)]).then(()=>r(162))).default,KnowledgeGraphLayer:async()=>(await Promise.all([r.e(9917),r.e(6914),r.e(7865),r.e(2292),r.e(5732),r.e(9953),r.e(564),r.e(2869),r.e(3910),r.e(7552),r.e(1214),r.e(5051),r.e(2889),r.e(4473),r.e(5278),r.e(1017),r.e(9789),r.e(9696),r.e(359),r.e(5752),r.e(3902),r.e(4720),r.e(4934),r.e(8692)]).then(()=>r(28692))).default,LineOfSightLayer:async()=>(await Promise.all([r.e(9917),r.e(6914),r.e(3888),r.e(9695)]).then(()=>r(49695))).default,LinkChartLayer:async()=>(await Promise.all([r.e(9917),r.e(6914),r.e(7865),r.e(2292),r.e(5732),r.e(9953),r.e(564),r.e(2869),r.e(3910),r.e(7552),r.e(1214),r.e(5051),r.e(2889),r.e(4473),r.e(5278),r.e(1017),r.e(9789),r.e(9696),r.e(359),r.e(5752),r.e(3902),r.e(4720),r.e(4934),r.e(3309)]).then(()=>r(93309))).default,MapImageLayer:async()=>(await Promise.all([r.e(9917),r.e(6914),r.e(7865),r.e(2292),r.e(5732),r.e(564),r.e(2869),r.e(3910),r.e(7552),r.e(1214),r.e(5051),r.e(2889),r.e(4473),r.e(5278),r.e(4674),r.e(893),r.e(8470),r.e(1474)]).then(()=>r(7656))).default,MapNotesLayer:async()=>(await Promise.all([r.e(5620),r.e(9917),r.e(6914),r.e(7865),r.e(2292),r.e(5732),r.e(9953),r.e(564),r.e(2869),r.e(3910),r.e(7552),r.e(1214),r.e(5051),r.e(2889),r.e(4473),r.e(5278),r.e(1017),r.e(9789),r.e(4674),r.e(7283),r.e(8589),r.e(4720),r.e(2469)]).then(()=>r(96299))).default,MediaLayer:async()=>(await Promise.all([r.e(5620),r.e(9917),r.e(6914),r.e(7865),r.e(5485),r.e(528)]).then(()=>r(99557))).default,OGCFeatureLayer:async()=>(await Promise.all([r.e(9917),r.e(6914),r.e(7865),r.e(2292),r.e(5732),r.e(564),r.e(2869),r.e(3910),r.e(7552),r.e(1214),r.e(5051),r.e(2889),r.e(4473),r.e(5278),r.e(1017),r.e(2629),r.e(5977)]).then(()=>r(65977))).default,OpenStreetMapLayer:async()=>(await Promise.all([r.e(9917),r.e(6914),r.e(7865),r.e(5732),r.e(919),r.e(349)]).then(()=>r(40349))).default,OrientedImageryLayer:async()=>(await Promise.all([r.e(5620),r.e(9917),r.e(6914),r.e(7865),r.e(2292),r.e(5732),r.e(9953),r.e(564),r.e(2869),r.e(3910),r.e(7552),r.e(1214),r.e(5051),r.e(2889),r.e(4473),r.e(5278),r.e(1017),r.e(9789),r.e(4674),r.e(7283),r.e(8589),r.e(6854)]).then(()=>r(16852))).default,ParquetLayer:async()=>(await Promise.all([r.e(6914),r.e(7865),r.e(2292),r.e(5732),r.e(9953),r.e(564),r.e(2869),r.e(3910),r.e(7552),r.e(1214),r.e(5051),r.e(2889),r.e(4473),r.e(5278),r.e(1017),r.e(3661),r.e(7320),r.e(99)]).then(()=>r(99680))).default,PointCloudLayer:async()=>(await Promise.all([r.e(9917),r.e(6914),r.e(2869),r.e(7984),r.e(7515)]).then(()=>r(77885))).default,RouteLayer:async()=>(await Promise.all([r.e(9917),r.e(6914),r.e(7865),r.e(2292),r.e(564),r.e(2869),r.e(3910),r.e(1214),r.e(5051),r.e(4473),r.e(2561)]).then(()=>r(39622))).default,SceneLayer:async()=>(await Promise.all([r.e(9917),r.e(6914),r.e(2292),r.e(564),r.e(2869),r.e(3910),r.e(7552),r.e(1214),r.e(5051),r.e(2889),r.e(4473),r.e(5278),r.e(7005),r.e(9480),r.e(2629),r.e(1086)]).then(()=>r(2e4))).default,StreamLayer:async()=>(await Promise.all([r.e(9917),r.e(6914),r.e(7865),r.e(2292),r.e(5732),r.e(564),r.e(2869),r.e(3910),r.e(7552),r.e(1214),r.e(5051),r.e(2889),r.e(4473),r.e(5278),r.e(1017),r.e(8593)]).then(()=>r(79457))).default,SubtypeGroupLayer:async()=>(await Promise.all([r.e(5620),r.e(9917),r.e(6914),r.e(7865),r.e(2292),r.e(5732),r.e(564),r.e(2869),r.e(3910),r.e(7552),r.e(2889),r.e(5278),r.e(9789),r.e(4674),r.e(7283),r.e(4451)]).then(()=>r(97483))).default,TileLayer:async()=>(await Promise.all([r.e(9917),r.e(6914),r.e(7865),r.e(2292),r.e(5732),r.e(564),r.e(2869),r.e(3910),r.e(7552),r.e(1214),r.e(5051),r.e(2889),r.e(4473),r.e(5278),r.e(4674),r.e(893),r.e(8470),r.e(6200)]).then(()=>r(71756))).default,UnknownLayer:async()=>(await Promise.all([r.e(9917),r.e(3928)]).then(()=>r(146))).default,UnsupportedLayer:async()=>(await Promise.all([r.e(9917),r.e(2819)]).then(()=>r(45165))).default,VectorTileLayer:async()=>(await Promise.all([r.e(9917),r.e(6914),r.e(7865),r.e(5732),r.e(9953),r.e(5228),r.e(8744),r.e(8659)]).then(()=>r(50638))).default,VideoLayer:async()=>(await Promise.all([r.e(9917),r.e(6914),r.e(7865),r.e(3910),r.e(4674),r.e(2565)]).then(()=>r(86875))).default,ViewshedLayer:async()=>(await Promise.all([r.e(9917),r.e(6914),r.e(3888),r.e(6650)]).then(()=>r(96650))).default,VoxelLayer:async()=>(await Promise.all([r.e(9917),r.e(6914),r.e(2869),r.e(4443)]).then(()=>r(21005))).default,WCSLayer:async()=>(await Promise.all([r.e(9917),r.e(6914),r.e(7865),r.e(2292),r.e(5732),r.e(9953),r.e(564),r.e(2869),r.e(3910),r.e(5130),r.e(2754),r.e(8605),r.e(9859),r.e(9235),r.e(2254),r.e(2806),r.e(2061)]).then(()=>r(20521))).default,WFSLayer:async()=>(await Promise.all([r.e(9917),r.e(6914),r.e(7865),r.e(2292),r.e(5732),r.e(9953),r.e(564),r.e(2869),r.e(3910),r.e(7552),r.e(1214),r.e(5051),r.e(2889),r.e(4473),r.e(5278),r.e(1017),r.e(5411)]).then(()=>r(21901))).default,WMSLayer:async()=>(await Promise.all([r.e(5620),r.e(9917),r.e(6914),r.e(7865),r.e(2292),r.e(5732),r.e(2869),r.e(3910),r.e(805)]).then(()=>r(51904))).default,WMTSLayer:async()=>(await Promise.all([r.e(9917),r.e(6914),r.e(7865),r.e(5732),r.e(919),r.e(309)]).then(()=>r(20309))).default,WebTileLayer:async()=>(await Promise.all([r.e(9917),r.e(6914),r.e(7865),r.e(5732),r.e(919)]).then(()=>r(47314))).default};r.d(a,["U",0,t])},7861(e,a,r){r.d(a,{L:()=>n});var t=r(56507);async function n(e,a){return(await(0,t.A)(e,{responseType:"json",query:{f:"json",...a?.customParameters,token:a?.apiKey}})).data}}}]);
1
+ "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[909,7982],{27982(e,a,r){r.r(a),r.d(a,{fromUrl:()=>f,isGaussianSplat3DTilesUrl:()=>h});var t=r(49186),n=r(84952),s=r(60694),l=r(92009),i=r(23154),o=r(2976),c=r(77548),u=r(7861);const y={FeatureLayer:!0,SceneLayer:!0,VideoLayer:!0};async function f(e){const{properties:a,url:o}=e,f={...a,url:o},p=await async function(e,a){let r=(0,s.qg)(e);if(null==r&&(r=await async function(e,a){const r=await(0,u.L)(e,{customParameters:a});let t=null,l=null;const i=r.type;if("Feature Layer"===i||"Table"===i?(t="FeatureServer",l=r.id??null):"indexedVector"===i?t="VectorTileServer":r.hasOwnProperty("mapName")?t="MapServer":r.hasOwnProperty("bandCount")&&r.hasOwnProperty("pixelSizeX")?t="ImageServer":r.hasOwnProperty("maxRecordCount")&&r.hasOwnProperty("allowGeometryUpdates")?t="FeatureServer":r.hasOwnProperty("streamUrls")?t="StreamServer":w(r)?(t="SceneServer",l=r.id):r.hasOwnProperty("layers")&&w(r.layers?.[0])&&(t="SceneServer"),!t)return null;const o=null!=l?(0,s.iz)(e):null;return{title:null!=o&&r.name||(0,n.e7)(e),serverType:t,sublayer:l,url:{path:null!=o?o.serviceUrl:(0,n.An)(e).path}}}(e,a)),null==r)throw new t.A("arcgis-layers:url-mismatch","The url '${url}' is not a valid arcgis resource",{url:e});const{serverType:o,sublayer:f}=r;let d;const m={FeatureServer:"FeatureLayer",KnowledgeGraphServer:"KnowledgeGraphLayer",StreamServer:"StreamLayer",VectorTileServer:"VectorTileLayer",VideoServer:"VideoLayer"},p="FeatureServer"===o,S="SceneServer"===o,v={parsedUrl:r,Constructor:null,layerId:p||S?f??void 0:void 0,layers:[],tables:[]};switch(o){case"MapServer":if(null!=f){const{type:r}=await(0,u.L)(e,{customParameters:a});switch(d="FeatureLayer",r){case"Annotation Layer":d="AnnotationFeatureLayer";break;case"Dimension Layer":d="DimensionFeatureLayer";break;case"Catalog Layer":d="CatalogLayer";break;case"Annotation SubLayer":case"Catalog Dynamic Group Layer":throw new t.A("arcgis-layers:unsupported",`fromUrl() does not support "${r}" type`)}}else d=await async function(e,a){return(await(0,u.L)(e,{customParameters:a})).tileInfo}(e,a)?"TileLayer":"MapImageLayer";break;case"ImageServer":{const r=await(0,u.L)(e,{customParameters:a}),{tileInfo:t,cacheType:n}=r;d=t?"LERC"!==t?.format?.toUpperCase()||n&&"elevation"!==n.toLowerCase()?"ImageryTileLayer":"ElevationLayer":"ImageryLayer";break}case"SceneServer":{const e=await(0,u.L)(r.url.path,{customParameters:a});if(d="SceneLayer",e){const a=e?.layers;if("Voxel"===e?.layerType)d="VoxelLayer";else if(a?.length){const e=a[0]?.layerType;null!=e&&null!=c.XX[e]&&(d=c.XX[e])}}break}case"3DTilesServer":d=await h(e,a)?"GaussianSplatLayer":"IntegratedMesh3DTilesLayer";break;case"FeatureServer":if(d="FeatureLayer",null!=f){const r=await(0,u.L)(e,{customParameters:a});v.sourceJSON=r,v.preferredUrl=(0,c.$x)();const n=(0,i.Jo)(r.type);if(!n)throw new t.A("arcgis-layers:unsupported",`fromUrl() does not support "${r.type}" type`);d=n}break;default:d=m[o]}if(y[d]&&null==f){const r=await async function(e,a,r){let t,n,s,o,y;switch(a){case"FeatureServer":{const a=await(0,i.QM)(e,{customParameters:r});s=(0,c.$x)(e,{preferredHost:a.preferredHost});const n=!!a.layersJSON,l=a.layersJSON||a.serviceJSON;o=n?l?.layers:[],y=n?l?.tables:[],t=l;break}case"SceneServer":{const a=await async function(e,a){const r=await(0,u.L)(e,{customParameters:a}),t=r.layers?.[0];if(!t)return{serviceInfo:r};try{const{serverUrl:t}=await(0,l.L)(e),n=await(0,u.L)(t,{customParameters:a}).catch(()=>null);return n&&(r.tables=n.tables),{serviceInfo:r,tableServerUrl:t}}catch{return{serviceInfo:r}}}(e,r);t=a.serviceInfo,n=a.tableServerUrl;break}default:t=await(0,u.L)(e,{customParameters:r})}return{preferredUrl:s,layers:t?.layers?.map(e=>({id:e.id})).reverse()||[],tables:t?.tables?.map(e=>({serverUrl:n,id:e.id})).reverse()||[],layerInfos:o,tableInfos:y}}(e,o,a),n=r.layers.length+r.tables.length;if(p){if(0===n)throw new t.A("arcgis-layers:no-data",`The feature service '${e}' does not have any supported layers or tables`);v.preferredUrl=r.preferredUrl,v.layerInfos=r.layerInfos,v.tableInfos=r.tableInfos}if(1!==n)v.layers=r.layers,v.tables=r.tables,p&&r.layerInfos?.length&&(v.sublayerConstructorProvider=await async function(e){if(!e.length)return;const a=new Set,r=[];for(const{type:t}of e)a.has(t)||(a.add(t),r.push(L((0,i.Jo)(t))));const t=await Promise.all(r),n=new Map;return Array.from(a).forEach((e,a)=>{n.set(e,t[a])}),e=>n.get(e.type)}(r.layerInfos));else if(p||S){const e=r.layerInfos?.[0]??r.tableInfos?.[0];v.layerId=r.layers[0]?.id??r.tables[0]?.id,v.sourceJSON=e,p&&(d=(0,i.Jo)(e?.type))}}return v.Constructor=await L(d),v}(o,a?.customParameters),{Constructor:S,layerId:v,sourceJSON:P,parsedUrl:g,layers:I,tables:b}=p;if(I.length+b.length===0)return null!=v&&(f.layerId=v),null!=P&&(f.sourceJSON=P),new S(f);const T=new(0,(await Promise.all([r.e(9917),r.e(6914),r.e(7865),r.e(9866),r.e(6569)]).then(()=>r(85989))).default)({title:g.title});return await async function(e,a,r){const t=a.sublayerConstructorProvider;for(const{id:n,serverUrl:s}of a.layers){const l=d(a.layerInfos,n),i=m(s,n,l,(l&&t?.(l))??a.Constructor,r);e.add(i)}if(a.tables.length){const t=await L("FeatureLayer");a.tables.forEach(({id:n,serverUrl:s})=>{const l=m(s,n,d(a.tableInfos,n),t,r);e.tables.add(l)})}}(T,p,f),T}function d(e,a){return e?e.find(({id:e})=>e===a):null}function m(e,a,r,t,n){const s={...n,layerId:a};return null!=e&&(s.url=e),null!=r&&(s.sourceJSON=r),"sublayerTitleMode"in t.prototype&&(s.sublayerTitleMode="service-name"),new t(s)}function w(e){return null!=e&&e.hasOwnProperty("store")&&e.hasOwnProperty("id")&&"number"==typeof e.id}async function L(e){return(0,o.U[e])()}async function h(e,a){const r=await(0,u.L)(e,{customParameters:a}),t=r.extensions?.["3DTILES_content_gltf"];return!0===t?.extensionsRequired?.includes("KHR_gaussian_splatting")}},92009(e,a,r){r.d(a,{L:()=>u});var t=r(70333),n=r(56507),s=r(49186),l=r(17676),i=r(60694),o=r(20655),c=r(80812);async function u(e,a){const r=(0,i.qg)(e);if(!r)throw new s.A("invalid-url","Invalid scene service url");const u={...a,sceneServerUrl:r.url.path,layerId:r.sublayer??void 0};if(u.sceneLayerItem??=await async function(e){const a=(await y(e)).serviceItemId;if(!a)return null;const r=new c.default({id:a,apiKey:e.apiKey}),s=await async function(e){const a=t.id?.findServerInfo(e.sceneServerUrl);if(a?.owningSystemUrl)return a.owningSystemUrl;const r=e.sceneServerUrl.replace(/(.*\/rest)\/.*/i,"$1")+"/info";try{const a=(await(0,n.A)(r,{query:{f:"json"},responseType:"json",signal:e.signal})).data.owningSystemUrl;if(a)return a}catch(e){(0,l.QP)(e)}return null}(e);null!=s&&(r.portal=new o.A({url:s}));try{return await r.load({signal:e.signal})}catch(e){return(0,l.QP)(e),null}}(u),null==u.sceneLayerItem)return f(u.sceneServerUrl.replace("/SceneServer","/FeatureServer"),u);const d=await async function({sceneLayerItem:e,signal:a}){if(!e)return null;try{const r=(await e.fetchRelatedItems({relationshipType:"Service2Service",direction:"reverse"},{signal:a})).find(e=>"Feature Service"===e.type)||null;if(!r)return null;const t=new c.default({portal:r.portal,id:r.id});return await t.load(),t}catch(e){return(0,l.QP)(e),null}}(u);if(!d?.url)throw new s.A("related-service-not-found","Could not find feature service through portal item relationship");u.featureServiceItem=d;const m=await f(d.url,u);return m.portalItem=d,m}async function y(e){if(e.rootDocument)return e.rootDocument;const a={query:{f:"json",...e.customParameters,token:e.apiKey},responseType:"json",signal:e.signal};try{const r=await(0,n.A)(e.sceneServerUrl,a);e.rootDocument=r.data}catch{e.rootDocument={}}return e.rootDocument}async function f(e,a){const r=(0,i.qg)(e);if(!r)throw new s.A("invalid-feature-service-url","Invalid feature service url");const t=r.url.path,l=a.layerId;if(null==l)return{serverUrl:t};const o=y(a),c=a.featureServiceItem?await a.featureServiceItem.fetchData("json"):null,u=(c?.layers?.[0]||c?.tables?.[0])?.customParameters,f=e=>{const r={query:{f:"json",...u},responseType:"json",authMode:e,signal:a.signal};return(0,n.A)(t,r)},d=f("anonymous").catch(()=>f("no-prompt")),[m,w]=await Promise.all([d,o]),L=w?.layers,h=m.data&&m.data.layers;if(!Array.isArray(h))throw new Error("expected layers array");if(Array.isArray(L)){for(let e=0;e<Math.min(L.length,h.length);e++)if(L[e].id===l)return{serverUrl:t,layerId:h[e].id}}else if(null!=l&&l<h.length)return{serverUrl:t,layerId:h[l].id};throw new Error("could not find matching associated sublayer")}},23154(e,a,r){r.d(a,{A6:()=>i,Aq:()=>w,Jo:()=>m,QM:()=>l});var t=r(77548),n=r(7861);const s=new Set(["Annotation Layer","Catalog Layer","Dimension Layer","Feature Layer","Oriented Imagery Layer"]);async function l(e,a){const{serviceJSON:r,layersJSON:t,...n}=await i(e,a);u(r);const s={serviceJSON:r,...n};return t&&(u(t),s.layersJSON=t),s}async function i(e,a){const{loadContext:r,...s}=a||{},l=r?await r.fetchServiceMetadata(e,s):await(0,n.L)(e,s),i=(0,t.G$)();d(l);const o={serviceJSON:l,preferredHost:i};if((l.currentVersion??0)<10.5)return o;const c=`${(0,t.$x)()??e}/layers`,u=r?await r.fetchServiceMetadata(c,s):await(0,n.L)(c,s);return d(u),o.layersJSON={layers:u.layers,tables:u.tables},o}function o(e){return s.has(e.type)}function c(e){return"Table"===e.type}function u(e){e.layers=e.layers?.filter(o),e.tables=e.tables?.filter(c)}function y(e){e.type||="Feature Layer"}function f(e){e.type||="Table"}function d(e){e.layers?.forEach(y),e.tables?.forEach(f)}function m(e){if(!e)return"FeatureLayer";switch(e){case"Feature Layer":case"Table":return"FeatureLayer";case"Oriented Imagery Layer":return"OrientedImageryLayer";case"Catalog Layer":return"CatalogLayer";case"Dimension Layer":return"DimensionFeatureLayer";case"Annotation Layer":return"AnnotationFeatureLayer"}return null}function w(e,a){if(!e)return a?"Table":"ArcGISFeatureLayer";switch(e){case"Annotation Layer":return"ArcGISAnnotationLayer";case"Catalog Layer":return"CatalogLayer";case"Dimension Layer":return"ArcGISDimensionLayer";case"Feature Layer":return"ArcGISFeatureLayer";case"Oriented Imagery Layer":return"OrientedImageryLayer";case"Parcel Layer":return"ParcelLayer";case"Table":return"Table";case"Topology Layer":return"TopologyLayer";case"Trace Network Layer":return"TraceNetworkLayer";case"Utility Network Layer":return"UtilityNetworkLayer";default:return null}}},2976(e,a,r){const t={AnnotationFeatureLayer:async()=>(await Promise.all([r.e(9917),r.e(6914),r.e(7865),r.e(2292),r.e(5732),r.e(564),r.e(2869),r.e(3910),r.e(7552),r.e(2889),r.e(5278),r.e(4674),r.e(7283),r.e(1954)]).then(()=>r(20737))).default,BingMapsLayer:async()=>(await Promise.all([r.e(6914),r.e(7865),r.e(5732),r.e(6684)]).then(()=>r(17029))).default,BuildingSceneLayer:async()=>(await Promise.all([r.e(6361),r.e(9917),r.e(6914),r.e(7865),r.e(2292),r.e(5732),r.e(9953),r.e(564),r.e(2869),r.e(3910),r.e(7552),r.e(1214),r.e(5051),r.e(2889),r.e(4473),r.e(5278),r.e(1017),r.e(9789),r.e(4674),r.e(7283),r.e(8589),r.e(7005),r.e(9480),r.e(2629),r.e(647)]).then(()=>r(82411))).default,CSVLayer:async()=>(await Promise.all([r.e(9917),r.e(6914),r.e(7865),r.e(2292),r.e(5732),r.e(9953),r.e(564),r.e(2869),r.e(3910),r.e(7552),r.e(1214),r.e(5051),r.e(2889),r.e(4473),r.e(5278),r.e(1017),r.e(3813)]).then(()=>r(68695))).default,CatalogLayer:async()=>(await Promise.all([r.e(9917),r.e(6914),r.e(7865),r.e(2292),r.e(5732),r.e(564),r.e(2869),r.e(3910),r.e(7552),r.e(1214),r.e(5051),r.e(2889),r.e(4473),r.e(5278),r.e(9789),r.e(4674),r.e(893),r.e(7283),r.e(7013),r.e(7067),r.e(7925)]).then(()=>r(83508))).default,DimensionFeatureLayer:async()=>(await Promise.all([r.e(9917),r.e(6914),r.e(7865),r.e(2292),r.e(5732),r.e(564),r.e(2869),r.e(3910),r.e(7552),r.e(2889),r.e(5278),r.e(4674),r.e(7283),r.e(3376)]).then(()=>r(25077))).default,DimensionLayer:async()=>(await Promise.all([r.e(9917),r.e(6914),r.e(6619)]).then(()=>r(71493))).default,ElevationLayer:async()=>(await Promise.all([r.e(9917),r.e(6914),r.e(9953),r.e(8732),r.e(2231)]).then(()=>r(38732))).default,FeatureLayer:async()=>(await Promise.all([r.e(6361),r.e(9917),r.e(6914),r.e(7865),r.e(2292),r.e(5732),r.e(9953),r.e(564),r.e(2869),r.e(3910),r.e(7552),r.e(1214),r.e(5051),r.e(2889),r.e(4473),r.e(5278),r.e(1017),r.e(9789),r.e(4674),r.e(7283),r.e(8589),r.e(3075)]).then(()=>r(18589))).default,GaussianSplatLayer:async()=>(await Promise.all([r.e(9917),r.e(6914),r.e(1133),r.e(6475)]).then(()=>r(36475))).default,GeoJSONLayer:async()=>(await Promise.all([r.e(9917),r.e(6914),r.e(7865),r.e(2292),r.e(5732),r.e(9953),r.e(564),r.e(2869),r.e(3910),r.e(7552),r.e(1214),r.e(5051),r.e(2889),r.e(4473),r.e(5278),r.e(1017),r.e(903)]).then(()=>r(15481))).default,GeoRSSLayer:async()=>(await Promise.all([r.e(9917),r.e(6914),r.e(7865),r.e(5732),r.e(2363)]).then(()=>r(63201))).default,GeospatialPDFLayer:async()=>(await Promise.all([r.e(9917),r.e(6914),r.e(9187),r.e(8885),r.e(9117),r.e(7865),r.e(2292),r.e(9953),r.e(564),r.e(3299),r.e(2869),r.e(3910),r.e(5130),r.e(2754),r.e(8605),r.e(9859),r.e(5485),r.e(4642),r.e(4907)]).then(()=>r(44907))).default,GroupLayer:async()=>(await Promise.all([r.e(9917),r.e(6914),r.e(7865),r.e(9866),r.e(6569)]).then(()=>r(85989))).default,ImageryLayer:async()=>(await Promise.all([r.e(9917),r.e(6914),r.e(7865),r.e(2292),r.e(5732),r.e(9953),r.e(564),r.e(2869),r.e(3910),r.e(7552),r.e(893),r.e(5130),r.e(8605),r.e(2254),r.e(7772),r.e(8768)]).then(()=>r(87772))).default,ImageryTileLayer:async()=>(await Promise.all([r.e(9917),r.e(6914),r.e(7865),r.e(2292),r.e(5732),r.e(9953),r.e(564),r.e(2869),r.e(3910),r.e(5130),r.e(2754),r.e(8605),r.e(9859),r.e(9235),r.e(2254),r.e(1003),r.e(2806),r.e(7870)]).then(()=>r(90124))).default,IntegratedMesh3DTilesLayer:async()=>(await Promise.all([r.e(9917),r.e(6914),r.e(9953),r.e(1133),r.e(6451),r.e(8241)]).then(()=>r(61528))).default,IntegratedMeshLayer:async()=>(await Promise.all([r.e(9917),r.e(6914),r.e(9953),r.e(7552),r.e(7005),r.e(9480),r.e(1133),r.e(5847),r.e(1859),r.e(6451),r.e(1379)]).then(()=>r(49013))).default,KMLLayer:async()=>(await Promise.all([r.e(9917),r.e(6914),r.e(7865),r.e(2292),r.e(5732),r.e(564),r.e(2869),r.e(3910),r.e(1214),r.e(5051),r.e(4473),r.e(8273)]).then(()=>r(162))).default,KnowledgeGraphLayer:async()=>(await Promise.all([r.e(9917),r.e(6914),r.e(7865),r.e(2292),r.e(5732),r.e(9953),r.e(564),r.e(2869),r.e(3910),r.e(7552),r.e(1214),r.e(5051),r.e(2889),r.e(4473),r.e(5278),r.e(1017),r.e(9789),r.e(9696),r.e(359),r.e(5752),r.e(3902),r.e(4720),r.e(4934),r.e(8692)]).then(()=>r(28692))).default,LineOfSightLayer:async()=>(await Promise.all([r.e(9917),r.e(6914),r.e(3888),r.e(9695)]).then(()=>r(49695))).default,LinkChartLayer:async()=>(await Promise.all([r.e(9917),r.e(6914),r.e(7865),r.e(2292),r.e(5732),r.e(9953),r.e(564),r.e(2869),r.e(3910),r.e(7552),r.e(1214),r.e(5051),r.e(2889),r.e(4473),r.e(5278),r.e(1017),r.e(9789),r.e(9696),r.e(359),r.e(5752),r.e(3902),r.e(4720),r.e(4934),r.e(3309)]).then(()=>r(93309))).default,MapImageLayer:async()=>(await Promise.all([r.e(9917),r.e(6914),r.e(7865),r.e(2292),r.e(5732),r.e(564),r.e(2869),r.e(3910),r.e(7552),r.e(1214),r.e(5051),r.e(2889),r.e(4473),r.e(5278),r.e(4674),r.e(893),r.e(8470),r.e(1474)]).then(()=>r(7656))).default,MapNotesLayer:async()=>(await Promise.all([r.e(6361),r.e(9917),r.e(6914),r.e(7865),r.e(2292),r.e(5732),r.e(9953),r.e(564),r.e(2869),r.e(3910),r.e(7552),r.e(1214),r.e(5051),r.e(2889),r.e(4473),r.e(5278),r.e(1017),r.e(9789),r.e(4674),r.e(7283),r.e(8589),r.e(4720),r.e(2469)]).then(()=>r(96299))).default,MediaLayer:async()=>(await Promise.all([r.e(6361),r.e(9917),r.e(6914),r.e(7865),r.e(5485),r.e(528)]).then(()=>r(99557))).default,OGCFeatureLayer:async()=>(await Promise.all([r.e(9917),r.e(6914),r.e(7865),r.e(2292),r.e(5732),r.e(564),r.e(2869),r.e(3910),r.e(7552),r.e(1214),r.e(5051),r.e(2889),r.e(4473),r.e(5278),r.e(1017),r.e(2629),r.e(5977)]).then(()=>r(65977))).default,OpenStreetMapLayer:async()=>(await Promise.all([r.e(9917),r.e(6914),r.e(7865),r.e(5732),r.e(919),r.e(349)]).then(()=>r(40349))).default,OrientedImageryLayer:async()=>(await Promise.all([r.e(6361),r.e(9917),r.e(6914),r.e(7865),r.e(2292),r.e(5732),r.e(9953),r.e(564),r.e(2869),r.e(3910),r.e(7552),r.e(1214),r.e(5051),r.e(2889),r.e(4473),r.e(5278),r.e(1017),r.e(9789),r.e(4674),r.e(7283),r.e(8589),r.e(6854)]).then(()=>r(16852))).default,ParquetLayer:async()=>(await Promise.all([r.e(6914),r.e(7865),r.e(2292),r.e(5732),r.e(9953),r.e(564),r.e(2869),r.e(3910),r.e(7552),r.e(1214),r.e(5051),r.e(2889),r.e(4473),r.e(5278),r.e(1017),r.e(3661),r.e(7320),r.e(99)]).then(()=>r(99680))).default,PointCloudLayer:async()=>(await Promise.all([r.e(9917),r.e(6914),r.e(2869),r.e(7984),r.e(7515)]).then(()=>r(77885))).default,RouteLayer:async()=>(await Promise.all([r.e(9917),r.e(6914),r.e(7865),r.e(2292),r.e(564),r.e(2869),r.e(3910),r.e(1214),r.e(5051),r.e(4473),r.e(2561)]).then(()=>r(39622))).default,SceneLayer:async()=>(await Promise.all([r.e(9917),r.e(6914),r.e(2292),r.e(564),r.e(2869),r.e(3910),r.e(7552),r.e(1214),r.e(5051),r.e(2889),r.e(4473),r.e(5278),r.e(7005),r.e(9480),r.e(2629),r.e(5854)]).then(()=>r(2e4))).default,StreamLayer:async()=>(await Promise.all([r.e(9917),r.e(6914),r.e(7865),r.e(2292),r.e(5732),r.e(564),r.e(2869),r.e(3910),r.e(7552),r.e(1214),r.e(5051),r.e(2889),r.e(4473),r.e(5278),r.e(1017),r.e(8593)]).then(()=>r(79457))).default,SubtypeGroupLayer:async()=>(await Promise.all([r.e(6361),r.e(9917),r.e(6914),r.e(7865),r.e(2292),r.e(5732),r.e(564),r.e(2869),r.e(3910),r.e(7552),r.e(2889),r.e(5278),r.e(9789),r.e(4674),r.e(7283),r.e(4451)]).then(()=>r(97483))).default,TileLayer:async()=>(await Promise.all([r.e(9917),r.e(6914),r.e(7865),r.e(2292),r.e(5732),r.e(564),r.e(2869),r.e(3910),r.e(7552),r.e(1214),r.e(5051),r.e(2889),r.e(4473),r.e(5278),r.e(4674),r.e(893),r.e(8470),r.e(6200)]).then(()=>r(71756))).default,UnknownLayer:async()=>(await Promise.all([r.e(9917),r.e(3928)]).then(()=>r(146))).default,UnsupportedLayer:async()=>(await Promise.all([r.e(9917),r.e(2819)]).then(()=>r(45165))).default,VectorTileLayer:async()=>(await Promise.all([r.e(9917),r.e(6914),r.e(7865),r.e(5732),r.e(9953),r.e(5228),r.e(8744),r.e(8659)]).then(()=>r(50638))).default,VideoLayer:async()=>(await Promise.all([r.e(9917),r.e(6914),r.e(7865),r.e(3910),r.e(4674),r.e(2565)]).then(()=>r(86875))).default,ViewshedLayer:async()=>(await Promise.all([r.e(9917),r.e(6914),r.e(3888),r.e(6650)]).then(()=>r(96650))).default,VoxelLayer:async()=>(await Promise.all([r.e(9917),r.e(6914),r.e(2869),r.e(4443)]).then(()=>r(21005))).default,WCSLayer:async()=>(await Promise.all([r.e(9917),r.e(6914),r.e(7865),r.e(2292),r.e(5732),r.e(9953),r.e(564),r.e(2869),r.e(3910),r.e(5130),r.e(2754),r.e(8605),r.e(9859),r.e(9235),r.e(2254),r.e(2806),r.e(2061)]).then(()=>r(20521))).default,WFSLayer:async()=>(await Promise.all([r.e(9917),r.e(6914),r.e(7865),r.e(2292),r.e(5732),r.e(9953),r.e(564),r.e(2869),r.e(3910),r.e(7552),r.e(1214),r.e(5051),r.e(2889),r.e(4473),r.e(5278),r.e(1017),r.e(5411)]).then(()=>r(21901))).default,WMSLayer:async()=>(await Promise.all([r.e(6361),r.e(9917),r.e(6914),r.e(7865),r.e(2292),r.e(5732),r.e(2869),r.e(3910),r.e(805)]).then(()=>r(51904))).default,WMTSLayer:async()=>(await Promise.all([r.e(9917),r.e(6914),r.e(7865),r.e(5732),r.e(919),r.e(309)]).then(()=>r(20309))).default,WebTileLayer:async()=>(await Promise.all([r.e(9917),r.e(6914),r.e(7865),r.e(5732),r.e(919)]).then(()=>r(47314))).default};r.d(a,["U",0,t])},7861(e,a,r){r.d(a,{L:()=>n});var t=r(56507);async function n(e,a){return(await(0,t.A)(e,{responseType:"json",query:{f:"json",...a?.customParameters,token:a?.apiKey}})).data}}}]);
@@ -1 +1 @@
1
- "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[5740],{46130(e,t,r){r.d(t,{v:()=>n});var a=r(76553);function n(e){e?.writtenProperties&&e.writtenProperties.forEach(({target:e,propName:t,newOrigin:r})=>{(0,a.H)(e)&&r&&e.originOf(t)!==r&&e.updateOrigin(t,r)})}},76553(e,t,r){function a(e){return e&&"getAtOrigin"in e&&"originOf"in e}r.d(t,{H:()=>a})},33359(e,t,r){r.d(t,{save:()=>C,saveAs:()=>x});var a=r(4576),n=(r(49186),r(71530)),o=r(60694),i=r(23154),s=(r(20655),r(80812),r(88788)),l=r(10407);const u="Feature Service",c="feature-layer-utils",y=`${c}-save`,f=`${c}-save-as`;function p(e){const t=e?.type;return("feature"===t||"subtype-group"===t||"oriented-imagery"===t||"dimension-feature"===t||"annotation-feature"===t)&&"feature-layer"===e?.source?.type}function m(e){return{isValid:p(e)&&(!("dynamicDataSource"in e)||!e.dynamicDataSource),errorMessage:"Feature layer should be a layer or table in a map or feature service"}}function d(e,t){const r=(0,s.m)(e,"portal-item");return t?.isTable&&(r.layerContainerType="tables"),r}function h(e){const t=[],r=[];for(const{layer:a,layerJSON:n}of e)w(a)?r.push(n):t.push(n);return{layers:t,tables:r}}function w(e,t){return e.isTable}function b(e){return h([e])}async function S(e,t){return/\/\d+\/?$/.test(e.url)?b(t[0]):async function(e,t){if(e.reverse(),!t)return h(e);const a=await async function(e,t){let a,n=await e.fetchData("json");if(!function(e){return!!(e&&Array.isArray(e.layers)&&Array.isArray(e.tables))}(n)||(0,l.Y)(e,l.mm.HOSTED_SERVICE))a=!0;else{if(function(e){return[...e.layers,...e.tables].every(e=>"layerType"in e&&!!e.layerType)}(n))return n;a=!1}n??={},function(e){e.layers??=[],e.tables??=[]}(n);const{layer:{url:o,customParameters:s,apiKey:u}}=t[0];return await async function(e,t,a,n){const{url:o,customParameters:s,apiKey:l}=t,{serviceJSON:u,layersJSON:c}=await(0,i.A6)(o,{customParameters:s,apiKey:l});if(!n)return void L(e,u);const y=T(e.layers,u.layers,a),f=T(e.tables,u.tables,a);e.layers=y.itemResources,e.tables=f.itemResources,L(e,u);const p=[...y.added,...f.added],m=c?[...c.layers,...c.tables]:[];await async function(e,t,a,n){const o=await async function(e){const t=new Set,a=[];for(const{type:n}of e){const e=(0,i.Jo)(n);if(e&&!t.has(n))switch(t.add(n),e){case"AnnotationFeatureLayer":a.push(r.e(737).then(()=>r(20737)).then(e=>e.default));break;case"CatalogLayer":a.push(Promise.all([r.e(1214),r.e(5051),r.e(4473),r.e(9789),r.e(893),r.e(7013),r.e(7067)]).then(()=>r(83508)).then(e=>e.default));break;case"DimensionFeatureLayer":a.push(r.e(5077).then(()=>r(25077)).then(e=>e.default));break;case"FeatureLayer":a.push(Promise.all([r.e(5620),r.e(9953),r.e(1214),r.e(5051),r.e(4473),r.e(1017),r.e(9789),r.e(8589),r.e(4500)]).then(()=>r(18589)).then(e=>e.default));break;case"OrientedImageryLayer":a.push(Promise.all([r.e(5620),r.e(9953),r.e(1214),r.e(5051),r.e(4473),r.e(1017),r.e(9789),r.e(8589),r.e(5651)]).then(()=>r(16852)).then(e=>e.default))}}const n=await Promise.all(a),o=new Map;return Array.from(t).forEach((e,t)=>{o.set(e,n[t])}),o}(t),s=[];for(const{id:e,type:r}of t){const t=o.get(r);t&&s.push(new t({url:a,layerId:e,sourceJSON:n.find(({id:t})=>t===e)}))}await Promise.allSettled(s.map(e=>e.load()));for(const t of s){const{layerId:r,loaded:a}=t;if(!a||!("defaultPopupTemplate"in t)||!t.defaultPopupTemplate)continue;const n={id:r,popupInfo:t.defaultPopupTemplate.toJSON()};g(t,"ArcGISFeatureLayer"===t.operationalLayerType?n:{...n,layerType:t.operationalLayerType},e)}}(e,p,o,m)}(n,{url:o??"",customParameters:s,apiKey:u},t.map(e=>e.layer.layerId),a),n}(t,e);for(const t of e)g(t.layer,t.layerJSON,a);return function(e,t){const r=[],a=[];for(const{layer:e}of t){const{isTable:t,layerId:n}=e;t?a.push(n):r.push(n)}v(e.layers,r),v(e.tables,a)}(a,e),a}(t,e)}function v(e,t){if(e.length<2)return;const r=[];for(const{id:t}of e)r.push(t);(0,a.aI)(r.sort(I),t.slice().sort(I))&&e.sort((e,r)=>{const a=t.indexOf(e.id),n=t.indexOf(r.id);return a<n?-1:a>n?1:0})}function I(e,t){return e<t?-1:e>t?1:0}function T(e,t,r){const n=(0,a.iv)(e,t,(e,t)=>e.id===t.id);e=e.filter(e=>!n.removed.some(t=>t.id===e.id));const o=n.added;for(const{id:t}of o)e.push({id:t});return{itemResources:e,added:o.filter(({id:e})=>!r.includes(e))}}function g(e,t,r){e.isTable?A(r.tables,t):A(r.layers,t)}function A(e,t){const r=e.findIndex(({id:e})=>e===t.id);-1===r?e.push(t):e[r]=t}function L(e,t){const r=e.layers??[],a=e.tables??[],n=[...t.layers??[],...t.tables??[]];for(const e of[...r,...a]){const{id:t}=e;if("layerType"in e&&e.layerType)continue;const r=n.find(({id:e})=>e===t);if(!r)continue;const o=(0,i.Aq)(r.type,a.includes(e));o&&P(0,o)&&O(o)&&(e.layerType=o)}}function P(e,t){return"ArcGISFeatureLayer"!==t&&"Table"!==t}function O(e){return"ArcGISFeatureLayer"!==e&&"Table"!==e}function N(e){if(!("layerType"in e))return!!e.charts?.length;switch(e.layerType){case"CatalogLayer":return!!e.footprintLayer?.charts?.length;case"OrientedImageryLayer":return!!e.charts?.length;case"SubtypeGroupLayer":return!!e.layers.some(e=>!!e.charts?.length);case"SubtypeGroupTable":return!!e.tables.some(e=>!!e.charts?.length)}return!1}function R(e,t){let r=0,a=0,n=0,o=0,i=0,s=0,u=0;for(const e of[...t.layers,...t.tables])if(N(e)&&u++,"layerType"in e)switch(e.layerType){case"CatalogLayer":r++;break;case"OrientedImageryLayer":a++;break;case"ParcelLayer":i++;break;case"SubtypeGroupLayer":n++;break;case"SubtypeGroupTable":o++;break;case"UtilityNetworkLayer":s++}(0,l.Sm)(e,l.mm.CATALOG_LAYER,r>0),(0,l.Sm)(e,l.mm.ORIENTED_IMAGERY_LAYER,a>0),(0,l.Sm)(e,l.mm.PARCEL_FABRIC,i>0),(0,l.Sm)(e,l.mm.SUBTYPE_GROUP_LAYER,n>0),(0,l.Sm)(e,l.mm.SUBTYPE_GROUP_TABLE,o>0),(0,l.Sm)(e,l.mm.UTILITY_NETWORK,s>0),(0,l.Sm)(e,l.mm.CHARTS,u>0)}function E(e,t,r){R(t,r)}async function U(e,t,r){const{url:a,layerId:n,title:i,fullExtent:s,isTable:u}=e,c=(0,o.qg)(a);t.url=("FeatureServer"===c?.serverType?a:`${a}/${n}`)??null,t.title||=i,t.extent=null,u||null==s||(t.extent=await(0,l.sQ)(s)),function(e,t,r){(0,l.OM)(t,l.mm.METADATA),(0,l.Sm)(t,l.mm.MULTI_LAYER,e.length>1),(0,l.Sm)(t,l.mm.SINGLE_LAYER,1===e.length),(0,l.Sm)(t,l.mm.TABLE,r.tables.length>0&&0===r.layers.length),R(t,r)}([e],t,r)}async function C(e,t){return(0,n.UN)({layer:e,itemType:u,validateLayer:m,createJSONContext:t=>d(t,e),createItemData:(e,t)=>S(t,[e]),errorNamePrefix:y,setItemProperties:E},t)}async function x(e,t,r){return(0,n.Uh)({layer:e,itemType:u,validateLayer:m,createJSONContext:t=>d(t,e),createItemData:(e,t)=>Promise.resolve(b(e)),errorNamePrefix:f,newItem:t,setItemProperties:U},r)}},71530(e,t,r){r.d(t,{UN:()=>b,Uh:()=>S});var a=r(49186),n=r(46130),o=r(20655),i=r(80812),s=r(88788),l=r(10407),u=r(26121);async function c(e){const{layer:t,errorNamePrefix:r,validateLayer:n}=e;await t.load(),function(e,t,r){const n=r(e);if(!n.isValid)throw new a.A(`${t}:invalid-parameters`,n.errorMessage,{layer:e})}(t,r,n)}function y(e,t){return`Layer (title: ${e.title}, id: ${e.id}) of type '${e.declaredClass}' ${t}`}function f(e){const{item:t,errorNamePrefix:r,layer:n,validateItem:o}=e;if(function(e){const{item:t,itemType:r,additionalItemType:n,errorNamePrefix:o,layer:i}=e,s=[r];if(n&&s.push(n),!s.includes(t.type)){const e=s.map(e=>`'${e}'`).join(", ");throw new a.A(`${o}:portal-item-wrong-type`,`Portal item type should be one of: "${e}"`,{item:t,layer:i})}}(e),o){const e=o(t);if(!e.isValid)throw new a.A(`${r}:invalid-parameters`,e.errorMessage,{layer:n})}}function p(e){const{layer:t,errorNamePrefix:r}=e,{portalItem:n}=t;if(!n)throw new a.A(`${r}:portal-item-not-set`,y(t,"requires the portalItem property to be set"));if(!n.loaded)throw new a.A(`${r}:portal-item-not-loaded`,y(t,"cannot be saved to a portal item that does not exist or is inaccessible"));f({...e,item:n})}function m(e){const{newItem:t,itemType:r}=e;let a=i.default.from(t);return a.id&&(a=a.clone(),a.id=null),a.type??=r,a.portal??=o.A.getDefault(),f({...e,item:a}),a}function d(e){return(0,s.m)(e,"portal-item")}async function h(e,t,r){"beforeSave"in e&&"function"==typeof e.beforeSave&&await e.beforeSave();const a=e.write({},t);return await Promise.all(t.resources?.pendingOperations??[]),(0,u.ci)(t,{errorName:"layer-write:unsupported"},r),a}function w(e){(0,l.LG)(e,l.mm.JSAPI),e.typeKeywords&&(e.typeKeywords=e.typeKeywords.filter((e,t,r)=>r.indexOf(e)===t))}async function b(e,t){const{layer:r,createItemData:a,createJSONContext:o,setItemProperties:i,saveResources:s,supplementalUnsupportedErrors:l}=e;await c(e),p(e);const u=r.portalItem,y=o?o(u):d(u),f=await h(r,y,{...t,supplementalUnsupportedErrors:l}),m=await a({layer:r,layerJSON:f},u);return await(i?.(r,u,m)),w(u),await u.update({data:m}),(0,n.v)(y),await(s?.(u,y)),u}async function S(e,t){const{layer:r,createItemData:a,createJSONContext:o,setItemProperties:i,saveResources:s,supplementalUnsupportedErrors:l}=e;await c(e);const u=m(e),y=o?o(u):d(u),f=await h(r,y,{...t,supplementalUnsupportedErrors:l}),p=await a({layer:r,layerJSON:f},u);return await i(r,u,p),w(u),await async function(e,t,r){const a=e.portal;await a.signIn(),await a.user.addItem({item:e,data:t,folder:r?.folder})}(u,p,t),r.portalItem=u,(0,n.v)(y),await(s?.(u,y)),u}},88788(e,t,r){r.d(t,{m:()=>i,v:()=>o});var a=r(84952),n=r(20655);function o(e,t){return{...s(e,t),readResourcePaths:[]}}function i(e,t,r){const n=(0,a.An)(r?.forceNewItemContext?null:e.itemUrl);return{...s(e,t,r),messages:[],writtenProperties:[],blockedRelativeUrls:[],verifyItemRelativeUrls:n?{rootPath:n.path,writtenUrls:[]}:null,resources:r?.withResources?{toAdd:[],toUpdate:[],toKeep:[],pendingOperations:[]}:null}}function s(e,t,r){return{origin:t,url:(0,a.An)(r?.forceNewItemContext?null:e.itemUrl),portal:e.portal||n.A.getDefault(),portalItem:e}}},26121(e,t,r){r.d(t,{I6:()=>l,ci:()=>s,dL:()=>i});var a=r(49186),n=r(77548),o=r(59923);async function i(e){const t=[];for(const r of e.allLayers)if("beforeSave"in r&&"function"==typeof r.beforeSave){const e=r.beforeSave();e&&t.push(e)}await Promise.allSettled(t)}function s(e,t,r){let n=(e.messages??[]).filter(({type:e})=>"error"===e).map(({name:e,message:t,details:r})=>new a.A(e,t,r));if(e.blockedRelativeUrls&&(n=n.concat(e.blockedRelativeUrls.map(e=>(0,o.GL)("url",`Relative url '${e}' is not supported`)))),r){const{ignoreUnsupported:e,supplementalUnsupportedErrors:t=[],requiredPropertyChecksDisabled:a}=r;e&&(n=n.filter(({name:e})=>!(o.MG.has(e)||t.includes(e)))),a&&(n=n.filter(e=>"web-document-write:property-required"!==e.name))}if(n.length>0)throw new a.A(t.errorName,"Failed to save due to unsupported or invalid content. See 'details.errors' for more detailed information",{errors:n})}function l(e){return(0,n.qd)(e).some(e=>!!e.charts?.length)}}}]);
1
+ "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[5740],{46130(e,t,r){r.d(t,{v:()=>n});var a=r(76553);function n(e){e?.writtenProperties&&e.writtenProperties.forEach(({target:e,propName:t,newOrigin:r})=>{(0,a.H)(e)&&r&&e.originOf(t)!==r&&e.updateOrigin(t,r)})}},76553(e,t,r){function a(e){return e&&"getAtOrigin"in e&&"originOf"in e}r.d(t,{H:()=>a})},33359(e,t,r){r.d(t,{save:()=>C,saveAs:()=>x});var a=r(4576),n=(r(49186),r(71530)),o=r(60694),i=r(23154),s=(r(20655),r(80812),r(88788)),l=r(10407);const u="Feature Service",c="feature-layer-utils",y=`${c}-save`,f=`${c}-save-as`;function p(e){const t=e?.type;return("feature"===t||"subtype-group"===t||"oriented-imagery"===t||"dimension-feature"===t||"annotation-feature"===t)&&"feature-layer"===e?.source?.type}function m(e){return{isValid:p(e)&&(!("dynamicDataSource"in e)||!e.dynamicDataSource),errorMessage:"Feature layer should be a layer or table in a map or feature service"}}function d(e,t){const r=(0,s.m)(e,"portal-item");return t?.isTable&&(r.layerContainerType="tables"),r}function h(e){const t=[],r=[];for(const{layer:a,layerJSON:n}of e)w(a)?r.push(n):t.push(n);return{layers:t,tables:r}}function w(e,t){return e.isTable}function b(e){return h([e])}async function S(e,t){return/\/\d+\/?$/.test(e.url)?b(t[0]):async function(e,t){if(e.reverse(),!t)return h(e);const a=await async function(e,t){let a,n=await e.fetchData("json");if(!function(e){return!!(e&&Array.isArray(e.layers)&&Array.isArray(e.tables))}(n)||(0,l.Y)(e,l.mm.HOSTED_SERVICE))a=!0;else{if(function(e){return[...e.layers,...e.tables].every(e=>"layerType"in e&&!!e.layerType)}(n))return n;a=!1}n??={},function(e){e.layers??=[],e.tables??=[]}(n);const{layer:{url:o,customParameters:s,apiKey:u}}=t[0];return await async function(e,t,a,n){const{url:o,customParameters:s,apiKey:l}=t,{serviceJSON:u,layersJSON:c}=await(0,i.A6)(o,{customParameters:s,apiKey:l});if(!n)return void L(e,u);const y=T(e.layers,u.layers,a),f=T(e.tables,u.tables,a);e.layers=y.itemResources,e.tables=f.itemResources,L(e,u);const p=[...y.added,...f.added],m=c?[...c.layers,...c.tables]:[];await async function(e,t,a,n){const o=await async function(e){const t=new Set,a=[];for(const{type:n}of e){const e=(0,i.Jo)(n);if(e&&!t.has(n))switch(t.add(n),e){case"AnnotationFeatureLayer":a.push(r.e(737).then(()=>r(20737)).then(e=>e.default));break;case"CatalogLayer":a.push(Promise.all([r.e(1214),r.e(5051),r.e(4473),r.e(9789),r.e(893),r.e(7013),r.e(7067)]).then(()=>r(83508)).then(e=>e.default));break;case"DimensionFeatureLayer":a.push(r.e(5077).then(()=>r(25077)).then(e=>e.default));break;case"FeatureLayer":a.push(Promise.all([r.e(6361),r.e(9953),r.e(1214),r.e(5051),r.e(4473),r.e(1017),r.e(9789),r.e(8589),r.e(4500)]).then(()=>r(18589)).then(e=>e.default));break;case"OrientedImageryLayer":a.push(Promise.all([r.e(6361),r.e(9953),r.e(1214),r.e(5051),r.e(4473),r.e(1017),r.e(9789),r.e(8589),r.e(5651)]).then(()=>r(16852)).then(e=>e.default))}}const n=await Promise.all(a),o=new Map;return Array.from(t).forEach((e,t)=>{o.set(e,n[t])}),o}(t),s=[];for(const{id:e,type:r}of t){const t=o.get(r);t&&s.push(new t({url:a,layerId:e,sourceJSON:n.find(({id:t})=>t===e)}))}await Promise.allSettled(s.map(e=>e.load()));for(const t of s){const{layerId:r,loaded:a}=t;if(!a||!("defaultPopupTemplate"in t)||!t.defaultPopupTemplate)continue;const n={id:r,popupInfo:t.defaultPopupTemplate.toJSON()};g(t,"ArcGISFeatureLayer"===t.operationalLayerType?n:{...n,layerType:t.operationalLayerType},e)}}(e,p,o,m)}(n,{url:o??"",customParameters:s,apiKey:u},t.map(e=>e.layer.layerId),a),n}(t,e);for(const t of e)g(t.layer,t.layerJSON,a);return function(e,t){const r=[],a=[];for(const{layer:e}of t){const{isTable:t,layerId:n}=e;t?a.push(n):r.push(n)}v(e.layers,r),v(e.tables,a)}(a,e),a}(t,e)}function v(e,t){if(e.length<2)return;const r=[];for(const{id:t}of e)r.push(t);(0,a.aI)(r.sort(I),t.slice().sort(I))&&e.sort((e,r)=>{const a=t.indexOf(e.id),n=t.indexOf(r.id);return a<n?-1:a>n?1:0})}function I(e,t){return e<t?-1:e>t?1:0}function T(e,t,r){const n=(0,a.iv)(e,t,(e,t)=>e.id===t.id);e=e.filter(e=>!n.removed.some(t=>t.id===e.id));const o=n.added;for(const{id:t}of o)e.push({id:t});return{itemResources:e,added:o.filter(({id:e})=>!r.includes(e))}}function g(e,t,r){e.isTable?A(r.tables,t):A(r.layers,t)}function A(e,t){const r=e.findIndex(({id:e})=>e===t.id);-1===r?e.push(t):e[r]=t}function L(e,t){const r=e.layers??[],a=e.tables??[],n=[...t.layers??[],...t.tables??[]];for(const e of[...r,...a]){const{id:t}=e;if("layerType"in e&&e.layerType)continue;const r=n.find(({id:e})=>e===t);if(!r)continue;const o=(0,i.Aq)(r.type,a.includes(e));o&&P(0,o)&&O(o)&&(e.layerType=o)}}function P(e,t){return"ArcGISFeatureLayer"!==t&&"Table"!==t}function O(e){return"ArcGISFeatureLayer"!==e&&"Table"!==e}function N(e){if(!("layerType"in e))return!!e.charts?.length;switch(e.layerType){case"CatalogLayer":return!!e.footprintLayer?.charts?.length;case"OrientedImageryLayer":return!!e.charts?.length;case"SubtypeGroupLayer":return!!e.layers.some(e=>!!e.charts?.length);case"SubtypeGroupTable":return!!e.tables.some(e=>!!e.charts?.length)}return!1}function R(e,t){let r=0,a=0,n=0,o=0,i=0,s=0,u=0;for(const e of[...t.layers,...t.tables])if(N(e)&&u++,"layerType"in e)switch(e.layerType){case"CatalogLayer":r++;break;case"OrientedImageryLayer":a++;break;case"ParcelLayer":i++;break;case"SubtypeGroupLayer":n++;break;case"SubtypeGroupTable":o++;break;case"UtilityNetworkLayer":s++}(0,l.Sm)(e,l.mm.CATALOG_LAYER,r>0),(0,l.Sm)(e,l.mm.ORIENTED_IMAGERY_LAYER,a>0),(0,l.Sm)(e,l.mm.PARCEL_FABRIC,i>0),(0,l.Sm)(e,l.mm.SUBTYPE_GROUP_LAYER,n>0),(0,l.Sm)(e,l.mm.SUBTYPE_GROUP_TABLE,o>0),(0,l.Sm)(e,l.mm.UTILITY_NETWORK,s>0),(0,l.Sm)(e,l.mm.CHARTS,u>0)}function E(e,t,r){R(t,r)}async function U(e,t,r){const{url:a,layerId:n,title:i,fullExtent:s,isTable:u}=e,c=(0,o.qg)(a);t.url=("FeatureServer"===c?.serverType?a:`${a}/${n}`)??null,t.title||=i,t.extent=null,u||null==s||(t.extent=await(0,l.sQ)(s)),function(e,t,r){(0,l.OM)(t,l.mm.METADATA),(0,l.Sm)(t,l.mm.MULTI_LAYER,e.length>1),(0,l.Sm)(t,l.mm.SINGLE_LAYER,1===e.length),(0,l.Sm)(t,l.mm.TABLE,r.tables.length>0&&0===r.layers.length),R(t,r)}([e],t,r)}async function C(e,t){return(0,n.UN)({layer:e,itemType:u,validateLayer:m,createJSONContext:t=>d(t,e),createItemData:(e,t)=>S(t,[e]),errorNamePrefix:y,setItemProperties:E},t)}async function x(e,t,r){return(0,n.Uh)({layer:e,itemType:u,validateLayer:m,createJSONContext:t=>d(t,e),createItemData:(e,t)=>Promise.resolve(b(e)),errorNamePrefix:f,newItem:t,setItemProperties:U},r)}},71530(e,t,r){r.d(t,{UN:()=>b,Uh:()=>S});var a=r(49186),n=r(46130),o=r(20655),i=r(80812),s=r(88788),l=r(10407),u=r(26121);async function c(e){const{layer:t,errorNamePrefix:r,validateLayer:n}=e;await t.load(),function(e,t,r){const n=r(e);if(!n.isValid)throw new a.A(`${t}:invalid-parameters`,n.errorMessage,{layer:e})}(t,r,n)}function y(e,t){return`Layer (title: ${e.title}, id: ${e.id}) of type '${e.declaredClass}' ${t}`}function f(e){const{item:t,errorNamePrefix:r,layer:n,validateItem:o}=e;if(function(e){const{item:t,itemType:r,additionalItemType:n,errorNamePrefix:o,layer:i}=e,s=[r];if(n&&s.push(n),!s.includes(t.type)){const e=s.map(e=>`'${e}'`).join(", ");throw new a.A(`${o}:portal-item-wrong-type`,`Portal item type should be one of: "${e}"`,{item:t,layer:i})}}(e),o){const e=o(t);if(!e.isValid)throw new a.A(`${r}:invalid-parameters`,e.errorMessage,{layer:n})}}function p(e){const{layer:t,errorNamePrefix:r}=e,{portalItem:n}=t;if(!n)throw new a.A(`${r}:portal-item-not-set`,y(t,"requires the portalItem property to be set"));if(!n.loaded)throw new a.A(`${r}:portal-item-not-loaded`,y(t,"cannot be saved to a portal item that does not exist or is inaccessible"));f({...e,item:n})}function m(e){const{newItem:t,itemType:r}=e;let a=i.default.from(t);return a.id&&(a=a.clone(),a.id=null),a.type??=r,a.portal??=o.A.getDefault(),f({...e,item:a}),a}function d(e){return(0,s.m)(e,"portal-item")}async function h(e,t,r){"beforeSave"in e&&"function"==typeof e.beforeSave&&await e.beforeSave();const a=e.write({},t);return await Promise.all(t.resources?.pendingOperations??[]),(0,u.ci)(t,{errorName:"layer-write:unsupported"},r),a}function w(e){(0,l.LG)(e,l.mm.JSAPI),e.typeKeywords&&(e.typeKeywords=e.typeKeywords.filter((e,t,r)=>r.indexOf(e)===t))}async function b(e,t){const{layer:r,createItemData:a,createJSONContext:o,setItemProperties:i,saveResources:s,supplementalUnsupportedErrors:l}=e;await c(e),p(e);const u=r.portalItem,y=o?o(u):d(u),f=await h(r,y,{...t,supplementalUnsupportedErrors:l}),m=await a({layer:r,layerJSON:f},u);return await(i?.(r,u,m)),w(u),await u.update({data:m}),(0,n.v)(y),await(s?.(u,y)),u}async function S(e,t){const{layer:r,createItemData:a,createJSONContext:o,setItemProperties:i,saveResources:s,supplementalUnsupportedErrors:l}=e;await c(e);const u=m(e),y=o?o(u):d(u),f=await h(r,y,{...t,supplementalUnsupportedErrors:l}),p=await a({layer:r,layerJSON:f},u);return await i(r,u,p),w(u),await async function(e,t,r){const a=e.portal;await a.signIn(),await a.user.addItem({item:e,data:t,folder:r?.folder})}(u,p,t),r.portalItem=u,(0,n.v)(y),await(s?.(u,y)),u}},88788(e,t,r){r.d(t,{m:()=>i,v:()=>o});var a=r(84952),n=r(20655);function o(e,t){return{...s(e,t),readResourcePaths:[]}}function i(e,t,r){const n=(0,a.An)(r?.forceNewItemContext?null:e.itemUrl);return{...s(e,t,r),messages:[],writtenProperties:[],blockedRelativeUrls:[],verifyItemRelativeUrls:n?{rootPath:n.path,writtenUrls:[]}:null,resources:r?.withResources?{toAdd:[],toUpdate:[],toKeep:[],pendingOperations:[]}:null}}function s(e,t,r){return{origin:t,url:(0,a.An)(r?.forceNewItemContext?null:e.itemUrl),portal:e.portal||n.A.getDefault(),portalItem:e}}},26121(e,t,r){r.d(t,{I6:()=>l,ci:()=>s,dL:()=>i});var a=r(49186),n=r(77548),o=r(59923);async function i(e){const t=[];for(const r of e.allLayers)if("beforeSave"in r&&"function"==typeof r.beforeSave){const e=r.beforeSave();e&&t.push(e)}await Promise.allSettled(t)}function s(e,t,r){let n=(e.messages??[]).filter(({type:e})=>"error"===e).map(({name:e,message:t,details:r})=>new a.A(e,t,r));if(e.blockedRelativeUrls&&(n=n.concat(e.blockedRelativeUrls.map(e=>(0,o.GL)("url",`Relative url '${e}' is not supported`)))),r){const{ignoreUnsupported:e,supplementalUnsupportedErrors:t=[],requiredPropertyChecksDisabled:a}=r;e&&(n=n.filter(({name:e})=>!(o.MG.has(e)||t.includes(e)))),a&&(n=n.filter(e=>"web-document-write:property-required"!==e.name))}if(n.length>0)throw new a.A(t.errorName,"Failed to save due to unsupported or invalid content. See 'details.errors' for more detailed information",{errors:n})}function l(e){return(0,n.qd)(e).some(e=>!!e.charts?.length)}}}]);
@@ -1 +1 @@
1
- "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[909,8559],{48526(e,t,a){a.d(t,{A:()=>d});var r,n=a(32198),s=a(4576),i=a(4718),l=a(91429),o=a(5443),c=a(91075),u=a(86738),y=a(16930),f=a(90634),h=a(47610),p=a(56993),m=a(43937);let d=r=class extends c.A{constructor(e){super(function(e){if(!e)return;let{points:t,hasM:a,hasZ:r,spatialReference:n}=e;switch(t??=[],t?.at(0)?.length){case 4:r??=!0,a??=!0;break;case 3:r??=!0!==a,a??=!r;break;default:r??=!1,a??=!1}return n??=y.A.WGS84,{...e,hasM:a,hasZ:r,points:t,spatialReference:n}}(e)),this.points=[],this.type="multipoint"}get cache(){return this.commitProperty("points"),this.commitProperty("hasZ"),this.commitProperty("hasM"),this.commitProperty("spatialReference"),{}}get extent(){const e=(0,f.ge)(this);return e?new o.A({...e,spatialReference:this.spatialReference}):null}writePoints(e,t){t.points=(0,i.o8)(this.points)}clone(){const{points:e,spatialReference:t,hasM:a,hasZ:n}=this;return new r({points:(0,i.o8)(e),spatialReference:t.clone(),hasM:a,hasZ:n})}equals(e){if(this===e)return!0;if(null==e)return!1;const t=this.spatialReference,a=e.spatialReference;return null!=t==(null!=a)&&!(null!=t&&null!=a&&!t.equals(a))&&(0,s.aI)(this.points,e.points,h.v6)}addPoint(e){return(0,p.h)(this,e),Array.isArray(e)?this.points.push(e):this.points.push(e.toArray()),this.notifyChange("points"),this}getPoint(e){if(!this._validateInputs(e))return null;const t=this.points[e],a={x:t[0],y:t[1],spatialReference:this.spatialReference};let r=2;return this.hasZ&&(a.z=t[2],r=3),this.hasM&&(a.m=t[r]),new u.A(a)}removePoint(e){if(!this._validateInputs(e))return null;const t=new u.A(this.points.splice(e,1)[0],this.spatialReference);return this.notifyChange("points"),t}setPoint(e,t){return this._validateInputs(e)?((0,p.h)(this,t),Array.isArray(t)||(t=t.toArray()),this.points[e]=t,this.notifyChange("points"),this):this}toJSON(e){return this.write({},e)}_validateInputs(e){return null!=e&&e>=0&&e<this.points.length}};(0,n.Cg)([(0,l.MZ)({readOnly:!0})],d.prototype,"cache",null),(0,n.Cg)([(0,l.MZ)({readOnly:!0})],d.prototype,"extent",null),(0,n.Cg)([(0,l.MZ)({type:[[Number]],json:{write:{isRequired:!0}}})],d.prototype,"points",void 0),(0,n.Cg)([(0,m.K)("points")],d.prototype,"writePoints",null),d=r=(0,n.Cg)([(0,l.$K)("esri.geometry.Multipoint")],d),d.prototype.toJSON.isDefaultToJSON=!0},82799(e,t,a){a.d(t,{A:()=>p});var r,n=a(32198),s=a(4718),i=a(91429),l=a(5443),o=a(91075),c=a(86738),u=a(16930),y=a(90634),f=a(56993),h=a(43937);let p=r=class extends o.A{constructor(e){super(function(e){if(!e)return;let{paths:t,hasM:a,hasZ:r,spatialReference:n}=e;switch(t??=[],function(e){return"number"==typeof e[0]?.[0]}(t)&&(t=[t]),t[0]?.[0]?.length){case 4:r??=!0,a??=!0;break;case 3:r??=!0!==a,a??=!r;break;default:r??=!1,a??=!1}return n??=u.A.WGS84,{...e,hasM:a,hasZ:r,paths:t,spatialReference:n}}(e)),this.curvePaths=void 0,this.paths=[],this.type="polyline"}get cache(){return this.commitProperty("curvePaths"),this.commitProperty("hasM"),this.commitProperty("hasZ"),this.commitProperty("paths"),this.commitProperty("spatialReference"),{}}writeCurvePaths(e,t){t.curvePaths=(0,s.o8)(e)}get extent(){const e=(0,y.Z3)(this),{spatialReference:t}=this;return e?new l.A({...e,spatialReference:t}):null}writePaths(e,t){t.paths=(0,s.o8)(this.paths)}addPath(e){if(!e)return;const t=this.paths,a=t.length;if(function(e){return!Array.isArray(e[0])}(e)){const r=[];for(let t=0,a=e.length;t<a;t++)r[t]=e[t].toArray();t[a]=r}else t[a]=e.slice();return this.notifyChange("paths"),this}clone(){const e=new r;return e.spatialReference=this.spatialReference,e.paths=(0,s.o8)(this.paths),e.curvePaths=(0,s.o8)(this.curvePaths),e.hasZ=this.hasZ,e.hasM=this.hasM,e}getPoint(e,t){if(!this._validateInputs(e,t))return null;const a=this.paths[e][t],r=this.hasZ,n=this.hasM;return r&&!n?new c.A(a[0],a[1],a[2],void 0,this.spatialReference):n&&!r?new c.A(a[0],a[1],void 0,a[2],this.spatialReference):r&&n?new c.A(a[0],a[1],a[2],a[3],this.spatialReference):new c.A(a[0],a[1],this.spatialReference)}insertPoint(e,t,a){return this._validateInputs(e,t,!0)?((0,f.h)(this,a),Array.isArray(a)||(a=a.toArray()),this.paths[e].splice(t,0,a),this.notifyChange("paths"),this):this}removePath(e){if(!this._validateInputs(e,null))return null;const t=this.paths.splice(e,1)[0],a=this.spatialReference,r=t.map(e=>new c.A(e,a));return this.notifyChange("paths"),r}removePoint(e,t){if(!this._validateInputs(e,t))return null;const a=new c.A(this.paths[e].splice(t,1)[0],this.spatialReference);return this.notifyChange("paths"),a}setPoint(e,t,a){return this._validateInputs(e,t)?((0,f.h)(this,a),Array.isArray(a)||(a=a.toArray()),this.paths[e][t]=a,this.notifyChange("paths"),this):this}_validateInputs(e,t,a=!1){if(null==e||e<0||e>=this.paths.length)return!1;if(null!=t){const r=this.paths[e];if(a&&(t<0||t>r.length))return!1;if(!a&&(t<0||t>=r.length))return!1}return!0}toJSON(e){return this.write({},e)}};(0,n.Cg)([(0,i.MZ)({readOnly:!0})],p.prototype,"cache",null),(0,n.Cg)([(0,i.MZ)({json:{write:!0,origins:{"portal-item":{write:!1},"web-map":{write:!1},"web-scene":{write:!1}}}})],p.prototype,"curvePaths",void 0),(0,n.Cg)([(0,h.K)("curvePaths")],p.prototype,"writeCurvePaths",null),(0,n.Cg)([(0,i.MZ)({readOnly:!0})],p.prototype,"extent",null),(0,n.Cg)([(0,i.MZ)({type:[[[Number]]],json:{write:{isRequired:!0}}})],p.prototype,"paths",void 0),(0,n.Cg)([(0,h.K)("paths")],p.prototype,"writePaths",null),p=r=(0,n.Cg)([(0,i.$K)("esri.geometry.Polyline")],p),p.prototype.toJSON.isDefaultToJSON=!0},60408(e,t,a){function r(e){return void 0!==e.xmin&&void 0!==e.ymin&&void 0!==e.xmax&&void 0!==e.ymax}function n(e){return void 0!==e.points}function s(e){return void 0!==e.x&&void 0!==e.y}function i(e){return void 0!==e.paths||void 0!==e.curvePaths}function l(e){return void 0!==e.rings||void 0!==e.curveRings}function o(e){return"object"==typeof e&&"vertexAttributes"in e}function c(e){return e?s(e)?"esriGeometryPoint":i(e)?"esriGeometryPolyline":l(e)?"esriGeometryPolygon":r(e)?"esriGeometryEnvelope":n(e)?"esriGeometryMultipoint":null:null}function u(e){return null!=e&&("hasZ"in e&&e.hasZ||"z"in e&&null!=e.z)}function y(e){return null!=e&&("hasM"in e&&e.hasM||"m"in e&&null!=e.m)}a.d(t,{$B:()=>c,Bi:()=>l,Pv:()=>u,Rg:()=>i,U9:()=>n,W0:()=>y,ZC:()=>r,fT:()=>s,uW:()=>o})},22429(e,t,a){a.d(t,{v:()=>n});var r=a(7861);class n{constructor(){this._serviceMetadatas=new Map,this._itemDatas=new Map}async fetchServiceMetadata(e,t){const a=this._serviceMetadatas.get(e);if(a)return a;const n=await(0,r.L)(e,t);return this._serviceMetadatas.set(e,n),n}async fetchItemData(e){const{id:t}=e;if(!t)return null;const{_itemDatas:a}=this;if(a.has(t))return a.get(t);const r=await e.fetchData();return a.set(t,r),r}async fetchCustomParameters(e,t){const a=await this.fetchItemData(e);return a&&"object"==typeof a&&(t?t(a):a.customParameters)||null}}},92009(e,t,a){a.d(t,{L:()=>u});var r=a(70333),n=a(56507),s=a(49186),i=a(17676),l=a(60694),o=a(20655),c=a(80812);async function u(e,t){const a=(0,l.qg)(e);if(!a)throw new s.A("invalid-url","Invalid scene service url");const u={...t,sceneServerUrl:a.url.path,layerId:a.sublayer??void 0};if(u.sceneLayerItem??=await async function(e){const t=(await y(e)).serviceItemId;if(!t)return null;const a=new c.default({id:t,apiKey:e.apiKey}),s=await async function(e){const t=r.id?.findServerInfo(e.sceneServerUrl);if(t?.owningSystemUrl)return t.owningSystemUrl;const a=e.sceneServerUrl.replace(/(.*\/rest)\/.*/i,"$1")+"/info";try{const t=(await(0,n.A)(a,{query:{f:"json"},responseType:"json",signal:e.signal})).data.owningSystemUrl;if(t)return t}catch(e){(0,i.QP)(e)}return null}(e);null!=s&&(a.portal=new o.A({url:s}));try{return await a.load({signal:e.signal})}catch(e){return(0,i.QP)(e),null}}(u),null==u.sceneLayerItem)return f(u.sceneServerUrl.replace("/SceneServer","/FeatureServer"),u);const h=await async function({sceneLayerItem:e,signal:t}){if(!e)return null;try{const a=(await e.fetchRelatedItems({relationshipType:"Service2Service",direction:"reverse"},{signal:t})).find(e=>"Feature Service"===e.type)||null;if(!a)return null;const r=new c.default({portal:a.portal,id:a.id});return await r.load(),r}catch(e){return(0,i.QP)(e),null}}(u);if(!h?.url)throw new s.A("related-service-not-found","Could not find feature service through portal item relationship");u.featureServiceItem=h;const p=await f(h.url,u);return p.portalItem=h,p}async function y(e){if(e.rootDocument)return e.rootDocument;const t={query:{f:"json",...e.customParameters,token:e.apiKey},responseType:"json",signal:e.signal};try{const a=await(0,n.A)(e.sceneServerUrl,t);e.rootDocument=a.data}catch{e.rootDocument={}}return e.rootDocument}async function f(e,t){const a=(0,l.qg)(e);if(!a)throw new s.A("invalid-feature-service-url","Invalid feature service url");const r=a.url.path,i=t.layerId;if(null==i)return{serverUrl:r};const o=y(t),c=t.featureServiceItem?await t.featureServiceItem.fetchData("json"):null,u=(c?.layers?.[0]||c?.tables?.[0])?.customParameters,f=e=>{const a={query:{f:"json",...u},responseType:"json",authMode:e,signal:t.signal};return(0,n.A)(r,a)},h=f("anonymous").catch(()=>f("no-prompt")),[p,m]=await Promise.all([h,o]),d=m?.layers,w=p.data&&p.data.layers;if(!Array.isArray(w))throw new Error("expected layers array");if(Array.isArray(d)){for(let e=0;e<Math.min(d.length,w.length);e++)if(d[e].id===i)return{serverUrl:r,layerId:w[e].id}}else if(null!=i&&i<w.length)return{serverUrl:r,layerId:w[i].id};throw new Error("could not find matching associated sublayer")}},23154(e,t,a){a.d(t,{A6:()=>l,Aq:()=>m,Jo:()=>p,QM:()=>i});var r=a(77548),n=a(7861);const s=new Set(["Annotation Layer","Catalog Layer","Dimension Layer","Feature Layer","Oriented Imagery Layer"]);async function i(e,t){const{serviceJSON:a,layersJSON:r,...n}=await l(e,t);u(a);const s={serviceJSON:a,...n};return r&&(u(r),s.layersJSON=r),s}async function l(e,t){const{loadContext:a,...s}=t||{},i=a?await a.fetchServiceMetadata(e,s):await(0,n.L)(e,s),l=(0,r.G$)();h(i);const o={serviceJSON:i,preferredHost:l};if((i.currentVersion??0)<10.5)return o;const c=`${(0,r.$x)()??e}/layers`,u=a?await a.fetchServiceMetadata(c,s):await(0,n.L)(c,s);return h(u),o.layersJSON={layers:u.layers,tables:u.tables},o}function o(e){return s.has(e.type)}function c(e){return"Table"===e.type}function u(e){e.layers=e.layers?.filter(o),e.tables=e.tables?.filter(c)}function y(e){e.type||="Feature Layer"}function f(e){e.type||="Table"}function h(e){e.layers?.forEach(y),e.tables?.forEach(f)}function p(e){if(!e)return"FeatureLayer";switch(e){case"Feature Layer":case"Table":return"FeatureLayer";case"Oriented Imagery Layer":return"OrientedImageryLayer";case"Catalog Layer":return"CatalogLayer";case"Dimension Layer":return"DimensionFeatureLayer";case"Annotation Layer":return"AnnotationFeatureLayer"}return null}function m(e,t){if(!e)return t?"Table":"ArcGISFeatureLayer";switch(e){case"Annotation Layer":return"ArcGISAnnotationLayer";case"Catalog Layer":return"CatalogLayer";case"Dimension Layer":return"ArcGISDimensionLayer";case"Feature Layer":return"ArcGISFeatureLayer";case"Oriented Imagery Layer":return"OrientedImageryLayer";case"Parcel Layer":return"ParcelLayer";case"Table":return"Table";case"Topology Layer":return"TopologyLayer";case"Trace Network Layer":return"TraceNetworkLayer";case"Utility Network Layer":return"UtilityNetworkLayer";default:return null}}},2976(e,t,a){const r={AnnotationFeatureLayer:async()=>(await Promise.all([a.e(9917),a.e(6914),a.e(7865),a.e(2292),a.e(5732),a.e(564),a.e(2869),a.e(3910),a.e(7552),a.e(2889),a.e(5278),a.e(4674),a.e(7283),a.e(1954)]).then(()=>a(20737))).default,BingMapsLayer:async()=>(await Promise.all([a.e(6914),a.e(7865),a.e(5732),a.e(6684)]).then(()=>a(17029))).default,BuildingSceneLayer:async()=>(await Promise.all([a.e(5620),a.e(9917),a.e(6914),a.e(7865),a.e(2292),a.e(5732),a.e(9953),a.e(564),a.e(2869),a.e(3910),a.e(7552),a.e(1214),a.e(5051),a.e(2889),a.e(4473),a.e(5278),a.e(1017),a.e(9789),a.e(4674),a.e(7283),a.e(8589),a.e(7005),a.e(9480),a.e(2629),a.e(647)]).then(()=>a(82411))).default,CSVLayer:async()=>(await Promise.all([a.e(9917),a.e(6914),a.e(7865),a.e(2292),a.e(5732),a.e(9953),a.e(564),a.e(2869),a.e(3910),a.e(7552),a.e(1214),a.e(5051),a.e(2889),a.e(4473),a.e(5278),a.e(1017),a.e(3813)]).then(()=>a(68695))).default,CatalogLayer:async()=>(await Promise.all([a.e(9917),a.e(6914),a.e(7865),a.e(2292),a.e(5732),a.e(564),a.e(2869),a.e(3910),a.e(7552),a.e(1214),a.e(5051),a.e(2889),a.e(4473),a.e(5278),a.e(9789),a.e(4674),a.e(893),a.e(7283),a.e(7013),a.e(7067),a.e(7925)]).then(()=>a(83508))).default,DimensionFeatureLayer:async()=>(await Promise.all([a.e(9917),a.e(6914),a.e(7865),a.e(2292),a.e(5732),a.e(564),a.e(2869),a.e(3910),a.e(7552),a.e(2889),a.e(5278),a.e(4674),a.e(7283),a.e(3376)]).then(()=>a(25077))).default,DimensionLayer:async()=>(await Promise.all([a.e(9917),a.e(6914),a.e(6619)]).then(()=>a(71493))).default,ElevationLayer:async()=>(await Promise.all([a.e(9917),a.e(6914),a.e(9953),a.e(8732),a.e(2231)]).then(()=>a(38732))).default,FeatureLayer:async()=>(await Promise.all([a.e(5620),a.e(9917),a.e(6914),a.e(7865),a.e(2292),a.e(5732),a.e(9953),a.e(564),a.e(2869),a.e(3910),a.e(7552),a.e(1214),a.e(5051),a.e(2889),a.e(4473),a.e(5278),a.e(1017),a.e(9789),a.e(4674),a.e(7283),a.e(8589),a.e(3075)]).then(()=>a(18589))).default,GaussianSplatLayer:async()=>(await Promise.all([a.e(9917),a.e(6914),a.e(1133),a.e(6475)]).then(()=>a(36475))).default,GeoJSONLayer:async()=>(await Promise.all([a.e(9917),a.e(6914),a.e(7865),a.e(2292),a.e(5732),a.e(9953),a.e(564),a.e(2869),a.e(3910),a.e(7552),a.e(1214),a.e(5051),a.e(2889),a.e(4473),a.e(5278),a.e(1017),a.e(903)]).then(()=>a(15481))).default,GeoRSSLayer:async()=>(await Promise.all([a.e(9917),a.e(6914),a.e(7865),a.e(5732),a.e(2363)]).then(()=>a(63201))).default,GeospatialPDFLayer:async()=>(await Promise.all([a.e(9917),a.e(6914),a.e(9187),a.e(8885),a.e(9117),a.e(7865),a.e(2292),a.e(9953),a.e(564),a.e(3299),a.e(2869),a.e(3910),a.e(5130),a.e(2754),a.e(8605),a.e(9859),a.e(5485),a.e(4642),a.e(4907)]).then(()=>a(44907))).default,GroupLayer:async()=>(await Promise.all([a.e(9917),a.e(6914),a.e(7865),a.e(9866),a.e(6569)]).then(()=>a(85989))).default,ImageryLayer:async()=>(await Promise.all([a.e(9917),a.e(6914),a.e(7865),a.e(2292),a.e(5732),a.e(9953),a.e(564),a.e(2869),a.e(3910),a.e(7552),a.e(893),a.e(5130),a.e(8605),a.e(2254),a.e(7772),a.e(8768)]).then(()=>a(87772))).default,ImageryTileLayer:async()=>(await Promise.all([a.e(9917),a.e(6914),a.e(7865),a.e(2292),a.e(5732),a.e(9953),a.e(564),a.e(2869),a.e(3910),a.e(5130),a.e(2754),a.e(8605),a.e(9859),a.e(9235),a.e(2254),a.e(1003),a.e(2806),a.e(7870)]).then(()=>a(90124))).default,IntegratedMesh3DTilesLayer:async()=>(await Promise.all([a.e(9917),a.e(6914),a.e(9953),a.e(1133),a.e(6451),a.e(8241)]).then(()=>a(61528))).default,IntegratedMeshLayer:async()=>(await Promise.all([a.e(9917),a.e(6914),a.e(9953),a.e(7552),a.e(7005),a.e(9480),a.e(1133),a.e(5847),a.e(1859),a.e(6451),a.e(1721)]).then(()=>a(49013))).default,KMLLayer:async()=>(await Promise.all([a.e(9917),a.e(6914),a.e(7865),a.e(2292),a.e(5732),a.e(564),a.e(2869),a.e(3910),a.e(1214),a.e(5051),a.e(4473),a.e(8273)]).then(()=>a(162))).default,KnowledgeGraphLayer:async()=>(await Promise.all([a.e(9917),a.e(6914),a.e(7865),a.e(2292),a.e(5732),a.e(9953),a.e(564),a.e(2869),a.e(3910),a.e(7552),a.e(1214),a.e(5051),a.e(2889),a.e(4473),a.e(5278),a.e(1017),a.e(9789),a.e(9696),a.e(359),a.e(5752),a.e(3902),a.e(4720),a.e(4934),a.e(8692)]).then(()=>a(28692))).default,LineOfSightLayer:async()=>(await Promise.all([a.e(9917),a.e(6914),a.e(3888),a.e(9695)]).then(()=>a(49695))).default,LinkChartLayer:async()=>(await Promise.all([a.e(9917),a.e(6914),a.e(7865),a.e(2292),a.e(5732),a.e(9953),a.e(564),a.e(2869),a.e(3910),a.e(7552),a.e(1214),a.e(5051),a.e(2889),a.e(4473),a.e(5278),a.e(1017),a.e(9789),a.e(9696),a.e(359),a.e(5752),a.e(3902),a.e(4720),a.e(4934),a.e(3309)]).then(()=>a(93309))).default,MapImageLayer:async()=>(await Promise.all([a.e(9917),a.e(6914),a.e(7865),a.e(2292),a.e(5732),a.e(564),a.e(2869),a.e(3910),a.e(7552),a.e(1214),a.e(5051),a.e(2889),a.e(4473),a.e(5278),a.e(4674),a.e(893),a.e(8470),a.e(1474)]).then(()=>a(7656))).default,MapNotesLayer:async()=>(await Promise.all([a.e(5620),a.e(9917),a.e(6914),a.e(7865),a.e(2292),a.e(5732),a.e(9953),a.e(564),a.e(2869),a.e(3910),a.e(7552),a.e(1214),a.e(5051),a.e(2889),a.e(4473),a.e(5278),a.e(1017),a.e(9789),a.e(4674),a.e(7283),a.e(8589),a.e(4720),a.e(2469)]).then(()=>a(96299))).default,MediaLayer:async()=>(await Promise.all([a.e(5620),a.e(9917),a.e(6914),a.e(7865),a.e(5485),a.e(528)]).then(()=>a(99557))).default,OGCFeatureLayer:async()=>(await Promise.all([a.e(9917),a.e(6914),a.e(7865),a.e(2292),a.e(5732),a.e(564),a.e(2869),a.e(3910),a.e(7552),a.e(1214),a.e(5051),a.e(2889),a.e(4473),a.e(5278),a.e(1017),a.e(2629),a.e(5977)]).then(()=>a(65977))).default,OpenStreetMapLayer:async()=>(await Promise.all([a.e(9917),a.e(6914),a.e(7865),a.e(5732),a.e(919),a.e(349)]).then(()=>a(40349))).default,OrientedImageryLayer:async()=>(await Promise.all([a.e(5620),a.e(9917),a.e(6914),a.e(7865),a.e(2292),a.e(5732),a.e(9953),a.e(564),a.e(2869),a.e(3910),a.e(7552),a.e(1214),a.e(5051),a.e(2889),a.e(4473),a.e(5278),a.e(1017),a.e(9789),a.e(4674),a.e(7283),a.e(8589),a.e(6854)]).then(()=>a(16852))).default,ParquetLayer:async()=>(await Promise.all([a.e(6914),a.e(7865),a.e(2292),a.e(5732),a.e(9953),a.e(564),a.e(2869),a.e(3910),a.e(7552),a.e(1214),a.e(5051),a.e(2889),a.e(4473),a.e(5278),a.e(1017),a.e(3661),a.e(7320),a.e(99)]).then(()=>a(99680))).default,PointCloudLayer:async()=>(await Promise.all([a.e(9917),a.e(6914),a.e(2869),a.e(7984),a.e(7515)]).then(()=>a(77885))).default,RouteLayer:async()=>(await Promise.all([a.e(9917),a.e(6914),a.e(7865),a.e(2292),a.e(564),a.e(2869),a.e(3910),a.e(1214),a.e(5051),a.e(4473),a.e(2561)]).then(()=>a(39622))).default,SceneLayer:async()=>(await Promise.all([a.e(9917),a.e(6914),a.e(2292),a.e(564),a.e(2869),a.e(3910),a.e(7552),a.e(1214),a.e(5051),a.e(2889),a.e(4473),a.e(5278),a.e(7005),a.e(9480),a.e(2629),a.e(1086)]).then(()=>a(2e4))).default,StreamLayer:async()=>(await Promise.all([a.e(9917),a.e(6914),a.e(7865),a.e(2292),a.e(5732),a.e(564),a.e(2869),a.e(3910),a.e(7552),a.e(1214),a.e(5051),a.e(2889),a.e(4473),a.e(5278),a.e(1017),a.e(8593)]).then(()=>a(79457))).default,SubtypeGroupLayer:async()=>(await Promise.all([a.e(5620),a.e(9917),a.e(6914),a.e(7865),a.e(2292),a.e(5732),a.e(564),a.e(2869),a.e(3910),a.e(7552),a.e(2889),a.e(5278),a.e(9789),a.e(4674),a.e(7283),a.e(4451)]).then(()=>a(97483))).default,TileLayer:async()=>(await Promise.all([a.e(9917),a.e(6914),a.e(7865),a.e(2292),a.e(5732),a.e(564),a.e(2869),a.e(3910),a.e(7552),a.e(1214),a.e(5051),a.e(2889),a.e(4473),a.e(5278),a.e(4674),a.e(893),a.e(8470),a.e(6200)]).then(()=>a(71756))).default,UnknownLayer:async()=>(await Promise.all([a.e(9917),a.e(3928)]).then(()=>a(146))).default,UnsupportedLayer:async()=>(await Promise.all([a.e(9917),a.e(2819)]).then(()=>a(45165))).default,VectorTileLayer:async()=>(await Promise.all([a.e(9917),a.e(6914),a.e(7865),a.e(5732),a.e(9953),a.e(5228),a.e(8744),a.e(8659)]).then(()=>a(50638))).default,VideoLayer:async()=>(await Promise.all([a.e(9917),a.e(6914),a.e(7865),a.e(3910),a.e(4674),a.e(2565)]).then(()=>a(86875))).default,ViewshedLayer:async()=>(await Promise.all([a.e(9917),a.e(6914),a.e(3888),a.e(6650)]).then(()=>a(96650))).default,VoxelLayer:async()=>(await Promise.all([a.e(9917),a.e(6914),a.e(2869),a.e(4443)]).then(()=>a(21005))).default,WCSLayer:async()=>(await Promise.all([a.e(9917),a.e(6914),a.e(7865),a.e(2292),a.e(5732),a.e(9953),a.e(564),a.e(2869),a.e(3910),a.e(5130),a.e(2754),a.e(8605),a.e(9859),a.e(9235),a.e(2254),a.e(2806),a.e(2061)]).then(()=>a(20521))).default,WFSLayer:async()=>(await Promise.all([a.e(9917),a.e(6914),a.e(7865),a.e(2292),a.e(5732),a.e(9953),a.e(564),a.e(2869),a.e(3910),a.e(7552),a.e(1214),a.e(5051),a.e(2889),a.e(4473),a.e(5278),a.e(1017),a.e(5411)]).then(()=>a(21901))).default,WMSLayer:async()=>(await Promise.all([a.e(5620),a.e(9917),a.e(6914),a.e(7865),a.e(2292),a.e(5732),a.e(2869),a.e(3910),a.e(805)]).then(()=>a(51904))).default,WMTSLayer:async()=>(await Promise.all([a.e(9917),a.e(6914),a.e(7865),a.e(5732),a.e(919),a.e(309)]).then(()=>a(20309))).default,WebTileLayer:async()=>(await Promise.all([a.e(9917),a.e(6914),a.e(7865),a.e(5732),a.e(919)]).then(()=>a(47314))).default};a.d(t,["U",0,r])},66964(e,t,a){a.d(t,{Ju:()=>w,K8:()=>P,XH:()=>L,Y5:()=>d,_r:()=>l,bO:()=>c,l:()=>v,nu:()=>A,pJ:()=>u,rc:()=>y});var r=a(60694),n=a(92009),s=a(23154),i=a(77548);function l(e,t){const{id:a,name:r}=e,n={id:a,name:r};return o(n,e,t),n}function o(e,t,a){const r=(0,s.Aq)(t.type,a);r&&(e.layerType=r)}async function c(e,t,a){let r,n;if(function(e){return!!e&&Array.isArray(e.layers)&&Array.isArray(e.tables)}(e)&&f(e))n=e;else{const s=await a.fetchServiceMetadata(t,{customParameters:u(e)?.customParameters});r=(0,i.G$)(),n=h(e,s),p(n,s)}return m(n),{data:n,preferredHost:r}}function u(e){if(!e)return null;const{layers:t,tables:a}=e;return t?.[0]??a?.[0]??null}function y(e,t){return null==t?null:[...e.layers??[],...e.tables??[]].find(e=>e.id===t)}function f(e){return[...e.layers??[],...e.tables??[]].every(e=>!!e.layerType)}function h(e,t){return{...e,layers:e?.layers??t.layers?.map(e=>l(e))??[],tables:e?.tables??t.tables?.map(e=>l(e,!0))??[]}}function p(e,t){const a=e.layers??[],r=e.tables??[],n=[...t.layers??[],...t.tables??[]];for(const e of[...a,...r]){const{id:t,layerType:a}=e;if(a)continue;const s=n.find(({id:e})=>e===t);s&&o(e,s,r.includes(e))}}function m(e){e.layers=e.layers?.filter(g),e.tables=e.tables?.filter(g)}async function d(e,t,a){if(e?.layers?.length||e?.tables?.length){if(!f(e)){const n=(0,r.qg)(t)?.url.path;if(!n)return;p(e,await a.fetchServiceMetadata(n,{customParameters:u(e)?.customParameters}))}m(e)}}function w(e,t){return[...e.layers??[],...e.tables??[]].filter(({layerType:e})=>e?t.includes(e):t.includes("ArcGISFeatureLayer"))}function L(e){return(e?.layers?.length??0)+(e?.tables?.length??0)}const S=new Set(["ArcGISAnnotationLayer","ArcGISDimensionLayer","ArcGISFeatureLayer","CatalogLayer","OrientedImageryLayer","SubtypeGroupLayer","SubtypeGroupTable","Table"]);function g(e){return!!e.layerType&&S.has(e.layerType)}function v(e){switch(e){case"annotation-feature":return["ArcGISAnnotationLayer"];case"catalog":return["CatalogLayer"];case"dimension-feature":return["ArcGISDimensionLayer"];case"feature":return["ArcGISFeatureLayer","Table"];case"oriented-imagery":return["OrientedImageryLayer"];case"subtype-group":return["SubtypeGroupLayer","SubtypeGroupTable"]}return null}function P(e){switch(e){case"ArcGISAnnotationLayer":return"AnnotationFeatureLayer";case"ArcGISDimensionLayer":return"DimensionFeatureLayer";case"ArcGISFeatureLayer":case"Table":return"FeatureLayer";case"CatalogLayer":return"CatalogLayer";case"OrientedImageryLayer":return"OrientedImageryLayer";case"SubtypeGroupLayer":case"SubtypeGroupTable":return"SubtypeGroupLayer"}return null}async function A(e,t,a){if(!e?.url)return t??{};if(t??={},!t.layers){const r=await a.fetchServiceMetadata(e.url);t.layers=r.layers?.map(e=>l(e))}const{serverUrl:r,portalItem:s}=await(0,n.L)(e.url,{sceneLayerItem:e,customParameters:u(t)?.customParameters}).catch(()=>({serverUrl:null,portalItem:null}));if(null==r)return t.tables=[],t;if(!t.tables&&s){const e=await s.fetchData().catch(()=>null);if(e?.tables)t.tables=e.tables.map(({id:e,name:t})=>({id:e,name:t}));else{const n=await a.fetchServiceMetadata(r,{customParameters:u(e)?.customParameters}).catch(()=>null);t.tables=n?.tables?.map(e=>l(e,!0))}}if(t.tables)for(const e of t.tables)e.url=`${r}/${e.id}`;return t}},10407(e,t,a){a.d(t,{It:()=>h,LG:()=>i,OM:()=>c,Sm:()=>u,Y:()=>l,bK:()=>o,sQ:()=>y});var r=a(99917),n=a(16930),s=a(28735);function i(e,t){if(!l(e,t)){const a=e.typeKeywords;a?a.push(t):e.typeKeywords=[t]}}function l(e,t){return!!e.typeKeywords?.includes(t)}function o(e){return l(e,f.HOSTED_SERVICE)}function c(e,t){const a=e.typeKeywords;if(a){const e=a.indexOf(t);e>-1&&a.splice(e,1)}}function u(e,t,a){a?i(e,t):c(e,t)}async function y(e){const t=e.clone().normalize();let a;if(t.length>1)for(const e of t)a?e.width>a.width&&(a=e):a=e;else a=t[0];return async function(e){const t=e.spatialReference;if(t.isWGS84)return e.clone();if(t.isWebMercator)return(0,s.ci)(e);const a=n.A.WGS84;return await(0,r.initializeProjection)(t,a),(0,r.project)(e,a)}(a)}const f={CHARTS:"Charts",CATALOG_LAYER:"CatalogLayer",DYNAMIC:"Dynamic",DEVELOPER_BASEMAP:"DeveloperBasemap",GROUP_LAYER_MAP:"Map",HOSTED_SERVICE:"Hosted Service",JSAPI:"ArcGIS API for JavaScript",LOCAL_SCENE:"ViewingMode-Local",METADATA:"Metadata",MULTI_LAYER:"Multilayer",ORIENTED_IMAGERY_LAYER:"OrientedImageryLayer",PARCEL_FABRIC:"ParcelFabric",SINGLE_LAYER:"Singlelayer",SUBTYPE_GROUP_LAYER:"SubtypeGroupLayer",SUBTYPE_GROUP_TABLE:"SubtypeGroupTable",TABLE:"Table",TILED_IMAGERY:"Tiled Imagery",UTILITY_NETWORK:"UtilityNetwork"};function h(e){const{portal:t,isOrgItem:a,itemControl:r}=e,n=t.user?.privileges;let s=!n||n.includes("features:user:edit"),i=!!a&&!!n?.includes("features:user:fullEdit");const l="update"===r||"admin"===r;return l?i=s=!0:i&&(s=!0),{features:{edit:s,fullEdit:i},content:{updateItem:l}}}a.d(t,["mm",0,f])},45613(e,t,a){a.d(t,{fromItem:()=>f,n:()=>h});var r=a(49186),n=a(92009),s=a(23154),i=a(22429),l=a(2976),o=a(77548),c=a(80812),u=a(66964),y=a(10407);async function f(e){let{portalItem:t}=e;!t||t instanceof c.default||(t=new c.default(t));const a=await async function(e){await e.load();const t=new i.v;return async function(e){const t=e.className,a=l.U[t];return{constructor:await a(),properties:e.properties}}(await h(e,t))}(t);return new(0,a.constructor)({portalItem:t,...a.properties})}async function h(e,t){switch(e.type){case"3DTiles Service":return e.typeKeywords.includes("3DObject")?{className:"UnsupportedLayer"}:e.typeKeywords.includes("GaussianSplat")?{className:"GaussianSplatLayer"}:{className:"IntegratedMesh3DTilesLayer"};case"CSV":return{className:"CSVLayer"};case"Feature Collection":return async function(e){await e.load();const t=(0,y.Y)(e,"Map Notes"),a=(0,y.Y)(e,"Markup");if(t||a)return{className:"MapNotesLayer"};if((0,y.Y)(e,"Route Layer"))return{className:"RouteLayer"};const r=await e.fetchData();return 1===(0,u.XH)(r)?{className:"FeatureLayer"}:{className:"GroupLayer"}}(e);case"Feature Service":return async function(e,t){const a=await p(e,t);if("object"==typeof a){const{sourceJSON:e,className:t}=a,r={sourceJSON:e};return null!=a.id&&(r.layerId=a.id),{className:t||"FeatureLayer",properties:r}}return{className:"GroupLayer"}}(e,t);case"Feed":case"Stream Service":return{className:"StreamLayer"};case"GeoJson":return{className:"GeoJSONLayer"};case"Group Layer":return{className:"GroupLayer"};case"Image Service":return async function(e,t){await e.load();const a=e.typeKeywords?.map(e=>e.toLowerCase())??[];if(a.includes("elevation 3d layer"))return{className:"ElevationLayer"};if(a.includes("tiled imagery"))return{className:"ImageryTileLayer"};const r=await t.fetchItemData(e),n=r?.layerType;if("ArcGISTiledImageServiceLayer"===n)return{className:"ImageryTileLayer"};if("ArcGISImageServiceLayer"===n)return{className:"ImageryLayer"};const s=await t.fetchServiceMetadata(e.url,{customParameters:await t.fetchCustomParameters(e)}),i=s.cacheType?.toLowerCase(),l=s.capabilities?.toLowerCase().includes("tilesonly"),o=s.tileInfo?.format?.toLowerCase()??"",c=null==i&&["jpg","jpeg","png","png8","png24","png32","mixed"].includes(o);return"map"===i||c||l?{className:"ImageryTileLayer"}:{className:"ImageryLayer"}}(e,t);case"KML":return{className:"KMLLayer"};case"Knowledge Graph Layer":return{className:"KnowledgeGraphLayer"};case"Map Service":return async function(e,t){return await async function(e,t){const{tileInfo:a}=await t.fetchServiceMetadata(e.url,{customParameters:await t.fetchCustomParameters(e)});return a}(e,t)?{className:"TileLayer"}:{className:"MapImageLayer"}}(e,t);case"Media Layer":return{className:"MediaLayer"};case"PDF":return{className:"GeospatialPDFLayer"};case"Scene Service":return async function(e,t){const a=await p(e,t,async()=>{try{if(!e.url)return[];const{serverUrl:a}=await(0,n.L)(e.url,{sceneLayerItem:e}),r=await t.fetchServiceMetadata(a);return r?.tables??[]}catch{return[]}});if("object"==typeof a){const r={};let n;if(null!=a.id?(r.layerId=a.id,n=`${e.url}/layers/${a.id}`):n=e.url,e.typeKeywords?.length)for(const t of Object.keys(o.XX))if(e.typeKeywords.includes(t))return{className:o.XX[t]};const s=await t.fetchServiceMetadata(n,{customParameters:await t.fetchCustomParameters(e,e=>(0,u.pJ)(e)?.customParameters)});return{className:o.XX[s?.layerType]||"SceneLayer",properties:r}}if(!1===a){const a=await t.fetchServiceMetadata(e.url);if("Voxel"===a?.layerType)return{className:"VoxelLayer"}}return{className:"GroupLayer"}}(e,t);case"Video Service":return async function(e,t){return"object"==typeof await p(e,t)?{className:"VideoLayer"}:{className:"GroupLayer"}}(e,t);case"Vector Tile Service":return{className:"VectorTileLayer"};case"WCS":return{className:"WCSLayer"};case"WFS":return{className:"WFSLayer"};case"WMS":return{className:"WMSLayer"};case"WMTS":return{className:"WMTSLayer"};default:throw new r.A("portal:unknown-item-type","Unknown item type '${type}'",{type:e.type})}}async function p(e,t,a){const{url:n,type:i}=e,l="Feature Service"===i;if(!n)return{};if(/\/\d+$/.test(n)){if(l){const a=await t.fetchServiceMetadata(n,{customParameters:await t.fetchCustomParameters(e,e=>(0,u.pJ)(e)?.customParameters)});(0,o.Gh)(e,(0,o.G$)());const{id:i,type:l}=a,c=(0,s.Jo)(l);if(!c)throw new r.A("from-portal-item:unsupported",`'${n}' has unsupported type: '${l}'`);return{id:i,className:c,sourceJSON:a}}return{}}if("Video Service"===i){const e=await t.fetchServiceMetadata(n);return!((e.layers?.length??0)>1)&&{}}await e.load();let c=await t.fetchItemData(e);if(l){const{data:a,preferredHost:s}=await(0,u.bO)(c,n,t);if(0===(0,u.XH)(a))throw new r.A("from-portal-item:no-data",`The feature service '${n}' does not have any supported layers or tables`);(0,o.Gh)(e,s);const i=m(a);if("object"==typeof i){const e=(0,u.rc)(a,i.id);return{id:i.id,className:(0,u.K8)(e?.layerType)}}return i}if("Scene Service"===i&&(c=await(0,u.nu)(e,c,t)),(0,u.XH)(c)>0)return m(c);const y=await t.fetchServiceMetadata(n);return a&&(y.tables=await a()),m(y)}function m(e){return 1===(0,u.XH)(e)&&{id:(0,u.pJ)(e)?.id}}},7861(e,t,a){a.d(t,{L:()=>n});var r=a(56507);async function n(e,t){return(await(0,r.A)(e,{responseType:"json",query:{f:"json",...t?.customParameters,token:t?.apiKey}})).data}}}]);
1
+ "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[909,8559],{48526(e,t,a){a.d(t,{A:()=>d});var r,n=a(32198),s=a(4576),i=a(4718),l=a(91429),o=a(5443),c=a(91075),u=a(86738),y=a(16930),f=a(90634),h=a(47610),p=a(56993),m=a(43937);let d=r=class extends c.A{constructor(e){super(function(e){if(!e)return;let{points:t,hasM:a,hasZ:r,spatialReference:n}=e;switch(t??=[],t?.at(0)?.length){case 4:r??=!0,a??=!0;break;case 3:r??=!0!==a,a??=!r;break;default:r??=!1,a??=!1}return n??=y.A.WGS84,{...e,hasM:a,hasZ:r,points:t,spatialReference:n}}(e)),this.points=[],this.type="multipoint"}get cache(){return this.commitProperty("points"),this.commitProperty("hasZ"),this.commitProperty("hasM"),this.commitProperty("spatialReference"),{}}get extent(){const e=(0,f.ge)(this);return e?new o.A({...e,spatialReference:this.spatialReference}):null}writePoints(e,t){t.points=(0,i.o8)(this.points)}clone(){const{points:e,spatialReference:t,hasM:a,hasZ:n}=this;return new r({points:(0,i.o8)(e),spatialReference:t.clone(),hasM:a,hasZ:n})}equals(e){if(this===e)return!0;if(null==e)return!1;const t=this.spatialReference,a=e.spatialReference;return null!=t==(null!=a)&&!(null!=t&&null!=a&&!t.equals(a))&&(0,s.aI)(this.points,e.points,h.v6)}addPoint(e){return(0,p.h)(this,e),Array.isArray(e)?this.points.push(e):this.points.push(e.toArray()),this.notifyChange("points"),this}getPoint(e){if(!this._validateInputs(e))return null;const t=this.points[e],a={x:t[0],y:t[1],spatialReference:this.spatialReference};let r=2;return this.hasZ&&(a.z=t[2],r=3),this.hasM&&(a.m=t[r]),new u.A(a)}removePoint(e){if(!this._validateInputs(e))return null;const t=new u.A(this.points.splice(e,1)[0],this.spatialReference);return this.notifyChange("points"),t}setPoint(e,t){return this._validateInputs(e)?((0,p.h)(this,t),Array.isArray(t)||(t=t.toArray()),this.points[e]=t,this.notifyChange("points"),this):this}toJSON(e){return this.write({},e)}_validateInputs(e){return null!=e&&e>=0&&e<this.points.length}};(0,n.Cg)([(0,l.MZ)({readOnly:!0})],d.prototype,"cache",null),(0,n.Cg)([(0,l.MZ)({readOnly:!0})],d.prototype,"extent",null),(0,n.Cg)([(0,l.MZ)({type:[[Number]],json:{write:{isRequired:!0}}})],d.prototype,"points",void 0),(0,n.Cg)([(0,m.K)("points")],d.prototype,"writePoints",null),d=r=(0,n.Cg)([(0,l.$K)("esri.geometry.Multipoint")],d),d.prototype.toJSON.isDefaultToJSON=!0},82799(e,t,a){a.d(t,{A:()=>p});var r,n=a(32198),s=a(4718),i=a(91429),l=a(5443),o=a(91075),c=a(86738),u=a(16930),y=a(90634),f=a(56993),h=a(43937);let p=r=class extends o.A{constructor(e){super(function(e){if(!e)return;let{paths:t,hasM:a,hasZ:r,spatialReference:n}=e;switch(t??=[],function(e){return"number"==typeof e[0]?.[0]}(t)&&(t=[t]),t[0]?.[0]?.length){case 4:r??=!0,a??=!0;break;case 3:r??=!0!==a,a??=!r;break;default:r??=!1,a??=!1}return n??=u.A.WGS84,{...e,hasM:a,hasZ:r,paths:t,spatialReference:n}}(e)),this.curvePaths=void 0,this.paths=[],this.type="polyline"}get cache(){return this.commitProperty("curvePaths"),this.commitProperty("hasM"),this.commitProperty("hasZ"),this.commitProperty("paths"),this.commitProperty("spatialReference"),{}}writeCurvePaths(e,t){t.curvePaths=(0,s.o8)(e)}get extent(){const e=(0,y.Z3)(this),{spatialReference:t}=this;return e?new l.A({...e,spatialReference:t}):null}writePaths(e,t){t.paths=(0,s.o8)(this.paths)}addPath(e){if(!e)return;const t=this.paths,a=t.length;if(function(e){return!Array.isArray(e[0])}(e)){const r=[];for(let t=0,a=e.length;t<a;t++)r[t]=e[t].toArray();t[a]=r}else t[a]=e.slice();return this.notifyChange("paths"),this}clone(){const e=new r;return e.spatialReference=this.spatialReference,e.paths=(0,s.o8)(this.paths),e.curvePaths=(0,s.o8)(this.curvePaths),e.hasZ=this.hasZ,e.hasM=this.hasM,e}getPoint(e,t){if(!this._validateInputs(e,t))return null;const a=this.paths[e][t],r=this.hasZ,n=this.hasM;return r&&!n?new c.A(a[0],a[1],a[2],void 0,this.spatialReference):n&&!r?new c.A(a[0],a[1],void 0,a[2],this.spatialReference):r&&n?new c.A(a[0],a[1],a[2],a[3],this.spatialReference):new c.A(a[0],a[1],this.spatialReference)}insertPoint(e,t,a){return this._validateInputs(e,t,!0)?((0,f.h)(this,a),Array.isArray(a)||(a=a.toArray()),this.paths[e].splice(t,0,a),this.notifyChange("paths"),this):this}removePath(e){if(!this._validateInputs(e,null))return null;const t=this.paths.splice(e,1)[0],a=this.spatialReference,r=t.map(e=>new c.A(e,a));return this.notifyChange("paths"),r}removePoint(e,t){if(!this._validateInputs(e,t))return null;const a=new c.A(this.paths[e].splice(t,1)[0],this.spatialReference);return this.notifyChange("paths"),a}setPoint(e,t,a){return this._validateInputs(e,t)?((0,f.h)(this,a),Array.isArray(a)||(a=a.toArray()),this.paths[e][t]=a,this.notifyChange("paths"),this):this}_validateInputs(e,t,a=!1){if(null==e||e<0||e>=this.paths.length)return!1;if(null!=t){const r=this.paths[e];if(a&&(t<0||t>r.length))return!1;if(!a&&(t<0||t>=r.length))return!1}return!0}toJSON(e){return this.write({},e)}};(0,n.Cg)([(0,i.MZ)({readOnly:!0})],p.prototype,"cache",null),(0,n.Cg)([(0,i.MZ)({json:{write:!0,origins:{"portal-item":{write:!1},"web-map":{write:!1},"web-scene":{write:!1}}}})],p.prototype,"curvePaths",void 0),(0,n.Cg)([(0,h.K)("curvePaths")],p.prototype,"writeCurvePaths",null),(0,n.Cg)([(0,i.MZ)({readOnly:!0})],p.prototype,"extent",null),(0,n.Cg)([(0,i.MZ)({type:[[[Number]]],json:{write:{isRequired:!0}}})],p.prototype,"paths",void 0),(0,n.Cg)([(0,h.K)("paths")],p.prototype,"writePaths",null),p=r=(0,n.Cg)([(0,i.$K)("esri.geometry.Polyline")],p),p.prototype.toJSON.isDefaultToJSON=!0},60408(e,t,a){function r(e){return void 0!==e.xmin&&void 0!==e.ymin&&void 0!==e.xmax&&void 0!==e.ymax}function n(e){return void 0!==e.points}function s(e){return void 0!==e.x&&void 0!==e.y}function i(e){return void 0!==e.paths||void 0!==e.curvePaths}function l(e){return void 0!==e.rings||void 0!==e.curveRings}function o(e){return"object"==typeof e&&"vertexAttributes"in e}function c(e){return e?s(e)?"esriGeometryPoint":i(e)?"esriGeometryPolyline":l(e)?"esriGeometryPolygon":r(e)?"esriGeometryEnvelope":n(e)?"esriGeometryMultipoint":null:null}function u(e){return null!=e&&("hasZ"in e&&e.hasZ||"z"in e&&null!=e.z)}function y(e){return null!=e&&("hasM"in e&&e.hasM||"m"in e&&null!=e.m)}a.d(t,{$B:()=>c,Bi:()=>l,Pv:()=>u,Rg:()=>i,U9:()=>n,W0:()=>y,ZC:()=>r,fT:()=>s,uW:()=>o})},22429(e,t,a){a.d(t,{v:()=>n});var r=a(7861);class n{constructor(){this._serviceMetadatas=new Map,this._itemDatas=new Map}async fetchServiceMetadata(e,t){const a=this._serviceMetadatas.get(e);if(a)return a;const n=await(0,r.L)(e,t);return this._serviceMetadatas.set(e,n),n}async fetchItemData(e){const{id:t}=e;if(!t)return null;const{_itemDatas:a}=this;if(a.has(t))return a.get(t);const r=await e.fetchData();return a.set(t,r),r}async fetchCustomParameters(e,t){const a=await this.fetchItemData(e);return a&&"object"==typeof a&&(t?t(a):a.customParameters)||null}}},92009(e,t,a){a.d(t,{L:()=>u});var r=a(70333),n=a(56507),s=a(49186),i=a(17676),l=a(60694),o=a(20655),c=a(80812);async function u(e,t){const a=(0,l.qg)(e);if(!a)throw new s.A("invalid-url","Invalid scene service url");const u={...t,sceneServerUrl:a.url.path,layerId:a.sublayer??void 0};if(u.sceneLayerItem??=await async function(e){const t=(await y(e)).serviceItemId;if(!t)return null;const a=new c.default({id:t,apiKey:e.apiKey}),s=await async function(e){const t=r.id?.findServerInfo(e.sceneServerUrl);if(t?.owningSystemUrl)return t.owningSystemUrl;const a=e.sceneServerUrl.replace(/(.*\/rest)\/.*/i,"$1")+"/info";try{const t=(await(0,n.A)(a,{query:{f:"json"},responseType:"json",signal:e.signal})).data.owningSystemUrl;if(t)return t}catch(e){(0,i.QP)(e)}return null}(e);null!=s&&(a.portal=new o.A({url:s}));try{return await a.load({signal:e.signal})}catch(e){return(0,i.QP)(e),null}}(u),null==u.sceneLayerItem)return f(u.sceneServerUrl.replace("/SceneServer","/FeatureServer"),u);const h=await async function({sceneLayerItem:e,signal:t}){if(!e)return null;try{const a=(await e.fetchRelatedItems({relationshipType:"Service2Service",direction:"reverse"},{signal:t})).find(e=>"Feature Service"===e.type)||null;if(!a)return null;const r=new c.default({portal:a.portal,id:a.id});return await r.load(),r}catch(e){return(0,i.QP)(e),null}}(u);if(!h?.url)throw new s.A("related-service-not-found","Could not find feature service through portal item relationship");u.featureServiceItem=h;const p=await f(h.url,u);return p.portalItem=h,p}async function y(e){if(e.rootDocument)return e.rootDocument;const t={query:{f:"json",...e.customParameters,token:e.apiKey},responseType:"json",signal:e.signal};try{const a=await(0,n.A)(e.sceneServerUrl,t);e.rootDocument=a.data}catch{e.rootDocument={}}return e.rootDocument}async function f(e,t){const a=(0,l.qg)(e);if(!a)throw new s.A("invalid-feature-service-url","Invalid feature service url");const r=a.url.path,i=t.layerId;if(null==i)return{serverUrl:r};const o=y(t),c=t.featureServiceItem?await t.featureServiceItem.fetchData("json"):null,u=(c?.layers?.[0]||c?.tables?.[0])?.customParameters,f=e=>{const a={query:{f:"json",...u},responseType:"json",authMode:e,signal:t.signal};return(0,n.A)(r,a)},h=f("anonymous").catch(()=>f("no-prompt")),[p,m]=await Promise.all([h,o]),d=m?.layers,w=p.data&&p.data.layers;if(!Array.isArray(w))throw new Error("expected layers array");if(Array.isArray(d)){for(let e=0;e<Math.min(d.length,w.length);e++)if(d[e].id===i)return{serverUrl:r,layerId:w[e].id}}else if(null!=i&&i<w.length)return{serverUrl:r,layerId:w[i].id};throw new Error("could not find matching associated sublayer")}},23154(e,t,a){a.d(t,{A6:()=>l,Aq:()=>m,Jo:()=>p,QM:()=>i});var r=a(77548),n=a(7861);const s=new Set(["Annotation Layer","Catalog Layer","Dimension Layer","Feature Layer","Oriented Imagery Layer"]);async function i(e,t){const{serviceJSON:a,layersJSON:r,...n}=await l(e,t);u(a);const s={serviceJSON:a,...n};return r&&(u(r),s.layersJSON=r),s}async function l(e,t){const{loadContext:a,...s}=t||{},i=a?await a.fetchServiceMetadata(e,s):await(0,n.L)(e,s),l=(0,r.G$)();h(i);const o={serviceJSON:i,preferredHost:l};if((i.currentVersion??0)<10.5)return o;const c=`${(0,r.$x)()??e}/layers`,u=a?await a.fetchServiceMetadata(c,s):await(0,n.L)(c,s);return h(u),o.layersJSON={layers:u.layers,tables:u.tables},o}function o(e){return s.has(e.type)}function c(e){return"Table"===e.type}function u(e){e.layers=e.layers?.filter(o),e.tables=e.tables?.filter(c)}function y(e){e.type||="Feature Layer"}function f(e){e.type||="Table"}function h(e){e.layers?.forEach(y),e.tables?.forEach(f)}function p(e){if(!e)return"FeatureLayer";switch(e){case"Feature Layer":case"Table":return"FeatureLayer";case"Oriented Imagery Layer":return"OrientedImageryLayer";case"Catalog Layer":return"CatalogLayer";case"Dimension Layer":return"DimensionFeatureLayer";case"Annotation Layer":return"AnnotationFeatureLayer"}return null}function m(e,t){if(!e)return t?"Table":"ArcGISFeatureLayer";switch(e){case"Annotation Layer":return"ArcGISAnnotationLayer";case"Catalog Layer":return"CatalogLayer";case"Dimension Layer":return"ArcGISDimensionLayer";case"Feature Layer":return"ArcGISFeatureLayer";case"Oriented Imagery Layer":return"OrientedImageryLayer";case"Parcel Layer":return"ParcelLayer";case"Table":return"Table";case"Topology Layer":return"TopologyLayer";case"Trace Network Layer":return"TraceNetworkLayer";case"Utility Network Layer":return"UtilityNetworkLayer";default:return null}}},2976(e,t,a){const r={AnnotationFeatureLayer:async()=>(await Promise.all([a.e(9917),a.e(6914),a.e(7865),a.e(2292),a.e(5732),a.e(564),a.e(2869),a.e(3910),a.e(7552),a.e(2889),a.e(5278),a.e(4674),a.e(7283),a.e(1954)]).then(()=>a(20737))).default,BingMapsLayer:async()=>(await Promise.all([a.e(6914),a.e(7865),a.e(5732),a.e(6684)]).then(()=>a(17029))).default,BuildingSceneLayer:async()=>(await Promise.all([a.e(6361),a.e(9917),a.e(6914),a.e(7865),a.e(2292),a.e(5732),a.e(9953),a.e(564),a.e(2869),a.e(3910),a.e(7552),a.e(1214),a.e(5051),a.e(2889),a.e(4473),a.e(5278),a.e(1017),a.e(9789),a.e(4674),a.e(7283),a.e(8589),a.e(7005),a.e(9480),a.e(2629),a.e(647)]).then(()=>a(82411))).default,CSVLayer:async()=>(await Promise.all([a.e(9917),a.e(6914),a.e(7865),a.e(2292),a.e(5732),a.e(9953),a.e(564),a.e(2869),a.e(3910),a.e(7552),a.e(1214),a.e(5051),a.e(2889),a.e(4473),a.e(5278),a.e(1017),a.e(3813)]).then(()=>a(68695))).default,CatalogLayer:async()=>(await Promise.all([a.e(9917),a.e(6914),a.e(7865),a.e(2292),a.e(5732),a.e(564),a.e(2869),a.e(3910),a.e(7552),a.e(1214),a.e(5051),a.e(2889),a.e(4473),a.e(5278),a.e(9789),a.e(4674),a.e(893),a.e(7283),a.e(7013),a.e(7067),a.e(7925)]).then(()=>a(83508))).default,DimensionFeatureLayer:async()=>(await Promise.all([a.e(9917),a.e(6914),a.e(7865),a.e(2292),a.e(5732),a.e(564),a.e(2869),a.e(3910),a.e(7552),a.e(2889),a.e(5278),a.e(4674),a.e(7283),a.e(3376)]).then(()=>a(25077))).default,DimensionLayer:async()=>(await Promise.all([a.e(9917),a.e(6914),a.e(6619)]).then(()=>a(71493))).default,ElevationLayer:async()=>(await Promise.all([a.e(9917),a.e(6914),a.e(9953),a.e(8732),a.e(2231)]).then(()=>a(38732))).default,FeatureLayer:async()=>(await Promise.all([a.e(6361),a.e(9917),a.e(6914),a.e(7865),a.e(2292),a.e(5732),a.e(9953),a.e(564),a.e(2869),a.e(3910),a.e(7552),a.e(1214),a.e(5051),a.e(2889),a.e(4473),a.e(5278),a.e(1017),a.e(9789),a.e(4674),a.e(7283),a.e(8589),a.e(3075)]).then(()=>a(18589))).default,GaussianSplatLayer:async()=>(await Promise.all([a.e(9917),a.e(6914),a.e(1133),a.e(6475)]).then(()=>a(36475))).default,GeoJSONLayer:async()=>(await Promise.all([a.e(9917),a.e(6914),a.e(7865),a.e(2292),a.e(5732),a.e(9953),a.e(564),a.e(2869),a.e(3910),a.e(7552),a.e(1214),a.e(5051),a.e(2889),a.e(4473),a.e(5278),a.e(1017),a.e(903)]).then(()=>a(15481))).default,GeoRSSLayer:async()=>(await Promise.all([a.e(9917),a.e(6914),a.e(7865),a.e(5732),a.e(2363)]).then(()=>a(63201))).default,GeospatialPDFLayer:async()=>(await Promise.all([a.e(9917),a.e(6914),a.e(9187),a.e(8885),a.e(9117),a.e(7865),a.e(2292),a.e(9953),a.e(564),a.e(3299),a.e(2869),a.e(3910),a.e(5130),a.e(2754),a.e(8605),a.e(9859),a.e(5485),a.e(4642),a.e(4907)]).then(()=>a(44907))).default,GroupLayer:async()=>(await Promise.all([a.e(9917),a.e(6914),a.e(7865),a.e(9866),a.e(6569)]).then(()=>a(85989))).default,ImageryLayer:async()=>(await Promise.all([a.e(9917),a.e(6914),a.e(7865),a.e(2292),a.e(5732),a.e(9953),a.e(564),a.e(2869),a.e(3910),a.e(7552),a.e(893),a.e(5130),a.e(8605),a.e(2254),a.e(7772),a.e(8768)]).then(()=>a(87772))).default,ImageryTileLayer:async()=>(await Promise.all([a.e(9917),a.e(6914),a.e(7865),a.e(2292),a.e(5732),a.e(9953),a.e(564),a.e(2869),a.e(3910),a.e(5130),a.e(2754),a.e(8605),a.e(9859),a.e(9235),a.e(2254),a.e(1003),a.e(2806),a.e(7870)]).then(()=>a(90124))).default,IntegratedMesh3DTilesLayer:async()=>(await Promise.all([a.e(9917),a.e(6914),a.e(9953),a.e(1133),a.e(6451),a.e(8241)]).then(()=>a(61528))).default,IntegratedMeshLayer:async()=>(await Promise.all([a.e(9917),a.e(6914),a.e(9953),a.e(7552),a.e(7005),a.e(9480),a.e(1133),a.e(5847),a.e(1859),a.e(6451),a.e(1379)]).then(()=>a(49013))).default,KMLLayer:async()=>(await Promise.all([a.e(9917),a.e(6914),a.e(7865),a.e(2292),a.e(5732),a.e(564),a.e(2869),a.e(3910),a.e(1214),a.e(5051),a.e(4473),a.e(8273)]).then(()=>a(162))).default,KnowledgeGraphLayer:async()=>(await Promise.all([a.e(9917),a.e(6914),a.e(7865),a.e(2292),a.e(5732),a.e(9953),a.e(564),a.e(2869),a.e(3910),a.e(7552),a.e(1214),a.e(5051),a.e(2889),a.e(4473),a.e(5278),a.e(1017),a.e(9789),a.e(9696),a.e(359),a.e(5752),a.e(3902),a.e(4720),a.e(4934),a.e(8692)]).then(()=>a(28692))).default,LineOfSightLayer:async()=>(await Promise.all([a.e(9917),a.e(6914),a.e(3888),a.e(9695)]).then(()=>a(49695))).default,LinkChartLayer:async()=>(await Promise.all([a.e(9917),a.e(6914),a.e(7865),a.e(2292),a.e(5732),a.e(9953),a.e(564),a.e(2869),a.e(3910),a.e(7552),a.e(1214),a.e(5051),a.e(2889),a.e(4473),a.e(5278),a.e(1017),a.e(9789),a.e(9696),a.e(359),a.e(5752),a.e(3902),a.e(4720),a.e(4934),a.e(3309)]).then(()=>a(93309))).default,MapImageLayer:async()=>(await Promise.all([a.e(9917),a.e(6914),a.e(7865),a.e(2292),a.e(5732),a.e(564),a.e(2869),a.e(3910),a.e(7552),a.e(1214),a.e(5051),a.e(2889),a.e(4473),a.e(5278),a.e(4674),a.e(893),a.e(8470),a.e(1474)]).then(()=>a(7656))).default,MapNotesLayer:async()=>(await Promise.all([a.e(6361),a.e(9917),a.e(6914),a.e(7865),a.e(2292),a.e(5732),a.e(9953),a.e(564),a.e(2869),a.e(3910),a.e(7552),a.e(1214),a.e(5051),a.e(2889),a.e(4473),a.e(5278),a.e(1017),a.e(9789),a.e(4674),a.e(7283),a.e(8589),a.e(4720),a.e(2469)]).then(()=>a(96299))).default,MediaLayer:async()=>(await Promise.all([a.e(6361),a.e(9917),a.e(6914),a.e(7865),a.e(5485),a.e(528)]).then(()=>a(99557))).default,OGCFeatureLayer:async()=>(await Promise.all([a.e(9917),a.e(6914),a.e(7865),a.e(2292),a.e(5732),a.e(564),a.e(2869),a.e(3910),a.e(7552),a.e(1214),a.e(5051),a.e(2889),a.e(4473),a.e(5278),a.e(1017),a.e(2629),a.e(5977)]).then(()=>a(65977))).default,OpenStreetMapLayer:async()=>(await Promise.all([a.e(9917),a.e(6914),a.e(7865),a.e(5732),a.e(919),a.e(349)]).then(()=>a(40349))).default,OrientedImageryLayer:async()=>(await Promise.all([a.e(6361),a.e(9917),a.e(6914),a.e(7865),a.e(2292),a.e(5732),a.e(9953),a.e(564),a.e(2869),a.e(3910),a.e(7552),a.e(1214),a.e(5051),a.e(2889),a.e(4473),a.e(5278),a.e(1017),a.e(9789),a.e(4674),a.e(7283),a.e(8589),a.e(6854)]).then(()=>a(16852))).default,ParquetLayer:async()=>(await Promise.all([a.e(6914),a.e(7865),a.e(2292),a.e(5732),a.e(9953),a.e(564),a.e(2869),a.e(3910),a.e(7552),a.e(1214),a.e(5051),a.e(2889),a.e(4473),a.e(5278),a.e(1017),a.e(3661),a.e(7320),a.e(99)]).then(()=>a(99680))).default,PointCloudLayer:async()=>(await Promise.all([a.e(9917),a.e(6914),a.e(2869),a.e(7984),a.e(7515)]).then(()=>a(77885))).default,RouteLayer:async()=>(await Promise.all([a.e(9917),a.e(6914),a.e(7865),a.e(2292),a.e(564),a.e(2869),a.e(3910),a.e(1214),a.e(5051),a.e(4473),a.e(2561)]).then(()=>a(39622))).default,SceneLayer:async()=>(await Promise.all([a.e(9917),a.e(6914),a.e(2292),a.e(564),a.e(2869),a.e(3910),a.e(7552),a.e(1214),a.e(5051),a.e(2889),a.e(4473),a.e(5278),a.e(7005),a.e(9480),a.e(2629),a.e(5854)]).then(()=>a(2e4))).default,StreamLayer:async()=>(await Promise.all([a.e(9917),a.e(6914),a.e(7865),a.e(2292),a.e(5732),a.e(564),a.e(2869),a.e(3910),a.e(7552),a.e(1214),a.e(5051),a.e(2889),a.e(4473),a.e(5278),a.e(1017),a.e(8593)]).then(()=>a(79457))).default,SubtypeGroupLayer:async()=>(await Promise.all([a.e(6361),a.e(9917),a.e(6914),a.e(7865),a.e(2292),a.e(5732),a.e(564),a.e(2869),a.e(3910),a.e(7552),a.e(2889),a.e(5278),a.e(9789),a.e(4674),a.e(7283),a.e(4451)]).then(()=>a(97483))).default,TileLayer:async()=>(await Promise.all([a.e(9917),a.e(6914),a.e(7865),a.e(2292),a.e(5732),a.e(564),a.e(2869),a.e(3910),a.e(7552),a.e(1214),a.e(5051),a.e(2889),a.e(4473),a.e(5278),a.e(4674),a.e(893),a.e(8470),a.e(6200)]).then(()=>a(71756))).default,UnknownLayer:async()=>(await Promise.all([a.e(9917),a.e(3928)]).then(()=>a(146))).default,UnsupportedLayer:async()=>(await Promise.all([a.e(9917),a.e(2819)]).then(()=>a(45165))).default,VectorTileLayer:async()=>(await Promise.all([a.e(9917),a.e(6914),a.e(7865),a.e(5732),a.e(9953),a.e(5228),a.e(8744),a.e(8659)]).then(()=>a(50638))).default,VideoLayer:async()=>(await Promise.all([a.e(9917),a.e(6914),a.e(7865),a.e(3910),a.e(4674),a.e(2565)]).then(()=>a(86875))).default,ViewshedLayer:async()=>(await Promise.all([a.e(9917),a.e(6914),a.e(3888),a.e(6650)]).then(()=>a(96650))).default,VoxelLayer:async()=>(await Promise.all([a.e(9917),a.e(6914),a.e(2869),a.e(4443)]).then(()=>a(21005))).default,WCSLayer:async()=>(await Promise.all([a.e(9917),a.e(6914),a.e(7865),a.e(2292),a.e(5732),a.e(9953),a.e(564),a.e(2869),a.e(3910),a.e(5130),a.e(2754),a.e(8605),a.e(9859),a.e(9235),a.e(2254),a.e(2806),a.e(2061)]).then(()=>a(20521))).default,WFSLayer:async()=>(await Promise.all([a.e(9917),a.e(6914),a.e(7865),a.e(2292),a.e(5732),a.e(9953),a.e(564),a.e(2869),a.e(3910),a.e(7552),a.e(1214),a.e(5051),a.e(2889),a.e(4473),a.e(5278),a.e(1017),a.e(5411)]).then(()=>a(21901))).default,WMSLayer:async()=>(await Promise.all([a.e(6361),a.e(9917),a.e(6914),a.e(7865),a.e(2292),a.e(5732),a.e(2869),a.e(3910),a.e(805)]).then(()=>a(51904))).default,WMTSLayer:async()=>(await Promise.all([a.e(9917),a.e(6914),a.e(7865),a.e(5732),a.e(919),a.e(309)]).then(()=>a(20309))).default,WebTileLayer:async()=>(await Promise.all([a.e(9917),a.e(6914),a.e(7865),a.e(5732),a.e(919)]).then(()=>a(47314))).default};a.d(t,["U",0,r])},66964(e,t,a){a.d(t,{Ju:()=>w,K8:()=>P,XH:()=>L,Y5:()=>d,_r:()=>l,bO:()=>c,l:()=>v,nu:()=>A,pJ:()=>u,rc:()=>y});var r=a(60694),n=a(92009),s=a(23154),i=a(77548);function l(e,t){const{id:a,name:r}=e,n={id:a,name:r};return o(n,e,t),n}function o(e,t,a){const r=(0,s.Aq)(t.type,a);r&&(e.layerType=r)}async function c(e,t,a){let r,n;if(function(e){return!!e&&Array.isArray(e.layers)&&Array.isArray(e.tables)}(e)&&f(e))n=e;else{const s=await a.fetchServiceMetadata(t,{customParameters:u(e)?.customParameters});r=(0,i.G$)(),n=h(e,s),p(n,s)}return m(n),{data:n,preferredHost:r}}function u(e){if(!e)return null;const{layers:t,tables:a}=e;return t?.[0]??a?.[0]??null}function y(e,t){return null==t?null:[...e.layers??[],...e.tables??[]].find(e=>e.id===t)}function f(e){return[...e.layers??[],...e.tables??[]].every(e=>!!e.layerType)}function h(e,t){return{...e,layers:e?.layers??t.layers?.map(e=>l(e))??[],tables:e?.tables??t.tables?.map(e=>l(e,!0))??[]}}function p(e,t){const a=e.layers??[],r=e.tables??[],n=[...t.layers??[],...t.tables??[]];for(const e of[...a,...r]){const{id:t,layerType:a}=e;if(a)continue;const s=n.find(({id:e})=>e===t);s&&o(e,s,r.includes(e))}}function m(e){e.layers=e.layers?.filter(g),e.tables=e.tables?.filter(g)}async function d(e,t,a){if(e?.layers?.length||e?.tables?.length){if(!f(e)){const n=(0,r.qg)(t)?.url.path;if(!n)return;p(e,await a.fetchServiceMetadata(n,{customParameters:u(e)?.customParameters}))}m(e)}}function w(e,t){return[...e.layers??[],...e.tables??[]].filter(({layerType:e})=>e?t.includes(e):t.includes("ArcGISFeatureLayer"))}function L(e){return(e?.layers?.length??0)+(e?.tables?.length??0)}const S=new Set(["ArcGISAnnotationLayer","ArcGISDimensionLayer","ArcGISFeatureLayer","CatalogLayer","OrientedImageryLayer","SubtypeGroupLayer","SubtypeGroupTable","Table"]);function g(e){return!!e.layerType&&S.has(e.layerType)}function v(e){switch(e){case"annotation-feature":return["ArcGISAnnotationLayer"];case"catalog":return["CatalogLayer"];case"dimension-feature":return["ArcGISDimensionLayer"];case"feature":return["ArcGISFeatureLayer","Table"];case"oriented-imagery":return["OrientedImageryLayer"];case"subtype-group":return["SubtypeGroupLayer","SubtypeGroupTable"]}return null}function P(e){switch(e){case"ArcGISAnnotationLayer":return"AnnotationFeatureLayer";case"ArcGISDimensionLayer":return"DimensionFeatureLayer";case"ArcGISFeatureLayer":case"Table":return"FeatureLayer";case"CatalogLayer":return"CatalogLayer";case"OrientedImageryLayer":return"OrientedImageryLayer";case"SubtypeGroupLayer":case"SubtypeGroupTable":return"SubtypeGroupLayer"}return null}async function A(e,t,a){if(!e?.url)return t??{};if(t??={},!t.layers){const r=await a.fetchServiceMetadata(e.url);t.layers=r.layers?.map(e=>l(e))}const{serverUrl:r,portalItem:s}=await(0,n.L)(e.url,{sceneLayerItem:e,customParameters:u(t)?.customParameters}).catch(()=>({serverUrl:null,portalItem:null}));if(null==r)return t.tables=[],t;if(!t.tables&&s){const e=await s.fetchData().catch(()=>null);if(e?.tables)t.tables=e.tables.map(({id:e,name:t})=>({id:e,name:t}));else{const n=await a.fetchServiceMetadata(r,{customParameters:u(e)?.customParameters}).catch(()=>null);t.tables=n?.tables?.map(e=>l(e,!0))}}if(t.tables)for(const e of t.tables)e.url=`${r}/${e.id}`;return t}},10407(e,t,a){a.d(t,{It:()=>h,LG:()=>i,OM:()=>c,Sm:()=>u,Y:()=>l,bK:()=>o,sQ:()=>y});var r=a(99917),n=a(16930),s=a(28735);function i(e,t){if(!l(e,t)){const a=e.typeKeywords;a?a.push(t):e.typeKeywords=[t]}}function l(e,t){return!!e.typeKeywords?.includes(t)}function o(e){return l(e,f.HOSTED_SERVICE)}function c(e,t){const a=e.typeKeywords;if(a){const e=a.indexOf(t);e>-1&&a.splice(e,1)}}function u(e,t,a){a?i(e,t):c(e,t)}async function y(e){const t=e.clone().normalize();let a;if(t.length>1)for(const e of t)a?e.width>a.width&&(a=e):a=e;else a=t[0];return async function(e){const t=e.spatialReference;if(t.isWGS84)return e.clone();if(t.isWebMercator)return(0,s.ci)(e);const a=n.A.WGS84;return await(0,r.initializeProjection)(t,a),(0,r.project)(e,a)}(a)}const f={CHARTS:"Charts",CATALOG_LAYER:"CatalogLayer",DYNAMIC:"Dynamic",DEVELOPER_BASEMAP:"DeveloperBasemap",GROUP_LAYER_MAP:"Map",HOSTED_SERVICE:"Hosted Service",JSAPI:"ArcGIS API for JavaScript",LOCAL_SCENE:"ViewingMode-Local",METADATA:"Metadata",MULTI_LAYER:"Multilayer",ORIENTED_IMAGERY_LAYER:"OrientedImageryLayer",PARCEL_FABRIC:"ParcelFabric",SINGLE_LAYER:"Singlelayer",SUBTYPE_GROUP_LAYER:"SubtypeGroupLayer",SUBTYPE_GROUP_TABLE:"SubtypeGroupTable",TABLE:"Table",TILED_IMAGERY:"Tiled Imagery",UTILITY_NETWORK:"UtilityNetwork"};function h(e){const{portal:t,isOrgItem:a,itemControl:r}=e,n=t.user?.privileges;let s=!n||n.includes("features:user:edit"),i=!!a&&!!n?.includes("features:user:fullEdit");const l="update"===r||"admin"===r;return l?i=s=!0:i&&(s=!0),{features:{edit:s,fullEdit:i},content:{updateItem:l}}}a.d(t,["mm",0,f])},45613(e,t,a){a.d(t,{fromItem:()=>f,n:()=>h});var r=a(49186),n=a(92009),s=a(23154),i=a(22429),l=a(2976),o=a(77548),c=a(80812),u=a(66964),y=a(10407);async function f(e){let{portalItem:t}=e;!t||t instanceof c.default||(t=new c.default(t));const a=await async function(e){await e.load();const t=new i.v;return async function(e){const t=e.className,a=l.U[t];return{constructor:await a(),properties:e.properties}}(await h(e,t))}(t);return new(0,a.constructor)({portalItem:t,...a.properties})}async function h(e,t){switch(e.type){case"3DTiles Service":return e.typeKeywords.includes("3DObject")?{className:"UnsupportedLayer"}:e.typeKeywords.includes("GaussianSplat")?{className:"GaussianSplatLayer"}:{className:"IntegratedMesh3DTilesLayer"};case"CSV":return{className:"CSVLayer"};case"Feature Collection":return async function(e){await e.load();const t=(0,y.Y)(e,"Map Notes"),a=(0,y.Y)(e,"Markup");if(t||a)return{className:"MapNotesLayer"};if((0,y.Y)(e,"Route Layer"))return{className:"RouteLayer"};const r=await e.fetchData();return 1===(0,u.XH)(r)?{className:"FeatureLayer"}:{className:"GroupLayer"}}(e);case"Feature Service":return async function(e,t){const a=await p(e,t);if("object"==typeof a){const{sourceJSON:e,className:t}=a,r={sourceJSON:e};return null!=a.id&&(r.layerId=a.id),{className:t||"FeatureLayer",properties:r}}return{className:"GroupLayer"}}(e,t);case"Feed":case"Stream Service":return{className:"StreamLayer"};case"GeoJson":return{className:"GeoJSONLayer"};case"Group Layer":return{className:"GroupLayer"};case"Image Service":return async function(e,t){await e.load();const a=e.typeKeywords?.map(e=>e.toLowerCase())??[];if(a.includes("elevation 3d layer"))return{className:"ElevationLayer"};if(a.includes("tiled imagery"))return{className:"ImageryTileLayer"};const r=await t.fetchItemData(e),n=r?.layerType;if("ArcGISTiledImageServiceLayer"===n)return{className:"ImageryTileLayer"};if("ArcGISImageServiceLayer"===n)return{className:"ImageryLayer"};const s=await t.fetchServiceMetadata(e.url,{customParameters:await t.fetchCustomParameters(e)}),i=s.cacheType?.toLowerCase(),l=s.capabilities?.toLowerCase().includes("tilesonly"),o=s.tileInfo?.format?.toLowerCase()??"",c=null==i&&["jpg","jpeg","png","png8","png24","png32","mixed"].includes(o);return"map"===i||c||l?{className:"ImageryTileLayer"}:{className:"ImageryLayer"}}(e,t);case"KML":return{className:"KMLLayer"};case"Knowledge Graph Layer":return{className:"KnowledgeGraphLayer"};case"Map Service":return async function(e,t){return await async function(e,t){const{tileInfo:a}=await t.fetchServiceMetadata(e.url,{customParameters:await t.fetchCustomParameters(e)});return a}(e,t)?{className:"TileLayer"}:{className:"MapImageLayer"}}(e,t);case"Media Layer":return{className:"MediaLayer"};case"PDF":return{className:"GeospatialPDFLayer"};case"Scene Service":return async function(e,t){const a=await p(e,t,async()=>{try{if(!e.url)return[];const{serverUrl:a}=await(0,n.L)(e.url,{sceneLayerItem:e}),r=await t.fetchServiceMetadata(a);return r?.tables??[]}catch{return[]}});if("object"==typeof a){const r={};let n;if(null!=a.id?(r.layerId=a.id,n=`${e.url}/layers/${a.id}`):n=e.url,e.typeKeywords?.length)for(const t of Object.keys(o.XX))if(e.typeKeywords.includes(t))return{className:o.XX[t]};const s=await t.fetchServiceMetadata(n,{customParameters:await t.fetchCustomParameters(e,e=>(0,u.pJ)(e)?.customParameters)});return{className:o.XX[s?.layerType]||"SceneLayer",properties:r}}if(!1===a){const a=await t.fetchServiceMetadata(e.url);if("Voxel"===a?.layerType)return{className:"VoxelLayer"}}return{className:"GroupLayer"}}(e,t);case"Video Service":return async function(e,t){return"object"==typeof await p(e,t)?{className:"VideoLayer"}:{className:"GroupLayer"}}(e,t);case"Vector Tile Service":return{className:"VectorTileLayer"};case"WCS":return{className:"WCSLayer"};case"WFS":return{className:"WFSLayer"};case"WMS":return{className:"WMSLayer"};case"WMTS":return{className:"WMTSLayer"};default:throw new r.A("portal:unknown-item-type","Unknown item type '${type}'",{type:e.type})}}async function p(e,t,a){const{url:n,type:i}=e,l="Feature Service"===i;if(!n)return{};if(/\/\d+$/.test(n)){if(l){const a=await t.fetchServiceMetadata(n,{customParameters:await t.fetchCustomParameters(e,e=>(0,u.pJ)(e)?.customParameters)});(0,o.Gh)(e,(0,o.G$)());const{id:i,type:l}=a,c=(0,s.Jo)(l);if(!c)throw new r.A("from-portal-item:unsupported",`'${n}' has unsupported type: '${l}'`);return{id:i,className:c,sourceJSON:a}}return{}}if("Video Service"===i){const e=await t.fetchServiceMetadata(n);return!((e.layers?.length??0)>1)&&{}}await e.load();let c=await t.fetchItemData(e);if(l){const{data:a,preferredHost:s}=await(0,u.bO)(c,n,t);if(0===(0,u.XH)(a))throw new r.A("from-portal-item:no-data",`The feature service '${n}' does not have any supported layers or tables`);(0,o.Gh)(e,s);const i=m(a);if("object"==typeof i){const e=(0,u.rc)(a,i.id);return{id:i.id,className:(0,u.K8)(e?.layerType)}}return i}if("Scene Service"===i&&(c=await(0,u.nu)(e,c,t)),(0,u.XH)(c)>0)return m(c);const y=await t.fetchServiceMetadata(n);return a&&(y.tables=await a()),m(y)}function m(e){return 1===(0,u.XH)(e)&&{id:(0,u.pJ)(e)?.id}}},7861(e,t,a){a.d(t,{L:()=>n});var r=a(56507);async function n(e,t){return(await(0,r.A)(e,{responseType:"json",query:{f:"json",...t?.customParameters,token:t?.apiKey}})).data}}}]);