@arcgis/core 5.2.0-next.123 → 5.2.0-next.125

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (179) hide show
  1. package/arcade/functions/string.js +1 -1
  2. package/arcgisGlobal.d.ts +1 -0
  3. package/assets/esri/core/workers/RemoteClient.js +1 -1
  4. package/assets/esri/core/workers/chunks/{83c7c4218bc6ba2f16ee.js → 0a4a5ed831a4e4d8e0fc.js} +1 -1
  5. package/assets/esri/core/workers/chunks/{e4e1db4e9e5f13167401.js → 0f8ff964461cf8e0673b.js} +1 -1
  6. package/assets/esri/core/workers/chunks/{9e5b30b907102bc0c201.js → 0fba5c0e89b057da548d.js} +1 -1
  7. package/assets/esri/core/workers/chunks/{064445e6f9512817ac87.js → 12b5a645c0987a0efe54.js} +2 -2
  8. package/assets/esri/core/workers/chunks/168b45c5d8233f23793e.js +2 -0
  9. package/assets/esri/core/workers/chunks/{ce08e3369641da0d7a27.js → 1dbb3e25e005a8220779.js} +2 -2
  10. package/assets/esri/core/workers/chunks/{eb7f45736c852725b0bb.js → 1f55701d23a5e5a0c70c.js} +1 -1
  11. package/assets/esri/core/workers/chunks/{c39ebd8d469f1e8bb61e.js → 25e212fe9a2ea37c9e81.js} +1 -1
  12. package/assets/esri/core/workers/chunks/{a3ab53b534e2872131be.js → 2a34760b3f0c134898ec.js} +1 -1
  13. package/assets/esri/core/workers/chunks/{216d8cb86548e92a8196.js → 2e3fd81653dc0d86456c.js} +1 -1
  14. package/assets/esri/core/workers/chunks/378bdb4e5cd1ebada1f4.js +1 -0
  15. package/assets/esri/core/workers/chunks/3a40146568e6dd0b1828.js +1 -0
  16. package/assets/esri/core/workers/chunks/{23279303cd7698314c56.js → 3b4ceaf21be540cb3499.js} +1 -1
  17. package/assets/esri/core/workers/chunks/{d3d48401462ef3bf0ad9.js → 3f082329a544c2c1d62d.js} +1 -1
  18. package/assets/esri/core/workers/chunks/{45d87af48a21644590c2.js → 4716693eca44e8f89f5c.js} +1 -1
  19. package/assets/esri/core/workers/chunks/{39985c51465b79ff0910.js → 4f7e8e4ddf52b5245ea4.js} +1 -1
  20. package/assets/esri/core/workers/chunks/56e97b98dcb8a3f2bcb7.js +1 -0
  21. package/assets/esri/core/workers/chunks/{78c1b75b1a8937eaa3cd.js → 5b9b76e180cf206a8a0c.js} +1 -1
  22. package/assets/esri/core/workers/chunks/6c3535aa7250c08b9e5b.js +1 -0
  23. package/assets/esri/core/workers/chunks/{2f829321bfbd3bacd64f.js → 6c4def0faaef861a09c9.js} +1 -1
  24. package/assets/esri/core/workers/chunks/{1c38ce72160d5a4e4b3d.js → 6cf34cfdd063a1b6fe3e.js} +1 -1
  25. package/assets/esri/core/workers/chunks/6e8187a77846239ed112.js +2 -0
  26. package/assets/esri/core/workers/chunks/{52744dfd430cd0c0edfb.js → 78abd6c42f39e6f6ffbb.js} +1 -1
  27. package/assets/esri/core/workers/chunks/{5993db944b9e7825e0bc.js → 7926faab76a721a2e1c4.js} +1 -1
  28. package/assets/esri/core/workers/chunks/{dc0816f064be576a2fa6.js → 7fcee3a1b900ddc9a5e3.js} +1 -1
  29. package/assets/esri/core/workers/chunks/8190fcb1dd10ad20feed.js +1 -0
  30. package/assets/esri/core/workers/chunks/84db05e872dbf35c80a2.js +1 -0
  31. package/assets/esri/core/workers/chunks/85739ed6af0f0a3cb302.js +1 -0
  32. package/assets/esri/core/workers/chunks/{c3008b20cb5fd38bd900.js → 8a8e94b5d7d153361b0b.js} +1 -1
  33. package/assets/esri/core/workers/chunks/923c45ebcf45d9ce8ae0.js +1 -0
  34. package/assets/esri/core/workers/chunks/{8984d02c0ce828fd223a.js → a7ce5b958dfeb240c4a5.js} +1 -1
  35. package/assets/esri/core/workers/chunks/{770ca70d363184e39d60.js → ab8a1140bf31f46f8ebf.js} +1 -1
  36. package/assets/esri/core/workers/chunks/{dc923e50958b68a50014.js → b96358d475dc98034aa4.js} +1 -1
  37. package/assets/esri/core/workers/chunks/ba435cc73956d9c64a11.js +1 -0
  38. package/assets/esri/core/workers/chunks/{b22de8bf4a4a739bc36d.js → bbaaebe1774a22dba39b.js} +1 -1
  39. package/assets/esri/core/workers/chunks/{58a17fb3c0dd07c63d57.js → cfaba0470619786e1ef8.js} +2 -2
  40. package/assets/esri/core/workers/chunks/{97cd4145c016cf379120.js → cfd56e0a716baf95e17b.js} +1 -1
  41. package/assets/esri/core/workers/chunks/e35eb93c0fb1f6de8db0.js +1 -0
  42. package/assets/esri/core/workers/chunks/{20e4277a4a6c57957202.js → f05becec0952a61bc654.js} +1 -1
  43. package/assets/esri/core/workers/chunks/{59cd139712d919e6a738.js → f0901f9c7135b708434f.js} +1 -1
  44. package/assets/esri/core/workers/chunks/f4572ad25712d204f258.js +1 -0
  45. package/assets/esri/core/workers/chunks/{eb780f2dafa14f776166.js → f71ec8a260405ed07958.js} +1 -1
  46. package/assets/esri/core/workers/chunks/{781fa83e8063b8f685dc.js → fe9582bc2244667e40ab.js} +1 -1
  47. package/assets/esri/themes/base/_FocusRegionOverlayItem.scss +18 -0
  48. package/assets/esri/themes/base/_View.scss +4 -0
  49. package/assets/esri/themes/base/_core.scss +1 -0
  50. package/assets/esri/themes/base/widgets/_OrientedImageryViewer.scss +13 -0
  51. package/assets/esri/themes/dark/main.css +1 -1
  52. package/assets/esri/themes/light/main.css +1 -1
  53. package/assets/esri/themes/light/view.css +1 -1
  54. package/assets/esri/widgets/Editor/t9n/messages.en.json +1 -1
  55. package/assets/esri/widgets/support/SelectionToolbar/t9n/messages.ar.json +1 -1
  56. package/assets/esri/widgets/support/SelectionToolbar/t9n/messages.bg.json +1 -1
  57. package/assets/esri/widgets/support/SelectionToolbar/t9n/messages.bs.json +1 -1
  58. package/assets/esri/widgets/support/SelectionToolbar/t9n/messages.ca.json +1 -1
  59. package/assets/esri/widgets/support/SelectionToolbar/t9n/messages.cs.json +1 -1
  60. package/assets/esri/widgets/support/SelectionToolbar/t9n/messages.da.json +1 -1
  61. package/assets/esri/widgets/support/SelectionToolbar/t9n/messages.de.json +1 -1
  62. package/assets/esri/widgets/support/SelectionToolbar/t9n/messages.el.json +1 -1
  63. package/assets/esri/widgets/support/SelectionToolbar/t9n/messages.es.json +1 -1
  64. package/assets/esri/widgets/support/SelectionToolbar/t9n/messages.et.json +1 -1
  65. package/assets/esri/widgets/support/SelectionToolbar/t9n/messages.fi.json +1 -1
  66. package/assets/esri/widgets/support/SelectionToolbar/t9n/messages.fr.json +1 -1
  67. package/assets/esri/widgets/support/SelectionToolbar/t9n/messages.he.json +1 -1
  68. package/assets/esri/widgets/support/SelectionToolbar/t9n/messages.hr.json +1 -1
  69. package/assets/esri/widgets/support/SelectionToolbar/t9n/messages.hu.json +1 -1
  70. package/assets/esri/widgets/support/SelectionToolbar/t9n/messages.id.json +1 -1
  71. package/assets/esri/widgets/support/SelectionToolbar/t9n/messages.it.json +1 -1
  72. package/assets/esri/widgets/support/SelectionToolbar/t9n/messages.ja.json +1 -1
  73. package/assets/esri/widgets/support/SelectionToolbar/t9n/messages.ko.json +1 -1
  74. package/assets/esri/widgets/support/SelectionToolbar/t9n/messages.lt.json +1 -1
  75. package/assets/esri/widgets/support/SelectionToolbar/t9n/messages.lv.json +1 -1
  76. package/assets/esri/widgets/support/SelectionToolbar/t9n/messages.nl.json +1 -1
  77. package/assets/esri/widgets/support/SelectionToolbar/t9n/messages.no.json +1 -1
  78. package/assets/esri/widgets/support/SelectionToolbar/t9n/messages.pl.json +1 -1
  79. package/assets/esri/widgets/support/SelectionToolbar/t9n/messages.pt-BR.json +1 -1
  80. package/assets/esri/widgets/support/SelectionToolbar/t9n/messages.pt-PT.json +1 -1
  81. package/assets/esri/widgets/support/SelectionToolbar/t9n/messages.ro.json +1 -1
  82. package/assets/esri/widgets/support/SelectionToolbar/t9n/messages.ru.json +1 -1
  83. package/assets/esri/widgets/support/SelectionToolbar/t9n/messages.sk.json +1 -1
  84. package/assets/esri/widgets/support/SelectionToolbar/t9n/messages.sl.json +1 -1
  85. package/assets/esri/widgets/support/SelectionToolbar/t9n/messages.sr.json +1 -1
  86. package/assets/esri/widgets/support/SelectionToolbar/t9n/messages.sv.json +1 -1
  87. package/assets/esri/widgets/support/SelectionToolbar/t9n/messages.th.json +1 -1
  88. package/assets/esri/widgets/support/SelectionToolbar/t9n/messages.tr.json +1 -1
  89. package/assets/esri/widgets/support/SelectionToolbar/t9n/messages.uk.json +1 -1
  90. package/assets/esri/widgets/support/SelectionToolbar/t9n/messages.vi.json +1 -1
  91. package/assets/esri/widgets/support/SelectionToolbar/t9n/messages.zh-CN.json +1 -1
  92. package/assets/esri/widgets/support/SelectionToolbar/t9n/messages.zh-HK.json +1 -1
  93. package/assets/esri/widgets/support/SelectionToolbar/t9n/messages.zh-TW.json +1 -1
  94. package/chunks/GaussianSplatColorComposition.glsl.js +2 -0
  95. package/chunks/GaussianSplatEmissionComposition.glsl.js +11 -0
  96. package/chunks/earcut.js +1 -1
  97. package/chunks/portal.js +1 -1
  98. package/config.js +1 -1
  99. package/graphic/MapImageGraphicOrigin.js +1 -1
  100. package/graphic/TileGraphicOrigin.js +1 -1
  101. package/interfaces.d.ts +5 -0
  102. package/kernel.js +1 -1
  103. package/layers/OrientedImageryLayer.js +1 -1
  104. package/layers/mixins/ArcGISImageService.js +1 -1
  105. package/layers/mixins/TemporalLayer.js +1 -1
  106. package/layers/support/TimeInfo.js +1 -1
  107. package/layers/support/commonProperties.js +1 -1
  108. package/layers/support/layersMapping.js +1 -1
  109. package/package.json +2 -2
  110. package/popup/FeatureContentCollection.d.ts +8 -1
  111. package/popup/FeatureContentCollection.js +1 -1
  112. package/portal/schemas/definitions.js +1 -1
  113. package/portal/schemas/sceneLayerItem.js +1 -1
  114. package/support/revision.js +1 -1
  115. package/symbols/support/gfxUtils.js +1 -1
  116. package/symbols/support/previewSymbol3D.js +1 -1
  117. package/symbols/support/svgUtils.js +1 -1
  118. package/time/timeZoneUtils.js +1 -1
  119. package/views/3d/input/handlers/ground/GroundDoubleClickMove.js +1 -1
  120. package/views/3d/interactive/measurementTools/areaMeasurement3D/AreaMeasurement3DTool.js +1 -1
  121. package/views/3d/interactive/measurementTools/directLineMeasurement3D/DirectLineMeasurement3DTool.js +1 -1
  122. package/views/3d/interactive/placementTools/GroundNavigationPlacementTool3D.js +2 -0
  123. package/views/3d/navigation/Navigation3D.d.ts +7 -0
  124. package/views/3d/navigation/Navigation3D.js +1 -1
  125. package/views/3d/navigation/modes/navigationModeUtils.d.ts +32 -0
  126. package/views/3d/navigation/modes/navigationModeUtils.js +2 -0
  127. package/views/3d/state/utils/groundNavigationUtils.js +1 -1
  128. package/views/3d/webgl-engine/lib/GaussianSplatRenderer.js +1 -1
  129. package/views/3d/webgl-engine/lib/GaussianSplatShadows.js +1 -1
  130. package/views/3d/webgl-engine/shaders/GaussianSplatColorComposition.glsl.js +2 -0
  131. package/views/3d/webgl-engine/shaders/GaussianSplatColorCompositionTechnique.js +2 -0
  132. package/views/3d/webgl-engine/shaders/GaussianSplatDepthPolicy.js +1 -1
  133. package/views/3d/webgl-engine/shaders/{GaussianSplatComposition.glsl.js → GaussianSplatEmissionComposition.glsl.js} +1 -1
  134. package/views/3d/webgl-engine/shaders/GaussianSplatEmissionCompositionTechnique.js +2 -0
  135. package/views/3d/webgl-engine/shaders/GaussianSplatTechnique.js +1 -1
  136. package/views/DOMContainer.d.ts +27 -0
  137. package/views/DOMContainer.js +1 -1
  138. package/views/PopupView.d.ts +1 -1
  139. package/views/View.d.ts +10 -1
  140. package/views/View.js +1 -1
  141. package/views/input/types.d.ts +46 -0
  142. package/views/overlay/FocusRegionOverlayItem.js +2 -0
  143. package/views/webgl/renderState.js +1 -1
  144. package/widgets/BatchAttributeForm/inputs/FieldInput.d.ts +2 -0
  145. package/widgets/Editor.js +1 -1
  146. package/widgets/FeatureTable/FeatureTableViewModel.d.ts +23 -1
  147. package/widgets/FeatureTable/FeatureTableViewModel.js +1 -1
  148. package/widgets/FeatureTable/support/FeatureStore.d.ts +12 -2
  149. package/widgets/FeatureTable/support/FeatureStore.js +1 -1
  150. package/widgets/FeatureTable.d.ts +11 -1
  151. package/widgets/FeatureTable.js +1 -1
  152. package/widgets/OrientedImageryViewer/components/Alert.js +1 -1
  153. package/widgets/OrientedImageryViewer.js +1 -1
  154. package/widgets/Popup/types.d.ts +7 -0
  155. package/widgets/support/SelectionList/FeatureItem.d.ts +22 -12
  156. package/widgets/support/SelectionList/GroupLayerItem.d.ts +9 -8
  157. package/widgets/support/SelectionList/LayerItem.d.ts +18 -24
  158. package/widgets/support/SelectionList/types.d.ts +1 -1
  159. package/assets/esri/core/workers/chunks/033debcbf6b3683dc4fe.js +0 -2
  160. package/assets/esri/core/workers/chunks/29ae19206bbeb480be0f.js +0 -1
  161. package/assets/esri/core/workers/chunks/463d69f596d1d34ef275.js +0 -2
  162. package/assets/esri/core/workers/chunks/475906b079f4f1ddacf2.js +0 -1
  163. package/assets/esri/core/workers/chunks/49affbed22e201f7c32b.js +0 -1
  164. package/assets/esri/core/workers/chunks/4f58e0322707f63f5bf2.js +0 -1
  165. package/assets/esri/core/workers/chunks/724ea2e2843e6dac0a90.js +0 -1
  166. package/assets/esri/core/workers/chunks/7ff536284942c5284a16.js +0 -1
  167. package/assets/esri/core/workers/chunks/8e102a2e134ce6ce0724.js +0 -1
  168. package/assets/esri/core/workers/chunks/92c852700ad1006f1e76.js +0 -1
  169. package/assets/esri/core/workers/chunks/ac7af417ebf7721d7400.js +0 -1
  170. package/assets/esri/core/workers/chunks/bb5ed2a796a45c41b0b4.js +0 -1
  171. package/assets/esri/core/workers/chunks/d25210574168ead2f813.js +0 -1
  172. package/chunks/GaussianSplatComposition.glsl.js +0 -22
  173. package/views/3d/webgl-engine/shaders/GaussianSplatCompositionTechnique.js +0 -2
  174. package/views/3d/webgl-engine/shaders/GaussianSplatCompositionTechniqueConfiguration.js +0 -2
  175. /package/assets/esri/core/workers/chunks/{064445e6f9512817ac87.js.LICENSE.txt → 12b5a645c0987a0efe54.js.LICENSE.txt} +0 -0
  176. /package/assets/esri/core/workers/chunks/{033debcbf6b3683dc4fe.js.LICENSE.txt → 168b45c5d8233f23793e.js.LICENSE.txt} +0 -0
  177. /package/assets/esri/core/workers/chunks/{463d69f596d1d34ef275.js.LICENSE.txt → 1dbb3e25e005a8220779.js.LICENSE.txt} +0 -0
  178. /package/assets/esri/core/workers/chunks/{ce08e3369641da0d7a27.js.LICENSE.txt → 6e8187a77846239ed112.js.LICENSE.txt} +0 -0
  179. /package/assets/esri/core/workers/chunks/{58a17fb3c0dd07c63d57.js.LICENSE.txt → cfaba0470619786e1ef8.js.LICENSE.txt} +0 -0
@@ -1730,4 +1730,4 @@ float newPeak = 1.0 - d * d / (peak + d - startCompression);
1730
1730
  color *= newPeak / peak;
1731
1731
  float g = 1.0 - 1.0 / (desaturation * (peak - newPeak) + 1.0 );
1732
1732
  return mix(color, vec3(newPeak), g);
1733
- }`)}},26934(e,t,r){r.d(t,{Q:()=>n});var i=r(49788);function n(e){e.constants.add("alphaCutoff","float",i.Q),e.constants.add("opacityCutoff","float",i.v)}},58243(e,t,r){function i(e,t){t.useFloatBlend?e.code.add("float ditherNoise(vec4 color) { return 0.0; }"):e.code.add("\n float ditherNoise(vec4 color) {\n vec2 seed = color.rg + color.ba + gl_FragCoord.xy + gl_FragCoord.z;\n return (fract(52.9829189 * fract(dot(seed, vec2(0.06711056, 0.00583715)))) - 0.5) / 255.0;\n }")}r.d(t,{t:()=>i})},72458(e,t,r){r.d(t,{C:()=>o,O:()=>a});var i=r(32198),n=r(51976);class o extends n.K{constructor(){super(...arguments),this.useFloatBlend=!0}}function a(e,t){t.useFloatBlend?(e.constants.add("floatBlendOutputScale","float",1),e.constants.add("floatBlendInputScale","float",1)):(e.constants.add("floatBlendOutputScale","float",1/16),e.constants.add("floatBlendInputScale","float",16)),e.constants.add("maxEmissiveStrength","float",16)}(0,i.Cg)([(0,n.W)()],o.prototype,"useFloatBlend",void 0)},89904(e,t,r){r.d(t,{OG:()=>$e,gP:()=>Ge});var i=r(32198),n=r(69540),o=r(91429);let a=class extends n.Pw{constructor(e){super(e),this.row=0,this.column=0,this.rows=1,this.columns=1}equals(e){return null!=e&&this.row===e.row&&this.rows===e.rows&&this.column===e.column&&this.columns===e.columns}};(0,i.Cg)([(0,o.MZ)({type:Number,nonNullable:!0,json:{read:!1,write:!1}})],a.prototype,"row",void 0),(0,i.Cg)([(0,o.MZ)({type:Number,nonNullable:!0,json:{read:!1,write:!1}})],a.prototype,"column",void 0),(0,i.Cg)([(0,o.MZ)({type:Number,nonNullable:!0,json:{read:!1,write:!1}})],a.prototype,"rows",void 0),(0,i.Cg)([(0,o.MZ)({type:Number,nonNullable:!0,json:{read:!1,write:!1}})],a.prototype,"columns",void 0),a=(0,i.Cg)([(0,o.$K)("esri.CameraLayout")],a);const s=a;var l=r(69052),c=r(25482),u=r(34727),d=r(78888),h=r(86738),m=r(43937),f=r(36005);let p=class extends((0,n.OU)(c.o)){constructor(...e){super(...e),this.position=new h.A([0,0,0]),this.heading=0,this.tilt=0,this.fov=55,this.layout=new s}normalizeCtorArgs(e,t,r,i){if(e&&"object"==typeof e&&("x"in e||Array.isArray(e))){const n={position:e};return null!=t&&(n.heading=t),null!=r&&(n.tilt=r),null!=i&&(n.fov=i),n}return e}writePosition(e,t,r,i){const n=e.clone();n.x=(0,d.GB)(e.x||0),n.y=(0,d.GB)(e.y||0),n.z=e.hasZ?(0,d.GB)(e.z||0):e.z,t[r]=n.write({},i)}readPosition(e,t){const r=new h.A;return r.read(e,t),r.x=(0,d.GB)(r.x||0),r.y=(0,d.GB)(r.y||0),r.z=r.hasZ?(0,d.GB)(r.z||0):r.z,r}equals(e){return null!=e&&this.tilt===e.tilt&&this.heading===e.heading&&this.fov===e.fov&&this.position.equals(e.position)&&this.layout.equals(e.layout)}};(0,i.Cg)([(0,o.MZ)({type:h.A,json:{write:{isRequired:!0}}})],p.prototype,"position",void 0),(0,i.Cg)([(0,m.K)("position")],p.prototype,"writePosition",null),(0,i.Cg)([(0,f.w)("position")],p.prototype,"readPosition",null),(0,i.Cg)([(0,o.MZ)({type:Number,nonNullable:!0,json:{write:{isRequired:!0}}}),(0,o.wg)(e=>l.ie.normalize((0,d.GB)(e)))],p.prototype,"heading",void 0),(0,i.Cg)([(0,o.MZ)({type:Number,nonNullable:!0,json:{write:{isRequired:!0}}}),(0,o.wg)(e=>(0,u.qE)((0,d.GB)(e),-180,180))],p.prototype,"tilt",void 0),(0,i.Cg)([(0,o.MZ)({type:Number,nonNullable:!0,json:{default:55,write:!0}}),(0,o.wg)(e=>(0,u.qE)((0,d.GB)(e,55),1,170))],p.prototype,"fov",void 0),(0,i.Cg)([(0,o.MZ)({type:s,nonNullable:!0,json:{read:!1,write:!1}})],p.prototype,"layout",void 0),p=(0,i.Cg)([(0,o.$K)("esri.Camera")],p);var v=r(9093),g=r(35522),x=r(51850),_=r(16930),b=(r(48353),r(9762),r(65806)),y=r(27993),w=r(73941),S=(r(19419),r(58083)),M=r(65720),T=r(71351),C=r(69622),I=r(53966),E=r(90629),O=r(37585),P=r(48163),D=r(78955),A=r(91829),R=r(44280);function F(e,t,r){e.worldUpAtPosition(t,B),(0,g.Re)(N,r,t);const i=(0,g.Bw)(N);return 0===i?0:(0,u.XM)((0,g.Om)(N,B)/i)}const B=(0,x.vt)(),N=(0,x.vt)();var z;let j=z=class extends C.A{constructor(e){super(e),this._ray=(0,T.vt)(),this._viewport=(0,A.fA)(0,0,1,1),this._padding=(0,A.fA)(0,0,0,0),this._fov=55/180*Math.PI,this._nearFar=(0,P.fA)(1,1e3),this._viewDirty=!0,this._viewMatrix=(0,v.vt)(),this._viewProjectionDirty=!0,this._viewProjectionMatrix=(0,v.vt)(),this._viewInverseTransposeMatrixDirty=!0,this._viewInverseTransposeMatrix=(0,v.vt)(),this._frustumDirty=!0,this._frustum=(0,M.vt)(),this._fullViewport=(0,A.vt)(),this._fullViewportDirty=!0,this._pixelRatio=1,this.pixelScale=1,this.row=0,this.column=0,this._rows=1,this._columns=1,this._center=(0,x.vt)(),this._up=(0,x.vt)(),this.relativeElevation=0}get pixelRatio(){return this._pixelRatio}set pixelRatio(e){this._pixelRatio=e>0?e:1}get rows(){return this._rows}set rows(e){this._rows=Math.max(1,e)}get columns(){return this._columns}set columns(e){this._columns=Math.max(1,e)}get eye(){return this._ray.origin}set eye(e){this._compareAndSetView(e,this._ray.origin,"eye")}get center(){return this._center}set center(e){this._compareAndSetView(e,this._center,"_center")}get ray(){return(0,g.Re)(this._ray.direction,this.center,this.eye),this._ray}get up(){return this._up}set up(e){this._compareAndSetView(e,this._up,"_up")}get viewMatrix(){return this._ensureViewClean(),this._viewMatrix}set viewMatrix(e){(0,S.C)(this._viewMatrix,e),this.notifyChange("_viewMatrix"),this._viewDirty=!1,this._viewInverseTransposeMatrixDirty=!0,this._viewProjectionDirty=!0,this._frustumDirty=!0}get inverseViewMatrix(){return(0,S.Qw)((0,v.vt)(),this.viewMatrix)||this._get("inverseViewMatrix")||(0,v.vt)()}get viewForward(){return this._ensureViewClean(),(0,g.hZ)((0,x.vt)(),-this._viewMatrix[2],-this._viewMatrix[6],-this._viewMatrix[10])}get viewUp(){return this._ensureViewClean(),(0,g.hZ)((0,x.vt)(),this._viewMatrix[1],this._viewMatrix[5],this._viewMatrix[9])}get viewRight(){return this._ensureViewClean(),(0,g.hZ)((0,x.vt)(),this._viewMatrix[0],this._viewMatrix[4],this._viewMatrix[8])}get nearFar(){return this._nearFar}get near(){return this._nearFar[0]}set near(e){this._nearFar[0]!==e&&(this._nearFar[0]=e,this._viewProjectionDirty=!0,this._frustumDirty=!0,this.notifyChange("_nearFar"))}get far(){return this._nearFar[1]}set far(e){this._nearFar[1]!==e&&(this._nearFar[1]=e,this._viewProjectionDirty=!0,this._frustumDirty=!0,this.notifyChange("_nearFar"))}get viewport(){return this._viewport}set viewport(e){this.x=e[0],this.y=e[1],this.width=e[2],this.height=e[3]}get screenViewport(){if(1===this.pixelRatio)return this._viewport;const e=(0,D.hs)((0,A.vt)(),this._viewport,1/this.pixelRatio),t=this._get("screenViewport");return t&&(0,D.aI)(e,t)?t:e}get screenPadding(){if(1===this.pixelRatio)return this._padding;const e=(0,D.hs)((0,A.vt)(),this._padding,1/this.pixelRatio),t=this._get("screenPadding");return t&&(0,D.aI)(e,t)?t:e}get x(){return this._viewport[0]}set x(e){e+=this._padding[3],this._viewport[0]!==e&&(this._viewport[0]=e,this._fullViewportDirty=!0,this._viewProjectionDirty=!0,this._frustumDirty=!0,this.notifyChange("_viewport"))}get y(){return this._viewport[1]}set y(e){e+=this._padding[2],this._viewport[1]!==e&&(this._viewport[1]=e,this._fullViewportDirty=!0,this._viewProjectionDirty=!0,this._frustumDirty=!0,this.notifyChange("_viewport"))}get width(){return this._viewport[2]}set width(e){this._viewport[2]!==e&&(this._viewport[2]=e,this._fullViewportDirty=!0,this._viewProjectionDirty=!0,this._frustumDirty=!0,this.notifyChange("_viewport"))}get height(){return this._viewport[3]}set height(e){this._viewport[3]!==e&&(this._viewport[3]=e,this._fullViewportDirty=!0,this._viewProjectionDirty=!0,this._frustumDirty=!0,this.notifyChange("_viewport"))}get fullWidth(){return this._viewport[2]+this._padding[1]+this._padding[3]}set fullWidth(e){this.width=e-(this._padding[1]+this._padding[3])}get fullHeight(){return this._viewport[3]+this._padding[0]+this._padding[2]}set fullHeight(e){this.height=e-(this._padding[0]+this._padding[2])}get fullViewport(){return this._fullViewportDirty&&(this._fullViewport[0]=this._viewport[0]-this._padding[3],this._fullViewport[1]=this._viewport[1]-this._padding[2],this._fullViewport[2]=this._viewport[2]+this._padding[1]+this._padding[3],this._fullViewport[3]=this._viewport[3]+this._padding[0]+this._padding[2],this._fullViewportDirty=!1),this._fullViewport}get _aspect(){return this.width/this.height}get padding(){return this._padding}set padding(e){(0,D.t2)(this._padding,e)||(this._viewport[0]+=e[3]-this._padding[3],this._viewport[1]+=e[2]-this._padding[2],this._viewport[2]-=e[1]+e[3]-(this._padding[1]+this._padding[3]),this._viewport[3]-=e[0]+e[2]-(this._padding[0]+this._padding[2]),(0,D.C)(this._padding,e),this._fullViewportDirty=!0,this._viewProjectionDirty=!0,this._frustumDirty=!0,this.notifyChange("_padding"),this.notifyChange("_viewport"))}get viewProjectionMatrix(){return this._viewProjectionDirty&&((0,S.lw)(this._viewProjectionMatrix,this.projectionMatrix,this.viewMatrix),this._viewProjectionDirty=!1),this._viewProjectionMatrix}get projectionMatrix(){return this._projectionMatrixInternal}get inverseProjectionMatrix(){return(0,S.B8)((0,v.vt)(),this.projectionMatrix)||this._get("inverseProjectionMatrix")||(0,v.vt)()}get fov(){return this._fov}set fov(e){this._fov=e,this._viewProjectionDirty=!0,this._frustumDirty=!0}get fovX(){return e=this._fov,t=this.width,r=this.height,2*Math.atan(t*Math.tan(.5*e)/Math.sqrt(t*t+r*r));var e,t,r}set fovX(e){this._fov=function(e,t,r){return 2*Math.atan(Math.sqrt(t*t+r*r)*Math.tan(.5*e)/t)}(e,this.width,this.height),this._viewProjectionDirty=!0,this._frustumDirty=!0}get fovY(){return e=this._fov,t=this.width,r=this.height,2*Math.atan(r*Math.tan(.5*e)/Math.sqrt(t*t+r*r));var e,t,r}set fovY(e){this._fov=function(e,t,r){return 2*Math.atan(Math.sqrt(t*t+r*r)*Math.tan(.5*e)/r)}(e,this.width,this.height),this._viewProjectionDirty=!0,this._frustumDirty=!0}get distance(){return(0,g.Io)(this.center,this.eye)}get frustum(){return this._recomputeFrustum(),this._frustum}get viewInverseTransposeMatrix(){return(this._viewInverseTransposeMatrixDirty||this._viewDirty)&&((0,S.B8)(this._viewInverseTransposeMatrix,this.viewMatrix),(0,S.mg)(this._viewInverseTransposeMatrix,this._viewInverseTransposeMatrix),this._viewInverseTransposeMatrixDirty=!1),this._viewInverseTransposeMatrix}depthNDCToWorld(e){const{near:t,far:r}=this;return 2*t*r/(r+t-e*(r-t))}get perRenderPixelRatio(){return Math.tan(this.fovX/2)/(this.width/2)}get perScreenPixelRatio(){return this.perRenderPixelRatio*this.pixelRatio}get aboveGround(){return null!=this.relativeElevation&&this.relativeElevation>=0}get _projectionMatrixInternal(){const e=this.width,t=this.height,r=this.near*Math.tan(this.fovY/2)*2,i=r*this._aspect,n=r/this.rows,o=i/this.columns,a=-i/2+this.column*o,s=a+o,l=-r/2+this.row*n,c=l+n,u=(0,S.$h)((0,v.vt)(),a*(1+2*this._padding[3]/e),s*(1+2*this._padding[1]/e),l*(1+2*this._padding[2]/t),c*(1+2*this._padding[0]/t),this.near,this.far),d=this._get("projectionMatrix");return d&&(0,S.t2)(d,u)?d:u}copyFrom(e){(0,g.C)(this._ray.origin,e.eye),this.center=e.center,this.up=e.up,(0,D.C)(this._viewport,e.viewport),this.notifyChange("_viewport"),(0,D.C)(this._padding,e.padding),this.notifyChange("_padding"),this._fullViewportDirty=!0,(0,O.C)(this._nearFar,e.nearFar),this.notifyChange("_nearFar"),this._fov=e.fov,this.row=e.row,this.column=e.column,this.rows=e.rows,this.columns=e.columns,this.relativeElevation=e.relativeElevation;const t=e;return this._viewDirty=t._viewDirty,this._viewDirty||((0,S.C)(this._viewMatrix,e.viewMatrix),this.notifyChange("_viewMatrix")),this._viewProjectionDirty=!0,this._frustumDirty=t._frustumDirty,this._frustumDirty||((0,M.C)(this._frustum,e.frustum),this._frustumDirty=!1),t._viewInverseTransposeMatrixDirty?this._viewInverseTransposeMatrixDirty=!0:((0,S.C)(this._viewInverseTransposeMatrix,e.viewInverseTransposeMatrix),this._viewInverseTransposeMatrixDirty=!1),this.pixelRatio=e.pixelRatio,this.pixelScale=e.pixelScale,this}copyViewFrom(e){this.eye=e.eye,this.center=e.center,this.up=e.up,this.fov=e.fov}clone(){return(new z).copyFrom(this)}equals(e){return(0,g.t2)(this.eye,e.eye)&&(0,g.t2)(this.center,e.center)&&(0,g.t2)(this.up,e.up)&&(0,D.t2)(this._viewport,e.viewport)&&(0,D.t2)(this._padding,e.padding)&&(0,O.t2)(this.nearFar,e.nearFar)&&this._fov===e.fov&&this.pixelRatio===e.pixelRatio&&this.relativeElevation===e.relativeElevation&&this.row===e.row&&this.column===e.column&&this.rows===e.rows&&this.columns===e.columns}equalsView(e){return(0,g.t2)(this.eye,e.eye)&&(0,g.t2)(this.center,e.center)&&(0,g.t2)(this.up,e.up)&&this._fov===e.fov}almostEquals(e){const t=Math.max(1,1/this.pixelRatio,1/e.pixelRatio);if(Math.abs(e.fov-this._fov)>=.001||(0,D.hG)(e.screenPadding,this.screenPadding)>=t||(0,D.hG)(this.screenViewport,e.screenViewport)>=t||this.row!==e.row||this.column!==e.column||this.rows!==e.rows||this.columns!==e.columns)return!1;(0,g.jb)(W,e.eye,e.center),(0,g.jb)(V,this.eye,this.center);const r=(0,g.Om)(W,V),i=(0,g.uE)(W),n=(0,g.uE)(V),o=5e-4;return r*r>=(1-1e-10)*i*n&&(0,g.lo)(e.eye,this.eye)<Math.max(i,n)*o*o}computeRenderPixelSizeAt(e){return this.computeRenderPixelSizeAtDist(this._viewDirectionDistance(e))}computeRenderPixelSizeAtDist(e){return e*this.perRenderPixelRatio}computeScreenPixelSizeAt(e){return this.computeScreenPixelSizeAtDist(this._viewDirectionDistance(e))}_viewDirectionDistance(e){return Math.abs((0,R.gr)(this.viewForward,(0,g.Re)(W,e,this.eye)))}computeScreenPixelSizeAtDist(e){return e*this.perScreenPixelRatio}computeDistanceFromRadius(e,t){return e/Math.tan(Math.min(this.fovX,this.fovY)/(2*(t||1)))}getScreenCenter(e=(0,E.gs)()){return e[0]=(this.padding[3]+this.width/2)/this.pixelRatio,e[1]=(this.padding[0]+this.height/2)/this.pixelRatio,e}getRenderCenter(e,t=.5,r=.5){return e[0]=this.padding[3]+this.width*t,e[1]=this.padding[2]+this.height*r,e[2]=.5,e}setGLViewport(e){const t=this.viewport,r=this.padding;e.setViewport(t[0]-r[3],t[1]-r[2],t[2]+r[1]+r[3],t[3]+r[0]+r[2])}applyProjection(e,t){e!==H&&(0,g.C)(H,e),H[3]=1,(0,D.Z0)(H,H,this.projectionMatrix);const r=Math.abs(H[3]);(0,g.hs)(H,H,1/r);const i=this.fullViewport;t[0]=(0,u.Cc)(0,i[0]+i[2],.5+.5*H[0]),t[1]=(0,u.Cc)(0,i[1]+i[3],.5+.5*H[1]),t[2]=.5*(H[2]+1),t[3]=r}unapplyProjection(e,t){const r=this.fullViewport;H[0]=(e[0]/(r[0]+r[2])*2-1)*e[3],H[1]=(e[1]/(r[1]+r[3])*2-1)*e[3],H[2]=(2*e[2]-1)*e[3],H[3]=e[3],null!=this.inverseProjectionMatrix&&((0,D.Z0)(H,H,this.inverseProjectionMatrix),t[0]=H[0],t[1]=H[1],t[2]=H[2])}projectToScreen(e,t){return null==this.projectToRenderScreen(e,U)?null:(this.renderToScreen(U,t),t)}projectToRenderScreen(e,t){if(H[0]=e[0],H[1]=e[1],H[2]=e[2],H[3]=1,(0,D.Z0)(H,H,this.viewProjectionMatrix),0===H[3])return null;const r=H;(0,g.hs)(r,r,1/Math.abs(H[3]));const i=this.fullViewport,n=(0,u.Cc)(0,i[0]+i[2],.5+.5*r[0]),o=(0,u.Cc)(0,i[1]+i[3],.5+.5*r[1]);return"x"in t?(t.x=n,t.y=o):(t[0]=n,t[1]=o,t.length>2&&(t[2]=.5*(r[2]+1))),t}unprojectFromScreen(e,t){return this.unprojectFromRenderScreen(this.screenToRender(e,U),t)}unprojectFromRenderScreen(e,t){if((0,S.lw)(L,this.projectionMatrix,this.viewMatrix),!(0,S.B8)(L,L))return null;const r=this.fullViewport;return H[0]=2*(e[0]-r[0])/r[2]-1,H[1]=2*(e[1]-r[1])/r[3]-1,H[2]=2*e[2]-1,H[3]=1,(0,D.Z0)(H,H,L),0===H[3]?null:(t[0]=H[0]/H[3],t[1]=H[1]/H[3],t[2]=H[2]/H[3],t)}constrainWindowSize(e,t,r,i){const n=e*this.pixelRatio,o=t*this.pixelRatio,a=Math.max(n-r/2,0),s=Math.max(this.fullHeight-o-i/2,0),l=-Math.min(n-r/2,0),c=-Math.min(this.fullHeight-o-i/2,0),u=r-l- -Math.min(this.fullWidth-n-r/2,0),d=i-c- -Math.min(o-i/2,0);return[Math.round(a),Math.round(s),Math.round(u),Math.round(d)]}computeUp(e){1===e?this._computeUpGlobal():this._computeUpLocal()}screenToRender(e,t){const r=e[0]*this.pixelRatio,i=this.fullHeight-e[1]*this.pixelRatio;return t[0]=r,t[1]=i,t}renderToScreen(e,t){const r=e[0]/this.pixelRatio,i=(this.fullHeight-e[1])/this.pixelRatio;t[0]=r,t[1]=i}sphereFrustumCoverage(e,t){const{center:r,eye:i,distance:n,fovY:o}=this,a=Math.abs(Math.PI/2-F(t,r,i));return e.frustumCoverage(a,n,o)}_computeUpGlobal(){(0,g.Re)(W,this.center,this.eye);const e=(0,g.Bw)(this.center);e<1?(0,g.t2)(this._up,x.Cb)&&((0,g.C)(this._up,x.Cb),this._markViewDirty(),this.notifyChange("_up")):Math.abs((0,g.Om)(W,this.center))>.9999*(0,g.Bw)(W)*e||((0,g.$A)(V,W,this.center),(0,g.$A)(V,V,W),(0,g.S8)(V,V),(0,g.t2)(this._up,V)||((0,g.C)(this._up,V),this.notifyChange("_up"),this._markViewDirty()))}_computeUpLocal(){(0,g.oW)(W,this.eye,this.center),Math.abs(W[2])<=.9999&&((0,g.hs)(W,W,W[2]),(0,g.hZ)(W,-W[0],-W[1],1-W[2]),(0,g.S8)(W,W),(0,g.t2)(this._up,W)||((0,g.C)(this._up,W),this.notifyChange("_up"),this._markViewDirty()))}_compareAndSetView(e,t,r){"number"==typeof e[0]&&isFinite(e[0])&&"number"==typeof e[1]&&isFinite(e[1])&&"number"==typeof e[2]&&isFinite(e[2])?(0,g.t2)(e,t)||((0,g.C)(t,e),this._markViewDirty(),this.notifyChange(r)):I.A.getLogger("esri.views.3d.webgl-engine.lib.RenderCamera").warn("RenderCamera vector contains invalid number, ignoring value")}_markViewDirty(){this._viewDirty=!0,this._frustumDirty=!0,this._viewProjectionDirty=!0}_recomputeFrustum(){this._frustumDirty&&((0,M.ui)(this.viewMatrix,this.projectionMatrix,this._frustum),this._frustumDirty=!1)}_ensureViewClean(){this._viewDirty&&((0,S.t5)(this._viewMatrix,this.eye,this.center,this.up),this.notifyChange("_viewMatrix"),this._viewDirty=!1,this._viewInverseTransposeMatrixDirty=!0)}};(0,i.Cg)([(0,o.MZ)()],j.prototype,"_viewport",void 0),(0,i.Cg)([(0,o.MZ)()],j.prototype,"_padding",void 0),(0,i.Cg)([(0,o.MZ)()],j.prototype,"_fov",void 0),(0,i.Cg)([(0,o.MZ)()],j.prototype,"_nearFar",void 0),(0,i.Cg)([(0,o.MZ)()],j.prototype,"_viewDirty",void 0),(0,i.Cg)([(0,o.MZ)()],j.prototype,"_viewMatrix",void 0),(0,i.Cg)([(0,o.MZ)()],j.prototype,"pixelRatio",null),(0,i.Cg)([(0,o.MZ)()],j.prototype,"_pixelRatio",void 0),(0,i.Cg)([(0,o.MZ)()],j.prototype,"pixelScale",void 0),(0,i.Cg)([(0,o.MZ)()],j.prototype,"row",void 0),(0,i.Cg)([(0,o.MZ)()],j.prototype,"column",void 0),(0,i.Cg)([(0,o.MZ)()],j.prototype,"_rows",void 0),(0,i.Cg)([(0,o.MZ)()],j.prototype,"rows",null),(0,i.Cg)([(0,o.MZ)()],j.prototype,"_columns",void 0),(0,i.Cg)([(0,o.MZ)()],j.prototype,"columns",null),(0,i.Cg)([(0,o.MZ)()],j.prototype,"eye",null),(0,i.Cg)([(0,o.MZ)()],j.prototype,"center",null),(0,i.Cg)([(0,o.MZ)()],j.prototype,"_center",void 0),(0,i.Cg)([(0,o.MZ)()],j.prototype,"up",null),(0,i.Cg)([(0,o.MZ)()],j.prototype,"_up",void 0),(0,i.Cg)([(0,o.MZ)()],j.prototype,"viewMatrix",null),(0,i.Cg)([(0,o.MZ)({readOnly:!0})],j.prototype,"inverseViewMatrix",null),(0,i.Cg)([(0,o.MZ)({readOnly:!0})],j.prototype,"viewForward",null),(0,i.Cg)([(0,o.MZ)({readOnly:!0})],j.prototype,"viewUp",null),(0,i.Cg)([(0,o.MZ)({readOnly:!0})],j.prototype,"viewRight",null),(0,i.Cg)([(0,o.MZ)({readOnly:!0})],j.prototype,"nearFar",null),(0,i.Cg)([(0,o.MZ)()],j.prototype,"near",null),(0,i.Cg)([(0,o.MZ)()],j.prototype,"far",null),(0,i.Cg)([(0,o.MZ)()],j.prototype,"viewport",null),(0,i.Cg)([(0,o.MZ)({readOnly:!0})],j.prototype,"screenViewport",null),(0,i.Cg)([(0,o.MZ)({readOnly:!0})],j.prototype,"screenPadding",null),(0,i.Cg)([(0,o.MZ)()],j.prototype,"x",null),(0,i.Cg)([(0,o.MZ)()],j.prototype,"y",null),(0,i.Cg)([(0,o.MZ)()],j.prototype,"width",null),(0,i.Cg)([(0,o.MZ)()],j.prototype,"height",null),(0,i.Cg)([(0,o.MZ)()],j.prototype,"fullWidth",null),(0,i.Cg)([(0,o.MZ)()],j.prototype,"fullHeight",null),(0,i.Cg)([(0,o.MZ)({readOnly:!0})],j.prototype,"_aspect",null),(0,i.Cg)([(0,o.MZ)()],j.prototype,"padding",null),(0,i.Cg)([(0,o.MZ)({readOnly:!0})],j.prototype,"projectionMatrix",null),(0,i.Cg)([(0,o.MZ)({readOnly:!0})],j.prototype,"inverseProjectionMatrix",null),(0,i.Cg)([(0,o.MZ)()],j.prototype,"fov",null),(0,i.Cg)([(0,o.MZ)()],j.prototype,"fovX",null),(0,i.Cg)([(0,o.MZ)()],j.prototype,"fovY",null),(0,i.Cg)([(0,o.MZ)()],j.prototype,"viewInverseTransposeMatrix",null),(0,i.Cg)([(0,o.MZ)({readOnly:!0})],j.prototype,"_projectionMatrixInternal",null),(0,i.Cg)([(0,o.MZ)()],j.prototype,"relativeElevation",void 0),j=z=(0,i.Cg)([(0,o.$K)("esri.views.3d.webgl.RenderCamera")],j);const H=(0,A.vt)(),L=(0,v.vt)(),W=(0,x.vt)(),V=(0,x.vt)(),U=(0,E.r_)();r(49718),r(6867),r(16396),(0,v.vt)(),(0,x.vt)(),(0,x.vt)(),(0,x.vt)();var G=r(5443),k=r(39829),$=r(95108);function Z(e,t,r,i){const n=function(e,t){const r=0===t||2===t?0:1,i=e[t],n=0===t||1===t?1:-1,o=0===r?1:0;return(e,t,a)=>{if(t[r]<i&&a[r]<i)return 1===n?0:1;if(t[r]>i&&a[r]>i)return 1===n?1:0;const s=(a[o]-t[o])/(a[r]-t[r]),l=t[o]+s*(i-t[r]);return e[r]=i,e[o]=l,(t[r]<i?1:-1)*n>0?2:3}}(r,i);if(e.length=0,t.length){1===n(Y,t[0],t[0])&&q(e,t[0]);for(let r=0;r<t.length;r++){const i=t[r===t.length-1?0:r+1];switch(n(Y,t[r],i)){case 1:q(e,i);break;case 3:q(e,(0,P.o8)(Y));break;case 2:q(e,(0,P.o8)(Y)),q(e,i)}}}}function q(e,t){0!==e.length&&(0,O.aI)(e.at(-1),t)||e.push(t)}const Y=(0,P.vt)();var K=r(11964),X=r(27921);const J=(0,x.vt)(),Q=(0,x.vt)();function ee(){return{direction:(0,x.vt)(),up:(0,x.vt)()}}function te(e,t,r,i,n){let o=(0,g.S8)(J,e),a=(0,g.Om)(o,i);const s=a>0;a=Math.abs(a),a>.99&&(a=Math.abs((0,g.Om)(t,i)),a<.99?((0,g.C)(o,t),s&&(0,g.hs)(o,o,-1)):o=null);let l=0;if(o){(0,g.hs)(Q,i,(0,g.Om)(i,o)),(0,g.Re)(o,o,Q);const e=(0,g.Om)(o,n)/((0,g.Bw)(o)*(0,g.Bw)(n));(0,g.$A)(Q,o,n),l=((0,g.Om)(Q,i)>0?1:-1)*(0,u.KJ)((0,u.XM)(e))}const c=(0,u.KJ)((0,u.XM)(-(0,g.Om)(i,e)/(0,g.Bw)(e)));return r?(r.heading=l,r.tilt=c,r):{heading:l,tilt:c}}function re(e,t,r,i){(0,g.Re)(ie,r,t),(0,X.T7)(i,(0,K.LV)(t,ie),e)||e===r||(0,g.C)(e,r)}const ie=(0,x.vt)(),ne=(0,x.fA)(0,1,0),oe=(0,x.fA)(0,0,1),ae=(0,v.vt)(),se=(0,x.vt)(),le=(0,x.vt)();function ce(e,t,r,i=ee()){const{direction:n,up:o}=i;return(0,S.N9)(ae,-(0,u.kU)(t)),(0,S.eL)(ae,ae,(0,u.kU)(r)),(0,g.Z0)(n,oe,ae),(0,g.hs)(n,n,-1),(0,g.Z0)(o,ne,ae),i}function ue(e,t,r,i,n){const o=t.lines[11].direction,a=(n-r.getAltitude(i))/o[2];(0,g.Ln)(e,i,o,a)}const de=(0,x.vt)();Object.freeze(Object.defineProperty({__proto__:null,directionToHeadingTilt:function(e,t,r,i){return te(t,r,i,oe,ne)},eyeForCenterWithHeadingTilt:function(e,t,r,i){const n=ce(0,r,i),o=(0,x.vt)();return(0,g.hs)(o,n.direction,-t),(0,g.WQ)(o,o,e),{up:n.up,eye:o,heading:r,tilt:i}},eyeTiltToLookAtTilt:function(e){return(0,u.kU)(e)},headingTiltToDirectionUp:ce,lookAtTiltToEyeTilt:function(e){return(0,u.KJ)(e)},toArea:function(e,t){const r=e.frustum,{renderCoordsHelper:i}=e,n=i.getAltitude(t),o=e.spatialReference,a=e.state.camera.eye,s=[],l=r.planes[5];for(let e=0;e<4;e++){const t=r.lines[e];i.intersectInfiniteManifold((0,T.LV)(t.origin,t.direction),n,de)||ue(de,r,i,t.endpoint,n),re(de,a,de,l),s.push((0,P.fA)(de[0],de[1]))}return function(e,t,r){const i=e.map(e=>((0,g.hZ)(de,e[0],e[1],0),t.fromRenderCoords(de,de,r),[de[0],de[1]]));return i.length<=2?new k.A({spatialReference:r}):(i.push(i[0].slice()),(0,$.$3)(i)||i.reverse(),new k.A({rings:[i],spatialReference:r}))}(function(e,t){const r=[],i=[];return Z(r,e,t,0),Z(i,r,t,1),Z(r,i,t,2),Z(i,r,t,3),i}(s,i.extent),i,o)},toExtent:function(e,t,r,i,n){const o=e.renderSpatialReference,a=e.spatialReference??t.spatialReference;return(0,b.g)(t,se,o),(0,b.g)(t,le,o),se[0]-=r/2,le[0]+=r/2,se[1]-=i/2,le[1]+=i/2,(0,y.F)(se,o,se,a),(0,y.F)(le,o,le,a),n?(n.xmin=se[0],n.ymin=se[1],n.xmax=le[0],n.ymax=le[1],n.spatialReference=a):n=new G.A(se[0],se[1],le[0],le[1],a),n}},Symbol.toStringTag,{value:"Module"}));var he=r(34304),me=r(52039),fe=r(94008),pe=r(28735);class ve{get planes(){return this.frustum}get points(){return this._points}get direction(){return this._direction}get origin(){return this._origin}get boundingSphere(){return this._boundingSphereDirty&&this._updateBoundingSphere(),this._boundingSphere}constructor(e){this.renderCoordsHelper=e,this.frustum=(0,M.vt)(),this._points=(0,M.Qy)(),this.lines=new Array(12),this._origin=(0,x.vt)(),this._direction=(0,x.vt)(),this._boundingSphere=new fe.iy,this._altitude=null,this._boundingSphereDirty=!0;for(let e=0;e<12;e++)this.lines[e]={origin:null,direction:(0,x.vt)(),endpoint:null}}update(e){(0,M.ui)(e.viewMatrix,e.projectionMatrix,this.frustum,this._points),(0,g.C)(this._origin,e.eye),(0,g.C)(this._direction,e.viewForward),this._altitude=this.renderCoordsHelper.getAltitude(this._origin),this._updateLines(),this._boundingSphereDirty=!0}get altitude(){return this._altitude}intersectsSphere(e){return(0,M.m7)(this.frustum,e)}isConvexHullOutsideViewPyramid(e,t){return(0,M.Pi)(this.frustum,e,t)}intersectsRay(e){return(0,M.pw)(this.frustum,e)}intersectsLineSegment(e,t){return(0,M.ST)(this.frustum,e,t)}lineSegmentIntersectsViewPyramid(e,t){return(0,M.LJ)(this.frustum,e,t)}intersectsPoint(e){return(0,M.bU)(this.frustum,e)}_updateLines(){const e=this._points;for(let t=0;t<4;t++){const r=t+4;ge(this.lines[t],e[t],e[r]),ge(this.lines[t+4],e[t],3===t?e[0]:e[t+1]),ge(this.lines[t+8],e[r],3===t?e[4]:e[r+1])}}_updateBoundingSphere(){const{origin:e}=this,t=_e;(0,g.S8)(t,this.direction);const r=xe;(0,g.jb)(r,this.points[4],e);const i=.5*(0,g.Om)(r,r)/(0,g.Om)(t,r),n=this._boundingSphere,o=(0,g.Ln)(be,e,t,i);n.center=o,n.radius=i}static{this.planePointIndices=M.c8}static{this.nearFarLineIndices=[[0,4],[1,5],[2,6],[3,7]]}}function ge(e,t,r){e.origin=t,e.endpoint=r,(0,g.oW)(e.direction,t,r)}const xe=(0,x.vt)(),_e=(0,x.vt)(),be=(0,x.vt)();r(86211);const ye=(0,x.fA)(5802e-9,13558e-9,331e-7),we=(0,x.fA)(65e-8*3,5643e-9,255e-9);(0,x.fA)(ye[0]+we[0],ye[1]+we[1],ye[2]+we[2]);class Se{constructor(e=1/0,t=-1/0){this.near=e,this.far=t}set(e,t){this.near=e,this.far=t}union(e){return null!=e&&(this.near=Math.min(this.near,e.near),this.far=Math.max(this.far,e.far)),this}within(e){return this.near<=e&&e<=this.far}equals(e){return this.near===e.near&&this.far===e.far}static{this.Zero=new Se(0,0)}static{this.Infinite=new Se}}(0,x.vt)(),(0,x.vt)(),new fe.iy,(0,T.vt)(),new G.A({xmin:0,ymin:0,zmin:0,xmax:0,ymax:0,zmax:0});var Me=r(32728);const Te=(0,x.fA)(0,0,1),Ce=(0,g.S8)((0,x.vt)(),(0,x.fA)(1,1,1)),Ie=(0,v.vt)(),Ee=(0,x.vt)(),Oe=(0,x.vt)();function Pe(e,t,r,i=ee()){(0,g.$A)(Ee,e,Te),0===(0,g.Om)(Ee,Ee)&&(0,g.$A)(Ee,e,Ce),(0,S.$0)(Ie,-(0,u.kU)(t),e),(0,S.e$)(Ie,Ie,-(0,u.kU)(r),Ee);const{up:n,direction:o}=i;return(0,g.$A)(n,Ee,e),(0,g.S8)(n,n),(0,g.Z0)(n,n,Ie),(0,g.S8)(o,e),(0,g.ze)(o,o),(0,g.Z0)(o,o,Ie),i}function De(e){const t=e[1];e[1]=-e[2],e[2]=t}function Ae(e,t){const r=Pe(t,e.heading,e.tilt);return e.up=r.up,e}function Re(e,t){const{renderCoordsHelper:r,state:i}=e;if(1!==i.viewingMode)return 1;const n=r.getAltitude(t),o=r.referenceEllipsoid.radius,a=1+(0,g.Io)(i.camera.eye,t)/(o+n),s=Math.sqrt(a*a-1),{minCurvature:l,maxCurvature:c,minSamples:d,maxSamples:h}=Be,m=(0,u.qE)((s-l)/(c-l),0,1);return Math.round((0,u.Cc)(d,h,m))}function Fe(e,t){const r=[],i=[],n=(0,he.FD)();for(let o=0;o<e.length;o++){const a=e[o],s=o===e.length-1?e[0]:e[o+1],l=(0,K.Cr)(a,s,Ve),c=(0,X.vE)(t,l.origin,l.vector,0,Le);switch(c){case 2:r.push(a);break;case 3:i.push(a);break;case 0:case 1:{const[e,o,s]=0===c?[1,r,i]:[-1,i,r],l=(0,X.Qj)(t),u=(0,g.Ln)((0,x.vt)(),Le,l,e*n),d=(0,g.Ln)((0,x.vt)(),Le,l,e*-n);o.push(a),o.push(u),s.push(d)}}}const o=[];return r.length&&o.push(r),i.length&&o.push(i),o}const Be={minCurvature:(0,u.kU)(5),maxCurvature:(0,u.kU)(50),minSamples:1,maxSamples:6},Ne=(0,x.fA)(1,0,0),ze=(0,x.fA)(0,1,0),je=(0,x.vt)(),He=(0,x.vt)(),Le=(0,x.vt)(),We=new fe.iy,Ve=(0,K.vt)(),Ue=(0,A.vt)();Object.freeze(Object.defineProperty({__proto__:null,directionToHeadingTilt:function(e,t,r,i){const n=Ee,o=Oe;return(0,g.S8)(n,e),(0,g.$A)(Oe,n,Te),0===(0,g.Om)(Oe,Oe)&&(0,g.$A)(Oe,n,Ce),(0,g.$A)(o,Oe,n),te(t,r,i,n,o)},eyeForCenterWithHeadingTilt:function(e,t,r,i){const n={eye:(0,x.vt)(),up:null,tilt:i,heading:r},o=Ee;o[0]=e[0],o[1]=e[2],o[2]=-e[1];const a=t,s=(0,u.kU)(r),l=(0,u.kU)(i),c=Math.sin(s),d=Math.cos(s),h=Math.sin(l),m=Math.cos(l),f=(0,g.Bw)(o);let p;if(Math.abs(l)<1e-8)p=a+f;else{const e=f/h,t=(0,u.YN)(a/e),r=Math.PI-l-t;p=e*Math.sin(r)}const v=m*a,_=a*a*(h*h),b=d*d*_,y=p-v,w=y*y,S=b*(b+w-o[1]*o[1]);if(S<0)return(0,g.hs)(n.eye,o,p/f),n.tilt=0,Ae(n,e);const M=Math.sqrt(S),T=o[1]*y,C=b+w;let I;if(I=d>0?-M+T:M+T,Math.abs(C)<1e-8)return f<1e-8?(n.eye[0]=0,n.eye[1]=0,n.eye[2]=a):(0,g.hs)(n.eye,o,p/f),n.tilt=0,De(n.eye),Ae(n,e);n.eye[1]=I/C;const E=c*c*_,O=h*a,P=d*O*n.eye[1],D=n.eye[1]*n.eye[1],A=1-D,R=Math.sqrt(A),F=b*D+E-2*P*R*y+A*w;return Math.abs(F)<1e-8?((0,g.hs)(n.eye,o,p/f),n.tilt=0,De(n.eye),Ae(n,e)):(n.eye[0]=(A*(p*o[0]-v*o[0])-O*R*(o[0]*n.eye[1]*d+o[2]*c))/F,n.eye[2]=(A*(p*o[2]-v*o[2])-O*R*(o[2]*n.eye[1]*d-o[0]*c))/F,(0,g.hs)(n.eye,n.eye,p),De(n.eye),Ae(n,e))},eyeTiltToLookAtTilt:function(e,t,r){const i=(0,u.kU)(e),n=(0,g.Bw)(t);return(0,u.YN)(r/(n/Math.sin(i)))+i},getCurvatureSamples:Re,headingTiltToDirectionUp:Pe,lookAtTiltToEyeTilt:function(e,t,r){const i=(0,g.Bw)(t),n=Math.sqrt(r*r+i*i-2*r*i*Math.cos(Math.PI-e)),o=(0,u.YN)(r/(n/Math.sin(e)));return(0,u.KJ)(e-o)},toArea:function(e,t){const{renderCoordsHelper:r}=e,i=e.state.camera.clone(),n=new ve(r);i.near=2,n.update(i);const o=r.getAltitude(t),a=e.spatialReference,s=i.eye,l=function(e){const{renderCoordsHelper:t,state:r}=e,i=Math.abs(t.getAltitude(r.camera.center));return We.radius=t.referenceEllipsoid.radius+i,r.camera.sphereFrustumCoverage(We,t)}(e),c=Re(e,t),d=i.aboveGround,h=n.planes[5],m=[],f=(0,X.O_)(x.uY,Ne,(0,X.vt)()),p=(0,X.O_)(x.uY,ze,(0,X.vt)());(0,D.hZ)(Ue,0,0,0,0);const v=e=>{};for(let e=0;e<4;e++){const t=1===e&&!d||3===e&&d?1-l:0,i=1===e&&d||3===e&&!d?l:1,a=n.lines[e],_=n.lines[3===e?0:e+1];for(let n=0;n<c;n++){const l=n/c,d=0===n?0:(0,u.Cc)(t,i,1===e?1-(1-l)**2:3===e?l**2:l),b=(0,g.Cc)(He,a.origin,_.origin,d),y=(0,Me.nu)(a.direction,_.direction,d,je);r.intersectManifoldClosestSilhouette((0,T.LV)(b,y),o,Le),re(Le,s,Le,h),m.push((0,x.o8)(Le)),0!==m.length&&v((0,g.lo)(m.at(-1),Le));const w=((0,X.BX)(f,Le)?1:0)|((0,X.BX)(p,Le)?2:0);Ue[w]=1}}m.length>2&&(0,g.lo)(m[0],m.at(-1));const _=function(e,t,r){const i=2*(0,he.FD)();return e.map(e=>{const n=[];let o=!1;for(const a of e)t.fromRenderCoords(a,Le,r),Math.abs(a[0])<i&&Math.abs(a[1])<i?(n.push([null,Le[1]]),n.push([null,Le[1]]),o=!0):n.push([Le[0],Le[1]]);if(o)for(let e=0;e<n.length;e++){const t=n[e];if(null!=t[0])continue;const r=n[e+1],i=n.at(0===e?-1:e-1);t[0]=i[0],e++;const o=n.at(e===n.length-1?0:e+1);r[0]=o[0]}return n.push(n[0]),(0,$.$3)(n)||n.reverse(),n})}((0,D.m3)(Ue)>1?function(e,t){const r=[];for(const i of e)r.push(...Fe(i,t));return r}(Fe(m,f),p):[m],r,a);return new k.A({rings:_,spatialReference:a})},toExtent:function(e,t,r,i,n){let o,a,s,c;const d=t.latitude,h=(0,w.tO)(e.spatialReference).radius,m=t.longitude,f=function(e,t,r){const i=t/r,n=(0,u.kU)(e),o=Math.sin(i/2),a=Math.cos(n),s=2*(0,u.YN)(Math.sqrt(o*o/(a*a)));return(0,u.KJ)(s)}(d,r,h)/2;o=m-f,a=m+f;const p=(0,u.kU)(d),v=(1+Math.sin(p))/(1-Math.sin(p)),g=(v+1)*Math.tan(i/h/2),x=g*g;function b(e){const t=Math.PI/2;return(e=l.uC.normalize(e,-t))>t&&(e=Math.PI-e),e}if(s=1.5*Math.PI-2*Math.atan(.5*(g+Math.sqrt(4*v+x))),c=s+i/h,s=b(s),c=b(c),c<s){const e=c;c=s,s=e}if(s=Math.max((0,u.KJ)(s),-90),c=Math.min((0,u.KJ)(c),90),a=me.Y_.monotonic(o,a),a-o>180){const e=(a-o-180)/2;o+=e,a-=e}const y=e.spatialReference&&e.spatialReference.isGeographic?e.spatialReference:_.A.WGS84;return n?(n.xmin=o,n.ymin=s,n.xmax=a,n.ymax=c,n.spatialReference=y):n=new G.A(o,s,a,c,y),e.spatialReference&&e.spatialReference.isWebMercator&&(0,pe.Gh)(n,!1,n),n}},Symbol.toStringTag,{value:"Module"}));const Ge={OPAQUE:"opaque-color",TRANSPARENT:"transparent-color",COMPOSITE:"composite-color",FINAL:"final-color"},ke=[Ge.FINAL,Ge.COMPOSITE,Ge.OPAQUE,Ge.TRANSPARENT],$e={ANTIALIASING:"antialiasing",CUTFILL:"cutfill",CUTFILL_COMPUTATION:"cutfill-computation",FOCUSAREA:"focusarea",FOCUSAREA_MASK:"focusarea-mask",GAUSSIAN_SPLAT:"gaussian",GAUSSIAN_SPLAT_DEPTH:"gaussian-depth",GROUND_DEPTH:"ground-depth",HIGHLIGHT:"highlight",LASERLINES:"laserlines",TRANSPARENT_NO_DEPTH:"transparent-no-depth",MAGNIFIER:"magnifier",OCCLUDED:"occluded",OPAQUE_OCCLUSION_QUERY:"opaque-occlusion-query",OPAQUE_ENVIRONMENT:"opaque-environment",TRANSPARENT_ENVIRONMENT:"transparent-environment",AMBIENT_ILLUMINATION:"ambient-illumination",SHADOW_ACCUMULATION:"shadow-accumulation",SHADOWMAP:"shadowmap",SHADOW_HIGHLIGHT:"shadow-highlight",VOXEL:"voxel",VIEWSHED:"viewshed",OBJECT_AND_LAYER_ID_COLOR:"olid"};Array.from(Object.values($e)).concat(ke),(0,x.vt)()},48852(e,t,r){r.d(t,{g:()=>m});var i=r(4576),n=r(44208),o=r(53966),a=r(17676),s=r(78659),l=r(34275),c=r(94656),u=r(63907);const d=()=>o.A.getLogger("esri.views.webgl.BufferObject"),h=!!(0,n.A)("esri-tests-disable-gpu-memory-measurements");class m{static createIndex(e,t,r){return new m(e,34963,t,r)}static createUniform(e,t,r){return new m(e,35345,t,r)}static createPixelPack(e,t=35041,r){const i=new m(e,35051,t);return r&&i.setSize(r),i}static createPixelUnpack(e,t=35040,r){return new m(e,35052,t,r)}static createTransformFeedback(e,t=35044,r){const i=new m(e,35982,t);return i.setSize(r),i}constructor(e,t,r,i){this._context=e,this.bufferType=t,this.usage=r,this._glName=null,this._sizeBytes=-1,this._indexType=void 0,e.instanceCounter.increment(u.vt.BufferObject,this),this._glName=this._context.gl.createBuffer(),(0,c.Y2)(this._context.gl),i&&this.setData(i)}get glName(){return this._glName}get size(){if(34963===this.bufferType)switch(this._indexType){case u.pe.UNSIGNED_INT:return this._sizeBytes/4;case u.pe.UNSIGNED_SHORT:return this._sizeBytes/2;case u.pe.UNSIGNED_BYTE:case void 0:case null:break;default:this._indexType}return this._sizeBytes}get indexType(){return this._indexType}get sizeBytes(){return this._sizeBytes}get usedMemory(){return h?0:this.sizeBytes}get _isVAOAware(){return 34963===this.bufferType||34962===this.bufferType}dispose(){this._context?.gl?(this._glName&&(this._context.gl.deleteBuffer(this._glName),this._glName=null),this._context.instanceCounter.decrement(u.vt.BufferObject,this),this._context=null):this._glName&&d().warn("Leaked WebGL buffer object")}setSize(e,t=null){if(34963===this.bufferType&&null!=t)switch(this._indexType=t,t){case u.pe.UNSIGNED_SHORT:e*=2;break;case u.pe.UNSIGNED_INT:e*=4;case u.pe.UNSIGNED_BYTE:}this._setBufferData(e)}setData(e){if(!e)return;const t=e.byteLength;34963===this.bufferType&&((0,l.mg)(e)?this._indexType=u.pe.UNSIGNED_BYTE:(0,l.jq)(e)?this._indexType=u.pe.UNSIGNED_SHORT:(0,l.XJ)(e)&&(this._indexType=u.pe.UNSIGNED_INT)),this._setBufferData(t,e)}setIndexType(e){34963===this.bufferType&&(this._indexType=e)}_setBufferData(e,t=null){this._sizeBytes=e;const r=this._context.getBoundVAO();this._isVAOAware&&this._context.bindVAO(null),this._context.bindBuffer(this);const i=this._context.gl;null!=t?i.bufferData(this.bufferType,t,this.usage):i.bufferData(this.bufferType,e,this.usage),(0,c.Y2)(i),this._isVAOAware&&this._context.bindVAO(r)}setSubData(e,t,r,i){if(!e)return;const n=this._context.getBoundVAO();this._isVAOAware&&this._context.bindVAO(null),this._context.bindBuffer(this);const{gl:o}=this._context;o.bufferSubData(this.bufferType,t*e.BYTES_PER_ELEMENT,e,r,i-r),(0,c.Y2)(o),this._isVAOAware&&this._context.bindVAO(n)}getSubData(e,t=0,r,n){if(r<0||n<0)return;const o=function(e){return(0,i.Xj)(e)}(e)?e.BYTES_PER_ELEMENT:1;if(o*((r??0)+(n??0))>e.byteLength)return;t+o*(n??0)>this.usedMemory&&d().warn("Potential problem getting subdata: requested data exceeds buffer size!");const a=this._context.gl;35982===this.bufferType?(this._context.bindBuffer(this,35982),a.getBufferSubData(35982,t,e,r,n),this._context.unbindBuffer(35982)):(this._context.bindBuffer(this,36662),a.getBufferSubData(36662,t,e,r,n),this._context.unbindBuffer(36662))}async getSubDataAsync(e,t=0,r,i,n){if(await this._context.clientWaitAsync((0,s.l5)(10),n),!this._context||!this._glName)throw(0,a.NK)();this.getSubData(e,t,r,i)}}},65786(e,t,r){const i=class{};new i,r.d(t,["Y",0,i])},14113(e,t,r){r.d(t,{N5:()=>s});var i=r(49186),n=(r(44208),r(53966));const o=()=>n.A.getLogger("esri.views.3d.webgl-engine.core.shaderModules.shaderBuilder");class a{constructor(){this._includedModules=new Map}include(e,t){this._includedModules.has(e)?this._includedModules.get(e):(this._includedModules.set(e,t),e(this.builder,t))}}class s extends a{constructor(){super(...arguments),this.vertex=new h,this.fragment=new h,this.attributes=new m,this.varyings=new f,this.outputs=new p}get attributeNames(){return this.attributes.names}get builder(){return this}generate(e,t=!1){const r=this.attributes.generateSource(e),i=this.varyings.generateSource(e),n="vertex"===e?this.vertex:this.fragment,o=n.uniforms.generateSource(),a=n.code.generateSource(),s=n.main.generateSource(t),l=this.debugName?`// ${this.debugName}\n`:"",c="vertex"===e?x:g,u=n.constants.generateSource(),d=this.outputs.generateSource(e);return`#version 300 es\n${l}\n${c}\n${u.join("\n")}\n${o.join("\n")}\n${r.join("\n")}\n${i.join("\n")}\n${d.join("\n")}\n${a.join("\n")}\n${s.join("\n")}`}generateBind(e){const t=new Map;this.vertex.uniforms.entries.forEach(e=>{const r=e.bind[0];r&&t.set(e.name,r)}),this.fragment.uniforms.entries.forEach(e=>{const r=e.bind[0];r&&t.set(e.name,r)});const r=Array.from(t.values()),i=r.length;return t=>{for(let n=0;n<i;++n)r[n](e,t)}}generateBindPass(e){const t=new Map;this.vertex.uniforms.entries.forEach(e=>{const r=e.bind[1];r&&t.set(e.name,r)}),this.fragment.uniforms.entries.forEach(e=>{const r=e.bind[1];r&&t.set(e.name,r)});const r=Array.from(t.values()),i=r.length;return(t,n)=>{for(let o=0;o<i;++o)r[o](e,n,t)}}generateBindDraw(e){const t=new Map;this.vertex.uniforms.entries.forEach(e=>{const r=e.bind[2];r&&t.set(e.name,r)}),this.fragment.uniforms.entries.forEach(e=>{const r=e.bind[2];r&&t.set(e.name,r)});const r=Array.from(t.values()),i=r.length;return(t,n,o)=>{for(let a=0;a<i;++a)r[a](e,o,t,n)}}}class l{constructor(e){this._stage=e,this._entries=new Map}add(...e){for(const t of e)this._add(t);return this._stage}get(e){return this._entries.get(e)}_add(e){if(null!=e){if(this._entries.has(e.name)&&!this._entries.get(e.name).equals(e))throw new i.A("shaderbuilder:duplicate-uniform",`Duplicate uniform name ${e.name} for different uniform type`);this._entries.set(e.name,e)}else o().error(`Trying to add null Uniform from ${(new Error).stack}.`)}generateSource(){return Array.from(this._entries.values()).map(({name:e,arraySize:t,type:r})=>null!=t?`uniform ${r} ${e}[${t}];`:`uniform ${r} ${e};`)}get entries(){return Array.from(this._entries.values())}}class c{constructor(){this._entries=new Map}add(e,t){if(this._entries.has(e))throw new i.A("shaderbuilder:duplicate-input",`Duplicate input for ${e}`);this._entries.set(e,t)}get(e){const t=this._entries.get(e);if(null==t)throw new i.A("shaderbuilder:input-resolver-error",`No resolver for input ${e} found.`);return t()}}class u{constructor(e){this._stage=e,this._bodies=new Array}add(e){return this._bodies.push(e),this._stage}generateSource(e){if(this._bodies.length>0){const e=[];for(const t of this._bodies)"string"==typeof t?e.push(t):e.push(...t());return[`void main() {\n ${e.join("\n")||""} \n}`]}if(e)throw new i.A("shaderbuilder:missing-main","Shader does not contain main function body.");return[]}}class d{constructor(e){this._stage=e,this._entries=new Array}add(e){return this._entries.push(e),this._stage}generateSource(){const e=[];for(const t of this._entries)"string"==typeof t?e.push(t):e.push(...t());return e}}class h extends a{constructor(){super(...arguments),this.uniforms=new l(this),this.main=new u(this),this.code=new d(this),this.constants=new v(this),this.inputs=new c}get builder(){return this}}class m{constructor(){this._entries=new Array}add(e,t){this._entries.push([e,t])}generateSource(e){return"fragment"===e?[]:this._entries.map(e=>`in ${e[1]} ${e[0]};`)}get names(){return this._entries.map(([e])=>e)}}class f{constructor(){this._entries=new Map}add(e,t,r){this._entries.has(e)?o().warn(`Ignoring duplicate varying ${t} ${e}`):this._entries.set(e,{type:t,invariant:r?.invariant??!1})}generateSource(e){const t=new Array;return this._entries.forEach((r,i)=>t.push((r.invariant&&"vertex"===e?"invariant ":"")+("int"===r.type?"flat ":"")+("vertex"===e?"out":"in")+` ${r.type} ${i};`)),t}}class p{constructor(){this._entries=new Map}add(e,t,r=0){const i=this._entries.get(r);i?.name!==e||i?.type!==t?this._entries.set(r,{name:e,type:t}):o().warn(`Fragment shader output location ${r} occupied`)}static{this.DEFAULT_TYPE="vec4"}static{this.DEFAULT_NAME="fragColor"}generateSource(e){if("vertex"===e)return[];0===this._entries.size&&this._entries.set(0,{name:p.DEFAULT_NAME,type:p.DEFAULT_TYPE});const t=new Array;return this._entries.forEach((e,r)=>t.push(`layout(location = ${r}) out ${e.type} ${e.name};`)),t}}class v{constructor(e){this._stage=e,this._entries=new Set}add(e,t,r){let i="ERROR_CONSTRUCTOR_STRING";switch(t){case"float":i=v._numberToFloatStr(r);break;case"int":i=v._numberToIntStr(r);break;case"uint":i=v._numberToUintStr(r);break;case"bool":i=r.toString();break;case"vec2":i=`vec2(${v._numberToFloatStr(r[0])}, ${v._numberToFloatStr(r[1])})`;break;case"vec3":i=`vec3(${v._numberToFloatStr(r[0])}, ${v._numberToFloatStr(r[1])}, ${v._numberToFloatStr(r[2])})`;break;case"vec4":i=`vec4(${v._numberToFloatStr(r[0])}, ${v._numberToFloatStr(r[1])}, ${v._numberToFloatStr(r[2])}, ${v._numberToFloatStr(r[3])})`;break;case"ivec2":i=`ivec2(${v._numberToIntStr(r[0])}, ${v._numberToIntStr(r[1])})`;break;case"ivec3":i=`ivec3(${v._numberToIntStr(r[0])}, ${v._numberToIntStr(r[1])}, ${v._numberToIntStr(r[2])})`;break;case"ivec4":i=`ivec4(${v._numberToIntStr(r[0])}, ${v._numberToIntStr(r[1])}, ${v._numberToIntStr(r[2])}, ${v._numberToIntStr(r[3])})`;break;case"uvec2":i=`uvec2(${v._numberToUintStr(r[0])}, ${v._numberToUintStr(r[1])})`;break;case"uvec3":i=`uvec3(${v._numberToUintStr(r[0])}, ${v._numberToUintStr(r[1])}, ${v._numberToUintStr(r[2])})`;break;case"uvec4":i=`uvec4(${v._numberToUintStr(r[0])}, ${v._numberToUintStr(r[1])}, ${v._numberToUintStr(r[2])}, ${v._numberToUintStr(r[3])})`;break;case"mat2":case"mat3":case"mat4":i=`${t}(${Array.prototype.map.call(r,e=>v._numberToFloatStr(e)).join(", ")})`}return this._entries.add(`const ${t} ${e} = ${i};`),this._stage}static _numberToIntStr(e){return e.toFixed(0)}static _numberToUintStr(e){return`${e.toFixed(0)}u`}static _numberToFloatStr(e){return Number.isInteger(e)?e.toFixed(1):e.toString()}generateSource(){return Array.from(this._entries)}}const g="#ifdef GL_FRAGMENT_PRECISION_HIGH\n precision highp float;\n precision highp int;\n precision highp sampler2D;\n precision highp usampler2D;\n precision highp sampler2DArray;\n precision highp sampler2DShadow;\n#else\n precision mediump float;\n precision mediump int;\n precision mediump sampler2D;\n precision mediump usampler2D;\n precision mediump sampler2DArray;\n precision mediump sampler2DShadow;\n#endif",x="precision highp float;\n precision highp int;\n precision highp sampler2D;\n precision highp usampler2D;\n precision highp sampler2DArray;\n precision highp sampler2DShadow;\n\n\n invariant gl_Position;\n "},74333(e,t,r){r.d(t,{n:()=>i});class i{constructor(e,t,r,i,n=null){if(this.name=e,this.type=t,this.arraySize=n,this.bind={0:null,1:null,2:null},i)switch(r){case void 0:break;case 0:this.bind[0]=i;break;case 1:this.bind[1]=i;break;case 2:this.bind[2]=i}}equals(e){return this.type===e.type&&this.name===e.name&&this.arraySize===e.arraySize}}},66289(e,t,r){r.d(t,{R:()=>n});var i=r(48852);class n extends i.g{constructor(e,t,r,i=35044){super(e,34962,i,r),this.layout=t}}},90644(e,t,r){function i(e,t,r=32774,i=[0,0,0,0]){return{srcRgb:e,srcAlpha:e,dstRgb:t,dstAlpha:t,opRgb:r,opAlpha:r,color:{r:i[0],g:i[1],b:i[2],a:i[3]}}}function n(e,t,r,i,n=32774,o=32774,a=[0,0,0,0]){return{srcRgb:e,srcAlpha:t,dstRgb:r,dstAlpha:i,opRgb:n,opAlpha:o,color:{r:a[0],g:a[1],b:a[2],a:a[3]}}}r.d(t,{Ey:()=>b,nk:()=>d,p3:()=>n}),r(4718);const o=i(0,771),a=(i(1,0),i(1,1),i(1,771)),s=n(770,1,771,771),l=n(0,0,768,0),c={face:1029,mode:2305},u={face:1028,mode:2305};function d(e,t,r){return{ref:e,readMask:t,stencilFront:r,stencilBack:r}}function h(e){return S.intern(e)}function m(e){return T.intern(e)}function f(e){return I.intern(e)}function p(e){return O.intern(e)}function v(e){return D.intern(e)}function g(e){return R.intern(e)}function x(e){return B.intern(e)}function _(e){return z.intern(e)}function b(e){return H.intern(e)}class y{constructor(e,t){this._makeKey=e,this._makeRef=t,this._interns=new Map}intern(e){if(!e)return null;const t=this._makeKey(e),r=this._interns;return r.has(t)||r.set(t,this._makeRef(e)),r.get(t)??null}}function w(e){return"["+e.join(",")+"]"}const S=new y(M,e=>({__tag:"Blending",...e}));function M(e){return e?w([e.srcRgb,e.srcAlpha,e.dstRgb,e.dstAlpha,e.opRgb,e.opAlpha,e.color.r,e.color.g,e.color.b,e.color.a]):null}const T=new y(C,e=>({__tag:"Culling",...e}));function C(e){return e?w([e.face,e.mode]):null}const I=new y(E,e=>({__tag:"PolygonOffset",...e}));function E(e){return e?w([e.factor,e.units]):null}const O=new y(P,e=>({__tag:"DepthTest",...e}));function P(e){return e?w([e.func]):null}const D=new y(A,e=>({__tag:"StencilTest",...e}));function A(e){return e?w([e.ref,e.readMask,e.stencilFront.compare,e.stencilFront.fail,e.stencilFront.zFail,e.stencilFront.zPass,e.stencilBack.compare,e.stencilBack.fail,e.stencilBack.zFail,e.stencilBack.zPass]):null}const R=new y(F,e=>({__tag:"DepthWrite",...e}));function F(e){return e?w([e.zNear,e.zFar]):null}const B=new y(N,e=>({__tag:"ColorWrite",...e}));function N(e){return e?w([e.r,e.g,e.b,e.a]):null}const z=new y(j,e=>({__tag:"StencilWrite",...e}));function j(e){return e?w([e.mask]):null}const H=new y(function(e){return e?w([M(e.blending),C(e.culling),E(e.polygonOffset),P(e.depthTest),A(e.stencilTest),F(e.depthWrite),N(e.colorWrite),j(e.stencilWrite)]):null},e=>({blending:h(e.blending),culling:m(e.culling),polygonOffset:f(e.polygonOffset),depthTest:p(e.depthTest),stencilTest:v(e.stencilTest),depthWrite:g(e.depthWrite),colorWrite:x(e.colorWrite),stencilWrite:_(e.stencilWrite)}));r.d(t,["RC",0,a,"T8",0,s,"Uy",0,{zNear:0,zFar:1},"Xt",0,e=>2===e?c:1===e?u:null,"iD",0,o,"kn",0,{r:!0,g:!0,b:!0,a:!0},"uR",0,l])}}]);
1733
+ }`)}},26934(e,t,r){r.d(t,{Q:()=>n});var i=r(49788);function n(e){e.constants.add("alphaCutoff","float",i.Q),e.constants.add("opacityCutoff","float",i.v)}},58243(e,t,r){function i(e,t){t.useFloatBlend?e.code.add("float ditherNoise(vec4 color) { return 0.0; }"):e.code.add("\n float ditherNoise(vec4 color) {\n vec2 seed = color.rg + color.ba + gl_FragCoord.xy + gl_FragCoord.z;\n return (fract(52.9829189 * fract(dot(seed, vec2(0.06711056, 0.00583715)))) - 0.5) / 255.0;\n }")}r.d(t,{t:()=>i})},72458(e,t,r){r.d(t,{C:()=>o,O:()=>a});var i=r(32198),n=r(51976);class o extends n.K{constructor(){super(...arguments),this.useFloatBlend=!0}}function a(e,t){t.useFloatBlend?(e.constants.add("floatBlendOutputScale","float",1),e.constants.add("floatBlendInputScale","float",1)):(e.constants.add("floatBlendOutputScale","float",1/16),e.constants.add("floatBlendInputScale","float",16)),e.constants.add("maxEmissiveStrength","float",16)}(0,i.Cg)([(0,n.W)()],o.prototype,"useFloatBlend",void 0)},89904(e,t,r){r.d(t,{OG:()=>$e,gP:()=>Ge});var i=r(32198),n=r(69540),o=r(91429);let a=class extends n.Pw{constructor(e){super(e),this.row=0,this.column=0,this.rows=1,this.columns=1}equals(e){return null!=e&&this.row===e.row&&this.rows===e.rows&&this.column===e.column&&this.columns===e.columns}};(0,i.Cg)([(0,o.MZ)({type:Number,nonNullable:!0,json:{read:!1,write:!1}})],a.prototype,"row",void 0),(0,i.Cg)([(0,o.MZ)({type:Number,nonNullable:!0,json:{read:!1,write:!1}})],a.prototype,"column",void 0),(0,i.Cg)([(0,o.MZ)({type:Number,nonNullable:!0,json:{read:!1,write:!1}})],a.prototype,"rows",void 0),(0,i.Cg)([(0,o.MZ)({type:Number,nonNullable:!0,json:{read:!1,write:!1}})],a.prototype,"columns",void 0),a=(0,i.Cg)([(0,o.$K)("esri.CameraLayout")],a);const s=a;var l=r(69052),c=r(25482),u=r(34727),d=r(78888),h=r(86738),m=r(43937),f=r(36005);let p=class extends((0,n.OU)(c.o)){constructor(...e){super(...e),this.position=new h.A([0,0,0]),this.heading=0,this.tilt=0,this.fov=55,this.layout=new s}normalizeCtorArgs(e,t,r,i){if(e&&"object"==typeof e&&("x"in e||Array.isArray(e))){const n={position:e};return null!=t&&(n.heading=t),null!=r&&(n.tilt=r),null!=i&&(n.fov=i),n}return e}writePosition(e,t,r,i){const n=e.clone();n.x=(0,d.GB)(e.x||0),n.y=(0,d.GB)(e.y||0),n.z=e.hasZ?(0,d.GB)(e.z||0):e.z,t[r]=n.write({},i)}readPosition(e,t){const r=new h.A;return r.read(e,t),r.x=(0,d.GB)(r.x||0),r.y=(0,d.GB)(r.y||0),r.z=r.hasZ?(0,d.GB)(r.z||0):r.z,r}equals(e){return null!=e&&this.tilt===e.tilt&&this.heading===e.heading&&this.fov===e.fov&&this.position.equals(e.position)&&this.layout.equals(e.layout)}};(0,i.Cg)([(0,o.MZ)({type:h.A,json:{write:{isRequired:!0}}})],p.prototype,"position",void 0),(0,i.Cg)([(0,m.K)("position")],p.prototype,"writePosition",null),(0,i.Cg)([(0,f.w)("position")],p.prototype,"readPosition",null),(0,i.Cg)([(0,o.MZ)({type:Number,nonNullable:!0,json:{write:{isRequired:!0}}}),(0,o.wg)(e=>l.ie.normalize((0,d.GB)(e)))],p.prototype,"heading",void 0),(0,i.Cg)([(0,o.MZ)({type:Number,nonNullable:!0,json:{write:{isRequired:!0}}}),(0,o.wg)(e=>(0,u.qE)((0,d.GB)(e),-180,180))],p.prototype,"tilt",void 0),(0,i.Cg)([(0,o.MZ)({type:Number,nonNullable:!0,json:{default:55,write:!0}}),(0,o.wg)(e=>(0,u.qE)((0,d.GB)(e,55),1,170))],p.prototype,"fov",void 0),(0,i.Cg)([(0,o.MZ)({type:s,nonNullable:!0,json:{read:!1,write:!1}})],p.prototype,"layout",void 0),p=(0,i.Cg)([(0,o.$K)("esri.Camera")],p);var v=r(9093),g=r(35522),x=r(51850),_=r(16930),b=(r(48353),r(9762),r(65806)),y=r(27993),w=r(73941),S=(r(19419),r(58083)),M=r(65720),T=r(71351),C=r(69622),I=r(53966),E=r(90629),O=r(37585),P=r(48163),D=r(78955),A=r(91829),R=r(44280);function F(e,t,r){e.worldUpAtPosition(t,B),(0,g.Re)(N,r,t);const i=(0,g.Bw)(N);return 0===i?0:(0,u.XM)((0,g.Om)(N,B)/i)}const B=(0,x.vt)(),N=(0,x.vt)();var z;let j=z=class extends C.A{constructor(e){super(e),this._ray=(0,T.vt)(),this._viewport=(0,A.fA)(0,0,1,1),this._padding=(0,A.fA)(0,0,0,0),this._fov=55/180*Math.PI,this._nearFar=(0,P.fA)(1,1e3),this._viewDirty=!0,this._viewMatrix=(0,v.vt)(),this._viewProjectionDirty=!0,this._viewProjectionMatrix=(0,v.vt)(),this._viewInverseTransposeMatrixDirty=!0,this._viewInverseTransposeMatrix=(0,v.vt)(),this._frustumDirty=!0,this._frustum=(0,M.vt)(),this._fullViewport=(0,A.vt)(),this._fullViewportDirty=!0,this._pixelRatio=1,this.pixelScale=1,this.row=0,this.column=0,this._rows=1,this._columns=1,this._center=(0,x.vt)(),this._up=(0,x.vt)(),this.relativeElevation=0}get pixelRatio(){return this._pixelRatio}set pixelRatio(e){this._pixelRatio=e>0?e:1}get rows(){return this._rows}set rows(e){this._rows=Math.max(1,e)}get columns(){return this._columns}set columns(e){this._columns=Math.max(1,e)}get eye(){return this._ray.origin}set eye(e){this._compareAndSetView(e,this._ray.origin,"eye")}get center(){return this._center}set center(e){this._compareAndSetView(e,this._center,"_center")}get ray(){return(0,g.Re)(this._ray.direction,this.center,this.eye),this._ray}get up(){return this._up}set up(e){this._compareAndSetView(e,this._up,"_up")}get viewMatrix(){return this._ensureViewClean(),this._viewMatrix}set viewMatrix(e){(0,S.C)(this._viewMatrix,e),this.notifyChange("_viewMatrix"),this._viewDirty=!1,this._viewInverseTransposeMatrixDirty=!0,this._viewProjectionDirty=!0,this._frustumDirty=!0}get inverseViewMatrix(){return(0,S.Qw)((0,v.vt)(),this.viewMatrix)||this._get("inverseViewMatrix")||(0,v.vt)()}get viewForward(){return this._ensureViewClean(),(0,g.hZ)((0,x.vt)(),-this._viewMatrix[2],-this._viewMatrix[6],-this._viewMatrix[10])}get viewUp(){return this._ensureViewClean(),(0,g.hZ)((0,x.vt)(),this._viewMatrix[1],this._viewMatrix[5],this._viewMatrix[9])}get viewRight(){return this._ensureViewClean(),(0,g.hZ)((0,x.vt)(),this._viewMatrix[0],this._viewMatrix[4],this._viewMatrix[8])}get nearFar(){return this._nearFar}get near(){return this._nearFar[0]}set near(e){this._nearFar[0]!==e&&(this._nearFar[0]=e,this._viewProjectionDirty=!0,this._frustumDirty=!0,this.notifyChange("_nearFar"))}get far(){return this._nearFar[1]}set far(e){this._nearFar[1]!==e&&(this._nearFar[1]=e,this._viewProjectionDirty=!0,this._frustumDirty=!0,this.notifyChange("_nearFar"))}get viewport(){return this._viewport}set viewport(e){this.x=e[0],this.y=e[1],this.width=e[2],this.height=e[3]}get screenViewport(){if(1===this.pixelRatio)return this._viewport;const e=(0,D.hs)((0,A.vt)(),this._viewport,1/this.pixelRatio),t=this._get("screenViewport");return t&&(0,D.aI)(e,t)?t:e}get screenPadding(){if(1===this.pixelRatio)return this._padding;const e=(0,D.hs)((0,A.vt)(),this._padding,1/this.pixelRatio),t=this._get("screenPadding");return t&&(0,D.aI)(e,t)?t:e}get x(){return this._viewport[0]}set x(e){e+=this._padding[3],this._viewport[0]!==e&&(this._viewport[0]=e,this._fullViewportDirty=!0,this._viewProjectionDirty=!0,this._frustumDirty=!0,this.notifyChange("_viewport"))}get y(){return this._viewport[1]}set y(e){e+=this._padding[2],this._viewport[1]!==e&&(this._viewport[1]=e,this._fullViewportDirty=!0,this._viewProjectionDirty=!0,this._frustumDirty=!0,this.notifyChange("_viewport"))}get width(){return this._viewport[2]}set width(e){this._viewport[2]!==e&&(this._viewport[2]=e,this._fullViewportDirty=!0,this._viewProjectionDirty=!0,this._frustumDirty=!0,this.notifyChange("_viewport"))}get height(){return this._viewport[3]}set height(e){this._viewport[3]!==e&&(this._viewport[3]=e,this._fullViewportDirty=!0,this._viewProjectionDirty=!0,this._frustumDirty=!0,this.notifyChange("_viewport"))}get fullWidth(){return this._viewport[2]+this._padding[1]+this._padding[3]}set fullWidth(e){this.width=e-(this._padding[1]+this._padding[3])}get fullHeight(){return this._viewport[3]+this._padding[0]+this._padding[2]}set fullHeight(e){this.height=e-(this._padding[0]+this._padding[2])}get fullViewport(){return this._fullViewportDirty&&(this._fullViewport[0]=this._viewport[0]-this._padding[3],this._fullViewport[1]=this._viewport[1]-this._padding[2],this._fullViewport[2]=this._viewport[2]+this._padding[1]+this._padding[3],this._fullViewport[3]=this._viewport[3]+this._padding[0]+this._padding[2],this._fullViewportDirty=!1),this._fullViewport}get _aspect(){return this.width/this.height}get padding(){return this._padding}set padding(e){(0,D.t2)(this._padding,e)||(this._viewport[0]+=e[3]-this._padding[3],this._viewport[1]+=e[2]-this._padding[2],this._viewport[2]-=e[1]+e[3]-(this._padding[1]+this._padding[3]),this._viewport[3]-=e[0]+e[2]-(this._padding[0]+this._padding[2]),(0,D.C)(this._padding,e),this._fullViewportDirty=!0,this._viewProjectionDirty=!0,this._frustumDirty=!0,this.notifyChange("_padding"),this.notifyChange("_viewport"))}get viewProjectionMatrix(){return this._viewProjectionDirty&&((0,S.lw)(this._viewProjectionMatrix,this.projectionMatrix,this.viewMatrix),this._viewProjectionDirty=!1),this._viewProjectionMatrix}get projectionMatrix(){return this._projectionMatrixInternal}get inverseProjectionMatrix(){return(0,S.B8)((0,v.vt)(),this.projectionMatrix)||this._get("inverseProjectionMatrix")||(0,v.vt)()}get fov(){return this._fov}set fov(e){this._fov=e,this._viewProjectionDirty=!0,this._frustumDirty=!0}get fovX(){return e=this._fov,t=this.width,r=this.height,2*Math.atan(t*Math.tan(.5*e)/Math.sqrt(t*t+r*r));var e,t,r}set fovX(e){this._fov=function(e,t,r){return 2*Math.atan(Math.sqrt(t*t+r*r)*Math.tan(.5*e)/t)}(e,this.width,this.height),this._viewProjectionDirty=!0,this._frustumDirty=!0}get fovY(){return e=this._fov,t=this.width,r=this.height,2*Math.atan(r*Math.tan(.5*e)/Math.sqrt(t*t+r*r));var e,t,r}set fovY(e){this._fov=function(e,t,r){return 2*Math.atan(Math.sqrt(t*t+r*r)*Math.tan(.5*e)/r)}(e,this.width,this.height),this._viewProjectionDirty=!0,this._frustumDirty=!0}get distance(){return(0,g.Io)(this.center,this.eye)}get frustum(){return this._recomputeFrustum(),this._frustum}get viewInverseTransposeMatrix(){return(this._viewInverseTransposeMatrixDirty||this._viewDirty)&&((0,S.B8)(this._viewInverseTransposeMatrix,this.viewMatrix),(0,S.mg)(this._viewInverseTransposeMatrix,this._viewInverseTransposeMatrix),this._viewInverseTransposeMatrixDirty=!1),this._viewInverseTransposeMatrix}depthNDCToWorld(e){const{near:t,far:r}=this;return 2*t*r/(r+t-e*(r-t))}get perRenderPixelRatio(){return Math.tan(this.fovX/2)/(this.width/2)}get perScreenPixelRatio(){return this.perRenderPixelRatio*this.pixelRatio}get aboveGround(){return null!=this.relativeElevation&&this.relativeElevation>=0}get _projectionMatrixInternal(){const e=this.width,t=this.height,r=this.near*Math.tan(this.fovY/2)*2,i=r*this._aspect,n=r/this.rows,o=i/this.columns,a=-i/2+this.column*o,s=a+o,l=-r/2+this.row*n,c=l+n,u=(0,S.$h)((0,v.vt)(),a*(1+2*this._padding[3]/e),s*(1+2*this._padding[1]/e),l*(1+2*this._padding[2]/t),c*(1+2*this._padding[0]/t),this.near,this.far),d=this._get("projectionMatrix");return d&&(0,S.t2)(d,u)?d:u}copyFrom(e){(0,g.C)(this._ray.origin,e.eye),this.center=e.center,this.up=e.up,(0,D.C)(this._viewport,e.viewport),this.notifyChange("_viewport"),(0,D.C)(this._padding,e.padding),this.notifyChange("_padding"),this._fullViewportDirty=!0,(0,O.C)(this._nearFar,e.nearFar),this.notifyChange("_nearFar"),this._fov=e.fov,this.row=e.row,this.column=e.column,this.rows=e.rows,this.columns=e.columns,this.relativeElevation=e.relativeElevation;const t=e;return this._viewDirty=t._viewDirty,this._viewDirty||((0,S.C)(this._viewMatrix,e.viewMatrix),this.notifyChange("_viewMatrix")),this._viewProjectionDirty=!0,this._frustumDirty=t._frustumDirty,this._frustumDirty||((0,M.C)(this._frustum,e.frustum),this._frustumDirty=!1),t._viewInverseTransposeMatrixDirty?this._viewInverseTransposeMatrixDirty=!0:((0,S.C)(this._viewInverseTransposeMatrix,e.viewInverseTransposeMatrix),this._viewInverseTransposeMatrixDirty=!1),this.pixelRatio=e.pixelRatio,this.pixelScale=e.pixelScale,this}copyViewFrom(e){this.eye=e.eye,this.center=e.center,this.up=e.up,this.fov=e.fov}clone(){return(new z).copyFrom(this)}equals(e){return(0,g.t2)(this.eye,e.eye)&&(0,g.t2)(this.center,e.center)&&(0,g.t2)(this.up,e.up)&&(0,D.t2)(this._viewport,e.viewport)&&(0,D.t2)(this._padding,e.padding)&&(0,O.t2)(this.nearFar,e.nearFar)&&this._fov===e.fov&&this.pixelRatio===e.pixelRatio&&this.relativeElevation===e.relativeElevation&&this.row===e.row&&this.column===e.column&&this.rows===e.rows&&this.columns===e.columns}equalsView(e){return(0,g.t2)(this.eye,e.eye)&&(0,g.t2)(this.center,e.center)&&(0,g.t2)(this.up,e.up)&&this._fov===e.fov}almostEquals(e){const t=Math.max(1,1/this.pixelRatio,1/e.pixelRatio);if(Math.abs(e.fov-this._fov)>=.001||(0,D.hG)(e.screenPadding,this.screenPadding)>=t||(0,D.hG)(this.screenViewport,e.screenViewport)>=t||this.row!==e.row||this.column!==e.column||this.rows!==e.rows||this.columns!==e.columns)return!1;(0,g.jb)(W,e.eye,e.center),(0,g.jb)(V,this.eye,this.center);const r=(0,g.Om)(W,V),i=(0,g.uE)(W),n=(0,g.uE)(V),o=5e-4;return r*r>=(1-1e-10)*i*n&&(0,g.lo)(e.eye,this.eye)<Math.max(i,n)*o*o}computeRenderPixelSizeAt(e){return this.computeRenderPixelSizeAtDist(this._viewDirectionDistance(e))}computeRenderPixelSizeAtDist(e){return e*this.perRenderPixelRatio}computeScreenPixelSizeAt(e){return this.computeScreenPixelSizeAtDist(this._viewDirectionDistance(e))}_viewDirectionDistance(e){return Math.abs((0,R.gr)(this.viewForward,(0,g.Re)(W,e,this.eye)))}computeScreenPixelSizeAtDist(e){return e*this.perScreenPixelRatio}computeDistanceFromRadius(e,t){return e/Math.tan(Math.min(this.fovX,this.fovY)/(2*(t||1)))}getScreenCenter(e=(0,E.gs)()){return e[0]=(this.padding[3]+this.width/2)/this.pixelRatio,e[1]=(this.padding[0]+this.height/2)/this.pixelRatio,e}getRenderCenter(e,t=.5,r=.5){return e[0]=this.padding[3]+this.width*t,e[1]=this.padding[2]+this.height*r,e[2]=.5,e}setGLViewport(e){const t=this.viewport,r=this.padding;e.setViewport(t[0]-r[3],t[1]-r[2],t[2]+r[1]+r[3],t[3]+r[0]+r[2])}applyProjection(e,t){e!==H&&(0,g.C)(H,e),H[3]=1,(0,D.Z0)(H,H,this.projectionMatrix);const r=Math.abs(H[3]);(0,g.hs)(H,H,1/r);const i=this.fullViewport;t[0]=(0,u.Cc)(0,i[0]+i[2],.5+.5*H[0]),t[1]=(0,u.Cc)(0,i[1]+i[3],.5+.5*H[1]),t[2]=.5*(H[2]+1),t[3]=r}unapplyProjection(e,t){const r=this.fullViewport;H[0]=(e[0]/(r[0]+r[2])*2-1)*e[3],H[1]=(e[1]/(r[1]+r[3])*2-1)*e[3],H[2]=(2*e[2]-1)*e[3],H[3]=e[3],null!=this.inverseProjectionMatrix&&((0,D.Z0)(H,H,this.inverseProjectionMatrix),t[0]=H[0],t[1]=H[1],t[2]=H[2])}projectToScreen(e,t){return null==this.projectToRenderScreen(e,U)?null:(this.renderToScreen(U,t),t)}projectToRenderScreen(e,t){if(H[0]=e[0],H[1]=e[1],H[2]=e[2],H[3]=1,(0,D.Z0)(H,H,this.viewProjectionMatrix),0===H[3])return null;const r=H;(0,g.hs)(r,r,1/Math.abs(H[3]));const i=this.fullViewport,n=(0,u.Cc)(0,i[0]+i[2],.5+.5*r[0]),o=(0,u.Cc)(0,i[1]+i[3],.5+.5*r[1]);return"x"in t?(t.x=n,t.y=o):(t[0]=n,t[1]=o,t.length>2&&(t[2]=.5*(r[2]+1))),t}unprojectFromScreen(e,t){return this.unprojectFromRenderScreen(this.screenToRender(e,U),t)}unprojectFromRenderScreen(e,t){if((0,S.lw)(L,this.projectionMatrix,this.viewMatrix),!(0,S.B8)(L,L))return null;const r=this.fullViewport;return H[0]=2*(e[0]-r[0])/r[2]-1,H[1]=2*(e[1]-r[1])/r[3]-1,H[2]=2*e[2]-1,H[3]=1,(0,D.Z0)(H,H,L),0===H[3]?null:(t[0]=H[0]/H[3],t[1]=H[1]/H[3],t[2]=H[2]/H[3],t)}constrainWindowSize(e,t,r,i){const n=e*this.pixelRatio,o=t*this.pixelRatio,a=Math.max(n-r/2,0),s=Math.max(this.fullHeight-o-i/2,0),l=-Math.min(n-r/2,0),c=-Math.min(this.fullHeight-o-i/2,0),u=r-l- -Math.min(this.fullWidth-n-r/2,0),d=i-c- -Math.min(o-i/2,0);return[Math.round(a),Math.round(s),Math.round(u),Math.round(d)]}computeUp(e){1===e?this._computeUpGlobal():this._computeUpLocal()}screenToRender(e,t){const r=e[0]*this.pixelRatio,i=this.fullHeight-e[1]*this.pixelRatio;return t[0]=r,t[1]=i,t}renderToScreen(e,t){const r=e[0]/this.pixelRatio,i=(this.fullHeight-e[1])/this.pixelRatio;t[0]=r,t[1]=i}sphereFrustumCoverage(e,t){const{center:r,eye:i,distance:n,fovY:o}=this,a=Math.abs(Math.PI/2-F(t,r,i));return e.frustumCoverage(a,n,o)}_computeUpGlobal(){(0,g.Re)(W,this.center,this.eye);const e=(0,g.Bw)(this.center);e<1?(0,g.t2)(this._up,x.Cb)&&((0,g.C)(this._up,x.Cb),this._markViewDirty(),this.notifyChange("_up")):Math.abs((0,g.Om)(W,this.center))>.9999*(0,g.Bw)(W)*e||((0,g.$A)(V,W,this.center),(0,g.$A)(V,V,W),(0,g.S8)(V,V),(0,g.t2)(this._up,V)||((0,g.C)(this._up,V),this.notifyChange("_up"),this._markViewDirty()))}_computeUpLocal(){(0,g.oW)(W,this.eye,this.center),Math.abs(W[2])<=.9999&&((0,g.hs)(W,W,W[2]),(0,g.hZ)(W,-W[0],-W[1],1-W[2]),(0,g.S8)(W,W),(0,g.t2)(this._up,W)||((0,g.C)(this._up,W),this.notifyChange("_up"),this._markViewDirty()))}_compareAndSetView(e,t,r){"number"==typeof e[0]&&isFinite(e[0])&&"number"==typeof e[1]&&isFinite(e[1])&&"number"==typeof e[2]&&isFinite(e[2])?(0,g.t2)(e,t)||((0,g.C)(t,e),this._markViewDirty(),this.notifyChange(r)):I.A.getLogger("esri.views.3d.webgl-engine.lib.RenderCamera").warn("RenderCamera vector contains invalid number, ignoring value")}_markViewDirty(){this._viewDirty=!0,this._frustumDirty=!0,this._viewProjectionDirty=!0}_recomputeFrustum(){this._frustumDirty&&((0,M.ui)(this.viewMatrix,this.projectionMatrix,this._frustum),this._frustumDirty=!1)}_ensureViewClean(){this._viewDirty&&((0,S.t5)(this._viewMatrix,this.eye,this.center,this.up),this.notifyChange("_viewMatrix"),this._viewDirty=!1,this._viewInverseTransposeMatrixDirty=!0)}};(0,i.Cg)([(0,o.MZ)()],j.prototype,"_viewport",void 0),(0,i.Cg)([(0,o.MZ)()],j.prototype,"_padding",void 0),(0,i.Cg)([(0,o.MZ)()],j.prototype,"_fov",void 0),(0,i.Cg)([(0,o.MZ)()],j.prototype,"_nearFar",void 0),(0,i.Cg)([(0,o.MZ)()],j.prototype,"_viewDirty",void 0),(0,i.Cg)([(0,o.MZ)()],j.prototype,"_viewMatrix",void 0),(0,i.Cg)([(0,o.MZ)()],j.prototype,"pixelRatio",null),(0,i.Cg)([(0,o.MZ)()],j.prototype,"_pixelRatio",void 0),(0,i.Cg)([(0,o.MZ)()],j.prototype,"pixelScale",void 0),(0,i.Cg)([(0,o.MZ)()],j.prototype,"row",void 0),(0,i.Cg)([(0,o.MZ)()],j.prototype,"column",void 0),(0,i.Cg)([(0,o.MZ)()],j.prototype,"_rows",void 0),(0,i.Cg)([(0,o.MZ)()],j.prototype,"rows",null),(0,i.Cg)([(0,o.MZ)()],j.prototype,"_columns",void 0),(0,i.Cg)([(0,o.MZ)()],j.prototype,"columns",null),(0,i.Cg)([(0,o.MZ)()],j.prototype,"eye",null),(0,i.Cg)([(0,o.MZ)()],j.prototype,"center",null),(0,i.Cg)([(0,o.MZ)()],j.prototype,"_center",void 0),(0,i.Cg)([(0,o.MZ)()],j.prototype,"up",null),(0,i.Cg)([(0,o.MZ)()],j.prototype,"_up",void 0),(0,i.Cg)([(0,o.MZ)()],j.prototype,"viewMatrix",null),(0,i.Cg)([(0,o.MZ)({readOnly:!0})],j.prototype,"inverseViewMatrix",null),(0,i.Cg)([(0,o.MZ)({readOnly:!0})],j.prototype,"viewForward",null),(0,i.Cg)([(0,o.MZ)({readOnly:!0})],j.prototype,"viewUp",null),(0,i.Cg)([(0,o.MZ)({readOnly:!0})],j.prototype,"viewRight",null),(0,i.Cg)([(0,o.MZ)({readOnly:!0})],j.prototype,"nearFar",null),(0,i.Cg)([(0,o.MZ)()],j.prototype,"near",null),(0,i.Cg)([(0,o.MZ)()],j.prototype,"far",null),(0,i.Cg)([(0,o.MZ)()],j.prototype,"viewport",null),(0,i.Cg)([(0,o.MZ)({readOnly:!0})],j.prototype,"screenViewport",null),(0,i.Cg)([(0,o.MZ)({readOnly:!0})],j.prototype,"screenPadding",null),(0,i.Cg)([(0,o.MZ)()],j.prototype,"x",null),(0,i.Cg)([(0,o.MZ)()],j.prototype,"y",null),(0,i.Cg)([(0,o.MZ)()],j.prototype,"width",null),(0,i.Cg)([(0,o.MZ)()],j.prototype,"height",null),(0,i.Cg)([(0,o.MZ)()],j.prototype,"fullWidth",null),(0,i.Cg)([(0,o.MZ)()],j.prototype,"fullHeight",null),(0,i.Cg)([(0,o.MZ)({readOnly:!0})],j.prototype,"_aspect",null),(0,i.Cg)([(0,o.MZ)()],j.prototype,"padding",null),(0,i.Cg)([(0,o.MZ)({readOnly:!0})],j.prototype,"projectionMatrix",null),(0,i.Cg)([(0,o.MZ)({readOnly:!0})],j.prototype,"inverseProjectionMatrix",null),(0,i.Cg)([(0,o.MZ)()],j.prototype,"fov",null),(0,i.Cg)([(0,o.MZ)()],j.prototype,"fovX",null),(0,i.Cg)([(0,o.MZ)()],j.prototype,"fovY",null),(0,i.Cg)([(0,o.MZ)()],j.prototype,"viewInverseTransposeMatrix",null),(0,i.Cg)([(0,o.MZ)({readOnly:!0})],j.prototype,"_projectionMatrixInternal",null),(0,i.Cg)([(0,o.MZ)()],j.prototype,"relativeElevation",void 0),j=z=(0,i.Cg)([(0,o.$K)("esri.views.3d.webgl.RenderCamera")],j);const H=(0,A.vt)(),L=(0,v.vt)(),W=(0,x.vt)(),V=(0,x.vt)(),U=(0,E.r_)();r(49718),r(6867),r(16396),(0,v.vt)(),(0,x.vt)(),(0,x.vt)(),(0,x.vt)();var G=r(5443),k=r(39829),$=r(95108);function Z(e,t,r,i){const n=function(e,t){const r=0===t||2===t?0:1,i=e[t],n=0===t||1===t?1:-1,o=0===r?1:0;return(e,t,a)=>{if(t[r]<i&&a[r]<i)return 1===n?0:1;if(t[r]>i&&a[r]>i)return 1===n?1:0;const s=(a[o]-t[o])/(a[r]-t[r]),l=t[o]+s*(i-t[r]);return e[r]=i,e[o]=l,(t[r]<i?1:-1)*n>0?2:3}}(r,i);if(e.length=0,t.length){1===n(Y,t[0],t[0])&&q(e,t[0]);for(let r=0;r<t.length;r++){const i=t[r===t.length-1?0:r+1];switch(n(Y,t[r],i)){case 1:q(e,i);break;case 3:q(e,(0,P.o8)(Y));break;case 2:q(e,(0,P.o8)(Y)),q(e,i)}}}}function q(e,t){0!==e.length&&(0,O.aI)(e.at(-1),t)||e.push(t)}const Y=(0,P.vt)();var K=r(11964),X=r(27921);const J=(0,x.vt)(),Q=(0,x.vt)();function ee(){return{direction:(0,x.vt)(),up:(0,x.vt)()}}function te(e,t,r,i,n){let o=(0,g.S8)(J,e),a=(0,g.Om)(o,i);const s=a>0;a=Math.abs(a),a>.99&&(a=Math.abs((0,g.Om)(t,i)),a<.99?((0,g.C)(o,t),s&&(0,g.hs)(o,o,-1)):o=null);let l=0;if(o){(0,g.hs)(Q,i,(0,g.Om)(i,o)),(0,g.Re)(o,o,Q);const e=(0,g.Om)(o,n)/((0,g.Bw)(o)*(0,g.Bw)(n));(0,g.$A)(Q,o,n),l=((0,g.Om)(Q,i)>0?1:-1)*(0,u.KJ)((0,u.XM)(e))}const c=(0,u.KJ)((0,u.XM)(-(0,g.Om)(i,e)/(0,g.Bw)(e)));return r?(r.heading=l,r.tilt=c,r):{heading:l,tilt:c}}function re(e,t,r,i){(0,g.Re)(ie,r,t),(0,X.T7)(i,(0,K.LV)(t,ie),e)||e===r||(0,g.C)(e,r)}const ie=(0,x.vt)(),ne=(0,x.fA)(0,1,0),oe=(0,x.fA)(0,0,1),ae=(0,v.vt)(),se=(0,x.vt)(),le=(0,x.vt)();function ce(e,t,r,i=ee()){const{direction:n,up:o}=i;return(0,S.N9)(ae,-(0,u.kU)(t)),(0,S.eL)(ae,ae,(0,u.kU)(r)),(0,g.Z0)(n,oe,ae),(0,g.hs)(n,n,-1),(0,g.Z0)(o,ne,ae),i}function ue(e,t,r,i,n){const o=t.lines[11].direction,a=(n-r.getAltitude(i))/o[2];(0,g.Ln)(e,i,o,a)}const de=(0,x.vt)();Object.freeze(Object.defineProperty({__proto__:null,directionToHeadingTilt:function(e,t,r,i){return te(t,r,i,oe,ne)},eyeForCenterWithHeadingTilt:function(e,t,r,i){const n=ce(0,r,i),o=(0,x.vt)();return(0,g.hs)(o,n.direction,-t),(0,g.WQ)(o,o,e),{up:n.up,eye:o,heading:r,tilt:i}},eyeTiltToLookAtTilt:function(e){return(0,u.kU)(e)},headingTiltToDirectionUp:ce,lookAtTiltToEyeTilt:function(e){return(0,u.KJ)(e)},toArea:function(e,t){const r=e.frustum,{renderCoordsHelper:i}=e,n=i.getAltitude(t),o=e.spatialReference,a=e.state.camera.eye,s=[],l=r.planes[5];for(let e=0;e<4;e++){const t=r.lines[e];i.intersectInfiniteManifold((0,T.LV)(t.origin,t.direction),n,de)||ue(de,r,i,t.endpoint,n),re(de,a,de,l),s.push((0,P.fA)(de[0],de[1]))}return function(e,t,r){const i=e.map(e=>((0,g.hZ)(de,e[0],e[1],0),t.fromRenderCoords(de,de,r),[de[0],de[1]]));return i.length<=2?new k.A({spatialReference:r}):(i.push(i[0].slice()),(0,$.$3)(i)||i.reverse(),new k.A({rings:[i],spatialReference:r}))}(function(e,t){const r=[],i=[];return Z(r,e,t,0),Z(i,r,t,1),Z(r,i,t,2),Z(i,r,t,3),i}(s,i.extent),i,o)},toExtent:function(e,t,r,i,n){const o=e.renderSpatialReference,a=e.spatialReference??t.spatialReference;return(0,b.g)(t,se,o),(0,b.g)(t,le,o),se[0]-=r/2,le[0]+=r/2,se[1]-=i/2,le[1]+=i/2,(0,y.F)(se,o,se,a),(0,y.F)(le,o,le,a),n?(n.xmin=se[0],n.ymin=se[1],n.xmax=le[0],n.ymax=le[1],n.spatialReference=a):n=new G.A(se[0],se[1],le[0],le[1],a),n}},Symbol.toStringTag,{value:"Module"}));var he=r(34304),me=r(52039),fe=r(94008),pe=r(28735);class ve{get planes(){return this.frustum}get points(){return this._points}get direction(){return this._direction}get origin(){return this._origin}get boundingSphere(){return this._boundingSphereDirty&&this._updateBoundingSphere(),this._boundingSphere}constructor(e){this.renderCoordsHelper=e,this.frustum=(0,M.vt)(),this._points=(0,M.Qy)(),this.lines=new Array(12),this._origin=(0,x.vt)(),this._direction=(0,x.vt)(),this._boundingSphere=new fe.iy,this._altitude=null,this._boundingSphereDirty=!0;for(let e=0;e<12;e++)this.lines[e]={origin:null,direction:(0,x.vt)(),endpoint:null}}update(e){(0,M.ui)(e.viewMatrix,e.projectionMatrix,this.frustum,this._points),(0,g.C)(this._origin,e.eye),(0,g.C)(this._direction,e.viewForward),this._altitude=this.renderCoordsHelper.getAltitude(this._origin),this._updateLines(),this._boundingSphereDirty=!0}get altitude(){return this._altitude}intersectsSphere(e){return(0,M.m7)(this.frustum,e)}isConvexHullOutsideViewPyramid(e,t){return(0,M.Pi)(this.frustum,e,t)}intersectsRay(e){return(0,M.pw)(this.frustum,e)}intersectsLineSegment(e,t){return(0,M.ST)(this.frustum,e,t)}lineSegmentIntersectsViewPyramid(e,t){return(0,M.LJ)(this.frustum,e,t)}intersectsPoint(e){return(0,M.bU)(this.frustum,e)}_updateLines(){const e=this._points;for(let t=0;t<4;t++){const r=t+4;ge(this.lines[t],e[t],e[r]),ge(this.lines[t+4],e[t],3===t?e[0]:e[t+1]),ge(this.lines[t+8],e[r],3===t?e[4]:e[r+1])}}_updateBoundingSphere(){const{origin:e}=this,t=_e;(0,g.S8)(t,this.direction);const r=xe;(0,g.jb)(r,this.points[4],e);const i=.5*(0,g.Om)(r,r)/(0,g.Om)(t,r),n=this._boundingSphere,o=(0,g.Ln)(be,e,t,i);n.center=o,n.radius=i}static{this.planePointIndices=M.c8}static{this.nearFarLineIndices=[[0,4],[1,5],[2,6],[3,7]]}}function ge(e,t,r){e.origin=t,e.endpoint=r,(0,g.oW)(e.direction,t,r)}const xe=(0,x.vt)(),_e=(0,x.vt)(),be=(0,x.vt)();r(86211);const ye=(0,x.fA)(5802e-9,13558e-9,331e-7),we=(0,x.fA)(65e-8*3,5643e-9,255e-9);(0,x.fA)(ye[0]+we[0],ye[1]+we[1],ye[2]+we[2]);class Se{constructor(e=1/0,t=-1/0){this.near=e,this.far=t}set(e,t){this.near=e,this.far=t}union(e){return null!=e&&(this.near=Math.min(this.near,e.near),this.far=Math.max(this.far,e.far)),this}within(e){return this.near<=e&&e<=this.far}equals(e){return this.near===e.near&&this.far===e.far}static{this.Zero=new Se(0,0)}static{this.Infinite=new Se}}(0,x.vt)(),(0,x.vt)(),new fe.iy,(0,T.vt)(),new G.A({xmin:0,ymin:0,zmin:0,xmax:0,ymax:0,zmax:0});var Me=r(32728);const Te=(0,x.fA)(0,0,1),Ce=(0,g.S8)((0,x.vt)(),(0,x.fA)(1,1,1)),Ie=(0,v.vt)(),Ee=(0,x.vt)(),Oe=(0,x.vt)();function Pe(e,t,r,i=ee()){(0,g.$A)(Ee,e,Te),0===(0,g.Om)(Ee,Ee)&&(0,g.$A)(Ee,e,Ce),(0,S.$0)(Ie,-(0,u.kU)(t),e),(0,S.e$)(Ie,Ie,-(0,u.kU)(r),Ee);const{up:n,direction:o}=i;return(0,g.$A)(n,Ee,e),(0,g.S8)(n,n),(0,g.Z0)(n,n,Ie),(0,g.S8)(o,e),(0,g.ze)(o,o),(0,g.Z0)(o,o,Ie),i}function De(e){const t=e[1];e[1]=-e[2],e[2]=t}function Ae(e,t){const r=Pe(t,e.heading,e.tilt);return e.up=r.up,e}function Re(e,t){const{renderCoordsHelper:r,state:i}=e;if(1!==i.viewingMode)return 1;const n=r.getAltitude(t),o=r.referenceEllipsoid.radius,a=1+(0,g.Io)(i.camera.eye,t)/(o+n),s=Math.sqrt(a*a-1),{minCurvature:l,maxCurvature:c,minSamples:d,maxSamples:h}=Be,m=(0,u.qE)((s-l)/(c-l),0,1);return Math.round((0,u.Cc)(d,h,m))}function Fe(e,t){const r=[],i=[],n=(0,he.FD)();for(let o=0;o<e.length;o++){const a=e[o],s=o===e.length-1?e[0]:e[o+1],l=(0,K.Cr)(a,s,Ve),c=(0,X.vE)(t,l.origin,l.vector,0,Le);switch(c){case 2:r.push(a);break;case 3:i.push(a);break;case 0:case 1:{const[e,o,s]=0===c?[1,r,i]:[-1,i,r],l=(0,X.Qj)(t),u=(0,g.Ln)((0,x.vt)(),Le,l,e*n),d=(0,g.Ln)((0,x.vt)(),Le,l,e*-n);o.push(a),o.push(u),s.push(d)}}}const o=[];return r.length&&o.push(r),i.length&&o.push(i),o}const Be={minCurvature:(0,u.kU)(5),maxCurvature:(0,u.kU)(50),minSamples:1,maxSamples:6},Ne=(0,x.fA)(1,0,0),ze=(0,x.fA)(0,1,0),je=(0,x.vt)(),He=(0,x.vt)(),Le=(0,x.vt)(),We=new fe.iy,Ve=(0,K.vt)(),Ue=(0,A.vt)();Object.freeze(Object.defineProperty({__proto__:null,directionToHeadingTilt:function(e,t,r,i){const n=Ee,o=Oe;return(0,g.S8)(n,e),(0,g.$A)(Oe,n,Te),0===(0,g.Om)(Oe,Oe)&&(0,g.$A)(Oe,n,Ce),(0,g.$A)(o,Oe,n),te(t,r,i,n,o)},eyeForCenterWithHeadingTilt:function(e,t,r,i){const n={eye:(0,x.vt)(),up:null,tilt:i,heading:r},o=Ee;o[0]=e[0],o[1]=e[2],o[2]=-e[1];const a=t,s=(0,u.kU)(r),l=(0,u.kU)(i),c=Math.sin(s),d=Math.cos(s),h=Math.sin(l),m=Math.cos(l),f=(0,g.Bw)(o);let p;if(Math.abs(l)<1e-8)p=a+f;else{const e=f/h,t=(0,u.YN)(a/e),r=Math.PI-l-t;p=e*Math.sin(r)}const v=m*a,_=a*a*(h*h),b=d*d*_,y=p-v,w=y*y,S=b*(b+w-o[1]*o[1]);if(S<0)return(0,g.hs)(n.eye,o,p/f),n.tilt=0,Ae(n,e);const M=Math.sqrt(S),T=o[1]*y,C=b+w;let I;if(I=d>0?-M+T:M+T,Math.abs(C)<1e-8)return f<1e-8?(n.eye[0]=0,n.eye[1]=0,n.eye[2]=a):(0,g.hs)(n.eye,o,p/f),n.tilt=0,De(n.eye),Ae(n,e);n.eye[1]=I/C;const E=c*c*_,O=h*a,P=d*O*n.eye[1],D=n.eye[1]*n.eye[1],A=1-D,R=Math.sqrt(A),F=b*D+E-2*P*R*y+A*w;return Math.abs(F)<1e-8?((0,g.hs)(n.eye,o,p/f),n.tilt=0,De(n.eye),Ae(n,e)):(n.eye[0]=(A*(p*o[0]-v*o[0])-O*R*(o[0]*n.eye[1]*d+o[2]*c))/F,n.eye[2]=(A*(p*o[2]-v*o[2])-O*R*(o[2]*n.eye[1]*d-o[0]*c))/F,(0,g.hs)(n.eye,n.eye,p),De(n.eye),Ae(n,e))},eyeTiltToLookAtTilt:function(e,t,r){const i=(0,u.kU)(e),n=(0,g.Bw)(t);return(0,u.YN)(r/(n/Math.sin(i)))+i},getCurvatureSamples:Re,headingTiltToDirectionUp:Pe,lookAtTiltToEyeTilt:function(e,t,r){const i=(0,g.Bw)(t),n=Math.sqrt(r*r+i*i-2*r*i*Math.cos(Math.PI-e)),o=(0,u.YN)(r/(n/Math.sin(e)));return(0,u.KJ)(e-o)},toArea:function(e,t){const{renderCoordsHelper:r}=e,i=e.state.camera.clone(),n=new ve(r);i.near=2,n.update(i);const o=r.getAltitude(t),a=e.spatialReference,s=i.eye,l=function(e){const{renderCoordsHelper:t,state:r}=e,i=Math.abs(t.getAltitude(r.camera.center));return We.radius=t.referenceEllipsoid.radius+i,r.camera.sphereFrustumCoverage(We,t)}(e),c=Re(e,t),d=i.aboveGround,h=n.planes[5],m=[],f=(0,X.O_)(x.uY,Ne,(0,X.vt)()),p=(0,X.O_)(x.uY,ze,(0,X.vt)());(0,D.hZ)(Ue,0,0,0,0);const v=e=>{};for(let e=0;e<4;e++){const t=1===e&&!d||3===e&&d?1-l:0,i=1===e&&d||3===e&&!d?l:1,a=n.lines[e],_=n.lines[3===e?0:e+1];for(let n=0;n<c;n++){const l=n/c,d=0===n?0:(0,u.Cc)(t,i,1===e?1-(1-l)**2:3===e?l**2:l),b=(0,g.Cc)(He,a.origin,_.origin,d),y=(0,Me.nu)(a.direction,_.direction,d,je);r.intersectManifoldClosestSilhouette((0,T.LV)(b,y),o,Le),re(Le,s,Le,h),m.push((0,x.o8)(Le)),0!==m.length&&v((0,g.lo)(m.at(-1),Le));const w=((0,X.BX)(f,Le)?1:0)|((0,X.BX)(p,Le)?2:0);Ue[w]=1}}m.length>2&&(0,g.lo)(m[0],m.at(-1));const _=function(e,t,r){const i=2*(0,he.FD)();return e.map(e=>{const n=[];let o=!1;for(const a of e)t.fromRenderCoords(a,Le,r),Math.abs(a[0])<i&&Math.abs(a[1])<i?(n.push([null,Le[1]]),n.push([null,Le[1]]),o=!0):n.push([Le[0],Le[1]]);if(o)for(let e=0;e<n.length;e++){const t=n[e];if(null!=t[0])continue;const r=n[e+1],i=n.at(0===e?-1:e-1);t[0]=i[0],e++;const o=n.at(e===n.length-1?0:e+1);r[0]=o[0]}return n.push(n[0]),(0,$.$3)(n)||n.reverse(),n})}((0,D.m3)(Ue)>1?function(e,t){const r=[];for(const i of e)r.push(...Fe(i,t));return r}(Fe(m,f),p):[m],r,a);return new k.A({rings:_,spatialReference:a})},toExtent:function(e,t,r,i,n){let o,a,s,c;const d=t.latitude,h=(0,w.tO)(e.spatialReference).radius,m=t.longitude,f=function(e,t,r){const i=t/r,n=(0,u.kU)(e),o=Math.sin(i/2),a=Math.cos(n),s=2*(0,u.YN)(Math.sqrt(o*o/(a*a)));return(0,u.KJ)(s)}(d,r,h)/2;o=m-f,a=m+f;const p=(0,u.kU)(d),v=(1+Math.sin(p))/(1-Math.sin(p)),g=(v+1)*Math.tan(i/h/2),x=g*g;function b(e){const t=Math.PI/2;return(e=l.uC.normalize(e,-t))>t&&(e=Math.PI-e),e}if(s=1.5*Math.PI-2*Math.atan(.5*(g+Math.sqrt(4*v+x))),c=s+i/h,s=b(s),c=b(c),c<s){const e=c;c=s,s=e}if(s=Math.max((0,u.KJ)(s),-90),c=Math.min((0,u.KJ)(c),90),a=me.Y_.monotonic(o,a),a-o>180){const e=(a-o-180)/2;o+=e,a-=e}const y=e.spatialReference&&e.spatialReference.isGeographic?e.spatialReference:_.A.WGS84;return n?(n.xmin=o,n.ymin=s,n.xmax=a,n.ymax=c,n.spatialReference=y):n=new G.A(o,s,a,c,y),e.spatialReference&&e.spatialReference.isWebMercator&&(0,pe.Gh)(n,!1,n),n}},Symbol.toStringTag,{value:"Module"}));const Ge={OPAQUE:"opaque-color",TRANSPARENT:"transparent-color",COMPOSITE:"composite-color",FINAL:"final-color"},ke=[Ge.FINAL,Ge.COMPOSITE,Ge.OPAQUE,Ge.TRANSPARENT],$e={ANTIALIASING:"antialiasing",CUTFILL:"cutfill",CUTFILL_COMPUTATION:"cutfill-computation",FOCUSAREA:"focusarea",FOCUSAREA_MASK:"focusarea-mask",GAUSSIAN_SPLAT:"gaussian",GAUSSIAN_SPLAT_DEPTH:"gaussian-depth",GROUND_DEPTH:"ground-depth",HIGHLIGHT:"highlight",LASERLINES:"laserlines",TRANSPARENT_NO_DEPTH:"transparent-no-depth",MAGNIFIER:"magnifier",OCCLUDED:"occluded",OPAQUE_OCCLUSION_QUERY:"opaque-occlusion-query",OPAQUE_ENVIRONMENT:"opaque-environment",TRANSPARENT_ENVIRONMENT:"transparent-environment",AMBIENT_ILLUMINATION:"ambient-illumination",SHADOW_ACCUMULATION:"shadow-accumulation",SHADOWMAP:"shadowmap",SHADOW_HIGHLIGHT:"shadow-highlight",VOXEL:"voxel",VIEWSHED:"viewshed",OBJECT_AND_LAYER_ID_COLOR:"olid"};Array.from(Object.values($e)).concat(ke),(0,x.vt)()},48852(e,t,r){r.d(t,{g:()=>m});var i=r(4576),n=r(44208),o=r(53966),a=r(17676),s=r(78659),l=r(34275),c=r(94656),u=r(63907);const d=()=>o.A.getLogger("esri.views.webgl.BufferObject"),h=!!(0,n.A)("esri-tests-disable-gpu-memory-measurements");class m{static createIndex(e,t,r){return new m(e,34963,t,r)}static createUniform(e,t,r){return new m(e,35345,t,r)}static createPixelPack(e,t=35041,r){const i=new m(e,35051,t);return r&&i.setSize(r),i}static createPixelUnpack(e,t=35040,r){return new m(e,35052,t,r)}static createTransformFeedback(e,t=35044,r){const i=new m(e,35982,t);return i.setSize(r),i}constructor(e,t,r,i){this._context=e,this.bufferType=t,this.usage=r,this._glName=null,this._sizeBytes=-1,this._indexType=void 0,e.instanceCounter.increment(u.vt.BufferObject,this),this._glName=this._context.gl.createBuffer(),(0,c.Y2)(this._context.gl),i&&this.setData(i)}get glName(){return this._glName}get size(){if(34963===this.bufferType)switch(this._indexType){case u.pe.UNSIGNED_INT:return this._sizeBytes/4;case u.pe.UNSIGNED_SHORT:return this._sizeBytes/2;case u.pe.UNSIGNED_BYTE:case void 0:case null:break;default:this._indexType}return this._sizeBytes}get indexType(){return this._indexType}get sizeBytes(){return this._sizeBytes}get usedMemory(){return h?0:this.sizeBytes}get _isVAOAware(){return 34963===this.bufferType||34962===this.bufferType}dispose(){this._context?.gl?(this._glName&&(this._context.gl.deleteBuffer(this._glName),this._glName=null),this._context.instanceCounter.decrement(u.vt.BufferObject,this),this._context=null):this._glName&&d().warn("Leaked WebGL buffer object")}setSize(e,t=null){if(34963===this.bufferType&&null!=t)switch(this._indexType=t,t){case u.pe.UNSIGNED_SHORT:e*=2;break;case u.pe.UNSIGNED_INT:e*=4;case u.pe.UNSIGNED_BYTE:}this._setBufferData(e)}setData(e){if(!e)return;const t=e.byteLength;34963===this.bufferType&&((0,l.mg)(e)?this._indexType=u.pe.UNSIGNED_BYTE:(0,l.jq)(e)?this._indexType=u.pe.UNSIGNED_SHORT:(0,l.XJ)(e)&&(this._indexType=u.pe.UNSIGNED_INT)),this._setBufferData(t,e)}setIndexType(e){34963===this.bufferType&&(this._indexType=e)}_setBufferData(e,t=null){this._sizeBytes=e;const r=this._context.getBoundVAO();this._isVAOAware&&this._context.bindVAO(null),this._context.bindBuffer(this);const i=this._context.gl;null!=t?i.bufferData(this.bufferType,t,this.usage):i.bufferData(this.bufferType,e,this.usage),(0,c.Y2)(i),this._isVAOAware&&this._context.bindVAO(r)}setSubData(e,t,r,i){if(!e)return;const n=this._context.getBoundVAO();this._isVAOAware&&this._context.bindVAO(null),this._context.bindBuffer(this);const{gl:o}=this._context;o.bufferSubData(this.bufferType,t*e.BYTES_PER_ELEMENT,e,r,i-r),(0,c.Y2)(o),this._isVAOAware&&this._context.bindVAO(n)}getSubData(e,t=0,r,n){if(r<0||n<0)return;const o=function(e){return(0,i.Xj)(e)}(e)?e.BYTES_PER_ELEMENT:1;if(o*((r??0)+(n??0))>e.byteLength)return;t+o*(n??0)>this.usedMemory&&d().warn("Potential problem getting subdata: requested data exceeds buffer size!");const a=this._context.gl;35982===this.bufferType?(this._context.bindBuffer(this,35982),a.getBufferSubData(35982,t,e,r,n),this._context.unbindBuffer(35982)):(this._context.bindBuffer(this,36662),a.getBufferSubData(36662,t,e,r,n),this._context.unbindBuffer(36662))}async getSubDataAsync(e,t=0,r,i,n){if(await this._context.clientWaitAsync((0,s.l5)(10),n),!this._context||!this._glName)throw(0,a.NK)();this.getSubData(e,t,r,i)}}},65786(e,t,r){const i=class{};new i,r.d(t,["Y",0,i])},14113(e,t,r){r.d(t,{N5:()=>s});var i=r(49186),n=(r(44208),r(53966));const o=()=>n.A.getLogger("esri.views.3d.webgl-engine.core.shaderModules.shaderBuilder");class a{constructor(){this._includedModules=new Map}include(e,t){this._includedModules.has(e)?this._includedModules.get(e):(this._includedModules.set(e,t),e(this.builder,t))}}class s extends a{constructor(){super(...arguments),this.vertex=new h,this.fragment=new h,this.attributes=new m,this.varyings=new f,this.outputs=new p}get attributeNames(){return this.attributes.names}get builder(){return this}generate(e,t=!1){const r=this.attributes.generateSource(e),i=this.varyings.generateSource(e),n="vertex"===e?this.vertex:this.fragment,o=n.uniforms.generateSource(),a=n.code.generateSource(),s=n.main.generateSource(t),l=this.debugName?`// ${this.debugName}\n`:"",c="vertex"===e?x:g,u=n.constants.generateSource(),d=this.outputs.generateSource(e);return`#version 300 es\n${l}\n${c}\n${u.join("\n")}\n${o.join("\n")}\n${r.join("\n")}\n${i.join("\n")}\n${d.join("\n")}\n${a.join("\n")}\n${s.join("\n")}`}generateBind(e){const t=new Map;this.vertex.uniforms.entries.forEach(e=>{const r=e.bind[0];r&&t.set(e.name,r)}),this.fragment.uniforms.entries.forEach(e=>{const r=e.bind[0];r&&t.set(e.name,r)});const r=Array.from(t.values()),i=r.length;return t=>{for(let n=0;n<i;++n)r[n](e,t)}}generateBindPass(e){const t=new Map;this.vertex.uniforms.entries.forEach(e=>{const r=e.bind[1];r&&t.set(e.name,r)}),this.fragment.uniforms.entries.forEach(e=>{const r=e.bind[1];r&&t.set(e.name,r)});const r=Array.from(t.values()),i=r.length;return(t,n)=>{for(let o=0;o<i;++o)r[o](e,n,t)}}generateBindDraw(e){const t=new Map;this.vertex.uniforms.entries.forEach(e=>{const r=e.bind[2];r&&t.set(e.name,r)}),this.fragment.uniforms.entries.forEach(e=>{const r=e.bind[2];r&&t.set(e.name,r)});const r=Array.from(t.values()),i=r.length;return(t,n,o)=>{for(let a=0;a<i;++a)r[a](e,o,t,n)}}}class l{constructor(e){this._stage=e,this._entries=new Map}add(...e){for(const t of e)this._add(t);return this._stage}get(e){return this._entries.get(e)}_add(e){if(null!=e){if(this._entries.has(e.name)&&!this._entries.get(e.name).equals(e))throw new i.A("shaderbuilder:duplicate-uniform",`Duplicate uniform name ${e.name} for different uniform type`);this._entries.set(e.name,e)}else o().error(`Trying to add null Uniform from ${(new Error).stack}.`)}generateSource(){return Array.from(this._entries.values()).map(({name:e,arraySize:t,type:r})=>null!=t?`uniform ${r} ${e}[${t}];`:`uniform ${r} ${e};`)}get entries(){return Array.from(this._entries.values())}}class c{constructor(){this._entries=new Map}add(e,t){if(this._entries.has(e))throw new i.A("shaderbuilder:duplicate-input",`Duplicate input for ${e}`);this._entries.set(e,t)}get(e){const t=this._entries.get(e);if(null==t)throw new i.A("shaderbuilder:input-resolver-error",`No resolver for input ${e} found.`);return t()}}class u{constructor(e){this._stage=e,this._bodies=new Array}add(e){return this._bodies.push(e),this._stage}generateSource(e){if(this._bodies.length>0){const e=[];for(const t of this._bodies)"string"==typeof t?e.push(t):e.push(...t());return[`void main() {\n ${e.join("\n")||""} \n}`]}if(e)throw new i.A("shaderbuilder:missing-main","Shader does not contain main function body.");return[]}}class d{constructor(e){this._stage=e,this._entries=new Array}add(e){return this._entries.push(e),this._stage}generateSource(){const e=[];for(const t of this._entries)"string"==typeof t?e.push(t):e.push(...t());return e}}class h extends a{constructor(){super(...arguments),this.uniforms=new l(this),this.main=new u(this),this.code=new d(this),this.constants=new v(this),this.inputs=new c}get builder(){return this}}class m{constructor(){this._entries=new Array}add(e,t){this._entries.push([e,t])}generateSource(e){return"fragment"===e?[]:this._entries.map(e=>`in ${e[1]} ${e[0]};`)}get names(){return this._entries.map(([e])=>e)}}class f{constructor(){this._entries=new Map}add(e,t,r){this._entries.has(e)?o().warn(`Ignoring duplicate varying ${t} ${e}`):this._entries.set(e,{type:t,invariant:r?.invariant??!1})}generateSource(e){const t=new Array;return this._entries.forEach((r,i)=>t.push((r.invariant&&"vertex"===e?"invariant ":"")+("int"===r.type?"flat ":"")+("vertex"===e?"out":"in")+` ${r.type} ${i};`)),t}}class p{constructor(){this._entries=new Map}add(e,t,r=0){const i=this._entries.get(r);i?.name!==e||i?.type!==t?this._entries.set(r,{name:e,type:t}):o().warn(`Fragment shader output location ${r} occupied`)}static{this.DEFAULT_TYPE="vec4"}static{this.DEFAULT_NAME="fragColor"}generateSource(e){if("vertex"===e)return[];0===this._entries.size&&this._entries.set(0,{name:p.DEFAULT_NAME,type:p.DEFAULT_TYPE});const t=new Array;return this._entries.forEach((e,r)=>t.push(`layout(location = ${r}) out ${e.type} ${e.name};`)),t}}class v{constructor(e){this._stage=e,this._entries=new Set}add(e,t,r){let i="ERROR_CONSTRUCTOR_STRING";switch(t){case"float":i=v._numberToFloatStr(r);break;case"int":i=v._numberToIntStr(r);break;case"uint":i=v._numberToUintStr(r);break;case"bool":i=r.toString();break;case"vec2":i=`vec2(${v._numberToFloatStr(r[0])}, ${v._numberToFloatStr(r[1])})`;break;case"vec3":i=`vec3(${v._numberToFloatStr(r[0])}, ${v._numberToFloatStr(r[1])}, ${v._numberToFloatStr(r[2])})`;break;case"vec4":i=`vec4(${v._numberToFloatStr(r[0])}, ${v._numberToFloatStr(r[1])}, ${v._numberToFloatStr(r[2])}, ${v._numberToFloatStr(r[3])})`;break;case"ivec2":i=`ivec2(${v._numberToIntStr(r[0])}, ${v._numberToIntStr(r[1])})`;break;case"ivec3":i=`ivec3(${v._numberToIntStr(r[0])}, ${v._numberToIntStr(r[1])}, ${v._numberToIntStr(r[2])})`;break;case"ivec4":i=`ivec4(${v._numberToIntStr(r[0])}, ${v._numberToIntStr(r[1])}, ${v._numberToIntStr(r[2])}, ${v._numberToIntStr(r[3])})`;break;case"uvec2":i=`uvec2(${v._numberToUintStr(r[0])}, ${v._numberToUintStr(r[1])})`;break;case"uvec3":i=`uvec3(${v._numberToUintStr(r[0])}, ${v._numberToUintStr(r[1])}, ${v._numberToUintStr(r[2])})`;break;case"uvec4":i=`uvec4(${v._numberToUintStr(r[0])}, ${v._numberToUintStr(r[1])}, ${v._numberToUintStr(r[2])}, ${v._numberToUintStr(r[3])})`;break;case"mat2":case"mat3":case"mat4":i=`${t}(${Array.prototype.map.call(r,e=>v._numberToFloatStr(e)).join(", ")})`}return this._entries.add(`const ${t} ${e} = ${i};`),this._stage}static _numberToIntStr(e){return e.toFixed(0)}static _numberToUintStr(e){return`${e.toFixed(0)}u`}static _numberToFloatStr(e){return Number.isInteger(e)?e.toFixed(1):e.toString()}generateSource(){return Array.from(this._entries)}}const g="#ifdef GL_FRAGMENT_PRECISION_HIGH\n precision highp float;\n precision highp int;\n precision highp sampler2D;\n precision highp usampler2D;\n precision highp sampler2DArray;\n precision highp sampler2DShadow;\n#else\n precision mediump float;\n precision mediump int;\n precision mediump sampler2D;\n precision mediump usampler2D;\n precision mediump sampler2DArray;\n precision mediump sampler2DShadow;\n#endif",x="precision highp float;\n precision highp int;\n precision highp sampler2D;\n precision highp usampler2D;\n precision highp sampler2DArray;\n precision highp sampler2DShadow;\n\n\n invariant gl_Position;\n "},74333(e,t,r){r.d(t,{n:()=>i});class i{constructor(e,t,r,i,n=null){if(this.name=e,this.type=t,this.arraySize=n,this.bind={0:null,1:null,2:null},i)switch(r){case void 0:break;case 0:this.bind[0]=i;break;case 1:this.bind[1]=i;break;case 2:this.bind[2]=i}}equals(e){return this.type===e.type&&this.name===e.name&&this.arraySize===e.arraySize}}},66289(e,t,r){r.d(t,{R:()=>n});var i=r(48852);class n extends i.g{constructor(e,t,r,i=35044){super(e,34962,i,r),this.layout=t}}},90644(e,t,r){function i(e,t,r=32774,i=[0,0,0,0]){return{srcRgb:e,srcAlpha:e,dstRgb:t,dstAlpha:t,opRgb:r,opAlpha:r,color:{r:i[0],g:i[1],b:i[2],a:i[3]}}}function n(e,t,r,i,n=32774,o=32774,a=[0,0,0,0]){return{srcRgb:e,srcAlpha:t,dstRgb:r,dstAlpha:i,opRgb:n,opAlpha:o,color:{r:a[0],g:a[1],b:a[2],a:a[3]}}}r.d(t,{Ey:()=>b,nk:()=>d,p3:()=>n}),r(4718);const o=i(0,771),a=(i(1,0),i(1,1),i(1,771)),s=(i(773,1),n(770,1,771,771)),l=n(0,0,768,0),c=(n(0,0,768,1),{face:1029,mode:2305}),u={face:1028,mode:2305};function d(e,t,r){return{ref:e,readMask:t,stencilFront:r,stencilBack:r}}function h(e){return S.intern(e)}function m(e){return T.intern(e)}function f(e){return I.intern(e)}function p(e){return O.intern(e)}function v(e){return D.intern(e)}function g(e){return R.intern(e)}function x(e){return B.intern(e)}function _(e){return z.intern(e)}function b(e){return H.intern(e)}class y{constructor(e,t){this._makeKey=e,this._makeRef=t,this._interns=new Map}intern(e){if(!e)return null;const t=this._makeKey(e),r=this._interns;return r.has(t)||r.set(t,this._makeRef(e)),r.get(t)??null}}function w(e){return"["+e.join(",")+"]"}const S=new y(M,e=>({__tag:"Blending",...e}));function M(e){return e?w([e.srcRgb,e.srcAlpha,e.dstRgb,e.dstAlpha,e.opRgb,e.opAlpha,e.color.r,e.color.g,e.color.b,e.color.a]):null}const T=new y(C,e=>({__tag:"Culling",...e}));function C(e){return e?w([e.face,e.mode]):null}const I=new y(E,e=>({__tag:"PolygonOffset",...e}));function E(e){return e?w([e.factor,e.units]):null}const O=new y(P,e=>({__tag:"DepthTest",...e}));function P(e){return e?w([e.func]):null}const D=new y(A,e=>({__tag:"StencilTest",...e}));function A(e){return e?w([e.ref,e.readMask,e.stencilFront.compare,e.stencilFront.fail,e.stencilFront.zFail,e.stencilFront.zPass,e.stencilBack.compare,e.stencilBack.fail,e.stencilBack.zFail,e.stencilBack.zPass]):null}const R=new y(F,e=>({__tag:"DepthWrite",...e}));function F(e){return e?w([e.zNear,e.zFar]):null}const B=new y(N,e=>({__tag:"ColorWrite",...e}));function N(e){return e?w([e.r,e.g,e.b,e.a]):null}const z=new y(j,e=>({__tag:"StencilWrite",...e}));function j(e){return e?w([e.mask]):null}const H=new y(function(e){return e?w([M(e.blending),C(e.culling),E(e.polygonOffset),P(e.depthTest),A(e.stencilTest),F(e.depthWrite),N(e.colorWrite),j(e.stencilWrite)]):null},e=>({blending:h(e.blending),culling:m(e.culling),polygonOffset:f(e.polygonOffset),depthTest:p(e.depthTest),stencilTest:v(e.stencilTest),depthWrite:g(e.depthWrite),colorWrite:x(e.colorWrite),stencilWrite:_(e.stencilWrite)}));r.d(t,["RC",0,a,"T8",0,s,"Uy",0,{zNear:0,zFar:1},"Xt",0,e=>2===e?c:1===e?u:null,"iD",0,o,"kn",0,{r:!0,g:!0,b:!0,a:!0},"uR",0,l])}}]);
@@ -1 +1 @@
1
- "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[6200],{52106(e,t,i){i.d(t,{A:()=>C});var r,n,s=i(32198),o=i(37838),l=i(69540),a=i(51447),c=i(25482),u=i(53966),h=i(36708),p=i(24326),f=i(91429),g=i(12195),y=i(65864),m=i(50498),d=i(55156),v=i(60950),w=i(54339),b=i(94128),M=i(33910);const _=Symbol("meshGeometryHandles");function A(e){if(null==e)return null;const t={};for(const i in e){const r=e[i];r&&(t[i]=r.toJSON())}return 0!==Object.keys(t).length?t:null}let C=class extends((0,l.OU)(c.o)){static{r=b.Z}static{n=this}constructor(e){super(e),this[r]=!0,this.distance=null,this.isAggregate=!1,this.layer=null,this.origin=null,this.sourceLayer=null,this.statisticsAggregatedIds=void 0,this._version=0,Object.defineProperty(this,"uid",{value:(0,p.c)(),configurable:!0}),Object.defineProperty(this,"_lastMeshTransform",{value:{},configurable:!0,writable:!0,enumerable:!1}),arguments.length>1&&(0,a.eF)(u.A.getLogger(this),"Graphic",{version:"4.30"})}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),this._watchMeshGeometryChanges(),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,statisticsAggregatedIds:this.statisticsAggregatedIds,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=(0,v.E_)(this.origin);if(t)return t.popupTemplate??(e?t.defaultPopupTemplate:null)??null;const i=this.origin&&"layer"in this.origin?this.origin.layer:null;for(const t of[i,this.sourceLayer,this.layer])if(t&&"object"==typeof t){if("popupTemplate"in t&&t.popupTemplate)return t.popupTemplate;if(e&&"defaultPopupTemplate"in t&&null!=t.defaultPopupTemplate)return t.defaultPopupTemplate}return null}getAttribute(e){return this.attributes?.[e]}setAttribute(e,t){if(this.attributes){const i=this.getAttribute(e);this.attributes[e]=t,this._notifyLayer("attributes",i,t,e)}else this.attributes={[e]:t}}getObjectId(){const e=(0,d.I)(this.origin);if(e)return(0,w.r)(this,e);const t=this.sourceLayer??this.layer;return t?(0,w.r)(this,t):null}getGlobalId(){const e=(0,d.I)(this.origin);if(e?.globalIdField)return this.getAttribute(e.globalIdField);const t=this.sourceLayer??this.layer;return t&&"globalIdField"in t&&t.globalIdField?this.getAttribute(t.globalIdField):null}toJSON(){const e={aggregateGeometries:A(this.aggregateGeometries),geometry:this.geometry?.toJSON()??null,symbol:this.symbol?.toJSON()??null,attributes:(0,g.W)(this.attributes)?this.attributes.toJSON():{...this.attributes},popupTemplate:this.popupTemplate?.toJSON()??null};return this.statisticsAggregatedIds?.length&&(e.aggregateIds=[...this.statisticsAggregatedIds]),null!=this.distance&&(e.distance=this.distance),e}notifyMeshTransformChanged(e={}){const{geometry:t}=this;if("mesh"===t?.type){const i={origin:t.origin,transform:t.transform};this._notifyLayer("origin-transform",i,i,e.action)}}_notifyLayer(e,t,i,r){if(this._version++,!this.layer||!("graphicChanged"in this.layer))return;const n={graphic:this,property:e,oldValue:t,newValue:i};"origin-transform"===e&&(n.action=r),"attributes"===e&&(n.attributeName=r),this.layer.graphicChanged(n)}_watchMeshGeometryChanges(){this.removeHandles(_);const e=this.geometry;"mesh"===e?.type&&this.addHandles([(0,h.z7)(()=>e.vertexSpace.origin?{localMatrix:e.transform?.localMatrix,origin:e.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,h.z7)(()=>({vertexAttributes:e.vertexAttributes}),()=>{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",e,e)},{equals:(e,t)=>e===t,sync:!0})],_)}};(0,s.Cg)([(0,f.MZ)({value:null,json:{read:function(e){if(!e)return null;const t={};for(const i in e){const r=(0,y.rS)(e[i]);r&&(t[i]=r)}return 0!==Object.keys(t).length?t:null}}})],C.prototype,"aggregateGeometries",null),(0,s.Cg)([(0,f.MZ)({value:null})],C.prototype,"attributes",null),(0,s.Cg)([(0,f.MZ)({value:null,types:m.yR,json:{read:y.rS}})],C.prototype,"geometry",null),(0,s.Cg)([(0,f.MZ)()],C.prototype,"distance",void 0),(0,s.Cg)([(0,f.MZ)({type:Boolean})],C.prototype,"isAggregate",void 0),(0,s.Cg)([(0,f.MZ)({clonable:!1})],C.prototype,"layer",void 0),(0,s.Cg)([(0,f.MZ)({clonable:"reference"})],C.prototype,"origin",void 0),(0,s.Cg)([(0,f.MZ)({type:o.A,value:null})],C.prototype,"popupTemplate",null),(0,s.Cg)([(0,f.MZ)({clonable:"reference"})],C.prototype,"sourceLayer",void 0),(0,s.Cg)([(0,f.MZ)({json:{name:"aggregateIds",read:e=>e?.map(e=>Array.isArray(e)?JSON.stringify(e):e)}})],C.prototype,"statisticsAggregatedIds",void 0),(0,s.Cg)([(0,f.MZ)({value:null,types:M.Es})],C.prototype,"symbol",null),(0,s.Cg)([(0,f.MZ)({clonable:!1,json:{read:!1,write:!1}})],C.prototype,"_version",void 0),(0,s.Cg)([(0,f.MZ)({type:Boolean,value:!0})],C.prototype,"visible",null),C=n=(0,s.Cg)([(0,f.$K)("esri.Graphic")],C)},19334(e,t,i){i.d(t,{e:()=>o});var r=i(54639),n=i(14112);class s{constructor(e){this._geometry=e}toJsonGeometry(){return this._geometry.toJSON()}toAccessorGeometry(e){return this._geometry}toGxGeometry(e){return e.fromAccessorGeometry(this._geometry)}}function o(e){if(null==e)return null;switch(e.type){case"point":if((0,n.e6)(e))return null;break;case"polygon":if((0,n.Wq)(e))return null;break;case"polyline":if((0,n.IY)(e))return null;break;case"multipoint":if((0,n.DG)(e))return null;break;case"extent":if((0,n.As)(e))return null;break;default:return null}const t=r.R.of(e.type,e.spatialReference,e.hasZ,e.hasM,new s(e));return t.asAccessorGeometry(),t}},36983(e,t,i){i.d(t,{R:()=>c,p:()=>u});var r=i(54639),n=i(14112),s=i(16930),o=i(60408),l=i(65864);class a{constructor(e){this._geometry=e}toJsonGeometry(){return this._geometry}toAccessorGeometry(e){const t=(0,l.rS)(this._geometry);return t.spatialReference=e,t}toGxGeometry(e){return e.fromJsonGeometry(this._geometry)}}function c(e,t){if(null==e||"object"!=typeof e)return null;let i=t;if("spatialReference"in e&&(e.spatialReference instanceof s.A?i=e.spatialReference:"object"==typeof e.spatialReference&&null!=e.spatialReference&&(i=new s.A,i.read(e.spatialReference))),null==i)throw new Error("Spatial reference required");return(0,o.fT)(e)?u("point",e,i):(0,o.Rg)(e)?u("polyline",e,i):(0,o.Bi)(e)?u("polygon",e,i):(0,o.U9)(e)?u("multipoint",e,i):(0,o.ZC)(e)?u("extent",e,i):null}function u(e,t,i){if(null==t)return null;let s=!1,o=!1;switch(e){case"point":if((0,n.e6)(t))return null;s=void 0!==t.z,o=void 0!==t.m;break;case"polygon":if((0,n.Wq)(t))return null;s=!0===t.hasZ,o=!0===t.hasM;break;case"polyline":if((0,n.IY)(t))return null;s=!0===t.hasZ,o=!0===t.hasM;break;case"multipoint":if((0,n.DG)(t))return null;s=!0===t.hasZ,o=!0===t.hasM;break;case"extent":if((0,n.As)(t))return null;s=null!=t.zmin&&null!=t.zmax,o=null!=t.mmin&&null!=t.mmax;break;default:throw new Error("Unsupported geometry type: "+t.type)}return r.R.of(e,i,s,o,new a(t))}},14112(e,t,i){function r(e){return"NaN"===e.x||null===e.x||isNaN(e.x)}function n(e){if(0===(e.curveRings??e.rings).length)return!0;for(const t of e.curveRings??e.rings)if(t.length>0)return!1;return!0}function s(e){if(0===(e.curvePaths??e.paths).length)return!0;for(const t of e.curvePaths??e.paths)if(t.length>0)return!1;return!0}function o(e){return 0===e.points.length}function l(e){return"NaN"===e.xmin||null===e.xmin||isNaN(e.xmin)}i.d(t,{As:()=>l,DG:()=>o,IY:()=>s,Wq:()=>n,e6:()=>r})},69052(e,t,i){i.d(t,{hr:()=>n});var r=i(34727);class n{constructor(e,t){this.min=e,this.max=t,this.range=t-e}normalize(e,t=0,i=!1){return s(this.range,this.min,this.max,e,t,i)}clamp(e,t=0){return(0,r.qE)(e-t,this.min,this.max)+t}monotonic(e,t,i){return e<t?t:t+o(this.range,e-t,i)}minimalMonotonic(e,t,i){return s(this.range,e,e+this.range,t,i)}center(e,t,i){return t=this.monotonic(e,t,i),this.normalize((e+t)/2,i)}diff(e,t,i){return this.monotonic(e,t,i)-e}shortestSignedDiff(e,t){e=this.normalize(e);const i=(t=this.normalize(t))-e,r=t<e?this.minimalMonotonic(e,t)-e:t-this.minimalMonotonic(t,e);return Math.abs(i)<Math.abs(r)?i:r}contains(e,t,i){return t=this.minimalMonotonic(e,t),(i=this.minimalMonotonic(e,i))>e&&i<t}}function s(e,t,i,r,n=0,s=!1){return(r-=n)<t?r+=o(e,t-r):r>i&&(r-=o(e,r-i)),s&&r===i&&(r=t),r+n}function o(e,t,i=0){return Math.ceil((t-i)/e)*e+i}const l=new n(0,2*Math.PI),a=(new n(-Math.PI,Math.PI),new n(0,360));i.d(t,["ie",0,a,"uC",0,l])},18370(e,t,i){i.d(t,{z:()=>n});class r{constructor(e){this._import=e,this.module=null,this._promise=null}getImportPromise(){return null==this._promise&&(this._promise=this._import().then(async e=>(this.module=e,e))),this._promise}}function n(e){return new r(e)}},52039(e,t,i){i.d(t,{O7:()=>p,el:()=>c});var r=i(69052),n=(i(49186),i(18370)),s=i(17676),o=(i(5443),i(39829)),l=(i(82799),i(16930)),a=(i(80754),i(21325));async function c(e,t,i){Array.isArray(e)||(e=[e]),null!=t&&"object"==typeof t&&"authMode"in t&&(i=t);let r=null;for(const t of e)r??=t?.spatialReference;if(!r)return e;const n=(0,a.Vp)(r);if(!n)return e;if(1===e.length&&"extent"===e[0]?.type){const t=e[0].clone().normalizeAsSingleGeometry(n);return["xmin"in t?t:new o.A(t)]}const[l,c]=n.valid;let p=!1;for(const t of e){if(!t)continue;if("point"===t.type){p||=t.x>=c,p||=t.x<=l;continue}const{extent:e}=t;if(null==e){p=!0;break}p||=e.xmin>=c,p||=e.xmin<=l,p||=e.xmax>=c,p||=e.xmax<=l}if(!p)return e;const[{foldInto360Range:f},g]=await(0,s.qr)(Promise.all([u.getImportPromise(),h.getImportPromise()]),i),y=g.fromSpatialReference(r);return e.map(e=>{if(null==e||"mesh"===e.type)return e;const t=g.fromGeometry(e),i=g.toGeometry(f(t,y),r);return"extent"===e.type&&1===i?.rings.length?i.extent:i})}const u=(0,n.z)(()=>i.e(4144).then(()=>i(4144)).then(e=>e.load().then(()=>e))),h=(0,n.z)(()=>Promise.all([i.e(9187),i.e(8885),i.e(9117),i.e(3299),i.e(1550)]).then(()=>i(78125)));function p(e,t,i){const r=(0,a.Vp)(i);if(null==r)return e;const[n,s]=r.valid,o=2*s;let l=0,c=0;t>s?l=Math.ceil(Math.abs(t-s)/o):t<n&&(l=-Math.ceil(Math.abs(t-n)/o)),e>s?c=Math.ceil(Math.abs(e-s)/o):e<n&&(c=-Math.ceil(Math.abs(e-n)/o));let u=e+(l-c)*o;const h=u-t;return h>s?u-=o:h<n&&(u+=o),u}function f(e){const t=(0,a.Vp)(e);if(null==t)return null;const[i,n]=t.valid;return new r.hr(i,n)}const g=f(l.A.WGS84);f(l.A.WebMercator),i.d(t,["Y_",0,g])},80754(e,t,i){i.d(t,{kS:()=>c,kd:()=>a});var r=i(82799),n=i(16930),s=i(60408),o=i(52006);const l={102100:{maxX:20037508.342788905,minX:-20037508.342788905,plus180Line:new r.A({paths:[[[20037508.342788905,-20037508.342788905],[20037508.342788905,20037508.342788905]]],spatialReference:n.A.WebMercator}),minus180Line:new r.A({paths:[[[-20037508.342788905,-20037508.342788905],[-20037508.342788905,20037508.342788905]]],spatialReference:n.A.WebMercator})},4326:{maxX:180,minX:-180,plus180Line:new r.A({paths:[[[180,-180],[180,180]]],spatialReference:n.A.WGS84}),minus180Line:new r.A({paths:[[[-180,-180],[-180,180]]],spatialReference:n.A.WGS84})}};function a(e,t){return Math.ceil((e-t)/(2*t))}function c(e,t){if((0,o.Ed)(e))for(const i of function(e){return(0,s.Bi)(e)?e.curveRings:e.curvePaths}(e))for(const e of i){if((0,o.aO)(e)){const[i,r]=e.c;i[0]+=t,r[0]+=t;continue}if((0,o.FG)(e)){const[i,r]=e.a;i[0]+=t,r[0]+=t;continue}if((0,o.n1)(e)){const[i,r,n]=e.b;i[0]+=t,r[0]+=t,n[0]+=t;continue}e[0]+=t}for(const i of function(e){return(0,s.Bi)(e)?e.rings:e.paths}(e))for(const e of i)e[0]+=t;return e}i.d(t,["j7",0,l])},55156(e,t,i){i.d(t,{I:()=>n});const r=Symbol("idFieldsProviderSymbol");function n(e){return(t=e)&&r in t?e[r]:void 0;var t}i.d(t,["e",0,r])},71756(e,t,i){i.r(t);var r,n=i(32198),s=i(56507),o=i(49186),l=i(81583),a=i(25728),c=i(17676),u=i(84952),h=i(91429),p=i(16930),f=i(4146),g=i(52136),y=i(89186),m=i(98534),d=i(18768),v=i(63074),w=i(69208),b=i(34287),M=i(8303),_=i(54310),A=i(25036),C=i(91921),x=i(60694),S=i(10873),T=i(33446),O=i(15775),R=i(88625),z=i(36005),L=i(43937);const Z=["Canvas/World_Dark_Gray_Base","Canvas/World_Dark_Gray_Reference","Canvas/World_Light_Gray_Base","Canvas/World_Light_Gray_Reference","Elevation/World_Hillshade","Elevation/World_Hillshade_Dark","Ocean/World_Ocean_Base","Ocean/World_Ocean_Reference","Ocean_Basemap","Reference/World_Boundaries_and_Places","Reference/World_Boundaries_and_Places_Alternate","Reference/World_Transportation","World_Imagery","World_Street_Map","World_Topo_Map"];let I=r=class extends((0,v.dM)((0,A.j)((0,C.I)((0,y.f)((0,m.V)((0,b.q)((0,M.A)((0,d.b)((0,a.M)((0,_.J)((0,g.p)((0,w.d)(f.A))))))))))))){constructor(...e){super(...e),this.listMode="show",this.elevationInfo=new R.A({mode:"on-the-ground"}),this.isReference=null,this.operationalLayerType="ArcGISTiledMapServiceLayer",this.resampling=!0,this.sourceJSON=null,this.spatialReference=null,this.path=null,this.sublayers=null,this.type="tile",this.url=null}normalizeCtorArgs(e,t){return"string"==typeof e?{url:e,...t}:e}load(e){const t=null!=e?e.signal:null;return this.addResolvingPromise(this.loadFromPortal({supportedTypes:["Map Service"]},e).catch(c.QP).then(()=>this._fetchService(t))),Promise.resolve(this)}get attributionDataUrl(){const e=this.parsedUrl?.path.toLowerCase();return e?this._getDefaultAttribution(this._getMapName(e)):null}get hasAttributionData(){return super.hasAttributionData}readSpatialReference(e,t){return(e=e||t.tileInfo?.spatialReference)&&p.A.fromJSON(e)}writeSublayers(e,t,i,r){if(!this.loaded||!e)return;const n=e.slice().reverse().flatten(({sublayers:e})=>e&&e.toArray().reverse()).toArray(),s=[],o={writeSublayerStructure:!1,...r};n.forEach(e=>{const t=e.write({},o);s.push(t)}),s.some(e=>Object.keys(e).length>1)&&(t.layers=s)}get tileServers(){return this._getDefaultTileServers(this.parsedUrl?.path)}castTileServers(e){return Array.isArray(e)?e.map(e=>(0,u.An)(e).path):null}fetchTile(e,t,i,r={}){const{signal:n}=r,o=this.getTileUrl(e,t,i),l={responseType:"image",signal:n,query:{...this.refreshParameters}};return(0,s.A)(o,l).then(e=>e.data)}async fetchImageBitmapTile(e,t,i,n={}){const{signal:o}=n;if(this.fetchTile!==r.prototype.fetchTile){const r=await this.fetchTile(e,t,i,n);return(0,T.Cp)(r,e,t,i,n)}const l=this.getTileUrl(e,t,i),a={responseType:"blob",signal:o,query:{...this.refreshParameters}},{data:c}=await(0,s.A)(l,a);return(0,T.Cp)(c,e,t,i,n)}getTileUrl(e,t,i){const r=!this.capabilities.operations.supportsTileMap&&this.supportsBlankTile,n=(0,u.x0)({...this.parsedUrl?.query,blankTile:!r&&null,...this.customParameters,token:this.apiKey}),s=this.tileServers;return`${s&&s.length?s[t%s.length]:this.parsedUrl?.path}/tile/${e}/${t}/${i}${n?"?"+n:""}`}loadAll(){return(0,l.g)(this,e=>{e(this.allSublayers)})}_fetchService(e){return new Promise((t,i)=>{if(this.sourceJSON){if(null!=this.sourceJSON.bandCount&&null!=this.sourceJSON.pixelSizeX)throw new o.A("tile-layer:unsupported-url","use ImageryTileLayer to open a tiled image service");return void t({data:this.sourceJSON})}if(!this.parsedUrl)throw new o.A("tile-layer:undefined-url","layer's url is not defined");const r=(0,x.qg)(this.parsedUrl.path);if(null!=r&&"ImageServer"===r.serverType)throw new o.A("tile-layer:unsupported-url","use ImageryTileLayer to open a tiled image service");(0,s.A)(this.parsedUrl.path,{query:{f:"json",...this.parsedUrl.query,...this.customParameters,token:this.apiKey},responseType:"json",signal:e}).then(t,i)}).then(t=>{let i=this.url;if(t.ssl&&(i=this.url=i.replace(/^http:/i,"https:")),this.sourceJSON=t.data,this.read(t.data,{origin:"service",url:this.parsedUrl}),10.1===this.version&&!(0,x.Wo)(i))return this._fetchServerVersion(i,e).then(e=>{this.read({currentVersion:e})}).catch(()=>{})})}_fetchServerVersion(e,t){if(!(0,x.Fi)(e))return Promise.reject();const i=e.replace(/(.*\/rest)\/.*/i,"$1")+"/info";return(0,s.A)(i,{query:{f:"json",...this.customParameters,token:this.apiKey},responseType:"json",signal:t}).then(e=>{if(e.data?.currentVersion)return e.data.currentVersion;throw new o.A("tile-layer:version-not-available","Server did not provide a version")})}_getMapName(e){const t=e.match(/^(?:https?:)?\/\/(server\.arcgisonline\.com|services\.arcgisonline\.com|ibasemaps-api\.arcgis\.com)\/arcgis\/rest\/services\/([^/]+(\/[^/]+)*)\/mapserver/i);return t?t[2]:void 0}_getDefaultAttribution(e){if(null==e)return null;let t;e=e.toLowerCase();for(let i=0,r=Z.length;i<r;i++)if(t=Z[i],t.toLowerCase().includes(e))return(0,u.s2)("//static.arcgis.com/attribution/"+t);return null}_getDefaultTileServers(e){if(null==e)return[];const t=-1!==e.search(/^(?:https?:)?\/\/server\.arcgisonline\.com/i),i=-1!==e.search(/^(?:https?:)?\/\/services\.arcgisonline\.com/i);return t||i?[e,e.replace(t?/server\.arcgisonline/i:/services\.arcgisonline/i,t?"services.arcgisonline":"server.arcgisonline")]:[]}get hasOverriddenFetchTile(){return!this.fetchTile[G]}};(0,n.Cg)([(0,h.MZ)({readOnly:!0})],I.prototype,"attributionDataUrl",null),(0,n.Cg)([(0,h.MZ)({type:["show","hide","hide-children"]})],I.prototype,"listMode",void 0),(0,n.Cg)([(0,h.MZ)({json:{read:!0,write:!0}})],I.prototype,"blendMode",void 0),(0,n.Cg)([(0,h.MZ)()],I.prototype,"elevationInfo",void 0),(0,n.Cg)([(0,h.MZ)({type:Boolean,json:{read:!1,write:{enabled:!0,overridePolicy:()=>({enabled:!1})}}})],I.prototype,"isReference",void 0),(0,n.Cg)([(0,h.MZ)({readOnly:!0,type:["ArcGISTiledMapServiceLayer"]})],I.prototype,"operationalLayerType",void 0),(0,n.Cg)([(0,h.MZ)({type:Boolean})],I.prototype,"resampling",void 0),(0,n.Cg)([(0,h.MZ)()],I.prototype,"sourceJSON",void 0),(0,n.Cg)([(0,h.MZ)({type:p.A})],I.prototype,"spatialReference",void 0),(0,n.Cg)([(0,z.w)("spatialReference",["spatialReference","tileInfo"])],I.prototype,"readSpatialReference",null),(0,n.Cg)([(0,h.MZ)({type:String,json:{origins:{"web-scene":{read:!0,write:!0}},read:!1}})],I.prototype,"path",void 0),(0,n.Cg)([(0,h.MZ)({readOnly:!0})],I.prototype,"sublayers",void 0),(0,n.Cg)([(0,L.K)("sublayers",{layers:{type:[O.A]}})],I.prototype,"writeSublayers",null),(0,n.Cg)([(0,h.MZ)({json:{read:!1,write:!1}})],I.prototype,"popupEnabled",void 0),(0,n.Cg)([(0,h.MZ)()],I.prototype,"tileServers",null),(0,n.Cg)([(0,h.wg)("tileServers")],I.prototype,"castTileServers",null),(0,n.Cg)([(0,h.MZ)({readOnly:!0,json:{read:!1}})],I.prototype,"type",void 0),(0,n.Cg)([(0,h.MZ)(S.OZ)],I.prototype,"url",void 0),I=r=(0,n.Cg)([(0,h.$K)("esri.layers.TileLayer")],I);const G=Symbol("default-fetch-tile");I.prototype.fetchTile[G]=!0;const D=I;i.d(t,["default",0,D])},89186(e,t,i){var r=i(32198),n=i(91429),s=i(16930),o=i(87045),l=i(65509),a=i(25943),c=i(36005);i.d(t,["f",0,e=>{const t=e;let i=class extends t{constructor(){super(...arguments),this.copyright=null,this.minScale=0,this.maxScale=0,this.spatialReference=null,this.tileInfo=null,this.tilemapCache=null}destroy(){this.tilemapCache?.destroy?.()}readMinScale(e,t){return null!=t.minLOD&&null!=t.maxLOD?e:0}readMaxScale(e,t){return null!=t.minLOD&&null!=t.maxLOD?e:0}get supportsBlankTile(){return this.version>=10.2}readTilemapCache(e,t,i){const r=t.capabilities?.toLowerCase().includes("tilemap");let{minLOD:n,maxLOD:s,minScale:c,maxScale:u}=t;if(null==n&&null==s&&(0!==c||0!==u)){const e=e=>Math.round(1e4*e)/1e4;c=e(c||t.tileInfo.lods[0].scale),u=e(u||t.tileInfo.lods[t.tileInfo.lods.length-1].scale);for(const i of t.tileInfo.lods){const t=e(i.scale);n=t>=c?i.level:n,s=t>=u?i.level:s}}if(r)return new a.d({layer:this,minLOD:n,maxLOD:s});if(t.tileInfo){const e=new o.A;return e.read(t.tileInfo,i),new l.A(e,n,s)}return null}};return(0,r.Cg)([(0,n.MZ)({json:{read:{source:"copyrightText"}}})],i.prototype,"copyright",void 0),(0,r.Cg)([(0,n.MZ)()],i.prototype,"minScale",void 0),(0,r.Cg)([(0,c.w)("service","minScale")],i.prototype,"readMinScale",null),(0,r.Cg)([(0,n.MZ)()],i.prototype,"maxScale",void 0),(0,r.Cg)([(0,c.w)("service","maxScale")],i.prototype,"readMaxScale",null),(0,r.Cg)([(0,n.MZ)({type:s.A})],i.prototype,"spatialReference",void 0),(0,r.Cg)([(0,n.MZ)({readOnly:!0})],i.prototype,"supportsBlankTile",null),(0,r.Cg)([(0,n.MZ)({type:o.A})],i.prototype,"tileInfo",void 0),(0,r.Cg)([(0,n.MZ)()],i.prototype,"tilemapCache",void 0),(0,r.Cg)([(0,c.w)("service","tilemapCache",["capabilities","tileInfo"])],i.prototype,"readTilemapCache",null),(0,r.Cg)([(0,n.MZ)()],i.prototype,"version",void 0),i=(0,r.Cg)([(0,n.$K)("esri.layers.mixins.ArcGISCachedService")],i),i}])},91806(e,t,i){i.d(t,{A:()=>a});var r,n=i(32198),s=i(25482),o=i(91429),l=i(78888);let a=class extends s.o{static{r=this}constructor(e){super(e),this.cols=null,this.level=0,this.levelValue=null,this.origin=null,this.resolution=0,this.rows=null,this.scale=0}clone(){return new r({cols:this.cols,level:this.level,levelValue:this.levelValue,resolution:this.resolution,rows:this.rows,scale:this.scale})}};(0,n.Cg)([(0,o.MZ)({json:{write:!0,origins:{"web-document":{read:!1,write:!1},"portal-item":{read:!1,write:!1}}}})],a.prototype,"cols",void 0),(0,n.Cg)([(0,o.MZ)({type:l.jz,json:{write:!0}})],a.prototype,"level",void 0),(0,n.Cg)([(0,o.MZ)({type:String,json:{write:!0}})],a.prototype,"levelValue",void 0),(0,n.Cg)([(0,o.MZ)({json:{write:!0,origins:{"web-document":{read:!1,write:!1},"portal-item":{read:!1,write:!1}}}})],a.prototype,"origin",void 0),(0,n.Cg)([(0,o.MZ)({type:Number,json:{write:!0}})],a.prototype,"resolution",void 0),(0,n.Cg)([(0,o.MZ)({json:{write:!0,origins:{"web-document":{read:!1,write:!1},"portal-item":{read:!1,write:!1}}}})],a.prototype,"rows",void 0),(0,n.Cg)([(0,o.MZ)({type:Number,json:{write:!0}})],a.prototype,"scale",void 0),a=r=(0,n.Cg)([(0,o.$K)("esri.layers.support.LOD")],a)},87045(e,t,i){i.d(t,{A:()=>w});var r,n=i(32198),s=i(66552),o=i(25482),l=i(86211),a=i(91429),c=i(78888),u=i(86738),h=i(16930),p=i(21325),f=i(28735),g=i(91806),y=i(72802),m=i(36005),d=i(43937);const v=new s.J({PNG:"png",PNG8:"png8",PNG24:"png24",PNG32:"png32",JPEG:"jpg",JPG:"jpg",DIB:"dib",TIFF:"tiff",EMF:"emf",PS:"ps",PDF:"pdf",GIF:"gif",SVG:"svg",SVGZ:"svgz",Mixed:"mixed",MIXED:"mixed",LERC:"lerc",LERC2D:"lerc2d",RAW:"raw",pbf:"pbf"});let w=class extends o.o{static{r=this}static create(e={}){const{resolutionFactor:t=1,scales:i,size:n=256,spatialReference:s=h.A.WebMercator,numLODs:o=24}=e;if(!(0,p.fn)(s)){const e=[];if(i)for(let t=0;t<i.length;t++){const r=i[t];e.push(new g.A({level:t,scale:r,resolution:r}))}else{let t=5e-4;for(let i=o-1;i>=0;i--)e.unshift(new g.A({level:i,scale:t,resolution:t})),t*=2}return new r({dpi:96,lods:e,origin:new u.A(0,0,s),size:[n,n],spatialReference:s})}const a=(0,p.Vp)(s),c=e.origin?new u.A({x:e.origin.x,y:e.origin.y,spatialReference:s}):new u.A(a?{x:a.origin[0],y:a.origin[1],spatialReference:s}:{x:0,y:0,spatialReference:s}),f=1/(39.37*(0,l.GA)(s)*96),y=[];if(i)for(let e=0;e<i.length;e++){const t=i[e],r=t*f;y.push(new g.A({level:e,scale:t,resolution:r}))}else{let e=(0,p.EA)(s)?512/n*591657527.5917094:256/n*591657527.591555;const i=Math.ceil(o/t);y.push(new g.A({level:0,scale:e,resolution:e*f}));for(let r=1;r<i;r++){const i=e/2**t,n=i*f;y.push(new g.A({level:r,scale:i,resolution:n})),e=i}}return new r({dpi:96,lods:y,origin:c,size:[n,n],spatialReference:s})}constructor(e){super(e),this.dpi=96,this.format=null,this.origin=null,this.size=null,this.spatialReference=null}get isWrappable(){const{spatialReference:e,origin:t}=this;if(e&&t){const i=(0,p.Vp)(e);return e.isWrappable&&!!i&&Math.abs(i.origin[0]-t.x)<=i.dx}return!1}readOrigin(e,t){return u.A.fromJSON({spatialReference:t.spatialReference,...e})}set lods(e){let t=0,i=0;const r=[],n=this._levelToLOD={};e&&(t=-1/0,i=1/0,e.forEach(e=>{r.push(e.scale),t=e.scale>t?e.scale:t,i=e.scale<i?e.scale:i,n[e.level]=e})),this._set("scales",r),this._set("lods",e),this._initializeUpsampleLevels()}readSize(e,t){return[t.cols,t.rows]}writeSize(e,t){t.cols=e[0],t.rows=e[1]}zoomToScale(e){const t=this.scales;if(e<=0)return t[0];if(e>=t.length-1)return t[t.length-1];const i=Math.floor(e),r=i+1;return t[i]/(t[i]/t[r])**(e-i)}scaleToZoom(e){const t=this.scales,i=t.length-1;let r=0;for(;r<i;r++){const i=t[r],n=t[r+1];if(i<=e)return r;if(n===e)return r+1;if(i>e&&n<e)return r+Math.log(i/e)/Math.log(i/n)}return r}tileAt(e,t,i,r){const n=this.lodAt(e);if(!n)return null;let s,o;if("number"==typeof t)s=t,o=i;else if((0,p.aI)(t.spatialReference,this.spatialReference))s=t.x,o=t.y,r=i;else{const e=(0,f.Cv)(t,this.spatialReference);if(null==e)return null;s=e.x,o=e.y,r=i}const l=n.resolution*this.size[0],a=n.resolution*this.size[1];return r??=new y.U(0,0,0),r.level=e,r.row=Math.floor((this.origin.y-o)/a+.001),r.col=Math.floor((s-this.origin.x)/l+.001),this.updateTileInfo(r),r}updateTileInfo(e,t=0){if(!("extent"in e))return!1;let i=this.lodAt(e.level);if(!i&&1===t){const t=this.lods[this.lods.length-1];t.level<e.level&&(i=t)}if(!i)return!1;const r=e.level-i.level,n=i.resolution*this.size[0]/2**r,s=i.resolution*this.size[1]/2**r;return e.extent[0]=this.origin.x+e.col*n,e.extent[1]=this.origin.y-(e.row+1)*s,e.extent[2]=e.extent[0]+n,e.extent[3]=e.extent[1]+s,!0}upsampleTile(e){const t=this._upsampleLevels[e.level];return!(!t||-1===t.parentLevel||(e.level=t.parentLevel,e.row=Math.floor(e.row/t.factor+.001),e.col=Math.floor(e.col/t.factor+.001),this.updateTileInfo(e),0))}getTileBounds(e,t){const i=this.lodAt(t.level);if(null==i)return null;const{resolution:r}=i,n=r*this.size[0],s=r*this.size[1];return e[0]=this.origin.x+t.col*n,e[1]=this.origin.y-(t.row+1)*s,e[2]=e[0]+n,e[3]=e[1]+s,e}lodAt(e){return this._levelToLOD?.[e]??null}clone(){return r.fromJSON(this.write({}))}getCompatibleForVTL(e){if(this.size[0]!==this.size[1]||256===this.size[0]&&512===e)return null;const t=(512===this.size[0]&&256===e?-1:0)+(this.spatialReference.isGeographic?1:0);if(this.size[0]===e&&0===t)return this;const i=[],n=this.lods.length-t;for(let e=0;e<n;e++){const r=e+t,{scale:n,resolution:s}=r>=0?this.lods[r]:{scale:2*this.lods[0].scale,resolution:2*this.lods[0].resolution};i.push(new g.A({level:e,scale:n,resolution:s}))}return new r({size:[e,e],dpi:this.dpi,format:this.format,compressionQuality:this.compressionQuality,origin:this.origin,spatialReference:this.spatialReference,lods:i})}_initializeUpsampleLevels(){const e=this.lods;this._upsampleLevels=[];let t=null;for(let i=0;i<e.length;i++){const r=e[i];this._upsampleLevels[r.level]={parentLevel:t?t.level:-1,factor:t?t.resolution/r.resolution:0},t=r}}};(0,n.Cg)([(0,a.MZ)({type:Number,json:{write:!0}})],w.prototype,"compressionQuality",void 0),(0,n.Cg)([(0,a.MZ)({type:Number,json:{write:!0}})],w.prototype,"dpi",void 0),(0,n.Cg)([(0,a.MZ)({type:String,json:{read:v.read,write:v.write,origins:{"web-scene":{read:!1,write:!1}}}})],w.prototype,"format",void 0),(0,n.Cg)([(0,a.MZ)({readOnly:!0})],w.prototype,"isWrappable",null),(0,n.Cg)([(0,a.MZ)({type:u.A,json:{write:!0}})],w.prototype,"origin",void 0),(0,n.Cg)([(0,m.w)("origin")],w.prototype,"readOrigin",null),(0,n.Cg)([(0,a.MZ)({type:[g.A],value:null,json:{write:!0}})],w.prototype,"lods",null),(0,n.Cg)([(0,a.MZ)({readOnly:!0})],w.prototype,"scales",void 0),(0,n.Cg)([(0,a.MZ)({cast:e=>Array.isArray(e)?e:"number"==typeof e?[e,e]:[256,256]})],w.prototype,"size",void 0),(0,n.Cg)([(0,m.w)("size",["rows","cols"])],w.prototype,"readSize",null),(0,n.Cg)([(0,d.K)("size",{cols:{type:c.jz},rows:{type:c.jz}})],w.prototype,"writeSize",null),(0,n.Cg)([(0,a.MZ)({type:h.A,json:{write:!0}})],w.prototype,"spatialReference",void 0),w=r=(0,n.Cg)([(0,a.$K)("esri.layers.support.TileInfo")],w)},65509(e,t,i){i.d(t,{A:()=>s});var r=i(49186),n=i(17676);class s{constructor(e,t=0,i=e.lods[e.lods.length-1].level){this.tileInfo=e,this.minLOD=t,this.maxLOD=i,e.lodAt(t)||(this.minLOD=e.lods[0].level),e.lodAt(i)||(this.maxLOD=e.lods[e.lods.length-1].level)}get effectiveMinLOD(){return this.minLOD??this.tileInfo.lods[0].level}get effectiveMaxLOD(){return this.maxLOD??this.tileInfo.lods[this.tileInfo.lods.length-1].level}getAvailability(e,t,i){const r=this.tileInfo?.lodAt(e);return!r||e<this.minLOD||e>this.maxLOD?"unavailable":r.cols&&r.rows?i>=r.cols[0]&&i<=r.cols[1]&&t>=r.rows[0]&&t<=r.rows[1]?"unknown":"unavailable":"unknown"}async fetchAvailability(e,t,i,s){await(0,n.NO)(s);const o=this.getAvailability(e,t,i);if("unavailable"===o)throw new r.A("tile-map:tile-unavailable","Tile is not available",{level:e,row:t,col:i});return o}async fetchAvailabilityUpsample(e,t,i,r,s){await(0,n.NO)(s),r.level=e,r.row=t,r.col=i;const o=this.tileInfo;return o.updateTileInfo(r),this.fetchAvailability(e,t,i,s).catch(e=>{if((0,n.zf)(e))throw e;if(o.upsampleTile(r))return this.fetchAvailabilityUpsample(r.level,r.row,r.col,r,s);throw e})}}},72802(e,t,i){i.d(t,{U:()=>n});var r=i(19419);class n{constructor(e,t,i,n=(0,r.vt)()){this._level=e,this._row=t,this._col=i,this.extent=n}get id(){return this._id??=`${this.level}/${this.row}/${this.col}`,this._id}get level(){return this._level}set level(e){this._level=e,this._id=null}get row(){return this._row}set row(e){this._row=e,this._id=null}get col(){return this._col}set col(e){this._col=e,this._id=null}toJSON(){return{level:this._level,row:this._row,col:this._col,extent:this.extent}}static fromJSON(e){return new n(e.level,e.row,e.col,e.extent)}}},25943(e,t,i){i.d(t,{d:()=>_});var r,n=i(32198),s=i(56507),o=i(69622),l=i(49186),a=i(36563),c=(i(44208),i(66344)),u=i(15142),h=i(17676),p=i(36708),f=i(76030),g=i(84952),y=i(91429),m=i(72802),d=i(4718),v=i(69397);class w{constructor(e){!function(e){if(!e?.location)throw new l.A("tilemap:missing-location","Location missing from tilemap response");if(!1===e.valid)throw new l.A("tilemap:invalid","Tilemap response was marked as invalid");if(!e.data)throw new l.A("tilemap:missing-data","Data missing from tilemap response");if(!Array.isArray(e.data))throw new l.A("tilemap:data-mismatch","Data must be an array of numbers");if(e.data.length!==e.location.width*e.location.height)throw new l.A("tilemap:data-mismatch","Number of data items does not match width/height of tilemap")}(e);const{location:t,data:i}=e;this.location=Object.freeze((0,d.o8)(t));const r=this.location.width,n=this.location.height;let s=!0,o=!0;const a=function(e,t=!1){return e<=1024?t?new Array(e).fill(0):new Array(e):new Uint32Array(e)}(Math.ceil(r*n/32));let c=0;for(let e=0;e<i.length;e++){const t=e%32;i[e]?(o=!1,a[c]|=1<<t):s=!1,31===t&&++c}o?(this._availability="unavailable",this.byteSize=40):s?(this._availability="available",this.byteSize=40):(this._availability=a,this.byteSize=40+(0,v.Qf)(a))}getAvailability(e,t){if("unavailable"===this._availability||"available"===this._availability)return this._availability;const i=(e-this.location.top)*this.location.width+(t-this.location.left),r=i%32,n=i>>5,s=this._availability;return n<0||n>s.length?"unknown":s[n]&1<<r?"available":"unavailable"}static fromDefinition(e,t){const i=e.service.request||s.A,{row:r,col:n,width:o,height:a}=e,c={query:{f:"json"}};return t=t?{...c,...t}:c,i(function(e){let t;if(e.service.tileServers?.length){const i=e.service.tileServers;t=`${i&&i.length?i[e.row%i.length]:e.service.url}/tilemap/${e.level}/${e.row}/${e.col}/${e.width}/${e.height}`}else t=`${e.service.url}/tilemap/${e.level}/${e.row}/${e.col}/${e.width}/${e.height}`;const i=e.service.query;return i&&(t=`${t}?${i}`),t}(e),t).then(e=>e.data).catch(e=>{if(422===e?.details?.httpStatus)return{location:{top:r,left:n,width:o,height:a},valid:!0,data:new Array(o*a).fill(0)};throw e}).then(e=>{if(e.location&&(e.location.top!==r||e.location.left!==n||e.location.width!==o||e.location.height!==a))throw new l.A("tilemap:location-mismatch","Tilemap response for different location than requested",{response:e,definition:{top:r,left:n,width:o,height:a}});return w.fromJSON(e)})}static fromJSON(e){return Object.freeze(new w(e))}}function b(e){return`${e.level}/${e.row}/${e.col}/${e.width}/${e.height}`}function M(e,t,i){return new l.A("tile-map:tile-unavailable","Tile is not available",{level:e,row:t,col:i})}let _=class extends o.A{static{r=this}constructor(e){super(e),this._pendingTilemapRequests={},this.request=s.A,this.size=32,this._prefetchingEnabled=!0}initialize(){this._tilemapCache=new c.q(2097152),this.addHandles((0,p.wB)(()=>{const{layer:e}=this;return[e?.parsedUrl,e?.tileServers,e?.apiKey,e?.customParameters]},()=>this._initializeTilemapDefinition(),p.Vh))}get effectiveMinLOD(){return this.minLOD??this.layer.tileInfo.lods[0].level}get effectiveMaxLOD(){return this.maxLOD??this.layer.tileInfo.lods[this.layer.tileInfo.lods.length-1].level}getAvailability(e,t,i){if(!this.layer.tileInfo.lodAt(e)||e<this.effectiveMinLOD||e>this.effectiveMaxLOD)return"unavailable";const r=this._tilemapFromCache(e,t,i,this._tmpTilemapDefinition);return r?r.getAvailability(t,i):"unknown"}fetchAvailability(e,t,i,r){return!this.layer.tileInfo.lodAt(e)||e<this.effectiveMinLOD||e>this.effectiveMaxLOD?Promise.reject(M(e,t,i)):this._fetchTilemap(e,t,i,r).catch(e=>e).then(r=>{if(r instanceof w){const n=r.getAvailability(t,i);if("unavailable"===n)throw M(e,t,i);return n}if((0,h.zf)(r))throw r;return"unknown"})}fetchAvailabilityUpsample(e,t,i,r,n){r.level=e,r.row=t,r.col=i;const s=this.layer.tileInfo;s.updateTileInfo(r);const o=this.fetchAvailability(e,t,i,n).catch(e=>{if((0,h.zf)(e))throw e;if(s.upsampleTile(r))return this.fetchAvailabilityUpsample(r.level,r.row,r.col,r,n);throw e});return this._fetchAvailabilityUpsamplePrefetch(e,t,i,n,o),o}async _fetchAvailabilityUpsamplePrefetch(e,t,i,n,s){if(!this._prefetchingEnabled)return;const o=`prefetch-${e}-${t}-${i}`;if(this.hasHandles(o))return;const l=new AbortController;s.then(()=>l.abort(),()=>l.abort());let c=!1;const u=(0,a.hA)(()=>{c||(c=!0,l.abort())});if(this.addHandles(u,o),await(0,f.md)(10,l.signal).catch(()=>{}),c||(c=!0,this.removeHandles(o)),(0,h.G4)(l))return;const p=new m.U(e,t,i),g={...n,signal:l.signal},y=this.layer.tileInfo;for(let e=0;r._prefetches.length<r._maxPrefetch&&y.upsampleTile(p);++e){const e=this.fetchAvailability(p.level,p.row,p.col,g);r._prefetches.push(e);const t=()=>{r._prefetches.removeUnordered(e)};e.then(t,t)}}static{this._maxPrefetch=4}static{this._prefetches=new u.A({initialSize:r._maxPrefetch})}static cleanupTilemapCache(){this._prefetches.prune()}_fetchTilemap(e,t,i,r){if(!this.layer.tileInfo.lodAt(e)||e<this.effectiveMinLOD||e>this.effectiveMaxLOD)return Promise.reject(new l.A("tilemap-cache:level-unavailable",`Level ${e} is unavailable in the service`));const n=this._tmpTilemapDefinition,s=this._tilemapFromCache(e,t,i,n);if(s)return Promise.resolve(s);const o=r?.signal;return r={...r,signal:null},new Promise((e,t)=>{(0,h.u7)(o,()=>t((0,h.NK)()));const i=b(n);let s=this._pendingTilemapRequests[i];if(!s){s=w.fromDefinition(n,r).then(e=>(this._tilemapCache.put(i,e,e.byteSize),e));const e=()=>{delete this._pendingTilemapRequests[i]};this._pendingTilemapRequests[i]=s,s.then(e,e)}s.then(e,t)})}_initializeTilemapDefinition(){if(!this.layer.parsedUrl)return;const{parsedUrl:e,apiKey:t,customParameters:i}=this.layer;this._tilemapCache.clear(),this._tmpTilemapDefinition={service:{url:e.path,query:(0,g.x0)({...e.query,...i,token:t??e.query?.token}),tileServers:this.layer.tileServers,request:this.request},width:this.size,height:this.size,level:0,row:0,col:0}}_tilemapFromCache(e,t,i,r){r.level=e,r.row=t-t%this.size,r.col=i-i%this.size;const n=b(r);return this._tilemapCache.get(n)}get test(){}};(0,n.Cg)([(0,y.MZ)({constructOnly:!0})],_.prototype,"layer",void 0),(0,n.Cg)([(0,y.MZ)({constructOnly:!0})],_.prototype,"minLOD",void 0),(0,n.Cg)([(0,y.MZ)({constructOnly:!0})],_.prototype,"maxLOD",void 0),(0,n.Cg)([(0,y.MZ)({constructOnly:!0})],_.prototype,"request",void 0),(0,n.Cg)([(0,y.MZ)({constructOnly:!0})],_.prototype,"size",void 0),_=r=(0,n.Cg)([(0,y.$K)("esri.layers.support.TilemapCache")],_)},98205(e,t,i){i.d(t,{KZ:()=>l,eh:()=>o,gf:()=>s,of:()=>n});const r=Symbol("SizeVariableInstance");function n(e){return null!=e&&"object"==typeof e&&r in e}function s(e){return null!=e&&!isNaN(e)&&isFinite(e)}function o(e){return e.valueExpression?"expression":e.field&&"string"==typeof e.field?"field":"unknown"}function l(e,t){const i=t||o(e),r=e.valueUnit||"unknown";return"unknown"===i?"constant":e.stops?"stops":null!=e.minSize&&null!=e.maxSize&&null!=e.minDataValue&&null!=e.maxDataValue?"clamped-linear":"unknown"===r?null!=e.minSize&&null!=e.minDataValue?e.minSize&&e.minDataValue?"proportional":"additive":"identity":"real-world-size"}i.d(t,["uY",0,r])},22671(e,t,i){i.d(t,{A:()=>v});var r,n=i(32198),s=i(52106),o=i(66552),l=i(25482),a=i(4718),c=i(91429),u=i(16930),h=i(60408),p=i(65864),f=i(50498),g=i(20437),y=i(36005),m=i(43937);const d=new o.J({esriGeometryPoint:"point",esriGeometryMultipoint:"multipoint",esriGeometryPolyline:"polyline",esriGeometryPolygon:"polygon",esriGeometryEnvelope:"extent",mesh:"mesh","":null});let v=r=class extends l.o{constructor(e){super(e),this.displayFieldName=null,this.exceededTransferLimit=!1,this.features=[],this.fields=null,this.geometryType=null,this.hasM=!1,this.hasZ=!1,this.queryGeometry=null,this.spatialReference=null}readFeatures(e,t){return this.readFeaturesWithClass(e,t,s.A)}writeGeometryType(e,t,i,r){if(e)return void d.write(e,t,i,r);const{features:n}=this;if(n)for(const e of n)if(null!=e?.geometry)return void d.write(e.geometry.type,t,i,r)}readQueryGeometry(e,t){if(!e)return null;const i=!!e.spatialReference,r=(0,p.rS)(e);return r&&!i&&t.spatialReference&&(r.spatialReference=u.A.fromJSON(t.spatialReference)),r}writeSpatialReference(e,t){if(e)return void(t.spatialReference=e.toJSON());const{features:i}=this;if(i)for(const e of i)if(e&&null!=e.geometry&&e.geometry.spatialReference)return void(t.spatialReference=e.geometry.spatialReference.toJSON())}clone(){return new r(this.cloneProperties())}cloneProperties(){return(0,a.o8)({displayFieldName:this.displayFieldName,exceededTransferLimit:this.exceededTransferLimit,features:this.features,fields:this.fields,geometryType:this.geometryType,hasM:this.hasM,hasZ:this.hasZ,queryGeometry:this.queryGeometry,spatialReference:this.spatialReference,transform:this.transform})}toJSON(e){const t=this.write();if(t.features&&Array.isArray(e)&&e.length>0)for(let i=0;i<t.features.length;i++){const r=t.features[i];if(r.geometry){const t=e?.[i];r.geometry=t?.toJSON()||r.geometry}}return t}quantize(e){const{scale:[t,i],translate:[r,n]}=e,s=this.features,o=this._getQuantizationFunction(this.geometryType,e=>Math.round((e-r)/t),e=>Math.round((n-e)/i));for(let e=0,t=s.length;e<t;e++)o?.(s[e].geometry)||(s.splice(e,1),e--,t--);return this.transform=e,this}unquantize(){const{geometryType:e,features:t,transform:i}=this;if(!i)return this;const{translate:[r,n],scale:[s,o]}=i;let l=null,a=null;if(this.hasZ&&null!=i?.scale?.[2]){const{translate:[,,e],scale:[,,t]}=i;l=i=>i*t+e}if(this.hasM&&null!=i?.scale?.[3]){const{translate:[,,,e],scale:[,,,t]}=i;a=i=>null==i?i:i*t+e}const c=this._getHydrationFunction(e,e=>e*s+r,e=>n-e*o,l,a);for(const{geometry:e}of t)null!=e&&c&&c(e);return this.transform=null,this}readFeaturesWithClass(e,t,i){const r=u.A.fromJSON(t.spatialReference),n=[];for(let t=0;t<e.length;t++){const s=e[t],o=i.fromJSON(s),l=s.geometry?.spatialReference;null==o.geometry||l||(o.geometry.spatialReference=r);const a=s.aggregateGeometries,c=o.aggregateGeometries;if(a&&null!=c)for(const e in c){const t=c[e],i=a[e],n=i?.spatialReference;null==t||n||(t.spatialReference=r)}n.push(o)}return n}_quantizePoints(e,t,i){let r,n;const s=[];for(let o=0,l=e.length;o<l;o++){const l=e[o];if(o>0){const e=t(l[0]),o=i(l[1]);e===r&&o===n||(s.push([e-r,o-n]),r=e,n=o)}else r=t(l[0]),n=i(l[1]),s.push([r,n])}return s.length>0?s:null}_getQuantizationFunction(e,t,i){return"point"===e?e=>(e.x=t(e.x),e.y=i(e.y),e):"polyline"===e||"polygon"===e?e=>{const r=(0,h.Bi)(e)?e.rings:e.paths,n=[];for(let e=0,s=r.length;e<s;e++){const s=r[e],o=this._quantizePoints(s,t,i);o&&n.push(o)}return n.length>0?((0,h.Bi)(e)?e.rings=n:e.paths=n,e):null}:"multipoint"===e?e=>{const r=this._quantizePoints(e.points,t,i);return r&&r.length>0?(e.points=r,e):null}:"extent"===e?e=>e:null}_getHydrationFunction(e,t,i,r,n){return"point"===e?e=>{e.x=t(e.x),e.y=i(e.y),r&&(e.z=r(e.z))}:"polyline"===e||"polygon"===e?e=>{const s=(0,h.Bi)(e)?e.rings:e.paths;let o,l;for(let e=0,r=s.length;e<r;e++){const r=s[e];for(let e=0,n=r.length;e<n;e++){const n=r[e];e>0?(o+=n[0],l+=n[1]):(o=n[0],l=n[1]),n[0]=t(o),n[1]=i(l)}}if(r&&n)for(let e=0,t=s.length;e<t;e++){const t=s[e];for(let e=0,i=t.length;e<i;e++){const i=t[e];i[2]=r(i[2]),i[3]=n(i[3])}}else if(r)for(let e=0,t=s.length;e<t;e++){const t=s[e];for(let e=0,i=t.length;e<i;e++){const i=t[e];i[2]=r(i[2])}}else if(n)for(let e=0,t=s.length;e<t;e++){const t=s[e];for(let e=0,i=t.length;e<i;e++){const i=t[e];i[2]=n(i[2])}}}:"extent"===e?e=>{e.xmin=t(e.xmin),e.ymin=i(e.ymin),e.xmax=t(e.xmax),e.ymax=i(e.ymax),r&&null!=e.zmax&&null!=e.zmin&&(e.zmax=r(e.zmax),e.zmin=r(e.zmin)),n&&null!=e.mmax&&null!=e.mmin&&(e.mmax=n(e.mmax),e.mmin=n(e.mmin))}:"multipoint"===e?e=>{const s=e.points;let o,l;for(let e=0,r=s.length;e<r;e++){const r=s[e];e>0?(o+=r[0],l+=r[1]):(o=r[0],l=r[1]),r[0]=t(o),r[1]=i(l)}if(r&&n)for(let e=0,t=s.length;e<t;e++){const t=s[e];t[2]=r(t[2]),t[3]=n(t[3])}else if(r)for(let e=0,t=s.length;e<t;e++){const t=s[e];t[2]=r(t[2])}else if(n)for(let e=0,t=s.length;e<t;e++){const t=s[e];t[2]=n(t[2])}}:null}};(0,n.Cg)([(0,c.MZ)({type:String,json:{write:!0}})],v.prototype,"displayFieldName",void 0),(0,n.Cg)([(0,c.MZ)({type:Boolean,json:{write:{overridePolicy:e=>({enabled:e})}}})],v.prototype,"exceededTransferLimit",void 0),(0,n.Cg)([(0,c.MZ)({type:[s.A],json:{write:!0}})],v.prototype,"features",void 0),(0,n.Cg)([(0,y.w)("features")],v.prototype,"readFeatures",null),(0,n.Cg)([(0,c.MZ)({type:[g.A],json:{write:!0}})],v.prototype,"fields",void 0),(0,n.Cg)([(0,c.MZ)({type:["point","multipoint","polyline","polygon","extent","mesh"],json:{read:{reader:d.read}}})],v.prototype,"geometryType",void 0),(0,n.Cg)([(0,m.K)("geometryType")],v.prototype,"writeGeometryType",null),(0,n.Cg)([(0,c.MZ)({type:Boolean,json:{write:{overridePolicy:e=>({enabled:e})}}})],v.prototype,"hasM",void 0),(0,n.Cg)([(0,c.MZ)({type:Boolean,json:{write:{overridePolicy:e=>({enabled:e})}}})],v.prototype,"hasZ",void 0),(0,n.Cg)([(0,c.MZ)({types:f.yR,json:{write:!0}})],v.prototype,"queryGeometry",void 0),(0,n.Cg)([(0,y.w)("queryGeometry")],v.prototype,"readQueryGeometry",null),(0,n.Cg)([(0,c.MZ)({type:u.A,json:{write:!0}})],v.prototype,"spatialReference",void 0),(0,n.Cg)([(0,m.K)("spatialReference")],v.prototype,"writeSpatialReference",null),(0,n.Cg)([(0,c.MZ)({json:{write:!0}})],v.prototype,"transform",void 0),v=r=(0,n.Cg)([(0,c.$K)("esri.rest.support.FeatureSet")],v),v.prototype.toJSON.isDefaultToJSON=!0},2272(e,t,i){i.d(t,{Dl:()=>c,gf:()=>h,jV:()=>a,lF:()=>u});var r=i(92602),n=i(70333),s=i(4718),o=i(84952),l=i(926);function a(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,i){const r={};for(const n in e){if("declaredClass"===n)continue;const s=e[n];if(null!=s&&"function"!=typeof s)if(Array.isArray(s))r[n]=s.map(e=>u(e));else if("object"==typeof s)if(s.toJSON){const e=s.toJSON(i?.[n]);r[n]=t?e:JSON.stringify(e)}else r[n]=t?s:JSON.stringify(s);else r[n]=s}return r}async function h(e,t,s){const o=function(e,t){return e?t&&(0,l.Qc)(e)?t:(0,l.getApiKey)(e)??n.id?.findCredential(e)?.token:null}(e,t);if(o)return o;!n.id&&r.A.request.useIdentity&&await Promise.all([i.e(5620),i.e(8971),i.e(8837)]).then(()=>i(50148));const a=await n.id.getCredential(e,s);return a?.token}}}]);
1
+ "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[6200],{52106(e,t,i){i.d(t,{A:()=>C});var r,n,s=i(32198),o=i(37838),l=i(69540),a=i(51447),c=i(25482),u=i(53966),h=i(36708),p=i(24326),f=i(91429),g=i(12195),y=i(65864),m=i(50498),d=i(55156),v=i(60950),w=i(54339),b=i(94128),M=i(33910);const _=Symbol("meshGeometryHandles");function A(e){if(null==e)return null;const t={};for(const i in e){const r=e[i];r&&(t[i]=r.toJSON())}return 0!==Object.keys(t).length?t:null}let C=class extends((0,l.OU)(c.o)){static{r=b.Z}static{n=this}constructor(e){super(e),this[r]=!0,this.distance=null,this.isAggregate=!1,this.layer=null,this.origin=null,this.sourceLayer=null,this.statisticsAggregatedIds=void 0,this._version=0,Object.defineProperty(this,"uid",{value:(0,p.c)(),configurable:!0}),Object.defineProperty(this,"_lastMeshTransform",{value:{},configurable:!0,writable:!0,enumerable:!1}),arguments.length>1&&(0,a.eF)(u.A.getLogger(this),"Graphic",{version:"4.30"})}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),this._watchMeshGeometryChanges(),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,statisticsAggregatedIds:this.statisticsAggregatedIds,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=(0,v.E_)(this.origin);if(t)return t.popupTemplate??(e?t.defaultPopupTemplate:null)??null;const i=this.origin&&"layer"in this.origin?this.origin.layer:null;for(const t of[i,this.sourceLayer,this.layer])if(t&&"object"==typeof t){if("popupTemplate"in t&&t.popupTemplate)return t.popupTemplate;if(e&&"defaultPopupTemplate"in t&&null!=t.defaultPopupTemplate)return t.defaultPopupTemplate}return null}getAttribute(e){return this.attributes?.[e]}setAttribute(e,t){if(this.attributes){const i=this.getAttribute(e);this.attributes[e]=t,this._notifyLayer("attributes",i,t,e)}else this.attributes={[e]:t}}getObjectId(){const e=(0,d.I)(this.origin);if(e)return(0,w.r)(this,e);const t=this.sourceLayer??this.layer;return t?(0,w.r)(this,t):null}getGlobalId(){const e=(0,d.I)(this.origin);if(e?.globalIdField)return this.getAttribute(e.globalIdField);const t=this.sourceLayer??this.layer;return t&&"globalIdField"in t&&t.globalIdField?this.getAttribute(t.globalIdField):null}toJSON(){const e={aggregateGeometries:A(this.aggregateGeometries),geometry:this.geometry?.toJSON()??null,symbol:this.symbol?.toJSON()??null,attributes:(0,g.W)(this.attributes)?this.attributes.toJSON():{...this.attributes},popupTemplate:this.popupTemplate?.toJSON()??null};return this.statisticsAggregatedIds?.length&&(e.aggregateIds=[...this.statisticsAggregatedIds]),null!=this.distance&&(e.distance=this.distance),e}notifyMeshTransformChanged(e={}){const{geometry:t}=this;if("mesh"===t?.type){const i={origin:t.origin,transform:t.transform};this._notifyLayer("origin-transform",i,i,e.action)}}_notifyLayer(e,t,i,r){if(this._version++,!this.layer||!("graphicChanged"in this.layer))return;const n={graphic:this,property:e,oldValue:t,newValue:i};"origin-transform"===e&&(n.action=r),"attributes"===e&&(n.attributeName=r),this.layer.graphicChanged(n)}_watchMeshGeometryChanges(){this.removeHandles(_);const e=this.geometry;"mesh"===e?.type&&this.addHandles([(0,h.z7)(()=>e.vertexSpace.origin?{localMatrix:e.transform?.localMatrix,origin:e.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,h.z7)(()=>({vertexAttributes:e.vertexAttributes}),()=>{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",e,e)},{equals:(e,t)=>e===t,sync:!0})],_)}};(0,s.Cg)([(0,f.MZ)({value:null,json:{read:function(e){if(!e)return null;const t={};for(const i in e){const r=(0,y.rS)(e[i]);r&&(t[i]=r)}return 0!==Object.keys(t).length?t:null}}})],C.prototype,"aggregateGeometries",null),(0,s.Cg)([(0,f.MZ)({value:null})],C.prototype,"attributes",null),(0,s.Cg)([(0,f.MZ)({value:null,types:m.yR,json:{read:y.rS}})],C.prototype,"geometry",null),(0,s.Cg)([(0,f.MZ)()],C.prototype,"distance",void 0),(0,s.Cg)([(0,f.MZ)({type:Boolean})],C.prototype,"isAggregate",void 0),(0,s.Cg)([(0,f.MZ)({clonable:!1})],C.prototype,"layer",void 0),(0,s.Cg)([(0,f.MZ)({clonable:"reference"})],C.prototype,"origin",void 0),(0,s.Cg)([(0,f.MZ)({type:o.A,value:null})],C.prototype,"popupTemplate",null),(0,s.Cg)([(0,f.MZ)({clonable:"reference"})],C.prototype,"sourceLayer",void 0),(0,s.Cg)([(0,f.MZ)({json:{name:"aggregateIds",read:e=>e?.map(e=>Array.isArray(e)?JSON.stringify(e):e)}})],C.prototype,"statisticsAggregatedIds",void 0),(0,s.Cg)([(0,f.MZ)({value:null,types:M.Es})],C.prototype,"symbol",null),(0,s.Cg)([(0,f.MZ)({clonable:!1,json:{read:!1,write:!1}})],C.prototype,"_version",void 0),(0,s.Cg)([(0,f.MZ)({type:Boolean,value:!0})],C.prototype,"visible",null),C=n=(0,s.Cg)([(0,f.$K)("esri.Graphic")],C)},19334(e,t,i){i.d(t,{e:()=>o});var r=i(54639),n=i(14112);class s{constructor(e){this._geometry=e}toJsonGeometry(){return this._geometry.toJSON()}toAccessorGeometry(e){return this._geometry}toGxGeometry(e){return e.fromAccessorGeometry(this._geometry)}}function o(e){if(null==e)return null;switch(e.type){case"point":if((0,n.e6)(e))return null;break;case"polygon":if((0,n.Wq)(e))return null;break;case"polyline":if((0,n.IY)(e))return null;break;case"multipoint":if((0,n.DG)(e))return null;break;case"extent":if((0,n.As)(e))return null;break;default:return null}const t=r.R.of(e.type,e.spatialReference,e.hasZ,e.hasM,new s(e));return t.asAccessorGeometry(),t}},36983(e,t,i){i.d(t,{R:()=>c,p:()=>u});var r=i(54639),n=i(14112),s=i(16930),o=i(60408),l=i(65864);class a{constructor(e){this._geometry=e}toJsonGeometry(){return this._geometry}toAccessorGeometry(e){const t=(0,l.rS)(this._geometry);return t.spatialReference=e,t}toGxGeometry(e){return e.fromJsonGeometry(this._geometry)}}function c(e,t){if(null==e||"object"!=typeof e)return null;let i=t;if("spatialReference"in e&&(e.spatialReference instanceof s.A?i=e.spatialReference:"object"==typeof e.spatialReference&&null!=e.spatialReference&&(i=new s.A,i.read(e.spatialReference))),null==i)throw new Error("Spatial reference required");return(0,o.fT)(e)?u("point",e,i):(0,o.Rg)(e)?u("polyline",e,i):(0,o.Bi)(e)?u("polygon",e,i):(0,o.U9)(e)?u("multipoint",e,i):(0,o.ZC)(e)?u("extent",e,i):null}function u(e,t,i){if(null==t)return null;let s=!1,o=!1;switch(e){case"point":if((0,n.e6)(t))return null;s=void 0!==t.z,o=void 0!==t.m;break;case"polygon":if((0,n.Wq)(t))return null;s=!0===t.hasZ,o=!0===t.hasM;break;case"polyline":if((0,n.IY)(t))return null;s=!0===t.hasZ,o=!0===t.hasM;break;case"multipoint":if((0,n.DG)(t))return null;s=!0===t.hasZ,o=!0===t.hasM;break;case"extent":if((0,n.As)(t))return null;s=null!=t.zmin&&null!=t.zmax,o=null!=t.mmin&&null!=t.mmax;break;default:throw new Error("Unsupported geometry type: "+t.type)}return r.R.of(e,i,s,o,new a(t))}},14112(e,t,i){function r(e){return"NaN"===e.x||null===e.x||isNaN(e.x)}function n(e){if(0===(e.curveRings??e.rings).length)return!0;for(const t of e.curveRings??e.rings)if(t.length>0)return!1;return!0}function s(e){if(0===(e.curvePaths??e.paths).length)return!0;for(const t of e.curvePaths??e.paths)if(t.length>0)return!1;return!0}function o(e){return 0===e.points.length}function l(e){return"NaN"===e.xmin||null===e.xmin||isNaN(e.xmin)}i.d(t,{As:()=>l,DG:()=>o,IY:()=>s,Wq:()=>n,e6:()=>r})},69052(e,t,i){i.d(t,{hr:()=>n});var r=i(34727);class n{constructor(e,t){this.min=e,this.max=t,this.range=t-e}normalize(e,t=0,i=!1){return s(this.range,this.min,this.max,e,t,i)}clamp(e,t=0){return(0,r.qE)(e-t,this.min,this.max)+t}monotonic(e,t,i){return e<t?t:t+o(this.range,e-t,i)}minimalMonotonic(e,t,i){return s(this.range,e,e+this.range,t,i)}center(e,t,i){return t=this.monotonic(e,t,i),this.normalize((e+t)/2,i)}diff(e,t,i){return this.monotonic(e,t,i)-e}shortestSignedDiff(e,t){e=this.normalize(e);const i=(t=this.normalize(t))-e,r=t<e?this.minimalMonotonic(e,t)-e:t-this.minimalMonotonic(t,e);return Math.abs(i)<Math.abs(r)?i:r}contains(e,t,i){return t=this.minimalMonotonic(e,t),(i=this.minimalMonotonic(e,i))>e&&i<t}}function s(e,t,i,r,n=0,s=!1){return(r-=n)<t?r+=o(e,t-r):r>i&&(r-=o(e,r-i)),s&&r===i&&(r=t),r+n}function o(e,t,i=0){return Math.ceil((t-i)/e)*e+i}const l=new n(0,2*Math.PI),a=(new n(-Math.PI,Math.PI),new n(0,360));i.d(t,["ie",0,a,"uC",0,l])},18370(e,t,i){i.d(t,{z:()=>n});class r{constructor(e){this._import=e,this.module=null,this._promise=null}getImportPromise(){return null==this._promise&&(this._promise=this._import().then(async e=>(this.module=e,e))),this._promise}}function n(e){return new r(e)}},52039(e,t,i){i.d(t,{O7:()=>p,el:()=>c});var r=i(69052),n=(i(49186),i(18370)),s=i(17676),o=(i(5443),i(39829)),l=(i(82799),i(16930)),a=(i(80754),i(21325));async function c(e,t,i){Array.isArray(e)||(e=[e]),null!=t&&"object"==typeof t&&"authMode"in t&&(i=t);let r=null;for(const t of e)r??=t?.spatialReference;if(!r)return e;const n=(0,a.Vp)(r);if(!n)return e;if(1===e.length&&"extent"===e[0]?.type){const t=e[0].clone().normalizeAsSingleGeometry(n);return["xmin"in t?t:new o.A(t)]}const[l,c]=n.valid;let p=!1;for(const t of e){if(!t)continue;if("point"===t.type){p||=t.x>=c,p||=t.x<=l;continue}const{extent:e}=t;if(null==e){p=!0;break}p||=e.xmin>=c,p||=e.xmin<=l,p||=e.xmax>=c,p||=e.xmax<=l}if(!p)return e;const[{foldInto360Range:f},g]=await(0,s.qr)(Promise.all([u.getImportPromise(),h.getImportPromise()]),i),y=g.fromSpatialReference(r);return e.map(e=>{if(null==e||"mesh"===e.type)return e;const t=g.fromGeometry(e),i=g.toGeometry(f(t,y),r);return"extent"===e.type&&1===i?.rings.length?i.extent:i})}const u=(0,n.z)(()=>i.e(4144).then(()=>i(4144)).then(e=>e.load().then(()=>e))),h=(0,n.z)(()=>Promise.all([i.e(9187),i.e(8885),i.e(9117),i.e(3299),i.e(1550)]).then(()=>i(78125)));function p(e,t,i){const r=(0,a.Vp)(i);if(null==r)return e;const[n,s]=r.valid,o=2*s;let l=0,c=0;t>s?l=Math.ceil(Math.abs(t-s)/o):t<n&&(l=-Math.ceil(Math.abs(t-n)/o)),e>s?c=Math.ceil(Math.abs(e-s)/o):e<n&&(c=-Math.ceil(Math.abs(e-n)/o));let u=e+(l-c)*o;const h=u-t;return h>s?u-=o:h<n&&(u+=o),u}function f(e){const t=(0,a.Vp)(e);if(null==t)return null;const[i,n]=t.valid;return new r.hr(i,n)}const g=f(l.A.WGS84);f(l.A.WebMercator),i.d(t,["Y_",0,g])},80754(e,t,i){i.d(t,{kS:()=>c,kd:()=>a});var r=i(82799),n=i(16930),s=i(60408),o=i(52006);const l={102100:{maxX:20037508.342788905,minX:-20037508.342788905,plus180Line:new r.A({paths:[[[20037508.342788905,-20037508.342788905],[20037508.342788905,20037508.342788905]]],spatialReference:n.A.WebMercator}),minus180Line:new r.A({paths:[[[-20037508.342788905,-20037508.342788905],[-20037508.342788905,20037508.342788905]]],spatialReference:n.A.WebMercator})},4326:{maxX:180,minX:-180,plus180Line:new r.A({paths:[[[180,-180],[180,180]]],spatialReference:n.A.WGS84}),minus180Line:new r.A({paths:[[[-180,-180],[-180,180]]],spatialReference:n.A.WGS84})}};function a(e,t){return Math.ceil((e-t)/(2*t))}function c(e,t){if((0,o.Ed)(e))for(const i of function(e){return(0,s.Bi)(e)?e.curveRings:e.curvePaths}(e))for(const e of i){if((0,o.aO)(e)){const[i,r]=e.c;i[0]+=t,r[0]+=t;continue}if((0,o.FG)(e)){const[i,r]=e.a;i[0]+=t,r[0]+=t;continue}if((0,o.n1)(e)){const[i,r,n]=e.b;i[0]+=t,r[0]+=t,n[0]+=t;continue}e[0]+=t}for(const i of function(e){return(0,s.Bi)(e)?e.rings:e.paths}(e))for(const e of i)e[0]+=t;return e}i.d(t,["j7",0,l])},55156(e,t,i){i.d(t,{I:()=>n});const r=Symbol("idFieldsProviderSymbol");function n(e){return(t=e)&&r in t?e[r]:void 0;var t}i.d(t,["e",0,r])},71756(e,t,i){i.r(t);var r,n=i(32198),s=i(56507),o=i(49186),l=i(81583),a=i(25728),c=i(17676),u=i(84952),h=i(91429),p=i(16930),f=i(4146),g=i(52136),y=i(89186),m=i(98534),d=i(18768),v=i(63074),w=i(69208),b=i(34287),M=i(8303),_=i(54310),A=i(25036),C=i(91921),x=i(60694),S=i(10873),T=i(33446),O=i(15775),R=i(88625),z=i(36005),L=i(43937);const Z=["Canvas/World_Dark_Gray_Base","Canvas/World_Dark_Gray_Reference","Canvas/World_Light_Gray_Base","Canvas/World_Light_Gray_Reference","Elevation/World_Hillshade","Elevation/World_Hillshade_Dark","Ocean/World_Ocean_Base","Ocean/World_Ocean_Reference","Ocean_Basemap","Reference/World_Boundaries_and_Places","Reference/World_Boundaries_and_Places_Alternate","Reference/World_Transportation","World_Imagery","World_Street_Map","World_Topo_Map"];let I=r=class extends((0,v.dM)((0,A.j)((0,C.I)((0,y.f)((0,m.V)((0,b.q)((0,M.A)((0,d.b)((0,a.M)((0,_.J)((0,g.p)((0,w.d)(f.A))))))))))))){constructor(...e){super(...e),this.listMode="show",this.elevationInfo=new R.A({mode:"on-the-ground"}),this.isReference=null,this.operationalLayerType="ArcGISTiledMapServiceLayer",this.resampling=!0,this.sourceJSON=null,this.spatialReference=null,this.path=null,this.sublayers=null,this.type="tile",this.url=null}normalizeCtorArgs(e,t){return"string"==typeof e?{url:e,...t}:e}load(e){const t=null!=e?e.signal:null;return this.addResolvingPromise(this.loadFromPortal({supportedTypes:["Map Service"]},e).catch(c.QP).then(()=>this._fetchService(t))),Promise.resolve(this)}get attributionDataUrl(){const e=this.parsedUrl?.path.toLowerCase();return e?this._getDefaultAttribution(this._getMapName(e)):null}get hasAttributionData(){return super.hasAttributionData}readSpatialReference(e,t){return(e=e||t.tileInfo?.spatialReference)&&p.A.fromJSON(e)}writeSublayers(e,t,i,r){if(!this.loaded||!e)return;const n=e.slice().reverse().flatten(({sublayers:e})=>e&&e.toArray().reverse()).toArray(),s=[],o={writeSublayerStructure:!1,...r};n.forEach(e=>{const t=e.write({},o);s.push(t)}),s.some(e=>Object.keys(e).length>1)&&(t.layers=s)}get tileServers(){return this._getDefaultTileServers(this.parsedUrl?.path)}castTileServers(e){return Array.isArray(e)?e.map(e=>(0,u.An)(e).path):null}fetchTile(e,t,i,r={}){const{signal:n}=r,o=this.getTileUrl(e,t,i),l={responseType:"image",signal:n,query:{...this.refreshParameters}};return(0,s.A)(o,l).then(e=>e.data)}async fetchImageBitmapTile(e,t,i,n={}){const{signal:o}=n;if(this.fetchTile!==r.prototype.fetchTile){const r=await this.fetchTile(e,t,i,n);return(0,T.Cp)(r,e,t,i,n)}const l=this.getTileUrl(e,t,i),a={responseType:"blob",signal:o,query:{...this.refreshParameters}},{data:c}=await(0,s.A)(l,a);return(0,T.Cp)(c,e,t,i,n)}getTileUrl(e,t,i){const r=!this.capabilities.operations.supportsTileMap&&this.supportsBlankTile,n=(0,u.x0)({...this.parsedUrl?.query,blankTile:!r&&null,...this.customParameters,token:this.apiKey}),s=this.tileServers;return`${s&&s.length?s[t%s.length]:this.parsedUrl?.path}/tile/${e}/${t}/${i}${n?"?"+n:""}`}loadAll(){return(0,l.g)(this,e=>{e(this.allSublayers)})}_fetchService(e){return new Promise((t,i)=>{if(this.sourceJSON){if(null!=this.sourceJSON.bandCount&&null!=this.sourceJSON.pixelSizeX)throw new o.A("tile-layer:unsupported-url","use ImageryTileLayer to open a tiled image service");return void t({data:this.sourceJSON})}if(!this.parsedUrl)throw new o.A("tile-layer:undefined-url","layer's url is not defined");const r=(0,x.qg)(this.parsedUrl.path);if(null!=r&&"ImageServer"===r.serverType)throw new o.A("tile-layer:unsupported-url","use ImageryTileLayer to open a tiled image service");(0,s.A)(this.parsedUrl.path,{query:{f:"json",...this.parsedUrl.query,...this.customParameters,token:this.apiKey},responseType:"json",signal:e}).then(t,i)}).then(t=>{let i=this.url;if(t.ssl&&(i=this.url=i.replace(/^http:/i,"https:")),this.sourceJSON=t.data,this.read(t.data,{origin:"service",url:this.parsedUrl}),10.1===this.version&&!(0,x.Wo)(i))return this._fetchServerVersion(i,e).then(e=>{this.read({currentVersion:e})}).catch(()=>{})})}_fetchServerVersion(e,t){if(!(0,x.Fi)(e))return Promise.reject();const i=e.replace(/(.*\/rest)\/.*/i,"$1")+"/info";return(0,s.A)(i,{query:{f:"json",...this.customParameters,token:this.apiKey},responseType:"json",signal:t}).then(e=>{if(e.data?.currentVersion)return e.data.currentVersion;throw new o.A("tile-layer:version-not-available","Server did not provide a version")})}_getMapName(e){const t=e.match(/^(?:https?:)?\/\/(server\.arcgisonline\.com|services\.arcgisonline\.com|ibasemaps-api\.arcgis\.com)\/arcgis\/rest\/services\/([^/]+(\/[^/]+)*)\/mapserver/i);return t?t[2]:void 0}_getDefaultAttribution(e){if(null==e)return null;let t;e=e.toLowerCase();for(let i=0,r=Z.length;i<r;i++)if(t=Z[i],t.toLowerCase().includes(e))return(0,u.s2)("//static.arcgis.com/attribution/"+t);return null}_getDefaultTileServers(e){if(null==e)return[];const t=-1!==e.search(/^(?:https?:)?\/\/server\.arcgisonline\.com/i),i=-1!==e.search(/^(?:https?:)?\/\/services\.arcgisonline\.com/i);return t||i?[e,e.replace(t?/server\.arcgisonline/i:/services\.arcgisonline/i,t?"services.arcgisonline":"server.arcgisonline")]:[]}get hasOverriddenFetchTile(){return!this.fetchTile[G]}};(0,n.Cg)([(0,h.MZ)({readOnly:!0})],I.prototype,"attributionDataUrl",null),(0,n.Cg)([(0,h.MZ)({type:["show","hide","hide-children"]})],I.prototype,"listMode",void 0),(0,n.Cg)([(0,h.MZ)({json:{read:!0,write:!0}})],I.prototype,"blendMode",void 0),(0,n.Cg)([(0,h.MZ)()],I.prototype,"elevationInfo",void 0),(0,n.Cg)([(0,h.MZ)({type:Boolean,json:{read:!1,write:{enabled:!0,overridePolicy:()=>({enabled:!1})}}})],I.prototype,"isReference",void 0),(0,n.Cg)([(0,h.MZ)({readOnly:!0,type:["ArcGISTiledMapServiceLayer"]})],I.prototype,"operationalLayerType",void 0),(0,n.Cg)([(0,h.MZ)({type:Boolean})],I.prototype,"resampling",void 0),(0,n.Cg)([(0,h.MZ)()],I.prototype,"sourceJSON",void 0),(0,n.Cg)([(0,h.MZ)({type:p.A})],I.prototype,"spatialReference",void 0),(0,n.Cg)([(0,z.w)("spatialReference",["spatialReference","tileInfo"])],I.prototype,"readSpatialReference",null),(0,n.Cg)([(0,h.MZ)({type:String,json:{origins:{"web-scene":{read:!0,write:!0}},read:!1}})],I.prototype,"path",void 0),(0,n.Cg)([(0,h.MZ)({readOnly:!0})],I.prototype,"sublayers",void 0),(0,n.Cg)([(0,L.K)("sublayers",{layers:{type:[O.A]}})],I.prototype,"writeSublayers",null),(0,n.Cg)([(0,h.MZ)({json:{read:!1,write:!1}})],I.prototype,"popupEnabled",void 0),(0,n.Cg)([(0,h.MZ)()],I.prototype,"tileServers",null),(0,n.Cg)([(0,h.wg)("tileServers")],I.prototype,"castTileServers",null),(0,n.Cg)([(0,h.MZ)({readOnly:!0,json:{read:!1}})],I.prototype,"type",void 0),(0,n.Cg)([(0,h.MZ)(S.OZ)],I.prototype,"url",void 0),I=r=(0,n.Cg)([(0,h.$K)("esri.layers.TileLayer")],I);const G=Symbol("default-fetch-tile");I.prototype.fetchTile[G]=!0;const D=I;i.d(t,["default",0,D])},89186(e,t,i){var r=i(32198),n=i(91429),s=i(16930),o=i(87045),l=i(65509),a=i(25943),c=i(36005);i.d(t,["f",0,e=>{const t=e;let i=class extends t{constructor(){super(...arguments),this.copyright=null,this.minScale=0,this.maxScale=0,this.spatialReference=null,this.tileInfo=null,this.tilemapCache=null}destroy(){this.tilemapCache?.destroy?.()}readMinScale(e,t){return null!=t.minLOD&&null!=t.maxLOD?e:0}readMaxScale(e,t){return null!=t.minLOD&&null!=t.maxLOD?e:0}get supportsBlankTile(){return this.version>=10.2}readTilemapCache(e,t,i){const r=t.capabilities?.toLowerCase().includes("tilemap");let{minLOD:n,maxLOD:s,minScale:c,maxScale:u}=t;if(null==n&&null==s&&(0!==c||0!==u)){const e=e=>Math.round(1e4*e)/1e4;c=e(c||t.tileInfo.lods[0].scale),u=e(u||t.tileInfo.lods[t.tileInfo.lods.length-1].scale);for(const i of t.tileInfo.lods){const t=e(i.scale);n=t>=c?i.level:n,s=t>=u?i.level:s}}if(r)return new a.d({layer:this,minLOD:n,maxLOD:s});if(t.tileInfo){const e=new o.A;return e.read(t.tileInfo,i),new l.A(e,n,s)}return null}};return(0,r.Cg)([(0,n.MZ)({json:{read:{source:"copyrightText"}}})],i.prototype,"copyright",void 0),(0,r.Cg)([(0,n.MZ)()],i.prototype,"minScale",void 0),(0,r.Cg)([(0,c.w)("service","minScale")],i.prototype,"readMinScale",null),(0,r.Cg)([(0,n.MZ)()],i.prototype,"maxScale",void 0),(0,r.Cg)([(0,c.w)("service","maxScale")],i.prototype,"readMaxScale",null),(0,r.Cg)([(0,n.MZ)({type:s.A})],i.prototype,"spatialReference",void 0),(0,r.Cg)([(0,n.MZ)({readOnly:!0})],i.prototype,"supportsBlankTile",null),(0,r.Cg)([(0,n.MZ)({type:o.A})],i.prototype,"tileInfo",void 0),(0,r.Cg)([(0,n.MZ)()],i.prototype,"tilemapCache",void 0),(0,r.Cg)([(0,c.w)("service","tilemapCache",["capabilities","tileInfo"])],i.prototype,"readTilemapCache",null),(0,r.Cg)([(0,n.MZ)()],i.prototype,"version",void 0),i=(0,r.Cg)([(0,n.$K)("esri.layers.mixins.ArcGISCachedService")],i),i}])},91806(e,t,i){i.d(t,{A:()=>a});var r,n=i(32198),s=i(25482),o=i(91429),l=i(78888);let a=class extends s.o{static{r=this}constructor(e){super(e),this.cols=null,this.level=0,this.levelValue=null,this.origin=null,this.resolution=0,this.rows=null,this.scale=0}clone(){return new r({cols:this.cols,level:this.level,levelValue:this.levelValue,resolution:this.resolution,rows:this.rows,scale:this.scale})}};(0,n.Cg)([(0,o.MZ)({json:{write:!0,origins:{"web-document":{read:!1,write:!1},"portal-item":{read:!1,write:!1}}}})],a.prototype,"cols",void 0),(0,n.Cg)([(0,o.MZ)({type:l.jz,json:{write:!0}})],a.prototype,"level",void 0),(0,n.Cg)([(0,o.MZ)({type:String,json:{write:!0}})],a.prototype,"levelValue",void 0),(0,n.Cg)([(0,o.MZ)({json:{write:!0,origins:{"web-document":{read:!1,write:!1},"portal-item":{read:!1,write:!1}}}})],a.prototype,"origin",void 0),(0,n.Cg)([(0,o.MZ)({type:Number,json:{write:!0}})],a.prototype,"resolution",void 0),(0,n.Cg)([(0,o.MZ)({json:{write:!0,origins:{"web-document":{read:!1,write:!1},"portal-item":{read:!1,write:!1}}}})],a.prototype,"rows",void 0),(0,n.Cg)([(0,o.MZ)({type:Number,json:{write:!0}})],a.prototype,"scale",void 0),a=r=(0,n.Cg)([(0,o.$K)("esri.layers.support.LOD")],a)},87045(e,t,i){i.d(t,{A:()=>w});var r,n=i(32198),s=i(66552),o=i(25482),l=i(86211),a=i(91429),c=i(78888),u=i(86738),h=i(16930),p=i(21325),f=i(28735),g=i(91806),y=i(72802),m=i(36005),d=i(43937);const v=new s.J({PNG:"png",PNG8:"png8",PNG24:"png24",PNG32:"png32",JPEG:"jpg",JPG:"jpg",DIB:"dib",TIFF:"tiff",EMF:"emf",PS:"ps",PDF:"pdf",GIF:"gif",SVG:"svg",SVGZ:"svgz",Mixed:"mixed",MIXED:"mixed",LERC:"lerc",LERC2D:"lerc2d",RAW:"raw",pbf:"pbf"});let w=class extends o.o{static{r=this}static create(e={}){const{resolutionFactor:t=1,scales:i,size:n=256,spatialReference:s=h.A.WebMercator,numLODs:o=24}=e;if(!(0,p.fn)(s)){const e=[];if(i)for(let t=0;t<i.length;t++){const r=i[t];e.push(new g.A({level:t,scale:r,resolution:r}))}else{let t=5e-4;for(let i=o-1;i>=0;i--)e.unshift(new g.A({level:i,scale:t,resolution:t})),t*=2}return new r({dpi:96,lods:e,origin:new u.A(0,0,s),size:[n,n],spatialReference:s})}const a=(0,p.Vp)(s),c=e.origin?new u.A({x:e.origin.x,y:e.origin.y,spatialReference:s}):new u.A(a?{x:a.origin[0],y:a.origin[1],spatialReference:s}:{x:0,y:0,spatialReference:s}),f=1/(39.37*(0,l.GA)(s)*96),y=[];if(i)for(let e=0;e<i.length;e++){const t=i[e],r=t*f;y.push(new g.A({level:e,scale:t,resolution:r}))}else{let e=(0,p.EA)(s)?512/n*591657527.5917094:256/n*591657527.591555;const i=Math.ceil(o/t);y.push(new g.A({level:0,scale:e,resolution:e*f}));for(let r=1;r<i;r++){const i=e/2**t,n=i*f;y.push(new g.A({level:r,scale:i,resolution:n})),e=i}}return new r({dpi:96,lods:y,origin:c,size:[n,n],spatialReference:s})}constructor(e){super(e),this.dpi=96,this.format=null,this.origin=null,this.size=null,this.spatialReference=null}get isWrappable(){const{spatialReference:e,origin:t}=this;if(e&&t){const i=(0,p.Vp)(e);return e.isWrappable&&!!i&&Math.abs(i.origin[0]-t.x)<=i.dx}return!1}readOrigin(e,t){return u.A.fromJSON({spatialReference:t.spatialReference,...e})}set lods(e){let t=0,i=0;const r=[],n=this._levelToLOD={};e&&(t=-1/0,i=1/0,e.forEach(e=>{r.push(e.scale),t=e.scale>t?e.scale:t,i=e.scale<i?e.scale:i,n[e.level]=e})),this._set("scales",r),this._set("lods",e),this._initializeUpsampleLevels()}readSize(e,t){return[t.cols,t.rows]}writeSize(e,t){t.cols=e[0],t.rows=e[1]}zoomToScale(e){const t=this.scales;if(e<=0)return t[0];if(e>=t.length-1)return t[t.length-1];const i=Math.floor(e),r=i+1;return t[i]/(t[i]/t[r])**(e-i)}scaleToZoom(e){const t=this.scales,i=t.length-1;let r=0;for(;r<i;r++){const i=t[r],n=t[r+1];if(i<=e)return r;if(n===e)return r+1;if(i>e&&n<e)return r+Math.log(i/e)/Math.log(i/n)}return r}tileAt(e,t,i,r){const n=this.lodAt(e);if(!n)return null;let s,o;if("number"==typeof t)s=t,o=i;else if((0,p.aI)(t.spatialReference,this.spatialReference))s=t.x,o=t.y,r=i;else{const e=(0,f.Cv)(t,this.spatialReference);if(null==e)return null;s=e.x,o=e.y,r=i}const l=n.resolution*this.size[0],a=n.resolution*this.size[1];return r??=new y.U(0,0,0),r.level=e,r.row=Math.floor((this.origin.y-o)/a+.001),r.col=Math.floor((s-this.origin.x)/l+.001),this.updateTileInfo(r),r}updateTileInfo(e,t=0){if(!("extent"in e))return!1;let i=this.lodAt(e.level);if(!i&&1===t){const t=this.lods[this.lods.length-1];t.level<e.level&&(i=t)}if(!i)return!1;const r=e.level-i.level,n=i.resolution*this.size[0]/2**r,s=i.resolution*this.size[1]/2**r;return e.extent[0]=this.origin.x+e.col*n,e.extent[1]=this.origin.y-(e.row+1)*s,e.extent[2]=e.extent[0]+n,e.extent[3]=e.extent[1]+s,!0}upsampleTile(e){const t=this._upsampleLevels[e.level];return!(!t||-1===t.parentLevel||(e.level=t.parentLevel,e.row=Math.floor(e.row/t.factor+.001),e.col=Math.floor(e.col/t.factor+.001),this.updateTileInfo(e),0))}getTileBounds(e,t){const i=this.lodAt(t.level);if(null==i)return null;const{resolution:r}=i,n=r*this.size[0],s=r*this.size[1];return e[0]=this.origin.x+t.col*n,e[1]=this.origin.y-(t.row+1)*s,e[2]=e[0]+n,e[3]=e[1]+s,e}lodAt(e){return this._levelToLOD?.[e]??null}clone(){return r.fromJSON(this.write({}))}getCompatibleForVTL(e){if(this.size[0]!==this.size[1]||256===this.size[0]&&512===e)return null;const t=(512===this.size[0]&&256===e?-1:0)+(this.spatialReference.isGeographic?1:0);if(this.size[0]===e&&0===t)return this;const i=[],n=this.lods.length-t;for(let e=0;e<n;e++){const r=e+t,{scale:n,resolution:s}=r>=0?this.lods[r]:{scale:2*this.lods[0].scale,resolution:2*this.lods[0].resolution};i.push(new g.A({level:e,scale:n,resolution:s}))}return new r({size:[e,e],dpi:this.dpi,format:this.format,compressionQuality:this.compressionQuality,origin:this.origin,spatialReference:this.spatialReference,lods:i})}_initializeUpsampleLevels(){const e=this.lods;this._upsampleLevels=[];let t=null;for(let i=0;i<e.length;i++){const r=e[i];this._upsampleLevels[r.level]={parentLevel:t?t.level:-1,factor:t?t.resolution/r.resolution:0},t=r}}};(0,n.Cg)([(0,a.MZ)({type:Number,json:{write:!0}})],w.prototype,"compressionQuality",void 0),(0,n.Cg)([(0,a.MZ)({type:Number,json:{write:!0}})],w.prototype,"dpi",void 0),(0,n.Cg)([(0,a.MZ)({type:String,json:{read:v.read,write:v.write,origins:{"web-scene":{read:!1,write:!1}}}})],w.prototype,"format",void 0),(0,n.Cg)([(0,a.MZ)({readOnly:!0})],w.prototype,"isWrappable",null),(0,n.Cg)([(0,a.MZ)({type:u.A,json:{write:!0}})],w.prototype,"origin",void 0),(0,n.Cg)([(0,m.w)("origin")],w.prototype,"readOrigin",null),(0,n.Cg)([(0,a.MZ)({type:[g.A],value:null,json:{write:!0}})],w.prototype,"lods",null),(0,n.Cg)([(0,a.MZ)({readOnly:!0})],w.prototype,"scales",void 0),(0,n.Cg)([(0,a.MZ)({cast:e=>Array.isArray(e)?e:"number"==typeof e?[e,e]:[256,256]})],w.prototype,"size",void 0),(0,n.Cg)([(0,m.w)("size",["rows","cols"])],w.prototype,"readSize",null),(0,n.Cg)([(0,d.K)("size",{cols:{type:c.jz},rows:{type:c.jz}})],w.prototype,"writeSize",null),(0,n.Cg)([(0,a.MZ)({type:h.A,json:{write:!0}})],w.prototype,"spatialReference",void 0),w=r=(0,n.Cg)([(0,a.$K)("esri.layers.support.TileInfo")],w)},65509(e,t,i){i.d(t,{A:()=>s});var r=i(49186),n=i(17676);class s{constructor(e,t=0,i=e.lods[e.lods.length-1].level){this.tileInfo=e,this.minLOD=t,this.maxLOD=i,e.lodAt(t)||(this.minLOD=e.lods[0].level),e.lodAt(i)||(this.maxLOD=e.lods[e.lods.length-1].level)}get effectiveMinLOD(){return this.minLOD??this.tileInfo.lods[0].level}get effectiveMaxLOD(){return this.maxLOD??this.tileInfo.lods[this.tileInfo.lods.length-1].level}getAvailability(e,t,i){const r=this.tileInfo?.lodAt(e);return!r||e<this.minLOD||e>this.maxLOD?"unavailable":r.cols&&r.rows?i>=r.cols[0]&&i<=r.cols[1]&&t>=r.rows[0]&&t<=r.rows[1]?"unknown":"unavailable":"unknown"}async fetchAvailability(e,t,i,s){await(0,n.NO)(s);const o=this.getAvailability(e,t,i);if("unavailable"===o)throw new r.A("tile-map:tile-unavailable","Tile is not available",{level:e,row:t,col:i});return o}async fetchAvailabilityUpsample(e,t,i,r,s){await(0,n.NO)(s),r.level=e,r.row=t,r.col=i;const o=this.tileInfo;return o.updateTileInfo(r),this.fetchAvailability(e,t,i,s).catch(e=>{if((0,n.zf)(e))throw e;if(o.upsampleTile(r))return this.fetchAvailabilityUpsample(r.level,r.row,r.col,r,s);throw e})}}},72802(e,t,i){i.d(t,{U:()=>n});var r=i(19419);class n{constructor(e,t,i,n=(0,r.vt)()){this._level=e,this._row=t,this._col=i,this.extent=n}get id(){return this._id??=`${this.level}/${this.row}/${this.col}`,this._id}get level(){return this._level}set level(e){this._level=e,this._id=null}get row(){return this._row}set row(e){this._row=e,this._id=null}get col(){return this._col}set col(e){this._col=e,this._id=null}toJSON(){return{level:this._level,row:this._row,col:this._col,extent:this.extent}}static fromJSON(e){return new n(e.level,e.row,e.col,e.extent)}}},25943(e,t,i){i.d(t,{d:()=>_});var r,n=i(32198),s=i(56507),o=i(69622),l=i(49186),a=i(36563),c=(i(44208),i(66344)),u=i(15142),h=i(17676),p=i(36708),f=i(76030),g=i(84952),y=i(91429),m=i(72802),d=i(4718),v=i(69397);class w{constructor(e){!function(e){if(!e?.location)throw new l.A("tilemap:missing-location","Location missing from tilemap response");if(!1===e.valid)throw new l.A("tilemap:invalid","Tilemap response was marked as invalid");if(!e.data)throw new l.A("tilemap:missing-data","Data missing from tilemap response");if(!Array.isArray(e.data))throw new l.A("tilemap:data-mismatch","Data must be an array of numbers");if(e.data.length!==e.location.width*e.location.height)throw new l.A("tilemap:data-mismatch","Number of data items does not match width/height of tilemap")}(e);const{location:t,data:i}=e;this.location=Object.freeze((0,d.o8)(t));const r=this.location.width,n=this.location.height;let s=!0,o=!0;const a=function(e,t=!1){return e<=1024?t?new Array(e).fill(0):new Array(e):new Uint32Array(e)}(Math.ceil(r*n/32));let c=0;for(let e=0;e<i.length;e++){const t=e%32;i[e]?(o=!1,a[c]|=1<<t):s=!1,31===t&&++c}o?(this._availability="unavailable",this.byteSize=40):s?(this._availability="available",this.byteSize=40):(this._availability=a,this.byteSize=40+(0,v.Qf)(a))}getAvailability(e,t){if("unavailable"===this._availability||"available"===this._availability)return this._availability;const i=(e-this.location.top)*this.location.width+(t-this.location.left),r=i%32,n=i>>5,s=this._availability;return n<0||n>s.length?"unknown":s[n]&1<<r?"available":"unavailable"}static fromDefinition(e,t){const i=e.service.request||s.A,{row:r,col:n,width:o,height:a}=e,c={query:{f:"json"}};return t=t?{...c,...t}:c,i(function(e){let t;if(e.service.tileServers?.length){const i=e.service.tileServers;t=`${i&&i.length?i[e.row%i.length]:e.service.url}/tilemap/${e.level}/${e.row}/${e.col}/${e.width}/${e.height}`}else t=`${e.service.url}/tilemap/${e.level}/${e.row}/${e.col}/${e.width}/${e.height}`;const i=e.service.query;return i&&(t=`${t}?${i}`),t}(e),t).then(e=>e.data).catch(e=>{if(422===e?.details?.httpStatus)return{location:{top:r,left:n,width:o,height:a},valid:!0,data:new Array(o*a).fill(0)};throw e}).then(e=>{if(e.location&&(e.location.top!==r||e.location.left!==n||e.location.width!==o||e.location.height!==a))throw new l.A("tilemap:location-mismatch","Tilemap response for different location than requested",{response:e,definition:{top:r,left:n,width:o,height:a}});return w.fromJSON(e)})}static fromJSON(e){return Object.freeze(new w(e))}}function b(e){return`${e.level}/${e.row}/${e.col}/${e.width}/${e.height}`}function M(e,t,i){return new l.A("tile-map:tile-unavailable","Tile is not available",{level:e,row:t,col:i})}let _=class extends o.A{static{r=this}constructor(e){super(e),this._pendingTilemapRequests={},this.request=s.A,this.size=32,this._prefetchingEnabled=!0}initialize(){this._tilemapCache=new c.q(2097152),this.addHandles((0,p.wB)(()=>{const{layer:e}=this;return[e?.parsedUrl,e?.tileServers,e?.apiKey,e?.customParameters]},()=>this._initializeTilemapDefinition(),p.Vh))}get effectiveMinLOD(){return this.minLOD??this.layer.tileInfo.lods[0].level}get effectiveMaxLOD(){return this.maxLOD??this.layer.tileInfo.lods[this.layer.tileInfo.lods.length-1].level}getAvailability(e,t,i){if(!this.layer.tileInfo.lodAt(e)||e<this.effectiveMinLOD||e>this.effectiveMaxLOD)return"unavailable";const r=this._tilemapFromCache(e,t,i,this._tmpTilemapDefinition);return r?r.getAvailability(t,i):"unknown"}fetchAvailability(e,t,i,r){return!this.layer.tileInfo.lodAt(e)||e<this.effectiveMinLOD||e>this.effectiveMaxLOD?Promise.reject(M(e,t,i)):this._fetchTilemap(e,t,i,r).catch(e=>e).then(r=>{if(r instanceof w){const n=r.getAvailability(t,i);if("unavailable"===n)throw M(e,t,i);return n}if((0,h.zf)(r))throw r;return"unknown"})}fetchAvailabilityUpsample(e,t,i,r,n){r.level=e,r.row=t,r.col=i;const s=this.layer.tileInfo;s.updateTileInfo(r);const o=this.fetchAvailability(e,t,i,n).catch(e=>{if((0,h.zf)(e))throw e;if(s.upsampleTile(r))return this.fetchAvailabilityUpsample(r.level,r.row,r.col,r,n);throw e});return this._fetchAvailabilityUpsamplePrefetch(e,t,i,n,o),o}async _fetchAvailabilityUpsamplePrefetch(e,t,i,n,s){if(!this._prefetchingEnabled)return;const o=`prefetch-${e}-${t}-${i}`;if(this.hasHandles(o))return;const l=new AbortController;s.then(()=>l.abort(),()=>l.abort());let c=!1;const u=(0,a.hA)(()=>{c||(c=!0,l.abort())});if(this.addHandles(u,o),await(0,f.md)(10,l.signal).catch(()=>{}),c||(c=!0,this.removeHandles(o)),(0,h.G4)(l))return;const p=new m.U(e,t,i),g={...n,signal:l.signal},y=this.layer.tileInfo;for(let e=0;r._prefetches.length<r._maxPrefetch&&y.upsampleTile(p);++e){const e=this.fetchAvailability(p.level,p.row,p.col,g);r._prefetches.push(e);const t=()=>{r._prefetches.removeUnordered(e)};e.then(t,t)}}static{this._maxPrefetch=4}static{this._prefetches=new u.A({initialSize:r._maxPrefetch})}static cleanupTilemapCache(){this._prefetches.prune()}_fetchTilemap(e,t,i,r){if(!this.layer.tileInfo.lodAt(e)||e<this.effectiveMinLOD||e>this.effectiveMaxLOD)return Promise.reject(new l.A("tilemap-cache:level-unavailable",`Level ${e} is unavailable in the service`));const n=this._tmpTilemapDefinition,s=this._tilemapFromCache(e,t,i,n);if(s)return Promise.resolve(s);const o=r?.signal;return r={...r,signal:null},new Promise((e,t)=>{(0,h.u7)(o,()=>t((0,h.NK)()));const i=b(n);let s=this._pendingTilemapRequests[i];if(!s){s=w.fromDefinition(n,r).then(e=>(this._tilemapCache.put(i,e,e.byteSize),e));const e=()=>{delete this._pendingTilemapRequests[i]};this._pendingTilemapRequests[i]=s,s.then(e,e)}s.then(e,t)})}_initializeTilemapDefinition(){if(!this.layer.parsedUrl)return;const{parsedUrl:e,apiKey:t,customParameters:i}=this.layer;this._tilemapCache.clear(),this._tmpTilemapDefinition={service:{url:e.path,query:(0,g.x0)({...e.query,...i,token:t??e.query?.token}),tileServers:this.layer.tileServers,request:this.request},width:this.size,height:this.size,level:0,row:0,col:0}}_tilemapFromCache(e,t,i,r){r.level=e,r.row=t-t%this.size,r.col=i-i%this.size;const n=b(r);return this._tilemapCache.get(n)}get test(){}};(0,n.Cg)([(0,y.MZ)({constructOnly:!0})],_.prototype,"layer",void 0),(0,n.Cg)([(0,y.MZ)({constructOnly:!0})],_.prototype,"minLOD",void 0),(0,n.Cg)([(0,y.MZ)({constructOnly:!0})],_.prototype,"maxLOD",void 0),(0,n.Cg)([(0,y.MZ)({constructOnly:!0})],_.prototype,"request",void 0),(0,n.Cg)([(0,y.MZ)({constructOnly:!0})],_.prototype,"size",void 0),_=r=(0,n.Cg)([(0,y.$K)("esri.layers.support.TilemapCache")],_)},98205(e,t,i){i.d(t,{KZ:()=>l,eh:()=>o,gf:()=>s,of:()=>n});const r=Symbol("SizeVariableInstance");function n(e){return null!=e&&"object"==typeof e&&r in e}function s(e){return null!=e&&!isNaN(e)&&isFinite(e)}function o(e){return e.valueExpression?"expression":e.field&&"string"==typeof e.field?"field":"unknown"}function l(e,t){const i=t||o(e),r=e.valueUnit||"unknown";return"unknown"===i?"constant":e.stops?"stops":null!=e.minSize&&null!=e.maxSize&&null!=e.minDataValue&&null!=e.maxDataValue?"clamped-linear":"unknown"===r?null!=e.minSize&&null!=e.minDataValue?e.minSize&&e.minDataValue?"proportional":"additive":"identity":"real-world-size"}i.d(t,["uY",0,r])},22671(e,t,i){i.d(t,{A:()=>v});var r,n=i(32198),s=i(52106),o=i(66552),l=i(25482),a=i(4718),c=i(91429),u=i(16930),h=i(60408),p=i(65864),f=i(50498),g=i(20437),y=i(36005),m=i(43937);const d=new o.J({esriGeometryPoint:"point",esriGeometryMultipoint:"multipoint",esriGeometryPolyline:"polyline",esriGeometryPolygon:"polygon",esriGeometryEnvelope:"extent",mesh:"mesh","":null});let v=r=class extends l.o{constructor(e){super(e),this.displayFieldName=null,this.exceededTransferLimit=!1,this.features=[],this.fields=null,this.geometryType=null,this.hasM=!1,this.hasZ=!1,this.queryGeometry=null,this.spatialReference=null}readFeatures(e,t){return this.readFeaturesWithClass(e,t,s.A)}writeGeometryType(e,t,i,r){if(e)return void d.write(e,t,i,r);const{features:n}=this;if(n)for(const e of n)if(null!=e?.geometry)return void d.write(e.geometry.type,t,i,r)}readQueryGeometry(e,t){if(!e)return null;const i=!!e.spatialReference,r=(0,p.rS)(e);return r&&!i&&t.spatialReference&&(r.spatialReference=u.A.fromJSON(t.spatialReference)),r}writeSpatialReference(e,t){if(e)return void(t.spatialReference=e.toJSON());const{features:i}=this;if(i)for(const e of i)if(e&&null!=e.geometry&&e.geometry.spatialReference)return void(t.spatialReference=e.geometry.spatialReference.toJSON())}clone(){return new r(this.cloneProperties())}cloneProperties(){return(0,a.o8)({displayFieldName:this.displayFieldName,exceededTransferLimit:this.exceededTransferLimit,features:this.features,fields:this.fields,geometryType:this.geometryType,hasM:this.hasM,hasZ:this.hasZ,queryGeometry:this.queryGeometry,spatialReference:this.spatialReference,transform:this.transform})}toJSON(e){const t=this.write();if(t.features&&Array.isArray(e)&&e.length>0)for(let i=0;i<t.features.length;i++){const r=t.features[i];if(r.geometry){const t=e?.[i];r.geometry=t?.toJSON()||r.geometry}}return t}quantize(e){const{scale:[t,i],translate:[r,n]}=e,s=this.features,o=this._getQuantizationFunction(this.geometryType,e=>Math.round((e-r)/t),e=>Math.round((n-e)/i));for(let e=0,t=s.length;e<t;e++)o?.(s[e].geometry)||(s.splice(e,1),e--,t--);return this.transform=e,this}unquantize(){const{geometryType:e,features:t,transform:i}=this;if(!i)return this;const{translate:[r,n],scale:[s,o]}=i;let l=null,a=null;if(this.hasZ&&null!=i?.scale?.[2]){const{translate:[,,e],scale:[,,t]}=i;l=i=>i*t+e}if(this.hasM&&null!=i?.scale?.[3]){const{translate:[,,,e],scale:[,,,t]}=i;a=i=>null==i?i:i*t+e}const c=this._getHydrationFunction(e,e=>e*s+r,e=>n-e*o,l,a);for(const{geometry:e}of t)null!=e&&c&&c(e);return this.transform=null,this}readFeaturesWithClass(e,t,i){const r=u.A.fromJSON(t.spatialReference),n=[];for(let t=0;t<e.length;t++){const s=e[t],o=i.fromJSON(s),l=s.geometry?.spatialReference;null==o.geometry||l||(o.geometry.spatialReference=r);const a=s.aggregateGeometries,c=o.aggregateGeometries;if(a&&null!=c)for(const e in c){const t=c[e],i=a[e],n=i?.spatialReference;null==t||n||(t.spatialReference=r)}n.push(o)}return n}_quantizePoints(e,t,i){let r,n;const s=[];for(let o=0,l=e.length;o<l;o++){const l=e[o];if(o>0){const e=t(l[0]),o=i(l[1]);e===r&&o===n||(s.push([e-r,o-n]),r=e,n=o)}else r=t(l[0]),n=i(l[1]),s.push([r,n])}return s.length>0?s:null}_getQuantizationFunction(e,t,i){return"point"===e?e=>(e.x=t(e.x),e.y=i(e.y),e):"polyline"===e||"polygon"===e?e=>{const r=(0,h.Bi)(e)?e.rings:e.paths,n=[];for(let e=0,s=r.length;e<s;e++){const s=r[e],o=this._quantizePoints(s,t,i);o&&n.push(o)}return n.length>0?((0,h.Bi)(e)?e.rings=n:e.paths=n,e):null}:"multipoint"===e?e=>{const r=this._quantizePoints(e.points,t,i);return r&&r.length>0?(e.points=r,e):null}:"extent"===e?e=>e:null}_getHydrationFunction(e,t,i,r,n){return"point"===e?e=>{e.x=t(e.x),e.y=i(e.y),r&&(e.z=r(e.z))}:"polyline"===e||"polygon"===e?e=>{const s=(0,h.Bi)(e)?e.rings:e.paths;let o,l;for(let e=0,r=s.length;e<r;e++){const r=s[e];for(let e=0,n=r.length;e<n;e++){const n=r[e];e>0?(o+=n[0],l+=n[1]):(o=n[0],l=n[1]),n[0]=t(o),n[1]=i(l)}}if(r&&n)for(let e=0,t=s.length;e<t;e++){const t=s[e];for(let e=0,i=t.length;e<i;e++){const i=t[e];i[2]=r(i[2]),i[3]=n(i[3])}}else if(r)for(let e=0,t=s.length;e<t;e++){const t=s[e];for(let e=0,i=t.length;e<i;e++){const i=t[e];i[2]=r(i[2])}}else if(n)for(let e=0,t=s.length;e<t;e++){const t=s[e];for(let e=0,i=t.length;e<i;e++){const i=t[e];i[2]=n(i[2])}}}:"extent"===e?e=>{e.xmin=t(e.xmin),e.ymin=i(e.ymin),e.xmax=t(e.xmax),e.ymax=i(e.ymax),r&&null!=e.zmax&&null!=e.zmin&&(e.zmax=r(e.zmax),e.zmin=r(e.zmin)),n&&null!=e.mmax&&null!=e.mmin&&(e.mmax=n(e.mmax),e.mmin=n(e.mmin))}:"multipoint"===e?e=>{const s=e.points;let o,l;for(let e=0,r=s.length;e<r;e++){const r=s[e];e>0?(o+=r[0],l+=r[1]):(o=r[0],l=r[1]),r[0]=t(o),r[1]=i(l)}if(r&&n)for(let e=0,t=s.length;e<t;e++){const t=s[e];t[2]=r(t[2]),t[3]=n(t[3])}else if(r)for(let e=0,t=s.length;e<t;e++){const t=s[e];t[2]=r(t[2])}else if(n)for(let e=0,t=s.length;e<t;e++){const t=s[e];t[2]=n(t[2])}}:null}};(0,n.Cg)([(0,c.MZ)({type:String,json:{write:!0}})],v.prototype,"displayFieldName",void 0),(0,n.Cg)([(0,c.MZ)({type:Boolean,json:{write:{overridePolicy:e=>({enabled:e})}}})],v.prototype,"exceededTransferLimit",void 0),(0,n.Cg)([(0,c.MZ)({type:[s.A],json:{write:!0}})],v.prototype,"features",void 0),(0,n.Cg)([(0,y.w)("features")],v.prototype,"readFeatures",null),(0,n.Cg)([(0,c.MZ)({type:[g.A],json:{write:!0}})],v.prototype,"fields",void 0),(0,n.Cg)([(0,c.MZ)({type:["point","multipoint","polyline","polygon","extent","mesh"],json:{read:{reader:d.read}}})],v.prototype,"geometryType",void 0),(0,n.Cg)([(0,m.K)("geometryType")],v.prototype,"writeGeometryType",null),(0,n.Cg)([(0,c.MZ)({type:Boolean,json:{write:{overridePolicy:e=>({enabled:e})}}})],v.prototype,"hasM",void 0),(0,n.Cg)([(0,c.MZ)({type:Boolean,json:{write:{overridePolicy:e=>({enabled:e})}}})],v.prototype,"hasZ",void 0),(0,n.Cg)([(0,c.MZ)({types:f.yR,json:{write:!0}})],v.prototype,"queryGeometry",void 0),(0,n.Cg)([(0,y.w)("queryGeometry")],v.prototype,"readQueryGeometry",null),(0,n.Cg)([(0,c.MZ)({type:u.A,json:{write:!0}})],v.prototype,"spatialReference",void 0),(0,n.Cg)([(0,m.K)("spatialReference")],v.prototype,"writeSpatialReference",null),(0,n.Cg)([(0,c.MZ)({json:{write:!0}})],v.prototype,"transform",void 0),v=r=(0,n.Cg)([(0,c.$K)("esri.rest.support.FeatureSet")],v),v.prototype.toJSON.isDefaultToJSON=!0},2272(e,t,i){i.d(t,{Dl:()=>c,gf:()=>h,jV:()=>a,lF:()=>u});var r=i(92602),n=i(70333),s=i(4718),o=i(84952),l=i(926);function a(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,i){const r={};for(const n in e){if("declaredClass"===n)continue;const s=e[n];if(null!=s&&"function"!=typeof s)if(Array.isArray(s))r[n]=s.map(e=>u(e));else if("object"==typeof s)if(s.toJSON){const e=s.toJSON(i?.[n]);r[n]=t?e:JSON.stringify(e)}else r[n]=t?s:JSON.stringify(s);else r[n]=s}return r}async function h(e,t,s){const o=function(e,t){return e?t&&(0,l.Qc)(e)?t:(0,l.getApiKey)(e)??n.id?.findCredential(e)?.token:null}(e,t);if(o)return o;!n.id&&r.A.request.useIdentity&&await Promise.all([i.e(5620),i.e(8971),i.e(7715)]).then(()=>i(50148));const a=await n.id.getCredential(e,s);return a?.token}}}]);