{"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/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/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/WGLGeometryBrush.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/webgl/brushes/WGLGeometryBrushFill.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/WGLGeometryBrushMarker.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/chunks/vec4f32.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/chunks/earcut.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/webgl/Mesh2D.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/webgl/ClippingInfo.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/webgl/WGLContainer.js","webpack:///./node_modules/@arcgis/core/layers/support/rasterFunctions/pixelUtils.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/webgl/shaders/sources/shaderRepository.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/webgl/shaders/sources/resolver.js","webpack:///./node_modules/@arcgis/core/views/webgl/rasterUtils.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/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/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","geometry","BYTE","m","UNSIGNED_SHORT","super","arguments","this","_desc","lut","vsPath","fsPath","stretch","hillshade","_rendererUniformInfos","_quad","dispose","context","setBlendingEnabled","setBlendFunctionSeparate","ONE","ONE_MINUS_SRC_ALPHA","setColorMask","setStencilWriteMask","setStencilTestEnabled","setStencilFunction","EQUAL","stencilRef","s","suspended","timeline","begin","name","capabilities","textureFloat","textureFloatLinear","updateTexture","i","_getShaderVariations","painter","materialManager","getProgram","symbolizerParameters","type","_drawWithProgram","end","p","u","transformGrid","f","width","_","height","opacity","b","useProgram","S","w","_getUniformInfos","names","x","textures","y","getTextures","U","source","u_coordScale","coordScale","u_dvsMat3","transforms","dvs","colormap","colormapOffset","draw","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","blendFunction","renderingOptions","d","computedOpacity","l","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","_patternMatrix","_programOptions","id","pattern","_vao","styleLayerUID","_loadWGLResources","displayLevel","styleLayer","backgroundMaterial","vectorTilesMaterialManager","v","getPaintValue","j","window","devicePixelRatio","spriteMosaic","L","A","drawPhase","HITTEST","I","k","getMaterialProgram","getMosaicItemPosition","tl","br","page","getPageSize","setUniform4f","z","rangeX","max","key","level","drawArrays","TRIANGLE_STRIP","Int8Array","createVertex","STATIC_DRAW","getAttributeLocations","getLayoutInfo","requiredLevel","some","layerData","circleIndexCount","E","circleMaterial","T","VIEWPORT","displayViewMat3","setDataUniforms","prepareForRendering","circleVertexArrayObject","GREATER","Uint32Array","BYTES_PER_ELEMENT","circleIndexStart","triangleCount","_fillProgramOptions","_outlineProgramOptions","renderPass","fillIndexCount","outlineIndexCount","getPaintProperty","isDataDriven","getValue","_drawFill","hasDataDrivenOutlineColor","outlineUsesFillColor","_drawOutline","D","fillMaterial","R","V","fillVertexArrayObject","patternMap","fillIndexStart","outlineMaterial","outlineVertexArrayObject","outlineIndexStart","sdf","lineIndexCount","lineMaterial","getDashKey","getLayoutValue","lineVertexArrayObject","lineIndexStart","_iconProgramOptions","_sdfProgramOptions","_spritesTextureSize","_drawIcons","_drawText","iconMaterial","iconPerPageElementsMap","AUTO","POINT","MAP","isIconSDF","updateOpacityInfo","iconVertexArrayObject","performance","now","lastOpacityUpdate","_renderIconRange","getWidth","getHeight","glyphMosaic","textMaterial","glyphPerPageElementsMap","O","_glyphTextureSize","G","W","F","B","H","textVertexArrayObject","forEach","_renderGlyphRange","_computeDesc","indexOf","getGeometryType","commit","getGeometry","attributeView","bindTextures","forEachCommand","drawGeometry","passOptions","position","distance","tileMat3","viewMat3","vvSizeMinMaxValue","vvSizeScaleStops","vvSizeScaleStopsValue","vvSizeFieldStops","getSizeVVFieldStops","setUniform1fv","values","sizes","vvSizeUnitValue","vvSizeUnitValueToPixelsRatio","vvColor","vvColorValues","vvColors","vvOpacity","vvOpacityValues","vvOpacities","vvRotation","vvMaterialParameters","vvRotationType","strides","map","divisor","normalized","offset","stride","UNSIGNED_BYTE","dotDensity","FLOAT","data","simple","_dotTextureSize","_dotTextures","_dotSamplers","Int32Array","_dotVAO","_dotDesc","_disposeTextures","_dotFBO","FILL","rendererInfo","load","materialKey","_getTriangleDesc","POINTS","_setSharedUniforms","setUniform2f","col","row","textureBinding","textureManager","_setSizeVVUniforms","_setColorAndOpacityVVUniforms","target","indexCount","indexFrom","_drawDotLocations","_drawDotDensity","_createDotDensityMesh","ddDotSize","bindTexture","getViewport","setViewport","getBoundFramebufferObject","_createFBO","bindFramebuffer","setClearColor","clear","gl","COLOR_BUFFER_BIT","STENCIL_BUFFER_BIT","ddDotScale","scale","setUniformMatrix4fv","ddColors","ddActiveDots","ddBackgroundColor","ddDotValue","_bindDotDensityTextures","colorTexture","TEXTURE_2D","pixelFormat","RGBA","dataType","wrapMode","CLAMP_TO_EDGE","colorTarget","TEXTURE","depthStencilTarget","DEPTH_STENCIL_RENDER_BUFFER","internalFormat","DEPTH_STENCIL","_createDotDensityTextures","ddSeed","setUniform1iv","Int16Array","_seed","_allocDotDensityTexture","Float32Array","getFloat","REPEAT","LABEL","mapAligned","abs","floor","LINE","MARKER","_setRotationVVUniforms","TEXT","marker","line","fill","text","label","clip","stencil","bitmap","raster","rasterVF","flow","tileInfo","vtlBackground","vtlFill","vtlLine","vtlCircle","vtlSymbol","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","getLogger","pixelType","mask","maskIsAlpha","pixels","statistics","getPixelArrayConstructor","Uint8Array","Uint16Array","Float64Array","toLowerCase","minValue","maxValue","ArrayBuffer","_fillFromNon8Bit","_fillFrom8Bit","Uint8ClampedArray","_fillFrom32Bit","_calculateBandStatistics","createEmptyBand","slice","error","reduce","min","MAX_VALUE","json","write","prototype","Object","freeze","__proto__","create","clone","fromValues","createView","zeros","ones","unitX","unitY","unitZ","unitW","ZEROS","ONES","UNIT_X","UNIT_Y","UNIT_Z","UNIT_W","_outlineProgram","_tileInfoProgram","_outlineVertexArrayObject","_tileInfoVertexArrayObject","_canvas","isReady","rangeY","LINE_STRIP","_getTexture","descriptor","texture","triangleCountReportedInDebug","document","createElement","setAttribute","getContext","font","textAlign","textBaseline","clearRect","fillStyle","fillRect","fillText","rctx","_vertexBuffer","_count","unbind","exports","next","prev","Z","C","steiner","prevZ","nextZ","sort","q","deviation","flatten","vertices","holes","dimensions","coords","lengths","_cache","indices","primitiveType","isMapSpace","fromScreenExtent","xmin","ymin","xmax","ymax","path","fromPolygon","fromMapExtent","fromRect","toScreen","vertexBuffers","createIndex","keys","parseFloat","_clip","stage","_handle","watch","_invalidate","ready","mesh","destroy","_destroyGL","remove","_lastWidth","_lastHeight","_createMesh","getIndexBuffer","getVertexBuffers","requestRender","left","right","top","bottom","_createScreenRect","fromPath","fromGeometry","constructor","_clips","children","clips","_updateClippingInfo","createRenderParams","globalOpacity","profiler","HIGHLIGHT","recordContainerStart","beforeRenderLayer","_clippingInfos","updateTransforms","renderChildren","compositeLayer","recordContainerEnd","_renderPasses","prepareRenderPasses","beforeRender","render","afterRender","requireFBO","requiresDedicatedFBO","registerRenderPass","brushes","LABEL_ALPHA","DEBUG","setTransform","onAttach","onDetach","items","fromClipArea","declaredClass","concat","indexed2DColormap","alphaSpecified","fillUnspecified","indexedColormap","updateStatistics","counts","sqrt","avg","stddev","histograms","minCutOff","maxCutOff","gamma","outMin","outMax","contrastOffset","brightnessOffset","mappedColor","value","find","pixelBlock","extent","apply","clipOffset","clipSize","block","mosaic","hasGCSSShiftTransform","halfWorldWidth","resolutionX","startX","rightPadding","leftMargin","alignmentInfo","blockWidths","getPlaneCount","done","delete","ceil","cols","rows","offsets_x","offsets_y","offsets_xi","offsets_yi","gridWidth","coefficients","isNaN","atan2","background","bitBlit","blend","dot","filtering","fx","integrate","highlight","magnifier","materials","hittest","icon","shared","blit","bloom","composite","gaussianBlur","luminosityHighPass","blur","dra","sobel","filterEffect","pp","common","reproject","util","split","resolveIncludes","getAsRGBAFloat","getAsRGBA","WEBGL2","RGBA32F","flipped","offsets","u_flipY","u_isFloatTexture","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","u_maxOutput","u_minCutOff","u_maxCutOff","u_factor","factor","u_useGamma","useGamma","u_gamma","u_gammaCorrection","gammaCorrection","u_hillshadeType","hillshadeType","u_sinZcosAs","sinZcosAs","u_sinZsinAs","sinZsinAs","u_cosZs","cosZs","u_weights","weights","u_minValue","u_maxValue","glName","getProgramParameter","ACTIVE_UNIFORMS","getActiveUniform","getUniformLocation","info","FLOAT_VEC2","FLOAT_VEC3","setUniform3fv","FLOAT_VEC4","FLOAT_MAT3","FLOAT_MAT4","INT","BOOL","INT_VEC2","BOOL_VEC2","setUniform2iv","INT_VEC3","BOOL_VEC3","setUniform3iv","INT_VEC4","BOOL_VEC4","setUniform4iv","displayData","resources","lineColor","kind","lineOpacity","lineRenderWidth","locations","time","flowStyle","renderSettings","fadeDuration","lineSpeed","vertexArray","animated","stops","_initialized","_solidProgram","_solidVertexArrayObject","setDepthWriteEnabled","setDepthTestEnabled","setStencilFunctionSeparate","FRONT_AND_BACK","_initialize","stretchType","_textureInvalidated","_colormapTextureInvalidated","_supportsBilinearTexture","_symbolizerParameters","_source","rawPixelData","_suspended","_bandIds","_interpolation","_transformGrid","_rasterTexture","_transformGridTexture","_colormapTexture","_rasterTextureBandIds","invalidateTexture","_isBandIdschanged","setSamplingMode","_getTextureSamplingMethod","toScreenNoRotation","_isValidSource","_updateColormapTexture","_createOrDestroyRasterTexture","setData","bandIds","_colormap"],"mappings":"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","file":"js/chunk-6172614e.f9f23f33.js","sourcesContent":["/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.23/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.23/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.23/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.23/esri/copyright.txt for details.\n*/\nimport{hasSource as e}from\"./RasterBitmap.js\";import t from\"../webgl/VertexStream.js\";import r from\"../webgl/brushes/WGLBrush.js\";import{BlendFactor as s,CompareFunction as a}from\"../../../webgl/enums.js\";import{setTextures as i,getCommonUniforms as o,setUniforms as n,getColormapUniforms as h,getStretchUniforms as l,getShadedReliefUniforms as c,getUniformLocationInfos as p,getBasicGridUniforms as d}from\"../../../webgl/rasterUtils.js\";class u extends r{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(s.ONE,s.ONE_MINUS_SRC_ALPHA,s.ONE,s.ONE_MINUS_SRC_ALPHA),e.setColorMask(!0,!0,!0,!0),e.setStencilWriteMask(0),e.setStencilTestEnabled(!0),e.setStencilFunction(a.EQUAL,t.stencilRef,255)}draw(t,r){var s;if(!e(r)||r.suspended)return;t.timeline.begin(this.name);const a=!(null!=(s=t.context.capabilities.textureFloat)&&s.textureFloatLinear);r.updateTexture(t);const i=this._getShaderVariations(r,a),o=t.painter.materialManager.getProgram(t,this._desc[r.symbolizerParameters.type],i);this._drawWithProgram(t.context,o,r),t.timeline.end(this.name)}_drawWithProgram(e,r,s,a=1,p=[0,0],u=!1){this._quad||(this._quad=new t(e,[0,0,1,0,0,1,1,1]));const{symbolizerParameters:m,transformGrid:f,width:_,height:g,opacity:b}=s,P=m.type;e.useProgram(r);const S=this._getShaderVariations(s),w=this._getUniformInfos(P,e,r,S),{names:x,textures:y}=s.getTextures();i(e,r,x,y);const M=d(a,p),U=o(f,[_,g],[s.source.width,s.source.height],b,u);if(n(r,w,{u_coordScale:s.coordScale,u_dvsMat3:s.transforms.dvs,...M,...U}),m.colormap){const{colormap:e,colormapOffset:t}=m,s=h(e,t);n(r,w,s)}if(\"stretch\"===m.type){const e=l(m);n(r,w,e)}else if(\"hillshade\"===m.type){const e=c(m);n(r,w,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=p(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{u as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.23/esri/copyright.txt for details.\n*/\nimport{TEXTURE_BINDING_BITMAP as e}from\"../definitions.js\";import t from\"../VertexStream.js\";import i from\"./WGLBrush.js\";import{TextureSamplingMode as s,BlendFactor as n,CompareFunction as a}from\"../../../../webgl/enums.js\";const r={nearest:{defines:[],samplingMode:s.NEAREST,mips:!1},bilinear:{defines:[],samplingMode:s.LINEAR,mips:!1},bicubic:{defines:[\"bicubic\"],samplingMode:s.LINEAR,mips:!1},trilinear:{defines:[],samplingMode:s.LINEAR_MIPMAP_LINEAR,mips:!0}},o=(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,a=s>1.05||s<.95;return i.rotation||a||n||t.isSourceScaled||t.rotation?r.bilinear:r.nearest}return r[i.samplingMode]};class d extends i{constructor(){super(...arguments),this._desc={vsPath:\"raster/bitmap\",fsPath:\"raster/bitmap\",attributes:new Map([[\"a_position\",0],[\"a_texcoord\",1]])}}dispose(){this._quad&&this._quad.dispose()}prepareState({context:e},t){e.setBlendingEnabled(!0),\"additive\"===t.blendFunction?e.setBlendFunctionSeparate(n.ONE,n.ONE,n.ONE,n.ONE):e.setBlendFunctionSeparate(n.ONE,n.ONE_MINUS_SRC_ALPHA,n.ONE,n.ONE_MINUS_SRC_ALPHA),e.setColorMask(!0,!0,!0,!0),e.setStencilWriteMask(0),e.setStencilTestEnabled(!0),e.setStencilFunction(a.EQUAL,t.stencilRef,255)}draw(i,s){const{context:n,renderingOptions:a,painter:r}=i;if(!s.source)return;i.timeline.begin(this.name),this._quad||(this._quad=new t(n,[0,0,1,0,0,1,1,1]));const d=o(i,s,a),m=r.materialManager.getProgram(i,this._desc,d.defines),{coordScale:c,computedOpacity:l,transforms:p}=s;s.setSamplingProfile(d),s.bind(i.context,e),n.useProgram(m),m.setUniformMatrix3fv(\"u_dvsMat3\",p.dvs),m.setUniform1i(\"u_texture\",e),m.setUniform2fv(\"u_coordScale\",c),m.setUniform1f(\"u_opacity\",l),this._quad.draw(),i.timeline.end(this.name)}}export{d as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.23/esri/copyright.txt for details.\n*/\nimport{isNone as r}from\"../../../../../core/maybe.js\";import{f as t}from\"../../../../../chunks/vec4f32.js\";import{createProgramDescriptor as e}from\"../Utils.js\";import s from\"./WGLBrush.js\";import{background as o}from\"../shaders/BackgroundPrograms.js\";import{StencilOperation as i,CompareFunction as a,DataType as m,PrimitiveType as n}from\"../../../../webgl/enums.js\";import{createProgram as p}from\"../../../../webgl/ProgramTemplate.js\";const c=()=>e(\"clip\",{geometry:[{location:0,name:\"a_pos\",count:2,type:m.SHORT}]});class l extends s{constructor(){super(...arguments),this._color=t(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(i.KEEP,i.KEEP,i.REPLACE),r.setStencilWriteMask(255),r.setStencilFunction(a.ALWAYS,0,255)}draw(t,e){const{context:s,state:i}=t,a=c(),l=e.getVAO(s,i,a.attributes,a.bufferLayouts);r(l.indexBuffer)||(this._program||(this._program=p(s,o)),s.useProgram(this._program),this._program.setUniform2fv(\"u_coord_range\",[1,1]),this._program.setUniform4fv(\"u_color\",this._color),this._program.setUniformMatrix3fv(\"u_dvsMat3\",i.displayMat3),s.bindVAO(l),s.drawElements(n.TRIANGLES,l.indexBuffer.size,m.UNSIGNED_INT,0),s.bindVAO())}}export{l as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.23/esri/copyright.txt for details.\n*/\nimport{nextPowerOfTwo as t}from\"../../../../../core/mathUtils.js\";import{isSome as r}from\"../../../../../core/maybe.js\";import{c as o}from\"../../../../../chunks/mat3f32.js\";import{f as e}from\"../../../../../chunks/vec4f32.js\";import{VTL_TEXTURE_BINDING_UNIT_SPRITES as i,VTL_HIGH_RES_CUTOFF as s}from\"../definitions.js\";import{WGLDrawPhase as a}from\"../enums.js\";import{u32to4Xu8 as n}from\"../number.js\";import c from\"./WGLBrush.js\";import{BufferObject as m}from\"../../../../webgl/BufferObject.js\";import{TextureSamplingMode as f,CompareFunction as l,PrimitiveType as u,Usage as p}from\"../../../../webgl/enums.js\";import{VertexArrayObject as _}from\"../../../../webgl/VertexArrayObject.js\";class d extends c{constructor(){super(...arguments),this._color=e(1,0,0,1),this._patternMatrix=o(),this._programOptions={id:!1,pattern:!1}}dispose(){this._vao&&(this._vao.dispose(),this._vao=null)}drawMany(o,e){const{context:c,painter:m,styleLayerUID:p}=o;this._loadWGLResources(o);const _=o.displayLevel,d=o.styleLayer,h=d.backgroundMaterial,g=m.vectorTilesMaterialManager,v=d.getPaintValue(\"background-color\",_),b=d.getPaintValue(\"background-opacity\",_),y=d.getPaintValue(\"background-pattern\",_),M=void 0!==y,x=v[3]*b,j=1|window.devicePixelRatio,U=o.spriteMosaic;let L,w;const A=j>s?2:1,P=o.drawPhase===a.HITTEST,I=this._programOptions;I.id=P,I.pattern=M;const k=g.getMaterialProgram(c,h,I);if(c.bindVAO(this._vao),c.useProgram(k),M){const t=U.getMosaicItemPosition(y,!0);if(r(t)){const{tl:o,br:e,page:s}=t;L=e[0]-o[0],w=e[1]-o[1];const a=U.getPageSize(s);r(a)&&(U.bind(c,f.LINEAR,s,i),k.setUniform4f(\"u_tlbr\",o[0],o[1],e[0],e[1]),k.setUniform2fv(\"u_mosaicSize\",a),k.setUniform1i(\"u_texture\",i))}k.setUniform1f(\"u_opacity\",b)}else this._color[0]=x*v[0],this._color[1]=x*v[1],this._color[2]=x*v[2],this._color[3]=x,k.setUniform4fv(\"u_color\",this._color);if(k.setUniform1f(\"u_depth\",d.z||0),P){const t=n(p+1);k.setUniform4fv(\"u_id\",t)}for(const r of e){if(k.setUniform1f(\"u_coord_range\",r.rangeX),k.setUniformMatrix3fv(\"u_dvsMat3\",r.transforms.dvs),M){const o=Math.max(2**(Math.round(_)-r.key.level),1),e=A*r.width*o,i=e/t(L),s=e/t(w);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)}}_loadWGLResources(t){if(this._vao)return;const{context:r,styleLayer:o}=t,e=o.backgroundMaterial,i=new Int8Array([0,0,1,0,0,1,1,1]),s=m.createVertex(r,p.STATIC_DRAW,i),a=new _(r,e.getAttributeLocations(),e.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.23/esri/copyright.txt for details.\n*/\nimport{isNone as e}from\"../../../../../core/maybe.js\";import{TranslateAnchor as t}from\"../../vectorTiles/style/StyleDefinition.js\";import{WGLDrawPhase as r}from\"../enums.js\";import{u32to4Xu8 as i}from\"../number.js\";import n from\"./WGLBrush.js\";import{CompareFunction as a,PrimitiveType as s,DataType as o}from\"../../../../webgl/enums.js\";class l extends n{constructor(){super(...arguments),this._programOptions={id:!1}}dispose(){}drawMany(n,l){const{context:c,displayLevel:m,requiredLevel:u,state:f,drawPhase:d,painter:p,spriteMosaic:y,styleLayerUID:v}=n;if(!l.some((e=>{var t,r;return null!=(t=null==(r=e.layerData.get(v))?void 0:r.circleIndexCount)&&t})))return;const g=n.styleLayer,E=g.circleMaterial,M=p.vectorTilesMaterialManager,T=1.2,x=g.getPaintValue(\"circle-translate\",m),I=g.getPaintValue(\"circle-translate-anchor\",m),U=d===r.HITTEST,_=this._programOptions;_.id=U;const h=M.getMaterialProgram(c,E,_);c.useProgram(h),h.setUniformMatrix3fv(\"u_displayMat3\",I===t.VIEWPORT?f.displayMat3:f.displayViewMat3),h.setUniform2fv(\"u_circleTranslation\",x),h.setUniform1f(\"u_depth\",g.z),h.setUniform1f(\"u_antialiasingWidth\",T);let L=-1;if(U){const e=i(v+1);h.setUniform4fv(\"u_id\",e)}for(const t of l){if(!t.layerData.has(v))continue;t.key.level!==L&&(L=t.key.level,E.setDataUniforms(h,m,g,L,y));const r=t.layerData.get(v);if(!r.circleIndexCount)continue;r.prepareForRendering(c);const i=r.circleVertexArrayObject;e(i)||(c.bindVAO(i),h.setUniformMatrix3fv(\"u_dvsMat3\",t.transforms.dvs),u!==t.key.level?c.setStencilFunction(a.EQUAL,t.stencilRef,255):c.setStencilFunction(a.GREATER,255,255),c.drawElements(s.TRIANGLES,r.circleIndexCount,o.UNSIGNED_INT,Uint32Array.BYTES_PER_ELEMENT*r.circleIndexStart),t.triangleCount+=r.circleIndexCount/3)}}}export{l as WGLBrushVTLCircle};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.23/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 a,VTL_HIGH_RES_CUTOFF as n}from\"../definitions.js\";import{WGLDrawPhase as r}from\"../enums.js\";import{u32to4Xu8 as o}from\"../number.js\";import l from\"./WGLBrush.js\";import{TextureSamplingMode as s,CompareFunction as f,PrimitiveType as u,DataType as c}from\"../../../../webgl/enums.js\";const d=1/65536;class m extends l{constructor(){super(...arguments),this._fillProgramOptions={id:!1,pattern:!1},this._outlineProgramOptions={id:!1}}dispose(){}drawMany(t,e){const{displayLevel:i,drawPhase:a,renderPass:n,spriteMosaic:l,styleLayerUID:s}=t;let f=!1;for(const r of e)if(r.layerData.has(s)){const t=r.layerData.get(s);if(t.fillIndexCount>0||t.outlineIndexCount>0){f=!0;break}}if(!f)return;const u=t.styleLayer,c=u.getPaintProperty(\"fill-pattern\"),d=void 0!==c,m=d&&c.isDataDriven;let p;if(d&&!m){const t=c.getValue(i);p=l.getMosaicItemPosition(t,!0)}const y=!d&&u.getPaintValue(\"fill-antialias\",i);let g=!0,_=1;if(!d){const t=u.getPaintProperty(\"fill-color\"),e=u.getPaintProperty(\"fill-opacity\");if(!(null!=t&&t.isDataDriven||null!=e&&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;a===r.HITTEST&&(E=o(s+1));const M=u.getPaintValue(\"fill-translate\",i),P=u.getPaintValue(\"fill-translate-anchor\",i);(g||\"translucent\"!==n)&&this._drawFill(t,s,u,e,M,P,d,p,m,E);const v=!u.hasDataDrivenOutlineColor&&u.outlineUsesFillColor&&_<1;y&&\"opaque\"!==n&&!v&&this._drawOutline(t,s,u,e,M,P,E)}_drawFill(o,l,m,p,y,g,_,E,M,P){if(_&&!M&&t(E))return;const{context:v,displayLevel:I,state:T,drawPhase:U,painter:x,pixelRatio:h,spriteMosaic:D}=o,S=m.fillMaterial,N=x.vectorTilesMaterialManager,w=h>n?2:1,L=U===r.HITTEST,R=this._fillProgramOptions;R.id=L,R.pattern=_;const A=N.getMaterialProgram(v,S,R);if(v.useProgram(A),e(E)){const{page:t}=E,i=D.getPageSize(t);e(i)&&(D.bind(v,s.LINEAR,t,a),A.setUniform2fv(\"u_mosaicSize\",i),A.setUniform1i(\"u_texture\",a))}A.setUniformMatrix3fv(\"u_displayMat3\",g===i.VIEWPORT?T.displayMat3:T.displayViewMat3),A.setUniform2fv(\"u_fillTranslation\",y),A.setUniform1f(\"u_depth\",m.z+d),L&&A.setUniform4fv(\"u_id\",P);let V=-1;for(const i of p){if(!i.layerData.has(l))continue;i.key.level!==V&&(V=i.key.level,S.setDataUniforms(A,I,m,V,D));const n=i.layerData.get(l);if(!n.fillIndexCount)continue;n.prepareForRendering(v);const r=n.fillVertexArrayObject;if(!t(r)){if(v.bindVAO(r),A.setUniformMatrix3fv(\"u_dvsMat3\",i.transforms.dvs),v.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);A.setUniform1f(\"u_patternFactor\",e)}if(M){const t=n.patternMap;if(!t)continue;for(const[i,n]of t){const t=D.getPageSize(i);e(t)&&(D.bind(v,s.LINEAR,i,a),A.setUniform2fv(\"u_mosaicSize\",t),A.setUniform1i(\"u_texture\",a),v.drawElements(u.TRIANGLES,n[1],c.UNSIGNED_INT,Uint32Array.BYTES_PER_ELEMENT*n[0]))}}else v.drawElements(u.TRIANGLES,n.fillIndexCount,c.UNSIGNED_INT,Uint32Array.BYTES_PER_ELEMENT*n.fillIndexStart);i.triangleCount+=n.fillIndexCount/3}}}_drawOutline(e,a,n,o,l,s,m){const{context:p,displayLevel:y,state:g,drawPhase:_,painter:E,pixelRatio:M,spriteMosaic:P}=e,v=n.outlineMaterial,I=E.vectorTilesMaterialManager,T=.75/M,U=_===r.HITTEST,x=this._outlineProgramOptions;x.id=U;const h=I.getMaterialProgram(p,v,x);p.useProgram(h),h.setUniformMatrix3fv(\"u_displayMat3\",s===i.VIEWPORT?g.displayMat3:g.displayViewMat3),h.setUniform2fv(\"u_fillTranslation\",l),h.setUniform1f(\"u_depth\",n.z+d),h.setUniform1f(\"u_outline_width\",T),U&&h.setUniform4fv(\"u_id\",m);let D=-1;for(const i of o){if(!i.layerData.has(a))continue;i.key.level!==D&&(D=i.key.level,v.setDataUniforms(h,y,n,D,P));const e=i.layerData.get(a);if(e.prepareForRendering(p),!e.outlineIndexCount)continue;const r=e.outlineVertexArrayObject;t(r)||(p.bindVAO(r),h.setUniformMatrix3fv(\"u_dvsMat3\",i.transforms.dvs),p.setStencilFunction(f.EQUAL,i.stencilRef,255),p.drawElements(u.TRIANGLES,e.outlineIndexCount,c.UNSIGNED_INT,Uint32Array.BYTES_PER_ELEMENT*e.outlineIndexStart),i.triangleCount+=e.outlineIndexCount/3)}}}export{m as WGLBrushVTLFill};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.23/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 a}from\"../enums.js\";import{u32to4Xu8 as r}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:p,state:d,drawPhase:g,painter:y,pixelRatio:E,spriteMosaic:v,styleLayerUID:M}=o;if(!u.some((e=>{var t,i;return null!=(t=null==(i=e.layerData.get(M))?void 0:i.lineIndexCount)&&t})))return;const _=o.styleLayer,U=_.lineMaterial,I=y.vectorTilesMaterialManager,P=_.getPaintValue(\"line-translate\",p),x=_.getPaintValue(\"line-translate-anchor\",p),T=_.getPaintProperty(\"line-pattern\"),S=void 0!==T,D=S&&T.isDataDriven;let L,N;if(S&&!D){const e=T.getValue(p);L=v.getMosaicItemPosition(e)}let V=!1;if(!S){const e=_.getPaintProperty(\"line-dasharray\");if(N=void 0!==e,V=N&&e.isDataDriven,N&&!V){const t=e.getValue(p),i=_.getDashKey(t,_.getLayoutValue(\"line-cap\",p));L=v.getMosaicItemPosition(i)}}const R=1/E,h=g===a.HITTEST,A=this._programOptions;A.id=h,A.pattern=S,A.sdf=N;const j=I.getMaterialProgram(c,U,A);if(c.useProgram(j),j.setUniformMatrix3fv(\"u_displayViewMat3\",d.displayViewMat3),j.setUniformMatrix3fv(\"u_displayMat3\",x===i.VIEWPORT?d.displayMat3:d.displayViewMat3),j.setUniform2fv(\"u_lineTranslation\",P),j.setUniform1f(\"u_depth\",_.z),j.setUniform1f(\"u_antialiasing\",R),h){const e=r(M+1);j.setUniform4fv(\"u_id\",e)}if(L&&e(L)){const{page:t}=L,i=v.getPageSize(t);e(i)&&(v.bind(c,s.LINEAR,t,n),j.setUniform2fv(\"u_mosaicSize\",i),j.setUniform1i(\"u_texture\",n))}let w=-1;for(const i of u){if(!i.layerData.has(M))continue;i.key.level!==w&&(w=i.key.level,U.setDataUniforms(j,p,_,w,v));const a=2**(p-w)/E;j.setUniform1f(\"u_zoomFactor\",a);const r=i.layerData.get(M);if(!r.lineIndexCount)continue;r.prepareForRendering(c);const o=r.lineVertexArrayObject;if(!t(o)){if(c.bindVAO(o),j.setUniformMatrix3fv(\"u_dvsMat3\",i.transforms.dvs),c.setStencilFunction(l.EQUAL,i.stencilRef,255),D||V){const t=r.patternMap;if(!t)continue;for(const[i,a]of t){const t=v.getPageSize(i);e(t)&&(v.bind(c,s.LINEAR,i,n),j.setUniform2fv(\"u_mosaicSize\",t),j.setUniform1i(\"u_texture\",n),c.drawElements(f.TRIANGLES,a[1],m.UNSIGNED_INT,Uint32Array.BYTES_PER_ELEMENT*a[0]))}}else c.drawElements(f.TRIANGLES,r.lineIndexCount,m.UNSIGNED_INT,Uint32Array.BYTES_PER_ELEMENT*r.lineIndexStart);i.triangleCount+=r.lineIndexCount/3}}}}export{u as WGLBrushVTLLine};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.23/esri/copyright.txt for details.\n*/\nimport{isNone as e}from\"../../../../../core/maybe.js\";import{c as t,f as a}from\"../../../../../chunks/vec2f32.js\";import{FADE_DURATION as i}from\"../../vectorTiles/decluttering/config.js\";import{RotationAlignment as r,SymbolPlacement as s,TranslateAnchor as n}from\"../../vectorTiles/style/StyleDefinition.js\";import{VTL_TEXTURE_BINDING_UNIT_SPRITES as o,VTL_TEXTURE_BINDING_UNIT_GLYPHS as l}from\"../definitions.js\";import{WGLDrawPhase as f}from\"../enums.js\";import{degToByte as c}from\"../GeometryUtils.js\";import{u32to4Xu8 as m}from\"../number.js\";import p from\"./WGLBrush.js\";import{TextureSamplingMode as u,CompareFunction as g,PrimitiveType as y,DataType as d}from\"../../../../webgl/enums.js\";const _=1/65536;class h extends p{constructor(){super(...arguments),this._iconProgramOptions={id:!1,sdf:!1},this._sdfProgramOptions={id:!1},this._spritesTextureSize=t()}dispose(){}drawMany(e,t){const{drawPhase:a,styleLayerUID:i}=e,r=e.styleLayer;let s;a===f.HITTEST&&(s=m(i+1)),this._drawIcons(e,r,t,s),this._drawText(e,r,t,s)}_drawIcons(t,a,l,m){const{context:p,displayLevel:u,drawPhase:g,painter:y,spriteMosaic:d,state:_,styleLayerUID:h}=t,M=a.iconMaterial,P=y.vectorTilesMaterialManager;let T,U=!1;for(const e of l)if(e.layerData.has(h)&&(T=e.layerData.get(h),T.iconPerPageElementsMap.size>0)){U=!0;break}if(!U)return;const E=a.getPaintValue(\"icon-translate\",u),x=a.getPaintValue(\"icon-translate-anchor\",u);let v=a.getLayoutValue(\"icon-rotation-alignment\",u);v===r.AUTO&&(v=a.getLayoutValue(\"symbol-placement\",u)===s.POINT?r.VIEWPORT:r.MAP);const I=v===r.MAP,S=a.getLayoutValue(\"icon-keep-upright\",u)&&I,D=T.isIconSDF,V=g===f.HITTEST,R=this._iconProgramOptions;R.id=V,R.sdf=D;const w=P.getMaterialProgram(p,M,R);p.useProgram(w),w.setUniformMatrix3fv(\"u_displayViewMat3\",v===r.MAP?_.displayViewMat3:_.displayMat3),w.setUniformMatrix3fv(\"u_displayMat3\",x===n.VIEWPORT?_.displayMat3:_.displayViewMat3),w.setUniform2fv(\"u_iconTranslation\",E),w.setUniform1f(\"u_depth\",a.z),w.setUniform1f(\"u_mapRotation\",c(_.rotation)),w.setUniform1f(\"u_keepUpright\",S?1:0),w.setUniform1f(\"u_level\",10*u),w.setUniform1i(\"u_texture\",o),w.setUniform1f(\"u_fadeDuration\",i/1e3),V&&w.setUniform4fv(\"u_id\",m);let A=-1;for(const i of l){if(!i.layerData.has(h))continue;if(i.key.level!==A&&(A=i.key.level,M.setDataUniforms(w,u,a,A,d)),T=i.layerData.get(h),0===T.iconPerPageElementsMap.size)continue;T.prepareForRendering(p),T.updateOpacityInfo();const r=T.iconVertexArrayObject;if(!e(r)){p.bindVAO(r),w.setUniformMatrix3fv(\"u_dvsMat3\",i.transforms.dvs),w.setUniform1f(\"u_time\",(performance.now()-T.lastOpacityUpdate)/1e3);for(const[e,a]of T.iconPerPageElementsMap)this._renderIconRange(t,w,a,e,i)}}}_renderIconRange(e,t,a,i,r){const{context:s,spriteMosaic:n}=e;this._spritesTextureSize[0]=n.getWidth(i)/4,this._spritesTextureSize[1]=n.getHeight(i)/4,t.setUniform2fv(\"u_mosaicSize\",this._spritesTextureSize),n.bind(s,u.LINEAR,i,o),s.setStencilTestEnabled(!0),s.setStencilFunction(g.GREATER,255,255),s.setStencilWriteMask(0),s.drawElements(y.TRIANGLES,a[1],d.UNSIGNED_INT,Uint32Array.BYTES_PER_ELEMENT*a[0]),r.triangleCount+=a[1]/3}_drawText(t,o,m,p){const{context:u,displayLevel:y,drawPhase:d,glyphMosaic:h,painter:M,pixelRatio:P,spriteMosaic:T,state:U,styleLayerUID:E}=t,x=o.textMaterial,v=M.vectorTilesMaterialManager;let I,S=!1;for(const e of m)if(e.layerData.has(E)&&(I=e.layerData.get(E),I.glyphPerPageElementsMap.size>0)){S=!0;break}if(!S)return;const D=o.getPaintProperty(\"text-opacity\");if(D&&!D.isDataDriven&&0===D.getValue(y))return;const V=o.getPaintProperty(\"text-color\"),R=!V||V.isDataDriven||V.getValue(y)[3]>0,w=o.getPaintProperty(\"text-halo-width\"),A=o.getPaintProperty(\"text-halo-color\"),L=(!w||w.isDataDriven||w.getValue(y)>0)&&(!A||A.isDataDriven||A.getValue(y)[3]>0);if(!R&&!L)return;const O=24/8;let N=o.getLayoutValue(\"text-rotation-alignment\",y);N===r.AUTO&&(N=o.getLayoutValue(\"symbol-placement\",y)===s.POINT?r.VIEWPORT:r.MAP);const b=N===r.MAP,z=o.getLayoutValue(\"text-keep-upright\",y)&&b,k=d===f.HITTEST,j=.8*O/P;this._glyphTextureSize||(this._glyphTextureSize=a(h.width/4,h.height/4));const G=o.getPaintValue(\"text-translate\",y),W=o.getPaintValue(\"text-translate-anchor\",y),F=this._sdfProgramOptions;F.id=k;const B=v.getMaterialProgram(u,x,F);u.useProgram(B),B.setUniformMatrix3fv(\"u_displayViewMat3\",N===r.MAP?U.displayViewMat3:U.displayMat3),B.setUniformMatrix3fv(\"u_displayMat3\",W===n.VIEWPORT?U.displayMat3:U.displayViewMat3),B.setUniform2fv(\"u_textTranslation\",G),B.setUniform1f(\"u_depth\",o.z+_),B.setUniform2fv(\"u_mosaicSize\",this._glyphTextureSize),B.setUniform1f(\"u_mapRotation\",c(U.rotation)),B.setUniform1f(\"u_keepUpright\",z?1:0),B.setUniform1f(\"u_level\",10*y),B.setUniform1i(\"u_texture\",l),B.setUniform1f(\"u_antialiasingWidth\",j),B.setUniform1f(\"u_fadeDuration\",i/1e3),k&&B.setUniform4fv(\"u_id\",p);let H=-1;for(const a of m){if(!a.layerData.has(E))continue;if(a.key.level!==H&&(H=a.key.level,x.setDataUniforms(B,y,o,H,T)),I=a.layerData.get(E),0===I.glyphPerPageElementsMap.size)continue;I.prepareForRendering(u),I.updateOpacityInfo();const t=I.textVertexArrayObject;if(e(t))continue;u.bindVAO(t),B.setUniformMatrix3fv(\"u_dvsMat3\",a.transforms.dvs),u.setStencilTestEnabled(!0),u.setStencilFunction(g.GREATER,255,255),u.setStencilWriteMask(0);const i=(performance.now()-I.lastOpacityUpdate)/1e3;B.setUniform1f(\"u_time\",i),I.glyphPerPageElementsMap.forEach(((e,t)=>{this._renderGlyphRange(u,e,t,h,B,L,R,a)}))}}_renderGlyphRange(e,t,a,i,r,s,n,o){i.bind(e,u.LINEAR,a,l),s&&(r.setUniform1f(\"u_halo\",1),e.drawElements(y.TRIANGLES,t[1],d.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],d.UNSIGNED_INT,Uint32Array.BYTES_PER_ELEMENT*t[0]),o.triangleCount+=t[1]/3)}}export{h as WGLBrushVTLSymbol};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.23/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}from\"../definitions.js\";import n from\"./WGLBrush.js\";import{BlendFactor as v,CompareFunction as u,DataType as f}from\"../../../../webgl/enums.js\";class m extends n{constructor(){super(...arguments),this._computeDesc=new Map}prepareState({context:t},e,i){const s=i&&-1!==i.indexOf(\"hittest\");t.setBlendingEnabled(!s),t.setBlendFunctionSeparate(v.ONE,v.ONE_MINUS_SRC_ALPHA,v.ONE,v.ONE_MINUS_SRC_ALPHA),t.setColorMask(!0,!0,!0,!0),t.setStencilWriteMask(0),t.setStencilTestEnabled(!0),t.setStencilFunction(u.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=>this.drawGeometry(e,i,t,s))))}_setSharedUniforms(t,n,v){const{displayLevel:u,pixelRatio:f,state:m,passOptions:l}=n;e(l)&&\"hittest\"===l.type&&(t.setUniform2fv(\"u_hittestPos\",l.position),t.setUniform1f(\"u_hittestDist\",l.distance)),t.setUniform1f(\"u_pixelRatio\",f),t.setUniformMatrix3fv(\"u_tileMat3\",v.transforms.tileMat3),t.setUniformMatrix3fv(\"u_viewMat3\",m.viewMat3),t.setUniformMatrix3fv(\"u_dvsMat3\",v.transforms.dvs),t.setUniformMatrix3fv(\"u_displayViewMat3\",m.displayViewMat3),t.setUniform1f(\"u_currentZoom\",Math.round(u*i)),t.setUniform1i(\"u_attributeTextureSize\",n.attributeView.size),t.setUniform1i(\"u_attributeData0\",s),t.setUniform1i(\"u_attributeData1\",o),t.setUniform1i(\"u_attributeData2\",a),t.setUniform1i(\"u_attributeData3\",r)}_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){let i=this._computeDesc.get(t);if(!i){const s=e.strides,o=e.strides.geometry,a=new Map(e.attributes),r=e.bufferLayouts.geometry.map((t=>({...t}))),n=Math.max(...e.attributes.values()),v={geometry:r};v.geometry.push({count:2,name:\"a_pos1\",divisor:0,normalized:!1,offset:o,stride:o,type:f.SHORT}),v.geometry.push({count:2,name:\"a_pos2\",divisor:0,normalized:!1,offset:2*o,stride:o,type:f.SHORT}),a.set(\"a_pos1\",n+1),a.set(\"a_pos2\",n+2),i={bufferLayouts:v,attributes:a,strides:s},this._computeDesc.set(t,i)}return i}}export{m as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.23/esri/copyright.txt for details.\n*/\nimport{disposeMaybe as t,isSome as e,isNone as o}from\"../../../../../core/maybe.js\";import r from\"../../../../../core/RandomLCG.js\";import{TEXTURE_BINDING_RENDERER_0 as i,TEXTURE_BINDING_RENDERER_1 as s,TILE_SIZE as a}from\"../definitions.js\";import{WGLGeometryType as n}from\"../enums.js\";import{createProgramDescriptor as d}from\"../Utils.js\";import l from\"./WGLGeometryBrush.js\";import{FillMaterialKey as m}from\"../materialKey/MaterialKey.js\";import{BufferObject as _}from\"../../../../webgl/BufferObject.js\";import{PrimitiveType as u,DataType as c,TextureType as f,PixelFormat as h,PixelType as T,TextureSamplingMode as p,TextureWrapMode as y,TargetType as x,DepthStencilTargetType as D,RenderbufferFormat as g,Usage as E}from\"../../../../webgl/enums.js\";import{FramebufferObject as S}from\"../../../../webgl/FramebufferObject.js\";import{Renderbuffer as w}from\"../../../../webgl/Renderbuffer.js\";import{Texture as U}from\"../../../../webgl/Texture.js\";import{VertexArrayObject as O}from\"../../../../webgl/VertexArrayObject.js\";const b=t=>{const e={geometry:[{location:0,name:\"a_pos\",count:2,type:c.SHORT},{location:1,name:\"a_id\",count:3,type:c.UNSIGNED_BYTE},{location:2,name:\"a_bitset\",count:1,type:c.UNSIGNED_BYTE}]};return t.dotDensity?(e.geometry.push({location:3,name:\"a_inverseArea\",count:1,type:c.FLOAT}),d(t.data,e)):(e.geometry.push({location:3,name:\"a_color\",count:4,type:c.UNSIGNED_BYTE,normalized:!0}),t.simple||e.geometry.push({location:4,name:\"a_aux1\",count:4,type:c.UNSIGNED_SHORT}),e.geometry.push({location:5,name:\"a_aux2\",count:4,type:c.UNSIGNED_BYTE},{location:6,name:\"a_aux3\",count:4,type:c.UNSIGNED_BYTE}),t.simple||e.geometry.push({location:7,name:\"a_zoomRange\",count:2,type:c.UNSIGNED_SHORT}),d(t.data,e))};class N extends l{constructor(){super(...arguments),this._dotTextureSize=0,this._dotTextures=null,this._dotSamplers=new Int32Array([i,s]),this._dotVAO=null,this._dotDesc={vsPath:\"dot/dot\",fsPath:\"dot/dot\",attributes:new Map([[\"a_pos\",0]])}}dispose(){this._disposeTextures(),this._dotFBO=t(this._dotFBO),this._dotVAO=t(this._dotVAO)}getGeometryType(){return n.FILL}drawGeometry(t,o,r,i){const{context:s,painter:a,rendererInfo:n,requiredLevel:d,passOptions:l}=t,_=m.load(r.materialKey),f=a.materialManager;let h=u.TRIANGLES,T=b(_);e(l)&&\"hittest\"===l.type&&(T=this._getTriangleDesc(r.materialKey,T),h=u.POINTS);const{attributes:p,bufferLayouts:y}=T,x=f.getMaterialProgram(t,_,\"materials/fill\",p,i);if(s.useProgram(x),this._setSharedUniforms(x,t,o),x.setUniform2f(\"u_tileOffset\",512*o.key.col,512*o.key.row),_.textureBinding){a.textureManager.bindTextures(s,x,_);const e=1/2**(d-o.key.level)/t.pixelRatio;x.setUniform1f(\"u_zoomFactor\",e)}const D=1/t.pixelRatio;x.setUniform1f(\"u_blur\",D),x.setUniform1f(\"u_antialiasing\",D),this._setSizeVVUniforms(_,x,n,o),this._setColorAndOpacityVVUniforms(_,x,n);const g=e(l)&&\"hittest\"===l.type,E=r.target.getVAO(s,y,p,g);let S=r.indexCount,w=r.indexFrom*Uint32Array.BYTES_PER_ELEMENT;if(g&&(S/=3,w/=3),s.bindVAO(E),!_.dotDensity||g)s.drawElements(h,S,c.UNSIGNED_INT,w);else{const e=this._drawDotLocations(t,o,x,S,w);this._drawDotDensity(t,o,e)}}_drawDotDensity(t,e,o){const{context:r,painter:i,rendererInfo:s}=t,a=i.materialManager.getProgram(t,this._dotDesc),n=this._createDotDensityMesh(r,this._dotDesc.attributes,{geometry:[{name:\"a_pos\",count:2,type:c.SHORT,divisor:0,normalized:!1,offset:0,stride:4}]});r.setStencilTestEnabled(!0),r.useProgram(a),a.setUniform1f(\"u_tileZoomFactor\",1),a.setUniform1i(\"u_texture\",this._dotSamplers[0]),a.setUniform1f(\"u_dotSize\",Math.max(s.ddDotSize,1)),a.setUniform1f(\"u_pixelRatio\",window.devicePixelRatio),this._setSharedUniforms(a,t,e),r.bindTexture(o,this._dotSamplers[0]),r.bindVAO(n),r.drawArrays(u.POINTS,0,262144)}_drawDotLocations(t,e,o,r,i){const{context:s,rendererInfo:n,requiredLevel:d}=t,l=s.getViewport();s.setViewport(0,0,512,512);const m=s.getBoundFramebufferObject(),_=this._createFBO(s);s.bindFramebuffer(_),s.setClearColor(0,0,0,0),s.clear(s.gl.COLOR_BUFFER_BIT|s.gl.STENCIL_BUFFER_BIT),s.setStencilTestEnabled(!1);const f=1/2**(d-e.key.level),h=a,T=h*window.devicePixelRatio*h*window.devicePixelRatio,p=1/f*(1/f),y=n.ddDotScale?t.state.scale/n.ddDotScale:1;return o.setUniform1f(\"u_tileZoomFactor\",f),o.setUniform1f(\"u_tileDotsOverArea\",T/(a*window.devicePixelRatio*a*window.devicePixelRatio)),o.setUniformMatrix4fv(\"u_dotColors\",n.ddColors),o.setUniform4fv(\"u_isActive\",n.ddActiveDots),o.setUniform4fv(\"u_dotBackgroundColor\",n.ddBackgroundColor),o.setUniform1f(\"u_dotValue\",Math.max(1,n.ddDotValue*y*p)),this._bindDotDensityTextures(s,o,n,h),s.drawElements(u.TRIANGLES,r,c.UNSIGNED_INT,i),s.setViewport(l.x,l.y,l.width,l.height),s.bindFramebuffer(m),_.colorTexture}_createFBO(t){if(o(this._dotFBO)){const e=512,o=512,r={target:f.TEXTURE_2D,pixelFormat:h.RGBA,dataType:T.UNSIGNED_BYTE,samplingMode:p.NEAREST,wrapMode:y.CLAMP_TO_EDGE,width:e,height:o},i={colorTarget:x.TEXTURE,depthStencilTarget:D.DEPTH_STENCIL_RENDER_BUFFER},s=new w(t,{width:e,height:o,internalFormat:g.DEPTH_STENCIL});this._dotFBO=new S(t,i,r,s)}return this._dotFBO}_disposeTextures(){if(this._dotTextures){for(let t=0;tt(e.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_texAndSize\",count:4,type:n.UNSIGNED_BYTE},{location:5,name:\"a_refSymbolAndPlacementOffset\",count:4,type:n.UNSIGNED_BYTE},{location:6,name:\"a_glyphData\",count:4,type:n.UNSIGNED_BYTE},{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.LABEL}drawGeometry(e,t,a,m){const{context:l,painter:c,state:f,rendererInfo:u}=e,d=o.load(a.materialKey),_=d.mapAligned?1:0;if(!_&&Math.abs(t.key.level-Math.round(100*e.displayLevel)/100)>=1)return;const{bufferLayouts:p,attributes:E}=s(d),y=c.materialManager.getMaterialProgram(e,d,\"materials/label\",E,m);e.context.setStencilFunction(r.EQUAL,0,255),l.useProgram(y),this._setSharedUniforms(y,e,t),c.textureManager.bindTextures(l,y,d);const N=1===_?f.displayViewMat3:f.displayMat3;this._setSizeVVUniforms(d,y,u,t),y.setUniform1f(\"u_mapRotation\",Math.floor(f.rotation/360*254)),y.setUniform1f(\"u_mapAligned\",_),y.setUniformMatrix3fv(\"u_displayMat3\",N),y.setUniform1f(\"u_opacity\",1),y.setUniform2fv(\"u_screenSize\",e.state.size),y.setUniform1f(\"u_isHalo\",1);const S=a.target.getVAO(l,p,E),U=a.indexFrom*Uint32Array.BYTES_PER_ELEMENT;l.bindVAO(S),l.drawElements(i.TRIANGLES,a.indexCount,n.UNSIGNED_INT,U),y.setUniform1f(\"u_isHalo\",0),l.drawElements(i.TRIANGLES,a.indexCount,n.UNSIGNED_INT,U),l.setStencilTestEnabled(!0),l.setBlendingEnabled(!0)}}export{m as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.23/esri/copyright.txt for details.\n*/\nimport{isSome as t}from\"../../../../../core/maybe.js\";import{WGLGeometryType as e}from\"../enums.js\";import{createProgramDescriptor as a}from\"../Utils.js\";import o from\"./WGLGeometryBrush.js\";import{LineMaterialKey as n}from\"../materialKey/MaterialKey.js\";import{DataType as i,PrimitiveType as r}from\"../../../../webgl/enums.js\";const s=t=>a(t.data,{geometry:[{location:0,name:\"a_pos\",count:2,type:i.SHORT},{location:1,name:\"a_id\",count:4,type:i.UNSIGNED_BYTE},{location:2,name:\"a_color\",count:4,type:i.UNSIGNED_BYTE,normalized:!0},{location:3,name:\"a_offsetAndNormal\",count:4,type:i.BYTE},{location:4,name:\"a_accumulatedDistanceAndHalfWidth\",count:2,type:i.UNSIGNED_SHORT},{location:5,name:\"a_tlbr\",count:4,type:i.UNSIGNED_SHORT},{location:6,name:\"a_segmentDirection\",count:4,type:i.BYTE},{location:7,name:\"a_aux\",count:2,type:i.UNSIGNED_SHORT},{location:8,name:\"a_zoomRange\",count:2,type:i.UNSIGNED_SHORT}]});class m extends o{dispose(){}getGeometryType(){return e.LINE}drawGeometry(e,a,o,m){const{context:l,painter:c,rendererInfo:u,displayLevel:p,passOptions:y}=e,_=n.load(o.materialKey);let d=s(_),f=r.TRIANGLES;t(y)&&\"hittest\"===y.type&&(d=this._getTriangleDesc(o.materialKey,d),f=r.POINTS);const{attributes:E,bufferLayouts:N}=d,g=c.materialManager.getMaterialProgram(e,_,\"materials/line\",E,m),S=1/e.pixelRatio,T=0;l.useProgram(g),this._setSharedUniforms(g,e,a),_.textureBinding&&c.textureManager.bindTextures(l,g,_);const U=2**(p-a.key.level)/e.pixelRatio;g.setUniform1f(\"u_zoomFactor\",U),g.setUniform1f(\"u_blur\",T+S),g.setUniform1f(\"u_antialiasing\",S),this._setSizeVVUniforms(_,g,u,a),this._setColorAndOpacityVVUniforms(_,g,u),l.setFaceCullingEnabled(!1);const G=t(y)&&\"hittest\"===y.type,I=o.target.getVAO(l,N,E,G);let x=o.indexCount,D=o.indexFrom*Uint32Array.BYTES_PER_ELEMENT;G&&(x/=3,D/=3),l.bindVAO(I),l.drawElements(f,x,i.UNSIGNED_INT,D)}}export{m as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.23/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{MarkerMaterialKey as n}from\"../materialKey/MaterialKey.js\";import{DataType as i,PrimitiveType as r}from\"../../../../webgl/enums.js\";const s=t=>o(t.data,{geometry:[{location:0,name:\"a_pos\",count:2,type:i.SHORT},{location:1,name:\"a_vertexOffset\",count:2,type:i.SHORT},{location:2,name:\"a_texCoords\",count:2,type:i.UNSIGNED_SHORT},{location:3,name:\"a_bitSetAndDistRatio\",count:2,type:i.UNSIGNED_SHORT},{location:4,name:\"a_id\",count:4,type:i.UNSIGNED_BYTE},{location:5,name:\"a_color\",count:4,type:i.UNSIGNED_BYTE,normalized:!0},{location:6,name:\"a_outlineColor\",count:4,type:i.UNSIGNED_BYTE,normalized:!0},{location:7,name:\"a_sizeAndOutlineWidth\",count:4,type:i.UNSIGNED_BYTE},{location:8,name:\"a_zoomRange\",count:2,type:i.UNSIGNED_SHORT}]});class m extends a{dispose(){}getGeometryType(){return e.MARKER}drawGeometry(e,o,a,m){const{context:l,painter:c,rendererInfo:p,state:d,passOptions:u}=e,y=n.load(a.materialKey),{bufferLayouts:_,attributes:E}=s(y),N=c.materialManager.getMaterialProgram(e,y,\"materials/icon\",E,m);l.useProgram(N),y.textureBinding&&c.textureManager.bindTextures(l,N,y,!0);let S=r.TRIANGLES;t(u)&&\"hittest\"===u.type&&(S=r.POINTS),this._setSharedUniforms(N,e,o);const f=y.vvRotation?d.displayViewMat3:d.displayMat3;N.setUniformMatrix3fv(\"u_displayMat3\",f),this._setSizeVVUniforms(y,N,p,o),this._setColorAndOpacityVVUniforms(y,N,p),this._setRotationVVUniforms(y,N,p);const T=a.target.getVAO(l,_,E),U=a.indexFrom*Uint32Array.BYTES_PER_ELEMENT;l.bindVAO(T),l.drawElements(S,a.indexCount,i.UNSIGNED_INT,U)}}export{m as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.23/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}drawGeometry(e,o,a,m){const{context:l,painter:p,rendererInfo:u,state:_,passOptions:c}=e,y=r.load(a.materialKey),{bufferLayouts:d,attributes:f}=s(y),E=p.materialManager.getMaterialProgram(e,y,\"materials/text\",f,m);l.useProgram(E);let N=i.TRIANGLES;t(c)&&\"hittest\"===c.type&&(N=i.POINTS),this._setSharedUniforms(E,e,o),p.textureManager.bindTextures(l,E,y),E.setUniformMatrix3fv(\"u_displayMat3\",_.displayMat3),E.setUniformMatrix3fv(\"u_displayViewMat3\",_.displayViewMat3),this._setSizeVVUniforms(y,E,u,o),this._setColorAndOpacityVVUniforms(y,E,u),this._setRotationVVUniforms(y,E,u),E.setUniform1f(\"u_isHalo\",1);const T=a.target.getVAO(l,d,f),S=a.indexFrom*Uint32Array.BYTES_PER_ELEMENT;l.bindVAO(T),l.drawElements(i.TRIANGLES,a.indexCount,n.UNSIGNED_INT,S),E.setUniform1f(\"u_isHalo\",0),l.drawElements(N,a.indexCount,n.UNSIGNED_INT,S)}}export{m as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.23/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 l from\"./webgl/brushes/BrushBitmap.js\";import o from\"./webgl/brushes/BrushClip.js\";import m from\"./webgl/brushes/WGLBrushInfo.js\";import t from\"./webgl/brushes/WGLBrushStencil.js\";import{WGLBrushVTLBackground as i}from\"./webgl/brushes/WGLBrushVTLBackground.js\";import{WGLBrushVTLCircle as b}from\"./webgl/brushes/WGLBrushVTLCircle.js\";import{WGLBrushVTLFill as u}from\"./webgl/brushes/WGLBrushVTLFill.js\";import{WGLBrushVTLLine as h}from\"./webgl/brushes/WGLBrushVTLLine.js\";import{WGLBrushVTLSymbol as p}from\"./webgl/brushes/WGLBrushVTLSymbol.js\";import f from\"./webgl/brushes/WGLGeometryBrushFill.js\";import B from\"./webgl/brushes/WGLGeometryBrushLabel.js\";import L from\"./webgl/brushes/WGLGeometryBrushLine.js\";import g from\"./webgl/brushes/WGLGeometryBrushMarker.js\";import j from\"./webgl/brushes/WGLGeometryBrushText.js\";const w={marker:g,line:L,fill:f,text:j,label:B,clip:o,stencil:t,bitmap:l,raster:s,rasterVF:e,flow:r,tileInfo:m,vtlBackground:i,vtlFill:u,vtlLine:h,vtlCircle:b,vtlSymbol:p},G={vtlBackground:i,vtlFill:u,vtlLine:h,vtlCircle:b,vtlSymbol:p};export{w as brushes,G as vtlBrushes};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.23/esri/copyright.txt for details.\n*/\nimport{isNone as e}from\"../../../../core/maybe.js\";import a from\"../webgl/brushes/WGLBrush.js\";import{BlendFactor as t,StencilOperation as r,CompareFunction as s,PrimitiveType as o,DataType as n}from\"../../../webgl/enums.js\";const i=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]),l={beaufort_ft:i,beaufort_m:i,beaufort_km:i,beaufort_mi:i,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 c 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},a){e.setBlendingEnabled(!0),e.setBlendFunctionSeparate(t.ONE,t.ONE_MINUS_SRC_ALPHA,t.ONE,t.ONE_MINUS_SRC_ALPHA),e.setColorMask(!0,!0,!0,!0),e.setStencilWriteMask(0),e.setStencilTestEnabled(!0),e.setStencilOp(r.KEEP,r.KEEP,r.REPLACE),e.setStencilFunction(s.EQUAL,a.stencilRef,255)}draw(a,t){if(e(t.source)||0===t.source.validPixelCount)return;const{timeline:r}=a;if(r.begin(this.name),t.updateVectorFieldVAO(a),\"scalar\"===a.renderPass){const e=t.vaoData.scalar;e&&this._drawScalars(a,t,e.vao,e.elementCount)}else{const e=t.vaoData.magdir;e&&this._drawTriangles(a,t,e.vao,e.elementCount)}r.end(this.name)}_drawTriangles(e,a,t,r){const{context:s,painter:i}=e,{symbolizerParameters:c}=a,m=c.dataRange?[\"dataRange\"]:[];\"geographic\"===c.rotationType&&m.push(\"rotationGeographic\");const d=i.materialManager.getProgram(e,this._desc.magdir,m);s.useProgram(d);const{coordScale:f,opacity:_,transforms:u}=a;d.setUniform2fv(\"u_coordScale\",f),d.setUniform1f(\"u_opacity\",_),d.setUniformMatrix3fv(\"u_dvsMat3\",u.dvs);const{style:g,dataRange:p,rotation:y,symbolPercentRange:b}=c;d.setUniform4fv(\"u_colors\",l[g]||l.single_arrow),d.setUniform2fv(\"u_dataRange\",p),d.setUniform1f(\"u_rotation\",y),d.setUniform2fv(\"u_symbolPercentRange\",b);const S=this._getSymbolSize(e,a);d.setUniform2fv(\"u_symbolSize\",S),s.bindVAO(t),s.drawElements(o.TRIANGLES,r,n.UNSIGNED_INT,0)}_drawScalars(e,a,t,r){const{context:s,painter:i}=e,{symbolizerParameters:l}=a,c=[];\"wind_speed\"===l.style?c.push(\"innerCircle\"):l.dataRange&&c.push(\"dataRange\"),\"geographic\"===l.rotationType&&c.push(\"rotationGeographic\");const m=i.materialManager.getProgram(e,this._desc.scalar,c);s.useProgram(m);const{coordScale:d,opacity:f,transforms:_}=a;m.setUniform2fv(\"u_coordScale\",d),m.setUniform1f(\"u_opacity\",f),m.setUniformMatrix3fv(\"u_dvsMat3\",_.dvs);const{dataRange:u,symbolPercentRange:g}=l;m.setUniform2fv(\"u_dataRange\",u),m.setUniform2fv(\"u_symbolPercentRange\",g);const p=this._getSymbolSize(e,a);m.setUniform2fv(\"u_symbolSize\",p),s.bindVAO(t),s.drawElements(o.TRIANGLES,r,n.UNSIGNED_INT,0)}_getSymbolSize(e,a){const t=a.key?2**(e.displayLevel-a.key.level):a.resolution/e.state.resolution,{symbolTileSize:r}=a.symbolizerParameters;return[r/(Math.round((a.width-a.offset[0])/r)*r)/t,r/(Math.round((a.height-a.offset[1])/r)*r)/t]}}export{c as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.23/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 r from\"../../core/Logger.js\";import{isNone as l}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=r.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\"].indexOf(e)>-1?e=\"u8\":-1===[\"unknown\",\"u8\",\"s8\",\"u16\",\"s16\",\"u32\",\"s32\",\"f32\",\"f64\"].indexOf(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?(l=i[1],a=i[2]):2===i.length&&(l=i[1]);const h=new Uint32Array(t),n=this.width*this.height;if(r.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))),l=255/o;else{let t=255;\"s8\"===r?(a=-128,t=127):\"u16\"===r?t=65535:\"s16\"===r?(a=-32768,t=32767):\"u32\"===r?t=4294967295:\"s32\"===r?(a=-2147483648,t=2147483647):\"f32\"===r?(a=-34e38,t=34e38):\"f64\"===r&&(a=-Number.MAX_VALUE,t=Number.MAX_VALUE),l=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?(r=e[1],l=e[2]):2===e.length&&(r=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(l=0;li?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.23/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,a){const e=new Float32Array(4);return e[0]=n,e[1]=t,e[2]=r,e[3]=a,e}function a(n,t){return new Float32Array(n,t,4)}function e(){return n()}function u(){return r(1,1,1,1)}function o(){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=e(),l=u(),_=o(),w=s(),N=c(),U=i(),y=Object.freeze({__proto__:null,create:n,clone:t,fromValues:r,createView:a,zeros:e,ones:u,unitX:o,unitY:s,unitZ:c,unitW:i,ZEROS:f,ONES:l,UNIT_X:_,UNIT_Y:w,UNIT_Z:N,UNIT_W:U});export{l as O,_ as U,f as Z,t as a,a as b,n as c,s as d,c as e,r as f,i as g,w as h,N as i,U as j,u as o,o as u,y as v,e as z};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.23/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.23/esri/copyright.txt for details.\n*/\nimport{f as t}from\"../../../../../chunks/vec4f32.js\";import{Pos2b as e}from\"../DefaultVertexAttributeLayouts.js\";import r from\"./WGLBrush.js\";import{background as i}from\"../shaders/BackgroundPrograms.js\";import{tileInfo as s}from\"../shaders/TileInfoPrograms.js\";import{BufferObject as o}from\"../../../../webgl/BufferObject.js\";import{BlendFactor as n,PrimitiveType as a,Usage as l,TextureType as u,PixelFormat as _,PixelType as m,TextureSamplingMode as f,TextureWrapMode as c}from\"../../../../webgl/enums.js\";import{createProgram as h}from\"../../../../webgl/ProgramTemplate.js\";import{Texture as g}from\"../../../../webgl/Texture.js\";import{VertexArrayObject as d}from\"../../../../webgl/VertexArrayObject.js\";const A=300,b=32;class p extends r{constructor(){super(...arguments),this._color=t(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(n.ONE,n.ONE_MINUS_SRC_ALPHA,n.ONE,n.ONE_MINUS_SRC_ALPHA),t.setColorMask(!0,!0,!0,!0),t.setStencilWriteMask(0),t.setStencilTestEnabled(!1)}draw(t,e){const{context:r}=t;if(!e.isReady)return;this._loadWGLResources(r),r.bindVAO(this._outlineVertexArrayObject),r.useProgram(this._outlineProgram),this._outlineProgram.setUniformMatrix3fv(\"u_dvsMat3\",e.transforms.dvs),this._outlineProgram.setUniform2f(\"u_coord_range\",e.rangeX,e.rangeY),this._outlineProgram.setUniform1f(\"u_depth\",0),this._outlineProgram.setUniform4fv(\"u_color\",this._color),r.drawArrays(a.LINE_STRIP,0,4);const i=this._getTexture(r,e);i?(r.bindVAO(this._tileInfoVertexArrayObject),r.useProgram(this._tileInfoProgram),r.bindTexture(i,0),this._tileInfoProgram.setUniformMatrix3fv(\"u_dvsMat3\",e.transforms.dvs),this._tileInfoProgram.setUniform1f(\"u_depth\",0),this._tileInfoProgram.setUniform2f(\"u_coord_ratio\",e.rangeX/e.width,e.rangeY/e.height),this._tileInfoProgram.setUniform2f(\"u_delta\",8,8),this._tileInfoProgram.setUniform2f(\"u_dimensions\",i.descriptor.width,i.descriptor.height),r.drawArrays(a.TRIANGLE_STRIP,0,4),r.bindVAO()):r.bindVAO()}_loadWGLResources(t){if(this._outlineProgram&&this._tileInfoProgram)return;const r=h(t,i),n=h(t,s),a=new Int8Array([0,0,1,0,1,1,0,1]),u=o.createVertex(t,l.STATIC_DRAW,a),_=new d(t,i.attributes,e,{geometry:u}),m=new Int8Array([0,0,1,0,0,1,1,1]),f=o.createVertex(t,l.STATIC_DRAW,m),c=new d(t,s.attributes,e,{geometry:f});this._outlineProgram=r,this._tileInfoProgram=n,this._outlineVertexArrayObject=_,this._tileInfoVertexArrayObject=c}_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 s=this._canvas,o=s.getContext(\"2d\");return o.font=\"24px sans-serif\",o.textAlign=\"left\",o.textBaseline=\"top\",o.clearRect(0,0,A,b),r>1e5?(o.fillStyle=\"red\",o.fillRect(0,0,A,b),o.fillStyle=\"black\"):(o.clearRect(0,0,A,b),o.fillStyle=\"blue\"),o.fillText(i,0,0),e.texture=new g(t,{target:u.TEXTURE_2D,pixelFormat:_.RGBA,dataType:m.UNSIGNED_BYTE,samplingMode:f.NEAREST,wrapMode:c.CLAMP_TO_EDGE},s),e.texture}}export{p as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.23/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._vao.bind()}unbind(){this._vao.unbind()}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.23/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.23/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 s}from\"../../../../chunks/earcut.js\";import{s as o}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,s)=>{let o=0;for(let n=1;n0:o<0},l=({coords:e,lengths:t},r)=>{const o=[];for(let n=0,i=0;n({...r,[s]:h.createVertex(e,t,this.vertices[s])})),{})),this._cache.vertexBuffers}}export{w as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.23/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{c as i}from\"../../../../chunks/mat3f32.js\";import{DisplayObject as o}from\"../DisplayObject.js\";import h from\"./Mesh2D.js\";import{VertexArrayObject as a}from\"../../../webgl/VertexArrayObject.js\";const c=e.getLogger(\"esri.views.2d.engine.webgl.ClippingInfo\"),n=t=>parseFloat(t)/100;class m extends o{constructor(t,e){super(),this._clip=e,this._cache={},this.stage=t,this._handle=e.watch(\"version\",(()=>this._invalidate())),this.ready()}static fromClipArea(t,e){return new m(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 a(t,r,i,h,o)}return this._cache.vao}_createTransforms(){return{dvs:i()}}_invalidate(){this._destroyGL(),this.requestRender()}_createScreenRect(t,e){const[r,s]=t.size,i=\"string\"==typeof e.left?n(e.left)*r:e.left,o=\"string\"==typeof e.right?n(e.right)*r:e.right,h=\"string\"==typeof e.top?n(e.top)*s:e.top,a=\"string\"==typeof e.bottom?n(e.bottom)*s:e.bottom,c=i,m=h;return{x:c,y:m,width:Math.max(r-o-c,0),height:Math.max(s-a-m,0)}}_createMesh(e,r){switch(r.type){case\"rect\":return h.fromRect(this._createScreenRect(e,r));case\"path\":return h.fromPath(r);case\"geometry\":return h.fromGeometry(e,r);default:return c.error(new t(\"mapview-bad-type\",\"Unable to create ClippingInfo mesh from clip of type: ${clip.type}\")),h.fromRect({x:0,y:0,width:1,height:1})}}}export{m as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.23/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.23/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(null==e||!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,f=0;const h=5===n[0].length;if(l>65536)return n.forEach((t=>{r[t[0]-i]=h?t.slice(1):t.slice(1).concat([255])})),{indexed2DColormap:r,offset:i,alphaSpecified:h};if(t.fillUnspecified)for(s=n[f],a=s[0]-i;ac?o[u]=0:(p[u]=s[y],m[u]=s[y+1],d[u]=s[y+2],o[u]=s[y+3]));else{for(o=new Uint8Array(r),u=0;uc?o[u]=0:(p[u]=s[y],m[u]=s[y+1],d[u]=s[y+2],o[u]=s[y+3]);n.mask=o}else if(o)for(u=0;u-1&&(u=65536);const x=[],p=[],m=r-o;for(a=0;a=s,g=[];if(d)for(a=0;a1?i[a]>2?g[a]=6.5+(i[a]-2)**2.5:g[a]=6.5+100*(2-i[a])**4:g[a]=1;let y;const w=[];let M,k,A;if(d)for(a=0;a1&&(k-=(1/m)**(y*g[a])),Me[a]?A[f]=Math.floor(k*m*y**(1/i[a]))+o:M>=n[a]?A[f]=r:A[f]=o;w[a]=A}else for(a=0;a=n[a]?A[f]=r:A[f]=Math.floor((M-e[a])/p[a]*m)+o;w[a]=A}if(null!=t.contrastOffset){const e=h(t.contrastOffset,t.brightnessOffset);for(a=0;a0&&n<100?s=(200*r-100*l+2*l*i)/(2*(100-n))+o:n<=0&&n>-100?s=(200*r-100*l+2*l*i)*(100+n)/2e4+o:100===n?(s=200*r-100*l+(l+1)*(100-n)+2*l*i,s=s>0?l:0):-100===n&&(s=o),a[r]=s>l?l:s<0?0:s;return a}function c(t,e=256){e=Math.min(e,256);const{size:n,counts:i}=t,l=new Uint8Array(n),o=i.reduce(((t,n)=>t+n/e),0);let r=0,s=0,a=0,f=o;for(let h=0;h=u,A=[];if(k)for(x=0;x1?a[x]>2?A[x]=6.5+(a[x]-2)**2.5:A[x]=6.5+100*(2-a[x])**4:A[x]=1;if(k)if(null!=o){for(p=0;p1&&(d-=(1/y)**(g*A[x])),mr[x]?l[x][p]=Math.floor(d*y*g**(1/a[x]))+f:m>=s[x]?l[x][p]=h:l[x][p]=f}else for(p=0;p1&&(d-=(1/y)**(g*A[x])),mr[x]?l[x][p]=Math.floor(d*y*g**(1/a[x]))+f:m>=s[x]?l[x][p]=h:l[x][p]=f;else if(null!=o){for(p=0;pr[x]?l[x][p]=Math.floor((m-r[x])/M[x]*y)+f:m>=s[x]?l[x][p]=h:l[x][p]=f}else for(p=0;pr[x]?l[x][p]=Math.floor((m-r[x])/M[x]*y)+f:m>=s[x]?l[x][p]=h:l[x][p]=f;return n.pixelType=\"u8\",n.updateStatistics(),n}function x(t,e){if(!i(t))return null;const{pixels:l,mask:o}=t,r=t.width*t.height,s=l.length;let a=e.lut;const{offset:f}=e;let h,c;a&&1===a[0].length&&(a=l.map((()=>a)));const u=[];let x,p,m;if(f)if(null==o)for(h=0;h1;){if(h===c.value){d=!0;break}h>c.value?u=m:x=m,m=Math.floor((u+x)/2),c=e[Math.floor(m)]}d||(h===e[u].value?(c=e[u],d=!0):h===e[x].value?(c=e[x],d=!0):he[u].value&&(ht.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))),f=Math.min.apply(null,s.map((t=>t.extent.ymin))),h=Math.max.apply(null,s.map((t=>t.extent.xmax))),c=Math.max.apply(null,s.map((t=>t.extent.ymax))),u={x:Math.round((n.xmin-a)/l),y:Math.round((c-n.ymax)/o)},x={width:Math.round((h-a)/l),height:Math.round((c-f)/o)},p={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||u.x<0||u.y<0||x.widtht.pixelBlock)),x,{clipOffset:u,clipSize:p})}}function g(t,e,n,i,l,o){const{width:r,height:s}=n.block,{x:a,y:f}=n.offset,{width:h,height:c}=n.mosaic,u=m(r,s,i,l,a,f,h,c);let x=0,p=0;if(o){const t=o.hasGCSSShiftTransform?360:o.halfWorldWidth,e=r*o.resolutionX,n=o.startX+i*e,l=n+e;nt?p=o.rightPadding:n>=t&&(x=o.leftMargin-o.rightPadding,p=0)}if(u.xmax-=p,\"number\"!=typeof e)for(let m=u.ymin;mi(t)));if(e(c))return null;const u=a?a.width:o.width,x=a?a.height:o.height,p=c.width,m=c.height,d=o.width/p,y=o.height/m,M={offset:s||{x:0,y:0},mosaic:a||o,block:{width:p,height:m}},k=c.pixelType,A=n.getPixelArrayConstructor(k),U=c.pixels.length,C=[];let T,S;for(let t=0;te(t)||t.mask&&t.mask.length>0))){v=new Uint8Array(u*x);for(let e=0;et(e)));if(!t(r))return null;const s=e.some((e=>!t(e)||!!e.mask)),{width:a,height:f}=l,h=s?new Uint8Array(a*f):null,{blockWidths:c}=o,u=[],x=r.getPlaneCount(),p=n.getPixelArrayConstructor(r.pixelType);if(s)for(let t=0,n=0;tl||f>o)return t;if(0===r&&0===s&&a===l&&f===o)return t;t.mask||(t.mask=new Uint8Array(l*o));const h=t.mask;for(let i=0;i=f||e=a?0:1}return t.updateStatistics(),t}function k(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 U(t,e,n){if(0===n)return;const i=t.get(e);1===i?t.delete(e):t.set(e,i-1)}function C(t,e,n){0!==n&&t.set(e,t.has(e)?t.get(e)+1:1)}function T(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:f,height:h}=t,c=Math.max(0,r),u=Math.max(0,o),x=Math.min(o+s,f),p=Math.min(r+a,h);if(x<0||p<0||!i(t))return null;o=Math.max(0,-o),r=Math.max(0,-r);const{pixels:m,mask:d}=t,g=s*a,y=m.length,w=[];for(let i=0;i{const i=t instanceof Float32Array||t instanceof Float64Array?0:.5;for(let l=0;l 1.0) {\\ncolor = lum + ((color - lum) * (1.0 - lum)) / (maxcol - lum);\\n}\\nreturn color;\\n}\\nvec3 setLum(vec3 cbase, vec3 clum) {\\nfloat lbase = lumv3(cbase);\\nfloat llum = lumv3(clum);\\nfloat ldiff = llum - lbase;\\nvec3 color = cbase + vec3(ldiff);\\nreturn clipColor(color);\\n}\\nvec3 setLumSat(vec3 cbase, vec3 csat, vec3 clum)\\n{\\nfloat minbase = minv3(cbase);\\nfloat sbase = satv3(cbase);\\nfloat ssat = satv3(csat);\\nvec3 color;\\nif (sbase > 0.0) {\\ncolor = (cbase - minbase) * ssat / sbase;\\n} else {\\ncolor = vec3(0.0);\\n}\\nreturn setLum(color, clum);\\n}\\nvoid main() {\\nvec4 src = texture2D(u_layerTexture, v_uv);\\n#ifdef NORMAL\\ngl_FragColor = src * u_opacity;\\n#else\\nvec4 dst = texture2D(u_backbufferTexture, v_uv);\\nvec3 Cs = src.a == 0.0 ? src.rgb : vec3(src.rgb / src.a);\\nvec3 Cb = dst.a == 0.0 ? dst.rgb : vec3(dst.rgb / dst.a);\\nfloat as = u_opacity * src.a;\\nfloat ab = dst.a;\\n#ifdef DESTINATION_OVER\\ngl_FragColor = vec4(as * Cs * (1.0 - ab) + ab * Cb, as + ab - as * ab);\\n#endif\\n#ifdef SOURCE_IN\\nvec4 color = vec4(as * Cs * ab, as * ab);\\nvec4 fadeColor = (1.0 - u_opacity) * u_inFadeOpacity * vec4(ab * Cb, ab);\\ngl_FragColor = color + fadeColor;\\n#endif\\n#ifdef DESTINATION_IN\\nvec4 color = vec4(ab * Cb * as, ab * as);\\nvec4 fadeColor = (1.0 - u_opacity) * u_inFadeOpacity * vec4(ab * Cb, ab);\\ngl_FragColor = color + fadeColor;\\n#endif\\n#ifdef SOURCE_OUT\\ngl_FragColor = vec4(as * Cs * (1.0 - ab), as * (1.0 - ab));\\n#endif\\n#ifdef DESTINATION_OUT\\ngl_FragColor = vec4(ab * Cb * (1.0 - as), ab * (1.0 - as));\\n#endif\\n#ifdef SOURCE_ATOP\\ngl_FragColor = vec4(as * Cs * ab + ab * Cb * (1.0 - as), ab);\\n#endif\\n#ifdef DESTINATION_ATOP\\ngl_FragColor = vec4(as * Cs * (1.0 - ab) + ab * Cb * as, as);\\n#endif\\n#ifdef XOR\\ngl_FragColor = vec4(as * Cs * (1.0 - ab) + ab * Cb * (1.0 - as),\\nas * (1.0 - ab) + ab * (1.0 - as));\\n#endif\\n#ifdef MULTIPLY\\ngl_FragColor = vec4(as * Cs * ab * Cb + (1.0 - ab) * as * Cs + (1.0 - as) * ab * Cb,\\nas + ab * (1.0 - as));\\n#endif\\n#ifdef SCREEN\\ngl_FragColor = vec4((Cs + Cb - Cs * Cb) * as * ab + Cs * as * (1.0 - ab) + Cb * ab *(1.0 - as),\\nas + ab * (1.0 - as));\\n#endif\\n#ifdef OVERLAY\\nvec3 f = vec3(overlay(Cb.r, Cs.r), overlay(Cb.g, Cs.g), overlay(Cb.b, Cs.b));\\ngl_FragColor = vec4(f * as * ab + Cs * as * (1.0 - ab) + Cb * ab *(1.0 - as),\\nas + ab * (1.0 - as));\\n#endif\\n#ifdef DARKEN\\ngl_FragColor = vec4(min(Cs, Cb) * as * ab + Cs * as * (1.0 - ab) + Cb * ab *(1.0 - as),\\nas + ab * (1.0 - as));\\n#endif\\n#ifdef LIGHTER\\ngl_FragColor = vec4(as * Cs + ab * Cb, as + ab);\\n#endif\\n#ifdef LIGHTEN\\ngl_FragColor = vec4(max(Cs, Cb) * as * ab + Cs * as * (1.0 - ab) + Cb * ab *(1.0 - as),\\nas + ab * (1.0 - as));\\n#endif\\n#ifdef COLOR_DODGE\\nvec3 f = vec3(colorDodge(Cb.r, Cs.r), colorDodge(Cb.g, Cs.g), colorDodge(Cb.b, Cs.b));\\ngl_FragColor = vec4(f * as * ab + Cs * as * (1.0 - ab) + Cb * ab *(1.0 - as),\\nas + ab * (1.0 - as));\\n#endif\\n#ifdef COLOR_BURN\\nvec3 f = vec3(colorBurn(Cb.r, Cs.r), colorBurn(Cb.g, Cs.g), colorBurn(Cb.b, Cs.b));\\ngl_FragColor = vec4(f * as * ab + Cs * as * (1.0 - ab) + Cb * ab *(1.0 - as),\\nas + ab * (1.0 - as));\\n#endif\\n#ifdef HARD_LIGHT\\nvec3 f = vec3(hardLight(Cb.r, Cs.r), hardLight(Cb.g, Cs.g), hardLight(Cb.b, Cs.b));\\ngl_FragColor = vec4(f * as * ab + Cs * as * (1.0 - ab) + Cb * ab *(1.0 - as),\\nas + ab * (1.0 - as));\\n#endif\\n#ifdef SOFT_LIGHT\\nvec3 f = vec3(softLight(Cb.r, Cs.r), softLight(Cb.g, Cs.g), softLight(Cb.b, Cs.b));\\ngl_FragColor = vec4(f * as * ab + Cs * as * (1.0 - ab) + Cb * ab *(1.0 - as),\\nas + ab * (1.0 - as));\\n#endif\\n#ifdef DIFFERENCE\\ngl_FragColor = vec4(abs(Cb - Cs) * as * ab + Cs * as * (1.0 - ab) + Cb * ab *(1.0 - as),\\nas + ab * (1.0 - as));\\n#endif\\n#ifdef EXCLUSION\\nvec3 f = Cs + Cb - 2.0 * Cs * Cb;\\ngl_FragColor = vec4(f * as * ab + Cs * as * (1.0 - ab) + Cb * ab *(1.0 - as),\\nas + ab * (1.0 - as));\\n#endif\\n#ifdef INVERT\\ngl_FragColor = vec4((1.0 - Cb) * as * ab + Cb * ab * (1.0 - as), ab);\\n#endif\\n#ifdef VIVID_LIGHT\\nvec3 f = vec3(vividLight(Cb.r, Cs.r),\\nvividLight(Cb.g, Cs.g),\\nvividLight(Cb.b, Cs.b));\\ngl_FragColor = vec4(f * as * ab + Cs * as * (1.0 - ab) + Cb * ab *(1.0 - as),\\nas + ab * (1.0 - as));\\n#endif\\n#ifdef HUE\\nvec3 f = setLumSat(Cs,Cb,Cb);\\ngl_FragColor = vec4(f * as * ab + Cs * as * (1.0 - ab) + Cb * ab *(1.0 - as),\\nas + ab * (1.0 - as));\\n#endif\\n#ifdef SATURATION\\nvec3 f = setLumSat(Cb,Cs,Cb);\\ngl_FragColor = vec4(f * as * ab + Cs * as * (1.0 - ab) + Cb * ab *(1.0 - as),\\nas + ab * (1.0 - as));\\n#endif\\n#ifdef COLOR\\nvec3 f = setLum(Cs,Cb);\\ngl_FragColor = vec4(f * as * ab + Cs * as * (1.0 - ab) + Cb * ab *(1.0 - as),\\nas + ab * (1.0 - as));\\n#endif\\n#ifdef LUMINOSITY\\nvec3 f = setLum(Cb,Cs);\\ngl_FragColor = vec4(f * as * ab + Cs * as * (1.0 - ab) + Cb * ab *(1.0 - as),\\nas + ab * (1.0 - as));\\n#endif\\n#ifdef PLUS\\ngl_FragColor = clamp(vec4(src.r + Cb.r, src.g + Cb.g, src.b + Cb.b, as + ab), 0.0, 1.0);\\n#endif\\n#ifdef MINUS\\ngl_FragColor = vec4(clamp(vec3(Cb.r - src.r, Cb.g - src.g, Cb.b - src.b), 0.0, 1.0), ab * as);\\n#endif\\n#ifdef AVERAGE\\nvec3 f = (Cb + Cs) / 2.0;\\ngl_FragColor = vec4(f * as * ab + Cs * as * (1.0 - ab) + Cb * ab *(1.0 - as),\\nas + ab * (1.0 - as));\\n#endif\\n#ifdef REFLECT\\nvec3 f = vec3(reflectBlend(Cb.r, Cs.r),\\nreflectBlend(Cb.g, Cs.g),\\nreflectBlend(Cb.b, Cs.b));\\ngl_FragColor = vec4(f * as * ab + Cs * as * (1.0 - ab) + Cb * ab *(1.0 - as),\\nas + ab * (1.0 - as));\\n#endif\\n#endif\\n}\",\"blend.vert\":\"attribute vec2 a_position;\\nvarying mediump vec2 v_uv;\\nvoid main(void) {\\ngl_Position = vec4(a_position , 0.0, 1.0);\\nv_uv = (a_position + 1.0) / 2.0;\\n}\"},dot:{dot:{\"dot.frag\":\"precision mediump float;\\nvarying vec4 v_color;\\nvarying float v_dotRatio;\\nvarying float v_invEdgeRatio;\\nuniform highp float u_tileZoomFactor;\\nvoid main()\\n{\\nfloat dist = length(gl_PointCoord - vec2(.5, .5)) * 2.;\\nfloat alpha = smoothstep(0., 1., v_invEdgeRatio * (dist - v_dotRatio) + 1.);\\ngl_FragColor = v_color * alpha;\\n}\",\"dot.vert\":\"precision highp float;\\nattribute vec2 a_pos;\\nuniform sampler2D u_texture;\\nuniform highp mat3 u_dvsMat3;\\nuniform highp float u_tileZoomFactor;\\nuniform highp float u_dotSize;\\nuniform highp float u_pixelRatio;\\nvarying vec2 v_pos;\\nvarying vec4 v_color;\\nvarying float v_dotRatio;\\nvarying float v_invEdgeRatio;\\nconst float EPSILON = 0.000001;\\nvoid main()\\n{\\nmat3 tileToTileTexture = mat3( 1., 0., 0.,\\n0., -1., 0.,\\n0., 1., 1. );\\nvec3 texCoords = tileToTileTexture * vec3(a_pos.xy / 512., 1.);\\nv_color = texture2D(u_texture, texCoords.xy);\\nfloat smoothEdgeWidth = max(u_dotSize / 2., 1.) ;\\nfloat z = 0.;\\nz += 2.0 * step(v_color.a, EPSILON);\\ngl_PointSize = (smoothEdgeWidth + u_dotSize);\\ngl_Position = vec4((u_dvsMat3 * vec3(a_pos + .5, 1.)).xy, z, 1.);\\nv_dotRatio = u_dotSize / gl_PointSize;\\nv_invEdgeRatio = -1. / ( smoothEdgeWidth / gl_PointSize );\\ngl_PointSize *= (u_pixelRatio * u_tileZoomFactor);\\n}\"}},filtering:{\"bicubic.glsl\":\"vec4 computeWeights(float v) {\\nfloat b = 1.0 / 6.0;\\nfloat v2 = v * v;\\nfloat v3 = v2 * v;\\nfloat w0 = b * (-v3 + 3.0 * v2 - 3.0 * v + 1.0);\\nfloat w1 = b * (3.0 * v3 - 6.0 * v2 + 4.0);\\nfloat w2 = b * (-3.0 * v3 + 3.0 * v2 + 3.0 * v + 1.0);\\nfloat w3 = b * v3;\\nreturn vec4(w0, w1, w2, w3);\\n}\\nvec4 bicubicOffsetsAndWeights(float v) {\\nvec4 w = computeWeights(v);\\nfloat g0 = w.x + w.y;\\nfloat g1 = w.z + w.w;\\nfloat h0 = 1.0 - (w.y / g0) + v;\\nfloat h1 = 1.0 + (w.w / g1) - v;\\nreturn vec4(h0, h1, g0, g1);\\n}\\nvec4 sampleBicubicBSpline(sampler2D sampler, vec2 coords, vec2 texSize) {\\nvec2 eX = vec2(1.0 / texSize.x, 0.0);\\nvec2 eY = vec2(0.0, 1.0 / texSize.y);\\nvec2 texel = coords * texSize - 0.5;\\nvec3 hgX = bicubicOffsetsAndWeights(fract(texel).x).xyz;\\nvec3 hgY = bicubicOffsetsAndWeights(fract(texel).y).xyz;\\nvec2 coords10 = coords + hgX.x * eX;\\nvec2 coords00 = coords - hgX.y * eX;\\nvec2 coords11 = coords10 + hgY.x * eY;\\nvec2 coords01 = coords00 + hgY.x * eY;\\ncoords10 = coords10 - hgY.y * eY;\\ncoords00 = coords00 - hgY.y * eY;\\nvec4 color00 = texture2D(sampler, coords00);\\nvec4 color10 = texture2D(sampler, coords10);\\nvec4 color01 = texture2D(sampler, coords01);\\nvec4 color11 = texture2D(sampler, coords11);\\ncolor00 = mix(color00, color01, hgY.z);\\ncolor10 = mix(color10, color11, hgY.z);\\ncolor00 = mix(color00, color10, hgX.z);\\nreturn color00;\\n}\",\"bilinear.glsl\":\"vec4 sampleBilinear(sampler2D sampler, vec2 coords, vec2 texSize) {\\nvec2 texelStart = floor(coords * texSize);\\nvec2 coord0 = texelStart / texSize;\\nvec2 coord1 = (texelStart + vec2(1.0, 0.0)) / texSize;\\nvec2 coord2 = (texelStart + vec2(0.0, 1.0)) / texSize;\\nvec2 coord3 = (texelStart + vec2(1.0, 1.0)) / texSize;\\nvec4 color0 = texture2D(sampler, coord0);\\nvec4 color1 = texture2D(sampler, coord1);\\nvec4 color2 = texture2D(sampler, coord2);\\nvec4 color3 = texture2D(sampler, coord3);\\nvec2 blend = fract(coords * texSize);\\nvec4 color01 = mix(color0, color1, blend.x);\\nvec4 color23 = mix(color2, color3, blend.x);\\nvec4 color = mix(color01, color23, blend.y);\\n#ifdef NNEDGE\\nfloat alpha = floor(color0.a * color1.a * color2.a * color3.a + 0.5);\\ncolor = color * alpha + (1.0 - alpha) * texture2D(sampler, coords);\\n#endif\\nreturn color;\\n}\",\"epx.glsl\":\"vec4 sampleEPX(sampler2D sampler, float size, vec2 coords, vec2 texSize) {\\nvec2 invSize = 1.0 / texSize;\\nvec2 texel = coords * texSize;\\nvec2 texel_i = floor(texel);\\nvec2 texel_frac = fract(texel);\\nvec4 colorP = texture2D(sampler, texel_i * invSize);\\nvec4 colorP1 = vec4(colorP);\\nvec4 colorP2 = vec4(colorP);\\nvec4 colorP3 = vec4(colorP);\\nvec4 colorP4 = vec4(colorP);\\nvec4 colorA = texture2D(sampler, (texel_i - vec2(0.0, 1.0)) * invSize);\\nvec4 colorB = texture2D(sampler, (texel_i + vec2(1.0, 0.0)) * invSize);\\nvec4 colorC = texture2D(sampler, (texel_i - vec2(1.0, 0.0)) * invSize);\\nvec4 colorD = texture2D(sampler, (texel_i + vec2(0.0, 1.0)) * invSize);\\nif (colorC == colorA && colorC != colorD && colorA != colorB) {\\ncolorP1 = colorA;\\n}\\nif (colorA == colorB && colorA != colorC && colorB != colorD) {\\ncolorP2 = colorB;\\n}\\nif (colorD == colorC && colorD != colorB && colorC != colorA) {\\ncolorP3 = colorC;\\n}\\nif (colorB == colorD && colorB != colorA && colorD != colorC) {\\ncolorP4 = colorD;\\n}\\nvec4 colorP12 = mix(colorP1, colorP2, texel_frac.x);\\nvec4 colorP34 = mix(colorP1, colorP2, texel_frac.x);\\nreturn mix(colorP12, colorP34, texel_frac.y);\\n}\"},fx:{integrate:{\"integrate.frag\":\"precision mediump float;\\nuniform lowp sampler2D u_sourceTexture;\\nuniform lowp sampler2D u_maskTexture;\\nuniform mediump float u_zoomLevel;\\nuniform highp float u_timeDelta;\\nuniform highp float u_animationTime;\\nvarying highp vec2 v_texcoord;\\n#include \\nvoid main()\\n{\\n#ifdef DELTA\\nvec4 texel = texture2D(u_sourceTexture, v_texcoord);\\nvec4 data0 = texture2D(u_maskTexture, v_texcoord);\\nfloat flags = data0.r * 255.0;\\nfloat groupMinZoom = data0.g * 255.0;\\nfloat isVisible = getFilterBit(flags, 0);\\nfloat wouldClip = step(groupMinZoom, u_zoomLevel);\\nfloat direction = wouldClip * 1.0 + (1.0 - wouldClip) * -1.0;\\nfloat dt = u_timeDelta / max(u_animationTime, 0.0001);\\nvec4 nextState = vec4(texel + direction * dt);\\ngl_FragColor = vec4(nextState);\\n#elif defined(UPDATE)\\nvec4 texel = texture2D(u_sourceTexture, v_texcoord);\\ngl_FragColor = texel;\\n#endif\\n}\",\"integrate.vert\":\"precision mediump float;\\nattribute vec2 a_pos;\\nvarying highp vec2 v_texcoord;\\nvoid main()\\n{\\nv_texcoord = a_pos;\\ngl_Position = vec4(a_pos * 2.0 - 1.0, 0.0, 1.0);\\n}\"}},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 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}\\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}\",\"constants.glsl\":\"const float C_DEG_TO_RAD = 3.14159265359 / 180.0;\\nconst float C_256_TO_RAD = 3.14159265359 / 128.0;\\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 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_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_LINE_SCALE_DASH = 2;\",fill:{\"common.glsl\":\"#ifdef PATTERN\\nuniform mediump vec2 u_mosaicSize;\\n#endif\\n#ifdef 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 OUTLINED_FILL\\nvarying lowp float v_isOutline;\\n#endif\\n#ifdef 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#ifdef DOT_DENSITY\\nuniform mediump mat4 u_dotColors[ 2 ];\\nuniform sampler2D u_dotTextures[ 2 ];\\nuniform vec4 u_dotBackgroundColor;\\n#endif\\n#ifdef OUTLINED_FILL\\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 = vec4(1.0, 0.0, 0.0, 0.0);\\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);\\nout_color = v_opacity * v_color * color;\\n#elif defined(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 OUTLINED_FILL\\nif (v_isOutline > 0.5) {\\ngl_FragColor = drawLine();\\n} else {\\ngl_FragColor = drawFill();\\n}\\n#else\\ngl_FragColor = drawFill();\\n#endif\\n}\",\"fill.vert\":\"#define PACKED_LINE\\nprecision highp float;\\nattribute float a_bitset;\\n#ifdef 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 SIMPLE\\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#ifdef DOT_DENSITY\\nvec4 dotThreshold(vec4 featureAttrOverFeatureArea, float dotValue, float tileDotsOverArea) {\\nreturn featureAttrOverFeatureArea * (1.0 / dotValue) * (1.0 / tileDotsOverArea);\\n}\\n#endif\\n#ifdef OUTLINED_FILL\\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_color = outputs.color;\\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;\\nv_color = getColor(a_color, a_bitSet, BITSET_GENERIC_LOCK_COLOR);\\nv_opacity = getOpacity();\\nv_id = norm(a_id);\\nout_color = v_color;\\n#ifdef 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_pixelRatio * u_zoomFactor * a_width * scale.x;\\nfloat height = u_pixelRatio * u_zoomFactor * a_height * scale.y;\\nfloat angle = C_256_TO_RAD * a_angle;\\nfloat sinA = sin(angle);\\nfloat cosA = cos(angle);\\nmat3 patternMatrix = mat3(cosA / width, sinA / height, 0,\\n-sinA / width, cosA / height, 0,\\n0, 0, 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 - SIGNED_BYTE_TO_UNSIGNED) / vec2(width, height);\\nv_tileTextureCoord = (patternMatrix * vec3(a_pos * FILL_POSITION_PRECISION, 1.0)).xy - symbolOffset;\\nv_aux1 = a_tlbr / u_mosaicSize.xyxy;\\n#elif defined(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 OUTLINED_FILL\\nif (getBit(a_bitset, BITSET_TYPE_FILL_OUTLINE) > 0.5) {\\nout_pos = vec3(0., 0., 2.);\\nreturn;\\n}\\n#endif\\nout_pos = hittestFill();\\ngl_PointSize = 1.0;\\n}\\n#elif defined(OUTLINED_FILL)\\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;\\nlowp vec4 color = vec4(0.);\\nhighp vec3 pos = vec3(0.);\\ndraw(color, pos);\\ngl_Position = vec4(clip(color, pos, getFilterFlags(), a_zoomRange), 1.0);\\n}\",\"hittest.glsl\":\"#include \\n#ifdef HITTEST\\nattribute vec2 a_pos1;\\nattribute vec2 a_pos2;\\nconst float EPSILON_PARALLEL = 0.05;\\nbool hasSameSide(vec3 p0, vec3 p1, vec3 a, vec3 b) {\\nvec3 cp0 = cross(b - a, p0 - a);\\nvec3 cp1 = cross(b - a, p1 - a);\\nreturn dot(cp0, cp1) >= 0.;\\n}\\nbool intersectPointTriangle(vec3 p, vec3 a, vec3 b, vec3 c) {\\nreturn hasSameSide(p, a, b, c) && hasSameSide(p, b, a, c) && hasSameSide(p, c, a, b);\\n}\\nbool intersectCircleTriange(vec3 p, vec3 a, vec3 b, vec3 c, float radius) {\\nvec2 ba = b.xy - a.xy;\\nvec2 ca = c.xy - a.xy;\\nfloat crossProduct = ba.x * ca.y - ca.x * ba.y;\\nbool isParallel = crossProduct < EPSILON_PARALLEL && crossProduct > -EPSILON_PARALLEL;\\nif (isParallel) {\\nreturn false;\\n}\\nif (distance(p, a) <= radius) {\\nreturn true;\\n}\\nif (distance(p, b) <= radius) {\\nreturn true;\\n}\\nif (distance(p, c) <= radius) {\\nreturn true;\\n}\\nvec3 p0 = p - normalize(p - a) * radius;\\nif (intersectPointTriangle(p0, a, b, c)) {\\nreturn true;\\n}\\nvec3 p1 = p - normalize(p - b) * radius;\\nif (intersectPointTriangle(p1, a, b, c)) {\\nreturn true;\\n}\\nvec3 p2 = p - normalize(p - c) * radius;\\nreturn intersectPointTriangle(p2, a, b, c);\\n}\\nvec3 hittestFill() {\\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.);\\nvec3 outTextureCoords = vec3(getAttributeDataTextureCoords(a_id), 0.0);\\nvec3 hittestPos = vec3(u_hittestPos, 1.);\\nfloat hittestDist = u_hittestDist;\\nif (!intersectCircleTriange(hittestPos, pos, pos1, pos2, hittestDist)) {\\noutTextureCoords.z += 2.0;\\n}\\nreturn outTextureCoords;\\n}\\n#endif\"},hittest:{\"common.glsl\":\"#ifdef HITTEST\\nuniform float u_hittestDist;\\nuniform highp vec2 u_hittestPos;\\n#endif\"},icon:{\"common.glsl\":\"uniform 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 highp float v_filters;\\nvarying lowp float v_opacity;\\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\",\"hittest.glsl\":\"#include \\n#ifdef HITTEST\\nvec3 hittestMarker(vec2 size) {\\nvec3 pos = u_viewMat3 * u_tileMat3 * vec3(a_pos * POSITION_PRECISION, 1.);\\nvec3 hittestPos = vec3(u_hittestPos, 1.);\\nfloat hittestDist = u_hittestDist;\\nvec3 outTextureCoords = vec3(getAttributeDataTextureCoords(a_id), 0.0);\\nfloat maxHalfSize = max(size.x, size.y) / 2.;\\nif (distance(pos, hittestPos) - maxHalfSize > hittestDist) {\\noutTextureCoords.z += 2.0;\\n}\\nreturn outTextureCoords;\\n}\\n#endif\",\"icon.frag\":\"precision mediump float;\\n#include \\n#include \\n#include \\n#include \\n#include \\nuniform lowp sampler2D u_texture;\\n#ifdef HITTEST\\nvec4 getColor() {\\nreturn vec4(1.);\\n}\\n#elif defined(SDF)\\nvec4 getColor() {\\nvec2 v_size = v_sizeTex.xy;\\nvec2 v_tex = v_sizeTex.zw;\\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() {\\nvec2 v_tex = v_sizeTex.zw;\\nlowp vec4 texColor = texture2D(u_texture, v_tex);\\nreturn v_opacity * texColor * v_color;\\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}\",\"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 \\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 = 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 = getRotation() * vec3(in_offset, 0.0);\\nreturn getMatrix(isMapAligned) * offset;\\n}\\nvoid main()\\n{\\nINIT;\\nvec2 a_size = a_sizeAndOutlineWidth.xy * a_sizeAndOutlineWidth.xy / 128.0;\\nvec2 a_offset = a_vertexOffset / 16.0;\\nfloat a_outlineSize = a_sizeAndOutlineWidth.z * a_sizeAndOutlineWidth.z / 128.0;\\nfloat a_bitSet = a_bitSetAndDistRatio.x;\\nvec2 v_size = getMarkerSize(a_offset, a_size, a_outlineSize, a_sizeAndOutlineWidth.w * a_sizeAndOutlineWidth.w / 128.0, a_bitSet);\\nvec2 v_tex = a_texCoords / u_mosaicSize;\\nv_color = getColor(a_color, a_bitSet, BITSET_GENERIC_LOCK_COLOR);\\nv_opacity = getOpacity();\\nv_id = norm(a_id);\\nv_filters = getFilterFlags();\\nv_pos = u_dvsMat3 * vec3(a_pos * POSITION_PRECISION, 1.0) + getOffset(a_offset, a_bitSet);\\nv_sizeTex = vec4(v_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(a_outlineSize, max(max(v_size.x, v_size.y) - 0.99, 0.0));\\nv_outlineColor = a_outlineColor;\\nv_distRatio = a_bitSetAndDistRatio.y / 126.0;\\n#endif\\n#ifdef HITTEST\\nvec3 pos = hittestMarker(v_size.xy);\\ngl_PointSize = 1.;\\ngl_Position = vec4(clip(v_color, pos, v_filters, a_zoomRange), 1.0);\\n#else\\ngl_Position = vec4(clip(v_color, v_pos, v_filters, 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;\\nbool intersectCircleLineInner(vec3 p, vec3 a, vec3 b, float radius) {\\nvec3 v0 = a - p;\\nvec3 b2 = b - p;\\nvec3 v = b2 - v0;\\nfloat D = 4. * dot(v0, v) * dot(v0, v) - 4. * dot(v, v) * ( dot(v0, v0) - radius * radius );\\nif (D < 0.) {\\nreturn false;\\n}\\nfloat sqrtD = sqrt(D);\\nfloat t0 = (-2. * dot(v0, v) + sqrtD) / (2. * dot(v, v));\\nfloat t1 = (-2. * dot(v0, v) - sqrtD) / (2. * dot(v, v));\\nreturn ((t0 >= 0. && t0 <= 1.) || (t1 >= 0. && t1 <= 1.));\\n}\\nbool intersectCircleLine(vec3 p, vec3 a, vec3 b, vec3 c, float radius) {\\nreturn intersectCircleLineInner(p, a, b, radius) || intersectCircleLineInner(p, b, c, radius);\\n}\\nvec3 hittestLine(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);\\nvec3 hittestPos = vec3(u_hittestPos, 1.);\\nfloat hittestDist = u_hittestDist;\\nif (!intersectCircleLine(hittestPos, pos, pos1, pos2, hittestDist + halfWidth)) {\\noutTextureCoords.z += 2.0;\\n}\\nreturn outTextureCoords;\\n}\\n#endif\",\"line.frag\":\"precision lowp float;\\n#include \\n#include \\n#include \\n#include \\n#include \\n#ifdef HITTEST\\nvoid main() {\\ngl_FragColor = vec4(1.);\\n}\\n#else\\nvoid main() {\\nLineData inputs = LineData(\\nv_color,\\nv_normal,\\nv_lineHalfWidth,\\nv_opacity,\\n#ifndef OUTLINED_FILL\\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#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);\\ngl_PointSize = 1.;\\nvec3 pos = hittestLine(halfWidth);\\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 OUTLINED_FILL\\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}\"},shared:{line:{\"common.glsl\":\"#if !defined(OUTLINED_FILL) && defined(PATTERN)\\nuniform mediump vec2 u_mosaicSize;\\n#endif\\nstruct LineData {\\nlowp vec4 color;\\nmediump vec2 normal;\\nmediump float lineHalfWidth;\\nlowp float opacity;\\n#ifndef OUTLINED_FILL\\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(OUTLINED_FILL) && !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(OUTLINED_FILL)\\nlowp vec4 getLineColor(LineData line) {\\nmediump float adjustedPatternWidth = line.patternSize.x * 2.0 * line.lineWidthRatio;\\nmediump float relativeTexX = fract(u_pixelRatio * 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(OUTLINED_FILL)\\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(u_pixelRatio * 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);\\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 / referenceHalfWidth) * 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 OUTLINED_FILL\\nvec4 color = in_color;\\nfloat opacity = 1.0;\\n#else\\nvec4 color = getColor(in_color, in_bitSet, 0);\\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\\nout_pos = vec3(pos.xy, z);\\nreturn LineData(\\ncolor,\\nin_normal,\\nhalfWidth,\\nopacity,\\n#ifndef OUTLINED_FILL\\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}\"}},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 \\n#ifdef HITTEST\\nvec3 hittestGlyph(in vec3 in_pos, in vec3 offset, in float fontSize) {\\nvec3 pos = u_viewMat3 * u_tileMat3 * in_pos + u_tileMat3 * offset;\\nvec3 hittestPos = vec3(u_hittestPos, 1.);\\nfloat hittestDist = u_hittestDist;\\nvec3 outTextureCoords = vec3(getAttributeDataTextureCoords(a_id), 0.0);\\nfloat halfFontSize = fontSize / 2.;\\nif (distance(pos, hittestPos) > hittestDist + halfFontSize) {\\noutTextureCoords.z += 2.0;\\n}\\nreturn outTextureCoords;\\n}\\n#endif\",\"text.frag\":\"precision mediump float;\\n#include \\nuniform lowp sampler2D u_texture;\\n#ifdef HITTEST\\nvec4 getColor() {\\nreturn vec4(1.);\\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\\nvec3 pos = hittestGlyph(in_pos, offset, fontSize);\\ngl_PointSize = 1.;\\ngl_Position = vec4(clip(v_color, 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}\",\"vcommon.glsl\":\"#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 OES_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 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}\"},\"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_isFloatTexture;\\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:{\"flow.frag\":\"precision highp float;\\nvarying float v_side;\\nvarying float v_time;\\nvarying float v_totalTime;\\nvarying float v_timeSeed;\\nvarying vec4 v_lineColor;\\nvarying float v_lineRenderWidth;\\nuniform float u_time;\\nuniform float u_fadeDuration;\\nuniform float u_lineSpeed;\\nvoid main(void) {\\nvec4 color = v_lineColor;\\nfloat edgeWidth = min(2.0 * v_lineRenderWidth - 1.0, 1.0);\\nfloat edgeStart = (v_lineRenderWidth - edgeWidth) / v_lineRenderWidth;\\nif (edgeStart < 0.95) {\\nfloat s = step(edgeStart, abs(v_side));\\ncolor.a *= (1.0 - s) + s * (1.0 - (abs(v_side) - edgeStart) / (1.0 - edgeStart));\\n}\\nfloat t = mod(v_timeSeed * (v_totalTime + u_fadeDuration) + u_time * u_lineSpeed, v_totalTime + u_fadeDuration) - v_time;\\ncolor.a *= step(0.0, t) * exp(-2.3 * t / u_fadeDuration);\\ncolor.rgb *= color.a;\\ngl_FragColor = color;\\n}\",\"flow.vert\":\"precision highp float;\\nattribute 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_side;\\nvarying float v_time;\\nvarying float v_totalTime;\\nvarying float v_timeSeed;\\nvarying vec4 v_lineColor;\\nvarying float v_lineRenderWidth;\\n#define MAX_STOPS 8\\n#ifdef VV_LINE_COLOR\\nuniform float u_lineColor_stops[MAX_STOPS];\\nuniform vec4 u_lineColor_values[MAX_STOPS];\\nuniform int u_lineColor_count;\\n#else\\nuniform vec4 u_lineColor;\\n#endif\\n#ifdef VV_LINE_OPACITY\\nuniform float u_lineOpacity_stops[MAX_STOPS];\\nuniform float u_lineOpacity_values[MAX_STOPS];\\nuniform int u_lineOpacity_count;\\n#else\\nuniform float u_lineOpacity;\\n#endif\\n#ifdef VV_LINE_RENDER_WIDTH\\nuniform float u_lineRenderWidth_stops[MAX_STOPS];\\nuniform float u_lineRenderWidth_values[MAX_STOPS];\\nuniform int u_lineRenderWidth_count;\\n#else\\nuniform float u_lineRenderWidth;\\n#endif\\nvoid main(void) {\\nfloat x = a_speed;\\n#ifdef VV_LINE_COLOR\\nvec4 lineColor = u_lineColor_values[0];\\n{\\nfor (int i = 1; i < MAX_STOPS; i++) {\\nif (i >= u_lineColor_count) {\\nbreak;\\n}\\nfloat x1 = u_lineColor_stops[i - 1];\\nif (x < x1) {\\nbreak;\\n}\\nfloat x2 = u_lineColor_stops[i];\\nvec4 y2 = u_lineColor_values[i];\\nif (x < x2) {\\nvec4 y1 = u_lineColor_values[i - 1];\\nlineColor = y1 + (y2 - y1) * (x - x1) / (x2 - x1);\\n} else {\\nlineColor = y2;\\n}\\n}\\n}\\n#else\\nvec4 lineColor = u_lineColor;\\n#endif\\n#ifdef VV_LINE_OPACITY\\nfloat lineOpacity = u_lineOpacity_values[0];\\n{\\nfor (int i = 1; i < MAX_STOPS; i++) {\\nif (i >= u_lineOpacity_count) {\\nbreak;\\n}\\nfloat x1 = u_lineOpacity_stops[i - 1];\\nif (x < x1) {\\nbreak;\\n}\\nfloat x2 = u_lineOpacity_stops[i];\\nfloat y2 = u_lineOpacity_values[i];\\nif (x < x2) {\\nfloat y1 = u_lineOpacity_values[i - 1];\\nlineOpacity = y1 + (y2 - y1) * (x - x1) / (x2 - x1);\\n} else {\\nlineOpacity = y2;\\n}\\n}\\n}\\n#else\\nfloat lineOpacity = u_lineOpacity;\\n#endif\\n#ifdef VV_LINE_RENDER_WIDTH\\nfloat lineRenderWidth = u_lineRenderWidth_values[0];\\n{\\nfor (int i = 1; i < MAX_STOPS; i++) {\\nif (i >= u_lineRenderWidth_count) {\\nbreak;\\n}\\nfloat x1 = u_lineRenderWidth_stops[i - 1];\\nif (x < x1) {\\nbreak;\\n}\\nfloat x2 = u_lineRenderWidth_stops[i];\\nfloat y2 = u_lineRenderWidth_values[i];\\nif (x < x2) {\\nfloat y1 = u_lineRenderWidth_values[i - 1];\\nlineRenderWidth = y1 + (y2 - y1) * (x - x1) / (x2 - x1);\\n} else {\\nlineRenderWidth = y2;\\n}\\n}\\n}\\n#else\\nfloat lineRenderWidth = u_lineRenderWidth;\\n#endif\\nvec2 position = a_positionAndSide.xy;\\nfloat side = a_positionAndSide.z;\\nvec2 xy = (u_dvsMat3 * vec3(position, 1.0) + u_displayViewMat3 * vec3(a_extrude * lineRenderWidth, 0.0)).xy;\\ngl_Position = vec4(xy, 0.0, 1.0);\\nv_side = side;\\nv_time = a_timeInfo.x;\\nv_totalTime = a_timeInfo.y;\\nv_timeSeed = a_timeInfo.z;\\nv_lineColor = vec4(lineColor.rgb, lineColor.a * lineOpacity);\\nv_lineRenderWidth = lineRenderWidth;\\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;\\nvoid main() {\\ngl_Position = vec4(a_pos, 0.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:{\"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.23/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.23/esri/copyright.txt for details.\n*/\nimport{ContextType as e}from\"./context-util.js\";import{PixelType as t,TextureType as n,PixelFormat as a,SizedPixelFormat as r,TextureSamplingMode as i,TextureWrapMode as o,TargetType as s,DepthStencilTargetType as u,UniformType as f}from\"./enums.js\";import{FramebufferObject as l}from\"./FramebufferObject.js\";import{Texture as m}from\"./Texture.js\";function c(s,u,f=\"nearest\",l=!1){var c;const _=!(l&&\"u8\"===u.pixelType),p=_?t.FLOAT:t.UNSIGNED_BYTE,E=null==u.pixels||0===u.pixels.length?null:_?u.getAsRGBAFloat():u.getAsRGBA(),T=null==(c=s.capabilities.textureFloat)?void 0:c.textureFloatLinear,g={width:u.width,height:u.height,target:n.TEXTURE_2D,pixelFormat:a.RGBA,internalFormat:s.type===e.WEBGL2&&_?r.RGBA32F:a.RGBA,samplingMode:!T||\"bilinear\"!==f&&\"cubic\"!==f?i.NEAREST:i.LINEAR,dataType:p,wrapMode:o.CLAMP_TO_EDGE,flipped:!1};return new m(s,g,E)}function _(e,r,f,c){const _=c?t.UNSIGNED_BYTE:t.FLOAT,p={width:r,height:f,target:n.TEXTURE_2D,pixelFormat:a.RGBA,internalFormat:a.RGBA,samplingMode:i.NEAREST,dataType:_,wrapMode:o.CLAMP_TO_EDGE,flipped:!1},E=new m(e,p);return new l(e,{colorTarget:s.TEXTURE,depthStencilTarget:u.DEPTH_STENCIL_RENDER_BUFFER,width:r,height:f},E)}function p(s,u){const{spacing:f,offsets:l,coefficients:c,size:[_,p]}=u,E=f[0]>1,T={width:E?4*_:_,height:p,target:n.TEXTURE_2D,pixelFormat:a.RGBA,internalFormat:s.type===e.WEBGL2?r.RGBA32F:a.RGBA,dataType:t.FLOAT,samplingMode:i.NEAREST,wrapMode:o.CLAMP_TO_EDGE,flipped:!1},g=new Float32Array(E?_*p*16:2*l.length);if(E)for(let e=0,t=0;e{const r=t.get(a)||t.get(a+\"[0]\");r&&U(e,a,n[a],r)}))}function R(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 U(e,t,n,a){if(null===a||null==n)return!1;const{info:r}=a;switch(r.type){case f.FLOAT:r.size>1?e.setUniform1fv(t,n):e.setUniform1f(t,n);break;case f.FLOAT_VEC2:e.setUniform2fv(t,n);break;case f.FLOAT_VEC3:e.setUniform3fv(t,n);break;case f.FLOAT_VEC4:e.setUniform4fv(t,n);break;case f.FLOAT_MAT3:e.setUniformMatrix3fv(t,n);break;case f.FLOAT_MAT4:e.setUniformMatrix4fv(t,n);break;case f.INT:r.size>1?e.setUniform1iv(t,n):e.setUniform1i(t,n);break;case f.BOOL:e.setUniform1i(t,n?1:0);break;case f.INT_VEC2:case f.BOOL_VEC2:e.setUniform2iv(t,n);break;case f.INT_VEC3:case f.BOOL_VEC3:e.setUniform3iv(t,n);break;case f.INT_VEC4:case f.BOOL_VEC4:e.setUniform4iv(t,n);break;default:return!1}return!0}export{E as createColormapTexture,_ as createFrameBuffer,c as createRasterTexture,p as createTransformTexture,A as getBasicGridUniforms,g as getColormapUniforms,T as getCommonUniforms,d as getShadedReliefUniforms,h as getStretchUniforms,O as getUniformLocationInfos,R as setTextures,F as setUniforms};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.23/esri/copyright.txt for details.\n*/\nimport{isNone as e}from\"../../../../core/maybe.js\";import t from\"../webgl/brushes/WGLBrush.js\";import{CompareFunction as n,BlendFactor as r,PrimitiveType as a,DataType as s}from\"../../../webgl/enums.js\";class i extends t{dispose(){}prepareState(e){const{context:t}=e;t.setColorMask(!0,!0,!0,!0),t.setStencilFunction(n.EQUAL,0,255)}draw(t,n){const{context:i}=t,{displayData:o}=n;if(e(o))return;if(\"loaded\"===o.state.name&&o.prepareForRendering(i),\"attached\"!==o.state.name)return;const f=o.state.resources;i.setFaceCullingEnabled(!1),i.setBlendingEnabled(!0),i.setBlendFunctionSeparate(r.ONE,r.ONE_MINUS_SRC_ALPHA,r.ONE,r.ONE);const d=[];\"ramp\"===f.values.lineColor.kind&&d.push(\"vvLineColor\"),\"ramp\"===f.values.lineOpacity.kind&&d.push(\"vvLineOpacity\"),\"ramp\"===f.values.lineRenderWidth.kind&&d.push(\"vvLineRenderWidth\");const u=t.painter.materialManager.getProgram(t,{vsPath:\"raster/flow\",fsPath:\"raster/flow\",attributes:f.locations},d);i.useProgram(u),u.setUniform1f(\"u_time\",t.time/1e3),u.setUniform1f(\"u_fadeDuration\",o.flowStyle.renderSettings.fadeDuration),u.setUniform1f(\"u_lineSpeed\",o.flowStyle.renderSettings.lineSpeed),u.setUniformMatrix3fv(\"u_dvsMat3\",n.transforms.dvs),u.setUniformMatrix3fv(\"u_displayViewMat3\",t.state.displayViewMat3),l(u,\"lineColor\",\"vec4\",o.flowStyle.renderSettings.lineColor),l(u,\"lineOpacity\",\"float\",o.flowStyle.renderSettings.lineOpacity),l(u,\"lineRenderWidth\",\"float\",o.flowStyle.renderSettings.lineRenderWidth),i.bindVAO(f.vertexArray),i.drawElements(a.TRIANGLES,f.indexBuffer.size,s.UNSIGNED_INT,0),o.flowStyle.animated&&n.requestRender()}}function o(e,t,n,r){switch(t){case\"int\":e.setUniform1iv(n,r);break;case\"float\":e.setUniform1fv(n,r);break;case\"vec2\":e.setUniform2fv(n,r);break;case\"vec3\":e.setUniform3fv(n,r);break;case\"vec4\":e.setUniform4fv(n,r)}}function l(e,t,n,r){\"constant\"===r.kind?o(e,n,`u_${t}`,r.value):(o(e,\"float\",`u_${t}_stops`,r.stops),o(e,n,`u_${t}_values`,r.values),o(e,\"int\",`u_${t}_count`,[r.count]))}export{i as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.23/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.23/esri/copyright.txt for details.\n*/\nimport{f as t}from\"../../../../../chunks/vec4f32.js\";import{Pos2b as r}from\"../DefaultVertexAttributeLayouts.js\";import e from\"./WGLBrush.js\";import{background as i}from\"../shaders/BackgroundPrograms.js\";import{BufferObject as s}from\"../../../../webgl/BufferObject.js\";import{StencilOperation as o,Face as a,CompareFunction as n,PrimitiveType as l,Usage as d}from\"../../../../webgl/enums.js\";import{createProgram as m}from\"../../../../webgl/ProgramTemplate.js\";import{VertexArrayObject as _}from\"../../../../webgl/VertexArrayObject.js\";class c extends e{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:t},r){t.setDepthWriteEnabled(!1),t.setDepthTestEnabled(!1),t.setStencilTestEnabled(!0),t.setBlendingEnabled(!1),t.setColorMask(!1,!1,!1,!1),t.setStencilOp(o.KEEP,o.KEEP,o.REPLACE),t.setStencilWriteMask(255),t.setStencilFunctionSeparate(a.FRONT_AND_BACK,n.GREATER,r.stencilRef,255)}draw(t,r){const{context:e}=t;this._initialized||this._initialize(e),e.bindVAO(this._solidVertexArrayObject),e.useProgram(this._solidProgram),this._solidProgram.setUniformMatrix3fv(\"u_dvsMat3\",r.transforms.dvs),this._solidProgram.setUniform2fv(\"u_coord_range\",[r.rangeX,r.rangeY]),this._solidProgram.setUniform1f(\"u_depth\",0),this._solidProgram.setUniform4fv(\"u_color\",this._color),e.drawArrays(l.TRIANGLE_STRIP,0,4),e.bindVAO()}_initialize(t){if(this._initialized)return!0;const e=m(t,i);if(!e)return!1;const o=new Int8Array([0,0,1,0,0,1,1,1]),a=s.createVertex(t,d.STATIC_DRAW,o),n=new _(t,i.attributes,r,{geometry:a});return this._solidProgram=e,this._solidVertexArrayObject=n,this._initialized=!0,!0}}export{c as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.23/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.23/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 l}from\"../DisplayObject.js\";import{TextureSamplingMode as h}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 l{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(){const t=this.getTextures();null==t||t.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)?h.LINEAR:h.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,l]=t.toScreenNoRotation([0,0],[this.x,this.y]),h=this.resolution/this.pixelRatio/t.resolution,d=h*this.width,_=h*this.height,m=Math.PI*this.rotation/180;r(o,o,u(n,l)),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}){var e,r,s;if(!this.stage)return null==(e=this._rasterTexture)||e.dispose(),null==(r=this._transformGridTexture)||r.dispose(),null==(s=this._colormapTexture)||s.dispose(),this._rasterTexture=null,this._rasterTextureBandIds=null,this._transformGridTexture=null,void(this._colormapTexture=null);const i=this._isValidSource(this.source);i&&this._colormapTextureInvalidated&&(this._colormapTextureInvalidated=!1,this._updateColormapTexture(t)),this._textureInvalidated&&(this._textureInvalidated=!1,this._createOrDestroyRasterTexture(t),this._rasterTexture&&(i?this.transformGrid&&!this._transformGridTexture&&(this._transformGridTexture=d(t,this.transformGrid)):this._rasterTexture.setData(null)),this.suspended||(this.ready(),this.requestRender()))}_createOrDestroyRasterTexture(e){var r,s;const i=t(this.source)?n(this.source,this.bandIds):null;if(!this._isValidSource(i))return void(this._rasterTexture&&(this._rasterTexture.dispose(),this._rasterTextureBandIds=null,this._rasterTexture=null));const a=!this._isBandIdschanged(this.bandIds);if(this._rasterTexture){if(a)return;this._rasterTexture.dispose(),this._rasterTextureBandIds=null,this._rasterTexture=null}this._supportsBilinearTexture=null==(r=e.capabilities.textureFloat)?void 0:r.textureFloatLinear;const o=this._getTextureSamplingMethod(this.interpolation),u=this.isRendereredSource||!(null!=(s=e.capabilities.textureFloat)&&s.textureFloat);this._rasterTexture=_(e,i,o,u),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){var r;return t(e)&&(null==(r=e.pixels)?void 0:r.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":""}