@arcgis/core 4.34.0-next.56 → 4.34.0-next.58
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.
- package/analysis/VolumeMeasurement/VolumeMeasurementCutFillOptions.d.ts +4 -0
- package/analysis/VolumeMeasurement/{CutFillOptions.js → VolumeMeasurementCutFillOptions.js} +1 -1
- package/analysis/VolumeMeasurementAnalysis.js +1 -1
- package/assets/esri/core/workers/RemoteClient.js +1 -1
- package/assets/esri/core/workers/chunks/00ee6f84119bc55a222f.js +1 -0
- package/assets/esri/core/workers/chunks/02a31483e09652a1a1a2.js +1 -0
- package/assets/esri/core/workers/chunks/047d6f7b1677cc7ab271.js +1 -0
- package/assets/esri/core/workers/chunks/04e652df94790f5ca08a.js +1 -0
- package/assets/esri/core/workers/chunks/06b65105b15abf4d0fbf.js +1 -0
- package/assets/esri/core/workers/chunks/0b53bc76d38e85902748.js +1 -0
- package/assets/esri/core/workers/chunks/0d946a226b846b3c0849.js +1 -0
- package/assets/esri/core/workers/chunks/{9b5e04d87116ce2b68b2.js → 0e4976f92b66793137c4.js} +1 -1
- package/assets/esri/core/workers/chunks/0fb2dcbd54175e75d94d.js +971 -0
- package/assets/esri/core/workers/chunks/14c6461ffd36319e1d74.js +1 -0
- package/assets/esri/core/workers/chunks/1612d1c1d78c122dfef6.js +1 -0
- package/assets/esri/core/workers/chunks/17abab49db1813d3e192.js +1 -0
- package/assets/esri/core/workers/chunks/182383fd00008606bfaa.js +1 -0
- package/assets/esri/core/workers/chunks/18f878ec695617650a96.js +1 -0
- package/assets/esri/core/workers/chunks/19e5e011f929b6b940fe.js +1 -0
- package/assets/esri/core/workers/chunks/1c61cf137a989bc52bb8.js +1 -0
- package/assets/esri/core/workers/chunks/{dd2b5f115d156b5b212e.js → 22ec2b0a853911692dc8.js} +1 -1
- package/assets/esri/core/workers/chunks/232c76f122b1f519e099.js +1 -0
- package/assets/esri/core/workers/chunks/26975e5b3fb7f2ed45a4.js +1 -0
- package/assets/esri/core/workers/chunks/27334cda1b877abcba1b.js +1 -0
- package/assets/esri/core/workers/chunks/{d0124b0dd62b331afe58.js → 2cd27b06226e30aec5da.js} +1 -1
- package/assets/esri/core/workers/chunks/{19391d60c76a1dc7c262.js → 2f7e192ee2066f863e1d.js} +1 -1
- package/assets/esri/core/workers/chunks/327b0da744426ce40e60.js +1 -0
- package/assets/esri/core/workers/chunks/373c9e17e2834dfc1839.js +1 -0
- package/assets/esri/core/workers/chunks/{722931d1a60be461e521.js → 3e7c9a43e52ed6a1b018.js} +1 -1
- package/assets/esri/core/workers/chunks/{10b46438885916d18425.js → 3f634580055b30dbfc8e.js} +1 -1
- package/assets/esri/core/workers/chunks/{0e8d3d38e9b1f6abf6f2.js → 3fd09a7c05583a57a317.js} +1 -1
- package/assets/esri/core/workers/chunks/4050ddb580d364d9e205.js +353 -0
- package/assets/esri/core/workers/chunks/462b30fc40a5f337ba10.js +1 -0
- package/assets/esri/core/workers/chunks/4753793daf0b7ff8b5ff.js +1 -0
- package/assets/esri/core/workers/chunks/497214e9e82b936fc94e.js +1 -0
- package/assets/esri/core/workers/chunks/4ac127cefa3aa5e93e78.js +1 -0
- package/assets/esri/core/workers/chunks/4b1daffa97fd90a554a0.js +1 -0
- package/assets/esri/core/workers/chunks/4d7fcec769369c576847.js +1 -0
- package/assets/esri/core/workers/chunks/516864fb68025acc7db6.js +1 -0
- package/assets/esri/core/workers/chunks/54b43876ae6fb078eb38.js +1 -0
- package/assets/esri/core/workers/chunks/{5c556468e2a598ab793a.js → 55bb794bcdd9cc788322.js} +1 -1
- package/assets/esri/core/workers/chunks/56b4dcd04c844eaacd60.js +1 -0
- package/assets/esri/core/workers/chunks/5787101b2b814c5d2439.js +33 -0
- package/assets/esri/core/workers/chunks/5b7e5ec6aea1f7f9b005.js +1 -0
- package/assets/esri/core/workers/chunks/{ff42b24b48019a03d841.js → 5cb238318a24b70d5ac3.js} +1 -1
- package/assets/esri/core/workers/chunks/5cfec58c7c31e6d8c6ea.js +1 -0
- package/assets/esri/core/workers/chunks/5de7c2a80bd9c81cefe2.js +1 -0
- package/assets/esri/core/workers/chunks/5e1afea05b624b315d9f.js +1 -0
- package/assets/esri/core/workers/chunks/5ed7e139c72cd2b3ddba.js +1 -0
- package/assets/esri/core/workers/chunks/5f079be7f322768aef21.js +1 -0
- package/assets/esri/core/workers/chunks/6531f33d6710960079e9.js +1 -0
- package/assets/esri/core/workers/chunks/{ad93a2621f75270f06cb.js → 69fbe363bb130fdd8146.js} +1 -1
- package/assets/esri/core/workers/chunks/700b5a536f97233bc4af.js +1 -0
- package/assets/esri/core/workers/chunks/757717416d909059df2f.js +1 -0
- package/assets/esri/core/workers/chunks/7597ef10d1699e7088e5.js +1 -0
- package/assets/esri/core/workers/chunks/781e424a383c71ca904d.js +1 -0
- package/assets/esri/core/workers/chunks/79933271a76a1756584f.js +1 -0
- package/assets/esri/core/workers/chunks/{c2f184e9f579152aa29a.js → 7b17f52019762aa21af8.js} +1 -1
- package/assets/esri/core/workers/chunks/{6130bc641aa7c1bcaaa8.js → 7c23be93d394f1bee941.js} +1 -1
- package/assets/esri/core/workers/chunks/7c86af4f60cea383ed96.js +1 -0
- package/assets/esri/core/workers/chunks/7eda1c400658b6a99be8.js +1 -0
- package/assets/esri/core/workers/chunks/80bd5988180f4618fd61.js +1 -0
- package/assets/esri/core/workers/chunks/{b47688e3263099540873.js → 81e518dd62bd95611d00.js} +1 -1
- package/assets/esri/core/workers/chunks/{a778a72456fefdf40115.js → 81eb7785d626aa975033.js} +1 -1
- package/assets/esri/core/workers/chunks/8374d87176486c1fc90e.js +1 -0
- package/assets/esri/core/workers/chunks/893e5eb5c028c4704317.js +1 -0
- package/assets/esri/core/workers/chunks/{6dc0009889f2b7cc8cff.js → 897f9775f06ddbf6486f.js} +1 -1
- package/assets/esri/core/workers/chunks/8c0e11f781607239749d.js +1 -0
- package/assets/esri/core/workers/chunks/8c2fcfcfbb6b70f7bada.js +1 -0
- package/assets/esri/core/workers/chunks/90540fdfb0c5f68aa959.js +1 -0
- package/assets/esri/core/workers/chunks/{c7d4c296011c5393bcaa.js → 9275313e0f1f521b2658.js} +1 -1
- package/assets/esri/core/workers/chunks/9280edff80fd87860a5e.js +1 -0
- package/assets/esri/core/workers/chunks/944d1608f935516951c4.js +1 -0
- package/assets/esri/core/workers/chunks/94f1005222bff1870ef1.js +1 -0
- package/assets/esri/core/workers/chunks/{e6bf4f3f6868dc9028e3.js → 96102a9296afd1bfe1a9.js} +1 -1
- package/assets/esri/core/workers/chunks/977582cb3c8f17a2cb4c.js +1 -0
- package/assets/esri/core/workers/chunks/{853b9f29b4d62fa621b9.js → 997a2a1a51039ce7e4e3.js} +1 -1
- package/assets/esri/core/workers/chunks/{4e2b125e6e3945985a54.js → 9f93513037a6e87433c4.js} +1 -1
- package/assets/esri/core/workers/chunks/a16b471c3706ee37f9b6.js +1 -0
- package/assets/esri/core/workers/chunks/a2150baf0661e2f28011.js +1 -0
- package/assets/esri/core/workers/chunks/a244afea77127e54dd3a.js +1 -0
- package/assets/esri/core/workers/chunks/{ab3c018c406dcd81ef9e.js → a2f4b6d8da93f106852c.js} +1 -1
- package/assets/esri/core/workers/chunks/a532614aa65fb52dee7b.js +1 -0
- package/assets/esri/core/workers/chunks/{adf11d31f95481f89a55.js → a700f57af6856cb5313c.js} +1 -1
- package/assets/esri/core/workers/chunks/ae1cb4c65d72217ae4d4.js +1 -0
- package/assets/esri/core/workers/chunks/af5ae7c36e1178077cbc.js +1 -0
- package/assets/esri/core/workers/chunks/{97ae2fdb6cb98249f5fa.js → b29144ee58b43f769d9a.js} +1 -1
- package/assets/esri/core/workers/chunks/b30de4936caa654d7817.js +1 -0
- package/assets/esri/core/workers/chunks/b6c6f82df3b60c2f831f.js +1 -0
- package/assets/esri/core/workers/chunks/{faf4002f9547a0cc4e33.js → bafd9b0f6e817252cb31.js} +1 -1
- package/assets/esri/core/workers/chunks/{22334a464f798b5279b2.js → bb2ab663e3e5597f2104.js} +1 -1
- package/assets/esri/core/workers/chunks/bb67d491f62a5cce96cd.js +1 -0
- package/assets/esri/core/workers/chunks/bc9f54a6b577c43189fd.js +1 -0
- package/assets/esri/core/workers/chunks/{6fe738748ce837811ff4.js → bd4125d163f372a7e978.js} +1 -1
- package/assets/esri/core/workers/chunks/bf6b76027c60b4ffa507.js +1 -0
- package/assets/esri/core/workers/chunks/{854bfda25bb406814929.js → c34a164a8ece4cb33e81.js} +1 -1
- package/assets/esri/core/workers/chunks/c4ff5c78fc8668af9c05.js +1 -0
- package/assets/esri/core/workers/chunks/c696615cae5daefa2d98.js +1 -0
- package/assets/esri/core/workers/chunks/c71dac67f95d694bf67e.js +1 -0
- package/assets/esri/core/workers/chunks/{e982cf44906eb26164f2.js → c75b0243e5bb84738419.js} +1 -1
- package/assets/esri/core/workers/chunks/{3490d47cac7c8dec70cd.js → c9c109d43a1e5160955d.js} +2 -2
- package/assets/esri/core/workers/chunks/cc748d4f4adb9c584aa4.js +1 -0
- package/assets/esri/core/workers/chunks/d707538b150d79050336.js +1 -0
- package/assets/esri/core/workers/chunks/d71836cf70b9604832f1.js +1 -0
- package/assets/esri/core/workers/chunks/d83bdc13c3cad3eee7be.js +1 -0
- package/assets/esri/core/workers/chunks/{2cda605c302176905e84.js → db7678104b18534482e3.js} +1 -1
- package/assets/esri/core/workers/chunks/dbcef57073075e9cfdfe.js +1 -0
- package/assets/esri/core/workers/chunks/de4da985c398c8bcf2e7.js +1 -0
- package/assets/esri/core/workers/chunks/{cb57cdff976d2d4b0b41.js → e1b25b1ce3bd4f0f2cda.js} +1 -1
- package/assets/esri/core/workers/chunks/e36d538915261ee0373f.js +1 -0
- package/assets/esri/core/workers/chunks/e97250ae8da4bd0d6bc9.js +1 -0
- package/assets/esri/core/workers/chunks/ed8863c3d334f438b625.js +1 -0
- package/assets/esri/core/workers/chunks/f636ca5c811c3a2a962f.js +1 -0
- package/assets/esri/core/workers/chunks/f6d91256c4e5f8a0d5c0.js +1 -0
- package/assets/esri/core/workers/chunks/f718f630a8b81496c646.js +1 -0
- package/assets/esri/core/workers/chunks/{4d5abcf57a6ded4750ba.js → fa0f94318173db2034de.js} +1 -1
- package/assets/esri/core/workers/chunks/fd1fdb97a294a1b7041d.js +1 -0
- package/assets/esri/core/workers/chunks/ff14b632f147cb68ed59.js +1 -0
- package/assets/esri/core/workers/chunks/{d42fd0effc560eefb14b.js → ff2614d96ca5228e9685.js} +1 -1
- package/assets/esri/core/workers/chunks/{ff8a4bf1bceb362d67ab.js → ff7962063d132c1ec814.js} +1 -1
- package/assets/esri/themes/base/widgets/_Editor.scss +5 -3
- package/assets/esri/themes/base/widgets/_SelectionToolbar.scss +6 -0
- package/assets/esri/themes/dark/main.css +1 -1
- package/assets/esri/themes/light/main.css +1 -1
- package/assets/esri/themes/light/view.css +1 -1
- package/assets/esri/widgets/support/SelectionToolbar/t9n/SelectionToolbar.json +1 -1
- package/assets/esri/widgets/support/SelectionToolbar/t9n/SelectionToolbar_en.json +1 -1
- package/chunks/ColorMaterial.glsl.js +1 -1
- package/chunks/ComponentShader.glsl.js +2 -2
- package/chunks/CutFillDepth.glsl.js +15 -0
- package/chunks/CutFillReduction.glsl.js +12 -0
- package/chunks/CutFillTargetDepth.glsl.js +6 -0
- package/chunks/DefaultMaterial.glsl.js +1 -1
- package/chunks/HUDMaterial.glsl.js +4 -4
- package/chunks/ImageMaterial.glsl.js +2 -2
- package/chunks/NativeLine.glsl.js +1 -1
- package/chunks/Path.glsl.js +6 -6
- package/chunks/Pattern.glsl.js +1 -1
- package/chunks/RealisticTree.glsl.js +1 -1
- package/chunks/RibbonLine.glsl.js +2 -2
- package/chunks/ShadedColorMaterial.glsl.js +1 -1
- package/chunks/SimpleAtmosphere.glsl.js +1 -1
- package/chunks/Terrain.glsl.js +4 -4
- package/chunks/WaterSurface.glsl.js +3 -3
- package/chunks/offsetOperator.js +1 -1
- package/config.js +1 -1
- package/core/Clonable.js +1 -1
- package/effects/FocusArea.js +1 -1
- package/geometry/Multipoint.js +1 -1
- package/geometry/operators/offsetOperator.js +1 -1
- package/geometry/support/boundsUtils.js +1 -1
- package/geometry/support/contains.js +1 -1
- package/geometry/support/curves/circleUtils.js +1 -1
- package/geometry/support/curves/circularArcUtils.js +1 -1
- package/geometry/support/curves/curveUtils.js +1 -1
- package/geometry/support/curves/ellipticArc7Utils.js +1 -1
- package/geometry/support/curves/rotate.js +5 -0
- package/geometry/support/extentUtils.js +1 -1
- package/geometry/support/rotate.js +1 -1
- package/graphic/ImageryGraphicOrigin.js +5 -0
- package/graphic/ImageryTileGraphicOrigin.js +5 -0
- package/graphic/WCSGraphicOrigin.js +5 -0
- package/graphic/isImageryGraphicOrigin.js +5 -0
- package/graphic/isImageryTileGraphicOrigin.js +5 -0
- package/graphic/isWCSGraphicOrigin.js +5 -0
- package/interfaces.d.ts +14 -17
- package/kernel.js +1 -1
- package/layers/CatalogLayer.js +1 -1
- package/layers/FeatureLayer.js +1 -1
- package/layers/GroundLayer.js +5 -0
- package/layers/ImageryLayer.js +1 -1
- package/layers/ImageryTileLayer.js +1 -1
- package/layers/IntegratedMesh3DTilesLayer.js +1 -1
- package/layers/IntegratedMeshLayer.js +1 -1
- package/layers/PointCloudLayer.js +1 -1
- package/layers/SceneLayer.js +1 -1
- package/layers/WCSLayer.js +1 -1
- package/layers/buildingSublayers/BuildingComponentSublayer.js +1 -1
- package/layers/catalog/CatalogFootprintLayer.js +1 -1
- package/layers/graphics/hydratedFeatures.js +1 -1
- package/layers/mixins/ArcGISImageService.js +1 -1
- package/layers/support/SceneFilter.js +1 -1
- package/package.json +2 -2
- package/support/revision.js +1 -1
- package/views/2d/engine/Stage.js +1 -1
- package/views/2d/engine/webgl/Profiler.js +1 -1
- package/views/2d/layers/ImageryLayerView2D.js +1 -1
- package/views/2d/layers/ImageryTileLayerView2D.js +1 -1
- package/views/2d/layers/features/layerAdapters/CatalogFootprintLayerAdapter.js +1 -1
- package/views/2d/layers/imagery/ImageryTileView2D.js +1 -1
- package/views/3d/analysis/VolumeMeasurement/{CutFillVolumeMeasurementComputation.js → VolumeMeasurementCutFillComputation.js} +1 -1
- package/views/3d/analysis/VolumeMeasurement/{CutFillVolumeMeasurementController.js → VolumeMeasurementCutFillController.js} +1 -1
- package/views/3d/analysis/VolumeMeasurement/{CutFillVolumeMeasurementVisualization.js → VolumeMeasurementCutFillVisualization.js} +1 -1
- package/views/3d/analysis/VolumeMeasurementAnalysisView3D.js +1 -1
- package/views/3d/layers/BuildingComponentSublayerView3D.js +1 -1
- package/views/3d/layers/CSVLayerView3D.js +1 -1
- package/views/3d/layers/CatalogFootprintLayerView3D.js +1 -1
- package/views/3d/layers/FeatureLayerView3D.js +1 -1
- package/views/3d/layers/FeatureLikeLayerView3D.js +1 -1
- package/views/3d/layers/GeoJSONLayerView3D.js +1 -1
- package/views/3d/layers/GraphicsLayerView3D.js +1 -1
- package/views/3d/layers/GraphicsView3D.js +1 -1
- package/views/3d/layers/IntegratedMesh3DTilesLayerView3D.js +1 -1
- package/views/3d/layers/IntegratedMeshLayerView3D.js +1 -1
- package/views/3d/layers/OGCFeatureLayerView3D.js +1 -1
- package/views/3d/layers/PointCloudLayerView3D.js +1 -1
- package/views/3d/layers/RouteLayerView3D.js +1 -1
- package/views/3d/layers/SceneLayerGraphicsView3D.js +1 -1
- package/views/3d/layers/SceneLayerView3D.js +1 -1
- package/views/3d/layers/StreamLayerView3D.js +1 -1
- package/views/3d/layers/WFSLayerView3D.js +1 -1
- package/views/3d/layers/graphics/Graphics3DCore.js +1 -1
- package/views/3d/layers/graphics/GraphicsProcessor.js +1 -1
- package/views/3d/layers/graphics/Labeler.js +1 -1
- package/views/3d/layers/graphics/QueryEngine.js +1 -1
- package/views/3d/layers/graphics/StreamController.js +1 -1
- package/views/3d/layers/graphics/pipeline/Feature3DPipelineWorkerHandle.js +1 -1
- package/views/3d/layers/graphics/pipeline/rendering/DirectRenderer.js +1 -1
- package/views/3d/layers/i3s/PointCloudRenderer.js +1 -1
- package/views/3d/layers/support/Tiles3DIntersectionHandler.js +1 -1
- package/views/3d/terrain/OverlayRenderTargets.js +1 -1
- package/views/3d/terrain/OverlayRenderer.js +1 -1
- package/views/3d/terrain/TerrainRenderer.js +1 -1
- package/views/3d/webgl-engine/collections/Component/Material/ComponentMaterial.js +1 -1
- package/views/3d/webgl-engine/collections/Component/Material/ComponentTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/collections/Component/Material/shader/ComponentData.glsl.js +2 -2
- package/views/3d/webgl-engine/core/FBOCache.js +1 -1
- package/views/3d/webgl-engine/core/FBOCacheFormats.js +1 -1
- package/views/3d/webgl-engine/core/renderPasses/RenderPassManager.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/ShaderOutput.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/ShaderOutputConfiguration.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/attributes/ObjectAndLayerIdColor.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/default/DefaultMaterialAuxiliaryPasses.glsl.js +4 -4
- package/views/3d/webgl-engine/core/shaderLibrary/output/OutputDepth.glsl.js +2 -0
- package/views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlight.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlightOverlay.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/terrain/Overlay.glsl.js +1 -1
- package/views/3d/webgl-engine/effects/focusArea/FocusAreaMaskNode.js +1 -1
- package/views/3d/webgl-engine/effects/geometry/ObjectAndLayerIDRenderNode.js +1 -1
- package/views/3d/webgl-engine/effects/geometry/RenderOccludedRenderNode.js +1 -1
- package/views/3d/webgl-engine/lib/BindParameters.js +1 -1
- package/views/3d/webgl-engine/lib/CutFillDepth.js +5 -0
- package/views/3d/webgl-engine/lib/DefaultVertexBufferLayouts.js +1 -1
- package/views/3d/webgl-engine/lib/MainFramebuffer.js +1 -1
- package/views/3d/webgl-engine/lib/Material.js +1 -1
- package/views/3d/webgl-engine/lib/Renderer.js +1 -1
- package/views/3d/webgl-engine/lib/ShadowMap.js +1 -1
- package/views/3d/webgl-engine/lib/SortedRenderGeometryRenderer.js +1 -1
- package/views/3d/webgl-engine/lib/ViewshedShadowMap.js +1 -1
- package/views/3d/webgl-engine/lib/lodRendering/LodRenderer.js +1 -1
- package/views/3d/webgl-engine/materials/ColorMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/DefaultTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/materials/LineMarkerMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/RibbonLineMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/ShadedColorMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/WaterTechnique.js +1 -1
- package/views/3d/webgl-engine/materials/renderers/VaoRenderer.js +1 -1
- package/views/3d/webgl-engine/shaders/CutFillDepth.glsl.js +5 -0
- package/views/3d/webgl-engine/shaders/CutFillDepthTechnique.js +5 -0
- package/views/3d/webgl-engine/shaders/CutFillReduction.glsl.js +5 -0
- package/views/3d/webgl-engine/shaders/CutFillReductionTechnique.js +5 -0
- package/views/3d/webgl-engine/shaders/CutFillTargetDepth.glsl.js +5 -0
- package/views/3d/webgl-engine/shaders/CutFillTargetDepthTechnique.js +5 -0
- package/views/3d/webgl-engine/shaders/HUDMaterialTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/OutputColorHighlightOID.glsl.js +1 -1
- package/views/3d/webgl.js +1 -1
- package/views/GroundView.js +1 -1
- package/views/draw/support/Box.js +1 -1
- package/views/draw/support/Reshape.js +1 -1
- package/views/draw/support/drawUtils.js +1 -1
- package/views/interactive/editGeometry/operations/RotateVertex.js +1 -1
- package/views/interactive/editGeometry/operations/curveOperationUtils.js +1 -1
- package/views/layers/ImageryLayerView.js +1 -1
- package/views/layers/ImageryTileLayerView.js +1 -1
- package/widgets/Editor/EditorViewModel.js +1 -1
- package/widgets/FeatureForm/FeatureFormUtilityNetworkAssociations/UtilityNetworkAssociationItemList.js +1 -1
- package/widgets/Sketch.js +1 -1
- package/widgets/support/SelectionToolbar/SelectionToolbarViewModel.js +1 -1
- package/widgets/support/SelectionToolbar/VisibleElements.js +1 -1
- package/widgets/support/SelectionToolbar.js +1 -1
- package/widgets/support/Selector2D/SelectionOperation.js +1 -1
- package/analysis/VolumeMeasurement/CutFillOptions.d.ts +0 -4
- package/assets/esri/core/workers/chunks/01e8b9dc77a57d1c2a52.js +0 -1
- package/assets/esri/core/workers/chunks/027cfcde29fe87aa2ffe.js +0 -1
- package/assets/esri/core/workers/chunks/03ee4d63aa8de44958ab.js +0 -1
- package/assets/esri/core/workers/chunks/07eea90733834313e9fa.js +0 -1
- package/assets/esri/core/workers/chunks/0a4586e596413ef7a4b5.js +0 -1
- package/assets/esri/core/workers/chunks/0a6d33d013628f671aea.js +0 -1
- package/assets/esri/core/workers/chunks/1166ed298cf5ca7ad444.js +0 -1
- package/assets/esri/core/workers/chunks/13797036850dcc3671c3.js +0 -1
- package/assets/esri/core/workers/chunks/18ceea59e469a0f2721b.js +0 -1
- package/assets/esri/core/workers/chunks/1a2278b9fe9666342728.js +0 -1
- package/assets/esri/core/workers/chunks/1e01aaebdeffdfc0c6bd.js +0 -1
- package/assets/esri/core/workers/chunks/1eee7cf11df01a52c1bf.js +0 -1
- package/assets/esri/core/workers/chunks/222f981e876f60ae282f.js +0 -1
- package/assets/esri/core/workers/chunks/24ac204d8a045aa821be.js +0 -1
- package/assets/esri/core/workers/chunks/27197b0a2ffb2b6104ea.js +0 -1
- package/assets/esri/core/workers/chunks/277941bec15525dbd3a0.js +0 -1
- package/assets/esri/core/workers/chunks/2c0241a5958aef9cda61.js +0 -1
- package/assets/esri/core/workers/chunks/2cb14d040e67a261b31c.js +0 -1
- package/assets/esri/core/workers/chunks/31c088966ccfff2ea1db.js +0 -1
- package/assets/esri/core/workers/chunks/3245d20ea4bb779f87ef.js +0 -1
- package/assets/esri/core/workers/chunks/3264d58aeef8cf074b86.js +0 -1
- package/assets/esri/core/workers/chunks/4162c633efefc63c5506.js +0 -1
- package/assets/esri/core/workers/chunks/435169b455fd2846799b.js +0 -1
- package/assets/esri/core/workers/chunks/46a470bea2a3601182dc.js +0 -1
- package/assets/esri/core/workers/chunks/4874aabdb5c60ca66216.js +0 -1
- package/assets/esri/core/workers/chunks/4b58da6cb91f7bf6af8b.js +0 -1
- package/assets/esri/core/workers/chunks/4fc267552939583a81a0.js +0 -1
- package/assets/esri/core/workers/chunks/527557b603400189d49a.js +0 -1
- package/assets/esri/core/workers/chunks/554c789f4e875d7e6fd5.js +0 -1
- package/assets/esri/core/workers/chunks/5900dde7a201a7d47469.js +0 -1
- package/assets/esri/core/workers/chunks/5b2ff220aebe464dac23.js +0 -1
- package/assets/esri/core/workers/chunks/5d331f7628514a572f82.js +0 -1
- package/assets/esri/core/workers/chunks/5f28470304b57e24d94c.js +0 -1
- package/assets/esri/core/workers/chunks/5f518931a660b3c4f519.js +0 -1
- package/assets/esri/core/workers/chunks/6530449cd1975deb61f1.js +0 -1
- package/assets/esri/core/workers/chunks/65e1f5b20a585e04655a.js +0 -1
- package/assets/esri/core/workers/chunks/66f3659ba18f92cd623e.js +0 -1
- package/assets/esri/core/workers/chunks/67355372ac5fd8a15d18.js +0 -1
- package/assets/esri/core/workers/chunks/6801b92bce7a918fda6f.js +0 -1
- package/assets/esri/core/workers/chunks/6940bb6524938894a246.js +0 -1
- package/assets/esri/core/workers/chunks/6b11476b2004b4db576e.js +0 -1
- package/assets/esri/core/workers/chunks/719450ccd455f503d81a.js +0 -1
- package/assets/esri/core/workers/chunks/71cac356874b36f9a383.js +0 -1
- package/assets/esri/core/workers/chunks/77ee4afaa4a1c7047940.js +0 -1
- package/assets/esri/core/workers/chunks/790e97ddbe318bc75415.js +0 -1
- package/assets/esri/core/workers/chunks/7b560ac0be93c6aa9940.js +0 -1
- package/assets/esri/core/workers/chunks/7bdfc7c7ce1d94c00745.js +0 -353
- package/assets/esri/core/workers/chunks/83737d86584bf1b32368.js +0 -1
- package/assets/esri/core/workers/chunks/855f25ce748aaef44b1a.js +0 -1
- package/assets/esri/core/workers/chunks/862fe2f96d4b777ff5b8.js +0 -1
- package/assets/esri/core/workers/chunks/87f68c2b9361bd3f8cac.js +0 -1
- package/assets/esri/core/workers/chunks/8fa50cac57b6e1ecec76.js +0 -1
- package/assets/esri/core/workers/chunks/9307108821d82c131654.js +0 -1
- package/assets/esri/core/workers/chunks/97a38d700f2cb8807d51.js +0 -1
- package/assets/esri/core/workers/chunks/9928e432b884c75c3436.js +0 -1
- package/assets/esri/core/workers/chunks/9b10e70f28873cff44f5.js +0 -1
- package/assets/esri/core/workers/chunks/9e9be7f6ea32957f1088.js +0 -33
- package/assets/esri/core/workers/chunks/9f178cf73c63caaea190.js +0 -1
- package/assets/esri/core/workers/chunks/a999f804fc2f00b2e7ae.js +0 -1
- package/assets/esri/core/workers/chunks/ae73ac81bd10614c2b53.js +0 -1
- package/assets/esri/core/workers/chunks/af4412e79275c5a87539.js +0 -1
- package/assets/esri/core/workers/chunks/b8158c681456d4cf2395.js +0 -1
- package/assets/esri/core/workers/chunks/c86e339e45900c54c9f5.js +0 -1
- package/assets/esri/core/workers/chunks/c91217d977a6baaee74a.js +0 -1
- package/assets/esri/core/workers/chunks/ca7c9756802214e41c56.js +0 -1
- package/assets/esri/core/workers/chunks/cb8f2ce22274990b359c.js +0 -1
- package/assets/esri/core/workers/chunks/cbec768cd98caff212f2.js +0 -1
- package/assets/esri/core/workers/chunks/d3a7747f23e91d1f1b5e.js +0 -1
- package/assets/esri/core/workers/chunks/d3ae88fcde2d7fb3e2e2.js +0 -1
- package/assets/esri/core/workers/chunks/d81c4afad4abe2d1d0b9.js +0 -1
- package/assets/esri/core/workers/chunks/d87fdc64a5cc6be4bd69.js +0 -1
- package/assets/esri/core/workers/chunks/db5d3feeb61ccb5ede98.js +0 -1
- package/assets/esri/core/workers/chunks/dfb12f42b8d319ffa5fc.js +0 -1
- package/assets/esri/core/workers/chunks/e666ca4d14b6490485d6.js +0 -1
- package/assets/esri/core/workers/chunks/ead1acf95c3385630da8.js +0 -1001
- package/assets/esri/core/workers/chunks/f1c50f37a81c672263a1.js +0 -1
- package/assets/esri/core/workers/chunks/f3e3c2340452c1d60c95.js +0 -1
- package/assets/esri/core/workers/chunks/f4d7cbd33ef8710d7316.js +0 -1
- package/assets/esri/core/workers/chunks/f74b0cdc1c2b56bac5f0.js +0 -1
- package/assets/esri/core/workers/chunks/f807e7fc90e0e7ce6b67.js +0 -1
- package/assets/esri/core/workers/chunks/ff323db554c9e09749e8.js +0 -1
- package/assets/esri/core/workers/chunks/ff4e15a872de94d2b438.js +0 -1
- /package/assets/esri/core/workers/chunks/{3490d47cac7c8dec70cd.js.LICENSE.txt → c9c109d43a1e5160955d.js.LICENSE.txt} +0 -0
|
@@ -0,0 +1,353 @@
|
|
|
1
|
+
"use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[7277],{620:(e,t,r)=>{r.d(t,{O_:()=>s,vA:()=>i}),r(48163),r(87317),(0,r(91829).vt)();class n{constructor(e){this.message=e}toString(){return`AssertException: ${this.message}`}}function i(e,t="Assertion"){if(!e){const e=new Error(t).stack;throw new n(`${t} at ${e}`)}}function s(e,t,r,n){let i,s=(r[0]-e[0])/t[0],o=(n[0]-e[0])/t[0];s>o&&(i=s,s=o,o=i);let a=(r[1]-e[1])/t[1],l=(n[1]-e[1])/t[1];if(a>l&&(i=a,a=l,l=i),s>l||a>o)return!1;a>s&&(s=a),l<o&&(o=l);let c=(r[2]-e[2])/t[2],u=(n[2]-e[2])/t[2];return c>u&&(i=c,c=u,u=i),!(s>u||c>o||(u<o&&(o=u),o<0))}},2272:(e,t,r)=>{r.d(t,{Dl:()=>c,gf:()=>d,jV:()=>l,lF:()=>u});var n=r(92602),i=r(70333),s=r(4718),o=r(84952),a=r(926);function l(e,t){return t?{...t,query:{...e,...t.query}}:{query:e}}function c(e){return"string"==typeof e?(0,o.An)(e):(0,s.o8)(e)}function u(e,t,r){const n={};for(const i in e){if("declaredClass"===i)continue;const s=e[i];if(null!=s&&"function"!=typeof s)if(Array.isArray(s))n[i]=s.map(e=>u(e));else if("object"==typeof s)if(s.toJSON){const e=s.toJSON(r?.[i]);n[i]=t?e:JSON.stringify(e)}else n[i]=t?s:JSON.stringify(s);else n[i]=s}return n}async function d(e,t,s){const o=function(e,t){return e?t&&(0,a.Qc)(e)?t:(0,a.CG)(e)??i.id?.findCredential(e)?.token:null}(e,t);if(o)return o;!i.id&&n.A.request.useIdentity&&await Promise.all([r.e(7330),r.e(4813),r.e(3747)]).then(r.bind(r,73747));const l=await i.id.getCredential(e,s);return l?.token}},6797:(e,t,r)=>{r.d(t,{Mj:()=>f,Ui:()=>p,w2:()=>h});var n=r(65008),i=r(7762),s=r(88620);const o=new Set(["esri.Color","esri.portal.Portal","esri.symbols.support.Symbol3DAnchorPosition2D","esri.symbols.support.Symbol3DAnchorPosition3D"]);function a(e){return e instanceof n.A}function l(e){return e instanceof i.A?Object.keys(e.items):a(e)?(0,s.oY)(e).keys():e?Object.keys(e):[]}function c(e,t){return e instanceof i.A?e.items[t]:e[t]}function u(e){return e?e.declaredClass:null}function d(e,t){const r=e.diff;if(r&&"function"==typeof r)return r(e,t);const n=l(e),i=l(t);if(0===n.length&&0===i.length)return;if(!n.length||!i.length||function(e,t){return!(!Array.isArray(e)||!Array.isArray(t))&&e.length!==t.length}(e,t))return{type:"complete",oldValue:e,newValue:t};const s=i.filter(e=>!n.includes(e)),f=n.filter(e=>!i.includes(e)),h=n.filter(r=>i.includes(r)&&c(e,r)!==c(t,r)).concat(s,f).sort(),p=u(e);if(p&&o.has(p)&&h.length)return{type:"complete",oldValue:e,newValue:t};let m;const y=a(e)&&a(t);for(const n of h){const i=c(e,n),s=c(t,n);let o;if((y||"function"!=typeof i&&"function"!=typeof s)&&i!==s&&(null!=i||null!=s)){if(r&&r[n]&&"function"==typeof r[n])o=r[n]?.(i,s);else if(i instanceof Date&&s instanceof Date){if(i.getTime()===s.getTime())continue;o={type:"complete",oldValue:i,newValue:s}}else o="object"==typeof i&&"object"==typeof s&&u(i)===u(s)?d(i,s):{type:"complete",oldValue:i,newValue:s};null!=o&&(null!=m?m.diff[n]=o:m={type:"partial",diff:{[n]:o}})}}return m}function f(e,t){return function(e,t){if(null==e)return!1;const r=t.split(".");let n=e;for(const e of r){if("complete"===n.type)return!0;if("partial"!==n.type)return!1;{const t=n.diff[e];if(!t)return!1;n=t}}return!0}(e,t)}function h(e,t){if(!e)return!1;if("partial"===e.type){const r=Object.keys(e.diff);return 1===r.length&&r[0]===t}return!1}function p(e,t){if("function"!=typeof e&&"function"!=typeof t&&(null!=e||null!=t))return null==e||null==t||"object"==typeof e&&"object"==typeof t&&u(e)!==u(t)?{type:"complete",oldValue:e,newValue:t}:d(e,t)}},9762:(e,t,r)=>{r.r(t),r.d(t,{projectBuffer:()=>i});var n=r(37539);function i(e,t,r,i,s,o,a=Math.floor(e.length/3)){const l=(0,n.jd)(t,s);if(null==l)return!1;if(l===n.pO){if(e===i&&r===o)return!0;const t=r+3*a;for(let n=r,s=o;n<t;n++,s++)i[s]=e[n];return!0}const c=r+3*a;for(let t=r,n=o;t<c;t+=3,n+=3)l(e,t,i,n);return!0}},10536:(e,t,r)=>{function n(e){const t={};for(const r in e){if("declaredClass"===r)continue;const i=e[r];if(null!=i&&"function"!=typeof i)if(Array.isArray(i)){t[r]=[];for(let e=0;e<i.length;e++)t[r][e]=n(i[e])}else"object"==typeof i?i.toJSON&&(t[r]=JSON.stringify(i)):t[r]=i}return t}r.d(t,{z:()=>n})},13030:(e,t,r)=>{r.d(t,{Y$:()=>m,XW:()=>p,qB:()=>A,Qt:()=>$,My:()=>W,bf:()=>q,jZ:()=>x,j0:()=>C,Sx:()=>S,E$:()=>T,h:()=>F,P:()=>V,SL:()=>M,gH:()=>g,ZD:()=>y,si:()=>I,mJ:()=>Y,UL:()=>J,D6:()=>G,Yi:()=>j,An:()=>z,LC:()=>R,xs:()=>b,EC:()=>_,Xm:()=>P,Vp:()=>Z,zD:()=>Q,m8:()=>N,nS:()=>D,H$:()=>L,eI:()=>O,Eq:()=>w,jz:()=>v,Aj:()=>B,E7:()=>X,Y4:()=>K,TX:()=>H,Uz:()=>k,ml:()=>U,XP:()=>E});var n=r(20498);class i{static{this.ElementCount=9}constructor(e,t,r=0,n,i){this.TypedArrayConstructor=e,this.elementCount=9;const s=this.TypedArrayConstructor;void 0===n&&(n=9*s.BYTES_PER_ELEMENT);const o=0===t.byteLength?0:r;this.typedBuffer=null==i?new s(t,o):new s(t,o,(i-r)/s.BYTES_PER_ELEMENT),this.typedBufferStride=n/s.BYTES_PER_ELEMENT,this.count=Math.ceil(this.typedBuffer.length/this.typedBufferStride),this.stride=this.typedBufferStride*this.TypedArrayConstructor.BYTES_PER_ELEMENT}sliceBuffer(e,t,r=this.count-t){const n=this.typedBuffer.byteOffset+t*this.stride;return new e(this.buffer,n,this.stride,n+r*this.stride)}getMat(e,t){let r=e*this.typedBufferStride;for(let e=0;e<9;e++)t[e]=this.typedBuffer[r++];return t}setMat(e,t){let r=e*this.typedBufferStride;for(let e=0;e<9;e++)this.typedBuffer[r++]=t[e]}get(e,t){return this.typedBuffer[e*this.typedBufferStride+t]}set(e,t,r){this.typedBuffer[e*this.typedBufferStride+t]=r}copyFrom(e,t,r){const n=this.typedBuffer,i=t.typedBuffer;let s=e*this.typedBufferStride,o=r*t.typedBufferStride;for(let e=0;e<9;++e)n[s++]=i[o++]}get buffer(){return this.typedBuffer.buffer}}class s{static{this.ElementCount=16}constructor(e,t,r=0,n,i){this.TypedArrayConstructor=e,this.elementCount=16;const s=this.TypedArrayConstructor;void 0===n&&(n=16*s.BYTES_PER_ELEMENT);const o=0===t.byteLength?0:r;this.typedBuffer=null==i?new s(t,o):new s(t,o,(i-r)/s.BYTES_PER_ELEMENT),this.typedBufferStride=n/s.BYTES_PER_ELEMENT,this.count=Math.ceil(this.typedBuffer.length/this.typedBufferStride),this.stride=this.typedBufferStride*this.TypedArrayConstructor.BYTES_PER_ELEMENT}sliceBuffer(e,t,r=this.count-t){const n=this.typedBuffer.byteOffset+t*this.stride;return new e(this.buffer,n,this.stride,n+r*this.stride)}getMat(e,t){let r=e*this.typedBufferStride;for(let e=0;e<16;e++)t[e]=this.typedBuffer[r++];return t}setMat(e,t){let r=e*this.typedBufferStride;for(let e=0;e<16;e++)this.typedBuffer[r++]=t[e]}get(e,t){return this.typedBuffer[e*this.typedBufferStride+t]}set(e,t,r){this.typedBuffer[e*this.typedBufferStride+t]=r}copyFrom(e,t,r){this.copyFromTypedBuffer(e,t.typedBuffer,r*t.typedBufferStride)}copyFromTypedBuffer(e,t,r){const n=this.typedBuffer;let i=e*this.typedBufferStride;for(let e=0;e<16;++e)n[i++]=t[r++]}get buffer(){return this.typedBuffer.buffer}}class o{static{this.ElementCount=1}constructor(e,t,r=0,n,i){this.TypedArrayConstructor=e,this.elementCount=1;const s=this.TypedArrayConstructor;void 0===n&&(n=s.BYTES_PER_ELEMENT);const o=0===t.byteLength?0:r;this.typedBuffer=null==i?new s(t,o):new s(t,o,(i-r)/s.BYTES_PER_ELEMENT),this.stride=n,this.typedBufferStride=n/s.BYTES_PER_ELEMENT,this.count=Math.ceil(this.typedBuffer.length/this.typedBufferStride)}sliceBuffer(e,t,r=this.count-t){const n=this.typedBuffer.byteOffset+t*this.stride;return new e(this.buffer,n,this.stride,n+r*this.stride)}get(e){return this.typedBuffer[e*this.typedBufferStride]}set(e,t){this.typedBuffer[e*this.typedBufferStride]=t}get buffer(){return this.typedBuffer.buffer}}var a=r(37585);class l{static{this.ElementCount=2}constructor(e,t,r=0,n,i){this.TypedArrayConstructor=e,this.start=r,this.elementCount=2;const s=this.TypedArrayConstructor;void 0===n&&(n=2*s.BYTES_PER_ELEMENT);const o=0===t.byteLength?0:r;this.typedBuffer=null==i?new s(t,o):new s(t,o,(i-r)/s.BYTES_PER_ELEMENT),this.typedBufferStride=n/s.BYTES_PER_ELEMENT,this.count=Math.ceil(this.typedBuffer.length/this.typedBufferStride),this.stride=this.typedBufferStride*this.TypedArrayConstructor.BYTES_PER_ELEMENT}sliceBuffer(e,t,r=this.count-t){const n=this.typedBuffer.byteOffset+t*this.stride;return new e(this.buffer,n,this.stride,n+r*this.stride)}getVec(e,t){return e*=this.typedBufferStride,(0,a.hZ)(t,this.typedBuffer[e],this.typedBuffer[e+1])}setVec(e,t){e*=this.typedBufferStride,this.typedBuffer[e++]=t[0],this.typedBuffer[e]=t[1]}get(e,t){return this.typedBuffer[e*this.typedBufferStride+t]}set(e,t,r){this.typedBuffer[e*this.typedBufferStride+t]=r}setValues(e,t,r){e*=this.typedBufferStride,this.typedBuffer[e++]=t,this.typedBuffer[e]=r}copyFrom(e,t,r){const n=this.typedBuffer,i=t.typedBuffer;let s=e*this.typedBufferStride,o=r*t.typedBufferStride;n[s++]=i[o++],n[s]=i[o]}get buffer(){return this.typedBuffer.buffer}}var c=r(38954);class u{static{this.ElementCount=3}constructor(e,t,r=0,n,i){this.TypedArrayConstructor=e,this.elementCount=3;const s=this.TypedArrayConstructor;void 0===n&&(n=3*s.BYTES_PER_ELEMENT);const o=0===t.byteLength?0:r;this.typedBuffer=null==i?new s(t,o):new s(t,o,(i-r)/s.BYTES_PER_ELEMENT),this.typedBufferStride=n/s.BYTES_PER_ELEMENT,this.count=Math.ceil(this.typedBuffer.length/this.typedBufferStride),this.stride=this.typedBufferStride*this.TypedArrayConstructor.BYTES_PER_ELEMENT}sliceBuffer(e,t,r=this.count-t){const n=this.typedBuffer.byteOffset+t*this.stride;return new e(this.buffer,n,this.stride,n+r*this.stride)}getVec(e,t){return e*=this.typedBufferStride,(0,c.i)(t,this.typedBuffer[e],this.typedBuffer[e+1],this.typedBuffer[e+2])}setVec(e,t){e*=this.typedBufferStride,this.typedBuffer[e++]=t[0],this.typedBuffer[e++]=t[1],this.typedBuffer[e]=t[2]}get(e,t){return this.typedBuffer[e*this.typedBufferStride+t]}set(e,t,r){this.typedBuffer[e*this.typedBufferStride+t]=r}setValues(e,t,r,n){e*=this.typedBufferStride,this.typedBuffer[e++]=t,this.typedBuffer[e++]=r,this.typedBuffer[e]=n}copyFrom(e,t,r){const n=this.typedBuffer,i=t.typedBuffer;let s=e*this.typedBufferStride,o=r*t.typedBufferStride;n[s++]=i[o++],n[s++]=i[o++],n[s]=i[o]}get buffer(){return this.typedBuffer.buffer}}var d=r(87317);class f{static{this.ElementCount=4}constructor(e,t,r=0,n,i){this.TypedArrayConstructor=e,this.start=r,this.elementCount=4;const s=this.TypedArrayConstructor;void 0===n&&(n=4*s.BYTES_PER_ELEMENT);const o=0===t.byteLength?0:r;this.typedBuffer=null==i?new s(t,o):new s(t,o,(i-r)/s.BYTES_PER_ELEMENT),this.typedBufferStride=n/s.BYTES_PER_ELEMENT,this.count=Math.ceil(this.typedBuffer.length/this.typedBufferStride),this.stride=this.typedBufferStride*this.TypedArrayConstructor.BYTES_PER_ELEMENT}sliceBuffer(e,t,r=this.count-t){const n=this.typedBuffer.byteOffset+t*this.stride;return new e(this.buffer,n,this.stride,n+r*this.stride)}getVec(e,t){return e*=this.typedBufferStride,(0,d.s)(t,this.typedBuffer[e++],this.typedBuffer[e++],this.typedBuffer[e++],this.typedBuffer[e])}setVec(e,t){e*=this.typedBufferStride,this.typedBuffer[e++]=t[0],this.typedBuffer[e++]=t[1],this.typedBuffer[e++]=t[2],this.typedBuffer[e]=t[3]}get(e,t){return this.typedBuffer[e*this.typedBufferStride+t]}set(e,t,r){this.typedBuffer[e*this.typedBufferStride+t]=r}setValues(e,t,r,n,i){e*=this.typedBufferStride,this.typedBuffer[e++]=t,this.typedBuffer[e++]=r,this.typedBuffer[e++]=n,this.typedBuffer[e]=i}copyFrom(e,t,r){const n=this.typedBuffer,i=t.typedBuffer;let s=e*this.typedBufferStride,o=r*t.typedBufferStride;n[s++]=i[o++],n[s++]=i[o++],n[s++]=i[o++],n[s]=i[o]}get buffer(){return this.typedBuffer.buffer}}var h=r(620);class p extends o{constructor(e,t=0,r,i){(0,h.vA)(n.SX),super((0,n.pX)(),e,t,r,i),this.elementType="f16"}static{this.ElementType="f16"}}class m extends o{constructor(e,t=0,r,n){super(Float32Array,e,t,r,n),this.elementType="f32"}static{this.ElementType="f32"}}class y extends l{constructor(e,t=0,r,i){(0,h.vA)(n.SX),super((0,n.pX)(),e,t,r,i),this.elementType="f16"}slice(e,t){return this.sliceBuffer(y,e,t)}static{this.ElementType="f16"}}class g extends l{constructor(e,t=0,r,n){super(Float32Array,e,t,r,n),this.elementType="f32"}slice(e,t){return this.sliceBuffer(g,e,t)}static{this.ElementType="f32"}}class _ extends u{constructor(e,t=0,r,i){(0,h.vA)(n.SX),super((0,n.pX)(),e,t,r,i),this.elementType="f16"}slice(e,t){return this.sliceBuffer(_,e,t)}static{this.ElementType="f16"}}class b extends u{constructor(e,t=0,r,n){super(Float32Array,e,t,r,n),this.elementType="f32"}slice(e,t){return this.sliceBuffer(b,e,t)}static fromTypedArray(e,t){return new b(e.buffer,e.byteOffset,t,e.byteOffset+e.byteLength)}static{this.ElementType="f32"}}class v extends f{constructor(e,t=0,r,i){(0,h.vA)(n.SX),super((0,n.pX)(),e,t,r,i),this.elementType="f16"}slice(e,t){return this.sliceBuffer(v,e,t)}static{this.ElementType="f16"}}class w extends f{constructor(e,t=0,r,n){super(Float32Array,e,t,r,n),this.elementType="f32"}slice(e,t){return this.sliceBuffer(w,e,t)}static{this.ElementType="f32"}}class x extends i{constructor(e,t=0,r,n){super(Float32Array,e,t,r,n),this.elementType="f32"}slice(e,t){return this.sliceBuffer(x,e,t)}static{this.ElementType="f32"}}class C extends i{constructor(e,t=0,r,n){super(Float64Array,e,t,r,n),this.elementType="f64"}slice(e,t){return this.sliceBuffer(C,e,t)}static{this.ElementType="f64"}}class S extends s{constructor(e,t=0,r,n){super(Float32Array,e,t,r,n),this.elementType="f32"}slice(e,t){return this.sliceBuffer(S,e,t)}static{this.ElementType="f32"}}class T extends s{constructor(e,t=0,r,n){super(Float64Array,e,t,r,n),this.elementType="f64"}slice(e,t){return this.sliceBuffer(T,e,t)}static{this.ElementType="f64"}}class A extends o{constructor(e,t=0,r,n){super(Float64Array,e,t,r,n),this.elementType="f64"}slice(e,t){return this.sliceBuffer(A,e,t)}static{this.ElementType="f64"}}class I extends l{constructor(e,t=0,r,n){super(Float64Array,e,t,r,n),this.elementType="f64"}slice(e,t){return this.sliceBuffer(I,e,t)}static{this.ElementType="f64"}}class P extends u{constructor(e,t=0,r,n){super(Float64Array,e,t,r,n),this.elementType="f64"}slice(e,t){return this.sliceBuffer(P,e,t)}static fromTypedArray(e,t){return new P(e.buffer,e.byteOffset,t,e.byteOffset+e.byteLength)}static{this.ElementType="f64"}}class B extends f{constructor(e,t=0,r,n){super(Float64Array,e,t,r,n),this.elementType="f64"}slice(e,t){return this.sliceBuffer(B,e,t)}static{this.ElementType="f64"}}class M extends o{constructor(e,t=0,r,n){super(Uint8Array,e,t,r,n),this.elementType="u8"}slice(e,t){return this.sliceBuffer(M,e,t)}static{this.ElementType="u8"}}class R extends l{constructor(e,t=0,r,n){super(Uint8Array,e,t,r,n),this.elementType="u8"}slice(e,t){return this.sliceBuffer(R,e,t)}static{this.ElementType="u8"}}class O extends u{constructor(e,t=0,r,n){super(Uint8Array,e,t,r,n),this.elementType="u8"}slice(e,t){return this.sliceBuffer(O,e,t)}static fromTypedArray(e,t){return new O(e.buffer,e.byteOffset,t,e.byteOffset+e.byteLength)}static{this.ElementType="u8"}}class E extends f{constructor(e,t=0,r,n){super(Uint8Array,e,t,r,n),this.elementType="u8"}slice(e,t){return this.sliceBuffer(E,e,t)}static{this.ElementType="u8"}}class F extends o{constructor(e,t=0,r,n){super(Uint16Array,e,t,r,n),this.elementType="u16"}slice(e,t){return this.sliceBuffer(F,e,t)}static{this.ElementType="u16"}}class j extends l{constructor(e,t=0,r,n){super(Uint16Array,e,t,r,n),this.elementType="u16"}slice(e,t){return this.sliceBuffer(j,e,t)}static{this.ElementType="u16"}}class D extends u{constructor(e,t=0,r,n){super(Uint16Array,e,t,r,n),this.elementType="u16"}slice(e,t){return this.sliceBuffer(D,e,t)}static{this.ElementType="u16"}}class k extends f{constructor(e,t=0,r,n){super(Uint16Array,e,t,r,n),this.elementType="u16"}slice(e,t){return this.sliceBuffer(k,e,t)}static{this.ElementType="u16"}}class V extends o{constructor(e,t=0,r,n){super(Uint32Array,e,t,r,n),this.elementType="u32"}slice(e,t){return this.sliceBuffer(V,e,t)}static{this.ElementType="u32"}}class z extends l{constructor(e,t=0,r,n){super(Uint32Array,e,t,r,n),this.elementType="u32"}slice(e,t){return this.sliceBuffer(z,e,t)}static{this.ElementType="u32"}}class L extends u{constructor(e,t=0,r,n){super(Uint32Array,e,t,r,n),this.elementType="u32"}slice(e,t){return this.sliceBuffer(L,e,t)}static{this.ElementType="u32"}}class U extends f{constructor(e,t=0,r,n){super(Uint32Array,e,t,r,n),this.elementType="u32"}slice(e,t){return this.sliceBuffer(U,e,t)}static{this.ElementType="u32"}}class q extends o{constructor(e,t=0,r,n){super(Int8Array,e,t,r,n),this.elementType="i8"}slice(e,t){return this.sliceBuffer(q,e,t)}static{this.ElementType="i8"}}class G extends l{constructor(e,t=0,r,n){super(Int8Array,e,t,r,n),this.elementType="i8"}slice(e,t){return this.sliceBuffer(G,e,t)}static{this.ElementType="i8"}}class N extends u{constructor(e,t=0,r,n){super(Int8Array,e,t,r,n),this.elementType="i8"}slice(e,t){return this.sliceBuffer(N,e,t)}static{this.ElementType="i8"}}class H extends f{constructor(e,t=0,r,n){super(Int8Array,e,t,r,n),this.elementType="i8"}slice(e,t){return this.sliceBuffer(H,e,t)}static{this.ElementType="i8"}}class $ extends o{constructor(e,t=0,r,n){super(Int16Array,e,t,r,n),this.elementType="i16"}slice(e,t){return this.sliceBuffer($,e,t)}static{this.ElementType="i16"}}class Y extends l{constructor(e,t=0,r,n){super(Int16Array,e,t,r,n),this.elementType="i16"}slice(e,t){return this.sliceBuffer(Y,e,t)}static{this.ElementType="i16"}}class Z extends u{constructor(e,t=0,r,n){super(Int16Array,e,t,r,n),this.elementType="i16"}slice(e,t){return this.sliceBuffer(Z,e,t)}static{this.ElementType="i16"}}class X extends f{constructor(e,t=0,r,n){super(Int16Array,e,t,r,n),this.elementType="i16"}slice(e,t){return this.sliceBuffer(X,e,t)}static{this.ElementType="i16"}}class W extends o{constructor(e,t=0,r,n){super(Int32Array,e,t,r,n),this.elementType="i32"}slice(e,t){return this.sliceBuffer(W,e,t)}static{this.ElementType="i32"}}class J extends l{constructor(e,t=0,r,n){super(Int32Array,e,t,r,n),this.elementType="i32"}slice(e,t){return this.sliceBuffer(J,e,t)}static{this.ElementType="i32"}}class Q extends u{constructor(e,t=0,r,n){super(Int32Array,e,t,r,n),this.elementType="i32"}slice(e,t){return this.sliceBuffer(Q,e,t)}static{this.ElementType="i32"}}class K extends f{constructor(e,t=0,r,n){super(Int32Array,e,t,r,n),this.elementType="i32"}slice(e,t){return this.sliceBuffer(K,e,t)}static{this.ElementType="i32"}}},13259:(e,t,r)=>{r.d(t,{H:()=>D,b:()=>M,c:()=>O,f:()=>F});var n=r(37585),i=r(48163),s=r(91829),o=r(79258),a=r(76591),l=r(36782),c=r(47522),u=r(40268),d=r(63578),f=r(50832),h=r(42593),p=r(42398),m=r(63365),y=r(26835),g=r(52587),_=r(25178),b=r(47286),v=r(14314),w=r(81961),x=r(71988),C=r(33094),S=r(20304),T=r(31821),A=r(12791),I=r(63761),P=r(14113),B=r(49788);function M(e){const t=new P.N5,{signedDistanceFieldEnabled:r,occlusionTestEnabled:i,horizonCullingEnabled:M,pixelSnappingEnabled:F,hasScreenSizePerspective:D,debugDrawLabelBorder:k,hasVVSize:V,hasVVColor:z,hasRotation:L,occludedFragmentFade:U,sampleSignedDistanceFieldTexelCenter:q}=e;t.include(u.Q,e),t.vertex.include(a.rA,e);const{occlusionPass:G,output:N,oitPass:H}=e;if(G)return t.include(d.I,e),t;const{vertex:$,fragment:Y}=t;t.include(g.Y6),t.include(p.A,e),t.include(l.g,e),i&&t.include(f.y),Y.include(y.W),Y.include(m.a),t.varyings.add("vcolor","vec4"),t.varyings.add("vtc","vec2"),t.varyings.add("vsize","vec2");const Z=9===N,X=Z&&i;X&&t.varyings.add("voccluded","float"),$.uniforms.add(new v.I("viewport",e=>e.camera.fullViewport),new b.G("screenOffset",(e,t)=>(0,n.hZ)(E,2*e.screenOffset[0]*t.camera.pixelRatio,2*e.screenOffset[1]*t.camera.pixelRatio)),new b.G("anchorPosition",e=>O(e)),new x.E("materialColor",e=>e.color),new S.m("materialRotation",e=>e.rotation),new I.N("tex",e=>e.texture)),(0,_.Nz)($),r&&($.uniforms.add(new x.E("outlineColor",e=>e.outlineColor)),Y.uniforms.add(new x.E("outlineColor",e=>R(e)?e.outlineColor:s.uY),new S.m("outlineSize",e=>R(e)?e.outlineSize:0))),M&&$.uniforms.add(new w.V("pointDistanceSphere",(e,t)=>{const r=t.camera.eye,n=e.origin;return(0,s.fA)(n[0]-r[0],n[1]-r[1],n[2]-r[2],o.$O.radius)})),F&&$.include(c.K),D&&((0,g.pM)($),(0,g.OH)($)),k&&t.varyings.add("debugBorderCoords","vec4"),t.attributes.add("uvi","vec2"),t.attributes.add("color","vec4"),t.attributes.add("size","vec2"),t.attributes.add("rotation","float"),(V||z)&&t.attributes.add("featureAttribute","vec4"),$.code.add(M?T.H`bool behindHorizon(vec3 posModel) {
|
|
2
|
+
vec3 camToEarthCenter = pointDistanceSphere.xyz - localOrigin;
|
|
3
|
+
vec3 camToPos = pointDistanceSphere.xyz + posModel;
|
|
4
|
+
float earthRadius = pointDistanceSphere.w;
|
|
5
|
+
float a = dot(camToPos, camToPos);
|
|
6
|
+
float b = dot(camToPos, camToEarthCenter);
|
|
7
|
+
float c = dot(camToEarthCenter, camToEarthCenter) - earthRadius * earthRadius;
|
|
8
|
+
return b > 0.0 && b < a && b * b > a * c;
|
|
9
|
+
}`:T.H`bool behindHorizon(vec3 posModel) { return false; }`),$.main.add(T.H`
|
|
10
|
+
ProjectHUDAux projectAux;
|
|
11
|
+
vec4 posProj = projectPositionHUD(projectAux);
|
|
12
|
+
forwardObjectAndLayerIdColor();
|
|
13
|
+
|
|
14
|
+
if (rejectBySlice(projectAux.posModel)) {
|
|
15
|
+
// Project outside of clip plane
|
|
16
|
+
gl_Position = vec4(1e038, 1e038, 1e038, 1.0);
|
|
17
|
+
return;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
if (behindHorizon(projectAux.posModel)) {
|
|
21
|
+
// Project outside of clip plane
|
|
22
|
+
gl_Position = vec4(1e038, 1e038, 1e038, 1.0);
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
vec2 inputSize;
|
|
27
|
+
${(0,T.If)(D,T.H`
|
|
28
|
+
inputSize = screenSizePerspectiveScaleVec2(size, projectAux.absCosAngle, projectAux.distanceToCamera, screenSizePerspective);
|
|
29
|
+
vec2 screenOffsetScaled = screenSizePerspectiveScaleVec2(screenOffset, projectAux.absCosAngle, projectAux.distanceToCamera, screenSizePerspectiveAlignment);`,T.H`
|
|
30
|
+
inputSize = size;
|
|
31
|
+
vec2 screenOffsetScaled = screenOffset;`)}
|
|
32
|
+
${(0,T.If)(V,T.H`inputSize *= vvScale(featureAttribute).xx;`)}
|
|
33
|
+
|
|
34
|
+
vec2 combinedSize = inputSize * pixelRatio;
|
|
35
|
+
vec4 quadOffset = vec4(0.0);
|
|
36
|
+
|
|
37
|
+
${(0,T.If)(i,T.H`
|
|
38
|
+
bool visible = testHUDVisibility(posProj);
|
|
39
|
+
if (!visible) {
|
|
40
|
+
vtc = vec2(0.0);
|
|
41
|
+
${(0,T.If)(k,"debugBorderCoords = vec4(0.5, 0.5, 1.5 / combinedSize);")}
|
|
42
|
+
return;
|
|
43
|
+
}`)}
|
|
44
|
+
${(0,T.If)(X,T.H`voccluded = visible ? 0.0 : 1.0;`)}
|
|
45
|
+
`);const W=T.H`
|
|
46
|
+
vec2 uvi1 = vec2(uvi.x < 0.0 ? 1.0 : 0.0, uvi.y < 0.0 ? 1.0 : 0.0);
|
|
47
|
+
vec2 uv = abs(uvi + uvi1);
|
|
48
|
+
vec2 texSize = vec2(textureSize(tex, 0));
|
|
49
|
+
uv.x = uv.x >= ${j} ? 1.0 : uv.x / texSize.x;
|
|
50
|
+
uv.y = uv.y >= ${j} ? 1.0 : uv.y / texSize.y;
|
|
51
|
+
quadOffset.xy = (uvi1 - anchorPosition) * 2.0 * combinedSize;
|
|
52
|
+
|
|
53
|
+
${(0,T.If)(L,T.H`
|
|
54
|
+
float angle = radians(materialRotation + rotation);
|
|
55
|
+
float cosAngle = cos(angle);
|
|
56
|
+
float sinAngle = sin(angle);
|
|
57
|
+
mat2 rotate = mat2(cosAngle, -sinAngle, sinAngle, cosAngle);
|
|
58
|
+
|
|
59
|
+
quadOffset.xy = rotate * quadOffset.xy;
|
|
60
|
+
`)}
|
|
61
|
+
|
|
62
|
+
quadOffset.xy = (quadOffset.xy + screenOffsetScaled) / viewport.zw * posProj.w;
|
|
63
|
+
`,J=F?r?T.H`posProj = alignToPixelOrigin(posProj, viewport.zw) + quadOffset;`:T.H`posProj += quadOffset;
|
|
64
|
+
if (inputSize.x == size.x) {
|
|
65
|
+
posProj = alignToPixelOrigin(posProj, viewport.zw);
|
|
66
|
+
}`:T.H`posProj += quadOffset;`;$.main.add(T.H`
|
|
67
|
+
${W}
|
|
68
|
+
${z?"vcolor = interpolateVVColor(featureAttribute.y) * materialColor;":"vcolor = color / 255.0 * materialColor;"}
|
|
69
|
+
|
|
70
|
+
${(0,T.If)(10===N,T.H`vcolor.a = 1.0;`)}
|
|
71
|
+
|
|
72
|
+
bool alphaDiscard = vcolor.a < ${T.H.float(B.Q)};
|
|
73
|
+
${(0,T.If)(r,`alphaDiscard = alphaDiscard && outlineColor.a < ${T.H.float(B.Q)};`)}
|
|
74
|
+
if (alphaDiscard) {
|
|
75
|
+
// "early discard" if both symbol color (= fill) and outline color (if applicable) are transparent
|
|
76
|
+
gl_Position = vec4(1e38, 1e38, 1e38, 1.0);
|
|
77
|
+
return;
|
|
78
|
+
} else {
|
|
79
|
+
${J}
|
|
80
|
+
gl_Position = posProj;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
vtc = uv;
|
|
84
|
+
|
|
85
|
+
${(0,T.If)(k,T.H`debugBorderCoords = vec4(uv01, 1.5 / combinedSize);`)}
|
|
86
|
+
vsize = inputSize;
|
|
87
|
+
`),Y.uniforms.add(new I.N("tex",e=>e.texture)),U&&!Z&&Y.uniforms.add(new A.x("depthMap",e=>e.mainDepth),new C.U("occludedOpacity",e=>e.hudOccludedFragmentOpacity));const Q=k?T.H`(isBorder > 0.0 ? 0.0 : ${T.H.float(B.Q)})`:T.H.float(B.Q),K=T.H`
|
|
88
|
+
${(0,T.If)(k,T.H`float isBorder = float(any(lessThan(debugBorderCoords.xy, debugBorderCoords.zw)) || any(greaterThan(debugBorderCoords.xy, 1.0 - debugBorderCoords.zw)));`)}
|
|
89
|
+
|
|
90
|
+
vec2 samplePos = vtc;
|
|
91
|
+
|
|
92
|
+
${(0,T.If)(q,T.H`
|
|
93
|
+
float txSize = float(textureSize(tex, 0).x);
|
|
94
|
+
float texelSize = 1.0 / txSize;
|
|
95
|
+
|
|
96
|
+
// Calculate how much we have to add/subtract to/from each texel to reach the size of an onscreen pixel
|
|
97
|
+
vec2 scaleFactor = (vsize - txSize) * texelSize;
|
|
98
|
+
samplePos += (vec2(1.0, -1.0) * texelSize) * scaleFactor;`)}
|
|
99
|
+
|
|
100
|
+
${r?T.H`
|
|
101
|
+
vec4 fillPixelColor = vcolor;
|
|
102
|
+
|
|
103
|
+
// Get distance and map it into [-0.5, 0.5]
|
|
104
|
+
float d = rgbaTofloat(texture(tex, samplePos)) - 0.5;
|
|
105
|
+
|
|
106
|
+
// Distance in output units (i.e. pixels)
|
|
107
|
+
float dist = d * vsize.x;
|
|
108
|
+
|
|
109
|
+
// Create smooth transition from the icon into its outline
|
|
110
|
+
float fillAlphaFactor = clamp(0.5 - dist, 0.0, 1.0);
|
|
111
|
+
fillPixelColor.a *= fillAlphaFactor;
|
|
112
|
+
|
|
113
|
+
if (outlineSize > 0.25) {
|
|
114
|
+
vec4 outlinePixelColor = outlineColor;
|
|
115
|
+
float clampedOutlineSize = min(outlineSize, 0.5*vsize.x);
|
|
116
|
+
|
|
117
|
+
// Create smooth transition around outline
|
|
118
|
+
float outlineAlphaFactor = clamp(0.5 - (abs(dist) - 0.5*clampedOutlineSize), 0.0, 1.0);
|
|
119
|
+
outlinePixelColor.a *= outlineAlphaFactor;
|
|
120
|
+
|
|
121
|
+
if (
|
|
122
|
+
outlineAlphaFactor + fillAlphaFactor < ${Q} ||
|
|
123
|
+
fillPixelColor.a + outlinePixelColor.a < ${T.H.float(B.Q)}
|
|
124
|
+
) {
|
|
125
|
+
discard;
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
// perform un-premultiplied over operator (see https://en.wikipedia.org/wiki/Alpha_compositing#Description)
|
|
129
|
+
float compositeAlpha = outlinePixelColor.a + fillPixelColor.a * (1.0 - outlinePixelColor.a);
|
|
130
|
+
vec3 compositeColor = vec3(outlinePixelColor) * outlinePixelColor.a +
|
|
131
|
+
vec3(fillPixelColor) * fillPixelColor.a * (1.0 - outlinePixelColor.a);
|
|
132
|
+
|
|
133
|
+
${(0,T.If)(!Z,T.H`fragColor = vec4(compositeColor, compositeAlpha);`)}
|
|
134
|
+
} else {
|
|
135
|
+
if (fillAlphaFactor < ${Q}) {
|
|
136
|
+
discard;
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
${(0,T.If)(!Z,T.H`fragColor = premultiplyAlpha(fillPixelColor);`)}
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
// visualize SDF:
|
|
143
|
+
// fragColor = vec4(clamp(-dist/vsize.x*2.0, 0.0, 1.0), clamp(dist/vsize.x*2.0, 0.0, 1.0), 0.0, 1.0);
|
|
144
|
+
`:T.H`
|
|
145
|
+
vec4 texColor = texture(tex, samplePos, -0.5);
|
|
146
|
+
if (texColor.a < ${Q}) {
|
|
147
|
+
discard;
|
|
148
|
+
}
|
|
149
|
+
${(0,T.If)(!Z,T.H`fragColor = texColor * premultiplyAlpha(vcolor);`)}
|
|
150
|
+
`}
|
|
151
|
+
|
|
152
|
+
${(0,T.If)(U&&!Z,T.H`
|
|
153
|
+
float zSample = texelFetch(depthMap, ivec2(gl_FragCoord.xy), 0).x;
|
|
154
|
+
if (zSample < gl_FragCoord.z) {
|
|
155
|
+
fragColor *= occludedOpacity;
|
|
156
|
+
}
|
|
157
|
+
`)}
|
|
158
|
+
|
|
159
|
+
${(0,T.If)(!Z&&k,T.H`fragColor = mix(fragColor, vec4(1.0, 0.0, 1.0, 1.0), isBorder * 0.5);`)}
|
|
160
|
+
`;switch(N){case 0:case 1:t.outputs.add("fragColor","vec4",0),1===N&&t.outputs.add("fragEmission","vec4",1),1===H&&t.outputs.add("fragAlpha","float",1===N?2:1),Y.main.add(T.H`
|
|
161
|
+
${K}
|
|
162
|
+
${(0,T.If)(2===H,T.H`fragColor.rgb /= fragColor.a;`)}
|
|
163
|
+
${(0,T.If)(1===N,T.H`fragEmission = vec4(0.0);`)}
|
|
164
|
+
${(0,T.If)(1===H,T.H`fragAlpha = fragColor.a;`)}`);break;case 10:Y.main.add(T.H`
|
|
165
|
+
${K}
|
|
166
|
+
outputObjectAndLayerIdColor();`);break;case 9:t.include(h.Q,e),Y.main.add(T.H`
|
|
167
|
+
${K}
|
|
168
|
+
outputHighlight(${(0,T.If)(X,T.H`voccluded == 1.0`,T.H`false`)});`)}return t}function R(e){return e.outlineColor[3]>0&&e.outlineSize>0}function O(e){return e.textureIsSignedDistanceField?(t=e.anchorPosition,r=e.distanceFieldBoundingBox,i=E,(0,n.hZ)(i,t[0]*(r[2]-r[0])+r[0],t[1]*(r[3]-r[1])+r[1])):(0,n.C)(E,e.anchorPosition),E;var t,r,i}const E=(0,i.vt)(),F=32e3,j=T.H.float(F),D=Object.freeze(Object.defineProperty({__proto__:null,build:M,calculateAnchorPosition:O,fullUV:F},Symbol.toStringTag,{value:"Module"}))},18251:(e,t,r)=>{r.d(t,{A:()=>u});var n=r(31635),i=r(69540),s=r(25482),o=r(10107),a=(r(44208),r(53966),r(87811),r(93223)),l=r(40608),c=r(51850);let u=class extends((0,i.OU)(s.o)){constructor(e){super(e),this.type="local",this.origin=(0,c.vt)()}};(0,n.Cg)([(0,a.e)({local:"local"},{readOnly:!0})],u.prototype,"type",void 0),(0,n.Cg)([(0,o.MZ)({type:[Number],nonNullable:!0,json:{write:!0}})],u.prototype,"origin",void 0),u=(0,n.Cg)([(0,l.$)("esri.geometry.support.MeshLocalVertexSpace")],u)},20437:(e,t,r)=>{r.d(t,{A:()=>m});var n,i=r(31635),s=r(66552),o=r(25482),a=r(10107),l=r(56507),c=(r(44208),r(87811),r(93223)),u=r(36005),d=r(40608),f=r(80451),h=r(98453);const p=new s.J({binary:"binary",coordinate:"coordinate",countOrAmount:"count-or-amount",currency:"currency",dateAndTime:"date-and-time",description:"description",emailAddress:"email-address",locationOrPlaceName:"location-or-place-name",measurement:"measurement",nameOrTitle:"name-or-title",none:"none",orderedOrRanked:"ordered-or-ranked",percentageOrRatio:"percentage-or-ratio",phoneNumber:"phone-number",typeOrCategory:"type-or-category",uniqueIdentifier:"unique-identifier"});let m=class extends o.o{static{n=this}constructor(e){super(e),this.alias=null,this.defaultValue=void 0,this.description=null,this.domain=null,this.editable=!0,this.length=void 0,this.name=null,this.nullable=!0,this.type=null,this.valueType=null,this.visible=!0}readDescription(e,{description:t}){let r=null;try{r=t?JSON.parse(t):null}catch(e){}return r?.value??null}readValueType(e,{description:t}){let r=null;try{r=t?JSON.parse(t):null}catch(e){}return r?p.fromJSON(r.fieldValueType):null}clone(){return new n({alias:this.alias,defaultValue:this.defaultValue,description:this.description,domain:this.domain?.clone()??null,editable:this.editable,length:this.length,name:this.name,nullable:this.nullable,type:this.type,valueType:this.valueType,visible:this.visible})}};(0,i.Cg)([(0,a.MZ)({type:String,json:{write:!0}})],m.prototype,"alias",void 0),(0,i.Cg)([(0,a.MZ)({type:[String,Number],json:{write:{allowNull:!0}}})],m.prototype,"defaultValue",void 0),(0,i.Cg)([(0,a.MZ)()],m.prototype,"description",void 0),(0,i.Cg)([(0,u.w)("description")],m.prototype,"readDescription",null),(0,i.Cg)([(0,a.MZ)({types:f.gK,json:{read:{reader:f.rS},write:!0}})],m.prototype,"domain",void 0),(0,i.Cg)([(0,a.MZ)({type:Boolean,json:{write:!0}})],m.prototype,"editable",void 0),(0,i.Cg)([(0,a.MZ)({type:l.jz,json:{write:{overridePolicy:e=>({enabled:Number.isFinite(e)})}}})],m.prototype,"length",void 0),(0,i.Cg)([(0,a.MZ)({type:String,json:{write:!0}})],m.prototype,"name",void 0),(0,i.Cg)([(0,a.MZ)({type:Boolean,json:{write:!0}})],m.prototype,"nullable",void 0),(0,i.Cg)([(0,c.e)(h.m)],m.prototype,"type",void 0),(0,i.Cg)([(0,a.MZ)()],m.prototype,"valueType",void 0),(0,i.Cg)([(0,u.w)("valueType",["description"])],m.prototype,"readValueType",null),(0,i.Cg)([(0,a.MZ)({type:Boolean,json:{read:!1}})],m.prototype,"visible",void 0),m=n=(0,i.Cg)([(0,d.$)("esri.layers.support.Field")],m)},20498:(e,t,r)=>{r.d(t,{SX:()=>s,pX:()=>i});let n=globalThis.Float16Array;function i(){return n}let s=!!n},26835:(e,t,r)=>{r.d(t,{W:()=>i});var n=r(31821);function i(e){e.code.add(n.H`const float MAX_RGBA_FLOAT =
|
|
169
|
+
255.0 / 256.0 +
|
|
170
|
+
255.0 / 256.0 / 256.0 +
|
|
171
|
+
255.0 / 256.0 / 256.0 / 256.0 +
|
|
172
|
+
255.0 / 256.0 / 256.0 / 256.0 / 256.0;
|
|
173
|
+
const vec4 FIXED_POINT_FACTORS = vec4(1.0, 256.0, 256.0 * 256.0, 256.0 * 256.0 * 256.0);
|
|
174
|
+
vec4 float2rgba(const float value) {
|
|
175
|
+
float valueInValidDomain = clamp(value, 0.0, MAX_RGBA_FLOAT);
|
|
176
|
+
vec4 fixedPointU8 = floor(fract(valueInValidDomain * FIXED_POINT_FACTORS) * 256.0);
|
|
177
|
+
const float toU8AsFloat = 1.0 / 255.0;
|
|
178
|
+
return fixedPointU8 * toU8AsFloat;
|
|
179
|
+
}`),e.code.add(n.H`const vec4 RGBA_TO_FLOAT_FACTORS = vec4(
|
|
180
|
+
255.0 / (256.0),
|
|
181
|
+
255.0 / (256.0 * 256.0),
|
|
182
|
+
255.0 / (256.0 * 256.0 * 256.0),
|
|
183
|
+
255.0 / (256.0 * 256.0 * 256.0 * 256.0)
|
|
184
|
+
);
|
|
185
|
+
float rgbaTofloat(vec4 rgba) {
|
|
186
|
+
return dot(rgba, RGBA_TO_FLOAT_FACTORS);
|
|
187
|
+
}`),e.code.add(n.H`const vec4 uninterpolatedRGBAToFloatFactors = vec4(
|
|
188
|
+
1.0 / 256.0,
|
|
189
|
+
1.0 / 256.0 / 256.0,
|
|
190
|
+
1.0 / 256.0 / 256.0 / 256.0,
|
|
191
|
+
1.0 / 256.0 / 256.0 / 256.0 / 256.0
|
|
192
|
+
);
|
|
193
|
+
float uninterpolatedRGBAToFloat(vec4 rgba) {
|
|
194
|
+
return (dot(round(rgba * 255.0), uninterpolatedRGBAToFloatFactors) - 0.5) * 2.0;
|
|
195
|
+
}`),e.code.add(n.H`const vec3 uninterpolatedRGBToFloatFactors = vec3(
|
|
196
|
+
1.0 / 256.0,
|
|
197
|
+
1.0 / 256.0 / 256.0,
|
|
198
|
+
1.0 / 256.0 / 256.0 / 256.0
|
|
199
|
+
);
|
|
200
|
+
float uninterpolatedRGBToFloat(vec3 rgb) {
|
|
201
|
+
return (dot(round(rgb * 255.0), uninterpolatedRGBToFloatFactors) - 0.5) * 2.0;
|
|
202
|
+
}`)}},27615:(e,t,r)=>{r.d(t,{CK:()=>l,Hq:()=>a,MW:()=>c,TE:()=>u,yJ:()=>d});var n=r(38954),i=r(86738),s=r(95696),o=r(18251);function a(e){return null!=e.origin}function l(e){return a(e.vertexSpace)}function c(e,t){if(!a(e))return null;const[r,n,s]=e.origin;return new i.A({x:r,y:n,z:s,spatialReference:t})}function u(e,t){const{x:r,y:n,z:i,spatialReference:a}=e,l=[r,n,i??0];return"local"===(t?.vertexSpace??function(e){return e.isGeographic||e.isWebMercator?"local":"georeferenced"}(a))?new o.A({origin:l}):new s.A({origin:l})}function d(e,t){return e.type===t.type&&(e.origin===t.origin||null!=e.origin&&null!=t.origin&&(0,n.q)(e.origin,t.origin))}},31756:(e,t,r)=>{r.d(t,{j:()=>s});var n=r(83047),i=r(79258);const s={unknown:1,inches:(0,n.oU)(1,"meters","inches"),feet:(0,n.oU)(1,"meters","feet"),"us-feet":(0,n.oU)(1,"meters","us-feet"),yards:(0,n.oU)(1,"meters","yards"),miles:(0,n.oU)(1,"meters","miles"),"nautical-miles":(0,n.oU)(1,"meters","nautical-miles"),millimeters:(0,n.oU)(1,"meters","millimeters"),centimeters:(0,n.oU)(1,"meters","centimeters"),decimeters:(0,n.oU)(1,"meters","decimeters"),meters:(0,n.oU)(1,"meters","meters"),kilometers:(0,n.oU)(1,"meters","kilometers"),"decimal-degrees":1/(0,n.vl)(1,"meters",i.$O.radius)}},32587:(e,t,r)=>{r.d(t,{A:()=>s});var n=r(62788),i=r(95488);class s{constructor(e){this._observable=new i.I,this._map=new Map(e)}get size(){return(0,n.gc)(this._observable),this._map.size}clear(){this._map.size>0&&(this._map.clear(),this._observable.notify())}delete(e){const t=this._map.delete(e);return t&&this._observable.notify(),t}entries(){return(0,n.gc)(this._observable),this._map.entries()}forEach(e,t){(0,n.gc)(this._observable),this._map.forEach((r,n)=>e.call(t,r,n,this),t)}get(e){return(0,n.gc)(this._observable),this._map.get(e)}has(e){return(0,n.gc)(this._observable),this._map.has(e)}keys(){return(0,n.gc)(this._observable),this._map.keys()}set(e,t){return this._map.set(e,t),this._observable.notify(),this}values(){return(0,n.gc)(this._observable),this._map.values()}[Symbol.iterator](){return(0,n.gc)(this._observable),this._map[Symbol.iterator]()}[Symbol.dispose](){this._observable.destroy()}get[Symbol.toStringTag](){return this._map[Symbol.toStringTag]}}},36708:(e,t,r)=>{r.d(t,{C_:()=>f,OH:()=>m,Vh:()=>y,on:()=>d,pc:()=>g,wB:()=>l,z7:()=>c});var n=r(37955),i=r(36563),s=r(97768),o=r(74887),a=r(14012);function l(e,t,r={}){return u(e,t,r,h)}function c(e,t,r={}){return u(e,t,r,p)}function u(e,t,r={},n){let i=null;const o=r.once?(e,r)=>{n(e)&&((0,s.xt)(i),t(e,r))}:(e,r)=>{n(e)&&t(e,r)};if(i=(0,a.Cn)(e,o,r.sync,r.equals),r.initial){const t=e();o(t,t)}return i}function d(e,t,r,o={}){let a=null,c=null,u=null;function d(){a&&c&&(c.remove(),o.onListenerRemove?.(a),a=null,c=null)}function f(e){o.once&&o.once&&(0,s.xt)(u),r(e)}const h=l(e,(e,r)=>{d(),(0,n.wb)(e)&&(a=e,c=(0,n.on)(e,t,f),o.onListenerAdd?.(e))},{sync:o.sync,initial:!0});return u=(0,i.hA)(()=>{h.remove(),d()}),u}function f(e,t){return function(e,t,r){if((0,o.G4)(r))return Promise.reject((0,o.NK)());const n=e();if(t?.(n))return Promise.resolve(n);let a=null;function l(){a=(0,s.xt)(a)}return new Promise((n,s)=>{a=(0,i.vE)([(0,o.u7)(r,()=>{l(),s((0,o.NK)())}),u(e,e=>{l(),n(e)},{sync:!1,once:!0},t??h)])})}(e,p,t)}function h(e){return!0}function p(e){return!!e}r(80559);const m={sync:!0},y={initial:!0},g={sync:!0,initial:!0}},37539:(e,t,r)=>{r.d(t,{pO:()=>m,jd:()=>f,Tp:()=>h,w5:()=>d});var n=r(34727),i=r(83047),s=r(73941),o=r(79258);Math.PI;const a=o.$O.radius,l=o.$O.eccentricitySquared,c={a1:a*l,a2:a*l*a*l,a3:a*l*l/2,a4:a*l*a*l*2.5,a5:a*l+a*l*l/2,a6:1-l};o.$O.radius,o.$O.flattening,o.Sw.radius,o.Sw.flattening,o.sH.radius,o.sH.flattening,o.sH.radius;var u=r(21325);const d={2:{5:m,7:null,9:null,10:m,1:C,6:null,8:null,0:null,3:g,11:_,2:m,4:P},5:{5:m,7:null,9:null,10:m,1:C,6:null,8:null,0:null,3:g,11:_,2:m,4:P},7:{5:null,7:m,9:null,10:m,1:null,6:x,8:null,0:null,3:null,11:null,2:null,4:null},9:{5:null,7:null,9:m,10:m,1:null,6:null,8:w,0:null,3:null,11:null,2:null,4:null},3:{5:y,7:null,9:null,10:y,1:function(e,t,r,n){const i=e[t]/F,s=E-2*Math.atan(Math.exp(-e[t+1]/F)),o=F+e[t+2],a=Math.cos(s)*o;r[n]=Math.cos(i)*a,r[n+1]=Math.sin(i)*a,r[n+2]=Math.sin(s)*o},6:null,8:null,0:null,3:m,11:function(e,t,r,n){y(e,t,r,n),_(r,n,r,n)},2:y,4:function(e,t,r,n){y(e,t,r,n),P(r,n,r,n)}},4:{5:B,7:null,9:null,10:B,1:function(e,t,r,n){B(e,t,r,n),C(r,n,r,n)},6:null,8:null,0:null,3:function(e,t,r,n){B(e,t,r,n),g(r,n,r,n)},11:function(e,t,r,n){B(e,t,r,n),_(r,n,r,n)},2:B,4:m},1:{5:I,7:null,9:null,10:I,1:m,6:null,8:null,0:null,3:function(e,t,r,n){I(e,t,r,n),g(r,n,r,n)},11:function(e,t,r,n){I(e,t,r,n),_(r,n,r,n)},2:I,4:function(e,t,r,n){I(e,t,r,n),P(r,n,r,n)}},6:{5:null,7:A,9:null,10:A,1:null,6:m,8:null,0:null,3:null,11:null,2:null,4:null},8:{5:null,7:null,9:T,10:T,1:null,6:null,8:m,0:null,3:null,11:null,2:null,4:null},0:{5:null,7:null,9:null,10:null,1:null,6:null,8:null,0:m,3:null,11:null,2:null,4:null},10:{5:m,7:m,9:m,10:m,1:C,6:x,8:w,0:null,3:g,11:_,2:m,4:P},11:{5:b,7:null,9:null,10:b,1:function(e,t,r,n){b(e,t,r,n),C(r,n,r,n)},6:null,8:null,0:null,3:function(e,t,r,n){b(e,t,r,n),g(r,n,r,n)},11:m,2:b,4:function(e,t,r,n){b(e,t,r,n),P(r,n,r,n)}}};function f(e,t){return h(e,t)?.projector}function h(e,t){if(null==e||null==t)return null;if(M.source.spatialReference===e&&M.dest.spatialReference===t)return M;const r=p(e,M.source),n=p(t,M.dest);return 0===r&&0===n?(0,u.aI)(e,t)?M.projector=m:M.projector=null:M.projector=d[r][n],M}function p(e,t){return e?t.spatialReference===e?t.spatialReferenceId:(t.spatialReference=e,"metersPerUnit"in t&&(t.metersPerUnit=(0,i.GA)(e,1)),(0,s.jA)(e)?t.spatialReferenceId=1:(0,u.oT)(e)?t.spatialReferenceId=2:(0,u.K8)(e)?t.spatialReferenceId=3:(0,u.r1)(e)?t.spatialReferenceId=11:e.wkt===s.Ro.wkt?t.spatialReferenceId=4:4490===e.wkid?t.spatialReferenceId=5:e.wkt===s.FY.wkt?t.spatialReferenceId=6:e.wkt===s.LJ.wkt?t.spatialReferenceId=8:(0,u.q8)(e)?t.spatialReferenceId=7:(0,u.KQ)(e)?t.spatialReferenceId=9:t.spatialReferenceId=0):0}function m(e,t,r,n){e!==r&&(r[n++]=e[t++],r[n++]=e[t++],r[n]=e[t])}function y(e,t,r,n){r[n]=O*(e[t]/F),r[n+1]=O*(E-2*Math.atan(Math.exp(-e[t+1]/F))),r[n+2]=e[t+2]}function g(e,t,r,i){!function(e,t,r,i,s){const o=.4999999*Math.PI,a=(0,n.qE)(R*e[t+1],-o,o),l=Math.sin(a);r[i++]=R*e[t]*s.radius,r[i++]=s.halfSemiMajorAxis*Math.log((1+l)/(1-l)),r[i]=e[t+2]}(e,t,r,i,o.$O)}function _(e,t,r,n){r[n]=e[t]*j,r[n+1]=e[t+1]*j,r[n+2]=e[t+2]}function b(e,t,r,n){r[n]=e[t]*D,r[n+1]=e[t+1]*D,r[n+2]=e[t+2]}function v(e,t,r,n,i){const s=i+e[t+2],o=R*e[t+1],a=R*e[t],l=Math.cos(o)*s;r[n]=Math.cos(a)*l,r[n+1]=Math.sin(a)*l,r[n+2]=Math.sin(o)*s}function w(e,t,r,n){v(e,t,r,n,o.Sw.radius)}function x(e,t,r,n){v(e,t,r,n,o.sH.radius)}function C(e,t,r,n){v(e,t,r,n,o.$O.radius)}function S(e,t,r,i,s){const o=e[t],a=e[t+1],l=e[t+2],c=Math.sqrt(o*o+a*a+l*l),u=(0,n.YN)(l/(0===c?1:c)),d=Math.atan2(a,o);r[i++]=O*d,r[i++]=O*u,r[i]=c-s}function T(e,t,r,n){S(e,t,r,n,o.Sw.radius)}function A(e,t,r,n){S(e,t,r,n,o.sH.radius)}function I(e,t,r,n){S(e,t,r,n,o.$O.radius)}function P(e,t,r,n){!function(e,t,r,n,i){const s=R*e[t],o=R*e[t+1],a=e[t+2],l=Math.sin(o),c=Math.cos(o),u=i.radius/Math.sqrt(1-i.eccentricitySquared*l*l);r[n++]=(u+a)*c*Math.cos(s),r[n++]=(u+a)*c*Math.sin(s),r[n++]=(u*(1-i.eccentricitySquared)+a)*l}(e,t,r,n,o.$O)}function B(e,t,r,n){const i=c,s=e[t],a=e[t+1],l=e[t+2];let u,d,f,h,p,m,y,g,_,b,v,w,x,C,S,T,A,I,P,B,M;u=Math.abs(l),d=s*s+a*a,f=Math.sqrt(d),h=d+l*l,p=Math.sqrt(h),B=Math.atan2(a,s),m=l*l/h,y=d/h,C=i.a2/p,S=i.a3-i.a4/p,y>.3?(g=u/p*(1+y*(i.a1+C+m*S)/p),P=Math.asin(g),b=g*g,_=Math.sqrt(1-b)):(_=f/p*(1-m*(i.a5-C-y*S)/p),P=Math.acos(_),b=1-_*_,g=Math.sqrt(b)),v=1-o.$O.eccentricitySquared*b,w=o.$O.radius/Math.sqrt(v),x=i.a6*w,C=f-w*_,S=u-x*g,A=_*C+g*S,T=_*S-g*C,I=T/(x/v+A),P+=I,M=A+T*I/2,l<0&&(P=-P),r[n++]=O*B,r[n++]=O*P,r[n]=M}const M={source:{spatialReference:null,spatialReferenceId:0,metersPerUnit:1},dest:{spatialReference:null,spatialReferenceId:0,metersPerUnit:1},projector:m},R=(0,n.kU)(1),O=(0,n.KJ)(1),E=.5*Math.PI,F=o.$O.radius,j=F*Math.PI/180,D=180/(F*Math.PI)},39357:(e,t,r)=>{r.d(t,{H:()=>l});var n,i=r(31635),s=r(25482),o=r(10107),a=(r(44208),r(53966),r(87811),r(40608));let l=n=class extends s.o{constructor(e){super(e),this.name=null,this.code=null}clone(){return new n({name:this.name,code:this.code})}};(0,i.Cg)([(0,o.MZ)({type:String,json:{write:{isRequired:!0}}})],l.prototype,"name",void 0),(0,i.Cg)([(0,o.MZ)({type:[String,Number],json:{write:{isRequired:!0}}})],l.prototype,"code",void 0),l=n=(0,i.Cg)([(0,a.$)("esri.layers.support.CodedValue")],l)},40268:(e,t,r)=>{r.d(t,{Q:()=>d,R:()=>u});var n=r(35640),i=r(52587),s=r(25178),o=r(14314),a=r(33094),l=r(20304),c=r(31821);const u=.5;function d(e,t){e.include(i.Y6),e.attributes.add("position","vec3"),e.attributes.add("normal","vec3"),e.attributes.add("centerOffsetAndDistance","vec4");const r=e.vertex;(0,s.NB)(r,t),(0,s.yu)(r,t),r.uniforms.add(new o.I("viewport",e=>e.camera.fullViewport),new l.m("polygonOffset",e=>e.shaderPolygonOffset),new a.U("cameraGroundRelative",e=>e.camera.aboveGround?1:-1)),t.hasVerticalOffset&&(0,n.VQ)(r),r.code.add(c.H`struct ProjectHUDAux {
|
|
203
|
+
vec3 posModel;
|
|
204
|
+
vec3 posView;
|
|
205
|
+
vec3 vnormal;
|
|
206
|
+
float distanceToCamera;
|
|
207
|
+
float absCosAngle;
|
|
208
|
+
};`),r.code.add(c.H`
|
|
209
|
+
float applyHUDViewDependentPolygonOffset(float pointGroundDistance, float absCosAngle, inout vec3 posView) {
|
|
210
|
+
float pointGroundSign = ${t.terrainDepthTest?c.H.float(0):c.H`sign(pointGroundDistance)`};
|
|
211
|
+
if (pointGroundSign == 0.0) {
|
|
212
|
+
pointGroundSign = cameraGroundRelative;
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
// cameraGroundRelative is -1 if camera is below ground, 1 if above ground
|
|
216
|
+
// groundRelative is 1 if both camera and symbol are on the same side of the ground, -1 otherwise
|
|
217
|
+
float groundRelative = cameraGroundRelative * pointGroundSign;
|
|
218
|
+
|
|
219
|
+
// view angle dependent part of polygon offset emulation: we take the absolute value because the sign that is
|
|
220
|
+
// dropped is instead introduced using the ground-relative position of the symbol and the camera
|
|
221
|
+
if (polygonOffset > .0) {
|
|
222
|
+
float cosAlpha = clamp(absCosAngle, 0.01, 1.0);
|
|
223
|
+
float tanAlpha = sqrt(1.0 - cosAlpha * cosAlpha) / cosAlpha;
|
|
224
|
+
float factor = (1.0 - tanAlpha / viewport[2]);
|
|
225
|
+
|
|
226
|
+
// same side of the terrain
|
|
227
|
+
if (groundRelative > 0.0) {
|
|
228
|
+
posView *= factor;
|
|
229
|
+
}
|
|
230
|
+
// opposite sides of the terrain
|
|
231
|
+
else {
|
|
232
|
+
posView /= factor;
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
return groundRelative;
|
|
237
|
+
}
|
|
238
|
+
`),t.draped&&!t.hasVerticalOffset||(0,s.S7)(r),t.draped||(r.uniforms.add(new a.U("perDistancePixelRatio",e=>Math.tan(e.camera.fovY/2)/(e.camera.fullViewport[2]/2))),r.code.add(c.H`
|
|
239
|
+
void applyHUDVerticalGroundOffset(vec3 normalModel, inout vec3 posModel, inout vec3 posView) {
|
|
240
|
+
float distanceToCamera = length(posView);
|
|
241
|
+
|
|
242
|
+
// Compute offset in world units for a half pixel shift
|
|
243
|
+
float pixelOffset = distanceToCamera * perDistancePixelRatio * ${c.H.float(u)};
|
|
244
|
+
|
|
245
|
+
// Apply offset along normal in the direction away from the ground surface
|
|
246
|
+
vec3 modelOffset = normalModel * cameraGroundRelative * pixelOffset;
|
|
247
|
+
|
|
248
|
+
// Apply the same offset also on the view space position
|
|
249
|
+
vec3 viewOffset = (viewNormal * vec4(modelOffset, 1.0)).xyz;
|
|
250
|
+
|
|
251
|
+
posModel += modelOffset;
|
|
252
|
+
posView += viewOffset;
|
|
253
|
+
}
|
|
254
|
+
`)),t.screenCenterOffsetUnitsEnabled&&(0,s.Nz)(r),t.hasScreenSizePerspective&&(0,i.OH)(r),r.code.add(c.H`
|
|
255
|
+
vec4 projectPositionHUD(out ProjectHUDAux aux) {
|
|
256
|
+
vec3 centerOffset = centerOffsetAndDistance.xyz;
|
|
257
|
+
float pointGroundDistance = centerOffsetAndDistance.w;
|
|
258
|
+
|
|
259
|
+
aux.posModel = position;
|
|
260
|
+
aux.posView = (view * vec4(aux.posModel, 1.0)).xyz;
|
|
261
|
+
aux.vnormal = normal;
|
|
262
|
+
${t.draped?"":"applyHUDVerticalGroundOffset(aux.vnormal, aux.posModel, aux.posView);"}
|
|
263
|
+
|
|
264
|
+
// Screen sized offset in world space, used for example for line callouts
|
|
265
|
+
// Note: keep this implementation in sync with the CPU implementation, see
|
|
266
|
+
// - MaterialUtil.verticalOffsetAtDistance
|
|
267
|
+
// - HUDMaterial.applyVerticalOffsetTransformation
|
|
268
|
+
|
|
269
|
+
aux.distanceToCamera = length(aux.posView);
|
|
270
|
+
|
|
271
|
+
vec3 viewDirObjSpace = normalize(cameraPosition - aux.posModel);
|
|
272
|
+
float cosAngle = dot(aux.vnormal, viewDirObjSpace);
|
|
273
|
+
|
|
274
|
+
aux.absCosAngle = abs(cosAngle);
|
|
275
|
+
|
|
276
|
+
${t.hasScreenSizePerspective&&(t.hasVerticalOffset||t.screenCenterOffsetUnitsEnabled)?"vec3 perspectiveFactor = screenSizePerspectiveScaleFactor(aux.absCosAngle, aux.distanceToCamera, screenSizePerspectiveAlignment);":""}
|
|
277
|
+
|
|
278
|
+
${t.hasVerticalOffset?t.hasScreenSizePerspective?"float verticalOffsetScreenHeight = applyScreenSizePerspectiveScaleFactorFloat(verticalOffset.x, perspectiveFactor);":"float verticalOffsetScreenHeight = verticalOffset.x;":""}
|
|
279
|
+
|
|
280
|
+
${t.hasVerticalOffset?c.H`
|
|
281
|
+
float worldOffset = clamp(verticalOffsetScreenHeight * verticalOffset.y * aux.distanceToCamera, verticalOffset.z, verticalOffset.w);
|
|
282
|
+
vec3 modelOffset = aux.vnormal * worldOffset;
|
|
283
|
+
aux.posModel += modelOffset;
|
|
284
|
+
vec3 viewOffset = (viewNormal * vec4(modelOffset, 1.0)).xyz;
|
|
285
|
+
aux.posView += viewOffset;
|
|
286
|
+
// Since we elevate the object, we need to take that into account
|
|
287
|
+
// in the distance to ground
|
|
288
|
+
pointGroundDistance += worldOffset;`:""}
|
|
289
|
+
|
|
290
|
+
float groundRelative = applyHUDViewDependentPolygonOffset(pointGroundDistance, aux.absCosAngle, aux.posView);
|
|
291
|
+
|
|
292
|
+
${t.screenCenterOffsetUnitsEnabled?"":c.H`
|
|
293
|
+
// Apply x/y in view space, but z in screen space (i.e. along posView direction)
|
|
294
|
+
aux.posView += vec3(centerOffset.x, centerOffset.y, 0.0);
|
|
295
|
+
|
|
296
|
+
// Same material all have same z != 0.0 condition so should not lead to
|
|
297
|
+
// branch fragmentation and will save a normalization if it's not needed
|
|
298
|
+
if (centerOffset.z != 0.0) {
|
|
299
|
+
aux.posView -= normalize(aux.posView) * centerOffset.z;
|
|
300
|
+
}
|
|
301
|
+
`}
|
|
302
|
+
|
|
303
|
+
vec4 posProj = proj * vec4(aux.posView, 1.0);
|
|
304
|
+
|
|
305
|
+
${t.screenCenterOffsetUnitsEnabled?t.hasScreenSizePerspective?"float centerOffsetY = applyScreenSizePerspectiveScaleFactorFloat(centerOffset.y, perspectiveFactor);":"float centerOffsetY = centerOffset.y;":""}
|
|
306
|
+
|
|
307
|
+
${t.screenCenterOffsetUnitsEnabled?"posProj.xy += vec2(centerOffset.x, centerOffsetY) * pixelRatio * 2.0 / viewport.zw * posProj.w;":""}
|
|
308
|
+
|
|
309
|
+
// constant part of polygon offset emulation
|
|
310
|
+
posProj.z -= groundRelative * polygonOffset * posProj.w;
|
|
311
|
+
return posProj;
|
|
312
|
+
}
|
|
313
|
+
`)}},40804:(e,t,r)=>{r.d(t,{Un:()=>i});var n=r(34727);function i(e,t,r=0){const i=(0,n.qE)(e,0,l);for(let e=0;e<4;e++)t[r+e]=Math.floor(256*c(i*o[e]))}function s(e,t=0){let r=0;for(let n=0;n<4;n++)r+=e[t+n]*a[n];return r}const o=[1,256,65536,16777216],a=[1/256,1/65536,1/16777216,1/4294967296],l=s(new Uint8ClampedArray([255,255,255,255]));function c(e){return e-Math.floor(e)}s(new Uint8ClampedArray([255,255,255,0]))},47522:(e,t,r)=>{r.d(t,{K:()=>s});var n=r(32976),i=r(31821);function s(e){e.uniforms.add(new n.o("alignPixelEnabled",e=>e.alignPixelEnabled)),e.code.add(i.H`vec4 alignToPixelCenter(vec4 clipCoord, vec2 widthHeight) {
|
|
314
|
+
if (!alignPixelEnabled)
|
|
315
|
+
return clipCoord;
|
|
316
|
+
vec2 xy = vec2(0.500123) + 0.5 * clipCoord.xy / clipCoord.w;
|
|
317
|
+
vec2 pixelSz = vec2(1.0) / widthHeight;
|
|
318
|
+
vec2 ij = (floor(xy * widthHeight) + vec2(0.5)) * pixelSz;
|
|
319
|
+
vec2 result = (ij * 2.0 - vec2(1.0)) * clipCoord.w;
|
|
320
|
+
return vec4(result, clipCoord.zw);
|
|
321
|
+
}`),e.code.add(i.H`vec4 alignToPixelOrigin(vec4 clipCoord, vec2 widthHeight) {
|
|
322
|
+
if (!alignPixelEnabled)
|
|
323
|
+
return clipCoord;
|
|
324
|
+
vec2 xy = vec2(0.5) + 0.5 * clipCoord.xy / clipCoord.w;
|
|
325
|
+
vec2 pixelSz = vec2(1.0) / widthHeight;
|
|
326
|
+
vec2 ij = floor((xy + 0.5 * pixelSz) * widthHeight) * pixelSz;
|
|
327
|
+
vec2 result = (ij * 2.0 - vec2(1.0)) * clipCoord.w;
|
|
328
|
+
return vec4(result, clipCoord.zw);
|
|
329
|
+
}`)}},50498:(e,t,r)=>{r.d(t,{Ye:()=>d,gy:()=>u,yR:()=>f});var n=r(66552),i=r(5443),s=r(91075),o=r(48526),a=r(86738),l=r(39829),c=r(82799);const u=(0,n.O)()({esriGeometryPoint:"point",esriGeometryMultipoint:"multipoint",esriGeometryPolyline:"polyline",esriGeometryPolygon:"polygon"}),d=(0,n.O)()({esriGeometryPoint:"point",esriGeometryMultipoint:"multipoint",esriGeometryPolyline:"polyline",esriGeometryPolygon:"polygon",esriGeometryEnvelope:"extent",mesh:"mesh"}),f={base:s.A,key:"type",typeMap:{extent:i.A,multipoint:o.A,point:a.A,polyline:c.A,polygon:l.A}}},50832:(e,t,r)=>{r.d(t,{y:()=>l});var n=r(47522),i=r(14314),s=r(33094),o=r(31821),a=r(12791);function l(e){e.vertex.uniforms.add(new s.U("renderTransparentlyOccludedHUD",e=>0===e.hudRenderStyle?1:1===e.hudRenderStyle?0:.75),new i.I("viewport",e=>e.camera.fullViewport),new a.x("hudVisibilityTexture",e=>e.hudVisibility?.getTexture())),e.vertex.include(n.K),e.vertex.code.add(o.H`bool testHUDVisibility(vec4 posProj) {
|
|
330
|
+
vec4 posProjCenter = alignToPixelCenter(posProj, viewport.zw);
|
|
331
|
+
vec4 occlusionPixel = texture(hudVisibilityTexture, .5 + .5 * posProjCenter.xy / posProjCenter.w);
|
|
332
|
+
if (renderTransparentlyOccludedHUD > 0.5) {
|
|
333
|
+
return occlusionPixel.r * occlusionPixel.g > 0.0 && occlusionPixel.g * renderTransparentlyOccludedHUD < 1.0;
|
|
334
|
+
}
|
|
335
|
+
return occlusionPixel.r * occlusionPixel.g > 0.0 && occlusionPixel.g == 1.0;
|
|
336
|
+
}`)}},51624:(e,t,r)=>{r.d(t,{A:()=>c});var n=r(44208),i=r(69397),s=r(93687);const o=4294967296,a=new TextDecoder("utf-8"),l=(0,n.A)("safari")||(0,n.A)("ios")?6:(0,n.A)("ff")?12:32;class c{constructor(e,t,r=0,n=(e?e.byteLength:0)){this._tag=0,this._dataType=99,this._init(e,t,r,n)}_init(e,t,r,n){this._data=e,this._dataView=t,this._pos=r,this._end=n}get usedMemory(){return 64+(0,i.Qf)(this._data)}asUnsafe(){return this}clone(){return new c(this._data,this._dataView,this._pos,this._end)}pos(){return this._pos}move(e){this._pos=e}nextTag(e){for(;;){if(this._pos===this._end)return!1;const t=this._decodeVarint();if(this._tag=t>>3,this._dataType=7&t,!e||e===this._tag)break;this.skip()}return!0}next(){if(this._pos===this._end)return!1;const e=this._decodeVarint();return this._tag=e>>3,this._dataType=7&e,!0}empty(){return this._pos>=this._end}tag(){return this._tag}getInt32(){return this._decodeVarint()}getInt64(){return this._decodeVarint()}getUInt32(){let e=4294967295;if(e=(127&this._data[this._pos])>>>0,this._data[this._pos++]<128)return e;if(e=(e|(127&this._data[this._pos])<<7)>>>0,this._data[this._pos++]<128)return e;if(e=(e|(127&this._data[this._pos])<<14)>>>0,this._data[this._pos++]<128)return e;if(e=(e|(127&this._data[this._pos])<<21)>>>0,this._data[this._pos++]<128)return e;if(e=(e|(15&this._data[this._pos])<<28)>>>0,this._data[this._pos++]<128)return e;throw new Error("Varint overflow")}getUInt64(){return this._decodeVarint()}getSInt32(){const e=this.getUInt32();return e>>>1^-(1&e)}getSInt64(){return this._decodeSVarint()}getBool(){const e=0!==this._data[this._pos];return this._skip(1),e}getEnum(){return this._decodeVarint()}getFixed64(){const e=this._dataView,t=this._pos,r=e.getUint32(t,!0)+e.getUint32(t+4,!0)*o;return this._skip(8),r}getSFixed64(){const e=this._dataView,t=this._pos,r=e.getUint32(t,!0)+e.getInt32(t+4,!0)*o;return this._skip(8),r}getDouble(){const e=this._dataView.getFloat64(this._pos,!0);return this._skip(8),e}getFixed32(){const e=this._dataView.getUint32(this._pos,!0);return this._skip(4),e}getSFixed32(){const e=this._dataView.getInt32(this._pos,!0);return this._skip(4),e}getFloat(){const e=this._dataView.getFloat32(this._pos,!0);return this._skip(4),e}getString(){const e=this._getLength(),t=this._pos,r=this._toString(this._data,t,t+e);return this._skip(e),r}getBytes(){const e=this._getLength(),t=this._pos,r=this._toBytes(this._data,t,t+e);return this._skip(e),r}getLength(){return this._getLengthUnsafe()}processMessageWithArgs(e,t,r,n){const i=this.getMessage(),s=e(i,t,r,n);return i.release(),s}processMessage(e){const t=this.getMessage(),r=e(t);return t.release(),r}getMessage(){const e=this._getLength(),t=c.pool.acquire();return t._init(this._data,this._dataView,this._pos,this._pos+e),this._skip(e),t}release(){c.pool.release(this)}dataType(){return this._dataType}skip(){switch(this._dataType){case 0:this._decodeVarint();break;case 1:this._skip(8);break;case 2:this._skip(this._getLength());break;case 5:this._skip(4);break;default:throw new Error("Invalid data type!")}}skipLen(e){this._skip(e)}_skip(e){if(this._pos+e>this._end)throw new Error("Attempt to skip past the end of buffer!");this._pos+=e}_decodeVarint(){const e=this._data;let t=this._pos,r=0,n=0;if(this._end-t>=10)do{if(n=e[t++],r|=127&n,!(128&n))break;if(n=e[t++],r|=(127&n)<<7,!(128&n))break;if(n=e[t++],r|=(127&n)<<14,!(128&n))break;if(n=e[t++],r|=(127&n)<<21,!(128&n))break;if(n=e[t++],r+=268435456*(127&n),!(128&n))break;if(n=e[t++],r+=34359738368*(127&n),!(128&n))break;if(n=e[t++],r+=4398046511104*(127&n),!(128&n))break;if(n=e[t++],r+=562949953421312*(127&n),!(128&n))break;if(n=e[t++],r+=72057594037927940*(127&n),!(128&n))break;if(n=e[t++],r+=0x8000000000000000*(127&n),!(128&n))break;throw new Error("Varint too long!")}while(0);else{let i=1;for(;t!==this._end&&(n=e[t],128&n);)++t,r+=(127&n)*i,i*=128;if(t===this._end)throw new Error("Varint overrun!");++t,r+=n*i}return this._pos=t,r}_decodeSVarint(){const e=this._data;let t,r=0,n=0;const i=1&e[this._pos];if(n=e[this._pos++],r|=127&n,!(128&n))return i?-(r+1)/2:r/2;if(n=e[this._pos++],r|=(127&n)<<7,!(128&n))return i?-(r+1)/2:r/2;if(n=e[this._pos++],r|=(127&n)<<14,!(128&n))return i?-(r+1)/2:r/2;if(n=e[this._pos++],r|=(127&n)<<21,!(128&n))return i?-(r+1)/2:r/2;if(n=e[this._pos++],r+=268435456*(127&n),!(128&n))return i?-(r+1)/2:r/2;if(n=e[this._pos++],r+=34359738368*(127&n),!(128&n))return i?-(r+1)/2:r/2;if(n=e[this._pos++],r+=4398046511104*(127&n),!(128&n))return i?-(r+1)/2:r/2;if(t=BigInt(r),n=e[this._pos++],t+=0x2000000000000n*BigInt(127&n),!(128&n))return Number(i?-(t+1n)/2n:t/2n);if(n=e[this._pos++],t+=0x100000000000000n*BigInt(127&n),!(128&n))return Number(i?-(t+1n)/2n:t/2n);if(n=e[this._pos++],t+=0x8000000000000000n*BigInt(127&n),!(128&n))return Number(i?-(t+1n)/2n:t/2n);throw new Error("Varint too long!")}_getLength(){if(2!==this._dataType)throw new Error("Not a delimited data type!");return this._decodeVarint()}_getLengthUnsafe(){return this.getUInt32()}_toString(e,t,r){if((r=Math.min(this._end,r))-t>l){const n=e.subarray(t,r);return a.decode(n)}let n="",i="";for(let s=t;s<r;++s){const t=e[s];128&t?i+="%"+t.toString(16):(n+=decodeURIComponent(i)+String.fromCharCode(t),i="")}return i.length&&(n+=decodeURIComponent(i)),n}_toBytes(e,t,r){return r=Math.min(this._end,r),new Uint8Array(e.buffer,t,r-t)}static{this.pool=new s.A(()=>new c(null,null),void 0,e=>{e._data=null,e._dataView=null})}}},52106:(e,t,r)=>{r.d(t,{A:()=>v});var n,i=r(31635),s=r(13874),o=r(69540),a=r(51447),l=r(25482),c=r(53966),u=r(36708),d=r(24326),f=r(10107),h=(r(44208),r(87811),r(40608)),p=r(12195),m=r(65864),y=r(50498),g=r(54339),_=r(33910);function b(e){if(null==e)return null;const t={};for(const r in e){const n=e[r];n&&(t[r]=n.toJSON())}return 0!==Object.keys(t).length?t:null}let v=class extends((0,o.OU)(l.o)){static{n=this}constructor(e){super(e),this.isAggregate=!1,this.layer=null,this.origin=null,this.sourceLayer=null,this._version=0,Object.defineProperty(this,"uid",{value:(0,d.c)(),configurable:!0}),Object.defineProperty(this,"_lastMeshTransform",{value:{},configurable:!0,writable:!0,enumerable:!1}),arguments.length>1&&(0,a.eF)(c.A.getLogger(this),"Graphic",{version:"4.30"})}initialize(){this._watchMeshGeometryChanges()}set aggregateGeometries(e){const t=this._get("aggregateGeometries");JSON.stringify(t)!==JSON.stringify(e)&&this._set("aggregateGeometries",e)}set attributes(e){const t=this._get("attributes");t!==e&&(this._set("attributes",e),this._notifyLayer("attributes",t,e))}set geometry(e){const t=this._get("geometry");t!==e&&(this._set("geometry",e),"mesh"!==e?.type&&this._notifyLayer("geometry",t,e))}set popupTemplate(e){const t=this._get("popupTemplate");t!==e&&(this._set("popupTemplate",e),this._notifyLayer("popupTemplate",t,e))}set symbol(e){const t=this._get("symbol");t!==e&&(this._set("symbol",e),this._notifyLayer("symbol",t,e))}get version(){return this._version}set visible(e){const t=this._get("visible");t!==e&&(this._set("visible",e),this._notifyLayer("visible",t,e))}cloneShallow(){return new n({aggregateGeometries:this.aggregateGeometries,attributes:this.attributes,geometry:this.geometry,isAggregate:this.isAggregate,layer:this.layer,popupTemplate:this.popupTemplate,sourceLayer:this.sourceLayer,symbol:this.symbol,visible:this.visible,origin:this.origin})}getEffectivePopupTemplate(e=!1){if(this.popupTemplate)return this.popupTemplate;const t=this.origin&&"layer"in this.origin?this.origin.layer:null;for(const r of[t,this.sourceLayer,this.layer])if(r&&"object"==typeof r){if("popupTemplate"in r&&r.popupTemplate)return r.popupTemplate;if(e&&"defaultPopupTemplate"in r&&null!=r.defaultPopupTemplate)return r.defaultPopupTemplate}return null}getAttribute(e){return this.attributes?.[e]}setAttribute(e,t){if(this.attributes){const r=this.getAttribute(e);this.attributes[e]=t,this._notifyLayer("attributes",r,t,e)}else this.attributes={[e]:t}}getObjectId(){const e=this.sourceLayer??this.layer;return e?(0,g.r)(this,e):null}getGlobalId(){const e=this.sourceLayer??this.layer;return e&&"globalIdField"in e&&e.globalIdField?this.getAttribute(e.globalIdField):null}toJSON(){return{aggregateGeometries:b(this.aggregateGeometries),geometry:null!=this.geometry?this.geometry.toJSON():null,symbol:null!=this.symbol?this.symbol.toJSON():null,attributes:(0,p.W)(this.attributes)?this.attributes.toJSON():{...this.attributes},popupTemplate:this.popupTemplate?.toJSON()??null}}notifyMeshTransformChanged(e={}){const{geometry:t}=this;if("mesh"===t?.type){const r={origin:t.origin,transform:t.transform};this._notifyLayer("origin-transform",r,r,e.action)}}_notifyLayer(e,t,r,n){if(this._version++,!this.layer||!("graphicChanged"in this.layer))return;const i={graphic:this,property:e,oldValue:t,newValue:r};"origin-transform"===e&&(i.action=n),"attributes"===e&&(i.attributeName=n),this.layer.graphicChanged(i)}_watchMeshGeometryChanges(){this.addHandles([(0,u.z7)(()=>"mesh"===this.geometry?.type&&this.geometry.vertexSpace.origin?{localMatrix:this.geometry.transform?.localMatrix,origin:this.geometry.vertexSpace.origin}:void 0,({localMatrix:e,origin:t})=>{this._lastMeshTransform.localMatrix===e&&this._lastMeshTransform.origin===t||(this._lastMeshTransform.localMatrix=e,this._lastMeshTransform.origin=t,this.notifyMeshTransformChanged())}),(0,u.z7)(()=>"mesh"===this.geometry?.type?{vertexAttributes:this.geometry.vertexAttributes}:void 0,()=>{const e=this.geometry;"mesh"===e?.type&&e.vertexSpace.origin?(this._lastMeshTransform.localMatrix=e.transform?.localMatrix,this._lastMeshTransform.origin=e.vertexSpace.origin):(this._lastMeshTransform.localMatrix=void 0,this._lastMeshTransform.origin=void 0),this._notifyLayer("geometry",this.geometry,this.geometry)},{equals:(e,t)=>e===t,sync:!0})])}};(0,i.Cg)([(0,f.MZ)({value:null,json:{read:function(e){if(!e)return null;const t={};for(const r in e){const n=(0,m.rS)(e[r]);n&&(t[r]=n)}return 0!==Object.keys(t).length?t:null}}})],v.prototype,"aggregateGeometries",null),(0,i.Cg)([(0,f.MZ)({value:null})],v.prototype,"attributes",null),(0,i.Cg)([(0,f.MZ)({value:null,types:y.yR,json:{read:m.rS}})],v.prototype,"geometry",null),(0,i.Cg)([(0,f.MZ)({type:Boolean})],v.prototype,"isAggregate",void 0),(0,i.Cg)([(0,f.MZ)({clonable:!1})],v.prototype,"layer",void 0),(0,i.Cg)([(0,f.MZ)({clonable:"reference"})],v.prototype,"origin",void 0),(0,i.Cg)([(0,f.MZ)({type:s.A,value:null})],v.prototype,"popupTemplate",null),(0,i.Cg)([(0,f.MZ)({clonable:"reference"})],v.prototype,"sourceLayer",void 0),(0,i.Cg)([(0,f.MZ)({value:null,types:_.Es})],v.prototype,"symbol",null),(0,i.Cg)([(0,f.MZ)({clonable:!1,json:{read:!1,write:!1}})],v.prototype,"_version",void 0),(0,i.Cg)([(0,f.MZ)({type:Boolean,value:!0})],v.prototype,"visible",null),v=n=(0,i.Cg)([(0,h.$)("esri.Graphic")],v)},53177:(e,t,r)=>{r.d(t,{A:()=>d});var n,i=r(31635),s=r(4718),o=r(10107),a=(r(44208),r(53966),r(93223)),l=r(40608),c=r(39357),u=r(76357);let d=class extends u.A{static{n=this}constructor(e){super(e),this.codedValues=null,this.type="coded-value"}getName(e){let t=null;if(this.codedValues){const r=String(e);this.codedValues.some(e=>(String(e.code)===r&&(t=e.name),!!t))}return t}clone(){return new n({codedValues:(0,s.o8)(this.codedValues),name:this.name})}};(0,i.Cg)([(0,o.MZ)({type:[c.H],json:{write:{isRequired:!0}}})],d.prototype,"codedValues",void 0),(0,i.Cg)([(0,a.e)({codedValue:"coded-value"})],d.prototype,"type",void 0),d=n=(0,i.Cg)([(0,l.$)("esri.layers.support.CodedValueDomain")],d)},53655:(e,t,r)=>{r.d(t,{SH:()=>P,ae:()=>C,cn:()=>_});var n=r(49186),i=r(51624),s=r(92722),o=r(69418);const a=["esriFieldTypeSmallInteger","esriFieldTypeInteger","esriFieldTypeSingle","esriFieldTypeDouble","esriFieldTypeString","esriFieldTypeDate","esriFieldTypeOID","esriFieldTypeGeometry","esriFieldTypeBlob","esriFieldTypeRaster","esriFieldTypeGUID","esriFieldTypeGlobalID","esriFieldTypeXML","esriFieldTypeBigInteger","esriFieldTypeDateOnly","esriFieldTypeTimeOnly","esriFieldTypeTimestampOffset"],l=["sqlTypeBigInt","sqlTypeBinary","sqlTypeBit","sqlTypeChar","sqlTypeDate","sqlTypeDecimal","sqlTypeDouble","sqlTypeFloat","sqlTypeGeometry","sqlTypeGUID","sqlTypeInteger","sqlTypeLongNVarchar","sqlTypeLongVarbinary","sqlTypeLongVarchar","sqlTypeNChar","sqlTypeNVarchar","sqlTypeOther","sqlTypeReal","sqlTypeSmallInt","sqlTypeSqlXml","sqlTypeTime","sqlTypeTimestamp","sqlTypeTimestamp2","sqlTypeTinyInt","sqlTypeVarbinary","sqlTypeVarchar"],c=["upperLeft","lowerLeft"];function u(e){return e>=a.length?null:a[e]}function d(e){return e>=l.length?null:l[e]}function f(e){return e>=c.length?null:c[e]}function h(e,t){return t>=e.geometryTypes.length?null:e.geometryTypes[t]}function p(e,t,r){const n=e.asUnsafe(),i=t.createPointGeometry(r);for(;n.next();)switch(n.tag()){case 3:{const e=n.getUInt32(),r=n.pos()+e;let s=0;for(;n.pos()<r;)t.addCoordinatePoint(i,n.getSInt64(),s++);break}default:n.skip()}return i}function m(e,t,r){const n=e.asUnsafe(),i=t.createGeometry(r),s=2+(r.hasZ?1:0)+(r.hasM?1:0);for(;n.next();)switch(n.tag()){case 2:{const e=n.getUInt32(),r=n.pos()+e;let s=0;for(;n.pos()<r;)t.addLength(i,n.getUInt32(),s++);break}case 3:{const e=n.getUInt32(),r=n.pos()+e;let o=0;for(t.allocateCoordinates(i);n.pos()<r;)t.addCoordinate(i,n.getSInt64(),o),o++,o===s&&(o=0);break}default:n.skip()}return i}function y(e){const t=e.asUnsafe(),r=new s.A;let n="esriGeometryPoint";for(;t.next();)switch(t.tag()){case 2:{const e=t.getUInt32(),n=t.pos()+e;for(;t.pos()<n;)r.lengths.push(t.getUInt32());break}case 3:{const e=t.getUInt32(),n=t.pos()+e;for(;t.pos()<n;)r.coords.push(t.getSInt64());break}case 1:n=o.z[t.getEnum()];break;default:t.skip()}return{queryGeometry:r,queryGeometryType:n}}function g(e){const t=e.asUnsafe();for(;t.next();)switch(t.tag()){case 1:return t.getString();case 2:return t.getFloat();case 3:return t.getDouble();case 4:return t.getSInt32();case 5:return t.getUInt32();case 6:return t.getInt64();case 7:return t.getUInt64();case 8:return t.getSInt64();case 9:return t.getBool();default:return t.skip(),null}return null}function _(e){const t=e.asUnsafe(),r={type:u(0)};for(;t.next();)switch(t.tag()){case 1:r.name=t.getString();break;case 2:r.type=u(t.getEnum());break;case 3:r.alias=t.getString();break;case 4:r.sqlType=d(t.getEnum());break;case 5:default:t.skip();break;case 6:r.defaultValue=t.getString()}return r}function b(e){const t={},r=e.asUnsafe();for(;r.next();)switch(r.tag()){case 1:t.name=r.getString();break;case 2:t.isSystemMaintained=r.getBool();break;default:r.skip()}return t}function v(e,t,r,n){const i=t.createFeature(r);let s=0;for(;e.next();)switch(e.tag()){case 1:{const t=n[s++].name;i.attributes[t]=e.processMessage(g);break}case 2:i.geometry=e.processMessageWithArgs(m,t,r);break;case 4:i.centroid=e.processMessageWithArgs(p,t,r);break;default:e.skip()}return i}function w(e){const t=[1,1,1,1],r=e.asUnsafe();for(;r.next();)switch(r.tag()){case 1:t[0]=r.getDouble();break;case 2:t[1]=r.getDouble();break;case 4:t[2]=r.getDouble();break;case 3:t[3]=r.getDouble();break;default:r.skip()}return t}function x(e){const t=[0,0,0,0],r=e.asUnsafe();for(;r.next();)switch(r.tag()){case 1:t[0]=r.getDouble();break;case 2:t[1]=r.getDouble();break;case 4:t[2]=r.getDouble();break;case 3:t[3]=r.getDouble();break;default:r.skip()}return t}function C(e){const t={originPosition:f(0)},r=e.asUnsafe();for(;r.next();)switch(r.tag()){case 1:t.originPosition=f(r.getEnum());break;case 2:t.scale=r.processMessage(w);break;case 3:t.translate=r.processMessage(x);break;default:r.skip()}return t}function S(e){const t={},r=e.asUnsafe();for(;r.next();)switch(r.tag()){case 1:t.shapeAreaFieldName=r.getString();break;case 2:t.shapeLengthFieldName=r.getString();break;case 3:t.units=r.getString();break;default:r.skip()}return t}function T(e,t){const r=t.createSpatialReference();for(;e.next();)switch(e.tag()){case 1:r.wkid=e.getUInt32();break;case 5:r.wkt=e.getString();break;case 2:r.latestWkid=e.getUInt32();break;case 3:r.vcsWkid=e.getUInt32();break;case 4:r.latestVcsWkid=e.getUInt32();break;default:e.skip()}return r}function A(e,t){const r=t.createFeatureResult(),n=e.asUnsafe();r.geometryType=h(t,0);let i=!1;for(;n.next();)switch(n.tag()){case 1:r.objectIdFieldName=n.getString();break;case 3:r.globalIdFieldName=n.getString();break;case 4:r.geohashFieldName=n.getString();break;case 5:r.geometryProperties=n.processMessage(S);break;case 7:r.geometryType=h(t,n.getEnum());break;case 8:r.spatialReference=n.processMessageWithArgs(T,t);break;case 10:r.hasZ=n.getBool();break;case 11:r.hasM=n.getBool();break;case 12:r.transform=n.processMessage(C);break;case 9:r.exceededTransferLimit=n.getBool();break;case 13:t.addField(r,n.processMessage(_));break;case 15:i||(t.prepareFeatures(r),i=!0),t.addFeature(r,n.processMessageWithArgs(v,t,r,r.fields));break;case 2:r.uniqueIdField=n.processMessage(b);break;default:n.skip()}return t.finishFeatureResult(r),r}function I(e,t){const r={};let n=null;for(;e.next();)switch(e.tag()){case 4:n=e.processMessageWithArgs(y);break;case 1:r.featureResult=e.processMessageWithArgs(A,t);break;default:e.skip()}return null!=n&&r.featureResult&&t.addQueryGeometry(r,n),r}function P(e,t){try{const r=2,n=new i.A(new Uint8Array(e),new DataView(e)),s={};for(;n.next();)n.tag()===r?s.queryResult=n.processMessageWithArgs(I,t):n.skip();return s}catch(e){throw new n.A("query:parsing-pbf","Error while parsing FeatureSet PBF payload",{error:e})}}},55674:(e,t,r)=>{r.d(t,{Ad:()=>h,Gj:()=>y,QY:()=>f,lL:()=>g,xR:()=>p});var n=r(66131),i=r(49186),s=(r(44208),r(44729)),o=r(15032),a=r(65864),l=r(95466),c=r(43668),u=r(98623);const d=["geometry","scale","timeProperties"];function f(e,t){if(null!=t)for(const r of d)t.hasArcadeDependency(r)&&e.add(r);return e}function h(e,t){return m.create(e,t,null,["$feature","$view"])}function p(e,t,r){return m.create(e,t,r,["$feature","$view","$config"])}class m{static async create(e,t,r,n){const{arcade:s,Dictionary:o}=await(0,c.l)();let a;try{a=s.parseScript(e)}catch(t){throw new i.A("arcade-bad-expression","Failed to parse arcade script",{script:e,error:t})}const l=s.scriptUsesGeometryEngine(a);l&&await s.enableGeometrySupport(),await s.loadDependentModules(new Set,a,null,!1,l);const u={vars:n.reduce((e,t)=>({...e,[t]:null}),{}),spatialReference:t,useAsync:!1},d=s.compileScript(a,u);let f=null;null!=r&&(f=new o(r),f.immutable=!0);const h=new o;return h.immutable=!1,h.setField("scale",0),new m(e,s,a,d,t,h,f,o)}constructor(e,t,r,n,i,s,o,a){this.script=e,this._arcade=t,this._syntaxTree=r,this._compiled=n,this._spatialReference=i,this._viewDict=s,this._configDict=o,this._dictionaryCtor=a,this._dependencies=new Map,this._featureReader=new y,this._dependencies.set("geometry",t.scriptTouchesGeometry(this._syntaxTree)),this._dependencies.set("scale",this._arcade.referencesMember(this._syntaxTree,"scale")),this._dependencies.set("timeProperties",this._arcade.scriptUsesViewProperties(this._syntaxTree,["timeProperties"]))}evaluate(e,t){const r=t.$view?.timeZone;if(t.$view){let e;if(this._viewDict.setField("scale",t.$view.scale),null!=t.$view.timeProperties){const{currentStart:i,currentEnd:s}=t.$view.timeProperties;e=new this._dictionaryCtor({currentStart:null!=i?null!=r?n.lY.epochToArcadeDate(i,r):n.lY.unknownEpochToArcadeDate(i):void 0,currentEnd:null!=s?null!=r?n.lY.epochToArcadeDate(s,r):n.lY.unknownEpochToArcadeDate(s):void 0,startIncluded:!0,endIncluded:!0})}this._viewDict.setField("timeProperties",e)}return this._compiled({vars:{$view:this._viewDict,$config:this._configDict,$feature:e},spatialReference:this._spatialReference,timeZone:r})}repurposeFeature(e,t){return this._featureReader.bind(e,t,this._spatialReference),this._featureReader}references(e){return this._dependencies.get(e)??!1}}class y{constructor(){this._boundTarget=null,this._boundSchema={fields:null,fieldsIndex:null,spatialReference:null,get geometryType(){return null},get objectIdField(){return null}},this.arcadeDeclaredClass="esri.arcade.Feature",this._contextTimeZone=null}bind(e,t,r){const n=t??new l.A(g(e.attributes));this._boundTarget=e,this._boundSchema.fields=n.fields,this._boundSchema.fieldsIndex=n,this._boundSchema.spatialReference=r}_getField(e){return this._boundSchema.fieldsIndex.get(e)}get contextTimeZone(){return this._contextTimeZone}set contextTimeZone(e){this._contextTimeZone=e}readArcadeFeature(){return this}hasField(e){return this._boundSchema.fieldsIndex.has(e)}geometry(){if("fromJSON"in this._boundTarget)return this._boundTarget.geometry;const e=(0,a.rS)(this._boundTarget.geometry);if(e){if(!this._boundSchema.spatialReference)throw new Error("InternalError: Expected spatial reference to be defined");e.spatialReference=this._boundSchema.spatialReference}return e}isUnknownDateTimeField(e){return this._boundSchema.fieldsIndex.getTimeZone(e)===u.L5}field(e,t=!0){const r=this._getField(e);if(r){const t=this._boundTarget.attributes[r.name];if(null==t)return null;switch(r.type){case"date-only":case"esriFieldTypeDateOnly":return s.n.fromReader(t);case"time-only":case"esriFieldTypeTimeOnly":return o.k.fromReader(t);case"esriFieldTypeTimestampOffset":case"timestamp-offset":return n.lY.fromReaderAsTimeStampOffset(t);case"date":case"esriFieldTypeDate":return this.isUnknownDateTimeField(e)?n.lY.unknownEpochToArcadeDate(t):n.lY.epochToArcadeDate(t,this.contextTimeZone??u.qU);default:return t}}if(t)throw new Error(`Field ${e} does not exist`);return null}setField(e,t){throw new Error("Unable to update feature attribute values, feature is readonly")}keys(){return this._boundSchema.fieldsIndex.fields.map(e=>e.name)}castToText(e=!1){return JSON.stringify(this._boundTarget)}gdbVersion(){return null}fullSchema(){return this._boundSchema}castAsJson(e=null){return{attributes:this._boundTarget.attributes,geometry:!0===e?.keepGeometryType?this.geometry():this.geometry()?.toJSON()??null}}castAsJsonAsync(e=null,t=null){return Promise.resolve(this.castAsJson(t))}}function g(e){const t=[];for(const r in e)t.push({name:r,alias:r,type:"string"==typeof e[r]?"esriFieldTypeString":"esriFieldTypeDouble"});return t}},58501:(e,t,r)=>{r.d(t,{q:()=>i});var n=r(62815);function i(e,t,r){if(!r?.features||!r.hasZ)return;const i=(0,n.N)(r.geometryType,t,e.outSpatialReference);if(null!=i)for(const e of r.features)i(e.geometry)}},60999:(e,t,r)=>{r.d(t,{DZ:()=>p,Ke:()=>h,Tj:()=>u,UT:()=>m,jJ:()=>c});var n=r(31635),i=r(65008),s=r(97768),o=r(74887),a=r(10107),l=r(40608);function c(e,t,r){return(0,o.Lx)(e.map((e,n)=>t.apply(r,[e,n])))}async function u(e,t,r){return(await(0,o.Lx)(e.map((e,n)=>t.apply(r,[e,n])))).map(e=>e.value)}function d(e){return{ok:!0,value:e}}function f(e){return{ok:!1,error:e}}async function h(e){if(null==e)return{ok:!1,error:new Error("no promise provided")};try{return d(await e)}catch(e){return f(e)}}async function p(e){try{return d(await e)}catch(e){return(0,o.QP)(e),f(e)}}function m(e,t){return new y(e,t)}let y=class extends i.A{get value(){return null!=(e=this._result)&&!0===e.ok?e.value:null;var e}get error(){return null!=(e=this._result)&&!1===e.ok?e.error:null;var e}get finished(){return null!=this._result}constructor(e,t){super({}),this._result=null,this._abortHandle=null,this.abort=()=>{this._abortController=(0,s.DC)(this._abortController)},this.remove=this.abort,this._abortController=new AbortController;const{signal:r}=this._abortController;this.promise=e(r),this.promise.then(e=>{this._result=d(e),this._cleanup()},e=>{this._result=f(e),this._cleanup()}),this._abortHandle=(0,o.u7)(t,this.abort)}normalizeCtorArgs(){return{}}destroy(){this.abort()}_cleanup(){this._abortHandle=(0,s.xt)(this._abortHandle),this._abortController=null}};(0,n.Cg)([(0,a.MZ)()],y.prototype,"value",null),(0,n.Cg)([(0,a.MZ)()],y.prototype,"error",null),(0,n.Cg)([(0,a.MZ)()],y.prototype,"finished",null),(0,n.Cg)([(0,a.MZ)()],y.prototype,"promise",void 0),(0,n.Cg)([(0,a.MZ)()],y.prototype,"_result",void 0),y=(0,n.Cg)([(0,l.$)("esri.core.asyncUtils.ReactiveTask")],y)},62815:(e,t,r)=>{r.d(t,{N:()=>o});var n=r(83047),i=r(73941),s=r(21325);function o(e,t,r){if(null==t||null==r||r.vcsWkid||(0,s.aI)(t,r)||(0,i.xP)(t)||(0,i.xP)(r))return null;const o=(0,n.G9)(t)/(0,n.G9)(r);if(1===o)return null;switch(e){case"point":case"esriGeometryPoint":return e=>function(e,t){null!=e?.z&&(e.z*=t)}(e,o);case"polyline":case"esriGeometryPolyline":return e=>function(e,t){if(e)for(const r of e.paths)for(const e of r)e.length>2&&(e[2]*=t)}(e,o);case"polygon":case"esriGeometryPolygon":return e=>function(e,t){if(e)for(const r of e.rings)for(const e of r)e.length>2&&(e[2]*=t)}(e,o);case"multipoint":case"esriGeometryMultipoint":return e=>function(e,t){if(e)for(const r of e.points)r.length>2&&(r[2]*=t)}(e,o);case"extent":case"esriGeometryEnvelope":return e=>function(e,t){e&&null!=e.zmin&&null!=e.zmax&&(e.zmin*=t,e.zmax*=t)}(e,o);default:return null}}},63578:(e,t,r)=>{r.d(t,{I:()=>o});var n=r(47522),i=r(96598),s=r(31821);function o(e,t){const{vertex:r,fragment:o}=e;e.include(i.Z,t),r.include(n.K),r.main.add(s.H`vec4 posProjCenter;
|
|
337
|
+
if (dot(position, position) > 0.0) {
|
|
338
|
+
ProjectHUDAux projectAux;
|
|
339
|
+
vec4 posProj = projectPositionHUD(projectAux);
|
|
340
|
+
posProjCenter = alignToPixelCenter(posProj, viewport.zw);
|
|
341
|
+
forwardViewPosDepth(projectAux.posView);
|
|
342
|
+
vec3 vpos = projectAux.posModel;
|
|
343
|
+
if (rejectBySlice(vpos)) {
|
|
344
|
+
posProjCenter = vec4(1e038, 1e038, 1e038, 1.0);
|
|
345
|
+
}
|
|
346
|
+
} else {
|
|
347
|
+
posProjCenter = vec4(1e038, 1e038, 1e038, 1.0);
|
|
348
|
+
}
|
|
349
|
+
gl_Position = posProjCenter;
|
|
350
|
+
gl_PointSize = 1.0;`),o.main.add(s.H`fragColor = vec4(1);
|
|
351
|
+
if(discardByTerrainDepth()) {
|
|
352
|
+
fragColor.g = 0.5;
|
|
353
|
+
}`)}},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}},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}},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(),f=a(),h=l(),p=c(),m=u();Object.freeze(Object.defineProperty({__proto__:null,ONES:f,UNIT_X:h,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 f=new Set(e.authoringInfo.symbol);for(const e of Object.keys(r))f.delete(e);f.size&&i.A.getLogger("esri.renderers.support.DictionaryScriptEvaluator").warnOnce("missing-fields: fieldMap entries for the following symbol fields are missing",{symbolFields:f});const h=await(0,a.xR)(e.expression,null,d);if(!h)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,h,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,{EC:()=>T,wq:()=>a});var n=r(4576),i=r(21818),s=(r(44208),r(15142)),o=r(11006);class a{constructor(e=9,t){this._compareMinX=f,this._compareMinY=h,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(),w.prune(),x.prune(),C.prune(),S.prune()}all(e){l(this._data,e)}search(e,t){let r=this._data;const n=this._toBBox;if(b(e,r))for(w.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):w.push(s))}r=w.pop()}}collides(e){let t=this._data;const r=this._toBBox;if(!b(e,t))return!1;for(w.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;w.push(i)}}t=w.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 I([]),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(),S.clear();r||C.length>0;){if(r||(r=C.pop(),s=C.data[C.length-1],o=S.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),S.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 I(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 P([]);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=y(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 I(o):new P(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 P([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=g(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:f,i=e.leaf?this._compareMinY:h;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(x.clear();r;){if(!0===r.leaf)for(const e of r.children)t((0,i.zI)(e));else x.pushArray(r.children);r=x.pop()??null}}function c(e,t){u(e,0,e.children.length,t,e)}function u(e,t,r,n,i){i||(i=new I([])),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 f(e,t){return e.minX-t.minX}function h(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 y(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 g(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 w=new s.A,x=new s.A,C=new s.A,S=new s.A({deallocator:void 0});class T{constructor(){this.minX=1/0,this.minY=1/0,this.maxX=-1/0,this.maxY=-1/0}}class A extends T{constructor(){super(...arguments),this.height=1,this.indexHint=new n.vW}}class I extends A{constructor(e){super(),this.children=e,this.leaf=!0}}class P extends A{constructor(e){super(),this.children=e,this.leaf=!1}}},76357:(e,t,r)=>{r.d(t,{A:()=>u});var n=r(31635),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.o{constructor(e){super(e),this.name=null,this.type=null}};(0,n.Cg)([(0,o.MZ)({type:String,json:{write:!0}})],u.prototype,"name",void 0),(0,n.Cg)([(0,a.e)(c),(0,o.MZ)({json:{write:{isRequired:!0}}})],u.prototype,"type",void 0),u=(0,n.Cg)([(0,l.$)("esri.layers.support.Domain")],u)},77121:(e,t,r)=>{r.r(t),r.d(t,{default:()=>Qr});var n=r(31635),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),f=r(16930),h=r(56390),p=r(61956),m=r(65494);class y{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 y(e,e.createRenderCommandBuffer(),t)}}var g=r(68197),_=r(18574),b=r(87403),v=r(28975);function w(){return new _.A({material:new v.N({color:new g.A("red")})})}var x=r(9093),C=r(51850),S=r(91829),T=r(6847),A=r(83047),I=r(58083),P=r(87317),B=r(70328),M=r(19419);r(12359),r(95108),r(27615),r(52106),r(4718),r(34275),r(65864);var R=r(37585),O=r(48163),E=r(34727),F=r(26857);new Map,(()=>{let e="";for(let t=32;t<127;t++)e+=String.fromCharCode(t)})();const j=[];{const e=16;for(let t=0;t<360;t+=360/e)j.push([Math.cos(Math.PI*t/180),Math.sin(Math.PI*t/180)])}Object.freeze({left:0,center:.5,right:1});const D=Object.freeze({"bottom-left":(0,O.fA)(0,0),bottom:(0,O.fA)(.5,0),"bottom-right":(0,O.fA)(1,0),left:(0,O.fA)(0,.5),center:(0,O.fA)(.5,.5),right:(0,O.fA)(1,.5),"top-left":(0,O.fA)(0,1),top:(0,O.fA)(.5,1),"top-right":(0,O.fA)(1,1)});var k=r(9762),V=r(27993);function z(e){const{featureCount:t}=e;if(0===t)return new Uint32Array;const r=new Uint32Array(t);return e.getObjectIdsArray(r),r}function L(e){const{featureCount:t}=e;if(0===t)return new Float64Array;const r=new Float64Array(3*t);return e.getCoordinatesArray(r),r}function U(e,t){const r=t.viewSpatialReference,n=t.renderSpatialReference,{extent:i}=e,s=(0,M.gX)(i),o=(0,C.vt)();return(0,V.F)([s[0],s[1],0],r,o,n),o}var q=r(97146);function G(e){const t=new Map;for(const[r,n]of e)t.set(r,{...n,indices:(0,q.Dg)(n.indices)});return t}var N=r(40804);r(48833);const H=(0,S.CN)(.25,.25,.75,.75);function $(e){return"cross"===e||"x"===e}function Y(e,t=128,r=.5*t,n=0){switch(e){case"circle":default:return function(e,t){const r=e/2-.5;return Q(e,W(r,r,t/2))}(t,r);case"square":return function(e,t){return Z(e,t,!1)}(t,r);case"cross":return function(e,t,r=0){return X(e,t,!1,r)}(t,r,n);case"x":return function(e,t,r=0){return X(e,t,!0,r)}(t,r,n);case"kite":return function(e,t){return Z(e,t,!0)}(t,r);case"triangle":return function(e,t){return Q(e,J(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=W(i,(e-t)/2-s,Math.sqrt(s*s+n*n)),a=J(i,r,n);return Q(e,(e,t)=>Math.max(a(e,t),-o(e,t)))}(t,r)}}function Z(e,t,r){return r&&(t/=Math.SQRT2),Q(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 X(e,t,r,n=0){t-=n,r&&(t*=Math.SQRT2);const i=.5*t;return Q(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 W(e,t,r){return(n,i)=>{const s=n-e,o=i-t;return Math.sqrt(s*s+o*o)-r}}function J(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 Q(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,N.Un)(o,r,4*s)}return r}var K=r(46610);class ee{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:Y(e,t,r,n),parameters:{mipmap:!1,wrap:{s:33071,t:33071},width:t,height:t,components:4,noUnpackFlip:!0,reloadable:!0}}}("circle"));this._iconTextureID=t;const r={anchorPosition:D.center,occlusionTest:!0,hasSlicePlane:!1,color:this._getFillColor(),outlineColor:this._getOutlineColor(),outlineSize:1,distanceFieldBoundingBox:H,textureId:t,textureIsSignedDistanceField:!0,sampleSignedDistanceFieldTexelCenter:$("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=U(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=z(e),o=L(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]),f=new Float64Array([0,0]),h=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 y=[["position",new K.n(a,p,3,!0)],["normal",new K.n(l,m,3,!0)],["uv0",new K.n(f,m,2,!0)],["color",new K.n(c,m,4,!0)],["rotation",new K.n(h,m,1,!0)],["size",new K.n(u,m,2,!0)],["centerOffsetAndDistance",new K.n(d,m,4,!0)]],g=new Uint8Array(i);return e.getVisibilityArray(g),{attributes:G(y),olidColor:void 0,transformation:(0,x.vt)(),materialId:t,objectIds:s,visibilities:g}}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=U(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):y.create(r),n.appendPipelineStateCommand(()=>this._destroy()),n}_getOutlineColor(){const e=this._getLayerOpacity(),t=this._symbolLayer,r=t?.outline?.color;if(null!=r){const t=g.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 re;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=te){const r=this._draped?1:this._getLayerOpacity();return e?r*e.a:t.hasIntrinsicColor?r:0}_getCombinedOpacityAndColor(e,t=te){const r=this._getCombinedOpacity(e,t);return function(e,t,r=null){const n=(0,S.o8)(S.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,P.c)(n,n,r),n}(null!=e?g.A.toUnitRGB(e):C.Un,r)}_getPrimitive(){return e=this._symbolLayer,e.resource?.href?null:e.resource?.primitive??T.r;var e}}const te={hasIntrinsicColor:!1},re=S.uY;class ne{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 ie{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 se=r(48353),oe=r(30809),ae=r(8887),le=r(38954),ce=r(72385),ue=(r(4197),r(11868)),de=r(27921),fe=(r(71351),r(73941));function he(e,t){const r=e[t],n=e[t+1],i=e[t+2];return Math.sqrt(r*r+n*n+i*i)}function pe(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}function me(e,t,r){e[t]*=r,e[t+1]*=r,e[t+2]*=r}r(37539),r(20498),r(87170),(0,O.vt)(),(0,O.vt)();var ye=r(620);const ge=new Array(36);for(let e=0;e<6;e++)for(let t=0;t<6;t++)ge[6*e+t]=e;const _e=new Array(36);for(let e=0;e<6;e++)_e[6*e]=0,_e[6*e+1]=1,_e[6*e+2]=2,_e[6*e+3]=2,_e[6*e+4]=3,_e[6*e+5]=0;const be=(0,ce.fA)(-.5,0,-.5),ve=(0,ce.fA)(.5,0,-.5),we=(0,ce.fA)(0,0,.5),xe=(0,ce.fA)(0,.5,0),Ce=(0,ce.vt)(),Se=(0,ce.vt)(),Te=(0,ce.vt)(),Ae=(0,ce.vt)(),Ie=(0,ce.vt)();(0,le.d)(Ce,be,xe),(0,le.d)(Se,be,ve),(0,le.h)(Te,Ce,Se),(0,le.n)(Te,Te),(0,le.d)(Ce,ve,xe),(0,le.d)(Se,ve,we),(0,le.h)(Ae,Ce,Se),(0,le.n)(Ae,Ae),(0,le.d)(Ce,we,xe),(0,le.d)(Se,we,be),(0,le.h)(Ie,Ce,Se),(0,le.n)(Ie,Ie),Te[0],Te[1],Te[2],Ae[0],Ae[1],Ae[2],Ie[0],Ie[1],Ie[2],(0,C.vt)();var Pe=r(4576),Be=r(69397);r(6867),r(87582);var Me=r(57917);function Re(e,t){const r=(e,r,n=!1)=>({levels:e.map(e=>{const i=G(r(e.tesselation));return n&&function(e){const t=e,r=t.get("position").data,n=t.get("normal").data;if(n){const t=Oe(e,"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=Oe(e,"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,olidColor:void 0,transformation:null,materialId:t,visibilities:new Uint8Array([1]),objectIds:new Uint32Array([-1])}],minScreenSpaceRadius:e.minScreenSpaceRadius}})});switch(e){case"cone":return r(Ee,e=>function(e,t,r,n,i=!0,s=!0){let o=0;const a=t,l=e;let c=(0,ce.fA)(0,o,0),u=(0,ce.fA)(0,o+l,0),d=(0,ce.fA)(0,-1,0),f=(0,ce.fA)(0,1,0);n&&(o=l,u=(0,ce.fA)(0,0,0),c=(0,ce.fA)(0,o,0),d=(0,ce.fA)(0,1,0),f=(0,ce.fA)(0,-1,0));const h=[u,c],p=[d,f],m=r+2,y=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,ce.fA)(Math.cos(t)*a,o,Math.sin(t)*a);h.push(n);const i=(0,ce.fA)(l*Math.cos(t)/y,-a/y,l*Math.sin(t)/y);p.push(i)}else for(let e=0;e<r;e++){const t=e*(2*Math.PI/r),n=(0,ce.fA)(Math.cos(t)*a,o,Math.sin(t)*a);h.push(n);const i=(0,ce.fA)(l*Math.cos(t)/y,a/y,l*Math.sin(t)/y);p.push(i)}const g=new Array,_=new Array;if(i){for(let e=3;e<h.length;e++)g.push(1),g.push(e-1),g.push(e),_.push(0),_.push(0),_.push(0);g.push(h.length-1),g.push(2),g.push(1),_.push(0),_.push(0),_.push(0)}if(s){for(let e=3;e<h.length;e++)g.push(e),g.push(e-1),g.push(0),_.push(e),_.push(e-1),_.push(1);g.push(0),g.push(2),g.push(h.length-1),_.push(1),_.push(2),_.push(p.length-1)}const b=(0,ue.oe)(3*m);for(let e=0;e<m;e++)b[3*e]=h[e][0],b[3*e+1]=h[e][1],b[3*e+2]=h[e][2];const v=(0,ue.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[["position",new K.n(b,g,3,!0)],["normal",new K.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)me(i,t,e/he(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,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]}(i,3*t,i,3*r,i,s),me(i,s,e/he(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,ue.Wz)(i);for(let e=0;e<l.length;e+=3)pe(l,e);return[["position",new K.n((0,ue.Wz)(i),s,3,!0)],["normal",new K.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 Oe(e,t){let r=e.get(t);return r&&!r.exclusive&&(r={...r,exclusive:!0,data:(0,Me.S)(r.data)},e.set(t,r)),r}const Ee=[{tesselation:6,minScreenSpaceRadius:0},{tesselation:18,minScreenSpaceRadius:7},{tesselation:64,minScreenSpaceRadius:65}];var Fe=r(2495),je=r(74810);class De{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:je.Bt,ambient:C.Un,diffuse:C.Un,hasSlicePlane:!1,castShadows:!0,layerOpacity:t,offsetTransparentBackfaces:!1,screenSizePerspective:{}};if(r.externalColor=S.Un,r.instanced=!0,this._isPrimitive){const e=new Fe.fs;e.layerOpacity=t,r={...r,cullFace:ke((0,Fe.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:oe.r;const s=Re(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 y(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||oe.r,a=(0,B.vt)((0,ae.Fq)(o)),l=(0,C.ci)((0,B.Ej)(a)),c=(0,C.ci)((0,ae.Bb)(l,{isPrimitive:s,width:100,depth:null,height:null})),u=new Float64Array(16*i),d=new Float64Array(16*i),f=L(e),h=await n.applyElevationAlignmentTo(f);for(let e=0;e<i;++e){const t=e,r=h[3*e+0],n=h[3*e+1],i=h[3*e+2],s=this._computeGlobalTransform(r,n,i,this._context.viewSpatialReference,Le),o=this._computeLocalTransform(c,l,ze);this._writeMatrixToTypedBuffer(u,t,o),this._writeMatrixToTypedBuffer(d,t,s)}const p=z(e),m=new Uint8Array(i);e.getVisibilityArray(m);const y={featureIds:new Uint32Array(p),visibility:m,localTransforms:u,globalTransforms:d};return t.createPipelineCommand(r.addLodInstances(this._lodRendererId,e.id,y))}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 Fe.fs;e.layerOpacity=i,s={...s,cullFace:ke((0,Fe.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=L(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,Le);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 Ve[0]=e,Ve[1]=t,Ve[2]=r,(0,se.l)(n,Ve,i,this._context.renderSpatialReference),i}_computeLocalTransform(e,t,r){return(0,I.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,I.hs)(r,r,n)}_getLayerOpacity(){return this._context.layerViewInfo.fullOpacity}}function ke(e){return e?0:2}const Ve=(0,C.vt)(),ze=(0,x.vt)(),Le=(0,x.vt)();class Ue{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 ee(w(),this._context),this._symbols[1]=new De(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 y(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 y(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=z(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 qe(r,e.subset(new Uint32Array(t)))).filter(e=>e.features.featureCount>0)}}class qe{constructor(e,t){this.index=e,this.features=t}}class Ge{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 Ne(this)}createPipelineCommand(e=this.renderCommandContext.createRenderCommandBuffer(),t=[]){return new y(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 Ne{constructor(e){this.context=e}createSymbolRendererFromJSON(e){const t=(0,m.L)(e??He)??void 0;if(!t)throw new Error("Failed to create renderer");const r=t.type;switch(r){case"simple":return new ie(t,this.context);case"unique-value":return new Ue(t,this.context);default:return console.warn(`Unable to create symbolrenderer for renderer of ${r}`),this.createSymbolRendererFromJSON(He)}}createSymbolRendererFromSymbol(e){const t=e?.type;switch(t){case"point-3d":return new ne(e,this.context);case"picture-marker":case"simple-marker":return new ee(w(),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 ee(e,this.context):(console.warn(`Unable to create symbolrenderer for symbolLayer of ${t}`),null)}}const He={type:"simple"};var $e=r(65008),Ye=r(60999),Ze=r(32587),Xe=r(96211),We=r(24326);function Je(e=""){return`${e}${(0,We.c)()}`}new Float64Array(3);class Qe{constructor(e,t){this._parent=e,this._subsetIndices=t,this.id=Je(`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+Be.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 Qe(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 Ke{constructor(e){this._tile=e,this.id=Je(`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 Be.qK+(0,Be.$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 Qe(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 et=class extends $e.A{constructor(e){super(e),this.extent=null,this._tileHandles=new Ze.A,this._wanted=new Ze.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,M.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,Ye.UT)(async()=>{try{await(0,o.C_)(()=>e?.finished??!0),await(0,Xe.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=>!e.extent||(0,M.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=>tt(t,e)||tt(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.mS)(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.hk)(e)}}}async _addTile(e){const{_tileHandles:t}=this,r=t.get(e.id);if(null!=r){if(!nt(r)||r.featureData.isFullyEnabled)return;return r.featureData.enableAll(),void await this._onTileLoad(r)}const n=new rt(e,(0,Ye.UT)(async t=>{const r=await this.loadTile(e,t);return(0,s.Te)(t),new Ke(r)}));this._tileHandles.set(n.id,n);try{await n.loadTask.promise}catch(e){return void(0,s.jH)(e)}(function(e){if(!nt(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=>tt(e,n)||tt(n,e))){i.delete(c),t.loadTask.abort();const{featureData:e}=t;null!=e&&a.push(e);continue}if(nt(t)){if(tt(o,n)){const e=t.featureData;for(const t of e.objectIds())u.add(t)}if(tt(n,o)){const{featureData:e}=t;l.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.mS)(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 f=a.map(e=>this.createRemoveCommand(e.id)),h=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([...f,...h,...p])).filter(Pe.Ru));await(m?.execute())}catch(e){t.error=e,t.hasError=!0}finally{(0,n.hk)(t)}}_validate(){if(!(0,l.A)("feature-pipeline-3d-test-validation"))return;const e=new Array;for(const t of this._tileHandles.values()){if(!nt(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 tt({lij:[e,t,r]},{lij:[n,i,s]}){const o=n-e;return o>=0&&t===i>>o&&r===s>>o}(0,n.Cg)([(0,a.MZ)()],et.prototype,"updating",null),(0,n.Cg)([(0,a.MZ)({constructOnly:!0})],et.prototype,"loadTile",void 0),(0,n.Cg)([(0,a.MZ)({constructOnly:!0})],et.prototype,"createAddCommand",void 0),(0,n.Cg)([(0,a.MZ)({constructOnly:!0})],et.prototype,"createRemoveCommand",void 0),(0,n.Cg)([(0,a.MZ)({constructOnly:!0})],et.prototype,"createUpdateCommand",void 0),(0,n.Cg)([(0,a.MZ)({constructOnly:!0})],et.prototype,"tileLocks",void 0),(0,n.Cg)([(0,a.MZ)()],et.prototype,"extent",void 0),(0,n.Cg)([(0,a.MZ)()],et.prototype,"_boundingRect",null),(0,n.Cg)([(0,a.MZ)()],et.prototype,"_missingTiles",null),(0,n.Cg)([(0,a.MZ)()],et.prototype,"_updateRequested",void 0),(0,n.Cg)([(0,a.MZ)()],et.prototype,"_synchronizationTask",void 0),et=(0,n.Cg)([(0,c.$)("esri.views.3d.layers.graphics.pipeline.Tile3DManager")],et);class rt{constructor(e,t){this.descriptor=e,this.loadTask=t}get id(){return this.descriptor.id}get featureData(){return this.loadTask.value}}function nt(e){return null!=e.featureData}var it=r(36563);class st{constructor(){this._previousActions=new Map}async lock(e){const{_previousActions:t}=this,r=e.map(e=>t.get(e)).filter(Pe.Ru),n=Promise.allSettled(r),i=(0,s.Tw)(),o=(0,it.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,it.Bf)(o)}}var ot=r(75503),at=r(27647),lt=r(92722);class ct{constructor(e,t){this._index=e,this._view=t}get usedMemory(){return Be.qK+Be.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 ut(this._index,this._view,e)}}class ut extends ct{constructor(e,t,r){super(e,t),this._geometryOverride=r}getOptimizedGeometry(){return this._geometryOverride}getCentroid(e){return(0,at.Q)(new lt.A,this._geometryOverride,e.hasZ,e.hasM)}}class dt{constructor(e,t){this.featureData=e,this.bounds=t}}class ft{constructor(){this._tileBounds=new Map,this.events=new i.bk,this.featureAdapter=ht.shared}get usedMemory(){return Be.qK+Be.qK*this._tileBounds.size}addTile(e){const{featureCount:t}=e;if(0===t)return;const r=new ot.wq(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 dt(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 ct(r,t))})}forEachInBounds(e,t){pt.minX=e[0],pt.minY=e[1],pt.maxX=e[2],pt.maxY=e[3];for(const{featureData:e,bounds:r}of this._tileBounds.values())r.search(pt,r=>{e.getEnabled(r)&&t(new ct(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 ht{static{this.shared=new ht}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 pt=new ot.EC;var mt=r(80893);class yt{constructor(e,t,r){this.descriptor=e,this._pages=t,this._pageSize=r;const n=Be.ez+t.reduce((e,{usedMemory:t})=>e+t,0),i=3*Be.RS;this.usedMemory=Be.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 gt=r(49186),_t=r(51624),bt=r(62577),vt=r(95466),wt=r(53655);class xt{constructor(e){this._reader=new _t.A(new Uint8Array(e),new DataView(e)),this._index=function(e){for(;e.next();){if(2===e.tag())return Ct(e.getMessage());e.skip()}Tt()}(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),At(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]=At(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 lt.A([],t)}getCentroid(e,{hasZ:t,hasM:r}){this.getCoordinates(e,It);const[n,i,s]=It,o=[n,i];return t&&(o[3]=s),r&&(o[t?4:3]=0),new lt.A([],o)}getBounds(e){this.getCoordinates(e,It);const[t,r]=It,n=new ot.EC;return n.minX=t,n.minY=r,n.maxX=t,n.maxY=r,n}getBoundingBox(e){this.getCoordinates(e,It);const[t,r,n]=It;return(0,B.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++]=At(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 At(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 Ct(e){for(;e.next();){if(1===e.tag())return St(e.getMessage());e.skip()}Tt()}function St(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()&&Tt();break;case 9:n=e.getBool()??!1;break;case 12:t=(0,bt.Q1)(e.processMessage(wt.ae));break;case 13:{const t=e.processMessage(wt.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 vt.A(o);return null!=t&&i&&null!=r&&c.has(r)||Tt(),{transform:t,exceededTransferLimit:n,fieldsIndex:c,objectIdFieldName:r,featureIndices:a,attributeIndices:l}}function Tt(){const e=new gt.A("pbf-parsing-failed","Error while parsing PBF",new Error);throw console.error(e),e}function At(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 It=(0,C.vt)();class Pt{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,M.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 yt(e,a,n)}async _fetchPage(e,t,r){const n=e.clone();n.start=t*this._pageSize;const i=(await(0,mt.kS)(this.url,n,{signal:r})).data;return(0,s.Te)(r),new xt(i)}}var Bt=r(29920),Mt=r(77690),Rt=r(29242);var Ot=r(13030),Et=r(78662),Ft=r(49255),jt=r(40268),Dt=r(16943),kt=r(25634),Vt=r(11725),zt=r(77194);class Lt{constructor(){this.scale=0,this.factor=0,this.minScaleFactor=0}}var Ut=r(59907),qt=r(43616),Gt=r(13259),Nt=r(1843),Ht=r(97220),$t=r(98958),Yt=r(33524),Zt=r(63907),Xt=r(90644);class Wt extends $t.w{constructor(e,t){super(e,t,new Ht.$(Gt.H,()=>r.e(8241).then(r.bind(r,48241))),((0,Dt.E)()?Kt:Qt).locations),this.primitiveType=t.occlusionPass?Zt.WR.POINTS:Zt.WR.TRIANGLES}initializePipeline(e){const{oitPass:t,hasPolygonOffset:r,draped:n,output:i,depthTestEnabled:s,occlusionPass:o}=e,a=0===t,l=s&&!n&&!(1===t)&&!o&&!(9===i);return(0,Xt.Ey)({blending:(0,Ft.RN)(i)?a?Xt.RC:(0,Yt.ez)(t):null,depthTest:s&&!n?{func:515}:null,depthWrite:l?Xt.Uy:null,drawBuffers:(0,Yt.m6)(t,i),colorWrite:Xt.kn,polygonOffset:r?Jt:null})}}const Jt={factor:0,units:-4},Qt=(0,Nt.BP)().vec3f("position").vec3f("normal").vec2i16("uvi").vec4u8("color").vec2f("size").f32("rotation").vec4f("centerOffsetAndDistance").vec4f("featureAttribute"),Kt=Qt.clone().vec4u8("olidColor");var er=r(51976),tr=r(35256);class rr extends tr.E{constructor(e){super(),this.spherical=e,this.screenCenterOffsetUnitsEnabled=!1,this.occlusionTestEnabled=!0,this.signedDistanceFieldEnabled=!1,this.sampleSignedDistanceFieldTexelCenter=!1,this.hasVVSize=!1,this.hasVVColor=!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.horizonCullingEnabled=!0,this.isFocused=!0,this.olidColorInstanced=!1,this.textureCoordinateType=0,this.emissionSource=0,this.discardInvisibleFragments=!0,this.hasVVInstancing=!1,this.snowCover=!1}}(0,n.Cg)([(0,er.W)()],rr.prototype,"screenCenterOffsetUnitsEnabled",void 0),(0,n.Cg)([(0,er.W)()],rr.prototype,"occlusionTestEnabled",void 0),(0,n.Cg)([(0,er.W)()],rr.prototype,"signedDistanceFieldEnabled",void 0),(0,n.Cg)([(0,er.W)()],rr.prototype,"sampleSignedDistanceFieldTexelCenter",void 0),(0,n.Cg)([(0,er.W)()],rr.prototype,"hasVVSize",void 0),(0,n.Cg)([(0,er.W)()],rr.prototype,"hasVVColor",void 0),(0,n.Cg)([(0,er.W)()],rr.prototype,"hasVerticalOffset",void 0),(0,n.Cg)([(0,er.W)()],rr.prototype,"hasScreenSizePerspective",void 0),(0,n.Cg)([(0,er.W)()],rr.prototype,"hasRotation",void 0),(0,n.Cg)([(0,er.W)()],rr.prototype,"debugDrawLabelBorder",void 0),(0,n.Cg)([(0,er.W)()],rr.prototype,"hasPolygonOffset",void 0),(0,n.Cg)([(0,er.W)()],rr.prototype,"depthTestEnabled",void 0),(0,n.Cg)([(0,er.W)()],rr.prototype,"pixelSnappingEnabled",void 0),(0,n.Cg)([(0,er.W)()],rr.prototype,"draped",void 0),(0,n.Cg)([(0,er.W)()],rr.prototype,"terrainDepthTest",void 0),(0,n.Cg)([(0,er.W)()],rr.prototype,"cullAboveTerrain",void 0),(0,n.Cg)([(0,er.W)()],rr.prototype,"occlusionPass",void 0),(0,n.Cg)([(0,er.W)()],rr.prototype,"occludedFragmentFade",void 0),(0,n.Cg)([(0,er.W)()],rr.prototype,"horizonCullingEnabled",void 0),(0,n.Cg)([(0,er.W)()],rr.prototype,"isFocused",void 0);var nr=r(49788);class ir extends Vt.i{constructor(e,t){super(e,Pr),this.produces=new Map([[13,e=>(0,Ft.Mb)(e)&&!this.parameters.drawAsLabel],[14,e=>(0,Ft.Mb)(e)&&this.parameters.drawAsLabel],[12,()=>this.parameters.occlusionTest],[18,e=>this.parameters.draped&&(0,Ft.Mb)(e)]]),this._visible=!0,this._configuration=new rr(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.hasVVSize=!!this.parameters.vvSize,this._configuration.hasVVColor=!!this.parameters.vvColor,this._configuration.occlusionPass=12===t.slot,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||12===t.slot,(0,Ft.RN)(e)&&(this._configuration.debugDrawLabelBorder=!!F.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 f=e.attributes.get("featureAttribute"),h=null==f?null:(0,S.ci)(f.data,xr),{scaleX:p,scaleY:m}=Mr(h,d,u.pixelRatio);(0,Mt.z0)(yr,t),e.attributes.has("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),f=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*f,e[7]=l*f,e[8]=c*f}(yr);const y=e.attributes.get("position"),g=e.attributes.get("size"),_=e.attributes.get("normal"),b=e.attributes.get("rotation"),v=e.attributes.get("centerOffsetAndDistance");(0,ye.vA)(y.size>=3);const w=(0,Gt.c)(d),x="screen"===this.parameters.centerOffsetUnits;for(let e=0;e<y.data.length/y.size;e++){const n=e*y.size;(0,le.i)(cr,y.data[n],y.data[n+1],y.data[n+2]),(0,le.t)(cr,cr,t),(0,le.t)(cr,cr,u.viewMatrix);const i=e*v.size;if((0,le.i)(vr,v.data[i],v.data[i+1],v.data[i+2]),!x&&(cr[0]+=vr[0],cr[1]+=vr[1],0!==vr[2])){const e=vr[2];(0,le.n)(vr,cr),(0,le.d)(cr,cr,(0,le.g)(vr,vr,e))}const o=e*_.size;if((0,le.i)(ur,_.data[o],_.data[o+1],_.data[o+2]),or(ur,yr,u,Cr),Rr(this.parameters,cr,Cr,u,lr),u.applyProjection(cr,dr),dr[0]>-1){x&&(vr[0]||vr[1])&&(dr[0]+=vr[0]*u.pixelRatio,0!==vr[1]&&(dr[1]+=(0,zt.m0)(vr[1],lr.factorAlignment)*u.pixelRatio),u.unapplyProjection(dr,cr)),dr[0]+=this.parameters.screenOffset[0]*u.pixelRatio,dr[1]+=this.parameters.screenOffset[1]*u.pixelRatio,dr[0]=Math.floor(dr[0]),dr[1]=Math.floor(dr[1]);const t=e*g.size;Ar[0]=g.data[t],Ar[1]=g.data[t+1],(0,zt.MD)(Ar,lr.factor,Ar);const n=Sr*u.pixelRatio;let i=0;d.textureIsSignedDistanceField&&(i=Math.min(d.outlineSize,.5*Ar[0])*u.pixelRatio/2),Ar[0]*=p,Ar[1]*=m;const o=e*b.size,a=d.rotation+b.data[o];if(ar(c,dr[0],dr[1],Ar,n,i,a,d,w)){const e=r.ray;if((0,le.t)(hr,cr,(0,I.B8)(_r,u.viewMatrix)),dr[0]=c[0],dr[1]=c[1],u.unprojectFromRenderScreen(dr,cr)){const t=(0,C.vt)();(0,le.c)(t,e.direction);const r=1/(0,le.l)(t);(0,le.g)(t,t,r),s((0,le.j)(e.origin,cr)*r,t,-1,hr)}}}}}intersectDraped(e,t,r,n,i){const s=e.attributes.get("position"),o=e.attributes.get("size"),a=e.attributes.get("rotation"),l=this.parameters,c=(0,Gt.c)(l),u=e.attributes.get("featureAttribute"),d=null==u?null:(0,S.ci)(u.data,xr),{scaleX:f,scaleY:h}=Mr(d,l,e.screenToWorldRatio),p=Tr*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],y=t*o.size;Ar[0]=o.data[y],Ar[1]=o.data[y+1];let g=0;l.textureIsSignedDistanceField&&(g=Math.min(l.outlineSize,.5*Ar[0])*e.screenToWorldRatio/2),Ar[0]*=f,Ar[1]*=h;const _=t*a.size,b=l.rotation+a.data[_];ar(r,d,m,Ar,p,g,b,l,c)&&n(i.distance,i.normal,-1)}}createBufferWriter(){return new Br}applyShaderOffsetsView(e,t,r,n,i,s,o){const a=or(t,r,i,Cr);return this._applyVerticalGroundOffsetView(e,a,i,o),Rr(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,le.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,le.c)(i,e);const l=(0,E.qE)(Math.abs(t.cosAngle),.01,1),c=1-Math.sqrt(1-l*l)/l/n.viewport[2];return(0,le.g)(i,e,a>0?c:1/c),i}_applyVerticalGroundOffsetView(e,t,r,n){const i=(0,le.l)(e),s=r.aboveGround?1:-1,o=r.computeRenderPixelSizeAtDist(i)*jt.R,a=(0,le.g)(cr,t.normal,s*o);return(0,le.f)(n,e,a),n}_applyCenterOffsetView(e,t,r){const n="screen"!==this.parameters.centerOffsetUnits;return r!==e&&(0,le.c)(r,e),n&&(r[0]+=t[0],r[1]+=t[1],t[2]&&((0,le.n)(ur,r),(0,le.a)(r,r,(0,le.g)(ur,ur,t[2])))),r}_applyCenterOffsetNDC(e,t,r,n){const i="screen"!==this.parameters.centerOffsetUnits;return n!==e&&(0,le.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,le.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]>=nr.Q||t>=nr.Q&&r[3]>=nr.Q;return this._visible&&n}createGLMaterial(e){return new sr(e)}calculateRelativeScreenBounds(e,t,r=(0,M.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 sr extends kt.m8{constructor(e){super({...e,...e.material.parameters})}beginSlot(e){return this.updateTexture(this._material.parameters.textureId),this._material.setParameters(this.textureBindParameters),this.getTechnique(Wt,e)}}function or(e,t,r,n){return function(e){return(t=e)instanceof Float32Array&&t.length>=16||function(e){return Array.isArray(e)&&e.length>=16}(e);var t}(t)&&(t=(0,Mt.z0)(gr,t)),(0,le.o)(n.normal,e,t),(0,le.t)(n.normal,n.normal,r.viewInverseTransposeMatrix),n.cosAngle=(0,le.e)(fr,Ir),n}function ar(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],f=d+n[1]+2*i;const h=a.distanceFieldBoundingBox;return a.textureIsSignedDistanceField&&null!=h&&(c+=n[0]*h[0],d+=n[1]*h[1],u-=n[0]*(1-h[2]),f-=n[1]*(1-h[3]),c-=s,u+=s,d-=s,f+=s),(0,R.hZ)(mr,t,r),(0,R.e$)(pr,e,mr,(0,E.kU)(o)),pr[0]>c&&pr[0]<u&&pr[1]>d&&pr[1]<f}const lr=new class{constructor(){this.factor=new Lt,this.factorAlignment=new Lt}},cr=(0,C.vt)(),ur=(0,C.vt)(),dr=(0,S.vt)(),fr=(0,C.vt)(),hr=(0,C.vt)(),pr=(0,O.vt)(),mr=(0,O.vt)(),yr=(0,Rt.vt)(),gr=(0,Rt.vt)(),_r=(0,x.vt)(),br=(0,S.vt)(),vr=(0,C.vt)(),wr=(0,C.vt)(),xr=(0,S.vt)(),Cr={normal:fr,cosAngle:0},Sr=1,Tr=2,Ar=(0,O.fA)(0,0),Ir=(0,C.fA)(0,0,1);class Pr extends kt.NV{constructor(){super(...arguments),this.renderOccluded=1,this.isDecoration=!1,this.color=(0,S.CN)(1,1,1,1),this.polygonOffset=!1,this.anchorPosition=(0,O.fA)(.5,.5),this.screenOffset=[0,0],this.shaderPolygonOffset=1e-5,this.textureIsSignedDistanceField=!1,this.sampleSignedDistanceFieldTexelCenter=!1,this.outlineColor=(0,S.CN)(1,1,1,1),this.outlineSize=0,this.distanceFieldBoundingBox=(0,S.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}get hasVVSize(){return!!this.vvSize}get hasVVColor(){return!!this.vvColor}get hasVVOpacity(){return!!this.vvOpacity}}class Br{constructor(){this.layout=(0,Dt.E)()?Kt:Qt}elementCount(e){return 6*e.get("position").indices.length}write(e,t,r,n,i,s){const{position:o,normal:a,uvi:l,color:c,size:u,rotation:d,centerOffsetAndDistance:f,featureAttribute:h}=i;(0,Ut.Hk)(r.get("position"),e,o,s,6),(0,Ut.p1)(r.get("normal"),t,a,s,6);const p=r.get("uvi")?.data;let m=0,y=0,g=-1-Gt.f,_=-1-Gt.f;p&&p.length>=4&&(m=p[0],y=p[1],g=-1-p[2],_=-1-p[3]);let b=r.get("position").indices.length,v=s;for(let e=0;e<b;++e)l.set(v,0,m),l.set(v,1,y),v++,l.set(v,0,g),l.set(v,1,y),v++,l.set(v,0,g),l.set(v,1,_),v++,l.set(v,0,g),l.set(v,1,_),v++,l.set(v,0,m),l.set(v,1,_),v++,l.set(v,0,m),l.set(v,1,y),v++;(0,Ut.tb)(r.get("color"),4,c,s,6);const{data:w,indices:x}=r.get("size");b=x.length,v=s;for(let e=0;e<b;++e){const t=w[2*x[e]],r=w[2*x[e]+1];for(let e=0;e<6;++e)u.set(v,0,t),u.set(v,1,r),v++}if((0,Ut.uO)(r.get("rotation"),d,s,6),r.get("centerOffsetAndDistance")?(0,Ut.Ut)(r.get("centerOffsetAndDistance"),f,s,6):(0,Ut.Pq)(f,s,6*b),r.get("featureAttribute")?(0,Ut.Ut)(r.get("featureAttribute"),h,s,6):(0,Ut.Pq)(h,s,6*b),null!=n){const e=r.get("position")?.indices;if(e){const t=e.length,r=i.getField("olidColor",Ot.XP);(0,Ut.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 f=this.layout.createView(e),h=f.getField("position",Ot.xs),p=f.getField("normal",Ot.xs),m=f.getField("rotation",Ot.Y$),y=f.getField("size",Ot.gH),g=f.getField("featureAttribute",Ot.Eq),_=f.getField("centerOffsetAndDistance",Ot.Eq),b="screen"===t.centerOffsetUnits,v=(0,Gt.c)(t);if(null==h||null==p||null==m||null==y||null==_||null==d)return;const w=null==g?null:g.getVec(0,xr),{scaleX:x,scaleY:S}=Mr(w,t,d.pixelRatio),T=h.count/6;for(let e=0;e<T;e++){const i=6*e;if(h.getVec(i,cr),null!=r&&(0,le.f)(cr,cr,r),(0,le.t)(cr,cr,d.viewMatrix),_.getVec(i,br),(0,le.i)(vr,br[0],br[1],br[2]),!b&&(cr[0]+=vr[0],cr[1]+=vr[1],0!==vr[2])){const e=vr[2];(0,le.n)(vr,cr),(0,le.d)(cr,cr,(0,le.g)(vr,vr,e))}if(p.getVec(i,ur),or(ur,yr,d,Cr),Rr(t,cr,Cr,d,lr),d.applyProjection(cr,dr),dr[0]>-1){b&&(vr[0]||vr[1])&&(dr[0]+=vr[0]*d.pixelRatio,0!==vr[1]&&(dr[1]+=(0,zt.m0)(vr[1],lr.factorAlignment)*d.pixelRatio),d.unapplyProjection(dr,cr)),dr[0]+=t.screenOffset[0]*d.pixelRatio,dr[1]+=t.screenOffset[1]*d.pixelRatio,dr[0]=Math.floor(dr[0]),dr[1]=Math.floor(dr[1]),y.getVec(i,Ar),(0,zt.MD)(Ar,lr.factor,Ar);const r=Sr*d.pixelRatio;let s=0;t.textureIsSignedDistanceField&&(s=Math.min(t.outlineSize,.5*Ar[0])*d.pixelRatio/2),Ar[0]*=x,Ar[1]*=S;const a=m.get(i),l=t.rotation+a;if(ar(u,dr[0],dr[1],Ar,r,s,l,t,v)){const t=n.ray;if((0,le.t)(hr,cr,(0,I.B8)(_r,d.viewMatrix)),dr[0]=u[0],dr[1]=u[1],d.unprojectFromRenderScreen(dr,cr)){const r=(0,C.vt)();(0,le.c)(r,t.direction);const n=1/(0,le.l)(r);(0,le.g)(r,r,n),o((0,le.j)(t.origin,cr)*n,r,e,hr)}}}}}}function Mr(e,t,r){return null==e||null==t.vvSize?{scaleX:r,scaleY:r}:((0,Et.VC)(wr,t,e),{scaleX:wr[0]*r,scaleY:wr[1]*r})}function Rr(e,t,r,n,i){if(!e.verticalOffset?.screenLength)return e.screenSizePerspective||e.screenSizePerspectiveAlignment?Or(e,i,(0,le.l)(t),r.cosAngle):(i.factor.scale=1,i.factorAlignment.scale=1),t;const s=(0,le.l)(t),o=e.screenSizePerspectiveAlignment??e.screenSizePerspective,a=(0,qt.kE)(n,s,e.verticalOffset,r.cosAngle,o);return Or(e,i,s,r.cosAngle),(0,le.g)(r.normal,r.normal,a),(0,le.f)(t,t,r.normal)}function Or(e,t,r,n){null!=e.screenSizePerspective?(0,zt.cJ)(n,r,e.screenSizePerspective,t.factor):(t.factor.scale=1,t.factor.factor=0,t.factor.minScaleFactor=0),null!=e.screenSizePerspectiveAlignment?(0,zt.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 Er{constructor(e,t){this._mainThreadDelegate=t,this._bufferWriters=new Map,this.globalViewingMode=1===e}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 y(this,t,[])}_destroyTexture(e){return{commands:[{id:"destroy-texture",textureId:e}],transferList:[]}}async createMaterial(e){const{type:t,parameters:r}=e,n=Je("material");let i,s;switch(t){case"default":i=new Fe.$U(e.parameters,{spherical:this.globalViewingMode}),s={type:t,materialId:n,parameters:e.parameters};break;case"hud":i=new ir(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=Je("lod-renderer"),r=new Set,n={levels:e.levels.map(e=>({components:e.components.map(e=>{const t=e.attributes.get("position");if(!t||0===t.indices.length)throw new Error("positions attribute expected");const n=(0,q.tM)(t.indices.length/3),i=new Bt.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,I.C)(Fr,e.transformation),Fr[12]-=t[0],Fr[13]-=t[1],Fr[14]-=t[2],o=Fr;else{if(t)throw new Error("not implemented");e.transformation&&(o=e.transformation)}let a=null;o&&((0,I.B8)(jr,Fr),(0,I.mg)(jr,jr),a=jr);const l=e.attributes,c=s.elementCount(l),u=s.layout.stride/4;c>Math.floor(Dr/u)&&console.warn("geometry with very large number of elements encountered");const d=s.layout.createBuffer(c),f=s.write(o,a,l,e.olidColor,d,0);if(null==f)throw new Error("Bufferwriter.write does not provide item information.");if(n.length!==f.numItems||i.length!==f.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:f.numVerticesPerItem,numItems:f.numItems}}}}}const Fr=(0,x.vt)(),jr=(0,x.vt)(),Dr=4194304;var kr=r(98764),Vr=r(65806);const zr=(0,C.vt)();var Lr=r(17352),Ur=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 Gr=2**50;function Nr(e,t,r,n){return e.operations.setAltitudeAt(e.value,t,r,n)}function Hr(e,t,r){return e.operations.elevate(e.value,t,r.value)}const $r=(0,C.vt)();(0,C.vt)();var Yr=r(44280),Zr=r(32114);function Xr(e){return"point"===e.type}class Wr{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,fe.tO)(t),this.sphericalPCPF=(0,kr.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 e=this._coordinateSystem,t=(0,M.vt)(),e.operations.getExtent(e.value,t),t;var e,t}getAltitude(e){return function(e,t){return e.operations.altitudeAt(e.value,t)}(this._coordinateSystem,e)}setAltitude(e,t,r=e){return Nr(this._coordinateSystem,r,t,e)}setAltitudeOfTransformation(e,t){var r,n,i,s;r=this._coordinateSystem,i=e,(n=t)!==(s=t)&&(0,I.C)(s,n),(0,le.i)($r,s[12],s[13],s[14]),Nr(r,$r,i,$r),s[12]=$r[0],s[13]=$r[1],s[14]=$r[2]}worldUpAtPosition(e,t){return function(e,t,r){return e.operations.axisAt(e.value,t,2,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,0,Zr.rq.get()),n=this.worldBasisAtPosition(e,1,Zr.rq.get()),i=this.worldBasisAtPosition(e,2,Zr.rq.get());return(0,I.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,Zr.rq.get()),n=this.worldBasisAtPosition(e,1,Zr.rq.get()),i=(0,Yr.EJ)(t,n,r);return(0,E.KJ)(i)}intersectManifoldClosestSilhouette(e,t,r){return Hr(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){Hr(this._coordinateSystem,t,this._tmpCoordinateSystem);const n=Zr.rq.get();return function(e,t,r){return e.operations.intersectRay(e.value,t,r)}(this._tmpCoordinateSystem,e,n)?(0,le.c)(r,n):null}intersectInfiniteManifold(e,t,r){if(1===this.viewingMode)return this.intersectManifold(e,t,r);Hr(this._coordinateSystem,t,this._tmpCoordinateSystem);const n=this._tmpCoordinateSystem.value,i=Zr.rq.get();return(0,de.Ui)(n.plane,e,i)?(0,le.c)(r,i):null}toRenderCoords(e,t,r){return Xr(e)?(0,Vr.g)(e,t,this.spatialReference):(0,V.F)(e,t,r,this.spatialReference)}fromRenderCoords(e,t,r=null){return Xr(t)?(null!=r&&(t.spatialReference=r),function(e,t,r){return!!(0,V.F)(e,t,zr,r.spatialReference)&&(r.x=zr[0],r.y=zr[1],r.z=zr[2],!0)}(e,this.spatialReference,t)?t:null):(0,V.F)(e,this.spatialReference,t,r)?t:null}static create(e,t){switch(e){case 2:return new Wr(2,t,(0,A.GA)(t),qr(Lr.b,(0,Lr.f)([0,0,0],[Gr,0,0],[0,Gr,0])));case 1:return new Wr(1,t,1,function(e){return qr(Ur.s,(0,Ur.f)(0,0,0,(0,fe.tO)(e).radius))}(t))}}static renderUnitScaleFactor(e,t){return(0,A.KX)(e)/(0,A.KX)(t)}}let Jr=class extends i.nJ{constructor(){super(...arguments),this.remoteClient=null,this._featureStore=new ft,this._tileLocks=new st,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=f.A.fromJSON(e);this._viewSpatialReference=s;const a=f.A.fromJSON(t);this._fetcher=new Pt(this._viewSpatialReference,p.A.fromJSON(n.baseQuery),n.url,n.objectIdField,n.capabilities),this._queryEngine=new h.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=Wr.create(r,a),c=new Er(r,this._mainThreadDelegate);this._renderCommandContext=c;const m=new Ge(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 y=null;if(null!=n.fullExtent){const e=u.A.fromJSON(n.fullExtent);await(0,d.initializeProjection)(e.spatialReference,s),y=(0,d.project)(e,s)}return this._tileManager=new et({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:y}),this.addHandles((0,o.wB)(()=>this.updating,e=>{this.emit("notify-updating",{updating:e})}),o.Vh),null!=this._renderer&&await this._renderer.load(),Kr}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(Kr)}async onElevationChange(e){return Kr}async onLayerViewOpacityChange(e){const{_context:t,_renderer:r}=this;if(t.layerViewInfo.fullOpacity=e,null==r)return Kr;const n=await r.createUpdateLayerViewOpacityCommand(e);return await n.execute(),Kr}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.mS)(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.hk)(e)}}const a=await i.createDestroyCommand();return await a.execute(),Kr}async _createAddFeatureDataCommand(e,t){const r=this._featureStore,n=this._renderer;let i;return i=null!=n?await n.createAddCommand(e):y.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):y.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):y.create(this._renderCommandContext),(0,s.Te)(t),n}_ensureQuery(e){return e??this._defaultQueryJSON}};(0,n.Cg)([(0,a.MZ)()],Jr.prototype,"updating",null),Jr=(0,n.Cg)([(0,c.$)("esri.views.3d.layers.graphics.pipeline.Feature3DPipelineWorker")],Jr);const Qr=Jr,Kr={result:void 0}},77548:(e,t,r)=>{r.d(t,{Gh:()=>m,tk:()=>d,BR:()=>u,wI:()=>c,G$:()=>h,$x:()=>f,Ov:()=>a,W_:()=>l,OP:()=>p,TU:()=>o,XX:()=>s});var n=r(70333),i=r(78888);r(7762),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 f(e,t){return null}function h(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:()=>h}),r(44208);var n,i=r(53177),s=r(76357),o=r(31635),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.Cg)([(0,a.e)({inherited:"inherited"})],c.prototype,"type",void 0),c=n=(0,o.Cg)([(0,l.$)("esri.layers.support.InheritedDomain")],c);var u,d=r(10107);let f=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.Cg)([(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}}})],f.prototype,"maxValue",void 0),(0,o.Cg)([(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}}})],f.prototype,"minValue",void 0),(0,o.Cg)([(0,a.e)({range:"range"})],f.prototype,"type",void 0),f=u=(0,o.Cg)([(0,l.$)("esri.layers.support.RangeDomain")],f);const h={key:"type",base:s.A,typeMap:{range:f,"coded-value":i.A,inherited:c}};function p(e){if(!e?.type)return null;switch(e.type){case"range":return f.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:()=>y,eW:()=>h,gW:()=>g,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 f(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 h(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 y(e,t,r,n){return t.timeExtent?.isEmpty?Promise.resolve({data:{objectIds:[]}}):v(e,t,"json",r,{returnIdsOnly:!0},n)}function g(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]:[],h=await(0,o.el)(d,null,{signal:s.signal}),p=h?.[0];null!=p&&((t=t.clone()).geometry=p);const m=(0,l.z)({...u.query,f:r,...b(a,c),...f(t,a,c)});return(0,n.A)((0,i.fj)(u.path,(y=a,null==t.formatOf3DObjects||y.returnCountOnly||y.returnExtentOnly||y.returnIdsOnly?"query":"query3d")),{...s,responseType:"pbf"===r?"array-buffer":"json",query:{...m,...s.query}});var y}},81961:(e,t,r)=>{r.d(t,{V:()=>i});var n=r(74333);class i extends n.n{constructor(e,t,r){super(e,"vec4",2,(n,i,s)=>n.setUniform4fv(e,t(i,s),r))}}},87582:(e,t,r)=>{r(6867),r(65215).R},95696:(e,t,r)=>{r.d(t,{A:()=>u});var n,i=r(31635),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((0,s.OU)(o.o)){static{n=this}constructor(e){super(e),this.type="georeferenced",this.origin=null}static{this.absolute=new n}};(0,i.Cg)([(0,l.e)({georeferenced:"georeferenced"},{readOnly:!0})],u.prototype,"type",void 0),(0,i.Cg)([(0,a.MZ)({type:[Number],nonNullable:!1,json:{write:!0}})],u.prototype,"origin",void 0),u=n=(0,i.Cg)([(0,c.$)("esri.geometry.support.MeshGeoreferencedVertexSpace")],u)},96576:(e,t,r)=>{r.d(t,{A:()=>f});var n,i=r(31635),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 f=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.Cg)([(0,o.MZ)({type:String,json:{write:!0}})],f.prototype,"description",void 0),(0,i.Cg)([(0,o.MZ)({type:String,json:{write:!0}})],f.prototype,"label",void 0),(0,i.Cg)([(0,o.MZ)(d.Wp)],f.prototype,"symbol",void 0),(0,i.Cg)([(0,a.e)({simple:"simple"})],f.prototype,"type",void 0),f=n=(0,i.Cg)([(0,l.$)("esri.renderers.SimpleRenderer")],f)},98453:(e,t,r)=>{r.d(t,{m:()=>n});const n=new(r(66552).J)({esriFieldTypeSmallInteger:"small-integer",esriFieldTypeInteger:"integer",esriFieldTypeSingle:"single",esriFieldTypeDouble:"double",esriFieldTypeLong:"long",esriFieldTypeString:"string",esriFieldTypeDate:"date",esriFieldTypeOID:"oid",esriFieldTypeGeometry:"geometry",esriFieldTypeBlob:"blob",esriFieldTypeRaster:"raster",esriFieldTypeGUID:"guid",esriFieldTypeGlobalID:"global-id",esriFieldTypeXML:"xml",esriFieldTypeBigInteger:"big-integer",esriFieldTypeDateOnly:"date-only",esriFieldTypeTimeOnly:"time-only",esriFieldTypeTimestampOffset:"timestamp-offset"})},98988:(e,t,r)=>{r.r(t),r.d(t,{canProjectWithoutEngine:()=>Y,getTransformation:()=>L,getTransformations:()=>U,initializeProjection:()=>X,isEqualBaseGCS:()=>Z,isLoaded:()=>R,isLoadedOrLoad:()=>O,isLoadedOrLoadFor:()=>E,load:()=>j,project:()=>D,projectExtent:()=>se,projectMany:()=>k,projectMultipoint:()=>K,projectOrLoad:()=>V,projectOrLoadMany:()=>z,projectPoint:()=>J,projectPolygon:()=>ne,projectPolyline:()=>te,projectWithZConversion:()=>$,projectWithoutEngine:()=>W,requiresLoad:()=>F,test:()=>N,tryProjectWithZConversion:()=>H,unload:()=>G});var n=r(49186),i=r(74887),s=r(62788),o=r(95488),a=r(51850),l=r(21276),c=r(73941),u=r(5443),d=r(48526),f=r(83290),h=r(86738),p=r(39829),m=r(82799),y=r(16930),g=r(9762),_=r(37539);function b(e,t,r,n,i,s){return v[0]=e,v[1]=t,v[2]=r,(0,g.projectBuffer)(v,n,0,i,s,0)}const v=(0,a.vt)();let w=0;class x{static fromGE(e){const t=new x;return t._wkt=e.wkt,t._wkid=e.wkid,t._isInverse=e.isInverse,t}constructor(e){this.uid=w++,e?(this._wkt=null!=e.wkt?e.wkt:null,this._wkid=null!=e.wkid?e.wkid:-1,this._isInverse=null!=e.isInverse&&!0===e.isInverse):(this._wkt=null,this._wkid=-1,this._isInverse=!1)}get wkt(){return this._wkt}set wkt(e){this._wkt=e,this.uid=w++}get wkid(){return this._wkid}set wkid(e){this._wkid=e,this.uid=w++}get isInverse(){return this._isInverse}set isInverse(e){this._isInverse=e,this.uid=w++}getInverse(){const e=new x;return e._wkt=this.wkt,e._wkid=this._wkid,e._isInverse=!this.isInverse,e}}class C{static cacheKey(e,t){return[e.wkid?.toString()??"-1",e.wkt?.toString()??"",e.wkt2?.toString()??"",t.wkid?.toString()??"-1",t.wkt?.toString()??"",t.wkt2?.toString()??""].join()}static fromGE(e){const t=new C;let r="";for(const n of e.steps){const e=x.fromGE(n);t.steps.push(e),r+=e.uid.toString()+","}return t._cachedProjection={},t._gtlistentry=null,t._chain=r,t}constructor(e){if(this.steps=[],this._cachedProjection={},this._chain="",this._gtlistentry=null,e?.steps)for(const t of e.steps)t instanceof x?this.steps.push(t):this.steps.push(new x({wkid:t.wkid,wkt:t.wkt,isInverse:t.isInverse}))}getInverse(){const e=new C;e.steps=[];for(let t=this.steps.length-1;t>=0;t--){const r=this.steps[t];e.steps.push(r.getInverse())}return e}getGTListEntry(){let e="";for(const t of this.steps)e+=t.uid.toString()+",";return e!==this._chain&&(this._gtlistentry=null,this._cachedProjection={},this._chain=e),this._gtlistentry}assignCachedGe(e,t,r){this._cachedProjection[C.cacheKey(e,t)]=r}getCachedGeTransformation(e,t){let r="";for(const e of this.steps)r+=e.uid.toString()+",";r!==this._chain&&(this._gtlistentry=null,this._cachedProjection={},this._chain=r);const n=this._cachedProjection[C.cacheKey(e,t)];return void 0===n?null:n}}var S=r(21325),T=r(62815);let A=null,I=null,P=null,B={};const M=new o.I;function R(){return!!A&&(0,f.i)()}function O(){return!!R()||((0,s.gc)(M),j(),!1)}function E(e,t){return!e||!t||Y(e,t)||O()}function F(e,t){return!Y(e,t)&&!R()}function j(e){return null==P&&(P=Promise.all([(0,f.l)(),r.e(9930).then(r.bind(r,49930)).then(e=>e.g),r.e(2731).then(r.bind(r,12731))])),P.then(([,t,{hydratedAdapter:r}])=>{(0,i.Te)(e),I=r,A=t.default,A._enableProjection(f.p),M.notify()})}function D(e,t,r=null,n=null){return Array.isArray(e)?0===e.length?[]:((0,l.H)(e),k(I,e,e[0].spatialReference,t,r,n)):((0,l.f)(e),k(I,[e],e.spatialReference,t,r,n)[0])}function k(e,t,r,n,i=null,s=null){if(null==r||null==n)return t;if(Y(r,n,i))return t.map(e=>W(e,r,n));if(null==i&&(0,c.jA)(r))return t.map(e=>W(e,r,y.A.WGS84)).map(e=>H(e,n));if(null==i&&(0,c.jA)(n))return t.map(e=>H(e,y.A.WGS84)).map(e=>W(e,y.A.WGS84,n));if(null==i){const e=C.cacheKey(r,n);void 0!==B[e]?i=B[e]:(null==(i=L(r,n,void 0))&&(i=new C),B[e]=i)}if(null==A||null==e)throw new q;return null!=s?A._project(e,t,r,n,i,s):A._project(e,t,r,n,i)}function V(e,t){const r=z([e],t);return null!=r.pending?{pending:r.pending,geometry:null}:null!=r.geometries?{pending:null,geometry:r.geometries[0]}:{pending:null,geometry:null}}function z(e,t){if(!R())for(const r of e)if(null!=r&&!(0,S.aI)(r.spatialReference,t)&&(0,S.fn)(r.spatialReference)&&(0,S.fn)(t)&&!Y(r.spatialReference,t))return(0,s.gc)(M),{pending:j(),geometries:null};return{pending:null,geometries:e.map(e=>null==e?null:(0,S.aI)(e.spatialReference,t)?e:(0,S.fn)(e.spatialReference)&&(0,S.fn)(t)?H(e,t):null)}}function L(e,t,r=null){if(null==e||null==t)return null;if(null==A||null==I)throw new q;const n=A._getTransformation(I,e,t,r,r?.spatialReference);return null!==n?C.fromGE(n):null}function U(e,t,r=null){if(null==A||null==I)throw new q;const n=A._getTransformationBySuitability(I,e,t,r,r?.spatialReference);if(null!==n){const e=[];for(const t of n)e.push(C.fromGE(t));return e}return[]}class q extends n.A{constructor(){super("projection:not-loaded","projection engine not fully loaded yet, please call load()")}}function G(){A=null,I=null,P=null,B={}}const N={get loadPromise(){return P}};function H(e,t){try{const r=D(e,t);if(null==r)return null;"xmin"in e&&"xmin"in r&&(r.zmin=e.zmin,r.zmax=e.zmax);const n=(0,T.N)(r.type,e.spatialReference,t);return null!=n&&n(r),r}catch(e){if(!(e instanceof q))throw e;return null}}async function $(e,t,r){const n=e.spatialReference;return null!=n&&null!=t&&await X(n,t,null,r),H(e,t)}function Y(e,t,r){return!r&&(!!(0,S.aI)(e,t)||(0,S.fn)(e)&&(0,S.fn)(t)&&!!(0,_.jd)(e,t))}function Z(e,t){if((0,S.aI)(e,t))return!0;if(!(0,S.fn)(e)||!(0,S.fn)(t))return!1;const r=(0,S.oT)(e)||(0,S.K8)(e)||(0,S.x1)(e),n=(0,S.oT)(t)||(0,S.K8)(t)||(0,S.x1)(t);return r&&n}async function X(e,t,r,n){if(R())return(0,i.NO)(n);if(Array.isArray(e)){for(const{source:t,dest:r,geographicTransformation:i}of e)if(t&&r&&!Y(t,r,i))return j(n)}else if(e&&t&&!Y(e,t,r))return j(n);return(0,i.NO)(n)}function W(e,t,r){return e?"x"in e?Q(e,t,new h.A,r,0):"xmin"in e?oe(e,t,new u.A,r,0):"rings"in e?ie(e,t,new p.A,r,0):"paths"in e?re(e,t,new m.A,r,0):"points"in e?ee(e,t,new d.A,r,0):null:null}function J(e,t,r=t.spatialReference,n=0){return null!=r&&null!=e.spatialReference&&null!=Q(e,e.spatialReference,t,r,n)}function Q(e,t,r,n,i){le[0]=e.x,le[1]=e.y;const s=e.z;return le[2]=void 0!==s?s:i,(0,g.projectBuffer)(le,t,0,le,n,0)?(r.x=le[0],r.y=le[1],r.spatialReference=n,void 0!==s||(0,c.xP)(n)?(r.z=le[2],r.hasZ=!0):(r.z=void 0,r.hasZ=!1),void 0===e.m?(r.m=void 0,r.hasM=!1):(r.m=e.m,r.hasM=!0),r):null}function K(e,t,r=t.spatialReference,n=0){return null!=e.spatialReference&&null!=r&&null!=ee(e,e.spatialReference,t,r,n)}function ee(e,t,r,n,i){const{points:s,hasZ:o,hasM:a}=e,l=[],u=s.length,d=[];for(const e of s)d.push(e[0],e[1],o?e[2]:i);if(!(0,g.projectBuffer)(d,t,0,d,n,0,u))return null;const f=o||(0,c.xP)(n);for(let e=0;e<u;++e){const t=3*e,r=d[t],n=d[t+1];f&&a?l.push([r,n,d[t+2],s[e][3]]):f?l.push([r,n,d[t+2]]):a?l.push([r,n,s[e][2]]):l.push([r,n])}return r.points=l,r.spatialReference=n,r.hasZ=o,r.hasM=a,r}function te(e,t,r=t.spatialReference,n=0){return null!=e.spatialReference&&null!=r&&null!=re(e,e.spatialReference,t,r,n)}function re(e,t,r,n,i){const{paths:s,hasZ:o,hasM:a}=e,l=[];if(!ae(s,o??!1,a??!1,t,l,n,i))return null;const u=o||(0,c.xP)(n);return r.paths=l,r.spatialReference=n,r.hasZ=u,r.hasM=a,r}function ne(e,t,r=t.spatialReference,n=0){return null!=e.spatialReference&&null!=r&&null!=ie(e,e.spatialReference,t,r,n)}function ie(e,t,r,n,i){const{rings:s,hasZ:o,hasM:a}=e,l=[];if(!ae(s,o??!1,a??!1,t,l,n,i))return null;const u=o||(0,c.xP)(n);return r.rings=l,r.spatialReference=n,r.hasZ=u,r.hasM=a,r}function se(e,t,r=t.spatialReference,n=0){return null!=e.spatialReference&&null!=r&&null!=oe(e,e.spatialReference,t,r,n)}function oe(e,t,r,n,i){const{xmin:s,ymin:o,xmax:a,ymax:l,hasZ:u,hasM:d}=e;if(!b(s,o,u?e.zmin:i,t,le,n))return null;const f=u||(0,c.xP)(n);return r.xmin=le[0],r.ymin=le[1],f&&(r.zmin=le[2]),b(a,l,u?e.zmax:i,t,le,n)?(r.xmax=le[0],r.ymax=le[1],f&&(r.zmax=le[2]),d&&(r.mmin=e.mmin,r.mmax=e.mmax),r.spatialReference=n,r):null}function ae(e,t,r,n,i,s,o=0){const a=new Array;for(const r of e)for(const e of r)a.push(e[0],e[1],t?e[2]:o);if(!(0,g.projectBuffer)(a,n,0,a,s,0))return!1;let l=0;i.length=0;const u=t||(0,c.xP)(s);for(const t of e){const e=new Array;for(const n of t)u&&r?e.push([a[l++],a[l++],a[l++],n[3]]):u?e.push([a[l++],a[l++],a[l++]]):r?(e.push([a[l++],a[l++],n[2]]),l++):(e.push([a[l++],a[l++]]),l++);i.push(e)}return!0}const le=(0,a.vt)()}}]);
|