@arcgis/core 4.33.0-next.20250403 → 4.33.0-next.20250405

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 (142) hide show
  1. package/WebScene.js +1 -1
  2. package/assets/esri/core/workers/RemoteClient.js +1 -1
  3. package/assets/esri/core/workers/chunks/{361a3253877acd3b4f07.js → 1014513c0ec85f9414a4.js} +1 -1
  4. package/assets/esri/core/workers/chunks/{18f8b41bd761e9ab60d0.js → 114599ed0752d9a70eef.js} +1 -1
  5. package/assets/esri/core/workers/chunks/{30a047bd66f333bb7d2d.js → 1364744b15b327abd5a1.js} +1 -1
  6. package/assets/esri/core/workers/chunks/{5beb525b4adde1d98532.js → 27b7ef3442700f6d6123.js} +84 -84
  7. package/assets/esri/core/workers/chunks/{628395830c78b95b46dc.js → 290aed587aa647226b46.js} +1 -1
  8. package/assets/esri/core/workers/chunks/358a3a9326615d5e6d3b.js +1 -0
  9. package/assets/esri/core/workers/chunks/35ab75010817f1525e54.js +1 -0
  10. package/assets/esri/core/workers/chunks/386ea90e87254b0282ec.js +1 -0
  11. package/assets/esri/core/workers/chunks/{2a654d8de99be40dd0e6.js → 3f6dc811b5d515c2725c.js} +1 -1
  12. package/assets/esri/core/workers/chunks/{8d421e0a01e2c3f6980c.js → 4275dcec730a11173661.js} +1 -1
  13. package/assets/esri/core/workers/chunks/43b19c58b2d16ae8e7cc.js +1 -0
  14. package/assets/esri/core/workers/chunks/{ddfb5a2055a36576ba0d.js → 4523ba4a3c8987abca56.js} +1 -1
  15. package/assets/esri/core/workers/chunks/{0b6ceb0194a07bbc3433.js → 4baef5262ce401bf81bb.js} +1 -1
  16. package/assets/esri/core/workers/chunks/{5660f479c005149bce8d.js → 4de3d692557120a4bbf7.js} +1 -1
  17. package/assets/esri/core/workers/chunks/{5e79642851e888eddfe4.js → 4e3b60156bee3b8b3367.js} +1 -1
  18. package/assets/esri/core/workers/chunks/{4dc135e0133d58a06d67.js → 519028f42b817d3e9933.js} +1 -1
  19. package/assets/esri/core/workers/chunks/{1377ddd582518e5fa051.js → 60472225a228e499b1a2.js} +1 -1
  20. package/assets/esri/core/workers/chunks/61737e442b1f8e86164e.js +1 -0
  21. package/assets/esri/core/workers/chunks/69e606267dc5842ebf9d.js +1 -0
  22. package/assets/esri/core/workers/chunks/7099564a8853b81ba181.js +1 -0
  23. package/assets/esri/core/workers/chunks/{3db517369c5dd891a75f.js → 72f4cea853ce9fcf2cb6.js} +1 -1
  24. package/assets/esri/core/workers/chunks/7ccc02a4ec6d3552ecca.js +1 -0
  25. package/assets/esri/core/workers/chunks/8221f2e540abe1e0f048.js +1 -0
  26. package/assets/esri/core/workers/chunks/8fecd1337d84c26c692b.js +1 -0
  27. package/assets/esri/core/workers/chunks/{6280e1fe944ea4a71b91.js → 9643a9516783e8c32180.js} +1 -1
  28. package/assets/esri/core/workers/chunks/b06e3ba73f353592c81d.js +1 -0
  29. package/assets/esri/core/workers/chunks/c2d0fc13f4b746318a38.js +1 -0
  30. package/assets/esri/core/workers/chunks/{6ab96eaaad0aaad46db9.js → cc307d34a68e44e3cbc5.js} +1 -1
  31. package/assets/esri/core/workers/chunks/d46c82a55219b27c301b.js +1 -0
  32. package/assets/esri/core/workers/chunks/{1df34b7fd68f5ab55bd3.js → d89f105b8a0b13dd8e5f.js} +1 -1
  33. package/assets/esri/core/workers/chunks/eaead9e927ebadcf2cc3.js +1 -0
  34. package/assets/esri/core/workers/chunks/ed517687b3728fd2eb64.js +1 -0
  35. package/assets/esri/core/workers/chunks/f41a9ceb8e49baafe9fa.js +1 -0
  36. package/assets/esri/core/workers/chunks/{e3b0bb6850d5252d5f24.js → f7d33d18bf1bd4db9df8.js} +1 -1
  37. package/assets/esri/themes/base/_core.scss +2 -0
  38. package/assets/esri/themes/base/widgets/_SelectionList.scss +61 -0
  39. package/assets/esri/themes/dark/main.css +1 -1
  40. package/assets/esri/themes/light/main.css +1 -1
  41. package/assets/esri/themes/light/view.css +1 -1
  42. package/assets/esri/widgets/support/SelectionList/t9n/SelectionList.json +1 -0
  43. package/assets/esri/widgets/support/SelectionList/t9n/SelectionList_en.json +1 -0
  44. package/core/MultiOriginJSONSupport.js +1 -1
  45. package/core/accessorSupport/DefaultsStore.js +1 -1
  46. package/core/accessorSupport/MultiOriginStore.js +1 -1
  47. package/core/accessorSupport/Properties.js +1 -1
  48. package/core/accessorSupport/Store.js +1 -1
  49. package/core/unitUtils.js +1 -1
  50. package/geometry/support/HalfFloatArray.js +1 -1
  51. package/geometry/support/buffer/BufferView.js +1 -1
  52. package/geometry/support/float16.js +5 -0
  53. package/interfaces.d.ts +630 -26
  54. package/layers/BuildingSceneLayer.js +1 -1
  55. package/layers/ParquetLayer.d.ts +4 -0
  56. package/layers/SceneLayer.js +1 -1
  57. package/layers/WMSLayer.js +1 -1
  58. package/layers/support/VideoElement.js +1 -1
  59. package/layers/support/rasterFunctions/rasterFunctionHelper.js +1 -1
  60. package/package.json +2 -2
  61. package/portal/schemas/definitions.js +1 -1
  62. package/smartMapping/statistics/types.d.ts +4 -0
  63. package/smartMapping/statistics/types.js +5 -0
  64. package/support/revision.js +1 -1
  65. package/versionManagement/VersioningState.js +1 -1
  66. package/views/2d/engine/Stage.js +1 -1
  67. package/views/2d/engine/webgl/Mesh2D.js +1 -1
  68. package/views/2d/engine/webgl/Painter.js +1 -1
  69. package/views/2d/engine/webgl/effects/highlight/HighlightSurfaces.js +1 -1
  70. package/views/2d/engine/webgl/shaderGraph/techniques/dotDensity/DotDensityResources.js +1 -1
  71. package/views/2d/engine/webgl/shaderGraph/techniques/heatmap/HeatmapResources.js +1 -1
  72. package/views/2d/layers/features/layerAdapters/InMemoryLayerAdapter.js +1 -1
  73. package/views/2d/layers/features/support/FeatureSetReaderPBFHeader.js +1 -1
  74. package/views/3d/layers/graphics/Graphics3DIconSymbolLayer.js +1 -1
  75. package/views/3d/layers/graphics/Graphics3DWaterSymbolLayer.js +1 -1
  76. package/views/3d/layers/graphics/defaultSymbolComplexity.js +1 -1
  77. package/views/3d/layers/graphics/pipeline/Feature3DPipeline.js +1 -1
  78. package/views/3d/terrain/support/MultiSizeFramebuffer.js +1 -1
  79. package/views/3d/webgl/formats.js +1 -1
  80. package/views/3d/webgl-engine/core/FBOCache.js +1 -1
  81. package/views/3d/webgl-engine/core/shaderLibrary/attributes/PathVertexPosition.glsl.js +15 -15
  82. package/views/3d/webgl-engine/core/shaderLibrary/attributes/RibbonVertexPosition.glsl.js +5 -5
  83. package/views/3d/webgl-engine/core/shaderTechnique/ShaderTechniqueRepository.js +1 -1
  84. package/views/3d/webgl-engine/lib/AttributeArray.js +1 -1
  85. package/views/3d/webgl-engine/lib/PathGeometryData.js +1 -1
  86. package/views/3d/webgl-engine/lib/Texture.js +1 -1
  87. package/views/3d/webgl-engine/lib/VertexAttribute.js +1 -1
  88. package/views/3d/webgl-engine/lib/glUtil3D.js +1 -1
  89. package/views/3d/webgl-engine/lib/lodRendering/LodRenderer.js +1 -1
  90. package/views/3d/webgl-engine/lib/textureUtils.js +1 -1
  91. package/views/3d/webgl-engine/materials/ColorMaterial.js +1 -1
  92. package/views/3d/webgl-engine/materials/LineMarkerMaterial.js +1 -1
  93. package/views/3d/webgl-engine/materials/PathMaterial.js +1 -1
  94. package/views/3d/webgl-engine/materials/PathTechnique.js +1 -1
  95. package/views/3d/webgl-engine/materials/PatternMaterial.js +1 -1
  96. package/views/3d/webgl-engine/materials/RibbonLineMaterial.js +1 -1
  97. package/views/3d/webgl-engine/materials/internal/bufferWriterUtils.js +1 -1
  98. package/views/FocusAreas.js +1 -1
  99. package/views/SceneView.js +1 -1
  100. package/views/View.js +1 -1
  101. package/views/ViewAnimation.js +1 -1
  102. package/views/layers/ParquetLayerView.d.ts +4 -0
  103. package/views/support/TextureCompressionWorker.js +1 -1
  104. package/views/webgl/FramebufferObject.js +1 -1
  105. package/views/webgl/ShaderBuilder.js +1 -1
  106. package/views/webgl/Texture.js +1 -1
  107. package/views/webgl/Util.js +1 -1
  108. package/views/webgl/checkWebGLError.js +1 -1
  109. package/views/webgl/enums.js +1 -1
  110. package/views/webgl/textureUtils.js +1 -1
  111. package/widgets/Feature/support/relatedFeatureUtils.js +1 -1
  112. package/widgets/FeatureForm/UtilityNetworkAssociationAddAssociationViewModel.js +1 -1
  113. package/widgets/FeatureTable/support/tableUtils.js +1 -1
  114. package/widgets/FeatureTable.js +1 -1
  115. package/widgets/FloorFilter/FloorFilterViewModel.js +1 -1
  116. package/widgets/support/SelectionList/SelectionListFeatureItem.js +5 -0
  117. package/widgets/support/SelectionList/SelectionListGroupLayerItem.js +5 -0
  118. package/widgets/support/SelectionList/SelectionListItemBase.js +5 -0
  119. package/widgets/support/SelectionList/SelectionListLayerItem.js +5 -0
  120. package/widgets/support/SelectionList/SelectionListViewModel.js +5 -0
  121. package/widgets/support/SelectionList/VisibleElements.js +5 -0
  122. package/widgets/support/SelectionList/selectionListUtils.js +5 -0
  123. package/widgets/support/SelectionList.js +5 -0
  124. package/widgets/support/Selector2D/selectorUtils.js +1 -1
  125. package/widgets/support/UtilityNetworkAssociations/utils/getFeatureTitle.js +1 -1
  126. package/widgets/support/iconUtils.js +1 -1
  127. package/assets/esri/core/workers/chunks/0cd5f15b8558b23e5fcd.js +0 -1
  128. package/assets/esri/core/workers/chunks/1d322685016263f86cf5.js +0 -1
  129. package/assets/esri/core/workers/chunks/2219d970ece5676ca6ee.js +0 -1
  130. package/assets/esri/core/workers/chunks/222446da9cb58c3c3b7e.js +0 -1
  131. package/assets/esri/core/workers/chunks/401ff3c83789c72e9ac9.js +0 -1
  132. package/assets/esri/core/workers/chunks/555c95b149e3a82a4460.js +0 -1
  133. package/assets/esri/core/workers/chunks/6828e4936db0121a9638.js +0 -1
  134. package/assets/esri/core/workers/chunks/6b0a6469673417563616.js +0 -1
  135. package/assets/esri/core/workers/chunks/6e679703b5d6fc1b91a5.js +0 -1
  136. package/assets/esri/core/workers/chunks/6f3731f19497cbc6ea74.js +0 -1
  137. package/assets/esri/core/workers/chunks/7649d59b0b7d53818a29.js +0 -1
  138. package/assets/esri/core/workers/chunks/7b8f0b63b968ff40d00d.js +0 -1
  139. package/assets/esri/core/workers/chunks/c977a47cabc419610277.js +0 -1
  140. package/assets/esri/core/workers/chunks/e8312c999b3f0c9ef09e.js +0 -1
  141. package/assets/esri/core/workers/chunks/fa9ef9e8eae505371965.js +0 -1
  142. package/assets/esri/core/workers/chunks/fb5b852d0f72df014377.js +0 -1
@@ -1 +1 @@
1
- "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[5804,6183],{4146:(e,t,r)=>{r.d(t,{A:()=>w});var i=r(90237),n=r(78888),s=r(49186),o=r(65529),a=r(4902),l=r(92474),u=r(53966),c=r(74887),p=r(84952),d=r(10107),h=(r(44208),r(87811),r(40608)),y=r(5443),m=r(16930),f=r(92602),g=r(79677);let v=0,b=class extends(o.A.EventedMixin(a.A.IdentifiableMixin(l.A))){constructor(){super(...arguments),this.attributionDataUrl=null,this.fullExtent=new y.A(-180,-90,180,90,m.A.WGS84),this.id=Date.now().toString(16)+"-layer-"+v++,this.legendEnabled=!0,this.listMode="show",this.opacity=1,this.parent=null,this.persistenceEnabled=!1,this.popupEnabled=!0,this.attributionVisible=!0,this.spatialReference=m.A.WGS84,this.title=null,this.type=null,this.url=null,this.visibilityTimeExtent=null,this.visible=!0}static async fromArcGISServerUrl(e){const t="string"==typeof e?{url:e}:e;return(await r.e(7982).then(r.bind(r,27982))).fromUrl(t)}static fromPortalItem(e){return async function(e){const t="portalItem"in e?e:{portalItem:e},{fromItem:i}=await r.e(5613).then(r.bind(r,45613));try{return await i(t)}catch(e){const r=t?.portalItem,i=r?.id||"unset",n=r?.portal?.url||f.A.portalUrl;throw u.A.getLogger("esri.layers.support.fromPortalItem").error("#fromPortalItem()","Failed to create layer from portal item (portal: '"+n+"', id: '"+i+"')",e),e}}(e)}initialize(){this.when().catch((e=>{(0,c.zf)(e)||u.A.getLogger(this).error("#load()",`Failed to load layer (title: '${this.title??"no title"}', id: '${this.id??"no id"}')`,{error:e})}))}destroy(){const e=this.parent;if(e){const t=this;"layers"in e&&e.layers.includes(t)?e.layers.remove(t):"tables"in e&&e.tables.includes(t)?e.tables.remove(t):"baseLayers"in e&&e.baseLayers.includes(t)?e.baseLayers.remove(t):"referenceLayers"in e&&e.referenceLayers.includes(t)&&e.referenceLayers.remove(t),this._set("parent",null)}}get effectiveVisible(){let e=this.visible;const t=this.parent;return e&&t&&"effectiveVisible"in t&&(e&&=t.effectiveVisible),e}get hasAttributionData(){return null!=this.attributionDataUrl}get parsedUrl(){return(0,p.An)(this.url)}createLayerView(e,t){return Promise.reject(new s.A("layer:create-layer-view","Layer does not support creating a layer view"))}async fetchAttributionData(){const e=this.attributionDataUrl;if(this.hasAttributionData&&e)return(await(0,n.A)(e,{query:{f:"json"},responseType:"json"})).data;throw new s.A("layer:no-attribution-data","Layer does not have attribution data")}};(0,i._)([(0,d.MZ)({type:String})],b.prototype,"attributionDataUrl",void 0),(0,i._)([(0,d.MZ)({readOnly:!0})],b.prototype,"effectiveVisible",null),(0,i._)([(0,d.MZ)({type:y.A})],b.prototype,"fullExtent",void 0),(0,i._)([(0,d.MZ)({readOnly:!0})],b.prototype,"hasAttributionData",null),(0,i._)([(0,d.MZ)({type:String,clonable:!1})],b.prototype,"id",void 0),(0,i._)([(0,d.MZ)({type:Boolean,nonNullable:!0})],b.prototype,"legendEnabled",void 0),(0,i._)([(0,d.MZ)({type:["show","hide","hide-children"]})],b.prototype,"listMode",void 0),(0,i._)([(0,d.MZ)({type:Number,range:{min:0,max:1},nonNullable:!0})],b.prototype,"opacity",void 0),(0,i._)([(0,d.MZ)({clonable:!1})],b.prototype,"parent",void 0),(0,i._)([(0,d.MZ)({readOnly:!0})],b.prototype,"parsedUrl",null),(0,i._)([(0,d.MZ)({type:Boolean,readOnly:!0})],b.prototype,"persistenceEnabled",void 0),(0,i._)([(0,d.MZ)({type:Boolean})],b.prototype,"popupEnabled",void 0),(0,i._)([(0,d.MZ)({type:Boolean})],b.prototype,"attributionVisible",void 0),(0,i._)([(0,d.MZ)({type:m.A})],b.prototype,"spatialReference",void 0),(0,i._)([(0,d.MZ)({type:String})],b.prototype,"title",void 0),(0,i._)([(0,d.MZ)({readOnly:!0,json:{read:!1}})],b.prototype,"type",void 0),(0,i._)([(0,d.MZ)()],b.prototype,"url",void 0),(0,i._)([(0,d.MZ)({type:g.A})],b.prototype,"visibilityTimeExtent",void 0),(0,i._)([(0,d.MZ)({type:Boolean,nonNullable:!0})],b.prototype,"visible",void 0),b=(0,i._)([(0,h.$)("esri.layers.Layer")],b);const w=b},8303:(e,t,r)=>{r.d(t,{A:()=>M});var i=r(90237),n=r(92602),s=r(70333),o=r(78888),a=r(60999),l=r(49186),u=r(53966),c=r(97768),p=r(74887),d=r(84952),h=r(10107),y=(r(44208),r(87811),r(36005)),m=r(40608),f=r(43937),g=r(83531),v=r(20655),b=r(80812),w=r(41318),S=r(10407);const M=e=>{let t=class extends e{constructor(){super(...arguments),this.resourceReferences={portalItem:null,paths:[]},this.userHasEditingPrivileges=!0,this.userHasFullEditingPrivileges=!1,this.userHasUpdateItemPrivileges=!1}destroy(){this.portalItem=(0,c.pR)(this.portalItem),this.resourceReferences.portalItem=null,this.resourceReferences.paths.length=0}set portalItem(e){e!==this._get("portalItem")&&(this.removeOrigin("portal-item"),this._set("portalItem",e))}readPortalItem(e,t,r){if(t.itemId)return new b.default({id:t.itemId,portal:r?.portal})}writePortalItem(e,t){e?.id&&(t.itemId=e.id)}async loadFromPortal(e,t){if(this.portalItem?.id)try{const{load:i}=await r.e(1204).then(r.bind(r,41204));return(0,p.Te)(t),await i({instance:this,supportedTypes:e.supportedTypes,validateItem:e.validateItem,supportsData:e.supportsData,layerModuleTypeMap:e.layerModuleTypeMap,populateGroupLayer:e.populateGroupLayer},t)}catch(e){throw(0,p.zf)(e)||u.A.getLogger(this).warn(`Failed to load layer (${this.title}, ${this.id}) portal item (${this.portalItem.id})\n ${e}`),e}}async finishLoadEditablePortalLayer(e){this._set("userHasEditingPrivileges",await this._fetchUserHasEditingPrivileges(e).catch((e=>((0,p.QP)(e),!0))))}async setUserPrivileges(e,t){if(!n.A.userPrivilegesApplied)return this.finishLoadEditablePortalLayer(t);if(this.url)try{const{features:{edit:r,fullEdit:i},content:{updateItem:n}}=await this._fetchUserPrivileges(e,t);this._set("userHasEditingPrivileges",r),this._set("userHasFullEditingPrivileges",i),this._set("userHasUpdateItemPrivileges",n)}catch(e){(0,p.QP)(e)}}async _fetchUserPrivileges(e,t){let r=this.portalItem;if(!e||!r||!r.loaded||r.sourceUrl)return this._fetchFallbackUserPrivileges(t);const i=!s.id?.findCredential(this.url),n=e===r.id;if(n&&r.portal.user)return this._getUserPrivileges(r,i);let o,a;if(n)o=r.portal.url;else try{o=await(0,g.wI)(this.url,t)}catch(e){(0,p.QP)(e)}if(!o||!(0,d.b8)(o,r.portal.url))return this._fetchFallbackUserPrivileges(t);try{const e=null!=t?t.signal:null;a=await(s.id?.getCredential(`${o}/sharing`,{prompt:!1,signal:e}))}catch(e){(0,p.QP)(e)}const l=!0,u=!1,c=!1;if(!a)return{features:{edit:l,fullEdit:u},content:{updateItem:c}};try{if(n?await r.reload():(r=new b.default({id:e,portal:{url:o}}),await r.load(t)),r.portal.user)return this._getUserPrivileges(r,i)}catch(e){(0,p.QP)(e)}return{features:{edit:l,fullEdit:u},content:{updateItem:c}}}_getUserPrivileges(e,t){const r=(0,S.It)(e);return t&&(r.features.edit=!0),r}async _fetchFallbackUserPrivileges(e){let t=!0;try{t=await this._fetchUserHasEditingPrivileges(e)}catch(e){(0,p.QP)(e)}return{features:{edit:t,fullEdit:!1},content:{updateItem:!1}}}async _fetchUserHasEditingPrivileges(e){const t=this.url?s.id?.findCredential(this.url):null;if(!t)return!0;const r=_.credential===t?_.user:await this._fetchEditingUser(e);return _.credential=t,_.user=r,null==r?.privileges||r.privileges.includes("features:user:edit")}async _fetchEditingUser(e){const t=this.portalItem?.portal?.user;if(t)return t;const r=s.id?.findServerInfo(this.url??"");if(!r?.owningSystemUrl)return null;const i=`${r.owningSystemUrl}/sharing/rest`,n=v.A.getDefault();if(n&&n.loaded&&(0,d.S8)(n.restUrl)===(0,d.S8)(i))return n.user;const l=`${i}/community/self`,u=null!=e?e.signal:null,c=await(0,a.Ke)((0,o.A)(l,{authMode:"no-prompt",query:{f:"json"},signal:u}));return c.ok?w.A.fromJSON(c.value.data):null}read(e,t){t&&(t.layer=this),super.read(e,t)}write(e,t){const r=t?.portal,i=this.portalItem?.id&&(this.portalItem.portal||v.A.getDefault());return r&&i&&!(0,d.ut)(i.restUrl,r.restUrl)?(t.messages&&t.messages.push(new l.A("layer:cross-portal",`The layer '${this.title} (${this.id})' cannot be persisted because it refers to an item on a different portal than the one being saved to. To save, set layer.portalItem to null or save to the same portal as the item associated with the layer`,{layer:this})),null):super.write(e,{...t,layer:this})}};return(0,i._)([(0,h.MZ)({type:b.default})],t.prototype,"portalItem",null),(0,i._)([(0,y.w)("web-document","portalItem",["itemId"])],t.prototype,"readPortalItem",null),(0,i._)([(0,f.K)("web-document","portalItem",{itemId:{type:String}})],t.prototype,"writePortalItem",null),(0,i._)([(0,h.MZ)({clonable:!1})],t.prototype,"resourceReferences",void 0),(0,i._)([(0,h.MZ)({type:Boolean,readOnly:!0})],t.prototype,"userHasEditingPrivileges",void 0),(0,i._)([(0,h.MZ)({type:Boolean,readOnly:!0})],t.prototype,"userHasFullEditingPrivileges",void 0),(0,i._)([(0,h.MZ)({type:Boolean,readOnly:!0})],t.prototype,"userHasUpdateItemPrivileges",void 0),t=(0,i._)([(0,m.$)("esri.layers.mixins.PortalLayer")],t),t},_={credential:null,user:null}},10184:(e,t,r)=>{r.d(t,{A:()=>d});var i=r(90237),n=r(69540),s=r(25482),o=r(88930),a=r(10107),l=(r(44208),r(53966),r(87811),r(93223)),u=r(40608),c=r(73133);let p=class extends(n.A.ClonableMixin(s.A)){constructor(e){super(e),this.unit="milliseconds",this.value=0}toMilliseconds(){return(0,o.t)(this.value,this.unit,"milliseconds")}};(0,i._)([(0,l.e)(c.j,{nonNullable:!0})],p.prototype,"unit",void 0),(0,i._)([(0,a.MZ)({type:Number,json:{write:!0},nonNullable:!0})],p.prototype,"value",void 0),p=(0,i._)([(0,u.$)("esri.time.TimeInterval")],p);const d=p},13069:(e,t,r)=>{r.d(t,{AG:()=>a,lk:()=>n,vD:()=>o,yS:()=>s});const i="randomUUID"in crypto;function n(){if(i)return crypto.randomUUID();const e=crypto.getRandomValues(new Uint16Array(8));e[3]=4095&e[3]|16384,e[4]=16383&e[4]|32768;const t=t=>e[t].toString(16).padStart(4,"0");return t(0)+t(1)+"-"+t(2)+"-"+t(3)+"-"+t(4)+"-"+t(5)+t(6)+t(7)}function s(){return`{${n().toUpperCase()}}`}function o(){return`{${n()}}`}function a(e){const t=e.toUpperCase();return"{"!==e[0]?`{${t}}`:t}},15804:(e,t,r)=>{r.d(t,{addOrUpdateResources:()=>a,bg:()=>d,cL:()=>p,fetchResources:()=>o,removeAllResources:()=>u,removeResource:()=>l});var i=r(78888),n=r(49186),s=r(84952);async function o(e,t={},r){await e.load(r);const i=(0,s.fj)(e.itemUrl,"resources"),{start:n=1,num:o=10,sortOrder:a="asc",sortField:l="resource"}=t,u={query:{start:n,num:o,sortOrder:a,sortField:l,token:e.apiKey},signal:r?.signal},c=await e.portal.request(i,u);return{total:c.total,nextStart:c.nextStart,resources:c.resources.map((({created:t,size:r,resource:i})=>({created:new Date(t),size:r,resource:e.resourceFromPath(i)})))}}async function a(e,t,r,i){const o=new Map;for(const{resource:e,content:i,compress:s,access:a}of t){if(!e.hasPath())throw new n.A(`portal-item-resource-${r}:invalid-path`,"Resource does not have a valid path");const[t,l]=c(e.path),u=`${t}/${s??""}/${a??""}`;o.has(u)||o.set(u,{prefix:t,compress:s,access:a,files:[]}),o.get(u).files.push({fileName:l,content:i})}await e.load(i);const a=(0,s.fj)(e.userItemUrl,"add"===r?"addResources":"updateResources");for(const{prefix:t,compress:r,access:n,files:s}of o.values()){const o=25;for(let l=0;l<s.length;l+=o){const u=s.slice(l,l+o),c=new FormData;t&&"."!==t&&c.append("resourcesPrefix",t),r&&c.append("compress","true"),n&&c.append("access",n);let p=0;for(const{fileName:e,content:t}of u)c.append("file"+ ++p,t,e);c.append("f","json"),await e.portal.request(a,{method:"post",body:c,signal:i?.signal})}}}async function l(e,t,r){if(!t.hasPath())throw new n.A("portal-item-resources-remove:invalid-path","Resource does not have a valid path");await e.load(r);const i=(0,s.fj)(e.userItemUrl,"removeResources");await e.portal.request(i,{method:"post",query:{resource:t.path},signal:r?.signal}),t.portalItem=null}async function u(e,t){await e.load(t);const r=(0,s.fj)(e.userItemUrl,"removeResources");return e.portal.request(r,{method:"post",query:{deleteAll:!0},signal:t?.signal})}function c(e){const t=e.lastIndexOf("/");return-1===t?[".",e]:[e.slice(0,t),e.slice(t+1)]}async function p(e){return"blob"===e.type?e.blob:"json"===e.type?new Blob([e.jsonString],{type:"application/json"}):(await(0,i.A)(e.url,{responseType:"blob"})).data}function d(e,t){if(!e.hasPath())return null;const[r,,i]=function(e){const[t,r]=function(e){const t=(0,s.Zo)(e);return null==t?[e,""]:[e.slice(0,e.length-t.length-1),`.${t}`]}(e),[i,n]=c(t);return[i,n,r]}(e.path);return e.portalItem.resourceFromPath((0,s.fj)(r,t+i))}},16183:(e,t,r)=>{r.r(t),r.d(t,{default:()=>Ye});var i=r(90237),n=r(13874),s=r(5503),o=r(49186),a=r(53966),l=r(92071),u=r(74887),c=r(10107),p=r(56507),d=(r(44208),r(87811),r(36005)),h=r(40608),y=r(38954),m=r(51850),f=r(5443),g=r(4146),v=r(52136),b=r(18768),w=r(69208),S=r(16131),M=r(8303),_=r(25036),x=r(58947),A=r(60694),I=r(10873),j=r(20437),Z=r(95466),N=r(96184),T=r(69540),R=r(69052),V=r(25482),P=r(87024),E=r(67026),U=r(82534),O=r(34304);const z=(0,m.vt)(),L=(0,U.vt)(),F=(0,U.vt)(),q=(0,U.vt)(),D=(0,m.fA)(0,0,1),$=(0,m.fA)(0,1,0),C=(0,m.fA)(1,0,0);function B(e){(0,y.c)(z,e),(0,y.n)(z,z);const t=Math.atan2(z[1],z[0]),r=(0,E.x8)((0,U.vt)(),D,-t);(0,y.w)(z,z,r);const i=-1*Math.atan2(z[2],z[0]);return[(0,O.ct)(t)+270,(0,O.ct)(i)+90]}function k(e,t){return(0,E.x8)(F,D,(0,O.DF)(e-270)),(0,E.x8)(q,$,(0,O.DF)(t-90)),(0,E.lw)(L,F,q),(0,y.c)(z,C),(0,y.w)(z,z,L),(0,y.n)(z,z),[z[0],z[1],z[2]]}var K=r(79901);let H=class extends(T.A.ClonableMixin(V.A)){constructor(e){super(e),this.enabled=!0,this.label="",this.normal=null,this.point=null}get orientation(){if(!Array.isArray(this.normal)||3!==this.normal.length)return 0;const[e,t]=B(this.normal);return R.ie.normalize((0,p.GB)(e),0,!0)}set orientation(e){const t=k(e,this.tilt);this._set("normal",t),this._set("orientation",e)}get tilt(){if(!Array.isArray(this.normal)||3!==this.normal.length)return 0;const[e,t]=B(this.normal);return R.ie.normalize((0,p.GB)(t),0,!0)}set tilt(e){const t=k(this.orientation,e);this._set("normal",t),this._set("tilt",e)}};(0,i._)([(0,c.MZ)({type:Boolean,json:{write:!0}})],H.prototype,"enabled",void 0),(0,i._)([(0,c.MZ)({type:String,json:{write:!0}})],H.prototype,"label",void 0),(0,i._)([(0,c.MZ)({type:Number,json:{read:!1},clonable:!1,range:{min:0,max:360}}),(0,K.w)((e=>R.ie.normalize((0,p.GB)(e),0,!0)))],H.prototype,"orientation",null),(0,i._)([(0,c.MZ)({type:Number,json:{read:!1},clonable:!1,range:{min:0,max:360}}),(0,K.w)((e=>R.ie.normalize((0,p.GB)(e),0,!0)))],H.prototype,"tilt",null),(0,i._)([(0,c.MZ)({type:[Number],json:{write:{isRequired:!0}}})],H.prototype,"normal",void 0),(0,i._)([(0,c.MZ)({type:[Number],json:{write:{isRequired:!0}}})],H.prototype,"point",void 0),H=(0,i._)([(0,h.$)("esri.layers.voxel.VoxelSlice")],H);const G=H;var J=r(97159);let W=class extends(T.A.ClonableMixin(V.A)){constructor(){super(...arguments),this.enabled=!0,this.href=null,this.id=null,this.label="",this.normal=null,this.point=null,this.sizeInPixel=null,this.slices=null,this.timeId=0,this.variableId=null}get orientation(){if(!Array.isArray(this.normal)||3!==this.normal.length)return 0;const[e,t]=B(this.normal);return R.ie.normalize((0,p.GB)(e),0,!0)}get tilt(){if(!Array.isArray(this.normal)||3!==this.normal.length)return 0;const[e,t]=B(this.normal);return R.ie.normalize((0,p.GB)(t),0,!0)}};(0,i._)([(0,c.MZ)({type:Boolean,json:{default:!0,write:!0}})],W.prototype,"enabled",void 0),(0,i._)([(0,c.MZ)({type:String,json:{origins:{service:{read:J.r},"web-scene":{write:{isRequired:!0}}},write:!0}}),(0,P.P)({origins:["web-scene"],type:"resource",prefix:"sections",compress:!0})],W.prototype,"href",void 0),(0,i._)([(0,c.MZ)({type:p.jz,json:{write:{enabled:!0,isRequired:!0}}})],W.prototype,"id",void 0),(0,i._)([(0,c.MZ)({type:String,json:{write:!0}})],W.prototype,"label",void 0),(0,i._)([(0,c.MZ)({type:Number,clonable:!1,readOnly:!0,range:{min:0,max:360}})],W.prototype,"orientation",null),(0,i._)([(0,c.MZ)({type:Number,clonable:!1,readOnly:!0,range:{min:0,max:360}})],W.prototype,"tilt",null),(0,i._)([(0,c.MZ)({type:[Number],json:{write:{enabled:!0,isRequired:!0}}})],W.prototype,"normal",void 0),(0,i._)([(0,c.MZ)({type:[Number],json:{write:{enabled:!0,isRequired:!0}}})],W.prototype,"point",void 0),(0,i._)([(0,c.MZ)({type:[p.jz],json:{write:{enabled:!0,isRequired:!0}}})],W.prototype,"sizeInPixel",void 0),(0,i._)([(0,c.MZ)({type:[G],json:{write:!0}})],W.prototype,"slices",void 0),(0,i._)([(0,c.MZ)({type:p.jz,json:{default:0,write:!0}})],W.prototype,"timeId",void 0),(0,i._)([(0,c.MZ)({type:p.jz,json:{write:{enabled:!0,isRequired:!0}}})],W.prototype,"variableId",void 0),W=(0,i._)([(0,h.$)("esri.layers.voxel.VoxelSection")],W);const Y=W;let Q=class extends V.A{constructor(){super(...arguments),this.diffuseFactor=.5,this.specularFactor=.5}};(0,i._)([(0,c.MZ)({type:Number,range:{min:0,max:1},json:{default:.5,write:!0}})],Q.prototype,"diffuseFactor",void 0),(0,i._)([(0,c.MZ)({type:Number,range:{min:0,max:1},json:{default:.5,write:!0}})],Q.prototype,"specularFactor",void 0),Q=(0,i._)([(0,h.$)("esri.layers.voxel.VoxelSimpleShading")],Q);const X=Q;let ee=class extends V.A{constructor(){super(...arguments),this.continuity=null,this.hasNoData=!1,this.noData=0,this.offset=0,this.scale=1,this.type=null}};(0,i._)([(0,c.MZ)({type:["discrete","continuous"],json:{write:!0}})],ee.prototype,"continuity",void 0),(0,i._)([(0,c.MZ)({type:Boolean,json:{write:!0}})],ee.prototype,"hasNoData",void 0),(0,i._)([(0,c.MZ)({type:Number,json:{write:!0}})],ee.prototype,"noData",void 0),(0,i._)([(0,c.MZ)({type:Number,json:{write:!0}})],ee.prototype,"offset",void 0),(0,i._)([(0,c.MZ)({type:Number,json:{write:!0}})],ee.prototype,"scale",void 0),(0,i._)([(0,c.MZ)({type:String,json:{write:{enabled:!0,isRequired:!0}}})],ee.prototype,"type",void 0),ee=(0,i._)([(0,h.$)("esri.layers.voxel.VoxelFormat")],ee);const te=ee;let re=class extends V.A{constructor(){super(...arguments),this.id=null,this.description="",this.name=null,this.originalFormat=null,this.renderingFormat=null,this.unit="",this.volumeId=0,this.type=null}};(0,i._)([(0,c.MZ)({type:Number,json:{write:{enabled:!0,isRequired:!0}}})],re.prototype,"id",void 0),(0,i._)([(0,c.MZ)({type:String,json:{write:!0}})],re.prototype,"description",void 0),(0,i._)([(0,c.MZ)({type:String,json:{write:{enabled:!0,isRequired:!0}}})],re.prototype,"name",void 0),(0,i._)([(0,c.MZ)({type:te,json:{write:!0}})],re.prototype,"originalFormat",void 0),(0,i._)([(0,c.MZ)({type:te,json:{write:{enabled:!0,isRequired:!0}}})],re.prototype,"renderingFormat",void 0),(0,i._)([(0,c.MZ)({type:String,json:{write:!0}})],re.prototype,"unit",void 0),(0,i._)([(0,c.MZ)({type:Number,json:{write:!0}})],re.prototype,"volumeId",void 0),(0,i._)([(0,c.MZ)({type:["stc-hot-spot-results","stc-cluster-outlier-results","stc-estimated-bin","generic-nearest-interpolated"],json:{write:!0}})],re.prototype,"type",void 0),re=(0,i._)([(0,h.$)("esri.layers.voxel.VoxelVariable")],re);const ie=re;var ne=r(4718),se=r(68197);let oe=class extends(T.A.ClonableMixin(V.A)){constructor(){super(...arguments),this.color=se.A.fromArray([0,0,0,0]),this.value=0,this.enabled=!0,this.label="",this.colorLocked=!1}};(0,i._)([(0,c.MZ)({type:se.A,json:{type:[p.jz],write:{enabled:!0,isRequired:!0}}})],oe.prototype,"color",void 0),(0,i._)([(0,c.MZ)({type:Number,json:{write:{enabled:!0,isRequired:!0}}})],oe.prototype,"value",void 0),(0,i._)([(0,c.MZ)({type:Boolean,json:{default:!0,write:!0}})],oe.prototype,"enabled",void 0),(0,i._)([(0,c.MZ)({type:String,json:{write:!0}})],oe.prototype,"label",void 0),(0,i._)([(0,c.MZ)({type:Boolean,json:{default:!1,write:!0}})],oe.prototype,"colorLocked",void 0),oe=(0,i._)([(0,h.$)("esri.layers.voxel.VoxelIsosurface")],oe);const ae=oe;var le=r(62885),ue=r(34727);let ce=class extends(T.A.ClonableMixin(V.A)){constructor(){super(...arguments),this.color=null,this.position=0}};(0,i._)([(0,c.MZ)({type:se.A,json:{type:[p.jz],write:{enabled:!0,isRequired:!0}}})],ce.prototype,"color",void 0),(0,i._)([(0,c.MZ)({type:Number,json:{write:{enabled:!0,isRequired:!0}}})],ce.prototype,"position",void 0),ce=(0,i._)([(0,h.$)("esri.layers.voxel.VoxelColorStop")],ce);const pe=ce;let de=class extends(T.A.ClonableMixin(V.A)){constructor(){super(...arguments),this.opacity=1,this.position=0}};(0,i._)([(0,c.MZ)({type:Number,json:{name:"alpha",write:{enabled:!0,isRequired:!0}}})],de.prototype,"opacity",void 0),(0,i._)([(0,c.MZ)({type:Number,json:{write:{enabled:!0,isRequired:!0}}})],de.prototype,"position",void 0),de=(0,i._)([(0,h.$)("esri.layers.voxel.VoxelOpacityStop")],de);const he=de;let ye=class extends(T.A.ClonableMixin(V.A)){constructor(){super(...arguments),this.enabled=!1,this.range=null}};(0,i._)([(0,c.MZ)({type:Boolean,json:{default:!1,write:!0}})],ye.prototype,"enabled",void 0),(0,i._)([(0,c.MZ)({type:[Number],json:{write:{isRequired:!0}}})],ye.prototype,"range",void 0),ye=(0,i._)([(0,h.$)("esri.layers.voxel.VoxelRangeFilter")],ye);const me=ye;var fe,ge;(ge=fe||(fe={}))[ge.Color=1]="Color",ge[ge.Alpha=2]="Alpha",ge[ge.Both=3]="Both";let ve=class extends(T.A.ClonableMixin(V.A)){constructor(e){super(e),this.interpolation=null,this.stretchRange=null,this.rangeFilter=null,this._colorMapSize=256,this.colorStops=new(s.A.ofType(pe)),this.opacityStops=new(s.A.ofType(he))}set colorStops(e){this._set("colorStops",(0,le.V)(e,this._get("colorStops"),s.A.ofType(pe)))}set opacityStops(e){this._set("opacityStops",(0,le.V)(e,this._get("opacityStops"),s.A.ofType(he)))}getPreviousNext(e,t,r){let i=e;for(;--i>0&&t[i].type!==r&&t[i].type!==fe.Both;);let n=e;const s=t.length;for(;++n<s&&t[n].type!==r&&t[n].type!==fe.Both;);return[i,n]}get rasterizedTransferFunction(){const e=[];if(this.colorStops.length<2)return e;const t=[],r=[];for(const t of this.colorStops){if(!t.color)return e;r.push({color:{r:t.color.r,g:t.color.g,b:t.color.b,a:Math.round(255*(1-t.color.a))},position:t.position,type:fe.Color})}if(0===this.opacityStops.length)for(const e of r)t.push({color:e.color,position:e.position});else{for(const e of this.opacityStops){const t=(0,ue.qE)(e.position,0,1),i=Math.round(255*(0,ue.qE)(1-e.opacity,0,1));let n=!1;for(const e of r)if(e.type===fe.Color&&Math.abs(e.position-t)<1e-5){e.color.a=i,e.type=fe.Both,n=!0;break}n||r.push({color:{r:0,g:0,b:0,a:i},position:e.position,type:fe.Alpha})}r.sort(((e,t)=>e.position<t.position?-1:1));const e=r.length;for(let t=0;t<e;++t){const i=r[t];if(i.type!==fe.Both)if(i.type===fe.Color){const[n,s]=this.getPreviousNext(t,r,fe.Alpha);if(-1!==n&&s!==e){const e=(i.position-r[n].position)/(r[s].position-r[n].position);i.color.a=Math.round((0,ue.Cc)(r[n].color.a,r[s].color.a,e))}else i.color.a=-1!==n?r[n].color.a:r[s].color.a}else{const[n,s]=this.getPreviousNext(t,r,fe.Color);if(-1!==n&&s!==e){const e=(i.position-r[n].position)/(r[s].position-r[n].position),t=r[n].color,o=r[s].color;we.forEach((r=>{i.color[r]=Math.round((0,ue.Cc)(t[r],o[r],e))}))}else-1!==n?we.forEach((e=>{i.color[e]=r[n].color[e]})):we.forEach((e=>{i.color[e]=r[s].color[e]}))}}for(const e of r)t.push({color:e.color,position:e.position})}t[0].position=0,t[t.length-1].position=1;let i=0,n=1;for(let r=0;r<this._colorMapSize;++r){const s=r/this._colorMapSize;for(;s>t[n].position;)i=n++;const o=(s-t[i].position)/(t[n].position-t[i].position),a=t[i].color,l=t[n].color,u=new se.A;we.forEach((e=>{u[e]=Math.round((0,ue.Cc)(a[e],l[e],o))})),u.a=(0,ue.qE)(1-(0,ue.Cc)(a.a,l.a,o)/255,0,1),e.push(u)}return e}getColorForContinuousDataValue(e,t){const r=this.rasterizedTransferFunction;if(this.colorStops.length<2||!Array.isArray(this.stretchRange)||this.stretchRange.length<2||r.length<256)return null;let i=this.stretchRange[0],n=this.stretchRange[1];if(i>n){const e=i;i=n,n=e}e=(0,ue.qE)(e,i,n);const s=r[Math.round((e-i)/(n-i)*(this._colorMapSize-1))].clone();return t||(s.a=1),s}};(0,i._)([(0,c.MZ)({type:["linear","nearest"],json:{write:!0}})],ve.prototype,"interpolation",void 0),(0,i._)([(0,c.MZ)({type:[Number],json:{write:{enabled:!0,isRequired:!0}}})],ve.prototype,"stretchRange",void 0),(0,i._)([(0,c.MZ)({type:s.A.ofType(pe),json:{write:{enabled:!0,overridePolicy(){return{enabled:!!this.colorStops&&this.colorStops.length>0}}}}})],ve.prototype,"colorStops",null),(0,i._)([(0,c.MZ)({type:s.A.ofType(he),json:{read:{source:"alphaStops"},write:{enabled:!0,target:"alphaStops",overridePolicy(){return{enabled:!!this.opacityStops&&this.opacityStops.length>0}}}}})],ve.prototype,"opacityStops",null),(0,i._)([(0,c.MZ)({type:me,json:{write:!0}})],ve.prototype,"rangeFilter",void 0),(0,i._)([(0,c.MZ)({type:[se.A],clonable:!1,json:{read:!1}})],ve.prototype,"rasterizedTransferFunction",null),ve=(0,i._)([(0,h.$)("esri.layers.voxel.VoxelTransferFunctionStyle")],ve);const be=ve,we=["r","g","b"];let Se=class extends(T.A.ClonableMixin(V.A)){constructor(){super(...arguments),this.color=se.A.fromArray([0,0,0,0]),this.value=0,this.enabled=!0,this.label=""}};(0,i._)([(0,c.MZ)({type:se.A,json:{type:[p.jz],write:{enabled:!0,isRequired:!0}}})],Se.prototype,"color",void 0),(0,i._)([(0,c.MZ)({type:p.jz,json:{write:{enabled:!0,isRequired:!0}}})],Se.prototype,"value",void 0),(0,i._)([(0,c.MZ)({type:Boolean,json:{default:!0,write:!0}})],Se.prototype,"enabled",void 0),(0,i._)([(0,c.MZ)({type:String,json:{write:!0}})],Se.prototype,"label",void 0),Se=(0,i._)([(0,h.$)("esri.layers.voxel.VoxelUniqueValue")],Se);const Me=Se;var _e;let xe=_e=class extends V.A{constructor(e){super(e),this.variableId=0,this.label="",this.transferFunction=null,this.uniqueValues=null,this.isosurfaces=null,this.uniqueValues=new(s.A.ofType(Me)),this.isosurfaces=new(s.A.ofType(ae))}clone(){return new _e({variableId:this.variableId,label:this.label,transferFunction:(0,ne.o8)(this.transferFunction),uniqueValues:(0,ne.o8)(this.uniqueValues),isosurfaces:(0,ne.o8)(this.isosurfaces)})}};(0,i._)([(0,c.MZ)({type:p.jz,json:{write:{enabled:!0,isRequired:!0}}})],xe.prototype,"variableId",void 0),(0,i._)([(0,c.MZ)({type:String,json:{write:!0}})],xe.prototype,"label",void 0),(0,i._)([(0,c.MZ)({type:be,json:{write:{enabled:!0,overridePolicy(){return{enabled:!this.uniqueValues||this.uniqueValues.length<1}}}}})],xe.prototype,"transferFunction",void 0),(0,i._)([(0,c.MZ)({type:s.A.ofType(Me),json:{write:{enabled:!0,overridePolicy(){return{enabled:!!this.uniqueValues&&this.uniqueValues.length>0}}}}})],xe.prototype,"uniqueValues",void 0),(0,i._)([(0,c.MZ)({type:s.A.ofType(ae),json:{write:{enabled:!0,overridePolicy(){const e=!this.uniqueValues||this.uniqueValues.length<1,t=!!this.isosurfaces&&this.isosurfaces.length>0;return{enabled:e&&t}}}}})],xe.prototype,"isosurfaces",void 0),xe=_e=(0,i._)([(0,h.$)("esri.layers.voxel.VoxelVariableStyle")],xe);const Ae=xe;var Ie=r(88930),je=r(86738),Ze=r(16930),Ne=r(21325);function Te(e){const t=/^(days?|hours?|minutes?|seconds?|d|h|m|s) since (\d{1,4})-(\d{1,2})-(\d{1,2})[ |T](\d{1,2}):(\d{1,2}):(\d{1,2})(\.[0-9]+)?[\s|Z]?(([+|\-|\s?])(\d{1,2}):(\d{1,2}))?$/i.exec(e);if(null==t)return{didParse:!1};const[,r,i,n,s,o,a,l,u,c,p,d,h]=t;let y="seconds";const m=r.charAt(0).toLowerCase();"d"===m?y="days":"h"===m?y="hours":"m"===m&&(y="minutes");const f=parseInt(i,10);if(Number.isNaN(f))return{didParse:!1};const g=parseInt(n,10);if(Number.isNaN(g)||g<1||g>12)return{didParse:!1};const v=parseInt(s,10);if(Number.isNaN(v)||v<1||v>31)return{didParse:!1};if(2===g){const e=f%4==0&&(f%100!=0||f%400==0);if(e&&v>29||!e&&v>28)return{didParse:!1}}else if((4===g||6===g||9===g||11===g)&&v>30)return{didParse:!1};const b=parseInt(o,10);if(Number.isNaN(b)||b<0||b>23)return{didParse:!1};const w=parseInt(a,10);if(Number.isNaN(w)||w<0||w>59)return{didParse:!1};const S=parseInt(l,10);if(Number.isNaN(S)||S<0||S>59)return{didParse:!1};let M=1,_=0,x=0;if(p&&(M="-"===p?-1:1),d){if(_=parseInt(d,10),Number.isNaN(_)||_<0)return{didParse:!1};if(0!==_){const e=M*_;if(e<-12||e>14)return{didParse:!1}}}if(h&&(x=parseInt(h,10),Number.isNaN(x)||x<0||x>59))return{didParse:!1};const A=`${f}`.padStart(4,"0"),I=`${g}`.padStart(2,"0"),j=`${v}`.padStart(2,"0"),Z=`${b}`.padStart(2,"0"),N=`${w}`.padStart(2,"0"),T=`${S}`.padStart(2,"0");let R="Z";return 0===_&&0===x||(R=M>0?"+":"-",R+=`${_}`.padStart(2,"0"),R+=":",R+=`${x}`.padStart(2,"0")),{didParse:!0,unit:y,reference:new Date(`${A}-${I}-${j}T${Z}:${N}:${T}.000${R}`)}}let Re=class extends V.A{constructor(){super(...arguments),this.values=null}};(0,i._)([(0,c.MZ)({type:[Number],json:{write:!0}})],Re.prototype,"values",void 0),Re=(0,i._)([(0,h.$)("esri.layers.voxel.VoxelIrregularSpacing")],Re);const Ve=Re;let Pe=class extends V.A{constructor(){super(...arguments),this.scale=1,this.offset=0}};(0,i._)([(0,c.MZ)({type:Number,json:{write:!0}})],Pe.prototype,"scale",void 0),(0,i._)([(0,c.MZ)({type:Number,json:{write:!0}})],Pe.prototype,"offset",void 0),Pe=(0,i._)([(0,h.$)("esri.layers.voxel.VoxelRegularSpacing")],Pe);const Ee=Pe;let Ue=class extends V.A{constructor(){super(...arguments),this.irregularSpacing=null,this.isPositiveUp=!0,this.isWrappedDateLine=!1,this.label=null,this.name=null,this.quantity=null,this.regularSpacing=null,this.size=0,this.unit=null}get isRegular(){return(null==this.irregularSpacing||void 0===this.irregularSpacing)&&null!==this.regularSpacing}getRange(){return this.isRegular?[this.regularSpacing.offset,this.regularSpacing.offset+this.regularSpacing.scale*(this.size-1)]:Array.isArray(this.irregularSpacing?.values)&&this.irregularSpacing.values.length>1?[this.irregularSpacing.values[0],this.irregularSpacing.values[this.irregularSpacing.values.length-1]]:[0,0]}};(0,i._)([(0,c.MZ)({type:Ve,json:{write:!0}})],Ue.prototype,"irregularSpacing",void 0),(0,i._)([(0,c.MZ)({type:Boolean,json:{write:!0}})],Ue.prototype,"isPositiveUp",void 0),(0,i._)([(0,c.MZ)({type:Boolean,json:{write:!0}})],Ue.prototype,"isWrappedDateLine",void 0),(0,i._)([(0,c.MZ)({type:String,json:{write:!0}})],Ue.prototype,"label",void 0),(0,i._)([(0,c.MZ)({type:String,json:{write:!0}})],Ue.prototype,"name",void 0),(0,i._)([(0,c.MZ)({type:String,json:{write:!0}})],Ue.prototype,"quantity",void 0),(0,i._)([(0,c.MZ)({type:Ee,json:{write:!0}})],Ue.prototype,"regularSpacing",void 0),(0,i._)([(0,c.MZ)({type:Number,json:{write:!0}})],Ue.prototype,"size",void 0),(0,i._)([(0,c.MZ)({type:String,json:{write:!0}})],Ue.prototype,"unit",void 0),(0,i._)([(0,c.MZ)({type:Boolean,json:{read:!1}})],Ue.prototype,"isRegular",null),Ue=(0,i._)([(0,h.$)("esri.layers.voxel.VoxelDimension")],Ue);const Oe=Ue;let ze=class extends V.A{constructor(e){super(e),this.id=0,this.dimensions=null,this.spatialReference=Ze.A.WGS84}get zDimension(){if(!this.dimensions)return-1;if(!Array.isArray(this.dimensions))return-1;if(4!==this.dimensions.length)return-1;for(let e=2;e<4;++e)if(this.dimensions[e].size>0)return e;return-1}get isValid(){return!(!this.dimensions||!Array.isArray(this.dimensions)||4!==this.dimensions.length||this.dimensions[0].size<1||this.dimensions[1].size<1||-1===this.zDimension||this.dimensions[this.zDimension].size<1)}get originInLayerSpace3D(){if(!this.isValid||"xyt"===this.volumeType)return[0,0,0];const e=this.dimensions[0].getRange(),t=this.dimensions[1].getRange(),r=this.dimensions[2],i=r.isRegular?r.getRange():[0,r.size];return[e[0],t[0],i[0]]}get voxelSizeInLayerSpaceSigned(){if(!this.isValid||"xyt"===this.volumeType)return[0,0,0];const e=this.dimensions[0].getRange(),t=this.dimensions[1].getRange(),r=this.dimensions[2],i=r.isRegular?r.getRange():[0,r.size],n=[this.sizeInVoxels[0],this.sizeInVoxels[1],this.sizeInVoxels[2]];for(let e=0;e<3;++e)n[e]<2?n[e]=1:n[e]-=1;return r.isRegular&&!r.isPositiveUp&&(n[2]*=-1),[(e[1]-e[0])/n[0],(t[1]-t[0])/n[1],(i[1]-i[0])/n[2]]}get volumeType(){if(this.isValid){const e=this.dimensions[2].size>0;let t=this.dimensions[3].size>0;if(t){const e=this.dimensions[3];t="time"===e.quantity,t&&null!==e.unit&&(t=Te(e.unit).didParse)}if(!e&&t)return"xyt";if(e&&t)return"xyzt"}return"xyz"}get sizeInVoxels(){if(!this.isValid)return[0,0,0];const e=this.zDimension;return[this.dimensions[0].size,this.dimensions[1].size,this.dimensions[e].size]}get timeStops(){if("xyzt"!==this.volumeType)return[];const e=this.dimensions[3],t=[],r=Te(e.unit);if(r.didParse)if(e.isRegular){const i=e.regularSpacing?.offset??0,n=e.regularSpacing?.scale||1;for(let s=0;s<e.size;++s){const e=i+n*s;t.push((0,Ie.mi)(r.reference,e,r.unit))}}else if(Array.isArray(e.irregularSpacing?.values)&&e.irregularSpacing.values.length>0)for(let i=0;i<e.irregularSpacing.values.length;++i){const n=e.irregularSpacing.values[i];t.push((0,Ie.mi)(r.reference,n,r.unit))}return t}computeVoxelSpaceLocation(e){if(!this.isValid)return[0,0,0];if("xyt"===this.volumeType)return a.A.getLogger(this).error("computeVoxelSpacePosition cannot be used with XYT volumes."),[0,0,0];if(!(0,Ne.aI)(this.spatialReference,e.spatialReference))return a.A.getLogger(this).error("pos argument should have the same spatial reference as the VoxelLayer."),[0,0,0];const t=(0,m.fA)(e.x,e.y,e.z??0);(0,y.d)(t,t,this.originInLayerSpace3D),(0,y.E)(t,t,this.voxelSizeInLayerSpaceSigned);const r=this.dimensions[this.zDimension];if(!r.isRegular&&Array.isArray(r.irregularSpacing?.values)&&r.irregularSpacing.values.length>1){const i=e.z??0,n=r.irregularSpacing.values,s=r.isPositiveUp?1:-1,o=n.reduce(((e,t)=>Math.abs(s*t-i)<Math.abs(s*e-i)?t:e));for(let e=0;e<n.length;++e)if(n[e]===o){t[2]=e;break}}return[t[0],t[1],t[2]]}computeLayerSpaceLocation(e){if(!this.isValid)return new je.A({x:0,y:0,spatialReference:this.spatialReference});const t=(0,m.ci)(e);if((0,y.C)(t,t,this.voxelSizeInLayerSpaceSigned),(0,y.g)(t,t,this.originInLayerSpace3D),"xyt"===this.volumeType)return new je.A({x:t[0],y:t[1],spatialReference:this.spatialReference});const r=this.dimensions[this.zDimension];return r.isRegular||Array.isArray(r.irregularSpacing?.values)&&(e[2]<0?t[2]=r.irregularSpacing.values[0]:e[2]<r.irregularSpacing.values.length?t[2]=r.irregularSpacing.values[e[2]]:t[2]=r.irregularSpacing.values[r.irregularSpacing.values.length-1],r.isPositiveUp||(t[2]*=-1)),new je.A({x:t[0],y:t[1],z:t[2],spatialReference:this.spatialReference})}};(0,i._)([(0,c.MZ)({type:Number,json:{write:{enabled:!0,isRequired:!0}}})],ze.prototype,"id",void 0),(0,i._)([(0,c.MZ)({type:[Oe],json:{write:{enabled:!0,isRequired:!0}}})],ze.prototype,"dimensions",void 0),(0,i._)([(0,c.MZ)({type:Ze.A,json:{read:{enabled:!1}}})],ze.prototype,"spatialReference",void 0),(0,i._)([(0,c.MZ)({type:Number,json:{read:!1}})],ze.prototype,"zDimension",null),(0,i._)([(0,c.MZ)({type:[Boolean],json:{read:!1}})],ze.prototype,"isValid",null),(0,i._)([(0,c.MZ)({type:[Number],json:{read:!1}})],ze.prototype,"originInLayerSpace3D",null),(0,i._)([(0,c.MZ)({type:[Number],json:{read:!1}})],ze.prototype,"voxelSizeInLayerSpaceSigned",null),(0,i._)([(0,c.MZ)({type:["xyz","xyzt","xyt"],json:{read:{enabled:!1}}})],ze.prototype,"volumeType",null),(0,i._)([(0,c.MZ)({type:[Number],json:{read:!1}})],ze.prototype,"sizeInVoxels",null),(0,i._)([(0,c.MZ)({type:[Date],json:{read:!1,write:!1}})],ze.prototype,"timeStops",null),ze=(0,i._)([(0,h.$)("esri.layers.voxel.VoxelVolume")],ze);const Le=ze;var Fe;let qe=Fe=class extends V.A{constructor(){super(...arguments),this.apronWidth=1,this.brickSize=[32,32,32],this.maxLodLevel=0,this.nodeSize=[4,4,4]}isValid(){const e=new Fe;return e.apronWidth===this.apronWidth&&e.maxLodLevel===this.maxLodLevel&&!!this.brickSize&&!!this.nodeSize&&!(!Array.isArray(this.brickSize)||!Array.isArray(this.nodeSize))&&3===this.brickSize.length&&3===this.nodeSize.length&&32===this.brickSize[0]&&32===this.brickSize[1]&&32===this.brickSize[2]&&4===this.nodeSize[0]&&4===this.nodeSize[1]&&4===this.nodeSize[2]}};(0,i._)([(0,c.MZ)({type:Number,json:{write:{enabled:!0,isRequired:!0}}})],qe.prototype,"apronWidth",void 0),(0,i._)([(0,c.MZ)({type:[Number],json:{write:{enabled:!0,isRequired:!0}}})],qe.prototype,"brickSize",void 0),(0,i._)([(0,c.MZ)({type:Number,json:{write:{enabled:!0,isRequired:!0}}})],qe.prototype,"maxLodLevel",void 0),(0,i._)([(0,c.MZ)({type:[Number],json:{write:{enabled:!0,isRequired:!0}}})],qe.prototype,"nodeSize",void 0),qe=Fe=(0,i._)([(0,h.$)("esri.layers.voxel.VoxelVolumeIndex")],qe);const De=qe;let $e=class extends(T.A.ClonableMixin(V.A)){constructor(e){super(e),this.enabled=!0,this.label="",this.normal=null,this.point=null}get orientation(){if(!Array.isArray(this.normal)||3!==this.normal.length)return 0;const[e,t]=B(this.normal);return R.ie.normalize((0,p.GB)(e),0,!0)}set orientation(e){const t=k(e,this.tilt);this._set("normal",t),this._set("orientation",e)}get tilt(){if(!Array.isArray(this.normal)||3!==this.normal.length)return 0;const[e,t]=B(this.normal);return R.ie.normalize((0,p.GB)(t),0,!0)}set tilt(e){const t=k(this.orientation,e);this._set("normal",t),this._set("tilt",e)}};(0,i._)([(0,c.MZ)({type:Boolean,json:{default:!0,write:!0}})],$e.prototype,"enabled",void 0),(0,i._)([(0,c.MZ)({type:String,json:{write:!0}})],$e.prototype,"label",void 0),(0,i._)([(0,c.MZ)({type:Number,json:{read:!1},clonable:!1,range:{min:0,max:360}}),(0,K.w)((e=>R.ie.normalize((0,p.GB)(e),0,!0)))],$e.prototype,"orientation",null),(0,i._)([(0,c.MZ)({type:Number,json:{read:!1},clonable:!1,range:{min:0,max:360}}),(0,K.w)((e=>R.ie.normalize((0,p.GB)(e),0,!0)))],$e.prototype,"tilt",null),(0,i._)([(0,c.MZ)({type:[Number],json:{write:{isRequired:!0}}})],$e.prototype,"normal",void 0),(0,i._)([(0,c.MZ)({type:[Number],json:{write:{isRequired:!0}}})],$e.prototype,"point",void 0),$e=(0,i._)([(0,h.$)("esri.layers.voxel.VoxelDynamicSection")],$e);const Ce=$e;var Be;let ke=Be=class extends V.A{constructor(e){super(e),this.volumeId=0,this.verticalExaggeration=1,this.exaggerationMode="scale-height",this.verticalOffset=0,this.slices=new(s.A.ofType(G)),this.dynamicSections=new(s.A.ofType(Ce))}set slices(e){this._set("slices",(0,le.V)(e,this._get("slices"),s.A.ofType(G)))}set dynamicSections(e){this._set("dynamicSections",(0,le.V)(e,this._get("dynamicSections"),s.A.ofType(Ce)))}clone(){return new Be({volumeId:this.volumeId,verticalExaggeration:this.verticalExaggeration,exaggerationMode:this.exaggerationMode,verticalOffset:this.verticalOffset,slices:(0,ne.o8)(this.slices),dynamicSections:(0,ne.o8)(this.dynamicSections)})}};(0,i._)([(0,c.MZ)({type:p.jz,json:{write:{enabled:!0,isRequired:!0}}})],ke.prototype,"volumeId",void 0),(0,i._)([(0,c.MZ)({type:Number,json:{default:1,write:!0}})],ke.prototype,"verticalExaggeration",void 0),(0,i._)([(0,c.MZ)({type:["scale-position","scale-height"],json:{default:"scale-height",write:!0}})],ke.prototype,"exaggerationMode",void 0),(0,i._)([(0,c.MZ)({type:Number,json:{default:0,write:!0}})],ke.prototype,"verticalOffset",void 0),(0,i._)([(0,c.MZ)({type:s.A.ofType(G),json:{write:{enabled:!0,overridePolicy(){return{enabled:!!this.slices&&this.slices.length>0}}}}})],ke.prototype,"slices",null),(0,i._)([(0,c.MZ)({type:s.A.ofType(Ce),json:{write:{enabled:!0,overridePolicy(){return{enabled:!!this.dynamicSections&&this.dynamicSections.length>0}}}}})],ke.prototype,"dynamicSections",null),ke=Be=(0,i._)([(0,h.$)("esri.layers.voxel.VoxelVolumeStyle")],ke);const Ke=ke;var He=r(30291),Ge=r(79677),Je=r(10184);let We=class extends((0,x.w6)((0,b.b)((0,S.q)((0,M.A)((0,_.j)((0,l.P)((0,w.d)((0,v.p)(g.A))))))))){constructor(e){super(e),this.serviceRoot="",this.operationalLayerType="Voxel",this.legendEnabled=!0,this.title=null,this.sections=null,this.currentVariableId=0,this.volumeStyles=null,this.renderMode="volume",this.variableStyles=null,this.enableSlices=!0,this.enableSections=!0,this.enableDynamicSections=!0,this.enableIsosurfaces=!0,this.shading=new X,this.opacity=1,this.variables=new s.A,this.volumes=new s.A,this.index=null,this.minScale=0,this.maxScale=0,this.type="voxel",this.version={major:Number.NaN,minor:Number.NaN,versionString:""},this.fullExtent=null,this.popupEnabled=!1,this.popupTemplate=null,this.test=null,this.timeExtent=null,this.timeOffset=null,this.useViewTime=!0,this.volumeStyles=new(s.A.ofType(Ke)),this.variableStyles=new(s.A.ofType(Ae)),this.sections=new(s.A.ofType(Y))}normalizeCtorArgs(e){return e?.constantUpscaling&&(this.test={constantUpscaling:!0},delete e.constantUpscaling),e}set url(e){this._set("url",(0,A.Jf)(e,a.A.getLogger(this)))}load(e){const t=null!=e?e.signal:null,r=this.loadFromPortal({supportedTypes:["Scene Service"]},e).catch(u.QP).then((()=>this._fetchService(t))).then((()=>this.serviceRoot=this.url));return this.addResolvingPromise(r),Promise.resolve(this)}read(e,t){super.read(e,t),"service"===t?.origin&&this.version.major<=3&&this.version.minor<=0&&!this.getAtOrigin("popupTemplate","service")&&this.setAtOrigin("popupTemplate",this.createPopupTemplate(),"service");for(const e of this.volumes)e.spatialReference=this.spatialReference}readVersion(e,t){return super.parseVersionString(e)}validateLayer(e){if(e.layerType&&e.layerType!==this.operationalLayerType)throw new o.A("voxel-layer:layer-type-not-supported","VoxelLayer does not support this layer type",{layerType:e.layerType});if(isNaN(this.version.major)||isNaN(this.version.minor)||this.version.major<3)throw new o.A("layer:service-version-not-supported","Service version is not supported.",{serviceVersion:this.version.versionString,supportedVersions:"3.x"});if(this.version.major>3)throw new o.A("layer:service-version-too-new","Service version is too new.",{serviceVersion:this.version.versionString,supportedVersions:"3.x"})}readFullExtent(e,t,r){if(null!=e&&"object"==typeof e){const i=f.A.fromJSON(e,r);if(0===i.zmin&&0===i.zmax&&Array.isArray(t.volumes)){const e=Le.fromJSON(t.volumes[0]);if(e.isValid&&"xyt"!==e.volumeType){const t=e.dimensions[2];if(t.isRegular){let e=t.regularSpacing.offset,r=t.regularSpacing.offset+t.regularSpacing.scale*(t.size-1);if(e>r){const t=e;e=r,r=t}i.zmin=e,i.zmax=r}}}return i}return null}get fields(){const e=[new j.A({name:"Voxel.Position",alias:"Voxel Position",domain:null,editable:!1,length:128,type:"string"}),new j.A({name:"Voxel.CurrentVariable",alias:"Current Variable",domain:null,editable:!1,length:128,type:"string"})];for(const t of this.variables){const r=new j.A({name:t.name,alias:t.description,domain:null,editable:!1,length:128,type:"discrete"===t.renderingFormat.continuity?"string":"double"});e.push(r)}const t=this.getVolume(null);if(null!=t){if("xyzt"===t.volumeType||"xyt"===t.volumeType){const t=new j.A({name:"Voxel.LocalTime",alias:"Local Time",domain:null,editable:!1,length:256,type:"date"});e.push(t);const r=new j.A({name:"Voxel.SourceTime",alias:"Source Time",domain:null,editable:!1,length:256,type:"string"});e.push(r)}if("xyt"!==t.volumeType){const t=new j.A({name:"Voxel.Depth",alias:"Depth",domain:null,editable:!1,length:128,type:"double"});e.push(t)}}return e}get fieldsIndex(){return this.loaded?new Z.A(this.fields):null}getField(e){return this.fieldsIndex?.get(e)}get defaultPopupTemplate(){return this.createPopupTemplate()}createPopupTemplate(e){const t=this.fields;return(0,He.tn)({fields:t,title:"{Voxel.Position}"},e)}getConfiguration(){const e={layerType:this.operationalLayerType,version:this.version.versionString,name:this.title,spatialReference:this.spatialReference,fullExtent:this.fullExtent,volumes:this.volumes.toJSON(),variables:this.variables.toJSON(),index:this.index?.toJSON(),sections:this.getSections(),style:{volumeStyles:this.getVolumeStyles(),currentVariableId:this.currentVariableId,renderMode:this.renderMode,variableStyles:this.getVariableStyles(),enableSections:this.enableSections,enableDynamicSections:this.enableDynamicSections,enableIsosurfaces:this.enableIsosurfaces,enableSlices:this.enableSlices,shading:this.shading}};return e.index&&this.index?.isValid()?JSON.stringify(e):""}getVariableStyle(e){let t=-1;if(t=null!=e?e:this.currentVariableId,!this.variableStyles||-1===t)return null;const r=this.variableStyles.findIndex((e=>e.variableId===t));return r<0?null:this.variableStyles.at(r)}getVariable(e){let t=-1;if(t=null!=e?e:this.currentVariableId,!this.variables||-1===t)return null;const r=this.variables.findIndex((e=>e.id===t));return r<0?null:this.variables.at(r)}getVolume(e){const t=this.getVariable(e);return null!=t?this.volumes.find((({id:e})=>e===t.volumeId)):null}get timeInfo(){const e=this.getVolume(null);if("xyzt"!==e?.volumeType)return null;const t=e.timeStops;if(!t?.length)return null;const r=new Ge.A({start:t[0],end:t.at(-1)});return new N.A({fullTimeExtent:r,stops:t})}getVolumeStyle(e){const t=this.getVariable(e);return null!=t?this.volumeStyles.find((({volumeId:e})=>e===t.volumeId)):null}getColorForContinuousDataValue(e,t,r){const i=this.getVariable(e);if(null==i||"continuous"!==i.renderingFormat?.continuity)return null;if(!this.variableStyles)return null;const n=this.variableStyles.findIndex((t=>t.variableId===e));if(n<0)return null;const s=this.variableStyles.at(n);return s?.transferFunction?s.transferFunction.getColorForContinuousDataValue(t,r):null}getSections(){const e=[];for(const t of this.sections)e.push(new Y({enabled:t.enabled,href:t.href,id:t.id,label:t.label,normal:t.normal,point:t.point,sizeInPixel:t.sizeInPixel,slices:t.slices,timeId:t.timeId,variableId:t.variableId}));return e}getVariableStyles(){const e=[];for(const t of this.variableStyles){const r=this._getVariable(t);if(null!=r){const i=t.clone();i.isosurfaces.length>4&&(i.isosurfaces=i.isosurfaces.slice(0,3),a.A.getLogger(this).error("A maximum of 4 isosurfaces are supported for Voxel Layers."));for(const e of i.isosurfaces)if(!e.colorLocked){const t=this.getColorForContinuousDataValue(i.variableId,e.value,!1);null==t||t.equals(e.color)||(e.color=t)}if("continuous"===r.renderingFormat.continuity)(null===i.transferFunction||i.transferFunction.colorStops.length<2)&&a.A.getLogger(this).error(`VoxelVariableStyle for variable ${r.id} is invalid. At least 2 color stops are required in the transferFunction for continuous Voxel Layer variables.`),null!==i.transferFunction&&(Array.isArray(i.transferFunction.stretchRange)&&2===i.transferFunction.stretchRange.length||(a.A.getLogger(this).error(`VoxelVariableStyle for variable ${r.id} is invalid. The stretchRange of the transferFunction for continuous Voxel Layer variables must be of the form [minimumDataValue, maximumDataValue].`),i.transferFunction.stretchRange=[0,1],i.transferFunction.colorStops.removeAll()));else if("discrete"===r.renderingFormat.continuity)if(0===t.uniqueValues.length)a.A.getLogger(this).error(`VoxelVariableStyle for variable ${r.id} is invalid. Unique values are required for discrete Voxel Layer variables.`);else for(const e of t.uniqueValues)null!==e.label&&void 0!==e.label||null===e.value||void 0===e.value||(e.label=e.value.toString());e.push(i)}else a.A.getLogger(this).error(`VoxelVariable ID=${t.variableId} doesn't exist, VoxelVariableStyle for this VoxelVariable will be ignored.`)}return e}getVolumeStyles(){const e=[];for(const t of this.volumeStyles){const r=this._getVolumeFromVolumeId(t.volumeId);if(null!=r){const i=t.clone();for(const e of i.slices)this._isPlaneValid(e,[0,1,r.zDimension],r.dimensions)||(e.enabled=!1,e.label="invalid");for(const e of i.dynamicSections)this._isPlaneValid(e,[0,1,r.zDimension],r.dimensions)||(e.enabled=!1,e.label="invalid");e.push(i)}else a.A.getLogger(this).error(`VoxelVolume ID=${t.volumeId} doesn't exist, VoxelVolumeStyle for this VoxelVolume will be ignored.`)}return e}_getVariable(e){const t=e.variableId;for(const e of this.variables)if(e.id===t)return e;return null}_getVolumeFromVolumeId(e){for(const t of this.volumes)if(t.id===e)return t;return null}_isPlaneValid(e,t,r){if(!e.point)return!1;if(!Array.isArray(e.point)||3!==e.point.length)return!1;if(!e.normal)return!1;if(!Array.isArray(e.normal)||3!==e.normal.length)return!1;const i=(0,m.fA)(e.normal[0],e.normal[1],e.normal[2]);return(0,y.n)(i,i),!(Math.abs(i[0])+Math.abs(i[1])+Math.abs(i[2])<1e-6||(e.normal[0]=i[0],e.normal[1]=i[1],e.normal[2]=i[2],0))}};(0,i._)([(0,c.MZ)({type:["Voxel"]})],We.prototype,"operationalLayerType",void 0),(0,i._)([(0,c.MZ)(I.fV)],We.prototype,"legendEnabled",void 0),(0,i._)([(0,c.MZ)({json:{write:!0}})],We.prototype,"title",void 0),(0,i._)([(0,c.MZ)(I.OZ)],We.prototype,"url",null),(0,i._)([(0,c.MZ)({type:s.A.ofType(Y),json:{origins:{"web-scene":{name:"layerDefinition.sections",write:!0}}}})],We.prototype,"sections",void 0),(0,i._)([(0,c.MZ)({type:p.jz,json:{origins:{"web-scene":{name:"layerDefinition.style.currentVariableId",write:{enabled:!0,isRequired:!0,ignoreOrigin:!0}},service:{name:"style.currentVariableId"}}}})],We.prototype,"currentVariableId",void 0),(0,i._)([(0,c.MZ)({type:s.A.ofType(Ke),json:{origins:{"web-scene":{name:"layerDefinition.style.volumeStyles",write:!0},service:{name:"style.volumeStyles"}}}})],We.prototype,"volumeStyles",void 0),(0,i._)([(0,c.MZ)({type:["volume","surfaces"],json:{origins:{"web-scene":{name:"layerDefinition.style.renderMode",write:!0},service:{name:"style.renderMode"}}}})],We.prototype,"renderMode",void 0),(0,i._)([(0,c.MZ)({type:s.A.ofType(Ae),json:{origins:{"web-scene":{name:"layerDefinition.style.variableStyles",write:!0},service:{name:"style.variableStyles"}}}})],We.prototype,"variableStyles",void 0),(0,i._)([(0,c.MZ)({type:Boolean,json:{origins:{"web-scene":{name:"layerDefinition.style.enableSlices",write:!0},service:{name:"style.enableSlices"}}}})],We.prototype,"enableSlices",void 0),(0,i._)([(0,c.MZ)({type:Boolean,json:{origins:{"web-scene":{name:"layerDefinition.style.enableSections",write:!0},service:{name:"style.enableSections"}}}})],We.prototype,"enableSections",void 0),(0,i._)([(0,c.MZ)({type:Boolean,json:{origins:{"web-scene":{name:"layerDefinition.style.enableDynamicSections",write:!0},service:{name:"style.enableDynamicSections"}}}})],We.prototype,"enableDynamicSections",void 0),(0,i._)([(0,c.MZ)({type:Boolean,json:{origins:{"web-scene":{name:"layerDefinition.style.enableIsosurfaces",write:!0},service:{name:"style.enableIsosurfaces"}}}})],We.prototype,"enableIsosurfaces",void 0),(0,i._)([(0,c.MZ)({type:X,json:{origins:{"web-scene":{name:"layerDefinition.style.shading",write:!0},service:{name:"style.shading"}}}})],We.prototype,"shading",void 0),(0,i._)([(0,c.MZ)({type:["show","hide"]})],We.prototype,"listMode",void 0),(0,i._)([(0,c.MZ)({type:Number,range:{min:0,max:1},nonNullable:!0,json:{read:!1,write:!1,origins:{"web-scene":{read:!1,write:!1},"portal-item":{read:!1,write:!1}}}})],We.prototype,"opacity",void 0),(0,i._)([(0,c.MZ)({type:s.A.ofType(ie)})],We.prototype,"variables",void 0),(0,i._)([(0,c.MZ)({type:s.A.ofType(Le)})],We.prototype,"volumes",void 0),(0,i._)([(0,c.MZ)({type:De})],We.prototype,"index",void 0),(0,i._)([(0,c.MZ)({type:Number,json:{name:"layerDefinition.minScale",write:!0,origins:{service:{read:!1,write:!1}}}})],We.prototype,"minScale",void 0),(0,i._)([(0,c.MZ)({type:Number,json:{name:"layerDefinition.maxScale",write:!0,origins:{service:{read:!1,write:!1}}}})],We.prototype,"maxScale",void 0),(0,i._)([(0,c.MZ)({json:{read:!1},readOnly:!0})],We.prototype,"type",void 0),(0,i._)([(0,c.MZ)({readOnly:!0,json:{name:"serviceVersion"}})],We.prototype,"version",void 0),(0,i._)([(0,d.w)("service","version")],We.prototype,"readVersion",null),(0,i._)([(0,c.MZ)({type:f.A})],We.prototype,"fullExtent",void 0),(0,i._)([(0,d.w)("service","fullExtent",["fullExtent"])],We.prototype,"readFullExtent",null),(0,i._)([(0,c.MZ)({readOnly:!0,clonable:!1,json:{read:!1}})],We.prototype,"fields",null),(0,i._)([(0,c.MZ)({readOnly:!0})],We.prototype,"fieldsIndex",null),(0,i._)([(0,c.MZ)({type:Boolean,json:{name:"disablePopup",read:{reader:(e,t)=>!t.disablePopup},write:{enabled:!0,ignoreOrigin:!0,writer(e,t,r){t[r]=!e}},origins:{"portal-item":{default:!0},"web-scene":{default:!0}}}})],We.prototype,"popupEnabled",void 0),(0,i._)([(0,c.MZ)({type:n.A,json:{name:"popupInfo",write:!0}})],We.prototype,"popupTemplate",void 0),(0,i._)([(0,c.MZ)({readOnly:!0,json:{read:!1}})],We.prototype,"defaultPopupTemplate",null),(0,i._)([(0,c.MZ)({type:N.A,readOnly:!0,json:{read:!1}})],We.prototype,"timeInfo",null),(0,i._)([(0,c.MZ)({type:Ge.A,json:{read:!1}})],We.prototype,"timeExtent",void 0),(0,i._)([(0,c.MZ)({type:Je.A,json:{read:!1}})],We.prototype,"timeOffset",void 0),(0,i._)([(0,c.MZ)({type:Boolean,nonNullable:!0,json:{origins:{"web-scene":{name:"timeAnimation",write:!0},service:{read:!1}}}})],We.prototype,"useViewTime",void 0),We=(0,i._)([(0,h.$)("esri.layers.VoxelLayer")],We);const Ye=We},18768:(e,t,r)=>{r.d(t,{b:()=>l});var i=r(90237),n=r(53966),s=r(10107),o=(r(44208),r(87811),r(40608)),a=r(60694);const l=e=>{let t=class extends e{get title(){if(this._get("title")&&"defaults"!==this.originOf("title"))return this._get("title");if(this.url){const e=(0,a.qg)(this.url);if(e?.title)return e.title}return this._get("title")||""}set title(e){this._set("title",e)}set url(e){this._set("url",(0,a.Jf)(e,n.A.getLogger(this)))}};return(0,i._)([(0,s.MZ)()],t.prototype,"title",null),(0,i._)([(0,s.MZ)({type:String})],t.prototype,"url",null),t=(0,i._)([(0,o.$)("esri.layers.mixins.ArcGISService")],t),t}},25036:(e,t,r)=>{r.d(t,{j:()=>o});var i=r(90237),n=r(10107),s=(r(44208),r(53966),r(87811),r(40608));const o=e=>{let t=class extends e{constructor(){super(...arguments),this.minScale=0,this.maxScale=0}get effectiveScaleRange(){const e={minScale:this.minScale,maxScale:this.maxScale},t=this.parent;t&&"effectiveScaleRange"in t&&function(e,t){e.minScale=e.minScale>0?t.minScale>0?Math.min(e.minScale,t.minScale):e.minScale:t.minScale,e.maxScale=e.maxScale>0?t.maxScale>0?Math.max(e.maxScale,t.maxScale):e.maxScale:t.maxScale}(e,t.effectiveScaleRange);const r=this._get("effectiveScaleRange");return r&&r.minScale===e.minScale&&r.maxScale===e.maxScale?r:e}};return(0,i._)([(0,n.MZ)({type:Number,nonNullable:!0,json:{write:!0}})],t.prototype,"minScale",void 0),(0,i._)([(0,n.MZ)({type:Number,nonNullable:!0,json:{write:!0}})],t.prototype,"maxScale",void 0),(0,i._)([(0,n.MZ)({readOnly:!0})],t.prototype,"effectiveScaleRange",null),t=(0,i._)([(0,s.$)("esri.layers.mixins.ScaleRangeLayer")],t),t}},26121:(e,t,r)=>{r.d(t,{c:()=>o,d:()=>n});var i=r(49186);async function n(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)}const s=new Set(["layer:unsupported","property:unsupported","symbol:unsupported","symbol-layer:unsupported","url:unsupported"]);function o(e,t,r){let n=(e.messages??[]).filter((({type:e})=>"error"===e)).map((({name:e,message:t,details:r})=>new i.A(e,t,r)));if(e.blockedRelativeUrls&&(n=n.concat(e.blockedRelativeUrls.map((e=>new i.A("url:unsupported",`Relative url '${e}' is not supported`))))),r){const{ignoreUnsupported:e,supplementalUnsupportedErrors:t=[],requiredPropertyChecksDisabled:i}=r;e&&(n=n.filter((({name:e})=>!(s.has(e)||t.includes(e))))),i&&(n=n.filter((e=>"web-document-write:property-required"!==e.name)))}if(n.length>0)throw new i.A(t.errorName,"Failed to save due to unsupported or invalid content. See 'details.errors' for more detailed information",{errors:n})}},29242:(e,t,r)=>{function i(){return[1,0,0,0,1,0,0,0,1]}function n(e,t,r,i,n,s,o,a,l){return[e,t,r,i,n,s,o,a,l]}r.d(t,{fA:()=>n,vt:()=>i,zK:()=>s});const s=[1,0,0,0,1,0,0,0,1];Object.freeze(Object.defineProperty({__proto__:null,IDENTITY:s,clone:function(e){return[e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8]]},create:i,fromValues:n},Symbol.toStringTag,{value:"Module"}))},30291:(e,t,r)=>{r.d(t,{tn:()=>u});var i=r(13874),n=r(30524),s=r(89893),o=(r(84424),r(80737),r(96808),r(66159)),a=(r(67336),r(92094),r(23721),r(47582),r(41227)),l=r(68780);function u({displayField:e,editFieldsInfo:t,fields:r,objectIdField:l,title:u},h){if(!r)return null;const m=function(e,t){const r=t?.visibleFieldNames;return function({fields:e,ignoreFieldTypes:t,sortDisabled:r}){const i=e;return t&&(e=e.filter((e=>!t.includes(e.type)))),e===i&&(e=e.slice()),!0!==r&&e.sort(p),e}({fields:e.fields??[],ignoreFieldTypes:t?.ignoreFieldTypes||y,sortDisabled:t?.sortDisabled}).map((t=>new a.A({fieldName:t.name,isEditable:(0,n.R$)(t,e),label:t.alias,format:d(t),visible:c(t,{...e,visibleFieldNames:r})})))}({editFieldsInfo:t,fields:r,objectIdField:l},h);if(!m.length)return null;const f=function(e){const t=(0,n.mB)(e),{titleBase:r}=e;return t?`${r}: {${t.trim()}}`:r??""}({titleBase:u,fields:r,displayField:e}),g=[new o.A,new s.A];return new i.A({title:f,content:g,fieldInfos:m})}const c=(e,t)=>t.visibleFieldNames?t.visibleFieldNames.has(e.name):(0,n.Bz)(e,t);function p(e,t){return"oid"===e.type?-1:"oid"===t.type?1:h(e)?-1:h(t)?1:(e.alias||e.name).toLocaleLowerCase().localeCompare((t.alias||t.name).toLocaleLowerCase())}function d(e){switch(e.type){case"small-integer":case"integer":case"single":return new l.A({digitSeparator:!0,places:0});case"double":return new l.A({digitSeparator:!0,places:2});case"string":return(0,n.JL)(e.name)?new l.A({digitSeparator:!0,places:0}):void 0;default:return}}function h(e){if("name"===(e.name&&e.name.toLowerCase()))return!0;const t=e.alias?.toLowerCase();return"name"===t}const y=["geometry","blob","raster","guid","xml"]},38954:(e,t,r)=>{r.d(t,{A:()=>y,B:()=>h,C:()=>c,D:()=>m,E:()=>p,G:()=>z,I:()=>F,a:()=>E,b:()=>g,c:()=>o,d:()=>u,e:()=>A,f:()=>x,g:()=>l,h:()=>f,i:()=>a,j:()=>v,k:()=>w,l:()=>s,m:()=>I,n:()=>_,o:()=>P,p:()=>V,q:()=>Z,s:()=>b,t:()=>j,u:()=>M,v:()=>S,w:()=>N,x:()=>d,y:()=>L,z:()=>q});var i=r(51850),n=r(34304);function s(e){const t=e[0],r=e[1],i=e[2];return Math.sqrt(t*t+r*r+i*i)}function o(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e}function a(e,t,r,i){return e[0]=t,e[1]=r,e[2]=i,e}function l(e,t,r){return e[0]=t[0]+r[0],e[1]=t[1]+r[1],e[2]=t[2]+r[2],e}function u(e,t,r){return e[0]=t[0]-r[0],e[1]=t[1]-r[1],e[2]=t[2]-r[2],e}function c(e,t,r){return e[0]=t[0]*r[0],e[1]=t[1]*r[1],e[2]=t[2]*r[2],e}function p(e,t,r){return e[0]=t[0]/r[0],e[1]=t[1]/r[1],e[2]=t[2]/r[2],e}function d(e,t){return e[0]=Math.abs(t[0]),e[1]=Math.abs(t[1]),e[2]=Math.abs(t[2]),e}function h(e,t){return e[0]=Math.sign(t[0]),e[1]=Math.sign(t[1]),e[2]=Math.sign(t[2]),e}function y(e,t,r){return e[0]=Math.min(t[0],r[0]),e[1]=Math.min(t[1],r[1]),e[2]=Math.min(t[2],r[2]),e}function m(e,t,r){return e[0]=Math.max(t[0],r[0]),e[1]=Math.max(t[1],r[1]),e[2]=Math.max(t[2],r[2]),e}function f(e,t,r){return e[0]=t[0]*r,e[1]=t[1]*r,e[2]=t[2]*r,e}function g(e,t,r,i){return e[0]=t[0]+r[0]*i,e[1]=t[1]+r[1]*i,e[2]=t[2]+r[2]*i,e}function v(e,t){const r=t[0]-e[0],i=t[1]-e[1],n=t[2]-e[2];return Math.sqrt(r*r+i*i+n*n)}function b(e,t){const r=t[0]-e[0],i=t[1]-e[1],n=t[2]-e[2];return r*r+i*i+n*n}function w(e){const t=e[0],r=e[1],i=e[2];return t*t+r*r+i*i}function S(e,t){return e[0]=-t[0],e[1]=-t[1],e[2]=-t[2],e}function M(e,t){return e[0]=1/t[0],e[1]=1/t[1],e[2]=1/t[2],e}function _(e,t){const r=t[0],i=t[1],n=t[2];let s=r*r+i*i+n*n;return s>0&&(s=1/Math.sqrt(s),e[0]=t[0]*s,e[1]=t[1]*s,e[2]=t[2]*s),e}function x(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]}function A(e,t,r){const i=t[0],n=t[1],s=t[2],o=r[0],a=r[1],l=r[2];return e[0]=n*l-s*a,e[1]=s*o-i*l,e[2]=i*a-n*o,e}function I(e,t,r,i){const n=t[0],s=t[1],o=t[2];return e[0]=n+i*(r[0]-n),e[1]=s+i*(r[1]-s),e[2]=o+i*(r[2]-o),e}function j(e,t,r){const i=t[0],n=t[1],s=t[2];return e[0]=r[0]*i+r[4]*n+r[8]*s+r[12],e[1]=r[1]*i+r[5]*n+r[9]*s+r[13],e[2]=r[2]*i+r[6]*n+r[10]*s+r[14],e}function Z(e,t,r){const i=t[0],n=t[1],s=t[2];return e[0]=i*r[0]+n*r[3]+s*r[6],e[1]=i*r[1]+n*r[4]+s*r[7],e[2]=i*r[2]+n*r[5]+s*r[8],e}function N(e,t,r){const i=r[0],n=r[1],s=r[2],o=r[3],a=t[0],l=t[1],u=t[2],c=n*u-s*l,p=s*a-i*u,d=i*l-n*a,h=n*d-s*p,y=s*c-i*d,m=i*p-n*c,f=2*o;return e[0]=a+c*f+2*h,e[1]=l+p*f+2*y,e[2]=u+d*f+2*m,e}const T=(0,i.vt)(),R=(0,i.vt)();function V(e,t){return e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]}function P(e,t,r){const i=r[0]-t[0],n=r[1]-t[1],s=r[2]-t[2];let o=i*i+n*n+s*s;return o>0?(o=1/Math.sqrt(o),e[0]=i*o,e[1]=n*o,e[2]=s*o,e):(e[0]=0,e[1]=0,e[2]=0,e)}const E=u,U=c,O=p,z=v,L=b,F=s,q=w;Object.freeze(Object.defineProperty({__proto__:null,abs:d,add:l,angle:function(e,t){_(T,e),_(R,t);const r=x(T,R);return r>1?0:r<-1?Math.PI:Math.acos(r)},bezier:function(e,t,r,i,n,s){const o=1-s,a=o*o,l=s*s,u=a*o,c=3*s*a,p=3*l*o,d=l*s;return e[0]=t[0]*u+r[0]*c+i[0]*p+n[0]*d,e[1]=t[1]*u+r[1]*c+i[1]*p+n[1]*d,e[2]=t[2]*u+r[2]*c+i[2]*p+n[2]*d,e},ceil:function(e,t){return e[0]=Math.ceil(t[0]),e[1]=Math.ceil(t[1]),e[2]=Math.ceil(t[2]),e},clamp:function(e,t=0,r=1){return e[0]=Math.min(Math.max(e[0],t),r),e[1]=Math.min(Math.max(e[1],t),r),e[2]=Math.min(Math.max(e[2],t),r),e},copy:o,cross:A,crossAndNormalize:function(e,t,r){const i=t[0],n=t[1],s=t[2],o=r[0],a=r[1],l=r[2],u=n*l-s*a,c=s*o-i*l,p=i*a-n*o,d=Math.sqrt(u*u+c*c+p*p);return e[0]=u/d,e[1]=c/d,e[2]=p/d,e},direction:P,dist:z,distance:v,div:O,divide:p,dot:x,equals:function(e,t){if(e===t)return!0;const r=e[0],i=e[1],s=e[2],o=t[0],a=t[1],l=t[2],u=(0,n.FD)();return Math.abs(r-o)<=u*Math.max(1,Math.abs(r),Math.abs(o))&&Math.abs(i-a)<=u*Math.max(1,Math.abs(i),Math.abs(a))&&Math.abs(s-l)<=u*Math.max(1,Math.abs(s),Math.abs(l))},exactEquals:V,floor:function(e,t){return e[0]=Math.floor(t[0]),e[1]=Math.floor(t[1]),e[2]=Math.floor(t[2]),e},hermite:function(e,t,r,i,n,s){const o=s*s,a=o*(2*s-3)+1,l=o*(s-2)+s,u=o*(s-1),c=o*(3-2*s);return e[0]=t[0]*a+r[0]*l+i[0]*u+n[0]*c,e[1]=t[1]*a+r[1]*l+i[1]*u+n[1]*c,e[2]=t[2]*a+r[2]*l+i[2]*u+n[2]*c,e},inverse:M,len:F,length:s,lerp:I,max:m,min:y,mul:U,multiply:c,negate:S,normalize:_,random:function(e,t=1){const r=n.Ov,i=2*r()*Math.PI,s=2*r()-1,o=Math.sqrt(1-s*s)*t;return e[0]=Math.cos(i)*o,e[1]=Math.sin(i)*o,e[2]=s*t,e},rotateX:function(e,t,r,i){const n=[],s=[];return n[0]=t[0]-r[0],n[1]=t[1]-r[1],n[2]=t[2]-r[2],s[0]=n[0],s[1]=n[1]*Math.cos(i)-n[2]*Math.sin(i),s[2]=n[1]*Math.sin(i)+n[2]*Math.cos(i),e[0]=s[0]+r[0],e[1]=s[1]+r[1],e[2]=s[2]+r[2],e},rotateY:function(e,t,r,i){const n=[],s=[];return n[0]=t[0]-r[0],n[1]=t[1]-r[1],n[2]=t[2]-r[2],s[0]=n[2]*Math.sin(i)+n[0]*Math.cos(i),s[1]=n[1],s[2]=n[2]*Math.cos(i)-n[0]*Math.sin(i),e[0]=s[0]+r[0],e[1]=s[1]+r[1],e[2]=s[2]+r[2],e},rotateZ:function(e,t,r,i){const n=[],s=[];return n[0]=t[0]-r[0],n[1]=t[1]-r[1],n[2]=t[2]-r[2],s[0]=n[0]*Math.cos(i)-n[1]*Math.sin(i),s[1]=n[0]*Math.sin(i)+n[1]*Math.cos(i),s[2]=n[2],e[0]=s[0]+r[0],e[1]=s[1]+r[1],e[2]=s[2]+r[2],e},round:function(e,t){return e[0]=Math.round(t[0]),e[1]=Math.round(t[1]),e[2]=Math.round(t[2]),e},scale:f,scaleAndAdd:g,set:a,sign:h,sqrDist:L,sqrLen:q,squaredDistance:b,squaredLength:w,str:function(e){return"vec3("+e[0]+", "+e[1]+", "+e[2]+")"},sub:E,subtract:u,transformMat3:Z,transformMat4:j,transformQuat:N},Symbol.toStringTag,{value:"Module"}))},46130:(e,t,r)=>{r.d(t,{v:()=>n});var i=r(76553);function n(e){e?.writtenProperties&&e.writtenProperties.forEach((({target:e,propName:t,newOrigin:r})=>{(0,i.H)(e)&&r&&e.originOf(t)!==r&&e.updateOrigin(t,r)}))}},52136:(e,t,r)=>{r.d(t,{p:()=>o});var i=r(90237),n=r(10107),s=(r(44208),r(53966),r(87811),r(40608));const o=e=>{let t=class extends e{get apiKey(){return this._isOverridden("apiKey")?this._get("apiKey"):"portalItem"in this?this.portalItem?.apiKey:null}set apiKey(e){null!=e?this._override("apiKey",e):(this._clearOverride("apiKey"),this.clear("apiKey","user"))}};return(0,i._)([(0,n.MZ)({type:String})],t.prototype,"apiKey",null),t=(0,i._)([(0,s.$)("esri.layers.mixins.APIKeyMixin")],t),t}},54239:(e,t,r)=>{r.d(t,{A:()=>b});var i,n=r(90237),s=r(4576),o=r(66552),a=r(25482),l=r(83047),u=r(67076),c=r(10107),p=(r(44208),r(53966),r(36005)),d=r(40608),h=r(43937);const y=(0,o.O)()({orthometric:"gravity-related-height",gravity_related_height:"gravity-related-height",ellipsoidal:"ellipsoidal"}),m=y.jsonValues.slice();(0,s.Xy)(m,"orthometric");const f=(0,o.O)()({meter:"meters",foot:"feet","us-foot":"us-feet","clarke-foot":"clarke-feet","clarke-yard":"clarke-yards","clarke-link":"clarke-links","sears-yard":"sears-yards","sears-foot":"sears-feet","sears-chain":"sears-chains","benoit-1895-b-chain":"benoit-1895-b-chains","indian-yard":"indian-yards","indian-1937-yard":"indian-1937-yards","gold-coast-foot":"gold-coast-feet","sears-1922-truncated-chain":"sears-1922-truncated-chains","50-kilometers":"50-kilometers","150-kilometers":"150-kilometers"});let g=i=class extends a.A{constructor(e){super(e),this.heightModel="gravity-related-height",this.heightUnit="meters",this.vertCRS=null}writeHeightModel(e,t,r){return y.write(e,t,r)}readHeightModel(e,t,r){return y.read(e)||(r?.messages&&r.messages.push(function(e,t){return new u.A("height-model:unsupported",`Height model of value '${e}' is not supported`,t)}(e,{context:r})),null)}readHeightUnit(e,t,r){return f.read(e)||(r?.messages&&r.messages.push(v(e,{context:r})),null)}readHeightUnitService(e,t,r){return(0,l.LA)(e)||f.read(e)||(r?.messages&&r.messages.push(v(e,{context:r})),null)}readVertCRS(e,t){return t.vertCRS||t.ellipsoid||t.geoid}clone(){return new i({heightModel:this.heightModel,heightUnit:this.heightUnit,vertCRS:this.vertCRS})}equals(e){return!!e&&(this===e||this.heightModel===e.heightModel&&this.heightUnit===e.heightUnit&&this.vertCRS===e.vertCRS)}static deriveUnitFromSR(e,t){const r=(0,l.k1)(t);return new i({heightModel:e.heightModel,heightUnit:r??void 0,vertCRS:e.vertCRS})}write(e,t){return t={origin:"web-scene",...t},super.write(e,t)}static fromJSON(e){if(!e)return null;const t=new i;return t.read(e,{origin:"web-scene"}),t}};function v(e,t){return new u.A("height-unit:unsupported",`Height unit of value '${e}' is not supported`,t)}(0,n._)([(0,c.MZ)({type:y.apiValues,constructOnly:!0,json:{origins:{"web-scene":{type:m,default:"ellipsoidal",write:{isRequired:!0}}}}})],g.prototype,"heightModel",void 0),(0,n._)([(0,h.K)("web-scene","heightModel")],g.prototype,"writeHeightModel",null),(0,n._)([(0,p.w)(["web-scene","service"],"heightModel")],g.prototype,"readHeightModel",null),(0,n._)([(0,c.MZ)({type:f.apiValues,constructOnly:!0,json:{origins:{"web-scene":{type:f.jsonValues,write:{writer:f.write,isRequired:!0}}}}})],g.prototype,"heightUnit",void 0),(0,n._)([(0,p.w)("web-scene","heightUnit")],g.prototype,"readHeightUnit",null),(0,n._)([(0,p.w)("service","heightUnit")],g.prototype,"readHeightUnitService",null),(0,n._)([(0,c.MZ)({type:String,constructOnly:!0,json:{origins:{"web-scene":{write:!0}}}})],g.prototype,"vertCRS",void 0),(0,n._)([(0,p.w)("service","vertCRS",["vertCRS","ellipsoid","geoid"])],g.prototype,"readVertCRS",null),g=i=(0,n._)([(0,d.$)("esri.geometry.HeightModelInfo")],g);const b=g},58947:(e,t,r)=>{r.d(t,{Xh:()=>P,w6:()=>A});var i=r(90237),n=r(78888),s=r(49186),o=r(53966),a=r(74887),l=r(84952),u=r(10107),c=(r(44208),r(87811),r(36005)),p=r(40608),d=r(43937),h=r(46130),y=r(5443),m=r(54239),f=r(16930),g=r(60694),v=r(10873),b=r(83898);var w=r(20655),S=r(80812),M=r(88788),_=r(91682),x=r(26121);const A=e=>{let t=class extends e{constructor(){super(...arguments),this.spatialReference=null,this.fullExtent=null,this.heightModelInfo=null,this.minScale=0,this.maxScale=0,this.version={major:Number.NaN,minor:Number.NaN,versionString:""},this.copyright=null,this.sublayerTitleMode="item-title",this.title=null,this.layerId=null,this.indexInfo=null,this._debouncedSaveOperations=(0,a.sg)((async(e,t,r)=>{switch(e){case P.SAVE:return this._save(t);case P.SAVE_AS:return this._saveAs(r,t)}}))}readSpatialReference(e,t){return j(t)}readFullExtent(e,t,r){if(null!=e&&"object"==typeof e){const i=null==e.spatialReference?{...e,spatialReference:j(t)}:e;return y.A.fromJSON(i,r)}const i=t.store,n=j(t);return null==n||null==i?.extent||!Array.isArray(i.extent)||i.extent.some((e=>e<I))?null:new y.A({xmin:i.extent[0],ymin:i.extent[1],xmax:i.extent[2],ymax:i.extent[3],spatialReference:n})}parseVersionString(e){const t={major:Number.NaN,minor:Number.NaN,versionString:e},r=e.split(".");return r.length>=2&&(t.major=parseInt(r[0],10),t.minor=parseInt(r[1],10)),t}readVersion(e,t){const r=t.store,i=null!=r.version?r.version.toString():"";return this.parseVersionString(i)}readTitlePortalItem(e){return"item-title"!==this.sublayerTitleMode?void 0:e}readTitleService(e,t){const r=this.portalItem?.title;if("item-title"===this.sublayerTitleMode)return this.url?(0,g.yG)(this.url,t.name):t.name;let i=t.name;if(!i&&this.url){const e=(0,g.qg)(this.url);null!=e&&(i=e.title)}return"item-title-and-service-name"===this.sublayerTitleMode&&r&&(i=r+" - "+i),(0,g.cr)(i)}set url(e){if(null==e)return void this._set("url",e);const t=(0,g.HZ)({layer:this,url:e,nonStandardUrlAllowed:!1,logger:o.A.getLogger(this)});this._set("url",t.url),null!=t.layerId&&this._set("layerId",t.layerId)}writeUrl(e,t,r,i){(0,g.LS)(this,e,"layers",t,i)}get parsedUrl(){const e=this._get("url"),t=(0,l.An)(e);return t&&null!=this.layerId&&(t.path=`${t.path}/layers/${this.layerId}`),t}async _fetchIndexAndUpdateExtent(e,t){this.indexInfo=(0,b.F)(this.parsedUrl?.path??"",this.rootNode,e,this.customParameters,this.apiKey,o.A.getLogger(this),t),null==this.fullExtent||this.fullExtent.hasZ||this._updateExtent(await this.indexInfo)}_updateExtent(e){if("page"===e?.type){const t=e.rootIndex%e.pageSize,r=e.rootPage?.nodes?.[t];if(null==r?.obb?.center||null==r.obb.halfSize)throw new s.A("sceneservice:invalid-node-page","Invalid node page.");if(r.obb.center[0]<I||null==this.fullExtent||this.fullExtent.hasZ)return;const i=r.obb.halfSize,n=r.obb.center[2],o=Math.sqrt(i[0]*i[0]+i[1]*i[1]+i[2]*i[2]);this.fullExtent.zmin=n-o,this.fullExtent.zmax=n+o}else if("node"===e?.type){const t=e.rootNode?.mbs;if(!Array.isArray(t)||4!==t.length||t[0]<I)return;const r=t[2],i=t[3],{fullExtent:n}=this;n&&(n.zmin=r-i,n.zmax=r+i)}}async _fetchService(e){if(null==this.url)throw new s.A("sceneservice:url-not-set","Scene service can not be loaded without valid portal item or url");if(null==this.layerId&&/SceneServer\/*$/i.test(this.url)){const t=await this._fetchFirstLayerId(e);null!=t&&(this.layerId=t)}return this._fetchServiceLayer(e)}async _fetchFirstLayerId(e){const t=await(0,n.A)(this.url??"",{query:{f:"json",...this.customParameters,token:this.apiKey},responseType:"json",signal:e});if(t.data&&Array.isArray(t.data.layers)&&t.data.layers.length>0)return t.data.layers[0].id}async _fetchServiceLayer(e){const t=await(0,n.A)(this.parsedUrl?.path??"",{query:{f:"json",...this.customParameters,token:this.apiKey},responseType:"json",signal:e});t.ssl&&this.url&&(this.url=this.url.replace(/^http:/i,"https:"));let r=!1;if(t.data.layerType&&"Voxel"===t.data.layerType&&(r=!0),r)return this._fetchVoxelServiceLayer();const i=t.data;this.read(i,this._getServiceContext()),this.validateLayer(i)}async _fetchVoxelServiceLayer(e){const t=(await(0,n.A)(this.parsedUrl?.path+"/layer",{query:{f:"json",...this.customParameters,token:this.apiKey},responseType:"json",signal:e})).data;this.read(t,this._getServiceContext()),this.validateLayer(t)}_getServiceContext(){return{origin:"service",portalItem:this.portalItem,portal:this.portalItem?.portal,url:this.parsedUrl}}async _ensureLoadBeforeSave(){await this.load(),"beforeSave"in this&&"function"==typeof this.beforeSave&&await this.beforeSave()}validateLayer(e){}async _saveAs(e,t){const r={...V,...t};let i=S.default.from(e);if(!i)throw new s.A("sceneservice:portal-item-required","_saveAs() requires a portal item to save to");i.id&&(i=i.clone(),i.id=null);const n=i.portal||w.A.getDefault();await this._ensureLoadBeforeSave(),i.type=R,i.portal=n;const o=(0,M.m)(i,"portal-item",!0),a={layers:[this.write({},o)]};return await Promise.all(o.resources.pendingOperations??[]),await this._validateAgainstJSONSchema(a,o,r),this.url&&(i.url=this.url),i.title||(i.title=this.title),Z(i,r,N.newItem),await n.signIn(),await n.user.addItem({item:i,folder:r?.folder,data:a}),await(0,_.r)(this.resourceReferences,o),this.portalItem=i,(0,h.v)(o),o.portalItem=i,i}async _save(e){const t={...V,...e};if(!this.portalItem)throw new s.A("sceneservice:portal-item-not-set","Portal item to save to has not been set on this SceneService");if(this.portalItem.type!==R)throw new s.A("sceneservice:portal-item-wrong-type",`Portal item needs to have type "${R}"`);await this._ensureLoadBeforeSave();const r=(0,M.m)(this.portalItem,"portal-item",!0),i={layers:[this.write({},r)]};return await Promise.all(r.resources.pendingOperations??[]),await this._validateAgainstJSONSchema(i,r,t),this.url&&(this.portalItem.url=this.url),this.portalItem.title||(this.portalItem.title=this.title),Z(this.portalItem,t,N.existingItem),await(0,_.S)(this.portalItem,i,this.resourceReferences,r),(0,h.v)(r),this.portalItem}async _validateAgainstJSONSchema(e,t,r){const i=r?.validationOptions;(0,x.c)(t,{errorName:"sceneservice:save"},{ignoreUnsupported:i?.ignoreUnsupported,supplementalUnsupportedErrors:["scenemodification:unsupported"]});const n=i?.enabled,a=null;if(n&&a){const t=(await a()).validate(e,r.portalItemLayerType);if(!t.length)return;const n=`Layer item did not validate:\n${t.join("\n")}`;if(o.A.getLogger(this).error(`_validateAgainstJSONSchema(): ${n}`),"throw"===i.failPolicy){const e=t.map((e=>new s.A("sceneservice:schema-validation",e)));throw new s.A("sceneservice-validate:error","Failed to save layer item due to schema validation, see `details.errors`.",{validationErrors:e})}}}};return(0,i._)([(0,u.MZ)(v.id)],t.prototype,"id",void 0),(0,i._)([(0,u.MZ)({type:f.A})],t.prototype,"spatialReference",void 0),(0,i._)([(0,c.w)("spatialReference",["spatialReference","store.indexCRS","store.geographicCRS"])],t.prototype,"readSpatialReference",null),(0,i._)([(0,u.MZ)({type:y.A})],t.prototype,"fullExtent",void 0),(0,i._)([(0,c.w)("fullExtent",["fullExtent","store.extent","spatialReference","store.indexCRS","store.geographicCRS"])],t.prototype,"readFullExtent",null),(0,i._)([(0,u.MZ)({readOnly:!0,type:m.A})],t.prototype,"heightModelInfo",void 0),(0,i._)([(0,u.MZ)({type:Number,json:{name:"layerDefinition.minScale",write:!0,origins:{service:{read:{source:"minScale"},write:!1}}}})],t.prototype,"minScale",void 0),(0,i._)([(0,u.MZ)({type:Number,json:{name:"layerDefinition.maxScale",write:!0,origins:{service:{read:{source:"maxScale"},write:!1}}}})],t.prototype,"maxScale",void 0),(0,i._)([(0,u.MZ)({readOnly:!0})],t.prototype,"version",void 0),(0,i._)([(0,c.w)("version",["store.version"])],t.prototype,"readVersion",null),(0,i._)([(0,u.MZ)({type:String,json:{read:{source:"copyrightText"}}})],t.prototype,"copyright",void 0),(0,i._)([(0,u.MZ)({type:String,json:{read:!1}})],t.prototype,"sublayerTitleMode",void 0),(0,i._)([(0,u.MZ)({type:String})],t.prototype,"title",void 0),(0,i._)([(0,c.w)("portal-item","title")],t.prototype,"readTitlePortalItem",null),(0,i._)([(0,c.w)("service","title",["name"])],t.prototype,"readTitleService",null),(0,i._)([(0,u.MZ)({type:Number,json:{origins:{service:{read:{source:"id"}},"portal-item":{write:{target:"id",isRequired:!0,ignoreOrigin:!0},read:!1}}}})],t.prototype,"layerId",void 0),(0,i._)([(0,u.MZ)(v.OZ)],t.prototype,"url",null),(0,i._)([(0,d.K)("url")],t.prototype,"writeUrl",null),(0,i._)([(0,u.MZ)()],t.prototype,"parsedUrl",null),(0,i._)([(0,u.MZ)({readOnly:!0})],t.prototype,"store",void 0),(0,i._)([(0,u.MZ)({type:String,readOnly:!0,json:{read:{source:"store.rootNode"}}})],t.prototype,"rootNode",void 0),t=(0,i._)([(0,p.$)("esri.layers.mixins.SceneService")],t),t},I=-1e38;function j(e){if(null!=e.spatialReference)return f.A.fromJSON(e.spatialReference);const t=e.store,r=t.indexCRS||t.geographicCRS,i=r&&parseInt(r.slice(r.lastIndexOf("/")+1),10);return null!=i?new f.A(i):null}function Z(e,t,r){e.typeKeywords||(e.typeKeywords=[]);const i=t.getTypeKeywords();for(const t of i)e.typeKeywords.push(t);e.typeKeywords&&(e.typeKeywords=e.typeKeywords.filter(((e,t,r)=>r.indexOf(e)===t)),r===N.newItem&&(e.typeKeywords=e.typeKeywords.filter((e=>"Hosted Service"!==e))))}var N,T;(T=N||(N={}))[T.existingItem=0]="existingItem",T[T.newItem=1]="newItem";const R="Scene Service",V={getTypeKeywords:()=>[],portalItemLayerType:"unknown",validationOptions:{enabled:!0,ignoreUnsupported:!1,failPolicy:"throw"}};var P;!function(e){e[e.SAVE=0]="SAVE",e[e.SAVE_AS=1]="SAVE_AS"}(P||(P={}))},62885:(e,t,r)=>{r.d(t,{H:()=>s,V:()=>n});var i=r(5503);function n(e,t,r=i.A){return t||(t=new r),t===e||(t.removeAll(),(n=e)&&(Array.isArray(n)||"items"in n&&Array.isArray(n.items))?t.addMany(e):e&&t.add(e)),t;var n}function s(e){return e}},67026:(e,t,r)=>{r.d(t,{A6:()=>m,Xd:()=>c,Xr:()=>h,hZ:()=>g,lw:()=>p,t2:()=>Z,x8:()=>u});var i=r(29242),n=r(82534),s=r(51850),o=r(34304),a=r(38954),l=r(87317);function u(e,t,r){r*=.5;const i=Math.sin(r);return e[0]=i*t[0],e[1]=i*t[1],e[2]=i*t[2],e[3]=Math.cos(r),e}function c(e,t){const r=2*Math.acos(t[3]),i=Math.sin(r/2);return i>(0,o.FD)()?(e[0]=t[0]/i,e[1]=t[1]/i,e[2]=t[2]/i):(e[0]=1,e[1]=0,e[2]=0),r}function p(e,t,r){const i=t[0],n=t[1],s=t[2],o=t[3],a=r[0],l=r[1],u=r[2],c=r[3];return e[0]=i*c+o*a+n*u-s*l,e[1]=n*c+o*l+s*a-i*u,e[2]=s*c+o*u+i*l-n*a,e[3]=o*c-i*a-n*l-s*u,e}function d(e,t,r,i){const n=t[0],s=t[1],a=t[2],l=t[3];let u,c,p,d,h,y=r[0],m=r[1],f=r[2],g=r[3];return c=n*y+s*m+a*f+l*g,c<0&&(c=-c,y=-y,m=-m,f=-f,g=-g),1-c>(0,o.FD)()?(u=Math.acos(c),p=Math.sin(u),d=Math.sin((1-i)*u)/p,h=Math.sin(i*u)/p):(d=1-i,h=i),e[0]=d*n+h*y,e[1]=d*s+h*m,e[2]=d*a+h*f,e[3]=d*l+h*g,e}function h(e,t){return e[0]=-t[0],e[1]=-t[1],e[2]=-t[2],e[3]=t[3],e}function y(e,t){const r=t[0]+t[4]+t[8];let i;if(r>0)i=Math.sqrt(r+1),e[3]=.5*i,i=.5/i,e[0]=(t[5]-t[7])*i,e[1]=(t[6]-t[2])*i,e[2]=(t[1]-t[3])*i;else{let r=0;t[4]>t[0]&&(r=1),t[8]>t[3*r+r]&&(r=2);const n=(r+1)%3,s=(r+2)%3;i=Math.sqrt(t[3*r+r]-t[3*n+n]-t[3*s+s]+1),e[r]=.5*i,i=.5/i,e[3]=(t[3*n+s]-t[3*s+n])*i,e[n]=(t[3*n+r]+t[3*r+n])*i,e[s]=(t[3*s+r]+t[3*r+s])*i}return e}function m(e,t,r,i){const n=.5*Math.PI/180;t*=n,r*=n,i*=n;const s=Math.sin(t),o=Math.cos(t),a=Math.sin(r),l=Math.cos(r),u=Math.sin(i),c=Math.cos(i);return e[0]=s*l*c-o*a*u,e[1]=o*a*c+s*l*u,e[2]=o*l*u-s*a*c,e[3]=o*l*c+s*a*u,e}const f=l.c,g=l.s,v=l.g,b=p,w=l.b,S=l.h,M=l.l,_=l.j,x=_,A=l.f,I=A,j=l.n,Z=l.a,N=l.e,T=(0,s.vt)(),R=(0,s.fA)(1,0,0),V=(0,s.fA)(0,1,0),P=(0,n.vt)(),E=(0,n.vt)(),U=(0,i.vt)();Object.freeze(Object.defineProperty({__proto__:null,add:v,calculateW:function(e,t){const r=t[0],i=t[1],n=t[2];return e[0]=r,e[1]=i,e[2]=n,e[3]=Math.sqrt(Math.abs(1-r*r-i*i-n*n)),e},conjugate:h,copy:f,dot:S,equals:N,exactEquals:Z,fromEuler:m,fromMat3:y,getAxisAngle:c,identity:function(e){return e[0]=0,e[1]=0,e[2]=0,e[3]=1,e},invert:function(e,t){const r=t[0],i=t[1],n=t[2],s=t[3],o=r*r+i*i+n*n+s*s,a=o?1/o:0;return e[0]=-r*a,e[1]=-i*a,e[2]=-n*a,e[3]=s*a,e},len:x,length:_,lerp:M,mul:b,multiply:p,normalize:j,random:function(e){const t=o.Ov,r=t(),i=t(),n=t(),s=Math.sqrt(1-r),a=Math.sqrt(r);return e[0]=s*Math.sin(2*Math.PI*i),e[1]=s*Math.cos(2*Math.PI*i),e[2]=a*Math.sin(2*Math.PI*n),e[3]=a*Math.cos(2*Math.PI*n),e},rotateX:function(e,t,r){r*=.5;const i=t[0],n=t[1],s=t[2],o=t[3],a=Math.sin(r),l=Math.cos(r);return e[0]=i*l+o*a,e[1]=n*l+s*a,e[2]=s*l-n*a,e[3]=o*l-i*a,e},rotateY:function(e,t,r){r*=.5;const i=t[0],n=t[1],s=t[2],o=t[3],a=Math.sin(r),l=Math.cos(r);return e[0]=i*l-s*a,e[1]=n*l+o*a,e[2]=s*l+i*a,e[3]=o*l-n*a,e},rotateZ:function(e,t,r){r*=.5;const i=t[0],n=t[1],s=t[2],o=t[3],a=Math.sin(r),l=Math.cos(r);return e[0]=i*l+n*a,e[1]=n*l-i*a,e[2]=s*l+o*a,e[3]=o*l-s*a,e},rotationTo:function(e,t,r){const i=(0,a.f)(t,r);return i<-.999999?((0,a.e)(T,R,t),(0,a.I)(T)<1e-6&&(0,a.e)(T,V,t),(0,a.n)(T,T),u(e,T,Math.PI),e):i>.999999?(e[0]=0,e[1]=0,e[2]=0,e[3]=1,e):((0,a.e)(T,t,r),e[0]=T[0],e[1]=T[1],e[2]=T[2],e[3]=1+i,j(e,e))},scale:w,set:g,setAxes:function(e,t,r,i){const n=U;return n[0]=r[0],n[3]=r[1],n[6]=r[2],n[1]=i[0],n[4]=i[1],n[7]=i[2],n[2]=-t[0],n[5]=-t[1],n[8]=-t[2],j(e,y(e,n))},setAxisAngle:u,slerp:d,sqlerp:function(e,t,r,i,n,s){return d(P,t,n,s),d(E,r,i,s),d(e,P,E,2*s*(1-s)),e},sqrLen:I,squaredLength:A,str:function(e){return"quat("+e[0]+", "+e[1]+", "+e[2]+", "+e[3]+")"}},Symbol.toStringTag,{value:"Module"}))},68197:(e,t,r)=>{r.d(t,{A:()=>p});var i,n,s=r(40876),o=r(34727),a=r(56507);function l(e){return(0,o.qE)((0,a.Vr)(e),0,255)}function u(e,t,r){return e=Number(e),isNaN(e)?r:e<t?t:e>r?r:e}function c(e,t){const r=e.toString(16).padStart(2,"0");return t?r.slice(0,1):r}class p{static blendColors(e,t,r,i=new p){return i.r=Math.round(e.r+(t.r-e.r)*r),i.g=Math.round(e.g+(t.g-e.g)*r),i.b=Math.round(e.b+(t.b-e.b)*r),i.a=e.a+(t.a-e.a)*r,i._sanitize()}static fromRgb(e,t){const r=e.toLowerCase().match(/^(rgba?|hsla?)\(([\s.\-,%0-9]+)\)/);if(r){const e=r[2].split(/\s*,\s*/),i=r[1];if("rgb"===i&&3===e.length||"rgba"===i&&4===e.length){const r=e[0];if("%"===r.charAt(r.length-1)){const r=e.map((e=>2.56*parseFloat(e)));return 4===e.length&&(r[3]=parseFloat(e[3])),p.fromArray(r,t)}return p.fromArray(e.map((e=>parseFloat(e))),t)}if("hsl"===i&&3===e.length||"hsla"===i&&4===e.length)return p.fromArray((0,s.z$)(parseFloat(e[0]),parseFloat(e[1])/100,parseFloat(e[2])/100,parseFloat(e[3])),t)}return null}static fromHex(e,t=new p){if("#"!==e[0]||isNaN(Number(`0x${e.slice(1)}`)))return null;switch(e.length){case 4:case 5:{const r=parseInt(e.slice(1,2),16),i=parseInt(e.slice(2,3),16),n=parseInt(e.slice(3,4),16),s=5===e.length?15:parseInt(e.slice(4),16);return p.fromArray([r+16*r,i+16*i,n+16*n,(s+16*s)/255],t)}case 7:case 9:{const r=parseInt(e.slice(1,3),16),i=parseInt(e.slice(3,5),16),n=parseInt(e.slice(5,7),16),s=7===e.length?255:parseInt(e.slice(7),16);return p.fromArray([r,i,n,s/255],t)}default:return null}}static fromArray(e,t=new p){return t._set(Number(e[0]),Number(e[1]),Number(e[2]),Number(e[3])),isNaN(t.a)&&(t.a=1),t._sanitize()}static fromString(e,t){const r=(0,s.V6)(e)?(0,s.TS)(e):null;return r&&p.fromArray(r,t)||p.fromRgb(e,t)||p.fromHex(e,t)}static fromJSON(e){return null!=e?new p([e[0],e[1],e[2],(e[3]??255)/255]):void 0}static toUnitRGB(e){return null!=e?[e.r/255,e.g/255,e.b/255]:null}static toUnitRGBA(e){return null!=e?[e.r/255,e.g/255,e.b/255,null!=e.a?e.a:1]:null}constructor(e){this.r=255,this.g=255,this.b=255,this.a=1,e&&this.setColor(e)}get isBright(){return.299*this.r+.587*this.g+.114*this.b>=127}setColor(e){return"string"==typeof e?p.fromString(e,this):Array.isArray(e)?p.fromArray(e,this):(this._set(e.r??0,e.g??0,e.b??0,e.a??1),e instanceof p||this._sanitize()),this}toRgb(){return[this.r,this.g,this.b]}toRgba(){return[this.r,this.g,this.b,this.a]}toHex(e){const t=e?.capitalize??!1,r=e?.digits??6,i=3===r||4===r,n=4===r||8===r,s=`#${c(this.r,i)}${c(this.g,i)}${c(this.b,i)}${n?c(Math.round(255*this.a),i):""}`;return t?s.toUpperCase():s}toCss(e=!1){const t=this.r+", "+this.g+", "+this.b;return e?`rgba(${t}, ${this.a})`:`rgb(${t})`}toString(){return this.toCss(!0)}toJSON(){return this.toArray()}toArray(e=p.AlphaMode.ALWAYS){const t=l(this.r),r=l(this.g),i=l(this.b);return e===p.AlphaMode.ALWAYS||1!==this.a?[t,r,i,l(255*this.a)]:[t,r,i]}clone(){return new p(this.toRgba())}hash(){return this.r<<24|this.g<<16|this.b<<8|255*this.a}equals(e){return null!=e&&e.r===this.r&&e.g===this.g&&e.b===this.b&&e.a===this.a}_sanitize(){return this.r=Math.round(u(this.r,0,255)),this.g=Math.round(u(this.g,0,255)),this.b=Math.round(u(this.b,0,255)),this.a=u(this.a,0,1),this}_set(e,t,r,i){this.r=e,this.g=t,this.b=r,this.a=i}}p.prototype.declaredClass="esri.Color",(n=(i=p).AlphaMode||(i.AlphaMode={}))[n.ALWAYS=0]="ALWAYS",n[n.UNLESS_OPAQUE=1]="UNLESS_OPAQUE"},69052:(e,t,r)=>{r.d(t,{ie:()=>a});var i=r(34727);class n{constructor(e,t){this.min=e,this.max=t,this.range=t-e}normalize(e,t=0,r=!1){return s(this.range,this.min,this.max,e,t,r)}clamp(e,t=0){return(0,i.qE)(e-t,this.min,this.max)+t}monotonic(e,t,r){return e<t?t:t+o(this.range,e-t,r)}minimalMonotonic(e,t,r){return s(this.range,e,e+this.range,t,r)}center(e,t,r){return t=this.monotonic(e,t,r),this.normalize((e+t)/2,r)}diff(e,t,r){return this.monotonic(e,t,r)-e}shortestSignedDiff(e,t){e=this.normalize(e);const r=(t=this.normalize(t))-e,i=t<e?this.minimalMonotonic(e,t)-e:t-this.minimalMonotonic(t,e);return Math.abs(r)<Math.abs(i)?r:i}contains(e,t,r){return t=this.minimalMonotonic(e,t),(r=this.minimalMonotonic(e,r))>e&&r<t}}function s(e,t,r,i,n=0,s=!1){return(i-=n)<t?i+=o(e,t-i):i>r&&(i-=o(e,i-r)),s&&i===r&&(i=t),i+n}function o(e,t,r=0){return Math.ceil((t-r)/e)*e+r}new n(0,2*Math.PI),new n(-Math.PI,Math.PI);const a=new n(0,360)},69208:(e,t,r)=>{r.d(t,{d:()=>o});var i=r(90237),n=r(10107),s=(r(44208),r(53966),r(87811),r(40608));const o=e=>{let t=class extends e{constructor(){super(...arguments),this.customParameters=null}};return(0,i._)([(0,n.MZ)({type:Object,json:{write:{overridePolicy:e=>({enabled:!!(e&&Object.keys(e).length>0)})}}})],t.prototype,"customParameters",void 0),t=(0,i._)([(0,s.$)("esri.layers.mixins.CustomParametersMixin")],t),t}},69540:(e,t,r)=>{r.d(t,{A:()=>d});var i=r(90237),n=r(69622),s=(r(44208),r(4718)),o=(r(53966),r(97768)),a=r(35666),l=r(88620),u=r(40608);const c=e=>{let t=class extends e{clone(){const e=(0,l.oY)(this);(0,o.Lw)(e,"unable to clone instance of non-accessor class");const t=e.metadata,r=e.store,i={},n=new Map;for(const e in t){const o=t[e],l=r?.originOf(e),u=o.clonable;if(o.readOnly||!1===u||l!==a.Gr.USER&&l!==a.Gr.DEFAULTS&&l!==a.Gr.WEB_MAP&&l!==a.Gr.WEB_SCENE)continue;const c=this[e];let p=null;p="function"==typeof u?u(c):"reference"===u?c:(0,s.TU)(c),null!=c&&null==p||(l===a.Gr.DEFAULTS?n.set(e,p):i[e]=p)}const u=new(0,Object.getPrototypeOf(this).constructor)(i);if(n.size){const e=(0,l.oY)(u)?.store;if(e)for(const[t,r]of n)e.set(t,r,a.Gr.DEFAULTS)}return u}};return t=(0,i._)([(0,u.$)("esri.core.Clonable")],t),t};let p=class extends(c(n.A)){};p=(0,i._)([(0,u.$)("esri.core.Clonable")],p),(p||(p={})).ClonableMixin=c;const d=p},73133:(e,t,r)=>{r.d(t,{j:()=>i});const i=(0,r(66552).O)()({esriTimeUnitsMilliseconds:"milliseconds",esriTimeUnitsSeconds:"seconds",esriTimeUnitsMinutes:"minutes",esriTimeUnitsHours:"hours",esriTimeUnitsDays:"days",esriTimeUnitsWeeks:"weeks",esriTimeUnitsMonths:"months",esriTimeUnitsYears:"years",esriTimeUnitsDecades:"decades",esriTimeUnitsCenturies:"centuries",esriTimeUnitsUnknown:void 0})},76553:(e,t,r)=>{function i(e){return e&&"getAtOrigin"in e&&"originOf"in e}r.d(t,{H:()=>i})},79677:(e,t,r)=>{r.d(t,{A:()=>h});var i,n=r(90237),s=r(25482),o=r(88930),a=r(10107),l=(r(44208),r(53966),r(87811),r(36005)),u=r(40608),c=r(43937),p=r(98623);let d=class extends s.A{static{i=this}static get allTime(){return y}static get empty(){return m}static fromArray(e){return new i({start:null!=e[0]?new Date(e[0]):e[0],end:null!=e[1]?new Date(e[1]):e[1]})}constructor(e){super(e),this.end=null,this.start=null}readEnd(e,t){return null!=t.end?new Date(t.end):null}writeEnd(e,t){t.end=e?.getTime()??null}get isAllTime(){return this.equals(i.allTime)}get isEmpty(){return this.equals(i.empty)}readStart(e,t){return null!=t.start?new Date(t.start):null}writeStart(e,t){t.start=e?.getTime()??null}clone(){return new i({end:this.end,start:this.start})}equals(e){if(!e)return!1;const t=this.start?.getTime()??this.start,r=this.end?.getTime()??this.end,i=e.start?.getTime()??e.start,n=e.end?.getTime()??e.end;return t===i&&r===n}expandTo(e,t=p.qU){if(this.isEmpty||this.isAllTime)return this.clone();let r=this.start;r&&(r=(0,o.lL)(r,e,t));let n=this.end;if(n){const r=(0,o.lL)(n,e,t);n=n.getTime()===r.getTime()?r:(0,o.S1)(r,1,e,t)}return new i({start:r,end:n})}intersection(e){if(!e)return this.clone();if(this.isEmpty||e.isEmpty)return i.empty;if(this.isAllTime)return e.clone();if(e.isAllTime)return this.clone();const t=this.start?.getTime()??-1/0,r=this.end?.getTime()??1/0,n=e.start?.getTime()??-1/0,s=e.end?.getTime()??1/0;let o,a;return n>=t&&n<=r?o=n:t>=n&&t<=s&&(o=t),r>=n&&r<=s?a=r:s>=t&&s<=r&&(a=s),null==o||null==a||isNaN(o)||isNaN(a)?i.empty:new i({start:o===-1/0?null:new Date(o),end:a===1/0?null:new Date(a)})}offset(e,t,r=p.qU){if(this.isEmpty||this.isAllTime)return this.clone();const n=new i,{start:s,end:a}=this;return null!=s&&(n.start=(0,o.S1)(s,e,t,r)),null!=a&&(n.end=(0,o.S1)(a,e,t,r)),n}toArray(){return this.isEmpty?[void 0,void 0]:[this.start?.getTime()??null,this.end?.getTime()??null]}union(e){if(!e||e.isEmpty)return this.clone();if(this.isEmpty)return e.clone();if(this.isAllTime||e.isAllTime)return y.clone();const t=null!=this.start&&null!=e.start?new Date(Math.min(this.start.getTime(),e.start.getTime())):null,r=null!=this.end&&null!=e.end?new Date(Math.max(this.end.getTime(),e.end.getTime())):null;return new i({start:t,end:r})}};(0,n._)([(0,a.MZ)({type:Date,json:{write:{allowNull:!0}}})],d.prototype,"end",void 0),(0,n._)([(0,l.w)("end")],d.prototype,"readEnd",null),(0,n._)([(0,c.K)("end")],d.prototype,"writeEnd",null),(0,n._)([(0,a.MZ)({readOnly:!0,json:{read:!1}})],d.prototype,"isAllTime",null),(0,n._)([(0,a.MZ)({readOnly:!0,json:{read:!1}})],d.prototype,"isEmpty",null),(0,n._)([(0,a.MZ)({type:Date,json:{write:{allowNull:!0}}})],d.prototype,"start",void 0),(0,n._)([(0,l.w)("start")],d.prototype,"readStart",null),(0,n._)([(0,c.K)("start")],d.prototype,"writeStart",null),d=i=(0,n._)([(0,u.$)("esri.time.TimeExtent")],d);const h=d,y=new d,m=new d({start:void 0,end:void 0})},80200:(e,t,r)=>{r.d(t,{T:()=>i,d:()=>m});const i={Base64:0,Hex:1,String:2,Raw:3},n=8,s=(1<<n)-1;function o(e,t){const r=(65535&e)+(65535&t);return(e>>16)+(t>>16)+(r>>16)<<16|65535&r}function a(e){const t=[];for(let r=0,i=e.length*n;r<i;r+=n)t[r>>5]|=(e.charCodeAt(r/n)&s)<<r%32;return t}function l(e){const t=[];for(let r=0,i=32*e.length;r<i;r+=n)t.push(String.fromCharCode(e[r>>5]>>>r%32&s));return t.join("")}function u(e,t,r,i,n,s){return o(function(e,t){return e<<t|e>>>32-t}(o(o(t,e),o(i,s)),n),r)}function c(e,t,r,i,n,s,o){return u(t&r|~t&i,e,t,n,s,o)}function p(e,t,r,i,n,s,o){return u(t&i|r&~i,e,t,n,s,o)}function d(e,t,r,i,n,s,o){return u(t^r^i,e,t,n,s,o)}function h(e,t,r,i,n,s,o){return u(r^(t|~i),e,t,n,s,o)}function y(e,t){e[t>>5]|=128<<t%32,e[14+(t+64>>>9<<4)]=t;let r=1732584193,i=-271733879,n=-1732584194,s=271733878;for(let t=0;t<e.length;t+=16){const a=r,l=i,u=n,y=s;r=c(r,i,n,s,e[t],7,-680876936),s=c(s,r,i,n,e[t+1],12,-389564586),n=c(n,s,r,i,e[t+2],17,606105819),i=c(i,n,s,r,e[t+3],22,-1044525330),r=c(r,i,n,s,e[t+4],7,-176418897),s=c(s,r,i,n,e[t+5],12,1200080426),n=c(n,s,r,i,e[t+6],17,-1473231341),i=c(i,n,s,r,e[t+7],22,-45705983),r=c(r,i,n,s,e[t+8],7,1770035416),s=c(s,r,i,n,e[t+9],12,-1958414417),n=c(n,s,r,i,e[t+10],17,-42063),i=c(i,n,s,r,e[t+11],22,-1990404162),r=c(r,i,n,s,e[t+12],7,1804603682),s=c(s,r,i,n,e[t+13],12,-40341101),n=c(n,s,r,i,e[t+14],17,-1502002290),i=c(i,n,s,r,e[t+15],22,1236535329),r=p(r,i,n,s,e[t+1],5,-165796510),s=p(s,r,i,n,e[t+6],9,-1069501632),n=p(n,s,r,i,e[t+11],14,643717713),i=p(i,n,s,r,e[t],20,-373897302),r=p(r,i,n,s,e[t+5],5,-701558691),s=p(s,r,i,n,e[t+10],9,38016083),n=p(n,s,r,i,e[t+15],14,-660478335),i=p(i,n,s,r,e[t+4],20,-405537848),r=p(r,i,n,s,e[t+9],5,568446438),s=p(s,r,i,n,e[t+14],9,-1019803690),n=p(n,s,r,i,e[t+3],14,-187363961),i=p(i,n,s,r,e[t+8],20,1163531501),r=p(r,i,n,s,e[t+13],5,-1444681467),s=p(s,r,i,n,e[t+2],9,-51403784),n=p(n,s,r,i,e[t+7],14,1735328473),i=p(i,n,s,r,e[t+12],20,-1926607734),r=d(r,i,n,s,e[t+5],4,-378558),s=d(s,r,i,n,e[t+8],11,-2022574463),n=d(n,s,r,i,e[t+11],16,1839030562),i=d(i,n,s,r,e[t+14],23,-35309556),r=d(r,i,n,s,e[t+1],4,-1530992060),s=d(s,r,i,n,e[t+4],11,1272893353),n=d(n,s,r,i,e[t+7],16,-155497632),i=d(i,n,s,r,e[t+10],23,-1094730640),r=d(r,i,n,s,e[t+13],4,681279174),s=d(s,r,i,n,e[t],11,-358537222),n=d(n,s,r,i,e[t+3],16,-722521979),i=d(i,n,s,r,e[t+6],23,76029189),r=d(r,i,n,s,e[t+9],4,-640364487),s=d(s,r,i,n,e[t+12],11,-421815835),n=d(n,s,r,i,e[t+15],16,530742520),i=d(i,n,s,r,e[t+2],23,-995338651),r=h(r,i,n,s,e[t],6,-198630844),s=h(s,r,i,n,e[t+7],10,1126891415),n=h(n,s,r,i,e[t+14],15,-1416354905),i=h(i,n,s,r,e[t+5],21,-57434055),r=h(r,i,n,s,e[t+12],6,1700485571),s=h(s,r,i,n,e[t+3],10,-1894986606),n=h(n,s,r,i,e[t+10],15,-1051523),i=h(i,n,s,r,e[t+1],21,-2054922799),r=h(r,i,n,s,e[t+8],6,1873313359),s=h(s,r,i,n,e[t+15],10,-30611744),n=h(n,s,r,i,e[t+6],15,-1560198380),i=h(i,n,s,r,e[t+13],21,1309151649),r=h(r,i,n,s,e[t+4],6,-145523070),s=h(s,r,i,n,e[t+11],10,-1120210379),n=h(n,s,r,i,e[t+2],15,718787259),i=h(i,n,s,r,e[t+9],21,-343485551),r=o(r,a),i=o(i,l),n=o(n,u),s=o(s,y)}return[r,i,n,s]}function m(e,t=i.Hex){const r=t||i.Base64,s=y(a(e),e.length*n);switch(r){case i.Raw:return s;case i.Hex:return function(e){const t="0123456789abcdef",r=[];for(let i=0,n=4*e.length;i<n;i++)r.push(t.charAt(e[i>>2]>>i%4*8+4&15)+t.charAt(e[i>>2]>>i%4*8&15));return r.join("")}(s);case i.String:return l(s);case i.Base64:return function(e){const t=[];for(let r=0,i=4*e.length;r<i;r+=3){const i=(e[r>>2]>>r%4*8&255)<<16|(e[r+1>>2]>>(r+1)%4*8&255)<<8|e[r+2>>2]>>(r+2)%4*8&255;for(let n=0;n<4;n++)8*r+6*n>32*e.length?t.push("="):t.push("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(i>>6*(3-n)&63))}return t.join("")}(s)}}},82534:(e,t,r)=>{function i(){return[0,0,0,1]}function n(e){return[e[0],e[1],e[2],e[3]]}r.d(t,{o8:()=>n,vt:()=>i,zK:()=>s});const s=[0,0,0,1];Object.freeze(Object.defineProperty({__proto__:null,IDENTITY:s,clone:n,create:i,fromValues:function(e,t,r,i){return[e,t,r,i]}},Symbol.toStringTag,{value:"Module"}))},83898:(e,t,r)=>{r.d(t,{F:()=>s});var i=r(78888),n=r(49186);async function s(e,t,r,s,o,a,l){let u=null;if(null!=r){const t=`${e}/nodepages/`,n=t+Math.floor(r.rootIndex/r.nodesPerPage);try{return{type:"page",rootPage:(await(0,i.A)(n,{query:{f:"json",...s,token:o},responseType:"json",signal:l})).data,rootIndex:r.rootIndex,pageSize:r.nodesPerPage,lodMetric:r.lodSelectionMetricType,urlPrefix:t}}catch(e){null!=a&&a.warn("#fetchIndexInfo()","Failed to load root node page. Falling back to node documents.",n,e),u=e}}if(!t)return null;const c=t?.split("/").pop(),p=`${e}/nodes/`,d=p+c;try{return{type:"node",rootNode:(await(0,i.A)(d,{query:{f:"json",...s,token:o},responseType:"json",signal:l})).data,urlPrefix:p}}catch(e){throw new n.A("sceneservice:root-node-missing","Root node missing.",{pageError:u,nodeError:e,url:d})}}},85648:(e,t,r)=>{r.d(t,{n:()=>n});var i=r(84952);function n(e){return s[function(e){return"json"===e.type?"application/json":"blob"===e.type?e.blob.type:function(e){const t=(0,i.Zo)(e);return l[t]||o}(e.url)}(e)]||a}const s={},o="text/plain",a=s[o],l={png:"image/png",jpeg:"image/jpeg",jpg:"image/jpg",bmp:"image/bmp",gif:"image/gif",json:"application/json",txt:"text/plain",xml:"application/xml",svg:"image/svg+xml",zip:"application/zip",pbf:"application/vnd.mapbox-vector-tile",gz:"application/gzip","bin.gz":"application/octet-stream"};for(const e in l)s[l[e]]=e},87024:(e,t,r)=>{r.d(t,{P:()=>h});var i=r(49186),n=r(80200),s=r(76553),o=r(84952),a=r(13069),l=r(96156),u=r(35666),c=r(10107),p=r(85648),d=r(97159);function h(e){const t=e?.origins??[void 0];return(r,i)=>{const n=function(e,t,r){if("resource"===e?.type)return function(e,t,r){const i=(0,l.z4)(t,r);return{type:String,read:(e,t,r)=>{const n=(0,d.r)(e,t,r);return i.type===String?n:"function"==typeof i.type?new i.type({url:n}):void 0},write:{isRequired:i.json?.write?.isRequired,writer(t,n,a,l){if(!l?.resources)return"string"==typeof t?void(n[a]=(0,d.t)(t,l)):void(n[a]=t.write({},l));const c=function(e){return null==e?null:"string"==typeof e?e:e.url}(t),h=(0,d.t)(c,{...l,verifyItemRelativeUrls:l?.verifyItemRelativeUrls?{writtenUrls:l.verifyItemRelativeUrls.writtenUrls,rootPath:void 0}:void 0},d.M.NO),g=i.type!==String&&(!(0,s.H)(this)||l?.origin&&this.originIdOf(r)>(0,u.aB)(l.origin)),v={object:this,propertyName:r,value:t,targetUrl:h,dest:n,targetPropertyName:a,context:l,params:e};l?.portalItem&&h&&!(0,o.oP)(h)?g&&e?.contentAddressed?y(v):g?function(e){const{context:t,targetUrl:r,params:i,value:n,dest:s,targetPropertyName:a}=e;if(!t.portalItem)return;const l=t.portalItem.resourceFromPath(r),u=f(n,r,t),c=(0,p.n)(u),d=(0,o.Zo)(l.path),h=i?.compress??!1;c===d?(t.resources&&m({...e,resource:l,content:u,compress:h,updates:t.resources.toUpdate}),s[a]=r):y(e)}(v):function({context:e,targetUrl:t,dest:r,targetPropertyName:i}){e.portalItem&&e.resources&&(e.resources.toKeep.push({resource:e.portalItem.resourceFromPath(t),compress:!1}),r[i]=t)}(v):l?.portalItem&&(null==h||null!=(0,d.i)(h)||(0,o.w8)(h)||g)?y(v):n[a]=h}}}}(e,t,r);switch(e?.type??"other"){case"other":return{read:!0,write:!0};case"url":{const{read:e,write:t}=d.b;return{read:e,write:t}}}}(e,r,i);for(const e of t){const t=(0,c.rM)(r,e,i);for(const e in n)t[e]=n[e]}}}function y(e){const{targetUrl:t,params:r,value:s,context:l,dest:u,targetPropertyName:c}=e;if(!l.portalItem)return;const h=(0,d.p)(t),y=f(s,t,l);if(r?.contentAddressed&&"json"!==y.type)return void l.messages?.push(new i.A("persistable:contentAddressingUnsupported",`Property "${c}" is trying to serializing a resource with content of type ${y.type} with content addressing. Content addressing is only supported for json resources.`,{content:y}));const g=r?.contentAddressed&&"json"===y.type?(0,n.d)(y.jsonString):h?.filename??(0,a.lk)(),v=(0,o.fj)(r?.prefix??h?.prefix,g),b=`${v}.${(0,p.n)(y)}`;if(r?.contentAddressed&&l.resources&&"json"===y.type){const e=l.resources.toKeep.find((({resource:e})=>e.path===b))??l.resources.toAdd.find((({resource:e})=>e.path===b));if(e)return void(u[c]=e.resource.itemRelativeUrl)}const w=l.portalItem.resourceFromPath(b);(0,o.w8)(t)&&l.resources&&l.resources.pendingOperations.push((0,o.tk)(t).then((e=>{w.path=`${v}.${(0,p.n)({type:"blob",blob:e})}`,u[c]=w.itemRelativeUrl})).catch((()=>{})));const S=r?.compress??!1;l.resources&&m({...e,resource:w,content:y,compress:S,updates:l.resources.toAdd}),u[c]=w.itemRelativeUrl}function m({object:e,propertyName:t,updates:r,resource:i,content:n,compress:s}){r.push({resource:i,content:n,compress:s,finish:r=>{!function(e,t,r){"string"==typeof e[t]?e[t]=r.url:e[t].url=r.url}(e,t,r)}})}function f(e,t,r){return"string"==typeof e?{type:"url",url:t}:{type:"json",jsonString:JSON.stringify(e.toJSON(r))}}},88788:(e,t,r)=>{r.d(t,{m:()=>o,v:()=>s});var i=r(84952),n=r(20655);function s(e,t){return{...a(e,t),readResourcePaths:[]}}function o(e,t,r){const n=(0,i.An)(e.itemUrl);return{...a(e,t),messages:[],writtenProperties:[],blockedRelativeUrls:[],verifyItemRelativeUrls:n?{rootPath:n.path,writtenUrls:[]}:null,resources:r?{toAdd:[],toUpdate:[],toKeep:[],pendingOperations:[]}:null}}function a(e,t){return{origin:t,url:(0,i.An)(e.itemUrl),portal:e.portal||n.A.getDefault(),portalItem:e}}},91682:(e,t,r)=>{r.d(t,{S:()=>l,r:()=>a});var i=r(49186),n=r(74887),s=r(13069),o=r(15804);async function a(e,t,r){const i=await u(e,t,r);await c(i,t,r)}async function l(e,t,r,i,n){const s=await u(r,i,n);await e.update({data:t}),await c(s,i,n)}async function u(e,t,a){if(!t?.resources)return;const l=t.portalItem===e.portalItem?new Set(e.paths):new Set;e.paths.length=0,e.portalItem=t.portalItem;const u=new Set(t.resources.toKeep.map((e=>e.resource.path))),c=new Set,p=[];u.forEach((t=>{l.delete(t),e.paths.push(t)}));const d=[],h=[],y=[];for(const r of t.resources.toUpdate)if(l.delete(r.resource.path),u.has(r.resource.path)||c.has(r.resource.path)){const{resource:t,content:i,finish:n}=r,a=(0,o.bg)(t,(0,s.lk)());e.paths.push(a.path),d.push({resource:a,content:await(0,o.cL)(i),compress:r.compress}),n&&y.push((()=>n(a)))}else{e.paths.push(r.resource.path),h.push({resource:r.resource,content:await(0,o.cL)(r.content),compress:r.compress});const t=r.finish;t&&y.push((()=>t(r.resource))),c.add(r.resource.path)}for(const r of t.resources.toAdd)if(e.paths.push(r.resource.path),l.has(r.resource.path))l.delete(r.resource.path);else{d.push({resource:r.resource,content:await(0,o.cL)(r.content),compress:r.compress});const e=r.finish;e&&y.push((()=>e(r.resource)))}if(d.length||h.length){const{addOrUpdateResources:e}=await Promise.resolve().then(r.bind(r,15804));await e(t.portalItem,d,"add",a),await e(t.portalItem,h,"update",a)}if(y.forEach((e=>e())),0===p.length)return l;const m=await(0,n.Ol)(p);if((0,n.Te)(a),m.length>0)throw new i.A("save:resources","Failed to save one or more resources",{errors:m});return l}async function c(e,t,r){if(!e||!t.portalItem)return;const i=[];for(const n of e){const e=t.portalItem.resourceFromPath(n);i.push(e.portalItem.removeResource(e,r))}await(0,n.Lx)(i)}},92071:(e,t,r)=>{r.d(t,{P:()=>b,L:()=>w});var i=r(90237),n=r(69622),s=r(76953),o=r(4718),a=r(35666);class l{constructor(){this._propertyOriginMap=new Map,this._originStores=new Array(a.AU),this._values=new Map,this.multipleOriginsSupported=!0}clone(e){const t=new l,r=this._originStores[a.Gr.DEFAULTS];r&&r.forEach(((e,r)=>{t.set(r,(0,o.o8)(e),a.Gr.DEFAULTS)}));for(let r=a.Gr.SERVICE;r<a.AU;r++){const i=this._originStores[r];i&&i.forEach(((i,n)=>{e&&e.has(n)||t.set(n,(0,o.o8)(i),r)}))}return t}get(e,t){const r=void 0===t?this._values:this._originStores[t];return r?r.get(e):void 0}keys(e){const t=null==e?this._values:this._originStores[e];return t?[...t.keys()]:[]}set(e,t,r=a.Gr.USER){let i=this._originStores[r];if(i||(i=new Map,this._originStores[r]=i),i.set(e,t),!this._values.has(e)||this._propertyOriginMap.get(e)<=r){const i=this._values.get(e);return this._values.set(e,t),this._propertyOriginMap.set(e,r),i!==t}return!1}delete(e,t=a.Gr.USER){const r=this._originStores[t];if(!r)return;const i=r.get(e);if(r.delete(e),this._values.has(e)&&this._propertyOriginMap.get(e)===t){this._values.delete(e);for(let r=t-1;r>=0;r--){const t=this._originStores[r];if(t&&t.has(e)){this._values.set(e,t.get(e)),this._propertyOriginMap.set(e,r);break}}}return i}has(e,t){const r=void 0===t?this._values:this._originStores[t];return!!r&&r.has(e)}revert(e,t){for(;t>0&&!this.has(e,t);)--t;const r=this._originStores[t],i=r?.get(e),n=this._values.get(e);return this._values.set(e,i),this._propertyOriginMap.set(e,t),n!==i}originOf(e){return this._propertyOriginMap.get(e)||a.Gr.DEFAULTS}forEach(e){this._values.forEach(e)}}var u=r(45917),c=r(88620),p=r(40608);const d=e=>{let t=class extends e{constructor(...e){super(...e);const t=(0,c.oY)(this),r=t.store,i=new l;t.store=i,(0,s.k)(t,r,i)}read(e,t){(0,u.L)(this,e,t)}getAtOrigin(e,t){const r=h(this),i=(0,a.aB)(t);if("string"==typeof e)return r.get(e,i);const n={};return e.forEach((e=>{n[e]=r.get(e,i)})),n}originOf(e){return(0,a.OL)(this.originIdOf(e))}originIdOf(e){return h(this).originOf(e)}revert(e,t){const r=h(this),i=(0,a.aB)(t),n=(0,c.oY)(this);let s;s="string"==typeof e?"*"===e?r.keys(i):[e]:e,s.forEach((e=>{n.invalidate(e),r.revert(e,i),n.commit(e)}))}};return t=(0,i._)([(0,p.$)("esri.core.ReadOnlyMultiOriginJSONSupport")],t),t};function h(e){return(0,c.oY)(e).store}let y=class extends(d(n.A)){};y=(0,i._)([(0,p.$)("esri.core.ReadOnlyMultiOriginJSONSupport")],y);var m=r(16649),f=r(49422);const g=e=>{let t=class extends e{constructor(...e){super(...e)}clear(e,t="user"){return v(this).delete(e,(0,a.aB)(t))}write(e,t){return(0,f.M)(this,e=e||{},t),e}setAtOrigin(e,t,r){(0,c.oY)(this).setAtOrigin(e,t,(0,a.aB)(r))}removeOrigin(e){const t=v(this),r=(0,a.aB)(e),i=t.keys(r);for(const e of i)t.originOf(e)===r&&t.set(e,t.get(e,r),a.Gr.USER)}updateOrigin(e,t){const r=v(this),i=(0,a.aB)(t),n=(0,m.Jt)(this,e);for(let t=i+1;t<a.AU;++t)r.delete(e,t);r.set(e,n,i)}toJSON(e){return this.write({},e)}};return t=(0,i._)([(0,p.$)("esri.core.MultiOriginJSONSupport.WriteableMultiOriginJSONSupport")],t),t.prototype.toJSON.isDefaultToJSON=!0,t};function v(e){return(0,c.oY)(e).store}const b=e=>{let t=class extends(g(d(e))){constructor(...e){super(...e)}};return t=(0,i._)([(0,p.$)("esri.core.MultiOriginJSONSupport")],t),t};let w=class extends(b(n.A)){};w=(0,i._)([(0,p.$)("esri.core.MultiOriginJSONSupport")],w)},96184:(e,t,r)=>{r.d(t,{A:()=>m});var i=r(90237),n=r(69540),s=r(25482),o=r(10107),a=(r(44208),r(53966),r(87811),r(36005)),l=r(40608),u=r(43937),c=r(79677),p=r(10184),d=r(56400);function h(e,t){return p.A.fromJSON({value:e,unit:t})}let y=class extends(n.A.ClonableMixin(s.A)){constructor(e){super(e),this.cumulative=!1,this.endField=null,this.fullTimeExtent=null,this.hasLiveData=!1,this.interval=null,this.startField=null,this.timeZone=null,this.trackIdField=null,this.useTime=!0,this.stops=null}readFullTimeExtent(e,t){return t.timeExtent&&Array.isArray(t.timeExtent)&&2===t.timeExtent.length?c.A.fromArray(t.timeExtent):null}writeFullTimeExtent(e,t){null!=e?.start&&null!=e.end?t.timeExtent=e.toArray():t.timeExtent=null}readInterval(e,t){return t.timeInterval&&t.timeIntervalUnits?h(t.timeInterval,t.timeIntervalUnits):t.defaultTimeInterval&&t.defaultTimeIntervalUnits?h(t.defaultTimeInterval,t.defaultTimeIntervalUnits):null}writeInterval(e,t){t.timeInterval=e?.toJSON().value??null,t.timeIntervalUnits=e?.toJSON().unit??null}};(0,i._)([(0,o.MZ)({type:Boolean,json:{name:"exportOptions.timeDataCumulative",write:!0}})],y.prototype,"cumulative",void 0),(0,i._)([(0,o.MZ)({type:String,json:{name:"endTimeField",write:{enabled:!0,allowNull:!0}}})],y.prototype,"endField",void 0),(0,i._)([(0,o.MZ)({type:c.A,json:{write:{enabled:!0,allowNull:!0}}})],y.prototype,"fullTimeExtent",void 0),(0,i._)([(0,a.w)("fullTimeExtent",["timeExtent"])],y.prototype,"readFullTimeExtent",null),(0,i._)([(0,u.K)("fullTimeExtent")],y.prototype,"writeFullTimeExtent",null),(0,i._)([(0,o.MZ)({type:Boolean,json:{write:!0}})],y.prototype,"hasLiveData",void 0),(0,i._)([(0,o.MZ)({type:p.A,json:{write:{enabled:!0,allowNull:!0}}})],y.prototype,"interval",void 0),(0,i._)([(0,a.w)("interval",["timeInterval","timeIntervalUnits","defaultTimeInterval","defaultTimeIntervalUnits"])],y.prototype,"readInterval",null),(0,i._)([(0,u.K)("interval")],y.prototype,"writeInterval",null),(0,i._)([(0,o.MZ)({type:String,json:{name:"startTimeField",write:{enabled:!0,allowNull:!0}}})],y.prototype,"startField",void 0),(0,i._)([(0,o.MZ)((0,d.P6)("timeReference",!0))],y.prototype,"timeZone",void 0),(0,i._)([(0,o.MZ)({type:String,json:{write:{enabled:!0,allowNull:!0}}})],y.prototype,"trackIdField",void 0),(0,i._)([(0,o.MZ)({type:Boolean,json:{name:"exportOptions.useTime",write:!0}})],y.prototype,"useTime",void 0),(0,i._)([(0,o.MZ)({type:[Date],json:{read:!1}})],y.prototype,"stops",void 0),y=(0,i._)([(0,l.$)("esri.layers.support.TimeInfo")],y);const m=y}}]);
1
+ "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[5804,6183],{4146:(e,t,r)=>{r.d(t,{A:()=>w});var i=r(90237),n=r(78888),s=r(49186),o=r(65529),a=r(4902),l=r(92474),u=r(53966),c=r(74887),p=r(84952),d=r(10107),h=(r(44208),r(87811),r(40608)),y=r(5443),m=r(16930),f=r(92602),g=r(79677);let v=0,b=class extends(o.A.EventedMixin(a.A.IdentifiableMixin(l.A))){constructor(){super(...arguments),this.attributionDataUrl=null,this.fullExtent=new y.A(-180,-90,180,90,m.A.WGS84),this.id=Date.now().toString(16)+"-layer-"+v++,this.legendEnabled=!0,this.listMode="show",this.opacity=1,this.parent=null,this.persistenceEnabled=!1,this.popupEnabled=!0,this.attributionVisible=!0,this.spatialReference=m.A.WGS84,this.title=null,this.type=null,this.url=null,this.visibilityTimeExtent=null,this.visible=!0}static async fromArcGISServerUrl(e){const t="string"==typeof e?{url:e}:e;return(await r.e(7982).then(r.bind(r,27982))).fromUrl(t)}static fromPortalItem(e){return async function(e){const t="portalItem"in e?e:{portalItem:e},{fromItem:i}=await r.e(5613).then(r.bind(r,45613));try{return await i(t)}catch(e){const r=t?.portalItem,i=r?.id||"unset",n=r?.portal?.url||f.A.portalUrl;throw u.A.getLogger("esri.layers.support.fromPortalItem").error("#fromPortalItem()","Failed to create layer from portal item (portal: '"+n+"', id: '"+i+"')",e),e}}(e)}initialize(){this.when().catch((e=>{(0,c.zf)(e)||u.A.getLogger(this).error("#load()",`Failed to load layer (title: '${this.title??"no title"}', id: '${this.id??"no id"}')`,{error:e})}))}destroy(){const e=this.parent;if(e){const t=this;"layers"in e&&e.layers.includes(t)?e.layers.remove(t):"tables"in e&&e.tables.includes(t)?e.tables.remove(t):"baseLayers"in e&&e.baseLayers.includes(t)?e.baseLayers.remove(t):"referenceLayers"in e&&e.referenceLayers.includes(t)&&e.referenceLayers.remove(t),this._set("parent",null)}}get effectiveVisible(){let e=this.visible;const t=this.parent;return e&&t&&"effectiveVisible"in t&&(e&&=t.effectiveVisible),e}get hasAttributionData(){return null!=this.attributionDataUrl}get parsedUrl(){return(0,p.An)(this.url)}createLayerView(e,t){return Promise.reject(new s.A("layer:create-layer-view","Layer does not support creating a layer view"))}async fetchAttributionData(){const e=this.attributionDataUrl;if(this.hasAttributionData&&e)return(await(0,n.A)(e,{query:{f:"json"},responseType:"json"})).data;throw new s.A("layer:no-attribution-data","Layer does not have attribution data")}};(0,i._)([(0,d.MZ)({type:String})],b.prototype,"attributionDataUrl",void 0),(0,i._)([(0,d.MZ)({readOnly:!0})],b.prototype,"effectiveVisible",null),(0,i._)([(0,d.MZ)({type:y.A})],b.prototype,"fullExtent",void 0),(0,i._)([(0,d.MZ)({readOnly:!0})],b.prototype,"hasAttributionData",null),(0,i._)([(0,d.MZ)({type:String,clonable:!1})],b.prototype,"id",void 0),(0,i._)([(0,d.MZ)({type:Boolean,nonNullable:!0})],b.prototype,"legendEnabled",void 0),(0,i._)([(0,d.MZ)({type:["show","hide","hide-children"]})],b.prototype,"listMode",void 0),(0,i._)([(0,d.MZ)({type:Number,range:{min:0,max:1},nonNullable:!0})],b.prototype,"opacity",void 0),(0,i._)([(0,d.MZ)({clonable:!1})],b.prototype,"parent",void 0),(0,i._)([(0,d.MZ)({readOnly:!0})],b.prototype,"parsedUrl",null),(0,i._)([(0,d.MZ)({type:Boolean,readOnly:!0})],b.prototype,"persistenceEnabled",void 0),(0,i._)([(0,d.MZ)({type:Boolean})],b.prototype,"popupEnabled",void 0),(0,i._)([(0,d.MZ)({type:Boolean})],b.prototype,"attributionVisible",void 0),(0,i._)([(0,d.MZ)({type:m.A})],b.prototype,"spatialReference",void 0),(0,i._)([(0,d.MZ)({type:String})],b.prototype,"title",void 0),(0,i._)([(0,d.MZ)({readOnly:!0,json:{read:!1}})],b.prototype,"type",void 0),(0,i._)([(0,d.MZ)()],b.prototype,"url",void 0),(0,i._)([(0,d.MZ)({type:g.A})],b.prototype,"visibilityTimeExtent",void 0),(0,i._)([(0,d.MZ)({type:Boolean,nonNullable:!0})],b.prototype,"visible",void 0),b=(0,i._)([(0,h.$)("esri.layers.Layer")],b);const w=b},8303:(e,t,r)=>{r.d(t,{A:()=>M});var i=r(90237),n=r(92602),s=r(70333),o=r(78888),a=r(60999),l=r(49186),u=r(53966),c=r(97768),p=r(74887),d=r(84952),h=r(10107),y=(r(44208),r(87811),r(36005)),m=r(40608),f=r(43937),g=r(83531),v=r(20655),b=r(80812),w=r(41318),S=r(10407);const M=e=>{let t=class extends e{constructor(){super(...arguments),this.resourceReferences={portalItem:null,paths:[]},this.userHasEditingPrivileges=!0,this.userHasFullEditingPrivileges=!1,this.userHasUpdateItemPrivileges=!1}destroy(){this.portalItem=(0,c.pR)(this.portalItem),this.resourceReferences.portalItem=null,this.resourceReferences.paths.length=0}set portalItem(e){e!==this._get("portalItem")&&(this.removeOrigin("portal-item"),this._set("portalItem",e))}readPortalItem(e,t,r){if(t.itemId)return new b.default({id:t.itemId,portal:r?.portal})}writePortalItem(e,t){e?.id&&(t.itemId=e.id)}async loadFromPortal(e,t){if(this.portalItem?.id)try{const{load:i}=await r.e(1204).then(r.bind(r,41204));return(0,p.Te)(t),await i({instance:this,supportedTypes:e.supportedTypes,validateItem:e.validateItem,supportsData:e.supportsData,layerModuleTypeMap:e.layerModuleTypeMap,populateGroupLayer:e.populateGroupLayer},t)}catch(e){throw(0,p.zf)(e)||u.A.getLogger(this).warn(`Failed to load layer (${this.title}, ${this.id}) portal item (${this.portalItem.id})\n ${e}`),e}}async finishLoadEditablePortalLayer(e){this._set("userHasEditingPrivileges",await this._fetchUserHasEditingPrivileges(e).catch((e=>((0,p.QP)(e),!0))))}async setUserPrivileges(e,t){if(!n.A.userPrivilegesApplied)return this.finishLoadEditablePortalLayer(t);if(this.url)try{const{features:{edit:r,fullEdit:i},content:{updateItem:n}}=await this._fetchUserPrivileges(e,t);this._set("userHasEditingPrivileges",r),this._set("userHasFullEditingPrivileges",i),this._set("userHasUpdateItemPrivileges",n)}catch(e){(0,p.QP)(e)}}async _fetchUserPrivileges(e,t){let r=this.portalItem;if(!e||!r||!r.loaded||r.sourceUrl)return this._fetchFallbackUserPrivileges(t);const i=!s.id?.findCredential(this.url),n=e===r.id;if(n&&r.portal.user)return this._getUserPrivileges(r,i);let o,a;if(n)o=r.portal.url;else try{o=await(0,g.wI)(this.url,t)}catch(e){(0,p.QP)(e)}if(!o||!(0,d.b8)(o,r.portal.url))return this._fetchFallbackUserPrivileges(t);try{const e=null!=t?t.signal:null;a=await(s.id?.getCredential(`${o}/sharing`,{prompt:!1,signal:e}))}catch(e){(0,p.QP)(e)}const l=!0,u=!1,c=!1;if(!a)return{features:{edit:l,fullEdit:u},content:{updateItem:c}};try{if(n?await r.reload():(r=new b.default({id:e,portal:{url:o}}),await r.load(t)),r.portal.user)return this._getUserPrivileges(r,i)}catch(e){(0,p.QP)(e)}return{features:{edit:l,fullEdit:u},content:{updateItem:c}}}_getUserPrivileges(e,t){const r=(0,S.It)(e);return t&&(r.features.edit=!0),r}async _fetchFallbackUserPrivileges(e){let t=!0;try{t=await this._fetchUserHasEditingPrivileges(e)}catch(e){(0,p.QP)(e)}return{features:{edit:t,fullEdit:!1},content:{updateItem:!1}}}async _fetchUserHasEditingPrivileges(e){const t=this.url?s.id?.findCredential(this.url):null;if(!t)return!0;const r=_.credential===t?_.user:await this._fetchEditingUser(e);return _.credential=t,_.user=r,null==r?.privileges||r.privileges.includes("features:user:edit")}async _fetchEditingUser(e){const t=this.portalItem?.portal?.user;if(t)return t;const r=s.id?.findServerInfo(this.url??"");if(!r?.owningSystemUrl)return null;const i=`${r.owningSystemUrl}/sharing/rest`,n=v.A.getDefault();if(n&&n.loaded&&(0,d.S8)(n.restUrl)===(0,d.S8)(i))return n.user;const l=`${i}/community/self`,u=null!=e?e.signal:null,c=await(0,a.Ke)((0,o.A)(l,{authMode:"no-prompt",query:{f:"json"},signal:u}));return c.ok?w.A.fromJSON(c.value.data):null}read(e,t){t&&(t.layer=this),super.read(e,t)}write(e,t){const r=t?.portal,i=this.portalItem?.id&&(this.portalItem.portal||v.A.getDefault());return r&&i&&!(0,d.ut)(i.restUrl,r.restUrl)?(t.messages&&t.messages.push(new l.A("layer:cross-portal",`The layer '${this.title} (${this.id})' cannot be persisted because it refers to an item on a different portal than the one being saved to. To save, set layer.portalItem to null or save to the same portal as the item associated with the layer`,{layer:this})),null):super.write(e,{...t,layer:this})}};return(0,i._)([(0,h.MZ)({type:b.default})],t.prototype,"portalItem",null),(0,i._)([(0,y.w)("web-document","portalItem",["itemId"])],t.prototype,"readPortalItem",null),(0,i._)([(0,f.K)("web-document","portalItem",{itemId:{type:String}})],t.prototype,"writePortalItem",null),(0,i._)([(0,h.MZ)({clonable:!1})],t.prototype,"resourceReferences",void 0),(0,i._)([(0,h.MZ)({type:Boolean,readOnly:!0})],t.prototype,"userHasEditingPrivileges",void 0),(0,i._)([(0,h.MZ)({type:Boolean,readOnly:!0})],t.prototype,"userHasFullEditingPrivileges",void 0),(0,i._)([(0,h.MZ)({type:Boolean,readOnly:!0})],t.prototype,"userHasUpdateItemPrivileges",void 0),t=(0,i._)([(0,m.$)("esri.layers.mixins.PortalLayer")],t),t},_={credential:null,user:null}},10184:(e,t,r)=>{r.d(t,{A:()=>d});var i=r(90237),n=r(69540),s=r(25482),o=r(88930),a=r(10107),l=(r(44208),r(53966),r(87811),r(93223)),u=r(40608),c=r(73133);let p=class extends(n.A.ClonableMixin(s.A)){constructor(e){super(e),this.unit="milliseconds",this.value=0}toMilliseconds(){return(0,o.t)(this.value,this.unit,"milliseconds")}};(0,i._)([(0,l.e)(c.j,{nonNullable:!0})],p.prototype,"unit",void 0),(0,i._)([(0,a.MZ)({type:Number,json:{write:!0},nonNullable:!0})],p.prototype,"value",void 0),p=(0,i._)([(0,u.$)("esri.time.TimeInterval")],p);const d=p},13069:(e,t,r)=>{r.d(t,{AG:()=>a,lk:()=>n,vD:()=>o,yS:()=>s});const i="randomUUID"in crypto;function n(){if(i)return crypto.randomUUID();const e=crypto.getRandomValues(new Uint16Array(8));e[3]=4095&e[3]|16384,e[4]=16383&e[4]|32768;const t=t=>e[t].toString(16).padStart(4,"0");return t(0)+t(1)+"-"+t(2)+"-"+t(3)+"-"+t(4)+"-"+t(5)+t(6)+t(7)}function s(){return`{${n().toUpperCase()}}`}function o(){return`{${n()}}`}function a(e){const t=e.toUpperCase();return"{"!==e[0]?`{${t}}`:t}},15804:(e,t,r)=>{r.d(t,{addOrUpdateResources:()=>a,bg:()=>d,cL:()=>p,fetchResources:()=>o,removeAllResources:()=>u,removeResource:()=>l});var i=r(78888),n=r(49186),s=r(84952);async function o(e,t={},r){await e.load(r);const i=(0,s.fj)(e.itemUrl,"resources"),{start:n=1,num:o=10,sortOrder:a="asc",sortField:l="resource"}=t,u={query:{start:n,num:o,sortOrder:a,sortField:l,token:e.apiKey},signal:r?.signal},c=await e.portal.request(i,u);return{total:c.total,nextStart:c.nextStart,resources:c.resources.map((({created:t,size:r,resource:i})=>({created:new Date(t),size:r,resource:e.resourceFromPath(i)})))}}async function a(e,t,r,i){const o=new Map;for(const{resource:e,content:i,compress:s,access:a}of t){if(!e.hasPath())throw new n.A(`portal-item-resource-${r}:invalid-path`,"Resource does not have a valid path");const[t,l]=c(e.path),u=`${t}/${s??""}/${a??""}`;o.has(u)||o.set(u,{prefix:t,compress:s,access:a,files:[]}),o.get(u).files.push({fileName:l,content:i})}await e.load(i);const a=(0,s.fj)(e.userItemUrl,"add"===r?"addResources":"updateResources");for(const{prefix:t,compress:r,access:n,files:s}of o.values()){const o=25;for(let l=0;l<s.length;l+=o){const u=s.slice(l,l+o),c=new FormData;t&&"."!==t&&c.append("resourcesPrefix",t),r&&c.append("compress","true"),n&&c.append("access",n);let p=0;for(const{fileName:e,content:t}of u)c.append("file"+ ++p,t,e);c.append("f","json"),await e.portal.request(a,{method:"post",body:c,signal:i?.signal})}}}async function l(e,t,r){if(!t.hasPath())throw new n.A("portal-item-resources-remove:invalid-path","Resource does not have a valid path");await e.load(r);const i=(0,s.fj)(e.userItemUrl,"removeResources");await e.portal.request(i,{method:"post",query:{resource:t.path},signal:r?.signal}),t.portalItem=null}async function u(e,t){await e.load(t);const r=(0,s.fj)(e.userItemUrl,"removeResources");return e.portal.request(r,{method:"post",query:{deleteAll:!0},signal:t?.signal})}function c(e){const t=e.lastIndexOf("/");return-1===t?[".",e]:[e.slice(0,t),e.slice(t+1)]}async function p(e){return"blob"===e.type?e.blob:"json"===e.type?new Blob([e.jsonString],{type:"application/json"}):(await(0,i.A)(e.url,{responseType:"blob"})).data}function d(e,t){if(!e.hasPath())return null;const[r,,i]=function(e){const[t,r]=function(e){const t=(0,s.Zo)(e);return null==t?[e,""]:[e.slice(0,e.length-t.length-1),`.${t}`]}(e),[i,n]=c(t);return[i,n,r]}(e.path);return e.portalItem.resourceFromPath((0,s.fj)(r,t+i))}},16183:(e,t,r)=>{r.r(t),r.d(t,{default:()=>Ye});var i=r(90237),n=r(13874),s=r(5503),o=r(49186),a=r(53966),l=r(92071),u=r(74887),c=r(10107),p=r(56507),d=(r(44208),r(87811),r(36005)),h=r(40608),y=r(38954),m=r(51850),f=r(5443),g=r(4146),v=r(52136),b=r(18768),w=r(69208),S=r(16131),M=r(8303),_=r(25036),x=r(58947),A=r(60694),I=r(10873),j=r(20437),Z=r(95466),N=r(96184),T=r(69540),R=r(69052),V=r(25482),P=r(87024),O=r(67026),E=r(82534),U=r(34304);const z=(0,m.vt)(),L=(0,E.vt)(),F=(0,E.vt)(),q=(0,E.vt)(),D=(0,m.fA)(0,0,1),$=(0,m.fA)(0,1,0),C=(0,m.fA)(1,0,0);function B(e){(0,y.c)(z,e),(0,y.n)(z,z);const t=Math.atan2(z[1],z[0]),r=(0,O.x8)((0,E.vt)(),D,-t);(0,y.w)(z,z,r);const i=-1*Math.atan2(z[2],z[0]);return[(0,U.ct)(t)+270,(0,U.ct)(i)+90]}function k(e,t){return(0,O.x8)(F,D,(0,U.DF)(e-270)),(0,O.x8)(q,$,(0,U.DF)(t-90)),(0,O.lw)(L,F,q),(0,y.c)(z,C),(0,y.w)(z,z,L),(0,y.n)(z,z),[z[0],z[1],z[2]]}var K=r(79901);let H=class extends(T.A.ClonableMixin(V.A)){constructor(e){super(e),this.enabled=!0,this.label="",this.normal=null,this.point=null}get orientation(){if(!Array.isArray(this.normal)||3!==this.normal.length)return 0;const[e,t]=B(this.normal);return R.ie.normalize((0,p.GB)(e),0,!0)}set orientation(e){const t=k(e,this.tilt);this._set("normal",t),this._set("orientation",e)}get tilt(){if(!Array.isArray(this.normal)||3!==this.normal.length)return 0;const[e,t]=B(this.normal);return R.ie.normalize((0,p.GB)(t),0,!0)}set tilt(e){const t=k(this.orientation,e);this._set("normal",t),this._set("tilt",e)}};(0,i._)([(0,c.MZ)({type:Boolean,json:{write:!0}})],H.prototype,"enabled",void 0),(0,i._)([(0,c.MZ)({type:String,json:{write:!0}})],H.prototype,"label",void 0),(0,i._)([(0,c.MZ)({type:Number,json:{read:!1},clonable:!1,range:{min:0,max:360}}),(0,K.w)((e=>R.ie.normalize((0,p.GB)(e),0,!0)))],H.prototype,"orientation",null),(0,i._)([(0,c.MZ)({type:Number,json:{read:!1},clonable:!1,range:{min:0,max:360}}),(0,K.w)((e=>R.ie.normalize((0,p.GB)(e),0,!0)))],H.prototype,"tilt",null),(0,i._)([(0,c.MZ)({type:[Number],json:{write:{isRequired:!0}}})],H.prototype,"normal",void 0),(0,i._)([(0,c.MZ)({type:[Number],json:{write:{isRequired:!0}}})],H.prototype,"point",void 0),H=(0,i._)([(0,h.$)("esri.layers.voxel.VoxelSlice")],H);const G=H;var J=r(97159);let W=class extends(T.A.ClonableMixin(V.A)){constructor(){super(...arguments),this.enabled=!0,this.href=null,this.id=null,this.label="",this.normal=null,this.point=null,this.sizeInPixel=null,this.slices=null,this.timeId=0,this.variableId=null}get orientation(){if(!Array.isArray(this.normal)||3!==this.normal.length)return 0;const[e,t]=B(this.normal);return R.ie.normalize((0,p.GB)(e),0,!0)}get tilt(){if(!Array.isArray(this.normal)||3!==this.normal.length)return 0;const[e,t]=B(this.normal);return R.ie.normalize((0,p.GB)(t),0,!0)}};(0,i._)([(0,c.MZ)({type:Boolean,json:{default:!0,write:!0}})],W.prototype,"enabled",void 0),(0,i._)([(0,c.MZ)({type:String,json:{origins:{service:{read:J.r},"web-scene":{write:{isRequired:!0}}},write:!0}}),(0,P.P)({origins:["web-scene"],type:"resource",prefix:"sections",compress:!0})],W.prototype,"href",void 0),(0,i._)([(0,c.MZ)({type:p.jz,json:{write:{enabled:!0,isRequired:!0}}})],W.prototype,"id",void 0),(0,i._)([(0,c.MZ)({type:String,json:{write:!0}})],W.prototype,"label",void 0),(0,i._)([(0,c.MZ)({type:Number,clonable:!1,readOnly:!0,range:{min:0,max:360}})],W.prototype,"orientation",null),(0,i._)([(0,c.MZ)({type:Number,clonable:!1,readOnly:!0,range:{min:0,max:360}})],W.prototype,"tilt",null),(0,i._)([(0,c.MZ)({type:[Number],json:{write:{enabled:!0,isRequired:!0}}})],W.prototype,"normal",void 0),(0,i._)([(0,c.MZ)({type:[Number],json:{write:{enabled:!0,isRequired:!0}}})],W.prototype,"point",void 0),(0,i._)([(0,c.MZ)({type:[p.jz],json:{write:{enabled:!0,isRequired:!0}}})],W.prototype,"sizeInPixel",void 0),(0,i._)([(0,c.MZ)({type:[G],json:{write:!0}})],W.prototype,"slices",void 0),(0,i._)([(0,c.MZ)({type:p.jz,json:{default:0,write:!0}})],W.prototype,"timeId",void 0),(0,i._)([(0,c.MZ)({type:p.jz,json:{write:{enabled:!0,isRequired:!0}}})],W.prototype,"variableId",void 0),W=(0,i._)([(0,h.$)("esri.layers.voxel.VoxelSection")],W);const Y=W;let Q=class extends V.A{constructor(){super(...arguments),this.diffuseFactor=.5,this.specularFactor=.5}};(0,i._)([(0,c.MZ)({type:Number,range:{min:0,max:1},json:{default:.5,write:!0}})],Q.prototype,"diffuseFactor",void 0),(0,i._)([(0,c.MZ)({type:Number,range:{min:0,max:1},json:{default:.5,write:!0}})],Q.prototype,"specularFactor",void 0),Q=(0,i._)([(0,h.$)("esri.layers.voxel.VoxelSimpleShading")],Q);const X=Q;let ee=class extends V.A{constructor(){super(...arguments),this.continuity=null,this.hasNoData=!1,this.noData=0,this.offset=0,this.scale=1,this.type=null}};(0,i._)([(0,c.MZ)({type:["discrete","continuous"],json:{write:!0}})],ee.prototype,"continuity",void 0),(0,i._)([(0,c.MZ)({type:Boolean,json:{write:!0}})],ee.prototype,"hasNoData",void 0),(0,i._)([(0,c.MZ)({type:Number,json:{write:!0}})],ee.prototype,"noData",void 0),(0,i._)([(0,c.MZ)({type:Number,json:{write:!0}})],ee.prototype,"offset",void 0),(0,i._)([(0,c.MZ)({type:Number,json:{write:!0}})],ee.prototype,"scale",void 0),(0,i._)([(0,c.MZ)({type:String,json:{write:{enabled:!0,isRequired:!0}}})],ee.prototype,"type",void 0),ee=(0,i._)([(0,h.$)("esri.layers.voxel.VoxelFormat")],ee);const te=ee;let re=class extends V.A{constructor(){super(...arguments),this.id=null,this.description="",this.name=null,this.originalFormat=null,this.renderingFormat=null,this.unit="",this.volumeId=0,this.type=null}};(0,i._)([(0,c.MZ)({type:Number,json:{write:{enabled:!0,isRequired:!0}}})],re.prototype,"id",void 0),(0,i._)([(0,c.MZ)({type:String,json:{write:!0}})],re.prototype,"description",void 0),(0,i._)([(0,c.MZ)({type:String,json:{write:{enabled:!0,isRequired:!0}}})],re.prototype,"name",void 0),(0,i._)([(0,c.MZ)({type:te,json:{write:!0}})],re.prototype,"originalFormat",void 0),(0,i._)([(0,c.MZ)({type:te,json:{write:{enabled:!0,isRequired:!0}}})],re.prototype,"renderingFormat",void 0),(0,i._)([(0,c.MZ)({type:String,json:{write:!0}})],re.prototype,"unit",void 0),(0,i._)([(0,c.MZ)({type:Number,json:{write:!0}})],re.prototype,"volumeId",void 0),(0,i._)([(0,c.MZ)({type:["stc-hot-spot-results","stc-cluster-outlier-results","stc-estimated-bin","generic-nearest-interpolated"],json:{write:!0}})],re.prototype,"type",void 0),re=(0,i._)([(0,h.$)("esri.layers.voxel.VoxelVariable")],re);const ie=re;var ne=r(4718),se=r(68197);let oe=class extends(T.A.ClonableMixin(V.A)){constructor(){super(...arguments),this.color=se.A.fromArray([0,0,0,0]),this.value=0,this.enabled=!0,this.label="",this.colorLocked=!1}};(0,i._)([(0,c.MZ)({type:se.A,json:{type:[p.jz],write:{enabled:!0,isRequired:!0}}})],oe.prototype,"color",void 0),(0,i._)([(0,c.MZ)({type:Number,json:{write:{enabled:!0,isRequired:!0}}})],oe.prototype,"value",void 0),(0,i._)([(0,c.MZ)({type:Boolean,json:{default:!0,write:!0}})],oe.prototype,"enabled",void 0),(0,i._)([(0,c.MZ)({type:String,json:{write:!0}})],oe.prototype,"label",void 0),(0,i._)([(0,c.MZ)({type:Boolean,json:{default:!1,write:!0}})],oe.prototype,"colorLocked",void 0),oe=(0,i._)([(0,h.$)("esri.layers.voxel.VoxelIsosurface")],oe);const ae=oe;var le=r(62885),ue=r(34727);let ce=class extends(T.A.ClonableMixin(V.A)){constructor(){super(...arguments),this.color=null,this.position=0}};(0,i._)([(0,c.MZ)({type:se.A,json:{type:[p.jz],write:{enabled:!0,isRequired:!0}}})],ce.prototype,"color",void 0),(0,i._)([(0,c.MZ)({type:Number,json:{write:{enabled:!0,isRequired:!0}}})],ce.prototype,"position",void 0),ce=(0,i._)([(0,h.$)("esri.layers.voxel.VoxelColorStop")],ce);const pe=ce;let de=class extends(T.A.ClonableMixin(V.A)){constructor(){super(...arguments),this.opacity=1,this.position=0}};(0,i._)([(0,c.MZ)({type:Number,json:{name:"alpha",write:{enabled:!0,isRequired:!0}}})],de.prototype,"opacity",void 0),(0,i._)([(0,c.MZ)({type:Number,json:{write:{enabled:!0,isRequired:!0}}})],de.prototype,"position",void 0),de=(0,i._)([(0,h.$)("esri.layers.voxel.VoxelOpacityStop")],de);const he=de;let ye=class extends(T.A.ClonableMixin(V.A)){constructor(){super(...arguments),this.enabled=!1,this.range=null}};(0,i._)([(0,c.MZ)({type:Boolean,json:{default:!1,write:!0}})],ye.prototype,"enabled",void 0),(0,i._)([(0,c.MZ)({type:[Number],json:{write:{isRequired:!0}}})],ye.prototype,"range",void 0),ye=(0,i._)([(0,h.$)("esri.layers.voxel.VoxelRangeFilter")],ye);const me=ye;var fe,ge;(ge=fe||(fe={}))[ge.Color=1]="Color",ge[ge.Alpha=2]="Alpha",ge[ge.Both=3]="Both";let ve=class extends(T.A.ClonableMixin(V.A)){constructor(e){super(e),this.interpolation=null,this.stretchRange=null,this.rangeFilter=null,this._colorMapSize=256,this.colorStops=new(s.A.ofType(pe)),this.opacityStops=new(s.A.ofType(he))}set colorStops(e){this._set("colorStops",(0,le.V)(e,this._get("colorStops"),s.A.ofType(pe)))}set opacityStops(e){this._set("opacityStops",(0,le.V)(e,this._get("opacityStops"),s.A.ofType(he)))}getPreviousNext(e,t,r){let i=e;for(;--i>0&&t[i].type!==r&&t[i].type!==fe.Both;);let n=e;const s=t.length;for(;++n<s&&t[n].type!==r&&t[n].type!==fe.Both;);return[i,n]}get rasterizedTransferFunction(){const e=[];if(this.colorStops.length<2)return e;const t=[],r=[];for(const t of this.colorStops){if(!t.color)return e;r.push({color:{r:t.color.r,g:t.color.g,b:t.color.b,a:Math.round(255*(1-t.color.a))},position:t.position,type:fe.Color})}if(0===this.opacityStops.length)for(const e of r)t.push({color:e.color,position:e.position});else{for(const e of this.opacityStops){const t=(0,ue.qE)(e.position,0,1),i=Math.round(255*(0,ue.qE)(1-e.opacity,0,1));let n=!1;for(const e of r)if(e.type===fe.Color&&Math.abs(e.position-t)<1e-5){e.color.a=i,e.type=fe.Both,n=!0;break}n||r.push({color:{r:0,g:0,b:0,a:i},position:e.position,type:fe.Alpha})}r.sort(((e,t)=>e.position<t.position?-1:1));const e=r.length;for(let t=0;t<e;++t){const i=r[t];if(i.type!==fe.Both)if(i.type===fe.Color){const[n,s]=this.getPreviousNext(t,r,fe.Alpha);if(-1!==n&&s!==e){const e=(i.position-r[n].position)/(r[s].position-r[n].position);i.color.a=Math.round((0,ue.Cc)(r[n].color.a,r[s].color.a,e))}else i.color.a=-1!==n?r[n].color.a:r[s].color.a}else{const[n,s]=this.getPreviousNext(t,r,fe.Color);if(-1!==n&&s!==e){const e=(i.position-r[n].position)/(r[s].position-r[n].position),t=r[n].color,o=r[s].color;we.forEach((r=>{i.color[r]=Math.round((0,ue.Cc)(t[r],o[r],e))}))}else-1!==n?we.forEach((e=>{i.color[e]=r[n].color[e]})):we.forEach((e=>{i.color[e]=r[s].color[e]}))}}for(const e of r)t.push({color:e.color,position:e.position})}t[0].position=0,t[t.length-1].position=1;let i=0,n=1;for(let r=0;r<this._colorMapSize;++r){const s=r/this._colorMapSize;for(;s>t[n].position;)i=n++;const o=(s-t[i].position)/(t[n].position-t[i].position),a=t[i].color,l=t[n].color,u=new se.A;we.forEach((e=>{u[e]=Math.round((0,ue.Cc)(a[e],l[e],o))})),u.a=(0,ue.qE)(1-(0,ue.Cc)(a.a,l.a,o)/255,0,1),e.push(u)}return e}getColorForContinuousDataValue(e,t){const r=this.rasterizedTransferFunction;if(this.colorStops.length<2||!Array.isArray(this.stretchRange)||this.stretchRange.length<2||r.length<256)return null;let i=this.stretchRange[0],n=this.stretchRange[1];if(i>n){const e=i;i=n,n=e}e=(0,ue.qE)(e,i,n);const s=r[Math.round((e-i)/(n-i)*(this._colorMapSize-1))].clone();return t||(s.a=1),s}};(0,i._)([(0,c.MZ)({type:["linear","nearest"],json:{write:!0}})],ve.prototype,"interpolation",void 0),(0,i._)([(0,c.MZ)({type:[Number],json:{write:{enabled:!0,isRequired:!0}}})],ve.prototype,"stretchRange",void 0),(0,i._)([(0,c.MZ)({type:s.A.ofType(pe),json:{write:{enabled:!0,overridePolicy(){return{enabled:!!this.colorStops&&this.colorStops.length>0}}}}})],ve.prototype,"colorStops",null),(0,i._)([(0,c.MZ)({type:s.A.ofType(he),json:{read:{source:"alphaStops"},write:{enabled:!0,target:"alphaStops",overridePolicy(){return{enabled:!!this.opacityStops&&this.opacityStops.length>0}}}}})],ve.prototype,"opacityStops",null),(0,i._)([(0,c.MZ)({type:me,json:{write:!0}})],ve.prototype,"rangeFilter",void 0),(0,i._)([(0,c.MZ)({type:[se.A],clonable:!1,json:{read:!1}})],ve.prototype,"rasterizedTransferFunction",null),ve=(0,i._)([(0,h.$)("esri.layers.voxel.VoxelTransferFunctionStyle")],ve);const be=ve,we=["r","g","b"];let Se=class extends(T.A.ClonableMixin(V.A)){constructor(){super(...arguments),this.color=se.A.fromArray([0,0,0,0]),this.value=0,this.enabled=!0,this.label=""}};(0,i._)([(0,c.MZ)({type:se.A,json:{type:[p.jz],write:{enabled:!0,isRequired:!0}}})],Se.prototype,"color",void 0),(0,i._)([(0,c.MZ)({type:p.jz,json:{write:{enabled:!0,isRequired:!0}}})],Se.prototype,"value",void 0),(0,i._)([(0,c.MZ)({type:Boolean,json:{default:!0,write:!0}})],Se.prototype,"enabled",void 0),(0,i._)([(0,c.MZ)({type:String,json:{write:!0}})],Se.prototype,"label",void 0),Se=(0,i._)([(0,h.$)("esri.layers.voxel.VoxelUniqueValue")],Se);const Me=Se;var _e;let xe=_e=class extends V.A{constructor(e){super(e),this.variableId=0,this.label="",this.transferFunction=null,this.uniqueValues=null,this.isosurfaces=null,this.uniqueValues=new(s.A.ofType(Me)),this.isosurfaces=new(s.A.ofType(ae))}clone(){return new _e({variableId:this.variableId,label:this.label,transferFunction:(0,ne.o8)(this.transferFunction),uniqueValues:(0,ne.o8)(this.uniqueValues),isosurfaces:(0,ne.o8)(this.isosurfaces)})}};(0,i._)([(0,c.MZ)({type:p.jz,json:{write:{enabled:!0,isRequired:!0}}})],xe.prototype,"variableId",void 0),(0,i._)([(0,c.MZ)({type:String,json:{write:!0}})],xe.prototype,"label",void 0),(0,i._)([(0,c.MZ)({type:be,json:{write:{enabled:!0,overridePolicy(){return{enabled:!this.uniqueValues||this.uniqueValues.length<1}}}}})],xe.prototype,"transferFunction",void 0),(0,i._)([(0,c.MZ)({type:s.A.ofType(Me),json:{write:{enabled:!0,overridePolicy(){return{enabled:!!this.uniqueValues&&this.uniqueValues.length>0}}}}})],xe.prototype,"uniqueValues",void 0),(0,i._)([(0,c.MZ)({type:s.A.ofType(ae),json:{write:{enabled:!0,overridePolicy(){const e=!this.uniqueValues||this.uniqueValues.length<1,t=!!this.isosurfaces&&this.isosurfaces.length>0;return{enabled:e&&t}}}}})],xe.prototype,"isosurfaces",void 0),xe=_e=(0,i._)([(0,h.$)("esri.layers.voxel.VoxelVariableStyle")],xe);const Ae=xe;var Ie=r(88930),je=r(86738),Ze=r(16930),Ne=r(21325);function Te(e){const t=/^(days?|hours?|minutes?|seconds?|d|h|m|s) since (\d{1,4})-(\d{1,2})-(\d{1,2})[ |T](\d{1,2}):(\d{1,2}):(\d{1,2})(\.[0-9]+)?[\s|Z]?(([+|\-|\s?])(\d{1,2}):(\d{1,2}))?$/i.exec(e);if(null==t)return{didParse:!1};const[,r,i,n,s,o,a,l,u,c,p,d,h]=t;let y="seconds";const m=r.charAt(0).toLowerCase();"d"===m?y="days":"h"===m?y="hours":"m"===m&&(y="minutes");const f=parseInt(i,10);if(Number.isNaN(f))return{didParse:!1};const g=parseInt(n,10);if(Number.isNaN(g)||g<1||g>12)return{didParse:!1};const v=parseInt(s,10);if(Number.isNaN(v)||v<1||v>31)return{didParse:!1};if(2===g){const e=f%4==0&&(f%100!=0||f%400==0);if(e&&v>29||!e&&v>28)return{didParse:!1}}else if((4===g||6===g||9===g||11===g)&&v>30)return{didParse:!1};const b=parseInt(o,10);if(Number.isNaN(b)||b<0||b>23)return{didParse:!1};const w=parseInt(a,10);if(Number.isNaN(w)||w<0||w>59)return{didParse:!1};const S=parseInt(l,10);if(Number.isNaN(S)||S<0||S>59)return{didParse:!1};let M=1,_=0,x=0;if(p&&(M="-"===p?-1:1),d){if(_=parseInt(d,10),Number.isNaN(_)||_<0)return{didParse:!1};if(0!==_){const e=M*_;if(e<-12||e>14)return{didParse:!1}}}if(h&&(x=parseInt(h,10),Number.isNaN(x)||x<0||x>59))return{didParse:!1};const A=`${f}`.padStart(4,"0"),I=`${g}`.padStart(2,"0"),j=`${v}`.padStart(2,"0"),Z=`${b}`.padStart(2,"0"),N=`${w}`.padStart(2,"0"),T=`${S}`.padStart(2,"0");let R="Z";return 0===_&&0===x||(R=M>0?"+":"-",R+=`${_}`.padStart(2,"0"),R+=":",R+=`${x}`.padStart(2,"0")),{didParse:!0,unit:y,reference:new Date(`${A}-${I}-${j}T${Z}:${N}:${T}.000${R}`)}}let Re=class extends V.A{constructor(){super(...arguments),this.values=null}};(0,i._)([(0,c.MZ)({type:[Number],json:{write:!0}})],Re.prototype,"values",void 0),Re=(0,i._)([(0,h.$)("esri.layers.voxel.VoxelIrregularSpacing")],Re);const Ve=Re;let Pe=class extends V.A{constructor(){super(...arguments),this.scale=1,this.offset=0}};(0,i._)([(0,c.MZ)({type:Number,json:{write:!0}})],Pe.prototype,"scale",void 0),(0,i._)([(0,c.MZ)({type:Number,json:{write:!0}})],Pe.prototype,"offset",void 0),Pe=(0,i._)([(0,h.$)("esri.layers.voxel.VoxelRegularSpacing")],Pe);const Oe=Pe;let Ee=class extends V.A{constructor(){super(...arguments),this.irregularSpacing=null,this.isPositiveUp=!0,this.isWrappedDateLine=!1,this.label=null,this.name=null,this.quantity=null,this.regularSpacing=null,this.size=0,this.unit=null}get isRegular(){return(null==this.irregularSpacing||void 0===this.irregularSpacing)&&null!==this.regularSpacing}getRange(){return this.isRegular?[this.regularSpacing.offset,this.regularSpacing.offset+this.regularSpacing.scale*(this.size-1)]:Array.isArray(this.irregularSpacing?.values)&&this.irregularSpacing.values.length>1?[this.irregularSpacing.values[0],this.irregularSpacing.values[this.irregularSpacing.values.length-1]]:[0,0]}};(0,i._)([(0,c.MZ)({type:Ve,json:{write:!0}})],Ee.prototype,"irregularSpacing",void 0),(0,i._)([(0,c.MZ)({type:Boolean,json:{write:!0}})],Ee.prototype,"isPositiveUp",void 0),(0,i._)([(0,c.MZ)({type:Boolean,json:{write:!0}})],Ee.prototype,"isWrappedDateLine",void 0),(0,i._)([(0,c.MZ)({type:String,json:{write:!0}})],Ee.prototype,"label",void 0),(0,i._)([(0,c.MZ)({type:String,json:{write:!0}})],Ee.prototype,"name",void 0),(0,i._)([(0,c.MZ)({type:String,json:{write:!0}})],Ee.prototype,"quantity",void 0),(0,i._)([(0,c.MZ)({type:Oe,json:{write:!0}})],Ee.prototype,"regularSpacing",void 0),(0,i._)([(0,c.MZ)({type:Number,json:{write:!0}})],Ee.prototype,"size",void 0),(0,i._)([(0,c.MZ)({type:String,json:{write:!0}})],Ee.prototype,"unit",void 0),(0,i._)([(0,c.MZ)({type:Boolean,json:{read:!1}})],Ee.prototype,"isRegular",null),Ee=(0,i._)([(0,h.$)("esri.layers.voxel.VoxelDimension")],Ee);const Ue=Ee;let ze=class extends V.A{constructor(e){super(e),this.id=0,this.dimensions=null,this.spatialReference=Ze.A.WGS84}get zDimension(){if(!this.dimensions)return-1;if(!Array.isArray(this.dimensions))return-1;if(4!==this.dimensions.length)return-1;for(let e=2;e<4;++e)if(this.dimensions[e].size>0)return e;return-1}get isValid(){return!(!this.dimensions||!Array.isArray(this.dimensions)||4!==this.dimensions.length||this.dimensions[0].size<1||this.dimensions[1].size<1||-1===this.zDimension||this.dimensions[this.zDimension].size<1)}get originInLayerSpace3D(){if(!this.isValid||"xyt"===this.volumeType)return[0,0,0];const e=this.dimensions[0].getRange(),t=this.dimensions[1].getRange(),r=this.dimensions[2],i=r.isRegular?r.getRange():[0,r.size];return[e[0],t[0],i[0]]}get voxelSizeInLayerSpaceSigned(){if(!this.isValid||"xyt"===this.volumeType)return[0,0,0];const e=this.dimensions[0].getRange(),t=this.dimensions[1].getRange(),r=this.dimensions[2],i=r.isRegular?r.getRange():[0,r.size],n=[this.sizeInVoxels[0],this.sizeInVoxels[1],this.sizeInVoxels[2]];for(let e=0;e<3;++e)n[e]<2?n[e]=1:n[e]-=1;return r.isRegular&&!r.isPositiveUp&&(n[2]*=-1),[(e[1]-e[0])/n[0],(t[1]-t[0])/n[1],(i[1]-i[0])/n[2]]}get volumeType(){if(this.isValid){const e=this.dimensions[2].size>0;let t=this.dimensions[3].size>0;if(t){const e=this.dimensions[3];t="time"===e.quantity,t&&null!==e.unit&&(t=Te(e.unit).didParse)}if(!e&&t)return"xyt";if(e&&t)return"xyzt"}return"xyz"}get sizeInVoxels(){if(!this.isValid)return[0,0,0];const e=this.zDimension;return[this.dimensions[0].size,this.dimensions[1].size,this.dimensions[e].size]}get timeStops(){if("xyzt"!==this.volumeType)return[];const e=this.dimensions[3],t=[],r=Te(e.unit);if(r.didParse)if(e.isRegular){const i=e.regularSpacing?.offset??0,n=e.regularSpacing?.scale||1;for(let s=0;s<e.size;++s){const e=i+n*s;t.push((0,Ie.mi)(r.reference,e,r.unit))}}else if(Array.isArray(e.irregularSpacing?.values)&&e.irregularSpacing.values.length>0)for(let i=0;i<e.irregularSpacing.values.length;++i){const n=e.irregularSpacing.values[i];t.push((0,Ie.mi)(r.reference,n,r.unit))}return t}computeVoxelSpaceLocation(e){if(!this.isValid)return[0,0,0];if("xyt"===this.volumeType)return a.A.getLogger(this).error("computeVoxelSpacePosition cannot be used with XYT volumes."),[0,0,0];if(!(0,Ne.aI)(this.spatialReference,e.spatialReference))return a.A.getLogger(this).error("pos argument should have the same spatial reference as the VoxelLayer."),[0,0,0];const t=(0,m.fA)(e.x,e.y,e.z??0);(0,y.d)(t,t,this.originInLayerSpace3D),(0,y.E)(t,t,this.voxelSizeInLayerSpaceSigned);const r=this.dimensions[this.zDimension];if(!r.isRegular&&Array.isArray(r.irregularSpacing?.values)&&r.irregularSpacing.values.length>1){const i=e.z??0,n=r.irregularSpacing.values,s=r.isPositiveUp?1:-1,o=n.reduce(((e,t)=>Math.abs(s*t-i)<Math.abs(s*e-i)?t:e));for(let e=0;e<n.length;++e)if(n[e]===o){t[2]=e;break}}return[t[0],t[1],t[2]]}computeLayerSpaceLocation(e){if(!this.isValid)return new je.A({x:0,y:0,spatialReference:this.spatialReference});const t=(0,m.ci)(e);if((0,y.C)(t,t,this.voxelSizeInLayerSpaceSigned),(0,y.g)(t,t,this.originInLayerSpace3D),"xyt"===this.volumeType)return new je.A({x:t[0],y:t[1],spatialReference:this.spatialReference});const r=this.dimensions[this.zDimension];return r.isRegular||Array.isArray(r.irregularSpacing?.values)&&(e[2]<0?t[2]=r.irregularSpacing.values[0]:e[2]<r.irregularSpacing.values.length?t[2]=r.irregularSpacing.values[e[2]]:t[2]=r.irregularSpacing.values[r.irregularSpacing.values.length-1],r.isPositiveUp||(t[2]*=-1)),new je.A({x:t[0],y:t[1],z:t[2],spatialReference:this.spatialReference})}};(0,i._)([(0,c.MZ)({type:Number,json:{write:{enabled:!0,isRequired:!0}}})],ze.prototype,"id",void 0),(0,i._)([(0,c.MZ)({type:[Ue],json:{write:{enabled:!0,isRequired:!0}}})],ze.prototype,"dimensions",void 0),(0,i._)([(0,c.MZ)({type:Ze.A,json:{read:{enabled:!1}}})],ze.prototype,"spatialReference",void 0),(0,i._)([(0,c.MZ)({type:Number,json:{read:!1}})],ze.prototype,"zDimension",null),(0,i._)([(0,c.MZ)({type:[Boolean],json:{read:!1}})],ze.prototype,"isValid",null),(0,i._)([(0,c.MZ)({type:[Number],json:{read:!1}})],ze.prototype,"originInLayerSpace3D",null),(0,i._)([(0,c.MZ)({type:[Number],json:{read:!1}})],ze.prototype,"voxelSizeInLayerSpaceSigned",null),(0,i._)([(0,c.MZ)({type:["xyz","xyzt","xyt"],json:{read:{enabled:!1}}})],ze.prototype,"volumeType",null),(0,i._)([(0,c.MZ)({type:[Number],json:{read:!1}})],ze.prototype,"sizeInVoxels",null),(0,i._)([(0,c.MZ)({type:[Date],json:{read:!1,write:!1}})],ze.prototype,"timeStops",null),ze=(0,i._)([(0,h.$)("esri.layers.voxel.VoxelVolume")],ze);const Le=ze;var Fe;let qe=Fe=class extends V.A{constructor(){super(...arguments),this.apronWidth=1,this.brickSize=[32,32,32],this.maxLodLevel=0,this.nodeSize=[4,4,4]}isValid(){const e=new Fe;return e.apronWidth===this.apronWidth&&e.maxLodLevel===this.maxLodLevel&&!!this.brickSize&&!!this.nodeSize&&!(!Array.isArray(this.brickSize)||!Array.isArray(this.nodeSize))&&3===this.brickSize.length&&3===this.nodeSize.length&&32===this.brickSize[0]&&32===this.brickSize[1]&&32===this.brickSize[2]&&4===this.nodeSize[0]&&4===this.nodeSize[1]&&4===this.nodeSize[2]}};(0,i._)([(0,c.MZ)({type:Number,json:{write:{enabled:!0,isRequired:!0}}})],qe.prototype,"apronWidth",void 0),(0,i._)([(0,c.MZ)({type:[Number],json:{write:{enabled:!0,isRequired:!0}}})],qe.prototype,"brickSize",void 0),(0,i._)([(0,c.MZ)({type:Number,json:{write:{enabled:!0,isRequired:!0}}})],qe.prototype,"maxLodLevel",void 0),(0,i._)([(0,c.MZ)({type:[Number],json:{write:{enabled:!0,isRequired:!0}}})],qe.prototype,"nodeSize",void 0),qe=Fe=(0,i._)([(0,h.$)("esri.layers.voxel.VoxelVolumeIndex")],qe);const De=qe;let $e=class extends(T.A.ClonableMixin(V.A)){constructor(e){super(e),this.enabled=!0,this.label="",this.normal=null,this.point=null}get orientation(){if(!Array.isArray(this.normal)||3!==this.normal.length)return 0;const[e,t]=B(this.normal);return R.ie.normalize((0,p.GB)(e),0,!0)}set orientation(e){const t=k(e,this.tilt);this._set("normal",t),this._set("orientation",e)}get tilt(){if(!Array.isArray(this.normal)||3!==this.normal.length)return 0;const[e,t]=B(this.normal);return R.ie.normalize((0,p.GB)(t),0,!0)}set tilt(e){const t=k(this.orientation,e);this._set("normal",t),this._set("tilt",e)}};(0,i._)([(0,c.MZ)({type:Boolean,json:{default:!0,write:!0}})],$e.prototype,"enabled",void 0),(0,i._)([(0,c.MZ)({type:String,json:{write:!0}})],$e.prototype,"label",void 0),(0,i._)([(0,c.MZ)({type:Number,json:{read:!1},clonable:!1,range:{min:0,max:360}}),(0,K.w)((e=>R.ie.normalize((0,p.GB)(e),0,!0)))],$e.prototype,"orientation",null),(0,i._)([(0,c.MZ)({type:Number,json:{read:!1},clonable:!1,range:{min:0,max:360}}),(0,K.w)((e=>R.ie.normalize((0,p.GB)(e),0,!0)))],$e.prototype,"tilt",null),(0,i._)([(0,c.MZ)({type:[Number],json:{write:{isRequired:!0}}})],$e.prototype,"normal",void 0),(0,i._)([(0,c.MZ)({type:[Number],json:{write:{isRequired:!0}}})],$e.prototype,"point",void 0),$e=(0,i._)([(0,h.$)("esri.layers.voxel.VoxelDynamicSection")],$e);const Ce=$e;var Be;let ke=Be=class extends V.A{constructor(e){super(e),this.volumeId=0,this.verticalExaggeration=1,this.exaggerationMode="scale-height",this.verticalOffset=0,this.slices=new(s.A.ofType(G)),this.dynamicSections=new(s.A.ofType(Ce))}set slices(e){this._set("slices",(0,le.V)(e,this._get("slices"),s.A.ofType(G)))}set dynamicSections(e){this._set("dynamicSections",(0,le.V)(e,this._get("dynamicSections"),s.A.ofType(Ce)))}clone(){return new Be({volumeId:this.volumeId,verticalExaggeration:this.verticalExaggeration,exaggerationMode:this.exaggerationMode,verticalOffset:this.verticalOffset,slices:(0,ne.o8)(this.slices),dynamicSections:(0,ne.o8)(this.dynamicSections)})}};(0,i._)([(0,c.MZ)({type:p.jz,json:{write:{enabled:!0,isRequired:!0}}})],ke.prototype,"volumeId",void 0),(0,i._)([(0,c.MZ)({type:Number,json:{default:1,write:!0}})],ke.prototype,"verticalExaggeration",void 0),(0,i._)([(0,c.MZ)({type:["scale-position","scale-height"],json:{default:"scale-height",write:!0}})],ke.prototype,"exaggerationMode",void 0),(0,i._)([(0,c.MZ)({type:Number,json:{default:0,write:!0}})],ke.prototype,"verticalOffset",void 0),(0,i._)([(0,c.MZ)({type:s.A.ofType(G),json:{write:{enabled:!0,overridePolicy(){return{enabled:!!this.slices&&this.slices.length>0}}}}})],ke.prototype,"slices",null),(0,i._)([(0,c.MZ)({type:s.A.ofType(Ce),json:{write:{enabled:!0,overridePolicy(){return{enabled:!!this.dynamicSections&&this.dynamicSections.length>0}}}}})],ke.prototype,"dynamicSections",null),ke=Be=(0,i._)([(0,h.$)("esri.layers.voxel.VoxelVolumeStyle")],ke);const Ke=ke;var He=r(30291),Ge=r(79677),Je=r(10184);let We=class extends((0,x.w6)((0,b.b)((0,S.q)((0,M.A)((0,_.j)((0,l.P)((0,w.d)((0,v.p)(g.A))))))))){constructor(e){super(e),this.serviceRoot="",this.operationalLayerType="Voxel",this.legendEnabled=!0,this.title=null,this.sections=null,this.currentVariableId=0,this.volumeStyles=null,this.renderMode="volume",this.variableStyles=null,this.enableSlices=!0,this.enableSections=!0,this.enableDynamicSections=!0,this.enableIsosurfaces=!0,this.shading=new X,this.opacity=1,this.variables=new s.A,this.volumes=new s.A,this.index=null,this.minScale=0,this.maxScale=0,this.type="voxel",this.version={major:Number.NaN,minor:Number.NaN,versionString:""},this.fullExtent=null,this.popupEnabled=!1,this.popupTemplate=null,this.test=null,this.timeExtent=null,this.timeOffset=null,this.useViewTime=!0,this.volumeStyles=new(s.A.ofType(Ke)),this.variableStyles=new(s.A.ofType(Ae)),this.sections=new(s.A.ofType(Y))}normalizeCtorArgs(e){return e?.constantUpscaling&&(this.test={constantUpscaling:!0},delete e.constantUpscaling),e}set url(e){this._set("url",(0,A.Jf)(e,a.A.getLogger(this)))}load(e){const t=null!=e?e.signal:null,r=this.loadFromPortal({supportedTypes:["Scene Service"]},e).catch(u.QP).then((()=>this._fetchService(t))).then((()=>this.serviceRoot=this.url));return this.addResolvingPromise(r),Promise.resolve(this)}read(e,t){super.read(e,t),"service"===t?.origin&&this.version.major<=3&&this.version.minor<=0&&!this.getAtOrigin("popupTemplate","service")&&this.setAtOrigin("popupTemplate",this.createPopupTemplate(),"service");for(const e of this.volumes)e.spatialReference=this.spatialReference}readVersion(e,t){return super.parseVersionString(e)}validateLayer(e){if(e.layerType&&e.layerType!==this.operationalLayerType)throw new o.A("voxel-layer:layer-type-not-supported","VoxelLayer does not support this layer type",{layerType:e.layerType});if(isNaN(this.version.major)||isNaN(this.version.minor)||this.version.major<3)throw new o.A("layer:service-version-not-supported","Service version is not supported.",{serviceVersion:this.version.versionString,supportedVersions:"3.x"});if(this.version.major>3)throw new o.A("layer:service-version-too-new","Service version is too new.",{serviceVersion:this.version.versionString,supportedVersions:"3.x"})}readFullExtent(e,t,r){if(null!=e&&"object"==typeof e){const i=f.A.fromJSON(e,r);if(0===i.zmin&&0===i.zmax&&Array.isArray(t.volumes)){const e=Le.fromJSON(t.volumes[0]);if(e.isValid&&"xyt"!==e.volumeType){const t=e.dimensions[2];if(t.isRegular){let e=t.regularSpacing.offset,r=t.regularSpacing.offset+t.regularSpacing.scale*(t.size-1);if(e>r){const t=e;e=r,r=t}i.zmin=e,i.zmax=r}}}return i}return null}get fields(){const e=[new j.A({name:"Voxel.Position",alias:"Voxel Position",domain:null,editable:!1,length:128,type:"string"}),new j.A({name:"Voxel.CurrentVariable",alias:"Current Variable",domain:null,editable:!1,length:128,type:"string"})];for(const t of this.variables){const r=new j.A({name:t.name,alias:t.description,domain:null,editable:!1,length:128,type:"discrete"===t.renderingFormat.continuity?"string":"double"});e.push(r)}const t=this.getVolume(null);if(null!=t){if("xyzt"===t.volumeType||"xyt"===t.volumeType){const t=new j.A({name:"Voxel.LocalTime",alias:"Local Time",domain:null,editable:!1,length:256,type:"date"});e.push(t);const r=new j.A({name:"Voxel.SourceTime",alias:"Source Time",domain:null,editable:!1,length:256,type:"string"});e.push(r)}if("xyt"!==t.volumeType){const t=new j.A({name:"Voxel.Depth",alias:"Depth",domain:null,editable:!1,length:128,type:"double"});e.push(t)}}return e}get fieldsIndex(){return this.loaded?new Z.A(this.fields):null}getField(e){return this.fieldsIndex?.get(e)}get defaultPopupTemplate(){return this.createPopupTemplate()}createPopupTemplate(e){const t=this.fields;return(0,He.tn)({fields:t,title:"{Voxel.Position}"},e)}getConfiguration(){const e={layerType:this.operationalLayerType,version:this.version.versionString,name:this.title,spatialReference:this.spatialReference,fullExtent:this.fullExtent,volumes:this.volumes.toJSON(),variables:this.variables.toJSON(),index:this.index?.toJSON(),sections:this.getSections(),style:{volumeStyles:this.getVolumeStyles(),currentVariableId:this.currentVariableId,renderMode:this.renderMode,variableStyles:this.getVariableStyles(),enableSections:this.enableSections,enableDynamicSections:this.enableDynamicSections,enableIsosurfaces:this.enableIsosurfaces,enableSlices:this.enableSlices,shading:this.shading}};return e.index&&this.index?.isValid()?JSON.stringify(e):""}getVariableStyle(e){let t=-1;if(t=null!=e?e:this.currentVariableId,!this.variableStyles||-1===t)return null;const r=this.variableStyles.findIndex((e=>e.variableId===t));return r<0?null:this.variableStyles.at(r)}getVariable(e){let t=-1;if(t=null!=e?e:this.currentVariableId,!this.variables||-1===t)return null;const r=this.variables.findIndex((e=>e.id===t));return r<0?null:this.variables.at(r)}getVolume(e){const t=this.getVariable(e);return null!=t?this.volumes.find((({id:e})=>e===t.volumeId)):null}get timeInfo(){const e=this.getVolume(null);if("xyzt"!==e?.volumeType)return null;const t=e.timeStops;if(!t?.length)return null;const r=new Ge.A({start:t[0],end:t.at(-1)});return new N.A({fullTimeExtent:r,stops:t})}getVolumeStyle(e){const t=this.getVariable(e);return null!=t?this.volumeStyles.find((({volumeId:e})=>e===t.volumeId)):null}getColorForContinuousDataValue(e,t,r){const i=this.getVariable(e);if(null==i||"continuous"!==i.renderingFormat?.continuity)return null;if(!this.variableStyles)return null;const n=this.variableStyles.findIndex((t=>t.variableId===e));if(n<0)return null;const s=this.variableStyles.at(n);return s?.transferFunction?s.transferFunction.getColorForContinuousDataValue(t,r):null}getSections(){const e=[];for(const t of this.sections)e.push(new Y({enabled:t.enabled,href:t.href,id:t.id,label:t.label,normal:t.normal,point:t.point,sizeInPixel:t.sizeInPixel,slices:t.slices,timeId:t.timeId,variableId:t.variableId}));return e}getVariableStyles(){const e=[];for(const t of this.variableStyles){const r=this._getVariable(t);if(null!=r){const i=t.clone();i.isosurfaces.length>4&&(i.isosurfaces=i.isosurfaces.slice(0,3),a.A.getLogger(this).error("A maximum of 4 isosurfaces are supported for Voxel Layers."));for(const e of i.isosurfaces)if(!e.colorLocked){const t=this.getColorForContinuousDataValue(i.variableId,e.value,!1);null==t||t.equals(e.color)||(e.color=t)}if("continuous"===r.renderingFormat.continuity)(null===i.transferFunction||i.transferFunction.colorStops.length<2)&&a.A.getLogger(this).error(`VoxelVariableStyle for variable ${r.id} is invalid. At least 2 color stops are required in the transferFunction for continuous Voxel Layer variables.`),null!==i.transferFunction&&(Array.isArray(i.transferFunction.stretchRange)&&2===i.transferFunction.stretchRange.length||(a.A.getLogger(this).error(`VoxelVariableStyle for variable ${r.id} is invalid. The stretchRange of the transferFunction for continuous Voxel Layer variables must be of the form [minimumDataValue, maximumDataValue].`),i.transferFunction.stretchRange=[0,1],i.transferFunction.colorStops.removeAll()));else if("discrete"===r.renderingFormat.continuity)if(0===t.uniqueValues.length)a.A.getLogger(this).error(`VoxelVariableStyle for variable ${r.id} is invalid. Unique values are required for discrete Voxel Layer variables.`);else for(const e of t.uniqueValues)null!==e.label&&void 0!==e.label||null===e.value||void 0===e.value||(e.label=e.value.toString());e.push(i)}else a.A.getLogger(this).error(`VoxelVariable ID=${t.variableId} doesn't exist, VoxelVariableStyle for this VoxelVariable will be ignored.`)}return e}getVolumeStyles(){const e=[];for(const t of this.volumeStyles){const r=this._getVolumeFromVolumeId(t.volumeId);if(null!=r){const i=t.clone();for(const e of i.slices)this._isPlaneValid(e,[0,1,r.zDimension],r.dimensions)||(e.enabled=!1,e.label="invalid");for(const e of i.dynamicSections)this._isPlaneValid(e,[0,1,r.zDimension],r.dimensions)||(e.enabled=!1,e.label="invalid");e.push(i)}else a.A.getLogger(this).error(`VoxelVolume ID=${t.volumeId} doesn't exist, VoxelVolumeStyle for this VoxelVolume will be ignored.`)}return e}_getVariable(e){const t=e.variableId;for(const e of this.variables)if(e.id===t)return e;return null}_getVolumeFromVolumeId(e){for(const t of this.volumes)if(t.id===e)return t;return null}_isPlaneValid(e,t,r){if(!e.point)return!1;if(!Array.isArray(e.point)||3!==e.point.length)return!1;if(!e.normal)return!1;if(!Array.isArray(e.normal)||3!==e.normal.length)return!1;const i=(0,m.fA)(e.normal[0],e.normal[1],e.normal[2]);return(0,y.n)(i,i),!(Math.abs(i[0])+Math.abs(i[1])+Math.abs(i[2])<1e-6||(e.normal[0]=i[0],e.normal[1]=i[1],e.normal[2]=i[2],0))}};(0,i._)([(0,c.MZ)({type:["Voxel"]})],We.prototype,"operationalLayerType",void 0),(0,i._)([(0,c.MZ)(I.fV)],We.prototype,"legendEnabled",void 0),(0,i._)([(0,c.MZ)({json:{write:!0}})],We.prototype,"title",void 0),(0,i._)([(0,c.MZ)(I.OZ)],We.prototype,"url",null),(0,i._)([(0,c.MZ)({type:s.A.ofType(Y),json:{origins:{"web-scene":{name:"layerDefinition.sections",write:!0}}}})],We.prototype,"sections",void 0),(0,i._)([(0,c.MZ)({type:p.jz,json:{origins:{"web-scene":{name:"layerDefinition.style.currentVariableId",write:{enabled:!0,isRequired:!0,ignoreOrigin:!0}},service:{name:"style.currentVariableId"}}}})],We.prototype,"currentVariableId",void 0),(0,i._)([(0,c.MZ)({type:s.A.ofType(Ke),json:{origins:{"web-scene":{name:"layerDefinition.style.volumeStyles",write:!0},service:{name:"style.volumeStyles"}}}})],We.prototype,"volumeStyles",void 0),(0,i._)([(0,c.MZ)({type:["volume","surfaces"],json:{origins:{"web-scene":{name:"layerDefinition.style.renderMode",write:!0},service:{name:"style.renderMode"}}}})],We.prototype,"renderMode",void 0),(0,i._)([(0,c.MZ)({type:s.A.ofType(Ae),json:{origins:{"web-scene":{name:"layerDefinition.style.variableStyles",write:!0},service:{name:"style.variableStyles"}}}})],We.prototype,"variableStyles",void 0),(0,i._)([(0,c.MZ)({type:Boolean,json:{origins:{"web-scene":{name:"layerDefinition.style.enableSlices",write:!0},service:{name:"style.enableSlices"}}}})],We.prototype,"enableSlices",void 0),(0,i._)([(0,c.MZ)({type:Boolean,json:{origins:{"web-scene":{name:"layerDefinition.style.enableSections",write:!0},service:{name:"style.enableSections"}}}})],We.prototype,"enableSections",void 0),(0,i._)([(0,c.MZ)({type:Boolean,json:{origins:{"web-scene":{name:"layerDefinition.style.enableDynamicSections",write:!0},service:{name:"style.enableDynamicSections"}}}})],We.prototype,"enableDynamicSections",void 0),(0,i._)([(0,c.MZ)({type:Boolean,json:{origins:{"web-scene":{name:"layerDefinition.style.enableIsosurfaces",write:!0},service:{name:"style.enableIsosurfaces"}}}})],We.prototype,"enableIsosurfaces",void 0),(0,i._)([(0,c.MZ)({type:X,json:{origins:{"web-scene":{name:"layerDefinition.style.shading",write:!0},service:{name:"style.shading"}}}})],We.prototype,"shading",void 0),(0,i._)([(0,c.MZ)({type:["show","hide"]})],We.prototype,"listMode",void 0),(0,i._)([(0,c.MZ)({type:Number,range:{min:0,max:1},nonNullable:!0,json:{read:!1,write:!1,origins:{"web-scene":{read:!1,write:!1},"portal-item":{read:!1,write:!1}}}})],We.prototype,"opacity",void 0),(0,i._)([(0,c.MZ)({type:s.A.ofType(ie)})],We.prototype,"variables",void 0),(0,i._)([(0,c.MZ)({type:s.A.ofType(Le)})],We.prototype,"volumes",void 0),(0,i._)([(0,c.MZ)({type:De})],We.prototype,"index",void 0),(0,i._)([(0,c.MZ)({type:Number,json:{name:"layerDefinition.minScale",write:!0,origins:{service:{read:!1,write:!1}}}})],We.prototype,"minScale",void 0),(0,i._)([(0,c.MZ)({type:Number,json:{name:"layerDefinition.maxScale",write:!0,origins:{service:{read:!1,write:!1}}}})],We.prototype,"maxScale",void 0),(0,i._)([(0,c.MZ)({json:{read:!1},readOnly:!0})],We.prototype,"type",void 0),(0,i._)([(0,c.MZ)({readOnly:!0,json:{name:"serviceVersion"}})],We.prototype,"version",void 0),(0,i._)([(0,d.w)("service","version")],We.prototype,"readVersion",null),(0,i._)([(0,c.MZ)({type:f.A})],We.prototype,"fullExtent",void 0),(0,i._)([(0,d.w)("service","fullExtent",["fullExtent"])],We.prototype,"readFullExtent",null),(0,i._)([(0,c.MZ)({readOnly:!0,clonable:!1,json:{read:!1}})],We.prototype,"fields",null),(0,i._)([(0,c.MZ)({readOnly:!0})],We.prototype,"fieldsIndex",null),(0,i._)([(0,c.MZ)({type:Boolean,json:{name:"disablePopup",read:{reader:(e,t)=>!t.disablePopup},write:{enabled:!0,ignoreOrigin:!0,writer(e,t,r){t[r]=!e}},origins:{"portal-item":{default:!0},"web-scene":{default:!0}}}})],We.prototype,"popupEnabled",void 0),(0,i._)([(0,c.MZ)({type:n.A,json:{name:"popupInfo",write:!0}})],We.prototype,"popupTemplate",void 0),(0,i._)([(0,c.MZ)({readOnly:!0,json:{read:!1}})],We.prototype,"defaultPopupTemplate",null),(0,i._)([(0,c.MZ)({type:N.A,readOnly:!0,json:{read:!1}})],We.prototype,"timeInfo",null),(0,i._)([(0,c.MZ)({type:Ge.A,json:{read:!1}})],We.prototype,"timeExtent",void 0),(0,i._)([(0,c.MZ)({type:Je.A,json:{read:!1}})],We.prototype,"timeOffset",void 0),(0,i._)([(0,c.MZ)({type:Boolean,nonNullable:!0,json:{origins:{"web-scene":{name:"timeAnimation",write:!0},service:{read:!1}}}})],We.prototype,"useViewTime",void 0),We=(0,i._)([(0,h.$)("esri.layers.VoxelLayer")],We);const Ye=We},18768:(e,t,r)=>{r.d(t,{b:()=>l});var i=r(90237),n=r(53966),s=r(10107),o=(r(44208),r(87811),r(40608)),a=r(60694);const l=e=>{let t=class extends e{get title(){if(this._get("title")&&"defaults"!==this.originOf("title"))return this._get("title");if(this.url){const e=(0,a.qg)(this.url);if(e?.title)return e.title}return this._get("title")||""}set title(e){this._set("title",e)}set url(e){this._set("url",(0,a.Jf)(e,n.A.getLogger(this)))}};return(0,i._)([(0,s.MZ)()],t.prototype,"title",null),(0,i._)([(0,s.MZ)({type:String})],t.prototype,"url",null),t=(0,i._)([(0,o.$)("esri.layers.mixins.ArcGISService")],t),t}},25036:(e,t,r)=>{r.d(t,{j:()=>o});var i=r(90237),n=r(10107),s=(r(44208),r(53966),r(87811),r(40608));const o=e=>{let t=class extends e{constructor(){super(...arguments),this.minScale=0,this.maxScale=0}get effectiveScaleRange(){const e={minScale:this.minScale,maxScale:this.maxScale},t=this.parent;t&&"effectiveScaleRange"in t&&function(e,t){e.minScale=e.minScale>0?t.minScale>0?Math.min(e.minScale,t.minScale):e.minScale:t.minScale,e.maxScale=e.maxScale>0?t.maxScale>0?Math.max(e.maxScale,t.maxScale):e.maxScale:t.maxScale}(e,t.effectiveScaleRange);const r=this._get("effectiveScaleRange");return r&&r.minScale===e.minScale&&r.maxScale===e.maxScale?r:e}};return(0,i._)([(0,n.MZ)({type:Number,nonNullable:!0,json:{write:!0}})],t.prototype,"minScale",void 0),(0,i._)([(0,n.MZ)({type:Number,nonNullable:!0,json:{write:!0}})],t.prototype,"maxScale",void 0),(0,i._)([(0,n.MZ)({readOnly:!0})],t.prototype,"effectiveScaleRange",null),t=(0,i._)([(0,s.$)("esri.layers.mixins.ScaleRangeLayer")],t),t}},26121:(e,t,r)=>{r.d(t,{c:()=>o,d:()=>n});var i=r(49186);async function n(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)}const s=new Set(["layer:unsupported","property:unsupported","symbol:unsupported","symbol-layer:unsupported","url:unsupported"]);function o(e,t,r){let n=(e.messages??[]).filter((({type:e})=>"error"===e)).map((({name:e,message:t,details:r})=>new i.A(e,t,r)));if(e.blockedRelativeUrls&&(n=n.concat(e.blockedRelativeUrls.map((e=>new i.A("url:unsupported",`Relative url '${e}' is not supported`))))),r){const{ignoreUnsupported:e,supplementalUnsupportedErrors:t=[],requiredPropertyChecksDisabled:i}=r;e&&(n=n.filter((({name:e})=>!(s.has(e)||t.includes(e))))),i&&(n=n.filter((e=>"web-document-write:property-required"!==e.name)))}if(n.length>0)throw new i.A(t.errorName,"Failed to save due to unsupported or invalid content. See 'details.errors' for more detailed information",{errors:n})}},29242:(e,t,r)=>{function i(){return[1,0,0,0,1,0,0,0,1]}function n(e,t,r,i,n,s,o,a,l){return[e,t,r,i,n,s,o,a,l]}r.d(t,{fA:()=>n,vt:()=>i,zK:()=>s});const s=[1,0,0,0,1,0,0,0,1];Object.freeze(Object.defineProperty({__proto__:null,IDENTITY:s,clone:function(e){return[e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8]]},create:i,fromValues:n},Symbol.toStringTag,{value:"Module"}))},30291:(e,t,r)=>{r.d(t,{tn:()=>u});var i=r(13874),n=r(30524),s=r(89893),o=(r(84424),r(80737),r(96808),r(66159)),a=(r(67336),r(92094),r(23721),r(47582),r(41227)),l=r(68780);function u({displayField:e,editFieldsInfo:t,fields:r,objectIdField:l,title:u},h){if(!r)return null;const m=function(e,t){const r=t?.visibleFieldNames;return function({fields:e,ignoreFieldTypes:t,sortDisabled:r}){const i=e;return t&&(e=e.filter((e=>!t.includes(e.type)))),e===i&&(e=e.slice()),!0!==r&&e.sort(p),e}({fields:e.fields??[],ignoreFieldTypes:t?.ignoreFieldTypes||y,sortDisabled:t?.sortDisabled}).map((t=>new a.A({fieldName:t.name,isEditable:(0,n.R$)(t,e),label:t.alias,format:d(t),visible:c(t,{...e,visibleFieldNames:r})})))}({editFieldsInfo:t,fields:r,objectIdField:l},h);if(!m.length)return null;const f=function(e){const t=(0,n.mB)(e),{titleBase:r}=e;return t?`${r}: {${t.trim()}}`:r??""}({titleBase:u,fields:r,displayField:e}),g=[new o.A,new s.A];return new i.A({title:f,content:g,fieldInfos:m})}const c=(e,t)=>t.visibleFieldNames?t.visibleFieldNames.has(e.name):(0,n.Bz)(e,t);function p(e,t){return"oid"===e.type?-1:"oid"===t.type?1:h(e)?-1:h(t)?1:(e.alias||e.name).toLocaleLowerCase().localeCompare((t.alias||t.name).toLocaleLowerCase())}function d(e){switch(e.type){case"small-integer":case"integer":case"single":return new l.A({digitSeparator:!0,places:0});case"double":return new l.A({digitSeparator:!0,places:2});case"string":return(0,n.JL)(e.name)?new l.A({digitSeparator:!0,places:0}):void 0;default:return}}function h(e){if("name"===(e.name&&e.name.toLowerCase()))return!0;const t=e.alias?.toLowerCase();return"name"===t}const y=["geometry","blob","raster","guid","xml"]},38954:(e,t,r)=>{r.d(t,{A:()=>y,B:()=>h,C:()=>c,D:()=>m,E:()=>p,G:()=>z,I:()=>F,a:()=>O,b:()=>g,c:()=>o,d:()=>u,e:()=>A,f:()=>x,g:()=>l,h:()=>f,i:()=>a,j:()=>v,k:()=>w,l:()=>s,m:()=>I,n:()=>_,o:()=>P,p:()=>V,q:()=>Z,s:()=>b,t:()=>j,u:()=>M,v:()=>S,w:()=>N,x:()=>d,y:()=>L,z:()=>q});var i=r(51850),n=r(34304);function s(e){const t=e[0],r=e[1],i=e[2];return Math.sqrt(t*t+r*r+i*i)}function o(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e}function a(e,t,r,i){return e[0]=t,e[1]=r,e[2]=i,e}function l(e,t,r){return e[0]=t[0]+r[0],e[1]=t[1]+r[1],e[2]=t[2]+r[2],e}function u(e,t,r){return e[0]=t[0]-r[0],e[1]=t[1]-r[1],e[2]=t[2]-r[2],e}function c(e,t,r){return e[0]=t[0]*r[0],e[1]=t[1]*r[1],e[2]=t[2]*r[2],e}function p(e,t,r){return e[0]=t[0]/r[0],e[1]=t[1]/r[1],e[2]=t[2]/r[2],e}function d(e,t){return e[0]=Math.abs(t[0]),e[1]=Math.abs(t[1]),e[2]=Math.abs(t[2]),e}function h(e,t){return e[0]=Math.sign(t[0]),e[1]=Math.sign(t[1]),e[2]=Math.sign(t[2]),e}function y(e,t,r){return e[0]=Math.min(t[0],r[0]),e[1]=Math.min(t[1],r[1]),e[2]=Math.min(t[2],r[2]),e}function m(e,t,r){return e[0]=Math.max(t[0],r[0]),e[1]=Math.max(t[1],r[1]),e[2]=Math.max(t[2],r[2]),e}function f(e,t,r){return e[0]=t[0]*r,e[1]=t[1]*r,e[2]=t[2]*r,e}function g(e,t,r,i){return e[0]=t[0]+r[0]*i,e[1]=t[1]+r[1]*i,e[2]=t[2]+r[2]*i,e}function v(e,t){const r=t[0]-e[0],i=t[1]-e[1],n=t[2]-e[2];return Math.sqrt(r*r+i*i+n*n)}function b(e,t){const r=t[0]-e[0],i=t[1]-e[1],n=t[2]-e[2];return r*r+i*i+n*n}function w(e){const t=e[0],r=e[1],i=e[2];return t*t+r*r+i*i}function S(e,t){return e[0]=-t[0],e[1]=-t[1],e[2]=-t[2],e}function M(e,t){return e[0]=1/t[0],e[1]=1/t[1],e[2]=1/t[2],e}function _(e,t){const r=t[0],i=t[1],n=t[2];let s=r*r+i*i+n*n;return s>0&&(s=1/Math.sqrt(s),e[0]=t[0]*s,e[1]=t[1]*s,e[2]=t[2]*s),e}function x(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]}function A(e,t,r){const i=t[0],n=t[1],s=t[2],o=r[0],a=r[1],l=r[2];return e[0]=n*l-s*a,e[1]=s*o-i*l,e[2]=i*a-n*o,e}function I(e,t,r,i){const n=t[0],s=t[1],o=t[2];return e[0]=n+i*(r[0]-n),e[1]=s+i*(r[1]-s),e[2]=o+i*(r[2]-o),e}function j(e,t,r){const i=t[0],n=t[1],s=t[2];return e[0]=r[0]*i+r[4]*n+r[8]*s+r[12],e[1]=r[1]*i+r[5]*n+r[9]*s+r[13],e[2]=r[2]*i+r[6]*n+r[10]*s+r[14],e}function Z(e,t,r){const i=t[0],n=t[1],s=t[2];return e[0]=i*r[0]+n*r[3]+s*r[6],e[1]=i*r[1]+n*r[4]+s*r[7],e[2]=i*r[2]+n*r[5]+s*r[8],e}function N(e,t,r){const i=r[0],n=r[1],s=r[2],o=r[3],a=t[0],l=t[1],u=t[2],c=n*u-s*l,p=s*a-i*u,d=i*l-n*a,h=n*d-s*p,y=s*c-i*d,m=i*p-n*c,f=2*o;return e[0]=a+c*f+2*h,e[1]=l+p*f+2*y,e[2]=u+d*f+2*m,e}const T=(0,i.vt)(),R=(0,i.vt)();function V(e,t){return e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]}function P(e,t,r){const i=r[0]-t[0],n=r[1]-t[1],s=r[2]-t[2];let o=i*i+n*n+s*s;return o>0?(o=1/Math.sqrt(o),e[0]=i*o,e[1]=n*o,e[2]=s*o,e):(e[0]=0,e[1]=0,e[2]=0,e)}const O=u,E=c,U=p,z=v,L=b,F=s,q=w;Object.freeze(Object.defineProperty({__proto__:null,abs:d,add:l,angle:function(e,t){_(T,e),_(R,t);const r=x(T,R);return r>1?0:r<-1?Math.PI:Math.acos(r)},bezier:function(e,t,r,i,n,s){const o=1-s,a=o*o,l=s*s,u=a*o,c=3*s*a,p=3*l*o,d=l*s;return e[0]=t[0]*u+r[0]*c+i[0]*p+n[0]*d,e[1]=t[1]*u+r[1]*c+i[1]*p+n[1]*d,e[2]=t[2]*u+r[2]*c+i[2]*p+n[2]*d,e},ceil:function(e,t){return e[0]=Math.ceil(t[0]),e[1]=Math.ceil(t[1]),e[2]=Math.ceil(t[2]),e},clamp:function(e,t=0,r=1){return e[0]=Math.min(Math.max(e[0],t),r),e[1]=Math.min(Math.max(e[1],t),r),e[2]=Math.min(Math.max(e[2],t),r),e},copy:o,cross:A,crossAndNormalize:function(e,t,r){const i=t[0],n=t[1],s=t[2],o=r[0],a=r[1],l=r[2],u=n*l-s*a,c=s*o-i*l,p=i*a-n*o,d=Math.sqrt(u*u+c*c+p*p);return e[0]=u/d,e[1]=c/d,e[2]=p/d,e},direction:P,dist:z,distance:v,div:U,divide:p,dot:x,equals:function(e,t){if(e===t)return!0;const r=e[0],i=e[1],s=e[2],o=t[0],a=t[1],l=t[2],u=(0,n.FD)();return Math.abs(r-o)<=u*Math.max(1,Math.abs(r),Math.abs(o))&&Math.abs(i-a)<=u*Math.max(1,Math.abs(i),Math.abs(a))&&Math.abs(s-l)<=u*Math.max(1,Math.abs(s),Math.abs(l))},exactEquals:V,floor:function(e,t){return e[0]=Math.floor(t[0]),e[1]=Math.floor(t[1]),e[2]=Math.floor(t[2]),e},hermite:function(e,t,r,i,n,s){const o=s*s,a=o*(2*s-3)+1,l=o*(s-2)+s,u=o*(s-1),c=o*(3-2*s);return e[0]=t[0]*a+r[0]*l+i[0]*u+n[0]*c,e[1]=t[1]*a+r[1]*l+i[1]*u+n[1]*c,e[2]=t[2]*a+r[2]*l+i[2]*u+n[2]*c,e},inverse:M,len:F,length:s,lerp:I,max:m,min:y,mul:E,multiply:c,negate:S,normalize:_,random:function(e,t=1){const r=n.Ov,i=2*r()*Math.PI,s=2*r()-1,o=Math.sqrt(1-s*s)*t;return e[0]=Math.cos(i)*o,e[1]=Math.sin(i)*o,e[2]=s*t,e},rotateX:function(e,t,r,i){const n=[],s=[];return n[0]=t[0]-r[0],n[1]=t[1]-r[1],n[2]=t[2]-r[2],s[0]=n[0],s[1]=n[1]*Math.cos(i)-n[2]*Math.sin(i),s[2]=n[1]*Math.sin(i)+n[2]*Math.cos(i),e[0]=s[0]+r[0],e[1]=s[1]+r[1],e[2]=s[2]+r[2],e},rotateY:function(e,t,r,i){const n=[],s=[];return n[0]=t[0]-r[0],n[1]=t[1]-r[1],n[2]=t[2]-r[2],s[0]=n[2]*Math.sin(i)+n[0]*Math.cos(i),s[1]=n[1],s[2]=n[2]*Math.cos(i)-n[0]*Math.sin(i),e[0]=s[0]+r[0],e[1]=s[1]+r[1],e[2]=s[2]+r[2],e},rotateZ:function(e,t,r,i){const n=[],s=[];return n[0]=t[0]-r[0],n[1]=t[1]-r[1],n[2]=t[2]-r[2],s[0]=n[0]*Math.cos(i)-n[1]*Math.sin(i),s[1]=n[0]*Math.sin(i)+n[1]*Math.cos(i),s[2]=n[2],e[0]=s[0]+r[0],e[1]=s[1]+r[1],e[2]=s[2]+r[2],e},round:function(e,t){return e[0]=Math.round(t[0]),e[1]=Math.round(t[1]),e[2]=Math.round(t[2]),e},scale:f,scaleAndAdd:g,set:a,sign:h,sqrDist:L,sqrLen:q,squaredDistance:b,squaredLength:w,str:function(e){return"vec3("+e[0]+", "+e[1]+", "+e[2]+")"},sub:O,subtract:u,transformMat3:Z,transformMat4:j,transformQuat:N},Symbol.toStringTag,{value:"Module"}))},46130:(e,t,r)=>{r.d(t,{v:()=>n});var i=r(76553);function n(e){e?.writtenProperties&&e.writtenProperties.forEach((({target:e,propName:t,newOrigin:r})=>{(0,i.H)(e)&&r&&e.originOf(t)!==r&&e.updateOrigin(t,r)}))}},52136:(e,t,r)=>{r.d(t,{p:()=>o});var i=r(90237),n=r(10107),s=(r(44208),r(53966),r(87811),r(40608));const o=e=>{let t=class extends e{get apiKey(){return this._isOverridden("apiKey")?this._get("apiKey"):"portalItem"in this?this.portalItem?.apiKey:null}set apiKey(e){null!=e?this._override("apiKey",e):(this._clearOverride("apiKey"),this.clear("apiKey","user"))}};return(0,i._)([(0,n.MZ)({type:String})],t.prototype,"apiKey",null),t=(0,i._)([(0,s.$)("esri.layers.mixins.APIKeyMixin")],t),t}},54239:(e,t,r)=>{r.d(t,{A:()=>b});var i,n=r(90237),s=r(4576),o=r(66552),a=r(25482),l=r(83047),u=r(67076),c=r(10107),p=(r(44208),r(53966),r(36005)),d=r(40608),h=r(43937);const y=(0,o.O)()({orthometric:"gravity-related-height",gravity_related_height:"gravity-related-height",ellipsoidal:"ellipsoidal"}),m=y.jsonValues.slice();(0,s.Xy)(m,"orthometric");const f=(0,o.O)()({meter:"meters",foot:"feet","us-foot":"us-feet","clarke-foot":"clarke-feet","clarke-yard":"clarke-yards","clarke-link":"clarke-links","sears-yard":"sears-yards","sears-foot":"sears-feet","sears-chain":"sears-chains","benoit-1895-b-chain":"benoit-1895-b-chains","indian-yard":"indian-yards","indian-1937-yard":"indian-1937-yards","gold-coast-foot":"gold-coast-feet","sears-1922-truncated-chain":"sears-1922-truncated-chains","50-kilometers":"50-kilometers","150-kilometers":"150-kilometers"});let g=i=class extends a.A{constructor(e){super(e),this.heightModel="gravity-related-height",this.heightUnit="meters",this.vertCRS=null}writeHeightModel(e,t,r){return y.write(e,t,r)}readHeightModel(e,t,r){return y.read(e)||(r?.messages&&r.messages.push(function(e,t){return new u.A("height-model:unsupported",`Height model of value '${e}' is not supported`,t)}(e,{context:r})),null)}readHeightUnit(e,t,r){return f.read(e)||(r?.messages&&r.messages.push(v(e,{context:r})),null)}readHeightUnitService(e,t,r){return(0,l.LA)(e)||f.read(e)||(r?.messages&&r.messages.push(v(e,{context:r})),null)}readVertCRS(e,t){return t.vertCRS||t.ellipsoid||t.geoid}clone(){return new i({heightModel:this.heightModel,heightUnit:this.heightUnit,vertCRS:this.vertCRS})}equals(e){return!!e&&(this===e||this.heightModel===e.heightModel&&this.heightUnit===e.heightUnit&&this.vertCRS===e.vertCRS)}static deriveUnitFromSR(e,t){const r=(0,l.k1)(t);return new i({heightModel:e.heightModel,heightUnit:r??void 0,vertCRS:e.vertCRS})}write(e,t){return t={origin:"web-scene",...t},super.write(e,t)}static fromJSON(e){if(!e)return null;const t=new i;return t.read(e,{origin:"web-scene"}),t}};function v(e,t){return new u.A("height-unit:unsupported",`Height unit of value '${e}' is not supported`,t)}(0,n._)([(0,c.MZ)({type:y.apiValues,constructOnly:!0,json:{origins:{"web-scene":{type:m,default:"ellipsoidal",write:{isRequired:!0}}}}})],g.prototype,"heightModel",void 0),(0,n._)([(0,h.K)("web-scene","heightModel")],g.prototype,"writeHeightModel",null),(0,n._)([(0,p.w)(["web-scene","service"],"heightModel")],g.prototype,"readHeightModel",null),(0,n._)([(0,c.MZ)({type:f.apiValues,constructOnly:!0,json:{origins:{"web-scene":{type:f.jsonValues,write:{writer:f.write,isRequired:!0}}}}})],g.prototype,"heightUnit",void 0),(0,n._)([(0,p.w)("web-scene","heightUnit")],g.prototype,"readHeightUnit",null),(0,n._)([(0,p.w)("service","heightUnit")],g.prototype,"readHeightUnitService",null),(0,n._)([(0,c.MZ)({type:String,constructOnly:!0,json:{origins:{"web-scene":{write:!0}}}})],g.prototype,"vertCRS",void 0),(0,n._)([(0,p.w)("service","vertCRS",["vertCRS","ellipsoid","geoid"])],g.prototype,"readVertCRS",null),g=i=(0,n._)([(0,d.$)("esri.geometry.HeightModelInfo")],g);const b=g},58947:(e,t,r)=>{r.d(t,{Xh:()=>P,w6:()=>A});var i=r(90237),n=r(78888),s=r(49186),o=r(53966),a=r(74887),l=r(84952),u=r(10107),c=(r(44208),r(87811),r(36005)),p=r(40608),d=r(43937),h=r(46130),y=r(5443),m=r(54239),f=r(16930),g=r(60694),v=r(10873),b=r(83898);var w=r(20655),S=r(80812),M=r(88788),_=r(91682),x=r(26121);const A=e=>{let t=class extends e{constructor(){super(...arguments),this.spatialReference=null,this.fullExtent=null,this.heightModelInfo=null,this.minScale=0,this.maxScale=0,this.version={major:Number.NaN,minor:Number.NaN,versionString:""},this.copyright=null,this.sublayerTitleMode="item-title",this.title=null,this.layerId=null,this.indexInfo=null,this._debouncedSaveOperations=(0,a.sg)((async(e,t,r)=>{switch(e){case P.SAVE:return this._save(t);case P.SAVE_AS:return this._saveAs(r,t)}}))}readSpatialReference(e,t){return j(t)}readFullExtent(e,t,r){if(null!=e&&"object"==typeof e){const i=null==e.spatialReference?{...e,spatialReference:j(t)}:e;return y.A.fromJSON(i,r)}const i=t.store,n=j(t);return null==n||null==i?.extent||!Array.isArray(i.extent)||i.extent.some((e=>e<I))?null:new y.A({xmin:i.extent[0],ymin:i.extent[1],xmax:i.extent[2],ymax:i.extent[3],spatialReference:n})}parseVersionString(e){const t={major:Number.NaN,minor:Number.NaN,versionString:e},r=e.split(".");return r.length>=2&&(t.major=parseInt(r[0],10),t.minor=parseInt(r[1],10)),t}readVersion(e,t){const r=t.store,i=null!=r.version?r.version.toString():"";return this.parseVersionString(i)}readTitlePortalItem(e){return"item-title"!==this.sublayerTitleMode?void 0:e}readTitleService(e,t){const r=this.portalItem?.title;if("item-title"===this.sublayerTitleMode)return this.url?(0,g.yG)(this.url,t.name):t.name;let i=t.name;if(!i&&this.url){const e=(0,g.qg)(this.url);null!=e&&(i=e.title)}return"item-title-and-service-name"===this.sublayerTitleMode&&r&&(i=r+" - "+i),(0,g.cr)(i)}set url(e){if(null==e)return void this._set("url",e);const t=(0,g.HZ)({layer:this,url:e,nonStandardUrlAllowed:!1,logger:o.A.getLogger(this)});this._set("url",t.url),null!=t.layerId&&this._set("layerId",t.layerId)}writeUrl(e,t,r,i){(0,g.LS)(this,e,"layers",t,i)}get parsedUrl(){const e=this._get("url"),t=(0,l.An)(e);return t&&null!=this.layerId&&(t.path=`${t.path}/layers/${this.layerId}`),t}async _fetchIndexAndUpdateExtent(e,t){this.indexInfo=(0,b.F)(this.parsedUrl?.path??"",this.rootNode,e,this.customParameters,this.apiKey,o.A.getLogger(this),t),null==this.fullExtent||this.fullExtent.hasZ||this._updateExtent(await this.indexInfo)}_updateExtent(e){if("page"===e?.type){const t=e.rootIndex%e.pageSize,r=e.rootPage?.nodes?.[t];if(null==r?.obb?.center||null==r.obb.halfSize)throw new s.A("sceneservice:invalid-node-page","Invalid node page.");if(r.obb.center[0]<I||null==this.fullExtent||this.fullExtent.hasZ)return;const i=r.obb.halfSize,n=r.obb.center[2],o=Math.sqrt(i[0]*i[0]+i[1]*i[1]+i[2]*i[2]);this.fullExtent.zmin=n-o,this.fullExtent.zmax=n+o}else if("node"===e?.type){const t=e.rootNode?.mbs;if(!Array.isArray(t)||4!==t.length||t[0]<I)return;const r=t[2],i=t[3],{fullExtent:n}=this;n&&(n.zmin=r-i,n.zmax=r+i)}}async _fetchService(e){if(null==this.url)throw new s.A("sceneservice:url-not-set","Scene service can not be loaded without valid portal item or url");if(null==this.layerId&&/SceneServer\/*$/i.test(this.url)){const t=await this._fetchFirstLayerId(e);null!=t&&(this.layerId=t)}return this._fetchServiceLayer(e)}async _fetchFirstLayerId(e){const t=await(0,n.A)(this.url??"",{query:{f:"json",...this.customParameters,token:this.apiKey},responseType:"json",signal:e});if(t.data&&Array.isArray(t.data.layers)&&t.data.layers.length>0)return t.data.layers[0].id}async _fetchServiceLayer(e){const t=await(0,n.A)(this.parsedUrl?.path??"",{query:{f:"json",...this.customParameters,token:this.apiKey},responseType:"json",signal:e});t.ssl&&this.url&&(this.url=this.url.replace(/^http:/i,"https:"));let r=!1;if(t.data.layerType&&"Voxel"===t.data.layerType&&(r=!0),r)return this._fetchVoxelServiceLayer();const i=t.data;this.read(i,this._getServiceContext()),this.validateLayer(i)}async _fetchVoxelServiceLayer(e){const t=(await(0,n.A)(this.parsedUrl?.path+"/layer",{query:{f:"json",...this.customParameters,token:this.apiKey},responseType:"json",signal:e})).data;this.read(t,this._getServiceContext()),this.validateLayer(t)}_getServiceContext(){return{origin:"service",portalItem:this.portalItem,portal:this.portalItem?.portal,url:this.parsedUrl}}async _ensureLoadBeforeSave(){await this.load(),"beforeSave"in this&&"function"==typeof this.beforeSave&&await this.beforeSave()}validateLayer(e){}async _saveAs(e,t){const r={...V,...t};let i=S.default.from(e);if(!i)throw new s.A("sceneservice:portal-item-required","_saveAs() requires a portal item to save to");i.id&&(i=i.clone(),i.id=null);const n=i.portal||w.A.getDefault();await this._ensureLoadBeforeSave(),i.type=R,i.portal=n;const o=(0,M.m)(i,"portal-item",!0),a={layers:[this.write({},o)]};return await Promise.all(o.resources.pendingOperations??[]),await this._validateAgainstJSONSchema(a,o,r),this.url&&(i.url=this.url),i.title||(i.title=this.title),Z(i,r,N.newItem),await n.signIn(),await n.user.addItem({item:i,folder:r?.folder,data:a}),await(0,_.r)(this.resourceReferences,o),this.portalItem=i,(0,h.v)(o),o.portalItem=i,i}async _save(e){const t={...V,...e};if(!this.portalItem)throw new s.A("sceneservice:portal-item-not-set","Portal item to save to has not been set on this SceneService");if(this.portalItem.type!==R)throw new s.A("sceneservice:portal-item-wrong-type",`Portal item needs to have type "${R}"`);await this._ensureLoadBeforeSave();const r=(0,M.m)(this.portalItem,"portal-item",!0),i={layers:[this.write({},r)]};return await Promise.all(r.resources.pendingOperations??[]),await this._validateAgainstJSONSchema(i,r,t),this.url&&(this.portalItem.url=this.url),this.portalItem.title||(this.portalItem.title=this.title),Z(this.portalItem,t,N.existingItem),await(0,_.S)(this.portalItem,i,this.resourceReferences,r),(0,h.v)(r),this.portalItem}async _validateAgainstJSONSchema(e,t,r){const i=r?.validationOptions;(0,x.c)(t,{errorName:"sceneservice:save"},{ignoreUnsupported:i?.ignoreUnsupported,supplementalUnsupportedErrors:["scenemodification:unsupported"]});const n=i?.enabled,a=null;if(n&&a){const t=(await a()).validate(e,r.portalItemLayerType);if(!t.length)return;const n=`Layer item did not validate:\n${t.join("\n")}`;if(o.A.getLogger(this).error(`_validateAgainstJSONSchema(): ${n}`),"throw"===i.failPolicy){const e=t.map((e=>new s.A("sceneservice:schema-validation",e)));throw new s.A("sceneservice-validate:error","Failed to save layer item due to schema validation, see `details.errors`.",{validationErrors:e})}}}};return(0,i._)([(0,u.MZ)(v.id)],t.prototype,"id",void 0),(0,i._)([(0,u.MZ)({type:f.A})],t.prototype,"spatialReference",void 0),(0,i._)([(0,c.w)("spatialReference",["spatialReference","store.indexCRS","store.geographicCRS"])],t.prototype,"readSpatialReference",null),(0,i._)([(0,u.MZ)({type:y.A})],t.prototype,"fullExtent",void 0),(0,i._)([(0,c.w)("fullExtent",["fullExtent","store.extent","spatialReference","store.indexCRS","store.geographicCRS"])],t.prototype,"readFullExtent",null),(0,i._)([(0,u.MZ)({readOnly:!0,type:m.A})],t.prototype,"heightModelInfo",void 0),(0,i._)([(0,u.MZ)({type:Number,json:{name:"layerDefinition.minScale",write:!0,origins:{service:{read:{source:"minScale"},write:!1}}}})],t.prototype,"minScale",void 0),(0,i._)([(0,u.MZ)({type:Number,json:{name:"layerDefinition.maxScale",write:!0,origins:{service:{read:{source:"maxScale"},write:!1}}}})],t.prototype,"maxScale",void 0),(0,i._)([(0,u.MZ)({readOnly:!0})],t.prototype,"version",void 0),(0,i._)([(0,c.w)("version",["store.version"])],t.prototype,"readVersion",null),(0,i._)([(0,u.MZ)({type:String,json:{read:{source:"copyrightText"}}})],t.prototype,"copyright",void 0),(0,i._)([(0,u.MZ)({type:String,json:{read:!1}})],t.prototype,"sublayerTitleMode",void 0),(0,i._)([(0,u.MZ)({type:String})],t.prototype,"title",void 0),(0,i._)([(0,c.w)("portal-item","title")],t.prototype,"readTitlePortalItem",null),(0,i._)([(0,c.w)("service","title",["name"])],t.prototype,"readTitleService",null),(0,i._)([(0,u.MZ)({type:Number,json:{origins:{service:{read:{source:"id"}},"portal-item":{write:{target:"id",isRequired:!0,ignoreOrigin:!0},read:!1}}}})],t.prototype,"layerId",void 0),(0,i._)([(0,u.MZ)(v.OZ)],t.prototype,"url",null),(0,i._)([(0,d.K)("url")],t.prototype,"writeUrl",null),(0,i._)([(0,u.MZ)()],t.prototype,"parsedUrl",null),(0,i._)([(0,u.MZ)({readOnly:!0})],t.prototype,"store",void 0),(0,i._)([(0,u.MZ)({type:String,readOnly:!0,json:{read:{source:"store.rootNode"}}})],t.prototype,"rootNode",void 0),t=(0,i._)([(0,p.$)("esri.layers.mixins.SceneService")],t),t},I=-1e38;function j(e){if(null!=e.spatialReference)return f.A.fromJSON(e.spatialReference);const t=e.store,r=t.indexCRS||t.geographicCRS,i=r&&parseInt(r.slice(r.lastIndexOf("/")+1),10);return null!=i?new f.A(i):null}function Z(e,t,r){e.typeKeywords||(e.typeKeywords=[]);const i=t.getTypeKeywords();for(const t of i)e.typeKeywords.push(t);e.typeKeywords&&(e.typeKeywords=e.typeKeywords.filter(((e,t,r)=>r.indexOf(e)===t)),r===N.newItem&&(e.typeKeywords=e.typeKeywords.filter((e=>"Hosted Service"!==e))))}var N,T;(T=N||(N={}))[T.existingItem=0]="existingItem",T[T.newItem=1]="newItem";const R="Scene Service",V={getTypeKeywords:()=>[],portalItemLayerType:"unknown",validationOptions:{enabled:!0,ignoreUnsupported:!1,failPolicy:"throw"}};var P;!function(e){e[e.SAVE=0]="SAVE",e[e.SAVE_AS=1]="SAVE_AS"}(P||(P={}))},62885:(e,t,r)=>{r.d(t,{H:()=>s,V:()=>n});var i=r(5503);function n(e,t,r=i.A){return t||(t=new r),t===e||(t.removeAll(),(n=e)&&(Array.isArray(n)||"items"in n&&Array.isArray(n.items))?t.addMany(e):e&&t.add(e)),t;var n}function s(e){return e}},67026:(e,t,r)=>{r.d(t,{A6:()=>m,Xd:()=>c,Xr:()=>h,hZ:()=>g,lw:()=>p,t2:()=>Z,x8:()=>u});var i=r(29242),n=r(82534),s=r(51850),o=r(34304),a=r(38954),l=r(87317);function u(e,t,r){r*=.5;const i=Math.sin(r);return e[0]=i*t[0],e[1]=i*t[1],e[2]=i*t[2],e[3]=Math.cos(r),e}function c(e,t){const r=2*Math.acos(t[3]),i=Math.sin(r/2);return i>(0,o.FD)()?(e[0]=t[0]/i,e[1]=t[1]/i,e[2]=t[2]/i):(e[0]=1,e[1]=0,e[2]=0),r}function p(e,t,r){const i=t[0],n=t[1],s=t[2],o=t[3],a=r[0],l=r[1],u=r[2],c=r[3];return e[0]=i*c+o*a+n*u-s*l,e[1]=n*c+o*l+s*a-i*u,e[2]=s*c+o*u+i*l-n*a,e[3]=o*c-i*a-n*l-s*u,e}function d(e,t,r,i){const n=t[0],s=t[1],a=t[2],l=t[3];let u,c,p,d,h,y=r[0],m=r[1],f=r[2],g=r[3];return c=n*y+s*m+a*f+l*g,c<0&&(c=-c,y=-y,m=-m,f=-f,g=-g),1-c>(0,o.FD)()?(u=Math.acos(c),p=Math.sin(u),d=Math.sin((1-i)*u)/p,h=Math.sin(i*u)/p):(d=1-i,h=i),e[0]=d*n+h*y,e[1]=d*s+h*m,e[2]=d*a+h*f,e[3]=d*l+h*g,e}function h(e,t){return e[0]=-t[0],e[1]=-t[1],e[2]=-t[2],e[3]=t[3],e}function y(e,t){const r=t[0]+t[4]+t[8];let i;if(r>0)i=Math.sqrt(r+1),e[3]=.5*i,i=.5/i,e[0]=(t[5]-t[7])*i,e[1]=(t[6]-t[2])*i,e[2]=(t[1]-t[3])*i;else{let r=0;t[4]>t[0]&&(r=1),t[8]>t[3*r+r]&&(r=2);const n=(r+1)%3,s=(r+2)%3;i=Math.sqrt(t[3*r+r]-t[3*n+n]-t[3*s+s]+1),e[r]=.5*i,i=.5/i,e[3]=(t[3*n+s]-t[3*s+n])*i,e[n]=(t[3*n+r]+t[3*r+n])*i,e[s]=(t[3*s+r]+t[3*r+s])*i}return e}function m(e,t,r,i){const n=.5*Math.PI/180;t*=n,r*=n,i*=n;const s=Math.sin(t),o=Math.cos(t),a=Math.sin(r),l=Math.cos(r),u=Math.sin(i),c=Math.cos(i);return e[0]=s*l*c-o*a*u,e[1]=o*a*c+s*l*u,e[2]=o*l*u-s*a*c,e[3]=o*l*c+s*a*u,e}const f=l.c,g=l.s,v=l.g,b=p,w=l.b,S=l.h,M=l.l,_=l.j,x=_,A=l.f,I=A,j=l.n,Z=l.a,N=l.e,T=(0,s.vt)(),R=(0,s.fA)(1,0,0),V=(0,s.fA)(0,1,0),P=(0,n.vt)(),O=(0,n.vt)(),E=(0,i.vt)();Object.freeze(Object.defineProperty({__proto__:null,add:v,calculateW:function(e,t){const r=t[0],i=t[1],n=t[2];return e[0]=r,e[1]=i,e[2]=n,e[3]=Math.sqrt(Math.abs(1-r*r-i*i-n*n)),e},conjugate:h,copy:f,dot:S,equals:N,exactEquals:Z,fromEuler:m,fromMat3:y,getAxisAngle:c,identity:function(e){return e[0]=0,e[1]=0,e[2]=0,e[3]=1,e},invert:function(e,t){const r=t[0],i=t[1],n=t[2],s=t[3],o=r*r+i*i+n*n+s*s,a=o?1/o:0;return e[0]=-r*a,e[1]=-i*a,e[2]=-n*a,e[3]=s*a,e},len:x,length:_,lerp:M,mul:b,multiply:p,normalize:j,random:function(e){const t=o.Ov,r=t(),i=t(),n=t(),s=Math.sqrt(1-r),a=Math.sqrt(r);return e[0]=s*Math.sin(2*Math.PI*i),e[1]=s*Math.cos(2*Math.PI*i),e[2]=a*Math.sin(2*Math.PI*n),e[3]=a*Math.cos(2*Math.PI*n),e},rotateX:function(e,t,r){r*=.5;const i=t[0],n=t[1],s=t[2],o=t[3],a=Math.sin(r),l=Math.cos(r);return e[0]=i*l+o*a,e[1]=n*l+s*a,e[2]=s*l-n*a,e[3]=o*l-i*a,e},rotateY:function(e,t,r){r*=.5;const i=t[0],n=t[1],s=t[2],o=t[3],a=Math.sin(r),l=Math.cos(r);return e[0]=i*l-s*a,e[1]=n*l+o*a,e[2]=s*l+i*a,e[3]=o*l-n*a,e},rotateZ:function(e,t,r){r*=.5;const i=t[0],n=t[1],s=t[2],o=t[3],a=Math.sin(r),l=Math.cos(r);return e[0]=i*l+n*a,e[1]=n*l-i*a,e[2]=s*l+o*a,e[3]=o*l-s*a,e},rotationTo:function(e,t,r){const i=(0,a.f)(t,r);return i<-.999999?((0,a.e)(T,R,t),(0,a.I)(T)<1e-6&&(0,a.e)(T,V,t),(0,a.n)(T,T),u(e,T,Math.PI),e):i>.999999?(e[0]=0,e[1]=0,e[2]=0,e[3]=1,e):((0,a.e)(T,t,r),e[0]=T[0],e[1]=T[1],e[2]=T[2],e[3]=1+i,j(e,e))},scale:w,set:g,setAxes:function(e,t,r,i){const n=E;return n[0]=r[0],n[3]=r[1],n[6]=r[2],n[1]=i[0],n[4]=i[1],n[7]=i[2],n[2]=-t[0],n[5]=-t[1],n[8]=-t[2],j(e,y(e,n))},setAxisAngle:u,slerp:d,sqlerp:function(e,t,r,i,n,s){return d(P,t,n,s),d(O,r,i,s),d(e,P,O,2*s*(1-s)),e},sqrLen:I,squaredLength:A,str:function(e){return"quat("+e[0]+", "+e[1]+", "+e[2]+", "+e[3]+")"}},Symbol.toStringTag,{value:"Module"}))},68197:(e,t,r)=>{r.d(t,{A:()=>p});var i,n,s=r(40876),o=r(34727),a=r(56507);function l(e){return(0,o.qE)((0,a.Vr)(e),0,255)}function u(e,t,r){return e=Number(e),isNaN(e)?r:e<t?t:e>r?r:e}function c(e,t){const r=e.toString(16).padStart(2,"0");return t?r.slice(0,1):r}class p{static blendColors(e,t,r,i=new p){return i.r=Math.round(e.r+(t.r-e.r)*r),i.g=Math.round(e.g+(t.g-e.g)*r),i.b=Math.round(e.b+(t.b-e.b)*r),i.a=e.a+(t.a-e.a)*r,i._sanitize()}static fromRgb(e,t){const r=e.toLowerCase().match(/^(rgba?|hsla?)\(([\s.\-,%0-9]+)\)/);if(r){const e=r[2].split(/\s*,\s*/),i=r[1];if("rgb"===i&&3===e.length||"rgba"===i&&4===e.length){const r=e[0];if("%"===r.charAt(r.length-1)){const r=e.map((e=>2.56*parseFloat(e)));return 4===e.length&&(r[3]=parseFloat(e[3])),p.fromArray(r,t)}return p.fromArray(e.map((e=>parseFloat(e))),t)}if("hsl"===i&&3===e.length||"hsla"===i&&4===e.length)return p.fromArray((0,s.z$)(parseFloat(e[0]),parseFloat(e[1])/100,parseFloat(e[2])/100,parseFloat(e[3])),t)}return null}static fromHex(e,t=new p){if("#"!==e[0]||isNaN(Number(`0x${e.slice(1)}`)))return null;switch(e.length){case 4:case 5:{const r=parseInt(e.slice(1,2),16),i=parseInt(e.slice(2,3),16),n=parseInt(e.slice(3,4),16),s=5===e.length?15:parseInt(e.slice(4),16);return p.fromArray([r+16*r,i+16*i,n+16*n,(s+16*s)/255],t)}case 7:case 9:{const r=parseInt(e.slice(1,3),16),i=parseInt(e.slice(3,5),16),n=parseInt(e.slice(5,7),16),s=7===e.length?255:parseInt(e.slice(7),16);return p.fromArray([r,i,n,s/255],t)}default:return null}}static fromArray(e,t=new p){return t._set(Number(e[0]),Number(e[1]),Number(e[2]),Number(e[3])),isNaN(t.a)&&(t.a=1),t._sanitize()}static fromString(e,t){const r=(0,s.V6)(e)?(0,s.TS)(e):null;return r&&p.fromArray(r,t)||p.fromRgb(e,t)||p.fromHex(e,t)}static fromJSON(e){return null!=e?new p([e[0],e[1],e[2],(e[3]??255)/255]):void 0}static toUnitRGB(e){return null!=e?[e.r/255,e.g/255,e.b/255]:null}static toUnitRGBA(e){return null!=e?[e.r/255,e.g/255,e.b/255,null!=e.a?e.a:1]:null}constructor(e){this.r=255,this.g=255,this.b=255,this.a=1,e&&this.setColor(e)}get isBright(){return.299*this.r+.587*this.g+.114*this.b>=127}setColor(e){return"string"==typeof e?p.fromString(e,this):Array.isArray(e)?p.fromArray(e,this):(this._set(e.r??0,e.g??0,e.b??0,e.a??1),e instanceof p||this._sanitize()),this}toRgb(){return[this.r,this.g,this.b]}toRgba(){return[this.r,this.g,this.b,this.a]}toHex(e){const t=e?.capitalize??!1,r=e?.digits??6,i=3===r||4===r,n=4===r||8===r,s=`#${c(this.r,i)}${c(this.g,i)}${c(this.b,i)}${n?c(Math.round(255*this.a),i):""}`;return t?s.toUpperCase():s}toCss(e=!1){const t=this.r+", "+this.g+", "+this.b;return e?`rgba(${t}, ${this.a})`:`rgb(${t})`}toString(){return this.toCss(!0)}toJSON(){return this.toArray()}toArray(e=p.AlphaMode.ALWAYS){const t=l(this.r),r=l(this.g),i=l(this.b);return e===p.AlphaMode.ALWAYS||1!==this.a?[t,r,i,l(255*this.a)]:[t,r,i]}clone(){return new p(this.toRgba())}hash(){return this.r<<24|this.g<<16|this.b<<8|255*this.a}equals(e){return null!=e&&e.r===this.r&&e.g===this.g&&e.b===this.b&&e.a===this.a}_sanitize(){return this.r=Math.round(u(this.r,0,255)),this.g=Math.round(u(this.g,0,255)),this.b=Math.round(u(this.b,0,255)),this.a=u(this.a,0,1),this}_set(e,t,r,i){this.r=e,this.g=t,this.b=r,this.a=i}}p.prototype.declaredClass="esri.Color",(n=(i=p).AlphaMode||(i.AlphaMode={}))[n.ALWAYS=0]="ALWAYS",n[n.UNLESS_OPAQUE=1]="UNLESS_OPAQUE"},69052:(e,t,r)=>{r.d(t,{ie:()=>a});var i=r(34727);class n{constructor(e,t){this.min=e,this.max=t,this.range=t-e}normalize(e,t=0,r=!1){return s(this.range,this.min,this.max,e,t,r)}clamp(e,t=0){return(0,i.qE)(e-t,this.min,this.max)+t}monotonic(e,t,r){return e<t?t:t+o(this.range,e-t,r)}minimalMonotonic(e,t,r){return s(this.range,e,e+this.range,t,r)}center(e,t,r){return t=this.monotonic(e,t,r),this.normalize((e+t)/2,r)}diff(e,t,r){return this.monotonic(e,t,r)-e}shortestSignedDiff(e,t){e=this.normalize(e);const r=(t=this.normalize(t))-e,i=t<e?this.minimalMonotonic(e,t)-e:t-this.minimalMonotonic(t,e);return Math.abs(r)<Math.abs(i)?r:i}contains(e,t,r){return t=this.minimalMonotonic(e,t),(r=this.minimalMonotonic(e,r))>e&&r<t}}function s(e,t,r,i,n=0,s=!1){return(i-=n)<t?i+=o(e,t-i):i>r&&(i-=o(e,i-r)),s&&i===r&&(i=t),i+n}function o(e,t,r=0){return Math.ceil((t-r)/e)*e+r}new n(0,2*Math.PI),new n(-Math.PI,Math.PI);const a=new n(0,360)},69208:(e,t,r)=>{r.d(t,{d:()=>o});var i=r(90237),n=r(10107),s=(r(44208),r(53966),r(87811),r(40608));const o=e=>{let t=class extends e{constructor(){super(...arguments),this.customParameters=null}};return(0,i._)([(0,n.MZ)({type:Object,json:{write:{overridePolicy:e=>({enabled:!!(e&&Object.keys(e).length>0)})}}})],t.prototype,"customParameters",void 0),t=(0,i._)([(0,s.$)("esri.layers.mixins.CustomParametersMixin")],t),t}},69540:(e,t,r)=>{r.d(t,{A:()=>d});var i=r(90237),n=r(69622),s=(r(44208),r(4718)),o=(r(53966),r(97768)),a=r(35666),l=r(88620),u=r(40608);const c=e=>{let t=class extends e{clone(){const e=(0,l.oY)(this);(0,o.Lw)(e,"unable to clone instance of non-accessor class");const t=e.metadata,r=e.store,i={},n=new Map;for(const e in t){const o=t[e],l=r?.originOf(e),u=o.clonable;if(o.readOnly||!1===u||l!==a.Gr.USER&&l!==a.Gr.DEFAULTS&&l!==a.Gr.WEB_MAP&&l!==a.Gr.WEB_SCENE)continue;const c=this[e];let p=null;p="function"==typeof u?u(c):"reference"===u?c:(0,s.TU)(c),null!=c&&null==p||(l===a.Gr.DEFAULTS?n.set(e,p):i[e]=p)}const u=new(0,Object.getPrototypeOf(this).constructor)(i);if(n.size){const e=(0,l.oY)(u)?.store;if(e)for(const[t,r]of n)e.set(t,r,a.Gr.DEFAULTS)}return u}};return t=(0,i._)([(0,u.$)("esri.core.Clonable")],t),t};let p=class extends(c(n.A)){};p=(0,i._)([(0,u.$)("esri.core.Clonable")],p),(p||(p={})).ClonableMixin=c;const d=p},73133:(e,t,r)=>{r.d(t,{j:()=>i});const i=(0,r(66552).O)()({esriTimeUnitsMilliseconds:"milliseconds",esriTimeUnitsSeconds:"seconds",esriTimeUnitsMinutes:"minutes",esriTimeUnitsHours:"hours",esriTimeUnitsDays:"days",esriTimeUnitsWeeks:"weeks",esriTimeUnitsMonths:"months",esriTimeUnitsYears:"years",esriTimeUnitsDecades:"decades",esriTimeUnitsCenturies:"centuries",esriTimeUnitsUnknown:void 0})},76553:(e,t,r)=>{function i(e){return e&&"getAtOrigin"in e&&"originOf"in e}r.d(t,{H:()=>i})},79677:(e,t,r)=>{r.d(t,{A:()=>h});var i,n=r(90237),s=r(25482),o=r(88930),a=r(10107),l=(r(44208),r(53966),r(87811),r(36005)),u=r(40608),c=r(43937),p=r(98623);let d=class extends s.A{static{i=this}static get allTime(){return y}static get empty(){return m}static fromArray(e){return new i({start:null!=e[0]?new Date(e[0]):e[0],end:null!=e[1]?new Date(e[1]):e[1]})}constructor(e){super(e),this.end=null,this.start=null}readEnd(e,t){return null!=t.end?new Date(t.end):null}writeEnd(e,t){t.end=e?.getTime()??null}get isAllTime(){return this.equals(i.allTime)}get isEmpty(){return this.equals(i.empty)}readStart(e,t){return null!=t.start?new Date(t.start):null}writeStart(e,t){t.start=e?.getTime()??null}clone(){return new i({end:this.end,start:this.start})}equals(e){if(!e)return!1;const t=this.start?.getTime()??this.start,r=this.end?.getTime()??this.end,i=e.start?.getTime()??e.start,n=e.end?.getTime()??e.end;return t===i&&r===n}expandTo(e,t=p.qU){if(this.isEmpty||this.isAllTime)return this.clone();let r=this.start;r&&(r=(0,o.lL)(r,e,t));let n=this.end;if(n){const r=(0,o.lL)(n,e,t);n=n.getTime()===r.getTime()?r:(0,o.S1)(r,1,e,t)}return new i({start:r,end:n})}intersection(e){if(!e)return this.clone();if(this.isEmpty||e.isEmpty)return i.empty;if(this.isAllTime)return e.clone();if(e.isAllTime)return this.clone();const t=this.start?.getTime()??-1/0,r=this.end?.getTime()??1/0,n=e.start?.getTime()??-1/0,s=e.end?.getTime()??1/0;let o,a;return n>=t&&n<=r?o=n:t>=n&&t<=s&&(o=t),r>=n&&r<=s?a=r:s>=t&&s<=r&&(a=s),null==o||null==a||isNaN(o)||isNaN(a)?i.empty:new i({start:o===-1/0?null:new Date(o),end:a===1/0?null:new Date(a)})}offset(e,t,r=p.qU){if(this.isEmpty||this.isAllTime)return this.clone();const n=new i,{start:s,end:a}=this;return null!=s&&(n.start=(0,o.S1)(s,e,t,r)),null!=a&&(n.end=(0,o.S1)(a,e,t,r)),n}toArray(){return this.isEmpty?[void 0,void 0]:[this.start?.getTime()??null,this.end?.getTime()??null]}union(e){if(!e||e.isEmpty)return this.clone();if(this.isEmpty)return e.clone();if(this.isAllTime||e.isAllTime)return y.clone();const t=null!=this.start&&null!=e.start?new Date(Math.min(this.start.getTime(),e.start.getTime())):null,r=null!=this.end&&null!=e.end?new Date(Math.max(this.end.getTime(),e.end.getTime())):null;return new i({start:t,end:r})}};(0,n._)([(0,a.MZ)({type:Date,json:{write:{allowNull:!0}}})],d.prototype,"end",void 0),(0,n._)([(0,l.w)("end")],d.prototype,"readEnd",null),(0,n._)([(0,c.K)("end")],d.prototype,"writeEnd",null),(0,n._)([(0,a.MZ)({readOnly:!0,json:{read:!1}})],d.prototype,"isAllTime",null),(0,n._)([(0,a.MZ)({readOnly:!0,json:{read:!1}})],d.prototype,"isEmpty",null),(0,n._)([(0,a.MZ)({type:Date,json:{write:{allowNull:!0}}})],d.prototype,"start",void 0),(0,n._)([(0,l.w)("start")],d.prototype,"readStart",null),(0,n._)([(0,c.K)("start")],d.prototype,"writeStart",null),d=i=(0,n._)([(0,u.$)("esri.time.TimeExtent")],d);const h=d,y=new d,m=new d({start:void 0,end:void 0})},80200:(e,t,r)=>{r.d(t,{T:()=>i,d:()=>m});const i={Base64:0,Hex:1,String:2,Raw:3},n=8,s=(1<<n)-1;function o(e,t){const r=(65535&e)+(65535&t);return(e>>16)+(t>>16)+(r>>16)<<16|65535&r}function a(e){const t=[];for(let r=0,i=e.length*n;r<i;r+=n)t[r>>5]|=(e.charCodeAt(r/n)&s)<<r%32;return t}function l(e){const t=[];for(let r=0,i=32*e.length;r<i;r+=n)t.push(String.fromCharCode(e[r>>5]>>>r%32&s));return t.join("")}function u(e,t,r,i,n,s){return o(function(e,t){return e<<t|e>>>32-t}(o(o(t,e),o(i,s)),n),r)}function c(e,t,r,i,n,s,o){return u(t&r|~t&i,e,t,n,s,o)}function p(e,t,r,i,n,s,o){return u(t&i|r&~i,e,t,n,s,o)}function d(e,t,r,i,n,s,o){return u(t^r^i,e,t,n,s,o)}function h(e,t,r,i,n,s,o){return u(r^(t|~i),e,t,n,s,o)}function y(e,t){e[t>>5]|=128<<t%32,e[14+(t+64>>>9<<4)]=t;let r=1732584193,i=-271733879,n=-1732584194,s=271733878;for(let t=0;t<e.length;t+=16){const a=r,l=i,u=n,y=s;r=c(r,i,n,s,e[t],7,-680876936),s=c(s,r,i,n,e[t+1],12,-389564586),n=c(n,s,r,i,e[t+2],17,606105819),i=c(i,n,s,r,e[t+3],22,-1044525330),r=c(r,i,n,s,e[t+4],7,-176418897),s=c(s,r,i,n,e[t+5],12,1200080426),n=c(n,s,r,i,e[t+6],17,-1473231341),i=c(i,n,s,r,e[t+7],22,-45705983),r=c(r,i,n,s,e[t+8],7,1770035416),s=c(s,r,i,n,e[t+9],12,-1958414417),n=c(n,s,r,i,e[t+10],17,-42063),i=c(i,n,s,r,e[t+11],22,-1990404162),r=c(r,i,n,s,e[t+12],7,1804603682),s=c(s,r,i,n,e[t+13],12,-40341101),n=c(n,s,r,i,e[t+14],17,-1502002290),i=c(i,n,s,r,e[t+15],22,1236535329),r=p(r,i,n,s,e[t+1],5,-165796510),s=p(s,r,i,n,e[t+6],9,-1069501632),n=p(n,s,r,i,e[t+11],14,643717713),i=p(i,n,s,r,e[t],20,-373897302),r=p(r,i,n,s,e[t+5],5,-701558691),s=p(s,r,i,n,e[t+10],9,38016083),n=p(n,s,r,i,e[t+15],14,-660478335),i=p(i,n,s,r,e[t+4],20,-405537848),r=p(r,i,n,s,e[t+9],5,568446438),s=p(s,r,i,n,e[t+14],9,-1019803690),n=p(n,s,r,i,e[t+3],14,-187363961),i=p(i,n,s,r,e[t+8],20,1163531501),r=p(r,i,n,s,e[t+13],5,-1444681467),s=p(s,r,i,n,e[t+2],9,-51403784),n=p(n,s,r,i,e[t+7],14,1735328473),i=p(i,n,s,r,e[t+12],20,-1926607734),r=d(r,i,n,s,e[t+5],4,-378558),s=d(s,r,i,n,e[t+8],11,-2022574463),n=d(n,s,r,i,e[t+11],16,1839030562),i=d(i,n,s,r,e[t+14],23,-35309556),r=d(r,i,n,s,e[t+1],4,-1530992060),s=d(s,r,i,n,e[t+4],11,1272893353),n=d(n,s,r,i,e[t+7],16,-155497632),i=d(i,n,s,r,e[t+10],23,-1094730640),r=d(r,i,n,s,e[t+13],4,681279174),s=d(s,r,i,n,e[t],11,-358537222),n=d(n,s,r,i,e[t+3],16,-722521979),i=d(i,n,s,r,e[t+6],23,76029189),r=d(r,i,n,s,e[t+9],4,-640364487),s=d(s,r,i,n,e[t+12],11,-421815835),n=d(n,s,r,i,e[t+15],16,530742520),i=d(i,n,s,r,e[t+2],23,-995338651),r=h(r,i,n,s,e[t],6,-198630844),s=h(s,r,i,n,e[t+7],10,1126891415),n=h(n,s,r,i,e[t+14],15,-1416354905),i=h(i,n,s,r,e[t+5],21,-57434055),r=h(r,i,n,s,e[t+12],6,1700485571),s=h(s,r,i,n,e[t+3],10,-1894986606),n=h(n,s,r,i,e[t+10],15,-1051523),i=h(i,n,s,r,e[t+1],21,-2054922799),r=h(r,i,n,s,e[t+8],6,1873313359),s=h(s,r,i,n,e[t+15],10,-30611744),n=h(n,s,r,i,e[t+6],15,-1560198380),i=h(i,n,s,r,e[t+13],21,1309151649),r=h(r,i,n,s,e[t+4],6,-145523070),s=h(s,r,i,n,e[t+11],10,-1120210379),n=h(n,s,r,i,e[t+2],15,718787259),i=h(i,n,s,r,e[t+9],21,-343485551),r=o(r,a),i=o(i,l),n=o(n,u),s=o(s,y)}return[r,i,n,s]}function m(e,t=i.Hex){const r=t||i.Base64,s=y(a(e),e.length*n);switch(r){case i.Raw:return s;case i.Hex:return function(e){const t="0123456789abcdef",r=[];for(let i=0,n=4*e.length;i<n;i++)r.push(t.charAt(e[i>>2]>>i%4*8+4&15)+t.charAt(e[i>>2]>>i%4*8&15));return r.join("")}(s);case i.String:return l(s);case i.Base64:return function(e){const t=[];for(let r=0,i=4*e.length;r<i;r+=3){const i=(e[r>>2]>>r%4*8&255)<<16|(e[r+1>>2]>>(r+1)%4*8&255)<<8|e[r+2>>2]>>(r+2)%4*8&255;for(let n=0;n<4;n++)8*r+6*n>32*e.length?t.push("="):t.push("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(i>>6*(3-n)&63))}return t.join("")}(s)}}},82534:(e,t,r)=>{function i(){return[0,0,0,1]}function n(e){return[e[0],e[1],e[2],e[3]]}r.d(t,{o8:()=>n,vt:()=>i,zK:()=>s});const s=[0,0,0,1];Object.freeze(Object.defineProperty({__proto__:null,IDENTITY:s,clone:n,create:i,fromValues:function(e,t,r,i){return[e,t,r,i]}},Symbol.toStringTag,{value:"Module"}))},83898:(e,t,r)=>{r.d(t,{F:()=>s});var i=r(78888),n=r(49186);async function s(e,t,r,s,o,a,l){let u=null;if(null!=r){const t=`${e}/nodepages/`,n=t+Math.floor(r.rootIndex/r.nodesPerPage);try{return{type:"page",rootPage:(await(0,i.A)(n,{query:{f:"json",...s,token:o},responseType:"json",signal:l})).data,rootIndex:r.rootIndex,pageSize:r.nodesPerPage,lodMetric:r.lodSelectionMetricType,urlPrefix:t}}catch(e){null!=a&&a.warn("#fetchIndexInfo()","Failed to load root node page. Falling back to node documents.",n,e),u=e}}if(!t)return null;const c=t?.split("/").pop(),p=`${e}/nodes/`,d=p+c;try{return{type:"node",rootNode:(await(0,i.A)(d,{query:{f:"json",...s,token:o},responseType:"json",signal:l})).data,urlPrefix:p}}catch(e){throw new n.A("sceneservice:root-node-missing","Root node missing.",{pageError:u,nodeError:e,url:d})}}},85648:(e,t,r)=>{r.d(t,{n:()=>n});var i=r(84952);function n(e){return s[function(e){return"json"===e.type?"application/json":"blob"===e.type?e.blob.type:function(e){const t=(0,i.Zo)(e);return l[t]||o}(e.url)}(e)]||a}const s={},o="text/plain",a=s[o],l={png:"image/png",jpeg:"image/jpeg",jpg:"image/jpg",bmp:"image/bmp",gif:"image/gif",json:"application/json",txt:"text/plain",xml:"application/xml",svg:"image/svg+xml",zip:"application/zip",pbf:"application/vnd.mapbox-vector-tile",gz:"application/gzip","bin.gz":"application/octet-stream"};for(const e in l)s[l[e]]=e},87024:(e,t,r)=>{r.d(t,{P:()=>h});var i=r(49186),n=r(80200),s=r(76553),o=r(84952),a=r(13069),l=r(96156),u=r(35666),c=r(10107),p=r(85648),d=r(97159);function h(e){const t=e?.origins??[void 0];return(r,i)=>{const n=function(e,t,r){if("resource"===e?.type)return function(e,t,r){const i=(0,l.z4)(t,r);return{type:String,read:(e,t,r)=>{const n=(0,d.r)(e,t,r);return i.type===String?n:"function"==typeof i.type?new i.type({url:n}):void 0},write:{isRequired:i.json?.write?.isRequired,writer(t,n,a,l){if(!l?.resources)return"string"==typeof t?void(n[a]=(0,d.t)(t,l)):void(n[a]=t.write({},l));const c=function(e){return null==e?null:"string"==typeof e?e:e.url}(t),h=(0,d.t)(c,{...l,verifyItemRelativeUrls:l?.verifyItemRelativeUrls?{writtenUrls:l.verifyItemRelativeUrls.writtenUrls,rootPath:void 0}:void 0},d.M.NO),g=i.type!==String&&(!(0,s.H)(this)||l?.origin&&this.originIdOf(r)>(0,u.aB)(l.origin)),v={object:this,propertyName:r,value:t,targetUrl:h,dest:n,targetPropertyName:a,context:l,params:e};l?.portalItem&&h&&!(0,o.oP)(h)?g&&e?.contentAddressed?y(v):g?function(e){const{context:t,targetUrl:r,params:i,value:n,dest:s,targetPropertyName:a}=e;if(!t.portalItem)return;const l=t.portalItem.resourceFromPath(r),u=f(n,r,t),c=(0,p.n)(u),d=(0,o.Zo)(l.path),h=i?.compress??!1;c===d?(t.resources&&m({...e,resource:l,content:u,compress:h,updates:t.resources.toUpdate}),s[a]=r):y(e)}(v):function({context:e,targetUrl:t,dest:r,targetPropertyName:i}){e.portalItem&&e.resources&&(e.resources.toKeep.push({resource:e.portalItem.resourceFromPath(t),compress:!1}),r[i]=t)}(v):l?.portalItem&&(null==h||null!=(0,d.i)(h)||(0,o.w8)(h)||g)?y(v):n[a]=h}}}}(e,t,r);switch(e?.type??"other"){case"other":return{read:!0,write:!0};case"url":{const{read:e,write:t}=d.b;return{read:e,write:t}}}}(e,r,i);for(const e of t){const t=(0,c.rM)(r,e,i);for(const e in n)t[e]=n[e]}}}function y(e){const{targetUrl:t,params:r,value:s,context:l,dest:u,targetPropertyName:c}=e;if(!l.portalItem)return;const h=(0,d.p)(t),y=f(s,t,l);if(r?.contentAddressed&&"json"!==y.type)return void l.messages?.push(new i.A("persistable:contentAddressingUnsupported",`Property "${c}" is trying to serializing a resource with content of type ${y.type} with content addressing. Content addressing is only supported for json resources.`,{content:y}));const g=r?.contentAddressed&&"json"===y.type?(0,n.d)(y.jsonString):h?.filename??(0,a.lk)(),v=(0,o.fj)(r?.prefix??h?.prefix,g),b=`${v}.${(0,p.n)(y)}`;if(r?.contentAddressed&&l.resources&&"json"===y.type){const e=l.resources.toKeep.find((({resource:e})=>e.path===b))??l.resources.toAdd.find((({resource:e})=>e.path===b));if(e)return void(u[c]=e.resource.itemRelativeUrl)}const w=l.portalItem.resourceFromPath(b);(0,o.w8)(t)&&l.resources&&l.resources.pendingOperations.push((0,o.tk)(t).then((e=>{w.path=`${v}.${(0,p.n)({type:"blob",blob:e})}`,u[c]=w.itemRelativeUrl})).catch((()=>{})));const S=r?.compress??!1;l.resources&&m({...e,resource:w,content:y,compress:S,updates:l.resources.toAdd}),u[c]=w.itemRelativeUrl}function m({object:e,propertyName:t,updates:r,resource:i,content:n,compress:s}){r.push({resource:i,content:n,compress:s,finish:r=>{!function(e,t,r){"string"==typeof e[t]?e[t]=r.url:e[t].url=r.url}(e,t,r)}})}function f(e,t,r){return"string"==typeof e?{type:"url",url:t}:{type:"json",jsonString:JSON.stringify(e.toJSON(r))}}},88788:(e,t,r)=>{r.d(t,{m:()=>o,v:()=>s});var i=r(84952),n=r(20655);function s(e,t){return{...a(e,t),readResourcePaths:[]}}function o(e,t,r){const n=(0,i.An)(e.itemUrl);return{...a(e,t),messages:[],writtenProperties:[],blockedRelativeUrls:[],verifyItemRelativeUrls:n?{rootPath:n.path,writtenUrls:[]}:null,resources:r?{toAdd:[],toUpdate:[],toKeep:[],pendingOperations:[]}:null}}function a(e,t){return{origin:t,url:(0,i.An)(e.itemUrl),portal:e.portal||n.A.getDefault(),portalItem:e}}},91682:(e,t,r)=>{r.d(t,{S:()=>l,r:()=>a});var i=r(49186),n=r(74887),s=r(13069),o=r(15804);async function a(e,t,r){const i=await u(e,t,r);await c(i,t,r)}async function l(e,t,r,i,n){const s=await u(r,i,n);await e.update({data:t}),await c(s,i,n)}async function u(e,t,a){if(!t?.resources)return;const l=t.portalItem===e.portalItem?new Set(e.paths):new Set;e.paths.length=0,e.portalItem=t.portalItem;const u=new Set(t.resources.toKeep.map((e=>e.resource.path))),c=new Set,p=[];u.forEach((t=>{l.delete(t),e.paths.push(t)}));const d=[],h=[],y=[];for(const r of t.resources.toUpdate)if(l.delete(r.resource.path),u.has(r.resource.path)||c.has(r.resource.path)){const{resource:t,content:i,finish:n}=r,a=(0,o.bg)(t,(0,s.lk)());e.paths.push(a.path),d.push({resource:a,content:await(0,o.cL)(i),compress:r.compress}),n&&y.push((()=>n(a)))}else{e.paths.push(r.resource.path),h.push({resource:r.resource,content:await(0,o.cL)(r.content),compress:r.compress});const t=r.finish;t&&y.push((()=>t(r.resource))),c.add(r.resource.path)}for(const r of t.resources.toAdd)if(e.paths.push(r.resource.path),l.has(r.resource.path))l.delete(r.resource.path);else{d.push({resource:r.resource,content:await(0,o.cL)(r.content),compress:r.compress});const e=r.finish;e&&y.push((()=>e(r.resource)))}if(d.length||h.length){const{addOrUpdateResources:e}=await Promise.resolve().then(r.bind(r,15804));await e(t.portalItem,d,"add",a),await e(t.portalItem,h,"update",a)}if(y.forEach((e=>e())),0===p.length)return l;const m=await(0,n.Ol)(p);if((0,n.Te)(a),m.length>0)throw new i.A("save:resources","Failed to save one or more resources",{errors:m});return l}async function c(e,t,r){if(!e||!t.portalItem)return;const i=[];for(const n of e){const e=t.portalItem.resourceFromPath(n);i.push(e.portalItem.removeResource(e,r))}await(0,n.Lx)(i)}},92071:(e,t,r)=>{r.d(t,{P:()=>b,L:()=>w});var i=r(90237),n=r(69622),s=r(76953),o=r(4718),a=r(35666);class l{constructor(){this._propertyOriginMap=new Map,this._originStores=new Array(a.AU),this._values=new Map,this.multipleOriginsSupported=!0}clone(e){const t=new l,r=this._originStores[a.Gr.DEFAULTS];r&&r.forEach(((e,r)=>{t.set(r,(0,o.o8)(e),a.Gr.DEFAULTS)}));for(let r=a.Gr.SERVICE;r<a.AU;r++){const i=this._originStores[r];i&&i.forEach(((i,n)=>{e&&e.has(n)||t.set(n,(0,o.o8)(i),r)}))}return t}get(e,t){const r=void 0===t?this._values:this._originStores[t];return r?r.get(e):void 0}keys(e){const t=null==e?this._values:this._originStores[e];return t?[...t.keys()]:[]}set(e,t,r=a.Gr.USER){let i=this._originStores[r];if(i||(i=new Map,this._originStores[r]=i),i.set(e,t),!this._values.has(e)||this._propertyOriginMap.get(e)<=r){const i=this._values.get(e);return this._values.set(e,t),this._propertyOriginMap.set(e,r),i!==t}return!1}delete(e,t=a.Gr.USER){const r=this._originStores[t];if(!r)return;const i=r.get(e);if(r.delete(e),this._values.has(e)&&this._propertyOriginMap.get(e)===t){this._values.delete(e);for(let r=t-1;r>=0;r--){const t=this._originStores[r];if(t&&t.has(e)){this._values.set(e,t.get(e)),this._propertyOriginMap.set(e,r);break}}}return i}has(e,t){const r=void 0===t?this._values:this._originStores[t];return!!r&&r.has(e)}revert(e,t){for(;t>0&&!this.has(e,t);)--t;const r=this._originStores[t],i=r?.get(e),n=this._values.get(e);return this._values.set(e,i),this._propertyOriginMap.set(e,t),n!==i}originOf(e){return this._propertyOriginMap.get(e)||a.Gr.DEFAULTS}isAtOrigin(e,t){return this.has(e,t)&&this.originOf(e)===t}isBelowOrigin(e,t){return!this.has(e)||this.originOf(e)<t}forEach(e){this._values.forEach(e)}}var u=r(45917),c=r(88620),p=r(40608);const d=e=>{let t=class extends e{constructor(...e){super(...e);const t=(0,c.oY)(this),r=t.store,i=new l;t.store=i,(0,s.k)(t,r,i)}read(e,t){(0,u.L)(this,e,t)}getAtOrigin(e,t){const r=h(this),i=(0,a.aB)(t);if("string"==typeof e)return r.get(e,i);const n={};return e.forEach((e=>{n[e]=r.get(e,i)})),n}originOf(e){return(0,a.OL)(this.originIdOf(e))}originIdOf(e){return h(this).originOf(e)}revert(e,t){const r=h(this),i=(0,a.aB)(t),n=(0,c.oY)(this);let s;s="string"==typeof e?"*"===e?r.keys(i):[e]:e,s.forEach((e=>{n.invalidate(e),r.revert(e,i),n.commit(e)}))}};return t=(0,i._)([(0,p.$)("esri.core.ReadOnlyMultiOriginJSONSupport")],t),t};function h(e){return(0,c.oY)(e).store}let y=class extends(d(n.A)){};y=(0,i._)([(0,p.$)("esri.core.ReadOnlyMultiOriginJSONSupport")],y);var m=r(16649),f=r(49422);const g=e=>{let t=class extends e{constructor(...e){super(...e)}clear(e,t="user"){(0,c.oY)(this).clearOrigin(e,(0,a.aB)(t))}write(e,t){return(0,f.M)(this,e=e||{},t),e}setAtOrigin(e,t,r){(0,c.oY)(this).setAtOrigin(e,t,(0,a.aB)(r))}removeOrigin(e){const t=v(this),r=(0,a.aB)(e),i=t.keys(r);for(const e of i)t.originOf(e)===r&&t.set(e,t.get(e,r),a.Gr.USER)}updateOrigin(e,t){const r=v(this),i=(0,a.aB)(t),n=(0,m.Jt)(this,e);for(let t=i+1;t<a.AU;++t)r.delete(e,t);r.set(e,n,i)}toJSON(e){return this.write({},e)}};return t=(0,i._)([(0,p.$)("esri.core.MultiOriginJSONSupport.WriteableMultiOriginJSONSupport")],t),t.prototype.toJSON.isDefaultToJSON=!0,t};function v(e){return(0,c.oY)(e).store}const b=e=>{let t=class extends(g(d(e))){constructor(...e){super(...e)}};return t=(0,i._)([(0,p.$)("esri.core.MultiOriginJSONSupport")],t),t};let w=class extends(b(n.A)){};w=(0,i._)([(0,p.$)("esri.core.MultiOriginJSONSupport")],w)},96184:(e,t,r)=>{r.d(t,{A:()=>m});var i=r(90237),n=r(69540),s=r(25482),o=r(10107),a=(r(44208),r(53966),r(87811),r(36005)),l=r(40608),u=r(43937),c=r(79677),p=r(10184),d=r(56400);function h(e,t){return p.A.fromJSON({value:e,unit:t})}let y=class extends(n.A.ClonableMixin(s.A)){constructor(e){super(e),this.cumulative=!1,this.endField=null,this.fullTimeExtent=null,this.hasLiveData=!1,this.interval=null,this.startField=null,this.timeZone=null,this.trackIdField=null,this.useTime=!0,this.stops=null}readFullTimeExtent(e,t){return t.timeExtent&&Array.isArray(t.timeExtent)&&2===t.timeExtent.length?c.A.fromArray(t.timeExtent):null}writeFullTimeExtent(e,t){null!=e?.start&&null!=e.end?t.timeExtent=e.toArray():t.timeExtent=null}readInterval(e,t){return t.timeInterval&&t.timeIntervalUnits?h(t.timeInterval,t.timeIntervalUnits):t.defaultTimeInterval&&t.defaultTimeIntervalUnits?h(t.defaultTimeInterval,t.defaultTimeIntervalUnits):null}writeInterval(e,t){t.timeInterval=e?.toJSON().value??null,t.timeIntervalUnits=e?.toJSON().unit??null}};(0,i._)([(0,o.MZ)({type:Boolean,json:{name:"exportOptions.timeDataCumulative",write:!0}})],y.prototype,"cumulative",void 0),(0,i._)([(0,o.MZ)({type:String,json:{name:"endTimeField",write:{enabled:!0,allowNull:!0}}})],y.prototype,"endField",void 0),(0,i._)([(0,o.MZ)({type:c.A,json:{write:{enabled:!0,allowNull:!0}}})],y.prototype,"fullTimeExtent",void 0),(0,i._)([(0,a.w)("fullTimeExtent",["timeExtent"])],y.prototype,"readFullTimeExtent",null),(0,i._)([(0,u.K)("fullTimeExtent")],y.prototype,"writeFullTimeExtent",null),(0,i._)([(0,o.MZ)({type:Boolean,json:{write:!0}})],y.prototype,"hasLiveData",void 0),(0,i._)([(0,o.MZ)({type:p.A,json:{write:{enabled:!0,allowNull:!0}}})],y.prototype,"interval",void 0),(0,i._)([(0,a.w)("interval",["timeInterval","timeIntervalUnits","defaultTimeInterval","defaultTimeIntervalUnits"])],y.prototype,"readInterval",null),(0,i._)([(0,u.K)("interval")],y.prototype,"writeInterval",null),(0,i._)([(0,o.MZ)({type:String,json:{name:"startTimeField",write:{enabled:!0,allowNull:!0}}})],y.prototype,"startField",void 0),(0,i._)([(0,o.MZ)((0,d.P6)("timeReference",!0))],y.prototype,"timeZone",void 0),(0,i._)([(0,o.MZ)({type:String,json:{write:{enabled:!0,allowNull:!0}}})],y.prototype,"trackIdField",void 0),(0,i._)([(0,o.MZ)({type:Boolean,json:{name:"exportOptions.useTime",write:!0}})],y.prototype,"useTime",void 0),(0,i._)([(0,o.MZ)({type:[Date],json:{read:!1}})],y.prototype,"stops",void 0),y=(0,i._)([(0,l.$)("esri.layers.support.TimeInfo")],y);const m=y}}]);