UNPKG

@arcgis/core

Version:

ArcGIS Maps SDK for JavaScript: A complete 2D and 3D mapping and data visualization API

1 lines 64.3 kB
"use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[4296],{67482:(e,t,r)=>{function n(e){return null!=a(e)||null!=s(e)}function i(e){return l.test(e)}function o(e){return a(e)??s(e)}function s(e){const t=new Date(e);return function(e,t){if(Number.isNaN(e.getTime()))return!1;let r=!0;if(p&&/\d+\W*$/.test(t)){const e=t.match(/[a-zA-Z]{2,}/);if(e){let t=!1,n=0;for(;!t&&n<=e.length;)t=!u.test(e[n]),n++;r=!t}}return r}(t,e)?Number.isNaN(t.getTime())?null:t.getTime()-6e4*t.getTimezoneOffset():null}function a(e){const t=l.exec(e);if(!t?.groups)return null;const r=t.groups,n=+r.year,i=+r.month-1,o=+r.day,s=+(r.hours??"0"),a=+(r.minutes??"0"),u=+(r.seconds??"0");if(s>23)return null;if(a>59)return null;if(u>59)return null;const p=r.ms??"0",c=p?+p.padEnd(3,"0").slice(0,3):0;let d;if(r.isUTC||!r.offsetSign)d=Date.UTC(n,i,o,s,a,u,c);else{const e=+r.offsetHours,t=+r.offsetMinutes;d=6e4*("+"===r.offsetSign?-1:1)*(60*e+t)+Date.UTC(n,i,o,s,a,u,c)}return Number.isNaN(d)?null:d}r.d(t,{Br:()=>i,Cq:()=>n,_U:()=>o});const l=/^(?:(?<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,p=!Number.isNaN(new Date("technology 10").getTime())},39516:(e,t,r)=>{let n;async function i(){return null==n&&(n=r.e(4123).then(r.bind(r,44123)).then((e=>new e.WhereClauseCache(500,500)))),n}async function o(e,t){const r=await i(),n=r.get(e,t);if(null==n)throw r.getError(e,t);return n}function s(e,t){return e||=null,t||=null,"1=1"===e?t??e:"1=1"===t?e??t:e&&t?`(${e}) AND (${t})`:e??t}function a(e,t){return e||=null,t||=null,"1=1"===e||"1=1"===t||e===t?"1=1"===e?e:t:e&&t?`(${e}) OR (${t})`:e??t}r.d(t,{GP:()=>o,IW:()=>a,mA:()=>s})},13069:(e,t,r)=>{r.d(t,{AG:()=>a,lk:()=>i,vD:()=>s,yS:()=>o});const n="randomUUID"in crypto;function i(){if(n)return crypto.randomUUID();const e=crypto.getRandomValues(new Uint16Array(8));e[3]=4095&e[3]|16384,e[4]=16383&e[4]|32768;const t=t=>e[t].toString(16).padStart(4,"0");return t(0)+t(1)+"-"+t(2)+"-"+t(3)+"-"+t(4)+"-"+t(5)+t(6)+t(7)}function o(){return`{${i().toUpperCase()}}`}function s(){return`{${i()}}`}function a(e){const t=e.toUpperCase();return"{"!==e[0]?`{${t}}`:t}},83960:(e,t,r)=>{r.d(t,{X_:()=>s,oW:()=>l,zx:()=>a});var n=r(34727),i=r(83047);const o=96;function s(e,t){const r=t||e.extent,n=e.width,s=(0,i.GA)(r?.spatialReference);return r&&n?r.width/n*s*i.dy*o:0}function a(e,t,r){return function(e,t){return 0===t||(0,n.Sp)(e,t)||e<t}(e,t)&&function(e,t){return 0===t||(0,n.Sp)(e,t)||e>t}(e,r)}function l(e,t){return(0,n.Sp)(e,t)?0:(e||Number.POSITIVE_INFINITY)>(t||Number.POSITIVE_INFINITY)?1:-1}},16350:(e,t,r)=>{r.r(t),r.d(t,{default:()=>K});var n=r(90237),i=r(13874),o=r(92071),s=r(93637),a=r(84952),l=r(10107),u=r(56507),p=r(44208),c=(r(87811),r(40608)),d=r(43937),y=r(5443),f=r(16930),m=r(50498),h=r(4146),g=r(49186),w=r(92474),v=r(53966),b=r(74887),x=r(29953),F=r(64714),_=r(34322),T=r(37745),S=r(22671),A=r(98623);let M=class extends w.A{constructor(){super(...arguments),this._connection=null,this._workerHandler=null,this.capabilities=(0,F.f)(!1,!1),this.type="wfs",this.refresh=(0,b.sg)((async()=>{await this.load();const e={customParameters:this.layer.customParameters,maxRecordCount:this.layer.maxRecordCount,maxTotalRecordCount:this.layer.maxTotalRecordCount,maxPageCount:this.layer.maxPageCount},{extent:t}=await this._workerHandler.refresh(e);return t&&(this.sourceJSON.extent=t),{dataChanged:!0,updates:{extent:this.sourceJSON.extent}}}))}load(e){const t=null!=e?e.signal:null;return this.addResolvingPromise(this._startWorker({signal:t})),Promise.resolve(this)}destroy(){this._connection?.close(),this._connection=null,this._workerHandler=null}async openPorts(){return await this.load(),this._connection.openPorts()}async queryFeatures(e,t={}){const r=await this.queryFeaturesJSON(e,t);return S.A.fromJSON(r)}async queryFeaturesJSON(e,t={}){return await this.load(t),this._workerHandler.queryFeatures(e?e.toJSON():void 0,t)}async queryFeatureCount(e,t={}){return await this.load(t),this._workerHandler.queryFeatureCount(e?e.toJSON():void 0,t)}async queryObjectIds(e,t={}){return await this.load(t),this._workerHandler.queryObjectIds(e?e.toJSON():void 0,t)}async queryExtent(e,t={}){await this.load(t);const r=await this._workerHandler.queryExtent(e?e.toJSON():void 0,t);return{count:r.count,extent:y.A.fromJSON(r.extent)}}async querySnapping(e,t={}){return await this.load(t),this._workerHandler.querySnapping(e,t)}async queryAttributeBins(e,t={}){await this.load(t);const r=await this._workerHandler.queryAttributeBins(e?.toJSON(),t);return T.A.fromJSON(r)}async _createLoadOptions(e){const{url:t,customParameters:r,name:n,namespaceUri:i,fields:o,geometryType:s,maxRecordCount:a,maxPageCount:l,maxTotalRecordCount:u,swapXY:p}=this.layer,c="defaults"===this.layer.originOf("spatialReference")?void 0:this.layer.spatialReference;if(!t)throw new g.A("wfs-layer:missing-url","WFSLayer must be created with a url");this.wfsCapabilities||(this.wfsCapabilities=await(0,_.Fu)(t,{customParameters:r,...e}));const d=["fields","geometryType","name","namespaceUri","swapXY"].some((e=>null==this.layer[e])),y=d?await(0,_.O8)(this.wfsCapabilities,n,i,{spatialReference:c,customParameters:r,signal:e?.signal}):{...(0,_.YW)(o??[]),geometryType:s,name:n,namespaceUri:i,spatialReference:c,swapXY:p},f=(0,_.mG)(this.wfsCapabilities.readFeatureTypes(),y.name,y.namespaceUri),h=m.gy.toJSON(y.geometryType),{operations:w}=this.wfsCapabilities,v=w.GetFeature.url,b=w.GetFeature.outputFormat;return{customParameters:r,featureType:f,fields:y.fields?.map((e=>e.toJSON()))??[],geometryField:y.geometryField,geometryType:h,getFeatureUrl:v,getFeatureOutputFormat:b,maxRecordCount:a,maxPageCount:l,maxTotalRecordCount:u,objectIdField:y.objectIdField,spatialReference:y.spatialReference?.toJSON(),swapXY:!!y.swapXY}}async _startWorker(e){const[t,r]=await(0,b.Lx)([this._createLoadOptions(e),(0,x.ho)("WFSSourceWorker",{...e,strategy:(0,p.A)("feature-layers-workers")?"dedicated":"local",registryTarget:this})]),n=t.error||r.error||null,i=r.value||null;if(n)throw i&&i.close(),n;const o=t.value;this._connection=r.value,this._workerHandler=this._connection.createInvokeProxy();const s=await this._workerHandler.load(o,e);for(const e of s.warnings)v.A.getLogger(this.layer).warn("#load()",`${e.message} (title: '${this.layer.title||"no title"}', id: '${this.layer.id??"no id"}')`,{warning:e});this.sourceJSON={dateFieldsTimeReference:{timeZoneIANA:A.n$},extent:s.extent,fields:o.fields,geometryType:o.geometryType,objectIdField:o.objectIdField,geometryField:o.geometryField,drawingInfo:(0,F.F0)(o.geometryType),name:o.featureType.title,wfsInfo:{name:o.featureType.name,featureUrl:o.getFeatureUrl,maxFeatures:o.maxRecordCount,swapXY:o.swapXY,supportedSpatialReferences:o.featureType.supportedSpatialReferences,version:"2.0.0",wfsNamespace:o.featureType.namespaceUri}}}};(0,n._)([(0,l.MZ)()],M.prototype,"capabilities",void 0),(0,n._)([(0,l.MZ)({constructOnly:!0})],M.prototype,"layer",void 0),(0,n._)([(0,l.MZ)()],M.prototype,"sourceJSON",void 0),(0,n._)([(0,l.MZ)()],M.prototype,"type",void 0),(0,n._)([(0,l.MZ)()],M.prototype,"wfsCapabilities",void 0),M=(0,n._)([(0,c.$)("esri.layers.graphics.sources.WFSSource")],M);var I,P=r(63074),R=r(69208),O=r(6455),E=r(87718),C=r(76294),N=r(16131),Z=r(32756),j=r(8303),U=r(54310),k=r(25036),$=r(82935),D=r(68109),G=r(10873),z=r(20437),q=r(17036),L=r(30524),J=r(46499),B=r(39383),H=r(13112),V=r(61956),W=r(30291),Q=r(56400);const Y=(0,q.p)();let X=I=class extends((0,Z.fY)((0,O.FJ)((0,R.d)((0,C.J)((0,E.F)((0,P.dM)((0,$.e)((0,D.d)((0,U.J)((0,k.j)((0,N.q)((0,j.A)((0,o.P)(h.A)))))))))))))){static fromWFSLayerInfo(e){const{customParameters:t,fields:r,geometryField:n,geometryType:i,name:o,namespaceUri:s,objectIdField:a,spatialReference:l,swapXY:u,url:p,wfsCapabilities:c}=e;return new I({customParameters:t,fields:r,geometryField:n,geometryType:i,name:o,namespaceUri:s,objectIdField:a,spatialReference:l,swapXY:u,url:p,wfsCapabilities:c})}constructor(e){super(e),this.copyright=null,this.customParameters=null,this.dateFieldsTimeZone=null,this.definitionExpression=null,this.displayField=null,this.elevationInfo=null,this.featureUrl=void 0,this.fields=null,this.fieldsIndex=null,this.fullExtent=null,this.geometryType=null,this.labelsVisible=!0,this.labelingInfo=null,this.legendEnabled=!0,this.objectIdField=null,this.operationalLayerType="WFS",this.maxRecordCount=3e3,this.maxPageCount=10,this.maxTotalRecordCount=2e5,this.mode=0,this.name=null,this.namespaceUri=null,this.outFields=null,this.popupEnabled=!0,this.popupTemplate=null,this.screenSizePerspectiveEnabled=!0,this.source=new M({layer:this}),this.spatialReference=f.A.WGS84,this.spatialReferences=[4326],this.swapXY=void 0,this.title="WFS",this.type="wfs",this.url=null,this.version=void 0}destroy(){this.source?.destroy()}load(e){return this.addResolvingPromise(this.loadFromPortal({supportedTypes:["WFS"]},e).then((()=>this.source.load(e))).then((()=>{this.read(this.source.sourceJSON,{origin:"service",url:this.parsedUrl}),this.revert(["objectIdField","fields","timeInfo","spatialReference","name","namespaceUri"],"service"),(0,L.yp)(this.renderer,this.fieldsIndex),(0,L.sv)(this.timeInfo,this.fieldsIndex)}))),Promise.resolve(this)}get capabilities(){return this.source?.capabilities}get createQueryVersion(){return this.commitProperty("definitionExpression"),this.commitProperty("timeExtent"),this.commitProperty("timeOffset"),this.commitProperty("geometryType"),this.commitProperty("capabilities"),(this._get("createQueryVersion")||0)+1}get defaultPopupTemplate(){return this.createPopupTemplate()}writeFields(e,t,r){const n=e.filter((e=>e.name!==_.i5));this.geometryField&&n.unshift(new z.A({name:this.geometryField,alias:this.geometryField,type:"geometry"})),(0,s.sM)(r,n.map((e=>e.toJSON())),t)}get parsedUrl(){return(0,a.An)(this.url)}set renderer(e){(0,L.yp)(e,this.fieldsIndex),this._set("renderer",e)}get wfsCapabilities(){return this.source?.wfsCapabilities}set wfsCapabilities(e){this.source&&(this.source.wfsCapabilities=e)}createPopupTemplate(e){return(0,W.tn)(this,e)}createQuery(){const e=new V.A({returnGeometry:!0,outFields:["*"],where:this.definitionExpression||"1=1"}),{timeOffset:t,timeExtent:r}=this;return e.timeExtent=null!=t&&null!=r?r.offset(-t.value,t.unit):r||null,e}getFieldDomain(e,t){return this.getField(e)?.domain}getField(e){return this.fieldsIndex?.get(e)}queryFeatures(e,t){return this.load().then((()=>this.source.queryFeatures(V.A.from(e)||this.createQuery(),t))).then((e=>{if(e?.features)for(const t of e.features)t.layer=t.sourceLayer=this;return e}))}queryObjectIds(e,t){return this.load().then((()=>this.source.queryObjectIds(V.A.from(e)||this.createQuery(),t)))}queryFeatureCount(e,t){return this.load().then((()=>this.source.queryFeatureCount(V.A.from(e)||this.createQuery(),t)))}queryExtent(e,t){return this.load().then((()=>this.source.queryExtent(V.A.from(e)||this.createQuery(),t)))}async hasDataChanged(){try{const{dataChanged:e,updates:t}=await this.source.refresh();return null!=t&&this.read(t,{origin:"service",url:this.parsedUrl,ignoreDefaults:!0}),e}catch{}return!1}};(0,n._)([(0,l.MZ)({readOnly:!0})],X.prototype,"capabilities",null),(0,n._)([(0,l.MZ)({type:String})],X.prototype,"copyright",void 0),(0,n._)([(0,l.MZ)({readOnly:!0})],X.prototype,"createQueryVersion",null),(0,n._)([(0,l.MZ)({json:{name:"wfsInfo.customParameters",write:{overridePolicy:e=>({enabled:!!(e&&Object.keys(e).length>0),ignoreOrigin:!0})}}})],X.prototype,"customParameters",void 0),(0,n._)([(0,l.MZ)((0,Q.P6)("dateFieldsTimeReference"))],X.prototype,"dateFieldsTimeZone",void 0),(0,n._)([(0,l.MZ)({readOnly:!0})],X.prototype,"defaultPopupTemplate",null),(0,n._)([(0,l.MZ)({type:String,json:{name:"layerDefinition.definitionExpression",write:{enabled:!0,allowNull:!0}}})],X.prototype,"definitionExpression",void 0),(0,n._)([(0,l.MZ)({type:String})],X.prototype,"displayField",void 0),(0,n._)([(0,l.MZ)(G.Yj)],X.prototype,"elevationInfo",void 0),(0,n._)([(0,l.MZ)({type:String,readOnly:!0,json:{name:"wfsInfo.featureUrl",write:{ignoreOrigin:!0,isRequired:!0}}})],X.prototype,"featureUrl",void 0),(0,n._)([(0,l.MZ)({type:[z.A],json:{name:"layerDefinition.fields",write:{ignoreOrigin:!0,isRequired:!0},origins:{service:{name:"fields"}}}})],X.prototype,"fields",void 0),(0,n._)([(0,d.K)("fields")],X.prototype,"writeFields",null),(0,n._)([(0,l.MZ)(Y.fieldsIndex)],X.prototype,"fieldsIndex",void 0),(0,n._)([(0,l.MZ)({type:y.A,json:{name:"extent"}})],X.prototype,"fullExtent",void 0),(0,n._)([(0,l.MZ)()],X.prototype,"geometryField",void 0),(0,n._)([(0,l.MZ)({type:String,json:{read:{source:"layerDefinition.geometryType",reader:m.gy.read},write:{target:"layerDefinition.geometryType",writer:m.gy.write,ignoreOrigin:!0},origins:{service:{read:m.gy.read}}}})],X.prototype,"geometryType",void 0),(0,n._)([(0,l.MZ)({type:String})],X.prototype,"id",void 0),(0,n._)([(0,l.MZ)(G.kF)],X.prototype,"labelsVisible",void 0),(0,n._)([(0,l.MZ)({type:[J.A],json:{name:"layerDefinition.drawingInfo.labelingInfo",read:{reader:B.w},write:!0}})],X.prototype,"labelingInfo",void 0),(0,n._)([(0,l.MZ)(G.fV)],X.prototype,"legendEnabled",void 0),(0,n._)([(0,l.MZ)({type:["show","hide"]})],X.prototype,"listMode",void 0),(0,n._)([(0,l.MZ)({type:String})],X.prototype,"objectIdField",void 0),(0,n._)([(0,l.MZ)({type:["WFS"]})],X.prototype,"operationalLayerType",void 0),(0,n._)([(0,l.MZ)({type:u.jz,json:{name:"wfsInfo.maxFeatures",write:{ignoreOrigin:!0,isRequired:!0}}})],X.prototype,"maxRecordCount",void 0),(0,n._)([(0,l.MZ)({type:u.jz})],X.prototype,"maxPageCount",void 0),(0,n._)([(0,l.MZ)({type:u.jz})],X.prototype,"maxTotalRecordCount",void 0),(0,n._)([(0,l.MZ)({type:[0],readOnly:!0,json:{origins:{"web-map":{write:{ignoreOrigin:!0,isRequired:!0}}}}})],X.prototype,"mode",void 0),(0,n._)([(0,l.MZ)({type:String,json:{name:"wfsInfo.name",write:{ignoreOrigin:!0,isRequired:!0}}})],X.prototype,"name",void 0),(0,n._)([(0,l.MZ)({type:String,json:{name:"wfsInfo.wfsNamespace",write:{ignoreOrigin:!0,isRequired:!0}}})],X.prototype,"namespaceUri",void 0),(0,n._)([(0,l.MZ)(G.Ih)],X.prototype,"opacity",void 0),(0,n._)([(0,l.MZ)(Y.outFields)],X.prototype,"outFields",void 0),(0,n._)([(0,l.MZ)({readOnly:!0})],X.prototype,"parsedUrl",null),(0,n._)([(0,l.MZ)(G.M6)],X.prototype,"popupEnabled",void 0),(0,n._)([(0,l.MZ)({type:i.A,json:{name:"popupInfo",write:!0}})],X.prototype,"popupTemplate",void 0),(0,n._)([(0,l.MZ)({types:H.Hg,json:{origins:{service:{name:"drawingInfo.renderer"},"web-scene":{types:H.XJ,name:"layerDefinition.drawingInfo.renderer",write:!0}},name:"layerDefinition.drawingInfo.renderer",write:{ignoreOrigin:!0}}})],X.prototype,"renderer",null),(0,n._)([(0,l.MZ)(G.PY)],X.prototype,"screenSizePerspectiveEnabled",void 0),(0,n._)([(0,l.MZ)({readOnly:!0})],X.prototype,"source",void 0),(0,n._)([(0,l.MZ)({type:f.A,json:{name:"layerDefinition.spatialReference",write:{ignoreOrigin:!0,isRequired:!0},origins:{service:{name:"extent.spatialReference"}}}})],X.prototype,"spatialReference",void 0),(0,n._)([(0,l.MZ)({readOnly:!0,type:[u.jz],json:{name:"wfsInfo.supportedSpatialReferences",write:{ignoreOrigin:!0,isRequired:!0}}})],X.prototype,"spatialReferences",void 0),(0,n._)([(0,l.MZ)({type:Boolean,value:!1,json:{name:"wfsInfo.swapXY",write:{ignoreOrigin:!0,isRequired:!0}}})],X.prototype,"swapXY",void 0),(0,n._)([(0,l.MZ)({json:{write:{ignoreOrigin:!0,isRequired:!0},origins:{service:{name:"name"}}}})],X.prototype,"title",void 0),(0,n._)([(0,l.MZ)({json:{read:!1},readOnly:!0})],X.prototype,"type",void 0),(0,n._)([(0,l.MZ)(G.OZ)],X.prototype,"url",void 0),(0,n._)([(0,l.MZ)({type:String,readOnly:!0,json:{name:"wfsInfo.version",write:{ignoreOrigin:!0,isRequired:!0}}})],X.prototype,"version",void 0),(0,n._)([(0,l.MZ)()],X.prototype,"wfsCapabilities",null),X=I=(0,n._)([(0,c.$)("esri.layers.WFSLayer")],X);const K=X},99352:(e,t,r)=>{r.d(t,{F:()=>n,P:()=>i});const n={supportsStatistics:!0,supportsPercentileStatistics:!0,supportsSpatialAggregationStatistics:!1,supportedSpatialAggregationStatistics:{envelope:!1,centroid:!1,convexHull:!1},supportsCentroid:!0,supportsCacheHint:!0,supportsCurrentUser:!1,supportsDistance:!0,supportsDistinct:!0,supportsExtent:!0,supportsGeometryProperties:!1,supportsHavingClause:!0,supportsOrderBy:!0,supportsPagination:!0,supportsQuantization:!0,supportsQuantizationEditMode:!1,supportsQueryGeometry:!0,supportsResultType:!0,supportsReturnMesh:!1,supportsSqlExpression:!0,supportsMaxRecordCountFactor:!1,supportsStandardizedQueriesOnly:!0,supportsTopFeaturesQuery:!1,supportsQueryByAnonymous:!0,supportsQueryByOthers:!0,supportsHistoricMoment:!1,supportsFormatPBF:!1,supportsDisjointSpatialRelationship:!0,supportsDefaultSpatialReference:!1,supportsFullTextSearch:!1,supportsCompactGeometry:!1,maxRecordCountFactor:void 0,maxRecordCount:void 0,standardMaxRecordCount:void 0,tileMaxRecordCount:void 0,supportsTrueCurve:!1},i={supportsDate:!0,supportsFixedInterval:!0,supportsAutoInterval:!0,supportsFixedBoundaries:!0,supportsStackBy:!0,supportsSplitBy:!0,supportsSnapToData:!1,supportsReturnFullIntervalBin:!1,supportsFirstDayOfWeek:!1,supportsNormalization:!0,supportedStatistics:{count:!0,sum:!0,avg:!0,var:!0,stddev:!0,min:!0,max:!0,percentileContinuous:!0,percentileDiscrete:!0,envelope:!0,centroid:!0,convexHull:!0},supportedNormalizationTypes:{field:!0,log:!0,naturalLog:!0,percentOfTotal:!0,squareRoot:!0}}},85113:(e,t,r)=>{r.d(t,{BM:()=>T,bd:()=>S,sO:()=>_,xD:()=>p});var n=r(67482),i=r(49186),o=r(21325),s=r(43334),a=r(92722),l=r(30524);const u={LineString:"esriGeometryPolyline",MultiLineString:"esriGeometryPolyline",MultiPoint:"esriGeometryMultipoint",Point:"esriGeometryPoint",Polygon:"esriGeometryPolygon",MultiPolygon:"esriGeometryPolygon"};function p(e){return u[e]}function*c(e){switch(e.type){case"Feature":yield e;break;case"FeatureCollection":for(const t of e.features)t&&(yield t)}}function*d(e){if(e)switch(e.type){case"Point":yield e.coordinates;break;case"LineString":case"MultiPoint":yield*e.coordinates;break;case"MultiLineString":case"Polygon":for(const t of e.coordinates)yield*t;break;case"MultiPolygon":for(const t of e.coordinates)for(const e of t)yield*e}}function y(e){for(const t of e)if(t.length>2)return!0;return!1}function f(e){let t=0;for(let r=0;r<e.length;r++){const n=e[r],i=e[(r+1)%e.length];t+=n[0]*i[1]-i[0]*n[1]}return t<=0}function m(e){const t=e[0],r=e[e.length-1];return t[0]===r[0]&&t[1]===r[1]&&t[2]===r[2]||e.push(t),e}function h(e,t,r){switch(t.type){case"LineString":case"MultiPoint":return function(e,t,r){return v(e,t.coordinates,r),e}(e,t,r);case"MultiLineString":return function(e,t,r){for(const n of t.coordinates)v(e,n,r);return e}(e,t,r);case"MultiPolygon":return function(e,t,r){for(const n of t.coordinates){g(e,n[0],r);for(let t=1;t<n.length;t++)w(e,n[t],r)}return e}(e,t,r);case"Point":return function(e,t,r){return x(e,t.coordinates,r),e}(e,t,r);case"Polygon":return function(e,t,r){const n=t.coordinates;g(e,n[0],r);for(let t=1;t<n.length;t++)w(e,n[t],r);return e}(e,t,r)}}function g(e,t,r){const n=m(t);!function(e){return!f(e)}(n)?v(e,n,r):b(e,n,r)}function w(e,t,r){const n=m(t);!function(e){return f(e)}(n)?v(e,n,r):b(e,n,r)}function v(e,t,r){for(const n of t)x(e,n,r);e.lengths.push(t.length)}function b(e,t,r){for(let n=t.length-1;n>=0;n--)x(e,t[n],r);e.lengths.push(t.length)}function x(e,t,r){const[n,i,o]=t;e.coords.push(n,i),r.hasZ&&e.coords.push(o||0)}function F(e){switch(typeof e){case"string":return(0,n.Br)(e)?"esriFieldTypeDate":"esriFieldTypeString";case"number":return"esriFieldTypeDouble";default:return"unknown"}}function _(e,t=4326){if(!e)throw new i.A("geojson-layer:empty","GeoJSON data is empty");if("Feature"!==e.type&&"FeatureCollection"!==e.type)throw new i.A("geojson-layer:unsupported-geojson-object","missing or not supported GeoJSON object type",{data:e});const{crs:r}=e;if(!r)return;const n="string"==typeof r?r:"name"===r.type?r.properties.name:"EPSG"===r.type?r.properties.code:null,s=(0,o.oT)({wkid:t})?new RegExp(".*(CRS84H?|4326)$","i"):new RegExp(`.*(${t})$`,"i");if(!n||!s.test(n))throw new i.A("geojson:unsupported-crs","unsupported GeoJSON 'crs' member",{crs:r})}function T(e,t={}){const r=[],n=new Set,i=new Set;let o,s=!1,a=null,u=!1,{geometryType:f=null}=t;for(const t of c(e)){const{geometry:e,properties:c,id:m}=t;if((!e||(f||(f=p(e.type)),p(e.type)===f))&&(s||(s=y(d(e))),u||(u=null!=m,u&&(o=typeof m,c&&(a=Object.keys(c).filter((e=>c[e]===m))))),c&&a&&u&&null!=m&&(a.length>1?a=a.filter((e=>c[e]===m)):1===a.length&&(a=c[a[0]]===m?a:[])),c))for(const e in c){if(n.has(e))continue;const t=F(c[e]);if("unknown"===t){i.add(e);continue}i.delete(e),n.add(e);const o=(0,l.rS)(e);o&&r.push({name:o,alias:e,type:t})}}const m=(0,l.rS)(1===a?.length&&a[0]||null)??void 0;if(m)for(const e of r)if(e.name===m&&(0,l.WA)(e)){e.type="esriFieldTypeOID";break}return{fields:r,geometryType:f,hasZ:s,objectIdFieldName:m,objectIdFieldType:o,unknownFields:Array.from(i)}}function S(e,t){return Array.from(function*(e,t={}){const{geometryType:r,objectIdField:n}=t;for(const i of e){const{geometry:e,properties:o,id:l}=i;if(e&&p(e.type)!==r)continue;const u=o||{};let c;n&&(c=u[n],null==l||c||(u[n]=c=l));const d=new s.Om(e?h(new a.A,e,t):null,u,null,c);yield d}}(c(e),t))}},64714:(e,t,r)=>{r.d(t,{F0:()=>a,Vx:()=>p,e2:()=>d,f:()=>y});var n=r(44208),i=r(4718),o=r(99352),s=r(93470);function a(e){return{renderer:{type:"simple",symbol:"esriGeometryPoint"===e||"esriGeometryMultipoint"===e?s.Cb:"esriGeometryPolyline"===e?s.yM:s.WR}}}const l=/^[_$a-zA-Z][_$a-zA-Z0-9]*$/;let u=1;function p(e,t){if((0,n.A)("esri-csp-restrictions"))return()=>({[t]:null,...e});try{let r=`this${c(t)} = null;`;for(const t in e)r+=`this${c(t)} = ${JSON.stringify(e[t])};`;const n=new Function(`\n return class AttributesClass$${u++} {\n constructor() {\n ${r};\n }\n }\n `)();return()=>new n}catch(r){return()=>({[t]:null,...e})}}function c(e){return l.test(e)?`.${e}`:`["${e}"]`}function d(e={}){return[{name:"New Feature",description:"",prototype:{attributes:(0,i.o8)(e)}}]}function y(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:o.F,queryRelated:{supportsCount:!0,supportsOrderBy:!0,supportsPagination:!0,supportsCacheHint:!1},queryTopFeatures:{supportsCacheHint:!1},queryAttributeBins:o.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}}}},69208:(e,t,r)=>{r.d(t,{d:()=>s});var n=r(90237),i=r(10107),o=(r(44208),r(53966),r(87811),r(40608));const s=e=>{let t=class extends e{constructor(){super(...arguments),this.customParameters=null}};return(0,n._)([(0,i.MZ)({type:Object,json:{write:{overridePolicy:e=>({enabled:!!(e&&Object.keys(e).length>0)})}}})],t.prototype,"customParameters",void 0),t=(0,n._)([(0,o.$)("esri.layers.mixins.CustomParametersMixin")],t),t}},6455:(e,t,r)=>{r.d(t,{FJ:()=>b,Dp:()=>x,KV:()=>F});var n=r(90237),i=r(93637),o=r(10107),s=(r(44208),r(53966),r(87811),r(40608)),a=r(89317),l=r(69540),u=r(5503),p=r(25482),c=r(43937),d=r(83960),y=r(13069);const f={write:{overridePolicy:(e,t,r)=>({enabled:!r||"scale"===r.filterMode})}};let m=class extends(l.A.ClonableMixin(p.A)){constructor(e){super(e),this.id=(0,y.lk)(),this.maxScale=0,this.minScale=0,this.title="",this.where=null}};(0,n._)([(0,o.MZ)({type:String,json:{write:!0}})],m.prototype,"id",void 0),(0,n._)([(0,o.MZ)({type:Number,json:f})],m.prototype,"maxScale",void 0),(0,n._)([(0,o.MZ)({type:Number,json:f})],m.prototype,"minScale",void 0),(0,n._)([(0,o.MZ)({type:String,json:{write:!0}})],m.prototype,"title",void 0),(0,n._)([(0,o.MZ)({type:String,json:{write:!0}})],m.prototype,"where",void 0),m=(0,n._)([(0,s.$)("esri.layers.support.DisplayFilter")],m);const h=m;var g=r(41560);let w=class extends(l.A.ClonableMixin(p.A)){constructor(e){super(e),this.activeFilterId=null,this.filters=new(u.A.ofType(h)),this.mode="manual"}writeFilters(e,t,r,n){const i=e.toArray();"scale"===this.mode&&i.sort(((e,t)=>{const r=(0,d.oW)(t.minScale,e.minScale),n=e.maxScale-t.maxScale;return 0===r?n:r})),t[r]=i.map((e=>e.toJSON(n)))}write(e,t){return super.write(e,(0,g.mW)(this,t))}};(0,n._)([(0,o.MZ)({type:String,json:{write:{overridePolicy:(e,t,r)=>({enabled:"manual"===r.filterMode,isRequired:!0})}}})],w.prototype,"activeFilterId",void 0),(0,n._)([(0,o.MZ)({type:u.A.ofType(h),nonNullable:!0,json:{write:!0}})],w.prototype,"filters",void 0),(0,n._)([(0,c.K)("filters")],w.prototype,"writeFilters",null),(0,n._)([(0,o.MZ)({type:["manual","scale"],nonNullable:!0,json:{name:"filterMode",write:!0}})],w.prototype,"mode",void 0),w=(0,n._)([(0,s.$)("esri.layers.support.DisplayFilterInfo")],w);const v=w,b=e=>{let t=class extends e{constructor(){super(...arguments),this.displayFilterEnabled=!0,this.displayFilterInfo=null}};return(0,n._)([(0,o.MZ)(x)],t.prototype,"displayFilterEnabled",void 0),(0,n._)([(0,o.MZ)(F)],t.prototype,"displayFilterInfo",void 0),t=(0,n._)([(0,s.$)("esri.layers.mixins.DisplayFilteredLayer")],t),t},x={type:Boolean,json:{name:"layerDefinition.disableDisplayFilter",read:{reader:e=>!e},write:{layerContainerTypes:a.K,writer(e,t,r){(0,i.sM)(r,!e,t)}},origins:{"web-scene":{write:!1,read:!1}}}},F={type:v,json:{name:"layerDefinition.displayFilterInfo",write:{enabled:!0,allowNull:!0,layerContainerTypes:a.K},origins:{"web-scene":{write:!1,read:!1}}}}},32756:(e,t,r)=>{r.d(t,{Rr:()=>l,fY:()=>p,ne:()=>u});var n=r(90237),i=r(93637),o=r(10107),s=(r(44208),r(53966),r(87811),r(40608)),a=r(91880);function l(e,t,r){if(!e)return null;const n=e.find((e=>!!e.field));if(!n)return null;const i=new a.A;return i.read(n,r),[i]}const u={type:[a.A],json:{origins:{"web-scene":{write:!1,read:!1}},name:"layerDefinition.orderBy",read:{reader:l},write:{writer:function(e,t,r,n){const o=e.find((e=>!!e.field));o&&(0,i.sM)(r,[o.toJSON()],t)}}}},p=e=>{let t=class extends e{constructor(){super(...arguments),this.orderBy=null}};return(0,n._)([(0,o.MZ)(u)],t.prototype,"orderBy",void 0),t=(0,n._)([(0,s.$)("esri.layers.mixins.OrderedLayer")],t),t}},8303:(e,t,r)=>{r.d(t,{A:()=>F});var n=r(90237),i=r(92602),o=r(70333),s=r(78888),a=r(60999),l=r(49186),u=r(53966),p=r(97768),c=r(74887),d=r(84952),y=r(10107),f=(r(44208),r(87811),r(36005)),m=r(40608),h=r(43937),g=r(83531),w=r(20655),v=r(80812),b=r(41318),x=r(10407);const F=e=>{let t=class extends e{constructor(){super(...arguments),this.resourceReferences={portalItem:null,paths:[]},this.userHasEditingPrivileges=!0,this.userHasFullEditingPrivileges=!1,this.userHasUpdateItemPrivileges=!1}destroy(){this.portalItem=(0,p.pR)(this.portalItem),this.resourceReferences.portalItem=null,this.resourceReferences.paths.length=0}set portalItem(e){e!==this._get("portalItem")&&(this.removeOrigin("portal-item"),this._set("portalItem",e))}readPortalItem(e,t,r){if(t.itemId)return new v.default({id:t.itemId,portal:r?.portal})}writePortalItem(e,t){e?.id&&(t.itemId=e.id)}async loadFromPortal(e,t){if(this.portalItem?.id)try{const{load:n}=await r.e(1204).then(r.bind(r,41204));return(0,c.Te)(t),await n({instance:this,supportedTypes:e.supportedTypes,validateItem:e.validateItem,supportsData:e.supportsData,layerModuleTypeMap:e.layerModuleTypeMap,populateGroupLayer:e.populateGroupLayer},t)}catch(e){throw(0,c.zf)(e)||u.A.getLogger(this).warn(`Failed to load layer (${this.title}, ${this.id}) portal item (${this.portalItem.id})\n ${e}`),e}}async finishLoadEditablePortalLayer(e){this._set("userHasEditingPrivileges",await this._fetchUserHasEditingPrivileges(e).catch((e=>((0,c.QP)(e),!0))))}async setUserPrivileges(e,t){if(!i.A.userPrivilegesApplied)return this.finishLoadEditablePortalLayer(t);if(this.url)try{const{features:{edit:r,fullEdit:n},content:{updateItem:i}}=await this._fetchUserPrivileges(e,t);this._set("userHasEditingPrivileges",r),this._set("userHasFullEditingPrivileges",n),this._set("userHasUpdateItemPrivileges",i)}catch(e){(0,c.QP)(e)}}async _fetchUserPrivileges(e,t){let r=this.portalItem;if(!e||!r||!r.loaded||r.sourceUrl)return this._fetchFallbackUserPrivileges(t);const n=!o.id?.findCredential(this.url),i=e===r.id;if(i&&r.portal.user)return this._getUserPrivileges(r,n);let s,a;if(i)s=r.portal.url;else try{s=await(0,g.wI)(this.url,t)}catch(e){(0,c.QP)(e)}if(!s||!(0,d.b8)(s,r.portal.url))return this._fetchFallbackUserPrivileges(t);try{const e=null!=t?t.signal:null;a=await(o.id?.getCredential(`${s}/sharing`,{prompt:!1,signal:e}))}catch(e){(0,c.QP)(e)}const l=!0,u=!1,p=!1;if(!a)return{features:{edit:l,fullEdit:u},content:{updateItem:p}};try{if(i?await r.reload():(r=new v.default({id:e,portal:{url:s}}),await r.load(t)),r.portal.user)return this._getUserPrivileges(r,n)}catch(e){(0,c.QP)(e)}return{features:{edit:l,fullEdit:u},content:{updateItem:p}}}_getUserPrivileges(e,t){const r=(0,x.It)(e);return t&&(r.features.edit=!0),r}async _fetchFallbackUserPrivileges(e){let t=!0;try{t=await this._fetchUserHasEditingPrivileges(e)}catch(e){(0,c.QP)(e)}return{features:{edit:t,fullEdit:!1},content:{updateItem:!1}}}async _fetchUserHasEditingPrivileges(e){const t=this.url?o.id?.findCredential(this.url):null;if(!t)return!0;const r=_.credential===t?_.user:await this._fetchEditingUser(e);return _.credential=t,_.user=r,null==r?.privileges||r.privileges.includes("features:user:edit")}async _fetchEditingUser(e){const t=this.portalItem?.portal?.user;if(t)return t;const r=o.id?.findServerInfo(this.url??"");if(!r?.owningSystemUrl)return null;const n=`${r.owningSystemUrl}/sharing/rest`,i=w.A.getDefault();if(i&&i.loaded&&(0,d.S8)(i.restUrl)===(0,d.S8)(n))return i.user;const l=`${n}/community/self`,u=null!=e?e.signal:null,p=await(0,a.Ke)((0,s.A)(l,{authMode:"no-prompt",query:{f:"json"},signal:u}));return p.ok?b.A.fromJSON(p.value.data):null}read(e,t){t&&(t.layer=this),super.read(e,t)}write(e,t){const r=t?.portal,n=this.portalItem?.id&&(this.portalItem.portal||w.A.getDefault());return r&&n&&!(0,d.ut)(n.restUrl,r.restUrl)?(t.messages&&t.messages.push(new l.A("layer:cross-portal",`The layer '${this.title} (${this.id})' cannot be persisted because it refers to an item on a different portal than the one being saved to. To save, set layer.portalItem to null or save to the same portal as the item associated with the layer`,{layer:this})),null):super.write(e,{...t,layer:this})}};return(0,n._)([(0,y.MZ)({type:v.default})],t.prototype,"portalItem",null),(0,n._)([(0,f.w)("web-document","portalItem",["itemId"])],t.prototype,"readPortalItem",null),(0,n._)([(0,h.K)("web-document","portalItem",{itemId:{type:String}})],t.prototype,"writePortalItem",null),(0,n._)([(0,y.MZ)({clonable:!1})],t.prototype,"resourceReferences",void 0),(0,n._)([(0,y.MZ)({type:Boolean,readOnly:!0})],t.prototype,"userHasEditingPrivileges",void 0),(0,n._)([(0,y.MZ)({type:Boolean,readOnly:!0})],t.prototype,"userHasFullEditingPrivileges",void 0),(0,n._)([(0,y.MZ)({type:Boolean,readOnly:!0})],t.prototype,"userHasUpdateItemPrivileges",void 0),t=(0,n._)([(0,m.$)("esri.layers.mixins.PortalLayer")],t),t},_={credential:null,user:null}},82935:(e,t,r)=>{r.d(t,{B:()=>y,e:()=>f});var n=r(90237),i=r(10107),o=(r(44208),r(53966),r(87811),r(36005)),s=r(40608),a=r(89317),l=r(30524),u=r(96184),p=r(73133),c=r(79677),d=r(10184);const y={type:Boolean,json:{read:{source:"timeAnimation"},write:{target:"timeAnimation",layerContainerTypes:a.K}}},f=e=>{let t=class extends e{constructor(){super(...arguments),this.timeExtent=null,this.timeOffset=null,this.useViewTime=!0}readOffset(e,t){const r=t.timeInfo.exportOptions;if(!r)return null;const n=r.timeOffset,i=p.j.fromJSON(r.timeOffsetUnits);return n&&i?new d.A({value:n,unit:i}):null}set timeInfo(e){(0,l.sv)(e,this.fieldsIndex),this._set("timeInfo",e)}};return(0,n._)([(0,i.MZ)({type:c.A,json:{write:!1}})],t.prototype,"timeExtent",void 0),(0,n._)([(0,i.MZ)({type:d.A})],t.prototype,"timeOffset",void 0),(0,n._)([(0,o.w)("service","timeOffset",["timeInfo.exportOptions"])],t.prototype,"readOffset",null),(0,n._)([(0,i.MZ)({value:null,type:u.A,json:{write:!0,origins:{"web-document":{read:!1,write:!1},"portal-item":{read:!1,write:!1}}}})],t.prototype,"timeInfo",null),(0,n._)([(0,i.MZ)(y)],t.prototype,"useViewTime",void 0),t=(0,n._)([(0,s.$)("esri.layers.mixins.TemporalLayer")],t),t}},68109:(e,t,r)=>{r.d(t,{d:()=>F});var n=r(90237),i=r(10107),o=(r(44208),r(53966),r(87811),r(40608)),s=r(13874),a=r(69540),l=r(25482),u=r(93637),p=r(43937),c=r(50820),d=r(10873),y=r(46499),f=r(13112);let m=class extends(a.A.ClonableMixin(l.A)){constructor(e){super(e),this.labelingInfo=null,this.labelsVisible=!0,this.renderer=null,this.visible=!0}};(0,n._)([(0,i.MZ)({type:[y.A],json:{write:!0}})],m.prototype,"labelingInfo",void 0),(0,n._)([(0,i.MZ)(d.kF)],m.prototype,"labelsVisible",void 0),(0,n._)([(0,i.MZ)({types:f.Hg,json:{write:!0}})],m.prototype,"renderer",void 0),(0,n._)([(0,i.MZ)({type:Boolean,json:{write:!0}})],m.prototype,"visible",void 0),m=(0,n._)([(0,o.$)("esri.layers.support.TrackPartInfo")],m);const h=m;var g=r(96576),w=r(59868),v=r(10184);let b=class extends(a.A.ClonableMixin(l.A)){constructor(e){super(e),this.enabled=!0,this.fields=[],this.latestObservations=new h({renderer:new g.A({symbol:w.UK.clone()})}),this.maxDisplayDuration=null,this.maxDisplayObservationsPerTrack=0,this.popupEnabled=!0,this.popupTemplate=null,this.previousObservations=new h({renderer:new g.A({symbol:w.UK.clone()})}),this.trackLines=new h({renderer:new g.A({symbol:w.A7.clone()})}),this.timeField="startTimeField"}writeFields(e,t,r){const n=e.filter((e=>"avg_angle"!==e.statisticType)).map((e=>e.toJSON()));(0,u.sM)(r,n,t)}};(0,n._)([(0,i.MZ)({type:Boolean,json:{write:!0}})],b.prototype,"enabled",void 0),(0,n._)([(0,i.MZ)({type:[c.A],json:{write:!0}})],b.prototype,"fields",void 0),(0,n._)([(0,p.K)("fields")],b.prototype,"writeFields",null),(0,n._)([(0,i.MZ)({type:h,json:{write:!0}})],b.prototype,"latestObservations",void 0),(0,n._)([(0,i.MZ)({type:v.A,json:{write:!0}})],b.prototype,"maxDisplayDuration",void 0),(0,n._)([(0,i.MZ)({type:Number,json:{write:!0}})],b.prototype,"maxDisplayObservationsPerTrack",void 0),(0,n._)([(0,i.MZ)(d.M6)],b.prototype,"popupEnabled",void 0),(0,n._)([(0,i.MZ)({type:s.A,json:{name:"popupInfo",write:!0}})],b.prototype,"popupTemplate",void 0),(0,n._)([(0,i.MZ)({type:h,json:{write:!0}})],b.prototype,"previousObservations",void 0),(0,n._)([(0,i.MZ)({type:h,json:{write:!0}})],b.prototype,"trackLines",void 0),(0,n._)([(0,i.MZ)({type:["timeReceived","startTimeField","endTimeField"],json:{read:!0,write:!0}})],b.prototype,"timeField",void 0),b=(0,n._)([(0,o.$)("esri.layers.support.TrackInfo")],b);const x=b,F=e=>{let t=class extends e{constructor(){super(...arguments),this.trackInfo=null}};return(0,n._)([(0,i.MZ)({type:x})],t.prototype,"trackInfo",void 0),t=(0,n._)([(0,o.$)("esri.layers.mixins.TrackableLayer")],t),t}},34322:(e,t,r)=>{r.d(t,{E:()=>q,Fu:()=>R,O8:()=>j,UH:()=>H,YW:()=>U,i5:()=>v,mG:()=>Z,x$:()=>G});var n=r(78888),i=r(49186),o=r(5479),s=r(84952),a=r(5443),l=r(57251),u=r(16930),p=r(21325),c=r(50498),d=r(85113),y=r(13043),f=r(60694),m=r(20437),h=r(30524);const g="xlink:href",w="2.0.0",v="__esri_wfs_id__",b="wfs-layer:getWFSLayerTypeInfo-error",x="wfs-layer:empty-service",F="wfs-layer:feature-type-not-found",_="wfs-layer:geojson-not-supported",T="wfs-layer:kvp-encoding-not-supported",S="wfs-layer:malformed-json",A="wfs-layer:unknown-geometry-type",M="wfs-layer:unknown-field-type",I="wfs-layer:unsupported-spatial-reference",P="wfs-layer:unsupported-wfs-version";async function R(e,t){const r=function(e){const t=L(e);(function(e){const t=e.firstElementChild?.getAttribute("version");if(t&&t!==w)throw new i.A(P,`Unsupported WFS version ${t}. Supported version: ${w}`)})(t),B(t);const r=t.firstElementChild,n=(0,o.PP)(function(e){return(0,y.i)(e,{FeatureTypeList:{FeatureType:e=>{const t={typeName:"undefined:undefined",name:"",title:"",description:"",extent:null,namespacePrefix:"",namespaceUri:"",defaultSpatialReference:4326,supportedSpatialReferences:[]},r=new Set;return(0,y.p)(e,{Name:e=>{const{name:r,prefix:n}=J(e.textContent);t.typeName=`${n}:${r}`,t.name=r,t.namespacePrefix=n,t.namespaceUri=e.lookupNamespaceURI(n)},Abstract:e=>{t.description=e.textContent},Title:e=>{t.title=e.textContent},WGS84BoundingBox:e=>{t.extent=a.A.fromJSON(function(e){let t,r,n,i;for(const o of e.children)switch(o.localName){case"LowerCorner":[t,r]=o.textContent.split(" ").map((e=>Number.parseFloat(e)));break;case"UpperCorner":[n,i]=o.textContent.split(" ").map((e=>Number.parseFloat(e)))}return{xmin:t,ymin:r,xmax:n,ymax:i,spatialReference:p.KK}}(e))},DefaultCRS:e=>{const n=N(e);n&&(t.defaultSpatialReference=n,r.add(n))},OtherCRS:e=>{const t=N(e);t&&r.add(t)}}),t.title||(t.title=t.name),r.add(4326),t.supportedSpatialReferences.push(...r),t}}})}(r));return{operations:C(r),get featureTypes(){return Array.from(n())},readFeatureTypes:n}}((await(0,n.A)(e,{responseType:"text",query:{SERVICE:"WFS",REQUEST:"GetCapabilities",VERSION:w,...t?.customParameters},signal:t?.signal})).data);return function(e,t){(0,s.m3)(e)&&((0,s.FX)(e,t.operations.DescribeFeatureType.url,!0)&&(t.operations.DescribeFeatureType.url=(0,s.lM)(t.operations.DescribeFeatureType.url)),(0,s.FX)(e,t.operations.GetFeature.url,!0)&&(t.operations.GetFeature.url=(0,s.lM)(t.operations.GetFeature.url)))}(e,r),r}const O=["json","application/json","geojson","application/json; subtype=geojson","application/geo+json"];function E(e){for(const t of O){const r=e.findIndex((e=>e.toLowerCase()===t));if(r>=0)return e[r]}return null}function C(e){let t=!1;const r={GetCapabilities:{url:""},DescribeFeatureType:{url:""},GetFeature:{url:"",outputFormat:null,supportsPagination:!1}},n=[],o=[];if((0,y.p)(e,{OperationsMetadata:{Parameter:e=>{if("outputFormat"===e.getAttribute("name"))return{AllowedValues:{Value:({textContent:e})=>{e&&n.push(e)}}}},Operation:e=>{switch(e.getAttribute("name")){case"GetCapabilities":return{DCP:{HTTP:{Get:e=>{r.GetCapabilities.url=e.getAttribute(g)}}}};case"DescribeFeatureType":return{DCP:{HTTP:{Get:e=>{r.DescribeFeatureType.url=e.getAttribute(g)}}}};case"GetFeature":return{DCP:{HTTP:{Get:e=>{r.GetFeature.url=e.getAttribute(g)}}},Parameter:e=>{if("outputFormat"===e.getAttribute("name"))return{AllowedValues:{Value:({textContent:e})=>{e&&o.push(e)}}}}}}},Constraint:e=>{switch(e.getAttribute("name")){case"KVPEncoding":return{DefaultValue:e=>{t="true"===e.textContent.toLowerCase()}};case"ImplementsResultPaging":return{DefaultValue:e=>{r.GetFeature.supportsPagination="true"===e.textContent.toLowerCase()}}}}}}),r.GetFeature.outputFormat=E(o)??E(n),!t)throw new i.A(T,"WFS service doesn't support key/value pair (KVP) encoding");if(null==r.GetFeature.outputFormat)throw new i.A(_,"WFS service doesn't support GeoJSON output format");return r}function N(e){const t=parseInt(e.textContent?.match(/(?<wkid>\d+$)/i)?.groups?.wkid??"",10);if(!Number.isNaN(t))return t}function Z(e,t,r){return(0,o.I6)(e,(e=>r?e.name===t&&e.namespaceUri===r:e.typeName===t||e.name===t))}async function j(e,t,r,n={}){const{featureType:o,extent:s}=await async function(e,t,r,n={}){const o=e.readFeatureTypes(),s=t?Z(o,t,r):o.next().value,{spatialReference:a=new u.A({wkid:s?.defaultSpatialReference})}=n;if(null==s)throw t?new i.A(F,`The type '${t}' could not be found in the service`):new i.A(x,"The service is empty");let c=s.extent;if(c&&!(0,p.aI)(c.spatialReference,a))try{await(0,l.initializeProjection)(c.spatialReference,a,void 0,n),c=(0,l.project)(c,a)}catch{throw new i.A(I,"Projection not supported")}return{extent:c,spatialReference:a,featureType:s}}(e,t,r,n),{spatialReference:a}=H(e.operations.GetFeature.url,o,n.spatialReference),{fields:c,geometryType:d,swapXY:y,objectIdField:f,geometryField:m}=await async function(e,t,r,n={}){const{typeName:o}=t,[s,a]=await Promise.allSettled([$(e.operations.DescribeFeatureType.url,o,n),k(e,o,r,n)]),l=e=>new i.A(b,`An error occurred while getting info about the feature type '${o}'`,{error:e});if("rejected"===s.status)throw l(s.reason);if("rejected"===a.status)throw l(a.reason);const{fields:u,errors:p}=s.value??{},c=s.value?.geometryType||a.value?.geometryType,d=a.value?.swapXY??!1;if(null==c)throw new i.A(A,`The geometry type could not be determined for type '${o}`,{typeName:o,geometryType:c,fields:u,errors:p});return{...U(u??[]),geometryType:c,swapXY:d}}(e,o,a,n);return{url:e.operations.GetCapabilities.url,name:o.name,namespaceUri:o.namespaceUri,fields:c,geometryField:m,geometryType:d,objectIdField:f,spatialReference:n.spatialReference??new u.A({wkid:o.defaultSpatialReference}),extent:s,swapXY:y,wfsCapabilities:e,customParameters:n.customParameters}}function U(e){const t=e.find((e=>"geometry"===e.type));let r=e.find((e=>"oid"===e.type));return e=e.filter((e=>"geometry"!==e.type)),r||(r=new m.A({name:v,type:"oid",alias:v}),e.unshift(r)),{geometryField:t?.name??null,objectIdField:r.name,fields:e}}async function k(e,t,r,i={}){let o,s=!1;const[a,l]=await Promise.all([G(e.operations.GetFeature.url,t,r,e.operations.GetFeature.outputFormat,{...i,count:1}),(0,n.A)(e.operations.GetFeature.url,{responseType:"text",query:z(t,r,void 0,{...i,count:1}),signal:i?.signal})]),u="FeatureCollection"===a.type&&a.features[0]?.geometry;if(u){let e;switch(o=c.gy.fromJSON((0,d.xD)(u.type)),u.type){case"Point":e=u.coordinates;break;case"LineString":case"MultiPoint":e=u.coordinates[0];break;case"MultiLineString":case"Polygon":e=u.coordinates[0][0];break;case"MultiPolygon":e=u.coordinates[0][0][0]}const t=/<[^>]*pos[^>]*> *(-?\d+(?:\.\d+)?) (-?\d+(?:\.\d+)?)/.exec(l.data);if(t){const r=e[0].toFixed(3),n=e[1].toFixed(3),i=parseFloat(t[1]).toFixed(3);r===parseFloat(t[2]).toFixed(3)&&n===i&&(s=!0)}}return{geometryType:o,swapXY:s}}async function $(e,t,r){return function(e,t){const{name:r}=J(e),n=L(t);B(n);const s=(0,o.I6)((0,y.i)(n.firstElementChild,{element:e=>e}),(e=>e.getAttribute("name")===r));if(null!=s){const e=s.getAttribute("type"),t=e?(0,o.I6)((0,y.i)(n.firstElementChild,{complexType:e=>e}),(t=>t.getAttribute("name")===J(e).name)):(0,o.I6)((0,y.i)(s,{complexType:e=>e}),(()=>!0));if(t)return function(e){const t=[],r=[];let n;const o=(0,y.i)(e,{complexContent:{extension:{sequence:{element:e=>e}}}});for(const s of o){const o=s.getAttribute("name");if(!o)continue;let a,l;if(s.hasAttribute("type")?a=J(s.getAttribute("type")).name:(0,y.p)(s,{simpleType:{restriction:e=>(a=J(e.getAttribute("base")).name,{maxLength:e=>{l=+e.getAttribute("value")}})}}),!a)continue;const u="true"===s.getAttribute("nillable");let p=!1;switch(a.toLowerCase()){case"integer":case"nonpositiveinteger":case"negativeinteger":case"long":case"int":case"short":case"byte":case"nonnegativeinteger":case"unsignedlong":case"unsignedint":case"unsignedshort":case"unsignedbyte":case"positiveinteger":r.push(new m.A({name:o,alias:o,type:"integer",nullable:u,length:(0,h._b)("integer")}));break;case"float":case"double":case"decimal":r.push(new m.A({name:o,alias:o,type:"double",nullable:u,length:(0,h._b)("double")}));break;case"boolean":case"string":case"gyearmonth":case"gyear":case"gmonthday":case"gday":case"gmonth":case"anyuri":case"qname":case"notation":case"normalizedstring":case"token":case"language":case"idrefs":case"entities":case"nmtoken":case"nmtokens":case"name":case"ncname":case"id":case"idref":case"entity":case"duration":case"time":r.push(new m.A({name:o,alias:o,type:"string",nullable:u,length:l??(0,h._b)("string")}));break;case"datetime":case"date":r.push(new m.A({name:o,alias:o,type:"date",nullable:u,length:l??(0,h._b)("date")}));break;case"pointpropertytype":n="point",p=!0;break;case"multipointpropertytype":n="multipoint",p=!0;break;case"curvepropertytype":case"multicurvepropertytype":case"multilinestringpropertytype":n="polyline",p=!0;break;case"surfacepropertytype":case"multisurfacepropertytype":case"multipolygonpropertytype":n="polygon",p=!0;break;case"geometrypropertytype":case"multigeometrypropertytype":p=!0,t.push(new i.A(A,`geometry type '${a}' is not supported`,{type:(new XMLSerializer).serializeToString(e)}));break;default:t.push(new i.A(M,`Unknown field type '${a}'`,{type:(new XMLSerializer).serializeToString(e)}))}p&&r.push(new m.A({name:o,alias:o,type:"geometry",nullable:u}))}for(const e of r)if("integer"===e.type&&!e.nullable&&D.has(e.name.toLowerCase())){e.type="oid";break}return{geometryType:n,fields:r,errors:t}}(t)}throw new i.A(F,`Type '${e}' not found in document`,{document:(new XMLSerializer).serializeToString(n)})}(t,(await(0,n.A)(e,{responseType:"text",query:{SERVICE:"WFS",REQUEST:"DescribeFeatureType",VERSION:w,TYPENAME:t,TYPENAMES:t,...r?.customParameters},signal:r?.signal})).data)}const D=new Set(["objectid","fid"]);async function G(e,t,r,o,s){let{data:a}=await(0,n.A)(e,{responseType:"text",query:z(t,r,o,s),signal:s?.signal});a=a.replaceAll(/": +(-?\d+),(\d+)(,)?/g,'": $1.$2$3');try{return JSON.parse(a)}catch(e){throw new i.A(S,"Error while parsing the response",{response:a,error:e})}}function z(e,t,r,n){const i="number"==typeof t?t:t.wkid;return{SERVICE:"WFS",REQUEST:"GetFeature",VERSION:w,TYPENAMES:e,OUTPUTFORMAT:r,SRSNAME:"EPSG:"+i,STARTINDEX:n?.startIndex,COUNT:n?.count,...n?.customParameters}}async function q(e,t,r){const i=await(0,n.A)(e,{responseType:"text",query:{SERVICE:"WFS",REQUEST:"GetFeature",VERSION:w,TYPENAMES:t,RESULTTYPE:"hits",...r?.customParameters},signal:r?.signal}),o=/numberMatched=["'](?<numberMatched>\d+)["']/gi.exec(i.data);if(o?.groups)return+o.groups.numberMatched}function L(e){return(new DOMParser).parseFromString(e.trim(),"text/xml")}function J(e){const[t,r]=e.split(":");return{prefix:r?t:"",name:r??t}}function B(e){let t="",r="";if((0,y.p)(e.firstElementChild,{Exception:e=>(t=e.getAttribute("exceptionCode"),{ExceptionText:e=>{r=e.textContent}})}),t)throw new i.A(`wfs-layer:${t}`,r)}function H(e,t,r){const n={wkid:t.defaultSpatialReference},i=null!=r?.wkid?{wkid:r.wkid}:n;return{spatialReference:i,getFeatureSpatialReference:(0,f.Fi)(e)||i.wkid&&t.supportedSpatialReferences.includes(i.wkid)?{wkid:i.wkid}:{wkid:t.defaultSpatialReference}}}},13043:(e,t,r)=>{function n(e,t){if(e&&t)for(const r of e.children)if(r.localName in t){const e=t[r.localName];if("function"==typeof e){const t=e(r);t&&n(r,t)}else n(r,e)}}function*i(e,t){for(const r of e.children)if(r.localName in t){const e=t[r.localName];"function"==typeof e?yield e(r):yield*i(r,e)}}r.d(t,{i:()=>i,p:()=>n})},91880:(e,t,r)=>{r.d(t,{A:()=>c});var n,i=r(90237),o=r(66552),s=r(25482),a=r(10107),l=(r(44208),r(53966),r(87811),r(40608));const u=new o.J({asc:"ascending",desc:"descending"});let p=n=class extends s.A{constructor(e){super(e),this.field=null,this.valueExpression=null,this.order="ascending"}clone(){return new n({field:this.field,valueExpression:this.valueExpression,order:this.order})}};(0,i._)([(0,a.MZ)({type:String,json:{write:!0}})],p.prototype,"field",void 0),(0,i._)([(0,a.MZ)({type:String,json:{write:!0,origins:{"web-scene":{read:!1,write:!1}}}})],p.prototype,"valueExpression",void 0),(0,i._)([(0,a.MZ)({type:u.apiValues,json:{type:u.jsonValues,read:u.read,write:u.write}})],p.prototype,"order",void 0),p=n=(0,i._)([(0,l.$)("esri.layers.support.OrderByInfo")],p);const c=p},96184:(e,t,r)=>{r.d(t,{A:()=>m});var n=r(90237),i=r(69540),o=r(25482),s=r(10107),a=(r(44208),r(53966),r(87811),r(36005)),l=r(40608),u=r(43937),p=r(79677),c=r(10184),d=r(56400);function y(e,t){return c.A.fromJSON({value:e,unit:t})}let f=class extends(i.A.ClonableMixin(o.A)){constructor(e){super(e),this.cumulative=!1,this.endField=null,this.fullTimeExtent=null,this.hasLiveData=!1,this.interval=null,this.startField=null,this.timeZone=null,this.trackIdField=null,this.useTime=!0,this.stops=null}readFullTimeExtent(e,t){return t.timeExtent&&Array.isArray(t.timeExtent)&&2===t.timeExtent.length?p.A.fromArray(t.timeExtent):null}writeFullTimeExtent(e,t){null!=e?.start&&null!=e.end?t.timeExtent=e.toArray():t.timeExtent=null}readInterval(e,t){return t.timeInterval&&t.timeIntervalUnits?y(t.timeInterval,t.timeIntervalUnits):t.defaultTimeInterval&&t.defaultTimeIntervalUnits?y(t.defaultTimeInterval,t.defaultTimeIntervalUnits):null}writeInterval(e,t){t.timeInterval=e?.toJSON().value??null,t.timeIntervalUnits=e?.toJSON().unit??null}};(0,n._)([(0,s.MZ)({type:Boolean,json:{name:"exportOptions.timeDataCumulative",write:!0}})],f.prototype,"cumulative",void 0),(0,n._)([(0,s.MZ)({type:String,json:{name:"endTimeField",write:{enabled:!0,allowNull:!0}}})],f.prototype,"endField",void 0),(0,n._)([(0,s.MZ)({type:p.A,json:{write:{enabled:!0,allowNull:!0}}})],f.prototype,"fullTimeExtent",void 0),(0,n._)([(0,a.w)("fullTimeExtent",["timeExtent"])],f.prototype,"readFullTimeExtent",null),(0,n._)([(0,u.K)("fullTimeExtent")],f.prototype,"writeFullTimeExtent",null),(0,n._)([(0,s.MZ)({type:Boolean,json:{write:!0}})],f.prototype,"hasLiveData",void 0),(0,n._)([(0,s.MZ)({type:c.A,json:{write:{enabled:!0,allowNull:!0}}})],f.prototype,"interval",void 0),(0,n._)([(0,a.w)("interval",["timeInterval","timeIntervalUnits","defaultTimeInterval","defaultTimeIntervalUnits"])],f.prototype,"readInterval",null),(0,n._)([(0,u.K)("interval")],f.prototype,"writeInterval",null),(0,n._)([(0,s.MZ)({type:String,json:{name:"startTimeField",write:{en