@deck.gl/google-maps 9.3.0-alpha.1 → 9.3.0-alpha.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist.min.js CHANGED
@@ -4,7 +4,7 @@
4
4
  else if (typeof define === 'function' && define.amd) define([], factory);
5
5
  else if (typeof exports === 'object') exports['deck'] = factory();
6
6
  else root['deck'] = factory();})(globalThis, function () {
7
- "use strict";var __exports__=(()=>{var fi=Object.create;var Fe=Object.defineProperty;var hi=Object.getOwnPropertyDescriptor;var Ti=Object.getOwnPropertyNames;var Ri=Object.getPrototypeOf,Ai=Object.prototype.hasOwnProperty;var p=(e,t)=>()=>(e&&(t=e(e=0)),t);var Gt=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),di=(e,t)=>{for(var r in t)Fe(e,r,{get:t[r],enumerable:!0})},Pe=(e,t,r,s)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of Ti(t))!Ai.call(e,i)&&i!==r&&Fe(e,i,{get:()=>t[i],enumerable:!(s=hi(t,i))||s.enumerable});return e},ee=(e,t,r)=>(Pe(e,t,"default"),r&&Pe(r,t,"default")),C=(e,t,r)=>(r=e!=null?fi(Ri(e)):{},Pe(t||!e||!e.__esModule?Fe(r,"default",{value:e,enumerable:!0}):r,e)),pi=e=>Pe(Fe({},"__esModule",{value:!0}),e);var De=Gt((Xn,er)=>{er.exports=globalThis.deck});var w,rr=p(()=>{(function(e){e[e.DEPTH_BUFFER_BIT=256]="DEPTH_BUFFER_BIT",e[e.STENCIL_BUFFER_BIT=1024]="STENCIL_BUFFER_BIT",e[e.COLOR_BUFFER_BIT=16384]="COLOR_BUFFER_BIT",e[e.POINTS=0]="POINTS",e[e.LINES=1]="LINES",e[e.LINE_LOOP=2]="LINE_LOOP",e[e.LINE_STRIP=3]="LINE_STRIP",e[e.TRIANGLES=4]="TRIANGLES",e[e.TRIANGLE_STRIP=5]="TRIANGLE_STRIP",e[e.TRIANGLE_FAN=6]="TRIANGLE_FAN",e[e.ZERO=0]="ZERO",e[e.ONE=1]="ONE",e[e.SRC_COLOR=768]="SRC_COLOR",e[e.ONE_MINUS_SRC_COLOR=769]="ONE_MINUS_SRC_COLOR",e[e.SRC_ALPHA=770]="SRC_ALPHA",e[e.ONE_MINUS_SRC_ALPHA=771]="ONE_MINUS_SRC_ALPHA",e[e.DST_ALPHA=772]="DST_ALPHA",e[e.ONE_MINUS_DST_ALPHA=773]="ONE_MINUS_DST_ALPHA",e[e.DST_COLOR=774]="DST_COLOR",e[e.ONE_MINUS_DST_COLOR=775]="ONE_MINUS_DST_COLOR",e[e.SRC_ALPHA_SATURATE=776]="SRC_ALPHA_SATURATE",e[e.CONSTANT_COLOR=32769]="CONSTANT_COLOR",e[e.ONE_MINUS_CONSTANT_COLOR=32770]="ONE_MINUS_CONSTANT_COLOR",e[e.CONSTANT_ALPHA=32771]="CONSTANT_ALPHA",e[e.ONE_MINUS_CONSTANT_ALPHA=32772]="ONE_MINUS_CONSTANT_ALPHA",e[e.FUNC_ADD=32774]="FUNC_ADD",e[e.FUNC_SUBTRACT=32778]="FUNC_SUBTRACT",e[e.FUNC_REVERSE_SUBTRACT=32779]="FUNC_REVERSE_SUBTRACT",e[e.BLEND_EQUATION=32777]="BLEND_EQUATION",e[e.BLEND_EQUATION_RGB=32777]="BLEND_EQUATION_RGB",e[e.BLEND_EQUATION_ALPHA=34877]="BLEND_EQUATION_ALPHA",e[e.BLEND_DST_RGB=32968]="BLEND_DST_RGB",e[e.BLEND_SRC_RGB=32969]="BLEND_SRC_RGB",e[e.BLEND_DST_ALPHA=32970]="BLEND_DST_ALPHA",e[e.BLEND_SRC_ALPHA=32971]="BLEND_SRC_ALPHA",e[e.BLEND_COLOR=32773]="BLEND_COLOR",e[e.ARRAY_BUFFER_BINDING=34964]="ARRAY_BUFFER_BINDING",e[e.ELEMENT_ARRAY_BUFFER_BINDING=34965]="ELEMENT_ARRAY_BUFFER_BINDING",e[e.LINE_WIDTH=2849]="LINE_WIDTH",e[e.ALIASED_POINT_SIZE_RANGE=33901]="ALIASED_POINT_SIZE_RANGE",e[e.ALIASED_LINE_WIDTH_RANGE=33902]="ALIASED_LINE_WIDTH_RANGE",e[e.CULL_FACE_MODE=2885]="CULL_FACE_MODE",e[e.FRONT_FACE=2886]="FRONT_FACE",e[e.DEPTH_RANGE=2928]="DEPTH_RANGE",e[e.DEPTH_WRITEMASK=2930]="DEPTH_WRITEMASK",e[e.DEPTH_CLEAR_VALUE=2931]="DEPTH_CLEAR_VALUE",e[e.DEPTH_FUNC=2932]="DEPTH_FUNC",e[e.STENCIL_CLEAR_VALUE=2961]="STENCIL_CLEAR_VALUE",e[e.STENCIL_FUNC=2962]="STENCIL_FUNC",e[e.STENCIL_FAIL=2964]="STENCIL_FAIL",e[e.STENCIL_PASS_DEPTH_FAIL=2965]="STENCIL_PASS_DEPTH_FAIL",e[e.STENCIL_PASS_DEPTH_PASS=2966]="STENCIL_PASS_DEPTH_PASS",e[e.STENCIL_REF=2967]="STENCIL_REF",e[e.STENCIL_VALUE_MASK=2963]="STENCIL_VALUE_MASK",e[e.STENCIL_WRITEMASK=2968]="STENCIL_WRITEMASK",e[e.STENCIL_BACK_FUNC=34816]="STENCIL_BACK_FUNC",e[e.STENCIL_BACK_FAIL=34817]="STENCIL_BACK_FAIL",e[e.STENCIL_BACK_PASS_DEPTH_FAIL=34818]="STENCIL_BACK_PASS_DEPTH_FAIL",e[e.STENCIL_BACK_PASS_DEPTH_PASS=34819]="STENCIL_BACK_PASS_DEPTH_PASS",e[e.STENCIL_BACK_REF=36003]="STENCIL_BACK_REF",e[e.STENCIL_BACK_VALUE_MASK=36004]="STENCIL_BACK_VALUE_MASK",e[e.STENCIL_BACK_WRITEMASK=36005]="STENCIL_BACK_WRITEMASK",e[e.VIEWPORT=2978]="VIEWPORT",e[e.SCISSOR_BOX=3088]="SCISSOR_BOX",e[e.COLOR_CLEAR_VALUE=3106]="COLOR_CLEAR_VALUE",e[e.COLOR_WRITEMASK=3107]="COLOR_WRITEMASK",e[e.UNPACK_ALIGNMENT=3317]="UNPACK_ALIGNMENT",e[e.PACK_ALIGNMENT=3333]="PACK_ALIGNMENT",e[e.MAX_TEXTURE_SIZE=3379]="MAX_TEXTURE_SIZE",e[e.MAX_VIEWPORT_DIMS=3386]="MAX_VIEWPORT_DIMS",e[e.SUBPIXEL_BITS=3408]="SUBPIXEL_BITS",e[e.RED_BITS=3410]="RED_BITS",e[e.GREEN_BITS=3411]="GREEN_BITS",e[e.BLUE_BITS=3412]="BLUE_BITS",e[e.ALPHA_BITS=3413]="ALPHA_BITS",e[e.DEPTH_BITS=3414]="DEPTH_BITS",e[e.STENCIL_BITS=3415]="STENCIL_BITS",e[e.POLYGON_OFFSET_UNITS=10752]="POLYGON_OFFSET_UNITS",e[e.POLYGON_OFFSET_FACTOR=32824]="POLYGON_OFFSET_FACTOR",e[e.TEXTURE_BINDING_2D=32873]="TEXTURE_BINDING_2D",e[e.SAMPLE_BUFFERS=32936]="SAMPLE_BUFFERS",e[e.SAMPLES=32937]="SAMPLES",e[e.SAMPLE_COVERAGE_VALUE=32938]="SAMPLE_COVERAGE_VALUE",e[e.SAMPLE_COVERAGE_INVERT=32939]="SAMPLE_COVERAGE_INVERT",e[e.COMPRESSED_TEXTURE_FORMATS=34467]="COMPRESSED_TEXTURE_FORMATS",e[e.VENDOR=7936]="VENDOR",e[e.RENDERER=7937]="RENDERER",e[e.VERSION=7938]="VERSION",e[e.IMPLEMENTATION_COLOR_READ_TYPE=35738]="IMPLEMENTATION_COLOR_READ_TYPE",e[e.IMPLEMENTATION_COLOR_READ_FORMAT=35739]="IMPLEMENTATION_COLOR_READ_FORMAT",e[e.BROWSER_DEFAULT_WEBGL=37444]="BROWSER_DEFAULT_WEBGL",e[e.STATIC_DRAW=35044]="STATIC_DRAW",e[e.STREAM_DRAW=35040]="STREAM_DRAW",e[e.DYNAMIC_DRAW=35048]="DYNAMIC_DRAW",e[e.ARRAY_BUFFER=34962]="ARRAY_BUFFER",e[e.ELEMENT_ARRAY_BUFFER=34963]="ELEMENT_ARRAY_BUFFER",e[e.BUFFER_SIZE=34660]="BUFFER_SIZE",e[e.BUFFER_USAGE=34661]="BUFFER_USAGE",e[e.CURRENT_VERTEX_ATTRIB=34342]="CURRENT_VERTEX_ATTRIB",e[e.VERTEX_ATTRIB_ARRAY_ENABLED=34338]="VERTEX_ATTRIB_ARRAY_ENABLED",e[e.VERTEX_ATTRIB_ARRAY_SIZE=34339]="VERTEX_ATTRIB_ARRAY_SIZE",e[e.VERTEX_ATTRIB_ARRAY_STRIDE=34340]="VERTEX_ATTRIB_ARRAY_STRIDE",e[e.VERTEX_ATTRIB_ARRAY_TYPE=34341]="VERTEX_ATTRIB_ARRAY_TYPE",e[e.VERTEX_ATTRIB_ARRAY_NORMALIZED=34922]="VERTEX_ATTRIB_ARRAY_NORMALIZED",e[e.VERTEX_ATTRIB_ARRAY_POINTER=34373]="VERTEX_ATTRIB_ARRAY_POINTER",e[e.VERTEX_ATTRIB_ARRAY_BUFFER_BINDING=34975]="VERTEX_ATTRIB_ARRAY_BUFFER_BINDING",e[e.CULL_FACE=2884]="CULL_FACE",e[e.FRONT=1028]="FRONT",e[e.BACK=1029]="BACK",e[e.FRONT_AND_BACK=1032]="FRONT_AND_BACK",e[e.BLEND=3042]="BLEND",e[e.DEPTH_TEST=2929]="DEPTH_TEST",e[e.DITHER=3024]="DITHER",e[e.POLYGON_OFFSET_FILL=32823]="POLYGON_OFFSET_FILL",e[e.SAMPLE_ALPHA_TO_COVERAGE=32926]="SAMPLE_ALPHA_TO_COVERAGE",e[e.SAMPLE_COVERAGE=32928]="SAMPLE_COVERAGE",e[e.SCISSOR_TEST=3089]="SCISSOR_TEST",e[e.STENCIL_TEST=2960]="STENCIL_TEST",e[e.NO_ERROR=0]="NO_ERROR",e[e.INVALID_ENUM=1280]="INVALID_ENUM",e[e.INVALID_VALUE=1281]="INVALID_VALUE",e[e.INVALID_OPERATION=1282]="INVALID_OPERATION",e[e.OUT_OF_MEMORY=1285]="OUT_OF_MEMORY",e[e.CONTEXT_LOST_WEBGL=37442]="CONTEXT_LOST_WEBGL",e[e.CW=2304]="CW",e[e.CCW=2305]="CCW",e[e.DONT_CARE=4352]="DONT_CARE",e[e.FASTEST=4353]="FASTEST",e[e.NICEST=4354]="NICEST",e[e.GENERATE_MIPMAP_HINT=33170]="GENERATE_MIPMAP_HINT",e[e.BYTE=5120]="BYTE",e[e.UNSIGNED_BYTE=5121]="UNSIGNED_BYTE",e[e.SHORT=5122]="SHORT",e[e.UNSIGNED_SHORT=5123]="UNSIGNED_SHORT",e[e.INT=5124]="INT",e[e.UNSIGNED_INT=5125]="UNSIGNED_INT",e[e.FLOAT=5126]="FLOAT",e[e.DOUBLE=5130]="DOUBLE",e[e.DEPTH_COMPONENT=6402]="DEPTH_COMPONENT",e[e.ALPHA=6406]="ALPHA",e[e.RGB=6407]="RGB",e[e.RGBA=6408]="RGBA",e[e.LUMINANCE=6409]="LUMINANCE",e[e.LUMINANCE_ALPHA=6410]="LUMINANCE_ALPHA",e[e.UNSIGNED_SHORT_4_4_4_4=32819]="UNSIGNED_SHORT_4_4_4_4",e[e.UNSIGNED_SHORT_5_5_5_1=32820]="UNSIGNED_SHORT_5_5_5_1",e[e.UNSIGNED_SHORT_5_6_5=33635]="UNSIGNED_SHORT_5_6_5",e[e.FRAGMENT_SHADER=35632]="FRAGMENT_SHADER",e[e.VERTEX_SHADER=35633]="VERTEX_SHADER",e[e.COMPILE_STATUS=35713]="COMPILE_STATUS",e[e.DELETE_STATUS=35712]="DELETE_STATUS",e[e.LINK_STATUS=35714]="LINK_STATUS",e[e.VALIDATE_STATUS=35715]="VALIDATE_STATUS",e[e.ATTACHED_SHADERS=35717]="ATTACHED_SHADERS",e[e.ACTIVE_ATTRIBUTES=35721]="ACTIVE_ATTRIBUTES",e[e.ACTIVE_UNIFORMS=35718]="ACTIVE_UNIFORMS",e[e.MAX_VERTEX_ATTRIBS=34921]="MAX_VERTEX_ATTRIBS",e[e.MAX_VERTEX_UNIFORM_VECTORS=36347]="MAX_VERTEX_UNIFORM_VECTORS",e[e.MAX_VARYING_VECTORS=36348]="MAX_VARYING_VECTORS",e[e.MAX_COMBINED_TEXTURE_IMAGE_UNITS=35661]="MAX_COMBINED_TEXTURE_IMAGE_UNITS",e[e.MAX_VERTEX_TEXTURE_IMAGE_UNITS=35660]="MAX_VERTEX_TEXTURE_IMAGE_UNITS",e[e.MAX_TEXTURE_IMAGE_UNITS=34930]="MAX_TEXTURE_IMAGE_UNITS",e[e.MAX_FRAGMENT_UNIFORM_VECTORS=36349]="MAX_FRAGMENT_UNIFORM_VECTORS",e[e.SHADER_TYPE=35663]="SHADER_TYPE",e[e.SHADING_LANGUAGE_VERSION=35724]="SHADING_LANGUAGE_VERSION",e[e.CURRENT_PROGRAM=35725]="CURRENT_PROGRAM",e[e.NEVER=512]="NEVER",e[e.LESS=513]="LESS",e[e.EQUAL=514]="EQUAL",e[e.LEQUAL=515]="LEQUAL",e[e.GREATER=516]="GREATER",e[e.NOTEQUAL=517]="NOTEQUAL",e[e.GEQUAL=518]="GEQUAL",e[e.ALWAYS=519]="ALWAYS",e[e.KEEP=7680]="KEEP",e[e.REPLACE=7681]="REPLACE",e[e.INCR=7682]="INCR",e[e.DECR=7683]="DECR",e[e.INVERT=5386]="INVERT",e[e.INCR_WRAP=34055]="INCR_WRAP",e[e.DECR_WRAP=34056]="DECR_WRAP",e[e.NEAREST=9728]="NEAREST",e[e.LINEAR=9729]="LINEAR",e[e.NEAREST_MIPMAP_NEAREST=9984]="NEAREST_MIPMAP_NEAREST",e[e.LINEAR_MIPMAP_NEAREST=9985]="LINEAR_MIPMAP_NEAREST",e[e.NEAREST_MIPMAP_LINEAR=9986]="NEAREST_MIPMAP_LINEAR",e[e.LINEAR_MIPMAP_LINEAR=9987]="LINEAR_MIPMAP_LINEAR",e[e.TEXTURE_MAG_FILTER=10240]="TEXTURE_MAG_FILTER",e[e.TEXTURE_MIN_FILTER=10241]="TEXTURE_MIN_FILTER",e[e.TEXTURE_WRAP_S=10242]="TEXTURE_WRAP_S",e[e.TEXTURE_WRAP_T=10243]="TEXTURE_WRAP_T",e[e.TEXTURE_2D=3553]="TEXTURE_2D",e[e.TEXTURE=5890]="TEXTURE",e[e.TEXTURE_CUBE_MAP=34067]="TEXTURE_CUBE_MAP",e[e.TEXTURE_BINDING_CUBE_MAP=34068]="TEXTURE_BINDING_CUBE_MAP",e[e.TEXTURE_CUBE_MAP_POSITIVE_X=34069]="TEXTURE_CUBE_MAP_POSITIVE_X",e[e.TEXTURE_CUBE_MAP_NEGATIVE_X=34070]="TEXTURE_CUBE_MAP_NEGATIVE_X",e[e.TEXTURE_CUBE_MAP_POSITIVE_Y=34071]="TEXTURE_CUBE_MAP_POSITIVE_Y",e[e.TEXTURE_CUBE_MAP_NEGATIVE_Y=34072]="TEXTURE_CUBE_MAP_NEGATIVE_Y",e[e.TEXTURE_CUBE_MAP_POSITIVE_Z=34073]="TEXTURE_CUBE_MAP_POSITIVE_Z",e[e.TEXTURE_CUBE_MAP_NEGATIVE_Z=34074]="TEXTURE_CUBE_MAP_NEGATIVE_Z",e[e.MAX_CUBE_MAP_TEXTURE_SIZE=34076]="MAX_CUBE_MAP_TEXTURE_SIZE",e[e.TEXTURE0=33984]="TEXTURE0",e[e.ACTIVE_TEXTURE=34016]="ACTIVE_TEXTURE",e[e.REPEAT=10497]="REPEAT",e[e.CLAMP_TO_EDGE=33071]="CLAMP_TO_EDGE",e[e.MIRRORED_REPEAT=33648]="MIRRORED_REPEAT",e[e.TEXTURE_WIDTH=4096]="TEXTURE_WIDTH",e[e.TEXTURE_HEIGHT=4097]="TEXTURE_HEIGHT",e[e.FLOAT_VEC2=35664]="FLOAT_VEC2",e[e.FLOAT_VEC3=35665]="FLOAT_VEC3",e[e.FLOAT_VEC4=35666]="FLOAT_VEC4",e[e.INT_VEC2=35667]="INT_VEC2",e[e.INT_VEC3=35668]="INT_VEC3",e[e.INT_VEC4=35669]="INT_VEC4",e[e.BOOL=35670]="BOOL",e[e.BOOL_VEC2=35671]="BOOL_VEC2",e[e.BOOL_VEC3=35672]="BOOL_VEC3",e[e.BOOL_VEC4=35673]="BOOL_VEC4",e[e.FLOAT_MAT2=35674]="FLOAT_MAT2",e[e.FLOAT_MAT3=35675]="FLOAT_MAT3",e[e.FLOAT_MAT4=35676]="FLOAT_MAT4",e[e.SAMPLER_2D=35678]="SAMPLER_2D",e[e.SAMPLER_CUBE=35680]="SAMPLER_CUBE",e[e.LOW_FLOAT=36336]="LOW_FLOAT",e[e.MEDIUM_FLOAT=36337]="MEDIUM_FLOAT",e[e.HIGH_FLOAT=36338]="HIGH_FLOAT",e[e.LOW_INT=36339]="LOW_INT",e[e.MEDIUM_INT=36340]="MEDIUM_INT",e[e.HIGH_INT=36341]="HIGH_INT",e[e.FRAMEBUFFER=36160]="FRAMEBUFFER",e[e.RENDERBUFFER=36161]="RENDERBUFFER",e[e.RGBA4=32854]="RGBA4",e[e.RGB5_A1=32855]="RGB5_A1",e[e.RGB565=36194]="RGB565",e[e.DEPTH_COMPONENT16=33189]="DEPTH_COMPONENT16",e[e.STENCIL_INDEX=6401]="STENCIL_INDEX",e[e.STENCIL_INDEX8=36168]="STENCIL_INDEX8",e[e.DEPTH_STENCIL=34041]="DEPTH_STENCIL",e[e.RENDERBUFFER_WIDTH=36162]="RENDERBUFFER_WIDTH",e[e.RENDERBUFFER_HEIGHT=36163]="RENDERBUFFER_HEIGHT",e[e.RENDERBUFFER_INTERNAL_FORMAT=36164]="RENDERBUFFER_INTERNAL_FORMAT",e[e.RENDERBUFFER_RED_SIZE=36176]="RENDERBUFFER_RED_SIZE",e[e.RENDERBUFFER_GREEN_SIZE=36177]="RENDERBUFFER_GREEN_SIZE",e[e.RENDERBUFFER_BLUE_SIZE=36178]="RENDERBUFFER_BLUE_SIZE",e[e.RENDERBUFFER_ALPHA_SIZE=36179]="RENDERBUFFER_ALPHA_SIZE",e[e.RENDERBUFFER_DEPTH_SIZE=36180]="RENDERBUFFER_DEPTH_SIZE",e[e.RENDERBUFFER_STENCIL_SIZE=36181]="RENDERBUFFER_STENCIL_SIZE",e[e.FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE=36048]="FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE",e[e.FRAMEBUFFER_ATTACHMENT_OBJECT_NAME=36049]="FRAMEBUFFER_ATTACHMENT_OBJECT_NAME",e[e.FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL=36050]="FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL",e[e.FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE=36051]="FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE",e[e.COLOR_ATTACHMENT0=36064]="COLOR_ATTACHMENT0",e[e.DEPTH_ATTACHMENT=36096]="DEPTH_ATTACHMENT",e[e.STENCIL_ATTACHMENT=36128]="STENCIL_ATTACHMENT",e[e.DEPTH_STENCIL_ATTACHMENT=33306]="DEPTH_STENCIL_ATTACHMENT",e[e.NONE=0]="NONE",e[e.FRAMEBUFFER_COMPLETE=36053]="FRAMEBUFFER_COMPLETE",e[e.FRAMEBUFFER_INCOMPLETE_ATTACHMENT=36054]="FRAMEBUFFER_INCOMPLETE_ATTACHMENT",e[e.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT=36055]="FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT",e[e.FRAMEBUFFER_INCOMPLETE_DIMENSIONS=36057]="FRAMEBUFFER_INCOMPLETE_DIMENSIONS",e[e.FRAMEBUFFER_UNSUPPORTED=36061]="FRAMEBUFFER_UNSUPPORTED",e[e.FRAMEBUFFER_BINDING=36006]="FRAMEBUFFER_BINDING",e[e.RENDERBUFFER_BINDING=36007]="RENDERBUFFER_BINDING",e[e.READ_FRAMEBUFFER=36008]="READ_FRAMEBUFFER",e[e.DRAW_FRAMEBUFFER=36009]="DRAW_FRAMEBUFFER",e[e.MAX_RENDERBUFFER_SIZE=34024]="MAX_RENDERBUFFER_SIZE",e[e.INVALID_FRAMEBUFFER_OPERATION=1286]="INVALID_FRAMEBUFFER_OPERATION",e[e.UNPACK_FLIP_Y_WEBGL=37440]="UNPACK_FLIP_Y_WEBGL",e[e.UNPACK_PREMULTIPLY_ALPHA_WEBGL=37441]="UNPACK_PREMULTIPLY_ALPHA_WEBGL",e[e.UNPACK_COLORSPACE_CONVERSION_WEBGL=37443]="UNPACK_COLORSPACE_CONVERSION_WEBGL",e[e.READ_BUFFER=3074]="READ_BUFFER",e[e.UNPACK_ROW_LENGTH=3314]="UNPACK_ROW_LENGTH",e[e.UNPACK_SKIP_ROWS=3315]="UNPACK_SKIP_ROWS",e[e.UNPACK_SKIP_PIXELS=3316]="UNPACK_SKIP_PIXELS",e[e.PACK_ROW_LENGTH=3330]="PACK_ROW_LENGTH",e[e.PACK_SKIP_ROWS=3331]="PACK_SKIP_ROWS",e[e.PACK_SKIP_PIXELS=3332]="PACK_SKIP_PIXELS",e[e.TEXTURE_BINDING_3D=32874]="TEXTURE_BINDING_3D",e[e.UNPACK_SKIP_IMAGES=32877]="UNPACK_SKIP_IMAGES",e[e.UNPACK_IMAGE_HEIGHT=32878]="UNPACK_IMAGE_HEIGHT",e[e.MAX_3D_TEXTURE_SIZE=32883]="MAX_3D_TEXTURE_SIZE",e[e.MAX_ELEMENTS_VERTICES=33e3]="MAX_ELEMENTS_VERTICES",e[e.MAX_ELEMENTS_INDICES=33001]="MAX_ELEMENTS_INDICES",e[e.MAX_TEXTURE_LOD_BIAS=34045]="MAX_TEXTURE_LOD_BIAS",e[e.MAX_FRAGMENT_UNIFORM_COMPONENTS=35657]="MAX_FRAGMENT_UNIFORM_COMPONENTS",e[e.MAX_VERTEX_UNIFORM_COMPONENTS=35658]="MAX_VERTEX_UNIFORM_COMPONENTS",e[e.MAX_ARRAY_TEXTURE_LAYERS=35071]="MAX_ARRAY_TEXTURE_LAYERS",e[e.MIN_PROGRAM_TEXEL_OFFSET=35076]="MIN_PROGRAM_TEXEL_OFFSET",e[e.MAX_PROGRAM_TEXEL_OFFSET=35077]="MAX_PROGRAM_TEXEL_OFFSET",e[e.MAX_VARYING_COMPONENTS=35659]="MAX_VARYING_COMPONENTS",e[e.FRAGMENT_SHADER_DERIVATIVE_HINT=35723]="FRAGMENT_SHADER_DERIVATIVE_HINT",e[e.RASTERIZER_DISCARD=35977]="RASTERIZER_DISCARD",e[e.VERTEX_ARRAY_BINDING=34229]="VERTEX_ARRAY_BINDING",e[e.MAX_VERTEX_OUTPUT_COMPONENTS=37154]="MAX_VERTEX_OUTPUT_COMPONENTS",e[e.MAX_FRAGMENT_INPUT_COMPONENTS=37157]="MAX_FRAGMENT_INPUT_COMPONENTS",e[e.MAX_SERVER_WAIT_TIMEOUT=37137]="MAX_SERVER_WAIT_TIMEOUT",e[e.MAX_ELEMENT_INDEX=36203]="MAX_ELEMENT_INDEX",e[e.RED=6403]="RED",e[e.RGB8=32849]="RGB8",e[e.RGBA8=32856]="RGBA8",e[e.RGB10_A2=32857]="RGB10_A2",e[e.TEXTURE_3D=32879]="TEXTURE_3D",e[e.TEXTURE_WRAP_R=32882]="TEXTURE_WRAP_R",e[e.TEXTURE_MIN_LOD=33082]="TEXTURE_MIN_LOD",e[e.TEXTURE_MAX_LOD=33083]="TEXTURE_MAX_LOD",e[e.TEXTURE_BASE_LEVEL=33084]="TEXTURE_BASE_LEVEL",e[e.TEXTURE_MAX_LEVEL=33085]="TEXTURE_MAX_LEVEL",e[e.TEXTURE_COMPARE_MODE=34892]="TEXTURE_COMPARE_MODE",e[e.TEXTURE_COMPARE_FUNC=34893]="TEXTURE_COMPARE_FUNC",e[e.SRGB=35904]="SRGB",e[e.SRGB8=35905]="SRGB8",e[e.SRGB8_ALPHA8=35907]="SRGB8_ALPHA8",e[e.COMPARE_REF_TO_TEXTURE=34894]="COMPARE_REF_TO_TEXTURE",e[e.RGBA32F=34836]="RGBA32F",e[e.RGB32F=34837]="RGB32F",e[e.RGBA16F=34842]="RGBA16F",e[e.RGB16F=34843]="RGB16F",e[e.TEXTURE_2D_ARRAY=35866]="TEXTURE_2D_ARRAY",e[e.TEXTURE_BINDING_2D_ARRAY=35869]="TEXTURE_BINDING_2D_ARRAY",e[e.R11F_G11F_B10F=35898]="R11F_G11F_B10F",e[e.RGB9_E5=35901]="RGB9_E5",e[e.RGBA32UI=36208]="RGBA32UI",e[e.RGB32UI=36209]="RGB32UI",e[e.RGBA16UI=36214]="RGBA16UI",e[e.RGB16UI=36215]="RGB16UI",e[e.RGBA8UI=36220]="RGBA8UI",e[e.RGB8UI=36221]="RGB8UI",e[e.RGBA32I=36226]="RGBA32I",e[e.RGB32I=36227]="RGB32I",e[e.RGBA16I=36232]="RGBA16I",e[e.RGB16I=36233]="RGB16I",e[e.RGBA8I=36238]="RGBA8I",e[e.RGB8I=36239]="RGB8I",e[e.RED_INTEGER=36244]="RED_INTEGER",e[e.RGB_INTEGER=36248]="RGB_INTEGER",e[e.RGBA_INTEGER=36249]="RGBA_INTEGER",e[e.R8=33321]="R8",e[e.RG8=33323]="RG8",e[e.R16F=33325]="R16F",e[e.R32F=33326]="R32F",e[e.RG16F=33327]="RG16F",e[e.RG32F=33328]="RG32F",e[e.R8I=33329]="R8I",e[e.R8UI=33330]="R8UI",e[e.R16I=33331]="R16I",e[e.R16UI=33332]="R16UI",e[e.R32I=33333]="R32I",e[e.R32UI=33334]="R32UI",e[e.RG8I=33335]="RG8I",e[e.RG8UI=33336]="RG8UI",e[e.RG16I=33337]="RG16I",e[e.RG16UI=33338]="RG16UI",e[e.RG32I=33339]="RG32I",e[e.RG32UI=33340]="RG32UI",e[e.R8_SNORM=36756]="R8_SNORM",e[e.RG8_SNORM=36757]="RG8_SNORM",e[e.RGB8_SNORM=36758]="RGB8_SNORM",e[e.RGBA8_SNORM=36759]="RGBA8_SNORM",e[e.RGB10_A2UI=36975]="RGB10_A2UI",e[e.TEXTURE_IMMUTABLE_FORMAT=37167]="TEXTURE_IMMUTABLE_FORMAT",e[e.TEXTURE_IMMUTABLE_LEVELS=33503]="TEXTURE_IMMUTABLE_LEVELS",e[e.UNSIGNED_INT_2_10_10_10_REV=33640]="UNSIGNED_INT_2_10_10_10_REV",e[e.UNSIGNED_INT_10F_11F_11F_REV=35899]="UNSIGNED_INT_10F_11F_11F_REV",e[e.UNSIGNED_INT_5_9_9_9_REV=35902]="UNSIGNED_INT_5_9_9_9_REV",e[e.FLOAT_32_UNSIGNED_INT_24_8_REV=36269]="FLOAT_32_UNSIGNED_INT_24_8_REV",e[e.UNSIGNED_INT_24_8=34042]="UNSIGNED_INT_24_8",e[e.HALF_FLOAT=5131]="HALF_FLOAT",e[e.RG=33319]="RG",e[e.RG_INTEGER=33320]="RG_INTEGER",e[e.INT_2_10_10_10_REV=36255]="INT_2_10_10_10_REV",e[e.CURRENT_QUERY=34917]="CURRENT_QUERY",e[e.QUERY_RESULT=34918]="QUERY_RESULT",e[e.QUERY_RESULT_AVAILABLE=34919]="QUERY_RESULT_AVAILABLE",e[e.ANY_SAMPLES_PASSED=35887]="ANY_SAMPLES_PASSED",e[e.ANY_SAMPLES_PASSED_CONSERVATIVE=36202]="ANY_SAMPLES_PASSED_CONSERVATIVE",e[e.MAX_DRAW_BUFFERS=34852]="MAX_DRAW_BUFFERS",e[e.DRAW_BUFFER0=34853]="DRAW_BUFFER0",e[e.DRAW_BUFFER1=34854]="DRAW_BUFFER1",e[e.DRAW_BUFFER2=34855]="DRAW_BUFFER2",e[e.DRAW_BUFFER3=34856]="DRAW_BUFFER3",e[e.DRAW_BUFFER4=34857]="DRAW_BUFFER4",e[e.DRAW_BUFFER5=34858]="DRAW_BUFFER5",e[e.DRAW_BUFFER6=34859]="DRAW_BUFFER6",e[e.DRAW_BUFFER7=34860]="DRAW_BUFFER7",e[e.DRAW_BUFFER8=34861]="DRAW_BUFFER8",e[e.DRAW_BUFFER9=34862]="DRAW_BUFFER9",e[e.DRAW_BUFFER10=34863]="DRAW_BUFFER10",e[e.DRAW_BUFFER11=34864]="DRAW_BUFFER11",e[e.DRAW_BUFFER12=34865]="DRAW_BUFFER12",e[e.DRAW_BUFFER13=34866]="DRAW_BUFFER13",e[e.DRAW_BUFFER14=34867]="DRAW_BUFFER14",e[e.DRAW_BUFFER15=34868]="DRAW_BUFFER15",e[e.MAX_COLOR_ATTACHMENTS=36063]="MAX_COLOR_ATTACHMENTS",e[e.COLOR_ATTACHMENT1=36065]="COLOR_ATTACHMENT1",e[e.COLOR_ATTACHMENT2=36066]="COLOR_ATTACHMENT2",e[e.COLOR_ATTACHMENT3=36067]="COLOR_ATTACHMENT3",e[e.COLOR_ATTACHMENT4=36068]="COLOR_ATTACHMENT4",e[e.COLOR_ATTACHMENT5=36069]="COLOR_ATTACHMENT5",e[e.COLOR_ATTACHMENT6=36070]="COLOR_ATTACHMENT6",e[e.COLOR_ATTACHMENT7=36071]="COLOR_ATTACHMENT7",e[e.COLOR_ATTACHMENT8=36072]="COLOR_ATTACHMENT8",e[e.COLOR_ATTACHMENT9=36073]="COLOR_ATTACHMENT9",e[e.COLOR_ATTACHMENT10=36074]="COLOR_ATTACHMENT10",e[e.COLOR_ATTACHMENT11=36075]="COLOR_ATTACHMENT11",e[e.COLOR_ATTACHMENT12=36076]="COLOR_ATTACHMENT12",e[e.COLOR_ATTACHMENT13=36077]="COLOR_ATTACHMENT13",e[e.COLOR_ATTACHMENT14=36078]="COLOR_ATTACHMENT14",e[e.COLOR_ATTACHMENT15=36079]="COLOR_ATTACHMENT15",e[e.SAMPLER_3D=35679]="SAMPLER_3D",e[e.SAMPLER_2D_SHADOW=35682]="SAMPLER_2D_SHADOW",e[e.SAMPLER_2D_ARRAY=36289]="SAMPLER_2D_ARRAY",e[e.SAMPLER_2D_ARRAY_SHADOW=36292]="SAMPLER_2D_ARRAY_SHADOW",e[e.SAMPLER_CUBE_SHADOW=36293]="SAMPLER_CUBE_SHADOW",e[e.INT_SAMPLER_2D=36298]="INT_SAMPLER_2D",e[e.INT_SAMPLER_3D=36299]="INT_SAMPLER_3D",e[e.INT_SAMPLER_CUBE=36300]="INT_SAMPLER_CUBE",e[e.INT_SAMPLER_2D_ARRAY=36303]="INT_SAMPLER_2D_ARRAY",e[e.UNSIGNED_INT_SAMPLER_2D=36306]="UNSIGNED_INT_SAMPLER_2D",e[e.UNSIGNED_INT_SAMPLER_3D=36307]="UNSIGNED_INT_SAMPLER_3D",e[e.UNSIGNED_INT_SAMPLER_CUBE=36308]="UNSIGNED_INT_SAMPLER_CUBE",e[e.UNSIGNED_INT_SAMPLER_2D_ARRAY=36311]="UNSIGNED_INT_SAMPLER_2D_ARRAY",e[e.MAX_SAMPLES=36183]="MAX_SAMPLES",e[e.SAMPLER_BINDING=35097]="SAMPLER_BINDING",e[e.PIXEL_PACK_BUFFER=35051]="PIXEL_PACK_BUFFER",e[e.PIXEL_UNPACK_BUFFER=35052]="PIXEL_UNPACK_BUFFER",e[e.PIXEL_PACK_BUFFER_BINDING=35053]="PIXEL_PACK_BUFFER_BINDING",e[e.PIXEL_UNPACK_BUFFER_BINDING=35055]="PIXEL_UNPACK_BUFFER_BINDING",e[e.COPY_READ_BUFFER=36662]="COPY_READ_BUFFER",e[e.COPY_WRITE_BUFFER=36663]="COPY_WRITE_BUFFER",e[e.COPY_READ_BUFFER_BINDING=36662]="COPY_READ_BUFFER_BINDING",e[e.COPY_WRITE_BUFFER_BINDING=36663]="COPY_WRITE_BUFFER_BINDING",e[e.FLOAT_MAT2x3=35685]="FLOAT_MAT2x3",e[e.FLOAT_MAT2x4=35686]="FLOAT_MAT2x4",e[e.FLOAT_MAT3x2=35687]="FLOAT_MAT3x2",e[e.FLOAT_MAT3x4=35688]="FLOAT_MAT3x4",e[e.FLOAT_MAT4x2=35689]="FLOAT_MAT4x2",e[e.FLOAT_MAT4x3=35690]="FLOAT_MAT4x3",e[e.UNSIGNED_INT_VEC2=36294]="UNSIGNED_INT_VEC2",e[e.UNSIGNED_INT_VEC3=36295]="UNSIGNED_INT_VEC3",e[e.UNSIGNED_INT_VEC4=36296]="UNSIGNED_INT_VEC4",e[e.UNSIGNED_NORMALIZED=35863]="UNSIGNED_NORMALIZED",e[e.SIGNED_NORMALIZED=36764]="SIGNED_NORMALIZED",e[e.VERTEX_ATTRIB_ARRAY_INTEGER=35069]="VERTEX_ATTRIB_ARRAY_INTEGER",e[e.VERTEX_ATTRIB_ARRAY_DIVISOR=35070]="VERTEX_ATTRIB_ARRAY_DIVISOR",e[e.TRANSFORM_FEEDBACK_BUFFER_MODE=35967]="TRANSFORM_FEEDBACK_BUFFER_MODE",e[e.MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS=35968]="MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS",e[e.TRANSFORM_FEEDBACK_VARYINGS=35971]="TRANSFORM_FEEDBACK_VARYINGS",e[e.TRANSFORM_FEEDBACK_BUFFER_START=35972]="TRANSFORM_FEEDBACK_BUFFER_START",e[e.TRANSFORM_FEEDBACK_BUFFER_SIZE=35973]="TRANSFORM_FEEDBACK_BUFFER_SIZE",e[e.TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN=35976]="TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN",e[e.MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS=35978]="MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS",e[e.MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS=35979]="MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS",e[e.INTERLEAVED_ATTRIBS=35980]="INTERLEAVED_ATTRIBS",e[e.SEPARATE_ATTRIBS=35981]="SEPARATE_ATTRIBS",e[e.TRANSFORM_FEEDBACK_BUFFER=35982]="TRANSFORM_FEEDBACK_BUFFER",e[e.TRANSFORM_FEEDBACK_BUFFER_BINDING=35983]="TRANSFORM_FEEDBACK_BUFFER_BINDING",e[e.TRANSFORM_FEEDBACK=36386]="TRANSFORM_FEEDBACK",e[e.TRANSFORM_FEEDBACK_PAUSED=36387]="TRANSFORM_FEEDBACK_PAUSED",e[e.TRANSFORM_FEEDBACK_ACTIVE=36388]="TRANSFORM_FEEDBACK_ACTIVE",e[e.TRANSFORM_FEEDBACK_BINDING=36389]="TRANSFORM_FEEDBACK_BINDING",e[e.FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING=33296]="FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING",e[e.FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE=33297]="FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE",e[e.FRAMEBUFFER_ATTACHMENT_RED_SIZE=33298]="FRAMEBUFFER_ATTACHMENT_RED_SIZE",e[e.FRAMEBUFFER_ATTACHMENT_GREEN_SIZE=33299]="FRAMEBUFFER_ATTACHMENT_GREEN_SIZE",e[e.FRAMEBUFFER_ATTACHMENT_BLUE_SIZE=33300]="FRAMEBUFFER_ATTACHMENT_BLUE_SIZE",e[e.FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE=33301]="FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE",e[e.FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE=33302]="FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE",e[e.FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE=33303]="FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE",e[e.FRAMEBUFFER_DEFAULT=33304]="FRAMEBUFFER_DEFAULT",e[e.DEPTH24_STENCIL8=35056]="DEPTH24_STENCIL8",e[e.DRAW_FRAMEBUFFER_BINDING=36006]="DRAW_FRAMEBUFFER_BINDING",e[e.READ_FRAMEBUFFER_BINDING=36010]="READ_FRAMEBUFFER_BINDING",e[e.RENDERBUFFER_SAMPLES=36011]="RENDERBUFFER_SAMPLES",e[e.FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER=36052]="FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER",e[e.FRAMEBUFFER_INCOMPLETE_MULTISAMPLE=36182]="FRAMEBUFFER_INCOMPLETE_MULTISAMPLE",e[e.UNIFORM_BUFFER=35345]="UNIFORM_BUFFER",e[e.UNIFORM_BUFFER_BINDING=35368]="UNIFORM_BUFFER_BINDING",e[e.UNIFORM_BUFFER_START=35369]="UNIFORM_BUFFER_START",e[e.UNIFORM_BUFFER_SIZE=35370]="UNIFORM_BUFFER_SIZE",e[e.MAX_VERTEX_UNIFORM_BLOCKS=35371]="MAX_VERTEX_UNIFORM_BLOCKS",e[e.MAX_FRAGMENT_UNIFORM_BLOCKS=35373]="MAX_FRAGMENT_UNIFORM_BLOCKS",e[e.MAX_COMBINED_UNIFORM_BLOCKS=35374]="MAX_COMBINED_UNIFORM_BLOCKS",e[e.MAX_UNIFORM_BUFFER_BINDINGS=35375]="MAX_UNIFORM_BUFFER_BINDINGS",e[e.MAX_UNIFORM_BLOCK_SIZE=35376]="MAX_UNIFORM_BLOCK_SIZE",e[e.MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS=35377]="MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS",e[e.MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS=35379]="MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS",e[e.UNIFORM_BUFFER_OFFSET_ALIGNMENT=35380]="UNIFORM_BUFFER_OFFSET_ALIGNMENT",e[e.ACTIVE_UNIFORM_BLOCKS=35382]="ACTIVE_UNIFORM_BLOCKS",e[e.UNIFORM_TYPE=35383]="UNIFORM_TYPE",e[e.UNIFORM_SIZE=35384]="UNIFORM_SIZE",e[e.UNIFORM_BLOCK_INDEX=35386]="UNIFORM_BLOCK_INDEX",e[e.UNIFORM_OFFSET=35387]="UNIFORM_OFFSET",e[e.UNIFORM_ARRAY_STRIDE=35388]="UNIFORM_ARRAY_STRIDE",e[e.UNIFORM_MATRIX_STRIDE=35389]="UNIFORM_MATRIX_STRIDE",e[e.UNIFORM_IS_ROW_MAJOR=35390]="UNIFORM_IS_ROW_MAJOR",e[e.UNIFORM_BLOCK_BINDING=35391]="UNIFORM_BLOCK_BINDING",e[e.UNIFORM_BLOCK_DATA_SIZE=35392]="UNIFORM_BLOCK_DATA_SIZE",e[e.UNIFORM_BLOCK_ACTIVE_UNIFORMS=35394]="UNIFORM_BLOCK_ACTIVE_UNIFORMS",e[e.UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES=35395]="UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES",e[e.UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER=35396]="UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER",e[e.UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER=35398]="UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER",e[e.OBJECT_TYPE=37138]="OBJECT_TYPE",e[e.SYNC_CONDITION=37139]="SYNC_CONDITION",e[e.SYNC_STATUS=37140]="SYNC_STATUS",e[e.SYNC_FLAGS=37141]="SYNC_FLAGS",e[e.SYNC_FENCE=37142]="SYNC_FENCE",e[e.SYNC_GPU_COMMANDS_COMPLETE=37143]="SYNC_GPU_COMMANDS_COMPLETE",e[e.UNSIGNALED=37144]="UNSIGNALED",e[e.SIGNALED=37145]="SIGNALED",e[e.ALREADY_SIGNALED=37146]="ALREADY_SIGNALED",e[e.TIMEOUT_EXPIRED=37147]="TIMEOUT_EXPIRED",e[e.CONDITION_SATISFIED=37148]="CONDITION_SATISFIED",e[e.WAIT_FAILED=37149]="WAIT_FAILED",e[e.SYNC_FLUSH_COMMANDS_BIT=1]="SYNC_FLUSH_COMMANDS_BIT",e[e.COLOR=6144]="COLOR",e[e.DEPTH=6145]="DEPTH",e[e.STENCIL=6146]="STENCIL",e[e.MIN=32775]="MIN",e[e.MAX=32776]="MAX",e[e.DEPTH_COMPONENT24=33190]="DEPTH_COMPONENT24",e[e.STREAM_READ=35041]="STREAM_READ",e[e.STREAM_COPY=35042]="STREAM_COPY",e[e.STATIC_READ=35045]="STATIC_READ",e[e.STATIC_COPY=35046]="STATIC_COPY",e[e.DYNAMIC_READ=35049]="DYNAMIC_READ",e[e.DYNAMIC_COPY=35050]="DYNAMIC_COPY",e[e.DEPTH_COMPONENT32F=36012]="DEPTH_COMPONENT32F",e[e.DEPTH32F_STENCIL8=36013]="DEPTH32F_STENCIL8",e[e.INVALID_INDEX=4294967295]="INVALID_INDEX",e[e.TIMEOUT_IGNORED=-1]="TIMEOUT_IGNORED",e[e.MAX_CLIENT_WAIT_TIMEOUT_WEBGL=37447]="MAX_CLIENT_WAIT_TIMEOUT_WEBGL",e[e.UNMASKED_VENDOR_WEBGL=37445]="UNMASKED_VENDOR_WEBGL",e[e.UNMASKED_RENDERER_WEBGL=37446]="UNMASKED_RENDERER_WEBGL",e[e.MAX_TEXTURE_MAX_ANISOTROPY_EXT=34047]="MAX_TEXTURE_MAX_ANISOTROPY_EXT",e[e.TEXTURE_MAX_ANISOTROPY_EXT=34046]="TEXTURE_MAX_ANISOTROPY_EXT",e[e.R16_EXT=33322]="R16_EXT",e[e.RG16_EXT=33324]="RG16_EXT",e[e.RGB16_EXT=32852]="RGB16_EXT",e[e.RGBA16_EXT=32859]="RGBA16_EXT",e[e.R16_SNORM_EXT=36760]="R16_SNORM_EXT",e[e.RG16_SNORM_EXT=36761]="RG16_SNORM_EXT",e[e.RGB16_SNORM_EXT=36762]="RGB16_SNORM_EXT",e[e.RGBA16_SNORM_EXT=36763]="RGBA16_SNORM_EXT",e[e.COMPRESSED_RGB_S3TC_DXT1_EXT=33776]="COMPRESSED_RGB_S3TC_DXT1_EXT",e[e.COMPRESSED_RGBA_S3TC_DXT1_EXT=33777]="COMPRESSED_RGBA_S3TC_DXT1_EXT",e[e.COMPRESSED_RGBA_S3TC_DXT3_EXT=33778]="COMPRESSED_RGBA_S3TC_DXT3_EXT",e[e.COMPRESSED_RGBA_S3TC_DXT5_EXT=33779]="COMPRESSED_RGBA_S3TC_DXT5_EXT",e[e.COMPRESSED_SRGB_S3TC_DXT1_EXT=35916]="COMPRESSED_SRGB_S3TC_DXT1_EXT",e[e.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT=35917]="COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT",e[e.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT=35918]="COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT",e[e.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT=35919]="COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT",e[e.COMPRESSED_RED_RGTC1_EXT=36283]="COMPRESSED_RED_RGTC1_EXT",e[e.COMPRESSED_SIGNED_RED_RGTC1_EXT=36284]="COMPRESSED_SIGNED_RED_RGTC1_EXT",e[e.COMPRESSED_RED_GREEN_RGTC2_EXT=36285]="COMPRESSED_RED_GREEN_RGTC2_EXT",e[e.COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT=36286]="COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT",e[e.COMPRESSED_RGBA_BPTC_UNORM_EXT=36492]="COMPRESSED_RGBA_BPTC_UNORM_EXT",e[e.COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT=36493]="COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT",e[e.COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT=36494]="COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT",e[e.COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT=36495]="COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT",e[e.COMPRESSED_R11_EAC=37488]="COMPRESSED_R11_EAC",e[e.COMPRESSED_SIGNED_R11_EAC=37489]="COMPRESSED_SIGNED_R11_EAC",e[e.COMPRESSED_RG11_EAC=37490]="COMPRESSED_RG11_EAC",e[e.COMPRESSED_SIGNED_RG11_EAC=37491]="COMPRESSED_SIGNED_RG11_EAC",e[e.COMPRESSED_RGB8_ETC2=37492]="COMPRESSED_RGB8_ETC2",e[e.COMPRESSED_RGBA8_ETC2_EAC=37493]="COMPRESSED_RGBA8_ETC2_EAC",e[e.COMPRESSED_SRGB8_ETC2=37494]="COMPRESSED_SRGB8_ETC2",e[e.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC=37495]="COMPRESSED_SRGB8_ALPHA8_ETC2_EAC",e[e.COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2=37496]="COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2",e[e.COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2=37497]="COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2",e[e.COMPRESSED_RGB_PVRTC_4BPPV1_IMG=35840]="COMPRESSED_RGB_PVRTC_4BPPV1_IMG",e[e.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG=35842]="COMPRESSED_RGBA_PVRTC_4BPPV1_IMG",e[e.COMPRESSED_RGB_PVRTC_2BPPV1_IMG=35841]="COMPRESSED_RGB_PVRTC_2BPPV1_IMG",e[e.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG=35843]="COMPRESSED_RGBA_PVRTC_2BPPV1_IMG",e[e.COMPRESSED_RGB_ETC1_WEBGL=36196]="COMPRESSED_RGB_ETC1_WEBGL",e[e.COMPRESSED_RGB_ATC_WEBGL=35986]="COMPRESSED_RGB_ATC_WEBGL",e[e.COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL=35986]="COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL",e[e.COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL=34798]="COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL",e[e.COMPRESSED_RGBA_ASTC_4x4_KHR=37808]="COMPRESSED_RGBA_ASTC_4x4_KHR",e[e.COMPRESSED_RGBA_ASTC_5x4_KHR=37809]="COMPRESSED_RGBA_ASTC_5x4_KHR",e[e.COMPRESSED_RGBA_ASTC_5x5_KHR=37810]="COMPRESSED_RGBA_ASTC_5x5_KHR",e[e.COMPRESSED_RGBA_ASTC_6x5_KHR=37811]="COMPRESSED_RGBA_ASTC_6x5_KHR",e[e.COMPRESSED_RGBA_ASTC_6x6_KHR=37812]="COMPRESSED_RGBA_ASTC_6x6_KHR",e[e.COMPRESSED_RGBA_ASTC_8x5_KHR=37813]="COMPRESSED_RGBA_ASTC_8x5_KHR",e[e.COMPRESSED_RGBA_ASTC_8x6_KHR=37814]="COMPRESSED_RGBA_ASTC_8x6_KHR",e[e.COMPRESSED_RGBA_ASTC_8x8_KHR=37815]="COMPRESSED_RGBA_ASTC_8x8_KHR",e[e.COMPRESSED_RGBA_ASTC_10x5_KHR=37816]="COMPRESSED_RGBA_ASTC_10x5_KHR",e[e.COMPRESSED_RGBA_ASTC_10x6_KHR=37817]="COMPRESSED_RGBA_ASTC_10x6_KHR",e[e.COMPRESSED_RGBA_ASTC_10x8_KHR=37818]="COMPRESSED_RGBA_ASTC_10x8_KHR",e[e.COMPRESSED_RGBA_ASTC_10x10_KHR=37819]="COMPRESSED_RGBA_ASTC_10x10_KHR",e[e.COMPRESSED_RGBA_ASTC_12x10_KHR=37820]="COMPRESSED_RGBA_ASTC_12x10_KHR",e[e.COMPRESSED_RGBA_ASTC_12x12_KHR=37821]="COMPRESSED_RGBA_ASTC_12x12_KHR",e[e.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR=37840]="COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR",e[e.COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR=37841]="COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR",e[e.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR=37842]="COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR",e[e.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR=37843]="COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR",e[e.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR=37844]="COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR",e[e.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR=37845]="COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR",e[e.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR=37846]="COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR",e[e.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR=37847]="COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR",e[e.COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR=37848]="COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR",e[e.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR=37849]="COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR",e[e.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR=37850]="COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR",e[e.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR=37851]="COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR",e[e.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR=37852]="COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR",e[e.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR=37853]="COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR",e[e.QUERY_COUNTER_BITS_EXT=34916]="QUERY_COUNTER_BITS_EXT",e[e.CURRENT_QUERY_EXT=34917]="CURRENT_QUERY_EXT",e[e.QUERY_RESULT_EXT=34918]="QUERY_RESULT_EXT",e[e.QUERY_RESULT_AVAILABLE_EXT=34919]="QUERY_RESULT_AVAILABLE_EXT",e[e.TIME_ELAPSED_EXT=35007]="TIME_ELAPSED_EXT",e[e.TIMESTAMP_EXT=36392]="TIMESTAMP_EXT",e[e.GPU_DISJOINT_EXT=36795]="GPU_DISJOINT_EXT",e[e.COMPLETION_STATUS_KHR=37297]="COMPLETION_STATUS_KHR",e[e.DEPTH_CLAMP_EXT=34383]="DEPTH_CLAMP_EXT",e[e.FIRST_VERTEX_CONVENTION_WEBGL=36429]="FIRST_VERTEX_CONVENTION_WEBGL",e[e.LAST_VERTEX_CONVENTION_WEBGL=36430]="LAST_VERTEX_CONVENTION_WEBGL",e[e.PROVOKING_VERTEX_WEBL=36431]="PROVOKING_VERTEX_WEBL",e[e.POLYGON_MODE_WEBGL=2880]="POLYGON_MODE_WEBGL",e[e.POLYGON_OFFSET_LINE_WEBGL=10754]="POLYGON_OFFSET_LINE_WEBGL",e[e.LINE_WEBGL=6913]="LINE_WEBGL",e[e.FILL_WEBGL=6914]="FILL_WEBGL",e[e.MAX_CLIP_DISTANCES_WEBGL=3378]="MAX_CLIP_DISTANCES_WEBGL",e[e.MAX_CULL_DISTANCES_WEBGL=33529]="MAX_CULL_DISTANCES_WEBGL",e[e.MAX_COMBINED_CLIP_AND_CULL_DISTANCES_WEBGL=33530]="MAX_COMBINED_CLIP_AND_CULL_DISTANCES_WEBGL",e[e.CLIP_DISTANCE0_WEBGL=12288]="CLIP_DISTANCE0_WEBGL",e[e.CLIP_DISTANCE1_WEBGL=12289]="CLIP_DISTANCE1_WEBGL",e[e.CLIP_DISTANCE2_WEBGL=12290]="CLIP_DISTANCE2_WEBGL",e[e.CLIP_DISTANCE3_WEBGL=12291]="CLIP_DISTANCE3_WEBGL",e[e.CLIP_DISTANCE4_WEBGL=12292]="CLIP_DISTANCE4_WEBGL",e[e.CLIP_DISTANCE5_WEBGL=12293]="CLIP_DISTANCE5_WEBGL",e[e.CLIP_DISTANCE6_WEBGL=12294]="CLIP_DISTANCE6_WEBGL",e[e.CLIP_DISTANCE7_WEBGL=12295]="CLIP_DISTANCE7_WEBGL",e[e.POLYGON_OFFSET_CLAMP_EXT=36379]="POLYGON_OFFSET_CLAMP_EXT",e[e.LOWER_LEFT_EXT=36001]="LOWER_LEFT_EXT",e[e.UPPER_LEFT_EXT=36002]="UPPER_LEFT_EXT",e[e.NEGATIVE_ONE_TO_ONE_EXT=37726]="NEGATIVE_ONE_TO_ONE_EXT",e[e.ZERO_TO_ONE_EXT=37727]="ZERO_TO_ONE_EXT",e[e.CLIP_ORIGIN_EXT=37724]="CLIP_ORIGIN_EXT",e[e.CLIP_DEPTH_MODE_EXT=37725]="CLIP_DEPTH_MODE_EXT",e[e.SRC1_COLOR_WEBGL=35065]="SRC1_COLOR_WEBGL",e[e.SRC1_ALPHA_WEBGL=34185]="SRC1_ALPHA_WEBGL",e[e.ONE_MINUS_SRC1_COLOR_WEBGL=35066]="ONE_MINUS_SRC1_COLOR_WEBGL",e[e.ONE_MINUS_SRC1_ALPHA_WEBGL=35067]="ONE_MINUS_SRC1_ALPHA_WEBGL",e[e.MAX_DUAL_SOURCE_DRAW_BUFFERS_WEBGL=35068]="MAX_DUAL_SOURCE_DRAW_BUFFERS_WEBGL",e[e.MIRROR_CLAMP_TO_EDGE_EXT=34627]="MIRROR_CLAMP_TO_EDGE_EXT"})(w||(w={}))});var Mt=p(()=>{rr()});var I=Gt((Yn,sr)=>{sr.exports=globalThis.luma});function nr(e){if(e={...Si,...e},!e.debugSpectorJS)return null;if(!v&&globalThis.SPECTOR&&!globalThis.luma?.spector){ne.log.probe(gi,"SPECTOR found and initialized. Start with `luma.spector.displayUI()`")();let{Spector:t}=globalThis.SPECTOR;v=new t,globalThis.luma&&(globalThis.luma.spector=v)}if(!v)return null;if(ir||(ir=!0,v.spyCanvases(),v?.onCaptureStarted.add(t=>ne.log.info("Spector capture started:",t)()),v?.onCapture.add(t=>{ne.log.info("Spector capture complete:",t)(),v?.getResultUI(),v?.resultView.display(),v?.resultView.addCapture(t)})),e.gl){let t=e.gl,r=t.device;v?.startCapture(e.gl,500),t.device=r,new Promise(s=>setTimeout(s,2e3)).then(s=>{ne.log.info("Spector capture stopped after 2 seconds")(),v?.stopCapture()})}return v}var ne,gi,v,ir,Si,or=p(()=>{ne=C(I(),1),gi=1,v=null,ir=!1,Si={debugSpectorJS:ne.log.get("debug-spectorjs"),debugSpectorJSUrl:"https://cdn.jsdelivr.net/npm/spectorjs@0.9.30/dist/spector.bundle.js",gl:void 0}});var $n,zn,qn,ar,cr=p(()=>{$n=globalThis.document||{},zn=globalThis.process||{},qn=globalThis.console,ar=globalThis.navigator||{}});function Be(e){if(typeof window<"u"&&window.process?.type==="renderer"||typeof process<"u"&&Boolean(process.versions?.electron))return!0;let t=typeof navigator<"u"&&navigator.userAgent,r=e||t;return Boolean(r&&r.indexOf("Electron")>=0)}var xt=p(()=>{});function _r(){return!(typeof process=="object"&&String(process)==="[object process]"&&!process?.browser)||Be()}var lr=p(()=>{xt()});function Nt(e){return!e&&!_r()?"Node":Be(e)?"Electron":(e||ar.userAgent||"").indexOf("Edge")>-1?"Edge":globalThis.chrome?"Chrome":globalThis.safari?"Safari":globalThis.mozInnerScreenX?"Firefox":"Unknown"}var fr=p(()=>{lr();xt();cr()});var hr=p(()=>{fr()});function Rr(e){return e.luma=e.luma||{},e.luma}function Ar(e,t={}){return t.debugWebGL||t.traceWebGL?Mi(e,t):Ei(e)}function Ei(e){let t=Rr(e);return t.realContext?t.realContext:e}function Mi(e,t){if(!globalThis.WebGLDebugUtils)return ge.log.warn("webgl-debug not loaded")(),e;let r=Rr(e);if(r.debugContext)return r.debugContext;globalThis.WebGLDebugUtils.init({...w,...e});let s=globalThis.WebGLDebugUtils.makeDebugContext(e,xi.bind(null,t),Ni.bind(null,t));for(let o in w)!(o in s)&&typeof w[o]=="number"&&(s[o]=w[o]);class i{}Object.setPrototypeOf(s,Object.getPrototypeOf(e)),Object.setPrototypeOf(i,s);let n=Object.create(i);return r.realContext=e,r.debugContext=n,n.debug=!0,n}function Tr(e,t){t=Array.from(t).map(s=>s===void 0?"undefined":s);let r=globalThis.WebGLDebugUtils.glFunctionArgsToString(e,t);return r=`${r.slice(0,100)}${r.length>100?"...":""}`,`gl.${e}(${r})`}function xi(e,t,r,s){s=Array.from(s).map(a=>a===void 0?"undefined":a);let i=globalThis.WebGLDebugUtils.glEnumToString(t),n=globalThis.WebGLDebugUtils.glFunctionArgsToString(r,s),o=`${i} in gl.${r}(${n})`;ge.log.error("%cWebGL","color: white; background: red; padding: 2px 6px; border-radius: 3px;",o)();debugger;throw new Error(o)}function Ni(e,t,r){let s="";e.traceWebGL&&ge.log.level>=1&&(s=Tr(t,r),ge.log.info(1,"%cWebGL","color: white; background: blue; padding: 2px 6px; border-radius: 3px;",s)());for(let i of r)if(i===void 0){s=s||Tr(t,r);debugger}}var ge,dr=p(()=>{ge=C(I(),1);Mt()});function Ct(e){return Array.isArray(e)||ArrayBuffer.isView(e)&&!(e instanceof DataView)}function b(e,t,r){return t[e]!==void 0?t[e]:r[e]}var Ee,P,pr,m,gr,Se,Sr,Er,It,q,Ot,Mr,bt=p(()=>{Ee={[3042]:!1,[32773]:new Float32Array([0,0,0,0]),[32777]:32774,[34877]:32774,[32969]:1,[32968]:0,[32971]:1,[32970]:0,[3106]:new Float32Array([0,0,0,0]),[3107]:[!0,!0,!0,!0],[2884]:!1,[2885]:1029,[2929]:!1,[2931]:1,[2932]:513,[2928]:new Float32Array([0,1]),[2930]:!0,[3024]:!0,[35725]:null,[36006]:null,[36007]:null,[34229]:null,[34964]:null,[2886]:2305,[33170]:4352,[2849]:1,[32823]:!1,[32824]:0,[10752]:0,[32926]:!1,[32928]:!1,[32938]:1,[32939]:!1,[3089]:!1,[3088]:new Int32Array([0,0,1024,1024]),[2960]:!1,[2961]:0,[2968]:4294967295,[36005]:4294967295,[2962]:519,[2967]:0,[2963]:4294967295,[34816]:519,[36003]:0,[36004]:4294967295,[2964]:7680,[2965]:7680,[2966]:7680,[34817]:7680,[34818]:7680,[34819]:7680,[2978]:[0,0,1024,1024],[36389]:null,[36662]:null,[36663]:null,[35053]:null,[35055]:null,[35723]:4352,[36010]:null,[35977]:!1,[3333]:4,[3317]:4,[37440]:!1,[37441]:!1,[37443]:37444,[3330]:0,[3332]:0,[3331]:0,[3314]:0,[32878]:0,[3316]:0,[3315]:0,[32877]:0},P=(e,t,r)=>t?e.enable(r):e.disable(r),pr=(e,t,r)=>e.hint(r,t),m=(e,t,r)=>e.pixelStorei(r,t),gr=(e,t,r)=>{let s=r===36006?36009:36008;return e.bindFramebuffer(s,t)},Se=(e,t,r)=>{let i={[34964]:34962,[36662]:36662,[36663]:36663,[35053]:35051,[35055]:35052}[r];e.bindBuffer(i,t)};Sr={[3042]:P,[32773]:(e,t)=>e.blendColor(...t),[32777]:"blendEquation",[34877]:"blendEquation",[32969]:"blendFunc",[32968]:"blendFunc",[32971]:"blendFunc",[32970]:"blendFunc",[3106]:(e,t)=>e.clearColor(...t),[3107]:(e,t)=>e.colorMask(...t),[2884]:P,[2885]:(e,t)=>e.cullFace(t),[2929]:P,[2931]:(e,t)=>e.clearDepth(t),[2932]:(e,t)=>e.depthFunc(t),[2928]:(e,t)=>e.depthRange(...t),[2930]:(e,t)=>e.depthMask(t),[3024]:P,[35723]:pr,[35725]:(e,t)=>e.useProgram(t),[36007]:(e,t)=>e.bindRenderbuffer(36161,t),[36389]:(e,t)=>e.bindTransformFeedback?.(36386,t),[34229]:(e,t)=>e.bindVertexArray(t),[36006]:gr,[36010]:gr,[34964]:Se,[36662]:Se,[36663]:Se,[35053]:Se,[35055]:Se,[2886]:(e,t)=>e.frontFace(t),[33170]:pr,[2849]:(e,t)=>e.lineWidth(t),[32823]:P,[32824]:"polygonOffset",[10752]:"polygonOffset",[35977]:P,[32926]:P,[32928]:P,[32938]:"sampleCoverage",[32939]:"sampleCoverage",[3089]:P,[3088]:(e,t)=>e.scissor(...t),[2960]:P,[2961]:(e,t)=>e.clearStencil(t),[2968]:(e,t)=>e.stencilMaskSeparate(1028,t),[36005]:(e,t)=>e.stencilMaskSeparate(1029,t),[2962]:"stencilFuncFront",[2967]:"stencilFuncFront",[2963]:"stencilFuncFront",[34816]:"stencilFuncBack",[36003]:"stencilFuncBack",[36004]:"stencilFuncBack",[2964]:"stencilOpFront",[2965]:"stencilOpFront",[2966]:"stencilOpFront",[34817]:"stencilOpBack",[34818]:"stencilOpBack",[34819]:"stencilOpBack",[2978]:(e,t)=>e.viewport(...t),[34383]:P,[10754]:P,[12288]:P,[12289]:P,[12290]:P,[12291]:P,[12292]:P,[12293]:P,[12294]:P,[12295]:P,[3333]:m,[3317]:m,[37440]:m,[37441]:m,[37443]:m,[3330]:m,[3332]:m,[3331]:m,[3314]:m,[32878]:m,[3316]:m,[3315]:m,[32877]:m,framebuffer:(e,t)=>{let r=t&&"handle"in t?t.handle:t;return e.bindFramebuffer(36160,r)},blend:(e,t)=>t?e.enable(3042):e.disable(3042),blendColor:(e,t)=>e.blendColor(...t),blendEquation:(e,t)=>{let r=typeof t=="number"?[t,t]:t;e.blendEquationSeparate(...r)},blendFunc:(e,t)=>{let r=t?.length===2?[...t,...t]:t;e.blendFuncSeparate(...r)},clearColor:(e,t)=>e.clearColor(...t),clearDepth:(e,t)=>e.clearDepth(t),clearStencil:(e,t)=>e.clearStencil(t),colorMask:(e,t)=>e.colorMask(...t),cull:(e,t)=>t?e.enable(2884):e.disable(2884),cullFace:(e,t)=>e.cullFace(t),depthTest:(e,t)=>t?e.enable(2929):e.disable(2929),depthFunc:(e,t)=>e.depthFunc(t),depthMask:(e,t)=>e.depthMask(t),depthRange:(e,t)=>e.depthRange(...t),dither:(e,t)=>t?e.enable(3024):e.disable(3024),derivativeHint:(e,t)=>{e.hint(35723,t)},frontFace:(e,t)=>e.frontFace(t),mipmapHint:(e,t)=>e.hint(33170,t),lineWidth:(e,t)=>e.lineWidth(t),polygonOffsetFill:(e,t)=>t?e.enable(32823):e.disable(32823),polygonOffset:(e,t)=>e.polygonOffset(...t),sampleCoverage:(e,t)=>e.sampleCoverage(t[0],t[1]||!1),scissorTest:(e,t)=>t?e.enable(3089):e.disable(3089),scissor:(e,t)=>e.scissor(...t),stencilTest:(e,t)=>t?e.enable(2960):e.disable(2960),stencilMask:(e,t)=>{t=Ct(t)?t:[t,t];let[r,s]=t;e.stencilMaskSeparate(1028,r),e.stencilMaskSeparate(1029,s)},stencilFunc:(e,t)=>{t=Ct(t)&&t.length===3?[...t,...t]:t;let[r,s,i,n,o,a]=t;e.stencilFuncSeparate(1028,r,s,i),e.stencilFuncSeparate(1029,n,o,a)},stencilOp:(e,t)=>{t=Ct(t)&&t.length===3?[...t,...t]:t;let[r,s,i,n,o,a]=t;e.stencilOpSeparate(1028,r,s,i),e.stencilOpSeparate(1029,n,o,a)},viewport:(e,t)=>e.viewport(...t)};Er={blendEquation:(e,t,r)=>e.blendEquationSeparate(b(32777,t,r),b(34877,t,r)),blendFunc:(e,t,r)=>e.blendFuncSeparate(b(32969,t,r),b(32968,t,r),b(32971,t,r),b(32970,t,r)),polygonOffset:(e,t,r)=>e.polygonOffset(b(32824,t,r),b(10752,t,r)),sampleCoverage:(e,t,r)=>e.sampleCoverage(b(32938,t,r),b(32939,t,r)),stencilFuncFront:(e,t,r)=>e.stencilFuncSeparate(1028,b(2962,t,r),b(2967,t,r),b(2963,t,r)),stencilFuncBack:(e,t,r)=>e.stencilFuncSeparate(1029,b(34816,t,r),b(36003,t,r),b(36004,t,r)),stencilOpFront:(e,t,r)=>e.stencilOpSeparate(1028,b(2964,t,r),b(2965,t,r),b(2966,t,r)),stencilOpBack:(e,t,r)=>e.stencilOpSeparate(1029,b(34817,t,r),b(34818,t,r),b(34819,t,r))},It={enable:(e,t)=>e({[t]:!0}),disable:(e,t)=>e({[t]:!1}),pixelStorei:(e,t,r)=>e({[t]:r}),hint:(e,t,r)=>e({[t]:r}),useProgram:(e,t)=>e({[35725]:t}),bindRenderbuffer:(e,t,r)=>e({[36007]:r}),bindTransformFeedback:(e,t,r)=>e({[36389]:r}),bindVertexArray:(e,t)=>e({[34229]:t}),bindFramebuffer:(e,t,r)=>{switch(t){case 36160:return e({[36006]:r,[36010]:r});case 36009:return e({[36006]:r});case 36008:return e({[36010]:r});default:return null}},bindBuffer:(e,t,r)=>{let s={[34962]:[34964],[36662]:[36662],[36663]:[36663],[35051]:[35053],[35052]:[35055]}[t];return s?e({[s]:r}):{valueChanged:!0}},blendColor:(e,t,r,s,i)=>e({[32773]:new Float32Array([t,r,s,i])}),blendEquation:(e,t)=>e({[32777]:t,[34877]:t}),blendEquationSeparate:(e,t,r)=>e({[32777]:t,[34877]:r}),blendFunc:(e,t,r)=>e({[32969]:t,[32968]:r,[32971]:t,[32970]:r}),blendFuncSeparate:(e,t,r,s,i)=>e({[32969]:t,[32968]:r,[32971]:s,[32970]:i}),clearColor:(e,t,r,s,i)=>e({[3106]:new Float32Array([t,r,s,i])}),clearDepth:(e,t)=>e({[2931]:t}),clearStencil:(e,t)=>e({[2961]:t}),colorMask:(e,t,r,s,i)=>e({[3107]:[t,r,s,i]}),cullFace:(e,t)=>e({[2885]:t}),depthFunc:(e,t)=>e({[2932]:t}),depthRange:(e,t,r)=>e({[2928]:new Float32Array([t,r])}),depthMask:(e,t)=>e({[2930]:t}),frontFace:(e,t)=>e({[2886]:t}),lineWidth:(e,t)=>e({[2849]:t}),polygonOffset:(e,t,r)=>e({[32824]:t,[10752]:r}),sampleCoverage:(e,t,r)=>e({[32938]:t,[32939]:r}),scissor:(e,t,r,s,i)=>e({[3088]:new Int32Array([t,r,s,i])}),stencilMask:(e,t)=>e({[2968]:t,[36005]:t}),stencilMaskSeparate:(e,t,r)=>e({[t===1028?2968:36005]:r}),stencilFunc:(e,t,r,s)=>e({[2962]:t,[2967]:r,[2963]:s,[34816]:t,[36003]:r,[36004]:s}),stencilFuncSeparate:(e,t,r,s,i)=>e({[t===1028?2962:34816]:r,[t===1028?2967:36003]:s,[t===1028?2963:36004]:i}),stencilOp:(e,t,r,s)=>e({[2964]:t,[2965]:r,[2966]:s,[34817]:t,[34818]:r,[34819]:s}),stencilOpSeparate:(e,t,r,s,i)=>e({[t===1028?2964:34817]:r,[t===1028?2965:34818]:s,[t===1028?2966:34819]:i}),viewport:(e,t,r,s,i)=>e({[2978]:[t,r,s,i]})},q=(e,t)=>e.isEnabled(t),Ot={[3042]:q,[2884]:q,[2929]:q,[3024]:q,[32823]:q,[32926]:q,[32928]:q,[3089]:q,[2960]:q,[35977]:q},Mr=new Set([34016,36388,36387,35983,35368,34965,35739,35738,3074,34853,34854,34855,34856,34857,34858,34859,34860,34861,34862,34863,34864,34865,34866,34867,34868,35097,32873,35869,32874,34068])});function k(e,t){if(Ci(t))return;let r={};for(let i in t){let n=Number(i),o=Sr[i];o&&(typeof o=="string"?r[o]=!0:o(e,t[i],n))}let s=e.state&&e.state.cache;if(s)for(let i in r){let n=Er[i];n(e,t,s)}}function ye(e,t=Ee){if(typeof t=="number"){let i=t,n=Ot[i];return n?n(e,i):e.getParameter(i)}let r=Array.isArray(t)?t:Object.keys(t),s={};for(let i of r){let n=Ot[i];s[i]=n?n(e,Number(i)):e.getParameter(Number(i))}return s}function xr(e){k(e,Ee)}function Ci(e){for(let t in e)return!1;return!0}var oe=p(()=>{bt()});function Cr(e,t){if(e===t)return!0;if(Nr(e)&&Nr(t)&&e.length===t.length){for(let r=0;r<e.length;++r)if(e[r]!==t[r])return!1;return!0}return!1}function Nr(e){return Array.isArray(e)||ArrayBuffer.isView(e)}var Ir=p(()=>{});function Or(e,t){let r=e[t].bind(e);e[t]=function(i){if(i===void 0||Mr.has(i))return r(i);let n=Y.get(e);return i in n.cache||(n.cache[i]=r(i)),n.enable?n.cache[i]:r(i)},Object.defineProperty(e[t],"name",{value:`${t}-from-cache`,configurable:!1})}function Ii(e,t,r){if(!e[t])return;let s=e[t].bind(e);e[t]=function(...n){let o=Y.get(e),{valueChanged:a,oldValue:c}=r(o._updateCache,...n);return a&&s(...n),c},Object.defineProperty(e[t],"name",{value:`${t}-to-cache`,configurable:!1})}function Oi(e){let t=e.useProgram.bind(e);e.useProgram=function(s){let i=Y.get(e);i.program!==s&&(t(s),i.program=s)}}var Y,Pt=p(()=>{oe();Ir();bt();Y=class{static get(t){return t.state}gl;program=null;stateStack=[];enable=!0;cache=null;log;initialized=!1;constructor(t,r){this.gl=t,this.log=r?.log||(()=>{}),this._updateCache=this._updateCache.bind(this),Object.seal(this)}push(t={}){this.stateStack.push({})}pop(){let t=this.stateStack[this.stateStack.length-1];k(this.gl,t),this.stateStack.pop()}trackState(t,r){if(this.cache=r?.copyState?ye(t):Object.assign({},Ee),this.initialized)throw new Error("WebGLStateTracker");this.initialized=!0,this.gl.state=this,Oi(t);for(let s in It){let i=It[s];Ii(t,s,i)}Or(t,"getParameter"),Or(t,"isEnabled")}_updateCache(t){let r=!1,s,i=this.stateStack.length>0?this.stateStack[this.stateStack.length-1]:null;for(let n in t){let o=t[n],a=this.cache[n];Cr(o,a)||(r=!0,s=a,i&&!(n in i)&&(i[n]=a),this.cache[n]=o)}return{valueChanged:r,oldValue:s}}}});function br(e,t,r){let s="",i=c=>{let _=c.statusMessage;_&&(s||=_)};e.addEventListener("webglcontextcreationerror",i,!1);let n=r.failIfMajorPerformanceCaveat!==!0,o={preserveDrawingBuffer:!0,...r,failIfMajorPerformanceCaveat:!0},a=null;try{if(a||=e.getContext("webgl2",o),!a&&o.failIfMajorPerformanceCaveat&&(s||="Only software GPU is available. Set `failIfMajorPerformanceCaveat: false` to allow."),!a&&n&&(o.failIfMajorPerformanceCaveat=!1,a=e.getContext("webgl2",o),a&&(a.luma||={},a.luma.softwareRenderer=!0)),a||(a=e.getContext("webgl",{}),a&&(a=null,s||="Your browser only supports WebGL1")),!a)throw s||="Your browser does not support WebGL",new Error(`Failed to create WebGL context: ${s}`);let{onContextLost:c,onContextRestored:_}=t;return e.addEventListener("webglcontextlost",l=>c(l),!1),e.addEventListener("webglcontextrestored",l=>_(l),!1),a.luma||={},a}finally{e.removeEventListener("webglcontextcreationerror",i,!1)}}var Pr=p(()=>{});function Z(e,t,r){return r[t]===void 0&&(r[t]=e.getExtension(t)||null),r[t]}var Me=p(()=>{});function Fr(e,t){let r=e.getParameter(7936),s=e.getParameter(7937);Z(e,"WEBGL_debug_renderer_info",t);let i=t.WEBGL_debug_renderer_info,n=e.getParameter(i?i.UNMASKED_VENDOR_WEBGL:7936),o=e.getParameter(i?i.UNMASKED_RENDERER_WEBGL:7937),a=n||r,c=o||s,_=e.getParameter(7938),l=Dr(a,c),f=bi(a,c),h=Pi(a,c);return{type:"webgl",gpu:l,gpuType:h,gpuBackend:f,vendor:a,renderer:c,version:_,shadingLanguage:"glsl",shadingLanguageVersion:300}}function Dr(e,t){return/NVIDIA/i.exec(e)||/NVIDIA/i.exec(t)?"nvidia":/INTEL/i.exec(e)||/INTEL/i.exec(t)?"intel":/Apple/i.exec(e)||/Apple/i.exec(t)?"apple":/AMD/i.exec(e)||/AMD/i.exec(t)||/ATI/i.exec(e)||/ATI/i.exec(t)?"amd":/SwiftShader/i.exec(e)||/SwiftShader/i.exec(t)?"software":"unknown"}function bi(e,t){return/Metal/i.exec(e)||/Metal/i.exec(t)?"metal":/ANGLE/i.exec(e)||/ANGLE/i.exec(t)?"opengl":"unknown"}function Pi(e,t){if(/SwiftShader/i.exec(e)||/SwiftShader/i.exec(t))return"cpu";switch(Dr(e,t)){case"intel":return"integrated";case"software":return"cpu";case"unknown":return"unknown";default:return"discrete"}}var Br=p(()=>{Me()});function Ue(e){switch(e){case"uint8":return 5121;case"sint8":return 5120;case"unorm8":return 5121;case"snorm8":return 5120;case"uint16":return 5123;case"sint16":return 5122;case"unorm16":return 5123;case"snorm16":return 5122;case"uint32":return 5125;case"sint32":return 5124;case"float16":return 5131;case"float32":return 5126}throw new Error(String(e))}var Ft=p(()=>{});function ur(e){return e in ue}function wr(e,t,r){return(ue[t]||[]).every(i=>Z(e,i,r))}function vr(e,t,r){let s=t.create,i=Bt[t.format];return i?.gl===void 0&&(s=!1),i?.x&&(s=s&&Boolean(Z(e,i.x,r))),{format:t.format,create:s&&t.create,render:s&&t.render,filter:s&&t.filter,blend:s&&t.blend,store:s&&t.store}}function we(e){let t=Bt[e],r=vi(e),s=Dt.textureFormatDecoder.getInfo(e);return s.compressed&&(t.dataFormat=r),{internalFormat:r,format:t?.dataFormat||wi(s.channels,s.integer,s.normalized,r),type:s.dataType?Ue(s.dataType):t?.types?.[0]||5121,compressed:s.compressed||!1}}function mr(e){switch(Dt.textureFormatDecoder.getInfo(e).attachment){case"depth":return 36096;case"stencil":return 36128;case"depth-stencil":return 33306;default:throw new Error(`Not a depth stencil format: ${e}`)}}function wi(e,t,r,s){if(s===6408||s===6407)return s;switch(e){case"r":return t&&!r?36244:6403;case"rg":return t&&!r?33320:33319;case"rgb":return t&&!r?36248:6407;case"rgba":return t&&!r?36249:6408;case"bgra":throw new Error("bgra pixels not supported by WebGL");default:return 6408}}function vi(e){let r=Bt[e]?.gl;if(r===void 0)throw new Error(`Unsupported texture format ${e}`);return r}var Dt,xe,Ne,ae,ce,Fi,Di,Bi,yi,Ui,yr,Ur,ui,ue,Bt,_e=p(()=>{Dt=C(I(),1);Me();Ft();xe="WEBGL_compressed_texture_s3tc",Ne="WEBGL_compressed_texture_s3tc_srgb",ae="EXT_texture_compression_rgtc",ce="EXT_texture_compression_bptc",Fi="WEBGL_compressed_texture_etc",Di="WEBGL_compressed_texture_astc",Bi="WEBGL_compressed_texture_etc1",yi="WEBGL_compressed_texture_pvrtc",Ui="WEBGL_compressed_texture_atc",yr="EXT_texture_norm16",Ur="EXT_render_snorm",ui="EXT_color_buffer_float",ue={"float32-renderable-webgl":["EXT_color_buffer_float"],"float16-renderable-webgl":["EXT_color_buffer_half_float"],"rgb9e5ufloat-renderable-webgl":["WEBGL_render_shared_exponent"],"snorm8-renderable-webgl":[Ur],"norm16-renderable-webgl":[yr],"snorm16-renderable-webgl":[yr,Ur],"float32-filterable":["OES_texture_float_linear"],"float16-filterable-webgl":["OES_texture_half_float_linear"],"texture-filterable-anisotropic-webgl":["EXT_texture_filter_anisotropic"],"texture-blend-float-webgl":["EXT_float_blend"],"texture-compression-bc":[xe,Ne,ae,ce],"texture-compression-bc5-webgl":[ae],"texture-compression-bc7-webgl":[ce],"texture-compression-etc2":[Fi],"texture-compression-astc":[Di],"texture-compression-etc1-webgl":[Bi],"texture-compression-pvrtc-webgl":[yi],"texture-compression-atc-webgl":[Ui]};Bt={r8unorm:{gl:33321,rb:!0},r8snorm:{gl:36756},r8uint:{gl:33330,rb:!0},r8sint:{gl:33329,rb:!0},rg8unorm:{gl:33323,rb:!0},rg8snorm:{gl:36757},rg8uint:{gl:33336,rb:!0},rg8sint:{gl:33335,rb:!0},r16uint:{gl:33332,rb:!0},r16sint:{gl:33331,rb:!0},r16float:{gl:33325,rb:!0},r16unorm:{gl:33322,rb:!0},r16snorm:{gl:36760},"rgba4unorm-webgl":{gl:32854,rb:!0},"rgb565unorm-webgl":{gl:36194,rb:!0},"rgb5a1unorm-webgl":{gl:32855,rb:!0},"rgb8unorm-webgl":{gl:32849},"rgb8snorm-webgl":{gl:36758},rgba8unorm:{gl:32856},"rgba8unorm-srgb":{gl:35907},rgba8snorm:{gl:36759},rgba8uint:{gl:36220},rgba8sint:{gl:36238},bgra8unorm:{},"bgra8unorm-srgb":{},rg16uint:{gl:33338},rg16sint:{gl:33337},rg16float:{gl:33327,rb:!0},rg16unorm:{gl:33324},rg16snorm:{gl:36761},r32uint:{gl:33334,rb:!0},r32sint:{gl:33333,rb:!0},r32float:{gl:33326},rgb9e5ufloat:{gl:35901},rg11b10ufloat:{gl:35898,rb:!0},rgb10a2unorm:{gl:32857,rb:!0},rgb10a2uint:{gl:36975,rb:!0},"rgb16unorm-webgl":{gl:32852},"rgb16snorm-webgl":{gl:36762},rg32uint:{gl:33340,rb:!0},rg32sint:{gl:33339,rb:!0},rg32float:{gl:33328,rb:!0},rgba16uint:{gl:36214,rb:!0},rgba16sint:{gl:36232,rb:!0},rgba16float:{gl:34842},rgba16unorm:{gl:32859,rb:!0},rgba16snorm:{gl:36763},"rgb32float-webgl":{gl:34837,x:ui,dataFormat:6407,types:[5126]},rgba32uint:{gl:36208,rb:!0},rgba32sint:{gl:36226,rb:!0},rgba32float:{gl:34836,rb:!0},stencil8:{gl:36168,rb:!0},depth16unorm:{gl:33189,dataFormat:6402,types:[5123],rb:!0},depth24plus:{gl:33190,dataFormat:6402,types:[5125]},depth32float:{gl:36012,dataFormat:6402,types:[5126],rb:!0},"depth24plus-stencil8":{gl:35056,rb:!0,depthTexture:!0,dataFormat:34041,types:[34042]},"depth32float-stencil8":{gl:36013,dataFormat:34041,types:[36269],rb:!0},"bc1-rgb-unorm-webgl":{gl:33776,x:xe},"bc1-rgb-unorm-srgb-webgl":{gl:35916,x:Ne},"bc1-rgba-unorm":{gl:33777,x:xe},"bc1-rgba-unorm-srgb":{gl:35916,x:Ne},"bc2-rgba-unorm":{gl:33778,x:xe},"bc2-rgba-unorm-srgb":{gl:35918,x:Ne},"bc3-rgba-unorm":{gl:33779,x:xe},"bc3-rgba-unorm-srgb":{gl:35919,x:Ne},"bc4-r-unorm":{gl:36283,x:ae},"bc4-r-snorm":{gl:36284,x:ae},"bc5-rg-unorm":{gl:36285,x:ae},"bc5-rg-snorm":{gl:36286,x:ae},"bc6h-rgb-ufloat":{gl:36495,x:ce},"bc6h-rgb-float":{gl:36494,x:ce},"bc7-rgba-unorm":{gl:36492,x:ce},"bc7-rgba-unorm-srgb":{gl:36493,x:ce},"etc2-rgb8unorm":{gl:37492},"etc2-rgb8unorm-srgb":{gl:37494},"etc2-rgb8a1unorm":{gl:37496},"etc2-rgb8a1unorm-srgb":{gl:37497},"etc2-rgba8unorm":{gl:37493},"etc2-rgba8unorm-srgb":{gl:37495},"eac-r11unorm":{gl:37488},"eac-r11snorm":{gl:37489},"eac-rg11unorm":{gl:37490},"eac-rg11snorm":{gl:37491},"astc-4x4-unorm":{gl:37808},"astc-4x4-unorm-srgb":{gl:37840},"astc-5x4-unorm":{gl:37809},"astc-5x4-unorm-srgb":{gl:37841},"astc-5x5-unorm":{gl:37810},"astc-5x5-unorm-srgb":{gl:37842},"astc-6x5-unorm":{gl:37811},"astc-6x5-unorm-srgb":{gl:37843},"astc-6x6-unorm":{gl:37812},"astc-6x6-unorm-srgb":{gl:37844},"astc-8x5-unorm":{gl:37813},"astc-8x5-unorm-srgb":{gl:37845},"astc-8x6-unorm":{gl:37814},"astc-8x6-unorm-srgb":{gl:37846},"astc-8x8-unorm":{gl:37815},"astc-8x8-unorm-srgb":{gl:37847},"astc-10x5-unorm":{gl:37819},"astc-10x5-unorm-srgb":{gl:37851},"astc-10x6-unorm":{gl:37817},"astc-10x6-unorm-srgb":{gl:37849},"astc-10x8-unorm":{gl:37818},"astc-10x8-unorm-srgb":{gl:37850},"astc-10x10-unorm":{gl:37819},"astc-10x10-unorm-srgb":{gl:37851},"astc-12x10-unorm":{gl:37820},"astc-12x10-unorm-srgb":{gl:37852},"astc-12x12-unorm":{gl:37821},"astc-12x12-unorm-srgb":{gl:37853},"pvrtc-rgb4unorm-webgl":{gl:35840},"pvrtc-rgba4unorm-webgl":{gl:35842},"pvrtc-rbg2unorm-webgl":{gl:35841},"pvrtc-rgba2unorm-webgl":{gl:35843},"etc1-rbg-unorm-webgl":{gl:36196},"atc-rgb-unorm-webgl":{gl:35986},"atc-rgba-unorm-webgl":{gl:35986},"atc-rgbai-unorm-webgl":{gl:34798}}});var Wr,Xr,ve,Vr=p(()=>{Wr=C(I(),1);Me();_e();Xr={"depth-clip-control":"EXT_depth_clamp","timer-query-webgl":"EXT_disjoint_timer_query_webgl2","compilation-status-async-webgl":"KHR_parallel_shader_compile","polygon-mode-webgl":"WEBGL_polygon_mode","provoking-vertex-webgl":"WEBGL_provoking_vertex","shader-clip-cull-distance-webgl":"WEBGL_clip_cull_distance","shader-noperspective-interpolation-webgl":"NV_shader_noperspective_interpolation","shader-conservative-depth-webgl":"EXT_conservative_depth"},ve=class extends Wr.DeviceFeatures{gl;extensions;testedFeatures=new Set;constructor(t,r,s){super([],s),this.gl=t,this.extensions=r,Z(t,"EXT_color_buffer_float",r)}*[Symbol.iterator](){let t=this.getFeatures();for(let r of t)this.has(r)&&(yield r);return[]}has(t){return this.disabledFeatures?.[t]?!1:(this.testedFeatures.has(t)||(this.testedFeatures.add(t),ur(t)&&wr(this.gl,t,this.extensions)&&this.features.add(t),this.getWebGLFeature(t)&&this.features.add(t)),this.features.has(t))}initializeFeatures(){let t=this.getFeatures().filter(r=>r!=="polygon-mode-webgl");for(let r of t)this.has(r)}getFeatures(){return[...Object.keys(Xr),...Object.keys(ue)]}getWebGLFeature(t){let r=Xr[t];return Boolean(typeof r=="string"?Z(this.gl,r,this.extensions):r)}}});var Hr,me,kr=p(()=>{Hr=C(I(),1),me=class extends Hr.DeviceLimits{get maxTextureDimension1D(){return 0}get maxTextureDimension2D(){return this.getParameter(3379)}get maxTextureDimension3D(){return this.getParameter(32883)}get maxTextureArrayLayers(){return this.getParameter(35071)}get maxBindGroups(){return 0}get maxDynamicUniformBuffersPerPipelineLayout(){return 0}get maxDynamicStorageBuffersPerPipelineLayout(){return 0}get maxSampledTexturesPerShaderStage(){return this.getParameter(35660)}get maxSamplersPerShaderStage(){return this.getParameter(35661)}get maxStorageBuffersPerShaderStage(){return 0}get maxStorageTexturesPerShaderStage(){return 0}get maxUniformBuffersPerShaderStage(){return this.getParameter(35375)}get maxUniformBufferBindingSize(){return this.getParameter(35376)}get maxStorageBufferBindingSize(){return 0}get minUniformBufferOffsetAlignment(){return this.getParameter(35380)}get minStorageBufferOffsetAlignment(){return 0}get maxVertexBuffers(){return 16}get maxVertexAttributes(){return this.getParameter(34921)}get maxVertexBufferArrayStride(){return 2048}get maxInterStageShaderVariables(){return this.getParameter(35659)}get maxComputeWorkgroupStorageSize(){return 0}get maxComputeInvocationsPerWorkgroup(){return 0}get maxComputeWorkgroupSizeX(){return 0}get maxComputeWorkgroupSizeY(){return 0}get maxComputeWorkgroupSizeZ(){return 0}get maxComputeWorkgroupsPerDimension(){return 0}gl;limits={};constructor(t){super(),this.gl=t}getParameter(t){return this.limits[t]===void 0&&(this.limits[t]=this.gl.getParameter(t)),this.limits[t]||0}}});function mi(e){return e<34069?e+34069:e}function Xi(e){switch(e){case 36053:return"success";case 36054:return"Mismatched attachments";case 36055:return"No attachments";case 36057:return"Height/width mismatch";case 36061:return"Unsupported or split attachments";case 36182:return"Samples mismatch";default:return`${e}`}}var Yr,j,Xe=p(()=>{Yr=C(I(),1);_e();j=class extends Yr.Framebuffer{device;gl;handle;colorAttachments=[];depthStencilAttachment=null;constructor(t,r){super(t,r);let s=r.handle===null;this.device=t,this.gl=t.gl,this.handle=this.props.handle||s?this.props.handle:this.gl.createFramebuffer(),s||(t._setWebGLDebugMetadata(this.handle,this,{spector:this.props}),this.autoCreateAttachmentTextures(),this.updateAttachments())}destroy(){super.destroy(),!this.destroyed&&this.handle!==null&&this.gl.deleteFramebuffer(this.handle)}updateAttachments(){let t=this.gl.bindFramebuffer(36160,this.handle);for(let r=0;r<this.colorAttachments.length;++r){let s=this.colorAttachments[r];if(s){let i=36064+r;this._attachTextureView(i,s)}}if(this.depthStencilAttachment){let r=mr(this.depthStencilAttachment.props.format);this._attachTextureView(r,this.depthStencilAttachment)}if(this.device.props.debug){let r=this.gl.checkFramebufferStatus(36160);if(r!==36053)throw new Error(`Framebuffer ${Xi(r)}`)}this.gl.bindFramebuffer(36160,t)}_attachTextureView(t,r){let{gl:s}=this.device,{texture:i}=r,n=r.props.baseMipLevel,o=r.props.baseArrayLayer;switch(s.bindTexture(i.glTarget,i.handle),i.glTarget){case 35866:case 32879:s.framebufferTextureLayer(36160,t,i.handle,n,o);break;case 34067:let a=mi(o);s.framebufferTexture2D(36160,t,a,i.handle,n);break;case 3553:s.framebufferTexture2D(36160,t,3553,i.handle,n);break;default:throw new Error("Illegal texture type")}s.bindTexture(i.glTarget,null)}}});var Kr,We,$r=p(()=>{Kr=C(I(),1);Xe();We=class extends Kr.CanvasContext{device;handle=null;_framebuffer=null;get[Symbol.toStringTag](){return"WebGLCanvasContext"}constructor(t,r){super(r),this.device=t,this._setAutoCreatedCanvasId(`${this.device.id}-canvas`),this._configureDevice()}_configureDevice(){(this.drawingBufferWidth!==this._framebuffer?.width||this.drawingBufferHeight!==this._framebuffer?.height)&&this._framebuffer?.resize([this.drawingBufferWidth,this.drawingBufferHeight])}_getCurrentFramebuffer(){return this._framebuffer||=new j(this.device,{id:"canvas-context-framebuffer",handle:null,width:this.drawingBufferWidth,height:this.drawingBufferHeight}),this._framebuffer}}});function zr(e="id"){yt[e]=yt[e]||1;let t=yt[e]++;return`${e}-${t}`}var yt,qr=p(()=>{yt={}});function Wi(e){return e&te.Buffer.INDEX?34963:e&te.Buffer.VERTEX?34962:e&te.Buffer.UNIFORM?35345:34962}function Vi(e){return e&te.Buffer.INDEX||e&te.Buffer.VERTEX?35044:e&te.Buffer.UNIFORM?35048:35044}var te,K,Ve=p(()=>{te=C(I(),1),K=class extends te.Buffer{device;gl;handle;glTarget;glUsage;glIndexType=5123;byteLength=0;bytesUsed=0;constructor(t,r={}){super(t,r),this.device=t,this.gl=this.device.gl;let s=typeof r=="object"?r.handle:void 0;this.handle=s||this.gl.createBuffer(),t._setWebGLDebugMetadata(this.handle,this,{spector:{...this.props,data:typeof this.props.data}}),this.glTarget=Wi(this.props.usage),this.glUsage=Vi(this.props.usage),this.glIndexType=this.props.indexType==="uint32"?5125:5123,r.data?this._initWithData(r.data,r.byteOffset,r.byteLength):this._initWithByteLength(r.byteLength||0)}destroy(){!this.destroyed&&this.handle&&(this.removeStats(),this.trackDeallocatedMemory(),this.gl.deleteBuffer(this.handle),this.destroyed=!0,this.handle=null)}_initWithData(t,r=0,s=t.byteLength+r){let i=this.glTarget;this.gl.bindBuffer(i,this.handle),this.gl.bufferData(i,s,this.glUsage),this.gl.bufferSubData(i,r,t),this.gl.bindBuffer(i,null),this.bytesUsed=s,this.byteLength=s,this._setDebugData(t,r,s),this.trackAllocatedMemory(s)}_initWithByteLength(t){let r=t;t===0&&(r=new Float32Array(0));let s=this.glTarget;return this.gl.bindBuffer(s,this.handle),this.gl.bufferData(s,r,this.glUsage),this.gl.bindBuffer(s,null),this.bytesUsed=t,this.byteLength=t,this._setDebugData(null,0,t),this.trackAllocatedMemory(t),this}write(t,r=0){let s=ArrayBuffer.isView(t)?t:new Uint8Array(t),i=0,n=void 0,o=36663;this.gl.bindBuffer(o,this.handle),i!==0||n!==void 0?this.gl.bufferSubData(o,r,s,i,n):this.gl.bufferSubData(o,r,s),this.gl.bindBuffer(o,null),this._setDebugData(t,r,t.byteLength)}async mapAndWriteAsync(t,r=0,s=this.byteLength-r){let i=new ArrayBuffer(s);await t(i,"copied"),this.write(i,r)}async readAsync(t=0,r){return this.readSyncWebGL(t,r)}async mapAndReadAsync(t,r=0,s){let i=await this.readAsync(r,s);return await t(i.buffer,"copied")}readSyncWebGL(t=0,r){r=r??this.byteLength-t;let s=new Uint8Array(r),i=0;return this.gl.bindBuffer(36662,this.handle),this.gl.getBufferSubData(36662,t,s,i,r),this.gl.bindBuffer(36662,null),this._setDebugData(s,t,r),s}}});function jr(e){let t=e.split(/\r?\n/),r=[];for(let s of t){if(s.length<=1)continue;let i=s.split(":");if(i.length===2){let[f,h]=i;r.push({message:h.trim(),type:Zr(f),lineNum:0,linePos:0});continue}let[n,o,a,...c]=i,_=parseInt(a,10);isNaN(_)&&(_=0);let l=parseInt(o,10);isNaN(l)&&(l=0),r.push({message:c.join(":").trim(),type:Zr(n),lineNum:_,linePos:l})}return r}function Zr(e){let t=["warning","error","info"],r=e.toLowerCase();return t.includes(r)?r:"info"}var Lr=p(()=>{});var Ce,He,Qr=p(()=>{Ce=C(I(),1);Lr();He=class extends Ce.Shader{device;handle;constructor(t,r){switch(super(t,r),this.device=t,this.props.stage){case"vertex":this.handle=this.props.handle||this.device.gl.createShader(35633);break;case"fragment":this.handle=this.props.handle||this.device.gl.createShader(35632);break;default:throw new Error(this.props.stage)}t._setWebGLDebugMetadata(this.handle,this,{spector:this.props}),this._compile(this.source)}destroy(){this.handle&&(this.removeStats(),this.device.gl.deleteShader(this.handle),this.destroyed=!0,this.handle.destroyed=!0)}get asyncCompilationStatus(){return this._waitForCompilationComplete().then(()=>(this._getCompilationStatus(),this.compilationStatus))}async getCompilationInfo(){return await this._waitForCompilationComplete(),this.getCompilationInfoSync()}getCompilationInfoSync(){let t=this.device.gl.getShaderInfoLog(this.handle);return t?jr(t):[]}getTranslatedSource(){return this.device.getExtension("WEBGL_debug_shaders").WEBGL_debug_shaders?.getTranslatedShaderSource(this.handle)||null}async _compile(t){t=t.startsWith("#version ")?t:`#version 300 es
8
- ${t}`;let{gl:r}=this.device;if(r.shaderSource(this.handle,t),r.compileShader(this.handle),!this.device.props.debug){this.compilationStatus="pending";return}if(!this.device.features.has("compilation-status-async-webgl")){if(this._getCompilationStatus(),this.debugShader(),this.compilationStatus==="error")throw new Error(`GLSL compilation errors in ${this.props.stage} shader ${this.props.id}`);return}Ce.log.once(1,"Shader compilation is asynchronous")(),await this._waitForCompilationComplete(),Ce.log.info(2,`Shader ${this.id} - async compilation complete: ${this.compilationStatus}`)(),this._getCompilationStatus(),this.debugShader()}async _waitForCompilationComplete(){let t=async i=>await new Promise(n=>setTimeout(n,i));if(!this.device.features.has("compilation-status-async-webgl")){await t(10);return}let{gl:s}=this.device;for(;;){if(s.getShaderParameter(this.handle,37297))return;await t(10)}}_getCompilationStatus(){this.compilationStatus=this.device.gl.getShaderParameter(this.handle,35713)?"success":"error"}}});function es(e,t,r,s){if(Ki(t))return s(e);let i=e;i.pushState();try{return Hi(e,t),k(i.gl,r),s(e)}finally{i.popState()}}function Hi(e,t){let r=e,{gl:s}=r;if(t.cullMode)switch(t.cullMode){case"none":s.disable(2884);break;case"front":s.enable(2884),s.cullFace(1028);break;case"back":s.enable(2884),s.cullFace(1029);break}if(t.frontFace&&s.frontFace(re("frontFace",t.frontFace,{ccw:2305,cw:2304})),t.unclippedDepth&&e.features.has("depth-clip-control")&&s.enable(34383),t.depthBias!==void 0&&(s.enable(32823),s.polygonOffset(t.depthBias,t.depthBiasSlopeScale||0)),t.provokingVertex&&e.features.has("provoking-vertex-webgl")){let n=r.getExtension("WEBGL_provoking_vertex").WEBGL_provoking_vertex,o=re("provokingVertex",t.provokingVertex,{first:36429,last:36430});n?.provokingVertexWEBGL(o)}if((t.polygonMode||t.polygonOffsetLine)&&e.features.has("polygon-mode-webgl")){if(t.polygonMode){let n=r.getExtension("WEBGL_polygon_mode").WEBGL_polygon_mode,o=re("polygonMode",t.polygonMode,{fill:6914,line:6913});n?.polygonModeWEBGL(1028,o),n?.polygonModeWEBGL(1029,o)}t.polygonOffsetLine&&s.enable(10754)}if(e.features.has("shader-clip-cull-distance-webgl")&&(t.clipDistance0&&s.enable(12288),t.clipDistance1&&s.enable(12289),t.clipDistance2&&s.enable(12290),t.clipDistance3&&s.enable(12291),t.clipDistance4&&s.enable(12292),t.clipDistance5&&s.enable(12293),t.clipDistance6&&s.enable(12294),t.clipDistance7&&s.enable(12295)),t.depthWriteEnabled!==void 0&&s.depthMask(Yi("depthWriteEnabled",t.depthWriteEnabled)),t.depthCompare&&(t.depthCompare!=="always"?s.enable(2929):s.disable(2929),s.depthFunc(Ye("depthCompare",t.depthCompare))),t.stencilWriteMask){let i=t.stencilWriteMask;s.stencilMaskSeparate(1028,i),s.stencilMaskSeparate(1029,i)}if(t.stencilReadMask&&Gr.log.warn("stencilReadMask not supported under WebGL"),t.stencilCompare){let i=t.stencilReadMask||4294967295,n=Ye("depthCompare",t.stencilCompare);t.stencilCompare!=="always"?s.enable(2960):s.disable(2960),s.stencilFuncSeparate(1028,n,0,i),s.stencilFuncSeparate(1029,n,0,i)}if(t.stencilPassOperation&&t.stencilFailOperation&&t.stencilDepthFailOperation){let i=Ut("stencilPassOperation",t.stencilPassOperation),n=Ut("stencilFailOperation",t.stencilFailOperation),o=Ut("stencilDepthFailOperation",t.stencilDepthFailOperation);s.stencilOpSeparate(1028,n,o,i),s.stencilOpSeparate(1029,n,o,i)}switch(t.blend){case!0:s.enable(3042);break;case!1:s.disable(3042);break;default:}if(t.blendColorOperation||t.blendAlphaOperation){let i=Jr("blendColorOperation",t.blendColorOperation||"add"),n=Jr("blendAlphaOperation",t.blendAlphaOperation||"add");s.blendEquationSeparate(i,n);let o=ke("blendColorSrcFactor",t.blendColorSrcFactor||"one"),a=ke("blendColorDstFactor",t.blendColorDstFactor||"zero"),c=ke("blendAlphaSrcFactor",t.blendAlphaSrcFactor||"one"),_=ke("blendAlphaDstFactor",t.blendAlphaDstFactor||"zero");s.blendFuncSeparate(o,a,c,_)}}function Ye(e,t){return re(e,t,{never:512,less:513,equal:514,"less-equal":515,greater:516,"not-equal":517,"greater-equal":518,always:519})}function Ut(e,t){return re(e,t,{keep:7680,zero:0,replace:7681,invert:5386,"increment-clamp":7682,"decrement-clamp":7683,"increment-wrap":34055,"decrement-wrap":34056})}function Jr(e,t){return re(e,t,{add:32774,subtract:32778,"reverse-subtract":32779,min:32775,max:32776})}function ke(e,t,r="color"){return re(e,t,{one:1,zero:0,src:768,"one-minus-src":769,dst:774,"one-minus-dst":775,"src-alpha":770,"one-minus-src-alpha":771,"dst-alpha":772,"one-minus-dst-alpha":773,"src-alpha-saturated":776,constant:r==="color"?32769:32771,"one-minus-constant":r==="color"?32770:32772,src1:768,"one-minus-src1":769,"src1-alpha":770,"one-minus-src1-alpha":771})}function ki(e,t){return`Illegal parameter ${t} for ${e}`}function re(e,t,r){if(!(t in r))throw new Error(ki(e,t));return r[t]}function Yi(e,t){return t}function Ki(e){let t=!0;for(let r in e){t=!1;break}return t}var Gr,ut=p(()=>{Gr=C(I(),1);oe()});function Ke(e){let t={};return e.addressModeU&&(t[10242]=wt(e.addressModeU)),e.addressModeV&&(t[10243]=wt(e.addressModeV)),e.addressModeW&&(t[32882]=wt(e.addressModeW)),e.magFilter&&(t[10240]=vt(e.magFilter)),(e.minFilter||e.mipmapFilter)&&(t[10241]=$i(e.minFilter||"linear",e.mipmapFilter)),e.lodMinClamp!==void 0&&(t[33082]=e.lodMinClamp),e.lodMaxClamp!==void 0&&(t[33083]=e.lodMaxClamp),e.type==="comparison-sampler"&&(t[34892]=34894),e.compare&&(t[34893]=Ye("compare",e.compare)),e.maxAnisotropy&&(t[34046]=e.maxAnisotropy),t}function wt(e){switch(e){case"clamp-to-edge":return 33071;case"repeat":return 10497;case"mirror-repeat":return 33648}}function vt(e){switch(e){case"nearest":return 9728;case"linear":return 9729}}function $i(e,t="none"){if(!t)return vt(e);switch(t){case"none":return vt(e);case"nearest":switch(e){case"nearest":return 9984;case"linear":return 9985}break;case"linear":switch(e){case"nearest":return 9986;case"linear":return 9987}}}var mt=p(()=>{ut()});var ts,$e,rs=p(()=>{ts=C(I(),1);mt();$e=class extends ts.Sampler{device;handle;parameters;constructor(t,r){super(t,r),this.device=t,this.parameters=Ke(r),this.handle=r.handle||this.device.gl.createSampler(),this._setSamplerParameters(this.parameters)}destroy(){this.handle&&(this.device.gl.deleteSampler(this.handle),this.handle=void 0)}toString(){return`Sampler(${this.id},${JSON.stringify(this.props)})`}_setSamplerParameters(t){for(let[r,s]of Object.entries(t)){let i=Number(r);switch(i){case 33082:case 33083:this.device.gl.samplerParameterf(this.handle,i,s);break;default:this.device.gl.samplerParameteri(this.handle,i,s);break}}}}});function J(e,t,r){if(zi(t))return r(e);let{nocatch:s=!0}=t,i=Y.get(e);i.push(),k(e,t);let n;if(s)n=r(e),i.pop();else try{n=r(e)}finally{i.pop()}return n}function zi(e){for(let t in e)return!1;return!0}var ze=p(()=>{oe();Pt()});var qe,L,Xt=p(()=>{qe=C(I(),1),L=class extends qe.TextureView{device;gl;handle;texture;constructor(t,r){super(t,{...qe.Texture.defaultProps,...r}),this.device=t,this.gl=this.device.gl,this.handle=null,this.texture=r.texture}}});function Ze(e){return Zi[e]}function je(e){return qi[e]}function ss(e){return Boolean(ns[e])}function is(e){return ns[e]}var qi,ns,Zi,Le=p(()=>{qi={[5126]:"f32",[35664]:"vec2<f32>",[35665]:"vec3<f32>",[35666]:"vec4<f32>",[5124]:"i32",[35667]:"vec2<i32>",[35668]:"vec3<i32>",[35669]:"vec4<i32>",[5125]:"u32",[36294]:"vec2<u32>",[36295]:"vec3<u32>",[36296]:"vec4<u32>",[35670]:"f32",[35671]:"vec2<f32>",[35672]:"vec3<f32>",[35673]:"vec4<f32>",[35674]:"mat2x2<f32>",[35685]:"mat2x3<f32>",[35686]:"mat2x4<f32>",[35687]:"mat3x2<f32>",[35675]:"mat3x3<f32>",[35688]:"mat3x4<f32>",[35689]:"mat4x2<f32>",[35690]:"mat4x3<f32>",[35676]:"mat4x4<f32>"},ns={[35678]:{viewDimension:"2d",sampleType:"float"},[35680]:{viewDimension:"cube",sampleType:"float"},[35679]:{viewDimension:"3d",sampleType:"float"},[35682]:{viewDimension:"3d",sampleType:"depth"},[36289]:{viewDimension:"2d-array",sampleType:"float"},[36292]:{viewDimension:"2d-array",sampleType:"depth"},[36293]:{viewDimension:"cube",sampleType:"float"},[36298]:{viewDimension:"2d",sampleType:"sint"},[36299]:{viewDimension:"3d",sampleType:"sint"},[36300]:{viewDimension:"cube",sampleType:"sint"},[36303]:{viewDimension:"2d-array",sampleType:"uint"},[36306]:{viewDimension:"2d",sampleType:"uint"},[36307]:{viewDimension:"3d",sampleType:"uint"},[36308]:{viewDimension:"cube",sampleType:"uint"},[36311]:{viewDimension:"2d-array",sampleType:"uint"}},Zi={uint8:5121,sint8:5120,unorm8:5121,snorm8:5120,uint16:5123,sint16:5122,unorm16:5123,snorm16:5122,uint32:5125,sint32:5124,float16:5131,float32:5126}});function Qe(e){return ji[e]}var ji,Wt=p(()=>{ji={[5124]:"sint32",[5125]:"uint32",[5122]:"sint16",[5123]:"uint16",[5120]:"sint8",[5121]:"uint8",[5126]:"float32",[5131]:"float16",[33635]:"uint16",[32819]:"uint16",[32820]:"uint16",[33640]:"uint32",[35899]:"uint32",[35902]:"uint32",[34042]:"uint32",[36269]:"uint32"}});function Li(e){switch(e){case"1d":break;case"2d":return 3553;case"3d":return 32879;case"cube":return 34067;case"2d-array":return 35866;case"cube-array":break}throw new Error(e)}function Vt(e,t,r){return t==="cube"?34069+r:e}var le,Je,Q,Ge=p(()=>{le=C(I(),1);_e();mt();ze();Xt();Le();Wt();Je=C(I(),1),Q=class extends le.Texture{device;gl;handle;sampler=void 0;view;glTarget;glFormat;glType;glInternalFormat;compressed;_textureUnit=0;_framebuffer=null;constructor(t,r){super(t,r,{byteAlignment:1}),this.device=t,this.gl=this.device.gl;let s=we(this.props.format);this.glTarget=Li(this.props.dimension),this.glInternalFormat=s.internalFormat,this.glFormat=s.format,this.glType=s.type,this.compressed=s.compressed,this.handle=this.props.handle||this.gl.createTexture(),this.device._setWebGLDebugMetadata(this.handle,this,{spector:this.props}),this.gl.bindTexture(this.glTarget,this.handle);let{dimension:i,width:n,height:o,depth:a,mipLevels:c,glTarget:_,glInternalFormat:l}=this;switch(i){case"2d":case"cube":this.gl.texStorage2D(_,c,l,n,o);break;case"2d-array":case"3d":this.gl.texStorage3D(_,c,l,n,o,a);break;default:throw new Error(i)}this.gl.bindTexture(this.glTarget,null),this._initializeData(r.data),this.setSampler(this.props.sampler),this.view=new L(this.device,{...this.props,texture:this}),Object.seal(this)}destroy(){this.handle&&(this._framebuffer?.destroy(),this._framebuffer=null,this.gl.deleteTexture(this.handle),this.removeStats(),this.trackDeallocatedMemory("Texture"),this.destroyed=!0)}createView(t){return new L(this.device,{...t,texture:this})}setSampler(t={}){super.setSampler(t);let r=Ke(this.sampler.props);this._setSamplerParameters(r)}copyExternalImage(t){let r=this._normalizeCopyExternalImageOptions(t);if(r.sourceX||r.sourceY)throw new Error("WebGL does not support sourceX/sourceY)");let{glFormat:s,glType:i}=this,{image:n,depth:o,mipLevel:a,x:c,y:_,z:l,width:f,height:h}=r,T=Vt(this.glTarget,this.dimension,l),A=r.flipY?{[37440]:!0}:{};return this.gl.bindTexture(this.glTarget,this.handle),J(this.gl,A,()=>{switch(this.dimension){case"2d":case"cube":this.gl.texSubImage2D(T,a,c,_,f,h,s,i,n);break;case"2d-array":case"3d":this.gl.texSubImage3D(T,a,c,_,l,f,h,o,s,i,n);break;default:}}),this.gl.bindTexture(this.glTarget,null),{width:r.width,height:r.height}}copyImageData(t){let r=this._normalizeCopyImageDataOptions(t),s=r.data,{width:i,height:n,depth:o,z:a=0}=r,{mipLevel:c=0,byteOffset:_=0,x:l=0,y:f=0}=r,{glFormat:h,glType:T,compressed:A}=this,R=Vt(this.glTarget,this.dimension,a),d;if(!this.compressed){let{bytesPerPixel:M}=this.device.getTextureFormatInfo(this.format);if(M){if(r.bytesPerRow%M!==0)throw new Error(`bytesPerRow (${r.bytesPerRow}) must be a multiple of bytesPerPixel (${M}) for ${this.format}`);d=r.bytesPerRow/M}}let g=this.compressed?{}:{[3317]:this.byteAlignment,...d!==void 0?{[3314]:d}:{},[32878]:r.rowsPerImage};this.gl.bindTexture(this.glTarget,this.handle),J(this.gl,g,()=>{switch(this.dimension){case"2d":case"cube":A?this.gl.compressedTexSubImage2D(R,c,l,f,i,n,h,s,_):this.gl.texSubImage2D(R,c,l,f,i,n,h,T,s,_);break;case"2d-array":case"3d":A?this.gl.compressedTexSubImage3D(R,c,l,f,a,i,n,o,h,s,_):this.gl.texSubImage3D(R,c,l,f,a,i,n,o,h,T,s,_);break;default:}}),this.gl.bindTexture(this.glTarget,null)}readBuffer(t={},r){throw new Error("readBuffer not implemented")}async readDataAsync(t={}){return this.readDataSyncWebGL(t)}writeBuffer(t,r={}){}writeData(t,r={}){let s=this._normalizeTextureWriteOptions(r),i=ArrayBuffer.isView(t)?t:new Uint8Array(t),{}=this,{width:n,height:o,mipLevel:a,x:c,y:_,z:l}=s,{glFormat:f,glType:h,compressed:T}=this,A=0,R=Vt(this.glTarget,this.dimension,A),d=this.compressed?{}:{[3317]:this.byteAlignment};this.gl.bindTexture(R,this.handle),this.gl.bindBuffer(35052,null),J(this.gl,d,()=>{switch(this.dimension){case"2d":case"cube":T?this.gl.compressedTexSubImage2D(R,a,c,_,n,o,f,i):this.gl.texSubImage2D(R,a,c,_,n,o,f,h,i);break;case"2d-array":case"3d":T?this.gl.compressedTexSubImage3D(R,a,c,_,l,n,o,A,f,i):this.gl.texSubImage3D(R,a,c,_,l,n,o,A,f,h,i);break;default:}}),this.gl.bindTexture(R,null)}_getRowByteAlignment(t,r){return 1}_getFramebuffer(){return this._framebuffer||=this.device.createFramebuffer({id:`framebuffer-for-${this.id}`,width:this.width,height:this.height,colorAttachments:[this]}),this._framebuffer}readDataSyncWebGL(t={}){let r=this._normalizeTextureReadOptions(t),s=this.computeMemoryLayout(r),i=Qe(this.glType),n=(0,Je.getTypedArrayConstructor)(i),o=new n(s.byteLength),a=(0,Je.getDataType)(o),c=Ze(a),_=this._getFramebuffer(),l=this.gl.bindFramebuffer(36160,_.handle);return this.gl.readBuffer(36064),this.gl.readPixels(r.x,r.y,r.width,r.height,this.glFormat,c,o),this.gl.bindFramebuffer(36160,l||null),o.buffer}generateMipmapsWebGL(t){if(!(!(this.device.isTextureFormatRenderable(this.props.format)&&this.device.isTextureFormatFilterable(this.props.format))&&(le.log.warn(`${this} is not renderable or filterable, may not be able to generate mipmaps`)(),!t?.force)))try{this.gl.bindTexture(this.glTarget,this.handle),this.gl.generateMipmap(this.glTarget)}catch(s){le.log.warn(`Error generating mipmap for ${this}: ${s.message}`)()}finally{this.gl.bindTexture(this.glTarget,null)}}_setSamplerParameters(t){le.log.log(2,`${this.id} sampler parameters`,this.device.getGLKeys(t))(),this.gl.bindTexture(this.glTarget,this.handle);for(let[r,s]of Object.entries(t)){let i=Number(r),n=s;switch(i){case 33082:case 33083:this.gl.texParameterf(this.glTarget,i,n);break;case 10240:case 10241:this.gl.texParameteri(this.glTarget,i,n);break;case 10242:case 10243:case 32882:this.gl.texParameteri(this.glTarget,i,n);break;case 34046:this.device.features.has("texture-filterable-anisotropic-webgl")&&this.gl.texParameteri(this.glTarget,i,n);break;case 34892:case 34893:this.gl.texParameteri(this.glTarget,i,n);break}}this.gl.bindTexture(this.glTarget,null)}_getActiveUnit(){return this.gl.getParameter(34016)-33984}_bind(t){let{gl:r}=this;return t!==void 0&&(this._textureUnit=t,r.activeTexture(33984+t)),r.bindTexture(this.glTarget,this.handle),t}_unbind(t){let{gl:r}=this;return t!==void 0&&(this._textureUnit=t,r.activeTexture(33984+t)),r.bindTexture(this.glTarget,null),t}}});function as(e,t){let r={attributes:[],bindings:[]};r.attributes=Qi(e,t);let s=en(e,t);for(let a of s){let c=a.uniforms.map(_=>({name:_.name,format:_.format,byteOffset:_.byteOffset,byteStride:_.byteStride,arrayLength:_.arrayLength}));r.bindings.push({type:"uniform",name:a.name,group:0,location:a.location,visibility:(a.vertex?1:0)&(a.fragment?2:0),minBindingSize:a.byteLength,uniforms:c})}let i=Gi(e,t),n=0;for(let a of i)if(ss(a.type)){let{viewDimension:c,sampleType:_}=is(a.type);r.bindings.push({type:"texture",name:a.name,group:0,location:n,viewDimension:c,sampleType:_}),a.textureUnit=n,n+=1}i.length&&(r.uniforms=i);let o=Ji(e,t);return o?.length&&(r.varyings=o),r}function Qi(e,t){let r=[],s=e.getProgramParameter(t,35721);for(let i=0;i<s;i++){let n=e.getActiveAttrib(t,i);if(!n)throw new Error("activeInfo");let{name:o,type:a}=n,c=e.getAttribLocation(t,o);if(c>=0){let _=je(a),l=/instance/i.test(o)?"instance":"vertex";r.push({name:o,location:c,stepMode:l,type:_})}}return r.sort((i,n)=>i.location-n.location),r}function Ji(e,t){let r=[],s=e.getProgramParameter(t,35971);for(let i=0;i<s;i++){let n=e.getTransformFeedbackVarying(t,i);if(!n)throw new Error("activeInfo");let{name:o,type:a,size:c}=n,_=je(a),{type:l,components:f}=(0,os.getVariableShaderTypeInfo)(_);r.push({location:i,name:o,type:l,size:c*f})}return r.sort((i,n)=>i.location-n.location),r}function Gi(e,t){let r=[],s=e.getProgramParameter(t,35718);for(let i=0;i<s;i++){let n=e.getActiveUniform(t,i);if(!n)throw new Error("activeInfo");let{name:o,size:a,type:c}=n,{name:_,isArray:l}=tn(o),f=e.getUniformLocation(t,_),h={location:f,name:_,size:a,type:c,isArray:l};if(r.push(h),h.size>1)for(let T=0;T<h.size;T++){let A=`${_}[${T}]`;f=e.getUniformLocation(t,A);let R={...h,name:A,location:f};r.push(R)}}return r}function en(e,t){let r=(n,o)=>e.getActiveUniformBlockParameter(t,n,o),s=[],i=e.getProgramParameter(t,35382);for(let n=0;n<i;n++){let o={name:e.getActiveUniformBlockName(t,n)||"",location:r(n,35391),byteLength:r(n,35392),vertex:r(n,35396),fragment:r(n,35398),uniformCount:r(n,35394),uniforms:[]},a=r(n,35395)||[],c=e.getActiveUniforms(t,a,35383),_=e.getActiveUniforms(t,a,35384),l=e.getActiveUniforms(t,a,35387),f=e.getActiveUniforms(t,a,35388);for(let h=0;h<o.uniformCount;++h){let T=e.getActiveUniform(t,a[h]);if(!T)throw new Error("activeInfo");let A=je(c[h]);o.uniforms.push({name:T.name,format:A,type:c[h],arrayLength:_[h],byteOffset:l[h],byteStride:f[h]})}s.push(o)}return s.sort((n,o)=>n.location-o.location),s}function tn(e){if(e[e.length-1]!=="]")return{name:e,length:1,isArray:!1};let r=/([^[]*)(\[[0-9]+\])?/.exec(e);if(!r||r.length<2)throw new Error(`Failed to parse GLSL uniform name ${e}`);return{name:r[1],length:r[2]?1:0,isArray:Boolean(r[2])}}var os,cs=p(()=>{os=C(I(),1);Le()});function _s(e,t,r,s){let i=e,n=s;n===!0&&(n=1),n===!1&&(n=0);let o=typeof n=="number"?[n]:n;switch(r){case 35678:case 35680:case 35679:case 35682:case 36289:case 36292:case 36293:case 36298:case 36299:case 36300:case 36303:case 36306:case 36307:case 36308:case 36311:if(typeof s!="number")throw new Error("samplers must be set to integers");return e.uniform1i(t,s);case 5126:return e.uniform1fv(t,o);case 35664:return e.uniform2fv(t,o);case 35665:return e.uniform3fv(t,o);case 35666:return e.uniform4fv(t,o);case 5124:return e.uniform1iv(t,o);case 35667:return e.uniform2iv(t,o);case 35668:return e.uniform3iv(t,o);case 35669:return e.uniform4iv(t,o);case 35670:return e.uniform1iv(t,o);case 35671:return e.uniform2iv(t,o);case 35672:return e.uniform3iv(t,o);case 35673:return e.uniform4iv(t,o);case 5125:return i.uniform1uiv(t,o,1);case 36294:return i.uniform2uiv(t,o,2);case 36295:return i.uniform3uiv(t,o,3);case 36296:return i.uniform4uiv(t,o,4);case 35674:return e.uniformMatrix2fv(t,!1,o);case 35675:return e.uniformMatrix3fv(t,!1,o);case 35676:return e.uniformMatrix4fv(t,!1,o);case 35685:return i.uniformMatrix2x3fv(t,!1,o);case 35686:return i.uniformMatrix2x4fv(t,!1,o);case 35687:return i.uniformMatrix3x2fv(t,!1,o);case 35688:return i.uniformMatrix3x4fv(t,!1,o);case 35689:return i.uniformMatrix4x2fv(t,!1,o);case 35690:return i.uniformMatrix4x3fv(t,!1,o)}throw new Error("Illegal uniform")}var ls=p(()=>{});function fs(e){switch(e){case"point-list":return 0;case"line-list":return 1;case"line-strip":return 3;case"triangle-list":return 4;case"triangle-strip":return 5;default:throw new Error(e)}}function hs(e){switch(e){case"point-list":return 0;case"line-list":return 1;case"line-strip":return 1;case"triangle-list":return 4;case"triangle-strip":return 4;default:throw new Error(e)}}var Ht=p(()=>{});function rn(e,t){let r={...e,attributes:e.attributes.map(s=>({...s}))};for(let s of t?.attributes||[]){let i=r.attributes.find(n=>n.name===s.name);i?(i.type=s.type||i.type,i.stepMode=s.stepMode||i.stepMode):D.log.warn(`shader layout attribute ${s.name} not present in shader`)}return r}var D,Ts,et,Rs=p(()=>{D=C(I(),1);cs();ut();ls();Ve();Xe();Ge();Xt();Ht();Ts=4,et=class extends D.RenderPipeline{device;handle;vs;fs;introspectedLayout;uniforms={};bindings={};varyings=null;_uniformCount=0;_uniformSetters={};get[Symbol.toStringTag](){return"WEBGLRenderPipeline"}constructor(t,r){super(t,r),this.device=t,this.handle=this.props.handle||this.device.gl.createProgram(),this.device._setWebGLDebugMetadata(this.handle,this,{spector:{id:this.props.id}}),this.vs=r.vs,this.fs=r.fs;let{varyings:s,bufferMode:i=35981}=r;s&&s.length>0&&(this.varyings=s,this.device.gl.transformFeedbackVaryings(this.handle,s,i)),this._linkShaders(),D.log.time(3,`RenderPipeline ${this.id} - shaderLayout introspection`)(),this.introspectedLayout=as(this.device.gl,this.handle),D.log.timeEnd(3,`RenderPipeline ${this.id} - shaderLayout introspection`)(),this.shaderLayout=r.shaderLayout?rn(this.introspectedLayout,r.shaderLayout):this.introspectedLayout}destroy(){this.handle&&(this.device.gl.useProgram(null),this.device.gl.deleteProgram(this.handle),this.destroyed=!0,this.handle.destroyed=!0,this.handle=null)}setBindings(t,r){for(let[s,i]of Object.entries(t)){let n=this.shaderLayout.bindings.find(o=>o.name===s)||this.shaderLayout.bindings.find(o=>o.name===`${s}Uniforms`);if(!n){let o=this.shaderLayout.bindings.map(a=>`"${a.name}"`).join(", ");r?.disableWarnings||D.log.warn(`No binding "${s}" in render pipeline "${this.id}", expected one of ${o}`,i)();continue}switch(i||D.log.warn(`Unsetting binding "${s}" in render pipeline "${this.id}"`)(),n.type){case"uniform":if(!(i instanceof K)&&!(i.buffer instanceof K))throw new Error("buffer value");break;case"texture":if(!(i instanceof L||i instanceof Q||i instanceof j))throw new Error(`${this} Bad texture binding for ${s}`);break;case"sampler":D.log.warn(`Ignoring sampler ${s}`)();break;default:throw new Error(n.type)}this.bindings[s]=i}}draw(t){let{renderPass:r,parameters:s=this.props.parameters,topology:i=this.props.topology,vertexArray:n,vertexCount:o,instanceCount:a,isInstanced:c=!1,firstVertex:_=0,transformFeedback:l}=t,f=fs(i),h=Boolean(n.indexBuffer),T=n.indexBuffer?.glIndexType;if(this.linkStatus!=="success")return D.log.info(2,`RenderPipeline:${this.id}.draw() aborted - waiting for shader linking`)(),!1;if(!this._areTexturesRenderable())return D.log.info(2,`RenderPipeline:${this.id}.draw() aborted - textures not yet loaded`)(),!1;this.device.gl.useProgram(this.handle),n.bindBeforeRender(r),l&&l.begin(this.props.topology),this._applyBindings(),this._applyUniforms();let A=r;return es(this.device,s,A.glParameters,()=>{h&&c?this.device.gl.drawElementsInstanced(f,o||0,T,_,a||0):h?this.device.gl.drawElements(f,o||0,T,_):c?this.device.gl.drawArraysInstanced(f,_,o||0,a||0):this.device.gl.drawArrays(f,_,o||0),l&&l.end()}),n.unbindAfterRender(r),!0}async _linkShaders(){let{gl:t}=this.device;if(t.attachShader(this.handle,this.vs.handle),t.attachShader(this.handle,this.fs.handle),D.log.time(Ts,`linkProgram for ${this.id}`)(),t.linkProgram(this.handle),D.log.timeEnd(Ts,`linkProgram for ${this.id}`)(),D.log.level,!this.device.features.has("compilation-status-async-webgl")){let s=this._getLinkStatus();this._reportLinkStatus(s);return}D.log.once(1,"RenderPipeline linking is asynchronous")(),await this._waitForLinkComplete(),D.log.info(2,`RenderPipeline ${this.id} - async linking complete: ${this.linkStatus}`)();let r=this._getLinkStatus();this._reportLinkStatus(r)}async _reportLinkStatus(t){switch(t){case"success":return;default:let r=t==="link-error"?"Link error":"Validation error";switch(this.vs.compilationStatus){case"error":throw this.vs.debugShader(),new Error(`${this} ${r} during compilation of ${this.vs}`);case"pending":await this.vs.asyncCompilationStatus,this.vs.debugShader();break;case"success":break}switch(this.fs?.compilationStatus){case"error":throw this.fs.debugShader(),new Error(`${this} ${r} during compilation of ${this.fs}`);case"pending":await this.fs.asyncCompilationStatus,this.fs.debugShader();break;case"success":break}let s=this.device.gl.getProgramInfoLog(this.handle);this.device.reportError(new Error(`${r} during ${t}: ${s}`),this)(),this.device.debug()}}_getLinkStatus(){let{gl:t}=this.device;return t.getProgramParameter(this.handle,35714)?(t.validateProgram(this.handle),t.getProgramParameter(this.handle,35715)?(this.linkStatus="success","success"):(this.linkStatus="error","validation-error")):(this.linkStatus="error","link-error")}async _waitForLinkComplete(){let t=async i=>await new Promise(n=>setTimeout(n,i));if(!this.device.features.has("compilation-status-async-webgl")){await t(10);return}let{gl:s}=this.device;for(;;){if(s.getProgramParameter(this.handle,37297))return;await t(10)}}_areTexturesRenderable(){let t=!0;for(let r of this.shaderLayout.bindings)!this.bindings[r.name]&&!this.bindings[r.name.replace(/Uniforms$/,"")]&&(D.log.warn(`Binding ${r.name} not found in ${this.id}`)(),t=!1);return t}_applyBindings(){if(this.linkStatus!=="success")return;let{gl:t}=this.device;t.useProgram(this.handle);let r=0,s=0;for(let i of this.shaderLayout.bindings){let n=this.bindings[i.name]||this.bindings[i.name.replace(/Uniforms$/,"")];if(!n)throw new Error(`No value for binding ${i.name} in ${this.id}`);switch(i.type){case"uniform":let{name:o}=i,a=t.getUniformBlockIndex(this.handle,o);if(a===4294967295)throw new Error(`Invalid uniform block name ${o}`);t.uniformBlockBinding(this.handle,s,a),n instanceof K?t.bindBufferBase(35345,s,n.handle):t.bindBufferRange(35345,s,n.buffer.handle,n.offset||0,n.size||n.buffer.byteLength-n.offset),s+=1;break;case"texture":if(!(n instanceof L||n instanceof Q||n instanceof j))throw new Error("texture");let c;if(n instanceof L)c=n.texture;else if(n instanceof Q)c=n;else if(n instanceof j&&n.colorAttachments[0]instanceof L)D.log.warn("Passing framebuffer in texture binding may be deprecated. Use fbo.colorAttachments[0] instead")(),c=n.colorAttachments[0].texture;else throw new Error("No texture");t.activeTexture(33984+r),t.bindTexture(c.glTarget,c.handle),r+=1;break;case"sampler":break;case"storage":case"read-only-storage":throw new Error(`binding type '${i.type}' not supported in WebGL`)}}}_applyUniforms(){for(let t of this.shaderLayout.uniforms||[]){let{name:r,location:s,type:i,textureUnit:n}=t,o=this.uniforms[r]??n;o!==void 0&&_s(this.device.gl,s,i,o)}}}});function sn(e,t){let r=t.sourceBuffer,s=t.destinationBuffer;e.gl.bindBuffer(36662,r.handle),e.gl.bindBuffer(36663,s.handle),e.gl.copyBufferSubData(36662,36663,t.sourceOffset??0,t.destinationOffset??0,t.size),e.gl.bindBuffer(36662,null),e.gl.bindBuffer(36663,null)}function nn(e,t){throw new Error("Not implemented")}function on(e,t){let{sourceTexture:r,mipLevel:s=0,aspect:i="all",width:n=t.sourceTexture.width,height:o=t.sourceTexture.height,depthOrArrayLayers:a=0,origin:c=[0,0],destinationBuffer:_,byteOffset:l=0,bytesPerRow:f,rowsPerImage:h}=t;if(i!=="all")throw new Error("aspect not supported in WebGL");if(s!==0||a!==0||f||h)throw new Error("not implemented");let{framebuffer:T,destroyFramebuffer:A}=As(r),R;try{let d=_,g=n||T.width,M=o||T.height,E=we(T.colorAttachments[0].texture.props.format),x=E.format,S=E.type;e.gl.bindBuffer(35051,d.handle),R=e.gl.bindFramebuffer(36160,T.handle),e.gl.readPixels(c[0],c[1],g,M,x,S,l)}finally{e.gl.bindBuffer(35051,null),R!==void 0&&e.gl.bindFramebuffer(36160,R),A&&T.destroy()}}function an(e,t){let{sourceTexture:r,destinationMipLevel:s=0,origin:i=[0,0],destinationOrigin:n=[0,0],destinationTexture:o}=t,{width:a=t.destinationTexture.width,height:c=t.destinationTexture.height}=t,{framebuffer:_,destroyFramebuffer:l}=As(r),[f,h]=i,[T,A,R]=n,d=e.gl.bindFramebuffer(36160,_.handle),g,M;if(o instanceof Q)g=o,a=Number.isFinite(a)?a:g.width,c=Number.isFinite(c)?c:g.height,g._bind(0),M=g.glTarget;else throw new Error("invalid destination");switch(M){case 3553:case 34067:e.gl.copyTexSubImage2D(M,s,T,A,f,h,a,c);break;case 35866:case 32879:e.gl.copyTexSubImage3D(M,s,T,A,R,f,h,a,c);break;default:}g&&g._unbind(),e.gl.bindFramebuffer(36160,d),l&&_.destroy()}function As(e){if(e instanceof rt.Texture){let{width:t,height:r,id:s}=e;return{framebuffer:e.device.createFramebuffer({id:`framebuffer-for-${s}`,width:t,height:r,colorAttachments:[e]}),destroyFramebuffer:!0}}return{framebuffer:e,destroyFramebuffer:!1}}var rt,tt,ds=p(()=>{rt=C(I(),1);Ge();_e();tt=class extends rt.CommandBuffer{device;handle=null;commands=[];constructor(t){super(t,{}),this.device=t}_executeCommands(t=this.commands){for(let r of t)switch(r.name){case"copy-buffer-to-buffer":sn(this.device,r.options);break;case"copy-buffer-to-texture":nn(this.device,r.options);break;case"copy-texture-to-buffer":on(this.device,r.options);break;case"copy-texture-to-texture":an(this.device,r.options);break;default:throw new Error(r.name)}}}});var ps,cn,st,gs=p(()=>{ps=C(I(),1);ze();oe();cn=[1,2,4,8],st=class extends ps.RenderPass{device;handle=null;glParameters={};constructor(t,r){super(t,r),this.device=t;let s;if(!r?.parameters?.viewport)if(r?.framebuffer){let{width:n,height:o}=r.framebuffer;s=[0,0,n,o]}else{let[n,o]=t.getDefaultCanvasContext().getDrawingBufferSize();s=[0,0,n,o]}this.device.pushState(),this.setParameters({viewport:s,...this.props.parameters});let i=this.props.framebuffer;if(this.props.framebuffer&&i?.handle){let n=this.props.framebuffer.colorAttachments.map((o,a)=>36064+a);this.device.gl.drawBuffers(n)}else this.props.framebuffer||this.device.gl.drawBuffers([1029]);this.clear()}end(){this.device.popState()}pushDebugGroup(t){}popDebugGroup(){}insertDebugMarker(t){}setParameters(t={}){let r={...this.glParameters};r.framebuffer=this.props.framebuffer||null,this.props.depthReadOnly&&(r.depthMask=!this.props.depthReadOnly),r.stencilMask=this.props.stencilReadOnly?0:1,r[35977]=this.props.discard,t.viewport&&(t.viewport.length>=6?(r.viewport=t.viewport.slice(0,4),r.depthRange=[t.viewport[4],t.viewport[5]]):r.viewport=t.viewport),t.scissorRect&&(r.scissorTest=!0,r.scissor=t.scissorRect),t.blendConstant&&(r.blendColor=t.blendConstant),t.stencilReference!==void 0&&(r[2967]=t.stencilReference,r[36003]=t.stencilReference),"colorMask"in t&&(r.colorMask=cn.map(s=>Boolean(s&t.colorMask))),this.glParameters=r,k(this.device.gl,r)}beginOcclusionQuery(t){this.props.occlusionQuerySet?.beginOcclusionQuery()}endOcclusionQuery(){this.props.occlusionQuerySet?.endOcclusionQuery()}clear(){let t={...this.glParameters},r=0;this.props.clearColors&&this.props.clearColors.forEach((s,i)=>{s&&this.clearColorBuffer(i,s)}),this.props.clearColor!==!1&&this.props.clearColors===void 0&&(r|=16384,t.clearColor=this.props.clearColor),this.props.clearDepth!==!1&&(r|=256,t.clearDepth=this.props.clearDepth),this.props.clearStencil!==!1&&(r|=1024,t.clearStencil=this.props.clearStencil),r!==0&&J(this.device.gl,t,()=>{this.device.gl.clear(r)})}clearColorBuffer(t=0,r=[0,0,0,0]){J(this.device.gl,{framebuffer:this.props.framebuffer},()=>{switch(r.constructor){case Int8Array:case Int16Array:case Int32Array:this.device.gl.clearBufferiv(6144,t,r);break;case Uint8Array:case Uint8ClampedArray:case Uint16Array:case Uint32Array:this.device.gl.clearBufferuiv(6144,t,r);break;case Float32Array:this.device.gl.clearBufferfv(6144,t,r);break;default:throw new Error("clearColorBuffer: color must be typed array")}})}}});var Ss,Ie,Es=p(()=>{Ss=C(I(),1);ds();gs();Ie=class extends Ss.CommandEncoder{device;handle=null;commandBuffer;constructor(t,r){super(t,r),this.device=t,this.commandBuffer=new tt(t)}destroy(){}finish(){return this.commandBuffer}beginRenderPass(t){return new st(this.device,t)}beginComputePass(t){throw new Error("ComputePass not supported in WebGL")}copyBufferToBuffer(t){this.commandBuffer.commands.push({name:"copy-buffer-to-buffer",options:t})}copyBufferToTexture(t){this.commandBuffer.commands.push({name:"copy-buffer-to-texture",options:t})}copyTextureToBuffer(t){this.commandBuffer.commands.push({name:"copy-texture-to-buffer",options:t})}copyTextureToTexture(t){this.commandBuffer.commands.push({name:"copy-texture-to-texture",options:t})}pushDebugGroup(t){}popDebugGroup(){}insertDebugMarker(t){}resolveQuerySet(t,r,s){}}});function Ms(e){let{target:t,source:r,start:s=0,count:i=1}=e,n=r.length,o=i*n,a=0;for(let c=s;a<n;a++)t[c++]=r[a];for(;a<o;)a<o-a?(t.copyWithin(s+a,s,s+a),a*=2):(t.copyWithin(s+a,s,s+o-a),a=o);return e.target}var xs=p(()=>{});function _n(e){return Array.isArray(e)?new Float32Array(e):e}function ln(e,t){if(!e||!t||e.length!==t.length||e.constructor!==t.constructor)return!1;for(let r=0;r<e.length;++r)if(e[r]!==t[r])return!1;return!0}var it,fe,Ns=p(()=>{it=C(I(),1);hr();Ft();xs();fe=class extends it.VertexArray{get[Symbol.toStringTag](){return"VertexArray"}device;handle;buffer=null;bufferValue=null;static isConstantAttributeZeroSupported(t){return Nt()==="Chrome"}constructor(t,r){super(t,r),this.device=t,this.handle=this.device.gl.createVertexArray()}destroy(){super.destroy(),this.buffer&&this.buffer?.destroy(),this.handle&&(this.device.gl.deleteVertexArray(this.handle),this.handle=void 0)}setIndexBuffer(t){let r=t;if(r&&r.glTarget!==34963)throw new Error("Use .setBuffer()");this.device.gl.bindVertexArray(this.handle),this.device.gl.bindBuffer(34963,r?r.handle:null),this.indexBuffer=r,this.device.gl.bindVertexArray(null)}setBuffer(t,r){let s=r;if(s.glTarget===34963)throw new Error("Use .setIndexBuffer()");let{size:i,type:n,stride:o,offset:a,normalized:c,integer:_,divisor:l}=this._getAccessor(t);this.device.gl.bindVertexArray(this.handle),this.device.gl.bindBuffer(34962,s.handle),_?this.device.gl.vertexAttribIPointer(t,i,n,o,a):this.device.gl.vertexAttribPointer(t,i,n,c,o,a),this.device.gl.bindBuffer(34962,null),this.device.gl.enableVertexAttribArray(t),this.device.gl.vertexAttribDivisor(t,l||0),this.attributes[t]=s,this.device.gl.bindVertexArray(null)}setConstantWebGL(t,r){this._enable(t,!1),this.attributes[t]=r}bindBeforeRender(){this.device.gl.bindVertexArray(this.handle),this._applyConstantAttributes()}unbindAfterRender(){this.device.gl.bindVertexArray(null)}_applyConstantAttributes(){for(let t=0;t<this.maxVertexAttributes;++t){let r=this.attributes[t];ArrayBuffer.isView(r)&&this.device.setConstantAttributeWebGL(t,r)}}_getAccessor(t){let r=this.attributeInfos[t];if(!r)throw new Error(`Unknown attribute location ${t}`);let s=Ue(r.bufferDataType);return{size:r.bufferComponents,type:s,stride:r.byteStride,offset:r.byteOffset,normalized:r.normalized,integer:r.integer,divisor:r.stepMode==="instance"?1:0}}_enable(t,r=!0){let i=fe.isConstantAttributeZeroSupported(this.device)||t!==0;(r||i)&&(t=Number(t),this.device.gl.bindVertexArray(this.handle),r?this.device.gl.enableVertexAttribArray(t):this.device.gl.disableVertexAttribArray(t),this.device.gl.bindVertexArray(null))}getConstantBuffer(t,r){let s=_n(r),i=s.byteLength*t,n=s.length*t;if(this.buffer&&i!==this.buffer.byteLength)throw new Error(`Buffer size is immutable, byte length ${i} !== ${this.buffer.byteLength}.`);let o=!this.buffer;if(this.buffer=this.buffer||this.device.createBuffer({byteLength:i}),o||=!ln(s,this.bufferValue),o){let a=(0,it.getScratchArray)(r.constructor,n);Ms({target:a,source:s,start:0,count:n}),this.buffer.write(a),this.bufferValue=r}return this.buffer}}});function Cs(e){return typeof e=="number"?Number.isInteger(e):/^\d+$/.test(e)}var ot,nt,Is=p(()=>{ot=C(I(),1);kt();Ht();nt=class extends ot.TransformFeedback{device;gl;handle;layout;buffers={};unusedBuffers={};bindOnUse=!0;_bound=!1;constructor(t,r){super(t,r),this.device=t,this.gl=t.gl,this.handle=this.props.handle||this.gl.createTransformFeedback(),this.layout=this.props.layout,r.buffers&&this.setBuffers(r.buffers),Object.seal(this)}destroy(){this.gl.deleteTransformFeedback(this.handle),super.destroy()}begin(t="point-list"){this.gl.bindTransformFeedback(36386,this.handle),this.bindOnUse&&this._bindBuffers(),this.gl.beginTransformFeedback(hs(t))}end(){this.gl.endTransformFeedback(),this.bindOnUse&&this._unbindBuffers(),this.gl.bindTransformFeedback(36386,null)}setBuffers(t){this.buffers={},this.unusedBuffers={},this.bind(()=>{for(let r in t)this.setBuffer(r,t[r])})}setBuffer(t,r){let s=this._getVaryingIndex(t),{buffer:i,byteLength:n,byteOffset:o}=this._getBufferRange(r);if(s<0){this.unusedBuffers[t]=i,ot.log.warn(`${this.id} unusedBuffers varying buffer ${t}`)();return}this.buffers[s]={buffer:i,byteLength:n,byteOffset:o},this.bindOnUse||this._bindBuffer(s,i,o,n)}getBuffer(t){if(Cs(t))return this.buffers[t]||null;let r=this._getVaryingIndex(t);return r>=0?this.buffers[r]:null}bind(t=this.handle){if(typeof t!="function")return this.gl.bindTransformFeedback(36386,t),this;let r;return this._bound?r=t():(this.gl.bindTransformFeedback(36386,this.handle),this._bound=!0,r=t(),this._bound=!1,this.gl.bindTransformFeedback(36386,null)),r}unbind(){this.bind(null)}_getBufferRange(t){if(t instanceof K)return{buffer:t,byteOffset:0,byteLength:t.byteLength};let{buffer:r,byteOffset:s=0,byteLength:i=t.buffer.byteLength}=t;return{buffer:r,byteOffset:s,byteLength:i}}_getVaryingIndex(t){if(Cs(t))return Number(t);for(let r of this.layout.varyings||[])if(t===r.name)return r.location;return-1}_bindBuffers(){for(let t in this.buffers){let{buffer:r,byteLength:s,byteOffset:i}=this._getBufferRange(this.buffers[t]);this._bindBuffer(Number(t),r,i,s)}}_unbindBuffers(){for(let t in this.buffers)this.gl.bindBufferBase(35982,Number(t),null)}_bindBuffer(t,r,s=0,i){let n=r&&r.handle;!n||i===void 0?this.gl.bindBufferBase(35982,t,n):this.gl.bindBufferRange(35982,t,n,s,i)}}});var Os,at,bs=p(()=>{Os=C(I(),1),at=class extends Os.QuerySet{device;handle;target=null;_queryPending=!1;_pollingPromise=null;get[Symbol.toStringTag](){return"Query"}constructor(t,r){if(super(t,r),this.device=t,r.count>1)throw new Error("WebGL QuerySet can only have one value");let s=this.device.gl.createQuery();if(!s)throw new Error("WebGL query not supported");this.handle=s,Object.seal(this)}destroy(){this.device.gl.deleteQuery(this.handle)}beginTimestampQuery(){return this._begin(35007)}endTimestampQuery(){this._end()}beginOcclusionQuery(t){return this._begin(t?.conservative?36202:35887)}endOcclusionQuery(){this._end()}beginTransformFeedbackQuery(){return this._begin(35976)}endTransformFeedbackQuery(){this._end()}async resolveQuery(){return[await this.pollQuery()]}_begin(t){this._queryPending||(this.target=t,this.device.gl.beginQuery(this.target,this.handle))}_end(){this._queryPending||this.target&&(this.device.gl.endQuery(this.target),this.target=null,this._queryPending=!0)}isResultAvailable(){if(!this._queryPending)return!1;let t=this.device.gl.getQueryParameter(this.handle,34919);return t&&(this._queryPending=!1),t}isTimerDisjoint(){return this.device.gl.getParameter(36795)}getResult(){return this.device.gl.getQueryParameter(this.handle,34918)}getTimerMilliseconds(){return this.getResult()/1e6}pollQuery(t=Number.POSITIVE_INFINITY){if(this._pollingPromise)return this._pollingPromise;let r=0;return this._pollingPromise=new Promise((s,i)=>{let n=()=>{this.isResultAvailable()?(s(this.getResult()),this._pollingPromise=null):r++>t?(i("Timed out"),this._pollingPromise=null):requestAnimationFrame(n)};requestAnimationFrame(n)}),this._pollingPromise}}});var Ps,ct,Fs=p(()=>{Ps=C(I(),1),ct=class extends Ps.Fence{device;gl;handle;signaled;_signaled=!1;constructor(t,r={}){super(t,{}),this.device=t,this.gl=t.gl;let s=this.props.handle||this.gl.fenceSync(this.gl.SYNC_GPU_COMMANDS_COMPLETE,0);if(!s)throw new Error("Failed to create WebGL fence");this.handle=s,this.signaled=new Promise(i=>{let n=()=>{let o=this.gl.clientWaitSync(this.handle,0,0);o===this.gl.ALREADY_SIGNALED||o===this.gl.CONDITION_SATISFIED?(this._signaled=!0,i()):setTimeout(n,1)};n()})}isSignaled(){if(this._signaled)return!0;let t=this.gl.getSyncParameter(this.handle,this.gl.SYNC_STATUS);return this._signaled=t===this.gl.SIGNALED,this._signaled}destroy(){this.destroyed||this.gl.deleteSync(this.handle)}}});function Yt(e){switch(e){case 6406:case 33326:case 6403:case 36244:return 1;case 33339:case 33340:case 33328:case 33320:case 33319:return 2;case 6407:case 36248:case 34837:return 3;case 6408:case 36249:case 34836:return 4;default:return 0}}function Ds(e){switch(e){case 5121:return 1;case 33635:case 32819:case 32820:return 2;case 5126:return 4;default:return 0}}var Bs=p(()=>{});function ys(e,t){let{sourceX:r=0,sourceY:s=0,sourceAttachment:i=0}=t||{},{target:n=null,sourceWidth:o,sourceHeight:a,sourceDepth:c,sourceFormat:_,sourceType:l}=t||{},{framebuffer:f,deleteFramebuffer:h}=us(e),{gl:T,handle:A}=f;o||=f.width,a||=f.height;let R=f.colorAttachments[i]?.texture;if(!R)throw new Error(`Invalid framebuffer attachment ${i}`);c=R?.depth||1,_||=R?.glFormat||6408,l||=R?.glType||5121,n=hn(n,l,_,o,a,c);let d=(0,he.getDataType)(n);l=l||Ze(d);let g=T.bindFramebuffer(36160,A);return T.readBuffer(36064+i),T.readPixels(r,s,o,a,_,l,n),T.readBuffer(36064),T.bindFramebuffer(36160,g||null),h&&f.destroy(),n}function Us(e,t){let{target:r,sourceX:s=0,sourceY:i=0,sourceFormat:n=6408,targetByteOffset:o=0}=t||{},{sourceWidth:a,sourceHeight:c,sourceType:_}=t||{},{framebuffer:l,deleteFramebuffer:f}=us(e);a=a||l.width,c=c||l.height;let h=l;_=_||5121;let T=r;if(!T){let R=Yt(n),d=Ds(_),g=o+a*c*R*d;T=h.device.createBuffer({byteLength:g})}let A=e.device.createCommandEncoder();return A.copyTextureToBuffer({sourceTexture:e,width:a,height:c,origin:[s,i],destinationBuffer:T,byteOffset:o}),A.destroy(),f&&l.destroy(),T}function us(e){return e instanceof he.Framebuffer?{framebuffer:e,deleteFramebuffer:!1}:{framebuffer:fn(e),deleteFramebuffer:!0}}function fn(e,t){let{device:r,width:s,height:i,id:n}=e;return r.createFramebuffer({...t,id:`framebuffer-for-${n}`,width:s,height:i,colorAttachments:[e]})}function hn(e,t,r,s,i,n){if(e)return e;t||=5121;let o=Qe(t),a=(0,he.getTypedArrayConstructor)(o),c=Yt(r);return new a(s*i*c)}var he,ws=p(()=>{he=C(I(),1);Le();Bs();Wt()});function Tn(e,t,r){switch(r.length){case 1:e.gl.vertexAttrib1fv(t,r);break;case 2:e.gl.vertexAttrib2fv(t,r);break;case 3:e.gl.vertexAttrib3fv(t,r);break;case 4:e.gl.vertexAttrib4fv(t,r);break;default:}}function Rn(e,t,r){e.gl.vertexAttribI4iv(t,r)}function An(e,t,r){e.gl.vertexAttribI4uiv(t,r)}function dn(e,t){if(!e||!t||e.length!==t.length||e.constructor!==t.constructor)return!1;for(let r=0;r<e.length;++r)if(e[r]!==t[r])return!1;return!0}var $,Te,vs=p(()=>{$=C(I(),1);Pt();Pr();Br();Vr();kr();$r();or();dr();_e();qr();Ve();Qr();rs();Ge();Xe();Rs();Es();Ns();Is();bs();Fs();ws();oe();ze();Me();Te=class extends $.Device{type="webgl";handle;features;limits;info;canvasContext;preferredColorFormat="rgba8unorm";preferredDepthFormat="depth24plus";commandEncoder;lost;_resolveContextLost;gl;_constants;_extensions={};_polyfilled=!1;spectorJS;get[Symbol.toStringTag](){return"WebGLDevice"}toString(){return`${this[Symbol.toStringTag]}(${this.id})`}isVertexFormatSupported(t){switch(t){case"unorm8x4-bgra":return!1;default:return!0}}constructor(t){super({...t,id:t.id||zr("webgl-device")});let r=$.Device._getCanvasContextProps(t);if(!r)throw new Error("WebGLDevice requires props.createCanvasContext to be set");let s=r.canvas?.gl?.device;if(s)throw new Error(`WebGL context already attached to device ${s.id}`);this.canvasContext=new We(this,r),this.lost=new Promise(c=>{this._resolveContextLost=c});let i={...t.webgl};r.alphaMode==="premultiplied"&&(i.premultipliedAlpha=!0),t.powerPreference!==void 0&&(i.powerPreference=t.powerPreference),t.failIfMajorPerformanceCaveat!==void 0&&(i.failIfMajorPerformanceCaveat=t.failIfMajorPerformanceCaveat);let o=this.props._handle||br(this.canvasContext.canvas,{onContextLost:c=>this._resolveContextLost?.({reason:"destroyed",message:"Entered sleep mode, or too many apps or browser tabs are using the GPU."}),onContextRestored:c=>console.log("WebGL context restored")},i);if(!o)throw new Error("WebGL context creation failed");if(s=o.device,s){if(t._reuseDevices)return $.log.log(1,`Not creating a new Device, instead returning a reference to Device ${s.id} already attached to WebGL context`,s)(),s._reused=!0,s;throw new Error(`WebGL context already attached to device ${s.id}`)}this.handle=o,this.gl=o,this.spectorJS=nr({...this.props,gl:this.handle}),this.gl.device=this,this.info=Fr(this.gl,this._extensions),this.limits=new me(this.gl),this.features=new ve(this.gl,this._extensions,this.props._disabledFeatures),this.props._initializeFeatures&&this.features.initializeFeatures(),new Y(this.gl,{log:(...c)=>$.log.log(1,...c)()}).trackState(this.gl,{copyState:!1}),(t.debug||t.debugWebGL)&&(this.gl=Ar(this.gl,{debugWebGL:!0,traceWebGL:t.debugWebGL}),$.log.warn("WebGL debug mode activated. Performance reduced.")()),t.debugWebGL&&($.log.level=Math.max($.log.level,1)),this.commandEncoder=new Ie(this,{id:`${this}-command-encoder`})}destroy(){!this.props._reuseDevices&&!this._reused&&delete this.gl.device}get isLost(){return this.gl.isContextLost()}createCanvasContext(t){throw new Error("WebGL only supports a single canvas")}createBuffer(t){let r=this._normalizeBufferProps(t);return new K(this,r)}createTexture(t){return new Q(this,t)}createExternalTexture(t){throw new Error("createExternalTexture() not implemented")}createSampler(t){return new $e(this,t)}createShader(t){return new He(this,t)}createFramebuffer(t){return new j(this,t)}createVertexArray(t){return new fe(this,t)}createTransformFeedback(t){return new nt(this,t)}createQuerySet(t){return new at(this,t)}createFence(){return new ct(this)}createRenderPipeline(t){return new et(this,t)}createComputePipeline(t){throw new Error("ComputePipeline not supported in WebGL")}createCommandEncoder(t={}){return new Ie(this,t)}submit(t){t||(t=this.commandEncoder.finish(),this.commandEncoder.destroy(),this.commandEncoder=this.createCommandEncoder({id:`${this.id}-default-encoder`})),t._executeCommands()}readPixelsToArrayWebGL(t,r){return ys(t,r)}readPixelsToBufferWebGL(t,r){return Us(t,r)}setParametersWebGL(t){k(this.gl,t)}getParametersWebGL(t){return ye(this.gl,t)}withParametersWebGL(t,r){return J(this.gl,t,r)}resetWebGL(){$.log.warn("WebGLDevice.resetWebGL is deprecated, use only for debugging")(),xr(this.gl)}_getDeviceSpecificTextureFormatCapabilities(t){return vr(this.gl,t,this._extensions)}loseDevice(){let t=!1,s=this.getExtension("WEBGL_lose_context").WEBGL_lose_context;return s&&(t=!0,s.loseContext()),this._resolveContextLost?.({reason:"destroyed",message:"Application triggered context loss"}),t}pushState(){Y.get(this.gl).push()}popState(){Y.get(this.gl).pop()}getGLKey(t,r){let s=Number(t);for(let i in this.gl)if(this.gl[i]===s)return`GL.${i}`;return r?.emptyIfUnknown?"":String(t)}getGLKeys(t){let r={emptyIfUnknown:!0};return Object.entries(t).reduce((s,[i,n])=>(s[`${i}:${this.getGLKey(i,r)}`]=`${n}:${this.getGLKey(n,r)}`,s),{})}setConstantAttributeWebGL(t,r){let s=this.limits.maxVertexAttributes;this._constants=this._constants||new Array(s).fill(null);let i=this._constants[t];switch(i&&dn(i,r)&&$.log.info(1,`setConstantAttributeWebGL(${t}) could have been skipped, value unchanged`)(),this._constants[t]=r,r.constructor){case Float32Array:Tn(this,t,r);break;case Int32Array:Rn(this,t,r);break;case Uint32Array:An(this,t,r);break;default:throw new Error("constant")}}getExtension(t){return Z(this.gl,t,this._extensions),this._extensions}_setWebGLDebugMetadata(t,r,s){t.luma=r;let i={props:s.spector,id:s.spector.id};t.__SPECTOR_Metadata=i}}});var kt=p(()=>{vs();Ve()});var be={};di(be,{GoogleMapsOverlay:()=>Oe});var z={},tr=C(De(),1);ee(z,C(De(),1));if(!tr.Layer)throw new Error("@deck.gl/core is not found");ee(be,z);Mt();kt();var dt=C(De(),1);var Rc=1/Math.PI*180,Ac=1/180*Math.PI,pn={EPSILON:1e-12,debug:!1,precision:4,printTypes:!1,printDegrees:!1,printRowMajor:!0,_cartographicRadians:!1};globalThis.mathgl=globalThis.mathgl||{config:{...pn}};var U=globalThis.mathgl.config;function ms(e,{precision:t=U.precision}={}){return e=gn(e),`${parseFloat(e.toPrecision(t))}`}function Re(e){return Array.isArray(e)||ArrayBuffer.isView(e)&&!(e instanceof DataView)}function Kt(e,t,r){let s=U.EPSILON;r&&(U.EPSILON=r);try{if(e===t)return!0;if(Re(e)&&Re(t)){if(e.length!==t.length)return!1;for(let i=0;i<e.length;++i)if(!Kt(e[i],t[i]))return!1;return!0}return e&&e.equals?e.equals(t):t&&t.equals?t.equals(e):typeof e=="number"&&typeof t=="number"?Math.abs(e-t)<=U.EPSILON*Math.max(1,Math.abs(e),Math.abs(t)):!1}finally{U.EPSILON=s}}function gn(e){return Math.round(e/U.EPSILON)*U.EPSILON}var Ae=class extends Array{clone(){return new this.constructor().copy(this)}fromArray(t,r=0){for(let s=0;s<this.ELEMENTS;++s)this[s]=t[s+r];return this.check()}toArray(t=[],r=0){for(let s=0;s<this.ELEMENTS;++s)t[r+s]=this[s];return t}toObject(t){return t}from(t){return Array.isArray(t)?this.copy(t):this.fromObject(t)}to(t){return t===this?this:Re(t)?this.toArray(t):this.toObject(t)}toTarget(t){return t?this.to(t):this}toFloat32Array(){return new Float32Array(this)}toString(){return this.formatString(U)}formatString(t){let r="";for(let s=0;s<this.ELEMENTS;++s)r+=(s>0?", ":"")+ms(this[s],t);return`${t.printTypes?this.constructor.name:""}[${r}]`}equals(t){if(!t||this.length!==t.length)return!1;for(let r=0;r<this.ELEMENTS;++r)if(!Kt(this[r],t[r]))return!1;return!0}exactEquals(t){if(!t||this.length!==t.length)return!1;for(let r=0;r<this.ELEMENTS;++r)if(this[r]!==t[r])return!1;return!0}negate(){for(let t=0;t<this.ELEMENTS;++t)this[t]=-this[t];return this.check()}lerp(t,r,s){if(s===void 0)return this.lerp(this,t,r);for(let i=0;i<this.ELEMENTS;++i){let n=t[i],o=typeof r=="number"?r:r[i];this[i]=n+s*(o-n)}return this.check()}min(t){for(let r=0;r<this.ELEMENTS;++r)this[r]=Math.min(t[r],this[r]);return this.check()}max(t){for(let r=0;r<this.ELEMENTS;++r)this[r]=Math.max(t[r],this[r]);return this.check()}clamp(t,r){for(let s=0;s<this.ELEMENTS;++s)this[s]=Math.min(Math.max(this[s],t[s]),r[s]);return this.check()}add(...t){for(let r of t)for(let s=0;s<this.ELEMENTS;++s)this[s]+=r[s];return this.check()}subtract(...t){for(let r of t)for(let s=0;s<this.ELEMENTS;++s)this[s]-=r[s];return this.check()}scale(t){if(typeof t=="number")for(let r=0;r<this.ELEMENTS;++r)this[r]*=t;else for(let r=0;r<this.ELEMENTS&&r<t.length;++r)this[r]*=t[r];return this.check()}multiplyByScalar(t){for(let r=0;r<this.ELEMENTS;++r)this[r]*=t;return this.check()}check(){if(U.debug&&!this.validate())throw new Error(`math.gl: ${this.constructor.name} some fields set to invalid numbers'`);return this}validate(){let t=this.length===this.ELEMENTS;for(let r=0;r<this.ELEMENTS;++r)t=t&&Number.isFinite(this[r]);return t}sub(t){return this.subtract(t)}setScalar(t){for(let r=0;r<this.ELEMENTS;++r)this[r]=t;return this.check()}addScalar(t){for(let r=0;r<this.ELEMENTS;++r)this[r]+=t;return this.check()}subScalar(t){return this.addScalar(-t)}multiplyScalar(t){for(let r=0;r<this.ELEMENTS;++r)this[r]*=t;return this.check()}divideScalar(t){return this.multiplyByScalar(1/t)}clampScalar(t,r){for(let s=0;s<this.ELEMENTS;++s)this[s]=Math.min(Math.max(this[s],t),r);return this.check()}get elements(){return this}};function Sn(e,t){if(e.length!==t)return!1;for(let r=0;r<e.length;++r)if(!Number.isFinite(e[r]))return!1;return!0}function X(e){if(!Number.isFinite(e))throw new Error(`Invalid number ${JSON.stringify(e)}`);return e}function _t(e,t,r=""){if(U.debug&&!Sn(e,t))throw new Error(`math.gl: ${r} some fields set to invalid numbers'`);return e}function $t(e,t){if(!e)throw new Error(`math.gl assertion ${t}`)}var lt=class extends Ae{get x(){return this[0]}set x(t){this[0]=X(t)}get y(){return this[1]}set y(t){this[1]=X(t)}len(){return Math.sqrt(this.lengthSquared())}magnitude(){return this.len()}lengthSquared(){let t=0;for(let r=0;r<this.ELEMENTS;++r)t+=this[r]*this[r];return t}magnitudeSquared(){return this.lengthSquared()}distance(t){return Math.sqrt(this.distanceSquared(t))}distanceSquared(t){let r=0;for(let s=0;s<this.ELEMENTS;++s){let i=this[s]-t[s];r+=i*i}return X(r)}dot(t){let r=0;for(let s=0;s<this.ELEMENTS;++s)r+=this[s]*t[s];return X(r)}normalize(){let t=this.magnitude();if(t!==0)for(let r=0;r<this.ELEMENTS;++r)this[r]/=t;return this.check()}multiply(...t){for(let r of t)for(let s=0;s<this.ELEMENTS;++s)this[s]*=r[s];return this.check()}divide(...t){for(let r of t)for(let s=0;s<this.ELEMENTS;++s)this[s]/=r[s];return this.check()}lengthSq(){return this.lengthSquared()}distanceTo(t){return this.distance(t)}distanceToSquared(t){return this.distanceSquared(t)}getComponent(t){return $t(t>=0&&t<this.ELEMENTS,"index is out of range"),X(this[t])}setComponent(t,r){return $t(t>=0&&t<this.ELEMENTS,"index is out of range"),this[t]=r,this.check()}addVectors(t,r){return this.copy(t).add(r)}subVectors(t,r){return this.copy(t).subtract(r)}multiplyVectors(t,r){return this.copy(t).multiply(r)}addScaledVector(t,r){return this.add(new this.constructor(t).multiplyScalar(r))}};var G=typeof Float32Array<"u"?Float32Array:Array;var Oc=Math.PI/180;function En(){let e=new G(2);return G!=Float32Array&&(e[0]=0,e[1]=0),e}function Vs(e,t,r){let s=t[0],i=t[1];return e[0]=r[0]*s+r[2]*i,e[1]=r[1]*s+r[3]*i,e}function Hs(e,t,r){let s=t[0],i=t[1];return e[0]=r[0]*s+r[2]*i+r[4],e[1]=r[1]*s+r[3]*i+r[5],e}function ks(e,t,r){let s=t[0],i=t[1];return e[0]=r[0]*s+r[3]*i+r[6],e[1]=r[1]*s+r[4]*i+r[7],e}function ft(e,t,r){let s=t[0],i=t[1];return e[0]=r[0]*s+r[4]*i+r[12],e[1]=r[1]*s+r[5]*i+r[13],e}var bc=function(){let e=En();return function(t,r,s,i,n,o){let a,c;for(r||(r=2),s||(s=0),i?c=Math.min(i*r+s,t.length):c=t.length,a=s;a<c;a+=r)e[0]=t[a],e[1]=t[a+1],n(e,e,o),t[a]=e[0],t[a+1]=e[1];return t}}();function ht(e,t,r){let s=t[0],i=t[1],n=r[3]*s+r[7]*i||1;return e[0]=(r[0]*s+r[4]*i)/n,e[1]=(r[1]*s+r[5]*i)/n,e}function Ys(e,t,r){let s=t[0],i=t[1],n=t[2],o=r[3]*s+r[7]*i+r[11]*n||1;return e[0]=(r[0]*s+r[4]*i+r[8]*n)/o,e[1]=(r[1]*s+r[5]*i+r[9]*n)/o,e[2]=(r[2]*s+r[6]*i+r[10]*n)/o,e}var se=class extends lt{constructor(t=0,r=0){super(2),Re(t)&&arguments.length===1?this.copy(t):(U.debug&&(X(t),X(r)),this[0]=t,this[1]=r)}set(t,r){return this[0]=t,this[1]=r,this.check()}copy(t){return this[0]=t[0],this[1]=t[1],this.check()}fromObject(t){return U.debug&&(X(t.x),X(t.y)),this[0]=t.x,this[1]=t.y,this.check()}toObject(t){return t.x=this[0],t.y=this[1],t}get ELEMENTS(){return 2}horizontalAngle(){return Math.atan2(this.y,this.x)}verticalAngle(){return Math.atan2(this.x,this.y)}transform(t){return this.transformAsPoint(t)}transformAsPoint(t){return ft(this,this,t),this.check()}transformAsVector(t){return ht(this,this,t),this.check()}transformByMatrix3(t){return ks(this,this,t),this.check()}transformByMatrix2x3(t){return Hs(this,this,t),this.check()}transformByMatrix2(t){return Vs(this,this,t),this.check()}};function Mn(){let e=new G(3);return G!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0),e}function Ks(e,t,r){let s=t[0],i=t[1],n=t[2],o=r[3]*s+r[7]*i+r[11]*n+r[15];return o=o||1,e[0]=(r[0]*s+r[4]*i+r[8]*n+r[12])/o,e[1]=(r[1]*s+r[5]*i+r[9]*n+r[13])/o,e[2]=(r[2]*s+r[6]*i+r[10]*n+r[14])/o,e}var vc=function(){let e=Mn();return function(t,r,s,i,n,o){let a,c;for(r||(r=3),s||(s=0),i?c=Math.min(i*r+s,t.length):c=t.length,a=s;a<c;a+=r)e[0]=t[a],e[1]=t[a+1],e[2]=t[a+2],n(e,e,o),t[a]=e[0],t[a+1]=e[1],t[a+2]=e[2];return t}}();var Tt=class extends Ae{toString(){let t="[";if(U.printRowMajor){t+="row-major:";for(let r=0;r<this.RANK;++r)for(let s=0;s<this.RANK;++s)t+=` ${this[s*this.RANK+r]}`}else{t+="column-major:";for(let r=0;r<this.ELEMENTS;++r)t+=` ${this[r]}`}return t+="]",t}getElementIndex(t,r){return r*this.RANK+t}getElement(t,r){return this[r*this.RANK+t]}setElement(t,r,s){return this[r*this.RANK+t]=X(s),this}getColumn(t,r=new Array(this.RANK).fill(-0)){let s=t*this.RANK;for(let i=0;i<this.RANK;++i)r[i]=this[s+i];return r}setColumn(t,r){let s=t*this.RANK;for(let i=0;i<this.RANK;++i)this[s+i]=r[i];return this}};function xn(e){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function $s(e,t){if(e===t){let r=t[1],s=t[2],i=t[3],n=t[6],o=t[7],a=t[11];e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=r,e[6]=t[9],e[7]=t[13],e[8]=s,e[9]=n,e[11]=t[14],e[12]=i,e[13]=o,e[14]=a}else e[0]=t[0],e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=t[1],e[5]=t[5],e[6]=t[9],e[7]=t[13],e[8]=t[2],e[9]=t[6],e[10]=t[10],e[11]=t[14],e[12]=t[3],e[13]=t[7],e[14]=t[11],e[15]=t[15];return e}function zs(e,t){let r=t[0],s=t[1],i=t[2],n=t[3],o=t[4],a=t[5],c=t[6],_=t[7],l=t[8],f=t[9],h=t[10],T=t[11],A=t[12],R=t[13],d=t[14],g=t[15],M=r*a-s*o,E=r*c-i*o,x=r*_-n*o,S=s*c-i*a,N=s*_-n*a,u=i*_-n*c,B=l*R-f*A,y=l*d-h*A,F=l*g-T*A,W=f*d-h*R,V=f*g-T*R,H=h*g-T*d,O=M*H-E*V+x*W+S*F-N*y+u*B;return O?(O=1/O,e[0]=(a*H-c*V+_*W)*O,e[1]=(i*V-s*H-n*W)*O,e[2]=(R*u-d*N+g*S)*O,e[3]=(h*N-f*u-T*S)*O,e[4]=(c*F-o*H-_*y)*O,e[5]=(r*H-i*F+n*y)*O,e[6]=(d*x-A*u-g*E)*O,e[7]=(l*u-h*x+T*E)*O,e[8]=(o*V-a*F+_*B)*O,e[9]=(s*F-r*V-n*B)*O,e[10]=(A*N-R*x+g*M)*O,e[11]=(f*x-l*N-T*M)*O,e[12]=(a*y-o*W-c*B)*O,e[13]=(r*W-s*y+i*B)*O,e[14]=(R*E-A*S-d*M)*O,e[15]=(l*S-f*E+h*M)*O,e):null}function qs(e){let t=e[0],r=e[1],s=e[2],i=e[3],n=e[4],o=e[5],a=e[6],c=e[7],_=e[8],l=e[9],f=e[10],h=e[11],T=e[12],A=e[13],R=e[14],d=e[15],g=t*o-r*n,M=t*a-s*n,E=r*a-s*o,x=_*A-l*T,S=_*R-f*T,N=l*R-f*A,u=t*N-r*S+s*x,B=n*N-o*S+a*x,y=_*E-l*M+f*g,F=T*E-A*M+R*g;return c*u-i*B+d*y-h*F}function qt(e,t,r){let s=t[0],i=t[1],n=t[2],o=t[3],a=t[4],c=t[5],_=t[6],l=t[7],f=t[8],h=t[9],T=t[10],A=t[11],R=t[12],d=t[13],g=t[14],M=t[15],E=r[0],x=r[1],S=r[2],N=r[3];return e[0]=E*s+x*a+S*f+N*R,e[1]=E*i+x*c+S*h+N*d,e[2]=E*n+x*_+S*T+N*g,e[3]=E*o+x*l+S*A+N*M,E=r[4],x=r[5],S=r[6],N=r[7],e[4]=E*s+x*a+S*f+N*R,e[5]=E*i+x*c+S*h+N*d,e[6]=E*n+x*_+S*T+N*g,e[7]=E*o+x*l+S*A+N*M,E=r[8],x=r[9],S=r[10],N=r[11],e[8]=E*s+x*a+S*f+N*R,e[9]=E*i+x*c+S*h+N*d,e[10]=E*n+x*_+S*T+N*g,e[11]=E*o+x*l+S*A+N*M,E=r[12],x=r[13],S=r[14],N=r[15],e[12]=E*s+x*a+S*f+N*R,e[13]=E*i+x*c+S*h+N*d,e[14]=E*n+x*_+S*T+N*g,e[15]=E*o+x*l+S*A+N*M,e}function Zs(e,t,r){let s=r[0],i=r[1],n=r[2],o,a,c,_,l,f,h,T,A,R,d,g;return t===e?(e[12]=t[0]*s+t[4]*i+t[8]*n+t[12],e[13]=t[1]*s+t[5]*i+t[9]*n+t[13],e[14]=t[2]*s+t[6]*i+t[10]*n+t[14],e[15]=t[3]*s+t[7]*i+t[11]*n+t[15]):(o=t[0],a=t[1],c=t[2],_=t[3],l=t[4],f=t[5],h=t[6],T=t[7],A=t[8],R=t[9],d=t[10],g=t[11],e[0]=o,e[1]=a,e[2]=c,e[3]=_,e[4]=l,e[5]=f,e[6]=h,e[7]=T,e[8]=A,e[9]=R,e[10]=d,e[11]=g,e[12]=o*s+l*i+A*n+t[12],e[13]=a*s+f*i+R*n+t[13],e[14]=c*s+h*i+d*n+t[14],e[15]=_*s+T*i+g*n+t[15]),e}function js(e,t,r){let s=r[0],i=r[1],n=r[2];return e[0]=t[0]*s,e[1]=t[1]*s,e[2]=t[2]*s,e[3]=t[3]*s,e[4]=t[4]*i,e[5]=t[5]*i,e[6]=t[6]*i,e[7]=t[7]*i,e[8]=t[8]*n,e[9]=t[9]*n,e[10]=t[10]*n,e[11]=t[11]*n,e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}function Ls(e,t,r,s){let i=s[0],n=s[1],o=s[2],a=Math.sqrt(i*i+n*n+o*o),c,_,l,f,h,T,A,R,d,g,M,E,x,S,N,u,B,y,F,W,V,H,O,pe;return a<1e-6?null:(a=1/a,i*=a,n*=a,o*=a,_=Math.sin(r),c=Math.cos(r),l=1-c,f=t[0],h=t[1],T=t[2],A=t[3],R=t[4],d=t[5],g=t[6],M=t[7],E=t[8],x=t[9],S=t[10],N=t[11],u=i*i*l+c,B=n*i*l+o*_,y=o*i*l-n*_,F=i*n*l-o*_,W=n*n*l+c,V=o*n*l+i*_,H=i*o*l+n*_,O=n*o*l-i*_,pe=o*o*l+c,e[0]=f*u+R*B+E*y,e[1]=h*u+d*B+x*y,e[2]=T*u+g*B+S*y,e[3]=A*u+M*B+N*y,e[4]=f*F+R*W+E*V,e[5]=h*F+d*W+x*V,e[6]=T*F+g*W+S*V,e[7]=A*F+M*W+N*V,e[8]=f*H+R*O+E*pe,e[9]=h*H+d*O+x*pe,e[10]=T*H+g*O+S*pe,e[11]=A*H+M*O+N*pe,t!==e&&(e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e)}function Qs(e,t,r){let s=Math.sin(r),i=Math.cos(r),n=t[4],o=t[5],a=t[6],c=t[7],_=t[8],l=t[9],f=t[10],h=t[11];return t!==e&&(e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[4]=n*i+_*s,e[5]=o*i+l*s,e[6]=a*i+f*s,e[7]=c*i+h*s,e[8]=_*i-n*s,e[9]=l*i-o*s,e[10]=f*i-a*s,e[11]=h*i-c*s,e}function Js(e,t,r){let s=Math.sin(r),i=Math.cos(r),n=t[0],o=t[1],a=t[2],c=t[3],_=t[8],l=t[9],f=t[10],h=t[11];return t!==e&&(e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[0]=n*i-_*s,e[1]=o*i-l*s,e[2]=a*i-f*s,e[3]=c*i-h*s,e[8]=n*s+_*i,e[9]=o*s+l*i,e[10]=a*s+f*i,e[11]=c*s+h*i,e}function Gs(e,t,r){let s=Math.sin(r),i=Math.cos(r),n=t[0],o=t[1],a=t[2],c=t[3],_=t[4],l=t[5],f=t[6],h=t[7];return t!==e&&(e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[0]=n*i+_*s,e[1]=o*i+l*s,e[2]=a*i+f*s,e[3]=c*i+h*s,e[4]=_*i-n*s,e[5]=l*i-o*s,e[6]=f*i-a*s,e[7]=h*i-c*s,e}function ei(e,t){let r=t[0],s=t[1],i=t[2],n=t[3],o=r+r,a=s+s,c=i+i,_=r*o,l=s*o,f=s*a,h=i*o,T=i*a,A=i*c,R=n*o,d=n*a,g=n*c;return e[0]=1-f-A,e[1]=l+g,e[2]=h-d,e[3]=0,e[4]=l-g,e[5]=1-_-A,e[6]=T+R,e[7]=0,e[8]=h+d,e[9]=T-R,e[10]=1-_-f,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function ti(e,t,r,s,i,n,o){let a=1/(r-t),c=1/(i-s),_=1/(n-o);return e[0]=n*2*a,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=n*2*c,e[6]=0,e[7]=0,e[8]=(r+t)*a,e[9]=(i+s)*c,e[10]=(o+n)*_,e[11]=-1,e[12]=0,e[13]=0,e[14]=o*n*2*_,e[15]=0,e}function Nn(e,t,r,s,i){let n=1/Math.tan(t/2);if(e[0]=n/r,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=n,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=-1,e[12]=0,e[13]=0,e[15]=0,i!=null&&i!==1/0){let o=1/(s-i);e[10]=(i+s)*o,e[14]=2*i*s*o}else e[10]=-1,e[14]=-2*s;return e}var ri=Nn;function Cn(e,t,r,s,i,n,o){let a=1/(t-r),c=1/(s-i),_=1/(n-o);return e[0]=-2*a,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=-2*c,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=2*_,e[11]=0,e[12]=(t+r)*a,e[13]=(i+s)*c,e[14]=(o+n)*_,e[15]=1,e}var si=Cn;function ii(e,t,r,s){let i,n,o,a,c,_,l,f,h,T,A=t[0],R=t[1],d=t[2],g=s[0],M=s[1],E=s[2],x=r[0],S=r[1],N=r[2];return Math.abs(A-x)<1e-6&&Math.abs(R-S)<1e-6&&Math.abs(d-N)<1e-6?xn(e):(f=A-x,h=R-S,T=d-N,i=1/Math.sqrt(f*f+h*h+T*T),f*=i,h*=i,T*=i,n=M*T-E*h,o=E*f-g*T,a=g*h-M*f,i=Math.sqrt(n*n+o*o+a*a),i?(i=1/i,n*=i,o*=i,a*=i):(n=0,o=0,a=0),c=h*a-T*o,_=T*n-f*a,l=f*o-h*n,i=Math.sqrt(c*c+_*_+l*l),i?(i=1/i,c*=i,_*=i,l*=i):(c=0,_=0,l=0),e[0]=n,e[1]=c,e[2]=f,e[3]=0,e[4]=o,e[5]=_,e[6]=h,e[7]=0,e[8]=a,e[9]=l,e[10]=T,e[11]=0,e[12]=-(n*A+o*R+a*d),e[13]=-(c*A+_*R+l*d),e[14]=-(f*A+h*R+T*d),e[15]=1,e)}function In(){let e=new G(4);return G!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0,e[3]=0),e}function ni(e,t,r){let s=t[0],i=t[1],n=t[2],o=t[3];return e[0]=r[0]*s+r[4]*i+r[8]*n+r[12]*o,e[1]=r[1]*s+r[5]*i+r[9]*n+r[13]*o,e[2]=r[2]*s+r[6]*i+r[10]*n+r[14]*o,e[3]=r[3]*s+r[7]*i+r[11]*n+r[15]*o,e}var Yc=function(){let e=In();return function(t,r,s,i,n,o){let a,c;for(r||(r=4),s||(s=0),i?c=Math.min(i*r+s,t.length):c=t.length,a=s;a<c;a+=r)e[0]=t[a],e[1]=t[a+1],e[2]=t[a+2],e[3]=t[a+3],n(e,e,o),t[a]=e[0],t[a+1]=e[1],t[a+2]=e[2],t[a+3]=e[3];return t}}();var Lt;(function(e){e[e.COL0ROW0=0]="COL0ROW0",e[e.COL0ROW1=1]="COL0ROW1",e[e.COL0ROW2=2]="COL0ROW2",e[e.COL0ROW3=3]="COL0ROW3",e[e.COL1ROW0=4]="COL1ROW0",e[e.COL1ROW1=5]="COL1ROW1",e[e.COL1ROW2=6]="COL1ROW2",e[e.COL1ROW3=7]="COL1ROW3",e[e.COL2ROW0=8]="COL2ROW0",e[e.COL2ROW1=9]="COL2ROW1",e[e.COL2ROW2=10]="COL2ROW2",e[e.COL2ROW3=11]="COL2ROW3",e[e.COL3ROW0=12]="COL3ROW0",e[e.COL3ROW1=13]="COL3ROW1",e[e.COL3ROW2=14]="COL3ROW2",e[e.COL3ROW3=15]="COL3ROW3"})(Lt||(Lt={}));var On=45*Math.PI/180,bn=1,Zt=.1,jt=500,Pn=Object.freeze([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),ie=class extends Tt{static get IDENTITY(){return Dn()}static get ZERO(){return Fn()}get ELEMENTS(){return 16}get RANK(){return 4}get INDICES(){return Lt}constructor(t){super(-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0),arguments.length===1&&Array.isArray(t)?this.copy(t):this.identity()}copy(t){return this[0]=t[0],this[1]=t[1],this[2]=t[2],this[3]=t[3],this[4]=t[4],this[5]=t[5],this[6]=t[6],this[7]=t[7],this[8]=t[8],this[9]=t[9],this[10]=t[10],this[11]=t[11],this[12]=t[12],this[13]=t[13],this[14]=t[14],this[15]=t[15],this.check()}set(t,r,s,i,n,o,a,c,_,l,f,h,T,A,R,d){return this[0]=t,this[1]=r,this[2]=s,this[3]=i,this[4]=n,this[5]=o,this[6]=a,this[7]=c,this[8]=_,this[9]=l,this[10]=f,this[11]=h,this[12]=T,this[13]=A,this[14]=R,this[15]=d,this.check()}setRowMajor(t,r,s,i,n,o,a,c,_,l,f,h,T,A,R,d){return this[0]=t,this[1]=n,this[2]=_,this[3]=T,this[4]=r,this[5]=o,this[6]=l,this[7]=A,this[8]=s,this[9]=a,this[10]=f,this[11]=R,this[12]=i,this[13]=c,this[14]=h,this[15]=d,this.check()}toRowMajor(t){return t[0]=this[0],t[1]=this[4],t[2]=this[8],t[3]=this[12],t[4]=this[1],t[5]=this[5],t[6]=this[9],t[7]=this[13],t[8]=this[2],t[9]=this[6],t[10]=this[10],t[11]=this[14],t[12]=this[3],t[13]=this[7],t[14]=this[11],t[15]=this[15],t}identity(){return this.copy(Pn)}fromObject(t){return this.check()}fromQuaternion(t){return ei(this,t),this.check()}frustum(t){let{left:r,right:s,bottom:i,top:n,near:o=Zt,far:a=jt}=t;return a===1/0?Bn(this,r,s,i,n,o):ti(this,r,s,i,n,o,a),this.check()}lookAt(t){let{eye:r,center:s=[0,0,0],up:i=[0,1,0]}=t;return ii(this,r,s,i),this.check()}ortho(t){let{left:r,right:s,bottom:i,top:n,near:o=Zt,far:a=jt}=t;return si(this,r,s,i,n,o,a),this.check()}orthographic(t){let{fovy:r=On,aspect:s=bn,focalDistance:i=1,near:n=Zt,far:o=jt}=t;oi(r);let a=r/2,c=i*Math.tan(a),_=c*s;return this.ortho({left:-_,right:_,bottom:-c,top:c,near:n,far:o})}perspective(t){let{fovy:r=45*Math.PI/180,aspect:s=1,near:i=.1,far:n=500}=t;return oi(r),ri(this,r,s,i,n),this.check()}determinant(){return qs(this)}getScale(t=[-0,-0,-0]){return t[0]=Math.sqrt(this[0]*this[0]+this[1]*this[1]+this[2]*this[2]),t[1]=Math.sqrt(this[4]*this[4]+this[5]*this[5]+this[6]*this[6]),t[2]=Math.sqrt(this[8]*this[8]+this[9]*this[9]+this[10]*this[10]),t}getTranslation(t=[-0,-0,-0]){return t[0]=this[12],t[1]=this[13],t[2]=this[14],t}getRotation(t,r){t=t||[-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0],r=r||[-0,-0,-0];let s=this.getScale(r),i=1/s[0],n=1/s[1],o=1/s[2];return t[0]=this[0]*i,t[1]=this[1]*n,t[2]=this[2]*o,t[3]=0,t[4]=this[4]*i,t[5]=this[5]*n,t[6]=this[6]*o,t[7]=0,t[8]=this[8]*i,t[9]=this[9]*n,t[10]=this[10]*o,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}getRotationMatrix3(t,r){t=t||[-0,-0,-0,-0,-0,-0,-0,-0,-0],r=r||[-0,-0,-0];let s=this.getScale(r),i=1/s[0],n=1/s[1],o=1/s[2];return t[0]=this[0]*i,t[1]=this[1]*n,t[2]=this[2]*o,t[3]=this[4]*i,t[4]=this[5]*n,t[5]=this[6]*o,t[6]=this[8]*i,t[7]=this[9]*n,t[8]=this[10]*o,t}transpose(){return $s(this,this),this.check()}invert(){return zs(this,this),this.check()}multiplyLeft(t){return qt(this,t,this),this.check()}multiplyRight(t){return qt(this,this,t),this.check()}rotateX(t){return Qs(this,this,t),this.check()}rotateY(t){return Js(this,this,t),this.check()}rotateZ(t){return Gs(this,this,t),this.check()}rotateXYZ(t){return this.rotateX(t[0]).rotateY(t[1]).rotateZ(t[2])}rotateAxis(t,r){return Ls(this,this,t,r),this.check()}scale(t){return js(this,this,Array.isArray(t)?t:[t,t,t]),this.check()}translate(t){return Zs(this,this,t),this.check()}transform(t,r){return t.length===4?(r=ni(r||[-0,-0,-0,-0],t,this),_t(r,4),r):this.transformAsPoint(t,r)}transformAsPoint(t,r){let{length:s}=t,i;switch(s){case 2:i=ft(r||[-0,-0],t,this);break;case 3:i=Ks(r||[-0,-0,-0],t,this);break;default:throw new Error("Illegal vector")}return _t(i,t.length),i}transformAsVector(t,r){let s;switch(t.length){case 2:s=ht(r||[-0,-0],t,this);break;case 3:s=Ys(r||[-0,-0,-0],t,this);break;default:throw new Error("Illegal vector")}return _t(s,t.length),s}transformPoint(t,r){return this.transformAsPoint(t,r)}transformVector(t,r){return this.transformAsPoint(t,r)}transformDirection(t,r){return this.transformAsVector(t,r)}makeRotationX(t){return this.identity().rotateX(t)}makeTranslation(t,r,s){return this.identity().translate([t,r,s])}},Rt,At;function Fn(){return Rt||(Rt=new ie([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]),Object.freeze(Rt)),Rt}function Dn(){return At||(At=new ie,Object.freeze(At)),At}function oi(e){if(e>Math.PI*2)throw Error("expected radians")}function Bn(e,t,r,s,i,n){let o=2*n/(r-t),a=2*n/(i-s),c=(r+t)/(r-t),_=(i+s)/(i-s),l=-1,f=-1,h=-2*n;return e[0]=o,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=a,e[6]=0,e[7]=0,e[8]=c,e[9]=_,e[10]=l,e[11]=f,e[12]=0,e[13]=0,e[14]=h,e[15]=0,e}var pt="deck-gl-google-maps-container",Qt=85.05113;function gt(e,t,r,s){if(r){if(r.userData._googleMap===e)return r;St(r)}let i={click:null,rightclick:null,dblclick:null,mousemove:null,mouseout:null},n=new dt.Deck({...s,useDevicePixels:s.useDevicePixels??!0,style:s.interleaved?null:{pointerEvents:"none"},parent:yn(t,s.style),views:new dt.MapView({repeat:!0}),initialViewState:{longitude:0,latitude:0,zoom:1},controller:!1});for(let o in i)i[o]=e.addListener(o,a=>un(n,o,a));return n.userData._googleMap=e,n.userData._eventListeners=i,n}function yn(e,t){let r=document.createElement("div");r.style.position="absolute",Object.assign(r.style,t);let i=e.getMap().getDiv().querySelector(`#${pt}`);return i?i.appendChild(r):"getPanes"in e&&e.getPanes()?.overlayLayer.appendChild(r),r}function St(e){let{_eventListeners:t}=e.userData;for(let r in t)t[r]&&t[r].remove();e.finalize()}function ai(e,t){let{width:r,height:s}=_i(e),i=t.getProjection(),n=e.getBounds();if(!n)return{width:r,height:s,left:0,top:0};let o=n.getNorthEast(),a=n.getSouthWest(),c=i.fromLatLngToDivPixel(o),_=i.fromLatLngToDivPixel(a),l=Jt(i,r/2,s/2),f=new google.maps.LatLng(0,l[0]),h=i.fromLatLngToContainerPixel(f),T=i.fromLatLngToDivPixel(f);if(!c||!_||!T||!h)return{width:r,height:s,left:0,top:0};let A=Math.round(T.x-h.x),R=T.y-h.y,d=Jt(i,r/2,0),g=Jt(i,r/2,s),M=l[1],E=l[0];if(Math.abs(M)>Qt){M=M>0?Qt:-Qt;let y=new google.maps.LatLng(M,E),F=i.fromLatLngToContainerPixel(y);R+=F.y-s/2}R=Math.round(R);let S=180*new se(d).sub(g).verticalAngle()/Math.PI;S<0&&(S+=360);let N=e.getHeading()||0,u=e.getZoom()-1,B;if(S===0)B=s?(_.y-c.y)/s:1;else if(S===N){let y=new se([c.x,c.y]).sub([_.x,_.y]).len(),F=new se([r,-s]).len();B=F?y/F:1}return u+=Math.log2(B||1),{width:r,height:s,left:A,top:R,zoom:u,bearing:S,pitch:e.getTilt(),latitude:M,longitude:E}}function ci(e,t){let{width:r,height:s}=_i(e),{center:i,heading:n,tilt:o,zoom:a}=t.getCameraParams(),c=25,_=s?r/s:1,l=.75,f=3e14,h=new ie().perspective({fovy:c*Math.PI/180,aspect:_,near:l,far:f}),T=.5*h[5];return{width:r,height:s,viewState:{altitude:T,bearing:n,latitude:i.lat(),longitude:i.lng(),pitch:o,projectionMatrix:h,repeat:!0,zoom:a-1}}}function _i(e){let t=e.getDiv().firstChild;return{width:t.offsetWidth,height:t.offsetHeight}}function Jt(e,t,r){let s=new google.maps.Point(t,r),i=e.fromContainerPixelToLatLng(s);return[i.lng(),i.lat()]}function Un(e,t){if(e.pixel)return e.pixel;let r=t.getViewports()[0].project([e.latLng.lng(),e.latLng.lat()]);return{x:r[0],y:r[1]}}function un(e,t,r){if(!e.isInitialized)return;let s={type:t,offsetCenter:Un(r,e),srcEvent:r};switch(t){case"click":case"rightclick":s.type="click",s.tapCount=1,e._onPointerDown(s),e._onEvent(s);break;case"dblclick":s.type="click",s.tapCount=2,e._onEvent(s);break;case"mousemove":s.type="pointermove",e._onPointerMove(s);break;case"mouseout":s.type="pointerleave",e._onPointerMove(s);break;default:return}}var wn=()=>!1,vn={depthMask:!0,depthTest:!0,blend:!0,blendFunc:[w.SRC_ALPHA,w.ONE_MINUS_SRC_ALPHA,w.ONE,w.ONE_MINUS_SRC_ALPHA],blendEquation:w.FUNC_ADD};function Et(){}var li={interleaved:!0},Oe=class{constructor(t){this.props={};this._map=null;this._deck=null;this._overlay=null;this._positioningOverlay=null;this.setProps({...li,...t})}setMap(t){if(t===this._map)return;let{VECTOR:r,UNINITIALIZED:s}=google.maps.RenderingType;this._map&&(!t&&this._map.getRenderingType()===r&&this.props.interleaved&&this._overlay.requestRedraw(),this._overlay?.setMap(null),this._positioningOverlay?.setMap(null),this._map=null),t&&(this._map=t,t.getRenderingType()!==s?this._createOverlay(t):t.addListener("renderingtype_changed",()=>{this._createOverlay(t)}))}setProps(t){if(Object.assign(this.props,t),this._deck){let r=this._deck.getCanvas();if(t.style&&r?.parentElement){let s=r.parentElement.style;Object.assign(s,t.style),t.style=null}this._deck.setProps(t)}}pickObject(t){return this._deck&&this._deck.pickObject(t)}pickMultipleObjects(t){return this._deck&&this._deck.pickMultipleObjects(t)}pickObjects(t){return this._deck&&this._deck.pickObjects(t)}finalize(){this.setMap(null),this._deck&&(St(this._deck),this._deck=null)}_createOverlay(t){let{VECTOR:r,UNINITIALIZED:s}=google.maps.RenderingType,i=t.getRenderingType();if(i===s)return;i===r&&google.maps.WebGLOverlayView?this._createOverlayVector(t):this._createOverlayRaster(t)}_createOverlayVector(t){let r=this.props.interleaved??li.interleaved,s=new google.maps.OverlayView;s.onAdd=this._onAddVectorOverlay.bind(this),s.draw=this._updateContainerSize.bind(this),s.onRemove=this._onRemove.bind(this),this._positioningOverlay=s,this._positioningOverlay.setMap(t);let i=new google.maps.WebGLOverlayView;i.onAdd=Et,i.onContextRestored=r?this._onContextRestored.bind(this):Et,i.onDraw=this._onDrawVector.bind(this),i.onContextLost=r?this._onContextLost.bind(this):Et,i.onRemove=r?this._onRemove.bind(this):Et,this._overlay=i,this._overlay.setMap(t)}_createOverlayRaster(t){let r=new google.maps.OverlayView;r.onAdd=this._onAdd.bind(this),r.draw=this._onDrawRaster.bind(this),r.onRemove=this._onRemove.bind(this),this._overlay=r,this._overlay.setMap(t)}_onAdd(){this._deck=gt(this._map,this._overlay,this._deck,this.props)}_onAddVectorOverlay(){let t=this._positioningOverlay,r=t.getPanes();if(r){let s=document.createElement("div");s.id=pt,s.style.position="absolute",r.overlayLayer.appendChild(s)}this._deck=gt(this._map,t,this._deck,this.props)}_updateContainerSize(){if(!this._map)return;let t=this._map.getDiv().querySelector(`#${pt}`);if(!t)return;let r=this._map.getDiv().firstChild;if(!r)return;let s=r.offsetWidth,i=r.offsetHeight;t.style.width=`${s}px`,t.style.height=`${i}px`,t.style.left=`${-s/2}px`,t.style.top=`${-i/2}px`}_onContextRestored({gl:t}){if(!this._map||!this._overlay)return;let r=()=>{this._overlay&&this._overlay.requestRedraw()},s=gt(this._map,this._overlay,this._deck,{gl:t,_customRender:r,...this.props});this._deck=s;let i=s.animationLoop;i._renderFrame=()=>{let n=t.getParameter(t.ARRAY_BUFFER_BINDING);s.device.withParametersWebGL({},()=>{i.props.onRender(i.animationProps)}),t.bindBuffer(t.ARRAY_BUFFER,n)}}_onContextLost(){this._deck&&(St(this._deck),this._deck=null)}_onRemove(){this._deck?.setProps({layerFilter:wn})}_onDrawRaster(){if(!this._deck||!this._map)return;let t=this._deck,{width:r,height:s,left:i,top:n,...o}=ai(this._map,this._overlay),c=t.getCanvas()?.parentElement||t.props.parent;if(c){let l=c.style;l.left=`${i}px`,l.top=`${n}px`}let _=1e4;t.setProps({width:r,height:s,viewState:{altitude:_,...o}}),t.redraw()}_onDrawVector({gl:t,transformer:r}){if(!this._deck||!this._map)return;let s=this._deck,{interleaved:i}=this.props;if(s.setProps({...ci(this._map,r),...i&&{width:null,height:null}}),i&&s.isInitialized){let n=s.device;if(n instanceof Te){let o=n.getParametersWebGL(w.FRAMEBUFFER_BINDING);s.setProps({_framebuffer:o})}s.needsRedraw({clearRedrawFlags:!0}),n instanceof Te&&(n.setParametersWebGL({viewport:[0,0,t.canvas.width,t.canvas.height],scissor:[0,0,t.canvas.width,t.canvas.height],stencilFunc:[t.ALWAYS,0,255,t.ALWAYS,0,255]}),n.withParametersWebGL(vn,()=>{s._drawLayers("google-vector",{clearCanvas:!1})}))}else i||s.redraw()}};return pi(be);})();
7
+ "use strict";var __exports__=(()=>{var Ni=Object.create;var Be=Object.defineProperty;var Oi=Object.getOwnPropertyDescriptor;var Ii=Object.getOwnPropertyNames;var Pi=Object.getPrototypeOf,ui=Object.prototype.hasOwnProperty;var p=(e,t)=>()=>(e&&(t=e(e=0)),t);var fr=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),Fi=(e,t)=>{for(var r in t)Be(e,r,{get:t[r],enumerable:!0})},De=(e,t,r,s)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of Ii(t))!ui.call(e,i)&&i!==r&&Be(e,i,{get:()=>t[i],enumerable:!(s=Oi(t,i))||s.enumerable});return e},se=(e,t,r)=>(De(e,t,"default"),r&&De(r,t,"default")),C=(e,t,r)=>(r=e!=null?Ni(Pi(e)):{},De(t||!e||!e.__esModule?Be(r,"default",{value:e,enumerable:!0}):r,e)),Di=e=>De(Be({},"__esModule",{value:!0}),e);var ye=fr((so,hr)=>{hr.exports=globalThis.deck});var w,Rr=p(()=>{(function(e){e[e.DEPTH_BUFFER_BIT=256]="DEPTH_BUFFER_BIT",e[e.STENCIL_BUFFER_BIT=1024]="STENCIL_BUFFER_BIT",e[e.COLOR_BUFFER_BIT=16384]="COLOR_BUFFER_BIT",e[e.POINTS=0]="POINTS",e[e.LINES=1]="LINES",e[e.LINE_LOOP=2]="LINE_LOOP",e[e.LINE_STRIP=3]="LINE_STRIP",e[e.TRIANGLES=4]="TRIANGLES",e[e.TRIANGLE_STRIP=5]="TRIANGLE_STRIP",e[e.TRIANGLE_FAN=6]="TRIANGLE_FAN",e[e.ZERO=0]="ZERO",e[e.ONE=1]="ONE",e[e.SRC_COLOR=768]="SRC_COLOR",e[e.ONE_MINUS_SRC_COLOR=769]="ONE_MINUS_SRC_COLOR",e[e.SRC_ALPHA=770]="SRC_ALPHA",e[e.ONE_MINUS_SRC_ALPHA=771]="ONE_MINUS_SRC_ALPHA",e[e.DST_ALPHA=772]="DST_ALPHA",e[e.ONE_MINUS_DST_ALPHA=773]="ONE_MINUS_DST_ALPHA",e[e.DST_COLOR=774]="DST_COLOR",e[e.ONE_MINUS_DST_COLOR=775]="ONE_MINUS_DST_COLOR",e[e.SRC_ALPHA_SATURATE=776]="SRC_ALPHA_SATURATE",e[e.CONSTANT_COLOR=32769]="CONSTANT_COLOR",e[e.ONE_MINUS_CONSTANT_COLOR=32770]="ONE_MINUS_CONSTANT_COLOR",e[e.CONSTANT_ALPHA=32771]="CONSTANT_ALPHA",e[e.ONE_MINUS_CONSTANT_ALPHA=32772]="ONE_MINUS_CONSTANT_ALPHA",e[e.FUNC_ADD=32774]="FUNC_ADD",e[e.FUNC_SUBTRACT=32778]="FUNC_SUBTRACT",e[e.FUNC_REVERSE_SUBTRACT=32779]="FUNC_REVERSE_SUBTRACT",e[e.BLEND_EQUATION=32777]="BLEND_EQUATION",e[e.BLEND_EQUATION_RGB=32777]="BLEND_EQUATION_RGB",e[e.BLEND_EQUATION_ALPHA=34877]="BLEND_EQUATION_ALPHA",e[e.BLEND_DST_RGB=32968]="BLEND_DST_RGB",e[e.BLEND_SRC_RGB=32969]="BLEND_SRC_RGB",e[e.BLEND_DST_ALPHA=32970]="BLEND_DST_ALPHA",e[e.BLEND_SRC_ALPHA=32971]="BLEND_SRC_ALPHA",e[e.BLEND_COLOR=32773]="BLEND_COLOR",e[e.ARRAY_BUFFER_BINDING=34964]="ARRAY_BUFFER_BINDING",e[e.ELEMENT_ARRAY_BUFFER_BINDING=34965]="ELEMENT_ARRAY_BUFFER_BINDING",e[e.LINE_WIDTH=2849]="LINE_WIDTH",e[e.ALIASED_POINT_SIZE_RANGE=33901]="ALIASED_POINT_SIZE_RANGE",e[e.ALIASED_LINE_WIDTH_RANGE=33902]="ALIASED_LINE_WIDTH_RANGE",e[e.CULL_FACE_MODE=2885]="CULL_FACE_MODE",e[e.FRONT_FACE=2886]="FRONT_FACE",e[e.DEPTH_RANGE=2928]="DEPTH_RANGE",e[e.DEPTH_WRITEMASK=2930]="DEPTH_WRITEMASK",e[e.DEPTH_CLEAR_VALUE=2931]="DEPTH_CLEAR_VALUE",e[e.DEPTH_FUNC=2932]="DEPTH_FUNC",e[e.STENCIL_CLEAR_VALUE=2961]="STENCIL_CLEAR_VALUE",e[e.STENCIL_FUNC=2962]="STENCIL_FUNC",e[e.STENCIL_FAIL=2964]="STENCIL_FAIL",e[e.STENCIL_PASS_DEPTH_FAIL=2965]="STENCIL_PASS_DEPTH_FAIL",e[e.STENCIL_PASS_DEPTH_PASS=2966]="STENCIL_PASS_DEPTH_PASS",e[e.STENCIL_REF=2967]="STENCIL_REF",e[e.STENCIL_VALUE_MASK=2963]="STENCIL_VALUE_MASK",e[e.STENCIL_WRITEMASK=2968]="STENCIL_WRITEMASK",e[e.STENCIL_BACK_FUNC=34816]="STENCIL_BACK_FUNC",e[e.STENCIL_BACK_FAIL=34817]="STENCIL_BACK_FAIL",e[e.STENCIL_BACK_PASS_DEPTH_FAIL=34818]="STENCIL_BACK_PASS_DEPTH_FAIL",e[e.STENCIL_BACK_PASS_DEPTH_PASS=34819]="STENCIL_BACK_PASS_DEPTH_PASS",e[e.STENCIL_BACK_REF=36003]="STENCIL_BACK_REF",e[e.STENCIL_BACK_VALUE_MASK=36004]="STENCIL_BACK_VALUE_MASK",e[e.STENCIL_BACK_WRITEMASK=36005]="STENCIL_BACK_WRITEMASK",e[e.VIEWPORT=2978]="VIEWPORT",e[e.SCISSOR_BOX=3088]="SCISSOR_BOX",e[e.COLOR_CLEAR_VALUE=3106]="COLOR_CLEAR_VALUE",e[e.COLOR_WRITEMASK=3107]="COLOR_WRITEMASK",e[e.UNPACK_ALIGNMENT=3317]="UNPACK_ALIGNMENT",e[e.PACK_ALIGNMENT=3333]="PACK_ALIGNMENT",e[e.MAX_TEXTURE_SIZE=3379]="MAX_TEXTURE_SIZE",e[e.MAX_VIEWPORT_DIMS=3386]="MAX_VIEWPORT_DIMS",e[e.SUBPIXEL_BITS=3408]="SUBPIXEL_BITS",e[e.RED_BITS=3410]="RED_BITS",e[e.GREEN_BITS=3411]="GREEN_BITS",e[e.BLUE_BITS=3412]="BLUE_BITS",e[e.ALPHA_BITS=3413]="ALPHA_BITS",e[e.DEPTH_BITS=3414]="DEPTH_BITS",e[e.STENCIL_BITS=3415]="STENCIL_BITS",e[e.POLYGON_OFFSET_UNITS=10752]="POLYGON_OFFSET_UNITS",e[e.POLYGON_OFFSET_FACTOR=32824]="POLYGON_OFFSET_FACTOR",e[e.TEXTURE_BINDING_2D=32873]="TEXTURE_BINDING_2D",e[e.SAMPLE_BUFFERS=32936]="SAMPLE_BUFFERS",e[e.SAMPLES=32937]="SAMPLES",e[e.SAMPLE_COVERAGE_VALUE=32938]="SAMPLE_COVERAGE_VALUE",e[e.SAMPLE_COVERAGE_INVERT=32939]="SAMPLE_COVERAGE_INVERT",e[e.COMPRESSED_TEXTURE_FORMATS=34467]="COMPRESSED_TEXTURE_FORMATS",e[e.VENDOR=7936]="VENDOR",e[e.RENDERER=7937]="RENDERER",e[e.VERSION=7938]="VERSION",e[e.IMPLEMENTATION_COLOR_READ_TYPE=35738]="IMPLEMENTATION_COLOR_READ_TYPE",e[e.IMPLEMENTATION_COLOR_READ_FORMAT=35739]="IMPLEMENTATION_COLOR_READ_FORMAT",e[e.BROWSER_DEFAULT_WEBGL=37444]="BROWSER_DEFAULT_WEBGL",e[e.STATIC_DRAW=35044]="STATIC_DRAW",e[e.STREAM_DRAW=35040]="STREAM_DRAW",e[e.DYNAMIC_DRAW=35048]="DYNAMIC_DRAW",e[e.ARRAY_BUFFER=34962]="ARRAY_BUFFER",e[e.ELEMENT_ARRAY_BUFFER=34963]="ELEMENT_ARRAY_BUFFER",e[e.BUFFER_SIZE=34660]="BUFFER_SIZE",e[e.BUFFER_USAGE=34661]="BUFFER_USAGE",e[e.CURRENT_VERTEX_ATTRIB=34342]="CURRENT_VERTEX_ATTRIB",e[e.VERTEX_ATTRIB_ARRAY_ENABLED=34338]="VERTEX_ATTRIB_ARRAY_ENABLED",e[e.VERTEX_ATTRIB_ARRAY_SIZE=34339]="VERTEX_ATTRIB_ARRAY_SIZE",e[e.VERTEX_ATTRIB_ARRAY_STRIDE=34340]="VERTEX_ATTRIB_ARRAY_STRIDE",e[e.VERTEX_ATTRIB_ARRAY_TYPE=34341]="VERTEX_ATTRIB_ARRAY_TYPE",e[e.VERTEX_ATTRIB_ARRAY_NORMALIZED=34922]="VERTEX_ATTRIB_ARRAY_NORMALIZED",e[e.VERTEX_ATTRIB_ARRAY_POINTER=34373]="VERTEX_ATTRIB_ARRAY_POINTER",e[e.VERTEX_ATTRIB_ARRAY_BUFFER_BINDING=34975]="VERTEX_ATTRIB_ARRAY_BUFFER_BINDING",e[e.CULL_FACE=2884]="CULL_FACE",e[e.FRONT=1028]="FRONT",e[e.BACK=1029]="BACK",e[e.FRONT_AND_BACK=1032]="FRONT_AND_BACK",e[e.BLEND=3042]="BLEND",e[e.DEPTH_TEST=2929]="DEPTH_TEST",e[e.DITHER=3024]="DITHER",e[e.POLYGON_OFFSET_FILL=32823]="POLYGON_OFFSET_FILL",e[e.SAMPLE_ALPHA_TO_COVERAGE=32926]="SAMPLE_ALPHA_TO_COVERAGE",e[e.SAMPLE_COVERAGE=32928]="SAMPLE_COVERAGE",e[e.SCISSOR_TEST=3089]="SCISSOR_TEST",e[e.STENCIL_TEST=2960]="STENCIL_TEST",e[e.NO_ERROR=0]="NO_ERROR",e[e.INVALID_ENUM=1280]="INVALID_ENUM",e[e.INVALID_VALUE=1281]="INVALID_VALUE",e[e.INVALID_OPERATION=1282]="INVALID_OPERATION",e[e.OUT_OF_MEMORY=1285]="OUT_OF_MEMORY",e[e.CONTEXT_LOST_WEBGL=37442]="CONTEXT_LOST_WEBGL",e[e.CW=2304]="CW",e[e.CCW=2305]="CCW",e[e.DONT_CARE=4352]="DONT_CARE",e[e.FASTEST=4353]="FASTEST",e[e.NICEST=4354]="NICEST",e[e.GENERATE_MIPMAP_HINT=33170]="GENERATE_MIPMAP_HINT",e[e.BYTE=5120]="BYTE",e[e.UNSIGNED_BYTE=5121]="UNSIGNED_BYTE",e[e.SHORT=5122]="SHORT",e[e.UNSIGNED_SHORT=5123]="UNSIGNED_SHORT",e[e.INT=5124]="INT",e[e.UNSIGNED_INT=5125]="UNSIGNED_INT",e[e.FLOAT=5126]="FLOAT",e[e.DOUBLE=5130]="DOUBLE",e[e.DEPTH_COMPONENT=6402]="DEPTH_COMPONENT",e[e.ALPHA=6406]="ALPHA",e[e.RGB=6407]="RGB",e[e.RGBA=6408]="RGBA",e[e.LUMINANCE=6409]="LUMINANCE",e[e.LUMINANCE_ALPHA=6410]="LUMINANCE_ALPHA",e[e.UNSIGNED_SHORT_4_4_4_4=32819]="UNSIGNED_SHORT_4_4_4_4",e[e.UNSIGNED_SHORT_5_5_5_1=32820]="UNSIGNED_SHORT_5_5_5_1",e[e.UNSIGNED_SHORT_5_6_5=33635]="UNSIGNED_SHORT_5_6_5",e[e.FRAGMENT_SHADER=35632]="FRAGMENT_SHADER",e[e.VERTEX_SHADER=35633]="VERTEX_SHADER",e[e.COMPILE_STATUS=35713]="COMPILE_STATUS",e[e.DELETE_STATUS=35712]="DELETE_STATUS",e[e.LINK_STATUS=35714]="LINK_STATUS",e[e.VALIDATE_STATUS=35715]="VALIDATE_STATUS",e[e.ATTACHED_SHADERS=35717]="ATTACHED_SHADERS",e[e.ACTIVE_ATTRIBUTES=35721]="ACTIVE_ATTRIBUTES",e[e.ACTIVE_UNIFORMS=35718]="ACTIVE_UNIFORMS",e[e.MAX_VERTEX_ATTRIBS=34921]="MAX_VERTEX_ATTRIBS",e[e.MAX_VERTEX_UNIFORM_VECTORS=36347]="MAX_VERTEX_UNIFORM_VECTORS",e[e.MAX_VARYING_VECTORS=36348]="MAX_VARYING_VECTORS",e[e.MAX_COMBINED_TEXTURE_IMAGE_UNITS=35661]="MAX_COMBINED_TEXTURE_IMAGE_UNITS",e[e.MAX_VERTEX_TEXTURE_IMAGE_UNITS=35660]="MAX_VERTEX_TEXTURE_IMAGE_UNITS",e[e.MAX_TEXTURE_IMAGE_UNITS=34930]="MAX_TEXTURE_IMAGE_UNITS",e[e.MAX_FRAGMENT_UNIFORM_VECTORS=36349]="MAX_FRAGMENT_UNIFORM_VECTORS",e[e.SHADER_TYPE=35663]="SHADER_TYPE",e[e.SHADING_LANGUAGE_VERSION=35724]="SHADING_LANGUAGE_VERSION",e[e.CURRENT_PROGRAM=35725]="CURRENT_PROGRAM",e[e.NEVER=512]="NEVER",e[e.LESS=513]="LESS",e[e.EQUAL=514]="EQUAL",e[e.LEQUAL=515]="LEQUAL",e[e.GREATER=516]="GREATER",e[e.NOTEQUAL=517]="NOTEQUAL",e[e.GEQUAL=518]="GEQUAL",e[e.ALWAYS=519]="ALWAYS",e[e.KEEP=7680]="KEEP",e[e.REPLACE=7681]="REPLACE",e[e.INCR=7682]="INCR",e[e.DECR=7683]="DECR",e[e.INVERT=5386]="INVERT",e[e.INCR_WRAP=34055]="INCR_WRAP",e[e.DECR_WRAP=34056]="DECR_WRAP",e[e.NEAREST=9728]="NEAREST",e[e.LINEAR=9729]="LINEAR",e[e.NEAREST_MIPMAP_NEAREST=9984]="NEAREST_MIPMAP_NEAREST",e[e.LINEAR_MIPMAP_NEAREST=9985]="LINEAR_MIPMAP_NEAREST",e[e.NEAREST_MIPMAP_LINEAR=9986]="NEAREST_MIPMAP_LINEAR",e[e.LINEAR_MIPMAP_LINEAR=9987]="LINEAR_MIPMAP_LINEAR",e[e.TEXTURE_MAG_FILTER=10240]="TEXTURE_MAG_FILTER",e[e.TEXTURE_MIN_FILTER=10241]="TEXTURE_MIN_FILTER",e[e.TEXTURE_WRAP_S=10242]="TEXTURE_WRAP_S",e[e.TEXTURE_WRAP_T=10243]="TEXTURE_WRAP_T",e[e.TEXTURE_2D=3553]="TEXTURE_2D",e[e.TEXTURE=5890]="TEXTURE",e[e.TEXTURE_CUBE_MAP=34067]="TEXTURE_CUBE_MAP",e[e.TEXTURE_BINDING_CUBE_MAP=34068]="TEXTURE_BINDING_CUBE_MAP",e[e.TEXTURE_CUBE_MAP_POSITIVE_X=34069]="TEXTURE_CUBE_MAP_POSITIVE_X",e[e.TEXTURE_CUBE_MAP_NEGATIVE_X=34070]="TEXTURE_CUBE_MAP_NEGATIVE_X",e[e.TEXTURE_CUBE_MAP_POSITIVE_Y=34071]="TEXTURE_CUBE_MAP_POSITIVE_Y",e[e.TEXTURE_CUBE_MAP_NEGATIVE_Y=34072]="TEXTURE_CUBE_MAP_NEGATIVE_Y",e[e.TEXTURE_CUBE_MAP_POSITIVE_Z=34073]="TEXTURE_CUBE_MAP_POSITIVE_Z",e[e.TEXTURE_CUBE_MAP_NEGATIVE_Z=34074]="TEXTURE_CUBE_MAP_NEGATIVE_Z",e[e.MAX_CUBE_MAP_TEXTURE_SIZE=34076]="MAX_CUBE_MAP_TEXTURE_SIZE",e[e.TEXTURE0=33984]="TEXTURE0",e[e.ACTIVE_TEXTURE=34016]="ACTIVE_TEXTURE",e[e.REPEAT=10497]="REPEAT",e[e.CLAMP_TO_EDGE=33071]="CLAMP_TO_EDGE",e[e.MIRRORED_REPEAT=33648]="MIRRORED_REPEAT",e[e.TEXTURE_WIDTH=4096]="TEXTURE_WIDTH",e[e.TEXTURE_HEIGHT=4097]="TEXTURE_HEIGHT",e[e.FLOAT_VEC2=35664]="FLOAT_VEC2",e[e.FLOAT_VEC3=35665]="FLOAT_VEC3",e[e.FLOAT_VEC4=35666]="FLOAT_VEC4",e[e.INT_VEC2=35667]="INT_VEC2",e[e.INT_VEC3=35668]="INT_VEC3",e[e.INT_VEC4=35669]="INT_VEC4",e[e.BOOL=35670]="BOOL",e[e.BOOL_VEC2=35671]="BOOL_VEC2",e[e.BOOL_VEC3=35672]="BOOL_VEC3",e[e.BOOL_VEC4=35673]="BOOL_VEC4",e[e.FLOAT_MAT2=35674]="FLOAT_MAT2",e[e.FLOAT_MAT3=35675]="FLOAT_MAT3",e[e.FLOAT_MAT4=35676]="FLOAT_MAT4",e[e.SAMPLER_2D=35678]="SAMPLER_2D",e[e.SAMPLER_CUBE=35680]="SAMPLER_CUBE",e[e.LOW_FLOAT=36336]="LOW_FLOAT",e[e.MEDIUM_FLOAT=36337]="MEDIUM_FLOAT",e[e.HIGH_FLOAT=36338]="HIGH_FLOAT",e[e.LOW_INT=36339]="LOW_INT",e[e.MEDIUM_INT=36340]="MEDIUM_INT",e[e.HIGH_INT=36341]="HIGH_INT",e[e.FRAMEBUFFER=36160]="FRAMEBUFFER",e[e.RENDERBUFFER=36161]="RENDERBUFFER",e[e.RGBA4=32854]="RGBA4",e[e.RGB5_A1=32855]="RGB5_A1",e[e.RGB565=36194]="RGB565",e[e.DEPTH_COMPONENT16=33189]="DEPTH_COMPONENT16",e[e.STENCIL_INDEX=6401]="STENCIL_INDEX",e[e.STENCIL_INDEX8=36168]="STENCIL_INDEX8",e[e.DEPTH_STENCIL=34041]="DEPTH_STENCIL",e[e.RENDERBUFFER_WIDTH=36162]="RENDERBUFFER_WIDTH",e[e.RENDERBUFFER_HEIGHT=36163]="RENDERBUFFER_HEIGHT",e[e.RENDERBUFFER_INTERNAL_FORMAT=36164]="RENDERBUFFER_INTERNAL_FORMAT",e[e.RENDERBUFFER_RED_SIZE=36176]="RENDERBUFFER_RED_SIZE",e[e.RENDERBUFFER_GREEN_SIZE=36177]="RENDERBUFFER_GREEN_SIZE",e[e.RENDERBUFFER_BLUE_SIZE=36178]="RENDERBUFFER_BLUE_SIZE",e[e.RENDERBUFFER_ALPHA_SIZE=36179]="RENDERBUFFER_ALPHA_SIZE",e[e.RENDERBUFFER_DEPTH_SIZE=36180]="RENDERBUFFER_DEPTH_SIZE",e[e.RENDERBUFFER_STENCIL_SIZE=36181]="RENDERBUFFER_STENCIL_SIZE",e[e.FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE=36048]="FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE",e[e.FRAMEBUFFER_ATTACHMENT_OBJECT_NAME=36049]="FRAMEBUFFER_ATTACHMENT_OBJECT_NAME",e[e.FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL=36050]="FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL",e[e.FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE=36051]="FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE",e[e.COLOR_ATTACHMENT0=36064]="COLOR_ATTACHMENT0",e[e.DEPTH_ATTACHMENT=36096]="DEPTH_ATTACHMENT",e[e.STENCIL_ATTACHMENT=36128]="STENCIL_ATTACHMENT",e[e.DEPTH_STENCIL_ATTACHMENT=33306]="DEPTH_STENCIL_ATTACHMENT",e[e.NONE=0]="NONE",e[e.FRAMEBUFFER_COMPLETE=36053]="FRAMEBUFFER_COMPLETE",e[e.FRAMEBUFFER_INCOMPLETE_ATTACHMENT=36054]="FRAMEBUFFER_INCOMPLETE_ATTACHMENT",e[e.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT=36055]="FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT",e[e.FRAMEBUFFER_INCOMPLETE_DIMENSIONS=36057]="FRAMEBUFFER_INCOMPLETE_DIMENSIONS",e[e.FRAMEBUFFER_UNSUPPORTED=36061]="FRAMEBUFFER_UNSUPPORTED",e[e.FRAMEBUFFER_BINDING=36006]="FRAMEBUFFER_BINDING",e[e.RENDERBUFFER_BINDING=36007]="RENDERBUFFER_BINDING",e[e.READ_FRAMEBUFFER=36008]="READ_FRAMEBUFFER",e[e.DRAW_FRAMEBUFFER=36009]="DRAW_FRAMEBUFFER",e[e.MAX_RENDERBUFFER_SIZE=34024]="MAX_RENDERBUFFER_SIZE",e[e.INVALID_FRAMEBUFFER_OPERATION=1286]="INVALID_FRAMEBUFFER_OPERATION",e[e.UNPACK_FLIP_Y_WEBGL=37440]="UNPACK_FLIP_Y_WEBGL",e[e.UNPACK_PREMULTIPLY_ALPHA_WEBGL=37441]="UNPACK_PREMULTIPLY_ALPHA_WEBGL",e[e.UNPACK_COLORSPACE_CONVERSION_WEBGL=37443]="UNPACK_COLORSPACE_CONVERSION_WEBGL",e[e.READ_BUFFER=3074]="READ_BUFFER",e[e.UNPACK_ROW_LENGTH=3314]="UNPACK_ROW_LENGTH",e[e.UNPACK_SKIP_ROWS=3315]="UNPACK_SKIP_ROWS",e[e.UNPACK_SKIP_PIXELS=3316]="UNPACK_SKIP_PIXELS",e[e.PACK_ROW_LENGTH=3330]="PACK_ROW_LENGTH",e[e.PACK_SKIP_ROWS=3331]="PACK_SKIP_ROWS",e[e.PACK_SKIP_PIXELS=3332]="PACK_SKIP_PIXELS",e[e.TEXTURE_BINDING_3D=32874]="TEXTURE_BINDING_3D",e[e.UNPACK_SKIP_IMAGES=32877]="UNPACK_SKIP_IMAGES",e[e.UNPACK_IMAGE_HEIGHT=32878]="UNPACK_IMAGE_HEIGHT",e[e.MAX_3D_TEXTURE_SIZE=32883]="MAX_3D_TEXTURE_SIZE",e[e.MAX_ELEMENTS_VERTICES=33e3]="MAX_ELEMENTS_VERTICES",e[e.MAX_ELEMENTS_INDICES=33001]="MAX_ELEMENTS_INDICES",e[e.MAX_TEXTURE_LOD_BIAS=34045]="MAX_TEXTURE_LOD_BIAS",e[e.MAX_FRAGMENT_UNIFORM_COMPONENTS=35657]="MAX_FRAGMENT_UNIFORM_COMPONENTS",e[e.MAX_VERTEX_UNIFORM_COMPONENTS=35658]="MAX_VERTEX_UNIFORM_COMPONENTS",e[e.MAX_ARRAY_TEXTURE_LAYERS=35071]="MAX_ARRAY_TEXTURE_LAYERS",e[e.MIN_PROGRAM_TEXEL_OFFSET=35076]="MIN_PROGRAM_TEXEL_OFFSET",e[e.MAX_PROGRAM_TEXEL_OFFSET=35077]="MAX_PROGRAM_TEXEL_OFFSET",e[e.MAX_VARYING_COMPONENTS=35659]="MAX_VARYING_COMPONENTS",e[e.FRAGMENT_SHADER_DERIVATIVE_HINT=35723]="FRAGMENT_SHADER_DERIVATIVE_HINT",e[e.RASTERIZER_DISCARD=35977]="RASTERIZER_DISCARD",e[e.VERTEX_ARRAY_BINDING=34229]="VERTEX_ARRAY_BINDING",e[e.MAX_VERTEX_OUTPUT_COMPONENTS=37154]="MAX_VERTEX_OUTPUT_COMPONENTS",e[e.MAX_FRAGMENT_INPUT_COMPONENTS=37157]="MAX_FRAGMENT_INPUT_COMPONENTS",e[e.MAX_SERVER_WAIT_TIMEOUT=37137]="MAX_SERVER_WAIT_TIMEOUT",e[e.MAX_ELEMENT_INDEX=36203]="MAX_ELEMENT_INDEX",e[e.RED=6403]="RED",e[e.RGB8=32849]="RGB8",e[e.RGBA8=32856]="RGBA8",e[e.RGB10_A2=32857]="RGB10_A2",e[e.TEXTURE_3D=32879]="TEXTURE_3D",e[e.TEXTURE_WRAP_R=32882]="TEXTURE_WRAP_R",e[e.TEXTURE_MIN_LOD=33082]="TEXTURE_MIN_LOD",e[e.TEXTURE_MAX_LOD=33083]="TEXTURE_MAX_LOD",e[e.TEXTURE_BASE_LEVEL=33084]="TEXTURE_BASE_LEVEL",e[e.TEXTURE_MAX_LEVEL=33085]="TEXTURE_MAX_LEVEL",e[e.TEXTURE_COMPARE_MODE=34892]="TEXTURE_COMPARE_MODE",e[e.TEXTURE_COMPARE_FUNC=34893]="TEXTURE_COMPARE_FUNC",e[e.SRGB=35904]="SRGB",e[e.SRGB8=35905]="SRGB8",e[e.SRGB8_ALPHA8=35907]="SRGB8_ALPHA8",e[e.COMPARE_REF_TO_TEXTURE=34894]="COMPARE_REF_TO_TEXTURE",e[e.RGBA32F=34836]="RGBA32F",e[e.RGB32F=34837]="RGB32F",e[e.RGBA16F=34842]="RGBA16F",e[e.RGB16F=34843]="RGB16F",e[e.TEXTURE_2D_ARRAY=35866]="TEXTURE_2D_ARRAY",e[e.TEXTURE_BINDING_2D_ARRAY=35869]="TEXTURE_BINDING_2D_ARRAY",e[e.R11F_G11F_B10F=35898]="R11F_G11F_B10F",e[e.RGB9_E5=35901]="RGB9_E5",e[e.RGBA32UI=36208]="RGBA32UI",e[e.RGB32UI=36209]="RGB32UI",e[e.RGBA16UI=36214]="RGBA16UI",e[e.RGB16UI=36215]="RGB16UI",e[e.RGBA8UI=36220]="RGBA8UI",e[e.RGB8UI=36221]="RGB8UI",e[e.RGBA32I=36226]="RGBA32I",e[e.RGB32I=36227]="RGB32I",e[e.RGBA16I=36232]="RGBA16I",e[e.RGB16I=36233]="RGB16I",e[e.RGBA8I=36238]="RGBA8I",e[e.RGB8I=36239]="RGB8I",e[e.RED_INTEGER=36244]="RED_INTEGER",e[e.RGB_INTEGER=36248]="RGB_INTEGER",e[e.RGBA_INTEGER=36249]="RGBA_INTEGER",e[e.R8=33321]="R8",e[e.RG8=33323]="RG8",e[e.R16F=33325]="R16F",e[e.R32F=33326]="R32F",e[e.RG16F=33327]="RG16F",e[e.RG32F=33328]="RG32F",e[e.R8I=33329]="R8I",e[e.R8UI=33330]="R8UI",e[e.R16I=33331]="R16I",e[e.R16UI=33332]="R16UI",e[e.R32I=33333]="R32I",e[e.R32UI=33334]="R32UI",e[e.RG8I=33335]="RG8I",e[e.RG8UI=33336]="RG8UI",e[e.RG16I=33337]="RG16I",e[e.RG16UI=33338]="RG16UI",e[e.RG32I=33339]="RG32I",e[e.RG32UI=33340]="RG32UI",e[e.R8_SNORM=36756]="R8_SNORM",e[e.RG8_SNORM=36757]="RG8_SNORM",e[e.RGB8_SNORM=36758]="RGB8_SNORM",e[e.RGBA8_SNORM=36759]="RGBA8_SNORM",e[e.RGB10_A2UI=36975]="RGB10_A2UI",e[e.TEXTURE_IMMUTABLE_FORMAT=37167]="TEXTURE_IMMUTABLE_FORMAT",e[e.TEXTURE_IMMUTABLE_LEVELS=33503]="TEXTURE_IMMUTABLE_LEVELS",e[e.UNSIGNED_INT_2_10_10_10_REV=33640]="UNSIGNED_INT_2_10_10_10_REV",e[e.UNSIGNED_INT_10F_11F_11F_REV=35899]="UNSIGNED_INT_10F_11F_11F_REV",e[e.UNSIGNED_INT_5_9_9_9_REV=35902]="UNSIGNED_INT_5_9_9_9_REV",e[e.FLOAT_32_UNSIGNED_INT_24_8_REV=36269]="FLOAT_32_UNSIGNED_INT_24_8_REV",e[e.UNSIGNED_INT_24_8=34042]="UNSIGNED_INT_24_8",e[e.HALF_FLOAT=5131]="HALF_FLOAT",e[e.RG=33319]="RG",e[e.RG_INTEGER=33320]="RG_INTEGER",e[e.INT_2_10_10_10_REV=36255]="INT_2_10_10_10_REV",e[e.CURRENT_QUERY=34917]="CURRENT_QUERY",e[e.QUERY_RESULT=34918]="QUERY_RESULT",e[e.QUERY_RESULT_AVAILABLE=34919]="QUERY_RESULT_AVAILABLE",e[e.ANY_SAMPLES_PASSED=35887]="ANY_SAMPLES_PASSED",e[e.ANY_SAMPLES_PASSED_CONSERVATIVE=36202]="ANY_SAMPLES_PASSED_CONSERVATIVE",e[e.MAX_DRAW_BUFFERS=34852]="MAX_DRAW_BUFFERS",e[e.DRAW_BUFFER0=34853]="DRAW_BUFFER0",e[e.DRAW_BUFFER1=34854]="DRAW_BUFFER1",e[e.DRAW_BUFFER2=34855]="DRAW_BUFFER2",e[e.DRAW_BUFFER3=34856]="DRAW_BUFFER3",e[e.DRAW_BUFFER4=34857]="DRAW_BUFFER4",e[e.DRAW_BUFFER5=34858]="DRAW_BUFFER5",e[e.DRAW_BUFFER6=34859]="DRAW_BUFFER6",e[e.DRAW_BUFFER7=34860]="DRAW_BUFFER7",e[e.DRAW_BUFFER8=34861]="DRAW_BUFFER8",e[e.DRAW_BUFFER9=34862]="DRAW_BUFFER9",e[e.DRAW_BUFFER10=34863]="DRAW_BUFFER10",e[e.DRAW_BUFFER11=34864]="DRAW_BUFFER11",e[e.DRAW_BUFFER12=34865]="DRAW_BUFFER12",e[e.DRAW_BUFFER13=34866]="DRAW_BUFFER13",e[e.DRAW_BUFFER14=34867]="DRAW_BUFFER14",e[e.DRAW_BUFFER15=34868]="DRAW_BUFFER15",e[e.MAX_COLOR_ATTACHMENTS=36063]="MAX_COLOR_ATTACHMENTS",e[e.COLOR_ATTACHMENT1=36065]="COLOR_ATTACHMENT1",e[e.COLOR_ATTACHMENT2=36066]="COLOR_ATTACHMENT2",e[e.COLOR_ATTACHMENT3=36067]="COLOR_ATTACHMENT3",e[e.COLOR_ATTACHMENT4=36068]="COLOR_ATTACHMENT4",e[e.COLOR_ATTACHMENT5=36069]="COLOR_ATTACHMENT5",e[e.COLOR_ATTACHMENT6=36070]="COLOR_ATTACHMENT6",e[e.COLOR_ATTACHMENT7=36071]="COLOR_ATTACHMENT7",e[e.COLOR_ATTACHMENT8=36072]="COLOR_ATTACHMENT8",e[e.COLOR_ATTACHMENT9=36073]="COLOR_ATTACHMENT9",e[e.COLOR_ATTACHMENT10=36074]="COLOR_ATTACHMENT10",e[e.COLOR_ATTACHMENT11=36075]="COLOR_ATTACHMENT11",e[e.COLOR_ATTACHMENT12=36076]="COLOR_ATTACHMENT12",e[e.COLOR_ATTACHMENT13=36077]="COLOR_ATTACHMENT13",e[e.COLOR_ATTACHMENT14=36078]="COLOR_ATTACHMENT14",e[e.COLOR_ATTACHMENT15=36079]="COLOR_ATTACHMENT15",e[e.SAMPLER_3D=35679]="SAMPLER_3D",e[e.SAMPLER_2D_SHADOW=35682]="SAMPLER_2D_SHADOW",e[e.SAMPLER_2D_ARRAY=36289]="SAMPLER_2D_ARRAY",e[e.SAMPLER_2D_ARRAY_SHADOW=36292]="SAMPLER_2D_ARRAY_SHADOW",e[e.SAMPLER_CUBE_SHADOW=36293]="SAMPLER_CUBE_SHADOW",e[e.INT_SAMPLER_2D=36298]="INT_SAMPLER_2D",e[e.INT_SAMPLER_3D=36299]="INT_SAMPLER_3D",e[e.INT_SAMPLER_CUBE=36300]="INT_SAMPLER_CUBE",e[e.INT_SAMPLER_2D_ARRAY=36303]="INT_SAMPLER_2D_ARRAY",e[e.UNSIGNED_INT_SAMPLER_2D=36306]="UNSIGNED_INT_SAMPLER_2D",e[e.UNSIGNED_INT_SAMPLER_3D=36307]="UNSIGNED_INT_SAMPLER_3D",e[e.UNSIGNED_INT_SAMPLER_CUBE=36308]="UNSIGNED_INT_SAMPLER_CUBE",e[e.UNSIGNED_INT_SAMPLER_2D_ARRAY=36311]="UNSIGNED_INT_SAMPLER_2D_ARRAY",e[e.MAX_SAMPLES=36183]="MAX_SAMPLES",e[e.SAMPLER_BINDING=35097]="SAMPLER_BINDING",e[e.PIXEL_PACK_BUFFER=35051]="PIXEL_PACK_BUFFER",e[e.PIXEL_UNPACK_BUFFER=35052]="PIXEL_UNPACK_BUFFER",e[e.PIXEL_PACK_BUFFER_BINDING=35053]="PIXEL_PACK_BUFFER_BINDING",e[e.PIXEL_UNPACK_BUFFER_BINDING=35055]="PIXEL_UNPACK_BUFFER_BINDING",e[e.COPY_READ_BUFFER=36662]="COPY_READ_BUFFER",e[e.COPY_WRITE_BUFFER=36663]="COPY_WRITE_BUFFER",e[e.COPY_READ_BUFFER_BINDING=36662]="COPY_READ_BUFFER_BINDING",e[e.COPY_WRITE_BUFFER_BINDING=36663]="COPY_WRITE_BUFFER_BINDING",e[e.FLOAT_MAT2x3=35685]="FLOAT_MAT2x3",e[e.FLOAT_MAT2x4=35686]="FLOAT_MAT2x4",e[e.FLOAT_MAT3x2=35687]="FLOAT_MAT3x2",e[e.FLOAT_MAT3x4=35688]="FLOAT_MAT3x4",e[e.FLOAT_MAT4x2=35689]="FLOAT_MAT4x2",e[e.FLOAT_MAT4x3=35690]="FLOAT_MAT4x3",e[e.UNSIGNED_INT_VEC2=36294]="UNSIGNED_INT_VEC2",e[e.UNSIGNED_INT_VEC3=36295]="UNSIGNED_INT_VEC3",e[e.UNSIGNED_INT_VEC4=36296]="UNSIGNED_INT_VEC4",e[e.UNSIGNED_NORMALIZED=35863]="UNSIGNED_NORMALIZED",e[e.SIGNED_NORMALIZED=36764]="SIGNED_NORMALIZED",e[e.VERTEX_ATTRIB_ARRAY_INTEGER=35069]="VERTEX_ATTRIB_ARRAY_INTEGER",e[e.VERTEX_ATTRIB_ARRAY_DIVISOR=35070]="VERTEX_ATTRIB_ARRAY_DIVISOR",e[e.TRANSFORM_FEEDBACK_BUFFER_MODE=35967]="TRANSFORM_FEEDBACK_BUFFER_MODE",e[e.MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS=35968]="MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS",e[e.TRANSFORM_FEEDBACK_VARYINGS=35971]="TRANSFORM_FEEDBACK_VARYINGS",e[e.TRANSFORM_FEEDBACK_BUFFER_START=35972]="TRANSFORM_FEEDBACK_BUFFER_START",e[e.TRANSFORM_FEEDBACK_BUFFER_SIZE=35973]="TRANSFORM_FEEDBACK_BUFFER_SIZE",e[e.TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN=35976]="TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN",e[e.MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS=35978]="MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS",e[e.MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS=35979]="MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS",e[e.INTERLEAVED_ATTRIBS=35980]="INTERLEAVED_ATTRIBS",e[e.SEPARATE_ATTRIBS=35981]="SEPARATE_ATTRIBS",e[e.TRANSFORM_FEEDBACK_BUFFER=35982]="TRANSFORM_FEEDBACK_BUFFER",e[e.TRANSFORM_FEEDBACK_BUFFER_BINDING=35983]="TRANSFORM_FEEDBACK_BUFFER_BINDING",e[e.TRANSFORM_FEEDBACK=36386]="TRANSFORM_FEEDBACK",e[e.TRANSFORM_FEEDBACK_PAUSED=36387]="TRANSFORM_FEEDBACK_PAUSED",e[e.TRANSFORM_FEEDBACK_ACTIVE=36388]="TRANSFORM_FEEDBACK_ACTIVE",e[e.TRANSFORM_FEEDBACK_BINDING=36389]="TRANSFORM_FEEDBACK_BINDING",e[e.FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING=33296]="FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING",e[e.FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE=33297]="FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE",e[e.FRAMEBUFFER_ATTACHMENT_RED_SIZE=33298]="FRAMEBUFFER_ATTACHMENT_RED_SIZE",e[e.FRAMEBUFFER_ATTACHMENT_GREEN_SIZE=33299]="FRAMEBUFFER_ATTACHMENT_GREEN_SIZE",e[e.FRAMEBUFFER_ATTACHMENT_BLUE_SIZE=33300]="FRAMEBUFFER_ATTACHMENT_BLUE_SIZE",e[e.FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE=33301]="FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE",e[e.FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE=33302]="FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE",e[e.FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE=33303]="FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE",e[e.FRAMEBUFFER_DEFAULT=33304]="FRAMEBUFFER_DEFAULT",e[e.DEPTH24_STENCIL8=35056]="DEPTH24_STENCIL8",e[e.DRAW_FRAMEBUFFER_BINDING=36006]="DRAW_FRAMEBUFFER_BINDING",e[e.READ_FRAMEBUFFER_BINDING=36010]="READ_FRAMEBUFFER_BINDING",e[e.RENDERBUFFER_SAMPLES=36011]="RENDERBUFFER_SAMPLES",e[e.FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER=36052]="FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER",e[e.FRAMEBUFFER_INCOMPLETE_MULTISAMPLE=36182]="FRAMEBUFFER_INCOMPLETE_MULTISAMPLE",e[e.UNIFORM_BUFFER=35345]="UNIFORM_BUFFER",e[e.UNIFORM_BUFFER_BINDING=35368]="UNIFORM_BUFFER_BINDING",e[e.UNIFORM_BUFFER_START=35369]="UNIFORM_BUFFER_START",e[e.UNIFORM_BUFFER_SIZE=35370]="UNIFORM_BUFFER_SIZE",e[e.MAX_VERTEX_UNIFORM_BLOCKS=35371]="MAX_VERTEX_UNIFORM_BLOCKS",e[e.MAX_FRAGMENT_UNIFORM_BLOCKS=35373]="MAX_FRAGMENT_UNIFORM_BLOCKS",e[e.MAX_COMBINED_UNIFORM_BLOCKS=35374]="MAX_COMBINED_UNIFORM_BLOCKS",e[e.MAX_UNIFORM_BUFFER_BINDINGS=35375]="MAX_UNIFORM_BUFFER_BINDINGS",e[e.MAX_UNIFORM_BLOCK_SIZE=35376]="MAX_UNIFORM_BLOCK_SIZE",e[e.MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS=35377]="MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS",e[e.MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS=35379]="MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS",e[e.UNIFORM_BUFFER_OFFSET_ALIGNMENT=35380]="UNIFORM_BUFFER_OFFSET_ALIGNMENT",e[e.ACTIVE_UNIFORM_BLOCKS=35382]="ACTIVE_UNIFORM_BLOCKS",e[e.UNIFORM_TYPE=35383]="UNIFORM_TYPE",e[e.UNIFORM_SIZE=35384]="UNIFORM_SIZE",e[e.UNIFORM_BLOCK_INDEX=35386]="UNIFORM_BLOCK_INDEX",e[e.UNIFORM_OFFSET=35387]="UNIFORM_OFFSET",e[e.UNIFORM_ARRAY_STRIDE=35388]="UNIFORM_ARRAY_STRIDE",e[e.UNIFORM_MATRIX_STRIDE=35389]="UNIFORM_MATRIX_STRIDE",e[e.UNIFORM_IS_ROW_MAJOR=35390]="UNIFORM_IS_ROW_MAJOR",e[e.UNIFORM_BLOCK_BINDING=35391]="UNIFORM_BLOCK_BINDING",e[e.UNIFORM_BLOCK_DATA_SIZE=35392]="UNIFORM_BLOCK_DATA_SIZE",e[e.UNIFORM_BLOCK_ACTIVE_UNIFORMS=35394]="UNIFORM_BLOCK_ACTIVE_UNIFORMS",e[e.UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES=35395]="UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES",e[e.UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER=35396]="UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER",e[e.UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER=35398]="UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER",e[e.OBJECT_TYPE=37138]="OBJECT_TYPE",e[e.SYNC_CONDITION=37139]="SYNC_CONDITION",e[e.SYNC_STATUS=37140]="SYNC_STATUS",e[e.SYNC_FLAGS=37141]="SYNC_FLAGS",e[e.SYNC_FENCE=37142]="SYNC_FENCE",e[e.SYNC_GPU_COMMANDS_COMPLETE=37143]="SYNC_GPU_COMMANDS_COMPLETE",e[e.UNSIGNALED=37144]="UNSIGNALED",e[e.SIGNALED=37145]="SIGNALED",e[e.ALREADY_SIGNALED=37146]="ALREADY_SIGNALED",e[e.TIMEOUT_EXPIRED=37147]="TIMEOUT_EXPIRED",e[e.CONDITION_SATISFIED=37148]="CONDITION_SATISFIED",e[e.WAIT_FAILED=37149]="WAIT_FAILED",e[e.SYNC_FLUSH_COMMANDS_BIT=1]="SYNC_FLUSH_COMMANDS_BIT",e[e.COLOR=6144]="COLOR",e[e.DEPTH=6145]="DEPTH",e[e.STENCIL=6146]="STENCIL",e[e.MIN=32775]="MIN",e[e.MAX=32776]="MAX",e[e.DEPTH_COMPONENT24=33190]="DEPTH_COMPONENT24",e[e.STREAM_READ=35041]="STREAM_READ",e[e.STREAM_COPY=35042]="STREAM_COPY",e[e.STATIC_READ=35045]="STATIC_READ",e[e.STATIC_COPY=35046]="STATIC_COPY",e[e.DYNAMIC_READ=35049]="DYNAMIC_READ",e[e.DYNAMIC_COPY=35050]="DYNAMIC_COPY",e[e.DEPTH_COMPONENT32F=36012]="DEPTH_COMPONENT32F",e[e.DEPTH32F_STENCIL8=36013]="DEPTH32F_STENCIL8",e[e.INVALID_INDEX=4294967295]="INVALID_INDEX",e[e.TIMEOUT_IGNORED=-1]="TIMEOUT_IGNORED",e[e.MAX_CLIENT_WAIT_TIMEOUT_WEBGL=37447]="MAX_CLIENT_WAIT_TIMEOUT_WEBGL",e[e.UNMASKED_VENDOR_WEBGL=37445]="UNMASKED_VENDOR_WEBGL",e[e.UNMASKED_RENDERER_WEBGL=37446]="UNMASKED_RENDERER_WEBGL",e[e.MAX_TEXTURE_MAX_ANISOTROPY_EXT=34047]="MAX_TEXTURE_MAX_ANISOTROPY_EXT",e[e.TEXTURE_MAX_ANISOTROPY_EXT=34046]="TEXTURE_MAX_ANISOTROPY_EXT",e[e.R16_EXT=33322]="R16_EXT",e[e.RG16_EXT=33324]="RG16_EXT",e[e.RGB16_EXT=32852]="RGB16_EXT",e[e.RGBA16_EXT=32859]="RGBA16_EXT",e[e.R16_SNORM_EXT=36760]="R16_SNORM_EXT",e[e.RG16_SNORM_EXT=36761]="RG16_SNORM_EXT",e[e.RGB16_SNORM_EXT=36762]="RGB16_SNORM_EXT",e[e.RGBA16_SNORM_EXT=36763]="RGBA16_SNORM_EXT",e[e.COMPRESSED_RGB_S3TC_DXT1_EXT=33776]="COMPRESSED_RGB_S3TC_DXT1_EXT",e[e.COMPRESSED_RGBA_S3TC_DXT1_EXT=33777]="COMPRESSED_RGBA_S3TC_DXT1_EXT",e[e.COMPRESSED_RGBA_S3TC_DXT3_EXT=33778]="COMPRESSED_RGBA_S3TC_DXT3_EXT",e[e.COMPRESSED_RGBA_S3TC_DXT5_EXT=33779]="COMPRESSED_RGBA_S3TC_DXT5_EXT",e[e.COMPRESSED_SRGB_S3TC_DXT1_EXT=35916]="COMPRESSED_SRGB_S3TC_DXT1_EXT",e[e.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT=35917]="COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT",e[e.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT=35918]="COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT",e[e.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT=35919]="COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT",e[e.COMPRESSED_RED_RGTC1_EXT=36283]="COMPRESSED_RED_RGTC1_EXT",e[e.COMPRESSED_SIGNED_RED_RGTC1_EXT=36284]="COMPRESSED_SIGNED_RED_RGTC1_EXT",e[e.COMPRESSED_RED_GREEN_RGTC2_EXT=36285]="COMPRESSED_RED_GREEN_RGTC2_EXT",e[e.COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT=36286]="COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT",e[e.COMPRESSED_RGBA_BPTC_UNORM_EXT=36492]="COMPRESSED_RGBA_BPTC_UNORM_EXT",e[e.COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT=36493]="COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT",e[e.COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT=36494]="COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT",e[e.COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT=36495]="COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT",e[e.COMPRESSED_R11_EAC=37488]="COMPRESSED_R11_EAC",e[e.COMPRESSED_SIGNED_R11_EAC=37489]="COMPRESSED_SIGNED_R11_EAC",e[e.COMPRESSED_RG11_EAC=37490]="COMPRESSED_RG11_EAC",e[e.COMPRESSED_SIGNED_RG11_EAC=37491]="COMPRESSED_SIGNED_RG11_EAC",e[e.COMPRESSED_RGB8_ETC2=37492]="COMPRESSED_RGB8_ETC2",e[e.COMPRESSED_RGBA8_ETC2_EAC=37493]="COMPRESSED_RGBA8_ETC2_EAC",e[e.COMPRESSED_SRGB8_ETC2=37494]="COMPRESSED_SRGB8_ETC2",e[e.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC=37495]="COMPRESSED_SRGB8_ALPHA8_ETC2_EAC",e[e.COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2=37496]="COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2",e[e.COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2=37497]="COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2",e[e.COMPRESSED_RGB_PVRTC_4BPPV1_IMG=35840]="COMPRESSED_RGB_PVRTC_4BPPV1_IMG",e[e.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG=35842]="COMPRESSED_RGBA_PVRTC_4BPPV1_IMG",e[e.COMPRESSED_RGB_PVRTC_2BPPV1_IMG=35841]="COMPRESSED_RGB_PVRTC_2BPPV1_IMG",e[e.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG=35843]="COMPRESSED_RGBA_PVRTC_2BPPV1_IMG",e[e.COMPRESSED_RGB_ETC1_WEBGL=36196]="COMPRESSED_RGB_ETC1_WEBGL",e[e.COMPRESSED_RGB_ATC_WEBGL=35986]="COMPRESSED_RGB_ATC_WEBGL",e[e.COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL=35986]="COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL",e[e.COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL=34798]="COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL",e[e.COMPRESSED_RGBA_ASTC_4x4_KHR=37808]="COMPRESSED_RGBA_ASTC_4x4_KHR",e[e.COMPRESSED_RGBA_ASTC_5x4_KHR=37809]="COMPRESSED_RGBA_ASTC_5x4_KHR",e[e.COMPRESSED_RGBA_ASTC_5x5_KHR=37810]="COMPRESSED_RGBA_ASTC_5x5_KHR",e[e.COMPRESSED_RGBA_ASTC_6x5_KHR=37811]="COMPRESSED_RGBA_ASTC_6x5_KHR",e[e.COMPRESSED_RGBA_ASTC_6x6_KHR=37812]="COMPRESSED_RGBA_ASTC_6x6_KHR",e[e.COMPRESSED_RGBA_ASTC_8x5_KHR=37813]="COMPRESSED_RGBA_ASTC_8x5_KHR",e[e.COMPRESSED_RGBA_ASTC_8x6_KHR=37814]="COMPRESSED_RGBA_ASTC_8x6_KHR",e[e.COMPRESSED_RGBA_ASTC_8x8_KHR=37815]="COMPRESSED_RGBA_ASTC_8x8_KHR",e[e.COMPRESSED_RGBA_ASTC_10x5_KHR=37816]="COMPRESSED_RGBA_ASTC_10x5_KHR",e[e.COMPRESSED_RGBA_ASTC_10x6_KHR=37817]="COMPRESSED_RGBA_ASTC_10x6_KHR",e[e.COMPRESSED_RGBA_ASTC_10x8_KHR=37818]="COMPRESSED_RGBA_ASTC_10x8_KHR",e[e.COMPRESSED_RGBA_ASTC_10x10_KHR=37819]="COMPRESSED_RGBA_ASTC_10x10_KHR",e[e.COMPRESSED_RGBA_ASTC_12x10_KHR=37820]="COMPRESSED_RGBA_ASTC_12x10_KHR",e[e.COMPRESSED_RGBA_ASTC_12x12_KHR=37821]="COMPRESSED_RGBA_ASTC_12x12_KHR",e[e.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR=37840]="COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR",e[e.COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR=37841]="COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR",e[e.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR=37842]="COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR",e[e.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR=37843]="COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR",e[e.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR=37844]="COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR",e[e.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR=37845]="COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR",e[e.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR=37846]="COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR",e[e.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR=37847]="COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR",e[e.COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR=37848]="COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR",e[e.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR=37849]="COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR",e[e.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR=37850]="COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR",e[e.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR=37851]="COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR",e[e.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR=37852]="COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR",e[e.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR=37853]="COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR",e[e.QUERY_COUNTER_BITS_EXT=34916]="QUERY_COUNTER_BITS_EXT",e[e.CURRENT_QUERY_EXT=34917]="CURRENT_QUERY_EXT",e[e.QUERY_RESULT_EXT=34918]="QUERY_RESULT_EXT",e[e.QUERY_RESULT_AVAILABLE_EXT=34919]="QUERY_RESULT_AVAILABLE_EXT",e[e.TIME_ELAPSED_EXT=35007]="TIME_ELAPSED_EXT",e[e.TIMESTAMP_EXT=36392]="TIMESTAMP_EXT",e[e.GPU_DISJOINT_EXT=36795]="GPU_DISJOINT_EXT",e[e.COMPLETION_STATUS_KHR=37297]="COMPLETION_STATUS_KHR",e[e.DEPTH_CLAMP_EXT=34383]="DEPTH_CLAMP_EXT",e[e.FIRST_VERTEX_CONVENTION_WEBGL=36429]="FIRST_VERTEX_CONVENTION_WEBGL",e[e.LAST_VERTEX_CONVENTION_WEBGL=36430]="LAST_VERTEX_CONVENTION_WEBGL",e[e.PROVOKING_VERTEX_WEBL=36431]="PROVOKING_VERTEX_WEBL",e[e.POLYGON_MODE_WEBGL=2880]="POLYGON_MODE_WEBGL",e[e.POLYGON_OFFSET_LINE_WEBGL=10754]="POLYGON_OFFSET_LINE_WEBGL",e[e.LINE_WEBGL=6913]="LINE_WEBGL",e[e.FILL_WEBGL=6914]="FILL_WEBGL",e[e.MAX_CLIP_DISTANCES_WEBGL=3378]="MAX_CLIP_DISTANCES_WEBGL",e[e.MAX_CULL_DISTANCES_WEBGL=33529]="MAX_CULL_DISTANCES_WEBGL",e[e.MAX_COMBINED_CLIP_AND_CULL_DISTANCES_WEBGL=33530]="MAX_COMBINED_CLIP_AND_CULL_DISTANCES_WEBGL",e[e.CLIP_DISTANCE0_WEBGL=12288]="CLIP_DISTANCE0_WEBGL",e[e.CLIP_DISTANCE1_WEBGL=12289]="CLIP_DISTANCE1_WEBGL",e[e.CLIP_DISTANCE2_WEBGL=12290]="CLIP_DISTANCE2_WEBGL",e[e.CLIP_DISTANCE3_WEBGL=12291]="CLIP_DISTANCE3_WEBGL",e[e.CLIP_DISTANCE4_WEBGL=12292]="CLIP_DISTANCE4_WEBGL",e[e.CLIP_DISTANCE5_WEBGL=12293]="CLIP_DISTANCE5_WEBGL",e[e.CLIP_DISTANCE6_WEBGL=12294]="CLIP_DISTANCE6_WEBGL",e[e.CLIP_DISTANCE7_WEBGL=12295]="CLIP_DISTANCE7_WEBGL",e[e.POLYGON_OFFSET_CLAMP_EXT=36379]="POLYGON_OFFSET_CLAMP_EXT",e[e.LOWER_LEFT_EXT=36001]="LOWER_LEFT_EXT",e[e.UPPER_LEFT_EXT=36002]="UPPER_LEFT_EXT",e[e.NEGATIVE_ONE_TO_ONE_EXT=37726]="NEGATIVE_ONE_TO_ONE_EXT",e[e.ZERO_TO_ONE_EXT=37727]="ZERO_TO_ONE_EXT",e[e.CLIP_ORIGIN_EXT=37724]="CLIP_ORIGIN_EXT",e[e.CLIP_DEPTH_MODE_EXT=37725]="CLIP_DEPTH_MODE_EXT",e[e.SRC1_COLOR_WEBGL=35065]="SRC1_COLOR_WEBGL",e[e.SRC1_ALPHA_WEBGL=34185]="SRC1_ALPHA_WEBGL",e[e.ONE_MINUS_SRC1_COLOR_WEBGL=35066]="ONE_MINUS_SRC1_COLOR_WEBGL",e[e.ONE_MINUS_SRC1_ALPHA_WEBGL=35067]="ONE_MINUS_SRC1_ALPHA_WEBGL",e[e.MAX_DUAL_SOURCE_DRAW_BUFFERS_WEBGL=35068]="MAX_DUAL_SOURCE_DRAW_BUFFERS_WEBGL",e[e.MIRROR_CLAMP_TO_EDGE_EXT=34627]="MIRROR_CLAMP_TO_EDGE_EXT"})(w||(w={}))});var Ft=p(()=>{Rr()});var N=fr((co,dr)=>{dr.exports=globalThis.luma});function ne(e){let t=e.luma||{_polyfilled:!1,extensions:{},softwareRenderer:!1};return t._polyfilled??=!1,t.extensions||={},e.luma=t,t}var we=p(()=>{});function pr(e){if(e={...yi,...e},!e.debugSpectorJS)return null;if(!U&&globalThis.SPECTOR&&!globalThis.luma?.spector){le.log.probe(Bi,"SPECTOR found and initialized. Start with `luma.spector.displayUI()`")();let{Spector:t}=globalThis.SPECTOR;U=new t,globalThis.luma&&(globalThis.luma.spector=U)}if(!U)return null;if(Ar||(Ar=!0,U.spyCanvases(),U?.onCaptureStarted.add(t=>le.log.info("Spector capture started:",t)()),U?.onCapture.add(t=>{le.log.info("Spector capture complete:",t)(),U?.getResultUI(),U?.resultView.display(),U?.resultView.addCapture(t)})),e.gl){let t=e.gl,r=ne(t),s=r.device;U?.startCapture(e.gl,500),r.device=s,new Promise(i=>setTimeout(i,2e3)).then(i=>{le.log.info("Spector capture stopped after 2 seconds")(),U?.stopCapture()})}return U}var le,Bi,U,Ar,yi,gr=p(()=>{le=C(N(),1);we();Bi=1,U=null,Ar=!1,yi={debugSpectorJS:le.log.get("debug-spectorjs"),debugSpectorJSUrl:"https://cdn.jsdelivr.net/npm/spectorjs@0.9.30/dist/spector.bundle.js",gl:void 0}});var ho,To,Ro,Sr,Er=p(()=>{ho=globalThis.document||{},To=globalThis.process||{},Ro=globalThis.console,Sr=globalThis.navigator||{}});function Ue(e){if(typeof window<"u"&&window.process?.type==="renderer"||typeof process<"u"&&Boolean(process.versions?.electron))return!0;let t=typeof navigator<"u"&&navigator.userAgent,r=e||t;return Boolean(r&&r.indexOf("Electron")>=0)}var Dt=p(()=>{});function Mr(){return!(typeof process=="object"&&String(process)==="[object process]"&&!process?.browser)||Ue()}var xr=p(()=>{Dt()});function Bt(e){return!e&&!Mr()?"Node":Ue(e)?"Electron":(e||Sr.userAgent||"").indexOf("Edge")>-1?"Edge":globalThis.chrome?"Chrome":globalThis.safari?"Safari":globalThis.mozInnerScreenX?"Firefox":"Unknown"}var br=p(()=>{xr();Dt();Er()});var Cr=p(()=>{br()});function Or(e){return e.luma=e.luma||{},e.luma}function Ir(e,t={}){return t.debugWebGL||t.traceWebGL?Ui(e,t):wi(e)}function wi(e){let t=Or(e);return t.realContext?t.realContext:e}function Ui(e,t){if(!globalThis.WebGLDebugUtils)return Me.log.warn("webgl-debug not loaded")(),e;let r=Or(e);if(r.debugContext)return r.debugContext;globalThis.WebGLDebugUtils.init({...w,...e});let s=globalThis.WebGLDebugUtils.makeDebugContext(e,mi.bind(null,t),vi.bind(null,t));for(let o in w)!(o in s)&&typeof w[o]=="number"&&(s[o]=w[o]);class i{}Object.setPrototypeOf(s,Object.getPrototypeOf(e)),Object.setPrototypeOf(i,s);let n=Object.create(i);return r.realContext=e,r.debugContext=n,n.luma=r,n.debug=!0,n}function Nr(e,t){t=Array.from(t).map(s=>s===void 0?"undefined":s);let r=globalThis.WebGLDebugUtils.glFunctionArgsToString(e,t);return r=`${r.slice(0,100)}${r.length>100?"...":""}`,`gl.${e}(${r})`}function mi(e,t,r,s){s=Array.from(s).map(a=>a===void 0?"undefined":a);let i=globalThis.WebGLDebugUtils.glEnumToString(t),n=globalThis.WebGLDebugUtils.glFunctionArgsToString(r,s),o=`${i} in gl.${r}(${n})`;Me.log.error("%cWebGL","color: white; background: red; padding: 2px 6px; border-radius: 3px;",o)();debugger;throw new Error(o)}function vi(e,t,r){let s="";e.traceWebGL&&Me.log.level>=1&&(s=Nr(t,r),Me.log.info(1,"%cWebGL","color: white; background: blue; padding: 2px 6px; border-radius: 3px;",s)());for(let i of r)if(i===void 0){s=s||Nr(t,r);debugger}}var Me,Pr=p(()=>{Me=C(N(),1);Ft()});function yt(e){return Array.isArray(e)||ArrayBuffer.isView(e)&&!(e instanceof DataView)}function I(e,t,r){return t[e]!==void 0?t[e]:r[e]}var be,P,ur,m,Fr,xe,Dr,Br,wt,Q,Ut,yr,mt=p(()=>{be={[3042]:!1,[32773]:new Float32Array([0,0,0,0]),[32777]:32774,[34877]:32774,[32969]:1,[32968]:0,[32971]:1,[32970]:0,[3106]:new Float32Array([0,0,0,0]),[3107]:[!0,!0,!0,!0],[2884]:!1,[2885]:1029,[2929]:!1,[2931]:1,[2932]:513,[2928]:new Float32Array([0,1]),[2930]:!0,[3024]:!0,[35725]:null,[36006]:null,[36007]:null,[34229]:null,[34964]:null,[2886]:2305,[33170]:4352,[2849]:1,[32823]:!1,[32824]:0,[10752]:0,[32926]:!1,[32928]:!1,[32938]:1,[32939]:!1,[3089]:!1,[3088]:new Int32Array([0,0,1024,1024]),[2960]:!1,[2961]:0,[2968]:4294967295,[36005]:4294967295,[2962]:519,[2967]:0,[2963]:4294967295,[34816]:519,[36003]:0,[36004]:4294967295,[2964]:7680,[2965]:7680,[2966]:7680,[34817]:7680,[34818]:7680,[34819]:7680,[2978]:[0,0,1024,1024],[36389]:null,[36662]:null,[36663]:null,[35053]:null,[35055]:null,[35723]:4352,[36010]:null,[35977]:!1,[3333]:4,[3317]:4,[37440]:!1,[37441]:!1,[37443]:37444,[3330]:0,[3332]:0,[3331]:0,[3314]:0,[32878]:0,[3316]:0,[3315]:0,[32877]:0},P=(e,t,r)=>t?e.enable(r):e.disable(r),ur=(e,t,r)=>e.hint(r,t),m=(e,t,r)=>e.pixelStorei(r,t),Fr=(e,t,r)=>{let s=r===36006?36009:36008;return e.bindFramebuffer(s,t)},xe=(e,t,r)=>{let i={[34964]:34962,[36662]:36662,[36663]:36663,[35053]:35051,[35055]:35052}[r];e.bindBuffer(i,t)};Dr={[3042]:P,[32773]:(e,t)=>e.blendColor(...t),[32777]:"blendEquation",[34877]:"blendEquation",[32969]:"blendFunc",[32968]:"blendFunc",[32971]:"blendFunc",[32970]:"blendFunc",[3106]:(e,t)=>e.clearColor(...t),[3107]:(e,t)=>e.colorMask(...t),[2884]:P,[2885]:(e,t)=>e.cullFace(t),[2929]:P,[2931]:(e,t)=>e.clearDepth(t),[2932]:(e,t)=>e.depthFunc(t),[2928]:(e,t)=>e.depthRange(...t),[2930]:(e,t)=>e.depthMask(t),[3024]:P,[35723]:ur,[35725]:(e,t)=>e.useProgram(t),[36007]:(e,t)=>e.bindRenderbuffer(36161,t),[36389]:(e,t)=>e.bindTransformFeedback?.(36386,t),[34229]:(e,t)=>e.bindVertexArray(t),[36006]:Fr,[36010]:Fr,[34964]:xe,[36662]:xe,[36663]:xe,[35053]:xe,[35055]:xe,[2886]:(e,t)=>e.frontFace(t),[33170]:ur,[2849]:(e,t)=>e.lineWidth(t),[32823]:P,[32824]:"polygonOffset",[10752]:"polygonOffset",[35977]:P,[32926]:P,[32928]:P,[32938]:"sampleCoverage",[32939]:"sampleCoverage",[3089]:P,[3088]:(e,t)=>e.scissor(...t),[2960]:P,[2961]:(e,t)=>e.clearStencil(t),[2968]:(e,t)=>e.stencilMaskSeparate(1028,t),[36005]:(e,t)=>e.stencilMaskSeparate(1029,t),[2962]:"stencilFuncFront",[2967]:"stencilFuncFront",[2963]:"stencilFuncFront",[34816]:"stencilFuncBack",[36003]:"stencilFuncBack",[36004]:"stencilFuncBack",[2964]:"stencilOpFront",[2965]:"stencilOpFront",[2966]:"stencilOpFront",[34817]:"stencilOpBack",[34818]:"stencilOpBack",[34819]:"stencilOpBack",[2978]:(e,t)=>e.viewport(...t),[34383]:P,[10754]:P,[12288]:P,[12289]:P,[12290]:P,[12291]:P,[12292]:P,[12293]:P,[12294]:P,[12295]:P,[3333]:m,[3317]:m,[37440]:m,[37441]:m,[37443]:m,[3330]:m,[3332]:m,[3331]:m,[3314]:m,[32878]:m,[3316]:m,[3315]:m,[32877]:m,framebuffer:(e,t)=>{let r=t&&"handle"in t?t.handle:t;return e.bindFramebuffer(36160,r)},blend:(e,t)=>t?e.enable(3042):e.disable(3042),blendColor:(e,t)=>e.blendColor(...t),blendEquation:(e,t)=>{let r=typeof t=="number"?[t,t]:t;e.blendEquationSeparate(...r)},blendFunc:(e,t)=>{let r=t?.length===2?[...t,...t]:t;e.blendFuncSeparate(...r)},clearColor:(e,t)=>e.clearColor(...t),clearDepth:(e,t)=>e.clearDepth(t),clearStencil:(e,t)=>e.clearStencil(t),colorMask:(e,t)=>e.colorMask(...t),cull:(e,t)=>t?e.enable(2884):e.disable(2884),cullFace:(e,t)=>e.cullFace(t),depthTest:(e,t)=>t?e.enable(2929):e.disable(2929),depthFunc:(e,t)=>e.depthFunc(t),depthMask:(e,t)=>e.depthMask(t),depthRange:(e,t)=>e.depthRange(...t),dither:(e,t)=>t?e.enable(3024):e.disable(3024),derivativeHint:(e,t)=>{e.hint(35723,t)},frontFace:(e,t)=>e.frontFace(t),mipmapHint:(e,t)=>e.hint(33170,t),lineWidth:(e,t)=>e.lineWidth(t),polygonOffsetFill:(e,t)=>t?e.enable(32823):e.disable(32823),polygonOffset:(e,t)=>e.polygonOffset(...t),sampleCoverage:(e,t)=>e.sampleCoverage(t[0],t[1]||!1),scissorTest:(e,t)=>t?e.enable(3089):e.disable(3089),scissor:(e,t)=>e.scissor(...t),stencilTest:(e,t)=>t?e.enable(2960):e.disable(2960),stencilMask:(e,t)=>{t=yt(t)?t:[t,t];let[r,s]=t;e.stencilMaskSeparate(1028,r),e.stencilMaskSeparate(1029,s)},stencilFunc:(e,t)=>{t=yt(t)&&t.length===3?[...t,...t]:t;let[r,s,i,n,o,a]=t;e.stencilFuncSeparate(1028,r,s,i),e.stencilFuncSeparate(1029,n,o,a)},stencilOp:(e,t)=>{t=yt(t)&&t.length===3?[...t,...t]:t;let[r,s,i,n,o,a]=t;e.stencilOpSeparate(1028,r,s,i),e.stencilOpSeparate(1029,n,o,a)},viewport:(e,t)=>e.viewport(...t)};Br={blendEquation:(e,t,r)=>e.blendEquationSeparate(I(32777,t,r),I(34877,t,r)),blendFunc:(e,t,r)=>e.blendFuncSeparate(I(32969,t,r),I(32968,t,r),I(32971,t,r),I(32970,t,r)),polygonOffset:(e,t,r)=>e.polygonOffset(I(32824,t,r),I(10752,t,r)),sampleCoverage:(e,t,r)=>e.sampleCoverage(I(32938,t,r),I(32939,t,r)),stencilFuncFront:(e,t,r)=>e.stencilFuncSeparate(1028,I(2962,t,r),I(2967,t,r),I(2963,t,r)),stencilFuncBack:(e,t,r)=>e.stencilFuncSeparate(1029,I(34816,t,r),I(36003,t,r),I(36004,t,r)),stencilOpFront:(e,t,r)=>e.stencilOpSeparate(1028,I(2964,t,r),I(2965,t,r),I(2966,t,r)),stencilOpBack:(e,t,r)=>e.stencilOpSeparate(1029,I(34817,t,r),I(34818,t,r),I(34819,t,r))},wt={enable:(e,t)=>e({[t]:!0}),disable:(e,t)=>e({[t]:!1}),pixelStorei:(e,t,r)=>e({[t]:r}),hint:(e,t,r)=>e({[t]:r}),useProgram:(e,t)=>e({[35725]:t}),bindRenderbuffer:(e,t,r)=>e({[36007]:r}),bindTransformFeedback:(e,t,r)=>e({[36389]:r}),bindVertexArray:(e,t)=>e({[34229]:t}),bindFramebuffer:(e,t,r)=>{switch(t){case 36160:return e({[36006]:r,[36010]:r});case 36009:return e({[36006]:r});case 36008:return e({[36010]:r});default:return null}},bindBuffer:(e,t,r)=>{let s={[34962]:[34964],[36662]:[36662],[36663]:[36663],[35051]:[35053],[35052]:[35055]}[t];return s?e({[s]:r}):{valueChanged:!0}},blendColor:(e,t,r,s,i)=>e({[32773]:new Float32Array([t,r,s,i])}),blendEquation:(e,t)=>e({[32777]:t,[34877]:t}),blendEquationSeparate:(e,t,r)=>e({[32777]:t,[34877]:r}),blendFunc:(e,t,r)=>e({[32969]:t,[32968]:r,[32971]:t,[32970]:r}),blendFuncSeparate:(e,t,r,s,i)=>e({[32969]:t,[32968]:r,[32971]:s,[32970]:i}),clearColor:(e,t,r,s,i)=>e({[3106]:new Float32Array([t,r,s,i])}),clearDepth:(e,t)=>e({[2931]:t}),clearStencil:(e,t)=>e({[2961]:t}),colorMask:(e,t,r,s,i)=>e({[3107]:[t,r,s,i]}),cullFace:(e,t)=>e({[2885]:t}),depthFunc:(e,t)=>e({[2932]:t}),depthRange:(e,t,r)=>e({[2928]:new Float32Array([t,r])}),depthMask:(e,t)=>e({[2930]:t}),frontFace:(e,t)=>e({[2886]:t}),lineWidth:(e,t)=>e({[2849]:t}),polygonOffset:(e,t,r)=>e({[32824]:t,[10752]:r}),sampleCoverage:(e,t,r)=>e({[32938]:t,[32939]:r}),scissor:(e,t,r,s,i)=>e({[3088]:new Int32Array([t,r,s,i])}),stencilMask:(e,t)=>e({[2968]:t,[36005]:t}),stencilMaskSeparate:(e,t,r)=>e({[t===1028?2968:36005]:r}),stencilFunc:(e,t,r,s)=>e({[2962]:t,[2967]:r,[2963]:s,[34816]:t,[36003]:r,[36004]:s}),stencilFuncSeparate:(e,t,r,s,i)=>e({[t===1028?2962:34816]:r,[t===1028?2967:36003]:s,[t===1028?2963:36004]:i}),stencilOp:(e,t,r,s)=>e({[2964]:t,[2965]:r,[2966]:s,[34817]:t,[34818]:r,[34819]:s}),stencilOpSeparate:(e,t,r,s,i)=>e({[t===1028?2964:34817]:r,[t===1028?2965:34818]:s,[t===1028?2966:34819]:i}),viewport:(e,t,r,s,i)=>e({[2978]:[t,r,s,i]})},Q=(e,t)=>e.isEnabled(t),Ut={[3042]:Q,[2884]:Q,[2929]:Q,[3024]:Q,[32823]:Q,[32926]:Q,[32928]:Q,[3089]:Q,[2960]:Q,[35977]:Q},yr=new Set([34016,36388,36387,35983,35368,34965,35739,35738,3074,34853,34854,34855,34856,34857,34858,34859,34860,34861,34862,34863,34864,34865,34866,34867,34868,35097,32873,35869,32874,34068])});function V(e,t){if(Wi(t))return;let r={};for(let i in t){let n=Number(i),o=Dr[i];o&&(typeof o=="string"?r[o]=!0:o(e,t[i],n))}let s=e.lumaState?.cache;if(s)for(let i in r){let n=Br[i];n(e,t,s)}}function me(e,t=be){if(typeof t=="number"){let i=t,n=Ut[i];return n?n(e,i):e.getParameter(i)}let r=Array.isArray(t)?t:Object.keys(t),s={};for(let i of r){let n=Ut[i];s[i]=n?n(e,Number(i)):e.getParameter(Number(i))}return s}function wr(e){V(e,be)}function Wi(e){for(let t in e)return!1;return!0}var _e=p(()=>{mt()});function mr(e,t){if(e===t)return!0;if(Ur(e)&&Ur(t)&&e.length===t.length){for(let r=0;r<e.length;++r)if(e[r]!==t[r])return!1;return!0}return!1}function Ur(e){return Array.isArray(e)||ArrayBuffer.isView(e)}var vr=p(()=>{});function Wr(e,t){let r=e[t].bind(e);e[t]=function(i){if(i===void 0||yr.has(i))return r(i);let n=k.get(e);return i in n.cache||(n.cache[i]=r(i)),n.enable?n.cache[i]:r(i)},Object.defineProperty(e[t],"name",{value:`${t}-from-cache`,configurable:!1})}function Xi(e,t,r){if(!e[t])return;let s=e[t].bind(e);e[t]=function(...n){let o=k.get(e),{valueChanged:a,oldValue:c}=r(o._updateCache,...n);return a&&s(...n),c},Object.defineProperty(e[t],"name",{value:`${t}-to-cache`,configurable:!1})}function Hi(e){let t=e.useProgram.bind(e);e.useProgram=function(s){let i=k.get(e);i.program!==s&&(t(s),i.program=s)}}var k,vt=p(()=>{_e();vr();mt();k=class{static get(t){return t.lumaState}gl;program=null;stateStack=[];enable=!0;cache=null;log;initialized=!1;constructor(t,r){this.gl=t,this.log=r?.log||(()=>{}),this._updateCache=this._updateCache.bind(this),Object.seal(this)}push(t={}){this.stateStack.push({})}pop(){let t=this.stateStack[this.stateStack.length-1];V(this.gl,t),this.stateStack.pop()}trackState(t,r){if(this.cache=r?.copyState?me(t):Object.assign({},be),this.initialized)throw new Error("WebGLStateTracker");this.initialized=!0,this.gl.lumaState=this,Hi(t);for(let s in wt){let i=wt[s];Xi(t,s,i)}Wr(t,"getParameter"),Wr(t,"isEnabled")}_updateCache(t){let r=!1,s,i=this.stateStack.length>0?this.stateStack[this.stateStack.length-1]:null;for(let n in t){let o=t[n],a=this.cache[n];mr(o,a)||(r=!0,s=a,i&&!(n in i)&&(i[n]=a),this.cache[n]=o)}return{valueChanged:r,oldValue:s}}}});function Xr(e,t,r){let s="",i=c=>{let l=c.statusMessage;l&&(s||=l)};e.addEventListener("webglcontextcreationerror",i,!1);let n=r.failIfMajorPerformanceCaveat!==!0,o={preserveDrawingBuffer:!0,...r,failIfMajorPerformanceCaveat:!0},a=null;try{a||=e.getContext("webgl2",o),!a&&o.failIfMajorPerformanceCaveat&&(s||="Only software GPU is available. Set `failIfMajorPerformanceCaveat: false` to allow.");let c=!1;if(!a&&n&&(o.failIfMajorPerformanceCaveat=!1,a=e.getContext("webgl2",o),c=!0),a||(a=e.getContext("webgl",{}),a&&(a=null,s||="Your browser only supports WebGL1")),!a)throw s||="Your browser does not support WebGL",new Error(`Failed to create WebGL context: ${s}`);let l=ne(a);l.softwareRenderer=c;let{onContextLost:_,onContextRestored:f}=t;return e.addEventListener("webglcontextlost",h=>_(h),!1),e.addEventListener("webglcontextrestored",h=>f(h),!1),a}finally{e.removeEventListener("webglcontextcreationerror",i,!1)}}var Hr=p(()=>{we()});function Y(e,t,r){return r[t]===void 0&&(r[t]=e.getExtension(t)||null),r[t]}var Ce=p(()=>{});function Vr(e,t){let r=e.getParameter(7936),s=e.getParameter(7937);Y(e,"WEBGL_debug_renderer_info",t);let i=t.WEBGL_debug_renderer_info,n=e.getParameter(i?i.UNMASKED_VENDOR_WEBGL:7936),o=e.getParameter(i?i.UNMASKED_RENDERER_WEBGL:7937),a=n||r,c=o||s,l=e.getParameter(7938),_=kr(a,c),f=Vi(a,c),h=ki(a,c);return{type:"webgl",gpu:_,gpuType:h,gpuBackend:f,vendor:a,renderer:c,version:l,shadingLanguage:"glsl",shadingLanguageVersion:300}}function kr(e,t){return/NVIDIA/i.exec(e)||/NVIDIA/i.exec(t)?"nvidia":/INTEL/i.exec(e)||/INTEL/i.exec(t)?"intel":/Apple/i.exec(e)||/Apple/i.exec(t)?"apple":/AMD/i.exec(e)||/AMD/i.exec(t)||/ATI/i.exec(e)||/ATI/i.exec(t)?"amd":/SwiftShader/i.exec(e)||/SwiftShader/i.exec(t)?"software":"unknown"}function Vi(e,t){return/Metal/i.exec(e)||/Metal/i.exec(t)?"metal":/ANGLE/i.exec(e)||/ANGLE/i.exec(t)?"opengl":"unknown"}function ki(e,t){if(/SwiftShader/i.exec(e)||/SwiftShader/i.exec(t))return"cpu";switch(kr(e,t)){case"apple":return Yi(e,t)?"integrated":"unknown";case"intel":return"integrated";case"software":return"cpu";case"unknown":return"unknown";default:return"discrete"}}function Yi(e,t){return/Apple (M\d|A\d|GPU)/i.test(`${e} ${t}`)}var Yr=p(()=>{Ce()});function ve(e){switch(e){case"uint8":return 5121;case"sint8":return 5120;case"unorm8":return 5121;case"snorm8":return 5120;case"uint16":return 5123;case"sint16":return 5122;case"unorm16":return 5123;case"snorm16":return 5122;case"uint32":return 5125;case"sint32":return 5124;case"float16":return 5131;case"float32":return 5126}throw new Error(String(e))}var Wt=p(()=>{});function zr(e){return e in Xe}function Kt(e,t,r){return Lr(e,t,r,new Set)}function Lr(e,t,r,s){let i=Xe[t];if(!i||s.has(t))return!1;s.add(t);let n=(i.features||[]).every(o=>Lr(e,o,r,s));return s.delete(t),n?(i.extensions||[]).every(o=>Boolean(Y(e,o,r))):!1}function Qr(e,t,r){let s=t.create,i=He[t.format];i?.gl===void 0&&(s=!1),i?.x&&(s=s&&Boolean(Y(e,i.x,r))),t.format==="stencil8"&&(s=!1);let n=i?.r===!1?!1:i?.r===void 0||Kt(e,i.r,r),o=s&&t.render&&n&&ji(e,t.format,r);return{format:t.format,create:s&&t.create,render:o,filter:s&&t.filter,blend:s&&t.blend,store:s&&t.store}}function ji(e,t,r){let s=He[t],i=s?.gl;if(i===void 0||s?.x&&!Y(e,s.x,r))return!1;let n=e.getParameter(32873),o=e.getParameter(36006),a=e.createTexture(),c=e.createFramebuffer();if(!a||!c)return!1;let l=Number(0),_=Number(e.getError());for(;_!==l;)_=e.getError();let f=!1;try{if(e.bindTexture(3553,a),e.texStorage2D(3553,1,i,1,1),Number(e.getError())!==l)return!1;e.bindFramebuffer(36160,c),e.framebufferTexture2D(36160,36064,3553,a,0),f=Number(e.checkFramebufferStatus(36160))===Number(36053)&&Number(e.getError())===l}finally{e.bindFramebuffer(36160,o),e.deleteFramebuffer(c),e.bindTexture(3553,n),e.deleteTexture(a)}return f}function Ve(e){let t=He[e],r=Gi(e),s=Yt.textureFormatDecoder.getInfo(e);return s.compressed&&(t.dataFormat=r),{internalFormat:r,format:t?.dataFormat||Ji(s.channels,s.integer,s.normalized,r),type:s.dataType?ve(s.dataType):t?.types?.[0]||5121,compressed:s.compressed||!1}}function qr(e){switch(Yt.textureFormatDecoder.getInfo(e).attachment){case"depth":return 36096;case"stencil":return 36128;case"depth-stencil":return 33306;default:throw new Error(`Not a depth stencil format: ${e}`)}}function Ji(e,t,r,s){if(s===6408||s===6407)return s;switch(e){case"r":return t&&!r?36244:6403;case"rg":return t&&!r?33320:33319;case"rgb":return t&&!r?36248:6407;case"rgba":return t&&!r?36249:6408;case"bgra":throw new Error("bgra pixels not supported by WebGL");default:return 6408}}function Gi(e){let r=He[e]?.gl;if(r===void 0)throw new Error(`Unsupported texture format ${e}`);return r}var Yt,Ne,Oe,fe,he,Ki,$i,zi,Li,Qi,qi,Kr,$r,Xt,Ht,Vt,kt,We,Zi,Xe,He,Te=p(()=>{Yt=C(N(),1);Ce();Wt();Ne="WEBGL_compressed_texture_s3tc",Oe="WEBGL_compressed_texture_s3tc_srgb",fe="EXT_texture_compression_rgtc",he="EXT_texture_compression_bptc",Ki="WEBGL_compressed_texture_etc",$i="WEBGL_compressed_texture_astc",zi="WEBGL_compressed_texture_etc1",Li="WEBGL_compressed_texture_pvrtc",Qi="WEBGL_compressed_texture_atc",qi="EXT_texture_norm16",Kr="EXT_render_snorm",$r="EXT_color_buffer_float",Xt="snorm8-renderable-webgl",Ht="norm16-renderable-webgl",Vt="snorm16-renderable-webgl",kt="float16-renderable-webgl",We="float32-renderable-webgl",Zi="rgb9e5ufloat-renderable-webgl",Xe={"float32-renderable-webgl":{extensions:[$r]},"float16-renderable-webgl":{extensions:["EXT_color_buffer_half_float"]},"rgb9e5ufloat-renderable-webgl":{extensions:["WEBGL_render_shared_exponent"]},"snorm8-renderable-webgl":{extensions:[Kr]},"norm16-webgl":{extensions:[qi]},"norm16-renderable-webgl":{features:["norm16-webgl"]},"snorm16-renderable-webgl":{features:["norm16-webgl"],extensions:[Kr]},"float32-filterable":{extensions:["OES_texture_float_linear"]},"float16-filterable-webgl":{extensions:["OES_texture_half_float_linear"]},"texture-filterable-anisotropic-webgl":{extensions:["EXT_texture_filter_anisotropic"]},"texture-blend-float-webgl":{extensions:["EXT_float_blend"]},"texture-compression-bc":{extensions:[Ne,Oe,fe,he]},"texture-compression-bc5-webgl":{extensions:[fe]},"texture-compression-bc7-webgl":{extensions:[he]},"texture-compression-etc2":{extensions:[Ki]},"texture-compression-astc":{extensions:[$i]},"texture-compression-etc1-webgl":{extensions:[zi]},"texture-compression-pvrtc-webgl":{extensions:[Li]},"texture-compression-atc-webgl":{extensions:[Qi]}};He={r8unorm:{gl:33321,rb:!0},r8snorm:{gl:36756,r:Xt},r8uint:{gl:33330,rb:!0},r8sint:{gl:33329,rb:!0},rg8unorm:{gl:33323,rb:!0},rg8snorm:{gl:36757,r:Xt},rg8uint:{gl:33336,rb:!0},rg8sint:{gl:33335,rb:!0},r16uint:{gl:33332,rb:!0},r16sint:{gl:33331,rb:!0},r16float:{gl:33325,rb:!0,r:kt},r16unorm:{gl:33322,rb:!0,r:Ht},r16snorm:{gl:36760,r:Vt},"rgba4unorm-webgl":{gl:32854,rb:!0},"rgb565unorm-webgl":{gl:36194,rb:!0},"rgb5a1unorm-webgl":{gl:32855,rb:!0},"rgb8unorm-webgl":{gl:32849},"rgb8snorm-webgl":{gl:36758},rgba8unorm:{gl:32856},"rgba8unorm-srgb":{gl:35907},rgba8snorm:{gl:36759,r:Xt},rgba8uint:{gl:36220},rgba8sint:{gl:36238},bgra8unorm:{},"bgra8unorm-srgb":{},rg16uint:{gl:33338},rg16sint:{gl:33337},rg16float:{gl:33327,rb:!0,r:kt},rg16unorm:{gl:33324,r:Ht},rg16snorm:{gl:36761,r:Vt},r32uint:{gl:33334,rb:!0},r32sint:{gl:33333,rb:!0},r32float:{gl:33326,r:We},rgb9e5ufloat:{gl:35901,r:Zi},rg11b10ufloat:{gl:35898,rb:!0},rgb10a2unorm:{gl:32857,rb:!0},rgb10a2uint:{gl:36975,rb:!0},"rgb16unorm-webgl":{gl:32852,r:!1},"rgb16snorm-webgl":{gl:36762,r:!1},rg32uint:{gl:33340,rb:!0},rg32sint:{gl:33339,rb:!0},rg32float:{gl:33328,rb:!0,r:We},rgba16uint:{gl:36214,rb:!0},rgba16sint:{gl:36232,rb:!0},rgba16float:{gl:34842,r:kt},rgba16unorm:{gl:32859,rb:!0,r:Ht},rgba16snorm:{gl:36763,r:Vt},"rgb32float-webgl":{gl:34837,x:$r,r:We,dataFormat:6407,types:[5126]},rgba32uint:{gl:36208,rb:!0},rgba32sint:{gl:36226,rb:!0},rgba32float:{gl:34836,rb:!0,r:We},stencil8:{gl:36168,rb:!0},depth16unorm:{gl:33189,dataFormat:6402,types:[5123],rb:!0},depth24plus:{gl:33190,dataFormat:6402,types:[5125]},depth32float:{gl:36012,dataFormat:6402,types:[5126],rb:!0},"depth24plus-stencil8":{gl:35056,rb:!0,depthTexture:!0,dataFormat:34041,types:[34042]},"depth32float-stencil8":{gl:36013,dataFormat:34041,types:[36269],rb:!0},"bc1-rgb-unorm-webgl":{gl:33776,x:Ne},"bc1-rgb-unorm-srgb-webgl":{gl:35916,x:Oe},"bc1-rgba-unorm":{gl:33777,x:Ne},"bc1-rgba-unorm-srgb":{gl:35916,x:Oe},"bc2-rgba-unorm":{gl:33778,x:Ne},"bc2-rgba-unorm-srgb":{gl:35918,x:Oe},"bc3-rgba-unorm":{gl:33779,x:Ne},"bc3-rgba-unorm-srgb":{gl:35919,x:Oe},"bc4-r-unorm":{gl:36283,x:fe},"bc4-r-snorm":{gl:36284,x:fe},"bc5-rg-unorm":{gl:36285,x:fe},"bc5-rg-snorm":{gl:36286,x:fe},"bc6h-rgb-ufloat":{gl:36495,x:he},"bc6h-rgb-float":{gl:36494,x:he},"bc7-rgba-unorm":{gl:36492,x:he},"bc7-rgba-unorm-srgb":{gl:36493,x:he},"etc2-rgb8unorm":{gl:37492},"etc2-rgb8unorm-srgb":{gl:37494},"etc2-rgb8a1unorm":{gl:37496},"etc2-rgb8a1unorm-srgb":{gl:37497},"etc2-rgba8unorm":{gl:37493},"etc2-rgba8unorm-srgb":{gl:37495},"eac-r11unorm":{gl:37488},"eac-r11snorm":{gl:37489},"eac-rg11unorm":{gl:37490},"eac-rg11snorm":{gl:37491},"astc-4x4-unorm":{gl:37808},"astc-4x4-unorm-srgb":{gl:37840},"astc-5x4-unorm":{gl:37809},"astc-5x4-unorm-srgb":{gl:37841},"astc-5x5-unorm":{gl:37810},"astc-5x5-unorm-srgb":{gl:37842},"astc-6x5-unorm":{gl:37811},"astc-6x5-unorm-srgb":{gl:37843},"astc-6x6-unorm":{gl:37812},"astc-6x6-unorm-srgb":{gl:37844},"astc-8x5-unorm":{gl:37813},"astc-8x5-unorm-srgb":{gl:37845},"astc-8x6-unorm":{gl:37814},"astc-8x6-unorm-srgb":{gl:37846},"astc-8x8-unorm":{gl:37815},"astc-8x8-unorm-srgb":{gl:37847},"astc-10x5-unorm":{gl:37816},"astc-10x5-unorm-srgb":{gl:37848},"astc-10x6-unorm":{gl:37817},"astc-10x6-unorm-srgb":{gl:37849},"astc-10x8-unorm":{gl:37818},"astc-10x8-unorm-srgb":{gl:37850},"astc-10x10-unorm":{gl:37819},"astc-10x10-unorm-srgb":{gl:37851},"astc-12x10-unorm":{gl:37820},"astc-12x10-unorm-srgb":{gl:37852},"astc-12x12-unorm":{gl:37821},"astc-12x12-unorm-srgb":{gl:37853},"pvrtc-rgb4unorm-webgl":{gl:35840},"pvrtc-rgba4unorm-webgl":{gl:35842},"pvrtc-rgb2unorm-webgl":{gl:35841},"pvrtc-rgba2unorm-webgl":{gl:35843},"etc1-rbg-unorm-webgl":{gl:36196},"atc-rgb-unorm-webgl":{gl:35986},"atc-rgba-unorm-webgl":{gl:35986},"atc-rgbai-unorm-webgl":{gl:34798}}});var jr,Zr,ke,Jr=p(()=>{jr=C(N(),1);Ce();Te();Zr={"depth-clip-control":"EXT_depth_clamp","timestamp-query":"EXT_disjoint_timer_query_webgl2","compilation-status-async-webgl":"KHR_parallel_shader_compile","polygon-mode-webgl":"WEBGL_polygon_mode","provoking-vertex-webgl":"WEBGL_provoking_vertex","shader-clip-cull-distance-webgl":"WEBGL_clip_cull_distance","shader-noperspective-interpolation-webgl":"NV_shader_noperspective_interpolation","shader-conservative-depth-webgl":"EXT_conservative_depth"},ke=class extends jr.DeviceFeatures{gl;extensions;testedFeatures=new Set;constructor(t,r,s){super([],s),this.gl=t,this.extensions=r,Y(t,"EXT_color_buffer_float",r)}*[Symbol.iterator](){let t=this.getFeatures();for(let r of t)this.has(r)&&(yield r);return[]}has(t){return this.disabledFeatures?.[t]?!1:(this.testedFeatures.has(t)||(this.testedFeatures.add(t),zr(t)&&Kt(this.gl,t,this.extensions)&&this.features.add(t),this.getWebGLFeature(t)&&this.features.add(t)),this.features.has(t))}initializeFeatures(){let t=this.getFeatures().filter(r=>r!=="polygon-mode-webgl");for(let r of t)this.has(r)}getFeatures(){return[...Object.keys(Zr),...Object.keys(Xe)]}getWebGLFeature(t){let r=Zr[t];return Boolean(typeof r=="string"?Y(this.gl,r,this.extensions):r)}}});var Gr,Ye,es=p(()=>{Gr=C(N(),1),Ye=class extends Gr.DeviceLimits{get maxTextureDimension1D(){return 0}get maxTextureDimension2D(){return this.getParameter(3379)}get maxTextureDimension3D(){return this.getParameter(32883)}get maxTextureArrayLayers(){return this.getParameter(35071)}get maxBindGroups(){return 0}get maxDynamicUniformBuffersPerPipelineLayout(){return 0}get maxDynamicStorageBuffersPerPipelineLayout(){return 0}get maxSampledTexturesPerShaderStage(){return this.getParameter(35660)}get maxSamplersPerShaderStage(){return this.getParameter(35661)}get maxStorageBuffersPerShaderStage(){return 0}get maxStorageTexturesPerShaderStage(){return 0}get maxUniformBuffersPerShaderStage(){return this.getParameter(35375)}get maxUniformBufferBindingSize(){return this.getParameter(35376)}get maxStorageBufferBindingSize(){return 0}get minUniformBufferOffsetAlignment(){return this.getParameter(35380)}get minStorageBufferOffsetAlignment(){return 0}get maxVertexBuffers(){return 16}get maxVertexAttributes(){return this.getParameter(34921)}get maxVertexBufferArrayStride(){return 2048}get maxInterStageShaderVariables(){return this.getParameter(35659)}get maxComputeWorkgroupStorageSize(){return 0}get maxComputeInvocationsPerWorkgroup(){return 0}get maxComputeWorkgroupSizeX(){return 0}get maxComputeWorkgroupSizeY(){return 0}get maxComputeWorkgroupSizeZ(){return 0}get maxComputeWorkgroupsPerDimension(){return 0}gl;limits={};constructor(t){super(),this.gl=t}getParameter(t){return this.limits[t]===void 0&&(this.limits[t]=this.gl.getParameter(t)),this.limits[t]||0}}});function en(e){return e<34069?e+34069:e}function tn(e){switch(e){case 36053:return"success";case 36054:return"Mismatched attachments";case 36055:return"No attachments";case 36057:return"Height/width mismatch";case 36061:return"Unsupported or split attachments";case 36182:return"Samples mismatch";default:return`${e}`}}var ts,q,Ke=p(()=>{ts=C(N(),1);Te();q=class extends ts.Framebuffer{device;gl;handle;colorAttachments=[];depthStencilAttachment=null;constructor(t,r){super(t,r);let s=r.handle===null;this.device=t,this.gl=t.gl,this.handle=this.props.handle||s?this.props.handle:this.gl.createFramebuffer(),s||(t._setWebGLDebugMetadata(this.handle,this,{spector:this.props}),this.autoCreateAttachmentTextures(),this.updateAttachments())}destroy(){super.destroy(),!this.destroyed&&this.handle!==null&&this.gl.deleteFramebuffer(this.handle)}updateAttachments(){let t=this.gl.bindFramebuffer(36160,this.handle);for(let r=0;r<this.colorAttachments.length;++r){let s=this.colorAttachments[r];if(s){let i=36064+r;this._attachTextureView(i,s)}}if(this.depthStencilAttachment){let r=qr(this.depthStencilAttachment.props.format);this._attachTextureView(r,this.depthStencilAttachment)}if(this.device.props.debug){let r=this.gl.checkFramebufferStatus(36160);if(r!==36053)throw new Error(`Framebuffer ${tn(r)}`)}this.gl.bindFramebuffer(36160,t)}_attachTextureView(t,r){let{gl:s}=this.device,{texture:i}=r,n=r.props.baseMipLevel,o=r.props.baseArrayLayer;switch(s.bindTexture(i.glTarget,i.handle),i.glTarget){case 35866:case 32879:s.framebufferTextureLayer(36160,t,i.handle,n,o);break;case 34067:let a=en(o);s.framebufferTexture2D(36160,t,a,i.handle,n);break;case 3553:s.framebufferTexture2D(36160,t,3553,i.handle,n);break;default:throw new Error("Illegal texture type")}s.bindTexture(i.glTarget,null)}}});var rs,$e,ss=p(()=>{rs=C(N(),1);Ke();$e=class extends rs.CanvasContext{device;handle=null;_framebuffer=null;get[Symbol.toStringTag](){return"WebGLCanvasContext"}constructor(t,r){super(r),this.device=t,this._setAutoCreatedCanvasId(`${this.device.id}-canvas`),this._configureDevice()}_configureDevice(){(this.drawingBufferWidth!==this._framebuffer?.width||this.drawingBufferHeight!==this._framebuffer?.height)&&this._framebuffer?.resize([this.drawingBufferWidth,this.drawingBufferHeight])}_getCurrentFramebuffer(){return this._framebuffer||=new q(this.device,{id:"canvas-context-framebuffer",handle:null,width:this.drawingBufferWidth,height:this.drawingBufferHeight}),this._framebuffer}}});var is,ze,ns=p(()=>{is=C(N(),1),ze=class extends is.PresentationContext{device;handle=null;context2d;get[Symbol.toStringTag](){return"WebGLPresentationContext"}constructor(t,r={}){super(r),this.device=t;let s=`${this[Symbol.toStringTag]}(${this.id})`;if(!this.device.getDefaultCanvasContext().offscreenCanvas)throw new Error(`${s}: WebGL PresentationContext requires the default CanvasContext canvas to be an OffscreenCanvas`);let n=this.canvas.getContext("2d");if(!n)throw new Error(`${s}: Failed to create 2d presentation context`);this.context2d=n,this._setAutoCreatedCanvasId(`${this.device.id}-presentation-canvas`),this._configureDevice(),this._startObservers()}present(){this._resizeDrawingBufferIfNeeded(),this.device.submit();let t=this.device.getDefaultCanvasContext(),[r,s]=t.getDrawingBufferSize();if(!(this.drawingBufferWidth===0||this.drawingBufferHeight===0||r===0||s===0||t.canvas.width===0||t.canvas.height===0)){if(r!==this.drawingBufferWidth||s!==this.drawingBufferHeight||t.canvas.width!==this.drawingBufferWidth||t.canvas.height!==this.drawingBufferHeight)throw new Error(`${this[Symbol.toStringTag]}(${this.id}): Default canvas context size ${r}x${s} does not match presentation size ${this.drawingBufferWidth}x${this.drawingBufferHeight}`);this.context2d.clearRect(0,0,this.drawingBufferWidth,this.drawingBufferHeight),this.context2d.drawImage(t.canvas,0,0)}}_configureDevice(){}_getCurrentFramebuffer(t){let r=this.device.getDefaultCanvasContext();return r.setDrawingBufferSize(this.drawingBufferWidth,this.drawingBufferHeight),r.getCurrentFramebuffer(t)}}});function os(e="id"){$t[e]=$t[e]||1;let t=$t[e]++;return`${e}-${t}`}var $t,as=p(()=>{$t={}});function rn(e){return e&ie.Buffer.INDEX?34963:e&ie.Buffer.VERTEX?34962:e&ie.Buffer.UNIFORM?35345:34962}function sn(e){return e&ie.Buffer.INDEX||e&ie.Buffer.VERTEX?35044:e&ie.Buffer.UNIFORM?35048:35044}var ie,K,Le=p(()=>{ie=C(N(),1),K=class extends ie.Buffer{device;gl;handle;glTarget;glUsage;glIndexType=5123;byteLength=0;bytesUsed=0;constructor(t,r={}){super(t,r),this.device=t,this.gl=this.device.gl;let s=typeof r=="object"?r.handle:void 0;this.handle=s||this.gl.createBuffer(),t._setWebGLDebugMetadata(this.handle,this,{spector:{...this.props,data:typeof this.props.data}}),this.glTarget=rn(this.props.usage),this.glUsage=sn(this.props.usage),this.glIndexType=this.props.indexType==="uint32"?5125:5123,r.data?this._initWithData(r.data,r.byteOffset,r.byteLength):this._initWithByteLength(r.byteLength||0)}destroy(){!this.destroyed&&this.handle&&(this.removeStats(),this.props.handle?this.trackDeallocatedReferencedMemory("Buffer"):(this.trackDeallocatedMemory(),this.gl.deleteBuffer(this.handle)),this.destroyed=!0,this.handle=null)}_initWithData(t,r=0,s=t.byteLength+r){let i=this.glTarget;this.gl.bindBuffer(i,this.handle),this.gl.bufferData(i,s,this.glUsage),this.gl.bufferSubData(i,r,t),this.gl.bindBuffer(i,null),this.bytesUsed=s,this.byteLength=s,this._setDebugData(t,r,s),this.props.handle?this.trackReferencedMemory(s,"Buffer"):this.trackAllocatedMemory(s)}_initWithByteLength(t){let r=t;t===0&&(r=new Float32Array(0));let s=this.glTarget;return this.gl.bindBuffer(s,this.handle),this.gl.bufferData(s,r,this.glUsage),this.gl.bindBuffer(s,null),this.bytesUsed=t,this.byteLength=t,this._setDebugData(null,0,t),this.props.handle?this.trackReferencedMemory(t,"Buffer"):this.trackAllocatedMemory(t),this}write(t,r=0){let s=ArrayBuffer.isView(t)?t:new Uint8Array(t),i=0,n=void 0,o=36663;this.gl.bindBuffer(o,this.handle),i!==0||n!==void 0?this.gl.bufferSubData(o,r,s,i,n):this.gl.bufferSubData(o,r,s),this.gl.bindBuffer(o,null),this._setDebugData(t,r,t.byteLength)}async mapAndWriteAsync(t,r=0,s=this.byteLength-r){let i=new ArrayBuffer(s);await t(i,"copied"),this.write(i,r)}async readAsync(t=0,r){return this.readSyncWebGL(t,r)}async mapAndReadAsync(t,r=0,s){let i=await this.readAsync(r,s);return await t(i.buffer,"copied")}readSyncWebGL(t=0,r){r=r??this.byteLength-t;let s=new Uint8Array(r),i=0;return this.gl.bindBuffer(36662,this.handle),this.gl.getBufferSubData(36662,t,s,i,r),this.gl.bindBuffer(36662,null),this._setDebugData(s,t,r),s}}});function cs(e){let t=e.split(/\r?\n/),r=[];for(let s of t){if(s.length<=1)continue;let i=s.trim(),n=s.split(":"),o=n[0]?.trim();if(n.length===2){let[T,d]=n;if(!T||!d){r.push({message:i,type:Qe(o||"info"),lineNum:0,linePos:0});continue}r.push({message:d.trim(),type:Qe(T),lineNum:0,linePos:0});continue}let[a,c,l,..._]=n;if(!a||!c||!l){r.push({message:n.slice(1).join(":").trim()||i,type:Qe(o||"info"),lineNum:0,linePos:0});continue}let f=parseInt(l,10);isNaN(f)&&(f=0);let h=parseInt(c,10);isNaN(h)&&(h=0),r.push({message:_.join(":").trim(),type:Qe(a),lineNum:f,linePos:h})}return r}function Qe(e){let t=["warning","error","info"],r=e.toLowerCase();return t.includes(r)?r:"info"}var ls=p(()=>{});var Ie,qe,_s=p(()=>{Ie=C(N(),1);ls();qe=class extends Ie.Shader{device;handle;constructor(t,r){switch(super(t,r),this.device=t,this.props.stage){case"vertex":this.handle=this.props.handle||this.device.gl.createShader(35633);break;case"fragment":this.handle=this.props.handle||this.device.gl.createShader(35632);break;default:throw new Error(this.props.stage)}t._setWebGLDebugMetadata(this.handle,this,{spector:this.props}),this._compile(this.source)}destroy(){this.handle&&(this.removeStats(),this.device.gl.deleteShader(this.handle),this.destroyed=!0,this.handle.destroyed=!0)}get asyncCompilationStatus(){return this._waitForCompilationComplete().then(()=>(this._getCompilationStatus(),this.compilationStatus))}async getCompilationInfo(){return await this._waitForCompilationComplete(),this.getCompilationInfoSync()}getCompilationInfoSync(){let t=this.device.gl.getShaderInfoLog(this.handle);return t?cs(t):[]}getTranslatedSource(){return this.device.getExtension("WEBGL_debug_shaders").WEBGL_debug_shaders?.getTranslatedShaderSource(this.handle)||null}async _compile(t){t=t.startsWith("#version ")?t:`#version 300 es
8
+ ${t}`;let{gl:r}=this.device;if(r.shaderSource(this.handle,t),r.compileShader(this.handle),!this.device.props.debug){this.compilationStatus="pending";return}if(!this.device.features.has("compilation-status-async-webgl")){if(this._getCompilationStatus(),this.debugShader(),this.compilationStatus==="error")throw new Error(`GLSL compilation errors in ${this.props.stage} shader ${this.props.id}`);return}Ie.log.once(1,"Shader compilation is asynchronous")(),await this._waitForCompilationComplete(),Ie.log.info(2,`Shader ${this.id} - async compilation complete: ${this.compilationStatus}`)(),this._getCompilationStatus(),this.debugShader()}async _waitForCompilationComplete(){let t=async i=>await new Promise(n=>setTimeout(n,i));if(!this.device.features.has("compilation-status-async-webgl")){await t(10);return}let{gl:s}=this.device;for(;;){if(s.getShaderParameter(this.handle,37297))return;await t(10)}}_getCompilationStatus(){this.compilationStatus=this.device.gl.getShaderParameter(this.handle,35713)?"success":"error"}}});function Ts(e,t,r,s){if(cn(t))return s(e);let i=e;i.pushState();try{return nn(e,t),V(i.gl,r),s(e)}finally{i.popState()}}function nn(e,t){let r=e,{gl:s}=r;if(t.cullMode)switch(t.cullMode){case"none":s.disable(2884);break;case"front":s.enable(2884),s.cullFace(1028);break;case"back":s.enable(2884),s.cullFace(1029);break}if(t.frontFace&&s.frontFace(oe("frontFace",t.frontFace,{ccw:2305,cw:2304})),t.unclippedDepth&&e.features.has("depth-clip-control")&&s.enable(34383),t.depthBias!==void 0&&(s.enable(32823),s.polygonOffset(t.depthBias,t.depthBiasSlopeScale||0)),t.provokingVertex&&e.features.has("provoking-vertex-webgl")){let n=r.getExtension("WEBGL_provoking_vertex").WEBGL_provoking_vertex,o=oe("provokingVertex",t.provokingVertex,{first:36429,last:36430});n?.provokingVertexWEBGL(o)}if((t.polygonMode||t.polygonOffsetLine)&&e.features.has("polygon-mode-webgl")){if(t.polygonMode){let n=r.getExtension("WEBGL_polygon_mode").WEBGL_polygon_mode,o=oe("polygonMode",t.polygonMode,{fill:6914,line:6913});n?.polygonModeWEBGL(1028,o),n?.polygonModeWEBGL(1029,o)}t.polygonOffsetLine&&s.enable(10754)}if(e.features.has("shader-clip-cull-distance-webgl")&&(t.clipDistance0&&s.enable(12288),t.clipDistance1&&s.enable(12289),t.clipDistance2&&s.enable(12290),t.clipDistance3&&s.enable(12291),t.clipDistance4&&s.enable(12292),t.clipDistance5&&s.enable(12293),t.clipDistance6&&s.enable(12294),t.clipDistance7&&s.enable(12295)),t.depthWriteEnabled!==void 0&&s.depthMask(an("depthWriteEnabled",t.depthWriteEnabled)),t.depthCompare&&(t.depthCompare!=="always"?s.enable(2929):s.disable(2929),s.depthFunc(je("depthCompare",t.depthCompare))),t.stencilWriteMask){let i=t.stencilWriteMask;s.stencilMaskSeparate(1028,i),s.stencilMaskSeparate(1029,i)}if(t.stencilReadMask&&hs.log.warn("stencilReadMask not supported under WebGL"),t.stencilCompare){let i=t.stencilReadMask||4294967295,n=je("depthCompare",t.stencilCompare);t.stencilCompare!=="always"?s.enable(2960):s.disable(2960),s.stencilFuncSeparate(1028,n,0,i),s.stencilFuncSeparate(1029,n,0,i)}if(t.stencilPassOperation&&t.stencilFailOperation&&t.stencilDepthFailOperation){let i=zt("stencilPassOperation",t.stencilPassOperation),n=zt("stencilFailOperation",t.stencilFailOperation),o=zt("stencilDepthFailOperation",t.stencilDepthFailOperation);s.stencilOpSeparate(1028,n,o,i),s.stencilOpSeparate(1029,n,o,i)}switch(t.blend){case!0:s.enable(3042);break;case!1:s.disable(3042);break;default:}if(t.blendColorOperation||t.blendAlphaOperation){let i=fs("blendColorOperation",t.blendColorOperation||"add"),n=fs("blendAlphaOperation",t.blendAlphaOperation||"add");s.blendEquationSeparate(i,n);let o=Ze("blendColorSrcFactor",t.blendColorSrcFactor||"one"),a=Ze("blendColorDstFactor",t.blendColorDstFactor||"zero"),c=Ze("blendAlphaSrcFactor",t.blendAlphaSrcFactor||"one"),l=Ze("blendAlphaDstFactor",t.blendAlphaDstFactor||"zero");s.blendFuncSeparate(o,a,c,l)}}function je(e,t){return oe(e,t,{never:512,less:513,equal:514,"less-equal":515,greater:516,"not-equal":517,"greater-equal":518,always:519})}function zt(e,t){return oe(e,t,{keep:7680,zero:0,replace:7681,invert:5386,"increment-clamp":7682,"decrement-clamp":7683,"increment-wrap":34055,"decrement-wrap":34056})}function fs(e,t){return oe(e,t,{add:32774,subtract:32778,"reverse-subtract":32779,min:32775,max:32776})}function Ze(e,t,r="color"){return oe(e,t,{one:1,zero:0,src:768,"one-minus-src":769,dst:774,"one-minus-dst":775,"src-alpha":770,"one-minus-src-alpha":771,"dst-alpha":772,"one-minus-dst-alpha":773,"src-alpha-saturated":776,constant:r==="color"?32769:32771,"one-minus-constant":r==="color"?32770:32772,src1:768,"one-minus-src1":769,"src1-alpha":770,"one-minus-src1-alpha":771})}function on(e,t){return`Illegal parameter ${t} for ${e}`}function oe(e,t,r){if(!(t in r))throw new Error(on(e,t));return r[t]}function an(e,t){return t}function cn(e){let t=!0;for(let r in e){t=!1;break}return t}var hs,Lt=p(()=>{hs=C(N(),1);_e()});function Je(e){let t={};return e.addressModeU&&(t[10242]=Qt(e.addressModeU)),e.addressModeV&&(t[10243]=Qt(e.addressModeV)),e.addressModeW&&(t[32882]=Qt(e.addressModeW)),e.magFilter&&(t[10240]=qt(e.magFilter)),(e.minFilter||e.mipmapFilter)&&(t[10241]=ln(e.minFilter||"linear",e.mipmapFilter)),e.lodMinClamp!==void 0&&(t[33082]=e.lodMinClamp),e.lodMaxClamp!==void 0&&(t[33083]=e.lodMaxClamp),e.type==="comparison-sampler"&&(t[34892]=34894),e.compare&&(t[34893]=je("compare",e.compare)),e.maxAnisotropy&&(t[34046]=e.maxAnisotropy),t}function Qt(e){switch(e){case"clamp-to-edge":return 33071;case"repeat":return 10497;case"mirror-repeat":return 33648}}function qt(e){switch(e){case"nearest":return 9728;case"linear":return 9729}}function ln(e,t="none"){if(!t)return qt(e);switch(t){case"none":return qt(e);case"nearest":switch(e){case"nearest":return 9984;case"linear":return 9985}break;case"linear":switch(e){case"nearest":return 9986;case"linear":return 9987}}}var Zt=p(()=>{Lt()});var Rs,Ge,ds=p(()=>{Rs=C(N(),1);Zt();Ge=class extends Rs.Sampler{device;handle;parameters;constructor(t,r){super(t,r),this.device=t,this.parameters=Je(r),this.handle=r.handle||this.device.gl.createSampler(),this._setSamplerParameters(this.parameters)}destroy(){this.handle&&(this.device.gl.deleteSampler(this.handle),this.handle=void 0)}toString(){return`Sampler(${this.id},${JSON.stringify(this.props)})`}_setSamplerParameters(t){for(let[r,s]of Object.entries(t)){let i=Number(r);switch(i){case 33082:case 33083:this.device.gl.samplerParameterf(this.handle,i,s);break;default:this.device.gl.samplerParameteri(this.handle,i,s);break}}}}});function Z(e,t,r){if(_n(t))return r(e);let{nocatch:s=!0}=t,i=k.get(e);i.push(),V(e,t);let n;if(s)n=r(e),i.pop();else try{n=r(e)}finally{i.pop()}return n}function _n(e){for(let t in e)return!1;return!0}var et=p(()=>{_e();vt()});var tt,j,jt=p(()=>{tt=C(N(),1),j=class extends tt.TextureView{device;gl;handle;texture;constructor(t,r){super(t,{...tt.Texture.defaultProps,...r}),this.device=t,this.gl=this.device.gl,this.handle=null,this.texture=r.texture}}});function rt(e){return fn[e]}var fn,Jt=p(()=>{fn={[5124]:"sint32",[5125]:"uint32",[5122]:"sint16",[5123]:"uint16",[5120]:"sint8",[5121]:"uint8",[5126]:"float32",[5131]:"float16",[33635]:"uint16",[32819]:"uint16",[32820]:"uint16",[33640]:"uint32",[35899]:"uint32",[35902]:"uint32",[34042]:"uint32",[36269]:"uint32"}});function hn(e,t=0){return t?new e.constructor(e.buffer,e.byteOffset+t,(e.byteLength-t)/e.BYTES_PER_ELEMENT):e}function Tn(e,t){if(t%e.BYTES_PER_ELEMENT!==0)throw new Error(`Texture byteOffset ${t} must align to typed array element size ${e.BYTES_PER_ELEMENT}`);return t/e.BYTES_PER_ELEMENT}function Rn(e){switch(e){case"1d":break;case"2d":return 3553;case"3d":return 32879;case"cube":return 34067;case"2d-array":return 35866;case"cube-array":break}throw new Error(e)}function st(e,t,r){return t==="cube"?34069+r:e}var G,As,J,it=p(()=>{G=C(N(),1);Te();Zt();et();jt();Jt();As=C(N(),1),J=class extends G.Texture{device;gl;handle;sampler=void 0;view;glTarget;glFormat;glType;glInternalFormat;compressed;_textureUnit=0;_framebuffer=null;_framebufferAttachmentKey=null;constructor(t,r){super(t,r,{byteAlignment:1}),this.device=t,this.gl=this.device.gl;let s=Ve(this.props.format);this.glTarget=Rn(this.props.dimension),this.glInternalFormat=s.internalFormat,this.glFormat=s.format,this.glType=s.type,this.compressed=s.compressed,this.handle=this.props.handle||this.gl.createTexture(),this.device._setWebGLDebugMetadata(this.handle,this,{spector:this.props}),this.gl.bindTexture(this.glTarget,this.handle);let{dimension:i,width:n,height:o,depth:a,mipLevels:c,glTarget:l,glInternalFormat:_}=this;if(!this.compressed)switch(i){case"2d":case"cube":this.gl.texStorage2D(l,c,_,n,o);break;case"2d-array":case"3d":this.gl.texStorage3D(l,c,_,n,o,a);break;default:throw new Error(i)}this.gl.bindTexture(this.glTarget,null),this._initializeData(r.data),this.props.handle?this.trackReferencedMemory(this.getAllocatedByteLength(),"Texture"):this.trackAllocatedMemory(this.getAllocatedByteLength(),"Texture"),this.setSampler(this.props.sampler),this.view=new j(this.device,{...this.props,texture:this}),Object.seal(this)}destroy(){this.handle&&(this._framebuffer?.destroy(),this._framebuffer=null,this._framebufferAttachmentKey=null,this.removeStats(),this.props.handle?this.trackDeallocatedReferencedMemory("Texture"):(this.gl.deleteTexture(this.handle),this.trackDeallocatedMemory("Texture")),this.destroyed=!0)}createView(t){return new j(this.device,{...t,texture:this})}setSampler(t={}){super.setSampler(t);let r=Je(this.sampler.props);this._setSamplerParameters(r)}copyExternalImage(t){let r=this._normalizeCopyExternalImageOptions(t);if(r.sourceX||r.sourceY)throw new Error("WebGL does not support sourceX/sourceY)");let{glFormat:s,glType:i}=this,{image:n,depth:o,mipLevel:a,x:c,y:l,z:_,width:f,height:h}=r,T=st(this.glTarget,this.dimension,_),d=r.flipY?{[37440]:!0}:{};return this.gl.bindTexture(this.glTarget,this.handle),Z(this.gl,d,()=>{switch(this.dimension){case"2d":case"cube":this.gl.texSubImage2D(T,a,c,l,f,h,s,i,n);break;case"2d-array":case"3d":this.gl.texSubImage3D(T,a,c,l,_,f,h,o,s,i,n);break;default:}}),this.gl.bindTexture(this.glTarget,null),{width:r.width,height:r.height}}copyImageData(t){super.copyImageData(t)}readBuffer(t={},r){let s=this._getSupportedColorReadOptions(t),i=this.computeMemoryLayout(s),n=r||this.device.createBuffer({byteLength:i.byteLength,usage:G.Buffer.COPY_DST|G.Buffer.MAP_READ});if(n.byteLength<i.byteLength)throw new Error(`${this} readBuffer target is too small (${n.byteLength} < ${i.byteLength})`);let o=n;this.gl.bindBuffer(35051,o.handle);try{this._readColorTextureLayers(s,i,a=>{this.gl.readPixels(s.x,s.y,s.width,s.height,this.glFormat,this.glType,a)})}finally{this.gl.bindBuffer(35051,null)}return n}async readDataAsync(t={}){let r=this.readBuffer(t),s=await r.readAsync();return r.destroy(),s.buffer}writeBuffer(t,r={}){let s=this._normalizeTextureWriteOptions(r),{width:i,height:n,depthOrArrayLayers:o,mipLevel:a,byteOffset:c,x:l,y:_,z:f}=s,{glFormat:h,glType:T,compressed:d}=this,R=st(this.glTarget,this.dimension,f);if(d)throw new Error("writeBuffer for compressed textures is not implemented in WebGL");let{bytesPerPixel:A}=this.device.getTextureFormatInfo(this.format),g=A?s.bytesPerRow/A:void 0,b={[3317]:this.byteAlignment,...g!==void 0?{[3314]:g}:{},[32878]:s.rowsPerImage};this.gl.bindTexture(this.glTarget,this.handle),this.gl.bindBuffer(35052,t.handle),Z(this.gl,b,()=>{switch(this.dimension){case"2d":case"cube":this.gl.texSubImage2D(R,a,l,_,i,n,h,T,c);break;case"2d-array":case"3d":this.gl.texSubImage3D(R,a,l,_,f,i,n,o,h,T,c);break;default:}}),this.gl.bindBuffer(35052,null),this.gl.bindTexture(this.glTarget,null)}writeData(t,r={}){let s=this._normalizeTextureWriteOptions(r),i=ArrayBuffer.isView(t)?t:new Uint8Array(t),{width:n,height:o,depthOrArrayLayers:a,mipLevel:c,x:l,y:_,z:f,byteOffset:h}=s,{glFormat:T,glType:d,compressed:R}=this,A=st(this.glTarget,this.dimension,f),g;if(!R){let{bytesPerPixel:u}=this.device.getTextureFormatInfo(this.format);u&&(g=s.bytesPerRow/u)}let b=this.compressed?{}:{[3317]:this.byteAlignment,...g!==void 0?{[3314]:g}:{},[32878]:s.rowsPerImage},M=Tn(i,h),E=R?hn(i,h):i,S=this._getMipLevelSize(c),x=l===0&&_===0&&f===0&&n===S.width&&o===S.height&&a===S.depthOrArrayLayers;this.gl.bindTexture(this.glTarget,this.handle),this.gl.bindBuffer(35052,null),Z(this.gl,b,()=>{switch(this.dimension){case"2d":case"cube":R?x?this.gl.compressedTexImage2D(A,c,T,n,o,0,E):this.gl.compressedTexSubImage2D(A,c,l,_,n,o,T,E):this.gl.texSubImage2D(A,c,l,_,n,o,T,d,i,M);break;case"2d-array":case"3d":R?x?this.gl.compressedTexImage3D(A,c,T,n,o,a,0,E):this.gl.compressedTexSubImage3D(A,c,l,_,f,n,o,a,T,E):this.gl.texSubImage3D(A,c,l,_,f,n,o,a,T,d,i,M);break;default:}}),this.gl.bindTexture(this.glTarget,null)}_getRowByteAlignment(t,r){return 1}_getFramebuffer(){return this._framebuffer||=this.device.createFramebuffer({id:`framebuffer-for-${this.id}`,width:this.width,height:this.height,colorAttachments:[this]}),this._framebuffer}readDataSyncWebGL(t={}){let r=this._getSupportedColorReadOptions(t),s=this.computeMemoryLayout(r),i=rt(this.glType),n=(0,As.getTypedArrayConstructor)(i),o=new n(s.byteLength/n.BYTES_PER_ELEMENT);return this._readColorTextureLayers(r,s,a=>{let c=new n(o.buffer,o.byteOffset+a,s.bytesPerImage/n.BYTES_PER_ELEMENT);this.gl.readPixels(r.x,r.y,r.width,r.height,this.glFormat,this.glType,c)}),o.buffer}_readColorTextureLayers(t,r,s){let i=this._getFramebuffer(),n=r.bytesPerRow/r.bytesPerPixel,o={[3333]:this.byteAlignment,...n!==t.width?{[3330]:n}:{}},a=this.gl.getParameter(3074),c=this.gl.bindFramebuffer(36160,i.handle);try{this.gl.readBuffer(36064),Z(this.gl,o,()=>{for(let l=0;l<t.depthOrArrayLayers;l++)this._attachReadSubresource(i,t.mipLevel,t.z+l),s(l*r.bytesPerImage)})}finally{this.gl.bindFramebuffer(36160,c||null),this.gl.readBuffer(a)}}_attachReadSubresource(t,r,s){let i=`${r}:${s}`;if(this._framebufferAttachmentKey!==i){switch(this.dimension){case"2d":this.gl.framebufferTexture2D(36160,36064,3553,this.handle,r);break;case"cube":this.gl.framebufferTexture2D(36160,36064,st(this.glTarget,this.dimension,s),this.handle,r);break;case"2d-array":case"3d":this.gl.framebufferTextureLayer(36160,36064,this.handle,r,s);break;default:throw new Error(`${this} color readback does not support ${this.dimension} textures`)}if(this.device.props.debug){let n=Number(this.gl.checkFramebufferStatus(36160));if(n!==Number(36053))throw new Error(`${t} incomplete for ${this} readback (${n})`)}this._framebufferAttachmentKey=i}}generateMipmapsWebGL(t){if(!(!(this.device.isTextureFormatRenderable(this.props.format)&&this.device.isTextureFormatFilterable(this.props.format))&&(G.log.warn(`${this} is not renderable or filterable, may not be able to generate mipmaps`)(),!t?.force)))try{this.gl.bindTexture(this.glTarget,this.handle),this.gl.generateMipmap(this.glTarget)}catch(s){G.log.warn(`Error generating mipmap for ${this}: ${s.message}`)()}finally{this.gl.bindTexture(this.glTarget,null)}}_setSamplerParameters(t){G.log.log(2,`${this.id} sampler parameters`,this.device.getGLKeys(t))(),this.gl.bindTexture(this.glTarget,this.handle);for(let[r,s]of Object.entries(t)){let i=Number(r),n=s;switch(i){case 33082:case 33083:this.gl.texParameterf(this.glTarget,i,n);break;case 10240:case 10241:this.gl.texParameteri(this.glTarget,i,n);break;case 10242:case 10243:case 32882:this.gl.texParameteri(this.glTarget,i,n);break;case 34046:this.device.features.has("texture-filterable-anisotropic-webgl")&&this.gl.texParameteri(this.glTarget,i,n);break;case 34892:case 34893:this.gl.texParameteri(this.glTarget,i,n);break}}this.gl.bindTexture(this.glTarget,null)}_getActiveUnit(){return this.gl.getParameter(34016)-33984}_bind(t){let{gl:r}=this;return t!==void 0&&(this._textureUnit=t,r.activeTexture(33984+t)),r.bindTexture(this.glTarget,this.handle),t}_unbind(t){let{gl:r}=this;return t!==void 0&&(this._textureUnit=t,r.activeTexture(33984+t)),r.bindTexture(this.glTarget,null),t}}});function ps(e,t,r,s){let i=e,n=s;n===!0&&(n=1),n===!1&&(n=0);let o=typeof n=="number"?[n]:n;switch(r){case 35678:case 35680:case 35679:case 35682:case 36289:case 36292:case 36293:case 36298:case 36299:case 36300:case 36303:case 36306:case 36307:case 36308:case 36311:if(typeof s!="number")throw new Error("samplers must be set to integers");return e.uniform1i(t,s);case 5126:return e.uniform1fv(t,o);case 35664:return e.uniform2fv(t,o);case 35665:return e.uniform3fv(t,o);case 35666:return e.uniform4fv(t,o);case 5124:return e.uniform1iv(t,o);case 35667:return e.uniform2iv(t,o);case 35668:return e.uniform3iv(t,o);case 35669:return e.uniform4iv(t,o);case 35670:return e.uniform1iv(t,o);case 35671:return e.uniform2iv(t,o);case 35672:return e.uniform3iv(t,o);case 35673:return e.uniform4iv(t,o);case 5125:return i.uniform1uiv(t,o,1);case 36294:return i.uniform2uiv(t,o,2);case 36295:return i.uniform3uiv(t,o,3);case 36296:return i.uniform4uiv(t,o,4);case 35674:return e.uniformMatrix2fv(t,!1,o);case 35675:return e.uniformMatrix3fv(t,!1,o);case 35676:return e.uniformMatrix4fv(t,!1,o);case 35685:return i.uniformMatrix2x3fv(t,!1,o);case 35686:return i.uniformMatrix2x4fv(t,!1,o);case 35687:return i.uniformMatrix3x2fv(t,!1,o);case 35688:return i.uniformMatrix3x4fv(t,!1,o);case 35689:return i.uniformMatrix4x2fv(t,!1,o);case 35690:return i.uniformMatrix4x3fv(t,!1,o)}throw new Error("Illegal uniform")}var gs=p(()=>{});function Ss(e){switch(e){case"point-list":return 0;case"line-list":return 1;case"line-strip":return 3;case"triangle-list":return 4;case"triangle-strip":return 5;default:throw new Error(e)}}function Es(e){switch(e){case"point-list":return 0;case"line-list":return 1;case"line-strip":return 1;case"triangle-list":return 4;case"triangle-strip":return 4;default:throw new Error(e)}}var Gt=p(()=>{});function dn(e,t){let r={...e,attributes:e.attributes.map(s=>({...s}))};for(let s of t?.attributes||[]){let i=r.attributes.find(n=>n.name===s.name);i?(i.type=s.type||i.type,i.stepMode=s.stepMode||i.stepMode):$.log.warn(`shader layout attribute ${s.name} not present in shader`)}return r}var $,nt,Ms=p(()=>{$=C(N(),1);Lt();gs();Le();Ke();it();jt();Gt();nt=class extends $.RenderPipeline{device;handle;vs;fs;introspectedLayout;bindings={};uniforms={};varyings=null;_uniformCount=0;_uniformSetters={};get[Symbol.toStringTag](){return"WEBGLRenderPipeline"}constructor(t,r){super(t,r),this.device=t;let s=this.sharedRenderPipeline||this.device._createSharedRenderPipelineWebGL(r);this.sharedRenderPipeline=s,this.handle=s.handle,this.vs=s.vs,this.fs=s.fs,this.linkStatus=s.linkStatus,this.introspectedLayout=s.introspectedLayout,this.device._setWebGLDebugMetadata(this.handle,this,{spector:{id:this.props.id}}),this.shaderLayout=r.shaderLayout?dn(this.introspectedLayout,r.shaderLayout):this.introspectedLayout}destroy(){this.destroyed||(this.sharedRenderPipeline&&!this.props._sharedRenderPipeline&&this.sharedRenderPipeline.destroy(),this.destroyResource())}setBindings(t,r){for(let[s,i]of Object.entries(t)){let n=this.shaderLayout.bindings.find(o=>o.name===s)||this.shaderLayout.bindings.find(o=>o.name===`${s}Uniforms`);if(!n){let o=this.shaderLayout.bindings.map(a=>`"${a.name}"`).join(", ");r?.disableWarnings||$.log.warn(`No binding "${s}" in render pipeline "${this.id}", expected one of ${o}`,i)();continue}switch(i||$.log.warn(`Unsetting binding "${s}" in render pipeline "${this.id}"`)(),n.type){case"uniform":if(!(i instanceof K)&&!(i.buffer instanceof K))throw new Error("buffer value");break;case"texture":if(!(i instanceof j||i instanceof J||i instanceof q))throw new Error(`${this} Bad texture binding for ${s}`);break;case"sampler":$.log.warn(`Ignoring sampler ${s}`)();break;default:throw new Error(n.type)}this.bindings[s]=i}}draw(t){this._syncLinkStatus();let{renderPass:r,parameters:s=this.props.parameters,topology:i=this.props.topology,vertexArray:n,vertexCount:o,instanceCount:a,isInstanced:c=!1,firstVertex:l=0,transformFeedback:_,bindings:f=this.bindings,uniforms:h=this.uniforms}=t,T=Ss(i),d=Boolean(n.indexBuffer),R=n.indexBuffer?.glIndexType;if(this.linkStatus!=="success")return $.log.info(2,`RenderPipeline:${this.id}.draw() aborted - waiting for shader linking`)(),!1;if(!this._areTexturesRenderable(f))return $.log.info(2,`RenderPipeline:${this.id}.draw() aborted - textures not yet loaded`)(),!1;this.device.gl.useProgram(this.handle),n.bindBeforeRender(r),_&&_.begin(this.props.topology),this._applyBindings(f,{disableWarnings:this.props.disableWarnings}),this._applyUniforms(h);let A=r;return Ts(this.device,s,A.glParameters,()=>{d&&c?this.device.gl.drawElementsInstanced(T,o||0,R,l,a||0):d?this.device.gl.drawElements(T,o||0,R,l):c?this.device.gl.drawArraysInstanced(T,l,o||0,a||0):this.device.gl.drawArrays(T,l,o||0),_&&_.end()}),n.unbindAfterRender(r),!0}_areTexturesRenderable(t){let r=!0;for(let s of this.shaderLayout.bindings)!t[s.name]&&!t[s.name.replace(/Uniforms$/,"")]&&($.log.warn(`Binding ${s.name} not found in ${this.id}`)(),r=!1);return r}_applyBindings(t,r){if(this._syncLinkStatus(),this.linkStatus!=="success")return;let{gl:s}=this.device;s.useProgram(this.handle);let i=0,n=0;for(let o of this.shaderLayout.bindings){let a=t[o.name]||t[o.name.replace(/Uniforms$/,"")];if(!a)throw new Error(`No value for binding ${o.name} in ${this.id}`);switch(o.type){case"uniform":let{name:c}=o,l=s.getUniformBlockIndex(this.handle,c);if(l===4294967295)throw new Error(`Invalid uniform block name ${c}`);s.uniformBlockBinding(this.handle,l,n),a instanceof K?s.bindBufferBase(35345,n,a.handle):s.bindBufferRange(35345,n,a.buffer.handle,a.offset||0,a.size||a.buffer.byteLength-a.offset),n+=1;break;case"texture":if(!(a instanceof j||a instanceof J||a instanceof q))throw new Error("texture");let _;if(a instanceof j)_=a.texture;else if(a instanceof J)_=a;else if(a instanceof q&&a.colorAttachments[0]instanceof j)$.log.warn("Passing framebuffer in texture binding may be deprecated. Use fbo.colorAttachments[0] instead")(),_=a.colorAttachments[0].texture;else throw new Error("No texture");s.activeTexture(33984+i),s.bindTexture(_.glTarget,_.handle),i+=1;break;case"sampler":break;case"storage":case"read-only-storage":throw new Error(`binding type '${o.type}' not supported in WebGL`)}}}_applyUniforms(t){for(let r of this.shaderLayout.uniforms||[]){let{name:s,location:i,type:n,textureUnit:o}=r,a=t[s]??o;a!==void 0&&ps(this.device.gl,i,n,a)}}_syncLinkStatus(){this.linkStatus=this.sharedRenderPipeline.linkStatus}}});function xs(e){return pn[e]}function ot(e){return An[e]}function at(e){return Boolean(Cs[e])}function bs(e){return Cs[e]}var An,Cs,pn,ct=p(()=>{An={[5126]:"f32",[35664]:"vec2<f32>",[35665]:"vec3<f32>",[35666]:"vec4<f32>",[5124]:"i32",[35667]:"vec2<i32>",[35668]:"vec3<i32>",[35669]:"vec4<i32>",[5125]:"u32",[36294]:"vec2<u32>",[36295]:"vec3<u32>",[36296]:"vec4<u32>",[35670]:"f32",[35671]:"vec2<f32>",[35672]:"vec3<f32>",[35673]:"vec4<f32>",[35674]:"mat2x2<f32>",[35685]:"mat2x3<f32>",[35686]:"mat2x4<f32>",[35687]:"mat3x2<f32>",[35675]:"mat3x3<f32>",[35688]:"mat3x4<f32>",[35689]:"mat4x2<f32>",[35690]:"mat4x3<f32>",[35676]:"mat4x4<f32>"},Cs={[35678]:{viewDimension:"2d",sampleType:"float"},[35680]:{viewDimension:"cube",sampleType:"float"},[35679]:{viewDimension:"3d",sampleType:"float"},[35682]:{viewDimension:"3d",sampleType:"depth"},[36289]:{viewDimension:"2d-array",sampleType:"float"},[36292]:{viewDimension:"2d-array",sampleType:"depth"},[36293]:{viewDimension:"cube",sampleType:"float"},[36298]:{viewDimension:"2d",sampleType:"sint"},[36299]:{viewDimension:"3d",sampleType:"sint"},[36300]:{viewDimension:"cube",sampleType:"sint"},[36303]:{viewDimension:"2d-array",sampleType:"uint"},[36306]:{viewDimension:"2d",sampleType:"uint"},[36307]:{viewDimension:"3d",sampleType:"uint"},[36308]:{viewDimension:"cube",sampleType:"uint"},[36311]:{viewDimension:"2d-array",sampleType:"uint"}},pn={uint8:5121,sint8:5120,unorm8:5121,snorm8:5120,uint16:5123,sint16:5122,unorm16:5123,snorm16:5122,uint32:5125,sint32:5124,float16:5131,float32:5126}});function Ns(e,t){let r={attributes:[],bindings:[]};r.attributes=gn(e,t);let s=Mn(e,t);for(let a of s){let c=a.uniforms.map(l=>({name:l.name,format:l.format,byteOffset:l.byteOffset,byteStride:l.byteStride,arrayLength:l.arrayLength}));r.bindings.push({type:"uniform",name:a.name,group:0,location:a.location,visibility:(a.vertex?1:0)&(a.fragment?2:0),minBindingSize:a.byteLength,uniforms:c})}let i=En(e,t),n=0;for(let a of i)if(at(a.type)){let{viewDimension:c,sampleType:l}=bs(a.type);r.bindings.push({type:"texture",name:a.name,group:0,location:n,viewDimension:c,sampleType:l}),a.textureUnit=n,n+=1}i.length&&(r.uniforms=i);let o=Sn(e,t);return o?.length&&(r.varyings=o),r}function gn(e,t){let r=[],s=e.getProgramParameter(t,35721);for(let i=0;i<s;i++){let n=e.getActiveAttrib(t,i);if(!n)throw new Error("activeInfo");let{name:o,type:a}=n,c=e.getAttribLocation(t,o);if(c>=0){let l=ot(a),_=/instance/i.test(o)?"instance":"vertex";r.push({name:o,location:c,stepMode:_,type:l})}}return r.sort((i,n)=>i.location-n.location),r}function Sn(e,t){let r=[],s=e.getProgramParameter(t,35971);for(let i=0;i<s;i++){let n=e.getTransformFeedbackVarying(t,i);if(!n)throw new Error("activeInfo");let{name:o,type:a,size:c}=n,l=ot(a),{type:_,components:f}=(0,lt.getVariableShaderTypeInfo)(l);r.push({location:i,name:o,type:_,size:c*f})}return r.sort((i,n)=>i.location-n.location),r}function En(e,t){let r=[],s=e.getProgramParameter(t,35718);for(let i=0;i<s;i++){let n=e.getActiveUniform(t,i);if(!n)throw new Error("activeInfo");let{name:o,size:a,type:c}=n,{name:l,isArray:_}=xn(o),f=e.getUniformLocation(t,l),h={location:f,name:l,size:a,type:c,isArray:_};if(r.push(h),h.size>1)for(let T=0;T<h.size;T++){let d=`${l}[${T}]`;f=e.getUniformLocation(t,d);let R={...h,name:d,location:f};r.push(R)}}return r}function Mn(e,t){let r=(n,o)=>e.getActiveUniformBlockParameter(t,n,o),s=[],i=e.getProgramParameter(t,35382);for(let n=0;n<i;n++){let o={name:e.getActiveUniformBlockName(t,n)||"",location:r(n,35391),byteLength:r(n,35392),vertex:r(n,35396),fragment:r(n,35398),uniformCount:r(n,35394),uniforms:[]},a=r(n,35395)||[],c=e.getActiveUniforms(t,a,35383),l=e.getActiveUniforms(t,a,35384),_=e.getActiveUniforms(t,a,35387),f=e.getActiveUniforms(t,a,35388);for(let h=0;h<o.uniformCount;++h){let T=a[h];if(T!==void 0){let d=e.getActiveUniform(t,T);if(!d)throw new Error("activeInfo");let R=ot(c[h]);o.uniforms.push({name:d.name,format:R,type:c[h],arrayLength:l[h],byteOffset:_[h],byteStride:f[h]})}}s.push(o)}return s.sort((n,o)=>n.location-o.location),s}function xn(e){if(e[e.length-1]!=="]")return{name:e,length:1,isArray:!1};let r=/([^[]*)(\[[0-9]+\])?/.exec(e);return{name:(0,lt.assertDefined)(r?.[1],`Failed to parse GLSL uniform name ${e}`),length:r?.[2]?1:0,isArray:Boolean(r?.[2])}}var lt,Os=p(()=>{lt=C(N(),1);ct()});var ee,Is,_t,Ps=p(()=>{ee=C(N(),1);Os();ct();Is=4,_t=class extends ee.SharedRenderPipeline{device;handle;vs;fs;introspectedLayout={attributes:[],bindings:[],uniforms:[]};linkStatus="pending";constructor(t,r){super(t,r),this.device=t,this.handle=r.handle||this.device.gl.createProgram(),this.vs=r.vs,this.fs=r.fs,r.varyings&&r.varyings.length>0&&this.device.gl.transformFeedbackVaryings(this.handle,r.varyings,r.bufferMode||35981),this._linkShaders(),ee.log.time(3,`RenderPipeline ${this.id} - shaderLayout introspection`)(),this.introspectedLayout=Ns(this.device.gl,this.handle),ee.log.timeEnd(3,`RenderPipeline ${this.id} - shaderLayout introspection`)()}destroy(){this.destroyed||(this.device.gl.useProgram(null),this.device.gl.deleteProgram(this.handle),this.handle.destroyed=!0,this.destroyResource())}async _linkShaders(){let{gl:t}=this.device;if(t.attachShader(this.handle,this.vs.handle),t.attachShader(this.handle,this.fs.handle),ee.log.time(Is,`linkProgram for ${this.id}`)(),t.linkProgram(this.handle),ee.log.timeEnd(Is,`linkProgram for ${this.id}`)(),!this.device.features.has("compilation-status-async-webgl")){let s=this._getLinkStatus();this._reportLinkStatus(s);return}ee.log.once(1,"RenderPipeline linking is asynchronous")(),await this._waitForLinkComplete(),ee.log.info(2,`RenderPipeline ${this.id} - async linking complete: ${this.linkStatus}`)();let r=this._getLinkStatus();this._reportLinkStatus(r)}async _reportLinkStatus(t){switch(t){case"success":return;default:let r=t==="link-error"?"Link error":"Validation error";switch(this.vs.compilationStatus){case"error":throw this.vs.debugShader(),new Error(`${this} ${r} during compilation of ${this.vs}`);case"pending":await this.vs.asyncCompilationStatus,this.vs.debugShader();break;case"success":break}switch(this.fs?.compilationStatus){case"error":throw this.fs.debugShader(),new Error(`${this} ${r} during compilation of ${this.fs}`);case"pending":await this.fs.asyncCompilationStatus,this.fs.debugShader();break;case"success":break}let s=this.device.gl.getProgramInfoLog(this.handle);this.device.reportError(new Error(`${r} during ${t}: ${s}`),this)(),this.device.debug()}}_getLinkStatus(){let{gl:t}=this.device;return t.getProgramParameter(this.handle,35714)?(this._initializeSamplerUniforms(),t.validateProgram(this.handle),t.getProgramParameter(this.handle,35715)?(this.linkStatus="success","success"):(this.linkStatus="error","validation-error")):(this.linkStatus="error","link-error")}_initializeSamplerUniforms(){let{gl:t}=this.device;t.useProgram(this.handle);let r=0,s=t.getProgramParameter(this.handle,35718);for(let i=0;i<s;i++){let n=t.getActiveUniform(this.handle,i);if(n&&at(n.type)){let o=n.name.endsWith("[0]"),a=o?n.name.slice(0,-3):n.name,c=t.getUniformLocation(this.handle,a);c!==null&&(r=this._assignSamplerUniform(c,n,o,r))}}}_assignSamplerUniform(t,r,s,i){let{gl:n}=this.device;if(s&&r.size>1){let o=Int32Array.from({length:r.size},(a,c)=>i+c);return n.uniform1iv(t,o),i+r.size}return n.uniform1i(t,i),i+1}async _waitForLinkComplete(){let t=async i=>await new Promise(n=>setTimeout(n,i));if(!this.device.features.has("compilation-status-async-webgl")){await t(10);return}let{gl:s}=this.device;for(;;){if(s.getProgramParameter(this.handle,37297))return;await t(10)}}}});function bn(e,t){let r=t.sourceBuffer,s=t.destinationBuffer;e.gl.bindBuffer(36662,r.handle),e.gl.bindBuffer(36663,s.handle),e.gl.copyBufferSubData(36662,36663,t.sourceOffset??0,t.destinationOffset??0,t.size),e.gl.bindBuffer(36662,null),e.gl.bindBuffer(36663,null)}function Cn(e,t){throw new Error("Not implemented")}function Nn(e,t){let{sourceTexture:r,mipLevel:s=0,aspect:i="all",width:n=t.sourceTexture.width,height:o=t.sourceTexture.height,depthOrArrayLayers:a=0,origin:c=[0,0,0],destinationBuffer:l,byteOffset:_=0,bytesPerRow:f,rowsPerImage:h}=t;if(i!=="all")throw new Error("aspect not supported in WebGL");if(s!==0||a!==0||f||h)throw new Error("not implemented");let{framebuffer:T,destroyFramebuffer:d}=us(r),R;try{let A=l,g=n||T.width,b=o||T.height,M=(0,Re.assertDefined)(T.colorAttachments[0]),E=Ve(M.texture.props.format),S=E.format,x=E.type;e.gl.bindBuffer(35051,A.handle),R=e.gl.bindFramebuffer(36160,T.handle),e.gl.readPixels(c[0],c[1],g,b,S,x,_)}finally{e.gl.bindBuffer(35051,null),R!==void 0&&e.gl.bindFramebuffer(36160,R),d&&T.destroy()}}function On(e,t){let{sourceTexture:r,destinationMipLevel:s=0,origin:i=[0,0],destinationOrigin:n=[0,0,0],destinationTexture:o}=t,{width:a=t.destinationTexture.width,height:c=t.destinationTexture.height}=t,{framebuffer:l,destroyFramebuffer:_}=us(r),[f=0,h=0]=i,[T,d,R]=n,A=e.gl.bindFramebuffer(36160,l.handle),g,b;if(o instanceof J)g=o,a=Number.isFinite(a)?a:g.width,c=Number.isFinite(c)?c:g.height,g._bind(0),b=g.glTarget;else throw new Error("invalid destination");switch(b){case 3553:case 34067:e.gl.copyTexSubImage2D(b,s,T,d,f,h,a,c);break;case 35866:case 32879:e.gl.copyTexSubImage3D(b,s,T,d,R,f,h,a,c);break;default:}g&&g._unbind(),e.gl.bindFramebuffer(36160,A),_&&l.destroy()}function us(e){if(e instanceof Re.Texture){let{width:t,height:r,id:s}=e;return{framebuffer:e.device.createFramebuffer({id:`framebuffer-for-${s}`,width:t,height:r,colorAttachments:[e]}),destroyFramebuffer:!0}}return{framebuffer:e,destroyFramebuffer:!1}}var Re,ft,Fs=p(()=>{Re=C(N(),1);it();Te();ft=class extends Re.CommandBuffer{device;handle=null;commands=[];constructor(t,r={}){super(t,r),this.device=t}_executeCommands(t=this.commands){for(let r of t)switch(r.name){case"copy-buffer-to-buffer":bn(this.device,r.options);break;case"copy-buffer-to-texture":Cn(this.device,r.options);break;case"copy-texture-to-buffer":Nn(this.device,r.options);break;case"copy-texture-to-texture":On(this.device,r.options);break;default:throw new Error(r.name)}}}});var Ds,In,ht,Bs=p(()=>{Ds=C(N(),1);et();_e();In=[1,2,4,8],ht=class extends Ds.RenderPass{device;handle=null;glParameters={};constructor(t,r){super(t,r),this.device=t,r?.framebuffer||t.getDefaultCanvasContext()._resizeDrawingBufferIfNeeded();let s;if(!r?.parameters?.viewport)if(r?.framebuffer){let{width:n,height:o}=r.framebuffer;s=[0,0,n,o]}else{let[n,o]=t.getDefaultCanvasContext().getDrawingBufferSize();s=[0,0,n,o]}this.device.pushState(),this.setParameters({viewport:s,...this.props.parameters});let i=this.props.framebuffer;if(this.props.framebuffer&&i?.handle){let n=this.props.framebuffer.colorAttachments.map((o,a)=>36064+a);this.device.gl.drawBuffers(n)}else this.props.framebuffer||this.device.gl.drawBuffers([1029]);this.clear(),this.props.timestampQuerySet&&this.props.beginTimestampIndex!==void 0&&this.props.timestampQuerySet.writeTimestamp(this.props.beginTimestampIndex)}end(){this.destroyed||(this.props.timestampQuerySet&&this.props.endTimestampIndex!==void 0&&this.props.timestampQuerySet.writeTimestamp(this.props.endTimestampIndex),this.device.popState(),this.destroy())}pushDebugGroup(t){}popDebugGroup(){}insertDebugMarker(t){}setParameters(t={}){let r={...this.glParameters};r.framebuffer=this.props.framebuffer||null,this.props.depthReadOnly&&(r.depthMask=!this.props.depthReadOnly),r.stencilMask=this.props.stencilReadOnly?0:1,r[35977]=this.props.discard,t.viewport&&(t.viewport.length>=6?(r.viewport=t.viewport.slice(0,4),r.depthRange=[t.viewport[4],t.viewport[5]]):r.viewport=t.viewport),t.scissorRect&&(r.scissorTest=!0,r.scissor=t.scissorRect),t.blendConstant&&(r.blendColor=t.blendConstant),t.stencilReference!==void 0&&(r[2967]=t.stencilReference,r[36003]=t.stencilReference),"colorMask"in t&&(r.colorMask=In.map(s=>Boolean(s&t.colorMask))),this.glParameters=r,V(this.device.gl,r)}beginOcclusionQuery(t){this.props.occlusionQuerySet?.beginOcclusionQuery()}endOcclusionQuery(){this.props.occlusionQuerySet?.endOcclusionQuery()}clear(){let t={...this.glParameters},r=0;this.props.clearColors&&this.props.clearColors.forEach((s,i)=>{s&&this.clearColorBuffer(i,s)}),this.props.clearColor!==!1&&this.props.clearColors===void 0&&(r|=16384,t.clearColor=this.props.clearColor),this.props.clearDepth!==!1&&(r|=256,t.clearDepth=this.props.clearDepth),this.props.clearStencil!==!1&&(r|=1024,t.clearStencil=this.props.clearStencil),r!==0&&Z(this.device.gl,t,()=>{this.device.gl.clear(r)})}clearColorBuffer(t=0,r=[0,0,0,0]){Z(this.device.gl,{framebuffer:this.props.framebuffer},()=>{switch(r.constructor){case Int8Array:case Int16Array:case Int32Array:this.device.gl.clearBufferiv(6144,t,r);break;case Uint8Array:case Uint8ClampedArray:case Uint16Array:case Uint32Array:this.device.gl.clearBufferuiv(6144,t,r);break;case Float32Array:this.device.gl.clearBufferfv(6144,t,r);break;default:throw new Error("clearColorBuffer: color must be typed array")}})}}});var ys,Pe,ws=p(()=>{ys=C(N(),1);Fs();Bs();Pe=class extends ys.CommandEncoder{device;handle=null;commandBuffer;constructor(t,r){super(t,r),this.device=t,this.commandBuffer=new ft(t,{id:`${this.props.id}-command-buffer`})}destroy(){this.destroyResource()}finish(t){return t?.id&&this.commandBuffer.id!==t.id&&(this.commandBuffer.id=t.id,this.commandBuffer.props.id=t.id),this.destroy(),this.commandBuffer}beginRenderPass(t={}){return new ht(this.device,this._applyTimeProfilingToPassProps(t))}beginComputePass(t={}){throw new Error("ComputePass not supported in WebGL")}copyBufferToBuffer(t){this.commandBuffer.commands.push({name:"copy-buffer-to-buffer",options:t})}copyBufferToTexture(t){this.commandBuffer.commands.push({name:"copy-buffer-to-texture",options:t})}copyTextureToBuffer(t){this.commandBuffer.commands.push({name:"copy-texture-to-buffer",options:t})}copyTextureToTexture(t){this.commandBuffer.commands.push({name:"copy-texture-to-texture",options:t})}pushDebugGroup(t){}popDebugGroup(){}insertDebugMarker(t){}resolveQuerySet(t,r,s){}writeTimestamp(t,r){t.writeTimestamp(r)}}});function Us(e){let{target:t,source:r,start:s=0,count:i=1}=e,n=r.length,o=i*n,a=0;for(let c=s;a<n;a++)t[c++]=r[a]??0;for(;a<o;)a<o-a?(t.copyWithin(s+a,s,s+a),a*=2):(t.copyWithin(s+a,s,s+o-a),a=o);return e.target}var ms=p(()=>{});function Pn(e){return Array.isArray(e)?new Float32Array(e):e}function un(e,t){if(!e||!t||e.length!==t.length||e.constructor!==t.constructor)return!1;for(let r=0;r<e.length;++r)if(e[r]!==t[r])return!1;return!0}var Tt,de,vs=p(()=>{Tt=C(N(),1);Cr();Wt();ms();de=class extends Tt.VertexArray{get[Symbol.toStringTag](){return"VertexArray"}device;handle;buffer=null;bufferValue=null;static isConstantAttributeZeroSupported(t){return Bt()==="Chrome"}constructor(t,r){super(t,r),this.device=t,this.handle=this.device.gl.createVertexArray()}destroy(){super.destroy(),this.buffer&&this.buffer?.destroy(),this.handle&&(this.device.gl.deleteVertexArray(this.handle),this.handle=void 0)}setIndexBuffer(t){let r=t;if(r&&r.glTarget!==34963)throw new Error("Use .setBuffer()");this.device.gl.bindVertexArray(this.handle),this.device.gl.bindBuffer(34963,r?r.handle:null),this.indexBuffer=r,this.device.gl.bindVertexArray(null)}setBuffer(t,r){let s=r;if(s.glTarget===34963)throw new Error("Use .setIndexBuffer()");let{size:i,type:n,stride:o,offset:a,normalized:c,integer:l,divisor:_}=this._getAccessor(t);this.device.gl.bindVertexArray(this.handle),this.device.gl.bindBuffer(34962,s.handle),l?this.device.gl.vertexAttribIPointer(t,i,n,o,a):this.device.gl.vertexAttribPointer(t,i,n,c,o,a),this.device.gl.bindBuffer(34962,null),this.device.gl.enableVertexAttribArray(t),this.device.gl.vertexAttribDivisor(t,_||0),this.attributes[t]=s,this.device.gl.bindVertexArray(null)}setConstantWebGL(t,r){this._enable(t,!1),this.attributes[t]=r}bindBeforeRender(){this.device.gl.bindVertexArray(this.handle),this._applyConstantAttributes()}unbindAfterRender(){this.device.gl.bindVertexArray(null)}_applyConstantAttributes(){for(let t=0;t<this.maxVertexAttributes;++t){let r=this.attributes[t];ArrayBuffer.isView(r)&&this.device.setConstantAttributeWebGL(t,r)}}_getAccessor(t){let r=this.attributeInfos[t];if(!r)throw new Error(`Unknown attribute location ${t}`);let s=ve(r.bufferDataType);return{size:r.bufferComponents,type:s,stride:r.byteStride,offset:r.byteOffset,normalized:r.normalized,integer:r.integer,divisor:r.stepMode==="instance"?1:0}}_enable(t,r=!0){let i=de.isConstantAttributeZeroSupported(this.device)||t!==0;(r||i)&&(t=Number(t),this.device.gl.bindVertexArray(this.handle),r?this.device.gl.enableVertexAttribArray(t):this.device.gl.disableVertexAttribArray(t),this.device.gl.bindVertexArray(null))}getConstantBuffer(t,r){let s=Pn(r),i=s.byteLength*t,n=s.length*t;if(this.buffer&&i!==this.buffer.byteLength)throw new Error(`Buffer size is immutable, byte length ${i} !== ${this.buffer.byteLength}.`);let o=!this.buffer;if(this.buffer=this.buffer||this.device.createBuffer({byteLength:i}),o||=!un(s,this.bufferValue),o){let a=(0,Tt.getScratchArray)(r.constructor,n);Us({target:a,source:s,start:0,count:n}),this.buffer.write(a),this.bufferValue=r}return this.buffer}}});function Ws(e){return typeof e=="number"?Number.isInteger(e):/^\d+$/.test(e)}var dt,Rt,Xs=p(()=>{dt=C(N(),1);er();Gt();Rt=class extends dt.TransformFeedback{device;gl;handle;layout;buffers={};unusedBuffers={};bindOnUse=!0;_bound=!1;constructor(t,r){super(t,r),this.device=t,this.gl=t.gl,this.handle=this.props.handle||this.gl.createTransformFeedback(),this.layout=this.props.layout,r.buffers&&this.setBuffers(r.buffers),Object.seal(this)}destroy(){this.gl.deleteTransformFeedback(this.handle),super.destroy()}begin(t="point-list"){this.gl.bindTransformFeedback(36386,this.handle),this.bindOnUse&&this._bindBuffers(),this.gl.beginTransformFeedback(Es(t))}end(){this.gl.endTransformFeedback(),this.bindOnUse&&this._unbindBuffers(),this.gl.bindTransformFeedback(36386,null)}setBuffers(t){this.buffers={},this.unusedBuffers={},this.bind(()=>{for(let[r,s]of Object.entries(t))this.setBuffer(r,s)})}setBuffer(t,r){let s=this._getVaryingIndex(t),{buffer:i,byteLength:n,byteOffset:o}=this._getBufferRange(r);if(s<0){this.unusedBuffers[t]=i,dt.log.warn(`${this.id} unusedBuffers varying buffer ${t}`)();return}this.buffers[s]={buffer:i,byteLength:n,byteOffset:o},this.bindOnUse||this._bindBuffer(s,i,o,n)}getBuffer(t){if(Ws(t))return this.buffers[t]||null;let r=this._getVaryingIndex(t);return this.buffers[r]??null}bind(t=this.handle){if(typeof t!="function")return this.gl.bindTransformFeedback(36386,t),this;let r;return this._bound?r=t():(this.gl.bindTransformFeedback(36386,this.handle),this._bound=!0,r=t(),this._bound=!1,this.gl.bindTransformFeedback(36386,null)),r}unbind(){this.bind(null)}_getBufferRange(t){if(t instanceof K)return{buffer:t,byteOffset:0,byteLength:t.byteLength};let{buffer:r,byteOffset:s=0,byteLength:i=t.buffer.byteLength}=t;return{buffer:r,byteOffset:s,byteLength:i}}_getVaryingIndex(t){if(Ws(t))return Number(t);for(let r of this.layout.varyings||[])if(t===r.name)return r.location;return-1}_bindBuffers(){for(let[t,r]of Object.entries(this.buffers)){let{buffer:s,byteLength:i,byteOffset:n}=this._getBufferRange(r);this._bindBuffer(Number(t),s,n,i)}}_unbindBuffers(){for(let t in this.buffers)this.gl.bindBufferBase(35982,Number(t),null)}_bindBuffer(t,r,s=0,i){let n=r&&r.handle;!n||i===void 0?this.gl.bindBufferBase(35982,t,n):this.gl.bindBufferRange(35982,t,n,s,i)}}});var Hs,At,Vs=p(()=>{Hs=C(N(),1),At=class extends Hs.QuerySet{device;handle;_timestampPairs=[];_occlusionQuery=null;_occlusionActive=!1;get[Symbol.toStringTag](){return"QuerySet"}constructor(t,r){if(super(t,r),this.device=t,r.type==="timestamp"){if(r.count<2)throw new Error("Timestamp QuerySet requires at least two query slots");this._timestampPairs=new Array(Math.ceil(r.count/2)).fill(null).map(()=>({activeQuery:null,completedQueries:[]})),this.handle=null}else{if(r.count>1)throw new Error("WebGL occlusion QuerySet can only have one value");let s=this.device.gl.createQuery();if(!s)throw new Error("WebGL query not supported");this.handle=s}Object.seal(this)}destroy(){if(!this.destroyed){this.handle&&this.device.gl.deleteQuery(this.handle);for(let t of this._timestampPairs){t.activeQuery&&this.device.gl.deleteQuery(t.activeQuery.handle);for(let r of t.completedQueries)this.device.gl.deleteQuery(r.handle)}this._occlusionQuery&&this.device.gl.deleteQuery(this._occlusionQuery.handle),this.destroyResource()}}isResultAvailable(t){return this.props.type==="timestamp"?t===void 0?this._timestampPairs.some((r,s)=>this._isTimestampPairAvailable(s)):this._isTimestampPairAvailable(this._getTimestampPairIndex(t)):this._occlusionQuery?this._pollQueryAvailability(this._occlusionQuery):!1}async readResults(t){let r=t?.firstQuery||0,s=t?.queryCount||this.props.count-r;if(this._validateRange(r,s),this.props.type==="timestamp"){let i=new Array(s).fill(0n),n=Math.floor(r/2),o=Math.floor((r+s-1)/2);for(let a=n;a<=o;a++){let c=await this._consumeTimestampPairResult(a),l=a*2,_=l+1;l>=r&&l<r+s&&(i[l-r]=0n),_>=r&&_<r+s&&(i[_-r]=c)}return i}if(!this._occlusionQuery)throw new Error("Occlusion query has not been started");return[await this._consumeQueryResult(this._occlusionQuery)]}async readTimestampDuration(t,r){if(this.props.type!=="timestamp")throw new Error("Timestamp durations require a timestamp QuerySet");if(t<0||r>=this.props.count||r<=t)throw new Error("Timestamp duration range is out of bounds");if(t%2!==0||r!==t+1)throw new Error("WebGL timestamp durations require adjacent even/odd query indices");let s=await this._consumeTimestampPairResult(this._getTimestampPairIndex(t));return Number(s)/1e6}beginOcclusionQuery(){if(this.props.type!=="occlusion")throw new Error("Occlusion queries require an occlusion QuerySet");if(!this.handle)throw new Error("WebGL occlusion query is not available");if(this._occlusionActive)throw new Error("Occlusion query is already active");this.device.gl.beginQuery(35887,this.handle),this._occlusionQuery={handle:this.handle,promise:null,result:null,disjoint:!1},this._occlusionActive=!0}endOcclusionQuery(){if(!this._occlusionActive)throw new Error("Occlusion query is not active");this.device.gl.endQuery(35887),this._occlusionActive=!1}writeTimestamp(t){if(this.props.type!=="timestamp")throw new Error("Timestamp writes require a timestamp QuerySet");let r=this._getTimestampPairIndex(t),s=this._timestampPairs[r];if(t%2===0){if(s.activeQuery)throw new Error("Timestamp query pair is already active");let i=this.device.gl.createQuery();if(!i)throw new Error("WebGL query not supported");let n={handle:i,promise:null,result:null,disjoint:!1};this.device.gl.beginQuery(35007,i),s.activeQuery=n;return}if(!s.activeQuery)throw new Error("Timestamp query pair was ended before it was started");this.device.gl.endQuery(35007),s.completedQueries.push(s.activeQuery),s.activeQuery=null}_validateRange(t,r){if(t<0||r<0||t+r>this.props.count)throw new Error("Query read range is out of bounds")}_getTimestampPairIndex(t){if(t<0||t>=this.props.count)throw new Error("Query index is out of bounds");return Math.floor(t/2)}_isTimestampPairAvailable(t){let r=this._timestampPairs[t];return!r||r.completedQueries.length===0?!1:this._pollQueryAvailability(r.completedQueries[0])}_pollQueryAvailability(t){if(t.result!==null||t.disjoint)return!0;if(!this.device.gl.getQueryParameter(t.handle,34919))return!1;let s=Boolean(this.device.gl.getParameter(36795));return t.disjoint=s,t.result=s?0n:BigInt(this.device.gl.getQueryParameter(t.handle,34918)),!0}async _consumeTimestampPairResult(t){let r=this._timestampPairs[t];if(!r||r.completedQueries.length===0)throw new Error("Timestamp query pair has no completed result");let s=r.completedQueries.shift();try{return await this._consumeQueryResult(s)}finally{this.device.gl.deleteQuery(s.handle)}}_consumeQueryResult(t){return t.promise||(t.promise=new Promise((r,s)=>{let i=()=>{if(!this._pollQueryAvailability(t)){requestAnimationFrame(i);return}t.promise=null,t.disjoint?s(new Error("GPU timestamp query was invalidated by a disjoint event")):r(t.result||0n)};i()})),t.promise}}});var ks,pt,Ys=p(()=>{ks=C(N(),1),pt=class extends ks.Fence{device;gl;handle;signaled;_signaled=!1;constructor(t,r={}){super(t,{}),this.device=t,this.gl=t.gl;let s=this.props.handle||this.gl.fenceSync(this.gl.SYNC_GPU_COMMANDS_COMPLETE,0);if(!s)throw new Error("Failed to create WebGL fence");this.handle=s,this.signaled=new Promise(i=>{let n=()=>{let o=this.gl.clientWaitSync(this.handle,0,0);o===this.gl.ALREADY_SIGNALED||o===this.gl.CONDITION_SATISFIED?(this._signaled=!0,i()):setTimeout(n,1)};n()})}isSignaled(){if(this._signaled)return!0;let t=this.gl.getSyncParameter(this.handle,this.gl.SYNC_STATUS);return this._signaled=t===this.gl.SIGNALED,this._signaled}destroy(){this.destroyed||this.gl.deleteSync(this.handle)}}});function tr(e){switch(e){case 6406:case 33326:case 6403:case 36244:return 1;case 33339:case 33340:case 33328:case 33320:case 33319:return 2;case 6407:case 36248:case 34837:return 3;case 6408:case 36249:case 34836:return 4;default:return 0}}function Ks(e){switch(e){case 5121:return 1;case 33635:case 32819:case 32820:return 2;case 5126:return 4;default:return 0}}var $s=p(()=>{});function zs(e,t){let{sourceX:r=0,sourceY:s=0,sourceAttachment:i=0}=t||{},{target:n=null,sourceWidth:o,sourceHeight:a,sourceDepth:c,sourceFormat:l,sourceType:_}=t||{},{framebuffer:f,deleteFramebuffer:h}=Qs(e),{gl:T,handle:d}=f;o||=f.width,a||=f.height;let R=f.colorAttachments[i]?.texture;if(!R)throw new Error(`Invalid framebuffer attachment ${i}`);c=R?.depth||1,l||=R?.glFormat||6408,_||=R?.glType||5121,n=Dn(n,_,l,o,a,c);let A=(0,Ae.getDataType)(n);_=_||xs(A);let g=T.bindFramebuffer(36160,d);return T.readBuffer(36064+i),T.readPixels(r,s,o,a,l,_,n),T.readBuffer(36064),T.bindFramebuffer(36160,g||null),h&&f.destroy(),n}function Ls(e,t){let{target:r,sourceX:s=0,sourceY:i=0,sourceFormat:n=6408,targetByteOffset:o=0}=t||{},{sourceWidth:a,sourceHeight:c,sourceType:l}=t||{},{framebuffer:_,deleteFramebuffer:f}=Qs(e);a=a||_.width,c=c||_.height;let h=_;l=l||5121;let T=r;if(!T){let R=tr(n),A=Ks(l),g=o+a*c*R*A;T=h.device.createBuffer({byteLength:g})}let d=e.device.createCommandEncoder();return d.copyTextureToBuffer({sourceTexture:e,width:a,height:c,origin:[s,i],destinationBuffer:T,byteOffset:o}),d.destroy(),f&&_.destroy(),T}function Qs(e){return e instanceof Ae.Framebuffer?{framebuffer:e,deleteFramebuffer:!1}:{framebuffer:Fn(e),deleteFramebuffer:!0}}function Fn(e,t){let{device:r,width:s,height:i,id:n}=e;return r.createFramebuffer({...t,id:`framebuffer-for-${n}`,width:s,height:i,colorAttachments:[e]})}function Dn(e,t,r,s,i,n){if(e)return e;t||=5121;let o=rt(t),a=(0,Ae.getTypedArrayConstructor)(o),c=tr(r);return new a(s*i*c)}var Ae,qs=p(()=>{Ae=C(N(),1);ct();$s();Jt()});function Bn(e,t,r){switch(r.length){case 1:e.gl.vertexAttrib1fv(t,r);break;case 2:e.gl.vertexAttrib2fv(t,r);break;case 3:e.gl.vertexAttrib3fv(t,r);break;case 4:e.gl.vertexAttrib4fv(t,r);break;default:}}function yn(e,t,r){e.gl.vertexAttribI4iv(t,r)}function wn(e,t,r){e.gl.vertexAttribI4uiv(t,r)}function Un(e,t){if(!e||!t||e.length!==t.length||e.constructor!==t.constructor)return!1;for(let r=0;r<e.length;++r)if(e[r]!==t[r])return!1;return!0}var z,te,Zs=p(()=>{z=C(N(),1);vt();Hr();we();Yr();Jr();es();ss();ns();gr();Pr();Te();as();Le();_s();ds();it();Ke();Ms();Ps();ws();vs();Xs();Vs();Ys();qs();_e();et();Ce();te=class extends z.Device{static getDeviceFromContext(t){return t?t.luma?.device??null:null}type="webgl";handle;features;limits;info;canvasContext;preferredColorFormat="rgba8unorm";preferredDepthFormat="depth24plus";commandEncoder;lost;_resolveContextLost;gl;_constants;extensions;_polyfilled=!1;spectorJS;get[Symbol.toStringTag](){return"WebGLDevice"}toString(){return`${this[Symbol.toStringTag]}(${this.id})`}isVertexFormatSupported(t){switch(t){case"unorm8x4-bgra":return!1;default:return!0}}constructor(t){super({...t,id:t.id||os("webgl-device")});let r=z.Device._getCanvasContextProps(t);if(!r)throw new Error("WebGLDevice requires props.createCanvasContext to be set");let s=r.canvas?.gl??null,i=te.getDeviceFromContext(s);if(i)throw new Error(`WebGL context already attached to device ${i.id}`);this.canvasContext=new $e(this,r),this.lost=new Promise(_=>{this._resolveContextLost=_});let n={...t.webgl};r.alphaMode==="premultiplied"&&(n.premultipliedAlpha=!0),t.powerPreference!==void 0&&(n.powerPreference=t.powerPreference),t.failIfMajorPerformanceCaveat!==void 0&&(n.failIfMajorPerformanceCaveat=t.failIfMajorPerformanceCaveat);let a=this.props._handle||Xr(this.canvasContext.canvas,{onContextLost:_=>this._resolveContextLost?.({reason:"destroyed",message:"Entered sleep mode, or too many apps or browser tabs are using the GPU."}),onContextRestored:_=>console.log("WebGL context restored")},n);if(!a)throw new Error("WebGL context creation failed");if(i=te.getDeviceFromContext(a),i){if(t._reuseDevices)return z.log.log(1,`Not creating a new Device, instead returning a reference to Device ${i.id} already attached to WebGL context`,i)(),this.canvasContext.destroy(),i._reused=!0,i;throw new Error(`WebGL context already attached to device ${i.id}`)}this.handle=a,this.gl=a,this.spectorJS=pr({...this.props,gl:this.handle});let c=ne(this.handle);c.device=this,this.extensions=c.extensions||(c.extensions={}),this.info=Vr(this.gl,this.extensions),this.limits=new Ye(this.gl),this.features=new ke(this.gl,this.extensions,this.props._disabledFeatures),this.props._initializeFeatures&&this.features.initializeFeatures(),new k(this.gl,{log:(..._)=>z.log.log(1,..._)()}).trackState(this.gl,{copyState:!1}),(t.debug||t.debugWebGL)&&(this.gl=Ir(this.gl,{debugWebGL:!0,traceWebGL:t.debugWebGL}),z.log.warn("WebGL debug mode activated. Performance reduced.")()),t.debugWebGL&&(z.log.level=Math.max(z.log.level,1)),this.commandEncoder=new Pe(this,{id:`${this}-command-encoder`}),this.canvasContext._startObservers()}destroy(){if(this.commandEncoder?.destroy(),!this.props._reuseDevices&&!this._reused){let t=ne(this.handle);t.device=null}}get isLost(){return this.gl.isContextLost()}createCanvasContext(t){throw new Error("WebGL only supports a single canvas")}createPresentationContext(t){return new ze(this,t||{})}createBuffer(t){let r=this._normalizeBufferProps(t);return new K(this,r)}createTexture(t){return new J(this,t)}createExternalTexture(t){throw new Error("createExternalTexture() not implemented")}createSampler(t){return new Ge(this,t)}createShader(t){return new qe(this,t)}createFramebuffer(t){return new q(this,t)}createVertexArray(t){return new de(this,t)}createTransformFeedback(t){return new Rt(this,t)}createQuerySet(t){return new At(this,t)}createFence(){return new pt(this)}createRenderPipeline(t){return new nt(this,t)}_createSharedRenderPipelineWebGL(t){return new _t(this,t)}createComputePipeline(t){throw new Error("ComputePipeline not supported in WebGL")}createCommandEncoder(t={}){return new Pe(this,t)}submit(t){let r=null;t||(r=this.commandEncoder,t=r.finish(),this.commandEncoder.destroy(),this.commandEncoder=this.createCommandEncoder({id:r.props.id,timeProfilingQuerySet:r.getTimeProfilingQuerySet()}));try{t._executeCommands(),r&&r.resolveTimeProfilingQuerySet().then(()=>{this.commandEncoder._gpuTimeMs=r._gpuTimeMs}).catch(()=>{})}finally{t.destroy()}}readPixelsToArrayWebGL(t,r){return zs(t,r)}readPixelsToBufferWebGL(t,r){return Ls(t,r)}setParametersWebGL(t){V(this.gl,t)}getParametersWebGL(t){return me(this.gl,t)}withParametersWebGL(t,r){return Z(this.gl,t,r)}resetWebGL(){z.log.warn("WebGLDevice.resetWebGL is deprecated, use only for debugging")(),wr(this.gl)}_getDeviceSpecificTextureFormatCapabilities(t){return Qr(this.gl,t,this.extensions)}loseDevice(){let t=!1,s=this.getExtension("WEBGL_lose_context").WEBGL_lose_context;return s&&(t=!0,s.loseContext()),this._resolveContextLost?.({reason:"destroyed",message:"Application triggered context loss"}),t}pushState(){k.get(this.gl).push()}popState(){k.get(this.gl).pop()}getGLKey(t,r){let s=Number(t);for(let i in this.gl)if(this.gl[i]===s)return`GL.${i}`;return r?.emptyIfUnknown?"":String(t)}getGLKeys(t){let r={emptyIfUnknown:!0};return Object.entries(t).reduce((s,[i,n])=>(s[`${i}:${this.getGLKey(i,r)}`]=`${n}:${this.getGLKey(n,r)}`,s),{})}setConstantAttributeWebGL(t,r){let s=this.limits.maxVertexAttributes;this._constants=this._constants||new Array(s).fill(null);let i=this._constants[t];switch(i&&Un(i,r)&&z.log.info(1,`setConstantAttributeWebGL(${t}) could have been skipped, value unchanged`)(),this._constants[t]=r,r.constructor){case Float32Array:Bn(this,t,r);break;case Int32Array:yn(this,t,r);break;case Uint32Array:wn(this,t,r);break;default:throw new Error("constant")}}getExtension(t){return Y(this.gl,t,this.extensions),this.extensions}_setWebGLDebugMetadata(t,r,s){t.luma=r;let i={props:s.spector,id:s.spector.id};t.__SPECTOR_Metadata=i}}});var er=p(()=>{Zs();Le()});var Fe={};Fi(Fe,{GoogleMapsOverlay:()=>ue});var L={},Tr=C(ye(),1);se(L,C(ye(),1));if(!Tr.Layer)throw new Error("@deck.gl/core is not found");se(Fe,L);Ft();er();var Nt=C(ye(),1);var Vc=1/Math.PI*180,kc=1/180*Math.PI,mn={EPSILON:1e-12,debug:!1,precision:4,printTypes:!1,printDegrees:!1,printRowMajor:!0,_cartographicRadians:!1};globalThis.mathgl=globalThis.mathgl||{config:{...mn}};var y=globalThis.mathgl.config;function js(e,{precision:t=y.precision}={}){return e=vn(e),`${parseFloat(e.toPrecision(t))}`}function pe(e){return Array.isArray(e)||ArrayBuffer.isView(e)&&!(e instanceof DataView)}function rr(e,t,r){let s=y.EPSILON;r&&(y.EPSILON=r);try{if(e===t)return!0;if(pe(e)&&pe(t)){if(e.length!==t.length)return!1;for(let i=0;i<e.length;++i)if(!rr(e[i],t[i]))return!1;return!0}return e&&e.equals?e.equals(t):t&&t.equals?t.equals(e):typeof e=="number"&&typeof t=="number"?Math.abs(e-t)<=y.EPSILON*Math.max(1,Math.abs(e),Math.abs(t)):!1}finally{y.EPSILON=s}}function vn(e){return Math.round(e/y.EPSILON)*y.EPSILON}var ge=class extends Array{clone(){return new this.constructor().copy(this)}fromArray(t,r=0){for(let s=0;s<this.ELEMENTS;++s)this[s]=t[s+r];return this.check()}toArray(t=[],r=0){for(let s=0;s<this.ELEMENTS;++s)t[r+s]=this[s];return t}toObject(t){return t}from(t){return Array.isArray(t)?this.copy(t):this.fromObject(t)}to(t){return t===this?this:pe(t)?this.toArray(t):this.toObject(t)}toTarget(t){return t?this.to(t):this}toFloat32Array(){return new Float32Array(this)}toString(){return this.formatString(y)}formatString(t){let r="";for(let s=0;s<this.ELEMENTS;++s)r+=(s>0?", ":"")+js(this[s],t);return`${t.printTypes?this.constructor.name:""}[${r}]`}equals(t){if(!t||this.length!==t.length)return!1;for(let r=0;r<this.ELEMENTS;++r)if(!rr(this[r],t[r]))return!1;return!0}exactEquals(t){if(!t||this.length!==t.length)return!1;for(let r=0;r<this.ELEMENTS;++r)if(this[r]!==t[r])return!1;return!0}negate(){for(let t=0;t<this.ELEMENTS;++t)this[t]=-this[t];return this.check()}lerp(t,r,s){if(s===void 0)return this.lerp(this,t,r);for(let i=0;i<this.ELEMENTS;++i){let n=t[i],o=typeof r=="number"?r:r[i];this[i]=n+s*(o-n)}return this.check()}min(t){for(let r=0;r<this.ELEMENTS;++r)this[r]=Math.min(t[r],this[r]);return this.check()}max(t){for(let r=0;r<this.ELEMENTS;++r)this[r]=Math.max(t[r],this[r]);return this.check()}clamp(t,r){for(let s=0;s<this.ELEMENTS;++s)this[s]=Math.min(Math.max(this[s],t[s]),r[s]);return this.check()}add(...t){for(let r of t)for(let s=0;s<this.ELEMENTS;++s)this[s]+=r[s];return this.check()}subtract(...t){for(let r of t)for(let s=0;s<this.ELEMENTS;++s)this[s]-=r[s];return this.check()}scale(t){if(typeof t=="number")for(let r=0;r<this.ELEMENTS;++r)this[r]*=t;else for(let r=0;r<this.ELEMENTS&&r<t.length;++r)this[r]*=t[r];return this.check()}multiplyByScalar(t){for(let r=0;r<this.ELEMENTS;++r)this[r]*=t;return this.check()}check(){if(y.debug&&!this.validate())throw new Error(`math.gl: ${this.constructor.name} some fields set to invalid numbers'`);return this}validate(){let t=this.length===this.ELEMENTS;for(let r=0;r<this.ELEMENTS;++r)t=t&&Number.isFinite(this[r]);return t}sub(t){return this.subtract(t)}setScalar(t){for(let r=0;r<this.ELEMENTS;++r)this[r]=t;return this.check()}addScalar(t){for(let r=0;r<this.ELEMENTS;++r)this[r]+=t;return this.check()}subScalar(t){return this.addScalar(-t)}multiplyScalar(t){for(let r=0;r<this.ELEMENTS;++r)this[r]*=t;return this.check()}divideScalar(t){return this.multiplyByScalar(1/t)}clampScalar(t,r){for(let s=0;s<this.ELEMENTS;++s)this[s]=Math.min(Math.max(this[s],t),r);return this.check()}get elements(){return this}};function Wn(e,t){if(e.length!==t)return!1;for(let r=0;r<e.length;++r)if(!Number.isFinite(e[r]))return!1;return!0}function v(e){if(!Number.isFinite(e))throw new Error(`Invalid number ${JSON.stringify(e)}`);return e}function gt(e,t,r=""){if(y.debug&&!Wn(e,t))throw new Error(`math.gl: ${r} some fields set to invalid numbers'`);return e}function sr(e,t){if(!e)throw new Error(`math.gl assertion ${t}`)}var St=class extends ge{get x(){return this[0]}set x(t){this[0]=v(t)}get y(){return this[1]}set y(t){this[1]=v(t)}len(){return Math.sqrt(this.lengthSquared())}magnitude(){return this.len()}lengthSquared(){let t=0;for(let r=0;r<this.ELEMENTS;++r)t+=this[r]*this[r];return t}magnitudeSquared(){return this.lengthSquared()}distance(t){return Math.sqrt(this.distanceSquared(t))}distanceSquared(t){let r=0;for(let s=0;s<this.ELEMENTS;++s){let i=this[s]-t[s];r+=i*i}return v(r)}dot(t){let r=0;for(let s=0;s<this.ELEMENTS;++s)r+=this[s]*t[s];return v(r)}normalize(){let t=this.magnitude();if(t!==0)for(let r=0;r<this.ELEMENTS;++r)this[r]/=t;return this.check()}multiply(...t){for(let r of t)for(let s=0;s<this.ELEMENTS;++s)this[s]*=r[s];return this.check()}divide(...t){for(let r of t)for(let s=0;s<this.ELEMENTS;++s)this[s]/=r[s];return this.check()}lengthSq(){return this.lengthSquared()}distanceTo(t){return this.distance(t)}distanceToSquared(t){return this.distanceSquared(t)}getComponent(t){return sr(t>=0&&t<this.ELEMENTS,"index is out of range"),v(this[t])}setComponent(t,r){return sr(t>=0&&t<this.ELEMENTS,"index is out of range"),this[t]=r,this.check()}addVectors(t,r){return this.copy(t).add(r)}subVectors(t,r){return this.copy(t).subtract(r)}multiplyVectors(t,r){return this.copy(t).multiply(r)}addScaledVector(t,r){return this.add(new this.constructor(t).multiplyScalar(r))}};var re=typeof Float32Array<"u"?Float32Array:Array;var Gc=Math.PI/180;function Xn(){let e=new re(2);return re!=Float32Array&&(e[0]=0,e[1]=0),e}function ei(e,t,r){let s=t[0],i=t[1];return e[0]=r[0]*s+r[2]*i,e[1]=r[1]*s+r[3]*i,e}function ti(e,t,r){let s=t[0],i=t[1];return e[0]=r[0]*s+r[2]*i+r[4],e[1]=r[1]*s+r[3]*i+r[5],e}function ri(e,t,r){let s=t[0],i=t[1];return e[0]=r[0]*s+r[3]*i+r[6],e[1]=r[1]*s+r[4]*i+r[7],e}function Et(e,t,r){let s=t[0],i=t[1];return e[0]=r[0]*s+r[4]*i+r[12],e[1]=r[1]*s+r[5]*i+r[13],e}var el=function(){let e=Xn();return function(t,r,s,i,n,o){let a,c;for(r||(r=2),s||(s=0),i?c=Math.min(i*r+s,t.length):c=t.length,a=s;a<c;a+=r)e[0]=t[a],e[1]=t[a+1],n(e,e,o),t[a]=e[0],t[a+1]=e[1];return t}}();function Mt(e,t,r){let s=t[0],i=t[1],n=r[3]*s+r[7]*i||1;return e[0]=(r[0]*s+r[4]*i)/n,e[1]=(r[1]*s+r[5]*i)/n,e}function si(e,t,r){let s=t[0],i=t[1],n=t[2],o=r[3]*s+r[7]*i+r[11]*n||1;return e[0]=(r[0]*s+r[4]*i+r[8]*n)/o,e[1]=(r[1]*s+r[5]*i+r[9]*n)/o,e[2]=(r[2]*s+r[6]*i+r[10]*n)/o,e}var ae=class extends St{constructor(t=0,r=0){super(2),pe(t)&&arguments.length===1?this.copy(t):(y.debug&&(v(t),v(r)),this[0]=t,this[1]=r)}set(t,r){return this[0]=t,this[1]=r,this.check()}copy(t){return this[0]=t[0],this[1]=t[1],this.check()}fromObject(t){return y.debug&&(v(t.x),v(t.y)),this[0]=t.x,this[1]=t.y,this.check()}toObject(t){return t.x=this[0],t.y=this[1],t}get ELEMENTS(){return 2}horizontalAngle(){return Math.atan2(this.y,this.x)}verticalAngle(){return Math.atan2(this.x,this.y)}transform(t){return this.transformAsPoint(t)}transformAsPoint(t){return Et(this,this,t),this.check()}transformAsVector(t){return Mt(this,this,t),this.check()}transformByMatrix3(t){return ri(this,this,t),this.check()}transformByMatrix2x3(t){return ti(this,this,t),this.check()}transformByMatrix2(t){return ei(this,this,t),this.check()}};function Hn(){let e=new re(3);return re!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0),e}function ii(e,t,r){let s=t[0],i=t[1],n=t[2],o=r[3]*s+r[7]*i+r[11]*n+r[15];return o=o||1,e[0]=(r[0]*s+r[4]*i+r[8]*n+r[12])/o,e[1]=(r[1]*s+r[5]*i+r[9]*n+r[13])/o,e[2]=(r[2]*s+r[6]*i+r[10]*n+r[14])/o,e}var ll=function(){let e=Hn();return function(t,r,s,i,n,o){let a,c;for(r||(r=3),s||(s=0),i?c=Math.min(i*r+s,t.length):c=t.length,a=s;a<c;a+=r)e[0]=t[a],e[1]=t[a+1],e[2]=t[a+2],n(e,e,o),t[a]=e[0],t[a+1]=e[1],t[a+2]=e[2];return t}}();var xt=class extends ge{toString(){let t="[";if(y.printRowMajor){t+="row-major:";for(let r=0;r<this.RANK;++r)for(let s=0;s<this.RANK;++s)t+=` ${this[s*this.RANK+r]}`}else{t+="column-major:";for(let r=0;r<this.ELEMENTS;++r)t+=` ${this[r]}`}return t+="]",t}getElementIndex(t,r){return r*this.RANK+t}getElement(t,r){return this[r*this.RANK+t]}setElement(t,r,s){return this[r*this.RANK+t]=v(s),this}getColumn(t,r=new Array(this.RANK).fill(-0)){let s=t*this.RANK;for(let i=0;i<this.RANK;++i)r[i]=this[s+i];return r}setColumn(t,r){let s=t*this.RANK;for(let i=0;i<this.RANK;++i)this[s+i]=r[i];return this}};function Vn(e){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function ni(e,t){if(e===t){let r=t[1],s=t[2],i=t[3],n=t[6],o=t[7],a=t[11];e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=r,e[6]=t[9],e[7]=t[13],e[8]=s,e[9]=n,e[11]=t[14],e[12]=i,e[13]=o,e[14]=a}else e[0]=t[0],e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=t[1],e[5]=t[5],e[6]=t[9],e[7]=t[13],e[8]=t[2],e[9]=t[6],e[10]=t[10],e[11]=t[14],e[12]=t[3],e[13]=t[7],e[14]=t[11],e[15]=t[15];return e}function oi(e,t){let r=t[0],s=t[1],i=t[2],n=t[3],o=t[4],a=t[5],c=t[6],l=t[7],_=t[8],f=t[9],h=t[10],T=t[11],d=t[12],R=t[13],A=t[14],g=t[15],b=r*a-s*o,M=r*c-i*o,E=r*l-n*o,S=s*c-i*a,x=s*l-n*a,u=i*l-n*c,D=_*R-f*d,B=_*A-h*d,F=_*g-T*d,W=f*A-h*R,X=f*g-T*R,H=h*g-T*A,O=b*H-M*X+E*W+S*F-x*B+u*D;return O?(O=1/O,e[0]=(a*H-c*X+l*W)*O,e[1]=(i*X-s*H-n*W)*O,e[2]=(R*u-A*x+g*S)*O,e[3]=(h*x-f*u-T*S)*O,e[4]=(c*F-o*H-l*B)*O,e[5]=(r*H-i*F+n*B)*O,e[6]=(A*E-d*u-g*M)*O,e[7]=(_*u-h*E+T*M)*O,e[8]=(o*X-a*F+l*D)*O,e[9]=(s*F-r*X-n*D)*O,e[10]=(d*x-R*E+g*b)*O,e[11]=(f*E-_*x-T*b)*O,e[12]=(a*B-o*W-c*D)*O,e[13]=(r*W-s*B+i*D)*O,e[14]=(R*M-d*S-A*b)*O,e[15]=(_*S-f*M+h*b)*O,e):null}function ai(e){let t=e[0],r=e[1],s=e[2],i=e[3],n=e[4],o=e[5],a=e[6],c=e[7],l=e[8],_=e[9],f=e[10],h=e[11],T=e[12],d=e[13],R=e[14],A=e[15],g=t*o-r*n,b=t*a-s*n,M=r*a-s*o,E=l*d-_*T,S=l*R-f*T,x=_*R-f*d,u=t*x-r*S+s*E,D=n*x-o*S+a*E,B=l*M-_*b+f*g,F=T*M-d*b+R*g;return c*u-i*D+A*B-h*F}function nr(e,t,r){let s=t[0],i=t[1],n=t[2],o=t[3],a=t[4],c=t[5],l=t[6],_=t[7],f=t[8],h=t[9],T=t[10],d=t[11],R=t[12],A=t[13],g=t[14],b=t[15],M=r[0],E=r[1],S=r[2],x=r[3];return e[0]=M*s+E*a+S*f+x*R,e[1]=M*i+E*c+S*h+x*A,e[2]=M*n+E*l+S*T+x*g,e[3]=M*o+E*_+S*d+x*b,M=r[4],E=r[5],S=r[6],x=r[7],e[4]=M*s+E*a+S*f+x*R,e[5]=M*i+E*c+S*h+x*A,e[6]=M*n+E*l+S*T+x*g,e[7]=M*o+E*_+S*d+x*b,M=r[8],E=r[9],S=r[10],x=r[11],e[8]=M*s+E*a+S*f+x*R,e[9]=M*i+E*c+S*h+x*A,e[10]=M*n+E*l+S*T+x*g,e[11]=M*o+E*_+S*d+x*b,M=r[12],E=r[13],S=r[14],x=r[15],e[12]=M*s+E*a+S*f+x*R,e[13]=M*i+E*c+S*h+x*A,e[14]=M*n+E*l+S*T+x*g,e[15]=M*o+E*_+S*d+x*b,e}function ci(e,t,r){let s=r[0],i=r[1],n=r[2],o,a,c,l,_,f,h,T,d,R,A,g;return t===e?(e[12]=t[0]*s+t[4]*i+t[8]*n+t[12],e[13]=t[1]*s+t[5]*i+t[9]*n+t[13],e[14]=t[2]*s+t[6]*i+t[10]*n+t[14],e[15]=t[3]*s+t[7]*i+t[11]*n+t[15]):(o=t[0],a=t[1],c=t[2],l=t[3],_=t[4],f=t[5],h=t[6],T=t[7],d=t[8],R=t[9],A=t[10],g=t[11],e[0]=o,e[1]=a,e[2]=c,e[3]=l,e[4]=_,e[5]=f,e[6]=h,e[7]=T,e[8]=d,e[9]=R,e[10]=A,e[11]=g,e[12]=o*s+_*i+d*n+t[12],e[13]=a*s+f*i+R*n+t[13],e[14]=c*s+h*i+A*n+t[14],e[15]=l*s+T*i+g*n+t[15]),e}function li(e,t,r){let s=r[0],i=r[1],n=r[2];return e[0]=t[0]*s,e[1]=t[1]*s,e[2]=t[2]*s,e[3]=t[3]*s,e[4]=t[4]*i,e[5]=t[5]*i,e[6]=t[6]*i,e[7]=t[7]*i,e[8]=t[8]*n,e[9]=t[9]*n,e[10]=t[10]*n,e[11]=t[11]*n,e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}function _i(e,t,r,s){let i=s[0],n=s[1],o=s[2],a=Math.sqrt(i*i+n*n+o*o),c,l,_,f,h,T,d,R,A,g,b,M,E,S,x,u,D,B,F,W,X,H,O,Ee;return a<1e-6?null:(a=1/a,i*=a,n*=a,o*=a,l=Math.sin(r),c=Math.cos(r),_=1-c,f=t[0],h=t[1],T=t[2],d=t[3],R=t[4],A=t[5],g=t[6],b=t[7],M=t[8],E=t[9],S=t[10],x=t[11],u=i*i*_+c,D=n*i*_+o*l,B=o*i*_-n*l,F=i*n*_-o*l,W=n*n*_+c,X=o*n*_+i*l,H=i*o*_+n*l,O=n*o*_-i*l,Ee=o*o*_+c,e[0]=f*u+R*D+M*B,e[1]=h*u+A*D+E*B,e[2]=T*u+g*D+S*B,e[3]=d*u+b*D+x*B,e[4]=f*F+R*W+M*X,e[5]=h*F+A*W+E*X,e[6]=T*F+g*W+S*X,e[7]=d*F+b*W+x*X,e[8]=f*H+R*O+M*Ee,e[9]=h*H+A*O+E*Ee,e[10]=T*H+g*O+S*Ee,e[11]=d*H+b*O+x*Ee,t!==e&&(e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e)}function fi(e,t,r){let s=Math.sin(r),i=Math.cos(r),n=t[4],o=t[5],a=t[6],c=t[7],l=t[8],_=t[9],f=t[10],h=t[11];return t!==e&&(e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[4]=n*i+l*s,e[5]=o*i+_*s,e[6]=a*i+f*s,e[7]=c*i+h*s,e[8]=l*i-n*s,e[9]=_*i-o*s,e[10]=f*i-a*s,e[11]=h*i-c*s,e}function hi(e,t,r){let s=Math.sin(r),i=Math.cos(r),n=t[0],o=t[1],a=t[2],c=t[3],l=t[8],_=t[9],f=t[10],h=t[11];return t!==e&&(e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[0]=n*i-l*s,e[1]=o*i-_*s,e[2]=a*i-f*s,e[3]=c*i-h*s,e[8]=n*s+l*i,e[9]=o*s+_*i,e[10]=a*s+f*i,e[11]=c*s+h*i,e}function Ti(e,t,r){let s=Math.sin(r),i=Math.cos(r),n=t[0],o=t[1],a=t[2],c=t[3],l=t[4],_=t[5],f=t[6],h=t[7];return t!==e&&(e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[0]=n*i+l*s,e[1]=o*i+_*s,e[2]=a*i+f*s,e[3]=c*i+h*s,e[4]=l*i-n*s,e[5]=_*i-o*s,e[6]=f*i-a*s,e[7]=h*i-c*s,e}function Ri(e,t){let r=t[0],s=t[1],i=t[2],n=t[3],o=r+r,a=s+s,c=i+i,l=r*o,_=s*o,f=s*a,h=i*o,T=i*a,d=i*c,R=n*o,A=n*a,g=n*c;return e[0]=1-f-d,e[1]=_+g,e[2]=h-A,e[3]=0,e[4]=_-g,e[5]=1-l-d,e[6]=T+R,e[7]=0,e[8]=h+A,e[9]=T-R,e[10]=1-l-f,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function di(e,t,r,s,i,n,o){let a=1/(r-t),c=1/(i-s),l=1/(n-o);return e[0]=n*2*a,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=n*2*c,e[6]=0,e[7]=0,e[8]=(r+t)*a,e[9]=(i+s)*c,e[10]=(o+n)*l,e[11]=-1,e[12]=0,e[13]=0,e[14]=o*n*2*l,e[15]=0,e}function kn(e,t,r,s,i){let n=1/Math.tan(t/2);if(e[0]=n/r,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=n,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=-1,e[12]=0,e[13]=0,e[15]=0,i!=null&&i!==1/0){let o=1/(s-i);e[10]=(i+s)*o,e[14]=2*i*s*o}else e[10]=-1,e[14]=-2*s;return e}var Ai=kn;function Yn(e,t,r,s,i,n,o){let a=1/(t-r),c=1/(s-i),l=1/(n-o);return e[0]=-2*a,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=-2*c,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=2*l,e[11]=0,e[12]=(t+r)*a,e[13]=(i+s)*c,e[14]=(o+n)*l,e[15]=1,e}var pi=Yn;function gi(e,t,r,s){let i,n,o,a,c,l,_,f,h,T,d=t[0],R=t[1],A=t[2],g=s[0],b=s[1],M=s[2],E=r[0],S=r[1],x=r[2];return Math.abs(d-E)<1e-6&&Math.abs(R-S)<1e-6&&Math.abs(A-x)<1e-6?Vn(e):(f=d-E,h=R-S,T=A-x,i=1/Math.sqrt(f*f+h*h+T*T),f*=i,h*=i,T*=i,n=b*T-M*h,o=M*f-g*T,a=g*h-b*f,i=Math.sqrt(n*n+o*o+a*a),i?(i=1/i,n*=i,o*=i,a*=i):(n=0,o=0,a=0),c=h*a-T*o,l=T*n-f*a,_=f*o-h*n,i=Math.sqrt(c*c+l*l+_*_),i?(i=1/i,c*=i,l*=i,_*=i):(c=0,l=0,_=0),e[0]=n,e[1]=c,e[2]=f,e[3]=0,e[4]=o,e[5]=l,e[6]=h,e[7]=0,e[8]=a,e[9]=_,e[10]=T,e[11]=0,e[12]=-(n*d+o*R+a*A),e[13]=-(c*d+l*R+_*A),e[14]=-(f*d+h*R+T*A),e[15]=1,e)}function Kn(){let e=new re(4);return re!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0,e[3]=0),e}function Si(e,t,r){let s=t[0],i=t[1],n=t[2],o=t[3];return e[0]=r[0]*s+r[4]*i+r[8]*n+r[12]*o,e[1]=r[1]*s+r[5]*i+r[9]*n+r[13]*o,e[2]=r[2]*s+r[6]*i+r[10]*n+r[14]*o,e[3]=r[3]*s+r[7]*i+r[11]*n+r[15]*o,e}var Al=function(){let e=Kn();return function(t,r,s,i,n,o){let a,c;for(r||(r=4),s||(s=0),i?c=Math.min(i*r+s,t.length):c=t.length,a=s;a<c;a+=r)e[0]=t[a],e[1]=t[a+1],e[2]=t[a+2],e[3]=t[a+3],n(e,e,o),t[a]=e[0],t[a+1]=e[1],t[a+2]=e[2],t[a+3]=e[3];return t}}();var cr;(function(e){e[e.COL0ROW0=0]="COL0ROW0",e[e.COL0ROW1=1]="COL0ROW1",e[e.COL0ROW2=2]="COL0ROW2",e[e.COL0ROW3=3]="COL0ROW3",e[e.COL1ROW0=4]="COL1ROW0",e[e.COL1ROW1=5]="COL1ROW1",e[e.COL1ROW2=6]="COL1ROW2",e[e.COL1ROW3=7]="COL1ROW3",e[e.COL2ROW0=8]="COL2ROW0",e[e.COL2ROW1=9]="COL2ROW1",e[e.COL2ROW2=10]="COL2ROW2",e[e.COL2ROW3=11]="COL2ROW3",e[e.COL3ROW0=12]="COL3ROW0",e[e.COL3ROW1=13]="COL3ROW1",e[e.COL3ROW2=14]="COL3ROW2",e[e.COL3ROW3=15]="COL3ROW3"})(cr||(cr={}));var $n=45*Math.PI/180,zn=1,or=.1,ar=500,Ln=Object.freeze([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),ce=class extends xt{static get IDENTITY(){return qn()}static get ZERO(){return Qn()}get ELEMENTS(){return 16}get RANK(){return 4}get INDICES(){return cr}constructor(t){super(-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0),arguments.length===1&&Array.isArray(t)?this.copy(t):this.identity()}copy(t){return this[0]=t[0],this[1]=t[1],this[2]=t[2],this[3]=t[3],this[4]=t[4],this[5]=t[5],this[6]=t[6],this[7]=t[7],this[8]=t[8],this[9]=t[9],this[10]=t[10],this[11]=t[11],this[12]=t[12],this[13]=t[13],this[14]=t[14],this[15]=t[15],this.check()}set(t,r,s,i,n,o,a,c,l,_,f,h,T,d,R,A){return this[0]=t,this[1]=r,this[2]=s,this[3]=i,this[4]=n,this[5]=o,this[6]=a,this[7]=c,this[8]=l,this[9]=_,this[10]=f,this[11]=h,this[12]=T,this[13]=d,this[14]=R,this[15]=A,this.check()}setRowMajor(t,r,s,i,n,o,a,c,l,_,f,h,T,d,R,A){return this[0]=t,this[1]=n,this[2]=l,this[3]=T,this[4]=r,this[5]=o,this[6]=_,this[7]=d,this[8]=s,this[9]=a,this[10]=f,this[11]=R,this[12]=i,this[13]=c,this[14]=h,this[15]=A,this.check()}toRowMajor(t){return t[0]=this[0],t[1]=this[4],t[2]=this[8],t[3]=this[12],t[4]=this[1],t[5]=this[5],t[6]=this[9],t[7]=this[13],t[8]=this[2],t[9]=this[6],t[10]=this[10],t[11]=this[14],t[12]=this[3],t[13]=this[7],t[14]=this[11],t[15]=this[15],t}identity(){return this.copy(Ln)}fromObject(t){return this.check()}fromQuaternion(t){return Ri(this,t),this.check()}frustum(t){let{left:r,right:s,bottom:i,top:n,near:o=or,far:a=ar}=t;return a===1/0?Zn(this,r,s,i,n,o):di(this,r,s,i,n,o,a),this.check()}lookAt(t){let{eye:r,center:s=[0,0,0],up:i=[0,1,0]}=t;return gi(this,r,s,i),this.check()}ortho(t){let{left:r,right:s,bottom:i,top:n,near:o=or,far:a=ar}=t;return pi(this,r,s,i,n,o,a),this.check()}orthographic(t){let{fovy:r=$n,aspect:s=zn,focalDistance:i=1,near:n=or,far:o=ar}=t;Ei(r);let a=r/2,c=i*Math.tan(a),l=c*s;return this.ortho({left:-l,right:l,bottom:-c,top:c,near:n,far:o})}perspective(t){let{fovy:r=45*Math.PI/180,aspect:s=1,near:i=.1,far:n=500}=t;return Ei(r),Ai(this,r,s,i,n),this.check()}determinant(){return ai(this)}getScale(t=[-0,-0,-0]){return t[0]=Math.sqrt(this[0]*this[0]+this[1]*this[1]+this[2]*this[2]),t[1]=Math.sqrt(this[4]*this[4]+this[5]*this[5]+this[6]*this[6]),t[2]=Math.sqrt(this[8]*this[8]+this[9]*this[9]+this[10]*this[10]),t}getTranslation(t=[-0,-0,-0]){return t[0]=this[12],t[1]=this[13],t[2]=this[14],t}getRotation(t,r){t=t||[-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0],r=r||[-0,-0,-0];let s=this.getScale(r),i=1/s[0],n=1/s[1],o=1/s[2];return t[0]=this[0]*i,t[1]=this[1]*n,t[2]=this[2]*o,t[3]=0,t[4]=this[4]*i,t[5]=this[5]*n,t[6]=this[6]*o,t[7]=0,t[8]=this[8]*i,t[9]=this[9]*n,t[10]=this[10]*o,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}getRotationMatrix3(t,r){t=t||[-0,-0,-0,-0,-0,-0,-0,-0,-0],r=r||[-0,-0,-0];let s=this.getScale(r),i=1/s[0],n=1/s[1],o=1/s[2];return t[0]=this[0]*i,t[1]=this[1]*n,t[2]=this[2]*o,t[3]=this[4]*i,t[4]=this[5]*n,t[5]=this[6]*o,t[6]=this[8]*i,t[7]=this[9]*n,t[8]=this[10]*o,t}transpose(){return ni(this,this),this.check()}invert(){return oi(this,this),this.check()}multiplyLeft(t){return nr(this,t,this),this.check()}multiplyRight(t){return nr(this,this,t),this.check()}rotateX(t){return fi(this,this,t),this.check()}rotateY(t){return hi(this,this,t),this.check()}rotateZ(t){return Ti(this,this,t),this.check()}rotateXYZ(t){return this.rotateX(t[0]).rotateY(t[1]).rotateZ(t[2])}rotateAxis(t,r){return _i(this,this,t,r),this.check()}scale(t){return li(this,this,Array.isArray(t)?t:[t,t,t]),this.check()}translate(t){return ci(this,this,t),this.check()}transform(t,r){return t.length===4?(r=Si(r||[-0,-0,-0,-0],t,this),gt(r,4),r):this.transformAsPoint(t,r)}transformAsPoint(t,r){let{length:s}=t,i;switch(s){case 2:i=Et(r||[-0,-0],t,this);break;case 3:i=ii(r||[-0,-0,-0],t,this);break;default:throw new Error("Illegal vector")}return gt(i,t.length),i}transformAsVector(t,r){let s;switch(t.length){case 2:s=Mt(r||[-0,-0],t,this);break;case 3:s=si(r||[-0,-0,-0],t,this);break;default:throw new Error("Illegal vector")}return gt(s,t.length),s}transformPoint(t,r){return this.transformAsPoint(t,r)}transformVector(t,r){return this.transformAsPoint(t,r)}transformDirection(t,r){return this.transformAsVector(t,r)}makeRotationX(t){return this.identity().rotateX(t)}makeTranslation(t,r,s){return this.identity().translate([t,r,s])}},bt,Ct;function Qn(){return bt||(bt=new ce([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]),Object.freeze(bt)),bt}function qn(){return Ct||(Ct=new ce,Object.freeze(Ct)),Ct}function Ei(e){if(e>Math.PI*2)throw Error("expected radians")}function Zn(e,t,r,s,i,n){let o=2*n/(r-t),a=2*n/(i-s),c=(r+t)/(r-t),l=(i+s)/(i-s),_=-1,f=-1,h=-2*n;return e[0]=o,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=a,e[6]=0,e[7]=0,e[8]=c,e[9]=l,e[10]=_,e[11]=f,e[12]=0,e[13]=0,e[14]=h,e[15]=0,e}var Ot="deck-gl-google-maps-container",lr=85.05113;function It(e,t,r,s){if(r){if(r.userData._googleMap===e)return r;Pt(r)}let i={click:null,rightclick:null,dblclick:null,mousemove:null,mouseout:null},n=new Nt.Deck({...s,useDevicePixels:s.useDevicePixels??!0,style:s.interleaved?null:{pointerEvents:"none"},parent:jn(t,s.style),views:new Nt.MapView({repeat:!0}),initialViewState:{longitude:0,latitude:0,zoom:1},controller:!1});for(let o in i)i[o]=e.addListener(o,a=>Gn(n,o,a));return n.userData._googleMap=e,n.userData._eventListeners=i,n}function jn(e,t){let r=document.createElement("div");r.style.position="absolute",Object.assign(r.style,t);let i=e.getMap().getDiv().querySelector(`#${Ot}`);return i?i.appendChild(r):"getPanes"in e&&e.getPanes()?.overlayLayer.appendChild(r),r}function Pt(e){let{_eventListeners:t}=e.userData;for(let r in t)t[r]&&t[r].remove();e.finalize()}function Mi(e,t){let{width:r,height:s}=bi(e),i=t.getProjection(),n=e.getBounds();if(!n)return{width:r,height:s,left:0,top:0};let o=n.getNorthEast(),a=n.getSouthWest(),c=i.fromLatLngToDivPixel(o),l=i.fromLatLngToDivPixel(a),_=_r(i,r/2,s/2),f=new google.maps.LatLng(0,_[0]),h=i.fromLatLngToContainerPixel(f),T=i.fromLatLngToDivPixel(f);if(!c||!l||!T||!h)return{width:r,height:s,left:0,top:0};let d=Math.round(T.x-h.x),R=T.y-h.y,A=_r(i,r/2,0),g=_r(i,r/2,s),b=_[1],M=_[0];if(Math.abs(b)>lr){b=b>0?lr:-lr;let B=new google.maps.LatLng(b,M),F=i.fromLatLngToContainerPixel(B);R+=F.y-s/2}R=Math.round(R);let S=180*new ae(A).sub(g).verticalAngle()/Math.PI;S<0&&(S+=360);let x=e.getHeading()||0,u=e.getZoom()-1,D;if(S===0)D=s?(l.y-c.y)/s:1;else if(S===x){let B=new ae([c.x,c.y]).sub([l.x,l.y]).len(),F=new ae([r,-s]).len();D=F?B/F:1}return u+=Math.log2(D||1),{width:r,height:s,left:d,top:R,zoom:u,bearing:S,pitch:e.getTilt(),latitude:b,longitude:M}}function xi(e,t){let{width:r,height:s}=bi(e),{center:i,heading:n,tilt:o,zoom:a}=t.getCameraParams(),c=25,l=s?r/s:1,_=.75,f=3e14,h=new ce().perspective({fovy:c*Math.PI/180,aspect:l,near:_,far:f}),T=.5*h[5];return{width:r,height:s,viewState:{altitude:T,bearing:n,latitude:i.lat(),longitude:i.lng(),pitch:o,projectionMatrix:h,repeat:!0,zoom:a-1}}}function bi(e){let t=e.getDiv().firstChild;return{width:t.offsetWidth,height:t.offsetHeight}}function _r(e,t,r){let s=new google.maps.Point(t,r),i=e.fromContainerPixelToLatLng(s);return[i.lng(),i.lat()]}function Jn(e,t){if(e.pixel)return e.pixel;let r=t.getViewports()[0].project([e.latLng.lng(),e.latLng.lat()]);return{x:r[0],y:r[1]}}function Gn(e,t,r){if(!e.isInitialized)return;let s={type:t,offsetCenter:Jn(r,e),srcEvent:r};switch(t){case"click":case"rightclick":s.type="click",s.tapCount=1,e._onPointerDown(s),e._onEvent(s);break;case"dblclick":s.type="click",s.tapCount=2,e._onEvent(s);break;case"mousemove":s.type="pointermove",e._onPointerMove(s);break;case"mouseout":s.type="pointerleave",e._onPointerMove(s);break;default:return}}var eo=()=>!1,to={depthMask:!0,depthTest:!0,blend:!0,blendFunc:[w.SRC_ALPHA,w.ONE_MINUS_SRC_ALPHA,w.ONE,w.ONE_MINUS_SRC_ALPHA],blendEquation:w.FUNC_ADD};function ut(){}var Ci={interleaved:!0},ue=class{constructor(t){this.props={};this._map=null;this._deck=null;this._overlay=null;this._positioningOverlay=null;this.setProps({...Ci,...t})}setMap(t){if(t===this._map)return;let{VECTOR:r,UNINITIALIZED:s}=google.maps.RenderingType;this._map&&(!t&&this._map.getRenderingType()===r&&this.props.interleaved&&this._overlay.requestRedraw(),this._overlay?.setMap(null),this._positioningOverlay?.setMap(null),this._map=null),t&&(this._map=t,t.getRenderingType()!==s?this._createOverlay(t):t.addListener("renderingtype_changed",()=>{this._createOverlay(t)}))}setProps(t){if(Object.assign(this.props,t),this._deck){let r=this._deck.getCanvas();if(t.style&&r?.parentElement){let s=r.parentElement.style;Object.assign(s,t.style),t.style=null}this._deck.setProps(t)}}pickObject(t){return this._deck&&this._deck.pickObject(t)}pickMultipleObjects(t){return this._deck&&this._deck.pickMultipleObjects(t)}pickObjects(t){return this._deck&&this._deck.pickObjects(t)}finalize(){this.setMap(null),this._deck&&(Pt(this._deck),this._deck=null)}_createOverlay(t){let{VECTOR:r,UNINITIALIZED:s}=google.maps.RenderingType,i=t.getRenderingType();if(i===s)return;i===r&&google.maps.WebGLOverlayView?this._createOverlayVector(t):this._createOverlayRaster(t)}_createOverlayVector(t){let r=this.props.interleaved??Ci.interleaved,s=new google.maps.OverlayView;s.onAdd=this._onAddVectorOverlay.bind(this),s.draw=this._updateContainerSize.bind(this),s.onRemove=this._onRemove.bind(this),this._positioningOverlay=s,this._positioningOverlay.setMap(t);let i=new google.maps.WebGLOverlayView;i.onAdd=ut,i.onContextRestored=r?this._onContextRestored.bind(this):ut,i.onDraw=this._onDrawVector.bind(this),i.onContextLost=r?this._onContextLost.bind(this):ut,i.onRemove=r?this._onRemove.bind(this):ut,this._overlay=i,this._overlay.setMap(t)}_createOverlayRaster(t){let r=new google.maps.OverlayView;r.onAdd=this._onAdd.bind(this),r.draw=this._onDrawRaster.bind(this),r.onRemove=this._onRemove.bind(this),this._overlay=r,this._overlay.setMap(t)}_onAdd(){this._deck=It(this._map,this._overlay,this._deck,this.props)}_onAddVectorOverlay(){let t=this._positioningOverlay,r=t.getPanes();if(r){let s=document.createElement("div");s.id=Ot,s.style.position="absolute",r.overlayLayer.appendChild(s)}this._deck=It(this._map,t,this._deck,this.props)}_updateContainerSize(){if(!this._map)return;let t=this._map.getDiv().querySelector(`#${Ot}`);if(!t)return;let r=this._map.getDiv().firstChild;if(!r)return;let s=r.offsetWidth,i=r.offsetHeight;t.style.width=`${s}px`,t.style.height=`${i}px`,t.style.left=`${-s/2}px`,t.style.top=`${-i/2}px`}_onContextRestored({gl:t}){if(!this._map||!this._overlay)return;let r=()=>{this._overlay&&this._overlay.requestRedraw()},s=It(this._map,this._overlay,this._deck,{gl:t,_customRender:r,...this.props});this._deck=s;let i=s.animationLoop;i._renderFrame=()=>{let n=t.getParameter(t.ARRAY_BUFFER_BINDING);s.device.withParametersWebGL({},()=>{i.props.onRender(i.animationProps)}),t.bindBuffer(t.ARRAY_BUFFER,n)}}_onContextLost(){this._deck&&(Pt(this._deck),this._deck=null)}_onRemove(){this._deck?.setProps({layerFilter:eo})}_onDrawRaster(){if(!this._deck||!this._map)return;let t=this._deck,{width:r,height:s,left:i,top:n,...o}=Mi(this._map,this._overlay),c=t.getCanvas()?.parentElement||t.props.parent;if(c){let _=c.style;_.left=`${i}px`,_.top=`${n}px`}let l=1e4;t.setProps({width:r,height:s,viewState:{altitude:l,...o}}),t.redraw()}_onDrawVector({gl:t,transformer:r}){if(!this._deck||!this._map)return;let s=this._deck,{interleaved:i}=this.props;if(s.setProps({...xi(this._map,r),...i&&{width:null,height:null}}),i&&s.isInitialized){let n=s.device;if(n instanceof te){let o=n.getParametersWebGL(w.FRAMEBUFFER_BINDING);s.setProps({_framebuffer:o})}s.needsRedraw({clearRedrawFlags:!0}),n instanceof te&&(n.setParametersWebGL({viewport:[0,0,t.canvas.width,t.canvas.height],scissor:[0,0,t.canvas.width,t.canvas.height],stencilFunc:[t.ALWAYS,0,255,t.ALWAYS,0,255]}),n.withParametersWebGL(to,()=>{s._drawLayers("google-vector",{clearCanvas:!1})}))}else i||s.redraw()}};return Di(Fe);})();
9
9
  return __exports__;
10
10
  });