{"version":3,"sources":["webpack:///./node_modules/@arcgis/core/views/layers/TileLayerView.js","webpack:///./node_modules/@arcgis/core/views/2d/layers/TileLayerView2D.js","webpack:///./node_modules/@arcgis/core/views/2d/layers/BitmapTileLayerView2D.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/webgl/GeometryUtils.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/webgl/shaders/BackgroundPrograms.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/webgl/DefaultVertexAttributeLayouts.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/imagery/BrushRasterBitmap.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/webgl/brushes/BrushBitmap.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/webgl/brushes/BrushClip.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/webgl/brushes/BrushOverlay.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/webgl/brushes/WGLGeometryBrush.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/webgl/brushes/WGLGeometryBrushFill.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/webgl/brushes/WGLBrushDotDensity.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/webgl/brushes/WGLGeometryBrushMarker.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/webgl/brushes/WGLBrushHeatmap.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/webgl/brushes/WGLBrushPieChart.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/webgl/brushes/WGLBrushVTLBackground.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/webgl/brushes/WGLBrushVTLCircle.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/webgl/brushes/WGLBrushVTLFill.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/webgl/brushes/WGLBrushVTLLine.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/webgl/brushes/WGLBrushVTLSymbol.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/webgl/brushes/WGLGeometryBrushLabel.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/webgl/brushes/WGLGeometryBrushLine.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/webgl/brushes/WGLGeometryBrushText.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/brushes.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/imagery/BrushVectorField.js","webpack:///./node_modules/@arcgis/core/layers/support/PixelBlock.js","webpack:///./node_modules/@arcgis/core/views/webgl/ShaderCompiler.js","webpack:///./node_modules/@arcgis/core/renderers/support/clickToleranceUtils.js","webpack:///./node_modules/@arcgis/core/chunks/vec4f32.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/webgl/TileContainer.js","webpack:///./node_modules/@arcgis/core/views/webgl/ProgramTemplate.js","webpack:///./node_modules/@arcgis/core/views/layers/RefreshableLayerView.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/webgl/shaders/TileInfoPrograms.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/webgl/brushes/WGLBrushInfo.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/webgl/VertexStream.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/ImageryBitmapSource.js","webpack:///./node_modules/@arcgis/core/views/webgl/reservedWordsGLSL3.js","webpack:///./node_modules/@arcgis/core/views/webgl/testUtils.js","webpack:///./node_modules/@arcgis/core/views/webgl/ShaderTranspiler.js","webpack:///./node_modules/@arcgis/core/views/webgl/Program.js","webpack:///./node_modules/@arcgis/core/chunks/earcut.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/webgl/Mesh2D.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/webgl/ClippingInfo.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/webgl/WGLContainer.js","webpack:///./node_modules/@arcgis/core/layers/support/rasterFunctions/pixelUtils.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/webgl/shaders/sources/shaderRepository.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/webgl/shaders/sources/resolver.js","webpack:///./node_modules/@arcgis/core/views/webgl/rasterUtils.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/Bitmap.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/flow/BrushFlow.js","webpack:///./node_modules/@arcgis/core/views/2d/layers/support/imageUtils.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/vectorTiles/decluttering/config.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/webgl/TiledDisplayObject.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/BitmapTile.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/BitmapTileContainer.js","webpack:///./node_modules/@arcgis/core/views/support/drapedUtils.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/webgl/brushes/WGLBrushStencil.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/vectorTiles/style/StyleDefinition.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/webgl/brushes/WGLBrush.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/imagery/RasterBitmap.js"],"names":["i","c","e","s","layer","a","this","r","type","get","allSublayers","toArray","filter","minScale","t","maxScale","popupTemplate","popupEnabled","visible","o","map","async","createQuery","event","p","renderer","geometry","createFetchPopupFeaturesQueryGeometry","outFields","getRequiredFields","queryFeatures","features","then","concat","value","Boolean","prototype","_","I","g","d","h","y","constructor","super","arguments","_tileStrategy","_fetchQueue","resampling","update","pause","state","resume","attach","tileServers","_tileInfoView","tileInfo","fullExtent","f","tileInfoView","concurrency","length","process","fetchTile","m","cachePolicy","acquireTile","releaseTile","requestUpdate","handles","add","doRefresh","detach","destroy","clear","container","removeAllChildren","moveStart","viewChange","moveEnd","supportsSpatialReference","spatialReference","w","view","updateRequested","suspended","reset","tiles","forEach","_enqueueTileFetch","isUpdating","updating","_bitmapView","createTile","bitmap","x","getTileCoords","key","resolution","getTileResolution","width","height","size","addChild","abort","id","removeChild","once","tilemapCache","signal","resamplingLevel","l","_fetchImage","n","getTileParentId","u","fetchAvailabilityUpsample","level","row","col","has","push","source","getLogger","declaredClass","error","V","timeline","record","title","Number","POSITIVE_INFINITY","Math","PI","N","LN2","M","P","log","shaders","vertexShader","fragmentShader","attributes","Map","BYTE","UNSIGNED_SHORT","_desc","lut","vsPath","fsPath","stretch","hillshade","_rendererUniformInfos","dispose","_quad","prepareState","context","setBlendingEnabled","setBlendFunctionSeparate","ONE","ONE_MINUS_SRC_ALPHA","setColorMask","setStencilWriteMask","setStencilTestEnabled","setStencilFunction","EQUAL","stencilRef","draw","painter","requestRender","begin","name","capabilities","textureFloat","textureFloatLinear","updateTexture","_getShaderVariations","materialManager","getProgram","symbolizerParameters","_drawWithProgram","end","isCompiled","transformGrid","b","opacity","S","useProgram","_getUniformInfos","names","textures","U","getTextures","j","u_coordScale","coordScale","u_dvsMat3","transforms","dvs","colormap","colormapOffset","join","set","interpolation","isRendereredSource","spacing","nearest","defines","samplingMode","NEAREST","mips","bilinear","LINEAR","bicubic","trilinear","LINEAR_MIPMAP_LINEAR","pixelRatio","round","rotation","isSourceScaled","blendFunction","renderingOptions","computedOpacity","setSamplingProfile","bind","setUniformMatrix3fv","setUniform1i","setUniform2fv","setUniform1f","location","count","SHORT","_color","_program","setFaceCullingEnabled","setStencilOp","KEEP","REPLACE","ALWAYS","getVAO","bufferLayouts","indexBuffer","setUniform4fv","displayMat3","bindVAO","drawElements","TRIANGLES","UNSIGNED_INT","FLOAT","tex","GREATER","isReady","dvsMat3","isWrapAround","texture","bindTexture","drawArrays","TRIANGLE_STRIP","_computeDesc","includes","getGeometryType","commit","getGeometry","attributeView","bindTextures","forEachCommand","v","load","materialKey","symbologyType","supportsSymbology","drawGeometry","_setSharedUniforms","displayLevel","passOptions","position","distance","tileMat3","viewMat3","displayViewMat3","_setSizeVVUniforms","vvSizeMinMaxValue","vvSizeScaleStops","vvSizeScaleStopsValue","vvSizeFieldStops","getSizeVVFieldStops","setUniform1fv","values","sizes","vvSizeUnitValue","vvSizeUnitValueToPixelsRatio","_setColorAndOpacityVVUniforms","vvColor","vvColorValues","vvColors","vvOpacity","vvOpacityValues","vvOpacities","_setRotationVVUniforms","vvRotation","vvMaterialParameters","vvRotationType","_getTriangleDesc","findIndex","strides","max","divisor","normalized","offset","stride","UNSIGNED_BYTE","SIMPLE","OUTLINE_FILL_SIMPLE","splice","shader","vertexLayout","FILL","DOT_DENSITY","rendererInfo","requiredLevel","E","data","T","hittestAttributes","programSpec","L","POINTS","G","O","getMaterialProgram","setUniform2f","textureBinding","textureManager","D","target","R","indexCount","indexFrom","Uint32Array","BYTES_PER_ELEMENT","_drawFills","_dotTextureSize","_dotTextures","_dotSamplers","Int32Array","_dotVAO","_dotDesc","_disposeTextures","_dotFBO","_drawDotLocations","_drawDotDensity","rendererSchema","_createDotDensityMesh","dotSize","window","devicePixelRatio","getViewport","dotScale","colors","activeDots","backgroundColor","dotValue","setViewport","getBoundFramebufferObject","_createFBO","bindFramebuffer","setClearColor","gl","COLOR_BUFFER_BIT","STENCIL_BUFFER_BIT","scale","setUniformMatrix4fv","_bindDotDensityTextures","colorTexture","TEXTURE_2D","pixelFormat","RGBA","dataType","wrapMode","CLAMP_TO_EDGE","colorTarget","TEXTURE","depthStencilTarget","DEPTH_STENCIL_RENDER_BUFFER","internalFormat","DEPTH_STENCIL","_createDotDensityTextures","seed","setUniform1iv","Int16Array","createVertex","STATIC_DRAW","F","_seed","_allocDotDensityTexture","Float32Array","getFloat","REPEAT","MARKER","HEATMAP","PIE_CHART","A","_drawMarkers","_accumulateOutputTexture","_accumulateFramebuffer","_resolveGradientTexture","_tileQuad","_loadQualityProfile","_prepareAccumulatePass","_drawResolvePass","referenceScale","radius","isFieldActive","_loadResources","_updateResources","setBlendFunction","minDensity","densityRange","WEBGL2","shadingRate","RED","R32F","R16F","gradientHash","gradient","_prevGradientHash","resize","setData","_qualityProfile","colorBufferFloat","textureHalfFloat","textureHalfFloatLinear","HALF_FLOAT","floatBlend","warnOnce","defaultColor","othersColor","outlineColor","holePercentage","sectorThreshold","outlineWidth","_patternMatrix","_programOptions","pattern","_vao","drawMany","styleLayerUID","_loadWGLResources","styleLayer","backgroundMaterial","vectorTilesMaterialManager","getPaintValue","spriteMosaic","drawPhase","HITTEST","k","getMosaicItemPosition","tl","br","page","getPageSize","setUniform4f","z","rangeX","Int8Array","getAttributeLocations","getLayoutInfo","some","layerData","circleIndexCount","circleMaterial","VIEWPORT","setDataUniforms","prepareForRendering","circleVertexArrayObject","circleIndexStart","triangleCount","_fillProgramOptions","_outlineProgramOptions","renderPass","fillIndexCount","outlineIndexCount","getPaintProperty","isDataDriven","getValue","_drawFill","hasDataDrivenOutlineColor","outlineUsesFillColor","_drawOutline","fillMaterial","C","fillVertexArrayObject","patternMap","fillIndexStart","outlineMaterial","outlineVertexArrayObject","outlineIndexStart","sdf","lineIndexCount","lineMaterial","getDashKey","getLayoutValue","lineVertexArrayObject","lineIndexStart","_iconProgramOptions","_sdfProgramOptions","_spritesTextureSize","_drawIcons","_drawText","iconMaterial","iconPerPageElementsMap","AUTO","POINT","MAP","isIconSDF","updateOpacityInfo","iconVertexArrayObject","performance","now","lastOpacityUpdate","_renderIconRange","getWidth","getHeight","glyphMosaic","textMaterial","glyphPerPageElementsMap","W","_glyphTextureSize","B","H","Y","textVertexArrayObject","_renderGlyphRange","LABEL","mapAligned","abs","floor","LINE","TEXT","marker","line","fill","text","label","clip","stencil","overlay","raster","rasterVF","flow","vtlBackground","vtlFill","vtlLine","vtlCircle","vtlSymbol","dotDensity","heatmap","pieChart","beaufort_ft","beaufort_m","beaufort_km","beaufort_mi","beaufort_kn","classified_arrow","ocean_current_m","ocean_current_kn","single_arrow","wind_speed","magdir","scalar","validPixelCount","updateVectorFieldVAO","vaoData","_drawScalars","vao","elementCount","_drawTriangles","dataRange","rotationType","style","symbolPercentRange","_getSymbolSize","symbolTileSize","pixelType","mask","maskIsAlpha","pixels","statistics","getPixelArrayConstructor","Uint8Array","Uint16Array","Float64Array","castPixelType","toLowerCase","getPlaneCount","addData","minValue","maxValue","getAsRGBA","ArrayBuffer","_fillFromNon8Bit","_fillFrom8Bit","Uint8ClampedArray","getAsRGBAFloat","_fillFrom32Bit","updateStatistics","_calculateBandStatistics","clamp","createEmptyBand","extractBands","clone","slice","reduce","min","MAX_VALUE","json","write","readFile","resolveIncludes","_resolve","_read","Error","exec","path","start","index","xoffset","yoffset","stops","maxSize","minSize","pointerType","visualVariables","symbol","uniqueValueInfos","classBreakInfos","Object","freeze","defineProperty","__proto__","create","fromValues","createView","zeros","ones","unitX","unitY","unitZ","unitW","ZEROS","ONES","UNIT_X","UNIT_Y","UNIT_Z","UNIT_W","Symbol","toStringTag","renderChildren","sortChildren","setStencilReference","createRenderParams","getClosestInfoForScale","scaleToZoom","prepareRenderPasses","registerRenderPass","brushes","DEBUG","HIGHLIGHT","getStencilTarget","children","updateTransforms","setTransform","initialize","dataChanged","catch","_outlineProgram","_tileInfoProgram","_outlineVertexArrayObject","_tileInfoVertexArrayObject","_canvas","rangeY","LINE_STRIP","_getTexture","descriptor","triangleCountReportedInDebug","document","createElement","setAttribute","getContext","font","textAlign","textBaseline","clearRect","fillStyle","fillRect","fillText","rctx","_vertexBuffer","_count","unbind","pixelBlock","extent","originalPixelBlock","render","createImageData","putImageData","getRenderedRasterPixels","renderedRasterPixels","buffer","enableCache","exports","replace","column","q","X","test","indexOf","match","toString","parseInt","VERTEX_SHADER","trim","FRAGMENT_SHADER","_context","_locations","_uniformBlockBindings","_refCount","_compiled","_nameToUniformLocation","_nameToUniform1","_nameToUniform1v","_nameToUniform2","_nameToUniform3","_nameToUniform4","_nameToUniformMatrix3","_nameToUniformMatrix4","console","_vShader","_fShader","instanceCounter","increment","Shader","_glName","createProgram","attachShader","bindAttribLocation","linkProgram","getProgramParameter","LINK_STATUS","VALIDATE_STATUS","getError","getShaderParameter","COMPILE_STATUS","getProgramInfoLog","getUniformBlockIndex","uniformBlockBinding","Program","getExtension","glName","COMPLETION_STATUS_KHR","deleteShader","decrement","deleteProgram","ref","_getUniformLocation","numUniforms","getUniformLocation","hasUniform","uniform1i","uniform1iv","setUniform2iv","uniform2iv","setUniform3iv","uniform3iv","setUniform4iv","uniform4iv","uniform1f","uniform1fv","uniform2f","uniform2fv","setUniform3f","uniform3f","setUniform3fv","uniform3fv","uniform4f","uniform4fv","uniformMatrix3fv","uniformMatrix4fv","stop","createShader","shaderSource","compileShader","getShaderInfoLog","enabled","compiledLOC","Array","from","next","prev","Z","steiner","prevZ","nextZ","sort","deviation","flatten","vertices","holes","dimensions","coords","lengths","_cache","indices","primitiveType","isMapSpace","fromScreenExtent","xmin","ymin","xmax","ymax","fromPolygon","fromMapExtent","fromRect","toScreen","vertexBuffers","getIndexBuffer","createIndex","getVertexBuffers","keys","parseFloat","_clip","stage","_handle","version","_invalidate","ready","_destroyGL","mesh","remove","_lastWidth","_lastHeight","_createMesh","_createTransforms","_createScreenRect","left","right","top","bottom","fromPath","fromGeometry","_clips","clips","_updateClippingInfo","doRender","globalOpacity","profiler","recordContainerStart","beforeRenderLayer","_clippingInfos","compositeLayer","recordContainerEnd","_renderPasses","beforeRender","afterRender","requireFBO","requiresDedicatedFBO","LABEL_ALPHA","onAttach","onDetach","items","fromClipArea","indexed2DColormap","alphaSpecified","fillUnspecified","indexedColormap","mappedColor","find","apply","clipOffset","clipSize","block","mosaic","hasGCSSShiftTransform","halfWorldWidth","resolutionX","startX","rightPadding","leftMargin","alignmentInfo","blockWidths","done","delete","ceil","cols","rows","offsets_x","offsets_y","offsets_xi","offsets_yi","gridWidth","coefficients","isNaN","atan2","background","bitBlit","blend","dot","filtering","fx","integrate","heatmapResolve","highlight","magnifier","materials","hittest","icon","heatmapAccumulate","pie","shared","blit","bloom","composite","gaussianBlur","luminosityHighPass","blur","dra","sobel","filterEffect","pp","common","imagery","particles","streamlines","reproject","util","split","RGBA32F","flipped","offsets","u_flipY","u_applyTransform","u_opacity","u_transformSpacing","u_transformGridSize","u_targetImageSize","u_srcImageSize","u_colormapOffset","u_colormapMaxIndex","u_scale","u_offset","u_bandCount","bandCount","u_minOutput","outMin","u_maxOutput","outMax","u_minCutOff","minCutOff","u_maxCutOff","maxCutOff","u_factor","factor","u_useGamma","useGamma","u_gamma","gamma","u_gammaCorrection","gammaCorrection","u_hillshadeType","hillshadeType","u_sinZcosAs","sinZcosAs","u_sinZsinAs","sinZsinAs","u_cosZs","cosZs","u_weights","weights","u_minValue","u_maxValue","ACTIVE_UNIFORMS","getActiveUniform","info","FLOAT_VEC2","FLOAT_VEC3","FLOAT_VEC4","FLOAT_MAT3","FLOAT_MAT4","INT","BOOL","INT_VEC2","BOOL_VEC2","INT_VEC3","BOOL_VEC3","INT_VEC4","BOOL_VEC4","requestRenderOnSourceChangedEnabled","_textureInvalidated","_height","_source","_width","_texture","sourceWidth","sourceHeight","invalidateTexture","HTMLImageElement","naturalHeight","naturalWidth","toScreenNoRotation","hasMipmap","generateMipmap","setSamplingMode","_visualState","time","displayData","resources","flowStyle","animated","getLODInfoAt","getXForColumn","getYForRow","drawImage","getTileBounds","overlayPixelSizeInMapUnits","basemapSpatialReference","equals","toMap","intersects","_initialized","_solidProgram","_solidVertexArrayObject","setDepthWriteEnabled","setDepthTestEnabled","setStencilFunctionSeparate","FRONT_AND_BACK","_initialize","BACKGROUND","SYMBOL","CIRCLE","VISIBLE","NONE","LINE_CENTER","LEFT","CENTER","RIGHT","TOP","BOTTOM","TOP_LEFT","TOP_RIGHT","BOTTOM_LEFT","BOTTOM_RIGHT","UPPERCASE","LOWERCASE","HORIZONTAL","VERTICAL","backgroundLayoutDefinition","visibility","default","fillLayoutDefinition","lineLayoutDefinition","BUTT","MITER","symbolLayoutDefinition","minimum","circleLayoutDefinition","backgroundPaintDefinition","maximum","fillPaintDefinition","linePaintDefinition","symbolPaintDefinition","rasterPaintDefinition","circlePaintDefinition","stretchType","_colormapTextureInvalidated","_supportsBilinearTexture","_symbolizerParameters","rawPixelData","_suspended","_bandIds","_interpolation","_transformGrid","_rasterTexture","_transformGridTexture","_colormapTexture","_rasterTextureBandIds","_isBandIdschanged","_getTextureSamplingMethod","_isValidSource","_updateColormapTexture","_createOrDestroyRasterTexture","bandIds","_colormap"],"mappings":"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","file":"js/chunk-20fa1f2c.93f02fd8.js","sourcesContent":["/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{_ as e}from\"../../chunks/tslib.es6.js\";import r from\"../../core/Error.js\";import{isSome as t}from\"../../core/maybe.js\";import{eachAlways as o}from\"../../core/promiseUtils.js\";import{property as s}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/arrayUtils.js\";import\"../../core/has.js\";import\"../../core/accessorSupport/ensureType.js\";import{subclass as a}from\"../../core/accessorSupport/decorators/subclass.js\";import{calculateTolerance as p}from\"../../renderers/support/clickToleranceUtils.js\";const i=i=>{let c=class extends i{async fetchPopupFeatures(e,s){const{layer:a}=this;if(!e)throw new r(\"tilelayerview:fetchPopupFeatures\",\"Nothing to fetch without area\",{layer:a});if(\"tile\"!==a.type)throw new r(\"tilelayerview:fetchPopupFeatures\",\"Layer type should be 'tile'\",{type:a.type});const i=this.get(\"view.scale\"),c=a.allSublayers.toArray().filter((e=>{const r=0===e.minScale||i<=e.minScale,t=0===e.maxScale||i>=e.maxScale;return e.popupTemplate&&e.popupEnabled&&e.visible&&r&&t}));return o(c.map((async r=>{const o=r.createQuery(),a=t(s)?s.event:null,i=p({renderer:r.renderer,event:a});o.geometry=this.createFetchPopupFeaturesQueryGeometry(e,i),o.outFields=await r.popupTemplate.getRequiredFields();return(await r.queryFeatures(o)).features}))).then((e=>[].concat(...e.map((e=>e.value)).filter(Boolean))))}};return e([s()],c.prototype,\"layer\",void 0),c=e([a(\"esri.layers.mixins.TileLayerView\")],c),c};export{i as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{_ as e}from\"../../../chunks/tslib.es6.js\";import t from\"../../../core/Logger.js\";import{isAbortError as i}from\"../../../core/promiseUtils.js\";import{watch as s}from\"../../../core/reactiveUtils.js\";import{property as r}from\"../../../core/accessorSupport/decorators/property.js\";import\"../../../core/arrayUtils.js\";import\"../../../core/has.js\";import\"../../../core/accessorSupport/ensureType.js\";import{subclass as l}from\"../../../core/accessorSupport/decorators/subclass.js\";import{equals as a}from\"../../../geometry/support/spatialReferenceUtils.js\";import{BitmapTileLayerView2D as o}from\"./BitmapTileLayerView2D.js\";import{LayerView2DMixin as h}from\"./LayerView2D.js\";import{createBlankImage as n,resampleImage as c}from\"./support/imageUtils.js\";import p from\"../tiling/TileInfoView.js\";import u from\"../tiling/TileKey.js\";import f from\"../tiling/TileQueue.js\";import m from\"../tiling/TileStrategy.js\";import y from\"../../layers/LayerView.js\";import d from\"../../layers/RefreshableLayerView.js\";import g from\"../../layers/TileLayerView.js\";import{createQueryGeometry as w}from\"../../support/drapedUtils.js\";const _=[0,0];let I=class extends(g(d(o(h(y))))){constructor(){super(...arguments),this._tileStrategy=null,this._fetchQueue=null,this.layer=null}get resampling(){return!(\"resampling\"in this.layer)||!1!==this.layer.resampling}update(e){this._fetchQueue.pause(),this._fetchQueue.state=e.state,this._tileStrategy.update(e),this._fetchQueue.resume()}attach(){const e=\"tileServers\"in this.layer?this.layer.tileServers:null;this._tileInfoView=new p(this.layer.tileInfo,this.layer.fullExtent),this._fetchQueue=new f({tileInfoView:this._tileInfoView,concurrency:e&&10*e.length||10,process:(e,t)=>this.fetchTile(e,t)}),this._tileStrategy=new m({cachePolicy:\"keep\",resampling:this.resampling,acquireTile:e=>this.acquireTile(e),releaseTile:e=>this.releaseTile(e),tileInfoView:this._tileInfoView}),this.requestUpdate(),this.handles.add(s((()=>this.resampling),(()=>{this.doRefresh()}))),super.attach()}detach(){super.detach(),this._tileStrategy.destroy(),this._fetchQueue.clear(),this.container.removeAllChildren(),this._fetchQueue=this._tileStrategy=this._tileInfoView=null}moveStart(){this.requestUpdate()}viewChange(){this.requestUpdate()}moveEnd(){this.requestUpdate()}supportsSpatialReference(e){return a(this.layer.tileInfo?.spatialReference,e)}createFetchPopupFeaturesQueryGeometry(e,t){return w(e,t,this.view)}async doRefresh(){this.updateRequested||this.suspended||(this._fetchQueue.reset(),this._tileStrategy.tiles.forEach((e=>this._enqueueTileFetch(e))))}isUpdating(){return this._fetchQueue?.updating??!1}acquireTile(e){const t=this._bitmapView.createTile(e),i=t.bitmap;return[i.x,i.y]=this._tileInfoView.getTileCoords(_,t.key),i.resolution=this._tileInfoView.getTileResolution(t.key),[i.width,i.height]=this._tileInfoView.tileInfo.size,this._enqueueTileFetch(t),this._bitmapView.addChild(t),this.requestUpdate(),t}releaseTile(e){this._fetchQueue.abort(e.key.id),this._bitmapView.removeChild(e),e.once(\"detach\",(()=>e.destroy())),this.requestUpdate()}async fetchTile(e,t={}){const s=\"tilemapCache\"in this.layer?this.layer.tilemapCache:null,{signal:r,resamplingLevel:l=0}=t;if(!s)try{return await this._fetchImage(e,r)}catch(h){if(!i(h)&&!this.resampling)return n(this._tileInfoView.tileInfo.size);if(l<3){const i=this._tileInfoView.getTileParentId(e.id);if(i){const s=new u(i),r=await this.fetchTile(s,{...t,resamplingLevel:l+1});return c(this._tileInfoView,r,s,e)}}throw h}const a=new u(0,0,0,0);let o;try{if(await s.fetchAvailabilityUpsample(e.level,e.row,e.col,a,{signal:r}),a.level!==e.level&&!this.resampling)return n(this._tileInfoView.tileInfo.size);o=await this._fetchImage(a,r)}catch(h){if(i(h))throw h;o=await this._fetchImage(e,r)}return this.resampling?c(this._tileInfoView,o,a,e):o}async _enqueueTileFetch(e){if(!this._fetchQueue.has(e.key.id)){try{const t=await this._fetchQueue.push(e.key);e.bitmap.source=t,e.bitmap.width=this._tileInfoView.tileInfo.size[0],e.bitmap.height=this._tileInfoView.tileInfo.size[1],e.once(\"attach\",(()=>this.requestUpdate()))}catch(s){i(s)||t.getLogger(this.declaredClass).error(s)}this.requestUpdate()}}async _fetchImage(e,t){return this.layer.fetchTile(e.level,e.row,e.col,{signal:t})}};e([r()],I.prototype,\"_fetchQueue\",void 0),e([r()],I.prototype,\"resampling\",null),I=e([l(\"esri.views.2d.layers.TileLayerView2D\")],I);const V=I;export{V as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{_ as e}from\"../../../chunks/tslib.es6.js\";import\"../../../core/Logger.js\";import\"../../../core/accessorSupport/ensureType.js\";import\"../../../core/arrayUtils.js\";import\"../../../core/has.js\";import\"../../../core/accessorSupport/set.js\";import{subclass as i}from\"../../../core/accessorSupport/decorators/subclass.js\";import{BitmapTileContainer as t}from\"../engine/BitmapTileContainer.js\";const r=r=>{let s=class extends r{attach(){this.view.timeline.record(`${this.layer.title} (BitmapTileLayer) Attach`),this._bitmapView=new t(this._tileInfoView),this.container.addChild(this._bitmapView)}detach(){this.container.removeChild(this._bitmapView),this._bitmapView?.removeAllChildren()}};return s=e([i(\"esri.views.2d.layers.BitmapTileLayerView2D\")],s),s};export{r as BitmapTileLayerView2D};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nconst n=Number.POSITIVE_INFINITY,t=Math.PI,r=2*t,u=t/2,o=128/t,e=t/128,c=256/360,f=t/180,i=1.414213562,I=1/i,N=1/Math.LN2;function a(n,t){return(n%=t)>=0?n:n+t}function h(n){return a(n*o,256)}function M(n){return a(n*c,256)}function P(n){return Math.log(n)*N}function T(n){return n*n}function b(n,t,r){return n*(1-r)+t*r}function g(n,t,r){return n>=t&&n<=r||n>=r&&n<=t}export{e as C_256_TO_RAD,r as C_2PI,c as C_DEG_TO_256,f as C_DEG_TO_RAD,n as C_INFINITY,t as C_PI,u as C_PI_BY_2,o as C_RAD_TO_256,i as C_SQRT2,I as C_SQRT2_INV,g as between,M as degToByte,b as interpolate,P as log2,a as positiveMod,h as radToByte,T as sqr};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{resolveIncludes as r}from\"./sources/resolver.js\";const e={shaders:{vertexShader:r(\"background/background.vert\"),fragmentShader:r(\"background/background.frag\")},attributes:new Map([[\"a_pos\",0]])};export{e as background};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{DataType as e}from\"../../../webgl/enums.js\";import{VertexElementDescriptor as o}from\"../../../webgl/VertexElementDescriptor.js\";const r={geometry:[new o(\"a_pos\",2,e.BYTE,0,2)]},t={geometry:[new o(\"a_pos\",2,e.BYTE,0,4),new o(\"a_tex\",2,e.BYTE,2,4)]},m={geometry:[new o(\"a_pos\",2,e.UNSIGNED_SHORT,0,4)]};export{r as Pos2b,m as Pos2us,t as PosTex2b};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{isSome as e}from\"../../../../core/maybe.js\";import{hasSource as t}from\"./RasterBitmap.js\";import r from\"../webgl/VertexStream.js\";import s from\"../webgl/brushes/WGLBrush.js\";import{BlendFactor as a,CompareFunction as i}from\"../../../webgl/enums.js\";import{setTextures as o,getCommonUniforms as n,setUniforms as h,getColormapUniforms as l,getStretchUniforms as c,getShadedReliefUniforms as p,getUniformLocationInfos as d,getBasicGridUniforms as u}from\"../../../webgl/rasterUtils.js\";class m extends s{constructor(){super(...arguments),this._desc={lut:{vsPath:\"raster/lut\",fsPath:\"raster/lut\",attributes:new Map([[\"a_position\",0],[\"a_texcoord\",1]])},stretch:{vsPath:\"raster/stretch\",fsPath:\"raster/stretch\",attributes:new Map([[\"a_position\",0],[\"a_texcoord\",1]])},hillshade:{vsPath:\"raster/hillshade\",fsPath:\"raster/hillshade\",attributes:new Map([[\"a_position\",0],[\"a_texcoord\",1]])}},this._rendererUniformInfos=new Map}dispose(){this._quad&&this._quad.dispose()}prepareState({context:e},t){e.setBlendingEnabled(!0),e.setBlendFunctionSeparate(a.ONE,a.ONE_MINUS_SRC_ALPHA,a.ONE,a.ONE_MINUS_SRC_ALPHA),e.setColorMask(!0,!0,!0,!0),e.setStencilWriteMask(0),e.setStencilTestEnabled(!0),e.setStencilFunction(i.EQUAL,t.stencilRef,255)}draw(e,r){if(!t(r)||r.suspended)return;const{timeline:s,context:a,painter:i,requestRender:o}=e;s.begin(this.name);const n=!a.capabilities.textureFloat?.textureFloatLinear;r.updateTexture(e);const h=this._getShaderVariations(r,n),l=i.materialManager.getProgram(this._desc[r.symbolizerParameters.type],h);this._drawWithProgram(a,l,r,o),s.end(this.name)}_drawWithProgram(t,s,a,i,d=1,m=[0,0],f=!1){if(this._quad||(this._quad=new r(t,[0,0,1,0,0,1,1,1])),e(i)&&!s.isCompiled)return void i();const{symbolizerParameters:_,transformGrid:g,width:b,height:P,opacity:S}=a,w=_.type;t.useProgram(s);const x=this._getShaderVariations(a),y=this._getUniformInfos(w,t,s,x),{names:M,textures:U}=a.getTextures();o(t,s,M,U);const j=u(d,m),I=n(g,[b,P],[a.source.width,a.source.height],S,f);if(h(s,y,{u_coordScale:a.coordScale,u_dvsMat3:a.transforms.dvs,...j,...I}),_.colormap){const{colormap:e,colormapOffset:t}=_,r=l(e,t);h(s,y,r)}if(\"stretch\"===_.type){const e=c(_);h(s,y,e)}else if(\"hillshade\"===_.type){const e=p(_);h(s,y,e)}this._quad.draw()}_getUniformInfos(e,t,r,s){const a=s.length>0?e+\"-\"+s.join(\"-\"):e;if(this._rendererUniformInfos.has(a))return this._rendererUniformInfos.get(a);const i=d(t,r);return this._rendererUniformInfos.set(a,i),i}_getShaderVariations(e,t=!1){const r=[],{interpolation:s}=e,{type:a,colormap:i}=e.symbolizerParameters;return\"cubic\"===s?r.push(\"bicubic\"):\"bilinear\"===s&&\"stretch\"===a&&null!=i?(r.push(\"bilinear\"),r.push(\"nnedge\")):t&&\"bilinear\"===s&&r.push(\"bilinear\"),e.isRendereredSource?r.push(\"noop\"):i&&r.push(\"applyColormap\"),e.transformGrid&&(r.push(\"applyProjection\"),1===e.transformGrid.spacing[0]&&r.push(\"lookupProjection\")),r}}export{m as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{isSome as e}from\"../../../../../core/maybe.js\";import{TEXTURE_BINDING_BITMAP as t}from\"../definitions.js\";import i from\"../VertexStream.js\";import s from\"./WGLBrush.js\";import{TextureSamplingMode as n,BlendFactor as r,CompareFunction as a}from\"../../../../webgl/enums.js\";const o={nearest:{defines:[],samplingMode:n.NEAREST,mips:!1},bilinear:{defines:[],samplingMode:n.LINEAR,mips:!1},bicubic:{defines:[\"bicubic\"],samplingMode:n.LINEAR,mips:!1},trilinear:{defines:[],samplingMode:n.LINEAR_MIPMAP_LINEAR,mips:!0}},d=(e,t,i)=>{if(\"dynamic\"===i.samplingMode){const{state:i}=e,s=t.resolution/t.pixelRatio/i.resolution,n=Math.round(e.pixelRatio)!==e.pixelRatio,r=s>1.05||s<.95;return i.rotation||r||n||t.isSourceScaled||t.rotation?o.bilinear:o.nearest}return o[i.samplingMode]};class m extends s{constructor(){super(...arguments),this._desc={vsPath:\"raster/bitmap\",fsPath:\"raster/bitmap\",attributes:new Map([[\"a_pos\",0]])}}dispose(){this._quad&&this._quad.dispose()}prepareState({context:e},t){e.setBlendingEnabled(!0),\"additive\"===t.blendFunction?e.setBlendFunctionSeparate(r.ONE,r.ONE,r.ONE,r.ONE):e.setBlendFunctionSeparate(r.ONE,r.ONE_MINUS_SRC_ALPHA,r.ONE,r.ONE_MINUS_SRC_ALPHA),e.setColorMask(!0,!0,!0,!0),e.setStencilWriteMask(0),e.setStencilTestEnabled(!0),e.setStencilFunction(a.EQUAL,t.stencilRef,255)}draw(s,n){const{context:r,renderingOptions:a,painter:o,requestRender:m}=s;if(!n.source)return;const c=d(s,n,a),l=o.materialManager.getProgram(this._desc,c.defines);if(e(m)&&!l.isCompiled)return void m();s.timeline.begin(this.name),this._quad||(this._quad=new i(r,[0,0,1,0,0,1,1,1]));const{coordScale:p,computedOpacity:u,transforms:f}=n;n.setSamplingProfile(c),n.bind(s.context,t),r.useProgram(l),l.setUniformMatrix3fv(\"u_dvsMat3\",f.dvs),l.setUniform1i(\"u_texture\",t),l.setUniform2fv(\"u_coordScale\",p),l.setUniform1f(\"u_opacity\",u),this._quad.draw(),s.timeline.end(this.name)}}export{m as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{isNone as r,isSome as t}from\"../../../../../core/maybe.js\";import{f as e}from\"../../../../../chunks/vec4f32.js\";import{createProgramDescriptor as s}from\"../Utils.js\";import o from\"./WGLBrush.js\";import{background as i}from\"../shaders/BackgroundPrograms.js\";import{StencilOperation as a,CompareFunction as m,DataType as n,PrimitiveType as p}from\"../../../../webgl/enums.js\";import{createProgram as l}from\"../../../../webgl/ProgramTemplate.js\";const c=()=>s(\"clip\",{geometry:[{location:0,name:\"a_pos\",count:2,type:n.SHORT}]});class f extends o{constructor(){super(...arguments),this._color=e(0,1,0,1)}dispose(){this._program&&this._program.dispose()}prepareState({context:r}){r.setStencilTestEnabled(!0),r.setBlendingEnabled(!1),r.setFaceCullingEnabled(!1),r.setColorMask(!1,!1,!1,!1),r.setStencilOp(a.KEEP,a.KEEP,a.REPLACE),r.setStencilWriteMask(255),r.setStencilFunction(m.ALWAYS,0,255)}draw(e,s){const{context:o,state:a,requestRender:m}=e,f=c(),d=s.getVAO(o,a,f.attributes,f.bufferLayouts);r(d.indexBuffer)||(this._program||(this._program=l(o,i)),!t(m)||this._program.isCompiled?(o.useProgram(this._program),this._program.setUniform2fv(\"u_coord_range\",[1,1]),this._program.setUniform4fv(\"u_color\",this._color),this._program.setUniformMatrix3fv(\"u_dvsMat3\",a.displayMat3),o.bindVAO(d),o.drawElements(p.TRIANGLES,d.indexBuffer.size,n.UNSIGNED_INT,0),o.bindVAO()):m())}}export{f as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{isSome as e}from\"../../../../../core/maybe.js\";import{TEXTURE_BINDING_BITMAP as t}from\"../definitions.js\";import{createProgramDescriptor as r}from\"../Utils.js\";import s from\"./WGLBrush.js\";import{BlendFactor as o,CompareFunction as n,DataType as a,PrimitiveType as i}from\"../../../../webgl/enums.js\";const u=()=>r(\"overlay\",{geometry:[{location:0,name:\"a_pos\",count:2,type:a.FLOAT}],tex:[{location:1,name:\"a_uv\",count:2,type:a.UNSIGNED_SHORT}]});class m extends s{constructor(){super(...arguments),this._desc={vsPath:\"overlay/overlay\",fsPath:\"overlay/overlay\",attributes:new Map([[\"a_pos\",0],[\"a_uv\",1]])}}dispose(){}prepareState({context:e}){e.setBlendingEnabled(!0),e.setColorMask(!0,!0,!0,!0),e.setBlendFunctionSeparate(o.ONE,o.ONE_MINUS_SRC_ALPHA,o.ONE,o.ONE_MINUS_SRC_ALPHA),e.setStencilWriteMask(0),e.setStencilTestEnabled(!0),e.setStencilFunction(n.GREATER,255,255)}draw(r,s){const{context:o,painter:n,requestRender:a}=r;if(!s.isReady)return;const{computedOpacity:m,dvsMat3:c,isWrapAround:d,texture:l}=s;r.timeline.begin(this.name);const p=n.materialManager.getProgram(this._desc);if(e(a)&&!p.isCompiled)return void a();const f=u(),_=s.getVAO(o,f.bufferLayouts,f.attributes);if(!_)return;o.bindVAO(_),o.useProgram(p),o.bindTexture(l,t),p.setUniformMatrix3fv(\"u_dvsMat3\",c),p.setUniform1i(\"u_texture\",t),p.setUniform1f(\"u_opacity\",m);const y=d?10:4;o.drawArrays(i.TRIANGLE_STRIP,0,y),o.bindVAO(),r.timeline.end(this.name)}}export{m as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{isNone as t,isSome as e}from\"../../../../../core/maybe.js\";import{MIN_MAX_ZOOM_PRECISION_FACTOR as i,TEXTURE_BINDING_ATTRIBUTE_DATA_0 as s,TEXTURE_BINDING_ATTRIBUTE_DATA_1 as o,TEXTURE_BINDING_ATTRIBUTE_DATA_2 as a,TEXTURE_BINDING_ATTRIBUTE_DATA_3 as r,TEXTURE_BINDING_ATTRIBUTE_DATA_4 as n,TEXTURE_BINDING_ATTRIBUTE_DATA_5 as m}from\"../definitions.js\";import u from\"./WGLBrush.js\";import{MaterialKeyBase as v}from\"../materialKey/MaterialKey.js\";import{BlendFactor as f,CompareFunction as l}from\"../../../../webgl/enums.js\";class p extends u{constructor(){super(...arguments),this._computeDesc=new Map}prepareState({context:t},e,i){i&&i.includes(\"hittest\")?t.setBlendFunctionSeparate(f.ONE,f.ONE,f.ONE,f.ONE):t.setBlendFunctionSeparate(f.ONE,f.ONE_MINUS_SRC_ALPHA,f.ONE,f.ONE_MINUS_SRC_ALPHA),t.setBlendingEnabled(!0),t.setColorMask(!0,!0,!0,!0),t.setStencilWriteMask(0),t.setStencilTestEnabled(!0),t.setStencilFunction(l.EQUAL,e.stencilRef,255)}draw(e,i,s){const o=this.getGeometryType();i.commit(e);const a=i.getGeometry(o);t(a)||(e.timeline.begin(this.name),e.attributeView.bindTextures(e.context),a.forEachCommand((t=>{const o=v.load(t.materialKey).symbologyType;this.supportsSymbology(o)&&this.drawGeometry(e,i,t,s)})))}_setSharedUniforms(t,u,v){const{displayLevel:f,pixelRatio:l,state:p,passOptions:c}=u;e(c)&&\"hittest\"===c.type&&(t.setUniform2fv(\"u_hittestPos\",c.position),t.setUniform1f(\"u_hittestDist\",c.distance)),t.setUniform1f(\"u_pixelRatio\",l),t.setUniformMatrix3fv(\"u_tileMat3\",v.transforms.tileMat3),t.setUniformMatrix3fv(\"u_viewMat3\",p.viewMat3),t.setUniformMatrix3fv(\"u_dvsMat3\",v.transforms.dvs),t.setUniformMatrix3fv(\"u_displayViewMat3\",p.displayViewMat3),t.setUniform1f(\"u_currentZoom\",Math.round(f*i)),t.setUniform1i(\"u_attributeTextureSize\",u.attributeView.size),t.setUniform1i(\"u_attributeData0\",s),t.setUniform1i(\"u_attributeData1\",o),t.setUniform1i(\"u_attributeData2\",a),t.setUniform1i(\"u_attributeData3\",r),t.setUniform1i(\"u_attributeData4\",n),t.setUniform1i(\"u_attributeData5\",m)}_setSizeVVUniforms(t,e,i,s){if(t.vvSizeMinMaxValue&&e.setUniform4fv(\"u_vvSizeMinMaxValue\",i.vvSizeMinMaxValue),t.vvSizeScaleStops&&e.setUniform1f(\"u_vvSizeScaleStopsValue\",i.vvSizeScaleStopsValue),t.vvSizeFieldStops){const t=i.getSizeVVFieldStops(s.key.level);e.setUniform1fv(\"u_vvSizeFieldStopsValues\",t.values),e.setUniform1fv(\"u_vvSizeFieldStopsSizes\",t.sizes)}t.vvSizeUnitValue&&e.setUniform1f(\"u_vvSizeUnitValueWorldToPixelsRatio\",i.vvSizeUnitValueToPixelsRatio)}_setColorAndOpacityVVUniforms(t,e,i){t.vvColor&&(e.setUniform1fv(\"u_vvColorValues\",i.vvColorValues),e.setUniform4fv(\"u_vvColors\",i.vvColors)),t.vvOpacity&&(e.setUniform1fv(\"u_vvOpacityValues\",i.vvOpacityValues),e.setUniform1fv(\"u_vvOpacities\",i.vvOpacities))}_setRotationVVUniforms(t,e,i){t.vvRotation&&e.setUniform1f(\"u_vvRotationType\",\"geographic\"===i.vvMaterialParameters.vvRotationType?0:1)}_getTriangleDesc(t,e,i=[\"a_pos\"]){const s=e.bufferLayouts.geometry,o=i.map((t=>s.findIndex((e=>e.name===t)))),a=`${t}-${o.join(\"-\")}`;let r=this._computeDesc.get(a);if(!r){const t=e.strides,i=e.strides.geometry,n=new Map(e.attributes),m=s.map((t=>({...t}))),u=Math.max(...e.attributes.values()),v={geometry:m};let f=0;for(const e of o){const t=s[e];v.geometry.push({count:t.count,name:t.name+\"1\",divisor:t.divisor,normalized:t.normalized,offset:i+t.offset,stride:i,type:t.type}),v.geometry.push({count:t.count,name:t.name+\"2\",divisor:t.divisor,normalized:t.normalized,offset:2*i+t.offset,stride:i,type:t.type}),n.set(t.name+\"1\",u+ ++f),n.set(t.name+\"2\",u+ ++f)}r={bufferLayouts:v,attributes:n,strides:t},this._computeDesc.set(a,r)}return r}}export{p as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{isSome as e,unwrapOr as t}from\"../../../../../core/maybe.js\";import{WGLGeometryType as o,WGLSymbologyType as r}from\"../enums.js\";import{createProgramDescriptor as a}from\"../Utils.js\";import i from\"./WGLGeometryBrush.js\";import{FillMaterialKey as n}from\"../materialKey/MaterialKey.js\";import{getTechniqueFromMaterialKey as s}from\"../techniques/utils.js\";import{PrimitiveType as m,DataType as l}from\"../../../../webgl/enums.js\";function u(e){const t={geometry:[{location:0,name:\"a_pos\",count:2,type:l.SHORT},{location:1,name:\"a_id\",count:3,type:l.UNSIGNED_BYTE},{location:2,name:\"a_bitset\",count:1,type:l.UNSIGNED_BYTE},{location:3,name:\"a_color\",count:4,type:l.UNSIGNED_BYTE,normalized:!0},{location:4,name:\"a_aux1\",count:4,type:l.UNSIGNED_SHORT},{location:5,name:\"a_aux2\",count:4,type:l.SHORT},{location:6,name:\"a_aux3\",count:4,type:l.UNSIGNED_BYTE},{location:7,name:\"a_zoomRange\",count:2,type:l.UNSIGNED_SHORT}]};switch(e.symbologyType){case r.SIMPLE:case r.OUTLINE_FILL_SIMPLE:t.geometry.splice(7,1),t.geometry.splice(4,1)}return{shader:\"materials/fill\",vertexLayout:t}}class c extends i{dispose(){}getGeometryType(){return o.FILL}supportsSymbology(e){return e!==r.DOT_DENSITY}drawGeometry(o,r,i,l){const{context:c,painter:y,rendererInfo:p,requiredLevel:_,passOptions:f,requestRender:d}=o,E=n.load(i.materialKey),S=s(E.data),g=e(f)&&\"hittest\"===f.type,N=y.materialManager,{shader:T,vertexLayout:I,hittestAttributes:U}=t(S.programSpec,u(E));let x=m.TRIANGLES,L=a(E.data,I);g&&(L=this._getTriangleDesc(i.materialKey,L,U),x=m.POINTS);const{attributes:h,bufferLayouts:G}=L,O=N.getMaterialProgram(o,E,T,h,l);if(e(d)&&!g&&!O.isCompiled)return void d();if(c.useProgram(O),this._setSharedUniforms(O,o,r),O.setUniform2f(\"u_tileOffset\",512*r.key.col,512*r.key.row),E.textureBinding){y.textureManager.bindTextures(c,O,E);const e=1/2**(_-r.key.level);O.setUniform1f(\"u_zoomFactor\",e)}const b=1/o.pixelRatio;O.setUniform1f(\"u_blur\",b),O.setUniform1f(\"u_antialiasing\",b),this._setSizeVVUniforms(E,O,p,r),this._setColorAndOpacityVVUniforms(E,O,p);const D=i.target.getVAO(c,G,h,g);let R=i.indexCount,j=i.indexFrom*Uint32Array.BYTES_PER_ELEMENT;g&&(R/=3,j/=3),c.bindVAO(D),this._drawFills(o,r,O,x,R,j)}_drawFills(e,t,o,r,a,i){e.context.drawElements(r,a,l.UNSIGNED_INT,i)}}export{c as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{disposeMaybe as e,isSome as t,isNone as o}from\"../../../../../core/maybe.js\";import r from\"../../../../../core/RandomLCG.js\";import{TEXTURE_BINDING_RENDERER_0 as s,TEXTURE_BINDING_RENDERER_1 as i,TILE_SIZE as n}from\"../definitions.js\";import{WGLGeometryType as d,WGLSymbologyType as a}from\"../enums.js\";import l from\"./WGLGeometryBrushFill.js\";import{assertRendererSchema as _}from\"../techniques/utils.js\";import{BufferObject as u}from\"../../../../webgl/BufferObject.js\";import{DataType as m,PrimitiveType as h,TextureType as c,PixelFormat as f,PixelType as T,TextureSamplingMode as p,TextureWrapMode as x,TargetType as w,DepthStencilTargetType as D,RenderbufferFormat as g,Usage as y}from\"../../../../webgl/enums.js\";import{FramebufferObject as S}from\"../../../../webgl/FramebufferObject.js\";import{Renderbuffer as E}from\"../../../../webgl/Renderbuffer.js\";import{Texture as b}from\"../../../../webgl/Texture.js\";import{VertexArrayObject as F}from\"../../../../webgl/VertexArrayObject.js\";class O extends l{constructor(){super(...arguments),this._dotTextureSize=0,this._dotTextures=null,this._dotSamplers=new Int32Array([s,i]),this._dotVAO=null,this._dotDesc={vsPath:\"dot/dot\",fsPath:\"dot/dot\",attributes:new Map([[\"a_pos\",0]])}}dispose(){super.dispose(),this._disposeTextures(),this._dotFBO=e(this._dotFBO),this._dotVAO=e(this._dotVAO)}getGeometryType(){return d.FILL}supportsSymbology(e){return e===a.DOT_DENSITY}_drawFills(e,o,r,s,i,n){const{passOptions:d}=e;if(t(d)&&\"hittest\"===d.type)super._drawFills(e,o,r,s,i,n);else{const t=this._drawDotLocations(e,o,r,i,n);this._drawDotDensity(e,o,t)}}_drawDotDensity(e,o,r){const{context:s,painter:i,rendererInfo:n,requestRender:d}=e,a=i.materialManager.getProgram(this._dotDesc);if(t(d)&&!a.isCompiled)return void d();const{rendererSchema:l}=n;_(l,\"dot-density\");const u=this._createDotDensityMesh(s,this._dotDesc.attributes,{geometry:[{name:\"a_pos\",count:2,type:m.SHORT,divisor:0,normalized:!1,offset:0,stride:4}]});s.setStencilTestEnabled(!0),s.useProgram(a),a.setUniform1f(\"u_tileZoomFactor\",1),a.setUniform1i(\"u_texture\",this._dotSamplers[0]),a.setUniform1f(\"u_dotSize\",Math.max(l.dotSize,1)),a.setUniform1f(\"u_pixelRatio\",window.devicePixelRatio),this._setSharedUniforms(a,e,o),s.bindTexture(r,this._dotSamplers[0]),s.bindVAO(u),s.drawArrays(h.POINTS,0,262144)}_drawDotLocations(e,t,o,r,s){const{context:i,rendererInfo:d,requiredLevel:a}=e,l=i.getViewport(),{rendererSchema:u}=d;_(u,\"dot-density\");const{dotScale:c,colors:f,activeDots:T,backgroundColor:p,dotValue:x}=u;i.setViewport(0,0,512,512);const w=i.getBoundFramebufferObject(),D=this._createFBO(i);i.bindFramebuffer(D),i.setClearColor(0,0,0,0),i.clear(i.gl.COLOR_BUFFER_BIT|i.gl.STENCIL_BUFFER_BIT),i.setStencilTestEnabled(!1);const g=1/2**(a-t.key.level),y=n,S=y*window.devicePixelRatio*y*window.devicePixelRatio,E=1/g*(1/g),b=c?e.state.scale/c:1;return o.setUniform1f(\"u_tileZoomFactor\",g),o.setUniform1f(\"u_tileDotsOverArea\",S/(n*window.devicePixelRatio*n*window.devicePixelRatio)),o.setUniformMatrix4fv(\"u_dotColors\",f),o.setUniform4fv(\"u_isActive\",T),o.setUniform4fv(\"u_dotBackgroundColor\",p),o.setUniform1f(\"u_dotValue\",Math.max(1,x*b*E)),this._bindDotDensityTextures(i,o,d,y),i.drawElements(h.TRIANGLES,r,m.UNSIGNED_INT,s),i.setViewport(l.x,l.y,l.width,l.height),i.bindFramebuffer(w),D.colorTexture}_createFBO(e){if(o(this._dotFBO)){const t=512,o=512,r={target:c.TEXTURE_2D,pixelFormat:f.RGBA,dataType:T.UNSIGNED_BYTE,samplingMode:p.NEAREST,wrapMode:x.CLAMP_TO_EDGE,width:t,height:o},s={colorTarget:w.TEXTURE,depthStencilTarget:D.DEPTH_STENCIL_RENDER_BUFFER},i=new E(e,{width:t,height:o,internalFormat:g.DEPTH_STENCIL});this._dotFBO=new S(e,s,r,i)}return this._dotFBO}_disposeTextures(){if(this._dotTextures){for(let e=0;es?2:1,I=e.drawPhase===a.HITTEST,R=this._programOptions;R.id=I,R.pattern=x;const k=v.getMaterialProgram(c,g,R);if(!r(_)||I||k.isCompiled){if(c.bindVAO(this._vao),c.useProgram(k),x){const t=L.getMosaicItemPosition(M,!0);if(r(t)){const{tl:e,br:o,page:s}=t;w=o[0]-e[0],A=o[1]-e[1];const a=L.getPageSize(s);r(a)&&(L.bind(c,f.LINEAR,s,i),k.setUniform4f(\"u_tlbr\",e[0],e[1],o[0],o[1]),k.setUniform2fv(\"u_mosaicSize\",a),k.setUniform1i(\"u_texture\",i))}k.setUniform1f(\"u_opacity\",y)}else this._color[0]=j*b[0],this._color[1]=j*b[1],this._color[2]=j*b[2],this._color[3]=j,k.setUniform4fv(\"u_color\",this._color);if(k.setUniform1f(\"u_depth\",h.z||0),I){const t=n(p+1);k.setUniform4fv(\"u_id\",t)}for(const r of o){if(k.setUniform1f(\"u_coord_range\",r.rangeX),k.setUniformMatrix3fv(\"u_dvsMat3\",r.transforms.dvs),x){const e=Math.max(2**(Math.round(d)-r.key.level),1),o=P*r.width*e,i=o/t(w),s=o/t(A);this._patternMatrix[0]=i,this._patternMatrix[4]=s,k.setUniformMatrix3fv(\"u_pattern_matrix\",this._patternMatrix)}c.setStencilFunction(l.EQUAL,r.stencilRef,255),c.drawArrays(u.TRIANGLE_STRIP,0,4)}}else _()}_loadWGLResources(t){if(this._vao)return;const{context:r,styleLayer:e}=t,o=e.backgroundMaterial,i=new Int8Array([0,0,1,0,0,1,1,1]),s=m.createVertex(r,p.STATIC_DRAW,i),a=new _(r,o.getAttributeLocations(),o.getLayoutInfo(),{geometry:s});this._vao=a}}export{d as WGLBrushVTLBackground};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{isSome as e,isNone as t}from\"../../../../../core/maybe.js\";import{TranslateAnchor as r}from\"../../vectorTiles/style/StyleDefinition.js\";import{WGLDrawPhase as i}from\"../enums.js\";import{u32to4Xu8 as n}from\"../number.js\";import a from\"./WGLBrush.js\";import{CompareFunction as s,PrimitiveType as o,DataType as l}from\"../../../../webgl/enums.js\";class c extends a{constructor(){super(...arguments),this._programOptions={id:!1}}dispose(){}drawMany(a,c){const{context:m,displayLevel:f,requiredLevel:u,state:d,drawPhase:p,painter:y,spriteMosaic:g,styleLayerUID:v,requestRender:E}=a;if(!c.some((e=>e.layerData.get(v)?.circleIndexCount??!1)))return;const M=a.styleLayer,T=M.circleMaterial,x=y.vectorTilesMaterialManager,I=1.2,U=M.getPaintValue(\"circle-translate\",f),_=M.getPaintValue(\"circle-translate-anchor\",f),h=p===i.HITTEST,L=this._programOptions;L.id=h;const R=x.getMaterialProgram(m,T,L);if(!h&&e(E)&&!R.isCompiled)return void E();m.useProgram(R),R.setUniformMatrix3fv(\"u_displayMat3\",_===r.VIEWPORT?d.displayMat3:d.displayViewMat3),R.setUniform2fv(\"u_circleTranslation\",U),R.setUniform1f(\"u_depth\",M.z),R.setUniform1f(\"u_antialiasingWidth\",I);let S=-1;if(h){const e=n(v+1);R.setUniform4fv(\"u_id\",e)}for(const e of c){if(!e.layerData.has(v))continue;e.key.level!==S&&(S=e.key.level,T.setDataUniforms(R,f,M,S,g));const r=e.layerData.get(v);if(!r.circleIndexCount)continue;r.prepareForRendering(m);const i=r.circleVertexArrayObject;t(i)||(m.bindVAO(i),R.setUniformMatrix3fv(\"u_dvsMat3\",e.transforms.dvs),u!==e.key.level?m.setStencilFunction(s.EQUAL,e.stencilRef,255):m.setStencilFunction(s.GREATER,255,255),m.drawElements(o.TRIANGLES,r.circleIndexCount,l.UNSIGNED_INT,Uint32Array.BYTES_PER_ELEMENT*r.circleIndexStart),e.triangleCount+=r.circleIndexCount/3)}}}export{c as WGLBrushVTLCircle};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{isNone as t,isSome as e}from\"../../../../../core/maybe.js\";import{TranslateAnchor as i}from\"../../vectorTiles/style/StyleDefinition.js\";import{VTL_TEXTURE_BINDING_UNIT_SPRITES as r,VTL_HIGH_RES_CUTOFF as n}from\"../definitions.js\";import{WGLDrawPhase as a}from\"../enums.js\";import{u32to4Xu8 as o}from\"../number.js\";import s from\"./WGLBrush.js\";import{TextureSamplingMode as l,CompareFunction as f,PrimitiveType as u,DataType as d}from\"../../../../webgl/enums.js\";const c=1/65536;class m extends s{constructor(){super(...arguments),this._fillProgramOptions={id:!1,pattern:!1},this._outlineProgramOptions={id:!1}}dispose(){}drawMany(t,e){const{displayLevel:i,drawPhase:r,renderPass:n,spriteMosaic:s,styleLayerUID:l}=t;let f=!1;for(const a of e)if(a.layerData.has(l)){const t=a.layerData.get(l);if(t.fillIndexCount>0||t.outlineIndexCount>0){f=!0;break}}if(!f)return;const u=t.styleLayer,d=u.getPaintProperty(\"fill-pattern\"),c=void 0!==d,m=c&&d.isDataDriven;let p;if(c&&!m){const t=d.getValue(i);p=s.getMosaicItemPosition(t,!0)}const y=!c&&u.getPaintValue(\"fill-antialias\",i);let g=!0,_=1;if(!c){const t=u.getPaintProperty(\"fill-color\"),e=u.getPaintProperty(\"fill-opacity\");if(!t?.isDataDriven&&!e?.isDataDriven){const t=u.getPaintValue(\"fill-color\",i);_=u.getPaintValue(\"fill-opacity\",i)*t[3],_>=1&&(g=!1)}}if(g&&\"opaque\"===n)return;let E;r===a.HITTEST&&(E=o(l+1));const v=u.getPaintValue(\"fill-translate\",i),M=u.getPaintValue(\"fill-translate-anchor\",i);(g||\"translucent\"!==n)&&this._drawFill(t,l,u,e,v,M,c,p,m,E);const P=!u.hasDataDrivenOutlineColor&&u.outlineUsesFillColor&&_<1;y&&\"opaque\"!==n&&!P&&this._drawOutline(t,l,u,e,v,M,E)}_drawFill(o,s,m,p,y,g,_,E,v,M){if(_&&!v&&t(E))return;const{context:P,displayLevel:I,state:T,drawPhase:U,painter:x,pixelRatio:h,spriteMosaic:D,requestRender:S}=o,R=m.fillMaterial,N=x.vectorTilesMaterialManager,w=h>n?2:1,L=U===a.HITTEST,A=this._fillProgramOptions;A.id=L,A.pattern=_;const C=N.getMaterialProgram(P,R,A);if(e(S)&&!L&&!C.isCompiled)return void S();if(P.useProgram(C),e(E)){const{page:t}=E,i=D.getPageSize(t);e(i)&&(D.bind(P,l.LINEAR,t,r),C.setUniform2fv(\"u_mosaicSize\",i),C.setUniform1i(\"u_texture\",r))}C.setUniformMatrix3fv(\"u_displayMat3\",g===i.VIEWPORT?T.displayMat3:T.displayViewMat3),C.setUniform2fv(\"u_fillTranslation\",y),C.setUniform1f(\"u_depth\",m.z+c),L&&C.setUniform4fv(\"u_id\",M);let V=-1;for(const i of p){if(!i.layerData.has(s))continue;i.key.level!==V&&(V=i.key.level,R.setDataUniforms(C,I,m,V,D));const n=i.layerData.get(s);if(!n.fillIndexCount)continue;n.prepareForRendering(P);const a=n.fillVertexArrayObject;if(!t(a)){if(P.bindVAO(a),C.setUniformMatrix3fv(\"u_dvsMat3\",i.transforms.dvs),P.setStencilFunction(f.EQUAL,i.stencilRef,255),_){const t=Math.max(2**(Math.round(I)-i.key.level),1),e=i.rangeX/(w*i.width*t);C.setUniform1f(\"u_patternFactor\",e)}if(v){const t=n.patternMap;if(!t)continue;for(const[i,n]of t){const t=D.getPageSize(i);e(t)&&(D.bind(P,l.LINEAR,i,r),C.setUniform2fv(\"u_mosaicSize\",t),C.setUniform1i(\"u_texture\",r),P.drawElements(u.TRIANGLES,n[1],d.UNSIGNED_INT,Uint32Array.BYTES_PER_ELEMENT*n[0]))}}else P.drawElements(u.TRIANGLES,n.fillIndexCount,d.UNSIGNED_INT,Uint32Array.BYTES_PER_ELEMENT*n.fillIndexStart);i.triangleCount+=n.fillIndexCount/3}}}_drawOutline(r,n,o,s,l,m,p){const{context:y,displayLevel:g,state:_,drawPhase:E,painter:v,pixelRatio:M,spriteMosaic:P,requestRender:I}=r,T=o.outlineMaterial,U=v.vectorTilesMaterialManager,x=.75/M,h=E===a.HITTEST,D=this._outlineProgramOptions;D.id=h;const S=U.getMaterialProgram(y,T,D);if(e(I)&&!h&&!S.isCompiled)return void I();y.useProgram(S),S.setUniformMatrix3fv(\"u_displayMat3\",m===i.VIEWPORT?_.displayMat3:_.displayViewMat3),S.setUniform2fv(\"u_fillTranslation\",l),S.setUniform1f(\"u_depth\",o.z+c),S.setUniform1f(\"u_outline_width\",x),h&&S.setUniform4fv(\"u_id\",p);let R=-1;for(const e of s){if(!e.layerData.has(n))continue;e.key.level!==R&&(R=e.key.level,T.setDataUniforms(S,g,o,R,P));const i=e.layerData.get(n);if(i.prepareForRendering(y),!i.outlineIndexCount)continue;const r=i.outlineVertexArrayObject;t(r)||(y.bindVAO(r),S.setUniformMatrix3fv(\"u_dvsMat3\",e.transforms.dvs),y.setStencilFunction(f.EQUAL,e.stencilRef,255),y.drawElements(u.TRIANGLES,i.outlineIndexCount,d.UNSIGNED_INT,Uint32Array.BYTES_PER_ELEMENT*i.outlineIndexStart),e.triangleCount+=i.outlineIndexCount/3)}}}export{m as WGLBrushVTLFill};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{isSome as e,isNone as t}from\"../../../../../core/maybe.js\";import{TranslateAnchor as i}from\"../../vectorTiles/style/StyleDefinition.js\";import{VTL_TEXTURE_BINDING_UNIT_SPRITES as n}from\"../definitions.js\";import{WGLDrawPhase as r}from\"../enums.js\";import{u32to4Xu8 as a}from\"../number.js\";import o from\"./WGLBrush.js\";import{TextureSamplingMode as s,CompareFunction as l,PrimitiveType as f,DataType as m}from\"../../../../webgl/enums.js\";class u extends o{constructor(){super(...arguments),this._programOptions={id:!1,pattern:!1,sdf:!1}}dispose(){}drawMany(o,u){const{context:c,displayLevel:d,state:p,drawPhase:g,painter:y,pixelRatio:E,spriteMosaic:M,styleLayerUID:_,requestRender:v}=o;if(!u.some((e=>e.layerData.get(_)?.lineIndexCount??!1)))return;const U=o.styleLayer,I=U.lineMaterial,P=y.vectorTilesMaterialManager,x=U.getPaintValue(\"line-translate\",d),T=U.getPaintValue(\"line-translate-anchor\",d),S=U.getPaintProperty(\"line-pattern\"),D=void 0!==S,L=D&&S.isDataDriven;let N,R;if(D&&!L){const e=S.getValue(d);N=M.getMosaicItemPosition(e)}let V=!1;if(!D){const e=U.getPaintProperty(\"line-dasharray\");if(R=void 0!==e,V=R&&e.isDataDriven,R&&!V){const t=e.getValue(d),i=U.getDashKey(t,U.getLayoutValue(\"line-cap\",d));N=M.getMosaicItemPosition(i)}}const h=1/E,A=g===r.HITTEST,j=this._programOptions;j.id=A,j.pattern=D,j.sdf=R;const w=P.getMaterialProgram(c,I,j);if(e(v)&&!A&&!w.isCompiled)return void v();if(c.useProgram(w),w.setUniformMatrix3fv(\"u_displayViewMat3\",p.displayViewMat3),w.setUniformMatrix3fv(\"u_displayMat3\",T===i.VIEWPORT?p.displayMat3:p.displayViewMat3),w.setUniform2fv(\"u_lineTranslation\",x),w.setUniform1f(\"u_depth\",U.z),w.setUniform1f(\"u_antialiasing\",h),A){const e=a(_+1);w.setUniform4fv(\"u_id\",e)}if(N&&e(N)){const{page:t}=N,i=M.getPageSize(t);e(i)&&(M.bind(c,s.LINEAR,t,n),w.setUniform2fv(\"u_mosaicSize\",i),w.setUniform1i(\"u_texture\",n))}let b=-1;for(const i of u){if(!i.layerData.has(_))continue;i.key.level!==b&&(b=i.key.level,I.setDataUniforms(w,d,U,b,M));const r=2**(d-b)/E;w.setUniform1f(\"u_zoomFactor\",r);const a=i.layerData.get(_);if(!a.lineIndexCount)continue;a.prepareForRendering(c);const o=a.lineVertexArrayObject;if(!t(o)){if(c.bindVAO(o),w.setUniformMatrix3fv(\"u_dvsMat3\",i.transforms.dvs),c.setStencilFunction(l.EQUAL,i.stencilRef,255),L||V){const t=a.patternMap;if(!t)continue;for(const[i,r]of t){const t=M.getPageSize(i);e(t)&&(M.bind(c,s.LINEAR,i,n),w.setUniform2fv(\"u_mosaicSize\",t),w.setUniform1i(\"u_texture\",n),c.drawElements(f.TRIANGLES,r[1],m.UNSIGNED_INT,Uint32Array.BYTES_PER_ELEMENT*r[0]))}}else c.drawElements(f.TRIANGLES,a.lineIndexCount,m.UNSIGNED_INT,Uint32Array.BYTES_PER_ELEMENT*a.lineIndexStart);i.triangleCount+=a.lineIndexCount/3}}}}export{u as WGLBrushVTLLine};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{isSome as e,isNone as t}from\"../../../../../core/maybe.js\";import{c as i,f as a}from\"../../../../../chunks/vec2f32.js\";import{FADE_DURATION as r}from\"../../vectorTiles/decluttering/config.js\";import{RotationAlignment as s,SymbolPlacement as n,TranslateAnchor as o}from\"../../vectorTiles/style/StyleDefinition.js\";import{VTL_TEXTURE_BINDING_UNIT_SPRITES as l,VTL_TEXTURE_BINDING_UNIT_GLYPHS as f}from\"../definitions.js\";import{WGLDrawPhase as u}from\"../enums.js\";import{degToByte as m}from\"../GeometryUtils.js\";import{u32to4Xu8 as p}from\"../number.js\";import c from\"./WGLBrush.js\";import{TextureSamplingMode as d,CompareFunction as g,PrimitiveType as y,DataType as _}from\"../../../../webgl/enums.js\";const h=1/65536;class M extends c{constructor(){super(...arguments),this._iconProgramOptions={id:!1,sdf:!1},this._sdfProgramOptions={id:!1},this._spritesTextureSize=i()}dispose(){}drawMany(e,t){const{drawPhase:i,styleLayerUID:a}=e,r=e.styleLayer;let s;i===u.HITTEST&&(s=p(a+1)),this._drawIcons(e,r,t,s),this._drawText(e,r,t,s)}_drawIcons(i,a,f,p){const{context:c,displayLevel:d,drawPhase:g,painter:y,spriteMosaic:_,state:h,styleLayerUID:M,requestRender:P}=i,T=a.iconMaterial,U=y.vectorTilesMaterialManager;let E,x=!1;for(const e of f)if(e.layerData.has(M)&&(E=e.layerData.get(M),E.iconPerPageElementsMap.size>0)){x=!0;break}if(!x)return;const v=a.getPaintValue(\"icon-translate\",d),I=a.getPaintValue(\"icon-translate-anchor\",d);let S=a.getLayoutValue(\"icon-rotation-alignment\",d);S===s.AUTO&&(S=a.getLayoutValue(\"symbol-placement\",d)===n.POINT?s.VIEWPORT:s.MAP);const D=S===s.MAP,V=a.getLayoutValue(\"icon-keep-upright\",d)&&D,R=E.isIconSDF,w=g===u.HITTEST,A=this._iconProgramOptions;A.id=w,A.sdf=R;const L=U.getMaterialProgram(c,T,A);if(e(P)&&!w&&!L.isCompiled)return void P();c.useProgram(L),L.setUniformMatrix3fv(\"u_displayViewMat3\",S===s.MAP?h.displayViewMat3:h.displayMat3),L.setUniformMatrix3fv(\"u_displayMat3\",I===o.VIEWPORT?h.displayMat3:h.displayViewMat3),L.setUniform2fv(\"u_iconTranslation\",v),L.setUniform1f(\"u_depth\",a.z),L.setUniform1f(\"u_mapRotation\",m(h.rotation)),L.setUniform1f(\"u_keepUpright\",V?1:0),L.setUniform1f(\"u_level\",10*d),L.setUniform1i(\"u_texture\",l),L.setUniform1f(\"u_fadeDuration\",r/1e3),w&&L.setUniform4fv(\"u_id\",p);let O=-1;for(const e of f){if(!e.layerData.has(M))continue;if(e.key.level!==O&&(O=e.key.level,T.setDataUniforms(L,d,a,O,_)),E=e.layerData.get(M),0===E.iconPerPageElementsMap.size)continue;E.prepareForRendering(c),E.updateOpacityInfo();const r=E.iconVertexArrayObject;if(!t(r)){c.bindVAO(r),L.setUniformMatrix3fv(\"u_dvsMat3\",e.transforms.dvs),L.setUniform1f(\"u_time\",(performance.now()-E.lastOpacityUpdate)/1e3);for(const[t,a]of E.iconPerPageElementsMap)this._renderIconRange(i,L,a,t,e)}}}_renderIconRange(e,t,i,a,r){const{context:s,spriteMosaic:n}=e;this._spritesTextureSize[0]=n.getWidth(a)/4,this._spritesTextureSize[1]=n.getHeight(a)/4,t.setUniform2fv(\"u_mosaicSize\",this._spritesTextureSize),n.bind(s,d.LINEAR,a,l),s.setStencilTestEnabled(!0),s.setStencilFunction(g.GREATER,255,255),s.setStencilWriteMask(0),s.drawElements(y.TRIANGLES,i[1],_.UNSIGNED_INT,Uint32Array.BYTES_PER_ELEMENT*i[0]),r.triangleCount+=i[1]/3}_drawText(i,l,p,c){const{context:d,displayLevel:y,drawPhase:_,glyphMosaic:M,painter:P,pixelRatio:T,spriteMosaic:U,state:E,styleLayerUID:x,requestRender:v}=i,I=l.textMaterial,S=P.vectorTilesMaterialManager;let D,V=!1;for(const e of p)if(e.layerData.has(x)&&(D=e.layerData.get(x),D.glyphPerPageElementsMap.size>0)){V=!0;break}if(!V)return;const R=l.getPaintProperty(\"text-opacity\");if(R&&!R.isDataDriven&&0===R.getValue(y))return;const w=l.getPaintProperty(\"text-color\"),A=!w||w.isDataDriven||w.getValue(y)[3]>0,L=l.getPaintProperty(\"text-halo-width\"),O=l.getPaintProperty(\"text-halo-color\"),N=(!L||L.isDataDriven||L.getValue(y)>0)&&(!O||O.isDataDriven||O.getValue(y)[3]>0);if(!A&&!N)return;const b=24/8;let z=l.getLayoutValue(\"text-rotation-alignment\",y);z===s.AUTO&&(z=l.getLayoutValue(\"symbol-placement\",y)===n.POINT?s.VIEWPORT:s.MAP);const k=z===s.MAP,j=l.getLayoutValue(\"text-keep-upright\",y)&&k,G=_===u.HITTEST,W=.8*b/T;this._glyphTextureSize||(this._glyphTextureSize=a(M.width/4,M.height/4));const C=l.getPaintValue(\"text-translate\",y),F=l.getPaintValue(\"text-translate-anchor\",y),B=this._sdfProgramOptions;B.id=G;const H=S.getMaterialProgram(d,I,B);if(e(v)&&!G&&!H.isCompiled)return void v();d.useProgram(H),H.setUniformMatrix3fv(\"u_displayViewMat3\",z===s.MAP?E.displayViewMat3:E.displayMat3),H.setUniformMatrix3fv(\"u_displayMat3\",F===o.VIEWPORT?E.displayMat3:E.displayViewMat3),H.setUniform2fv(\"u_textTranslation\",C),H.setUniform1f(\"u_depth\",l.z+h),H.setUniform2fv(\"u_mosaicSize\",this._glyphTextureSize),H.setUniform1f(\"u_mapRotation\",m(E.rotation)),H.setUniform1f(\"u_keepUpright\",j?1:0),H.setUniform1f(\"u_level\",10*y),H.setUniform1i(\"u_texture\",f),H.setUniform1f(\"u_antialiasingWidth\",W),H.setUniform1f(\"u_fadeDuration\",r/1e3),G&&H.setUniform4fv(\"u_id\",c);let Y=-1;for(const e of p){if(!e.layerData.has(x))continue;if(e.key.level!==Y&&(Y=e.key.level,I.setDataUniforms(H,y,l,Y,U)),D=e.layerData.get(x),0===D.glyphPerPageElementsMap.size)continue;D.prepareForRendering(d),D.updateOpacityInfo();const i=D.textVertexArrayObject;if(t(i))continue;d.bindVAO(i),H.setUniformMatrix3fv(\"u_dvsMat3\",e.transforms.dvs),d.setStencilTestEnabled(!0),d.setStencilFunction(g.GREATER,255,255),d.setStencilWriteMask(0);const a=(performance.now()-D.lastOpacityUpdate)/1e3;H.setUniform1f(\"u_time\",a),D.glyphPerPageElementsMap.forEach(((t,i)=>{this._renderGlyphRange(d,t,i,M,H,N,A,e)}))}}_renderGlyphRange(e,t,i,a,r,s,n,o){a.bind(e,d.LINEAR,i,f),s&&(r.setUniform1f(\"u_halo\",1),e.drawElements(y.TRIANGLES,t[1],_.UNSIGNED_INT,Uint32Array.BYTES_PER_ELEMENT*t[0]),o.triangleCount+=t[1]/3),n&&(r.setUniform1f(\"u_halo\",0),e.drawElements(y.TRIANGLES,t[1],_.UNSIGNED_INT,Uint32Array.BYTES_PER_ELEMENT*t[0]),o.triangleCount+=t[1]/3)}}export{M as WGLBrushVTLSymbol};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{isSome as e}from\"../../../../../core/maybe.js\";import{WGLGeometryType as t}from\"../enums.js\";import{createProgramDescriptor as o}from\"../Utils.js\";import a from\"./WGLGeometryBrush.js\";import{LabelMaterialKey as n}from\"../materialKey/MaterialKey.js\";import{DataType as r,CompareFunction as i,PrimitiveType as s}from\"../../../../webgl/enums.js\";const m=e=>o(e.data,{geometry:[{location:0,name:\"a_pos\",count:2,type:r.SHORT},{location:1,name:\"a_id\",count:4,type:r.UNSIGNED_BYTE},{location:2,name:\"a_color\",count:4,type:r.UNSIGNED_BYTE,normalized:!0},{location:3,name:\"a_haloColor\",count:4,type:r.UNSIGNED_BYTE,normalized:!0},{location:4,name:\"a_texAndSize\",count:4,type:r.UNSIGNED_BYTE},{location:5,name:\"a_refSymbolAndPlacementOffset\",count:4,type:r.UNSIGNED_BYTE},{location:6,name:\"a_glyphData\",count:4,type:r.UNSIGNED_BYTE},{location:7,name:\"a_vertexOffset\",count:2,type:r.SHORT},{location:8,name:\"a_texCoords\",count:2,type:r.UNSIGNED_SHORT}]});class l extends a{dispose(){}getGeometryType(){return t.LABEL}supportsSymbology(e){return!0}drawGeometry(t,o,a,l){const{context:u,painter:p,state:c,rendererInfo:d,passOptions:f,requestRender:y}=t,_=n.load(a.materialKey),E=e(f)&&\"hittest\"===f.type,N=_.mapAligned?1:0;if(!N&&Math.abs(o.key.level-Math.round(100*t.displayLevel)/100)>=1)return;const{bufferLayouts:S,attributes:U}=m(_),T=p.materialManager.getMaterialProgram(t,_,\"materials/label\",U,l);if(e(y)&&!E&&!T.isCompiled)return void y();t.context.setStencilFunction(i.EQUAL,0,255),u.useProgram(T),this._setSharedUniforms(T,t,o),p.textureManager.bindTextures(u,T,_);const g=1===N?c.displayViewMat3:c.displayMat3;this._setSizeVVUniforms(_,T,d,o),T.setUniform1f(\"u_mapRotation\",Math.floor(c.rotation/360*254)),T.setUniform1f(\"u_mapAligned\",N),T.setUniformMatrix3fv(\"u_displayMat3\",g),T.setUniform1f(\"u_opacity\",1),T.setUniform2fv(\"u_screenSize\",t.state.size),T.setUniform1f(\"u_isHalo\",1);const G=a.target.getVAO(u,S,U),I=a.indexFrom*Uint32Array.BYTES_PER_ELEMENT;u.bindVAO(G),u.drawElements(s.TRIANGLES,a.indexCount,r.UNSIGNED_INT,I),T.setUniform1f(\"u_isHalo\",0),u.drawElements(s.TRIANGLES,a.indexCount,r.UNSIGNED_INT,I),u.setStencilTestEnabled(!0),u.setBlendingEnabled(!0)}}export{l as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{isSome as e}from\"../../../../../core/maybe.js\";import{WGLGeometryType as t}from\"../enums.js\";import{createProgramDescriptor as o}from\"../Utils.js\";import a from\"./WGLGeometryBrush.js\";import{LineMaterialKey as n}from\"../materialKey/MaterialKey.js\";import{DataType as r,PrimitiveType as i}from\"../../../../webgl/enums.js\";const s=e=>o(e.data,{geometry:[{location:0,name:\"a_pos\",count:2,type:r.SHORT},{location:1,name:\"a_id\",count:4,type:r.UNSIGNED_BYTE},{location:2,name:\"a_color\",count:4,type:r.UNSIGNED_BYTE,normalized:!0},{location:3,name:\"a_offsetAndNormal\",count:4,type:r.BYTE},{location:4,name:\"a_accumulatedDistanceAndHalfWidth\",count:2,type:r.UNSIGNED_SHORT},{location:5,name:\"a_tlbr\",count:4,type:r.UNSIGNED_SHORT},{location:6,name:\"a_segmentDirection\",count:4,type:r.BYTE},{location:7,name:\"a_aux\",count:2,type:r.UNSIGNED_SHORT},{location:8,name:\"a_zoomRange\",count:2,type:r.UNSIGNED_SHORT}]});class m extends a{dispose(){}getGeometryType(){return t.LINE}supportsSymbology(e){return!0}drawGeometry(t,o,a,m){const{context:l,painter:c,rendererInfo:u,displayLevel:p,passOptions:y,requestRender:d}=t,_=n.load(a.materialKey),f=e(y)&&\"hittest\"===y.type;let E=s(_),N=i.TRIANGLES;f&&(E=this._getTriangleDesc(a.materialKey,E),N=i.POINTS);const{attributes:g,bufferLayouts:S}=E,T=c.materialManager.getMaterialProgram(t,_,\"materials/line\",g,m);if(e(d)&&!f&&!T.isCompiled)return void d();const U=1/t.pixelRatio,G=0;l.useProgram(T),this._setSharedUniforms(T,t,o),_.textureBinding&&c.textureManager.bindTextures(l,T,_);const I=2**(p-o.key.level);T.setUniform1f(\"u_zoomFactor\",I),T.setUniform1f(\"u_blur\",G+U),T.setUniform1f(\"u_antialiasing\",U),this._setSizeVVUniforms(_,T,u,o),this._setColorAndOpacityVVUniforms(_,T,u),l.setFaceCullingEnabled(!1);const b=a.target.getVAO(l,S,g,f);let x=a.indexCount,D=a.indexFrom*Uint32Array.BYTES_PER_ELEMENT;f&&(x/=3,D/=3),l.bindVAO(b),l.drawElements(N,x,r.UNSIGNED_INT,D)}}export{m as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{isSome as t}from\"../../../../../core/maybe.js\";import{WGLGeometryType as e}from\"../enums.js\";import{createProgramDescriptor as o}from\"../Utils.js\";import a from\"./WGLGeometryBrush.js\";import{TextMaterialKey as r}from\"../materialKey/MaterialKey.js\";import{DataType as n,PrimitiveType as i}from\"../../../../webgl/enums.js\";const s=t=>o(t.data,{geometry:[{location:0,name:\"a_pos\",count:2,type:n.SHORT},{location:1,name:\"a_id\",count:4,type:n.UNSIGNED_BYTE},{location:2,name:\"a_color\",count:4,type:n.UNSIGNED_BYTE,normalized:!0},{location:3,name:\"a_haloColor\",count:4,type:n.UNSIGNED_BYTE,normalized:!0},{location:4,name:\"a_texFontSize\",count:4,type:n.UNSIGNED_BYTE},{location:5,name:\"a_aux\",count:4,type:n.BYTE},{location:6,name:\"a_zoomRange\",count:2,type:n.UNSIGNED_SHORT},{location:7,name:\"a_vertexOffset\",count:2,type:n.SHORT},{location:8,name:\"a_texCoords\",count:2,type:n.UNSIGNED_SHORT}]});class m extends a{dispose(){}getGeometryType(){return e.TEXT}supportsSymbology(t){return!0}drawGeometry(e,o,a,m){const{context:l,painter:p,rendererInfo:u,state:y,passOptions:d,requestRender:_}=e,c=r.load(a.materialKey),f=t(d)&&\"hittest\"===d.type,{bufferLayouts:E,attributes:N}=s(c),S=p.materialManager.getMaterialProgram(e,c,\"materials/text\",N,m);if(t(_)&&!f&&!S.isCompiled)return void _();l.useProgram(S);let T=i.TRIANGLES;f&&(T=i.POINTS),this._setSharedUniforms(S,e,o),p.textureManager.bindTextures(l,S,c),S.setUniformMatrix3fv(\"u_displayMat3\",y.displayMat3),S.setUniformMatrix3fv(\"u_displayViewMat3\",y.displayViewMat3),this._setSizeVVUniforms(c,S,u,o),this._setColorAndOpacityVVUniforms(c,S,u),this._setRotationVVUniforms(c,S,u),S.setUniform1f(\"u_isHalo\",1);const U=a.target.getVAO(l,E,N),x=a.indexFrom*Uint32Array.BYTES_PER_ELEMENT;l.bindVAO(U),l.drawElements(i.TRIANGLES,a.indexCount,n.UNSIGNED_INT,x),S.setUniform1f(\"u_isHalo\",0),l.drawElements(T,a.indexCount,n.UNSIGNED_INT,x)}}export{m as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport r from\"./flow/BrushFlow.js\";import s from\"./imagery/BrushRasterBitmap.js\";import e from\"./imagery/BrushVectorField.js\";import o from\"./webgl/brushes/BrushBitmap.js\";import l from\"./webgl/brushes/BrushClip.js\";import t from\"./webgl/brushes/BrushOverlay.js\";import m from\"./webgl/brushes/WGLBrushDotDensity.js\";import i from\"./webgl/brushes/WGLBrushHeatmap.js\";import b from\"./webgl/brushes/WGLBrushInfo.js\";import h from\"./webgl/brushes/WGLBrushPieChart.js\";import u from\"./webgl/brushes/WGLBrushStencil.js\";import{WGLBrushVTLBackground as p}from\"./webgl/brushes/WGLBrushVTLBackground.js\";import{WGLBrushVTLCircle as f}from\"./webgl/brushes/WGLBrushVTLCircle.js\";import{WGLBrushVTLFill as B}from\"./webgl/brushes/WGLBrushVTLFill.js\";import{WGLBrushVTLLine as L}from\"./webgl/brushes/WGLBrushVTLLine.js\";import{WGLBrushVTLSymbol as a}from\"./webgl/brushes/WGLBrushVTLSymbol.js\";import g from\"./webgl/brushes/WGLGeometryBrushFill.js\";import j from\"./webgl/brushes/WGLGeometryBrushLabel.js\";import w from\"./webgl/brushes/WGLGeometryBrushLine.js\";import G from\"./webgl/brushes/WGLGeometryBrushMarker.js\";import n from\"./webgl/brushes/WGLGeometryBrushText.js\";const W={marker:G,line:w,fill:g,text:n,label:j,clip:l,stencil:u,bitmap:o,overlay:t,raster:s,rasterVF:e,flow:r,tileInfo:b,vtlBackground:p,vtlFill:B,vtlLine:L,vtlCircle:f,vtlSymbol:a,dotDensity:m,heatmap:i,pieChart:h},y={vtlBackground:p,vtlFill:B,vtlLine:L,vtlCircle:f,vtlSymbol:a};export{W as brushes,y as vtlBrushes};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{isNone as e,isSome as t}from\"../../../../core/maybe.js\";import a from\"../webgl/brushes/WGLBrush.js\";import{BlendFactor as r,StencilOperation as s,CompareFunction as o,PrimitiveType as n,DataType as i}from\"../../../webgl/enums.js\";const l=new Float32Array([.27058823529411763,.4588235294117647,.7098039215686275,1,.396078431372549,.5372549019607843,.7215686274509804,1,.5176470588235295,.6196078431372549,.7294117647058823,1,.6352941176470588,.7058823529411765,.7411764705882353,1,.7529411764705882,.8,.7450980392156863,1,.8705882352941177,.8901960784313725,.7490196078431373,1,1,1,.7490196078431373,1,1,.8627450980392157,.6313725490196078,1,.9803921568627451,.7254901960784313,.5176470588235295,1,.9607843137254902,.596078431372549,.4117647058823529,1,.9294117647058824,.4588235294117647,.3176470588235294,1,.9098039215686274,.08235294117647059,.08235294117647059,1]),c={beaufort_ft:l,beaufort_m:l,beaufort_km:l,beaufort_mi:l,beaufort_kn:new Float32Array([.1568627450980392,.5725490196078431,.7803921568627451,1,.34901960784313724,.6352941176470588,.7294117647058823,1,.5058823529411764,.7019607843137254,.6705882352941176,1,.6274509803921569,.7607843137254902,.6078431372549019,1,.7490196078431373,.8313725490196079,.5411764705882353,1,.8549019607843137,.9019607843137255,.4666666666666667,1,.9803921568627451,.9803921568627451,.39215686274509803,1,.9882352941176471,.8352941176470589,.3254901960784314,1,.9882352941176471,.7019607843137254,.4,1,.9803921568627451,.5529411764705883,.20392156862745098,1,.9686274509803922,.43137254901960786,.16470588235294117,1,.9411764705882353,.2784313725490196,.11372549019607843,1]),classified_arrow:new Float32Array([.2196078431372549,.6588235294117647,0,1,.5450980392156862,1.2117647058823529,0,1,1,1,0,1,1,.5019607843137255,0,1,1,0,0,1]),ocean_current_m:new Float32Array([.3058823529411765,.10196078431372549,.6,1,.7019607843137254,.10588235294117647,.10196078431372549,1,.792156862745098,.5019607843137255,.10196078431372549,1,.6941176470588235,.6941176470588235,.6941176470588235,1]),ocean_current_kn:new Float32Array([0,0,0,1,0,.1450980392156863,.39215686274509803,1,.3058823529411765,.10196078431372549,.6,1,.592156862745098,0,.39215686274509803,1,.7019607843137254,.10588235294117647,.10196078431372549,1,.6941176470588235,.3058823529411765,.10196078431372549,1,.792156862745098,.5019607843137255,.10196078431372549,1,.6941176470588235,.7019607843137254,.20392156862745098,1,.6941176470588235,.6941176470588235,.6941176470588235,1]),single_arrow:new Float32Array([0,92/255,230/255,1]),wind_speed:new Float32Array([0,0,0,1])};class m extends a{constructor(){super(...arguments),this._desc={magdir:{vsPath:\"raster/magdir\",fsPath:\"raster/magdir\",attributes:new Map([[\"a_pos\",0],[\"a_offset\",1],[\"a_vv\",2]])},scalar:{vsPath:\"raster/scalar\",fsPath:\"raster/scalar\",attributes:new Map([[\"a_pos\",0],[\"a_offset\",1],[\"a_vv\",2]])}}}dispose(){}prepareState({context:e},t){e.setBlendingEnabled(!0),e.setBlendFunctionSeparate(r.ONE,r.ONE_MINUS_SRC_ALPHA,r.ONE,r.ONE_MINUS_SRC_ALPHA),e.setColorMask(!0,!0,!0,!0),e.setStencilWriteMask(0),e.setStencilTestEnabled(!0),e.setStencilOp(s.KEEP,s.KEEP,s.REPLACE),e.setStencilFunction(o.EQUAL,t.stencilRef,255)}draw(t,a){if(e(a.source)||0===a.source.validPixelCount)return;const{timeline:r}=t;if(r.begin(this.name),a.updateVectorFieldVAO(t),\"scalar\"===t.renderPass){const e=a.vaoData.scalar;e&&this._drawScalars(t,a,e.vao,e.elementCount)}else{const e=a.vaoData.magdir;e&&this._drawTriangles(t,a,e.vao,e.elementCount)}r.end(this.name)}_drawTriangles(e,a,r,s){const{context:o,painter:l,requestRender:m}=e,{symbolizerParameters:d}=a,f=d.dataRange?[\"dataRange\"]:[];\"geographic\"===d.rotationType&&f.push(\"rotationGeographic\");const u=l.materialManager.getProgram(this._desc.magdir,f);if(t(m)&&!u.isCompiled)return void m();o.useProgram(u);const{coordScale:_,opacity:g,transforms:p}=a;u.setUniform2fv(\"u_coordScale\",_),u.setUniform1f(\"u_opacity\",g),u.setUniformMatrix3fv(\"u_dvsMat3\",p.dvs);const{style:y,dataRange:v,rotation:b,symbolPercentRange:S}=d;u.setUniform4fv(\"u_colors\",c[y]||c.single_arrow),u.setUniform2fv(\"u_dataRange\",v),u.setUniform1f(\"u_rotation\",b),u.setUniform2fv(\"u_symbolPercentRange\",S);const h=this._getSymbolSize(e,a);u.setUniform2fv(\"u_symbolSize\",h),o.bindVAO(r),o.drawElements(n.TRIANGLES,s,i.UNSIGNED_INT,0)}_drawScalars(e,a,r,s){const{context:o,painter:l,requestRender:c}=e,{symbolizerParameters:m}=a,d=[];\"wind_speed\"===m.style?d.push(\"innerCircle\"):m.dataRange&&d.push(\"dataRange\"),\"geographic\"===m.rotationType&&d.push(\"rotationGeographic\");const f=l.materialManager.getProgram(this._desc.scalar,d);if(t(c)&&!f.isCompiled)return void c();o.useProgram(f);const{coordScale:u,opacity:_,transforms:g}=a;f.setUniform2fv(\"u_coordScale\",u),f.setUniform1f(\"u_opacity\",_),f.setUniformMatrix3fv(\"u_dvsMat3\",g.dvs);const{dataRange:p,symbolPercentRange:y}=m;f.setUniform2fv(\"u_dataRange\",p),f.setUniform2fv(\"u_symbolPercentRange\",y);const v=this._getSymbolSize(e,a);f.setUniform2fv(\"u_symbolSize\",v),o.bindVAO(r),o.drawElements(n.TRIANGLES,s,i.UNSIGNED_INT,0)}_getSymbolSize(e,t){const a=t.key?2**(e.displayLevel-t.key.level):t.resolution/e.state.resolution,{symbolTileSize:r}=t.symbolizerParameters;return[r/(Math.round((t.width-t.offset[0])/r)*r)/a,r/(Math.round((t.height-t.offset[1])/r)*r)/a]}}export{m as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{_ as t}from\"../../chunks/tslib.es6.js\";import\"../../core/has.js\";import e from\"../../core/Error.js\";import{JSONSupport as s}from\"../../core/JSONSupport.js\";import{clone as i}from\"../../core/lang.js\";import l from\"../../core/Logger.js\";import{isNone as r}from\"../../core/maybe.js\";import{property as a}from\"../../core/accessorSupport/decorators/property.js\";import{cast as o}from\"../../core/accessorSupport/decorators/cast.js\";import{subclass as h}from\"../../core/accessorSupport/decorators/subclass.js\";var n;const p=l.getLogger(\"esri.layers.support.PixelBlock\");let c=n=class extends s{constructor(t){super(t),this.width=null,this.height=null,this.pixelType=\"f32\",this.validPixelCount=null,this.mask=null,this.maskIsAlpha=!1,this.pixels=null,this.statistics=null}static createEmptyBand(t,e){return new(n.getPixelArrayConstructor(t))(e)}static getPixelArrayConstructor(t){let e;switch(t){case\"u1\":case\"u2\":case\"u4\":case\"u8\":e=Uint8Array;break;case\"u16\":e=Uint16Array;break;case\"u32\":e=Uint32Array;break;case\"s8\":e=Int8Array;break;case\"s16\":e=Int16Array;break;case\"s32\":e=Int32Array;break;case\"f32\":case\"c64\":case\"c128\":case\"unknown\":e=Float32Array;break;case\"f64\":e=Float64Array}return e}castPixelType(t){if(!t)return\"f32\";let e=t.toLowerCase();return[\"u1\",\"u2\",\"u4\"].includes(e)?e=\"u8\":[\"unknown\",\"u8\",\"s8\",\"u16\",\"s16\",\"u32\",\"s32\",\"f32\",\"f64\"].includes(e)||(e=\"f32\"),e}getPlaneCount(){return this.pixels&&this.pixels.length}addData(t){if(!t.pixels||t.pixels.length!==this.width*this.height)throw new e(\"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(t.pixels),this.statistics.push(t.statistics||{minValue:null,maxValue:null})}getAsRGBA(){const t=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(t);break;default:this._fillFrom8Bit(t)}return new Uint8ClampedArray(t)}getAsRGBAFloat(){const t=new Float32Array(this.width*this.height*4);return this._fillFrom32Bit(t),t}updateStatistics(){this.statistics=this.pixels.map((t=>this._calculateBandStatistics(t,this.mask)));const t=this.mask;let e=0;if(t)for(let s=0;si?i:ht>=this.pixels.length)),i=e===t.length&&!t.some(((t,e)=>t!==e));return s||i?this:new n({pixelType:this.pixelType,width:this.width,height:this.height,mask:this.mask,validPixelCount:this.validPixelCount,maskIsAlpha:this.maskIsAlpha,pixels:t.map((t=>this.pixels[t])),statistics:this.statistics&&t.map((t=>this.statistics[t]))})}clone(){const t=new n({width:this.width,height:this.height,pixelType:this.pixelType,maskIsAlpha:this.maskIsAlpha,validPixelCount:this.validPixelCount});let e;this.mask&&(this.mask instanceof Uint8Array?t.mask=new Uint8Array(this.mask):t.mask=this.mask.slice(0));const s=n.getPixelArrayConstructor(this.pixelType);if(this.pixels&&this.pixels.length>0){t.pixels=[];const i=this.pixels[0].slice;for(e=0;e=3?(r=i[1],a=i[2]):2===i.length&&(r=i[1]);const h=new Uint32Array(t),n=this.width*this.height;if(l.length===n)if(e&&e.length===n)if(s)for(o=0;o0)a=i.map((t=>t.minValue)).reduce(((t,e)=>Math.min(t,e))),o=i.map((t=>t.maxValue-t.minValue)).reduce(((t,e)=>Math.max(t,e))),r=255/o;else{let t=255;\"s8\"===l?(a=-128,t=127):\"u16\"===l?t=65535:\"s16\"===l?(a=-32768,t=32767):\"u32\"===l?t=4294967295:\"s32\"===l?(a=-2147483648,t=2147483647):\"f32\"===l?(a=-34e38,t=34e38):\"f64\"===l&&(a=-Number.MAX_VALUE,t=Number.MAX_VALUE),r=255/(t-a)}const h=new Uint32Array(t),n=this.width*this.height;let c,u,m,x,f;if(c=u=m=e[0],c.length!==n)return p.error(\"getAsRGBA()\",\"Unable to convert to RGBA. The pixelblock is invalid.\");if(e.length>=2)if(u=e[1],e.length>=3&&(m=e[2]),s&&s.length===n)for(x=0;x=3?(l=e[1],r=e[2]):2===e.length&&(l=e[1]);const o=this.width*this.height;if(i.length!==o)return p.error(\"getAsRGBAFloat()\",\"Unable to convert to RGBA. The pixelblock is invalid.\");let h=0;if(s&&s.length===o)for(a=0;ai?a:i);else for(r=0;ri?a:i;return{minValue:s,maxValue:i}}};t([a({json:{write:!0}})],c.prototype,\"width\",void 0),t([a({json:{write:!0}})],c.prototype,\"height\",void 0),t([a({json:{write:!0}})],c.prototype,\"pixelType\",void 0),t([o(\"pixelType\")],c.prototype,\"castPixelType\",null),t([a({json:{write:!0}})],c.prototype,\"validPixelCount\",void 0),t([a({json:{write:!0}})],c.prototype,\"mask\",void 0),t([a({json:{write:!0}})],c.prototype,\"maskIsAlpha\",void 0),t([a({json:{write:!0}})],c.prototype,\"pixels\",void 0),t([a({json:{write:!0}})],c.prototype,\"statistics\",void 0),c=n=t([h(\"esri.layers.support.PixelBlock\")],c);const u=c;export{u as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nclass e{constructor(e){this.readFile=e}resolveIncludes(e){return this._resolve(e)}_resolve(e,t=new Map){if(t.has(e))return t.get(e);const r=this._read(e);if(!r)throw new Error(`cannot find shader file ${e}`);const s=/^[^\\S\\n]*#include\\s+<(\\S+)>[^\\S\\n]?/gm;let n=s.exec(r);const l=[];for(;null!=n;)l.push({path:n[1],start:n.index,length:n[0].length}),n=s.exec(r);let a=0,h=\"\";return l.forEach((e=>{h+=r.slice(a,e.start),h+=t.has(e.path)?\"\":this._resolve(e.path,t),a=e.start+e.length})),h+=r.slice(a),t.set(e,h),h}_read(e){return this.readFile(e)}}export{e as ShaderCompiler};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nfunction t(t,e){return e?\"xoffset\"in e&&e.xoffset?Math.max(t,Math.abs(e.xoffset)):\"yoffset\"in e&&e.yoffset?Math.max(t,Math.abs(e.yoffset||0)):t:t}function e(t){let e=0,n=0;for(let r=0;r\"size\"===t.type)).map((e=>{const{maxSize:r,minSize:s}=e;return(n(r,t)+n(s,t))/2}));let s=0;const o=r.length;if(0===o)return t;for(let n=0;n{e=t(e,n.symbol)})),e}if(\"class-breaks\"===n.type){let e=o;return n.classBreakInfos.forEach((n=>{e=t(e,n.symbol)})),e}return\"dot-density\"===n.type||n.type,o}export{s as calculateTolerance};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nfunction n(){return new Float32Array(4)}function t(n){const t=new Float32Array(4);return t[0]=n[0],t[1]=n[1],t[2]=n[2],t[3]=n[3],t}function r(n,t,r,e){const a=new Float32Array(4);return a[0]=n,a[1]=t,a[2]=r,a[3]=e,a}function e(n,t){return new Float32Array(n,t,4)}function a(){return n()}function o(){return r(1,1,1,1)}function u(){return r(1,0,0,0)}function s(){return r(0,1,0,0)}function c(){return r(0,0,1,0)}function i(){return r(0,0,0,1)}const f=a(),l=o(),_=u(),y=s(),w=c(),N=i(),O=Object.freeze(Object.defineProperty({__proto__:null,create:n,clone:t,fromValues:r,createView:e,zeros:a,ones:o,unitX:u,unitY:s,unitZ:c,unitW:i,ZEROS:f,ONES:l,UNIT_X:_,UNIT_Y:y,UNIT_Z:w,UNIT_W:N},Symbol.toStringTag,{value:\"Module\"}));export{l as O,_ as U,f as Z,t as a,e as b,n as c,s as d,c as e,r as f,i as g,y as h,w as i,N as j,o,u,O as v,a as z};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport e from\"../../../../core/has.js\";import{WGLDrawPhase as r}from\"./enums.js\";import s from\"./WGLContainer.js\";import t from\"./brushes/WGLBrushInfo.js\";import n from\"./brushes/WGLBrushStencil.js\";const i=(e,r)=>e.key.level-r.key.level!=0?e.key.level-r.key.level:e.key.row-r.key.row!=0?e.key.row-r.key.row:e.key.col-r.key.col;class o extends s{constructor(e){super(),this._tileInfoView=e}get requiresDedicatedFBO(){return!1}renderChildren(e){this.sortChildren(i),this.setStencilReference(e),super.renderChildren(e)}createRenderParams(e){const{state:r}=e,s=super.createRenderParams(e);return s.requiredLevel=this._tileInfoView.getClosestInfoForScale(r.scale).level,s.displayLevel=this._tileInfoView.tileInfo.scaleToZoom(r.scale),s}prepareRenderPasses(s){const i=super.prepareRenderPasses(s);return i.push(s.registerRenderPass({name:\"stencil\",brushes:[n],drawPhase:r.DEBUG|r.MAP|r.HIGHLIGHT,target:()=>this.getStencilTarget()})),e(\"esri-tiles-debug\")&&i.push(s.registerRenderPass({name:\"tileInfo\",brushes:[t],drawPhase:r.DEBUG,target:()=>this.children})),i}getStencilTarget(){return this.children}updateTransforms(e){for(const r of this.children){const s=this._tileInfoView.getTileResolution(r.key);r.setTransform(e,s)}}setStencilReference(e){let r=1;for(const s of this.children)s.stencilRef=r++}}export{o as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{Program as r}from\"./Program.js\";function e(e,t,a=\"\"){return new r(e,a+t.shaders.vertexShader,a+t.shaders.fragmentShader,t.attributes)}export{e as createProgram};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{_ as r}from\"../../chunks/tslib.es6.js\";import e from\"../../core/Logger.js\";import{isAbortError as s}from\"../../core/promiseUtils.js\";import{on as o}from\"../../core/reactiveUtils.js\";import{property as t}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/arrayUtils.js\";import\"../../core/has.js\";import\"../../core/accessorSupport/ensureType.js\";import{subclass as a}from\"../../core/accessorSupport/decorators/subclass.js\";const i=i=>{let c=class extends i{initialize(){this.handles.add(o((()=>this.layer),\"refresh\",(r=>{this.doRefresh(r.dataChanged).catch((r=>{s(r)||e.getLogger(this.declaredClass).error(r)}))})),\"RefreshableLayerView\")}};return r([t()],c.prototype,\"layer\",void 0),c=r([a(\"esri.layers.mixins.RefreshableLayerView\")],c),c};export{i as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{resolveIncludes as e}from\"./sources/resolver.js\";const r={shaders:{vertexShader:e(\"tileInfo/tileInfo.vert\"),fragmentShader:e(\"tileInfo/tileInfo.frag\")},attributes:new Map([[\"a_pos\",0]])};export{r as tileInfo};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{isSome as t}from\"../../../../../core/maybe.js\";import{f as e}from\"../../../../../chunks/vec4f32.js\";import{Pos2b as r}from\"../DefaultVertexAttributeLayouts.js\";import i from\"./WGLBrush.js\";import{background as o}from\"../shaders/BackgroundPrograms.js\";import{tileInfo as s}from\"../shaders/TileInfoPrograms.js\";import{BufferObject as n}from\"../../../../webgl/BufferObject.js\";import{BlendFactor as a,PrimitiveType as l,Usage as u,TextureType as m,PixelFormat as _,PixelType as f,TextureSamplingMode as h,TextureWrapMode as c}from\"../../../../webgl/enums.js\";import{createProgram as g}from\"../../../../webgl/ProgramTemplate.js\";import{Texture as d}from\"../../../../webgl/Texture.js\";import{VertexArrayObject as p}from\"../../../../webgl/VertexArrayObject.js\";const A=300,b=32;class x extends i{constructor(){super(...arguments),this._color=e(1,0,0,1)}dispose(){this._outlineProgram&&(this._outlineProgram.dispose(),this._outlineProgram=null),this._tileInfoProgram&&(this._tileInfoProgram.dispose(),this._tileInfoProgram=null),this._outlineVertexArrayObject&&(this._outlineVertexArrayObject.dispose(),this._outlineVertexArrayObject=null),this._tileInfoVertexArrayObject&&(this._tileInfoVertexArrayObject.dispose(),this._tileInfoVertexArrayObject=null),this._canvas=null}prepareState({context:t}){t.setBlendingEnabled(!0),t.setBlendFunctionSeparate(a.ONE,a.ONE_MINUS_SRC_ALPHA,a.ONE,a.ONE_MINUS_SRC_ALPHA),t.setColorMask(!0,!0,!0,!0),t.setStencilWriteMask(0),t.setStencilTestEnabled(!1)}draw(e,r){const{context:i,requestRender:o}=e;if(!r.isReady)return;if(this._loadWGLResources(i),t(o)&&(!this._outlineProgram.isCompiled||!this._tileInfoProgram.isCompiled))return void o();i.bindVAO(this._outlineVertexArrayObject),i.useProgram(this._outlineProgram),this._outlineProgram.setUniformMatrix3fv(\"u_dvsMat3\",r.transforms.dvs),this._outlineProgram.setUniform2f(\"u_coord_range\",r.rangeX,r.rangeY),this._outlineProgram.setUniform1f(\"u_depth\",0),this._outlineProgram.setUniform4fv(\"u_color\",this._color),i.drawArrays(l.LINE_STRIP,0,4);const s=this._getTexture(i,r);s?(i.bindVAO(this._tileInfoVertexArrayObject),i.useProgram(this._tileInfoProgram),i.bindTexture(s,0),this._tileInfoProgram.setUniformMatrix3fv(\"u_dvsMat3\",r.transforms.dvs),this._tileInfoProgram.setUniform1f(\"u_depth\",0),this._tileInfoProgram.setUniform2f(\"u_coord_ratio\",r.rangeX/r.width,r.rangeY/r.height),this._tileInfoProgram.setUniform2f(\"u_delta\",8,8),this._tileInfoProgram.setUniform2f(\"u_dimensions\",s.descriptor.width,s.descriptor.height),i.drawArrays(l.TRIANGLE_STRIP,0,4),i.bindVAO()):i.bindVAO()}_loadWGLResources(t){if(this._outlineProgram&&this._tileInfoProgram)return;const e=g(t,o),i=g(t,s),a=new Int8Array([0,0,1,0,1,1,0,1]),l=n.createVertex(t,u.STATIC_DRAW,a),m=new p(t,o.attributes,r,{geometry:l}),_=new Int8Array([0,0,1,0,0,1,1,1]),f=n.createVertex(t,u.STATIC_DRAW,_),h=new p(t,s.attributes,r,{geometry:f});this._outlineProgram=e,this._tileInfoProgram=i,this._outlineVertexArrayObject=m,this._tileInfoVertexArrayObject=h}_getTexture(t,e){if(e.texture&&e.triangleCountReportedInDebug===e.triangleCount)return e.texture;e.triangleCountReportedInDebug=e.triangleCount,this._canvas||(this._canvas=document.createElement(\"canvas\"),this._canvas.setAttribute(\"id\",\"canvas2d\"),this._canvas.setAttribute(\"width\",`${A}`),this._canvas.setAttribute(\"height\",`${b}`),this._canvas.setAttribute(\"style\",\"display:none\"));const r=e.triangleCount;let i=e.key.id;e.triangleCount>0&&(i+=`, ${r}`);const o=this._canvas,s=o.getContext(\"2d\");return s.font=\"24px sans-serif\",s.textAlign=\"left\",s.textBaseline=\"top\",s.clearRect(0,0,A,b),r>1e5?(s.fillStyle=\"red\",s.fillRect(0,0,A,b),s.fillStyle=\"black\"):(s.clearRect(0,0,A,b),s.fillStyle=\"blue\"),s.fillText(i,0,0),e.texture=new d(t,{target:m.TEXTURE_2D,pixelFormat:_.RGBA,dataType:f.UNSIGNED_BYTE,samplingMode:h.NEAREST,wrapMode:c.CLAMP_TO_EDGE},o),e.texture}}export{x as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{BufferObject as t}from\"../../../webgl/BufferObject.js\";import{Usage as e,DataType as r,PrimitiveType as s}from\"../../../webgl/enums.js\";import{VertexArrayObject as i}from\"../../../webgl/VertexArrayObject.js\";import{VertexElementDescriptor as o}from\"../../../webgl/VertexElementDescriptor.js\";class n{constructor(s,n){this.rctx=s,this._vertexBuffer=t.createVertex(s,e.STATIC_DRAW,new Uint16Array(n)),this._vao=new i(s,new Map([[\"a_position\",0]]),{geometry:[new o(\"a_position\",2,r.SHORT,0,4)]},{geometry:this._vertexBuffer}),this._count=n.length/2}bind(){this.rctx.bindVAO(this._vao)}unbind(){this.rctx.bindVAO(null)}dispose(){this._vao.dispose(!1),this._vertexBuffer.dispose()}draw(){this.rctx.bindVAO(this._vao),this.rctx.drawArrays(s.TRIANGLE_STRIP,0,this._count)}}export{n as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{isSome as e,isNone as t}from\"../../../core/maybe.js\";class i{constructor(e,t,i){this.pixelBlock=e,this.extent=t,this.originalPixelBlock=i}get width(){return e(this.pixelBlock)?this.pixelBlock.width:0}get height(){return e(this.pixelBlock)?this.pixelBlock.height:0}render(e){const i=this.pixelBlock;if(t(i))return;const l=this.filter({pixelBlock:i});if(t(l.pixelBlock))return;const r=l.pixelBlock.getAsRGBA(),o=e.createImageData(l.pixelBlock.width,l.pixelBlock.height);o.data.set(r),e.putImageData(o,0,0)}getRenderedRasterPixels(){const e=this.filter({pixelBlock:this.pixelBlock});return t(e.pixelBlock)?null:{width:e.pixelBlock.width,height:e.pixelBlock.height,renderedRasterPixels:new Uint8Array(e.pixelBlock.getAsRGBA().buffer)}}}export{i as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nconst e=[\"layout\",\"centroid\",\"smooth\",\"case\",\"mat2x2\",\"mat2x3\",\"mat2x4\",\"mat3x2\",\"mat3x3\",\"mat3x4\",\"mat4x2\",\"mat4x3\",\"mat4x4\",\"uint\",\"uvec2\",\"uvec3\",\"uvec4\",\"samplerCubeShadow\",\"sampler2DArray\",\"sampler2DArrayShadow\",\"isampler2D\",\"isampler3D\",\"isamplerCube\",\"isampler2DArray\",\"usampler2D\",\"usampler3D\",\"usamplerCube\",\"usampler2DArray\",\"coherent\",\"restrict\",\"readonly\",\"writeonly\",\"resource\",\"atomic_uint\",\"noperspective\",\"patch\",\"sample\",\"subroutine\",\"common\",\"partition\",\"active\",\"filter\",\"image1D\",\"image2D\",\"image3D\",\"imageCube\",\"iimage1D\",\"iimage2D\",\"iimage3D\",\"iimageCube\",\"uimage1D\",\"uimage2D\",\"uimage3D\",\"uimageCube\",\"image1DArray\",\"image2DArray\",\"iimage1DArray\",\"iimage2DArray\",\"uimage1DArray\",\"uimage2DArray\",\"image1DShadow\",\"image2DShadow\",\"image1DArrayShadow\",\"image2DArrayShadow\",\"imageBuffer\",\"iimageBuffer\",\"uimageBuffer\",\"sampler1DArray\",\"sampler1DArrayShadow\",\"isampler1D\",\"isampler1DArray\",\"usampler1D\",\"usampler1DArray\",\"isampler2DRect\",\"usampler2DRect\",\"samplerBuffer\",\"isamplerBuffer\",\"usamplerBuffer\",\"sampler2DMS\",\"isampler2DMS\",\"usampler2DMS\",\"sampler2DMSArray\",\"isampler2DMSArray\",\"usampler2DMSArray\",\"trunc\",\"round\",\"roundEven\",\"isnan\",\"isinf\",\"floatBitsToInt\",\"floatBitsToUint\",\"intBitsToFloat\",\"uintBitsToFloat\",\"packSnorm2x16\",\"unpackSnorm2x16\",\"packUnorm2x16\",\"unpackUnorm2x16\",\"packHalf2x16\",\"unpackHalf2x16\",\"outerProduct\",\"transpose\",\"determinant\",\"inverse\",\"texture\",\"textureSize\",\"textureProj\",\"textureLod\",\"textureOffset\",\"texelFetch\",\"texelFetchOffset\",\"textureProjOffset\",\"textureLodOffset\",\"textureProjLod\",\"textureProjLodOffset\",\"textureGrad\",\"textureGradOffset\",\"textureProjGrad\",\"textureProjGradOffset\"];export{e as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nconst e={enableCache:!1};export{e as shaderTranspiler};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport\"../../core/has.js\";import{isSome as e}from\"../../core/maybe.js\";import{ShaderType as t}from\"./enums.js\";import r from\"./reservedWordsGLSL3.js\";import{shaderTranspiler as a}from\"./testUtils.js\";var o,n={exports:{}};void 0!==(o=[\"precision\",\"highp\",\"mediump\",\"lowp\",\"attribute\",\"const\",\"uniform\",\"varying\",\"break\",\"continue\",\"do\",\"for\",\"while\",\"if\",\"else\",\"in\",\"out\",\"inout\",\"float\",\"int\",\"void\",\"bool\",\"true\",\"false\",\"discard\",\"return\",\"mat2\",\"mat3\",\"mat4\",\"vec2\",\"vec3\",\"vec4\",\"ivec2\",\"ivec3\",\"ivec4\",\"bvec2\",\"bvec3\",\"bvec4\",\"sampler1D\",\"sampler2D\",\"sampler3D\",\"samplerCube\",\"sampler1DShadow\",\"sampler2DShadow\",\"struct\",\"asm\",\"class\",\"union\",\"enum\",\"typedef\",\"template\",\"this\",\"packed\",\"goto\",\"switch\",\"default\",\"inline\",\"noinline\",\"volatile\",\"public\",\"static\",\"extern\",\"external\",\"interface\",\"long\",\"short\",\"double\",\"half\",\"fixed\",\"unsigned\",\"input\",\"output\",\"hvec2\",\"hvec3\",\"hvec4\",\"dvec2\",\"dvec3\",\"dvec4\",\"fvec2\",\"fvec3\",\"fvec4\",\"sampler2DRect\",\"sampler3DRect\",\"sampler2DRectShadow\",\"sizeof\",\"cast\",\"namespace\",\"using\"])&&(n.exports=o);const i=n.exports;var l,s={exports:{}};l=s,function(e){var t=[\"<<=\",\">>=\",\"++\",\"--\",\"<<\",\">>\",\"<=\",\">=\",\"==\",\"!=\",\"&&\",\"||\",\"+=\",\"-=\",\"*=\",\"/=\",\"%=\",\"&=\",\"^^\",\"^=\",\"|=\",\"(\",\")\",\"[\",\"]\",\".\",\"!\",\"~\",\"*\",\"/\",\"%\",\"+\",\"-\",\"<\",\">\",\"&\",\"^\",\"|\",\"?\",\":\",\"=\",\",\",\";\",\"{\",\"}\"];void 0!==t&&(l.exports=t)}();const c=s.exports;var d={exports:{}};!function(e){!function(t){var r=function(){return[\"abs\",\"acos\",\"all\",\"any\",\"asin\",\"atan\",\"ceil\",\"clamp\",\"cos\",\"cross\",\"dFdx\",\"dFdy\",\"degrees\",\"distance\",\"dot\",\"equal\",\"exp\",\"exp2\",\"faceforward\",\"floor\",\"fract\",\"gl_BackColor\",\"gl_BackLightModelProduct\",\"gl_BackLightProduct\",\"gl_BackMaterial\",\"gl_BackSecondaryColor\",\"gl_ClipPlane\",\"gl_ClipVertex\",\"gl_Color\",\"gl_DepthRange\",\"gl_DepthRangeParameters\",\"gl_EyePlaneQ\",\"gl_EyePlaneR\",\"gl_EyePlaneS\",\"gl_EyePlaneT\",\"gl_Fog\",\"gl_FogCoord\",\"gl_FogFragCoord\",\"gl_FogParameters\",\"gl_FragColor\",\"gl_FragCoord\",\"gl_FragData\",\"gl_FragDepth\",\"gl_FragDepthEXT\",\"gl_FrontColor\",\"gl_FrontFacing\",\"gl_FrontLightModelProduct\",\"gl_FrontLightProduct\",\"gl_FrontMaterial\",\"gl_FrontSecondaryColor\",\"gl_LightModel\",\"gl_LightModelParameters\",\"gl_LightModelProducts\",\"gl_LightProducts\",\"gl_LightSource\",\"gl_LightSourceParameters\",\"gl_MaterialParameters\",\"gl_MaxClipPlanes\",\"gl_MaxCombinedTextureImageUnits\",\"gl_MaxDrawBuffers\",\"gl_MaxFragmentUniformComponents\",\"gl_MaxLights\",\"gl_MaxTextureCoords\",\"gl_MaxTextureImageUnits\",\"gl_MaxTextureUnits\",\"gl_MaxVaryingFloats\",\"gl_MaxVertexAttribs\",\"gl_MaxVertexTextureImageUnits\",\"gl_MaxVertexUniformComponents\",\"gl_ModelViewMatrix\",\"gl_ModelViewMatrixInverse\",\"gl_ModelViewMatrixInverseTranspose\",\"gl_ModelViewMatrixTranspose\",\"gl_ModelViewProjectionMatrix\",\"gl_ModelViewProjectionMatrixInverse\",\"gl_ModelViewProjectionMatrixInverseTranspose\",\"gl_ModelViewProjectionMatrixTranspose\",\"gl_MultiTexCoord0\",\"gl_MultiTexCoord1\",\"gl_MultiTexCoord2\",\"gl_MultiTexCoord3\",\"gl_MultiTexCoord4\",\"gl_MultiTexCoord5\",\"gl_MultiTexCoord6\",\"gl_MultiTexCoord7\",\"gl_Normal\",\"gl_NormalMatrix\",\"gl_NormalScale\",\"gl_ObjectPlaneQ\",\"gl_ObjectPlaneR\",\"gl_ObjectPlaneS\",\"gl_ObjectPlaneT\",\"gl_Point\",\"gl_PointCoord\",\"gl_PointParameters\",\"gl_PointSize\",\"gl_Position\",\"gl_ProjectionMatrix\",\"gl_ProjectionMatrixInverse\",\"gl_ProjectionMatrixInverseTranspose\",\"gl_ProjectionMatrixTranspose\",\"gl_SecondaryColor\",\"gl_TexCoord\",\"gl_TextureEnvColor\",\"gl_TextureMatrix\",\"gl_TextureMatrixInverse\",\"gl_TextureMatrixInverseTranspose\",\"gl_TextureMatrixTranspose\",\"gl_Vertex\",\"greaterThan\",\"greaterThanEqual\",\"inversesqrt\",\"length\",\"lessThan\",\"lessThanEqual\",\"log\",\"log2\",\"matrixCompMult\",\"max\",\"min\",\"mix\",\"mod\",\"normalize\",\"not\",\"notEqual\",\"pow\",\"radians\",\"reflect\",\"refract\",\"sign\",\"sin\",\"smoothstep\",\"sqrt\",\"step\",\"tan\",\"texture2D\",\"texture2DLod\",\"texture2DProj\",\"texture2DProjLod\",\"textureCube\",\"textureCubeLod\",\"texture2DLodEXT\",\"texture2DProjLodEXT\",\"textureCubeLodEXT\",\"texture2DGradEXT\",\"texture2DProjGradEXT\",\"textureCubeGradEXT\"]}();void 0!==r&&(e.exports=r)}()}(d);const u=d.exports;var g=999,p=9999,f=0,_=1,h=2,x=3,m=4,y=5,w=6,M=7,v=8,T=9,b=10,P=11,E=[\"block-comment\",\"line-comment\",\"preprocessor\",\"operator\",\"integer\",\"float\",\"ident\",\"builtin\",\"keyword\",\"whitespace\",\"eof\",\"integer\"];function C(){var e,t,r,a=0,o=0,n=g,l=[],s=[],d=1,C=0,k=0,j=!1,D=!1,F=\"\";return function(e){return s=[],null!==e?S(e.replace?e.replace(/\\r\\n/g,\"\\n\"):e):R()};function L(e){e.length&&s.push({type:E[n],data:e,position:k,line:d,column:C})}function S(t){var i;for(a=0,r=(F+=t).length;e=F[a],a0)continue;r=e.slice(0,1).join(\"\")}return L(r),k+=r.length,(l=l.slice(r.length)).length}}function q(){return/[^a-fA-F0-9]/.test(e)?(L(l.join(\"\")),n=g,a):(l.push(e),t=e,a+1)}function B(){return\".\"===e||/[eE]/.test(e)?(l.push(e),n=y,t=e,a+1):\"x\"===e&&1===l.length&&\"0\"===l[0]?(n=P,l.push(e),t=e,a+1):/[^\\d]/.test(e)?(L(l.join(\"\")),n=g,a):(l.push(e),t=e,a+1)}function H(){return\"f\"===e&&(l.push(e),t=e,a+=1),/[eE]/.test(e)||\"-\"===e&&/[eE]/.test(t)?(l.push(e),t=e,a+1):/[^\\d]/.test(e)?(L(l.join(\"\")),n=g,a):(l.push(e),t=e,a+1)}function N(){if(/[^\\d\\w_]/.test(e)){var r=l.join(\"\");return n=i.indexOf(r)>-1?v:u.indexOf(r)>-1?M:w,L(l.join(\"\")),n=g,a}return l.push(e),t=e,a+1}}function k(e){var t=C(),r=[];return r=(r=r.concat(t(e))).concat(t(null))}function j(e){return k(e)}function D(e){return e.map((e=>\"eof\"!==e.type?e.data:\"\")).join(\"\")}const F=[\"GL_OES_standard_derivatives\",\"GL_EXT_frag_depth\",\"GL_EXT_draw_buffers\",\"GL_EXT_shader_texture_lod\"];function L(e,t=\"100\",r=\"300 es\"){const a=/^\\s*\\#version\\s+([0-9]+(\\s+[a-zA-Z]+)?)\\s*/;for(const o of e)if(\"preprocessor\"===o.type){const e=a.exec(o.data);if(e){const a=e[1].replace(/\\s\\s+/g,\" \");if(a===r)return a;if(a===t)return o.data=\"#version \"+r,t;throw new Error(\"unknown glsl version: \"+a)}}return e.splice(0,0,{type:\"preprocessor\",data:\"#version \"+r},{type:\"whitespace\",data:\"\\n\"}),null}function S(e,t){for(let r=t-1;r>=0;r--){const t=e[r];if(\"whitespace\"!==t.type&&\"block-comment\"!==t.type){if(\"keyword\"!==t.type)break;if(\"attribute\"===t.data||\"in\"===t.data)return!0}}return!1}function R(e,t,r,a){a=a||r;for(const o of e)if(\"ident\"===o.type&&o.data===r){a in t?t[a]++:t[a]=0;return R(e,t,a+\"_\"+t[a],a)}return r}function V(e,t,r=\"afterVersion\"){function a(e,t){for(let r=t;rt=0;--e){const t=i[e];if(\"preprocessor\"===t.type){const r=t.data.match(/\\#extension\\s+(.*)\\:/);if(r&&r[1]&&F.includes(r[1].trim())){const t=i[e+1];i.splice(e,t&&\"whitespace\"===t.type?2:1)}const a=t.data.match(/\\#ifdef\\s+(.*)/);a&&a[1]&&F.includes(a[1].trim())&&(t.data=\"#if 1\");const o=t.data.match(/\\#ifndef\\s+(.*)/);o&&o[1]&&F.includes(o[1].trim())&&(t.data=\"#if 0\")}}return q(a,D(i))}const O=new Map;function U(e){return a.enableCache?O.get(e):null}function q(e,t){return a.enableCache&&O.set(e,t),t}export{I as transpileShader};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{update as t}from\"../../core/arrayUtils.js\";import\"../../core/has.js\";import{isSome as o,isNone as i}from\"../../core/maybe.js\";import{webglValidateShadersEnabled as e}from\"./checkWebGLError.js\";import{ContextType as n}from\"./context-util.js\";import{ShaderType as r,ResourceType as s}from\"./enums.js\";import{transpileShader as m}from\"./ShaderTranspiler.js\";const a=4294967295;class h{constructor(t,o,i,a,h=new Map){this._context=t,this._locations=a,this._uniformBlockBindings=h,this._refCount=1,this._compiled=!1,this._nameToUniformLocation={},this._nameToUniform1={},this._nameToUniform1v=new Map,this._nameToUniform2=new Map,this._nameToUniform3=new Map,this._nameToUniform4=new Map,this._nameToUniformMatrix3=new Map,this._nameToUniformMatrix4=new Map,t||console.error(\"RenderingContext isn't initialized!\"),0===o.length&&console.error(\"Shaders source should not be empty!\"),this._context.type===n.WEBGL2&&(o=m(o,r.VERTEX_SHADER),i=m(i,r.FRAGMENT_SHADER)),this._vShader=f(this._context,r.VERTEX_SHADER,o),this._fShader=f(this._context,r.FRAGMENT_SHADER,i),this._vShader&&this._fShader||console.error(\"Error loading shaders!\"),this._context.instanceCounter.increment(s.Shader,this),e()&&(this.vertexShader=o,this.fragmentShader=i)}get glName(){if(o(this._glName))return this._glName;if(i(this._vShader))return null;const t=this._context.gl,r=t.createProgram();if(t.attachShader(r,this._vShader),t.attachShader(r,this._fShader),this._locations.forEach(((o,i)=>t.bindAttribLocation(r,o,i))),t.linkProgram(r),e()&&!t.getProgramParameter(r,t.LINK_STATUS)&&console.error(`Could not link shader\\nvalidated: ${t.getProgramParameter(r,t.VALIDATE_STATUS)}, gl error ${t.getError()}, vertex: ${t.getShaderParameter(this._vShader,t.COMPILE_STATUS)}, fragment: ${t.getShaderParameter(this._fShader,t.COMPILE_STATUS)}, info log: ${t.getProgramInfoLog(r)}, vertex source: ${this.vertexShader}, fragment source: ${this.fragmentShader}`),this._context.type===n.WEBGL2){const o=t;for(const[t,i]of this._uniformBlockBindings){const e=o.getUniformBlockIndex(r,t);e0)return;const t=this._context.gl;this._vShader&&(t.deleteShader(this._vShader),this._vShader=null,this._context.instanceCounter.decrement(s.Shader,this)),this._fShader&&(t.deleteShader(this._fShader),this._fShader=null),this._glName&&(t.deleteProgram(this._glName),this._glName=null,this._context.instanceCounter.decrement(s.Program,this))}ref(){++this._refCount}_getUniformLocation(t){return void 0===this._nameToUniformLocation[t]&&(++l.numUniforms,this._nameToUniformLocation[t]=this._context.gl.getUniformLocation(this.glName,t)),this._nameToUniformLocation[t]}hasUniform(t){return null!==this._getUniformLocation(t)}setUniform1i(t,o){const i=this._nameToUniform1[t];void 0!==i&&o===i||(this._context.gl.uniform1i(this._getUniformLocation(t),o),this._nameToUniform1[t]=o)}setUniform1iv(t,o){g(this._nameToUniform1v,t,o)&&this._context.gl.uniform1iv(this._getUniformLocation(t),o)}setUniform2iv(t,o){g(this._nameToUniform2,t,o)&&this._context.gl.uniform2iv(this._getUniformLocation(t),o)}setUniform3iv(t,o){g(this._nameToUniform3,t,o)&&this._context.gl.uniform3iv(this._getUniformLocation(t),o)}setUniform4iv(t,o){g(this._nameToUniform4,t,o)&&this._context.gl.uniform4iv(this._getUniformLocation(t),o)}setUniform1f(t,o){const i=this._nameToUniform1[t];void 0!==i&&o===i||(this._context.gl.uniform1f(this._getUniformLocation(t),o),this._nameToUniform1[t]=o)}setUniform1fv(t,o){g(this._nameToUniform1v,t,o)&&this._context.gl.uniform1fv(this._getUniformLocation(t),o)}setUniform2f(t,o,i){const e=this._nameToUniform2.get(t);void 0===e?(this._context.gl.uniform2f(this._getUniformLocation(t),o,i),this._nameToUniform2.set(t,[o,i])):o===e[0]&&i===e[1]||(this._context.gl.uniform2f(this._getUniformLocation(t),o,i),e[0]=o,e[1]=i)}setUniform2fv(t,o){g(this._nameToUniform2,t,o)&&this._context.gl.uniform2fv(this._getUniformLocation(t),o)}setUniform3f(t,o,i,e){const n=this._nameToUniform3.get(t);void 0===n?(this._context.gl.uniform3f(this._getUniformLocation(t),o,i,e),this._nameToUniform3[t]=[o,i,e]):o===n[0]&&i===n[1]&&e===n[2]||(this._context.gl.uniform3f(this._getUniformLocation(t),o,i,e),n[0]=o,n[1]=i,n[2]=e)}setUniform3fv(t,o){g(this._nameToUniform3,t,o)&&this._context.gl.uniform3fv(this._getUniformLocation(t),o)}setUniform4f(t,o,i,e,n){const r=this._nameToUniform4.get(t);void 0===r?(this._context.gl.uniform4f(this._getUniformLocation(t),o,i,e,n),this._nameToUniform4.set(t,[o,i,e,n])):void 0!==r&&o===r[0]&&i===r[1]&&e===r[2]&&n===r[3]||(this._context.gl.uniform4f(this._getUniformLocation(t),o,i,e,n),r[0]=o,r[1]=i,r[2]=e,r[3]=n)}setUniform4fv(t,o){g(this._nameToUniform4,t,o)&&this._context.gl.uniform4fv(this._getUniformLocation(t),o)}setUniformMatrix3fv(t,o,i=!1){g(this._nameToUniformMatrix3,t,o)&&this._context.gl.uniformMatrix3fv(this._getUniformLocation(t),i,o)}setUniformMatrix4fv(t,o,i=!1){g(this._nameToUniformMatrix4,t,o)&&this._context.gl.uniformMatrix4fv(this._getUniformLocation(t),i,o)}stop(){}}function f(t,o,i){const n=t.gl,s=n.createShader(o);return n.shaderSource(s,i),n.compileShader(s),e()&&!n.getShaderParameter(s,n.COMPILE_STATUS)&&(console.error(\"Compile error in \".concat(o===r.VERTEX_SHADER?\"vertex\":\"fragment\",\" shader\")),console.error(n.getShaderInfoLog(s)),console.error(_(i))),l.enabled&&(l.compiledLOC+=i.match(/\\n/g).length+1),s}function _(t){let o=2;return t.replace(/\\n/g,(()=>\"\\n\"+c(o++)+\":\"))}function c(t){return t>=1e3?t.toString():(\" \"+t).slice(-3)}function g(o,i,e){const n=o.get(i);return n?t(n,e):(o.set(i,Array.from(e)),!0)}const l={compiledLOC:0,numUniforms:0,enabled:!1};export{h as Program,l as test};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nvar e,n,t,r={exports:{}};e=r,n=function(){function e(e,t,x){x=x||2;var i,u,v,o,y,p,a,l=t&&t.length,h=l?t[0]*x:e.length,s=n(e,0,h,x,!0),c=[];if(!s||s.next===s.prev)return c;if(l&&(s=f(e,t,s,x)),e.length>80*x){i=v=e[0],u=o=e[1];for(var Z=x;Zv&&(v=y),p>o&&(o=p);a=0!==(a=Math.max(v-i,o-u))?1/a:0}return r(s,c,x,i,u,a),c}function n(e,n,t,r,x){var i,u;if(x===E(e,n,t,r)>0)for(i=n;i=n;i-=r)u=B(i,e[i],e[i+1],u);if(u&&M(u,u.next)){var v=u.next;C(u),u=v}return u}function t(e,n){if(!e)return e;n||(n=e);var t,r=e;do{if(t=!1,r.steiner||!M(r,r.next)&&0!==w(r.prev,r,r.next))r=r.next;else{var x=r.prev;if(C(r),(r=n=x)===r.next)break;t=!0}}while(t||r!==n);return n}function r(e,n,f,o,y,p,a){if(e){!a&&p&&h(e,o,y,p);for(var l,s,c=e;e.prev!==e.next;)if(l=e.prev,s=e.next,p?i(e,o,y,p):x(e))n.push(l.i/f),n.push(e.i/f),n.push(s.i/f),C(e),e=s.next,c=s.next;else if((e=s)===c){a?1===a?r(e=u(t(e),n,f),n,f,o,y,p,2):2===a&&v(e,n,f,o,y,p):r(t(e),n,f,o,y,p,1);break}}}function x(e){var n=e.prev,t=e,r=e.next;if(w(n,t,r)>=0)return!1;for(var x=e.next.next;x!==e.prev;){if(g(n.x,n.y,t.x,t.y,r.x,r.y,x.x,x.y)&&w(x.prev,x,x.next)>=0)return!1;x=x.next}return!0}function i(e,n,t,r){var x=e.prev,i=e,u=e.next;if(w(x,i,u)>=0)return!1;for(var v=x.xi.x?x.x>u.x?x.x:u.x:i.x>u.x?i.x:u.x,y=x.y>i.y?x.y>u.y?x.y:u.y:i.y>u.y?i.y:u.y,p=c(v,f,n,t,r),a=c(o,y,n,t,r),l=e.prevZ,h=e.nextZ;l&&l.z>=p&&h&&h.z<=a;){if(l!==e.prev&&l!==e.next&&g(x.x,x.y,i.x,i.y,u.x,u.y,l.x,l.y)&&w(l.prev,l,l.next)>=0)return!1;if(l=l.prevZ,h!==e.prev&&h!==e.next&&g(x.x,x.y,i.x,i.y,u.x,u.y,h.x,h.y)&&w(h.prev,h,h.next)>=0)return!1;h=h.nextZ}for(;l&&l.z>=p;){if(l!==e.prev&&l!==e.next&&g(x.x,x.y,i.x,i.y,u.x,u.y,l.x,l.y)&&w(l.prev,l,l.next)>=0)return!1;l=l.prevZ}for(;h&&h.z<=a;){if(h!==e.prev&&h!==e.next&&g(x.x,x.y,i.x,i.y,u.x,u.y,h.x,h.y)&&w(h.prev,h,h.next)>=0)return!1;h=h.nextZ}return!0}function u(e,n,r){var x=e;do{var i=x.prev,u=x.next.next;!M(i,u)&&z(i,x,x.next,u)&&j(i,u)&&j(u,i)&&(n.push(i.i/r),n.push(x.i/r),n.push(u.i/r),C(x),C(x.next),x=e=u),x=x.next}while(x!==e);return t(x)}function v(e,n,x,i,u,v){var f=e;do{for(var o=f.next.next;o!==f.prev;){if(f.i!==o.i&&d(f,o)){var y=A(f,o);return f=t(f,f.next),y=t(y,y.next),r(f,n,x,i,u,v),void r(y,n,x,i,u,v)}o=o.next}f=f.next}while(f!==e)}function f(e,r,x,i){var u,v,f,y=[];for(u=0,v=r.length;u=r.next.y&&r.next.y!==r.y){var v=r.x+(i-r.y)*(r.next.x-r.x)/(r.next.y-r.y);if(v<=x&&v>u){if(u=v,v===x){if(i===r.y)return r;if(i===r.next.y)return r.next}t=r.x=r.x&&r.x>=y&&x!==r.x&&g(it.x||r.x===t.x&&l(t,r)))&&(t=r,a=f)),r=r.next}while(r!==o);return t}function l(e,n){return w(e.prev,e,n.prev)<0&&w(n.next,e,e.next)<0}function h(e,n,t,r){var x=e;do{null===x.z&&(x.z=c(x.x,x.y,n,t,r)),x.prevZ=x.prev,x.nextZ=x.next,x=x.next}while(x!==e);x.prevZ.nextZ=null,x.prevZ=null,s(x)}function s(e){var n,t,r,x,i,u,v,f,o=1;do{for(t=e,e=null,i=null,u=0;t;){for(u++,r=t,v=0,n=0;n0||f>0&&r;)0!==v&&(0===f||!r||t.z<=r.z)?(x=t,t=t.nextZ,v--):(x=r,r=r.nextZ,f--),i?i.nextZ=x:e=x,x.prevZ=i,i=x;t=r}i.nextZ=null,o*=2}while(u>1);return e}function c(e,n,t,r,x){return(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=32767*(e-t)*x)|e<<8))|e<<4))|e<<2))|e<<1))|(n=1431655765&((n=858993459&((n=252645135&((n=16711935&((n=32767*(n-r)*x)|n<<8))|n<<4))|n<<2))|n<<1))<<1}function Z(e){var n=e,t=e;do{(n.x=0&&(e-u)*(r-v)-(t-u)*(n-v)>=0&&(t-u)*(i-v)-(x-u)*(r-v)>=0}function d(e,n){return e.next.i!==n.i&&e.prev.i!==n.i&&!k(e,n)&&(j(e,n)&&j(n,e)&&q(e,n)&&(w(e.prev,e,n.prev)||w(e,n.prev,n))||M(e,n)&&w(e.prev,e,e.next)>0&&w(n.prev,n,n.next)>0)}function w(e,n,t){return(n.y-e.y)*(t.x-n.x)-(n.x-e.x)*(t.y-n.y)}function M(e,n){return e.x===n.x&&e.y===n.y}function z(e,n,t,r){var x=m(w(e,n,t)),i=m(w(e,n,r)),u=m(w(t,r,e)),v=m(w(t,r,n));return x!==i&&u!==v||!(0!==x||!b(e,t,n))||!(0!==i||!b(e,r,n))||!(0!==u||!b(t,e,r))||!(0!==v||!b(t,n,r))}function b(e,n,t){return n.x<=Math.max(e.x,t.x)&&n.x>=Math.min(e.x,t.x)&&n.y<=Math.max(e.y,t.y)&&n.y>=Math.min(e.y,t.y)}function m(e){return e>0?1:e<0?-1:0}function k(e,n){var t=e;do{if(t.i!==e.i&&t.next.i!==e.i&&t.i!==n.i&&t.next.i!==n.i&&z(t,t.next,e,n))return!0;t=t.next}while(t!==e);return!1}function j(e,n){return w(e.prev,e,e.next)<0?w(e,n,e.next)>=0&&w(e,e.prev,n)>=0:w(e,n,e.prev)<0||w(e,e.next,n)<0}function q(e,n){var t=e,r=!1,x=(e.x+n.x)/2,i=(e.y+n.y)/2;do{t.y>i!=t.next.y>i&&t.next.y!==t.y&&x<(t.next.x-t.x)*(i-t.y)/(t.next.y-t.y)+t.x&&(r=!r),t=t.next}while(t!==e);return r}function A(e,n){var t=new D(e.i,e.x,e.y),r=new D(n.i,n.x,n.y),x=e.next,i=n.prev;return e.next=n,n.prev=e,t.next=x,x.prev=t,r.next=t,t.prev=r,i.next=r,r.prev=i,r}function B(e,n,t,r){var x=new D(e,n,t);return r?(x.next=r.next,x.prev=r,r.next.prev=x,r.next=x):(x.prev=x,x.next=x),x}function C(e){e.next.prev=e.prev,e.prev.next=e.next,e.prevZ&&(e.prevZ.nextZ=e.nextZ),e.nextZ&&(e.nextZ.prevZ=e.prevZ)}function D(e,n,t){this.i=e,this.x=n,this.y=t,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}function E(e,n,t,r){for(var x=0,i=n,u=t-r;i0&&(r+=e[x-1].length,t.holes.push(r))}return t},e},void 0!==(t=n())&&(e.exports=t);const x=r.exports;export{x as e};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport e from\"../../../../core/Error.js\";import t from\"../../../../core/Logger.js\";import{isSome as r}from\"../../../../core/maybe.js\";import{e as o}from\"../../../../chunks/earcut.js\";import{a as s}from\"../../../../chunks/vec2.js\";import{a as n}from\"../../../../chunks/vec2f64.js\";import{convertFromNestedArray as i,convertFromPolygon as c}from\"../../../../layers/graphics/featureConversionUtils.js\";import a from\"../../../../layers/graphics/OptimizedGeometry.js\";import{i1616to32 as f}from\"./number.js\";import{BufferObject as h}from\"../../../webgl/BufferObject.js\";import{PrimitiveType as m,Usage as u,DataType as y}from\"../../../webgl/enums.js\";const x=t.getLogger(\"esri.views.2d.engine.webgl.Mesh2D\"),g=t=>{switch(t.BYTES_PER_ELEMENT){case 1:return y.UNSIGNED_BYTE;case 2:return y.UNSIGNED_SHORT;case 4:return y.UNSIGNED_INT;default:throw new e(\"Cannot get DataType of array\")}},p=(e,t,r,o)=>{let s=0;for(let n=1;n0:s<0},l=({coords:e,lengths:t},r)=>{const s=[];for(let n=0,i=0;n({...r,[o]:h.createVertex(e,t,this.vertices[o])})),{})),this._cache.vertexBuffers}}export{w as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport t from\"../../../../core/Error.js\";import e from\"../../../../core/Logger.js\";import{isSome as r,isNone as s}from\"../../../../core/maybe.js\";import{watch as i}from\"../../../../core/reactiveUtils.js\";import{c as o}from\"../../../../chunks/mat3f32.js\";import{DisplayObject as h}from\"../DisplayObject.js\";import a from\"./Mesh2D.js\";import{VertexArrayObject as c}from\"../../../webgl/VertexArrayObject.js\";const n=e.getLogger(\"esri.views.2d.engine.webgl.ClippingInfo\"),m=t=>parseFloat(t)/100;class p extends h{constructor(t,e){super(),this._clip=e,this._cache={},this.stage=t,this._handle=i((()=>e.version),(()=>this._invalidate())),this.ready()}static fromClipArea(t,e){return new p(t,e)}_destroyGL(){r(this._cache.mesh)&&(this._cache.mesh.destroy(),this._cache.mesh=null),r(this._cache.vao)&&(this._cache.vao.dispose(),this._cache.vao=null)}destroy(){this._destroyGL(),this._handle.remove()}getVAO(t,e,r,i){const[o,h]=e.size;if(\"geometry\"!==this._clip.type&&this._lastWidth===o&&this._lastHeight===h||(this._lastWidth=o,this._lastHeight=h,this._destroyGL()),s(this._cache.vao)){const s=this._createMesh(e,this._clip),o=s.getIndexBuffer(t),h=s.getVertexBuffers(t);this._cache.mesh=s,this._cache.vao=new c(t,r,i,h,o)}return this._cache.vao}_createTransforms(){return{dvs:o()}}_invalidate(){this._destroyGL(),this.requestRender()}_createScreenRect(t,e){const[r,s]=t.size,i=\"string\"==typeof e.left?m(e.left)*r:e.left,o=\"string\"==typeof e.right?m(e.right)*r:e.right,h=\"string\"==typeof e.top?m(e.top)*s:e.top,a=\"string\"==typeof e.bottom?m(e.bottom)*s:e.bottom,c=i,n=h;return{x:c,y:n,width:Math.max(r-o-c,0),height:Math.max(s-a-n,0)}}_createMesh(e,r){switch(r.type){case\"rect\":return a.fromRect(this._createScreenRect(e,r));case\"path\":return a.fromPath(r);case\"geometry\":return a.fromGeometry(e,r);default:return n.error(new t(\"mapview-bad-type\",\"Unable to create ClippingInfo mesh from clip of type: ${clip.type}\")),a.fromRect({x:0,y:0,width:1,height:1})}}}export{p as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport\"../../../../core/has.js\";import{isNone as e,isSome as r}from\"../../../../core/maybe.js\";import{c as s}from\"../../../../chunks/mat3f32.js\";import{brushes as t}from\"../brushes.js\";import{Container as i}from\"../Container.js\";import n from\"./ClippingInfo.js\";import{WGLDrawPhase as o}from\"./enums.js\";class a extends i{constructor(){super(...arguments),this.name=this.constructor.name}set clips(e){this._clips=e,this.children.forEach((r=>r.clips=e)),this._updateClippingInfo()}_createTransforms(){return{dvs:s()}}doRender(e){const r=this.createRenderParams(e),{painter:s,globalOpacity:t,profiler:i,drawPhase:n}=r,a=n===o.LABEL||n===o.HIGHLIGHT?1:t*this.computedOpacity;i.recordContainerStart(this.name),s.beforeRenderLayer(r,this._clippingInfos?255:0,a),this.updateTransforms(e.state),this.renderChildren(r),s.compositeLayer(r,a),i.recordContainerEnd()}renderChildren(r){e(this._renderPasses)&&(this._renderPasses=this.prepareRenderPasses(r.painter));for(const e of this.children)e.beforeRender(r);for(const e of this._renderPasses)try{e.render(r)}catch(s){}for(const e of this.children)e.afterRender(r)}createRenderParams(e){return e.requireFBO=this.requiresDedicatedFBO,e}prepareRenderPasses(e){return[e.registerRenderPass({name:\"clip\",brushes:[t.clip],target:()=>this._clippingInfos,drawPhase:o.MAP|o.LABEL|o.LABEL_ALPHA|o.DEBUG|o.HIGHLIGHT})]}updateTransforms(e){for(const r of this.children)r.setTransform(e)}onAttach(){super.onAttach(),this._updateClippingInfo()}onDetach(){super.onDetach(),this._updateClippingInfo()}_updateClippingInfo(){if(r(this._clippingInfos)&&(this._clippingInfos.forEach((e=>e.destroy())),this._clippingInfos=null),!this.stage)return;const e=this._clips;r(e)&&e.length&&(this._clippingInfos=e.items.map((e=>n.fromClipArea(this.stage,e)))),this.requestRender()}}export{a as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{isSome as t,isNone as e}from\"../../../core/maybe.js\";import n from\"../PixelBlock.js\";function i(e){return t(e)&&\"esri.layers.support.PixelBlock\"===e.declaredClass&&e.pixels&&e.pixels.length>0}function l(t,e){if(!e?.length||!i(t))return t;const l=t.pixels.length;return e&&e.some((t=>t>=l))||1===l&&1===e.length&&0===e[0]?t:l!==e.length||e.some(((t,e)=>t!==e))?new n({pixelType:t.pixelType,width:t.width,height:t.height,mask:t.mask,validPixelCount:t.validPixelCount,maskIsAlpha:t.maskIsAlpha,pixels:e.map((e=>t.pixels[e])),statistics:t.statistics&&e.map((e=>t.statistics[e]))}):t}function o(t){if(!t)return;const e=t.colormap;if(!e||0===e.length)return;const n=e.sort(((t,e)=>t[0]-e[0]));let i=0;n[0][0]<0&&(i=n[0][0]);const l=Math.max(256,n[n.length-1][0]-i+1),o=new Uint8Array(4*l),r=[];let s,a=0,h=0;const f=5===n[0].length;if(l>65536)return n.forEach((t=>{r[t[0]-i]=f?t.slice(1):t.slice(1).concat([255])})),{indexed2DColormap:r,offset:i,alphaSpecified:f};if(t.fillUnspecified)for(s=n[h],a=s[0]-i;ac?o[u]=0:(x[u]=s[g],m[u]=s[g+1],d[u]=s[g+2],o[u]=s[g+3]));else{for(o=new Uint8Array(r),u=0;uc?o[u]=0:(x[u]=s[g],m[u]=s[g+1],d[u]=s[g+2],o[u]=s[g+3]);n.mask=o}else if(o)for(u=0;ua)));const u=[];let p,x,m;if(h)if(null==o)for(f=0;f1;){if(f===c.value){d=!0;break}f>c.value?u=m:p=m,m=Math.floor((u+p)/2),c=e[Math.floor(m)]}d||(f===e[u].value?(c=e[u],d=!0):f===e[p].value?(c=e[p],d=!0):fe[u].value&&(ft.pixelBlock));if(!i||e(i.pixelBlock))return null;const l=(i.extent.xmax-i.extent.xmin)/i.pixelBlock.width,o=(i.extent.ymax-i.extent.ymin)/i.pixelBlock.height,r=.01*Math.min(l,o),s=t.sort(((t,e)=>Math.abs(t.extent.ymax-e.extent.ymax)>r?e.extent.ymax-t.extent.ymax:Math.abs(t.extent.xmin-e.extent.xmin)>r?t.extent.xmin-e.extent.xmin:0)),a=Math.min.apply(null,s.map((t=>t.extent.xmin))),h=Math.min.apply(null,s.map((t=>t.extent.ymin))),f=Math.max.apply(null,s.map((t=>t.extent.xmax))),c=Math.max.apply(null,s.map((t=>t.extent.ymax))),p={x:Math.round((n.xmin-a)/l),y:Math.round((c-n.ymax)/o)},x={width:Math.round((f-a)/l),height:Math.round((c-h)/o)},m={width:Math.round((n.xmax-n.xmin)/l),height:Math.round((n.ymax-n.ymin)/o)};if(Math.round(x.width/i.pixelBlock.width)*Math.round(x.height/i.pixelBlock.height)!==s.length||p.x<0||p.y<0||x.widtht.pixelBlock)),x,{clipOffset:p,clipSize:m})}}function c(t,e,n,i,l,o){const{width:r,height:s}=n.block,{x:a,y:f}=n.offset,{width:c,height:u}=n.mosaic,p=h(r,s,i,l,a,f,c,u);let x=0,m=0;if(o){const t=o.hasGCSSShiftTransform?360:o.halfWorldWidth,e=r*o.resolutionX,n=o.startX+i*e,l=n+e;nt?m=o.rightPadding:n>=t&&(x=o.leftMargin-o.rightPadding,m=0)}if(p.xmax-=m,\"number\"!=typeof e)for(let h=p.ymin;hi(t)));if(e(u))return null;const x=a?a.width:o.width,m=a?a.height:o.height,d=u.width,y=u.height,g=o.width/d,w=o.height/y,k={offset:s||{x:0,y:0},mosaic:a||o,block:{width:d,height:y}},M=u.pixelType,A=n.getPixelArrayConstructor(M),U=u.pixels.length,C=[];let T,S;for(let t=0;te(t)||t.mask&&t.mask.length>0))){B=new Uint8Array(x*m);for(let e=0;et(e)));if(e(s))return null;const a=l.some((e=>!t(e)||!!e.mask)),{width:h,height:f}=o,c=a?new Uint8Array(h*f):null,{blockWidths:u}=r,p=[],x=s.getPlaneCount(),m=n.getPixelArrayConstructor(s.pixelType);if(a)for(let t=0,e=0;tl||h>o)return t;if(0===r&&0===s&&a===l&&h===o)return t;t.mask||(t.mask=new Uint8Array(l*o));const f=t.mask;for(let i=0;i=h||e=a?0:1}return t.updateStatistics(),t}function m(t){if(!i(t))return null;const e=t.clone(),{width:n,height:l,pixels:o,mask:r}=t,s=o[0],a=e.pixels[0];for(let i=2;ie&&(n=o.value,e=i),o=l.next();return n}function y(t,e,n){if(0===n)return;const i=t.get(e);1===i?t.delete(e):t.set(e,i-1)}function g(t,e,n){0!==n&&t.set(e,t.has(e)?t.get(e)+1:1)}function w(t,e,l){let{x:o,y:r}=e;const{width:s,height:a}=l;if(0===o&&0===r&&a===t.height&&s===t.width)return t;const{width:h,height:f}=t,c=Math.max(0,r),u=Math.max(0,o),p=Math.min(o+s,h),x=Math.min(r+a,f);if(p<0||x<0||!i(t))return null;o=Math.max(0,-o),r=Math.max(0,-r);const{pixels:m,mask:d}=t,y=s*a,g=m.length,w=[];for(let i=0;i{const i=t instanceof Float32Array||t instanceof Float64Array?0:.5;for(let l=0;l 1.0) {\\ncolor = lum + ((color - lum) * (1.0 - lum)) / (maxcol - lum);\\n}\\nreturn color;\\n}\\nvec3 setLum(vec3 cbase, vec3 clum) {\\nfloat lbase = lumv3(cbase);\\nfloat llum = lumv3(clum);\\nfloat ldiff = llum - lbase;\\nvec3 color = cbase + vec3(ldiff);\\nreturn clipColor(color);\\n}\\nvec3 setLumSat(vec3 cbase, vec3 csat, vec3 clum)\\n{\\nfloat minbase = minv3(cbase);\\nfloat sbase = satv3(cbase);\\nfloat ssat = satv3(csat);\\nvec3 color;\\nif (sbase > 0.0) {\\ncolor = (cbase - minbase) * ssat / sbase;\\n} else {\\ncolor = vec3(0.0);\\n}\\nreturn setLum(color, clum);\\n}\\nvoid main() {\\nvec4 src = texture2D(u_layerTexture, v_uv);\\n#ifdef NORMAL\\ngl_FragColor = src * u_opacity;\\n#else\\nvec4 dst = texture2D(u_backbufferTexture, v_uv);\\nvec3 Cs = src.a == 0.0 ? src.rgb : vec3(src.rgb / src.a);\\nvec3 Cb = dst.a == 0.0 ? dst.rgb : vec3(dst.rgb / dst.a);\\nfloat as = u_opacity * src.a;\\nfloat ab = dst.a;\\n#ifdef DESTINATION_OVER\\ngl_FragColor = vec4(as * Cs * (1.0 - ab) + ab * Cb, as + ab - as * ab);\\n#endif\\n#ifdef SOURCE_IN\\nvec4 color = vec4(as * Cs * ab, as * ab);\\nvec4 fadeColor = (1.0 - u_opacity) * u_inFadeOpacity * vec4(ab * Cb, ab);\\ngl_FragColor = color + fadeColor;\\n#endif\\n#ifdef DESTINATION_IN\\nvec4 color = vec4(ab * Cb * as, ab * as);\\nvec4 fadeColor = (1.0 - u_opacity) * u_inFadeOpacity * vec4(ab * Cb, ab);\\ngl_FragColor = color + fadeColor;\\n#endif\\n#ifdef SOURCE_OUT\\ngl_FragColor = vec4(as * Cs * (1.0 - ab), as * (1.0 - ab));\\n#endif\\n#ifdef DESTINATION_OUT\\ngl_FragColor = vec4(ab * Cb * (1.0 - as), ab * (1.0 - as));\\n#endif\\n#ifdef SOURCE_ATOP\\ngl_FragColor = vec4(as * Cs * ab + ab * Cb * (1.0 - as), ab);\\n#endif\\n#ifdef DESTINATION_ATOP\\ngl_FragColor = vec4(as * Cs * (1.0 - ab) + ab * Cb * as, as);\\n#endif\\n#ifdef XOR\\ngl_FragColor = vec4(as * Cs * (1.0 - ab) + ab * Cb * (1.0 - as),\\nas * (1.0 - ab) + ab * (1.0 - as));\\n#endif\\n#ifdef MULTIPLY\\ngl_FragColor = vec4(as * Cs * ab * Cb + (1.0 - ab) * as * Cs + (1.0 - as) * ab * Cb,\\nas + ab * (1.0 - as));\\n#endif\\n#ifdef SCREEN\\ngl_FragColor = vec4((Cs + Cb - Cs * Cb) * as * ab + Cs * as * (1.0 - ab) + Cb * ab *(1.0 - as),\\nas + ab * (1.0 - as));\\n#endif\\n#ifdef OVERLAY\\nvec3 f = vec3(overlay(Cb.r, Cs.r), overlay(Cb.g, Cs.g), overlay(Cb.b, Cs.b));\\ngl_FragColor = vec4(f * as * ab + Cs * as * (1.0 - ab) + Cb * ab *(1.0 - as),\\nas + ab * (1.0 - as));\\n#endif\\n#ifdef DARKEN\\ngl_FragColor = vec4(min(Cs, Cb) * as * ab + Cs * as * (1.0 - ab) + Cb * ab *(1.0 - as),\\nas + ab * (1.0 - as));\\n#endif\\n#ifdef LIGHTER\\ngl_FragColor = vec4(as * Cs + ab * Cb, as + ab);\\n#endif\\n#ifdef LIGHTEN\\ngl_FragColor = vec4(max(Cs, Cb) * as * ab + Cs * as * (1.0 - ab) + Cb * ab *(1.0 - as),\\nas + ab * (1.0 - as));\\n#endif\\n#ifdef COLOR_DODGE\\nvec3 f = vec3(colorDodge(Cb.r, Cs.r), colorDodge(Cb.g, Cs.g), colorDodge(Cb.b, Cs.b));\\ngl_FragColor = vec4(f * as * ab + Cs * as * (1.0 - ab) + Cb * ab *(1.0 - as),\\nas + ab * (1.0 - as));\\n#endif\\n#ifdef COLOR_BURN\\nvec3 f = vec3(colorBurn(Cb.r, Cs.r), colorBurn(Cb.g, Cs.g), colorBurn(Cb.b, Cs.b));\\ngl_FragColor = vec4(f * as * ab + Cs * as * (1.0 - ab) + Cb * ab *(1.0 - as),\\nas + ab * (1.0 - as));\\n#endif\\n#ifdef HARD_LIGHT\\nvec3 f = vec3(hardLight(Cb.r, Cs.r), hardLight(Cb.g, Cs.g), hardLight(Cb.b, Cs.b));\\ngl_FragColor = vec4(f * as * ab + Cs * as * (1.0 - ab) + Cb * ab *(1.0 - as),\\nas + ab * (1.0 - as));\\n#endif\\n#ifdef SOFT_LIGHT\\nvec3 f = vec3(softLight(Cb.r, Cs.r), softLight(Cb.g, Cs.g), softLight(Cb.b, Cs.b));\\ngl_FragColor = vec4(f * as * ab + Cs * as * (1.0 - ab) + Cb * ab *(1.0 - as),\\nas + ab * (1.0 - as));\\n#endif\\n#ifdef DIFFERENCE\\ngl_FragColor = vec4(abs(Cb - Cs) * as * ab + Cs * as * (1.0 - ab) + Cb * ab *(1.0 - as),\\nas + ab * (1.0 - as));\\n#endif\\n#ifdef EXCLUSION\\nvec3 f = Cs + Cb - 2.0 * Cs * Cb;\\ngl_FragColor = vec4(f * as * ab + Cs * as * (1.0 - ab) + Cb * ab *(1.0 - as),\\nas + ab * (1.0 - as));\\n#endif\\n#ifdef INVERT\\ngl_FragColor = vec4((1.0 - Cb) * as * ab + Cb * ab * (1.0 - as), ab);\\n#endif\\n#ifdef VIVID_LIGHT\\nvec3 f = vec3(vividLight(Cb.r, Cs.r),\\nvividLight(Cb.g, Cs.g),\\nvividLight(Cb.b, Cs.b));\\ngl_FragColor = vec4(f * as * ab + Cs * as * (1.0 - ab) + Cb * ab *(1.0 - as),\\nas + ab * (1.0 - as));\\n#endif\\n#ifdef HUE\\nvec3 f = setLumSat(Cs,Cb,Cb);\\ngl_FragColor = vec4(f * as * ab + Cs * as * (1.0 - ab) + Cb * ab *(1.0 - as),\\nas + ab * (1.0 - as));\\n#endif\\n#ifdef SATURATION\\nvec3 f = setLumSat(Cb,Cs,Cb);\\ngl_FragColor = vec4(f * as * ab + Cs * as * (1.0 - ab) + Cb * ab *(1.0 - as),\\nas + ab * (1.0 - as));\\n#endif\\n#ifdef COLOR\\nvec3 f = setLum(Cs,Cb);\\ngl_FragColor = vec4(f * as * ab + Cs * as * (1.0 - ab) + Cb * ab *(1.0 - as),\\nas + ab * (1.0 - as));\\n#endif\\n#ifdef LUMINOSITY\\nvec3 f = setLum(Cb,Cs);\\ngl_FragColor = vec4(f * as * ab + Cs * as * (1.0 - ab) + Cb * ab *(1.0 - as),\\nas + ab * (1.0 - as));\\n#endif\\n#ifdef PLUS\\ngl_FragColor = clamp(vec4(src.r + Cb.r, src.g + Cb.g, src.b + Cb.b, as + ab), 0.0, 1.0);\\n#endif\\n#ifdef MINUS\\ngl_FragColor = vec4(clamp(vec3(Cb.r - src.r, Cb.g - src.g, Cb.b - src.b), 0.0, 1.0), ab * as);\\n#endif\\n#ifdef AVERAGE\\nvec3 f = (Cb + Cs) / 2.0;\\ngl_FragColor = vec4(f * as * ab + Cs * as * (1.0 - ab) + Cb * ab *(1.0 - as),\\nas + ab * (1.0 - as));\\n#endif\\n#ifdef REFLECT\\nvec3 f = vec3(reflectBlend(Cb.r, Cs.r),\\nreflectBlend(Cb.g, Cs.g),\\nreflectBlend(Cb.b, Cs.b));\\ngl_FragColor = vec4(f * as * ab + Cs * as * (1.0 - ab) + Cb * ab *(1.0 - as),\\nas + ab * (1.0 - as));\\n#endif\\n#endif\\n}\",\"blend.vert\":\"attribute vec2 a_position;\\nvarying mediump vec2 v_uv;\\nvoid main(void) {\\ngl_Position = vec4(a_position , 0.0, 1.0);\\nv_uv = (a_position + 1.0) / 2.0;\\n}\"},dot:{dot:{\"dot.frag\":\"precision mediump float;\\nvarying vec4 v_color;\\nvarying float v_dotRatio;\\nvarying float v_invEdgeRatio;\\nuniform highp float u_tileZoomFactor;\\nvoid main()\\n{\\nfloat dist = length(gl_PointCoord - vec2(.5, .5)) * 2.;\\nfloat alpha = smoothstep(0., 1., v_invEdgeRatio * (dist - v_dotRatio) + 1.);\\ngl_FragColor = v_color * alpha;\\n}\",\"dot.vert\":\"precision highp float;\\nattribute vec2 a_pos;\\nuniform sampler2D u_texture;\\nuniform highp mat3 u_dvsMat3;\\nuniform highp float u_tileZoomFactor;\\nuniform highp float u_dotSize;\\nuniform highp float u_pixelRatio;\\nvarying vec2 v_pos;\\nvarying vec4 v_color;\\nvarying float v_dotRatio;\\nvarying float v_invEdgeRatio;\\nconst float EPSILON = 0.000001;\\nvoid main()\\n{\\nmat3 tileToTileTexture = mat3( 1., 0., 0.,\\n0., -1., 0.,\\n0., 1., 1. );\\nvec3 texCoords = tileToTileTexture * vec3(a_pos.xy / 512., 1.);\\nv_color = texture2D(u_texture, texCoords.xy);\\nfloat smoothEdgeWidth = max(u_dotSize / 2., 1.) ;\\nfloat z = 0.;\\nz += 2.0 * step(v_color.a, EPSILON);\\ngl_PointSize = (smoothEdgeWidth + u_dotSize);\\ngl_Position = vec4((u_dvsMat3 * vec3(a_pos + .5, 1.)).xy, z, 1.);\\nv_dotRatio = u_dotSize / gl_PointSize;\\nv_invEdgeRatio = -1. / ( smoothEdgeWidth / gl_PointSize );\\ngl_PointSize *= (u_pixelRatio * u_tileZoomFactor);\\n}\"}},filtering:{\"bicubic.glsl\":\"vec4 computeWeights(float v) {\\nfloat b = 1.0 / 6.0;\\nfloat v2 = v * v;\\nfloat v3 = v2 * v;\\nfloat w0 = b * (-v3 + 3.0 * v2 - 3.0 * v + 1.0);\\nfloat w1 = b * (3.0 * v3 - 6.0 * v2 + 4.0);\\nfloat w2 = b * (-3.0 * v3 + 3.0 * v2 + 3.0 * v + 1.0);\\nfloat w3 = b * v3;\\nreturn vec4(w0, w1, w2, w3);\\n}\\nvec4 bicubicOffsetsAndWeights(float v) {\\nvec4 w = computeWeights(v);\\nfloat g0 = w.x + w.y;\\nfloat g1 = w.z + w.w;\\nfloat h0 = 1.0 - (w.y / g0) + v;\\nfloat h1 = 1.0 + (w.w / g1) - v;\\nreturn vec4(h0, h1, g0, g1);\\n}\\nvec4 sampleBicubicBSpline(sampler2D sampler, vec2 coords, vec2 texSize) {\\nvec2 eX = vec2(1.0 / texSize.x, 0.0);\\nvec2 eY = vec2(0.0, 1.0 / texSize.y);\\nvec2 texel = coords * texSize - 0.5;\\nvec3 hgX = bicubicOffsetsAndWeights(fract(texel).x).xyz;\\nvec3 hgY = bicubicOffsetsAndWeights(fract(texel).y).xyz;\\nvec2 coords10 = coords + hgX.x * eX;\\nvec2 coords00 = coords - hgX.y * eX;\\nvec2 coords11 = coords10 + hgY.x * eY;\\nvec2 coords01 = coords00 + hgY.x * eY;\\ncoords10 = coords10 - hgY.y * eY;\\ncoords00 = coords00 - hgY.y * eY;\\nvec4 color00 = texture2D(sampler, coords00);\\nvec4 color10 = texture2D(sampler, coords10);\\nvec4 color01 = texture2D(sampler, coords01);\\nvec4 color11 = texture2D(sampler, coords11);\\ncolor00 = mix(color00, color01, hgY.z);\\ncolor10 = mix(color10, color11, hgY.z);\\ncolor00 = mix(color00, color10, hgX.z);\\nreturn color00;\\n}\",\"bilinear.glsl\":\"vec4 sampleBilinear(sampler2D sampler, vec2 coords, vec2 texSize) {\\nvec2 texelStart = floor(coords * texSize);\\nvec2 coord0 = texelStart / texSize;\\nvec2 coord1 = (texelStart + vec2(1.0, 0.0)) / texSize;\\nvec2 coord2 = (texelStart + vec2(0.0, 1.0)) / texSize;\\nvec2 coord3 = (texelStart + vec2(1.0, 1.0)) / texSize;\\nvec4 color0 = texture2D(sampler, coord0);\\nvec4 color1 = texture2D(sampler, coord1);\\nvec4 color2 = texture2D(sampler, coord2);\\nvec4 color3 = texture2D(sampler, coord3);\\nvec2 blend = fract(coords * texSize);\\nvec4 color01 = mix(color0, color1, blend.x);\\nvec4 color23 = mix(color2, color3, blend.x);\\nvec4 color = mix(color01, color23, blend.y);\\n#ifdef NNEDGE\\nfloat alpha = floor(color0.a * color1.a * color2.a * color3.a + 0.5);\\ncolor = color * alpha + (1.0 - alpha) * texture2D(sampler, coords);\\n#endif\\nreturn color;\\n}\",\"epx.glsl\":\"vec4 sampleEPX(sampler2D sampler, float size, vec2 coords, vec2 texSize) {\\nvec2 invSize = 1.0 / texSize;\\nvec2 texel = coords * texSize;\\nvec2 texel_i = floor(texel);\\nvec2 texel_frac = fract(texel);\\nvec4 colorP = texture2D(sampler, texel_i * invSize);\\nvec4 colorP1 = vec4(colorP);\\nvec4 colorP2 = vec4(colorP);\\nvec4 colorP3 = vec4(colorP);\\nvec4 colorP4 = vec4(colorP);\\nvec4 colorA = texture2D(sampler, (texel_i - vec2(0.0, 1.0)) * invSize);\\nvec4 colorB = texture2D(sampler, (texel_i + vec2(1.0, 0.0)) * invSize);\\nvec4 colorC = texture2D(sampler, (texel_i - vec2(1.0, 0.0)) * invSize);\\nvec4 colorD = texture2D(sampler, (texel_i + vec2(0.0, 1.0)) * invSize);\\nif (colorC == colorA && colorC != colorD && colorA != colorB) {\\ncolorP1 = colorA;\\n}\\nif (colorA == colorB && colorA != colorC && colorB != colorD) {\\ncolorP2 = colorB;\\n}\\nif (colorD == colorC && colorD != colorB && colorC != colorA) {\\ncolorP3 = colorC;\\n}\\nif (colorB == colorD && colorB != colorA && colorD != colorC) {\\ncolorP4 = colorD;\\n}\\nvec4 colorP12 = mix(colorP1, colorP2, texel_frac.x);\\nvec4 colorP34 = mix(colorP1, colorP2, texel_frac.x);\\nreturn mix(colorP12, colorP34, texel_frac.y);\\n}\"},fx:{integrate:{\"integrate.frag\":\"precision mediump float;\\nuniform lowp sampler2D u_sourceTexture;\\nuniform lowp sampler2D u_maskTexture;\\nuniform mediump float u_zoomLevel;\\nuniform highp float u_timeDelta;\\nuniform highp float u_animationTime;\\nvarying highp vec2 v_texcoord;\\n#include \\nvoid main()\\n{\\n#ifdef DELTA\\nvec4 texel = texture2D(u_sourceTexture, v_texcoord);\\nvec4 data0 = texture2D(u_maskTexture, v_texcoord);\\nfloat flags = data0.r * 255.0;\\nfloat groupMinZoom = data0.g * 255.0;\\nfloat isVisible = getFilterBit(flags, 0);\\nfloat wouldClip = step(groupMinZoom, u_zoomLevel);\\nfloat direction = wouldClip * 1.0 + (1.0 - wouldClip) * -1.0;\\nfloat dt = u_timeDelta / max(u_animationTime, 0.0001);\\nvec4 nextState = vec4(texel + direction * dt);\\ngl_FragColor = vec4(nextState);\\n#elif defined(UPDATE)\\nvec4 texel = texture2D(u_sourceTexture, v_texcoord);\\ngl_FragColor = texel;\\n#endif\\n}\",\"integrate.vert\":\"precision mediump float;\\nattribute vec2 a_pos;\\nvarying highp vec2 v_texcoord;\\nvoid main()\\n{\\nv_texcoord = a_pos;\\ngl_Position = vec4(a_pos * 2.0 - 1.0, 0.0, 1.0);\\n}\"}},heatmap:{heatmapResolve:{\"heatmapResolve.frag\":\"precision highp float;\\n#ifdef HEATMAP_PRECISION_HALF_FLOAT\\n#define COMPRESSION_FACTOR 4.0\\n#else\\n#define COMPRESSION_FACTOR 1.0\\n#endif\\nuniform sampler2D u_texture;\\nuniform sampler2D u_gradient;\\nuniform vec2 u_densityMinAndInvRange;\\nuniform float u_densityNormalization;\\nvarying vec2 v_uv;\\nvoid main() {\\nvec4 data = texture2D(u_texture, v_uv);\\nfloat density = data.r * COMPRESSION_FACTOR;\\ndensity *= u_densityNormalization;\\ndensity = (density - u_densityMinAndInvRange.x) * u_densityMinAndInvRange.y;\\nvec4 color = texture2D(u_gradient, vec2(density, 0.5));\\ngl_FragColor = vec4(color.rgb * color.a, color.a);\\n}\",\"heatmapResolve.vert\":\"precision highp float;\\nattribute vec2 a_pos;\\nuniform highp mat3 u_dvsMat3;\\nvarying vec2 v_uv;\\nconst float UV_TO_TILE_SPACE = 512.;\\nvoid main() {\\nv_uv = a_pos;\\ngl_Position = vec4((u_dvsMat3 * vec3(a_pos * UV_TO_TILE_SPACE, 1.)).xy, 1., 1.);\\n}\"}},highlight:{\"blur.frag\":\"varying mediump vec2 v_texcoord;\\nuniform mediump vec4 u_direction;\\nuniform mediump mat4 u_channelSelector;\\nuniform mediump float u_sigma;\\nuniform sampler2D u_texture;\\nmediump float gauss1(mediump vec2 dir) {\\nreturn exp(-dot(dir, dir) / (2.0 * u_sigma * u_sigma));\\n}\\nmediump vec4 selectChannel(mediump vec4 sample) {\\nreturn u_channelSelector * sample;\\n}\\nvoid accumGauss1(mediump float i, inout mediump float tot, inout mediump float weight) {\\nmediump float w = gauss1(i * u_direction.xy);\\ntot += selectChannel(texture2D(u_texture, v_texcoord + i * u_direction.zw))[3] * w;\\nweight += w;\\n}\\nvoid main(void) {\\nmediump float tot = 0.0;\\nmediump float weight = 0.0;\\naccumGauss1(-5.0, tot, weight);\\naccumGauss1(-4.0, tot, weight);\\naccumGauss1(-3.0, tot, weight);\\naccumGauss1(-2.0, tot, weight);\\naccumGauss1(-1.0, tot, weight);\\naccumGauss1(0.0, tot, weight);\\naccumGauss1(1.0, tot, weight);\\naccumGauss1(2.0, tot, weight);\\naccumGauss1(3.0, tot, weight);\\naccumGauss1(4.0, tot, weight);\\naccumGauss1(5.0, tot, weight);\\ngl_FragColor = vec4(0.0, 0.0, 0.0, tot / weight);\\n}\",\"highlight.frag\":\"varying mediump vec2 v_texcoord;\\nuniform sampler2D u_texture;\\nuniform mediump float u_sigma;\\nuniform sampler2D u_shade;\\nuniform mediump vec2 u_minMaxDistance;\\nmediump float estimateDistance() {\\nmediump float y = texture2D(u_texture, v_texcoord)[3];\\nconst mediump float y0 = 0.5;\\nmediump float m0 = 1.0 / (sqrt(2.0 * 3.1415) * u_sigma);\\nmediump float d = (y - y0) / m0;\\nreturn d;\\n}\\nmediump vec4 shade(mediump float d) {\\nmediump float mappedDistance = (d - u_minMaxDistance.x) / (u_minMaxDistance.y - u_minMaxDistance.x);\\nmappedDistance = clamp(mappedDistance, 0.0, 1.0);\\nreturn texture2D(u_shade, vec2(mappedDistance, 0.5));\\n}\\nvoid main(void) {\\nmediump float d = estimateDistance();\\ngl_FragColor = shade(d);\\n}\",\"textured.vert\":\"attribute mediump vec2 a_position;\\nattribute mediump vec2 a_texcoord;\\nvarying mediump vec2 v_texcoord;\\nvoid main(void) {\\ngl_Position = vec4(a_position, 0.0, 1.0);\\nv_texcoord = a_texcoord;\\n}\"},magnifier:{\"magnifier.frag\":\"uniform lowp vec4 u_background;\\nuniform mediump sampler2D u_readbackTexture;\\nuniform mediump sampler2D u_maskTexture;\\nuniform mediump sampler2D u_overlayTexture;\\nuniform bool u_maskEnabled;\\nuniform bool u_overlayEnabled;\\nvarying mediump vec2 v_texCoord;\\nconst lowp float barrelFactor = 1.1;\\nlowp vec2 barrel(lowp vec2 uv) {\\nlowp vec2 uvn = uv * 2.0 - 1.0;\\nif (uvn.x == 0.0 && uvn.y == 0.0) {\\nreturn vec2(0.5, 0.5);\\n}\\nlowp float theta = atan(uvn.y, uvn.x);\\nlowp float r = pow(length(uvn), barrelFactor);\\nreturn r * vec2(cos(theta), sin(theta)) * 0.5 + 0.5;\\n}\\nvoid main(void)\\n{\\nlowp vec4 color = texture2D(u_readbackTexture, barrel(v_texCoord));\\ncolor = (color + (1.0 - color.a) * u_background);\\nlowp float mask = u_maskEnabled ? texture2D(u_maskTexture, v_texCoord).a : 1.0;\\ncolor *= mask;\\nlowp vec4 overlayColor = u_overlayEnabled ? texture2D(u_overlayTexture, v_texCoord) : vec4(0);\\ngl_FragColor = overlayColor + (1.0 - overlayColor.a) * color;\\n}\",\"magnifier.vert\":\"precision mediump float;\\nattribute mediump vec2 a_pos;\\nuniform mediump vec4 u_drawPos;\\nvarying mediump vec2 v_texCoord;\\nvoid main(void)\\n{\\nv_texCoord = a_pos;\\ngl_Position = vec4(u_drawPos.xy + vec2(a_pos - 0.5) * u_drawPos.zw, 0.0, 1.0);\\n}\"},materials:{\"attributeData.glsl\":\"uniform highp sampler2D u_attributeData0;\\nuniform highp sampler2D u_attributeData1;\\nuniform highp sampler2D u_attributeData2;\\nuniform highp sampler2D u_attributeData3;\\nuniform highp sampler2D u_attributeData4;\\nuniform highp sampler2D u_attributeData5;\\nuniform highp int u_attributeTextureSize;\\nhighp vec2 getAttributeDataCoords(in highp vec3 id) {\\nhighp vec3 texel = unpackDisplayIdTexel(id);\\nhighp float size = float(u_attributeTextureSize);\\nhighp float u32 = float(int(texel.r) + int(texel.g) * 256 + int(texel.b) * 256 * 256);\\nhighp float col = mod(u32, size);\\nhighp float row = (u32 - col) / size;\\nhighp float u = col / size;\\nhighp float v = row / size;\\nreturn vec2(u, v);\\n}\\nhighp vec2 getAttributeDataTextureCoords(in highp vec3 id) {\\nreturn (getAttributeDataCoords(id) * 2.0) - 1.0 + (.5 / vec2(u_attributeTextureSize));\\n}\\nhighp vec4 getAttributeData0(in highp vec3 id) {\\nvec2 coords = getAttributeDataCoords(id);\\nreturn texture2D(u_attributeData0, coords);\\n}\\nhighp vec4 getAttributeData1(in highp vec3 id) {\\nhighp vec2 coords = getAttributeDataCoords(id);\\nreturn texture2D(u_attributeData1, coords);\\n}\\nhighp vec4 getAttributeData2(in highp vec3 id) {\\nhighp vec2 coords = getAttributeDataCoords(id);\\nreturn texture2D(u_attributeData2, coords);\\n}\\nhighp vec4 getAttributeData3(in highp vec3 id) {\\nhighp vec2 coords = getAttributeDataCoords(id);\\nreturn texture2D(u_attributeData3, coords);\\n}\\nhighp vec4 getAttributeData4(in highp vec3 id) {\\nhighp vec2 coords = getAttributeDataCoords(id);\\nreturn texture2D(u_attributeData4, coords);\\n}\\nhighp vec4 getAttributeData5(in highp vec3 id) {\\nhighp vec2 coords = getAttributeDataCoords(id);\\nreturn texture2D(u_attributeData5, coords);\\n}\\nfloat u88VVToFloat(in vec2 v) {\\nbool isMagic = v.x == 255.0 && v.y == 255.0;\\nif (isMagic) {\\nreturn NAN_MAGIC_NUMBER;\\n}\\nreturn (v.x + v.y * float(0x100)) - 32768.0;\\n}\",\"barycentric.glsl\":\"float inTriangle(vec3 bary) {\\nvec3 absBary = abs(bary);\\nreturn step((absBary.x + absBary.y + absBary.z), 1.05);\\n}\\nvec3 xyToBarycentric(in vec2 pos, in vec2 v0, in vec2 v1, in vec2 v2) {\\nmat3 xyToBarycentricMat3 = mat3(\\nv1.x * v2.y - v2.x * v1.y, v2.x * v0.y - v0.x * v2.y, v0.x * v1.y - v1.x * v0.y,\\nv1.y - v2.y, v2.y - v0.y, v0.y - v1.y,\\nv2.x - v1.x, v0.x - v2.x, v1.x - v0.x\\n);\\nfloat A2 = v0.x * (v1.y - v2.y) + v1.x * (v2.y - v0.y) + v2.x * (v0.y - v1.y);\\nreturn (1. / A2) * xyToBarycentricMat3 * vec3(1., pos);\\n}\",\"constants.glsl\":\"const float C_DEG_TO_RAD = 3.14159265359 / 180.0;\\nconst float C_256_TO_RAD = 3.14159265359 / 128.0;\\nconst float C_RAD_TO_DEG = 180.0 / 3.141592654;\\nconst float SIGNED_BYTE_TO_UNSIGNED = 128.0;\\nconst float POSITION_PRECISION = 1.0 / 8.0;\\nconst float FILL_POSITION_PRECISION = 1.0 / 1.0;\\nconst float SOFT_EDGE_RATIO = 1.0;\\nconst float THIN_LINE_WIDTH_FACTOR = 1.1;\\nconst float THIN_LINE_HALF_WIDTH = 1.0;\\nconst float EXTRUDE_SCALE_PLACEMENT_PADDING = 1.0 / 4.0;\\nconst float OFFSET_PRECISION = 1.0 / 8.0;\\nconst float OUTLINE_SCALE = 1.0 / 5.0;\\nconst float SDF_FONT_SIZE = 24.0;\\nconst float MAX_SDF_DISTANCE = 8.0;\\nconst float PLACEMENT_PADDING = 8.0;\\nconst float EPSILON = 0.00001;\\nconst float EPSILON_HITTEST = 0.05;\\nconst int MAX_FILTER_COUNT = 2;\\nconst int ATTR_VV_SIZE = 0;\\nconst int ATTR_VV_COLOR = 1;\\nconst int ATTR_VV_OPACITY = 2;\\nconst int ATTR_VV_ROTATION = 3;\\nconst highp float NAN_MAGIC_NUMBER = 1e-30;\\nconst int BITSET_GENERIC_LOCK_COLOR = 1;\\nconst int BITSET_GENERIC_CONSIDER_ALPHA_ONLY = 4;\\nconst int BITSET_MARKER_ALIGNMENT_MAP = 0;\\nconst int BITSET_MARKER_OUTLINE_ALLOW_COLOR_OVERRIDE = 2;\\nconst int BITSET_MARKER_SCALE_SYMBOLS_PROPORTIONALLY = 3;\\nconst int BITSET_TYPE_FILL_OUTLINE = 0;\\nconst int BITSET_FILL_RANDOM_PATTERN_OFFSET = 2;\\nconst int BITSET_LINE_SCALE_DASH = 2;\",fill:{\"common.glsl\":\"#include \\n#ifdef PATTERN\\nuniform mediump vec2 u_mosaicSize;\\nvarying mediump float v_sampleAlphaOnly;\\n#endif\\n#if SYMBOLOGY_TYPE == SYMBOLOGY_TYPE_DOT_DENSITY\\nuniform lowp vec4 u_isActive[ 2 ];\\nuniform highp float u_dotValue;\\nuniform highp float u_tileDotsOverArea;\\nuniform highp float u_dotTextureDotCount;\\nuniform mediump float u_tileZoomFactor;\\n#endif\\nvarying highp vec3 v_id;\\nvarying lowp vec4 v_color;\\nvarying lowp float v_opacity;\\nvarying mediump vec4 v_aux1;\\n#ifdef PATTERN\\nvarying mediump vec2 v_tileTextureCoord;\\n#endif\\n#ifdef SYMBOLOGY_TYPE_IS_OUTLINE_FILL_LIKE\\nvarying lowp float v_isOutline;\\n#endif\\n#if SYMBOLOGY_TYPE == SYMBOLOGY_TYPE_DOT_DENSITY\\nvarying highp vec2 v_dotTextureCoords;\\nvarying highp vec4 v_dotThresholds[ 2 ];\\n#endif\",\"fill.frag\":\"precision highp float;\\n#include \\n#include \\n#include \\n#ifdef PATTERN\\nuniform lowp sampler2D u_texture;\\n#endif\\n#if SYMBOLOGY_TYPE == SYMBOLOGY_TYPE_DOT_DENSITY\\nuniform mediump mat4 u_dotColors[ 2 ];\\nuniform sampler2D u_dotTextures[ 2 ];\\nuniform vec4 u_dotBackgroundColor;\\n#endif\\n#ifdef SYMBOLOGY_TYPE_IS_OUTLINE_FILL_LIKE\\n#include \\n#include \\nlowp vec4 drawLine() {\\nfloat v_lineWidth = v_aux1.x;\\nvec2 v_normal = v_aux1.yz;\\nLineData inputs = LineData(\\nv_color,\\nv_normal,\\nv_lineWidth,\\nv_opacity,\\nv_id\\n);\\nreturn shadeLine(inputs);\\n}\\n#endif\\nlowp vec4 drawFill() {\\nlowp vec4 out_color = vec4(0.);\\n#ifdef HITTEST\\nout_color = v_color;\\n#elif defined(PATTERN)\\nmediump vec4 v_tlbr = v_aux1;\\nmediump vec2 normalizedTextureCoord = mod(v_tileTextureCoord, 1.0);\\nmediump vec2 samplePos = mix(v_tlbr.xy, v_tlbr.zw, normalizedTextureCoord);\\nlowp vec4 color = texture2D(u_texture, samplePos);\\n#ifdef VV_COLOR\\nif (v_sampleAlphaOnly > 0.5) {\\ncolor.rgb = vec3(color.a);\\n}\\n#endif\\nout_color = v_opacity * v_color * color;\\n#elif SYMBOLOGY_TYPE == SYMBOLOGY_TYPE_DOT_DENSITY && !defined(HIGHLIGHT)\\nvec4 textureThresholds0 = texture2D(u_dotTextures[0], v_dotTextureCoords);\\nvec4 textureThresholds1 = texture2D(u_dotTextures[1], v_dotTextureCoords);\\nvec4 difference0 = v_dotThresholds[0] - textureThresholds0;\\nvec4 difference1 = v_dotThresholds[1] - textureThresholds1;\\n#ifdef DD_DOT_BLENDING\\nvec4 isPositive0 = step(0.0, difference0);\\nvec4 isPositive1 = step(0.0, difference1);\\nfloat weightSum = dot(isPositive0, difference0) + dot(isPositive1, difference1);\\nfloat lessThanEqZero = step(weightSum, 0.0);\\nfloat greaterThanZero = 1.0 - lessThanEqZero ;\\nfloat divisor = (weightSum + lessThanEqZero);\\nvec4 weights0 = difference0 * isPositive0 / divisor;\\nvec4 weights1 = difference1 * isPositive1 / divisor;\\nvec4 dotColor = u_dotColors[0] * weights0 + u_dotColors[1] * weights1;\\nvec4 preEffectColor = greaterThanZero * dotColor + lessThanEqZero * u_dotBackgroundColor;\\n#else\\nfloat diffMax = max(max4(difference0), max4(difference1));\\nfloat lessThanZero = step(diffMax, 0.0);\\nfloat greaterOrEqZero = 1.0 - lessThanZero;\\nvec4 isMax0 = step(diffMax, difference0);\\nvec4 isMax1 = step(diffMax, difference1);\\nvec4 dotColor = u_dotColors[0] * isMax0 + u_dotColors[1] * isMax1;\\nvec4 preEffectColor = greaterOrEqZero * dotColor + lessThanZero * u_dotBackgroundColor;\\n#endif\\nout_color = preEffectColor;\\n#else\\nout_color = v_opacity * v_color;\\n#endif\\n#ifdef HIGHLIGHT\\nout_color.a = 1.0;\\n#endif\\nreturn out_color;\\n}\\nvoid main() {\\n#ifdef SYMBOLOGY_TYPE_IS_OUTLINE_FILL_LIKE\\nif (v_isOutline > 0.5) {\\ngl_FragColor = drawLine();\\n} else {\\ngl_FragColor = drawFill();\\n}\\n#else\\ngl_FragColor = drawFill();\\n#endif\\n}\",\"fill.vert\":\"#include \\n#define PACKED_LINE\\nprecision highp float;\\nattribute float a_bitset;\\n#if SYMBOLOGY_TYPE == SYMBOLOGY_TYPE_DOT_DENSITY\\nattribute float a_inverseArea;\\nvec4 a_color = vec4(0.0, 0.0, 0.0, 1.0);\\nvec2 a_zoomRange = vec2(0.0, 10000.0);\\n#else\\nattribute vec4 a_color;\\nattribute vec4 a_aux2;\\nattribute vec4 a_aux3;\\n#ifndef SYMBOLOGY_TYPE_IS_SIMPLE_LIKE\\nattribute vec4 a_aux1;\\nattribute vec2 a_zoomRange;\\n#else\\nvec2 a_zoomRange = vec2(0.0, 10000.0);\\n#endif\\n#endif\\nuniform vec2 u_tileOffset;\\n#include \\n#include \\n#include \\n#include \\n#if SYMBOLOGY_TYPE == SYMBOLOGY_TYPE_DOT_DENSITY\\nvec4 dotThreshold(vec4 featureAttrOverFeatureArea, float dotValue, float tileDotsOverArea) {\\nreturn featureAttrOverFeatureArea * (1.0 / dotValue) * (1.0 / tileDotsOverArea);\\n}\\n#endif\\n#ifdef SYMBOLOGY_TYPE_IS_OUTLINE_FILL_LIKE\\n#include \\n#include \\nvoid drawLine(out lowp vec4 out_color, out highp vec3 out_pos) {\\nLineData outputs = buildLine(\\nout_pos,\\na_id,\\na_pos,\\na_color,\\n(a_aux3.xy - 128.) / 16.,\\n(a_aux3.zw - 128.) / 16.,\\n0.,\\na_aux2.z / 16.,\\na_bitset,\\nvec4(0.),\\nvec2(0.),\\na_aux2.w / 16.\\n);\\nv_id = outputs.id;\\nv_opacity = outputs.opacity;\\nv_aux1 = vec4(outputs.lineHalfWidth, outputs.normal, 0.);\\nout_color = outputs.color;\\n}\\n#endif\\nvoid drawFill(out lowp vec4 out_color, out highp vec3 out_pos) {\\nfloat a_bitSet = a_bitset;\\nout_color = getColor(a_color, a_bitSet, BITSET_GENERIC_LOCK_COLOR);\\nv_opacity = getOpacity();\\nv_id = norm(a_id);\\n#if SYMBOLOGY_TYPE == SYMBOLOGY_TYPE_DOT_DENSITY\\nmat3 tileToTileNormalized = mat3( 2. / 512., 0., 0.,\\n0., -2. / 512., 0.,\\n-1., 1., 1. );\\nout_pos = tileToTileNormalized * vec3((a_pos * FILL_POSITION_PRECISION), 1.);\\n#else\\nout_pos = u_dvsMat3 * vec3(a_pos * FILL_POSITION_PRECISION, 1.);\\n#endif\\n#ifdef PATTERN\\nvec4 a_tlbr = a_aux1;\\nfloat a_width = a_aux2.x;\\nfloat a_height = a_aux2.y;\\nvec2 a_offset = a_aux2.zw;\\nvec2 a_scale = a_aux3.xy;\\nfloat a_angle = a_aux3.z;\\nvec2 scale = (1.0 / SIGNED_BYTE_TO_UNSIGNED) * a_scale;\\nfloat width = u_zoomFactor * a_width * scale.x;\\nfloat height = u_zoomFactor * a_height * scale.y;\\nfloat angle = C_256_TO_RAD * a_angle;\\nfloat sinA = sin(angle);\\nfloat cosA = cos(angle);\\nfloat dx = 0.0;\\nfloat dy = 0.0;\\nif (getBit(a_bitset, BITSET_FILL_RANDOM_PATTERN_OFFSET) > 0.5) {\\nfloat id = rgba2float(vec4(a_id, 0.0));\\ndx = rand(vec2(id, 0.0));\\ndy = rand(vec2(0.0, id));\\n}\\nmat3 patternMatrix = mat3(cosA / width, sinA / height, 0,\\n-sinA / width, cosA / height, 0,\\ndx, dy, 1);\\nvec2 tileOffset = vec2(u_tileOffset.x * cosA - u_tileOffset.y * sinA, u_tileOffset.x * sinA + u_tileOffset.y * cosA);\\ntileOffset = mod(tileOffset, vec2(a_aux2.x, a_aux2.y));\\nvec2 symbolOffset = (a_offset - tileOffset) / vec2(width, height);\\nv_tileTextureCoord = (patternMatrix * vec3(a_pos * FILL_POSITION_PRECISION, 1.0)).xy - symbolOffset;\\nv_aux1 = a_tlbr / u_mosaicSize.xyxy;\\nv_sampleAlphaOnly = getBit(a_bitset, BITSET_GENERIC_CONSIDER_ALPHA_ONLY);\\n#elif SYMBOLOGY_TYPE == SYMBOLOGY_TYPE_DOT_DENSITY\\nvec4 ddAttributeData0 = getAttributeData2(a_id) * u_isActive[0] * a_inverseArea;\\nvec4 ddAttributeData1 = getAttributeData3(a_id) * u_isActive[1] * a_inverseArea;\\nfloat size = u_tileZoomFactor * 512.0 * 1.0 / u_pixelRatio;\\nv_dotThresholds[0] = dotThreshold(ddAttributeData0, u_dotValue, u_tileDotsOverArea);\\nv_dotThresholds[1] = dotThreshold(ddAttributeData1, u_dotValue, u_tileDotsOverArea);\\nv_dotTextureCoords = (a_pos * FILL_POSITION_PRECISION + 0.5) / size;\\n#endif\\n}\\n#ifdef HITTEST\\nvoid draw(out lowp vec4 out_color, out highp vec3 out_pos) {\\n#ifdef SYMBOLOGY_TYPE_IS_OUTLINE_FILL_LIKE\\nif (getBit(a_bitset, BITSET_TYPE_FILL_OUTLINE) > 0.5) {\\nout_pos = vec3(0., 0., 2.);\\nreturn;\\n}\\n#endif\\nhittestFill(out_color, out_pos);\\ngl_PointSize = 1.0;\\n}\\n#elif defined(SYMBOLOGY_TYPE_IS_OUTLINE_FILL_LIKE)\\nvoid draw(out lowp vec4 out_color, out highp vec3 out_pos) {\\nv_isOutline = getBit(a_bitset, BITSET_TYPE_FILL_OUTLINE);\\nif (v_isOutline > 0.5) {\\ndrawLine(out_color, out_pos);\\n} else {\\ndrawFill(out_color, out_pos);\\n}\\n}\\n#else\\n#define draw drawFill\\n#endif\\nvoid main()\\n{\\nINIT;\\nhighp vec3 pos = vec3(0.);\\nhighp vec4 color = vec4(0.);\\ndraw(color, pos);\\nv_color = color;\\ngl_Position = vec4(clip(v_color, pos, getFilterFlags(), a_zoomRange), 1.0);\\n}\",\"hittest.glsl\":\"#ifdef HITTEST\\n#include \\nattribute vec2 a_pos1;\\nattribute vec2 a_pos2;\\nvoid hittestFill(\\nout lowp vec4 out_color,\\nout highp vec3 out_pos\\n) {\\nvec3 pos = u_viewMat3 * u_tileMat3 * vec3(a_pos * FILL_POSITION_PRECISION, 1.);\\nvec3 pos1 = u_viewMat3 * u_tileMat3 * vec3(a_pos1 * FILL_POSITION_PRECISION, 1.);\\nvec3 pos2 = u_viewMat3 * u_tileMat3 * vec3(a_pos2 * FILL_POSITION_PRECISION, 1.);\\nfloat hittestDist = u_hittestDist;\\nfloat dist = distPointTriangle(u_hittestPos, pos.xy, pos1.xy, pos2.xy);\\nout_pos = vec3(getAttributeDataTextureCoords(a_id), 0.0);\\nif (dist < 0. || dist >= hittestDist) {\\nout_pos.z += 2.0;\\n}\\nout_color = vec4(1. / 255., 0, 0, dist == 0. ? (1. / 255.) : 0.);\\n}\\n#endif\"},hittest:{\"common.glsl\":\"#ifdef HITTEST\\nuniform float u_hittestDist;\\nuniform highp vec2 u_hittestPos;\\nfloat projectScalar(vec2 a, vec2 b) {\\nreturn dot(a, normalize(b));\\n}\\nfloat distPointSegment(vec2 p0, vec2 p1, vec2 p2) {\\nvec2 L = p2 - p1;\\nvec2 A = p0 - p1;\\nfloat projAL = projectScalar(A, L);\\nfloat t = clamp(projAL / length(L), 0., 1.);\\nreturn distance(p0, p1 + t * (p2 - p1));\\n}\\nvoid hittestMarker(out lowp vec4 out_color, out highp vec3 out_pos, in highp vec3 pos, float size) {\\nfloat dist = distance(pos, vec3(u_hittestPos, 1.));\\nout_pos = vec3(getAttributeDataTextureCoords(a_id), 0.0);\\nif ((dist - size) > u_hittestDist) {\\nout_pos.z += 2.0;\\n}\\nout_color = vec4(1. / 255., 0, 0, (dist - size) < 0. ? (1. / 255.) : 0.);\\n}\\nfloat intersectPointTriangleBary(vec2 p, vec2 a, vec2 b, vec2 c) {\\nreturn inTriangle(xyToBarycentric(p, a, b, c));\\n}\\nfloat distPointTriangle(vec2 p, vec2 a, vec2 b, vec2 c) {\\nvec2 ba = b - a;\\nvec2 ca = c - a;\\nfloat crossProduct = ba.x * ca.y - ca.x * ba.y;\\nbool isParallel = crossProduct < EPSILON_HITTEST && crossProduct > -EPSILON_HITTEST;\\nif (isParallel) {\\nreturn -1.;\\n}\\nif (intersectPointTriangleBary(p.xy, a, b, c) == 1.) {\\nreturn 0.;\\n}\\nfloat distAB = distPointSegment(p, a, b);\\nfloat distBC = distPointSegment(p, b, c);\\nfloat distCA = distPointSegment(p, c, a);\\nreturn min(min(distAB, distBC), distCA);\\n}\\n#endif\"},icon:{\"common.glsl\":\"#include \\nuniform lowp vec2 u_mosaicSize;\\nvarying lowp vec4 v_color;\\nvarying highp vec3 v_id;\\nvarying highp vec4 v_sizeTex;\\nvarying mediump vec3 v_pos;\\nvarying lowp float v_opacity;\\nuniform lowp sampler2D u_texture;\\n#ifdef SDF\\nvarying lowp vec4 v_outlineColor;\\nvarying mediump float v_outlineWidth;\\nvarying mediump float v_distRatio;\\nvarying mediump float v_overridingOutlineColor;\\nvarying mediump float v_isThin;\\n#endif\\n#ifdef SDF\\nvec4 getColor(vec2 v_size, vec2 v_tex) {\\nlowp vec4 fillPixelColor = v_color;\\nfloat d = 0.5 - rgba2float(texture2D(u_texture, v_tex));\\nfloat size = max(v_size.x, v_size.y);\\nfloat dist = d * size * SOFT_EDGE_RATIO * v_distRatio;\\nfillPixelColor *= clamp(0.5 - dist, 0.0, 1.0);\\nfloat outlineWidth = v_outlineWidth;\\n#ifdef HIGHLIGHT\\noutlineWidth = max(outlineWidth, 4.0 * v_isThin);\\n#endif\\nif (outlineWidth > 0.25) {\\nlowp vec4 outlinePixelColor = v_overridingOutlineColor * v_color + (1.0 - v_overridingOutlineColor) * v_outlineColor;\\nfloat clampedOutlineSize = min(outlineWidth, size);\\noutlinePixelColor *= clamp(0.5 - abs(dist) + clampedOutlineSize * 0.5, 0.0, 1.0);\\nreturn v_opacity * ((1.0 - outlinePixelColor.a) * fillPixelColor + outlinePixelColor);\\n}\\nreturn v_opacity * fillPixelColor;\\n}\\n#else\\nvec4 getColor(vec2 _v_size, vec2 v_tex) {\\nlowp vec4 texColor = texture2D(u_texture, v_tex);\\nreturn v_opacity * texColor * v_color;\\n}\\n#endif\",heatmapAccumulate:{\"common.glsl\":\"varying lowp vec4 v_hittestResult;\\nvarying mediump vec2 v_offsetFromCenter;\\nvarying highp float v_fieldValue;\",\"heatmapAccumulate.frag\":\"precision mediump float;\\n#include \\n#ifdef HEATMAP_PRECISION_HALF_FLOAT\\n#define COMPRESSION_FACTOR 0.25\\n#else\\n#define COMPRESSION_FACTOR 1.0\\n#endif\\nuniform lowp sampler2D u_texture;\\nvoid main() {\\n#ifdef HITTEST\\ngl_FragColor = v_hittestResult;\\n#else\\nfloat radius = length(v_offsetFromCenter);\\nfloat shapeWeight = step(radius, 1.0);\\nfloat oneMinusRadiusSquared = 1.0 - radius * radius;\\nfloat kernelWeight = oneMinusRadiusSquared * oneMinusRadiusSquared;\\ngl_FragColor = vec4(shapeWeight * kernelWeight * v_fieldValue * COMPRESSION_FACTOR);\\n#endif\\n}\",\"heatmapAccumulate.vert\":\"precision highp float;\\nattribute vec2 a_vertexOffset;\\nvec4 a_color = vec4(0.0);\\nvec2 a_zoomRange = vec2(0.0, 10000.0);\\nuniform float u_radius;\\nuniform float u_isFieldActive;\\nconst float TILE_TO_CLIP_SPACE = 2.0 / 512.0;\\n#include \\n#include \\n#include \\nvoid main() {\\nfloat filterFlags = getFilterFlags();\\n#ifdef HITTEST\\nhighp vec4 out_hittestResult = vec4(0.);\\nhighp vec3 out_pos = vec3(0.);\\nvec3 pos = u_viewMat3 * u_tileMat3 * vec3(a_pos * POSITION_PRECISION, 1.0);\\nhittestMarker(out_hittestResult, out_pos, pos, u_radius);\\nv_hittestResult = out_hittestResult;\\ngl_PointSize = 1.;\\ngl_Position = vec4(clip(a_color, out_pos, filterFlags, a_zoomRange), 1.0);\\n#else\\nv_offsetFromCenter = sign(a_vertexOffset);\\nv_fieldValue = getAttributeData2(a_id).x * u_isFieldActive + 1.0 - u_isFieldActive;\\nvec3 centerPos = vec3(a_pos * POSITION_PRECISION * TILE_TO_CLIP_SPACE - 1.0, 1.0);\\nvec3 vertexPos = centerPos + vec3(v_offsetFromCenter, 0.0) * u_radius * TILE_TO_CLIP_SPACE;\\ngl_Position = vec4(clip(a_color, vertexPos, filterFlags, a_zoomRange), 1.0);\\n#endif\\n}\"},\"hittest.glsl\":\"#ifdef HITTEST\\n#include \\nattribute vec2 a_vertexOffset1;\\nattribute vec2 a_vertexOffset2;\\nattribute vec2 a_texCoords1;\\nattribute vec2 a_texCoords2;\\nvec2 getTextureCoords(in vec3 bary, in vec2 texCoords0, in vec2 texCoords1, in vec2 texCoords2) {\\nreturn texCoords0 * bary.x + texCoords1 * bary.y + texCoords2 * bary.z;\\n}\\nvoid hittestIcon(\\ninout lowp vec4 out_color,\\nout highp vec3 out_pos,\\nin vec3 pos,\\nin vec3 offset,\\nin vec2 size,\\nin float scaleFactor,\\nin float isMapAligned\\n) {\\nout_pos = vec3(getAttributeDataTextureCoords(a_id), 0.0);\\nvec3 posBase = u_viewMat3 * u_tileMat3 * pos;\\nvec3 offset1 = scaleFactor * vec3(a_vertexOffset1 / 16.0, 0.);\\nvec3 offset2 = scaleFactor * vec3(a_vertexOffset2 / 16.0, 0.);\\nvec2 pos0 = (posBase + getMatrixNoDisplay(isMapAligned) * offset).xy;\\nvec2 pos1 = (posBase + getMatrixNoDisplay(isMapAligned) * offset1).xy;\\nvec2 pos2 = (posBase + getMatrixNoDisplay(isMapAligned) * offset2).xy;\\nvec3 bary0 = xyToBarycentric(u_hittestPos + vec2(-u_hittestDist, -u_hittestDist), pos0, pos1, pos2);\\nvec3 bary1 = xyToBarycentric(u_hittestPos + vec2(0., -u_hittestDist), pos0, pos1, pos2);\\nvec3 bary2 = xyToBarycentric(u_hittestPos + vec2(u_hittestDist, -u_hittestDist), pos0, pos1, pos2);\\nvec3 bary3 = xyToBarycentric(u_hittestPos + vec2(-u_hittestDist, 0.), pos0, pos1, pos2);\\nvec3 bary4 = xyToBarycentric(u_hittestPos, pos0, pos1, pos2);\\nvec3 bary5 = xyToBarycentric(u_hittestPos + vec2(u_hittestDist, 0.), pos0, pos1, pos2);\\nvec3 bary6 = xyToBarycentric(u_hittestPos + vec2(-u_hittestDist, u_hittestDist), pos0, pos1, pos2);\\nvec3 bary7 = xyToBarycentric(u_hittestPos + vec2(0., u_hittestDist), pos0, pos1, pos2);\\nvec3 bary8 = xyToBarycentric(u_hittestPos + vec2(u_hittestDist, u_hittestDist), pos0, pos1, pos2);\\nvec2 tex0 = a_texCoords / u_mosaicSize;\\nvec2 tex1 = a_texCoords1 / u_mosaicSize;\\nvec2 tex2 = a_texCoords2 / u_mosaicSize;\\nfloat alphaSum = 0.;\\nalphaSum += inTriangle(bary0) * getColor(size, getTextureCoords(bary0, tex0, tex1, tex2)).a;\\nalphaSum += inTriangle(bary1) * getColor(size, getTextureCoords(bary1, tex0, tex1, tex2)).a;\\nalphaSum += inTriangle(bary2) * getColor(size, getTextureCoords(bary2, tex0, tex1, tex2)).a;\\nalphaSum += inTriangle(bary3) * getColor(size, getTextureCoords(bary3, tex0, tex1, tex2)).a;\\nalphaSum += inTriangle(bary4) * getColor(size, getTextureCoords(bary4, tex0, tex1, tex2)).a;\\nalphaSum += inTriangle(bary5) * getColor(size, getTextureCoords(bary5, tex0, tex1, tex2)).a;\\nalphaSum += inTriangle(bary6) * getColor(size, getTextureCoords(bary6, tex0, tex1, tex2)).a;\\nalphaSum += inTriangle(bary7) * getColor(size, getTextureCoords(bary7, tex0, tex1, tex2)).a;\\nout_pos.z += step(alphaSum, .05) * 2.0;\\nout_color = vec4(1. / 255., 0., 0., alphaSum / 255.);\\n}\\n#endif\",\"icon.frag\":\"precision mediump float;\\n#include \\n#include \\n#include \\nvoid main()\\n{\\n#ifdef HITTEST\\nvec4 color = v_color;\\n#else\\nvec4 color = getColor(v_sizeTex.xy, v_sizeTex.zw);\\n#endif\\n#ifdef HIGHLIGHT\\ncolor.a = step(1.0 / 255.0, color.a);\\n#endif\\ngl_FragColor = color;\\n}\",\"icon.vert\":\"precision highp float;\\nattribute vec4 a_color;\\nattribute vec4 a_outlineColor;\\nattribute vec4 a_sizeAndOutlineWidth;\\nattribute vec2 a_vertexOffset;\\nattribute vec2 a_texCoords;\\nattribute vec2 a_bitSetAndDistRatio;\\nattribute vec2 a_zoomRange;\\n#include \\n#include \\n#include \\nfloat getMarkerScaleFactor(inout vec2 size, in float referenceSize) {\\n#ifdef VV_SIZE\\nfloat f = getSize(size.y) / size.y;\\nfloat sizeFactor = size.y / referenceSize;\\nreturn getSize(referenceSize) / referenceSize;\\n#else\\nreturn 1.;\\n#endif\\n}\\nvoid main()\\n{\\nINIT;\\nfloat a_bitSet = a_bitSetAndDistRatio.x;\\nvec3 pos = vec3(a_pos * POSITION_PRECISION, 1.0);\\nvec2 size = a_sizeAndOutlineWidth.xy * a_sizeAndOutlineWidth.xy / 128.0;\\nvec3 offset = vec3(a_vertexOffset / 16.0, 0.);\\nfloat outlineSize = a_sizeAndOutlineWidth.z * a_sizeAndOutlineWidth.z / 128.0;\\nfloat isMapAligned = getBit(a_bitSet, BITSET_MARKER_ALIGNMENT_MAP);\\nfloat referenceSize = a_sizeAndOutlineWidth.w * a_sizeAndOutlineWidth.w / 128.0;\\nfloat scaleSymbolProportionally = getBit(a_bitSet, BITSET_MARKER_SCALE_SYMBOLS_PROPORTIONALLY);\\nfloat scaleFactor = getMarkerScaleFactor(size, referenceSize);\\nsize.xy *= scaleFactor;\\noffset.xy *= scaleFactor;\\noutlineSize *= scaleSymbolProportionally * (scaleFactor - 1.0) + 1.0;\\nvec2 v_tex = a_texCoords / u_mosaicSize;\\nfloat filterFlags = getFilterFlags();\\nv_color = getColor(a_color, a_bitSet, BITSET_GENERIC_LOCK_COLOR);\\nv_opacity = getOpacity();\\nv_id = norm(a_id);\\nv_pos = u_dvsMat3 * pos + getMatrix(isMapAligned) * getRotation() * offset;\\nv_sizeTex = vec4(size.xy, v_tex.xy);\\n#ifdef SDF\\nv_isThin = getBit(a_bitSet, BITSET_MARKER_OUTLINE_ALLOW_COLOR_OVERRIDE);\\n#ifdef VV_COLOR\\nv_overridingOutlineColor = v_isThin;\\n#else\\nv_overridingOutlineColor = 0.0;\\n#endif\\nv_outlineWidth = min(outlineSize, max(max(size.x, size.y) - 0.99, 0.0));\\nv_outlineColor = a_outlineColor;\\nv_distRatio = a_bitSetAndDistRatio.y / 126.0;\\n#endif\\n#ifdef HITTEST\\nhighp vec4 out_color = vec4(0.);\\nhighp vec3 out_pos = vec3(0.);\\nhittestIcon(out_color, out_pos, pos, offset, size, scaleFactor, isMapAligned);\\nv_color = out_color;\\ngl_PointSize = 1.;\\ngl_Position = vec4(clip(v_color, out_pos, filterFlags, a_zoomRange), 1.0);\\n#else\\ngl_Position = vec4(clip(v_color, v_pos, filterFlags, a_zoomRange), 1.0);\\n#endif\\n}\"},label:{\"common.glsl\":\"uniform mediump float u_zoomLevel;\\nuniform mediump float u_mapRotation;\\nuniform mediump float u_mapAligned;\\nuniform mediump vec2 u_mosaicSize;\\nvarying mediump float v_antialiasingWidth;\\nvarying mediump float v_edgeDistanceOffset;\\nvarying mediump vec2 v_tex;\\nvarying mediump vec4 v_color;\\nvarying lowp vec4 v_animation;\",\"label.frag\":\"#include \",\"label.vert\":\"precision highp float;\\n#include \\n#include \\nattribute vec4 a_color;\\nattribute vec4 a_haloColor;\\nattribute vec4 a_texAndSize;\\nattribute vec4 a_refSymbolAndPlacementOffset;\\nattribute vec4 a_glyphData;\\nattribute vec2 a_vertexOffset;\\nattribute vec2 a_texCoords;\\nuniform float u_isHalo;\\nuniform float u_mapRotation;\\nuniform float u_mapAligned;\\nfloat getZ(in float minZoom, in float maxZoom, in float angle) {\\nfloat glyphAngle = angle * 360.0 / 254.0;\\nfloat mapAngle = u_mapRotation * 360.0 / 254.0;\\nfloat diffAngle = min(360.0 - abs(mapAngle - glyphAngle), abs(mapAngle - glyphAngle));\\nfloat z = 0.0;\\nz += u_mapAligned * (2.0 * (1.0 - step(minZoom, u_currentZoom)));\\nz += u_mapAligned * 2.0 * step(90.0, diffAngle);\\nz += 2.0 * (1.0 - step(u_currentZoom, maxZoom));\\nreturn z;\\n}\\nvoid main()\\n{\\nINIT;\\nfloat groupMinZoom = getMinZoom();\\nfloat glyphMinZoom = a_glyphData.x;\\nfloat glyphMaxZoom = a_glyphData.y;\\nfloat glyphAngle = a_glyphData.z;\\nfloat a_minZoom = max(groupMinZoom, glyphMinZoom);\\nfloat a_placementPadding = a_refSymbolAndPlacementOffset.x * EXTRUDE_SCALE_PLACEMENT_PADDING;\\nvec2 a_placementDir = unpack_u8_nf32(a_refSymbolAndPlacementOffset.zw);\\nfloat a_refSymbolSize = a_refSymbolAndPlacementOffset.y;\\nfloat fontSize = a_texAndSize.z;\\nfloat haloSize = a_texAndSize.w * OUTLINE_SCALE;\\nvec2 vertexOffset = a_vertexOffset * OFFSET_PRECISION;\\nvec3 pos = vec3(a_pos * POSITION_PRECISION, 1.0);\\nfloat z = getZ(a_minZoom, glyphMaxZoom, glyphAngle);\\nfloat fontScale = fontSize / SDF_FONT_SIZE;\\nfloat halfSize = getSize(a_refSymbolSize) / 2.0;\\nfloat animation = pow(getAnimationState(), vec4(2.0)).r;\\nv_color = animation * ((1.0 - u_isHalo) * a_color + (u_isHalo * a_haloColor));\\nv_opacity = 1.0;\\nv_tex = a_texCoords / u_mosaicSize;\\nv_edgeDistanceOffset = u_isHalo * haloSize / fontScale / MAX_SDF_DISTANCE;\\nv_antialiasingWidth = 0.105 * SDF_FONT_SIZE / fontSize / u_pixelRatio;\\nvec2 placementOffset = a_placementDir * (halfSize + a_placementPadding);\\nvec3 glyphOffset = u_displayMat3 * vec3(vertexOffset + placementOffset, 0.0);\\nvec3 v_pos = vec3((u_dvsMat3 * pos + glyphOffset).xy, z);\\ngl_Position = vec4(v_pos, 1.0);\\n#ifdef DEBUG\\nv_color = vec4(a_color.rgb, z == 0.0 ? 1.0 : 0.645);\\n#endif\\n}\"},line:{\"common.glsl\":\"varying lowp vec4 v_color;\\nvarying highp vec3 v_id;\\nvarying mediump vec2 v_normal;\\nvarying mediump float v_lineHalfWidth;\\nvarying lowp float v_opacity;\\n#ifdef PATTERN\\nvarying mediump vec4 v_tlbr;\\nvarying mediump vec2 v_patternSize;\\n#endif\\n#if defined(PATTERN) || defined(SDF)\\nvarying highp float v_accumulatedDistance;\\n#endif\\n#ifdef SDF\\nvarying mediump float v_lineWidthRatio;\\n#endif\",\"hittest.glsl\":\"#include \\n#ifdef HITTEST\\nattribute vec2 a_pos1;\\nattribute vec2 a_pos2;\\nvoid hittestLine(out lowp vec4 out_color, out highp vec3 out_pos, float halfWidth) {\\nvec3 pos = u_viewMat3 * u_tileMat3 * vec3(a_pos * POSITION_PRECISION, 1.);\\nvec3 pos1 = u_viewMat3 * u_tileMat3 * vec3(a_pos1 * POSITION_PRECISION, 1.);\\nvec3 pos2 = u_viewMat3 * u_tileMat3 * vec3(a_pos2 * POSITION_PRECISION, 1.);\\nvec3 outTextureCoords = vec3(getAttributeDataTextureCoords(a_id), 0.0);\\nfloat dist = min(distPointSegment(u_hittestPos, pos.xy, pos1.xy),\\ndistPointSegment(u_hittestPos, pos.xy, pos2.xy)) - halfWidth;\\nout_pos = vec3(getAttributeDataTextureCoords(a_id), 0.0);\\nif (dist >= u_hittestDist) {\\nout_pos.z += 2.0;\\n}\\nout_color = vec4(1. / 255., 0, 0, dist <= 0. ? (1. / 255.) : 0.);\\n}\\n#endif\",\"line.frag\":\"precision lowp float;\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#ifdef HITTEST\\nvoid main() {\\ngl_FragColor = v_color;\\n}\\n#else\\nvoid main() {\\nLineData inputs = LineData(\\nv_color,\\nv_normal,\\nv_lineHalfWidth,\\nv_opacity,\\n#ifndef SYMBOLOGY_TYPE_IS_OUTLINE_FILL_LIKE\\n#ifdef PATTERN\\nv_tlbr,\\nv_patternSize,\\n#endif\\n#ifdef SDF\\nv_lineWidthRatio,\\n#endif\\n#if defined(PATTERN) || defined(SDF)\\nv_accumulatedDistance,\\n#endif\\n#endif\\nv_id\\n);\\ngl_FragColor = shadeLine(inputs);\\n}\\n#endif\",\"line.vert\":\"precision highp float;\\nattribute vec4 a_color;\\nattribute vec4 a_offsetAndNormal;\\nattribute vec2 a_accumulatedDistanceAndHalfWidth;\\nattribute vec4 a_tlbr;\\nattribute vec4 a_segmentDirection;\\nattribute vec2 a_aux;\\nattribute vec2 a_zoomRange;\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#ifdef HITTEST\\nvoid draw() {\\nfloat aa = 0.5 * u_antialiasing;\\nfloat a_halfWidth = a_accumulatedDistanceAndHalfWidth.y / 16.;\\nfloat a_cimHalfWidth = a_aux.x / 16. ;\\nvec2 a_offset = a_offsetAndNormal.xy / 16.;\\nfloat baseWidth = getBaseLineHalfWidth(a_halfWidth, a_cimHalfWidth);\\nfloat halfWidth = getLineHalfWidth(baseWidth, aa);\\nhighp vec3 pos = vec3(0.);\\nv_color = vec4(0.);\\nhittestLine(v_color, pos, halfWidth);\\ngl_PointSize = 1.;\\ngl_Position = vec4(clip(v_color, pos, getFilterFlags(), a_zoomRange), 1.0);\\n}\\n#else\\nvoid draw()\\n{\\nhighp vec3 pos = vec3(0.);\\nLineData outputs = buildLine(\\npos,\\na_id,\\na_pos,\\na_color,\\na_offsetAndNormal.xy / 16.,\\na_offsetAndNormal.zw / 16.,\\na_accumulatedDistanceAndHalfWidth.x,\\na_accumulatedDistanceAndHalfWidth.y / 16.,\\na_segmentDirection.w,\\na_tlbr,\\na_segmentDirection.xy / 16.,\\na_aux.x / 16.\\n);\\nv_id = outputs.id;\\nv_color = outputs.color;\\nv_normal = outputs.normal;\\nv_lineHalfWidth = outputs.lineHalfWidth;\\nv_opacity = outputs.opacity;\\n#ifndef SYMBOLOGY_TYPE_IS_OUTLINE_FILL_LIKE\\n#ifdef PATTERN\\nv_tlbr = outputs.tlbr;\\nv_patternSize = outputs.patternSize;\\n#endif\\n#ifdef SDF\\nv_lineWidthRatio = outputs.lineWidthRatio;\\n#endif\\n#if defined(PATTERN) || defined(SDF)\\nv_accumulatedDistance = outputs.accumulatedDistance;\\n#endif\\n#endif\\ngl_Position = vec4(clip(outputs.color, pos, getFilterFlags(), a_zoomRange), 1.0);\\n}\\n#endif\\nvoid main() {\\nINIT;\\ndraw();\\n}\"},pie:{\"pie.frag\":\"precision mediump float;\\n#include \\n#include \\n#include \\n#include \\nvarying float v_size;\\nvarying vec2 v_offset;\\nvarying vec2 v_filteredSectorToColorId[NUMBER_OF_FIELDS];\\nvarying float v_numOfEntries;\\nvarying float v_maxSectorAngle;\\nuniform lowp vec4 u_colors[NUMBER_OF_FIELDS];\\nuniform lowp vec4 u_defaultColor;\\nuniform lowp vec4 u_othersColor;\\nuniform lowp vec4 u_outlineColor;\\nuniform float u_donutRatio;\\nuniform float u_sectorThreshold;\\nstruct FilteredChartInfo {\\nfloat endSectorAngle;\\nint colorId;\\n};\\nlowp vec4 getSectorColor(in int index, in vec2 filteredSectorToColorId[NUMBER_OF_FIELDS]) {\\n#if __VERSION__ == 300\\nmediump int colorIndex = int(filteredSectorToColorId[index].y);\\nreturn u_colors[colorIndex];\\n#else\\nmediump int colorIndex;\\nfor (int i = 0; i < NUMBER_OF_FIELDS; ++i) {\\nif (i == index) {\\ncolorIndex = int(filteredSectorToColorId[i].y);\\n}\\n}\\nfor (int i = 0; i < NUMBER_OF_FIELDS; ++i) {\\nif (i == colorIndex) {\\nreturn u_colors[i];\\n}\\n}\\nreturn u_colors[NUMBER_OF_FIELDS - 1];\\n#endif\\n}\\nconst int OTHER_SECTOR_ID = 255;\\n#ifdef HITTEST\\nvec4 getColor() {\\nreturn v_color;\\n}\\n#else\\nvec4 getColor() {\\nfloat angle = 90.0 - C_RAD_TO_DEG * atan2(v_offset.y, v_offset.x);\\nif (angle < 0.0) {\\nangle += 360.0;\\n} else if (angle > 360.0) {\\nangle = mod(angle, 360.0);\\n}\\nint numOfEntries = int(v_numOfEntries);\\nfloat maxSectorAngle = v_maxSectorAngle;\\nlowp vec4 fillColor = (maxSectorAngle > 0.0 || u_sectorThreshold > 0.0) ? u_othersColor : u_defaultColor;\\nlowp vec4 prevColor = vec4(0.0);\\nlowp vec4 nextColor = vec4(0.0);\\nfloat startSectorAngle = 0.0;\\nfloat endSectorAngle = 0.0;\\nif (angle < maxSectorAngle) {\\nfor (int index = 0; index < NUMBER_OF_FIELDS; ++index) {\\nstartSectorAngle = endSectorAngle;\\nendSectorAngle = v_filteredSectorToColorId[index].x;\\nif (endSectorAngle > angle) {\\nfillColor = getSectorColor(index, v_filteredSectorToColorId);\\nprevColor = u_sectorThreshold != 0.0 && index == 0 && abs(360.0 - maxSectorAngle) < EPSILON ? u_othersColor :\\ngetSectorColor(index > 0 ? index - 1 : numOfEntries - 1, v_filteredSectorToColorId);\\nnextColor = u_sectorThreshold != 0.0 && abs(endSectorAngle - maxSectorAngle) < EPSILON ? u_othersColor :\\ngetSectorColor(index < numOfEntries - 1 ? index + 1 : 0, v_filteredSectorToColorId);\\nbreak;\\n}\\nif (index == numOfEntries - 1) {\\nbreak;\\n}\\n}\\n} else {\\nprevColor = getSectorColor(numOfEntries - 1, v_filteredSectorToColorId);\\nnextColor = getSectorColor(0, v_filteredSectorToColorId);\\nstartSectorAngle = maxSectorAngle;\\nendSectorAngle = 360.0;\\n}\\nlowp vec4 outlineColor = u_outlineColor;\\nfloat offset = length(v_offset);\\nfloat distanceSize = offset * v_size;\\nif (startSectorAngle != 0.0 || endSectorAngle != 360.0) {\\nfloat distanceToStartSector = (angle - startSectorAngle);\\nfloat distanceToEndSector = (endSectorAngle - angle);\\nfloat sectorThreshold = 0.6;\\nfloat beginSectorAlpha = smoothstep(0.0, sectorThreshold, distanceToStartSector * offset);\\nfloat endSectorAlpha = smoothstep(0.0, sectorThreshold, distanceToEndSector * offset);\\nif (endSectorAlpha > 0.0) {\\nfillColor = mix(nextColor, fillColor, endSectorAlpha);\\n} else if (beginSectorAlpha > 0.0) {\\nfillColor = mix(prevColor, fillColor, beginSectorAlpha);\\n}\\n}\\nfloat donutSize = u_donutRatio * (v_size - v_outlineWidth);\\nfloat endOfDonut = donutSize - v_outlineWidth;\\nfloat aaThreshold = 0.75;\\nfloat innerCircleAlpha = endOfDonut - aaThreshold > 0.0 ? smoothstep(endOfDonut - aaThreshold, endOfDonut + aaThreshold, distanceSize) : 1.0;\\nfloat outerCircleAlpha = 1.0 - smoothstep(v_size - aaThreshold, v_size + aaThreshold , distanceSize);\\nfloat circleAlpha = innerCircleAlpha * outerCircleAlpha;\\nfloat startOfOutline = v_size - v_outlineWidth;\\nif (startOfOutline > 0.0 && v_outlineWidth > 0.25) {\\nfloat outlineFactor = smoothstep(startOfOutline - aaThreshold, startOfOutline + aaThreshold, distanceSize);\\nfloat innerLineFactor = donutSize - aaThreshold > 0.0 ? 1.0 - smoothstep(donutSize - aaThreshold, donutSize + aaThreshold , distanceSize) : 0.0;\\nfillColor = mix(fillColor, outlineColor, innerLineFactor + outlineFactor);\\n}\\nreturn v_opacity * circleAlpha * fillColor;\\n}\\n#endif\\nvoid main()\\n{\\nvec4 color = getColor();\\n#ifdef HIGHLIGHT\\ncolor.a = step(1.0 / 255.0, color.a);\\n#endif\\ngl_FragColor = color;\\n}\",\"pie.vert\":\"precision highp float;\\nattribute vec4 a_color;\\nattribute vec4 a_outlineColor;\\nattribute vec4 a_sizeAndOutlineWidth;\\nattribute vec2 a_vertexOffset;\\nattribute vec2 a_texCoords;\\nattribute vec2 a_bitSetAndDistRatio;\\nattribute vec2 a_zoomRange;\\nuniform float u_outlineWidth;\\nuniform mediump float u_sectorThreshold;\\nvarying float v_size;\\nvarying vec2 v_offset;\\nvarying vec2 v_filteredSectorToColorId[NUMBER_OF_FIELDS];\\nvarying float v_numOfEntries;\\nvarying float v_maxSectorAngle;\\nstruct FilteredChartInfo {\\nfloat endSectorAngle;\\nint colorId;\\n};\\nint filter(in float sectorAngle,\\nin int currentIndex,\\ninout FilteredChartInfo filteredInfo,\\ninout vec2 filteredSectorToColorId[NUMBER_OF_FIELDS]) {\\nif (sectorAngle > u_sectorThreshold * 360.0) {\\nfilteredInfo.endSectorAngle += sectorAngle;\\n#if __VERSION__ == 300\\nfilteredSectorToColorId[filteredInfo.colorId] = vec2(filteredInfo.endSectorAngle, currentIndex);\\n#else\\nfor (int i = 0; i < NUMBER_OF_FIELDS; i++) {\\nif (i == filteredInfo.colorId) {\\nfilteredSectorToColorId[i] = vec2(filteredInfo.endSectorAngle, currentIndex);\\n}\\n}\\n#endif\\n++filteredInfo.colorId;\\n}\\nreturn 0;\\n}\\nint filterValues(inout vec2 filteredSectorToColorId[NUMBER_OF_FIELDS],\\ninout FilteredChartInfo filteredInfo,\\nin float sectorAngles[NUMBER_OF_FIELDS]) {\\nfor (int index = 0; index < NUMBER_OF_FIELDS; ++index) {\\nfloat sectorValue = sectorAngles[index];\\nfilter(sectorValue, index, filteredInfo, filteredSectorToColorId);\\n}\\nreturn filteredInfo.colorId;\\n}\\n#include \\n#include \\n#include \\nvec2 getMarkerSize(inout vec2 offset, inout vec2 baseSize, inout float outlineSize, in float referenceSize, in float bitSet) {\\nvec2 outSize = baseSize;\\n#ifdef VV_SIZE\\nfloat r = 0.5 * getSize(referenceSize) / referenceSize;\\noutSize.xy *= r;\\noffset.xy *= r;\\nfloat scaleSymbolProportionally = getBit(bitSet, BITSET_MARKER_SCALE_SYMBOLS_PROPORTIONALLY);\\noutlineSize *= scaleSymbolProportionally * (r - 1.0) + 1.0;\\n#endif\\nreturn outSize;\\n}\\nvec3 getOffset(in vec2 in_offset, float a_bitSet) {\\nfloat isMapAligned = getBit(a_bitSet, BITSET_MARKER_ALIGNMENT_MAP);\\nvec3 offset = vec3(in_offset, 0.0);\\nreturn getMatrix(isMapAligned) * offset;\\n}\\nfloat filterNaNValues(in float value) {\\nreturn value != NAN_MAGIC_NUMBER ? value : 0.0;\\n}\\nvoid main()\\n{\\nINIT;\\nvec2 a_size = a_sizeAndOutlineWidth.xy * a_sizeAndOutlineWidth.xy / 128.0;\\nvec2 a_offset = a_vertexOffset / 16.0;\\nfloat outlineSize = u_outlineWidth;\\nfloat a_bitSet = a_bitSetAndDistRatio.x;\\nvec2 size = getMarkerSize(a_offset, a_size, outlineSize, a_sizeAndOutlineWidth.w * a_sizeAndOutlineWidth.w / 128.0, a_bitSet);\\nfloat filterFlags = getFilterFlags();\\nvec3 pos = vec3(a_pos * POSITION_PRECISION, 1.0);\\nv_opacity = getOpacity();\\nv_id = norm(a_id);\\nv_pos = u_dvsMat3 * pos + getOffset(a_offset, a_bitSet);\\nv_offset = sign(a_texCoords - 0.5);\\nv_size = max(size.x, size.y);\\nv_outlineWidth = outlineSize;\\nfloat attributeData[10];\\nvec4 attributeData0 = getAttributeData3(a_id);\\nattributeData[0] = filterNaNValues(attributeData0.x);\\nattributeData[1] = filterNaNValues(attributeData0.y);\\nattributeData[2] = filterNaNValues(attributeData0.z);\\nattributeData[3] = filterNaNValues(attributeData0.w);\\n#if (NUMBER_OF_FIELDS > 4)\\nvec4 attributeData1 = getAttributeData4(a_id);\\nattributeData[4] = filterNaNValues(attributeData1.x);\\nattributeData[5] = filterNaNValues(attributeData1.y);\\nattributeData[6] = filterNaNValues(attributeData1.z);\\nattributeData[7] = filterNaNValues(attributeData1.w);\\n#endif\\n#if (NUMBER_OF_FIELDS > 8)\\nvec4 attributeData2 = getAttributeData5(a_id);\\nattributeData[8] = filterNaNValues(attributeData2.x);\\nattributeData[9] = filterNaNValues(attributeData2.y);\\n#endif\\nfloat sum = 0.0;\\nfor (int i = 0; i < NUMBER_OF_FIELDS; ++i) {\\nsum += attributeData[i];\\n}\\nfloat sectorAngles[NUMBER_OF_FIELDS];\\nfor (int i = 0; i < NUMBER_OF_FIELDS; ++i) {\\nsectorAngles[i] = 360.0 * attributeData[i] / sum;\\n}\\nvec2 filteredSectorToColorId[NUMBER_OF_FIELDS];\\nFilteredChartInfo filteredInfo = FilteredChartInfo(0.0, 0);\\nint numOfEntries = filterValues(filteredSectorToColorId, filteredInfo, sectorAngles);\\nv_numOfEntries = float(numOfEntries);\\nv_maxSectorAngle = filteredInfo.endSectorAngle;\\n#if __VERSION__ == 300\\nv_filteredSectorToColorId = filteredSectorToColorId;\\n#else\\nfor (int i = 0; i < NUMBER_OF_FIELDS; ++i) {\\nif (i == numOfEntries) {\\nbreak;\\n}\\nv_filteredSectorToColorId[i] = filteredSectorToColorId[i];\\n}\\n#endif\\n#ifdef HITTEST\\nhighp vec3 out_pos = vec3(0.0);\\nv_color = vec4(0.0);\\nhittestMarker(v_color, out_pos, u_viewMat3 * u_tileMat3 * pos, v_size);\\ngl_PointSize = 1.0;\\ngl_Position = vec4(clip(v_color, out_pos, filterFlags, a_zoomRange), 1.0);\\n#else\\ngl_Position = vec4(clip(v_color, v_pos, filterFlags, a_zoomRange), 1.0);\\n#endif\\n}\"},shared:{line:{\"common.glsl\":\"#if !defined(SYMBOLOGY_TYPE_IS_OUTLINE_FILL_LIKE) && defined(PATTERN)\\nuniform mediump vec2 u_mosaicSize;\\nvarying mediump float v_sampleAlphaOnly;\\n#endif\\nstruct LineData {\\nlowp vec4 color;\\nmediump vec2 normal;\\nmediump float lineHalfWidth;\\nlowp float opacity;\\n#ifndef SYMBOLOGY_TYPE_IS_OUTLINE_FILL_LIKE\\n#ifdef PATTERN\\nmediump vec4 tlbr;\\nmediump vec2 patternSize;\\n#endif\\n#ifdef SDF\\nmediump float lineWidthRatio;\\n#endif\\n#if defined(PATTERN) || defined(SDF)\\nhighp float accumulatedDistance;\\n#endif\\n#endif\\nhighp vec3 id;\\n};\",\"line.frag\":\"uniform lowp float u_blur;\\n#if !defined(SYMBOLOGY_TYPE_IS_OUTLINE_FILL_LIKE) && !defined(HIGHLIGHT)\\n#if defined(PATTERN) || defined(SDF)\\nuniform sampler2D u_texture;\\nuniform highp float u_pixelRatio;\\n#endif\\n#endif\\n#if defined(SDF) && !defined(HIGHLIGHT) && !defined(SYMBOLOGY_TYPE_IS_OUTLINE_FILL_LIKE)\\nlowp vec4 getLineColor(LineData line) {\\nmediump float adjustedPatternWidth = line.patternSize.x * 2.0 * line.lineWidthRatio;\\nmediump float relativeTexX = fract(line.accumulatedDistance / adjustedPatternWidth);\\nmediump float relativeTexY = 0.5 + 0.25 * line.normal.y;\\nmediump vec2 texCoord = mix(line.tlbr.xy, line.tlbr.zw, vec2(relativeTexX, relativeTexY));\\nmediump float d = rgba2float(texture2D(u_texture, texCoord)) - 0.5;\\nfloat dist = d * line.lineHalfWidth;\\nreturn line.opacity * clamp(0.5 - dist, 0.0, 1.0) * line.color;\\n}\\n#elif defined(PATTERN) && !defined(HIGHLIGHT) && !defined(SYMBOLOGY_TYPE_IS_OUTLINE_FILL_LIKE)\\nlowp vec4 getLineColor(LineData line) {\\nmediump float lineHalfWidth = line.lineHalfWidth;\\nmediump float adjustedPatternWidth = line.patternSize.x * 2.0 * lineHalfWidth / line.patternSize.y;\\nmediump float relativeTexX = fract(line.accumulatedDistance / adjustedPatternWidth);\\nmediump float relativeTexY = 0.5 + 0.5 * line.normal.y;\\nmediump vec2 texCoord = mix(line.tlbr.xy, line.tlbr.zw, vec2(relativeTexY, relativeTexX));\\nlowp vec4 color = texture2D(u_texture, texCoord);\\n#ifdef VV_COLOR\\nif (v_sampleAlphaOnly > 0.5) {\\ncolor.rgb = vec3(color.a);\\n}\\n#endif\\nreturn line.opacity * line.color * color;\\n}\\n#else\\nlowp vec4 getLineColor(LineData line) {\\nreturn line.opacity * line.color;\\n}\\n#endif\\nvec4 shadeLine(LineData line)\\n{\\nmediump float thinLineFactor = max(THIN_LINE_WIDTH_FACTOR * step(line.lineHalfWidth, THIN_LINE_HALF_WIDTH), 1.0);\\nmediump float fragDist = length(line.normal) * line.lineHalfWidth;\\nlowp float alpha = clamp(thinLineFactor * (line.lineHalfWidth - fragDist) / (u_blur + thinLineFactor - 1.0), 0.0, 1.0);\\nlowp vec4 out_color = getLineColor(line) * alpha;\\n#ifdef HIGHLIGHT\\nout_color.a = step(1.0 / 255.0, out_color.a);\\n#endif\\n#ifdef ID\\nif (out_color.a < 1.0 / 255.0) {\\ndiscard;\\n}\\nout_color = vec4(line.id, 0.0);\\n#endif\\nreturn out_color;\\n}\",\"line.vert\":\"float getBaseLineHalfWidth(in float lineHalfWidth, in float referenceHalfWidth) {\\n#ifdef VV_SIZE\\nfloat refLineWidth = 2.0 * referenceHalfWidth;\\nreturn 0.5 * (lineHalfWidth / max(referenceHalfWidth, EPSILON)) * getSize(refLineWidth);\\n#else\\nreturn lineHalfWidth;\\n#endif\\n}\\nfloat getLineHalfWidth(in float baseWidth, in float aa) {\\nfloat halfWidth = max(baseWidth + aa, 0.45) + 0.1 * aa;\\n#ifdef HIGHLIGHT\\nhalfWidth = max(halfWidth, 2.0);\\n#endif\\nreturn halfWidth;\\n}\\nvec2 getDist(in vec2 offset, in float halfWidth) {\\nfloat thinLineFactor = max(THIN_LINE_WIDTH_FACTOR * step(halfWidth, THIN_LINE_HALF_WIDTH), 1.0);\\nreturn thinLineFactor * halfWidth * offset;\\n}\\nLineData buildLine(\\nout vec3 out_pos,\\nin vec3 in_id,\\nin vec2 in_pos,\\nin vec4 in_color,\\nin vec2 in_offset,\\nin vec2 in_normal,\\nin float in_accumulatedDist,\\nin float in_lineHalfWidth,\\nin float in_bitSet,\\nin vec4 in_tlbr,\\nin vec2 in_segmentDirection,\\nin float in_referenceHalfWidth\\n)\\n{\\nfloat aa = 0.5 * u_antialiasing;\\nfloat baseWidth = getBaseLineHalfWidth(in_lineHalfWidth, in_referenceHalfWidth);\\nfloat halfWidth = getLineHalfWidth(baseWidth, aa);\\nfloat z = 2.0 * step(baseWidth, 0.0);\\nvec2 dist = getDist(in_offset, halfWidth);\\nvec3 offset = u_displayViewMat3 * vec3(dist, 0.0);\\nvec3 pos = u_dvsMat3 * vec3(in_pos * POSITION_PRECISION, 1.0) + offset;\\n#ifdef SYMBOLOGY_TYPE_IS_OUTLINE_FILL_LIKE\\nvec4 color = in_color;\\nfloat opacity = 1.0;\\n#else\\nvec4 color = getColor(in_color, in_bitSet, BITSET_GENERIC_LOCK_COLOR);\\nfloat opacity = getOpacity();\\n#ifdef SDF\\nconst float SDF_PATTERN_HALF_WIDTH = 15.5;\\nfloat scaleDash = getBit(in_bitSet, BITSET_LINE_SCALE_DASH);\\nfloat lineWidthRatio = (scaleDash * max(halfWidth - 0.55 * u_antialiasing, 0.25) + (1.0 - scaleDash)) / SDF_PATTERN_HALF_WIDTH;\\n#endif\\n#endif\\n#if !defined(SYMBOLOGY_TYPE_IS_OUTLINE_FILL_LIKE) && defined(PATTERN)\\nv_sampleAlphaOnly = getBit(in_bitSet, BITSET_GENERIC_CONSIDER_ALPHA_ONLY);\\n#endif\\nout_pos = vec3(pos.xy, z);\\nreturn LineData(\\ncolor,\\nin_normal,\\nhalfWidth,\\nopacity,\\n#ifndef SYMBOLOGY_TYPE_IS_OUTLINE_FILL_LIKE\\n#ifdef PATTERN\\nin_tlbr / u_mosaicSize.xyxy,\\nvec2(in_tlbr.z - in_tlbr.x, in_tlbr.w - in_tlbr.y),\\n#endif\\n#ifdef SDF\\nlineWidthRatio,\\n#endif\\n#if defined(PATTERN) || defined(SDF)\\nin_accumulatedDist * u_zoomFactor + dot(in_segmentDirection, dist),\\n#endif\\n#endif\\nnorm(in_id)\\n);\\n}\"}},\"symbologyTypeUtils.glsl\":\"#if SYMBOLOGY_TYPE == SYMBOLOGY_TYPE_OUTLINE_FILL || SYMBOLOGY_TYPE == SYMBOLOGY_TYPE_OUTLINE_FILL_SIMPLE\\n#define SYMBOLOGY_TYPE_IS_OUTLINE_FILL_LIKE\\n#endif\\n#if SYMBOLOGY_TYPE == SYMBOLOGY_TYPE_SIMPLE || SYMBOLOGY_TYPE == SYMBOLOGY_TYPE_OUTLINE_FILL_SIMPLE\\n#define SYMBOLOGY_TYPE_IS_SIMPLE_LIKE\\n#endif\",text:{\"common.glsl\":\"uniform highp vec2 u_mosaicSize;\\nvarying highp vec3 v_id;\\nvarying mediump vec3 v_pos;\\nvarying lowp float v_opacity;\\nvarying lowp vec4 v_color;\\nvarying highp vec2 v_tex;\\nvarying mediump float v_antialiasingWidth;\\nvarying mediump float v_edgeDistanceOffset;\\nvarying lowp float v_transparency;\",\"hittest.glsl\":\"#include \",\"text.frag\":\"precision mediump float;\\n#include \\nuniform lowp sampler2D u_texture;\\n#ifdef HITTEST\\nvec4 getColor() {\\nreturn v_color;\\n}\\n#else\\nvec4 getColor()\\n{\\nfloat SDF_CUTOFF = (2.0 / 8.0);\\nfloat SDF_BASE_EDGE_DIST = 1.0 - SDF_CUTOFF;\\nlowp float dist = texture2D(u_texture, v_tex).a;\\nmediump float edge = SDF_BASE_EDGE_DIST - v_edgeDistanceOffset;\\n#ifdef HIGHLIGHT\\nedge /= 2.0;\\n#endif\\nlowp float aa = v_antialiasingWidth;\\nlowp float alpha = smoothstep(edge - aa, edge + aa, dist);\\nreturn alpha * v_color * v_opacity;\\n}\\n#endif\\nvoid main()\\n{\\ngl_FragColor = getColor();\\n}\",\"text.vert\":\"precision highp float;\\n#include \\n#include \\n#include \\n#include \\nattribute vec4 a_color;\\nattribute vec4 a_haloColor;\\nattribute vec4 a_texFontSize;\\nattribute vec4 a_aux;\\nattribute vec2 a_zoomRange;\\nattribute vec2 a_vertexOffset;\\nattribute vec2 a_texCoords;\\nuniform float u_isHalo;\\nfloat getTextSize(inout vec2 offset, inout float baseSize, in float referenceSize) {\\n#ifdef VV_SIZE\\nfloat r = getSize(referenceSize) / referenceSize;\\nbaseSize *= r;\\noffset.xy *= r;\\nreturn baseSize;\\n#endif\\nreturn baseSize;\\n}\\nvoid main()\\n{\\nINIT;\\nfloat a_referenceSize = a_aux.z * a_aux.z / 256.0;\\nfloat a_bitSet = a_aux.w;\\nfloat a_fontSize = a_texFontSize.z;\\nvec2 a_offset = a_vertexOffset * OFFSET_PRECISION;\\nvec3 in_pos = vec3(a_pos * POSITION_PRECISION, 1.0);\\nfloat fontSize = getTextSize(a_offset, a_fontSize, a_referenceSize);\\nfloat fontScale = fontSize / SDF_FONT_SIZE;\\nvec3 offset = getRotation() * vec3(a_offset, 0.0);\\nmat3 extrudeMatrix = getBit(a_bitSet, 0) == 1.0 ? u_displayViewMat3 : u_displayMat3;\\nv_color = u_isHalo * a_haloColor + (1.0 - u_isHalo) * getColor(a_color, a_bitSet, 1);\\nv_opacity = getOpacity();\\nv_id = norm(a_id);\\nv_tex = a_texCoords / u_mosaicSize;\\nv_pos = u_dvsMat3 * in_pos + extrudeMatrix * offset;\\nv_edgeDistanceOffset = u_isHalo * OUTLINE_SCALE * a_texFontSize.w / fontScale / MAX_SDF_DISTANCE;\\nv_antialiasingWidth = 0.105 * SDF_FONT_SIZE / fontSize / u_pixelRatio;\\n#ifdef HITTEST\\nhighp vec3 out_pos = vec3(0.);\\nv_color = vec4(0.);\\nhittestMarker(v_color, out_pos, u_viewMat3 * u_tileMat3 * vec3(a_pos * POSITION_PRECISION, 1.0)\\n+ u_tileMat3 * offset, fontSize / 2.);\\ngl_PointSize = 1.;\\ngl_Position = vec4(clip(v_color, out_pos, getFilterFlags(), a_zoomRange), 1.0);\\n#else\\ngl_Position = vec4(clip(v_color, v_pos, getFilterFlags(), a_zoomRange), 1.0);\\n#endif\\n}\"},\"utils.glsl\":\"float rshift(in float u32, in int amount) {\\nreturn floor(u32 / pow(2.0, float(amount)));\\n}\\nfloat getBit(in float bitset, in int bitIndex) {\\nfloat offset = pow(2.0, float(bitIndex));\\nreturn mod(floor(bitset / offset), 2.0);\\n}\\nfloat getFilterBit(in float bitset, in int bitIndex) {\\nreturn getBit(bitset, bitIndex + 1);\\n}\\nfloat getHighlightBit(in float bitset) {\\nreturn getBit(bitset, 0);\\n}\\nhighp vec3 unpackDisplayIdTexel(in highp vec3 bitset) {\\nfloat isAggregate = getBit(bitset.b, 7);\\nreturn (1.0 - isAggregate) * bitset + isAggregate * (vec3(bitset.rgb) - vec3(0.0, 0.0, float(0x80)));\\n}\\nvec4 unpack(in float u32) {\\nfloat r = mod(rshift(u32, 0), 255.0);\\nfloat g = mod(rshift(u32, 8), 255.0);\\nfloat b = mod(rshift(u32, 16), 255.0);\\nfloat a = mod(rshift(u32, 24), 255.0);\\nreturn vec4(r, g, b, a);\\n}\\nvec3 norm(in vec3 v) {\\nreturn v /= 255.0;\\n}\\nvec4 norm(in vec4 v) {\\nreturn v /= 255.0;\\n}\\nfloat max4(vec4 target) {\\nreturn max(max(max(target.x, target.y), target.z), target.w);\\n}\\nvec2 unpack_u8_nf32(vec2 bytes) {\\nreturn (bytes - 127.0) / 127.0;\\n}\\nhighp float rand(in vec2 co) {\\nhighp float a = 12.9898;\\nhighp float b = 78.233;\\nhighp float c = 43758.5453;\\nhighp float dt = dot(co, vec2(a,b));\\nhighp float sn = mod(dt, 3.14);\\nreturn fract(sin(sn) * c);\\n}\",\"vcommon.glsl\":\"#include \\n#include \\n#include \\n#include \\n#include \\nattribute vec2 a_pos;\\nattribute highp vec3 a_id;\\nuniform highp mat3 u_dvsMat3;\\nuniform highp mat3 u_displayMat3;\\nuniform highp mat3 u_displayViewMat3;\\nuniform highp mat3 u_tileMat3;\\nuniform highp mat3 u_viewMat3;\\nuniform highp float u_pixelRatio;\\nuniform mediump float u_zoomFactor;\\nuniform mediump float u_antialiasing;\\nuniform mediump float u_currentZoom;\\nvec4 VV_ADATA = vec4(0.0);\\nvoid loadVisualVariableData(inout vec4 target) {\\n#ifdef SUPPORTS_TEXTURE_FLOAT\\ntarget.rgba = getAttributeData2(a_id);\\n#else\\nvec4 data0 = getAttributeData2(a_id);\\nvec4 data1 = getAttributeData3(a_id);\\ntarget.r = u88VVToFloat(data0.rg * 255.0);\\ntarget.g = u88VVToFloat(data0.ba * 255.0);\\ntarget.b = u88VVToFloat(data1.rg * 255.0);\\ntarget.a = u88VVToFloat(data1.ba * 255.0);\\n#endif\\n}\\n#ifdef VV\\n#define INIT loadVisualVariableData(VV_ADATA)\\n#else\\n#define INIT\\n#endif\\nvec4 getColor(in vec4 a_color, in float a_bitSet, int index) {\\n#ifdef VV_COLOR\\nfloat isColorLocked = getBit(a_bitSet, index);\\nreturn getVVColor(VV_ADATA[ATTR_VV_COLOR], a_color, isColorLocked);\\n#else\\nreturn a_color;\\n#endif\\n}\\nfloat getOpacity() {\\n#ifdef VV_OPACITY\\nreturn getVVOpacity(VV_ADATA[ATTR_VV_OPACITY]);\\n#else\\nreturn 1.0;\\n#endif\\n}\\nfloat getSize(in float in_size) {\\n#ifdef VV_SIZE\\nreturn getVVSize(in_size, VV_ADATA[ATTR_VV_SIZE]);\\n#else\\nreturn in_size;\\n#endif\\n}\\nmat3 getRotation() {\\n#ifdef VV_ROTATION\\nreturn getVVRotationMat3(mod(VV_ADATA[ATTR_VV_ROTATION], 360.0));\\n#else\\nreturn mat3(1.0);\\n#endif\\n}\\nfloat getFilterFlags() {\\n#ifdef IGNORES_SAMPLER_PRECISION\\nreturn ceil(getAttributeData0(a_id).x * 255.0);\\n#else\\nreturn getAttributeData0(a_id).x * 255.0;\\n#endif\\n}\\nvec4 getAnimationState() {\\nreturn getAttributeData1(a_id);\\n}\\nfloat getMinZoom() {\\nvec4 data0 = getAttributeData0(a_id) * 255.0;\\nreturn data0.g;\\n}\\nmat3 getMatrixNoDisplay(float isMapAligned) {\\nreturn isMapAligned * u_viewMat3 * u_tileMat3 + (1.0 - isMapAligned) * u_tileMat3;\\n}\\nmat3 getMatrix(float isMapAligned) {\\nreturn isMapAligned * u_displayViewMat3 + (1.0 - isMapAligned) * u_displayMat3;\\n}\\nvec3 clip(inout vec4 color, inout vec3 pos, in float filterFlags, in vec2 minMaxZoom) {\\npos.z += 2.0 * (1.0 - getFilterBit(filterFlags, 0));\\n#ifdef INSIDE\\npos.z += 2.0 * (1.0 - getFilterBit(filterFlags, 1));\\n#elif defined(OUTSIDE)\\npos.z += 2.0 * getFilterBit(filterFlags, 1);\\n#elif defined(HIGHLIGHT)\\n#if !defined(HIGHLIGHT_ALL)\\npos.z += 2.0 * (1.0 - getHighlightBit(filterFlags));\\n#endif\\n#endif\\npos.z += 2.0 * (step(minMaxZoom.y, u_currentZoom) + (1.0 - step(minMaxZoom.x, u_currentZoom)));\\nreturn pos;\\n}\",\"vv.glsl\":\"#if defined(VV_SIZE_MIN_MAX_VALUE) || defined(VV_SIZE_SCALE_STOPS) || defined(VV_SIZE_FIELD_STOPS) || defined(VV_SIZE_UNIT_VALUE)\\n#define VV_SIZE\\n#endif\\n#if defined(VV_COLOR) || defined(VV_SIZE) || defined(VV_OPACITY) || defined(VV_ROTATION)\\n#define VV\\n#endif\\n#ifdef VV_COLOR\\nuniform highp float u_vvColorValues[8];\\nuniform vec4 u_vvColors[8];\\n#endif\\n#ifdef VV_SIZE_MIN_MAX_VALUE\\nuniform highp vec4 u_vvSizeMinMaxValue;\\n#endif\\n#ifdef VV_SIZE_SCALE_STOPS\\nuniform highp float u_vvSizeScaleStopsValue;\\n#endif\\n#ifdef VV_SIZE_FIELD_STOPS\\nuniform highp float u_vvSizeFieldStopsValues[6];\\nuniform float u_vvSizeFieldStopsSizes[6];\\n#endif\\n#ifdef VV_SIZE_UNIT_VALUE\\nuniform highp float u_vvSizeUnitValueWorldToPixelsRatio;\\n#endif\\n#ifdef VV_OPACITY\\nuniform highp float u_vvOpacityValues[8];\\nuniform float u_vvOpacities[8];\\n#endif\\n#ifdef VV_ROTATION\\nuniform lowp float u_vvRotationType;\\n#endif\\nbool isNan(float val) {\\nreturn (val == NAN_MAGIC_NUMBER);\\n}\\n#ifdef VV_SIZE_MIN_MAX_VALUE\\nfloat getVVMinMaxSize(float sizeValue, float fallback) {\\nif (isNan(sizeValue)) {\\nreturn fallback;\\n}\\nfloat interpolationRatio = (sizeValue - u_vvSizeMinMaxValue.x) / (u_vvSizeMinMaxValue.y - u_vvSizeMinMaxValue.x);\\ninterpolationRatio = clamp(interpolationRatio, 0.0, 1.0);\\nreturn u_vvSizeMinMaxValue.z + interpolationRatio * (u_vvSizeMinMaxValue.w - u_vvSizeMinMaxValue.z);\\n}\\n#endif\\n#ifdef VV_SIZE_FIELD_STOPS\\nconst int VV_SIZE_N = 6;\\nfloat getVVStopsSize(float sizeValue, float fallback) {\\nif (isNan(sizeValue)) {\\nreturn fallback;\\n}\\nif (sizeValue <= u_vvSizeFieldStopsValues[0]) {\\nreturn u_vvSizeFieldStopsSizes[0];\\n}\\nfor (int i = 1; i < VV_SIZE_N; ++i) {\\nif (u_vvSizeFieldStopsValues[i] >= sizeValue) {\\nfloat f = (sizeValue - u_vvSizeFieldStopsValues[i-1]) / (u_vvSizeFieldStopsValues[i] - u_vvSizeFieldStopsValues[i-1]);\\nreturn mix(u_vvSizeFieldStopsSizes[i-1], u_vvSizeFieldStopsSizes[i], f);\\n}\\n}\\nreturn u_vvSizeFieldStopsSizes[VV_SIZE_N - 1];\\n}\\n#endif\\n#ifdef VV_SIZE_UNIT_VALUE\\nfloat getVVUnitValue(float sizeValue, float fallback) {\\nif (isNan(sizeValue)) {\\nreturn fallback;\\n}\\nreturn u_vvSizeUnitValueWorldToPixelsRatio * sizeValue;\\n}\\n#endif\\n#ifdef VV_OPACITY\\nconst int VV_OPACITY_N = 8;\\nfloat getVVOpacity(float opacityValue) {\\nif (isNan(opacityValue)) {\\nreturn 1.0;\\n}\\nif (opacityValue <= u_vvOpacityValues[0]) {\\nreturn u_vvOpacities[0];\\n}\\nfor (int i = 1; i < VV_OPACITY_N; ++i) {\\nif (u_vvOpacityValues[i] >= opacityValue) {\\nfloat f = (opacityValue - u_vvOpacityValues[i-1]) / (u_vvOpacityValues[i] - u_vvOpacityValues[i-1]);\\nreturn mix(u_vvOpacities[i-1], u_vvOpacities[i], f);\\n}\\n}\\nreturn u_vvOpacities[VV_OPACITY_N - 1];\\n}\\n#endif\\n#ifdef VV_ROTATION\\nmat4 getVVRotation(float rotationValue) {\\nif (isNan(rotationValue)) {\\nreturn mat4(1, 0, 0, 0,\\n0, 1, 0, 0,\\n0, 0, 1, 0,\\n0, 0, 0, 1);\\n}\\nfloat rotation = rotationValue;\\nif (u_vvRotationType == 1.0) {\\nrotation = 90.0 - rotation;\\n}\\nfloat angle = C_DEG_TO_RAD * rotation;\\nfloat sinA = sin(angle);\\nfloat cosA = cos(angle);\\nreturn mat4(cosA, sinA, 0, 0,\\n-sinA, cosA, 0, 0,\\n0, 0, 1, 0,\\n0, 0, 0, 1);\\n}\\nmat3 getVVRotationMat3(float rotationValue) {\\nif (isNan(rotationValue)) {\\nreturn mat3(1, 0, 0,\\n0, 1, 0,\\n0, 0, 1);\\n}\\nfloat rotation = rotationValue;\\nif (u_vvRotationType == 1.0) {\\nrotation = 90.0 - rotation;\\n}\\nfloat angle = C_DEG_TO_RAD * -rotation;\\nfloat sinA = sin(angle);\\nfloat cosA = cos(angle);\\nreturn mat3(cosA, -sinA, 0,\\nsinA, cosA, 0,\\n0, 0, 1);\\n}\\n#endif\\n#ifdef VV_COLOR\\nconst int VV_COLOR_N = 8;\\nvec4 getVVColor(float colorValue, vec4 fallback, float isColorLocked) {\\nif (isNan(colorValue) || isColorLocked == 1.0) {\\nreturn fallback;\\n}\\nif (colorValue <= u_vvColorValues[0]) {\\nreturn u_vvColors[0];\\n}\\nfor (int i = 1; i < VV_COLOR_N; ++i) {\\nif (u_vvColorValues[i] >= colorValue) {\\nfloat f = (colorValue - u_vvColorValues[i-1]) / (u_vvColorValues[i] - u_vvColorValues[i-1]);\\nreturn mix(u_vvColors[i-1], u_vvColors[i], f);\\n}\\n}\\nreturn u_vvColors[VV_COLOR_N - 1];\\n}\\n#endif\\nfloat getVVSize(in float size, in float vvSize) {\\n#ifdef VV_SIZE_MIN_MAX_VALUE\\nreturn getVVMinMaxSize(vvSize, size);\\n#elif defined(VV_SIZE_SCALE_STOPS)\\nreturn u_vvSizeScaleStopsValue;\\n#elif defined(VV_SIZE_FIELD_STOPS)\\nfloat outSize = getVVStopsSize(vvSize, size);\\nreturn isNan(outSize) ? size : outSize;\\n#elif defined(VV_SIZE_UNIT_VALUE)\\nreturn getVVUnitValue(vvSize, size);\\n#else\\nreturn size;\\n#endif\\n}\"},overlay:{overlay:{\"overlay.frag\":\"precision lowp float;\\nuniform lowp sampler2D u_texture;\\nuniform lowp float u_opacity;\\nvarying mediump vec2 v_uv;\\nvoid main() {\\nvec4 color = texture2D(u_texture, v_uv);\\ngl_FragColor = color * u_opacity;\\n}\",\"overlay.vert\":\"precision mediump float;\\nattribute vec2 a_pos;\\nattribute vec2 a_uv;\\nuniform highp mat3 u_dvsMat3;\\nvarying mediump vec2 v_uv;\\nvoid main(void) {\\nv_uv = a_uv;\\nmediump vec3 pos = u_dvsMat3 * vec3(a_pos, 1.0);\\ngl_Position = vec4(pos.xy, 0.0, 1.0);\\n}\"}},\"post-processing\":{blit:{\"blit.frag\":\"precision mediump float;\\nuniform sampler2D u_texture;\\nvarying vec2 v_uv;\\nvoid main() {\\ngl_FragColor = texture2D(u_texture, v_uv);\\n}\"},bloom:{composite:{\"composite.frag\":\"precision mediump float;\\nvarying vec2 v_uv;\\nuniform sampler2D u_blurTexture1;\\nuniform sampler2D u_blurTexture2;\\nuniform sampler2D u_blurTexture3;\\nuniform sampler2D u_blurTexture4;\\nuniform sampler2D u_blurTexture5;\\nuniform float u_bloomStrength;\\nuniform float u_bloomRadius;\\nuniform float u_bloomFactors[NUMMIPS];\\nuniform vec3 u_bloomTintColors[NUMMIPS];\\nfloat lerpBloomFactor(const in float factor) {\\nfloat mirrorFactor = 1.2 - factor;\\nreturn mix(factor, mirrorFactor, u_bloomRadius);\\n}\\nvoid main() {\\ngl_FragColor = u_bloomStrength * (\\nlerpBloomFactor(u_bloomFactors[0]) * vec4(u_bloomTintColors[0], 1.0) * texture2D(u_blurTexture1, v_uv) +\\nlerpBloomFactor(u_bloomFactors[1]) * vec4(u_bloomTintColors[1], 1.0) * texture2D(u_blurTexture2, v_uv) +\\nlerpBloomFactor(u_bloomFactors[2]) * vec4(u_bloomTintColors[2], 1.0) * texture2D(u_blurTexture3, v_uv) +\\nlerpBloomFactor(u_bloomFactors[3]) * vec4(u_bloomTintColors[3], 1.0) * texture2D(u_blurTexture4, v_uv) +\\nlerpBloomFactor(u_bloomFactors[4]) * vec4(u_bloomTintColors[4], 1.0) * texture2D(u_blurTexture5, v_uv)\\n);\\n}\"},gaussianBlur:{\"gaussianBlur.frag\":\"precision mediump float;\\nuniform sampler2D u_colorTexture;\\nuniform vec2 u_texSize;\\nuniform vec2 u_direction;\\nvarying vec2 v_uv;\\n#define KERNEL_RADIUS RADIUS\\n#define SIGMA RADIUS\\nfloat gaussianPdf(in float x, in float sigma) {\\nreturn 0.39894 * exp(-0.5 * x * x / ( sigma * sigma)) / sigma;\\n}\\nvoid main() {\\nvec2 invSize = 1.0 / u_texSize;\\nfloat fSigma = float(SIGMA);\\nfloat weightSum = gaussianPdf(0.0, fSigma);\\nvec4 pixelColorSum = texture2D(u_colorTexture, v_uv) * weightSum;\\nfor (int i = 1; i < KERNEL_RADIUS; i ++) {\\nfloat x = float(i);\\nfloat w = gaussianPdf(x, fSigma);\\nvec2 uvOffset = u_direction * invSize * x;\\nvec4 sample1 = texture2D(u_colorTexture, v_uv + uvOffset);\\nvec4 sample2 = texture2D(u_colorTexture, v_uv - uvOffset);\\npixelColorSum += (sample1 + sample2) * w;\\nweightSum += 2.0 * w;\\n}\\ngl_FragColor = pixelColorSum /weightSum;\\n}\"},luminosityHighPass:{\"luminosityHighPass.frag\":\"precision mediump float;\\nuniform sampler2D u_texture;\\nuniform vec3 u_defaultColor;\\nuniform float u_defaultOpacity;\\nuniform float u_luminosityThreshold;\\nuniform float u_smoothWidth;\\nvarying vec2 v_uv;\\nvoid main() {\\nvec4 texel = texture2D(u_texture, v_uv);\\nvec3 luma = vec3(0.299, 0.587, 0.114);\\nfloat v = dot(texel.xyz, luma);\\nvec4 outputColor = vec4(u_defaultColor.rgb, u_defaultOpacity);\\nfloat alpha = smoothstep(u_luminosityThreshold, u_luminosityThreshold + u_smoothWidth, v);\\ngl_FragColor = mix(outputColor, texel, alpha);\\n}\"}},blur:{gaussianBlur:{\"gaussianBlur.frag\":\"precision mediump float;\\nuniform sampler2D u_colorTexture;\\nuniform vec2 u_texSize;\\nuniform vec2 u_direction;\\nuniform float u_sigma;\\nvarying vec2 v_uv;\\n#define KERNEL_RADIUS RADIUS\\nfloat gaussianPdf(in float x, in float sigma) {\\nreturn 0.39894 * exp(-0.5 * x * x / ( sigma * sigma)) / sigma;\\n}\\nvoid main() {\\nvec2 invSize = 1.0 / u_texSize;\\nfloat fSigma = u_sigma;\\nfloat weightSum = gaussianPdf(0.0, fSigma);\\nvec4 pixelColorSum = texture2D(u_colorTexture, v_uv) * weightSum;\\nfor (int i = 1; i < KERNEL_RADIUS; i ++) {\\nfloat x = float(i);\\nfloat w = gaussianPdf(x, fSigma);\\nvec2 uvOffset = u_direction * invSize * x;\\nvec4 sample1 = texture2D(u_colorTexture, v_uv + uvOffset);\\nvec4 sample2 = texture2D(u_colorTexture, v_uv - uvOffset);\\npixelColorSum += (sample1 + sample2) * w;\\nweightSum += 2.0 * w;\\n}\\ngl_FragColor = pixelColorSum /weightSum;\\n}\"},\"radial-blur\":{\"radial-blur.frag\":\"precision mediump float;\\nuniform sampler2D u_colorTexture;\\nvarying vec2 v_uv;\\nconst float sampleDist = 1.0;\\nconst float sampleStrength = 2.2;\\nvoid main(void) {\\nfloat samples[10];\\nsamples[0] = -0.08;\\nsamples[1] = -0.05;\\nsamples[2] = -0.03;\\nsamples[3] = -0.02;\\nsamples[4] = -0.01;\\nsamples[5] = 0.01;\\nsamples[6] = 0.02;\\nsamples[7] = 0.03;\\nsamples[8] = 0.05;\\nsamples[9] = 0.08;\\nvec2 dir = 0.5 - v_uv;\\nfloat dist = sqrt(dir.x * dir.x + dir.y * dir.y);\\ndir = dir / dist;\\nvec4 color = texture2D(u_colorTexture,v_uv);\\nvec4 sum = color;\\nfor (int i = 0; i < 10; i++) {\\nsum += texture2D(u_colorTexture, v_uv + dir * samples[i] * sampleDist);\\n}\\nsum *= 1.0 / 11.0;\\nfloat t = dist * sampleStrength;\\nt = clamp(t, 0.0, 1.0);\\ngl_FragColor = mix(color, sum, t);\\n}\"}},dra:{\"dra.frag\":\"precision mediump float;\\nuniform sampler2D u_minColor;\\nuniform sampler2D u_maxColor;\\nuniform sampler2D u_texture;\\nvarying vec2 v_uv;\\nvoid main() {\\nvec4 minColor = texture2D(u_minColor, vec2(0.5));\\nvec4 maxColor = texture2D(u_maxColor, vec2(0.5));\\nvec4 color = texture2D(u_texture, v_uv);\\nvec3 minColorUnpremultiply = minColor.rgb / minColor.a;\\nvec3 maxColorUnpremultiply = maxColor.rgb / maxColor.a;\\nvec3 colorUnpremultiply = color.rgb / color.a;\\nvec3 range = maxColorUnpremultiply - minColorUnpremultiply;\\ngl_FragColor = vec4(color.a * (colorUnpremultiply - minColorUnpremultiply) / range, color.a);\\n}\",\"min-max\":{\"min-max.frag\":\"#extension GL_EXT_draw_buffers : require\\nprecision mediump float;\\n#define CELL_SIZE 2\\nuniform sampler2D u_minTexture;\\nuniform sampler2D u_maxTexture;\\nuniform vec2 u_srcResolution;\\nuniform vec2 u_dstResolution;\\nvarying vec2 v_uv;\\nvoid main() {\\nvec2 srcPixel = floor(gl_FragCoord.xy) * float(CELL_SIZE);\\nvec2 onePixel = vec2(1.0) / u_srcResolution;\\nvec2 uv = (srcPixel + 0.5) / u_srcResolution;\\nvec4 minColor = vec4(1.0);\\nvec4 maxColor = vec4(0.0);\\nfor (int y = 0; y < CELL_SIZE; ++y) {\\nfor (int x = 0; x < CELL_SIZE; ++x) {\\nvec2 offset = uv + vec2(x, y) * onePixel;\\nminColor = min(minColor, texture2D(u_minTexture, offset));\\nmaxColor = max(maxColor, texture2D(u_maxTexture, offset));\\n}\\n}\\ngl_FragData[0] = minColor;\\ngl_FragData[1] = maxColor;\\n}\"}},\"drop-shadow\":{composite:{\"composite.frag\":\"precision mediump float;\\nuniform sampler2D u_layerFBOTexture;\\nuniform sampler2D u_blurTexture;\\nuniform vec4 u_shadowColor;\\nuniform vec2 u_shadowOffset;\\nuniform highp mat3 u_displayViewMat3;\\nvarying vec2 v_uv;\\nvoid main() {\\nvec3 offset = u_displayViewMat3 * vec3(u_shadowOffset, 0.0);\\nvec4 layerColor = texture2D(u_layerFBOTexture, v_uv);\\nvec4 blurColor = texture2D(u_blurTexture, v_uv - offset.xy / 2.0);\\ngl_FragColor = ((1.0 - layerColor.a) * blurColor.a * u_shadowColor + layerColor);\\n}\"}},\"edge-detect\":{\"frei-chen\":{\"frei-chen.frag\":\"precision mediump float;\\nuniform sampler2D u_colorTexture;\\nuniform vec2 u_texSize;\\nvarying vec2 v_uv;\\nvec2 texel = vec2(1.0 / u_texSize.x, 1.0 / u_texSize.y);\\nmat3 G[9];\\nconst mat3 g0 = mat3( 0.3535533845424652, 0, -0.3535533845424652, 0.5, 0, -0.5, 0.3535533845424652, 0, -0.3535533845424652 );\\nconst mat3 g1 = mat3( 0.3535533845424652, 0.5, 0.3535533845424652, 0, 0, 0, -0.3535533845424652, -0.5, -0.3535533845424652 );\\nconst mat3 g2 = mat3( 0, 0.3535533845424652, -0.5, -0.3535533845424652, 0, 0.3535533845424652, 0.5, -0.3535533845424652, 0 );\\nconst mat3 g3 = mat3( 0.5, -0.3535533845424652, 0, -0.3535533845424652, 0, 0.3535533845424652, 0, 0.3535533845424652, -0.5 );\\nconst mat3 g4 = mat3( 0, -0.5, 0, 0.5, 0, 0.5, 0, -0.5, 0 );\\nconst mat3 g5 = mat3( -0.5, 0, 0.5, 0, 0, 0, 0.5, 0, -0.5 );\\nconst mat3 g6 = mat3( 0.1666666716337204, -0.3333333432674408, 0.1666666716337204, -0.3333333432674408, 0.6666666865348816, -0.3333333432674408, 0.1666666716337204, -0.3333333432674408, 0.1666666716337204 );\\nconst mat3 g7 = mat3( -0.3333333432674408, 0.1666666716337204, -0.3333333432674408, 0.1666666716337204, 0.6666666865348816, 0.1666666716337204, -0.3333333432674408, 0.1666666716337204, -0.3333333432674408 );\\nconst mat3 g8 = mat3( 0.3333333432674408, 0.3333333432674408, 0.3333333432674408, 0.3333333432674408, 0.3333333432674408, 0.3333333432674408, 0.3333333432674408, 0.3333333432674408, 0.3333333432674408 );\\nvoid main() {\\nG[0] = g0,\\nG[1] = g1,\\nG[2] = g2,\\nG[3] = g3,\\nG[4] = g4,\\nG[5] = g5,\\nG[6] = g6,\\nG[7] = g7,\\nG[8] = g8;\\nmat3 I;\\nfloat cnv[9];\\nvec3 sample;\\nfor (float i = 0.0; i < 3.0; i++) {\\nfor (float j = 0.0; j < 3.0; j++) {\\nsample = texture2D(u_colorTexture, v_uv + texel * vec2(i - 1.0,j - 1.0)).rgb;\\nI[int(i)][int(j)] = length(sample);\\n}\\n}\\nfor (int i = 0; i < 9; i++) {\\nfloat dp3 = dot(G[i][0], I[0]) + dot(G[i][1], I[1]) + dot(G[i][2], I[2]);\\ncnv[i] = dp3 * dp3;\\n}\\nfloat M = (cnv[0] + cnv[1]) + (cnv[2] + cnv[3]);\\nfloat S = (cnv[4] + cnv[5]) + (cnv[6] + cnv[7]) + (cnv[8] + M);\\ngl_FragColor = vec4(vec3(sqrt(M / S)), texture2D(u_colorTexture, v_uv).a);\\n}\"},sobel:{\"sobel.frag\":\"precision mediump float;\\nuniform sampler2D u_colorTexture;\\nvarying vec2 v_uv;\\nuniform vec2 u_texSize;\\nvec2 texel = vec2(1.0 / u_texSize.x, 1.0 / u_texSize.y);\\nmat3 G[2];\\nconst mat3 g0 = mat3( 1.0, 2.0, 1.0, 0.0, 0.0, 0.0, -1.0, -2.0, -1.0 );\\nconst mat3 g1 = mat3( 1.0, 0.0, -1.0, 2.0, 0.0, -2.0, 1.0, 0.0, -1.0 );\\nvoid main() {\\nmat3 I;\\nfloat cnv[2];\\nvec3 sample;\\nG[0] = g0;\\nG[1] = g1;\\nfor (float i = 0.0; i < 3.0; i++) {\\nfor (float j = 0.0; j < 3.0; j++) {\\nsample = texture2D( u_colorTexture, v_uv + texel * vec2(i-1.0,j-1.0) ).rgb;\\nI[int(i)][int(j)] = length(sample);\\n}\\n}\\nfor (int i = 0; i < 2; i++) {\\nfloat dp3 = dot(G[i][0], I[0]) + dot(G[i][1], I[1]) + dot(G[i][2], I[2]);\\ncnv[i] = dp3 * dp3;\\n}\\ngl_FragColor = vec4(vec3(0.5 * sqrt(cnv[0] * cnv[0] + cnv[1] * cnv[1])), texture2D(u_colorTexture, v_uv).a);\\n}\"}},\"edge-enhance\":{\"edge-enhance.frag\":\"precision mediump float;\\nuniform sampler2D u_colorTexture;\\nvarying vec2 v_uv;\\nuniform vec2 u_texSize;\\nvec2 texel = vec2(1.0 / u_texSize.x, 1.0 / u_texSize.y);\\nmat3 G[2];\\nconst mat3 g0 = mat3( 1.0, 0.0, -1.0, 1.0, 0.0, -1.0, 1.0, 0.0, -1.0 );\\nconst mat3 g1 = mat3( 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, -1.0, -1.0, -1.0 );\\nvoid main() {\\nmat3 I;\\nfloat cnv[2];\\nvec3 sample;\\nG[0] = g0;\\nG[1] = g1;\\nfor (float i = 0.0; i < 3.0; i++) {\\nfor (float j = 0.0; j < 3.0; j++) {\\nsample = texture2D( u_colorTexture, v_uv + texel * vec2(i-1.0,j-1.0) ).rgb;\\nI[int(i)][int(j)] = length(sample);\\n}\\n}\\nfor (int i = 0; i < 2; i++) {\\nfloat dp3 = dot(G[i][0], I[0]) + dot(G[i][1], I[1]) + dot(G[i][2], I[2]);\\ncnv[i] = dp3 * dp3;\\n}\\nvec4 color = texture2D(u_colorTexture, v_uv);\\ngl_FragColor = vec4(0.5 * sqrt(cnv[0] * cnv[0] + cnv[1] * cnv[1]) * color);\\n}\"},filterEffect:{\"filterEffect.frag\":\"precision mediump float;\\nuniform sampler2D u_colorTexture;\\nuniform mat4 u_coefficients;\\nvarying vec2 v_uv;\\nvoid main() {\\nvec4 color = texture2D(u_colorTexture, v_uv);\\nvec4 rgbw = u_coefficients * vec4(color.a > 0.0 ? color.rgb / color.a : vec3(0.0), 1.0);\\nfloat a = color.a;\\ngl_FragColor = vec4(a * rgbw.rgb, a);\\n}\"},pp:{\"pp.vert\":\"precision mediump float;\\nattribute vec2 a_position;\\nvarying vec2 v_uv;\\nvoid main() {\\ngl_Position = vec4(a_position, 0.0, 1.0);\\nv_uv = (a_position + 1.0) / 2.0;\\n}\"}},raster:{bitmap:{\"bitmap.frag\":\"precision mediump float;\\nvarying highp vec2 v_texcoord;\\nuniform sampler2D u_texture;\\nuniform highp vec2 u_coordScale;\\nuniform lowp float u_opacity;\\n#include \\nvoid main() {\\n#ifdef BICUBIC\\nvec4 color = sampleBicubicBSpline(u_texture, v_texcoord, u_coordScale);\\n#else\\nvec4 color = texture2D(u_texture, v_texcoord);\\n#endif\\nfloat alpha = u_opacity * color.a;\\ngl_FragColor = vec4(alpha * color.rgb, alpha);\\n}\",\"bitmap.vert\":\"precision mediump float;\\nattribute vec2 a_pos;\\nuniform highp mat3 u_dvsMat3;\\nuniform highp vec2 u_coordScale;\\nvarying highp vec2 v_texcoord;\\nvoid main()\\n{\\nv_texcoord = a_pos;\\ngl_Position = vec4(u_dvsMat3 * vec3(a_pos * u_coordScale, 1.0), 1.0);\\n}\"},common:{\"common.glsl\":\"uniform sampler2D u_image;\\nuniform int u_bandCount;\\nuniform bool u_flipY;\\nuniform float u_opacity;\\nuniform int u_resampling;\\nuniform vec2 u_srcImageSize;\\n#ifdef APPLY_PROJECTION\\n#include \\n#endif\\n#ifdef BICUBIC\\n#include \\n#endif\\n#ifdef BILINEAR\\n#include \\n#endif\\nvec2 getPixelLocation(vec2 coords) {\\nvec2 targetLocation = u_flipY ? vec2(coords.s, 1.0 - coords.t) : coords;\\n#ifdef APPLY_PROJECTION\\ntargetLocation = projectPixelLocation(targetLocation);\\n#endif\\nreturn targetLocation;\\n}\\nbool isOutside(vec2 coords){\\nif (coords.t>1.00001 ||coords.t<-0.00001 || coords.s>1.00001 ||coords.s<-0.00001) {\\nreturn true;\\n} else {\\nreturn false;\\n}\\n}\\nvec4 getPixel(vec2 pixelLocation) {\\n#ifdef BICUBIC\\nvec4 color = sampleBicubicBSpline(u_image, pixelLocation, u_srcImageSize);\\n#elif defined(BILINEAR)\\nvec4 color = sampleBilinear(u_image, pixelLocation, u_srcImageSize);\\n#else\\nvec4 color = texture2D(u_image, pixelLocation);\\n#endif\\nreturn color;\\n}\",\"contrastBrightness.glsl\":\"uniform float u_contrastOffset;\\nuniform float u_brightnessOffset;\\nvec4 adjustContrastBrightness(vec4 currentPixel, bool isFloat) {\\nvec4 pixelValue = isFloat ? currentPixel * 255.0 : currentPixel;\\nfloat maxI = 255.0;\\nfloat mid = 128.0;\\nfloat c = u_contrastOffset;\\nfloat b = u_brightnessOffset;\\nvec4 v;\\nif (c > 0.0 && c < 100.0) {\\nv = (200.0 * pixelValue - 100.0 * maxI + 2.0 * maxI * b) / (2.0 * (100.0 - c)) + mid;\\n} else if (c <= 0.0 && c > -100.0) {\\nv = (200.0 * pixelValue - 100.0 * maxI + 2.0 * maxI * b) * (100.0 + c) / 20000.0 + mid;\\n} else if (c == 100.0) {\\nv = (200.0 * pixelValue - 100.0 * maxI + (maxI + 1.0) * (100.0 - c) + 2.0 * maxI * b);\\nv = (sign(v) + 1.0) / 2.0;\\n} else if (c == -100.0) {\\nv = vec4(mid, mid, mid, currentPixel.a);\\n}\\nreturn vec4(v.r / 255.0, v.g / 255.0, v.b / 255.0, currentPixel.a);\\n}\",\"projection.glsl\":\"uniform sampler2D u_transformGrid;\\nuniform vec2 u_transformSpacing;\\nuniform vec2 u_transformGridSize;\\nuniform vec2 u_targetImageSize;\\nvec2 projectPixelLocation(vec2 coords) {\\n#ifdef LOOKUP_PROJECTION\\nvec4 pv = texture2D(u_transformGrid, coords);\\nreturn vec2(pv.r, pv.g);\\n#endif\\nvec2 index_image = floor(coords * u_targetImageSize);\\nvec2 oneTransformPixel = vec2(0.25 / u_transformGridSize.s, 1.0 / u_transformGridSize.t);\\nvec2 index_transform = floor(index_image / u_transformSpacing) / u_transformGridSize;\\nvec2 pos = fract((index_image + vec2(0.5, 0.5)) / u_transformSpacing);\\nvec2 srcLocation;\\nvec2 transform_location = index_transform + oneTransformPixel * 0.5;\\nif (pos.s <= pos.t) {\\nvec4 ll_abc = texture2D(u_transformGrid, vec2(transform_location.s, transform_location.t));\\nvec4 ll_def = texture2D(u_transformGrid, vec2(transform_location.s + oneTransformPixel.s, transform_location.t));\\nsrcLocation.s = dot(ll_abc.rgb, vec3(pos, 1.0));\\nsrcLocation.t = dot(ll_def.rgb, vec3(pos, 1.0));\\n} else {\\nvec4 ur_abc = texture2D(u_transformGrid, vec2(transform_location.s + 2.0 * oneTransformPixel.s, transform_location.t));\\nvec4 ur_def = texture2D(u_transformGrid, vec2(transform_location.s + 3.0 * oneTransformPixel.s, transform_location.t));\\nsrcLocation.s = dot(ur_abc.rgb, vec3(pos, 1.0));\\nsrcLocation.t = dot(ur_def.rgb, vec3(pos, 1.0));\\n}\\nreturn srcLocation;\\n}\"},flow:{\"getFadeOpacity.glsl\":\"uniform float u_decayRate;\\nuniform float u_fadeToZero;\\nfloat getFadeOpacity(float x) {\\nfloat cutOff = mix(0.0, exp(-u_decayRate), u_fadeToZero);\\nreturn (exp(-u_decayRate * x) - cutOff) / (1.0 - cutOff);\\n}\",\"getFragmentColor.glsl\":\"vec4 getFragmentColor(vec4 color, float dist, float size, float featheringSize) {\\nfloat featheringStart = clamp(0.5 - featheringSize / size, 0.0, 0.5);\\nif (dist > featheringStart) {\\ncolor *= 1.0 - (dist - featheringStart) / (0.5 - featheringStart);\\n}\\nreturn color;\\n}\",imagery:{\"imagery.frag\":\"precision highp float;\\nvarying vec2 v_texcoord;\\nuniform sampler2D u_texture;\\nuniform float u_Min;\\nuniform float u_Max;\\nuniform float u_featheringSize;\\n#include \\nfloat getIntensity(float v) {\\nreturn u_Min + v * (u_Max - u_Min);\\n}\\nvoid main(void) {\\nvec4 sampled = texture2D(u_texture, v_texcoord);\\nfloat intensity = getIntensity(sampled.r);\\ngl_FragColor = getColor(intensity);\\ngl_FragColor.a *= getOpacity(sampled.r);\\ngl_FragColor.a *= sampled.a;\\ngl_FragColor.rgb *= gl_FragColor.a;\\n}\",\"imagery.vert\":\"attribute vec2 a_position;\\nattribute vec2 a_texcoord;\\nuniform mat3 u_dvsMat3;\\nvarying vec2 v_texcoord;\\nvoid main(void) {\\nvec2 xy = (u_dvsMat3 * vec3(a_position, 1.0)).xy;\\ngl_Position = vec4(xy, 0.0, 1.0);\\nv_texcoord = a_texcoord;\\n}\"},particles:{\"particles.frag\":\"precision highp float;\\nvarying vec4 v_color;\\nvarying vec2 v_texcoord;\\nvarying float v_size;\\nuniform float u_featheringSize;\\n#include \\nvoid main(void) {\\ngl_FragColor = getFragmentColor(v_color, length(v_texcoord - 0.5), v_size, u_featheringSize);\\n}\",\"particles.vert\":\"attribute vec4 a_xyts0;\\nattribute vec4 a_xyts1;\\nattribute vec4 a_typeIdDurationSeed;\\nattribute vec4 a_extrudeInfo;\\nuniform mat3 u_dvsMat3;\\nuniform mat3 u_displayViewMat3;\\nuniform float u_time;\\nuniform float u_trailLength;\\nuniform float u_flowSpeed;\\nvarying vec4 v_color;\\nvarying vec2 v_texcoord;\\nvarying float v_size;\\nuniform float u_featheringSize;\\nuniform float u_introFade;\\n#include \\n#include \\nvoid main(void) {\\nvec2 position0 = a_xyts0.xy;\\nfloat t0 = a_xyts0.z;\\nfloat speed0 = a_xyts0.w;\\nvec2 position1 = a_xyts1.xy;\\nfloat t1 = a_xyts1.z;\\nfloat speed1 = a_xyts1.w;\\nfloat type = a_typeIdDurationSeed.x;\\nfloat id = a_typeIdDurationSeed.y;\\nfloat duration = a_typeIdDurationSeed.z;\\nfloat seed = a_typeIdDurationSeed.w;\\nvec2 e0 = a_extrudeInfo.xy;\\nvec2 e1 = a_extrudeInfo.zw;\\nfloat animationPeriod = duration + u_trailLength;\\nfloat scaledTime = u_time * u_flowSpeed;\\nfloat randomizedTime = scaledTime + seed * animationPeriod;\\nfloat t = mod(randomizedTime, animationPeriod);\\nfloat fUnclamped = (t - t0) / (t1 - t0);\\nfloat f = clamp(fUnclamped, 0.0, 1.0);\\nfloat clampedTime = mix(t0, t1, f);\\nfloat speed = mix(speed0, speed1, f);\\nvec2 extrude;\\nvec2 position;\\nfloat fadeOpacity;\\nfloat introOpacity;\\nif (type == 2.0) {\\nif (fUnclamped < 0.0 || (fUnclamped > 1.0 && t1 != duration)) {\\ngl_Position = vec4(0.0, 0.0, -2.0, 1.0);\\nreturn;\\n}\\nvec2 ortho = mix(e0, e1, f);\\nvec2 parallel;\\nparallel = normalize(position1 - position0) * 0.5;\\nif (id == 1.0) {\\nextrude = ortho;\\nv_texcoord = vec2(0.5, 0.0);\\n} else if (id == 2.0) {\\nextrude = -ortho;\\nv_texcoord = vec2(0.5, 1.0);\\n} else if (id == 3.0) {\\nextrude = ortho + parallel;\\nv_texcoord = vec2(1.0, 0.0);\\n} else if (id == 4.0) {\\nextrude = -ortho + parallel;\\nv_texcoord = vec2(1.0, 1.0);\\n}\\nfadeOpacity = getFadeOpacity((t - clampedTime) / u_trailLength);\\nintroOpacity = 1.0 - exp(-clampedTime);\\nv_size = getSize(speed);\\nv_color = getColor(speed);\\nv_color.a *= getOpacity(speed);\\nposition = mix(position0, position1, f);\\n} else {\\nif (fUnclamped < 0.0) {\\ngl_Position = vec4(0.0, 0.0, -2.0, 1.0);\\nreturn;\\n}\\nif (id == 1.0) {\\nextrude = e0;\\nv_texcoord = vec2(0.5, 0.0);\\nfadeOpacity = getFadeOpacity((t - t0) / u_trailLength);\\nintroOpacity = 1.0 - exp(-t0);\\nv_size = getSize(speed0);\\nv_color = getColor(speed0);\\nv_color.a *= getOpacity(speed0);\\nposition = position0;\\n} else if (id == 2.0) {\\nextrude = -e0;\\nv_texcoord = vec2(0.5, 1.0);\\nfadeOpacity = getFadeOpacity((t - t0) / u_trailLength);\\nintroOpacity = 1.0 - exp(-t0);\\nv_size = getSize(speed0);\\nv_color = getColor(speed0);\\nv_color.a *= getOpacity(speed0);\\nposition = position0;\\n} else if (id == 3.0) {\\nextrude = mix(e0, e1, f);\\nv_texcoord = vec2(0.5, 0.0);\\nfadeOpacity = getFadeOpacity((t - clampedTime) / u_trailLength);\\nintroOpacity = 1.0 - exp(-clampedTime);\\nv_size = getSize(speed);\\nv_color = getColor(speed);\\nv_color.a *= getOpacity(speed);\\nposition = mix(position0, position1, f);\\n} else if (id == 4.0) {\\nextrude = -mix(e0, e1, f);\\nv_texcoord = vec2(0.5, 1.0);\\nfadeOpacity = getFadeOpacity((t - clampedTime) / u_trailLength);\\nintroOpacity = 1.0 - exp(-clampedTime);\\nv_size = getSize(speed);\\nv_color = getColor(speed);\\nv_color.a *= getOpacity(speed);\\nposition = mix(position0, position1, f);\\n}\\n}\\nvec2 xy = (u_dvsMat3 * vec3(position, 1.0) + u_displayViewMat3 * vec3(extrude * v_size, 0.0)).xy;\\ngl_Position = vec4(xy, 0.0, 1.0);\\nv_color.a *= fadeOpacity;\\nv_color.a *= mix(1.0, introOpacity, u_introFade);\\nv_color.rgb *= v_color.a;\\n}\"},streamlines:{\"streamlines.frag\":\"precision highp float;\\nvarying float v_side;\\nvarying float v_time;\\nvarying float v_totalTime;\\nvarying float v_timeSeed;\\nvarying vec4 v_color;\\nvarying float v_size;\\nuniform float u_time;\\nuniform float u_trailLength;\\nuniform float u_flowSpeed;\\nuniform float u_featheringSize;\\nuniform float u_introFade;\\n#include \\n#include \\nvoid main(void) {\\nfloat t = mod(v_timeSeed * (v_totalTime + u_trailLength) + u_time * u_flowSpeed, v_totalTime + u_trailLength) - v_time;\\nvec4 color = v_color * step(0.0, t) * getFadeOpacity(t / u_trailLength);\\ncolor *= mix(1.0, 1.0 - exp(-v_time), u_introFade);\\ngl_FragColor = getFragmentColor(color, length((v_side + 1.0) / 2.0 - 0.5), v_size, u_featheringSize);\\n}\",\"streamlines.vert\":\"attribute vec3 a_positionAndSide;\\nattribute vec3 a_timeInfo;\\nattribute vec2 a_extrude;\\nattribute float a_speed;\\nuniform mat3 u_dvsMat3;\\nuniform mat3 u_displayViewMat3;\\nvarying float v_time;\\nvarying float v_totalTime;\\nvarying float v_timeSeed;\\nvarying vec4 v_color;\\nvarying float v_side;\\nvarying float v_size;\\nuniform float u_featheringSize;\\n#include \\nvoid main(void) {\\nvec4 lineColor = getColor(a_speed);\\nfloat lineOpacity = getOpacity(a_speed);\\nfloat lineSize = getSize(a_speed);\\nvec2 position = a_positionAndSide.xy;\\nv_side = a_positionAndSide.z;\\nvec2 xy = (u_dvsMat3 * vec3(position, 1.0) + u_displayViewMat3 * vec3(a_extrude * lineSize, 0.0)).xy;\\ngl_Position = vec4(xy, 0.0, 1.0);\\nv_time = a_timeInfo.x;\\nv_totalTime = a_timeInfo.y;\\nv_timeSeed = a_timeInfo.z;\\nv_color = lineColor;\\nv_color.a *= lineOpacity;\\nv_color.rgb *= v_color.a;\\nv_size = lineSize;\\n}\"},\"vv.glsl\":\"#define MAX_STOPS 8\\n#ifdef VV_COLOR\\nuniform float u_color_stops[MAX_STOPS];\\nuniform vec4 u_color_values[MAX_STOPS];\\nuniform int u_color_count;\\n#else\\nuniform vec4 u_color;\\n#endif\\n#ifdef VV_OPACITY\\nuniform float u_opacity_stops[MAX_STOPS];\\nuniform float u_opacity_values[MAX_STOPS];\\nuniform int u_opacity_count;\\n#else\\nuniform float u_opacity;\\n#endif\\n#ifdef VV_SIZE\\nuniform float u_size_stops[MAX_STOPS];\\nuniform float u_size_values[MAX_STOPS];\\nuniform int u_size_count;\\n#else\\nuniform float u_size;\\n#endif\\nuniform float u_featheringOffset;\\nvec4 getColor(float x) {\\n#ifdef VV_COLOR\\nvec4 color = u_color_values[0];\\n{\\nfor (int i = 1; i < MAX_STOPS; i++) {\\nif (i >= u_color_count) {\\nbreak;\\n}\\nfloat x1 = u_color_stops[i - 1];\\nif (x < x1) {\\nbreak;\\n}\\nfloat x2 = u_color_stops[i];\\nvec4 y2 = u_color_values[i];\\nif (x < x2) {\\nvec4 y1 = u_color_values[i - 1];\\ncolor = y1 + (y2 - y1) * (x - x1) / (x2 - x1);\\n} else {\\ncolor = y2;\\n}\\n}\\n}\\n#else\\nvec4 color = u_color;\\n#endif\\nreturn color;\\n}\\nfloat getOpacity(float x) {\\n#ifdef VV_OPACITY\\nfloat opacity = u_opacity_values[0];\\n{\\nfor (int i = 1; i < MAX_STOPS; i++) {\\nif (i >= u_opacity_count) {\\nbreak;\\n}\\nfloat x1 = u_opacity_stops[i - 1];\\nif (x < x1) {\\nbreak;\\n}\\nfloat x2 = u_opacity_stops[i];\\nfloat y2 = u_opacity_values[i];\\nif (x < x2) {\\nfloat y1 = u_opacity_values[i - 1];\\nopacity = y1 + (y2 - y1) * (x - x1) / (x2 - x1);\\n} else {\\nopacity = y2;\\n}\\n}\\n}\\n#else\\nfloat opacity = u_opacity;\\n#endif\\nreturn opacity;\\n}\\nfloat getSize(float x) {\\n#ifdef VV_SIZE\\nfloat size = u_size_values[0];\\n{\\nfor (int i = 1; i < MAX_STOPS; i++) {\\nif (i >= u_size_count) {\\nbreak;\\n}\\nfloat x1 = u_size_stops[i - 1];\\nif (x < x1) {\\nbreak;\\n}\\nfloat x2 = u_size_stops[i];\\nfloat y2 = u_size_values[i];\\nif (x < x2) {\\nfloat y1 = u_size_values[i - 1];\\nsize = y1 + (y2 - y1) * (x - x1) / (x2 - x1);\\n} else {\\nsize = y2;\\n}\\n}\\n}\\n#else\\nfloat size = u_size;\\n#endif\\nreturn size + 2.0 * u_featheringSize * u_featheringOffset;\\n}\"},hillshade:{\"hillshade.frag\":\"precision mediump float;\\nvarying highp vec2 v_texcoord;\\n#include \\nuniform int u_hillshadeType;\\nuniform float u_sinZcosAs[6];\\nuniform float u_sinZsinAs[6];\\nuniform float u_cosZs[6];\\nuniform float u_weights[6];\\nuniform vec2 u_factor;\\nuniform float u_minValue;\\nuniform float u_maxValue;\\n#include \\nfloat getNeighborHoodAlpha(float a, float b, float c, float d, float e, float f, float g, float h, float i){\\nif (a == 0.0 || a == 0.0 || a==0.0 || a == 0.0 || a == 0.0 || a==0.0 || a == 0.0 || a == 0.0 || a==0.0) {\\nreturn 0.0;\\n}\\nelse {\\nreturn e;\\n}\\n}\\nvec3 rgb2hsv(vec3 c) {\\nvec4 K = vec4(0.0, -1.0 / 3.0, 2.0 / 3.0, -1.0);\\nvec4 p = c.g < c.b ? vec4(c.bg, K.wz) : vec4(c.gb, K.xy);\\nvec4 q = c.r < p.x ? vec4(p.xyw, c.r) : vec4(c.r, p.yzx);\\nfloat d = q.x - min(q.w, q.y);\\nfloat e = 1.0e-10;\\nreturn vec3(abs(q.z + (q.w - q.y) / (6.0 * d + e)), min(d / (q.x + e), 1.0), q.x);\\n}\\nvec3 hsv2rgb(vec3 c) {\\nvec4 K = vec4(1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0);\\nvec3 p = abs(fract(c.xxx + K.xyz) * 6.0 - K.www);\\nreturn c.z * mix(K.xxx, clamp(p - K.xxx, 0.0, 1.0), c.y);\\n}\\nvec4 overlay(float val, float minValue, float maxValue, float hillshade) {\\nval = clamp((val - minValue) / (maxValue - minValue), 0.0, 1.0);\\nvec4 rgb = colorize(vec4(val, val, val, 1.0), 255.0);\\nvec3 hsv = rgb2hsv(rgb.xyz);\\nhsv.z = hillshade;\\nreturn vec4(hsv2rgb(hsv), 1.0) * rgb.a;\\n}\\nvoid main() {\\nvec2 pixelLocation = getPixelLocation(v_texcoord);\\nif (isOutside(pixelLocation)) {\\ngl_FragColor = vec4(0.0, 0.0, 0.0, 0.0);\\nreturn;\\n}\\nvec4 currentPixel = getPixel(pixelLocation);\\nif (currentPixel.a == 0.0) {\\ngl_FragColor = vec4(0.0, 0.0, 0.0, 0.0);\\nreturn;\\n}\\nvec2 axy = vec2(-1.0, -1.0);\\nvec2 bxy = vec2(0.0, -1.0);\\nvec2 cxy = vec2(1.0, -1.0);\\nvec2 dxy = vec2(-1.0, 0.0);\\nvec2 fxy = vec2(1.0, 0.0);\\nvec2 gxy = vec2(-1.0, 1.0);\\nvec2 hxy = vec2(0.0, 1.0);\\nvec2 ixy = vec2(1.0, 1.0);\\nvec2 onePixel = 1.0 / u_srcImageSize;\\nif (pixelLocation.s < onePixel.s) {\\naxy[0] = 1.0;\\ndxy[0] = 1.0;\\ngxy[0] = 1.0;\\n}\\nif (pixelLocation.t < onePixel.t) {\\naxy[1] = 1.0;\\nbxy[1] = 1.0;\\ncxy[1] = 1.0;\\n}\\nif (pixelLocation.s > 1.0 - onePixel.s) {\\ncxy[0] = -1.0;\\nfxy[0] = -1.0;\\nixy[0] = -1.0;\\n}\\nif (pixelLocation.t > 1.0 - onePixel.t) {\\ngxy[1] = -1.0;\\nhxy[1] = -1.0;\\nixy[1] = -1.0;\\n}\\nvec4 va = texture2D(u_image, pixelLocation + onePixel * axy);\\nvec4 vb = texture2D(u_image, pixelLocation + onePixel * bxy);\\nvec4 vc = texture2D(u_image, pixelLocation + onePixel * cxy);\\nvec4 vd = texture2D(u_image, pixelLocation + onePixel * dxy);\\nvec4 ve = texture2D(u_image, pixelLocation);\\nvec4 vf = texture2D(u_image, pixelLocation + onePixel * fxy);\\nvec4 vg = texture2D(u_image, pixelLocation + onePixel * gxy);\\nvec4 vh = texture2D(u_image, pixelLocation + onePixel * hxy);\\nvec4 vi = texture2D(u_image, pixelLocation + onePixel * ixy);\\nfloat dzx = (vc + 2.0 * vf + vi - va - 2.0 * vd - vg).r * u_factor.s;\\nfloat dzy = (vg + 2.0 * vh + vi - va - 2.0 * vb - vc).r * u_factor.t;\\nfloat dzd = sqrt(1.0 + dzx * dzx + dzy * dzy);\\nfloat hillshade = 0.0;\\nif (u_hillshadeType == 0){\\nfloat cosDelta = u_sinZsinAs[0] * dzy - u_sinZcosAs[0] * dzx;\\nfloat z = (u_cosZs[0] + cosDelta) / dzd;\\nif (z < 0.0) z = 0.0;\\nhillshade = z;\\n} else {\\nfor (int k = 0; k < 6; k++) {\\nfloat cosDelta = u_sinZsinAs[k] * dzy - u_sinZcosAs[k] * dzx;\\nfloat z = (u_cosZs[k] + cosDelta) / dzd;\\nif (z < 0.0) z = 0.0;\\nhillshade = hillshade + z * u_weights[k];\\nif (k == 5) break;\\n}\\n}\\nfloat alpha = getNeighborHoodAlpha(va.a, vb.a, vc.a, vd.a, ve.a, vf.a, vg.a, vh.a, vi.a);\\n#ifdef APPLY_COLORMAP\\ngl_FragColor = overlay(ve.r, u_minValue, u_maxValue, hillshade) * alpha * u_opacity;\\n#else\\ngl_FragColor = vec4(hillshade, hillshade, hillshade, 1.0) * alpha * u_opacity;\\n#endif\\n}\",\"hillshade.vert\":\"precision mediump float;\\nattribute vec2 a_pos;\\nuniform highp mat3 u_dvsMat3;\\nuniform highp vec2 u_coordScale;\\nvarying highp vec2 v_texcoord;\\nvoid main()\\n{\\nv_texcoord = a_pos;\\ngl_Position = vec4(u_dvsMat3 * vec3(a_pos * u_coordScale, 1.0), 1.0);\\n}\"},lut:{\"colorize.glsl\":\"uniform sampler2D u_colormap;\\nuniform float u_colormapOffset;\\nuniform float u_colormapMaxIndex;\\nvec4 colorize(vec4 currentPixel, float scaleFactor) {\\nfloat clrIndex = clamp(currentPixel.r * scaleFactor - u_colormapOffset, 0.0, u_colormapMaxIndex);\\nvec2 clrPosition = vec2((clrIndex + 0.5) / (u_colormapMaxIndex + 1.0), 0.0);\\nvec4 color = texture2D(u_colormap, clrPosition);\\nvec4 result = vec4(color.rgb, color.a * currentPixel.a);\\nreturn result;\\n}\",\"lut.frag\":\"precision mediump float;\\nvarying highp vec2 v_texcoord;\\n#include \\n#include \\nvoid main() {\\nvec2 pixelLocation = getPixelLocation(v_texcoord);\\nif (isOutside(pixelLocation)) {\\ngl_FragColor = vec4(0.0, 0.0, 0.0, 0.0);\\nreturn;\\n}\\nvec4 currentPixel = getPixel(pixelLocation);\\nvec4 result = colorize(currentPixel, 1.0);\\ngl_FragColor = vec4(result.xyz, 1.0) * result.a * u_opacity;\\n}\",\"lut.vert\":\"precision mediump float;\\nattribute vec2 a_pos;\\nuniform highp mat3 u_dvsMat3;\\nuniform highp vec2 u_coordScale;\\nuniform highp float u_scale;\\nuniform highp vec2 u_offset;\\nvarying highp vec2 v_texcoord;\\nvoid main()\\n{\\nv_texcoord = a_pos * u_scale + u_offset;\\ngl_Position = vec4(u_dvsMat3 * vec3(a_pos * u_coordScale, 1.0), 1.0);\\n}\"},magdir:{\"magdir.frag\":\"precision mediump float;\\nvarying vec4 v_color;\\nuniform lowp float u_opacity;\\nvoid main() {\\ngl_FragColor = v_color * u_opacity;\\n}\",\"magdir.vert\":\"precision mediump float;\\nattribute vec2 a_pos;\\nattribute vec2 a_offset;\\nattribute vec2 a_vv;\\nuniform highp mat3 u_dvsMat3;\\nuniform highp vec2 u_coordScale;\\nuniform vec2 u_symbolSize;\\nuniform vec2 u_symbolPercentRange;\\nuniform vec2 u_dataRange;\\nuniform float u_rotation;\\nuniform vec4 u_colors[12];\\nvarying vec4 v_color;\\nvoid main()\\n{\\nfloat angle = a_offset.y + u_rotation;\\n#ifndef ROTATION_GEOGRAPHIC\\nangle = 3.14159265359 * 2.0 - angle - 3.14159265359 / 2.0;\\n#endif\\nvec2 offset = vec2(cos(angle), sin(angle)) * a_offset.x;\\n#ifdef DATA_RANGE\\nfloat valuePercentage = clamp((a_vv.y - u_dataRange.x) / (u_dataRange.y - u_dataRange.x), 0.0, 1.0);\\nfloat sizeRatio = u_symbolPercentRange.x + valuePercentage * (u_symbolPercentRange.y - u_symbolPercentRange.x);\\nfloat sizePercentage = clamp(sizeRatio, u_symbolPercentRange.x, u_symbolPercentRange.y);\\n#else\\nfloat sizePercentage = (u_symbolPercentRange.x + u_symbolPercentRange.y) / 2.0;\\n#endif\\nvec2 pos = a_pos + offset * sizePercentage * u_symbolSize;\\nv_color = u_colors[int(a_vv.x)];\\ngl_Position = vec4(u_dvsMat3 * vec3(pos * u_coordScale, 1.0), 1.0);\\n}\"},reproject:{\"reproject.frag\":\"precision mediump float;\\nvarying vec2 v_texcoord;\\n#include \\nvoid main() {\\nvec2 pixelLocation = getPixelLocation(v_texcoord);\\nif (isOutside(pixelLocation)) {\\ngl_FragColor = vec4(0.0, 0.0, 0.0, 1.0);\\nreturn;\\n}\\nvec4 currentPixel = getPixel(pixelLocation);\\ngl_FragColor = vec4(currentPixel.rgb, 1.0) * currentPixel.a * u_opacity;\\n}\",\"reproject.vert\":\"precision mediump float;\\nattribute vec2 a_position;\\nvarying highp vec2 v_texcoord;\\nvoid main()\\n{\\nv_texcoord = a_position;\\ngl_Position = vec4(2.0 * (a_position - 0.5), 0.0, 1.0);\\n}\"},scalar:{\"scalar.frag\":\"precision mediump float;\\nuniform lowp float u_opacity;\\nvarying vec2 v_pos;\\nconst vec4 outlineColor = vec4(0.2, 0.2, 0.2, 1.0);\\nconst float outlineSize = 0.02;\\nconst float innerRadius = 0.25;\\nconst float outerRadius = 0.42;\\nconst float innerSquareLength = 0.15;\\nvoid main() {\\nmediump float dist = length(v_pos);\\nmediump float fillalpha1 = smoothstep(outerRadius, outerRadius + outlineSize, dist);\\nfillalpha1 *= (1.0-smoothstep(outerRadius + outlineSize, outerRadius + 0.1 + outlineSize, dist));\\n#ifdef INNER_CIRCLE\\nmediump float fillalpha2 = smoothstep(innerRadius, innerRadius + outlineSize, dist);\\nfillalpha2 *= (1.0-smoothstep(innerRadius + outlineSize, innerRadius + 0.1 + outlineSize, dist));\\n#else\\nmediump float fillalpha2 = (abs(v_pos.x) < innerSquareLength ? 1.0 : 0.0) * (abs(v_pos.y) < innerSquareLength ? 1.0 : 0.0);\\n#endif\\ngl_FragColor = (fillalpha2 + fillalpha1) * outlineColor * u_opacity;\\n}\",\"scalar.vert\":\"precision mediump float;\\nattribute vec2 a_pos;\\nattribute vec2 a_offset;\\nattribute vec2 a_vv;\\nuniform highp mat3 u_dvsMat3;\\nuniform highp vec2 u_coordScale;\\nuniform vec2 u_symbolSize;\\nuniform vec2 u_symbolPercentRange;\\nuniform vec2 u_dataRange;\\nvarying vec2 v_pos;\\nvoid main()\\n{\\n#ifdef DATA_RANGE\\nfloat valuePercentage = clamp((a_vv.y - u_dataRange.x) / (u_dataRange.y - u_dataRange.x), 0.0, 1.0);\\nfloat sizeRatio = u_symbolPercentRange.x + valuePercentage * (u_symbolPercentRange.y - u_symbolPercentRange.x);\\nfloat sizePercentage = clamp(sizeRatio, u_symbolPercentRange.x, u_symbolPercentRange.y);\\n#else\\nfloat sizePercentage = (u_symbolPercentRange.x + u_symbolPercentRange.y) / 2.0;\\n#endif\\nvec2 size = u_symbolSize * sizePercentage;\\nvec2 pos = a_pos + a_offset * size;\\nv_pos = a_offset;\\ngl_Position = vec4(u_dvsMat3 * vec3(pos * u_coordScale, 1.0), 1.0);\\n}\"},stretch:{\"stretch.frag\":\"precision mediump float;\\nvarying highp vec2 v_texcoord;\\n#include \\nuniform float u_minCutOff[3];\\nuniform float u_maxCutOff[3];\\nuniform float u_minOutput;\\nuniform float u_maxOutput;\\nuniform float u_factor[3];\\nuniform bool u_useGamma;\\nuniform float u_gamma[3];\\nuniform float u_gammaCorrection[3];\\n#include \\nfloat stretchOneValue(float val, float minCutOff, float maxCutOff, float minOutput, float maxOutput, float factor, bool useGamma, float gamma, float gammaCorrection) {\\nif (val >= maxCutOff) {\\nreturn maxOutput;\\n} else if (val <= minCutOff) {\\nreturn minOutput;\\n}\\nfloat stretchedVal;\\nif (useGamma) {\\nfloat tempf = 1.0;\\nfloat outRange = maxOutput - minOutput;\\nfloat relativeVal = (val - minCutOff) / (maxCutOff - minCutOff);\\nif (gamma > 1.0) {\\ntempf -= pow(1.0 / outRange, relativeVal * gammaCorrection);\\n}\\nstretchedVal = (tempf * outRange * pow(relativeVal, 1.0 / gamma) + minOutput) / 255.0;\\n} else {\\nstretchedVal = minOutput + (val - minCutOff) * factor;\\n}\\nreturn stretchedVal;\\n}\\nvoid main() {\\nvec2 pixelLocation = getPixelLocation(v_texcoord);\\nif (isOutside(pixelLocation)) {\\ngl_FragColor = vec4(0.0, 0.0, 0.0, 0.0);\\nreturn;\\n}\\nvec4 currentPixel = getPixel(pixelLocation);\\n#ifdef NOOP\\ngl_FragColor = vec4(currentPixel.rgb, 1.0) * currentPixel.a * u_opacity;\\nreturn;\\n#endif\\nif (u_bandCount == 1) {\\nfloat grayVal = stretchOneValue(currentPixel.r, u_minCutOff[0], u_maxCutOff[0], u_minOutput, u_maxOutput, u_factor[0], u_useGamma, u_gamma[0], u_gammaCorrection[0]);\\n#ifdef APPLY_COLORMAP\\nvec4 result = colorize(vec4(grayVal, grayVal, grayVal, 1.0), u_useGamma ? 255.0 : 1.0);\\ngl_FragColor = vec4(result.xyz, 1.0) * result.a * currentPixel.a * u_opacity;\\n#else\\ngl_FragColor = vec4(grayVal, grayVal, grayVal, 1.0) * currentPixel.a * u_opacity;\\n#endif\\n} else {\\nfloat redVal = stretchOneValue(currentPixel.r, u_minCutOff[0], u_maxCutOff[0], u_minOutput, u_maxOutput, u_factor[0], u_useGamma, u_gamma[0], u_gammaCorrection[0]);\\nfloat greenVal = stretchOneValue(currentPixel.g, u_minCutOff[1], u_maxCutOff[1], u_minOutput, u_maxOutput, u_factor[1], u_useGamma, u_gamma[1], u_gammaCorrection[1]);\\nfloat blueVal = stretchOneValue(currentPixel.b, u_minCutOff[2], u_maxCutOff[2], u_minOutput, u_maxOutput, u_factor[2], u_useGamma, u_gamma[2], u_gammaCorrection[2]);\\ngl_FragColor = vec4(redVal, greenVal, blueVal, 1.0) * currentPixel.a * u_opacity;\\n}\\n}\",\"stretch.vert\":\"precision mediump float;\\nattribute vec2 a_pos;\\nuniform highp mat3 u_dvsMat3;\\nuniform highp vec2 u_coordScale;\\nuniform highp float u_scale;\\nuniform highp vec2 u_offset;\\nvarying highp vec2 v_texcoord;\\nvoid main()\\n{\\nv_texcoord = a_pos * u_scale + u_offset;\\ngl_Position = vec4(u_dvsMat3 * vec3(a_pos * u_coordScale, 1.0), 1.0);\\n}\"}},stencil:{\"stencil.frag\":\"void main() {\\ngl_FragColor = vec4(1.0, 1.0, 1.0, 1.0);\\n}\",\"stencil.vert\":\"attribute vec2 a_pos;\\nuniform mat3 u_worldExtent;\\nvoid main() {\\ngl_Position = vec4(u_worldExtent * vec3(a_pos, 1.0), 1.0);\\n}\"},tileInfo:{\"tileInfo.frag\":\"uniform mediump sampler2D u_texture;\\nvarying mediump vec2 v_tex;\\nvoid main(void) {\\nlowp vec4 color = texture2D(u_texture, v_tex);\\ngl_FragColor = 0.75 * color;\\n}\",\"tileInfo.vert\":\"attribute vec2 a_pos;\\nuniform highp mat3 u_dvsMat3;\\nuniform mediump float u_depth;\\nuniform mediump vec2 u_coord_ratio;\\nuniform mediump vec2 u_delta;\\nuniform mediump vec2 u_dimensions;\\nvarying mediump vec2 v_tex;\\nvoid main() {\\nmediump vec2 offset = u_coord_ratio * vec2(u_delta + a_pos * u_dimensions);\\nvec3 v_pos = u_dvsMat3 * vec3(offset, 1.0);\\ngl_Position = vec4(v_pos.xy, 0.0, 1.0);\\nv_tex = a_pos;\\n}\"},util:{\"atan2.glsl\":\"float atan2(in float y, in float x) {\\nfloat t0, t1, t2, t3, t4;\\nt3 = abs(x);\\nt1 = abs(y);\\nt0 = max(t3, t1);\\nt1 = min(t3, t1);\\nt3 = 1.0 / t0;\\nt3 = t1 * t3;\\nt4 = t3 * t3;\\nt0 = - 0.013480470;\\nt0 = t0 * t4 + 0.057477314;\\nt0 = t0 * t4 - 0.121239071;\\nt0 = t0 * t4 + 0.195635925;\\nt0 = t0 * t4 - 0.332994597;\\nt0 = t0 * t4 + 0.999995630;\\nt3 = t0 * t3;\\nt3 = (abs(y) > abs(x)) ? 1.570796327 - t3 : t3;\\nt3 = x < 0.0 ? 3.141592654 - t3 : t3;\\nt3 = y < 0.0 ? -t3 : t3;\\nreturn t3;\\n}\",\"encoding.glsl\":\"const vec4 rgba2float_factors = vec4(\\n255.0 / (256.0),\\n255.0 / (256.0 * 256.0),\\n255.0 / (256.0 * 256.0 * 256.0),\\n255.0 / (256.0 * 256.0 * 256.0 * 256.0)\\n);\\nfloat rgba2float(vec4 rgba) {\\nreturn dot(rgba, rgba2float_factors);\\n}\"}};export{e as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport r from\"./shaderRepository.js\";import{ShaderCompiler as e}from\"../../../../../webgl/ShaderCompiler.js\";function o(e){let o=r;return e.split(\"/\").forEach((r=>{o&&(o=o[r])})),o}const t=new e(o);function n(r){return t.resolveIncludes(r)}export{n as resolveIncludes};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{Z as e}from\"../../chunks/vec2f64.js\";import{ContextType as t}from\"./context-util.js\";import{PixelType as n,TextureType as a,PixelFormat as r,SizedPixelFormat as i,TextureSamplingMode as o,TextureWrapMode as s,TargetType as u,DepthStencilTargetType as f,UniformType as m}from\"./enums.js\";import{FramebufferObject as c}from\"./FramebufferObject.js\";import{Texture as l}from\"./Texture.js\";function _(e,u,f=\"nearest\",m=!1){const c=!(m&&\"u8\"===u.pixelType),_=c?n.FLOAT:n.UNSIGNED_BYTE,p=null==u.pixels||0===u.pixels.length?null:c?u.getAsRGBAFloat():u.getAsRGBA(),E=e.capabilities.textureFloat?.textureFloatLinear,T={width:u.width,height:u.height,target:a.TEXTURE_2D,pixelFormat:r.RGBA,internalFormat:e.type===t.WEBGL2&&c?i.RGBA32F:r.RGBA,samplingMode:!E||\"bilinear\"!==f&&\"cubic\"!==f?o.NEAREST:o.LINEAR,dataType:_,wrapMode:s.CLAMP_TO_EDGE,flipped:!1};return new l(e,T,p)}function p(e,t,i,m){const _=m?n.UNSIGNED_BYTE:n.FLOAT,p={width:t,height:i,target:a.TEXTURE_2D,pixelFormat:r.RGBA,internalFormat:r.RGBA,samplingMode:o.NEAREST,dataType:_,wrapMode:s.CLAMP_TO_EDGE,flipped:!1},E=new l(e,p);return new c(e,{colorTarget:u.TEXTURE,depthStencilTarget:f.DEPTH_STENCIL_RENDER_BUFFER,width:t,height:i},E)}function E(e,u){const{spacing:f,offsets:m,coefficients:c,size:[_,p]}=u,E=f[0]>1,T={width:E?4*_:_,height:p,target:a.TEXTURE_2D,pixelFormat:r.RGBA,internalFormat:e.type===t.WEBGL2?i.RGBA32F:r.RGBA,dataType:n.FLOAT,samplingMode:o.NEAREST,wrapMode:s.CLAMP_TO_EDGE,flipped:!1},g=new Float32Array(E?_*p*16:2*m.length);if(E)for(let t=0,n=0;t{const r=t.get(a)||t.get(a+\"[0]\");r&&G(e,a,n[a],r)}))}function U(e,t,n,a){n.length===a.length&&(a.some((e=>null==e))||n.some((e=>null==e))||n.forEach(((n,r)=>{t.setUniform1i(n,r),e.bindTexture(a[r],r)})))}function G(e,t,n,a){if(null===a||null==n)return!1;const{info:r}=a;switch(r.type){case m.FLOAT:r.size>1?e.setUniform1fv(t,n):e.setUniform1f(t,n);break;case m.FLOAT_VEC2:e.setUniform2fv(t,n);break;case m.FLOAT_VEC3:e.setUniform3fv(t,n);break;case m.FLOAT_VEC4:e.setUniform4fv(t,n);break;case m.FLOAT_MAT3:e.setUniformMatrix3fv(t,n);break;case m.FLOAT_MAT4:e.setUniformMatrix4fv(t,n);break;case m.INT:r.size>1?e.setUniform1iv(t,n):e.setUniform1i(t,n);break;case m.BOOL:e.setUniform1i(t,n?1:0);break;case m.INT_VEC2:case m.BOOL_VEC2:e.setUniform2iv(t,n);break;case m.INT_VEC3:case m.BOOL_VEC3:e.setUniform3iv(t,n);break;case m.INT_VEC4:case m.BOOL_VEC4:e.setUniform4iv(t,n);break;default:return!1}return!0}export{T as createColormapTexture,p as createFrameBuffer,_ as createRasterTexture,E as createTransformTexture,h as getBasicGridUniforms,A as getColormapUniforms,g as getCommonUniforms,O as getShadedReliefUniforms,d as getStretchUniforms,F as getUniformLocationInfos,U as setTextures,R as setUniforms};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{isSome as t}from\"../../../core/maybe.js\";import{b as e,c as i,r as s,j as r,m as h}from\"../../../chunks/mat3.js\";import{c as n}from\"../../../chunks/mat3f32.js\";import{f as o}from\"../../../chunks/vec2f32.js\";import{DisplayObject as u}from\"./DisplayObject.js\";import a from\"./ImageryBitmapSource.js\";import{TextureType as d,PixelFormat as c,PixelType as l,TextureWrapMode as _}from\"../../webgl/enums.js\";import{Texture as x}from\"../../webgl/Texture.js\";function m(t){return t&&\"render\"in t}function g(t){return t&&!(\"render\"in t)}function p(t){const e=document.createElement(\"canvas\");return e.width=t.width,e.height=t.height,t.render(e.getContext(\"2d\")),e}function f(t,e,i){const s={target:d.TEXTURE_2D,pixelFormat:c.RGBA,internalFormat:c.RGBA,dataType:l.UNSIGNED_BYTE,wrapMode:_.CLAMP_TO_EDGE};return e&&i&&(s.width=e,s.height=i),new x(t,s)}class v extends u{constructor(t=null,e,i=!0){super(),this.requestRenderOnSourceChangedEnabled=i,this._textureInvalidated=!0,this.stencilRef=0,this.coordScale=[1,1],this._height=void 0,this.pixelRatio=1,this.resolution=0,this.rotation=0,this._source=null,this._width=void 0,this.x=0,this.y=0,this.blendFunction=e,this.source=t,this.requestRender=this.requestRender.bind(this)}destroy(){this._texture&&(this._texture.dispose(),this._texture=null)}get isSourceScaled(){return this.width!==this.sourceWidth||this.height!==this.sourceHeight}get height(){return void 0!==this._height?this._height:this.sourceHeight}set height(t){this._height=t}get source(){return this._source}set source(t){this._source=t,this.invalidateTexture()}get sourceHeight(){return this._source instanceof HTMLImageElement?this._source.naturalHeight:this._source.height}get sourceWidth(){return this._source instanceof HTMLImageElement?this._source.naturalWidth:this._source.width}get width(){return void 0!==this._width?this._width:this.sourceWidth}set width(t){this._width=t}beforeRender(t){super.beforeRender(t),this.updateTexture(t.context)}invalidateTexture(){this._textureInvalidated||(this._textureInvalidated=!0,this.requestRenderOnSourceChangedEnabled&&this.requestRender())}_createTransforms(){return{dvs:n()}}setTransform(t){const n=e(this.transforms.dvs),[u,a]=t.toScreenNoRotation([0,0],[this.x,this.y]),d=this.resolution/this.pixelRatio/t.resolution,c=d*this.width,l=d*this.height,_=Math.PI*this.rotation/180;i(n,n,o(u,a)),i(n,n,o(c/2,l/2)),s(n,n,-_),i(n,n,o(-c/2,-l/2)),r(n,n,o(c,l)),h(this.transforms.dvs,t.displayViewMat3,n)}setSamplingProfile(t){this._texture&&(t.mips&&!this._texture.descriptor.hasMipmap&&this._texture.generateMipmap(),this._texture.setSamplingMode(t.samplingMode))}bind(t,e){this._texture&&t.bindTexture(this._texture,e)}updateTexture(e){if(!this.stage)return this._texture?.dispose(),void(this._texture=null);if(!this._textureInvalidated)return;this._textureInvalidated=!1,this._texture||(this.source?this._texture=f(e,this.sourceWidth,this.sourceHeight):this._texture=f(e));const i=this.source;if(i){if(this._texture.resize(this.sourceWidth,this.sourceHeight),m(i))if(i instanceof a){const e=i.getRenderedRasterPixels();this._texture.setData(t(e)?e.renderedRasterPixels:null)}else this._texture.setData(p(i));else g(i)&&this._texture.setData(i);this.ready()}else this._texture.setData(null)}onAttach(){this.invalidateTexture()}onDetach(){this.invalidateTexture()}}export{v as Bitmap,m as isImageSource,p as rasterize};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{isNone as t,isSome as e}from\"../../../../core/maybe.js\";import{c as s}from\"../../../../chunks/mat3f32.js\";import a from\"../webgl/brushes/WGLBrush.js\";import{CompareFunction as r}from\"../../../webgl/enums.js\";class i extends a{constructor(){super(...arguments),this._visualState={time:0,dvsMat3:s(),displayViewMat3:s()}}dispose(){}prepareState(t){const{context:e}=t;e.setColorMask(!0,!0,!0,!0),e.setStencilFunction(r.EQUAL,0,255)}draw(s,a){const{requestRender:r}=s,{displayData:i}=a;if(t(i))return;if(\"loaded\"===i.state.name&&i.attach(s),\"attached\"!==i.state.name)return;const o=i.state.resources;o.ready||!e(r)?(this._visualState.time=s.time/1e3,this._visualState.dvsMat3=a.transforms.dvs,this._visualState.displayViewMat3=s.state.displayViewMat3,i.flowStyle.render(s,this._visualState,o),i.flowStyle.animated&&e(r)&&r()):r()}}export{i as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nfunction e(e){return e instanceof HTMLImageElement?e.naturalWidth:e.width}function t(e){return e instanceof HTMLImageElement?e.naturalHeight:e.height}function n(n,l,r,u){if(r.level===u.level)return l;const i=n.tileInfo.size,a=n.getTileResolution(r.level),c=n.getTileResolution(u.level);let g=n.getLODInfoAt(u.level);const h=g.getXForColumn(u.col),d=g.getYForRow(u.row);g=n.getLODInfoAt(r.level);const f=g.getXForColumn(r.col),s=g.getYForRow(r.row),m=e(l)/i[0],v=t(l)/i[1],w=Math.round(m*((h-f)/a)),I=Math.round(v*(-(d-s)/a)),M=Math.round(m*i[0]*(c/a)),F=Math.round(v*i[1]*(c/a)),L=o(i);return L.getContext(\"2d\").drawImage(l,w,I,M,F,0,0,i[0],i[1]),L}function o(e){const t=document.createElement(\"canvas\");return[t.width,t.height]=e,t}export{o as createBlankImage,n as resampleImage};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nconst o=!0,t=32,c=1.5,e=200;export{t as COLLISION_GRID_CELL_SIZE,c as DECLUTTER_BUDGET,o as DECLUTTER_TILES,e as FADE_DURATION};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{s as t,m as s}from\"../../../../chunks/mat3.js\";import{DisplayObject as i}from\"../DisplayObject.js\";import e from\"../../tiling/TileKey.js\";class r extends i{constructor(t,s,i,r,h,o=r,n=h){super(),this.triangleCountReportedInDebug=0,this.triangleCount=0,this.texture=null,this.key=new e(t),this.x=s,this.y=i,this.width=r,this.height=h,this.rangeX=o,this.rangeY=n}destroy(){this.texture&&(this.texture.dispose(),this.texture=null)}setTransform(i,e){const r=e/(i.resolution*i.pixelRatio),h=this.transforms.tileMat3,[o,n]=i.toScreenNoRotation([0,0],[this.x,this.y]),a=this.width/this.rangeX*r,l=this.height/this.rangeY*r;t(h,a,0,0,0,l,0,o,n,1),s(this.transforms.dvs,i.displayViewMat3,h)}}export{r as TiledDisplayObject};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{c as t}from\"../../../chunks/mat3f32.js\";import{Bitmap as e}from\"./Bitmap.js\";import{TiledDisplayObject as s}from\"./webgl/TiledDisplayObject.js\";class r extends s{constructor(t,s,r,i,a,n=null){super(t,s,r,i,a),this.bitmap=new e(n,\"standard\",!1),this.bitmap.coordScale=[i,a],this.bitmap.once(\"isReady\",(()=>this.ready()))}destroy(){super.destroy(),this.bitmap.destroy()}beforeRender(t){super.beforeRender(t),this.bitmap.beforeRender(t)}afterRender(t){super.afterRender(t),this.bitmap.afterRender(t)}set stencilRef(t){this.bitmap.stencilRef=t}get stencilRef(){return this.bitmap.stencilRef}_createTransforms(){return{dvs:t(),tileMat3:t()}}setTransform(t,e){super.setTransform(t,e),this.bitmap.transforms.dvs=this.transforms.dvs}onAttach(){this.bitmap.stage=this.stage}onDetach(){this.bitmap&&(this.bitmap.stage=null)}}export{r as BitmapTile};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{create as e}from\"../../../geometry/support/aaBoundingRect.js\";import{BitmapTile as r}from\"./BitmapTile.js\";import{brushes as s}from\"./brushes.js\";import{WGLDrawPhase as t}from\"./webgl/enums.js\";import i from\"./webgl/TileContainer.js\";class n extends i{get requiresDedicatedFBO(){return this.children.some((e=>\"additive\"===e.bitmap.blendFunction))}createTile(s){const t=this._tileInfoView.getTileBounds(e(),s),[i,n]=this._tileInfoView.tileInfo.size;return new r(s,t[0],t[3],i,n)}prepareRenderPasses(e){const r=e.registerRenderPass({name:\"bitmap (tile)\",brushes:[s.bitmap],target:()=>this.children.map((e=>e.bitmap)),drawPhase:t.MAP});return[...super.prepareRenderPasses(e),r]}doRender(e){this.visible&&e.drawPhase===t.MAP&&super.doRender(e)}}export{n as BitmapTileContainer};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport\"../../geometry.js\";import{isSome as e,isNone as t}from\"../../core/maybe.js\";import{getMetersPerUnitForSR as r}from\"../../core/unitUtils.js\";import{calculateTolerance as n}from\"../../renderers/support/clickToleranceUtils.js\";import i from\"../../geometry/Extent.js\";function a(t,n,a,o=new i){let s;if(\"2d\"===a.type)s=n*a.resolution;else if(\"3d\"===a.type){const i=a.overlayPixelSizeInMapUnits(t),o=a.basemapSpatialReference;s=e(o)&&!o.equals(a.spatialReference)?r(o)/r(a.spatialReference):n*i}const m=t.x-s,p=t.y-s,c=t.x+s,l=t.y+s,{spatialReference:f}=a;return o.xmin=Math.min(m,c),o.ymin=Math.min(p,l),o.xmax=Math.max(m,c),o.ymax=Math.max(p,l),o.spatialReference=f,o}function o(e,r,i){const o=i.toMap(e);if(t(o))return!1;return a(o,n(),i,s).intersects(r)}const s=new i;export{a as createQueryGeometry,o as intersectsDrapedGeometry};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{isSome as r}from\"../../../../../core/maybe.js\";import{f as t}from\"../../../../../chunks/vec4f32.js\";import{Pos2b as e}from\"../DefaultVertexAttributeLayouts.js\";import i from\"./WGLBrush.js\";import{background as s}from\"../shaders/BackgroundPrograms.js\";import{BufferObject as o}from\"../../../../webgl/BufferObject.js\";import{StencilOperation as a,Face as l,CompareFunction as n,PrimitiveType as d,Usage as m}from\"../../../../webgl/enums.js\";import{createProgram as _}from\"../../../../webgl/ProgramTemplate.js\";import{VertexArrayObject as c}from\"../../../../webgl/VertexArrayObject.js\";class h extends i{constructor(){super(...arguments),this._color=t(1,0,0,1),this._initialized=!1}dispose(){this._solidProgram&&(this._solidProgram.dispose(),this._solidProgram=null),this._solidVertexArrayObject&&(this._solidVertexArrayObject.dispose(),this._solidVertexArrayObject=null)}prepareState({context:r},t){r.setDepthWriteEnabled(!1),r.setDepthTestEnabled(!1),r.setStencilTestEnabled(!0),r.setBlendingEnabled(!1),r.setColorMask(!1,!1,!1,!1),r.setStencilOp(a.KEEP,a.KEEP,a.REPLACE),r.setStencilWriteMask(255),r.setStencilFunctionSeparate(l.FRONT_AND_BACK,n.GREATER,t.stencilRef,255)}draw(t,e){const{context:i,requestRender:s}=t;this._initialized||this._initialize(i),!r(s)||this._solidProgram.isCompiled?(i.bindVAO(this._solidVertexArrayObject),i.useProgram(this._solidProgram),this._solidProgram.setUniformMatrix3fv(\"u_dvsMat3\",e.transforms.dvs),this._solidProgram.setUniform2fv(\"u_coord_range\",[e.rangeX,e.rangeY]),this._solidProgram.setUniform1f(\"u_depth\",0),this._solidProgram.setUniform4fv(\"u_color\",this._color),i.drawArrays(d.TRIANGLE_STRIP,0,4),i.bindVAO()):s()}_initialize(r){if(this._initialized)return!0;const t=_(r,s);if(!t)return!1;const i=new Int8Array([0,0,1,0,0,1,1,1]),a=o.createVertex(r,m.STATIC_DRAW,i),l=new c(r,s.attributes,e,{geometry:a});return this._solidProgram=t,this._solidVertexArrayObject=l,this._initialized=!0,!0}}export{h as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{CapType as e,JoinType as t}from\"../../../../../symbols/cim/enums.js\";var a,i,n,l,u,m,o,r,p;!function(e){e[e.BACKGROUND=0]=\"BACKGROUND\",e[e.FILL=1]=\"FILL\",e[e.LINE=2]=\"LINE\",e[e.SYMBOL=3]=\"SYMBOL\",e[e.CIRCLE=4]=\"CIRCLE\"}(a||(a={})),function(e){e[e.VISIBLE=0]=\"VISIBLE\",e[e.NONE=1]=\"NONE\"}(i||(i={})),function(e){e[e.POINT=0]=\"POINT\",e[e.LINE=1]=\"LINE\",e[e.LINE_CENTER=2]=\"LINE_CENTER\"}(n||(n={})),function(e){e[e.MAP=0]=\"MAP\",e[e.VIEWPORT=1]=\"VIEWPORT\",e[e.AUTO=2]=\"AUTO\"}(l||(l={})),function(e){e[e.AUTO=0]=\"AUTO\",e[e.LEFT=1]=\"LEFT\",e[e.CENTER=2]=\"CENTER\",e[e.RIGHT=3]=\"RIGHT\"}(u||(u={})),function(e){e[e.CENTER=0]=\"CENTER\",e[e.LEFT=1]=\"LEFT\",e[e.RIGHT=2]=\"RIGHT\",e[e.TOP=3]=\"TOP\",e[e.BOTTOM=4]=\"BOTTOM\",e[e.TOP_LEFT=5]=\"TOP_LEFT\",e[e.TOP_RIGHT=6]=\"TOP_RIGHT\",e[e.BOTTOM_LEFT=7]=\"BOTTOM_LEFT\",e[e.BOTTOM_RIGHT=8]=\"BOTTOM_RIGHT\"}(m||(m={})),function(e){e[e.NONE=0]=\"NONE\",e[e.UPPERCASE=1]=\"UPPERCASE\",e[e.LOWERCASE=2]=\"LOWERCASE\"}(o||(o={})),function(e){e[e.MAP=0]=\"MAP\",e[e.VIEWPORT=1]=\"VIEWPORT\"}(r||(r={})),function(e){e[e.HORIZONTAL=0]=\"HORIZONTAL\",e[e.VERTICAL=1]=\"VERTICAL\"}(p||(p={}));class f{}f.backgroundLayoutDefinition={visibility:{type:\"enum\",values:[\"visible\",\"none\"],default:i.VISIBLE}},f.fillLayoutDefinition={visibility:{type:\"enum\",values:[\"visible\",\"none\"],default:i.VISIBLE}},f.lineLayoutDefinition={visibility:{type:\"enum\",values:[\"visible\",\"none\"],default:i.VISIBLE},\"line-cap\":{type:\"enum\",values:[\"butt\",\"round\",\"square\"],default:e.BUTT},\"line-join\":{type:\"enum\",values:[\"bevel\",\"round\",\"miter\"],default:t.MITER},\"line-miter-limit\":{type:\"number\",default:2},\"line-round-limit\":{type:\"number\",default:1.05}},f.symbolLayoutDefinition={visibility:{type:\"enum\",values:[\"visible\",\"none\"],default:i.VISIBLE},\"symbol-avoid-edges\":{type:\"boolean\",default:!1},\"symbol-placement\":{type:\"enum\",values:[\"point\",\"line\",\"line-center\"],default:n.POINT},\"symbol-sort-key\":{type:\"number\",default:-1},\"symbol-spacing\":{type:\"number\",minimum:1,default:250},\"icon-allow-overlap\":{type:\"boolean\",default:!1},\"icon-anchor\":{type:\"enum\",values:[\"center\",\"left\",\"right\",\"top\",\"bottom\",\"top-left\",\"top-right\",\"bottom-left\",\"bottom-right\"],default:m.CENTER},\"icon-ignore-placement\":{type:\"boolean\",default:!1},\"icon-image\":{type:\"string\"},\"icon-keep-upright\":{type:\"boolean\",default:!1},\"icon-offset\":{type:\"array\",value:\"number\",length:2,default:[0,0]},\"icon-optional\":{type:\"boolean\",default:!1},\"icon-padding\":{type:\"number\",minimum:0,default:2},\"icon-rotate\":{type:\"number\",default:0},\"icon-rotation-alignment\":{type:\"enum\",values:[\"map\",\"viewport\",\"auto\"],default:l.AUTO},\"icon-size\":{type:\"number\",minimum:0,default:1},\"text-allow-overlap\":{type:\"boolean\",default:!1},\"text-anchor\":{type:\"enum\",values:[\"center\",\"left\",\"right\",\"top\",\"bottom\",\"top-left\",\"top-right\",\"bottom-left\",\"bottom-right\"],default:m.CENTER},\"text-field\":{type:\"string\"},\"text-font\":{type:\"array\",value:\"string\",default:[\"Open Sans Regular\",\"Arial Unicode MS Regular\"]},\"text-ignore-placement\":{type:\"boolean\",default:!1},\"text-justify\":{type:\"enum\",values:[\"auto\",\"left\",\"center\",\"right\"],default:u.CENTER},\"text-keep-upright\":{type:\"boolean\",default:!0},\"text-letter-spacing\":{type:\"number\",default:0},\"text-line-height\":{type:\"number\",default:1.2},\"text-max-angle\":{type:\"number\",minimum:0,default:45},\"text-max-width\":{type:\"number\",minimum:0,default:10},\"text-offset\":{type:\"array\",value:\"number\",length:2,default:[0,0]},\"text-optional\":{type:\"boolean\",default:!1},\"text-padding\":{type:\"number\",minimum:0,default:2},\"text-rotate\":{type:\"number\",default:0},\"text-rotation-alignment\":{type:\"enum\",values:[\"map\",\"viewport\",\"auto\"],default:l.AUTO},\"text-size\":{type:\"number\",minimum:0,default:16},\"text-transform\":{type:\"enum\",values:[\"none\",\"uppercase\",\"lowercase\"],default:o.NONE},\"text-writing-mode\":{type:\"array\",value:\"enum\",values:[\"horizontal\",\"vertical\"],default:[p.HORIZONTAL]}},f.circleLayoutDefinition={visibility:{type:\"enum\",values:[\"visible\",\"none\"],default:i.VISIBLE}},f.backgroundPaintDefinition={\"background-color\":{type:\"color\",default:[0,0,0,1]},\"background-opacity\":{type:\"number\",minimum:0,maximum:1,default:1},\"background-pattern\":{type:\"string\"}},f.fillPaintDefinition={\"fill-antialias\":{type:\"boolean\",default:!0},\"fill-color\":{type:\"color\",default:[0,0,0,1]},\"fill-opacity\":{type:\"number\",minimum:0,maximum:1,default:1},\"fill-outline-color\":{type:\"color\",default:[0,0,0,0]},\"fill-pattern\":{type:\"string\"},\"fill-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0]},\"fill-translate-anchor\":{type:\"enum\",values:[\"map\",\"viewport\"],default:r.MAP}},f.linePaintDefinition={\"line-blur\":{type:\"number\",minimum:0,default:0},\"line-color\":{type:\"color\",default:[0,0,0,1]},\"line-dasharray\":{type:\"array\",value:\"number\",default:[]},\"line-gap-width\":{type:\"number\",minimum:0,default:0},\"line-offset\":{type:\"number\",default:0},\"line-opacity\":{type:\"number\",minimum:0,maximum:1,default:1},\"line-pattern\":{type:\"string\"},\"line-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0]},\"line-translate-anchor\":{type:\"enum\",values:[\"map\",\"viewport\"],default:r.MAP},\"line-width\":{type:\"number\",minimum:0,default:1}},f.symbolPaintDefinition={\"icon-color\":{type:\"color\",default:[0,0,0,1]},\"icon-halo-blur\":{type:\"number\",minimum:0,default:0},\"icon-halo-color\":{type:\"color\",default:[0,0,0,0]},\"icon-halo-width\":{type:\"number\",minimum:0,default:0},\"icon-opacity\":{type:\"number\",minimum:0,maximum:1,default:1},\"icon-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0]},\"icon-translate-anchor\":{type:\"enum\",values:[\"map\",\"viewport\"],default:r.MAP},\"text-color\":{type:\"color\",default:[0,0,0,1]},\"text-halo-blur\":{type:\"number\",minimum:0,default:0},\"text-halo-color\":{type:\"color\",default:[0,0,0,0]},\"text-halo-width\":{type:\"number\",minimum:0,default:0},\"text-opacity\":{type:\"number\",minimum:0,maximum:1,default:1},\"text-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0]},\"text-translate-anchor\":{type:\"enum\",values:[\"map\",\"viewport\"],default:r.MAP}},f.rasterPaintDefinition={\"raster-opacity\":{type:\"number\",minimum:0,maximum:1,default:1},\"raster-hue-rotate\":{type:\"number\",default:0},\"raster-brightness-min\":{type:\"number\",minimum:0,maximum:1,default:0},\"raster-brightness-max\":{type:\"number\",minimum:0,maximum:1,default:1},\"raster-saturation\":{type:\"number\",minimum:-1,maximum:1,default:0},\"raster-contrast\":{type:\"number\",minimum:-1,maximum:1,default:0},\"raster-fade-duration\":{type:\"number\",minimum:0,default:300}},f.circlePaintDefinition={\"circle-blur\":{type:\"number\",minimum:0,default:0},\"circle-color\":{type:\"color\",default:[0,0,0,1]},\"circle-opacity\":{type:\"number\",minimum:0,maximum:1,default:1},\"circle-radius\":{type:\"number\",minimum:0,default:5},\"circle-stroke-color\":{type:\"color\",default:[0,0,0,1]},\"circle-stroke-opacity\":{type:\"number\",minimum:0,maximum:1,default:1},\"circle-stroke-width\":{type:\"number\",minimum:0,default:0},\"circle-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0]},\"circle-translate-anchor\":{type:\"enum\",values:[\"map\",\"viewport\"],default:r.MAP}};export{l as RotationAlignment,f as StyleDefinition,a as StyleLayerType,m as SymbolAnchor,n as SymbolPlacement,u as TextJustification,o as TextTransform,p as TextWritingMode,r as TranslateAnchor,i as Visibility};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nclass a{constructor(){this.name=this.constructor.name||\"UnnamedBrush\"}prepareState(a,r,t){}draw(a,r,t){}drawMany(a,r,t){for(const s of r)this.draw(a,s,t)}}export{a as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{isSome as t}from\"../../../../core/maybe.js\";import{b as e,c as r,r as s,j as i,m as a}from\"../../../../chunks/mat3.js\";import{c as o}from\"../../../../chunks/mat3f32.js\";import{f as u}from\"../../../../chunks/vec2f32.js\";import{extractBands as n}from\"../../../../layers/support/rasterFunctions/pixelUtils.js\";import{DisplayObject as h}from\"../DisplayObject.js\";import{TextureSamplingMode as l}from\"../../../webgl/enums.js\";import{createTransformTexture as d,createRasterTexture as _,createColormapTexture as m}from\"../../../webgl/rasterUtils.js\";const x={bandCount:3,outMin:0,outMax:1,minCutOff:[0,0,0],maxCutOff:[255,255,255],factor:[1/255,1/255,1/255],useGamma:!1,gamma:[1,1,1],gammaCorrection:[1,1,1],colormap:null,colormapOffset:null,stretchType:\"none\",type:\"stretch\"};class p extends h{constructor(t=null,e=null,r=null){super(),this._textureInvalidated=!0,this._colormapTextureInvalidated=!0,this._supportsBilinearTexture=!0,this.stencilRef=0,this.coordScale=[1,1],this._symbolizerParameters=null,this.height=null,this.isRendereredSource=!1,this.pixelRatio=1,this.resolution=0,this.rotation=0,this._source=null,this.rawPixelData=null,this._suspended=!1,this._bandIds=null,this._interpolation=null,this._transformGrid=null,this.width=null,this.x=0,this.y=0,this.source=t,this.transformGrid=e,this.interpolation=r}destroy(){this.getTextures()?.textures.forEach((t=>t.dispose())),this._rasterTexture=null,this._transformGridTexture=null,this._colormapTexture=null}get symbolizerParameters(){return this._symbolizerParameters||x}set symbolizerParameters(t){this._symbolizerParameters!==t&&(this._symbolizerParameters=t,this._colormapTextureInvalidated=!0)}get source(){return this._source}set source(t){this._source!==t&&(this._source=t,this._rasterTexture&&(this._rasterTexture.dispose(),this._rasterTexture=null,this._rasterTextureBandIds=null),this.invalidateTexture())}get suspended(){return this._suspended}set suspended(t){this._suspended&&!t&&this.stage&&(this.ready(),this.requestRender()),this._suspended=t}get bandIds(){return this._bandIds}set bandIds(t){this._bandIds=t,this._isBandIdschanged(t)&&this.invalidateTexture()}get interpolation(){return this._interpolation||\"nearest\"}set interpolation(t){this._interpolation=t,this._rasterTexture&&this._rasterTexture.setSamplingMode(\"bilinear\"===this._getTextureSamplingMethod(t)?l.LINEAR:l.NEAREST)}get transformGrid(){return this._transformGrid}set transformGrid(t){this._transformGrid=t,this._transformGridTexture&&(this._transformGridTexture.dispose(),this._transformGridTexture=null)}invalidateTexture(){this._textureInvalidated||(this._textureInvalidated=!0,this.requestRender())}_createTransforms(){return{dvs:o()}}setTransform(t){const o=e(this.transforms.dvs),[n,h]=t.toScreenNoRotation([0,0],[this.x,this.y]),l=this.resolution/this.pixelRatio/t.resolution,d=l*this.width,_=l*this.height,m=Math.PI*this.rotation/180;r(o,o,u(n,h)),r(o,o,u(d/2,_/2)),s(o,o,-m),r(o,o,u(-d/2,-_/2)),i(o,o,u(d,_)),a(this.transforms.dvs,t.displayViewMat3,o)}getTextures(){if(!this._rasterTexture)return null;const t=[],e=[];return this._transformGridTexture&&(e.push(this._transformGridTexture),t.push(\"u_transformGrid\")),this._rasterTexture&&(e.push(this._rasterTexture),t.push(\"u_image\")),this._colormapTexture&&(e.push(this._colormapTexture),t.push(\"u_colormap\")),{names:t,textures:e}}onAttach(){this.invalidateTexture()}onDetach(){this.invalidateTexture()}updateTexture({context:t}){if(!this.stage)return this._rasterTexture?.dispose(),this._transformGridTexture?.dispose(),this._colormapTexture?.dispose(),this._rasterTexture=null,this._rasterTextureBandIds=null,this._transformGridTexture=null,void(this._colormapTexture=null);const e=this._isValidSource(this.source);e&&this._colormapTextureInvalidated&&(this._colormapTextureInvalidated=!1,this._updateColormapTexture(t)),this._textureInvalidated&&(this._textureInvalidated=!1,this._createOrDestroyRasterTexture(t),this._rasterTexture&&(e?this.transformGrid&&!this._transformGridTexture&&(this._transformGridTexture=d(t,this.transformGrid)):this._rasterTexture.setData(null)),this.suspended||(this.ready(),this.requestRender()))}_createOrDestroyRasterTexture(e){const r=t(this.source)?n(this.source,this.bandIds):null;if(!this._isValidSource(r))return void(this._rasterTexture&&(this._rasterTexture.dispose(),this._rasterTextureBandIds=null,this._rasterTexture=null));const s=!this._isBandIdschanged(this.bandIds);if(this._rasterTexture){if(s)return;this._rasterTexture.dispose(),this._rasterTextureBandIds=null,this._rasterTexture=null}this._supportsBilinearTexture=e.capabilities.textureFloat?.textureFloatLinear;const i=this._getTextureSamplingMethod(this.interpolation),a=this.isRendereredSource||!e.capabilities.textureFloat?.textureFloat;this._rasterTexture=_(e,r,i,a),this._rasterTextureBandIds=this.bandIds?[...this.bandIds]:null}_isBandIdschanged(t){const e=this._rasterTextureBandIds;return!(null==e&&null==t||e&&t&&e.join(\"\")===t.join(\"\"))}_isValidSource(e){return t(e)&&e.pixels?.length>0}_getTextureSamplingMethod(e){const{type:r,colormap:s}=this.symbolizerParameters,i=\"lut\"===r||\"stretch\"===r&&t(s);return!this._supportsBilinearTexture||i||\"bilinear\"!==e&&\"cubic\"!==e?\"nearest\":\"bilinear\"}_updateColormapTexture(t){const e=this._colormap,r=this.symbolizerParameters.colormap;return r?e?r.length!==e.length||r.some(((t,r)=>t!==e[r]))?(this._colormapTexture&&(this._colormapTexture.dispose(),this._colormapTexture=null),this._colormapTexture=m(t,r),void(this._colormap=r)):void 0:(this._colormapTexture=m(t,r),void(this._colormap=r)):(this._colormapTexture&&(this._colormapTexture.dispose(),this._colormapTexture=null),void(this._colormap=null))}}class c extends p{get source(){return this._source}}function T(e){return t(e.source)}export{p as RasterBitmap,c as RasterBitmapWithSource,T as hasSource};\n"],"sourceRoot":""}