@arcgis/core 4.34.0-next.68 → 4.34.0-next.69

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 (109) hide show
  1. package/applications/Components/analysisUtils.d.ts +1 -0
  2. package/applications/Components/analysisUtils.js +1 -1
  3. package/applications/MapViewer/mediaUtils.d.ts +1 -0
  4. package/applications/MapViewer/mediaUtils.js +1 -1
  5. package/assets/esri/core/workers/RemoteClient.js +1 -1
  6. package/assets/esri/core/workers/chunks/2f44848916051f5501eb.js +1 -0
  7. package/assets/esri/core/workers/chunks/{3f164e587f8d69c306d5.js → 3cef77453623bbb37ad2.js} +1 -1
  8. package/assets/esri/core/workers/chunks/3d2629357242492afcfa.js +1 -0
  9. package/assets/esri/core/workers/chunks/49486c2e12e768b347ed.js +1 -0
  10. package/assets/esri/core/workers/chunks/570b17a1a4ab405bbdcb.js +1 -0
  11. package/assets/esri/core/workers/chunks/5a6b487b70ca85a45f57.js +1 -0
  12. package/assets/esri/core/workers/chunks/6433116597021a9af680.js +1 -0
  13. package/assets/esri/core/workers/chunks/{52483db12203276e726e.js → 7944c18b270c85ff2e41.js} +1 -1
  14. package/assets/esri/core/workers/chunks/{35df19d1eab3a694c3fa.js → 978fab0f0b10edde4ff8.js} +1 -1
  15. package/assets/esri/core/workers/chunks/{27027493a8dba8305693.js → a07321a901d6847d1a6b.js} +1 -1
  16. package/assets/esri/core/workers/chunks/{1ac6bbaee76684a07b64.js → dd84f630466a26722d57.js} +1 -1
  17. package/assets/esri/core/workers/chunks/{451dd3bb44664b4ca2ae.js → e956d437c0c2ea81db93.js} +1 -1
  18. package/assets/esri/core/workers/chunks/f1865b28f0f75cadd716.js +1 -0
  19. package/assets/esri/core/workers/chunks/{d3f59fbaa524b53fcbc6.js → f47a0b9e500af2b9453b.js} +2 -2
  20. package/assets/esri/core/workers/chunks/fe475b1ecdefecfcd541.js +1 -0
  21. package/chunks/LineSeries.js +1 -1
  22. package/config.js +1 -1
  23. package/core/MemCache.js +1 -1
  24. package/core/MemCachePool.js +1 -1
  25. package/interfaces.d.ts +72 -527
  26. package/kernel.js +1 -1
  27. package/layers/support/ElevationTileData.js +1 -1
  28. package/layers/support/gaussianSplatUtils.js +1 -1
  29. package/package.json +1 -1
  30. package/support/revision.js +1 -1
  31. package/views/2d/engine/vectorTiles/RenderBucket.js +1 -1
  32. package/views/2d/engine/vectorTiles/TileHandler3D.js +1 -1
  33. package/views/2d/engine/vectorTiles/VectorTile.js +1 -1
  34. package/views/2d/interactive/editingTools/MediaTransformToolsWrapper.js +5 -0
  35. package/views/3d/analysis/ElevationProfile/ElevationProfileSceneLineComputation.js +1 -1
  36. package/views/3d/analysis/VolumeMeasurement/VolumeMeasurementShiftTool.js +5 -0
  37. package/views/3d/analysis/VolumeMeasurement/VolumeMeasurementTool.js +1 -1
  38. package/views/3d/glTF/loader.js +1 -1
  39. package/views/3d/layers/I3SMeshView3D.js +1 -1
  40. package/views/3d/layers/IntegratedMesh3DTilesLayerView3D.js +1 -1
  41. package/views/3d/layers/PointCloudLayerView3D.js +1 -1
  42. package/views/3d/layers/SceneLayerGraphicsView3D.js +1 -1
  43. package/views/3d/layers/graphics/Graphics3DSymbol.js +1 -1
  44. package/views/3d/layers/graphics/Graphics3DWebStyleSymbol.js +1 -1
  45. package/views/3d/layers/graphics/ObjectResourceCache.js +1 -1
  46. package/views/3d/layers/graphics/QueryEngineCache.js +1 -1
  47. package/views/3d/layers/graphics/wosrLoader.js +1 -1
  48. package/views/3d/layers/i3s/CachedMeshData.js +1 -1
  49. package/views/3d/layers/i3s/I3SOverrides.js +1 -1
  50. package/views/3d/layers/i3s/PointCloudRendererNode.js +1 -1
  51. package/views/3d/layers/support/FeatureTile.js +1 -1
  52. package/views/3d/support/buffer/InterleavedLayout.js +1 -1
  53. package/views/3d/terrain/MapDataCacheItem.js +5 -0
  54. package/views/3d/terrain/OverlayManager.js +1 -1
  55. package/views/3d/terrain/OverlayRenderer.js +1 -1
  56. package/views/3d/terrain/TerrainSurface.js +1 -1
  57. package/views/3d/terrain/Tile.js +1 -1
  58. package/views/3d/terrain/TileTexture.js +1 -1
  59. package/views/3d/webgl/ManagedFBO.js +1 -1
  60. package/views/3d/webgl/ManagedFBOAttachment.js +1 -1
  61. package/views/3d/webgl-engine/core/FBOCache.js +1 -1
  62. package/views/3d/webgl-engine/core/FBOPool.js +1 -1
  63. package/views/3d/webgl-engine/effects/focusArea/FocusAreaColorNode.js +1 -1
  64. package/views/3d/webgl-engine/effects/focusArea/FocusAreaMaskNode.js +1 -1
  65. package/views/3d/webgl-engine/effects/smaa/SMAA.js +1 -1
  66. package/views/3d/webgl-engine/lib/GaussianSplatRenderNode.js +1 -1
  67. package/views/3d/webgl-engine/lib/Renderer.js +1 -1
  68. package/views/3d/webgl-engine/lib/edgeRendering/EdgeView.js +1 -1
  69. package/views/3d/webgl-engine/materials/renderers/MergedRenderer.js +1 -1
  70. package/views/analysis/ElevationProfile/ElevationProfileChart.js +5 -0
  71. package/views/analysis/ElevationProfile/constants.js +1 -1
  72. package/views/analysis/ElevationProfile/elevationProfileChartBoundsUtils.js +5 -0
  73. package/views/analysis/ElevationProfile/elevationProfileChartTheme.js +5 -0
  74. package/views/analysis/ElevationProfile/elevationProfileGeometryUtils.js +1 -1
  75. package/views/webgl/Texture.js +1 -1
  76. package/views/webgl/VertexArrayObject.js +1 -1
  77. package/widgets/ElevationProfile/support/chartUtils.js +1 -1
  78. package/widgets/Feature/FeatureMedia/xyChart.js +1 -1
  79. package/widgets/FeatureTable/FeatureTableViewModel.js +1 -1
  80. package/widgets/support/SelectionList.js +1 -1
  81. package/assets/esri/core/workers/chunks/28cfe1b270602e0c767b.js +0 -1
  82. package/assets/esri/core/workers/chunks/2ad1d458e4d18232a667.js +0 -1
  83. package/assets/esri/core/workers/chunks/7336bfd57f6172ec7186.js +0 -1
  84. package/assets/esri/core/workers/chunks/75dd0acf049c7f3271b8.js +0 -1
  85. package/assets/esri/core/workers/chunks/900eb2aa5cb1b08e1906.js +0 -1
  86. package/assets/esri/core/workers/chunks/ad69cceec8db593fac14.js +0 -1
  87. package/assets/esri/core/workers/chunks/bc9f54a6b577c43189fd.js +0 -1
  88. package/assets/esri/core/workers/chunks/de443d29d1a6b5300d00.js +0 -1
  89. package/graphic/BuildingGraphicOrigin.d.ts +0 -4
  90. package/graphic/CSVGraphicOrigin.d.ts +0 -4
  91. package/graphic/CatalogGraphicOrigin.d.ts +0 -4
  92. package/graphic/FeatureGraphicOrigin.d.ts +0 -4
  93. package/graphic/GeoJSONGraphicOrigin.d.ts +0 -4
  94. package/graphic/GeoRSSGraphicOrigin.d.ts +0 -4
  95. package/graphic/KnowledgeGraphGraphicOrigin.d.ts +0 -4
  96. package/graphic/MapImageGraphicOrigin.d.ts +0 -4
  97. package/graphic/MapNotesGraphicOrigin.d.ts +0 -4
  98. package/graphic/OGCFeatureGraphicOrigin.d.ts +0 -4
  99. package/graphic/OrientedImageryGraphicOrigin.d.ts +0 -4
  100. package/graphic/ParquetGraphicOrigin.d.ts +0 -4
  101. package/graphic/PointCloudGraphicOrigin.d.ts +0 -4
  102. package/graphic/SceneGraphicOrigin.d.ts +0 -4
  103. package/graphic/StreamGraphicOrigin.d.ts +0 -4
  104. package/graphic/SubtypeGroupGraphicOrigin.d.ts +0 -4
  105. package/graphic/TileGraphicOrigin.d.ts +0 -4
  106. package/graphic/VoxelGraphicOrigin.d.ts +0 -4
  107. package/graphic/WCSGraphicOrigin.d.ts +0 -4
  108. package/graphic/WFSGraphicOrigin.d.ts +0 -4
  109. package/graphic/graphicOrigins.d.ts +0 -22
@@ -1 +1 @@
1
- "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[7375,9738],{21015:(e,t,r)=>{r.d(t,{R:()=>u});var n=r(78888),o=r(60999),s=r(49186),a=r(74887),i=r(84952);class u{constructor(e){this._streamDataRequester=e}async loadJSON(e,t){return this._load(0,e,t)}async loadBinary(e,t){return(0,i.DB)(e)?((0,a.Te)(t),(0,i.lJ)(e)):this._load(1,e,t)}async loadImage(e,t){return this._load(2,e,t)}async _load(e,t,r){if(null==this._streamDataRequester)return(await(0,n.A)(t,{responseType:l[e]})).data;const i=await(0,o.Ke)(this._streamDataRequester.request(t,e,r));if(!0===i.ok)return i.value;throw(0,a.QP)(i.error),new s.A("glt-loader-request-error",`Request for resource failed: ${i.error}`)}}const l={2:"image",1:"array-buffer",0:"json",3:void 0}},24045:(e,t,r)=>{function n(e,t){const r=e.count;t||(t=new e.TypedArrayConstructor(r));for(let n=0;n<r;n++)t[n]=e.get(n);return t}r.d(t,{m:()=>n}),Object.freeze(Object.defineProperty({__proto__:null,makeDense:n},Symbol.toStringTag,{value:"Module"}))},43609:(e,t,r)=>{r.d(t,{a:()=>s,f:()=>a,n:()=>o});var n=r(34275);function o(e,t){s(e.typedBuffer,t.typedBuffer,e.typedBufferStride,t.typedBufferStride)}function s(e,t,r=2,o=r){const s=t.length/2;let a=0,i=0;if(!(0,n.iu)(t)||(0,n.dk)(t)){for(let n=0;n<s;++n)e[a]=t[i],e[a+1]=t[i+1],a+=r,i+=o;return}const u=(0,n.a3)(t);if((0,n.JI)(t))for(let n=0;n<s;++n)e[a]=Math.max(t[i]/u,-1),e[a+1]=Math.max(t[i+1]/u,-1),a+=r,i+=o;else for(let n=0;n<s;++n)e[a]=t[i]/u,e[a+1]=t[i+1]/u,a+=r,i+=o}function a(e,t,r,n){const o=e.typedBuffer,s=e.typedBufferStride,a=n?.count??e.count;let i=(n?.dstIndex??0)*s;for(let e=0;e<a;++e)o[i]=t,o[i+1]=r,i+=s}Object.freeze(Object.defineProperty({__proto__:null,fill:a,normalizeIntegerBuffer:s,normalizeIntegerBufferView:o},Symbol.toStringTag,{value:"Module"}))},46140:(e,t,r)=>{r.d(t,{R:()=>o});var n=r(49186);let o=class e{constructor(e,t,r=""){this.major=e,this.minor=t,this._context=r}lessThan(e,t){return this.major<e||e===this.major&&this.minor<t}greaterEqual(e,t){return!this.lessThan(e,t)}validate(e){if(this.major!==e.major){const t=this._context&&this._context+":",r=this._context&&this._context+" ";throw new n.A(t+"unsupported-version",`Required major ${r}version is '${this.major}', but got '\${version.major}.\${version.minor}'`,{version:e})}}clone(){return new e(this.major,this.minor,this._context)}static parse(t,r=""){const[o,s]=t.split("."),a=/^\s*\d+\s*$/;if(!o?.match||!a.test(o))throw new n.A((r&&r+":")+"invalid-version","Expected major version to be a number, but got '${version}'",{version:t});if(!s?.match||!a.test(s))throw new n.A((r&&r+":")+"invalid-version","Expected minor version to be a number, but got '${version}'",{version:t});const i=parseInt(o,10),u=parseInt(s,10);return new e(i,u,r)}}},51530:(e,t,r)=>{r.d(t,{KB:()=>a,Xi:()=>o,pn:()=>i,x3:()=>s});var n=r(44208);class o{constructor(e){this.data=e,this.type="encoded-mesh-texture",this.encoding="image/ktx2"}}function s(e){return"encoded-mesh-texture"===e?.type}async function a(e){const t=new Blob([e]),r=await t.text();return JSON.parse(r)}async function i(e,t){if("image/ktx2"===t)return new o(e);const r=new Blob([e],{type:t});let s=URL.createObjectURL(r);switch(t){case"image/jpeg":s+="#.jpg";break;case"image/png":s+="#.png"}const a=new Image;if((0,n.A)("esri-iPhone"))return new Promise((e,t)=>{const r=()=>{o(),e(a)},n=e=>{o(),t(e)},o=()=>{URL.revokeObjectURL(s),a.removeEventListener("load",r),a.removeEventListener("error",n)};a.addEventListener("load",r),a.addEventListener("error",n),a.src=s});try{a.src=s,await a.decode()}catch(e){console.warn("Failed decoding HTMLImageElement")}return URL.revokeObjectURL(s),a}},63907:(e,t,r)=>{r.d(t,{CQ:()=>T,Fq:()=>p,H0:()=>s,SB:()=>u,WR:()=>n,XN:()=>a,iE:()=>i,ld:()=>l,nI:()=>m,pe:()=>o,r6:()=>f,vt:()=>c,yI:()=>d});const n={POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6},o={BYTE:5120,UNSIGNED_BYTE:5121,SHORT:5122,UNSIGNED_SHORT:5123,INT:5124,UNSIGNED_INT:5125,FLOAT:5126,HALF_FLOAT:5131},s={RGBA4:32854,R16F:33325,RG16F:33327,RGB32F:34837,RGBA16F:34842,R32F:33326,RG32F:33328,RGBA32F:34836,R11F_G11F_B10F:35898,RGB8:32849,RGBA8:32856,RGB5_A1:32855,R8:33321,RG8:33323,R8I:33329,R8UI:33330,R16I:33331,R16UI:33332,R32I:33333,R32UI:33334,RG8I:33335,RG8UI:33336,RG16I:33337,RG16UI:33338,RG32I:33339,RG32UI:33340,RGB16F:34843,RGB9_E5:35901,SRGB8:35905,SRGB8_ALPHA8:35907,RGB565:36194,RGBA32UI:36208,RGB32UI:36209,RGBA16UI:36214,RGB16UI:36215,RGBA8UI:36220,RGB8UI:36221,RGBA32I:36226,RGB32I:36227,RGBA16I:36232,RGB16I:36233,RGBA8I:36238,RGB8I:36239,R8_SNORM:36756,RG8_SNORM:36757,RGB8_SNORM:36758,RGBA8_SNORM:36759,RGB10_A2:32857,RGB10_A2UI:36975},a=Object.values(s),i={DEPTH24_STENCIL8:35056,DEPTH32F_STENCIL8:36013},u={DEPTH_COMPONENT16:33189,DEPTH_COMPONENT24:33190,DEPTH_COMPONENT32F:36012},l={FLOAT:o.FLOAT,UNSIGNED_BYTE:o.UNSIGNED_BYTE,UNSIGNED_INT_24_8:34042,UNSIGNED_SHORT_4_4_4_4:32819,UNSIGNED_SHORT_5_5_5_1:32820,UNSIGNED_SHORT_5_6_5:33635,BYTE:o.BYTE,UNSIGNED_SHORT:o.UNSIGNED_SHORT,SHORT:o.SHORT,UNSIGNED_INT:o.UNSIGNED_INT,INT:o.INT,HALF_FLOAT:5131,UNSIGNED_INT_2_10_10_10_REV:33640,UNSIGNED_INT_10F_11F_11F_REV:35899,UNSIGNED_INT_5_9_9_9_REV:35902,FLOAT_32_UNSIGNED_INT_24_8_REV:36269},c={Texture:0,TileTexture:1,BufferObject:2,VertexArrayObject:3,Shader:4,Program:5,FramebufferObject:6,Renderbuffer:7,TransformFeedback:8,Sync:9,UNCOUNTED:10,LinesOfCode:10,Uniform:11,COUNT:12},f=36064,d=36065,p=36066,m=33306,T={COMPRESSED_RGB_S3TC_DXT1_EXT:33776,COMPRESSED_RGBA_S3TC_DXT1_EXT:33777,COMPRESSED_RGBA_S3TC_DXT3_EXT:33778,COMPRESSED_RGBA_S3TC_DXT5_EXT:33779,COMPRESSED_R11_EAC:37488,COMPRESSED_SIGNED_R11_EAC:37489,COMPRESSED_RG11_EAC:37490,COMPRESSED_SIGNED_RG11_EAC:37491,COMPRESSED_RGB8_ETC2:37492,COMPRESSED_SRGB8_ETC2:37493,COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2:37494,COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2:37495,COMPRESSED_RGBA8_ETC2_EAC:37496,COMPRESSED_SRGB8_ALPHA8_ETC2_EAC:37497}},84498:(e,t,r)=>{r.d(t,{x:()=>a});var n=r(34275),o=r(97146),s=r(63907);function a(e,t){switch(t){case s.WR.TRIANGLES:return function(e){return"number"==typeof e?(0,o.tM)(e):(0,n.mg)(e)?new Uint16Array(e):e}(e);case s.WR.TRIANGLE_STRIP:return function(e){const t="number"==typeof e?e:e.length;if(t<3)return[];const r=t-2,n=(0,o.my)(3*r);if("number"==typeof e){let e=0;for(let t=0;t<r;t+=1)t%2==0?(n[e++]=t,n[e++]=t+1,n[e++]=t+2):(n[e++]=t+1,n[e++]=t,n[e++]=t+2)}else{let t=0;for(let o=0;o<r;o+=1)o%2==0?(n[t++]=e[o],n[t++]=e[o+1],n[t++]=e[o+2]):(n[t++]=e[o+1],n[t++]=e[o],n[t++]=e[o+2])}return n}(e);case s.WR.TRIANGLE_FAN:return function(e){const t="number"==typeof e?e:e.length;if(t<3)return new Uint16Array(0);const r=t-2,n=r<=65536?new Uint16Array(3*r):new Uint32Array(3*r);if("number"==typeof e){let e=0;for(let t=0;t<r;++t)n[e++]=0,n[e++]=t+1,n[e++]=t+2;return n}const o=e[0];let s=e[1],a=0;for(let t=0;t<r;++t){const r=e[t+2];n[a++]=o,n[a++]=s,n[a++]=r,s=r}return n}(e)}}},90239:(e,t,r)=>{function n(e){switch(e){case"u8":case"i8":return 1;case"u16":case"i16":case"f16":return 2;case"u32":case"i32":case"f32":return 4;case"f64":return 8}}r.d(t,{GJ:()=>n})},97375:(e,t,r)=>{r.r(t),r.d(t,{loadGLTFMesh:()=>L});var n=r(68197),o=r(40876),s=r(78888),a=r(49186),i=r(91869),u=r(34727),l=r(77690),c=r(29242),f=r(51850),d=r(91829),p=r(16939),m=r(80882),T=r(35063),h=r(51147),_=r(1193),g=r(27615),w=r(13030),y=r(73354),x=r(65686),b=r(90239);Object.freeze(Object.defineProperty({__proto__:null,copy:function(e,t,r){const n=e.typedBuffer,o=e.typedBufferStride,s=t.typedBuffer,a=t.typedBufferStride,i=r?r.count:t.count;let u=(r?.dstIndex??0)*o,l=(r?.srcIndex??0)*a;for(let e=0;e<i;++e){for(let e=0;e<9;++e)n[u+e]=s[l+e];u+=o,l+=a}}},Symbol.toStringTag,{value:"Module"})),Object.freeze(Object.defineProperty({__proto__:null,copy:function(e,t,r){const n=e.typedBuffer,o=e.typedBufferStride,s=t.typedBuffer,a=t.typedBufferStride,i=r?r.count:t.count;let u=(r?.dstIndex??0)*o,l=(r?.srcIndex??0)*a;for(let e=0;e<i;++e){for(let e=0;e<16;++e)n[u+e]=s[l+e];u+=o,l+=a}}},Symbol.toStringTag,{value:"Module"})),r(24045);var S=r(43609);function R(e,t,r=3,n=r){const o=t.length/n;let s=0,a=0;for(let i=0;i<o;++i)e[s]=t[a],e[s+1]=t[a+1],e[s+2]=t[a+2],s+=r,a+=n}function A(e,t,r,n,o){const s=e.typedBuffer,a=e.typedBufferStride,i=o?.count??e.count;let u=(o?.dstIndex??0)*a;for(let e=0;e<i;++e)s[u]=t,s[u+1]=r,s[u+2]=n,u+=a}function E(e,t,r=4){const n=t.typedBuffer,o=t.typedBufferStride,s=t.count;let a=0,i=0;for(let t=0;t<s;++t)e[a]=n[i],e[a+1]=n[i+1],e[a+2]=n[i+2],e[a+3]=n[i+3],a+=r,i+=o}function O(e,t,r,n,o,s){const a=e.typedBuffer,i=e.typedBufferStride,u=s?.count??e.count;let l=(s?.dstIndex??0)*i;for(let e=0;e<u;++e)a[l]=t,a[l+1]=r,a[l+2]=n,a[l+3]=o,l+=i}function N(e,t){return new e(new ArrayBuffer(t*e.ElementCount*(0,b.GJ)(e.ElementType)))}Object.freeze(Object.defineProperty({__proto__:null,copy:R,copyView:function(e,t){R(e.typedBuffer,t.typedBuffer,e.typedBufferStride,t.typedBufferStride)},fill:A},Symbol.toStringTag,{value:"Module"})),Object.freeze(Object.defineProperty({__proto__:null,copy:E,copyView:function(e,t){E(e.typedBuffer,t,e.typedBufferStride)},fill:O},Symbol.toStringTag,{value:"Module"}));var v=r(72258),I=r(21015),C=r(99738),B=r(84498),G=r(51530);async function L(e,t,r){const o=new I.R(function(e){const t=e?.resolveFile;return t?{busy:!1,request:async(e,r,n)=>{const o=t?.(e)??e,a=2===r?"image":1===r||3===r?"array-buffer":"json";return(await(0,s.A)(o,{responseType:a,signal:n?.signal,timeout:0})).data}}:null}(r)),l=(await(0,C.loadGLTF)(o,t,r,!0)).model,c=l.lods.shift(),p=new Map,y=new Map;l.textures.forEach((e,t)=>p.set(t,function(e){return new T.A({data:((0,G.x3)(e.data),e.data),wrap:P(e.parameters.wrap)})}(e))),l.materials.forEach((e,t)=>y.set(t,function(e,t){const r=new n.A(function(e,t){return(0,d.fA)(H(e[0]),H(e[1]),H(e[2]),t)}(e.color,e.opacity)),o=e.emissiveFactor?new n.A(function(e){return(0,f.fA)(H(e[0]),H(e[1]),H(e[2]))}(e.emissiveFactor)):null,s=e=>e?new h.A({scale:e.scale?[e.scale[0],e.scale[1]]:[1,1],rotation:(0,u.KJ)(e.rotation??0),offset:e.offset?[e.offset[0],e.offset[1]]:[0,0]}):null;return new m.A({color:r,colorTexture:t.get(e.colorTexture),normalTexture:t.get(e.normalTexture),emissiveColor:o,emissiveTexture:t.get(e.emissiveTexture),occlusionTexture:t.get(e.occlusionTexture),alphaMode:D(e.alphaMode),alphaCutoff:e.alphaCutoff,doubleSided:e.doubleSided,metallic:e.metallicFactor,roughness:e.roughnessFactor,metallicRoughnessTexture:t.get(e.metallicRoughnessTexture),colorTextureTransform:s(e.colorTextureTransform),normalTextureTransform:s(e.normalTextureTransform),occlusionTextureTransform:s(e.occlusionTextureTransform),emissiveTextureTransform:s(e.emissiveTextureTransform),metallicRoughnessTextureTransform:s(e.metallicRoughnessTextureTransform)})}(e,p)));const x=function(e){let t=0;const r={color:!1,tangent:!1,normal:!1,texCoord0:!1},n=new Map,o=new Map,s=[];for(const a of e.parts){const{position:e,normal:u,color:l,tangent:c,texCoord0:f}=a.attributes,d=`\n ${M(e,n)}/\n ${M(u,n)}/\n ${M(l,n)}/\n ${M(c,n)}/\n ${M(f,n)}/\n ${U(a.transform)}\n `;let p=!1;const m=(0,i.tE)(o,d,()=>(p=!0,{start:t,length:e.count}));p&&(t+=e.count),u&&(r.normal=!0),l&&(r.color=!0),c&&(r.tangent=!0),f&&(r.texCoord0=!0),s.push({gltf:a,writeVertices:p,region:m})}return{vertexAttributes:{position:N(w.Xm,t),normal:r.normal?N(w.xs,t):null,tangent:r.tangent?N(w.Eq,t):null,color:r.color?N(w.XP,t):null,texCoord0:r.texCoord0?N(w.gH,t):null},parts:s,components:[]}}(c);for(const e of x.parts)F(x,e,y);const{position:b,normal:S,tangent:R,color:A,texCoord0:E}=x.vertexAttributes,O=(0,g.TE)(e,r),B=e.spatialReference.isGeographic?(0,g.TE)(e):O,L=(0,v.UR)({vertexAttributes:{position:b.typedBuffer,normal:S?.typedBuffer,tangent:R?.typedBuffer},vertexSpace:B,spatialReference:e.spatialReference},O,{allowBufferReuse:!0,sourceUnit:r?.unitConversionDisabled?void 0:"meters"});if(!L)throw new a.A("load-gltf-mesh:vertex-space-projection",`Failed to load mesh from glTF because we could not convert the vertex space from ${B.type} to ${O.type}`);return{transform:null,vertexSpace:O,components:x.components,spatialReference:e.spatialReference,vertexAttributes:new _.H({...L,color:A?.typedBuffer,uv:E?.typedBuffer})}}function M(e,t){if(null==e)return"-";const r=e.typedBuffer;return`${(0,i.tE)(t,r.buffer,()=>t.size)}/${r.byteOffset}/${r.byteLength}`}function U(e){return null!=e?e.toString():"-"}function F(e,t,r){t.writeVertices&&function(e,t){const{position:r,normal:n,tangent:o,color:s,texCoord0:a}=e.vertexAttributes,i=t.region.start,{attributes:f,transform:d}=t.gltf,p=f.position.count;if((0,y.d)(r.slice(i,p),f.position,d),null!=f.normal&&null!=n){const e=(0,l.Ge)((0,c.vt)(),d),t=n.slice(i,p);(0,y.c)(t,f.normal,e),(0,u.or)(e)&&(0,y.e)(t,t)}else null!=n&&A(n,0,0,1,{dstIndex:i,count:p});if(null!=f.tangent&&null!=o){const e=(0,l.z0)((0,c.vt)(),d),t=o.slice(i,p);(0,x.a)(t,f.tangent,e),(0,u.or)(e)&&(0,x.n)(t,t)}else null!=o&&O(o,0,0,1,1,{dstIndex:i,count:p});if(null!=f.texCoord0&&null!=a?(0,S.n)(a.slice(i,p),f.texCoord0):null!=a&&(0,S.f)(a,0,0,{dstIndex:i,count:p}),null!=f.color&&null!=s){const e=f.color,t=s.slice(i,p);if(4===e.elementCount)e instanceof w.Eq?(0,x.l)(t,e,1,255):(e instanceof w.XP||e instanceof w.Uz)&&(0,x.l)(t,e,1/255,255);else{O(t,255,255,255,255);const r=w.eI.fromTypedArray(t.typedBuffer,t.typedBufferStride);e instanceof w.xs?(0,y.l)(r,e,1,255):(e instanceof w.eI||e instanceof w.nS)&&(0,y.l)(r,e,1/255,255)}}else null!=s&&O(s.slice(i,p),255,255,255,255)}(e,t);const{indices:n,attributes:o,primitiveType:s,material:a}=t.gltf;let i=(0,B.x)(n||o.position.count,s);const f=t.region.start;if(f){const e=new Uint32Array(i);for(let t=0;t<i.length;t++)e[t]+=f;i=e}e.components.push(new p.A({name:t.gltf.name,faces:i,material:r.get(a),shading:o.normal?"source":"flat",trustSourceNormals:!0}))}function D(e){switch(e){case"OPAQUE":return"opaque";case"MASK":return"mask";case"BLEND":return"blend"}}function P(e){return{horizontal:j(e.s),vertical:j(e.t)}}function j(e){switch(e){case 33071:return"clamp";case 33648:return"mirror";case 10497:return"repeat"}}function H(e){return e**(1/o.Tf)*255}},99738:(e,t,r)=>{r.d(t,{loadGLTF:()=>D});var n=r(53966),o=r(93637),s=r(9093),a=r(49186),i=r(91869),u=r(74887),l=r(84952),c=r(46140),f=r(58083),d=r(67026),p=r(82534),m=r(13030),T=r(24045);r(44208);class h{constructor(e){this._data=e,this._offset4=0,this._dataUint32=new Uint32Array(this._data,0,Math.floor(this._data.byteLength/4))}readUint32(){const e=this._offset4;return this._offset4+=1,this._dataUint32[e]}readUint8Array(e){const t=4*this._offset4;return this._offset4+=e/4,new Uint8Array(this._data,t,e)}remainingBytes(){return this._data.byteLength-4*this._offset4}}var _=r(21818);const g={baseColorFactor:[1,1,1,1],metallicFactor:1,roughnessFactor:1},w={pbrMetallicRoughness:g,emissiveFactor:[0,0,0],alphaMode:"OPAQUE",alphaCutoff:.5,doubleSided:!1},y={ESRI_externalColorMixMode:"tint",ESRI_receiveShadows:!0,ESRI_receiveAmbientOcclusion:!0},x=(e={})=>{const t={...g,...e.pbrMetallicRoughness},r=function(e){switch(e.ESRI_externalColorMixMode){case"multiply":case"tint":case"ignore":case"replace":break;default:(0,_.Xb)(e.ESRI_externalColorMixMode),e.ESRI_externalColorMixMode="tint"}return e}({...y,...e.extras});return{...w,...e,pbrMetallicRoughness:t,extras:r}},b={magFilter:9729,minFilter:9987,wrapS:10497,wrapT:10497},S=e=>({...b,...e});var R=r(51530),A=r(63907);const E=1179937895;class O{constructor(e,t,r,n){if(this._context=e,this.uri=t,this.json=r,this._glbBuffer=n,this._bufferLoaders=new Map,this._textureLoaders=new Map,this._textureCache=new Map,this._materialCache=new Map,this._nodeParentMap=new Map,this._nodeTransformCache=new Map,this._supportedExtensions=["KHR_texture_basisu","KHR_texture_transform"],this._baseUri=function(e){let t,r;return e.replace(/^(.*\/)?([^/]*)$/,(e,n,o)=>(t=n||"",r=o||"","")),{dirPart:t,filePart:r}}(this.uri).dirPart,this._checkVersionSupported(),this._checkRequiredExtensionsSupported(),null==r.scenes)throw new a.A("gltf-loader-unsupported-feature","Scenes must be defined.");if(null==r.meshes)throw new a.A("gltf-loader-unsupported-feature","Meshes must be defined");if(null==r.nodes)throw new a.A("gltf-loader-unsupported-feature","Nodes must be defined.");this._computeNodeParents()}static async load(e,t,r){if((0,l.DB)(t)){const r=(0,l.r$)(t);if(r&&"model/gltf-binary"!==r.mediaType)try{const n=JSON.parse(r.isBase64?atob(r.data):r.data);return new O(e,t,n)}catch{}const n=(0,l.lJ)(t);if(O._isGLBData(n))return this._fromGLBData(e,t,n)}if(M.test(t)||"gltf"===r?.expectedType){const n=await e.loadJSON(t,r);return new O(e,t,n)}const n=await e.loadBinary(t,r);if(O._isGLBData(n))return this._fromGLBData(e,t,n);if(U.test(t)||"glb"===r?.expectedType)throw new a.A("gltf-loader-invalid-glb","This is not a valid glb file.");const o=await e.loadJSON(t,r);return new O(e,t,o)}static _isGLBData(e){if(null==e)return!1;const t=new h(e);return t.remainingBytes()>=4&&t.readUint32()===E}static async _fromGLBData(e,t,r){const n=await O._parseGLBData(r);return new O(e,t,n.json,n.binaryData)}static async _parseGLBData(e){const t=new h(e);if(t.remainingBytes()<12)throw new a.A("gltf-loader-error","glb binary data is insufficiently large.");const r=t.readUint32(),o=t.readUint32(),s=t.readUint32();if(r!==E)throw new a.A("gltf-loader-error","Magic first 4 bytes do not fit to expected glb value.");if(e.byteLength<s)throw new a.A("gltf-loader-error","glb binary data is smaller than header specifies.");if(2!==o)throw new a.A("gltf-loader-unsupported-feature","An unsupported glb container version was detected. Only version 2 is supported.");let i,u,l=0;for(;t.remainingBytes()>=8;){const e=t.readUint32(),r=t.readUint32();if(0===l){if(1313821514!==r)throw new a.A("gltf-loader-error","First glb chunk must be JSON.");if(e<0)throw new a.A("gltf-loader-error","No JSON data found.");i=await(0,R.KB)(t.readUint8Array(e))}else if(1===l){if(5130562!==r)throw new a.A("gltf-loader-unsupported-feature","Second glb chunk expected to be BIN.");u=t.readUint8Array(e)}else n.A.getLogger("esri.views.3d.glTF").warn("[Unsupported Feature] More than 2 glb chunks detected. Skipping.");l+=1}if(!i)throw new a.A("gltf-loader-error","No glb JSON chunk detected.");return{json:i,binaryData:u}}async getBuffer(e,t){const r=this.json.buffers[e];if(null==r.uri){if(null==this._glbBuffer)throw new a.A("gltf-loader-error","glb buffer not present");return this._glbBuffer}const n=await this._getBufferLoader(e,t);if(n.byteLength!==r.byteLength)throw new a.A("gltf-loader-error","Buffer byte lengths should match.");return n}async _getBufferLoader(e,t){const r=this._bufferLoaders.get(e);if(r)return r;const n=this.json.buffers[e].uri,o=this._context.loadBinary(this._resolveUri(n),t).then(e=>new Uint8Array(e));return this._bufferLoaders.set(e,o),o}async getAccessor(e,t){if(!this.json.accessors)throw new a.A("gltf-loader-unsupported-feature","Accessors missing.");const r=this.json.accessors[e];if(null==r?.bufferView)throw new a.A("gltf-loader-unsupported-feature","Some accessor does not specify a bufferView.");if(r.type in["MAT2","MAT3","MAT4"])throw new a.A("gltf-loader-unsupported-feature",`AttributeType ${r.type} is not supported`);const n=this.json.bufferViews[r.bufferView],o=await this.getBuffer(n.buffer,t),s=C[r.type],i=B[r.componentType],u=s*i,l=n.byteStride||u;return{raw:o.buffer,byteStride:l,byteOffset:o.byteOffset+(n.byteOffset||0)+(r.byteOffset||0),entryCount:r.count,isDenselyPacked:l===u,componentCount:s,componentByteSize:i,componentType:r.componentType,min:r.min,max:r.max,normalized:!!r.normalized}}async getIndexData(e,t){if(null==e.indices)return;const r=await this.getAccessor(e.indices,t);if(r.isDenselyPacked)switch(r.componentType){case A.pe.UNSIGNED_BYTE:return new Uint8Array(r.raw,r.byteOffset,r.entryCount);case A.pe.UNSIGNED_SHORT:return new Uint16Array(r.raw,r.byteOffset,r.entryCount);case A.pe.UNSIGNED_INT:return new Uint32Array(r.raw,r.byteOffset,r.entryCount)}else switch(r.componentType){case A.pe.UNSIGNED_BYTE:return(0,T.m)(G(m.SL,r));case A.pe.UNSIGNED_SHORT:return(0,T.m)(G(m.h,r));case A.pe.UNSIGNED_INT:return(0,T.m)(G(m.P,r))}}async getPositionData(e,t){if(null==e.attributes.POSITION)throw new a.A("gltf-loader-unsupported-feature","No POSITION vertex data found.");const r=await this.getAccessor(e.attributes.POSITION,t);if(r.componentType!==A.pe.FLOAT)throw new a.A("gltf-loader-unsupported-feature","Expected type FLOAT for POSITION vertex attribute, but found "+(0,o.i7)(A.pe,r.componentType));if(3!==r.componentCount)throw new a.A("gltf-loader-unsupported-feature","POSITION vertex attribute must have 3 components, but found "+r.componentCount.toFixed());return G(m.xs,r)}async getNormalData(e,t){if(null==e.attributes.NORMAL)throw new a.A("gltf-loader-error","No NORMAL vertex data found.");const r=await this.getAccessor(e.attributes.NORMAL,t);if(r.componentType!==A.pe.FLOAT)throw new a.A("gltf-loader-unsupported-feature","Expected type FLOAT for NORMAL vertex attribute, but found "+(0,o.i7)(A.pe,r.componentType));if(3!==r.componentCount)throw new a.A("gltf-loader-unsupported-feature","NORMAL vertex attribute must have 3 components, but found "+r.componentCount.toFixed());return G(m.xs,r)}async getTangentData(e,t){if(null==e.attributes.TANGENT)throw new a.A("gltf-loader-error","No TANGENT vertex data found.");const r=await this.getAccessor(e.attributes.TANGENT,t);if(r.componentType!==A.pe.FLOAT)throw new a.A("gltf-loader-unsupported-feature","Expected type FLOAT for TANGENT vertex attribute, but found "+(0,o.i7)(A.pe,r.componentType));if(4!==r.componentCount)throw new a.A("gltf-loader-unsupported-feature","TANGENT vertex attribute must have 4 components, but found "+r.componentCount.toFixed());return G(m.Eq,r)}async getTextureCoordinates(e,t){if(null==e.attributes.TEXCOORD_0)throw new a.A("gltf-loader-error","No TEXCOORD_0 vertex data found.");const r=await this.getAccessor(e.attributes.TEXCOORD_0,t);if(2!==r.componentCount)throw new a.A("gltf-loader-unsupported-feature","TEXCOORD_0 vertex attribute must have 2 components, but found "+r.componentCount.toFixed());if(r.componentType===A.pe.FLOAT)return G(m.gH,r);if(!r.normalized)throw new a.A("gltf-loader-unsupported-feature","Integer component types are only supported for a normalized accessor for TEXCOORD_0.");return function(e){switch(e.componentType){case A.pe.BYTE:return new m.D6(e.raw,e.byteOffset,e.byteStride,e.byteOffset+e.byteStride*e.entryCount);case A.pe.UNSIGNED_BYTE:return new m.LC(e.raw,e.byteOffset,e.byteStride,e.byteOffset+e.byteStride*e.entryCount);case A.pe.SHORT:return new m.mJ(e.raw,e.byteOffset,e.byteStride,e.byteOffset+e.byteStride*e.entryCount);case A.pe.UNSIGNED_SHORT:return new m.Yi(e.raw,e.byteOffset,e.byteStride,e.byteOffset+e.byteStride*e.entryCount);case A.pe.UNSIGNED_INT:return new m.An(e.raw,e.byteOffset,e.byteStride,e.byteOffset+e.byteStride*e.entryCount);case A.pe.FLOAT:return new m.gH(e.raw,e.byteOffset,e.byteStride,e.byteOffset+e.byteStride*e.entryCount)}}(r)}async getVertexColors(e,t){if(null==e.attributes.COLOR_0)throw new a.A("gltf-loader-error","No COLOR_0 vertex data found.");const r=await this.getAccessor(e.attributes.COLOR_0,t);if(4!==r.componentCount&&3!==r.componentCount)throw new a.A("gltf-loader-unsupported-feature","COLOR_0 attribute must have 3 or 4 components, but found "+r.componentCount.toFixed());if(4===r.componentCount){if(r.componentType===A.pe.FLOAT)return G(m.Eq,r);if(r.componentType===A.pe.UNSIGNED_BYTE)return G(m.XP,r);if(r.componentType===A.pe.UNSIGNED_SHORT)return G(m.Uz,r)}else if(3===r.componentCount){if(r.componentType===A.pe.FLOAT)return G(m.xs,r);if(r.componentType===A.pe.UNSIGNED_BYTE)return G(m.eI,r);if(r.componentType===A.pe.UNSIGNED_SHORT)return G(m.nS,r)}throw new a.A("gltf-loader-unsupported-feature","Unsupported component type for COLOR_0 attribute: "+(0,o.i7)(A.pe,r.componentType))}hasPositions(e){return void 0!==e.attributes.POSITION}hasNormals(e){return void 0!==e.attributes.NORMAL}hasVertexColors(e){return void 0!==e.attributes.COLOR_0}hasTextureCoordinates(e){return void 0!==e.attributes.TEXCOORD_0}hasTangents(e){return void 0!==e.attributes.TANGENT}async getMaterial(e,t,r){let n=e.material?this._materialCache.get(e.material):void 0;if(!n){const o=null!=e.material?x(this.json.materials[e.material]):x(),s=o.pbrMetallicRoughness,a=this.hasVertexColors(e),i=this.getTexture(s.baseColorTexture,t),u=this.getTexture(o.normalTexture,t),l=r?this.getTexture(o.occlusionTexture,t):void 0,c=r?this.getTexture(o.emissiveTexture,t):void 0,f=r?this.getTexture(s.metallicRoughnessTexture,t):void 0,d=null!=e.material?e.material:-1;n={alphaMode:o.alphaMode,alphaCutoff:o.alphaCutoff,color:s.baseColorFactor,doubleSided:!!o.doubleSided,colorTexture:await i,normalTexture:await u,name:o.name,id:d,occlusionTexture:await l,emissiveTexture:await c,emissiveFactor:o.emissiveFactor,metallicFactor:s.metallicFactor,roughnessFactor:s.roughnessFactor,metallicRoughnessTexture:await f,hasVertexColors:a,ESRI_externalColorMixMode:o.extras.ESRI_externalColorMixMode,colorTextureTransform:s?.baseColorTexture?.extensions?.KHR_texture_transform,normalTextureTransform:o.normalTexture?.extensions?.KHR_texture_transform,occlusionTextureTransform:o.occlusionTexture?.extensions?.KHR_texture_transform,emissiveTextureTransform:o.emissiveTexture?.extensions?.KHR_texture_transform,metallicRoughnessTextureTransform:s?.metallicRoughnessTexture?.extensions?.KHR_texture_transform,receiveAmbientOcclusion:o.extras.ESRI_receiveAmbientOcclusion,receiveShadows:o.extras.ESRI_receiveShadows}}return n}async getTexture(e,t){if(!e)return;if(0!==(e.texCoord||0))throw new a.A("gltf-loader-unsupported-feature","Only TEXCOORD with index 0 is supported.");const r=e.index,n=this.json.textures[r],o=S(null!=n.sampler?this.json.samplers[n.sampler]:{}),s=L(n),u=this.json.images[s],l=await this._loadTextureImageData(r,n,t);return(0,i.tE)(this._textureCache,r,()=>{const e=e=>33071===e||33648===e||10497===e,t=e=>{throw new a.A("gltf-loader-error",`Unexpected TextureSampler WrapMode: ${e}`)};return{data:l,wrapS:e(o.wrapS)?o.wrapS:t(o.wrapS),wrapT:e(o.wrapT)?o.wrapT:t(o.wrapT),minFilter:o.minFilter,name:u.name,id:r}})}getNodeTransform(e){if(void 0===e)return N;let t=this._nodeTransformCache.get(e);if(!t){const r=this.getNodeTransform(this._getNodeParent(e)),n=this.json.nodes[e];n.matrix?t=(0,f.lw)((0,s.vt)(),r,n.matrix):n.translation||n.rotation||n.scale?(t=(0,s.o8)(r),n.translation&&(0,f.Tl)(t,t,n.translation),n.rotation&&(I[3]=(0,d.Xd)(I,n.rotation),(0,f.e$)(t,t,I[3],I)),n.scale&&(0,f.hs)(t,t,n.scale)):t=(0,s.o8)(r),this._nodeTransformCache.set(e,t)}return t}_resolveUri(e){return(0,l.s2)(e,this._baseUri)}_getNodeParent(e){return this._nodeParentMap.get(e)}_checkVersionSupported(){const e=c.R.parse(this.json.asset.version,"glTF");v.validate(e)}_checkRequiredExtensionsSupported(){const e=this.json;if(e.extensionsRequired&&!e.extensionsRequired.every(e=>this._supportedExtensions.includes(e)))throw new a.A("gltf-loader-unsupported-feature","gltf loader was not able to load unsupported feature. Required extensions: "+e.extensionsRequired.join(", "))}_computeNodeParents(){this.json.nodes.forEach((e,t)=>{e.children&&e.children.forEach(e=>{this._nodeParentMap.set(e,t)})})}async _loadTextureImageData(e,t,r){const n=this._textureLoaders.get(e);if(n)return n;const o=this._createTextureLoader(t,r);return this._textureLoaders.set(e,o),o}async _createTextureLoader(e,t){const r=L(e),n=this.json.images[r];if(n.uri){if(n.uri.endsWith(".ktx2")){const e=await this._context.loadBinary(this._resolveUri(n.uri),t);return new R.Xi(new Uint8Array(e))}return this._context.loadImage(this._resolveUri(n.uri),t)}if(null==n.bufferView)throw new a.A("gltf-loader-unsupported-feature","Image bufferView must be defined.");if(null==n.mimeType)throw new a.A("gltf-loader-unsupported-feature","Image mimeType must be defined.");const o=this.json.bufferViews[n.bufferView],s=await this.getBuffer(o.buffer,t);if(null!=o.byteStride)throw new a.A("gltf-loader-unsupported-feature","byteStride not supported for image buffer");const i=s.byteOffset+(o.byteOffset||0);return(0,R.pn)(new Uint8Array(s.buffer,i,o.byteLength),n.mimeType)}async getLoadedBuffersSize(){if(this._glbBuffer)return this._glbBuffer.byteLength;const e=await(0,u.nA)(Array.from(this._bufferLoaders.values())),t=await(0,u.nA)(Array.from(this._textureLoaders.values()));return e.reduce((e,t)=>e+(t?.byteLength??0),0)+t.reduce((e,t)=>e+(t?(0,R.x3)(t)?t.data.byteLength:t.width*t.height*4:0),0)}}const N=(0,f.hM)((0,s.vt)(),Math.PI/2),v=new c.R(2,0,"glTF"),I=(0,p.vt)(),C={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},B={[A.pe.BYTE]:1,[A.pe.UNSIGNED_BYTE]:1,[A.pe.SHORT]:2,[A.pe.UNSIGNED_SHORT]:2,[A.pe.HALF_FLOAT]:2,[A.pe.FLOAT]:4,[A.pe.INT]:4,[A.pe.UNSIGNED_INT]:4};function G(e,t){return new e(t.raw,t.byteOffset,t.byteStride,t.byteOffset+t.byteStride*(t.entryCount-1)+t.componentByteSize*t.componentCount)}function L(e){if(null!=e.extensions?.KHR_texture_basisu)return e.extensions.KHR_texture_basisu.source;if(null!==e.source)return e.source;throw new a.A("gltf-loader-unsupported-feature","Source is expected to be defined for a texture. It can also be omitted in favour of an KHR_texture_basisu extension tag.")}const M=/\.gltf$/i,U=/\.glb$/i;let F=0;async function D(e,t,r={},a=!0){const i=await O.load(e,t,r),u="gltf_"+F++,l={lods:[],materials:new Map,textures:new Map,meta:P(i)},c=!(!i.json.asset.extras||"symbolResource"!==i.json.asset.extras.ESRI_type),f=i.json.asset.extras?.ESRI_webstyleSymbol?.webstyle,d=new Map;await j(i,async(e,t,c,f)=>{const p=d.get(c)??0;d.set(c,p+1);const m=void 0!==e.mode?e.mode:A.WR.TRIANGLES,T=m===A.WR.TRIANGLES||m===A.WR.TRIANGLE_STRIP||m===A.WR.TRIANGLE_FAN?m:null;if(null==T)return void n.A.getLogger("esri.views.3d.glTF").warn("[Unsupported Feature] Unsupported primitive mode ("+(0,o.i7)(A.WR,m)+"). Skipping primitive.");if(!i.hasPositions(e))return void n.A.getLogger("esri.views.3d.glTF").warn("Skipping primitive without POSITION vertex attribute.");const h=i.getPositionData(e,r),_=i.getMaterial(e,r,a),g=i.hasNormals(e)?i.getNormalData(e,r):null,w=i.hasTangents(e)?i.getTangentData(e,r):null,y=i.hasTextureCoordinates(e)?i.getTextureCoordinates(e,r):null,x=i.hasVertexColors(e)?i.getVertexColors(e,r):null,b=i.getIndexData(e,r),S={name:f,transform:(0,s.o8)(t),attributes:{position:await h,normal:g?await g:null,texCoord0:y?await y:null,color:x?await x:null,tangent:w?await w:null},indices:await b,primitiveType:T,material:$(l,await _,u)};let R=null;null!=l.meta?.ESRI_lod&&"screenSpaceRadius"===l.meta.ESRI_lod.metric&&(R=l.meta.ESRI_lod.thresholds[c]),l.lods[c]=l.lods[c]||{parts:[],name:f,lodThreshold:R},l.lods[c].parts[p]=S});for(const e of l.lods)e.parts=e.parts.filter(e=>!!e);const p=await i.getLoadedBuffersSize();return{model:l,meta:{isEsriSymbolResource:c,uri:i.uri,ESRI_webstyle:f},customMeta:{},cachedMemory:p}}function P(e){const t=e.json;let r=null;return t.nodes.forEach(e=>{const t=e.extras;null!=t&&(t.ESRI_proxyEllipsoid||t.ESRI_lod)&&(r=t)}),r}async function j(e,t){const r=e.json,o=r.scenes[r.scene||0].nodes,s=o.length>1,a=[];for(const e of o){const t=r.nodes[e];a.push(i(e,0)),H(t)&&!s&&t.extensions.MSFT_lod.ids.forEach((e,t)=>i(e,t+1))}async function i(o,s){const u=r.nodes[o],l=e.getNodeTransform(o);if(null!=u.weights&&n.A.getLogger("esri.views.3d.glTF").warn("[Unsupported Feature] Morph targets are not supported."),null!=u.mesh){const e=r.meshes[u.mesh];for(const r of e.primitives)a.push(t(r,l,s,e.name))}for(const e of u.children||[])a.push(i(e,s))}await Promise.all(a)}function H(e){return e.extensions?.MSFT_lod&&Array.isArray(e.extensions.MSFT_lod.ids)}function $(e,t,r){const n=t=>{const n=`${r}_tex_${t&&t.id}${t?.name?"_"+t.name:""}`;if(t&&!e.textures.has(n)){const r=function(e,t={}){return{data:e,parameters:{wrap:{s:10497,t:10497,...t.wrap},noUnpackFlip:!0,mipmap:!1,...t}}}(t.data,{wrap:{s:t.wrapS,t:t.wrapT},mipmap:k.has(t.minFilter),noUnpackFlip:!0});e.textures.set(n,r)}return n},o=`${r}_mat_${t.id}_${t.name}`;if(!e.materials.has(o)){const r=function(e={}){return{color:[1,1,1],opacity:1,alphaMode:"OPAQUE",alphaCutoff:.5,doubleSided:!1,castShadows:!0,receiveShadows:!0,receiveAmbientOcclusion:!0,colorTexture:null,normalTexture:null,occlusionTexture:null,emissiveTexture:null,metallicRoughnessTexture:null,colorTextureTransform:null,normalTextureTransform:null,occlusionTextureTransform:null,emissiveTextureTransform:null,metallicRoughnessTextureTransform:null,emissiveFactor:[0,0,0],metallicFactor:1,roughnessFactor:1,colorMixMode:"multiply",...e}}({color:[t.color[0],t.color[1],t.color[2]],opacity:t.color[3],alphaMode:t.alphaMode,alphaCutoff:t.alphaCutoff,doubleSided:t.doubleSided,colorMixMode:t.ESRI_externalColorMixMode,colorTexture:t.colorTexture?n(t.colorTexture):void 0,normalTexture:t.normalTexture?n(t.normalTexture):void 0,occlusionTexture:t.occlusionTexture?n(t.occlusionTexture):void 0,emissiveTexture:t.emissiveTexture?n(t.emissiveTexture):void 0,metallicRoughnessTexture:t.metallicRoughnessTexture?n(t.metallicRoughnessTexture):void 0,emissiveFactor:[t.emissiveFactor[0],t.emissiveFactor[1],t.emissiveFactor[2]],colorTextureTransform:t.colorTextureTransform,normalTextureTransform:t.normalTextureTransform,occlusionTextureTransform:t.occlusionTextureTransform,emissiveTextureTransform:t.emissiveTextureTransform,metallicRoughnessTextureTransform:t.metallicRoughnessTextureTransform,metallicFactor:t.metallicFactor,roughnessFactor:t.roughnessFactor,receiveShadows:t.receiveShadows,receiveAmbientOcclusion:t.receiveAmbientOcclusion});e.materials.set(o,r)}return o}const k=new Set([9987,9985])}}]);
1
+ "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[7375,9738],{21015:(e,t,r)=>{r.d(t,{R:()=>u});var n=r(78888),o=r(60999),s=r(49186),a=r(74887),i=r(84952);class u{constructor(e){this._streamDataRequester=e}async loadJSON(e,t){return this._load(0,e,t)}async loadBinary(e,t){return(0,i.DB)(e)?((0,a.Te)(t),(0,i.lJ)(e)):this._load(1,e,t)}async loadImage(e,t){return this._load(2,e,t)}async _load(e,t,r){if(null==this._streamDataRequester)return(await(0,n.A)(t,{responseType:l[e]})).data;const i=await(0,o.Ke)(this._streamDataRequester.request(t,e,r));if(!0===i.ok)return i.value;throw(0,a.QP)(i.error),new s.A("glt-loader-request-error",`Request for resource failed: ${i.error}`)}}const l={2:"image",1:"array-buffer",0:"json",3:void 0}},24045:(e,t,r)=>{function n(e,t){const r=e.count;t||(t=new e.TypedArrayConstructor(r));for(let n=0;n<r;n++)t[n]=e.get(n);return t}r.d(t,{m:()=>n}),Object.freeze(Object.defineProperty({__proto__:null,makeDense:n},Symbol.toStringTag,{value:"Module"}))},43609:(e,t,r)=>{r.d(t,{a:()=>s,f:()=>a,n:()=>o});var n=r(34275);function o(e,t){s(e.typedBuffer,t.typedBuffer,e.typedBufferStride,t.typedBufferStride)}function s(e,t,r=2,o=r){const s=t.length/2;let a=0,i=0;if(!(0,n.iu)(t)||(0,n.dk)(t)){for(let n=0;n<s;++n)e[a]=t[i],e[a+1]=t[i+1],a+=r,i+=o;return}const u=(0,n.a3)(t);if((0,n.JI)(t))for(let n=0;n<s;++n)e[a]=Math.max(t[i]/u,-1),e[a+1]=Math.max(t[i+1]/u,-1),a+=r,i+=o;else for(let n=0;n<s;++n)e[a]=t[i]/u,e[a+1]=t[i+1]/u,a+=r,i+=o}function a(e,t,r,n){const o=e.typedBuffer,s=e.typedBufferStride,a=n?.count??e.count;let i=(n?.dstIndex??0)*s;for(let e=0;e<a;++e)o[i]=t,o[i+1]=r,i+=s}Object.freeze(Object.defineProperty({__proto__:null,fill:a,normalizeIntegerBuffer:s,normalizeIntegerBufferView:o},Symbol.toStringTag,{value:"Module"}))},46140:(e,t,r)=>{r.d(t,{R:()=>o});var n=r(49186);let o=class e{constructor(e,t,r=""){this.major=e,this.minor=t,this._context=r}lessThan(e,t){return this.major<e||e===this.major&&this.minor<t}greaterEqual(e,t){return!this.lessThan(e,t)}validate(e){if(this.major!==e.major){const t=this._context&&this._context+":",r=this._context&&this._context+" ";throw new n.A(t+"unsupported-version",`Required major ${r}version is '${this.major}', but got '\${version.major}.\${version.minor}'`,{version:e})}}clone(){return new e(this.major,this.minor,this._context)}static parse(t,r=""){const[o,s]=t.split("."),a=/^\s*\d+\s*$/;if(!o?.match||!a.test(o))throw new n.A((r&&r+":")+"invalid-version","Expected major version to be a number, but got '${version}'",{version:t});if(!s?.match||!a.test(s))throw new n.A((r&&r+":")+"invalid-version","Expected minor version to be a number, but got '${version}'",{version:t});const i=parseInt(o,10),u=parseInt(s,10);return new e(i,u,r)}}},51530:(e,t,r)=>{r.d(t,{KB:()=>a,Xi:()=>o,pn:()=>i,x3:()=>s});var n=r(44208);class o{constructor(e){this.data=e,this.type="encoded-mesh-texture",this.encoding="image/ktx2"}}function s(e){return"encoded-mesh-texture"===e?.type}async function a(e){const t=new Blob([e]),r=await t.text();return JSON.parse(r)}async function i(e,t){if("image/ktx2"===t)return new o(e);const r=new Blob([e],{type:t});let s=URL.createObjectURL(r);switch(t){case"image/jpeg":s+="#.jpg";break;case"image/png":s+="#.png"}const a=new Image;if((0,n.A)("esri-iPhone"))return new Promise((e,t)=>{const r=()=>{o(),e(a)},n=e=>{o(),t(e)},o=()=>{URL.revokeObjectURL(s),a.removeEventListener("load",r),a.removeEventListener("error",n)};a.addEventListener("load",r),a.addEventListener("error",n),a.src=s});try{a.src=s,await a.decode()}catch(e){console.warn("Failed decoding HTMLImageElement")}return URL.revokeObjectURL(s),a}},63907:(e,t,r)=>{r.d(t,{CQ:()=>T,Fq:()=>p,H0:()=>s,SB:()=>u,WR:()=>n,XN:()=>a,iE:()=>i,ld:()=>l,nI:()=>m,pe:()=>o,r6:()=>f,vt:()=>c,yI:()=>d});const n={POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6},o={BYTE:5120,UNSIGNED_BYTE:5121,SHORT:5122,UNSIGNED_SHORT:5123,INT:5124,UNSIGNED_INT:5125,FLOAT:5126,HALF_FLOAT:5131},s={RGBA4:32854,R16F:33325,RG16F:33327,RGB32F:34837,RGBA16F:34842,R32F:33326,RG32F:33328,RGBA32F:34836,R11F_G11F_B10F:35898,RGB8:32849,RGBA8:32856,RGB5_A1:32855,R8:33321,RG8:33323,R8I:33329,R8UI:33330,R16I:33331,R16UI:33332,R32I:33333,R32UI:33334,RG8I:33335,RG8UI:33336,RG16I:33337,RG16UI:33338,RG32I:33339,RG32UI:33340,RGB16F:34843,RGB9_E5:35901,SRGB8:35905,SRGB8_ALPHA8:35907,RGB565:36194,RGBA32UI:36208,RGB32UI:36209,RGBA16UI:36214,RGB16UI:36215,RGBA8UI:36220,RGB8UI:36221,RGBA32I:36226,RGB32I:36227,RGBA16I:36232,RGB16I:36233,RGBA8I:36238,RGB8I:36239,R8_SNORM:36756,RG8_SNORM:36757,RGB8_SNORM:36758,RGBA8_SNORM:36759,RGB10_A2:32857,RGB10_A2UI:36975},a=Object.values(s),i={DEPTH24_STENCIL8:35056,DEPTH32F_STENCIL8:36013},u={DEPTH_COMPONENT16:33189,DEPTH_COMPONENT24:33190,DEPTH_COMPONENT32F:36012},l={FLOAT:o.FLOAT,UNSIGNED_BYTE:o.UNSIGNED_BYTE,UNSIGNED_INT_24_8:34042,UNSIGNED_SHORT_4_4_4_4:32819,UNSIGNED_SHORT_5_5_5_1:32820,UNSIGNED_SHORT_5_6_5:33635,BYTE:o.BYTE,UNSIGNED_SHORT:o.UNSIGNED_SHORT,SHORT:o.SHORT,UNSIGNED_INT:o.UNSIGNED_INT,INT:o.INT,HALF_FLOAT:5131,UNSIGNED_INT_2_10_10_10_REV:33640,UNSIGNED_INT_10F_11F_11F_REV:35899,UNSIGNED_INT_5_9_9_9_REV:35902,FLOAT_32_UNSIGNED_INT_24_8_REV:36269},c={Texture:0,TileTexture:1,BufferObject:2,VertexArrayObject:3,Shader:4,Program:5,FramebufferObject:6,Renderbuffer:7,TransformFeedback:8,Sync:9,UNCOUNTED:10,LinesOfCode:10,Uniform:11,COUNT:12},f=36064,d=36065,p=36066,m=33306,T={COMPRESSED_RGB_S3TC_DXT1_EXT:33776,COMPRESSED_RGBA_S3TC_DXT1_EXT:33777,COMPRESSED_RGBA_S3TC_DXT3_EXT:33778,COMPRESSED_RGBA_S3TC_DXT5_EXT:33779,COMPRESSED_R11_EAC:37488,COMPRESSED_SIGNED_R11_EAC:37489,COMPRESSED_RG11_EAC:37490,COMPRESSED_SIGNED_RG11_EAC:37491,COMPRESSED_RGB8_ETC2:37492,COMPRESSED_SRGB8_ETC2:37493,COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2:37494,COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2:37495,COMPRESSED_RGBA8_ETC2_EAC:37496,COMPRESSED_SRGB8_ALPHA8_ETC2_EAC:37497}},84498:(e,t,r)=>{r.d(t,{x:()=>a});var n=r(34275),o=r(97146),s=r(63907);function a(e,t){switch(t){case s.WR.TRIANGLES:return function(e){return"number"==typeof e?(0,o.tM)(e):(0,n.mg)(e)?new Uint16Array(e):e}(e);case s.WR.TRIANGLE_STRIP:return function(e){const t="number"==typeof e?e:e.length;if(t<3)return[];const r=t-2,n=(0,o.my)(3*r);if("number"==typeof e){let e=0;for(let t=0;t<r;t+=1)t%2==0?(n[e++]=t,n[e++]=t+1,n[e++]=t+2):(n[e++]=t+1,n[e++]=t,n[e++]=t+2)}else{let t=0;for(let o=0;o<r;o+=1)o%2==0?(n[t++]=e[o],n[t++]=e[o+1],n[t++]=e[o+2]):(n[t++]=e[o+1],n[t++]=e[o],n[t++]=e[o+2])}return n}(e);case s.WR.TRIANGLE_FAN:return function(e){const t="number"==typeof e?e:e.length;if(t<3)return new Uint16Array(0);const r=t-2,n=r<=65536?new Uint16Array(3*r):new Uint32Array(3*r);if("number"==typeof e){let e=0;for(let t=0;t<r;++t)n[e++]=0,n[e++]=t+1,n[e++]=t+2;return n}const o=e[0];let s=e[1],a=0;for(let t=0;t<r;++t){const r=e[t+2];n[a++]=o,n[a++]=s,n[a++]=r,s=r}return n}(e)}}},90239:(e,t,r)=>{function n(e){switch(e){case"u8":case"i8":return 1;case"u16":case"i16":case"f16":return 2;case"u32":case"i32":case"f32":return 4;case"f64":return 8}}r.d(t,{GJ:()=>n})},97375:(e,t,r)=>{r.r(t),r.d(t,{loadGLTFMesh:()=>L});var n=r(68197),o=r(40876),s=r(78888),a=r(49186),i=r(91869),u=r(34727),l=r(77690),c=r(29242),f=r(51850),d=r(91829),p=r(16939),m=r(80882),T=r(35063),h=r(51147),_=r(1193),g=r(27615),w=r(13030),y=r(73354),x=r(65686),b=r(90239);Object.freeze(Object.defineProperty({__proto__:null,copy:function(e,t,r){const n=e.typedBuffer,o=e.typedBufferStride,s=t.typedBuffer,a=t.typedBufferStride,i=r?r.count:t.count;let u=(r?.dstIndex??0)*o,l=(r?.srcIndex??0)*a;for(let e=0;e<i;++e){for(let e=0;e<9;++e)n[u+e]=s[l+e];u+=o,l+=a}}},Symbol.toStringTag,{value:"Module"})),Object.freeze(Object.defineProperty({__proto__:null,copy:function(e,t,r){const n=e.typedBuffer,o=e.typedBufferStride,s=t.typedBuffer,a=t.typedBufferStride,i=r?r.count:t.count;let u=(r?.dstIndex??0)*o,l=(r?.srcIndex??0)*a;for(let e=0;e<i;++e){for(let e=0;e<16;++e)n[u+e]=s[l+e];u+=o,l+=a}}},Symbol.toStringTag,{value:"Module"})),r(24045);var S=r(43609);function R(e,t,r=3,n=r){const o=t.length/n;let s=0,a=0;for(let i=0;i<o;++i)e[s]=t[a],e[s+1]=t[a+1],e[s+2]=t[a+2],s+=r,a+=n}function A(e,t,r,n,o){const s=e.typedBuffer,a=e.typedBufferStride,i=o?.count??e.count;let u=(o?.dstIndex??0)*a;for(let e=0;e<i;++e)s[u]=t,s[u+1]=r,s[u+2]=n,u+=a}function E(e,t,r=4){const n=t.typedBuffer,o=t.typedBufferStride,s=t.count;let a=0,i=0;for(let t=0;t<s;++t)e[a]=n[i],e[a+1]=n[i+1],e[a+2]=n[i+2],e[a+3]=n[i+3],a+=r,i+=o}function O(e,t,r,n,o,s){const a=e.typedBuffer,i=e.typedBufferStride,u=s?.count??e.count;let l=(s?.dstIndex??0)*i;for(let e=0;e<u;++e)a[l]=t,a[l+1]=r,a[l+2]=n,a[l+3]=o,l+=i}function N(e,t){return new e(new ArrayBuffer(t*e.ElementCount*(0,b.GJ)(e.ElementType)))}Object.freeze(Object.defineProperty({__proto__:null,copy:R,copyView:function(e,t){R(e.typedBuffer,t.typedBuffer,e.typedBufferStride,t.typedBufferStride)},fill:A},Symbol.toStringTag,{value:"Module"})),Object.freeze(Object.defineProperty({__proto__:null,copy:E,copyView:function(e,t){E(e.typedBuffer,t,e.typedBufferStride)},fill:O},Symbol.toStringTag,{value:"Module"}));var v=r(72258),I=r(21015),C=r(99738),B=r(84498),G=r(51530);async function L(e,t,r){const o=new I.R(function(e){const t=e?.resolveFile;return t?{busy:!1,request:async(e,r,n)=>{const o=t?.(e)??e,a=2===r?"image":1===r||3===r?"array-buffer":"json";return(await(0,s.A)(o,{responseType:a,signal:n?.signal,timeout:0})).data}}:null}(r)),l=(await(0,C.loadGLTF)(o,t,r,!0)).model,c=l.lods.shift(),p=new Map,y=new Map;l.textures.forEach((e,t)=>p.set(t,function(e){return new T.A({data:((0,G.x3)(e.data),e.data),wrap:P(e.parameters.wrap)})}(e))),l.materials.forEach((e,t)=>y.set(t,function(e,t){const r=new n.A(function(e,t){return(0,d.fA)(H(e[0]),H(e[1]),H(e[2]),t)}(e.color,e.opacity)),o=e.emissiveFactor?new n.A(function(e){return(0,f.fA)(H(e[0]),H(e[1]),H(e[2]))}(e.emissiveFactor)):null,s=e=>e?new h.A({scale:e.scale?[e.scale[0],e.scale[1]]:[1,1],rotation:(0,u.KJ)(e.rotation??0),offset:e.offset?[e.offset[0],e.offset[1]]:[0,0]}):null;return new m.A({color:r,colorTexture:t.get(e.colorTexture),normalTexture:t.get(e.normalTexture),emissiveColor:o,emissiveTexture:t.get(e.emissiveTexture),occlusionTexture:t.get(e.occlusionTexture),alphaMode:D(e.alphaMode),alphaCutoff:e.alphaCutoff,doubleSided:e.doubleSided,metallic:e.metallicFactor,roughness:e.roughnessFactor,metallicRoughnessTexture:t.get(e.metallicRoughnessTexture),colorTextureTransform:s(e.colorTextureTransform),normalTextureTransform:s(e.normalTextureTransform),occlusionTextureTransform:s(e.occlusionTextureTransform),emissiveTextureTransform:s(e.emissiveTextureTransform),metallicRoughnessTextureTransform:s(e.metallicRoughnessTextureTransform)})}(e,p)));const x=function(e){let t=0;const r={color:!1,tangent:!1,normal:!1,texCoord0:!1},n=new Map,o=new Map,s=[];for(const a of e.parts){const{position:e,normal:u,color:l,tangent:c,texCoord0:f}=a.attributes,d=`\n ${M(e,n)}/\n ${M(u,n)}/\n ${M(l,n)}/\n ${M(c,n)}/\n ${M(f,n)}/\n ${U(a.transform)}\n `;let p=!1;const m=(0,i.tE)(o,d,()=>(p=!0,{start:t,length:e.count}));p&&(t+=e.count),u&&(r.normal=!0),l&&(r.color=!0),c&&(r.tangent=!0),f&&(r.texCoord0=!0),s.push({gltf:a,writeVertices:p,region:m})}return{vertexAttributes:{position:N(w.Xm,t),normal:r.normal?N(w.xs,t):null,tangent:r.tangent?N(w.Eq,t):null,color:r.color?N(w.XP,t):null,texCoord0:r.texCoord0?N(w.gH,t):null},parts:s,components:[]}}(c);for(const e of x.parts)F(x,e,y);const{position:b,normal:S,tangent:R,color:A,texCoord0:E}=x.vertexAttributes,O=(0,g.TE)(e,r),B=e.spatialReference.isGeographic?(0,g.TE)(e):O,L=(0,v.UR)({vertexAttributes:{position:b.typedBuffer,normal:S?.typedBuffer,tangent:R?.typedBuffer},vertexSpace:B,spatialReference:e.spatialReference},O,{allowBufferReuse:!0,sourceUnit:r?.unitConversionDisabled?void 0:"meters"});if(!L)throw new a.A("load-gltf-mesh:vertex-space-projection",`Failed to load mesh from glTF because we could not convert the vertex space from ${B.type} to ${O.type}`);return{transform:null,vertexSpace:O,components:x.components,spatialReference:e.spatialReference,vertexAttributes:new _.H({...L,color:A?.typedBuffer,uv:E?.typedBuffer})}}function M(e,t){if(null==e)return"-";const r=e.typedBuffer;return`${(0,i.tE)(t,r.buffer,()=>t.size)}/${r.byteOffset}/${r.byteLength}`}function U(e){return null!=e?e.toString():"-"}function F(e,t,r){t.writeVertices&&function(e,t){const{position:r,normal:n,tangent:o,color:s,texCoord0:a}=e.vertexAttributes,i=t.region.start,{attributes:f,transform:d}=t.gltf,p=f.position.count;if((0,y.d)(r.slice(i,p),f.position,d),null!=f.normal&&null!=n){const e=(0,l.Ge)((0,c.vt)(),d),t=n.slice(i,p);(0,y.c)(t,f.normal,e),(0,u.or)(e)&&(0,y.e)(t,t)}else null!=n&&A(n,0,0,1,{dstIndex:i,count:p});if(null!=f.tangent&&null!=o){const e=(0,l.z0)((0,c.vt)(),d),t=o.slice(i,p);(0,x.a)(t,f.tangent,e),(0,u.or)(e)&&(0,x.n)(t,t)}else null!=o&&O(o,0,0,1,1,{dstIndex:i,count:p});if(null!=f.texCoord0&&null!=a?(0,S.n)(a.slice(i,p),f.texCoord0):null!=a&&(0,S.f)(a,0,0,{dstIndex:i,count:p}),null!=f.color&&null!=s){const e=f.color,t=s.slice(i,p);if(4===e.elementCount)e instanceof w.Eq?(0,x.l)(t,e,1,255):(e instanceof w.XP||e instanceof w.Uz)&&(0,x.l)(t,e,1/255,255);else{O(t,255,255,255,255);const r=w.eI.fromTypedArray(t.typedBuffer,t.typedBufferStride);e instanceof w.xs?(0,y.l)(r,e,1,255):(e instanceof w.eI||e instanceof w.nS)&&(0,y.l)(r,e,1/255,255)}}else null!=s&&O(s.slice(i,p),255,255,255,255)}(e,t);const{indices:n,attributes:o,primitiveType:s,material:a}=t.gltf;let i=(0,B.x)(n||o.position.count,s);const f=t.region.start;if(f){const e=new Uint32Array(i);for(let t=0;t<i.length;t++)e[t]+=f;i=e}e.components.push(new p.A({name:t.gltf.name,faces:i,material:r.get(a),shading:o.normal?"source":"flat",trustSourceNormals:!0}))}function D(e){switch(e){case"OPAQUE":return"opaque";case"MASK":return"mask";case"BLEND":return"blend"}}function P(e){return{horizontal:j(e.s),vertical:j(e.t)}}function j(e){switch(e){case 33071:return"clamp";case 33648:return"mirror";case 10497:return"repeat"}}function H(e){return e**(1/o.Tf)*255}},99738:(e,t,r)=>{r.d(t,{loadGLTF:()=>D});var n=r(53966),o=r(93637),s=r(9093),a=r(49186),i=r(91869),u=r(74887),l=r(84952),c=r(46140),f=r(58083),d=r(67026),p=r(82534),m=r(13030),T=r(24045);r(44208);class h{constructor(e){this._data=e,this._offset4=0,this._dataUint32=new Uint32Array(this._data,0,Math.floor(this._data.byteLength/4))}readUint32(){const e=this._offset4;return this._offset4+=1,this._dataUint32[e]}readUint8Array(e){const t=4*this._offset4;return this._offset4+=e/4,new Uint8Array(this._data,t,e)}remainingBytes(){return this._data.byteLength-4*this._offset4}}var _=r(21818);const g={baseColorFactor:[1,1,1,1],metallicFactor:1,roughnessFactor:1},w={pbrMetallicRoughness:g,emissiveFactor:[0,0,0],alphaMode:"OPAQUE",alphaCutoff:.5,doubleSided:!1},y={ESRI_externalColorMixMode:"tint",ESRI_receiveShadows:!0,ESRI_receiveAmbientOcclusion:!0},x=(e={})=>{const t={...g,...e.pbrMetallicRoughness},r=function(e){switch(e.ESRI_externalColorMixMode){case"multiply":case"tint":case"ignore":case"replace":break;default:(0,_.Xb)(e.ESRI_externalColorMixMode),e.ESRI_externalColorMixMode="tint"}return e}({...y,...e.extras});return{...w,...e,pbrMetallicRoughness:t,extras:r}},b={magFilter:9729,minFilter:9987,wrapS:10497,wrapT:10497},S=e=>({...b,...e});var R=r(51530),A=r(63907);const E=1179937895;class O{constructor(e,t,r,n){if(this._context=e,this.uri=t,this.json=r,this._glbBuffer=n,this._bufferLoaders=new Map,this._textureLoaders=new Map,this._textureCache=new Map,this._materialCache=new Map,this._nodeParentMap=new Map,this._nodeTransformCache=new Map,this._supportedExtensions=["KHR_texture_basisu","KHR_texture_transform"],this._baseUri=function(e){let t,r;return e.replace(/^(.*\/)?([^/]*)$/,(e,n,o)=>(t=n||"",r=o||"","")),{dirPart:t,filePart:r}}(this.uri).dirPart,this._checkVersionSupported(),this._checkRequiredExtensionsSupported(),null==r.scenes)throw new a.A("gltf-loader-unsupported-feature","Scenes must be defined.");if(null==r.meshes)throw new a.A("gltf-loader-unsupported-feature","Meshes must be defined");if(null==r.nodes)throw new a.A("gltf-loader-unsupported-feature","Nodes must be defined.");this._computeNodeParents()}static async load(e,t,r){if((0,l.DB)(t)){const r=(0,l.r$)(t);if(r&&"model/gltf-binary"!==r.mediaType)try{const n=JSON.parse(r.isBase64?atob(r.data):r.data);return new O(e,t,n)}catch{}const n=(0,l.lJ)(t);if(O._isGLBData(n))return this._fromGLBData(e,t,n)}if(M.test(t)||"gltf"===r?.expectedType){const n=await e.loadJSON(t,r);return new O(e,t,n)}const n=await e.loadBinary(t,r);if(O._isGLBData(n))return this._fromGLBData(e,t,n);if(U.test(t)||"glb"===r?.expectedType)throw new a.A("gltf-loader-invalid-glb","This is not a valid glb file.");const o=await e.loadJSON(t,r);return new O(e,t,o)}static _isGLBData(e){if(null==e)return!1;const t=new h(e);return t.remainingBytes()>=4&&t.readUint32()===E}static async _fromGLBData(e,t,r){const n=await O._parseGLBData(r);return new O(e,t,n.json,n.binaryData)}static async _parseGLBData(e){const t=new h(e);if(t.remainingBytes()<12)throw new a.A("gltf-loader-error","glb binary data is insufficiently large.");const r=t.readUint32(),o=t.readUint32(),s=t.readUint32();if(r!==E)throw new a.A("gltf-loader-error","Magic first 4 bytes do not fit to expected glb value.");if(e.byteLength<s)throw new a.A("gltf-loader-error","glb binary data is smaller than header specifies.");if(2!==o)throw new a.A("gltf-loader-unsupported-feature","An unsupported glb container version was detected. Only version 2 is supported.");let i,u,l=0;for(;t.remainingBytes()>=8;){const e=t.readUint32(),r=t.readUint32();if(0===l){if(1313821514!==r)throw new a.A("gltf-loader-error","First glb chunk must be JSON.");if(e<0)throw new a.A("gltf-loader-error","No JSON data found.");i=await(0,R.KB)(t.readUint8Array(e))}else if(1===l){if(5130562!==r)throw new a.A("gltf-loader-unsupported-feature","Second glb chunk expected to be BIN.");u=t.readUint8Array(e)}else n.A.getLogger("esri.views.3d.glTF").warn("[Unsupported Feature] More than 2 glb chunks detected. Skipping.");l+=1}if(!i)throw new a.A("gltf-loader-error","No glb JSON chunk detected.");return{json:i,binaryData:u}}async getBuffer(e,t){const r=this.json.buffers[e];if(null==r.uri){if(null==this._glbBuffer)throw new a.A("gltf-loader-error","glb buffer not present");return this._glbBuffer}const n=await this._getBufferLoader(e,t);if(n.byteLength!==r.byteLength)throw new a.A("gltf-loader-error","Buffer byte lengths should match.");return n}async _getBufferLoader(e,t){const r=this._bufferLoaders.get(e);if(r)return r;const n=this.json.buffers[e].uri,o=this._context.loadBinary(this._resolveUri(n),t).then(e=>new Uint8Array(e));return this._bufferLoaders.set(e,o),o}async getAccessor(e,t){if(!this.json.accessors)throw new a.A("gltf-loader-unsupported-feature","Accessors missing.");const r=this.json.accessors[e];if(null==r?.bufferView)throw new a.A("gltf-loader-unsupported-feature","Some accessor does not specify a bufferView.");if(r.type in["MAT2","MAT3","MAT4"])throw new a.A("gltf-loader-unsupported-feature",`AttributeType ${r.type} is not supported`);const n=this.json.bufferViews[r.bufferView],o=await this.getBuffer(n.buffer,t),s=C[r.type],i=B[r.componentType],u=s*i,l=n.byteStride||u;return{raw:o.buffer,byteStride:l,byteOffset:o.byteOffset+(n.byteOffset||0)+(r.byteOffset||0),entryCount:r.count,isDenselyPacked:l===u,componentCount:s,componentByteSize:i,componentType:r.componentType,min:r.min,max:r.max,normalized:!!r.normalized}}async getIndexData(e,t){if(null==e.indices)return;const r=await this.getAccessor(e.indices,t);if(r.isDenselyPacked)switch(r.componentType){case A.pe.UNSIGNED_BYTE:return new Uint8Array(r.raw,r.byteOffset,r.entryCount);case A.pe.UNSIGNED_SHORT:return new Uint16Array(r.raw,r.byteOffset,r.entryCount);case A.pe.UNSIGNED_INT:return new Uint32Array(r.raw,r.byteOffset,r.entryCount)}else switch(r.componentType){case A.pe.UNSIGNED_BYTE:return(0,T.m)(G(m.SL,r));case A.pe.UNSIGNED_SHORT:return(0,T.m)(G(m.h,r));case A.pe.UNSIGNED_INT:return(0,T.m)(G(m.P,r))}}async getPositionData(e,t){if(null==e.attributes.POSITION)throw new a.A("gltf-loader-unsupported-feature","No POSITION vertex data found.");const r=await this.getAccessor(e.attributes.POSITION,t);if(r.componentType!==A.pe.FLOAT)throw new a.A("gltf-loader-unsupported-feature","Expected type FLOAT for POSITION vertex attribute, but found "+(0,o.i7)(A.pe,r.componentType));if(3!==r.componentCount)throw new a.A("gltf-loader-unsupported-feature","POSITION vertex attribute must have 3 components, but found "+r.componentCount.toFixed());return G(m.xs,r)}async getNormalData(e,t){if(null==e.attributes.NORMAL)throw new a.A("gltf-loader-error","No NORMAL vertex data found.");const r=await this.getAccessor(e.attributes.NORMAL,t);if(r.componentType!==A.pe.FLOAT)throw new a.A("gltf-loader-unsupported-feature","Expected type FLOAT for NORMAL vertex attribute, but found "+(0,o.i7)(A.pe,r.componentType));if(3!==r.componentCount)throw new a.A("gltf-loader-unsupported-feature","NORMAL vertex attribute must have 3 components, but found "+r.componentCount.toFixed());return G(m.xs,r)}async getTangentData(e,t){if(null==e.attributes.TANGENT)throw new a.A("gltf-loader-error","No TANGENT vertex data found.");const r=await this.getAccessor(e.attributes.TANGENT,t);if(r.componentType!==A.pe.FLOAT)throw new a.A("gltf-loader-unsupported-feature","Expected type FLOAT for TANGENT vertex attribute, but found "+(0,o.i7)(A.pe,r.componentType));if(4!==r.componentCount)throw new a.A("gltf-loader-unsupported-feature","TANGENT vertex attribute must have 4 components, but found "+r.componentCount.toFixed());return G(m.Eq,r)}async getTextureCoordinates(e,t){if(null==e.attributes.TEXCOORD_0)throw new a.A("gltf-loader-error","No TEXCOORD_0 vertex data found.");const r=await this.getAccessor(e.attributes.TEXCOORD_0,t);if(2!==r.componentCount)throw new a.A("gltf-loader-unsupported-feature","TEXCOORD_0 vertex attribute must have 2 components, but found "+r.componentCount.toFixed());if(r.componentType===A.pe.FLOAT)return G(m.gH,r);if(!r.normalized)throw new a.A("gltf-loader-unsupported-feature","Integer component types are only supported for a normalized accessor for TEXCOORD_0.");return function(e){switch(e.componentType){case A.pe.BYTE:return new m.D6(e.raw,e.byteOffset,e.byteStride,e.byteOffset+e.byteStride*e.entryCount);case A.pe.UNSIGNED_BYTE:return new m.LC(e.raw,e.byteOffset,e.byteStride,e.byteOffset+e.byteStride*e.entryCount);case A.pe.SHORT:return new m.mJ(e.raw,e.byteOffset,e.byteStride,e.byteOffset+e.byteStride*e.entryCount);case A.pe.UNSIGNED_SHORT:return new m.Yi(e.raw,e.byteOffset,e.byteStride,e.byteOffset+e.byteStride*e.entryCount);case A.pe.UNSIGNED_INT:return new m.An(e.raw,e.byteOffset,e.byteStride,e.byteOffset+e.byteStride*e.entryCount);case A.pe.FLOAT:return new m.gH(e.raw,e.byteOffset,e.byteStride,e.byteOffset+e.byteStride*e.entryCount)}}(r)}async getVertexColors(e,t){if(null==e.attributes.COLOR_0)throw new a.A("gltf-loader-error","No COLOR_0 vertex data found.");const r=await this.getAccessor(e.attributes.COLOR_0,t);if(4!==r.componentCount&&3!==r.componentCount)throw new a.A("gltf-loader-unsupported-feature","COLOR_0 attribute must have 3 or 4 components, but found "+r.componentCount.toFixed());if(4===r.componentCount){if(r.componentType===A.pe.FLOAT)return G(m.Eq,r);if(r.componentType===A.pe.UNSIGNED_BYTE)return G(m.XP,r);if(r.componentType===A.pe.UNSIGNED_SHORT)return G(m.Uz,r)}else if(3===r.componentCount){if(r.componentType===A.pe.FLOAT)return G(m.xs,r);if(r.componentType===A.pe.UNSIGNED_BYTE)return G(m.eI,r);if(r.componentType===A.pe.UNSIGNED_SHORT)return G(m.nS,r)}throw new a.A("gltf-loader-unsupported-feature","Unsupported component type for COLOR_0 attribute: "+(0,o.i7)(A.pe,r.componentType))}hasPositions(e){return void 0!==e.attributes.POSITION}hasNormals(e){return void 0!==e.attributes.NORMAL}hasVertexColors(e){return void 0!==e.attributes.COLOR_0}hasTextureCoordinates(e){return void 0!==e.attributes.TEXCOORD_0}hasTangents(e){return void 0!==e.attributes.TANGENT}async getMaterial(e,t,r){let n=e.material?this._materialCache.get(e.material):void 0;if(!n){const o=null!=e.material?x(this.json.materials[e.material]):x(),s=o.pbrMetallicRoughness,a=this.hasVertexColors(e),i=this.getTexture(s.baseColorTexture,t),u=this.getTexture(o.normalTexture,t),l=r?this.getTexture(o.occlusionTexture,t):void 0,c=r?this.getTexture(o.emissiveTexture,t):void 0,f=r?this.getTexture(s.metallicRoughnessTexture,t):void 0,d=null!=e.material?e.material:-1;n={alphaMode:o.alphaMode,alphaCutoff:o.alphaCutoff,color:s.baseColorFactor,doubleSided:!!o.doubleSided,colorTexture:await i,normalTexture:await u,name:o.name,id:d,occlusionTexture:await l,emissiveTexture:await c,emissiveFactor:o.emissiveFactor,metallicFactor:s.metallicFactor,roughnessFactor:s.roughnessFactor,metallicRoughnessTexture:await f,hasVertexColors:a,ESRI_externalColorMixMode:o.extras.ESRI_externalColorMixMode,colorTextureTransform:s?.baseColorTexture?.extensions?.KHR_texture_transform,normalTextureTransform:o.normalTexture?.extensions?.KHR_texture_transform,occlusionTextureTransform:o.occlusionTexture?.extensions?.KHR_texture_transform,emissiveTextureTransform:o.emissiveTexture?.extensions?.KHR_texture_transform,metallicRoughnessTextureTransform:s?.metallicRoughnessTexture?.extensions?.KHR_texture_transform,receiveAmbientOcclusion:o.extras.ESRI_receiveAmbientOcclusion,receiveShadows:o.extras.ESRI_receiveShadows}}return n}async getTexture(e,t){if(!e)return;if(0!==(e.texCoord||0))throw new a.A("gltf-loader-unsupported-feature","Only TEXCOORD with index 0 is supported.");const r=e.index,n=this.json.textures[r],o=S(null!=n.sampler?this.json.samplers[n.sampler]:{}),s=L(n),u=this.json.images[s],l=await this._loadTextureImageData(r,n,t);return(0,i.tE)(this._textureCache,r,()=>{const e=e=>33071===e||33648===e||10497===e,t=e=>{throw new a.A("gltf-loader-error",`Unexpected TextureSampler WrapMode: ${e}`)};return{data:l,wrapS:e(o.wrapS)?o.wrapS:t(o.wrapS),wrapT:e(o.wrapT)?o.wrapT:t(o.wrapT),minFilter:o.minFilter,name:u.name,id:r}})}getNodeTransform(e){if(void 0===e)return N;let t=this._nodeTransformCache.get(e);if(!t){const r=this.getNodeTransform(this._getNodeParent(e)),n=this.json.nodes[e];n.matrix?t=(0,f.lw)((0,s.vt)(),r,n.matrix):n.translation||n.rotation||n.scale?(t=(0,s.o8)(r),n.translation&&(0,f.Tl)(t,t,n.translation),n.rotation&&(I[3]=(0,d.Xd)(I,n.rotation),(0,f.e$)(t,t,I[3],I)),n.scale&&(0,f.hs)(t,t,n.scale)):t=(0,s.o8)(r),this._nodeTransformCache.set(e,t)}return t}_resolveUri(e){return(0,l.s2)(e,this._baseUri)}_getNodeParent(e){return this._nodeParentMap.get(e)}_checkVersionSupported(){const e=c.R.parse(this.json.asset.version,"glTF");v.validate(e)}_checkRequiredExtensionsSupported(){const e=this.json;if(e.extensionsRequired&&!e.extensionsRequired.every(e=>this._supportedExtensions.includes(e)))throw new a.A("gltf-loader-unsupported-feature","gltf loader was not able to load unsupported feature. Required extensions: "+e.extensionsRequired.join(", "))}_computeNodeParents(){this.json.nodes.forEach((e,t)=>{e.children&&e.children.forEach(e=>{this._nodeParentMap.set(e,t)})})}async _loadTextureImageData(e,t,r){const n=this._textureLoaders.get(e);if(n)return n;const o=this._createTextureLoader(t,r);return this._textureLoaders.set(e,o),o}async _createTextureLoader(e,t){const r=L(e),n=this.json.images[r];if(n.uri){if(n.uri.endsWith(".ktx2")){const e=await this._context.loadBinary(this._resolveUri(n.uri),t);return new R.Xi(new Uint8Array(e))}return this._context.loadImage(this._resolveUri(n.uri),t)}if(null==n.bufferView)throw new a.A("gltf-loader-unsupported-feature","Image bufferView must be defined.");if(null==n.mimeType)throw new a.A("gltf-loader-unsupported-feature","Image mimeType must be defined.");const o=this.json.bufferViews[n.bufferView],s=await this.getBuffer(o.buffer,t);if(null!=o.byteStride)throw new a.A("gltf-loader-unsupported-feature","byteStride not supported for image buffer");const i=s.byteOffset+(o.byteOffset||0);return(0,R.pn)(new Uint8Array(s.buffer,i,o.byteLength),n.mimeType)}async getLoadedBuffersSize(){if(this._glbBuffer)return this._glbBuffer.byteLength;const e=await(0,u.nA)(Array.from(this._bufferLoaders.values())),t=await(0,u.nA)(Array.from(this._textureLoaders.values()));return e.reduce((e,t)=>e+(t?.byteLength??0),0)+t.reduce((e,t)=>e+(t?(0,R.x3)(t)?t.data.byteLength:t.width*t.height*4:0),0)}}const N=(0,f.hM)((0,s.vt)(),Math.PI/2),v=new c.R(2,0,"glTF"),I=(0,p.vt)(),C={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},B={[A.pe.BYTE]:1,[A.pe.UNSIGNED_BYTE]:1,[A.pe.SHORT]:2,[A.pe.UNSIGNED_SHORT]:2,[A.pe.HALF_FLOAT]:2,[A.pe.FLOAT]:4,[A.pe.INT]:4,[A.pe.UNSIGNED_INT]:4};function G(e,t){return new e(t.raw,t.byteOffset,t.byteStride,t.byteOffset+t.byteStride*(t.entryCount-1)+t.componentByteSize*t.componentCount)}function L(e){if(null!=e.extensions?.KHR_texture_basisu)return e.extensions.KHR_texture_basisu.source;if(null!==e.source)return e.source;throw new a.A("gltf-loader-unsupported-feature","Source is expected to be defined for a texture. It can also be omitted in favour of an KHR_texture_basisu extension tag.")}const M=/\.gltf$/i,U=/\.glb$/i;let F=0;async function D(e,t,r={},a=!0){const i=await O.load(e,t,r),u="gltf_"+F++,l={lods:[],materials:new Map,textures:new Map,meta:P(i)},c=!(!i.json.asset.extras||"symbolResource"!==i.json.asset.extras.ESRI_type),f=i.json.asset.extras?.ESRI_webstyleSymbol?.webstyle,d=new Map;await j(i,async(e,t,c,f)=>{const p=d.get(c)??0;d.set(c,p+1);const m=void 0!==e.mode?e.mode:A.WR.TRIANGLES,T=m===A.WR.TRIANGLES||m===A.WR.TRIANGLE_STRIP||m===A.WR.TRIANGLE_FAN?m:null;if(null==T)return void n.A.getLogger("esri.views.3d.glTF").warn("[Unsupported Feature] Unsupported primitive mode ("+(0,o.i7)(A.WR,m)+"). Skipping primitive.");if(!i.hasPositions(e))return void n.A.getLogger("esri.views.3d.glTF").warn("Skipping primitive without POSITION vertex attribute.");const h=i.getPositionData(e,r),_=i.getMaterial(e,r,a),g=i.hasNormals(e)?i.getNormalData(e,r):null,w=i.hasTangents(e)?i.getTangentData(e,r):null,y=i.hasTextureCoordinates(e)?i.getTextureCoordinates(e,r):null,x=i.hasVertexColors(e)?i.getVertexColors(e,r):null,b=i.getIndexData(e,r),S={name:f,transform:(0,s.o8)(t),attributes:{position:await h,normal:g?await g:null,texCoord0:y?await y:null,color:x?await x:null,tangent:w?await w:null},indices:await b,primitiveType:T,material:$(l,await _,u)};let R=null;null!=l.meta?.ESRI_lod&&"screenSpaceRadius"===l.meta.ESRI_lod.metric&&(R=l.meta.ESRI_lod.thresholds[c]),l.lods[c]=l.lods[c]||{parts:[],name:f,lodThreshold:R},l.lods[c].parts[p]=S});for(const e of l.lods)e.parts=e.parts.filter(e=>!!e);const p=await i.getLoadedBuffersSize();return{model:l,meta:{isEsriSymbolResource:c,uri:i.uri,ESRI_webstyle:f},customMeta:{},usedMemory:p}}function P(e){const t=e.json;let r=null;return t.nodes.forEach(e=>{const t=e.extras;null!=t&&(t.ESRI_proxyEllipsoid||t.ESRI_lod)&&(r=t)}),r}async function j(e,t){const r=e.json,o=r.scenes[r.scene||0].nodes,s=o.length>1,a=[];for(const e of o){const t=r.nodes[e];a.push(i(e,0)),H(t)&&!s&&t.extensions.MSFT_lod.ids.forEach((e,t)=>i(e,t+1))}async function i(o,s){const u=r.nodes[o],l=e.getNodeTransform(o);if(null!=u.weights&&n.A.getLogger("esri.views.3d.glTF").warn("[Unsupported Feature] Morph targets are not supported."),null!=u.mesh){const e=r.meshes[u.mesh];for(const r of e.primitives)a.push(t(r,l,s,e.name))}for(const e of u.children||[])a.push(i(e,s))}await Promise.all(a)}function H(e){return e.extensions?.MSFT_lod&&Array.isArray(e.extensions.MSFT_lod.ids)}function $(e,t,r){const n=t=>{const n=`${r}_tex_${t&&t.id}${t?.name?"_"+t.name:""}`;if(t&&!e.textures.has(n)){const r=function(e,t={}){return{data:e,parameters:{wrap:{s:10497,t:10497,...t.wrap},noUnpackFlip:!0,mipmap:!1,...t}}}(t.data,{wrap:{s:t.wrapS,t:t.wrapT},mipmap:k.has(t.minFilter),noUnpackFlip:!0});e.textures.set(n,r)}return n},o=`${r}_mat_${t.id}_${t.name}`;if(!e.materials.has(o)){const r=function(e={}){return{color:[1,1,1],opacity:1,alphaMode:"OPAQUE",alphaCutoff:.5,doubleSided:!1,castShadows:!0,receiveShadows:!0,receiveAmbientOcclusion:!0,colorTexture:null,normalTexture:null,occlusionTexture:null,emissiveTexture:null,metallicRoughnessTexture:null,colorTextureTransform:null,normalTextureTransform:null,occlusionTextureTransform:null,emissiveTextureTransform:null,metallicRoughnessTextureTransform:null,emissiveFactor:[0,0,0],metallicFactor:1,roughnessFactor:1,colorMixMode:"multiply",...e}}({color:[t.color[0],t.color[1],t.color[2]],opacity:t.color[3],alphaMode:t.alphaMode,alphaCutoff:t.alphaCutoff,doubleSided:t.doubleSided,colorMixMode:t.ESRI_externalColorMixMode,colorTexture:t.colorTexture?n(t.colorTexture):void 0,normalTexture:t.normalTexture?n(t.normalTexture):void 0,occlusionTexture:t.occlusionTexture?n(t.occlusionTexture):void 0,emissiveTexture:t.emissiveTexture?n(t.emissiveTexture):void 0,metallicRoughnessTexture:t.metallicRoughnessTexture?n(t.metallicRoughnessTexture):void 0,emissiveFactor:[t.emissiveFactor[0],t.emissiveFactor[1],t.emissiveFactor[2]],colorTextureTransform:t.colorTextureTransform,normalTextureTransform:t.normalTextureTransform,occlusionTextureTransform:t.occlusionTextureTransform,emissiveTextureTransform:t.emissiveTextureTransform,metallicRoughnessTextureTransform:t.metallicRoughnessTextureTransform,metallicFactor:t.metallicFactor,roughnessFactor:t.roughnessFactor,receiveShadows:t.receiveShadows,receiveAmbientOcclusion:t.receiveAmbientOcclusion});e.materials.set(o,r)}return o}const k=new Set([9987,9985])}}]);
@@ -1 +1 @@
1
- "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[4841],{6557:(e,t,s)=>{s.r(t),s.d(t,{default:()=>b});var i=s(31635),r=s(21818),n=s(49186),o=s(97768),a=s(563),u=s(16930),h=s(70328),l=s(56390),c=s(8384),d=s(95466),f=s(30524),m=s(70581),_=s(30661),y=s(28923),g=s(44320),p=s(35258),z=s(16630);const w=new _.Z,x=8e3;class b{constructor(){this._files=[],this._queue=new a.QueueProcessor({concurrency:1,process:(e,t)=>this._executeQuery(e,t)})}async load(e){this.setCustomParameters(e.customParameters),this._files=await Promise.all(e.urls.map(t=>(0,m.DV)(t,{geometryInfo:e.geometryInfo,outSpatialReference:null,getCustomParameters:()=>this._customParameters}))),this._metadata=p.i.createFeature(e.metadata),this._queryEngineParams={fieldsIndex:this._metadata.fieldsIndex,geometryType:e.geometryInfo?.geometryType??"esriGeometryPoint",featureIdInfo:{type:"object-id",fieldName:"rowId"},hasM:!1,hasZ:!1,spatialReference:u.A.fromJSON(e.geometryInfo?.spatialReference),aggregateAdapter:null,timeInfo:null,definitionExpression:null};const t=this._files[0];if(!t)return{extent:null};const{fields:s,timeZoneByFieldName:r}=e.metadata.fieldsIndex,n=s.map(e=>({...e,column:t.columnForFieldName(e.name)})),o=d.A.fromJSON({fields:n,timeZoneByFieldName:r});if(this._fieldsIndex=o,e.metadata.spatialReference&&(this._fullExtent=function(e,t){const s=(0,h.hZ)((0,h.vt)(),h.qv);for(const t of e){const e=(0,m.hD)(t);if(!e)return null;const i=e.columns[e.primary_column];if(!i.bbox)return null;const r=S(i.bbox);(0,h.RF)(s,r)}return{xmin:s[0],ymin:s[1],xmax:s[3],ymax:s[4],spatialReference:t}}(this._files,e.metadata.spatialReference)),null==this._fullExtent&&"location"===e.geometryInfo?.encoding.type){const{latitudeFieldName:t,longitudeFieldName:s}=e.geometryInfo.encoding,r=this._fieldsIndex.get(t)?.column,n=this._fieldsIndex.get(s)?.column,o=(0,h.hZ)((0,h.vt)(),h.qv);for(const e of this._files)for(const t of e.rowGroups()){const e={stack:[],error:void 0,hasError:!1};try{const s=(0,i.mS)(e,t.columnDescriptorForAttribute(r),!1),a=(0,i.mS)(e,t.columnDescriptorForAttribute(n),!1),u=[a.minValue(),s.minValue(),a.maxValue(),s.maxValue()];(0,h.DC)(o,u),t.free()}catch(t){e.error=t,e.hasError=!0}finally{(0,i.hk)(e)}}this._fullExtent={xmin:o[0],ymin:o[1],xmax:o[3],ymax:o[4],spatialReference:e.metadata.spatialReference}}return{extent:this._fullExtent}}destroy(){for(const e of this._files)e.free();this._queue.destroy()}setCustomParameters(e){this._customParameters=e}async queryFeatures(e,t){return this._validateQuery(e),e.objectIds?.length||(e.resultRecordCount=e.resultRecordCount?Math.min(e.resultRecordCount,8e3):8e3,e.resultOffset=e.resultOffset??0),(await this._enqueueQuery(e,t)).createQueryResponse()}async queryFeatureCount(e,t){return this._validateQuery(e),R(e)?(e.resultRecordCount=e.resultRecordCount??this._getFeatureCount(),e.resultOffset=e.resultOffset??0,delete e.outFields,delete e.returnGeometry,(await this._enqueueQuery(e,t)).createQueryResponseForCount()):this._getFeatureCount()}async queryObjectIds(e,t){return this._validateQuery(e),R(e)?(e.resultRecordCount=e.resultRecordCount?Math.min(e.resultRecordCount,8e3):8e3,e.resultOffset=e.resultOffset??0,delete e.returnGeometry,delete e.outFields,(await this._enqueueQuery(e,t)).items.map(e=>e.getObjectId())):Array.from({length:this._getFeatureCount()},(e,t)=>t)}async queryExtent(e,t){if(this._validateQuery(e),this._fullExtent&&!R(e))return{count:this._getFeatureCount(),extent:this._fullExtent};const s=(0,r.zI)(this._metadata.spatialReference);e.resultOffset=e.resultOffset??0,e.resultRecordCount=e.resultRecordCount??this._getFeatureCount(),e.returnGeometry=!0,delete e.outFields;const i=(0,h.hZ)((0,h.vt)(),h.qv),n=(0,h.vt)(),o=await this._enqueueQuery(e,t);let a=0;for(const e of o.items)e.getBounds(n)&&((0,h.RF)(i,n),a+=1);return{count:a,extent:(0,l.Wc)(i,s,e.outSR?(0,r.zI)(e.outSR):s,s,!1)}}_getFeatureCount(){return this._files.reduce((e,t)=>e+t.numRows(),0)}_validateQuery(e){if(e.outStatistics)throw new n.A("parquet:unsupported","Statistics queries are not supported",{query:e});if(e.orderByFields?.length)throw new n.A("parquet:unsupported","Queries using orderBy are not supported",{query:e})}async*_fetchChunks(e,t){const s=this._files[0].numRows(),i=Math.ceil(s/x);for(let s=0;s<i;s++){const i=s*x,r=await this._files[0].readChunk(i,x,e.fields,e.returnGeometry,t);for(const e of r){const t=new z.s(this._metadata,this._fieldsIndex,e,0),s=new y.j(t,null,0,!1),i=I(this._metadata,[s],this._queryEngineParams);yield i}}}_enqueueQuery(e,t){return this._queue.push(e,t)}async _executeQuery(e,t){const s=await this._getReadParams(e);if(e.objectIds?.length){const i=[],r=(await this._files[0].readChunksByRowId(new Uint32Array(e.objectIds),s.fields,s.returnGeometry,t)).map((e,t)=>new z.s(this._metadata,this._fieldsIndex,e,t)).map((e,t)=>new y.j(e,null,t,!1)),n=I(this._metadata,r,this._queryEngineParams),o=await n.executeQueryForOpaqueFeatures(e,t);for(const e of o)i.push(e);return new c.G(i,e,{fieldsIndex:this._fieldsIndex,geometryType:this._metadata.geometryType,spatialReference:this._metadata.spatialReference,objectIdField:"rowId",hasM:!1,hasZ:!1,featureAdapter:w})}let i=e.resultRecordCount,r=e.resultOffset;(0,o.Lw)(i),(0,o.Lw)(r),delete e.resultRecordCount,delete e.resultOffset;const n=[];for await(const o of this._fetchChunks(s,t)){const s=await o.executeQueryForOpaqueFeatures(e,t);if(s.length>r){const t=s.slice(r,Math.min(r+i,s.length));for(const e of t)n.push(e);if(r=0,i-=t.length,0===i)return new c.G(n,e,{fieldsIndex:this._fieldsIndex,geometryType:this._metadata.geometryType,spatialReference:this._metadata.spatialReference,objectIdField:"rowId",hasM:!1,hasZ:!1,featureAdapter:w})}else r-=s.length}return new c.G(n,e,{fieldsIndex:this._fieldsIndex,geometryType:this._metadata.geometryType,spatialReference:this._metadata.spatialReference,objectIdField:"rowId",hasM:!1,hasZ:!1,featureAdapter:w})}async _getReadParams(e){const t=new Set;if(e.where&&await(0,f.hz)(t,this._fieldsIndex,e.where),e.outStatistics)for(const s of e.outStatistics)null!=s.onStatisticField&&t.add(s.onStatisticField);if(e.outFields)for(const s of e.outFields)t.add(s);return{fields:this._getAttributeIds(Array.from(t)),returnGeometry:!!e.returnGeometry||!!e.geometry}}_getAttributeIds(e){if(null==e)return new Uint32Array;if(e.includes("*"))return new Uint32Array(this._fieldsIndex.fields.map(e=>e.column).filter(e=>null!=e));const t=[];for(const s of e){const e=this._fieldsIndex.get(s);if(null==e)throw new n.A("unknown-field",`Field ${s} does not exist`);null==e.column||t.push(e.column)}return new Uint32Array(t)}}function R(e){return Object.keys(e).some(e=>function(e){switch(e){case"resultOffset":case"resultRecordCount":case"aggregateIds":case"distance":case"gdbVersion":case"geometry":case"having":case"timeExtent":case"where":case"objectIds":case"historicMoment":return!0;default:return!1}}(e))}function I(e,t,s){const i=new g.I(e);for(const e of t)i.insert(e);return new l.do({...s,featureStore:i})}function S(e){switch(e.length){case 4:return(0,h.Jt)((0,h.vt)(),e);case 6:return e;default:throw new n.A("parquet:protocol-violation","Invalid Geoparquet file. BoundingBox size must be 4 or 6.",{bbox:e})}}},66344:(e,t,s)=>{s.d(t,{q:()=>a});const i=!!(0,s(44208).A)("esri-tests-disable-gpu-memory-measurements");Symbol.iterator;class r{get size(){return this._size}constructor(e=10485760){this._maxSize=e,this._db=new Map,this._size=0,this._hit=0,this._miss=0,this._users=new Map,this._sizeLimits=new Map}destroy(){this.clearAll(),this._sizeLimits.clear(),this._users.clear(),this._db=null}register(e){this._users.set(e.id.slice(0,-1),e)}deregister(e){this.clear(e),this._sizeLimits.delete(e),this._users.delete(e.id.slice(0,-1))}get maxSize(){return this._maxSize}set maxSize(e){this._maxSize=Math.max(e,-1),this._checkSize()}getSize(e,t){const s=this._db.get(e.id+t);return s?.size??0}put(e,t,s,r,o){t=e.id+t;const a=this._db.get(t);if(a&&(this._size-=a.size,e.size-=a.size,this._db.delete(t),a.entry!==s&&this._notifyRemove(t,a.entry,a.size,0)),r>this._maxSize)return void this._notifyRemove(t,s,r,0);if(void 0===s)return void console.warn("Refusing to cache undefined entry ");if(!r||r<0)return i||console.warn(`Refusing to cache entry with size ${r} for key ${t}`),void this._notifyRemove(t,s,0,0);const u=1+Math.max(o,-4)- -3;this._db.set(t,new n(s,r,u)),this._size+=r,e.size+=r,this._checkSize()}updateSize(e,t,s,i){t=e.id+t;const r=this._db.get(t);if(r&&r.entry===s){for(this._size-=r.size,e.size-=r.size;i>this._maxSize;){const e=this._notifyRemove(t,s,i,1);if(!(null!=e&&e>0))return void this._db.delete(t);i=e}r.size=i,this._size+=i,e.size+=i,this._checkSize()}}pop(e,t){t=e.id+t;const s=this._db.get(t);if(s)return this._size-=s.size,e.size-=s.size,this._db.delete(t),++this._hit,s.entry;++this._miss}get(e,t){t=e.id+t;const s=this._db.get(t);if(void 0!==s)return this._db.delete(t),s.lives=s.lifetime,this._db.set(t,s),++this._hit,s.entry;++this._miss}peek(e,t){const s=this._db.get(e.id+t);return s?++this._hit:++this._miss,s?.entry}get performanceInfo(){const e={Size:Math.round(this._size/1048576)+"/"+Math.round(this._maxSize/1048576)+"MB","Hit rate":Math.round(100*this._getHitRate())+"%",Entries:this._db.size.toString()},t={},s=new Array;this._db.forEach((e,i)=>{const r=e.lifetime;s[r]=(s[r]||0)+e.size,this._users.forEach(s=>{const{id:r,name:n}=s;if(i.startsWith(r)){const s=t[n]||0;t[n]=s+e.size}})});const i={};this._users.forEach(e=>{const s=e.name;if("hitRate"in e&&"number"==typeof e.hitRate&&!isNaN(e.hitRate)&&e.hitRate>0){const r=t[s]||0;t[s]=r,i[s]=Math.round(100*e.hitRate)+"%"}else i[s]="0%"});const r=Object.keys(t);r.sort((e,s)=>t[s]-t[e]),r.forEach(s=>e[s]=Math.round(t[s]/2**20)+"MB / "+i[s]);for(let t=s.length-1;t>=0;--t){const i=s[t];i&&(e["Priority "+(t+-3-1)]=Math.round(i/this._size*100)+"%")}return e}resetStats(){this._hit=this._miss=0,this._users.forEach(e=>e.resetHitRate())}clear(e){const t=e.id;this._db.forEach((e,s)=>{s.startsWith(t)&&(this._size-=e.size,this._db.delete(s),this._notifyRemove(s,e.entry,e.size,0))}),e.size=0}clearAll(){this._db.forEach((e,t)=>this._notifyRemove(t,e.entry,e.size,0)),this._users.forEach(e=>e.size=0),this._size=0,this._db.clear()}*values(e){for(const[t,s]of this._db)t.startsWith(e.id)&&(yield s.entry)}_getHitRate(){return this._hit/(this._hit+this._miss)}_notifyRemove(e,t,s,i){const r=this._users.get(e.split(o)[0])?.removeFunc,n=r?.(t,i,s);return"number"==typeof n?n:null}_checkSize(){this._sizeLimits.forEach((e,t)=>this._checkSizeLimits(e,t)),this._checkSizeLimits(this.maxSize)}setMaxSize(e,t){null==t||t<=0?this._sizeLimits.delete(e):this._sizeLimits.set(e,t)}_checkSizeLimits(e,t){const s=t??this;if(s.size<=e)return;const i=t?.id;let r=!0;for(;r;){r=!1;for(const[n,a]of this._db)if(0===a.lifetime&&(!i||n.startsWith(i))){const i=t??this._users.get(n.split(o)[0]);if(this._purgeItem(n,a,i),s.size<=.9*e)return;r||=this._db.has(n)}}for(const[r,n]of this._db)if(!i||r.startsWith(i)){const i=t??this._users.get(r.split(o)[0]);if(this._purgeItem(r,n,i),s.size<=.9*e)return}}_purgeItem(e,t,s){if(this._db.delete(e),t.lives<=1){this._size-=t.size,s&&(s.size-=t.size);const i=this._notifyRemove(e,t.entry,t.size,1);null!=i&&i>0&&(this._size+=i,s&&(s.size+=i),t.lives=t.lifetime,t.size=i,this._db.set(e,t))}else--t.lives,this._db.set(e,t)}}new r(0);class n{constructor(e,t,s){this.entry=e,this.size=t,this.lifetime=s,this.lives=s}}const o=":";class a{constructor(e,t){this.removeFunc=t,this._storage=new r,this.id="",this.name="",this.size=0,this._storage.maxSize=e,this._storage.register(this)}destroy(){this._storage.deregister(this),this._storage.destroy(),this._storage=null}put(e,t,s=1){this._storage.put(this,e,t,s,1)}pop(e){return this._storage.pop(this,e)}get(e){return this._storage.get(this,e)}clear(){this._storage.clearAll()}get maxSize(){return this._storage.maxSize}set maxSize(e){this._storage.maxSize=e}resetHitRate(){}}},69540:(e,t,s)=>{s.d(t,{OU:()=>l,Pw:()=>c});var i=s(31635),r=s(65008),n=(s(44208),s(4718)),o=(s(53966),s(97768)),a=s(88620),u=s(40608);const h=Symbol("ClonableMixin"),l=e=>{var t;const s=e;let r=class extends s{constructor(){super(...arguments),this[t]=!0}static{t=h}clone(e){const t=(0,a.oY)(this);(0,o.Lw)(t,"unable to clone instance of non-accessor class");const s=t.metadata,i=t.store,r={},u=new Map;for(const t in s){const o=s[t],a=i?.originOf(t),h=o.clonable;if(o.readOnly||!1===h||7!==a&&0!==a&&5!==a&&4!==a)continue;const l=this[t];let c=null;if("function"==typeof h)c=h(l,e);else if("reference"===h)c=l;else if(c=(0,n.TU)(l,e),null!=l&&null==c)continue;0===a?u.set(t,c):r[t]=c}const h=new(0,Object.getPrototypeOf(this).constructor)(r);if(u.size){const e=(0,a.oY)(h)?.store;if(e)for(const[t,s]of u)e.set(t,s,0)}return h}};return r=(0,i.Cg)([(0,u.$)("esri.core.Clonable")],r),r},c=l(r.A)}}]);
1
+ "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[4841],{6557:(e,t,s)=>{s.r(t),s.d(t,{default:()=>b});var i=s(31635),r=s(21818),n=s(49186),o=s(97768),a=s(563),u=s(16930),h=s(70328),l=s(56390),c=s(8384),d=s(95466),f=s(30524),m=s(70581),_=s(30661),y=s(28923),g=s(44320),p=s(35258),z=s(16630);const w=new _.Z,x=8e3;class b{constructor(){this._files=[],this._queue=new a.QueueProcessor({concurrency:1,process:(e,t)=>this._executeQuery(e,t)})}async load(e){this.setCustomParameters(e.customParameters),this._files=await Promise.all(e.urls.map(t=>(0,m.DV)(t,{geometryInfo:e.geometryInfo,outSpatialReference:null,getCustomParameters:()=>this._customParameters}))),this._metadata=p.i.createFeature(e.metadata),this._queryEngineParams={fieldsIndex:this._metadata.fieldsIndex,geometryType:e.geometryInfo?.geometryType??"esriGeometryPoint",featureIdInfo:{type:"object-id",fieldName:"rowId"},hasM:!1,hasZ:!1,spatialReference:u.A.fromJSON(e.geometryInfo?.spatialReference),aggregateAdapter:null,timeInfo:null,definitionExpression:null};const t=this._files[0];if(!t)return{extent:null};const{fields:s,timeZoneByFieldName:r}=e.metadata.fieldsIndex,n=s.map(e=>({...e,column:t.columnForFieldName(e.name)})),o=d.A.fromJSON({fields:n,timeZoneByFieldName:r});if(this._fieldsIndex=o,e.metadata.spatialReference&&(this._fullExtent=function(e,t){const s=(0,h.hZ)((0,h.vt)(),h.qv);for(const t of e){const e=(0,m.hD)(t);if(!e)return null;const i=e.columns[e.primary_column];if(!i.bbox)return null;const r=S(i.bbox);(0,h.RF)(s,r)}return{xmin:s[0],ymin:s[1],xmax:s[3],ymax:s[4],spatialReference:t}}(this._files,e.metadata.spatialReference)),null==this._fullExtent&&"location"===e.geometryInfo?.encoding.type){const{latitudeFieldName:t,longitudeFieldName:s}=e.geometryInfo.encoding,r=this._fieldsIndex.get(t)?.column,n=this._fieldsIndex.get(s)?.column,o=(0,h.hZ)((0,h.vt)(),h.qv);for(const e of this._files)for(const t of e.rowGroups()){const e={stack:[],error:void 0,hasError:!1};try{const s=(0,i.mS)(e,t.columnDescriptorForAttribute(r),!1),a=(0,i.mS)(e,t.columnDescriptorForAttribute(n),!1),u=[a.minValue(),s.minValue(),a.maxValue(),s.maxValue()];(0,h.DC)(o,u),t.free()}catch(t){e.error=t,e.hasError=!0}finally{(0,i.hk)(e)}}this._fullExtent={xmin:o[0],ymin:o[1],xmax:o[3],ymax:o[4],spatialReference:e.metadata.spatialReference}}return{extent:this._fullExtent}}destroy(){for(const e of this._files)e.free();this._queue.destroy()}setCustomParameters(e){this._customParameters=e}async queryFeatures(e,t){return this._validateQuery(e),e.objectIds?.length||(e.resultRecordCount=e.resultRecordCount?Math.min(e.resultRecordCount,8e3):8e3,e.resultOffset=e.resultOffset??0),(await this._enqueueQuery(e,t)).createQueryResponse()}async queryFeatureCount(e,t){return this._validateQuery(e),R(e)?(e.resultRecordCount=e.resultRecordCount??this._getFeatureCount(),e.resultOffset=e.resultOffset??0,delete e.outFields,delete e.returnGeometry,(await this._enqueueQuery(e,t)).createQueryResponseForCount()):this._getFeatureCount()}async queryObjectIds(e,t){return this._validateQuery(e),R(e)?(e.resultRecordCount=e.resultRecordCount?Math.min(e.resultRecordCount,8e3):8e3,e.resultOffset=e.resultOffset??0,delete e.returnGeometry,delete e.outFields,(await this._enqueueQuery(e,t)).items.map(e=>e.getObjectId())):Array.from({length:this._getFeatureCount()},(e,t)=>t)}async queryExtent(e,t){if(this._validateQuery(e),this._fullExtent&&!R(e))return{count:this._getFeatureCount(),extent:this._fullExtent};const s=(0,r.zI)(this._metadata.spatialReference);e.resultOffset=e.resultOffset??0,e.resultRecordCount=e.resultRecordCount??this._getFeatureCount(),e.returnGeometry=!0,delete e.outFields;const i=(0,h.hZ)((0,h.vt)(),h.qv),n=(0,h.vt)(),o=await this._enqueueQuery(e,t);let a=0;for(const e of o.items)e.getBounds(n)&&((0,h.RF)(i,n),a+=1);return{count:a,extent:(0,l.Wc)(i,s,e.outSR?(0,r.zI)(e.outSR):s,s,!1)}}_getFeatureCount(){return this._files.reduce((e,t)=>e+t.numRows(),0)}_validateQuery(e){if(e.outStatistics)throw new n.A("parquet:unsupported","Statistics queries are not supported",{query:e});if(e.orderByFields?.length)throw new n.A("parquet:unsupported","Queries using orderBy are not supported",{query:e})}async*_fetchChunks(e,t){const s=this._files[0].numRows(),i=Math.ceil(s/x);for(let s=0;s<i;s++){const i=s*x,r=await this._files[0].readChunk(i,x,e.fields,e.returnGeometry,t);for(const e of r){const t=new z.s(this._metadata,this._fieldsIndex,e,0),s=new y.j(t,null,0,!1),i=I(this._metadata,[s],this._queryEngineParams);yield i}}}_enqueueQuery(e,t){return this._queue.push(e,t)}async _executeQuery(e,t){const s=await this._getReadParams(e);if(e.objectIds?.length){const i=[],r=(await this._files[0].readChunksByRowId(new Uint32Array(e.objectIds),s.fields,s.returnGeometry,t)).map((e,t)=>new z.s(this._metadata,this._fieldsIndex,e,t)).map((e,t)=>new y.j(e,null,t,!1)),n=I(this._metadata,r,this._queryEngineParams),o=await n.executeQueryForOpaqueFeatures(e,t);for(const e of o)i.push(e);return new c.G(i,e,{fieldsIndex:this._fieldsIndex,geometryType:this._metadata.geometryType,spatialReference:this._metadata.spatialReference,objectIdField:"rowId",hasM:!1,hasZ:!1,featureAdapter:w})}let i=e.resultRecordCount,r=e.resultOffset;(0,o.Lw)(i),(0,o.Lw)(r),delete e.resultRecordCount,delete e.resultOffset;const n=[];for await(const o of this._fetchChunks(s,t)){const s=await o.executeQueryForOpaqueFeatures(e,t);if(s.length>r){const t=s.slice(r,Math.min(r+i,s.length));for(const e of t)n.push(e);if(r=0,i-=t.length,0===i)return new c.G(n,e,{fieldsIndex:this._fieldsIndex,geometryType:this._metadata.geometryType,spatialReference:this._metadata.spatialReference,objectIdField:"rowId",hasM:!1,hasZ:!1,featureAdapter:w})}else r-=s.length}return new c.G(n,e,{fieldsIndex:this._fieldsIndex,geometryType:this._metadata.geometryType,spatialReference:this._metadata.spatialReference,objectIdField:"rowId",hasM:!1,hasZ:!1,featureAdapter:w})}async _getReadParams(e){const t=new Set;if(e.where&&await(0,f.hz)(t,this._fieldsIndex,e.where),e.outStatistics)for(const s of e.outStatistics)null!=s.onStatisticField&&t.add(s.onStatisticField);if(e.outFields)for(const s of e.outFields)t.add(s);return{fields:this._getAttributeIds(Array.from(t)),returnGeometry:!!e.returnGeometry||!!e.geometry}}_getAttributeIds(e){if(null==e)return new Uint32Array;if(e.includes("*"))return new Uint32Array(this._fieldsIndex.fields.map(e=>e.column).filter(e=>null!=e));const t=[];for(const s of e){const e=this._fieldsIndex.get(s);if(null==e)throw new n.A("unknown-field",`Field ${s} does not exist`);null==e.column||t.push(e.column)}return new Uint32Array(t)}}function R(e){return Object.keys(e).some(e=>function(e){switch(e){case"resultOffset":case"resultRecordCount":case"aggregateIds":case"distance":case"gdbVersion":case"geometry":case"having":case"timeExtent":case"where":case"objectIds":case"historicMoment":return!0;default:return!1}}(e))}function I(e,t,s){const i=new g.I(e);for(const e of t)i.insert(e);return new l.do({...s,featureStore:i})}function S(e){switch(e.length){case 4:return(0,h.Jt)((0,h.vt)(),e);case 6:return e;default:throw new n.A("parquet:protocol-violation","Invalid Geoparquet file. BoundingBox size must be 4 or 6.",{bbox:e})}}},66344:(e,t,s)=>{s.d(t,{q:()=>a});const i=!!(0,s(44208).A)("esri-tests-disable-gpu-memory-measurements");Symbol.iterator;class r{get size(){return this._size}constructor(e=10485760){this._maxSize=e,this._db=new Map,this._size=0,this._hit=0,this._miss=0,this._users=new Map,this._sizeLimits=new Map}destroy(){this.clearAll(),this._sizeLimits.clear(),this._users.clear(),this._db=null}register(e){this._users.set(e.id.slice(0,-1),e)}deregister(e){this.clear(e),this._sizeLimits.delete(e),this._users.delete(e.id.slice(0,-1))}get maxSize(){return this._maxSize}set maxSize(e){this._maxSize=Math.max(e,-1),this._checkSize()}getSize(e,t){const s=this._db.get(e.id+t);return s?.size??0}put(e,t,s,r,o){t=e.id+t;const a=this._db.get(t);if(a&&(this._size-=a.size,e.size-=a.size,this._db.delete(t),a.entry!==s&&this._notifyRemove(t,a.entry,a.size,0)),r>this._maxSize)return void this._notifyRemove(t,s,r,0);if(void 0===s)return void console.warn("Refusing to cache undefined entry ");if(!r||r<0)return i||console.warn(`Refusing to cache entry with size ${r} for key ${t}`),void this._notifyRemove(t,s,0,0);const u=1+Math.max(o,-4)- -3;this._db.set(t,new n(s,r,u)),this._size+=r,e.size+=r,this._checkSize()}updateSize(e,t){t=e.id+t;const s=this._db.get(t);if(!s)return;this._size-=s.size,e.size-=s.size;let i=s.entry.usedMemory;for(;i>this._maxSize;){const e=this._notifyRemove(t,s.entry,i,1);if(!(null!=e&&e>0))return void this._db.delete(t);i=e}s.size=i,this._size+=i,e.size+=i,this._checkSize()}pop(e,t){t=e.id+t;const s=this._db.get(t);if(s)return this._size-=s.size,e.size-=s.size,this._db.delete(t),++this._hit,s.entry;++this._miss}get(e,t){t=e.id+t;const s=this._db.get(t);if(void 0!==s)return this._db.delete(t),s.lives=s.lifetime,this._db.set(t,s),++this._hit,s.entry;++this._miss}peek(e,t){const s=this._db.get(e.id+t);return s?++this._hit:++this._miss,s?.entry}get performanceInfo(){const e={Size:Math.round(this._size/1048576)+"/"+Math.round(this._maxSize/1048576)+"MB","Hit rate":Math.round(100*this._getHitRate())+"%",Entries:this._db.size.toString()},t={},s=new Array;this._db.forEach((e,i)=>{const r=e.lifetime;s[r]=(s[r]||0)+e.size,this._users.forEach(s=>{const{id:r,name:n}=s;if(i.startsWith(r)){const s=t[n]||0;t[n]=s+e.size}})});const i={};this._users.forEach(e=>{const s=e.name;if("hitRate"in e&&"number"==typeof e.hitRate&&!isNaN(e.hitRate)&&e.hitRate>0){const r=t[s]||0;t[s]=r,i[s]=Math.round(100*e.hitRate)+"%"}else i[s]="0%"});const r=Object.keys(t);r.sort((e,s)=>t[s]-t[e]),r.forEach(s=>e[s]=Math.round(t[s]/2**20)+"MB / "+i[s]);for(let t=s.length-1;t>=0;--t){const i=s[t];i&&(e["Priority "+(t+-3-1)]=Math.round(i/this._size*100)+"%")}return e}resetStats(){this._hit=this._miss=0,this._users.forEach(e=>e.resetHitRate())}clear(e){const t=e.id;this._db.forEach((e,s)=>{s.startsWith(t)&&(this._size-=e.size,this._db.delete(s),this._notifyRemove(s,e.entry,e.size,0))}),e.size=0}clearAll(){this._db.forEach((e,t)=>this._notifyRemove(t,e.entry,e.size,0)),this._users.forEach(e=>e.size=0),this._size=0,this._db.clear()}*values(e){for(const[t,s]of this._db)t.startsWith(e.id)&&(yield s.entry)}_getHitRate(){return this._hit/(this._hit+this._miss)}_notifyRemove(e,t,s,i){const r=this._users.get(e.split(o)[0])?.removeFunc,n=r?.(t,i,s);return"number"==typeof n?n:null}_checkSize(){this._sizeLimits.forEach((e,t)=>this._checkSizeLimits(e,t)),this._checkSizeLimits(this.maxSize)}setMaxSize(e,t){null==t||t<=0?this._sizeLimits.delete(e):this._sizeLimits.set(e,t)}_checkSizeLimits(e,t){const s=t??this;if(s.size<=e)return;const i=t?.id;let r=!0;for(;r;){r=!1;for(const[n,a]of this._db)if(0===a.lifetime&&(!i||n.startsWith(i))){const i=t??this._users.get(n.split(o)[0]);if(this._purgeItem(n,a,i),s.size<=.9*e)return;r||=this._db.has(n)}}for(const[r,n]of this._db)if(!i||r.startsWith(i)){const i=t??this._users.get(r.split(o)[0]);if(this._purgeItem(r,n,i),s.size<=.9*e)return}}_purgeItem(e,t,s){if(this._db.delete(e),t.lives<=1){this._size-=t.size,s&&(s.size-=t.size);const i=this._notifyRemove(e,t.entry,t.size,1);null!=i&&i>0&&(this._size+=i,s&&(s.size+=i),t.lives=t.lifetime,t.size=i,this._db.set(e,t))}else--t.lives,this._db.set(e,t)}}new r(0);class n{constructor(e,t,s){this.entry=e,this.size=t,this.lifetime=s,this.lives=s}}const o=":";class a{constructor(e,t){this.removeFunc=t,this._storage=new r,this.id="",this.name="",this.size=0,this._storage.maxSize=e,this._storage.register(this)}destroy(){this._storage.deregister(this),this._storage.destroy(),this._storage=null}put(e,t,s=1){this._storage.put(this,e,t,s,1)}pop(e){return this._storage.pop(this,e)}get(e){return this._storage.get(this,e)}clear(){this._storage.clearAll()}get maxSize(){return this._storage.maxSize}set maxSize(e){this._storage.maxSize=e}resetHitRate(){}}},69540:(e,t,s)=>{s.d(t,{OU:()=>l,Pw:()=>c});var i=s(31635),r=s(65008),n=(s(44208),s(4718)),o=(s(53966),s(97768)),a=s(88620),u=s(40608);const h=Symbol("ClonableMixin"),l=e=>{var t;const s=e;let r=class extends s{constructor(){super(...arguments),this[t]=!0}static{t=h}clone(e){const t=(0,a.oY)(this);(0,o.Lw)(t,"unable to clone instance of non-accessor class");const s=t.metadata,i=t.store,r={},u=new Map;for(const t in s){const o=s[t],a=i?.originOf(t),h=o.clonable;if(o.readOnly||!1===h||7!==a&&0!==a&&5!==a&&4!==a)continue;const l=this[t];let c=null;if("function"==typeof h)c=h(l,e);else if("reference"===h)c=l;else if(c=(0,n.TU)(l,e),null!=l&&null==c)continue;0===a?u.set(t,c):r[t]=c}const h=new(0,Object.getPrototypeOf(this).constructor)(r);if(u.size){const e=(0,a.oY)(h)?.store;if(e)for(const[t,s]of u)e.set(t,s,0)}return h}};return r=(0,i.Cg)([(0,u.$)("esri.core.Clonable")],r),r},c=l(r.A)}}]);
@@ -1 +1 @@
1
- "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[9536],{2272:(e,t,n)=>{n.d(t,{Dl:()=>u,gf:()=>h,jV:()=>a,lF:()=>c});var i=n(92602),s=n(70333),r=n(4718),o=n(84952),l=n(926);function a(e,t){return t?{...t,query:{...e,...t.query}}:{query:e}}function u(e){return"string"==typeof e?(0,o.An)(e):(0,r.o8)(e)}function c(e,t,n){const i={};for(const s in e){if("declaredClass"===s)continue;const r=e[s];if(null!=r&&"function"!=typeof r)if(Array.isArray(r))i[s]=r.map(e=>c(e));else if("object"==typeof r)if(r.toJSON){const e=r.toJSON(n?.[s]);i[s]=t?e:JSON.stringify(e)}else i[s]=t?r:JSON.stringify(r);else i[s]=r}return i}async function h(e,t,r){const o=function(e,t){return e?t&&(0,l.Qc)(e)?t:(0,l.CG)(e)??s.id?.findCredential(e)?.token:null}(e,t);if(o)return o;!s.id&&i.A.request.useIdentity&&await Promise.all([n.e(7330),n.e(4813),n.e(3747)]).then(n.bind(n,73747));const a=await s.id.getCredential(e,r);return a?.token}},6518:(e,t,n)=>{n.d(t,{F:()=>l});var i=n(44208),s=n(75503),r=n(19419);const o={minX:0,minY:0,maxX:0,maxY:0};class l{constructor(){this._indexInvalid=!1,this._boundsToLoad=[],this._boundsById=new Map,this._idByBounds=new Map,this._index=new s.wq(9,(0,i.A)("esri-csp-restrictions")?e=>({minX:e[0],minY:e[1],maxX:e[2],maxY:e[3]}):["[0]","[1]","[2]","[3]"]),this._loadIndex=()=>{if(this._indexInvalid){const e=new Array(this._idByBounds.size);let t=0;this._idByBounds.forEach((n,i)=>{e[t++]=i}),this._indexInvalid=!1,this._index.clear(),this._index.load(e)}else this._boundsToLoad.length&&(this._index.load(Array.from(new Set(this._boundsToLoad.filter(e=>this._idByBounds.has(e))))),this._boundsToLoad.length=0)}}get fullBounds(){if(!this._boundsById.size)return null;const e=(0,r.Ie)();for(const t of this._boundsById.values())t&&(e[0]=Math.min(t[0],e[0]),e[1]=Math.min(t[1],e[1]),e[2]=Math.max(t[2],e[2]),e[3]=Math.max(t[3],e[3]));return e}get valid(){return!this._indexInvalid}clear(){this._indexInvalid=!1,this._boundsToLoad.length=0,this._boundsById.clear(),this._idByBounds.clear(),this._index.clear()}delete(e){const t=this._boundsById.get(e);this._boundsById.delete(e),t&&(this._idByBounds.delete(t),this._indexInvalid||this._index.remove(t))}forEachInBounds(e,t){this._loadIndex(),function(e,t,n){(function(e){o.minX=e[0],o.minY=e[1],o.maxX=e[2],o.maxY=e[3]})(t),e.search(o,n)}(this._index,e,e=>t(this._idByBounds.get(e)))}get(e){return this._boundsById.get(e)}has(e){return this._boundsById.has(e)}invalidateIndex(){this._indexInvalid||(this._indexInvalid=!0,this._boundsToLoad.length=0)}set(e,t){if(!this._indexInvalid){const t=this._boundsById.get(e);t&&(this._index.remove(t),this._idByBounds.delete(t))}this._boundsById.set(e,t),t&&(this._idByBounds.set(t,e),this._indexInvalid||(this._boundsToLoad.push(t),this._boundsToLoad.length>5e4&&this._loadIndex()))}}},9762:(e,t,n)=>{n.r(t),n.d(t,{projectBuffer:()=>s});var i=n(37539);function s(e,t,n,s,r,o,l=Math.floor(e.length/3)){const a=(0,i.jd)(t,r);if(null==a)return!1;if(a===i.pO){if(e===s&&n===o)return!0;const t=n+3*l;for(let i=n,r=o;i<t;i++,r++)s[r]=e[i];return!0}const u=n+3*l;for(let t=n,i=o;t<u;t+=3,i+=3)a(e,t,s,i);return!0}},14607:(e,t,n)=>{n.d(t,{B:()=>u,GP:()=>l,qg:()=>c});var i=n(799),s=n(73444);const r={ar:[".",","],bg:[","," "],bs:[",","."],ca:[",","."],cs:[","," "],da:[",","."],de:[",","."],"de-ch":[".","’"],el:[",","."],en:[".",","],"en-au":[".",","],es:[",","."],"es-mx":[".",","],et:[","," "],fi:[","," "],fr:[","," "],"fr-ch":[","," "],he:[".",","],hi:[".",",","#,##,##0.###"],hr:[",","."],hu:[","," "],id:[",","."],it:[",","."],"it-ch":[".","’"],ja:[".",","],ko:[".",","],lt:[","," "],lv:[","," "],mk:[",","."],nb:[","," "],nl:[",","."],no:[","," "],pl:[","," "],pt:[",","."],"pt-pt":[","," "],ro:[",","."],ru:[","," "],sk:[","," "],sl:[",","."],sr:[",","."],sv:[","," "],th:[".",","],tr:[",","."],uk:[","," "],vi:[",","."],zh:[".",","]};function o(e=(0,s.JK)()){let t=(e=e.toLowerCase())in r;if(!t){const n=e.split("-");n.length>1&&n[0]in r&&(e=n[0],t=!0),t||(e="en")}const[n,i,o="#,##0.###"]=r[e];return{decimal:n,group:i,pattern:o}}function l(e,t){const n=o((t={...t}).locale);t.customs=n;const i=t.pattern||n.pattern;return isNaN(e)||Math.abs(e)===1/0?null:function(e,t,n){const i=(n=n||{}).customs.group,s=n.customs.decimal,r=t.split(";"),o=r[0];if((t=r[e<0?1:0]||"-"+o).includes("%"))e*=100;else if(t.includes("‰"))e*=1e3;else{if(t.includes("¤"))throw new Error("currency notation not supported");if(t.includes("E"))throw new Error("exponential notation not supported")}const l=a,u=o.match(l);if(!u)throw new Error("unable to find a number expression in pattern: "+t);return!1===n.fractional&&(n.places=0),t.replace(l,function(e,t,n){!0===(n=n||{}).places&&(n.places=0),n.places===1/0&&(n.places=6);const i=t.split("."),s="string"==typeof n.places&&n.places.indexOf(",");let r=n.places;s?r=n.places.slice(s+1):+r>=0||(r=(i[1]||[]).length),n.round<0||(e=Number(e.toFixed(Number(r))));const o=String(Math.abs(e)).split("."),l=o[1]||"";if(i[1]||n.places){s&&(n.places=n.places.slice(0,Math.max(0,s)));const e=void 0!==n.places?n.places:i[1]&&i[1].lastIndexOf("0")+1;+e>l.length&&(o[1]=l.padEnd(Number(e),"0")),+r<l.length&&(o[1]=l.slice(0,Math.max(0,Number(r))))}else o[1]&&o.pop();const a=i[0].replace(",","");let u=a.indexOf("0");-1!==u&&(u=a.length-u,u>o[0].length&&(o[0]=o[0].padStart(u,"0")),a.includes("#")||(o[0]=o[0].slice(-u)));let c,h,d=i[0].lastIndexOf(",");if(-1!==d){c=i[0].length-d-1;const e=i[0].slice(0,d);d=e.lastIndexOf(","),-1!==d&&(h=e.length-d-1)}const f=[];for(let e=o[0];e;){const t=e.length-c;f.push(t>0?e.slice(Math.max(0,t)):e),e=t>0?e.slice(0,t):"",h&&(c=h,h=void 0)}return o[0]=f.reverse().join(n.group||","),o.join(n.decimal||".")}(e,u[0],{decimal:s,group:i,places:n.places,round:n.round}))}(e,i,t)}const a=/[#0,]*[#0](?:\.0*#*)?/;function u(e){const t=o((e=e||{}).locale),n=e.pattern||t.pattern,s=t.group,r=t.decimal;let l=1;if(n.includes("%"))l/=100;else if(n.includes("‰"))l/=1e3;else if(n.includes("¤"))throw new Error("currency notation not supported");const u=n.split(";");1===u.length&&u.push("-"+u[0]);const c=d(u,t=>(t="(?:"+(0,i.Cj)(t,".")+")").replace(a,t=>{const n={signed:!1,separator:e.strict?s:[s,""],fractional:e.fractional,decimal:r,exponent:!1},i=t.split(".");let o=e.places;1===i.length&&1!==l&&(i[1]="###"),1===i.length||0===o?n.fractional=!1:(void 0===o&&(o=e.pattern?i[1].lastIndexOf("0")+1:1/0),o&&null==e.fractional&&(n.fractional=!0),!e.places&&+o<i[1].length&&(o+=","+i[1].length),n.places=o);const a=i[0].split(",");return a.length>1&&(n.groupSize=a.pop().length,a.length>1&&(n.groupSize2=a.pop().length)),"("+function(e){"places"in(e=e||{})||(e.places=1/0),"string"!=typeof e.decimal&&(e.decimal="."),"fractional"in e&&!String(e.places).startsWith("0")||(e.fractional=[!0,!1]),"exponent"in e||(e.exponent=[!0,!1]),"eSigned"in e||(e.eSigned=[!0,!1]);const t=h(e),n=d(e.fractional,t=>{let n="";return t&&0!==e.places&&(n="\\"+e.decimal,e.places===1/0?n="(?:"+n+"\\d+)?":n+="\\d{"+e.places+"}"),n},!0);let i=t+n;return n&&(i="(?:(?:"+i+")|(?:"+n+"))"),i+d(e.exponent,t=>t?"([eE]"+h({signed:e.eSigned})+")":"")}(n)+")"}),!0);return{regexp:c.replaceAll(/[\xa0 ]/g,"[\\s\\xa0]"),group:s,decimal:r,factor:l}}function c(e,t){const n=u(t),i=new RegExp("^"+n.regexp+"$").exec(e);if(!i)return NaN;let s=i[1];if(!i[1]){if(!i[2])return NaN;s=i[2],n.factor*=-1}return s=s.replaceAll(new RegExp("["+n.group+"\\s\\xa0]","g"),"").replace(n.decimal,"."),Number(s)*n.factor}function h(e){return"signed"in(e=e||{})||(e.signed=[!0,!1]),"separator"in e?"groupSize"in e||(e.groupSize=3):e.separator="",d(e.signed,e=>e?"[-+]":"",!0)+d(e.separator,t=>{if(!t)return"(?:\\d+)";" "===(t=(0,i.Cj)(t))?t="\\s":" "===t&&(t="\\s\\xa0");const n=e.groupSize,s=e.groupSize2;if(s){const e="(?:0|[1-9]\\d{0,"+(s-1)+"}(?:["+t+"]\\d{"+s+"})*["+t+"]\\d{"+n+"})";return n-s>0?"(?:"+e+"|(?:0|[1-9]\\d{0,"+(n-1)+"}))":e}return"(?:0|[1-9]\\d{0,"+(n-1)+"}(?:["+t+"]\\d{"+n+"})*)"},!0)}const d=(e,t,n)=>{if(!Array.isArray(e))return t(e);const i=[];for(let n=0;n<e.length;n++)i.push(t(e[n]));return f(i.join("|"),Boolean(n))},f=(e,t)=>"("+(t?"?:":"")+e+")"},36708:(e,t,n)=>{n.d(t,{C_:()=>d,OH:()=>m,Vh:()=>g,on:()=>h,pc:()=>y,wB:()=>a,z7:()=>u});var i=n(37955),s=n(36563),r=n(97768),o=n(74887),l=n(14012);function a(e,t,n={}){return c(e,t,n,f)}function u(e,t,n={}){return c(e,t,n,p)}function c(e,t,n={},i){let s=null;const o=n.once?(e,n)=>{i(e)&&((0,r.xt)(s),t(e,n))}:(e,n)=>{i(e)&&t(e,n)};if(s=(0,l.Cn)(e,o,n.sync,n.equals),n.initial){const t=e();o(t,t)}return s}function h(e,t,n,o={}){let l=null,u=null,c=null;function h(){l&&u&&(u.remove(),o.onListenerRemove?.(l),l=null,u=null)}function d(e){o.once&&o.once&&(0,r.xt)(c),n(e)}const f=a(e,(e,n)=>{h(),(0,i.wb)(e)&&(l=e,u=(0,i.on)(e,t,d),o.onListenerAdd?.(e))},{sync:o.sync,initial:!0});return c=(0,s.hA)(()=>{f.remove(),h()}),c}function d(e,t){return function(e,t,n){if((0,o.G4)(n))return Promise.reject((0,o.NK)());const i=e();if(t?.(i))return Promise.resolve(i);let l=null;function a(){l=(0,r.xt)(l)}return new Promise((i,r)=>{l=(0,s.vE)([(0,o.u7)(n,()=>{a(),r((0,o.NK)())}),c(e,e=>{a(),i(e)},{sync:!1,once:!0},t??f)])})}(e,p,t)}function f(e){return!0}function p(e){return!!e}n(80559);const m={sync:!0},g={initial:!0},y={sync:!0,initial:!0}},37539:(e,t,n)=>{n.d(t,{pO:()=>m,jd:()=>d,Tp:()=>f,w5:()=>h});var i=n(34727),s=n(83047),r=n(73941),o=n(79258);Math.PI;const l=o.$O.radius,a=o.$O.eccentricitySquared,u={a1:l*a,a2:l*a*l*a,a3:l*a*a/2,a4:l*a*l*a*2.5,a5:l*a+l*a*a/2,a6:1-a};o.$O.radius,o.$O.flattening,o.Sw.radius,o.Sw.flattening,o.sH.radius,o.sH.flattening,o.sH.radius;var c=n(21325);const h={2:{5:m,7:null,9:null,10:m,1:S,6:null,8:null,0:null,3:y,11:_,2:m,4:B},5:{5:m,7:null,9:null,10:m,1:S,6:null,8:null,0:null,3:y,11:_,2:m,4:B},7:{5:null,7:m,9:null,10:m,1:null,6:b,8:null,0:null,3:null,11:null,2:null,4:null},9:{5:null,7:null,9:m,10:m,1:null,6:null,8:I,0:null,3:null,11:null,2:null,4:null},3:{5:g,7:null,9:null,10:g,1:function(e,t,n,i){const s=e[t]/k,r=E-2*Math.atan(Math.exp(-e[t+1]/k)),o=k+e[t+2],l=Math.cos(r)*o;n[i]=Math.cos(s)*l,n[i+1]=Math.sin(s)*l,n[i+2]=Math.sin(r)*o},6:null,8:null,0:null,3:m,11:function(e,t,n,i){g(e,t,n,i),_(n,i,n,i)},2:g,4:function(e,t,n,i){g(e,t,n,i),B(n,i,n,i)}},4:{5:T,7:null,9:null,10:T,1:function(e,t,n,i){T(e,t,n,i),S(n,i,n,i)},6:null,8:null,0:null,3:function(e,t,n,i){T(e,t,n,i),y(n,i,n,i)},11:function(e,t,n,i){T(e,t,n,i),_(n,i,n,i)},2:T,4:m},1:{5:F,7:null,9:null,10:F,1:m,6:null,8:null,0:null,3:function(e,t,n,i){F(e,t,n,i),y(n,i,n,i)},11:function(e,t,n,i){F(e,t,n,i),_(n,i,n,i)},2:F,4:function(e,t,n,i){F(e,t,n,i),B(n,i,n,i)}},6:{5:null,7:z,9:null,10:z,1:null,6:m,8:null,0:null,3:null,11:null,2:null,4:null},8:{5:null,7:null,9:v,10:v,1:null,6:null,8:m,0:null,3:null,11:null,2:null,4:null},0:{5:null,7:null,9:null,10:null,1:null,6:null,8:null,0:m,3:null,11:null,2:null,4:null},10:{5:m,7:m,9:m,10:m,1:S,6:b,8:I,0:null,3:y,11:_,2:m,4:B},11:{5:x,7:null,9:null,10:x,1:function(e,t,n,i){x(e,t,n,i),S(n,i,n,i)},6:null,8:null,0:null,3:function(e,t,n,i){x(e,t,n,i),y(n,i,n,i)},11:m,2:x,4:function(e,t,n,i){x(e,t,n,i),B(n,i,n,i)}}};function d(e,t){return f(e,t)?.projector}function f(e,t){if(null==e||null==t)return null;if(A.source.spatialReference===e&&A.dest.spatialReference===t)return A;const n=p(e,A.source),i=p(t,A.dest);return 0===n&&0===i?(0,c.aI)(e,t)?A.projector=m:A.projector=null:A.projector=h[n][i],A}function p(e,t){return e?t.spatialReference===e?t.spatialReferenceId:(t.spatialReference=e,"metersPerUnit"in t&&(t.metersPerUnit=(0,s.GA)(e,1)),(0,r.jA)(e)?t.spatialReferenceId=1:(0,c.oT)(e)?t.spatialReferenceId=2:(0,c.K8)(e)?t.spatialReferenceId=3:(0,c.r1)(e)?t.spatialReferenceId=11:e.wkt===r.Ro.wkt?t.spatialReferenceId=4:4490===e.wkid?t.spatialReferenceId=5:e.wkt===r.FY.wkt?t.spatialReferenceId=6:e.wkt===r.LJ.wkt?t.spatialReferenceId=8:(0,c.q8)(e)?t.spatialReferenceId=7:(0,c.KQ)(e)?t.spatialReferenceId=9:t.spatialReferenceId=0):0}function m(e,t,n,i){e!==n&&(n[i++]=e[t++],n[i++]=e[t++],n[i]=e[t])}function g(e,t,n,i){n[i]=N*(e[t]/k),n[i+1]=N*(E-2*Math.atan(Math.exp(-e[t+1]/k))),n[i+2]=e[t+2]}function y(e,t,n,s){!function(e,t,n,s,r){const o=.4999999*Math.PI,l=(0,i.qE)(R*e[t+1],-o,o),a=Math.sin(l);n[s++]=R*e[t]*r.radius,n[s++]=r.halfSemiMajorAxis*Math.log((1+a)/(1-a)),n[s]=e[t+2]}(e,t,n,s,o.$O)}function _(e,t,n,i){n[i]=e[t]*C,n[i+1]=e[t+1]*C,n[i+2]=e[t+2]}function x(e,t,n,i){n[i]=e[t]*j,n[i+1]=e[t+1]*j,n[i+2]=e[t+2]}function w(e,t,n,i,s){const r=s+e[t+2],o=R*e[t+1],l=R*e[t],a=Math.cos(o)*r;n[i]=Math.cos(l)*a,n[i+1]=Math.sin(l)*a,n[i+2]=Math.sin(o)*r}function I(e,t,n,i){w(e,t,n,i,o.Sw.radius)}function b(e,t,n,i){w(e,t,n,i,o.sH.radius)}function S(e,t,n,i){w(e,t,n,i,o.$O.radius)}function M(e,t,n,s,r){const o=e[t],l=e[t+1],a=e[t+2],u=Math.sqrt(o*o+l*l+a*a),c=(0,i.YN)(a/(0===u?1:u)),h=Math.atan2(l,o);n[s++]=N*h,n[s++]=N*c,n[s]=u-r}function v(e,t,n,i){M(e,t,n,i,o.Sw.radius)}function z(e,t,n,i){M(e,t,n,i,o.sH.radius)}function F(e,t,n,i){M(e,t,n,i,o.$O.radius)}function B(e,t,n,i){!function(e,t,n,i,s){const r=R*e[t],o=R*e[t+1],l=e[t+2],a=Math.sin(o),u=Math.cos(o),c=s.radius/Math.sqrt(1-s.eccentricitySquared*a*a);n[i++]=(c+l)*u*Math.cos(r),n[i++]=(c+l)*u*Math.sin(r),n[i++]=(c*(1-s.eccentricitySquared)+l)*a}(e,t,n,i,o.$O)}function T(e,t,n,i){const s=u,r=e[t],l=e[t+1],a=e[t+2];let c,h,d,f,p,m,g,y,_,x,w,I,b,S,M,v,z,F,B,T,A;c=Math.abs(a),h=r*r+l*l,d=Math.sqrt(h),f=h+a*a,p=Math.sqrt(f),T=Math.atan2(l,r),m=a*a/f,g=h/f,S=s.a2/p,M=s.a3-s.a4/p,g>.3?(y=c/p*(1+g*(s.a1+S+m*M)/p),B=Math.asin(y),x=y*y,_=Math.sqrt(1-x)):(_=d/p*(1-m*(s.a5-S-g*M)/p),B=Math.acos(_),x=1-_*_,y=Math.sqrt(x)),w=1-o.$O.eccentricitySquared*x,I=o.$O.radius/Math.sqrt(w),b=s.a6*I,S=d-I*_,M=c-b*y,z=_*S+y*M,v=_*M-y*S,F=v/(b/w+z),B+=F,A=z+v*F/2,a<0&&(B=-B),n[i++]=N*T,n[i++]=N*B,n[i]=A}const A={source:{spatialReference:null,spatialReferenceId:0,metersPerUnit:1},dest:{spatialReference:null,spatialReferenceId:0,metersPerUnit:1},projector:m},R=(0,i.kU)(1),N=(0,i.KJ)(1),E=.5*Math.PI,k=o.$O.radius,C=k*Math.PI/180,j=180/(k*Math.PI)},37730:(e,t,n)=>{n.d(t,{T:()=>s});var i=n(43334);const s={getObjectId:e=>e.objectId,getAttributes:e=>e.attributes,getAttribute:(e,t)=>e.attributes[t],cloneWithGeometry:(e,t)=>new i.Om(t,e.attributes,null,e.objectId),getGeometry:e=>e.geometry,getCentroid:(e,t)=>e.ensureCentroid(t)}},40752:(e,t,n)=>{n.r(t),n.d(t,{default:()=>H});var i=n(78888),s=n(60999),r=n(67482),o=n(49186),l=n(53966),a=n(74887),u=n(84952),c=n(98988),h=n(16930),d=n(7320),f=n(21325),p=n(28735),m=n(43334),g=n(92722),y=n(83221),_=n(31464),x=n(56390),w=n(14607),I=n(30524);function b(e,t,n){t=(0,I.rS)(t)?.toLowerCase(),n=(0,I.rS)(n)?.toLowerCase();const i=e.map(e=>e.toLowerCase()),s=t?e[i.indexOf(t)]:null,r=n?e[i.indexOf(n)]:null;return{longitudeFieldName:s||e[i.indexOf(M.find(e=>i.includes(e)))],latitudeFieldName:r||e[i.indexOf(S.find(e=>i.includes(e)))]}}const S=["lat","lat83","latitude","latitude83","latdecdeg","lat_dd","y","ycenter","point_y"],M=["lon","lng","lng83","long","long83","longitude","longitude83","longdecdeg","long_dd","x","xcenter","point_x"],v=/^\s*"([\S\s]*)"\s*$/,z=/""/g,F=[","," ",";","|","\t"];function*B(e,t,n){let i=0;for(;i<=e.length;){const s=e.indexOf(t,i),r=e.slice(i,s>-1?s:void 0);i+=r.length+t.length,n&&!r.trim()||(yield r)}}function T(e){const t=e.includes("\r\n")?"\r\n":"\n";return B(e,t,!0)}function A(e,t){return B(e,t,!1)}function R(e,t,n){e=e.trim(),t=t?.trim();const i=[],s=Array.from(new Set([n?.delimiter,...F])).filter(e=>null!=e);for(const n of s){const s=k(e,n).length,r=k(t,n).length??s;s>1&&i.push({weight:Math.min(s,r),delimiter:n})}const r=i.sort(({weight:e},{weight:t})=>t-e).map(({delimiter:e})=>e);for(const t of r){const i=b(E(e,t).names,n?.longitudeField,n?.latitudeField);if(i.longitudeFieldName&&i.latitudeFieldName)return{delimiter:t,locationInfo:i}}return{delimiter:r[0],locationInfo:null}}function*N(e,t,n,i=()=>Object.create(null)){const s=T(e);s.next();let r="",o="",l=0,a=i(),u=0;e:for(const e of s){const s=A(e,n);for(const e of s)if(r+=o+e,o="",l+=C(e),l%2==0){if(l>0){const e=v.exec(r);if(!e){a=i(),u=0,r="",l=0;continue e}a[t[u]]=e[1].replaceAll(z,'"'),u++}else a[t[u]]=r,u++;r="",l=0}else o=n;0===l?(yield a,a=i(),u=0):o="\n"}}function E(e,t){const n=k(e,t).filter(e=>null!=e),i=n.map(e=>(0,I.rS)(e));for(let e=i.length-1;e>=0;e--)i[e]||(i.splice(e,1),n.splice(e,1));return{names:i,aliases:n}}function k(e,t){if(!e?.length)return[];const n=[];let i="",s="",r=0;const o=A(e,t);for(const e of o)if(i+=s+e,s="",r+=C(e),r%2==0){if(r>0){const e=v.exec(i);e&&n.push(e[1].replaceAll(z,'"'))}else n.push(i);i="",r=0}else s=t;return n}function C(e){let t=0,n=0;for(n=e.indexOf('"',n);n>=0;)t++,n=e.indexOf('"',n+1);return t}function j(e,t,n,i,s){const r=[],o=N(e,n,t),l=[];for(const e of o){if(10===l.length)break;l.push(e)}for(let e=0;e<n.length;e++){const t=n[e],o=i[e];if(t===s.longitudeFieldName||t===s.latitudeFieldName)r.push({name:t,type:"esriFieldTypeDouble",alias:o});else{let e;switch(O(l.map(e=>e[t]))){case"integer":e="esriFieldTypeInteger";break;case"double":e="esriFieldTypeDouble";break;case"date":e="esriFieldTypeDate";break;default:e="esriFieldTypeString"}r.push({name:t,type:e,alias:o,length:(0,I._b)(e)})}}return r}function O(e){if(!e.length)return"string";const t=/[^+\-.,0-9]/;return e.map(e=>{if(""!==e){if(!t.test(e)){let t=P(e);if(!isNaN(t))return/[.,]/.test(e)||!Number.isInteger(t)||t>214783647||t<-214783648?"double":"integer";if(e.includes("E")){if(t=Number(e),!Number.isNaN(t))return"double";if(e.includes(",")&&(e=e.replace(",","."),t=Number(e),!Number.isNaN(t)))return"double"}}return(0,r.Cq)(e)?"date":"string"}}).reduce((e,t)=>void 0===e?t:void 0===t?e:e===t?t:"string"===e||"string"===t?"string":"double"===e||"double"===t?"double":void 0)}const P=function(){const e=(0,w.B)(),t=new RegExp("^"+e.regexp+"$"),n=new RegExp("["+e.group+"\\s\\xa0]","g"),i=e.factor;return s=>{const r=t.exec(s);if(e.factor=i,!r)return NaN;let o=r[1];if(!r[1]){if(!r[2])return NaN;o=r[2],e.factor*=-1}return o=o.replace(n,"").replace(e.decimal,"."),+o*e.factor}}();function q(e){return JSON.parse(JSON.stringify(e))}var L=n(64714),Y=n(95466),X=n(54218),G=n(98623);const D=(0,L.F0)("esriGeometryPoint"),$=["csv"],Z=[0,0];class U{constructor(e,t){this.x=e,this.y=t}}class H{constructor(){this._queryEngine=null,this._snapshotFeatures=async e=>{const t=await this._fetch(e);return this._createFeatures(t)}}destroy(){this._queryEngine?.destroy(),this._queryEngine=null}async load(e,t={}){this._loadOptions=e;const[n]=await Promise.all([this._fetch(t.signal),this._checkProjection(e?.parsingOptions?.spatialReference)]),i=function(e,t){const n=t.parsingOptions||{},i={delimiter:n.delimiter,layerDefinition:null,locationInfo:{latitudeFieldName:n.latitudeField,longitudeFieldName:n.longitudeField}},s=i.layerDefinition={name:(0,u.e7)(t.url,$)||"csv",dateFieldsTimeReference:{timeZoneIANA:G.n$},drawingInfo:D,geometryType:"esriGeometryPoint",objectIdField:null,fields:[],timeInfo:n.timeInfo,extent:{xmin:Number.POSITIVE_INFINITY,ymin:Number.POSITIVE_INFINITY,xmax:Number.NEGATIVE_INFINITY,ymax:Number.NEGATIVE_INFINITY,spatialReference:n.spatialReference||{wkid:4326}}},r=T(e),l=r.next().value?.trim(),a=r.next().value?.trim();if(!l)throw new o.A("csv-layer:empty-csv","CSV is empty",{csv:e});const{delimiter:c,locationInfo:h}=R(l,a,n);if(!c)throw new o.A("csv-layer:invalid-delimiter","Unable to detect the delimiter from CSV",{firstLine:l,secondLine:a,parsingOptions:n});if(!h)throw new o.A("csv-layer:location-fields-not-found","Unable to identify latitude and longitude fields from the CSV file",{firstLine:l,secondLine:a,parsingOptions:n});i.locationInfo=h,i.delimiter=c;const{names:d,aliases:f}=E(l,c),p=j(e,i.delimiter,d,f,i.locationInfo);if(n.fields?.length){const e=new Y.A(n.fields);for(const t of p){const n=e.get(t.name);n&&Object.assign(t,n)}}if(!p.some(e=>"esriFieldTypeOID"===e.type&&(s.objectIdField=e.name,!0))){const e={name:"__OBJECTID",alias:"__OBJECTID",type:"esriFieldTypeOID",editable:!1,nullable:!1};s.objectIdField=e.name,p.unshift(e)}s.fields=p;const m=new Y.A(s.fields);if(i.locationInfo&&(i.locationInfo.latitudeFieldName=m.get(i.locationInfo.latitudeFieldName).name,i.locationInfo.longitudeFieldName=m.get(i.locationInfo.longitudeFieldName).name),s.timeInfo){const e=s.timeInfo;if(e.startTimeField){const t=m.get(e.startTimeField);t?(e.startTimeField=t.name,t.type="esriFieldTypeDate"):e.startTimeField=null}if(e.endTimeField){const t=m.get(e.endTimeField);t?(e.endTimeField=t.name,t.type="esriFieldTypeDate"):e.endTimeField=null}if(e.trackIdField){const t=m.get(e.trackIdField);e.trackIdField=t?t.name:null}e.startTimeField||e.endTimeField||(s.timeInfo=null)}return i}(n,e);this._locationInfo=i.locationInfo,this._delimiter=i.delimiter,this._queryEngine=this._createQueryEngine(i);const s=this._createFeatures(n);this._queryEngine.featureStore.addMany(s);const{fullExtent:r,timeExtent:l}=await this._queryEngine.fetchRecomputedExtents();if(i.layerDefinition.extent=r,l){const{start:e,end:t}=l;i.layerDefinition.timeInfo.timeExtent=[e,t]}return i}async applyEdits(){throw new o.A("csv-layer:editing-not-supported","applyEdits() is not supported on CSVLayer")}async queryFeatures(e={},t={}){return await this._waitSnapshotComplete(),this._queryEngine.executeQuery(e,t.signal)}async queryFeatureCount(e={},t={}){return await this._waitSnapshotComplete(),this._queryEngine.executeQueryForCount(e,t.signal)}async queryObjectIds(e={},t={}){return await this._waitSnapshotComplete(),(await this._queryEngine.executeQueryForIds(e,t.signal)).filter(X.Et)}async queryExtent(e={},t={}){return await this._waitSnapshotComplete(),this._queryEngine.executeQueryForExtent(e,t.signal)}async querySnapping(e,t={}){return await this._waitSnapshotComplete(),await this._queryEngine.executeQueryForSnapping(e,t.signal)}async queryAttributeBins(e,t={}){return await this._waitSnapshotComplete(),this._queryEngine.executeAttributeBinsQuery(e,t.signal)}async refresh(e){this._loadOptions.customParameters=e,this._snapshotTask?.abort(),this._snapshotTask=(0,s.UT)(this._snapshotFeatures),this._snapshotTask.promise.then(e=>{this._queryEngine.featureStore.clear(),e&&this._queryEngine.featureStore.addMany(e)},e=>{this._queryEngine.featureStore.clear(),(0,a.zf)(e)||l.A.getLogger("esri.layers.CSVLayer").error(new o.A("csv-layer:refresh","An error occurred during refresh",{error:e}))}),await this._waitSnapshotComplete();const{fullExtent:t,timeExtent:n}=await this._queryEngine.fetchRecomputedExtents();return{extent:t,timeExtent:n}}async _waitSnapshotComplete(){if(this._snapshotTask&&!this._snapshotTask.finished){try{await this._snapshotTask.promise}catch{}return this._waitSnapshotComplete()}}async _fetch(e){const{url:t,customParameters:n}=this._loadOptions;if(!t)throw new o.A("csv-layer:invalid-source","url not defined");const s=(0,u.An)(t);return(await(0,i.A)(s.path,{query:{...s.query,...n},responseType:"text",signal:e})).data}_createQueryEngine(e){const{objectIdField:t,fields:n,extent:i,timeInfo:s}=e.layerDefinition,r=new y.A({geometryType:"esriGeometryPoint",hasM:!1,hasZ:!1}),o={type:"object-id",fieldName:t};return new x.do({fieldsIndex:Y.A.fromLayerJSON({fields:n,dateFieldsTimeReference:{timeZoneIANA:G.n$}}),geometryType:"esriGeometryPoint",hasM:!1,hasZ:!1,timeInfo:s,featureIdInfo:o,spatialReference:i.spatialReference||{wkid:4326},featureStore:r})}_createFeatures(e){const{latitudeFieldName:t,longitudeFieldName:n}=this._locationInfo,{objectIdField:i,fieldsIndex:s,spatialReference:o}=this._queryEngine;let l=[];const a=[],u=s.fields.filter(e=>e.name!==i).map(e=>e.name);let y=0;const _={};for(const e of s.fields)if("esriFieldTypeOID"!==e.type&&"esriFieldTypeGlobalID"!==e.type){const t=(0,I.lD)(e);void 0!==t&&(_[e.name]=t)}const x=N(e,u,this._delimiter,(0,L.Vx)(_,i));for(const e of x){const o=this._parseCoordinateValue(e[t]),u=this._parseCoordinateValue(e[n]);if(null!=u&&null!=o&&!isNaN(o)&&!isNaN(u)){e[t]=o,e[n]=u;for(const i in e)if(i!==t&&i!==n)if(s.isDateField(i))e[i]=(0,r._U)(e[i]);else if(s.isNumericField(i)){const t=P(e[i]);isNaN(t)?e[i]=null:e[i]=t}else null!=e[i]&&(e[i]=q(e[i]));e[i]=y,y++,l.push(new U(u,o)),a.push(e)}}if(!(0,f.aI)({wkid:4326},o))if((0,f.K8)(o))for(const e of l)[e.x,e.y]=(0,p.je)(e.x,e.y,Z);else l=(0,c.projectMany)(d.g,l,h.A.WGS84,o,null,null);const w=[];for(let e=0;e<l.length;e++){const{x:t,y:n}=l[e],s=a[e];s[i]=e+1,w.push(new m.Om(new g.A([],[t,n]),s,null,s[i]))}return w}_parseCoordinateValue(e){if(null==e||""===e)return null;let t=P(e);return(isNaN(t)||Math.abs(t)>181)&&(t=parseFloat(e)),t}async _checkProjection(e){try{await(0,_.Nk)(f.KK,e)}catch{throw new o.A("csv-layer:projection-not-supported","Projection not supported")}}}},60999:(e,t,n)=>{n.d(t,{DZ:()=>p,Ke:()=>f,Tj:()=>c,UT:()=>m,jJ:()=>u});var i=n(31635),s=n(65008),r=n(97768),o=n(74887),l=n(10107),a=n(40608);function u(e,t,n){return(0,o.Lx)(e.map((e,i)=>t.apply(n,[e,i])))}async function c(e,t,n){return(await(0,o.Lx)(e.map((e,i)=>t.apply(n,[e,i])))).map(e=>e.value)}function h(e){return{ok:!0,value:e}}function d(e){return{ok:!1,error:e}}async function f(e){if(null==e)return{ok:!1,error:new Error("no promise provided")};try{return h(await e)}catch(e){return d(e)}}async function p(e){try{return h(await e)}catch(e){return(0,o.QP)(e),d(e)}}function m(e,t){return new g(e,t)}let g=class extends s.A{get value(){return null!=(e=this._result)&&!0===e.ok?e.value:null;var e}get error(){return null!=(e=this._result)&&!1===e.ok?e.error:null;var e}get finished(){return null!=this._result}constructor(e,t){super({}),this._result=null,this._abortHandle=null,this.abort=()=>{this._abortController=(0,r.DC)(this._abortController)},this.remove=this.abort,this._abortController=new AbortController;const{signal:n}=this._abortController;this.promise=e(n),this.promise.then(e=>{this._result=h(e),this._cleanup()},e=>{this._result=d(e),this._cleanup()}),this._abortHandle=(0,o.u7)(t,this.abort)}normalizeCtorArgs(){return{}}destroy(){this.abort()}_cleanup(){this._abortHandle=(0,r.xt)(this._abortHandle),this._abortController=null}};(0,i.Cg)([(0,l.MZ)()],g.prototype,"value",null),(0,i.Cg)([(0,l.MZ)()],g.prototype,"error",null),(0,i.Cg)([(0,l.MZ)()],g.prototype,"finished",null),(0,i.Cg)([(0,l.MZ)()],g.prototype,"promise",void 0),(0,i.Cg)([(0,l.MZ)()],g.prototype,"_result",void 0),g=(0,i.Cg)([(0,a.$)("esri.core.asyncUtils.ReactiveTask")],g)},62815:(e,t,n)=>{n.d(t,{N:()=>o});var i=n(83047),s=n(73941),r=n(21325);function o(e,t,n){if(null==t||null==n||n.vcsWkid||(0,r.aI)(t,n)||(0,s.xP)(t)||(0,s.xP)(n))return null;const o=(0,i.G9)(t)/(0,i.G9)(n);if(1===o)return null;switch(e){case"point":case"esriGeometryPoint":return e=>function(e,t){null!=e?.z&&(e.z*=t)}(e,o);case"polyline":case"esriGeometryPolyline":return e=>function(e,t){if(e)for(const n of e.paths)for(const e of n)e.length>2&&(e[2]*=t)}(e,o);case"polygon":case"esriGeometryPolygon":return e=>function(e,t){if(e)for(const n of e.rings)for(const e of n)e.length>2&&(e[2]*=t)}(e,o);case"multipoint":case"esriGeometryMultipoint":return e=>function(e,t){if(e)for(const n of e.points)n.length>2&&(n[2]*=t)}(e,o);case"extent":case"esriGeometryEnvelope":return e=>function(e,t){e&&null!=e.zmin&&null!=e.zmax&&(e.zmin*=t,e.zmax*=t)}(e,o);default:return null}}},64714:(e,t,n)=>{n.d(t,{F0:()=>l,Vx:()=>c,e2:()=>d,f:()=>f});var i=n(44208),s=n(4718),r=n(99352),o=n(93470);function l(e){return{renderer:{type:"simple",symbol:"esriGeometryPoint"===e||"esriGeometryMultipoint"===e?o.Cb:"esriGeometryPolyline"===e?o.yM:o.WR}}}const a=/^[_$a-zA-Z][_$a-zA-Z0-9]*$/;let u=1;function c(e,t){if((0,i.A)("esri-csp-restrictions"))return()=>({[t]:null,...e});try{let n=`this${h(t)} = null;`;for(const t in e)n+=`this${h(t)} = ${JSON.stringify(e[t])};`;const i=new Function(`\n return class AttributesClass$${u++} {\n constructor() {\n ${n};\n }\n }\n `)();return()=>new i}catch(n){return()=>({[t]:null,...e})}}function h(e){return a.test(e)?`.${e}`:`["${e}"]`}function d(e={}){return[{name:"New Feature",description:"",prototype:{attributes:(0,s.o8)(e)}}]}function f(e,t){return{analytics:{supportsCacheHint:!1},attachment:null,data:{isVersioned:!1,isBranchVersioned:!1,supportsAttachment:!1,supportsM:!1,supportsZ:e},metadata:{supportsAdvancedFieldProperties:!1},operations:{supportsCalculate:!1,supportsTruncate:!1,supportsValidateSql:!1,supportsAdd:t,supportsDelete:t,supportsEditing:t,supportsChangeTracking:!1,supportsQuery:!0,supportsQueryBins:!0,supportsQueryAnalytics:!1,supportsQueryAttachments:!1,supportsQueryTopFeatures:!1,supportsResizeAttachments:!1,supportsSync:!1,supportsUpdate:t,supportsExceedsLimitStatistics:!0,supportsAsyncConvert3D:!1},query:r.F,queryRelated:{supportsCount:!0,supportsOrderBy:!0,supportsPagination:!0,supportsCacheHint:!1},queryTopFeatures:{supportsCacheHint:!1},queryAttributeBins:r.P,editing:{supportsGeometryUpdate:t,supportsGlobalId:!1,supportsReturnServiceEditsInSourceSpatialReference:!1,supportsRollbackOnFailure:!1,supportsUpdateWithoutM:!1,supportsUploadWithItemId:!1,supportsDeleteByAnonymous:!1,supportsDeleteByOthers:!1,supportsUpdateByAnonymous:!1,supportsUpdateByOthers:!1,supportsAsyncApplyEdits:!1,zDefault:void 0}}}},66344:(e,t,n)=>{n.d(t,{q:()=>l});const i=!!(0,n(44208).A)("esri-tests-disable-gpu-memory-measurements");Symbol.iterator;class s{get size(){return this._size}constructor(e=10485760){this._maxSize=e,this._db=new Map,this._size=0,this._hit=0,this._miss=0,this._users=new Map,this._sizeLimits=new Map}destroy(){this.clearAll(),this._sizeLimits.clear(),this._users.clear(),this._db=null}register(e){this._users.set(e.id.slice(0,-1),e)}deregister(e){this.clear(e),this._sizeLimits.delete(e),this._users.delete(e.id.slice(0,-1))}get maxSize(){return this._maxSize}set maxSize(e){this._maxSize=Math.max(e,-1),this._checkSize()}getSize(e,t){const n=this._db.get(e.id+t);return n?.size??0}put(e,t,n,s,o){t=e.id+t;const l=this._db.get(t);if(l&&(this._size-=l.size,e.size-=l.size,this._db.delete(t),l.entry!==n&&this._notifyRemove(t,l.entry,l.size,0)),s>this._maxSize)return void this._notifyRemove(t,n,s,0);if(void 0===n)return void console.warn("Refusing to cache undefined entry ");if(!s||s<0)return i||console.warn(`Refusing to cache entry with size ${s} for key ${t}`),void this._notifyRemove(t,n,0,0);const a=1+Math.max(o,-4)- -3;this._db.set(t,new r(n,s,a)),this._size+=s,e.size+=s,this._checkSize()}updateSize(e,t,n,i){t=e.id+t;const s=this._db.get(t);if(s&&s.entry===n){for(this._size-=s.size,e.size-=s.size;i>this._maxSize;){const e=this._notifyRemove(t,n,i,1);if(!(null!=e&&e>0))return void this._db.delete(t);i=e}s.size=i,this._size+=i,e.size+=i,this._checkSize()}}pop(e,t){t=e.id+t;const n=this._db.get(t);if(n)return this._size-=n.size,e.size-=n.size,this._db.delete(t),++this._hit,n.entry;++this._miss}get(e,t){t=e.id+t;const n=this._db.get(t);if(void 0!==n)return this._db.delete(t),n.lives=n.lifetime,this._db.set(t,n),++this._hit,n.entry;++this._miss}peek(e,t){const n=this._db.get(e.id+t);return n?++this._hit:++this._miss,n?.entry}get performanceInfo(){const e={Size:Math.round(this._size/1048576)+"/"+Math.round(this._maxSize/1048576)+"MB","Hit rate":Math.round(100*this._getHitRate())+"%",Entries:this._db.size.toString()},t={},n=new Array;this._db.forEach((e,i)=>{const s=e.lifetime;n[s]=(n[s]||0)+e.size,this._users.forEach(n=>{const{id:s,name:r}=n;if(i.startsWith(s)){const n=t[r]||0;t[r]=n+e.size}})});const i={};this._users.forEach(e=>{const n=e.name;if("hitRate"in e&&"number"==typeof e.hitRate&&!isNaN(e.hitRate)&&e.hitRate>0){const s=t[n]||0;t[n]=s,i[n]=Math.round(100*e.hitRate)+"%"}else i[n]="0%"});const s=Object.keys(t);s.sort((e,n)=>t[n]-t[e]),s.forEach(n=>e[n]=Math.round(t[n]/2**20)+"MB / "+i[n]);for(let t=n.length-1;t>=0;--t){const i=n[t];i&&(e["Priority "+(t+-3-1)]=Math.round(i/this._size*100)+"%")}return e}resetStats(){this._hit=this._miss=0,this._users.forEach(e=>e.resetHitRate())}clear(e){const t=e.id;this._db.forEach((e,n)=>{n.startsWith(t)&&(this._size-=e.size,this._db.delete(n),this._notifyRemove(n,e.entry,e.size,0))}),e.size=0}clearAll(){this._db.forEach((e,t)=>this._notifyRemove(t,e.entry,e.size,0)),this._users.forEach(e=>e.size=0),this._size=0,this._db.clear()}*values(e){for(const[t,n]of this._db)t.startsWith(e.id)&&(yield n.entry)}_getHitRate(){return this._hit/(this._hit+this._miss)}_notifyRemove(e,t,n,i){const s=this._users.get(e.split(o)[0])?.removeFunc,r=s?.(t,i,n);return"number"==typeof r?r:null}_checkSize(){this._sizeLimits.forEach((e,t)=>this._checkSizeLimits(e,t)),this._checkSizeLimits(this.maxSize)}setMaxSize(e,t){null==t||t<=0?this._sizeLimits.delete(e):this._sizeLimits.set(e,t)}_checkSizeLimits(e,t){const n=t??this;if(n.size<=e)return;const i=t?.id;let s=!0;for(;s;){s=!1;for(const[r,l]of this._db)if(0===l.lifetime&&(!i||r.startsWith(i))){const i=t??this._users.get(r.split(o)[0]);if(this._purgeItem(r,l,i),n.size<=.9*e)return;s||=this._db.has(r)}}for(const[s,r]of this._db)if(!i||s.startsWith(i)){const i=t??this._users.get(s.split(o)[0]);if(this._purgeItem(s,r,i),n.size<=.9*e)return}}_purgeItem(e,t,n){if(this._db.delete(e),t.lives<=1){this._size-=t.size,n&&(n.size-=t.size);const i=this._notifyRemove(e,t.entry,t.size,1);null!=i&&i>0&&(this._size+=i,n&&(n.size+=i),t.lives=t.lifetime,t.size=i,this._db.set(e,t))}else--t.lives,this._db.set(e,t)}}new s(0);class r{constructor(e,t,n){this.entry=e,this.size=t,this.lifetime=n,this.lives=n}}const o=":";class l{constructor(e,t){this.removeFunc=t,this._storage=new s,this.id="",this.name="",this.size=0,this._storage.maxSize=e,this._storage.register(this)}destroy(){this._storage.deregister(this),this._storage.destroy(),this._storage=null}put(e,t,n=1){this._storage.put(this,e,t,n,1)}pop(e){return this._storage.pop(this,e)}get(e){return this._storage.get(this,e)}clear(){this._storage.clearAll()}get maxSize(){return this._storage.maxSize}set maxSize(e){this._storage.maxSize=e}resetHitRate(){}}},67482:(e,t,n)=>{function i(e){return null!=l(e)||null!=o(e)}function s(e){return a.test(e)}function r(e){return l(e)??o(e)}function o(e){const t=new Date(e);return function(e,t){if(Number.isNaN(e.getTime()))return!1;let n=!0;if(c&&/\d+\W*$/.test(t)){const e=t.match(/[a-zA-Z]{2,}/);if(e){let t=!1,i=0;for(;!t&&i<=e.length;)t=!u.test(e[i]),i++;n=!t}}return n}(t,e)?Number.isNaN(t.getTime())?null:t.getTime()-6e4*t.getTimezoneOffset():null}function l(e){const t=a.exec(e);if(!t?.groups)return null;const n=t.groups,i=+n.year,s=+n.month-1,r=+n.day,o=+(n.hours??"0"),l=+(n.minutes??"0"),u=+(n.seconds??"0");if(o>23)return null;if(l>59)return null;if(u>59)return null;const c=n.ms??"0",h=c?+c.padEnd(3,"0").slice(0,3):0;let d;if(n.isUTC||!n.offsetSign)d=Date.UTC(i,s,r,o,l,u,h);else{const e=+n.offsetHours,t=+n.offsetMinutes;d=6e4*("+"===n.offsetSign?-1:1)*(60*e+t)+Date.UTC(i,s,r,o,l,u,h)}return Number.isNaN(d)?null:d}n.d(t,{Br:()=>s,Cq:()=>i,_U:()=>r});const a=/^(?:(?<year>-?\d{4,})-(?<month>\d{2})-(?<day>\d{2}))(?:T(?<hours>\d{2}):(?<minutes>\d{2}):(?<seconds>\d{2})(?:\.(?<ms>\d+))?)?(?:(?<isUTC>Z)|(?:(?<offsetSign>\+|-)(?<offsetHours>\d{2}):(?<offsetMinutes>\d{2})))?$/,u=/^((jan(uary)?)|(feb(ruary)?)|(mar(ch)?)|(apr(il)?)|(may)|(jun(e)?)|(jul(y)?)|(aug(ust)?)|(sep(tember)?)|(oct(ober)?)|(nov(ember)?)|(dec(ember)?)|(am)|(pm)|(gmt)|(utc))$/i,c=!Number.isNaN(new Date("technology 10").getTime())},69540:(e,t,n)=>{n.d(t,{OU:()=>c,Pw:()=>h});var i=n(31635),s=n(65008),r=(n(44208),n(4718)),o=(n(53966),n(97768)),l=n(88620),a=n(40608);const u=Symbol("ClonableMixin"),c=e=>{var t;const n=e;let s=class extends n{constructor(){super(...arguments),this[t]=!0}static{t=u}clone(e){const t=(0,l.oY)(this);(0,o.Lw)(t,"unable to clone instance of non-accessor class");const n=t.metadata,i=t.store,s={},a=new Map;for(const t in n){const o=n[t],l=i?.originOf(t),u=o.clonable;if(o.readOnly||!1===u||7!==l&&0!==l&&5!==l&&4!==l)continue;const c=this[t];let h=null;if("function"==typeof u)h=u(c,e);else if("reference"===u)h=c;else if(h=(0,r.TU)(c,e),null!=c&&null==h)continue;0===l?a.set(t,h):s[t]=h}const u=new(0,Object.getPrototypeOf(this).constructor)(s);if(a.size){const e=(0,l.oY)(u)?.store;if(e)for(const[t,n]of a)e.set(t,n,0)}return u}};return s=(0,i.Cg)([(0,a.$)("esri.core.Clonable")],s),s},h=c(s.A)},75503:(e,t,n)=>{n.d(t,{EC:()=>v,wq:()=>l});var i=n(4576),s=n(21818),r=(n(44208),n(15142)),o=n(11006);class l{constructor(e=9,t){this._compareMinX=d,this._compareMinY=f,this._toBBox=e=>e,this._maxEntries=Math.max(4,e||9),this._minEntries=Math.max(2,Math.ceil(.4*this._maxEntries)),t&&("function"==typeof t?this._toBBox=t:this._initFormat(t)),this.clear()}destroy(){this.clear(),I.prune(),b.prune(),S.prune(),M.prune()}all(e){a(this._data,e)}search(e,t){let n=this._data;const i=this._toBBox;if(x(e,n))for(I.clear();n;){for(let s=0,r=n.children.length;s<r;s++){const r=n.children[s],o=n.leaf?i(r):r;x(e,o)&&(n.leaf?t(r):_(e,o)?a(r,t):I.push(r))}n=I.pop()}}collides(e){let t=this._data;const n=this._toBBox;if(!x(e,t))return!1;for(I.clear();t;){for(let i=0,s=t.children.length;i<s;i++){const s=t.children[i],r=t.leaf?n(s):s;if(x(e,r)){if(t.leaf||_(e,r))return!0;I.push(s)}}t=I.pop()}return!1}load(e){if(!e.length)return this;if(e.length<this._minEntries){for(let t=0,n=e.length;t<n;t++)this.insert(e[t]);return this}let t=this._build(e.slice(),0,e.length-1,0);if(this._data.children.length)if(this._data.height===t.height)this._splitRoot(this._data,t);else{if(this._data.height<t.height){const e=this._data;this._data=t,t=e}this._insert(t,this._data.height-t.height-1,!0)}else this._data=t;return this}insert(e){return e&&this._insert(e,this._data.height-1),this}clear(){return this._data=new F([]),this}remove(e){if(!e)return this;let t,n=this._data,r=null,o=0,l=!1;const a=this._toBBox(e);for(S.clear(),M.clear();n||S.length>0;){if(n||(n=S.pop(),r=S.data[S.length-1],o=M.pop()??0,l=!0),n.leaf&&(t=(0,i.qh)(n.children,(0,s.zI)(e),n.children.length,n.indexHint),-1!==t))return n.children.splice(t,1),S.push(n),this._condense(S),this;l||n.leaf||!_(n,a)?r?(o++,n=r.children[o],l=!1):n=null:(S.push(n),M.push(o),o=0,r=n,n=n.children[0])}return this}toJSON(){return this._data}fromJSON(e){return this._data=e,this}_build(e,t,n,i){const s=n-t+1;let r=this._maxEntries;if(s<=r){const i=new F(e.slice(t,n+1));return u(i,this._toBBox),i}i||(i=Math.ceil(Math.log(s)/Math.log(r)),r=Math.ceil(s/r**(i-1)));const o=new B([]);o.height=i;const l=Math.ceil(s/r),a=l*Math.ceil(Math.sqrt(r));w(e,t,n,a,this._compareMinX);for(let s=t;s<=n;s+=a){const t=Math.min(s+a-1,n);w(e,s,t,l,this._compareMinY);for(let n=s;n<=t;n+=l){const s=Math.min(n+l-1,t);o.children.push(this._build(e,n,s,i-1))}}return u(o,this._toBBox),o}_insert(e,t,n){const i=this._toBBox,s=n?e:i(e);S.clear();const r=function(e,t,n,i){for(;i.push(t),!0!==t.leaf&&i.length-1!==n;){let n,i=1/0,s=1/0;for(let r=0,o=t.children.length;r<o;r++){const o=t.children[r],l=p(o),a=g(e,o)-l;a<s?(s=a,i=l<i?l:i,n=o):a===s&&l<i&&(i=l,n=o)}t=n||t.children[0]}return t}(s,this._data,t,S);for(r.children.push(e),h(r,s);t>=0&&S.data[t].children.length>this._maxEntries;)this._split(S,t),t--;!function(e,t,n){for(let i=n;i>=0;i--)h(t.data[i],e)}(s,S,t)}_split(e,t){const n=e.data[t],i=n.children.length,s=this._minEntries;this._chooseSplitAxis(n,s,i);const r=this._chooseSplitIndex(n,s,i);if(!r)return;const o=n.children.splice(r,n.children.length-r),l=n.leaf?new F(o):new B(o);l.height=n.height,u(n,this._toBBox),u(l,this._toBBox),t?e.data[t-1].children.push(l):this._splitRoot(n,l)}_splitRoot(e,t){this._data=new B([e,t]),this._data.height=e.height+1,u(this._data,this._toBBox)}_chooseSplitIndex(e,t,n){let i,s,r;i=s=1/0;for(let o=t;o<=n-t;o++){const t=c(e,0,o,this._toBBox),l=c(e,o,n,this._toBBox),a=y(t,l),u=p(t)+p(l);a<i?(i=a,r=o,s=u<s?u:s):a===i&&u<s&&(s=u,r=o)}return r}_chooseSplitAxis(e,t,n){const i=e.leaf?this._compareMinX:d,s=e.leaf?this._compareMinY:f;this._allDistMargin(e,t,n,i)<this._allDistMargin(e,t,n,s)&&e.children.sort(i)}_allDistMargin(e,t,n,i){e.children.sort(i);const s=this._toBBox,r=c(e,0,t,s),o=c(e,n-t,n,s);let l=m(r)+m(o);for(let i=t;i<n-t;i++){const t=e.children[i];h(r,e.leaf?s(t):t),l+=m(r)}for(let i=n-t-1;i>=t;i--){const t=e.children[i];h(o,e.leaf?s(t):t),l+=m(o)}return l}_condense(e){for(let t=e.length-1;t>=0;t--){const n=e.data[t];if(0===n.children.length)if(t>0){const s=e.data[t-1],r=s.children;r.splice((0,i.qh)(r,n,r.length,s.indexHint),1)}else this.clear();else u(n,this._toBBox)}}_initFormat(e){const t=["return a"," - b",";"];this._compareMinX=new Function("a","b",t.join(e[0])),this._compareMinY=new Function("a","b",t.join(e[1])),this._toBBox=new Function("a","return {minX: a"+e[0]+", minY: a"+e[1]+", maxX: a"+e[2]+", maxY: a"+e[3]+"};")}}function a(e,t){let n=e;for(b.clear();n;){if(!0===n.leaf)for(const e of n.children)t((0,s.zI)(e));else b.pushArray(n.children);n=b.pop()??null}}function u(e,t){c(e,0,e.children.length,t,e)}function c(e,t,n,i,s){s||(s=new F([])),s.minX=1/0,s.minY=1/0,s.maxX=-1/0,s.maxY=-1/0;for(let r,o=t;o<n;o++)r=e.children[o],h(s,e.leaf?i(r):r);return s}function h(e,t){e.minX=Math.min(e.minX,t.minX),e.minY=Math.min(e.minY,t.minY),e.maxX=Math.max(e.maxX,t.maxX),e.maxY=Math.max(e.maxY,t.maxY)}function d(e,t){return e.minX-t.minX}function f(e,t){return e.minY-t.minY}function p(e){return(e.maxX-e.minX)*(e.maxY-e.minY)}function m(e){return e.maxX-e.minX+(e.maxY-e.minY)}function g(e,t){return(Math.max(t.maxX,e.maxX)-Math.min(t.minX,e.minX))*(Math.max(t.maxY,e.maxY)-Math.min(t.minY,e.minY))}function y(e,t){const n=Math.max(e.minX,t.minX),i=Math.max(e.minY,t.minY),s=Math.min(e.maxX,t.maxX),r=Math.min(e.maxY,t.maxY);return Math.max(0,s-n)*Math.max(0,r-i)}function _(e,t){return e.minX<=t.minX&&e.minY<=t.minY&&t.maxX<=e.maxX&&t.maxY<=e.maxY}function x(e,t){return t.minX<=e.maxX&&t.minY<=e.maxY&&t.maxX>=e.minX&&t.maxY>=e.minY}function w(e,t,n,i,s){const r=[t,n];for(;r.length;){const t=r.pop(),n=r.pop();if(t-n<=i)continue;const l=n+Math.ceil((t-n)/i/2)*i;(0,o.q)(e,l,n,t,s),r.push(n,l,l,t)}}const I=new r.A,b=new r.A,S=new r.A,M=new r.A({deallocator:void 0});class v{constructor(){this.minX=1/0,this.minY=1/0,this.maxX=-1/0,this.maxY=-1/0}}class z extends v{constructor(){super(...arguments),this.height=1,this.indexHint=new i.vW}}class F extends z{constructor(e){super(),this.children=e,this.leaf=!0}}class B extends z{constructor(e){super(),this.children=e,this.leaf=!1}}},83221:(e,t,n)=>{n.d(t,{A:()=>p});var i=n(4576),s=n(49186),r=n(65529),o=n(53966),l=n(70328),a=n(19419),u=n(90708),c=n(6518),h=n(51441),d=n(37730);const f=(0,l.vt)();class p{constructor(e){this.geometryInfo=e,this._boundsStore=new c.F,this._featuresById=new Map,this._usedMemory=0,this.events=new r.bk,this.featureAdapter=d.T}get usedMemory(){return this._usedMemory}get geometryType(){return this.geometryInfo.geometryType}get hasM(){return this.geometryInfo.hasM}get hasZ(){return this.geometryInfo.hasZ}get numFeatures(){return this._featuresById.size}get fullBounds(){return this._boundsStore.fullBounds}get storeStatistics(){let e=0;return this._featuresById.forEach(t=>{null!=t.geometry&&t.geometry.coords&&(e+=t.geometry.coords.length)}),{featureCount:this._featuresById.size,vertexCount:e/(this.hasZ?this.hasM?4:3:this.hasM?3:2)}}getFullExtent(e){if(null==this.fullBounds)return null;const[t,n,i,s]=this.fullBounds;return{xmin:t,ymin:n,xmax:i,ymax:s,spatialReference:(0,h.ag)(e)}}add(e){this._add(e),this._emitChanged()}addMany(e){for(const t of e)this._add(t);this._emitChanged()}upsertMany(e){const t=e.map(e=>this._upsert(e));return this._emitChanged(),t.filter(i.Ru)}clear(){this._featuresById.clear(),this._boundsStore.clear(),this._emitChanged(),this._usedMemory=0}removeById(e){const t=this._featuresById.get(e);return t?(this._remove(t),this._emitChanged(),t):null}removeManyById(e){this._boundsStore.invalidateIndex();for(const t of e){const e=this._featuresById.get(t);e&&this._remove(e)}this._emitChanged()}forEachBounds(e,t){for(const n of e){const e=this._boundsStore.get(n.objectId);e&&t((0,l.Jt)(f,e))}}getFeature(e){return this._featuresById.get(e)}has(e){return this._featuresById.has(e)}forEach(e){this._featuresById.forEach(t=>e(t))}forEachInBounds(e,t){this._boundsStore.forEachInBounds(e,e=>{t(this._featuresById.get(e))})}_emitChanged(){this.events.emit("changed",void 0)}_add(e){if(!e)return;const t=e.objectId;if(null==t)return void o.A.getLogger("esri.layers.graphics.data.FeatureStore").error(new s.A("featurestore:invalid-feature","feature id is missing",{feature:e}));const n=this._featuresById.get(t);let i;if(n?(e.displayId=n.displayId,i=this._boundsStore.get(t),this._boundsStore.delete(t),this._usedMemory-=this.estimateFeatureUsedMemory?.(n)??0):null!=this.onFeatureAdd&&this.onFeatureAdd(e),!e.geometry?.coords?.length)return this._boundsStore.set(t,null),void this._featuresById.set(t,e);i=(0,u.jQ)(null!=i?i:(0,a.vt)(),e.geometry,this.geometryInfo.hasZ,this.geometryInfo.hasM),null!=i&&this._boundsStore.set(t,i),this._featuresById.set(t,e),this._usedMemory+=this.estimateFeatureUsedMemory?.(e)??0}_upsert(e){const t=e?.objectId;if(null==t)return o.A.getLogger("esri.layers.graphics.data.FeatureStore").error(new s.A("featurestore:invalid-feature","feature id is missing",{feature:e})),null;const n=this._featuresById.get(t);if(!n)return this._add(e),e;this._usedMemory-=this.estimateFeatureUsedMemory?.(n)??0;const{geometry:i,attributes:r}=e;for(const e in r)n.attributes[e]=r[e];return i&&(n.geometry=i,this._boundsStore.set(t,(0,u.jQ)((0,a.vt)(),i,this.geometryInfo.hasZ,this.geometryInfo.hasM)??null)),this._usedMemory+=this.estimateFeatureUsedMemory?.(n)??0,n}_remove(e){null!=this.onFeatureRemove&&this.onFeatureRemove(e);const t=e.objectId;return this._boundsStore.delete(t),this._featuresById.delete(t),this._usedMemory-=this.estimateFeatureUsedMemory?.(e)??0,e}}},93470:(e,t,n)=>{n.d(t,{Cb:()=>r,HW:()=>c,JR:()=>s,JZ:()=>a,WR:()=>l,b6:()=>h,fT:()=>i,nC:()=>u,yM:()=>o});const i=[252,146,31,255],s=[153,153,153,255],r={type:"esriSMS",style:"esriSMSCircle",size:6,color:i,outline:{type:"esriSLS",style:"esriSLSSolid",width:.75,color:[153,153,153,255]}},o={type:"esriSLS",style:"esriSLSSolid",width:.75,color:i},l={type:"esriSFS",style:"esriSFSSolid",color:[252,146,31,196],outline:{type:"esriSLS",style:"esriSLSSolid",width:.75,color:[255,255,255,191]}},a={type:"esriTS",color:[255,255,255,255],font:{family:"arial-unicode-ms",size:10,weight:"bold"},horizontalAlignment:"center",kerning:!0,haloColor:[0,0,0,255],haloSize:1,rotated:!1,text:"",xoffset:0,yoffset:0,angle:0},u={type:"esriSMS",style:"esriSMSCircle",color:[0,0,0,255],outline:null,size:10.5},c={type:"esriSLS",style:"esriSLSSolid",color:[0,0,0,255],width:1.5},h={type:"esriSFS",style:"esriSFSSolid",color:[0,0,0,255],outline:null}},98453:(e,t,n)=>{n.d(t,{m:()=>i});const i=new(n(66552).J)({esriFieldTypeSmallInteger:"small-integer",esriFieldTypeInteger:"integer",esriFieldTypeSingle:"single",esriFieldTypeDouble:"double",esriFieldTypeLong:"long",esriFieldTypeString:"string",esriFieldTypeDate:"date",esriFieldTypeOID:"oid",esriFieldTypeGeometry:"geometry",esriFieldTypeBlob:"blob",esriFieldTypeRaster:"raster",esriFieldTypeGUID:"guid",esriFieldTypeGlobalID:"global-id",esriFieldTypeXML:"xml",esriFieldTypeBigInteger:"big-integer",esriFieldTypeDateOnly:"date-only",esriFieldTypeTimeOnly:"time-only",esriFieldTypeTimestampOffset:"timestamp-offset"})},98988:(e,t,n)=>{n.r(t),n.d(t,{canProjectWithoutEngine:()=>U,getTransformation:()=>L,getTransformations:()=>Y,initializeProjection:()=>W,isEqualBaseGCS:()=>H,isLoaded:()=>R,isLoadedOrLoad:()=>N,isLoadedOrLoadFor:()=>E,load:()=>C,project:()=>j,projectExtent:()=>re,projectMany:()=>O,projectMultipoint:()=>K,projectOrLoad:()=>P,projectOrLoadMany:()=>q,projectPoint:()=>V,projectPolygon:()=>ie,projectPolyline:()=>te,projectWithZConversion:()=>Z,projectWithoutEngine:()=>J,requiresLoad:()=>k,test:()=>D,tryProjectWithZConversion:()=>$,unload:()=>G});var i=n(49186),s=n(74887),r=n(62788),o=n(95488),l=n(51850),a=n(21276),u=n(73941),c=n(5443),h=n(48526),d=n(83290),f=n(86738),p=n(39829),m=n(82799),g=n(16930),y=n(9762),_=n(37539);function x(e,t,n,i,s,r){return w[0]=e,w[1]=t,w[2]=n,(0,y.projectBuffer)(w,i,0,s,r,0)}const w=(0,l.vt)();let I=0;class b{static fromGE(e){const t=new b;return t._wkt=e.wkt,t._wkid=e.wkid,t._isInverse=e.isInverse,t}constructor(e){this.uid=I++,e?(this._wkt=null!=e.wkt?e.wkt:null,this._wkid=null!=e.wkid?e.wkid:-1,this._isInverse=null!=e.isInverse&&!0===e.isInverse):(this._wkt=null,this._wkid=-1,this._isInverse=!1)}get wkt(){return this._wkt}set wkt(e){this._wkt=e,this.uid=I++}get wkid(){return this._wkid}set wkid(e){this._wkid=e,this.uid=I++}get isInverse(){return this._isInverse}set isInverse(e){this._isInverse=e,this.uid=I++}getInverse(){const e=new b;return e._wkt=this.wkt,e._wkid=this._wkid,e._isInverse=!this.isInverse,e}}class S{static cacheKey(e,t){return[e.wkid?.toString()??"-1",e.wkt?.toString()??"",e.wkt2?.toString()??"",t.wkid?.toString()??"-1",t.wkt?.toString()??"",t.wkt2?.toString()??""].join()}static fromGE(e){const t=new S;let n="";for(const i of e.steps){const e=b.fromGE(i);t.steps.push(e),n+=e.uid.toString()+","}return t._cachedProjection={},t._gtlistentry=null,t._chain=n,t}constructor(e){if(this.steps=[],this._cachedProjection={},this._chain="",this._gtlistentry=null,e?.steps)for(const t of e.steps)t instanceof b?this.steps.push(t):this.steps.push(new b({wkid:t.wkid,wkt:t.wkt,isInverse:t.isInverse}))}getInverse(){const e=new S;e.steps=[];for(let t=this.steps.length-1;t>=0;t--){const n=this.steps[t];e.steps.push(n.getInverse())}return e}getGTListEntry(){let e="";for(const t of this.steps)e+=t.uid.toString()+",";return e!==this._chain&&(this._gtlistentry=null,this._cachedProjection={},this._chain=e),this._gtlistentry}assignCachedGe(e,t,n){this._cachedProjection[S.cacheKey(e,t)]=n}getCachedGeTransformation(e,t){let n="";for(const e of this.steps)n+=e.uid.toString()+",";n!==this._chain&&(this._gtlistentry=null,this._cachedProjection={},this._chain=n);const i=this._cachedProjection[S.cacheKey(e,t)];return void 0===i?null:i}}var M=n(21325),v=n(62815);let z=null,F=null,B=null,T={};const A=new o.I;function R(){return!!z&&(0,d.i)()}function N(){return!!R()||((0,r.gc)(A),C(),!1)}function E(e,t){return!e||!t||U(e,t)||N()}function k(e,t){return!U(e,t)&&!R()}function C(e){return null==B&&(B=Promise.all([(0,d.l)(),n.e(9930).then(n.bind(n,49930)).then(e=>e.g),n.e(2731).then(n.bind(n,12731))])),B.then(([,t,{hydratedAdapter:n}])=>{(0,s.Te)(e),F=n,z=t.default,z._enableProjection(d.p),A.notify()})}function j(e,t,n=null,i=null){return Array.isArray(e)?0===e.length?[]:((0,a.H)(e),O(F,e,e[0].spatialReference,t,n,i)):((0,a.f)(e),O(F,[e],e.spatialReference,t,n,i)[0])}function O(e,t,n,i,s=null,r=null){if(null==n||null==i)return t;if(U(n,i,s))return t.map(e=>J(e,n,i));if(null==s&&(0,u.jA)(n))return t.map(e=>J(e,n,g.A.WGS84)).map(e=>$(e,i));if(null==s&&(0,u.jA)(i))return t.map(e=>$(e,g.A.WGS84)).map(e=>J(e,g.A.WGS84,i));if(null==s){const e=S.cacheKey(n,i);void 0!==T[e]?s=T[e]:(null==(s=L(n,i,void 0))&&(s=new S),T[e]=s)}if(null==z||null==e)throw new X;return null!=r?z._project(e,t,n,i,s,r):z._project(e,t,n,i,s)}function P(e,t){const n=q([e],t);return null!=n.pending?{pending:n.pending,geometry:null}:null!=n.geometries?{pending:null,geometry:n.geometries[0]}:{pending:null,geometry:null}}function q(e,t){if(!R())for(const n of e)if(null!=n&&!(0,M.aI)(n.spatialReference,t)&&(0,M.fn)(n.spatialReference)&&(0,M.fn)(t)&&!U(n.spatialReference,t))return(0,r.gc)(A),{pending:C(),geometries:null};return{pending:null,geometries:e.map(e=>null==e?null:(0,M.aI)(e.spatialReference,t)?e:(0,M.fn)(e.spatialReference)&&(0,M.fn)(t)?$(e,t):null)}}function L(e,t,n=null){if(null==e||null==t)return null;if(null==z||null==F)throw new X;const i=z._getTransformation(F,e,t,n,n?.spatialReference);return null!==i?S.fromGE(i):null}function Y(e,t,n=null){if(null==z||null==F)throw new X;const i=z._getTransformationBySuitability(F,e,t,n,n?.spatialReference);if(null!==i){const e=[];for(const t of i)e.push(S.fromGE(t));return e}return[]}class X extends i.A{constructor(){super("projection:not-loaded","projection engine not fully loaded yet, please call load()")}}function G(){z=null,F=null,B=null,T={}}const D={get loadPromise(){return B}};function $(e,t){try{const n=j(e,t);if(null==n)return null;"xmin"in e&&"xmin"in n&&(n.zmin=e.zmin,n.zmax=e.zmax);const i=(0,v.N)(n.type,e.spatialReference,t);return null!=i&&i(n),n}catch(e){if(!(e instanceof X))throw e;return null}}async function Z(e,t,n){const i=e.spatialReference;return null!=i&&null!=t&&await W(i,t,null,n),$(e,t)}function U(e,t,n){return!n&&(!!(0,M.aI)(e,t)||(0,M.fn)(e)&&(0,M.fn)(t)&&!!(0,_.jd)(e,t))}function H(e,t){if((0,M.aI)(e,t))return!0;if(!(0,M.fn)(e)||!(0,M.fn)(t))return!1;const n=(0,M.oT)(e)||(0,M.K8)(e)||(0,M.x1)(e),i=(0,M.oT)(t)||(0,M.K8)(t)||(0,M.x1)(t);return n&&i}async function W(e,t,n,i){if(R())return(0,s.NO)(i);if(Array.isArray(e)){for(const{source:t,dest:n,geographicTransformation:s}of e)if(t&&n&&!U(t,n,s))return C(i)}else if(e&&t&&!U(e,t,n))return C(i);return(0,s.NO)(i)}function J(e,t,n){return e?"x"in e?Q(e,t,new f.A,n,0):"xmin"in e?oe(e,t,new c.A,n,0):"rings"in e?se(e,t,new p.A,n,0):"paths"in e?ne(e,t,new m.A,n,0):"points"in e?ee(e,t,new h.A,n,0):null:null}function V(e,t,n=t.spatialReference,i=0){return null!=n&&null!=e.spatialReference&&null!=Q(e,e.spatialReference,t,n,i)}function Q(e,t,n,i,s){ae[0]=e.x,ae[1]=e.y;const r=e.z;return ae[2]=void 0!==r?r:s,(0,y.projectBuffer)(ae,t,0,ae,i,0)?(n.x=ae[0],n.y=ae[1],n.spatialReference=i,void 0!==r||(0,u.xP)(i)?(n.z=ae[2],n.hasZ=!0):(n.z=void 0,n.hasZ=!1),void 0===e.m?(n.m=void 0,n.hasM=!1):(n.m=e.m,n.hasM=!0),n):null}function K(e,t,n=t.spatialReference,i=0){return null!=e.spatialReference&&null!=n&&null!=ee(e,e.spatialReference,t,n,i)}function ee(e,t,n,i,s){const{points:r,hasZ:o,hasM:l}=e,a=[],c=r.length,h=[];for(const e of r)h.push(e[0],e[1],o?e[2]:s);if(!(0,y.projectBuffer)(h,t,0,h,i,0,c))return null;const d=o||(0,u.xP)(i);for(let e=0;e<c;++e){const t=3*e,n=h[t],i=h[t+1];d&&l?a.push([n,i,h[t+2],r[e][3]]):d?a.push([n,i,h[t+2]]):l?a.push([n,i,r[e][2]]):a.push([n,i])}return n.points=a,n.spatialReference=i,n.hasZ=o,n.hasM=l,n}function te(e,t,n=t.spatialReference,i=0){return null!=e.spatialReference&&null!=n&&null!=ne(e,e.spatialReference,t,n,i)}function ne(e,t,n,i,s){const{paths:r,hasZ:o,hasM:l}=e,a=[];if(!le(r,o??!1,l??!1,t,a,i,s))return null;const c=o||(0,u.xP)(i);return n.paths=a,n.spatialReference=i,n.hasZ=c,n.hasM=l,n}function ie(e,t,n=t.spatialReference,i=0){return null!=e.spatialReference&&null!=n&&null!=se(e,e.spatialReference,t,n,i)}function se(e,t,n,i,s){const{rings:r,hasZ:o,hasM:l}=e,a=[];if(!le(r,o??!1,l??!1,t,a,i,s))return null;const c=o||(0,u.xP)(i);return n.rings=a,n.spatialReference=i,n.hasZ=c,n.hasM=l,n}function re(e,t,n=t.spatialReference,i=0){return null!=e.spatialReference&&null!=n&&null!=oe(e,e.spatialReference,t,n,i)}function oe(e,t,n,i,s){const{xmin:r,ymin:o,xmax:l,ymax:a,hasZ:c,hasM:h}=e;if(!x(r,o,c?e.zmin:s,t,ae,i))return null;const d=c||(0,u.xP)(i);return n.xmin=ae[0],n.ymin=ae[1],d&&(n.zmin=ae[2]),x(l,a,c?e.zmax:s,t,ae,i)?(n.xmax=ae[0],n.ymax=ae[1],d&&(n.zmax=ae[2]),h&&(n.mmin=e.mmin,n.mmax=e.mmax),n.spatialReference=i,n):null}function le(e,t,n,i,s,r,o=0){const l=new Array;for(const n of e)for(const e of n)l.push(e[0],e[1],t?e[2]:o);if(!(0,y.projectBuffer)(l,i,0,l,r,0))return!1;let a=0;s.length=0;const c=t||(0,u.xP)(r);for(const t of e){const e=new Array;for(const i of t)c&&n?e.push([l[a++],l[a++],l[a++],i[3]]):c?e.push([l[a++],l[a++],l[a++]]):n?(e.push([l[a++],l[a++],i[2]]),a++):(e.push([l[a++],l[a++]]),a++);s.push(e)}return!0}const ae=(0,l.vt)()}}]);
1
+ "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[9536],{2272:(e,t,n)=>{n.d(t,{Dl:()=>u,gf:()=>h,jV:()=>a,lF:()=>c});var i=n(92602),s=n(70333),r=n(4718),o=n(84952),l=n(926);function a(e,t){return t?{...t,query:{...e,...t.query}}:{query:e}}function u(e){return"string"==typeof e?(0,o.An)(e):(0,r.o8)(e)}function c(e,t,n){const i={};for(const s in e){if("declaredClass"===s)continue;const r=e[s];if(null!=r&&"function"!=typeof r)if(Array.isArray(r))i[s]=r.map(e=>c(e));else if("object"==typeof r)if(r.toJSON){const e=r.toJSON(n?.[s]);i[s]=t?e:JSON.stringify(e)}else i[s]=t?r:JSON.stringify(r);else i[s]=r}return i}async function h(e,t,r){const o=function(e,t){return e?t&&(0,l.Qc)(e)?t:(0,l.CG)(e)??s.id?.findCredential(e)?.token:null}(e,t);if(o)return o;!s.id&&i.A.request.useIdentity&&await Promise.all([n.e(7330),n.e(4813),n.e(3747)]).then(n.bind(n,73747));const a=await s.id.getCredential(e,r);return a?.token}},6518:(e,t,n)=>{n.d(t,{F:()=>l});var i=n(44208),s=n(75503),r=n(19419);const o={minX:0,minY:0,maxX:0,maxY:0};class l{constructor(){this._indexInvalid=!1,this._boundsToLoad=[],this._boundsById=new Map,this._idByBounds=new Map,this._index=new s.wq(9,(0,i.A)("esri-csp-restrictions")?e=>({minX:e[0],minY:e[1],maxX:e[2],maxY:e[3]}):["[0]","[1]","[2]","[3]"]),this._loadIndex=()=>{if(this._indexInvalid){const e=new Array(this._idByBounds.size);let t=0;this._idByBounds.forEach((n,i)=>{e[t++]=i}),this._indexInvalid=!1,this._index.clear(),this._index.load(e)}else this._boundsToLoad.length&&(this._index.load(Array.from(new Set(this._boundsToLoad.filter(e=>this._idByBounds.has(e))))),this._boundsToLoad.length=0)}}get fullBounds(){if(!this._boundsById.size)return null;const e=(0,r.Ie)();for(const t of this._boundsById.values())t&&(e[0]=Math.min(t[0],e[0]),e[1]=Math.min(t[1],e[1]),e[2]=Math.max(t[2],e[2]),e[3]=Math.max(t[3],e[3]));return e}get valid(){return!this._indexInvalid}clear(){this._indexInvalid=!1,this._boundsToLoad.length=0,this._boundsById.clear(),this._idByBounds.clear(),this._index.clear()}delete(e){const t=this._boundsById.get(e);this._boundsById.delete(e),t&&(this._idByBounds.delete(t),this._indexInvalid||this._index.remove(t))}forEachInBounds(e,t){this._loadIndex(),function(e,t,n){(function(e){o.minX=e[0],o.minY=e[1],o.maxX=e[2],o.maxY=e[3]})(t),e.search(o,n)}(this._index,e,e=>t(this._idByBounds.get(e)))}get(e){return this._boundsById.get(e)}has(e){return this._boundsById.has(e)}invalidateIndex(){this._indexInvalid||(this._indexInvalid=!0,this._boundsToLoad.length=0)}set(e,t){if(!this._indexInvalid){const t=this._boundsById.get(e);t&&(this._index.remove(t),this._idByBounds.delete(t))}this._boundsById.set(e,t),t&&(this._idByBounds.set(t,e),this._indexInvalid||(this._boundsToLoad.push(t),this._boundsToLoad.length>5e4&&this._loadIndex()))}}},9762:(e,t,n)=>{n.r(t),n.d(t,{projectBuffer:()=>s});var i=n(37539);function s(e,t,n,s,r,o,l=Math.floor(e.length/3)){const a=(0,i.jd)(t,r);if(null==a)return!1;if(a===i.pO){if(e===s&&n===o)return!0;const t=n+3*l;for(let i=n,r=o;i<t;i++,r++)s[r]=e[i];return!0}const u=n+3*l;for(let t=n,i=o;t<u;t+=3,i+=3)a(e,t,s,i);return!0}},14607:(e,t,n)=>{n.d(t,{B:()=>u,GP:()=>l,qg:()=>c});var i=n(799),s=n(73444);const r={ar:[".",","],bg:[","," "],bs:[",","."],ca:[",","."],cs:[","," "],da:[",","."],de:[",","."],"de-ch":[".","’"],el:[",","."],en:[".",","],"en-au":[".",","],es:[",","."],"es-mx":[".",","],et:[","," "],fi:[","," "],fr:[","," "],"fr-ch":[","," "],he:[".",","],hi:[".",",","#,##,##0.###"],hr:[",","."],hu:[","," "],id:[",","."],it:[",","."],"it-ch":[".","’"],ja:[".",","],ko:[".",","],lt:[","," "],lv:[","," "],mk:[",","."],nb:[","," "],nl:[",","."],no:[","," "],pl:[","," "],pt:[",","."],"pt-pt":[","," "],ro:[",","."],ru:[","," "],sk:[","," "],sl:[",","."],sr:[",","."],sv:[","," "],th:[".",","],tr:[",","."],uk:[","," "],vi:[",","."],zh:[".",","]};function o(e=(0,s.JK)()){let t=(e=e.toLowerCase())in r;if(!t){const n=e.split("-");n.length>1&&n[0]in r&&(e=n[0],t=!0),t||(e="en")}const[n,i,o="#,##0.###"]=r[e];return{decimal:n,group:i,pattern:o}}function l(e,t){const n=o((t={...t}).locale);t.customs=n;const i=t.pattern||n.pattern;return isNaN(e)||Math.abs(e)===1/0?null:function(e,t,n){const i=(n=n||{}).customs.group,s=n.customs.decimal,r=t.split(";"),o=r[0];if((t=r[e<0?1:0]||"-"+o).includes("%"))e*=100;else if(t.includes("‰"))e*=1e3;else{if(t.includes("¤"))throw new Error("currency notation not supported");if(t.includes("E"))throw new Error("exponential notation not supported")}const l=a,u=o.match(l);if(!u)throw new Error("unable to find a number expression in pattern: "+t);return!1===n.fractional&&(n.places=0),t.replace(l,function(e,t,n){!0===(n=n||{}).places&&(n.places=0),n.places===1/0&&(n.places=6);const i=t.split("."),s="string"==typeof n.places&&n.places.indexOf(",");let r=n.places;s?r=n.places.slice(s+1):+r>=0||(r=(i[1]||[]).length),n.round<0||(e=Number(e.toFixed(Number(r))));const o=String(Math.abs(e)).split("."),l=o[1]||"";if(i[1]||n.places){s&&(n.places=n.places.slice(0,Math.max(0,s)));const e=void 0!==n.places?n.places:i[1]&&i[1].lastIndexOf("0")+1;+e>l.length&&(o[1]=l.padEnd(Number(e),"0")),+r<l.length&&(o[1]=l.slice(0,Math.max(0,Number(r))))}else o[1]&&o.pop();const a=i[0].replace(",","");let u=a.indexOf("0");-1!==u&&(u=a.length-u,u>o[0].length&&(o[0]=o[0].padStart(u,"0")),a.includes("#")||(o[0]=o[0].slice(-u)));let c,h,d=i[0].lastIndexOf(",");if(-1!==d){c=i[0].length-d-1;const e=i[0].slice(0,d);d=e.lastIndexOf(","),-1!==d&&(h=e.length-d-1)}const f=[];for(let e=o[0];e;){const t=e.length-c;f.push(t>0?e.slice(Math.max(0,t)):e),e=t>0?e.slice(0,t):"",h&&(c=h,h=void 0)}return o[0]=f.reverse().join(n.group||","),o.join(n.decimal||".")}(e,u[0],{decimal:s,group:i,places:n.places,round:n.round}))}(e,i,t)}const a=/[#0,]*[#0](?:\.0*#*)?/;function u(e){const t=o((e=e||{}).locale),n=e.pattern||t.pattern,s=t.group,r=t.decimal;let l=1;if(n.includes("%"))l/=100;else if(n.includes("‰"))l/=1e3;else if(n.includes("¤"))throw new Error("currency notation not supported");const u=n.split(";");1===u.length&&u.push("-"+u[0]);const c=d(u,t=>(t="(?:"+(0,i.Cj)(t,".")+")").replace(a,t=>{const n={signed:!1,separator:e.strict?s:[s,""],fractional:e.fractional,decimal:r,exponent:!1},i=t.split(".");let o=e.places;1===i.length&&1!==l&&(i[1]="###"),1===i.length||0===o?n.fractional=!1:(void 0===o&&(o=e.pattern?i[1].lastIndexOf("0")+1:1/0),o&&null==e.fractional&&(n.fractional=!0),!e.places&&+o<i[1].length&&(o+=","+i[1].length),n.places=o);const a=i[0].split(",");return a.length>1&&(n.groupSize=a.pop().length,a.length>1&&(n.groupSize2=a.pop().length)),"("+function(e){"places"in(e=e||{})||(e.places=1/0),"string"!=typeof e.decimal&&(e.decimal="."),"fractional"in e&&!String(e.places).startsWith("0")||(e.fractional=[!0,!1]),"exponent"in e||(e.exponent=[!0,!1]),"eSigned"in e||(e.eSigned=[!0,!1]);const t=h(e),n=d(e.fractional,t=>{let n="";return t&&0!==e.places&&(n="\\"+e.decimal,e.places===1/0?n="(?:"+n+"\\d+)?":n+="\\d{"+e.places+"}"),n},!0);let i=t+n;return n&&(i="(?:(?:"+i+")|(?:"+n+"))"),i+d(e.exponent,t=>t?"([eE]"+h({signed:e.eSigned})+")":"")}(n)+")"}),!0);return{regexp:c.replaceAll(/[\xa0 ]/g,"[\\s\\xa0]"),group:s,decimal:r,factor:l}}function c(e,t){const n=u(t),i=new RegExp("^"+n.regexp+"$").exec(e);if(!i)return NaN;let s=i[1];if(!i[1]){if(!i[2])return NaN;s=i[2],n.factor*=-1}return s=s.replaceAll(new RegExp("["+n.group+"\\s\\xa0]","g"),"").replace(n.decimal,"."),Number(s)*n.factor}function h(e){return"signed"in(e=e||{})||(e.signed=[!0,!1]),"separator"in e?"groupSize"in e||(e.groupSize=3):e.separator="",d(e.signed,e=>e?"[-+]":"",!0)+d(e.separator,t=>{if(!t)return"(?:\\d+)";" "===(t=(0,i.Cj)(t))?t="\\s":" "===t&&(t="\\s\\xa0");const n=e.groupSize,s=e.groupSize2;if(s){const e="(?:0|[1-9]\\d{0,"+(s-1)+"}(?:["+t+"]\\d{"+s+"})*["+t+"]\\d{"+n+"})";return n-s>0?"(?:"+e+"|(?:0|[1-9]\\d{0,"+(n-1)+"}))":e}return"(?:0|[1-9]\\d{0,"+(n-1)+"}(?:["+t+"]\\d{"+n+"})*)"},!0)}const d=(e,t,n)=>{if(!Array.isArray(e))return t(e);const i=[];for(let n=0;n<e.length;n++)i.push(t(e[n]));return f(i.join("|"),Boolean(n))},f=(e,t)=>"("+(t?"?:":"")+e+")"},36708:(e,t,n)=>{n.d(t,{C_:()=>d,OH:()=>m,Vh:()=>g,on:()=>h,pc:()=>y,wB:()=>a,z7:()=>u});var i=n(37955),s=n(36563),r=n(97768),o=n(74887),l=n(14012);function a(e,t,n={}){return c(e,t,n,f)}function u(e,t,n={}){return c(e,t,n,p)}function c(e,t,n={},i){let s=null;const o=n.once?(e,n)=>{i(e)&&((0,r.xt)(s),t(e,n))}:(e,n)=>{i(e)&&t(e,n)};if(s=(0,l.Cn)(e,o,n.sync,n.equals),n.initial){const t=e();o(t,t)}return s}function h(e,t,n,o={}){let l=null,u=null,c=null;function h(){l&&u&&(u.remove(),o.onListenerRemove?.(l),l=null,u=null)}function d(e){o.once&&o.once&&(0,r.xt)(c),n(e)}const f=a(e,(e,n)=>{h(),(0,i.wb)(e)&&(l=e,u=(0,i.on)(e,t,d),o.onListenerAdd?.(e))},{sync:o.sync,initial:!0});return c=(0,s.hA)(()=>{f.remove(),h()}),c}function d(e,t){return function(e,t,n){if((0,o.G4)(n))return Promise.reject((0,o.NK)());const i=e();if(t?.(i))return Promise.resolve(i);let l=null;function a(){l=(0,r.xt)(l)}return new Promise((i,r)=>{l=(0,s.vE)([(0,o.u7)(n,()=>{a(),r((0,o.NK)())}),c(e,e=>{a(),i(e)},{sync:!1,once:!0},t??f)])})}(e,p,t)}function f(e){return!0}function p(e){return!!e}n(80559);const m={sync:!0},g={initial:!0},y={sync:!0,initial:!0}},37539:(e,t,n)=>{n.d(t,{pO:()=>m,jd:()=>d,Tp:()=>f,w5:()=>h});var i=n(34727),s=n(83047),r=n(73941),o=n(79258);Math.PI;const l=o.$O.radius,a=o.$O.eccentricitySquared,u={a1:l*a,a2:l*a*l*a,a3:l*a*a/2,a4:l*a*l*a*2.5,a5:l*a+l*a*a/2,a6:1-a};o.$O.radius,o.$O.flattening,o.Sw.radius,o.Sw.flattening,o.sH.radius,o.sH.flattening,o.sH.radius;var c=n(21325);const h={2:{5:m,7:null,9:null,10:m,1:S,6:null,8:null,0:null,3:y,11:_,2:m,4:B},5:{5:m,7:null,9:null,10:m,1:S,6:null,8:null,0:null,3:y,11:_,2:m,4:B},7:{5:null,7:m,9:null,10:m,1:null,6:b,8:null,0:null,3:null,11:null,2:null,4:null},9:{5:null,7:null,9:m,10:m,1:null,6:null,8:I,0:null,3:null,11:null,2:null,4:null},3:{5:g,7:null,9:null,10:g,1:function(e,t,n,i){const s=e[t]/k,r=E-2*Math.atan(Math.exp(-e[t+1]/k)),o=k+e[t+2],l=Math.cos(r)*o;n[i]=Math.cos(s)*l,n[i+1]=Math.sin(s)*l,n[i+2]=Math.sin(r)*o},6:null,8:null,0:null,3:m,11:function(e,t,n,i){g(e,t,n,i),_(n,i,n,i)},2:g,4:function(e,t,n,i){g(e,t,n,i),B(n,i,n,i)}},4:{5:T,7:null,9:null,10:T,1:function(e,t,n,i){T(e,t,n,i),S(n,i,n,i)},6:null,8:null,0:null,3:function(e,t,n,i){T(e,t,n,i),y(n,i,n,i)},11:function(e,t,n,i){T(e,t,n,i),_(n,i,n,i)},2:T,4:m},1:{5:F,7:null,9:null,10:F,1:m,6:null,8:null,0:null,3:function(e,t,n,i){F(e,t,n,i),y(n,i,n,i)},11:function(e,t,n,i){F(e,t,n,i),_(n,i,n,i)},2:F,4:function(e,t,n,i){F(e,t,n,i),B(n,i,n,i)}},6:{5:null,7:z,9:null,10:z,1:null,6:m,8:null,0:null,3:null,11:null,2:null,4:null},8:{5:null,7:null,9:v,10:v,1:null,6:null,8:m,0:null,3:null,11:null,2:null,4:null},0:{5:null,7:null,9:null,10:null,1:null,6:null,8:null,0:m,3:null,11:null,2:null,4:null},10:{5:m,7:m,9:m,10:m,1:S,6:b,8:I,0:null,3:y,11:_,2:m,4:B},11:{5:x,7:null,9:null,10:x,1:function(e,t,n,i){x(e,t,n,i),S(n,i,n,i)},6:null,8:null,0:null,3:function(e,t,n,i){x(e,t,n,i),y(n,i,n,i)},11:m,2:x,4:function(e,t,n,i){x(e,t,n,i),B(n,i,n,i)}}};function d(e,t){return f(e,t)?.projector}function f(e,t){if(null==e||null==t)return null;if(A.source.spatialReference===e&&A.dest.spatialReference===t)return A;const n=p(e,A.source),i=p(t,A.dest);return 0===n&&0===i?(0,c.aI)(e,t)?A.projector=m:A.projector=null:A.projector=h[n][i],A}function p(e,t){return e?t.spatialReference===e?t.spatialReferenceId:(t.spatialReference=e,"metersPerUnit"in t&&(t.metersPerUnit=(0,s.GA)(e,1)),(0,r.jA)(e)?t.spatialReferenceId=1:(0,c.oT)(e)?t.spatialReferenceId=2:(0,c.K8)(e)?t.spatialReferenceId=3:(0,c.r1)(e)?t.spatialReferenceId=11:e.wkt===r.Ro.wkt?t.spatialReferenceId=4:4490===e.wkid?t.spatialReferenceId=5:e.wkt===r.FY.wkt?t.spatialReferenceId=6:e.wkt===r.LJ.wkt?t.spatialReferenceId=8:(0,c.q8)(e)?t.spatialReferenceId=7:(0,c.KQ)(e)?t.spatialReferenceId=9:t.spatialReferenceId=0):0}function m(e,t,n,i){e!==n&&(n[i++]=e[t++],n[i++]=e[t++],n[i]=e[t])}function g(e,t,n,i){n[i]=N*(e[t]/k),n[i+1]=N*(E-2*Math.atan(Math.exp(-e[t+1]/k))),n[i+2]=e[t+2]}function y(e,t,n,s){!function(e,t,n,s,r){const o=.4999999*Math.PI,l=(0,i.qE)(R*e[t+1],-o,o),a=Math.sin(l);n[s++]=R*e[t]*r.radius,n[s++]=r.halfSemiMajorAxis*Math.log((1+a)/(1-a)),n[s]=e[t+2]}(e,t,n,s,o.$O)}function _(e,t,n,i){n[i]=e[t]*C,n[i+1]=e[t+1]*C,n[i+2]=e[t+2]}function x(e,t,n,i){n[i]=e[t]*j,n[i+1]=e[t+1]*j,n[i+2]=e[t+2]}function w(e,t,n,i,s){const r=s+e[t+2],o=R*e[t+1],l=R*e[t],a=Math.cos(o)*r;n[i]=Math.cos(l)*a,n[i+1]=Math.sin(l)*a,n[i+2]=Math.sin(o)*r}function I(e,t,n,i){w(e,t,n,i,o.Sw.radius)}function b(e,t,n,i){w(e,t,n,i,o.sH.radius)}function S(e,t,n,i){w(e,t,n,i,o.$O.radius)}function M(e,t,n,s,r){const o=e[t],l=e[t+1],a=e[t+2],u=Math.sqrt(o*o+l*l+a*a),c=(0,i.YN)(a/(0===u?1:u)),h=Math.atan2(l,o);n[s++]=N*h,n[s++]=N*c,n[s]=u-r}function v(e,t,n,i){M(e,t,n,i,o.Sw.radius)}function z(e,t,n,i){M(e,t,n,i,o.sH.radius)}function F(e,t,n,i){M(e,t,n,i,o.$O.radius)}function B(e,t,n,i){!function(e,t,n,i,s){const r=R*e[t],o=R*e[t+1],l=e[t+2],a=Math.sin(o),u=Math.cos(o),c=s.radius/Math.sqrt(1-s.eccentricitySquared*a*a);n[i++]=(c+l)*u*Math.cos(r),n[i++]=(c+l)*u*Math.sin(r),n[i++]=(c*(1-s.eccentricitySquared)+l)*a}(e,t,n,i,o.$O)}function T(e,t,n,i){const s=u,r=e[t],l=e[t+1],a=e[t+2];let c,h,d,f,p,m,g,y,_,x,w,I,b,S,M,v,z,F,B,T,A;c=Math.abs(a),h=r*r+l*l,d=Math.sqrt(h),f=h+a*a,p=Math.sqrt(f),T=Math.atan2(l,r),m=a*a/f,g=h/f,S=s.a2/p,M=s.a3-s.a4/p,g>.3?(y=c/p*(1+g*(s.a1+S+m*M)/p),B=Math.asin(y),x=y*y,_=Math.sqrt(1-x)):(_=d/p*(1-m*(s.a5-S-g*M)/p),B=Math.acos(_),x=1-_*_,y=Math.sqrt(x)),w=1-o.$O.eccentricitySquared*x,I=o.$O.radius/Math.sqrt(w),b=s.a6*I,S=d-I*_,M=c-b*y,z=_*S+y*M,v=_*M-y*S,F=v/(b/w+z),B+=F,A=z+v*F/2,a<0&&(B=-B),n[i++]=N*T,n[i++]=N*B,n[i]=A}const A={source:{spatialReference:null,spatialReferenceId:0,metersPerUnit:1},dest:{spatialReference:null,spatialReferenceId:0,metersPerUnit:1},projector:m},R=(0,i.kU)(1),N=(0,i.KJ)(1),E=.5*Math.PI,k=o.$O.radius,C=k*Math.PI/180,j=180/(k*Math.PI)},37730:(e,t,n)=>{n.d(t,{T:()=>s});var i=n(43334);const s={getObjectId:e=>e.objectId,getAttributes:e=>e.attributes,getAttribute:(e,t)=>e.attributes[t],cloneWithGeometry:(e,t)=>new i.Om(t,e.attributes,null,e.objectId),getGeometry:e=>e.geometry,getCentroid:(e,t)=>e.ensureCentroid(t)}},40752:(e,t,n)=>{n.r(t),n.d(t,{default:()=>H});var i=n(78888),s=n(60999),r=n(67482),o=n(49186),l=n(53966),a=n(74887),u=n(84952),c=n(98988),h=n(16930),d=n(7320),f=n(21325),p=n(28735),m=n(43334),g=n(92722),y=n(83221),_=n(31464),x=n(56390),w=n(14607),I=n(30524);function b(e,t,n){t=(0,I.rS)(t)?.toLowerCase(),n=(0,I.rS)(n)?.toLowerCase();const i=e.map(e=>e.toLowerCase()),s=t?e[i.indexOf(t)]:null,r=n?e[i.indexOf(n)]:null;return{longitudeFieldName:s||e[i.indexOf(M.find(e=>i.includes(e)))],latitudeFieldName:r||e[i.indexOf(S.find(e=>i.includes(e)))]}}const S=["lat","lat83","latitude","latitude83","latdecdeg","lat_dd","y","ycenter","point_y"],M=["lon","lng","lng83","long","long83","longitude","longitude83","longdecdeg","long_dd","x","xcenter","point_x"],v=/^\s*"([\S\s]*)"\s*$/,z=/""/g,F=[","," ",";","|","\t"];function*B(e,t,n){let i=0;for(;i<=e.length;){const s=e.indexOf(t,i),r=e.slice(i,s>-1?s:void 0);i+=r.length+t.length,n&&!r.trim()||(yield r)}}function T(e){const t=e.includes("\r\n")?"\r\n":"\n";return B(e,t,!0)}function A(e,t){return B(e,t,!1)}function R(e,t,n){e=e.trim(),t=t?.trim();const i=[],s=Array.from(new Set([n?.delimiter,...F])).filter(e=>null!=e);for(const n of s){const s=k(e,n).length,r=k(t,n).length??s;s>1&&i.push({weight:Math.min(s,r),delimiter:n})}const r=i.sort(({weight:e},{weight:t})=>t-e).map(({delimiter:e})=>e);for(const t of r){const i=b(E(e,t).names,n?.longitudeField,n?.latitudeField);if(i.longitudeFieldName&&i.latitudeFieldName)return{delimiter:t,locationInfo:i}}return{delimiter:r[0],locationInfo:null}}function*N(e,t,n,i=()=>Object.create(null)){const s=T(e);s.next();let r="",o="",l=0,a=i(),u=0;e:for(const e of s){const s=A(e,n);for(const e of s)if(r+=o+e,o="",l+=C(e),l%2==0){if(l>0){const e=v.exec(r);if(!e){a=i(),u=0,r="",l=0;continue e}a[t[u]]=e[1].replaceAll(z,'"'),u++}else a[t[u]]=r,u++;r="",l=0}else o=n;0===l?(yield a,a=i(),u=0):o="\n"}}function E(e,t){const n=k(e,t).filter(e=>null!=e),i=n.map(e=>(0,I.rS)(e));for(let e=i.length-1;e>=0;e--)i[e]||(i.splice(e,1),n.splice(e,1));return{names:i,aliases:n}}function k(e,t){if(!e?.length)return[];const n=[];let i="",s="",r=0;const o=A(e,t);for(const e of o)if(i+=s+e,s="",r+=C(e),r%2==0){if(r>0){const e=v.exec(i);e&&n.push(e[1].replaceAll(z,'"'))}else n.push(i);i="",r=0}else s=t;return n}function C(e){let t=0,n=0;for(n=e.indexOf('"',n);n>=0;)t++,n=e.indexOf('"',n+1);return t}function j(e,t,n,i,s){const r=[],o=N(e,n,t),l=[];for(const e of o){if(10===l.length)break;l.push(e)}for(let e=0;e<n.length;e++){const t=n[e],o=i[e];if(t===s.longitudeFieldName||t===s.latitudeFieldName)r.push({name:t,type:"esriFieldTypeDouble",alias:o});else{let e;switch(O(l.map(e=>e[t]))){case"integer":e="esriFieldTypeInteger";break;case"double":e="esriFieldTypeDouble";break;case"date":e="esriFieldTypeDate";break;default:e="esriFieldTypeString"}r.push({name:t,type:e,alias:o,length:(0,I._b)(e)})}}return r}function O(e){if(!e.length)return"string";const t=/[^+\-.,0-9]/;return e.map(e=>{if(""!==e){if(!t.test(e)){let t=P(e);if(!isNaN(t))return/[.,]/.test(e)||!Number.isInteger(t)||t>214783647||t<-214783648?"double":"integer";if(e.includes("E")){if(t=Number(e),!Number.isNaN(t))return"double";if(e.includes(",")&&(e=e.replace(",","."),t=Number(e),!Number.isNaN(t)))return"double"}}return(0,r.Cq)(e)?"date":"string"}}).reduce((e,t)=>void 0===e?t:void 0===t?e:e===t?t:"string"===e||"string"===t?"string":"double"===e||"double"===t?"double":void 0)}const P=function(){const e=(0,w.B)(),t=new RegExp("^"+e.regexp+"$"),n=new RegExp("["+e.group+"\\s\\xa0]","g"),i=e.factor;return s=>{const r=t.exec(s);if(e.factor=i,!r)return NaN;let o=r[1];if(!r[1]){if(!r[2])return NaN;o=r[2],e.factor*=-1}return o=o.replace(n,"").replace(e.decimal,"."),+o*e.factor}}();function q(e){return JSON.parse(JSON.stringify(e))}var L=n(64714),Y=n(95466),X=n(54218),G=n(98623);const D=(0,L.F0)("esriGeometryPoint"),$=["csv"],Z=[0,0];class U{constructor(e,t){this.x=e,this.y=t}}class H{constructor(){this._queryEngine=null,this._snapshotFeatures=async e=>{const t=await this._fetch(e);return this._createFeatures(t)}}destroy(){this._queryEngine?.destroy(),this._queryEngine=null}async load(e,t={}){this._loadOptions=e;const[n]=await Promise.all([this._fetch(t.signal),this._checkProjection(e?.parsingOptions?.spatialReference)]),i=function(e,t){const n=t.parsingOptions||{},i={delimiter:n.delimiter,layerDefinition:null,locationInfo:{latitudeFieldName:n.latitudeField,longitudeFieldName:n.longitudeField}},s=i.layerDefinition={name:(0,u.e7)(t.url,$)||"csv",dateFieldsTimeReference:{timeZoneIANA:G.n$},drawingInfo:D,geometryType:"esriGeometryPoint",objectIdField:null,fields:[],timeInfo:n.timeInfo,extent:{xmin:Number.POSITIVE_INFINITY,ymin:Number.POSITIVE_INFINITY,xmax:Number.NEGATIVE_INFINITY,ymax:Number.NEGATIVE_INFINITY,spatialReference:n.spatialReference||{wkid:4326}}},r=T(e),l=r.next().value?.trim(),a=r.next().value?.trim();if(!l)throw new o.A("csv-layer:empty-csv","CSV is empty",{csv:e});const{delimiter:c,locationInfo:h}=R(l,a,n);if(!c)throw new o.A("csv-layer:invalid-delimiter","Unable to detect the delimiter from CSV",{firstLine:l,secondLine:a,parsingOptions:n});if(!h)throw new o.A("csv-layer:location-fields-not-found","Unable to identify latitude and longitude fields from the CSV file",{firstLine:l,secondLine:a,parsingOptions:n});i.locationInfo=h,i.delimiter=c;const{names:d,aliases:f}=E(l,c),p=j(e,i.delimiter,d,f,i.locationInfo);if(n.fields?.length){const e=new Y.A(n.fields);for(const t of p){const n=e.get(t.name);n&&Object.assign(t,n)}}if(!p.some(e=>"esriFieldTypeOID"===e.type&&(s.objectIdField=e.name,!0))){const e={name:"__OBJECTID",alias:"__OBJECTID",type:"esriFieldTypeOID",editable:!1,nullable:!1};s.objectIdField=e.name,p.unshift(e)}s.fields=p;const m=new Y.A(s.fields);if(i.locationInfo&&(i.locationInfo.latitudeFieldName=m.get(i.locationInfo.latitudeFieldName).name,i.locationInfo.longitudeFieldName=m.get(i.locationInfo.longitudeFieldName).name),s.timeInfo){const e=s.timeInfo;if(e.startTimeField){const t=m.get(e.startTimeField);t?(e.startTimeField=t.name,t.type="esriFieldTypeDate"):e.startTimeField=null}if(e.endTimeField){const t=m.get(e.endTimeField);t?(e.endTimeField=t.name,t.type="esriFieldTypeDate"):e.endTimeField=null}if(e.trackIdField){const t=m.get(e.trackIdField);e.trackIdField=t?t.name:null}e.startTimeField||e.endTimeField||(s.timeInfo=null)}return i}(n,e);this._locationInfo=i.locationInfo,this._delimiter=i.delimiter,this._queryEngine=this._createQueryEngine(i);const s=this._createFeatures(n);this._queryEngine.featureStore.addMany(s);const{fullExtent:r,timeExtent:l}=await this._queryEngine.fetchRecomputedExtents();if(i.layerDefinition.extent=r,l){const{start:e,end:t}=l;i.layerDefinition.timeInfo.timeExtent=[e,t]}return i}async applyEdits(){throw new o.A("csv-layer:editing-not-supported","applyEdits() is not supported on CSVLayer")}async queryFeatures(e={},t={}){return await this._waitSnapshotComplete(),this._queryEngine.executeQuery(e,t.signal)}async queryFeatureCount(e={},t={}){return await this._waitSnapshotComplete(),this._queryEngine.executeQueryForCount(e,t.signal)}async queryObjectIds(e={},t={}){return await this._waitSnapshotComplete(),(await this._queryEngine.executeQueryForIds(e,t.signal)).filter(X.Et)}async queryExtent(e={},t={}){return await this._waitSnapshotComplete(),this._queryEngine.executeQueryForExtent(e,t.signal)}async querySnapping(e,t={}){return await this._waitSnapshotComplete(),await this._queryEngine.executeQueryForSnapping(e,t.signal)}async queryAttributeBins(e,t={}){return await this._waitSnapshotComplete(),this._queryEngine.executeAttributeBinsQuery(e,t.signal)}async refresh(e){this._loadOptions.customParameters=e,this._snapshotTask?.abort(),this._snapshotTask=(0,s.UT)(this._snapshotFeatures),this._snapshotTask.promise.then(e=>{this._queryEngine.featureStore.clear(),e&&this._queryEngine.featureStore.addMany(e)},e=>{this._queryEngine.featureStore.clear(),(0,a.zf)(e)||l.A.getLogger("esri.layers.CSVLayer").error(new o.A("csv-layer:refresh","An error occurred during refresh",{error:e}))}),await this._waitSnapshotComplete();const{fullExtent:t,timeExtent:n}=await this._queryEngine.fetchRecomputedExtents();return{extent:t,timeExtent:n}}async _waitSnapshotComplete(){if(this._snapshotTask&&!this._snapshotTask.finished){try{await this._snapshotTask.promise}catch{}return this._waitSnapshotComplete()}}async _fetch(e){const{url:t,customParameters:n}=this._loadOptions;if(!t)throw new o.A("csv-layer:invalid-source","url not defined");const s=(0,u.An)(t);return(await(0,i.A)(s.path,{query:{...s.query,...n},responseType:"text",signal:e})).data}_createQueryEngine(e){const{objectIdField:t,fields:n,extent:i,timeInfo:s}=e.layerDefinition,r=new y.A({geometryType:"esriGeometryPoint",hasM:!1,hasZ:!1}),o={type:"object-id",fieldName:t};return new x.do({fieldsIndex:Y.A.fromLayerJSON({fields:n,dateFieldsTimeReference:{timeZoneIANA:G.n$}}),geometryType:"esriGeometryPoint",hasM:!1,hasZ:!1,timeInfo:s,featureIdInfo:o,spatialReference:i.spatialReference||{wkid:4326},featureStore:r})}_createFeatures(e){const{latitudeFieldName:t,longitudeFieldName:n}=this._locationInfo,{objectIdField:i,fieldsIndex:s,spatialReference:o}=this._queryEngine;let l=[];const a=[],u=s.fields.filter(e=>e.name!==i).map(e=>e.name);let y=0;const _={};for(const e of s.fields)if("esriFieldTypeOID"!==e.type&&"esriFieldTypeGlobalID"!==e.type){const t=(0,I.lD)(e);void 0!==t&&(_[e.name]=t)}const x=N(e,u,this._delimiter,(0,L.Vx)(_,i));for(const e of x){const o=this._parseCoordinateValue(e[t]),u=this._parseCoordinateValue(e[n]);if(null!=u&&null!=o&&!isNaN(o)&&!isNaN(u)){e[t]=o,e[n]=u;for(const i in e)if(i!==t&&i!==n)if(s.isDateField(i))e[i]=(0,r._U)(e[i]);else if(s.isNumericField(i)){const t=P(e[i]);isNaN(t)?e[i]=null:e[i]=t}else null!=e[i]&&(e[i]=q(e[i]));e[i]=y,y++,l.push(new U(u,o)),a.push(e)}}if(!(0,f.aI)({wkid:4326},o))if((0,f.K8)(o))for(const e of l)[e.x,e.y]=(0,p.je)(e.x,e.y,Z);else l=(0,c.projectMany)(d.g,l,h.A.WGS84,o,null,null);const w=[];for(let e=0;e<l.length;e++){const{x:t,y:n}=l[e],s=a[e];s[i]=e+1,w.push(new m.Om(new g.A([],[t,n]),s,null,s[i]))}return w}_parseCoordinateValue(e){if(null==e||""===e)return null;let t=P(e);return(isNaN(t)||Math.abs(t)>181)&&(t=parseFloat(e)),t}async _checkProjection(e){try{await(0,_.Nk)(f.KK,e)}catch{throw new o.A("csv-layer:projection-not-supported","Projection not supported")}}}},60999:(e,t,n)=>{n.d(t,{DZ:()=>p,Ke:()=>f,Tj:()=>c,UT:()=>m,jJ:()=>u});var i=n(31635),s=n(65008),r=n(97768),o=n(74887),l=n(10107),a=n(40608);function u(e,t,n){return(0,o.Lx)(e.map((e,i)=>t.apply(n,[e,i])))}async function c(e,t,n){return(await(0,o.Lx)(e.map((e,i)=>t.apply(n,[e,i])))).map(e=>e.value)}function h(e){return{ok:!0,value:e}}function d(e){return{ok:!1,error:e}}async function f(e){if(null==e)return{ok:!1,error:new Error("no promise provided")};try{return h(await e)}catch(e){return d(e)}}async function p(e){try{return h(await e)}catch(e){return(0,o.QP)(e),d(e)}}function m(e,t){return new g(e,t)}let g=class extends s.A{get value(){return null!=(e=this._result)&&!0===e.ok?e.value:null;var e}get error(){return null!=(e=this._result)&&!1===e.ok?e.error:null;var e}get finished(){return null!=this._result}constructor(e,t){super({}),this._result=null,this._abortHandle=null,this.abort=()=>{this._abortController=(0,r.DC)(this._abortController)},this.remove=this.abort,this._abortController=new AbortController;const{signal:n}=this._abortController;this.promise=e(n),this.promise.then(e=>{this._result=h(e),this._cleanup()},e=>{this._result=d(e),this._cleanup()}),this._abortHandle=(0,o.u7)(t,this.abort)}normalizeCtorArgs(){return{}}destroy(){this.abort()}_cleanup(){this._abortHandle=(0,r.xt)(this._abortHandle),this._abortController=null}};(0,i.Cg)([(0,l.MZ)()],g.prototype,"value",null),(0,i.Cg)([(0,l.MZ)()],g.prototype,"error",null),(0,i.Cg)([(0,l.MZ)()],g.prototype,"finished",null),(0,i.Cg)([(0,l.MZ)()],g.prototype,"promise",void 0),(0,i.Cg)([(0,l.MZ)()],g.prototype,"_result",void 0),g=(0,i.Cg)([(0,a.$)("esri.core.asyncUtils.ReactiveTask")],g)},62815:(e,t,n)=>{n.d(t,{N:()=>o});var i=n(83047),s=n(73941),r=n(21325);function o(e,t,n){if(null==t||null==n||n.vcsWkid||(0,r.aI)(t,n)||(0,s.xP)(t)||(0,s.xP)(n))return null;const o=(0,i.G9)(t)/(0,i.G9)(n);if(1===o)return null;switch(e){case"point":case"esriGeometryPoint":return e=>function(e,t){null!=e?.z&&(e.z*=t)}(e,o);case"polyline":case"esriGeometryPolyline":return e=>function(e,t){if(e)for(const n of e.paths)for(const e of n)e.length>2&&(e[2]*=t)}(e,o);case"polygon":case"esriGeometryPolygon":return e=>function(e,t){if(e)for(const n of e.rings)for(const e of n)e.length>2&&(e[2]*=t)}(e,o);case"multipoint":case"esriGeometryMultipoint":return e=>function(e,t){if(e)for(const n of e.points)n.length>2&&(n[2]*=t)}(e,o);case"extent":case"esriGeometryEnvelope":return e=>function(e,t){e&&null!=e.zmin&&null!=e.zmax&&(e.zmin*=t,e.zmax*=t)}(e,o);default:return null}}},64714:(e,t,n)=>{n.d(t,{F0:()=>l,Vx:()=>c,e2:()=>d,f:()=>f});var i=n(44208),s=n(4718),r=n(99352),o=n(93470);function l(e){return{renderer:{type:"simple",symbol:"esriGeometryPoint"===e||"esriGeometryMultipoint"===e?o.Cb:"esriGeometryPolyline"===e?o.yM:o.WR}}}const a=/^[_$a-zA-Z][_$a-zA-Z0-9]*$/;let u=1;function c(e,t){if((0,i.A)("esri-csp-restrictions"))return()=>({[t]:null,...e});try{let n=`this${h(t)} = null;`;for(const t in e)n+=`this${h(t)} = ${JSON.stringify(e[t])};`;const i=new Function(`\n return class AttributesClass$${u++} {\n constructor() {\n ${n};\n }\n }\n `)();return()=>new i}catch(n){return()=>({[t]:null,...e})}}function h(e){return a.test(e)?`.${e}`:`["${e}"]`}function d(e={}){return[{name:"New Feature",description:"",prototype:{attributes:(0,s.o8)(e)}}]}function f(e,t){return{analytics:{supportsCacheHint:!1},attachment:null,data:{isVersioned:!1,isBranchVersioned:!1,supportsAttachment:!1,supportsM:!1,supportsZ:e},metadata:{supportsAdvancedFieldProperties:!1},operations:{supportsCalculate:!1,supportsTruncate:!1,supportsValidateSql:!1,supportsAdd:t,supportsDelete:t,supportsEditing:t,supportsChangeTracking:!1,supportsQuery:!0,supportsQueryBins:!0,supportsQueryAnalytics:!1,supportsQueryAttachments:!1,supportsQueryTopFeatures:!1,supportsResizeAttachments:!1,supportsSync:!1,supportsUpdate:t,supportsExceedsLimitStatistics:!0,supportsAsyncConvert3D:!1},query:r.F,queryRelated:{supportsCount:!0,supportsOrderBy:!0,supportsPagination:!0,supportsCacheHint:!1},queryTopFeatures:{supportsCacheHint:!1},queryAttributeBins:r.P,editing:{supportsGeometryUpdate:t,supportsGlobalId:!1,supportsReturnServiceEditsInSourceSpatialReference:!1,supportsRollbackOnFailure:!1,supportsUpdateWithoutM:!1,supportsUploadWithItemId:!1,supportsDeleteByAnonymous:!1,supportsDeleteByOthers:!1,supportsUpdateByAnonymous:!1,supportsUpdateByOthers:!1,supportsAsyncApplyEdits:!1,zDefault:void 0}}}},66344:(e,t,n)=>{n.d(t,{q:()=>l});const i=!!(0,n(44208).A)("esri-tests-disable-gpu-memory-measurements");Symbol.iterator;class s{get size(){return this._size}constructor(e=10485760){this._maxSize=e,this._db=new Map,this._size=0,this._hit=0,this._miss=0,this._users=new Map,this._sizeLimits=new Map}destroy(){this.clearAll(),this._sizeLimits.clear(),this._users.clear(),this._db=null}register(e){this._users.set(e.id.slice(0,-1),e)}deregister(e){this.clear(e),this._sizeLimits.delete(e),this._users.delete(e.id.slice(0,-1))}get maxSize(){return this._maxSize}set maxSize(e){this._maxSize=Math.max(e,-1),this._checkSize()}getSize(e,t){const n=this._db.get(e.id+t);return n?.size??0}put(e,t,n,s,o){t=e.id+t;const l=this._db.get(t);if(l&&(this._size-=l.size,e.size-=l.size,this._db.delete(t),l.entry!==n&&this._notifyRemove(t,l.entry,l.size,0)),s>this._maxSize)return void this._notifyRemove(t,n,s,0);if(void 0===n)return void console.warn("Refusing to cache undefined entry ");if(!s||s<0)return i||console.warn(`Refusing to cache entry with size ${s} for key ${t}`),void this._notifyRemove(t,n,0,0);const a=1+Math.max(o,-4)- -3;this._db.set(t,new r(n,s,a)),this._size+=s,e.size+=s,this._checkSize()}updateSize(e,t){t=e.id+t;const n=this._db.get(t);if(!n)return;this._size-=n.size,e.size-=n.size;let i=n.entry.usedMemory;for(;i>this._maxSize;){const e=this._notifyRemove(t,n.entry,i,1);if(!(null!=e&&e>0))return void this._db.delete(t);i=e}n.size=i,this._size+=i,e.size+=i,this._checkSize()}pop(e,t){t=e.id+t;const n=this._db.get(t);if(n)return this._size-=n.size,e.size-=n.size,this._db.delete(t),++this._hit,n.entry;++this._miss}get(e,t){t=e.id+t;const n=this._db.get(t);if(void 0!==n)return this._db.delete(t),n.lives=n.lifetime,this._db.set(t,n),++this._hit,n.entry;++this._miss}peek(e,t){const n=this._db.get(e.id+t);return n?++this._hit:++this._miss,n?.entry}get performanceInfo(){const e={Size:Math.round(this._size/1048576)+"/"+Math.round(this._maxSize/1048576)+"MB","Hit rate":Math.round(100*this._getHitRate())+"%",Entries:this._db.size.toString()},t={},n=new Array;this._db.forEach((e,i)=>{const s=e.lifetime;n[s]=(n[s]||0)+e.size,this._users.forEach(n=>{const{id:s,name:r}=n;if(i.startsWith(s)){const n=t[r]||0;t[r]=n+e.size}})});const i={};this._users.forEach(e=>{const n=e.name;if("hitRate"in e&&"number"==typeof e.hitRate&&!isNaN(e.hitRate)&&e.hitRate>0){const s=t[n]||0;t[n]=s,i[n]=Math.round(100*e.hitRate)+"%"}else i[n]="0%"});const s=Object.keys(t);s.sort((e,n)=>t[n]-t[e]),s.forEach(n=>e[n]=Math.round(t[n]/2**20)+"MB / "+i[n]);for(let t=n.length-1;t>=0;--t){const i=n[t];i&&(e["Priority "+(t+-3-1)]=Math.round(i/this._size*100)+"%")}return e}resetStats(){this._hit=this._miss=0,this._users.forEach(e=>e.resetHitRate())}clear(e){const t=e.id;this._db.forEach((e,n)=>{n.startsWith(t)&&(this._size-=e.size,this._db.delete(n),this._notifyRemove(n,e.entry,e.size,0))}),e.size=0}clearAll(){this._db.forEach((e,t)=>this._notifyRemove(t,e.entry,e.size,0)),this._users.forEach(e=>e.size=0),this._size=0,this._db.clear()}*values(e){for(const[t,n]of this._db)t.startsWith(e.id)&&(yield n.entry)}_getHitRate(){return this._hit/(this._hit+this._miss)}_notifyRemove(e,t,n,i){const s=this._users.get(e.split(o)[0])?.removeFunc,r=s?.(t,i,n);return"number"==typeof r?r:null}_checkSize(){this._sizeLimits.forEach((e,t)=>this._checkSizeLimits(e,t)),this._checkSizeLimits(this.maxSize)}setMaxSize(e,t){null==t||t<=0?this._sizeLimits.delete(e):this._sizeLimits.set(e,t)}_checkSizeLimits(e,t){const n=t??this;if(n.size<=e)return;const i=t?.id;let s=!0;for(;s;){s=!1;for(const[r,l]of this._db)if(0===l.lifetime&&(!i||r.startsWith(i))){const i=t??this._users.get(r.split(o)[0]);if(this._purgeItem(r,l,i),n.size<=.9*e)return;s||=this._db.has(r)}}for(const[s,r]of this._db)if(!i||s.startsWith(i)){const i=t??this._users.get(s.split(o)[0]);if(this._purgeItem(s,r,i),n.size<=.9*e)return}}_purgeItem(e,t,n){if(this._db.delete(e),t.lives<=1){this._size-=t.size,n&&(n.size-=t.size);const i=this._notifyRemove(e,t.entry,t.size,1);null!=i&&i>0&&(this._size+=i,n&&(n.size+=i),t.lives=t.lifetime,t.size=i,this._db.set(e,t))}else--t.lives,this._db.set(e,t)}}new s(0);class r{constructor(e,t,n){this.entry=e,this.size=t,this.lifetime=n,this.lives=n}}const o=":";class l{constructor(e,t){this.removeFunc=t,this._storage=new s,this.id="",this.name="",this.size=0,this._storage.maxSize=e,this._storage.register(this)}destroy(){this._storage.deregister(this),this._storage.destroy(),this._storage=null}put(e,t,n=1){this._storage.put(this,e,t,n,1)}pop(e){return this._storage.pop(this,e)}get(e){return this._storage.get(this,e)}clear(){this._storage.clearAll()}get maxSize(){return this._storage.maxSize}set maxSize(e){this._storage.maxSize=e}resetHitRate(){}}},67482:(e,t,n)=>{function i(e){return null!=l(e)||null!=o(e)}function s(e){return a.test(e)}function r(e){return l(e)??o(e)}function o(e){const t=new Date(e);return function(e,t){if(Number.isNaN(e.getTime()))return!1;let n=!0;if(c&&/\d+\W*$/.test(t)){const e=t.match(/[a-zA-Z]{2,}/);if(e){let t=!1,i=0;for(;!t&&i<=e.length;)t=!u.test(e[i]),i++;n=!t}}return n}(t,e)?Number.isNaN(t.getTime())?null:t.getTime()-6e4*t.getTimezoneOffset():null}function l(e){const t=a.exec(e);if(!t?.groups)return null;const n=t.groups,i=+n.year,s=+n.month-1,r=+n.day,o=+(n.hours??"0"),l=+(n.minutes??"0"),u=+(n.seconds??"0");if(o>23)return null;if(l>59)return null;if(u>59)return null;const c=n.ms??"0",h=c?+c.padEnd(3,"0").slice(0,3):0;let d;if(n.isUTC||!n.offsetSign)d=Date.UTC(i,s,r,o,l,u,h);else{const e=+n.offsetHours,t=+n.offsetMinutes;d=6e4*("+"===n.offsetSign?-1:1)*(60*e+t)+Date.UTC(i,s,r,o,l,u,h)}return Number.isNaN(d)?null:d}n.d(t,{Br:()=>s,Cq:()=>i,_U:()=>r});const a=/^(?:(?<year>-?\d{4,})-(?<month>\d{2})-(?<day>\d{2}))(?:T(?<hours>\d{2}):(?<minutes>\d{2}):(?<seconds>\d{2})(?:\.(?<ms>\d+))?)?(?:(?<isUTC>Z)|(?:(?<offsetSign>\+|-)(?<offsetHours>\d{2}):(?<offsetMinutes>\d{2})))?$/,u=/^((jan(uary)?)|(feb(ruary)?)|(mar(ch)?)|(apr(il)?)|(may)|(jun(e)?)|(jul(y)?)|(aug(ust)?)|(sep(tember)?)|(oct(ober)?)|(nov(ember)?)|(dec(ember)?)|(am)|(pm)|(gmt)|(utc))$/i,c=!Number.isNaN(new Date("technology 10").getTime())},69540:(e,t,n)=>{n.d(t,{OU:()=>c,Pw:()=>h});var i=n(31635),s=n(65008),r=(n(44208),n(4718)),o=(n(53966),n(97768)),l=n(88620),a=n(40608);const u=Symbol("ClonableMixin"),c=e=>{var t;const n=e;let s=class extends n{constructor(){super(...arguments),this[t]=!0}static{t=u}clone(e){const t=(0,l.oY)(this);(0,o.Lw)(t,"unable to clone instance of non-accessor class");const n=t.metadata,i=t.store,s={},a=new Map;for(const t in n){const o=n[t],l=i?.originOf(t),u=o.clonable;if(o.readOnly||!1===u||7!==l&&0!==l&&5!==l&&4!==l)continue;const c=this[t];let h=null;if("function"==typeof u)h=u(c,e);else if("reference"===u)h=c;else if(h=(0,r.TU)(c,e),null!=c&&null==h)continue;0===l?a.set(t,h):s[t]=h}const u=new(0,Object.getPrototypeOf(this).constructor)(s);if(a.size){const e=(0,l.oY)(u)?.store;if(e)for(const[t,n]of a)e.set(t,n,0)}return u}};return s=(0,i.Cg)([(0,a.$)("esri.core.Clonable")],s),s},h=c(s.A)},75503:(e,t,n)=>{n.d(t,{EC:()=>v,wq:()=>l});var i=n(4576),s=n(21818),r=(n(44208),n(15142)),o=n(11006);class l{constructor(e=9,t){this._compareMinX=d,this._compareMinY=f,this._toBBox=e=>e,this._maxEntries=Math.max(4,e||9),this._minEntries=Math.max(2,Math.ceil(.4*this._maxEntries)),t&&("function"==typeof t?this._toBBox=t:this._initFormat(t)),this.clear()}destroy(){this.clear(),I.prune(),b.prune(),S.prune(),M.prune()}all(e){a(this._data,e)}search(e,t){let n=this._data;const i=this._toBBox;if(x(e,n))for(I.clear();n;){for(let s=0,r=n.children.length;s<r;s++){const r=n.children[s],o=n.leaf?i(r):r;x(e,o)&&(n.leaf?t(r):_(e,o)?a(r,t):I.push(r))}n=I.pop()}}collides(e){let t=this._data;const n=this._toBBox;if(!x(e,t))return!1;for(I.clear();t;){for(let i=0,s=t.children.length;i<s;i++){const s=t.children[i],r=t.leaf?n(s):s;if(x(e,r)){if(t.leaf||_(e,r))return!0;I.push(s)}}t=I.pop()}return!1}load(e){if(!e.length)return this;if(e.length<this._minEntries){for(let t=0,n=e.length;t<n;t++)this.insert(e[t]);return this}let t=this._build(e.slice(),0,e.length-1,0);if(this._data.children.length)if(this._data.height===t.height)this._splitRoot(this._data,t);else{if(this._data.height<t.height){const e=this._data;this._data=t,t=e}this._insert(t,this._data.height-t.height-1,!0)}else this._data=t;return this}insert(e){return e&&this._insert(e,this._data.height-1),this}clear(){return this._data=new F([]),this}remove(e){if(!e)return this;let t,n=this._data,r=null,o=0,l=!1;const a=this._toBBox(e);for(S.clear(),M.clear();n||S.length>0;){if(n||(n=S.pop(),r=S.data[S.length-1],o=M.pop()??0,l=!0),n.leaf&&(t=(0,i.qh)(n.children,(0,s.zI)(e),n.children.length,n.indexHint),-1!==t))return n.children.splice(t,1),S.push(n),this._condense(S),this;l||n.leaf||!_(n,a)?r?(o++,n=r.children[o],l=!1):n=null:(S.push(n),M.push(o),o=0,r=n,n=n.children[0])}return this}toJSON(){return this._data}fromJSON(e){return this._data=e,this}_build(e,t,n,i){const s=n-t+1;let r=this._maxEntries;if(s<=r){const i=new F(e.slice(t,n+1));return u(i,this._toBBox),i}i||(i=Math.ceil(Math.log(s)/Math.log(r)),r=Math.ceil(s/r**(i-1)));const o=new B([]);o.height=i;const l=Math.ceil(s/r),a=l*Math.ceil(Math.sqrt(r));w(e,t,n,a,this._compareMinX);for(let s=t;s<=n;s+=a){const t=Math.min(s+a-1,n);w(e,s,t,l,this._compareMinY);for(let n=s;n<=t;n+=l){const s=Math.min(n+l-1,t);o.children.push(this._build(e,n,s,i-1))}}return u(o,this._toBBox),o}_insert(e,t,n){const i=this._toBBox,s=n?e:i(e);S.clear();const r=function(e,t,n,i){for(;i.push(t),!0!==t.leaf&&i.length-1!==n;){let n,i=1/0,s=1/0;for(let r=0,o=t.children.length;r<o;r++){const o=t.children[r],l=p(o),a=g(e,o)-l;a<s?(s=a,i=l<i?l:i,n=o):a===s&&l<i&&(i=l,n=o)}t=n||t.children[0]}return t}(s,this._data,t,S);for(r.children.push(e),h(r,s);t>=0&&S.data[t].children.length>this._maxEntries;)this._split(S,t),t--;!function(e,t,n){for(let i=n;i>=0;i--)h(t.data[i],e)}(s,S,t)}_split(e,t){const n=e.data[t],i=n.children.length,s=this._minEntries;this._chooseSplitAxis(n,s,i);const r=this._chooseSplitIndex(n,s,i);if(!r)return;const o=n.children.splice(r,n.children.length-r),l=n.leaf?new F(o):new B(o);l.height=n.height,u(n,this._toBBox),u(l,this._toBBox),t?e.data[t-1].children.push(l):this._splitRoot(n,l)}_splitRoot(e,t){this._data=new B([e,t]),this._data.height=e.height+1,u(this._data,this._toBBox)}_chooseSplitIndex(e,t,n){let i,s,r;i=s=1/0;for(let o=t;o<=n-t;o++){const t=c(e,0,o,this._toBBox),l=c(e,o,n,this._toBBox),a=y(t,l),u=p(t)+p(l);a<i?(i=a,r=o,s=u<s?u:s):a===i&&u<s&&(s=u,r=o)}return r}_chooseSplitAxis(e,t,n){const i=e.leaf?this._compareMinX:d,s=e.leaf?this._compareMinY:f;this._allDistMargin(e,t,n,i)<this._allDistMargin(e,t,n,s)&&e.children.sort(i)}_allDistMargin(e,t,n,i){e.children.sort(i);const s=this._toBBox,r=c(e,0,t,s),o=c(e,n-t,n,s);let l=m(r)+m(o);for(let i=t;i<n-t;i++){const t=e.children[i];h(r,e.leaf?s(t):t),l+=m(r)}for(let i=n-t-1;i>=t;i--){const t=e.children[i];h(o,e.leaf?s(t):t),l+=m(o)}return l}_condense(e){for(let t=e.length-1;t>=0;t--){const n=e.data[t];if(0===n.children.length)if(t>0){const s=e.data[t-1],r=s.children;r.splice((0,i.qh)(r,n,r.length,s.indexHint),1)}else this.clear();else u(n,this._toBBox)}}_initFormat(e){const t=["return a"," - b",";"];this._compareMinX=new Function("a","b",t.join(e[0])),this._compareMinY=new Function("a","b",t.join(e[1])),this._toBBox=new Function("a","return {minX: a"+e[0]+", minY: a"+e[1]+", maxX: a"+e[2]+", maxY: a"+e[3]+"};")}}function a(e,t){let n=e;for(b.clear();n;){if(!0===n.leaf)for(const e of n.children)t((0,s.zI)(e));else b.pushArray(n.children);n=b.pop()??null}}function u(e,t){c(e,0,e.children.length,t,e)}function c(e,t,n,i,s){s||(s=new F([])),s.minX=1/0,s.minY=1/0,s.maxX=-1/0,s.maxY=-1/0;for(let r,o=t;o<n;o++)r=e.children[o],h(s,e.leaf?i(r):r);return s}function h(e,t){e.minX=Math.min(e.minX,t.minX),e.minY=Math.min(e.minY,t.minY),e.maxX=Math.max(e.maxX,t.maxX),e.maxY=Math.max(e.maxY,t.maxY)}function d(e,t){return e.minX-t.minX}function f(e,t){return e.minY-t.minY}function p(e){return(e.maxX-e.minX)*(e.maxY-e.minY)}function m(e){return e.maxX-e.minX+(e.maxY-e.minY)}function g(e,t){return(Math.max(t.maxX,e.maxX)-Math.min(t.minX,e.minX))*(Math.max(t.maxY,e.maxY)-Math.min(t.minY,e.minY))}function y(e,t){const n=Math.max(e.minX,t.minX),i=Math.max(e.minY,t.minY),s=Math.min(e.maxX,t.maxX),r=Math.min(e.maxY,t.maxY);return Math.max(0,s-n)*Math.max(0,r-i)}function _(e,t){return e.minX<=t.minX&&e.minY<=t.minY&&t.maxX<=e.maxX&&t.maxY<=e.maxY}function x(e,t){return t.minX<=e.maxX&&t.minY<=e.maxY&&t.maxX>=e.minX&&t.maxY>=e.minY}function w(e,t,n,i,s){const r=[t,n];for(;r.length;){const t=r.pop(),n=r.pop();if(t-n<=i)continue;const l=n+Math.ceil((t-n)/i/2)*i;(0,o.q)(e,l,n,t,s),r.push(n,l,l,t)}}const I=new r.A,b=new r.A,S=new r.A,M=new r.A({deallocator:void 0});class v{constructor(){this.minX=1/0,this.minY=1/0,this.maxX=-1/0,this.maxY=-1/0}}class z extends v{constructor(){super(...arguments),this.height=1,this.indexHint=new i.vW}}class F extends z{constructor(e){super(),this.children=e,this.leaf=!0}}class B extends z{constructor(e){super(),this.children=e,this.leaf=!1}}},83221:(e,t,n)=>{n.d(t,{A:()=>p});var i=n(4576),s=n(49186),r=n(65529),o=n(53966),l=n(70328),a=n(19419),u=n(90708),c=n(6518),h=n(51441),d=n(37730);const f=(0,l.vt)();class p{constructor(e){this.geometryInfo=e,this._boundsStore=new c.F,this._featuresById=new Map,this._usedMemory=0,this.events=new r.bk,this.featureAdapter=d.T}get usedMemory(){return this._usedMemory}get geometryType(){return this.geometryInfo.geometryType}get hasM(){return this.geometryInfo.hasM}get hasZ(){return this.geometryInfo.hasZ}get numFeatures(){return this._featuresById.size}get fullBounds(){return this._boundsStore.fullBounds}get storeStatistics(){let e=0;return this._featuresById.forEach(t=>{null!=t.geometry&&t.geometry.coords&&(e+=t.geometry.coords.length)}),{featureCount:this._featuresById.size,vertexCount:e/(this.hasZ?this.hasM?4:3:this.hasM?3:2)}}getFullExtent(e){if(null==this.fullBounds)return null;const[t,n,i,s]=this.fullBounds;return{xmin:t,ymin:n,xmax:i,ymax:s,spatialReference:(0,h.ag)(e)}}add(e){this._add(e),this._emitChanged()}addMany(e){for(const t of e)this._add(t);this._emitChanged()}upsertMany(e){const t=e.map(e=>this._upsert(e));return this._emitChanged(),t.filter(i.Ru)}clear(){this._featuresById.clear(),this._boundsStore.clear(),this._emitChanged(),this._usedMemory=0}removeById(e){const t=this._featuresById.get(e);return t?(this._remove(t),this._emitChanged(),t):null}removeManyById(e){this._boundsStore.invalidateIndex();for(const t of e){const e=this._featuresById.get(t);e&&this._remove(e)}this._emitChanged()}forEachBounds(e,t){for(const n of e){const e=this._boundsStore.get(n.objectId);e&&t((0,l.Jt)(f,e))}}getFeature(e){return this._featuresById.get(e)}has(e){return this._featuresById.has(e)}forEach(e){this._featuresById.forEach(t=>e(t))}forEachInBounds(e,t){this._boundsStore.forEachInBounds(e,e=>{t(this._featuresById.get(e))})}_emitChanged(){this.events.emit("changed",void 0)}_add(e){if(!e)return;const t=e.objectId;if(null==t)return void o.A.getLogger("esri.layers.graphics.data.FeatureStore").error(new s.A("featurestore:invalid-feature","feature id is missing",{feature:e}));const n=this._featuresById.get(t);let i;if(n?(e.displayId=n.displayId,i=this._boundsStore.get(t),this._boundsStore.delete(t),this._usedMemory-=this.estimateFeatureUsedMemory?.(n)??0):null!=this.onFeatureAdd&&this.onFeatureAdd(e),!e.geometry?.coords?.length)return this._boundsStore.set(t,null),void this._featuresById.set(t,e);i=(0,u.jQ)(null!=i?i:(0,a.vt)(),e.geometry,this.geometryInfo.hasZ,this.geometryInfo.hasM),null!=i&&this._boundsStore.set(t,i),this._featuresById.set(t,e),this._usedMemory+=this.estimateFeatureUsedMemory?.(e)??0}_upsert(e){const t=e?.objectId;if(null==t)return o.A.getLogger("esri.layers.graphics.data.FeatureStore").error(new s.A("featurestore:invalid-feature","feature id is missing",{feature:e})),null;const n=this._featuresById.get(t);if(!n)return this._add(e),e;this._usedMemory-=this.estimateFeatureUsedMemory?.(n)??0;const{geometry:i,attributes:r}=e;for(const e in r)n.attributes[e]=r[e];return i&&(n.geometry=i,this._boundsStore.set(t,(0,u.jQ)((0,a.vt)(),i,this.geometryInfo.hasZ,this.geometryInfo.hasM)??null)),this._usedMemory+=this.estimateFeatureUsedMemory?.(n)??0,n}_remove(e){null!=this.onFeatureRemove&&this.onFeatureRemove(e);const t=e.objectId;return this._boundsStore.delete(t),this._featuresById.delete(t),this._usedMemory-=this.estimateFeatureUsedMemory?.(e)??0,e}}},93470:(e,t,n)=>{n.d(t,{Cb:()=>r,HW:()=>c,JR:()=>s,JZ:()=>a,WR:()=>l,b6:()=>h,fT:()=>i,nC:()=>u,yM:()=>o});const i=[252,146,31,255],s=[153,153,153,255],r={type:"esriSMS",style:"esriSMSCircle",size:6,color:i,outline:{type:"esriSLS",style:"esriSLSSolid",width:.75,color:[153,153,153,255]}},o={type:"esriSLS",style:"esriSLSSolid",width:.75,color:i},l={type:"esriSFS",style:"esriSFSSolid",color:[252,146,31,196],outline:{type:"esriSLS",style:"esriSLSSolid",width:.75,color:[255,255,255,191]}},a={type:"esriTS",color:[255,255,255,255],font:{family:"arial-unicode-ms",size:10,weight:"bold"},horizontalAlignment:"center",kerning:!0,haloColor:[0,0,0,255],haloSize:1,rotated:!1,text:"",xoffset:0,yoffset:0,angle:0},u={type:"esriSMS",style:"esriSMSCircle",color:[0,0,0,255],outline:null,size:10.5},c={type:"esriSLS",style:"esriSLSSolid",color:[0,0,0,255],width:1.5},h={type:"esriSFS",style:"esriSFSSolid",color:[0,0,0,255],outline:null}},98453:(e,t,n)=>{n.d(t,{m:()=>i});const i=new(n(66552).J)({esriFieldTypeSmallInteger:"small-integer",esriFieldTypeInteger:"integer",esriFieldTypeSingle:"single",esriFieldTypeDouble:"double",esriFieldTypeLong:"long",esriFieldTypeString:"string",esriFieldTypeDate:"date",esriFieldTypeOID:"oid",esriFieldTypeGeometry:"geometry",esriFieldTypeBlob:"blob",esriFieldTypeRaster:"raster",esriFieldTypeGUID:"guid",esriFieldTypeGlobalID:"global-id",esriFieldTypeXML:"xml",esriFieldTypeBigInteger:"big-integer",esriFieldTypeDateOnly:"date-only",esriFieldTypeTimeOnly:"time-only",esriFieldTypeTimestampOffset:"timestamp-offset"})},98988:(e,t,n)=>{n.r(t),n.d(t,{canProjectWithoutEngine:()=>U,getTransformation:()=>L,getTransformations:()=>Y,initializeProjection:()=>W,isEqualBaseGCS:()=>H,isLoaded:()=>R,isLoadedOrLoad:()=>N,isLoadedOrLoadFor:()=>E,load:()=>C,project:()=>j,projectExtent:()=>re,projectMany:()=>O,projectMultipoint:()=>K,projectOrLoad:()=>P,projectOrLoadMany:()=>q,projectPoint:()=>V,projectPolygon:()=>ie,projectPolyline:()=>te,projectWithZConversion:()=>Z,projectWithoutEngine:()=>J,requiresLoad:()=>k,test:()=>D,tryProjectWithZConversion:()=>$,unload:()=>G});var i=n(49186),s=n(74887),r=n(62788),o=n(95488),l=n(51850),a=n(21276),u=n(73941),c=n(5443),h=n(48526),d=n(83290),f=n(86738),p=n(39829),m=n(82799),g=n(16930),y=n(9762),_=n(37539);function x(e,t,n,i,s,r){return w[0]=e,w[1]=t,w[2]=n,(0,y.projectBuffer)(w,i,0,s,r,0)}const w=(0,l.vt)();let I=0;class b{static fromGE(e){const t=new b;return t._wkt=e.wkt,t._wkid=e.wkid,t._isInverse=e.isInverse,t}constructor(e){this.uid=I++,e?(this._wkt=null!=e.wkt?e.wkt:null,this._wkid=null!=e.wkid?e.wkid:-1,this._isInverse=null!=e.isInverse&&!0===e.isInverse):(this._wkt=null,this._wkid=-1,this._isInverse=!1)}get wkt(){return this._wkt}set wkt(e){this._wkt=e,this.uid=I++}get wkid(){return this._wkid}set wkid(e){this._wkid=e,this.uid=I++}get isInverse(){return this._isInverse}set isInverse(e){this._isInverse=e,this.uid=I++}getInverse(){const e=new b;return e._wkt=this.wkt,e._wkid=this._wkid,e._isInverse=!this.isInverse,e}}class S{static cacheKey(e,t){return[e.wkid?.toString()??"-1",e.wkt?.toString()??"",e.wkt2?.toString()??"",t.wkid?.toString()??"-1",t.wkt?.toString()??"",t.wkt2?.toString()??""].join()}static fromGE(e){const t=new S;let n="";for(const i of e.steps){const e=b.fromGE(i);t.steps.push(e),n+=e.uid.toString()+","}return t._cachedProjection={},t._gtlistentry=null,t._chain=n,t}constructor(e){if(this.steps=[],this._cachedProjection={},this._chain="",this._gtlistentry=null,e?.steps)for(const t of e.steps)t instanceof b?this.steps.push(t):this.steps.push(new b({wkid:t.wkid,wkt:t.wkt,isInverse:t.isInverse}))}getInverse(){const e=new S;e.steps=[];for(let t=this.steps.length-1;t>=0;t--){const n=this.steps[t];e.steps.push(n.getInverse())}return e}getGTListEntry(){let e="";for(const t of this.steps)e+=t.uid.toString()+",";return e!==this._chain&&(this._gtlistentry=null,this._cachedProjection={},this._chain=e),this._gtlistentry}assignCachedGe(e,t,n){this._cachedProjection[S.cacheKey(e,t)]=n}getCachedGeTransformation(e,t){let n="";for(const e of this.steps)n+=e.uid.toString()+",";n!==this._chain&&(this._gtlistentry=null,this._cachedProjection={},this._chain=n);const i=this._cachedProjection[S.cacheKey(e,t)];return void 0===i?null:i}}var M=n(21325),v=n(62815);let z=null,F=null,B=null,T={};const A=new o.I;function R(){return!!z&&(0,d.i)()}function N(){return!!R()||((0,r.gc)(A),C(),!1)}function E(e,t){return!e||!t||U(e,t)||N()}function k(e,t){return!U(e,t)&&!R()}function C(e){return null==B&&(B=Promise.all([(0,d.l)(),n.e(9930).then(n.bind(n,49930)).then(e=>e.g),n.e(2731).then(n.bind(n,12731))])),B.then(([,t,{hydratedAdapter:n}])=>{(0,s.Te)(e),F=n,z=t.default,z._enableProjection(d.p),A.notify()})}function j(e,t,n=null,i=null){return Array.isArray(e)?0===e.length?[]:((0,a.H)(e),O(F,e,e[0].spatialReference,t,n,i)):((0,a.f)(e),O(F,[e],e.spatialReference,t,n,i)[0])}function O(e,t,n,i,s=null,r=null){if(null==n||null==i)return t;if(U(n,i,s))return t.map(e=>J(e,n,i));if(null==s&&(0,u.jA)(n))return t.map(e=>J(e,n,g.A.WGS84)).map(e=>$(e,i));if(null==s&&(0,u.jA)(i))return t.map(e=>$(e,g.A.WGS84)).map(e=>J(e,g.A.WGS84,i));if(null==s){const e=S.cacheKey(n,i);void 0!==T[e]?s=T[e]:(null==(s=L(n,i,void 0))&&(s=new S),T[e]=s)}if(null==z||null==e)throw new X;return null!=r?z._project(e,t,n,i,s,r):z._project(e,t,n,i,s)}function P(e,t){const n=q([e],t);return null!=n.pending?{pending:n.pending,geometry:null}:null!=n.geometries?{pending:null,geometry:n.geometries[0]}:{pending:null,geometry:null}}function q(e,t){if(!R())for(const n of e)if(null!=n&&!(0,M.aI)(n.spatialReference,t)&&(0,M.fn)(n.spatialReference)&&(0,M.fn)(t)&&!U(n.spatialReference,t))return(0,r.gc)(A),{pending:C(),geometries:null};return{pending:null,geometries:e.map(e=>null==e?null:(0,M.aI)(e.spatialReference,t)?e:(0,M.fn)(e.spatialReference)&&(0,M.fn)(t)?$(e,t):null)}}function L(e,t,n=null){if(null==e||null==t)return null;if(null==z||null==F)throw new X;const i=z._getTransformation(F,e,t,n,n?.spatialReference);return null!==i?S.fromGE(i):null}function Y(e,t,n=null){if(null==z||null==F)throw new X;const i=z._getTransformationBySuitability(F,e,t,n,n?.spatialReference);if(null!==i){const e=[];for(const t of i)e.push(S.fromGE(t));return e}return[]}class X extends i.A{constructor(){super("projection:not-loaded","projection engine not fully loaded yet, please call load()")}}function G(){z=null,F=null,B=null,T={}}const D={get loadPromise(){return B}};function $(e,t){try{const n=j(e,t);if(null==n)return null;"xmin"in e&&"xmin"in n&&(n.zmin=e.zmin,n.zmax=e.zmax);const i=(0,v.N)(n.type,e.spatialReference,t);return null!=i&&i(n),n}catch(e){if(!(e instanceof X))throw e;return null}}async function Z(e,t,n){const i=e.spatialReference;return null!=i&&null!=t&&await W(i,t,null,n),$(e,t)}function U(e,t,n){return!n&&(!!(0,M.aI)(e,t)||(0,M.fn)(e)&&(0,M.fn)(t)&&!!(0,_.jd)(e,t))}function H(e,t){if((0,M.aI)(e,t))return!0;if(!(0,M.fn)(e)||!(0,M.fn)(t))return!1;const n=(0,M.oT)(e)||(0,M.K8)(e)||(0,M.x1)(e),i=(0,M.oT)(t)||(0,M.K8)(t)||(0,M.x1)(t);return n&&i}async function W(e,t,n,i){if(R())return(0,s.NO)(i);if(Array.isArray(e)){for(const{source:t,dest:n,geographicTransformation:s}of e)if(t&&n&&!U(t,n,s))return C(i)}else if(e&&t&&!U(e,t,n))return C(i);return(0,s.NO)(i)}function J(e,t,n){return e?"x"in e?Q(e,t,new f.A,n,0):"xmin"in e?oe(e,t,new c.A,n,0):"rings"in e?se(e,t,new p.A,n,0):"paths"in e?ne(e,t,new m.A,n,0):"points"in e?ee(e,t,new h.A,n,0):null:null}function V(e,t,n=t.spatialReference,i=0){return null!=n&&null!=e.spatialReference&&null!=Q(e,e.spatialReference,t,n,i)}function Q(e,t,n,i,s){ae[0]=e.x,ae[1]=e.y;const r=e.z;return ae[2]=void 0!==r?r:s,(0,y.projectBuffer)(ae,t,0,ae,i,0)?(n.x=ae[0],n.y=ae[1],n.spatialReference=i,void 0!==r||(0,u.xP)(i)?(n.z=ae[2],n.hasZ=!0):(n.z=void 0,n.hasZ=!1),void 0===e.m?(n.m=void 0,n.hasM=!1):(n.m=e.m,n.hasM=!0),n):null}function K(e,t,n=t.spatialReference,i=0){return null!=e.spatialReference&&null!=n&&null!=ee(e,e.spatialReference,t,n,i)}function ee(e,t,n,i,s){const{points:r,hasZ:o,hasM:l}=e,a=[],c=r.length,h=[];for(const e of r)h.push(e[0],e[1],o?e[2]:s);if(!(0,y.projectBuffer)(h,t,0,h,i,0,c))return null;const d=o||(0,u.xP)(i);for(let e=0;e<c;++e){const t=3*e,n=h[t],i=h[t+1];d&&l?a.push([n,i,h[t+2],r[e][3]]):d?a.push([n,i,h[t+2]]):l?a.push([n,i,r[e][2]]):a.push([n,i])}return n.points=a,n.spatialReference=i,n.hasZ=o,n.hasM=l,n}function te(e,t,n=t.spatialReference,i=0){return null!=e.spatialReference&&null!=n&&null!=ne(e,e.spatialReference,t,n,i)}function ne(e,t,n,i,s){const{paths:r,hasZ:o,hasM:l}=e,a=[];if(!le(r,o??!1,l??!1,t,a,i,s))return null;const c=o||(0,u.xP)(i);return n.paths=a,n.spatialReference=i,n.hasZ=c,n.hasM=l,n}function ie(e,t,n=t.spatialReference,i=0){return null!=e.spatialReference&&null!=n&&null!=se(e,e.spatialReference,t,n,i)}function se(e,t,n,i,s){const{rings:r,hasZ:o,hasM:l}=e,a=[];if(!le(r,o??!1,l??!1,t,a,i,s))return null;const c=o||(0,u.xP)(i);return n.rings=a,n.spatialReference=i,n.hasZ=c,n.hasM=l,n}function re(e,t,n=t.spatialReference,i=0){return null!=e.spatialReference&&null!=n&&null!=oe(e,e.spatialReference,t,n,i)}function oe(e,t,n,i,s){const{xmin:r,ymin:o,xmax:l,ymax:a,hasZ:c,hasM:h}=e;if(!x(r,o,c?e.zmin:s,t,ae,i))return null;const d=c||(0,u.xP)(i);return n.xmin=ae[0],n.ymin=ae[1],d&&(n.zmin=ae[2]),x(l,a,c?e.zmax:s,t,ae,i)?(n.xmax=ae[0],n.ymax=ae[1],d&&(n.zmax=ae[2]),h&&(n.mmin=e.mmin,n.mmax=e.mmax),n.spatialReference=i,n):null}function le(e,t,n,i,s,r,o=0){const l=new Array;for(const n of e)for(const e of n)l.push(e[0],e[1],t?e[2]:o);if(!(0,y.projectBuffer)(l,i,0,l,r,0))return!1;let a=0;s.length=0;const c=t||(0,u.xP)(r);for(const t of e){const e=new Array;for(const i of t)c&&n?e.push([l[a++],l[a++],l[a++],i[3]]):c?e.push([l[a++],l[a++],l[a++]]):n?(e.push([l[a++],l[a++],i[2]]),a++):(e.push([l[a++],l[a++]]),a++);s.push(e)}return!0}const ae=(0,l.vt)()}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[5111],{28076:(e,t,i)=>{i.d(t,{D:()=>r});const r={CIMVectorMarker:{scalesymbolsproportionally:!1,respectframe:!0,anchorpointunits:"Relative",offsetx:0,offsety:0,rotateclockwise:!1,rotation:0,size:10,enable:!0,colorlocked:!1},CIMPictureMarker:{scalex:1,texturefilter:"Draft",anchorpointunits:"Relative",offsetx:0,offsety:0,rotateclockwise:!1,rotation:0,size:10,enable:!0,colorlocked:!1},CIMTextSymbol:{angle:0,anglex:0,angley:0,halosize:1,height:10,horizontalalignment:"Left",kerning:!0,letterspacing:0,letterwidth:100,ligatures:!0,linegap:0,offsetx:0,offsety:0,strikethrough:!1,textcase:"Normal",textstring:"",underline:!1,verticalalignment:"Bottom",enable:!0,colorlocked:!1},CIMSolidStroke:{capstyle:"Round",joinstyle:"Round",miterlimit:4,width:4,enable:!0,colorlocked:!1},CIMPictureStroke:{texturefilter:"Draft",capstyle:"Round",joinstyle:"Round",miterlimit:4,width:4,enable:!0,colorlocked:!1},CIMGradientStroke:{capstyle:"Round",joinstyle:"Round",miterlimit:4,width:4,enable:!0,colorlocked:!1,gradientMethod:"AcrossLine",gradientSize:75,gradientSizeUnits:0,gradientType:"Discrete",interval:5},CIMSolidFill:{enable:!0,colorlocked:!1},CIMPictureFill:{offsetx:0,offsety:0,rotation:0,scalex:1,height:10,texturefilter:"Draft",enable:!0,colorlocked:!1},CIMHatchFill:{offsetx:0,offsety:0,rotation:0,separation:4,enable:!0,colorlocked:!1},CIMGradientFill:{enable:!0,angle:90,gradientMethod:"Linear",gradientSize:75,gradientSizeUnits:0,gradientType:"Discrete",interval:5},CIMGeometricEffectAddControlPoints:{angletolerance:120},CIMGeometricEffectArrow:{arrowtype:"OpenEnded",width:5},CIMGeometricEffectBuffer:{size:1},CIMGeometricEffectCut:{begincut:1,endcut:1,middlecut:0,invert:!1},CIMGeometricEffectDashes:{customendingoffset:0,linedashending:"NoConstraint",offsetalongline:0},CIMGeometricEffectDonut:{method:"Mitered",option:"Accurate",width:2},CIMGeometricEffectJog:{angle:225,length:20,position:50},CIMGeometricEffectControlMeasureLine:{rule:"FullGeometry"},CIMGeometricEffectMove:{offsetx:1,offsety:-1},CIMGeometricEffectOffset:{method:"Square",offset:1,option:"Fast"},CIMGeometricEffectRadial:{angle:0,length:5},CIMGeometricEffectRotate:{angle:15},CIMGeometricEffectScale:{xscalefactor:1.15,yscalefactor:1.15},CIMGeometricEffectWave:{amplitude:2,period:3,seed:1,waveform:"Sinus"},CIMMarkerPlacementAlongLine:{customendingoffset:0,endings:"WithHalfGap",offsetalongline:0,placeperpart:!0,angletoline:!0,offset:0},CIMMarkerPlacementAtExtremities:{extremityplacement:"Both",offsetalongline:0,angletoline:!0,offset:0},CIMMarkerPlacementAtRatioPositions:{beginposition:0,endposition:0,flipfirst:!0,angletoline:!0,offset:0},CIMMarkerPlacementInsidePolygon:{gridangle:0,gridtype:"Fixed",offsetx:0,offsety:0,randomness:100,seed:0,shiftoddrows:!1,stepx:16,stepy:16,clipping:"ClipAtBoundary"},CIMMarkerPlacementOnLine:{relativeto:"LineMiddle",startpointoffset:0,angletoline:!0,offset:0},CIMMarkerPlacementOnVertices:{placeperpart:!0,placeoncontrolpoints:!0,placeonendpoints:!0,placeonregularvertices:!0,angletoline:!0,offset:0},CIMMarkerPlacementPolygonCenter:{method:"OnPolygon",offsetx:0,offsety:0,clipatboundary:!1},CIMAnimatedSymbolProperties:{playanimation:!1,reverseanimation:!1,randomizestarttime:!1,randomizestartseed:0,starttimeoffset:0,duration:3,endingduration:3,useendingduration:!1,repeattype:"Loop",repeatdelay:0,easing:"Linear"},CIMSymbolAnimationSize:{tosize:10},CIMSymbolAnimationScale:{scalefactor:1},CIMSymbolAnimationColor:{tocolor:[255,255,255,1]},CIMSymbolAnimationTransparency:{totransparency:0},CIMSymbolAnimationRotation:{torotation:0,rotateclockwise:!1},CIMSymbolAnimationOffset:{offsetx:0,offsety:0},CIMSymbolAnimationMoveAlongLine:{speed:30,distanceAlong:100}}},59868:(e,t,i)=>{i.d(t,{A7:()=>c,Cx:()=>u,Hk:()=>f,UK:()=>a}),i(44208);var r=i(94985),s=i(31593),n=i(53930),o=i(68249),l=i(93470);const a=n.A.fromJSON(l.Cb),c=s.A.fromJSON(l.yM),u=r.A.fromJSON(l.WR),f=o.A.fromJSON(l.JZ);n.A.fromJSON(l.nC),s.A.fromJSON(l.HW),r.A.fromJSON(l.b6)},66344:(e,t,i)=>{i.d(t,{q:()=>l});const r=!!(0,i(44208).A)("esri-tests-disable-gpu-memory-measurements");Symbol.iterator;class s{get size(){return this._size}constructor(e=10485760){this._maxSize=e,this._db=new Map,this._size=0,this._hit=0,this._miss=0,this._users=new Map,this._sizeLimits=new Map}destroy(){this.clearAll(),this._sizeLimits.clear(),this._users.clear(),this._db=null}register(e){this._users.set(e.id.slice(0,-1),e)}deregister(e){this.clear(e),this._sizeLimits.delete(e),this._users.delete(e.id.slice(0,-1))}get maxSize(){return this._maxSize}set maxSize(e){this._maxSize=Math.max(e,-1),this._checkSize()}getSize(e,t){const i=this._db.get(e.id+t);return i?.size??0}put(e,t,i,s,o){t=e.id+t;const l=this._db.get(t);if(l&&(this._size-=l.size,e.size-=l.size,this._db.delete(t),l.entry!==i&&this._notifyRemove(t,l.entry,l.size,0)),s>this._maxSize)return void this._notifyRemove(t,i,s,0);if(void 0===i)return void console.warn("Refusing to cache undefined entry ");if(!s||s<0)return r||console.warn(`Refusing to cache entry with size ${s} for key ${t}`),void this._notifyRemove(t,i,0,0);const a=1+Math.max(o,-4)- -3;this._db.set(t,new n(i,s,a)),this._size+=s,e.size+=s,this._checkSize()}updateSize(e,t){t=e.id+t;const i=this._db.get(t);if(!i)return;this._size-=i.size,e.size-=i.size;let r=i.entry.usedMemory;for(;r>this._maxSize;){const e=this._notifyRemove(t,i.entry,r,1);if(!(null!=e&&e>0))return void this._db.delete(t);r=e}i.size=r,this._size+=r,e.size+=r,this._checkSize()}pop(e,t){t=e.id+t;const i=this._db.get(t);if(i)return this._size-=i.size,e.size-=i.size,this._db.delete(t),++this._hit,i.entry;++this._miss}get(e,t){t=e.id+t;const i=this._db.get(t);if(void 0!==i)return this._db.delete(t),i.lives=i.lifetime,this._db.set(t,i),++this._hit,i.entry;++this._miss}peek(e,t){const i=this._db.get(e.id+t);return i?++this._hit:++this._miss,i?.entry}get performanceInfo(){const e={Size:Math.round(this._size/1048576)+"/"+Math.round(this._maxSize/1048576)+"MB","Hit rate":Math.round(100*this._getHitRate())+"%",Entries:this._db.size.toString()},t={},i=new Array;this._db.forEach((e,r)=>{const s=e.lifetime;i[s]=(i[s]||0)+e.size,this._users.forEach(i=>{const{id:s,name:n}=i;if(r.startsWith(s)){const i=t[n]||0;t[n]=i+e.size}})});const r={};this._users.forEach(e=>{const i=e.name;if("hitRate"in e&&"number"==typeof e.hitRate&&!isNaN(e.hitRate)&&e.hitRate>0){const s=t[i]||0;t[i]=s,r[i]=Math.round(100*e.hitRate)+"%"}else r[i]="0%"});const s=Object.keys(t);s.sort((e,i)=>t[i]-t[e]),s.forEach(i=>e[i]=Math.round(t[i]/2**20)+"MB / "+r[i]);for(let t=i.length-1;t>=0;--t){const r=i[t];r&&(e["Priority "+(t+-3-1)]=Math.round(r/this._size*100)+"%")}return e}resetStats(){this._hit=this._miss=0,this._users.forEach(e=>e.resetHitRate())}clear(e){const t=e.id;this._db.forEach((e,i)=>{i.startsWith(t)&&(this._size-=e.size,this._db.delete(i),this._notifyRemove(i,e.entry,e.size,0))}),e.size=0}clearAll(){this._db.forEach((e,t)=>this._notifyRemove(t,e.entry,e.size,0)),this._users.forEach(e=>e.size=0),this._size=0,this._db.clear()}*values(e){for(const[t,i]of this._db)t.startsWith(e.id)&&(yield i.entry)}_getHitRate(){return this._hit/(this._hit+this._miss)}_notifyRemove(e,t,i,r){const s=this._users.get(e.split(o)[0])?.removeFunc,n=s?.(t,r,i);return"number"==typeof n?n:null}_checkSize(){this._sizeLimits.forEach((e,t)=>this._checkSizeLimits(e,t)),this._checkSizeLimits(this.maxSize)}setMaxSize(e,t){null==t||t<=0?this._sizeLimits.delete(e):this._sizeLimits.set(e,t)}_checkSizeLimits(e,t){const i=t??this;if(i.size<=e)return;const r=t?.id;let s=!0;for(;s;){s=!1;for(const[n,l]of this._db)if(0===l.lifetime&&(!r||n.startsWith(r))){const r=t??this._users.get(n.split(o)[0]);if(this._purgeItem(n,l,r),i.size<=.9*e)return;s||=this._db.has(n)}}for(const[s,n]of this._db)if(!r||s.startsWith(r)){const r=t??this._users.get(s.split(o)[0]);if(this._purgeItem(s,n,r),i.size<=.9*e)return}}_purgeItem(e,t,i){if(this._db.delete(e),t.lives<=1){this._size-=t.size,i&&(i.size-=t.size);const r=this._notifyRemove(e,t.entry,t.size,1);null!=r&&r>0&&(this._size+=r,i&&(i.size+=r),t.lives=t.lifetime,t.size=r,this._db.set(e,t))}else--t.lives,this._db.set(e,t)}}new s(0);class n{constructor(e,t,i){this.entry=e,this.size=t,this.lifetime=i,this.lives=i}}const o=":";class l{constructor(e,t){this.removeFunc=t,this._storage=new s,this.id="",this.name="",this.size=0,this._storage.maxSize=e,this._storage.register(this)}destroy(){this._storage.deregister(this),this._storage.destroy(),this._storage=null}put(e,t,i=1){this._storage.put(this,e,t,i,1)}pop(e){return this._storage.pop(this,e)}get(e){return this._storage.get(this,e)}clear(){this._storage.clearAll()}get maxSize(){return this._storage.maxSize}set maxSize(e){this._storage.maxSize=e}resetHitRate(){}}},79677:(e,t,i)=>{i.d(t,{A:()=>h});var r,s=i(31635),n=i(25482),o=i(88930),l=i(10107),a=(i(44208),i(53966),i(87811),i(36005)),c=i(40608),u=i(43937),f=i(98623);let h=class extends n.o{static{r=this}static get allTime(){return m}static get empty(){return d}static fromArray(e){return new r({start:null!=e[0]?new Date(e[0]):e[0],end:null!=e[1]?new Date(e[1]):e[1]})}constructor(e){super(e),this.end=null,this.start=null}readEnd(e,t){return null!=t.end?new Date(t.end):null}writeEnd(e,t){t.end=e?.getTime()??null}get isAllTime(){return this.equals(r.allTime)}get isEmpty(){return this.equals(r.empty)}readStart(e,t){return null!=t.start?new Date(t.start):null}writeStart(e,t){t.start=e?.getTime()??null}clone(){return new r({end:this.end,start:this.start})}equals(e){if(!e)return!1;const t=this.start?.getTime()??this.start,i=this.end?.getTime()??this.end,r=e.start?.getTime()??e.start,s=e.end?.getTime()??e.end;return t===r&&i===s}expandTo(e,t=f.qU){if(this.isEmpty||this.isAllTime)return this.clone();let i=this.start;i&&(i=(0,o.lL)(i,e,t));let s=this.end;if(s){const i=(0,o.lL)(s,e,t);s=s.getTime()===i.getTime()?i:(0,o.S1)(i,1,e,t)}return new r({start:i,end:s})}intersection(e){if(!e)return this.clone();if(this.isEmpty||e.isEmpty)return r.empty;if(this.isAllTime)return e.clone();if(e.isAllTime)return this.clone();const t=this.start?.getTime()??-1/0,i=this.end?.getTime()??1/0,s=e.start?.getTime()??-1/0,n=e.end?.getTime()??1/0;let o,l;return s>=t&&s<=i?o=s:t>=s&&t<=n&&(o=t),i>=s&&i<=n?l=i:n>=t&&n<=i&&(l=n),null==o||null==l||isNaN(o)||isNaN(l)?r.empty:new r({start:o===-1/0?null:new Date(o),end:l===1/0?null:new Date(l)})}offset(e,t,i=f.qU){if(this.isEmpty||this.isAllTime)return this.clone();const s=new r,{start:n,end:l}=this;return null!=n&&(s.start=(0,o.S1)(n,e,t,i)),null!=l&&(s.end=(0,o.S1)(l,e,t,i)),s}toArray(){return this.isEmpty?[void 0,void 0]:[this.start?.getTime()??null,this.end?.getTime()??null]}union(e){if(!e||e.isEmpty)return this.clone();if(this.isEmpty)return e.clone();if(this.isAllTime||e.isAllTime)return m.clone();const t=null!=this.start&&null!=e.start?new Date(Math.min(this.start.getTime(),e.start.getTime())):null,i=null!=this.end&&null!=e.end?new Date(Math.max(this.end.getTime(),e.end.getTime())):null;return new r({start:t,end:i})}};(0,s.Cg)([(0,l.MZ)({type:Date,json:{write:{allowNull:!0}}})],h.prototype,"end",void 0),(0,s.Cg)([(0,a.w)("end")],h.prototype,"readEnd",null),(0,s.Cg)([(0,u.K)("end")],h.prototype,"writeEnd",null),(0,s.Cg)([(0,l.MZ)({readOnly:!0,json:{read:!1}})],h.prototype,"isAllTime",null),(0,s.Cg)([(0,l.MZ)({readOnly:!0,json:{read:!1}})],h.prototype,"isEmpty",null),(0,s.Cg)([(0,l.MZ)({type:Date,json:{write:{allowNull:!0}}})],h.prototype,"start",void 0),(0,s.Cg)([(0,a.w)("start")],h.prototype,"readStart",null),(0,s.Cg)([(0,u.K)("start")],h.prototype,"writeStart",null),h=r=(0,s.Cg)([(0,c.$)("esri.time.TimeExtent")],h);const m=new h,d=new h({start:void 0,end:void 0})},93397:(e,t,i)=>{i.d(t,{$w:()=>p,Bu:()=>w,DW:()=>_,FH:()=>v,FM:()=>a,Kn:()=>S,MM:()=>h,Nl:()=>x,O2:()=>A,UE:()=>L,YC:()=>R,YF:()=>P,_1:()=>I,_d:()=>b,_h:()=>l,bs:()=>E,e6:()=>u,gQ:()=>o,jn:()=>d,lW:()=>f,mA:()=>m,pM:()=>z,pV:()=>C,pk:()=>F,rB:()=>D,xo:()=>k,yX:()=>H,z9:()=>g,zb:()=>T,zr:()=>y});var r=i(28076);const s=" /-,\n";function n(e){let t=e.length;for(;t--;)if(!s.includes(e.charAt(t)))return!1;return!0}function o(e,t){const i=[];let r=0,s=-1;do{if(s=e.indexOf("[",r),s>=r){if(s>r){const t=e.slice(r,s);i.push([t,null,n(t)])}if(r=s+1,s=e.indexOf("]",r),s>=r){if(s>r){const n=t[e.slice(r,s)];n&&i.push([null,n,!1])}r=s+1}}}while(-1!==s);if(r<e.length){const t=e.slice(r);i.push([t,null,n(t)])}return i}function l(e,t,i){let r="",s=null;for(const i of t){const[t,n,o]=i;if(null!=t&&""!==t)o?s=t:(null!=s&&(r+=s,s=null),r+=t);else{const t=e.readAttribute(n);null!=t&&""!==t&&(null!==s&&(r+=s,s=null),r+=t)}}return c(r,i)}function a(e,t,i,r){let s="",n=null;for(const r of t){const[t,o,l]=r;if(null!=t&&""!==t)l?n=t:(null!=n&&(s+=n,n=null),s+=t);else{let t=o;null!=i&&(t=N(o,i));const r=e.attributes[t];null!=r&&""!==r&&(null!=n&&(s+=n,n=null),s+=r)}}return c(s,r)}function c(e,t){switch("string"!=typeof e&&(e=String(e)),t){case"LowerCase":return e.toLowerCase();case"Allcaps":return e.toUpperCase();default:return e}}function u(e){return e?[e[0],e[1],e[2],e[3]/255]:[0,0,0,0]}function f(e){return e.data?.symbol??null}function h(e){return"CIMVectorMarker"===e.type||"CIMPictureMarker"===e.type||"CIMBarChartMarker"===e.type||"CIMCharacterMarker"===e.type||"CIMPieChartMarker"===e.type||"CIMStackedBarChartMarker"===e.type}function m(e){return"CIMGradientStroke"===e.type||"CIMPictureStroke"===e.type||"CIMSolidStroke"===e.type}function d(e){return null!=e&&("CIMGradientFill"===e.type||"CIMHatchFill"===e.type||"CIMPictureFill"===e.type||"CIMSolidFill"===e.type||"CIMWaterFill"===e.type)}function y(e){return null!=e&&("CIMMarkerPlacementAlongLineRandomSize"===e.type||"CIMMarkerPlacementAlongLineSameSize"===e.type||"CIMMarkerPlacementAlongLineVariableSize"===e.type||"CIMMarkerPlacementAtExtremities"===e.type||"CIMMarkerPlacementAtMeasuredUnits"===e.type||"CIMMarkerPlacementAtRatioPositions"===e.type||"CIMMarkerPlacementOnLine"===e.type||"CIMMarkerPlacementOnVertices"===e.type)}const p=(e,t=0)=>null==e||isNaN(e)?t:e;class M{constructor(e){this._import=e}getImportPromise(){return null==this._promise&&(this._promise=this._import().then(e=>this.module=e)),this._promise}}function g(e){return new M(e)}function C(e){if(!e)return"normal";switch(e.toLowerCase()){case"italic":return"italic";case"oblique":return"oblique";default:return"normal"}}function S(e){if(!e)return"normal";switch(e.toLowerCase()){case"bold":return"bold";case"bolder":return"bolder";case"lighter":return"lighter";default:return"normal"}}function b(e){let t="normal",i="normal";if(e){const r=e.toLowerCase();r.includes("italic")?t="italic":r.includes("oblique")&&(t="oblique"),r.includes("bold")?i="bold":r.includes("light")&&(i="lighter")}return{style:t,weight:i}}function _(e){return e.underline?"underline":e.strikethrough?"line-through":"none"}function z(e){if(!e)return null;switch(e.type){case"CIMPolygonSymbol":if(e.symbolLayers)for(const t of e.symbolLayers){const e=z(t);if(null!=e)return e}break;case"CIMTextSymbol":return z(e.symbol);case"CIMSolidFill":return e.color}return null}function I(e){if(e)switch(e.type){case"CIMPolygonSymbol":case"CIMLineSymbol":{const t=e.symbolLayers;if(t)for(const e of t){const t=I(e);if(null!=t)return t}break}case"CIMTextSymbol":return I(e.symbol);case"CIMSolidStroke":return e.color}}function k(e){if(e)switch(e.type){case"CIMPolygonSymbol":case"CIMLineSymbol":if(e.symbolLayers)for(const t of e.symbolLayers){const e=k(t);if(void 0!==e)return e}break;case"CIMTextSymbol":return k(e.symbol);case"CIMSolidStroke":case"CIMGradientStroke":case"CIMPictureStroke":return e.width}}function w(e){switch(e){case"Left":default:return"left";case"Right":return"right";case"Center":case"Justify":return"center"}}function x(e){switch(e){case"Top":default:return"top";case"Center":return"middle";case"Baseline":return"baseline";case"Bottom":return"bottom"}}function A(e){return(e?Object.keys(e):[]).map(t=>({name:t,alias:t,type:"string"==typeof e[t]?"esriFieldTypeString":"esriFieldTypeDouble"}))}const L=e=>e.includes("data:image/svg+xml");function P(e){return e?e.charAt(0).toLowerCase()+e.slice(1):e}function T(e,t,i,r,s,n,o=!0){const{infos:l}=n;let a=1,c=0,u=0,f=0,h=1;for(const{absoluteAnchorPoint:e,offsetX:t,offsetY:i,rotation:r,size:s,frameHeight:n,rotateClockWise:m,scaleSymbolsProportionally:d}of l)h=e?1:a,u=G(t,i,c,h,u),f=O(t,i,c,h,f),n&&(d||o)&&(a*=s/n),c=W(r,m,c);const m=G(r,s,c,h,u),d=O(r,s,c,h,f);return{size:e*a,rotation:W(t,i,c),offsetX:m,offsetY:d}}function v(e){return e?.dashTemplate&&(e.dashTemplate=function(e){return"string"==typeof e?function(e){return e.split(" ").map(e=>Number(e))}(e):e}(e.dashTemplate)),e}function E(e){if(null==e)return"Normal";switch(e.type){case"CIMTextSymbol":return e.textCase??"Normal";case"CIMPointSymbol":case"CIMLineSymbol":case"CIMPolygonSymbol":{const t=e.symbolLayers;if(!t)return"Normal";for(const e of t)if("CIMVectorMarker"===e.type)return E(e)}break;case"CIMVectorMarker":{const t=e.markerGraphics;if(!t)return"Normal";for(const e of t)if(e.symbol)return E(e.symbol)}}return"Normal"}function R(e){if(e)switch(e.type){case"CIMTextSymbol":return e.height;case"CIMPointSymbol":{let t=0;if(e.symbolLayers)for(const i of e.symbolLayers)if(i)switch(i.type){case"CIMCharacterMarker":case"CIMPictureMarker":case"CIMVectorMarker":case"CIMObjectMarker3D":case"CIMglTFMarker3D":{const e=i.size??r.D.CIMVectorMarker.size;e>t&&(t=e);break}}return t}case"CIMLineSymbol":case"CIMPolygonSymbol":{let t=0;if(e.symbolLayers)for(const i of e.symbolLayers)if(i)switch(i.type){case"CIMSolidStroke":case"CIMPictureStroke":case"CIMGradientStroke":{const e=i.width;null!=e&&e>t&&(t=e);break}case"CIMCharacterMarker":case"CIMPictureMarker":case"CIMVectorMarker":case"CIMObjectMarker3D":case"CIMglTFMarker3D":if(i.markerPlacement&&y(i.markerPlacement)){const e=i.size??r.D.CIMVectorMarker.size;e>t&&(t=e)}break;case"CIMPictureFill":{const e=i.height;null!=e&&e>t&&(t=e)}}return t}}}function N(e,t){if(null!==t){const i=t.get(e);return i?i.name:e}return e}function F(e){return e.map(e=>({...e,propertyName:P(e.propertyName)}))}function D(e){const t={};for(const i in e){const r=e[i];t[P(i)]=r}return t}function O(e,t,i,r,s){const n=i*Math.PI/180;if(n){const i=Math.cos(n);return(Math.sin(n)*e+i*t)*r+s}return t*r+s}function G(e,t,i,r,s){const n=i*Math.PI/180;return n?(Math.cos(n)*e-Math.sin(n)*t)*r+s:e*r+s}function W(e,t,i){return t?i-e:i+e}function H(e,t){return Math.max(Math.min((e??t)/100,1),0)}},93470:(e,t,i)=>{i.d(t,{Cb:()=>n,HW:()=>u,JR:()=>s,JZ:()=>a,WR:()=>l,b6:()=>f,fT:()=>r,nC:()=>c,yM:()=>o});const r=[252,146,31,255],s=[153,153,153,255],n={type:"esriSMS",style:"esriSMSCircle",size:6,color:r,outline:{type:"esriSLS",style:"esriSLSSolid",width:.75,color:[153,153,153,255]}},o={type:"esriSLS",style:"esriSLSSolid",width:.75,color:r},l={type:"esriSFS",style:"esriSFSSolid",color:[252,146,31,196],outline:{type:"esriSLS",style:"esriSLSSolid",width:.75,color:[255,255,255,191]}},a={type:"esriTS",color:[255,255,255,255],font:{family:"arial-unicode-ms",size:10,weight:"bold"},horizontalAlignment:"center",kerning:!0,haloColor:[0,0,0,255],haloSize:1,rotated:!1,text:"",xoffset:0,yoffset:0,angle:0},c={type:"esriSMS",style:"esriSMSCircle",color:[0,0,0,255],outline:null,size:10.5},u={type:"esriSLS",style:"esriSLSSolid",color:[0,0,0,255],width:1.5},f={type:"esriSFS",style:"esriSFSSolid",color:[0,0,0,255],outline:null}}}]);