{"version":3,"sources":["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/BitmapContainer.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/chunks/vec4f32.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/layers/BaseDynamicLayerView2D.js","webpack:///./node_modules/@arcgis/core/views/2d/viewStateUtils.js","webpack:///./node_modules/@arcgis/core/views/2d/layers/support/ExportStrategy.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/engine/vectorTiles/decluttering/config.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":["Number","POSITIVE_INFINITY","t","Math","PI","o","c","N","LN2","a","n","h","M","P","log","g","r","e","shaders","vertexShader","fragmentShader","attributes","Map","s","this","children","some","blendFunction","prepareRenderPasses","registerRenderPass","name","brushes","bitmap","target","drawPhase","MAP","super","geometry","BYTE","m","UNSIGNED_SHORT","constructor","arguments","_desc","lut","vsPath","fsPath","stretch","hillshade","_rendererUniformInfos","dispose","_quad","prepareState","context","setBlendingEnabled","setBlendFunctionSeparate","ONE","ONE_MINUS_SRC_ALPHA","setColorMask","setStencilWriteMask","setStencilTestEnabled","setStencilFunction","i","EQUAL","stencilRef","draw","suspended","timeline","painter","requestRender","begin","capabilities","textureFloat","textureFloatLinear","updateTexture","_getShaderVariations","l","materialManager","getProgram","symbolizerParameters","type","_drawWithProgram","end","d","f","isCompiled","_","transformGrid","width","b","height","opacity","S","w","useProgram","x","y","_getUniformInfos","names","textures","U","getTextures","j","u","I","source","u_coordScale","coordScale","u_dvsMat3","transforms","dvs","colormap","colormapOffset","p","length","join","has","get","set","interpolation","push","isRendereredSource","spacing","nearest","defines","samplingMode","NEAREST","mips","bilinear","LINEAR","bicubic","trilinear","LINEAR_MIPMAP_LINEAR","state","resolution","pixelRatio","round","rotation","isSourceScaled","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","size","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","key","level","setUniform1fv","values","sizes","vvSizeUnitValue","vvSizeUnitValueToPixelsRatio","_setColorAndOpacityVVUniforms","vvColor","vvColorValues","vvColors","vvOpacity","vvOpacityValues","vvOpacities","_setRotationVVUniforms","vvRotation","vvMaterialParameters","vvRotationType","_getTriangleDesc","map","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","col","row","textureBinding","textureManager","D","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","clear","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","getLogger","_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","error","warnOnce","defaultColor","othersColor","outlineColor","holePercentage","sectorThreshold","outlineWidth","_patternMatrix","_programOptions","id","pattern","_vao","drawMany","styleLayerUID","_loadWGLResources","styleLayer","backgroundMaterial","vectorTilesMaterialManager","getPaintValue","spriteMosaic","HITTEST","k","getMosaicItemPosition","tl","br","page","getPageSize","setUniform4f","z","rangeX","Int8Array","getAttributeLocations","getLayoutInfo","layerData","circleIndexCount","circleMaterial","VIEWPORT","setDataUniforms","prepareForRendering","circleVertexArrayObject","circleIndexStart","triangleCount","_fillProgramOptions","_outlineProgramOptions","renderPass","fillIndexCount","outlineIndexCount","getPaintProperty","isDataDriven","getValue","_drawFill","hasDataDrivenOutlineColor","outlineUsesFillColor","_drawOutline","fillMaterial","C","V","fillVertexArrayObject","patternMap","fillIndexStart","outlineMaterial","outlineVertexArrayObject","outlineIndexStart","sdf","lineIndexCount","lineMaterial","getDashKey","getLayoutValue","lineVertexArrayObject","lineIndexStart","_iconProgramOptions","_sdfProgramOptions","_spritesTextureSize","_drawIcons","_drawText","iconMaterial","iconPerPageElementsMap","AUTO","POINT","isIconSDF","updateOpacityInfo","iconVertexArrayObject","performance","now","lastOpacityUpdate","_renderIconRange","getWidth","getHeight","glyphMosaic","textMaterial","glyphPerPageElementsMap","W","_glyphTextureSize","B","H","Y","textVertexArrayObject","forEach","_renderGlyphRange","LABEL","mapAligned","abs","floor","LINE","TEXT","marker","line","fill","text","label","clip","stencil","overlay","raster","rasterVF","flow","tileInfo","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","prototype","readFile","resolveIncludes","_resolve","_read","Error","exec","path","start","index","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","value","initialize","handles","add","layer","doRefresh","dataChanged","catch","declaredClass","_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","filter","createImageData","putImageData","getRenderedRasterPixels","renderedRasterPixels","buffer","enableCache","exports","replace","column","q","X","test","indexOf","concat","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","destroy","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","createRenderParams","globalOpacity","profiler","HIGHLIGHT","recordContainerStart","beforeRenderLayer","_clippingInfos","updateTransforms","renderChildren","compositeLayer","recordContainerEnd","_renderPasses","beforeRender","afterRender","requireFBO","requiresDedicatedFBO","LABEL_ALPHA","DEBUG","setTransform","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","update","strategy","notifyChange","attach","_bitmapContainer","container","addChild","fetchSource","fetchBitmapData","requestUpdate","detach","removeChild","removeAllChildren","moveStart","viewChange","moveEnd","fetchImage","isUpdating","updating","updateRequested","cos","sin","imageMaxWidth","imageMaxHeight","imageRotationSupported","imageNormalizationSupported","hidpi","_imagePromise","bitmaps","async","stationary","destroyed","spatialReference","worldScreenWidth","valid","paddedViewState","center","_singleExport","_tiledExport","then","fadeOut","fadeIn","updateExports","visible","invalidateTexture","signal","_export","scales","getTileCoverage","getTileBounds","Promise","all","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","HTMLImageElement","naturalHeight","naturalWidth","toScreenNoRotation","hasMipmap","generateMipmap","setSamplingMode","_visualState","time","displayData","resources","flowStyle","animated","_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-004a2f27.d4e3893c.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*/\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{brushes as e}from\"./brushes.js\";import{WGLDrawPhase as r}from\"./webgl/enums.js\";import s from\"./webgl/WGLContainer.js\";class t extends s{get requiresDedicatedFBO(){return this.children.some((e=>\"additive\"===e.blendFunction))}prepareRenderPasses(s){const t=s.registerRenderPass({name:\"bitmap\",brushes:[e.bitmap],target:()=>this.children,drawPhase:r.MAP});return[...super.prepareRenderPasses(s),t]}}export{t as BitmapContainer};\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 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{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{r(t)||h.error(t)})),this.notifyChange(\"updating\")}attach(){this._bitmapContainer=new a,this.container.addChild(this._bitmapContainer),this.strategy=new p({container:this._bitmapContainer,fetchSource:this.fetchBitmapData.bind(this),requestUpdate:this.requestUpdate.bind(this)})}detach(){this.strategy.destroy(),this.strategy=null,this.container.removeChild(this._bitmapContainer),this._bitmapContainer.removeAllChildren()}moveStart(){}viewChange(){}moveEnd(){this.requestUpdate()}fetchBitmapData(t,e,r){return this.layer.fetchImage(t,e,r)}async doRefresh(){this.requestUpdate()}isUpdating(){return this.strategy.updating||this.updateRequested}};t([s()],c.prototype,\"strategy\",void 0),t([s()],c.prototype,\"updating\",void 0),c=t([i(\"esri.views.2d.layers.BaseDynamicLayerView2D\")],c);const d=c;export{d 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 t=Math.PI/180;function n(n){return n*t}function o(t,n,o){const{resolution:r,size:u}=o;return t[0]=r*(Math.round(n[0]/r)+u[0]%2*.5),t[1]=r*(Math.round(n[1]/r)+u[1]%2*.5),t}function r(t,o){const r=n(o.rotation),u=Math.abs(Math.cos(r)),a=Math.abs(Math.sin(r)),[s,c]=o.size;return t[0]=Math.round(c*a+s*u),t[1]=Math.round(c*u+s*a),t}function u(t,n,o,r){const[u,a]=n,[s,c]=r,i=.5*o;return t[0]=u-i*s,t[1]=a-i*c,t[2]=u+i*s,t[3]=a+i*c,t}function a(t,n){const[o,r,u,a]=t,[s,c,i,e]=n;return!(o>i||ue||a{if(!t.stationary||this.destroyed)return null;const i=t.state,o=p(i.spatialReference),r=this.hidpi?t.pixelRatio:1,s=this.imageNormalizationSupported&&i.worldScreenWidth&&i.worldScreenWidththis.imageMaxWidth||Math.floor(g[1]*r)>this.imageMaxHeight,n=o&&(i.extent.xmino.valid[1]),l=!this.imageNormalizationSupported&&n,d=!a&&!l,h=this.imageRotationSupported?i.rotation:0;if(d){const t=s?i.paddedViewState.center:i.center;this._imagePromise=this._singleExport(i,g,t,i.resolution,h,r,e)}else{let t=Math.min(this.imageMaxWidth,this.imageMaxHeight);l&&(t=Math.min(i.worldScreenWidth,t)),this._imagePromise=this._tiledExport(i,t,r,e)}return this._imagePromise.then((async t=>{if(this._imagePromise=null,!this.destroyed){this.bitmaps=t??[];for(const e of this.container.children)t.includes(e)||e.fadeOut().then((()=>{e.remove()}));for(const e of t)this.container.addChild(e),e.fadeIn()}})).catch((t=>{throw this._imagePromise=null,t}))}),5e3)}destroy(){this.bitmaps=[]}get updating(){return!this.destroyed&&null!==this._imagePromise}updateExports(t){for(const e of this.container.children){if(!e.visible||!e.stage)return;t(e),e.invalidateTexture(),e.requestRender()}}async _export(t,e,i,o,r,s){const a=await this.fetchSource(t,Math.floor(e*r),Math.floor(i*r),{rotation:o,pixelRatio:r,signal:s}),p=new d(a,\"additive\");return p.x=t.xmin,p.y=t.ymax,p.resolution=t.width/e,p.rotation=o,p.pixelRatio=r,p}async _singleExport(t,e,i,o,r,a,p){l(u,i,o,e);const n=new s(u[0],u[1],u[2],u[3],t.spatialReference);return[await this._export(n,e[0],e[1],r,a,p)]}_tiledExport(t,e,i,o){const r=n.create({size:e,spatialReference:t.spatialReference,scales:[t.scale]}),a=new h(r),p=a.getTileCoverage(t);if(!p)return null;const m=[];return p.forEach(((r,p,n,l)=>{f.set(r,p,n,l),a.getTileBounds(u,f);const d=new s(u[0],u[1],u[2],u[3],t.spatialReference);m.push(this._export(d,e,e,0,i,o))})),Promise.all(m)}};t([o()],y.prototype,\"_imagePromise\",void 0),t([o()],y.prototype,\"bitmaps\",void 0),t([o()],y.prototype,\"container\",void 0),t([o()],y.prototype,\"fetchSource\",void 0),t([o()],y.prototype,\"hidpi\",void 0),t([o()],y.prototype,\"imageMaxWidth\",void 0),t([o()],y.prototype,\"imageMaxHeight\",void 0),t([o()],y.prototype,\"imageRotationSupported\",void 0),t([o()],y.prototype,\"imageNormalizationSupported\",void 0),t([o()],y.prototype,\"requestUpdate\",void 0),t([o()],y.prototype,\"updating\",null),y=t([r(\"esri.views.2d.layers.support.ExportStrategy\")],y);const S=y;export{S 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={background:{\"background.frag\":\"uniform lowp vec4 u_color;\\nvoid main() {\\ngl_FragColor = u_color;\\n}\",\"background.vert\":\"attribute vec2 a_pos;\\nuniform highp mat3 u_dvsMat3;\\nuniform mediump vec2 u_coord_range;\\nuniform mediump float u_depth;\\nvoid main() {\\nvec3 v_pos = u_dvsMat3 * vec3(u_coord_range * a_pos, 1.0);\\ngl_Position = vec4(v_pos.xy, 0.0, 1.0);\\n}\"},bitBlit:{\"bitBlit.frag\":\"uniform lowp sampler2D u_tex;\\nuniform lowp float u_opacity;\\nvarying mediump vec2 v_uv;\\nvoid main() {\\nlowp vec4 color = texture2D(u_tex, v_uv);\\ngl_FragColor = color * u_opacity;\\n}\",\"bitBlit.vert\":\"attribute vec2 a_pos;\\nattribute vec2 a_tex;\\nvarying mediump vec2 v_uv;\\nvoid main(void) {\\ngl_Position = vec4(a_pos, 0.0, 1.0);\\nv_uv = a_tex;\\n}\"},blend:{\"blend.frag\":\"precision mediump float;\\nuniform sampler2D u_layerTexture;\\nuniform lowp float u_opacity;\\nuniform lowp float u_inFadeOpacity;\\n#ifndef NORMAL\\nuniform sampler2D u_backbufferTexture;\\n#endif\\nvarying mediump vec2 v_uv;\\nfloat rgb2v(in vec3 c) {\\nreturn max(c.x, max(c.y, c.z));\\n}\\nvec3 rgb2hsv(in 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(in 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}\\nvec3 tint(in vec3 Cb, in vec3 Cs) {\\nfloat vIn = rgb2v(Cb);\\nvec3 hsvTint = rgb2hsv(Cs);\\nvec3 hsvOut = vec3(hsvTint.x, hsvTint.y, vIn * hsvTint.z);\\nreturn hsv2rgb(hsvOut);\\n}\\nfloat overlay(in float Cb, in float Cs) {\\nreturn (1.0 - step(0.5, Cs)) * (1.0 - 2.0 * (1.0 - Cs ) * (1.0 - Cb)) + step(0.5, Cs) * (2.0 * Cs * Cb);\\n}\\nfloat colorDodge(in float Cb, in float Cs) {\\nreturn (Cb == 0.0) ? 0.0 : (Cs == 1.0) ? 1.0 : min(1.0, Cb / (1.0 - Cs));\\n}\\nfloat colorBurn(in float Cb, in float Cs) {\\nreturn (Cb == 1.0) ? 1.0 : (Cs == 0.0) ? 0.0 : 1.0 - min(1.0, (1.0 - Cb) / Cs);\\n}\\nfloat hardLight(in float Cb, in float Cs) {\\nreturn (1.0 - step(0.5, Cs)) * (2.0 * Cs * Cb) + step(0.5, Cs) * (1.0 - 2.0 * (1.0 - Cs) * (1.0 - Cb));\\n}\\nfloat reflectBlend(in float Cb, in float Cs) {\\nreturn (Cs == 1.0) ? Cs : min(Cb * Cb / (1.0 - Cs), 1.0);\\n}\\nfloat softLight(in float Cb, in float Cs) {\\nif (Cs <= 0.5) {\\nreturn Cb - (1.0 - 2.0 * Cs) * Cb * (1.0 - Cb);\\n}\\nif (Cb <= 0.25) {\\nreturn Cb + (2.0 * Cs - 1.0) * Cb * ((16.0 * Cb - 12.0) * Cb + 3.0);\\n}\\nreturn Cb + (2.0 * Cs - 1.0) * (sqrt(Cb) - Cb);\\n}\\nfloat vividLight(in float Cb, in float Cs) {\\nreturn (1.0 - step(0.5, Cs)) * colorBurn(Cb, 2.0 * Cs) + step(0.5, Cs) * colorDodge(Cb, (2.0 * (Cs - 0.5)));\\n}\\nfloat minv3(in vec3 c) {\\nreturn min(min(c.r, c.g), c.b);\\n}\\nfloat maxv3(in vec3 c) {\\nreturn max(max(c.r, c.g), c.b);\\n}\\nfloat lumv3(in vec3 c) {\\nreturn dot(c, vec3(0.3, 0.59, 0.11));\\n}\\nfloat satv3(vec3 c) {\\nreturn maxv3(c) - minv3(c);\\n}\\nvec3 clipColor(vec3 color) {\\nfloat lum = lumv3(color);\\nfloat mincol = minv3(color);\\nfloat maxcol = maxv3(color);\\nif (mincol < 0.0) {\\ncolor = lum + ((color - lum) * lum) / (lum - mincol);\\n}\\nif (maxcol > 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*/\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{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":""}