Custom Gis Application with Arcgis Javascript API with modern layouting
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

641 lines
331 KiB

// 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/layers/mixins/ArcGISImageService":function(){define("exports ../../chunks/tslib.es6 ../../geometry ../../Graphic ../../rasterRenderers ../../request ../../core/deprecate ../../core/Error ../../core/lang ../../core/Logger ../../core/reactiveUtils ../../core/urlUtils ../../core/accessorSupport/decorators/property ../../core/accessorSupport/ensureType ../../core/accessorSupport/decorators/reader ../../core/accessorSupport/decorators/subclass ../../core/accessorSupport/decorators/writer ../../geometry/support/spatialReferenceUtils ../support/commonProperties ../support/DimensionalDefinition ../support/ExportImageServiceParameters ../support/Field ../support/FieldsIndex ../support/imageBitmapUtils ../support/imageryRendererUtils ../support/MosaicRule ../support/MultidimensionalSubset ../support/PixelBlock ../support/rasterEnums ../support/RasterFunction ../support/RasterInfo ../support/RasterJobHandler ../support/rasterDatasets/multidimensionalUtils ../support/rasterFormats/RasterCodec ../support/rasterFunctions/vectorFieldUtils ../../renderers/support/rasterRendererHelper ../../renderers/support/RasterSymbolizer ../../rest/imageService ../../core/has ../support/source/DataLayerSource ../../rest/query/executeQueryJSON ../../config ../../kernel ../../core/unitUtils ../../geometry/ellipsoidUtils ../../geometry/support/aaBoundingBox ../../core/mathUtils ../../geometry/Extent ../../geometry/Geometry ../../geometry/Multipoint ../../geometry/Point ../../geometry/Polygon ../../geometry/Polyline ../../geometry/support/normalizeUtilsCommon ../../geometry/SpatialReference ../../geometry/support/Ellipsoid ../../core/pbf ../../rest/support/FeatureSet ../../rest/support/Query ../../rest/query/support/AttachmentInfo ../../rest/support/AttachmentQuery ../../rest/query/executeForCount ../../rest/query/executeForIds ../../rest/support/RelationshipQuery ../../rest/support/TopFeaturesQuery ../../rest/imageService/fetchRasterInfo ../../rest/imageService/getCatalogItemRasterInfo ../../rest/support/ImageIdentifyParameters ../../views/2d/engine/flow/dataUtils".split(" "),
function(C,F,N,I,x,S,X,Y,L,R,Q,h,f,g,n,k,D,v,t,a,d,e,l,c,b,m,r,u,p,q,y,z,H,E,K,w,A,G,P,U,V,T,J,O,Z,aa,W,da,ca,fa,ha,na,ma,ia,ua,pa,ta,ra,ya,xa,Aa,za,Da,Ea,Ja,Ma,Qa,Ra,Sa){function Ta(ka){return ka?(ka=JSON.stringify(ka).match(/"rasterFunction":"(.*?")/gi)?.map(Ca=>Ca.slice(18,-1)))?ka.join("/"):null:null}const Ua=new Set("png png8 png24 png32 jpg bmp gif jpgpng lerc tiff".split(" ")),Va=f.ensureRange(g.ensureNumber,{min:0,max:255});C.ArcGISImageService=ka=>{function Ca(B){return B?.path??""}ka=class extends ka{constructor(){super(...arguments);
this._functionRasterInfos={};this._rasterJobHandler={instance:null,refCount:0,connectionPromise:null};this._serviceSupportsMosaicRule=this._cachedRendererJson=null;this._rasterAttributeTableFieldPrefix="Raster.";this.adjustAspectRatio=null;this.bandIds=void 0;this.capabilities=null;this.compressionQuality=void 0;this.compressionTolerance=.01;this.fullExtent=this.fields=this.rasterInfo=this.exportImageServiceParameters=this.definitionExpression=this.defaultMosaicRule=this.copyright=null;this.hasMultidimensions=
!1;this.imageMaxWidth=this.imageMaxHeight=4100;this.interpolation=void 0;this.maxScale=this.minScale=0;this.noData=this.multidimensionalSubset=this.multidimensionalInfo=null;this.noDataInterpretation=void 0;this.objectIdField=null;this.geometryType="polygon";this.typeIdField=null;this.types=[];this.pixelFilter=null;this.raster=void 0;this.sourceType=null;this.viewId=void 0;this.url=this.sourceJSON=this.serviceRasterInfo=this.pixelType=this.spatialReference=this.serviceDataType=this.rasterFunctionInfos=
this.symbolizer=null;this.version=void 0}initialize(){this._set("exportImageServiceParameters",new d.ExportImageServiceParameters({layer:this}))}readServiceSupportsMosaicRule(B,M){return this._isMosaicRuleSupported(M)}get _rasterFunctionNamesIndex(){const B=new Map;if(!this.rasterFunctionInfos||null!=this.rasterFunctionInfos&&1>this.rasterFunctionInfos.length)return B;null!=this.rasterFunctionInfos&&this.rasterFunctionInfos.forEach(M=>{B.set(M.name.toLowerCase().replaceAll(/ /gi,"_"),M.name)});return B}readBandIds(B,
M){if(Array.isArray(B)&&0<B.length&&B.every(ba=>"number"===typeof ba))return B}readCapabilities(B,M){return this._readCapabilities(M)}writeCompressionQuality(B,M,ba){null!=B&&"lerc"!==this.format&&(M[ba]=B)}writeCompressionTolerance(B,M,ba){"lerc"===this.format&&null!=B&&(M[ba]=B)}readDefaultMosaicRule(B,M){return this._serviceSupportsMosaicRule?m.fromJSON(M):null}get fieldsIndex(){return this.fields?new l(this.fields):null}set format(B){B&&Ua.has(B.toLowerCase())&&this._set("format",B.toLowerCase())}readFormat(B,
M){return"esriImageServiceDataTypeVector-UV"===M.serviceDataType||"esriImageServiceDataTypeVector-MagDir"===M.serviceDataType?"lerc":null!=this.pixelFilter?"lerc":"jpgpng"}readMinScale(B,M){return null!=M.minLOD&&null!=M.maxLOD?B:0}readMaxScale(B,M){return null!=M.minLOD&&null!=M.maxLOD?B:0}set mosaicRule(B){B?.mosaicMethod&&(B=m.fromJSON({...B.toJSON(),mosaicMethod:B.mosaicMethod,mosaicOperation:B.mosaicOperation}));this._set("mosaicRule",B)}readMosaicRule(B,M){return(B=B||M.mosaicRule)?m.fromJSON(B):
this._isMosaicRuleSupported(M)?m.fromJSON(M):null}writeMosaicRule(B,M,ba){B=this.mosaicRule;const ea=this.definitionExpression;B?ea&&ea!==B.where&&(B=B.clone(),B.where=ea):ea&&(B=new m({where:ea}));this._isValidCustomizedMosaicRule(B)&&(M[ba]=B.toJSON())}writeNoData(B,M,ba){null!=B&&"number"===typeof B&&(M[ba]=Va(B))}readObjectIdField(B,M){B||=M.fields.find(ba=>"esriFieldTypeOID"===ba.type||"oid"===ba.type)?.name;return B}get parsedUrl(){return h.urlToObject(this.url)}readSourceType(B,M){return this._isMosaicDataset(M)?
"mosaic-dataset":"raster-dataset"}set renderer(B){this.loaded&&(B=this._configRenderer(B));this._set("renderer",B)}readRenderer(B,M,ba){B=M?.layerDefinition?.drawingInfo?.renderer;ba=x.read(B,ba);if(null==ba)return null;"vector-field"===ba.type&&M.symbolTileSize&&!B.symbolTileSize&&(ba.symbolTileSize=M.symbolTileSize);b.isSupportedRendererType(ba)||R.getLogger(this).warn("ArcGISImageService","Imagery layer doesn't support given renderer type.");return ba}writeRenderer(B,M,ba){M.layerDefinition=M.layerDefinition||
{};M.layerDefinition.drawingInfo=M.layerDefinition.drawingInfo||{};M.layerDefinition.drawingInfo.renderer=B.toJSON();"vector-field"===B.type&&(M.symbolTileSize=B.symbolTileSize)}get rasterFields(){const B=this._rasterAttributeTableFieldPrefix;var M=new e({name:"Raster.ItemPixelValue",alias:"Item Pixel Value",domain:null,editable:!1,length:50,type:"string"});const ba=new e({name:"Raster.ServicePixelValue",alias:"Service Pixel Value",domain:null,editable:!1,length:50,type:"string"}),ea=new e({name:"Raster.ServicePixelValue.Raw",
alias:"Raw Service Pixel Value",domain:null,editable:!1,length:50,type:"string"});let la=this.fields?L.clone(this.fields):[];la.push(ba);this.capabilities?.operations.supportsQuery&&this.fields&&0<this.fields.length&&la.push(M);10.4<=this.version&&null!=this.rasterFunctionInfos&&this.rasterFunctionInfos.some(ja=>"none"===ja.name.toLowerCase())&&la.push(ea);null!=this.rasterFunctionInfos&&this.rasterFunctionInfos.filter(ja=>"none"!==ja.name.toLowerCase()).forEach(ja=>{la.push(new e({name:"Raster.ServicePixelValue."+
ja.name,alias:ja.name,domain:null,editable:!1,length:50,type:"string"}))});this._isVectorDataSet()&&(la.push(new e({name:"Raster.Magnitude",alias:"Magnitude",domain:null,editable:!1,type:"double"})),la.push(new e({name:"Raster.Direction",alias:"Direction",domain:null,editable:!1,type:"double"})));({attributeTable:M}=this.rasterInfo??{});null!=M&&(M=M.fields.filter(ja=>"esriFieldTypeOID"!==ja.type&&"value"!==ja.name.toLowerCase()).map(ja=>{const sa=L.clone(ja);sa.name=B+ja.name;return sa}),la=la.concat(M));
return la}get renderingRule(){X.deprecatedProperty(R.getLogger(this),"renderingRule",{replacement:"rasterFunction",version:"4.27",warnOnce:!0});return this.rasterFunction}set renderingRule(B){X.deprecatedProperty(R.getLogger(this),"renderingRule",{replacement:"rasterFunction",version:"4.27",warnOnce:!0});this._set("rasterFunction",B)}set rasterFunction(B){B?.rasterFunction&&(B=q.fromJSON({...B.toJSON(),rasterFunction:B.rasterFunction,rasterFunctionArguments:B.rasterFunctionArguments}));this._set("rasterFunction",
B)}readRasterFunction(B,M){B=M.rasterFunctionInfos;return M.renderingRule||B?.length&&"None"!==B[0].name?this._isRFTJson(M.renderingRule)?q.fromJSON({rasterFunctionDefinition:M.renderingRule}):q.fromJSON(M.renderingRule||{rasterFunctionInfos:M.rasterFunctionInfos}):null}readSpatialReference(B,M){return(B=B||M.extent.spatialReference)?ua.fromJSON(B):null}readPixelType(B){return p.pixelTypeKebabDict.fromJSON(B)||B}writePixelType(B,M,ba){if(null==this.serviceRasterInfo||this.pixelType!==this.serviceRasterInfo.pixelType)M[ba]=
p.pixelTypeKebabDict.toJSON(B)}readVersion(B,M){(B=M.currentVersion)||(B=M.hasOwnProperty("fields")||M.hasOwnProperty("timeInfo")?10:9.3);return B}applyFilter(B){let M=B;this.pixelFilter&&(M=this._clonePixelData(B),this.pixelFilter(M));return M}async applyRenderer(B,M){var ba=B;const {renderer:ea,symbolizer:la,pixelFilter:ja,bandIds:sa}=this;if(!this._isPicture()&&ea&&la&&!ja){ba=JSON.stringify(this._cachedRendererJson)!==JSON.stringify(ea.toJSON());const oa=this._rasterJobHandler.instance;oa?(ba&&
(la.bind(),await oa.updateSymbolizer(la,M),this._cachedRendererJson=ea.toJSON()),M=await oa.symbolize({bandIds:sa,...B},M),ba={extent:B.extent,pixelBlock:M}):ba={extent:B.extent,pixelBlock:la.symbolize({bandIds:sa,...B})}}return ba}destroy(){this._shutdownJobHandler()}increaseRasterJobHandlerUsage(){this._rasterJobHandler.refCount++}decreaseRasterJobHandlerUsage(){this._rasterJobHandler.refCount--;0>=this._rasterJobHandler.refCount&&this._shutdownJobHandler()}async computeAngles(B,M){if(!(await this._fetchCapabilities(M?.signal)).operations.supportsComputeAngles)throw new Y("imagery-layer:compute-angles",
"this operation is not supported on the input image service");return G.computeAngles(this.url,B,this._getRequestOptions(M))}async computePixelSpaceLocations(B,M){if(!(await this._fetchCapabilities(M?.signal)).operations.supportsComputePixelLocation)throw new Y("imagery-layer:compute-pixel-space-locations","this operation is not supported on the input image service");return G.computePixelSpaceLocations(this.url,B,this._getRequestOptions(M))}async computeHistograms(B,M){if(!(await this._fetchCapabilities(M?.signal)).operations.supportsComputeHistograms)throw new Y("imagery-layer:compute-histograms",
"this operation is not supported on the input image service");B=L.clone(B);this._applyMosaicAndRenderingRules(B);return G.computeHistograms(this.url,B,this._getRequestOptions(M))}async computeStatisticsHistograms(B,M){if(!(await this._fetchCapabilities(M?.signal)).operations.supportsComputeStatisticsHistograms)throw new Y("imagery-layer:compute-statistics-histograms","this operation is not supported on the input image service");B=L.clone(B);this._applyMosaicAndRenderingRules(B);return G.computeStatisticsHistograms(this.url,
B,this._getRequestOptions(M))}async measureHeight(B,M){const ba=await this._fetchCapabilities(M?.signal);if(!("base-and-top"===B.operationType?ba.mensuration.supportsHeightFromBaseAndTop:"base-and-top-shadow"===B.operationType?ba.mensuration.supportsHeightFromBaseAndTopShadow:ba.mensuration.supportsHeightFromTopAndTopShadow))throw new Y("imagery-layer:measure-height","this operation is not supported on the input image service");B=L.clone(B);this._applyMosaicAndRenderingRules(B);return G.measureHeight(this.url,
B,this._getRequestOptions(M))}async measureAreaAndPerimeter(B,M){const ba=await this._fetchCapabilities(M?.signal);if(!ba.mensuration.supportsAreaAndPerimeter||B.is3D&&!ba.mensuration.supports3D)throw new Y("imagery-layer:measure-area-and-perimeter","this operation is not supported on the input image service");B=L.clone(B);this._applyMosaicAndRenderingRules(B);return G.measureAreaAndPerimeter(this.url,B,this._getRequestOptions(M))}async measureDistanceAndAngle(B,M){const ba=await this._fetchCapabilities(M?.signal);
if(!ba.mensuration.supportsDistanceAndAngle||B.is3D&&!ba.mensuration.supports3D)throw new Y("imagery-layer:measure-distance-and-angle","this operation is not supported on the input image service");B=L.clone(B);this._applyMosaicAndRenderingRules(B);return G.measureDistanceAndAngle(this.url,B,this._getRequestOptions(M))}async measurePointOrCentroid(B,M){const ba=await this._fetchCapabilities(M?.signal);if(!ba.mensuration.supportsPointOrCentroid||B.is3D&&!ba.mensuration.supports3D)throw new Y("imagery-layer:measure-point-or-centroid",
"this operation is not supported on the input image service");B=L.clone(B);this._applyMosaicAndRenderingRules(B);return G.measurePointOrCentroid(this.url,B,this._getRequestOptions(M))}async measureLengthFromImage(B,M){if(!(await this._fetchCapabilities(M?.signal)).operations.supportsMeasureFromImage)throw new Y("imagery-layer:measure-length-from-image","this operation is not supported on the input image service");if("polyline"!==B.geometry.type)throw new Y("imagery-layer:measure-length-from-image",
"this input geometry must be a polyline");return G.measureLengthFromImage(this.url,B,this._getRequestOptions(M))}async measureAreaFromImage(B,M){if(!(await this._fetchCapabilities(M?.signal)).operations.supportsMeasureFromImage)throw new Y("imagery-layer:measure-area-from-image","this operation is not supported on the input image service");if("polygon"!==B.geometry.type)throw new Y("imagery-layer:measure-area-from-image","this input geometry must be a polygon");return G.measureAreaFromImage(this.url,
B,this._getRequestOptions(M))}getField(B){const {fieldsIndex:M}=this;return null!=M?M.get(B):void 0}getFieldDomain(B,M){return(B=this.getField(B))?B.domain:null}async fetchImage(B,M,ba,ea={}){if(null==B||null==M||null==ba)throw new Y("imagery-layer:fetch-image","Insufficient parameters for requesting an image. A valid extent, width and height values are required.");if(this.renderer||this.symbolizer){var la=await this._generateRasterInfo(this.rasterFunction,{signal:ea.signal});la&&(this.rasterInfo=
la)}la=this.getExportImageServiceParameters(B,M,ba,ea.timeExtent);if(null==la){if(ea.requestAsImageElement&&this._canRequestImageElement(this.format))return B=document.createElement("canvas"),B.width=M,B.height=ba,ea.returnImageBitmap?{imageBitmap:await c.createBitmap(B,`${Ca(this.parsedUrl)}/exportImage`,ea.signal)}:{imageOrCanvasElement:B};const {bandIds:sa,rasterInfo:oa}=this;ea=(sa?.length||oa.bandCount)??0;la=M*ba;var ja=oa.pixelType;const va=[];for(let qa=0;qa<ea;qa++)va.push(u.createEmptyBand(ja,
la));return{pixelData:{pixelBlock:new u({width:M,height:ba,pixels:va,mask:new Uint8Array(la),pixelType:ja}),extent:B}}}ja=!!ea.requestAsImageElement&&!this.pixelFilter;return this._requestArrayBuffer({imageServiceParameters:la,imageProps:{extent:B,width:M,height:ba,format:this.format},requestAsImageElement:ja,returnImageBitmap:ja&&!!ea.returnImageBitmap,signal:ea.signal})}fetchKeyProperties(B){return S(Ca(this.parsedUrl)+"/keyProperties",{query:this._getQueryParams({renderingRule:10.3<=this.version?
B?.rasterFunction:null})}).then(M=>M.data)}fetchRasterAttributeTable(B){return 10.1>this.version?Promise.reject(new Y("#fetchRasterAttributeTable()","Failed to get rasterAttributeTable")):S(Ca(this.parsedUrl)+"/rasterAttributeTable",{query:this._getQueryParams({renderingRule:10.3<=this.version?B?.rasterFunction:null})}).then(M=>ra.fromJSON(M.data))}getCatalogItemRasterInfo(B,M){const ba=this._getQueryParams();M={...M,query:ba};return Qa.getCatalogItemRasterInfo(Ca(this.parsedUrl),B,M)}async getCatalogItemICSInfo(B,
M){var {data:ba}=await S(Ca(this.parsedUrl)+"/"+B+"/info/ics",{query:this._getQueryParams(),...M});if(ba=ba?.ics){var ea=null;try{ea=(await S(Ca(this.parsedUrl)+"/"+B+"/info",{query:this._getQueryParams(),...M})).data.extent}catch{}if(!ea?.spatialReference)return{ics:ba,icsToPixelTransform:null,icsExtent:null,northDirection:null};var la=10.7<=this.version?S(Ca(this.parsedUrl)+"/"+B+"/info/icstopixel",{query:this._getQueryParams(),...M}).then(wa=>wa.data).catch(()=>({})):{},ja=ea.spatialReference,
sa={geometries:JSON.stringify({geometryType:"esriGeometryEnvelope",geometries:[ea]}),inSR:v.srToRESTValue(ja),outSR:"0:"+B};sa=S(Ca(this.parsedUrl)+"/project",{query:this._getQueryParams(sa),...M}).then(wa=>wa.data).catch(()=>({}));var oa=(ea.xmin+ea.xmax)/2,va=(ea.ymax-ea.ymin)/6;ea=ea.ymin+va;var qa=[];for(let wa=0;5>wa;wa++)qa.push({x:oa,y:ea+va*wa});B={geometries:JSON.stringify({geometryType:"esriGeometryPoint",geometries:qa}),inSR:v.srToRESTValue(ja),outSR:"0:"+B};M=S(Ca(this.parsedUrl)+"/project",
{query:this._getQueryParams(B),...M}).then(wa=>wa.data).catch(()=>({}));B=await Promise.all([la,sa,M]);M=B[0].ipxf;null==M&&(la=ba.geodataXform?.xf_0,"topup"===la?.name?.toLowerCase()&&6===la?.coefficients?.length&&(M={affine:{name:"ics [sensor: Frame] to pixel (column, row) transformation",coefficients:la.coefficients,cellsizeRatio:0,type:"GeometricXform"}}));if(la=da.fromJSON(B[1]?.geometries?.[0]))la.spatialReference=new ua({wkid:0,imageCoordinateSystem:ba});B=B[2].geometries?B[2].geometries.filter(wa=>
null!=wa?.x&&null!=wa.y&&"NaN"!==wa.x&&"NaN"!==wa.y):[];sa=B.length;if(3>sa)return{ics:ba,icsToPixelTransform:M,icsExtent:la,northDirection:null};ea=va=oa=ja=0;for(qa=0;qa<sa;qa++)ja+=B[qa].x,oa+=B[qa].y,va+=B[qa].x*B[qa].x,ea+=B[qa].x*B[qa].y;sa=(sa*ea-ja*oa)/(sa*va-ja*ja);ja=0;oa=B[4].x>B[0].x;B=B[4].y>B[0].y;Infinity===sa?ja=B?90:270:0===sa?ja=oa?0:180:0<sa?ja=oa?180*Math.atan(sa)/Math.PI:180*Math.atan(sa)/Math.PI+180:0>sa&&(ja=B?180+180*Math.atan(sa)/Math.PI:360+180*Math.atan(sa)/Math.PI);return{ics:ba,
icsToPixelTransform:M,icsExtent:la,northDirection:ja}}}async generateRasterInfo(B,M){B=g.ensureClass(q,B);if(this.serviceRasterInfo&&(!B||"none"===B.functionName?.toLowerCase()||this._isVectorFieldResampleFunction(B)))return this.serviceRasterInfo;const ba=Ta(B);if(!ba)throw new Y("imagery-layer:generate-raster-info","the rendering rule is not supported");if(this._functionRasterInfos[ba])return this._functionRasterInfos[ba];const ea=this._getQueryParams();M={...M,query:ea};B=Ma.generateRasterInfo(Ca(this.parsedUrl),
B,M);this._functionRasterInfos[ba]=B;try{return await B}catch(la){throw this._functionRasterInfos[ba]=null,la;}}getExportImageServiceParameters(B,M,ba,ea){B=B.clone().shiftCentralMeridian();const la=G.getImageSpatialReferenceQueryParameter(B.spatialReference,Ca(this.parsedUrl));this.pixelType!==this.serviceRasterInfo.pixelType&&(this.exportImageServiceParameters.pixelType=this.pixelType);const ja=this.exportImageServiceParameters.toJSON(),{bandIds:sa,noData:oa}=ja;var {renderingRule:va}=ja,qa=this.rasterFunction?.rasterFunctionDefinition,
wa=!this.renderer||"raster-stretch"===this.renderer.type;sa?.length&&this._hasRasterFunction(this.rasterFunction)&&!qa&&wa?(qa={rasterFunction:"ExtractBand",rasterFunctionArguments:{BandIds:sa}},"Stretch"===va.rasterFunction?(qa.rasterFunctionArguments.Raster=va.rasterFunctionArguments.Raster,va.rasterFunctionArguments.Raster=qa):"Colormap"===va.rasterFunction?(wa=va.rasterFunctionArguments.Raster,"Stretch"===wa?.rasterFunction?(qa.rasterFunctionArguments.Raster=wa.rasterFunctionArguments.Raster,
wa.rasterFunctionArguments.Raster=qa):(qa.rasterFunctionArguments.Raster=wa,va.rasterFunctionArguments.Raster=qa)):(qa.rasterFunctionArguments.Raster=va,va=qa),ja.bandIds=void 0):ja.bandIds=sa?.join(",");Array.isArray(oa)&&0<oa.length&&(ja.noData=oa.join(","));ea=this._processMultidimensionalIntersection(null,ea,this.exportImageServiceParameters.mosaicRule);if(ea.isOutSide)return null;ja.mosaicRule=null!=ea.mosaicRule?JSON.stringify(ea.mosaicRule):null;ea=ea.timeExtent;ja.renderingRule=this._getRenderingRuleString(q.fromJSON(va));
va={};if(null!=ea){const {start:Ba,end:Fa}=ea.toJSON();if(Ba&&Fa&&Ba===Fa)va.time=""+Ba;else if(null!=Ba||null!=Fa)va.time=`${null==Ba?"null":Ba},${null==Fa?"null":Fa}`}return{bbox:B.xmin+","+B.ymin+","+B.xmax+","+B.ymax,bboxSR:la,imageSR:la,size:M+","+ba,...ja,...va}}async getSamples(B,M){if(!(await this._fetchCapabilities(M?.signal))?.operations.supportsGetSamples)throw new Y("imagery-layer:get-samples","getSamples operation is not supported on the input image service");B=L.clone(B);const {raster:ba}=
this;ba&&null==B.raster&&(B.raster=ba);return G.getSamples(this.url,B,this._getRequestOptions(M))}async identify(B,M){if(!(await this._fetchCapabilities(M?.signal)).operations.supportsIdentify)throw new Y("imagery-layer:identify","identify operation is not supported on the input image service");B=L.clone(B);10.91>this.version&&"extent"===B.geometry?.type&&(B.geometry=na.fromExtent(B.geometry));const ba=this._processMultidimensionalIntersection(B.geometry,B.timeExtent,B.mosaicRule||this.mosaicRule);
if(ba.isOutSide)throw new Y("imagery-layer:identify","the request cannot be fulfilled when falling outside of the multidimensional subset");B.timeExtent=ba.timeExtent;B.mosaicRule=ba.mosaicRule;const {raster:ea,rasterFunction:la}=this;la&&null==B.rasterFunction&&(B.rasterFunction=la);ea&&null==B.raster&&(B.raster=ea);return G.identify(this.url,B,this._getRequestOptions(M))}async imageToMap(B,M){if(!(await this._fetchCapabilities(M?.signal)).operations.supportsImageToMap)throw new Y("imagery-layer:image-to-map",
"imageToMap operation is not supported on the input image service");return G.imageToMap(Ca(this.parsedUrl),B,this._getRequestOptions(M))}async imageToMapMultiray(B,M){if(!(await this._fetchCapabilities(M?.signal)).operations.supportsImageToMapMultiray)throw new Y("imagery-layer:image-to-map-multiray","imageToMapMultiray operation is not supported on the input image service");return G.imageToMapMultiray(Ca(this.parsedUrl),B,this._getRequestOptions(M))}async mapToImage(B,M){if(!(await this._fetchCapabilities(M?.signal)).operations.supportsMapToImage)throw new Y("imagery-layer:map-to-image",
"mapToImage operation is not supported on the input image service");return G.mapToImage(Ca(this.parsedUrl),B,this._getRequestOptions(M))}async findImages(B,M){if(!(await this._fetchCapabilities(M?.signal)).operations.supportsFindImages)throw new Y("imagery-layer:find-images","findImages operation is not supported on the input image service");return G.findImages(Ca(this.parsedUrl),B,this._getRequestOptions(M))}async getImageUrl(B,M){if(!(await this._fetchCapabilities(M?.signal)).operations.supportsGetImageUrl)throw new Y("imagery-layer:get-image-url",
"getImageUrl operation is not supported on the input image service");return G.getImageUrl(Ca(this.parsedUrl),B,this._getRequestOptions(M))}createQuery(){return new ya({outFields:["*"],returnGeometry:!0,where:this.definitionExpression||"1\x3d1"})}async queryBoundary(B,M){if(!(await this._fetchCapabilities(M?.signal)).operations.supportsQueryBoundary)throw new Y("imagery-layer:query-boundary","queryBoundary operation is not supported on the input image service");B=B??{outSpatialReference:this.spatialReference};
return G.queryBoundary(Ca(this.parsedUrl),B,this._getRequestOptions(M))}async queryRasters(B,M){({query:B,requestOptions:M}=await this._prepareForQuery(B,M));return V.executeQueryJSON(this.url,B,M)}async queryObjectIds(B,M){({query:B,requestOptions:M}=await this._prepareForQuery(B,M));return Da.executeForIds(this.url,B,M)}async queryGPSInfo(B,M){if(!(await this._fetchCapabilities(M?.signal)).operations.supportsQueryGPSInfo)throw new Y("imagery-layer:query-gps-info","queryGPSInfo operation is not supported on the input image service");
B=B??{where:"1\x3d1"};return G.queryGPSInfo(Ca(this.parsedUrl),B,this._getRequestOptions(M))}async queryRasterCount(B,M){({query:B,requestOptions:M}=await this._prepareForQuery(B,M));return za.executeForCount(this.url,B,M)}async queryVisibleRasters(B,M){if(!B)throw new Y("imagery-layer: query-visible-rasters","missing query parameter");await this.load();const {pixelSize:ba,returnDomainValues:ea,returnTopmostRaster:la,showNoDataRecords:ja}=M||{pixelSize:null,returnDomainValues:!1,returnTopmostRaster:!1,
showNoDataRecords:!1};let sa=!1;var oa=null,va=null;const qa=this._rasterFunctionNamesIndex;if(null!=B.outFields&&(sa=B.outFields.some(Ha=>!Ha.toLowerCase().includes("raster.servicepixelvalue")),10.4<=this.version)){va=B.outFields.filter(Ga=>Ga.toLowerCase().includes("raster.servicepixelvalue")&&24<Ga.length).map(Ga=>{Ga=Ga.slice(25);return[this._updateRenderingRulesFunctionName(Ga,qa),Ga]});oa=va.map(Ga=>new q({functionName:Ga[0]}));va=va.map(Ga=>Ga[1]);const {rasterFunction:Ha}=this;0===oa.length?
Ha?.functionName?(oa.push(Ha),va.push(Ha.functionName)):oa=null:Ha?.functionName&&!oa.some(Ga=>Ga.functionName===Ha.functionName)&&(oa.push(Ha),va.push(Ha.functionName))}const wa=null==B.outSpatialReference||B.outSpatialReference.equals(this.spatialReference);var {multidimensionalSubset:Ba}=this;let Fa=B.timeExtent||this.timeExtent;if(Ba){const {isOutside:Ha,intersection:Ga}=H.intersectMultimensionalSubset(Ba,{geometry:B.geometry,timeExtent:B.timeExtent,multidimensionalDefinition:this.exportImageServiceParameters.mosaicRule?.multidimensionalDefinition});
if(Ha)throw new Y("imagery-layer:query-visible-rasters","the request cannot be fulfilled when falling outside of the multidimensional subset");null!=Ga?.timeExtent&&(Fa=Ga.timeExtent)}Ba=this._combineMosaicRuleWithTimeExtent(this.exportImageServiceParameters.mosaicRule,Fa);let Ia=B.geometry;10.91>this.version&&"extent"===Ia?.type&&(Ia=na.fromExtent(Ia));oa=this._getQueryParams({geometry:Ia,timeExtent:Fa,mosaicRule:Ba,rasterFunction:10.4>this.version?this.rasterFunction:null,rasterFunctions:oa,pixelSize:ba,
returnCatalogItems:sa,returnGeometry:wa,raster:this.raster,maxItemCount:la?1:null});delete oa.f;oa=new Ra(oa);try{await this._generateRasterInfo(this.rasterFunction);const Ha=await G.identify(this.url,oa,{signal:M?.signal,query:{...this.customParameters}}),Ga=B.outFields,Wa=null!=Ha.value&&Ha.value.toLowerCase().includes("nodata");if(!sa||wa||!Ha?.catalogItems?.features.length||!ja&&Wa)return this._processVisibleRastersResponse(Ha,{returnDomainValues:ea,templateRRFunctionNames:va,showNoDataRecords:ja,
templateFields:Ga});const Ka=this.objectIdField||"ObjectId",Oa=Ha.catalogItems?.features??[],Xa=Oa.map(La=>La.attributes?.[Ka]),Ya=new ya({objectIds:Xa,returnGeometry:!0,outSpatialReference:B.outSpatialReference,outFields:[Ka]}),Pa=await this.queryRasters(Ya);Pa?.features?.length&&Pa.features.forEach(La=>{Oa.forEach(Na=>{Na.attributes[Ka]===La.attributes[Ka]&&(Na.geometry=new na(La.geometry),null!=B.outSpatialReference&&(Na.geometry.spatialReference=B.outSpatialReference))})});return this._processVisibleRastersResponse(Ha,
{returnDomainValues:ea,templateRRFunctionNames:va,showNoDataRecords:ja,templateFields:Ga})}catch{throw new Y("imagery-layer:query-visible-rasters","encountered error when querying visible rasters");}}async fetchVariableStatisticsHistograms(B,M){var ba=S(Ca(this.parsedUrl)+"/statistics",{query:this._getQueryParams({variable:B}),signal:M}).then(ea=>ea.data?.statistics);B=S(Ca(this.parsedUrl)+"/histograms",{query:this._getQueryParams({variable:B}),signal:M}).then(ea=>ea.data?.histograms);ba=await Promise.all([ba,
B]);ba[0]&&ba[0].forEach(ea=>{ea.avg=ea.mean;ea.stddev=ea.standardDeviation});return{statistics:ba[0]||null,histograms:ba[1]||null}}async createFlowMesh(B,M){const ba=this._rasterJobHandler.instance;return ba?ba.createFlowMesh(B,M):Sa.createFlowMesh(B.meshType,B.simulationSettings,B.flowData,null!=M.signal?M.signal:(new AbortController).signal)}getMultidimensionalSubsetVariables(B){return H.getSubsetVariablesFromMdInfo(this.multidimensionalSubset,B??this.serviceRasterInfo.multidimensionalInfo)}async _fetchService(B){await this._fetchServiceInfo(B);
this.rasterInfo||(this.rasterInfo=this.serviceRasterInfo);const M=this.sourceJSON,ba=null!=this.serviceRasterInfo?Promise.resolve(this.serviceRasterInfo):Ma.fetchServiceRasterInfo(Ca(this.parsedUrl),M,{signal:B,query:this._getQueryParams()}).then(la=>{this._set("serviceRasterInfo",la);this._set("multidimensionalInfo",la.multidimensionalInfo);Ma.patchServiceInfo(la,M);return la});B=this._hasRasterFunction(this.rasterFunction)?this._generateRasterInfo(this.rasterFunction,{signal:B}):null;const ea=this._getRasterFunctionInfos();
return Promise.all([ba,B,ea]).then(la=>{la[1]?this._set("rasterInfo",la[1]):this._set("rasterInfo",la[0]);la[2]&&this._set("rasterFunctionInfos",la[2]);this.renderer&&!this._isSupportedRenderer(this.renderer)&&(this._set("renderer",null),R.getLogger(this).warn("ArcGISImageService","Switching to the default renderer. Renderer applied is not valid for this Imagery Layer"));this._set("renderer",this._configRenderer(this.renderer));this.addHandles([Q.watch(()=>this.rasterFunction,ja=>{(this.renderer||
this.symbolizer||this.popupEnabled&&this.popupTemplate)&&this._generateRasterInfo(ja).then(sa=>{sa&&(this.rasterInfo=sa)})})]);({serviceRasterInfo:la}=this);null!=la.multidimensionalInfo&&this._updateMultidimensionalDefinition(la)})}_combineMosaicRuleWithTimeExtent(B,M){var ba=this.timeInfo,{multidimensionalInfo:ea}=this.serviceRasterInfo;if(null==B||null==ea||null==M||null==ba?.startField)return B;const {startField:la}=ba,ja=ea.variables.some(qa=>qa.dimensions.some(wa=>wa.name===la))?la:"StdTime";
B=B.clone();if("mosaic-dataset"===this.sourceType)return B.multidimensionalDefinition=B.multidimensionalDefinition?.filter(qa=>qa.dimensionName!==ja),this._cleanupMultidimensionalDefinition(B);B.multidimensionalDefinition=B.multidimensionalDefinition||[];ba=B.multidimensionalDefinition.filter(qa=>qa.dimensionName===ja);ea=null!=M.start?M.start.getTime():null;M=null!=M.end?M.end.getTime():null;const sa=null==ea||null==M||ea===M,oa=sa?[ea||M]:[[ea,M]],va=10.8<=this.version;ba.length?ba.forEach(qa=>
{qa.dimensionName===ja&&(va?(qa.dimensionName=null,qa.isSlice=!1,qa.values=[]):(qa.isSlice=sa,qa.values=oa))}):va||(M=B.multidimensionalDefinition.filter(qa=>null!=qa.variableName&&null==qa.dimensionName),M.length?M.forEach(qa=>{qa.dimensionName=ja;qa.isSlice=sa;qa.values=oa}):B.multidimensionalDefinition.push(new a({variableName:"",dimensionName:ja,isSlice:sa,values:oa})));return this._cleanupMultidimensionalDefinition(B)}_cleanupMultidimensionalDefinition(B){if(null==B)return null;B.multidimensionalDefinition&&
(B.multidimensionalDefinition=B.multidimensionalDefinition.filter(M=>!(!M.variableName&&!M.dimensionName)),0===B.multidimensionalDefinition.length&&(B.multidimensionalDefinition=null));return"mosaic-dataset"!==this.sourceType&&null==B.multidimensionalDefinition?null:B}async _prepareForQuery(B,M){if(!(await this._fetchCapabilities(M?.signal)).operations.supportsQuery)throw new Y("imagery-layer:query-rasters","query operation is not supported on the input image service");B=null!=B?g.ensureClass(ya,
B):this.createQuery();M=this._getRequestOptions(M);this.raster&&(M.query={...M.query,raster:this.raster});return{query:B,requestOptions:M}}async _initJobHandler(){if(null!=this._rasterJobHandler.connectionPromise)return this._rasterJobHandler.connectionPromise;const B=new z;this._rasterJobHandler.connectionPromise=B.initialize().then(()=>{this._rasterJobHandler.instance=B},()=>{});await this._rasterJobHandler.connectionPromise}_shutdownJobHandler(){this._rasterJobHandler.instance&&this._rasterJobHandler.instance.destroy();
this._rasterJobHandler.instance=null;this._rasterJobHandler.connectionPromise=null;this._rasterJobHandler.refCount=0;this._cachedRendererJson=null}_isSupportedRenderer(B){const {rasterInfo:M,rasterFunction:ba}=this;return"unique-value"===B.type&&this._hasRasterFunction(ba)&&1===M?.bandCount&&["u8","s8"].includes(M.pixelType)||null!=M&&null!=B&&w.getSupportedRendererTypes(M).includes(B.type)}async _fetchCapabilities(B){if(this.capabilities)return this.capabilities;await this._fetchServiceInfo(B);return this.capabilities}async _fetchServiceInfo(B){let M=
this.sourceJSON;if(!M){const {data:ba,ssl:ea}=await S(Ca(this.parsedUrl),{query:this._getQueryParams(),signal:B});this.sourceJSON=M=ba;ea&&(this.url=this.url.replace(/^http:/i,"https:"))}if(-1<M.capabilities?.toLowerCase().split(",").map(ba=>ba.trim()).indexOf("tilesonly"))throw new Y("imagery-layer:fetch-service-info","use ImageryTileLayer to open tiles-only image services");this.read(M,{origin:"service",url:this.parsedUrl})}_isMosaicDataset(B){return B.serviceSourceType?"esriImageServiceSourceTypeMosaicDataset"===
B.serviceSourceType:0<B.fields?.length}_isMosaicRuleSupported(B){if(!B)return!1;const M=this._isMosaicDataset(B);B=10.71<=B.currentVersion&&B.hasMultidimensions&&!(1<B.fields?.length);return M||B}_isVectorFieldResampleFunction(B){if(null==B)return!1;const {functionName:M,functionArguments:ba}=B;B="resample"===M?.toLowerCase();const ea=ba?.ResampleType||ba?.resampleType;return B&&(7===ea||10===ea)}_isPicture(){return!this.format||this.format.includes("jpg")||this.format.includes("png")}_configRenderer(B){var M=
this._isPicture();const {rasterInfo:ba}=this;if(!M&&!this.pixelFilter||this._isVectorDataSet())!this.bandIds&&3<=ba.bandCount&&(!(M=w.getDefaultBandCombination(ba))||3===ba.bandCount&&0===M[0]&&1===M[1]&&2===M[2]||(this.bandIds=M)),B||=w.createDefaultRenderer(ba,{bandIds:this.bandIds,variableName:this.rasterFunction?null:this.mosaicRule?.multidimensionalDefinition?.[0].variableName}),M=w.normalizeRendererJSON(B.toJSON()),this.symbolizer?(this.symbolizer.rendererJSON=M,this.symbolizer.rasterInfo=ba):
this.symbolizer=new A({rendererJSON:M,rasterInfo:ba}),this.symbolizer.bind().success||(this.symbolizer=null);return B}_clonePixelData(B){return null==B?B:{extent:B.extent&&B.extent.clone(),pixelBlock:null!=B.pixelBlock?B.pixelBlock.clone():null}}_getQueryParams(B){null!=B?.renderingRule&&"string"!==typeof B.renderingRule&&(B.renderingRule=this._getRenderingRuleString(B.renderingRule));const {raster:M,viewId:ba}=this;return{raster:M,viewId:ba,f:"json",...B,...this.customParameters}}_getRequestOptions(B){return{...B,
query:{...B?.query,...this.customParameters}}}_decodePixelBlock(B,M,ba){return this._rasterJobHandler.instance?this._rasterJobHandler.instance.decode({data:B,options:M}):E.decode(B,M,ba)}async _getRasterFunctionInfos(B){const M=this.sourceJSON.rasterFunctionInfos;return this.loaded?M:M&&10.3<=this.version?1===M.length&&"none"===M[0].name.toLowerCase()?M:(await S(Ca(this.parsedUrl)+"/rasterFunctionInfos",{query:this._getQueryParams(),signal:B})).data?.rasterFunctionInfos:null}_canRequestImageElement(B){return!this.pixelFilter&&
(!B||B.includes("png"))}async _requestArrayBuffer(B){const {imageProps:M,requestAsImageElement:ba,returnImageBitmap:ea,signal:la}=B;if(ba&&this._canRequestImageElement(M.format)){var ja=`${Ca(this.parsedUrl)}/exportImage`;({data:B}=await S(ja,{responseType:ea?"blob":"image",query:this._getQueryParams({f:"image",...this.refreshParameters,...B.imageServiceParameters}),signal:la}));return B instanceof Blob?{imageBitmap:await c.createBitmap(B,ja,la),params:M}:{imageOrCanvasElement:B,params:M}}ja=this._initJobHandler();
B=S(Ca(this.parsedUrl)+"/exportImage",{responseType:"array-buffer",query:this._getQueryParams({f:"image",...B.imageServiceParameters}),signal:la});B=(await Promise.all([B,ja]))[0].data;var sa=ja=M.format||"jpgpng";"bsq"!==sa&&"bip"!==sa&&(sa=E.getFormat(B));if(!sa)throw new Y("imagery-layer:fetch-image","unsupported format signature "+String.fromCharCode.apply(null,new Uint8Array(B)));sa="gif"===ja||"bmp"===ja||ja.includes("png")&&("png"===sa||"jpg"===sa);const oa={signal:la};return{pixelData:{pixelBlock:await (sa?
E.decode(B,{useCanvas:!0,...M},oa):this._decodePixelBlock(B,{width:M.width,height:M.height,planes:null,pixelType:null,noDataValue:null,format:ja},oa)),extent:M.extent},params:M}}_generateRasterInfo(B,M){return this.generateRasterInfo(B,M).catch(()=>null)}_isValidCustomizedMosaicRule(B){return B&&JSON.stringify(B.toJSON())!==JSON.stringify(this.defaultMosaicRule?.toJSON())}_updateMultidimensionalDefinition(B){if(!this._isValidCustomizedMosaicRule(this.mosaicRule)&&(B=H.getDefaultMultidimensionalDefinition(B,
{multidimensionalSubset:this.multidimensionalSubset}),null!=B&&0<B.length)){this.mosaicRule=this.mosaicRule||new m;const M=this.mosaicRule.multidimensionalDefinition;!this.sourceJSON.defaultVariableName&&this.rasterFunction&&"none"!==this.rasterFunction.functionName?.toLowerCase()&&B.forEach(ba=>ba.variableName="");B=B.filter(({variableName:ba,dimensionName:ea})=>ba&&"*"!==ba||ea);!M?.length&&B.length&&(this.mosaicRule.multidimensionalDefinition=B)}}_processVisibleRastersResponse(B,M){M=M||{};const ba=
B.value,{templateRRFunctionNames:ea,showNoDataRecords:la,returnDomainValues:ja,templateFields:sa}=M;M=B.processedValues;var oa=B.catalogItems?.features;let va=B.properties?.Values?.map(Ia=>Ia.replaceAll(/ /gi,", "))||[];var qa=this.objectIdField||"ObjectId",wa="string"===typeof ba&&ba.toLowerCase().includes("nodata");B=[];!ba||oa||wa||(oa={},oa[qa]=0,oa=new I({geometry:this.fullExtent,attributes:oa}),va=[ba],oa=[oa]);if(!oa)return[];this._updateResponseFieldNames(oa,sa);wa&&!la&&(oa=[]);for(qa=0;qa<
oa.length;qa++){wa=oa[qa];if(null!=ba){var Ba=va[qa];var Fa=this.rasterFunction&&M&&0<M.length&&ea&&0<ea.length&&ea.includes(this.rasterFunction.functionName)?M[ea.indexOf(this.rasterFunction.functionName)]:ba;if("nodata"===Ba.toLowerCase()&&!la)continue;wa.attributes["Raster.ItemPixelValue"]=Ba;wa.attributes["Raster.ServicePixelValue"]=Fa;this._updateFeatureWithMagDirValues(wa,Ba);const Ia=this.fields&&0<this.fields.length;Fa=this.rasterFunction&&null!=this.serviceRasterInfo.attributeTable?Ia?Ba:
ba:Fa;this.rasterFunction||(Fa=Ia?Ba:ba);this._updateFeatureWithRasterAttributeTableValues(wa,Fa)}wa.sourceLayer=wa.layer=this;ja&&this._updateFeatureWithDomainValues(wa);if(ea&&M&&ea.length===M.length)for(Ba=0;Ba<ea.length;Ba++)wa.attributes["Raster.ServicePixelValue."+ea[Ba]]=M[Ba];B.push(oa[qa])}return B}_processMultidimensionalIntersection(B,M,ba){const {multidimensionalSubset:ea}=this;if(!ea)return ba=this._combineMosaicRuleWithTimeExtent(ba,M),{isOutSide:!1,timeExtent:M,mosaicRule:ba};if(ea){const {isOutside:la,
intersection:ja}=H.intersectMultimensionalSubset(ea,{geometry:B,timeExtent:M});if(la)return{isOutSide:!0,timeExtent:null,mosaicRule:null};null!=ja?.timeExtent&&(M=ja.timeExtent)}ba=this._combineMosaicRuleWithTimeExtent(ba,M);return ba?.multidimensionalDefinition&&({isOutside:B}=H.intersectMultimensionalSubset(ea,{multidimensionalDefinition:ba.multidimensionalDefinition}),B)?{isOutSide:!0,timeExtent:null,mosaicRule:null}:{isOutSide:!1,timeExtent:M,mosaicRule:ba}}_updateFeatureWithRasterAttributeTableValues(B,
M){const ba=this.rasterInfo.attributeTable||this.serviceRasterInfo.attributeTable;if(null!=ba){var {features:ea,fields:la}=ba,ja=la.map(oa=>oa.name).find(oa=>"value"===oa.toLowerCase());if(ja){var sa=ea.filter(oa=>oa.attributes[ja]===(null!=M?parseInt(M,10):null));sa&&sa[0]&&la.forEach(oa=>{B.attributes[this._rasterAttributeTableFieldPrefix+oa.name]=sa[0].attributes[oa.name]})}}}_updateFeatureWithMagDirValues(B,M){if(this._isVectorDataSet()){var ba=M.split(/,\s*/).map(ea=>parseFloat(ea));M=ba.map(ea=>
[ea]);ba=ba.map(ea=>({minValue:ea,maxValue:ea,noDataValue:null}));M=new u({height:1,width:1,pixelType:"f32",pixels:M,statistics:ba});null!=this.pixelFilter&&this.pixelFilter({pixelBlock:M,extent:new da(0,0,0,0,this.spatialReference)});M="esriImageServiceDataTypeVector-MagDir"===this.serviceDataType?[M.pixels[0][0],M.pixels[1][0]]:K.uvComponentToVector([M.pixels[0][0],M.pixels[1][0]]);B.attributes["Raster.Magnitude"]=M[0];B.attributes["Raster.Direction"]=M[1]}}_updateFeatureWithDomainValues(B){const M=
this.fields&&this.fields.filter(ba=>ba.domain&&"coded-value"===ba.domain.type);null!=M&&M.forEach(ba=>{const ea=B.attributes[ba.name];if(null!=ea){const la=ba.domain.codedValues.find(ja=>ja.code===ea);la&&(B.attributes[ba.name]=la.name)}})}_updateResponseFieldNames(B,M){if(M&&!(1>M.length)){var ba=this.fieldsIndex;null!=ba&&B.forEach(ea=>{if(ea?.attributes)for(const la of M){const ja=ba.get(la)?.name;ja&&ja!==la&&(ea.attributes[la]=ea.attributes[ja],delete ea.attributes[ja])}})}}_getRenderingRuleString(B){if(B){B=
B.toJSON();B=B.rasterFunctionDefinition??B;if(B.thumbnail||B.thumbnailEx)B.thumbnail=B.thumbnailEx=null;return JSON.stringify(B)}return null}_hasRasterFunction(B){return null!=B?.functionName&&"none"!==B.functionName.toLowerCase()}_updateRenderingRulesFunctionName(B,M){if(B&&!(1>B.length)){if("Raw"===B)return B.replace("Raw","None");var ba=B.toLowerCase().replaceAll(/ /gi,"_");return M.has(ba)?M.get(ba):B}}_isRFTJson(B){return B?.name&&B.arguments&&B.function&&B.hasOwnProperty("functionType")}_isVectorDataSet(){return"esriImageServiceDataTypeVector-UV"===
this.serviceDataType||"esriImageServiceDataTypeVector-MagDir"===this.serviceDataType}_applyMosaicAndRenderingRules(B){const {raster:M,mosaicRule:ba,rasterFunction:ea}=this;ea&&"rasterFunction"in B&&null==B.rasterFunction&&(B.rasterFunction=ea);ba&&null==B.mosaicRule&&(B.mosaicRule=ba);M&&null==B.raster&&(B.raster=M)}_readCapabilities(B){var M=B.capabilities?B.capabilities.toLowerCase().split(",").map(Fa=>Fa.trim()):["image","catalog"];const {currentVersion:ba,advancedQueryCapabilities:ea,maxRecordCount:la}=
B,ja=M.includes("image"),sa="esriImageServiceDataTypeElevation"===B.serviceDataType;var oa=!(!B.spatialReference&&!B.extent?.spatialReference);const va=M.includes("edit");oa=M.includes("mensuration")&&oa;const qa=null==B.mensurationCapabilities?[]:B.mensurationCapabilities.toLowerCase().split(",").map(Fa=>Fa.trim()),wa=oa&&qa.includes("basic"),Ba=this._isMosaicDataset(B)&&M.includes("catalog");M=M.includes("download");return{data:{supportsAttachment:!1},operations:{supportsComputeHistograms:ja,supportsExportImage:ja,
supportsIdentify:ja,supportsImageToMap:11.2<=ba&&Ba,supportsImageToMapMultiray:11.2<=ba&&Ba,supportsMapToImage:11.2<=ba&&Ba,supportsFindImages:11.2<=ba&&Ba,supportsGetImageUrl:11.3<=ba&&M,supportsMeasure:oa,supportsMeasureFromImage:11.2<=ba,supportsDownload:M,supportsQuery:Ba&&B.fields&&0<B.fields.length,supportsGetSamples:10.2<=ba&&ja,supportsProject:10.3<=ba&&ja,supportsComputeStatisticsHistograms:10.4<=ba&&ja,supportsQueryBoundary:10.6<=ba&&ja,supportsCalculateVolume:10.7<=ba&&sa,supportsComputePixelLocation:10.7<=
ba&&Ba,supportsComputeAngles:10.91<=ba,supportsQueryGPSInfo:11.2<=ba&&Ba,supportsAdd:va,supportsDelete:va,supportsEditing:va,supportsUpdate:va,supportsCalculate:!1,supportsTruncate:!1,supportsValidateSql:!1,supportsChangeTracking:!1,supportsQueryAttachments:!1,supportsResizeAttachments:!1,supportsSync:!1,supportsExceedsLimitStatistics:!1,supportsQueryAnalytics:!1,supportsQueryTopFeatures:!1,supportsAsyncConvert3D:!1},query:{maxRecordCount:la,maxRecordCountFactor:void 0,supportsStatistics:!!ea?.supportsStatistics,
supportsOrderBy:!!ea?.supportsOrderBy,supportsDistinct:!!ea?.supportsDistinct,supportsPagination:!!ea?.supportsPagination,supportsStandardizedQueriesOnly:!!ea?.useStandardizedQueries,supportsPercentileStatistics:!!ea?.supportsPercentileStatistics,supportsCentroid:!!ea?.supportsReturningGeometryCentroid,supportsDistance:!!ea?.supportsQueryWithDistance,supportsExtent:!!ea?.supportsReturningQueryExtent,supportsGeometryProperties:!!ea?.supportsReturningGeometryProperties,supportsHavingClause:!!ea?.supportsHavingClause,
supportsQuantization:!1,supportsQuantizationEditMode:!1,supportsQueryGeometry:!1,supportsResultType:!1,supportsMaxRecordCountFactor:!1,supportsSqlExpression:!1,supportsTopFeaturesQuery:!1,supportsQueryByAnonymous:!1,supportsQueryByOthers:!1,supportsHistoricMoment:!1,supportsFormatPBF:!1,supportsDisjointSpatialRelationship:!1,supportsCacheHint:!1,supportsSpatialAggregationStatistics:!1,supportedSpatialAggregationStatistics:{envelope:!1,centroid:!1,convexHull:!1},supportsDefaultSpatialReference:!!ea?.supportsDefaultSR,
supportsFullTextSearch:!1,supportsCompactGeometry:!1,standardMaxRecordCount:void 0,tileMaxRecordCount:void 0},mensuration:{supportsDistanceAndAngle:wa,supportsAreaAndPerimeter:wa,supportsPointOrCentroid:wa,supportsHeightFromBaseAndTop:oa&&qa.includes("base-top height"),supportsHeightFromBaseAndTopShadow:oa&&qa.includes("base-top shadow height"),supportsHeightFromTopAndTopShadow:oa&&qa.includes("top-top shadow height"),supports3D:oa&&qa.includes("3d")}}}};F.__decorate([f.property({clonable:!1})],ka.prototype,
"_functionRasterInfos",void 0);F.__decorate([f.property({clonable:!1})],ka.prototype,"_rasterJobHandler",void 0);F.__decorate([f.property({clonable:!1})],ka.prototype,"_cachedRendererJson",void 0);F.__decorate([f.property({readOnly:!0})],ka.prototype,"_serviceSupportsMosaicRule",void 0);F.__decorate([n.reader("_serviceSupportsMosaicRule",["currentVersion","fields"])],ka.prototype,"readServiceSupportsMosaicRule",null);F.__decorate([f.property({readOnly:!0})],ka.prototype,"_rasterAttributeTableFieldPrefix",
void 0);F.__decorate([f.property({readOnly:!0})],ka.prototype,"_rasterFunctionNamesIndex",null);F.__decorate([f.property()],ka.prototype,"adjustAspectRatio",void 0);F.__decorate([f.property({type:[g.Integer],json:{write:!0}})],ka.prototype,"bandIds",void 0);F.__decorate([n.reader("bandIds")],ka.prototype,"readBandIds",null);F.__decorate([f.property({readOnly:!0,json:{read:!1}})],ka.prototype,"capabilities",void 0);F.__decorate([n.reader("service","capabilities",["capabilities","currentVersion","serviceDataType"])],
ka.prototype,"readCapabilities",null);F.__decorate([f.property({type:Number})],ka.prototype,"compressionQuality",void 0);F.__decorate([D.writer("compressionQuality")],ka.prototype,"writeCompressionQuality",null);F.__decorate([f.property({type:Number})],ka.prototype,"compressionTolerance",void 0);F.__decorate([D.writer("compressionTolerance")],ka.prototype,"writeCompressionTolerance",null);F.__decorate([f.property({json:{read:{source:"copyrightText"}}})],ka.prototype,"copyright",void 0);F.__decorate([f.property({readOnly:!0,
dependsOn:["_serviceSupportsMosaicRule"]})],ka.prototype,"defaultMosaicRule",void 0);F.__decorate([n.reader("defaultMosaicRule",["defaultMosaicMethod"])],ka.prototype,"readDefaultMosaicRule",null);F.__decorate([f.property({type:String,json:{name:"layerDefinition.definitionExpression",write:{enabled:!0,allowNull:!0}}})],ka.prototype,"definitionExpression",void 0);F.__decorate([f.property({readOnly:!0,constructOnly:!0})],ka.prototype,"exportImageServiceParameters",void 0);F.__decorate([f.property()],
ka.prototype,"rasterInfo",void 0);F.__decorate([f.property({readOnly:!0,type:[e]})],ka.prototype,"fields",void 0);F.__decorate([f.property({readOnly:!0})],ka.prototype,"fieldsIndex",null);F.__decorate([f.property({type:"png png8 png24 png32 jpg bmp gif jpgpng lerc tiff bip bsq".split(" "),json:{write:!0}})],ka.prototype,"format",null);F.__decorate([n.reader("service","format",["serviceDataType"])],ka.prototype,"readFormat",null);F.__decorate([f.property({type:da})],ka.prototype,"fullExtent",void 0);
F.__decorate([f.property({readOnly:!0})],ka.prototype,"hasMultidimensions",void 0);F.__decorate([f.property({json:{read:{source:"maxImageHeight"}}})],ka.prototype,"imageMaxHeight",void 0);F.__decorate([f.property({json:{read:{source:"maxImageWidth"}}})],ka.prototype,"imageMaxWidth",void 0);F.__decorate([f.property({type:String,json:{type:p.interpolationKebab.jsonValues,read:p.interpolationKebab.read,write:p.interpolationKebab.write}})],ka.prototype,"interpolation",void 0);F.__decorate([f.property()],
ka.prototype,"minScale",void 0);F.__decorate([n.reader("service","minScale")],ka.prototype,"readMinScale",null);F.__decorate([f.property()],ka.prototype,"maxScale",void 0);F.__decorate([n.reader("service","maxScale")],ka.prototype,"readMaxScale",null);F.__decorate([f.property({type:m})],ka.prototype,"mosaicRule",null);F.__decorate([n.reader("mosaicRule",["mosaicRule","defaultMosaicMethod"])],ka.prototype,"readMosaicRule",null);F.__decorate([D.writer("mosaicRule")],ka.prototype,"writeMosaicRule",null);
F.__decorate([f.property()],ka.prototype,"multidimensionalInfo",void 0);F.__decorate([f.property({type:r,json:{write:!0}})],ka.prototype,"multidimensionalSubset",void 0);F.__decorate([f.property({json:{type:g.Integer}})],ka.prototype,"noData",void 0);F.__decorate([D.writer("noData")],ka.prototype,"writeNoData",null);F.__decorate([f.property({type:String,json:{type:p.noDataInterpretationKebab.jsonValues,read:p.noDataInterpretationKebab.read,write:p.noDataInterpretationKebab.write}})],ka.prototype,
"noDataInterpretation",void 0);F.__decorate([f.property({type:String,readOnly:!0,json:{read:{source:["fields"]}}})],ka.prototype,"objectIdField",void 0);F.__decorate([n.reader("objectIdField")],ka.prototype,"readObjectIdField",null);F.__decorate([f.property({readOnly:!0})],ka.prototype,"geometryType",void 0);F.__decorate([f.property({})],ka.prototype,"typeIdField",void 0);F.__decorate([f.property({})],ka.prototype,"types",void 0);F.__decorate([f.property({readOnly:!0})],ka.prototype,"parsedUrl",null);
F.__decorate([f.property({type:Function})],ka.prototype,"pixelFilter",void 0);F.__decorate([f.property()],ka.prototype,"raster",void 0);F.__decorate([f.property({readOnly:!0})],ka.prototype,"sourceType",void 0);F.__decorate([n.reader("sourceType",["serviceSourceType","fields"])],ka.prototype,"readSourceType",null);F.__decorate([f.property()],ka.prototype,"viewId",void 0);F.__decorate([f.property({types:x.rasterRendererTypes,json:{name:"layerDefinition.drawingInfo.renderer",origins:{"web-scene":{types:x.websceneRasterRendererTypes,
name:"layerDefinition.drawingInfo.renderer",write:{overridePolicy(B){return{enabled:B&&"vector-field"!==B.type&&"flow"!==B.type}}}}}}})],ka.prototype,"renderer",null);F.__decorate([n.reader("renderer")],ka.prototype,"readRenderer",null);F.__decorate([D.writer("renderer")],ka.prototype,"writeRenderer",null);F.__decorate([f.property({clonable:!1})],ka.prototype,"symbolizer",void 0);F.__decorate([f.property(t.opacity)],ka.prototype,"opacity",void 0);F.__decorate([f.property({readOnly:!0})],ka.prototype,
"rasterFields",null);F.__decorate([f.property({constructOnly:!0})],ka.prototype,"rasterFunctionInfos",void 0);F.__decorate([f.property({type:q})],ka.prototype,"renderingRule",null);F.__decorate([f.property({type:q,json:{name:"renderingRule"}})],ka.prototype,"rasterFunction",null);F.__decorate([n.reader("rasterFunction",["renderingRule","rasterFunctionInfos"])],ka.prototype,"readRasterFunction",null);F.__decorate([f.property({readOnly:!0})],ka.prototype,"serviceDataType",void 0);F.__decorate([f.property({readOnly:!0,
type:ua})],ka.prototype,"spatialReference",void 0);F.__decorate([n.reader("spatialReference",["spatialReference","extent"])],ka.prototype,"readSpatialReference",null);F.__decorate([f.property({json:{type:p.pixelTypeKebabDict.jsonValues}})],ka.prototype,"pixelType",void 0);F.__decorate([n.reader("pixelType")],ka.prototype,"readPixelType",null);F.__decorate([D.writer("pixelType")],ka.prototype,"writePixelType",null);F.__decorate([f.property({constructOnly:!0,type:y})],ka.prototype,"serviceRasterInfo",
void 0);F.__decorate([f.property()],ka.prototype,"sourceJSON",void 0);F.__decorate([f.property(t.url)],ka.prototype,"url",void 0);F.__decorate([f.property({readOnly:!0})],ka.prototype,"version",void 0);F.__decorate([n.reader("version",["currentVersion","fields","timeInfo"])],ka.prototype,"readVersion",null);return ka=F.__decorate([k.subclass("esri.layers.mixins.ArcGISImageService")],ka)};Object.defineProperty(C,Symbol.toStringTag,{value:"Module"})})},"esri/rasterRenderers":function(){define("exports ./core/Warning ./renderers/ClassBreaksRenderer ./renderers/FlowRenderer ./renderers/RasterColormapRenderer ./renderers/RasterShadedReliefRenderer ./renderers/RasterStretchRenderer ./renderers/UniqueValueRenderer ./renderers/VectorFieldRenderer".split(" "),
function(C,F,N,I,x,S,X,Y,L){function R(g,n){if(!g)return null;if("classBreaks"===g.type&&g.classificationMethod){var k=g.authoringInfo||{classificationMethod:""};k.classificationMethod=g.classificationMethod;g.authoringInfo=k}"vectorField"===g.type&&g.visualVariables&&!Array.isArray(g.visualVariables)&&(g.visualVariables=[g.visualVariables]);k=g?f[g.type]||null:null;if(k)return k=new k,k.read(g,n),k;n?.messages&&g&&n.messages.push(new F("renderer:unsupported","Renderers of type '"+(g.type||"unknown")+
"' are not supported",{definition:g,context:n}));return null}const Q={key:"type",base:null,typeMap:{"unique-value":Y,"class-breaks":N,"raster-colormap":x,"raster-stretch":X,"vector-field":L,"raster-shaded-relief":S,flow:I}},h={...Q,typeMap:{...Q.typeMap}};delete h.typeMap["vector-field"];delete h.typeMap.flow;const f={uniqueValue:Y,classBreaks:N,rasterStretch:X,rasterColormap:x,vectorField:L,rasterShadedRelief:S,flowRenderer:I};C.ClassBreaksRenderer=N;C.FlowRenderer=I;C.RasterColormapRenderer=x;C.RasterShadedReliefRenderer=
S;C.RasterStretchRenderer=X;C.UniqueValueRenderer=Y;C.VectorFieldRenderer=L;C.fromJSON=function(g,n){return R(g,n)};C.rasterRendererTypes=Q;C.read=R;C.websceneRasterRendererTypes=h;Object.defineProperty(C,Symbol.toStringTag,{value:"Module"})})},"esri/renderers/FlowRenderer":function(){define("../chunks/tslib.es6 ../Color ../core/jsonMap ../core/JSONSupport ../core/screenUtils ../core/accessorSupport/decorators/property ../core/has ../core/Logger ../core/RandomLCG ../core/accessorSupport/decorators/enumeration ../core/accessorSupport/decorators/subclass ./mixins/VisualVariablesMixin ./support/AuthoringInfo ./support/LegendOptions".split(" "),
function(C,F,N,I,x,S,X,Y,L,R,Q,h,f,g){var n;N=new N.JSONMap({flow_from:"flow-from",flow_to:"flow-to"});I=n=class extends h.VisualVariablesMixin(I.JSONSupport){constructor(k){super(k);this.density=.8;this.color=new F([255,255,255,1]);this.maxPathLength=200;this.trailWidth=1.5;this.flowSpeed=10;this.trailLength=100;this.smoothing=0;this.flowRepresentation="flow-from";this.type="flow";this.legendOptions=this.authoringInfo=null;this.trailCap="butt";this.background="none"}clone(){const {density:k,maxPathLength:D,
trailWidth:v,flowSpeed:t,trailLength:a,smoothing:d,flowRepresentation:e,trailCap:l,background:c}=this,b=this.color.clone(),m=(this.visualVariables||[]).map(p=>p.clone()),r=this.authoringInfo?.clone(),u=this.legendOptions?.clone();return new n({density:k,color:b,maxPathLength:D,trailWidth:v,flowSpeed:t,trailLength:a,trailCap:l,background:c,smoothing:d,flowRepresentation:e,visualVariables:m,authoringInfo:r,legendOptions:u})}getSymbol(k,D){}async getSymbolAsync(k,D){}getSymbols(){return[]}};C.__decorate([S.property({type:Number,
json:{write:!0}})],I.prototype,"density",void 0);C.__decorate([S.property({type:F,json:{write:{allowNull:!0}}})],I.prototype,"color",void 0);C.__decorate([S.property({type:Number,cast:x.toPt,json:{write:!0}})],I.prototype,"maxPathLength",void 0);C.__decorate([S.property({type:Number,cast:x.toPt,json:{write:!0}})],I.prototype,"trailWidth",void 0);C.__decorate([S.property({type:Number,json:{write:!0}})],I.prototype,"flowSpeed",void 0);C.__decorate([S.property({type:Number,json:{write:!0}})],I.prototype,
"trailLength",void 0);C.__decorate([S.property({type:Number,cast:x.toPt,json:{write:!1}})],I.prototype,"smoothing",void 0);C.__decorate([S.property({type:N.apiValues,json:{type:N.jsonValues,read:{reader:N.read},write:{writer:N.write}}})],I.prototype,"flowRepresentation",void 0);C.__decorate([R.enumeration({flowRenderer:"flow"})],I.prototype,"type",void 0);C.__decorate([S.property({type:f,json:{write:!0}})],I.prototype,"authoringInfo",void 0);C.__decorate([S.property({type:g.LegendOptions,json:{write:!0}})],
I.prototype,"legendOptions",void 0);C.__decorate([S.property({type:String,json:{write:!0}})],I.prototype,"trailCap",void 0);C.__decorate([S.property({type:String,json:{write:!0}})],I.prototype,"background",void 0);return I=n=C.__decorate([Q.subclass("esri.renderers.FlowRenderer")],I)})},"esri/renderers/RasterColormapRenderer":function(){define("../chunks/tslib.es6 ../core/JSONSupport ../core/accessorSupport/decorators/property ../core/has ../core/Logger ../core/RandomLCG ../core/accessorSupport/decorators/enumeration ../core/accessorSupport/decorators/subclass ./support/ColormapInfo ./support/colorRampUtils".split(" "),
function(C,F,N,I,x,S,X,Y,L,R){var Q;F=Q=class extends F.JSONSupport{constructor(h){super(h);this.colormapInfos=null;this.type="raster-colormap"}static createFromColormap(h,f){if(!h)return null;const g=5===h[0].length;h=[...h].sort((n,k)=>n[0]-k[0]).map(n=>L.fromJSON({value:n[0],color:g?n.slice(1,5):n.slice(1,4).concat([255]),label:f?f[n[0]]??"":n[0]}));return new Q({colormapInfos:h})}static createFromColorramp(h){h=R.convertColorRampToColormap(h);return Q.createFromColormap(h)}clone(){return new Q({colormapInfos:this.colormapInfos.map(h=>
h.toJSON())})}extractColormap(){return this.colormapInfos.map(({value:h,color:f})=>[h,f.r,f.g,f.b,1<f.a?f.a:255*f.a&255]).sort((h,f)=>h[0]-f[0])}};C.__decorate([N.property({type:[L],json:{write:!0}})],F.prototype,"colormapInfos",void 0);C.__decorate([X.enumeration({rasterColormap:"raster-colormap"})],F.prototype,"type",void 0);return F=Q=C.__decorate([Y.subclass("esri.renderers.RasterColormapRenderer")],F)})},"esri/renderers/support/ColormapInfo":function(){define("../../chunks/tslib.es6 ../../Color ../../core/JSONSupport ../../core/accessorSupport/decorators/property ../../core/accessorSupport/ensureType ../../core/RandomLCG ../../core/has ../../core/accessorSupport/decorators/subclass".split(" "),
function(C,F,N,I,x,S,X,Y){N=class extends N.JSONSupport{constructor(){super(...arguments);this.color=this.label=this.value=null}};C.__decorate([I.property({type:Number,json:{write:!0}})],N.prototype,"value",void 0);C.__decorate([I.property({type:String,json:{write:!0}})],N.prototype,"label",void 0);C.__decorate([I.property({type:F,json:{type:[x.Integer],write:!0}})],N.prototype,"color",void 0);return N=C.__decorate([Y.subclass("esri.renderers.support.ColormapInfo")],N)})},"esri/renderers/support/colorRampUtils":function(){define(["exports",
"../../Color","../../core/colorUtils","../../core/jsonMap","../../core/JSONSupport"],function(C,F,N,I,x){function S(a,d){if(!a||!d||a.length!==d.length)return!1;for(let e=0;e<a.length;e++)if(a[e]>d[e]+2||a[e]<d[e]-2)return!1;return!0}function X(a){const d=a.clone();d.fromColor=a.toColor;d.toColor=a.fromColor;d.algorithm=a.algorithm;return d}function Y(a){if("multipart"===a.type){a=a.clone();if(!a.colorRamps?.length)return a;a.colorRamps=a.colorRamps.reverse().map(d=>X(d));return a}return X(a)}function L(a,
d){if(a){d=d??v;var e=null;"algorithmic"===a.type?d.some(l=>{if(S(a.fromColor.toRgb(),l.fromColor)&&S(a.toColor.toRgb(),l.toColor))return e=l.id,!0}):"multipart"===a.type&&d.some(l=>{const c=a.colorRamps,b=l.colorRamps;if(c&&b&&c.length===b.length&&!b.some((m,r)=>{if(!S(c[r].fromColor.toRgb(),(new F(m.fromColor)).toRgb())||!S(c[r].toColor.toRgb(),(new F(m.toColor)).toRgb()))return!0})){if(e)return!0;e=l.id}});return e}}function R(a,d,e=!1){if(a){var l=!1,c=L(a,d);null!=c||e||(l=!0,a=Y(a),c=L(a,d));
return c?{id:c,inverted:l}:void 0}}function Q(a,d=!1){return(a="string"===typeof a?a:R(a,void 0,d)?.id)?t.toJSON(a):null}function h(a){a=a||{};const d=a.numColors||256;return{...a,numColors:d,distanceOffset:a.distanceOffset||0,interpolateAlpha:!!a.interpolateAlpha,distanceInterval:a.distanceInterval||1/(d-1),isCustomInterval:null!=a.isCustomInterval?a.isCustomInterval:null!==a.distanceInterval&&a.distanceInterval!==1/(d-1),weights:a.weights}}function f(a,d){let {fromColor:e,toColor:l}=a;e=[...e];
l=[...l];3===e.length&&(e=e.concat([255]));3===l.length&&(l=l.concat([255]));a=a.algorithm||"esriCIELabAlgorithm";var c=h(d);const {numColors:b,distanceOffset:m,isCustomInterval:r,interpolateAlpha:u}=c;if(1===b&&0===m)return[e];if(2===b&&0===m&&!r)return[e,l];var p={r:e[0],g:e[1],b:e[2]};d={r:l[0],g:l[1],b:l[2]};if("esriCIELabAlgorithm"===a){a=N.toLAB(p);d=N.toLAB(d);const {numColors:H,distanceOffset:E,distanceInterval:K,isCustomInterval:w}=c;let {l:A,a:G,b:P}=a;a=(d.l-A)*K;p=(d.a-G)*K;c=(d.b-P)*
K;var q=[];if(E){var y=E/K;A+=y*a;G+=y*p;P+=y*c}for(y=0;y<H-1;y++)q.push({l:A,a:G,b:P}),A+=a,G+=p,P+=c;q.push(w?{l:A,a:G,b:P}:d);d=q}else if("esriHSVAlgorithm"===a){a=N.toHSV(p);d=N.toHSV(d);const {numColors:H,distanceOffset:E,distanceInterval:K,isCustomInterval:w}=c;q=0===a.s;y=0===d.s;p=a.h;c=d.h;q&&!y?p=c:y&&!q&&(d={...d,h:p},c=p);q=Math.abs(c-p);180>q?c=(c-p)*K:(q=360-q,c=p>c?q*K:-q*K);q=(d.s-a.s)*K;y=(d.v-a.v)*K;let {s:A,v:G}=a;a=p;E&&(p=E/K,a=(a+p*c+360)%360,A+=p*q,G+=p*y);p=[];for(var z=0;z<
H-1;z++)p.push({h:a,s:A,v:G}),a=(a+c+360)%360,A+=q,G+=y;p.push(w?{h:a,s:A,v:G}:d);d=p}else{p=N.toLCH(p);d=N.toLCH(d);const {numColors:H,distanceOffset:E,distanceInterval:K,isCustomInterval:w}=c;c=p.h;q=d.h;a=2*Math.PI;c<=q?(y=q-c,c=q-c-a,c=Math.abs(c)<Math.abs(y)?c:y):(y=q+a-c,c=q-c,c=Math.abs(c)<Math.abs(y)?c:y);c*=K;q=(d.l-p.l)*K;y=(d.c-p.c)*K;let {l:A,c:G,h:P}=p;E&&(p=E/K,A+=p*q,G+=p*y,P=(P+p*c+a)%a);p=[];for(z=0;z<H-1;z++)p.push({l:A,c:G,h:P}),A+=q,G+=y,P=(P+c+a)%a;p.push(w?{l:A,c:G,h:P}:d);d=
p}a=[];p=e[3]??255;c=((l[3]??255)-p)/(b-1);for(q=0;q<b;q++){const {r:H,g:E,b:K}=N.toRGB(d[q]);a.push([H,E,K,u?Math.round(p+c*q):255])}return a}function g(a,d){const {numColors:e,interpolateAlpha:l}=h(d);d=d?.weights;({colorRamps:a}=a);if(d){const q=d.reduce((y,z)=>y+z);d=d.map(y=>y/q)}else{d=[];for(var c=0;c<a.length;c++)d[c]=1/a.length}c=[];const b=1/(e-1);let m=0,r=!1;for(let q=0;q<a.length;q++){var u=c.length,p=r?0:u*b-m;m+=d[q];u=q===a.length-1?e-1-u:(d[q]-p)/b;r=Math.ceil(u)===u;u=Math.ceil(u);
0!==u&&(p=f(a[q],{numColors:u,interpolateAlpha:l,distanceOffset:p/d[q],distanceInterval:b/d[q]}),c.push(...p))}d=[...a[a.length-1].toColor];3===d.length&&d.push(255);c.push(d);return c}function n(a,d){a=x.isSerializable(a)?a.toJSON():a;return"multipart"===a.type?g(a,d):f(a,d)}function k(a){a=N.toHSV(a);return{type:"HsvColor",Hue:a.h,Saturation:a.s,Value:a.v,AlphaValue:255}}function D(a){return{Algorithm:a.toJSON()?.Algorithm||"esriHSVAlgorithm",type:"AlgorithmicColorRamp",FromColor:k(a.fromColor),
ToColor:k(a.toColor)}}const v=[{id:"aspect",type:"multipart",colorRamps:[{fromColor:[190,190,190],toColor:[255,45,8]},{fromColor:[255,45,8],toColor:[255,181,61]},{fromColor:[255,181,61],toColor:[255,254,52]},{fromColor:[255,254,52],toColor:[0,251,50]},{fromColor:[0,251,50],toColor:[255,254,52]},{fromColor:[0,253,255],toColor:[0,181,255]},{fromColor:[0,181,255],toColor:[26,35,253]},{fromColor:[26,35,253],toColor:[255,57,251]},{fromColor:[255,57,251],toColor:[255,45,8]}]},{id:"black-to-white",fromColor:[0,
0,0],toColor:[255,255,255]},{id:"blue-bright",fromColor:[204,204,255],toColor:[0,0,224]},{id:"blue-light-to-dark",fromColor:[211,229,232],toColor:[46,100,140]},{id:"blue-green-bright",fromColor:[203,245,234],toColor:[48,207,146]},{id:"blue-green-light-to-dark",fromColor:[216,242,237],toColor:[21,79,74]},{id:"brown-light-to-dark",fromColor:[240,236,170],toColor:[102,72,48]},{id:"brown-to-blue-green-diverging-right",type:"multipart",colorRamps:[{fromColor:[156,85,31],toColor:[255,255,191]},{fromColor:[255,
255,191],toColor:[33,130,145]}]},{id:"brown-to-blue-green-diverging-dark",type:"multipart",colorRamps:[{fromColor:[110,70,45],toColor:[204,204,102]},{fromColor:[204,204,102],toColor:[48,100,102]}]},{id:"coefficient-bias",fromColor:[214,214,255],toColor:[0,57,148]},{id:"cold-to-hot-diverging",type:"multipart",colorRamps:[{fromColor:[69,117,181],toColor:[255,255,191]},{fromColor:[255,255,191],toColor:[214,47,39]}]},{id:"condition-number",type:"multipart",colorRamps:[{fromColor:[0,97,0],toColor:[255,
255,0]},{fromColor:[255,255,0],toColor:[255,34,0]}]},{id:"cyan-to-purple",type:"multipart",colorRamps:[{fromColor:[0,245,245],toColor:[0,0,245]},{fromColor:[0,0,245],toColor:[245,0,245]}]},{id:"cyan-light-to-blue-dark",type:"multipart",colorRamps:[{fromColor:[182,237,240],toColor:[31,131,224]},{fromColor:[31,131,224],toColor:[9,9,145]}]},{id:"distance",fromColor:[255,200,0],toColor:[0,0,255]},{id:"elevation1",type:"multipart",colorRamps:[{fromColor:[175,240,233],toColor:[255,255,179]},{fromColor:[255,
255,179],toColor:[0,128,64]},{fromColor:[0,128,64],toColor:[252,186,3]},{fromColor:[252,186,3],toColor:[128,0,0]},{fromColor:[120,0,0],toColor:[105,48,13]},{fromColor:[105,48,13],toColor:[171,171,171]},{fromColor:[171,171,171],toColor:[255,252,255]}]},{id:"elevation2",type:"multipart",colorRamps:[{fromColor:[118,219,211],toColor:[255,255,199]},{fromColor:[255,255,199],toColor:[255,255,128]},{fromColor:[255,255,128],toColor:[217,194,121]},{fromColor:[217,194,121],toColor:[135,96,38]},{fromColor:[135,
96,38],toColor:[150,150,181]},{fromColor:[150,150,181],toColor:[181,150,181]},{fromColor:[181,150,181],toColor:[255,252,255]}]},{id:"errors",fromColor:[255,235,214],toColor:[196,10,10]},{id:"gray-light-to-dark",fromColor:[219,219,219],toColor:[69,69,69]},{id:"green-bright",fromColor:[204,255,204],toColor:[14,204,14]},{id:"green-light-to-dark",fromColor:[220,245,233],toColor:[34,102,51]},{id:"green-to-blue",type:"multipart",colorRamps:[{fromColor:[32,204,16],toColor:[0,242,242]},{fromColor:[0,242,
242],toColor:[2,33,227]}]},{id:"orange-bright",fromColor:[255,235,204],toColor:[240,118,5]},{id:"orange-light-to-dark",fromColor:[250,233,212],toColor:[171,65,36]},{id:"partial-spectrum",type:"multipart",colorRamps:[{fromColor:[242,241,162],toColor:[255,255,0]},{fromColor:[255,255,0],toColor:[255,0,0]},{fromColor:[252,3,69],toColor:[176,7,237]},{fromColor:[176,7,237],toColor:[2,29,173]}]},{id:"partial-spectrum-1-diverging",type:"multipart",colorRamps:[{fromColor:[135,38,38],toColor:[240,149,12]},
{fromColor:[240,149,12],toColor:[255,255,191]},{fromColor:[255,255,191],toColor:[74,80,181]},{fromColor:[74,80,181],toColor:[39,32,122]}]},{id:"partial-spectrum-2-diverging",type:"multipart",colorRamps:[{fromColor:[115,77,42],toColor:[201,137,52]},{fromColor:[201,137,52],toColor:[255,255,191]},{fromColor:[255,255,191],toColor:[91,63,176]},{fromColor:[91,63,176],toColor:[81,13,97]}]},{id:"pink-to-yellow-green-diverging-bright",type:"multipart",colorRamps:[{fromColor:[158,30,113],toColor:[255,255,191]},
{fromColor:[255,255,191],toColor:[99,110,45]}]},{id:"pink-to-yellow-green-diverging-dark",type:"multipart",colorRamps:[{fromColor:[97,47,73],toColor:[204,204,102]},{fromColor:[204,204,102],toColor:[22,59,15]}]},{id:"precipitation",type:"multipart",colorRamps:[{fromColor:[194,82,60],toColor:[237,161,19]},{fromColor:[237,161,19],toColor:[255,255,0]},{fromColor:[255,255,0],toColor:[0,219,0]},{fromColor:[0,219,0],toColor:[32,153,143]},{fromColor:[32,153,143],toColor:[11,44,122]}]},{id:"prediction",type:"multipart",
colorRamps:[{fromColor:[40,146,199],toColor:[250,250,100]},{fromColor:[250,250,100],toColor:[232,16,20]}]},{id:"purple-bright",fromColor:[255,204,255],toColor:[199,0,199]},{id:"purple-to-green-diverging-bright",type:"multipart",colorRamps:[{fromColor:[77,32,150],toColor:[255,255,191]},{fromColor:[255,255,191],toColor:[20,122,11]}]},{id:"purple-to-green-diverging-dark",type:"multipart",colorRamps:[{fromColor:[67,14,89],toColor:[204,204,102]},{fromColor:[204,204,102],toColor:[24,79,15]}]},{id:"purple-blue-bright",
fromColor:[223,184,230],toColor:[112,12,242]},{id:"purple-blue-light-to-dark",fromColor:[229,213,242],toColor:[93,44,112]},{id:"purple-red-bright",fromColor:[255,204,225],toColor:[199,0,99]},{id:"purple-red-light-to-dark",fromColor:[250,215,246],toColor:[143,17,57]},{id:"red-bright",fromColor:[255,204,204],toColor:[219,0,0]},{id:"red-light-to-dark",fromColor:[255,224,224],toColor:[143,10,10]},{id:"red-to-blue-diverging-bright",type:"multipart",colorRamps:[{fromColor:[196,69,57],toColor:[255,255,191]},
{fromColor:[255,255,191],toColor:[48,95,207]}]},{id:"red-to-blue-diverging-dark",type:"multipart",colorRamps:[{fromColor:[107,13,13],toColor:[204,204,102]},{fromColor:[204,204,102],toColor:[13,53,97]}]},{id:"red-to-green",type:"multipart",colorRamps:[{fromColor:[245,0,0],toColor:[245,245,0]},{fromColor:[245,245,0],toColor:[0,245,0]}]},{id:"red-to-green-diverging-bright",type:"multipart",colorRamps:[{fromColor:[186,20,20],toColor:[255,255,191]},{fromColor:[255,255,191],toColor:[54,145,33]}]},{id:"red-to-green-diverging-dark",
type:"multipart",colorRamps:[{fromColor:[97,21,13],toColor:[204,204,102]},{fromColor:[204,204,102],toColor:[16,69,16]}]},{id:"slope",type:"multipart",colorRamps:[{fromColor:[56,168,0],toColor:[255,255,0]},{fromColor:[255,255,0],toColor:[255,0,0]}]},{id:"spectrum-full-bright",type:"multipart",colorRamps:[{fromColor:[255,0,0],toColor:[255,255,0]},{fromColor:[255,255,0],toColor:[0,255,255]},{fromColor:[0,255,255],toColor:[0,0,255]}]},{id:"spectrum-full-dark",type:"multipart",colorRamps:[{fromColor:[153,
0,0],toColor:[153,153,0]},{fromColor:[153,153,0],toColor:[0,153,153]},{fromColor:[0,153,153],toColor:[0,0,153]}]},{id:"spectrum-full-light",type:"multipart",colorRamps:[{fromColor:[255,153,153],toColor:[255,255,153]},{fromColor:[255,255,153],toColor:[153,255,255]},{fromColor:[153,255,255],toColor:[153,153,255]}]},{id:"surface",type:"multipart",colorRamps:[{fromColor:[112,153,89],toColor:[242,238,162]},{fromColor:[242,238,162],toColor:[242,206,133]},{fromColor:[242,206,133],toColor:[194,140,124]},
{fromColor:[194,140,124],toColor:[255,242,255]}]},{id:"temperature",type:"multipart",colorRamps:[{fromColor:[255,252,255],toColor:[255,0,255]},{fromColor:[255,0,255],toColor:[0,0,255]},{fromColor:[0,0,255],toColor:[0,255,255]},{fromColor:[0,255,255],toColor:[0,255,0]},{fromColor:[0,255,0],toColor:[255,255,0]},{fromColor:[255,255,0],toColor:[255,128,0]},{fromColor:[255,128,0],toColor:[128,0,0]}]},{id:"white-to-black",fromColor:[255,255,255],toColor:[0,0,0]},{id:"yellow-to-dark-red",type:"multipart",
colorRamps:[{fromColor:[255,255,128],toColor:[242,167,46]},{fromColor:[242,167,46],toColor:[107,0,0]}]},{id:"yellow-to-green-to-dark-blue",type:"multipart",colorRamps:[{fromColor:[255,255,128],toColor:[56,224,9]},{fromColor:[56,224,9],toColor:[26,147,171]},{fromColor:[26,147,171],toColor:[12,16,120]}]},{id:"yellow-to-red",fromColor:[245,245,0],toColor:[255,0,0]},{id:"yellow-green-bright",fromColor:[236,252,204],toColor:[157,204,16]},{id:"yellow-green-light-to-dark",fromColor:[215,240,175],toColor:[96,
107,45]}],t=new I.JSONMap({Aspect:"aspect","Black to White":"black-to-white","Blue Bright":"blue-bright","Blue Light to Dark":"blue-light-to-dark","Blue-Green Bright":"blue-green-bright","Blue-Green Light to Dark":"blue-green-light-to-dark","Brown Light to Dark":"brown-light-to-dark","Brown to Blue Green Diverging, Bright":"brown-to-blue-green-diverging-right","Brown to Blue Green Diverging, Dark":"brown-to-blue-green-diverging-dark","Coefficient Bias":"coefficient-bias","Cold to Hot Diverging":"cold-to-hot-diverging",
"Condition Number":"condition-number","Cyan to Purple":"cyan-to-purple","Cyan-Light to Blue-Dark":"cyan-light-to-blue-dark",Distance:"distance","Elevation #1":"elevation1","Elevation #2":"elevation2",Errors:"errors","Gray Light to Dark":"gray-light-to-dark","Green Bright":"green-bright","Green Light to Dark":"green-light-to-dark","Green to Blue":"green-to-blue","Orange Bright":"orange-bright","Orange Light to Dark":"orange-light-to-dark","Partial Spectrum":"partial-spectrum","Partial Spectrum 1 Diverging":"partial-spectrum-1-diverging",
"Partial Spectrum 2 Diverging":"partial-spectrum-2-diverging","Pink to YellowGreen Diverging, Bright":"pink-to-yellow-green-diverging-bright","Pink to YellowGreen Diverging, Dark":"pink-to-yellow-green-diverging-dark",Precipitation:"precipitation",Prediction:"prediction","Purple Bright":"purple-bright","Purple to Green Diverging, Bright":"purple-to-green-diverging-bright","Purple to Green Diverging, Dark":"purple-to-green-diverging-dark","Purple-Blue Bright":"purple-blue-bright","Purple-Blue Light to Dark":"purple-blue-light-to-dark",
"Purple-Red Bright":"purple-red-bright","Purple-Red Light to Dark":"purple-red-light-to-dark","Red Bright":"red-bright","Red Light to Dark":"red-light-to-dark","Red to Blue Diverging, Bright":"red-to-blue-diverging-bright","Red to Blue Diverging, Dark":"red-to-blue-diverging-dark","Red to Green":"red-to-green","Red to Green Diverging, Bright":"red-to-green-diverging-bright","Red to Green Diverging, Dark":"red-to-green-diverging-dark",Slope:"slope","Spectrum-Full Bright":"spectrum-full-bright","Spectrum-Full Dark":"spectrum-full-dark",
"Spectrum-Full Light":"spectrum-full-light",Surface:"surface",Temperature:"temperature","White to Black":"white-to-black","Yellow to Dark Red":"yellow-to-dark-red","Yellow to Green to Dark Blue":"yellow-to-green-to-dark-blue","Yellow to Red":"yellow-to-red","Yellow-Green Bright":"yellow-green-bright","Yellow-Green Light to Dark":"yellow-green-light-to-dark"});C.colorRampDict=t;C.convertColorRampToColormap=function(a,d){a=n(a,d);const e=d?.interpolateAlpha;a.forEach((l,c)=>{l.unshift(c);e||l.pop()});
return a};C.convertColorRampToColors=n;C.convertRGBATo32Bit=function(a){a=a.reverse().map(d=>{d=d.toString(16);return 2>d.length?"0"+d:d});return 4294967295&Number.parseInt(a.join(""),16)};C.getColorRampId=R;C.getColorRampJSON=function(a,d="esriCIELabAlgorithm"){const e=v.find(({id:l})=>l===a);return e?e.colorRamps?{type:"multipart",colorRamps:e.colorRamps.map(l=>({type:"algorithmic",algorithm:d,fromColor:[...l.fromColor],toColor:[...l.toColor]}))}:{type:"algorithmic",algorithm:d,fromColor:[...e.fromColor],
toColor:[...e.toColor]}:null};C.getColorRampName=Q;C.getRFxArgColorRampValue=function(a){const d=Q(a);return d?"algorithmic"===a.type?{...D(a),Name:d}:a.colorRamps?(a=a.colorRamps.map(D),{type:"MultiPartColorRamp",NumColorRamps:a.length,ArrayOfColorRamp:a,Name:d}):null:null};C.predefinedJsonColorRamps=v;C.rasterColormapNames="random ndvi ndvi2 ndvi3 elevation gray hillshade".split(" ");Object.defineProperty(C,Symbol.toStringTag,{value:"Module"})})},"esri/renderers/RasterShadedReliefRenderer":function(){define("../chunks/tslib.es6 ../core/JSONSupport ../core/lang ../core/accessorSupport/decorators/property ../core/has ../core/Logger ../core/accessorSupport/decorators/enumeration ../core/accessorSupport/decorators/reader ../core/accessorSupport/decorators/subclass ../rest/support/colorRamps".split(" "),
function(C,F,N,I,x,S,X,Y,L,R){var Q;F=Q=class extends F.JSONSupport{constructor(h){super(h);this.altitude=45;this.azimuth=315;this.colorRamp=null;this.hillshadeType="traditional";this.pixelSizePower=.664;this.pixelSizeFactor=.024;this.scalingType="none";this.type="raster-shaded-relief";this.zFactor=1}readColorRamp(h){return R.fromJSON(h)}clone(){return new Q({hillshadeType:this.hillshadeType,altitude:this.altitude,azimuth:this.azimuth,zFactor:this.zFactor,scalingType:this.scalingType,pixelSizeFactor:this.pixelSizeFactor,
pixelSizePower:this.pixelSizePower,colorRamp:N.clone(this.colorRamp)})}};C.__decorate([I.property({type:Number,json:{write:!0}})],F.prototype,"altitude",void 0);C.__decorate([I.property({type:Number,json:{write:!0}})],F.prototype,"azimuth",void 0);C.__decorate([I.property({types:R.types,json:{write:!0}})],F.prototype,"colorRamp",void 0);C.__decorate([Y.reader("colorRamp")],F.prototype,"readColorRamp",null);C.__decorate([I.property({type:["traditional","multi-directional"],json:{write:!0}})],F.prototype,
"hillshadeType",void 0);C.__decorate([I.property({type:Number,json:{write:!0}})],F.prototype,"pixelSizePower",void 0);C.__decorate([I.property({type:Number,json:{write:!0}})],F.prototype,"pixelSizeFactor",void 0);C.__decorate([I.property({type:["none","adjusted"],json:{write:!0}})],F.prototype,"scalingType",void 0);C.__decorate([X.enumeration({rasterShadedRelief:"raster-shaded-relief"})],F.prototype,"type",void 0);C.__decorate([I.property({type:Number,json:{write:!0}})],F.prototype,"zFactor",void 0);
return F=Q=C.__decorate([L.subclass("esri.renderers.RasterShadedReliefRenderer")],F)})},"esri/renderers/RasterStretchRenderer":function(){define("../chunks/tslib.es6 ../core/JSONSupport ../core/lang ../core/accessorSupport/decorators/property ../core/has ../core/Logger ../core/accessorSupport/decorators/enumeration ../core/accessorSupport/decorators/reader ../core/accessorSupport/decorators/subclass ../core/accessorSupport/decorators/writer ./support/stretchRendererUtils ../rest/support/colorRamps".split(" "),
function(C,F,N,I,x,S,X,Y,L,R,Q,h){var f;F=f=class extends F.JSONSupport{constructor(g){super(g);this.colorRamp=null;this.dynamicRangeAdjustment=this.computeGamma=!1;this.gamma=[];this.sigmoidStrengthLevel=this.outputMin=this.outputMax=this.numberOfStandardDeviations=this.minPercent=this.maxPercent=null;this.statistics=[];this.histograms=null;this.useGamma=!1;this.stretchType="none";this.type="raster-stretch"}readColorRamp(g){if(g)return h.fromJSON(g)}writeStatistics(g,n,k){g?.length&&(Array.isArray(g[0])||
(g=g.map(D=>[D.min,D.max,D.avg,D.stddev])),n[k]=g)}readStretchType(g,n){g=n.stretchType;"number"===typeof g&&(g=Q.stretchTypeFunctionEnum[g]);return Q.stretchTypeJSONDict.read(g)}clone(){return new f({stretchType:this.stretchType,outputMin:this.outputMin,outputMax:this.outputMax,useGamma:this.useGamma,computeGamma:this.computeGamma,statistics:N.clone(this.statistics),gamma:N.clone(this.gamma),sigmoidStrengthLevel:this.sigmoidStrengthLevel,numberOfStandardDeviations:this.numberOfStandardDeviations,
minPercent:this.minPercent,maxPercent:this.maxPercent,colorRamp:N.clone(this.colorRamp),histograms:N.clone(this.histograms),dynamicRangeAdjustment:this.dynamicRangeAdjustment})}};C.__decorate([I.property({types:h.types,json:{write:!0}})],F.prototype,"colorRamp",void 0);C.__decorate([Y.reader("colorRamp")],F.prototype,"readColorRamp",null);C.__decorate([I.property({type:Boolean,json:{write:!0}})],F.prototype,"computeGamma",void 0);C.__decorate([I.property({type:Boolean,json:{write:{target:"dra"},read:{source:"dra"}}})],
F.prototype,"dynamicRangeAdjustment",void 0);C.__decorate([I.property({type:[Number],json:{write:!0}})],F.prototype,"gamma",void 0);C.__decorate([I.property({type:Number,json:{write:!0}})],F.prototype,"maxPercent",void 0);C.__decorate([I.property({type:Number,json:{write:!0}})],F.prototype,"minPercent",void 0);C.__decorate([I.property({type:Number,json:{write:!0}})],F.prototype,"numberOfStandardDeviations",void 0);C.__decorate([I.property({type:Number,json:{read:{source:"max"},write:{target:"max"}}})],
F.prototype,"outputMax",void 0);C.__decorate([I.property({type:Number,json:{read:{source:"min"},write:{target:"min"}}})],F.prototype,"outputMin",void 0);C.__decorate([I.property({type:Number,json:{write:!0}})],F.prototype,"sigmoidStrengthLevel",void 0);C.__decorate([I.property({json:{type:[[Number]],write:!0}})],F.prototype,"statistics",void 0);C.__decorate([I.property()],F.prototype,"histograms",void 0);C.__decorate([R.writer("statistics")],F.prototype,"writeStatistics",null);C.__decorate([I.property({type:Boolean,
json:{write:!0}})],F.prototype,"useGamma",void 0);C.__decorate([I.property({type:Q.stretchTypeJSONDict.apiValues,json:{type:Q.stretchTypeJSONDict.jsonValues,write:Q.stretchTypeJSONDict.write}})],F.prototype,"stretchType",void 0);C.__decorate([Y.reader("stretchType",["stretchType"])],F.prototype,"readStretchType",null);C.__decorate([X.enumeration({rasterStretch:"raster-stretch"})],F.prototype,"type",void 0);return F=f=C.__decorate([L.subclass("esri.renderers.RasterStretchRenderer")],F)})},"esri/renderers/support/stretchRendererUtils":function(){define(["exports",
"../../core/jsonMap"],function(C,F){F=new F.JSONMap({none:"none",standardDeviation:"standard-deviation",histogramEqualization:"histogram-equalization",minMax:"min-max",percentClip:"percent-clip",sigmoid:"sigmoid"});C.stretchTypeFunctionEnum={0:"none",3:"standardDeviation",4:"histogramEqualization",5:"minMax",6:"percentClip",9:"sigmoid"};C.stretchTypeJSONDict=F;Object.defineProperty(C,Symbol.toStringTag,{value:"Module"})})},"esri/renderers/VectorFieldRenderer":function(){define("../chunks/tslib.es6 ../Color ../geometry ../Graphic ../symbols ../core/jsonMap ../core/JSONSupport ../core/lang ../core/accessorSupport/decorators/property ../core/has ../core/Logger ../core/accessorSupport/decorators/enumeration ../core/accessorSupport/decorators/reader ../core/accessorSupport/decorators/subclass ../geometry/support/normalizeUtils ../layers/support/rasterFunctions/vectorFieldUtils ./ClassBreaksRenderer ./mixins/VisualVariablesMixin ./support/ClassBreakInfo ./visualVariables/RotationVariable ./visualVariables/SizeVariable ./visualVariables/support/visualVariableUtils ../symbols/SimpleLineSymbol ../symbols/SimpleMarkerSymbol ../symbols/support/utils ../geometry/Point ../symbols/PictureMarkerSymbol".split(" "),
function(C,F,N,I,x,S,X,Y,L,R,Q,h,f,g,n,k,D,v,t,a,d,e,l,c,b,m,r){var u;const p=new Set(["esriMetersPerSecond","esriKilometersPerHour","esriKnots","esriFeetPerSecond","esriMilesPerHour"]);N=new S.JSONMap({beaufort_ft:"beaufort-ft",beaufort_km:"beaufort-km",beaufort_kn:"beaufort-kn",beaufort_m:"beaufort-m",beaufort_mi:"beaufort-mi",classified_arrow:"classified-arrow",ocean_current_kn:"ocean-current-kn",ocean_current_m:"ocean-current-m",simple_scalar:"simple-scalar",single_arrow:"single-arrow",wind_speed:"wind-barb"});
S=new S.JSONMap({flow_from:"flow-from",flow_to:"flow-to"});X=u=class extends v.VisualVariablesMixin(X.JSONSupport){constructor(q){super(q);this.attributeField="Magnitude";this.flowRepresentation="flow-from";this.rotationType="arithmetic";this.style="single-arrow";this.symbolTileSize=50;this.type="vector-field"}readInputUnit(q,y){return p.has(q)?k.unitKebabDict.fromJSON(q):null}readOutputUnit(q,y){return p.has(q)?k.unitKebabDict.fromJSON(q):null}get styleRenderer(){const q=this.attributeField,y=this._createStyleRenderer(this.style);
y.field=q;return y}get sizeVariables(){const q=[];if(this.visualVariables)for(var y of this.visualVariables)"size"===y.type&&q.push(y);0===q.length&&(y=new d({field:"Magnitude",minSize:.2*this.symbolTileSize,maxSize:.8*this.symbolTileSize}),this.visualVariables?this.visualVariables.push(y):this._set("visualVariables",[y]),q.push(y));return q}get rotationVariables(){const q=[];if(this.visualVariables)for(var y of this.visualVariables)"rotation"===y.type&&q.push(y);0===q.length&&(y=new a({field:"Direction",
rotationType:this.rotationType}),this.visualVariables?this.visualVariables.push(y):this._set("visualVariables",[y]),q.push(y));return q}clone(){return new u({attributeField:this.attributeField,flowRepresentation:this.flowRepresentation,rotationType:this.rotationType,symbolTileSize:this.symbolTileSize,style:this.style,visualVariables:Y.clone(this.visualVariables),inputUnit:this.inputUnit,outputUnit:this.outputUnit})}async getGraphicsFromPixelData(q,y=!1,z=[]){const H=[];var E=k.getUnitConversionFactor(this.inputUnit,
this.outputUnit),K=this.rotationVariables[0]?.rotationType||this.rotationType;y=y?k.convertVectorFieldData(q.pixelBlock,"vector-uv",K,E):k.convertVectorFieldUnit(q.pixelBlock,"vector-magdir",E);if(null==y)return H;q=q.extent;E=null!=y.mask&&0<y.mask.length;K=0;const w=(q.xmax-q.xmin)/y.width,A=(q.ymax-q.ymin)/y.height;for(let P=0;P<y.height;P++)for(let U=0;U<y.width;U++,K++){let V=new m({x:q.xmin+U*w+w/2,y:q.ymax-P*A-A/2,spatialReference:q.spatialReference});V=(await n.normalizeCentralMeridian(V))[0];
var G=z.some(T=>T.intersects(V));E&&!y.mask[K]||G||(G={Magnitude:y.pixels[0][K],Direction:y.pixels[1][K]},G=new I({geometry:new m({x:V.x,y:V.y,spatialReference:q.spatialReference}),attributes:G}),G.symbol=this._getVisualVariablesAppliedSymbol(G),H.push(G))}return H}getSymbol(q,y){}async getSymbolAsync(q,y){}getSymbols(){return[]}getClassBreakInfos(){return this.styleRenderer?.classBreakInfos}getDefaultSymbol(){return this.styleRenderer?.defaultSymbol}_getDefaultSymbol(q){return new c({path:"M14,32 14,18 9,23 16,3 22,23 17,18 17,32 z",
outline:new l({width:0}),size:20,color:q||new F([0,92,230])})}_getVisualVariablesAppliedSymbol(q){if(q){var y=this.styleRenderer?.getSymbol(q)?.clone(),z=this.sizeVariables,H=this.rotationVariables;z&&z.length&&this.sizeVariables.forEach(E=>b.applySizesToSymbol(y,e.getAllSizes([E],q)));H&&H.length&&(q.attributes.Direction+="flow-to"===this.flowRepresentation===("ocean-current-kn"===this.style||"ocean-current-m"===this.style)?0:180,this.rotationVariables.forEach(E=>b.applyRotationToSymbol(y,e.getRotationAngle(E,
q),E.axis)));return y}}_createStyleRenderer(q){let y={defaultSymbol:this._getDefaultSymbol(),classBreakInfos:[]};switch(q){case "single-arrow":y=this._createSingleArrowRenderer();break;case "beaufort-kn":y=this._createBeaufortKnotsRenderer();break;case "beaufort-m":y=this._createBeaufortMeterRenderer();break;case "beaufort-ft":y=this._createBeaufortFeetRenderer();break;case "beaufort-mi":y=this._createBeaufortMilesRenderer();break;case "beaufort-km":y=this._createBeaufortKilometersRenderer();break;
case "ocean-current-m":y=this._createCurrentMeterRenderer();break;case "ocean-current-kn":y=this._createCurrentKnotsRenderer();break;case "simple-scalar":y=this._createSimpleScalarRenderer();break;case "wind-barb":y=this._createWindBarbsRenderer();break;case "classified-arrow":y=this._createClassifiedArrowRenderer()}return new D(y)}_createSingleArrowRenderer(){return{defaultSymbol:this._getDefaultSymbol()}}_createBeaufortKnotsRenderer(){const q=this._getDefaultSymbol(new F([214,47,39])),y=this._getClassBreaks([0,
1,3,6,10,16,21,27,33,40,47,55,63],[[40,146,199],[89,162,186],[129,179,171],[160,194,155],[191,212,138],[218,230,119],[250,250,100],[252,213,83],[252,179,102],[250,141,52],[247,110,42],[240,71,29]]);return{defaultSymbol:q,classBreakInfos:y}}_createBeaufortMeterRenderer(){const q=this._getDefaultSymbol(new F([214,47,39])),y=this._getClassBreaks([0,.2,1.8,3.3,5.4,8.5,11,14.1,17.2,20.8,24.4,28.6,32.7],[[69,117,181],[101,137,184],[132,158,186],[162,180,189],[192,204,190],[222,227,191],[255,255,191],[255,
220,161],[250,185,132],[245,152,105],[237,117,81],[232,21,21]]);return{defaultSymbol:q,classBreakInfos:y}}_createBeaufortFeetRenderer(){const q=this._getDefaultSymbol(new F([214,47,39]));var y=[0,.2,1.8,3.3,5.4,8.5,11,14.1,17.2,20.8,24.4,28.6,32.7];y=y.map(z=>3.28084*z);y=this._getClassBreaks(y,[[69,117,181],[101,137,184],[132,158,186],[162,180,189],[192,204,190],[222,227,191],[255,255,191],[255,220,161],[250,185,132],[245,152,105],[237,117,81],[232,21,21]]);return{defaultSymbol:q,classBreakInfos:y}}_createBeaufortMilesRenderer(){const q=
this._getDefaultSymbol(new F([214,47,39]));var y=[0,.2,1.8,3.3,5.4,8.5,11,14.1,17.2,20.8,24.4,28.6,32.7];y=y.map(z=>2.23694*z);y=this._getClassBreaks(y,[[69,117,181],[101,137,184],[132,158,186],[162,180,189],[192,204,190],[222,227,191],[255,255,191],[255,220,161],[250,185,132],[245,152,105],[237,117,81],[232,21,21]]);return{defaultSymbol:q,classBreakInfos:y}}_createBeaufortKilometersRenderer(){const q=this._getDefaultSymbol(new F([214,47,39]));var y=[0,.2,1.8,3.3,5.4,8.5,11,14.1,17.2,20.8,24.4,28.6,
32.7];y=y.map(z=>3.6*z);y=this._getClassBreaks(y,[[69,117,181],[101,137,184],[132,158,186],[162,180,189],[192,204,190],[222,227,191],[255,255,191],[255,220,161],[250,185,132],[245,152,105],[237,117,81],[232,21,21]]);return{defaultSymbol:q,classBreakInfos:y}}_createCurrentMeterRenderer(){const q=this._getDefaultSymbol(new F([177,177,177])),y=this._getClassBreaks([0,.5,1,1.5,2],[[78,26,153],[179,27,26],[202,128,26],[177,177,177]]);return{defaultSymbol:q,classBreakInfos:y}}_createCurrentKnotsRenderer(){const q=
this._getDefaultSymbol(new F([177,177,177])),y=this._getClassBreaks([0,.25,.5,1,1.5,2,2.5,3,3.5,4],[[0,0,0],[0,37,100],[78,26,153],[151,0,100],[179,27,26],[177,78,26],[202,128,26],[177,179,52],[177,177,177]]);return{defaultSymbol:q,classBreakInfos:y}}_createClassifiedArrowRenderer(){const q=this._getDefaultSymbol(new F([56,168,0]));var y=[0,1E-6,3.5,7,10.5,14];if(this.sizeVariables?.length){const z=this.sizeVariables[0].minDataValue,H=this.sizeVariables[0].maxDataValue;if(z&&H){const E=(H-z)/5;y=
Array.from(Array(6).keys()).map(K=>z+E*K)}}y=this._getClassBreaks(y,[[56,168,0],[139,309,0],[255,255,0],[255,128,0],[255,0,0]]);return{defaultSymbol:q,classBreakInfos:y}}_createSimpleScalarRenderer(){return{defaultSymbol:r.fromJSON({imageData:"iVBORw0KGgoAAAANSUhEUgAAACsAAAArCAQAAABLVLlLAAAABGdBTUEAAYagMeiWXwAAAAJiS0dEAACqjSMyAAAACXBIWXMAAABIAAAASABGyWs+AAAC3ElEQVRIx9XXvW4cVRQH8N982btpsIREJECyiCXsxX4DKh6AliqGKCBBE2SlwlHgAbBD/AKmyEYUeQ1KahPZSZQvBCkQLTHZ7KGY8Xodz4w3a1NwbzVzz/znfJ//zbStVC5q3icKak9GAs2QIdDx3PtW/S011NW3p+M5Eomh11ipTIKe6+4LQzHaQ+G+63pIZNJJQXMpljwTwj1brpgx5w1zZlyx5Z4QnllEIm2xeeSUHBf0hV0bejo1Uh09G3aFvgXk7cCJFBc9EdaRVuHJJaOdKyTV2TVhYLMduNR0Q9gxL5GaaTDw8GzejrDRBpxWoGsySRW0dttKuattwNkIlFw2YXgzOdYq4Ox49PlM+JrKd5OusjTWhBuVxUfMX/KXXZ3WEmkuqa67wspR4BTbwtKr/5u4fFgStse/T7EifFPnnYl9zPq4vmUOPrRndgoHjDti1gOPqlyXoifcRNGQzUd31lDyfHmob1Gp35vSr+P6vilcQ5Egtyd8YF/ySg9NhPM+9M/IOaHwp5+PSZayXTvCogEUwlatC3J8LLwYtcWB8EuDXQVuCkV5/B4eNHb7wGBs87LBDS+xjdVSn09wq1G8dFM+9tSUhIGneLvUdniKxKpTYljCpu3j7rVWlHj/P23v4NPGUEyeCQnexe9lJjzEQqMjJs+EzNAX6B98dBZVRmroJx95x/A/6gln18EyfCUsl+qdXb/tjvfbw+mwforpUOBz4XLVoBwAn3aWnfeH246NyBXhrq7TTN5lNSP9RkU+puUJm3W2Tsdq0nZWM07srk7MwQrZSRysjjGWBLRJNsNbfj2JMR4AbxpU1XLAb9Mxfpsq5EjMuuiR8L0JiHOOBX3hiUvOmavN0nMueSzcceFk0BK4pMqLo7vDD1Z0qrtDx7Itt4Xwm9UqbMmk8S0Dtuzb2pvOU99Z1nLTOfleNmvfZfP2pYZmPfajwosKdDBNpacNpVGGsWX9CyDI8Xq/Sj6QAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDE0LTExLTEwVDAzOjE3OjU4LTA1OjAwF+tHyQAAACV0RVh0ZGF0ZTptb2RpZnkAMjAxNC0xMS0xMFQwMzoxNzo1OC0wNTowMGa2/3UAAAAASUVORK5CYII\x3d",
height:20,width:20,type:"esriPMS",angle:0})}}_createWindBarbsRenderer(){const q=Array.from(Array(31).keys()).map(E=>5*E),y=[{range:"0-5",path:"M20 20 M5 20 A15 15 0 1 0 35 20 A15 15 0 1 0 5 20 M20 20 M10 20 A10 10 0 1 0 30 20 A10 10 0 1 0 10 20",imageData:"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMzJweCIgd2lkdGg9IjMycHgiIHZpZXdCb3g9IjkgMCAyNiA0MSI+CiAgPHBhdGggZD0iTTIwIDIwIE01IDIwIEExNSAxNSAwIDEgMCAzNSAyMCBBMTUgMTUgMCAxIDAgNSAyMCBNMjAgMjAgTTEwIDIwIEExMCAxMCAwIDEgMCAzMCAyMCBBMTAgMTAgMCAxIDAgMTAgMjAiIHN0eWxlPSJzdHJva2U6cmdiKDAsMCwwKTtzdHJva2Utd2lkdGg6MS41Ii8+CiA8L3N2Zz4\x3d"},
{range:"5-10",path:"M25 0 L25 40 M25 35 L17.5 37.5",imageData:"PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHZpZXdCb3g9IjkgMCAyNyA0NiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8cGF0aCBkPSJNMjUgMCBMMjUgNDAgTTI1IDM1IEwxNy41IDM3LjUiIHN0eWxlPSJzdHJva2U6cmdiKDAsMCwwKTtzdHJva2Utd2lkdGg6MS41Ii8+CiA8L3N2Zz4\x3d"},{range:"10-15",path:"M25 0 L25 40 L10 45 L25 40",imageData:"PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHZpZXdCb3g9IjkgMCAyNyA0NiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8cGF0aCBkPSJNMjUgMCBMMjUgNDAgTDEwIDQ1IEwyNSA0MCIgc3R5bGU9InN0cm9rZTpyZ2IoMCwwLDApO3N0cm9rZS13aWR0aDoxLjUiLz4KIDwvc3ZnPg\x3d\x3d"},
{range:"15-20",path:"M25 0 L25 40 L10 45 L25 40 M25 35 L17.5 37.5",imageData:"PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHZpZXdCb3g9IjEyIDAgMTUgNDUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgPHBhdGggZD0iTTI1IDAgTDI1IDQwIEwxMCA0NSBMMjUgNDAgTTI1IDM1IEwxNy41IDM3LjUiIHN0eWxlPSJzdHJva2U6cmdiKDAsMCwwKTtzdHJva2Utd2lkdGg6MS41Ii8+CiA8L3N2Zz4\x3d"},{range:"20-25",path:"M25 0 L25 40 L10 45 L25 40 M25 35 L10 40",imageData:"PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHZpZXdCb3g9IjkgMCAyNiA0NiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8cGF0aCBkPSJNMjUgMCBMMjUgNDAgTDEwIDQ1IEwyNSA0MCBNMjUgMzUgTDEwIDQwIiBzdHlsZT0ic3Ryb2tlOnJnYigwLDAsMCk7c3Ryb2tlLXdpZHRoOjEuNSIvPgogPC9zdmc+"},
{range:"25-30",path:"M25 0 L25 40 L10 45 L25 40 M25 35 L10 40 L25 35 M25 30 L17.5 32.5",imageData:"PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHZpZXdCb3g9IjkgMCAyNiA0NiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8cGF0aCBkPSJNMjUgMCBMMjUgNDAgTDEwIDQ1IEwyNSA0MCBNMjUgMzUgTDEwIDQwIEwyNSAzNSBNMjUgMzAgTDE3LjUgMzIuNSIgc3R5bGU9InN0cm9rZTpyZ2IoMCwwLDApO3N0cm9rZS13aWR0aDoxLjUiLz4KIDwvc3ZnPg\x3d\x3d"},{range:"30-35",path:"M25 0 L25 40 L10 45 L25 40 M25 35 L10 40 L25 35 M25 30 L10 35",imageData:"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMHB4IiBoZWlnaHQ9IjIwcHgiIHZpZXdCb3g9IjkgMCAyNiA0NiI+CiAgPHBhdGggZD0iTTI1IDAgTDI1IDQwIEwxMCA0NSBMMjUgNDAgTTI1IDM1IEwxMCA0MCBMMjUgMzUgTTI1IDMwIEwxMCAzNSIgc3R5bGU9InN0cm9rZTpyZ2IoMCwwLDApO3N0cm9rZS13aWR0aDoxLjUiLz4KIDwvc3ZnPg\x3d\x3d"},
{range:"35-40",path:"M25 0 L25 40 L10 45 L25 40 M25 35 L10 40 L25 35 M25 30 L10 35 L25 30 M25 25 L17.5 27.5",imageData:"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMHB4IiBoZWlnaHQ9IjIwcHgiIHZpZXdCb3g9IjkgMCAyNiA0NiI+CiAgPHBhdGggZD0iTTI1IDAgTDI1IDQwIEwxMCA0NSBMMjUgNDAgTTI1IDM1IEwxMCA0MCBMMjUgMzUgTTI1IDMwIEwxMCAzNSBMMjUgMzAgTTI1IDI1IEwxNy41IDI3LjUiIHN0eWxlPSJzdHJva2U6cmdiKDAsMCwwKTtzdHJva2Utd2lkdGg6MS41Ii8+CiA8L3N2Zz4\x3d"},{range:"40-45",path:"M25 0 L25 40 L10 45 L25 40 M25 35 L10 40 L25 35 M25 30 L10 35 L25 30 M25 25 L10 30",
imageData:"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMHB4IiBoZWlnaHQ9IjIwcHgiIHZpZXdCb3g9IjkgMCAyNiA0NiI+CiAgPHBhdGggZD0iTTI1IDAgTDI1IDQwIEwxMCA0NSBMMjUgNDAgTTI1IDM1IEwxMCA0MCBMMjUgMzUgTTI1IDMwIEwxMCAzNSBMMjUgMzAgTTI1IDI1IEwxMCAzMCIgc3R5bGU9InN0cm9rZTpyZ2IoMCwwLDApO3N0cm9rZS13aWR0aDoxLjUiLz4KIDwvc3ZnPg\x3d\x3d"},{range:"45-50",path:"M25 0 L25 40 L10 45 L25 40 M25 35 L10 40 L25 35 M25 30 L10 35 L25 30 M25 25 L10 30 L25 25 M25 20 L17.5 22.5",imageData:"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMHB4IiBoZWlnaHQ9IjIwcHgiIHZpZXdCb3g9IjkgMCAyNiA0NiI+CiAgPHBhdGggZD0iTTI1IDAgTDI1IDQwIEwxMCA0NSBMMjUgNDAgTTI1IDM1IEwxMCA0MCBMMjUgMzUgTTI1IDMwIEwxMCAzNSBMMjUgMzAgTTI1IDI1IEwxMCAzMCBMMjUgMjUgTTI1IDIwIEwxNy41IDIyLjUiIHN0eWxlPSJzdHJva2U6cmdiKDAsMCwwKTtzdHJva2Utd2lkdGg6MS41Ii8+CiA8L3N2Zz4\x3d"},
{range:"50-55",path:"M25 0 L25 40 L10 40 L25 35",imageData:"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMHB4IiBoZWlnaHQ9IjIwcHgiIHZpZXdCb3g9IjkgMCAyNiA0MSI+CiAgPHBhdGggZD0iTTI1IDAgTDI1IDQwIEwxMCA0MCBMMjUgMzUiIHN0eWxlPSJzdHJva2U6cmdiKDAsMCwwKTtzdHJva2Utd2lkdGg6MS41Ii8+CiA8L3N2Zz4\x3d"},{range:"55-60",path:"M25 0 L25 40 L10 40 L25 35 M25 30 L17.5 32.5",imageData:"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMHB4IiBoZWlnaHQ9IjIwcHgiIHZpZXdCb3g9IjkgMCAyNiA0MSI+CiAgPHBhdGggZD0iTTI1IDAgTDI1IDQwIEwxMCA0MCBMMjUgMzUgTTI1IDMwIEwxNy41IDMyLjUiIHN0eWxlPSJzdHJva2U6cmdiKDAsMCwwKTtzdHJva2Utd2lkdGg6MS41Ii8+CiA8L3N2Zz4\x3d"},
{range:"60-65",path:"M25 0 L25 40 L10 40 L25 35 M25 30 L10 35",imageData:"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMnB4IiBoZWlnaHQ9IjMycHgiIHZpZXdCb3g9IjkgMCAyNiA0MSI+CiAgPHBhdGggZD0iTTI1IDAgTDI1IDQwIEwxMCA0MCBMMjUgMzUgTTI1IDMwIEwxMCAzNSIgc3R5bGU9InN0cm9rZTpyZ2IoMCwwLDApO3N0cm9rZS13aWR0aDoxLjUiLz4KIDwvc3ZnPg\x3d\x3d"},{range:"65-70",path:"M25 0 L25 40 L10 40 L25 35 M25 30 L10 35 L25 30 M25 25 L17.5 27.5",imageData:"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMnB4IiBoZWlnaHQ9IjMycHgiIHZpZXdCb3g9IjkgMCAyNiA0MSI+CiAgPHBhdGggZD0iTTI1IDAgTDI1IDQwIEwxMCA0MCBMMjUgMzUgTTI1IDMwIEwxMCAzNSBMMjUgMzAgTTI1IDI1IEwxNy41IDI3LjUiIHN0eWxlPSJzdHJva2U6cmdiKDAsMCwwKTtzdHJva2Utd2lkdGg6MS41Ii8+CiA8L3N2Zz4\x3d"},
{range:"70-75",path:"M25 0 L25 40 L10 40 L25 35 M25 30 L10 35 L25 30 M25 25 L10 30",imageData:"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMnB4IiBoZWlnaHQ9IjMycHgiIHZpZXdCb3g9IjkgMCAyNiA0MSI+CiAgPHBhdGggZD0iTTI1IDAgTDI1IDQwIEwxMCA0MCBMMjUgMzUgTTI1IDMwIEwxMCAzNSBMMjUgMzAgTTI1IDI1IEwxMCAzMCIgc3R5bGU9InN0cm9rZTpyZ2IoMCwwLDApO3N0cm9rZS13aWR0aDoxLjUiLz4KIDwvc3ZnPg\x3d\x3d"},{range:"75-80",path:"M25 0 L25 40 L10 40 L25 35 M25 30 L10 35 L25 30 M25 25 L10 30 L25 25 M25 20 L17.5 22.5",
imageData:"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMnB4IiBoZWlnaHQ9IjMycHgiIHZpZXdCb3g9IjkgMCAyNiA0MSI+CiAgPHBhdGggZD0iTTI1IDAgTDI1IDQwIEwxMCA0MCBMMjUgMzUgTTI1IDMwIEwxMCAzNSBMMjUgMzAgTTI1IDI1IEwxMCAzMCBMMjUgMjUgTTI1IDIwIEwxNy41IDIyLjUiIHN0eWxlPSJzdHJva2U6cmdiKDAsMCwwKTtzdHJva2Utd2lkdGg6MS41Ii8+CiA8L3N2Zz4\x3d"},{range:"80-85",path:"M25 0 L25 40 L10 40 L25 35 M25 30 L10 35 L25 30 M25 25 L10 30 L25 25 M25 20 L10 25",imageData:"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMnB4IiBoZWlnaHQ9IjMycHgiIHZpZXdCb3g9IjkgMCAyNiA0MSI+CiAgPHBhdGggZD0iTTI1IDAgTDI1IDQwIEwxMCA0MCBMMjUgMzUgTTI1IDMwIEwxMCAzNSBMMjUgMzAgTTI1IDI1IEwxMCAzMCBMMjUgMjUgTTI1IDIwIEwxMCAyNSIgc3R5bGU9InN0cm9rZTpyZ2IoMCwwLDApO3N0cm9rZS13aWR0aDoxLjUiLz4KIDwvc3ZnPg\x3d\x3d"},
{range:"85-90",path:"M25 0 L25 40 L10 40 L25 35 M25 30 L10 35 L25 30 M25 25 L10 30 L25 25 M25 20 L10 25 L25 20 M25 15 L17.5 17.5",imageData:"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMnB4IiBoZWlnaHQ9IjMycHgiIHZpZXdCb3g9IjkgMCAyNiA0MSI+CiAgPHBhdGggZD0iTTI1IDAgTDI1IDQwIEwxMCA0MCBMMjUgMzUgTTI1IDMwIEwxMCAzNSBMMjUgMzAgTTI1IDI1IEwxMCAzMCBMMjUgMjUgTTI1IDIwIEwxMCAyNSBMMjUgMjAgTTI1IDE1IEwxNy41IDE3LjUiIHN0eWxlPSJzdHJva2U6cmdiKDAsMCwwKTtzdHJva2Utd2lkdGg6MS41Ii8+CiA8L3N2Zz4\x3d"},{range:"90-95",
path:"M25 0 L25 40 L10 40 L25 35 M25 30 L10 35 L25 30 M25 25 L10 30 L25 25 M25 20 L10 25 L25 20 M25 15 L10 20",imageData:"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMnB4IiBoZWlnaHQ9IjMycHgiIHZpZXdCb3g9IjkgMCAyNiA0MSI+CiAgPHBhdGggZD0iTTI1IDAgTDI1IDQwIEwxMCA0MCBMMjUgMzUgTTI1IDMwIEwxMCAzNSBMMjUgMzAgTTI1IDI1IEwxMCAzMCBMMjUgMjUgTTI1IDIwIEwxMCAyNSBMMjUgMjAgTTI1IDE1IEwxMCAyMCIgc3R5bGU9InN0cm9rZTpyZ2IoMCwwLDApO3N0cm9rZS13aWR0aDoxLjUiLz4KIDwvc3ZnPg\x3d\x3d"},{range:"95-100",path:"M25 0 L25 40 L10 40 L25 35 M25 30 L10 35 L25 30 M25 25 L10 30 L25 25 M25 20 L10 25 L25 20 M25 15 L10 20 L25 15 M25 10 L17.5 12.5",
imageData:"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMnB4IiBoZWlnaHQ9IjMycHgiIHZpZXdCb3g9IjkgMCAyNiA0MSI+CiAgPHBhdGggZD0iTTI1IDAgTDI1IDQwIEwxMCA0MCBMMjUgMzUgTTI1IDMwIEwxMCAzNSBMMjUgMzAgTTI1IDI1IEwxMCAzMCBMMjUgMjUgTTI1IDIwIEwxMCAyNSBMMjUgMjAgTTI1IDE1IEwxMCAyMCBMMjUgMTUgTTI1IDEwIEwxNy41IDEyLjUiIHN0eWxlPSJzdHJva2U6cmdiKDAsMCwwKTtzdHJva2Utd2lkdGg6MS41Ii8+CiA8L3N2Zz4\x3d"},{range:"100-105",path:"M25 0 L25 40 L10 40 L25 35 L10 35 L25 30",imageData:"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMnB4IiBoZWlnaHQ9IjMycHgiIHZpZXdCb3g9IjkgMCAyNiA0MSI+CiAgPHBhdGggZD0iTTI1IDAgTDI1IDQwIEwxMCA0MCBMMjUgMzUgTDEwIDM1IEwyNSAzMCIgc3R5bGU9InN0cm9rZTpyZ2IoMCwwLDApO3N0cm9rZS13aWR0aDoxLjUiLz4KIDwvc3ZnPg\x3d\x3d"},
{range:"105-110",path:"M25 0 L25 40 L10 40 L25 35 L10 35 L25 30 M25 25 L17.5 27.5",imageData:"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMzJweCIgd2lkdGg9IjMycHgiIHZpZXdCb3g9IjkgMCAyNiA0MSI+CiAgPHBhdGggZD0iTTI1IDAgTDI1IDQwIEwxMCA0MCBMMjUgMzUgTDEwIDM1IEwyNSAzMCBNMjUgMjUgTDE3LjUgMjcuNSIgc3R5bGU9InN0cm9rZTpyZ2IoMCwwLDApO3N0cm9rZS13aWR0aDoxLjUiLz4KIDwvc3ZnPg\x3d\x3d"},{range:"110-115",path:"M25 0 L25 40 L10 40 L25 35 L10 35 L25 30 M25 25 L10 30",imageData:"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMzJweCIgd2lkdGg9IjMycHgiIHZpZXdCb3g9IjkgMCAyNiA0MSI+CiAgPHBhdGggZD0iTTI1IDAgTDI1IDQwIEwxMCA0MCBMMjUgMzUgTDEwIDM1IEwyNSAzMCBNMjUgMjUgTDEwIDMwIiBzdHlsZT0ic3Ryb2tlOnJnYigwLDAsMCk7c3Ryb2tlLXdpZHRoOjEuNSIvPgogPC9zdmc+"},
{range:"115-120",path:"M25 0 L25 40 L10 40 L25 35 L10 35 L25 30 M25 25 L10 30 M25 25 M25 20 L17.5 22.5",imageData:"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMzJweCIgd2lkdGg9IjMycHgiIHZpZXdCb3g9IjkgMCAyNiA0MSI+CiAgPHBhdGggZD0iTTI1IDAgTDI1IDQwIEwxMCA0MCBMMjUgMzUgTDEwIDM1IEwyNSAzMCBNMjUgMjUgTDEwIDMwIE0yNSAyNSBNMjUgMjAgTDE3LjUgMjIuNSIgc3R5bGU9InN0cm9rZTpyZ2IoMCwwLDApO3N0cm9rZS13aWR0aDoxLjUiLz4KIDwvc3ZnPg\x3d\x3d"},{range:"120-125",path:"M25 0 L25 40 L10 40 L25 35 L10 35 L25 30 M25 25 L10 30 M25 25 M25 20 L10 25",
imageData:"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMzJweCIgd2lkdGg9IjMycHgiIHZpZXdCb3g9IjkgMCAyNiA0MSI+CiAgPHBhdGggZD0iTTI1IDAgTDI1IDQwIEwxMCA0MCBMMjUgMzUgTDEwIDM1IEwyNSAzMCBNMjUgMjUgTDEwIDMwIE0yNSAyNSBNMjUgMjAgTDEwIDI1IiBzdHlsZT0ic3Ryb2tlOnJnYigwLDAsMCk7c3Ryb2tlLXdpZHRoOjEuNSIvPgogPC9zdmc+"},{range:"125-130",path:"M25 0 L25 40 L10 40 L25 35 L10 35 L25 30 M25 25 L10 30 M25 25 M25 20 L10 25 M25 20 M25 15 L17.5 17.5",imageData:"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMzJweCIgd2lkdGg9IjMycHgiIHZpZXdCb3g9IjkgMCAyNiA0MSI+CiAgPHBhdGggZD0iTTI1IDAgTDI1IDQwIEwxMCA0MCBMMjUgMzUgTDEwIDM1IEwyNSAzMCBNMjUgMjUgTDEwIDMwIE0yNSAyNSBNMjUgMjAgTDEwIDI1IE0yNSAyMCBNMjUgMTUgTDE3LjUgMTcuNSIgc3R5bGU9InN0cm9rZTpyZ2IoMCwwLDApO3N0cm9rZS13aWR0aDoxLjUiLz4KIDwvc3ZnPg\x3d\x3d"},
{range:"130-135",path:"M25 0 L25 40 L10 40 L25 35 L10 35 L25 30 M25 25 L10 30 M25 25 M25 20 L10 25 M25 20 M25 15 L10 20",imageData:"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMzJweCIgd2lkdGg9IjMycHgiIHZpZXdCb3g9IjkgMCAyNiA0MSI+CiAgPHBhdGggZD0iTTI1IDAgTDI1IDQwIEwxMCA0MCBMMjUgMzUgTDEwIDM1IEwyNSAzMCBNMjUgMjUgTDEwIDMwIE0yNSAyNSBNMjUgMjAgTDEwIDI1IE0yNSAyMCBNMjUgMTUgTDEwIDIwIiBzdHlsZT0ic3Ryb2tlOnJnYigwLDAsMCk7c3Ryb2tlLXdpZHRoOjEuNSIvPgogPC9zdmc+"},{range:"135-140",path:"M25 0 L25 40 L10 40 L25 35 L10 35 L25 30 M25 25 L10 30 M25 25 M25 20 L10 25 M25 20 M25 15 L10 20 M25 15 M25 10 L17.5 12.5",
imageData:"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMzJweCIgd2lkdGg9IjMycHgiIHZpZXdCb3g9IjkgMCAyNiA0MSI+CiAgPHBhdGggZD0iTTI1IDAgTDI1IDQwIEwxMCA0MCBMMjUgMzUgTDEwIDM1IEwyNSAzMCBNMjUgMjUgTDEwIDMwIE0yNSAyNSBNMjUgMjAgTDEwIDI1IE0yNSAyMCBNMjUgMTUgTDEwIDIwIE0yNSAxNSBNMjUgMTAgTDE3LjUgMTIuNSIgc3R5bGU9InN0cm9rZTpyZ2IoMCwwLDApO3N0cm9rZS13aWR0aDoxLjUiLz4KIDwvc3ZnPg\x3d\x3d"},{range:"140-145",path:"M25 0 L25 40 L10 40 L25 35 L10 35 L25 30 M25 25 L10 30 M25 25 M25 20 L10 25 M25 20 M25 15 L10 20 M25 15 M25 10 L17.5 12.5",
imageData:"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMzJweCIgd2lkdGg9IjMycHgiIHZpZXdCb3g9IjkgMCAyNiA0MSI+CiAgPHBhdGggZD0iTTI1IDAgTDI1IDQwIEwxMCA0MCBMMjUgMzUgTDEwIDM1IEwyNSAzMCBNMjUgMjUgTDEwIDMwIE0yNSAyNSBNMjUgMjAgTDEwIDI1IE0yNSAyMCBNMjUgMTUgTDEwIDIwIE0yNSAxNSBNMjUgMTAgTDEwIDE1IiBzdHlsZT0ic3Ryb2tlOnJnYigwLDAsMCk7c3Ryb2tlLXdpZHRoOjEuNSIvPgogPC9zdmc+"},{range:"145-150",path:"M25 0 L25 40 L10 40 L25 35 L10 35 L25 30 M25 25 L10 30 M25 25 M25 20 L10 25 M25 20 M25 15 L10 20 M25 15 M25 10 L17.5 12.5",
imageData:"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMzJweCIgd2lkdGg9IjMycHgiIHZpZXdCb3g9IjkgMCAyNiA0MSI+CiAgPHBhdGggZD0iTTI1IDAgTDI1IDQwIEwxMCA0MCBMMjUgMzUgTDEwIDM1IEwyNSAzMCBNMjUgMjUgTDEwIDMwIE0yNSAyNSBNMjUgMjAgTDEwIDI1IE0yNSAyMCBNMjUgMTUgTDEwIDIwIE0yNSAxNSBNMjUgMTAgTDEwIDE1IE0yNSAxMCBNMjUgNSBMMTcuNSA3LjUiIHN0eWxlPSJzdHJva2U6cmdiKDAsMCwwKTtzdHJva2Utd2lkdGg6MS41Ii8+CiA8L3N2Zz4\x3d"}],z=r.fromJSON({imageData:"iVBORw0KGgoAAAANSUhEUgAAACgAAAApCAQAAADtq6NDAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAJiS0dEAP+Hj8y/AAAACXBIWXMAAA7DAAAOwwHHb6hkAAAEY0lEQVRIx5XXWWxWRRQH8N+d+31tUdGAVjGglYJABFEBY91jfDAg7piYaFTccA++uMQEFRcSXlATtxiXqMQt4G4iisYl0ai4sIQYtVFZ1KIFKdTS0l4f7vRCS5fPebozc+bM/2z/Mzcx0AgSiUxXnKfIdMn875FIhX53U2n/B/s+kKM4UINTjTBZImixxnrv+9a2iL6zEoUBXcoudrWj/OtHm3wt02lfU9Qao9OnHvIhgmww84MEl1qnxfNmGrqHxAizLdPpC6chGcAxKGGcL+30gOERf1BSpUqVslQSV8d5ReZFe8VQ9avufJn31cWwlJV7iafKStGOE/1qvfH9qUxxu8ydUdmuSKbGO8YUdT2inKLG69pM70tliktl5qIkCAJGmusDG7Vqsc0WjZa4UBlBiA5YZIcjYzB7qDtH5kaUJFLs7RGZTZ42W4PRRmtwvbdt1+wGiaS4drEtDttdZYIDNVuAclR3vA3+dI3qHqmVSy7U6Tv1MScCPvPR7nIpFlsdCy3FdTLPGhK92e2CUITjMJ9ocwKxnsZqc3O3JwMma3d6UVLnyVxB4aXemZqvPqLdpJhW3KVVbY4yYImPo6M5Urv50fj+0z/FG9YaEiENs8UtMfXUaTeTePNHlhXfA1UU+2lyD1Il3Gtt9+adfpNG7dNlpg2U/T3KYLZ2dUWFdTgp3/rQ4sK973qnInV5TIf40x3dhvrJPBiqyWUo4wAtLqhQYS71qK+QKOFRywmGK/kpikzV6WMKhh58vGWs4TIJNjiEYLIuP8Tt4/zmLyqk+AyrJSbF+Qq1DgqRUPMxyl+9q3IQhX/rMCJ6tEunriDs1oSyQZKlr9AkhT2ZIARbJfaJS1vtVbHB+Rgi0RK/y1q1BWsEEyLoz40xtGKcARPVWB1BTPO7f4LNtpkUl1aoMbViLyZo0GRjPD3BxnxjqXeLYlvhqYrzMMG3HoyJXa3JjfnGlbYYFlP7Jh3qKsKY4hQ7TY0nG+xwRL61n63mxHtqNHosigyMLmClNwvuecFnOZB88nNBDzNkzhxEZaKMBVoKapggMzvHHXBEpNSSFAvtcFRsVn0bW8LlMmcXs+c0Kne3gRR32+zg4uXwjC6zit6Wt4a8LXVfcp/MtQXHn2ynGbuCmb8GvvFeJLEE82ReU9/n6+dkq2x3buG9Wn94smcgAw631RPR7BTH+kbmHReZoEpOdEe7zWqZl40s0JWs9Hmv7hjBHqPDwsjGKVJnWWqjbdZp1KhJi0aPmxYZsIRhlttgeF+Jlke41QcOQKoqilSb6HJzSvNG3G/UoWnxwsmt+sVaYwd63dRbqdnMyCPVeyRPvpYgdavM22oGKoMUVRbJfOWMwidJ8Zzb1UvmWK/VVUXzHaTjjrVYh1897HT7xxYEVUaa5SWb/WO+YUWa9SrwvigzM8YlzlYv2GSdVCYxxlBtVnnFq5olwp5/BEk/OLsf5LUmG2+inRJdVvjZ97ZH9/zP34ug1O91pf4p+D+JYBpvrKxfbwAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAxNC0xMS0xMFQwMzoxMjowOS0wNTowMB9ViV0AAAAldEVYdGRhdGU6bW9kaWZ5ADIwMTQtMTEtMTBUMDM6MTI6MDktMDU6MDBuCDHhAAAAAElFTkSuQmCC",
height:20,width:20,type:"esriPMS",angle:0}),H=q.map((E,K)=>{if(K!==q.length-1)if(0===K)var w={minValue:E,maxValue:q[K+1],symbol:z};else w=r.fromJSON({type:"esriPMS",imageData:y[K].imageData,contentType:"image/svg+xml",height:32,width:32,angle:0}),w={minValue:E,maxValue:q[K+1],symbol:w};return new t(w)});return{defaultSymbol:z,classBreakInfos:H}}_getClassBreaks(q,y){return y.map((z,H)=>new t({minValue:q[H],maxValue:q[H+1],symbol:this._getDefaultSymbol(new F(z))}))}};C.__decorate([L.property({type:["Magnitude"],
json:{write:!0}})],X.prototype,"attributeField",void 0);C.__decorate([L.property({type:S.apiValues,json:{type:S.jsonValues,read:{reader:S.read},write:{writer:S.write}}})],X.prototype,"flowRepresentation",void 0);C.__decorate([L.property({type:["geographic","arithmetic"],json:{write:!0}})],X.prototype,"rotationType",void 0);C.__decorate([L.property({type:N.apiValues,json:{type:N.jsonValues,read:{reader:N.read},write:{writer:N.write}}})],X.prototype,"style",void 0);C.__decorate([L.property({json:{write:!0}})],
X.prototype,"symbolTileSize",void 0);C.__decorate([L.property({type:k.unitKebabDict.apiValues,json:{type:k.unitKebabDict.jsonValues,write:{writer:k.unitKebabDict.write}}})],X.prototype,"inputUnit",void 0);C.__decorate([f.reader("inputUnit")],X.prototype,"readInputUnit",null);C.__decorate([L.property({type:k.unitKebabDict.apiValues,json:{type:k.unitKebabDict.jsonValues,read:{reader:k.unitKebabDict.read},write:{writer:k.unitKebabDict.write}}})],X.prototype,"outputUnit",void 0);C.__decorate([f.reader("outputUnit")],
X.prototype,"readOutputUnit",null);C.__decorate([h.enumeration({vectorField:"vector-field"})],X.prototype,"type",void 0);C.__decorate([L.property({type:D})],X.prototype,"styleRenderer",null);C.__decorate([L.property({type:d})],X.prototype,"sizeVariables",null);C.__decorate([L.property({type:a})],X.prototype,"rotationVariables",null);return X=u=C.__decorate([g.subclass("esri.renderers.VectorFieldRenderer")],X)})},"esri/layers/support/rasterFunctions/vectorFieldUtils":function(){define(["exports","../../../core/jsonMap",
"../PixelBlock","./pixelUtils"],function(C,F,N,I){function x(c,b){return k.get(c)/k.get(b)||1}function S(c,b="geographic"){const [m,r]=c;c=Math.sqrt(m*m+r*r);let u=Math.atan2(r,m)*D;u=(360+u)%360;"geographic"===b&&(u=(450-u)%360);return[c,u]}function X(c,b="geographic"){let m=c[1];"geographic"===b&&(m=(450-m)%360);m%=360;c=c[0];return[c*Math.cos(m/D),c*Math.sin(m/D)]}function Y(c,b,m="geographic",r=1){if(!I.isValidPixelBlock(c))return c;const {pixels:u,width:p,height:q}=c;var y=p*q;const z=u[0],H=
u[1],E=c.pixelType.startsWith("f")?c.pixelType:"f32",K=N.createEmptyBand(E,y);y=N.createEmptyBand(E,y);let w=0;for(let A=0;A<q;A++)for(let G=0;G<p;G++)"vector-uv"===b?([K[w],y[w]]=S([z[w],H[w]],m),K[w]*=r):([K[w],y[w]]=X([z[w],H[w]],m),K[w]*=r,y[w]*=r),w++;c=new N({pixelType:E,width:c.width,height:c.height,mask:c.mask,validPixelCount:c.validPixelCount,maskIsAlpha:c.maskIsAlpha,pixels:[K,y]});c.updateStatistics();return c}function L(c=0,b=0,m=Math.PI,r=!0){r&&(m=(2*Math.PI-m)%(2*Math.PI));r=r?-1:1;
const u=-7*r,p=-2*r,q=-16*r,[y,z]=Q(0,b+13*r,m,21.75),[H,E]=Q(c-5.5,b+u,m,21.75),[K,w]=Q(c+5.5,b+u,m,21.75),[A,G]=Q(c-1.5,b+p,m,21.75),[P,U]=Q(c+1.5,b+p,m,21.75),[V,T]=Q(c-1.5,b+q,m,21.75),[J,O]=Q(c+1.5,b+q,m,21.75);return[y,z,H,E,A,G,P,U,K,w,V,T,J,O]}function R(c=0,b=Math.PI,m=!0){m&&(b=(2*Math.PI-b)%(2*Math.PI));var r=m?-1:1,u=5*r;const p=20*r,q=25*r;r*=2;const y=m?1:-1;m=5*y;let [z,H]=[0+m,0-p],[E,K]=[z+2*y,H],[w,A]=[E-0*y,K+r],[G,P]=[0-m,0-q],[U,V]=[G+0*y,P-r],T=Math.ceil(c/5),J=Math.floor(T/
10);T-=8*J;c=[];const O=[];for(let ma=0;ma<T/2;ma++,J--){0>=J&&1===T%2&&ma===(T-1)/2&&(G=0,U=G+0*y,P=(P+H)/2,V=P-r);const [ia,ua]=Q(G,P,b,45);if(0<J){const [pa,ta]=Q(E,P,b,45),[ra,ya]=Q(z,H,b,45);c.push(pa);c.push(ta);c.push(ia);c.push(ua);c.push(ra);c.push(ya)}else{const [pa,ta]=Q(E,K,b,45),[ra,ya]=Q(w,A,b,45),[xa,Aa]=Q(U,V,b,45);O.push(ia);O.push(ua);O.push(xa);O.push(Aa);O.push(ra);O.push(ya);O.push(pa);O.push(ta)}P+=u;H+=u;K+=u;A+=u;V+=u}const [Z,aa]=Q(0+m,0+p,b,45);u=7*y;const [W,da]=Q(0+u,0+
p,b,45),[ca,fa]=Q(0+m,0-q,b,45),[ha,na]=Q(0+u,0-q,b,45);return{pennants:c,barbs:O,shaft:[Z,aa,W,da,ca,fa,ha,na]}}function Q(c,b,m,r=1){return[Math.sqrt(c*c+b*b)/r,(2*Math.PI+(2*Math.PI+Math.atan2(b,c))%(2*Math.PI)-m)%(2*Math.PI)]}function h(c,b,m,r){m=x(r||"knots",m);for(r=1;r<b.length;r++)if(r===b.length-1){if(c<b[r]*m)break}else if(c<=b[r]*m)break;return Math.min(r-1,b.length-2)}function f(c,b,m,r,u){let p=0;switch(b){case "beaufort_kn":p=h(c,a,"knots",m);break;case "beaufort_km":p=h(c,a,"kilometer-per-hour",
m);break;case "beaufort_ft":p=h(c,a,"feet-per-second",m);break;case "beaufort_m":p=h(c,a,"meter-per-second",m);break;case "classified_arrow":p=h(c,u??[],r,m);break;case "ocean_current_m":p=h(c,d,"meter-per-second",m);break;case "ocean_current_kn":p=h(c,e,"knots",m)}return p}function g(c,b){const {style:m,inputUnit:r,outputUnit:u,breakValues:p}=b,q=v.fromJSON(r),y=v.fromJSON(u);let z=0,H=0;const {width:E,height:K,mask:w}=c,A=c.pixels[0];c=c.pixels[1];var G=null!=w?w.filter(V=>0<V).length:E*K;const P=
new Float32Array(42*G);G=new Uint32Array(15*G);b=b.invertDirection?L(0,0,0,!1):t;for(let V=0;V<K;V++)for(let T=0;T<E;T++){var U=V*E+T;if(!w||w[V*E+T]){const J=(c[U]+360)%360/180*Math.PI,O=f(A[U],m,q,y,p);for(let Z=0;Z<b.length;Z+=2)P[z++]=(T+.5)/E,P[z++]=(V+.5)/K,P[z++]=b[Z],P[z++]=b[Z+1]+J,P[z++]=O,P[z++]=A[U];U=7*(z/42-1);G[H++]=U;G[H++]=U+1;G[H++]=U+2;G[H++]=U+0;G[H++]=U+4;G[H++]=U+3;G[H++]=U+0;G[H++]=U+2;G[H++]=U+3;G[H++]=U+2;G[H++]=U+5;G[H++]=U+3;G[H++]=U+5;G[H++]=U+6;G[H++]=U+3}}return{vertexData:P,
indexData:G}}function n(c,b){let m=0,r=0;const {width:u,height:p,mask:q}=c;c=c.pixels[0];const y=[],z=[];var H=v.fromJSON(b.inputUnit);H=x(H,"knots");b="wind_speed"===b.style?5:Number.MAX_VALUE;for(let K=0;K<p;K++)for(let w=0;w<u;w++){var E=c[K*u+w]*H;if((!q||q[K*u+w])&&E<b){for(let A=0;4>A;A++)y[m++]=(w+.5)/u,y[m++]=(K+.5)/p,y[m++]=2>A?-.5:.5,y[m++]=0===A%2?-.5:.5,y[m++]=0,y[m++]=E;E=4*(m/24-1);z[r++]=E;z[r++]=E+1;z[r++]=E+2;z[r++]=E+1;z[r++]=E+2;z[r++]=E+3}}return{vertexData:new Float32Array(y),
indexData:new Uint32Array(z)}}const k=new Map;k.set("meter-per-second",1);k.set("kilometer-per-hour",.277778);k.set("knots",.514444);k.set("feet-per-second",.3048);k.set("mile-per-hour",.44704);const D=180/Math.PI,v=new F.JSONMap({esriMetersPerSecond:"meter-per-second",esriKilometersPerHour:"kilometer-per-hour",esriKnots:"knots",esriFeetPerSecond:"feet-per-second",esriMilesPerHour:"mile-per-hour"}),t=L(0,0,0),a=[0,1,3,6,10,16,21,27,33,40,47,55,63],d=[0,.5,1,1.5,2],e=[0,.25,.5,1,1.5,2,2.5,3,3.5,4],
l=[];C.convertToLocalDirections=function(c,b,m,r="geographic"){if(!I.isValidPixelBlock(c)||null==m)return c;c="vector-magdir"===b?c.clone():Y(c,b);const u=c.pixels[1];for(let p=0;p<u.length;p++)u[p]="geographic"===r?(u[p]+m[p]+270)%360:(u[p]+360-m[p])%360;return"vector-magdir"===b?c:Y(c,"vector-magdir")};C.convertVectorFieldData=Y;C.convertVectorFieldUnit=function(c,b,m=1){if(1===m||!I.isValidPixelBlock(c))return c;c=c.clone();const {pixels:r,width:u,height:p}=c,q=r[0],y=r[1];let z=0;for(let H=0;H<
p;H++)for(let E=0;E<u;E++)"vector-uv"===b?(q[z]*=m,y[z]*=m):q[z]*=m,z++;c.updateStatistics();return c};C.createVFMesh=function(c,b){if("simple_scalar"===b.style)b=n(c,b);else if("wind_speed"===b.style){if(0===l.length)for(var m=0;30>m;m++)l.push(R(5*m,0,!b.invertDirection));b=v.fromJSON(b.inputUnit);b=x(b,"knots");const {width:q,height:y,mask:z}=c;m=c.pixels[0];c=c.pixels[1];const H=[],E=[];let K=0,w=0;for(let A=0;A<y;A++)for(let G=0;G<q;G++){var r=A*q+G,u=m[r]*b;if((!z||z[A*q+G])&&5<=u){const P=
(c[r]+360)%360/180*Math.PI,{pennants:U,barbs:V,shaft:T}=l[Math.min(Math.floor(u/5),29)];if(0===U.length+V.length)continue;r=H.length/6;const J=(G+.5)/q,O=(A+.5)/y;for(var p=0;p<U.length;p+=2)H[K++]=J,H[K++]=O,H[K++]=U[p],H[K++]=U[p+1]+P,H[K++]=0,H[K++]=u;for(p=0;p<V.length;p+=2)H[K++]=J,H[K++]=O,H[K++]=V[p],H[K++]=V[p+1]+P,H[K++]=0,H[K++]=u;for(p=0;p<T.length;p+=2)H[K++]=J,H[K++]=O,H[K++]=T[p],H[K++]=T[p+1]+P,H[K++]=0,H[K++]=u;for(u=0;u<U.length/6;u++)E[w++]=r,E[w++]=r+1,E[w++]=r+2,r+=3;for(u=0;u<
V.length/8;u++)E[w++]=r,E[w++]=r+1,E[w++]=r+2,E[w++]=r+1,E[w++]=r+2,E[w++]=r+3,r+=4;E[w++]=r+0;E[w++]=r+1;E[w++]=r+2;E[w++]=r+1;E[w++]=r+3;E[w++]=r+2;r+=4}}b={vertexData:new Float32Array(H),indexData:new Uint32Array(E)}}else b=g(c,b);return b};C.createVFMeshScalar=n;C.getUnitConversionFactor=x;C.sampleVectorField=function(c,b,m,r=[0,0],u=.5){const {width:p,height:q,mask:y}=c,[z,H]=c.pixels,[E,K]=r;c=Math.round((p-E)/m);r=Math.round((q-K)/m);var w=c*r;const A=new Float32Array(w),G=new Float32Array(w);
w=new Uint8Array(w);b="vector-uv"===b;for(let U=0;U<r;U++)for(let V=0;V<c;V++){let T=0;const J=U*c+V,O=Math.max(0,U*m+K),Z=Math.max(0,V*m+E),aa=Math.min(q,O+m),W=Math.min(p,Z+m);for(let da=O;da<aa;da++)for(let ca=Z;ca<W;ca++){var P=da*p+ca;if(!y||y[P]){T++;P=b?[z[P],H[P]]:[z[P],(360+H[P])%360];const [fa,ha]=b?P:X(P);A[J]+=fa;G[J]+=ha}}if(T>=(aa-O)*(W-Z)*(1-u)){w[J]=1;const [da,ca]=S([A[J]/T,G[J]/T]);A[J]=da;G[J]=ca}else w[J]=0,A[J]=0,G[J]=0}m=new N({width:c,height:r,pixels:[A,G],mask:w});m.updateStatistics();
return m};C.snapImageToSymbolTile=function(c,b,m,r,u){if(null==u||!u.spatialReference.equals(c.spatialReference))return{extent:c,width:Math.round(b/r),height:Math.round(m/r),resolution:c.width/b};const p=u.xmin;u=u.ymax;b=(c.xmax-c.xmin)/b*r;m=(c.ymax-c.ymin)/m*r;c.xmin=p+Math.floor((c.xmin-p)/b)*b;c.xmax=p+Math.ceil((c.xmax-p)/b)*b;c.ymin=u+Math.floor((c.ymin-u)/m)*m;c.ymax=u+Math.ceil((c.ymax-u)/m)*m;return{extent:c,width:Math.round(c.width/b),height:Math.round(c.height/m),resolution:(b+m)/2}};
C.unitKebabDict=v;C.uvComponentToVector=S;Object.defineProperty(C,Symbol.toStringTag,{value:"Module"})})},"esri/layers/support/PixelBlock":function(){define("../../chunks/tslib.es6 ../../core/Error ../../core/JSONSupport ../../core/lang ../../core/Logger ../../core/accessorSupport/decorators/property ../../core/accessorSupport/decorators/cast ../../core/accessorSupport/decorators/subclass ./SimpleBandStatistics ./rasterFormats/pixelRangeUtils".split(" "),function(C,F,N,I,x,S,X,Y,L,R){var Q;N=Q=class extends N.JSONSupport{static createEmptyBand(h,
f){return new (Q.getPixelArrayConstructor(h))(f)}static combineBandMasks(h){if(2>h.length)return h[0];const f=h[0].length,g=(new Uint8Array(f)).fill(255);for(let n=0;n<h.length;n++){const k=h[n];for(let D=0;D<f;D++)k[D]||(g[D]=0)}return g}static getPixelArrayConstructor(h){let f;switch(h){case "u1":case "u2":case "u4":case "u8":f=Uint8Array;break;case "u16":f=Uint16Array;break;case "u32":f=Uint32Array;break;case "s8":f=Int8Array;break;case "s16":f=Int16Array;break;case "s32":f=Int32Array;break;case "f32":f=
Float32Array;break;case "f64":f=Float64Array;break;case "c64":case "c128":case "unknown":f=Float32Array}return f}constructor(h){super(h);this.height=this.width=null;this.pixelType="f32";this.mask=this.validPixelCount=null;this.premultiplyAlpha=this.maskIsAlpha=!1;this.statistics=null;this.depthCount=1}castPixelType(h){if(!h)return"f32";h=h.toLowerCase();["u1","u2","u4"].includes(h)?h="u8":"unknown u8 s8 u16 s16 u32 s32 f32 f64".split(" ").includes(h)||(h="f32");return h}getPlaneCount(){return this.pixels?.length}addData(h){if(!h.pixels||
h.pixels.length!==this.width*this.height)throw new F("pixelblock:invalid-or-missing-pixels","add data requires valid pixels array that has same length defined by pixel block width * height");this.pixels||(this.pixels=[]);this.statistics||(this.statistics=[]);this.pixels.push(h.pixels);this.statistics.push(h.statistics??new L.SimpleBandStatistics)}getAsRGBA(){const h=new ArrayBuffer(this.width*this.height*4);switch(this.pixelType){case "s8":case "s16":case "u16":case "s32":case "u32":case "f32":case "f64":this._fillFromNon8Bit(h);
break;default:this._fillFrom8Bit(h)}return new Uint8ClampedArray(h)}getAsRGBAFloat(){const h=new Float32Array(this.width*this.height*4);this._fillFrom32Bit(h);return h}updateStatistics(){if(this.pixels){this.statistics=this.pixels.map(g=>{var n=this.mask;let k=Infinity,D=-Infinity;const v=g.length;let t,a=0;if(null!=n)for(t=0;t<v;t++)n[t]&&(a=g[t],k=a<k?a:k,D=a>D?a:D);else for(t=0;t<v;t++)a=g[t],k=a<k?a:k,D=a>D?a:D;return new L.SimpleBandStatistics(k,D)});var h=this.mask,f=0;if(null!=h)for(let g=
0;g<h.length;g++)h[g]&&f++;else f=this.width*this.height;this.validPixelCount=f}}clamp(h){if(h&&"f64"!==h&&"f32"!==h&&this.pixels){var [f,g]=R.getPixelValueRange(h),n=this.pixels,k=this.width*this.height,D=n.length,v=[];for(let e=0;e<D;e++){var t=Q.createEmptyBand(h,k);var a=n[e];for(let l=0;l<k;l++){var d=a[l];t[l]=d>g?g:d<f?f:d}v.push(t)}this.pixels=v;this.pixelType=h}}extractBands(h){const {pixels:f,statistics:g}=this;if(null==h||0===h.length||!f||0===f.length)return this;var n=f.length;const k=
h.some(e=>e>=f.length),D=n===h.length&&!h.some((e,l)=>e!==l);if(k||D)return this;n=this.bandMasks?.length===n?h.map(e=>this.bandMasks[e]):void 0;let {mask:v,validPixelCount:t}=this;const {width:a,height:d}=this;n?.length&&(v=Q.combineBandMasks(n),t=v.filter(e=>!!e).length);return new Q({pixelType:this.pixelType,width:a,height:d,mask:v,bandMasks:n,validPixelCount:t,maskIsAlpha:this.maskIsAlpha,pixels:h.map(e=>f[e]),statistics:g&&h.map(e=>g[e])})}clone(){const h=new Q({width:this.width,height:this.height,
pixelType:this.pixelType,maskIsAlpha:this.maskIsAlpha,validPixelCount:this.validPixelCount});null!=this.mask&&(h.mask=new Uint8Array(this.mask));this.bandMasks&&(h.bandMasks=this.bandMasks.map(n=>new Uint8Array(n)));let f;const g=Q.getPixelArrayConstructor(this.pixelType);if(this.pixels&&0<this.pixels.length){h.pixels=[];const n=!!this.pixels[0].slice;for(f=0;f<this.pixels.length;f++)h.pixels[f]=n?this.pixels[f].slice(0,this.pixels[f].length):new g(this.pixels[f])}if(this.statistics)for(h.statistics=
[],f=0;f<this.statistics.length;f++)h.statistics[f]=I.clone(this.statistics[f]);h.premultiplyAlpha=this.premultiplyAlpha;return h}_fillFrom8Bit(h){const {mask:f,maskIsAlpha:g,premultiplyAlpha:n,pixels:k}=this;if(h&&k?.length){var D,v;var t=D=v=k[0];3<=k.length?(D=k[1],v=k[2]):2===k.length&&(D=k[1]);var a=new Uint32Array(h),d=this.width*this.height;if(t.length!==d)x.getLogger(this).error("getAsRGBA()","Unable to convert to RGBA. The pixelblock is invalid.");else if(null!=f&&f.length===d)if(g)for(h=
0;h<d;h++){const e=f[h];if(e){const l=e/255;a[h]=n?e<<24|v[h]*l<<16|D[h]*l<<8|t[h]*l:e<<24|v[h]<<16|D[h]<<8|t[h]}}else for(h=0;h<d;h++)f[h]&&(a[h]=-16777216|v[h]<<16|D[h]<<8|t[h]);else for(h=0;h<d;h++)a[h]=-16777216|v[h]<<16|D[h]<<8|t[h]}else x.getLogger(this).error("getAsRGBA()","Unable to convert to RGBA. The input pixel block is empty.")}_fillFromNon8Bit(h){const {pixels:f,mask:g,statistics:n}=this;if(h&&f?.length){var k=this.pixelType,D=1,v=0;D=1;if(n&&0<n.length){for(var t of n)null!=t.minValue&&
(v=Math.min(v,t.minValue)),null!=t.maxValue&&null!=t.minValue&&(D=Math.max(D,t.maxValue-t.minValue));D=255/D}else D=255,"s8"===k?(v=-128,D=127):"u16"===k?D=65535:"s16"===k?(v=-32768,D=32767):"u32"===k?D=4294967295:"s32"===k?(v=-2147483648,D=2147483647):"f32"===k?(v=-3.4*1E39,D=3.4*1E39):"f64"===k&&(v=-Number.MAX_VALUE,D=Number.MAX_VALUE),D=255/(D-v);h=new Uint32Array(h);k=this.width*this.height;var a,d,e;t=a=d=f[0];if(t.length!==k)return x.getLogger(this).error("getAsRGBA()","Unable to convert to RGBA. The pixelblock is invalid.");
if(2<=f.length)if(a=f[1],3<=f.length&&(d=f[2]),null!=g&&g.length===k)for(e=0;e<k;e++)g[e]&&(h[e]=-16777216|(d[e]-v)*D<<16|(a[e]-v)*D<<8|(t[e]-v)*D);else for(e=0;e<k;e++)h[e]=-16777216|(d[e]-v)*D<<16|(a[e]-v)*D<<8|(t[e]-v)*D;else if(null!=g&&g.length===k)for(e=0;e<k;e++)a=(t[e]-v)*D,g[e]&&(h[e]=-16777216|a<<16|a<<8|a);else for(e=0;e<k;e++)a=(t[e]-v)*D,h[e]=-16777216|a<<16|a<<8|a}else x.getLogger(this).error("getAsRGBA()","Unable to convert to RGBA. The input pixel block is empty.")}_fillFrom32Bit(h){const {pixels:f,
mask:g}=this;if(!h||!f?.length)return x.getLogger(this).error("getAsRGBAFloat()","Unable to convert to RGBA. The input pixel block is empty.");let n,k,D,v;n=k=D=f[0];3<=f.length?(k=f[1],D=f[2]):2===f.length&&(k=f[1]);const t=this.width*this.height;if(n.length!==t)return x.getLogger(this).error("getAsRGBAFloat()","Unable to convert to RGBA. The pixelblock is invalid.");let a=0;if(null!=g&&g.length===t)for(v=0;v<t;v++)h[a++]=n[v],h[a++]=k[v],h[a++]=D[v],h[a++]=g[v]&1;else for(v=0;v<t;v++)h[a++]=n[v],
h[a++]=k[v],h[a++]=D[v],h[a++]=1}};C.__decorate([S.property({json:{write:!0}})],N.prototype,"width",void 0);C.__decorate([S.property({json:{write:!0}})],N.prototype,"height",void 0);C.__decorate([S.property({json:{write:!0}})],N.prototype,"pixelType",void 0);C.__decorate([X.cast("pixelType")],N.prototype,"castPixelType",null);C.__decorate([S.property({json:{write:!0}})],N.prototype,"validPixelCount",void 0);C.__decorate([S.property({json:{write:!0}})],N.prototype,"mask",void 0);C.__decorate([S.property({json:{write:!0}})],
N.prototype,"maskIsAlpha",void 0);C.__decorate([S.property({json:{write:!0}})],N.prototype,"pixels",void 0);C.__decorate([S.property()],N.prototype,"premultiplyAlpha",void 0);C.__decorate([S.property({json:{write:!0}})],N.prototype,"statistics",void 0);C.__decorate([S.property({json:{write:!0}})],N.prototype,"depthCount",void 0);C.__decorate([S.property({json:{write:!0}})],N.prototype,"noDataValues",void 0);C.__decorate([S.property({json:{write:!0}})],N.prototype,"bandMasks",void 0);return N=Q=C.__decorate([Y.subclass("esri.layers.support.PixelBlock")],
N)})},"esri/layers/support/SimpleBandStatistics":function(){define(["exports"],function(C){class F{constructor(N=null,I=null,x=null){this.minValue=N;this.maxValue=I;this.noDataValue=x}}C.SimpleBandStatistics=F;Object.defineProperty(C,Symbol.toStringTag,{value:"Module"})})},"esri/layers/support/rasterFormats/pixelRangeUtils":function(){define(["exports"],function(C){function F(I){return N[I]??[-3.4028234663852886E38,3.4028234663852886E38]}const N={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};C.convertNoDataToMask=function(I,x,S){if(!(I.depthCount&&1<I.depthCount)){var {pixels:X,statistics:Y,pixelType:L}=I,R=X[0].length,Q=I.bandMasks??[];R=I.mask??(new Uint8Array(R)).fill(255);var h="f32"===L||"f64"===L,f=F(L),g=!1;for(let D=0;D<X.length;D++){const v="number"===typeof x?x:x[D];
if(null==v)continue;var n=Y?.[D]?.maxValue??f[1];if((Y?.[D]?.minValue??f[0])>v+Number.EPSILON||n<v-Number.EPSILON)continue;n=Q[D]||R.slice();const t=X[D];var k=S?.customFloatTolerance;if(h&&0!==k){k||=9.999999E37<=Math.abs(v)?2E-7*Math.abs(v):"f32"===L?2**-23:Number.EPSILON;for(let a=0;a<t.length;a++)n[a]&&Math.abs(t[a]-v)<k&&(t[a]=0,n[a]=0,R[a]=0,g=!0)}else for(k=0;k<t.length;k++)n[k]&&t[k]===v&&(t[k]=0,n[k]=0,R[k]=0,g=!0);Q[D]=n}g&&(I.bandMasks=I.bandMasks||1<I.pixels.length?Q:null,I.mask=R);g&&
"updateStatistics"in I&&I.updateStatistics()}};C.getIntegerPixelType=function(I,x){return null==I||null==x?"s32":0>I?-128<=I&&128>x?"s8":-32768<=I&&32768>x?"s16":"s32":256>x?"u8":65536>x?"u16":"u32"};C.getPixelValueRange=F;C.isIntegerPixelType=function(I){return(I?.startsWith("s")||I?.startsWith("u"))??!1};Object.defineProperty(C,Symbol.toStringTag,{value:"Module"})})},"esri/layers/support/rasterFunctions/pixelUtils":function(){define(["exports","../PixelBlock","../rasterFormats/pixelRangeUtils"],
function(C,F,N){function I(a){return null!=a&&"esri.layers.support.PixelBlock"===a.declaredClass&&a.pixels&&0<a.pixels.length}function x(a,d,e,l,c){const b=a.length;c=F.createEmptyBand(c,b);if(d)for(let m=0;m<b;m++)d[m]&&(c[m]=e[a[m]-l]);else for(d=0;d<b;d++)c[d]=e[a[d]-l];return c}function S(a,d,e,l){const c=null!=e&&2<=e.length?new Set(e):null;e=1===e?.length?e[0]:null;const b=!!d?.length;for(let m=0;m<a.length;m++)if(l[m]){const r=a[m];if(b){let u=!1;for(let p=0;p<d.length;p+=2)if(r>=d[p]&&r<=
d[p+1]){u=!0;break}u||(l[m]=0)}l[m]&&(r===e||c?.has(r))&&(l[m]=0)}}function X(a,d){const e=a[0].length;for(let l=0;l<e;l++)if(d[l]){let c=!1;for(let b=0;b<a.length;b++)if(a[b][l]){c=!0;break}c||(d[l]=0)}}function Y(a,d){const e=a[0].length;for(let l=0;l<e;l++)if(d[l]){let c=!1;for(let b=0;b<a.length;b++)if(0===a[b][l]){c=!0;break}c&&(d[l]=0)}}function L(a,d,e,l,c,b,m,r){return{xmin:c<=e*a?0:c<e*a+a?c-e*a:a,ymin:b<=l*d?0:b<l*d+d?b-l*d:d,xmax:c+m<=e*a?0:c+m<e*a+a?c+m-e*a:a,ymax:b+r<=l*d?0:b+r<l*d+d?
b+r-l*d:d}}function R(a,d,e,l,c,b){const {width:m,height:r}=e.block,{x:u,y:p}=e.offset,{width:q,height:y}=e.mosaic;e=L(m,r,l,c,u,p,q,y);let z=0;var H=0;if(b){var E=b.hasGCSSShiftTransform?360:b.halfWorldWidth??0,K=m*b.resolutionX;const w=b.startX+l*K;w<E&&w+K>E?H=b.rightPadding:w>=E&&(z=b.leftMargin-b.rightPadding,H=0)}e.xmax-=H;if("number"===typeof d)for(b=e.ymin;b<e.ymax;b++)for(H=(c*r+b-p)*q+(l*m-u)+z,E=e.xmin;E<e.xmax;E++)a[H+E]=d;else for(b=e.ymin;b<e.ymax;b++)for(H=(c*r+b-p)*q+(l*m-u)+z,E=b*
m,K=e.xmin;K<e.xmax;K++)a[H+K]=d[E+K]}function Q(a,d,e={}){const {clipOffset:l,clipSize:c,alignmentInfo:b,blockWidths:m}=e;if(m)return h(a,d,{blockWidths:m});var r=a.find(P=>I(P));if(null==r)return null;e=c?c.width:d.width;const u=c?c.height:d.height;var p=r.width,q=r.height;const y=d.width/p,z=d.height/q;d={offset:l||{x:0,y:0},mosaic:c||d,block:{width:p,height:q}};p=r.pixelType;var H=F.getPixelArrayConstructor(p);r=r.pixels.length;q=[];for(var E=0;E<r;E++){var K=new H(e*u);for(var w=0;w<z;w++)for(var A=
0;A<y;A++){var G=a[w*y+A];I(G)&&(G=G.pixels[E],R(K,G,d,A,w,b))}q.push(K)}H=a.some(P=>null==P||null!=P.mask&&0<P.mask.length);K=a.some(P=>P?.bandMasks&&1<P.bandMasks.length);H=H?new Uint8Array(e*u):void 0;K=K?[]:void 0;if(H){for(E=0;E<z;E++)for(w=0;w<y;w++)A=a[E*y+w],G=null!=A?A.mask:null,null!=G?R(H,G,d,w,E,b):A?R(H,255,d,w,E,b):R(H,0,d,w,E,b);if(K)for(E=0;E<r;E++){w=new Uint8Array(e*u);for(A=0;A<z;A++)for(G=0;G<y;G++){const P=a[A*y+G],U=P?.bandMasks?.[E]??P?.mask;null!=U?R(w,U,d,G,A,b):P?R(w,255,
d,G,A,b):R(w,0,d,G,A,b)}K.push(w)}}a=new F({width:e,height:u,pixels:q,pixelType:p,bandMasks:K,mask:H});a.updateStatistics();return a}function h(a,d,e){const l=a.find(w=>null!=w);if(null==l)return null;var c=a.some(w=>null!=w?!!w.mask:!0);const {width:b,height:m}=d;d=c?new Uint8Array(b*m):null;({blockWidths:e}=e);const r=[],u=l.getPlaneCount(),p=F.getPixelArrayConstructor(l.pixelType);if(c)for(let w=0,A=0;w<a.length;A+=e[w],w++)if(c=a[w],I(c)){var q=c.mask;for(var y=0;y<m;y++)for(var z=0;z<e[w];z++)d[y*
b+z+A]=null==q?255:q[y*c.width+z]}q=(c=a.some(w=>w?.bandMasks&&1<w.bandMasks.length))?[]:void 0;y=b*m;for(z=0;z<u;z++){const w=new p(y),A=c?new Uint8Array(y):void 0;for(let G=0,P=0;G<a.length;P+=e[G],G++){const U=a[G];if(I(U)){var H=U.pixels[z];if(null!=H){for(var E=0;E<m;E++)for(var K=0;K<e[G];K++)w[E*b+K+P]=H[E*U.width+K];if(A)for(H=U.bandMasks?.[z]??U.mask,E=0;E<m;E++)for(K=0;K<e[G];K++)A[E*b+K+P]=H?H[E*U.width+K]:255}}}r.push(w);q&&A&&q.push(A)}a=new F({width:b,height:m,mask:d,bandMasks:q,pixels:r,
pixelType:l.pixelType});a.updateStatistics();return a}function f(a){if(!I(a))return null;const d=a.clone(),{width:e,height:l,pixels:c}=a;var b=c[0];const m=d.pixels[0];a=a.mask;for(let p=2;p<l-1;p++){const q=new Map;for(var r=p-2;r<p+2;r++)for(var u=0;4>u;u++){const y=r*e+u;k(q,b[y],a?a[y]:1)}m[p*e]=g(q);m[p*e+1]=m[p*e+2]=m[p*e];for(r=3;r<e-1;r++)u=(p-2)*e+r+1,k(q,b[u],a?a[u]:1),u=(p-1)*e+r+1,k(q,b[u],a?a[u]:1),u=p*e+r+1,k(q,b[u],a?a[u]:1),u=(p+1)*e+r+1,k(q,b[u],a?a[u]:1),u=(p-2)*e+r-3,n(q,b[u],a?
a[u]:1),u=(p-1)*e+r-3,n(q,b[u],a?a[u]:1),u=p*e+r-3,n(q,b[u],a?a[u]:1),u=(p+1)*e+r-3,n(q,b[u],a?a[u]:1),m[p*e+r]=g(q);m[p*e+r+1]=m[p*e+r]}for(b=0;b<e;b++)m[b]=m[e+b]=m[2*e+b],m[(l-1)*e+b]=m[(l-2)*e+b];d.updateStatistics();return d}function g(a){if(0===a.size)return 0;let d=0,e=-1,l=0;const c=a.keys();let b=c.next();for(;!b.done;)l=a.get(b.value),l>d&&(e=b.value,d=l),b=c.next();return e}function n(a,d,e){0!==e&&(e=a.get(d),1===e?a.delete(d):a.set(d,e-1))}function k(a,d,e){0!==e&&a.set(d,a.has(d)?a.get(d)+
1:1)}function D(a,d,e){let {x:l,y:c}=d;const {width:b,height:m}=e;if(0===l&&0===c&&m===a.height&&b===a.width)return a;const {width:r,height:u}=a;d=Math.max(0,c);const p=Math.max(0,l),q=Math.min(l+b,r),y=Math.min(c+m,u);if(0>q||0>y||!I(a))return null;l=Math.max(0,-l);c=Math.max(0,-c);var {pixels:z}=a,H=b*m,E=z.length;const K=[];for(var w=0;w<E;w++){var A=z[w],G=F.createEmptyBand(a.pixelType,H);for(let P=d;P<y;P++){const U=P*r;let V=(P+c-d)*b+l;for(let T=p;T<q;T++)G[V++]=A[U+T]}K.push(G)}z=new Uint8Array(H);
H=a.mask;for(E=d;E<y;E++)for(w=E*r,A=(E+c-d)*b+l,G=p;G<q;G++)z[A++]=H?H[w+G]:1;a=new F({width:e.width,height:e.height,pixelType:a.pixelType,pixels:K,mask:z});a.updateStatistics();return a}function v(a,d=!0){if(!I(a))return null;const {pixels:e,width:l,height:c,mask:b,pixelType:m}=a;a=[];const r=Math.round(l/2),u=Math.round(c/2),p=c-1,q=l-1;for(var y=0;y<e.length;y++){var z=e[y],H=F.createEmptyBand(m,r*u),E=0;for(var K=0;K<c;K+=2)for(var w=0;w<l;w+=2){var A=z[K*l+w];if(d){var G=w===q?A:z[K*l+w+1];
const P=K===p?A:z[K*l+w+l],U=w===q?P:K===p?G:z[K*l+w+l+1];H[E++]=(A+G+P+U)/4}else H[E++]=A}a.push(H)}y=null;if(null!=b)for(y=new Uint8Array(r*u),z=0,H=0;H<c;H+=2)for(E=0;E<l;E+=2)K=b[H*l+E],d?(w=E===q?K:b[H*l+E+1],A=H===p?K:b[H*l+E+l],G=E===q?A:H===p?w:b[H*l+E+l+1],y[z++]=K*w*A*G?1:0):y[z++]=K;return new F({width:r,height:u,pixelType:m,pixels:a,mask:y})}function t(a,d,e,l,c=0){const {width:b,height:m}=a,{width:r,height:u}=d;a=l.cols;l=l.rows;d=Math.ceil(r/a-.1/a);const p=Math.ceil(u/l-.1/l);let q,
y,z,H,E;const K=d*a;var w=K*p*l;const A=new Float32Array(w),G=new Float32Array(w),P=new Uint32Array(w),U=new Uint32Array(w);let V=0,T,J;for(let aa=0;aa<p;aa++)for(let W=0;W<d;W++){var O=12*(aa*d+W);w=e[O];q=e[O+1];y=e[O+2];z=e[O+3];H=e[O+4];E=e[O+5];for(var Z=0;Z<l;Z++){V=(aa*l+Z)*K+W*a;J=(Z+.5)/l;for(let da=0;da<Z;da++)T=(da+.5)/a,A[V+da]=(w*T+q*J+y)*b+c,G[V+da]=(z*T+H*J+E)*m+c,P[V+da]=Math.floor(A[V+da]),U[V+da]=Math.floor(G[V+da])}O+=6;w=e[O];q=e[O+1];y=e[O+2];z=e[O+3];H=e[O+4];E=e[O+5];for(O=
0;O<l;O++)for(V=(aa*l+O)*K+W*a,J=(O+.5)/l,Z=O;Z<a;Z++)T=(Z+.5)/a,A[V+Z]=(w*T+q*J+y)*b+c,G[V+Z]=(z*T+H*J+E)*m+c,P[V+Z]=Math.floor(A[V+Z]),U[V+Z]=Math.floor(G[V+Z])}return{offsets_x:A,offsets_y:G,offsets_xi:P,offsets_yi:U,gridWidth:K}}C.NoDataInterpretation=void 0;(function(a){a[a.matchAny=0]="matchAny";a[a.matchAll=1]="matchAll"})(C.NoDataInterpretation||(C.NoDataInterpretation={}));C.MissingBandAction=void 0;(function(a){a[a.bestMatch=0]="bestMatch";a[a.fail=1]="fail"})(C.MissingBandAction||(C.MissingBandAction=
{}));C.approximateTransform=function(a,d,e,l,c="nearest"){if(!I(a))return null;"majority"===c&&(a=f(a));const {pixels:b,mask:m,bandMasks:r,pixelType:u}=a,p=a.width;var q=a.height;const y=F.getPixelArrayConstructor(u),z=b.length,{width:H,height:E}=d;a=!1;for(var K=0;K<e.length;K+=3)-1===e[K]&&-1===e[K+1]&&-1===e[K+2]&&(a=!0);const {offsets_x:w,offsets_y:A,offsets_xi:G,offsets_yi:P,gridWidth:U}=t({width:p,height:q},d,e,l,"majority"===c?.5:0);let V;d=(J,O,Z,aa)=>{const W=J instanceof Float32Array||J instanceof
Float64Array?0:.5;for(let da=0;da<E;da++){V=da*U;for(let ca=0;ca<H;ca++){if(0>w[V]||0>A[V])J[da*H+ca]=0;else if(aa)J[da*H+ca]=O[G[V]+P[V]*p];else{const fa=Math.floor(w[V]),ha=Math.floor(A[V]),na=Math.ceil(w[V]),ma=Math.ceil(A[V]),ia=w[V]-fa,ua=A[V]-ha;J[da*H+ca]=!Z||Z[fa+ha*p]&&Z[na+ha*p]&&Z[fa+ma*p]&&Z[na+ma*p]?(1-ua)*((1-ia)*O[fa+ha*p]+ia*O[na+ha*p])+ua*((1-ia)*O[fa+ma*p]+ia*O[na+ma*p])+W:O[G[V]+P[V]*p]}V++}}};e=[];l=r?.length===z;q=[];for(K=0;K<z;K++){if(l){var T=new Uint8Array(H*E);d(T,r[K],r[K],
!0);q.push(T)}T=new y(H*E);d(T,b[K],l?r[K]:m,"nearest"===c||"majority"===c);e.push(T)}c=new F({width:H,height:E,pixelType:u,pixels:e,bandMasks:l?q:void 0});if(null!=m)c.mask=new Uint8Array(H*E),d(c.mask,m,m,!0);else if(a)for(c.mask=new Uint8Array(H*E),a=0;a<H*E;a++)c.mask[a]=0>w[a]||0>A[a]?0:1;c.updateStatistics();return c};C.clip=D;C.clipTile=function(a){const {pixelBlock:d,tileSize:e,level:l,row:c,col:b,useBilinear:m}=a;if(!I(d))return null;const {width:r,height:u}=e;var p=2**l;a=p*r;p*=u;a=D(d,
{y:c*p,x:b*a},{width:a,height:p});if(!a)return null;for(p=l;0<p;p--)a=v(a,m);return a};C.colorize=function(a,d){if(!I(a)||!d||!d.indexedColormap&&!d.indexed2DColormap)return a;const e=a.clone();var l=e.pixels;let c=e.mask;const b=e.width*e.height;if(1!==l.length)return a;const {indexedColormap:m,indexed2DColormap:r,offset:u,alphaSpecified:p}=d;a=0;l=l[0];d=new Uint8Array(l.length);const q=new Uint8Array(l.length),y=new Uint8Array(l.length);var z=0;if(m){const H=m.length-1;if(null!=c)for(a=0;a<b;a++)c[a]&&
(z=4*(l[a]-u),z<u||z>H?c[a]=0:(d[a]=m[z],q[a]=m[z+1],y[a]=m[z+2],c[a]=m[z+3]));else{c=new Uint8Array(b);for(a=0;a<b;a++)z=4*(l[a]-u),z<u||z>H?c[a]=0:(d[a]=m[z],q[a]=m[z+1],y[a]=m[z+2],c[a]=m[z+3]);e.mask=c}}else if(r)if(null!=c)for(a=0;a<b;a++)c[a]&&(z=r[l[a]],d[a]=z[0],q[a]=z[1],y[a]=z[2],c[a]=z[3]);else{c=new Uint8Array(b);for(a=0;a<b;a++)z=r[l[a]],d[a]=z[0],q[a]=z[1],y[a]=z[2],c[a]=z[3];e.mask=c}e.pixels=[d,q,y];e.statistics=null;e.pixelType="u8";e.maskIsAlpha=p;return e};C.compositeBands=function(a){if(!a?.length||
a.some(u=>!I(u)))return null;if(1===a.length)return a[0]?.clone()??null;const {width:d,height:e,pixelType:l}=a[0];if(a.some(u=>u.width!==d||u.height!==e))return null;const c=a.map(({mask:u})=>u).filter(u=>null!=u);let b=null;c.length&&(b=new Uint8Array(d*e),b.set(c[0]),1<c.length&&Y(c.slice(1),b));const m=[];a.forEach(({pixels:u})=>m.push(...u));const r=[];a.map(({statistics:u})=>u).filter(u=>u?.length).forEach(u=>r.push(...u));return new F({pixelType:l,width:d,height:e,mask:b,pixels:m,statistics:r.length?
r:null})};C.createColormapLUT=function(a){if(a){var d=a.colormap;if(d&&0!==d.length){d=d.sort((p,q)=>p[0]-q[0]);var e=0;0>d[0][0]&&(e=d[0][0]);var l=Math.max(256,d[d.length-1][0]-e+1),c=new Uint8Array(4*l),b=[],m=0,r=0,u=5===d[0].length;if(65536<l)return d.forEach(p=>{b[p[0]-e]=u?p.slice(1):p.slice(1).concat([255])}),{indexed2DColormap:b,offset:e,alphaSpecified:u};if(a.fillUnspecified)for(a=d[r],m=a[0]-e;m<l;m++)c[4*m]=a[1],c[4*m+1]=a[2],c[4*m+2]=a[3],c[4*m+3]=u?a[4]:255,m===a[0]-e&&(a=r===d.length-
1?a:d[++r]);else for(m=0;m<d.length;m++)a=d[m],r=4*(a[0]-e),c[r]=a[1],c[r+1]=a[2],c[r+2]=a[3],c[r+3]=u?a[4]:255;return{indexedColormap:c,offset:e,alphaSpecified:u}}}};C.createMaskLUT=function(a,d,e){if("u8"!==a&&"s8"!==a&&"u16"!==a&&"s16"!==a)return null;var l=a.includes("16")?65536:256;a=a.includes("s")?-l/2:0;l=new Uint8Array(l);if(d)for(let b=0;b<d.length;b++){var c=Math.ceil(d[2*b]-a);const m=Math.floor(d[2*b+1]-a);for(;c<=m;c++)l[c]=255}else l.fill(255);if(e)for(d=0;d<e.length;d++)l[e[d]-a]=
0;return{lut:l,offset:a}};C.createRemapLUT=function(a){const {srcPixelType:d,inputRanges:e,outputValues:l,allowUnmatched:c,noDataRanges:b,isLastInputRangeInclusive:m,outputPixelType:r}=a;if("u8"!==d&&"s8"!==d&&"u16"!==d&&"s16"!==d)return null;var u=d.includes("16")?65536:256;a=d.includes("s")?-u/2:0;const p=F.createEmptyBand(r,u);u=new Uint8Array(u);c&&u.fill(255);const [q,y]=N.getPixelValueRange(r);if(e?.length&&l?.length){var z=e.map(w=>w-1E-6);z[0]=e[0];m&&(z[z.length-1]=e[e.length-1]);for(var H=
0;H<z.length;H++){var E=l[H]>y?y:l[H]<q?q:l[H],K=Math.ceil(z[2*H]-a);const w=Math.floor(z[2*H+1]-a);for(;K<=w;K++)p[K]=E,u[K]=255}}if(b?.length)for(z=0;z<b.length;z++)for(E=Math.ceil(b[2*z]-a),H=Math.floor(b[2*z+1]-a);E<=H;E++)u[E]=0;return{lut:p,offset:a,mask:u}};C.extractBands=function(a,d){return d?.length&&I(a)?a.extractBands(d):a};C.getClipBounds=L;C.getLocalArithmeticNorthRotations=function(a,d){const {coefficients:e,spacing:l}=d,{offsets_x:c,offsets_y:b,gridWidth:m}=t(a,a,e,{rows:l[0],cols:l[1]}),
{width:r,height:u}=a;a=new Float32Array(r*u);d=180/Math.PI;for(let y=0;y<u;y++)for(let z=0;z<r;z++){var p=y*m+z,q=0===y?p:p-m;const H=y===u-1?p:p+m;p=c[q]-c[H];q=b[H]-b[q];isNaN(p)||isNaN(q)?a[y*r+z]=90:(q=Math.atan2(q,p)*d,q=(360+q)%360,a[y*r+z]=q)}return a};C.interpolateOffsets=t;C.isValidPixelBlock=I;C.lookupBandValues=x;C.lookupPixels=function(a,d){if(!I(a))return null;const {pixels:e,mask:l}=a,c=e.length;let b=d.lut;const {offset:m}=d;b&&1===b[0].length&&(b=e.map(()=>b));const r=[];d=d.outputPixelType||
"u8";for(let u=0;u<c;u++){const p=x(e[u],l,b[u],m||0,d);r.push(p)}a=new F({width:a.width,height:a.height,pixels:r,mask:l,pixelType:d});a.updateStatistics();return a};C.mask=function(a,d){if(!I(a))return null;const {width:e,height:l,pixels:c}=a;var b=e*l;const m=new Uint8Array(b);a.mask?m.set(a.mask):m.fill(255);a=c.length;const {includedRanges:r,noDataValues:u,outputPixelType:p,matchAll:q,lookups:y}=d;if(y){b=[];for(d=0;d<a;d++){var z=y[d];z=x(c[d],m,z.lut,z.offset||0,"u8");b.push(z)}1===b.length?
m.set(b[0]):q?X(b,m):Y(b,m)}else if(q){d=[];for(z=0;z<a;z++){const H=new Uint8Array(b);H.set(m);S(c[z],r?.slice(2*z,2*z+2),u?.[z],H);d.push(H)}1===d.length?m.set(d[0]):X(d,m)}else for(b=0;b<a;b++)S(c[b],r?.slice(2*b,2*b+2),u?.[b],m);return new F({width:e,height:l,pixelType:p,pixels:c,mask:m})};C.maxMapSizeGpu=6;C.mosaic=Q;C.mosaicPixelData=function(a,d){if(!a||0===a.length)return null;var e=a.find(y=>y.pixelBlock);if(null==e?.pixelBlock)return null;var l=(e.extent.xmax-e.extent.xmin)/e.pixelBlock.width;
const c=(e.extent.ymax-e.extent.ymin)/e.pixelBlock.height,b=.01*Math.min(l,c),m=a.sort((y,z)=>Math.abs(y.extent.ymax-z.extent.ymax)>b?z.extent.ymax-y.extent.ymax:Math.abs(y.extent.xmin-z.extent.xmin)>b?y.extent.xmin-z.extent.xmin:0);var r=Math.min.apply(null,m.map(y=>y.extent.xmin));const u=Math.min.apply(null,m.map(y=>y.extent.ymin)),p=Math.max.apply(null,m.map(y=>y.extent.xmax)),q=Math.max.apply(null,m.map(y=>y.extent.ymax));a={x:Math.round((d.xmin-r)/l),y:Math.round((q-d.ymax)/c)};r={width:Math.round((p-
r)/l),height:Math.round((q-u)/c)};l={width:Math.round((d.xmax-d.xmin)/l),height:Math.round((d.ymax-d.ymin)/c)};if(Math.round(r.width/e.pixelBlock.width)*Math.round(r.height/e.pixelBlock.height)!==m.length||0>a.x||0>a.y||r.width<l.width||r.height<l.height)return null;e=m.map(y=>y.pixelBlock);e=Q(e,r,{clipOffset:a,clipSize:l});return{extent:d,pixelBlock:e}};C.remap=function(a,d){if(!I(a))return null;const {width:e,height:l}=a,{inputRanges:c,outputValues:b,outputPixelType:m,noDataRanges:r,allowUnmatched:u,
isLastInputRangeInclusive:p}=d;d=a.pixels[0];const q=F.createEmptyBand(m,d.length),y=a.mask,z=new Uint8Array(e*l);y?z.set(y):z.fill(255);const H=a.pixelType.startsWith("f")?1E-6:0;a=c.map(V=>V-H);a[0]=c[0];a[a.length-1]=c[c.length-1]+(p?1E-6:0);var E=c.length/2;const [K,w]=N.getPixelValueRange(m);for(var A=0;A<l;A++)for(var G=0;G<e;G++){var P=A*e+G;if(z[P]){var U=d[P];let V=!1;for(let T=E-1;0<=T;T--)if(U===a[2*T]||U>a[2*T]&&U<a[2*T+1]){q[P]=b[T];V=!0;break}V||(u?q[P]=U>w?w:U<K?K:U:z[P]=0)}}if(a=r?.length)for(E=
0;E<l;E++)for(A=0;A<e;A++)if(G=E*e+A,!y||y[G])for(P=d[G],U=0;U<a;U+=2)if(P>=r[U]&&P<=r[U+1]){q[G]=0;z[G]=0;break}return new F({width:e,height:l,pixelType:m,pixels:[q],mask:z})};C.remapColor=function(a,d){if(!I(a))return null;a=a.clone();var {pixels:e}=a;const l=a.width*a.height,c=d.length,b=Math.floor(c/2),m=d[Math.floor(b)];e=e[0];let r,u,p,q,y,z,H=!1;const E=new Uint8Array(l),K=new Uint8Array(l),w=new Uint8Array(l);let A=a.mask;const G=4===d[0].mappedColor.length;A||(A=new Uint8Array(l),A.fill(G?
255:1),a.mask=A);for(y=0;y<l;y++)if(A[y]){r=e[y];H=!1;z=b;u=m;p=0;for(q=c-1;1<q-p;){if(r===u.value){H=!0;break}r>u.value?p=z:q=z;z=Math.floor((p+q)/2);u=d[Math.floor(z)]}H||(r===d[p].value?(u=d[p],H=!0):r===d[q].value?(u=d[q],H=!0):r<d[p].value?(H=!1,u=null):r>d[p].value&&(r<d[q].value?(u=d[p],H=!0):q===c-1?(H=!1,u=null):(u=d[q],H=!0)));H?(E[y]=u.mappedColor[0],K[y]=u.mappedColor[1],w[y]=u.mappedColor[2],A[y]=u.mappedColor[3]):E[y]=K[y]=w[y]=A[y]=0}a.pixels=[E,K,w];a.mask=A;a.pixelType="u8";a.maskIsAlpha=
G;return a};C.resampleByMajority=f;C.setValidBoundary=function(a,d,e){if(!I(a))return null;const {width:l,height:c}=a,b=d.x;d=d.y;const m=e.width+b;e=e.height+d;if(0>b||0>d||m>l||e>c||0===b&&0===d&&m===l&&e===c)return a;a.mask||(a.mask=new Uint8Array(l*c));const r=a.mask;for(let u=0;u<c;u++){const p=u*l;for(let q=0;q<l;q++)r[p+q]=u<d||u>=e||q<b||q>=m?0:1}a.updateStatistics();return a};C.split=function(a,d,e=0,l=!0){if(!I(a))return null;const {width:c,height:b}=d;let {width:m,height:r}=a;const u=new Map,
p={x:0,y:0};e=1+e;for(let q=0;q<e;q++){const y=Math.ceil(m/c),z=Math.ceil(r/b);for(let H=0;H<z;H++){p.y=H*b;for(let E=0;E<y;E++){p.x=E*c;const K=D(a,p,d);u.set(`${q}/${H}/${E}`,K)}}q<e-1&&(a=v(a,l));m=Math.round(m/2);r=Math.round(r/2)}return u};Object.defineProperty(C,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(C,F,N,I,x,S,X,Y,L,R,Q,h){function f(c){c=c.symbolLayers;if(!c)return null;let b=null;c.forEach(m=>{"object"===m.type&&m.resource?.href||(b="water"===m.type?m.color:m.material?m.material.color:null)});return b?new N(b):null}function g(c,b){if(null==b||null==c)return c;c=c.toRgba();c[3]*=b;return new N(c)}function n(c,b,m){if(c=c.symbolLayers){var r=u=>{b=b??u??(null!=m?l:null);return g(b,m)};c.forEach(u=>{if("object"!==u.type||!u.resource?.href||b)if("water"===u.type)u.color=r(u.color);else{const p=
r(null!=u.material?u.material.color:null);null==u.material?u.material=new h.Symbol3DMaterial({color:p}):u.material.color=p;null!=m&&"outline"in u&&null!=u.outline?.color&&(u.outline.color=g(u.outline.color,m))}})}}async function k(c,b){(c=c.symbolLayers)&&await x.forEach(c,async m=>D(m,b))}async function D(c,b){switch(c.type){case "extrude":c.size="number"===typeof b[2]?b[2]:0;break;case "icon":case "line":case "text":b=v(b);null!=b&&(c.size=b);break;case "path":const m=a(b,Y.ONES,[c.width,void 0,
c.height]);c.width=e(b[0],c.width,1,m);c.height=e(b[2],c.height,1,m);break;case "object":await t(c,b)}}function v(c){for(const b of c)if("number"===typeof b)return b;return null}async function t(c,b){const {resourceSize:m,symbolSize:r}=await d(c),u=a(b,m,r);c.width=e(b[0],r[0],m[0],u);c.depth=e(b[1],r[1],m[1],u);c.height=e(b[2],r[2],m[2],u)}function a(c,b,m){for(let r=0;3>r;r++){const u=c[r];switch(u){case "symbol-value":return c=m[r],null!=c?c/b[r]:1;case "proportional":break;default:if(u&&b[r])return u/
b[r]}}return 1}async function d(c){var {computeObjectLayerResourceSize:b}=await new Promise((y,z)=>C(["./symbolLayerUtils"],y,z));b=await b(c,10);const {width:m,height:r,depth:u}=c;c=[m,u,r];let p=1;for(var q=0;3>q;q++){const y=c[q];if(null!=y){p=y/b[q];break}}for(q=0;3>q;q++)null==c[q]&&(c[q]=b[q]*p);return{resourceSize:b,symbolSize:c}}function e(c,b,m,r){switch(c){case "proportional":return m*r;case "symbol-value":return null!=b?b:m;default:return c}}const l=new N("white");F.applyColorToSymbol=
function(c,b,m){if(c&&(b||null!=m))if(b&&=new N(b),I.isSymbol3D(c))n(c,b,m);else if(I.isSymbol2D(c)){if(b=b??c.color)c.color=g(b,m);null!=m&&"outline"in c&&c.outline?.color&&(c.outline.color=g(c.outline.color,m))}};F.applyOpacityToColor=g;F.applyRotationToSymbol=function(c,b,m){c&&null!=b&&(I.isSymbol3D(c)?(c=c.symbolLayers)&&c.forEach(r=>{if(r&&"object"===r.type)switch(m){case "tilt":r.tilt=(r.tilt??0)+b;break;case "roll":r.roll=(r.roll??0)+b;break;default:r.heading=(r.heading??0)+b}}):!I.isSymbol2D(c)||
"simple-marker"!==c.type&&"picture-marker"!==c.type&&"text"!==c.type||(c.angle+=b))};F.applySizesToSymbol=async function(c,b){if(c&&b){if(I.isSymbol3D(c))return k(c,b);if(I.isSymbol2D(c)&&(b=v(b),null!=b))switch(c.type){case "simple-marker":c.size=b;break;case "picture-marker":const m=c.width/c.height;1<m?(c.width=b,c.height=b*m):(c.width=b*m,c.height=b);break;case "simple-line":c.width=b;break;case "text":c.font.size=b}}};F.fetchWebStyleSymbol=async function(c,b){const m=await c.fetchSymbol(b);return m?
m:c.fetchCIMSymbol(b)};F.getCSSFilterFromEffectList=function(c){if(!c)return null;c=c.effects.filter(b=>"bloom"!==b.type).map(b=>b.toJSON());return L.effectFunctionsFromJSON(c)};F.getColorFromSymbol=function(c,b){if(!c)return null;let m=null;I.isSymbol3D(c)?m=f(c):I.isSymbol2D(c)&&(m="cim"===c.type?R.getCIMSymbolColor(c):c.color?new N(c.color):null);return m?g(m,b):null};F.getIconHref=function(c){return c.resource?.href??""};F.getSymbolOutlineSize=function(c){return c?I.isSymbol3D(c)?(c=(c=c.symbolLayers?.at(-1))&&
"outline"in c?c?.outline?.size:void 0,null!=c?c:0):X.px2pt(Q.getStroke(c)?.width):0};F.isVolumetricSymbol=function(c){if(null==c||!("symbolLayers"in c)||null==c.symbolLayers)return!1;switch(c.type){case "point-3d":return c.symbolLayers.some(b=>"object"===b.type);case "line-3d":return c.symbolLayers.some(b=>"path"===b.type);case "polygon-3d":return c.symbolLayers.some(b=>"object"===b.type||"extrude"===b.type);default:return!1}};F.symbolHasExtrudeSymbolLayer=function(c){return null!=c&&"polygon-3d"===
c.type&&c.symbolLayers.some(b=>"extrude"===b.type)};Object.defineProperty(F,Symbol.toStringTag,{value:"Module"})})},"esri/symbols/support/cimSymbolUtils":function(){define(["exports","../../Color","../cim/utils"],function(C,F,N){function I(h){h=N.toCIMSymbolJSON(h);if("CIMTextSymbol"===h?.type)return h.height??0;let f=0;if(h?.symbolLayers)for(const g of h.symbolLayers)N.isCIMMarker(g)&&null!=g.size&&g.size>f?f=g.size:N.isCIMStroke(g)&&null!=g.width&&g.width>f?f=g.width:N.isCIMFill(g);return f}function x(h,
f,g,n){if(h)if("CIMTextSymbol"===h.type)null!=h.height&&(h.height*=f);else{if(g&&h.effects)for(const k of h.effects)Y(k,f);if(h.symbolLayers)for(const k of h.symbolLayers)switch(k.type){case "CIMPictureMarker":case "CIMVectorMarker":S(k,f,n);break;case "CIMPictureStroke":case "CIMSolidStroke":!n?.preserveOutlineWidth&&k.width&&(k.width*=f);break;case "CIMPictureFill":k.height&&(k.height*=f);k.offsetX&&(k.offsetX*=f);k.offsetY&&(k.offsetY*=f);break;case "CIMHatchFill":x(k.lineSymbol,f,!0,{...n,preserveOutlineWidth:!1}),
k.offsetX&&(k.offsetX*=f),k.offsetY&&(k.offsetY*=f),k.separation&&(k.separation*=f)}}}function S(h,f,g){if(h&&(h.markerPlacement&&X(h.markerPlacement,f),h.offsetX&&(h.offsetX*=f),h.offsetY&&(h.offsetY*=f),h.anchorPoint&&"Absolute"===h.anchorPointUnits&&(h.anchorPoint={x:h.anchorPoint.x*f,y:h.anchorPoint.y*f}),h.size=null!=h.size?h.size*f:0,"CIMVectorMarker"===h.type&&h.markerGraphics))for(const n of h.markerGraphics)h.scaleSymbolsProportionally||x(n.symbol,f,!0,g)}function X(h,f){N.isCIMMarkerStrokePlacement(h)&&
h.offset&&(h.offset*=f);switch(h.type){case "CIMMarkerPlacementAlongLineRandomSize":case "CIMMarkerPlacementAlongLineSameSize":h.customEndingOffset&&(h.customEndingOffset*=f);h.offsetAlongLine&&(h.offsetAlongLine*=f);if(h.placementTemplate&&h.placementTemplate.length){var g=h.placementTemplate.map(n=>n*f);h.placementTemplate=g}break;case "CIMMarkerPlacementAlongLineVariableSize":h.maxRandomOffset&&(h.maxRandomOffset*=f);h.placementTemplate&&h.placementTemplate.length&&(g=h.placementTemplate.map(n=>
n*f),h.placementTemplate=g);break;case "CIMMarkerPlacementOnLine":h.startPointOffset&&(h.startPointOffset*=f);break;case "CIMMarkerPlacementAtExtremities":h.offsetAlongLine&&(h.offsetAlongLine*=f);break;case "CIMMarkerPlacementAtRatioPositions":h.beginPosition&&(h.beginPosition*=f);h.endPosition&&(h.endPosition*=f);break;case "CIMMarkerPlacementPolygonCenter":h.offsetX&&(h.offsetX*=f);h.offsetY&&(h.offsetY*=f);break;case "CIMMarkerPlacementInsidePolygon":h.offsetX&&(h.offsetX*=f),h.offsetY&&(h.offsetY*=
f),h.stepX&&(h.stepX*=f),h.stepY&&(h.stepY*=f)}}function Y(h,f){switch(h.type){case "CIMGeometricEffectArrow":case "CIMGeometricEffectDonut":h.width&&(h.width*=f);break;case "CIMGeometricEffectBuffer":h.size&&(h.size*=f);break;case "CIMGeometricEffectCut":h.beginCut&&(h.beginCut*=f);h.endCut&&(h.endCut*=f);h.middleCut&&(h.middleCut*=f);break;case "CIMGeometricEffectDashes":h.customEndingOffset&&(h.customEndingOffset*=f);h.offsetAlongLine&&(h.offsetAlongLine*=f);if(h.dashTemplate&&h.dashTemplate.length){const g=
h.dashTemplate.map(n=>n*f);h.dashTemplate=g}break;case "CIMGeometricEffectExtension":case "CIMGeometricEffectJog":case "CIMGeometricEffectRadial":h.length&&(h.length*=f);break;case "CIMGeometricEffectMove":h.offsetX&&(h.offsetX*=f);h.offsetY&&(h.offsetY*=f);break;case "CIMGeometricEffectOffset":case "CIMGeometricEffectOffsetTangent":h.offset&&(h.offset*=f);break;case "CIMGeometricEffectRegularPolygon":h.radius&&(h.radius*=f);break;case "CIMGeometricEffectTaperedPolygon":h.fromWidth&&(h.fromWidth*=
f);h.length&&(h.length*=f);h.toWidth&&(h.toWidth*=f);break;case "CIMGeometricEffectWave":h.amplitude&&(h.amplitude*=f),h.period&&(h.period*=f)}}function L(h,f){if(h){var g="CIMTextSymbol"===h.type?h.symbol:h;h="CIMPolygonSymbol"===h.type;if(g?.symbolLayers)for(const n of g.symbolLayers)if(!(n.colorLocked||h&&(N.isCIMStroke(n)||N.isCIMMarker(n)&&n.markerPlacement&&N.isCIMMarkerStrokePlacement(n.markerPlacement))))switch(n.type){case "CIMPictureMarker":case "CIMPictureStroke":case "CIMPictureFill":n.tintColor&&
R(f,n.tintColor);break;case "CIMVectorMarker":n.markerGraphics?.forEach(k=>{L(k.symbol,f)});break;case "CIMSolidStroke":case "CIMSolidFill":R(f,n.color);break;case "CIMHatchFill":L(n.lineSymbol,f)}}}function R(h,f){for(const g of h)if(g.join(".")===f.join("."))return;h.push(f)}function Q(h,f,g){if(h){var n="CIMTextSymbol"===h.type?h.symbol:h;h="CIMPolygonSymbol"===n?.type;if(n?.symbolLayers)for(const k of n.symbolLayers)if(!k.colorLocked){if(h)if(g){if({layersToColor:n}=g,(N.isCIMStroke(k)||N.isCIMMarker(k)&&
k.markerPlacement&&N.isCIMMarkerStrokePlacement(k.markerPlacement))&&"fill"===n||N.isCIMFill(k)&&"outline"===n)continue}else if(N.isCIMStroke(k)||N.isCIMMarker(k)&&k.markerPlacement&&N.isCIMMarkerStrokePlacement(k.markerPlacement))continue;n=f.toArray();switch(k.type){case "CIMPictureMarker":case "CIMPictureStroke":case "CIMPictureFill":k.tintColor=n;break;case "CIMVectorMarker":k.markerGraphics?.forEach(D=>{Q(D.symbol,f,g)});break;case "CIMSolidStroke":case "CIMSolidFill":k.color=n;break;case "CIMHatchFill":Q(k.lineSymbol,
f,g)}}}}C.applyCIMSymbolColor=function(h,f,g){f instanceof F||(f=new F(f));(h=N.toCIMSymbolJSON(h))&&Q(h,f,g)};C.applyCIMSymbolRotation=function(h,f,g=!1){h=N.toCIMSymbolJSON(h);g&&(f=360-f);if("CIMTextSymbol"===h?.type)h.angle=f;else if("CIMPointSymbol"===h?.type&&h.symbolLayers){g=f-(h.angle||0);for(const n of h.symbolLayers)if(N.isCIMMarker(n)){let k=n.rotation||0;k=n.rotateClockwise?k-g:k+g;n.rotation=k}h.angle=f}};C.getCIMSymbolColor=function(h){h=N.toCIMSymbolJSON(h);const f=[];L(h,f);return f.length?
new F(N.normalizeAlpha(f[0])):null};C.getCIMSymbolRotation=function(h,f=!1){h=N.toCIMSymbolJSON(h);return"CIMTextSymbol"===h?.type||"CIMPointSymbol"===h?.type?(h=h.angle,null!=h&&f?360-h:h??0):0};C.getCIMSymbolSize=I;C.getCIMSymbolType=function(h){h=N.toCIMSymbolJSON(h);if(!h)return null;switch(h.type){case "CIMPointSymbol":return"CIMPointSymbol";case "CIMLineSymbol":return"CIMLineSymbol";case "CIMPolygonSymbol":return"CIMPolygonSymbol";case "CIMTextSymbol":return"CIMTextSymbol";case "CIMMeshSymbol":return"CIMMeshSymbol";
default:return null}};C.scaleCIMMarker=S;C.scaleCIMSymbol=x;C.scaleCIMSymbolTo=function(h,f,g){if(h){var n=N.toCIMSymbolJSON(h);h=I(h);if(0===h){if(n)if("CIMTextSymbol"===n.type)n.height=f;else if(n.symbolLayers)for(const k of n.symbolLayers)switch(k.type){case "CIMPictureMarker":case "CIMVectorMarker":k.size=f;break;case "CIMPictureStroke":case "CIMSolidStroke":k.width=f}}else x(n,f/h,!1,g)}};Object.defineProperty(C,Symbol.toStringTag,{value:"Module"})})},"esri/symbols/support/gfxUtils":function(){define("exports ../../assets ../../Color ../../request ../../core/LRUCache ../../core/screenUtils ./cimSymbolUtils".split(" "),
function(C,F,N,I,x,S,X){function Y(f){if(!f)return null;let g=null;switch(f.type){case "simple-fill":case "picture-fill":case "simple-marker":g=Y(f.outline);break;case "simple-line":const n=S.pt2px(f.width);null!=f.style&&"none"!==f.style&&0!==n&&(g={color:f.color,style:h(f.style),width:n,cap:f.cap,join:"miter"===f.join?S.pt2px(f.miterLimit):f.join},g.dashArray=L(g).join(",")||"none");break;default:g=null}return g}function L(f){if(!f?.style)return[];const {dashArray:g,style:n,width:k}=f;if("string"===
typeof g&&"none"!==g)return g.split(",").map(t=>Number(t));const D=k??0,v=R.has(n)?R.get(n).map(t=>t*D):[];if("butt"!==f.cap)for(const [t,a]of v.entries())v[t]=1===t%2?a+D:Math.max(a-D,1);return v}const R=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",[]]]),Q=new x.LRUCache(1E3),h=(()=>{const f={};return g=>
{if(f[g])return f[g];const n=g.replaceAll("-","");return f[g]=n}})();N=new N([128,128,128]);C.defaultThematicColor=N;C.dekebabifyLineStyle=h;C.getDashArray=L;C.getFill=function(f){const g=f.style;let n=null;if(f)switch(f.type){case "simple-marker":"cross"!==g&&"x"!==g&&(n=f.color);break;case "simple-fill":g&&"solid"!==g?"none"!==g&&(n={type:"pattern",x:0,y:0,src:F.getAssetUrl(`esri/symbols/patterns/${g}.png`),width:5,height:5}):n=f.color;break;case "picture-fill":n={type:"pattern",src:f.url,width:S.pt2px(f.width)*
f.xscale,height:S.pt2px(f.height)*f.yscale,x:S.pt2px(f.xoffset),y:S.pt2px(f.yoffset)};break;case "text":n=f.color;break;case "cim":n=X.getCIMSymbolColor(f)}return n};C.getPatternUrlWithColor=function(f,g){const n=f+"-"+g;return void 0!==Q.get(n)?Promise.resolve(Q.get(n)):I(f,{responseType:"image"}).then(k=>{k=k.data;const D=k.naturalWidth,v=k.naturalHeight,t=document.createElement("canvas");t.width=D;t.height=v;const a=t.getContext("2d");a.fillStyle=g;a.fillRect(0,0,D,v);a.globalCompositeOperation=
"destination-in";a.drawImage(k,0,0);k=t.toDataURL();Q.put(n,k);return k})};C.getStroke=Y;Object.defineProperty(C,Symbol.toStringTag,{value:"Module"})})},"esri/layers/support/ExportImageServiceParameters":function(){define("exports ../../chunks/tslib.es6 ../../core/JSONSupport ../../core/accessorSupport/decorators/property ../../core/has ../../core/Logger ../../core/RandomLCG ../../core/accessorSupport/decorators/subclass ../../core/accessorSupport/decorators/writer ./imageryRendererUtils ./MosaicRule ./rasterEnums ./RasterFunction".split(" "),
function(C,F,N,I,x,S,X,Y,L,R,Q,h,f){C.ExportImageServiceParameters=class extends N.JSONSupport{constructor(){super(...arguments);this.layer=null;this.pixelType=this.compression=void 0;this.lercVersion=2}get adjustAspectRatio(){return this.layer.adjustAspectRatio}writeAdjustAspectRatio(g,n,k){10.3>this.layer.version||(n[k]=g)}get bandIds(){return this.layer.bandIds}get compressionQuality(){return this.layer.compressionQuality}writeCompressionQuality(g,n,k){this.format&&this.format.toLowerCase().includes("jpg")&&
null!=g&&(n[k]=g)}get compressionTolerance(){return this.layer.compressionTolerance}writeCompressionTolerance(g,n,k){"lerc"===this.format&&null!=g&&(n[k]=g)}get format(){return"vector-field"===this.layer.renderer?.type?"lerc":this.layer.format}get interpolation(){return this.layer.interpolation}get noData(){return this.layer.noData}get noDataInterpretation(){return this.layer.noDataInterpretation}writeLercVersion(g,n,k){"lerc"===this.format&&10.5<=this.layer.version&&(n[k]=g)}get version(){const g=
this.layer;g.commitProperty("bandIds");g.commitProperty("format");g.commitProperty("compressionQuality");g.commitProperty("compressionTolerance");g.commitProperty("interpolation");g.commitProperty("noData");g.commitProperty("noDataInterpretation");g.commitProperty("mosaicRule");g.commitProperty("rasterFunction");g.commitProperty("adjustAspectRatio");g.commitProperty("pixelFilter");g.commitProperty("definitionExpression");g.commitProperty("multidimensionalSubset");return(this._get("version")||0)+1}set version(g){this._set("version",
g)}get mosaicRule(){var g=this.layer;let n=g.mosaicRule;g=g.definitionExpression;n?g&&g!==n.where&&(n=n.clone(),n.where=g):g&&(n=new Q({where:g}));return n}get rasterFunction(){const g=this.layer;var {rasterFunction:n}=g;const k=g.pixelFilter,D=!g.format||g.format.includes("jpg")||g.format.includes("png");n=this._addResampleRasterFunction(n);var v=g.multidimensionalSubset?.areaOfInterest;v&&(v=new f({functionName:"Clip",functionArguments:{ClippingGeometry:v.toJSON(),ClippingType:1}}),n=R.combineRenderingRules(v,
n));D&&!k&&"vector-field"!==g.renderer?.type&&(n=this.combineRendererWithRenderingRule(n));return n}combineRendererWithRenderingRule(g){const n=this.layer,{rasterInfo:k,renderer:D}=n;g=g||n.rasterFunction;return D&&R.isSupportedRendererType(D)?R.combineRenderingRules(R.convertRendererToRenderingRule(D,{rasterAttributeTable:k.attributeTable,pixelType:k.pixelType,dataType:k.dataType,bandNames:k.bandInfos.map(({name:v})=>v),convertColorRampToColormap:10.6>n.version,convertToRFT:!!g?.rasterFunctionDefinition,
bandCount:k.bandCount}),g):g}_addResampleRasterFunction(g){if("vector-field"!==this.layer.renderer?.type||"Resample"===g?.functionName)return g;let n=new f({functionName:"Resample",functionArguments:{ResamplingType:"esriImageServiceDataTypeVector-UV"===this.layer.serviceDataType?7:10,InputCellSize:this.layer.serviceRasterInfo.pixelSize}});n=g?.rasterFunctionDefinition?new f({rasterFunctionDefinition:R.convertRenderingRuleToRFT(n)}):n;return R.combineRenderingRules(n,g)}};F.__decorate([I.property()],
C.ExportImageServiceParameters.prototype,"layer",void 0);F.__decorate([I.property({json:{write:!0}})],C.ExportImageServiceParameters.prototype,"adjustAspectRatio",null);F.__decorate([L.writer("adjustAspectRatio")],C.ExportImageServiceParameters.prototype,"writeAdjustAspectRatio",null);F.__decorate([I.property({json:{write:!0}})],C.ExportImageServiceParameters.prototype,"bandIds",null);F.__decorate([I.property({json:{write:!0}})],C.ExportImageServiceParameters.prototype,"compression",void 0);F.__decorate([I.property({json:{write:!0}})],
C.ExportImageServiceParameters.prototype,"compressionQuality",null);F.__decorate([L.writer("compressionQuality")],C.ExportImageServiceParameters.prototype,"writeCompressionQuality",null);F.__decorate([I.property({json:{write:!0}})],C.ExportImageServiceParameters.prototype,"compressionTolerance",null);F.__decorate([L.writer("compressionTolerance")],C.ExportImageServiceParameters.prototype,"writeCompressionTolerance",null);F.__decorate([I.property({json:{write:!0}})],C.ExportImageServiceParameters.prototype,
"format",null);F.__decorate([I.property({type:String,json:{read:{reader:h.interpolationKebab.read},write:{writer:h.interpolationKebab.write}}})],C.ExportImageServiceParameters.prototype,"interpolation",null);F.__decorate([I.property({json:{write:!0}})],C.ExportImageServiceParameters.prototype,"noData",null);F.__decorate([I.property({type:String,json:{read:{reader:h.noDataInterpretationKebab.read},write:{writer:h.noDataInterpretationKebab.write}}})],C.ExportImageServiceParameters.prototype,"noDataInterpretation",
null);F.__decorate([I.property({json:{write:!0}})],C.ExportImageServiceParameters.prototype,"pixelType",void 0);F.__decorate([I.property({json:{write:!0}})],C.ExportImageServiceParameters.prototype,"lercVersion",void 0);F.__decorate([L.writer("lercVersion")],C.ExportImageServiceParameters.prototype,"writeLercVersion",null);F.__decorate([I.property({type:Number})],C.ExportImageServiceParameters.prototype,"version",null);F.__decorate([I.property({json:{write:!0}})],C.ExportImageServiceParameters.prototype,
"mosaicRule",null);F.__decorate([I.property({json:{write:!0,name:"renderingRule"}})],C.ExportImageServiceParameters.prototype,"rasterFunction",null);C.ExportImageServiceParameters=F.__decorate([Y.subclass("esri.layers.support.ExportImageServiceParameters")],C.ExportImageServiceParameters);Object.defineProperty(C,Symbol.toStringTag,{value:"Module"})})},"esri/layers/support/imageryRendererUtils":function(){define("exports ../../core/lang ./RasterFunction ./rasterFormats/pixelRangeUtils ./rasterFunctions/rasterFunctionSchema ../../renderers/support/colorRampUtils ../../renderers/support/stretchRendererUtils ../../renderers/visualVariables/SizeVariable".split(" "),
function(C,F,N,I,x,S,X,Y){function L(b,m){for(const r in b)"raster"===r.toLowerCase()&&("RasterFunctionVariable"===b[r].type?(b[r]=m.rasterFunctionDefinition,b[r].type="RasterFunctionTemplate"):"RasterFunctionTemplate"===b[r].type&&L(b[r].arguments,m))}function R(b){const m=F.clone(x.schema[b.functionName+"Function"]);b=b.functionArguments;for(const r in b)"raster"===r.toLowerCase()?(m.arguments[r]=R(b[r]),m.arguments[r].type="RasterFunctionTemplate"):"colormap"===r.toLowerCase()?(m.arguments[r].value=
a(b[r]),m.arguments.ColorSchemeType.value=0):m.arguments[r].value=b[r];return m}function Q(b){const m=b?.Raster??b?.raster;return m&&"esri.layers.support.RasterFunction"===m.declaredClass?Q(m.functionArguments):b}function h(b,m){const r=new N;r.functionName="VectorFieldRenderer";const {dataType:u,bandNames:p}=m,q="vector-uv"===u;let y;if(p&&2===p.length){var z=p.map(w=>w.toLowerCase());y=z.indexOf("magnitude");z=z.indexOf("direction")}if(-1===y||null===y)y=0,z=1;const H="arithmetic"===b.rotationType?
1:2,E="flow-from"===b.flowRepresentation?0:1,K=b.visualVariables?b.visualVariables.find(w=>"Magnitude"===w.field):new Y;b={magnitudeBandID:y,directionBandID:z,isUVComponents:q,referenceSystem:H,massFlowAngleRepresentation:E,symbolTileSize:50,symbolTileSizeUnits:100,calculationMethod:"Vector Average",symbologyName:e[b.style.toLowerCase().replace("-","_")],minimumMagnitude:K.minDataValue,maximumMagnitude:K.maxDataValue,minimumSymbolSize:K.minSize,maximumSymbolSize:K.maxSize};r.functionArguments=b;b=
R(r);return m.convertToRFT?N.fromJSON({rasterFunctionDefinition:b}):r}function f(b,m){const r=m.convertToRFT,u=new N;u.functionName="Stretch";var p=c[X.stretchTypeJSONDict.toJSON(b.stretchType)],q=t(b.statistics??[]);q={StretchType:p,Statistics:q,DRA:b.dynamicRangeAdjustment,UseGamma:b.useGamma,Gamma:b.gamma,ComputeGamma:b.computeGamma};null!=b.outputMin&&(q.Min=b.outputMin);null!=b.outputMax&&(q.Max=b.outputMax);p===c.standardDeviation?(q.NumberOfStandardDeviations=b.numberOfStandardDeviations,u.outputPixelType=
"u8"):p===c.percentClip?(q.MinPercent=b.minPercent,q.MaxPercent=b.maxPercent,u.outputPixelType="u8"):p===c.minMax?u.outputPixelType="u8":p===c.sigmoid&&(q.SigmoidStrengthLevel=b.sigmoidStrengthLevel);u.functionArguments=q;u.variableName="Raster";if(b.colorRamp){q=b.colorRamp;p=new N;if(r)p.functionArguments={ColorRamp:S.getRFxArgColorRampValue(q)};else{const y=S.getColorRampName(q,!0);y?p.functionArguments={colorRampName:y}:!m.convertColorRampToColormap||"algorithmic"!==q.type&&"multipart"!==q.type?
(b=b.colorRamp.toJSON(),"algorithmic"===b.type?b.algorithm=b.algorithm||"esriCIELabAlgorithm":"multipart"===b.type&&b.colorRamps?.length&&b.colorRamps.forEach(z=>z.algorithm=z.algorithm||"esriCIELabAlgorithm"),p.functionArguments={colorRamp:b}):p.functionArguments={Colormap:S.convertColorRampToColormap(q)}}p.variableName="Raster";p.functionName="Colormap";p.functionArguments.Raster=u;return r?new N({rasterFunctionDefinition:R(p)}):p}return r?new N({rasterFunctionDefinition:R(u)}):u}function g(b,m){const r=
[],u=[],p=[],q=[],{pixelType:y,rasterAttributeTable:z}=m,H=null==z?null:z.features,E=k(z);if(E&&H&&Array.isArray(H)&&b.classBreakInfos){b.classBreakInfos.forEach((G,P)=>{const U=G.symbol?.color;let V;U?.a&&null!=G.minValue&&null!=G.maxValue&&H.forEach(T=>{null!=G.minValue&&null!=G.maxValue&&(V=T.attributes[b.field],(V>=G.minValue&&V<G.maxValue||P===b.classBreakInfos.length-1&&V>=G.minValue)&&q.push([T.attributes[E],U.r,U.g,U.b]))})});var K=y?n(q,y):q,w=new N;w.functionName="Colormap";w.functionArguments=
{};w.functionArguments.Colormap=K;w.variableName="Raster";return m.convertToRFT?new N({rasterFunctionDefinition:R(w)}):w}b.classBreakInfos.forEach((G,P)=>{if(null!=G.minValue&&null!=G.maxValue){var U=G.symbol&&G.symbol.color;U?.a?(0===P?r.push(G.minValue,G.maxValue+1E-4):r.push(G.minValue+1E-4,G.maxValue+1E-4),u.push(P),q.push([P,U.r,U.g,U.b])):p.push(G.minValue,G.maxValue)}});K=y?n(q,y):q;w=new N;w.functionName="Remap";w.functionArguments={InputRanges:r,OutputValues:u,NoDataRanges:p};w.variableName=
"Raster";const A=new N;A.functionName="Colormap";A.functionArguments={Colormap:K,Raster:w};return m.convertToRFT?new N({rasterFunctionDefinition:R(A)}):A}function n(b,m){(m=d.has(m)?I.getPixelValueRange(m):null)&&b.push([Math.floor(m[0]-1),0,0,0],[Math.ceil(m[1]+1),0,0,0]);return b}function k(b){if(null!=b)return{fields:b}=b,b?.find(m=>m?.name&&"value"===m.name.toLowerCase())?.name}function D(b,m){const r=[],{pixelType:u,rasterAttributeTable:p}=m;var q=null==p?null:p.features;const y=k(p),z=b.defaultSymbol?.color?.toRgb();
var H=b.uniqueValueInfos;if(H)if(!q)for(b=0;b<H.length;b++){var E=H[b];q=v(E);E=+E.value;if(q?.a){if(isNaN(E))return null;r.push([E,q.r,q.g,q.b])}}else if(y){const K=new Map;H.forEach(A=>{const G=A.value;A=v(A);null!=G&&A?.a&&K.set(String(G),A.toRgb())});const w=b.field;w&&q.forEach(({attributes:A})=>{const G=A[y];(A=K.get(String(A[w])))?r.push([G,...A]):z&&r.push([G,...z])})}H=u?n(r,u):r;b=new N;b.functionName="Colormap";b.functionArguments={};b.functionArguments.Colormap=H;b.variableName="Raster";
return m.convertToRFT?new N({rasterFunctionDefinition:R(b)}):b}function v(b){return"polygon-3d"===b.symbol?.type?b.symbol.symbolLayers?.find(m=>"fill"===m.type)?.material?.color:b.symbol?.color}function t(b){const m=[];b?.forEach(r=>{Array.isArray(r)?m.push(r):null!=r.min&&null!=r.max&&m.push([r.min,r.max,r.avg||0,r.stddev||0])});return m}function a(b){const m=[],r=[];b.forEach(u=>{m.push(u[0]);r.push(S.convertRGBATo32Bit([...u.slice(1),255]))});return{type:"RasterColormap",values:m,colors:r}}const d=
new Set("u1 u2 u4 u8 s8 u16 s16".split(" ")),e={simple_scalar:"Simple Scalar",wind_barb:"Wind Barb",single_arrow:"Single Arrow",beaufort_kn:"Beaufort Wind (Knots)",beaufort_m:"Beaufort Wind (MetersPerSecond)",ocean_current_m:"Ocean Current (MetersPerSecond)",ocean_current_kn:"Ocean Current (Knots)"},l=new Set("raster-stretch unique-value class-breaks raster-shaded-relief vector-field raster-colormap".split(" ")),c={none:0,standardDeviation:3,histogramEqualization:4,minMax:5,percentClip:6,sigmoid:9};
C.combineRenderingRules=function(b,m){if(!b||!m)return F.clone(b||m);b=F.clone(b);if(b.functionDefinition&&m.rasterFunctionDefinition){const r=m.rasterFunctionDefinition;if(r.thumbnail||r.thumbnailEx)r.thumbnail=r.thumbnailEx=void 0;L(b.functionDefinition.arguments,m);b.rasterFunctionDefinition=b.functionDefinition.toJSON()}else"none"!==m.functionName?.toLowerCase()&&(Q(b.functionArguments).Raster=m);return b};C.convertRendererToRenderingRule=function(b,m){m=m||{};switch(b.type){case "raster-stretch":return f(b,
m);case "class-breaks":return g(b,m);case "unique-value":return D(b,m);case "raster-colormap":var r=m;(m=b.extractColormap())&&0!==m.length?({pixelType:b}=r,b=b?n(m,b):m,m=new N,m.functionName="Colormap",m.functionArguments={},m.functionArguments.Colormap=b,b=r.convertToRFT?new N({rasterFunctionDefinition:R(m)}):m):b=null;return b;case "vector-field":return h(b,m);case "raster-shaded-relief":r=m.convertToRFT;if("elevation"!==m.dataType&&("generic"!==m.dataType||1!==m.bandCount||"s16"!==m.pixelType&&
"s32"!==m.pixelType&&"f32"!==m.pixelType&&"f64"!==m.pixelType))b=new N;else{m=new N;m.functionName="Hillshade";var u="traditional"===b.hillshadeType?0:1,p="none"===b.scalingType?1:3,q={HillshadeType:u,SlopeType:p,ZFactor:b.zFactor};0===u&&(q.Azimuth=b.azimuth,q.Altitude=b.altitude);3===p&&(q.PSPower=b.pixelSizePower,q.PSZFactor=b.pixelSizeFactor);m.functionArguments=q;m.variableName="Raster";b.colorRamp&&(m.functionName="ShadedRelief",r?q.ColorRamp=S.getRFxArgColorRampValue(b.colorRamp):q.Colormap=
S.convertColorRampToColormap(b.colorRamp));b=r?new N({rasterFunctionDefinition:R(m)}):m}return b;case "flow":throw Error("Unsupported rendering rule.");}};C.convertRenderingRuleToRFT=R;C.isSupportedRendererType=function(b){return l.has(b.type)};Object.defineProperty(C,Symbol.toStringTag,{value:"Module"})})},"esri/layers/support/rasterFunctions/rasterFunctionSchema":function(){define(["exports"],function(C){C.schema={StretchFunction:{arguments:{ComputeGamma:{isDataset:!1,isPublic:!1,name:"ComputeGamma",
type:"RasterFunctionVariable",value:!1},DRA:{isDataset:!1,isPublic:!1,name:"DRA",type:"RasterFunctionVariable",value:!1},EstimateStatsHistogram:{isDataset:!1,isPublic:!1,name:"EstimateStatsHistogram",type:"RasterFunctionVariable",value:!1},Gamma:{displayName:"Gamma",isDataset:!1,isPublic:!1,name:"Gamma",type:"RasterFunctionVariable"},Histograms:{isDataset:!1,isPublic:!1,name:"Histograms",type:"RasterFunctionVariable"},Max:{isDataset:!1,isPublic:!1,name:"Max",type:"RasterFunctionVariable",value:255},
MaxPercent:{isDataset:!1,isPublic:!1,name:"MaxPercent",type:"RasterFunctionVariable",value:.5},Min:{isDataset:!1,isPublic:!1,name:"Min",type:"RasterFunctionVariable",value:0},MinPercent:{isDataset:!1,isPublic:!1,name:"MinPercent",type:"RasterFunctionVariable",value:.25},NumberOfStandardDeviations:{isDataset:!1,isPublic:!1,name:"NumberOfStandardDeviation",type:"RasterFunctionVariable",value:2},Raster:{isDataset:!0,isPublic:!1,name:"Raster",type:"RasterFunctionVariable"},SigmoidStrengthLevel:{isDataset:!1,
isPublic:!1,name:"SigmoidStrengthLevel",type:"RasterFunctionVariable",value:2},Statistics:{isDataset:!1,isPublic:!1,name:"Statistics",type:"RasterFunctionVariable"},StretchType:{isDataset:!1,isPublic:!1,name:"StretchType",type:"RasterFunctionVariable",value:0},type:"StretchFunctionArguments",UseGamma:{isDataset:!1,isPublic:!1,name:"UseGamma",type:"RasterFunctionVariable",value:!1}},description:"Enhances an image by adjusting the range of values displayed. This does not alter the underlying pixel values. If a pixel has a value outside of the specified range, it will appear as either the minimum or maximum value.",
function:{description:"Enhances an image by adjusting the range of values displayed. This does not alter the underlying pixel values. If a pixel has a value outside of the specified range, it will appear as either the minimum or maximum value.",name:"Stretch",pixelType:"UNKNOWN",type:"StretchFunction"},functionType:0,name:"Stretch",thumbnail:""},RemapFunction:{name:"Remap",description:"Changes pixel values by assigning new values to ranges of pixel values or using an external table.",function:{type:"RemapFunction",
pixelType:"UNKNOWN",name:"Remap",description:"Changes pixel values by assigning new values to ranges of pixel values or using an external table."},arguments:{Raster:{name:"Raster",isPublic:!1,isDataset:!0,type:"RasterFunctionVariable"},UseTable:{name:"UseTable",isPublic:!1,isDataset:!1,value:!1,type:"RasterFunctionVariable"},InputRanges:{name:"InputRanges",isPublic:!1,isDataset:!1,type:"RasterFunctionVariable",displayName:"Input Ranges"},OutputValues:{name:"OutputValues",isPublic:!1,isDataset:!1,
type:"RasterFunctionVariable",displayName:"Output Values"},NoDataRanges:{name:"NoDataRanges",isPublic:!1,isDataset:!1,type:"RasterFunctionVariable",displayName:"NoData Ranges"},Table:{name:"Table",isPublic:!1,isDataset:!1,type:"RasterFunctionVariable"},InputField:{name:"InputField",isPublic:!1,isDataset:!1,type:"RasterFunctionVariable"},OutputField:{name:"OutputField",isPublic:!1,isDataset:!1,type:"RasterFunctionVariable"},InputMaxField:{name:"InputMaxField",isPublic:!1,isDataset:!1,type:"RasterFunctionVariable"},
RemapTableType:{name:"RemapTableType",isPublic:!1,isDataset:!1,value:1,type:"RasterFunctionVariable"},AllowUnmatched:{name:"AllowUnmatched",isPublic:!1,isDataset:!1,value:!0,type:"RasterFunctionVariable"},type:"RemapFunctionArguments"},functionType:0,thumbnail:""},ColormapFunction:{name:"Colormap",description:"Changes pixel values to display the raster data as either a grayscale or a red, green, blue (RGB) image, based on a colormap or a color ramp.",function:{type:"ColormapFunction",pixelType:"UNKNOWN",
name:"Colormap",description:"Changes pixel values to display the raster data as either a grayscale or a red, green, blue (RGB) image, based on a colormap or a color ramp."},arguments:{Raster:{name:"Raster",isPublic:!1,isDataset:!0,type:"RasterFunctionVariable"},ColorSchemeType:{name:"ColorSchemeType",isPublic:!1,isDataset:!1,value:1,type:"RasterFunctionVariable"},Colormap:{name:"Colormap",isPublic:!1,isDataset:!1,type:"RasterFunctionVariable"},ColormapName:{name:"ColormapName",isPublic:!1,isDataset:!1,
value:"Gray",type:"RasterFunctionVariable"},ColorRamp:{name:"ColorRamp",isPublic:!1,isDataset:!1,type:"RasterFunctionVariable"},type:"ColormapFunctionArguments"},functionType:0,thumbnail:""},ShadedReliefFunction:{name:"Shaded Relief",description:"Creates a multiband, color coded, 3D representation of the surface, with the sun's relative position taken into account for shading the image.",function:{type:"ShadedReliefFunction",pixelType:"UNKNOWN",name:"Shaded Relief",description:"Creates a multiband, color coded, 3D representation of the surface, with the sun's relative position taken into account for shading the image."},
arguments:{Raster:{name:"Raster",isPublic:!1,isDataset:!0,type:"RasterFunctionVariable"},ColorSchemeType:{name:"ColorSchemeType",isPublic:!1,isDataset:!1,value:1,type:"RasterFunctionVariable"},ColorRamp:{name:"ColorRamp",isPublic:!1,isDataset:!1,type:"RasterFunctionVariable"},HillshadeType:{name:"HillshadeType",isPublic:!1,isDataset:!1,value:0,type:"RasterFunctionVariable"},Colormap:{name:"Colormap",isPublic:!1,isDataset:!1,type:"RasterFunctionVariable"},Azimuth:{name:"Azimuth",isPublic:!1,isDataset:!1,
value:315,type:"RasterFunctionVariable"},Altitude:{name:"Altitude",isPublic:!1,isDataset:!1,value:45,type:"RasterFunctionVariable"},SlopeType:{name:"SlopeType",isPublic:!1,isDataset:!1,value:1,type:"RasterFunctionVariable"},ZFactor:{name:"ZFactor",isPublic:!1,isDataset:!1,value:1,type:"RasterFunctionVariable"},PSPower:{name:"PSPower",isPublic:!1,isDataset:!1,value:.664,type:"RasterFunctionVariable"},PSZFactor:{name:"PSZFactor",isPublic:!1,isDataset:!1,value:.024,type:"RasterFunctionVariable"},RemoveEdgeEffect:{name:"RemoveEdgeEffect",
isPublic:!1,isDataset:!1,value:!1,type:"RasterFunctionVariable"},type:"ShadedReliefFunctionArguments"},functionType:0,thumbnail:""},HillshadeFunction:{name:"Hillshade",description:"Creates a 3D representation of the surface, with the sun's relative position taken into account for shading the image",function:{type:"HillshadeFunction",pixelType:"UNKNOWN",name:"Hillshade",description:"Creates a 3D representation of the surface, with the sun's relative position taken into account for shading the image"},
arguments:{DEM:{name:"DEM",isPublic:!1,isDataset:!0,type:"RasterFunctionVariable"},HillshadeType:{name:"HillshadeType",isPublic:!1,isDataset:!1,value:0,type:"RasterFunctionVariable"},Azimuth:{name:"Azimuth",isPublic:!1,isDataset:!1,value:315,type:"RasterFunctionVariable"},Altitude:{name:"Altitude",isPublic:!1,isDataset:!1,value:45,type:"RasterFunctionVariable"},SlopeType:{name:"SlopeType",isPublic:!1,isDataset:!1,value:1,type:"RasterFunctionVariable"},ZFactor:{name:"ZFactor",isPublic:!1,isDataset:!1,
value:1,type:"RasterFunctionVariable"},PSPower:{name:"PSPower",isPublic:!1,isDataset:!1,value:.664,type:"RasterFunctionVariable"},PSZFactor:{name:"PSZFactor",isPublic:!1,isDataset:!1,value:.024,type:"RasterFunctionVariable"},RemoveEdgeEffect:{name:"RemoveEdgeEffect",isPublic:!1,isDataset:!1,value:!1,type:"RasterFunctionVariable"},type:"HillshadeFunctionArguments"},functionType:0,thumbnail:""},ResampleFunction:{name:"Resample",description:"Changes the cell size of a raster.",function:{type:"ResampleFunction",
pixelType:"UNKNOWN",name:"Resample",description:"Changes the cell size of a raster."},arguments:{Raster:{name:"Raster",isPublic:!1,isDataset:!0,type:"RasterFunctionVariable"},ResamplingType:{name:"ResamplingType",isPublic:!1,isDataset:!1,value:0,type:"RasterFunctionVariable"},InputCellSize:{name:"InputCellsize",isPublic:!1,isDataset:!1,value:{x:0,y:0},type:"RasterFunctionVariable"},OutputCellSize:{name:"OutputCellsize",isPublic:!1,isDataset:!1,value:{x:0,y:0},type:"RasterFunctionVariable"},type:"ResampleFunctionArguments"},
functionType:0,thumbnail:""}};Object.defineProperty(C,Symbol.toStringTag,{value:"Module"})})},"esri/layers/support/imageBitmapUtils":function(){define(["exports","../../core/Error","../../core/promiseUtils"],function(C,F,N){C.createBitmap=async function(I,x,S){let X;try{X=await createImageBitmap(I)}catch(Y){throw new F("request:server",`Unable to load ${x}`,{url:x,error:Y});}N.throwIfAborted(S);return X};C.createTileBitmap=async function(I,x,S,X,Y){let L;try{L=await createImageBitmap(I)}catch(R){throw new F("request:server",
`Unable to load tile ${x}/${S}/${X}`,{error:R,level:x,row:S,col:X});}N.throwIfAborted(Y);return L};Object.defineProperty(C,Symbol.toStringTag,{value:"Module"})})},"esri/layers/support/MultidimensionalSubset":function(){define("../../chunks/tslib.es6 ../../geometry ../../core/JSONSupport ../../core/accessorSupport/decorators/property ../../core/has ../../core/Logger ../../core/RandomLCG ../../core/accessorSupport/decorators/subclass ../../geometry/Extent ../../geometry/Polygon ../../geometry/support/jsonUtils ./DimensionalDefinition ../../geometry/Geometry".split(" "),
function(C,F,N,I,x,S,X,Y,L,R,Q,h,f){var g;F={base:f,key:"type",typeMap:{extent:L,polygon:R}};N=g=class extends N.JSONSupport{constructor(n){super(n);this.subsetDefinitions=this.areaOfInterest=null}get dimensions(){var {subsetDefinitions:n}=this;if(null==n||0===n.length)return[];const k=new Map;n.forEach(D=>{if(D.dimensionName){if(Array.isArray(D.values[0])){var v=D.values;var t=v[0][0];v=v[D.values.length-1][1]}else v=D.values,t=v[0],v=v[D.values.length-1];k.has(D.dimensionName)?(D=k.get(D.dimensionName),
D[0]=Math.min(t,D[0]),D[1]=Math.max(v,D[1])):k.set(D.dimensionName,[t,v])}});n=[];for(const D of k)n.push({name:D[0],extent:D[1]});return n}get variables(){const {subsetDefinitions:n}=this;if(null==n||0===n.length)return[];const k=new Set;n.forEach(D=>{D.variableName&&k.add(D.variableName)});return[...k]}clone(){const n=this.subsetDefinitions?.map(D=>D.clone()),k=this.areaOfInterest?this.areaOfInterest.clone():this.areaOfInterest;return new g({areaOfInterest:k,subsetDefinitions:n})}};C.__decorate([I.property({types:F,
json:{read:Q.fromJSON,write:!0}})],N.prototype,"areaOfInterest",void 0);C.__decorate([I.property({readOnly:!0})],N.prototype,"dimensions",null);C.__decorate([I.property({readOnly:!0})],N.prototype,"variables",null);C.__decorate([I.property({type:[h],json:{write:!0}})],N.prototype,"subsetDefinitions",void 0);return N=g=C.__decorate([Y.subclass("esri.layers.support.MultidimensionalSubset")],N)})},"esri/layers/support/RasterInfo":function(){define("../../chunks/tslib.es6 ../../core/JSONSupport ../../core/lang ../../core/accessorSupport/decorators/property ../../core/has ../../core/Logger ../../core/accessorSupport/decorators/subclass ../../geometry/Extent ../../geometry/SpatialReference ./RasterBandInfo ./RasterSensorInfo ./RasterStorageInfo".split(" "),
function(C,F,N,I,x,S,X,Y,L,R,Q,h){var f;F=f=class extends F.JSONSupport{constructor(g){super(g);this.extent=this.colormap=this.bandCount=this.attributeTable=null;this.format=void 0;this.histograms=this.width=this.height=null;this.keyProperties={};this.pixelType=this.pixelSize=this.noDataValue=this.multidimensionalInfo=null;this.isPseudoSpatialReference=!1;this.transform=this.storageInfo=this.statistics=this.spatialReference=null}get bandInfos(){var g=this.keyProperties.BandProperties,{bandCount:n}=
this;if(!g?.length||g.length<n){g=[];for(let k=1;k<=n;k++)g.push(new R({name:"band_"+k}));return g}n=g.map(k=>R.fromJSON(k));for(g=0;g<n.length;g++)n[g].name=n[g].name||"band_"+(g+1);return n}get dataType(){const g=this.keyProperties?.DataType?.toLowerCase()??"generic";return"stdtime"===g?"standard-time":g}get nativeExtent(){return this._get("nativeExtent")||this.extent}set nativeExtent(g){g&&this._set("nativeExtent",g)}get nativePixelSize(){if(null==this.transform||!this.transform.affectsPixelSize)return this.pixelSize;
const g=this.nativeExtent;return{x:g.width/this.width,y:g.height/this.height}}get hasMultidimensionalTranspose(){return!!this.storageInfo?.transposeInfo}get sensorInfo(){if(this.keyProperties?.SensorName)return Q.fromJSON(this.keyProperties)}clone(){return new f({attributeTable:N.clone(this.attributeTable),bandCount:this.bandCount,colormap:N.clone(this.colormap),extent:N.clone(this.extent),format:this.format,height:this.height,width:this.width,histograms:N.clone(this.histograms),keyProperties:N.clone(this.keyProperties),
multidimensionalInfo:N.clone(this.multidimensionalInfo),noDataValue:this.noDataValue,pixelSize:N.clone(this.pixelSize),pixelType:this.pixelType,isPseudoSpatialReference:this.isPseudoSpatialReference,spatialReference:N.clone(this.spatialReference),statistics:N.clone(this.statistics),storageInfo:N.clone(this.storageInfo),transform:N.clone(this.transform)})}};C.__decorate([I.property({json:{write:!0}})],F.prototype,"attributeTable",void 0);C.__decorate([I.property({json:{write:!0}})],F.prototype,"bandCount",
void 0);C.__decorate([I.property({readOnly:!0})],F.prototype,"bandInfos",null);C.__decorate([I.property({json:{write:!0}})],F.prototype,"colormap",void 0);C.__decorate([I.property({type:String,readOnly:!0})],F.prototype,"dataType",null);C.__decorate([I.property({type:Y,json:{write:!0}})],F.prototype,"extent",void 0);C.__decorate([I.property({type:Y,json:{write:!0}})],F.prototype,"nativeExtent",null);C.__decorate([I.property({json:{write:!0}})],F.prototype,"nativePixelSize",null);C.__decorate([I.property({json:{write:!0}})],
F.prototype,"format",void 0);C.__decorate([I.property({json:{write:!0}})],F.prototype,"height",void 0);C.__decorate([I.property({json:{write:!0}})],F.prototype,"width",void 0);C.__decorate([I.property({json:{write:!0}})],F.prototype,"hasMultidimensionalTranspose",null);C.__decorate([I.property({json:{write:!0}})],F.prototype,"histograms",void 0);C.__decorate([I.property({json:{write:!0}})],F.prototype,"keyProperties",void 0);C.__decorate([I.property({json:{write:!0}})],F.prototype,"multidimensionalInfo",
void 0);C.__decorate([I.property({json:{write:!0}})],F.prototype,"noDataValue",void 0);C.__decorate([I.property({json:{write:!0}})],F.prototype,"pixelSize",void 0);C.__decorate([I.property({json:{write:!0}})],F.prototype,"pixelType",void 0);C.__decorate([I.property()],F.prototype,"isPseudoSpatialReference",void 0);C.__decorate([I.property({readOnly:!0})],F.prototype,"sensorInfo",null);C.__decorate([I.property({type:L,json:{write:!0}})],F.prototype,"spatialReference",void 0);C.__decorate([I.property({json:{write:!0}})],
F.prototype,"statistics",void 0);C.__decorate([I.property({type:h,json:{write:!0}})],F.prototype,"storageInfo",void 0);C.__decorate([I.property({json:{write:!0}})],F.prototype,"transform",void 0);return F=f=C.__decorate([X.subclass("esri.layers.support.RasterInfo")],F)})},"esri/layers/support/RasterBandInfo":function(){define("../../chunks/tslib.es6 ../../core/JSONSupport ../../core/accessorSupport/decorators/property ../../core/has ../../core/Logger ../../core/RandomLCG ../../core/accessorSupport/decorators/subclass".split(" "),
function(C,F,N,I,x,S,X){function Y(R){R=Number(R);return isNaN(R)?void 0:R}var L;F=L=class extends F.JSONSupport{constructor(){super(...arguments);this.name=null;this.solarIrradiance=this.reflectanceGain=this.reflectanceBias=this.radianceGain=this.radianceBias=this.maxWavelength=this.minWavelength=void 0}clone(){return new L({name:this.name,minWavelength:this.minWavelength,maxWavelength:this.maxWavelength,radianceBias:this.radianceBias,radianceGain:this.radianceGain,reflectanceBias:this.reflectanceBias,
reflectanceGain:this.reflectanceGain,solarIrradiance:this.solarIrradiance})}};C.__decorate([N.property({json:{name:"BandName",write:!0}})],F.prototype,"name",void 0);C.__decorate([N.property({json:{name:"WavelengthMin",read:{reader:Y},write:!0}})],F.prototype,"minWavelength",void 0);C.__decorate([N.property({json:{name:"WavelengthMax",read:{reader:Y},write:!0}})],F.prototype,"maxWavelength",void 0);C.__decorate([N.property({json:{name:"RadianceBias",read:{reader:Y},write:!0}})],F.prototype,"radianceBias",
void 0);C.__decorate([N.property({json:{name:"RadianceGain",read:{reader:Y},write:!0}})],F.prototype,"radianceGain",void 0);C.__decorate([N.property({json:{name:"ReflectanceBias",read:{reader:Y},write:!0}})],F.prototype,"reflectanceBias",void 0);C.__decorate([N.property({json:{name:"ReflectanceGain",read:{reader:Y},write:!0}})],F.prototype,"reflectanceGain",void 0);C.__decorate([N.property({json:{name:"SolarIrradiance",read:{reader:Y},write:!0}})],F.prototype,"solarIrradiance",void 0);return F=L=
C.__decorate([X.subclass("esri.layers.support.RasterBandInfo")],F)})},"esri/layers/support/RasterSensorInfo":function(){define("../../chunks/tslib.es6 ../../core/JSONSupport ../../core/accessorSupport/decorators/property ../../core/has ../../core/Logger ../../core/RandomLCG ../../core/accessorSupport/decorators/reader ../../core/accessorSupport/decorators/subclass ../../core/accessorSupport/decorators/writer".split(" "),function(C,F,N,I,x,S,X,Y,L){function R(h){h=Number(h);return isNaN(h)?void 0:
h}var Q;F=Q=class extends F.JSONSupport{constructor(){super(...arguments);this.productName=this.cloudCover=this.acquisitionDate=void 0;this.sensorName=null;this.sunElevation=this.sunAzimuth=this.sensorElevation=this.sensorAzimuth=void 0}readAcquisitionDate(h){return new Date(h)}writeAcquisitionDate(h,f){f.AcquisitionDate=h.getTime()}clone(){return new Q({acquisitionDate:this.acquisitionDate,cloudCover:this.cloudCover,productName:this.productName,sensorName:this.sensorName,sensorAzimuth:this.sensorAzimuth,
sensorElevation:this.sensorElevation,sunAzimuth:this.sunAzimuth,sunElevation:this.sunElevation})}};C.__decorate([N.property({json:{name:"AcquisitionDate",write:!0}})],F.prototype,"acquisitionDate",void 0);C.__decorate([X.reader("acquisitionDate")],F.prototype,"readAcquisitionDate",null);C.__decorate([L.writer("acquisitionDate")],F.prototype,"writeAcquisitionDate",null);C.__decorate([N.property({json:{name:"CloudCover",read:{reader:R},write:!0}})],F.prototype,"cloudCover",void 0);C.__decorate([N.property({json:{name:"ProductName",
write:!0}})],F.prototype,"productName",void 0);C.__decorate([N.property({json:{name:"SensorName",write:!0}})],F.prototype,"sensorName",void 0);C.__decorate([N.property({json:{name:"SensorAzimuth",read:{reader:R},write:!0}})],F.prototype,"sensorAzimuth",void 0);C.__decorate([N.property({json:{name:"SensorElevation",read:{reader:R},write:!0}})],F.prototype,"sensorElevation",void 0);C.__decorate([N.property({json:{name:"SunAzimuth",read:{reader:R},write:!0}})],F.prototype,"sunAzimuth",void 0);C.__decorate([N.property({json:{name:"SunElevation",
read:{reader:R},write:!0}})],F.prototype,"sunElevation",void 0);return F=Q=C.__decorate([Y.subclass("esri.layers.support.RasterSensorInfo")],F)})},"esri/layers/support/RasterStorageInfo":function(){define("../../chunks/tslib.es6 ../../core/JSONSupport ../../core/lang ../../core/accessorSupport/decorators/property ../../core/has ../../core/Logger ../../core/accessorSupport/decorators/subclass ../../geometry/Point".split(" "),function(C,F,N,I,x,S,X,Y){var L;F=L=class extends F.JSONSupport{constructor(){super(...arguments);
this.blockHeight=this.blockWidth=void 0;this.maximumPyramidLevel=this.firstPyramidLevel=this.origin=this.compression=null;this.pyramidScalingFactor=2;this.pyramidBlockHeight=this.pyramidBlockWidth=null;this.isVirtualTileInfo=!1;this.blockBoundary=this.transposeInfo=this.tileInfo=null}clone(){return new L({blockWidth:this.blockWidth,blockHeight:this.blockHeight,compression:this.compression,origin:N.clone(this.origin),firstPyramidLevel:this.firstPyramidLevel,maximumPyramidLevel:this.maximumPyramidLevel,
pyramidResolutions:N.clone(this.pyramidResolutions),pyramidScalingFactor:this.pyramidScalingFactor,pyramidBlockWidth:this.pyramidBlockWidth,pyramidBlockHeight:this.pyramidBlockHeight,isVirtualTileInfo:this.isVirtualTileInfo,tileInfo:N.clone(this.tileInfo),transposeInfo:N.clone(this.transposeInfo),blockBoundary:N.clone(this.blockBoundary)})}};C.__decorate([I.property({type:Number,json:{write:!0}})],F.prototype,"blockWidth",void 0);C.__decorate([I.property({type:Number,json:{write:!0}})],F.prototype,
"blockHeight",void 0);C.__decorate([I.property({type:String,json:{write:!0}})],F.prototype,"compression",void 0);C.__decorate([I.property({type:Y,json:{write:!0}})],F.prototype,"origin",void 0);C.__decorate([I.property({type:Number,json:{write:!0}})],F.prototype,"firstPyramidLevel",void 0);C.__decorate([I.property({type:Number,json:{write:!0}})],F.prototype,"maximumPyramidLevel",void 0);C.__decorate([I.property({json:{write:!0}})],F.prototype,"pyramidResolutions",void 0);C.__decorate([I.property({type:Number,
json:{write:!0}})],F.prototype,"pyramidScalingFactor",void 0);C.__decorate([I.property({type:Number,json:{write:!0}})],F.prototype,"pyramidBlockWidth",void 0);C.__decorate([I.property({type:Number,json:{write:!0}})],F.prototype,"pyramidBlockHeight",void 0);C.__decorate([I.property({type:Boolean,json:{write:!0}})],F.prototype,"isVirtualTileInfo",void 0);C.__decorate([I.property({json:{write:!0}})],F.prototype,"tileInfo",void 0);C.__decorate([I.property()],F.prototype,"transposeInfo",void 0);C.__decorate([I.property()],
F.prototype,"blockBoundary",void 0);return F=L=C.__decorate([X.subclass("esri.layers.support.RasterStorageInfo")],F)})},"esri/layers/support/RasterJobHandler":function(){define(["../../core/Error","../../core/workers/workers","./PixelBlock"],function(C,F,N){class I{constructor(){this._workerThread=null;this._destroyed=!1}async initialize(){const x=await F.open("RasterWorker");this._destroyed?x.close():this._workerThread=x}destroy(){this._destroyed=!0;this._workerThread&&(this._workerThread.close(),
this._workerThread=null)}async convertVectorFieldData(x,S){if(!this._workerThread)throw new C("raster-jobhandler:no-connection","no available worker connection");return(x=await this._workerThread.invoke("convertVectorFieldData",{pixelBlock:x.pixelBlock.toJSON(),type:x.dataType},S))?new N(x):null}computeStatisticsHistograms(x,S){if(!this._workerThread)throw new C("raster-jobhandler:no-connection","no available worker connection");return this._workerThread.invoke("computeStatisticsHistograms",{pixelBlock:x.pixelBlock.toJSON()},
S)}async decode(x,S){if(!this._workerThread)throw new C("raster-jobhandler:no-connection","no available worker connection");return(x=await this._workerThread.invoke("decode",x,S))?new N(x):null}async symbolize(x,S){if(!this._workerThread)throw new C("raster-jobhandler:no-connection","no available worker connection");x={extent:x.extent?.toJSON(),pixelBlock:x.pixelBlock?.toJSON(),simpleStretchParams:x.simpleStretchParams,bandIds:x.bandIds};return(S=await this._workerThread.invoke("symbolize",x,S))?
new N(S):null}async updateSymbolizer(x,S){if(!this._workerThread)throw new C("raster-jobhandler:no-connection","no available worker connection");const X=x?.rendererJSON?.histograms;await Promise.all(this._workerThread.broadcast("updateSymbolizer",{symbolizerJSON:x.toJSON(),histograms:X},S))}async updateRasterFunction(x,S){if(!this._workerThread)throw new C("raster-jobhandler:no-connection","no available worker connection");await Promise.all(this._workerThread.broadcast("updateRasterFunction",{rasterFunctionJSON:x.toJSON()},
S))}async process(x,S){if(!this._workerThread)throw new C("raster-jobhandler:no-connection","no available worker connection");return(x=await this._workerThread.invoke("process",{extent:x.extent?.toJSON(),primaryPixelSizes:x.primaryPixelSizes?.map(X=>null!=X?X.toJSON():null),primaryPixelBlocks:x.primaryPixelBlocks.map(X=>null!=X?X.toJSON():null),primaryRasterIds:x.primaryRasterIds},S))?new N(x):null}async stretch(x,S){if(!this._workerThread)throw new C("raster-jobhandler:no-connection","no available worker connection");
if(!x?.pixelBlock)return null;x={srcPixelBlock:x.pixelBlock.toJSON(),stretchParams:x.stretchParams};return(S=await this._workerThread.invoke("stretch",x,S))?new N(S):null}async split(x,S){if(!this._workerThread)throw new C("raster-jobhandler:no-connection","no available worker connection");if(!x?.pixelBlock)return null;x={srcPixelBlock:x.pixelBlock.toJSON(),tileSize:x.tileSize,maximumPyramidLevel:x.maximumPyramidLevel,useBilinear:x.useBilinear};const X=await this._workerThread.invoke("split",x,S);
X&&X.forEach((Y,L)=>{X.set(L,Y?N.fromJSON(Y):null)});return X}async clipTile(x,S){if(!this._workerThread)throw new C("raster-jobhandler:no-connection","no available worker connection");if(!x?.pixelBlock)return null;x={...x,pixelBlock:x.pixelBlock.toJSON()};return(S=await this._workerThread.invoke("clipTile",x,S))?N.fromJSON(S):null}async estimateStatisticsHistograms(x,S){if(!this._workerThread)throw new C("raster-jobhandler:no-connection","no available worker connection");if(!x?.pixelBlock)return null;
x={srcPixelBlock:x.pixelBlock.toJSON()};return await this._workerThread.invoke("estimateStatisticsHistograms",x,S)}async mosaicAndTransform(x,S){if(!this._workerThread)throw new C("raster-jobhandler:no-connection","no available worker connection");if(!x?.srcPixelBlocks?.length)return{pixelBlock:null};x={...x,srcPixelBlocks:x.srcPixelBlocks.map(X=>null!=X?X.toJSON():null)};S=await this._workerThread.invoke("mosaicAndTransform",x,S);return{pixelBlock:S.pixelBlock?new N(S.pixelBlock):null,localNorthDirections:S.localNorthDirections}}async createFlowMesh(x,
S){if(!this._workerThread)throw new C("raster-jobhandler:no-connection","no available worker connection");const X={buffer:x.flowData.data.buffer,maskBuffer:x.flowData.mask.buffer,width:x.flowData.width,height:x.flowData.height},{meshType:Y,simulationSettings:L}=x;x=await this._workerThread.invoke("createFlowMesh",{meshType:Y,flowData:X,simulationSettings:L},{...S,transferList:[X.buffer,X.maskBuffer]});return{vertexData:new Float32Array(x.vertexBuffer),indexData:new Uint32Array(x.indexBuffer)}}getProjectionOffsetGrid(x,
S){if(!this._workerThread)throw new C("raster-jobhandler:no-connection","no available worker connection");const X=null!=x.datumTransformation?x.datumTransformation.steps.map(L=>({wkid:L.wkid,wkt:L.wkt,isInverse:L.isInverse})):null,Y=null!=x.rasterTransform?x.rasterTransform.toJSON():null;x={projectedExtent:x.projectedExtent.toJSON(),srcBufferExtent:x.srcBufferExtent.toJSON(),pixelSize:x.pixelSize,hasWrapAround:x.hasWrapAround,spacing:x.spacing,datumTransformationSteps:X,rasterTransform:Y,isAdaptive:x.isAdaptive,
includeGCSGrid:x.includeGCSGrid};return this._workerThread.invoke("getProjectionOffsetGrid",x,S)}}return I})},"esri/layers/support/rasterDatasets/multidimensionalUtils":function(){define(["exports","../../../core/arrayUtils","../DimensionalDefinition"],function(C,F,N){function I(g,n,k){const D=n.shift();0===k.length&&k.push({sliceId:-1,multidimensionalDefinition:[]});const v=k.length;for(let t=0;t<v;t++){const a=k.shift().multidimensionalDefinition;D.values?.forEach(d=>{k.push({sliceId:-1,multidimensionalDefinition:[...a,
{variableName:g,dimensionName:D.name,values:[d]}]})})}n.length&&I(g,n,k)}function x(g,n){return Array.isArray(g)?n[0]===n[1]?g[0]===n[0]||g[1]===n[0]:g[0]>=n[0]&&g[0]<=n[1]&&g[1]>=n[0]&&g[1]<=n[1]:g>=n[0]&&g<=n[1]}function S(g,n){return g[0]<=n[0]&&g[1]>=n[0]||g[0]<=n[1]&&g[1]>=n[1]||g[0]>=n[0]&&g[1]<=n[1]}function X(g){return 1===g.length?[g[0],g[0]]:[g[0],g[g.length-1]]}function Y(g,n,k){if(!n?.subsetDefinitions?.length)return g;if(k){const {variables:v}=n;if(v.length&&!v.includes(k))return null;
n=n.subsetDefinitions.find(t=>t.dimensionName===g.name&&t.variableName===k);if(!n?.values?.length)return g;n=X(n.values)}else n=n.dimensions.find(({name:v})=>v===g.name)?.extent;const D=n;if(!D?.length)return g;n=g.values.filter(v=>x(v,D));return{...g,extent:[...D],values:n}}function L(g,n,k){if(!n?.subsetDefinitions?.length)return!1;const {variables:D}=n;if(D.length&&g.some(({variableName:v})=>v&&!D.includes(v)))return!0;for(let v=0;v<g.length;v++){const t=g[v],a=n.subsetDefinitions.find(d=>(""===
t.variableName||d.variableName===t.variableName)&&d.dimensionName===t.dimensionName);if(a?.values.length){const d=X(a.values);if(!t.isSlice&&2===t.values.length&&!Array.isArray(t.values[0])&&t.values[0]!==t.values[1]&&k){if(!S(t.values,d))return!0}else if(t.values.some(e=>!x(e,d)))return!0}}return!1}function R(g,n){var k=g.dimensions.find(({name:a})=>"StdTime"===a);if(null==k||null==n.start&&null==n.end)return n;n=n.clone();const {start:D,end:v}=n.toJSON(),t=D===v?[D]:null!=D&&null!=v?[D,v]:[D??v];
if(2===t.length&&k?.extent.length&&(t[0]=Math.max(t[0],k.extent[0]),t[1]=Math.min(t[1],k.extent[1]??k.extent[0]),t[1]<t[0]))return null;k=new N({variableName:"",dimensionName:"StdTime",isSlice:1===t.length,values:t});if(L([k],g,!0))return null;n.start=new Date(t[0]);n.end=new Date(t[1]??t[0]);return n}function Q(g,n={}){const {multidimensionalInfo:k,keyProperties:D}=g;if(null==k)return null;const {variableName:v,multidimensionalSubset:t,multidimensionalDefinition:a}=n;g=null!=a?a[0]?.variableName:
null;const d=v||g||D?.DefaultVariable;({variables:g}=k);t?.variables?.length&&(g=g.filter(({name:e})=>t.variables.includes(e)));return d?g.find(({name:e})=>e===d)??g[0]:g[0]}function h(g,n){var {values:k}=n;if(k?.length){n=Array.isArray(k[0]);var D=Array.isArray(g);return n!==D?-1:n&&D?k.findIndex(t=>t[0]===g[0]&&t[1]===g[1]):k.indexOf(g)}({extent:D}=n);if(Array.isArray(g)||!D||g<D[0]||g>D[1])return-1;k=n.interval||1;if("ISO8601"!==n.unit)return Math.round((g-D[0])/k);D=D[0];let v=-1;switch(n.intervalUnit?.toLowerCase()||
"seconds"){case "seconds":v=Math.round((g-D)/1E3/k);break;case "minutes":v=Math.round((g-D)/6E4/k);break;case "hours":v=Math.round((g-D)/36E5/k);break;case "days":v=Math.round((g-D)/864E5/k);break;case "months":n=(new Date(g)).getUTCFullYear()-(new Date(D)).getUTCFullYear();k=(new Date(D)).getUTCMonth();D=(new Date(g)).getUTCMonth();v=0===n?D-k:D+11-k+12*(n-1);break;case "years":v=Math.round(((new Date(g)).getUTCFullYear()-(new Date(D)).getUTCFullYear())/k);break;case "decades":v=Math.round(((new Date(g)).getUTCFullYear()-
(new Date(D)).getUTCFullYear())/10/k)}return v}function f(g){var n=g.values?.length;if(n)return n;const {extent:k,unit:D}=g;n=g.interval||1;var v=k?k[1]-k[0]:0;if("ISO8601"!==D)return Math.round(v/n);switch(g.intervalUnit?.toLowerCase()??"seconds"){case "seconds":n=Math.round(v/1E3/n);break;case "minutes":n=Math.round(v/6E4/n);break;case "hours":n=Math.round(v/36E5/n);break;case "days":n=Math.round(v/864E5/n);break;case "months":k?(g=(new Date(k[1])).getUTCFullYear()-(new Date(k[0])).getUTCFullYear(),
n=(new Date(k[0])).getUTCMonth(),v=(new Date(k[1])).getUTCMonth(),n=0===g?v-n+1:v+11-n+12*(g-1)+1):n=0;break;case "years":n=k?Math.round(((new Date(k[1])).getUTCFullYear()-(new Date(k[0])).getUTCFullYear())/n):0;break;case "decades":n=k?Math.round(((new Date(k[1])).getUTCFullYear()-(new Date(k[0])).getUTCFullYear())/10/n):0;break;default:n=0}return n}C.createSlices=function(g,n){const k=[];let D=0;(n?g.variables.filter(v=>v.name.toLowerCase()===n.toLowerCase()):[...g.variables].sort((v,t)=>v.name>
t.name?1:-1)).forEach(v=>{const t=[],a=[...v.dimensions].sort((d,e)=>d.name>e.name?-1:1);I(v.name,a,t);t.forEach(d=>{k.push({...d,sliceId:D++})})});return k};C.getDefaultMultidimensionalDefinition=function(g,n={}){var k=Q(g,n);if(!k)return null;g=[];const {dimensions:D,name:v}=k;if(0===D.length)return[new N({variableName:v,dimensionName:"",values:[],isSlice:!0})];for(k=0;k<D.length;k++){const t=Y(D[k],n.multidimensionalSubset,v);if(!t)return null;const {values:a,extent:d}=t;let e=a?.[0]??d?.[0];"stdz"===
t.name.toLowerCase()&&!t.hasRanges&&d&&Math.abs(d[1])<=Math.abs(d[0])&&(e=a?.length?a[a.length-1]:d[1]);g.push(new N({variableName:v,dimensionName:t.name,values:[e],isSlice:n.useRangeForRangedDimensionInfo?!!t.hasRanges:!0}))}return g};C.getDefaultVariableInfo=Q;C.getSliceIds=function(g,n,k){let D=g;n&&(n=[...n].sort((v,t)=>v.dimensionName<t.dimensionName?-1:1),n.forEach(({dimensionName:v,values:t,isSlice:a})=>{t.length&&(D=D.filter(d=>{d=d.multidimensionalDefinition.find(l=>l.dimensionName===v);
if(null==d)return!1;const e=d.values[0];return"number"===typeof e?"number"===typeof t[0]?t.includes(e):t.some(l=>l[0]<=e&&l[1]>=e):"number"===typeof t[0]?t.some(l=>e[0]<=l&&e[1]>=l):a?t.some(l=>l[0]===e[0]&&l[0]===e[1]):t.some(l=>l[0]>=e[0]&&l[0]<=e[1]||l[1]>=e[0]&&l[1]<=e[1]||l[0]<e[0]&&l[1]>e[1])}))}));if(D.length&&null!=k?.start&&null!=k.end){const v=k.start.getTime(),t=k.end.getTime(),a=D[0].multidimensionalDefinition.findIndex(d=>"StdTime"===d.dimensionName);-1<a&&(D=D.filter(d=>{d=d.multidimensionalDefinition[a].values[0];
return v<=d&&t>=d}))}return D.map(v=>v.sliceId)};C.getSliceIndex=function(g,n){let k=0;var D=g[0].variableName;n=[...n.variables].sort((t,a)=>t.name>a.name?1:-1);for(var v=0;v<n.length;v++){const t=n[v],a=[...t.dimensions].sort((d,e)=>d.name>e.name?-1:1);if(t.name!==D)k+=a.map(d=>f(d)).reduce((d,e)=>d*e);else{D=a.map(d=>f(d));n=a.length;for(let d=0;d<n;d++){v=g.find(e=>e.dimensionName===a[d].name);if(null==v)return null;v=h(v.values[0],a[d]);if(-1===v)return null;D.shift();k=d===n-1?k+v:k+v*D.reduce((e,
l)=>e*l)}break}}return k};C.getSubsetVariablesFromMdInfo=function(g,n){if(null==n||null==g)return null;n=n.variables.map(k=>({...k}));g?.variables?.length&&(n=n.filter(({name:k})=>g.variables.includes(k)),n.forEach(k=>{k.dimensions=k.dimensions.map(D=>Y(D,g,k.name)).filter(F.isSome)}));return n};C.hasExcludedVariableOrDimension=L;C.intersectMultimensionalSubset=function(g,n){if(null==g)return{isOutside:!1};const {geometry:k,timeExtent:D,multidimensionalDefinition:v}=n;n=null;if(null!=D&&(n=R(g,D),
null==n))return{isOutside:!0};const {areaOfInterest:t}=g;if(t&&k){const a="point"===k.type?k:"extent"===k.type?k.center:"polygon"===k.type?k.centroid:null;if(a&&!t.contains(a))return{isOutside:!0}}return null!=v&&v.length&&L(v,g,!0)?{isOutside:!0}:{isOutside:!1,intersection:{geometry:k,timeExtent:n,multidimensionalDefinition:v}}};C.isMultiSliceOrRangeDefinition=function(g){return g?.length?g.some(n=>{if(null==n.values)return!0;const k=n.values.length;return 0===k||1<k||!n.isSlice&&Array.isArray(n.values[0])}):
!1};Object.defineProperty(C,Symbol.toStringTag,{value:"Module"})})},"esri/layers/support/rasterFormats/RasterCodec":function(){define("exports ../../../core/Error ../../../core/maybe ../PixelBlock ../SimpleBandStatistics ./ImageCanvasDecoder ./JpgPlus ./Lerc ./Lzw ./pixelRangeUtils ../../../chunks/Zlib ./Raw ./TiffDecoder ./utils".split(" "),function(C,F,N,I,x,S,X,Y,L,R,Q,h,f,g){async function n(p,q){if(!g.isPlatformLittleEndian)throw new F("rasterCoded:decode","lerc decoder is not supported on big endian platform");
await Y.load();const {offset:y}=q,{width:z,height:H,pixelType:E,statistics:K,depthCount:w,noDataValues:A,bandMasks:G,pixels:P,mask:U}=Y.decode(p,{inputOffset:y,returnInterleaved:q.returnInterleaved});p=new I({width:z,height:H,pixelType:E.toLowerCase(),pixels:P,mask:U,statistics:K.map(({minValue:V,maxValue:T})=>new x.SimpleBandStatistics(V,T)),bandMasks:G,depthCount:w,noDataValues:A});K?.length||p.updateStatistics();return p}async function k(p,q){p=await f.decode(p,{...q,noDataValue:null});N.assertIsSome(p);
p=new I({width:p.width,height:p.height,pixels:p.pixels,pixelType:p.pixelType.toLowerCase(),mask:p.mask,bandMasks:p.bandMasks,statistics:null});p.updateStatistics();return p}async function D(p,q){p=await f.decodeTileOrStrip(p,q.customOptions);p=new I({width:p.width,height:p.height,pixels:p.pixels,pixelType:p.pixelType.toLowerCase(),mask:p.mask,statistics:null});p.updateStatistics();return p}function v(p,q){const y=q.pixelType||"u8",z=I.getPixelArrayConstructor(y),H="u8"===y?p:new z(p.buffer),E=[],
K=q.planes||1;if(1===K)E.push(H);else for(let w=0;w<K;w++){const A=(q.width||1)*(q.height||p.length),G=new z(A);for(let P=0;P<A;P++)G[P]=H[P*K+w];E.push(G)}p=new I({width:q.width||1,height:q.height||p.length,pixels:E,pixelType:y,statistics:null});p.updateStatistics();return p}function t(p,q){p=(new Q.Zlib(new Uint8Array(p))).getBytes();return v(p,q)}function a(p,q){p=L.decode(p,q.offset,q.eof,!q.isInputBigEndian);return v(p,q)}function d(p,q){p=X.decode(p,q.hasNoZlibMask??void 0);p=new I({width:p.width,
height:p.height,pixels:p.pixels,pixelType:"u8",mask:p.mask,statistics:null});p.updateStatistics();return p}function e(p,q){p=new Uint8Array(p);p=new r(p);const {width:y,height:z}=q;q=y*z;p=p.decode();let H=0;var E=0;let K;E=new Uint8Array(q);for(H=0;H<q;H++)E[H]=p[4*H+3];const w=new I({width:y,height:z,pixels:[],pixelType:"u8",mask:E,statistics:[]});for(H=0;3>H;H++){K=new Uint8Array(q);for(E=0;E<q;E++)K[E]=p[4*E+H];w.addData({pixels:K})}w.updateStatistics();return w}async function l(p,q,y,z){p=await (new S).decode(p,
{applyJpegMask:!1,format:q,...y},z);p=new I(p);p.updateStatistics();return p}function c(p){if(null==p)throw new F("rasterCodec:decode","parameter encodeddata is required.");p=new Uint8Array(p,0,10);let q="";255===p[0]&&216===p[1]?q="jpg":137===p[0]&&80===p[1]&&78===p[2]&&71===p[3]?q="png":67===p[0]&&110===p[1]&&116===p[2]&&90===p[3]&&73===p[4]&&109===p[5]&&97===p[6]&&103===p[7]&&101===p[8]&&32===p[9]?q="lerc":76===p[0]&&101===p[1]&&114===p[2]&&99===p[3]&&50===p[4]&&32===p[5]?q="lerc2":73===p[0]&&
73===p[1]&&42===p[2]&&0===p[3]||77===p[0]&&77===p[1]&&0===p[2]&&42===p[3]||73===p[0]&&73===p[1]&&43===p[2]&&0===p[3]||77===p[0]&&77===p[1]&&0===p[2]&&43===p[3]?q="tiff":71===p[0]&&73===p[1]&&70===p[2]?q="gif":66===p[0]&&77===p[1]?q="bmp":String.fromCharCode.apply(null,p).toLowerCase().includes("error")&&(q="error");return q}function b(p){let q=null;switch(p){case "lerc":case "lerc2":q=n;break;case "jpg":q=d;break;case "png":q=e;break;case "bsq":case "bip":q=(y,z)=>{var H=z.pixelType,E=null;let K=
null;switch(H?H.toLowerCase():"f32"){case "u1":case "u2":case "u4":case "u8":K=255;E=Uint8Array;break;case "u16":K=K||65535;E=Uint16Array;break;case "u32":K=K||2**32-1;E=Uint32Array;break;case "s8":K=K||-128;E=Int8Array;break;case "s16":K=K||-32768;E=Int16Array;break;case "s32":K=K||-(2**31);E=Int32Array;break;default:E=Float32Array}({pixelTypeCtor:H}={pixelTypeCtor:E,noDataValue:K});E=h.decode;y=E(y,{width:z.width,height:z.height,pixelType:H,format:p});z=new I({width:z.width,height:z.height,pixels:y.pixels,
pixelType:z.pixelType,mask:y.mask,statistics:null});z.updateStatistics();return z};break;case "tiff":q=k;break;case "deflate":q=t;break;case "lzw":q=a;break;case "error":q=()=>{throw new F("rasterCodec:decode","input data contains error");};break;default:q=()=>{throw new F("rasterCodec:decode","unsupported raster format");}}return q}function m(p,q=1){if(p){var {pixels:y,width:z,height:H,mask:E}=p;if(y&&0!==y.length){var K=y.length,w=z-1,A=H-1,G=[],P,U,V=null,T=I.getPixelArrayConstructor(p.pixelType);
if(0===q){for(q=0;q<K;q++){var J=y[q];var O=new T(w*A);for(P=0;P<A;P++){var Z=P*z;for(U=0;U<w;U++)O[P*w+U]=J[Z+U]}G.push(O)}if(null!=E)for(V=new Uint8Array(w*A),P=0;P<A;P++)for(Z=P*z,U=0;U<w;U++)V[P*w+U]=E[Z+U]}else{for(q=0;q<K;q++){J=y[q];O=new T(w*A);for(P=0;P<A;P++)for(Z=P*z,U=0;U<w;U++)O[P*w+U]=(J[Z+U]+J[Z+U+1]+J[Z+z+U]+J[Z+z+U+1])/4;G.push(O)}if(E)for(V=new Uint8Array(w*A),P=0;P<A;P++)for(Z=P*z,U=0;U<w;U++)V[P*w+U]=Math.min.apply(null,[E[Z+U],E[Z+U+1],E[Z+z+U],E[Z+z+U+1]])}p.width=w;p.height=
A;p.mask=V;p.pixels=G}}}var r=function(p){function q(E){var K,w;this.data=E;this.pos=8;this.palette=[];this.imgData=[];this.transparency={};this.animation=null;this.text={};for(w=null;;){var A=this.readUInt32();var G=E=void 0;E=[];for(G=0;4>G;++G)E.push(String.fromCharCode(this.data[this.pos++]));E=E.join("");switch(E){case "IHDR":this.width=this.readUInt32();this.height=this.readUInt32();this.bits=this.data[this.pos++];this.colorType=this.data[this.pos++];this.compressionMethod=this.data[this.pos++];
this.filterMethod=this.data[this.pos++];this.interlaceMethod=this.data[this.pos++];break;case "acTL":this.animation={numFrames:this.readUInt32(),numPlays:this.readUInt32()||Infinity,frames:[]};break;case "PLTE":this.palette=this.read(A);break;case "fcTL":w&&this.animation.frames.push(w);this.pos+=4;w={width:this.readUInt32(),height:this.readUInt32(),xOffset:this.readUInt32(),yOffset:this.readUInt32()};E=this.readUInt16();A=this.readUInt16()||100;w.delay=1E3*E/A;w.disposeOp=this.data[this.pos++];w.blendOp=
this.data[this.pos++];w.data=[];break;case "IDAT":case "fdAT":"fdAT"===E&&(this.pos+=4,A-=4);E=(null!=w?w.data:void 0)||this.imgData;for(G=0;0<=A?G<A:G>A;0<=A?++G:--G)E.push(this.data[this.pos++]);break;case "tRNS":this.transparency={};switch(this.colorType){case 3:this.transparency.indexed=this.read(A);A=255-this.transparency.indexed.length;if(0<A)for(E=0;0<=A?E<A:E>A;0<=A?++E:--E)this.transparency.indexed.push(255);break;case 0:this.transparency.grayscale=this.read(A)[0];break;case 2:this.transparency.rgb=
this.read(A)}break;case "tEXt":G=this.read(A);A=G.indexOf(0);E=String.fromCharCode.apply(String,G.slice(0,A));this.text[E]=String.fromCharCode.apply(String,G.slice(A+1));break;case "IEND":w&&this.animation.frames.push(w);a:{switch(this.colorType){case 0:case 3:case 4:w=1;break a;case 2:case 6:w=3;break a}w=void 0}this.colors=w;this.hasAlphaChannel=4===(K=this.colorType)||6===K;K=this.colors+(this.hasAlphaChannel?1:0);this.pixelBitlength=this.bits*K;a:{switch(this.colors){case 1:K="DeviceGray";break a;
case 3:K="DeviceRGB";break a}K=void 0}this.colorSpace=K;this.imgData=new Uint8Array(this.imgData);return;default:this.pos+=A}this.pos+=4;if(this.pos>this.data.length)throw Error("Incomplete or corrupt PNG file");}}var y;q.load=function(E,K,w){"function"===typeof K&&(w=K);var A=new XMLHttpRequest;A.open("GET",E,!0);A.responseType="arraybuffer";A.onload=function(){var G=new Uint8Array(A.response||A.mozResponseArrayBuffer);G=new q(G);"function"===typeof(null!=K?K.getContext:void 0)&&G.render(K);return"function"===
typeof w?w(G):void 0};return A.send(null)};q.prototype.read=function(E){var K;var w=[];for(K=0;0<=E?K<E:K>E;0<=E?++K:--K)w.push(this.data[this.pos++]);return w};q.prototype.readUInt32=function(){var E=this.data[this.pos++]<<24;var K=this.data[this.pos++]<<16;var w=this.data[this.pos++]<<8;var A=this.data[this.pos++];return E|K|w|A};q.prototype.readUInt16=function(){var E=this.data[this.pos++]<<8;var K=this.data[this.pos++];return E|K};q.prototype.decodePixels=function(E){var K,w,A,G,P,U,V,T;null==
E&&(E=this.imgData);if(0===E.length)return new Uint8Array(0);E=new Q.Zlib(E);E=E.getBytes();var J=this.pixelBitlength/8;var O=J*this.width;var Z=new Uint8Array(O*this.height);var aa=E.length;for(w=G=P=0;G<aa;){switch(E[G++]){case 0:for(A=K=0;K<O;A=K+=1)Z[w++]=E[G++];break;case 1:for(A=U=0;U<O;A=U+=1){K=E[G++];var W=A<J?0:Z[w-J];Z[w++]=(K+W)%256}break;case 2:for(A=W=0;W<O;A=W+=1){K=E[G++];var da=(A-A%J)/J;U=P&&Z[(P-1)*O+da*J+A%J];Z[w++]=(U+K)%256}break;case 3:for(A=T=0;T<O;A=T+=1)K=E[G++],da=(A-A%
J)/J,W=A<J?0:Z[w-J],U=P&&Z[(P-1)*O+da*J+A%J],Z[w++]=(K+Math.floor((W+U)/2))%256;break;case 4:for(A=T=0;T<O;A=T+=1){K=E[G++];da=(A-A%J)/J;W=A<J?0:Z[w-J];0===P?U=V=0:(U=Z[(P-1)*O+da*J+A%J],V=da&&Z[(P-1)*O+(da-1)*J+A%J]);var ca=W+U-V;A=Math.abs(ca-W);da=Math.abs(ca-U);ca=Math.abs(ca-V);W=A<=da&&A<=ca?W:da<=ca?U:V;Z[w++]=(K+W)%256}break;default:throw Error("Invalid filter algorithm: "+E[G-1]);}P++}return Z};q.prototype.decodePalette=function(){var E,K,w,A;var G=this.palette;var P=this.transparency.indexed||
[];var U=new Uint8Array((P.length||0)+G.length);var V=0;G.length;var T=K=E=0;for(w=G.length;K<w;T=K+=3)U[V++]=G[T],U[V++]=G[T+1],U[V++]=G[T+2],U[V++]=null!=(A=P[E++])?A:255;return U};q.prototype.copyToImageData=function(E,K){var w,A;var G=this.colors;var P=null;var U=this.hasAlphaChannel;this.palette.length&&(P=null!=(w=this._decodedPalette)?w:this._decodedPalette=this.decodePalette(),G=4,U=!0);E=E.data||E;var V=E.length;var T=P||K;w=A=0;if(1===G)for(;w<V;)G=P?4*K[w/4]:A,A=T[G++],E[w++]=A,E[w++]=
A,E[w++]=A,E[w++]=U?T[G++]:this.transparency.grayscale&&this.transparency.grayscale===A?0:255,A=G;else for(;w<V;)G=P?4*K[w/4]:A,E[w++]=T[G++],E[w++]=T[G++],E[w++]=T[G++],E[w++]=U?T[G++]:this.transparency.rgb&&this.transparency.rgb[1]===T[G-3]&&this.transparency.rgb[3]===T[G-2]&&this.transparency.rgb[5]===T[G-1]?0:255,A=G};q.prototype.decode=function(){var E=new Uint8Array(this.width*this.height*4);this.copyToImageData(E,this.decodePixels());return E};var z=(y=p.document&&p.document.createElement("canvas"))&&
y.getContext("2d");var H=function(E){z.width=E.width;z.height=E.height;z.clearRect(0,0,E.width,E.height);z.putImageData(E,0,0);E=new Image;E.src=y.toDataURL();return E};q.prototype.decodeFrames=function(E){var K,w;if(this.animation){var A=this.animation.frames;var G=[];var P=K=0;for(w=A.length;K<w;P=++K){P=A[P];var U=E.createImageData(P.width,P.height);var V=this.decodePixels(new Uint8Array(P.data));this.copyToImageData(U,V);P.imageData=U;G.push(P.image=H(U))}return G}};q.prototype.renderFrame=function(E,
K){var w=this.animation.frames;var A=w[K];w=w[K-1];0===K&&E.clearRect(0,0,this.width,this.height);1===(null!=w?w.disposeOp:void 0)?E.clearRect(w.xOffset,w.yOffset,w.width,w.height):2===(null!=w?w.disposeOp:void 0)&&E.putImageData(w.imageData,w.xOffset,w.yOffset);0===A.blendOp&&E.clearRect(A.xOffset,A.yOffset,A.width,A.height);return E.drawImage(A.image,A.xOffset,A.yOffset)};q.prototype.animate=function(E){var K,w=this;var A=0;var G=this.animation;var P=G.numFrames;var U=G.frames;var V=G.numPlays;
return(K=function(){var T=A++%P;var J=U[T];w.renderFrame(E,T);if(1<P&&A/P<V)return w.animation._timeout=setTimeout(K,J.delay)})()};q.prototype.stopAnimation=function(){var E;return clearTimeout(null!=(E=this.animation)?E._timeout:void 0)};q.prototype.render=function(E){E._png&&E._png.stopAnimation();E._png=this;E.width=this.width;E.height=this.height;E=E.getContext("2d");if(this.animation)return this.decodeFrames(E),this.animate(E);var K=E.createImageData(this.width,this.height);this.copyToImageData(K,
this.decodePixels());return E.putImageData(K,0,0)};return q}(self);const u=new Set(["jpg","png","bmp","gif"]);C.decode=async function(p,q={},y){if(null==p)throw new F("rasterCodec:decode","missing encodeddata parameter.");let z=q.format?.toLowerCase();if(!("bsq"!==z&&"bip"!==z||null!=q.width&&null!=q.height))throw new F("rasterCodec:decode","requires width and height in options parameter.");if("tiff"===z&&q.customOptions)return D(p,q);if(!z||"bsq"!==z&&"bip"!==z&&"deflate"!==z&&"lzw"!==z)z=c(p);if(q.useCanvas&&
u.has(z))return l(p,z,q,y);const H=b(z);q.isPoint&&(q={...q},null!=q.width&&q.width++,null!=q.height&&q.height++);let E;const {offsets:K}=q;if(K&&1<K.length){y=K.map((A,G)=>H(p.slice(A,K[G+1]),q));y=await Promise.all(y);E=y[0];E.pixels=y.map(A=>A.pixels[0]);const w=y.map(A=>A.mask);y.some(A=>null!=A)&&(w.forEach((A,G)=>{null==A&&(w[G]=(new Uint8Array(E.width*E.height)).fill(255))}),E.bandMasks=w,E.mask=I.combineBandMasks(w));E.updateStatistics()}else E=await H(p,{...q,offset:K?.[0]??q.offset});"jpg"!==
z&&null!=q.noDataValue&&1===E.depthCount&&R.convertNoDataToMask(E,q.noDataValue,{customFloatTolerance:q.tolerance});q.isPoint&&m(E);return E};C.getFormat=function(p){p=c(p);"lerc2"===p?p="lerc":"error"===p&&(p="");return p};Object.defineProperty(C,Symbol.toStringTag,{value:"Module"})})},"esri/layers/support/rasterFormats/ImageCanvasDecoder":function(){define(["../../../core/Error","../../../core/promiseUtils","../../../chunks/Zlib"],function(C,F,N){class I{constructor(x){this._ctx=this._canvas=null;
x&&(this._canvas=x.canvas,this._ctx=x.ctx||x.canvas&&x.canvas.getContext("2d"))}decode(x,S,X){if(!x||10>x.byteLength)throw new C("imagecanvasdecoder: decode","required a valid encoded data as input.");let {width:Y=0,height:L=0,format:R}=S;const {applyJpegMask:Q}=S;if(Q&&(!Y||!L))throw new C("imagecanvasdecoder: decode","image width and height are needed to apply jpeg mask directly to canvas");return new Promise((h,f)=>{let g=null;"jpg"===R&&Q&&(g=I._getMask(x,{width:Y,height:L}));const n=new Blob([new Uint8Array(x)],
{type:"jpg"==="image/"+R?"jpeg":R}),k=URL.createObjectURL(n),D=new Image;let v;D.src=k;D.onload=()=>{URL.revokeObjectURL(k);if(F.isAborted(X))f(F.createAbortError());else{Y=D.width;L=D.height;if(this._canvas&&this._ctx){if(this._canvas.width!==Y||this._canvas.height!==L)this._canvas.width=Y,this._canvas.height=L;this._ctx.clearRect(0,0,Y,L)}else this._canvas=document.createElement("canvas"),this._canvas.width=Y,this._canvas.height=L,this._ctx=this._canvas.getContext("2d");this._ctx.drawImage(D,0,
0);var t=this._ctx.getImageData(0,0,Y,L);v=t.data;var a;if(S.renderOnCanvas){if(g)for(a=0;a<g.length;a++)v[4*a+3]=g[a]?255:0;this._ctx.putImageData(t,0,0);h(null)}else{t=Y*L;var d=new Uint8Array(t),e=new Uint8Array(t),l=new Uint8Array(t);if(g)for(a=0;a<t;a++)d[a]=v[4*a],e[a]=v[4*a+1],l[a]=v[4*a+2];else for(g=new Uint8Array(t),a=0;a<t;a++)d[a]=v[4*a],e[a]=v[4*a+1],l[a]=v[4*a+2],g[a]=v[4*a+3];h({width:Y,height:L,pixels:[d,e,l],mask:g,pixelType:"u8"})}}};D.onerror=()=>{URL.revokeObjectURL(k);f("cannot load image")}})}static _getMask(x,
S){let X=null;try{var Y=new Uint8Array(x);x=0;var L=Y.length-2;for(x=Math.ceil(Y.length/2);x<L&&(255!==Y[x]||217!==Y[x+1]);x++);x+=2;if(x<Y.length-1){const R=(new N.Zlib(Y.subarray(x))).getBytes();X=new Uint8Array(S.width*S.height);S=0;for(Y=0;Y<R.length;Y++)for(L=7;0<=L;L--)X[S++]=R[Y]>>L&1}}catch(R){}return X}}return I})},"esri/chunks/Zlib":function(){define(["exports","./_commonjsHelpers"],function(C,F){var N={exports:{}};(function(I){(function(x){x=x();void 0!==x&&(I.exports=x)})(function(){var x=
function(){function S(){this.bufferLength=this.pos=0;this.eof=!1;this.buffer=null}S.prototype={ensureBuffer:function(X){var Y=this.buffer,L=Y?Y.byteLength:0;if(X<L)return Y;for(var R=512;R<X;)R<<=1;X=new Uint8Array(R);for(R=0;R<L;++R)X[R]=Y[R];return this.buffer=X},getByte:function(){for(var X=this.pos;this.bufferLength<=X;){if(this.eof)return null;this.readBlock()}return this.buffer[this.pos++]},getBytes:function(X){var Y=this.pos;if(X){this.ensureBuffer(Y+X);for(X=Y+X;!this.eof&&this.bufferLength<
X;)this.readBlock();var L=this.bufferLength;X>L&&(X=L)}else{for(;!this.eof;)this.readBlock();X=this.bufferLength}this.pos=X;return this.buffer.subarray(Y,X)},lookChar:function(){for(var X=this.pos;this.bufferLength<=X;){if(this.eof)return null;this.readBlock()}return String.fromCharCode(this.buffer[this.pos])},getChar:function(){for(var X=this.pos;this.bufferLength<=X;){if(this.eof)return null;this.readBlock()}return String.fromCharCode(this.buffer[this.pos++])},makeSubStream:function(X,Y,L){for(var R=
X+Y;this.bufferLength<=R&&!this.eof;)this.readBlock();return new Stream(this.buffer,X,Y,L)},skip:function(X){X||=1;this.pos+=X},reset:function(){this.pos=0}};return S}();return function(){function S(f){throw Error(f);}function X(f){var g=0,n=f[g++],k=f[g++];-1!=n&&-1!=k||S("Invalid header in flate stream");8!=(n&15)&&S("Unknown compression method in flate stream");0!=((n<<8)+k)%31&&S("Bad FCHECK in flate stream");k&32&&S("FDICT bit set in flate stream");this.bytes=f;this.bytesPos=g;this.codeBuf=this.codeSize=
0;x.call(this)}if(!self||!self.Uint32Array)return null;var Y=new Uint32Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),L=new Uint32Array([3,4,5,6,7,8,9,10,65547,65549,65551,65553,131091,131095,131099,131103,196643,196651,196659,196667,262211,262227,262243,262259,327811,327843,327875,327907,258,258,258]),R=new Uint32Array([1,2,3,4,65541,65543,131081,131085,196625,196633,262177,262193,327745,327777,393345,393409,459009,459137,524801,525057,590849,591361,657409,658433,724993,727041,794625,798721,
868353,876545]),Q=[new Uint32Array([459008,524368,524304,524568,459024,524400,524336,590016,459016,524384,524320,589984,524288,524416,524352,590048,459012,524376,524312,589968,459028,524408,524344,590032,459020,524392,524328,59E4,524296,524424,524360,590064,459010,524372,524308,524572,459026,524404,524340,590024,459018,524388,524324,589992,524292,524420,524356,590056,459014,524380,524316,589976,459030,524412,524348,590040,459022,524396,524332,590008,524300,524428,524364,590072,459009,524370,524306,
524570,459025,524402,524338,590020,459017,524386,524322,589988,524290,524418,524354,590052,459013,524378,524314,589972,459029,524410,524346,590036,459021,524394,524330,590004,524298,524426,524362,590068,459011,524374,524310,524574,459027,524406,524342,590028,459019,524390,524326,589996,524294,524422,524358,590060,459015,524382,524318,589980,459031,524414,524350,590044,459023,524398,524334,590012,524302,524430,524366,590076,459008,524369,524305,524569,459024,524401,524337,590018,459016,524385,524321,
589986,524289,524417,524353,590050,459012,524377,524313,589970,459028,524409,524345,590034,459020,524393,524329,590002,524297,524425,524361,590066,459010,524373,524309,524573,459026,524405,524341,590026,459018,524389,524325,589994,524293,524421,524357,590058,459014,524381,524317,589978,459030,524413,524349,590042,459022,524397,524333,590010,524301,524429,524365,590074,459009,524371,524307,524571,459025,524403,524339,590022,459017,524387,524323,589990,524291,524419,524355,590054,459013,524379,524315,
589974,459029,524411,524347,590038,459021,524395,524331,590006,524299,524427,524363,590070,459011,524375,524311,524575,459027,524407,524343,590030,459019,524391,524327,589998,524295,524423,524359,590062,459015,524383,524319,589982,459031,524415,524351,590046,459023,524399,524335,590014,524303,524431,524367,590078,459008,524368,524304,524568,459024,524400,524336,590017,459016,524384,524320,589985,524288,524416,524352,590049,459012,524376,524312,589969,459028,524408,524344,590033,459020,524392,524328,
590001,524296,524424,524360,590065,459010,524372,524308,524572,459026,524404,524340,590025,459018,524388,524324,589993,524292,524420,524356,590057,459014,524380,524316,589977,459030,524412,524348,590041,459022,524396,524332,590009,524300,524428,524364,590073,459009,524370,524306,524570,459025,524402,524338,590021,459017,524386,524322,589989,524290,524418,524354,590053,459013,524378,524314,589973,459029,524410,524346,590037,459021,524394,524330,590005,524298,524426,524362,590069,459011,524374,524310,
524574,459027,524406,524342,590029,459019,524390,524326,589997,524294,524422,524358,590061,459015,524382,524318,589981,459031,524414,524350,590045,459023,524398,524334,590013,524302,524430,524366,590077,459008,524369,524305,524569,459024,524401,524337,590019,459016,524385,524321,589987,524289,524417,524353,590051,459012,524377,524313,589971,459028,524409,524345,590035,459020,524393,524329,590003,524297,524425,524361,590067,459010,524373,524309,524573,459026,524405,524341,590027,459018,524389,524325,
589995,524293,524421,524357,590059,459014,524381,524317,589979,459030,524413,524349,590043,459022,524397,524333,590011,524301,524429,524365,590075,459009,524371,524307,524571,459025,524403,524339,590023,459017,524387,524323,589991,524291,524419,524355,590055,459013,524379,524315,589975,459029,524411,524347,590039,459021,524395,524331,590007,524299,524427,524363,590071,459011,524375,524311,524575,459027,524407,524343,590031,459019,524391,524327,589999,524295,524423,524359,590063,459015,524383,524319,
589983,459031,524415,524351,590047,459023,524399,524335,590015,524303,524431,524367,590079]),9],h=[new Uint32Array([327680,327696,327688,327704,327684,327700,327692,327708,327682,327698,327690,327706,327686,327702,327694,0,327681,327697,327689,327705,327685,327701,327693,327709,327683,327699,327691,327707,327687,327703,327695,0]),5];X.prototype=Object.create(x.prototype);X.prototype.getBits=function(f){for(var g=this.codeSize,n=this.codeBuf,k=this.bytes,D=this.bytesPos,v;g<f;)"undefined"==typeof(v=
k[D++])&&S("Bad encoding in flate stream"),n|=v<<g,g+=8;this.codeBuf=n>>f;this.codeSize=g-=f;this.bytesPos=D;return n&(1<<f)-1};X.prototype.getCode=function(f){var g=f[0],n=f[1];f=this.codeSize;for(var k=this.codeBuf,D=this.bytes,v=this.bytesPos;f<n;){var t;"undefined"==typeof(t=D[v++])&&S("Bad encoding in flate stream");k|=t<<f;f+=8}n=g[k&(1<<n)-1];g=n>>16;n&=65535;(0==f||f<g||0==g)&&S("Bad encoding in flate stream");this.codeBuf=k>>g;this.codeSize=f-g;this.bytesPos=v;return n};X.prototype.generateHuffmanTable=
function(f){for(var g=f.length,n=0,k=0;k<g;++k)f[k]>n&&(n=f[k]);for(var D=1<<n,v=new Uint32Array(D),t=1,a=0,d=2;t<=n;++t,a<<=1,d<<=1)for(var e=0;e<g;++e)if(f[e]==t){var l=0,c=a;for(k=0;k<t;++k)l=l<<1|c&1,c>>=1;for(k=l;k<D;k+=d)v[k]=t<<16|e;++a}return[v,n]};X.prototype.readBlock=function(){function f(l,c,b,m,r){for(l=l.getBits(b)+m;0<l--;)c[a++]=r}var g=this.getBits(3);g&1&&(this.eof=!0);g>>=1;if(0==g){var n=this.bytes,k=this.bytesPos,D;"undefined"==typeof(D=n[k++])&&S("Bad block header in flate stream");
var v=D;"undefined"==typeof(D=n[k++])&&S("Bad block header in flate stream");v|=D<<8;"undefined"==typeof(D=n[k++])&&S("Bad block header in flate stream");g=D;"undefined"==typeof(D=n[k++])&&S("Bad block header in flate stream");(g|D<<8)!=(~v&65535)&&S("Bad uncompressed block length in flate stream");this.codeSize=this.codeBuf=0;D=this.bufferLength;g=this.ensureBuffer(D+v);this.bufferLength=v=D+v;for(var t=D;t<v;++t){if("undefined"==typeof(D=n[k++])){this.eof=!0;break}g[t]=D}this.bytesPos=k}else{if(1==
g)k=Q,D=h;else if(2==g){g=this.getBits(5)+257;D=this.getBits(5)+1;n=this.getBits(4)+4;k=Array(Y.length);for(var a=0;a<n;)k[Y[a++]]=this.getBits(3);k=this.generateHuffmanTable(k);a=n=0;D=g+D;for(v=Array(D);a<D;)t=this.getCode(k),16==t?f(this,v,2,3,n):17==t?f(this,v,3,3,n=0):18==t?f(this,v,7,11,n=0):v[a++]=n=t;k=this.generateHuffmanTable(v.slice(0,g));D=this.generateHuffmanTable(v.slice(g,D))}else S("Unknown block type in flate stream");v=(g=this.buffer)?g.length:0;for(t=this.bufferLength;;){var d=
this.getCode(k);if(256>d)t+1>=v&&(g=this.ensureBuffer(t+1),v=g.length),g[t++]=d;else{if(256==d){this.bufferLength=t;break}d-=257;d=L[d];var e=d>>16;0<e&&(e=this.getBits(e));n=(d&65535)+e;d=this.getCode(D);d=R[d];e=d>>16;0<e&&(e=this.getBits(e));d=(d&65535)+e;t+n>=v&&(g=this.ensureBuffer(t+n),v=g.length);for(e=0;e<n;++e,++t)g[t]=g[t-d]}}}};return X}()})})(N);F=F.getDefaultExportFromCjs(N.exports);C.Zlib=F})},"esri/layers/support/rasterFormats/JpgPlus":function(){define(["../../../chunks/Jpg","../../../chunks/Zlib"],
function(C,F){class N{static decode(I,x=!1){const S=new Uint8Array(I);I=new C.JpegImage;I.parse(S);const {width:X,height:Y,numComponents:L,eof:R}=I,Q=I.getData(X,Y,!0),h=X*Y;I=null;let f=0,g=0,n=0;if(!x&&R<S.length-1)try{var k=(new F.Zlib(S.subarray(R))).getBytes();I=new Uint8Array(h);for(f=x=0;f<k.length;f++)for(n=7;0<=n;n--)I[x++]=k[f]>>n&1}catch{}if(1===L&&Q.length===X*Y)k=new Uint8Array(Q.buffer),k=[k,k,k];else{k=[];for(f=0;3>f;f++)k.push(new Uint8Array(h));for(g=n=0;g<h;g++)for(f=0;3>f;f++)k[f][g]=
Q[n++]}return{width:X,height:Y,pixels:k,mask:I}}}return N})},"esri/chunks/Jpg":function(){define(["exports","./_commonjsHelpers"],function(C,F){var N={exports:{}};(function(I){(function(x){x=x();void 0!==x&&(I.exports=x)})(function(){var x=function(){function S(X){this.message="JPEG error: "+X}S.prototype=Error();S.prototype.name="JpegError";return S.constructor=S}();return function(){function S(){this.decodeTransform=null;this.colorTransform=-1}function X(h,f){for(var g=0,n=[],k,D,v=16;0<v&&!h[v-
1];)v--;n.push({children:[],index:0});var t=n[0],a;for(k=0;k<v;k++){for(D=0;D<h[k];D++){t=n.pop();for(t.children[t.index]=f[g];0<t.index;)t=n.pop();t.index++;for(n.push(t);n.length<=k;)n.push(a={children:[],index:0}),t.children[t.index]=a.children,t=a;g++}k+1<v&&(n.push(a={children:[],index:0}),t.children[t.index]=a.children,t=a)}return n[0].children}function Y(h,f,g,n,k,D,v,t,a){function d(){if(0<H)return H--,z>>H&1;z=h[f++];if(255===z){var W=h[f++];if(W)throw new x("unexpected marker "+(z<<8|W).toString(16));
}H=7;return z>>>7}function e(W){for(;;){W=W[d()];if("number"===typeof W)return W;if("object"!==typeof W)throw new x("invalid huffman sequence");}}function l(W){for(var da=0;0<W;)da=da<<1|d(),W--;return da}function c(W){if(1===W)return 1===d()?1:-1;var da=l(W);return da>=1<<W-1?da:da+(-1<<W)+1}function b(W,da){var ca=e(W.huffmanTableDC);ca=0===ca?0:c(ca);W.blockData[da]=W.pred+=ca;for(ca=1;64>ca;){var fa=e(W.huffmanTableAC),ha=fa&15;fa>>=4;if(0===ha){if(15>fa)break;ca+=16}else ca+=fa,W.blockData[da+
Q[ca]]=c(ha),ca++}}function m(W,da){var ca=e(W.huffmanTableDC);ca=0===ca?0:c(ca)<<a;W.blockData[da]=W.pred+=ca}function r(W,da){W.blockData[da]|=d()<<a}function u(W,da){if(0<E)E--;else for(var ca=D;ca<=v;){var fa=e(W.huffmanTableAC),ha=fa&15;fa>>=4;if(0===ha){if(15>fa){E=l(fa)+(1<<fa)-1;break}ca+=16}else ca+=fa,W.blockData[da+Q[ca]]=c(ha)*(1<<a),ca++}}function p(W,da){for(var ca=D,fa=0,ha;ca<=v;){ha=Q[ca];switch(K){case 0:fa=e(W.huffmanTableAC);ha=fa&15;fa>>=4;if(0===ha)15>fa?(E=l(fa)+(1<<fa),K=4):
(fa=16,K=1);else{if(1!==ha)throw new x("invalid ACn encoding");w=c(ha);K=fa?2:3}continue;case 1:case 2:W.blockData[da+ha]?W.blockData[da+ha]+=d()<<a:(fa--,0===fa&&(K=2===K?3:0));break;case 3:W.blockData[da+ha]?W.blockData[da+ha]+=d()<<a:(W.blockData[da+ha]=w<<a,K=0);break;case 4:W.blockData[da+ha]&&(W.blockData[da+ha]+=d()<<a)}ca++}4===K&&(E--,0===E&&(K=0))}var q=g.mcusPerLine,y=f,z=0,H=0,E=0,K=0,w,A=n.length,G,P,U,V;t=g.progressive?0===D?0===t?m:r:0===t?u:p:b;var T=0;g=1===A?n[0].blocksPerLine*n[0].blocksPerColumn:
q*g.mcusPerColumn;for(var J,O;T<g;){var Z=k?Math.min(g-T,k):g;for(G=0;G<A;G++)n[G].pred=0;E=0;if(1===A){var aa=n[0];for(V=0;V<Z;V++)t(aa,64*((aa.blocksPerLine+1)*(T/aa.blocksPerLine|0)+T%aa.blocksPerLine)),T++}else for(V=0;V<Z;V++){for(G=0;G<A;G++)for(aa=n[G],J=aa.h,O=aa.v,P=0;P<O;P++)for(U=0;U<J;U++)t(aa,64*((aa.blocksPerLine+1)*((T/q|0)*aa.v+P)+(T%q*aa.h+U)));T++}H=0;(aa=R(h,f))&&aa.invalid&&(console.log("decodeScan - unexpected MCU data, next marker is: "+aa.invalid),f=aa.offset);aa=aa&&aa.marker;
if(!aa||65280>=aa)throw new x("marker was not found");if(65488<=aa&&65495>=aa)f+=2;else break}(aa=R(h,f))&&aa.invalid&&(console.log("decodeScan - unexpected Scan data, next marker is: "+aa.invalid),f=aa.offset);return f-y}function L(h,f){h=f.blocksPerLine;for(var g=f.blocksPerColumn,n=new Int16Array(64),k=0;k<g;k++)for(var D=0;D<h;D++){var v=void 0,t=void 0,a=void 0,d=void 0,e=void 0,l=void 0,c=void 0,b=void 0,m=e=l=d=t=v=void 0,r=void 0,u=void 0,p=void 0,q=64*((f.blocksPerLine+1)*k+D),y=n,z=f.quantizationTable,
H=f.blockData;if(!z)throw new x("missing required Quantization Table.");for(var E=0;64>E;E+=8)v=H[q+E],b=H[q+E+1],c=H[q+E+2],l=H[q+E+3],e=H[q+E+4],d=H[q+E+5],a=H[q+E+6],t=H[q+E+7],v*=z[E],0===(b|c|l|e|d|a|t)?(v=5793*v+512>>10,y[E]=v,y[E+1]=v,y[E+2]=v,y[E+3]=v,y[E+4]=v,y[E+5]=v,y[E+6]=v,y[E+7]=v):(b*=z[E+1],c*=z[E+2],l*=z[E+3],e*=z[E+4],d*=z[E+5],a*=z[E+6],t*=z[E+7],p=5793*v+128>>8,u=5793*e+128>>8,r=c,m=a,e=2896*(b-t)+128>>8,t=2896*(b+t)+128>>8,l<<=4,d<<=4,p=p+u+1>>1,u=p-u,v=3784*r+1567*m+128>>8,r=
1567*r-3784*m+128>>8,m=v,e=e+d+1>>1,d=e-d,t=t+l+1>>1,l=t-l,p=p+m+1>>1,m=p-m,u=u+r+1>>1,r=u-r,v=2276*e+3406*t+2048>>12,e=3406*e-2276*t+2048>>12,t=v,v=799*l+4017*d+2048>>12,l=4017*l-799*d+2048>>12,d=v,y[E]=p+t,y[E+7]=p-t,y[E+1]=u+d,y[E+6]=u-d,y[E+2]=r+l,y[E+5]=r-l,y[E+3]=m+e,y[E+4]=m-e);for(z=0;8>z;++z)v=y[z],b=y[z+8],c=y[z+16],l=y[z+24],e=y[z+32],d=y[z+40],a=y[z+48],t=y[z+56],0===(b|c|l|e|d|a|t)?(v=5793*v+8192>>14,v=-2040>v?0:2024<=v?255:v+2056>>4,H[q+z]=v,H[q+z+8]=v,H[q+z+16]=v,H[q+z+24]=v,H[q+z+
32]=v,H[q+z+40]=v,H[q+z+48]=v,H[q+z+56]=v):(p=5793*v+2048>>12,u=5793*e+2048>>12,r=c,m=a,e=2896*(b-t)+2048>>12,t=2896*(b+t)+2048>>12,p=(p+u+1>>1)+4112,u=p-u,v=3784*r+1567*m+2048>>12,r=1567*r-3784*m+2048>>12,m=v,e=e+d+1>>1,d=e-d,t=t+l+1>>1,l=t-l,p=p+m+1>>1,m=p-m,u=u+r+1>>1,r=u-r,v=2276*e+3406*t+2048>>12,e=3406*e-2276*t+2048>>12,t=v,v=799*l+4017*d+2048>>12,l=4017*l-799*d+2048>>12,d=v,v=p+t,t=p-t,b=u+d,a=u-d,c=r+l,d=r-l,l=m+e,e=m-e,v=16>v?0:4080<=v?255:v>>4,b=16>b?0:4080<=b?255:b>>4,c=16>c?0:4080<=c?
255:c>>4,l=16>l?0:4080<=l?255:l>>4,e=16>e?0:4080<=e?255:e>>4,d=16>d?0:4080<=d?255:d>>4,a=16>a?0:4080<=a?255:a>>4,t=16>t?0:4080<=t?255:t>>4,H[q+z]=v,H[q+z+8]=b,H[q+z+16]=c,H[q+z+24]=l,H[q+z+32]=e,H[q+z+40]=d,H[q+z+48]=a,H[q+z+56]=t)}return f.blockData}function R(h,f,g){var n=h.length-1;g=g<f?g:f;if(f>=n)return null;var k=h[f]<<8|h[f+1];if(65472<=k&&65534>=k)return{invalid:null,marker:k,offset:f};for(f=h[g]<<8|h[g+1];!(65472<=f&&65534>=f);){if(++g>=n)return null;f=h[g]<<8|h[g+1]}return{invalid:k.toString(16),
marker:f,offset:g}}if(!self||!self.Uint8ClampedArray)return null;var Q=new Uint8Array([0,1,8,16,9,2,3,10,17,24,32,25,18,11,4,5,12,19,26,33,40,48,41,34,27,20,13,6,7,14,21,28,35,42,49,56,57,50,43,36,29,22,15,23,30,37,44,51,58,59,52,45,38,31,39,46,53,60,61,54,47,55,62,63]);S.prototype={parse:function(h){function f(){var z=h[k]<<8|h[k+1];k+=2;return z}function g(){var z=f();z=k+z-2;var H=R(h,z,k);H&&H.invalid&&(console.log("readDataBlock - incorrect length, next marker is: "+H.invalid),z=H.offset);z=
h.subarray(k,z);k+=z.length;return z}function n(z){for(var H=Math.ceil(z.samplesPerLine/8/z.maxH),E=Math.ceil(z.scanLines/8/z.maxV),K=0;K<z.components.length;K++){y=z.components[K];var w=Math.ceil(Math.ceil(z.samplesPerLine/8)*y.h/z.maxH),A=Math.ceil(Math.ceil(z.scanLines/8)*y.v/z.maxV);y.blockData=new Int16Array(64*E*y.v*(H*y.h+1));y.blocksPerLine=w;y.blocksPerColumn=A}z.mcusPerLine=H;z.mcusPerColumn=E}var k=0,D=null,v=null,t=[],a=[],d=[],e=f();if(65496!==e)throw new x("SOI not found");for(e=f();65497!==
e;){switch(e){case 65504:case 65505:case 65506:case 65507:case 65508:case 65509:case 65510:case 65511:case 65512:case 65513:case 65514:case 65515:case 65516:case 65517:case 65518:case 65519:case 65534:var l=g();65504===e&&74===l[0]&&70===l[1]&&73===l[2]&&70===l[3]&&0===l[4]&&(D={version:{major:l[5],minor:l[6]},densityUnits:l[7],xDensity:l[8]<<8|l[9],yDensity:l[10]<<8|l[11],thumbWidth:l[12],thumbHeight:l[13],thumbData:l.subarray(14,14+3*l[12]*l[13])});65518===e&&65===l[0]&&100===l[1]&&111===l[2]&&
98===l[3]&&101===l[4]&&(v={version:l[5]<<8|l[6],flags0:l[7]<<8|l[8],flags1:l[9]<<8|l[10],transformCode:l[11]});break;case 65499:e=f()+k-2;for(var c;k<e;){var b=h[k++],m=new Uint16Array(64);if(0===b>>4)for(l=0;64>l;l++)c=Q[l],m[c]=h[k++];else if(1===b>>4)for(l=0;64>l;l++)c=Q[l],m[c]=f();else throw new x("DQT - invalid table spec");t[b&15]=m}break;case 65472:case 65473:case 65474:if(r)throw new x("Only single frame JPEGs supported");f();var r={};r.extended=65473===e;r.progressive=65474===e;r.precision=
h[k++];r.scanLines=f();r.samplesPerLine=f();r.components=[];r.componentIds={};l=h[k++];for(e=m=b=0;e<l;e++){c=h[k];var u=h[k+1]>>4;var p=h[k+1]&15;b<u&&(b=u);m<p&&(m=p);u=r.components.push({h:u,v:p,quantizationId:h[k+2],quantizationTable:null});r.componentIds[c]=u-1;k+=3}r.maxH=b;r.maxV=m;n(r);break;case 65476:c=f();for(e=2;e<c;){b=h[k++];m=new Uint8Array(16);for(l=u=0;16>l;l++,k++)u+=m[l]=h[k];p=new Uint8Array(u);for(l=0;l<u;l++,k++)p[l]=h[k];e+=17+u;(0===b>>4?d:a)[b&15]=X(m,p)}break;case 65501:f();
var q=f();break;case 65498:f();c=h[k++];l=[];for(e=0;e<c;e++){b=r.componentIds[h[k++]];var y=r.components[b];b=h[k++];y.huffmanTableDC=d[b>>4];y.huffmanTableAC=a[b&15];l.push(y)}e=h[k++];c=h[k++];b=h[k++];e=Y(h,k,r,l,q,e,c,b>>4,b&15);k+=e;break;case 65535:255!==h[k]&&k--;break;default:if(255===h[k-3]&&192<=h[k-2]&&254>=h[k-2])k-=3;else throw new x("unknown marker "+e.toString(16));}e=f()}this.width=r.samplesPerLine;this.height=r.scanLines;this.jfif=D;this.eof=k;this.adobe=v;this.components=[];for(e=
0;e<r.components.length;e++){y=r.components[e];if(D=t[y.quantizationId])y.quantizationTable=D;this.components.push({output:L(r,y),scaleX:y.h/r.maxH,scaleY:y.v/r.maxV,blocksPerLine:y.blocksPerLine,blocksPerColumn:y.blocksPerColumn})}this.numComponents=this.components.length},_getLinearizedBlockData:function(h,f){var g=this.width/h,n=this.height/f,k,D,v=0,t=this.components.length,a=h*f*t,d=new Uint8ClampedArray(a),e=new Uint32Array(h);for(D=0;D<t;D++){var l=this.components[D];var c=l.scaleX*g;var b=
l.scaleY*n;v=D;var m=l.output;var r=l.blocksPerLine+1<<3;for(k=0;k<h;k++)l=0|k*c,e[k]=(l&4294967288)<<3|l&7;for(c=0;c<f;c++)for(l=0|c*b,l=r*(l&4294967288)|(l&7)<<3,k=0;k<h;k++)d[v]=m[l+e[k]],v+=t}if(f=this.decodeTransform)for(D=0;D<a;)for(h=l=0;l<t;l++,D++,h+=2)d[D]=(d[D]*f[h]>>8)+f[h+1];return d},_isColorConversionNeeded:function(){return this.adobe?!!this.adobe.transformCode:3===this.numComponents?0===this.colorTransform?!1:!0:1===this.colorTransform?!0:!1},_convertYccToRgb:function(h){for(var f,
g,n,k=0,D=h.length;k<D;k+=3)f=h[k],g=h[k+1],n=h[k+2],h[k]=f-179.456+1.402*n,h[k+1]=f+135.459-.344*g-.714*n,h[k+2]=f-226.816+1.772*g;return h},_convertYcckToRgb:function(h){for(var f,g,n,k,D=0,v=0,t=h.length;v<t;v+=4)f=h[v],g=h[v+1],n=h[v+2],k=h[v+3],h[D++]=-122.67195406894+g*(-6.60635669420364E-5*g+4.37130475926232E-4*n-5.4080610064599E-5*f+4.8449797120281E-4*k-.154362151871126)+n*(-9.57964378445773E-4*n+8.17076911346625E-4*f-.00477271405408747*k+1.53380253221734)+f*(9.61250184130688E-4*f-.00266257332283933*
k+.48357088451265)+k*(-3.36197177618394E-4*k+.484791561490776),h[D++]=107.268039397724+g*(2.19927104525741E-5*g-6.40992018297945E-4*n+6.59397001245577E-4*f+4.26105652938837E-4*k-.176491792462875)+n*(-7.78269941513683E-4*n+.00130872261408275*f+7.70482631801132E-4*k-.151051492775562)+f*(.00126935368114843*f-.00265090189010898*k+.25802910206845)+k*(-3.18913117588328E-4*k-.213742400323665),h[D++]=-20.810012546947+g*(-5.70115196973677E-4*g-2.63409051004589E-5*n+.0020741088115012*f-.00288260236853442*k+
.814272968359295)+n*(-1.53496057440975E-5*n-1.32689043961446E-4*f+5.60833691242812E-4*k-.195152027534049)+f*(.00174418132927582*f-.00255243321439347*k+.116935020465145)+k*(-3.43531996510555E-4*k+.24165260232407);return h},_convertYcckToCmyk:function(h){for(var f,g,n,k=0,D=h.length;k<D;k+=4)f=h[k],g=h[k+1],n=h[k+2],h[k]=434.456-f-1.402*n,h[k+1]=119.541-f+.344*g+.714*n,h[k+2]=481.816-f-1.772*g;return h},_convertCmykToRgb:function(h){for(var f,g,n,k,D=0,v=1/255,t=0,a=h.length;t<a;t+=4)f=h[t]*v,g=h[t+
1]*v,n=h[t+2]*v,k=h[t+3]*v,h[D++]=255+f*(-4.387332384609988*f+54.48615194189176*g+18.82290502165302*n+212.25662451639585*k-285.2331026137004)+g*(1.7149763477362134*g-5.6096736904047315*n-17.873870861415444*k-5.497006427196366)+n*(-2.5217340131683033*n-21.248923337353073*k+17.5119270841813)-k*(21.86122147463605*k+189.48180835922747),h[D++]=255+f*(8.841041422036149*f+60.118027045597366*g+6.871425592049007*n+31.159100130055922*k-79.2970844816548)+g*(-15.310361306967817*g+17.575251261109482*n+131.35250912493976*
k-190.9453302588951)+n*(4.444339102852739*n+9.8632861493405*k-24.86741582555878)-k*(20.737325471181034*k+187.80453709719578),h[D++]=255+f*(.8842522430003296*f+8.078677503112928*g+30.89978309703729*n-.23883238689178934*k-14.183576799673286)+g*(10.49593273432072*g+63.02378494754052*n+50.606957656360734*k-112.23884253719248)+n*(.03296041114873217*n+115.60384449646641*k-193.58209356861505)-k*(22.33816807309886*k+180.12613974708367);return h},getData:function(h,f,g){if(4<this.numComponents)throw new x("Unsupported color mode");
h=this._getLinearizedBlockData(h,f);if(1===this.numComponents&&g){g=h.length;f=new Uint8ClampedArray(3*g);for(var n=0,k=0;k<g;k++){var D=h[k];f[n++]=D;f[n++]=D;f[n++]=D}return f}if(3===this.numComponents&&this._isColorConversionNeeded())return this._convertYccToRgb(h);if(4===this.numComponents){if(this._isColorConversionNeeded())return g?this._convertYcckToRgb(h):this._convertYcckToCmyk(h);if(g)return this._convertCmykToRgb(h)}return h}};return S}()})})(N);F=F.getDefaultExportFromCjs(N.exports);C.JpegImage=
F})},"esri/layers/support/rasterFormats/Lerc":function(){define(["require","exports","../../../assets"],function(C,F,N){function I(L,R,Q){Q.set(L.slice(R,R+Q.length))}function x(L){const {_malloc:R,_free:Q,_lerc_getBlobInfo:h,_lerc_getDataRanges:f,_lerc_decode_4D:g,asm:n}=L;let k;const D=Object.values(n).find(t=>t&&"buffer"in t&&t.buffer===L.HEAPU8.buffer),v=t=>{t=t.map(e=>(e>>3<<3)+16);var a=t.reduce((e,l)=>e+l),d=R(a);k=new Uint8Array(D.buffer);a=t[0];t[0]=d;for(d=1;d<t.length;d++){const e=t[d];
t[d]=t[d-1]+a;a=e}return t};Y.getBlobInfo=t=>{var a=new Uint8Array(48),d=new Uint8Array(24);const [e,l,c]=v([t.length,a.length,d.length]);k.set(t,e);k.set(a,l);k.set(d,c);var b=h(e,t.length,l,c,12,3);if(b)throw Q(e),Error(`lerc-getBlobInfo: error code is ${b}`);k=new Uint8Array(D.buffer);I(k,l,a);I(k,c,d);a=new Uint32Array(a.buffer);var m=new Float64Array(d.buffer);const [r,u,,p,q,y,z,H,E,K,w]=a;d={version:r,depthCount:K,width:p,height:q,validPixelCount:z,bandCount:y,blobSize:H,maskCount:E,dataType:u,
minValue:m[0],maxValue:m[1],maxZerror:m[2],statistics:[],bandCountWithNoData:w};if(w&&1<K)return Q(e),d;if(1===K&&1===y)return Q(e),d.statistics.push({minValue:m[0],maxValue:m[1]}),d;b=K*y*8;var A=new Uint8Array(b),G=new Uint8Array(b);a=e;var P=m=0;let U=!1;k.byteLength<e+2*b?(Q(e),U=!0,[a,m,P]=v([t.length,b,b]),k.set(t,a)):[m,P]=v([b,b]);k.set(A,m);k.set(G,P);if(b=f(a,t.length,K,y,m,P))throw Q(a),U||Q(m),Error(`lerc-getDataRanges: error code is ${b}`);k=new Uint8Array(D.buffer);I(k,m,A);I(k,P,G);
t=new Float64Array(A.buffer);b=new Float64Array(G.buffer);G=d.statistics;for(A=0;A<y;A++)if(1<K){P=t.slice(A*K,(A+1)*K);const V=b.slice(A*K,(A+1)*K),T=Math.min.apply(null,P),J=Math.max.apply(null,V);G.push({minValue:T,maxValue:J,depthStats:{minValues:P,maxValues:V}})}else G.push({minValue:t[A],maxValue:b[A]});Q(a);U||Q(m);return d};Y.decode=(t,a)=>{const {maskCount:d,depthCount:e,bandCount:l,width:c,height:b,dataType:m,bandCountWithNoData:r}=a;var u=S[m],p=c*b;a=new Uint8Array(p*l);u=new Uint8Array(p*
e*l*u.size);p=new Uint8Array(l);var q=new Uint8Array(8*l);const [y,z,H,E,K]=v([t.length,a.length,u.length,p.length,q.length]);k.set(t,y);k.set(a,z);k.set(u,H);k.set(p,E);k.set(q,K);if(t=g(y,t.length,d,z,e,c,b,l,m,H,E,K))throw Q(y),Error(`lerc-decode: error code is ${t}`);k=new Uint8Array(D.buffer);I(k,H,u);I(k,z,a);t=null;if(r){I(k,E,p);I(k,K,q);t=[];q=new Float64Array(q.buffer);for(let w=0;w<p.length;w++)t.push(p[w]?q[w]:null)}Q(y);return{data:u,maskData:a,noDataValues:t}}}const S=[{pixelType:"S8",
size:1,ctor:Int8Array,range:[-128,127]},{pixelType:"U8",size:1,ctor:Uint8Array,range:[0,255]},{pixelType:"S16",size:2,ctor:Int16Array,range:[-32768,32767]},{pixelType:"U16",size:2,ctor:Uint16Array,range:[0,65536]},{pixelType:"S32",size:4,ctor:Int32Array,range:[-2147483648,2147483647]},{pixelType:"U32",size:4,ctor:Uint32Array,range:[0,4294967296]},{pixelType:"F32",size:4,ctor:Float32Array,range:[-3.4027999387901484E38,3.4027999387901484E38]},{pixelType:"F64",size:8,ctor:Float64Array,range:[-1.7976931348623157E308,
1.7976931348623157E308]}];let X=null;const Y={getBlobInfo:null,decode:null};F.decode=function(L,R={}){var Q=R.inputOffset??0;L=L instanceof Uint8Array?L.subarray(Q):new Uint8Array(L,Q);Q=Y.getBlobInfo(L);const {data:h,maskData:f,noDataValues:g}=Y.decode(L,Q),{width:n,height:k,bandCount:D,depthCount:v,dataType:t,maskCount:a,statistics:d}=Q;var e=S[t],l=new e.ctor(h.buffer);L=[];Q=[];const c=n*k;var b=c*v;for(var m=0;m<D;m++){var r=l.subarray(m*b,(m+1)*b);if(R.returnInterleaved)L.push(r);else{a:{var u=
c,p=v;if(2>p)break a;const q=new e.ctor(u*p);for(let y=0,z=0;y<u;y++)for(let H=0,E=y;H<p;H++,E+=u)q[E]=r[z++];r=q}L.push(r)}Q.push(f.subarray(m*b,(m+1)*b))}l=0===a?null:1===a?Q[0]:new Uint8Array(c);if(1<a)for(l.set(Q[0]),b=1;b<Q.length;b++)for(m=Q[b],r=0;r<c;r++)l[r]&=m[r];({noDataValue:R}=R);b=null!=R&&e.range[0]<=R&&e.range[1]>=R;if(0<a&&b)for(b=0;b<D;b++)for(m=L[b],r=Q[b]||l,u=0;u<c;u++)0===r[u]&&(m[u]=R);({pixelType:e}=e);return{width:n,height:k,bandCount:D,pixelType:e,depthCount:v,statistics:d,
pixels:L,mask:l,bandMasks:a===D&&1<D?Q:null,noDataValues:g}};F.getBlobInfo=function(L,R={}){L=L instanceof Uint8Array?L.subarray(R.inputOffset??0):new Uint8Array(L,R.inputOffset??0);return Y.getBlobInfo(L)};F.load=function(){return X?X:X=(new Promise((L,R)=>C(["../../../chunks/lerc-wasm"],L,R))).then(L=>L.lercWasm).then(({default:L})=>L({locateFile:R=>N.getAssetUrl(`esri/layers/support/rasterFormats/${R}`)})).then(L=>{x(L)})};F.pixelTypeInfoMap=S;Object.defineProperty(F,Symbol.toStringTag,{value:"Module"})})},
"esri/layers/support/rasterFormats/Lzw":function(){define(["exports"],function(C){function F(S,X,Y,L=!0){if(0!==X%4||0!==Y%4){var R=new ArrayBuffer(4*Math.ceil(Y/4));R=new Uint8Array(R);S=new Uint8Array(S,X,Y);if(L)for(L=0;L<R.length;L+=4)R[L]=S[L+3],R[L+1]=S[L+2],R[L+2]=S[L+1],R[L+3]=S[L];else R.set(S);return new Uint32Array(R.buffer)}if(L){L=new Uint8Array(S,X,Y);R=new Uint8Array(L.length);for(S=0;S<R.length;S+=4)R[S]=L[S+3],R[S+1]=L[S+2],R[S+2]=L[S+1],R[S+3]=L[S];return new Uint32Array(R.buffer)}return new Uint32Array(S,
X,Y/4)}function N(){const S=[];for(let X=0;257>=X;X++)S[X]=[X];return S}function I(S,X){for(let Y=0;Y<X.length;Y++)S.push(X[Y])}const x=new Set;x.add(511);x.add(1023);x.add(2047);x.add(4095);x.add(8191);C.decode=function(S,X,Y,L=!0){S=F(S,X,Y,L);X=9;L=N();let R=32,Q=L.length,h=[],f=1,g=S[0],n=0;const k=S.length;Y=8*(4*k-Y);const D=[];for(;null!=g;){if(R>=X)R-=X,n=g>>>32-X,g<<=X;else{n=g>>>32-R;g=S[f++];var v=X-R;R=32-v;n=(n<<v)+(g>>>R);g<<=v}if(257===n)break;if(256===n)X=9,L=N(),Q=L.length,h=[];else{v=
L[n];if(null==v){if(n>L.length)throw Error("data integrity issue: code does not exist on code page");h.push(h[0]);L[Q++]=h.slice();I(D,h)}else I(D,v),h.push(v[0]),1<h.length&&(L[Q++]=h.slice()),h=v.slice();x.has(Q)&&X++;0===R&&(g=S[f++],R=32);if(f>k||f===k&&R<=Y)break}}return new Uint8Array(D)};Object.defineProperty(C,Symbol.toStringTag,{value:"Module"})})},"esri/layers/support/rasterFormats/Raw":function(){define(function(){const C=N=>{let I=1;switch(N){case Uint8Array:case Int8Array:I=1;break;case Uint16Array:case Int16Array:I=
2;break;case Uint32Array:case Int32Array:case Float32Array:I=4;break;case Float64Array:I=8}return I};class F{static decode(N,I){var x=I.pixelType;const S=[],X=I.width*I.height;var Y=Math.floor(N.byteLength/(I.width*I.height*C(I.pixelType)));const {bandIds:L,format:R}=I;I=L?.length||Math.floor(N.byteLength/(I.width*I.height*C(I.pixelType)));var Q=N.byteLength-N.byteLength%(X*C(x)),h=new x(N,0,X*Y);let f,g,n,k,D=null;if("bip"===R)for(f=0;f<I;f++){n=new x(X);k=L?L[f]:f;for(g=0;g<X;g++)n[g]=h[g*Y+k];
S.push(n)}else if("bsq"===R)for(f=0;f<I;f++)k=L?L[f]:f,S.push(h.subarray(k*X,(k+1)*X));if(Q<N.byteLength-1)if(N=N.slice(Q),8*N.byteLength<X)D=null;else{N=new Uint8Array(N,0,Math.ceil(X/8));x=new Uint8Array(X);for(Q=h=Q=I=Y=0;Q<N.length-1;Q++)for(I=N[Q],h=7;0<=h;h--)x[Y++]=I>>h&1;for(h=7;Y<X-1;)I=N[N.length-1],x[Y++]=I>>h&1,h--;D=x}return{pixels:S,mask:D}}}return F})},"esri/layers/support/rasterFormats/TiffDecoder":function(){define("exports ../../../core/has ../rasterDatasets/byteStreamUtils ../../../chunks/Jpg ./Lerc ./Lzw ./pixelRangeUtils ./TiffTags ./utils ../../../chunks/Zlib".split(" "),
function(C,F,N,I,x,S,X,Y,L,R){function Q(w,A){let G="unknown";3===w?G=64===A?"f64":"f32":1===w?1===A?G="u1":2===A?G="u2":4===A?G="u4":8>=A?G="u8":16>=A?G="u16":32>=A&&(G="u32"):2===w&&(8>=A?G="s8":16>=A?G="s16":32>=A&&(G="s32"));return G}function h(w){let A=null;switch(w?w.toLowerCase():"f32"){case "u1":case "u2":case "u4":case "u8":A=Uint8Array;break;case "u16":A=Uint16Array;break;case "u32":A=Uint32Array;break;case "s8":A=Int8Array;break;case "s16":A=Int16Array;break;case "s32":A=Int32Array;break;
case "f64":A=Float64Array;break;default:A=Float32Array}return A}function f(w,A){return{x:A[0]*w.x+A[1]*w.y+A[2],y:A[3]*w.x+A[4]*w.y+A[5]}}function g(w,A){return w.get(A)?.values?.[0]}function n(w,A,G,P=0,U=Y.tiffTags,V=4){var T=8===V;const J=T?r(new DataView(w,G,8),0,A):(new DataView(w,G,2)).getUint16(0,A),O=4+2*V;var Z=T?8:2;T=Z+J*O;if(G+T>w.byteLength)return{success:!1,ifd:null,nextIFD:null,requiredBufferSize:T};const aa=G+T+4<=w.byteLength?u(new DataView(w,G+T,8===V?8:4),0,A,8===V):null;G+=Z;Z=
new Map;let W,da,ca,fa=0,ha=0;for(let ma=0;ma<J;ma++){var na=new DataView(w,G+O*ma,O);W=na.getUint16(0,A);ca=na.getUint16(2,A);da=Y.getTagName(W,U);const ia=[];2===V?(fa=na.getUint16(4,A),ha=na.getUint16(6,A)):4===V?(fa=na.getUint32(4,A),ha=na.getUint32(8,A)):8===V&&(fa=u(na,4,A,!0),ha=u(na,12,A,!0),ia.push(na.getUint32(12,A)),ia.push(na.getUint32(16,A)));na={id:W,type:ca,valueCount:fa,valueOffset:ha,valueOffsets:ia,values:null};d(w,A,na,P,!1,V);Z.set(da,na)}return{success:!0,ifd:Z,nextIFD:aa,requiredBufferSize:T}}
function k(w,A){if(1!==A&&2!==A&&4!==A)return w;const G=new Uint8Array(w),P=8/A;w=new Uint8Array(w.byteLength*P);let U=0;const V=2**A-1;for(let T=0;T<G.length;T++){const J=G[T];for(let O=0;O<P;O++)w[U++]=J<<A*O>>>8-A&V}return w.buffer}function D(w,A,G){const P=new I.JpegImage;P.parse(w);P.colorTransform=6===G?-1:0;w=P.getData(P.width,P.height,1!==A&&4!==A);return new Uint8Array(w.buffer)}function v(w){w=(new R.Zlib(w)).getBytes();var A=new ArrayBuffer(w.length);A=new Uint8Array(A);A.set(w);return A}
async function t(w,A,G,P,U){var V=L.isPlatformLittleEndian===A,T=g(G,"BITSPERSAMPLE"),J=g(G,"SAMPLESPERPIXEL")??1,O=g(G,"PHOTOMETRICINTERPRETATION"),Z=g(G,"SAMPLEFORMAT")??1,aa=Q(Z,T),W=g(G,"COMPRESSION")??1,da=h(aa);if(34887===W)return await x.load(),x.decode(w,{inputOffset:P}).pixels[0];if(1===W)O=w.slice(P,P+U),A=new Uint8Array(O);else if(8===W||32946===W)A=new Uint8Array(w,P,U),A=v(A),O=A.buffer;else if(6===W)A=new Uint8Array(w,P,U),A=D(A,J,O),O=A.buffer;else if(7===W){const ca=G.get("JPEGTABLES").values,
fa=ca.length-2;A=new Uint8Array(fa+U-2);for(let ha=0;ha<fa;ha++)A[ha]=ca[ha];w=new Uint8Array(w,P+2,U-2);for(P=0;P<w.length;P++)A[fa+P]=w[P];A=D(A,J,O);O=A.buffer}else if(5===W)A=S.decode(w,P,U,A),O=A.buffer;else throw Error("tiff-decode: unsupport compression "+W);O=k(O,T);if("u8"!==aa&&"s8"!==aa&&!V)switch(O=new ArrayBuffer(A.length),V=new Uint8Array(O),aa){case "u16":case "s16":for(aa=0;aa<A.length;aa+=2)V[aa]=A[aa+1],V[aa+1]=A[aa];break;case "u32":case "s32":case "f32":for(aa=0;aa<A.length;aa+=
4)V[aa]=A[aa+3],V[aa+1]=A[aa+2],V[aa+2]=A[aa+1],V[aa+3]=A[aa]}T=new da(O);V=g(G,"PREDICTOR")??1;aa=g(G,"TILEWIDTH");A=g(G,"TILELENGTH");if(1<V&&(5===W||8===W||32946===W)&&aa&&A){W=l(G);da=new da(T.length);da.set(T);G=3===Z&&3===V;W=W?1:J;J=G?4:1;Z=aa*J*W;G&&(da=new Uint8Array(da.buffer));for(V=0;V<A;V++)for(T=V*Z,O=W;O<Z;O++)da[T+O]+=da[T+O-W];if(G){G=new Uint8Array(da.length);W*=aa;for(aa=0;aa<A;aa++)for(V=aa*Z,T=0;T<W;T++)for(O=0;O<J;O++)G[V+T*J+O]=da[V+T+(J-O-1)*W];T=new Float32Array(G.buffer)}else T=
da}return T}async function a(w,A,G){const P=G.get("TILEOFFSETS")?.values;if(void 0===P)return null;const U=G.get("TILEBYTECOUNTS")?.values,{width:V,height:T,pixelType:J,tileWidth:O,tileHeight:Z}=e([G]);var aa=l(G,A);const W=g(G,"SAMPLESPERPIXEL")||A.planes;var da=V*T,ca=g(G,"BITSPERSAMPLE"),fa=34887===(g(G,"COMPRESSION")??1),ha=h(J);const na=[];for(var ma=0;ma<W;ma++)na.push(new ha(da));let ia,ua,pa,ta,ra,ya,xa,Aa,za;ha=Math.ceil(V/O);da=(new Uint8Array(da)).fill(255);ma=!1;if(0===ca%8)if(fa&&aa&&
1<W)for(aa=Math.round(P.length/W),ca=0;ca<aa;ca++){var Da=Math.floor(ca/ha)*Z;pa=ca%ha*O;ta=Da*V+pa;for(fa=0;fa<W;fa++){var Ea=ca*W+fa;0===U[Ea]?(Ea=null,ma=!0):Ea=await t(w,A.littleEndian,G,P[Ea],U[Ea]);ya=0;ra=ta;Aa=Math.min(O,V-pa);xa=Math.min(Z,T-Da);za=na[fa];for(ia=0;ia<xa;ia++)for(ra=ta+ia*V,ya=ia*O,ua=0;ua<Aa;ua++,ra++,ya++)Ea?za[ra]=Ea[ya]:da[ra]=0}}else for(ca=0;ca<P.length;ca++)for(Da=Math.floor(ca/ha)*Z,pa=ca%ha*O,ta=Da*V+pa,0===U[ca]?(Ea=null,ma=!0):Ea=await t(w,A.littleEndian,G,P[ca],
U[ca]),ya=0,ra=ta,Aa=Math.min(O,V-pa),xa=Math.min(Z,T-Da),Da=0;Da<W;Da++)if(za=na[Da],aa||fa)for(ia=0;ia<xa;ia++)for(ra=ta+ia*V,ya=O*Z*Da+ia*O,ua=0;ua<Aa;ua++,ra++,ya++)Ea?za[ra]=Ea[ya]:da[ra]=0;else for(ia=0;ia<xa;ia++)for(ra=ta+ia*V,ya=ia*O*W+Da,ua=0;ua<Aa;ua++,ra++,ya+=W)Ea?za[ra]=Ea[ya]:da[ra]=0;return{width:V,height:T,pixelType:J,pixels:na,mask:ma?da:void 0}}function d(w,A,G,P=0,U=!1,V=4){if(G.values)return!0;var T=G.type,J=G.valueCount,O=G.valueOffset;let Z=[];var aa=z[T],W=8*aa,da=J*aa,ca=
J*z[T]*8,fa=8===V?64:32;V=G.valueOffsets;if(ca>fa&&da>(U?w.byteLength:w?w.byteLength-O+P:0))return G.offlineOffsetSize=[O,da],G.values=null,!1;if(ca<=fa)if(A||(32>=fa?O>>>=32-ca:(w=V?.length?V[0]:O>>>0,A=V?.length?V[1]:Math.round((O-w)/4294967296),32>=ca?(O=w>>>32-ca,V[0]=O):(O=w*2**(32-ca)+(A>>>32-ca),V[0]=w,V[1]=A>>>32-ca))),1===J&&W===fa)Z=[O];else if(64===fa)for(w=V?.length?V[0]:O>>>0,O=V?.length?V[1]:Math.round((O-w)/4294967296),A=w,aa=32,w=1;w<=J;w++)da=32-W*w%32,aa<W?(da=A<<da>>>32-aa,ca=O<<
32-aa>>>32-aa,A=O,Z.push(da+ca*2**(W-aa)),aa-=32-(W-aa)):(Z.push(A<<da>>>32-W),aa-=W),0===aa&&(aa=32,A=O);else for(w=1;w<=J;w++)Z.push(O<<32-W*w>>>32-W);else for(O-=P,U&&(O=0),J=O;J<O+da;J+=aa){switch(T){case 1:W=(new DataView(w,J,1)).getUint8(0);break;case 2:W=(new DataView(w,J,1)).getUint8(0);break;case 3:W=(new DataView(w,J,2)).getUint16(0,A);break;case 4:case 13:W=(new DataView(w,J,4)).getUint32(0,A);break;case 5:W=(new DataView(w,J,4)).getUint32(0,A)/(new DataView(w,J+4,4)).getUint32(0,A);break;
case 6:W=(new DataView(w,J,1)).getInt8(0);break;case 7:W=(new DataView(w,J,1)).getUint8(0);break;case 8:W=(new DataView(w,J,2)).getInt16(0,A);break;case 9:W=(new DataView(w,J,4)).getInt32(0,A);break;case 10:W=(new DataView(w,J,4)).getInt32(0,A)/(new DataView(w,J+4,4)).getInt32(0,A);break;case 11:W=(new DataView(w,J,4)).getFloat32(0,A);break;case 12:W=(new DataView(w,J,8)).getFloat64(0,A);break;case 16:case 18:W=r(new DataView(w,J,8),0,A);break;case 17:V=new DataView(w,J,8);ca=(W=A)?V.getInt32(0,W):
V.getUint32(0,W);V=W?V.getUint32(4,W):V.getInt32(4,W);fa=0<=(W?ca:V)?1:-1;W?ca*=fa:V*=fa;W=fa*(W?4294967296*V+ca:4294967296*ca+V);break;default:W=null}Z.push(W)}if(2===T){T="";O=Z;Z=[];for(w=0;w<O.length;w++)0===O[w]&&""!==T?(Z.push(T),T=""):T+=String.fromCharCode(O[w]);""===T&&0!==Z.length||Z.push(T)}G.values=Z;return!0}function e(w){var A=w[0];const G=g(A,"TILEWIDTH"),P=g(A,"TILELENGTH"),U=g(A,"IMAGEWIDTH"),V=g(A,"IMAGELENGTH");var T=g(A,"BITSPERSAMPLE");const J=g(A,"SAMPLESPERPIXEL");var O=g(A,
"SAMPLEFORMAT")??1;const Z=Q(O,T),aa=l(A);var W=A.get("GDAL_NODATA")?.values;let da=null;W?.length&&(da=W.map(za=>parseFloat(za)),da.some(za=>isNaN(za))&&(da=null));var ca=g(A,"COMPRESSION")??1;switch(ca){case 1:W="NONE";break;case 2:case 3:case 4:case 32771:W="CCITT";break;case 5:W="LZW";break;case 6:case 7:W="JPEG";break;case 32773:W="PACKBITS";break;case 8:case 32946:W="DEFLATE";break;case 34712:W="JPEG2000";break;case 34887:W="LERC";break;default:W=String(ca)}let fa=!0,ha="";H.has(ca)||(fa=!1,
ha+="unsupported tag compression "+ca);3<O&&(fa=!1,ha+="unsupported tag sampleFormat "+O);1!==T&&2!==T&&4!==T&&0!==T%8&&(fa=!1,ha+="unsupported tag bitsPerSample "+T);T=A.get("GEOASCIIPARAMS")?.values?.[0];if(T){T=(T=T.split("|").find(za=>za.includes("ESRI PE String \x3d ")))?T.replace("ESRI PE String \x3d ",""):"";var na=T.startsWith("COMPD_CS")||T.startsWith("PROJCS")||T.startsWith("GEOGCS")?{wkid:null,wkt:T}:null}O=A.get("GEOTIEPOINTS")?.values;T=A.get("GEOPIXELSCALE")?.values;ca=A.get("GEOTRANSMATRIX")?.values;
var ma=A.has("GEOKEYDIRECTORY")?A.get("GEOKEYDIRECTORY").data:null,ia=!1;A=!1;if(ma){ia=2===g(ma,"GTRasterTypeGeoKey");var ua=g(ma,"GTModelTypeGeoKey");2===ua?(ma=g(ma,"GeographicTypeGeoKey"),1024<=ma&&32766>=ma&&(na={wkid:ma}),na||32767!==ma||(A=!0,na={wkid:4326})):1===ua&&(ma=g(ma,"ProjectedCSTypeGeoKey"),1024<=ma&&32766>=ma&&(na={wkid:ma}))}let pa;T&&O&&6<=O.length?(pa=[T[0],0,O[3]-O[0]*T[0],0,-Math.abs(T[1]),O[4]-O[1]*T[1]],ia&&(pa[2]-=.5*pa[0]+.5*pa[1],pa[5]-=.5*pa[3]+.5*pa[4])):ca&&16===ca.length&&
(pa=ia?[ca[0],ca[1],ca[3]-.5*ca[0],ca[4],ca[5],ca[7]-.5*ca[5]]:[ca[0],ca[1],ca[3],ca[4],ca[5],ca[7]]);if(pa){O=[{x:0,y:V},{x:0,y:0},{x:U,y:V},{x:U,y:0}];ma=ia=Number.POSITIVE_INFINITY;let za=ua=Number.NEGATIVE_INFINITY;for(let Da=0;Da<O.length;Da++)ca=f(O[Da],pa),ia=ca.x>ia?ia:ca.x,ua=ca.x<ua?ua:ca.x,ma=ca.y>ma?ma:ca.y,za=ca.y<za?za:ca.y;O={xmin:ia,xmax:ua,ymin:ma,ymax:za,spatialReference:na}}else O={xmin:-.5,ymin:.5-V,xmax:U-.5,ymax:.5,spatialReference:na};A&&(400<O.xmax-O.xmin||361<Math.max(Math.abs(O.xmin),
Math.abs(O.xmax)))&&(na=null,O.spatialReference=null);na=c(w);let ta;let ra,ya;if(0<na.length){ra=Math.round(Math.log(U/g(na[0],"IMAGEWIDTH"))/Math.LN2);var xa=na[na.length-1];ya=na.length;ta=g(xa,"TILEWIDTH");xa=g(xa,"TILELENGTH")}ta=null!=ya&&0<ya?ta||G:null;xa=null!=ya&&0<ya?xa||P:null;let Aa;G&&(Aa=[{maxCol:Math.ceil(U/G)-1,maxRow:Math.ceil(V/P)-1,minRow:0,minCol:0}],na.forEach(za=>{Aa.push({maxCol:Math.ceil(g(za,"IMAGEWIDTH")/g(za,"TILEWIDTH"))-1,maxRow:Math.ceil(g(za,"IMAGELENGTH")/g(za,"TILELENGTH"))-
1,minRow:0,minCol:0})}));ca=w[0].get("GDAL_METADATA")?.values?.[0];ca=K(ca);ha+=" "+y({width:U,height:V,tileWidth:G,tileHeight:P,planes:J,ifds:w});w=b(w).length===na.length+1;na=na?.length?na.map(za=>{const Da=U/g(za,"IMAGEWIDTH");za=V/g(za,"IMAGELENGTH");return{x:Da,y:za}}):void 0;return{width:U,height:V,tileWidth:G,tileHeight:P,planes:J,isBSQ:aa,pixelType:Z,compression:W,noData:da,hasMaskBand:w,isSupported:fa,pyramidResolutions:na,message:ha,extent:O,isPseudoGeographic:A,affine:T?null:pa,firstPyramidLevel:ra,
maximumPyramidLevel:ya,pyramidBlockWidth:ta,pyramidBlockHeight:xa,tileBoundary:Aa,metadata:ca}}function l(w,A){return(w=w.get("PLANARCONFIGURATION")?.values)?2===w[0]:A?A.isBSQ:!1}function c(w){return w.filter(A=>1===g(A,"NEWSUBFILETYPE"))}function b(w){return w.filter(A=>{const G=4===((g(A,"NEWSUBFILETYPE")??0)&4);A=4===g(A,"PHOTOMETRICINTERPRETATION");return G&&A})}function m(w){const {littleEndian:A,isBigTiff:G,firstIFDPos:P}=p(w);var U=P;const V=[];do if(U=q(w,A,U,0,Y.tiffTags,G?8:4),U.success)V.push(U.ifd),
U=U.nextIFD;else break;while(0<U);w=e(V);U=c(V);const T=b(V);return{...w,littleEndian:A,isBigTiff:G,ifds:V,pyramidIFDs:U,maskIFDs:T}}function r(w,A,G){const P=w.getUint32(A,G);w=w.getUint32(A+4,G);return G?4294967296*w+P:4294967296*P+w}function u(w,A,G,P){return P?r(w,A,G):w.getUint32(A,G)}function p(w){var A=new DataView(w,0,16),G=A.getUint16(0,!1);w=null;if(18761===G)w=!0;else if(19789===G)w=!1;else throw Error("unexpected endianess byte");var P=A.getUint16(2,w);if(42!==P&&43!==P)throw Error("unexpected tiff identifier");
G=4;if(P=43===P){const U=A.getUint16(G,w);G+=2;if(8!==U)throw Error("unsupported bigtiff version");if(0!==A.getUint16(G,w))throw Error("unsupported bigtiff version");G+=2}A=u(A,G,w,P);return{littleEndian:w,isBigTiff:P,firstIFDPos:A}}function q(w,A,G,P=0,U=Y.tiffTags,V=4){G=n(w,A,G,P,U,V);let T;const J=G.ifd;J&&(Y.ifdTags.forEach((O,Z)=>{J.has(Z)&&(T=J.get(Z),T.data=n(w,A,T.valueOffset-P,P,O).ifd)}),J.has("GEOKEYDIRECTORY")&&(T=J.get("GEOKEYDIRECTORY"),(U=T.values)&&4<U.length&&(U=U[0]+"."+U[1]+"."+
U[2],T.data=n(w,A,T.valueOffset+6-P,P,Y.geoKeys,2).ifd,T.data&&T.data.set("GEOTIFFVersion",{id:0,type:2,valueCount:1,valueOffset:null,values:[U]}))),J.has("XMP")&&(T=J.get("XMP"),U=T.values,"number"===typeof U[0]&&7===T.type&&(T.values=[N.bytesToUTF8(new Uint8Array(U))])));return G}function y(w){const {width:A,height:G,tileHeight:P,tileWidth:U}=w,V=w.planes,T=U?U*P:A*G;w=g(w.ifds[0],"BITSPERSAMPLE");let J="";T*V>2**30/(8<w?w/8:1)&&(J=U?"tiled tiff exceeding 1 gigabits per tile is not supported":"scanline tiff exceeding 1 gigabits is not supported");
return J}const z=[0,1,1,2,4,8,1,1,2,4,8,4,8,-1,-1,-1,8,8,8],H=new Set([1,5,6,7,8,34712,34887]),E=(w,A,G)=>{if(!(w&&0<w.length&&A&&G))return null;let P,U,V;const T=w[0].length,J=w.length,O=new Uint8Array(T);for(let aa=0;aa<J;aa++)if(P=w[aa],U=A[aa],V=G[aa],0===aa)for(var Z=0;Z<T;Z++)O[Z]=P[Z]<U||P[Z]>V?0:1;else for(Z=0;Z<T;Z++)O[Z]&&(O[Z]=P[Z]<U||P[Z]>V?0:1);return O},K=w=>{if(!w)return null;var A=w.match(/<Item(.*?)Item>/gi);if(!A||0===A.length)return null;w=new Map;var G;for(var P=0;P<A.length;P++){var U=
A[P];var V=U.slice(6,U.indexOf("\x3e"));var T=U.indexOf("sample\x3d");-1<T&&(G=U.slice(T+8,U.indexOf('"',T+8)));T=U.indexOf("name\x3d");-1<T&&(V=U.slice(T+6,U.indexOf('"',T+6)));V&&(U=U.slice(U.indexOf("\x3e")+1,U.indexOf("\x3c/Item\x3e")).trim(),null!=G?w.has(V)?w.get(V)[G]=U:w.set(V,[U]):w.set(V,U));G=null}A=w.get("STATISTICS_MINIMUM");V=w.get("STATISTICS_MAXIMUM");P=w.get("STATISTICS_MEAN");U=w.get("STATISTICS_STDDEV");G=null;if(A&&V)for(G=[],T=0;T<A.length;T++)G.push({min:parseFloat(A[T]),max:parseFloat(V[T]),
avg:P&&parseFloat(P[T]),stddev:U&&parseFloat(U[T])});V=w.get("BandName");P=w.get("WavelengthMin");U=w.get("WavelengthMax");A=null;if(V)for(A=[],T=0;T<V.length;T++)A.push({BandName:V[T],WavelengthMin:P&&parseFloat(P[T]),WavelengthMax:U&&parseFloat(U[T])});V=w.get("DataType");return{statistics:G,bandProperties:A,dataType:V,rawMetadata:w}};C.decode=async function(w,A={}){var G=A.pyramidLevel||0,P=A.headerInfo||m(w);const {ifds:U,noData:V}=P;if(0===U.length)throw Error("no valid image file directory");
var T=y(P);if(T)throw T;T=null;var J=-1===G?U[U.length-1]:U[G];A=V??A.noDataValue;if(P.tileWidth)T=await a(w,P,J);else{{const ya=L.isPlatformLittleEndian===P.littleEndian,xa=J.get("STRIPOFFSETS")?.values;if(void 0===xa)T=null;else{var {width:O,height:Z,pixelType:aa}=e([J]);G=g(J,"SAMPLESPERPIXEL")||P.planes;var W=g(J,"PHOTOMETRICINTERPRETATION");T=O*Z;var da=g(J,"BITSPERSAMPLE"),ca=h(aa),fa=new ca(T*G),ha=J.get("STRIPBYTECOUNTS")?.values,na=g(J,"ROWSPERSTRIP"),ma=g(J,"COMPRESSION")??1,ia;if(0===da%
8)for(J=0;J<xa.length;J++){var ua=J*na*O*G;if("u8"===aa||"s8"===aa||ya)if(8===ma||32946===ma){var pa=new Uint8Array(w,xa[J],ha[J]);pa=v(pa);var ta=pa.buffer}else 6===ma?(pa=new Uint8Array(w,xa[J],ha[J]),pa=D(pa,G,W),ta=pa.buffer):5===ma?(pa=S.decode(w,xa[J],ha[J],P.littleEndian),ta=pa.buffer):ta=w.slice(xa[J],xa[J]+ha[J]);else{if(6===ma||8===ma||32946===ma){pa=new Uint8Array(w,xa[J],ha[J]);var ra=v(pa);ta=ra.buffer}else ta=new ArrayBuffer(ha[J]),pa=new Uint8Array(w,xa[J],ha[J]),ra=new Uint8Array(ta);
switch(aa){case "u16":case "s16":for(ia=0;ia<pa.length;ia+=2)ra[ia]=pa[ia+1],ra[ia+1]=pa[ia];break;case "u32":case "s32":case "f32":for(ia=0;ia<pa.length;ia+=4)ra[ia]=pa[ia+3],ra[ia+1]=pa[ia+2],ra[ia+2]=pa[ia+1],ra[ia+3]=pa[ia]}}ta=k(ta,da);ia=new ca(ta);fa.set(ia,ua)}W=[];if(1===G)W.push(fa);else for(J=0;J<G;J++){P=new ca(T);for(w=0;w<T;w++)P[w]=fa[w*G+J];W.push(P)}T={width:O,height:Z,pixelType:aa,pixels:W}}}}if(!T)return T;null!=A&&X.convertNoDataToMask(T,A);return T};C.decodeTileOrStrip=async function(w,
A){const {headerInfo:G,ifd:P,offsets:U,sizes:V}=A;var T=[];for(var J=0;J<U.length;J++){0===V[J]?1:0;var O=await t(w,G.littleEndian,P,U[J],V[J]||w.byteLength);T.push(O)}var Z=l(P,G);w=g(P,"BITSPERSAMPLE");J=g(P,"SAMPLEFORMAT")??1;J=Q(J,w);var aa=g(P,"SAMPLESPERPIXEL")||G.planes;const W=h(J);O=g(P,"TILEWIDTH");const da=g(P,"TILELENGTH");var ca=g(P,"COMPRESSION")??1;const fa=O*da;w=[];let ha=T[0];const na=34887===ca;for(let ma=0;ma<aa;ma++){ca=new W(fa);if(T.length===aa)ha=T[ma],ha.length===fa&&(ca=
ha);else if(ha.length)if(Z||na)ca=ha.length===fa?ha:ha.slice(fa*ma,fa*(ma+1));else for(let ia=0;ia<fa;ia++)ca[ia]=ha[ia*aa+ma];w.push(ca)}T=G.noData?G.noData[0]:A.noDataValue;Z=(aa=G.metadata?G.metadata.statistics:null)?aa.map(ma=>ma.min):null;aa=aa?aa.map(ma=>ma.max):null;J={pixelType:J,width:O,height:da,pixels:w,noDataValue:T};null!=T?X.convertNoDataToMask(J,T):Z&&aa&&A.applyMinMaxConstraint&&(J.mask=E(w,Z,aa));return J};C.getImageInfo=e;C.getMaskIFDs=b;C.getPyramidIFDs=c;C.isBSQConfig=l;C.parseFieldValues=
d;C.parseHeader=m;C.parseIFD=q;C.parseSignature=p;Object.defineProperty(C,Symbol.toStringTag,{value:"Module"})})},"esri/layers/support/rasterDatasets/byteStreamUtils":function(){define(["exports"],function(C){C.bytesToUTF8=function(F,N){let I=0,x="",S=0,X=0;const Y=F.length;for(;I<Y;)if(X=F[I++],S=X>>4,8>S?S=1:15===S?(S=4,X=(X&7)<<18|(F[I++]&63)<<12|(F[I++]&63)<<6|F[I++]&63):14===S?(S=3,X=(X&15)<<12|(F[I++]&63)<<6|F[I++]&63):(S=2,X=(X&31)<<6|F[I++]&63),0!==X||N)x+=String.fromCharCode(X);return x};
Object.defineProperty(C,Symbol.toStringTag,{value:"Module"})})},"esri/layers/support/rasterFormats/TiffTags":function(){define(function(){const C=(()=>{const x=[];x[254]="NEWSUBFILETYPE";x[255]="SUBFILETYPE";x[256]="IMAGEWIDTH";x[257]="IMAGELENGTH";x[258]="BITSPERSAMPLE";x[259]="COMPRESSION";x[262]="PHOTOMETRICINTERPRETATION";x[263]="THRESHHOLDING";x[264]="CELLWIDTH";x[265]="CELLLENGTH";x[266]="FILLORDER";x[269]="DOCUMENTNAME";x[270]="IMAGEDESCRIPTION";x[271]="MAKE";x[272]="MODEL";x[273]="STRIPOFFSETS";
x[274]="ORIENTATION";x[277]="SAMPLESPERPIXEL";x[278]="ROWSPERSTRIP";x[279]="STRIPBYTECOUNTS";x[280]="MINSAMPLEVALUE";x[281]="MAXSAMPLEVALUE";x[282]="XRESOLUTION";x[283]="YRESOLUTION";x[284]="PLANARCONFIGURATION";x[285]="PAGENAME";x[286]="XPOSITION";x[287]="YPOSITION";x[288]="FREEOFFSETS";x[289]="FREEBYTECOUNTS";x[290]="GRAYRESPONSEUNIT";x[291]="GRAYRESPONSECURVE";x[292]="T4OPTIONS";x[293]="T6OPTIONS";x[296]="RESOLUTIONUNIT";x[297]="PAGENUMBER";x[300]="COLORRESPONSEUNIT";x[301]="TRANSFERFUNCTION";
x[305]="SOFTWARE";x[306]="DATETIME";x[315]="ARTIST";x[316]="HOSTCOMPUTER";x[317]="PREDICTOR";x[318]="WHITEPOINT";x[319]="PRIMARYCHROMATICITIES";x[320]="COLORMAP";x[321]="HALFTONEHINTS";x[322]="TILEWIDTH";x[323]="TILELENGTH";x[324]="TILEOFFSETS";x[325]="TILEBYTECOUNTS";x[326]="BADFAXLINES";x[327]="CLEANFAXDATA";x[328]="CONSECUTIVEBADFAXLINES";x[330]="SUBIFD";x[332]="INKSET";x[333]="INKNAMES";x[334]="NUMBEROFINKS";x[336]="DOTRANGE";x[337]="TARGETPRINTER";x[338]="EXTRASAMPLES";x[339]="SAMPLEFORMAT";
x[340]="SMINSAMPLEVALUE";x[341]="SMAXSAMPLEVALUE";x[342]="TRANSFERRANGE";x[347]="JPEGTABLES";x[512]="JPEGPROC";x[513]="JPEGIFOFFSET";x[514]="JPEGIFBYTECOUNT";x[515]="JPEGRESTARTINTERVAL";x[517]="JPEGLOSSLESSPREDICTORS";x[518]="JPEGPOINTTRANSFORM";x[519]="JPEGQTABLES";x[520]="JPEGDCTABLES";x[521]="JPEGACTABLES";x[529]="YCBCRCOEFFICIENTS";x[530]="YCBCRSUBSAMPLING";x[531]="YCBCRPOSITIONING";x[532]="REFERENCEBLACKWHITE";x[700]="XMP";x[33550]="GEOPIXELSCALE";x[33922]="GEOTIEPOINTS";x[33432]="COPYRIGHT";
x[42112]="GDAL_METADATA";x[42113]="GDAL_NODATA";x[50844]="RPCCOEFFICIENT";x[34264]="GEOTRANSMATRIX";x[34735]="GEOKEYDIRECTORY";x[34736]="GEODOUBLEPARAMS";x[34737]="GEOASCIIPARAMS";x[34665]="EXIFIFD";x[34853]="GPSIFD";x[40965]="INTEROPERABILITYIFD";return x})(),F=(()=>{const x=C.slice();x[36864]="ExifVersion";x[40960]="FlashpixVersion";x[40961]="ColorSpace";x[42240]="Gamma";x[37121]="ComponentsConfiguration";x[37122]="CompressedBitsPerPixel";x[40962]="PixelXDimension";x[40963]="PixelYDimension";x[37500]=
"MakerNote";x[37510]="UserComment";x[40964]="RelatedSoundFile";x[36867]="DateTimeOriginal";x[36868]="DateTimeDigitized";x[36880]="OffsetTime";x[36881]="OffsetTimeOriginal";x[36882]="OffsetTimeDigitized";x[37520]="SubSecTime";x[37521]="SubSecTimeOriginal";x[37522]="SubSecTimeDigitized";x[37888]="Temperature";x[37889]="Humidity";x[37890]="Pressure";x[37891]="WaterDepth";x[37892]="Acceleration";x[37893]="CameraElevationAngle";x[42016]="ImageUniqueID";x[42032]="CameraOwnerName";x[42033]="BodySerialNumber";
x[42034]="LensSpecification";x[42035]="LensMake";x[42036]="LensModel";x[42037]="LensSerialNumber";x[33434]="ExposureTime";x[33437]="FNumber";x[34850]="ExposureProgram";x[34852]="SpectralSensitivity";x[34855]="PhotographicSensitivity";x[34856]="OECF";x[34864]="SensitivityType";x[34865]="StandardOutputSensitivity";x[34866]="RecommendedExposureIndex";x[34867]="ISOSpeed";x[34868]="ISOSpeedLatitudeyyy";x[34869]="ISOSpeedLatitudezzz";x[37377]="ShutterSpeedValue";x[37378]="ApertureValue";x[37379]="BrightnessValue";
x[37380]="ExposureBiasValue";x[37381]="MaxApertureValue";x[37382]="SubjectDistance";x[37383]="MeteringMode";x[37384]="LightSource";x[37385]="Flash";x[37386]="FocalLength";x[37396]="SubjectArea";x[41483]="FlashEnergy";x[41484]="SpatialFrequencyResponse";x[41486]="FocalPlaneXResolution";x[41487]="FocalPlaneYResolution";x[41488]="FocalPlaneResolutionUnit";x[41492]="SubjectLocation";x[41493]="ExposureIndex";x[41495]="SensingMethod";x[41728]="FileSource";x[41729]="SceneType";x[41730]="CFAPattern";x[41985]=
"CustomRendered";x[41986]="ExposureMode";x[41987]="WhiteBalance";x[41988]="DigitalZoomRatio";x[41989]="FocalLengthIn35mmFilm";x[41990]="SceneCaptureType";x[41991]="GainControl";x[41992]="Contrast";x[41993]="Saturation";x[41994]="Sharpness";x[41995]="DeviceSettingDescription";x[41996]="SubjectDistanceRange";return x})(),N=(()=>{const x=[];x[1024]="GTModelTypeGeoKey";x[1025]="GTRasterTypeGeoKey";x[1026]="GTCitationGeoKey";x[2048]="GeographicTypeGeoKey";x[2049]="GeogCitationGeoKey";x[2050]="GeogGeodeticDatumGeoKey";
x[2051]="GeogPrimeMeridianGeoKey";x[2052]="GeogLinearUnitsGeoKey";x[2053]="GeogLinearUnitSizeGeoKey";x[2054]="GeogAngularUnitsGeoKey";x[2055]="GeogAngularUnitSizeGeoKey";x[2056]="GeogEllipsoidGeoKey";x[2057]="GeogSemiMajorAxisGeoKey";x[2058]="GeogSemiMinorAxisGeoKey";x[2059]="GeogInvFlatteningGeoKey";x[2061]="GeogPrimeMeridianLongGeoKey";x[2060]="GeogAzimuthUnitsGeoKey";x[3072]="ProjectedCSTypeGeoKey";x[3073]="PCSCitationGeoKey";x[3074]="ProjectionGeoKey";x[3075]="ProjCoordTransGeoKey";x[3076]="ProjLinearUnitsGeoKey";
x[3077]="ProjLinearUnitSizeGeoKey";x[3078]="ProjStdParallel1GeoKey";x[3079]="ProjStdParallel2GeoKey";x[3080]="ProjNatOriginLongGeoKey";x[3081]="ProjNatOriginLatGeoKey";x[3082]="ProjFalseEastingGeoKey";x[3083]="ProjFalseNorthingGeoKey";x[3084]="ProjFalseOriginLongGeoKey";x[3085]="ProjFalseOriginLatGeoKey";x[3086]="ProjFalseOriginEastingGeoKey";x[3087]="ProjFalseOriginNorthingGeoKey";x[3088]="ProjCenterLongGeoKey";x[3090]="ProjCenterEastingGeoKey";x[3091]="ProjCenterNorthingGeoKey";x[3092]="ProjScaleAtNatOriginGeoKey";
x[3093]="ProjScaleAtCenterGeoKey";x[3094]="ProjAzimuthAngleGeoKey";x[3095]="ProjStraightVertPoleLongGeoKey";x[4096]="VerticalCSTypeGeoKey";x[4097]="VerticalCitationGeoKey";x[4098]="VerticalDatumGeoKey";x[4099]="VerticalUnitsGeoKey";return x})(),I=new Map;I.set("EXIFIFD",F);I.set("GPSIFD","GPSVersionID GPSLatitudeRef GPSLatitude GPSLongitudeRef GPSLongitude GPSAltitudeRef GPSAltitude GPSTimeStamp GPSSatellites GPSStatus GPSMeasureMode GPSDOP GPSSpeedRef GPSSpeed GPSTrackRef GPSTrack GPSImgDirectionRef GPSImgDirection GPSMapDatum GPSDestLatitudeRef GPSDestLatitude GPSDestLongitudeRef GPSDestLongitude GPSDestBearingRef GPSDestBearing GPSDestDistanceRef GPSDestDistance GPSProcessingMethod GPSAreaInformation GPSDateStamp GPSDifferential GPSHPositioningError".split(" "));
return{tiffTags:C,ifdTags:I,geoKeys:N,getTagName:(x,S)=>{S=(S||C)[x];void 0===S&&(S="unknown"+String(x));return S}}})},"esri/layers/support/rasterFormats/utils":function(){define(["exports"],function(C){const F=new ArrayBuffer(4),N=new Uint8Array(F);(new Uint32Array(F))[0]=1;C.isPlatformLittleEndian=1===N[0];Object.defineProperty(C,Symbol.toStringTag,{value:"Module"})})},"esri/renderers/support/rasterRendererHelper":function(){define("exports ../../Color ../../rasterRenderers ../../core/unitUtils ../../layers/support/Field ../FlowRenderer ./AuthoringInfo ./ClassBreakInfo ./colorRampUtils ./rasterRendererChecks ./UniqueValueInfo ../visualVariables/ColorVariable ../visualVariables/SizeVariable ../visualVariables/support/ColorStop ../../rest/support/ClassBreaksDefinition ../../rest/support/generateRendererUtils ../../rest/support/MultipartColorRamp ../../symbols/SimpleFillSymbol ../RasterStretchRenderer ../UniqueValueRenderer ../RasterColormapRenderer ../RasterShadedReliefRenderer ../ClassBreaksRenderer ../VectorFieldRenderer".split(" "),
function(C,F,N,I,x,S,X,Y,L,R,Q,h,f,g,n,k,D,v,t,a,d,e,l,c){function b(J,O){J=m(J,O?.variableName);const {bandCount:Z}=J;let {bandIds:aa,stretchType:W}=O||{};aa?.some(na=>na>=Z)&&(aa=null);let da=J.statistics,ca=J.histograms;1<Z?(aa=aa?.length?aa:r(J),da=null==da?null:aa?.map(na=>da[na]),ca=null==ca?null:aa?.map(na=>ca[na])):aa=[0];null==W&&(W=p(J));let fa=!1;switch(W){case "none":fa=!1;break;case "percent-clip":fa=!ca?.length;break;default:fa=!da?.length}var {dataType:ha}=J;ha=1===aa?.length&&V.has(ha)?
P:null;ha=new t({stretchType:W,dynamicRangeAdjustment:fa,colorRamp:ha,outputMin:0,outputMax:255,gamma:1===aa?.length?[1]:[1,1,1],useGamma:!1});"percent-clip"===W?ha.maxPercent=ha.minPercent=.25:"standard-deviation"===W&&(ha.numberOfStandardDeviations=2);if(!fa&&(null!=J.multidimensionalInfo||O?.includeStatisticsInStretch))if("percent-clip"===W)ha.histograms=ca;else if("min-max"===W||"standard-deviation"===W)ha.statistics=da;return ha}function m(J,O){var {multidimensionalInfo:Z}=J;if(!O||!Z)return J;
Z=Z.variables.find(aa=>aa.name===O);if(!Z)return J;J=J.clone();if(Z){const {statistics:aa,histograms:W}=Z;aa?.length&&(J.statistics=aa.map(da=>({min:da.min,max:da.max,avg:da.avg,stddev:da.stddev})));W?.length&&(J.histograms=W)}return J}function r(J){const O=J.bandCount;if(1===O)return null;if(2===O)return[0];({bandInfos:J}=J);let Z;if(J.length===O){const {red:aa,green:W,blue:da,nir:ca}=u(J);null!=aa&&null!=W&&null!=da?Z=[aa,W,da]:null!=ca&&null!=aa&&null!=W&&(Z=[ca,aa,W])}!Z&&3<=O&&(Z=[0,1,2]);return Z}
function u(J){const O={};for(let W=0;W<J.length;W++){var Z=J[W],aa=Z.name.toLowerCase();"red"===aa?O.red=W:"green"===aa?O.green=W:"blue"===aa?O.blue=W:"nearinfrared"===aa||"nearinfrared_1"===aa||"nir"===aa?O.nir=W:Z.maxWavelength&&Z.minWavelength&&(aa=Z.minWavelength,Z=Z.maxWavelength,null==O.blue&&410<=aa&&480>=aa&&480<=Z&&540>=Z?O.blue=W:null==O.green&&490<=aa&&560>=aa&&560<=Z&&610>=Z?O.green=W:null==O.red&&595<=aa&&670>=aa&&660<=Z&&730>=Z?O.red=W:null==O.nir&&700<=aa&&860>=aa&&800<=Z&&950>=Z&&
(O.nir=W))}return O}function p(J){let O="percent-clip";const {pixelType:Z,dataType:aa,histograms:W,statistics:da,multidimensionalInfo:ca}=J;J=V.has(aa)||"generic"===aa&&null!=ca;"u8"!==Z||"processed"!==aa&&null!=W&&null!=da?"u8"===Z||"elevation"===aa||J?O="min-max":null!=W?O="percent-clip":null!=da&&(O="min-max"):O="none";return O}function q(J,O,Z,aa){if(!R.isUVRendererSupported(J,O))return null;const {attributeTable:W,statistics:da}=J,ca=y(W,O),fa=H(W,"red"),ha=H(W,"green"),na=H(W,"blue");J=new X;
const ma=[],ia=new Set,ua=!!(fa&&ha&&na);if(null!=W)W.features.forEach(pa=>{var ta=pa.attributes[ca.name];ia.has(pa.attributes[ca.name])||null==ta||(ia.add(ta),ta=!ua||"single"!==fa.type&&"double"!==fa.type||"single"!==ha.type&&"double"!==ha.type||"single"!==na.type&&"double"!==na.type||W.features.some(ra=>1<ra.attributes[fa.name]||1<ra.attributes[ha.name]||1<ra.attributes[na.name])?1:255,ma.push(new Q({value:pa.attributes[ca.name],label:pa.attributes[ca.name]+"",symbol:new v({style:"solid",outline:null,
color:ua?new F([pa.attributes[fa.name]*ta,pa.attributes[ha.name]*ta,pa.attributes[na.name]*ta,1]):new F([0,0,0,0])})})))});else if(da?.[0])for(O=da[0].min;O<=da[0].max;O++)ma.push(new Q({value:O,label:O.toString(),symbol:new v({style:"solid",outline:null,color:new F([0,0,0,0])})}));ma.sort((pa,ta)=>pa.value&&"string"===typeof pa.value.valueOf()?0:pa.value>ta.value?1:-1);if(!ua){const pa=L.convertColorRampToColormap(U,{numColors:ma.length});ma.forEach((ta,ra)=>ta.symbol.color=new F(pa[ra].slice(1,
4)));J.colorRamp=U}if(Z||aa){const pa=Z||L.convertColorRampToColormap(aa,{numColors:ma.length}).map(ta=>ta.slice(1));ma.forEach((ta,ra)=>ta.symbol.color=new F(pa[ra]));J.colorRamp=aa}return new a({field:ca.name,uniqueValueInfos:ma,authoringInfo:J})}function y(J,O,Z){let aa;null!=J?(aa=O?J.fields.find(W=>O.toLowerCase()===W.name.toLowerCase()):z(J.fields),aa||(Z||(aa=J.fields.find(W=>"string"===W.type)),aa||=H(J,"value"))):aa=new x({name:"value"});return aa}function z(J){let O;for(let Z=0;Z<J.length;Z++){const aa=
J[Z].name.toLowerCase();if("string"===J[Z].type){if(aa.startsWith("class")){O=J[Z];break}null==O&&(aa.endsWith("name")||aa.endsWith("type"))&&(O=J[Z])}}return O}function H(J,O){return null==J?null:J.fields.find(Z=>Z.name.toLowerCase()===O)}function E(J){if(!R.isColormapRendererSupported(J))return null;let O;const {attributeTable:Z,colormap:aa}=J;if(null!=Z){const W=H(Z,"value"),da=y(Z,null,!0);"string"===da.type&&(O={},Z.features.forEach(ca=>{ca=ca.attributes;O[ca[W.name]]=da?ca[da.name]:ca[W.name]}))}return d.createFromColormap(aa,
O)}function K(J,O,Z){let aa=0,W=0;null!=J.attributeTable?(J=J.attributeTable,aa=W=J.features[0].attributes[O.name],J.features.forEach(da=>{da=da.attributes[O.name];da<aa&&(aa=da);da>W&&(W=da)})):null!=J.histograms&&(J=J.histograms,aa=J[0].min,W=J[0].max);return(W-aa)/Z}function w(J){if(!R.isVectorFieldRendererSupported(J))return null;if(null!=J.statistics&&J.statistics.length&&("vector-magdir"===J.dataType||"vector-uv"===J.dataType)){const {minMagnitude:Z,maxMagnitude:aa}=G(J.dataType,J.statistics);
var O=[new f({field:"Magnitude",minSize:10,maxSize:40,minDataValue:Z,maxDataValue:aa})]}J=null!=J.multidimensionalInfo?T.get(J.multidimensionalInfo.variables[0].unit):void 0;O=new c({visualVariables:O,inputUnit:J,rotationType:"geographic"});O.visualVariables=[...O.sizeVariables,...O.rotationVariables];return O}function A(J){return{color:J.symbolLayers[0].material?.color,type:"esriSFS",style:"esriSFSSolid"}}function G(J,O){if("vector-magdir"===J)J=O[0].min,O=O[0].max;else{const Z=O[0].min,aa=O[0].max,
W=O[1].min;O=O[1].max;J=0;O=Math.max(Math.abs(Z),Math.abs(W),Math.abs(aa),Math.abs(O))}return{minMagnitude:J,maxMagnitude:O}}const P=D.fromJSON({type:"multipart",colorRamps:[{fromColor:[0,0,255],toColor:[0,255,255]},{fromColor:[0,255,255],toColor:[255,255,0]},{fromColor:[255,255,0],toColor:[255,0,0]}]}),U=D.fromJSON(L.predefinedJsonColorRamps[0]),V=new Set("scientific standard-time vector-uv vector-magdir vector-u vector-v vector-magnitude vector-direction".split(" ")),T=new Map([["m/s","meter-per-second"],
["km/h","kilometer-per-hour"],["knots","knots"],["ft/s","feet-per-second"],["mph","mile-per-hour"]]);C.createClassBreaksRenderer=function(J,O){J=m(J,O?.variableName);const {attributeTable:Z}=J;if(!R.isClassBreaksSupported(J))return null;const aa=null!=J.histograms?J.histograms[0]:null,W=null!=O?.numClasses&&isFinite(O?.numClasses)?O.numClasses:5,da=new X({classificationMethod:O?.classificationMethod,colorRamp:O?.colorRamp});let ca=O?.field||"value";const fa=[],ha=[],na=null!=Z,ma=na&&Z.fields.find(ra=>
"count"===ra.name.toLowerCase()),ia=na?Z.fields.find(ra=>ra.name.toLowerCase()===ca.toLowerCase()):void 0;if(ia&&na){ca=ia.name;const ra=Z.features.length;let ya=0;Z.features.forEach(xa=>ya+=(ma?xa.attributes[ma.name]:50)/ra);Z.features.forEach(xa=>{const Aa=xa.attributes[ia.name];xa=ma?xa.attributes[ma.name]:50;if(0<xa){ha.push(xa);xa=Math.max(1,Math.round(xa/ra/ya*1E3));for(let za=0;za<xa;za++)fa.push(Aa)}})}else{var {pixelType:ua}=J;const ra=(aa.max-aa.min)/aa.size,ya=(ua=ua.includes("s")||ua.includes("u"))&&
1===ra?Math.floor(aa.min+.5):aa.min,xa=ua&&1===ra?Math.floor(aa.max-.5):aa.max,Aa=aa.size;let za=0,Da;aa.counts.forEach(Ea=>za+=Ea/Aa);aa.counts.forEach((Ea,Ja)=>{if(0<Ea)for(ha.push(Ea),Ea=Math.max(1,Math.round(Ea/Aa/za*1E3)),Da=na?Z.features[Ja].attributes[ia.name]:0===Ja?ya:Ja===Aa-1?xa:aa.min+ra*(Ja+.5),Ja=0;Ja<Ea;Ja++)fa.push(Da)})}ua=O?.classificationMethod||"natural-breaks";let pa=O?.definedInterval;"defined-interval"!==ua||pa||(pa=K(J,ia,W));J=k.createGenerateRendererClassBreaks({values:fa,
valueFrequency:ha,normalizationTotal:null,definition:new n({classificationMethod:ua,breakCount:W,definedInterval:pa})});let ta=O?.colors;ta||(O=O?.colorRamp||P,da.colorRamp=O,ta=L.convertColorRampToColormap(O,{numColors:J.classBreaks.length,interpolateAlpha:!0}).map(ra=>ra.slice(1)));O=J.classBreaks.map((ra,ya)=>new Y({minValue:ra.minValue,maxValue:ra.maxValue,label:ra.label,symbol:new v({color:ta[ya]})}));return new l({field:ca,classBreakInfos:O,authoringInfo:da})};C.createColormapRenderer=E;C.createDefaultRenderer=
function(J,O){const {attributeTable:Z,colormap:aa}=J;if(R.isVectorFieldRendererSupported(J)){var W=w(J);if(null!=W)return W}return O?.rasterFunctionColorRamp?(J=b(J,O),J.colorRamp=O.rasterFunctionColorRamp,J):null!=aa&&(W=E(J),null!=W)||null!=Z&&(W=q(J),null!=W)?W:b(J,O)};C.createFlowRenderer=function(J){if(!R.isFlowRendererSupported(J))return null;let O;if(null!=J.statistics&&0<J.statistics.length&&("vector-magdir"===J.dataType||"vector-uv"===J.dataType)){const {minMagnitude:Z,maxMagnitude:aa}=G(J.dataType,
J.statistics);O=[new h({field:"Magnitude",stops:[new g({value:Z,color:new F("#1020C0")}),new g({value:aa,color:new F("#C02010")})]})]}return new S({visualVariables:O})};C.createShadedReliefRenderer=function(J,O="traditional"){if(!R.isShadedReliefRendererSupported(J))return null;({extent:J}=J);J=J.width*I.getMetersPerUnitForSR(J.spatialReference);return new e({hillshadeType:O,scalingType:5E6<J?"adjusted":"none"})};C.createStretchRenderer=b;C.createUVRenderer=q;C.createVectorFieldRenderer=w;C.estimateMagnitudeRange=
G;C.getBandNames=function(J,O){const Z=J.bandInfos.map(({name:aa})=>aa);return O?.length?O.map(aa=>Z[aa]):Z};C.getClassField=y;C.getDefaultBandCombination=r;C.getDefaultInterpolation=function(J,O,Z){const aa=Z?.toLowerCase().replace("bicubic","cubic");Z=["nearest","bilinear","cubic","majority"].find(W=>W===aa);return"Map"===O?Z??"bilinear":"standard-time"===J.dataType?Z??"nearest":"thematic"===J.dataType||J.attributeTable||J.colormap?"nearest"===Z||"majority"===Z?Z:"nearest":Z??"bilinear"};C.getDefinedInterval=
K;C.getField=H;C.getFunctionColorramp=function(J){return"Function"===J.datasetFormat&&"Colormap"===J.rasterFunction.functionName?J.rasterFunction.colorRamp:void 0};C.getSupportedRendererTypes=function(J,O=!1){const Z=["raster-stretch"];R.isColormapRendererSupported(J,O)&&Z.push("raster-colormap");R.isUVRendererSupported(J)&&Z.push("unique-value");R.isClassBreaksSupported(J,O)&&Z.push("class-breaks");R.isShadedReliefRendererSupported(J)&&Z.push("raster-shaded-relief");R.isVectorFieldRendererSupported(J)&&
Z.push("vector-field");R.isFlowRendererSupported(J)&&Z.push("flow");return Z};C.getVariableRasterInfo=m;C.getWellKnownBandIndexes=u;C.normalizeRendererJSON=function(J){if("uniqueValue"===J.type){var O=J.uniqueValueInfos;O?.[0].symbol?.symbolLayers?.length&&(J.uniqueValueInfos=O?.map(Z=>({value:Z.value,label:Z.label,symbol:Z.symbol?A(Z.symbol):null})));return J}"classBreaks"===J.type&&(O=J.classBreakInfos,O[0].symbol?.symbolLayers?.length&&(J.classBreakInfos=O.map(Z=>({classMinValue:Z.classMinValue,
classMaxValue:Z.classMaxValue,label:Z.label,symbol:Z.symbol?A(Z.symbol):null}))));return J};Object.defineProperty(C,Symbol.toStringTag,{value:"Module"})})},"esri/renderers/support/rasterRendererChecks":function(){define(["exports"],function(C){function F(N){return["u8","s8"].includes(N.pixelType)&&null!=N.statistics?.[0]?.min&&null!=N.statistics[0]?.max&&1===N.bandCount}C.isClassBreaksSupported=function(N,I=!1){const {attributeTable:x,bandCount:S}=N;return 1===S&&(!I||null!=x||null!=N.histograms)};
C.isColormapRendererSupported=function(N,I=!1){const {bandCount:x,colormap:S,pixelType:X}=N;return 1===x&&(!!S?.length||!I&&"u8"===X)};C.isFlowRendererSupported=function(N){({dataType:N}=N);return"vector-uv"===N||"vector-magdir"===N};C.isShadedReliefRendererSupported=function(N){const {bandCount:I,dataType:x,pixelType:S}=N;return"elevation"===x||"generic"===x&&1===I&&("s16"===S||"s32"===S||"f32"===S||"f64"===S)};C.isSingleBand8BitRasterWithStats=F;C.isUVRendererSupported=function(N,I){const {attributeTable:x,
bandCount:S}=N;return null==x&&F(N)?!0:null==x||1<S||I&&null==x.fields.find(X=>X.name.toLowerCase()===I.toLowerCase())?!1:!0};C.isVectorFieldRendererSupported=function(N){({dataType:N}=N);return"vector-uv"===N||"vector-magdir"===N};Object.defineProperty(C,Symbol.toStringTag,{value:"Module"})})},"esri/rest/support/ClassBreaksDefinition":function(){define("../../chunks/tslib.es6 ../../core/jsonMap ../../core/JSONSupport ../../core/accessorSupport/decorators/property ../../core/has ../../core/Logger ../../core/RandomLCG ../../core/accessorSupport/decorators/enumeration ../../core/accessorSupport/decorators/subclass".split(" "),
function(C,F,N,I,x,S,X,Y,L){x=new F.JSONMap({esriClassifyEqualInterval:"equal-interval",esriClassifyManual:"manual",esriClassifyNaturalBreaks:"natural-breaks",esriClassifyQuantile:"quantile",esriClassifyStandardDeviation:"standard-deviation",esriClassifyDefinedInterval:"defined-interval"});F=new F.JSONMap({esriNormalizeByLog:"log",esriNormalizeByPercentOfTotal:"percent-of-total",esriNormalizeByField:"field"});N=class extends N.JSONSupport{constructor(R){super(R);this.type="class-breaks-definition";
this.normalizationType=this.normalizationField=this.classificationMethod=this.classificationField=this.breakCount=null}set standardDeviationInterval(R){"standard-deviation"===this.classificationMethod&&this._set("standardDeviationInterval",R)}set definedInterval(R){"defined-interval"===this.classificationMethod&&this._set("definedInterval",R)}};C.__decorate([Y.enumeration({classBreaksDef:"class-breaks-definition"})],N.prototype,"type",void 0);C.__decorate([I.property({json:{write:!0}})],N.prototype,
"breakCount",void 0);C.__decorate([I.property({json:{write:!0}})],N.prototype,"classificationField",void 0);C.__decorate([I.property({type:String,json:{read:x.read,write:x.write}})],N.prototype,"classificationMethod",void 0);C.__decorate([I.property({json:{write:!0}})],N.prototype,"normalizationField",void 0);C.__decorate([I.property({json:{read:F.read,write:F.write}})],N.prototype,"normalizationType",void 0);C.__decorate([I.property({value:null,json:{write:!0}})],N.prototype,"standardDeviationInterval",
null);C.__decorate([I.property({value:null,json:{write:!0}})],N.prototype,"definedInterval",null);return N=C.__decorate([L.subclass("esri.rest.support.ClassBreaksDefinition")],N)})},"esri/rest/support/generateRendererUtils":function(){define(["exports","../../core/Logger"],function(C,F){function N(h){var f=h.definition;const {classificationMethod:g,normalizationType:n,definedInterval:k}=f;f=f.breakCount??1;const D=[];var v=h.values;if(0===v.length)return[];v=v.sort((c,b)=>c-b);var t=v[0],a=v[v.length-
1];if("equal-interval"===g)if(v.length>=f){v=(a-t)/f;h=t;for(var d=1;d<f;d++){var e=Number((t+d*v).toFixed(6));D.push({minValue:h,maxValue:e,label:I(h,e,n)});h=e}D.push({minValue:h,maxValue:a,label:I(h,a,n)})}else v.forEach(c=>{D.push({minValue:c,maxValue:c,label:I(c,c,n)})});else if("natural-breaks"===g){v=x(v);h=S(v.uniqueValues,h.valueFrequency||v.valueFrequency,f);for(d=1;d<f;d++)v.uniqueValues.length>d&&(e=Number(v.uniqueValues[h[d]].toFixed(6)),D.push({minValue:t,maxValue:e,label:I(t,e,n)}),
t=e);D.push({minValue:t,maxValue:a,label:I(t,a,n)})}else if("quantile"===g)if(v.length>=f&&t!==a){h=Math.ceil(v.length/f);d=0;for(e=1;e<f;e++){var l=h+d-1;l>v.length&&(l=v.length-1);0>l&&(l=0);D.push({minValue:t,maxValue:v[l],label:I(t,v[l],n)});t=v[l];d+=h;h=Math.ceil((v.length-d)/(f-e))}D.push({minValue:t,maxValue:a,label:I(t,a,n)})}else for(f=-1,a=0;a<v.length;a++)t=v[a],t!==f&&(f=t,D.push({minValue:f,maxValue:t,label:I(f,t,n)}),f=t);else if("standard-deviation"===g)if(h=L(v),d=R(v,h),0===d)D.push({minValue:v[0],
maxValue:v[0],label:I(v[0],v[0],n)});else{v=Y(t,a,f,h,d)*d;d=0;for(e=f;1<=e;e--)l=Number((h-(e-.5)*v).toFixed(6)),D.push({minValue:t,maxValue:l,label:I(t,l,n)}),t=l,d++;e=Number((h+.5*v).toFixed(6));D.push({minValue:t,maxValue:e,label:I(t,e,n)});t=e;d++;for(l=1;l<=f;l++)e=d===2*f?a:Number((h+(l+.5)*v).toFixed(6)),D.push({minValue:t,maxValue:e,label:I(t,e,n)}),t=e,d++}else if("defined-interval"===g){if(!k)return D;f=v[0];a=v[v.length-1];v=Math.ceil((a-f)/k);t=f;for(h=1;h<v;h++)d=Number((f+h*k).toFixed(6)),
D.push({minValue:t,maxValue:d,label:I(t,d,n)}),t=d;D.push({minValue:t,maxValue:a,label:I(t,a,n)})}return D}function I(h,f,g){let n=null;return n=h===f?g&&"percent-of-total"===g?h+"%":h.toString():g&&"percent-of-total"===g?h+"% - "+f+"%":h+" - "+f}function x(h){const f=[],g=[];let n=Number.MIN_VALUE,k=1,D=-1;for(let v=0;v<h.length;v++){const t=h[v];t===n?(k++,g[D]=k):null!==t&&(f.push(t),n=t,k=1,g.push(k),D++)}return{uniqueValues:f,valueFrequency:g}}function S(h,f,g){var n=h.length;const k=[];g>n&&
(g=n);for(var D=0;D<g;D++)k.push(Math.round(D*n/g-1));k.push(n-1);D=X(k,h,f,g);n=D.mean;D=D.sdcm;var v=g,t=0,a=0;let d=0,e=0,l=!0;for(let b=0;2>b&&l;b++){0===b&&(l=!1);for(var c=0;c<v-1;c++)for(;k[c+1]+1!==k[c+2];)if(k[c+1]+=1,t=Q(c,k,h,f),d=t.sbMean,t=t.sbSdcm,a=Q(c+1,k,h,f),e=a.sbMean,a=a.sbSdcm,t+a<D[c]+D[c+1])D[c]=t,D[c+1]=a,n[c]=d,n[c+1]=e,l=!0;else{--k[c+1];break}for(c=v-1;0<c;c--)for(;k[c]!==k[c-1]+1;)if(--k[c],t=Q(c-1,k,h,f),d=t.sbMean,t=t.sbSdcm,a=Q(c,k,h,f),e=a.sbMean,a=a.sbSdcm,t+a<D[c-
1]+D[c])D[c-1]=t,D[c]=a,n[c-1]=d,n[c]=e,l=!0;else{k[c]+=1;break}}l&&(D=X(k,h,f,g));return k}function X(h,f,g,n){let k=[];var D=[],v=[];let t=0;const a=[],d=[];for(var e=0;e<n;e++){var l=Q(e,h,f,g);a.push(l.sbMean);d.push(l.sbSdcm);t+=d[e]}l=t;for(e=!0;e||t<l;){e=!1;k=[];for(D=0;D<n;D++)k.push(h[D]);for(v=0;v<n;v++)for(l=h[v]+1;l<=h[v+1];l++)if(D=f[l],0<v&&l!==h[v+1]&&Math.abs(D-a[v])>Math.abs(D-a[v-1]))h[v]=l;else if(v<n-1&&h[v]!==l-1&&Math.abs(D-a[v])>Math.abs(D-a[v+1])){h[v+1]=l-1;break}l=t;t=0;
D=[];v=[];for(let c=0;c<n;c++){D.push(a[c]);v.push(d[c]);const b=Q(c,h,f,g);a[c]=b.sbMean;d[c]=b.sbSdcm;t+=d[c]}}if(t>l){for(f=0;f<n;f++)h[f]=k[f],a[f]=D[f],d[f]=v[f];t=l}return{mean:a,sdcm:d}}function Y(h,f,g,n,k){h=Math.max(n-h,f-n)/k/g;return 1<=h?1:.5<=h?.5:.25}function L(h){let f=0;for(let g=0;g<h.length;g++)f+=h[g];return f/=h.length}function R(h,f){let g=0;for(let n=0;n<h.length;n++){const k=h[n];g+=(k-f)*(k-f)}g/=h.length;return Math.sqrt(g)}function Q(h,f,g,n){var k=0,D=0;for(var v=f[h]+
1;v<=f[h+1];v++){const t=n[v];k+=g[v]*t;D+=t}0>=D&&F.getLogger("esri.rest.support.generateRendererUtils").warn("Exception in Natural Breaks calculation");k/=D;D=0;for(v=f[h]+1;v<=f[h+1];v++)D+=n[v]*(g[v]-k)**2;return{sbMean:k,sbSdcm:D}}C.createGenerateRendererClassBreaks=function(h){const {normalizationTotal:f}=h;return{classBreaks:N(h),normalizationTotal:f}};C.createGenerateRendererUniqueValues=function(h){h=x(h);const f=[],g=h.uniqueValues.length;for(let n=0;n<g;n++){const k=h.uniqueValues[n];f.push({value:k,
count:h.valueFrequency[n],label:k.toString()})}return{uniqueValues:f}};Object.defineProperty(C,Symbol.toStringTag,{value:"Module"})})},"esri/renderers/support/RasterSymbolizer":function(){define("../../chunks/tslib.es6 ../../core/colorUtils ../../core/JSONSupport ../../core/Logger ../../core/accessorSupport/decorators/property ../../core/has ../../core/RandomLCG ../../core/accessorSupport/decorators/subclass ../../layers/support/RasterInfo ../../layers/support/rasterFunctions/pixelUtils ../../layers/support/rasterFunctions/stretchUtils ../../layers/support/rasterFunctions/surfaceUtils ./colorRampUtils ./rasterRendererChecks".split(" "),
function(C,F,N,I,x,S,X,Y,L,R,Q,h,f,g){function n(a){return!!a?.length&&16384>=a.length}function k(a){return"percentClip"===a||"histogramEqualization"===a}function D(a){return null!=a&&0<a.length&&null!=a[0].min&&null!=a[0].max}function v(a){return R.isValidPixelBlock(a)&&0!==a.validPixelCount}function t(a){return"algorithmic"===a.type&&["0,0,0,255","0,0,0"].includes(a.fromColor.join(","))&&["255,255,255,255","255,255,255"].includes(a.toColor.join(","))}N=class extends N.JSONSupport{constructor(a){super(a)}bind(){const {rendererJSON:a}=
this;if(!a)return{success:!1};this.lookup={rendererJSON:{}};let d;switch(a.type){case "uniqueValue":d=this._updateUVRenderer(a);break;case "rasterColormap":d=this._updateColormapRenderer(a);break;case "rasterStretch":d=this._updateStretchRenderer(a);break;case "classBreaks":d=this._updateClassBreaksRenderer(a);break;case "rasterShadedRelief":d=this._updateShadedReliefRenderer(a);break;case "vectorField":d=this._updateVectorFieldRenderer();break;case "flowRenderer":d=this._updateFlowRenderer()}return d}symbolize(a){let d=
a?.pixelBlock;if(!v(d))return d;if(a.simpleStretchParams&&"rasterStretch"===this.rendererJSON.type)return this.simpleStretch(d,a.simpleStretchParams);try{3<d.pixels.length&&(d=d.extractBands(a.bandIds??[0,1,2]));let e;switch(this.rendererJSON.type){case "uniqueValue":case "rasterColormap":e=this._symbolizeColormap(d);break;case "classBreaks":e=this._symbolizeClassBreaks(d);break;case "rasterStretch":e=this._symbolizeStretch(d,a.bandIds);break;case "rasterShadedRelief":const l=a.extent;e=this._symbolizeShadedRelief(d,
{isGCS:l.spatialReference.isGeographic,resolution:{x:(l.xmax-l.xmin)/d.width,y:(l.ymax-l.ymin)/d.height}})}return e}catch(e){return I.getLogger(this).error("symbolize",e.message),d}}simpleStretch(a,d){if(!v(a))return a;try{return 3<a.pixels.length&&(a=a.extractBands([0,1,2])),Q.stretch(a,{...d,isRenderer:!0})}catch(e){return I.getLogger(this).error("symbolize",e.message),a}}generateWebGLParameters(a){if(["uniqueValue","rasterColormap","classBreaks"].includes(this.rendererJSON.type)){const {indexedColormap:b,
offset:m}=this.lookup.colormapLut||{};return{colormap:b,colormapOffset:m,type:"lut"}}const {pixelBlock:d,isGCS:e,resolution:l,bandIds:c}=a;({rendererJSON:a}=this);return"rasterStretch"===a.type?this._generateStretchWebGLParams(d,a,c):"rasterShadedRelief"===a.type?this._generateShadedReliefWebGLParams(a,e,l??void 0):"vectorField"===a.type?this._generateVectorFieldWebGLParams(a):null}_isLUTChanged(a){if(!this.lookup||!this.lookup.rendererJSON)return!0;if("colorRamp"in this.rendererJSON){const d=this.rendererJSON.colorRamp;
if(a)return JSON.stringify(d)!==JSON.stringify(this.lookup.rendererJSON.colorRamp);({...this.rendererJSON});({...this.lookup.rendererJSON})}return JSON.stringify(this.rendererJSON)!==JSON.stringify(this.lookup.rendererJSON)}_symbolizeColormap(a){return this._isLUTChanged()&&!this.bind().success?a:R.colorize(a,this.lookup.colormapLut)}_symbolizeClassBreaks(a){const {canUseIndexedLUT:d}=this._analyzeClassBreaks(this.rendererJSON);return this._isLUTChanged()&&!this.bind().success?a:d?R.colorize(a,this.lookup.colormapLut):
R.remapColor(a,this.lookup.remapLut??[])}_symbolizeStretch(a,d){const {rasterInfo:e}=this,{pixelType:l,bandCount:c}=e,b=this.rendererJSON;var m=["u8","u16","s8","s16"].includes(l);let r;var {dra:u}=b;({gamma:p}=this.lookup);if("histogramEqualization"===b.stretchType){m=u?null:this.lookup?.histogramLut;d=Q.getStretchCutoff(b,{rasterInfo:e,pixelBlock:a,bandIds:d,returnHistogramLut:!m});var p=Q.stretch(a,{...d,gamma:p,isRenderer:!0});p=R.lookupPixels(p,{lut:u?d.histogramLut:m,offset:0})}else if(m){if(u)u=
Q.getStretchCutoff(b,{rasterInfo:e,pixelBlock:a,bandIds:d}),r=Q.createStretchLUT({pixelType:l,...u,gamma:p,rounding:"floor"});else{if(this._isLUTChanged()&&!this.bind().success)return a;r=this.lookup?this.lookup.stretchLut:null}if(!r)return a;1<c&&null!=d&&d.length===a?.pixels.length&&r?.lut.length===c&&(r={lut:d.map(q=>r.lut[q]),offset:r.offset});p=R.lookupPixels(a,r)}else u=Q.getStretchCutoff(b,{rasterInfo:e,pixelBlock:a,bandIds:d}),p=Q.stretch(a,{...u,gamma:p,isRenderer:!0});if(b.colorRamp){if(this._isLUTChanged(!0)&&
!this.bind().success)return a;p=R.colorize(p,this.lookup?.colormapLut)}return p}_symbolizeShadedRelief(a,d){var e=this.rendererJSON;d=h.hillshade(a,{...e,...d});if(!e.colorRamp||this._isLUTChanged(!0)&&!this.bind().success)return d;e=this.lookup?this.lookup.hsvMap:null;if(!e)return d;h.tintHillshade(d,a,e,this.rasterInfo.statistics?.[0]??{min:0,max:8E3});return d}_isVectorFieldData(){const {bandCount:a,dataType:d}=this.rasterInfo;return 2===a&&("vector-magdir"===d||"vector-uv"===d)}_updateVectorFieldRenderer(){return this._isVectorFieldData()?
{success:!0}:{success:!1,error:`Unsupported data type "${this.rasterInfo.dataType}"; VectorFieldRenderer only supports "vector-magdir" and "vector-uv".`}}_updateFlowRenderer(){return this._isVectorFieldData()?{success:!0}:{success:!1,error:`Unsupported data type "${this.rasterInfo.dataType}"; FlowRenderer only supports "vector-magdir" and "vector-uv".`}}_updateUVRenderer(a){const {bandCount:d,attributeTable:e,pixelType:l}=this.rasterInfo,c=a.field1;if(!c)return{success:!1,error:"Unsupported renderer; missing UniqueValueRenderer.field."};
const b=a.defaultSymbol;var m=1===d&&["u8","s8"].includes(l);if(!g.isUVRendererSupported(this.rasterInfo,c)&&!m)return{success:!1,error:"Unsupported data; UniqueValueRenderer is only supported on single band data with a valid raster attribute table."};const r=[];if(null!=e){const u=e.fields.find(p=>"value"===p.name.toLowerCase());if(!u)return{success:!1,error:"Unsupported data; the data's raster attribute table does not have a value field."};e.features.forEach(p=>{const q=a.uniqueValueInfos?.find(y=>
String(y.value)===String(p.attributes[c]))?.symbol?.color;q?r.push([p.attributes[u.name]].concat(q)):b&&r.push([p.attributes[u.name]].concat(b.color))})}else{if("value"!==c.toLowerCase())return{success:!1,error:'Unsupported renderer; UniqueValueRenderer.field must be "Value" when raster attribute table is not available.'};a.uniqueValueInfos?.forEach(u=>{const p=u?.symbol?.color;p?r.push([parseInt(""+u.value,10)].concat(p)):b&&r.push([parseInt(""+u.value,10)].concat(b?.color))})}if(0===r.length)return{success:!1,
error:"Invalid UniqueValueRenderer. Cannot find matching records in the raster attribute table."};m=R.createColormapLUT({colormap:r});this.lookup={rendererJSON:a,colormapLut:m};this.canRenderInWebGL=n(m?.indexedColormap);return{success:!0}}_updateColormapRenderer(a){if(!g.isColormapRendererSupported(this.rasterInfo))return{success:!1,error:"Unsupported data; the data source does not have a colormap."};var d=a.colormapInfos.map(e=>[e.value].concat(e.color)).sort((e,l)=>e[0]-l[0]);if(!d||0===d.length)return{success:!1,
error:"Unsupported renderer; ColormapRenderer must have meaningful colormapInfos."};d=R.createColormapLUT({colormap:d});this.lookup={rendererJSON:a,colormapLut:d};this.canRenderInWebGL=n(d?.indexedColormap);return{success:!0}}_updateShadedReliefRenderer(a){if(!g.isShadedReliefRendererSupported(this.rasterInfo))return{success:!1,error:`Unsupported data type "${this.rasterInfo.dataType}"; ShadedReliefRenderer only supports "elevation", or single band float/s16 data.`};if(a.colorRamp){var d=f.convertColorRampToColormap(a.colorRamp,
{interpolateAlpha:!0});d=R.createColormapLUT({colormap:d});const e=[],l=d.indexedColormap;for(let c=0;c<l.length;c+=4){const b=F.toHSV({r:l[c],g:l[c+1],b:l[c+2]});e.push([b.h/60,b.s/100,255*b.v/100])}this.lookup={rendererJSON:a,colormapLut:d,hsvMap:e}}else this.lookup=null;this.canRenderInWebGL=!0;return{success:!0}}_analyzeClassBreaks(a){const {attributeTable:d,pixelType:e}=this.rasterInfo,l=null!=d?d.fields.find(m=>"value"===m.name.toLowerCase()):null,c=null!=d?d.fields.find(m=>m.name.toLowerCase()===
a.field.toLowerCase()):null,b=null!=l&&null!==c;return{canUseIndexedLUT:["u8","u16","s8","s16"].includes(e)||b,tableValueField:l,tableBreakField:c}}_updateClassBreaksRenderer(a){var {attributeTable:d}=this.rasterInfo;const {canUseIndexedLUT:e,tableValueField:l,tableBreakField:c}=this._analyzeClassBreaks(a);var b=a.classBreakInfos;if(!b?.length)return{success:!1,error:"Unsupported renderer; missing or invalid ClassBreaksRenderer.classBreakInfos."};b=b.sort((q,y)=>q.classMaxValue-y.classMaxValue);var m=
b[b.length-1],r=a.minValue;if(!e){var u=[];for(var p=0;p<b.length;p++)u.push({value:b[p].classMinValue??r,mappedColor:b[p].symbol.color}),r=b[p].classMaxValue;u.push({value:m.classMaxValue,mappedColor:m.symbol.color});this.lookup={rendererJSON:a,remapLut:u};this.canRenderInWebGL=!1;return{success:!0}}u=[];if(null!=d&&null!=l&&null!==c&&l!==c){m=l.name;const q=c.name,y=b[b.length-1],{classMaxValue:z}=y;r=a.minValue;for(p of d.features){d=p.attributes[m];const H=p.attributes[q],E=H===z?y:H<r?null:b.find(({classMaxValue:K})=>
K>H);E&&u.push([d].concat(E.symbol.color))}}else{r=Math.floor(a.minValue);for(p=0;p<b.length;p++){for(d=b[p];r<d.classMaxValue;r++)u.push([r].concat(d.symbol.color));r=Math.ceil(d.classMaxValue)}m.classMaxValue===r&&u.push([m.classMaxValue].concat(m.symbol.color))}b=R.createColormapLUT({colormap:u,fillUnspecified:!1});this.lookup={rendererJSON:a,colormapLut:b};this.canRenderInWebGL=n(b?.indexedColormap);return{success:!0}}_updateStretchRenderer(a){let {stretchType:d,dra:e}=a;if(!("none"===d||a.statistics?.length||
D(this.rasterInfo.statistics)||e))return{success:!1,error:"Unsupported renderer; StretchRenderer.statistics is required when dynamic range adjustment is not used."};var l=a.histograms||this.rasterInfo.histograms;!k(a.stretchType)||l?.length||e||(d="minMax");const {computeGamma:c,useGamma:b,colorRamp:m}=a;let {gamma:r}=a;b&&c&&!r?.length&&(r=Q.computeGammaValues(this.rasterInfo.pixelType,a.statistics?.length?a.statistics:this.rasterInfo.statistics));var u=this.rasterInfo.pixelType;const p=!e&&["u8",
"u16","s8","s16"].includes(u);"histogramEqualization"===d?(u=l.map(q=>Q.createHistogramEqualizationLUT(q)),this.lookup={rendererJSON:a,histogramLut:u}):p&&(l=Q.getStretchCutoff(a,{rasterInfo:this.rasterInfo}),u=Q.createStretchLUT({pixelType:u,...l,gamma:b?r:null,rounding:"floor"}),this.lookup={rendererJSON:a,stretchLut:u});m&&!t(m)&&(u=f.convertColorRampToColormap(m,{interpolateAlpha:!0}),this.lookup||(this.lookup={rendererJSON:a}),this.lookup.colormapLut=R.createColormapLUT({colormap:u}),this.lookup.rendererJSON=
a);this.lookup.gamma=b&&r?.length?r:null;this.canRenderInWebGL=!0;return{success:!0}}_generateStretchWebGLParams(a,d,e){let l=null,c=null;var b=this.lookup?.colormapLut;d.colorRamp&&b&&(l=b.indexedColormap,c=b.offset);"histogramEqualization"===d.stretchType&&(d={...d,stretchType:"minMax"});({gamma:b}=this.lookup);const m=!(!d.useGamma||!b?.some(E=>1!==E)),{minCutOff:r,maxCutOff:u,outMin:p,outMax:q}=Q.getStretchCutoff(d,{rasterInfo:this.rasterInfo,pixelBlock:a,bandIds:e});var y=0;null!=a&&(y=a.getPlaneCount(),
2===y&&(a=a.clone(),a.statistics=[a.statistics[0]],a.pixels=[a.pixels[0]]));({bandCount:a}=this.rasterInfo);e=Math.min(3,e?.length||y||a,a);a=new Float32Array(e);y=l||m?1:255;let z;for(z=0;z<r.length;z++)a[z]=u[z]===r[z]?0:(q-p)/(u[z]-r[z])/y;const H=new Float32Array(e);if(m&&b)for(z=0;z<e;z++)H[z]=1<b[z]?2<b[z]?6.5+(b[z]-2)**2.5:6.5+100*(2-b[z])**4:1;return{bandCount:e,outMin:p/y,outMax:q/y,minCutOff:r,maxCutOff:u,factor:a,useGamma:m,gamma:m?b:[1,1,1],gammaCorrection:m?H:[1,1,1],colormap:l,colormapOffset:c,
stretchType:d.stretchType,type:"stretch"}}_generateShadedReliefWebGLParams(a,d=!1,e={x:0,y:0}){let l=null,c=null;const b=this.lookup?.colormapLut;a.colorRamp&&b&&(l=b.indexedColormap,c=b.offset);d=h.calculateHillshadeParams({...a,isGCS:d,resolution:e});e=this.rasterInfo.statistics?.[0];return{...d,minValue:e?.min??0,maxValue:e?.max??8E3,hillshadeType:"traditional"===a.hillshadeType?0:1,type:"hillshade",colormap:l,colormapOffset:c}}_generateVectorFieldWebGLParams(a){const {style:d,inputUnit:e,outputUnit:l,
visualVariables:c,symbolTileSize:b,flowRepresentation:m}=a;let r;var u=this.rasterInfo.statistics?.[0].min??0,p=this.rasterInfo.statistics?.[0].max??50,q=c?.find(H=>"sizeInfo"===H.type)??{type:"sizeInfo",field:"Magnitude",maxDataValue:p,maxSize:.8*b,minDataValue:u,minSize:.2*b},y=q.minDataValue??u,z=q.maxDataValue??p;p=null!=q.maxSize&&null!=q.minSize?[q.minSize/b,q.maxSize/b]:[.2,.8];"wind_speed"===d&&(p[0]=p[1]=(p[0]+p[1])/2);u=null!=y&&null!=z?[y,z]:null;if("classified_arrow"===d)if(null!=y&&null!=
z&&null!=q)for(r=[],y=(q.maxDataValue-q.minDataValue)/5,z=0;6>z;z++)r.push(q.minDataValue+y*z);else r=[0,1E-6,3.5,7,10.5,14];q="flow_to"===m===("ocean_current_kn"===d||"ocean_current_m"===d)?0:Math.PI;y=c?.find(H=>"rotationInfo"===H.type);return{breakValues:r,dataRange:u,inputUnit:e,outputUnit:l,symbolTileSize:b,symbolPercentRange:p,style:d||"single_arrow",rotation:q,rotationType:this.rasterInfo.storageInfo?.tileInfo&&"vector-uv"===this.rasterInfo.dataType?"geographic":y?.rotationType||a.rotationType,
type:"vectorField"}}};C.__decorate([x.property({json:{write:!0}})],N.prototype,"rendererJSON",void 0);C.__decorate([x.property({type:L,json:{write:!0}})],N.prototype,"rasterInfo",void 0);C.__decorate([x.property({json:{write:!0}})],N.prototype,"lookup",void 0);C.__decorate([x.property()],N.prototype,"canRenderInWebGL",void 0);return N=C.__decorate([Y.subclass("esri.renderers.support.RasterSymbolizer")],N)})},"esri/layers/support/rasterFunctions/stretchUtils":function(){define(["exports","../../../core/maybe",
"../PixelBlock","../rasterFormats/pixelRangeUtils","../../../renderers/support/stretchRendererUtils"],function(C,F,N,I,x){function S(f,g=256){g=Math.min(g,256);const {size:n,counts:k}=f;f=new Uint8Array(n);var D=k.reduce((e,l)=>e+l/g,0);let v=0;var t=0;let a=0,d=D;for(let e=0;e<n;e++)if(a+=k[e],!(e<n-1&&a+k[e+1]<d)){for(;v<g-1&&d<a;)v++,d+=D;for(;t<=e;t++)f[t]=v;t=e+1}for(D=t;D<n;D++)f[D]=g-1;return f}function X(f,g){f=Math.min(Math.max(f,-100),100);g=Math.min(Math.max(g??0,-100),100);let n=0,k=0;
const D=new Uint8Array(256);for(n=0;256>n;n++)0<f&&100>f?k=(200*n-25500+510*g)/(2*(100-f))+128:0>=f&&-100<f?k=(200*n-25500+510*g)*(100+f)/2E4+128:100===f?(k=200*n-25500+256*(100-f)+510*g,k=0<k?255:0):-100===f&&(k=128),D[n]=255<k?255:0>k?0:k;return D}function Y(f,g,n,k){k=Infinity;let D=-Infinity;var v=0,t=0,a=0,d=0;const e=f.length;var l=new Map,c=[];for(let b=0;b<e;b++){const m=f[b];if(!g||g[b]){c.push(m);const r=(l.get(m)??0)+1;l.set(m,r);r>d&&(d=r,a=m);k=m<k?m:k;D=m>D?m:D;v+=m;t++}}if(0===t)return{statistics:{min:0,
max:0,avg:0,stddev:0,mode:0,median:0},histogram:null};v/=t;d=0;for(l=0;l<e;l++)if(!g||g[l])d+=(f[l]-v)**2;l=g?g.filter(b=>b).length:e;d=1>=l?0:Math.sqrt(d/(l-1));c.sort((b,m)=>b-m);l=t>>>1;a={min:k,max:D,avg:v,stddev:d,mode:a,median:t%2?c[Math.floor(l)]:(c[l-1]+c[l])/2};if(["u8","s8","u4","u2","u1"].includes(n)){t=D-k+1;n=new Uint32Array(t);for(c=0;c<e;c++)g&&!g[c]||n[f[c]-k]++;return{statistics:a,histogram:{min:k-.5,max:D+.5,size:t,counts:n}}}n=new Uint32Array(256);c=(D-k)/256;if(0===c)return{statistics:a,
histogram:{min:k,max:D,size:1,counts:(new Uint32Array(1)).fill(t)}};t=new Uint32Array(257);for(v=0;v<e;v++)g&&!g[v]||t[Math.floor((f[v]-k)/c)]++;for(f=0;255>f;f++)n[f]=t[f];n[255]=t[255]+t[256];return{statistics:a,histogram:{min:k,max:D,size:256,counts:n}}}function L(f){if(!f?.pixels?.length)return null;const {pixels:g,mask:n,bandMasks:k,pixelType:D}=f,v=f.width*f.height,t=g.length,a=[],d=[];let e,l;for(let y=0;y<t;y++){var c=new Uint32Array(256);var b=g[y],m=k?.[y]??n;if("u8"===D){e=255;l=0;if(m)for(var r=
0;r<v;r++){if(m[r]){var u=b[r];e=u<e?u:e;l=u>l?u:l;c[u]++}}else for(m=0;m<v;m++)r=b[m],e=r<e?r:e,l=r>l?r:l,c[r]++;c=c.slice(e,l+1)}else{u=!1;f.statistics||(f.updateStatistics(),u=!0);var p=f.statistics;e=p[y].minValue;l=p[y].maxValue;r=(l-e)/256;if(0===r)for(!p||f.validPixelCount||u||f.updateStatistics(),b=(f.validPixelCount||f.width*f.height)/256,m=0;256>m;m++)c[m]=Math.round(b*(m+1))-Math.round(b*m);else{u=new Uint32Array(257);for(p=0;p<v;p++)m&&!m[p]||u[Math.floor((b[p]-e)/r)]++;for(b=0;255>b;b++)c[b]=
u[b];c[255]=u[255]+u[256]}}r="u8"===D?e-.5:e;u="u8"===D?l+.5:l;a.push({min:r,max:u,size:c.length,counts:c});m=p=b=0;for(var q=0;q<c.length;q++)b+=c[q],p+=q*c[q];p/=b;for(q=0;q<c.length;q++)m+=c[q]*(q-p)**2;c=(u-r)/c.length;d.push({min:e,max:l,avg:(p+("u8"===D?0:.5))*c+e,stddev:Math.sqrt(m/(b-1))*c})}return{statistics:d,histograms:a}}function R(f,g){if(null==g||0===g.length)return f;const n=Math.max.apply(null,g),{minCutOff:k,maxCutOff:D,outMin:v,outMax:t,histogramLut:a}=f;return k.length===g.length||
k.length<=n?f:{minCutOff:g.map(d=>k[d]),maxCutOff:g.map(d=>D[d]),histogramLut:a?g.map(d=>a[d]):null,outMin:v,outMax:t}}function Q(f,g){const n=new Float32Array(f);for(let k=0;k<f;k++)n[k]=1<g[k]?2<g[k]?6.5+(g[k]-2)**2.5:6.5+100*(2-g[k])**4:1;return n}const h=[.299,.587,.114];C.computeGammaCorrection=Q;C.computeGammaValues=function(f,g,n){const k=[];for(let d=0;d<g.length;d++){var D=0,v=0,t=0;"min"in g[d]?{min:D,max:v,avg:t}=g[d]:[D,v,t]=g[d];t=t??0;"u8"!==f&&(t=255*(t-D)/(v-D));n&&(t*=h[d]);D=k;v=
D.push;if(0>=t||255<=t)t=1;else{var a=0;150!==t&&(a=150>=t?45*Math.cos(.01047*t):17*Math.sin(.021*t));a=Math.log((t+a)/255);0===a?t=1:(t=Math.log(t/255)/a,t=isNaN(t)?1:Math.min(9.9,Math.max(.01,t)))}v.call(D,t)}return k};C.computeStatisticsHistograms=function(f){const {pixels:g,mask:n,pixelType:k,bandMasks:D}=f;var v=g.map((t,a)=>Y(t,D?.[a]??n,k));f=v.map(({statistics:t})=>t);v=v.map(({histogram:t})=>t);return{statistics:f,histograms:v}};C.createContrastBrightnessLUT=X;C.createHistogramEqualizationLUT=
S;C.createStretchLUT=function(f){const {minCutOff:g,maxCutOff:n,gamma:k,pixelType:D,rounding:v}=f,t=f.outMin||0,a=f.outMax||255;if(!["u8","u16","s8","s16"].includes(D))return null;const d=g.length;let e,l,c=0;"s8"===D?c=-127:"s16"===D&&(c=-32767);let b=256;["u16","s16"].includes(D)&&(b=65536);var m=[],r=[];const u=a-t;for(e=0;e<d;e++)r[e]=n[e]-g[e],m[e]=0===r[e]?0:u/r[e];let p;const q=[];let y,z;if(k&&k.length>=d)for(m=Q(d,k),e=0;e<d;e++){z=[];for(l=0;l<b;l++)if(0===r[e])z[l]=t;else{var H=l+c;p=(H-
g[e])/r[e];y=1;1<k[e]&&(y-=(1/u)**(p*m[e]));H<n[e]&&H>g[e]?(H=y*u*p**(1/k[e])+t,z[l]="floor"===v?Math.floor(H):"round"===v?Math.round(H):H):z[l]=H>=n[e]?a:t}q[e]=z}else for(e=0;e<d;e++){z=[];for(l=0;l<b;l++)H=l+c,H<=g[e]?z[l]=t:H>=n[e]?z[l]=a:(r=(H-g[e])*m[e]+t,z[l]="floor"===v?Math.floor(r):"round"===v?Math.round(r):r);q[e]=z}if(null!=f.contrastOffset)for(f=X(f.contrastOffset,f.brightnessOffset),e=0;e<d;e++)for(z=q[e],l=0;l<b;l++)z[l]=f[z[l]];return{lut:q,offset:c}};C.estimateStatisticsFromHistograms=
function(f){const g=[];for(let v=0;v<f.length;v++){const {min:t,max:a,size:d,counts:e}=f[v];let l=0;var n=0;for(var k=0;k<d;k++)l+=e[k],n+=k*e[k];n/=l;k=0;for(var D=0;D<d;D++)k+=e[D]*(D-n)**2;D=(a-t)/d;g.push({min:t,max:a,avg:(n+.5)*D+t,stddev:Math.sqrt(k/(l-1))*D})}return g};C.estimateStatisticsHistograms=L;C.getStretchCutoff=function(f,g){const {pixelBlock:n,bandIds:k,returnHistogramLut:D,rasterInfo:v}=g;var t=null;g=null;var a=f.stretchType;"number"===typeof a&&(a=x.stretchTypeFunctionEnum[a]);
f.dra?"minMax"===a&&n?.statistics?t=n.statistics.map(H=>[H.minValue,H.maxValue,0,0]):(g=L(n),t=null!=g?g.statistics:null,g=null!=g?g.histograms:null):(t=f.statistics?.length?f.statistics:v.statistics,g="histograms"in f?f.histograms:void 0,g||(g=v.histograms));"percentClip"!==a&&"histogramEqualization"!==a||g?.length||(a="minMax");var d=t?.length||g?.length||v.bandCount;const e=[],l=[];let c,b,m;t&&!Array.isArray(t[0])&&(t=t.map(H=>[H.min,H.max,H.avg,H.stddev]));const [r,u]=I.getPixelValueRange(v.pixelType);
if(!t?.length){t=[];for(b=0;b<d;b++)t.push([r,u,1,1]);"standardDeviation"===a&&(a="minMax")}switch(a){case "none":for(b=0;b<d;b++)e[b]=r,l[b]=u;break;case "minMax":for(b=0;b<d;b++){var p=t[b];e[b]=p[0];l[b]=p[1]}break;case "standardDeviation":({numberOfStandardDeviations:p=2}=f);for(b=0;b<d;b++){var q=t[b];e[b]=q[2]-p*q[3];l[b]=q[2]+p*q[3];e[b]<q[0]&&(e[b]=q[0]);l[b]>q[1]&&(l[b]=q[1])}break;case "histogramEqualization":F.assertIsSome(g);for(b=0;b<d;b++)e[b]=g[b].min,l[b]=g[b].max;break;case "percentClip":F.assertIsSome(g);
for(b=0;b<g.length;b++){t=g[b];q=new Uint32Array(t.size);var y=[...t.counts];20<=y.length&&(y[0]=y[1]=y[2]=y[y.length-1]=y[y.length-2]=0);p=0;d=(t.max-t.min)/t.size;c=-.5===t.min&&1===d?.5:0;for(m=0;m<t.size;m++)p+=y[m],q[m]=p;y=(f.minPercent||0)*p/100;e[b]=t.min+c;for(m=0;m<t.size;m++)if(q[m]>y){e[b]=t.min+d*(m+c);break}y=(1-(f.maxPercent||0)/100)*p;l[b]=t.max+c;for(m=t.size-2;0<=m;m--)if(q[m]<y){l[b]=t.min+d*(m+2-c);break}l[b]<e[b]&&(t=e[b],e[b]=l[b],l[b]=t)}break;default:for(b=0;b<d;b++)p=t[b],
e[b]=p[0],l[b]=p[1]}let z;"histogramEqualization"===a?(F.assertIsSome(g),a=g[0].size||256,f=0,D&&(z=g.map(H=>S(H)))):(a=f.max||255,f=f.min||0);return R({minCutOff:e,maxCutOff:l,outMax:a,outMin:f,histogramLut:z},k)};C.stretch=function(f,g){if(!f?.pixels?.length)return f;const {mask:n,bandMasks:k,width:D,height:v,pixels:t}=f,{minCutOff:a,maxCutOff:d,gamma:e}=g;var l=g.outMin||0;const c=g.outMax||255,b=D*v,m=g.outputPixelType||"u8";f=f.pixels.map(()=>N.createEmptyBand(m,b));const r=f.length;var u=c-
l,p=[],q=[];for(var y=0;y<r;y++)q[y]=d[y]-a[y],p[y]=0===q[y]?0:u/q[y];y=m.startsWith("u")||m.startsWith("s");g=!!g.isRenderer;if(e&&e.length>=r){p=Q(r,e);for(var z=0;z<r;z++){var H=k?.[z]??n;for(let K=0;K<b;K++)if(null==H||H[K]){if(0===q[z]){f[z][K]=l;continue}var E=t[z][K];const w=(E-a[z])/q[z];let A=1;1<e[z]&&(A-=(1/u)**(w*p[z]));E<d[z]&&E>a[z]?(E=A*u*w**(1/e[z])+l,f[z][K]=g?Math.floor(E):y?Math.round(E):E):f[z][K]=E>=d[z]?c:l}}}else for(u=0;u<r;u++)for(q=k?.[u]??n,z=0;z<b;z++)if(null==q||q[z])H=
t[u][z],H<d[u]&&H>a[u]?(H=(H-a[u])*p[u]+l,f[u][z]=g?Math.floor(H):y?Math.round(H):H):f[u][z]=H>=d[u]?c:l;l=new N({width:D,height:v,mask:n,bandMasks:k,pixels:f,pixelType:m});l.updateStatistics();return l};Object.defineProperty(C,Symbol.toStringTag,{value:"Module"})})},"esri/layers/support/rasterFunctions/surfaceUtils":function(){define(["exports","../PixelBlock","../SimpleBandStatistics","./pixelUtils"],function(C,F,N,I){function x(L){let {altitude:R,azimuth:Q}=L;const {hillshadeType:h,pixelSizePower:f=
1,pixelSizeFactor:g=1,scalingType:n,isGCS:k,resolution:D}=L;var v="multi-directional"===h?2*L.zFactor:L.zFactor;const {x:t,y:a}=D;L=v/(8*t);var d=v/(8*a);k&&.001<v&&(L/=Y,d/=Y);"adjusted"===n&&(k?(L=t*Y,d=a*Y,L=(v+L**f*g)/(8*L),d=(v+d**f*g)/(8*d)):(L=(v+t**f*g)/(8*t),d=(v+a**f*g)/(8*a)));var e=(90-R)*Math.PI/180;v=Math.cos(e);let l=(360-Q+90)*Math.PI/180,c=Math.sin(e)*Math.cos(l);e=Math.sin(e)*Math.sin(l);const b=[315,270,225,360,180,0],m=[60,60,60,60,60,90];var r=new Float32Array([3,5,3,2,1,4]);
const u=r.reduce((H,E)=>H+E);r=r.map(H=>H/u);const p="multi-directional"===h?b.length:1,q=new Float32Array(6),y=new Float32Array(6),z=new Float32Array(6);if("multi-directional"===h)for(let H=0;H<p;H++)R=m[H],Q=b[H],e=(90-R)*Math.PI/180,v=Math.cos(e),l=(360-Q+90)*Math.PI/180,c=Math.sin(e)*Math.cos(l),e=Math.sin(e)*Math.sin(l),q[H]=v,y[H]=c,z[H]=e;else q.fill(v),y.fill(c),z.fill(e);return{resolution:D,factor:[L,d],sinZcosA:c,sinZsinA:e,cosZ:v,sinZcosAs:y,sinZsinAs:z,cosZs:q,weights:r,hillshadeType:["traditional",
"multi-directional"].indexOf(h)}}function S(L,R){const {width:Q,height:h}=L;var f=Q*h;const g=new Uint8Array(f),n=null!=L.mask;let k;if(n){k=new Uint8Array(L.mask);for(var D=0;D<k.length;D++)k[D]&&(g[D]=1,k[D]=1)}L=L.pixels[0];D=new Float32Array(f);const v=new Float32Array(f);let t=0;if(R){({resolution:a}=R);var a=a?(a.x+a.y)/2:1;t=200*R.zFactor/(a*a);a=new Float32Array(f)}R=R?.curvatureType;let d;let e;for(f=1;f<h-1;f++){const q=f*Q;for(let y=1;y<Q-1;y++){const z=q+y;if(!k||0!==k[z]){if(k){if(7>
k[z-Q-1]+k[z-Q]+k[z-Q+1]+k[z-1]+k[z+1]+k[z+Q-1]+k[z+Q]+k[z+Q+1]){g[z]=0;continue}var l=k[z-Q-1]?L[z-Q-1]:L[z];var c=k[z-Q]?L[z-Q]:L[z];var b=k[z-Q+1]?L[z-Q+1]:L[z];var m=k[z-1]?L[z-1]:L[z];var r=k[z+1]?L[z+1]:L[z];d=k[z+Q-1]?L[z+Q-1]:L[z];var u=k[z+Q]?L[z+Q]:L[z];e=k[z+Q+1]?L[z+Q+1]:L[z]}else l=L[z-Q-1],c=L[z-Q],b=L[z-Q+1],m=L[z-1],r=L[z+1],d=L[z+Q-1],u=L[z+Q],e=L[z+Q+1];D[z]=b+r+r+e-(l+m+m+d);v[z]=d+u+u+e-(l+c+c+b);if(null!=a){var p=L[z];const H=.5*(m+r)-p;p=.5*(c+u)-p;"standard"===R?a[z]=-t*(H+
p):(l=(-l+b+d-e)/4,m=(-m+r)/2,c=(c-u)/2,u=m*m,r=c*c,(b=u+r)&&(a[z]="profile"===R?t*(H*u+p*r+l*m*c)/b:-t*(H*r+p*u-l*m*c)/b))}}}}return{outMask:n?g:null,dzxs:D,dzys:v,curvatures:a}}function X(L,R,Q){for(var h=0;h<Q;h++)L[h*R]=L[h*R+1],L[(h+1)*R-1]=L[(h+1)*R-2];for(h=1;h<R-1;h++)L[h]=L[h+R],L[h+(Q-1)*R]=L[h+(Q-2)*R]}const Y=1/111E3;C.aspect=function(L,R={}){if(!I.isValidPixelBlock(L))return L;var {resolution:Q}=R;R=Q?1/Q.x:1;Q=Q?1/Q.y:1;const {dzxs:h,dzys:f,outMask:g}=S(L),{width:n,height:k}=L,D=new Float32Array(n*
k);for(let t=1;t<k-1;t++){const a=t*n;for(let d=1;d<n-1;d++){var v=a+d;if(!g||g[v]){const e=h[v]*R;v=f[v]*Q;let l=-1;if(0!==e||0!==v)l=90-57.29578*Math.atan2(v,-e),0>l&&(l+=360),360===l?l=0:360<l&&(l%=360);D[a+d]=l}}}X(D,n,k);return new F({width:n,height:k,pixels:[D],mask:g,pixelType:"f32",validPixelCount:L.validPixelCount,statistics:[new N.SimpleBandStatistics(-1,360)]})};C.calculateHillshadeParams=x;C.curvature=function(L,R){if(!I.isValidPixelBlock(L))return L;const {curvatures:Q,outMask:h}=S(L,
R),{width:f,height:g}=L;X(Q,f,g);L=new F({width:f,height:g,pixels:[Q],mask:h,pixelType:"f32",validPixelCount:L.validPixelCount});L.updateStatistics();return L};C.gcsFactor=Y;C.hillshade=function(L,R){if(!I.isValidPixelBlock(L))return L;const {factor:Q,sinZcosA:h,sinZsinA:f,cosZ:g,sinZcosAs:n,sinZsinAs:k,cosZs:D,weights:v}=x(R),[t,a]=Q;R="traditional"===R.hillshadeType;const {width:d,height:e}=L,l=new Uint8Array(d*e),{dzxs:c,dzys:b,outMask:m}=S(L);for(let u=1;u<e-1;u++){const p=u*d;for(let q=1;q<d-
1;q++){const y=p+q;if(!m||m[y]){var r=c[y]*t;const z=b[y]*a,H=Math.sqrt(1+r*r+z*z);let E=0;if(R)r=255*(g+f*z-h*r)/H,0>r&&(r=0),E=r;else{const K=k.length;for(let w=0;w<K;w++){let A=255*(D[w]+k[w]*z-n[w]*r)/H;0>A&&(A=0);E+=A*v[w]}}l[y]=E&255}}}X(l,d,e);return new F({width:d,height:e,pixels:[l],mask:m,pixelType:"u8",validPixelCount:L.validPixelCount,statistics:[new N.SimpleBandStatistics(0,255)]})};C.slope=function(L,R){if(!I.isValidPixelBlock(L))return L;var Q=R.zFactor,h=R.pixelSizePower??1,f=R.pixelSizeFactor??
1;const g=R.slopeType;var n=R.isGCS;const {x:k,y:D}=R.resolution;R=Q/(8*k);let v=Q/(8*D);n&&1E-4>Math.abs(Q-1)&&(R/=Y,v/=Y);"adjusted"===g&&(R=(Q+k**h*f)/(8*k),v=(Q+D**h*f)/(8*D));const {dzxs:t,dzys:a,outMask:d}=S(L),{width:e,height:l}=L;Q=new Float32Array(e*l);for(h=1;h<l-1;h++)for(f=h*e,n=1;n<e-1;n++){var c=f+n;if(!d||d[c]){var b=t[c]*R;c=a[c]*v;b=Math.sqrt(b*b+c*c);Q[f+n]="percent-rise"===g?100*b:57.2957795*Math.atan(b)}}X(Q,e,l);L=new F({width:e,height:l,pixels:[Q],mask:d,pixelType:"f32",validPixelCount:L.validPixelCount});
L.updateStatistics();return L};C.tintHillshade=function(L,R,Q,h){if(I.isValidPixelBlock(L)&&I.isValidPixelBlock(R)){var {min:f,max:g}=h;h=L.pixels[0];var {pixels:n,mask:k}=R;R=n[0];var D=255.00001/(g-f),v=new Uint8ClampedArray(R.length),t=new Uint8ClampedArray(R.length),a=new Uint8ClampedArray(R.length),d=Q.length-1;for(let c=0;c<R.length;c++){if(k&&0===k[c])continue;var e=Math.floor((R[c]-f)*D);const [b,m]=Q[0>e?0:e>d?d:e];var l=h[c];e=l*m;const r=e*(1-Math.abs(b%2-1));l-=e;switch(Math.floor(b)){case 0:v[c]=
e+l;t[c]=r+l;a[c]=l;break;case 1:v[c]=r+l;t[c]=e+l;a[c]=l;break;case 2:v[c]=l;t[c]=e+l;a[c]=r+l;break;case 3:v[c]=l;t[c]=r+l;a[c]=e+l;break;case 4:v[c]=r+l;t[c]=l;a[c]=e+l;break;case 5:case 6:v[c]=e+l,t[c]=l,a[c]=r+l}}L.pixels=[v,t,a];L.updateStatistics()}};Object.defineProperty(C,Symbol.toStringTag,{value:"Module"})})},"esri/rest/query/support/AttachmentInfo":function(){define("../../../chunks/tslib.es6 ../../../core/JSONSupport ../../../core/accessorSupport/decorators/property ../../../core/accessorSupport/ensureType ../../../core/RandomLCG ../../../core/has ../../../core/accessorSupport/decorators/subclass ../../../layers/support/exifUtils".split(" "),
function(C,F,N,I,x,S,X,Y){var L;const R={1:{id:1,rotation:0,mirrored:!1},2:{id:2,rotation:0,mirrored:!0},3:{id:3,rotation:180,mirrored:!1},4:{id:4,rotation:180,mirrored:!0},5:{id:5,rotation:-90,mirrored:!0},6:{id:6,rotation:90,mirrored:!1},7:{id:7,rotation:90,mirrored:!0},8:{id:8,rotation:-90,mirrored:!1}};F=L=class extends F.JSONSupport{constructor(Q){super(Q);this.url=this.size=this.parentObjectId=this.parentGlobalId=this.name=this.keywords=this.globalId=this.id=this.exifInfo=this.contentType=null}get orientationInfo(){var {exifInfo:Q}=
this;Q=Y.getExifValue({exifName:"Exif IFD0",tagName:"Orientation",exifInfo:Q});return R[Q]||null}clone(){return new L({contentType:this.contentType,exifInfo:this.exifInfo,id:this.id,globalId:this.globalId,keywords:this.keywords,name:this.name,parentGlobalId:this.parentGlobalId,parentObjectId:this.parentObjectId,size:this.size,url:this.url})}};C.__decorate([N.property({type:String})],F.prototype,"contentType",void 0);C.__decorate([N.property()],F.prototype,"exifInfo",void 0);C.__decorate([N.property({readOnly:!0})],
F.prototype,"orientationInfo",null);C.__decorate([N.property({type:I.Integer})],F.prototype,"id",void 0);C.__decorate([N.property({type:String})],F.prototype,"globalId",void 0);C.__decorate([N.property({type:String})],F.prototype,"keywords",void 0);C.__decorate([N.property({type:String})],F.prototype,"name",void 0);C.__decorate([N.property({json:{read:!1}})],F.prototype,"parentGlobalId",void 0);C.__decorate([N.property({json:{read:!1}})],F.prototype,"parentObjectId",void 0);C.__decorate([N.property({type:I.Integer})],
F.prototype,"size",void 0);C.__decorate([N.property({json:{read:!1}})],F.prototype,"url",void 0);return F=L=C.__decorate([X.subclass("esri.rest.query.support.AttachmentInfo")],F)})},"esri/layers/support/exifUtils":function(){define(["exports"],function(C){function F(N){const {tagName:I,tags:x}=N;return x&&I?x.find(S=>S.name===I)?.value||null:null}C.getExifValue=function(N){const {exifInfo:I,exifName:x,tagName:S}=N;return I&&x&&S?(N=I.find(X=>X.name===x))?F({tagName:S,tags:N.tags}):null:null};Object.defineProperty(C,
Symbol.toStringTag,{value:"Module"})})},"esri/rest/imageService/fetchRasterInfo":function(){define("exports ../../request ../../geometry/Extent ../../geometry/Point ../../geometry/SpatialReference ../../layers/support/RasterInfo ../../layers/support/RasterStorageInfo ../utils ../support/FeatureSet".split(" "),function(C,F,N,I,x,S,X,Y,L){async function R(Q,h,f){Q=Y.parseUrl(Q);const {rasterFunction:g,sourceJSON:n}=h||{};h=g?JSON.stringify(g.rasterFunctionDefinition||g):null;h=Y.encode({...Q.query,
renderingRule:h,f:"json"});h=Y.asValidOptions(h,f);Q=Q.path;f=n||await F(Q,h).then(r=>r.data);var k=f.hasRasterAttributeTable?F(`${Q}/rasterAttributeTable`,h):null,D=f.hasColormap?F(`${Q}/colormap`,h):null,v=f.hasHistograms?F(`${Q}/histograms`,h):null,t=10.3<=f.currentVersion?F(`${Q}/keyProperties`,h):null;Q=f.hasMultidimensions?F(`${Q}/multidimensionalInfo`,h):null;v=await Promise.allSettled([k,D,v,t,Q]);Q=null;if(f.minValues&&f.minValues.length===f.bandCount)for(Q=[],h=0;h<f.minValues.length;h++)Q.push({min:f.minValues[h],
max:f.maxValues[h],avg:f.meanValues[h],stddev:f.stdvValues[h]});k=N.fromJSON(f.extent);h=Math.ceil(k.width/f.pixelSizeX-.1);k=Math.ceil(k.height/f.pixelSizeY-.1);D=x.fromJSON(f.spatialReference||f.extent.spatialReference);t="fulfilled"===v[0].status?v[0].value?.data:null;t=t?.features?.length?L.fromJSON(t):null;var a="fulfilled"===v[1].status?v[1].value?.data.colormap:null;a=a?.length?a:null;var d="fulfilled"===v[2].status?v[2].value?.data.histograms:null;d=d?.[0]?.counts?.length?d:null;const e="fulfilled"===
v[3].status?v[3].value?.data??{}:{};v="fulfilled"===v[4].status?v[4].value?.data.multidimensionalInfo:null;(v=v?.variables?.length?v:null)&&v.variables.forEach(r=>{r.statistics?.length&&r.statistics.forEach(u=>{u.avg=u.mean;u.stddev=u.standardDeviation})});const {defaultVariable:l,serviceDataType:c}=f;l&&l!==e.DefaultVariable&&(e.DefaultVariable=l);c?.includes("esriImageServiceDataTypeVector")&&!c.includes(e.DataType)&&(e.DataType=c.replace("esriImageServiceDataType",""));let b=f.noDataValue;f.noDataValues?.length&&
f.noDataValues.some(r=>r!==b)&&(b=f.noDataValues);const m=f.transposeInfo?new X({blockWidth:256,blockHeight:256,pyramidBlockWidth:256,pyramidBlockHeight:256,pyramidScalingFactor:2,compression:"lerc",origin:new I({x:f.extent.xmin,y:f.extent.ymax,spatialReference:D}),firstPyramidLevel:1,maximumPyramidLevel:Math.max(0,Math.round(Math.log(Math.max(h,k))/Math.LN2-8)),transposeInfo:f.transposeInfo}):void 0;return new S({width:h,height:k,bandCount:f.bandCount,extent:N.fromJSON(f.extent),spatialReference:D,
pixelSize:new I({x:f.pixelSizeX,y:f.pixelSizeY,spatialReference:D}),pixelType:f.pixelType.toLowerCase(),statistics:Q,attributeTable:t,colormap:a,histograms:d,keyProperties:e,noDataValue:b,multidimensionalInfo:v,storageInfo:m})}C.fetchServiceRasterInfo=function(Q,h,f){return R(Q,{sourceJSON:h},f)};C.generateRasterInfo=function(Q,h,f){return R(Q,{rasterFunction:h},f)};C.patchServiceInfo=function(Q,h){Q.attributeTable||(h.hasRasterAttributeTable=!1);Q.histograms||(h.hasHistograms=!1);Q.colormap||(h.hasColormap=
!1);Q.multidimensionalInfo||(h.hasMultidimensions=!1)};Object.defineProperty(C,Symbol.toStringTag,{value:"Module"})})},"esri/rest/imageService/getCatalogItemRasterInfo":function(){define("exports ../../request ../../geometry/Extent ../../geometry/Point ../../layers/support/RasterInfo ../../layers/support/RasterStorageInfo ../utils".split(" "),function(C,F,N,I,x,S,X){C.getCatalogItemRasterInfo=async function(Y,L,R){Y=X.parseUrl(Y);var Q=X.encode({...Y?.query,f:"json"});R=X.asValidOptions(Q,R);Y=`${Y?.path}/${L}/info`;
L=F(`${Y}`,R);R=F(`${Y}/keyProperties`,R);R=await Promise.allSettled([L,R]);L="fulfilled"===R[0].status?R[0].value.data:null;R="fulfilled"===R[1].status?R[1].value.data:null;Y=null;L.statistics?.length&&(Y=L.statistics.map(v=>({min:v[0],max:v[1],avg:v[2],stddev:v[3]})));Q=N.fromJSON(L.extent);const h=Math.ceil(Q.width/L.pixelSizeX-.1),f=Math.ceil(Q.height/L.pixelSizeY-.1),g=Q.spatialReference,n=new I({x:L.pixelSizeX,y:L.pixelSizeY,spatialReference:g}),k=L.histograms?.length?L.histograms:null,D=new S({origin:L.origin,
blockWidth:L.blockWidth,blockHeight:L.blockHeight,firstPyramidLevel:L.firstPyramidLevel,maximumPyramidLevel:L.maxPyramidLevel});return new x({width:h,height:f,bandCount:L.bandCount,extent:Q,spatialReference:g,pixelSize:n,pixelType:L.pixelType.toLowerCase(),statistics:Y,histograms:k,keyProperties:R,storageInfo:D})};Object.defineProperty(C,Symbol.toStringTag,{value:"Module"})})},"esri/views/2d/engine/flow/dataUtils":function(){define("exports ../../../../geometry ../../../../core/has ../../../../core/Logger ../../../../core/mathUtils ../../../../core/promiseUtils ../../../../core/RandomLCG ../../../../geometry/support/spatialReferenceUtils ../../../../geometry/Extent".split(" "),
function(C,F,N,I,x,S,X,Y,L){function R(a,d){const e=f(d.data,d.width,d.height,a.smoothing);return a.interpolate?(l,c)=>{const b=Math.floor(l),m=Math.floor(c);if(0>b||b>=d.width||0>m||m>=d.height)return[0,0];l-=b;c-=m;const r=b<d.width-1?b+1:b,u=m<d.height-1?m+1:m;return[(e[2*(m*d.width+b)]*(1-c)+e[2*(u*d.width+b)]*c)*(1-l)+(e[2*(m*d.width+r)]*(1-c)+e[2*(u*d.width+r)]*c)*l,(e[2*(m*d.width+b)+1]*(1-c)+e[2*(u*d.width+b)+1]*c)*(1-l)+(e[2*(m*d.width+r)+1]*(1-c)+e[2*(u*d.width+r)+1]*c)*l]}:(l,c)=>{l=Math.round(l);
c=Math.round(c);return 0>l||l>=d.width||0>c||c>=d.height?[0,0]:[e[2*(c*d.width+l)],e[2*(c*d.width+l)+1]]}}function Q(a,d,e,l,c,b,m,r,u){const p=[];let q=0,[y,z]=d(e,l);y*=a.velocityScale;z*=a.velocityScale;p.push({x:e,y:l,t:q,speed:Math.sqrt(y*y+z*z)});for(let K=0;K<a.verticesPerLine;K++){let [w,A]=d(e,l);w*=a.velocityScale;A*=a.velocityScale;const G=Math.sqrt(w*w+A*A);if(G<a.minSpeedThreshold)break;const P=w/G,U=A/G;e+=P*a.segmentLength;l+=U*a.segmentLength;q+=a.segmentLength/G;if(Math.acos(P*H+
U*E)>a.maxTurnAngle)break;if(a.collisions){var H=Math.round(e*u);var E=Math.round(l*u);if(0>H||H>m-1||0>E||E>r-1)break;const V=b[E*m+H];if(-1!==V&&V!==c)break;b[E*m+H]=c}p.push({x:e,y:l,t:q,speed:G});H=P;E=U}return p}function h(a,d,e,l){const c=[],b=new X,m=1/Math.max(a.lineCollisionWidth,1),r=Math.round(e*m),u=Math.round(l*m),p=new Int32Array(r*u);for(var q=0;q<p.length;q++)p[q]=-1;q=[];for(let y=0;y<l;y+=a.lineSpacing)for(let z=0;z<e;z+=a.lineSpacing)q.push({x:z,y,sort:b.getFloat()});q.sort((y,
z)=>y.sort-z.sort);for(const {x:y,y:z}of q)b.getFloat()<a.density&&(e=Q(a,d,y,z,c.length,p,r,u,m),2>e.length||c.push(e));return c}function f(a,d,e,l){if(0===l)return a;const c=Math.round(3*l),b=Array(2*c+1);var m=0;for(var r=-c;r<=c;r++){var u=Math.exp(-r*r/(l*l));b[r+c]=u;m+=u}for(l=-c;l<=c;l++)b[l+c]/=m;m=new Float32Array(a.length);for(l=0;l<e;l++)for(r=0;r<d;r++){var p=u=0;for(var q=-c;q<=c;q++)if(!(0>r+q||r+q>=d)){var y=b[q+c];u+=y*a[2*(l*d+(r+q))];p+=y*a[2*(l*d+(r+q))+1]}m[2*(l*d+r)]=u;m[2*(l*
d+r)+1]=p}a=new Float32Array(a.length);for(l=0;l<d;l++)for(r=0;r<e;r++){p=u=0;for(q=-c;q<=c;q++)0>r+q||r+q>=e||(y=b[q+c],u+=y*m[2*((r+q)*d+l)],p+=y*m[2*((r+q)*d+l)+1]);a[2*(r*d+l)]=u;a[2*(r*d+l)+1]=p}return a}function g(a,d){const e=new X;var l=a.reduce((r,u)=>r+u.length,0);l=new Float32Array(4*l);const c=Array(a.length);let b=0,m=0;for(const r of a){a=b;for(const u of r)l[4*b]=u.x,l[4*b+1]=u.y,l[4*b+2]=u.t,l[4*b+3]=u.speed,b++;c[m++]={startVertex:a,numberOfVertices:r.length,totalTime:r[r.length-
1].t,timeSeed:d?e.getFloat():0}}return{lineVertices:l,lineDescriptors:c}}function n(a,d){function e(H,E,K,w,A,G,P,U){const V=9*u;let T=0;r[V+T++]=H;r[V+T++]=E;r[V+T++]=1;r[V+T++]=K;r[V+T++]=G;r[V+T++]=P;r[V+T++]=w/2;r[V+T++]=A/2;r[V+T++]=U;u++;r[V+T++]=H;r[V+T++]=E;r[V+T++]=-1;r[V+T++]=K;r[V+T++]=G;r[V+T++]=P;r[V+T++]=-w/2;r[V+T++]=-A/2;r[V+T++]=U;u++}const {lineVertices:l,lineDescriptors:c}=a;var b=a=0;for(var m of c)a+=2*m.numberOfVertices,b+=6*(m.numberOfVertices-1);const r=new Float32Array(9*
a);m=new Uint32Array(b);let u=0;a=0;for(const H of c){const {totalTime:E,timeSeed:K}=H;let w=b=null,A=null;var p=null,q=null,y=null;for(let G=0;G<H.numberOfVertices;G++){p=l[4*(H.startVertex+G)];const P=l[4*(H.startVertex+G)+1],U=l[4*(H.startVertex+G)+2],V=l[4*(H.startVertex+G)+3];let T=null,J=null;var z=null;let O=null;0<G&&(T=p-b,J=P-w,z=Math.sqrt(T*T+J*J),T/=z,J/=z,1<G?(q=T+q,y=J+y,z=Math.sqrt(q*q+y*y),q/=z,y/=z,z=Math.min(1/(q*T+y*J),d),q*=z,y*=z,z=-y,O=q):(z=-J,O=T),null!==z&&null!==O&&(e(b,
w,A,z,O,E,K,V),m[a++]=u-2,m[a++]=u,m[a++]=u-1,m[a++]=u,m[a++]=u+1,m[a++]=u-1));b=p;w=P;A=U;q=T;y=J;p=V}e(b,w,A,-y,q,E,K,p)}return{vertexData:r,indexData:m}}function k(a){function d(aa,W){var da=U+T,ca=V+J,fa=Math.sqrt(da*da+ca*ca);da/=fa;ca/=fa;var ha=U*da+V*ca,na=T+O,ma=J+Z;fa=Math.sqrt(na*na+ma*ma);na/=fa;ma/=fa;var ia=T*na+J*ma;fa=z;var ua=H,pa=E,ta=K;ca=-(ca/ha);da/=ha;ha=w;var ra=A,ya=G,xa=P;ma=-(ma/ia);na/=ia;ia=16*q;let Aa=0;for(const za of[1,2])for(const Da of[1,2,3,4])u[ia+Aa++]=fa,u[ia+
Aa++]=ua,u[ia+Aa++]=pa,u[ia+Aa++]=ta,u[ia+Aa++]=ha,u[ia+Aa++]=ra,u[ia+Aa++]=ya,u[ia+Aa++]=xa,u[ia+Aa++]=za,u[ia+Aa++]=Da,u[ia+Aa++]=aa,u[ia+Aa++]=W,u[ia+Aa++]=ca/2,u[ia+Aa++]=da/2,u[ia+Aa++]=ma/2,u[ia+Aa++]=na/2,q++;p[y++]=q-8;p[y++]=q-7;p[y++]=q-6;p[y++]=q-7;p[y++]=q-5;p[y++]=q-6;p[y++]=q-4;p[y++]=q-3;p[y++]=q-2;p[y++]=q-3;p[y++]=q-1;p[y++]=q-2}function e(aa,W,da,ca,fa,ha){U=T;V=J;T=O;J=Z;null==U&&null==V&&(U=T,V=J);if(null!=w&&null!=A){O=aa-w;Z=W-A;const na=Math.sqrt(O*O+Z*Z);O/=na;Z/=na}null!=
U&&null!=V&&d(fa,ha);z=w;H=A;E=G;K=P;w=aa;A=W;G=da;P=ca}function l(aa,W){U=T;V=J;T=O;J=Z;null==U&&null==V&&(U=T,V=J);null!=U&&null!=V&&d(aa,W)}const {lineVertices:c,lineDescriptors:b}=a;let m=a=0;for(var r of b){const aa=r.numberOfVertices-1;a+=8*aa;m+=12*aa}const u=new Float32Array(16*a),p=new Uint32Array(m);let q=0,y=0,z,H,E,K,w,A,G,P,U,V,T,J,O,Z;for(const aa of b){Z=O=J=T=V=U=P=G=A=w=K=E=H=z=null;const {totalTime:W,timeSeed:da}=aa;for(r=0;r<aa.numberOfVertices;r++)e(c[4*(aa.startVertex+r)],c[4*
(aa.startVertex+r)+1],c[4*(aa.startVertex+r)+2],c[4*(aa.startVertex+r)+3],W,da);l(W,da)}return{vertexData:u,indexData:p}}function D(a,d){const e=d.pixels,{width:l,height:c}=d,b=new Float32Array(l*c*2),m=d.mask||new Uint8Array(l*c*2);d.mask||m.fill(255);if("vector-uv"===a)for(a=0;a<l*c;a++)b[2*a]=e[0][a],b[2*a+1]=-e[1][a];else if("vector-magdir"===a)for(a=0;a<l*c;a++){d=e[0][a];const r=x.deg2rad(e[1][a]),u=Math.sin(r-Math.PI/2);b[2*a]=Math.cos(r-Math.PI/2)*d;b[2*a+1]=u*d}return{data:b,mask:m,width:l,
height:c}}async function v(a,d,e,l,c,b){const m={requestProjectedLocalDirections:!0,signal:b};null!=c&&(m.timeExtent=c);if("imagery"===a.type)return await a.load({signal:b}),c=a.rasterInfo.dataType,a=await a.fetchImage(d,e,l,m),null==a?.pixelData?.pixelBlock?{data:new Float32Array(e*l*2),mask:new Uint8Array(e*l),width:e,height:l}:D(c,a.pixelData.pixelBlock);await a.load({signal:b});c=a.serviceRasterInfo.dataType;a=await a.fetchPixels(d,e,l,m);return null==a?.pixelBlock?{data:new Float32Array(e*l*
2),mask:new Uint8Array(e*l),width:e,height:l}:D(c,a.pixelBlock)}const t=()=>I.getLogger("esri.views.2d.engine.flow.dataUtils");C.createAnimatedLinesData=g;C.createFlowMesh=async function(a,d,e,l){const c=performance.now();var b=R(d,e);const m=performance.now();e=h(d,b,e.width,e.height);d=performance.now();b=g(e,!0);e=performance.now();a="Streamlines"===a?n(b,10):k(b);b=performance.now();N("esri-2d-profiler")&&(t().info("I.1","_createFlowFieldFromData (ms)",Math.round(m-c)),t().info("I.2","_getStreamlines (ms)",
Math.round(d-m)),t().info("I.3","createAnimatedLinesData (ms)",Math.round(e-d)),t().info("I.4","create{Streamlines|Particles}Mesh (ms)",Math.round(b-e)),t().info("I.5","createFlowMesh (ms)",Math.round(b-c)),t().info("I.6","Mesh size (bytes)",a.vertexData.buffer.byteLength+a.indexData.buffer.byteLength));await Promise.resolve();S.throwIfAborted(l);return a};C.createParticlesMesh=k;C.createStreamlinesMesh=n;C.loadImagery=async function(a,d,e,l,c,b){const m=performance.now();var r=Y.getInfo(d.spatialReference);
if(!r)return e=await v(a,d,e,l,c,b),N("esri-2d-profiler")&&t().info("I.7","loadImagery, early exit (ms)",Math.round(performance.now()-m)),N("esri-2d-profiler")&&t().info("I.9","Number of parts",1),e;const [u,p]=r.valid,q=Math.ceil(d.width/(p-u)),y=d.width/q,z=Math.round(e/q);let H=d.xmin;const E=[];r=performance.now();for(let K=0;K<q;K++){const w=new L({xmin:H,xmax:H+y,ymin:d.ymin,ymax:d.ymax,spatialReference:d.spatialReference});E.push(v(a,w,z,l,c,b));H+=y}a=await Promise.all(E);N("esri-2d-profiler")&&
t().info("I.8","All calls to _fetchPart (ms)",Math.round(performance.now()-r));N("esri-2d-profiler")&&t().info("I.9","Number of parts",a.length);l={data:new Float32Array(e*l*2),mask:new Uint8Array(e*l),width:e,height:l};d=0;for(const K of a){for(a=0;a<K.height;a++)for(c=0;c<K.width;c++)d+c>=e||(l.data[2*(a*e+d+c)]=K.data[2*(a*K.width+c)],l.data[2*(a*e+d+c)+1]=K.data[2*(a*K.width+c)+1],l.mask[a*e+d+c]=K.mask[a*K.width+c]);d+=K.width}N("esri-2d-profiler")&&t().info("I.10","loadImagery, general exit (ms)",
Math.round(performance.now()-m));return l};Object.defineProperty(C,Symbol.toStringTag,{value:"Module"})})},"*noref":1}});
define("require ../chunks/tslib.es6 ../PopupTemplate ../core/Clonable ../core/Error ../core/MultiOriginJSONSupport ../core/promiseUtils ../core/accessorSupport/decorators/property ../core/has ../core/Logger ../core/RandomLCG ../core/accessorSupport/decorators/subclass ../core/accessorSupport/decorators/writer ./Layer ./mixins/ArcGISImageService ./mixins/ArcGISService ./mixins/BlendLayer ./mixins/CustomParametersMixin ./mixins/OperationalLayer ./mixins/PortalLayer ./mixins/RefreshableLayer ./mixins/ScaleRangeLayer ./mixins/TemporalLayer ./support/commonProperties ./support/versionUtils ../support/popupUtils ../webdoc/interfaces".split(" "),function(C,
F,N,I,x,S,X,Y,L,R,Q,h,f,g,n,k,D,v,t,a,d,e,l,c,b,m,r){I=class extends D.BlendLayer(l.TemporalLayer(e.ScaleRangeLayer(t.OperationalLayer(a.PortalLayer(n.ArcGISImageService(d.RefreshableLayer(v.CustomParametersMixin(k.ArcGISService(S.MultiOriginJSONMixin(I.ClonableMixin(g))))))))))){constructor(...u){super(...u);this.isReference=null;this.operationalLayerType="ArcGISImageServiceLayer";this.popupEnabled=!0;this.popupTemplate=null;this.type="imagery";this._debouncedSaveOperations=X.debounce(async(p,q,
y)=>{const {save:z,saveAs:H}=await new Promise((E,K)=>C(["./save/imageryUtils"],E,K));switch(p){case r.SaveOperationType.SAVE:return z(this,q);case r.SaveOperationType.SAVE_AS:return H(this,y,q)}})}normalizeCtorArgs(u,p){return"string"===typeof u?{url:u,...p}:u}load(u){const p=null!=u?u.signal:null;this.addResolvingPromise(this.loadFromPortal({supportedTypes:["Image Service"]},u).catch(X.throwIfAbortError).then(()=>this._fetchService(p)));return Promise.resolve(this)}get legendEnabled(){return this._isPreviewLayer?
!1:this._get("legendEnabled")??!0}set legendEnabled(u){this._set("legendEnabled",u)}get listMode(){return this._isPreviewLayer?"hide":this._get("listMode")}set listMode(u){this._set("listMode",u)}writeOperationalLayerType(u,p,q){p[q]="vector-field"===this.renderer?.type?"ArcGISImageServiceVectorLayer":"ArcGISImageServiceLayer"}get defaultPopupTemplate(){return this.createPopupTemplate()}get _isPreviewLayer(){return!(!this.raster||!this.url?.toLowerCase().includes("/rasterrendering/imageserver"))}createPopupTemplate(u){const p=
this.rasterFields,q=this.title,y=new Set;var z=!1;let H=!1;this.capabilities&&(z=this.capabilities.operations.supportsQuery&&this.fields&&0<this.fields.length,H="esriImageServiceDataTypeVector-UV"===this.serviceDataType||"esriImageServiceDataTypeVector-MagDir"===this.serviceDataType);const E=new Set;z&&E.add("raster.itempixelvalue");for(const K of p)z=K.name.toLowerCase(),E.has(z)||z.includes("raster.servicepixelvalue.")||y.add(K.name);H&&y.add("raster.magnitude").add("raster.direction");u=m.createPopupTemplate({fields:p,
title:q},{...u,visibleFieldNames:y});u?.fieldInfos&&this.rasterInfo?.pixelType.startsWith("f")&&u.fieldInfos.forEach(({format:K,fieldName:w})=>{K&&w&&/^raster\.(item|service)pixelvalue/i.test(w)&&(K.places=2)});return u}queryFeatures(u,p){return this.queryRasters(u,p).then(q=>{if(q?.features)for(const y of q.features)y.layer=y.sourceLayer=this;return q})}queryFeatureCount(u,p){return this.queryRasterCount(u,p)}redraw(){this.emit("redraw")}async save(u){return this._debouncedSaveOperations(r.SaveOperationType.SAVE,
u)}async saveAs(u,p){return this._debouncedSaveOperations(r.SaveOperationType.SAVE_AS,p,u)}serviceSupportsSpatialReference(u){return b.serviceSupportsSpatialReference(this,u)}write(u,p){if(!this._isPreviewLayer)return super.write(u,p);p?.messages&&p.messages.push(new x("layer:unsupported",`Imagery preview layer (${this.title}, ${this.id}) of type '${this.declaredClass}' are not supported in the context of '${`${p.origin}/${p.layerContainerType||"operational-layers"}`}'`,{layer:this}));return null}};
F.__decorate([Y.property(c.legendEnabled)],I.prototype,"legendEnabled",null);F.__decorate([Y.property({type:["show","hide"]})],I.prototype,"listMode",null);F.__decorate([Y.property({type:Boolean,json:{read:!1,write:{enabled:!0,overridePolicy:()=>({enabled:!1})}}})],I.prototype,"isReference",void 0);F.__decorate([Y.property({type:["ArcGISImageServiceLayer"],json:{origins:{"web-map":{type:["ArcGISImageServiceLayer","ArcGISImageServiceVectorLayer"],read:!1,write:{target:"layerType",ignoreOrigin:!0}}}}})],
I.prototype,"operationalLayerType",void 0);F.__decorate([f.writer("web-map","operationalLayerType")],I.prototype,"writeOperationalLayerType",null);F.__decorate([Y.property(c.popupEnabled)],I.prototype,"popupEnabled",void 0);F.__decorate([Y.property({type:N,json:{read:{source:"popupInfo"},write:{target:"popupInfo"}}})],I.prototype,"popupTemplate",void 0);F.__decorate([Y.property({readOnly:!0})],I.prototype,"defaultPopupTemplate",null);F.__decorate([Y.property({readOnly:!0,json:{read:!1}})],I.prototype,
"type",void 0);F.__decorate([Y.property({readOnly:!0})],I.prototype,"_isPreviewLayer",null);return I=F.__decorate([h.subclass("esri.layers.ImageryLayer")],I)});