// All material copyright Esri, All Rights Reserved, unless otherwise specified. // See https://js.arcgis.com/4.30/esri/copyright.txt for details. //>>built require({cache:{"esri/widgets/Legend/LegendViewModel":function(){define("../../chunks/tslib.es6 ../../intl ../../core/Accessor ../../core/Collection ../../core/reactiveUtils ../../core/accessorSupport/decorators/property ../../core/has ../../core/Logger ../../core/RandomLCG ../../core/accessorSupport/decorators/subclass ../../core/accessorSupport/get ../../views/2d/layers/features/layerAdapters/featureReductionUtils ./support/ActiveLayerInfo ../../intl/locale".split(" "),function(d,a,P,B,q,G,C,I, M,H,x,f,g,e){const l=B.ofType(g),h=new Set("esri.layers.BuildingSceneLayer esri.layers.CatalogLayer esri.layers.CSVLayer esri.layers.FeatureLayer esri.layers.GeoJSONLayer esri.layers.GeoRSSLayer esri.layers.GroupLayer esri.layers.HeatmapLayer esri.layers.ImageryLayer esri.layers.ImageryTileLayer esri.layers.MapImageLayer esri.layers.OGCFeatureLayer esri.layers.OrientedImageryLayer esri.layers.PointCloudLayer esri.layers.StreamLayer esri.layers.SceneLayer esri.layers.SubtypeGroupLayer esri.layers.TileLayer esri.layers.VoxelLayer esri.layers.WFSLayer esri.layers.WMSLayer esri.layers.WMTSLayer esri.layers.WCSLayer esri.layers.LinkChartLayer esri.layers.catalog.CatalogFootprintLayer esri.layers.catalog.CatalogDynamicGroupLayer esri.layers.knowledgeGraph.KnowledgeGraphSublayer".split(" ")), y=["view.basemapView.baseLayerViews","view.groundView.layerViews","view.layerViews","view.basemapView.referenceLayerViews"];a=class extends P{constructor(p){super(p);this._layerViewByLayerId={};this._layerInfosByLayerViewId={};this._activeLayerInfosByLayerViewId={};this._activeLayerInfosWithNoParent=new B;this.activeLayerInfos=new l;this.respectLayerDefinitionExpression=this.keepCacheOnDestroy=this.hideLayersNotInCurrentView=this.groundLegendVisible=this.basemapLegendVisible=!1;this.respectLayerVisibility= !0;this.layerInfos=[];this.view=null}initialize(){this.addHandles(q.watch(()=>this.view,()=>this._viewHandles(),q.initial),"view");this.addHandles(e.onLocaleChange(()=>this._refresh()))}destroy(){this._destroyViewActiveLayerInfos();this.view=null}get state(){return this.view?.ready?"ready":"disabled"}_viewHandles(){this.removeHandles("state");this.view&&this.addHandles(q.watch(()=>this.state,()=>this._stateHandles(),q.initial),"state")}_stateHandles(){this._resetAll();"ready"===this.state&&this._watchPropertiesAndAllLayerViews()}_resetAll(){this.removeHandles(["all-layer-views", "legend-properties"]);this._destroyViewActiveLayerInfos();this.activeLayerInfos.removeAll()}_destroyViewActiveLayerInfos(){Object.keys(this._activeLayerInfosByLayerViewId).forEach(this._destroyViewActiveLayerInfo,this)}_destroyViewActiveLayerInfo(p){this.removeHandles(p);const r=this._activeLayerInfosByLayerViewId[p];delete this._activeLayerInfosByLayerViewId[p];r?.parent&&r.parent.children.remove(r)}_watchPropertiesAndAllLayerViews(){var {view:p}=this;p&&({allLayerViews:p}=p,p.length&&this._refresh(), this.addHandles(p.on("change",r=>this._propertiesChangeHandle()),"all-layer-views"),this.addHandles(q.watch(()=>[this.layerInfos,this.basemapLegendVisible,this.groundLegendVisible],()=>this._propertiesChangeHandle()),"legend-properties"))}_propertiesChangeHandle(){this._destroyViewActiveLayerInfos();this._refresh()}_refresh(){this._layerInfosByLayerViewId={};this.activeLayerInfos.removeAll();this._generateLayerViews().filter(this._filterLayerViewsByLayerInfos,this).filter(this._isLayerViewSupported, this).forEach(this._generateActiveLayerInfo,this);this._sortActiveLayerInfos(this.activeLayerInfos)}_sortActiveLayerInfos(p){const r=this.view;if(!(2>p.length)&&r){var m=[];p.forEach(E=>{if(!E.parent){var J=E.layer.parent;(J=(J=J&&"uid"in J&&this._layerViewByLayerId[J.uid])&&this._activeLayerInfosByLayerViewId[J.uid])&&p.includes(J)&&(m.push(E),E.parent=J,J.children.add(E),this._sortActiveLayerInfos(J.children))}});p.removeMany(m);var A={};r.allLayerViews.forEach((E,J)=>A[E.layer.uid]=J);p.sort((E, J)=>(A[J.layer.uid]||0)-(A[E.layer.uid]||0))}}_generateLayerViews(){const p=[];y.filter(this._filterLayerViews,this).map(r=>x.get(this,r)).filter(r=>null!=r).forEach(this._collectLayerViews("layerViews",p));return p}_filterLayerViews(p){const r=!this.groundLegendVisible&&"view.groundView.layerViews"===p;return!(!this.basemapLegendVisible&&("view.basemapView.baseLayerViews"===p||"view.basemapView.referenceLayerViews"===p))&&!r}_collectLayerViews(p,r){const m=A=>{A&&A.forEach(E=>{r.push(E);m(E[p])}); return r};return m}_filterLayerViewsByLayerInfos(p){const r=this.layerInfos;return r&&r.length?r.some(m=>this._hasLayerInfo(m,p)):!0}_hasLayerInfo(p,r){const m=this._isLayerUIDMatching(p.layer,r.layer.uid);m&&(this._layerInfosByLayerViewId[r.uid]=p);return m}_isLayerUIDMatching(p,r){return p&&(p.uid===r||this._hasLayerUID(p.layers,r))}_hasLayerUID(p,r){return p&&p.some(m=>this._isLayerUIDMatching(m,r))}_isLayerViewSupported(p){return h.has(p.layer.declaredClass)?(this._layerViewByLayerId[p.layer.uid]= p,!0):!1}_generateActiveLayerInfo(p){this._isLayerActive(p)?this._buildActiveLayerInfo(p):(this.removeHandles(p.uid),this.addHandles(q.watch(()=>[p.legendEnabled,p.layer?.legendEnabled],()=>this._layerActiveHandle(p)),p.uid))}_layerActiveHandle(p){this._isLayerActive(p)&&(this.removeHandles(p.uid),this._buildActiveLayerInfo(p))}_isLayerActive(p){return this.respectLayerVisibility?p.legendEnabled&&p.layer?.legendEnabled:!0}_buildActiveLayerInfo(p){const r=p.layer,m=p.uid;var A=this._layerInfosByLayerViewId[m]; let E=this._activeLayerInfosByLayerViewId[m];E||(E=new g({layer:r,layerView:p,title:void 0!==A?.title&&A.layer.uid===r.uid?A.title:r.title,view:this.view??void 0,respectLayerDefinitionExpression:this.respectLayerDefinitionExpression,respectLayerVisibility:this.respectLayerVisibility,hideLayersNotInCurrentView:this.hideLayersNotInCurrentView,keepCacheOnDestroy:this.keepCacheOnDestroy,sublayerIds:A?.sublayerIds||[]}),this._activeLayerInfosByLayerViewId[m]=E);E.parent=this._activeLayerInfosByLayerViewId[(r.parent&& "uid"in r.parent?this._layerViewByLayerId[r.parent?.uid]:null)?.uid];if(!this.hasHandles(m)){A=q.watch(()=>r.title,S=>this._titleHandle(S,E));var J=q.watch(()=>[r.opacity,"renderer"in r&&r.renderer,"pointSymbol"in r&&r.pointSymbol,"lineSymbol"in r&&r.lineSymbol,"polygonSymbol"in r&&r.polygonSymbol],()=>this._constructLegendElements(E)),b=q.when(()=>!0===this.view?.stationary,()=>this._scaleHandle(E),q.initial);const k=q.watch(()=>p.layer?f.getEffectiveFeatureReduction(p.layer,p.view):null,()=>this._constructLegendElements(E)), u=q.watch(()=>p.updating,()=>{null!=p.layer&&null!=f.getEffectiveFeatureReduction(p.layer,p.view)&&this._constructLegendElements(E)}),z=q.watch(()=>"effect"in r&&r.effect,()=>this._constructLegendElements(E)),K=q.when(()=>this.view?.timeZone,()=>this._constructLegendElements(E),q.initial);A=[A,J,b,k,u,z,K];this.respectLayerVisibility&&(J=q.watch(()=>p.legendEnabled,S=>this._legendEnabledHandle(S,E)),b=q.watch(()=>r.legendEnabled,S=>this._legendEnabledHandle(S,E)),A.push(J,b));this.addHandles(A,m)}E.isScaleDriven|| this._constructLegendElements(E);this._addActiveLayerInfo(E)}_titleHandle(p,r){r.title=p;this._constructLegendElements(r)}_legendEnabledHandle(p,r){p?this._addActiveLayerInfo(r):this._removeActiveLayerInfo(r)}_scaleHandle(p){(p.isScaleDriven||p.hideLayersNotInCurrentView)&&this._constructLegendElements(p)}_addActiveLayerInfo(p){const {layerView:r,layer:m}=p;if(this._isLayerActive(r)&&!this.activeLayerInfos.includes(p)){var A=p.parent;A?(A.children.includes(p)||A.children.push(p),this._sortActiveLayerInfos(A.children)): (A=this.layerInfos?.some(E=>E.layer.uid===m.uid),m.parent&&"uid"in m.parent&&!A?this._activeLayerInfosWithNoParent.add(p):(this.activeLayerInfos.add(p),this._sortActiveLayerInfos(this.activeLayerInfos)));if(this._activeLayerInfosWithNoParent.length){const E=[];this._activeLayerInfosWithNoParent.forEach(J=>{var b=J.layer.parent;if(b=this._activeLayerInfosByLayerViewId[(b&&"uid"in b?this._layerViewByLayerId[b?.uid]:null)?.uid])E.push(J),J.parent=b});E.length&&(this._activeLayerInfosWithNoParent.removeMany(E), E.forEach(J=>this._addActiveLayerInfo(J)))}}}_removeActiveLayerInfo(p){const r=p.parent;r?r.children.remove(p):this.activeLayerInfos.remove(p)}_constructLegendElements(p){const r=p.layer;"featureCollections"in r&&r.featureCollections?p.buildLegendElementsForFeatureCollections(r.featureCollections):"featureReduction"in r&&r.featureReduction&&"renderer"in r.featureReduction&&("binning"===r.featureReduction.type||"cluster"===r.featureReduction.type)&&(!this.view||r.featureReduction.maxScale<=this.view.scale)? p.buildLegendElementsForFeatureReduction(r.featureReduction):"renderer"in r&&r.renderer&&!("sublayers"in r)?p.buildLegendElementsForRenderer(r.renderer):"url"in r&&r.url&&"catalog"!==r.type?p.buildLegendElementsForTools():p.children.forEach(m=>this._constructLegendElements(m))}};d.__decorate([G.property({type:l})],a.prototype,"activeLayerInfos",void 0);d.__decorate([G.property()],a.prototype,"basemapLegendVisible",void 0);d.__decorate([G.property()],a.prototype,"groundLegendVisible",void 0);d.__decorate([G.property()], a.prototype,"hideLayersNotInCurrentView",void 0);d.__decorate([G.property()],a.prototype,"keepCacheOnDestroy",void 0);d.__decorate([G.property()],a.prototype,"respectLayerDefinitionExpression",void 0);d.__decorate([G.property()],a.prototype,"respectLayerVisibility",void 0);d.__decorate([G.property()],a.prototype,"layerInfos",void 0);d.__decorate([G.property({readOnly:!0})],a.prototype,"state",null);d.__decorate([G.property()],a.prototype,"view",void 0);return a=d.__decorate([H.subclass("esri.widgets.Legend.LegendViewModel")], a)})},"esri/views/2d/layers/features/layerAdapters/featureReductionUtils":function(){define(["exports"],function(d){d.getEffectiveFeatureReduction=function(a,P){return(a=a.featureReduction)&&"selection"!==a.type?!("maxScale"in a&&a.maxScale)||a.maxScalethis.notifyChange("ready");this.addHandles([e.on(()=>this.children,"change",t=>{const {added:D,removed:N}=t;D.forEach(O=>{const T=`activeLayerInfo-ready-watcher-${O.layer.uid}`;this.addHandles(e.watch(()=>O.ready,c,e.initial),T)});N.forEach(O=>this.removeHandles(O.layer.uid));c()})]);this.keepCacheOnDestroy|| (Da={})}destroy(){this._scaleDrivenSizeVariable=this._dotDensityUrlCache=this._webStyleSymbolCache=null;this.keepCacheOnDestroy||(Da=null);this._layerDefinitionExpressionClause=null}get effectList(){const c=this.layer;let t=null;"effect"in c&&c.effect&&(t=new E.EffectView,t.effect=c.effect,t.endTransitions(),t.scale=this.scale);return t}get opacity(){const c=this.layer.opacity,t=this.parent?.opacity;var D=this.layer.parent;D=D&&"uid"in D?this._getParentLayerOpacity(D):null;return null!=t?t*c:null!= D?D*c:c}get ready(){return null===this.layer?!0:0{if(k.isFeatureLayer(t))return this._getRendererLegendElements(t.renderer,{title:t.title});if(t.featureSet?.features.length){var D=t.layerDefinition,N=D?.drawingInfo;N=N&& z.fromJSON(N.renderer);D=Za.read(D.geometryType);return N?this._getRendererLegendElements(N,{title:t.name,geometryType:D}):(f.getLogger(this).warn("drawingInfo not available!"),null)}return null});try{const t=[],D=await Promise.allSettled(c);for(const N of D)if("fulfilled"===N.status)for(const O of N.value??[])t.push(O);this.legendElements=t;this.notifyChange("ready")}catch(t){f.getLogger(this).warn("error while building legend for layer!",t)}}}async buildLegendElementsForRenderer(c){try{this.legendElements= (this.hideLayersNotInCurrentView?await this._isLayerInCurrentView():1)?await this._getRendererLegendElements(c):[],this.notifyChange("ready")}catch(t){f.getLogger(this).warn("error while building legend for layer!",t)}}async buildLegendElementsForFeatureReduction(c){try{this.legendElements=(this.hideLayersNotInCurrentView?await this._isLayerInCurrentView():1)?await this._getLegendElementsForFeatureReduction(c):[],this.notifyChange("ready")}catch(t){f.getLogger(this).warn("error while building legend for layer!", t)}}async buildLegendElementsForTools(){const c=this.layer;if("esri.layers.VoxelLayer"===c.declaredClass)this._constructLegendElementsForVoxelLayer();else if("esri.layers.WMTSLayer"===c.declaredClass)this._constructLegendElementsForWMTSlayer();else if("esri.layers.WMSLayer"===c.declaredClass)await this._constructLegendElementsForWMSSublayers();else if("esri.layers.BuildingSceneLayer"===c.declaredClass)await this._constructLegendElementsForBuildingSceneLayer();else if(Ia(c)||"esri.layers.TileLayer"=== c.declaredClass||Ha(c))await this._constructLegendElementsForSublayers();else{this.removeHandles("imageryLayers-watcher");var t="default";if("esri.layers.ImageryLayer"===c.declaredClass){t=c?.rasterFunction?.functionName||"default";const D=c.bandIds?.length?c.bandIds.join(""):"###";t=t+"_"+D}"esri.layers.ImageryTileLayer"!==c.declaredClass&&await this._getLegendLayers(`${c.uid}-${t}`).then(async D=>{this.legendElements=[];this.notifyChange("ready");D=D.map(async N=>{if("esri.layers.ImageryLayer"=== c.declaredClass){const O=e.watch(()=>["renderingRule"in c&&c.rasterFunction,c.bandIds],()=>g.debounce(async()=>{Da["default"]=null;c.renderer?await this.buildLegendElementsForRenderer(c.renderer):await this.buildLegendElementsForTools()})());this.addHandles(O,"imageryLayers-watcher")}N=this._generateSymbolTableElementForLegendLayer(N);N?.infos.length&&("esri.layers.ImageryLayer"===c.declaredClass&&(N.title=c.title),this.legendElements.push(N));this.notifyChange("ready")});await Promise.allSettled(D)}).catch(D=> {f.getLogger(this).warn("Request to server for legend has failed!",D)})}}async _isLayerInCurrentView(){const c=this.layer,t=this.layerView,D=t&&"createQuery"in t&&"queryFeatureCount"in t;if(!(D||t&&"createQuery"in c&&"queryFeatureCount"in c))return!0;await e.whenOnce(()=>!t.updating);const N=D?"createQuery"in t&&t.createQuery():"createQuery"in c&&c.createQuery();if(!N)return!0;N.geometry=this.view.extent;return 0!==(D?"queryFeatureCount"in t&&await t.queryFeatureCount(N):"queryFeatureCount"in c&& await c.queryFeatureCount(N))}_getParentLayerOpacity(c){let t=1;const D=c.parent;D&&"uid"in D&&(t=this._getParentLayerOpacity(D));return c.opacity*t}_isGroupActive(){return this.children.some(c=>c.ready)}_isRendererScaleDriven(c){return"dot-density"===c.type||Na.test("valueExpression"in c?c.valueExpression:null)||("visualVariables"in c?c.visualVariables:null)?.some(t=>this._isScaleDrivenSizeVariable(t))?!0:this._hasScaleDrivenSymbols(c)}_hasScaleDrivenSymbols(c){switch(c.type){case "simple":return this._isScaleDrivenSymbol(c.symbol); case "class-breaks":return this._isScaleDrivenSymbol(c.defaultSymbol)||c.classBreakInfos.some(t=>this._isScaleDrivenSymbol(t.symbol));case "unique-value":return this._isScaleDrivenSymbol(c.defaultSymbol)||!!c.uniqueValueInfos?.some(t=>this._isScaleDrivenSymbol(t.symbol))}return!1}_isScaleDrivenSymbol(c){if("cim"===c?.type){const {primitiveOverrides:t,minScale:D,maxScale:N}=c.data;c=t?.some(O=>/\$view\.scale/.test(O.valueExpressionInfo?.expression||""))??!1;return null!=D||null!=N||c}return!1}_isScaleDrivenSizeVariable(c){if(c&& "size"!==c.type)return!1;const t=c.minSize,D=c.maxSize;return"object"===typeof t&&t&&this._isScaleDrivenSizeVariable(t)||"object"===typeof D&&D&&this._isScaleDrivenSizeVariable(D)?!0:Na.test(c.valueExpression)}_isLayerScaleDriven(c){if("minScale"in c&&0this._isLayerScaleDriven(D));const t=c.parent;if(!1===c.loaded&&t&&Ia(t)&&"source"in c&&c.source&&"map-layer"===c.source.type)for(const D of t.sourceJSON.layers?? [])if(D.id===c.source.mapLayerId&&(0c.currentVariableId,()=>this._constructLegendElementsForVoxelLayer()),"voxel-current-variable");this.addHandles(e.watch(()=>c.getVariableStyles(),()=>this._constructLegendElementsForVoxelLayer()),"voxel-style-watcher"); var t=c.getVariableStyle(null);const D=[];if(t)if(t.uniqueValues?.length){const O=[];t.uniqueValues.forEach(T=>{T.enabled&&O.push({label:T.label||`${T.value}`,value:T.value,symbol:new V({color:T.color,outline:null})})});O.length&&D.push({type:"symbol-table",title:t.label,infos:O})}else if(t.transferFunction){const {colorStops:O,stretchRange:T}=t.transferFunction,ba=O.toArray().reverse(),aa=T.map((ua,na)=>`${0===na?ea.specialCharsLessThan:ea.specialCharsGreaterThan} ${Y.formatNumberLabel(ua)}`).reverse(), oa=ba.map(ua=>({color:ua.color,value:null,label:null}));oa[0].label=aa[0];oa[oa.length-1].label=aa[1];D.push({type:"color-ramp",title:t.label,infos:oa,preview:w.renderColorRampPreviewHTML(ba.map(ua=>ua.color),{ariaLabel:await Aa("previewColorRampAriaLabel")})})}const N=c.opacity;t=D.reduce((O,T)=>[...O,...this._getAllInfos(T)],[]).filter(O=>!!O?.symbol).map(O=>this._getSymbolPreview(O,N));await Promise.allSettled(t);this.legendElements=D;this.notifyChange("ready")}_constructLegendElementsForWMTSlayer(){this.legendElements= [];this.removeHandles("wmts-activeLayer-watcher");const c=this.layer.activeLayer;this.addHandles(e.watch(()=>{const {layer:D}=this;return D&&"activeLayer"in D&&D.activeLayer},()=>this._constructLegendElementsForWMTSlayer()),"wmts-activeLayer-watcher");const t=c.styleId?c.styles?.find(({id:D})=>D===c.styleId)?.legendUrl:void 0;t&&(this.legendElements=[{type:"symbol-table",title:c.title,infos:[{src:t,opacity:this.opacity}]}]);this.notifyChange("ready")}async _constructLegendElementsForWMSSublayers(){this.legendElements= [];this.removeHandles("wms-sublayers-watcher");const c=this.layer;let t=null;if(c.customParameters||c.customLayerParameters)t={...c.customParameters,...c.customLayerParameters};this.addHandles(e.watch(()=>{const {layer:D}=this;return D&&"sublayers"in D&&D.sublayers},()=>this._constructLegendElementsForWMSSublayers()),"wms-sublayers-watcher");this.legendElements=await this._generateLegendElementsForWMSSublayers(c.sublayers,t);this.notifyChange("ready")}async _generateLegendElementsForWMSSublayers(c, t){const D=this.layer,N=[];this.addHandles(c.on("change",()=>this._constructLegendElementsForWMSSublayers()),"wms-sublayers-watcher");const O=this.sublayerIds?.map(T=>D.findSublayerById(T))?.filter(M.isSome)??[];c=O.length?O:c.toArray();for(const T of c)if(c=e.watch(()=>[T.title,T.visible,T.legendEnabled],()=>this._constructLegendElementsForWMSSublayers()),this.addHandles(c,"wms-sublayers-watcher"),!this.respectLayerVisibility||T.visible&&T.legendEnabled)c=await this._generateSymbolTableElementForWMSSublayer(T, t),c?.infos.length&&N.unshift(c);return N}async _generateSymbolTableElementForWMSSublayer(c,t){return!c.legendUrl&&c.sublayers?(t=(await this._generateLegendElementsForWMSSublayers(c.sublayers,t)).filter(D=>D),{type:"symbol-table",title:c.title,infos:t}):this._generateSymbolTableElementForLegendUrl(c,t)}async _generateSymbolTableElementForLegendUrl(c,t){let D=c.legendUrl;if(D){var N={type:"symbol-table",title:c.title||c.name||String(c.id??""),infos:[]};t&&(D=y.addQueryParameters(D,t));t=null;c=c.layer?.opacity; try{if(t=(await G(D,{responseType:"image"})).data)t.style.opacity=c}catch{}N.infos.push({src:D,preview:t,opacity:c});return N}}_getLegendLayers(c,t){const D=Da&&Da[c];return D?Promise.resolve(D):this._legendRequest(t).then(N=>{N=N.layers;return Da[c]=N})}_legendRequest(c){var t=this.layer;c={f:"json",dynamicLayers:c};if("esri.layers.ImageryLayer"===t.declaredClass){var D=t.exportImageServiceParameters.rasterFunction;D&&(c.renderingRule=JSON.stringify(D.functionDefinition?.toJSON()||D.toJSON()));t.bandIds&& (c.bandIds=t.bandIds.join());if(t.raster||t.viewId||t.customParameters){const {raster:N,viewId:O,customParameters:T}=t;c={raster:N,viewId:O,...c,...T}}}D=t.url.replace(/(\/)+$/,"");"version"in t&&10.01<=+t.version?(t=D.indexOf("?"),D=-1 N.data)}async _constructLegendElementsForBuildingSceneLayer(){this.legendElements=[];this.removeHandles("sublayers-watcher");const c=this.layer;this.addHandles(e.watch(()=>c.sublayers,()=>this._constructLegendElementsForBuildingSceneLayer()),"sublayers-watcher");try{this.legendElements=await this._generateLegendElementsForBuildingSublayers(c.sublayers,this.opacity),this.notifyChange("ready")}catch(t){f.getLogger(this).warn("Request to server for legend has failed!",t)}}async _generateLegendElementsForBuildingSublayers(c, t){let D=[];this.addHandles(c.on("change",()=>this._constructLegendElementsForBuildingSceneLayer()),"sublayers-watcher");c=c.toArray();for(const O of c)if(c=e.watch(()=>["renderer"in O&&O.renderer,O.opacity,O.title,O.visible],()=>this._constructLegendElementsForBuildingSceneLayer()),this.addHandles(c,"sublayers-watcher"),!this.respectLayerVisibility||O.visible){c=null!=O?.opacity?O.opacity:null;var N=null!=c?c*t:t;"building-group"===O.type?(c={type:"symbol-table",title:O.title,infos:[]},N=await this._generateLegendElementsForBuildingSublayers(O.sublayers, N),c.infos.push(...N),D=[c,...D]):O.renderer&&(D=[...(await this._getRendererLegendElements(O.renderer,{title:O.title,opacity:N,sublayer:O})),...D])}return D.filter(O=>!!O&&("infos"in O&&O.infos?0c.sublayers,()=>this._constructLegendElementsForSublayers),"sublayers-watcher"); try{this.legendElements=await this._generateLegendElementsForSublayers(c.sublayers,this.opacity),this.notifyChange("ready")}catch(t){f.getLogger(this).warn("Request to server for legend has failed!",t)}}}async _generateLegendElementsForSublayers(c,t,D){const N=this.layer;let O=[];this.addHandles(c.on("change",()=>this._constructLegendElementsForSublayers()),"sublayers-watcher");c=c.toArray();!D&&this.sublayerIds&&this.sublayerIds.length&&(c=Ha(N)?this.sublayerIds.map(T=>N.findSublayerForSubtypeCode(T)).filter(M.isSome): this.sublayerIds.map(T=>N.findSublayerById(T)).filter(M.isSome));for(const T of c)if(c=e.watch(()=>[T.renderer,T.opacity,T.title,T.visible,T.legendEnabled],()=>this._constructLegendElementsForSublayers()),this.addHandles(c,"sublayers-watcher"),!this.respectLayerVisibility||T.visible&&T.legendEnabled&&this._isSublayerInScale(T)){c=null!=T?.opacity?T.opacity:null;c=null!=c?c*t:t;const ba="sublayers"in T?T.originIdOf("renderer")>A.OriginId.SERVICE&&!T.sublayers:!0;T.renderer&&ba?(await T.load(),O=[...(await this._getRendererLegendElements(T.renderer, {title:T.title,opacity:c,sublayer:T})),...O]):"sublayers"in T&&(c=await this._generateSymbolTableElementForSublayer(T,c,D))&&O.unshift(c)}return O.filter(T=>!!T&&("infos"in T&&T.infos?0A.OriginId.SERVICE||c.originIdOf("labelingInfo")> A.OriginId.SERVICE||c.originIdOf("labelsVisible")>A.OriginId.SERVICE)O=new b.ExportImageParameters({layer:this.layer}),T=O.hasDynamicLayers?O.dynamicLayers:null,O.destroy();(await this._getLegendLayers(T||`${N.uid}-default`,T)).forEach(ba=>D.set(ba.layerId,ba))}N=D.get(c.id);return(!N||N?.subLayerIds&&N.defaultVisibility)&&c.sublayers?(t=await this._generateLegendElementsForSublayers(c.sublayers,t,D),{type:"symbol-table",title:c.title,infos:t}):this._generateSymbolTableElementForLegendLayer(N,c,t)}_generateSymbolTableElementForLegendLayer(c, t,D){if(!c?.legend||this.respectLayerVisibility&&!this._isLegendLayerInScale(c,t))return null;var N=t?.renderer;let O=t?.title||c.layerName;N&&(!t||t?.originIdOf("renderer")>A.OriginId.SERVICE)&&(N=t?.title||this._getRendererTitle(N,t))&&(O&&"string"!==typeof N&&"title"in N&&(N.title=O),O=N);const T={type:"symbol-table",title:O,legendType:c.legendType||null,infos:[]},ba=t?this._sanitizeLegendForSublayer(c.legend.slice(),t):c.legend;c.legendGroups&&0 {const oa={type:"symbol-table",title:aa.heading,legendType:c.legendType||null,infos:this._generateSymbolTableElementInfosForLegendLayer(ba.filter(ua=>ua.groupId===aa.id),c.layerId,D)};0{let O=N.url;if(N.imageData&&0this.scale?!1:!0}_isLegendLayerInScale(c,t){t=t||this.layer;let D=null,N=null,O=!0;!t.minScale&&0!==t.minScale||!t.maxScale&&0!==t.maxScale?(0===c.minScale&&t.tileInfo&&(D=t.tileInfo.lods[0].scale),0===c.maxScale&& t.tileInfo&&(N=t.tileInfo.lods[t.tileInfo.lods.length-1].scale)):(D=Math.min(t.minScale,c.minScale)||t.minScale||c.minScale,N=Math.max(t.maxScale,c.maxScale));if(0this.scale)O=!1;return O}_sanitizeLegendForSublayer(c,t){if("version"in this.layer&&10.1>+this.layer.version||0===c.length)return c;t=t.renderer;let D=0,N=null;c.some(O=>O.values)&&c.some((O,T)=>{O.values||(D=T,N=O,N.label||(N.label="others"));return null!=N});t?"unique-value"===t.type?N&&(c.splice(D,1),c.push(N)):"class-breaks"=== t.type&&(N&&c.splice(D,1),c.reverse(),N&&c.push(N)):N&&(c.splice(D,1),c.push(N));return c}async _getRendererLegendElements(c,t={}){var D=this.view;D=da(c)||ma(c)||ka(c)||sa(c)||Ma(c)||Ca(c)?"2d"===D.type||K.isSupportedRenderer3D(c):"raster-stretch"===c.type||"raster-colormap"===c.type||"raster-shaded-relief"===c.type||va(c)||ya(c)||za(c)||"vector-field"===c.type||"flow"===c.type;if(!D)return f.getLogger(this).warn(`Renderer of type '${c.type}' not supported!`),[];if(va(c)||ya(c)||za(c)||"esri.renderers.PointCloudRGBRenderer"=== c.declaredClass)return this._constructPointCloudRendererLegendElements(c,t);if(Ma(c))return this._constructDotDensityRendererLegendElements(c);c=await this._loadRenderer(c);return Ca(c)?this._constructPieChartRendererLegendElements(c):this._constructRendererLegendElements(c,t)}async _getLegendElementsForFeatureReduction(c){let t=null;"binning"===c.type?t=c.renderer:"cluster"===c.type&&(t=this._getClusterRenderer(c));return t?this._getRendererLegendElements(t):[]}_getPointCloudRendererTitle(c){return(c.legendOptions?.title|| c.field)??""}async _constructPointCloudRendererLegendElements(c,t={}){var D=t.title;t=[];let N=null;var O=null;if(va(c))N={type:"symbol-table",title:D||this._getPointCloudRendererTitle(c),infos:[]},c.colorClassBreakInfos.forEach(T=>{N.infos.unshift({label:T.label||T.minValue+" - "+T.maxValue,value:[T.minValue,T.maxValue],symbol:this._getAppliedCloneSymbol(Oa,T.color)})});else if(ya(c)){O=c.stops;let T=null;if(O?.length&&(1===O.length&&(T=O[0].color),!T)){const ba=O[0].value,aa=O[O.length-1].value; null!=ba&&null!=aa&&(T=R.getColorFromPointCloudStops(ba+(aa-ba)/2,O))}N={type:"symbol-table",title:null,infos:[{label:null,value:null,symbol:this._getAppliedCloneSymbol(Oa,T||Oa.color)}]};O=R.getRampStopsForPointCloud(c.stops??[])??[];O={type:"color-ramp",title:D||this._getPointCloudRendererTitle(c),infos:O,preview:w.renderColorRampPreviewHTML(O.map(ba=>ba.color),{ariaLabel:await Aa("previewColorRampAriaLabel")})}}else za(c)&&(N={type:"symbol-table",title:D||this._getPointCloudRendererTitle(c),infos:[]}, c.colorUniqueValueInfos?.forEach(T=>{N.infos.push({label:T.label||T.values.join(", "),value:T.values.join(", "),symbol:this._getAppliedCloneSymbol(Oa,T.color)})}));N?.infos.length&&t.push(N);O?.infos.length&&t.push(O);D=t.reduce((T,ba)=>[...T,...(ba.infos??[])],[]).filter(T=>!!T.symbol).map(T=>this._getSymbolPreview(T,this.opacity,{symbolConfig:{applyColorModulation:!!c.colorModulation}}));await Promise.allSettled(D);return t}async _getElementInfoForDotDensity(c,t){const {color:D,label:N,valueExpressionTitle:O}= t,{backgroundColor:T,outline:ba,dotSize:aa}=c;t=this.effectList?.effects.map(na=>na.toJSON());var oa=J.effectFunctionsFromJSON(t);t=await Aa("previewTemplateAriaLabel",N||O);oa=aa+"-"+D+"-"+T+"-"+(ba&&JSON.stringify(ba.toJSON()))+"-"+oa;const ua=this._dotDensityUrlCache;c=ua.has(oa)?ua.get(oa):w.renderDotDensityPreviewHTML(c,D,{ariaLabel:t});ua.set(oa,c);t=ca.renderSymbol([[{shape:{type:"image",x:0,y:0,width:c.width,height:c.height,src:c.src},fill:null,stroke:null,offset:[0,0]}]],[c.width,c.height], {effectView:this.effectList,ariaLabel:t});return{opacity:1,src:c.src,preview:t,width:c.width,height:c.height}}async _constructDotDensityRendererLegendElements(c){var t=c.calculateDotValue(this.view.scale);t={type:"symbol-table",title:{value:t&&Math.round(t),unit:c.legendOptions?.unit||""},infos:[]};for(const D of c.attributes){const N=await this._getElementInfoForDotDensity(c,D);N.label=D.label||D.valueExpressionTitle||D.field;t.infos.push(N)}return[t]}async _constructPieChartRendererLegendElements(c){const t= this.layer.opacity,D=[];let N=null;const O=c.outline;c.attributes.forEach(aa=>{const oa=new ja({color:aa.color,outline:O});D.push({label:aa.label||aa.valueExpressionTitle||aa.field,symbol:oa})});var T=D.length?[...D]:[];if(c.othersCategory?.color&&0!==c.othersCategory?.threshold){var ba=new ja({color:c.othersCategory.color,outline:O});N=c.othersCategory.label||"Other";D.push({label:N,symbol:ba})}c.defaultColor?.a&&(ba=new ja({color:c.defaultColor,outline:O}),D.push({label:c.defaultLabel,symbol:ba})); ba=await this._getVisualVariableLegendElements(c,this.layer)||[];D.length&&(ba.unshift({type:"symbol-table",title:null,infos:D}),T=T.filter(aa=>aa.label!==N).map(aa=>aa.symbol.color).filter(Boolean),T=w.renderPieChartPreviewHTML(T,{holePercentage:c.holePercentage,backgroundColor:c.backgroundFillSymbol?.color,effectList:this.effectList,outline:O,ariaLabel:await Aa("previewPieChartAriaLabel")}),ba.unshift({type:"pie-chart-ramp",title:this._getRendererTitle(c,this.layer),infos:D,preview:T}));c=ba.reduce((aa, oa)=>[...aa,...this._getAllInfos(oa)],[]).filter(aa=>!!aa?.symbol&&!aa?.preview).map(aa=>this._getSymbolPreview(aa,t,{effectList:this.effectList}));await Promise.allSettled(c);return ba}async _constructRendererLegendElements(c,t={}){const {title:D,sublayer:N}=t,O=N||this.layer,T=ea.getReferenceSizeAuthoringInfoVisualVariable(c);"definitionExpression"in O&&O.definitionExpression&&!this._layerDefinitionExpressionClause&&this.respectLayerDefinitionExpression&&(this._layerDefinitionExpressionClause=await h.parseWhereClause(O.definitionExpression, O.fieldsIndex));this._hasSizeRamp=this._hasOpacityRamp=this._hasColorRamp=!1;this._scaleDrivenSizeVariable=null;const ba=await this._getVisualVariableLegendElements(c,O)||[],aa={type:"symbol-table",title:D||this._getRendererTitle(c,O),infos:[]};let oa=null,ua=!1;const na=new Set;if("flow"!==c.type||this._hasSizeRamp)if("univariate-color-size"===("authoringInfo"in c?c?.authoringInfo:null)?.type){var ha=D,qa=Ya(c)?"univariate-above-and-below-ramp":"univariate-color-size-ramp",ra=ba.findIndex(la=>"color-ramp"=== la.type);ra=-1!==ra?ba.splice(ra,1)[0]:null;var pa=ba.findIndex(la=>"size-ramp"===la.type);pa=-1!==pa?ba.splice(pa,1)[0]:null;var xa=[];ra&&(ha=ra.title,xa.push(ra));pa&&(ha=pa.title,xa.push(pa));0la.color),{effectList:this.effectList,ariaLabel:await Aa("previewColorRampAriaLabel")})}); else if(ka(c)){if((qa=c&&c.authoringInfo)&&"relationship"===qa.type){const {numClasses:la,field1:ta,field2:wa}=qa;qa=qa.focus;if(la&&ta&&wa){pa=[ta,wa];ra=X.getRotationAngleForFocus(qa)||0;for(ha of pa){const {field:Ja,normalizationField:Ka,label:Pa}=ha;pa=Pa||{field:this._getFieldAlias(Ja,O),normField:Ka&&this._getFieldAlias(Ka,O)};xa=ab.clone();xa.angle=ra;aa.infos.push({label:pa,symbol:xa});na.add(xa);ra+=90}ha=X.getRelationshipRampElement({focus:qa,numClasses:la,infos:c.uniqueValueInfos??[]}); ba.unshift(ha)}}else if("esri.layers.ImageryLayer"===this.layer.declaredClass||"esri.layers.ImageryTileLayer"===this.layer.declaredClass){const {field:la,field2:ta}=c;c.uniqueValueInfos?.forEach(wa=>{wa.symbol&&(la&&this._checkDefinitionExpression(la,wa.value)||ta)&&aa.infos.push({label:wa.label||wa.value,value:wa.value,symbol:wa.symbol})})}else{const {field:la,field2:ta,field3:wa,fieldDelimiter:Ja,valueExpression:Ka,defaultSymbol:Pa}=c,bb=!(!la&&!Ka||!ta&&!wa),Ea=[];c.uniqueValueGroups?.forEach(Ta=> {const Ra={type:"symbol-table",title:Ta.heading,infos:[]};Ta.classes?.forEach(Fa=>{const {symbol:Ua,values:cb}=Fa;if(Ua){var Ga=[],Ba=[];for(const db of cb??[]){const {value:Va,value2:Wa,value3:Xa}=db,La=[],Qa=[];if(la||Ka)La.push(Va),Qa.push(this._getDomainName(la,Va,O));ta&&(La.push(Wa),Qa.push(this._getDomainName(ta,Wa,O)));wa&&(La.push(Xa),Qa.push(this._getDomainName(wa,Xa,O)));Ga.push(bb?La.join(Ja||""):La[0]);Ba.push(Qa.join(" - "))}Ga=Ga.join(", ");Fa=Fa.label;Fa||(Ba=Ba.filter(Boolean),Fa= Ba.length?Ba.join(", "):Ga);Ba=Ua.clone();"cim"===Ba.type&&T&&L.updateReferenceSizeSymbol(Ba,{innerDotSize:8,outerRingSize:16});(this._checkDefinitionExpression(la,Ga)||ta)&&Ra.infos.push({label:Fa,value:Ga,symbol:Ba})}});Ra.infos.length&&Ea.push(Ra)});Ea.length&&(ha=Ea[0],1===Ea.length&&"title"in ha&&!ha.title?aa.infos.push(...(ha.infos??[])):(Pa&&(Ea.push({type:"symbol-table",infos:[{label:c.defaultLabel||"others",symbol:Pa}]}),ua=!0),aa.infos.push(...Ea)),D||c.legendOptions?.title||c.valueExpressionTitle|| (aa.title=null))}c.defaultSymbol&&!ua&&(aa.infos.push({label:c.defaultLabel||"others",symbol:c.defaultSymbol}),ua=!0)}else if(ma(c)){if(!T){oa=this._isUnclassedRenderer(c);if(!oa||!this._hasSizeRamp){ha=c.classBreakInfos.filter(({symbol:la})=>la);for(const {label:la,minValue:ta,maxValue:wa,symbol:Ja}of ha)aa.infos.unshift({label:la||(oa?null:`${ta} - ${wa}`),value:[ta,wa],symbol:Ja});oa&&(aa.title=null);this._updateInfosForClassedSizeRenderer(c,aa.infos)}c.defaultSymbol&&!oa&&(aa.infos.push({label:c.defaultLabel|| "others",symbol:c.defaultSymbol}),ua=!0)}}else if("raster-stretch"===c.type)if("esri.layers.ImageryTileLayer"===this.layer.declaredClass||"esri.layers.WCSLayer"===this.layer.declaredClass)ha=await this._constructTileImageryStretchRendererElements(c),"stretch-ramp"===ha.type?ba.push(ha):aa.infos=ha;else{ha=this.layer;c.statistics?.length&&(ra=c.statistics[0],ea.isRasterBandStatistics(ra)?(qa=ra.min,ra=ra.max):[qa,ra]=ra);pa=[];pa=ha.serviceRasterInfo;if(ha.rasterFunction)try{pa=await ha.generateRasterInfo(ha.rasterFunction)}catch{}xa= u.getPixelValueRange(pa.pixelType);if(1===pa.bandCount)ha=ha.bandIds?.[0]||0,qa=null!=qa?qa:pa.statistics?pa.statistics[ha].min:xa[0],ra=null!=ra?ra:pa.statistics?pa.statistics[ha].max:xa[1],qa||ra?ba.push(await this._getStretchLegendElements(c,{min:qa,max:ra})):this._getServerSideLegend();else if(ha.bandIds&&1===ha.bandIds.length)qa=null!=qa?qa:pa.statistics?pa.statistics[ha.bandIds[0]].min:xa[0],ra=null!=ra?ra:pa.statistics?pa.statistics[ha.bandIds[0]].max:xa[1],qa||ra?ba.push(await this._getStretchLegendElements(c, {min:qa,max:ra})):this._getServerSideLegend();else if(3<=pa.bandCount){const {bandInfos:la}=pa;({bandIds:qa}=ha);la.length>=pa.bandCount?3===qa?.length?(pa=qa.map(ta=>la[ta].name),aa.infos=this._createSymbolTableElementMultiBand(pa)):"lerc"===ha.format?(pa=[0,1,2].map(ta=>la[ta].name),aa.infos=this._createSymbolTableElementMultiBand(pa)):this._getServerSideLegend():"lerc"===ha.format?(pa=["band1","band2","band3"],aa.infos=this._createSymbolTableElementMultiBand(pa)):this._getServerSideLegend()}else this._getServerSideLegend()}else if("raster-colormap"=== c.type)c.colormapInfos.forEach(la=>{aa.infos.push({label:la.label,value:la.value,symbol:this._getAppliedCloneSymbol($a,la.color)})});else if(da(c)){ha=c.symbol;switch(t.geometryType){case "point":ha="pointSymbol"in O?O.pointSymbol:null;break;case "polyline":ha="lineSymbol"in O?O.lineSymbol:null;break;case "polygon":ha="polygonSymbol"in O?O.polygonSymbol:null}qa=this._hasClusterSizeVariable&&this._getClusterSymbol()||!this._hasSizeRamp;c.symbol&&qa&&aa.infos.push({label:c.label,symbol:ha})}else"vector-field"=== c.type?(c.outputUnit&&(this.title="("+c.toJSON().outputUnit+")"),aa.title=c.attributeField,ha=c.getClassBreakInfos(),ha?.length?ha.forEach(la=>{aa.infos.push({label:la.minValue+" - "+la.maxValue,symbol:la.symbol})}):aa.infos.push({label:c.attributeField,symbol:c.getDefaultSymbol()})):"raster-shaded-relief"===c.type&&ba.push(await this._getStretchLegendElements(c,{min:0,max:255}));else ha=await ea.getSymbolForFlowRenderer(c),aa.infos.push({label:null,symbol:ha});const Sa=c.defaultSymbol;!Sa||ua||da(c)|| oa&&!this._hasColorRamp&&!this._hasSizeRamp&&!this._hasOpacityRamp||ba.push({type:"symbol-table",infos:[{label:c.defaultLabel||"others",symbol:Sa}]});aa.infos.length&&ba.unshift(aa);const eb=null==t.opacity?this.opacity:t.opacity,fb=this._isTallSymbol("visualVariables"in c?c.visualVariables:null),gb="esri.layers.ImageryLayer"===this.layer.declaredClass||"esri.layers.ImageryTileLayer"===this.layer.declaredClass;t=ba.reduce((la,ta)=>[...la,...this._getAllInfos(ta)],[]).filter(la=>!!la?.symbol).filter(la=> {if("cim"===la.symbol.type){const {minScale:ta,maxScale:wa}=la.symbol.data;if(ta&&tathis.scale)return!1}return!0}).map(la=>this._getSymbolPreview(la,eb,{isDefault:la.symbol===Sa,applyScaleDrivenSize:!na.has(la.symbol),symbolConfig:{isTall:fb,isSquareFill:gb},effectList:na.has(la.symbol)?null:this.effectList}));c=null;await Promise.allSettled(t);return ba}_checkDefinitionExpression(c,t){return c&&"string"===typeof c&&this._layerDefinitionExpressionClause?this._layerDefinitionExpressionClause.testFeature({[c]:t}): !0}_getServerSideLegend(){setTimeout(()=>this.buildLegendElementsForTools(),0)}_getAllInfos(c){const t=c?.infos;return t?t.reduce((D,N)=>D.concat(this._getAllInfos(N)),[]):[c]}async _constructTileImageryStretchRendererElements(c){const t=this.layer,D=t.symbolizer.rasterInfo??t.raster.rasterInfo;var N;if(N=c?.statistics?.length?c.statistics:D?.statistics){var O=N[0];ea.isRasterBandStatistics(O)?(N=O.min,O=O.max):[N,O]=O}else O=u.getPixelValueRange(D.pixelType),N=O[0],O=O[1];t.hasStandardTime()&&(N= t.getStandardTimeValue(N),O=t.getStandardTimeValue(O));if(1===D.bandCount||1===t.bandIds?.length)return this._getStretchLegendElements(c,{min:N,max:O});c=(t?.bandIds?.length?t.bandIds:Array.from(Array(Math.min(D.bandCount,3)).keys())).map(T=>D.bandInfos[T].name);3>c.length?c.push(c[1]):3 D.color),{ariaLabel:await Aa("previewColorRampAriaLabel")})}}_getClusterSymbol(){var c=this.layer;const t=(c="featureReduction"in c&&c.featureReduction)&&"symbol"in c&&c.renderer;return t&&!0!==t?.authoringInfo?.isAutoGenerated?null:c&&"symbol"in c?c.symbol:null}async _getSizeLegendElement(c,t,D,N){return{type:"size-ramp",title:this._hasClusterSizeVariable?this._getClusterTitle(t):c,infos:await Z.getRampStops(D,t,await ea.getMedianColor(D),this.scale,this.view,N,this._hasClusterSizeVariable?this._getClusterSymbol(): null)}}_createSymbolTableElementMultiBand(c){const t=[],D=["red","green","blue"];c.forEach((N,O)=>{t.push({label:{colorName:D[O],bandName:N},src:ea.rgbImgSource[O],opacity:this.opacity??1})});return t}_updateInfosForClassedSizeRenderer(c,t){const D=c.authoringInfo&&"class-breaks-size"===c.authoringInfo.type,N=c.classBreakInfos.some(O=>n.isVolumetricSymbol(O.symbol));if(D&&N){const O=Z.realWorldMaxSize;c=c.classBreakInfos.length;const T=(O-Z.realWorldMinSize)/(1{ba.size= O-T*aa})}}_isTallSymbol(c){let t=!1,D=!1;if(c)for(let N=0;Nd(["../../../renderers/visualVariables/support/visualVariableUtils"],O,T)),N=N(this._scaleDrivenSizeVariable, null,{view:this.view.type,scale:this.scale,shape:"simple-marker"===c.symbol.type?c.symbol.style:null}));return w.renderPreviewHTML(c.symbol,{size:N,opacity:t,scale:!1,symbolConfig:D?.symbolConfig,effectView:D?.effectList,style:"legend",cimOptions:{allowScalingUp:!D?.isDefault&&this._hasSizeRamp||!(!this._scaleDrivenSizeVariable||!D?.applyScaleDrivenSize),viewParams:this.isScaleDriven?{viewingMode:"2d"===this.view?.type?"map":this.view?.viewingMode,scale:this.view?.scale}:null},ariaLabel:c.label&& "string"!==typeof c.label?null:await Aa("previewTemplateAriaLabel",c.label)}).then(O=>{c.preview=O;return c}).catch(()=>{c.preview=null;return c})}_getClusterRenderer(c){this._hasClusterSizeVariable=!1;var t="renderer"in this.layer?this.layer.renderer:null;t=c.renderer?.clone()||t?.clone();const D=v.getEffectiveClusterSizeVariable(c,this.layerView,this.view);if(D&&null!=t&&"visualVariables"in t&&!t.visualVariables?.some(N=>"size"===N.type&&"outline"!==N.target&&!Na.test(N.valueExpression))){if("clusterMinSize"in c&&"clusterMaxSize"in c){const {clusterMinSize:N,clusterMaxSize:O}=c;D.legendOptions=new F({showLegend:N!==O})}t.visualVariables=(t.visualVariables||[]).concat([D]);this._hasClusterSizeVariable=!0}return t}async _loadRenderer(c){const t=[],D=c.clone(),N=await ea.getMedianColor(D);if(ma(D)||ka(D))c=(D.classBreakInfos||D.uniqueValueInfos).map(O=>this._fetchSymbol(O.symbol,N).then(T=>{O.symbol=T}).catch(()=>{O.symbol=null})),Array.prototype.push.apply(t,c);t.push(this._fetchSymbol(D.symbol||D.defaultSymbol, D.defaultSymbol?null:N).then(O=>{this._applySymbolToRenderer(D,O,da(D))}).catch(()=>{this._applySymbolToRenderer(D,null,da(D))}));await Promise.allSettled(t);return D}_applySymbolToRenderer(c,t,D){D?c.symbol=t:c.defaultSymbol=t}async _fetchSymbol(c,t){if(!c)throw Error();if("web-style"===c.type){const D=this._webStyleSymbolCache;try{const N=await ("2d"===this.view.type?c.fetchCIMSymbol({cache:D}):c.fetchSymbol({cache:D}));return this._getAppliedCloneSymbol(N,t)}catch{throw f.getLogger(this).warn("Fetching web-style failed!"), Error();}}return this._getAppliedCloneSymbol(c,t)}_getAppliedCloneSymbol(c,t){if(!c||!t)return c;c=c.clone();const D=t&&t.toRgba();c.type.includes("3d")?this._applyColorTo3dSymbol(c,D):"cim"===c.type?Q.applyCIMSymbolColor(c,t):c.color&&(c.color=new P(D||c.color));return c}_applyColorTo3dSymbol(c,t){t&&c.symbolLayers.forEach(D=>{D&&(D.material||(D.material={}),D.material.color=new P(t))})}async _getVisualVariableLegendElements(c,t){if(!("visualVariables"in c)||"vector-field"===c.type)return null;var D= c.visualVariables??[],N=[];const O=[],T=[],ba=ea.getReferenceSizeAuthoringInfoVisualVariable(c);if(2===ba?.sizeStops?.length&&(ma(c)||ka(c))){const [na,ha]=ba.sizeStops;O.push(new S({field:ba.field??void 0,normalizationField:ba.normalizationField,minSize:na.size,maxSize:ha.size,minDataValue:na.value,maxDataValue:ha.value}))}for(const na of D)"color"===na.type?N.push(na):"size"===na.type?O.push(na):"opacity"===na.type&&T.push(na);D=[...N,...O,...T];let aa;if(0===N.length&&ma(c)&&c.classBreakInfos&& 1===c.classBreakInfos.length)var oa=(oa=c.classBreakInfos[0])&&oa.symbol;0===N.length&&da(c)&&(oa=c.symbol);oa&&(oa.type.includes("3d")?(N=oa.symbolLayers.at(0),"water"===N.type?null!=N.color&&(aa=N.color):null!=N.material?.color&&(aa=N.material.color)):oa.url||(aa=oa.color));const ua=this.effectList;return(await Promise.all(D.map(async na=>{if(!na.legendOptions||!1!==na.legendOptions.showLegend){const ha="flow"===c.type?na.field:this._getRampTitle(na,t);let qa=null;const ra=ea.getDateFormatOptions(t, na,this.view.timeZone);"color"===na.type?(na=await R.getRampStops(na,null,ra)??[],qa={type:"color-ramp",title:ha,infos:na,preview:w.renderColorRampPreviewHTML(na.map(pa=>pa.color),{effectList:ua,ariaLabel:await Aa("previewColorRampAriaLabel")})},this._hasColorRamp||(this._hasColorRamp=0pa.color),{effectList:ua,ariaLabel:await Aa("previewColorRampAriaLabel")})},this._hasOpacityRamp||(this._hasOpacityRamp=0${aa}<${this._getFieldAlias(T, t)}>`,ba&&(D=`${D}${aa}<${this._getFieldAlias(ba,t)}>`));return D}c=null;if(D||N)c={field:D&&this._getFieldAlias(D,t),normField:N&&this._getFieldAlias(N,t),normByPct:O};return c}_getFieldAlias(c,t){let D=("popupTemplate"in t?t.popupTemplate:null)?.fieldInfos?.find(ba=>c===ba.fieldName),N=null;"getField"in t&&t.getField?N=t.getField(c):"fieldsIndex"in t&&t.fieldsIndex&&(N=t.fieldsIndex.get(c));let O=null;if(t="featureReduction"in t&&t.featureReduction)D??="popupTemplate"in t?t.popupTemplate?.fieldInfos?.find(ba=> c?.toLowerCase()===ba.fieldName?.toLowerCase()):void 0,"fields"in t&&t.fields&&(O=t.fields.find(ba=>ba.name?.toLowerCase()===c?.toLowerCase()));t=D||N||O;let T=null;t&&(T=D?.label||N?.alias||O?.alias||"name"in t&&t.name||"fieldName"in t&&t.fieldName||null);return T}_isUnclassedRenderer(c){const t=c.visualVariables;let D=!1;ma(c)&&c.classBreakInfos&&1===c.classBreakInfos.length&&t&&(D=c.field?t.some(N=>!(!N||c.field!==N.field||(c.normalizationField||N.normalizationField)&&c.normalizationField!==N.normalizationField)): !!t.length);return D}};a.__decorate([p.property()],B.prototype,"children",void 0);a.__decorate([p.property({readOnly:!0})],B.prototype,"effectList",null);a.__decorate([p.property()],B.prototype,"layerView",void 0);a.__decorate([p.property()],B.prototype,"layer",void 0);a.__decorate([p.property()],B.prototype,"legendElements",void 0);a.__decorate([p.property({readOnly:!0})],B.prototype,"opacity",null);a.__decorate([p.property()],B.prototype,"parent",void 0);a.__decorate([p.property({readOnly:!0,dependsOn:[]})], B.prototype,"ready",null);a.__decorate([p.property()],B.prototype,"hideLayersNotInCurrentView",void 0);a.__decorate([p.property()],B.prototype,"keepCacheOnDestroy",void 0);a.__decorate([p.property()],B.prototype,"respectLayerDefinitionExpression",void 0);a.__decorate([p.property()],B.prototype,"respectLayerVisibility",void 0);a.__decorate([p.property({readOnly:!0})],B.prototype,"scale",null);a.__decorate([p.property()],B.prototype,"sublayerIds",void 0);a.__decorate([p.property({readOnly:!0})],B.prototype, "isScaleDriven",null);a.__decorate([p.property()],B.prototype,"title",void 0);a.__decorate([p.property({readOnly:!0,dependsOn:["ready"],value:0})],B.prototype,"version",null);a.__decorate([p.property()],B.prototype,"view",void 0);return B=a.__decorate([m.subclass("esri.widgets.Legend.support.ActiveLayerInfo")],B)})},"esri/layers/effects/EffectView":function(){define("exports ../../chunks/tslib.es6 ../../core/Accessor ../../core/has ../../core/lang ../../core/Logger ../../core/accessorSupport/decorators/property ../../core/accessorSupport/decorators/subclass ./parser ./utils".split(" "), function(d,a,P,B,q,G,C,I,M,H){function x(e){e=M.parse(e)||[];var l=(l=e[0])?"type"in l:!1;return l?[{scale:-1,effects:e}]:e}function f(e,l,h){return e[0]?.effects&&l[0]?.effects?(-1===e[0]?.scale||-1===l[0]?.scale)&&(1=h?!1:H.canInterpolateEffects(e[0].effects,l[0].effects):!0}function g(e,l,h){const y=e.length>l.length?e:l;e=e.length>l.length?l:e;var p=e[e.length-1];l=p?.scale??h;p=p?.effects??[];for(let r=e.length;r=l[0].scale)var r=y=l[0].effects;else if(e<=l[h].scale)r=y=l[h].effects;else for(let m=0;m=e&&E.scale<=e){p=(e-A.scale)/(E.scale-A.scale);y=A.effects;r=E.effects; break}}for(e=0;e {const h=x.getLayerFloorFilterClause(this.floors,l);return l.toExportImageJSON(h)});return e.length?JSON.stringify(e):null}get hasDynamicLayers(){return this.layer&&f.isExportDynamic(this.visibleSublayers,this.layer.serviceSublayers,this.layer.gdbVersion)}set layer(e){this._get("layer")!==e&&(this._set("layer",e),this.removeHandles("layer"),e&&this.addHandles([e.allSublayers.on("change",()=>this.notifyChange("visibleSublayers")),e.on("sublayer-update",l=>this.notifyChange(g[l.propertyName]))],"layer"))}get layers(){const e= this.visibleSublayers;return e?e.length?"show:"+e.map(l=>l.id).join(","):"show:-1":null}get layerDefs(){const e=!!this.floors?.length,l=this.visibleSublayers.filter(h=>null!=h.definitionExpression||e&&null!=h.floorInfo);return l.length?JSON.stringify(l.reduce((h,y)=>{var p=x.getLayerFloorFilterClause(this.floors,y);p=B.sqlAnd(p,y.definitionExpression);null!=p&&(h[y.id]=p);return h},{})):null}get version(){this.commitProperty("layers");this.commitProperty("layerDefs");this.commitProperty("dynamicLayers"); const e=this.layer;e&&(e.commitProperty("dpi"),e.commitProperty("imageFormat"),e.commitProperty("imageTransparency"),e.commitProperty("gdbVersion"));return(this._get("version")||0)+1}get visibleSublayers(){const e=[];if(!this.layer)return e;var l=this.layer.sublayers;const h=this.scale,y=p=>{p.visible&&(0===h||H.isInScaleRange(h,p.minScale,p.maxScale))&&(p.sublayers?p.sublayers.forEach(y):e.unshift(p))};l&&l.forEach(y);l=this._get("visibleSublayers");return!l||l.length!==e.length||l.some((p,r)=>e[r]!== p)?e:l}toJSON(){var e=this.layer;e={dpi:e.dpi,format:e.imageFormat,transparent:e.imageTransparency,gdbVersion:e.gdbVersion||null};this.hasDynamicLayers&&this.dynamicLayers?e.dynamicLayers=this.dynamicLayers:e={...e,layers:this.layers,layerDefs:this.layerDefs};return e}};a.__decorate([q.property({readOnly:!0})],d.ExportImageParameters.prototype,"dynamicLayers",null);a.__decorate([q.property()],d.ExportImageParameters.prototype,"floors",void 0);a.__decorate([q.property({readOnly:!0})],d.ExportImageParameters.prototype, "hasDynamicLayers",null);a.__decorate([q.property()],d.ExportImageParameters.prototype,"layer",null);a.__decorate([q.property({readOnly:!0})],d.ExportImageParameters.prototype,"layers",null);a.__decorate([q.property({readOnly:!0})],d.ExportImageParameters.prototype,"layerDefs",null);a.__decorate([q.property({type:Number})],d.ExportImageParameters.prototype,"scale",void 0);a.__decorate([q.property({readOnly:!0})],d.ExportImageParameters.prototype,"version",null);a.__decorate([q.property({readOnly:!0})], d.ExportImageParameters.prototype,"visibleSublayers",null);d.ExportImageParameters=a.__decorate([M.subclass("esri.layers.support.ExportImageParameters")],d.ExportImageParameters);Object.defineProperty(d,Symbol.toStringTag,{value:"Module"})})},"esri/geometry/support/scaleUtils":function(){define(["exports","../../core/mathUtils","../../core/unitUtils"],function(d,a,P){function B(q,G){G=P.getMetersPerUnitForSR(G);return q/(G*P.inchesPerMeter*96)}d.getExtentForScale=function(q,G){const C=q.extent;q= q.width-(q.padding?q.padding.left+q.padding.right:0);G=B(G,C.spatialReference);return C.clone().expand(G*q/C.width)};d.getResolutionForScale=B;d.getResolutionInMetersForScale=function(q){return q/(96*P.inchesPerMeter)};d.getScale=function(q,G){G=G||q.extent;q=q.width;const C=P.getMetersPerUnitForSR(G?.spatialReference);return G&&q?G.width/q*C*P.inchesPerMeter*96:0};d.getScaleForResolution=function(q,G){G=P.getMetersPerUnitForSR(G);return q*G*P.inchesPerMeter*96};d.isInScaleRange=function(q,G,C){if(G= 0===G||a.floatEqualAbsolute(q,G)||qC;return G};Object.defineProperty(d,Symbol.toStringTag,{value:"Module"})})},"esri/layers/support/floorFilterUtils":function(){define(["exports"],function(d){function a(P,B){if(!P?.length)return null;P=P.filter(q=>""!==q).map(q=>`'${q}'`);P.push("''");return`${B} IN (${P.join(",")}) OR ${B} IS NULL`}d.getFloorFilterClause=function(P){const B=P.layer;return"floorInfo"in B&&B.floorInfo?.floorField&&"floors"in P.view?a(P.view.floors, B.floorInfo.floorField):null};d.getLayerFloorFilterClause=function(P,B){return"floorInfo"in B&&B.floorInfo?.floorField?a(P,B.floorInfo.floorField):null};Object.defineProperty(d,Symbol.toStringTag,{value:"Module"})})},"esri/layers/support/sublayerUtils":function(){define(["exports","../../core/accessorSupport/PropertyOrigin"],function(d,a){function P(B,q){if(!B?.length||null==q)return!0;q=q.slice().reverse().flatten(({sublayers:I})=>I&&I.toArray().reverse()).map(I=>I.id).toArray();if(B.length>q.length)return!1; let G=0;const C=q.length;for(const {id:I}of B){for(;G=C)return!1}return!0}d.isExportDynamic=function(B,q,G){return B.some(C=>{var I=C.source;I=!I||"map-layer"===I.type&&I.mapLayerId===C.id&&(null==I.gdbVersion||I.gdbVersion===G);C.commitProperty("renderer");C.commitProperty("labelingInfo");C.commitProperty("opacity");C.commitProperty("labelsVisible");return!I||C.originIdOf("renderer")>a.OriginId.SERVICE||C.originIdOf("labelingInfo")>a.OriginId.SERVICE||C.originIdOf("opacity")> a.OriginId.SERVICE||C.originIdOf("labelsVisible")>a.OriginId.SERVICE})?!0:!P(B,q)};d.isSublayerOverhaul=function(B){return!!B&&B.some(q=>null!=q.minScale||null!=q.layerDefinition?.minScale)};d.shouldWriteSublayerStructure=function(B,q,G){return q.flatten(({sublayers:C})=>C).length!==B.length||B.some(C=>C.originIdOf("minScale")>G||C.originIdOf("maxScale")>G||C.originIdOf("renderer")>G||C.originIdOf("labelingInfo")>G||C.originIdOf("opacity")>G||C.originIdOf("labelsVisible")>G||C.originIdOf("source")> G)?!0:!P(B,q)};Object.defineProperty(d,Symbol.toStringTag,{value:"Module"})})},"esri/layers/support/rasterFormats/pixelRangeUtils":function(){define(["exports"],function(d){function a(B){return P[B]??[-3.4028234663852886E38,3.4028234663852886E38]}const P={u1:[0,1],u2:[0,3],u4:[0,15],u8:[0,255],s8:[-128,127],u16:[0,65535],s16:[-32768,32767],u32:[0,4294967295],s32:[-2147483648,2147483647],f32:[-3.4028234663852886E38,3.4028234663852886E38],f64:[-Number.MAX_VALUE,Number.MAX_VALUE],unknown:void 0,c64:void 0, c128:void 0};d.convertNoDataToMask=function(B,q,G){if(!(B.depthCount&&1p+Number.EPSILON||lB?-128<=B&&128>q?"s8":-32768<=B&&32768>q?"s16":"s32":256>q?"u8":65536>q?"u16":"u32"}; d.getPixelValueRange=a;d.isIntegerPixelType=function(B){return(B?.startsWith("s")||B?.startsWith("u"))??!1};Object.defineProperty(d,Symbol.toStringTag,{value:"Module"})})},"esri/renderers/support/rendererConversion":function(){define(["exports","../../core/arrayUtils","../../core/has","../../core/Error","../../symbols/support/symbolConversion"],function(d,a,P,B,q){function G(H){return null==H||"simple"===H.type||"unique-value"===H.type||"class-breaks"===H.type||"dictionary"===H.type||"heatmap"=== H.type}function C(H,x){if(!x)return null;x=Array.isArray(x)?x:[x];if(0e.details.symbol.type||e.details.symbol.declaredClass).filter(e=>!!e);f.sort();const g=[];f.forEach((e,l)=>{0!==l&&e===f[l-1]||g.push(e)});return new B("renderer-conversion-3d:unsupported-symbols",`Renderer contains symbols (${g.join(", ")}) which are not supported in 3D`,{renderer:H,symbolErrors:x})}return null}function I(H,x){const f={...q.defaultTo3DOptions,...x,cimFallbackEnabled:!0};x=H.uniqueValueInfos?.map(e=> q.to3D(e.symbol,f).error).filter(a.isSome);const g=q.to3D(H.defaultSymbol,f);g.error&&x?.unshift(g.error);return C(H,x)}function M(H,x){const f={...q.defaultTo3DOptions,...x,cimFallbackEnabled:!0};x=H.classBreakInfos.map(e=>q.to3D(e.symbol,f).error).filter(a.isSome);const g=q.to3D(H.defaultSymbol,f);g.error&&x.unshift(g.error);return C(H,x)}d.isSupportedRenderer3D=G;d.validateTo3D=function(H,x){if(null==H)return null;if(!G(H))return new B("renderer-conversion-3d:unsupported-renderer",`Unsupported renderer of type '${H.type|| H.declaredClass}'`,{renderer:H});switch(H.type){case "simple":return C(H,q.to3D(H.symbol,{...q.defaultTo3DOptions,...x,cimFallbackEnabled:!0}).error);case "unique-value":return I(H,x);case "class-breaks":return M(H,x)}return null};Object.defineProperty(d,Symbol.toStringTag,{value:"Module"})})},"esri/smartMapping/renderers/support/referenceSizeUtils":function(){define("exports ../../../symbols ../../../core/Error ../../../core/lang ../../../renderers/visualVariables/support/SizeStop ../../../symbols/cim/enums ../../../symbols/CIMSymbol".split(" "), function(d,a,P,B,q,G,C){function I(f){switch(f){case "circle":return{rings:[[[8.5,.2],[7.06,.33],[5.66,.7],[4.35,1.31],[3.16,2.14],[2.14,3.16],[1.31,4.35],[.7,5.66],[.33,7.06],[.2,8.5],[.33,9.94],[.7,11.34],[1.31,12.65],[2.14,13.84],[3.16,14.86],[4.35,15.69],[5.66,16.3],[7.06,16.67],[8.5,16.8],[9.94,16.67],[11.34,16.3],[12.65,15.69],[13.84,14.86],[14.86,13.84],[15.69,12.65],[16.3,11.34],[16.67,9.94],[16.8,8.5],[16.67,7.06],[16.3,5.66],[15.69,4.35],[14.86,3.16],[13.84,2.14],[12.65,1.31],[11.34,.7], [9.94,.33],[8.5,.2]]]};case "square":return{rings:[[[.5,.5],[.5,16.5],[16.5,16.5],[16.5,.5],[.5,.5]]]};case "diamond":return{rings:[[[8.5,.5],[.2,8.5],[8.5,16.5],[16.5,8.5],[8.5,.5]]]};case "hexagon-pointy":return{rings:[[[15.86,12.75],[15.86,4.25],[8.5,0],[1.14,4.25],[1.14,12.75],[8.5,17],[15.86,12.75]]]};case "hexagon-flat":return{rings:[[[12.75,15.86],[17,8.5],[12.75,1.14],[4.25,1.14],[0,8.5],[4.25,15.86],[12.75,15.86]]]}}}function M(f){return"CIMVectorMarker"===f?.type?f.markerGraphics?.[0]:void 0} function H(f){return"CIMPolygonSymbol"===f?.symbol?.type?f.symbol.symbolLayers?.[0]:void 0}var x;(function(f){f.OuterRing="reference-size-outer-ring";f.InnerDot="reference-size-inner-dot"})(x||={});d.createPrimitiveOverrides=function(f){const {view:g,field:e,normalizationField:l,sizeStops:h,sizeByScaleEnabled:y}=f,{value:p,size:r}=h[0],{value:m,size:A}=h[1];f=0;let E;e&&(f=`$feature["${e}"]`,E=`\n if(!HasValue($feature, "${e}")){\n return 0;\n }\n $feature["${e}"];\n `);l&& (f=`$feature["${e}"] / $feature["${l}"]`,E=`if(!HasValue($feature, "${e}") || !HasValue($feature, "${l}") || $feature["${l}"] <= 0){\n return 0;\n }\n $feature["${e}"];\n $feature["${l}"];`);return[{type:"CIMPrimitiveOverride",primitiveName:x.OuterRing,propertyName:"Size",valueExpressionInfo:{type:"CIMExpressionInfo",title:"Size in pixels of outer ring",expression:y?`\n ${E}\n var maxSize = ${A};\n var referenceScale = ${g.scale};\n return (maxSize * (referenceScale / $view.scale));\n `: `${E}\n return ${A}`,returnType:"Default"}},{type:"CIMPrimitiveOverride",primitiveName:x.InnerDot,propertyName:"Size",valueExpressionInfo:{type:"CIMExpressionInfo",title:"Size in pixels of inner ring",expression:`\n ${E}\n var value = ${f};\n\n var referenceScale = ${g.scale};\n var referenceScaleRatio = ${y?"(referenceScale / $view.scale)":1};\n var maxSize = ${A} * referenceScaleRatio;\n var minSize = ${r} * referenceScaleRatio;\n\n var minDataValue = ${p};\n var maxDataValue = ${m};\n\n var ratio = Constrain(( value - minDataValue ) / ( maxDataValue - minDataValue ), 0, 1);\n\n var innerDotSize = Constrain(maxSize * ratio, minSize, maxSize);\n return innerDotSize;\n `, returnType:"Default"}}]};d.createReferenceSizeSymbol=function(f){const {primitiveOverrides:g}=f;const {type:e,color:l,colorLocked:h}=f;var y={type:"CIMVectorMarker",enable:!0,colorLocked:!1,anchorPoint:{x:0,y:0},anchorPointUnits:"Relative",primitiveName:x.OuterRing,frame:{xmin:0,ymin:0,xmax:17,ymax:17},markerGraphics:[{type:"CIMMarkerGraphic",geometry:I(e),symbol:{type:"CIMPolygonSymbol",symbolLayers:[{type:"CIMSolidFill",enable:!0,color:l.toArray(),colorLocked:!!h,effects:[{type:"CIMGeometricEffectDonut", width:.75}]}]}}],scaleSymbolsProportionally:!1,respectFrame:!0,markerPlacement:{type:"CIMMarkerPlacementPolygonCenter",placePerPart:!1,method:G.PlacementPolygonCenterMethod.OnPolygon,offsetX:0,offsetY:0,clipAtBoundary:!1},size:20};const {type:p,color:r}=f;f={type:"CIMVectorMarker",enable:!0,anchorPoint:{x:0,y:0},anchorPointUnits:"Relative",primitiveName:x.InnerDot,frame:{xmin:0,ymin:0,xmax:17,ymax:17},markerGraphics:[{type:"CIMMarkerGraphic",geometry:I(p),symbol:{type:"CIMPolygonSymbol",symbolLayers:[{type:"CIMSolidFill", enable:!0,color:r.toArray()}]}}],scaleSymbolsProportionally:!0,respectFrame:!0,markerPlacement:{type:"CIMMarkerPlacementPolygonCenter",placePerPart:!1,method:G.PlacementPolygonCenterMethod.OnPolygon,offsetX:0,offsetY:0,clipAtBoundary:!1},size:10};return new C({data:{type:"CIMSymbolReference",symbol:{type:"CIMPolygonSymbol",symbolLayers:[y,f]},primitiveOverrides:g}})};d.getReferenceSizeStops=function(f){if(null!=f.minDataValue&&null!=f.maxDataValue&&null!=f.minSize&&null!=f.maxSize&&"number"===typeof f.minSize&& "number"===typeof f.maxSize)return[new q({value:f.minDataValue,size:f.minSize}),new q({value:f.maxDataValue,size:f.maxSize})];throw new P("create-reference-size-symbol","Invalid size variable");};d.updateReferenceSizeSymbol=function(f,g){const {outerRingSize:e,innerDotSize:l,type:h,color:y,colorLocked:p,primitiveOverrides:r}=g;g="CIMPolygonSymbol"===f.data.symbol?.type?f.data.symbol.symbolLayers:null;if(2===g?.length)for(const E of g){var m=(g=E.primitiveName===x.OuterRing)?e:l;"CIMVectorMarker"=== E?.type&&null!=m&&(E.size=m);m=h;var A=M(E);A&&null!=m&&(A.geometry=I(m));m=y;(A=H(M(E)))&&null!=m&&(A.color=m.toArray());m=p;(A=H(M(E)))&&null!=m&&g&&(A.colorLocked=m)}null!=e&&null!=l&&(f.data.primitiveOverrides=null);void 0!==r&&(f.data.primitiveOverrides=B.clone(r));return f};Object.defineProperty(d,Symbol.toStringTag,{value:"Module"})})},"esri/symbols/cim/enums":function(){define(["exports"],function(d){d.CapType=void 0;(function(a){a[a.BUTT=0]="BUTT";a[a.ROUND=1]="ROUND";a[a.SQUARE=2]="SQUARE"; a[a.UNKNOWN=4]="UNKNOWN"})(d.CapType||(d.CapType={}));d.JoinType=void 0;(function(a){a[a.BEVEL=0]="BEVEL";a[a.ROUND=1]="ROUND";a[a.MITER=2]="MITER";a[a.UNKNOWN=4]="UNKNOWN"})(d.JoinType||(d.JoinType={}));d.Alignment=void 0;(function(a){a[a.SCREEN=0]="SCREEN";a[a.MAP=1]="MAP"})(d.Alignment||(d.Alignment={}));d.ExternalColorMixMode=void 0;(function(a){a[a.Tint=0]="Tint";a[a.Ignore=1]="Ignore";a[a.Multiply=99]="Multiply"})(d.ExternalColorMixMode||(d.ExternalColorMixMode={}));d.ExtremityPlacement=void 0; (function(a){a.Both="Both";a.JustBegin="JustBegin";a.JustEnd="JustEnd";a.None="None"})(d.ExtremityPlacement||(d.ExtremityPlacement={}));d.FillMode=void 0;(function(a){a[a.Mosaic=0]="Mosaic";a[a.Centered=1]="Centered"})(d.FillMode||(d.FillMode={}));d.FontEffects=void 0;(function(a){a[a.Normal=0]="Normal";a[a.Superscript=1]="Superscript";a[a.Subscript=2]="Subscript"})(d.FontEffects||(d.FontEffects={}));d.FontEncoding=void 0;(function(a){a[a.MSSymbol=0]="MSSymbol";a[a.Unicode=1]="Unicode"})(d.FontEncoding|| (d.FontEncoding={}));d.FontType=void 0;(function(a){a[a.Unspecified=0]="Unspecified";a[a.TrueType=1]="TrueType";a[a.PSOpenType=2]="PSOpenType";a[a.TTOpenType=3]="TTOpenType";a[a.Type1=4]="Type1"})(d.FontType||(d.FontType={}));d.AngleAlignment=void 0;(function(a){a[a.Display=0]="Display";a[a.Map=1]="Map"})(d.AngleAlignment||(d.AngleAlignment={}));d.AnimatedSymbolRepeatType=void 0;(function(a){a.None="None";a.Loop="Loop";a.Oscillate="Oscillate"})(d.AnimatedSymbolRepeatType||(d.AnimatedSymbolRepeatType= {}));d.DominantSizeAxis=void 0;(function(a){a[a.Z=0]="Z";a[a.X=1]="X";a[a.Y=2]="Y"})(d.DominantSizeAxis||(d.DominantSizeAxis={}));d.RotationOrder=void 0;(function(a){a[a.XYZ=0]="XYZ";a[a.ZXY=1]="ZXY";a[a.YXZ=2]="YXZ"})(d.RotationOrder||(d.RotationOrder={}));d.BalloonCalloutStyle=void 0;(function(a){a[a.Rectangle=0]="Rectangle";a[a.RoundedRectangle=1]="RoundedRectangle";a[a.Oval=2]="Oval"})(d.BalloonCalloutStyle||(d.BalloonCalloutStyle={}));d.BlendingMode=void 0;(function(a){a[a.None=0]="None";a[a.Alpha= 1]="Alpha";a[a.Screen=2]="Screen";a[a.Multiply=3]="Multiply";a[a.Add=4]="Add"})(d.BlendingMode||(d.BlendingMode={}));d.BlockProgression=void 0;(function(a){a[a.TTB=0]="TTB";a[a.RTL=1]="RTL";a[a.BTT=2]="BTT"})(d.BlockProgression||(d.BlockProgression={}));d.BillBoardMode=void 0;(function(a){a[a.None=0]="None";a[a.SignPost=1]="SignPost";a[a.FaceNearPlane=2]="FaceNearPlane"})(d.BillBoardMode||(d.BillBoardMode={}));d.CGAAttributeType=void 0;(function(a){a[a.Float=0]="Float";a[a.String=1]="String";a[a.Boolean= 2]="Boolean"})(d.CGAAttributeType||(d.CGAAttributeType={}));d.ClippingType=void 0;(function(a){a[a.Intersect=0]="Intersect";a[a.Subtract=1]="Subtract"})(d.ClippingType||(d.ClippingType={}));d.GeometricEffectArrowType=void 0;(function(a){a.OpenEnded="OpenEnded";a.Block="Block";a.Crossed="Crossed"})(d.GeometricEffectArrowType||(d.GeometricEffectArrowType={}));d.GeometricEffectControlMeasureLineRule=void 0;(function(a){a.FullGeometry="FullGeometry";a.PerpendicularFromFirstSegment="PerpendicularFromFirstSegment"; a.ReversedFirstSegment="ReversedFirstSegment";a.PerpendicularToSecondSegment="PerpendicularToSecondSegment";a.SecondSegmentWithTicks="SecondSegmentWithTicks";a.DoublePerpendicular="DoublePerpendicular";a.OppositeToFirstSegment="OppositeToFirstSegment";a.TriplePerpendicular="TriplePerpendicular";a.HalfCircleFirstSegment="HalfCircleFirstSegment";a.HalfCircleSecondSegment="HalfCircleSecondSegment";a.HalfCircleExtended="HalfCircleExtended";a.OpenCircle="OpenCircle";a.CoverageEdgesWithTicks="CoverageEdgesWithTicks"; a.GapExtentWithDoubleTicks="GapExtentWithDoubleTicks";a.GapExtentMidline="GapExtentMidline";a.Chevron="Chevron";a.PerpendicularWithArc="PerpendicularWithArc";a.ClosedHalfCircle="ClosedHalfCircle";a.TripleParallelExtended="TripleParallelExtended";a.ParallelWithTicks="ParallelWithTicks";a.Parallel="Parallel";a.PerpendicularToFirstSegment="PerpendicularToFirstSegment";a.ParallelOffset="ParallelOffset";a.OffsetOpposite="OffsetOpposite";a.OffsetSame="OffsetSame";a.CircleWithArc="CircleWithArc";a.DoubleJog= "DoubleJog";a.PerpendicularOffset="PerpendicularOffset";a.LineExcludingLastSegment="LineExcludingLastSegment";a.MultivertexArrow="MultivertexArrow";a.CrossedArrow="CrossedArrow";a.ChevronArrow="ChevronArrow";a.ChevronArrowOffset="ChevronArrowOffset";a.PartialFirstSegment="PartialFirstSegment";a.Arch="Arch";a.CurvedParallelTicks="CurvedParallelTicks";a.Arc90Degrees="Arc90Degrees";a.TipWithPerpendicularAndTicks="TipWithPerpendicularAndTicks"})(d.GeometricEffectControlMeasureLineRule||(d.GeometricEffectControlMeasureLineRule= {}));d.GeometricEffectDonutMethod=void 0;(function(a){a.Mitered="Mitered";a.Bevelled="Bevelled";a.Rounded="Rounded";a.Square="Square";a.TrueBuffer="TrueBuffer"})(d.GeometricEffectDonutMethod||(d.GeometricEffectDonutMethod={}));d.GeometricEffectEnclosingPolygonMethod=void 0;(function(a){a.ClosePath="ClosePath";a.ConvexHull="ConvexHull";a.RectangularBox="RectangularBox"})(d.GeometricEffectEnclosingPolygonMethod||(d.GeometricEffectEnclosingPolygonMethod={}));d.GeometricEffectExtensionOrigin=void 0;(function(a){a.BeginningOfLine= "BeginningOfLine";a.EndOfLine="EndOfLine"})(d.GeometricEffectExtensionOrigin||(d.GeometricEffectExtensionOrigin={}));d.GeometricEffectOffsetMethod=void 0;(function(a){a.Mitered="Mitered";a.Bevelled="Bevelled";a.Rounded="Rounded";a.Square="Square"})(d.GeometricEffectOffsetMethod||(d.GeometricEffectOffsetMethod={}));d.GeometricEffectOffsetOption=void 0;(function(a){a.Fast="Fast";a.Accurate="Accurate"})(d.GeometricEffectOffsetOption||(d.GeometricEffectOffsetOption={}));d.GeometricEffectOffsetTangentMethod= void 0;(function(a){a.BeginningOfLine="BeginningOfLine";a.EndOfLine="EndOfLine"})(d.GeometricEffectOffsetTangentMethod||(d.GeometricEffectOffsetTangentMethod={}));d.GeometricEffectWaveform=void 0;(function(a){a.Sinus="Sinus";a.Square="Square";a.Triangle="Triangle";a.Random="Random"})(d.GeometricEffectWaveform||(d.GeometricEffectWaveform={}));d.GlyphHinting=void 0;(function(a){a[a.None=0]="None";a[a.Default=1]="Default";a[a.Force=2]="Force"})(d.GlyphHinting||(d.GlyphHinting={}));d.GradientAlignment= void 0;(function(a){a[a.Buffered=0]="Buffered";a[a.Left=1]="Left";a[a.Right=2]="Right";a[a.AlongLine=3]="AlongLine"})(d.GradientAlignment||(d.GradientAlignment={}));d.GradientFillMethod=void 0;(function(a){a[a.Linear=0]="Linear";a[a.Rectangular=1]="Rectangular";a[a.Circular=2]="Circular";a[a.Buffered=3]="Buffered"})(d.GradientFillMethod||(d.GradientFillMethod={}));d.GradientStrokeType=void 0;(function(a){a[a.Discrete=0]="Discrete";a[a.Continuous=1]="Continuous"})(d.GradientStrokeType||(d.GradientStrokeType= {}));d.GradientStrokeMethod=void 0;(function(a){a[a.AcrossLine=0]="AcrossLine";a[a.AloneLine=1]="AloneLine"})(d.GradientStrokeMethod||(d.GradientStrokeMethod={}));d.HorizontalAlignment=void 0;(function(a){a[a.Left=0]="Left";a[a.Right=1]="Right";a[a.Center=2]="Center";a[a.Justify=3]="Justify"})(d.HorizontalAlignment||(d.HorizontalAlignment={}));d.LeaderLineStyle=void 0;(function(a){a[a.Base=0]="Base";a[a.MidPoint=1]="MidPoint";a[a.ThreePoint=2]="ThreePoint";a[a.FourPoint=3]="FourPoint";a[a.Underline= 4]="Underline";a[a.CircularCW=5]="CircularCW";a[a.CircularCCW=6]="CircularCCW"})(d.LeaderLineStyle||(d.LeaderLineStyle={}));d.LineCapStyle=void 0;(function(a){a.Butt="Butt";a.Round="Round";a.Square="Square"})(d.LineCapStyle||(d.LineCapStyle={}));d.LineDashEnding=void 0;(function(a){a.NoConstraint="NoConstraint";a.HalfPattern="HalfPattern";a.HalfGap="HalfGap";a.FullPattern="FullPattern";a.FullGap="FullGap";a.Custom="Custom"})(d.LineDashEnding||(d.LineDashEnding={}));d.LineDecorationStyle=void 0;(function(a){a[a.None= -1]="None";a[a.Custom=0]="Custom";a[a.Circle=1]="Circle";a[a.OpenArrow=2]="OpenArrow";a[a.ClosedArrow=3]="ClosedArrow";a[a.Diamond=4]="Diamond"})(d.LineDecorationStyle||(d.LineDecorationStyle={}));d.LineGapType=void 0;(function(a){a[a.ExtraLeading=0]="ExtraLeading";a[a.Multiple=1]="Multiple";a[a.Exact=2]="Exact"})(d.LineGapType||(d.LineGapType={}));d.LineJoinStyle=void 0;(function(a){a.Bevel="Bevel";a.Round="Round";a.Miter="Miter"})(d.LineJoinStyle||(d.LineJoinStyle={}));d.ExpressionReturnType=void 0; (function(a){a[a.Default=0]="Default";a[a.String=1]="String";a[a.Numeric=2]="Numeric"})(d.ExpressionReturnType||(d.ExpressionReturnType={}));d.MarkerPlacementType=void 0;(function(a){a[a.InsidePolygon=0]="InsidePolygon";a[a.PolygonCenter=1]="PolygonCenter";a[a.RandomlyInsidePolygon=2]="RandomlyInsidePolygon"})(d.MarkerPlacementType||(d.MarkerPlacementType={}));d.MaterialMode=void 0;(function(a){a[a.Tint=0]="Tint";a[a.Replace=1]="Replace";a[a.Multiply=2]="Multiply"})(d.MaterialMode||(d.MaterialMode= {}));d.PlacementClip=void 0;(function(a){a[a.ClipAtBoundary=0]="ClipAtBoundary";a[a.RemoveIfCenterOutsideBoundary=1]="RemoveIfCenterOutsideBoundary";a[a.DoNotTouchBoundary=2]="DoNotTouchBoundary";a[a.DoNotClip=3]="DoNotClip"})(d.PlacementClip||(d.PlacementClip={}));d.PlacementEndings=void 0;(function(a){a.NoConstraint="NoConstraint";a.WithMarkers="WithMarkers";a.WithFullGap="WithFullGap";a.WithHalfGap="WithHalfGap";a.Custom="Custom"})(d.PlacementEndings||(d.PlacementEndings={}));d.PlacementGridType= void 0;(function(a){a.Fixed="Fixed";a.Random="Random";a.RandomFixedQuantity="RandomFixedQuantity"})(d.PlacementGridType||(d.PlacementGridType={}));d.PlacementOnLineRelativeTo=void 0;(function(a){a.LineMiddle="LineMiddle";a.LineBeginning="LineBeginning";a.LineEnd="LineEnd";a.SegmentMidpoint="SegmentMidpoint"})(d.PlacementOnLineRelativeTo||(d.PlacementOnLineRelativeTo={}));d.PlacementPolygonCenterMethod=void 0;(function(a){a.OnPolygon="OnPolygon";a.CenterOfMass="CenterOfMass";a.BoundingBoxCenter="BoundingBoxCenter"})(d.PlacementPolygonCenterMethod|| (d.PlacementPolygonCenterMethod={}));d.PlacementRandomlyAlongLineRandomization=void 0;(function(a){a[a.Low=0]="Low";a[a.Medium=1]="Medium";a[a.High=2]="High"})(d.PlacementRandomlyAlongLineRandomization||(d.PlacementRandomlyAlongLineRandomization={}));d.PlacementStepPosition=void 0;(function(a){a[a.MarkerCenter=0]="MarkerCenter";a[a.MarkerBounds=1]="MarkerBounds"})(d.PlacementStepPosition||(d.PlacementStepPosition={}));d.PointSymbolCalloutScale=void 0;(function(a){a[a.None=0]="None";a[a.PropUniform= 1]="PropUniform";a[a.PropNonuniform=2]="PropNonuniform";a[a.DifUniform=3]="DifUniform";a[a.DifNonuniform=4]="DifNonuniform"})(d.PointSymbolCalloutScale||(d.PointSymbolCalloutScale={}));d.Simple3DLineStyle=void 0;(function(a){a.Tube="Tube";a.Strip="Strip";a.Wall="Wall"})(d.Simple3DLineStyle||(d.Simple3DLineStyle={}));d.SizeVariationMethod=void 0;(function(a){a[a.Random=0]="Random";a[a.Increasing=1]="Increasing";a[a.Decreasing=2]="Decreasing";a[a.IncreasingThenDecreasing=3]="IncreasingThenDecreasing"})(d.SizeVariationMethod|| (d.SizeVariationMethod={}));d.SymbolUnits=void 0;(function(a){a[a.Relative=0]="Relative";a[a.Absolute=1]="Absolute"})(d.SymbolUnits||(d.SymbolUnits={}));d.TextCase=void 0;(function(a){a[a.Normal=0]="Normal";a[a.LowerCase=1]="LowerCase";a[a.Allcaps=2]="Allcaps"})(d.TextCase||(d.TextCase={}));d.TextReadingDirection=void 0;(function(a){a[a.LTR=0]="LTR";a[a.RTL=1]="RTL"})(d.TextReadingDirection||(d.TextReadingDirection={}));d.TextureFilter=void 0;(function(a){a.Draft="Draft";a.Picture="Picture";a.Text= "Text"})(d.TextureFilter||(d.TextureFilter={}));d.VerticalAlignment=void 0;(function(a){a[a.Top=0]="Top";a[a.Center=1]="Center";a[a.Baseline=2]="Baseline";a[a.Bottom=3]="Bottom"})(d.VerticalAlignment||(d.VerticalAlignment={}));d.VerticalGlyphOrientation=void 0;(function(a){a[a.Right=0]="Right";a[a.Upright=1]="Upright"})(d.VerticalGlyphOrientation||(d.VerticalGlyphOrientation={}));d.WaterbodySize=void 0;(function(a){a[a.Small=0]="Small";a[a.Medium=1]="Medium";a[a.Large=2]="Large"})(d.WaterbodySize|| (d.WaterbodySize={}));d.WaveStrength=void 0;(function(a){a[a.Calm=0]="Calm";a[a.Rippled=1]="Rippled";a[a.Slight=2]="Slight";a[a.Moderate=3]="Moderate"})(d.WaveStrength||(d.WaveStrength={}));Object.defineProperty(d,Symbol.toStringTag,{value:"Module"})})},"esri/symbols/support/cimSymbolUtils":function(){define(["exports","../../Color","../cim/utils"],function(d,a,P){function B(f){f=P.toCIMSymbolJSON(f);if("CIMTextSymbol"===f?.type)return f.height??0;let g=0;if(f?.symbolLayers)for(const e of f.symbolLayers)P.isCIMMarker(e)&& null!=e.size&&e.size>g?g=e.size:P.isCIMStroke(e)&&null!=e.width&&e.width>g?g=e.width:P.isCIMFill(e);return g}function q(f,g,e,l){if(f)if("CIMTextSymbol"===f.type)null!=f.height&&(f.height*=g);else{if(e&&f.effects)for(const h of f.effects)I(h,g);if(f.symbolLayers)for(const h of f.symbolLayers)switch(h.type){case "CIMPictureMarker":case "CIMVectorMarker":G(h,g,l);break;case "CIMPictureStroke":case "CIMSolidStroke":!l?.preserveOutlineWidth&&h.width&&(h.width*=g);break;case "CIMPictureFill":h.height&& (h.height*=g);h.offsetX&&(h.offsetX*=g);h.offsetY&&(h.offsetY*=g);break;case "CIMHatchFill":q(h.lineSymbol,g,!0,{...l,preserveOutlineWidth:!1}),h.offsetX&&(h.offsetX*=g),h.offsetY&&(h.offsetY*=g),h.separation&&(h.separation*=g)}}}function G(f,g,e){if(f&&(f.markerPlacement&&C(f.markerPlacement,g),f.offsetX&&(f.offsetX*=g),f.offsetY&&(f.offsetY*=g),f.anchorPoint&&"Absolute"===f.anchorPointUnits&&(f.anchorPoint={x:f.anchorPoint.x*g,y:f.anchorPoint.y*g}),f.size=null!=f.size?f.size*g:0,"CIMVectorMarker"=== f.type&&f.markerGraphics))for(const l of f.markerGraphics)f.scaleSymbolsProportionally||q(l.symbol,g,!0,e)}function C(f,g){P.isCIMMarkerStrokePlacement(f)&&f.offset&&(f.offset*=g);switch(f.type){case "CIMMarkerPlacementAlongLineRandomSize":case "CIMMarkerPlacementAlongLineSameSize":f.customEndingOffset&&(f.customEndingOffset*=g);f.offsetAlongLine&&(f.offsetAlongLine*=g);if(f.placementTemplate&&f.placementTemplate.length){var e=f.placementTemplate.map(l=>l*g);f.placementTemplate=e}break;case "CIMMarkerPlacementAlongLineVariableSize":f.maxRandomOffset&& (f.maxRandomOffset*=g);f.placementTemplate&&f.placementTemplate.length&&(e=f.placementTemplate.map(l=>l*g),f.placementTemplate=e);break;case "CIMMarkerPlacementOnLine":f.startPointOffset&&(f.startPointOffset*=g);break;case "CIMMarkerPlacementAtExtremities":f.offsetAlongLine&&(f.offsetAlongLine*=g);break;case "CIMMarkerPlacementAtRatioPositions":f.beginPosition&&(f.beginPosition*=g);f.endPosition&&(f.endPosition*=g);break;case "CIMMarkerPlacementPolygonCenter":f.offsetX&&(f.offsetX*=g);f.offsetY&& (f.offsetY*=g);break;case "CIMMarkerPlacementInsidePolygon":f.offsetX&&(f.offsetX*=g),f.offsetY&&(f.offsetY*=g),f.stepX&&(f.stepX*=g),f.stepY&&(f.stepY*=g)}}function I(f,g){switch(f.type){case "CIMGeometricEffectArrow":case "CIMGeometricEffectDonut":f.width&&(f.width*=g);break;case "CIMGeometricEffectBuffer":f.size&&(f.size*=g);break;case "CIMGeometricEffectCut":f.beginCut&&(f.beginCut*=g);f.endCut&&(f.endCut*=g);f.middleCut&&(f.middleCut*=g);break;case "CIMGeometricEffectDashes":f.customEndingOffset&& (f.customEndingOffset*=g);f.offsetAlongLine&&(f.offsetAlongLine*=g);if(f.dashTemplate&&f.dashTemplate.length){const e=f.dashTemplate.map(l=>l*g);f.dashTemplate=e}break;case "CIMGeometricEffectExtension":case "CIMGeometricEffectJog":case "CIMGeometricEffectRadial":f.length&&(f.length*=g);break;case "CIMGeometricEffectMove":f.offsetX&&(f.offsetX*=g);f.offsetY&&(f.offsetY*=g);break;case "CIMGeometricEffectOffset":case "CIMGeometricEffectOffsetTangent":f.offset&&(f.offset*=g);break;case "CIMGeometricEffectRegularPolygon":f.radius&& (f.radius*=g);break;case "CIMGeometricEffectTaperedPolygon":f.fromWidth&&(f.fromWidth*=g);f.length&&(f.length*=g);f.toWidth&&(f.toWidth*=g);break;case "CIMGeometricEffectWave":f.amplitude&&(f.amplitude*=g),f.period&&(f.period*=g)}}function M(f,g){if(f){var e="CIMTextSymbol"===f.type?f.symbol:f;f="CIMPolygonSymbol"===f.type;if(e?.symbolLayers)for(const l of e.symbolLayers)if(!(l.colorLocked||f&&(P.isCIMStroke(l)||P.isCIMMarker(l)&&l.markerPlacement&&P.isCIMMarkerStrokePlacement(l.markerPlacement))))switch(l.type){case "CIMPictureMarker":case "CIMPictureStroke":case "CIMPictureFill":l.tintColor&& H(g,l.tintColor);break;case "CIMVectorMarker":l.markerGraphics?.forEach(h=>{M(h.symbol,g)});break;case "CIMSolidStroke":case "CIMSolidFill":H(g,l.color);break;case "CIMHatchFill":M(l.lineSymbol,g)}}}function H(f,g){for(const e of f)if(e.join(".")===g.join("."))return;f.push(g)}function x(f,g,e){if(f){var l="CIMTextSymbol"===f.type?f.symbol:f;f="CIMPolygonSymbol"===l?.type;if(l?.symbolLayers)for(const h of l.symbolLayers)if(!h.colorLocked){if(f)if(e){if({layersToColor:l}=e,(P.isCIMStroke(h)||P.isCIMMarker(h)&& h.markerPlacement&&P.isCIMMarkerStrokePlacement(h.markerPlacement))&&"fill"===l||P.isCIMFill(h)&&"outline"===l)continue}else if(P.isCIMStroke(h)||P.isCIMMarker(h)&&h.markerPlacement&&P.isCIMMarkerStrokePlacement(h.markerPlacement))continue;l=g.toArray();switch(h.type){case "CIMPictureMarker":case "CIMPictureStroke":case "CIMPictureFill":h.tintColor=l;break;case "CIMVectorMarker":h.markerGraphics?.forEach(y=>{x(y.symbol,g,e)});break;case "CIMSolidStroke":case "CIMSolidFill":h.color=l;break;case "CIMHatchFill":x(h.lineSymbol, g,e)}}}}d.applyCIMSymbolColor=function(f,g,e){g instanceof a||(g=new a(g));(f=P.toCIMSymbolJSON(f))&&x(f,g,e)};d.applyCIMSymbolRotation=function(f,g,e=!1){f=P.toCIMSymbolJSON(f);e&&(g=360-g);if("CIMTextSymbol"===f?.type)f.angle=g;else if("CIMPointSymbol"===f?.type&&f.symbolLayers){e=g-(f.angle||0);for(const l of f.symbolLayers)if(P.isCIMMarker(l)){let h=l.rotation||0;h=l.rotateClockwise?h-e:h+e;l.rotation=h}f.angle=g}};d.getCIMSymbolColor=function(f){f=P.toCIMSymbolJSON(f);const g=[];M(f,g);return g.length? new a(P.normalizeAlpha(g[0])):null};d.getCIMSymbolRotation=function(f,g=!1){f=P.toCIMSymbolJSON(f);return"CIMTextSymbol"===f?.type||"CIMPointSymbol"===f?.type?(f=f.angle,null!=f&&g?360-f:f??0):0};d.getCIMSymbolSize=B;d.getCIMSymbolType=function(f){f=P.toCIMSymbolJSON(f);if(!f)return null;switch(f.type){case "CIMPointSymbol":return"CIMPointSymbol";case "CIMLineSymbol":return"CIMLineSymbol";case "CIMPolygonSymbol":return"CIMPolygonSymbol";case "CIMTextSymbol":return"CIMTextSymbol";case "CIMMeshSymbol":return"CIMMeshSymbol"; default:return null}};d.scaleCIMMarker=G;d.scaleCIMSymbol=q;d.scaleCIMSymbolTo=function(f,g,e){if(f){var l=P.toCIMSymbolJSON(f);f=B(f);if(0===f){if(l)if("CIMTextSymbol"===l.type)l.height=g;else if(l.symbolLayers)for(const h of l.symbolLayers)switch(h.type){case "CIMPictureMarker":case "CIMVectorMarker":h.size=g;break;case "CIMPictureStroke":case "CIMSolidStroke":h.width=g}}else q(l,g/f,!1,e)}};Object.defineProperty(d,Symbol.toStringTag,{value:"Module"})})},"esri/symbols/support/previewUtils":function(){define(["exports", "../../Color"],function(d,a){function P(B,q){return Math.round(Math.min(Math.max(B+191.25*q,0),255))}d.SymbolSizeDefaults=void 0;(function(B){B[B.size=22]="size";B[B.lineWidth=50]="lineWidth";B[B.maxSize=120]="maxSize";B[B.maxOutlineSize=80]="maxOutlineSize";B[B.tallSymbolWidth=20]="tallSymbolWidth"})(d.SymbolSizeDefaults||(d.SymbolSizeDefaults={}));d.adjustColorBrightness=function(B,q){if(null==B)return new a;if("type"in B&&("linear"===B.type||"pattern"===B.type))return B;B=new a(B);return new a([P(B.r, q),P(B.g,q),P(B.b,q),B.a])};d.adjustColorComponentBrightness=P;d.getConeShapes=function(B,q){let G=q?d.SymbolSizeDefaults.tallSymbolWidth:B;q=q?4:6;G=G<=d.SymbolSizeDefaults.size?G-.5*q:G-q;q=.15*G;const C=G;B-=q;return[{type:"ellipse",cx:.5*G,cy:B,rx:.5*G,ry:q},{type:"path",path:[{command:"M",values:[.5*C,0]},{command:"L",values:[C,B]},{command:"L",values:[0,B]},{command:"Z",values:[]}]}]};d.getCubeShapes=function(B,q){let G=q?d.SymbolSizeDefaults.tallSymbolWidth:B;var C=q?4:6;C=G=G<=d.SymbolSizeDefaults.size? G-.5*C:G-C;q=q?.35*G:.5*G;return[{type:"path",path:[{command:"M",values:[.5*C,0]},{command:"L",values:[C,.5*q]},{command:"L",values:[.5*C,q]},{command:"L",values:[0,.5*q]},{command:"Z",values:[]}]},{type:"path",path:[{command:"M",values:[0,.5*q]},{command:"L",values:[.5*C,q]},{command:"L",values:[.5*C,B]},{command:"L",values:[0,B-.5*q]},{command:"Z",values:[]}]},{type:"path",path:[{command:"M",values:[.5*C,q]},{command:"L",values:[.5*C,B]},{command:"L",values:[C,B-.5*q]},{command:"L",values:[C,.5* q]},{command:"Z",values:[]}]}]};d.getCylinderShapes=function(B,q){var G=q?d.SymbolSizeDefaults.tallSymbolWidth:B;q=q?4:6;G=G<=d.SymbolSizeDefaults.size?G-.5*q:G-q;q=.5*G;const C=.15*G;B-=C;return[{type:"ellipse",cx:.5*G,cy:B,rx:q,ry:C},{type:"path",path:[{command:"M",values:[0,C]},{command:"L",values:[0,B]},{command:"L",values:[G,B]},{command:"L",values:[G,C]},{command:"Z",values:[]}]},{type:"ellipse",cx:.5*G,cy:C,rx:q,ry:C}]};d.getDiamondShapes=function(B){var q=B;q=qB?I*=.75:1{y=y.data;const p=y.width,r= y.height,m=p/r;let A=l;h&&(A=Math.min(A,Math.max(p,r)));return{image:y,width:1>=m?Math.ceil(A*m):A,height:1>=m?A:Math.ceil(A/m)}}):Promise.reject(new q("renderUtils: imageDataSize","href not provided."))}const g=I.createProjector();d.renderOnce=x;d.renderSymbol=function(e,l,h){const y=Math.ceil(l[0]),p=Math.ceil(l[1]);if(!e.some(r=>!!r.length))return null;l=h?.node||document.createElement("div");null!=h.opacity&&(l.style.opacity=h.opacity.toString());null!=h.effectView&&(l.style.filter=H.getCSSFilterFromEffectList(h.effectView)); x(l,()=>M.renderSVG(e,y,p,h));return l};d.tintImageWithColor=function(e,l,h,y,p){return f(e,l,p).then(r=>{const m=r.width??l,A=r.height??l;var E;if(E=r.image)E=h&&"ignore"!==y?"multiply"===y&&255===h.r&&255===h.g&&255===h.b&&1===h.a?!1:!0:!1;if(E){var J=r.image.width,b=r.image.height;G("edge")&&/\.svg$/i.test(e)&&(--J,--b);E=Math.ceil(m);var k=Math.ceil(A);var u=document.createElement("canvas");u.width=E;u.height=k;u.style.width=E+"px";u.style.height=k+"px";u=u.getContext("2d");u.clearRect(0,0,E, k);E=u;E.drawImage(r.image,0,0,J,b,0,0,m,A);k=E.getImageData(0,0,m,A);u=[h.r/255,h.g/255,h.b/255,h.a];const K=B.toHSV(h);for(let S=0;S({url:e,width:l,height:l}))};Object.defineProperty(d,Symbol.toStringTag,{value:"Module"})})},"esri/symbols/support/svgUtils":function(){define("exports ../../Color ../../core/has ../../core/maybe ../../core/libs/gl-matrix-2/factories/mat2df32 ../../core/libs/gl-matrix-2/math/mat2d ./gfxUtils ../../widgets/support/widgetUtils ../../widgets/support/jsxFactory".split(" "),function(d,a,P,B,q,G,C,I,M){function H(w, n){w*=W/180;return Math.abs(n*Math.sin(w))+Math.abs(n*Math.cos(w))}function x(w){return w.map(n=>`${n.command} ${n.values.join(" ")}`).join(" ").trim()}function f(w,n,v,R,U){if(w){if("circle"===w.type)return M.tsx("circle",{cx:w.cx,cy:w.cy,fill:n,"fill-rule":"evenodd",r:w.r,stroke:v.color,"stroke-dasharray":v.dashArray,"stroke-dashoffset":v.dashOffset,"stroke-linecap":v.cap,"stroke-linejoin":v.join,"stroke-miterlimit":"4","stroke-width":v.width});if("ellipse"===w.type)return M.tsx("ellipse",{cx:w.cx, cy:w.cy,fill:n,"fill-rule":"evenodd",rx:w.rx,ry:w.ry,stroke:v.color,"stroke-dasharray":v.dashArray,"stroke-linecap":v.cap,"stroke-linejoin":v.join,"stroke-miterlimit":"4","stroke-width":v.width});if("rect"===w.type)return M.tsx("rect",{fill:n,"fill-rule":"evenodd",height:w.height,stroke:v.color,"stroke-dasharray":v.dashArray,"stroke-linecap":v.cap,"stroke-linejoin":v.join,"stroke-miterlimit":"4","stroke-width":v.width,width:w.width,x:w.x,y:w.y});if("image"===w.type)return M.tsx("image",{alt:U||"image", height:w.height,href:w.src,preserveAspectRatio:"none",width:w.width,x:w.x,y:w.y});if("path"===w.type)return w="string"!==typeof w.path?x(w.path):w.path,M.tsx("path",{d:w,fill:n,"fill-rule":"evenodd",stroke:v.color,"stroke-dasharray":v.dashArray,"stroke-linecap":v.cap,"stroke-linejoin":v.join,"stroke-miterlimit":"4","stroke-width":v.width});if("text"===w.type)return B.assertIsSome(R),M.tsx("text",{"dominant-baseline":R.dominantBaseline,fill:n,"fill-rule":"evenodd","font-family":R.font.family,"font-size":R.font.size, "font-style":R.font.style,"font-variant":R.font.variant,"font-weight":R.font.weight,kerning:R.kerning,rotate:R.rotate,stroke:v.color,"stroke-dasharray":v.dashArray,"stroke-linecap":v.cap,"stroke-linejoin":v.join,"stroke-miterlimit":"4","stroke-width":v.width,"text-anchor":R.align,"text-decoration":R.decoration,"text-rendering":K,x:w.x,y:w.y},w.text)}return null}function g(w){const n={fill:"none",pattern:null,linearGradient:null};if(w)if("type"in w&&"pattern"===w.type){var v=`patternId-${++u}`;n.fill= `url(#${v})`;n.pattern={id:v,x:w.x,y:w.y,width:w.width,height:w.height,image:{x:0,y:0,width:w.width,height:w.height,href:w.src}}}else"type"in w&&"linear"===w.type?(v=`linearGradientId-${++z}`,n.fill=`url(#${v})`,n.linearGradient={id:v,x1:w.x1,y1:w.y1,x2:w.x2,y2:w.y2,stops:w.colors.map(R=>({offset:R.offset,color:R.color&&(new a(R.color)).toString()}))}):w&&(w=new a(w),n.fill=w.toString());return n}function e(w){const n={color:"none",width:1,cap:"butt",join:"4",dashArray:"none",dashOffset:"0"};w&&(null!= w.width&&(n.width=w.width),w.cap&&(n.cap=w.cap),w.join&&(n.join=w.join.toString()),w.color&&(n.color=(new a(w.color)).toString()),w.dashArray&&(n.dashArray=w.dashArray),w.dashoffset&&(n.dashOffset=w.dashoffset),w.style&&!w.dashArray&&(n.dashArray=C.getDashArray(w).join(",")||"none"));return n}function l(w,n){const v={align:null,decoration:null,kerning:null,rotate:null,font:{style:null,variant:null,weight:null,size:null,family:null}};if(w){const R=w.alignBaseline;v.align=w.align;v.dominantBaseline= "baseline"===R?"auto":"top"===R?"text-top":"bottom"===R?"hanging":R;v.decoration=w.decoration;v.kerning=w.kerning?"auto":"0";v.rotate=w.rotated?"90":"0";B.assertIsSome(n);v.font.style=n.style||"normal";v.font.variant=n.variant||"normal";v.font.weight=n.weight||"normal";v.font.size=n.size&&n.size.toString()||"10pt";v.font.family=n.family||"serif"}return v}function h(w){const {pattern:n,linearGradient:v}=w;return n?M.tsx("pattern",{height:n.height,id:n.id,patternUnits:"userSpaceOnUse",width:n.width, x:n.x,y:n.y},M.tsx("image",{height:n.image.height,href:n.image.href,width:n.image.width,x:n.image.x,y:n.image.y})):v?(w=v.stops.map((R,U)=>M.tsx("stop",{key:`${U}-stop`,offset:R.offset,"stop-color":R.color})),M.tsx("linearGradient",{gradientUnits:"userSpaceOnUse",id:v.id,x1:v.x1,x2:v.x2,y1:v.y1,y2:v.y2},w)):null}function y(w,n){if(!w||0===w.length)return null;const v=[];for(const R of w){const {shape:U,fill:X,stroke:Z,font:ea}=R;w=g(X);const Y=e(Z),ja="text"===U.type?l(U,ea):null;(w=f(U,w.fill,Y, ja))&&v.push(w)}return M.tsx("mask",{id:n,maskUnits:"userSpaceOnUse"},M.tsx("g",null,v))}function p(w,n,v,R,U){G.scale(w,G.identity(w),[n,v]);w[4]=w[4]*n-R*n+R;w[5]=w[5]*v-U*v+U;return w}function r(w,n){if(L&&"left"in L){null!=L.left&&L.left>w&&(L.left=w);if(null==L.right||L.rightn)L.top=n;if(null==L.bottom||L.bottom=R&&(w={action:w,args:n.slice(0,n.length-n.length%R)},v.push(w),m(w)):(w={action:w,args:[]},v.push(w),m(w)))}function E(w){const n={x:0,y:0,width:0,height:0};if("circle"===w.type)n.x=w.cx- w.r,n.y=w.cy-w.r,n.width=2*w.r,n.height=2*w.r;else if("ellipse"===w.type)n.x=w.cx-w.rx,n.y=w.cy-w.ry,n.width=2*w.rx,n.height=2*w.ry;else if("image"===w.type||"rect"===w.type)n.x=w.x,n.y=w.y,n.width=w.width,n.height=w.height;else if("path"===w.type){{const U=("string"!==typeof w.path?x(w.path):w.path).match(F),X=[];L={};Q={};if(U){w="";var v=[],R=U.length;for(let Z=0;Zv?n:v;let ma=1,ka=1;isNaN(da)||(1n||ia>v)&&(ja=fa/n>ia/v,n=(ja?n:v)/(ja?fa:ia), G.multiply(Z,Z,p(Y,n,n,U,w)));X&&(n=G.multiply,v=X%360*Math.PI/180,G.rotate(Y,G.identity(Y),v),X=Math.cos(v),v=Math.sin(v),fa=Y[4],ia=Y[5],Y[4]=fa*X-ia*v+w*v-U*X+U,Y[5]=ia*X+fa*v-U*v-w*X+w,n.call(G,Z,Z,Y));ea&&(X=G.multiply,n=ea[0],ea=ea[1],ea=G.translate(Y,G.identity(Y),[n,ea]),X.call(G,Z,Z,ea));return`matrix(${Z[0]},${Z[1]},${Z[2]},${Z[3]},${Z[4]},${Z[5]})`}function k(w,n,v){w=w?.effects.find(ea=>"bloom"===ea.type);if(!w)return null;const {strength:R,radius:U}=w;w=0"bloom"===da.type),Y=(Y.strength?Y.strength+Y.radius/2:0)/3,Y=[Math.max(n+n*Y,10),Math.max(v+v*Y,10)]);for(let da=0;daNumber(r));const y=h??0,p=H.has(l)?H.get(l).map(r=>r*y):[];if("butt"!==g.cap)for(const [r,m]of p.entries())p[r]=1===r%2?m+y:Math.max(m-y,1);return p}const H=new Map([["dash",[4,3]],["dashdot",[4,3,1,3]],["dot",[1, 3]],["longdash",[8,3]],["longdashdot",[8,3,1,3]],["longdashdotdot",[8,3,1,3,1,3]],["shortdash",[4,1]],["shortdashdot",[4,1,1,1]],["shortdashdotdot",[4,1,1,1,1,1]],["shortdot",[1,1]],["solid",[]]]),x=new q.LRUCache(1E3),f=(()=>{const g={};return e=>{if(g[e])return g[e];const l=e.replaceAll("-","");return g[e]=l}})();P=new P([128,128,128]);d.defaultThematicColor=P;d.dekebabifyLineStyle=f;d.getDashArray=M;d.getFill=function(g){const e=g.style;let l=null;if(g)switch(g.type){case "simple-marker":"cross"!== e&&"x"!==e&&(l=g.color);break;case "simple-fill":e&&"solid"!==e?"none"!==e&&(l={type:"pattern",x:0,y:0,src:a.getAssetUrl(`esri/symbols/patterns/${e}.png`),width:5,height:5}):l=g.color;break;case "picture-fill":l={type:"pattern",src:g.url,width:G.pt2px(g.width)*g.xscale,height:G.pt2px(g.height)*g.yscale,x:G.pt2px(g.xoffset),y:G.pt2px(g.yoffset)};break;case "text":l=g.color;break;case "cim":l=C.getCIMSymbolColor(g)}return l};d.getPatternUrlWithColor=function(g,e){const l=g+"-"+e;return void 0!==x.get(l)? Promise.resolve(x.get(l)):B(g,{responseType:"image"}).then(h=>{h=h.data;const y=h.naturalWidth,p=h.naturalHeight,r=document.createElement("canvas");r.width=y;r.height=p;const m=r.getContext("2d");m.fillStyle=e;m.fillRect(0,0,y,p);m.globalCompositeOperation="destination-in";m.drawImage(h,0,0);h=r.toDataURL();x.put(l,h);return h})};d.getStroke=I;Object.defineProperty(d,Symbol.toStringTag,{value:"Module"})})},"esri/symbols/support/utils":function(){define("require exports ../../Color ../../symbols ../../core/asyncUtils ../../core/has ../../core/screenUtils ../../core/libs/gl-matrix-2/factories/vec3f64 ../../layers/effects/jsonUtils ./cimSymbolUtils ./gfxUtils ./Symbol3DMaterial".split(" "), function(d,a,P,B,q,G,C,I,M,H,x,f){function g(b){b=b.symbolLayers;if(!b)return null;let k=null;b.forEach(u=>{"object"===u.type&&u.resource?.href||(k="water"===u.type?u.color:u.material?u.material.color:null)});return k?new P(k):null}function e(b,k){if(null==k||null==b)return b;b=b.toRgba();b[3]*=k;return new P(b)}function l(b,k,u){if(b=b.symbolLayers){var z=K=>{k=k??K??(null!=u?J:null);return e(k,u)};b.forEach(K=>{if("object"!==K.type||!K.resource?.href||k)if("water"===K.type)K.color=z(K.color);else{const S= z(null!=K.material?K.material.color:null);null==K.material?K.material=new f.Symbol3DMaterial({color:S}):K.material.color=S;null!=u&&"outline"in K&&null!=K.outline?.color&&(K.outline.color=e(K.outline.color,u))}})}}async function h(b,k){(b=b.symbolLayers)&&await q.forEach(b,async u=>y(u,k))}async function y(b,k){switch(b.type){case "extrude":b.size="number"===typeof k[2]?k[2]:0;break;case "icon":case "line":case "text":k=p(k);null!=k&&(b.size=k);break;case "path":const u=m(k,I.ONES,[b.width,void 0, b.height]);b.width=E(k[0],b.width,1,u);b.height=E(k[2],b.height,1,u);break;case "object":await r(b,k)}}function p(b){for(const k of b)if("number"===typeof k)return k;return null}async function r(b,k){const {resourceSize:u,symbolSize:z}=await A(b),K=m(k,u,z);b.width=E(k[0],z[0],u[0],K);b.depth=E(k[1],z[1],u[1],K);b.height=E(k[2],z[2],u[2],K)}function m(b,k,u){for(let z=0;3>z;z++){const K=b[z];switch(K){case "symbol-value":return b=u[z],null!=b?b/k[z]:1;case "proportional":break;default:if(K&&k[z])return K/ k[z]}}return 1}async function A(b){var {computeObjectLayerResourceSize:k}=await new Promise((L,Q)=>d(["./symbolLayerUtils"],L,Q));k=await k(b,10);const {width:u,height:z,depth:K}=b;b=[u,K,z];let S=1;for(var F=0;3>F;F++){const L=b[F];if(null!=L){S=L/k[F];break}}for(F=0;3>F;F++)null==b[F]&&(b[F]=k[F]*S);return{resourceSize:k,symbolSize:b}}function E(b,k,u,z){switch(b){case "proportional":return u*z;case "symbol-value":return null!=k?k:u;default:return b}}const J=new P("white");a.applyColorToSymbol= function(b,k,u){if(b&&(k||null!=u))if(k&&=new P(k),B.isSymbol3D(b))l(b,k,u);else if(B.isSymbol2D(b)){if(k=k??b.color)b.color=e(k,u);null!=u&&"outline"in b&&b.outline?.color&&(b.outline.color=e(b.outline.color,u))}};a.applyOpacityToColor=e;a.applyRotationToSymbol=function(b,k,u){b&&null!=k&&(B.isSymbol3D(b)?(b=b.symbolLayers)&&b.forEach(z=>{if(z&&"object"===z.type)switch(u){case "tilt":z.tilt=(z.tilt??0)+k;break;case "roll":z.roll=(z.roll??0)+k;break;default:z.heading=(z.heading??0)+k}}):!B.isSymbol2D(b)|| "simple-marker"!==b.type&&"picture-marker"!==b.type&&"text"!==b.type||(b.angle+=k))};a.applySizesToSymbol=async function(b,k){if(b&&k){if(B.isSymbol3D(b))return h(b,k);if(B.isSymbol2D(b)&&(k=p(k),null!=k))switch(b.type){case "simple-marker":b.size=k;break;case "picture-marker":const u=b.width/b.height;1"bloom"!==k.type).map(k=>k.toJSON());return M.effectFunctionsFromJSON(b)};a.getColorFromSymbol=function(b,k){if(!b)return null;let u=null;B.isSymbol3D(b)?u=g(b):B.isSymbol2D(b)&&(u="cim"===b.type?H.getCIMSymbolColor(b):b.color?new P(b.color):null);return u?e(u,k):null};a.getIconHref=function(b){return b.resource?.href??""};a.getSymbolOutlineSize=function(b){return b?B.isSymbol3D(b)?(b=(b=b.symbolLayers?.at(-1))&& "outline"in b?b?.outline?.size:void 0,null!=b?b:0):C.px2pt(x.getStroke(b)?.width):0};a.isVolumetricSymbol=function(b){if(null==b||!("symbolLayers"in b)||null==b.symbolLayers)return!1;switch(b.type){case "point-3d":return b.symbolLayers.some(k=>"object"===k.type);case "line-3d":return b.symbolLayers.some(k=>"path"===k.type);case "polygon-3d":return b.symbolLayers.some(k=>"object"===k.type||"extrude"===k.type);default:return!1}};a.symbolHasExtrudeSymbolLayer=function(b){return null!=b&&"polygon-3d"=== b.type&&b.symbolLayers.some(k=>"extrude"===k.type)};Object.defineProperty(a,Symbol.toStringTag,{value:"Module"})})},"esri/symbols/support/symbolUtils":function(){define("require exports ../../core/has ../../support/arcadeOnDemand ./gfxUtils ./previewUtils ./renderUtils ./utils ../../widgets/Legend/styles/support/relationshipUtils ../../widgets/Legend/support/relationshipRampUtils".split(" "),function(d,a,P,B,q,G,C,I,M,H){function x(y,p){if(p&&(y.style.filter=I.getCSSFilterFromEffectList(p),p=p.effects))for(const r of p)if("drop-shadow"=== r?.type){0>r.offsetX?y.style.marginLeft=`${Math.abs(r.offsetX)}px`:y.style.marginRight=`${r.offsetX}px`;break}}async function f(y,p){switch(y.type){case "web-style":var {previewWebStyleSymbol:r}=await new Promise((m,A)=>d(["./previewWebStyleSymbol"],m,A));return r(y,f,p);case "label-3d":case "line-3d":case "mesh-3d":case "point-3d":case "polygon-3d":return{previewSymbol3D:r}=await new Promise((m,A)=>d(["./previewSymbol3D"],m,A)),r(y,p);case "simple-marker":case "simple-line":case "simple-fill":case "picture-marker":case "picture-fill":case "text":return{previewSymbol2D:r}= await new Promise((m,A)=>d(["./previewSymbol2D"],m,A)),r(y,p);case "cim":return{previewCIMSymbol:r}=await new Promise((m,A)=>d(["./previewCIMSymbol"],m,A)),r(y,p)}}function g(y){return y&&"opacity"in y?y.opacity*g(y.parent):1}function e(y){if(y)return"renderer"in y?y.renderer:void 0}let l=null;const h=[255,255,255];a.getDisplayedColor=async function(y,p){if(y){var {layer:r,sourceLayer:m}=y,A=g(r??m);if(null!=y.symbol&&(null==p||!0!==p.ignoreGraphicSymbol))return y="web-style"===y.symbol.type?await I.fetchWebStyleSymbol(y.symbol, p):y.symbol.clone(),I.getColorFromSymbol(y,A);var E=p?.renderer??e(r)??e(m),J=E&&"getSymbolAsync"in E?await E.getSymbolAsync(y,p):void 0;if(J){J="web-style"===J.type?await I.fetchWebStyleSymbol(J,p):J.clone();J=I.getColorFromSymbol(J,A);if(!(E&&"visualVariables"in E)||"visualVariables"in E&&!E.visualVariables||"visualVariables"in E&&!E.visualVariables?.length)return J;"arcadeRequiredForVisualVariables"in E&&E.arcadeRequiredForVisualVariables&&null==p?.arcade&&(p={...p},p.arcade=await B.loadArcade()); var {getColor:b,getOpacity:k}=await new Promise((K,S)=>d(["../../renderers/visualVariables/support/visualVariableUtils"],K,S)),u=[],z=[];for(const K of E.visualVariables)switch(K.type){case "color":u.push(K);break;case "opacity":z.push(K)}E=(E=0d(["../../renderers/visualVariables/support/visualVariableUtils"],L,Q)),u=[],z=[],K=[],S=[];for(var F of A.visualVariables)switch(F.type){case "color":u.push(F);break;case "opacity":z.push(F);break;case "rotation":S.push(F);break;case "size":F.target||K.push(F)}F=(F=!!u.length&& u[u.length-1])?E(F,y,p):null;z=(z=!!z.length&&z[z.length-1])?J(z,y,p):null;null!=r&&(z=null!=z?z*r:r);I.applyColorToSymbol(m,F,z);K.length&&(r=b(K,y,p),await I.applySizesToSymbol(m,r));for(const L of S)I.applyRotationToSymbol(m,k(L,y,p),L.axis);return m}}};a.getLegendLabel=async function(y,p,r){if(y){var {layer:m,sourceLayer:A}=y,E=r?.renderer??e(m)??e(A);if(!E)return null;if("visualVariables"in E&&E.visualVariables?.length){const {getRampStops:b}=await new Promise((K,S)=>d(["../../widgets/Legend/support/colorRampUtils"], K,S)),{getRampStops:k}=await new Promise((K,S)=>d(["../../widgets/Legend/support/sizeRampUtils"],K,S)),{getDateFormatOptions:u}=await new Promise((K,S)=>d(["../../widgets/Legend/support/utils"],K,S));let z=null;for(const K of E.visualVariables){var J=p?u(m,K,p.timeZone):null;let S=null;switch(K.type){case "color":S=await b(K,null,J);break;case "opacity":S=await b(K);break;case "size":K.target||(S=await k(E,K,null,r?.scale||p?.scale,p,J))}if(S?.length&&(J=S.find((F,L)=>{const Q=y.attributes[K.field]; return 0===L?Q>=F.value:L===S?.length-1?Q<=F.value:F.value===Q}))){z=J.label;break}}if(z)return z}switch(E.type){case "class-breaks":return p="getClassBreakInfo"in E?await E.getClassBreakInfo(y,r):null,p?.label??(p&&1S.addColorStop(Q*F,L.toString()));u.fillStyle=S;u.fillRect(0,0,b,k)}else{b=r?b/y.length:b;k=r?k:k/y.length;z=E=0;for(const S of y)u.fillStyle=S.toString(), u.fillRect(E,z,b,k),E=r?E+b:0,z=r?0:z+k}y=document.createElement("div");y.style.width=`${m}px`;y.style.height=`${A}px`;x(y,p?.effectList);y.appendChild(J);return y};a.renderDotDensityPreviewHTML=function(y,p,r){const {backgroundColor:m,outline:A,dotSize:E}=y;var J=r?.swatchSize||G.SymbolSizeDefaults.size;const b=Math.round(J*J/Math.max(E,.5)**2*.8),k=window.devicePixelRatio;y=document.createElement("canvas");const u=J*k;y.width=u;y.height=u;y.style.width=`${y.width/k}px`;y.style.height=`${y.height/ k}px`;const z=y.getContext("2d");m&&(z.fillStyle=m.toCss(!0),z.fillRect(0,0,u,u),z.fill());z.fillStyle=p?.toCss(!0)??"";if(l&&l.length/2===b)for(p=0;p<2*b;p+=2)z.fillRect(l[p],l[p+1],E*k,E*k),z.fill();else for(l=[],p=0;p<2*b;p+=2){const K=Math.floor(Math.random()*(u-0+1)),S=Math.floor(Math.random()*(u-0+1));l.push(K,S);z.fillRect(K,S,E*k,E*k);z.fill()}A&&(A.color&&(z.strokeStyle=A.color.toCss(!0)),z.lineWidth=A.width,z.strokeRect(0,0,u,u));J=new Image(J,J);J.src=y.toDataURL();J.ariaLabel=r?.ariaLabel?? null;J.alt=r?.ariaLabel??"";return J};a.renderPieChartPreviewHTML=function(y,p={}){const r=p.radius||40;var m=2*Math.PI*r,A=y.length;const E=m/A,J=[],b=q.getStroke(p.outline);null!=b?.width&&(b.width*=2);(b||p.backgroundColor)&&J.push({shape:{type:"circle",cx:r,cy:r,r},fill:p.backgroundColor,stroke:b,offset:[0,0]});const k=p.values,u=k&&k.length===A&&100===k.reduce((K,S)=>K+S,0),z=[0];for(let K=0;KM.renderRelationshipRamp(E,p.id||"relationship",{opacity:p.opacity||1,effectList:p.effectList,ariaLabel:p.ariaLabel})); return y};Object.defineProperty(a,Symbol.toStringTag,{value:"Module"})})},"esri/widgets/Legend/styles/support/relationshipUtils":function(){define(["exports","../../../../symbols/support/svgUtils","../../../../symbols/support/utils","../../../support/widgetUtils","../../../support/jsxFactory"],function(d,a,P,B,q){function G(M,H,x){const f=`${x}_arrowStart`;x=`${x}_arrowEnd`;M="left"===M;const g={markerStart:null,markerEnd:null};switch(H){case "HL":M?g.markerStart=`url(#${x})`:g.markerEnd=`url(#${f})`; break;case "LL":g.markerStart=`url(#${x})`;break;case "LH":M?g.markerEnd=`url(#${f})`:g.markerStart=`url(#${x})`;break;default:g.markerEnd=`url(#${f})`}return g}function C(M,H,x={}){const {focus:f,numClasses:g,colors:e,rotation:l}=M,{opacity:h,effectList:y,ariaLabel:p}=x;M=x.size??60;x=!!f;const r=Math.sqrt(M**2+M**2)+(x?0:5),m=[],A=[];var E=[],J=(M||75)/g;for(var b=0;b{l[h.value]={label:h.label,fill:q(h.symbol)}});H=[];for(let h=0;h< g;h++){const y=[];for(let p=0;pnull))&&"thumbnail"in n&&n.thumbnail?.url?n.thumbnail.url:v}function y(n,v=1){const R= n.a;n=P.toHSV(n);const {r:U,g:X,b:Z}=P.toRGB({h:n.h,s:n.s/v,v:100-(100-n.v)/v});return[U,X,Z,R]}function p(n){return"water"===n.type?null==n.color?null:n.color:null==n.material?.color?null:n.material.color}function r(n,v=0){var R=p(n);if(!R){if("fill"===n.type)return null;v=x.adjustColorComponentBrightness(I.defaultThematicColor.r,v);return[v,v,v,100]}n=R.toRgba();for(R=0;3>R;R++)n[R]=x.adjustColorComponentBrightness(n[R],v);return n}async function m(n,v){n=n.style;return"none"===n?null:{type:"pattern", x:0,y:0,src:await I.getPatternUrlWithColor(a.getAssetUrl(`esri/symbols/patterns/${n}.png`),v.toCss(!0)),width:5,height:5}}function A(n){return n.outline?l(n):{color:"rgba(0, 0, 0, 1)",width:1.5}}function E(n,v){n=p(n);if(!n)return null;let R;R="rgba("+(x.adjustColorComponentBrightness(n.r,v)+",");R+=x.adjustColorComponentBrightness(n.g,v)+",";R+=x.adjustColorComponentBrightness(n.b,v)+",";return R+n.a+");"}function J(n,v){v=E(n,v);if(!v)return{};if("pattern"in n&&null!=n.pattern&&"style"===n.pattern.type&& "none"===n.pattern.style)return null;const R=Math.min(n.size?C.pt2px(n.size):.75,W);return{color:v,width:R,style:"pattern"in n&&null!=n.pattern&&"style"===n.pattern.type?I.dekebabifyLineStyle(n.pattern.style):null,cap:"cap"in n?n.cap:null,join:"join"in n?"miter"===n.join?C.pt2px(2):n.join:null}}function b(n,v,R){R=null!=R?.75*R:0;return{type:"linear",x1:R?.25*R:0,y1:R?.5*R:0,x2:R||4,y2:R?.5*R:4,colors:[{color:n,offset:0},{color:v,offset:1}]}}function k(n){const v=n.depth,R=n.height;n=n.width;return 0!== n&&0!==v&&0!==R&&n===v&&null!=n&&null!=R&&n{if("icon"===da.type||"object"===da.type){var ma="icon"===da.type?da.size&&C.pt2px(da.size):0,ka=R||ma?Math.ceil(Math.min(R||ma,U||Q)):L;if(da?.resource?.href){var sa=h(n,da).then(va=>{const ya=da?.material?.color;var za="icon"===da.type?"multiply":"tint";return f.tintImageWithColor(va,ka,ya,za,X)}).then(va=>{const ya=va.width,za=va.height;Y=Math.max(Y,ya);ja=Math.max(ja,za);return[{shape:{type:"image",x:0,y:0,width:ya, height:za,src:va.url},fill:null,stroke:null}]});ea.push(sa)}else sa=ka,"icon"===da.type&&fa&&R&&(sa=ma/fa*ka),ma="tall"===v?.symbolConfig||v?.symbolConfig?.isTall||("object"===da.type?k(da):!1),Y=Math.max(Y,ma?w:sa),ja=Math.max(ja,sa),ea.push(Promise.resolve(u(da,sa,ma)))}});const ia=[];(await Promise.allSettled(ea)).forEach(da=>{"fulfilled"===da.status?ia.push(da.value):da.reason&&G.getLogger("esri.symbols.support.previewSymbol3D").warn("error while building swatchInfo!",da.reason)});return f.renderSymbol(ia, [Y,ja],{node:v?.node,scale:!1,opacity:v?.opacity,ariaLabel:v?.ariaLabel})}function S(n,v){const R=n.symbolLayers,U=[];n=g.isVolumetricSymbol(n);const X=z(v),Z=(v?.maxSize?C.pt2px(v.maxSize):null)||W;let ea=0,Y=0,ja;R.forEach((V,fa)=>{if(V&&("line"===V.type||"path"===V.type)){var ia=[];switch(V.type){case "line":var da=J(V,0);if(null==da)break;var ma=da?.width||0;0===fa&&(ja=ma);V=Math.min(X||ma,Z);fa=0===fa?V:X?ma/ja*V:V;ma=fa>ca/2?2*fa:ca;Y=Math.max(Y,fa);ea=Math.max(ea,ma);da.width=fa;ia.push({shape:{type:"path", path:[{command:"M",values:[0,.5*Y]},{command:"L",values:[ea,.5*Y]}]},stroke:da});break;case "path":da=Math.min(X||L,Z);fa=r(V,0);ma=r(V,-.2);var ka=E(V,-.4);ka=ka?{color:ka,width:1}:{};if("quad"===V.profile){const sa=V.width;V=V.height;V=x.getPathSymbolShapes(sa&&V?sa/V:1,0===V,0===sa);ka={...ka,join:"bevel"};ia.push({shape:V[0],fill:ma,stroke:ka},{shape:V[1],fill:ma,stroke:ka},{shape:V[2],fill:fa,stroke:ka})}else ia.push({shape:x.shapes.pathSymbol3DLayer[0],fill:ma,stroke:ka},{shape:x.shapes.pathSymbol3DLayer[1], fill:fa,stroke:ka});ea=Y=Math.max(Y,da)}U.push(ia)}});return Promise.resolve(f.renderSymbol(U,[ea,Y],{node:v?.node,scale:n,opacity:v?.opacity,ariaLabel:v?.ariaLabel}))}async function F(n,v){const R="mesh-3d"===n.type;n=n.symbolLayers;var U=z(v);const X=v?.maxSize?C.pt2px(v.maxSize):null;U=U||L;const Z=[];let ea=0,Y=0;var ja=!1;for(let ma=0;may.name===l)}function g(l,h,y,p,r,m){const A=null!=y?.portal?y.portal:G.getDefault(),E={portal:A,url:q.urlToObject(l.baseUrl),origin:"portal-item"},J=f(h,l.data);if(!J)return Promise.reject(new B("symbolstyleutils:symbol-name-not-found",`The symbol name '${h}' could not be found`,{symbolName:h}));r=C.fromJSON(r(J,p),E);let b=J.thumbnail?.href??null;const k=J.thumbnail?.imageData;P.isDevEnvironment()&&(r=P.adjustStaticAGOUrl(r)?? "",b=P.adjustStaticAGOUrl(b));const u={portal:A,url:q.urlToObject(q.removeFile(r)),origin:"portal-item"};return H.requestJSON(r,m).then(z=>{z="cimRef"===p?H.makeCIMSymbolRef(z.data):z.data;if((z=I.fromJSON(z,u))&&a.isSymbol3D(z)){if(b){const K=C.fromJSON(b,E);z.thumbnail=new x.Thumbnail({url:K})}else k&&(z.thumbnail=new x.Thumbnail({url:`data:image/png;base64,${k}`}));l.styleUrl?z.styleOrigin=new M({portal:y.portal,styleUrl:l.styleUrl,name:h}):l.styleName&&(z.styleOrigin=new M({portal:y.portal,styleName:l.styleName, name:h}))}return z})}function e(l,h,y){const p=H.Style2DUrlTemplate.replaceAll(/\{SymbolName\}/gi,l),r=null!=h.portal?h.portal:G.getDefault();return H.requestJSON(p,y).then(m=>{m=H.makeCIMSymbolRef(m.data);return I.fromJSON(m,{portal:r,url:q.urlToObject(q.removeFile(p)),origin:"portal-item"})})}d.fetchSymbolFromStyle=g;d.getStyleItemFromStyle=f;d.resolveWebStyleSymbol=function(l,h,y,p){const r=l.name;return null==r?Promise.reject(new B("symbolstyleutils:style-symbol-reference-name-missing","Missing name in style symbol reference")): l.styleName&&"Esri2DPointSymbolsStyle"===l.styleName?e(r,h,p):H.fetchStyle(l,h,p).then(m=>g(m,r,h,y,H.symbolUrlFromStyleItem,p))};Object.defineProperty(d,Symbol.toStringTag,{value:"Module"})})},"esri/core/devEnvironmentUtils":function(){define(["exports"],function(d){const a=/^devext\.arcgis\.com$/,P=/^qaext\.arcgis\.com$/,B=/^[\w-]*\.mapsdevext\.arcgis\.com$/,q=/^[\w-]*\.mapsqa\.arcgis\.com$/,G=[/^([\w-]*\.)?[\w-]*\.zrh-dev-local\.esri\.com$/,a,P,/^jsapps\.esri\.com$/,B,q];d.adjustStaticAGOUrl=function(C, I){return C?(I=I||globalThis.location.hostname)?null!=I.match(a)||null!=I.match(B)?C.replace("static.arcgis.com","staticdev.arcgis.com"):null!=I.match(P)||null!=I.match(q)?C.replace("static.arcgis.com","staticqa.arcgis.com"):C:C:C};d.devHostnames=G;d.isDevEnvironment=function(C){C=C||globalThis.location.hostname;return G.some(I=>null!=C?.match(I))};Object.defineProperty(d,Symbol.toStringTag,{value:"Module"})})},"esri/widgets/Legend/support/clusterUtils":function(){define(["exports","../../../renderers/visualVariables/SizeVariable"], function(d,a){d.getEffectiveClusterSizeVariable=function(P,B,q){var G=P.effectiveClusterRenderer;if(!(G&&"visualVariables"in G&&G.visualVariables))return null;G=G.visualVariables.find(M=>"size"===M.type);if(!("stops"in G&&G.stops))return null;const C=G.stops.find(M=>M.useMinValue),I=G.stops.find(M=>M.useMaxValue);if(null==C||null==I)return null;q=q.featuresTilingScheme.getClosestInfoForScale(q.scale).level;return(B=B.getDisplayStatistics(q,G.field))?new a({field:G.field,minSize:P.clusterMinSize,minDataValue:B.minValue, maxSize:P.clusterMaxSize,maxDataValue:B.maxValue}):null};Object.defineProperty(d,Symbol.toStringTag,{value:"Module"})})},"esri/widgets/Legend/support/colorRampUtils":function(){define(["require","exports","../../../Color","./utils"],function(d,a,P,B){function q(H,x){const f=[],g=H.length-1;5===H.length?f.push(0,2,4):f.push(0,g);return H.map((e,l)=>f.includes(l)?B.createStopLabel(e,l,g,x):null)}async function G(H,x,f){f=new P(f??M);H=(await new Promise((g,e)=>d(["../../../renderers/visualVariables/support/visualVariableUtils"], g,e))).getOpacity(x,H);null!=H&&(f.a=H);return f}function C(H,x){const {startIndex:f,endIndex:g,weight:e}=I(H,x);if(f===g)return x[f].color;H=P.blendColors(x[f].color,x[g].color,e);return new P(H)}function I(H,x){let f=0,g=x.length-1;x.some((e,l)=>{if(Hp.value);(g=h.some(p=>!!p.label))&&(l=h.map(p=>p.label))}h=e[e.length-1];if(null==e[0]&&null==h)return null;const y=g?null:q(e,f);return(await Promise.all(e.map(async(p,r)=>{const m="opacity"===H.type?await G(p,H,x):(await new Promise((A,E)=>d(["../../../renderers/visualVariables/support/visualVariableUtils"],A,E))).getColor(H,p);return{value:p,color:m,label:g?l[r]:y?.[r]??""}}))).reverse()};a.getRampStopsForPointCloud=function(H){let x=!1,f=[],g=[];f=H.map(h=>h.value);(x=H.some(h=> !!h.label))&&(g=H.map(h=>h.label??""));const e=f[f.length-1];if(null==f[0]&&null==e)return null;const l=x?null:q(f);return f.map((h,y)=>{const p=C(h,H);return{value:h,color:p,label:x?g[y]:l?.[y]??""}}).reverse()};a.getStretchRampStops=function(H,x){let f=[];if(H&&"multipart"===H.type)H.colorRamps.reverse().forEach((g,e)=>{0===e?f.push({value:x.max,color:new P(g.toColor),label:"high"}):f.push({value:null,color:new P(g.toColor),label:""});e===H.colorRamps.length-1?f.push({value:x.min,color:new P(g.fromColor), label:"low"}):f.push({value:null,color:new P(g.fromColor),label:""})});else{let g,e;H&&"algorithmic"===H.type?(g=H.fromColor,e=H.toColor):(g=[0,0,0,1],e=[255,255,255,1]);f=[{value:x.max,color:new P(e),label:"high"},{value:x.min,color:new P(g),label:"low"}]}return f};Object.defineProperty(a,Symbol.toStringTag,{value:"Module"})})},"esri/widgets/Legend/support/utils":function(){define("require exports ../../../symbols ../../../core/timeUtils ../../../layers/support/fieldUtils ../../../renderers/support/numberUtils ../../../smartMapping/support/utils ../../../symbols/SimpleLineSymbol".split(" "), function(d,a,P,B,q,G,C,I){async function M(f){if(!("visualVariables"in f&&f.visualVariables))return null;f=f.visualVariables.find(l=>"color"===l.type);if(!f)return null;var g=null,e=null;if(f.stops){if(1===f.stops.length)return f.stops[0].color;g=f.stops[0].value;e=f.stops[f.stops.length-1].value}g=null!=g&&null!=e?g+(e-g)/2:0;({getColor:e}=await new Promise((l,h)=>d(["../../../renderers/visualVariables/support/visualVariableUtils"],l,h)));return e(f,g)??null}function H(f,g){if(!g.field)return null; if("featureReduction"in f)switch(f.featureReduction?.type){case "cluster":case "binning":const e=f.featureReduction.fields.find(({name:l})=>l.toLowerCase()===g.field.toLowerCase());return e&&"getField"in f?f.getField(e.onStatisticField):null}return"getField"in f?f.getField?.(g.field):null}function x(f,g){f="popupTemplate"in f?f.popupTemplate?.fieldInfos:null;if(f?.length&&g)return f.find(e=>e.fieldName?.toLowerCase()===g.toLowerCase())?.format?.dateFormat}a.createStopLabel=function(f,g,e,l){let h= "";0===g?h="\x3c ":g===e&&(h="\x3e ");f=l?C.formatAnyDate(f,l):G.format(f);return h+f};a.getDateFormatOptions=function(f,g,e){const l=H(f,g);if(!l||!C.isAnyDateField(l)&&!q.isTimeOnlyField(l))return null;var h=x(f,l.name);if(!h&&"date"===l.type){let y=h=0;g.stops?(h=g.stops?.at(0)?.value??h,y=g.stops?.at(-1)?.value??y):"minDataValue"in g&&"maxDataValue"in g&&(h=g.minDataValue??h,y=g.maxDataValue??y);h=y-h>2*B.millisecondsPerTimeUnit.days?"short-date":"short-date-short-time"}return{fieldType:l.type, format:h,timeZoneOptions:{layerTimeZone:"preferredTimeZone"in f?f.preferredTimeZone:null,viewTimeZone:e,datesInUnknownTimezone:"datesInUnknownTimezone"in f&&f.datesInUnknownTimezone}}};a.getMedianColor=M;a.getReferenceSizeAuthoringInfoVisualVariable=function(f){if("authoringInfo"in f)return f.authoringInfo?.visualVariables?.find(({theme:g})=>"reference-size"===g)};a.getSymbolForFlowRenderer=async function(f,g){const e=f.trailCap,l=f.trailWidth||1;f=g||await M(f)||f.color;return new I({cap:e,color:f, width:l})};a.isRasterBandStatistics=function(f){return null!=f&&"object"===typeof f&&"min"in f&&"max"in f};a.rgbImgSource=["data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAACXBIWXMAAAAAAAAAAAHqZRakAAAANUlEQVQ4jWPMy8v7z0BFwMLAwMAwcdIkqhiWn5fHwEQVk5DAqIGjBo4aOGrgqIEQwEjtKgAATl0Hu6JrzFUAAAAASUVORK5CYII\x3d","data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAACXBIWXMAAAAAAAAAAAHqZRakAAAANUlEQVQ4jWPMy8v7z0BFwMLAwMAwaeIkqhiWl5/HwEQVk5DAqIGjBo4aOGrgqIEQwEjtKgAATl0Hu6sKxboAAAAASUVORK5CYII\x3d", "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAACXBIWXMAAAAAAAAAAAHqZRakAAAANUlEQVQ4jWPMy8v7z0BFwMLAwMAwadJEqhiWl5fPwEQVk5DAqIGjBo4aOGrgqIEQwEjtKgAATl0Hu75+IUcAAAAASUVORK5CYII\x3d"];a.specialCharsGreaterThan="\x3e";a.specialCharsLessThan="\x3c";Object.defineProperty(a,Symbol.toStringTag,{value:"Module"})})},"esri/renderers/support/numberUtils":function(){define(["exports","../../intl","../../intl/number"],function(d,a,P){function B(x,f){return x-f}function q(x,f){let g;g=Number(x.toFixed(f)); gx.fractional?0:x.fractional-f):(x.fractional+=f,x.integer=f>x.integer?1:x.integer-f);return x}return{integer:0,fractional:0}}function I(x,f,g,e){const l={previous:null,next:null};if(null!=g){const h=x-g;l.previous=Math.floor(Math.abs(100*(f-g-h)/h))}null!=e&&(x=e-x,l.next=Math.floor(Math.abs(100*(e-f-x)/x)));return l}const M=/^-?(\d+)(\.(\d+))?$/i,H={maximumFractionDigits:20};d.format=function(x){return P.formatNumber(x,H)};d.numDigits=C;d.percentChange=I;d.round=function(x,f={}){x=x.slice(0);const {tolerance:g= 2,strictBounds:e=!1,indexes:l=x.map((y,p)=>p)}=f;l.sort(B);for(f=0;fy&&(y=1/y,l="*");return{sqlExpression:1===y?e:`(${e} ${l} ${y})`,sqlWhere:null}};d.getDateType=M;d.getFieldsList=async function(e){const {field:l,field2:h,field3:y,normalizationField:p,valueExpression:r}=e;e=[];r&&(g||({arcadeUtils:e}=await B.loadArcade(),g=e),e=g.extractFieldNames(r));l&&e.push(l);h&&e.push(h);y&&e.push(y);p&&e.push(p);return e};d.getNormalizationType=function(e){let l=e.normalizationType;l||(e.normalizationField?l="field":null!= e.normalizationTotal&&(l="percent-of-total"));return l??void 0};d.isAnyDateField=function(e){return P.isDateField(e)||P.isDateOnlyField(e)||P.isTimestampOffsetField(e)};d.isIntegerField=function(e,l){e=l&&e.getField(l);return!!e&&f.has(e.type)};d.unitValueInDays=x;Object.defineProperty(d,Symbol.toStringTag,{value:"Module"})})},"esri/widgets/Legend/support/heatmapRampUtils":function(){define(["exports","../../../renderers/support/HeatmapColorStop"],function(d,a){d.getHeatmapRampStops=function(P){if(!P.colorStops)return[]; const B=[...P.colorStops].filter(G=>0{let I="";0===C?I=P.legendOptions?.minLabel||"low":C===q&&(I=P.legendOptions?.maxLabel||"high");return{color:G.color,label:I,ratio:G.ratio}}).reverse()};Object.defineProperty(d,Symbol.toStringTag,{value:"Module"})})},"esri/widgets/Legend/support/sizeRampUtils":function(){define("require exports ../../../Color ../../../symbols ../../../renderers/support/numberUtils ../../../smartMapping/renderers/support/referenceSizeUtils ../../../symbols/support/cimSymbolUtils ../../../symbols/support/utils ./utils ../../support/widgetUtils ../../../support/themeUtils ../../../symbols/SimpleMarkerSymbol ../../../symbols/SimpleLineSymbol".split(" "), function(d,a,P,B,q,G,C,I,M,H,x,f,g){function e(F,L){const Q=F.length-1;return F.map((W,ca)=>M.createStopLabel(W,ca,Q,L))}function l(F,L){F=F?.authoringInfo;const Q="univariate-color-size"===F?.type;let W=[12,30];if(Q){const ca=L[0],w=L[L.length-1];W=L.map(n=>12+(n-ca)/(w-ca)*18)}Q&&"below"===F?.univariateTheme&&W.reverse();return W}function h(F,L,Q,W){const ca="class-breaks"===F.type;F=ca?F.classBreakInfos?.[0]?.symbol?.clone():F.uniqueValueInfos?.[0]?.symbol?.clone();if(!(F&&"type"in F&&"cim"=== F.type))return null;G.updateReferenceSizeSymbol(F,{color:W??(ca?null:new P(K)),innerDotSize:24/Q*L||1,outerRingSize:24});return F}function y(F,L){const Q=F.classBreakInfos,W=Q.length;L=2>W||!(2<=L)?Q[0].symbol.clone():Q[W-1].symbol.clone();F.visualVariables.some(ca=>"color"===ca.type)&&(L.type.includes("3d")?m(L):A(L));return L}async function p(F,L){if("flow"===F.type)return M.getSymbolForFlowRenderer(F,L);if("pie-chart"===F.type)return new f({color:null,outline:F.outline?.width?F.outline:new g}); let Q=null,W=null;"simple"===F.type?Q=F.symbol:"class-breaks"===F.type?(Q=(F=F.classBreakInfos)&&F[0]&&F[0].symbol,W=1L&&"fill"===L.type):!1:F.type.includes("fill"):!1}function m(F){"line-3d"===F.type?F.symbolLayers.forEach(L=>{L.material={color:S}}): F.symbolLayers.forEach(L=>{"icon"!==L.type||L.resource?.href?L.material={color:K}:(L.material={color:z},L.outline={color:S,size:1.5})})}function A(F){const L=x.isDarkTheme();if("cim"===F.type)C.applyCIMSymbolColor(F,new P(K));else if(F.type.includes("line"))F.color=S;else if(F.color=L?S:z,"simple-marker"===F.type)F.outline?"#ffffff"===F.outline?.color?.toHex()&&(F.outline.color=S):F.outline={color:S,width:1.5}}async function E(F,L,Q,W){const ca=(await new Promise((v,R)=>d(["../../../renderers/visualVariables/support/visualVariableUtils"], v,R))).getSizeRangeAtScale(F,Q,W),w=ca&&J(ca);if(ca&&w){var n=w.map(v=>{const R=ca.minSize,U=ca.maxSize,X=F.minDataValue,Z=F.maxDataValue;return v<=R?X:v>=U?Z:(v-R)/(U-R)*(Z-X)+X});n=q.round(n);for(let v=1;vW;W++)Q.push(L+F*W);return Q}async function b(F,L,Q,W,ca,w){const n=await k(F,L,Q,ca,w);W=await k(F,L,W,ca,w);var v=q.numDigits(Q), R=v.fractional,U=v.integer;let X=v=null;0Q&&(v=10**R,Q*=v,U=q.numDigits(Q).integer);for(R=U-1;0<=R;R--){var Z=10**R;U=Math.floor(Q/Z)*Z;Z*=Math.ceil(Q/Z);null!=v&&(U/=v,Z/=v);let ea=(U+Z)/2;[,ea]=q.round([U,ea,Z],{indexes:[1]});const Y=await k(F,L,U,ca,w),ja=await k(F,L,Z,ca,w),V=await k(F,L,ea,ca,w),fa=q.percentChange(n,Y,W,null),ia=q.percentChange(n,ja,W,null),da=q.percentChange(n,V,W,null);let ma=20>=fa.previous,ka=20>=ia.previous;ma&&ka&&(fa.previous<=ia.previous?(ma=!0,ka=!1):(ka=!0,ma= !1));ma?X=[U,Y]:ka?X=[Z,ja]:20>=da.previous&&(X=[ea,V]);if(X)break}return X}async function k(F,L,Q,W,ca){const {getSize:w}=await new Promise((n,v)=>d(["../../../renderers/visualVariables/support/visualVariableUtils"],n,v));return w(F,Q,{scale:W,view:ca,shape:"simple-marker"===L.type?L.style:null})}function u(F,L){F=F.clone();if(B.isSymbol3D(F))I.isVolumetricSymbol(F)||F.symbolLayers.forEach(Q=>{"fill"!==Q.type&&(Q.size=L)});else if("esri.symbols.SimpleMarkerSymbol"===F.declaredClass)F.size=L;else if("esri.symbols.PictureMarkerSymbol"=== F.declaredClass){const Q=F.width,W=F.height;F.height=L;F.width=Q/W*L}else"esri.symbols.SimpleLineSymbol"===F.declaredClass?F.width=L:"esri.symbols.TextSymbol"===F.declaredClass&&F.font&&(F.font.size=L);return F}const z=[255,255,255],K=[200,200,200],S=[128,128,128];a.getRampStops=async function(F,L,Q,W,ca,w,n){var v=L.legendOptions?.customValues;const R=n||await p(F,Q);n=L.stops;var U=null!=L.minSize&&null!=L.maxSize;const X=n&&1ka.value),Y=n.some(ka=>!!ka.label),"flow"===F.type&&(U=q.round(U)),Y&&(ja=n.map(ka=>ka.label)));ea&&null!=U&&2{const va=ea?ia[sa]:await k(L,R,ka,W,ca?.type),ya=!fa||"class-breaks"!==F.type&&"unique-value"!==F.type?u(V&&"class-breaks"===F.type?y(F,sa):R,va):h(F,va,L.maxSize,Q)??R;return{value:ka,symbol:ya,label:Y?ja[sa]:ma[sa],size:fa?24:va,outlineSize:da}}))).reverse()}};a.getReferenceSizeSymbol=h;a.realWorldMaxSize=30;a.realWorldMinSize=12;Object.defineProperty(a,Symbol.toStringTag,{value:"Module"})})}, "esri/widgets/smartMapping/support/utils":function(){define("exports ../../../Color ../../../intl/date ../../../intl/number ../../../renderers/support/utils ../../../renderers/visualVariables/SizeVariable".split(" "),function(d,a,P,B,q,G){d.formatDateLabel=function(C){return P.formatDate(new Date(C),q.timelineDateFormatOptions)};d.formatNumberLabel=function(C){const I=Math.floor(Math.log10(Math.abs(C)))+1;return B.formatNumber(C,{notation:1E6<=Math.abs(C)?"compact":"standard",minimumSignificantDigits:2, maximumSignificantDigits:4>I||6r.size)),p=Math.max(Math.abs(C[0].size-C[1].size),Math.abs(C[2].size-C[1].size));C.reverse();C.forEach(({size:r, value:m},A)=>{m=Math.round(x-(m-M)/e*x);h=Math.round((r-y)/p*100)/100*f;0===h&&(h=H*f);0===A&&(l+=`L${h} 0 `);l+=`L${h} ${m} `});return l+=`L${h} ${x} L0 ${x} L0 0 Z`};d.getFillFromColor=function(C){return C instanceof a?C.toCss(!0):a.fromString(C??"").toCss(!0)};d.getPathForSizeStops=function(C){const {bottomValue:I,bottomWidth:M,max:H,min:x,pathHeight:f,pathWidth:g,topValue:e,topWidth:l}=C;C=l*g;const h=M*g,y=H-x;return`M${C} 0 L${C} ${Math.round(f-(e-x)/y*f)} L${h} ${Math.round(f-(I-x)/y*f)} L${h} ${f} L0 ${f} L0 0 Z`}; d.getSizesFromVariable=function(C){let I=C.maxSize;C=C.minSize;I instanceof G&&(I=I.stops[0].size);C instanceof G&&(C=C.stops[0].size);return[I,C]};d.getStopChanges=function(C,I,M){const H=M.length-1;if(0>H)return[];const x=M[0],f=M[H]-x,g=I-C,e=[];for(let l=1;l[]).push(...E)}async function e(m,A,E){m=B.getOrCreateMapValue(m,A,()=>new Map);for(const J of E)m.set(J.value,J.color)}function l(m){let A=m.minValue,E=m.maxValue;const J=m.isFirstBreak?"":y.gt+" ";m="percent-of-total"===m.normalizationType?y.pct:"";A=null==A?"":C.format(A);E=null==E?"":C.format(E);return J+A+m+" "+y.ld+" "+E+m}function h(m,A){return"normalizationField"in m&&m.normalizationField?{type:"normalized-field", field:m.field,normalizationField:m.normalizationField}:"field"in m&&m.field?{type:"field",field:m.field}:"valueExpression"in m&&m.valueExpression?{type:"expression",expression:m.valueExpression,title:m.valueExpressionTitle,returnType:A}:null}const y={lte:"\x3c\x3d",gte:"\x3e\x3d",lt:"\x3c",gt:"\x3e",pct:"%",ld:"\u2013"},p={millisecond:0,second:1,minute:2,hour:3,day:4,month:5,year:6},r=q.convertDateFormatToIntlOptions("short-date");d.calculateDateFormatInterval=function(m){m=m.map(k=>new Date(k)); const A=m.length;let E=Infinity,J=null;for(let k=0;k{var z=null;if(!J||J.includes(u)){const K=b?q.formatDate(k):C.format(k);K&&(z="",0===u?z=y.lt+" ":u===A.length-1&&(z=y.gt+" "),z+=K)}return new I({value:k,color:E[u],label:z})})};d.createUniqueValueLabel=function(m){const {value:A,domain:E,fieldInfo:J,dateFormatOptions:b}=m;m=String(A);const k=E&&"codedValues"in E&&E.codedValues?E.getName(A):null;k?m=k:null!=A&&J&&(M.isAnyDateField(J)||G.isTimeOnlyField(J))?m=M.formatAnyDate(A,b??{fieldType:J.type}): "number"===typeof A&&(m=C.format(A));return m};d.dateFormatIntervalOptions={millisecond:"long-month-day-year-long-time",second:"long-month-day-year-long-time",minute:"long-month-day-year-short-time",hour:"long-month-day-year-short-time",day:"long-month-day-year",month:"long-month-day-year",year:"year"};d.getAttribute=h;d.getAttributes=function(m,A){const E=[];if("class-breaks"===m.type||"heatmap"===m.type)E.push(h(m,"number"));else if("unique-value"===m.type){var J=m.authoringInfo;if(J&&"relationship"=== J.type){if(J.field1&&J.field2){var b=J.field2.field;const k=J.field2.normalizationField;E.push(h({field:J.field1.field,normalizationField:J.field1.normalizationField}));E.push(h({field:b,normalizationField:k}))}}else b=m.uniqueValueInfos?.[0],J=null,b?.value&&(b=typeof b.value,"string"===b||"number"===b)&&(J=b),E.push(h(m,J)),[m.field2,m.field3].forEach(k=>k&&E.push({type:"field",field:k}))}else"attributes"in m&&m.attributes?.forEach(k=>E.push(h(k,"number")));(m=A?A(m):"visualVariables"in m?m.visualVariables: null)&&m.forEach(k=>E.push(h(k,"number")));return a.unique(E.filter(a.isSome),(k,u)=>"field"===k.type&&"field"===u.type?k.field===u.field:"normalized-field"===k.type&&"normalized-field"===u.type?k.field===u.field&&k.normalizationField===u.normalizationField:"expression"===k.type&&"expression"===u.type?k.expression===u.expression:!1)};d.getColorsForRendererValues=async function(m){const A=new Map;if(!m)return A;if("unique-value"!==m.type||m.authoringInfo?.type)if("class-breaks"===m.type){var E=m.classBreakInfos.map(k=> ({value:k.minValue,color:H.getColorFromSymbol(k.symbol,null)})).reverse();const {field:J,valueExpression:b}=m;await e(A,J??b,E)}else"simple"===m.type&&await e(A,"default",[{value:"default",color:H.getColorFromSymbol(m.symbol,null)}]);else{E=(m.uniqueValueInfos??[]).map(S=>({value:S.value,color:H.getColorFromSymbol(S.symbol,null)}));const {field:J,field2:b,field3:k,valueExpression:u,fieldDelimiter:z}=m,K=[J,b,k].filter(Boolean).join(z||"");(K||u)&&await e(A,K||u,E)}"defaultSymbol"in m&&m.defaultSymbol&& await e(A,"default",[{value:"default",color:H.getColorFromSymbol(m.defaultSymbol,null)}]);if("visualVariables"in m&&m.visualVariables){m=m.visualVariables.filter(J=>"color"===J.type);for(const J of m)m=await x.getRampStops(J)??[],await e(A,J.field||J.valueExpression,m)}return A};d.getColorsFromRenderer=async function(m){const A=new Map;if(!m)return A;if("visualVariables"in m&&m.visualVariables){var E=m.visualVariables.filter(b=>"color"===b.type);for(var J of E)E=(await x.getRampStops(J)??[]).map(b=> b.color),await g(A,J.field||J.valueExpression,E)}if("heatmap"===m.type)J=f.getHeatmapRampStops(m).map(b=>b.color),await g(A,m.field||m.valueExpression,J);else if("pie-chart"===m.type){for(const b of m.attributes)await g(A,b.field||b.valueExpression,[b.color]);await g(A,"default",[m?.othersCategory?.color,H.getColorFromSymbol(m.backgroundFillSymbol,null)])}else if("dot-density"===m.type){for(const b of m.attributes)await g(A,b.field||b.valueExpression,[b.color]);await g(A,"default",[m.backgroundColor])}else if("unique-value"=== m.type)if("predominance"===m.authoringInfo?.type)for(const b of m.uniqueValueInfos??[])await g(A,b.value.toString(),[H.getColorFromSymbol(b.symbol,null)]);else{J=(m.uniqueValueInfos??[]).map(K=>H.getColorFromSymbol(K.symbol,null));const {field:b,field2:k,field3:u,valueExpression:z}=m;(b||z)&&await g(A,b||z,J);k&&await g(A,k,J);u&&await g(A,u,J)}else if("class-breaks"===m.type){J=m.classBreakInfos.map(u=>H.getColorFromSymbol(u.symbol,null));const {field:b,valueExpression:k}=m;await g(A,b??k,J)}else"simple"=== m.type&&await g(A,"default",[H.getColorFromSymbol(m.symbol,null)]);"defaultSymbol"in m&&m.defaultSymbol&&await g(A,"default",[H.getColorFromSymbol(m.defaultSymbol,null)]);A.forEach((b,k)=>{b=a.unique(b.filter(Boolean),(u,z)=>JSON.stringify(u)===JSON.stringify(z));A.set(k,b)});return A};d.setLabelsForClassBreaks=function(m){const A=m.classBreakInfos,E=m.normalizationType;let J=[];if(A?.length)if("standard-deviation"===m.classificationMethod)P.getLogger("esri.renderers.support.utils").warn("setLabelsForClassBreaks", "cannot set labels for class breaks generated using 'standard-deviation' method.");else if(m.round){J.push(A[0].minValue);for(const b of A)J.push(b.maxValue);J=C.round(J);A.forEach((b,k)=>{b.label=l({minValue:0===k?J[0]:J[k],maxValue:J[k+1],isFirstBreak:0===k,normalizationType:E})})}else A.forEach((b,k)=>{b.label=l({minValue:b.minValue,maxValue:b.maxValue,isFirstBreak:0===k,normalizationType:E})})};d.timelineDateFormatOptions=r;Object.defineProperty(d,Symbol.toStringTag,{value:"Module"})})},"esri/widgets/Legend/styles/Card":function(){define("../../../chunks/tslib.es6 ../../../intl ../../../core/reactiveUtils ../../../core/screenUtils ../../../core/accessorSupport/decorators/property ../../../core/has ../../../core/Logger ../../../core/RandomLCG ../../../core/accessorSupport/decorators/subclass ../../../symbols/support/svgUtils ../../../symbols/support/utils ../../Widget ./CardCSS ./support/relationshipUtils ./support/univariateUtils ../support/styleUtils ../../support/Heading ../../support/decorators/accessibleHandler ../../support/decorators/messageBundle ../../support/jsxFactory ../../support/widgetUtils ../../../intl/substitute".split(" "), function(d,a,P,B,q,G,C,I,M,H,x,f,g,e,l,h,y,p,r,m,A,E){const J=window.devicePixelRatio;a=class extends f{constructor(b,k){super(b,k);this._hasIndicators=!1;this._selectedSectionName=null;this._sectionNames=[];this._sectionMap=new Map;this.activeLayerInfos=null;this.headingLevel=3;this.layout="stack";this.messagesCommon=this.messages=null;this.type="card";this.view=null}initialize(){this.addHandles(P.watch(()=>this.activeLayerInfos,b=>{this.removeAllHandles();this._watchForSectionChanges(b)}))}render(){var {view:b}= this;this._hasIndicators="auto"===this.layout&&b&&768>=b.container.clientWidth||"stack"===this.layout;b=this.activeLayerInfos?.toArray().map(z=>this._renderLegendForLayer(z)).filter(z=>!!z);this._hasIndicators?this._selectedSectionName&&this._sectionNames.includes(this._selectedSectionName)||(this._selectedSectionName=this._sectionNames&&this._sectionNames[0]):this._selectedSectionName=null;const k=this._sectionNames.length;var u=this._sectionNames.map((z,K)=>{K=E.substitute(this.messagesCommon.pagination.pageText, {index:K+1,total:k});return m.tsx("div",{"aria-controls":`${z}-panel`,"aria-label":K,"aria-selected":(this._selectedSectionName===z).toString(),bind:this,class:this.classes(g.css.indicator,{[g.css.activated]:this._selectedSectionName===z}),"data-section-name":z,id:z,key:z,onclick:this._selectSection,onkeydown:this._focusSection,role:"tab",tabIndex:this._selectedSectionName===z?0:-1,title:K})});u=this._hasIndicators&&1{const u=`activeLayerInfo-${k.layer.uid}-version-change`;this.removeHandles(u);this._watchForSectionChanges(k.children); this.addHandles(P.watch(()=>k.version,()=>this._generateSectionNames()),u)}),this.removeHandles("activeLayerInfos-collection-change"),this.addHandles(b.on("change",()=>this._watchForSectionChanges(b)),"activeLayerInfos-collection-change"))}_generateSectionNames(){this._sectionNames.length=0;this._selectedSectionName=null;this.activeLayerInfos&&this.activeLayerInfos.forEach(this._generateSectionNamesForActiveLayerInfo,this)}_getSectionName(b,k,u){return`${this.id}${b.uid}-type-${k.type}-${u}`}_generateSectionNamesForActiveLayerInfo(b){b.children.forEach(this._generateSectionNamesForActiveLayerInfo, this);b.legendElements&&b.legendElements.forEach((k,u)=>{this._sectionNames.push(this._getSectionName(b.layer,k,u))})}_renderLegendForLayer(b){if(!b.ready)return null;if(b.children.length){var k=b.children.map(z=>this._renderLegendForLayer(z)).toArray();return m.tsx("div",{class:this.classes(g.css.service,g.css.groupLayer),key:b.layer.uid},m.tsx("div",{class:g.css.serviceCaptionContainer},b.title),k)}if((k=b.legendElements)&&!k.length)return null;const u=k.some(z=>"relationship-ramp"===z.type);k= k.map((z,K)=>this._renderLegendForElement(z,b,K,u)).filter(z=>!!z);return k.length?m.tsx("div",{class:this.classes(g.css.service,{[g.css.groupLayerChild]:!!b.parent}),key:b.layer.uid},m.tsx("div",{class:g.css.serviceCaptionContainer},m.tsx("div",{class:g.css.serviceCaptionText},b.title)),m.tsx("div",{class:g.css.serviceContent},k)):null}_renderLegendForElement(b,k,u,z=!1,K=!1){var S="color-ramp"===b.type,F="opacity-ramp"===b.type,L=k.layer,Q=null;"string"===typeof b.title?Q=b.title:b.title&&(Q=b.title, S=h.getTitle(this.messages,Q,S||F),Q=Q.title?`${Q.title} (${S})`:S);u=this._getSectionName(L,b,u);S=this._hasIndicators&&!K?m.tsx("div",null,m.tsx(y.Heading,{class:g.css.carouselTitle,level:this.headingLevel},k.title),m.tsx(y.Heading,{class:g.css.layerCaption,level:y.incrementHeadingLevel(this.headingLevel)},Q)):Q?m.tsx(y.Heading,{class:g.css.layerCaption,level:this.headingLevel},Q):null;Q=k.effectList;F=null;switch(b.type){case "symbol-table":L=b.infos.map((W,ca)=>this._renderLegendForElementInfo(W, k,b.legendType,ca)).filter(W=>!!W);L.length&&(F=m.tsx("div",{class:this.classes({[g.css.labelContainer]:!L[0].properties.classes?.[g.css.symbolRow]&&!z,[g.css.relationshipLabelContainer]:z})},L));break;case "color-ramp":case "opacity-ramp":case "heatmap-ramp":case "stretch-ramp":F=this._renderLegendForRamp(b,L.opacity,Q);break;case "size-ramp":F=this._renderSizeRamp(b,L.opacity);break;case "pie-chart-ramp":F=this._renderPieChartRamp(b);break;case "relationship-ramp":F=e.renderRelationshipRamp(b,this.id, {opacity:L.opacity,effectList:Q,ariaLabel:this.messages.previewRelationshipRampAriaLabel});break;case "univariate-above-and-below-ramp":F=this._renderUnivariateAboveAndBelowRamp(b,L.opacity,Q);break;case "univariate-color-size-ramp":F=this._renderUnivariateColorSizeRamp(b,L.opacity,Q)}if(!F)return null;z=m.tsx("div",{"aria-labelledby":u,class:g.css.section,id:`${u}-panel`,key:u,role:"tabpanel",tabIndex:0},[S,F]);K||this._sectionMap.set(u,z);return z}_renderPieChartRamp(b){return m.tsx("div",{afterCreate:h.attachToNode, bind:b.preview,class:g.css.pieChartRampPreview})}_renderUnivariateAboveAndBelowRamp(b,k,u){const {sizeRampElement:z,colorRampElement:K}=l.getUnivariateAboveAndBelowRampElements(b,k,"horizontal");if(!z)return null;b=l.getUnivariateSizeRampSize(z,"full",!0,"horizontal");var S=l.getUnivariateColorRampSize(z,"above",!0,"horizontal"),F=l.getUnivariateColorRampSize(z,"below",!0,"horizontal"),L=this.messages?.previewColorRampAriaLabel;S=l.getUnivariateColorRampPreview(K,{width:S,height:12,rampAlignment:"horizontal", opacity:k,type:"above",effectList:u,ariaLabel:L});k=l.getUnivariateColorRampPreview(K,{width:F,height:12,rampAlignment:"horizontal",opacity:k,type:"below",effectList:u,ariaLabel:L});u=l.getUnivariateColorRampMargin(z,"card");F=z.infos.map(W=>W.label);const Q=F.length-1;F=F.map((W,ca)=>0===ca||ca===Q?m.tsx("div",{key:ca},W):null);L={marginTop:"3px",display:"flex"};A.isRTL(this.container)?L.marginRight=`${u}px`:L.marginLeft=`${u}px`;b={width:`${b}px`,display:"flex",flexDirection:"row",justifyContent:"space-between"}; return m.tsx("div",{class:g.css.layerRow,key:"size-ramp-preview",styles:{display:"flex",flexDirection:"column"}},m.tsx("div",{class:this.classes(g.css.symbolContainer,g.css.sizeRampHorizontal),styles:{display:"flex",flexDirection:"row"}},z.infos.map((W,ca)=>m.tsx("div",{afterCreate:h.attachToNode,bind:W.preview,class:g.css.symbol,key:ca}))),S?m.tsx("div",{class:g.css.univariateAboveAndBelowColorRamp,key:"color-ramp-preview",styles:L},m.tsx("div",{afterCreate:h.attachToNode,bind:S}),m.tsx("div",{afterCreate:h.attachToNode, bind:k})):null,m.tsx("div",{class:g.css.layerInfo},m.tsx("div",{class:g.css.rampLabelsContainer,styles:b},F)))}_renderUnivariateColorSizeRamp(b,k,u){const {sizeRampElement:z,colorRampElement:K}=l.getUnivariateColorSizeRampElements(b,"horizontal");if(!z)return null;b=l.getUnivariateSizeRampSize(z,"full",!1,"horizontal");var S=l.getUnivariateColorRampSize(z,"full",!1,"horizontal");k=l.getUnivariateColorRampPreview(K,{width:S,height:12,rampAlignment:"horizontal",opacity:k,type:"full",effectList:u,ariaLabel:this.messages?.previewColorRampAriaLabel}); const F=l.getUnivariateColorRampMargin(z,"card"),L=z.infos.length-1;u=z.infos.map((Q,W)=>0===W||W===L?m.tsx("div",{key:W},Q.label):null);S={marginTop:"3px",display:"flex"};A.isRTL(this.container)?S.marginRight=`${F}px`:S.marginLeft=`${F}px`;b={width:`${b}px`,display:"flex",flexDirection:"row",justifyContent:"space-between"};return m.tsx("div",{class:g.css.layerRow,key:"size-ramp-preview",styles:{display:"flex",flexDirection:"column"}},m.tsx("div",{class:this.classes(g.css.symbolContainer,g.css.sizeRampHorizontal), styles:{display:"flex",flexDirection:"row"}},z.infos.map((Q,W)=>m.tsx("div",{afterCreate:h.attachToNode,bind:Q.preview,class:g.css.symbol,key:W}))),m.tsx("div",{class:g.css.univariateAboveAndBelowColorRamp,key:"color-ramp-preview",styles:S},m.tsx("div",{afterCreate:h.attachToNode,bind:k})),m.tsx("div",{class:g.css.layerInfo},m.tsx("div",{class:g.css.rampLabelsContainer,styles:b},u)))}_renderLegendForElementInfo(b,k,u,z){var K=k.layer;if(b.type)return this._renderLegendForElement(b,k,z,!1,!0);var S= h.isImageryStretchedLegend(K,u);u=h.getTitle(this.messages,b.label,!1)??"";if(b.preview){if(!b.symbol?.type.includes("simple-fill")){if(!b.label)return m.tsx("div",{afterCreate:h.attachToNode,bind:b.preview,key:z});k={[g.css.symbolCell]:this._hasIndicators};return m.tsx("div",{class:this.classes(g.css.layerRow,{[g.css.symbolRow]:this._hasIndicators}),key:z},m.tsx("div",{afterCreate:h.attachToNode,bind:b.preview,class:this.classes(k)}),m.tsx("div",{class:this.classes(g.css.imageLabel,{[g.css.labelCell]:this._hasIndicators})}, u))}let F=S=255,L=255,Q=0,W=255,ca=255,w=255,n=0;const v=b.symbol.color?.a,R=b.symbol.outline?.color?.a;v&&(S=b.symbol.color.r,F=b.symbol.color.g,L=b.symbol.color.b,Q=b.symbol.color.a*K.opacity);R&&(W=b.symbol.outline.color.r,ca=b.symbol.outline.color.g,w=b.symbol.outline.color.b,n=b.symbol.outline.color.a*K.opacity);K=(b=b.symbol.color?.isBright??!0)?"rgba(255, 255, 255, .6)":"rgba(0, 0, 0, .6)";k={background:v?`rgba(${S}, ${F}, ${L}, ${Q})`:"none",color:b?"black":"white",textShadow:`-1px -1px 0 ${K},\n 1px -1px 0 ${K},\n -1px 1px 0 ${K},\n 1px 1px 0 ${K}`, border:R?`1px solid rgba(${W}, ${ca}, ${w}, ${n})`:"none",filter:x.getCSSFilterFromEffectList(k.effectList)??void 0};return m.tsx("div",{class:g.css.layerRow,key:z},m.tsx("div",{class:g.css.labelElement,styles:k},u))}if(b.src)return k=this._renderImage(b,K,S),m.tsx("div",{class:g.css.layerRow,key:z},k,m.tsx("div",{class:g.css.imageLabel},u))}_renderImage(b,k,u){const {label:z,src:K,opacity:S}=b;u={[g.css.imageryLayerStretchedImage]:u,[g.css.symbol]:!u};k={opacity:`${null!=S?S:k.opacity}`};return m.tsx("img", {alt:h.getTitle(this.messages,z,!1),"aria-label":h.getTitle(this.messages,z,!1),border:0,class:this.classes(u),height:b.height,src:K,styles:k,width:b.width})}_renderSizeRampLines(b){b=b.infos;var k=b[0],u=b[b.length-1],z=k.symbol;b=this._hasIndicators;k=B.pt2px(k.size+k.outlineSize)*J;u=B.pt2px(u.size+u.outlineSize)*J;const K=b?k:k+50*J,S=b?k/2+50*J:k;var F;z?z.type.includes("3d")?(F=z.symbolLayers?.length)?(F=z.symbolLayers.at(F-1).get("resource.primitive"),F="triangle"===F||"cone"===F||"tetrahedron"=== F):F=void 0:F="triangle"===z.style:F=void 0;if(z)if(z.type.includes("3d")){var L=z.symbolLayers?.length;L?(z=z.symbolLayers.at(L-1).resource?.primitive,z="circle"===z||"cross"===z||"kite"===z||"sphere"===z||"cube"===z||"diamond"===z):z=void 0}else z=z.style,z="circle"===z||"diamond"===z||"cross"===z;else z=void 0;L=document.createElement("canvas");L.width=K;L.height=S;L.style.width=`${L.width/J}px`;L.style.height=`${L.height/J}px`;const Q=L.getContext("2d");if(b){Q.beginPath();var W=K/2-u/2;Q.moveTo(0, 0);Q.lineTo(W,S);W=K/2+u/2;Q.moveTo(K,0);Q.lineTo(W,S)}else Q.beginPath(),Q.moveTo(0,S/2-u/2),Q.lineTo(K,0),Q.moveTo(0,S/2+u/2),Q.lineTo(K,S);Q.strokeStyle="#ddd";Q.stroke();return m.tsx("div",{afterCreate:h.attachToNode,bind:L,styles:b?{display:"flex",marginTop:`-${F?0:z?k/2:0}px`,marginBottom:`-${F?u:z?u/2:0}px`}:{display:"flex",marginRight:`-${F?0:z?k/2:0}px`,marginLeft:`-${F?0:z?u/2:0}px`}})}_renderSizeRamp(b,k){var u=b.infos;const z=u[0].label,K=u[u.length-1].label;let S=u[0].preview;u=u[u.length- 1].preview;const F=this._hasIndicators,L={"flex-direction":F?"column":"row-reverse"};S&&(S=S.cloneNode(!0),S.style.display="flex");u&&(u=u.cloneNode(!0),u.style.display="flex");k={opacity:null!=k?`${k}`:""};return m.tsx("div",{class:this.classes(g.css.layerRow,{[g.css.sizeRampRow]:F})},m.tsx("div",{class:g.css.rampLabel},F?z:K),m.tsx("div",{class:g.css.sizeRampContainer,styles:L},m.tsx("div",{afterCreate:h.attachToNode,bind:S,class:g.css.sizeRampPreview,styles:k}),this._renderSizeRampLines(b),m.tsx("div", {afterCreate:h.attachToNode,bind:u,class:g.css.sizeRampContainer,styles:k})),m.tsx("div",{class:g.css.rampLabel},F?K:z))}_getRampStopLabel(b,k){switch(k){case "heatmap-ramp":return this.messages[b.label];case "stretch-ramp":return h.getStretchStopLabel(b,this.messages);default:return b.label}}_renderLegendForRamp(b,k,u){var z=b.infos;b=b.type;const K="heatmap-ramp"===b,S=z.length-1;var F=2({color:ca.color,offset:K&&"ratio"in ca?ca.ratio:w/S}))},stroke:{width:0}},{shape:{type:"path",path:`M${F+10} 0 L${L} ${12.5} L${F+ 10} ${25} Z`},fill:z[Q].color,stroke:{width:0}}]];L=H.renderSVG(F,L,25);k={filter:x.getCSSFilterFromEffectList(u)??void 0,opacity:null==k?void 0:`${k}`};return m.tsx("div",{class:g.css.layerRow,styles:{justifyContent:"center"}},m.tsx("div",{class:g.css.rampLabel},this._getRampStopLabel(z[0],b)),m.tsx("div",{class:g.css.symbolContainer},m.tsx("div",{styles:k},L),W),m.tsx("div",{class:g.css.rampLabel},this._getRampStopLabel(z[Q],b)))}};d.__decorate([q.property()],a.prototype,"activeLayerInfos",void 0); d.__decorate([q.property()],a.prototype,"headingLevel",void 0);d.__decorate([q.property()],a.prototype,"layout",void 0);d.__decorate([q.property(),r.messageBundle("esri/widgets/Legend/t9n/Legend")],a.prototype,"messages",void 0);d.__decorate([q.property(),r.messageBundle("esri/t9n/common")],a.prototype,"messagesCommon",void 0);d.__decorate([q.property({readOnly:!0})],a.prototype,"type",void 0);d.__decorate([q.property()],a.prototype,"view",void 0);d.__decorate([p.accessibleHandler()],a.prototype, "_selectSection",null);return a=d.__decorate([M.subclass("esri.widgets.Legend.styles.Card")],a)})},"esri/widgets/Legend/styles/CardCSS":function(){define(["exports"],function(d){d.css={activated:"esri-legend--card__carousel-indicator--activated",base:"esri-legend--card",stacked:"esri-legend--stacked",carouselTitle:"esri-legend--card__carousel-title",indicator:"esri-legend--card__carousel-indicator",intervalSeparator:"esri-legend--card__interval-separator",imageryLayerStretchedImage:"esri-legend--card__imagery-layer-image--stretched", imageLabel:"esri-legend--card__image-label",layerCaption:"esri-legend--card__layer-caption",labelElement:"esri-legend--card__label-element",layerRow:"esri-legend--card__layer-row",labelCell:"esri-legend--card__label-cell",message:"esri-legend--card__message",rampLabel:"esri-legend--card__ramp-label",section:"esri-legend--card__section",relationshipSection:"esri-legend--card__relationship-section",serviceCaptionText:"esri-legend--card__service-caption-text",serviceContent:"esri-legend--card__service-content", service:"esri-legend--card__service",groupLayer:"esri-legend--card__group-layer",groupLayerChild:"esri-legend--card__group-layer-child",symbol:"esri-legend--card__symbol",sizeRampRow:"esri-legend--card__size-ramp-row",symbolRow:"esri-legend--card__symbol-row",symbolCell:"esri-legend--card__symbol-cell",indicatorContainer:"esri-legend--card__carousel-indicator-container",intervalSeparatorsContainer:"esri-legend--card__interval-separators-container",relationshipLabelContainer:"esri-legend--card__relationship-label-container", labelContainer:"esri-legend--card__label-container",serviceCaptionContainer:"esri-legend--card__service-caption-container",symbolContainer:"esri-legend--card__symbol-container",sizeRampContainer:"esri-legend--card__size-ramp-container",sizeRampPreview:"esri-legend--card__size-ramp-preview",pieChartRampPreview:"esri-legend--card__pie-chart-ramp-preview",rampContainer:"esri-legend__ramps",sizeRampHorizontal:"esri-legend__size-ramp--horizontal",rampLabelsContainer:"esri-legend__ramp-labels",layerInfo:"esri-legend__layer-cell esri-legend__layer-cell--info", univariateAboveAndBelowColorRamp:"esri-univariate-above-and-below-ramp__color--card"};Object.defineProperty(d,Symbol.toStringTag,{value:"Module"})})},"esri/widgets/Legend/styles/support/univariateUtils":function(){define("exports ../../../../core/screenUtils ../../../../libs/maquette/projection ../../../../libs/maquette/projector ../../../../symbols/support/symbolUtils ../../../support/widgetUtils ../../../support/jsxFactory".split(" "),function(d,a,P,B,q,G,C){function I(e="vertical"){return"vertical"=== e?C.tsx("svg",{height:"4",width:"10"},C.tsx("line",{style:"stroke:rgb(200, 200, 200);stroke-width:1",x1:"0",x2:"10",y1:"2",y2:"2"})):C.tsx("svg",{height:"10",width:"10"},C.tsx("line",{style:"stroke:rgb(200, 200, 200);stroke-width:1",x1:"5",x2:"5",y1:"0",y2:"10"}))}function M(e,l="vertical"){const h=document.createElement("div");h.style.height="20px";h.className=g.univariateAboveAndBelowSymbol;null!=e&&(h.style.opacity=e.toString());f.append(h,I.bind(null,l));return h}function H(e,l,h="vertical",y){e.infos.forEach((p, r)=>{if(y&&2===r)p.preview=M(l,h);else{r=a.pt2px(p.size)+("horizontal"===h?20:10);const m=p.preview,A="div"===m?.tagName.toLowerCase(),E=A?m:document.createElement("div");E.className=g.univariateAboveAndBelowSymbol;"horizontal"===h?E.style.width=`${r}px`:E.style.height=`${r}px`;!A&&m&&E.appendChild(m);p.preview=E}})}function x(e,l,h,y="vertical"){let p=0;e=e.infos;const r=Math.floor(e.length/2);var m="full"===l||"above"===l?0:r;for(l="full"===l||"below"===l?e.length-1:r;m<=l;m++)if(h&&m===r)p+="horizontal"=== y?10:20;else{const A=a.pt2px(e[m].size)+("horizontal"===y?20:10);p+=A}return Math.round(p)}const f=B.createProjector(),g={univariateAboveAndBelowSymbol:"esri-univariate-above-and-below-ramp__symbol",colorRamp:"esri-legend__color-ramp"};d.getUnivariateAboveAndBelowRampElements=function(e,l,h="vertical"){var y=e.infos;e=y.find(({type:p})=>"size-ramp"===p);y=y.find(({type:p})=>"color-ramp"===p);e&&(e={...e},e.infos=[...e.infos],H(e,l,h,!0));y&&(y={...y},y.infos=[...y.infos]);"horizontal"===h&&(e?.infos.reverse(), y?.infos.reverse());return{sizeRampElement:e,colorRampElement:y}};d.getUnivariateColorRampMargin=function(e,l="classic"){e=e.infos;return"classic"===l?(a.pt2px(e[0].size)+10)/2:(a.pt2px(e[0].size)-a.pt2px(e[e.length-1].size))/2};d.getUnivariateColorRampPreview=function(e,l){if(!e)return null;e=e.infos.map(h=>h.color);e=q.renderColorRampPreviewHTML("full"===l.type?e:"above"===l.type?e.slice(0,3):e.slice(2,5),{width:l.width,height:l.height,align:l.rampAlignment,effectList:l.effectList,ariaLabel:l.ariaLabel}); e.className=g.colorRamp;null!=l.opacity&&(e.style.opacity=l.opacity.toString());return e};d.getUnivariateColorRampSize=function(e,l,h,y="vertical"){const p=x(e,l,h,y);e=e.infos;var r=Math.floor(e.length/2);const m="full"===l||"above"===l?0:r;r="full"===l||"below"===l?e.length-1:r;h=h?"vertical"===y?20:10:0;y="vertical"===y?10*("full"===l?2:1):20*("full"===l?2:1);return Math.round(p-(a.pt2px("full"===l?e[m].size+e[r].size:"above"===l?e[m].size:e[r].size)/2+h/2+y/2))};d.getUnivariateColorSizeRampElements= function(e,l="vertical"){var h=e.infos;e=h.find(({type:y})=>"size-ramp"===y);h=h.find(({type:y})=>"color-ramp"===y);e&&(e={...e},e.infos=[...e.infos],H(e,null,l,!1));h&&(h={...h},h.infos=[...h.infos]);"horizontal"===l&&(e?.infos.reverse(),h?.infos.reverse());return{sizeRampElement:e,colorRampElement:h}};d.getUnivariateSizeRampSize=x;Object.defineProperty(d,Symbol.toStringTag,{value:"Module"})})},"esri/widgets/Legend/support/styleUtils":function(){define(["exports","../../../intl","../../../core/string", "../../../intl/substitute","../../../intl/number"],function(d,a,P,B,q){d.attachToNode=function(G){G.appendChild(this)};d.getStretchStopLabel=function(G,C){return G.label?C[G.label]+": "+("string"===typeof G.value?G.value:q.formatNumber(G.value??0,{style:"decimal",notation:G.value?.toString().toLowerCase().includes("e")?"scientific":"standard"})):""};d.getTitle=function(G,C,I){if(C){if("number"===typeof C)return C;if("string"===typeof C)return P.stripHTML(C);if("value"in C||"unit"in C)return B.substitute(G.dotValue, C);if("colorName"in C&&"bandName"in C)return G[C.colorName]+": "+(G[C.bandName]||C.bandName);if("showCount"in C)return C.showCount?G.clusterCountTitle:void 0;var M=null;I?M=C.ratioPercentTotal?"showRatioPercentTotal":C.ratioPercent?"showRatioPercent":C.ratio?"showRatio":C.normField?"showNormField":C.field?"showField":null:I||(M=C.normField?"showNormField":C.normByPct?"showNormPct":C.field?"showField":null);return M?B.substitute("showField"===M?"{field}":G[M],{field:C.field,normField:C.normField}): void 0}};d.isImageryStretchedLegend=function(G,C){return!!(C&&"Stretched"===C&&10.3<=G.version&&"esri.layers.ImageryLayer"===G.declaredClass)};d.isRendererTitle=function(G,C){return!C};Object.defineProperty(d,Symbol.toStringTag,{value:"Module"})})},"esri/widgets/support/Heading":function(){define(["exports","../../core/mathUtils","./globalCss","./widgetUtils","./jsxFactory"],function(d,a,P,B,q){d.Heading=function({level:G,class:C,...I},M){G=a.clamp(Math.ceil(G),1,6);return q.tsx(`h${G}`,{...I,"aria-level":String(G), class:B.classes(P.globalCss.heading,C),role:"heading"},M)};d.incrementHeadingLevel=function(G,C=1){return a.clamp(Math.ceil(G+C),1,6)};Object.defineProperty(d,Symbol.toStringTag,{value:"Module"})})},"esri/widgets/support/globalCss":function(){define(["exports"],function(d){d.globalCss={anchor:"esri-widget__anchor",anchorDisabled:"esri-widget__anchor--disabled",button:"esri-button",buttonDisabled:"esri-button--disabled",buttonHalf:"esri-button--half",buttonSecondary:"esri-button--secondary",buttonSmall:"esri-button--small", buttonTertiary:"esri-button--tertiary",buttonThird:"esri-button--third",disabled:"esri-disabled",empty:"esri-widget__content--empty",emptyIllustration:"esri-widget__content-illustration--empty",heading:"esri-widget__heading",hidden:"esri-hidden",input:"esri-input",interactive:"esri-interactive",loader:"esri-widget__loader",loaderAnimation:"esri-widget__loader-animation",loaderText:"esri-widget__loader-text",menu:"esri-menu",menuHeader:"esri-menu__header",menuItem:"esri-menu__list-item",menuItemActive:"esri-menu__list-item--active", menuItemFocus:"esri-menu__list-item--focus",menuList:"esri-menu__list",panel:"esri-widget--panel",panelHeightOnly:"esri-widget--panel-height-only",primaryTick:"primary-tick",primaryTickAmPm:"primary-tick__ampm",primaryTickLabel:"primary-tick__label",rotating:"esri-rotating",secondaryTick:"secondary-tick",select:"esri-select",table:"esri-widget__table",widget:"esri-widget",widgetButton:"esri-widget--button",widgetButtonActive:"esri-widget--button-active",widgetDisabled:"esri-widget--disabled"};Object.defineProperty(d, Symbol.toStringTag,{value:"Module"})})},"esri/widgets/Legend/styles/Classic":function(){define("../../../chunks/tslib.es6 ../../../core/accessorSupport/decorators/property ../../../core/has ../../../core/Logger ../../../core/RandomLCG ../../../core/accessorSupport/decorators/subclass ../../Widget ./ClassicCSS ./support/relationshipUtils ./support/univariateUtils ../support/styleUtils ../../support/globalCss ../../support/Heading ../../support/widgetUtils ../../support/decorators/messageBundle ../../support/jsxFactory".split(" "), function(d,a,P,B,q,G,C,I,M,H,x,f,g,e,l,h){const y=`${I.legend}__`,p={display:"flex",alignItems:"flex-start"},r={marginLeft:"3px"},m={display:"table-cell",verticalAlign:"middle"};P=class extends C{constructor(A,E){super(A,E);this.activeLayerInfos=null;this.headingLevel=3;this.messages=null;this.type="classic"}render(){const A=this.activeLayerInfos?.toArray().map(E=>this._renderLegendForLayer(E)).filter(E=>!!E);return h.tsx("div",null,A?.length?A:h.tsx("div",{class:I.css.message},this.messages.noLegend))}_renderLegendForLayer(A){if(!A.ready)return null; var E=!!A.children.length;const J=`${y}${A.layer.uid}-version-${A.version}`,b=A.title?g.Heading({level:this.headingLevel,class:this.classes(f.globalCss.heading,I.css.label)},A.title):null;if(E)return E=A.children.map(k=>this._renderLegendForLayer(k)).toArray(),h.tsx("div",{class:this.classes(I.css.service,I.css.groupLayer),key:J},b,E);if((E=A.legendElements)&&!E.length)return null;E=E.map(k=>this._renderLegendForElement(k,A.layer,A.effectList)).filter(k=>!!k);return E.length?h.tsx("div",{class:this.classes(I.css.service, {[I.css.groupLayerChild]:!!A.parent}),key:J},b,h.tsx("div",{class:I.css.layer},E)):null}_renderLegendForElement(A,E,J,b){var k="color-ramp"===A.type,u="opacity-ramp"===A.type;const z="size-ramp"===A.type;let K=null;if("symbol-table"===A.type||z){var S=A.infos.map(L=>this._renderLegendForElementInfo(L,E,J,z,A.legendType)).filter(L=>!!L);S.length&&(K=h.tsx("div",{class:I.css.layerBody},S))}else"color-ramp"===A.type||"opacity-ramp"===A.type||"heatmap-ramp"===A.type||"stretch-ramp"===A.type?K=this._renderLegendForRamp(A, E.opacity):"relationship-ramp"===A.type?K=M.renderRelationshipRamp(A,this.id,{opacity:E.opacity,effectList:J,ariaLabel:this.messages.previewRelationshipRampAriaLabel}):"pie-chart-ramp"===A.type?K=this._renderPieChartRamp(A):"univariate-above-and-below-ramp"===A.type?K=this._renderUnivariateAboveAndBelowRamp(A,E.opacity,J):"univariate-color-size-ramp"===A.type&&(K=this._renderUnivariateColorSizeRamp(A,E.opacity,J));if(!K)return null;S=A.title;var F=null;"string"===typeof S?F=S:S&&(F=x.getTitle(this.messages, S,k||u),F=x.isRendererTitle(S,k||u)&&S.title?`${S.title} (${F})`:F);k=b?I.css.layerChildTable:I.css.layerTable;u=F?h.tsx("div",{class:I.css.layerCaption},F):null;return h.tsx("div",{class:this.classes(k,{[I.css.layerTableSizeRamp]:z||!b})},u,K)}_renderPieChartRamp(A){return h.tsx("div",{afterCreate:x.attachToNode,bind:A.preview})}_renderUnivariateAboveAndBelowRamp(A,E,J){const {sizeRampElement:b,colorRampElement:k}=H.getUnivariateAboveAndBelowRampElements(A,E);if(!b)return null;var u=this.messages?.previewColorRampAriaLabel, z=H.getUnivariateColorRampSize(b,"above",!0);A=H.getUnivariateColorRampSize(b,"below",!0);const K=H.getUnivariateColorRampPreview(k,{width:12,height:z,rampAlignment:"vertical",opacity:E,type:"above",effectList:J,ariaLabel:u});E=H.getUnivariateColorRampPreview(k,{width:12,height:A,rampAlignment:"vertical",opacity:E,type:"below",effectList:J,ariaLabel:u});var S=H.getUnivariateColorRampMargin(b);const F=b.infos.map(ca=>ca.label);J=F.map((ca,w)=>{const n=2===w;return 0===w?h.tsx("div",{class:ca?K?I.css.univariateAboveAndBelowLabel: I.css.rampLabel:void 0,key:w},ca):n?h.tsx("div",null):null});const L=F.length-1,Q=Math.floor(F.length/2);u=F.map((ca,w)=>{const n=w===L;return w===Q||n?h.tsx("div",{class:ca?K?I.css.univariateAboveAndBelowLabel:I.css.rampLabel:void 0,key:w},ca):null});const W={display:"table-cell",verticalAlign:"middle"};S={marginTop:`${S}px`};z={height:`${z}px`};A={height:`${A}px`};return h.tsx("div",{key:"univariate-above-and-below-ramp-preview",styles:p},h.tsx("div",{class:I.css.layerBody},b.infos.map((ca,w)=> h.tsx("div",{class:this.classes(I.css.layerRow,I.css.sizeRamp)},h.tsx("div",{afterCreate:x.attachToNode,bind:ca.preview,class:I.css.symbol,styles:W}),K||0!==w%2?null:h.tsx("div",{class:I.css.layerInfo},F[w])))),K?h.tsx("div",{key:"color-ramp-preview",styles:S},h.tsx("div",{styles:r},h.tsx("div",{styles:m},h.tsx("div",{afterCreate:x.attachToNode,bind:K,class:I.css.rampContainer})),h.tsx("div",{styles:m},h.tsx("div",{class:I.css.rampLabelsContainer,styles:z},J))),h.tsx("div",{styles:r},h.tsx("div", {styles:m},h.tsx("div",{afterCreate:x.attachToNode,bind:E,class:I.css.rampContainer})),h.tsx("div",{styles:m},h.tsx("div",{class:I.css.rampLabelsContainer,styles:A},u)))):null)}_renderUnivariateColorSizeRamp(A,E,J){const {sizeRampElement:b,colorRampElement:k}=H.getUnivariateColorSizeRampElements(A);if(!b)return null;var u=H.getUnivariateColorRampMargin(b);A=H.getUnivariateColorRampSize(b,"full",!1);E=H.getUnivariateColorRampPreview(k,{width:12,height:A,rampAlignment:"vertical",opacity:E,type:"full", effectList:J,ariaLabel:this.messages?.previewColorRampAriaLabel});const z=b.infos.length-1;J=b.infos.map((S,F)=>0===F||F===z?h.tsx("div",{class:S.label?k?I.css.univariateAboveAndBelowLabel:I.css.rampLabel:void 0,key:F},S.label):null);const K={display:"table-cell",verticalAlign:"middle"};u={marginTop:`${u}px`};A={height:`${A}px`};return h.tsx("div",{key:"univariate-above-and-below-ramp-preview",styles:p},h.tsx("div",{class:I.css.layerBody},b.infos.map(S=>h.tsx("div",{class:this.classes(I.css.layerRow, I.css.sizeRamp)},h.tsx("div",{afterCreate:x.attachToNode,bind:S.preview,class:I.css.symbol,styles:K})))),h.tsx("div",{key:"color-ramp-preview",styles:u},h.tsx("div",{styles:r},h.tsx("div",{styles:m},h.tsx("div",{afterCreate:x.attachToNode,bind:E,class:I.css.rampContainer})),h.tsx("div",{styles:m},h.tsx("div",{class:I.css.rampLabelsContainer,styles:A},J)))))}_renderLegendForRamp(A,E){const J=A.infos,b="heatmap-ramp"===A.type,k="stretch-ramp"===A.type,u=A.preview;u.className=`${I.css.colorRamp} ${"opacity-ramp"=== A.type?I.css.opacityRamp:""}`;null!=E&&(u.style.opacity=E.toString());A=J.map(z=>h.tsx("div",{class:z.label?I.css.rampLabel:void 0},b?this.messages[z.label]||z.label:k?x.getStretchStopLabel(z,this.messages):z.label));E={height:u.style.height};return h.tsx("div",{class:I.css.layerRow},h.tsx("div",{class:I.css.symbolContainer,styles:{width:"24px"}},h.tsx("div",{afterCreate:x.attachToNode,bind:u,class:I.css.rampContainer})),h.tsx("div",{class:I.css.layerInfo},h.tsx("div",{class:I.css.rampLabelsContainer, styles:E},A)))}_renderLegendForElementInfo(A,E,J,b,k){if(A.type)return this._renderLegendForElement(A,E,J,!0);J=null;k=x.isImageryStretchedLegend(E,k);A.preview?J=h.tsx("div",{afterCreate:x.attachToNode,bind:A.preview,class:I.css.symbol}):A.src&&(J=this._renderImage(A,E,k));if(!J)return null;E={[I.css.imageryLayerInfoStretched]:k};return h.tsx("div",{class:I.css.layerRow},h.tsx("div",{class:this.classes(I.css.symbolContainer,{[I.css.imageryLayerInfoStretched]:k,[I.css.sizeRamp]:!k&&b})},J),h.tsx("div", {class:this.classes(I.css.layerInfo,E)},x.getTitle(this.messages,A.label,!1)||""))}_renderImage(A,E,J){const {label:b,src:k,opacity:u}=A;J={[I.css.imageryLayerStretchedImage]:J,[I.css.symbol]:!J};E={opacity:`${null!=u?u:E.opacity}`};return h.tsx("img",{alt:x.getTitle(this.messages,b,!1),"aria-label":x.getTitle(this.messages,b,!1),border:0,class:this.classes(J),height:A.height,src:k,styles:E,width:A.width})}};d.__decorate([a.property()],P.prototype,"activeLayerInfos",void 0);d.__decorate([a.property()], P.prototype,"headingLevel",void 0);d.__decorate([a.property(),l.messageBundle("esri/widgets/Legend/t9n/Legend")],P.prototype,"messages",void 0);d.__decorate([a.property({readOnly:!0})],P.prototype,"type",void 0);return P=d.__decorate([G.subclass("esri.widgets.Legend.styles.Classic")],P)})},"esri/widgets/Legend/styles/ClassicCSS":function(){define(["exports"],function(d){d.css={service:"esri-legend__service",label:"esri-legend__service-label",layer:"esri-legend__layer",groupLayer:"esri-legend__group-layer", groupLayerChild:"esri-legend__group-layer-child",layerTable:"esri-legend__layer-table",layerTableSizeRamp:"esri-legend__layer-table--size-ramp",layerChildTable:"esri-legend__layer-child-table",layerCaption:"esri-legend__layer-caption",layerBody:"esri-legend__layer-body",layerRow:"esri-legend__layer-row",layerCell:"esri-legend__layer-cell",layerInfo:"esri-legend__layer-cell esri-legend__layer-cell--info",imageryLayerStretchedImage:"esri-legend__imagery-layer-image--stretched",imageryLayerCellStretched:"esri-legend__imagery-layer-cell--stretched", imageryLayerInfoStretched:"esri-legend__imagery-layer-info--stretched",symbolContainer:"esri-legend__layer-cell esri-legend__layer-cell--symbols",symbol:"esri-legend__symbol",rampContainer:"esri-legend__ramps",sizeRamp:"esri-legend__size-ramp",colorRamp:"esri-legend__color-ramp",opacityRamp:"esri-legend__opacity-ramp",borderlessRamp:"esri-legend__borderless-ramp",rampTick:"esri-legend__ramp-tick",rampFirstTick:"esri-legend__ramp-tick-first",rampLastTick:"esri-legend__ramp-tick-last",rampLabelsContainer:"esri-legend__ramp-labels", rampLabel:"esri-legend__ramp-label",message:"esri-legend__message",univariateAboveAndBelowLabel:"esri-univariate-above-and-below-ramp__label"};d.legend="esri-legend";Object.defineProperty(d,Symbol.toStringTag,{value:"Module"})})},"*noref":1}}); define("../chunks/tslib.es6 ../core/reactiveUtils ../core/accessorSupport/decorators/property ../core/accessorSupport/decorators/cast ../core/RandomLCG ../core/has ../core/accessorSupport/decorators/subclass ./Widget ./Legend/LegendViewModel ./Legend/styles/Card ./Legend/styles/Classic ./support/globalCss ./support/widgetUtils ./support/decorators/messageBundle ./support/jsxFactory".split(" "),function(d,a,P,B,q,G,C,I,M,H,x,f,g,e,l){q=class extends I{constructor(h,y){super(h,y);this.headingLevel= 3;this.messages=null;this.style=new x;this.viewModel=new M}initialize(){this.addHandles([a.on(()=>this.view,"resize",()=>this.scheduleRender()),a.on(()=>this.activeLayerInfos,"change",()=>this._refreshActiveLayerInfos(this.activeLayerInfos)),a.watch(()=>this.headingLevel,h=>{const {style:y}=this;y&&(y.headingLevel=h)}),a.watch(()=>this.style,(h,y)=>{y&&h!==y&&y.destroy();h&&(h.activeLayerInfos=this.activeLayerInfos,"card"===h.type&&(h.view=this.view),h.headingLevel=this.headingLevel)},a.initial)])}get activeLayerInfos(){return this.viewModel.activeLayerInfos}set activeLayerInfos(h){this.viewModel.activeLayerInfos= h}get basemapLegendVisible(){return this.viewModel.basemapLegendVisible}set basemapLegendVisible(h){this.viewModel.basemapLegendVisible=h}get groundLegendVisible(){return this.viewModel.groundLegendVisible}set groundLegendVisible(h){this.viewModel.groundLegendVisible=h}get hideLayersNotInCurrentView(){return this.viewModel.hideLayersNotInCurrentView}set hideLayersNotInCurrentView(h){this.viewModel.hideLayersNotInCurrentView=h}get keepCacheOnDestroy(){return this.viewModel.keepCacheOnDestroy}set keepCacheOnDestroy(h){this.viewModel.keepCacheOnDestroy= h}get respectLayerDefinitionExpression(){return this.viewModel.respectLayerDefinitionExpression}set respectLayerDefinitionExpression(h){this.viewModel.respectLayerDefinitionExpression=h}get respectLayerVisibility(){return this.viewModel.respectLayerVisibility}set respectLayerVisibility(h){this.viewModel.respectLayerVisibility=h}get icon(){return"legend"}set icon(h){this._overrideIfSome("icon",h)}get label(){return this.messages?.widgetLabel??""}set label(h){this._overrideIfSome("label",h)}get layerInfos(){return this.viewModel.layerInfos}set layerInfos(h){this.viewModel.layerInfos= h}castStyle(h){if(h instanceof H||h instanceof x)return h;if("string"===typeof h)return"card"===h?new H:new x;if(h&&"string"===typeof h.type){const y={...h};delete y.type;return new ("card"===h.type?H:x)(y)}return new x}get view(){return this.viewModel.view}set view(h){this.viewModel.view=h}render(){return l.tsx("div",{class:this.classes("esri-legend",f.globalCss.widget,this.style instanceof x?f.globalCss.panel:null)},this.style.render())}_refreshActiveLayerInfos(h){h.forEach(y=>{this.removeHandles(`version_${y.layer.uid}`); this._renderOnActiveLayerInfoChange(y)});this.scheduleRender()}_renderOnActiveLayerInfoChange(h){var y=a.watch(()=>h.version,()=>this.scheduleRender());this.addHandles(y,`version_${h.layer.uid}`);y=a.on(()=>h.children,"change",()=>h.children.forEach(p=>this._renderOnActiveLayerInfoChange(p)),a.initial);this.addHandles(y,`version_${h.layer.uid}`);h.children.forEach(p=>this._renderOnActiveLayerInfoChange(p))}};d.__decorate([P.property()],q.prototype,"activeLayerInfos",null);d.__decorate([P.property()], q.prototype,"basemapLegendVisible",null);d.__decorate([P.property()],q.prototype,"groundLegendVisible",null);d.__decorate([P.property()],q.prototype,"headingLevel",void 0);d.__decorate([P.property()],q.prototype,"hideLayersNotInCurrentView",null);d.__decorate([P.property()],q.prototype,"keepCacheOnDestroy",null);d.__decorate([P.property()],q.prototype,"respectLayerDefinitionExpression",null);d.__decorate([P.property()],q.prototype,"respectLayerVisibility",null);d.__decorate([P.property()],q.prototype, "icon",null);d.__decorate([P.property()],q.prototype,"label",null);d.__decorate([P.property()],q.prototype,"layerInfos",null);d.__decorate([P.property(),e.messageBundle("esri/widgets/Legend/t9n/Legend")],q.prototype,"messages",void 0);d.__decorate([P.property()],q.prototype,"style",void 0);d.__decorate([B.cast("style")],q.prototype,"castStyle",null);d.__decorate([P.property()],q.prototype,"view",null);d.__decorate([P.property()],q.prototype,"viewModel",void 0);return q=d.__decorate([C.subclass("esri.widgets.Legend")], q)});