@arcgis/core 4.34.0-next.17 → 4.34.0-next.19

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 (209) hide show
  1. package/EULA.pdf +0 -0
  2. package/applications/MapViewer/templateUtils.js +1 -1
  3. package/assets/esri/core/workers/RemoteClient.js +1 -1
  4. package/assets/esri/core/workers/chunks/{fa894be8cfb6ed485df9.js → 025891f445869e33252b.js} +1 -1
  5. package/assets/esri/core/workers/chunks/{827919fe23e06e40a330.js → 1a82f903b442a3856bfa.js} +1 -1
  6. package/assets/esri/core/workers/chunks/{400a4c9fa62964f8fa1d.js → 1f48d6c76f0014064eca.js} +1 -1
  7. package/assets/esri/core/workers/chunks/22206d13a75d61d77023.js +1 -0
  8. package/assets/esri/core/workers/chunks/227d25fcbb5f590c4581.js +1 -0
  9. package/assets/esri/core/workers/chunks/{2ad538440cfb3ab94787.js → 2c0c97acb7714b1e0e01.js} +1 -1
  10. package/assets/esri/core/workers/chunks/3cf31e51266f40072f71.js +1 -0
  11. package/assets/esri/core/workers/chunks/3e07de009d5febd62b19.js +1 -0
  12. package/assets/esri/core/workers/chunks/4072ab8378c235a268ca.js +1 -0
  13. package/assets/esri/core/workers/chunks/52410198c4b2eccfeadd.js +1 -0
  14. package/assets/esri/core/workers/chunks/{04e558a970c6a77f243e.js → 5cbaf4ff688aafa6643e.js} +1 -1
  15. package/assets/esri/core/workers/chunks/5e53c7e29bb6d43d08be.js +1 -0
  16. package/assets/esri/core/workers/chunks/606782a94adcce6975af.js +1 -0
  17. package/assets/esri/core/workers/chunks/6f8de923519bb16af8ba.js +1 -0
  18. package/assets/esri/core/workers/chunks/{53e43798d08ad2075c1f.js → 758776e841fd370e3353.js} +1 -1
  19. package/assets/esri/core/workers/chunks/764e505f2bafdf5afaf9.js +1 -0
  20. package/assets/esri/core/workers/chunks/8637b9cb30170ac4eae2.js +1 -0
  21. package/assets/esri/core/workers/chunks/8656c145ff0ca2e51ea6.js +1 -0
  22. package/assets/esri/core/workers/chunks/8b4a35e3ed39d8be3394.js +1 -0
  23. package/assets/esri/core/workers/chunks/903c7a0a47c14442d3c1.js +1 -0
  24. package/assets/esri/core/workers/chunks/933d4a3b0cee82cc80fe.js +1 -0
  25. package/assets/esri/core/workers/chunks/{d33a5d79f2163ad62b1d.js → 9965961bad09910f577b.js} +1 -1
  26. package/assets/esri/core/workers/chunks/9d499a37b960273c3f84.js +1 -0
  27. package/assets/esri/core/workers/chunks/a507192771e5f4f82973.js +1 -0
  28. package/assets/esri/core/workers/chunks/{66c8816e91e3f9e214d4.js → a92a344763fbc3cec71e.js} +1 -1
  29. package/assets/esri/core/workers/chunks/a9e1caf05c81055ae194.js +1 -0
  30. package/assets/esri/core/workers/chunks/{1415d4e2f5f3193be004.js → aa4ae0e54a0507e8dd0f.js} +1 -1
  31. package/assets/esri/core/workers/chunks/{2d89e354eeadadca4f7f.js → b421986cb4e45c632f7c.js} +1 -1
  32. package/assets/esri/core/workers/chunks/c1822b03302c3db71b1f.js +1 -0
  33. package/assets/esri/core/workers/chunks/d3bfd0c382c2f39a787b.js +1 -0
  34. package/assets/esri/core/workers/chunks/d568070513f2b98fd9b5.js +1 -0
  35. package/assets/esri/core/workers/chunks/d6df12bed626d56cd6b2.js +1 -0
  36. package/assets/esri/core/workers/chunks/{5bfccd5dffda74740aa4.js → df811b31e0446de5d322.js} +1 -1
  37. package/assets/esri/core/workers/chunks/e0146db608959ead9c97.js +1 -0
  38. package/assets/esri/core/workers/chunks/ec339075bb4faeec1413.js +1 -0
  39. package/assets/esri/core/workers/chunks/f4442a2b40e44f90b461.js +1 -0
  40. package/assets/esri/core/workers/chunks/{fa5715ca3ce95d005b0a.js → faa892ad4cc8a90b6c79.js} +1 -1
  41. package/assets/esri/themes/base/widgets/_Legend.scss +3 -1
  42. package/assets/esri/themes/dark/main.css +1 -1
  43. package/assets/esri/themes/light/main.css +1 -1
  44. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_ar.json +1 -1
  45. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_bg.json +1 -1
  46. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_bs.json +1 -1
  47. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_ca.json +1 -1
  48. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_cs.json +1 -1
  49. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_da.json +1 -1
  50. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_de.json +1 -1
  51. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_el.json +1 -1
  52. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_es.json +1 -1
  53. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_et.json +1 -1
  54. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_fi.json +1 -1
  55. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_fr.json +1 -1
  56. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_he.json +1 -1
  57. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_hr.json +1 -1
  58. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_hu.json +1 -1
  59. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_id.json +1 -1
  60. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_it.json +1 -1
  61. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_ja.json +1 -1
  62. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_ko.json +1 -1
  63. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_lt.json +1 -1
  64. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_lv.json +1 -1
  65. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_nl.json +1 -1
  66. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_no.json +1 -1
  67. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_pl.json +1 -1
  68. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_pt-BR.json +1 -1
  69. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_pt-PT.json +1 -1
  70. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_ro.json +1 -1
  71. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_ru.json +1 -1
  72. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_sk.json +1 -1
  73. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_sl.json +1 -1
  74. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_sr.json +1 -1
  75. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_sv.json +1 -1
  76. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_th.json +1 -1
  77. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_tr.json +1 -1
  78. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_uk.json +1 -1
  79. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_vi.json +1 -1
  80. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_zh-CN.json +1 -1
  81. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_zh-HK.json +1 -1
  82. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_zh-TW.json +1 -1
  83. package/chunks/sphere.js +1 -1
  84. package/config.js +1 -1
  85. package/core/accessorSupport/trackingUtils.js +1 -1
  86. package/core/sql.js +1 -1
  87. package/geometry/spatialReferenceEllipsoidUtils.js +1 -1
  88. package/geometry/support/coordsUtils.js +1 -1
  89. package/geometry/support/sphere.js +1 -1
  90. package/interfaces.d.ts +101 -49
  91. package/kernel.js +1 -1
  92. package/layers/FeatureLayer.js +1 -1
  93. package/layers/OrientedImageryLayer.js +1 -1
  94. package/layers/SubtypeGroupLayer.js +1 -1
  95. package/layers/VectorTileLayer.js +1 -1
  96. package/layers/VideoLayer.js +1 -1
  97. package/layers/graphics/data/QueryEngineResult.js +1 -1
  98. package/layers/mixins/FeatureLayerBase.js +1 -1
  99. package/layers/orientedImagery/core/ExposurePoint.js +1 -1
  100. package/layers/orientedImagery/core/coverageUtils.js +1 -1
  101. package/layers/orientedImagery/core/utils.js +1 -1
  102. package/layers/orientedImagery/transformations/updateElevation.js +1 -1
  103. package/layers/orientedImagery/transformations/updateElevationUtils.js +1 -1
  104. package/layers/orientedImagery/transformations/utils.js +1 -1
  105. package/layers/support/SubtypeSublayer.js +1 -1
  106. package/layers/support/TitleCreator.js +1 -1
  107. package/layers/support/arcgisLayers.js +1 -1
  108. package/layers/support/fetchService.js +1 -1
  109. package/layers/support/fieldUtils.js +1 -1
  110. package/layers/support/layerUtils.js +1 -1
  111. package/layers/video/VideoCameraSensorModel.js +1 -1
  112. package/layers/video/VideoController.js +1 -1
  113. package/networks/UtilityNetwork.js +1 -1
  114. package/package.json +1 -1
  115. package/portal/support/layersLoader.js +1 -1
  116. package/portal/support/loadUtils.js +1 -1
  117. package/portal/support/portalLayers.js +1 -1
  118. package/request.js +1 -1
  119. package/rest/knowledgeGraphService.js +1 -1
  120. package/rest/support/DateBinParameters.js +1 -1
  121. package/smartMapping/renderers/size.js +1 -1
  122. package/smartMapping/renderers/support/spikeUtils.js +1 -1
  123. package/support/requestUtils.js +1 -1
  124. package/support/revision.js +1 -1
  125. package/symbols/cim/effects/EffectRadial.js +1 -1
  126. package/symbols/cim/utils.js +1 -1
  127. package/symbols/support/previewCIMSymbol.js +1 -1
  128. package/symbols/support/previewSymbol2D.js +1 -1
  129. package/symbols/support/svgUtils.js +1 -1
  130. package/views/2d/engine/vectorTiles/style/StyleRepository.js +1 -1
  131. package/views/3d/analysis/DimensionAnalysisView3D.js +1 -1
  132. package/views/3d/analysis/LineOfSightAnalysisView3D.js +1 -1
  133. package/views/3d/analysis/SliceAnalysisView3D.js +1 -1
  134. package/views/3d/analysis/Viewshed/ViewshedTool.js +1 -1
  135. package/views/3d/analysis/ViewshedAnalysisView3D.js +1 -1
  136. package/views/3d/camera/constraintUtils/tilt.js +1 -1
  137. package/views/3d/camera/intersectionUtils.js +1 -1
  138. package/views/3d/layers/BuildingSceneLayerView3D.js +1 -1
  139. package/views/3d/layers/I3SMeshView3D.js +1 -1
  140. package/views/3d/layers/graphics/Deconflictor.js +1 -1
  141. package/views/3d/layers/i3s/I3SIndex.js +1 -1
  142. package/views/3d/layers/support/StageLayerElevationProvider.js +1 -1
  143. package/views/3d/state/ViewState.js +1 -1
  144. package/views/3d/state/ViewStateManager.js +1 -1
  145. package/views/3d/state/controllers/GamepadKeyboardController.js +1 -1
  146. package/views/3d/state/controllers/PointToPointAnimationController.js +1 -1
  147. package/views/3d/state/utils/navigationUtils.js +1 -1
  148. package/views/3d/support/popupHitTest.js +1 -1
  149. package/views/3d/terrain/OverlayManager.js +1 -1
  150. package/views/3d/terrain/TerrainSurface.js +1 -1
  151. package/views/3d/terrain/TileRenderer.js +1 -1
  152. package/views/3d/webgl-engine/collections/Component/SourceGeometry.js +1 -1
  153. package/views/3d/webgl-engine/lib/Octree.js +1 -1
  154. package/views/3d/webgl-engine/lib/ShadowMap.js +1 -1
  155. package/views/3d/webgl-engine/lib/edgeRendering/edgePreprocessing.js +1 -1
  156. package/views/3d/webgl-engine/materials/ColorMaterial.js +1 -1
  157. package/views/3d/webgl-engine/materials/LineMarkerMaterial.js +1 -1
  158. package/views/3d/webgl-engine/materials/PathMaterial.js +1 -1
  159. package/views/3d/webgl-engine/materials/PathTechnique.js +1 -1
  160. package/views/3d/webgl-engine/materials/PatternMaterial.js +1 -1
  161. package/views/3d/webgl-engine/materials/RibbonLineMaterial.js +1 -1
  162. package/views/3d/webgl-engine/materials/internal/bufferWriterUtils.js +1 -1
  163. package/views/3d/webgl-engine/shaders/LineMarkerTechnique.js +1 -1
  164. package/views/3d/webgl-engine/shaders/RibbonLineTechnique.js +1 -1
  165. package/views/SceneView.js +1 -1
  166. package/views/analysis/analysisViewUtils.js +1 -1
  167. package/views/layers/DimensionLayerView.js +1 -1
  168. package/views/layers/LineOfSightLayerView.js +1 -1
  169. package/views/layers/ViewshedLayerView.js +1 -1
  170. package/views/support/drapedUtils.js +1 -1
  171. package/widgets/AreaMeasurement2D/AreaMeasurement2DTool.js +1 -1
  172. package/widgets/DistanceMeasurement2D/DistanceMeasurement2DTool.js +1 -1
  173. package/widgets/Editor/components/UpdateFeaturePanelContent.js +1 -1
  174. package/widgets/Expand.js +1 -1
  175. package/widgets/FeatureTable/support/templateUtils.js +1 -1
  176. package/widgets/Legend/styles/support/sizeRampUtils.js +1 -1
  177. package/widgets/Legend/support/ActiveLayerInfo.js +1 -1
  178. package/widgets/Legend/support/sizeRampUtils.js +1 -1
  179. package/widgets/OrientedImageryViewer/OrientedImageryViewerViewModel.js +1 -1
  180. package/widgets/OrientedImageryViewer/components/OrientedImageryVideoViewModel.js +1 -1
  181. package/widgets/OrientedImageryViewer.js +1 -1
  182. package/widgets/Print/PrintViewModel.js +1 -1
  183. package/widgets/Print.js +1 -1
  184. package/widgets/support/GridControls.js +1 -1
  185. package/assets/esri/core/workers/chunks/1443520c9fb23381f8d5.js +0 -1
  186. package/assets/esri/core/workers/chunks/254c4f7e277ae9915dce.js +0 -1
  187. package/assets/esri/core/workers/chunks/273beed633cc37416ad7.js +0 -1
  188. package/assets/esri/core/workers/chunks/3f8cc157b65a9d570921.js +0 -1
  189. package/assets/esri/core/workers/chunks/49a57dc1e6d1048fa949.js +0 -1
  190. package/assets/esri/core/workers/chunks/500fb5f615f0c1db1b66.js +0 -1
  191. package/assets/esri/core/workers/chunks/513dc2467e9b8b8c6df4.js +0 -1
  192. package/assets/esri/core/workers/chunks/52239e958a82ebcd2e7a.js +0 -1
  193. package/assets/esri/core/workers/chunks/5ef1095842e21090f1f4.js +0 -1
  194. package/assets/esri/core/workers/chunks/7716a9fb380d66ba7292.js +0 -1
  195. package/assets/esri/core/workers/chunks/78a57f5aeb277b84b3da.js +0 -1
  196. package/assets/esri/core/workers/chunks/7c56740cac444419e5b4.js +0 -1
  197. package/assets/esri/core/workers/chunks/802c6b1a6cb9264b8e4f.js +0 -1
  198. package/assets/esri/core/workers/chunks/8855f1a6224ffbd0bb66.js +0 -1
  199. package/assets/esri/core/workers/chunks/885e8e90dfe5dbd5053d.js +0 -1
  200. package/assets/esri/core/workers/chunks/88b1214c284c2ec7d51b.js +0 -1
  201. package/assets/esri/core/workers/chunks/932808e485f305b6a26a.js +0 -1
  202. package/assets/esri/core/workers/chunks/beb01d400f1aa089d2dc.js +0 -1
  203. package/assets/esri/core/workers/chunks/cc1328cacc4ac07eb548.js +0 -1
  204. package/assets/esri/core/workers/chunks/cfc5e0ec9b0290407383.js +0 -1
  205. package/assets/esri/core/workers/chunks/d2139307f62ea8bf999a.js +0 -1
  206. package/assets/esri/core/workers/chunks/ddb66fe6fcd0764daa7a.js +0 -1
  207. package/assets/esri/core/workers/chunks/eac7af86166c09c6a9be.js +0 -1
  208. package/assets/esri/core/workers/chunks/ec49e2849766402ad5c7.js +0 -1
  209. package/assets/esri/core/workers/chunks/f3e179b48bca50c94538.js +0 -1
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[3600],{8947:(e,t,i)=>{i.d(t,{L:()=>n});var r=i(60999),s=i(74887),o=i(67076);async function n(e,t,i){const n=e&&e.getAtOrigin&&e.getAtOrigin("renderer",t.origin);if(n&&"unique-value"===n.type&&n.styleOrigin){const a=await(0,r.Ke)(n.populateFromStyle());if((0,s.Te)(i),!1===a.ok){const i=a.error;t?.messages&&t.messages.push(new o.A("renderer:style-reference",`Failed to create unique value renderer from style reference: ${i.message}`,{error:i,context:t})),e.clear("renderer",t?.origin)}}}},13600:(e,t,i)=>{i.r(t),i.d(t,{default:()=>xe});var r=i(90237),s=i(13874),o=i(78888),n=i(69540),a=i(5503),l=i(49186),u=i(4718),d=i(53966),p=i(97768),y=i(92071),c=i(93637),h=i(74887),f=i(39516),m=i(84952),b=i(10107),g=i(79901),_=i(36005),w=i(40608),v=i(43937),T=i(89317),F=i(38141),M=i(16930),S=i(4146),I=i(52106),E=i(44208),A=i(92474),Z=i(61893),j=i(29953),C=i(56507),D=(i(87811),i(7695)),O=i(5443),q=i(39829),x=i(50498),L=i(96520),P=i(58501),R=i(22671);let G=0,k=class extends(A.A.LoadableMixin(Z.A.EsriPromiseMixin(a.A))){constructor(e){super(e),this._idToClientGeometry=null,this.type="memory"}load(e){const t=null!=e?e.signal:null;return this.addResolvingPromise(this._startWorker(t)),Promise.resolve(this)}destroy(){this._connection?.close(),this._connection=null}get _workerGeometryType(){const e=this.layer?.geometryType;return e?this._geometryTypeRequiresClientGraphicMapping(e)?"polygon":e:null}applyEdits(e){return this.load().then((()=>this._applyEdits(e)))}openPorts(){return this.load().then((()=>this._connection.openPorts()))}async queryFeatures(e,t={}){await this.load(t);const i=await this._connection.invoke("queryFeatures",e?e.toJSON():null,t);(0,P.q)(e,this.layer.spatialReference,i);const r=R.A.fromJSON(i);if(!this._requiresClientGraphicMapping()||!this._idToClientGeometry)return r;const s=this.layer.objectIdField;for(const e of r.features){const t=e.attributes[s],i=this._idToClientGeometry.get(t);void 0!==i&&(e.geometry=i)}return r.geometryType=this.layer.geometryType,r}async queryFeaturesJSON(e,t={}){if(this._requiresClientGraphicMapping())throw new l.A("query-features-json:unsupported","Cannot query in JSON format for client only geometry types (mesh and extent)");await this.load(t);const i=await this._connection.invoke("queryFeatures",e?e.toJSON():null,t);return(0,P.q)(e,this.layer.spatialReference,i),i}queryFeatureCount(e,t={}){return this.load(t).then((()=>this._connection.invoke("queryFeatureCount",e?e.toJSON():null,t)))}queryObjectIds(e,t={}){return this.load(t).then((()=>this._connection.invoke("queryObjectIds",e?e.toJSON():null,t)))}queryExtent(e,t={}){return this.load(t).then((()=>this._connection.invoke("queryExtent",e?e.toJSON():null,t))).then((e=>({count:e.count,extent:O.A.fromJSON(e.extent)})))}querySnapping(e,t={}){return this.load(t).then((()=>this._connection.invoke("querySnapping",e,t)))}async queryAttributeBins(e,t={}){return await this.load(),this._connection.invoke("queryAttributeBins",e?.toJSON(),t)}async _applyEdits(e){if(!this._connection)throw new l.A("feature-layer-source:edit-failure","Memory source not loaded");const t=this.layer.objectIdField;let i=null;const r=[],s=[];await Promise.all([this._prepareClientMapping(e.addFeatures,null),this._prepareClientMapping(e.updateFeatures,null)]);const o=e=>"objectId"in e&&null!=e.objectId?e.objectId:"attributes"in e&&null!=e.attributes[t]?e.attributes[t]:null;if(e.addFeatures&&(i=this._prepareAddFeatures(e.addFeatures)),e.deleteFeatures)for(const t of e.deleteFeatures){const e=o(t);null!=e&&r.push(e)}const n=e.updateFeatures&&this._idToClientGeometry?new Map:null;if(e.updateFeatures)for(const t of e.updateFeatures)if(s.push(this._serializeFeature(t)),n&&null!=t.geometry){const e=o(t);null!=e&&n.set(e,t)}(0,L.u)(i?i.features:null,s,this.layer.spatialReference);const{fullExtent:a,featureEditResults:u}=await this._connection.invoke("applyEdits",{adds:i?i.features:[],updates:s,deletes:r});return this.fullExtent=a,i&&i.finish(u.uidToObjectId),this._updateIdToClientGeometries(n,u),this._createEditsResult(u)}async _prepareClientMapping(e,t){if("mesh"!==this._layerOrSourceGeometryType||null==e)return;const i=[];for(const{geometry:r}of e)null==r||"mesh"!==r.type||r.hasExtent||r.loaded||i.push(r.load({signal:t}));i.length&&await Promise.all(i)}_updateIdToClientGeometries(e,t){if(this._idToClientGeometry){if(e)for(const i of t.updateResults){if(!i.success)continue;const t=e.get(i.objectId);null!=t&&this._addIdToClientGeometry(t)}for(const e of t.deleteResults)e.success&&this._idToClientGeometry.delete(e.objectId)}}_createEditsResult(e){return{addFeatureResults:e.addResults?e.addResults.map(this._createFeatureEditResult,this):[],updateFeatureResults:e.updateResults?e.updateResults.map(this._createFeatureEditResult,this):[],deleteFeatureResults:e.deleteResults?e.deleteResults.map(this._createFeatureEditResult,this):[],addAttachmentResults:[],updateAttachmentResults:[],deleteAttachmentResults:[]}}_createFeatureEditResult(e){const t=!0===e.success?null:e.error||{code:void 0,description:""};return{objectId:e.objectId,globalId:e.globalId,error:t?new l.A("feature-layer-source:edit-failure",t.description,{code:t.code}):null}}_prepareAddFeatures(e){const t=new Map,i=new Array(e.length);let r=null;for(let s=0;s<e.length;s++){const o=e[s],n=this._serializeFeature(o);r||null==o.geometry||(r=o.geometry.type),i[s]=n,t.set(`${n.uid}`,o)}const s=this;return{features:i,inferredGeometryType:r,finish(e){const i=s.sourceJSON.objectIdField;for(const r in e){const o=e[r],n=t.get(r);n&&(n.attributes||(n.attributes={}),-1===o?delete n.attributes[i]:n.attributes[i]=o,s._addIdToClientGeometry(n))}}}}_addIdToClientGeometry(e){if(!this._idToClientGeometry)return;const t=this.sourceJSON.objectIdField,i=e.attributes?.[t];null!=i&&this._idToClientGeometry.set(i,e.geometry??null)}get _layerOrSourceGeometryType(){return this.layer?.geometryType??this.sourceJSON?.geometryType}_requiresClientGraphicMapping(){return this._geometryTypeRequiresClientGraphicMapping(this._layerOrSourceGeometryType)}_geometryRequiresClientGraphicMapping(e){return this._geometryTypeRequiresClientGraphicMapping(e.type)}_geometryTypeRequiresClientGraphicMapping(e){return"mesh"===e||"multipatch"===e||"extent"===e}_serializeFeature(e){const{attributes:t}=e,i=this._geometryForSerialization(e),r=(G++).toString();return i?{uid:r,geometry:i.toJSON(),attributes:t}:{uid:r,attributes:t}}_geometryForSerialization(e){const{geometry:t}=e;return null==t?null:this._geometryRequiresClientGraphicMapping(t)?t.extent?q.A.fromExtent(t.extent):null:t}async _startWorker(e){this._connection=await(0,j.ho)("MemorySourceWorker",{strategy:(0,E.A)("feature-layers-workers")?"dedicated":"local",signal:e,registryTarget:this});const{fields:t,spatialReference:i,objectIdField:r,hasM:s,hasZ:o,timeInfo:n,dateFieldsTimeZone:a}=this.layer,l="defaults"===this.layer.originOf("spatialReference");await this._prepareClientMapping(this.items,e);const u=this._prepareAddFeatures(this.items);this.addHandles(this.on("before-changes",(e=>{d.A.getLogger(this).error("Source modifications will not propagate after layer has been loaded. Please use .applyEdits() instead"),e.preventDefault()})));const p={features:u.features,fields:t?.map((e=>e.toJSON())),geometryType:x.Ye.toJSON(this._workerGeometryType),hasM:"mesh"!==this._layerOrSourceGeometryType&&s,hasZ:"mesh"===this._layerOrSourceGeometryType||o,objectIdField:r,spatialReference:l?null:i&&i.toJSON(),timeInfo:n?.toJSON()??null,dateFieldsTimeZone:a},y=await this._connection.invoke("load",p,{signal:e});for(const e of y.warnings)d.A.getLogger(this.layer).warn("#load()",`${e.message} (title: '${this.layer.title||"no title"}', id: '${this.layer.id??"no id"}')`,{warning:e});y.featureErrors.length&&d.A.getLogger(this.layer).warn("#load()",`Encountered ${y.featureErrors.length} validation errors while loading features. (title: '${this.layer.title||"no title"}', id: '${this.layer.id??"no id"}')`,{errors:y.featureErrors});const c=y.layerDefinition;this._geometryTypeRequiresClientGraphicMapping(u.inferredGeometryType)&&(c.geometryType=x.Ye.toJSON(u.inferredGeometryType)),this.sourceJSON=c,this._requiresClientGraphicMapping()&&(this._idToClientGeometry=new Map),u.finish(y.assignedObjectIds)}};(0,r._)([(0,D.u)({Type:I.A,ensureType:(0,C.dp)(I.A)})],k.prototype,"itemType",void 0),(0,r._)([(0,b.MZ)()],k.prototype,"type",void 0),(0,r._)([(0,b.MZ)({constructOnly:!0})],k.prototype,"layer",void 0),(0,r._)([(0,b.MZ)({readOnly:!0})],k.prototype,"_workerGeometryType",null),(0,r._)([(0,b.MZ)()],k.prototype,"sourceJSON",void 0),k=(0,r._)([(0,w.$)("esri.layers.graphics.sources.MemorySource")],k);var J=i(52136),N=i(18768),V=i(63074),$=i(69208),K=i(6455),Q=i(47685),z=i(87718),B=i(87796),W=i(76294),H=i(16131),X=i(32756),U=i(8303),Y=i(69622);let ee=class extends Y.A{constructor(){super(...arguments),this.updating=!1,this.status="unknown"}};(0,r._)([(0,b.MZ)()],ee.prototype,"updating",void 0),(0,r._)([(0,b.MZ)()],ee.prototype,"status",void 0),ee=(0,r._)([(0,w.$)("esri.layers.support.PublishingInfo")],ee);const te=Symbol(),ie=e=>{var t;let i=class extends e{constructor(){super(...arguments),this[t]=!0}static{t=te}get publishingInfo(){if(this.destroyed)return null;const e=this._get("publishingInfo");if(e)return e;const t=new ee;return this._checkPublishingStatus(t),t}_checkPublishingStatus(e){let t=0;const i=async s=>{let o;e.updating=!0;try{o=await this.fetchPublishingStatus()}catch(e){o="unavailable"}"published"!==o&&"unavailable"!==o||("publishing"===e.status&&this.refresh(),r.remove()),e.status=o,e.updating=!1,r.removed||(t=setTimeout(i,s,s+125))},r={removed:!1,remove(){this.removed=!0,clearTimeout(t)}};this.when().catch((()=>r.remove())),i(250),this.addHandles(r)}};return(0,r._)([(0,b.MZ)({readOnly:!0,clonable:!1})],i.prototype,"publishingInfo",null),i=(0,r._)([(0,w.$)("esri.layers.mixins.PublishableLayer")],i),i};var re=i(54310),se=i(25036),oe=i(82935),ne=i(68109),ae=i(60694),le=i(10873),ue=i(15426),de=i(29005),pe=i(33143),ye=i(17036),ce=i(30524),he=i(46499),fe=i(39383),me=i(22453),be=i(96184),ge=i(17311),_e=i(91908),we=i(27733),ve=i(65494),Te=i(8947),Fe=i(41214),Me=i(61956),Se=i(54218),Ie=i(30291),Ee=i(33910),Ae=i(92935),Ze=i(78553);const je="FeatureLayer";function Ce(e,t){return new l.A("layer:unsupported",`Layer (${e.title}, ${e.id}) of type '${e.declaredClass}' ${t}`,{layer:e})}function De(e){return e&&e instanceof a.A}const Oe=(0,ye.p)();function qe(e,t,i){const r=!!i?.writeLayerSchema;return{enabled:r,ignoreOrigin:r}}let xe=class extends((0,B.j)((0,W.J)((0,z.F)(ie((0,Q.w6)((0,K.FJ)((0,V.dM)((0,X.fY)((0,oe.e)((0,ne.d)((0,se.j)((0,re.J)((0,N.b)((0,H.q)((0,U.A)((0,y.P)((0,$.d)((0,J.p)(n.A.ClonableMixin(S.A)))))))))))))))))))){constructor(...e){super(...e),this.attributeTableTemplate=null,this.charts=null,this.copyright=null,this.displayField=null,this.dynamicDataSource=null,this.fields=null,this.fieldsIndex=null,this.formTemplate=null,this.fullExtent=null,this.geometryType=null,this.hasM=void 0,this.hasZ=void 0,this.infoFor3D=null,this.isTable=!1,this.labelsVisible=!0,this.labelingInfo=null,this.legendEnabled=!0,this.objectIdField=null,this.operationalLayerType="ArcGISFeatureLayer",this.outFields=null,this.path=null,this.popupEnabled=!0,this.popupTemplate=null,this.resourceInfo=null,this.screenSizePerspectiveEnabled=!0,this.spatialReference=M.A.WGS84,this.subtypeCode=null,this.supportedSourceTypes=new Set(["Feature Layer","Oriented Imagery Layer","Table","Catalog Layer"]),this.templates=null,this.timeInfo=null,this.title=null,this.sublayerTitleMode="item-title",this.type="feature",this.typeIdField=null,this.types=null,this.visible=!0,this._debouncedSaveOperations=(0,h.sg)((async(e,t,r)=>{const{save:s,saveAs:o}=await i.e(3359).then(i.bind(i,33359));switch(e){case Ae.X.SAVE:return s(this,t);case Ae.X.SAVE_AS:return o(this,r,t)}}))}destroy(){this.source?.destroy()}normalizeCtorArgs(e,t){return"string"==typeof e?{url:e,...t}:e}load(e){const t=null!=e?e.signal:null;if(this.portalItem?.loaded&&this.source)return this.addResolvingPromise(this.createGraphicsSource(t).then((e=>this.initLayerProperties(e)))),Promise.resolve(this);const i=this.loadFromPortal({supportedTypes:["Feature Service","Feature Collection","Scene Service"]},e).catch(h.QP).then((async()=>{if(this.url&&null==this.layerId&&/FeatureServer|MapServer\/*$/i.test(this.url)){const e=await this._fetchFirstValidLayerId(t);null!=e&&(this.layerId=e)}if(!this.url&&!this._hasMemorySource())throw new l.A("feature-layer:missing-url-or-source","Feature layer must be created with either a url or a source");return this.initLayerProperties(await this.createGraphicsSource(t))})).then((()=>(0,ue.VA)(this,"load",e)));return this.addResolvingPromise(i),Promise.resolve(this)}get _titleCreator(){const e=this._get("_titleCreator");return(0,p.pR)(e),new ge.A({fieldsIndex:this.fieldsIndex,objectIdField:this.objectIdField,fields:this.fields,displayField:this.displayField,effectivePopupTemplate:this.popupTemplate??this.defaultPopupTemplate})}readCapabilities(e,t){return t=t.layerDefinition||t,(0,me.S)(t,this.url)}get createQueryVersion(){return this.commitProperty("definitionExpression"),this.commitProperty("dynamicDataSource"),this.commitProperty("timeExtent"),this.commitProperty("timeOffset"),this.commitProperty("geometryType"),this.commitProperty("gdbVersion"),this.commitProperty("historicMoment"),this.commitProperty("returnZ"),this.commitProperty("capabilities"),this.commitProperty("returnM"),(this._get("createQueryVersion")??0)+1}get editingEnabled(){return!(this.loaded&&!this.capabilities?.operations.supportsEditing)&&(this._isOverridden("editingEnabled")?this._get("editingEnabled"):this._hasMemorySource()||this.userHasEditingPrivileges)}set editingEnabled(e){this._overrideIfSome("editingEnabled",e)}readEditingEnabled(e,t){return this._readEditingEnabled(t,!1)}readEditingEnabledFromWebMap(e,t,i){return this._readEditingEnabled(t,!0,i)}writeEditingEnabled(e,t){this._writeEditingEnabled(e,t,!1)}writeEditingEnabledToWebMap(e,t,i,r){this._writeEditingEnabled(e,t,!0,r)}get effectiveEditingEnabled(){return(0,ue.C$)(this)}get featureTitleFields(){return[...this._titleCreator.requiredFields]}readIsTable(e,t){return"Table"===(t=t?.layerDefinition??t).type||!t.geometryType}writeIsTable(e,t,i,r){r?.writeLayerSchema&&(0,c.sM)(i,e?"Table":"Feature Layer",t)}readGlobalIdField(e,t){return(0,ue.jD)(t.layerDefinition||t)}readObjectIdField(e,t){return(0,ue.Zm)(t.layerDefinition||t)}get parsedUrl(){const e=(0,m.An)(this.url);return null!=e&&(null!=this.dynamicDataSource?e.path=(0,m.fj)(e.path,"dynamicLayer"):null!=this.layerId&&(e.path=(0,m.fj)(e.path,this.layerId.toString()))),e}get defaultPopupTemplate(){return this.createPopupTemplate()}set renderer(e){(0,ce.yp)(e,this.fieldsIndex),this._set("renderer",e)}readRenderer(e,t,i){t=t.layerDefinition||t;const r=t.drawingInfo?.renderer;if(r){const e=(0,ve.L)(r,t,i)??void 0;return e||d.A.getLogger(this).error("Failed to create renderer",{rendererDefinition:t.drawingInfo.renderer,layer:this,context:i}),e}return(0,ue.PD)(t,i)}set source(e){const t=this._get("source");t!==e&&(De(t)&&this._resetMemorySource(t),De(e)&&this._initMemorySource(e),this._set("source",e))}castSource(e){return e?Array.isArray(e)||e instanceof a.A?new k({layer:this,items:e}):e:null}readSource(e,t){const i=R.A.fromJSON(t.featureSet);return new k({layer:this,items:i?.features??[]})}readTemplates(e,t){const i=t.editFieldsInfo,r=i?.creatorField,s=i?.editorField;return e=e?.map((e=>de.A.fromJSON(e))),this._fixTemplates(e,r),this._fixTemplates(e,s),e}readTitle(e,t){const i=t.layerDefinition?.name??t.name,r=t.title||t.layerDefinition?.title;if(i){const e=this.portalItem?.title;if("item-title"===this.sublayerTitleMode)return this.url?(0,ae.yG)(this.url,i):i;let t=i;if(!t&&this.url){const e=(0,ae.qg)(this.url);null!=e&&(t=e.title)}if(!t)return;return"item-title-and-service-name"===this.sublayerTitleMode&&e&&e!==t&&(t=e+" - "+t),(0,ae.cr)(t)}if("item-title"===this.sublayerTitleMode&&r)return r}readTitleFromWebMap(e,t){return t.title||t.layerDefinition?.name}readTypeIdField(e,t){let i=(t=t.layerDefinition||t).typeIdField;if(i&&t.fields){i=i.toLowerCase();const e=t.fields.find((e=>e.name.toLowerCase()===i));e&&(i=e.name)}return i}readTypes(e,t){e=(t=t.layerDefinition||t).types;const i=t.editFieldsInfo,r=i?.creatorField,s=i?.editorField;return e?.map((e=>(e=pe.A.fromJSON(e),this._fixTemplates(e.templates,r),this._fixTemplates(e.templates,s),e)))}readVisible(e,t){return null!=t.layerDefinition?.defaultVisibility?!!t.layerDefinition.defaultVisibility:null!=t.visibility?!!t.visibility:void 0}async addAttachment(e,t){const i=await(0,ue.Xl)(this,e,t,je);return this.lastEditsEventDate=new Date,i}async updateAttachment(e,t,i){const r=await(0,ue.bt)(this,e,t,i,je);return this.lastEditsEventDate=new Date,r}async applyEdits(e,t){return(0,ue.ct)(this,e,t)}async uploadAssets(e,t){return(0,ue.rn)(this,e,t)}on(e,t){return super.on(e,t)}createPopupTemplate(e){return(0,Ie.tn)(this,e)}async createGraphicsSource(e){if(this._hasMemorySource()&&this.source)return this.source.load({signal:e});const{default:t}=await(0,h.qr)(Promise.all([i.e(708),i.e(364),i.e(8628),i.e(2593)]).then(i.bind(i,72593)),e);return new t({layer:this,supportedSourceTypes:this.supportedSourceTypes}).load({signal:e})}createQuery(){const e=(0,ue.VZ)(this);e.dynamicDataSource=this.dynamicDataSource;const t=null!=this.subtypeCode?`${this.subtypeField} = ${this.subtypeCode}`:null,i=(0,f.mA)(this.definitionExpression,t);return e.where=i||"1=1",e}async deleteAttachments(e,t){const i=await(0,ue.mm)(this,e,t,je);return this.lastEditsEventDate=new Date,i}async fetchRecomputedExtents(e){return(0,ue.WP)(this,e,je)}async getFeatureTitle(e,t){return this._titleCreator.getTitle(this,e,t)}async getFeatureTitles(e,t){return this._titleCreator.getTitles(this,e,t)}getFeatureType(e){return(0,ue.xd)(this.types,this.typeIdField,e)}getFieldDomain(e,t){return(0,ue.Vq)(this,e,t,this.getField(e)?.domain??null)}async queryAttachments(e,t){return(0,ue.lV)(this,e,t,je)}async queryFeatures(e,t){const i=await this.load(),r=await i.source.queryFeatures(Me.A.from(e)??i.createQuery(),t);if(r?.features)for(const e of r.features)e.layer=e.sourceLayer=i;return r}async queryObjectIds(e,t){return await(0,ue.sg)(this,e,t,je)}async queryFeatureCount(e,t){return(0,ue.Ye)(this,e,t,je)}async queryExtent(e,t){return(0,ue.B5)(this,e,t,je)}async queryRelatedFeatures(e,t){return(0,ue.hM)(this,e,t,je)}async queryRelatedFeaturesCount(e,t){return(0,ue.S2)(this,e,t,je)}async queryTopFeatures(e,t){const{source:r,capabilities:s}=await this.load();if(!r.queryTopFeatures||!s?.query?.supportsTopFeaturesQuery)throw new l.A(je,"Layer source does not support queryTopFeatures capability");const o=await i.e(7561).then(i.bind(i,57561)),n=await r.queryTopFeatures(o.default.from(e),t);if(n?.features)for(const e of n.features)e.layer=e.sourceLayer=this;return n}async queryAttributeBins(e,t){const{source:r,capabilities:s}=await this.load();if(!r.queryAttributeBins)throw new l.A(je,"Layer source does not support queryAttributeBins capability");(0,ue.ZJ)(e,s,je);const o=await Promise.all([i.e(4575),i.e(7136)]).then(i.bind(i,14575)),n=await r.queryAttributeBins(o.default.from(e),t);if(n.features)for(const e of n.features)e.layer=e.sourceLayer=this;return n}async queryTopObjectIds(e,t){const{source:r,capabilities:s}=await this.load();if(!r.queryTopObjectIds||!s?.query.supportsTopFeaturesQuery)throw new l.A(je,"Layer source does not support queryTopObjectIds capability");const o=await i.e(7561).then(i.bind(i,57561));return(await r.queryTopObjectIds(o.default.from(e),t)).filter(Se.Et)}async queryTopFeaturesExtent(e,t){const{source:r,capabilities:s}=await this.load();if(!r.queryTopExtents||!s?.query?.supportsTopFeaturesQuery)throw new l.A(je,"Layer source does not support queryTopExtents capability");const o=await i.e(7561).then(i.bind(i,57561));return r.queryTopExtents(o.default.from(e),t)}async queryTopFeatureCount(e,t){const{source:r,capabilities:s}=await this.load();if(!r.queryTopCount||!s?.query?.supportsTopFeaturesQuery)throw new l.A(je,"Layer source does not support queryFeatureCount capability");const o=await i.e(7561).then(i.bind(i,57561));return r.queryTopCount(o.default.from(e),t)}read(e,t){const i=e.featureCollection;if((i||"Feature Collection"===e.type)&&(this.resourceInfo=e),i){const{layers:e,showLegend:r}=i;1===e?.length&&(super.read(e[0],t),null!=r&&super.read({showLegend:r},t))}super.read(e,t),t&&"service"===t.origin&&(this.revert(["objectIdField","fields","timeInfo","dateFieldsTimeZone"],"service"),this.spatialReference||this.revert(["spatialReference"],"service"))}write(e,t){t={...t,origin:t?.origin??void 0,writeLayerSchema:t?.writeLayerSchema??this._hasMemorySource()};const{origin:i,layerContainerType:r,messages:s}=t;if(this.dynamicDataSource)return s?.push(Ce(this,"using a dynamic data source cannot be written to web scenes, web maps and feature service items")),null;if(this.isTable){if(("web-map"===i||"web-scene"===i)&&"tables"!==r)return s?.push(Ce(this,`a table source can only be written to tables, not ${r}`)),null;if(this._hasMemorySource())return s?.push(Ce(this,"using an in-memory table source cannot be written to web scenes and web maps")),null}else if(this.loaded&&("web-map"===i||"web-scene"===i)&&"tables"===r)return s?.push(Ce(this,"using a non-table source cannot be written to tables in web maps or web scenes")),null;return super.write(e,t)}clone(){if(this._hasMemorySource())throw new l.A(je,`FeatureLayer (title: ${this.title}, id: ${this.id}) created using in-memory source cannot be cloned`);return super.clone()}serviceSupportsSpatialReference(e){return!!this.loaded&&("memory"===this.source?.type||(0,_e.D)(this,e))}async save(e){return this._debouncedSaveOperations(Ae.X.SAVE,e)}async saveAs(e,t){return this._debouncedSaveOperations(Ae.X.SAVE_AS,t,e)}_readEditingEnabled(e,t,i){let r=e.layerDefinition?.capabilities;return r?this._hasEditingCapability(r):(r=e.capabilities,t&&"web-map"===i?.origin&&!this._hasMemorySource()&&r?this._hasEditingCapability(r):void 0)}_hasEditingCapability(e){return e.toLowerCase().split(",").map((e=>e.trim())).includes("editing")}_writeEditingEnabled(e,t,i,r){if(!e){const e=this.capabilities?.operations?.supportsSync?"Query,Sync":"Query";(0,c.sM)("layerDefinition.capabilities",e,t),i&&!r?.writeLayerSchema&&(t.capabilities=e)}}_fetchFirstValidLayerId(e){return(0,o.A)(this.url??"",{query:{f:"json",...this.customParameters,token:this.apiKey},responseType:"json",signal:e}).then((e=>{const t=e.data;if(t)return this.applyPreferredHost(t),this.findFirstValidLayerId(t)}))}async initLayerProperties(e){return this._set("source",e),e.sourceJSON&&(this.sourceJSON=e.sourceJSON,this.read(e.sourceJSON,{origin:"service",portalItem:this.portalItem,portal:this.portalItem?.portal,url:this.parsedUrl})),this._verifySource(),this._verifyFields(),(0,ce.yp)(this.renderer,this.fieldsIndex),(0,ce.sv)(this.timeInfo,this.fieldsIndex),this._hasMemorySource()&&"mesh"===this.geometryType&&(this.capabilities.query.supportsReturnMesh=!0),(0,Te.L)(this,{origin:"service"})}async hasDataChanged(){return(0,ue.jp)(this)}async fetchPublishingStatus(){const e=this.source;return e?.fetchPublishingStatus?e.fetchPublishingStatus():"unavailable"}_verifyFields(){const e=this.parsedUrl?.path??"undefined";this.objectIdField||console.log("FeatureLayer: 'objectIdField' property is not defined (url: "+e+")"),this.isTable||this._hasMemorySource()||-1!==e.search(/\/FeatureServer\//i)||this.fields?.some((e=>"geometry"===e.type))||console.log("FeatureLayer: unable to find field of type 'geometry' in the layer 'fields' list. If you are using a map service layer, features will not have geometry (url: "+e+")")}_fixTemplates(e,t){e&&e.forEach((e=>{const i=e.prototype?.attributes;i&&t&&delete i[t]}))}_verifySource(){if(this._hasMemorySource()){if(this.url)throw new l.A("feature-layer:mixed-source-and-url","FeatureLayer cannot be created with both an in-memory source and a url")}else if(!this.url)throw new l.A("feature-layer:source-or-url-required","FeatureLayer requires either a url, a valid portal item or a source")}_initMemorySource(e){e.forEach((e=>{e.layer=this,e.sourceLayer=this})),this.addHandles([e.on("after-add",(e=>{e.item.layer=this,e.item.sourceLayer=this})),e.on("after-remove",(e=>{e.item.layer=null,e.item.sourceLayer=null}))],"fl-source")}_resetMemorySource(e){e.forEach((e=>{e.layer=null,e.sourceLayer=null})),this.removeHandles("fl-source")}_hasMemorySource(){return!(this.url||!this.source)}findFirstValidLayerId(e){return Array.isArray(e.layers)&&e.layers.length>0?e.layers[0].id:Array.isArray(e.tables)&&e.tables.length>0?e.tables[0].id:void 0}};(0,r._)([(0,b.MZ)({clonable:!1,readOnly:!0})],xe.prototype,"_titleCreator",null),(0,r._)([(0,b.MZ)(le.zQ)],xe.prototype,"attributeTableTemplate",void 0),(0,r._)([(0,_.w)("service","capabilities")],xe.prototype,"readCapabilities",null),(0,r._)([(0,b.MZ)({json:{origins:{"web-scene":{write:!1}},write:!0}})],xe.prototype,"charts",void 0),(0,r._)([(0,b.MZ)({readOnly:!0})],xe.prototype,"createQueryVersion",null),(0,r._)([(0,b.MZ)({json:{read:{source:"layerDefinition.copyrightText"}}})],xe.prototype,"copyright",void 0),(0,r._)([(0,b.MZ)({json:{read:{source:"layerDefinition.displayField"}}})],xe.prototype,"displayField",void 0),(0,r._)([(0,b.MZ)({types:Ee.Es,readOnly:!0})],xe.prototype,"defaultSymbol",void 0),(0,r._)([(0,b.MZ)({type:we.L})],xe.prototype,"dynamicDataSource",void 0),(0,r._)([(0,b.MZ)({type:Boolean})],xe.prototype,"editingEnabled",null),(0,r._)([(0,_.w)(["portal-item","web-scene"],"editingEnabled",["layerDefinition.capabilities"])],xe.prototype,"readEditingEnabled",null),(0,r._)([(0,_.w)("web-map","editingEnabled",["capabilities","layerDefinition.capabilities"])],xe.prototype,"readEditingEnabledFromWebMap",null),(0,r._)([(0,v.K)(["portal-item","web-scene"],"editingEnabled",{"layerDefinition.capabilities":{type:String}})],xe.prototype,"writeEditingEnabled",null),(0,r._)([(0,v.K)("web-map","editingEnabled",{capabilities:{type:String},"layerDefinition.capabilities":{type:String}})],xe.prototype,"writeEditingEnabledToWebMap",null),(0,r._)([(0,b.MZ)({readOnly:!0})],xe.prototype,"effectiveEditingEnabled",null),(0,r._)([(0,b.MZ)({clonable:!1,readOnly:!0})],xe.prototype,"featureTitleFields",null),(0,r._)([(0,b.MZ)({...Oe.fields,json:{read:{source:"layerDefinition.fields"},origins:{service:{name:"fields"},"web-map":{write:{target:"layerDefinition.fields",overridePolicy:qe}}}}})],xe.prototype,"fields",void 0),(0,r._)([(0,b.MZ)(Oe.fieldsIndex)],xe.prototype,"fieldsIndex",void 0),(0,r._)([(0,b.MZ)({type:F.A,json:{name:"formInfo",write:!0,origins:{"web-scene":{read:!1,write:!1}}}})],xe.prototype,"formTemplate",void 0),(0,r._)([(0,b.MZ)({json:{read:{source:"layerDefinition.extent"}}})],xe.prototype,"fullExtent",void 0),(0,r._)([(0,b.MZ)({json:{origins:{"web-map":{write:{target:"layerDefinition.geometryType",overridePolicy:qe,writer(e,t,i){const r=e?ue.iX.toJSON(e):null;r&&(0,c.sM)(i,r,t)}}}},read:{source:"layerDefinition.geometryType",reader:ue.iX.read}}})],xe.prototype,"geometryType",void 0),(0,r._)([(0,b.MZ)({json:{read:{source:"layerDefinition.hasM"}}})],xe.prototype,"hasM",void 0),(0,r._)([(0,b.MZ)({json:{read:{source:"layerDefinition.hasZ"}}})],xe.prototype,"hasZ",void 0),(0,r._)([(0,b.MZ)(le.id)],xe.prototype,"id",void 0),(0,r._)([(0,b.MZ)({readOnly:!0,json:{origins:{service:{read:!0}},read:!1}})],xe.prototype,"infoFor3D",void 0),(0,r._)([(0,b.MZ)({json:{origins:{"web-map":{write:{target:"layerDefinition.type"}}}}})],xe.prototype,"isTable",void 0),(0,r._)([(0,_.w)("service","isTable",["type","geometryType"]),(0,_.w)("isTable",["layerDefinition.type","layerDefinition.geometryType"])],xe.prototype,"readIsTable",null),(0,r._)([(0,v.K)("web-map","isTable")],xe.prototype,"writeIsTable",null),(0,r._)([(0,b.MZ)(le.kF)],xe.prototype,"labelsVisible",void 0),(0,r._)([(0,b.MZ)({type:[he.A],json:{origins:{service:{name:"drawingInfo.labelingInfo",read:fe.w,write:!1}},name:"layerDefinition.drawingInfo.labelingInfo",read:fe.w,write:{layerContainerTypes:T.K}}})],xe.prototype,"labelingInfo",void 0),(0,r._)([(0,b.MZ)((()=>{const e=(0,u.o8)(le.Ih);return e.json.origins["portal-item"]={write:{target:"layerDefinition.drawingInfo.transparency",writer(e,t,i){(0,c.sM)(i,(0,Ze.p)(e),t)}}},e})())],xe.prototype,"opacity",void 0),(0,r._)([(0,b.MZ)(le.fV)],xe.prototype,"legendEnabled",void 0),(0,r._)([(0,b.MZ)({type:["show","hide"],json:(()=>{const e=(0,u.o8)(le.C1.json);return e.origins["portal-item"]={read:!1,write:!1},e})()})],xe.prototype,"listMode",void 0),(0,r._)([(0,_.w)("globalIdField",["layerDefinition.globalIdField","layerDefinition.fields"])],xe.prototype,"readGlobalIdField",null),(0,r._)([(0,b.MZ)({json:{origins:{"web-map":{write:{target:"layerDefinition.objectIdField",overridePolicy:qe}}}}})],xe.prototype,"objectIdField",void 0),(0,r._)([(0,_.w)("objectIdField",["layerDefinition.objectIdField","layerDefinition.fields"])],xe.prototype,"readObjectIdField",null),(0,r._)([(0,b.MZ)({type:["ArcGISFeatureLayer"],json:{write:{target:"layerType",ignoreOrigin:!0,layerContainerTypes:T.K}}})],xe.prototype,"operationalLayerType",void 0),(0,r._)([(0,b.MZ)(Oe.outFields)],xe.prototype,"outFields",void 0),(0,r._)([(0,b.MZ)({readOnly:!0})],xe.prototype,"parsedUrl",null),(0,r._)([(0,b.MZ)({type:String,json:{origins:{"web-scene":{read:!0,write:!0}},read:!1}})],xe.prototype,"path",void 0),(0,r._)([(0,b.MZ)(le.M6)],xe.prototype,"popupEnabled",void 0),(0,r._)([(0,b.MZ)({type:s.A,json:{name:"popupInfo",write:!0}})],xe.prototype,"popupTemplate",void 0),(0,r._)([(0,b.MZ)({readOnly:!0})],xe.prototype,"defaultPopupTemplate",null),(0,r._)([(0,b.MZ)({types:Fe.Hg,json:{origins:{service:{write:{target:"drawingInfo.renderer",enabled:!1}},"web-scene":{types:Fe.XJ,name:"layerDefinition.drawingInfo.renderer",write:{layerContainerTypes:T.K,overridePolicy:(e,t,i)=>({ignoreOrigin:i?.writeLayerSchema,layerContainerTypes:T.K})}}},write:{target:"layerDefinition.drawingInfo.renderer",overridePolicy:(e,t,i)=>({ignoreOrigin:i?.writeLayerSchema,layerContainerTypes:T.K})}}})],xe.prototype,"renderer",null),(0,r._)([(0,_.w)("service","renderer",["drawingInfo.renderer","defaultSymbol"]),(0,_.w)("renderer",["layerDefinition.drawingInfo.renderer","layerDefinition.defaultSymbol"])],xe.prototype,"readRenderer",null),(0,r._)([(0,b.MZ)()],xe.prototype,"resourceInfo",void 0),(0,r._)([(0,b.MZ)((()=>{const e=(0,u.o8)(le.PY);return e.json.origins["portal-item"]={read:!1,write:!1},e})())],xe.prototype,"screenSizePerspectiveEnabled",void 0),(0,r._)([(0,b.MZ)({clonable:!1})],xe.prototype,"source",null),(0,r._)([(0,g.w)("source")],xe.prototype,"castSource",null),(0,r._)([(0,_.w)("portal-item","source",["featureSet"]),(0,_.w)("web-map","source",["featureSet"])],xe.prototype,"readSource",null),(0,r._)([(0,b.MZ)({json:{read:{source:"layerDefinition.extent.spatialReference"}}})],xe.prototype,"spatialReference",void 0),(0,r._)([(0,b.MZ)({type:Number})],xe.prototype,"subtypeCode",void 0),(0,r._)([(0,b.MZ)({type:[de.A]})],xe.prototype,"templates",void 0),(0,r._)([(0,_.w)("templates",["editFieldsInfo","creatorField","editorField","templates"])],xe.prototype,"readTemplates",null),(0,r._)([(0,b.MZ)({type:be.A})],xe.prototype,"timeInfo",void 0),(0,r._)([(0,b.MZ)()],xe.prototype,"title",void 0),(0,r._)([(0,_.w)("service","title",["name"]),(0,_.w)("portal-item","title",["layerDefinition.title","layerDefinition.name","title"])],xe.prototype,"readTitle",null),(0,r._)([(0,_.w)("web-map","title",["layerDefinition.name","title"])],xe.prototype,"readTitleFromWebMap",null),(0,r._)([(0,b.MZ)({type:String})],xe.prototype,"sublayerTitleMode",void 0),(0,r._)([(0,b.MZ)({json:{read:!1}})],xe.prototype,"type",void 0),(0,r._)([(0,b.MZ)({type:String})],xe.prototype,"typeIdField",void 0),(0,r._)([(0,_.w)("service","typeIdField"),(0,_.w)("typeIdField",["layerDefinition.typeIdField"])],xe.prototype,"readTypeIdField",null),(0,r._)([(0,b.MZ)({type:[pe.A]})],xe.prototype,"types",void 0),(0,r._)([(0,_.w)("service","types",["types"]),(0,_.w)("types",["layerDefinition.types"])],xe.prototype,"readTypes",null),(0,r._)([(0,b.MZ)({type:Boolean,json:{origins:{"portal-item":{write:{target:"layerDefinition.defaultVisibility",layerContainerTypes:T.K}}}}})],xe.prototype,"visible",void 0),(0,r._)([(0,_.w)("portal-item","visible",["visibility","layerDefinition.defaultVisibility"])],xe.prototype,"readVisible",null),xe=(0,r._)([(0,w.$)("esri.layers.FeatureLayer")],xe)},68109:(e,t,i)=>{i.d(t,{d:()=>w});var r=i(90237),s=i(10107),o=(i(44208),i(53966),i(87811),i(40608)),n=i(13874),a=i(69540),l=i(25482),u=i(93637),d=i(43937),p=i(50820),y=i(10873),c=i(46499),h=i(41214);let f=class extends(a.A.ClonableMixin(l.A)){constructor(e){super(e),this.labelingInfo=null,this.labelsVisible=!0,this.renderer=null,this.visible=!0}};(0,r._)([(0,s.MZ)({type:[c.A],json:{write:!0}})],f.prototype,"labelingInfo",void 0),(0,r._)([(0,s.MZ)(y.kF)],f.prototype,"labelsVisible",void 0),(0,r._)([(0,s.MZ)({types:h.Hg,json:{write:!0}})],f.prototype,"renderer",void 0),(0,r._)([(0,s.MZ)({type:Boolean,json:{write:!0}})],f.prototype,"visible",void 0),f=(0,r._)([(0,o.$)("esri.layers.support.TrackPartInfo")],f);var m=i(96576),b=i(59868),g=i(26253);let _=class extends(a.A.ClonableMixin(l.A)){constructor(e){super(e),this.enabled=!0,this.fields=[],this.latestObservations=new f({renderer:new m.A({symbol:b.UK.clone()})}),this.maxDisplayDuration=null,this.maxDisplayObservationsPerTrack=0,this.popupEnabled=!0,this.popupTemplate=null,this.previousObservations=new f({renderer:new m.A({symbol:b.UK.clone()})}),this.trackLines=new f({renderer:new m.A({symbol:b.A7.clone()})}),this.timeField="startTimeField"}writeFields(e,t,i){const r=e.filter((e=>"avg_angle"!==e.statisticType)).map((e=>e.toJSON()));(0,u.sM)(i,r,t)}};(0,r._)([(0,s.MZ)({type:Boolean,json:{write:!0}})],_.prototype,"enabled",void 0),(0,r._)([(0,s.MZ)({type:[p.A],json:{write:!0}})],_.prototype,"fields",void 0),(0,r._)([(0,d.K)("fields")],_.prototype,"writeFields",null),(0,r._)([(0,s.MZ)({type:f,json:{write:!0}})],_.prototype,"latestObservations",void 0),(0,r._)([(0,s.MZ)({type:g.T,json:{write:!0}})],_.prototype,"maxDisplayDuration",void 0),(0,r._)([(0,s.MZ)({type:Number,json:{write:!0}})],_.prototype,"maxDisplayObservationsPerTrack",void 0),(0,r._)([(0,s.MZ)(y.M6)],_.prototype,"popupEnabled",void 0),(0,r._)([(0,s.MZ)({type:n.A,json:{name:"popupInfo",write:!0}})],_.prototype,"popupTemplate",void 0),(0,r._)([(0,s.MZ)({type:f,json:{write:!0}})],_.prototype,"previousObservations",void 0),(0,r._)([(0,s.MZ)({type:f,json:{write:!0}})],_.prototype,"trackLines",void 0),(0,r._)([(0,s.MZ)({type:["timeReceived","startTimeField","endTimeField"],json:{read:!0,write:!0}})],_.prototype,"timeField",void 0),_=(0,r._)([(0,o.$)("esri.layers.support.TrackInfo")],_);const w=e=>{let t=class extends e{constructor(){super(...arguments),this.trackInfo=null}};return(0,r._)([(0,s.MZ)({type:_})],t.prototype,"trackInfo",void 0),t=(0,r._)([(0,o.$)("esri.layers.mixins.TrackableLayer")],t),t}},96520:(e,t,i)=>{i.d(t,{u:()=>n});var r=i(83047),s=i(21325);function o(e,t,i){if(null==e.hasM||e.hasZ)for(const e of t)for(const t of e)t.length>2&&(t[2]*=i)}function n(e,t,i){if(!e&&!t||!i)return;const s=(0,r.G9)(i);a(e,i,s),a(t,i,s)}function a(e,t,i){if(e)for(const r of e)l(r.geometry,t,i)}function l(e,t,i){if(!e?.spatialReference||(0,s.aI)(e.spatialReference,t))return;const n=(0,r.G9)(e.spatialReference)/i;if(1!==n)if("x"in e)null!=e.z&&(e.z*=n);else if("rings"in e)o(e,e.rings,n);else if("paths"in e)o(e,e.paths,n);else if("points"in e&&(null==e.hasM||e.hasZ))for(const t of e.points)t.length>2&&(t[2]*=n)}}}]);
@@ -343,4 +343,4 @@ gl_Position = posProjCenter;
343
343
  gl_PointSize = 1.0;`),o.main.add(s.H`fragColor = vec4(1);
344
344
  if(discardByTerrainDepth()) {
345
345
  fragColor.g = 0.5;
346
- }`)}},65215:(e,t,r)=>{r.d(t,{H:()=>n,R:()=>i});class n{constructor(e){this.layerViewUid=e}}class i extends n{constructor(e,t){super(e),this.graphicUid=t}}},65494:(e,t,r)=>{r.d(t,{L:()=>l,r:()=>o});var n=r(67076),i=r(90360),s=r(41214);function o(e,t){return l(e,null,t)}const a=(0,i.C)({types:s.Hg});function l(e,t,r){return e?e&&(e.styleName||e.styleUrl)&&"uniqueValue"!==e.type?(r?.messages&&r.messages.push(new n.A("renderer:unsupported","Only UniqueValueRenderer can be referenced from a web style, but found '"+e.type+"'",{definition:e,context:r})),null):a(e,t,r):null}},65529:(e,t,r)=>{r.d(t,{A:()=>l});var n=r(90237),i=r(69622),s=r(36563),o=r(40608);class a{constructor(){this._emitter=new a.EventEmitter(this)}emit(e,t){return this._emitter.emit(e,t)}on(e,t){return this._emitter.on(e,t)}once(e,t){return this._emitter.once(e,t)}hasEventListener(e){return this._emitter.hasEventListener(e)}}!function(e){class t{constructor(e=null){this._target=e,this._listenersMap=null}clear(){this._listenersMap?.clear(),this._listenersMap=null}destroy(){this.clear()}emit(e,t){let r=this._listenersMap?.get(e);if(!r)return!1;const n=this._target||this;let i=!1;for(const e of r.slice()){const r="deref"in e?e.deref():e;r?r?.call(n,t):i=!0}return i&&(r=r.filter((e=>!("deref"in e)||null!=e.deref())),this._listenersMap.set(e,r)),r.length>0}on(e,t){if(Array.isArray(e)){const r=e.map((e=>this.on(e,t)));return(0,s.vE)(r)}if(e.includes(","))throw new TypeError("Evented.on() with a comma delimited string of event types is not supported");this._listenersMap??=new Map;const r=this._listenersMap.get(e)||[];return r.push(t),this._listenersMap.set(e,r),(0,s.hA)((()=>{const r=this._listenersMap?.get(e),n=r?.indexOf(t)??-1;n>=0&&r.splice(n,1)}))}once(e,t){const r=this.on(e,(e=>{r.remove();const n="deref"in t?t.deref():t;n?.call(null,e)}));return r}hasEventListener(e){const t=this._listenersMap?.get(e);return null!=t&&t.length>0}}e.EventEmitter=t,e.EventedMixin=e=>{let r=class extends e{constructor(){super(...arguments),this._emitter=new t}destroy(){this._emitter.clear()}emit(e,t){return this._emitter.emit(e,t)}on(e,t){return this._emitter.on(e,t)}once(e,t){return this._emitter.once(e,t)}hasEventListener(e){return this._emitter.hasEventListener(e)}};return r=(0,n._)([(0,o.$)("esri.core.Evented")],r),r};let r=class extends i.A{constructor(){super(...arguments),this._emitter=new a.EventEmitter(this)}destroy(){this._emitter.clear()}emit(e,t){return this._emitter.emit(e,t)}on(e,t){return this._emitter.on(e,t)}once(e,t){return this._emitter.once(e,t)}hasEventListener(e){return this._emitter.hasEventListener(e)}};r=(0,n._)([(0,o.$)("esri.core.Evented.EventedAccessor")],r),e.EventedAccessor=r}(a||(a={}));const l=a},65806:(e,t,r)=>{r.d(t,{g:()=>o});var n=r(51850),i=r(98988),s=r(9762);function o(e,t,r,n){if((0,i.canProjectWithoutEngine)(e.spatialReference,r)){a[0]=e.x,a[1]=e.y;const i=e.z;return a[2]=i??n??0,(0,s.projectBuffer)(a,e.spatialReference,0,t,r,0)}const o=(0,i.tryProjectWithZConversion)(e,r);return!!o&&(t[0]=o?.x,t[1]=o?.y,t[2]=o?.z??n??0,!0)}const a=(0,n.vt)()},66208:(e,t,r)=>{r.d(t,{m:()=>i});var n=r(53655);function i(e,t){const r=(0,n.SH)(e,t),i=r.queryResult.featureResult,s=r.queryResult.queryGeometry,o=r.queryResult.queryGeometryType;if(i&&i.features&&i.features.length&&i.objectIdFieldName){const e=i.objectIdFieldName;for(const t of i.features)t.attributes&&(t.objectId=t.attributes[e])}return i&&(i.queryGeometry=s,i.queryGeometryType=o),i}},66357:(e,t,r)=>{r.r(t),r.d(t,{default:()=>cn});var n=r(90237),i=r(65529),s=r(74887),o=r(36708),a=r(10107),l=r(44208),c=(r(53966),r(87811),r(40608)),u=r(5443),d=r(98988),h=r(16930),f=r(68298),p=r(61956),m=r(65494);class g{constructor(e,t,r){this.renderCommandContext=e,this.renderCommandBuffer=t,this.pipelineStateCommands=r}append(e){this.appendRenderCommands(e.renderCommandBuffer),this.appendPipelineStateCommands(e.pipelineStateCommands)}appendRenderCommands(e){this.renderCommandBuffer.commands.push(...e.commands),this.renderCommandBuffer.transferList.push(...e.transferList)}appendPipelineStateCommand(e){this.pipelineStateCommands.push(e)}appendPipelineStateCommands(e){for(const t of e)this.appendPipelineStateCommand(t)}async execute(){for(const e of this.pipelineStateCommands)e();await this.renderCommandContext.dispatchRenderCommands(this.renderCommandBuffer)}static create(e,t=[]){return new g(e,e.createRenderCommandBuffer(),t)}}var y=r(68197),_=r(18574),b=r(87403),v=r(28975);function x(){return new _.A({material:new v.N({color:new y.A("red")})})}var w=r(9093),C=r(51850),A=r(91829),S=r(6847),I=r(83047),O=r(58083),T=r(87317),R=r(70328),P=r(19419);r(12359),r(95108),r(27615),r(52106),r(4718),r(34275),r(65864);var M=r(37585),E=r(48163),F=r(34727),D=r(26857);new Map,(()=>{let e="";for(let t=32;t<127;t++)e+=String.fromCharCode(t)})();const L=[];{const e=16;for(let t=0;t<360;t+=360/e)L.push([Math.cos(Math.PI*t/180),Math.sin(Math.PI*t/180)])}var V,j;(j=V||(V={}))[j.Left=0]="Left",j[j.Center=1]="Center",j[j.Right=2]="Right",Object.freeze({left:0,center:.5,right:1});const B=Object.freeze({"bottom-left":(0,E.fA)(0,0),bottom:(0,E.fA)(.5,0),"bottom-right":(0,E.fA)(1,0),left:(0,E.fA)(0,.5),center:(0,E.fA)(.5,.5),right:(0,E.fA)(1,.5),"top-left":(0,E.fA)(0,1),top:(0,E.fA)(.5,1),"top-right":(0,E.fA)(1,1)});var k=r(9762),z=r(27993);function U(e){const{featureCount:t}=e;if(0===t)return new Uint32Array;const r=new Uint32Array(t);return e.getObjectIdsArray(r),r}function N(e){const{featureCount:t}=e;if(0===t)return new Float64Array;const r=new Float64Array(3*t);return e.getCoordinatesArray(r),r}function q(e,t){const r=t.viewSpatialReference,n=t.renderSpatialReference,{extent:i}=e,s=(0,P.gX)(i),o=(0,C.vt)();return(0,z.F)([s[0],s[1],0],r,o,n),o}var G=r(97146);function H(e){const t=new Map;for(const[r,n]of e)t.set(r,{...n,indices:(0,G.Dg)(n.indices)});return t}var $=r(40804),Z=(r(48833),r(63907));const Y=(0,A.CN)(.25,.25,.75,.75);function X(e){return"cross"===e||"x"===e}function W(e,t=128,r=.5*t,n=0){switch(e){case"circle":default:return function(e,t){const r=e/2-.5;return te(e,K(r,r,t/2))}(t,r);case"square":return function(e,t){return J(e,t,!1)}(t,r);case"cross":return function(e,t,r=0){return Q(e,t,!1,r)}(t,r,n);case"x":return function(e,t,r=0){return Q(e,t,!0,r)}(t,r,n);case"kite":return function(e,t){return J(e,t,!0)}(t,r);case"triangle":return function(e,t){return te(e,ee(e/2,t,t/2))}(t,r);case"arrow":return function(e,t){const r=t,n=t/2,i=e/2,s=.8*r,o=K(i,(e-t)/2-s,Math.sqrt(s*s+n*n)),a=ee(i,r,n);return te(e,((e,t)=>Math.max(a(e,t),-o(e,t))))}(t,r)}}function J(e,t,r){return r&&(t/=Math.SQRT2),te(e,((n,i)=>{let s=n-.5*e+.25,o=.5*e-i-.75;if(r){const e=(s+o)/Math.SQRT2;o=(o-s)/Math.SQRT2,s=e}return Math.max(Math.abs(s),Math.abs(o))-.5*t}))}function Q(e,t,r,n=0){t-=n,r&&(t*=Math.SQRT2);const i=.5*t;return te(e,((t,s)=>{let o,a=t-.5*e,l=.5*e-s-1;if(r){const e=(a+l)/Math.SQRT2;l=(l-a)/Math.SQRT2,a=e}return a=Math.abs(a),l=Math.abs(l),o=a>l?a>i?Math.sqrt((a-i)*(a-i)+l*l):l:l>i?Math.sqrt(a*a+(l-i)*(l-i)):a,o-=n/2,o}))}function K(e,t,r){return(n,i)=>{const s=n-e,o=i-t;return Math.sqrt(s*s+o*o)-r}}function ee(e,t,r){const n=Math.sqrt(t*t+r*r);return(i,s)=>{const o=Math.abs(i-e)-r,a=s-e+t/2+.75,l=(t*o+r*a)/n,c=-a;return Math.max(l,c)}}function te(e,t){const r=new Uint8Array(4*e*e);for(let n=0;n<e;n++)for(let i=0;i<e;i++){const s=i+e*n;let o=t(i,n);o=o/e+.5,(0,$.U)(o,r,4*s)}return r}var re=r(46610),ne=r(46540);class ie{constructor(e,t){this._context=null,this._symbolLayer=null,this._draped=!1,this._loaded=!1,this._loadingPromise=null,this._iconTextureID=null,this._materialId=null,this._context=t,this._symbolLayer=e}get loaded(){return this._loaded}load(){return null==this._loadingPromise&&(this._loadingPromise=this._load()),this._loadingPromise}_destroy(){this._iconTextureID=null}async _load(){const e=this._context.renderCommandContext,t=await e.createTexture((()=>function(e,t=128,r=.5*t,n=0){return{data:W(e,t,r,n),parameters:{mipmap:!1,wrap:{s:Z.pF.CLAMP_TO_EDGE,t:Z.pF.CLAMP_TO_EDGE},width:t,height:t,components:4,noUnpackFlip:!0,reloadable:!0}}}("circle")));this._iconTextureID=t;const r={anchorPosition:B.center,occlusionTest:!0,hasSlicePlane:!1,color:this._getFillColor(),outlineColor:this._getOutlineColor(),outlineSize:1,distanceFieldBoundingBox:Y,textureId:t,textureIsSignedDistanceField:!0,sampleSignedDistanceFieldTexelCenter:X("circle")};this._materialId=await e.createMaterial({type:"hud",parameters:r}),await e.createDirectRenderer(this._materialId),this._loaded=!0}async createAddCommand(e){const{_materialId:t,_context:r}=this,{renderCommandContext:n}=r;if(null==t)throw new Error("expected material not to be null");const i=await this._createGeometry(e);if(null==i)return r.createPipelineCommand();const s=q(e,r);return r.createPipelineCommand(n.addDirectRendererGeometry(e.id,i,s))}async _createGeometry(e){const{_materialId:t,_context:r}=this,{mainThreadDelegate:n}=r,{featureCount:i}=e;if(0===i||null==t)return null;const s=U(e),o=N(e),a=function(e,t){const r=e.length/3,n=t.viewSpatialReference,i=t.renderSpatialReference,s=new Float64Array(3*r);if(!(0,k.projectBuffer)(e,n,0,s,i,0,r))throw new Error("Failed to project coordinates");return s}(await n.applyElevationAlignmentTo(o),r),l=new Float64Array([0,0,1]),c=new Float64Array([255,255,255,255]),u=new Float64Array([24,24]),d=new Float64Array([0,0,0,1]),h=new Float64Array([0,0]),f=new Float64Array([0]),p=new Uint32Array(i);for(let e=0;e<i;++e)p[e]=e;const m=new Uint32Array(i);for(let e=0;e<i;++e)m[e]=0;const g=new re.n(a,p,3,!0),y=new re.n(l,m,3,!0),_=new re.n(h,m,2,!0),b=new re.n(c,m,4,!0),v=new re.n(f,m,1,!0),x=new re.n(u,m,2,!0),C=new re.n(d,m,4,!0),A=[[ne.r.POSITION,g],[ne.r.NORMAL,y],[ne.r.UV0,_],[ne.r.COLOR,b],[ne.r.ROTATION,v],[ne.r.SIZE,x],[ne.r.CENTEROFFSETANDDISTANCE,C]],S=new Uint8Array(i);return e.getVisibilityArray(S),{attributes:H(A),objectAndLayerIdColor:void 0,transformation:(0,w.vt)(),materialId:t,objectIds:s,visibilities:S}}async createRemoveCommand(e){const{_materialId:t,_context:r}=this,n=r.renderCommandContext;return null==t?r.createPipelineCommand():r.createPipelineCommand(n.removeDirectRendererGeometryBuffer(t,e))}async createUpdateVisibilityCommand(e){const{_materialId:t,_context:r}=this,n=r.renderCommandContext;if(null==t)return r.createPipelineCommand();const i=new Uint8Array(e.featureCount);return e.getVisibilityArray(i),r.createPipelineCommand(n.updateVisibility(t,e.id,i))}async createUpdateLayerViewOpacityCommand(e){const{_context:t,_materialId:r}=this,n=t.renderCommandContext;return null==r?t.createPipelineCommand():t.createPipelineCommand(n.updateMaterial({type:"hud",materialId:r,parameters:{color:this._getFillColor(),outlineColor:this._getOutlineColor()}}))}async createUpdateElevationCommand(e){const{_materialId:t,_context:r}=this,{renderCommandContext:n}=r,{featureCount:i,id:s}=e;if(null==t||0===i)return r.createPipelineCommand();const o=await this._createGeometry(e);if(null==o)return r.createPipelineCommand();const a=q(e,r);return r.createPipelineCommand(n.updateDirectRendererGeometry(s,o,a))}async createDestroyCommand(){const{_iconTextureID:e,_context:t}=this,r=t.renderCommandContext;let n;return n=null!=e?await r.releaseTexture(e):g.create(r),n.appendPipelineStateCommand((()=>this._destroy())),n}_getOutlineColor(){const e=this._getLayerOpacity(),t=this._symbolLayer,r=t?.outline?.color;if(null!=r){const t=y.A.toUnitRGB(r),n=r.a*e;return[t[0],t[1],t[2],n]}return[0,0,0,0]}_getFillColor(){if(function(e){return null!=e&&("cross"===e||"x"===e)}(this._getPrimitive()))return oe;const e=null==this._getPrimitive(),t=this._symbolLayer?.material?.color;return this._getCombinedOpacityAndColor(t,{hasIntrinsicColor:e})}_getLayerOpacity(){return this._context.layerViewInfo.fullOpacity}_getCombinedOpacity(e,t=se){const r=this._draped?1:this._getLayerOpacity();return e?r*e.a:t.hasIntrinsicColor?r:0}_getCombinedOpacityAndColor(e,t=se){const r=this._getCombinedOpacity(e,t);return function(e,t,r=null){const n=(0,A.o8)(A.Un);return null!=e&&(n[0]=e[0],n[1]=e[1],n[2]=e[2],e.length>3&&(n[3]=e[3])),null!=t&&(n[3]=t),r&&(0,T.d)(n,n,r),n}(null!=e?y.A.toUnitRGB(e):C.Un,r)}_getPrimitive(){return e=this._symbolLayer,e.resource?.href?null:e.resource?.primitive??S.r;var e}}const se={hasIntrinsicColor:!1},oe=A.uY;class ae{constructor(e,t){this._loaded=!1,this._loadingPromise=null,this._context=null,this._symbol=null,this._symbolLayerRenderers=[],this._context=t,this._symbol=e}_destroy(){}get loaded(){return this._loaded}load(){return null==this._loadingPromise&&(this._loadingPromise=this._load()),this._loadingPromise}async _load(){const{_context:e,_symbol:t,_symbolLayerRenderers:r}=this,n=[];for(const i of t.symbolLayers){const t=e.symbolRendererFactory.createSymbolRendererFromSymbolLayer(i);null!=t&&(n.push(t.load()),r.push(t))}await Promise.all(n),this._loaded=!0}async createDestroyCommand(){const{_context:e,_symbolLayerRenderers:t}=this,r=[];for(const e of t)r.push(e.createDestroyCommand());const n=e.joinPipelineCommands(await Promise.all(r));return n.appendPipelineStateCommand((()=>this._destroy())),n}async createAddCommand(e){const{_context:t,_symbolLayerRenderers:r}=this,n=[];for(const t of r)n.push(t.createAddCommand(e));return t.joinPipelineCommands(await Promise.all(n))}async createRemoveCommand(e){const{_context:t,_symbolLayerRenderers:r}=this,n=[];for(const t of r)n.push(t.createRemoveCommand(e));return t.joinPipelineCommands(await Promise.all(n))}async createUpdateVisibilityCommand(e){const{_context:t,_symbolLayerRenderers:r}=this,n=[];for(const t of r)n.push(t.createUpdateVisibilityCommand(e));return t.joinPipelineCommands(await Promise.all(n))}async createUpdateLayerViewOpacityCommand(e){const{_context:t,_symbolLayerRenderers:r}=this,n=[];for(const t of r)n.push(t.createUpdateLayerViewOpacityCommand(e));return t.joinPipelineCommands(await Promise.all(n))}async createUpdateElevationCommand(e){const{_context:t,_symbolLayerRenderers:r}=this,n=[];for(const t of r)n.push(t.createUpdateElevationCommand(e));return t.joinPipelineCommands(await Promise.all(n))}}class le{constructor(e,t){this._symbol=null,this._featureData=new Map,this._loaded=!1,this._loadingPromise=null,this._renderer=null,this._context=t,this._renderer=e}async load(){return null==this._loadingPromise&&(this._loadingPromise=this._load()),this._loadingPromise}async _load(){const{_renderer:e,_context:t}=this;this._symbol=t.symbolRendererFactory.createSymbolRendererFromSymbol(e.symbol),this._loaded=!0}get loaded(){return this._loaded}async createAddCommand(e){const t=this._context,r=await this._provisionSymbol(),n=null==r?t.createPipelineCommand():await r.createAddCommand(e);return n.appendPipelineStateCommand((()=>this._featureData.set(e.id,e))),n}async createRemoveCommand(e){const t=this._context,r=await this._provisionSymbol(),n=null==r?t.createPipelineCommand():await r.createRemoveCommand(e);return n.appendPipelineStateCommand((()=>this._featureData.delete(e))),n}async createUpdateVisibilityCommand(e){const t=this._context,r=await this._provisionSymbol();return null==r?t.createPipelineCommand():await r.createUpdateVisibilityCommand(e)}async createUpdateLayerViewOpacityCommand(e){const t=this._context,r=await this._provisionSymbol();return null==r?t.createPipelineCommand():await r.createUpdateLayerViewOpacityCommand(e)}async createUpdateElevationCommand(){const{_featureData:e,_context:t}=this,r=await this._provisionSymbol();if(null==r)return t.createPipelineCommand();const n=[];for(const t of e.values())n.push(r.createUpdateElevationCommand(t));const i=await Promise.all(n);return t.joinPipelineCommands(i)}async createDestroyCommand(){const{_symbol:e,_context:t,_featureData:r}=this;if(!e)return t.createPipelineCommand();const n=[];for(const e of r.keys())n.push(this.createRemoveCommand(e));n.push(e.createDestroyCommand());const i=await Promise.all(n);return t.joinPipelineCommands(i)}async _provisionSymbol(){const e=this._symbol;return e?(e.loaded||await e.load(),e):null}}var ce,ue,de=r(48353),he=r(30809),fe=r(8887),pe=r(38954),me=r(72385),ge=(r(4197),r(11868)),ye=r(240);r(71351),(ue=ce||(ce={})).length=function(e,t){const r=e[t],n=e[t+1],i=e[t+2];return Math.sqrt(r*r+n*n+i*i)},ue.normalize=function(e,t){const r=e[t],n=e[t+1],i=e[t+2],s=1/Math.sqrt(r*r+n*n+i*i);e[t]*=s,e[t+1]*=s,e[t+2]*=s},ue.scale=function(e,t,r){e[t]*=r,e[t+1]*=r,e[t+2]*=r},ue.add=function(e,t,r,n,i,s=t){(i=i||e)[s]=e[t]+r[n],i[s+1]=e[t+1]+r[n+1],i[s+2]=e[t+2]+r[n+2]},ue.subtract=function(e,t,r,n,i,s=t){(i=i||e)[s]=e[t]-r[n],i[s+1]=e[t+1]-r[n+1],i[s+2]=e[t+2]-r[n+2]},r(87170);var _e=r(620);r(75039);const be=ce,ve=new Array(36);for(let e=0;e<6;e++)for(let t=0;t<6;t++)ve[6*e+t]=e;const xe=new Array(36);for(let e=0;e<6;e++)xe[6*e]=0,xe[6*e+1]=1,xe[6*e+2]=2,xe[6*e+3]=2,xe[6*e+4]=3,xe[6*e+5]=0;const we=(0,me.fA)(-.5,0,-.5),Ce=(0,me.fA)(.5,0,-.5),Ae=(0,me.fA)(0,0,.5),Se=(0,me.fA)(0,.5,0),Ie=(0,me.vt)(),Oe=(0,me.vt)(),Te=(0,me.vt)(),Re=(0,me.vt)(),Pe=(0,me.vt)();(0,pe.d)(Ie,we,Se),(0,pe.d)(Oe,we,Ce),(0,pe.h)(Te,Ie,Oe),(0,pe.n)(Te,Te),(0,pe.d)(Ie,Ce,Se),(0,pe.d)(Oe,Ce,Ae),(0,pe.h)(Re,Ie,Oe),(0,pe.n)(Re,Re),(0,pe.d)(Ie,Ae,Se),(0,pe.d)(Oe,Ae,we),(0,pe.h)(Pe,Ie,Oe),(0,pe.n)(Pe,Pe),Te[0],Te[1],Te[2],Re[0],Re[1],Re[2],Pe[0],Pe[1],Pe[2],(0,C.vt)();var Me=r(4576),Ee=r(69397);r(62258),r(6867),r(29878),r(87582);var Fe=r(57917);function De(e,t){const r=(e,r,n=!1)=>({levels:e.map((e=>{const i=H(r(e.tesselation));return n&&function(e){const t=e,r=t.get(ne.r.POSITION).data,n=t.get(ne.r.NORMAL).data;if(n){const t=Le(e,ne.r.NORMAL).data;for(let e=0;e<n.length;e+=3){const r=n[e+1];t[e+1]=-n[e+2],t[e+2]=r}}if(r){const t=Le(e,ne.r.POSITION).data;for(let e=0;e<r.length;e+=3){const n=r[e+1];t[e+1]=-r[e+2],t[e+2]=n}}}(i),{components:[{attributes:i,objectAndLayerIdColor:void 0,transformation:null,materialId:t,visibilities:new Uint8Array([1]),objectIds:new Uint32Array([-1])}],minScreenSpaceRadius:e.minScreenSpaceRadius}}))});switch(e){case"cone":return r(Ve,(e=>function(e,t,r,n,i=!0,s=!0){let o=0;const a=t,l=e;let c=(0,me.fA)(0,o,0),u=(0,me.fA)(0,o+l,0),d=(0,me.fA)(0,-1,0),h=(0,me.fA)(0,1,0);n&&(o=l,u=(0,me.fA)(0,0,0),c=(0,me.fA)(0,o,0),d=(0,me.fA)(0,1,0),h=(0,me.fA)(0,-1,0));const f=[u,c],p=[d,h],m=r+2,g=Math.sqrt(l*l+a*a);if(n)for(let e=r-1;e>=0;e--){const t=e*(2*Math.PI/r),n=(0,me.fA)(Math.cos(t)*a,o,Math.sin(t)*a);f.push(n);const i=(0,me.fA)(l*Math.cos(t)/g,-a/g,l*Math.sin(t)/g);p.push(i)}else for(let e=0;e<r;e++){const t=e*(2*Math.PI/r),n=(0,me.fA)(Math.cos(t)*a,o,Math.sin(t)*a);f.push(n);const i=(0,me.fA)(l*Math.cos(t)/g,a/g,l*Math.sin(t)/g);p.push(i)}const y=new Array,_=new Array;if(i){for(let e=3;e<f.length;e++)y.push(1),y.push(e-1),y.push(e),_.push(0),_.push(0),_.push(0);y.push(f.length-1),y.push(2),y.push(1),_.push(0),_.push(0),_.push(0)}if(s){for(let e=3;e<f.length;e++)y.push(e),y.push(e-1),y.push(0),_.push(e),_.push(e-1),_.push(1);y.push(0),y.push(2),y.push(f.length-1),_.push(1),_.push(2),_.push(p.length-1)}const b=(0,ge.oe)(3*m);for(let e=0;e<m;e++)b[3*e]=f[e][0],b[3*e+1]=f[e][1],b[3*e+2]=f[e][2];const v=(0,ge.oe)(3*m);for(let e=0;e<m;e++)v[3*e]=p[e][0],v[3*e+1]=p[e][1],v[3*e+2]=p[e][2];return[[ne.r.POSITION,new re.n(b,y,3,!0)],[ne.r.NORMAL,new re.n(v,_,3,!0)]]}(1,.5,e,!1)),!0);case"sphere":return r([{tesselation:0,minScreenSpaceRadius:0},{tesselation:1,minScreenSpaceRadius:8},{tesselation:2,minScreenSpaceRadius:16},{tesselation:3,minScreenSpaceRadius:50},{tesselation:4,minScreenSpaceRadius:250}],(e=>function(e,t,r){const n=e;let i,s;if(r)i=[0,-1,0,1,0,0,0,0,1,-1,0,0,0,0,-1,0,1,0],s=[0,1,2,0,2,3,0,3,4,0,4,1,1,5,2,2,5,3,3,5,4,4,5,1];else{const e=n*(1+Math.sqrt(5))/2;i=[-n,e,0,n,e,0,-n,-e,0,n,-e,0,0,-n,e,0,n,e,0,-n,-e,0,n,-e,e,0,-n,e,0,n,-e,0,-n,-e,0,n],s=[0,11,5,0,5,1,0,1,7,0,7,10,0,10,11,1,5,9,5,11,4,11,10,2,10,7,6,7,1,8,3,9,4,3,4,2,3,2,6,3,6,8,3,8,9,4,9,5,2,4,11,6,2,10,8,6,7,9,8,1]}for(let t=0;t<i.length;t+=3)be.scale(i,t,e/be.length(i,t));let o={};function a(t,r){t>r&&([t,r]=[r,t]);const n=t.toString()+"."+r.toString();if(o[n])return o[n];let s=i.length;return i.length+=3,be.add(i,3*t,i,3*r,i,s),be.scale(i,s,e/be.length(i,s)),s/=3,o[n]=s,s}for(let e=0;e<t;e++){const e=s.length,t=new Array(4*e);for(let r=0;r<e;r+=3){const e=s[r],n=s[r+1],i=s[r+2],o=a(e,n),l=a(n,i),c=a(i,e),u=4*r;t[u]=e,t[u+1]=o,t[u+2]=c,t[u+3]=n,t[u+4]=l,t[u+5]=o,t[u+6]=i,t[u+7]=c,t[u+8]=l,t[u+9]=o,t[u+10]=l,t[u+11]=c}s=t,o={}}const l=(0,ge.Wz)(i);for(let e=0;e<l.length;e+=3)be.normalize(l,e);return[[ne.r.POSITION,new re.n((0,ge.Wz)(i),s,3,!0)],[ne.r.NORMAL,new re.n(l,s,3,!0)]]}(.5,e,!0)));case"cube":case"inverted-cone":case"cylinder":case"tetrahedron":case"diamond":throw new Error("not implemented");default:return}}function Le(e,t){let r=e.get(t);return r&&!r.exclusive&&(r={...r,exclusive:!0,data:(0,Fe.S)(r.data)},e.set(t,r)),r}const Ve=[{tesselation:6,minScreenSpaceRadius:0},{tesselation:18,minScreenSpaceRadius:7},{tesselation:64,minScreenSpaceRadius:65}];var je=r(89192),Be=r(51768),ke=r(74810);class ze{constructor(e,t){this._loaded=!1,this._loadingPromise=null,this._primitiveMaterialId=null,this._lodRendererId=null,this._context=null,this._symbolLayer=null,this._primitive=null,this._context=t,this._symbolLayer=e}_destroy(){this._lodRendererId=null,this._primitiveMaterialId=null}get loaded(){return this._loaded}get _isPrimitive(){return null!=this._primitive}load(){return null==this._loadingPromise&&(this._loadingPromise=this._load()),this._loadingPromise}async _load(){const e=this._context.renderCommandContext,t=this._getLayerOpacity();let r={usePBR:!0,isSchematic:!0,mrrFactors:ke.Bt,ambient:C.Un,diffuse:C.Un,hasSlicePlane:!1,castShadows:!0,layerOpacity:t,offsetTransparentBackfaces:!1,screenSizePerspective:{}};if(r.externalColor=A.Un,r.isInstanced=!0,this._isPrimitive){const e=new Be.fs;e.layerOpacity=t,r={...r,cullFace:Ue((0,Be.ty)(e))}}const n=await e.createMaterial({type:"default",parameters:r}),i=this._symbolLayer.resource;this._primitive=i&&function(e){switch(e){case"sphere":case"cube":case"diamond":case"cylinder":case"cone":case"inverted-cone":case"tetrahedron":return!0}return!1}(i?.primitive)?i.primitive:he.r;const s=De(this._primitive,n);this._lodRendererId=await e.createLodRenderer(s),this._primitiveMaterialId=n,this._loaded=!0}async createDestroyCommand(){const{_lodRendererId:e,_primitiveMaterialId:t,_context:r}=this,n=r.renderCommandContext,i=[];return null!=e&&i.push(n.destroyLodRenderer(e)),null!=t&&i.push(n.destroyMaterial(t)),new g(n,n.mergeRenderCommandBuffers(i),[()=>this._destroy()])}async createAddCommand(e){const t=this._context,{renderCommandContext:r,mainThreadDelegate:n}=t;if(null==this._lodRendererId)throw new Error("expected lod renderer id to not be null");const{featureCount:i}=e;if(0===i)return t.createPipelineCommand();const s=this._isPrimitive,o=this._primitive||he.r,a=(0,R.vt)((0,fe.Fq)(o)),l=(0,C.ci)((0,R.Ej)(a)),c=(0,C.ci)((0,fe.Bb)(l,{isPrimitive:s,width:100,depth:null,height:null})),u=new Float64Array(16*i),d=new Float64Array(16*i),h=N(e),f=await n.applyElevationAlignmentTo(h);for(let e=0;e<i;++e){const t=e,r=f[3*e+0],n=f[3*e+1],i=f[3*e+2],s=this._computeGlobalTransform(r,n,i,this._context.viewSpatialReference,Ge),o=this._computeLocalTransform(c,l,qe);this._writeMatrixToTypedBuffer(u,t,o),this._writeMatrixToTypedBuffer(d,t,s)}const p=U(e),m=new Uint8Array(i);e.getVisibilityArray(m);const g={featureIds:new Uint32Array(p),visibility:m,localTransforms:u,globalTransforms:d};return t.createPipelineCommand(r.addLodInstances(this._lodRendererId,e.id,g))}async createRemoveCommand(e){const{_context:t,_lodRendererId:r}=this,n=t.renderCommandContext;return null==r?t.createPipelineCommand():t.createPipelineCommand(n.removeLodInstances(r,e))}async createUpdateVisibilityCommand(e){const{_lodRendererId:t,_context:r}=this,n=r.renderCommandContext;if(null==t)return r.createPipelineCommand();const i=new Uint8Array(e.featureCount);return e.getVisibilityArray(i),r.createPipelineCommand(n.updateVisibility(t,e.id,i))}async createUpdateLayerViewOpacityCommand(e){const{_context:t}=this,r=t.renderCommandContext,n=this._primitiveMaterialId;if(null==n)return t.createPipelineCommand();const i=this._getLayerOpacity();let s={layerOpacity:i};if(this._isPrimitive){const e=new Be.fs;e.layerOpacity=i,s={...s,cullFace:Ue((0,Be.ty)(e))}}return t.createPipelineCommand(r.updateMaterial({type:"default",materialId:n,parameters:s}))}async createUpdateElevationCommand(e){const{_context:t,_lodRendererId:r}=this,{renderCommandContext:n,mainThreadDelegate:i}=t,{featureCount:s,id:o}=e;if(null==r||0===s)return t.createPipelineCommand();const a=new Float64Array(16*s),l=N(e),c=await i.applyElevationAlignmentTo(l);for(let e=0;e<s;++e){const t=e,r=c[3*e+0],n=c[3*e+1],i=c[3*e+2],s=this._computeGlobalTransform(r,n,i,this._context.viewSpatialReference,Ge);this._writeMatrixToTypedBuffer(a,t,s)}return t.createPipelineCommand(n.updateLodInstancesData(r,o,a))}_writeMatrixToTypedBuffer(e,t,r){let n=16*t;for(let t=0;t<16;t++)e[n++]=r[t]}_computeGlobalTransform(e,t,r,n,i){return Ne[0]=e,Ne[1]=t,Ne[2]=r,(0,de.l)(n,Ne,i,this._context.renderSpatialReference),i}_computeLocalTransform(e,t,r){return(0,O.D_)(r),this._applyObjectScale(e,t,r),r}_applyObjectScale(e,t,r){const n=function(e=C.Un,t,r,n=1){const i=new Array(3);if(null==t||null==r)i[0]=1,i[1]=1,i[2]=1;else{let n,s=0;for(let o=2;o>=0;o--){const a=e[o],l=null!=a,c=0===o&&!n&&!l,u=r[o];let d;"symbol-value"===a||c?d=0!==u?t[o]/u:1:l&&"proportional"!==a&&isFinite(a)&&(d=0!==u?a/u:1),null!=d&&(i[o]=d,n=d,s=Math.max(s,Math.abs(d)))}for(let e=2;e>=0;e--)null==i[e]?i[e]=n:0===i[e]&&(i[e]=.001*s)}for(let e=2;e>=0;e--)i[e]/=n;return(0,C.ci)(i)}(e,e,t,this._context.renderCoordsHelper.unitInMeters);1===n[0]&&1===n[1]&&1===n[2]||(0,O.hs)(r,r,n)}_getLayerOpacity(){return this._context.layerViewInfo.fullOpacity}}function Ue(e){return e?je.s2.None:je.s2.Back}const Ne=(0,C.vt)(),qe=(0,w.vt)(),Ge=(0,w.vt)();class He{constructor(e,t){this._symbols=new Array,this._featureDataPartitioning=new Map,this._loaded=!1,this._loadingPromise=null,this._renderer=null,this._context=t,this._renderer=e}async load(){return null==this._loadingPromise&&(this._loadingPromise=this._load()),this._loadingPromise}async _load(){this._symbols[0]=new ie(x(),this._context),this._symbols[1]=new ze(new b.A,this._context),this._loaded=!0}get loaded(){return this._loaded}async createAddCommand(e){const t=this._context,r=this._partition(e),n=await Promise.all(r.map((async({index:e,features:t})=>{const r=await this._provisionSymbol(e);return await(r?.createAddCommand(t))}))),i=t.joinPipelineCommands(n);return i.appendPipelineStateCommand((()=>this._featureDataPartitioning.set(e.id,r))),i}async createRemoveCommand(e){const{_featureDataPartitioning:t,_context:r}=this,n=r.renderCommandContext,i=t.get(e);if(null==i)return new g(n,n.createRenderCommandBuffer(),[]);const s=await Promise.all(i.map((async({index:e,features:t})=>{const r=this._getLoadedSymbol(e);return await(r?.createRemoveCommand(t.id))}))),o=r.joinPipelineCommands(s);return o.appendPipelineStateCommand((()=>t.delete(e))),o}async createUpdateVisibilityCommand(e){const{_featureDataPartitioning:t,_context:r}=this,n=r.renderCommandContext,i=t.get(e.id);if(null==i)return new g(n,n.createRenderCommandBuffer(),[]);const s=await Promise.all(i.map((async({index:e,features:t})=>{const r=this._getLoadedSymbol(e);return await(r?.createUpdateVisibilityCommand(t))})));return r.joinPipelineCommands(s)}async createUpdateLayerViewOpacityCommand(e){const t=this._context,r=[];for(let t=0;t<this._symbols.length;++t){const n=this._symbols[t];null!=n&&n.loaded&&r.push(n.createUpdateLayerViewOpacityCommand(e))}const n=await Promise.all(r);return t.joinPipelineCommands(n)}async createUpdateElevationCommand(){const{_featureDataPartitioning:e,_context:t}=this,r=[];for(const t of e.values()){const e=t.map((async({index:e,features:t})=>{const r=this._getLoadedSymbol(e);return await(r?.createUpdateElevationCommand(t))}));r.push(...e)}const n=await Promise.all(r);return t.joinPipelineCommands(n)}async createDestroyCommand(){const{_featureDataPartitioning:e,_context:t}=this,r=[];for(const t of e.keys())r.push(this.createRemoveCommand(t));for(const e of this._symbols)r.push(e.createDestroyCommand());const n=await Promise.all(r);return t.joinPipelineCommands(n)}async _provisionSymbol(e){if(null==e)return null;const t=this._symbols[e];return t?(t.loaded||await t.load(),t):null}_getLoadedSymbol(e){if(null==e)return null;const t=this._symbols[e];return null!=t&&t.loaded?t:null}_partition(e){const t=U(e);if(null==t)throw new Error("unable to fetch objectIds");const{featureCount:r}=e,n=[[],[]];for(let e=0;e<r;++e)n[t[e]%2].push(e);return n.map(((t,r)=>new $e(r,e.subset(new Uint32Array(t))))).filter((e=>e.features.featureCount>0))}}class $e{constructor(e,t){this.index=e,this.features=t}}class Ze{constructor(e,t,r,n,i,s,o){this.viewSpatialReference=e,this.renderSpatialReference=t,this.mainThreadDelegate=r,this.renderCoordsHelper=n,this.renderCommandContext=i,this.layerInfo=s,this.layerViewInfo=o,this.symbolRendererFactory=new Ye(this)}createPipelineCommand(e=this.renderCommandContext.createRenderCommandBuffer(),t=[]){return new g(this.renderCommandContext,e,t)}joinPipelineCommands(e){return 0===e.length?this.createPipelineCommand():e.filter((e=>null!=e)).reduce(((e,t)=>(e.append(t),e)))}}class Ye{constructor(e){this.context=e}createSymbolRendererFromJSON(e){const t=(0,m.L)(e??Xe)??void 0;if(!t)throw new Error("Failed to create renderer");const r=t.type;switch(r){case"simple":return new le(t,this.context);case"unique-value":return new He(t,this.context);default:return console.warn(`Unable to create symbolrenderer for renderer of ${r}`),this.createSymbolRendererFromJSON(Xe)}}createSymbolRendererFromSymbol(e){const t=e?.type;switch(t){case"point-3d":return new ae(e,this.context);case"picture-marker":case"simple-marker":return new ie(x(),this.context);default:return console.warn(`Unable to create symbolrenderer for symbol of ${t}`),null}}createSymbolRendererFromSymbolLayer(e){const t=e.type;return"icon"===t?new ie(e,this.context):(console.warn(`Unable to create symbolrenderer for symbolLayer of ${t}`),null)}}const Xe={type:"simple"};var We=r(69622),Je=r(60999),Qe=r(32587),Ke=r(11932),et=r(24326);function tt(e=""){return`${e}${(0,et.c)()}`}r(37539),new Float64Array(3);class rt{constructor(e,t){this._parent=e,this._subsetIndices=t,this.id=tt(`featureDataSubset-${e.id}-`)}get tileId(){return this._parent.tileId}get extent(){return this._parent.extent}get featureCount(){return this._subsetIndices.length}get usedMemory(){return this._parent.usedMemory+Ee.qK+this._subsetIndices.byteLength}get isFullyEnabled(){for(const e of this._subsetIndices)if(!this._parent.getEnabled(e))return!1;return!0}getObjectId(e){return this._parent.getObjectId(this._subsetIndices[e])}getAttribute(e,t){return this._parent.getAttribute(this._subsetIndices[e],t)}getAttributeAsTimestamp(e,t){return this._parent.getAttribute(this._subsetIndices[e],t)}getAttributes(e){return this._parent.getAttributes(this._subsetIndices[e])}getCoordinates(e,t,r){return this._parent.getCoordinates(this._subsetIndices[e],t,r)}getOptimizedGeometry(e){return this._parent.getOptimizedGeometry(this._subsetIndices[e])}getCentroid(e,t){return this._parent.getCentroid(this._subsetIndices[e],t)}getBounds(e){return this._parent.getBounds(this._subsetIndices[e])}getBoundingBox(e){return this._parent.getBoundingBox(this._subsetIndices[e])}getObjectIdsArray(e,t,r){return this._parent.getObjectIdsArray(e,this._translatedIndices(t),r)}getCoordinatesArray(e,t,r){return this._parent.getCoordinatesArray(e,this._translatedIndices(t),r)}objectIds(e){return this._parent.objectIds(this._translatedIndices(e))}subset(e){const{_subsetIndices:t}=this,r=new Uint32Array(e.length);for(let n=0;n<r.length;++n)r[n]=t[e[n]];return new rt(this._parent,r)}disableObjectIds(e){if(0===e.size)return;const{featureCount:t}=this,r=new Array;for(let n=0;n<t;++n)this.getEnabled(n)&&e.has(this.getObjectId(n))&&r.push(n);if(0!==r.length)for(const e of r)this.setEnabled(e,!1)}setEnabled(e,t){this._parent.setEnabled(this._subsetIndices[e],t)}getEnabled(e){return this._parent.getEnabled(this._subsetIndices[e])}enableAll(){const{_subsetIndices:e,_parent:t}=this;for(const r of e)t.setEnabled(r,!0)}getVisibilityArray(e,t,r){return this._parent.getVisibilityArray(e,this._translatedIndices(t),r)}enabledObjectIds(e){return this._parent.enabledObjectIds(this._translatedIndices(e))}*_translatedIndices(e){const{_subsetIndices:t}=this;if(null!=e)for(const r of e)yield t[r];else yield*t}}class nt{constructor(e){this._tile=e,this.id=tt(`featureData-${e.id}-`),this._enabled=new Array(e.featureCount).fill(!0)}get tileId(){return this._tile.id}get featureCount(){return this._tile.featureCount}get usedMemory(){return Ee.qK+(0,Ee.$B)(this.id)}get extent(){return this._tile.descriptor.extent}get isFullyEnabled(){return this._enabled.every((e=>e))}getObjectId(e){return this._tile.getObjectId(e)}getAttribute(e,t){return this._tile.getAttribute(e,t)}getAttributeAsTimestamp(e,t){return this._tile.getAttribute(e,t)}getAttributes(e){return this._tile.getAttributes(e)}getCoordinates(e,t,r){return this._tile.getCoordinates(e,t,r)}getOptimizedGeometry(e){return this._tile.getOptimizedGeometry(e)}getCentroid(e,t){return this._tile.getCentroid(e,t)}getBounds(e){return this._tile.getBounds(e)}getBoundingBox(e){return this._tile.getBoundingBox(e)}getObjectIdsArray(e,t,r){return this._tile.getObjectIdsArray(e,t,r)}getCoordinatesArray(e,t,r){return this._tile.getCoordinatesArray(e,t,r)}objectIds(e){return this._tile.objectIds(e)}subset(e){return new rt(this,e)}disableObjectIds(e){if(0===e.size)return;const{_enabled:t}=this,r=new Array;for(const n of this._allFeatureIndices())t[n]&&e.has(this.getObjectId(n))&&r.push(n);if(0!==r.length)for(const e of r)t[e]=!1}setEnabled(e,t){this._enabled[e]=t}getEnabled(e){return this._enabled[e]}enableAll(){this._enabled.fill(!0)}getVisibilityArray(e,t=this._allFeatureIndices(),r=0){const{_enabled:n}=this;for(const i of t)e[r++]=Number(n[i]);return r}*enabledObjectIds(e=this._allFeatureIndices()){const{_enabled:t}=this;for(const r of e)t[r]&&(yield this.getObjectId(r))}*_allFeatureIndices(){const{featureCount:e}=this;for(let t=0;t<e;++t)yield t}}let it=class extends We.A{constructor(e){super(e),this.extent=null,this._tileHandles=new Qe.A,this._wanted=new Qe.A,this._updateRequested=!1,this._synchronizationTask=null,this._requestedTiles=new Array}destroy(){this._tileHandles.clear(),this._wanted.clear()}get updating(){return this._updateRequested||!(this._synchronizationTask?.finished??1)}get _boundingRect(){const{extent:e}=this;return null==e?null:(0,P.VY)(e)}get _missingTiles(){const e=new Array,t=this._wanted,r=this._tileHandles;for(const n of t.values())null==r.get(n.id)?.featureData&&e.push(n);return e}onTileTreeChange({tiles:e}){this._requestedTiles=e,this._scheduleTilesSync()}_scheduleTilesSync(){if(this._updateRequested)return;this._updateRequested=!0;const e=this._synchronizationTask,t=(0,Je.UT)((async()=>{try{await(0,o.C_)((()=>e?.finished??!0)),await(0,Ke.NO)(),this._updateRequested=!1,await this._synchronizeTiles()}finally{this._synchronizationTask===t&&(this._synchronizationTask=null)}}));this._synchronizationTask=t}async _synchronizeTiles(){const e=this._requestedTiles,t=this._tileHandles,r=new Array;for(const n of e)t.has(n.id)||r.push(n);const n=new Array;for(const r of t.values()){const{id:t}=r;e.every((e=>e.id!==t))&&n.push(r.descriptor)}const i=this._tileHandles,{_boundingRect:s}=this,o=null!=s?r.filter((e=>(0,P.HY)(s,e.extent))):r,a=this._wanted,l=new Array;for(const{id:e}of n)a.delete(e);for(const e of o)a.set(e.id,e);const c=this._missingTiles;for(const e of n){const{id:t}=e;if(c.some((t=>st(t,e)||st(e,t))))continue;const r=i.get(t);null!=r&&l.push(this._removeTile(r))}for(const e of o)l.push(this._addTile(e));const u=await Promise.allSettled(l);for(const e of u)"rejected"===e.status&&console.error(e.reason)}forEachTile(e){for(const t of this._tileHandles.values()){const r=t.featureData;null!=r&&e(r)}}*loadedTiles(){for(const e of this._tileHandles.values()){const t=e.featureData;null!=t&&(yield t)}}async _removeTile(e){e.loadTask.abort(),this._tileHandles.delete(e.id),this._validate();const{featureData:t}=e;if(null!=t){const e={stack:[],error:void 0,hasError:!1};try{(0,n.b)(e,await this.tileLocks.lock([t.tileId]),!1);const r=await this.createRemoveCommand(t.id);await(r?.execute())}catch(t){e.error=t,e.hasError=!0}finally{(0,n.c)(e)}}}async _addTile(e){const{_tileHandles:t}=this,r=t.get(e.id);if(null!=r){if(!at(r)||r.featureData.isFullyEnabled)return;return r.featureData.enableAll(),void await this._onTileLoad(r)}const n=new ot(e,(0,Je.UT)((async t=>{const r=await this.loadTile(e,t);return(0,s.Te)(t),new nt(r)})));this._tileHandles.set(n.id,n);try{await n.loadTask.promise}catch(e){return void(0,s.jH)(e)}(function(e){if(!at(e))throw new Error})(n),await this._onTileLoad(n)}async _onTileLoad(e){const t={stack:[],error:void 0,hasError:!1};try{const{_wanted:r,_tileHandles:i,_missingTiles:s}=this,o=e.descriptor,a=new Array,l=new Array,c=new Array,u=new Set;for(const t of i.values()){if(t===e)continue;const{descriptor:n,id:c}=t;if(r.has(c)||s.some((e=>st(e,n)||st(n,e)))){if(at(t)){if(st(o,n)){const e=t.featureData;for(const t of e.objectIds())u.add(t)}if(st(n,o)){const{featureData:e}=t;l.push(e)}}}else{i.delete(c),t.loadTask.abort();const{featureData:e}=t;null!=e&&a.push(e)}}u.size>0&&(e.featureData.disableObjectIds(u),this._validateRemoval(e.featureData,u)),this._validate(),c.push(e.featureData);const d=[...c,...a,...l].map((e=>e.tileId));if((0,n.b)(t,await this.tileLocks.lock(d),!1),0!==l.length){const t=e.featureData,r=new Set(t.objectIds());for(const e of l)e.disableObjectIds(r),this._validateRemoval(e,r)}const h=a.map((e=>this.createRemoveCommand(e.id))),f=c.map((e=>this.createAddCommand(e))),p=l.map((e=>this.createUpdateCommand(e))),m=function(e){return 0===e.length?null:e.reduce(((e,t)=>(e.append(t),e)))}((await Promise.all([...h,...f,...p])).filter(Me.Ru));await(m?.execute())}catch(e){t.error=e,t.hasError=!0}finally{(0,n.c)(t)}}_validate(){if(!(0,l.A)("feature-pipeline-3d-test-validation"))return;const e=new Array;for(const t of this._tileHandles.values()){if(!at(t))continue;const{featureData:r}=t;e.push({featureData:r,objectIds:new Set(r.enabledObjectIds())})}for(let t=0;t<e.length;++t){const{featureData:r,objectIds:n}=e[t];for(let i=t+1;i<e.length;++i){const{featureData:t,objectIds:s}=e[i];for(const e of s)if(n.has(e))throw new Error(`${r.id} and ${t.id} both contain ${e}.`)}}}_validateRemoval(e,t){if((0,l.A)("feature-pipeline-3d-test-validation"))for(const r of e.enabledObjectIds())if(t.has(r))throw new Error(`Failed to remove ${r} from ${e.id}!`)}};function st({lij:[e,t,r]},{lij:[n,i,s]}){const o=n-e;return o>=0&&t===i>>o&&r===s>>o}(0,n._)([(0,a.MZ)()],it.prototype,"updating",null),(0,n._)([(0,a.MZ)({constructOnly:!0})],it.prototype,"loadTile",void 0),(0,n._)([(0,a.MZ)({constructOnly:!0})],it.prototype,"createAddCommand",void 0),(0,n._)([(0,a.MZ)({constructOnly:!0})],it.prototype,"createRemoveCommand",void 0),(0,n._)([(0,a.MZ)({constructOnly:!0})],it.prototype,"createUpdateCommand",void 0),(0,n._)([(0,a.MZ)({constructOnly:!0})],it.prototype,"tileLocks",void 0),(0,n._)([(0,a.MZ)()],it.prototype,"extent",void 0),(0,n._)([(0,a.MZ)()],it.prototype,"_boundingRect",null),(0,n._)([(0,a.MZ)()],it.prototype,"_missingTiles",null),(0,n._)([(0,a.MZ)()],it.prototype,"_updateRequested",void 0),(0,n._)([(0,a.MZ)()],it.prototype,"_synchronizationTask",void 0),it=(0,n._)([(0,c.$)("esri.views.3d.layers.graphics.pipeline.Tile3DManager")],it);class ot{constructor(e,t){this.descriptor=e,this.loadTask=t}get id(){return this.descriptor.id}get featureData(){return this.loadTask.value}}function at(e){return null!=e.featureData}var lt=r(36563);class ct{constructor(){this._previousActions=new Map}async lock(e){const{_previousActions:t}=this,r=e.map((e=>t.get(e))).filter(Me.Ru),n=Promise.allSettled(r),i=(0,s.Tw)(),o=(0,lt.hA)((()=>i.resolve())),a=i.promise.finally((()=>{for(const r of e)t.get(r)===a&&t.delete(r)}));for(const r of e)t.set(r,a);return await n,(0,lt.Bf)(o)}}var ut=r(75503),dt=r(27647),ht=r(92722);class ft{constructor(e,t){this._index=e,this._view=t}get usedMemory(){return Ee.qK+Ee.RS}getObjectId(){return this._view.getObjectId(this._index)}getAttribute(e){return this._view.getAttribute(this._index,e)}getAttributeAsTimestamp(e){return this._view.getAttributeAsTimestamp(this._index,e)}getAttributes(){return this._view.getAttributes(this._index)}getOptimizedGeometry(){return this._view.getOptimizedGeometry(this._index)}getCentroid(e){return this._view.getCentroid(this._index,e)}getBounds(){return this._view.getBounds(this._index)}getBoundingBox(){return this._view.getBoundingBox(this._index)}cloneWithGeometry(e){return new pt(this._index,this._view,e)}}class pt extends ft{constructor(e,t,r){super(e,t),this._geometryOverride=r}getOptimizedGeometry(){return this._geometryOverride}getCentroid(e){return(0,dt.Q)(new ht.A,this._geometryOverride,e.hasZ,e.hasM)}}class mt{constructor(e,t){this.featureData=e,this.bounds=t}}class gt{constructor(){this._tileBounds=new Map,this.events=new i.A,this.featureAdapter=yt.shared}get usedMemory(){return Ee.qK+Ee.qK*this._tileBounds.size}addTile(e){const{featureCount:t}=e;if(0===t)return;const r=new ut.w(9,(t=>e.getBounds(t))),n=new Array;for(let e=0;e<t;++e)n[e]=e;r.load(n),this._tileBounds.set(e.id,new mt(e,r)),this.events.emit("changed")}removeTile(e){this._tileBounds.delete(e),this.events.emit("changed")}clear(){this._tileBounds.clear(),this.events.emit("changed")}forEach(e){for(const{featureData:t,bounds:r}of this._tileBounds.values())r.all((r=>{t.getEnabled(r)&&e(new ft(r,t))}))}forEachInBounds(e,t){_t.minX=e[0],_t.minY=e[1],_t.maxX=e[2],_t.maxY=e[3];for(const{featureData:e,bounds:r}of this._tileBounds.values())r.search(_t,(r=>{e.getEnabled(r)&&t(new ft(r,e))}))}forEachBounds(e,t){for(const r of e)t(r.getBoundingBox())}getFullExtent(e){let t=1/0,r=1/0,n=-1/0,i=-1/0;for(const{bounds:e}of this._tileBounds.values()){const{minX:s,minY:o,maxX:a,maxY:l}=e.toJSON();t=Math.min(t,s),r=Math.min(r,o),n=Math.min(n,a),i=Math.min(i,l)}return{xmin:t,ymin:r,xmax:n,ymax:i,spatialReference:e}}}class yt{static{this.shared=new yt}getObjectId(e){return e.getObjectId()}getAttribute(e,t){return e.getAttribute(t)}getAttributeAsTimestamp(e,t){return e.getAttributeAsTimestamp(t)}getAttributes(e){return e.getAttributes()}getGeometry(e){return e.getOptimizedGeometry()}getCentroid(e,t){return e.getCentroid(t)}cloneWithGeometry(e,t){return e.cloneWithGeometry(t)}}const _t=new ut.E;var bt=r(80893);class vt{constructor(e,t,r){this.descriptor=e,this._pages=t,this._pageSize=r;const n=Ee.ez+t.reduce(((e,{usedMemory:t})=>e+t),0),i=3*Ee.RS;this.usedMemory=Ee.qK+n+i,this.featureCount=t.reduce(((e,t)=>e+t.featureCount),0)}get id(){return this.descriptor.id}getObjectId(e){const{pageIndex:t,featurePageIndex:r}=this._translateIndex(e);return this._pages[t].getObjectId(r)}getAttribute(e,t){const{pageIndex:r,featurePageIndex:n}=this._translateIndex(e);return this._pages[r].getAttribute(n,t)}getAttributeAsTimestamp(e,t){const{pageIndex:r,featurePageIndex:n}=this._translateIndex(e);return this._pages[r].getAttributeAsTimestamp(n,t)}getAttributes(e){const{pageIndex:t,featurePageIndex:r}=this._translateIndex(e);return this._pages[t].getAttributes(r)}getCoordinates(e,t,r){const{pageIndex:n,featurePageIndex:i}=this._translateIndex(e);this._pages[n].getCoordinates(i,t,r)}getOptimizedGeometry(e){const{pageIndex:t,featurePageIndex:r}=this._translateIndex(e);return this._pages[t].getOptimizedGeometry(r)}getCentroid(e,t){const{pageIndex:r,featurePageIndex:n}=this._translateIndex(e);return this._pages[r].getCentroid(n,t)}getBounds(e){const{pageIndex:t,featurePageIndex:r}=this._translateIndex(e);return this._pages[t].getBounds(r)}getBoundingBox(e){const{pageIndex:t,featurePageIndex:r}=this._translateIndex(e);return this._pages[t].getBoundingBox(r)}getObjectIdsArray(e,t=this._allFeatureIndices(),r=0){let n=r;for(const{page:r,indices:i}of this._batchPageIndices(t))n=r.getObjectIdsArray(e,i,n);return n}getCoordinatesArray(e,t=this._allFeatureIndices(),r=0){let n=r;for(const{page:r,indices:i}of this._batchPageIndices(t))n=r.getCoordinatesArray(e,i,n);return n}*objectIds(e=this._allFeatureIndices()){for(const{page:t,indices:r}of this._batchPageIndices(e))for(const e of t.objectIds(r))yield e}*_allFeatureIndices(){const{featureCount:e}=this;for(let t=0;t<e;++t)yield t}_translateIndex(e){const{_pageSize:t}=this;return{pageIndex:Math.floor(e/t),featurePageIndex:e%t}}*_batchPageIndices(e){const t=new Array;{let r=0,n=new Array;for(const i of e){const{pageIndex:e,featurePageIndex:s}=this._translateIndex(i);r!==e&&(0!==n.length&&t.push({pageIndex:r,indices:n}),r=e,n=[]),n.push(s)}0!==n.length&&t.push({pageIndex:r,indices:n})}const{_pages:r}=this;for(const{pageIndex:e,indices:n}of t)yield{page:r[e],indices:n}}}var xt=r(49186),wt=r(51624),Ct=r(62577),At=r(95466),St=r(53655);class It{constructor(e){this._reader=new wt.A(new Uint8Array(e),new DataView(e)),this._index=function(e){for(;e.next();){if(2===e.tag())return Ot(e.getMessage());e.skip()}Rt()}(this._reader)}get featureCount(){return this._index.featureIndices.length}get exceededTransferLimit(){return this._index.exceededTransferLimit}get usedMemory(){return this._reader.usedMemory}getObjectId(e){return this.getAttribute(e,this._index.objectIdFieldName)}getAttribute(e,t){const{_index:{fieldsIndex:r,attributeIndices:n}}=this,i=r.get(t)?.index;if(null==i)return;const s=n[e*r.fields.length+i],o=this._reader;return o.move(s),Pt(o)}getAttributeAsTimestamp(e,t){const r=this.getAttribute(e,t);return"string"==typeof r?new Date(r).getTime():"number"==typeof r||null==r?r:null}getAttributes(e){const{_index:{fieldsIndex:t,attributeIndices:r}}=this,n=e*t.fields.length,i=this._reader,s={};for(const e of t.fields){const t=r[n+e.index];i.move(t),s[e.name]=Pt(i)}return s}getCoordinates(e,t,r=0){const n=this._reader,{transform:i,featureIndices:s}=this._index,{scale:o,translate:a}=i;n.move(s[e]),this._readCoordinates(o,a,t,r)}getOptimizedGeometry(e){const t=(0,C.vt)();return this.getCoordinates(e,t),new ht.A([],t)}getCentroid(e,{hasZ:t,hasM:r}){this.getCoordinates(e,Mt);const[n,i,s]=Mt,o=[n,i];return t&&(o[3]=s),r&&(o[t?4:3]=0),new ht.A([],o)}getBounds(e){this.getCoordinates(e,Mt);const[t,r]=Mt,n=new ut.E;return n.minX=t,n.minY=r,n.maxX=t,n.maxY=r,n}getBoundingBox(e){this.getCoordinates(e,Mt);const[t,r,n]=Mt;return(0,R.fA)(t,r,n,t,r,n)}getObjectIdsArray(e,t=this._allFeatureIndices(),r=0){const n=this._reader,{objectIdFieldName:i,attributeIndices:s,fieldsIndex:o}=this._index,a=o.get(i).index,l=o.fields.length;for(const i of t){const t=s[i*l+a];n.move(t),e[r++]=Pt(n)}return r}getCoordinatesArray(e,t=this._allFeatureIndices(),r=0){const n=this._reader,{transform:i,featureIndices:s}=this._index,{scale:o,translate:a}=i;for(const i of t){const t=s[i];n.move(t),r=this._readCoordinates(o,a,e,r)}return r}*objectIds(e=this._allFeatureIndices()){const t=this._reader,{objectIdFieldName:r,attributeIndices:n,fieldsIndex:i}=this._index,s=i.get(r).index,o=i.fields.length;for(const r of e){const e=n[r*o+s];t.move(e),yield Pt(t)}}*_allFeatureIndices(){const{featureCount:e}=this;for(let t=0;t<e;++t)yield t}_readCoordinates([e,t,r],[n,i,s],o,a){const l=this._reader,c=l.getLength(),u=l.pos()+c;for(;l.pos()<u&&l.next();)switch(l.tag()){case 2:{const c=l.getLength(),u=l.pos()+c;for(;l.pos()<u&&l.next();)3===l.tag()?(l.getUInt32(),o[a++]=n+e*l.getSInt64(),o[a++]=i+t*l.getSInt64(),o[a++]=s+r*l.getSInt64()):l.skip();break}default:l.skip()}return a}}function Ot(e){for(;e.next();){if(1===e.tag())return Tt(e.getMessage());e.skip()}Rt()}function Tt(e){let t,r,n=!1,i=!1,s=0;const o=new Array,a=new Array,l=new Array;for(;e.next();)switch(e.tag()){case 1:r=e.getString();break;case 7:0!==e.getEnum()&&Rt();break;case 9:n=e.getBool()??!1;break;case 12:t=(0,Ct.Q1)(e.processMessage(St.ae));break;case 13:{const t=e.processMessage(St.cn);t.index=s++,o.push(t);break}case 15:{a.push(e.pos());const t=e.getUInt32(),r=e.pos()+t;for(;e.pos()<r&&e.next();)1===e.tag()?(l.push(e.pos()),e.skip()):e.skip();break}case 10:i=e.getBool()??!1;break;default:e.skip()}const c=new At.A(o);return null!=t&&i&&null!=r&&c.has(r)||Rt(),{transform:t,exceededTransferLimit:n,fieldsIndex:c,objectIdFieldName:r,featureIndices:a,attributeIndices:l}}function Rt(){const e=new xt.A("pbf-parsing-failed","Error while parsing PBF",new Error);throw console.error(e),e}function Pt(e){const t=e.getLength(),r=e.pos()+t;for(;e.pos()<r&&e.next();)switch(e.tag()){case 1:return e.getString();case 2:return e.getFloat();case 3:return e.getDouble();case 4:return e.getSInt32();case 5:return e.getUInt32();case 6:return e.getInt64();case 7:return e.getUInt64();case 8:return e.getSInt64();case 9:return e.getBool();default:return e.skip(),null}return null}const Mt=(0,C.vt)();class Et{constructor(e,t,r,n,i){this.spatialReference=e,this.url=r,this.objectIdField=n,this.capabilities=i;const{supportsMaxRecordCountFactor:s,maxRecordCount:o}=this.capabilities.query,a=s?4:1,l=(o??8e3)*a;this._pageSize=Math.min(8e3,l);const c=t.clone();c.cacheHint=!0,c.resultType="tile",c.outSpatialReference=e,c.returnGeometry=!0,c.returnZ=!0,c.maxRecordCountFactor=a,c.num=this._pageSize,c.outFields=[n],this._baseQuery=c}async fetch(e,t){const{spatialReference:r,_pageSize:n}=this,i=(0,P.w1)(e.extent,r),o=this._baseQuery.clone();o.geometry=i;const a=new Array;let l=0,c=!1,u=1;for(;!c;){const e=[];for(let r=0;r<u;++r)e.push(this._fetchPage(o,l++,t));const r=await Promise.all(e);(0,s.Te)(t);for(const e of r){const t=0!==e.featureCount;c||=!e.exceededTransferLimit||!t,t&&a.push(e)}u=Math.min(u+1,4)}return new vt(e,a,n)}async _fetchPage(e,t,r){const n=e.clone();n.start=t*this._pageSize;const i=(await(0,bt.kS)(this.url,n,{signal:r})).data;return(0,s.Te)(r),new It(i)}}var Ft=r(24151),Dt=r(29920),Lt=r(77690),Vt=r(29242);var jt=r(13030),Bt=r(78662),kt=r(1843),zt=r(49255),Ut=r(40268),Nt=r(16943),qt=r(25634),Gt=r(11725),Ht=r(13464),$t=r(77194);class Zt{constructor(){this.scale=0,this.factor=0,this.minScaleFactor=0}}var Yt=r(59907),Xt=r(43616),Wt=r(13259),Jt=r(97220),Qt=r(98958),Kt=r(59643),er=r(33524),tr=r(90644);class rr extends Qt.w{constructor(e,t){super(e,t,new Jt.$(Wt.H,(()=>r.e(8241).then(r.bind(r,48241))))),this.primitiveType=t.occlusionPass?Z.WR.POINTS:Z.WR.TRIANGLES}initializePipeline(e){const{oitPass:t,hasPolygonOffset:r,draped:n,output:i,depthTestEnabled:s,occlusionPass:o}=e,a=t===Kt.Y.NONE,l=t===Kt.Y.ColorAlpha,c=i===zt.V.Highlight,u=s&&!n&&!l&&!o&&!c;return(0,tr.Ey)({blending:(0,zt.RN)(i)?a?tr.RC:(0,er.ez)(t):null,depthTest:s&&!n?{func:Z.MT.LEQUAL}:null,depthWrite:u?tr.Uy:null,drawBuffers:(0,er.m6)(t,i),colorWrite:tr.kn,polygonOffset:r?nr:null})}}const nr={factor:0,units:-4};var ir=r(53466),sr=r(22911),or=r(51976),ar=r(35256);class lr extends ar.E{constructor(e){super(),this.spherical=e,this.screenCenterOffsetUnitsEnabled=!1,this.occlusionTestEnabled=!0,this.signedDistanceFieldEnabled=!1,this.sampleSignedDistanceFieldTexelCenter=!1,this.vvSize=!1,this.vvColor=!1,this.hasVerticalOffset=!1,this.hasScreenSizePerspective=!1,this.hasRotation=!1,this.debugDrawLabelBorder=!1,this.hasPolygonOffset=!1,this.depthTestEnabled=!0,this.pixelSnappingEnabled=!0,this.draped=!1,this.terrainDepthTest=!1,this.cullAboveTerrain=!1,this.occlusionPass=!1,this.occludedFragmentFade=!1,this.objectAndLayerIdColorInstanced=!1,this.horizonCullingEnabled=!0,this.isFocused=!0,this.textureCoordinateType=ir.I.None,this.emissionSource=sr.ZX.None,this.discardInvisibleFragments=!0,this.hasVvInstancing=!1,this.snowCover=!1}}(0,n._)([(0,or.W)()],lr.prototype,"screenCenterOffsetUnitsEnabled",void 0),(0,n._)([(0,or.W)()],lr.prototype,"occlusionTestEnabled",void 0),(0,n._)([(0,or.W)()],lr.prototype,"signedDistanceFieldEnabled",void 0),(0,n._)([(0,or.W)()],lr.prototype,"sampleSignedDistanceFieldTexelCenter",void 0),(0,n._)([(0,or.W)()],lr.prototype,"vvSize",void 0),(0,n._)([(0,or.W)()],lr.prototype,"vvColor",void 0),(0,n._)([(0,or.W)()],lr.prototype,"hasVerticalOffset",void 0),(0,n._)([(0,or.W)()],lr.prototype,"hasScreenSizePerspective",void 0),(0,n._)([(0,or.W)()],lr.prototype,"hasRotation",void 0),(0,n._)([(0,or.W)()],lr.prototype,"debugDrawLabelBorder",void 0),(0,n._)([(0,or.W)()],lr.prototype,"hasPolygonOffset",void 0),(0,n._)([(0,or.W)()],lr.prototype,"depthTestEnabled",void 0),(0,n._)([(0,or.W)()],lr.prototype,"pixelSnappingEnabled",void 0),(0,n._)([(0,or.W)()],lr.prototype,"draped",void 0),(0,n._)([(0,or.W)()],lr.prototype,"terrainDepthTest",void 0),(0,n._)([(0,or.W)()],lr.prototype,"cullAboveTerrain",void 0),(0,n._)([(0,or.W)()],lr.prototype,"occlusionPass",void 0),(0,n._)([(0,or.W)()],lr.prototype,"occludedFragmentFade",void 0),(0,n._)([(0,or.W)()],lr.prototype,"objectAndLayerIdColorInstanced",void 0),(0,n._)([(0,or.W)()],lr.prototype,"horizonCullingEnabled",void 0),(0,n._)([(0,or.W)()],lr.prototype,"isFocused",void 0);var cr=r(49788);class ur extends Gt.im{constructor(e,t){super(e,Dr),this.produces=new Map([[Ht.N.HUD_MATERIAL,e=>(0,zt.Mb)(e)&&!this.parameters.drawAsLabel],[Ht.N.LABEL_MATERIAL,e=>(0,zt.Mb)(e)&&this.parameters.drawAsLabel],[Ht.N.OCCLUSION_PIXELS,()=>this.parameters.occlusionTest],[Ht.N.DRAPED_MATERIAL,e=>this.parameters.draped&&(0,zt.Mb)(e)]]),this._visible=!0,this._configuration=new lr(t)}getConfiguration(e,t){const r=this.parameters.draped;return super.getConfiguration(e,t,this._configuration),this._configuration.hasSlicePlane=this.parameters.hasSlicePlane,this._configuration.hasVerticalOffset=!!this.parameters.verticalOffset,this._configuration.hasScreenSizePerspective=!!this.parameters.screenSizePerspective,this._configuration.screenCenterOffsetUnitsEnabled="screen"===this.parameters.centerOffsetUnits,this._configuration.hasPolygonOffset=this.parameters.polygonOffset,this._configuration.draped=r,this._configuration.occlusionTestEnabled=this.parameters.occlusionTest,this._configuration.pixelSnappingEnabled=this.parameters.pixelSnappingEnabled,this._configuration.signedDistanceFieldEnabled=this.parameters.textureIsSignedDistanceField,this._configuration.sampleSignedDistanceFieldTexelCenter=this.parameters.sampleSignedDistanceFieldTexelCenter,this._configuration.hasRotation=this.parameters.hasRotation,this._configuration.vvSize=!!this.parameters.vvSize,this._configuration.vvColor=!!this.parameters.vvColor,this._configuration.occlusionPass=t.slot===Ht.N.OCCLUSION_PIXELS,this._configuration.occludedFragmentFade=!r&&this.parameters.occludedFragmentFade,this._configuration.horizonCullingEnabled=this.parameters.horizonCullingEnabled,this._configuration.isFocused=this.parameters.isFocused,this._configuration.depthTestEnabled=this.parameters.depthEnabled||t.slot===Ht.N.OCCLUSION_PIXELS,(0,zt.RN)(e)&&(this._configuration.debugDrawLabelBorder=!!D.b.LABELS_SHOW_BORDER),this._configuration.oitPass=t.oitPass,this._configuration.terrainDepthTest=t.terrainDepthTest,this._configuration.cullAboveTerrain=t.cullAboveTerrain,this._configuration}intersect(e,t,r,n,i,s){const{options:{selectionMode:o,hud:a,excludeLabels:l},point:c,camera:u}=r,{parameters:d}=this;if(!o||!a||l&&d.isLabel||!e.visible||!c||!u)return;const h=e.attributes.get(ne.r.FEATUREATTRIBUTE),f=null==h?null:(0,A.ci)(h.data,Tr),{scaleX:p,scaleY:m}=Br(f,d,u.pixelRatio);(0,Lt.z0)(wr,t),e.attributes.has(ne.r.FEATUREATTRIBUTE)&&function(e){const t=e[0],r=e[1],n=e[2],i=e[3],s=e[4],o=e[5],a=e[6],l=e[7],c=e[8],u=1/Math.sqrt(t*t+r*r+n*n),d=1/Math.sqrt(i*i+s*s+o*o),h=1/Math.sqrt(a*a+l*l+c*c);e[0]=t*u,e[1]=r*u,e[2]=n*u,e[3]=i*d,e[4]=s*d,e[5]=o*d,e[6]=a*h,e[7]=l*h,e[8]=c*h}(wr);const g=e.attributes.get(ne.r.POSITION),y=e.attributes.get(ne.r.SIZE),_=e.attributes.get(ne.r.NORMAL),b=e.attributes.get(ne.r.ROTATION),v=e.attributes.get(ne.r.CENTEROFFSETANDDISTANCE);(0,_e.vA)(g.size>=3);const x=(0,Wt.c)(d),w="screen"===this.parameters.centerOffsetUnits;for(let e=0;e<g.data.length/g.size;e++){const n=e*g.size;(0,pe.i)(mr,g.data[n],g.data[n+1],g.data[n+2]),(0,pe.t)(mr,mr,t),(0,pe.t)(mr,mr,u.viewMatrix);const i=e*v.size;if((0,pe.i)(Ir,v.data[i],v.data[i+1],v.data[i+2]),!w&&(mr[0]+=Ir[0],mr[1]+=Ir[1],0!==Ir[2])){const e=Ir[2];(0,pe.n)(Ir,mr),(0,pe.d)(mr,mr,(0,pe.g)(Ir,Ir,e))}const o=e*_.size;if((0,pe.i)(gr,_.data[o],_.data[o+1],_.data[o+2]),hr(gr,wr,u,Rr),kr(this.parameters,mr,Rr,u,pr),u.applyProjection(mr,yr),yr[0]>-1){w&&(Ir[0]||Ir[1])&&(yr[0]+=Ir[0]*u.pixelRatio,0!==Ir[1]&&(yr[1]+=(0,$t.m0)(Ir[1],pr.factorAlignment)*u.pixelRatio),u.unapplyProjection(yr,mr)),yr[0]+=this.parameters.screenOffset[0]*u.pixelRatio,yr[1]+=this.parameters.screenOffset[1]*u.pixelRatio,yr[0]=Math.floor(yr[0]),yr[1]=Math.floor(yr[1]);const t=e*y.size;Er[0]=y.data[t],Er[1]=y.data[t+1],(0,$t.MD)(Er,pr.factor,Er);const n=Pr*u.pixelRatio;let i=0;d.textureIsSignedDistanceField&&(i=Math.min(d.outlineSize,.5*Er[0])*u.pixelRatio/2),Er[0]*=p,Er[1]*=m;const o=e*b.size,a=d.rotation+b.data[o];if(fr(c,yr[0],yr[1],Er,n,i,a,d,x)){const e=r.ray;if((0,pe.t)(br,mr,(0,O.B8)(Ar,u.viewMatrix)),yr[0]=c[0],yr[1]=c[1],u.unprojectFromRenderScreen(yr,mr)){const t=(0,C.vt)();(0,pe.c)(t,e.direction);const r=1/(0,pe.l)(t);(0,pe.g)(t,t,r),s((0,pe.j)(e.origin,mr)*r,t,-1,br)}}}}}intersectDraped(e,t,r,n,i){const s=e.attributes.get(ne.r.POSITION),o=e.attributes.get(ne.r.SIZE),a=e.attributes.get(ne.r.ROTATION),l=this.parameters,c=(0,Wt.c)(l),u=e.attributes.get(ne.r.FEATUREATTRIBUTE),d=null==u?null:(0,A.ci)(u.data,Tr),{scaleX:h,scaleY:f}=Br(d,l,e.screenToWorldRatio),p=Mr*e.screenToWorldRatio;for(let t=0;t<s.data.length/s.size;t++){const u=t*s.size,d=s.data[u],m=s.data[u+1],g=t*o.size;Er[0]=o.data[g],Er[1]=o.data[g+1];let y=0;l.textureIsSignedDistanceField&&(y=Math.min(l.outlineSize,.5*Er[0])*e.screenToWorldRatio/2),Er[0]*=h,Er[1]*=f;const _=t*a.size,b=l.rotation+a.data[_];fr(r,d,m,Er,p,y,b,l,c)&&n(i.distance,i.normal,-1)}}createBufferWriter(){return new jr}applyShaderOffsetsView(e,t,r,n,i,s,o){const a=hr(t,r,i,Rr);return this._applyVerticalGroundOffsetView(e,a,i,o),kr(this.parameters,o,a,i,s),this._applyPolygonOffsetView(o,a,n[3],i,o),this._applyCenterOffsetView(o,n,o),o}applyShaderOffsetsNDC(e,t,r,n,i){return this._applyCenterOffsetNDC(e,t,r,n),null!=i&&(0,pe.c)(i,n),this._applyPolygonOffsetNDC(n,t,r,n),n}_applyPolygonOffsetView(e,t,r,n,i){const s=n.aboveGround?1:-1;let o=Math.sign(r);0===o&&(o=s);const a=s*o;if(this.parameters.shaderPolygonOffset<=0)return(0,pe.c)(i,e);const l=(0,F.qE)(Math.abs(t.cosAngle),.01,1),c=1-Math.sqrt(1-l*l)/l/n.viewport[2];return(0,pe.g)(i,e,a>0?c:1/c),i}_applyVerticalGroundOffsetView(e,t,r,n){const i=(0,pe.l)(e),s=r.aboveGround?1:-1,o=r.computeRenderPixelSizeAtDist(i)*Ut.R,a=(0,pe.g)(mr,t.normal,s*o);return(0,pe.f)(n,e,a),n}_applyCenterOffsetView(e,t,r){const n="screen"!==this.parameters.centerOffsetUnits;return r!==e&&(0,pe.c)(r,e),n&&(r[0]+=t[0],r[1]+=t[1],t[2]&&((0,pe.n)(gr,r),(0,pe.a)(r,r,(0,pe.g)(gr,gr,t[2])))),r}_applyCenterOffsetNDC(e,t,r,n){const i="screen"!==this.parameters.centerOffsetUnits;return n!==e&&(0,pe.c)(n,e),i||(n[0]+=t[0]/r.fullWidth*2,n[1]+=t[1]/r.fullHeight*2),n}_applyPolygonOffsetNDC(e,t,r,n){const i=this.parameters.shaderPolygonOffset;if(e!==n&&(0,pe.c)(n,e),i){const e=r.aboveGround?1:-1,s=e*Math.sign(t[3]);n[2]-=(s||e)*i}return n}set visible(e){this._visible=e}get visible(){const{color:e,outlineSize:t,outlineColor:r}=this.parameters,n=e[3]>=cr.Q||t>=cr.Q&&r[3]>=cr.Q;return this._visible&&n}createGLMaterial(e){return new dr(e)}calculateRelativeScreenBounds(e,t,r=(0,P.vt)()){return function(e,t,r,n){n[0]=e.anchorPosition[0]*-t[0]+e.screenOffset[0]*r,n[1]=e.anchorPosition[1]*-t[1]+e.screenOffset[1]*r}(this.parameters,e,t,r),r[2]=r[0]+e[0],r[3]=r[1]+e[1],r}}class dr extends qt.m8{constructor(e){super({...e,...e.material.parameters})}beginSlot(e){return this.updateTexture(this._material.parameters.textureId),this._material.setParameters(this.textureBindParameters),this.getTechnique(rr,e)}}function hr(e,t,r,n){return function(e){return function(e){return e instanceof Float32Array&&e.length>=16}(e)||function(e){return Array.isArray(e)&&e.length>=16}(e)}(t)&&(t=(0,Lt.z0)(Cr,t)),(0,pe.o)(n.normal,e,t),(0,pe.t)(n.normal,n.normal,r.viewInverseTransposeMatrix),n.cosAngle=(0,pe.e)(_r,Fr),n}function fr(e,t,r,n,i,s,o,a,l){let c=t-i-n[0]*l[0],u=c+n[0]+2*i,d=r-i-n[1]*l[1],h=d+n[1]+2*i;const f=a.distanceFieldBoundingBox;return a.textureIsSignedDistanceField&&null!=f&&(c+=n[0]*f[0],d+=n[1]*f[1],u-=n[0]*(1-f[2]),h-=n[1]*(1-f[3]),c-=s,u+=s,d-=s,h+=s),(0,M.hZ)(xr,t,r),(0,M.e$)(vr,e,xr,(0,F.kU)(o)),vr[0]>c&&vr[0]<u&&vr[1]>d&&vr[1]<h}const pr=new class{constructor(){this.factor=new Zt,this.factorAlignment=new Zt}},mr=(0,C.vt)(),gr=(0,C.vt)(),yr=(0,A.vt)(),_r=(0,C.vt)(),br=(0,C.vt)(),vr=(0,E.vt)(),xr=(0,E.vt)(),wr=(0,Vt.vt)(),Cr=(0,Vt.vt)(),Ar=(0,w.vt)(),Sr=(0,A.vt)(),Ir=(0,C.vt)(),Or=(0,C.vt)(),Tr=(0,A.vt)(),Rr={normal:_r,cosAngle:0},Pr=1,Mr=2,Er=(0,E.fA)(0,0),Fr=(0,C.fA)(0,0,1);class Dr extends qt.NV{constructor(){super(...arguments),this.renderOccluded=Gt.m$.Occlude,this.isDecoration=!1,this.color=(0,A.CN)(1,1,1,1),this.polygonOffset=!1,this.anchorPosition=(0,E.fA)(.5,.5),this.screenOffset=[0,0],this.shaderPolygonOffset=1e-5,this.textureIsSignedDistanceField=!1,this.sampleSignedDistanceFieldTexelCenter=!1,this.outlineColor=(0,A.CN)(1,1,1,1),this.outlineSize=0,this.distanceFieldBoundingBox=(0,A.vt)(),this.rotation=0,this.hasRotation=!1,this.vvSizeEnabled=!1,this.vvSize=null,this.vvColor=null,this.vvOpacity=null,this.vvSymbolAnchor=null,this.vvSymbolRotationMatrix=null,this.hasSlicePlane=!1,this.pixelSnappingEnabled=!0,this.occlusionTest=!0,this.occludedFragmentFade=!1,this.horizonCullingEnabled=!1,this.centerOffsetUnits="world",this.drawAsLabel=!1,this.depthEnabled=!0,this.isFocused=!0,this.focusStyle="bright",this.draped=!1,this.isLabel=!1}}const Lr=(0,kt.BP)().vec3f(ne.r.POSITION).vec3f(ne.r.NORMAL).vec2i16(ne.r.UVI).vec4u8(ne.r.COLOR).vec2f(ne.r.SIZE).f32(ne.r.ROTATION).vec4f(ne.r.CENTEROFFSETANDDISTANCE).vec4f(ne.r.FEATUREATTRIBUTE),Vr=Lr.clone().vec4u8(ne.r.OLIDCOLOR);class jr{constructor(){this.vertexBufferLayout=(0,Nt.E)()?Vr:Lr}elementCount(e){return 6*e.get(ne.r.POSITION).indices.length}write(e,t,r,n,i,s){const{position:o,normal:a,uvi:l,color:c,size:u,rotation:d,centerOffsetAndDistance:h,featureAttribute:f}=i;(0,Yt.Hk)(r.get(ne.r.POSITION),e,o,s,6),(0,Yt.p1)(r.get(ne.r.NORMAL),t,a,s,6);const p=r.get(ne.r.UVI)?.data;let m=0,g=0,y=-1-Wt.f,_=-1-Wt.f;p&&p.length>=4&&(m=p[0],g=p[1],y=-1-p[2],_=-1-p[3]);let b=r.get(ne.r.POSITION).indices.length,v=s;for(let e=0;e<b;++e)l.set(v,0,m),l.set(v,1,g),v++,l.set(v,0,y),l.set(v,1,g),v++,l.set(v,0,y),l.set(v,1,_),v++,l.set(v,0,y),l.set(v,1,_),v++,l.set(v,0,m),l.set(v,1,_),v++,l.set(v,0,m),l.set(v,1,g),v++;(0,Yt.tb)(r.get(ne.r.COLOR),4,c,s,6);const{data:x,indices:w}=r.get(ne.r.SIZE);b=w.length,v=s;for(let e=0;e<b;++e){const t=x[2*w[e]],r=x[2*w[e]+1];for(let e=0;e<6;++e)u.set(v,0,t),u.set(v,1,r),v++}if((0,Yt.uO)(r.get(ne.r.ROTATION),d,s,6),r.get(ne.r.CENTEROFFSETANDDISTANCE)?(0,Yt.Ut)(r.get(ne.r.CENTEROFFSETANDDISTANCE),h,s,6):(0,Yt.Pq)(h,s,6*b),r.get(ne.r.FEATUREATTRIBUTE)?(0,Yt.Ut)(r.get(ne.r.FEATUREATTRIBUTE),f,s,6):(0,Yt.Pq)(f,s,6*b),null!=n){const e=r.get(ne.r.POSITION)?.indices;if(e){const t=e.length,r=i.getField(ne.r.OLIDCOLOR,jt.XP);(0,Yt.vx)(n,r,t,s,6)}}return{numVerticesPerItem:6,numItems:b}}intersect(e,t,r,n,i,s,o){const{options:{selectionMode:a,hud:l,excludeLabels:c},point:u,camera:d}=n;if(!a||!l||c&&t.isLabel||!u)return;const h=this.vertexBufferLayout.createView(e),f=h.getField(ne.r.POSITION,jt.xs),p=h.getField(ne.r.NORMAL,jt.xs),m=h.getField(ne.r.ROTATION,jt.Y$),g=h.getField(ne.r.SIZE,jt.gH),y=h.getField(ne.r.FEATUREATTRIBUTE,jt.Eq),_=h.getField(ne.r.CENTEROFFSETANDDISTANCE,jt.Eq),b="screen"===t.centerOffsetUnits,v=(0,Wt.c)(t);if(null==f||null==p||null==m||null==g||null==_||null==d)return;const x=null==y?null:y.getVec(0,Tr),{scaleX:w,scaleY:A}=Br(x,t,d.pixelRatio),S=f.count/6;for(let e=0;e<S;e++){const i=6*e;if(f.getVec(i,mr),null!=r&&(0,pe.f)(mr,mr,r),(0,pe.t)(mr,mr,d.viewMatrix),_.getVec(i,Sr),(0,pe.i)(Ir,Sr[0],Sr[1],Sr[2]),!b&&(mr[0]+=Ir[0],mr[1]+=Ir[1],0!==Ir[2])){const e=Ir[2];(0,pe.n)(Ir,mr),(0,pe.d)(mr,mr,(0,pe.g)(Ir,Ir,e))}if(p.getVec(i,gr),hr(gr,wr,d,Rr),kr(t,mr,Rr,d,pr),d.applyProjection(mr,yr),yr[0]>-1){b&&(Ir[0]||Ir[1])&&(yr[0]+=Ir[0]*d.pixelRatio,0!==Ir[1]&&(yr[1]+=(0,$t.m0)(Ir[1],pr.factorAlignment)*d.pixelRatio),d.unapplyProjection(yr,mr)),yr[0]+=t.screenOffset[0]*d.pixelRatio,yr[1]+=t.screenOffset[1]*d.pixelRatio,yr[0]=Math.floor(yr[0]),yr[1]=Math.floor(yr[1]),g.getVec(i,Er),(0,$t.MD)(Er,pr.factor,Er);const r=Pr*d.pixelRatio;let s=0;t.textureIsSignedDistanceField&&(s=Math.min(t.outlineSize,.5*Er[0])*d.pixelRatio/2),Er[0]*=w,Er[1]*=A;const a=m.get(i),l=t.rotation+a;if(fr(u,yr[0],yr[1],Er,r,s,l,t,v)){const t=n.ray;if((0,pe.t)(br,mr,(0,O.B8)(Ar,d.viewMatrix)),yr[0]=u[0],yr[1]=u[1],d.unprojectFromRenderScreen(yr,mr)){const r=(0,C.vt)();(0,pe.c)(r,t.direction);const n=1/(0,pe.l)(r);(0,pe.g)(r,r,n),o((0,pe.j)(t.origin,mr)*n,r,e,br)}}}}}}function Br(e,t,r){return null==e||null==t.vvSize?{scaleX:r,scaleY:r}:((0,Bt.VC)(Or,t,e),{scaleX:Or[0]*r,scaleY:Or[1]*r})}function kr(e,t,r,n,i){if(!e.verticalOffset?.screenLength)return e.screenSizePerspective||e.screenSizePerspectiveAlignment?zr(e,i,(0,pe.l)(t),r.cosAngle):(i.factor.scale=1,i.factorAlignment.scale=1),t;const s=(0,pe.l)(t),o=e.screenSizePerspectiveAlignment??e.screenSizePerspective,a=(0,Xt.kE)(n,s,e.verticalOffset,r.cosAngle,o);return zr(e,i,s,r.cosAngle),(0,pe.g)(r.normal,r.normal,a),(0,pe.f)(t,t,r.normal)}function zr(e,t,r,n){null!=e.screenSizePerspective?(0,$t.cJ)(n,r,e.screenSizePerspective,t.factor):(t.factor.scale=1,t.factor.factor=0,t.factor.minScaleFactor=0),null!=e.screenSizePerspectiveAlignment?(0,$t.cJ)(n,r,e.screenSizePerspectiveAlignment,t.factorAlignment):(t.factorAlignment.factor=t.factor.factor,t.factorAlignment.scale=t.factor.scale,t.factorAlignment.minScaleFactor=t.factor.minScaleFactor)}class Ur{constructor(e,t){this._mainThreadDelegate=t,this._bufferWriters=new Map,this.globalViewingMode=e===Ft.RT.Global}createRenderCommandBuffer(e=[],t=[]){return{commands:e,transferList:t}}mergeRenderCommandBuffers(e){const t=this.createRenderCommandBuffer();for(const r of e)null!=r&&(t.commands.push(...r.commands),t.transferList.push(...r.transferList));return t}async createTexture(e){const{data:t,parameters:r}=e();return await this._mainThreadDelegate.createTexture(t,r)}async releaseTexture(e){const t=this._destroyTexture(e);return new g(this,t,[])}_destroyTexture(e){return{commands:[{id:"destroy-texture",textureId:e}],transferList:[]}}async createMaterial(e){const{type:t,parameters:r}=e,n=tt("material");let i,s;switch(t){case"default":i=new Be.$U(e.parameters,{spherical:this.globalViewingMode}),s={type:t,materialId:n,parameters:e.parameters};break;case"hud":i=new ur(r,this.globalViewingMode),s={type:t,materialId:n,parameters:e.parameters}}return this._bufferWriters.set(n,i.createBufferWriter()),await this._mainThreadDelegate.createMaterial(s),n}destroyMaterial(e){return{commands:[{id:"destroy-material",materialId:e}],transferList:[]}}updateMaterial(e){return{commands:[{...e,id:"update-material"}],transferList:[]}}async createDirectRenderer(e){return await this._mainThreadDelegate.createDirectRenderer(e),e}async destroyDirectRenderer(e){await this._mainThreadDelegate.destroyDirectRenderer(e)}addDirectRendererGeometry(e,t,r){const{materialId:n}=t;if(null==this._bufferWriters.get(n))throw new Error(`no bufferwriter found for material ${n}`);const{renderGeometryBuffer:i,renderGeometryBufferItems:s}=this.createRenderGeometryBuffer(t,r);return this.addDirectRendererGeometryBuffer(n,e,i,s,r)}updateDirectRendererGeometry(e,t,r){const{materialId:n}=t;if(null==this._bufferWriters.get(n))throw new Error(`no bufferwriter found for material ${n}`);const{renderGeometryBuffer:i,renderGeometryBufferItems:s}=this.createRenderGeometryBuffer(t,r);return this.updateDirectRendererGeometryBuffer(n,e,i,s,r)}addDirectRendererGeometryBuffer(e,t,r,n,i){const{objectIds:s,visibilities:o}=n;return{commands:[{id:"add-direct-renderer-geometry-buffer",rendererId:e,groupId:t,renderGeometryBuffer:r,renderGeometryBufferItems:n,localOrigin:i}],transferList:[r.data,s.buffer,o.buffer]}}updateDirectRendererGeometryBuffer(e,t,r,n,i){const{objectIds:s,visibilities:o}=n;return{commands:[{id:"update-direct-renderer-geometry-buffer",rendererId:e,groupId:t,renderGeometryBuffer:r,renderGeometryBufferItems:n,localOrigin:i}],transferList:[r.data,s.buffer,o.buffer]}}removeDirectRendererGeometryBuffer(e,t){return{commands:[{id:"remove-direct-renderer-geometry-buffer",rendererId:e,groupId:t}],transferList:[]}}async createLodRenderer(e){const t=tt("lod-renderer"),r=new Set,n={levels:e.levels.map((e=>({components:e.components.map((e=>{const t=e.attributes.get(ne.r.POSITION);if(!t||0===t.indices.length)throw new Error("positions attribute expected");const n=(0,G.tM)(t.indices.length/3),i=new Dt.j(n,3,t);if(null==this._bufferWriters.get(e.materialId))throw new Error("writer not found");const{renderGeometryBuffer:s}=this.createRenderGeometryBuffer(e,null);return r.add(s.data),{materialId:e.materialId,renderGeometryBuffer:s,boundingInfo:{bbMax:i.bbMax,bbMin:i.bbMin}}})),minScreenSpaceRadius:e.minScreenSpaceRadius})))};return await this._mainThreadDelegate.createLodRenderer(t,n,Array.from(r)),t}destroyLodRenderer(e){return{commands:[{id:"destroy-lod-renderer",rendererId:e}],transferList:[]}}addLodInstances(e,t,r){return{commands:[{id:"add-lod-instances",rendererId:e,groupId:t,data:r}],transferList:[r.featureIds.buffer,r.globalTransforms.buffer,r.localTransforms.buffer,r.visibility.buffer]}}removeLodInstances(e,t){return{commands:[{id:"remove-lod-instances",rendererId:e,groupId:t}],transferList:[]}}updateLodInstancesData(e,t,r){return{commands:[{id:"update-lod-instance-data",rendererId:e,groupId:t,globalTransforms:r}],transferList:[r.buffer]}}updateVisibility(e,t,r){return{commands:[{id:"update-visibility",rendererId:e,groupId:t,visibility:r}],transferList:[r.buffer]}}async dispatchRenderCommands(e){0!==e.commands.length&&await this._mainThreadDelegate.executeRenderCommands(e)}createRenderGeometryBuffer(e,t){const{materialId:r,visibilities:n,objectIds:i}=e,s=this._bufferWriters.get(r);if(null==s)throw new Error("no registered bufferWriter for material found");let o=null;if(e.transformation&&t)(0,O.C)(Nr,e.transformation),Nr[12]-=t[0],Nr[13]-=t[1],Nr[14]-=t[2],o=Nr;else{if(t)throw new Error("not implemented");e.transformation&&(o=e.transformation)}let a=null;o&&((0,O.B8)(qr,Nr),(0,O.mg)(qr,qr),a=qr);const l=e.attributes,c=s.elementCount(l),u=s.vertexBufferLayout.stride/4;c>Math.floor(Gr/u)&&console.warn("geometry with very large number of elements encountered");const d=s.vertexBufferLayout.createBuffer(c),h=s.write(o,a,l,e.objectAndLayerIdColor,d,0);if(null==h)throw new Error("Bufferwriter.write does not provide item information.");if(n.length!==h.numItems||i.length!==h.numItems)throw new Error("Unexpected mismatch between number of RenderGeometryBufferItems and provided objectIds/visibility flags.");return{renderGeometryBuffer:{data:d.buffer,elementCount:c},renderGeometryBufferItems:{objectIds:i,visibilities:n,ranges:{numVertices:h.numVerticesPerItem,numItems:h.numItems}}}}}const Nr=(0,w.vt)(),qr=(0,w.vt)(),Gr=4194304;var Hr=r(73941),$r=r(98764),Zr=r(65806);const Yr=(0,C.vt)();var Xr=r(88582),Wr=r(17352),Jr=r(97937);function Qr(e,t,r=function(e){return{operations:e,value:e.create()}}(e)){return r.operations=e,e.copy(t,r.value),r}const Kr=2**50;function en(e,t,r,n){return e.operations.setAltitudeAt(e.value,t,r,n)}function tn(e,t,r){return e.operations.elevate(e.value,t,r.value)}const rn=(0,C.vt)();(0,C.vt)();var nn=r(44280),sn=r(32114);function on(e){return"point"===e.type}class an{constructor(e,t,r,n){this.viewingMode=e,this.spatialReference=t,this.unitInMeters=r,this._coordinateSystem=n,this._tmpCoordinateSystem=function(e){const{value:t,operations:r}=e;return{operations:r,value:r.create(t)}}(n),this.referenceEllipsoid=(0,Hr.tO)(t),this.sphericalPCPF=(0,$r.lO)(t)}set extent(e){e&&function(e,t,r){e.operations.setExtent(e.value,t,r.value)}(this._coordinateSystem,e,this._coordinateSystem)}get extent(){return function(e,t){return e.operations.getExtent(e.value,t),t}(this._coordinateSystem,(0,P.vt)())}getAltitude(e){return function(e,t){return e.operations.altitudeAt(e.value,t)}(this._coordinateSystem,e)}setAltitude(e,t,r=e){return en(this._coordinateSystem,r,t,e)}setAltitudeOfTransformation(e,t){!function(e,t,r,n){t!==n&&(0,O.C)(n,t),(0,pe.i)(rn,n[12],n[13],n[14]),en(e,rn,r,rn),n[12]=rn[0],n[13]=rn[1],n[14]=rn[2]}(this._coordinateSystem,t,e,t)}worldUpAtPosition(e,t){return function(e,t,r){return e.operations.axisAt(e.value,t,Xr._.Z,r)}(this._coordinateSystem,e,t)}worldBasisAtPosition(e,t,r){return function(e,t,r,n){return e.operations.axisAt(e.value,t,r,n)}(this._coordinateSystem,e,t,r)}basisMatrixAtPosition(e,t){const r=this.worldBasisAtPosition(e,Xr._.X,sn.rq.get()),n=this.worldBasisAtPosition(e,Xr._.Y,sn.rq.get()),i=this.worldBasisAtPosition(e,Xr._.Z,sn.rq.get());return(0,O.hZ)(t,r[0],r[1],r[2],0,n[0],n[1],n[2],0,i[0],i[1],i[2],0,0,0,0,1),t}headingAtPosition(e,t){const r=this.worldUpAtPosition(e,sn.rq.get()),n=this.worldBasisAtPosition(e,Xr._.Y,sn.rq.get()),i=(0,nn.EJ)(t,n,r);return(0,F.KJ)(i)}intersectManifoldClosestSilhouette(e,t,r){return tn(this._coordinateSystem,t,this._tmpCoordinateSystem),function(e,t,r){e.operations.intersectRayClosestSilhouette(e.value,t,r)}(this._tmpCoordinateSystem,e,r),r}intersectManifold(e,t,r){tn(this._coordinateSystem,t,this._tmpCoordinateSystem);const n=sn.rq.get();return function(e,t,r){return e.operations.intersectRay(e.value,t,r)}(this._tmpCoordinateSystem,e,n)?(0,pe.c)(r,n):null}intersectInfiniteManifold(e,t,r){if(this.viewingMode===Ft.RT.Global)return this.intersectManifold(e,t,r);tn(this._coordinateSystem,t,this._tmpCoordinateSystem);const n=this._tmpCoordinateSystem.value,i=sn.rq.get();return(0,ye.Ui)(n.plane,e,i)?(0,pe.c)(r,i):null}toRenderCoords(e,t,r){return on(e)?(0,Zr.g)(e,t,this.spatialReference):(0,z.F)(e,t,r,this.spatialReference)}fromRenderCoords(e,t,r=null){return on(t)?(null!=r&&(t.spatialReference=r),function(e,t,r){return!!(0,z.F)(e,t,Yr,r.spatialReference)&&(r.x=Yr[0],r.y=Yr[1],r.z=Yr[2],!0)}(e,this.spatialReference,t)?t:null):(0,z.F)(e,this.spatialReference,t,r)?t:null}static create(e,t){switch(e){case Ft.RT.Local:return new an(Ft.RT.Local,t,(0,I.GA)(t),Qr(Wr.b,(0,Wr.f)([0,0,0],[Kr,0,0],[0,Kr,0])));case Ft.RT.Global:return new an(Ft.RT.Global,t,1,function(e){return Qr(Jr.s,(0,Jr.f)(0,0,0,(0,Hr.tO)(e).radius))}(t))}}static renderUnitScaleFactor(e,t){return(0,I.KX)(e)/(0,I.KX)(t)}}let ln=class extends i.A.EventedAccessor{constructor(){super(...arguments),this.remoteClient=null,this._featureStore=new gt,this._tileLocks=new ct,this._tileManager=null,this._renderer=null,this._fetcher=null,this._queryEngine=null,this._defaultQueryJSON=null,this._mainThreadDelegate=null,this._viewSpatialReference=null,this._renderCommandContext=null,this._context=null}get updating(){return this._tileManager.updating}destroy(){this._featureStore.clear(),this._tileManager?.destroy()}async setup({viewSpatialReference:e,renderSpatialReference:t,viewingMode:r,layerInfo:n,layerViewInfo:i}){const s=h.A.fromJSON(e);this._viewSpatialReference=s;const a=h.A.fromJSON(t);this._fetcher=new Et(this._viewSpatialReference,p.A.fromJSON(n.baseQuery),n.url,n.objectIdField,n.capabilities),this._queryEngine=new f.do({hasZ:!0,hasM:!1,geometryType:"esriGeometryPoint",featureIdInfo:{type:"object-id",fieldName:n.objectIdField},fieldsIndex:n.fieldIndex,availableFields:[n.objectIdField],spatialReference:e,featureStore:this._featureStore,timeInfo:n.timeInfo}),this._mainThreadDelegate={createTexture:async(e,t)=>{const r={data:e,parameters:t};return await this.remoteClient.invoke("createTexture",r,{transferList:[e.buffer]})},releaseTexture:async e=>{const t={uid:e};await this.remoteClient.invoke("releaseTexture",t)},createMaterial:async e=>{const t={materialJSON:e};await this.remoteClient.invoke("createMaterial",t)},destroyMaterial:async e=>{const t={materialId:e};await this.remoteClient.invoke("destroyMaterial",t)},createDirectRenderer:async e=>{const t={materialId:e};await this.remoteClient.invoke("createDirectRenderer",t)},destroyDirectRenderer:async e=>{const t={materialId:e};await this.remoteClient.invoke("destroyDirectRenderer",t)},createLodRenderer:async(e,t,r)=>{const n={rendererId:e,lodRenderGeometry:t};await this.remoteClient.invoke("createLoDRenderer",n,{transferList:r})},destroyLodRenderer:async e=>{const t={rendererId:e};await this.remoteClient.invoke("destroyLoDRenderer",t)},executeRenderCommands:async e=>{const t={commands:e.commands};await this.remoteClient.invoke("dispatchRenderCommands",t,{transferList:e.transferList})},applyElevationAlignmentTo:async e=>{const t={mapPoints:e};return await this.remoteClient.invoke("applyElevationAlignment",t,{transferList:[e.buffer]})}};const l=an.create(r,a),c=new Ur(r,this._mainThreadDelegate);this._renderCommandContext=c;const m=new Ze(s,a,this._mainThreadDelegate,l,c,n,i);this._context=m,this._renderer=m.symbolRendererFactory.createSymbolRendererFromJSON(n.renderer),this._defaultQueryJSON=new p.A({outSpatialReference:s}).toJSON();let g=null;if(null!=n.fullExtent){const e=u.A.fromJSON(n.fullExtent);await(0,d.initializeProjection)(e.spatialReference,s),g=(0,d.project)(e,s)}return this._tileManager=new it({loadTile:(e,t)=>this._fetcher.fetch(e,t),createAddCommand:(e,t)=>this._createAddFeatureDataCommand(e,t),createRemoveCommand:e=>this._createRemoveFeatureDataCommand(e),createUpdateCommand:(e,t)=>this._createUpdateFeatureDataVisibilityCommand(e,t),tileLocks:this._tileLocks,extent:g}),this.addHandles((0,o.wB)((()=>this.updating),(e=>{this.emit("notify-updating",{updating:e})})),o.Vh),null!=this._renderer&&await this._renderer.load(),un}async executeQuery(e,t){return{result:await this._queryEngine.executeQuery(this._ensureQuery(e),t)}}async executeQueryForIds(e,t){const r=await this._queryEngine.executeQueryForIdSet(this._ensureQuery(e),t);return{result:Array.from(r)}}async executeQueryForCount(e,t){return{result:await this._queryEngine.executeQueryForCount(this._ensureQuery(e),t)}}async executeQueryForExtent(e,t){return{result:await this._queryEngine.executeQueryForExtent(this._ensureQuery(e),t)}}async executeQueryForLatestObservations(e,t){return{result:await this._queryEngine.executeQueryForLatestObservations(this._ensureQuery(e),t)}}onTileTreeChange(e){return this._tileManager.onTileTreeChange(e),Promise.resolve(un)}async onElevationChange(e){return un}async onLayerViewOpacityChange(e){const{_context:t,_renderer:r}=this;if(t.layerViewInfo.fullOpacity=e,null==r)return un;const n=await r.createUpdateLayerViewOpacityCommand(e);return await n.execute(),un}async onRendererChange(e){const{_context:t}=this,r=t.symbolRendererFactory.createSymbolRendererFromJSON(e);await r.load();const i=this._renderer;this._renderer=r;const s=[...this._tileManager.loadedTiles()],o=s.map((e=>e.tileId));{const e={stack:[],error:void 0,hasError:!1};try{(0,n.b)(e,await this._tileLocks.lock(o),!1);const a=s.flatMap((e=>[i.createRemoveCommand(e.id),r.createAddCommand(e)])),l=await Promise.all(a),c=t.joinPipelineCommands(l);await c.execute()}catch(t){e.error=t,e.hasError=!0}finally{(0,n.c)(e)}}const a=await i.createDestroyCommand();return await a.execute(),un}async _createAddFeatureDataCommand(e,t){const r=this._featureStore,n=this._renderer;let i;return i=null!=n?await n.createAddCommand(e):g.create(this._renderCommandContext),(0,s.Te)(t),i.appendPipelineStateCommand((()=>{r.addTile(e)})),i}async _createRemoveFeatureDataCommand(e){const t=this._featureStore,r=this._renderer;let n;return n=null!=r?await r.createRemoveCommand(e):g.create(this._renderCommandContext),n.appendPipelineStateCommand((()=>{t.removeTile(e)})),n}async _createUpdateFeatureDataVisibilityCommand(e,t){const r=this._renderer;let n;return n=null!=r?await r.createUpdateVisibilityCommand(e):g.create(this._renderCommandContext),(0,s.Te)(t),n}_ensureQuery(e){return e??this._defaultQueryJSON}};(0,n._)([(0,a.MZ)()],ln.prototype,"updating",null),ln=(0,n._)([(0,c.$)("esri.views.3d.layers.graphics.pipeline.Feature3DPipelineWorker")],ln);const cn=ln,un={result:void 0}},69418:(e,t,r)=>{r.d(t,{S:()=>c,z:()=>l});var n=r(83047),i=r(21325),s=r(43334),o=r(58512),a=r(92722);const l=["esriGeometryPoint","esriGeometryMultipoint","esriGeometryPolyline","esriGeometryPolygon"];class c{constructor(e){this._options=e,this.geometryTypes=l,this._coordinatePtr=0,this._vertexDimension=0}createFeatureResult(){return new o.A}prepareFeatures(e){this._vertexDimension=2,e.hasZ&&this._vertexDimension++,e.hasM&&this._vertexDimension++}finishFeatureResult(e){if(!e?.features||!e.hasZ||!this._options.sourceSpatialReference||!e.spatialReference||(0,i.aI)(e.spatialReference,this._options.sourceSpatialReference)||e.spatialReference.vcsWkid)return;const t=(0,n.G9)(this._options.sourceSpatialReference)/(0,n.G9)(e.spatialReference);if(1!==t)for(const r of e.features){if(!(0,s.N3)(r))continue;const e=r.geometry.coords;for(let r=2;r<e.length;r+=3)e[r]*=t}}addFeature(e,t){e.features.push(t)}createFeature(){return new s.Om(null,{},null,0)}createSpatialReference(){return{wkid:0}}createGeometry(){return new a.A}addField(e,t){e.fields.push(t)}allocateCoordinates(e){e.coords.length=e.lengths.reduce(((e,t)=>e+t),0)*this._vertexDimension,this._coordinatePtr=0}addCoordinate(e,t){e.coords[this._coordinatePtr++]=t}addCoordinatePoint(e,t){e.coords.push(t)}addLength(e,t){e.lengths.push(t)}addQueryGeometry(e,t){e.queryGeometry=t.queryGeometry,e.queryGeometryType=t.queryGeometryType}createPointGeometry(){return new a.A}}},72385:(e,t,r)=>{function n(){return new Float32Array(3)}function i(e){const t=new Float32Array(3);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}function s(e,t,r){const n=new Float32Array(3);return n[0]=e,n[1]=t,n[2]=r,n}function o(){return n()}function a(){return s(1,1,1)}function l(){return s(1,0,0)}function c(){return s(0,1,0)}function u(){return s(0,0,1)}r.d(t,{fA:()=>s,o8:()=>i,vt:()=>n});const d=o(),h=a(),f=l(),p=c(),m=u();Object.freeze(Object.defineProperty({__proto__:null,ONES:h,UNIT_X:f,UNIT_Y:p,UNIT_Z:m,ZEROS:d,clone:i,create:n,fromValues:s,ones:a,unitX:l,unitY:c,unitZ:u,zeros:o},Symbol.toStringTag,{value:"Module"}))},73681:(e,t,r)=>{r.d(t,{n:()=>l});var n=r(49186),i=r(53966),s=r(46140),o=r(95466),a=r(55674);class l{static async from(e,t,r){const o=e.dictionary_version?s.R.parse(e.dictionary_version):null,u=new Set(e.itemsNames),d={};if(t)for(const e in t)d[e]=t[e];if(e.authoringInfo.configuration)for(const t of e.authoringInfo.configuration)d.hasOwnProperty(t.name)||(d[t.name]=t.value);const h=new Set(e.authoringInfo.symbol);for(const e of Object.keys(r))h.delete(e);h.size&&i.A.getLogger("esri.renderers.support.DictionaryScriptEvaluator").warnOnce("missing-fields: fieldMap entries for the following symbol fields are missing",{symbolFields:h});const f=await(0,a.xR)(e.expression,null,d);if(!f)throw new n.A("dictionary-renderer:expression-error","Unable to create dictionary renderer expression");const p=!o||!o.greaterEqual(4,0);p&&i.A.getLogger("esri.renderers.support.DictionaryScriptEvaluator").warnOnce("Dictionary script does not support native field types. Applying fallback",{version:o});const m=new c(r,p);return new l(p,u,f,m)}constructor(e,t,r,n){this._requiresFieldCoercionToString=e,this._itemNames=t,this._compiled=r,this._reader=n}get itemNames(){return this._itemNames}evaluate(e,t,r,n){try{return this._reader.bind(e,r,n),this._compiled.evaluate(this._reader,{$view:{scale:t}})}catch(e){i.A.getLogger("esri.renderers.support.DictionaryScriptEvaluator").warnOnce("arcade: dictionary script evaluation failed",{error:e})}return null}createDictionaryFieldsIndex(e){if(!this._requiresFieldCoercionToString)return new o.A(e);const t=e.map((e=>({...e,type:"esriFieldTypeString"})));return new o.A(t)}}class c extends a.Gj{constructor(e,t){super(),this._fieldMap=e,this._requiresFieldCoercionToString=t}_getField(e){const t=this._fieldMap[e]??e;return this._boundSchema.fieldsIndex.get(t)}field(e){if(!this._requiresFieldCoercionToString)return super.field(e,!1);const t=this._getField(e);return null==t||null==this._boundTarget.attributes[t.name]?"":""+this._boundTarget.attributes[t.name]}}},75503:(e,t,r)=>{r.d(t,{E:()=>S,w:()=>a});var n=r(4576),i=r(21818),s=(r(44208),r(3694)),o=r(11006);class a{constructor(e=9,t){this._compareMinX=h,this._compareMinY=f,this._toBBox=e=>e,this._maxEntries=Math.max(4,e||9),this._minEntries=Math.max(2,Math.ceil(.4*this._maxEntries)),t&&("function"==typeof t?this._toBBox=t:this._initFormat(t)),this.clear()}destroy(){this.clear(),x.prune(),w.prune(),C.prune(),A.prune()}all(e){l(this._data,e)}search(e,t){let r=this._data;const n=this._toBBox;if(b(e,r))for(x.clear();r;){for(let i=0,s=r.children.length;i<s;i++){const s=r.children[i],o=r.leaf?n(s):s;b(e,o)&&(r.leaf?t(s):_(e,o)?l(s,t):x.push(s))}r=x.pop()}}collides(e){let t=this._data;const r=this._toBBox;if(!b(e,t))return!1;for(x.clear();t;){for(let n=0,i=t.children.length;n<i;n++){const i=t.children[n],s=t.leaf?r(i):i;if(b(e,s)){if(t.leaf||_(e,s))return!0;x.push(i)}}t=x.pop()}return!1}load(e){if(!e.length)return this;if(e.length<this._minEntries){for(let t=0,r=e.length;t<r;t++)this.insert(e[t]);return this}let t=this._build(e.slice(),0,e.length-1,0);if(this._data.children.length)if(this._data.height===t.height)this._splitRoot(this._data,t);else{if(this._data.height<t.height){const e=this._data;this._data=t,t=e}this._insert(t,this._data.height-t.height-1,!0)}else this._data=t;return this}insert(e){return e&&this._insert(e,this._data.height-1),this}clear(){return this._data=new O([]),this}remove(e){if(!e)return this;let t,r=this._data,s=null,o=0,a=!1;const l=this._toBBox(e);for(C.clear(),A.clear();r||C.length>0;){if(r||(r=C.pop(),s=C.data[C.length-1],o=A.pop()??0,a=!0),r.leaf&&(t=(0,n.qh)(r.children,(0,i.zI)(e),r.children.length,r.indexHint),-1!==t))return r.children.splice(t,1),C.push(r),this._condense(C),this;a||r.leaf||!_(r,l)?s?(o++,r=s.children[o],a=!1):r=null:(C.push(r),A.push(o),o=0,s=r,r=r.children[0])}return this}toJSON(){return this._data}fromJSON(e){return this._data=e,this}_build(e,t,r,n){const i=r-t+1;let s=this._maxEntries;if(i<=s){const n=new O(e.slice(t,r+1));return c(n,this._toBBox),n}n||(n=Math.ceil(Math.log(i)/Math.log(s)),s=Math.ceil(i/s**(n-1)));const o=new T([]);o.height=n;const a=Math.ceil(i/s),l=a*Math.ceil(Math.sqrt(s));v(e,t,r,l,this._compareMinX);for(let i=t;i<=r;i+=l){const t=Math.min(i+l-1,r);v(e,i,t,a,this._compareMinY);for(let r=i;r<=t;r+=a){const i=Math.min(r+a-1,t);o.children.push(this._build(e,r,i,n-1))}}return c(o,this._toBBox),o}_insert(e,t,r){const n=this._toBBox,i=r?e:n(e);C.clear();const s=function(e,t,r,n){for(;n.push(t),!0!==t.leaf&&n.length-1!==r;){let r,n=1/0,i=1/0;for(let s=0,o=t.children.length;s<o;s++){const o=t.children[s],a=p(o),l=g(e,o)-a;l<i?(i=l,n=a<n?a:n,r=o):l===i&&a<n&&(n=a,r=o)}t=r||t.children[0]}return t}(i,this._data,t,C);for(s.children.push(e),d(s,i);t>=0&&C.data[t].children.length>this._maxEntries;)this._split(C,t),t--;!function(e,t,r){for(let n=r;n>=0;n--)d(t.data[n],e)}(i,C,t)}_split(e,t){const r=e.data[t],n=r.children.length,i=this._minEntries;this._chooseSplitAxis(r,i,n);const s=this._chooseSplitIndex(r,i,n);if(!s)return;const o=r.children.splice(s,r.children.length-s),a=r.leaf?new O(o):new T(o);a.height=r.height,c(r,this._toBBox),c(a,this._toBBox),t?e.data[t-1].children.push(a):this._splitRoot(r,a)}_splitRoot(e,t){this._data=new T([e,t]),this._data.height=e.height+1,c(this._data,this._toBBox)}_chooseSplitIndex(e,t,r){let n,i,s;n=i=1/0;for(let o=t;o<=r-t;o++){const t=u(e,0,o,this._toBBox),a=u(e,o,r,this._toBBox),l=y(t,a),c=p(t)+p(a);l<n?(n=l,s=o,i=c<i?c:i):l===n&&c<i&&(i=c,s=o)}return s}_chooseSplitAxis(e,t,r){const n=e.leaf?this._compareMinX:h,i=e.leaf?this._compareMinY:f;this._allDistMargin(e,t,r,n)<this._allDistMargin(e,t,r,i)&&e.children.sort(n)}_allDistMargin(e,t,r,n){e.children.sort(n);const i=this._toBBox,s=u(e,0,t,i),o=u(e,r-t,r,i);let a=m(s)+m(o);for(let n=t;n<r-t;n++){const t=e.children[n];d(s,e.leaf?i(t):t),a+=m(s)}for(let n=r-t-1;n>=t;n--){const t=e.children[n];d(o,e.leaf?i(t):t),a+=m(o)}return a}_condense(e){for(let t=e.length-1;t>=0;t--){const r=e.data[t];if(0===r.children.length)if(t>0){const i=e.data[t-1],s=i.children;s.splice((0,n.qh)(s,r,s.length,i.indexHint),1)}else this.clear();else c(r,this._toBBox)}}_initFormat(e){const t=["return a"," - b",";"];this._compareMinX=new Function("a","b",t.join(e[0])),this._compareMinY=new Function("a","b",t.join(e[1])),this._toBBox=new Function("a","return {minX: a"+e[0]+", minY: a"+e[1]+", maxX: a"+e[2]+", maxY: a"+e[3]+"};")}}function l(e,t){let r=e;for(w.clear();r;){if(!0===r.leaf)for(const e of r.children)t((0,i.zI)(e));else w.pushArray(r.children);r=w.pop()??null}}function c(e,t){u(e,0,e.children.length,t,e)}function u(e,t,r,n,i){i||(i=new O([])),i.minX=1/0,i.minY=1/0,i.maxX=-1/0,i.maxY=-1/0;for(let s,o=t;o<r;o++)s=e.children[o],d(i,e.leaf?n(s):s);return i}function d(e,t){e.minX=Math.min(e.minX,t.minX),e.minY=Math.min(e.minY,t.minY),e.maxX=Math.max(e.maxX,t.maxX),e.maxY=Math.max(e.maxY,t.maxY)}function h(e,t){return e.minX-t.minX}function f(e,t){return e.minY-t.minY}function p(e){return(e.maxX-e.minX)*(e.maxY-e.minY)}function m(e){return e.maxX-e.minX+(e.maxY-e.minY)}function g(e,t){return(Math.max(t.maxX,e.maxX)-Math.min(t.minX,e.minX))*(Math.max(t.maxY,e.maxY)-Math.min(t.minY,e.minY))}function y(e,t){const r=Math.max(e.minX,t.minX),n=Math.max(e.minY,t.minY),i=Math.min(e.maxX,t.maxX),s=Math.min(e.maxY,t.maxY);return Math.max(0,i-r)*Math.max(0,s-n)}function _(e,t){return e.minX<=t.minX&&e.minY<=t.minY&&t.maxX<=e.maxX&&t.maxY<=e.maxY}function b(e,t){return t.minX<=e.maxX&&t.minY<=e.maxY&&t.maxX>=e.minX&&t.maxY>=e.minY}function v(e,t,r,n,i){const s=[t,r];for(;s.length;){const t=s.pop(),r=s.pop();if(t-r<=n)continue;const a=r+Math.ceil((t-r)/n/2)*n;(0,o.q)(e,a,r,t,i),s.push(r,a,a,t)}}const x=new s.A,w=new s.A,C=new s.A,A=new s.A({deallocator:void 0});class S{constructor(){this.minX=1/0,this.minY=1/0,this.maxX=-1/0,this.maxY=-1/0}}class I extends S{constructor(){super(...arguments),this.height=1,this.indexHint=new n.vW}}class O extends I{constructor(e){super(),this.children=e,this.leaf=!0}}class T extends I{constructor(e){super(),this.children=e,this.leaf=!1}}},76357:(e,t,r)=>{r.d(t,{A:()=>u});var n=r(90237),i=r(66552),s=r(25482),o=r(10107),a=(r(44208),r(53966),r(87811),r(93223)),l=r(40608);const c=new i.J({inherited:"inherited",codedValue:"coded-value",range:"range"});let u=class extends s.A{constructor(e){super(e),this.name=null,this.type=null}};(0,n._)([(0,o.MZ)({type:String,json:{write:!0}})],u.prototype,"name",void 0),(0,n._)([(0,a.e)(c),(0,o.MZ)({json:{write:{isRequired:!0}}})],u.prototype,"type",void 0),u=(0,n._)([(0,l.$)("esri.layers.support.Domain")],u)},77548:(e,t,r)=>{r.d(t,{Gh:()=>g,tk:()=>h,BR:()=>d,wI:()=>u,G$:()=>p,$x:()=>f,Ov:()=>l,W_:()=>c,OP:()=>m,TU:()=>a,XX:()=>o});var n=r(70333),i=r(78888),s=(r(5503),r(84952));r(36563),r(36708),new WeakMap;const o={Point:"SceneLayer","3DObject":"SceneLayer",IntegratedMesh:"IntegratedMeshLayer",PointCloud:"PointCloudLayer",Building:"BuildingSceneLayer"};function a(e){const t=e?.type;return"building-scene"===t||"integrated-mesh"===t||"point-cloud"===t||"scene"===t}function l(e){return"feature"===e?.type&&!e.url&&"memory"===e.source?.type}function c(e){const t=e?.type;return("feature"===t||"subtype-group"===t||"oriented-imagery"===t)&&"feature-layer"===e?.source?.type}async function u(e,t){const r=n.id?.findServerInfo(e);if(null!=r?.currentVersion)return r.owningSystemUrl||null;const s=e.toLowerCase().indexOf("/rest/services");if(-1===s)return null;const o=`${e.slice(0,s)}/rest/info`,a=null!=t?t.signal:null,{data:l}=await(0,i.A)(o,{query:{f:"json"},responseType:"json",signal:a});return l?.owningSystemUrl||null}function d(e){return function(e){if(!("capabilities"in e))return!1;switch(e.type){case"catalog":case"catalog-footprint":case"csv":case"feature":case"geojson":case"imagery":case"knowledge-graph-sublayer":case"ogc-feature":case"oriented-imagery":case"scene":case"sublayer":case"subtype-group":case"subtype-sublayer":case"wfs":return!0;default:return!1}}(e)?"effectiveCapabilities"in e?e.effectiveCapabilities:e.capabilities:null}function h(e){return!!function(e){if(!("editingEnabled"in e))return!1;switch(e.type){case"csv":case"feature":case"geojson":case"oriented-imagery":case"scene":case"subtype-group":case"subtype-sublayer":return!0;default:return!1}}(e)&&("effectiveEditingEnabled"in e?e.effectiveEditingEnabled:e.editingEnabled)}function f(e,t){const r=p(t);return!r||(0,s.FX)(e,`https://${r}`,!0)?null:(0,s.hf)(e,r)}function p(e){return e?.preferredHost}function m(e){return!e||"Feature Service"===e.type&&!e.sourceUrl}function g(e,t){if(!t||!m(e))return;const r=f(e.url,{preferredHost:t});r&&(e.url=r)}},80451:(e,t,r)=>{r.d(t,{rS:()=>p,gK:()=>f}),r(44208);var n,i=r(53177),s=r(76357),o=r(90237),a=(r(53966),r(87811),r(49186),r(93223)),l=r(40608);let c=class extends s.A{static{n=this}constructor(e){super(e),this.type="inherited"}clone(){return new n}};(0,o._)([(0,a.e)({inherited:"inherited"})],c.prototype,"type",void 0),c=n=(0,o._)([(0,l.$)("esri.layers.support.InheritedDomain")],c);var u,d=r(10107);let h=class extends s.A{static{u=this}constructor(e){super(e),this.maxValue=null,this.minValue=null,this.type="range"}clone(){return new u({maxValue:this.maxValue,minValue:this.minValue,name:this.name})}};(0,o._)([(0,d.MZ)({json:{type:[Number],read:{source:"range",reader:(e,t)=>t.range?.[1]},write:{enabled:!1,overridePolicy(){return{enabled:null!=this.maxValue&&null==this.minValue}},target:"range",writer(e,t,r){t[r]=[this.minValue||0,e]},isRequired:!0}}})],h.prototype,"maxValue",void 0),(0,o._)([(0,d.MZ)({json:{type:[Number],read:{source:"range",reader:(e,t)=>t.range?.[0]},write:{target:"range",writer(e,t,r){t[r]=[e,this.maxValue||0]},isRequired:!0}}})],h.prototype,"minValue",void 0),(0,o._)([(0,a.e)({range:"range"})],h.prototype,"type",void 0),h=u=(0,o._)([(0,l.$)("esri.layers.support.RangeDomain")],h);const f={key:"type",base:s.A,typeMap:{range:h,"coded-value":i.A,inherited:c}};function p(e){if(!e?.type)return null;switch(e.type){case"range":return h.fromJSON(e);case"codedValue":return i.A.fromJSON(e);case"inherited":return c.fromJSON(e)}return null}},80893:(e,t,r)=>{r.d(t,{IJ:()=>p,Jf:()=>_,Pk:()=>g,eW:()=>f,gW:()=>y,kS:()=>m});var n=r(78888),i=r(84952),s=r(65864),o=r(17136),a=r(21325),l=r(10536),c=r(66208),u=r(58501);const d="Layer does not support extent calculation.";function h(e,t,r){const n=e.geometry,i=e.toJSON();delete i.compactGeometryEnabled,delete i.defaultSpatialReferenceEnabled;const o=i;let l,c,u;if(n&&(c=n.spatialReference,u=(0,a.YX)(c),o.geometryType=(0,s.$B)(n),o.geometry=function(e,t){if(t&&"extent"===e.type)return`${e.xmin},${e.ymin},${e.xmax},${e.ymax}`;if(t&&"point"===e.type)return`${e.x},${e.y}`;const r=e.toJSON();return delete r.spatialReference,JSON.stringify(r)}(n,e.compactGeometryEnabled),o.inSR=u),i.groupByFieldsForStatistics&&(o.groupByFieldsForStatistics=i.groupByFieldsForStatistics.join(",")),i.objectIds)switch(r?.uniqueIdFields?.length){case void 0:o.objectIds=i.objectIds.join(",");break;case 1:o.uniqueIds=JSON.stringify(i.objectIds),delete o.objectIds;break;default:o.uniqueIds=JSON.stringify(i.objectIds.map((e=>JSON.parse(e)))),delete o.objectIds}if(i.orderByFields&&(o.orderByFields=i.orderByFields.join(",")),!i.outFields||!i.returnDistinctValues&&(t?.returnCountOnly||t?.returnExtentOnly||t?.returnIdsOnly)?delete o.outFields:i.outFields.includes("*")?o.outFields="*":o.outFields=i.outFields.join(","),i.outSR?(o.outSR=(0,a.YX)(i.outSR),l=e.outSpatialReference):n&&(i.returnGeometry||i.returnCentroid)&&(o.outSR=o.inSR,l=c),i.returnGeometry&&delete i.returnGeometry,i.outStatistics&&(o.outStatistics=JSON.stringify(i.outStatistics)),i.fullText&&(o.fullText=JSON.stringify(i.fullText)),i.pixelSize&&(o.pixelSize=JSON.stringify(i.pixelSize)),i.quantizationParameters&&(e.defaultSpatialReferenceEnabled&&null!=c&&null!=e.quantizationParameters?.extent&&c.equals(e.quantizationParameters.extent.spatialReference)&&delete i.quantizationParameters.extent.spatialReference,o.quantizationParameters=JSON.stringify(i.quantizationParameters)),i.parameterValues&&(o.parameterValues=JSON.stringify(i.parameterValues)),i.rangeValues&&(o.rangeValues=JSON.stringify(i.rangeValues)),i.dynamicDataSource&&(o.layer=JSON.stringify({source:i.dynamicDataSource}),delete i.dynamicDataSource),i.timeExtent){const e=i.timeExtent,{start:t,end:r}=e;null==t&&null==r||(o.time=t===r?t:`${t??"null"},${r??"null"}`),delete i.timeExtent}return e.defaultSpatialReferenceEnabled&&null!=c&&null!=l&&c.equals(l)&&(o.defaultSR=o.inSR,delete o.inSR,delete o.outSR),o}async function f(e,t,r,n,i){const s=t.timeExtent?.isEmpty?{data:{features:[]}}:await v(e,t,"json",n,void 0,i);return(0,u.q)(t,r,s.data),s}async function p(e,t,r,n,i){if(t.timeExtent?.isEmpty)return{data:r.createFeatureResult()};const s=await m(e,t,n,i),o=s;return o.data=(0,c.m)(s.data,r),o}function m(e,t,r,n){return v(e,t,"pbf",r,void 0,n)}function g(e,t,r,n){return t.timeExtent?.isEmpty?Promise.resolve({data:{objectIds:[]}}):v(e,t,"json",r,{returnIdsOnly:!0},n)}function y(e,t,r,n){return t.timeExtent?.isEmpty?Promise.resolve({data:{count:0}}):v(e,t,"json",r,{returnIdsOnly:!0,returnCountOnly:!0},n)}async function _(e,t,r){if(t.timeExtent?.isEmpty)return{data:{count:0,extent:null}};const n=await v(e,t,"json",r,{returnExtentOnly:!0,returnCountOnly:!0}),i=n.data;if(i.hasOwnProperty("extent"))return n;if(i.features)throw new Error(d);if(i.hasOwnProperty("count"))throw new Error(d);return n}function b(e,t){if(!e.returnIdsOnly||!t.uniqueIdFields)return e;const r={...e,returnUniqueIdsOnly:!0};return delete r.returnIdsOnly,r}async function v(e,t,r,s={},a={},c={}){const u="string"==typeof e?(0,i.An)(e):e,d=t.geometry?[t.geometry]:[],f=await(0,o.el)(d,null,{signal:s.signal}),p=f?.[0];null!=p&&((t=t.clone()).geometry=p);const m=(0,l.z)({...u.query,f:r,...b(a,c),...h(t,a,c)});return(0,n.A)((0,i.fj)(u.path,(g=a,null==t.formatOf3DObjects||g.returnCountOnly||g.returnExtentOnly||g.returnIdsOnly?"query":"query3d")),{...s,responseType:"pbf"===r?"array-buffer":"json",query:{...m,...s.query}});var g}},81961:(e,t,r)=>{r.d(t,{V:()=>s});var n=r(69270),i=r(74333);class s extends i.n{constructor(e,t,r){super(e,"vec4",n.c.Draw,((n,i,s)=>n.setUniform4fv(e,t(i,s),r)))}}},87582:(e,t,r)=>{r(6867);var n=r(65215);r(29878),n.R},95696:(e,t,r)=>{r.d(t,{A:()=>u});var n,i=r(90237),s=r(69540),o=r(25482),a=r(10107),l=(r(44208),r(53966),r(87811),r(93223)),c=r(40608);let u=class extends(s.A.ClonableMixin(o.A)){static{n=this}constructor(e){super(e),this.type="georeferenced",this.origin=null}static{this.absolute=new n}};(0,i._)([(0,l.e)({georeferenced:"georeferenced"},{readOnly:!0})],u.prototype,"type",void 0),(0,i._)([(0,a.MZ)({type:[Number],nonNullable:!1,json:{write:!0}})],u.prototype,"origin",void 0),u=n=(0,i._)([(0,c.$)("esri.geometry.support.MeshGeoreferencedVertexSpace")],u)},96576:(e,t,r)=>{r.d(t,{A:()=>h});var n,i=r(90237),s=r(4718),o=r(10107),a=(r(44208),r(53966),r(93223)),l=r(40608),c=r(92438),u=r(63988),d=r(49849);let h=n=class extends((0,u.h)(c.A)){constructor(e){super(e),this.description=null,this.label=null,this.symbol=null,this.type="simple"}async collectRequiredFields(e,t){await Promise.all([this.collectSymbolFields(e,t),this.collectVVRequiredFields(e,t)])}async collectSymbolFields(e,t){await Promise.all(this.symbols.map((r=>r.collectRequiredFields(e,t))))}getSymbol(e,t){return this.symbol}async getSymbolAsync(e,t){return this.symbol}get symbols(){return this.symbol?[this.symbol]:[]}getAttributeHash(){return this.visualVariables?.reduce(((e,t)=>e+t.getAttributeHash()),"")??""}getMeshHash(){return this.symbols.reduce(((e,t)=>e+JSON.stringify(t)),"")}get arcadeRequired(){return this.arcadeRequiredForVisualVariables}clone(){return new n({description:this.description,label:this.label,symbol:(0,s.o8)(this.symbol),visualVariables:(0,s.o8)(this.visualVariables),authoringInfo:(0,s.o8)(this.authoringInfo)})}};(0,i._)([(0,o.MZ)({type:String,json:{write:!0}})],h.prototype,"description",void 0),(0,i._)([(0,o.MZ)({type:String,json:{write:!0}})],h.prototype,"label",void 0),(0,i._)([(0,o.MZ)(d.Wp)],h.prototype,"symbol",void 0),(0,i._)([(0,a.e)({simple:"simple"})],h.prototype,"type",void 0),h=n=(0,i._)([(0,l.$)("esri.renderers.SimpleRenderer")],h)}}]);
346
+ }`)}},65215:(e,t,r)=>{r.d(t,{H:()=>n,R:()=>i});class n{constructor(e){this.layerViewUid=e}}class i extends n{constructor(e,t){super(e),this.graphicUid=t}}},65494:(e,t,r)=>{r.d(t,{L:()=>l,r:()=>o});var n=r(67076),i=r(90360),s=r(41214);function o(e,t){return l(e,null,t)}const a=(0,i.C)({types:s.Hg});function l(e,t,r){return e?e&&(e.styleName||e.styleUrl)&&"uniqueValue"!==e.type?(r?.messages&&r.messages.push(new n.A("renderer:unsupported","Only UniqueValueRenderer can be referenced from a web style, but found '"+e.type+"'",{definition:e,context:r})),null):a(e,t,r):null}},65529:(e,t,r)=>{r.d(t,{A:()=>l});var n=r(90237),i=r(69622),s=r(36563),o=r(40608);class a{constructor(){this._emitter=new a.EventEmitter(this)}emit(e,t){return this._emitter.emit(e,t)}on(e,t){return this._emitter.on(e,t)}once(e,t){return this._emitter.once(e,t)}hasEventListener(e){return this._emitter.hasEventListener(e)}}!function(e){class t{constructor(e=null){this._target=e,this._listenersMap=null}clear(){this._listenersMap?.clear(),this._listenersMap=null}destroy(){this.clear()}emit(e,t){let r=this._listenersMap?.get(e);if(!r)return!1;const n=this._target||this;let i=!1;for(const e of r.slice()){const r="deref"in e?e.deref():e;r?r?.call(n,t):i=!0}return i&&(r=r.filter((e=>!("deref"in e)||null!=e.deref())),this._listenersMap.set(e,r)),r.length>0}on(e,t){if(Array.isArray(e)){const r=e.map((e=>this.on(e,t)));return(0,s.vE)(r)}if(e.includes(","))throw new TypeError("Evented.on() with a comma delimited string of event types is not supported");this._listenersMap??=new Map;const r=this._listenersMap.get(e)||[];return r.push(t),this._listenersMap.set(e,r),(0,s.hA)((()=>{const r=this._listenersMap?.get(e),n=r?.indexOf(t)??-1;n>=0&&r.splice(n,1)}))}once(e,t){const r=this.on(e,(e=>{r.remove();const n="deref"in t?t.deref():t;n?.call(null,e)}));return r}hasEventListener(e){const t=this._listenersMap?.get(e);return null!=t&&t.length>0}}e.EventEmitter=t,e.EventedMixin=e=>{let r=class extends e{constructor(){super(...arguments),this._emitter=new t}destroy(){this._emitter.clear()}emit(e,t){return this._emitter.emit(e,t)}on(e,t){return this._emitter.on(e,t)}once(e,t){return this._emitter.once(e,t)}hasEventListener(e){return this._emitter.hasEventListener(e)}};return r=(0,n._)([(0,o.$)("esri.core.Evented")],r),r};let r=class extends i.A{constructor(){super(...arguments),this._emitter=new a.EventEmitter(this)}destroy(){this._emitter.clear()}emit(e,t){return this._emitter.emit(e,t)}on(e,t){return this._emitter.on(e,t)}once(e,t){return this._emitter.once(e,t)}hasEventListener(e){return this._emitter.hasEventListener(e)}};r=(0,n._)([(0,o.$)("esri.core.Evented.EventedAccessor")],r),e.EventedAccessor=r}(a||(a={}));const l=a},65806:(e,t,r)=>{r.d(t,{g:()=>o});var n=r(51850),i=r(98988),s=r(9762);function o(e,t,r,n){if((0,i.canProjectWithoutEngine)(e.spatialReference,r)){a[0]=e.x,a[1]=e.y;const i=e.z;return a[2]=i??n??0,(0,s.projectBuffer)(a,e.spatialReference,0,t,r,0)}const o=(0,i.tryProjectWithZConversion)(e,r);return!!o&&(t[0]=o?.x,t[1]=o?.y,t[2]=o?.z??n??0,!0)}const a=(0,n.vt)()},66208:(e,t,r)=>{r.d(t,{m:()=>i});var n=r(53655);function i(e,t){const r=(0,n.SH)(e,t),i=r.queryResult.featureResult,s=r.queryResult.queryGeometry,o=r.queryResult.queryGeometryType;if(i&&i.features&&i.features.length&&i.objectIdFieldName){const e=i.objectIdFieldName;for(const t of i.features)t.attributes&&(t.objectId=t.attributes[e])}return i&&(i.queryGeometry=s,i.queryGeometryType=o),i}},66357:(e,t,r)=>{r.r(t),r.d(t,{default:()=>cn});var n=r(90237),i=r(65529),s=r(74887),o=r(36708),a=r(10107),l=r(44208),c=(r(53966),r(87811),r(40608)),u=r(5443),d=r(98988),h=r(16930),f=r(68298),p=r(61956),m=r(65494);class g{constructor(e,t,r){this.renderCommandContext=e,this.renderCommandBuffer=t,this.pipelineStateCommands=r}append(e){this.appendRenderCommands(e.renderCommandBuffer),this.appendPipelineStateCommands(e.pipelineStateCommands)}appendRenderCommands(e){this.renderCommandBuffer.commands.push(...e.commands),this.renderCommandBuffer.transferList.push(...e.transferList)}appendPipelineStateCommand(e){this.pipelineStateCommands.push(e)}appendPipelineStateCommands(e){for(const t of e)this.appendPipelineStateCommand(t)}async execute(){for(const e of this.pipelineStateCommands)e();await this.renderCommandContext.dispatchRenderCommands(this.renderCommandBuffer)}static create(e,t=[]){return new g(e,e.createRenderCommandBuffer(),t)}}var y=r(68197),_=r(18574),b=r(87403),v=r(28975);function x(){return new _.A({material:new v.N({color:new y.A("red")})})}var w=r(9093),C=r(51850),A=r(91829),S=r(6847),I=r(83047),O=r(58083),T=r(87317),R=r(70328),P=r(19419);r(12359),r(95108),r(27615),r(52106),r(4718),r(34275),r(65864);var M=r(37585),E=r(48163),F=r(34727),D=r(26857);new Map,(()=>{let e="";for(let t=32;t<127;t++)e+=String.fromCharCode(t)})();const L=[];{const e=16;for(let t=0;t<360;t+=360/e)L.push([Math.cos(Math.PI*t/180),Math.sin(Math.PI*t/180)])}var V,j;(j=V||(V={}))[j.Left=0]="Left",j[j.Center=1]="Center",j[j.Right=2]="Right",Object.freeze({left:0,center:.5,right:1});const B=Object.freeze({"bottom-left":(0,E.fA)(0,0),bottom:(0,E.fA)(.5,0),"bottom-right":(0,E.fA)(1,0),left:(0,E.fA)(0,.5),center:(0,E.fA)(.5,.5),right:(0,E.fA)(1,.5),"top-left":(0,E.fA)(0,1),top:(0,E.fA)(.5,1),"top-right":(0,E.fA)(1,1)});var k=r(9762),z=r(27993);function U(e){const{featureCount:t}=e;if(0===t)return new Uint32Array;const r=new Uint32Array(t);return e.getObjectIdsArray(r),r}function N(e){const{featureCount:t}=e;if(0===t)return new Float64Array;const r=new Float64Array(3*t);return e.getCoordinatesArray(r),r}function q(e,t){const r=t.viewSpatialReference,n=t.renderSpatialReference,{extent:i}=e,s=(0,P.gX)(i),o=(0,C.vt)();return(0,z.F)([s[0],s[1],0],r,o,n),o}var G=r(97146);function H(e){const t=new Map;for(const[r,n]of e)t.set(r,{...n,indices:(0,G.Dg)(n.indices)});return t}var $=r(40804),Z=(r(48833),r(63907));const Y=(0,A.CN)(.25,.25,.75,.75);function X(e){return"cross"===e||"x"===e}function W(e,t=128,r=.5*t,n=0){switch(e){case"circle":default:return function(e,t){const r=e/2-.5;return te(e,K(r,r,t/2))}(t,r);case"square":return function(e,t){return J(e,t,!1)}(t,r);case"cross":return function(e,t,r=0){return Q(e,t,!1,r)}(t,r,n);case"x":return function(e,t,r=0){return Q(e,t,!0,r)}(t,r,n);case"kite":return function(e,t){return J(e,t,!0)}(t,r);case"triangle":return function(e,t){return te(e,ee(e/2,t,t/2))}(t,r);case"arrow":return function(e,t){const r=t,n=t/2,i=e/2,s=.8*r,o=K(i,(e-t)/2-s,Math.sqrt(s*s+n*n)),a=ee(i,r,n);return te(e,((e,t)=>Math.max(a(e,t),-o(e,t))))}(t,r)}}function J(e,t,r){return r&&(t/=Math.SQRT2),te(e,((n,i)=>{let s=n-.5*e+.25,o=.5*e-i-.75;if(r){const e=(s+o)/Math.SQRT2;o=(o-s)/Math.SQRT2,s=e}return Math.max(Math.abs(s),Math.abs(o))-.5*t}))}function Q(e,t,r,n=0){t-=n,r&&(t*=Math.SQRT2);const i=.5*t;return te(e,((t,s)=>{let o,a=t-.5*e,l=.5*e-s-1;if(r){const e=(a+l)/Math.SQRT2;l=(l-a)/Math.SQRT2,a=e}return a=Math.abs(a),l=Math.abs(l),o=a>l?a>i?Math.sqrt((a-i)*(a-i)+l*l):l:l>i?Math.sqrt(a*a+(l-i)*(l-i)):a,o-=n/2,o}))}function K(e,t,r){return(n,i)=>{const s=n-e,o=i-t;return Math.sqrt(s*s+o*o)-r}}function ee(e,t,r){const n=Math.sqrt(t*t+r*r);return(i,s)=>{const o=Math.abs(i-e)-r,a=s-e+t/2+.75,l=(t*o+r*a)/n,c=-a;return Math.max(l,c)}}function te(e,t){const r=new Uint8Array(4*e*e);for(let n=0;n<e;n++)for(let i=0;i<e;i++){const s=i+e*n;let o=t(i,n);o=o/e+.5,(0,$.U)(o,r,4*s)}return r}var re=r(46610),ne=r(46540);class ie{constructor(e,t){this._context=null,this._symbolLayer=null,this._draped=!1,this._loaded=!1,this._loadingPromise=null,this._iconTextureID=null,this._materialId=null,this._context=t,this._symbolLayer=e}get loaded(){return this._loaded}load(){return null==this._loadingPromise&&(this._loadingPromise=this._load()),this._loadingPromise}_destroy(){this._iconTextureID=null}async _load(){const e=this._context.renderCommandContext,t=await e.createTexture((()=>function(e,t=128,r=.5*t,n=0){return{data:W(e,t,r,n),parameters:{mipmap:!1,wrap:{s:Z.pF.CLAMP_TO_EDGE,t:Z.pF.CLAMP_TO_EDGE},width:t,height:t,components:4,noUnpackFlip:!0,reloadable:!0}}}("circle")));this._iconTextureID=t;const r={anchorPosition:B.center,occlusionTest:!0,hasSlicePlane:!1,color:this._getFillColor(),outlineColor:this._getOutlineColor(),outlineSize:1,distanceFieldBoundingBox:Y,textureId:t,textureIsSignedDistanceField:!0,sampleSignedDistanceFieldTexelCenter:X("circle")};this._materialId=await e.createMaterial({type:"hud",parameters:r}),await e.createDirectRenderer(this._materialId),this._loaded=!0}async createAddCommand(e){const{_materialId:t,_context:r}=this,{renderCommandContext:n}=r;if(null==t)throw new Error("expected material not to be null");const i=await this._createGeometry(e);if(null==i)return r.createPipelineCommand();const s=q(e,r);return r.createPipelineCommand(n.addDirectRendererGeometry(e.id,i,s))}async _createGeometry(e){const{_materialId:t,_context:r}=this,{mainThreadDelegate:n}=r,{featureCount:i}=e;if(0===i||null==t)return null;const s=U(e),o=N(e),a=function(e,t){const r=e.length/3,n=t.viewSpatialReference,i=t.renderSpatialReference,s=new Float64Array(3*r);if(!(0,k.projectBuffer)(e,n,0,s,i,0,r))throw new Error("Failed to project coordinates");return s}(await n.applyElevationAlignmentTo(o),r),l=new Float64Array([0,0,1]),c=new Float64Array([255,255,255,255]),u=new Float64Array([24,24]),d=new Float64Array([0,0,0,1]),h=new Float64Array([0,0]),f=new Float64Array([0]),p=new Uint32Array(i);for(let e=0;e<i;++e)p[e]=e;const m=new Uint32Array(i);for(let e=0;e<i;++e)m[e]=0;const g=new re.n(a,p,3,!0),y=new re.n(l,m,3,!0),_=new re.n(h,m,2,!0),b=new re.n(c,m,4,!0),v=new re.n(f,m,1,!0),x=new re.n(u,m,2,!0),C=new re.n(d,m,4,!0),A=[[ne.r.POSITION,g],[ne.r.NORMAL,y],[ne.r.UV0,_],[ne.r.COLOR,b],[ne.r.ROTATION,v],[ne.r.SIZE,x],[ne.r.CENTEROFFSETANDDISTANCE,C]],S=new Uint8Array(i);return e.getVisibilityArray(S),{attributes:H(A),objectAndLayerIdColor:void 0,transformation:(0,w.vt)(),materialId:t,objectIds:s,visibilities:S}}async createRemoveCommand(e){const{_materialId:t,_context:r}=this,n=r.renderCommandContext;return null==t?r.createPipelineCommand():r.createPipelineCommand(n.removeDirectRendererGeometryBuffer(t,e))}async createUpdateVisibilityCommand(e){const{_materialId:t,_context:r}=this,n=r.renderCommandContext;if(null==t)return r.createPipelineCommand();const i=new Uint8Array(e.featureCount);return e.getVisibilityArray(i),r.createPipelineCommand(n.updateVisibility(t,e.id,i))}async createUpdateLayerViewOpacityCommand(e){const{_context:t,_materialId:r}=this,n=t.renderCommandContext;return null==r?t.createPipelineCommand():t.createPipelineCommand(n.updateMaterial({type:"hud",materialId:r,parameters:{color:this._getFillColor(),outlineColor:this._getOutlineColor()}}))}async createUpdateElevationCommand(e){const{_materialId:t,_context:r}=this,{renderCommandContext:n}=r,{featureCount:i,id:s}=e;if(null==t||0===i)return r.createPipelineCommand();const o=await this._createGeometry(e);if(null==o)return r.createPipelineCommand();const a=q(e,r);return r.createPipelineCommand(n.updateDirectRendererGeometry(s,o,a))}async createDestroyCommand(){const{_iconTextureID:e,_context:t}=this,r=t.renderCommandContext;let n;return n=null!=e?await r.releaseTexture(e):g.create(r),n.appendPipelineStateCommand((()=>this._destroy())),n}_getOutlineColor(){const e=this._getLayerOpacity(),t=this._symbolLayer,r=t?.outline?.color;if(null!=r){const t=y.A.toUnitRGB(r),n=r.a*e;return[t[0],t[1],t[2],n]}return[0,0,0,0]}_getFillColor(){if(function(e){return null!=e&&("cross"===e||"x"===e)}(this._getPrimitive()))return oe;const e=null==this._getPrimitive(),t=this._symbolLayer?.material?.color;return this._getCombinedOpacityAndColor(t,{hasIntrinsicColor:e})}_getLayerOpacity(){return this._context.layerViewInfo.fullOpacity}_getCombinedOpacity(e,t=se){const r=this._draped?1:this._getLayerOpacity();return e?r*e.a:t.hasIntrinsicColor?r:0}_getCombinedOpacityAndColor(e,t=se){const r=this._getCombinedOpacity(e,t);return function(e,t,r=null){const n=(0,A.o8)(A.Un);return null!=e&&(n[0]=e[0],n[1]=e[1],n[2]=e[2],e.length>3&&(n[3]=e[3])),null!=t&&(n[3]=t),r&&(0,T.d)(n,n,r),n}(null!=e?y.A.toUnitRGB(e):C.Un,r)}_getPrimitive(){return e=this._symbolLayer,e.resource?.href?null:e.resource?.primitive??S.r;var e}}const se={hasIntrinsicColor:!1},oe=A.uY;class ae{constructor(e,t){this._loaded=!1,this._loadingPromise=null,this._context=null,this._symbol=null,this._symbolLayerRenderers=[],this._context=t,this._symbol=e}_destroy(){}get loaded(){return this._loaded}load(){return null==this._loadingPromise&&(this._loadingPromise=this._load()),this._loadingPromise}async _load(){const{_context:e,_symbol:t,_symbolLayerRenderers:r}=this,n=[];for(const i of t.symbolLayers){const t=e.symbolRendererFactory.createSymbolRendererFromSymbolLayer(i);null!=t&&(n.push(t.load()),r.push(t))}await Promise.all(n),this._loaded=!0}async createDestroyCommand(){const{_context:e,_symbolLayerRenderers:t}=this,r=[];for(const e of t)r.push(e.createDestroyCommand());const n=e.joinPipelineCommands(await Promise.all(r));return n.appendPipelineStateCommand((()=>this._destroy())),n}async createAddCommand(e){const{_context:t,_symbolLayerRenderers:r}=this,n=[];for(const t of r)n.push(t.createAddCommand(e));return t.joinPipelineCommands(await Promise.all(n))}async createRemoveCommand(e){const{_context:t,_symbolLayerRenderers:r}=this,n=[];for(const t of r)n.push(t.createRemoveCommand(e));return t.joinPipelineCommands(await Promise.all(n))}async createUpdateVisibilityCommand(e){const{_context:t,_symbolLayerRenderers:r}=this,n=[];for(const t of r)n.push(t.createUpdateVisibilityCommand(e));return t.joinPipelineCommands(await Promise.all(n))}async createUpdateLayerViewOpacityCommand(e){const{_context:t,_symbolLayerRenderers:r}=this,n=[];for(const t of r)n.push(t.createUpdateLayerViewOpacityCommand(e));return t.joinPipelineCommands(await Promise.all(n))}async createUpdateElevationCommand(e){const{_context:t,_symbolLayerRenderers:r}=this,n=[];for(const t of r)n.push(t.createUpdateElevationCommand(e));return t.joinPipelineCommands(await Promise.all(n))}}class le{constructor(e,t){this._symbol=null,this._featureData=new Map,this._loaded=!1,this._loadingPromise=null,this._renderer=null,this._context=t,this._renderer=e}async load(){return null==this._loadingPromise&&(this._loadingPromise=this._load()),this._loadingPromise}async _load(){const{_renderer:e,_context:t}=this;this._symbol=t.symbolRendererFactory.createSymbolRendererFromSymbol(e.symbol),this._loaded=!0}get loaded(){return this._loaded}async createAddCommand(e){const t=this._context,r=await this._provisionSymbol(),n=null==r?t.createPipelineCommand():await r.createAddCommand(e);return n.appendPipelineStateCommand((()=>this._featureData.set(e.id,e))),n}async createRemoveCommand(e){const t=this._context,r=await this._provisionSymbol(),n=null==r?t.createPipelineCommand():await r.createRemoveCommand(e);return n.appendPipelineStateCommand((()=>this._featureData.delete(e))),n}async createUpdateVisibilityCommand(e){const t=this._context,r=await this._provisionSymbol();return null==r?t.createPipelineCommand():await r.createUpdateVisibilityCommand(e)}async createUpdateLayerViewOpacityCommand(e){const t=this._context,r=await this._provisionSymbol();return null==r?t.createPipelineCommand():await r.createUpdateLayerViewOpacityCommand(e)}async createUpdateElevationCommand(){const{_featureData:e,_context:t}=this,r=await this._provisionSymbol();if(null==r)return t.createPipelineCommand();const n=[];for(const t of e.values())n.push(r.createUpdateElevationCommand(t));const i=await Promise.all(n);return t.joinPipelineCommands(i)}async createDestroyCommand(){const{_symbol:e,_context:t,_featureData:r}=this;if(!e)return t.createPipelineCommand();const n=[];for(const e of r.keys())n.push(this.createRemoveCommand(e));n.push(e.createDestroyCommand());const i=await Promise.all(n);return t.joinPipelineCommands(i)}async _provisionSymbol(){const e=this._symbol;return e?(e.loaded||await e.load(),e):null}}var ce,ue,de=r(48353),he=r(30809),fe=r(8887),pe=r(38954),me=r(72385),ge=(r(4197),r(11868)),ye=r(240);r(71351),(ue=ce||(ce={})).length=function(e,t){const r=e[t],n=e[t+1],i=e[t+2];return Math.sqrt(r*r+n*n+i*i)},ue.normalize=function(e,t){const r=e[t],n=e[t+1],i=e[t+2],s=1/Math.sqrt(r*r+n*n+i*i);e[t]*=s,e[t+1]*=s,e[t+2]*=s},ue.scale=function(e,t,r){e[t]*=r,e[t+1]*=r,e[t+2]*=r},ue.add=function(e,t,r,n,i,s=t){(i=i||e)[s]=e[t]+r[n],i[s+1]=e[t+1]+r[n+1],i[s+2]=e[t+2]+r[n+2]},ue.subtract=function(e,t,r,n,i,s=t){(i=i||e)[s]=e[t]-r[n],i[s+1]=e[t+1]-r[n+1],i[s+2]=e[t+2]-r[n+2]},r(87170);var _e=r(620);r(75039);const be=ce,ve=new Array(36);for(let e=0;e<6;e++)for(let t=0;t<6;t++)ve[6*e+t]=e;const xe=new Array(36);for(let e=0;e<6;e++)xe[6*e]=0,xe[6*e+1]=1,xe[6*e+2]=2,xe[6*e+3]=2,xe[6*e+4]=3,xe[6*e+5]=0;const we=(0,me.fA)(-.5,0,-.5),Ce=(0,me.fA)(.5,0,-.5),Ae=(0,me.fA)(0,0,.5),Se=(0,me.fA)(0,.5,0),Ie=(0,me.vt)(),Oe=(0,me.vt)(),Te=(0,me.vt)(),Re=(0,me.vt)(),Pe=(0,me.vt)();(0,pe.d)(Ie,we,Se),(0,pe.d)(Oe,we,Ce),(0,pe.h)(Te,Ie,Oe),(0,pe.n)(Te,Te),(0,pe.d)(Ie,Ce,Se),(0,pe.d)(Oe,Ce,Ae),(0,pe.h)(Re,Ie,Oe),(0,pe.n)(Re,Re),(0,pe.d)(Ie,Ae,Se),(0,pe.d)(Oe,Ae,we),(0,pe.h)(Pe,Ie,Oe),(0,pe.n)(Pe,Pe),Te[0],Te[1],Te[2],Re[0],Re[1],Re[2],Pe[0],Pe[1],Pe[2],(0,C.vt)();var Me=r(4576),Ee=r(69397);r(62258),r(6867),r(29878),r(87582);var Fe=r(57917);function De(e,t){const r=(e,r,n=!1)=>({levels:e.map((e=>{const i=H(r(e.tesselation));return n&&function(e){const t=e,r=t.get(ne.r.POSITION).data,n=t.get(ne.r.NORMAL).data;if(n){const t=Le(e,ne.r.NORMAL).data;for(let e=0;e<n.length;e+=3){const r=n[e+1];t[e+1]=-n[e+2],t[e+2]=r}}if(r){const t=Le(e,ne.r.POSITION).data;for(let e=0;e<r.length;e+=3){const n=r[e+1];t[e+1]=-r[e+2],t[e+2]=n}}}(i),{components:[{attributes:i,objectAndLayerIdColor:void 0,transformation:null,materialId:t,visibilities:new Uint8Array([1]),objectIds:new Uint32Array([-1])}],minScreenSpaceRadius:e.minScreenSpaceRadius}}))});switch(e){case"cone":return r(Ve,(e=>function(e,t,r,n,i=!0,s=!0){let o=0;const a=t,l=e;let c=(0,me.fA)(0,o,0),u=(0,me.fA)(0,o+l,0),d=(0,me.fA)(0,-1,0),h=(0,me.fA)(0,1,0);n&&(o=l,u=(0,me.fA)(0,0,0),c=(0,me.fA)(0,o,0),d=(0,me.fA)(0,1,0),h=(0,me.fA)(0,-1,0));const f=[u,c],p=[d,h],m=r+2,g=Math.sqrt(l*l+a*a);if(n)for(let e=r-1;e>=0;e--){const t=e*(2*Math.PI/r),n=(0,me.fA)(Math.cos(t)*a,o,Math.sin(t)*a);f.push(n);const i=(0,me.fA)(l*Math.cos(t)/g,-a/g,l*Math.sin(t)/g);p.push(i)}else for(let e=0;e<r;e++){const t=e*(2*Math.PI/r),n=(0,me.fA)(Math.cos(t)*a,o,Math.sin(t)*a);f.push(n);const i=(0,me.fA)(l*Math.cos(t)/g,a/g,l*Math.sin(t)/g);p.push(i)}const y=new Array,_=new Array;if(i){for(let e=3;e<f.length;e++)y.push(1),y.push(e-1),y.push(e),_.push(0),_.push(0),_.push(0);y.push(f.length-1),y.push(2),y.push(1),_.push(0),_.push(0),_.push(0)}if(s){for(let e=3;e<f.length;e++)y.push(e),y.push(e-1),y.push(0),_.push(e),_.push(e-1),_.push(1);y.push(0),y.push(2),y.push(f.length-1),_.push(1),_.push(2),_.push(p.length-1)}const b=(0,ge.oe)(3*m);for(let e=0;e<m;e++)b[3*e]=f[e][0],b[3*e+1]=f[e][1],b[3*e+2]=f[e][2];const v=(0,ge.oe)(3*m);for(let e=0;e<m;e++)v[3*e]=p[e][0],v[3*e+1]=p[e][1],v[3*e+2]=p[e][2];return[[ne.r.POSITION,new re.n(b,y,3,!0)],[ne.r.NORMAL,new re.n(v,_,3,!0)]]}(1,.5,e,!1)),!0);case"sphere":return r([{tesselation:0,minScreenSpaceRadius:0},{tesselation:1,minScreenSpaceRadius:8},{tesselation:2,minScreenSpaceRadius:16},{tesselation:3,minScreenSpaceRadius:50},{tesselation:4,minScreenSpaceRadius:250}],(e=>function(e,t,r){const n=e;let i,s;if(r)i=[0,-1,0,1,0,0,0,0,1,-1,0,0,0,0,-1,0,1,0],s=[0,1,2,0,2,3,0,3,4,0,4,1,1,5,2,2,5,3,3,5,4,4,5,1];else{const e=n*(1+Math.sqrt(5))/2;i=[-n,e,0,n,e,0,-n,-e,0,n,-e,0,0,-n,e,0,n,e,0,-n,-e,0,n,-e,e,0,-n,e,0,n,-e,0,-n,-e,0,n],s=[0,11,5,0,5,1,0,1,7,0,7,10,0,10,11,1,5,9,5,11,4,11,10,2,10,7,6,7,1,8,3,9,4,3,4,2,3,2,6,3,6,8,3,8,9,4,9,5,2,4,11,6,2,10,8,6,7,9,8,1]}for(let t=0;t<i.length;t+=3)be.scale(i,t,e/be.length(i,t));let o={};function a(t,r){t>r&&([t,r]=[r,t]);const n=t.toString()+"."+r.toString();if(o[n])return o[n];let s=i.length;return i.length+=3,be.add(i,3*t,i,3*r,i,s),be.scale(i,s,e/be.length(i,s)),s/=3,o[n]=s,s}for(let e=0;e<t;e++){const e=s.length,t=new Array(4*e);for(let r=0;r<e;r+=3){const e=s[r],n=s[r+1],i=s[r+2],o=a(e,n),l=a(n,i),c=a(i,e),u=4*r;t[u]=e,t[u+1]=o,t[u+2]=c,t[u+3]=n,t[u+4]=l,t[u+5]=o,t[u+6]=i,t[u+7]=c,t[u+8]=l,t[u+9]=o,t[u+10]=l,t[u+11]=c}s=t,o={}}const l=(0,ge.Wz)(i);for(let e=0;e<l.length;e+=3)be.normalize(l,e);return[[ne.r.POSITION,new re.n((0,ge.Wz)(i),s,3,!0)],[ne.r.NORMAL,new re.n(l,s,3,!0)]]}(.5,e,!0)));case"cube":case"inverted-cone":case"cylinder":case"tetrahedron":case"diamond":throw new Error("not implemented");default:return}}function Le(e,t){let r=e.get(t);return r&&!r.exclusive&&(r={...r,exclusive:!0,data:(0,Fe.S)(r.data)},e.set(t,r)),r}const Ve=[{tesselation:6,minScreenSpaceRadius:0},{tesselation:18,minScreenSpaceRadius:7},{tesselation:64,minScreenSpaceRadius:65}];var je=r(89192),Be=r(51768),ke=r(74810);class ze{constructor(e,t){this._loaded=!1,this._loadingPromise=null,this._primitiveMaterialId=null,this._lodRendererId=null,this._context=null,this._symbolLayer=null,this._primitive=null,this._context=t,this._symbolLayer=e}_destroy(){this._lodRendererId=null,this._primitiveMaterialId=null}get loaded(){return this._loaded}get _isPrimitive(){return null!=this._primitive}load(){return null==this._loadingPromise&&(this._loadingPromise=this._load()),this._loadingPromise}async _load(){const e=this._context.renderCommandContext,t=this._getLayerOpacity();let r={usePBR:!0,isSchematic:!0,mrrFactors:ke.Bt,ambient:C.Un,diffuse:C.Un,hasSlicePlane:!1,castShadows:!0,layerOpacity:t,offsetTransparentBackfaces:!1,screenSizePerspective:{}};if(r.externalColor=A.Un,r.isInstanced=!0,this._isPrimitive){const e=new Be.fs;e.layerOpacity=t,r={...r,cullFace:Ue((0,Be.ty)(e))}}const n=await e.createMaterial({type:"default",parameters:r}),i=this._symbolLayer.resource;this._primitive=i&&function(e){switch(e){case"sphere":case"cube":case"diamond":case"cylinder":case"cone":case"inverted-cone":case"tetrahedron":return!0}return!1}(i?.primitive)?i.primitive:he.r;const s=De(this._primitive,n);this._lodRendererId=await e.createLodRenderer(s),this._primitiveMaterialId=n,this._loaded=!0}async createDestroyCommand(){const{_lodRendererId:e,_primitiveMaterialId:t,_context:r}=this,n=r.renderCommandContext,i=[];return null!=e&&i.push(n.destroyLodRenderer(e)),null!=t&&i.push(n.destroyMaterial(t)),new g(n,n.mergeRenderCommandBuffers(i),[()=>this._destroy()])}async createAddCommand(e){const t=this._context,{renderCommandContext:r,mainThreadDelegate:n}=t;if(null==this._lodRendererId)throw new Error("expected lod renderer id to not be null");const{featureCount:i}=e;if(0===i)return t.createPipelineCommand();const s=this._isPrimitive,o=this._primitive||he.r,a=(0,R.vt)((0,fe.Fq)(o)),l=(0,C.ci)((0,R.Ej)(a)),c=(0,C.ci)((0,fe.Bb)(l,{isPrimitive:s,width:100,depth:null,height:null})),u=new Float64Array(16*i),d=new Float64Array(16*i),h=N(e),f=await n.applyElevationAlignmentTo(h);for(let e=0;e<i;++e){const t=e,r=f[3*e+0],n=f[3*e+1],i=f[3*e+2],s=this._computeGlobalTransform(r,n,i,this._context.viewSpatialReference,Ge),o=this._computeLocalTransform(c,l,qe);this._writeMatrixToTypedBuffer(u,t,o),this._writeMatrixToTypedBuffer(d,t,s)}const p=U(e),m=new Uint8Array(i);e.getVisibilityArray(m);const g={featureIds:new Uint32Array(p),visibility:m,localTransforms:u,globalTransforms:d};return t.createPipelineCommand(r.addLodInstances(this._lodRendererId,e.id,g))}async createRemoveCommand(e){const{_context:t,_lodRendererId:r}=this,n=t.renderCommandContext;return null==r?t.createPipelineCommand():t.createPipelineCommand(n.removeLodInstances(r,e))}async createUpdateVisibilityCommand(e){const{_lodRendererId:t,_context:r}=this,n=r.renderCommandContext;if(null==t)return r.createPipelineCommand();const i=new Uint8Array(e.featureCount);return e.getVisibilityArray(i),r.createPipelineCommand(n.updateVisibility(t,e.id,i))}async createUpdateLayerViewOpacityCommand(e){const{_context:t}=this,r=t.renderCommandContext,n=this._primitiveMaterialId;if(null==n)return t.createPipelineCommand();const i=this._getLayerOpacity();let s={layerOpacity:i};if(this._isPrimitive){const e=new Be.fs;e.layerOpacity=i,s={...s,cullFace:Ue((0,Be.ty)(e))}}return t.createPipelineCommand(r.updateMaterial({type:"default",materialId:n,parameters:s}))}async createUpdateElevationCommand(e){const{_context:t,_lodRendererId:r}=this,{renderCommandContext:n,mainThreadDelegate:i}=t,{featureCount:s,id:o}=e;if(null==r||0===s)return t.createPipelineCommand();const a=new Float64Array(16*s),l=N(e),c=await i.applyElevationAlignmentTo(l);for(let e=0;e<s;++e){const t=e,r=c[3*e+0],n=c[3*e+1],i=c[3*e+2],s=this._computeGlobalTransform(r,n,i,this._context.viewSpatialReference,Ge);this._writeMatrixToTypedBuffer(a,t,s)}return t.createPipelineCommand(n.updateLodInstancesData(r,o,a))}_writeMatrixToTypedBuffer(e,t,r){let n=16*t;for(let t=0;t<16;t++)e[n++]=r[t]}_computeGlobalTransform(e,t,r,n,i){return Ne[0]=e,Ne[1]=t,Ne[2]=r,(0,de.l)(n,Ne,i,this._context.renderSpatialReference),i}_computeLocalTransform(e,t,r){return(0,O.D_)(r),this._applyObjectScale(e,t,r),r}_applyObjectScale(e,t,r){const n=function(e=C.Un,t,r,n=1){const i=new Array(3);if(null==t||null==r)i[0]=1,i[1]=1,i[2]=1;else{let n,s=0;for(let o=2;o>=0;o--){const a=e[o],l=null!=a,c=0===o&&!n&&!l,u=r[o];let d;"symbol-value"===a||c?d=0!==u?t[o]/u:1:l&&"proportional"!==a&&isFinite(a)&&(d=0!==u?a/u:1),null!=d&&(i[o]=d,n=d,s=Math.max(s,Math.abs(d)))}for(let e=2;e>=0;e--)null==i[e]?i[e]=n:0===i[e]&&(i[e]=.001*s)}for(let e=2;e>=0;e--)i[e]/=n;return(0,C.ci)(i)}(e,e,t,this._context.renderCoordsHelper.unitInMeters);1===n[0]&&1===n[1]&&1===n[2]||(0,O.hs)(r,r,n)}_getLayerOpacity(){return this._context.layerViewInfo.fullOpacity}}function Ue(e){return e?je.s2.None:je.s2.Back}const Ne=(0,C.vt)(),qe=(0,w.vt)(),Ge=(0,w.vt)();class He{constructor(e,t){this._symbols=new Array,this._featureDataPartitioning=new Map,this._loaded=!1,this._loadingPromise=null,this._renderer=null,this._context=t,this._renderer=e}async load(){return null==this._loadingPromise&&(this._loadingPromise=this._load()),this._loadingPromise}async _load(){this._symbols[0]=new ie(x(),this._context),this._symbols[1]=new ze(new b.A,this._context),this._loaded=!0}get loaded(){return this._loaded}async createAddCommand(e){const t=this._context,r=this._partition(e),n=await Promise.all(r.map((async({index:e,features:t})=>{const r=await this._provisionSymbol(e);return await(r?.createAddCommand(t))}))),i=t.joinPipelineCommands(n);return i.appendPipelineStateCommand((()=>this._featureDataPartitioning.set(e.id,r))),i}async createRemoveCommand(e){const{_featureDataPartitioning:t,_context:r}=this,n=r.renderCommandContext,i=t.get(e);if(null==i)return new g(n,n.createRenderCommandBuffer(),[]);const s=await Promise.all(i.map((async({index:e,features:t})=>{const r=this._getLoadedSymbol(e);return await(r?.createRemoveCommand(t.id))}))),o=r.joinPipelineCommands(s);return o.appendPipelineStateCommand((()=>t.delete(e))),o}async createUpdateVisibilityCommand(e){const{_featureDataPartitioning:t,_context:r}=this,n=r.renderCommandContext,i=t.get(e.id);if(null==i)return new g(n,n.createRenderCommandBuffer(),[]);const s=await Promise.all(i.map((async({index:e,features:t})=>{const r=this._getLoadedSymbol(e);return await(r?.createUpdateVisibilityCommand(t))})));return r.joinPipelineCommands(s)}async createUpdateLayerViewOpacityCommand(e){const t=this._context,r=[];for(let t=0;t<this._symbols.length;++t){const n=this._symbols[t];null!=n&&n.loaded&&r.push(n.createUpdateLayerViewOpacityCommand(e))}const n=await Promise.all(r);return t.joinPipelineCommands(n)}async createUpdateElevationCommand(){const{_featureDataPartitioning:e,_context:t}=this,r=[];for(const t of e.values()){const e=t.map((async({index:e,features:t})=>{const r=this._getLoadedSymbol(e);return await(r?.createUpdateElevationCommand(t))}));r.push(...e)}const n=await Promise.all(r);return t.joinPipelineCommands(n)}async createDestroyCommand(){const{_featureDataPartitioning:e,_context:t}=this,r=[];for(const t of e.keys())r.push(this.createRemoveCommand(t));for(const e of this._symbols)r.push(e.createDestroyCommand());const n=await Promise.all(r);return t.joinPipelineCommands(n)}async _provisionSymbol(e){if(null==e)return null;const t=this._symbols[e];return t?(t.loaded||await t.load(),t):null}_getLoadedSymbol(e){if(null==e)return null;const t=this._symbols[e];return null!=t&&t.loaded?t:null}_partition(e){const t=U(e);if(null==t)throw new Error("unable to fetch objectIds");const{featureCount:r}=e,n=[[],[]];for(let e=0;e<r;++e)n[t[e]%2].push(e);return n.map(((t,r)=>new $e(r,e.subset(new Uint32Array(t))))).filter((e=>e.features.featureCount>0))}}class $e{constructor(e,t){this.index=e,this.features=t}}class Ze{constructor(e,t,r,n,i,s,o){this.viewSpatialReference=e,this.renderSpatialReference=t,this.mainThreadDelegate=r,this.renderCoordsHelper=n,this.renderCommandContext=i,this.layerInfo=s,this.layerViewInfo=o,this.symbolRendererFactory=new Ye(this)}createPipelineCommand(e=this.renderCommandContext.createRenderCommandBuffer(),t=[]){return new g(this.renderCommandContext,e,t)}joinPipelineCommands(e){return 0===e.length?this.createPipelineCommand():e.filter((e=>null!=e)).reduce(((e,t)=>(e.append(t),e)))}}class Ye{constructor(e){this.context=e}createSymbolRendererFromJSON(e){const t=(0,m.L)(e??Xe)??void 0;if(!t)throw new Error("Failed to create renderer");const r=t.type;switch(r){case"simple":return new le(t,this.context);case"unique-value":return new He(t,this.context);default:return console.warn(`Unable to create symbolrenderer for renderer of ${r}`),this.createSymbolRendererFromJSON(Xe)}}createSymbolRendererFromSymbol(e){const t=e?.type;switch(t){case"point-3d":return new ae(e,this.context);case"picture-marker":case"simple-marker":return new ie(x(),this.context);default:return console.warn(`Unable to create symbolrenderer for symbol of ${t}`),null}}createSymbolRendererFromSymbolLayer(e){const t=e.type;return"icon"===t?new ie(e,this.context):(console.warn(`Unable to create symbolrenderer for symbolLayer of ${t}`),null)}}const Xe={type:"simple"};var We=r(69622),Je=r(60999),Qe=r(32587),Ke=r(11932),et=r(24326);function tt(e=""){return`${e}${(0,et.c)()}`}r(37539),new Float64Array(3);class rt{constructor(e,t){this._parent=e,this._subsetIndices=t,this.id=tt(`featureDataSubset-${e.id}-`)}get tileId(){return this._parent.tileId}get extent(){return this._parent.extent}get featureCount(){return this._subsetIndices.length}get usedMemory(){return this._parent.usedMemory+Ee.qK+this._subsetIndices.byteLength}get isFullyEnabled(){for(const e of this._subsetIndices)if(!this._parent.getEnabled(e))return!1;return!0}getObjectId(e){return this._parent.getObjectId(this._subsetIndices[e])}getAttribute(e,t){return this._parent.getAttribute(this._subsetIndices[e],t)}getAttributeAsTimestamp(e,t){return this._parent.getAttribute(this._subsetIndices[e],t)}getAttributes(e){return this._parent.getAttributes(this._subsetIndices[e])}getCoordinates(e,t,r){return this._parent.getCoordinates(this._subsetIndices[e],t,r)}getOptimizedGeometry(e){return this._parent.getOptimizedGeometry(this._subsetIndices[e])}getCentroid(e,t){return this._parent.getCentroid(this._subsetIndices[e],t)}getBounds(e){return this._parent.getBounds(this._subsetIndices[e])}getBoundingBox(e){return this._parent.getBoundingBox(this._subsetIndices[e])}getObjectIdsArray(e,t,r){return this._parent.getObjectIdsArray(e,this._translatedIndices(t),r)}getCoordinatesArray(e,t,r){return this._parent.getCoordinatesArray(e,this._translatedIndices(t),r)}objectIds(e){return this._parent.objectIds(this._translatedIndices(e))}subset(e){const{_subsetIndices:t}=this,r=new Uint32Array(e.length);for(let n=0;n<r.length;++n)r[n]=t[e[n]];return new rt(this._parent,r)}disableObjectIds(e){if(0===e.size)return;const{featureCount:t}=this,r=new Array;for(let n=0;n<t;++n)this.getEnabled(n)&&e.has(this.getObjectId(n))&&r.push(n);if(0!==r.length)for(const e of r)this.setEnabled(e,!1)}setEnabled(e,t){this._parent.setEnabled(this._subsetIndices[e],t)}getEnabled(e){return this._parent.getEnabled(this._subsetIndices[e])}enableAll(){const{_subsetIndices:e,_parent:t}=this;for(const r of e)t.setEnabled(r,!0)}getVisibilityArray(e,t,r){return this._parent.getVisibilityArray(e,this._translatedIndices(t),r)}enabledObjectIds(e){return this._parent.enabledObjectIds(this._translatedIndices(e))}*_translatedIndices(e){const{_subsetIndices:t}=this;if(null!=e)for(const r of e)yield t[r];else yield*t}}class nt{constructor(e){this._tile=e,this.id=tt(`featureData-${e.id}-`),this._enabled=new Array(e.featureCount).fill(!0)}get tileId(){return this._tile.id}get featureCount(){return this._tile.featureCount}get usedMemory(){return Ee.qK+(0,Ee.$B)(this.id)}get extent(){return this._tile.descriptor.extent}get isFullyEnabled(){return this._enabled.every((e=>e))}getObjectId(e){return this._tile.getObjectId(e)}getAttribute(e,t){return this._tile.getAttribute(e,t)}getAttributeAsTimestamp(e,t){return this._tile.getAttribute(e,t)}getAttributes(e){return this._tile.getAttributes(e)}getCoordinates(e,t,r){return this._tile.getCoordinates(e,t,r)}getOptimizedGeometry(e){return this._tile.getOptimizedGeometry(e)}getCentroid(e,t){return this._tile.getCentroid(e,t)}getBounds(e){return this._tile.getBounds(e)}getBoundingBox(e){return this._tile.getBoundingBox(e)}getObjectIdsArray(e,t,r){return this._tile.getObjectIdsArray(e,t,r)}getCoordinatesArray(e,t,r){return this._tile.getCoordinatesArray(e,t,r)}objectIds(e){return this._tile.objectIds(e)}subset(e){return new rt(this,e)}disableObjectIds(e){if(0===e.size)return;const{_enabled:t}=this,r=new Array;for(const n of this._allFeatureIndices())t[n]&&e.has(this.getObjectId(n))&&r.push(n);if(0!==r.length)for(const e of r)t[e]=!1}setEnabled(e,t){this._enabled[e]=t}getEnabled(e){return this._enabled[e]}enableAll(){this._enabled.fill(!0)}getVisibilityArray(e,t=this._allFeatureIndices(),r=0){const{_enabled:n}=this;for(const i of t)e[r++]=Number(n[i]);return r}*enabledObjectIds(e=this._allFeatureIndices()){const{_enabled:t}=this;for(const r of e)t[r]&&(yield this.getObjectId(r))}*_allFeatureIndices(){const{featureCount:e}=this;for(let t=0;t<e;++t)yield t}}let it=class extends We.A{constructor(e){super(e),this.extent=null,this._tileHandles=new Qe.A,this._wanted=new Qe.A,this._updateRequested=!1,this._synchronizationTask=null,this._requestedTiles=new Array}destroy(){this._tileHandles.clear(),this._wanted.clear()}get updating(){return this._updateRequested||!(this._synchronizationTask?.finished??1)}get _boundingRect(){const{extent:e}=this;return null==e?null:(0,P.VY)(e)}get _missingTiles(){const e=new Array,t=this._wanted,r=this._tileHandles;for(const n of t.values())null==r.get(n.id)?.featureData&&e.push(n);return e}onTileTreeChange({tiles:e}){this._requestedTiles=e,this._scheduleTilesSync()}_scheduleTilesSync(){if(this._updateRequested)return;this._updateRequested=!0;const e=this._synchronizationTask,t=(0,Je.UT)((async()=>{try{await(0,o.C_)((()=>e?.finished??!0)),await(0,Ke.NO)(),this._updateRequested=!1,await this._synchronizeTiles()}finally{this._synchronizationTask===t&&(this._synchronizationTask=null)}}));this._synchronizationTask=t}async _synchronizeTiles(){const e=this._requestedTiles,t=this._tileHandles,r=new Array;for(const n of e)t.has(n.id)||r.push(n);const n=new Array;for(const r of t.values()){const{id:t}=r;e.every((e=>e.id!==t))&&n.push(r.descriptor)}const i=this._tileHandles,{_boundingRect:s}=this,o=null!=s?r.filter((e=>(0,P.HY)(s,e.extent))):r,a=this._wanted,l=new Array;for(const{id:e}of n)a.delete(e);for(const e of o)a.set(e.id,e);const c=this._missingTiles;for(const e of n){const{id:t}=e;if(c.some((t=>st(t,e)||st(e,t))))continue;const r=i.get(t);null!=r&&l.push(this._removeTile(r))}for(const e of o)l.push(this._addTile(e));const u=await Promise.allSettled(l);for(const e of u)"rejected"===e.status&&console.error(e.reason)}forEachTile(e){for(const t of this._tileHandles.values()){const r=t.featureData;null!=r&&e(r)}}*loadedTiles(){for(const e of this._tileHandles.values()){const t=e.featureData;null!=t&&(yield t)}}async _removeTile(e){e.loadTask.abort(),this._tileHandles.delete(e.id),this._validate();const{featureData:t}=e;if(null!=t){const e={stack:[],error:void 0,hasError:!1};try{(0,n.b)(e,await this.tileLocks.lock([t.tileId]),!1);const r=await this.createRemoveCommand(t.id);await(r?.execute())}catch(t){e.error=t,e.hasError=!0}finally{(0,n.c)(e)}}}async _addTile(e){const{_tileHandles:t}=this,r=t.get(e.id);if(null!=r){if(!at(r)||r.featureData.isFullyEnabled)return;return r.featureData.enableAll(),void await this._onTileLoad(r)}const n=new ot(e,(0,Je.UT)((async t=>{const r=await this.loadTile(e,t);return(0,s.Te)(t),new nt(r)})));this._tileHandles.set(n.id,n);try{await n.loadTask.promise}catch(e){return void(0,s.jH)(e)}(function(e){if(!at(e))throw new Error})(n),await this._onTileLoad(n)}async _onTileLoad(e){const t={stack:[],error:void 0,hasError:!1};try{const{_wanted:r,_tileHandles:i,_missingTiles:s}=this,o=e.descriptor,a=new Array,l=new Array,c=new Array,u=new Set;for(const t of i.values()){if(t===e)continue;const{descriptor:n,id:c}=t;if(r.has(c)||s.some((e=>st(e,n)||st(n,e)))){if(at(t)){if(st(o,n)){const e=t.featureData;for(const t of e.objectIds())u.add(t)}if(st(n,o)){const{featureData:e}=t;l.push(e)}}}else{i.delete(c),t.loadTask.abort();const{featureData:e}=t;null!=e&&a.push(e)}}u.size>0&&(e.featureData.disableObjectIds(u),this._validateRemoval(e.featureData,u)),this._validate(),c.push(e.featureData);const d=[...c,...a,...l].map((e=>e.tileId));if((0,n.b)(t,await this.tileLocks.lock(d),!1),0!==l.length){const t=e.featureData,r=new Set(t.objectIds());for(const e of l)e.disableObjectIds(r),this._validateRemoval(e,r)}const h=a.map((e=>this.createRemoveCommand(e.id))),f=c.map((e=>this.createAddCommand(e))),p=l.map((e=>this.createUpdateCommand(e))),m=function(e){return 0===e.length?null:e.reduce(((e,t)=>(e.append(t),e)))}((await Promise.all([...h,...f,...p])).filter(Me.Ru));await(m?.execute())}catch(e){t.error=e,t.hasError=!0}finally{(0,n.c)(t)}}_validate(){if(!(0,l.A)("feature-pipeline-3d-test-validation"))return;const e=new Array;for(const t of this._tileHandles.values()){if(!at(t))continue;const{featureData:r}=t;e.push({featureData:r,objectIds:new Set(r.enabledObjectIds())})}for(let t=0;t<e.length;++t){const{featureData:r,objectIds:n}=e[t];for(let i=t+1;i<e.length;++i){const{featureData:t,objectIds:s}=e[i];for(const e of s)if(n.has(e))throw new Error(`${r.id} and ${t.id} both contain ${e}.`)}}}_validateRemoval(e,t){if((0,l.A)("feature-pipeline-3d-test-validation"))for(const r of e.enabledObjectIds())if(t.has(r))throw new Error(`Failed to remove ${r} from ${e.id}!`)}};function st({lij:[e,t,r]},{lij:[n,i,s]}){const o=n-e;return o>=0&&t===i>>o&&r===s>>o}(0,n._)([(0,a.MZ)()],it.prototype,"updating",null),(0,n._)([(0,a.MZ)({constructOnly:!0})],it.prototype,"loadTile",void 0),(0,n._)([(0,a.MZ)({constructOnly:!0})],it.prototype,"createAddCommand",void 0),(0,n._)([(0,a.MZ)({constructOnly:!0})],it.prototype,"createRemoveCommand",void 0),(0,n._)([(0,a.MZ)({constructOnly:!0})],it.prototype,"createUpdateCommand",void 0),(0,n._)([(0,a.MZ)({constructOnly:!0})],it.prototype,"tileLocks",void 0),(0,n._)([(0,a.MZ)()],it.prototype,"extent",void 0),(0,n._)([(0,a.MZ)()],it.prototype,"_boundingRect",null),(0,n._)([(0,a.MZ)()],it.prototype,"_missingTiles",null),(0,n._)([(0,a.MZ)()],it.prototype,"_updateRequested",void 0),(0,n._)([(0,a.MZ)()],it.prototype,"_synchronizationTask",void 0),it=(0,n._)([(0,c.$)("esri.views.3d.layers.graphics.pipeline.Tile3DManager")],it);class ot{constructor(e,t){this.descriptor=e,this.loadTask=t}get id(){return this.descriptor.id}get featureData(){return this.loadTask.value}}function at(e){return null!=e.featureData}var lt=r(36563);class ct{constructor(){this._previousActions=new Map}async lock(e){const{_previousActions:t}=this,r=e.map((e=>t.get(e))).filter(Me.Ru),n=Promise.allSettled(r),i=(0,s.Tw)(),o=(0,lt.hA)((()=>i.resolve())),a=i.promise.finally((()=>{for(const r of e)t.get(r)===a&&t.delete(r)}));for(const r of e)t.set(r,a);return await n,(0,lt.Bf)(o)}}var ut=r(75503),dt=r(27647),ht=r(92722);class ft{constructor(e,t){this._index=e,this._view=t}get usedMemory(){return Ee.qK+Ee.RS}getObjectId(){return this._view.getObjectId(this._index)}getAttribute(e){return this._view.getAttribute(this._index,e)}getAttributeAsTimestamp(e){return this._view.getAttributeAsTimestamp(this._index,e)}getAttributes(){return this._view.getAttributes(this._index)}getOptimizedGeometry(){return this._view.getOptimizedGeometry(this._index)}getCentroid(e){return this._view.getCentroid(this._index,e)}getBounds(){return this._view.getBounds(this._index)}getBoundingBox(){return this._view.getBoundingBox(this._index)}cloneWithGeometry(e){return new pt(this._index,this._view,e)}}class pt extends ft{constructor(e,t,r){super(e,t),this._geometryOverride=r}getOptimizedGeometry(){return this._geometryOverride}getCentroid(e){return(0,dt.Q)(new ht.A,this._geometryOverride,e.hasZ,e.hasM)}}class mt{constructor(e,t){this.featureData=e,this.bounds=t}}class gt{constructor(){this._tileBounds=new Map,this.events=new i.A,this.featureAdapter=yt.shared}get usedMemory(){return Ee.qK+Ee.qK*this._tileBounds.size}addTile(e){const{featureCount:t}=e;if(0===t)return;const r=new ut.w(9,(t=>e.getBounds(t))),n=new Array;for(let e=0;e<t;++e)n[e]=e;r.load(n),this._tileBounds.set(e.id,new mt(e,r)),this.events.emit("changed")}removeTile(e){this._tileBounds.delete(e),this.events.emit("changed")}clear(){this._tileBounds.clear(),this.events.emit("changed")}forEach(e){for(const{featureData:t,bounds:r}of this._tileBounds.values())r.all((r=>{t.getEnabled(r)&&e(new ft(r,t))}))}forEachInBounds(e,t){_t.minX=e[0],_t.minY=e[1],_t.maxX=e[2],_t.maxY=e[3];for(const{featureData:e,bounds:r}of this._tileBounds.values())r.search(_t,(r=>{e.getEnabled(r)&&t(new ft(r,e))}))}forEachBounds(e,t){for(const r of e)t(r.getBoundingBox())}getFullExtent(e){let t=1/0,r=1/0,n=-1/0,i=-1/0;for(const{bounds:e}of this._tileBounds.values()){const{minX:s,minY:o,maxX:a,maxY:l}=e.toJSON();t=Math.min(t,s),r=Math.min(r,o),n=Math.min(n,a),i=Math.min(i,l)}return{xmin:t,ymin:r,xmax:n,ymax:i,spatialReference:e}}}class yt{static{this.shared=new yt}getObjectId(e){return e.getObjectId()}getAttribute(e,t){return e.getAttribute(t)}getAttributeAsTimestamp(e,t){return e.getAttributeAsTimestamp(t)}getAttributes(e){return e.getAttributes()}getGeometry(e){return e.getOptimizedGeometry()}getCentroid(e,t){return e.getCentroid(t)}cloneWithGeometry(e,t){return e.cloneWithGeometry(t)}}const _t=new ut.E;var bt=r(80893);class vt{constructor(e,t,r){this.descriptor=e,this._pages=t,this._pageSize=r;const n=Ee.ez+t.reduce(((e,{usedMemory:t})=>e+t),0),i=3*Ee.RS;this.usedMemory=Ee.qK+n+i,this.featureCount=t.reduce(((e,t)=>e+t.featureCount),0)}get id(){return this.descriptor.id}getObjectId(e){const{pageIndex:t,featurePageIndex:r}=this._translateIndex(e);return this._pages[t].getObjectId(r)}getAttribute(e,t){const{pageIndex:r,featurePageIndex:n}=this._translateIndex(e);return this._pages[r].getAttribute(n,t)}getAttributeAsTimestamp(e,t){const{pageIndex:r,featurePageIndex:n}=this._translateIndex(e);return this._pages[r].getAttributeAsTimestamp(n,t)}getAttributes(e){const{pageIndex:t,featurePageIndex:r}=this._translateIndex(e);return this._pages[t].getAttributes(r)}getCoordinates(e,t,r){const{pageIndex:n,featurePageIndex:i}=this._translateIndex(e);this._pages[n].getCoordinates(i,t,r)}getOptimizedGeometry(e){const{pageIndex:t,featurePageIndex:r}=this._translateIndex(e);return this._pages[t].getOptimizedGeometry(r)}getCentroid(e,t){const{pageIndex:r,featurePageIndex:n}=this._translateIndex(e);return this._pages[r].getCentroid(n,t)}getBounds(e){const{pageIndex:t,featurePageIndex:r}=this._translateIndex(e);return this._pages[t].getBounds(r)}getBoundingBox(e){const{pageIndex:t,featurePageIndex:r}=this._translateIndex(e);return this._pages[t].getBoundingBox(r)}getObjectIdsArray(e,t=this._allFeatureIndices(),r=0){let n=r;for(const{page:r,indices:i}of this._batchPageIndices(t))n=r.getObjectIdsArray(e,i,n);return n}getCoordinatesArray(e,t=this._allFeatureIndices(),r=0){let n=r;for(const{page:r,indices:i}of this._batchPageIndices(t))n=r.getCoordinatesArray(e,i,n);return n}*objectIds(e=this._allFeatureIndices()){for(const{page:t,indices:r}of this._batchPageIndices(e))for(const e of t.objectIds(r))yield e}*_allFeatureIndices(){const{featureCount:e}=this;for(let t=0;t<e;++t)yield t}_translateIndex(e){const{_pageSize:t}=this;return{pageIndex:Math.floor(e/t),featurePageIndex:e%t}}*_batchPageIndices(e){const t=new Array;{let r=0,n=new Array;for(const i of e){const{pageIndex:e,featurePageIndex:s}=this._translateIndex(i);r!==e&&(0!==n.length&&t.push({pageIndex:r,indices:n}),r=e,n=[]),n.push(s)}0!==n.length&&t.push({pageIndex:r,indices:n})}const{_pages:r}=this;for(const{pageIndex:e,indices:n}of t)yield{page:r[e],indices:n}}}var xt=r(49186),wt=r(51624),Ct=r(62577),At=r(95466),St=r(53655);class It{constructor(e){this._reader=new wt.A(new Uint8Array(e),new DataView(e)),this._index=function(e){for(;e.next();){if(2===e.tag())return Ot(e.getMessage());e.skip()}Rt()}(this._reader)}get featureCount(){return this._index.featureIndices.length}get exceededTransferLimit(){return this._index.exceededTransferLimit}get usedMemory(){return this._reader.usedMemory}getObjectId(e){return this.getAttribute(e,this._index.objectIdFieldName)}getAttribute(e,t){const{_index:{fieldsIndex:r,attributeIndices:n}}=this,i=r.get(t)?.index;if(null==i)return;const s=n[e*r.fields.length+i],o=this._reader;return o.move(s),Pt(o)}getAttributeAsTimestamp(e,t){const r=this.getAttribute(e,t);return"string"==typeof r?new Date(r).getTime():"number"==typeof r||null==r?r:null}getAttributes(e){const{_index:{fieldsIndex:t,attributeIndices:r}}=this,n=e*t.fields.length,i=this._reader,s={};for(const e of t.fields){const t=r[n+e.index];i.move(t),s[e.name]=Pt(i)}return s}getCoordinates(e,t,r=0){const n=this._reader,{transform:i,featureIndices:s}=this._index,{scale:o,translate:a}=i;n.move(s[e]),this._readCoordinates(o,a,t,r)}getOptimizedGeometry(e){const t=(0,C.vt)();return this.getCoordinates(e,t),new ht.A([],t)}getCentroid(e,{hasZ:t,hasM:r}){this.getCoordinates(e,Mt);const[n,i,s]=Mt,o=[n,i];return t&&(o[3]=s),r&&(o[t?4:3]=0),new ht.A([],o)}getBounds(e){this.getCoordinates(e,Mt);const[t,r]=Mt,n=new ut.E;return n.minX=t,n.minY=r,n.maxX=t,n.maxY=r,n}getBoundingBox(e){this.getCoordinates(e,Mt);const[t,r,n]=Mt;return(0,R.fA)(t,r,n,t,r,n)}getObjectIdsArray(e,t=this._allFeatureIndices(),r=0){const n=this._reader,{objectIdFieldName:i,attributeIndices:s,fieldsIndex:o}=this._index,a=o.get(i).index,l=o.fields.length;for(const i of t){const t=s[i*l+a];n.move(t),e[r++]=Pt(n)}return r}getCoordinatesArray(e,t=this._allFeatureIndices(),r=0){const n=this._reader,{transform:i,featureIndices:s}=this._index,{scale:o,translate:a}=i;for(const i of t){const t=s[i];n.move(t),r=this._readCoordinates(o,a,e,r)}return r}*objectIds(e=this._allFeatureIndices()){const t=this._reader,{objectIdFieldName:r,attributeIndices:n,fieldsIndex:i}=this._index,s=i.get(r).index,o=i.fields.length;for(const r of e){const e=n[r*o+s];t.move(e),yield Pt(t)}}*_allFeatureIndices(){const{featureCount:e}=this;for(let t=0;t<e;++t)yield t}_readCoordinates([e,t,r],[n,i,s],o,a){const l=this._reader,c=l.getLength(),u=l.pos()+c;for(;l.pos()<u&&l.next();)switch(l.tag()){case 2:{const c=l.getLength(),u=l.pos()+c;for(;l.pos()<u&&l.next();)3===l.tag()?(l.getUInt32(),o[a++]=n+e*l.getSInt64(),o[a++]=i+t*l.getSInt64(),o[a++]=s+r*l.getSInt64()):l.skip();break}default:l.skip()}return a}}function Ot(e){for(;e.next();){if(1===e.tag())return Tt(e.getMessage());e.skip()}Rt()}function Tt(e){let t,r,n=!1,i=!1,s=0;const o=new Array,a=new Array,l=new Array;for(;e.next();)switch(e.tag()){case 1:r=e.getString();break;case 7:0!==e.getEnum()&&Rt();break;case 9:n=e.getBool()??!1;break;case 12:t=(0,Ct.Q1)(e.processMessage(St.ae));break;case 13:{const t=e.processMessage(St.cn);t.index=s++,o.push(t);break}case 15:{a.push(e.pos());const t=e.getUInt32(),r=e.pos()+t;for(;e.pos()<r&&e.next();)1===e.tag()?(l.push(e.pos()),e.skip()):e.skip();break}case 10:i=e.getBool()??!1;break;default:e.skip()}const c=new At.A(o);return null!=t&&i&&null!=r&&c.has(r)||Rt(),{transform:t,exceededTransferLimit:n,fieldsIndex:c,objectIdFieldName:r,featureIndices:a,attributeIndices:l}}function Rt(){const e=new xt.A("pbf-parsing-failed","Error while parsing PBF",new Error);throw console.error(e),e}function Pt(e){const t=e.getLength(),r=e.pos()+t;for(;e.pos()<r&&e.next();)switch(e.tag()){case 1:return e.getString();case 2:return e.getFloat();case 3:return e.getDouble();case 4:return e.getSInt32();case 5:return e.getUInt32();case 6:return e.getInt64();case 7:return e.getUInt64();case 8:return e.getSInt64();case 9:return e.getBool();default:return e.skip(),null}return null}const Mt=(0,C.vt)();class Et{constructor(e,t,r,n,i){this.spatialReference=e,this.url=r,this.objectIdField=n,this.capabilities=i;const{supportsMaxRecordCountFactor:s,maxRecordCount:o}=this.capabilities.query,a=s?4:1,l=(o??8e3)*a;this._pageSize=Math.min(8e3,l);const c=t.clone();c.cacheHint=!0,c.resultType="tile",c.outSpatialReference=e,c.returnGeometry=!0,c.returnZ=!0,c.maxRecordCountFactor=a,c.num=this._pageSize,c.outFields=[n],this._baseQuery=c}async fetch(e,t){const{spatialReference:r,_pageSize:n}=this,i=(0,P.w1)(e.extent,r),o=this._baseQuery.clone();o.geometry=i;const a=new Array;let l=0,c=!1,u=1;for(;!c;){const e=[];for(let r=0;r<u;++r)e.push(this._fetchPage(o,l++,t));const r=await Promise.all(e);(0,s.Te)(t);for(const e of r){const t=0!==e.featureCount;c||=!e.exceededTransferLimit||!t,t&&a.push(e)}u=Math.min(u+1,4)}return new vt(e,a,n)}async _fetchPage(e,t,r){const n=e.clone();n.start=t*this._pageSize;const i=(await(0,bt.kS)(this.url,n,{signal:r})).data;return(0,s.Te)(r),new It(i)}}var Ft=r(24151),Dt=r(29920),Lt=r(77690),Vt=r(29242);var jt=r(13030),Bt=r(78662),kt=r(1843),zt=r(49255),Ut=r(40268),Nt=r(16943),qt=r(25634),Gt=r(11725),Ht=r(13464),$t=r(77194);class Zt{constructor(){this.scale=0,this.factor=0,this.minScaleFactor=0}}var Yt=r(59907),Xt=r(43616),Wt=r(13259),Jt=r(97220),Qt=r(98958),Kt=r(59643),er=r(33524),tr=r(90644);class rr extends Qt.w{constructor(e,t){super(e,t,new Jt.$(Wt.H,(()=>r.e(8241).then(r.bind(r,48241))))),this.primitiveType=t.occlusionPass?Z.WR.POINTS:Z.WR.TRIANGLES}initializePipeline(e){const{oitPass:t,hasPolygonOffset:r,draped:n,output:i,depthTestEnabled:s,occlusionPass:o}=e,a=t===Kt.Y.NONE,l=t===Kt.Y.ColorAlpha,c=i===zt.V.Highlight,u=s&&!n&&!l&&!o&&!c;return(0,tr.Ey)({blending:(0,zt.RN)(i)?a?tr.RC:(0,er.ez)(t):null,depthTest:s&&!n?{func:Z.MT.LEQUAL}:null,depthWrite:u?tr.Uy:null,drawBuffers:(0,er.m6)(t,i),colorWrite:tr.kn,polygonOffset:r?nr:null})}}const nr={factor:0,units:-4};var ir=r(53466),sr=r(22911),or=r(51976),ar=r(35256);class lr extends ar.E{constructor(e){super(),this.spherical=e,this.screenCenterOffsetUnitsEnabled=!1,this.occlusionTestEnabled=!0,this.signedDistanceFieldEnabled=!1,this.sampleSignedDistanceFieldTexelCenter=!1,this.vvSize=!1,this.vvColor=!1,this.hasVerticalOffset=!1,this.hasScreenSizePerspective=!1,this.hasRotation=!1,this.debugDrawLabelBorder=!1,this.hasPolygonOffset=!1,this.depthTestEnabled=!0,this.pixelSnappingEnabled=!0,this.draped=!1,this.terrainDepthTest=!1,this.cullAboveTerrain=!1,this.occlusionPass=!1,this.occludedFragmentFade=!1,this.objectAndLayerIdColorInstanced=!1,this.horizonCullingEnabled=!0,this.isFocused=!0,this.textureCoordinateType=ir.I.None,this.emissionSource=sr.ZX.None,this.discardInvisibleFragments=!0,this.hasVvInstancing=!1,this.snowCover=!1}}(0,n._)([(0,or.W)()],lr.prototype,"screenCenterOffsetUnitsEnabled",void 0),(0,n._)([(0,or.W)()],lr.prototype,"occlusionTestEnabled",void 0),(0,n._)([(0,or.W)()],lr.prototype,"signedDistanceFieldEnabled",void 0),(0,n._)([(0,or.W)()],lr.prototype,"sampleSignedDistanceFieldTexelCenter",void 0),(0,n._)([(0,or.W)()],lr.prototype,"vvSize",void 0),(0,n._)([(0,or.W)()],lr.prototype,"vvColor",void 0),(0,n._)([(0,or.W)()],lr.prototype,"hasVerticalOffset",void 0),(0,n._)([(0,or.W)()],lr.prototype,"hasScreenSizePerspective",void 0),(0,n._)([(0,or.W)()],lr.prototype,"hasRotation",void 0),(0,n._)([(0,or.W)()],lr.prototype,"debugDrawLabelBorder",void 0),(0,n._)([(0,or.W)()],lr.prototype,"hasPolygonOffset",void 0),(0,n._)([(0,or.W)()],lr.prototype,"depthTestEnabled",void 0),(0,n._)([(0,or.W)()],lr.prototype,"pixelSnappingEnabled",void 0),(0,n._)([(0,or.W)()],lr.prototype,"draped",void 0),(0,n._)([(0,or.W)()],lr.prototype,"terrainDepthTest",void 0),(0,n._)([(0,or.W)()],lr.prototype,"cullAboveTerrain",void 0),(0,n._)([(0,or.W)()],lr.prototype,"occlusionPass",void 0),(0,n._)([(0,or.W)()],lr.prototype,"occludedFragmentFade",void 0),(0,n._)([(0,or.W)()],lr.prototype,"objectAndLayerIdColorInstanced",void 0),(0,n._)([(0,or.W)()],lr.prototype,"horizonCullingEnabled",void 0),(0,n._)([(0,or.W)()],lr.prototype,"isFocused",void 0);var cr=r(49788);class ur extends Gt.im{constructor(e,t){super(e,Dr),this.produces=new Map([[Ht.N.HUD_MATERIAL,e=>(0,zt.Mb)(e)&&!this.parameters.drawAsLabel],[Ht.N.LABEL_MATERIAL,e=>(0,zt.Mb)(e)&&this.parameters.drawAsLabel],[Ht.N.OCCLUSION_PIXELS,()=>this.parameters.occlusionTest],[Ht.N.DRAPED_MATERIAL,e=>this.parameters.draped&&(0,zt.Mb)(e)]]),this._visible=!0,this._configuration=new lr(t)}getConfiguration(e,t){const r=this.parameters.draped;return super.getConfiguration(e,t,this._configuration),this._configuration.hasSlicePlane=this.parameters.hasSlicePlane,this._configuration.hasVerticalOffset=!!this.parameters.verticalOffset,this._configuration.hasScreenSizePerspective=!!this.parameters.screenSizePerspective,this._configuration.screenCenterOffsetUnitsEnabled="screen"===this.parameters.centerOffsetUnits,this._configuration.hasPolygonOffset=this.parameters.polygonOffset,this._configuration.draped=r,this._configuration.occlusionTestEnabled=this.parameters.occlusionTest,this._configuration.pixelSnappingEnabled=this.parameters.pixelSnappingEnabled,this._configuration.signedDistanceFieldEnabled=this.parameters.textureIsSignedDistanceField,this._configuration.sampleSignedDistanceFieldTexelCenter=this.parameters.sampleSignedDistanceFieldTexelCenter,this._configuration.hasRotation=this.parameters.hasRotation,this._configuration.vvSize=!!this.parameters.vvSize,this._configuration.vvColor=!!this.parameters.vvColor,this._configuration.occlusionPass=t.slot===Ht.N.OCCLUSION_PIXELS,this._configuration.occludedFragmentFade=!r&&this.parameters.occludedFragmentFade,this._configuration.horizonCullingEnabled=this.parameters.horizonCullingEnabled,this._configuration.isFocused=this.parameters.isFocused,this._configuration.depthTestEnabled=this.parameters.depthEnabled||t.slot===Ht.N.OCCLUSION_PIXELS,(0,zt.RN)(e)&&(this._configuration.debugDrawLabelBorder=!!D.b.LABELS_SHOW_BORDER),this._configuration.oitPass=t.oitPass,this._configuration.terrainDepthTest=t.terrainDepthTest,this._configuration.cullAboveTerrain=t.cullAboveTerrain,this._configuration}intersect(e,t,r,n,i,s){const{options:{selectionMode:o,hud:a,excludeLabels:l},point:c,camera:u}=r,{parameters:d}=this;if(!o||!a||l&&d.isLabel||!e.visible||!c||!u)return;const h=e.attributes.get(ne.r.FEATUREATTRIBUTE),f=null==h?null:(0,A.ci)(h.data,Tr),{scaleX:p,scaleY:m}=Br(f,d,u.pixelRatio);(0,Lt.z0)(wr,t),e.attributes.has(ne.r.FEATUREATTRIBUTE)&&function(e){const t=e[0],r=e[1],n=e[2],i=e[3],s=e[4],o=e[5],a=e[6],l=e[7],c=e[8],u=1/Math.sqrt(t*t+r*r+n*n),d=1/Math.sqrt(i*i+s*s+o*o),h=1/Math.sqrt(a*a+l*l+c*c);e[0]=t*u,e[1]=r*u,e[2]=n*u,e[3]=i*d,e[4]=s*d,e[5]=o*d,e[6]=a*h,e[7]=l*h,e[8]=c*h}(wr);const g=e.attributes.get(ne.r.POSITION),y=e.attributes.get(ne.r.SIZE),_=e.attributes.get(ne.r.NORMAL),b=e.attributes.get(ne.r.ROTATION),v=e.attributes.get(ne.r.CENTEROFFSETANDDISTANCE);(0,_e.vA)(g.size>=3);const x=(0,Wt.c)(d),w="screen"===this.parameters.centerOffsetUnits;for(let e=0;e<g.data.length/g.size;e++){const n=e*g.size;(0,pe.i)(mr,g.data[n],g.data[n+1],g.data[n+2]),(0,pe.t)(mr,mr,t),(0,pe.t)(mr,mr,u.viewMatrix);const i=e*v.size;if((0,pe.i)(Ir,v.data[i],v.data[i+1],v.data[i+2]),!w&&(mr[0]+=Ir[0],mr[1]+=Ir[1],0!==Ir[2])){const e=Ir[2];(0,pe.n)(Ir,mr),(0,pe.d)(mr,mr,(0,pe.g)(Ir,Ir,e))}const o=e*_.size;if((0,pe.i)(gr,_.data[o],_.data[o+1],_.data[o+2]),hr(gr,wr,u,Rr),kr(this.parameters,mr,Rr,u,pr),u.applyProjection(mr,yr),yr[0]>-1){w&&(Ir[0]||Ir[1])&&(yr[0]+=Ir[0]*u.pixelRatio,0!==Ir[1]&&(yr[1]+=(0,$t.m0)(Ir[1],pr.factorAlignment)*u.pixelRatio),u.unapplyProjection(yr,mr)),yr[0]+=this.parameters.screenOffset[0]*u.pixelRatio,yr[1]+=this.parameters.screenOffset[1]*u.pixelRatio,yr[0]=Math.floor(yr[0]),yr[1]=Math.floor(yr[1]);const t=e*y.size;Er[0]=y.data[t],Er[1]=y.data[t+1],(0,$t.MD)(Er,pr.factor,Er);const n=Pr*u.pixelRatio;let i=0;d.textureIsSignedDistanceField&&(i=Math.min(d.outlineSize,.5*Er[0])*u.pixelRatio/2),Er[0]*=p,Er[1]*=m;const o=e*b.size,a=d.rotation+b.data[o];if(fr(c,yr[0],yr[1],Er,n,i,a,d,x)){const e=r.ray;if((0,pe.t)(br,mr,(0,O.B8)(Ar,u.viewMatrix)),yr[0]=c[0],yr[1]=c[1],u.unprojectFromRenderScreen(yr,mr)){const t=(0,C.vt)();(0,pe.c)(t,e.direction);const r=1/(0,pe.l)(t);(0,pe.g)(t,t,r),s((0,pe.j)(e.origin,mr)*r,t,-1,br)}}}}}intersectDraped(e,t,r,n,i){const s=e.attributes.get(ne.r.POSITION),o=e.attributes.get(ne.r.SIZE),a=e.attributes.get(ne.r.ROTATION),l=this.parameters,c=(0,Wt.c)(l),u=e.attributes.get(ne.r.FEATUREATTRIBUTE),d=null==u?null:(0,A.ci)(u.data,Tr),{scaleX:h,scaleY:f}=Br(d,l,e.screenToWorldRatio),p=Mr*e.screenToWorldRatio;for(let t=0;t<s.data.length/s.size;t++){const u=t*s.size,d=s.data[u],m=s.data[u+1],g=t*o.size;Er[0]=o.data[g],Er[1]=o.data[g+1];let y=0;l.textureIsSignedDistanceField&&(y=Math.min(l.outlineSize,.5*Er[0])*e.screenToWorldRatio/2),Er[0]*=h,Er[1]*=f;const _=t*a.size,b=l.rotation+a.data[_];fr(r,d,m,Er,p,y,b,l,c)&&n(i.distance,i.normal,-1)}}createBufferWriter(){return new jr}applyShaderOffsetsView(e,t,r,n,i,s,o){const a=hr(t,r,i,Rr);return this._applyVerticalGroundOffsetView(e,a,i,o),kr(this.parameters,o,a,i,s),this._applyPolygonOffsetView(o,a,n[3],i,o),this._applyCenterOffsetView(o,n,o),o}applyShaderOffsetsNDC(e,t,r,n,i){return this._applyCenterOffsetNDC(e,t,r,n),null!=i&&(0,pe.c)(i,n),this._applyPolygonOffsetNDC(n,t,r,n),n}_applyPolygonOffsetView(e,t,r,n,i){const s=n.aboveGround?1:-1;let o=Math.sign(r);0===o&&(o=s);const a=s*o;if(this.parameters.shaderPolygonOffset<=0)return(0,pe.c)(i,e);const l=(0,F.qE)(Math.abs(t.cosAngle),.01,1),c=1-Math.sqrt(1-l*l)/l/n.viewport[2];return(0,pe.g)(i,e,a>0?c:1/c),i}_applyVerticalGroundOffsetView(e,t,r,n){const i=(0,pe.l)(e),s=r.aboveGround?1:-1,o=r.computeRenderPixelSizeAtDist(i)*Ut.R,a=(0,pe.g)(mr,t.normal,s*o);return(0,pe.f)(n,e,a),n}_applyCenterOffsetView(e,t,r){const n="screen"!==this.parameters.centerOffsetUnits;return r!==e&&(0,pe.c)(r,e),n&&(r[0]+=t[0],r[1]+=t[1],t[2]&&((0,pe.n)(gr,r),(0,pe.a)(r,r,(0,pe.g)(gr,gr,t[2])))),r}_applyCenterOffsetNDC(e,t,r,n){const i="screen"!==this.parameters.centerOffsetUnits;return n!==e&&(0,pe.c)(n,e),i||(n[0]+=t[0]/r.fullWidth*2,n[1]+=t[1]/r.fullHeight*2),n}_applyPolygonOffsetNDC(e,t,r,n){const i=this.parameters.shaderPolygonOffset;if(e!==n&&(0,pe.c)(n,e),i){const e=r.aboveGround?1:-1,s=e*Math.sign(t[3]);n[2]-=(s||e)*i}return n}set visible(e){this._visible=e}get visible(){const{color:e,outlineSize:t,outlineColor:r}=this.parameters,n=e[3]>=cr.Q||t>=cr.Q&&r[3]>=cr.Q;return this._visible&&n}createGLMaterial(e){return new dr(e)}calculateRelativeScreenBounds(e,t,r=(0,P.vt)()){return function(e,t,r,n){n[0]=e.anchorPosition[0]*-t[0]+e.screenOffset[0]*r,n[1]=e.anchorPosition[1]*-t[1]+e.screenOffset[1]*r}(this.parameters,e,t,r),r[2]=r[0]+e[0],r[3]=r[1]+e[1],r}}class dr extends qt.m8{constructor(e){super({...e,...e.material.parameters})}beginSlot(e){return this.updateTexture(this._material.parameters.textureId),this._material.setParameters(this.textureBindParameters),this.getTechnique(rr,e)}}function hr(e,t,r,n){return function(e){return function(e){return e instanceof Float32Array&&e.length>=16}(e)||function(e){return Array.isArray(e)&&e.length>=16}(e)}(t)&&(t=(0,Lt.z0)(Cr,t)),(0,pe.o)(n.normal,e,t),(0,pe.t)(n.normal,n.normal,r.viewInverseTransposeMatrix),n.cosAngle=(0,pe.e)(_r,Fr),n}function fr(e,t,r,n,i,s,o,a,l){let c=t-i-n[0]*l[0],u=c+n[0]+2*i,d=r-i-n[1]*l[1],h=d+n[1]+2*i;const f=a.distanceFieldBoundingBox;return a.textureIsSignedDistanceField&&null!=f&&(c+=n[0]*f[0],d+=n[1]*f[1],u-=n[0]*(1-f[2]),h-=n[1]*(1-f[3]),c-=s,u+=s,d-=s,h+=s),(0,M.hZ)(xr,t,r),(0,M.e$)(vr,e,xr,(0,F.kU)(o)),vr[0]>c&&vr[0]<u&&vr[1]>d&&vr[1]<h}const pr=new class{constructor(){this.factor=new Zt,this.factorAlignment=new Zt}},mr=(0,C.vt)(),gr=(0,C.vt)(),yr=(0,A.vt)(),_r=(0,C.vt)(),br=(0,C.vt)(),vr=(0,E.vt)(),xr=(0,E.vt)(),wr=(0,Vt.vt)(),Cr=(0,Vt.vt)(),Ar=(0,w.vt)(),Sr=(0,A.vt)(),Ir=(0,C.vt)(),Or=(0,C.vt)(),Tr=(0,A.vt)(),Rr={normal:_r,cosAngle:0},Pr=1,Mr=2,Er=(0,E.fA)(0,0),Fr=(0,C.fA)(0,0,1);class Dr extends qt.NV{constructor(){super(...arguments),this.renderOccluded=Gt.m$.Occlude,this.isDecoration=!1,this.color=(0,A.CN)(1,1,1,1),this.polygonOffset=!1,this.anchorPosition=(0,E.fA)(.5,.5),this.screenOffset=[0,0],this.shaderPolygonOffset=1e-5,this.textureIsSignedDistanceField=!1,this.sampleSignedDistanceFieldTexelCenter=!1,this.outlineColor=(0,A.CN)(1,1,1,1),this.outlineSize=0,this.distanceFieldBoundingBox=(0,A.vt)(),this.rotation=0,this.hasRotation=!1,this.vvSizeEnabled=!1,this.vvSize=null,this.vvColor=null,this.vvOpacity=null,this.vvSymbolAnchor=null,this.vvSymbolRotationMatrix=null,this.hasSlicePlane=!1,this.pixelSnappingEnabled=!0,this.occlusionTest=!0,this.occludedFragmentFade=!1,this.horizonCullingEnabled=!1,this.centerOffsetUnits="world",this.drawAsLabel=!1,this.depthEnabled=!0,this.isFocused=!0,this.focusStyle="bright",this.draped=!1,this.isLabel=!1}}const Lr=(0,kt.BP)().vec3f(ne.r.POSITION).vec3f(ne.r.NORMAL).vec2i16(ne.r.UVI).vec4u8(ne.r.COLOR).vec2f(ne.r.SIZE).f32(ne.r.ROTATION).vec4f(ne.r.CENTEROFFSETANDDISTANCE).vec4f(ne.r.FEATUREATTRIBUTE),Vr=Lr.clone().vec4u8(ne.r.OLIDCOLOR);class jr{constructor(){this.vertexBufferLayout=(0,Nt.E)()?Vr:Lr}elementCount(e){return 6*e.get(ne.r.POSITION).indices.length}write(e,t,r,n,i,s){const{position:o,normal:a,uvi:l,color:c,size:u,rotation:d,centerOffsetAndDistance:h,featureAttribute:f}=i;(0,Yt.Hk)(r.get(ne.r.POSITION),e,o,s,6),(0,Yt.p1)(r.get(ne.r.NORMAL),t,a,s,6);const p=r.get(ne.r.UVI)?.data;let m=0,g=0,y=-1-Wt.f,_=-1-Wt.f;p&&p.length>=4&&(m=p[0],g=p[1],y=-1-p[2],_=-1-p[3]);let b=r.get(ne.r.POSITION).indices.length,v=s;for(let e=0;e<b;++e)l.set(v,0,m),l.set(v,1,g),v++,l.set(v,0,y),l.set(v,1,g),v++,l.set(v,0,y),l.set(v,1,_),v++,l.set(v,0,y),l.set(v,1,_),v++,l.set(v,0,m),l.set(v,1,_),v++,l.set(v,0,m),l.set(v,1,g),v++;(0,Yt.tb)(r.get(ne.r.COLOR),4,c,s,6);const{data:x,indices:w}=r.get(ne.r.SIZE);b=w.length,v=s;for(let e=0;e<b;++e){const t=x[2*w[e]],r=x[2*w[e]+1];for(let e=0;e<6;++e)u.set(v,0,t),u.set(v,1,r),v++}if((0,Yt.uO)(r.get(ne.r.ROTATION),d,s,6),r.get(ne.r.CENTEROFFSETANDDISTANCE)?(0,Yt.Ut)(r.get(ne.r.CENTEROFFSETANDDISTANCE),h,s,6):(0,Yt.Pq)(h,s,6*b),r.get(ne.r.FEATUREATTRIBUTE)?(0,Yt.Ut)(r.get(ne.r.FEATUREATTRIBUTE),f,s,6):(0,Yt.Pq)(f,s,6*b),null!=n){const e=r.get(ne.r.POSITION)?.indices;if(e){const t=e.length,r=i.getField(ne.r.OLIDCOLOR,jt.XP);(0,Yt.vx)(n,r,t,s,6)}}return{numVerticesPerItem:6,numItems:b}}intersect(e,t,r,n,i,s,o){const{options:{selectionMode:a,hud:l,excludeLabels:c},point:u,camera:d}=n;if(!a||!l||c&&t.isLabel||!u)return;const h=this.vertexBufferLayout.createView(e),f=h.getField(ne.r.POSITION,jt.xs),p=h.getField(ne.r.NORMAL,jt.xs),m=h.getField(ne.r.ROTATION,jt.Y$),g=h.getField(ne.r.SIZE,jt.gH),y=h.getField(ne.r.FEATUREATTRIBUTE,jt.Eq),_=h.getField(ne.r.CENTEROFFSETANDDISTANCE,jt.Eq),b="screen"===t.centerOffsetUnits,v=(0,Wt.c)(t);if(null==f||null==p||null==m||null==g||null==_||null==d)return;const x=null==y?null:y.getVec(0,Tr),{scaleX:w,scaleY:A}=Br(x,t,d.pixelRatio),S=f.count/6;for(let e=0;e<S;e++){const i=6*e;if(f.getVec(i,mr),null!=r&&(0,pe.f)(mr,mr,r),(0,pe.t)(mr,mr,d.viewMatrix),_.getVec(i,Sr),(0,pe.i)(Ir,Sr[0],Sr[1],Sr[2]),!b&&(mr[0]+=Ir[0],mr[1]+=Ir[1],0!==Ir[2])){const e=Ir[2];(0,pe.n)(Ir,mr),(0,pe.d)(mr,mr,(0,pe.g)(Ir,Ir,e))}if(p.getVec(i,gr),hr(gr,wr,d,Rr),kr(t,mr,Rr,d,pr),d.applyProjection(mr,yr),yr[0]>-1){b&&(Ir[0]||Ir[1])&&(yr[0]+=Ir[0]*d.pixelRatio,0!==Ir[1]&&(yr[1]+=(0,$t.m0)(Ir[1],pr.factorAlignment)*d.pixelRatio),d.unapplyProjection(yr,mr)),yr[0]+=t.screenOffset[0]*d.pixelRatio,yr[1]+=t.screenOffset[1]*d.pixelRatio,yr[0]=Math.floor(yr[0]),yr[1]=Math.floor(yr[1]),g.getVec(i,Er),(0,$t.MD)(Er,pr.factor,Er);const r=Pr*d.pixelRatio;let s=0;t.textureIsSignedDistanceField&&(s=Math.min(t.outlineSize,.5*Er[0])*d.pixelRatio/2),Er[0]*=w,Er[1]*=A;const a=m.get(i),l=t.rotation+a;if(fr(u,yr[0],yr[1],Er,r,s,l,t,v)){const t=n.ray;if((0,pe.t)(br,mr,(0,O.B8)(Ar,d.viewMatrix)),yr[0]=u[0],yr[1]=u[1],d.unprojectFromRenderScreen(yr,mr)){const r=(0,C.vt)();(0,pe.c)(r,t.direction);const n=1/(0,pe.l)(r);(0,pe.g)(r,r,n),o((0,pe.j)(t.origin,mr)*n,r,e,br)}}}}}}function Br(e,t,r){return null==e||null==t.vvSize?{scaleX:r,scaleY:r}:((0,Bt.VC)(Or,t,e),{scaleX:Or[0]*r,scaleY:Or[1]*r})}function kr(e,t,r,n,i){if(!e.verticalOffset?.screenLength)return e.screenSizePerspective||e.screenSizePerspectiveAlignment?zr(e,i,(0,pe.l)(t),r.cosAngle):(i.factor.scale=1,i.factorAlignment.scale=1),t;const s=(0,pe.l)(t),o=e.screenSizePerspectiveAlignment??e.screenSizePerspective,a=(0,Xt.kE)(n,s,e.verticalOffset,r.cosAngle,o);return zr(e,i,s,r.cosAngle),(0,pe.g)(r.normal,r.normal,a),(0,pe.f)(t,t,r.normal)}function zr(e,t,r,n){null!=e.screenSizePerspective?(0,$t.cJ)(n,r,e.screenSizePerspective,t.factor):(t.factor.scale=1,t.factor.factor=0,t.factor.minScaleFactor=0),null!=e.screenSizePerspectiveAlignment?(0,$t.cJ)(n,r,e.screenSizePerspectiveAlignment,t.factorAlignment):(t.factorAlignment.factor=t.factor.factor,t.factorAlignment.scale=t.factor.scale,t.factorAlignment.minScaleFactor=t.factor.minScaleFactor)}class Ur{constructor(e,t){this._mainThreadDelegate=t,this._bufferWriters=new Map,this.globalViewingMode=e===Ft.RT.Global}createRenderCommandBuffer(e=[],t=[]){return{commands:e,transferList:t}}mergeRenderCommandBuffers(e){const t=this.createRenderCommandBuffer();for(const r of e)null!=r&&(t.commands.push(...r.commands),t.transferList.push(...r.transferList));return t}async createTexture(e){const{data:t,parameters:r}=e();return await this._mainThreadDelegate.createTexture(t,r)}async releaseTexture(e){const t=this._destroyTexture(e);return new g(this,t,[])}_destroyTexture(e){return{commands:[{id:"destroy-texture",textureId:e}],transferList:[]}}async createMaterial(e){const{type:t,parameters:r}=e,n=tt("material");let i,s;switch(t){case"default":i=new Be.$U(e.parameters,{spherical:this.globalViewingMode}),s={type:t,materialId:n,parameters:e.parameters};break;case"hud":i=new ur(r,this.globalViewingMode),s={type:t,materialId:n,parameters:e.parameters}}return this._bufferWriters.set(n,i.createBufferWriter()),await this._mainThreadDelegate.createMaterial(s),n}destroyMaterial(e){return{commands:[{id:"destroy-material",materialId:e}],transferList:[]}}updateMaterial(e){return{commands:[{...e,id:"update-material"}],transferList:[]}}async createDirectRenderer(e){return await this._mainThreadDelegate.createDirectRenderer(e),e}async destroyDirectRenderer(e){await this._mainThreadDelegate.destroyDirectRenderer(e)}addDirectRendererGeometry(e,t,r){const{materialId:n}=t;if(null==this._bufferWriters.get(n))throw new Error(`no bufferwriter found for material ${n}`);const{renderGeometryBuffer:i,renderGeometryBufferItems:s}=this.createRenderGeometryBuffer(t,r);return this.addDirectRendererGeometryBuffer(n,e,i,s,r)}updateDirectRendererGeometry(e,t,r){const{materialId:n}=t;if(null==this._bufferWriters.get(n))throw new Error(`no bufferwriter found for material ${n}`);const{renderGeometryBuffer:i,renderGeometryBufferItems:s}=this.createRenderGeometryBuffer(t,r);return this.updateDirectRendererGeometryBuffer(n,e,i,s,r)}addDirectRendererGeometryBuffer(e,t,r,n,i){const{objectIds:s,visibilities:o}=n;return{commands:[{id:"add-direct-renderer-geometry-buffer",rendererId:e,groupId:t,renderGeometryBuffer:r,renderGeometryBufferItems:n,localOrigin:i}],transferList:[r.data,s.buffer,o.buffer]}}updateDirectRendererGeometryBuffer(e,t,r,n,i){const{objectIds:s,visibilities:o}=n;return{commands:[{id:"update-direct-renderer-geometry-buffer",rendererId:e,groupId:t,renderGeometryBuffer:r,renderGeometryBufferItems:n,localOrigin:i}],transferList:[r.data,s.buffer,o.buffer]}}removeDirectRendererGeometryBuffer(e,t){return{commands:[{id:"remove-direct-renderer-geometry-buffer",rendererId:e,groupId:t}],transferList:[]}}async createLodRenderer(e){const t=tt("lod-renderer"),r=new Set,n={levels:e.levels.map((e=>({components:e.components.map((e=>{const t=e.attributes.get(ne.r.POSITION);if(!t||0===t.indices.length)throw new Error("positions attribute expected");const n=(0,G.tM)(t.indices.length/3),i=new Dt.j(n,3,t);if(null==this._bufferWriters.get(e.materialId))throw new Error("writer not found");const{renderGeometryBuffer:s}=this.createRenderGeometryBuffer(e,null);return r.add(s.data),{materialId:e.materialId,renderGeometryBuffer:s,boundingInfo:{bbMax:i.bbMax,bbMin:i.bbMin}}})),minScreenSpaceRadius:e.minScreenSpaceRadius})))};return await this._mainThreadDelegate.createLodRenderer(t,n,Array.from(r)),t}destroyLodRenderer(e){return{commands:[{id:"destroy-lod-renderer",rendererId:e}],transferList:[]}}addLodInstances(e,t,r){return{commands:[{id:"add-lod-instances",rendererId:e,groupId:t,data:r}],transferList:[r.featureIds.buffer,r.globalTransforms.buffer,r.localTransforms.buffer,r.visibility.buffer]}}removeLodInstances(e,t){return{commands:[{id:"remove-lod-instances",rendererId:e,groupId:t}],transferList:[]}}updateLodInstancesData(e,t,r){return{commands:[{id:"update-lod-instance-data",rendererId:e,groupId:t,globalTransforms:r}],transferList:[r.buffer]}}updateVisibility(e,t,r){return{commands:[{id:"update-visibility",rendererId:e,groupId:t,visibility:r}],transferList:[r.buffer]}}async dispatchRenderCommands(e){0!==e.commands.length&&await this._mainThreadDelegate.executeRenderCommands(e)}createRenderGeometryBuffer(e,t){const{materialId:r,visibilities:n,objectIds:i}=e,s=this._bufferWriters.get(r);if(null==s)throw new Error("no registered bufferWriter for material found");let o=null;if(e.transformation&&t)(0,O.C)(Nr,e.transformation),Nr[12]-=t[0],Nr[13]-=t[1],Nr[14]-=t[2],o=Nr;else{if(t)throw new Error("not implemented");e.transformation&&(o=e.transformation)}let a=null;o&&((0,O.B8)(qr,Nr),(0,O.mg)(qr,qr),a=qr);const l=e.attributes,c=s.elementCount(l),u=s.vertexBufferLayout.stride/4;c>Math.floor(Gr/u)&&console.warn("geometry with very large number of elements encountered");const d=s.vertexBufferLayout.createBuffer(c),h=s.write(o,a,l,e.objectAndLayerIdColor,d,0);if(null==h)throw new Error("Bufferwriter.write does not provide item information.");if(n.length!==h.numItems||i.length!==h.numItems)throw new Error("Unexpected mismatch between number of RenderGeometryBufferItems and provided objectIds/visibility flags.");return{renderGeometryBuffer:{data:d.buffer,elementCount:c},renderGeometryBufferItems:{objectIds:i,visibilities:n,ranges:{numVertices:h.numVerticesPerItem,numItems:h.numItems}}}}}const Nr=(0,w.vt)(),qr=(0,w.vt)(),Gr=4194304;var Hr=r(73941),$r=r(98764),Zr=r(65806);const Yr=(0,C.vt)();var Xr=r(88582),Wr=r(17352),Jr=r(97937);function Qr(e,t,r=function(e){return{operations:e,value:e.create()}}(e)){return r.operations=e,e.copy(t,r.value),r}const Kr=2**50;function en(e,t,r,n){return e.operations.setAltitudeAt(e.value,t,r,n)}function tn(e,t,r){return e.operations.elevate(e.value,t,r.value)}const rn=(0,C.vt)();(0,C.vt)();var nn=r(44280),sn=r(32114);function on(e){return"point"===e.type}class an{constructor(e,t,r,n){this.viewingMode=e,this.spatialReference=t,this.unitInMeters=r,this._coordinateSystem=n,this._tmpCoordinateSystem=function(e){const{value:t,operations:r}=e;return{operations:r,value:r.create(t)}}(n),this.referenceEllipsoid=(0,Hr.tO)(t),this.sphericalPCPF=(0,$r.lO)(t)}set extent(e){e&&function(e,t,r){e.operations.setExtent(e.value,t,r.value)}(this._coordinateSystem,e,this._coordinateSystem)}get extent(){return function(e,t){return e.operations.getExtent(e.value,t),t}(this._coordinateSystem,(0,P.vt)())}getAltitude(e){return function(e,t){return e.operations.altitudeAt(e.value,t)}(this._coordinateSystem,e)}setAltitude(e,t,r=e){return en(this._coordinateSystem,r,t,e)}setAltitudeOfTransformation(e,t){!function(e,t,r,n){t!==n&&(0,O.C)(n,t),(0,pe.i)(rn,n[12],n[13],n[14]),en(e,rn,r,rn),n[12]=rn[0],n[13]=rn[1],n[14]=rn[2]}(this._coordinateSystem,t,e,t)}worldUpAtPosition(e,t){return function(e,t,r){return e.operations.axisAt(e.value,t,Xr._.Z,r)}(this._coordinateSystem,e,t)}worldBasisAtPosition(e,t,r){return function(e,t,r,n){return e.operations.axisAt(e.value,t,r,n)}(this._coordinateSystem,e,t,r)}basisMatrixAtPosition(e,t){const r=this.worldBasisAtPosition(e,Xr._.X,sn.rq.get()),n=this.worldBasisAtPosition(e,Xr._.Y,sn.rq.get()),i=this.worldBasisAtPosition(e,Xr._.Z,sn.rq.get());return(0,O.hZ)(t,r[0],r[1],r[2],0,n[0],n[1],n[2],0,i[0],i[1],i[2],0,0,0,0,1),t}headingAtPosition(e,t){const r=this.worldUpAtPosition(e,sn.rq.get()),n=this.worldBasisAtPosition(e,Xr._.Y,sn.rq.get()),i=(0,nn.EJ)(t,n,r);return(0,F.KJ)(i)}intersectManifoldClosestSilhouette(e,t,r){return tn(this._coordinateSystem,t,this._tmpCoordinateSystem),function(e,t,r){e.operations.intersectRayClosestSilhouette(e.value,t,r)}(this._tmpCoordinateSystem,e,r),r}intersectManifold(e,t,r){tn(this._coordinateSystem,t,this._tmpCoordinateSystem);const n=sn.rq.get();return function(e,t,r){return e.operations.intersectRay(e.value,t,r)}(this._tmpCoordinateSystem,e,n)?(0,pe.c)(r,n):null}intersectInfiniteManifold(e,t,r){if(this.viewingMode===Ft.RT.Global)return this.intersectManifold(e,t,r);tn(this._coordinateSystem,t,this._tmpCoordinateSystem);const n=this._tmpCoordinateSystem.value,i=sn.rq.get();return(0,ye.Ui)(n.plane,e,i)?(0,pe.c)(r,i):null}toRenderCoords(e,t,r){return on(e)?(0,Zr.g)(e,t,this.spatialReference):(0,z.F)(e,t,r,this.spatialReference)}fromRenderCoords(e,t,r=null){return on(t)?(null!=r&&(t.spatialReference=r),function(e,t,r){return!!(0,z.F)(e,t,Yr,r.spatialReference)&&(r.x=Yr[0],r.y=Yr[1],r.z=Yr[2],!0)}(e,this.spatialReference,t)?t:null):(0,z.F)(e,this.spatialReference,t,r)?t:null}static create(e,t){switch(e){case Ft.RT.Local:return new an(Ft.RT.Local,t,(0,I.GA)(t),Qr(Wr.b,(0,Wr.f)([0,0,0],[Kr,0,0],[0,Kr,0])));case Ft.RT.Global:return new an(Ft.RT.Global,t,1,function(e){return Qr(Jr.s,(0,Jr.f)(0,0,0,(0,Hr.tO)(e).radius))}(t))}}static renderUnitScaleFactor(e,t){return(0,I.KX)(e)/(0,I.KX)(t)}}let ln=class extends i.A.EventedAccessor{constructor(){super(...arguments),this.remoteClient=null,this._featureStore=new gt,this._tileLocks=new ct,this._tileManager=null,this._renderer=null,this._fetcher=null,this._queryEngine=null,this._defaultQueryJSON=null,this._mainThreadDelegate=null,this._viewSpatialReference=null,this._renderCommandContext=null,this._context=null}get updating(){return this._tileManager.updating}destroy(){this._featureStore.clear(),this._tileManager?.destroy()}async setup({viewSpatialReference:e,renderSpatialReference:t,viewingMode:r,layerInfo:n,layerViewInfo:i}){const s=h.A.fromJSON(e);this._viewSpatialReference=s;const a=h.A.fromJSON(t);this._fetcher=new Et(this._viewSpatialReference,p.A.fromJSON(n.baseQuery),n.url,n.objectIdField,n.capabilities),this._queryEngine=new f.do({hasZ:!0,hasM:!1,geometryType:"esriGeometryPoint",featureIdInfo:{type:"object-id",fieldName:n.objectIdField},fieldsIndex:n.fieldIndex,availableFields:[n.objectIdField],spatialReference:e,featureStore:this._featureStore,timeInfo:n.timeInfo}),this._mainThreadDelegate={createTexture:async(e,t)=>{const r={data:e,parameters:t};return await this.remoteClient.invoke("createTexture",r,{transferList:[e.buffer]})},releaseTexture:async e=>{const t={uid:e};await this.remoteClient.invoke("releaseTexture",t)},createMaterial:async e=>{const t={materialJSON:e};await this.remoteClient.invoke("createMaterial",t)},destroyMaterial:async e=>{const t={materialId:e};await this.remoteClient.invoke("destroyMaterial",t)},createDirectRenderer:async e=>{const t={materialId:e};await this.remoteClient.invoke("createDirectRenderer",t)},destroyDirectRenderer:async e=>{const t={materialId:e};await this.remoteClient.invoke("destroyDirectRenderer",t)},createLodRenderer:async(e,t,r)=>{const n={rendererId:e,lodRenderGeometry:t};await this.remoteClient.invoke("createLoDRenderer",n,{transferList:r})},destroyLodRenderer:async e=>{const t={rendererId:e};await this.remoteClient.invoke("destroyLoDRenderer",t)},executeRenderCommands:async e=>{const t={commands:e.commands};await this.remoteClient.invoke("dispatchRenderCommands",t,{transferList:e.transferList})},applyElevationAlignmentTo:async e=>{const t={mapPoints:e};return await this.remoteClient.invoke("applyElevationAlignment",t,{transferList:[e.buffer]})}};const l=an.create(r,a),c=new Ur(r,this._mainThreadDelegate);this._renderCommandContext=c;const m=new Ze(s,a,this._mainThreadDelegate,l,c,n,i);this._context=m,this._renderer=m.symbolRendererFactory.createSymbolRendererFromJSON(n.renderer),this._defaultQueryJSON=new p.A({outSpatialReference:s}).toJSON();let g=null;if(null!=n.fullExtent){const e=u.A.fromJSON(n.fullExtent);await(0,d.initializeProjection)(e.spatialReference,s),g=(0,d.project)(e,s)}return this._tileManager=new it({loadTile:(e,t)=>this._fetcher.fetch(e,t),createAddCommand:(e,t)=>this._createAddFeatureDataCommand(e,t),createRemoveCommand:e=>this._createRemoveFeatureDataCommand(e),createUpdateCommand:(e,t)=>this._createUpdateFeatureDataVisibilityCommand(e,t),tileLocks:this._tileLocks,extent:g}),this.addHandles((0,o.wB)((()=>this.updating),(e=>{this.emit("notify-updating",{updating:e})})),o.Vh),null!=this._renderer&&await this._renderer.load(),un}async executeQuery(e,t){return{result:await this._queryEngine.executeQuery(this._ensureQuery(e),t)}}async executeQueryForIds(e,t){const r=await this._queryEngine.executeQueryForIdSet(this._ensureQuery(e),t);return{result:Array.from(r)}}async executeQueryForCount(e,t){return{result:await this._queryEngine.executeQueryForCount(this._ensureQuery(e),t)}}async executeQueryForExtent(e,t){return{result:await this._queryEngine.executeQueryForExtent(this._ensureQuery(e),t)}}async executeQueryForLatestObservations(e,t){return{result:await this._queryEngine.executeQueryForLatestObservations(this._ensureQuery(e),t)}}onTileTreeChange(e){return this._tileManager.onTileTreeChange(e),Promise.resolve(un)}async onElevationChange(e){return un}async onLayerViewOpacityChange(e){const{_context:t,_renderer:r}=this;if(t.layerViewInfo.fullOpacity=e,null==r)return un;const n=await r.createUpdateLayerViewOpacityCommand(e);return await n.execute(),un}async onRendererChange(e){const{_context:t}=this,r=t.symbolRendererFactory.createSymbolRendererFromJSON(e);await r.load();const i=this._renderer;this._renderer=r;const s=[...this._tileManager.loadedTiles()],o=s.map((e=>e.tileId));{const e={stack:[],error:void 0,hasError:!1};try{(0,n.b)(e,await this._tileLocks.lock(o),!1);const a=s.flatMap((e=>[i.createRemoveCommand(e.id),r.createAddCommand(e)])),l=await Promise.all(a),c=t.joinPipelineCommands(l);await c.execute()}catch(t){e.error=t,e.hasError=!0}finally{(0,n.c)(e)}}const a=await i.createDestroyCommand();return await a.execute(),un}async _createAddFeatureDataCommand(e,t){const r=this._featureStore,n=this._renderer;let i;return i=null!=n?await n.createAddCommand(e):g.create(this._renderCommandContext),(0,s.Te)(t),i.appendPipelineStateCommand((()=>{r.addTile(e)})),i}async _createRemoveFeatureDataCommand(e){const t=this._featureStore,r=this._renderer;let n;return n=null!=r?await r.createRemoveCommand(e):g.create(this._renderCommandContext),n.appendPipelineStateCommand((()=>{t.removeTile(e)})),n}async _createUpdateFeatureDataVisibilityCommand(e,t){const r=this._renderer;let n;return n=null!=r?await r.createUpdateVisibilityCommand(e):g.create(this._renderCommandContext),(0,s.Te)(t),n}_ensureQuery(e){return e??this._defaultQueryJSON}};(0,n._)([(0,a.MZ)()],ln.prototype,"updating",null),ln=(0,n._)([(0,c.$)("esri.views.3d.layers.graphics.pipeline.Feature3DPipelineWorker")],ln);const cn=ln,un={result:void 0}},69418:(e,t,r)=>{r.d(t,{S:()=>c,z:()=>l});var n=r(83047),i=r(21325),s=r(43334),o=r(58512),a=r(92722);const l=["esriGeometryPoint","esriGeometryMultipoint","esriGeometryPolyline","esriGeometryPolygon"];class c{constructor(e){this._options=e,this.geometryTypes=l,this._coordinatePtr=0,this._vertexDimension=0}createFeatureResult(){return new o.A}prepareFeatures(e){this._vertexDimension=2,e.hasZ&&this._vertexDimension++,e.hasM&&this._vertexDimension++}finishFeatureResult(e){if(!e?.features||!e.hasZ||!this._options.sourceSpatialReference||!e.spatialReference||(0,i.aI)(e.spatialReference,this._options.sourceSpatialReference)||e.spatialReference.vcsWkid)return;const t=(0,n.G9)(this._options.sourceSpatialReference)/(0,n.G9)(e.spatialReference);if(1!==t)for(const r of e.features){if(!(0,s.N3)(r))continue;const e=r.geometry.coords;for(let r=2;r<e.length;r+=3)e[r]*=t}}addFeature(e,t){e.features.push(t)}createFeature(){return new s.Om(null,{},null,0)}createSpatialReference(){return{wkid:0}}createGeometry(){return new a.A}addField(e,t){e.fields.push(t)}allocateCoordinates(e){e.coords.length=e.lengths.reduce(((e,t)=>e+t),0)*this._vertexDimension,this._coordinatePtr=0}addCoordinate(e,t){e.coords[this._coordinatePtr++]=t}addCoordinatePoint(e,t){e.coords.push(t)}addLength(e,t){e.lengths.push(t)}addQueryGeometry(e,t){e.queryGeometry=t.queryGeometry,e.queryGeometryType=t.queryGeometryType}createPointGeometry(){return new a.A}}},72385:(e,t,r)=>{function n(){return new Float32Array(3)}function i(e){const t=new Float32Array(3);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}function s(e,t,r){const n=new Float32Array(3);return n[0]=e,n[1]=t,n[2]=r,n}function o(){return n()}function a(){return s(1,1,1)}function l(){return s(1,0,0)}function c(){return s(0,1,0)}function u(){return s(0,0,1)}r.d(t,{fA:()=>s,o8:()=>i,vt:()=>n});const d=o(),h=a(),f=l(),p=c(),m=u();Object.freeze(Object.defineProperty({__proto__:null,ONES:h,UNIT_X:f,UNIT_Y:p,UNIT_Z:m,ZEROS:d,clone:i,create:n,fromValues:s,ones:a,unitX:l,unitY:c,unitZ:u,zeros:o},Symbol.toStringTag,{value:"Module"}))},73681:(e,t,r)=>{r.d(t,{n:()=>l});var n=r(49186),i=r(53966),s=r(46140),o=r(95466),a=r(55674);class l{static async from(e,t,r){const o=e.dictionary_version?s.R.parse(e.dictionary_version):null,u=new Set(e.itemsNames),d={};if(t)for(const e in t)d[e]=t[e];if(e.authoringInfo.configuration)for(const t of e.authoringInfo.configuration)d.hasOwnProperty(t.name)||(d[t.name]=t.value);const h=new Set(e.authoringInfo.symbol);for(const e of Object.keys(r))h.delete(e);h.size&&i.A.getLogger("esri.renderers.support.DictionaryScriptEvaluator").warnOnce("missing-fields: fieldMap entries for the following symbol fields are missing",{symbolFields:h});const f=await(0,a.xR)(e.expression,null,d);if(!f)throw new n.A("dictionary-renderer:expression-error","Unable to create dictionary renderer expression");const p=!o||!o.greaterEqual(4,0);p&&i.A.getLogger("esri.renderers.support.DictionaryScriptEvaluator").warnOnce("Dictionary script does not support native field types. Applying fallback",{version:o});const m=new c(r,p);return new l(p,u,f,m)}constructor(e,t,r,n){this._requiresFieldCoercionToString=e,this._itemNames=t,this._compiled=r,this._reader=n}get itemNames(){return this._itemNames}evaluate(e,t,r,n){try{return this._reader.bind(e,r,n),this._compiled.evaluate(this._reader,{$view:{scale:t}})}catch(e){i.A.getLogger("esri.renderers.support.DictionaryScriptEvaluator").warnOnce("arcade: dictionary script evaluation failed",{error:e})}return null}createDictionaryFieldsIndex(e){if(!this._requiresFieldCoercionToString)return new o.A(e);const t=e.map((e=>({...e,type:"esriFieldTypeString"})));return new o.A(t)}}class c extends a.Gj{constructor(e,t){super(),this._fieldMap=e,this._requiresFieldCoercionToString=t}_getField(e){const t=this._fieldMap[e]??e;return this._boundSchema.fieldsIndex.get(t)}field(e){if(!this._requiresFieldCoercionToString)return super.field(e,!1);const t=this._getField(e);return null==t||null==this._boundTarget.attributes[t.name]?"":""+this._boundTarget.attributes[t.name]}}},75503:(e,t,r)=>{r.d(t,{E:()=>S,w:()=>a});var n=r(4576),i=r(21818),s=(r(44208),r(3694)),o=r(11006);class a{constructor(e=9,t){this._compareMinX=h,this._compareMinY=f,this._toBBox=e=>e,this._maxEntries=Math.max(4,e||9),this._minEntries=Math.max(2,Math.ceil(.4*this._maxEntries)),t&&("function"==typeof t?this._toBBox=t:this._initFormat(t)),this.clear()}destroy(){this.clear(),x.prune(),w.prune(),C.prune(),A.prune()}all(e){l(this._data,e)}search(e,t){let r=this._data;const n=this._toBBox;if(b(e,r))for(x.clear();r;){for(let i=0,s=r.children.length;i<s;i++){const s=r.children[i],o=r.leaf?n(s):s;b(e,o)&&(r.leaf?t(s):_(e,o)?l(s,t):x.push(s))}r=x.pop()}}collides(e){let t=this._data;const r=this._toBBox;if(!b(e,t))return!1;for(x.clear();t;){for(let n=0,i=t.children.length;n<i;n++){const i=t.children[n],s=t.leaf?r(i):i;if(b(e,s)){if(t.leaf||_(e,s))return!0;x.push(i)}}t=x.pop()}return!1}load(e){if(!e.length)return this;if(e.length<this._minEntries){for(let t=0,r=e.length;t<r;t++)this.insert(e[t]);return this}let t=this._build(e.slice(),0,e.length-1,0);if(this._data.children.length)if(this._data.height===t.height)this._splitRoot(this._data,t);else{if(this._data.height<t.height){const e=this._data;this._data=t,t=e}this._insert(t,this._data.height-t.height-1,!0)}else this._data=t;return this}insert(e){return e&&this._insert(e,this._data.height-1),this}clear(){return this._data=new O([]),this}remove(e){if(!e)return this;let t,r=this._data,s=null,o=0,a=!1;const l=this._toBBox(e);for(C.clear(),A.clear();r||C.length>0;){if(r||(r=C.pop(),s=C.data[C.length-1],o=A.pop()??0,a=!0),r.leaf&&(t=(0,n.qh)(r.children,(0,i.zI)(e),r.children.length,r.indexHint),-1!==t))return r.children.splice(t,1),C.push(r),this._condense(C),this;a||r.leaf||!_(r,l)?s?(o++,r=s.children[o],a=!1):r=null:(C.push(r),A.push(o),o=0,s=r,r=r.children[0])}return this}toJSON(){return this._data}fromJSON(e){return this._data=e,this}_build(e,t,r,n){const i=r-t+1;let s=this._maxEntries;if(i<=s){const n=new O(e.slice(t,r+1));return c(n,this._toBBox),n}n||(n=Math.ceil(Math.log(i)/Math.log(s)),s=Math.ceil(i/s**(n-1)));const o=new T([]);o.height=n;const a=Math.ceil(i/s),l=a*Math.ceil(Math.sqrt(s));v(e,t,r,l,this._compareMinX);for(let i=t;i<=r;i+=l){const t=Math.min(i+l-1,r);v(e,i,t,a,this._compareMinY);for(let r=i;r<=t;r+=a){const i=Math.min(r+a-1,t);o.children.push(this._build(e,r,i,n-1))}}return c(o,this._toBBox),o}_insert(e,t,r){const n=this._toBBox,i=r?e:n(e);C.clear();const s=function(e,t,r,n){for(;n.push(t),!0!==t.leaf&&n.length-1!==r;){let r,n=1/0,i=1/0;for(let s=0,o=t.children.length;s<o;s++){const o=t.children[s],a=p(o),l=g(e,o)-a;l<i?(i=l,n=a<n?a:n,r=o):l===i&&a<n&&(n=a,r=o)}t=r||t.children[0]}return t}(i,this._data,t,C);for(s.children.push(e),d(s,i);t>=0&&C.data[t].children.length>this._maxEntries;)this._split(C,t),t--;!function(e,t,r){for(let n=r;n>=0;n--)d(t.data[n],e)}(i,C,t)}_split(e,t){const r=e.data[t],n=r.children.length,i=this._minEntries;this._chooseSplitAxis(r,i,n);const s=this._chooseSplitIndex(r,i,n);if(!s)return;const o=r.children.splice(s,r.children.length-s),a=r.leaf?new O(o):new T(o);a.height=r.height,c(r,this._toBBox),c(a,this._toBBox),t?e.data[t-1].children.push(a):this._splitRoot(r,a)}_splitRoot(e,t){this._data=new T([e,t]),this._data.height=e.height+1,c(this._data,this._toBBox)}_chooseSplitIndex(e,t,r){let n,i,s;n=i=1/0;for(let o=t;o<=r-t;o++){const t=u(e,0,o,this._toBBox),a=u(e,o,r,this._toBBox),l=y(t,a),c=p(t)+p(a);l<n?(n=l,s=o,i=c<i?c:i):l===n&&c<i&&(i=c,s=o)}return s}_chooseSplitAxis(e,t,r){const n=e.leaf?this._compareMinX:h,i=e.leaf?this._compareMinY:f;this._allDistMargin(e,t,r,n)<this._allDistMargin(e,t,r,i)&&e.children.sort(n)}_allDistMargin(e,t,r,n){e.children.sort(n);const i=this._toBBox,s=u(e,0,t,i),o=u(e,r-t,r,i);let a=m(s)+m(o);for(let n=t;n<r-t;n++){const t=e.children[n];d(s,e.leaf?i(t):t),a+=m(s)}for(let n=r-t-1;n>=t;n--){const t=e.children[n];d(o,e.leaf?i(t):t),a+=m(o)}return a}_condense(e){for(let t=e.length-1;t>=0;t--){const r=e.data[t];if(0===r.children.length)if(t>0){const i=e.data[t-1],s=i.children;s.splice((0,n.qh)(s,r,s.length,i.indexHint),1)}else this.clear();else c(r,this._toBBox)}}_initFormat(e){const t=["return a"," - b",";"];this._compareMinX=new Function("a","b",t.join(e[0])),this._compareMinY=new Function("a","b",t.join(e[1])),this._toBBox=new Function("a","return {minX: a"+e[0]+", minY: a"+e[1]+", maxX: a"+e[2]+", maxY: a"+e[3]+"};")}}function l(e,t){let r=e;for(w.clear();r;){if(!0===r.leaf)for(const e of r.children)t((0,i.zI)(e));else w.pushArray(r.children);r=w.pop()??null}}function c(e,t){u(e,0,e.children.length,t,e)}function u(e,t,r,n,i){i||(i=new O([])),i.minX=1/0,i.minY=1/0,i.maxX=-1/0,i.maxY=-1/0;for(let s,o=t;o<r;o++)s=e.children[o],d(i,e.leaf?n(s):s);return i}function d(e,t){e.minX=Math.min(e.minX,t.minX),e.minY=Math.min(e.minY,t.minY),e.maxX=Math.max(e.maxX,t.maxX),e.maxY=Math.max(e.maxY,t.maxY)}function h(e,t){return e.minX-t.minX}function f(e,t){return e.minY-t.minY}function p(e){return(e.maxX-e.minX)*(e.maxY-e.minY)}function m(e){return e.maxX-e.minX+(e.maxY-e.minY)}function g(e,t){return(Math.max(t.maxX,e.maxX)-Math.min(t.minX,e.minX))*(Math.max(t.maxY,e.maxY)-Math.min(t.minY,e.minY))}function y(e,t){const r=Math.max(e.minX,t.minX),n=Math.max(e.minY,t.minY),i=Math.min(e.maxX,t.maxX),s=Math.min(e.maxY,t.maxY);return Math.max(0,i-r)*Math.max(0,s-n)}function _(e,t){return e.minX<=t.minX&&e.minY<=t.minY&&t.maxX<=e.maxX&&t.maxY<=e.maxY}function b(e,t){return t.minX<=e.maxX&&t.minY<=e.maxY&&t.maxX>=e.minX&&t.maxY>=e.minY}function v(e,t,r,n,i){const s=[t,r];for(;s.length;){const t=s.pop(),r=s.pop();if(t-r<=n)continue;const a=r+Math.ceil((t-r)/n/2)*n;(0,o.q)(e,a,r,t,i),s.push(r,a,a,t)}}const x=new s.A,w=new s.A,C=new s.A,A=new s.A({deallocator:void 0});class S{constructor(){this.minX=1/0,this.minY=1/0,this.maxX=-1/0,this.maxY=-1/0}}class I extends S{constructor(){super(...arguments),this.height=1,this.indexHint=new n.vW}}class O extends I{constructor(e){super(),this.children=e,this.leaf=!0}}class T extends I{constructor(e){super(),this.children=e,this.leaf=!1}}},76357:(e,t,r)=>{r.d(t,{A:()=>u});var n=r(90237),i=r(66552),s=r(25482),o=r(10107),a=(r(44208),r(53966),r(87811),r(93223)),l=r(40608);const c=new i.J({inherited:"inherited",codedValue:"coded-value",range:"range"});let u=class extends s.A{constructor(e){super(e),this.name=null,this.type=null}};(0,n._)([(0,o.MZ)({type:String,json:{write:!0}})],u.prototype,"name",void 0),(0,n._)([(0,a.e)(c),(0,o.MZ)({json:{write:{isRequired:!0}}})],u.prototype,"type",void 0),u=(0,n._)([(0,l.$)("esri.layers.support.Domain")],u)},77548:(e,t,r)=>{r.d(t,{Gh:()=>m,tk:()=>d,BR:()=>u,wI:()=>c,G$:()=>f,$x:()=>h,Ov:()=>a,W_:()=>l,OP:()=>p,TU:()=>o,XX:()=>s});var n=r(70333),i=r(78888);r(5503),r(84952),r(36563),r(36708),new WeakMap;const s={Point:"SceneLayer","3DObject":"SceneLayer",IntegratedMesh:"IntegratedMeshLayer",PointCloud:"PointCloudLayer",Building:"BuildingSceneLayer"};function o(e){const t=e?.type;return"building-scene"===t||"integrated-mesh"===t||"point-cloud"===t||"scene"===t}function a(e){return"feature"===e?.type&&!e.url&&"memory"===e.source?.type}function l(e){const t=e?.type;return("feature"===t||"subtype-group"===t||"oriented-imagery"===t)&&"feature-layer"===e?.source?.type}async function c(e,t){const r=n.id?.findServerInfo(e);if(null!=r?.currentVersion)return r.owningSystemUrl||null;const s=e.toLowerCase().indexOf("/rest/services");if(-1===s)return null;const o=`${e.slice(0,s)}/rest/info`,a=null!=t?t.signal:null,{data:l}=await(0,i.A)(o,{query:{f:"json"},responseType:"json",signal:a});return l?.owningSystemUrl||null}function u(e){return function(e){if(!("capabilities"in e))return!1;switch(e.type){case"catalog":case"catalog-footprint":case"csv":case"feature":case"geojson":case"imagery":case"knowledge-graph-sublayer":case"ogc-feature":case"oriented-imagery":case"scene":case"sublayer":case"subtype-group":case"subtype-sublayer":case"wfs":return!0;default:return!1}}(e)?"effectiveCapabilities"in e?e.effectiveCapabilities:e.capabilities:null}function d(e){return!!function(e){if(!("editingEnabled"in e))return!1;switch(e.type){case"csv":case"feature":case"geojson":case"oriented-imagery":case"scene":case"subtype-group":case"subtype-sublayer":return!0;default:return!1}}(e)&&("effectiveEditingEnabled"in e?e.effectiveEditingEnabled:e.editingEnabled)}function h(e,t){return null}function f(e){return null}function p(e){return!e||"Feature Service"===e.type&&!e.sourceUrl}function m(e,t){if(!t||!p(e))return;const r=(e.url,null);r&&(e.url=r)}},80451:(e,t,r)=>{r.d(t,{rS:()=>p,gK:()=>f}),r(44208);var n,i=r(53177),s=r(76357),o=r(90237),a=(r(53966),r(87811),r(49186),r(93223)),l=r(40608);let c=class extends s.A{static{n=this}constructor(e){super(e),this.type="inherited"}clone(){return new n}};(0,o._)([(0,a.e)({inherited:"inherited"})],c.prototype,"type",void 0),c=n=(0,o._)([(0,l.$)("esri.layers.support.InheritedDomain")],c);var u,d=r(10107);let h=class extends s.A{static{u=this}constructor(e){super(e),this.maxValue=null,this.minValue=null,this.type="range"}clone(){return new u({maxValue:this.maxValue,minValue:this.minValue,name:this.name})}};(0,o._)([(0,d.MZ)({json:{type:[Number],read:{source:"range",reader:(e,t)=>t.range?.[1]},write:{enabled:!1,overridePolicy(){return{enabled:null!=this.maxValue&&null==this.minValue}},target:"range",writer(e,t,r){t[r]=[this.minValue||0,e]},isRequired:!0}}})],h.prototype,"maxValue",void 0),(0,o._)([(0,d.MZ)({json:{type:[Number],read:{source:"range",reader:(e,t)=>t.range?.[0]},write:{target:"range",writer(e,t,r){t[r]=[e,this.maxValue||0]},isRequired:!0}}})],h.prototype,"minValue",void 0),(0,o._)([(0,a.e)({range:"range"})],h.prototype,"type",void 0),h=u=(0,o._)([(0,l.$)("esri.layers.support.RangeDomain")],h);const f={key:"type",base:s.A,typeMap:{range:h,"coded-value":i.A,inherited:c}};function p(e){if(!e?.type)return null;switch(e.type){case"range":return h.fromJSON(e);case"codedValue":return i.A.fromJSON(e);case"inherited":return c.fromJSON(e)}return null}},80893:(e,t,r)=>{r.d(t,{IJ:()=>p,Jf:()=>_,Pk:()=>g,eW:()=>f,gW:()=>y,kS:()=>m});var n=r(78888),i=r(84952),s=r(65864),o=r(17136),a=r(21325),l=r(10536),c=r(66208),u=r(58501);const d="Layer does not support extent calculation.";function h(e,t,r){const n=e.geometry,i=e.toJSON();delete i.compactGeometryEnabled,delete i.defaultSpatialReferenceEnabled;const o=i;let l,c,u;if(n&&(c=n.spatialReference,u=(0,a.YX)(c),o.geometryType=(0,s.$B)(n),o.geometry=function(e,t){if(t&&"extent"===e.type)return`${e.xmin},${e.ymin},${e.xmax},${e.ymax}`;if(t&&"point"===e.type)return`${e.x},${e.y}`;const r=e.toJSON();return delete r.spatialReference,JSON.stringify(r)}(n,e.compactGeometryEnabled),o.inSR=u),i.groupByFieldsForStatistics&&(o.groupByFieldsForStatistics=i.groupByFieldsForStatistics.join(",")),i.objectIds)switch(r?.uniqueIdFields?.length){case void 0:o.objectIds=i.objectIds.join(",");break;case 1:o.uniqueIds=JSON.stringify(i.objectIds),delete o.objectIds;break;default:o.uniqueIds=JSON.stringify(i.objectIds.map((e=>JSON.parse(e)))),delete o.objectIds}if(i.orderByFields&&(o.orderByFields=i.orderByFields.join(",")),!i.outFields||!i.returnDistinctValues&&(t?.returnCountOnly||t?.returnExtentOnly||t?.returnIdsOnly)?delete o.outFields:i.outFields.includes("*")?o.outFields="*":o.outFields=i.outFields.join(","),i.outSR?(o.outSR=(0,a.YX)(i.outSR),l=e.outSpatialReference):n&&(i.returnGeometry||i.returnCentroid)&&(o.outSR=o.inSR,l=c),i.returnGeometry&&delete i.returnGeometry,i.outStatistics&&(o.outStatistics=JSON.stringify(i.outStatistics)),i.fullText&&(o.fullText=JSON.stringify(i.fullText)),i.pixelSize&&(o.pixelSize=JSON.stringify(i.pixelSize)),i.quantizationParameters&&(e.defaultSpatialReferenceEnabled&&null!=c&&null!=e.quantizationParameters?.extent&&c.equals(e.quantizationParameters.extent.spatialReference)&&delete i.quantizationParameters.extent.spatialReference,o.quantizationParameters=JSON.stringify(i.quantizationParameters)),i.parameterValues&&(o.parameterValues=JSON.stringify(i.parameterValues)),i.rangeValues&&(o.rangeValues=JSON.stringify(i.rangeValues)),i.dynamicDataSource&&(o.layer=JSON.stringify({source:i.dynamicDataSource}),delete i.dynamicDataSource),i.timeExtent){const e=i.timeExtent,{start:t,end:r}=e;null==t&&null==r||(o.time=t===r?t:`${t??"null"},${r??"null"}`),delete i.timeExtent}return e.defaultSpatialReferenceEnabled&&null!=c&&null!=l&&c.equals(l)&&(o.defaultSR=o.inSR,delete o.inSR,delete o.outSR),o}async function f(e,t,r,n,i){const s=t.timeExtent?.isEmpty?{data:{features:[]}}:await v(e,t,"json",n,void 0,i);return(0,u.q)(t,r,s.data),s}async function p(e,t,r,n,i){if(t.timeExtent?.isEmpty)return{data:r.createFeatureResult()};const s=await m(e,t,n,i),o=s;return o.data=(0,c.m)(s.data,r),o}function m(e,t,r,n){return v(e,t,"pbf",r,void 0,n)}function g(e,t,r,n){return t.timeExtent?.isEmpty?Promise.resolve({data:{objectIds:[]}}):v(e,t,"json",r,{returnIdsOnly:!0},n)}function y(e,t,r,n){return t.timeExtent?.isEmpty?Promise.resolve({data:{count:0}}):v(e,t,"json",r,{returnIdsOnly:!0,returnCountOnly:!0},n)}async function _(e,t,r){if(t.timeExtent?.isEmpty)return{data:{count:0,extent:null}};const n=await v(e,t,"json",r,{returnExtentOnly:!0,returnCountOnly:!0}),i=n.data;if(i.hasOwnProperty("extent"))return n;if(i.features)throw new Error(d);if(i.hasOwnProperty("count"))throw new Error(d);return n}function b(e,t){if(!e.returnIdsOnly||!t.uniqueIdFields)return e;const r={...e,returnUniqueIdsOnly:!0};return delete r.returnIdsOnly,r}async function v(e,t,r,s={},a={},c={}){const u="string"==typeof e?(0,i.An)(e):e,d=t.geometry?[t.geometry]:[],f=await(0,o.el)(d,null,{signal:s.signal}),p=f?.[0];null!=p&&((t=t.clone()).geometry=p);const m=(0,l.z)({...u.query,f:r,...b(a,c),...h(t,a,c)});return(0,n.A)((0,i.fj)(u.path,(g=a,null==t.formatOf3DObjects||g.returnCountOnly||g.returnExtentOnly||g.returnIdsOnly?"query":"query3d")),{...s,responseType:"pbf"===r?"array-buffer":"json",query:{...m,...s.query}});var g}},81961:(e,t,r)=>{r.d(t,{V:()=>s});var n=r(69270),i=r(74333);class s extends i.n{constructor(e,t,r){super(e,"vec4",n.c.Draw,((n,i,s)=>n.setUniform4fv(e,t(i,s),r)))}}},87582:(e,t,r)=>{r(6867);var n=r(65215);r(29878),n.R},95696:(e,t,r)=>{r.d(t,{A:()=>u});var n,i=r(90237),s=r(69540),o=r(25482),a=r(10107),l=(r(44208),r(53966),r(87811),r(93223)),c=r(40608);let u=class extends(s.A.ClonableMixin(o.A)){static{n=this}constructor(e){super(e),this.type="georeferenced",this.origin=null}static{this.absolute=new n}};(0,i._)([(0,l.e)({georeferenced:"georeferenced"},{readOnly:!0})],u.prototype,"type",void 0),(0,i._)([(0,a.MZ)({type:[Number],nonNullable:!1,json:{write:!0}})],u.prototype,"origin",void 0),u=n=(0,i._)([(0,c.$)("esri.geometry.support.MeshGeoreferencedVertexSpace")],u)},96576:(e,t,r)=>{r.d(t,{A:()=>h});var n,i=r(90237),s=r(4718),o=r(10107),a=(r(44208),r(53966),r(93223)),l=r(40608),c=r(92438),u=r(63988),d=r(49849);let h=n=class extends((0,u.h)(c.A)){constructor(e){super(e),this.description=null,this.label=null,this.symbol=null,this.type="simple"}async collectRequiredFields(e,t){await Promise.all([this.collectSymbolFields(e,t),this.collectVVRequiredFields(e,t)])}async collectSymbolFields(e,t){await Promise.all(this.symbols.map((r=>r.collectRequiredFields(e,t))))}getSymbol(e,t){return this.symbol}async getSymbolAsync(e,t){return this.symbol}get symbols(){return this.symbol?[this.symbol]:[]}getAttributeHash(){return this.visualVariables?.reduce(((e,t)=>e+t.getAttributeHash()),"")??""}getMeshHash(){return this.symbols.reduce(((e,t)=>e+JSON.stringify(t)),"")}get arcadeRequired(){return this.arcadeRequiredForVisualVariables}clone(){return new n({description:this.description,label:this.label,symbol:(0,s.o8)(this.symbol),visualVariables:(0,s.o8)(this.visualVariables),authoringInfo:(0,s.o8)(this.authoringInfo)})}};(0,i._)([(0,o.MZ)({type:String,json:{write:!0}})],h.prototype,"description",void 0),(0,i._)([(0,o.MZ)({type:String,json:{write:!0}})],h.prototype,"label",void 0),(0,i._)([(0,o.MZ)(d.Wp)],h.prototype,"symbol",void 0),(0,i._)([(0,a.e)({simple:"simple"})],h.prototype,"type",void 0),h=n=(0,i._)([(0,l.$)("esri.renderers.SimpleRenderer")],h)}}]);