@mateuszjs/magic-render 0.1.0-next.18 → 0.1.0-next.19
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/lib/index.mjs +1 -1
- package/lib/index.mjs.map +1 -1
- package/lib/types/src/WebGPU/getTexture/createCheckedImageData.d.ts.map +1 -1
- package/lib/types/src/WebGPU/getTexture/index.d.ts.map +1 -1
- package/lib/types/src/WebGPU/pointer.d.ts.map +1 -1
- package/lib/types/src/WebGPU/programs/drawMSDF/getProgram.d.ts +1 -1
- package/lib/types/src/WebGPU/programs/drawMSDF/getProgram.d.ts.map +1 -1
- package/lib/types/src/WebGPU/programs/drawShape/getProgram.d.ts +2 -0
- package/lib/types/src/WebGPU/programs/drawShape/getProgram.d.ts.map +1 -0
- package/lib/types/src/WebGPU/programs/drawTexture/getProgram.d.ts +1 -1
- package/lib/types/src/WebGPU/programs/drawTexture/getProgram.d.ts.map +1 -1
- package/lib/types/src/WebGPU/programs/drawTriangle/getProgram.d.ts +1 -1
- package/lib/types/src/WebGPU/programs/drawTriangle/getProgram.d.ts.map +1 -1
- package/lib/types/src/WebGPU/programs/initPrograms.d.ts +5 -1
- package/lib/types/src/WebGPU/programs/initPrograms.d.ts.map +1 -1
- package/lib/types/src/WebGPU/programs/pickTexture/getProgram.d.ts +1 -1
- package/lib/types/src/WebGPU/programs/pickTexture/getProgram.d.ts.map +1 -1
- package/lib/types/src/WebGPU/programs/pickTriangle/getProgram.d.ts +1 -1
- package/lib/types/src/WebGPU/programs/pickTriangle/getProgram.d.ts.map +1 -1
- package/lib/types/src/WebGPU/textureCache.d.ts +3 -0
- package/lib/types/src/WebGPU/textureCache.d.ts.map +1 -0
- package/lib/types/src/getMultisampleTexture.d.ts.map +1 -1
- package/lib/types/src/index.d.ts +6 -1
- package/lib/types/src/index.d.ts.map +1 -1
- package/lib/types/src/run.d.ts +2 -3
- package/lib/types/src/run.d.ts.map +1 -1
- package/lib/types/src/shapes/const.d.ts +5 -0
- package/lib/types/src/shapes/const.d.ts.map +1 -0
- package/lib/types/src/shapes/createShape.d.ts +3 -0
- package/lib/types/src/shapes/createShape.d.ts.map +1 -0
- package/lib/types/src/shapes/parseColor.d.ts +2 -0
- package/lib/types/src/shapes/parseColor.d.ts.map +1 -0
- package/lib/types/src/shapes/parseEllipse.d.ts +3 -0
- package/lib/types/src/shapes/parseEllipse.d.ts.map +1 -0
- package/lib/types/src/shapes/parsePathData.d.ts +3 -0
- package/lib/types/src/shapes/parsePathData.d.ts.map +1 -0
- package/lib/types/src/shapes/parseRect.d.ts +3 -0
- package/lib/types/src/shapes/parseRect.d.ts.map +1 -0
- package/lib/types/src/shapes/types.d.ts +4 -0
- package/lib/types/src/shapes/types.d.ts.map +1 -0
- package/lib/types/src/textures.d.ts +5 -1
- package/lib/types/src/textures.d.ts.map +1 -1
- package/package.json +7 -3
- package/lib/types/src/utils/getSvgSource.d.ts +0 -2
- package/lib/types/src/utils/getSvgSource.d.ts.map +0 -1
package/lib/index.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var A,e,t,g,i={214:(A,e,t)=>{function g(A,e,t,g){A.width=Math.max(1,Math.min(e,g.limits.maxTextureDimension2D)),A.height=Math.max(1,Math.min(t,g.limits.maxTextureDimension2D))}function i(A,e,t){const i=new ResizeObserver((A=>{for(const i of A)g(i.target,i.devicePixelContentBoxSize[0].inlineSize||i.contentBoxSize[0].inlineSize*devicePixelRatio,i.devicePixelContentBoxSize[0].blockSize||i.contentBoxSize[0].blockSize*devicePixelRatio,e),t()}));try{i.observe(A,{box:"device-pixel-content-box"})}catch(e){i.observe(A,{box:"content-box"})}g(A,A.clientWidth,A.clientHeight,e)}t.d(e,{A:()=>i})},1911:(A,e,t)=>{t.d(e,{A:()=>i});var g=function(A,e,t,g){return new(t||(t=Promise))((function(i,I){function Q(A){try{o(g.next(A))}catch(A){I(A)}}function C(A){try{o(g.throw(A))}catch(A){I(A)}}function o(A){var e;A.done?i(A.value):(e=A.value,e instanceof t?e:new t((function(A){A(e)}))).then(Q,C)}o((g=g.apply(A,e||[])).next())}))};function i(){return g(this,void 0,void 0,(function*(){if(!navigator.gpu)throw Error("this browser does not support WebGPU");const A=yield navigator.gpu.requestAdapter();if(!A)throw Error("this browser supports webgpu but it appears disabled");const e=yield A.requestDevice();return e.lost.then((A=>{console.error(`WebGPU device was lost: ${A.message}`),A.reason})),e}))}},2872:(A,e,t)=>{t.a(A,(async(A,g)=>{try{t.d(e,{A:()=>r});var i=t(2842),I=t(9200),Q=t(3979),C=A([I,Q]);[I,Q]=C.then?(await C)():C;const o=1;class r{constructor(A){this.isPreviousPickDone=!0,this.pickBuffer=A.createBuffer({size:4*o,usage:GPUBufferUsage.MAP_READ|GPUBufferUsage.COPY_DST}),this.pickTexture=A.createTexture({size:[1,1],format:"r32uint",usage:GPUTextureUsage.COPY_SRC|GPUTextureUsage.RENDER_ATTACHMENT}),this.pickDepthTexture=A.createTexture({size:[1,1],format:"depth24plus",usage:GPUTextureUsage.RENDER_ATTACHMENT})}startPicking(A){const e={label:"our render to canvas renderPass",colorAttachments:[{view:this.pickTexture.createView(),loadOp:"clear",clearValue:[0,0,0,1],storeOp:"store"}]},t=A.beginRenderPass(e);return t.setViewport(0,0,1,1,0,1),t.setScissorRect(0,0,1,1),{pass:t,end:()=>{t.end(),this.isPreviousPickDone&&A.copyTextureToBuffer({texture:this.pickTexture,origin:{x:0,y:0}},{buffer:this.pickBuffer},{width:o})}}}createMatrix(A,e){const t=-(I.Wn.x/A.width*2-1),g=I.Wn.y/A.height*2-1;return[i.A.scaling([A.width,A.height,0]),i.A.translation([t,g,0]),e].reduce(((A,e)=>i.A.multiply(A,e)),i.A.translation([-1,1,0]))}asyncPick(){return A=this,e=void 0,g=function*(){if(this.isPreviousPickDone){this.isPreviousPickDone=!1;try{yield this.pickBuffer.mapAsync(GPUMapMode.READ,0,4*o);const[A]=new Uint32Array(this.pickBuffer.getMappedRange(0,4*o));(0,Q.OI)(A);let e=0;for(;e<I.Wn.afterPickEventsQueue.length;){const{requireNewPick:A,cb:t}=I.Wn.afterPickEventsQueue[e];if(A&&e>0)break;t(),e++}I.Wn.afterPickEventsQueue.splice(0,e),this.pickBuffer.unmap()}catch(A){}this.isPreviousPickDone=!0}},new((t=void 0)||(t=Promise))((function(i,I){function Q(A){try{o(g.next(A))}catch(A){I(A)}}function C(A){try{o(g.throw(A))}catch(A){I(A)}}function o(A){var e;A.done?i(A.value):(e=A.value,e instanceof t?e:new t((function(A){A(e)}))).then(Q,C)}o((g=g.apply(A,e||[])).next())}));var A,e,t,g}}g()}catch(A){g(A)}}))},9200:(A,e,t)=>{t.a(A,(async(A,g)=>{try{t.d(e,{Ay:()=>E,UI:()=>n,Wn:()=>s});var i=t(3979),I=t(6253),Q=A([i]);i=(Q.then?(await Q)():Q)[0];const o=-1;var C;!function(A){A[A.Pan=0]="Pan",A[A.Zoom=1]="Zoom",A[A.None=2]="None"}(C||(C={}));let r=C.None,B=null;const n={x:0,y:0,zoom:1},s={x:0,y:0,afterPickEventsQueue:[]};function E(A,e,t){function g(){return[(s.x-n.x)/n.zoom,(A.height-s.y-n.y)/n.zoom]}function Q(e){const t=A.getBoundingClientRect(),g=A.width/t.width;s.x=(e.clientX-t.left)*g,s.y=(e.clientY-t.top)*g}let E;s.x=o,s.y=o,A.addEventListener("mouseleave",(()=>{t(),A.style.cursor="default";const e=()=>{s.x=o,s.y=o,(0,i.c2)()};s.afterPickEventsQueue.length>0?s.afterPickEventsQueue.push({requireNewPick:!1,cb:e}):e()})),A.addEventListener("mousemove",(A=>{if(B)return Q(A),n.x=s.x-B.x,void(n.y=-(s.y-B.y));t();const e=()=>{Q(A),(0,i.wU)(...g())};s.afterPickEventsQueue.length>0?s.afterPickEventsQueue.push({requireNewPick:!1,cb:e}):e()})),A.addEventListener("mousedown",(e=>{if(r===C.Pan)return Q(e),B={x:s.x-n.x,y:s.y+n.y},void(A.style.cursor="grabbing");B=null,t(),Q(e),s.afterPickEventsQueue.push({requireNewPick:!0,cb:i.Dk.bind(null,...g())})})),A.addEventListener("mouseup",(()=>{r=C.None,B=null,A.style.cursor="default",t(),s.afterPickEventsQueue.length>0?s.afterPickEventsQueue.push({requireNewPick:!1,cb:i._R}):(0,i._R)()})),A.addEventListener("wheel",(t=>{if(t.preventDefault(),r===C.Zoom){const g=n.zoom;n.zoom=(0,I.A)(n.zoom-.005*t.deltaY,.1,20),e();const i=n.zoom/g;n.x=s.x-(s.x-n.x)*i;const Q=A.height-s.y;n.y=Q-(Q-n.y)*i}else n.x-=t.deltaX,n.y+=t.deltaY})),document.body.addEventListener("keydown",(e=>{"Space"===e.code?(e.preventDefault(),r!==C.Pan&&(A.style.cursor="grab",r=C.Pan)):"Alt"===e.key&&(e.preventDefault(),r=C.Zoom)})),document.body.addEventListener("keyup",(e=>{"Space"!==e.code&&"Alt"!==e.key||(r=C.None),"Space"===e.code&&null===B&&(A.style.cursor="default")})),A.addEventListener("touchstart",(A=>{2===A.touches.length&&(A.preventDefault(),E=A.touches[0].clientY)})),A.addEventListener("touchmove",(A=>{if(2===A.touches.length){A.preventDefault();const t=E-A.touches[0].clientY;E=A.touches[0].clientY,n.zoom=(0,I.A)(n.zoom-.01*t,.1,20),e()}}))}g()}catch(a){g(a)}}))},5695:(A,e,t)=>{t.d(e,{Ay:()=>N,hk:()=>m,_J:()=>F,D4:()=>w,Fh:()=>U,Q3:()=>k});const g="const PI = 3.14159265358979323846;\nconst EPSILON = 1.1920929e-7;\n\nstruct Vertex {\n @location(0) p0: vec4f,\n @location(1) p1: vec4f,\n @location(2) p2: vec4f,\n @location(3) color: vec4f,\n @location(4) radius_list: vec3f,\n};\n\nstruct Uniforms {\n worldViewProjection: mat4x4f,\n};\n\nstruct VertexOutput {\n @builtin(position) position: vec4f,\n @location(0) @interpolate(flat) p0: vec4f,\n @location(1) @interpolate(flat) p1: vec4f,\n @location(2) @interpolate(flat) p2: vec4f,\n @location(3) @interpolate(flat) color: vec4f,\n @location(4) pixel: vec2f,\n @location(5) @interpolate(flat) radius_list: vec3f,\n @location(6) @interpolate(flat) threshold_list: vec3f,\n};\n\n@group(0) @binding(0) var<uniform> u: Uniforms;\n\n@vertex fn vs(\n vert: Vertex,\n @builtin(vertex_index) vertexIndex : u32\n) -> VertexOutput {\n let normVertexIndex = vertexIndex % 3;\n\n var out: VertexOutput;\n if (normVertexIndex == 0) {\n out.position = vec4f(vert.p0.xy, 0, 1);\n } else if (normVertexIndex == 1) {\n out.position = vec4f(vert.p1.xy, 0, 1);\n } else {\n out.position = vec4f(vert.p2.xy, 0, 1);\n }\n\n out.pixel = vec2f(out.position.x, out.position.y);\n\n out.position = u.worldViewProjection * out.position;\n\n out.p0 = vert.p0;\n out.p1 = vert.p1;\n out.p2 = vert.p2;\n out.color = vert.color;\n out.radius_list = vert.radius_list;\n\n let p0_circle_dist = distance(vert.p0.xy, vert.p0.zw);\n let p1_circle_dist = distance(vert.p1.xy, vert.p1.zw);\n let p2_circle_dist = distance(vert.p2.xy, vert.p2.zw);\n\n out.threshold_list = vec3f(\n sqrt(pow(p0_circle_dist, 2) - pow(vert.radius_list.x, 2)),\n sqrt(pow(p1_circle_dist, 2) - pow(vert.radius_list.y, 2)),\n sqrt(pow(p2_circle_dist, 2) - pow(vert.radius_list.z, 2)),\n ); // behind this value is roudned corner\n\n return out;\n}\n\n@fragment fn fs(in: VertexOutput) -> @location(0) vec4f {\n let p0_circle_dist = distance(in.p0.xy, in.pixel) - in.threshold_list.x;\n let p1_circle_dist = distance(in.p1.xy, in.pixel) - in.threshold_list.y;\n let p2_circle_dist = distance(in.p2.xy, in.pixel) - in.threshold_list.z;\n \n let min_circle_dist = min(\n p0_circle_dist,\n min(p1_circle_dist, p2_circle_dist)\n );\n\n var p: vec2f; // closest corner\n var p_circle: vec2f; // closest corner's circle position\n var radius: f32;\n var threshold: f32;\n\n if (abs(min_circle_dist - p0_circle_dist) <= EPSILON) {\n p = in.p0.xy;\n p_circle = in.p0.zw;\n radius = in.radius_list.x;\n threshold = in.threshold_list.x;\n } else if (abs(min_circle_dist - p1_circle_dist) <= EPSILON) {\n p = in.p1.xy;\n p_circle = in.p1.zw;\n radius = in.radius_list.y;\n threshold = in.threshold_list.y;\n } else {\n p = in.p2.xy;\n p_circle = in.p2.zw;\n radius = in.radius_list.z;\n threshold = in.threshold_list.z;\n }\n\n let dist = distance(p, in.pixel);\n\n if (dist < threshold) {\n let circle_distance = distance(p_circle, in.pixel);\n return in.color * (1.0 - smoothstep(radius - 0.5, radius + 0.5, circle_distance));\n } else {\n return in.color;\n }\n}\n",i=19,I="struct Uniforms {\n matrix: mat4x4f,\n zoom: f32,\n};\n\nstruct Vertex {\n @location(0) t: f32,\n @location(1) dir: f32,\n @location(2) segmentIndex: u32,\n};\n\n@group(0) @binding(0) var<uniform> u: Uniforms;\n\n@group(0) @binding(1) var<storage> points: array<vec2f>;\n\nstruct VSOutput {\n @builtin(position) position: vec4f,\n @location(0) color: vec4f,\n};\n\n@vertex fn vs(vert: Vertex) -> VSOutput {\n var vsOut: VSOutput;\n \n let p1 = points[vert.segmentIndex * 4 + 0];\n let p2 = points[vert.segmentIndex * 4 + 1];\n let p3 = points[vert.segmentIndex * 4 + 2];\n let p4 = points[vert.segmentIndex * 4 + 3];\n\n let t2 = vert.t * vert.t;\n let one_minus_t = 1.0 - vert.t;\n let one_minus_t2 = one_minus_t * one_minus_t;\n let pos = p1 * one_minus_t2 * one_minus_t + p2 * 3.0 * vert.t * one_minus_t2 + p3 * 3.0 * t2 * one_minus_t + p4 * t2 * vert.t;\n\n let angle = one_minus_t2 * (p2 - p1) + 2.0 * vert.t * one_minus_t * (p3 - p2) + t2 * (p4 - p3);\n let angleNorm = normalize(angle) * 5 / u.zoom;\n let transPos = vec2(pos.x - angleNorm.y * vert.dir, pos.y + angleNorm.x * vert.dir);\n let clipSpace = (u.matrix * vec4f(transPos, 1, 1));\n vsOut.position = clipSpace;\n vsOut.color = vec4f(f32(vert.segmentIndex) % 3, (f32(vert.segmentIndex) + 1) % 3, (f32(vert.segmentIndex) + 2) % 3, 1);\n\n return vsOut;\n}\n\n@fragment fn fs(vsOut: VSOutput) -> @location(0) vec4f {\n return vsOut.color;\n}\n",Q="struct Uniforms {\n matrix: mat4x4f,\n};\n\nstruct Vertex {\n @location(0) position: vec4f,\n @location(1) texcoord: vec2f,\n};\n\nstruct VSOutput {\n @builtin(position) position: vec4f,\n @location(0) texcoord: vec2f,\n};\n\n@group(0) @binding(0) var<uniform> uni: Uniforms;\n\n@vertex fn vs(vert: Vertex) -> VSOutput {\n var vsOut: VSOutput;\n vsOut.position = uni.matrix * vert.position;\n vsOut.texcoord = vert.texcoord;\n return vsOut;\n}\n\n@group(0) @binding(1) var ourSampler: sampler;\n@group(0) @binding(2) var ourTexture: texture_2d<f32>;\n\n@fragment fn fs(vsOut: VSOutput) -> @location(0) vec4f {\n return textureSample(ourTexture, ourSampler, vsOut.texcoord);\n}\n",C="struct Uniforms {\n matrix: mat4x4f,\n};\n\nstruct Vertex {\n @location(0) position: vec4f,\n};\n\nstruct VSOutput {\n @builtin(position) position: vec4f,\n @location(0) color: vec4f,\n};\n\n@group(0) @binding(0) var<uniform> uni: Uniforms;\n\n@vertex fn vs(\n vert: Vertex,\n @builtin(vertex_index) vertexIndex : u32,\n // @builtin(instance_index) instanceIndex: u32\n ) -> VSOutput {\n var vsOut: VSOutput;\n vsOut.position = uni.matrix * vert.position;\n vsOut.color = vec4f(f32(vertexIndex) % 3, (f32(vertexIndex) + 1) % 3, (f32(vertexIndex) + 2) % 3, 1);\n return vsOut;\n}\n\n\n@fragment fn fs(vsOut: VSOutput) -> @location(0) vec4f {\n return vsOut.color;\n}\n",o="struct Uniforms {\n normalMatrix: mat3x3f,\n worldViewProjection: mat4x4f,\n lightColor: vec4f,\n lightDirection: vec3f,\n};\n\nstruct Vertex {\n @location(0) position: vec4f,\n @location(1) normal: vec3f,\n};\n\nstruct VSOutput {\n @builtin(position) position: vec4f,\n @location(0) color: vec4f,\n @location(1) normal: vec3f,\n};\n\n@group(0) @binding(0) var<uniform> uni: Uniforms;\n\n@vertex fn vs(\n vert: Vertex,\n @builtin(vertex_index) vertexIndex : u32,\n // @builtin(instance_index) instanceIndex: u32\n ) -> VSOutput {\n var vsOut: VSOutput;\n vsOut.position = uni.worldViewProjection * vert.position;\n vsOut.normal = uni.normalMatrix * vert.normal;\n vsOut.color = vec4f(f32(vertexIndex) % 3, (f32(vertexIndex) + 1) % 3, (f32(vertexIndex) + 2) % 3, 1);\n\n return vsOut;\n}\n\n\n@fragment fn fs(vsOut: VSOutput) -> @location(0) vec4f {\n // Because vsOut.normal is an inter-stage variable \n // it's interpolated so it will not be a unit vector.\n // Normalizing it will make it a unit vector again\n let normal = normalize(vsOut.normal);\n \n // Compute the light by taking the dot product\n // of the normal to the light's reverse direction\n let light = dot(normal, -uni.lightDirection);\n \n // Lets multiply just the color portion (not the alpha)\n // by the light\n let color = vec3f(0.23) + uni.lightColor.rgb * light;\n // let color = vsOut.color.rgb * 0.5 + uni.lightColor.rgb * light;\n return vec4f(color, vsOut.color.a);\n}\n",r="struct Params {\n filterDim : i32,\n blockDim : u32,\n}\n\n@group(0) @binding(0) var samp : sampler;\n@group(0) @binding(1) var<uniform> params : Params;\n@group(1) @binding(1) var inputTex : texture_2d<f32>;\n@group(1) @binding(2) var outputTex : texture_storage_2d<rgba8unorm, write>;\n\nstruct Flip {\n value : u32,\n}\n@group(1) @binding(3) var<uniform> flip : Flip;\n\n// This shader blurs the input texture in one direction, depending on whether\n// |flip.value| is 0 or 1.\n// It does so by running (128 / 4) threads per workgroup to load 128\n// texels into 4 rows of shared memory. Each thread loads a\n// 4 x 4 block of texels to take advantage of the texture sampling\n// hardware.\n// Then, each thread computes the blur result by averaging the adjacent texel values\n// in shared memory.\n// Because we're operating on a subset of the texture, we cannot compute all of the\n// results since not all of the neighbors are available in shared memory.\n// Specifically, with 128 x 128 tiles, we can only compute and write out\n// square blocks of size 128 - (filterSize - 1). We compute the number of blocks\n// needed in Javascript and dispatch that amount.\n\n// 128/4 = 32 -> number of threads per working group\n// does it in 4x4 block of texels(takes advantage of texture sampling hardware)\n// with this beign said, we don't have all the neighbours, only this block\n// That's why we can only compute & write out blocks of size 128 - (filterSize - 1)\nvar<workgroup> tile : array<array<vec3<f32>, 128>, 4>;\n\n@compute @workgroup_size(32, 1, 1)\nfn main(\n @builtin(workgroup_id) WorkGroupID : vec3<u32>,\n @builtin(local_invocation_id) LocalInvocationID : vec3<u32>\n) {\n let filterOffset = (params.filterDim - 1) / 2;\n let dims = vec2<i32>(textureDimensions(inputTex, 0));\n let baseIndex = vec2<i32>(WorkGroupID.xy * vec2(params.blockDim, 4) + // it's just the index of the first texel in a group\n LocalInvocationID.xy * vec2(4, 1)) // <0, 128>\n - vec2(filterOffset, 0);\n // baseIndex = xy of first texel of group\n for (var r = 0; r < 4; r++) {\n for (var c = 0; c < 4; c++) {\n var loadIndex = baseIndex + vec2(c, r);\n if (flip.value != 0) {\n loadIndex = loadIndex.yx;\n }\n\n tile[r][4 * LocalInvocationID.x + u32(c)] = textureSampleLevel(\n inputTex,\n samp,\n (vec2<f32>(loadIndex) + vec2<f32>(0.25, 0.25)) / vec2<f32>(dims),\n 0.0\n ).rgb;\n }\n }\n\n workgroupBarrier();\n // helps coordinate access to read-write memory\n // so all threads(32) will wait to hit this barrer, and then start form here together\n\n for (var r = 0; r < 4; r++) {\n for (var c = 0; c < 4; c++) {\n var writeIndex = baseIndex + vec2(c, r);\n if (flip.value != 0) {\n writeIndex = writeIndex.yx;\n }\n\n let center = i32(4 * LocalInvocationID.x) + c;\n if (center >= filterOffset &&\n center < 128 - filterOffset &&\n all(writeIndex < dims)) {\n var acc = vec3(0.0, 0.0, 0.0);\n for (var f = 0; f < params.filterDim; f++) {\n var i = center + f - filterOffset;\n acc = acc + (1.0 / f32(params.filterDim)) * tile[r][i];\n }\n textureStore(outputTex, writeIndex, vec4(acc, 1.0));\n }\n }\n }\n}\n",B=128,n=[4,4],s="struct Vertex {\n @location(0) position: vec4f,\n @location(1) uv: vec2f,\n};\n\nstruct Uniforms {\n worldViewProjection: mat4x4f,\n};\n\nstruct VertexOutput {\n @builtin(position) position: vec4f,\n @location(0) texCoord: vec2f,\n};\n\n@group(0) @binding(0) var<uniform> u: Uniforms;\n@group(0) @binding(1) var ourSampler: sampler;\n@group(0) @binding(2) var ourTexture: texture_2d<f32>;\n\n@vertex fn vs(vert: Vertex) -> VertexOutput {\n var out: VertexOutput;\n // maybe we should pass offsets from the position instead of... position?\n out.position = u.worldViewProjection * vert.position;\n out.texCoord = vert.uv;\n \n return out;\n}\n\n@fragment fn fs(in: VertexOutput) -> @location(0) vec4f {\n return textureSample(ourTexture, ourSampler, in.texCoord);\n}\n",E=6,a="struct Vertex {\n @location(0) position: vec4f,\n @location(1) uv: vec2f,\n @location(2) id: f32,\n};\n\nstruct Uniforms {\n worldViewProjection: mat4x4f\n};\n\nstruct VertexOutput {\n @builtin(position) position: vec4f,\n @location(0) texCoord: vec2f,\n @location(1) @interpolate(flat) id: f32\n};\n\n@group(0) @binding(0) var<uniform> u: Uniforms;\n@group(0) @binding(1) var ourSampler: sampler;\n@group(0) @binding(2) var ourTexture: texture_2d<f32>;\n\n@vertex fn vs(vert: Vertex) -> VertexOutput {\n var out: VertexOutput;\n // maybe we should pass offsets from the position instead of... position?\n out.position = u.worldViewProjection * vert.position;\n out.texCoord = vert.uv;\n out.id = vert.id;\n\n return out;\n}\n\n\n@fragment fn fs(in: VertexOutput) -> @location(0) u32 {\n let alpha = textureSample(ourTexture, ourSampler, in.texCoord).a;\n\n if (alpha < 0.1) {\n discard; // r32uint doesn't support blending so only skipping pixels lefts\n }\n\n return u32(in.id);\n}\n",c=7,u="struct Vertex {\n @location(0) position: vec4f,\n @location(1) id: f32,\n};\n\nstruct Uniforms {\n worldViewProjection: mat4x4f,\n};\n\nstruct VertexOutput {\n @builtin(position) position: vec4f,\n @location(0) @interpolate(flat) id: f32\n};\n\n@group(0) @binding(0) var<uniform> u: Uniforms;\n\n@vertex fn vs(vert: Vertex) -> VertexOutput {\n var out: VertexOutput;\n out.position = u.worldViewProjection * vert.position;\n out.id = vert.id;\n \n return out;\n}\n\n@fragment fn fs(in: VertexOutput) -> @location(0) u32 {\n return u32(in.id);\n}\n\n",l=5,f="struct Vertex {\n @location(0) p0_position: vec4f,\n @location(1) p0_uv: vec2f,\n @location(2) p1_position: vec4f,\n @location(3) p1_uv: vec2f,\n @location(4) p2_position: vec4f,\n @location(5) p2_uv: vec2f,\n @location(6) color: vec4f,\n};\n\nstruct Uniforms {\n worldViewProjection: mat4x4f,\n};\n\nstruct VertexOutput {\n @builtin(position) position: vec4f,\n @location(0) texCoord: vec2f,\n @location(1) @interpolate(flat) color: vec4f,\n};\n\n@group(0) @binding(0) var<uniform> u: Uniforms;\n@group(0) @binding(1) var ourSampler: sampler;\n@group(0) @binding(2) var ourTexture: texture_2d<f32>;\n\n@vertex fn vs(vert: Vertex, @builtin(vertex_index) vertexIndex : u32) -> VertexOutput {\n let normVertexIndex = vertexIndex % 3;\n\n var out: VertexOutput;\n if (normVertexIndex == 0) {\n out.position = u.worldViewProjection * vert.p0_position;\n out.texCoord = vert.p0_uv;\n } else if (normVertexIndex == 1) {\n out.position = u.worldViewProjection * vert.p1_position;\n out.texCoord = vert.p1_uv;\n } else {\n out.position = u.worldViewProjection * vert.p2_position;\n out.texCoord = vert.p2_uv;\n }\n\n out.color = vert.color;\n \n return out;\n}\n\nfn median(r: f32, g: f32, b: f32) -> f32 {\n return max(min(r, g), min(max(r, g), b));\n}\n\n@fragment fn fs(in: VertexOutput) -> @location(0) vec4f {\n let msdf = textureSample(ourTexture, ourSampler, in.texCoord);\n let signed_distance = median(msdf.r, msdf.g, msdf.b) - 0.5;\n let w = clamp(signed_distance / fwidth(signed_distance) + 0.5, 0.0, 1.0);\n return in.color * w;\n}",h=22;let w,D,y,d,p,S,F,U,k,m;function N(A,e){w=function(A,e){const t=A.createShaderModule({label:"draw triangle module",code:g}),I=A.createRenderPipeline({label:"draw triangle pipeline",layout:"auto",vertex:{module:t,entryPoint:"vs",buffers:[{arrayStride:4*i,stepMode:"instance",attributes:[{shaderLocation:0,offset:0,format:"float32x4"},{shaderLocation:1,offset:16,format:"float32x4"},{shaderLocation:2,offset:32,format:"float32x4"},{shaderLocation:3,offset:48,format:"float32x4"},{shaderLocation:4,offset:64,format:"float32x3"}]}]},fragment:{module:t,entryPoint:"fs",targets:[{format:e,blend:{color:{srcFactor:"one",dstFactor:"one-minus-src-alpha"},alpha:{srcFactor:"one",dstFactor:"one-minus-src-alpha"}}}]},multisample:{count:4}}),Q=A.createBuffer({label:"uniforms",size:64,usage:GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST}),C=new Float32Array(16),o=C.subarray(0,16);return function(e,t,g){const r=g.length/i,B=A.createBuffer({label:"vertex buffer vertices",size:g.byteLength,usage:GPUBufferUsage.VERTEX|GPUBufferUsage.COPY_DST});A.queue.writeBuffer(B,0,g);const n=A.createBindGroup({layout:I.getBindGroupLayout(0),entries:[{binding:0,resource:{buffer:Q}}]});e.setPipeline(I),e.setVertexBuffer(0,B),o.set(t),A.queue.writeBuffer(Q,0,C),e.setBindGroup(0,n),e.draw(3,r)}}(A,e),D=function(A,e){const t=A.createShaderModule({label:"bezier shader module",code:I}),g=A.createRenderPipeline({label:"bezier pipline",layout:"auto",primitive:{topology:"triangle-strip"},vertex:{module:t,entryPoint:"vs",buffers:[{arrayStride:4,attributes:[{shaderLocation:0,offset:0,format:"float32"}]},{arrayStride:4,attributes:[{shaderLocation:1,offset:0,format:"float32"}]},{arrayStride:4,attributes:[{shaderLocation:2,offset:0,format:"uint32"}]}]},fragment:{module:t,entryPoint:"fs",targets:[{format:e}]},depthStencil:{depthWriteEnabled:!1,depthCompare:"always",format:"depth24plus"}});return function(e,t,i,I,Q,C,o){const r=4*i.length,B=A.createBuffer({label:"storage points",size:r,usage:GPUBufferUsage.STORAGE|GPUBufferUsage.COPY_DST}),n=A.createBuffer({label:"uniforms",size:80,usage:GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST}),s=new Float32Array(20),E=s.subarray(0,16),a=s.subarray(16,17),c=A.createBindGroup({label:"bezier bind group for object",layout:g.getBindGroupLayout(0),entries:[{binding:0,resource:{buffer:n}},{binding:1,resource:{buffer:B}}]}),u=A.createBuffer({label:"bezier vertex buffer vertices",size:I.byteLength,usage:GPUBufferUsage.VERTEX|GPUBufferUsage.COPY_DST});A.queue.writeBuffer(u,0,I);const l=A.createBuffer({label:"bezier vertex buffer vertices",size:Q.byteLength,usage:GPUBufferUsage.VERTEX|GPUBufferUsage.COPY_DST});A.queue.writeBuffer(l,0,Q);const f=A.createBuffer({label:"bezier vertex buffer vertices",size:C.byteLength,usage:GPUBufferUsage.VERTEX|GPUBufferUsage.COPY_DST});A.queue.writeBuffer(f,0,C),e.setPipeline(g),e.setVertexBuffer(0,u),e.setVertexBuffer(1,l),e.setVertexBuffer(2,f),E.set(t),a.set(new Float32Array([o])),A.queue.writeBuffer(n,0,s),A.queue.writeBuffer(B,0,i),e.setBindGroup(0,c),e.draw(I.length)}}(A,e),d=function(A,e){const t=A.createShaderModule({label:"3d model texture shader module",code:Q}),g=A.createRenderPipeline({label:"3d model texture pipline",layout:"auto",vertex:{module:t,entryPoint:"vs",buffers:[{arrayStride:20,attributes:[{shaderLocation:0,offset:0,format:"float32x3"},{shaderLocation:1,offset:12,format:"float32x2"}]}]},fragment:{module:t,entryPoint:"fs",targets:[{format:e}]},depthStencil:{depthWriteEnabled:!1,depthCompare:"always",format:"depth24plus"}});return function(e,t,i,I,Q){const C=A.createSampler({magFilter:"linear",minFilter:"linear"}),o=A.createBuffer({label:"uniforms",size:64,usage:GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST}),r=new Float32Array(16),B=r.subarray(0,16),n=Q.length,s=A.createBuffer({label:"3d model texture vertex buffer vertices",size:I.byteLength,usage:GPUBufferUsage.VERTEX|GPUBufferUsage.COPY_DST});A.queue.writeBuffer(s,0,I);const E=A.createBuffer({label:"3d model texture index buffer",size:Q.byteLength,usage:GPUBufferUsage.INDEX|GPUBufferUsage.COPY_DST});A.queue.writeBuffer(E,0,Q);const a=A.createBindGroup({label:"3d model texture bind group for object",layout:g.getBindGroupLayout(0),entries:[{binding:0,resource:{buffer:o}},{binding:1,resource:C},{binding:2,resource:i.createView()}]});e.setPipeline(g),e.setVertexBuffer(0,s),e.setIndexBuffer(E,"uint32"),B.set(t),A.queue.writeBuffer(o,0,r),e.setBindGroup(0,a),e.drawIndexed(n)}}(A,e),y=function(A,e){const t=A.createShaderModule({label:"3d model shader module",code:C}),g=A.createRenderPipeline({label:"3d model pipline",layout:"auto",vertex:{module:t,entryPoint:"vs",buffers:[{arrayStride:12,attributes:[{shaderLocation:0,offset:0,format:"float32x3"}]}]},fragment:{module:t,entryPoint:"fs",targets:[{format:e}]},primitive:{cullMode:"back"},depthStencil:{depthWriteEnabled:!0,depthCompare:"less",format:"depth24plus"}});return function(e,t,i,I){const Q=A.createBuffer({label:"uniforms",size:64,usage:GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST}),C=new Float32Array(16),o=C.subarray(0,16),r=I.length,B=A.createBuffer({label:"vertex buffer vertices",size:i.byteLength,usage:GPUBufferUsage.VERTEX|GPUBufferUsage.COPY_DST});A.queue.writeBuffer(B,0,i);const n=A.createBuffer({label:"index buffer",size:I.byteLength,usage:GPUBufferUsage.INDEX|GPUBufferUsage.COPY_DST});A.queue.writeBuffer(n,0,I);const s=A.createBindGroup({label:"bind group for object",layout:g.getBindGroupLayout(0),entries:[{binding:0,resource:{buffer:Q}}]});e.setPipeline(g),e.setVertexBuffer(0,B),e.setIndexBuffer(n,"uint32"),o.set(t),A.queue.writeBuffer(Q,0,C),e.setBindGroup(0,s),e.drawIndexed(r)}}(A,e),p=function(A,e){const t=A.createShaderModule({label:"3d model light shader module",code:o}),g=A.createRenderPipeline({label:"3d model light pipline",layout:"auto",vertex:{module:t,entryPoint:"vs",buffers:[{arrayStride:24,attributes:[{shaderLocation:0,offset:0,format:"float32x3"},{shaderLocation:1,offset:12,format:"float32x3"}]}]},fragment:{module:t,entryPoint:"fs",targets:[{format:e}]},primitive:{cullMode:"back"},depthStencil:{depthWriteEnabled:!0,depthCompare:"less",format:"depth24plus"}});return function(e,t,i,I){const{worldViewProjection:Q,normalMatrix:C,lightColor:o,lightDirection:r}=t,B=A.createBuffer({label:"uniforms",size:144,usage:GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST}),n=new Float32Array(36),s=n.subarray(0,12),E=n.subarray(12,28),a=n.subarray(28,32),c=n.subarray(32,35),u=A.createBindGroup({label:"bind group for object",layout:g.getBindGroupLayout(0),entries:[{binding:0,resource:{buffer:B}}]}),l=I.length,f=A.createBuffer({label:"vertex buffer vertices",size:i.byteLength,usage:GPUBufferUsage.VERTEX|GPUBufferUsage.COPY_DST});A.queue.writeBuffer(f,0,i);const h=A.createBuffer({label:"index buffer",size:I.byteLength,usage:GPUBufferUsage.INDEX|GPUBufferUsage.COPY_DST});A.queue.writeBuffer(h,0,I),e.setPipeline(g),e.setVertexBuffer(0,f),e.setIndexBuffer(h,"uint32"),s.set(C),E.set(Q),a.set(o),c.set(r),A.queue.writeBuffer(B,0,n),e.setBindGroup(0,u),e.drawIndexed(l)}}(A,e),S=function(A){const e=A.createShaderModule({label:"blur shader module",code:r}),t=A.createComputePipeline({layout:"auto",compute:{module:e,entryPoint:"main"}});return function(e,g){const i=[0,1].map((()=>A.createTexture({size:{width:e.width,height:e.height},format:"rgba8unorm",usage:GPUTextureUsage.COPY_DST|GPUTextureUsage.STORAGE_BINDING|GPUTextureUsage.TEXTURE_BINDING}))),I=(()=>{const e=A.createBuffer({size:4,mappedAtCreation:!0,usage:GPUBufferUsage.UNIFORM});return new Uint32Array(e.getMappedRange())[0]=0,e.unmap(),e})(),Q=(()=>{const e=A.createBuffer({size:4,mappedAtCreation:!0,usage:GPUBufferUsage.UNIFORM});return new Uint32Array(e.getMappedRange())[0]=1,e.unmap(),e})(),C=A.createBuffer({size:8,usage:GPUBufferUsage.COPY_DST|GPUBufferUsage.UNIFORM}),o=A.createSampler({magFilter:"linear",minFilter:"linear"}),r=A.createBindGroup({layout:t.getBindGroupLayout(0),entries:[{binding:0,resource:o},{binding:1,resource:{buffer:C}}]}),s=A.createBindGroup({layout:t.getBindGroupLayout(1),entries:[{binding:1,resource:e.createView()},{binding:2,resource:i[0].createView()},{binding:3,resource:{buffer:I}}]}),E=A.createBindGroup({layout:t.getBindGroupLayout(1),entries:[{binding:1,resource:i[0].createView()},{binding:2,resource:i[1].createView()},{binding:3,resource:{buffer:Q}}]}),a=A.createBindGroup({layout:t.getBindGroupLayout(1),entries:[{binding:1,resource:i[1].createView()},{binding:2,resource:i[0].createView()},{binding:3,resource:{buffer:I}}]}),c=B-14;A.queue.writeBuffer(C,0,new Uint32Array([15,c]));const u=g.beginComputePass();u.setPipeline(t),u.setBindGroup(0,r),u.setBindGroup(1,s),u.dispatchWorkgroups(Math.ceil(e.width/c),Math.ceil(e.height/n[1])),u.setBindGroup(1,E),u.dispatchWorkgroups(Math.ceil(e.height/c),Math.ceil(e.width/n[1]));for(let A=0;A<1;++A)u.setBindGroup(1,a),u.dispatchWorkgroups(Math.ceil(e.width/c),Math.ceil(e.height/n[1])),u.setBindGroup(1,E),u.dispatchWorkgroups(Math.ceil(e.height/c),Math.ceil(e.width/n[1]));return u.end(),i[1]}}(A),F=function(A,e){const t=A.createShaderModule({label:"texture module",code:s}),g=A.createSampler({minFilter:"linear",magFilter:"linear"}),i=A.createRenderPipeline({label:"texture pipeline",layout:"auto",vertex:{module:t,entryPoint:"vs",buffers:[{arrayStride:4*E,attributes:[{shaderLocation:0,offset:0,format:"float32x4"},{shaderLocation:1,offset:16,format:"float32x2"}]}]},fragment:{module:t,entryPoint:"fs",targets:[{format:e,blend:{color:{srcFactor:"one",dstFactor:"one-minus-src-alpha"},alpha:{srcFactor:"one",dstFactor:"one-minus-src-alpha"}}}]},multisample:{count:4}}),I=A.createBuffer({label:"uniforms",size:64,usage:GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST}),Q=new Float32Array(16),C=Q.subarray(0,16);return function(e,t,o,r){const B=o.length/E|0,n=A.createBuffer({label:"vertex buffer vertices",size:o.byteLength,usage:GPUBufferUsage.VERTEX|GPUBufferUsage.COPY_DST});A.queue.writeBuffer(n,0,o);const s=A.createBindGroup({layout:i.getBindGroupLayout(0),entries:[{binding:0,resource:{buffer:I}},{binding:1,resource:g},{binding:2,resource:r.createView()}]});e.setPipeline(i),e.setVertexBuffer(0,n),C.set(t),A.queue.writeBuffer(I,0,Q),e.setBindGroup(0,s),e.draw(B)}}(A,e),U=function(A){const e=A.createShaderModule({label:"pick texture module",code:a}),t=A.createSampler({minFilter:"linear",magFilter:"linear"}),g=A.createRenderPipeline({label:"pick texture pipeline",layout:"auto",vertex:{module:e,entryPoint:"vs",buffers:[{arrayStride:4*c,attributes:[{shaderLocation:0,offset:0,format:"float32x4"},{shaderLocation:1,offset:16,format:"float32x2"},{shaderLocation:2,offset:24,format:"float32"}]}]},fragment:{module:e,entryPoint:"fs",targets:[{format:"r32uint"}]}}),i=A.createBuffer({label:"uniforms",size:64,usage:GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST}),I=new Float32Array(16),Q=I.subarray(0,16);return function(e,C,o,r){const B=o.length/c|0,n=A.createBuffer({label:"pic texture vertex buffer vertices",size:o.byteLength,usage:GPUBufferUsage.VERTEX|GPUBufferUsage.COPY_DST});A.queue.writeBuffer(n,0,o);const s=A.createBindGroup({layout:g.getBindGroupLayout(0),entries:[{binding:0,resource:{buffer:i}},{binding:1,resource:t},{binding:2,resource:r.createView()}]});e.setPipeline(g),e.setVertexBuffer(0,n),Q.set(C),A.queue.writeBuffer(i,0,I),e.setBindGroup(0,s),e.draw(B)}}(A),k=function(A){const e=A.createShaderModule({label:"pick triangle module",code:u}),t=A.createRenderPipeline({label:"pick triangle pipeline",layout:"auto",vertex:{module:e,entryPoint:"vs",buffers:[{arrayStride:4*l,attributes:[{shaderLocation:0,offset:0,format:"float32x4"},{shaderLocation:1,offset:16,format:"float32"}]}]},fragment:{module:e,entryPoint:"fs",targets:[{format:"r32uint"}]}}),g=A.createBuffer({label:"uniforms",size:64,usage:GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST}),i=new Float32Array(16),I=i.subarray(0,16);return function(e,Q,C){const o=C.length/l|0,r=A.createBuffer({label:"pick triangle vertex buffer vertices",size:C.byteLength,usage:GPUBufferUsage.VERTEX|GPUBufferUsage.COPY_DST});A.queue.writeBuffer(r,0,C);const B=A.createBindGroup({layout:t.getBindGroupLayout(0),entries:[{binding:0,resource:{buffer:g}}]});e.setPipeline(t),e.setVertexBuffer(0,r),I.set(Q),A.queue.writeBuffer(g,0,i),e.setBindGroup(0,B),e.draw(o)}}(A),m=function(A,e){const t=A.createShaderModule({label:"draw msdf module",code:f}),g=A.createSampler({minFilter:"linear",magFilter:"linear"}),i=A.createRenderPipeline({label:"draw msdf pipeline",layout:"auto",vertex:{module:t,entryPoint:"vs",buffers:[{arrayStride:4*h,stepMode:"instance",attributes:[{shaderLocation:0,offset:0,format:"float32x4"},{shaderLocation:1,offset:16,format:"float32x2"},{shaderLocation:2,offset:24,format:"float32x4"},{shaderLocation:3,offset:40,format:"float32x2"},{shaderLocation:4,offset:48,format:"float32x4"},{shaderLocation:5,offset:64,format:"float32x2"},{shaderLocation:6,offset:72,format:"float32x4"}]}]},fragment:{module:t,entryPoint:"fs",targets:[{format:e,blend:{color:{srcFactor:"one",dstFactor:"one-minus-src-alpha"},alpha:{srcFactor:"one",dstFactor:"one-minus-src-alpha"}}}]},multisample:{count:4}}),I=A.createBuffer({label:"draw msdf uniforms",size:64,usage:GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST}),Q=new Float32Array(16),C=Q.subarray(0,16);return function(e,t,o,r){const B=o.length/h,n=A.createBuffer({label:"draw msdf - vertex buffer",size:o.byteLength,usage:GPUBufferUsage.VERTEX|GPUBufferUsage.COPY_DST});A.queue.writeBuffer(n,0,o);const s=A.createBindGroup({layout:i.getBindGroupLayout(0),entries:[{binding:0,resource:{buffer:I}},{binding:1,resource:g},{binding:2,resource:r.createView()}]});e.setPipeline(i),e.setVertexBuffer(0,n),C.set(t),A.queue.writeBuffer(I,0,Q),e.setBindGroup(0,s),e.draw(3,B)}}(A,e)}},4461:(A,e,t)=>{t.a(A,(async(A,g)=>{try{t.d(e,{A:()=>C});var i=t(2842),I=t(9200),Q=A([I]);function C(A){const e=i.A.ortho(0,A.width,0,A.height,1,-1),t=i.A.translate(e,[I.UI.x,I.UI.y,0]);return i.A.scale(t,[I.UI.zoom,I.UI.zoom,1])}I=(Q.then?(await Q)():Q)[0],g()}catch(o){g(o)}}))},6838:(A,e,t)=>{let g,i;function I(A,e,t,i){return g&&g.width===e&&g.height===t||(null==g||g.destroy(),g=A.createTexture({size:[e,t],format:"depth24plus",usage:GPUTextureUsage.RENDER_ATTACHMENT}),g=A.createTexture({format:i,usage:GPUTextureUsage.RENDER_ATTACHMENT,size:[e,t],sampleCount:4})),g}function Q(A,e){const t=A.getCurrentTexture();return function(A,e,t){i&&i.width===e&&i.height===t||(null==i||i.destroy(),i=A.createTexture({size:[e,t],format:"depth24plus",usage:GPUTextureUsage.RENDER_ATTACHMENT}))}(e,t.width,t.height),{label:"our render to canvas renderPass",colorAttachments:[{view:I(e,t.width,t.height,t.format).createView(),resolveTarget:t.createView(),clearValue:[0,0,0,1],loadOp:"clear",storeOp:"store"}]}}t.d(e,{A:()=>Q})},8156:(A,e,t)=>{t.a(A,(async(A,g)=>{try{t.d(e,{A:()=>u});var i=t(214),I=t(1911),Q=t(5695),C=t(2633),o=t(3979),r=t(9200),B=t(6561),n=t(1369),s=t(7846),E=t(1181),a=A([C,o,r]);[C,o,r]=a.then?(await a)():a;var c=function(A,e,t,g){return new(t||(t=Promise))((function(i,I){function Q(A){try{o(g.next(A))}catch(A){I(A)}}function C(A){try{o(g.throw(A))}catch(A){I(A)}}function o(A){var e;A.done?i(A.value):(e=A.value,e instanceof t?e:new t((function(A){A(e)}))).then(Q,C)}o((g=g.apply(A,e||[])).next())}))};function u(A,e,t,g){return c(this,void 0,void 0,(function*(){let a=0,u=!1;function l(){g(a>0||u)}const f=yield(0,I.A)();E.Ts(f,(A=>{a=A,l()}));const h=A.clientWidth/2,w=A.clientHeight/2;(0,o.vH)(h,w);const D=A.getContext("webgpu");if(!D)throw Error("WebGPU from canvas needs to be always provided");const y=navigator.gpu.getPreferredCanvasFormat();function d(){(0,o.Yj)(A.width/(A.clientWidth*r.UI.zoom))}D.configure({device:f,format:y});let p=!1;(0,i.A)(A,f,(()=>{!1===p&&(r.UI.x=(A.width-h)/2,r.UI.y=(A.height-w)/2,p=!0),d()})),(0,Q.Ay)(f,y),(0,r.Ay)(A,d,(()=>{u=!0,l()})),(0,o.kO)((A=>{const t=[...A].map((A=>({id:A.id,textureId:A.texture_id,points:[...A.points].map((A=>({x:A.x,y:A.y,u:A.u,v:A.v}))),url:E.ID(A.texture_id)})));e(t)})),(0,o.Nu)(t),E.WQ(B,((A,e)=>{(0,o.dU)(n.Wn.flatMap((t=>[t.id,t.x/A,t.y/e,t.width/A,t.height/e,t.width,t.height])))}));const S=(0,C.Ay)(A,D,f,y,(()=>{u=!1,l()}));return{addImage:A=>{const e=E.WQ(A,((A,t)=>{const g=(0,s.A)(A,t,h,w);(0,o.VD)(0,g,e)}))},removeAsset:o.MW,resetAssets:(e,...t)=>c(this,[e,...t],void 0,(function*(e,t=!1){const g=(yield Promise.allSettled(e.map((e=>new Promise(((t,g)=>{if(e.points)return t({points:e.points,texture_id:e.textureId||E.WQ(e.url),id:e.id||0});const i=E.WQ(e.url,((e,g)=>t({points:(0,s.A)(e,g,A.clientWidth,A.clientHeight),texture_id:i,id:0})))})))))).filter((A=>"fulfilled"===A.status)).map((A=>A.value));(0,o.im)(g,t)})),destroy:()=>{S(),(0,o.Nl)(),D.unconfigure(),f.destroy()}}}))}g()}catch(l){g(l)}}))},2633:(A,e,t)=>{t.a(A,(async(A,g)=>{try{t.d(e,{Ay:()=>s});var i=t(6838),I=t(5695),Q=t(4461),C=t(2872),o=t(3979),r=t(9200),B=t(1181),n=A([Q,C,o,r]);function s(A,e,t,g,n){let s,E;const a=new C.A(t);let c,u;(0,o.Vh)({draw_texture:(A,e)=>(0,I._J)(s,E,A.typedArray,B.Mc(e)),draw_msdf:(A,e)=>{(0,I.hk)(s,E,A.typedArray,B.Mc(e))},draw_triangle:A=>(0,I.D4)(s,E,A.typedArray),pick_texture:(A,e)=>(0,I.Fh)(u,c,A.typedArray,B.Mc(e)),pick_triangle:A=>(0,I.Q3)(u,c,A.typedArray)});let l=0;const f={x:0,y:0};return l=requestAnimationFrame((function g(I){const C=t.createCommandEncoder(),B=(0,i.A)(e,t);if(s=C.beginRenderPass(B),E=(0,Q.A)(A),(0,o.Gp)(),s.end(),0===r.Wn.afterPickEventsQueue.length&&n(),r.Wn.afterPickEventsQueue.length>0||f.x!==r.Wn.x||f.y!==r.Wn.y){f.x=r.Wn.x,f.y=r.Wn.y,c=a.createMatrix(A,E);const e=a.startPicking(C);u=e.pass,(0,o.A4)(),e.end()}const h=C.finish();t.queue.submit([h]),a.asyncPick(),l=requestAnimationFrame(g)})),()=>{cancelAnimationFrame(l)}}[Q,C,o,r]=n.then?(await n)():n,new Float32Array,g()}catch(E){g(E)}}))},1181:(A,e,t)=>{t.d(e,{WQ:()=>B,Mc:()=>n,ID:()=>s,Ts:()=>r});const g=(...A)=>{const e=Math.max(...A);return 1+Math.log2(e)|0};let i,I,Q,C,o;function r(A,e){i=A,I=[],Q=function(A){const e=[255,0,0,255],t=[255,255,0,255],g=new Uint8Array([[0,0,255,255],e,e,e,e,e,t,t,t,e,e,t,e,e,e,e,t,t,e,e,e,t,e,e,e,e,t,e,e,e,e,e,e,e,e].flat()),i=A.createTexture({label:"yellow F on red",size:[5,7],format:"rgba8unorm",usage:GPUTextureUsage.TEXTURE_BINDING|GPUTextureUsage.COPY_DST});return A.queue.writeTexture({texture:i},g,{bytesPerRow:20},{width:5,height:7}),i}(i),C=()=>e(o),o=0}function B(A,e){o++,C();const t=I.length;I.push({url:A});const Q=new Image;return Q.src=A,Q.onload=()=>{I[t].texture=function(A,e,t={}){const i=A.createTexture({format:"rgba8unorm",mipLevelCount:t.mips?g(e.width,e.height):1,size:[e.width,e.height],usage:GPUTextureUsage.TEXTURE_BINDING|GPUTextureUsage.COPY_DST|GPUTextureUsage.RENDER_ATTACHMENT});return function(A,e,t,{flipY:g,depthOrArrayLayers:i}={}){A.queue.copyExternalImageToTexture({source:t,flipY:g},{texture:e},{width:t.width,height:t.height,depthOrArrayLayers:i})}(A,i,e,t),i}(i,Q,{flipY:!0}),null==e||e(Q.width,Q.height),o--,C()},Q.onerror=()=>{console.error(`Failed to load image from ${A}`),o--,C()},t}function n(A){var e;return null!==(e=I[A].texture)&&void 0!==e?e:Q}function s(A){return I[A].url}},6253:(A,e,t)=>{function g(A,e,t){return Math.min(t,Math.max(e,A))}t.d(e,{A:()=>g})},7846:(A,e,t)=>{t.d(e,{A:()=>i});var g=t(6253);function i(A,e,t,i){const I=function(A,e,t,i){if(i-e<t-A)return(0,g.A)(e,.2*i,.8*i)/e;return(0,g.A)(A,.2*t,.8*t)/A}(A,e,t,i),Q=A*I,C=e*I,o=.5*(t-Q),r=.5*(i-C);return[{x:o,y:r+C,u:0,v:1},{x:o+Q,y:r+C,u:1,v:1},{x:o+Q,y:r,u:1,v:0},{x:o,y:r,u:0,v:0}]}},2842:(A,e,t)=>{t.d(e,{A:()=>I});const g={cross(A,e,t=new Float32Array(3)){const g=A[1]*e[2]-A[2]*e[1],i=A[2]*e[0]-A[0]*e[2],I=A[0]*e[1]-A[1]*e[0];return t[0]=g,t[1]=i,t[2]=I,t},subtract:(A,e,t=new Float32Array(3))=>(t[0]=A[0]-e[0],t[1]=A[1]-e[1],t[2]=A[2]-e[2],t),normalize(A,e=new Float32Array(3)){const t=Math.sqrt(A[0]*A[0]+A[1]*A[1]+A[2]*A[2]);return t>1e-5?(e[0]=A[0]/t,e[1]=A[1]/t,e[2]=A[2]/t):(e[0]=0,e[1]=0,e[2]=0),e}},i={projection:(A,e,t,g)=>i.ortho(0,A,e,0,t,-t,g),perspective(A,e,t,g,i=new Float32Array(16)){const I=Math.tan(.5*Math.PI-.5*A),Q=1/(t-g);return i[0]=I/e,i[1]=0,i[2]=0,i[3]=0,i[4]=0,i[5]=I,i[6]=0,i[7]=0,i[8]=0,i[9]=0,i[10]=g*Q,i[11]=-1,i[12]=0,i[13]=0,i[14]=t*g*Q,i[15]=0,i},ortho:(A,e,t,g,i,I,Q=new Float32Array(16))=>(Q[0]=2/(e-A),Q[1]=0,Q[2]=0,Q[3]=0,Q[4]=0,Q[5]=2/(g-t),Q[6]=0,Q[7]=0,Q[8]=0,Q[9]=0,Q[10]=1/(i-I),Q[11]=0,Q[12]=(e+A)/(A-e),Q[13]=(g+t)/(t-g),Q[14]=i/(i-I),Q[15]=1,Q),identity:(A=new Float32Array(16))=>(A[0]=1,A[1]=0,A[2]=0,A[3]=0,A[4]=0,A[5]=1,A[6]=0,A[7]=0,A[8]=0,A[9]=0,A[10]=1,A[11]=0,A[12]=0,A[13]=0,A[14]=0,A[15]=1,A),multiply(A,e,t=new Float32Array(16)){const g=e[0],i=e[1],I=e[2],Q=e[3],C=e[4],o=e[5],r=e[6],B=e[7],n=e[8],s=e[9],E=e[10],a=e[11],c=e[12],u=e[13],l=e[14],f=e[15],h=A[0],w=A[1],D=A[2],y=A[3],d=A[4],p=A[5],S=A[6],F=A[7],U=A[8],k=A[9],m=A[10],N=A[11],b=A[12],M=A[13],K=A[14],G=A[15];return t[0]=g*h+i*d+I*U+Q*b,t[1]=g*w+i*p+I*k+Q*M,t[2]=g*D+i*S+I*m+Q*K,t[3]=g*y+i*F+I*N+Q*G,t[4]=C*h+o*d+r*U+B*b,t[5]=C*w+o*p+r*k+B*M,t[6]=C*D+o*S+r*m+B*K,t[7]=C*y+o*F+r*N+B*G,t[8]=n*h+s*d+E*U+a*b,t[9]=n*w+s*p+E*k+a*M,t[10]=n*D+s*S+E*m+a*K,t[11]=n*y+s*F+E*N+a*G,t[12]=c*h+u*d+l*U+f*b,t[13]=c*w+u*p+l*k+f*M,t[14]=c*D+u*S+l*m+f*K,t[15]=c*y+u*F+l*N+f*G,t},cameraAim(A,e,t,i=new Float32Array(16)){const I=g.normalize(g.subtract(A,e)),Q=g.normalize(g.cross(t,I)),C=g.normalize(g.cross(I,Q));return i[0]=Q[0],i[1]=Q[1],i[2]=Q[2],i[3]=0,i[4]=C[0],i[5]=C[1],i[6]=C[2],i[7]=0,i[8]=I[0],i[9]=I[1],i[10]=I[2],i[11]=0,i[12]=A[0],i[13]=A[1],i[14]=A[2],i[15]=1,i},inverse(A,e=new Float32Array(16)){const t=A[0],g=A[1],i=A[2],I=A[3],Q=A[4],C=A[5],o=A[6],r=A[7],B=A[8],n=A[9],s=A[10],E=A[11],a=A[12],c=A[13],u=A[14],l=A[15],f=s*l,h=u*E,w=o*l,D=u*r,y=o*E,d=s*r,p=i*l,S=u*I,F=i*E,U=s*I,k=i*r,m=o*I,N=B*c,b=a*n,M=Q*c,K=a*C,G=Q*n,v=B*C,J=t*c,L=a*g,x=t*n,R=B*g,q=t*C,Y=Q*g,H=f*C+D*n+y*c-(h*C+w*n+d*c),O=h*g+p*n+U*c-(f*g+S*n+F*c),P=w*g+S*C+k*c-(D*g+p*C+m*c),T=d*g+F*C+m*n-(y*g+U*C+k*n),z=1/(t*H+Q*O+B*P+a*T);return e[0]=z*H,e[1]=z*O,e[2]=z*P,e[3]=z*T,e[4]=z*(h*Q+w*B+d*a-(f*Q+D*B+y*a)),e[5]=z*(f*t+S*B+F*a-(h*t+p*B+U*a)),e[6]=z*(D*t+p*Q+m*a-(w*t+S*Q+k*a)),e[7]=z*(y*t+U*Q+k*B-(d*t+F*Q+m*B)),e[8]=z*(N*r+K*E+G*l-(b*r+M*E+v*l)),e[9]=z*(b*I+J*E+R*l-(N*I+L*E+x*l)),e[10]=z*(M*I+L*r+q*l-(K*I+J*r+Y*l)),e[11]=z*(v*I+x*r+Y*E-(G*I+R*r+q*E)),e[12]=z*(M*s+v*u+b*o-(G*u+N*o+K*s)),e[13]=z*(x*u+N*i+L*s-(J*s+R*u+b*i)),e[14]=z*(J*o+Y*u+K*i-(q*u+M*i+L*o)),e[15]=z*(q*s+G*i+R*o-(x*o+Y*s+v*i)),e},transpose:(A,e=new Float32Array(16))=>(e[0]=A[0],e[1]=A[4],e[2]=A[8],e[3]=A[12],e[4]=A[1],e[5]=A[5],e[6]=A[9],e[7]=A[13],e[8]=A[2],e[9]=A[6],e[10]=A[10],e[11]=A[14],e[12]=A[3],e[13]=A[7],e[14]=A[11],e[15]=A[15],e),aim(A,e,t,i=new Float32Array(16)){const I=g.normalize(g.subtract(e,A)),Q=g.normalize(g.cross(t,I)),C=g.normalize(g.cross(I,Q));return i[0]=Q[0],i[1]=Q[1],i[2]=Q[2],i[3]=0,i[4]=C[0],i[5]=C[1],i[6]=C[2],i[7]=0,i[8]=I[0],i[9]=I[1],i[10]=I[2],i[11]=0,i[12]=A[0],i[13]=A[1],i[14]=A[2],i[15]=1,i},lookAt:(A,e,t,g)=>i.inverse(i.cameraAim(A,e,t,g),g),translation:([A,e,t],g=new Float32Array(16))=>(g[0]=1,g[1]=0,g[2]=0,g[3]=0,g[4]=0,g[5]=1,g[6]=0,g[7]=0,g[8]=0,g[9]=0,g[10]=1,g[11]=0,g[12]=A,g[13]=e,g[14]=t,g[15]=1,g),rotationX(A,e=new Float32Array(16)){const t=Math.cos(A),g=Math.sin(A);return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=t,e[6]=g,e[7]=0,e[8]=0,e[9]=-g,e[10]=t,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e},rotationY(A,e=new Float32Array(16)){const t=Math.cos(A),g=Math.sin(A);return e[0]=t,e[1]=0,e[2]=-g,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=g,e[9]=0,e[10]=t,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e},rotationZ(A,e=new Float32Array(16)){const t=Math.cos(A),g=Math.sin(A);return e[0]=t,e[1]=g,e[2]=0,e[3]=0,e[4]=-g,e[5]=t,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},scaling:([A,e,t],g=new Float32Array(16))=>(g[0]=A,g[1]=0,g[2]=0,g[3]=0,g[4]=0,g[5]=e,g[6]=0,g[7]=0,g[8]=0,g[9]=0,g[10]=t,g[11]=0,g[12]=0,g[13]=0,g[14]=0,g[15]=1,g),translate:(A,e,t)=>i.multiply(A,i.translation(e),t),rotateX:(A,e,t)=>i.multiply(A,i.rotationX(e),t),rotateY:(A,e,t)=>i.multiply(A,i.rotationY(e),t),rotateZ:(A,e,t)=>i.multiply(A,i.rotationZ(e),t),scale:(A,e,t)=>i.multiply(A,i.scaling(e),t)},I=i},3979:(A,e,t)=>{t.a(A,(async(A,g)=>{try{t.d(e,{A4:()=>be,Dk:()=>Fe,Gp:()=>Ne,MW:()=>pe,Nl:()=>Ke,Nu:()=>he,OI:()=>Se,VD:()=>de,Vh:()=>le,Yj:()=>ye,_R:()=>Ue,c2:()=>me,dU:()=>Ge,im:()=>Me,kO:()=>fe,vH:()=>De,wU:()=>ke});var i=t(4773);t(1285),t(9592),t(4828),t(6973),t(2427),t(1669),t(6929),t(4936),t(8738),t(1432),t(1454),t(6402),t(9098),t(9494),t(337),t(7431),t(7591),t(6717),t(2164),t(6135),t(3793),t(8305),t(3456),t(8539),t(7679),t(2244),t(3509),t(9433),t(7382),t(1425),t(8773),t(3086),t(8771),t(8991),t(8502),t(9025),t(5558),t(4358),t(2436),t(7409),t(9268),t(5239);const A={constructor:null,type:0,flags:0,signature:void 0,name:void 0,byteSize:0,align:0,instance:{members:[],template:null},static:{members:[],template:null}},I={type:0,flags:0},Q={},C={},o={},r={},B={},n={},s={},E={},a={},c={},u={},l={},f={},h={},w={},D={},y={},d={},p={},S={},F={},U={},k={},m={},N={},b={},M={},K={},G={},v={},J={},L={},x={},R={},q={},Y={},H={},O={},P={},T={},z={},V={},j={},W={},Z={},X={},_={},$={},AA={},eA={},tA={},gA={},iA={},IA={},QA={},CA={},oA={},rA={},BA={},nA={},sA={},EA={},aA={},cA={},uA={},lA={},fA={},hA={},wA={},DA={},yA={},dA={},pA={},SA={},FA={},UA={},kA={},mA={},NA={},bA={},MA={},KA={},GA={},vA={},JA={},LA={},xA={},RA={},qA={},YA={},HA={},OA={},PA={},TA={},zA={},VA={},jA={},WA={},ZA={},XA={},_A={},$A={},Ae={},ee={},te=A=>new Uint8Array(A),ge=te(0),ie=te(20),Ie=te(8),Qe=te(16),Ce=te(72),oe=te([232,3,0,0]),re=Object.assign;re(eA,{memory:{array:ge},handle:31}),re(tA,{memory:{array:ge},handle:32}),re(gA,{memory:{array:ge},handle:20}),re(iA,{memory:{array:ge},handle:30}),re(IA,{memory:{array:ie},handle:263272,slots:{0:QA,1:oA,2:BA,3:nA,4:sA}}),re(QA,{structure:E,memory:{array:ie,offset:0,length:4},slots:{0:CA}}),re(CA,{structure:s,memory:{array:ge}}),re(oA,{structure:u,memory:{array:ie,offset:4,length:4},slots:{0:rA}}),re(rA,{structure:c,memory:{array:ge}}),re(BA,{structure:E,memory:{array:ie,offset:8,length:4},slots:{0:CA}}),re(nA,{structure:E,memory:{array:ie,offset:12,length:4},slots:{0:CA}}),re(sA,{structure:u,memory:{array:ie,offset:16,length:4},slots:{0:rA}}),re(EA,{memory:{array:ge},handle:19}),re(aA,{memory:{array:ge},handle:102}),re(cA,{memory:{array:Ie}}),re(uA,{slots:{0:lA}}),re(lA,{structure:y,memory:{array:ge},handle:81}),re(fA,{memory:{array:ge},handle:84}),re(hA,{memory:{array:ge},handle:85}),re(wA,{memory:{array:Qe}}),re(DA,{slots:{0:yA,1:dA,2:pA}}),re(yA,{structure:S,memory:{array:ge},handle:81}),re(dA,{structure:U,memory:{array:ge},handle:82}),re(pA,{structure:U,memory:{array:ge},handle:83}),re(SA,{memory:{array:Ce}}),re(FA,{memory:{array:ge},handle:20}),re(UA,{memory:{array:ge},handle:21}),re(kA,{memory:{array:ge},handle:22}),re(mA,{memory:{array:ge},handle:27}),re(NA,{memory:{array:ge},handle:28}),re(bA,{memory:{array:ge},handle:22}),re(MA,{memory:{array:ge},handle:23}),re(KA,{memory:{array:ge},handle:24}),re(GA,{memory:{array:ge},handle:25}),re(vA,{memory:{array:ge},handle:26}),re(JA,{memory:{array:ge},handle:29}),re(LA,{slots:{0:xA,1:RA,2:qA,3:YA,4:HA,5:OA,6:PA,7:TA,8:zA,9:VA,10:jA,11:WA,12:ZA,13:XA,14:_A,15:$A,16:Ae,17:ee}}),re(xA,{structure:w,memory:{array:ge},handle:2}),re(RA,{structure:L,memory:{array:ge},handle:3}),re(qA,{structure:H,memory:{array:ge},handle:4}),re(YA,{structure:B,memory:{array:oe},const:!0}),re(HA,{structure:P,memory:{array:ge},handle:5}),re(OA,{structure:z,memory:{array:ge},handle:6}),re(PA,{structure:j,memory:{array:ge},handle:7}),re(TA,{structure:Z,memory:{array:ge},handle:8}),re(zA,{structure:R,memory:{array:ge},handle:9}),re(VA,{structure:P,memory:{array:ge},handle:10}),re(jA,{structure:Z,memory:{array:ge},handle:11}),re(WA,{structure:P,memory:{array:ge},handle:12}),re(ZA,{structure:Z,memory:{array:ge},handle:13}),re(XA,{structure:Z,memory:{array:ge},handle:14}),re(_A,{structure:Z,memory:{array:ge},handle:15}),re($A,{structure:$,memory:{array:ge},handle:16}),re(Ae,{structure:Z,memory:{array:ge},handle:17}),re(ee,{structure:c,memory:{array:ge},handle:18}),re(Q,{...A,flags:1,signature:0xa310b7d01f11b8can,name:"void",align:1,instance:{members:[{...I,bitOffset:0,bitSize:0,byteSize:0,structure:Q}]}}),re(C,{...A,flags:1,signature:0x61e77abe97c52d51n,name:"f32",byteSize:4,align:4,instance:{members:[{...I,type:4,bitOffset:0,bitSize:32,byteSize:4,structure:C}]}}),re(o,{...A,type:9,flags:64,signature:0x9212e6749825a514n,name:"[_]f32",byteSize:4,align:4,instance:{members:[{...I,type:4,bitSize:32,byteSize:4,structure:C}]}}),re(r,{...A,type:8,flags:188,signature:0xfc4e3831fa228a2en,name:"[]const f32",byteSize:8,align:4,instance:{members:[{...I,type:5,bitSize:64,byteSize:8,slot:0,structure:o}]}}),re(B,{...A,flags:1,signature:0x68598db431a811a3n,name:"u32",byteSize:4,align:4,instance:{members:[{...I,type:3,bitOffset:0,bitSize:32,byteSize:4,structure:B}]}}),re(n,{...A,type:12,flags:14,signature:0x09675e7a1ffd5485n,name:"Arg(fn ([]const f32, u32) void)",length:2,byteSize:12,align:4,instance:{members:[{...I,flags:1,bitOffset:96,bitSize:0,byteSize:0,slot:0,name:"retval",structure:Q},{...I,type:5,flags:1,bitOffset:0,bitSize:64,byteSize:8,slot:1,name:"0",structure:r},{...I,type:3,flags:1,bitOffset:64,bitSize:32,byteSize:4,slot:2,name:"1",structure:B}]}}),re(s,{...A,type:14,signature:0xe1a5d27f9960e020n,name:"fn ([]const f32, u32) void",length:2,instance:{members:[{...I,type:5,bitSize:96,byteSize:12,structure:n}],template:eA},static:{members:[],template:tA}}),re(E,{...A,type:8,flags:204,signature:0x4d3813c518971895n,name:"*const fn ([]const f32, u32) void",byteSize:4,align:4,instance:{members:[{...I,type:5,bitSize:32,byteSize:4,slot:0,structure:s}]}}),re(a,{...A,type:12,flags:14,signature:0x0292a02ab8f8020cn,name:"Arg(fn ([]const f32) void)",length:1,byteSize:8,align:4,instance:{members:[{...I,flags:1,bitOffset:64,bitSize:0,byteSize:0,slot:0,name:"retval",structure:Q},{...I,type:5,flags:1,bitOffset:0,bitSize:64,byteSize:8,slot:1,name:"0",structure:r}]}}),re(c,{...A,type:14,signature:0x47389ea7e1d3d337n,name:"fn ([]const f32) void",length:1,instance:{members:[{...I,type:5,bitSize:64,byteSize:8,structure:a}],template:gA},static:{members:[],template:iA}}),re(u,{...A,type:8,flags:204,signature:0x4224bff88f0203f5n,name:"*const fn ([]const f32) void",byteSize:4,align:4,instance:{members:[{...I,type:5,bitSize:32,byteSize:4,slot:0,structure:c}]}}),re(l,{...A,type:2,flags:14,signature:0xe3bd70be86a1c0e7n,name:"WebGpuPrograms",byteSize:20,align:4,instance:{members:[{...I,type:5,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:0,name:"draw_texture",structure:E},{...I,type:5,flags:1,bitOffset:32,bitSize:32,byteSize:4,slot:1,name:"draw_triangle",structure:u},{...I,type:5,flags:1,bitOffset:64,bitSize:32,byteSize:4,slot:2,name:"draw_msdf",structure:E},{...I,type:5,flags:1,bitOffset:96,bitSize:32,byteSize:4,slot:3,name:"pick_texture",structure:E},{...I,type:5,flags:1,bitOffset:128,bitSize:32,byteSize:4,slot:4,name:"pick_triangle",structure:u}],template:IA}}),re(f,{...A,type:8,flags:204,signature:0x55f6507b4f6d4f28n,name:"*const WebGpuPrograms",byteSize:4,align:4,instance:{members:[{...I,type:5,bitSize:32,byteSize:4,slot:0,structure:l}]}}),re(h,{...A,type:12,flags:14,signature:0xeb0499d78c5f06c3n,name:"Arg(fn (*const WebGpuPrograms) void)",length:1,byteSize:4,align:4,instance:{members:[{...I,flags:1,bitOffset:32,bitSize:0,byteSize:0,slot:0,name:"retval",structure:Q},{...I,type:5,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:1,name:"0",structure:f}]}}),re(w,{...A,type:14,signature:0xe04ead767a55cf67n,name:"fn (*const WebGpuPrograms) void",length:1,instance:{members:[{...I,type:5,bitSize:32,byteSize:4,structure:h}],template:EA}}),re(D,{...A,type:12,flags:10,signature:0x6d671df4e9418a6dn,name:"Arg(fn (Point, Point) Point)",length:2,byteSize:24,align:4,instance:{members:[{...I,type:5,flags:1,bitOffset:0,bitSize:64,byteSize:8,slot:0,name:"retval",structure:d},{...I,type:5,flags:1,bitOffset:64,bitSize:64,byteSize:8,slot:1,name:"0",structure:d},{...I,type:5,flags:1,bitOffset:128,bitSize:64,byteSize:8,slot:2,name:"1",structure:d}]}}),re(y,{...A,type:14,signature:0xd634f75c7a6c5553n,name:"fn (Point, Point) Point",length:2,instance:{members:[{...I,type:5,bitSize:192,byteSize:24,structure:D}],template:aA}}),re(d,{...A,type:2,signature:0x3c18d236acd7668dn,name:"Point",byteSize:8,align:4,instance:{members:[{...I,type:4,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:0,name:"x",structure:C},{...I,type:4,flags:1,bitOffset:32,bitSize:32,byteSize:4,slot:1,name:"y",structure:C}],template:cA},static:{members:[{...I,type:5,flags:18,slot:0,name:"mid",structure:y}],template:uA}}),re(p,{...A,type:12,flags:10,signature:0xd1d7035b6147a5d4n,name:"Arg(fn (PointUV, PointUV) Point)",length:2,byteSize:40,align:4,instance:{members:[{...I,type:5,flags:1,bitOffset:0,bitSize:64,byteSize:8,slot:0,name:"retval",structure:d},{...I,type:5,flags:1,bitOffset:64,bitSize:128,byteSize:16,slot:1,name:"0",structure:k},{...I,type:5,flags:1,bitOffset:192,bitSize:128,byteSize:16,slot:2,name:"1",structure:k}]}}),re(S,{...A,type:14,signature:0xbb0f8218864060e9n,name:"fn (PointUV, PointUV) Point",length:2,instance:{members:[{...I,type:5,bitSize:320,byteSize:40,structure:p}],template:fA}}),re(F,{...A,type:12,flags:10,signature:0x0fa3968ee7482ac2n,name:"Arg(fn (PointUV, PointUV) f32)",length:2,byteSize:36,align:4,instance:{members:[{...I,type:4,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:0,name:"retval",structure:C},{...I,type:5,flags:1,bitOffset:32,bitSize:128,byteSize:16,slot:1,name:"0",structure:k},{...I,type:5,flags:1,bitOffset:160,bitSize:128,byteSize:16,slot:2,name:"1",structure:k}]}}),re(U,{...A,type:14,signature:0x3170ee9a1e36ef3an,name:"fn (PointUV, PointUV) f32",length:2,instance:{members:[{...I,type:5,bitSize:288,byteSize:36,structure:F}],template:hA}}),re(k,{...A,type:2,signature:0x9d77c3c6a1a73d02n,name:"PointUV",byteSize:16,align:4,instance:{members:[{...I,type:4,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:0,name:"x",structure:C},{...I,type:4,flags:1,bitOffset:32,bitSize:32,byteSize:4,slot:1,name:"y",structure:C},{...I,type:4,flags:1,bitOffset:64,bitSize:32,byteSize:4,slot:2,name:"u",structure:C},{...I,type:4,flags:1,bitOffset:96,bitSize:32,byteSize:4,slot:3,name:"v",structure:C}],template:wA},static:{members:[{...I,type:5,flags:18,slot:0,name:"mid",structure:S},{...I,type:5,flags:18,slot:1,name:"angle_to",structure:U},{...I,type:5,flags:18,slot:2,name:"distance",structure:U}],template:DA}}),re(m,{...A,type:1,flags:10,signature:0x4aba6e79b2a51d1dn,name:"[4]PointUV",length:4,byteSize:64,align:4,instance:{members:[{...I,type:5,bitSize:128,byteSize:16,structure:k}]}}),re(N,{...A,type:2,flags:10,signature:0x4ae79eaef47ad8ddn,name:"SerializedAsset",byteSize:72,align:4,instance:{members:[{...I,type:5,flags:1,bitOffset:0,bitSize:512,byteSize:64,slot:0,name:"points",structure:m},{...I,type:3,flags:1,bitOffset:512,bitSize:32,byteSize:4,slot:1,name:"texture_id",structure:B},{...I,type:3,flags:1,bitOffset:544,bitSize:32,byteSize:4,slot:2,name:"id",structure:B}],template:SA}}),re(b,{...A,type:9,flags:10,signature:0xe0d907eca6c48c2bn,name:"[_]SerializedAsset",byteSize:72,align:4,instance:{members:[{...I,type:5,bitSize:576,byteSize:72,structure:N}]}}),re(M,{...A,type:8,flags:188,signature:0x6e413be38a1c13can,name:"[]const SerializedAsset",byteSize:8,align:4,instance:{members:[{...I,type:5,bitSize:64,byteSize:8,slot:0,structure:b}]}}),re(K,{...A,type:12,flags:14,signature:0x553f6f88d529422an,name:"Arg(fn ([]const SerializedAsset) void)",length:1,byteSize:8,align:4,instance:{members:[{...I,flags:1,bitOffset:64,bitSize:0,byteSize:0,slot:0,name:"retval",structure:Q},{...I,type:5,flags:1,bitOffset:0,bitSize:64,byteSize:8,slot:1,name:"0",structure:M}]}}),re(G,{...A,type:14,signature:0x3bd0f1fed1ded14an,name:"fn ([]const SerializedAsset) void",length:1,instance:{members:[{...I,type:5,bitSize:64,byteSize:8,structure:K}],template:FA},static:{members:[],template:UA}}),re(v,{...A,type:8,flags:204,signature:0x384247752a6c2fa8n,name:"*const fn ([]const SerializedAsset) void",byteSize:4,align:4,instance:{members:[{...I,type:5,bitSize:32,byteSize:4,slot:0,structure:G}]}}),re(J,{...A,type:12,flags:14,signature:0xee84c3d23e38b13bn,name:"Arg(fn (*const fn ([]const SerializedAsset) void) void)",length:1,byteSize:4,align:4,instance:{members:[{...I,flags:1,bitOffset:32,bitSize:0,byteSize:0,slot:0,name:"retval",structure:Q},{...I,type:5,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:1,name:"0",structure:v}]}}),re(L,{...A,type:14,signature:0x31ed60e02d201a60n,name:"fn (*const fn ([]const SerializedAsset) void) void",length:1,instance:{members:[{...I,type:5,bitSize:32,byteSize:4,structure:J}],template:kA}}),re(x,{...A,type:12,signature:0x6364608841bf263en,name:"Arg(fn (u32) void)",length:1,byteSize:4,align:4,instance:{members:[{...I,flags:1,bitOffset:32,bitSize:0,byteSize:0,slot:0,name:"retval",structure:Q},{...I,type:3,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:1,name:"0",structure:B}]}}),re(R,{...A,type:14,signature:0x956e45a1c96ff5e6n,name:"fn (u32) void",length:1,instance:{members:[{...I,type:5,bitSize:32,byteSize:4,structure:x}],template:mA},static:{members:[],template:NA}}),re(q,{...A,type:8,flags:204,signature:0x139c4e15eb0a34d6n,name:"*const fn (u32) void",byteSize:4,align:4,instance:{members:[{...I,type:5,bitSize:32,byteSize:4,slot:0,structure:R}]}}),re(Y,{...A,type:12,flags:14,signature:0xfaa14a525ee0f8d4n,name:"Arg(fn (*const fn (u32) void) void)",length:1,byteSize:4,align:4,instance:{members:[{...I,flags:1,bitOffset:32,bitSize:0,byteSize:0,slot:0,name:"retval",structure:Q},{...I,type:5,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:1,name:"0",structure:q}]}}),re(H,{...A,type:14,signature:0x651c6f0337fe6099n,name:"fn (*const fn (u32) void) void",length:1,instance:{members:[{...I,type:5,bitSize:32,byteSize:4,structure:Y}],template:bA}}),re(O,{...A,type:12,signature:0xb1afac27f34003f4n,name:"Arg(fn (f32, f32) void)",length:2,byteSize:8,align:4,instance:{members:[{...I,flags:1,bitOffset:64,bitSize:0,byteSize:0,slot:0,name:"retval",structure:Q},{...I,type:4,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:1,name:"0",structure:C},{...I,type:4,flags:1,bitOffset:32,bitSize:32,byteSize:4,slot:2,name:"1",structure:C}]}}),re(P,{...A,type:14,signature:0x63bac1760494db20n,name:"fn (f32, f32) void",length:2,instance:{members:[{...I,type:5,bitSize:64,byteSize:8,structure:O}],template:MA}}),re(T,{...A,type:12,signature:0xc165ab159aacc338n,name:"Arg(fn (f32) void)",length:1,byteSize:4,align:4,instance:{members:[{...I,flags:1,bitOffset:32,bitSize:0,byteSize:0,slot:0,name:"retval",structure:Q},{...I,type:4,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:1,name:"0",structure:C}]}}),re(z,{...A,type:14,signature:0x74e7ceb2f1b8e198n,name:"fn (f32) void",length:1,instance:{members:[{...I,type:5,bitSize:32,byteSize:4,structure:T}],template:KA}}),re(V,{...A,type:12,flags:10,signature:0x9d8f5b87c05655fbn,name:"Arg(fn (u32, [4]PointUV, u32) void)",length:3,byteSize:72,align:4,instance:{members:[{...I,flags:1,bitOffset:576,bitSize:0,byteSize:0,slot:0,name:"retval",structure:Q},{...I,type:3,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:1,name:"0",structure:B},{...I,type:5,flags:1,bitOffset:32,bitSize:512,byteSize:64,slot:2,name:"1",structure:m},{...I,type:3,flags:1,bitOffset:544,bitSize:32,byteSize:4,slot:3,name:"2",structure:B}]}}),re(j,{...A,type:14,signature:0x92d326bf03506c95n,name:"fn (u32, [4]PointUV, u32) void",length:3,instance:{members:[{...I,type:5,bitSize:576,byteSize:72,structure:V}],template:GA}}),re(W,{...A,type:12,signature:0xfa22378c989ae19dn,name:"Arg(fn () void)",length:0,align:1,instance:{members:[{...I,flags:1,bitOffset:0,bitSize:0,byteSize:0,slot:0,name:"retval",structure:Q}]}}),re(Z,{...A,type:14,signature:0xe3c3b022a28cd076n,name:"fn () void",length:0,instance:{members:[{...I,type:5,bitSize:0,byteSize:0,structure:W}],template:vA}}),re(X,{...A,flags:1,signature:0x6eddab4b13ff06c5n,name:"bool",byteSize:1,align:1,instance:{members:[{...I,type:1,bitOffset:0,bitSize:1,byteSize:1,structure:X}]}}),re(_,{...A,type:12,flags:14,signature:0x85fe3287727e2e0en,name:"Arg(fn ([]const SerializedAsset, bool) void)",length:2,byteSize:12,align:4,instance:{members:[{...I,flags:1,bitOffset:64,bitSize:0,byteSize:0,slot:0,name:"retval",structure:Q},{...I,type:5,flags:1,bitOffset:0,bitSize:64,byteSize:8,slot:1,name:"0",structure:M},{...I,type:1,flags:1,bitOffset:64,bitSize:1,byteSize:1,slot:2,name:"1",structure:X}]}}),re($,{...A,type:14,signature:0x0f521e207596cb59n,name:"fn ([]const SerializedAsset, bool) void",length:2,instance:{members:[{...I,type:5,bitSize:96,byteSize:12,structure:_}],template:JA}}),re(AA,{...A,type:2,flags:4096,signature:0x239ab4f327f6ac1bn,name:"index",align:1,static:{members:[{...I,type:5,flags:2,slot:0,name:"connect_web_gpu_programs",structure:w},{...I,type:5,flags:2,slot:1,name:"connect_on_asset_update_callback",structure:L},{...I,type:5,flags:2,slot:2,name:"connect_on_asset_selection_callback",structure:H},{...I,type:5,flags:2,slot:3,name:"ASSET_ID_TRESHOLD",structure:B},{...I,type:5,flags:2,slot:4,name:"init_state",structure:P},{...I,type:5,flags:2,slot:5,name:"update_render_scale",structure:z},{...I,type:5,flags:2,slot:6,name:"add_asset",structure:j},{...I,type:5,flags:2,slot:7,name:"remove_asset",structure:Z},{...I,type:5,flags:2,slot:8,name:"on_update_pick",structure:R},{...I,type:5,flags:2,slot:9,name:"on_pointer_down",structure:P},{...I,type:5,flags:2,slot:10,name:"on_pointer_up",structure:Z},{...I,type:5,flags:2,slot:11,name:"on_pointer_move",structure:P},{...I,type:5,flags:2,slot:12,name:"on_pointer_leave",structure:Z},{...I,type:5,flags:2,slot:13,name:"canvas_render",structure:Z},{...I,type:5,flags:2,slot:14,name:"picks_render",structure:Z},{...I,type:5,flags:2,slot:15,name:"reset_assets",structure:$},{...I,type:5,flags:2,slot:16,name:"destroy_state",structure:Z},{...I,type:5,flags:2,slot:17,name:"import_icons",structure:c}],template:LA}});const Be=[Q,C,o,r,B,n,s,E,a,c,u,l,f,h,w,D,y,d,p,S,F,U,k,m,N,b,M,K,G,v,J,L,x,R,q,Y,H,O,P,T,z,V,j,W,Z,X,_,$,AA],ne=AA,se={runtimeSafety:!1,littleEndian:!0,libc:!1},Ee=(0,i.M)();Ee.recreateStructures(Be,se);const ae=(async()=>{const A=atob("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QcCFECECDAELIAEgAjYCiAUgAUEAOwGMBSABQYgFaiECCyACLwEEIgINAiAEEAYLIAEgBDYCfCABQgA3AnQgAUKEgICAEDcCbCABQqCAgIAQNwJkIAFCADcCXCABQgU3AlQgAUIANwJMIAMgAUHMAGpBABAZIgJB//8DcQ0BAkBBFkEAQQAQDyICDQAgAEEMOwEEDAULIAIQBCICDQILQRUhAgsgACACOwEEDAILIAMgAkEAEAUCQAJAIAMQAiICDQBBwIUQIQIMAQsgASACNgKIBSABQQA7AYwFIAFBiAVqIQILAkAgAi8BBCICRQ0AIAAgAjsBBAwCCyADEAYgASADNgJAIAFBADsBRCABQcAAaiECCyAAIAIpAwA3AgALIAFBwAVqJAALCwBBACAANgKUohAL3wgBBX8jAEGgA2siASQAAkACQAJAQQBByQAQACICRQ0AIAEgAjYCACABQQA7AQQgASECDAELIAFCDjcDGCABQgA3AxAgAUGAgAQ2AjAgAUKAgICAEDcDKCABQoGAgIAQNwMgIAFCmcH5v7Pgm47lADcDCCABQThqIAFBCGoQFwJAIAEvATwiAkUNACAAIAI7AQQMAgtBAEHJACABKAI4IgMQAQJAAkACQEEAQc0AEAAiBA0AIAFCjICAgOABNwOQASABQgA3A4gBIAFBhIAENgKoASABQoSAgIAQNwOgASABQoGAgIAQNwOYASABQtTxg/elytLQejcDgAEgAUGwAWogAUGAAWoQFyABLwG0ASICDQFBAEHNACABKAKwASIEEAEgAUG4AWoQQSABLwG8ASICDQEgASABKAK4ATYC8AEgAUKAgICAEDcC6AEgAUKAgICAEDcC4AEgAUKAgICAEDcC2AEgAUKggICAEDcC0AEgAUEBNgLMASABQgY3AsQBIAFBgYIQNgLAASAEIAFBwAFqQQAQGSICQf//A3ENAQJAQQBBygAQACIFDQAgAUKIgICAwBk3A7gCIAFCADcDsAIgAUGEgAQ2AtACIAFChICAgBA3A8gCIAFCADcDwAIgAULW6ajY3sKTzhM3A6gCIAFB2AJqIAFBqAJqEBcgAS8B3AIiAg0CQQBBygAgASgC2AIiBRABIAFB4AJqECggAS8B5AIiAg0CIAEgASgC4AI2ApgDIAFCgICAgBA3ApADIAFChICAgBA3AogDIAFC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QoGAgIAwNwL8AiABQbGFEDYC+AIgBCABQfgCakEAEBkiAkH//wNxDQECQAJAIAQQAiICDQBBwIUQIQIMAQsgASACNgL4AiABQQA7AfwCIAFB+AJqIQILIAIvAQQiAg0BIAQQBgsgASAENgJ8IAFCADcCdCABQsiAgIAQNwJsIAFCwISAgBA3AmQgAUIANwJcIAFCBTcCVCABQgA3AkwgAyABQcwAakEAEBkiAkH//wNxDQACQEEZQQBBABAPIgINACAAQQw7AQQMBAsgAhAEIgINAUEVIQILIAAgAjsBBAwCCyADIAJBABAFAkACQCADEAIiAg0AQcCFECECDAELIAEgAjYC+AIgAUEAOwH8AiABQfgCaiECCwJAIAIvAQQiAkUNACAAIAI7AQQMAgsgAxAGIAEgAzYCQCABQQA7AUQgAUHAAGohAgsgACACKQMANwIACyABQbADaiQAC/EJAwJ/AX4JfyMAQZABayIDJAACQCAADQBBAEEAKAL4oRAiAEEBajYC+KEQCyADQcgAakE4aiABQThqKQIANwMAIANByABqQTBqIAFBMGopAgA3AwAgA0HIAGpBKGogAUEoaikCADcDACADQcgAakEgaiABQSBqKQIANwMAIANByABqQRhqIAFBGGopAgA3AwAgA0HIAGpBEGogAUEQaikCADcDACADQcgAakEIaiABQQhqKQIANwMAIAMgASkCADcDSAJAAkACQAJAQQAoAtChEA0AQQEhAQJAQQAoAsihECIERQ0AIARBfGooAgCtQtAAfiIFIAVC5ACCfULkAHxC0ACApyEBC0IBQSAgAWdrrUL//wODhqcQOkH//wNxDQELIANBGGogAK1CgYCAgBB+IgVC29HQhZra34FnhUIAIAVCrJri06PS8PofhUIAELYBIANBCGogA0EYakEIaikDAELb0dCFmtrfgWeFQgAgAykDGEKryPXFx6yHu6B/hUIAELYBIANBCGpBCGopAwAgAykDCIUhBQJAAkBBACgCyKEQIgYNACAFpyEEQQAhB0F/IQgMAQsgBkF8aigCACIHQX9qIgggBadxIQQLIAVCOYinIQkCQAJAIAYgBGoiCi0AACIBRQ0AIAdFDQAgB0F/aiELIAZBeGohDCAGQXxqIQ0DQCALIQ4CQAJAAkAgAcBBf0oNACAJIAFB/wBxRw0AIAwoAgAg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AGohAgsgACACKQMANwIACyABQZABaiQAC80BAQJ/IwBB0ABrIgIkACACQQhqQQxqIAFBDGopAgA3AgAgAkEIakEUaiABQRRqKQIANwIAIAJBCGpBHGogAUEcaikCADcCACACQQhqQSRqIAFBJGopAgA3AgAgAkEIakEsaiABQSxqKQIANwIAIAJBCGpBNGogAUE0aikCADcCACACQQhqQTxqIAFBPGopAgA3AgAgAiABKAIAIgM2AgggAiABKQIENwIMIAIgASgCRCIBNgJMIAMgAkEMaiABIAARAQAgAkHQAGokAEEACwkAIAARCABBAAsOACABKAIAIAARAABBAAuMBgECfyMAQRBrIgQkAAJAAkACQCACDQACQEEAKAK0ohANAEG0ohAhAkEAIQUMAgsCQEEAKAK4ohANAEG4ohAhAkEBIQUMAgsCQEEAKAK8ohANAEG8ohAhAkECIQUMAgsCQEEAKALAohANAEHAohAhAkEDIQUMAgsCQEEAKALEohANAEHEohAhAkEEIQUMAgsCQEEAKALIohANAEHIohAhAkEFIQUMAgsCQEEAKALMohANAEHMohAhAkEGIQUMAgsCQEEAKALQohANAEHQohAhAkEHIQUMAgsCQEEAKALUohANAEHUohAhAkEIIQUMAgsCQEEAKALYohANAEHYohAhAkEJIQUMAgsCQEEAKALcohANAEHcohAhAkEKIQUMAgsCQEEAKALgohANAEHgohAhAkELIQUMAgsCQEEAKALkohANAEHkohAhAkEMIQUMAgsCQEEAKALoohANAEHoohAhAkENIQUMAgsCQEEAKALsohANAEHsohAhAkEOIQUMAgsCQEEAKALwohBFDQBB1IoQIQMMAwtB8KIQIQJBDyEFDAELQQAhAgJAIANBMUYNAAJAIANBMkcNAEEBIQIMAQsCQCADQTNHDQBBAiECDAELAkAgA0E0Rw0AQQMhAgwBCwJAIANBNUcNAEEEIQIMAQsCQCADQTZHDQBBBSECDAELAkAgA0E3Rw0AQQYhAgwBCwJAIANBOEcNAEEHIQIMAQsCQCADQTlHDQBBCCECDAELAkAgA0E6Rw0AQQkhAgwBCwJAIANBO0cNAEEKIQIMAQsCQCADQTxHDQBBCyECDAELAkAgA0E9Rw0AQQwhAgwBCwJAIANBPkcNAEENIQIMAQsCQCAD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wtWguu7R5dEPNwOAASABQbABaiABQYABahAXIAEvAbQBIgINAUEAQcEAIAEoArABIgQQASABQbgBahBJIAEvAbwBIgINASABIAEoArgBNgLwASABQoCAgIAQNwLoASABQoSAgIAQNwLgASABQqCAgIAQNwLYASABQoCAgIAQNwLQASABQQE2AswBIAFChoCAgMAANwLEASABQYGCEDYCwAEgBCABQcABakEAEBkiAkH//wNxDQEgAUH0AWoQdSABLwH4ASICDQEgASABKAL0ATYCrAIgAUKBgICAEDcCpAIgAUKQgICAEDcCnAIgAUKAgYCAEDcClAIgAUKggICAEDcCjAIgAUEBNgKIAiABQoGAgIDQADcCgAIgAUG1hRA2AvwBIAQgAUH8AWpBABAZIgJB//8DcQ0BIAFBsAJqEHUgAS8BtAIiAg0BIAEgASgCsAI2AugCIAFCgoCAgBA3AuACIAFCkICAgBA3AtgCIAFCgIGAgBA3AtACIAFCoIGAgBA3AsgCIAFBATYCxAIgAUKBgICA0AA3ArwCIAFBs4UQNgK4AiAEIAFBuAJqQQAQGSICQf//A3ENAQJAAkAgBBACIgINAEHAhRAhAgwBCyABIAI2ArgCIAFBADsBvAIgAUG4AmohAgsgAi8BBCICDQEgBBAGCyABIAQ2AnwgAUIANwJ0IAFCpICAgBA3AmwgAUKggoCAEDcCZCABQgA3AlwgAUIFNwJUIAFCADcCTCADIAFBzABqQQAQGSICQf//A3ENAAJAQdUAQQBBABAPIgINACAAQQw7AQQMBAsgAhAEIgINAUEVIQILIAAgAjsBBAwCCyADIAJBABAFAkACQCADEAIiAg0AQcCFECECDAELIAEgAjYCuAIgAUEAOwG8AiABQbgCaiECCwJAIAIvAQQiAkUNACAAIAI7AQQMAgsgAxAGIAEgAzYCQCABQQA7AUQgAUHAAGohAgsgACACKQMANwIACyABQfACaiQACwoAIAAgARCQAQALGAAgASgCACABKAIEIAEoAgggABEBAEEAC5sGAQJ/IwBBEGsiBCQAAkACQAJAIAINAAJAQQAoAvijEA0AQfijECECQQAhBQwCCwJAQQAoAvyjEA0AQfyjECECQQEhBQwCCwJAQQAoAoCkEA0AQYCkECECQQIhBQwCCwJAQQAoAoSkEA0AQYSkECEC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AwAgAiABKQIINwMIIAIgASkCGDcDGCACQShqIAJBCGogAkEIakEQaiAAEQEAIAEgAikDKDcCACACQTBqJABBAAtbAQF/IwBBIGsiAiQAIAJBCGogAUEMaikCADcDACACQRhqIAFBHGopAgA3AwAgAiABKQIENwMAIAIgASkCFDcDECABIAIgAkEQaiAAEQkAOAIAIAJBIGokAEEACwoAIAAgARCRAQALCQAgACABEBEACxIAIAAgASACQQAoAvijEBCjAQsSACAAIAEgAkEAKAL8oxAQowELEgAgACABIAJBACgCgKQQEKMBCxIAIAAgASACQQAoAoSkEBCjAQsSACAAIAEgAkEAKAKIpBAQowELEgAgACABIAJBACgCjKQQEKMBCxIAIAAgASACQQAoApCkEBCjAQsSACAAIAEgAkEAKAKUpBAQowELEgAgACABIAJBACgCmKQQEKMBCxIAIAAgASACQQAoApykEBCjAQsSACAAIAEgAkEAKAKgpBAQowELEgAgACABIAJBACgCpKQQEKMBCxIAIAAgASACQQAoAqikEBCjAQsSACAAIAEgAkEAKAKspBAQowELEgAgACABIAJBACgCsKQQEKMBCxIAIAAgASACQQAoArSkEBCjAQvaBwEEfyMAQfACayIBJAACQAJAAkBBAEE8EAAiAkUNACABIAI2AgAgAUEAOwEEIAEhAgwBCyABQg43AxggAUIANwMQIAFBgIAENgIwIAFCgICAgBA3AyggAUKCgICAEDcDICABQtOqsdPH672aVjcDCCABQThqIAFBCGoQFwJAIAEvATwiAkUNACAAIAI7AQQMAgtBAEE8IAEoAjgiAxABAkACQAJAQQBBPRAAIgQNACABQoyAgICgATcDkAEgAUIANwOIASABQYSABDYCqAEgAUKYgICAEDcDoAEgAUKCgICAEDcDmAEgAULtlIbKzr7Hs+0ANwOAASABQbABaiABQYABahAXIAEvAbQBIgINAUEAQT0gASgCsAEiBBABIAFBuAFqEI0BIAEvAbwBIgINASABIAEoArgBNgLwASABQoCAgIAQNwLoASABQoiAgIAQNwLgASABQsCAgIAQNwLYASABQoCAgIAQNwLQASABQQE2AswBIAFChoCAgNAANwLEASABQYGCEDYCwAEgBCABQcABakEAEBkiAkH//wNxDQEgAUH0AWoQjQEgAS8B+AEiAg0BIAEgASgC9AE2AqwCIAFCgYCAgBA3AqQCIAFCiICAgBA3ApwCIAFCwICAgBA3ApQCIAFCwICAgBA3AowCIAFBATYCiAIgAUKBgICA0AA3AoACIAFBtYUQNgL8ASAEIAFB/AFqQQAQGSICQf//A3ENASABQbACahCNASABLwG0AiICDQEgASABKAKwAjYC6AIgAUKCgICAEDcC4AIgAUKIgICAEDcC2AIgAULAgICAEDcC0AIgAUKAgYCAEDcCyAIgAUEBNgLEAiABQoGAgIDQADcCvAIgAUGzhRA2ArgCIAQgAUG4AmpBABAZIgJB//8DcQ0BAkACQCAEEAIiAg0AQcCFECECDAELIAEgAjYCuAIgAUEAOwG8AiABQbgCaiECCyACLwEEIgINASAEEAYLIAEgBDYCfCABQgA3AnQgAUKYgICAEDcCbCABQsCBgIAQNwJkIAFCADcCXCABQgU3AlQgAUIANwJMIAMgAUHMAGpBABAZIgJB//8DcQ0AAkBB5gBBAEEAEA8iAg0AIABBDDsBBAwECyACEAQiAg0BQRUhAgsgACACOwEEDAILIAMgAkEAEAUCQAJAIAMQAiICDQBBwIUQIQIMAQsgASACNgK4AiABQQA7AbwCIAFBuAJqIQILAkAgAi8BBCICRQ0AIAAgAjsBBAwCCyADEAYgASADNgJAIAFBADsBRCABQcAAaiECCyAAIAIpAwA3AgALIAFB8AJqJAALjgEBAX8jAEEgayIEJAAgBCACNgIUIAQgATYCECAEIAA2AgxBACECAkBBAC0A9KMQDQAgBEF/NgIYIAQgBEEYajYCHCAEQRhqIQILAkACQAJAAkAgAyAEQQxqQQwgAhAQQX9qDgMCAAEDC0HuhBBBIhB6AAtB04QQQRoQegALQbiEEEEaEHoACyAEQSBqJAALSAEBfyMAQSBrIgIkACACIAEpAgg3AwggAiABKQIQNwMQIAJBGGogAkEIaiACQRBqIAARAQAgASACKQMYNwIAIAJBIGokAEEACwsAQQBBAToA9KMQC7sBAwF/AX4BfyMAQRBrIgIkAAJAQQAtAMCkEA0AQQApA/CKECIDp0GAgARBAEEAIANCIIinKAIAEQQAIQRBAEEBOgDcpBBBAEGAgAQ2AtikEEEAIAQ2AtSkEEEAIAM3A8ikEEEAQQE6AMCkEEEAQfiKEDYCvKQQQQBByKQQNgK4pBBBAEEANgLQpBALQQApA7ikECIDpyAAIAFBASABQQFLG2hBACADQiCIpygCABEEACEBIAJBEGokACABC7YBAQd/IwBBEGsiBCQAIAQgAkEfcSIFOgALIAAoAgwhBiAAKAIIIQcCQAJAAkACQCAFDQBBACEFDAELIARBASACdCIIIAYgB2oiBWpBf2oiCSAFSSIKOgAMIAoNASAJQQAgCGtxIAVrIQULIAUgB2oiBSABaiIHIAAoAhBLDQAgACAHNgIIIAZFDQAgBiAFaiEADAELIAAoAgAgASACIAMgACgCBCgCABEEACEACyAEQRBqJAAgAAuPAQECfwJAAkACQCAAQQxqKAIAIgYgAUsNACAAQRBqKAIAIgcgBmogAU0NAAJAIAEgAmogBiAAKAIIIgFqRg0AIAQgAk0PCyABIAQgAmtqIQYgBCACTQ0CQQAhASAGIAdNDQIMAQsgACgCACABIAIgAyAEIAUgACgCBCgCBBEFACEBCyABDwsgACAGNgIIQQELkAEBAn8CQAJAIABBDGooAgAiBiABSw0AIABBEGooAgAiByAGaiABTQ0AAkACQCABIAJqIAYgACgCCCIFakcNACAFIAQgAmtqIQYgBCACTQ0BIAYgB00NAUEADwsgBCACTQ0CQQAPCyAAIAY2AgggAQ8LIAAoAgAgASACIAMgBCAFIAAoAgQoAggRBQAhAQsgAQteAQF/AkACQCAAQQxqKAIAIgUgAUsNACAAQRBqKAIAIAVqIAFNDQAgASACaiAFIAAoAggiAWpHDQEgACABIAJrNgIIDwsgACgCACABIAIgAyAEIAAoAgQoAgwRAwALC7kBAwF/AX4BfyMAQRBrIgMkAAJAQQAtAMCkEA0AQQApA/CKECIEp0GAgARBAEEAIARCIIinKAIAEQQAIQVBAEEBOgDcpBBBAEGAgAQ2AtikEEEAIAU2AtSkEEEAIAQ3A8ikEEEAQQE6AMCkEEEAQfiKEDYCvKQQQQBByKQQNgK4pBBBAEEANgLQpBALQQApA7ikECIEpyAAIAEgAkEBIAJBAUsbaEEAIARCIIinKAIMEQMAIANBEGokAAsaACABIAJBqtWq1XogAhsgABEKAEH//wNxRQsnACABIAJBqtWq1XogAhsgA0Gq1arVeiACGyAEIAARBABB//8DcUULzgQCCH8BfiMAQRBrIgIkAEEAIQNBAC0A9KMQIQQgAkEAQQAgASAAEQsAAkACQAJAIAIvAQQNACACKAIAIQMMAQsgBEEBcUUNASAAIAEQEiEDC0EALQD0oxBFDQAgA0UNAAJAAkACQAJAQQAoAoSiECIFQQAoAoCiECIGSw0AIAUhAANAQX8gAEEBdiAAakEIaiIEIAQgAEkbIgAgBk0NAAtBACEEQQAoAvyhECEHIAUNAUEAIQYMAgtBACgC/KEQIQQMAgtBACgCjKIQIQZBACgCiKIQIQggAiAAQf////8BSzoACAJAIABBgICAgAJJDQBBACEEQQAhBgwBC0EAIQQCQCAIIAcgBUEDdEECIABBA3QiCUEAIAYoAggRBQAiBg0AQQAhBgwBCyAGQarVqtV6IAkbIQQgAEH/////AXFBACAJGyEGCwJAIARFDQBBACAENgL8oRBBACAGNgKEohAMAQtBACkCiKIQIQogAiAAQf////8BSzoADCAAQYCAgIACTw0BAkACQCAAQQN0IgQNAEF8IQQMAQsgCqcgBEECQQAgCkIgiKcoAgARBAAiBEUNAgsCQEEAKAKAohAiBkUNACAEQQAoAvyhECAGQQN0/AoAAAsCQCAFQQN0IgZFDQBBACkCiKIQIgqnIAdBqtWq1XogBRsgBkECQQAgCkIgiKcoAgwRAwALQQAgADYChKIQQQAgBDYC/KEQC0EAQQAoAoCiECIAQQFqNgKAohAgBCAAQQN0aiADrUIghiABrYQ3AgALIAJBEGokACADC+oBAgV/AX4jAEEQayICJABBACEDQQAtAPSjECEEIAJBCGpBAEEBIAEgABELAAJAAkACQCACLwEMDQAgAigCCCEDDAELIARBAXFFDQEgACABEBMhAwtBAC0A9KMQRQ0AIANFDQBBACEEQQAoAoCiECIFRQ0AQQAoAvyhECIGIQADQAJAIABBBGooAgAgAUcNAAJAIAVBf2oiASAERw0AQQAgBDYCgKIQDAMLIAYgBUEDdGpBeGopAgAhB0EAIAE2AoCiECAAIAc3AgAMAgsgAEEIaiEAIAUgBEEBaiIERw0ACwsgAkEQaiQAIAMLAgALBABBAQvoAgEDfyMAQRBrIgQkACAEIAJBH3E6AA8CQAJAQX8gAUEEaiIFIAUgAUkbIgFBASACdCICIAEgAksbIgFBf2pnIgINAEEAIQIMAQsCQEIBQSAgAmutQv//A4OGpyIFaEF9aiICQQ1JDQACQEIBQSAgAUGDgARqQRB2QX9qZ2utQv//A4OGpyIBaEECdEHIpRBqIgUoAgAiAkUNACAFIAFBEHQgAmpBfGooAgA2AgAMAgtBACABQAAiAkEQdCACQX9GGyECDAELAkAgAkECdCIGQeCkEGoiASgCACICRQ0AIAEgBSACakF8aigCADYCAAwBCwJAIAZBlKUQaiIBKAIAIgJB//8DcQ0AQQAhAgJAAkBBACgCyKUQIgZFDQBBACAGKAL8/wM2AsilECAGIQIMAQtBAUAAIgZBAWpBAkkNAiAGQRB0IQILIAEgAiAFajYCAAwBCyABIAIgBWo2AgALIARBEGokACACC9UBAQJ/IwBBEGsiBiQAIAYgA0EfcToAD0F/IARBBGoiByAHIARJGyIEQQEgA3QiAyAEIANLGyEEAkACQAJAQgFBICACQQRqIgIgAyACIANLGyIDQX9qZ2utQv//A4OGpyICaEF9akEMSw0AIARBf2pnIgMNAUEAIQMMAgtCAUEgIANBg4AEakEQdkF/amdrrUL//wODhqdCAUEgIARBg4AEakEQdkF/amdrrUL//wODhqdGIQMMAQsgAkIBQSAgA2utQv//A4OGp0YhAwsgBkEQaiQAIAML1AEBAn8jAEEQayIGJAAgBiADQR9xOgAPQX8gBEEEaiIHIAcgBEkbIgRBASADdCIDIAQgA0sbIQQCQAJAAkBCAUEgIAJBBGoiAiADIAIgA0sbIgNBf2pna61C//8Dg4anIgJoQX1qQQxLDQAgBEF/amciA0UNASACQgFBICADa61C//8Dg4anRw0BDAILQgFBICADQYOABGpBEHZBf2pna61C//8Dg4anQgFBICAEQYOABGpBEHZBf2pna61C//8Dg4anRg0BC0EAIQELIAZBEGokACABC7YBAQJ/IwBBEGsiBSQAIAUgA0EfcToADwJAAkBCAUEgIAJBBGoiAkEBIAN0IgMgAiADSxsiA0F/amdrrUL//wODhqciAmhBfWoiBkENTw0AIAZBAnRB4KQQaiEDIAEgAmpBfGohAgwBC0IBQSAgA0GDgARqQRB2QX9qZ2utQv//A4OGpyICaEECdEHIpRBqIQMgASACQRB0akF8aiECCyACIAMoAgA2AgAgAyABNgIAIAVBEGokAAt1AQF+IAAgBCABfiACIAN+fCADQiCIIgIgAUIgiCIEfnwgA0L/////D4MiAyABQv////8PgyIBfiIFQiCIIAMgBH58IgNCIIh8IANC/////w+DIAIgAX58IgFCIIh8NwMIIAAgAUIghiAFQv////8Pg4Q3AwAL1AICA34CfwJAAkACQCAAIABiDQAgAL0iAkL///////////8Ag0KAgICAgICA+P8AWg0AIAJCgICAgICAgICAf4MhA0ELIAJCAYYiBHmnayAEQjWIpyAEQoCAgICAgIAQVBshBQJAIAFBAEgNAEH+DyAFayABSA0CAkAgBSABaiIGQQFODQAgAiABQT9xrYYgA4S/DwsCQCAFQQBKDQAgAkEBIAVrrYZC/////////weDIAatQjSGhCADhL8PCyABrUI0hiACfL8PC0EAIAFrIQZBACAFayABSA0CAkBBTCAFayABTA0AIAO/DwsgBUEASq1CNIYgAkL/////////B4OEIAZBASAFIAFqayIBIAYgAUgbQX9qQT9xrSIEiEIBfEIBiCACeiAEUa1Cf4WDIAOEvyEACyAADwsgA0KAgICAgICA+P8AhL8PCyACIAatQjSGfb8LlgkDA38BfQN8IwBBEGsiASQAAkACQCAAvCICQf////8HcSIDQdqfpPoDSw0AQwAAgD8hBCADQYCAgMwDSQ0BIAC7IgUgBaIiBUSBXgz9///fv6JEAAAAAAAA8D+gIAUgBaIiBkRCOgXhU1WlP6KgIAUgBqIgBURpUO7gQpP5PqJEJx4P6IfAVr+goqC2IQQMAQsCQAJAAkACQCADQdKn7YMESQ0AIANB1uOIhwRPDQIgA0Hf27+FBE0NAUQYLURU+yEZwEQYLURU+yEZQCACQX9KGyAAu6AiBSAFoiIFRIFeDP3//9+/okQAAAAAAADwP6AgBSAFoiIGREI6BeFTVaU/oqAgBSAGoiAFRGlQ7uBCk/k+okQnHg/oh8BWv6CioLYhBAwECyAAuyEFIANB45fbgARLDQICQCACQX9KDQAgBUQYLURU+yH5P6AiBiAGIAaiIgWiIgcgBSAFoqIgBUSnRjuMh83GPqJEdOfK4vkAKr+goiAGIAcgBUSy+26JEBGBP6JEd6zLVFVVxb+goqCgtiEEDAQLRBgtRFT7Ifk/IAWhIgYgBiAGoiIFoiIHIAUgBaKiIAVEp0Y7jIfNxj6iRHTnyuL5ACq/oKIgBiAHIAVEsvtuiRARgT+iRHesy1RVVcW/oKKgoLYhBAwDCwJAIAJBf0oNAETSITN/fNkSwCAAu6EiBiAGIAaiIgWiIgcgBSAFoqIgBUSnRjuMh83GPqJEdOfK4vkAKr+goiAGIAcgBUSy+26JEBGBP6JEd6zLVFVVxb+goqCgtiEEDAMLIAC7RNIhM3982RLAoCIGIAYgBqIiBaIiByAFIAWioiAFRKdGO4yHzcY+okR058ri+QAqv6CiIAYgByAFRLL7bokQEYE/okR3rMtUVVXFv6CioKC2IQQMAgsCQCADQf////sHSw0AIAAgAUEIahC5ASEDIAErAwghBQJAAkACQAJAIANBA3EOBAABAgMACyAFIAWiIgVEgV4M/f//37+iRAAAAAAAAPA/oCAFIAWiIgZEQjoF4VNVpT+ioCAFIAaiIAVEaVDu4EKT+T6iRCceD+iHwFa/oKKgtiEEDAULIAUgBaIiBiAFmqIiByAGIAaioiAGRKdGO4yHzcY+okR058ri+QAqv6CiIAcgBkSy+26JEBGBP6JEd6zLVFVVxb+goiAFoaC2IQQMBAsgBSAFoiIFRIFeDP3//9+/okQAAAAAAADwP6AgBSAFoiIGREI6BeFTVaU/oqAgBSAGoiAFRGlQ7uBCk/k+okQnHg/oh8BWv6CioLaMIQQMAwsgBSAFIAWiIgaiIgcgBiAGoqIgBkSnRjuMh83GPqJEdOfK4vkAKr+goiAFIAcgBkSy+26JEBGBP6JEd6zLVFVVxb+goqCgtiEEDAILIAAgAJMhBAwBC0QYLURU+yEJwEQYLURU+yEJQCACQX9KGyAFoCIFIAWiIgVEgV4M/f//37+iRAAAAAAAAPA/oCAFIAWiIgZEQjoF4VNVpT+ioCAFIAaiIAVEaVDu4EKT+T6iRCceD+iHwFa/oKKgtowhBAsgAUEQaiQAIAQLggMDA38DfAF/IwBBEGsiAiQAAkACQCAAvCIDQf////8HcSIEQdqfpO4ESw0AIAEgALsiBSAFRIPIyW0wX+Q/okQAAAAAAAA4Q6BEAAAAAAAAOMOgIgZEAAAAUPsh+b+ioCAGRGNiGmG0EFG+oqAiBzkDACAG/AIhBAJAIAdEAAAAYPsh6b9jRQ0AIAEgBSAGRAAAAAAAAPC/oCIGRAAAAFD7Ifm/oqAgBkRjYhphtBBRvqKgOQMAIARBf2ohBAwCCyAHRAAAAGD7Iek/ZEUNASABIAUgBkQAAAAAAADwP6AiBkQAAABQ+yH5v6KgIAZEY2IaYbQQUb6ioDkDACAEQQFqIQQMAQsCQCAEQf////sHSw0AIAIgBCAEQRd2Qep+aiIIQRd0a767OQMAIAIgAkEIaiAIQQFBABC6ASEEIAIrAwghBgJAIANBf0oNACABIAaaOQMAQQAgBGshBAwCCyABIAY5AwAMAQsgASAAIACTuzkDAEEAIQQLIAJBEGokACAEC6EdBQt/AnwDfwF8DH8jAEGwBGsiBSQAQQAhBiACQX1qIgdBGG0iCCAHIAhBGGxrQYCAgIB4S2siB0EAIAdBAEobIglBaGwgAmohCgJAIARBAnRBqIsQaigCACILIANBf2oiDGoiAkEASA0AIAkgDGshDSALIANqIghBAXEhDgJAIAJFDQAgCUECdCADQQJ0a0HAixBqIQcgCEF+cSEPQQAhBiAFQdAAaiECA0BEAAAAAAAAAAAhEEQAAAAAAAAAACERAkAgDSAGaiIIQX9MDQAgB0F8aigCALchEQsgAiAROQMAAkAgCEF/SA0AIAcoAgC3IRALIAJBCGogEDkDACAHQQhqIQcgAkEQaiECIA8gBkECaiIGRw0ACyANIAZqIQ0LIA5FDQAgBUHQAGogBkEDdGohAgJAAkAgDUEATg0ARAAAAAAAAAAAIREMAQsgDUECdEG4ixBqKAIAtyERCyACIBE5AwALIApBaGohEkEAIQ0gC0EAIAtBAEobIQ4CQAJAIANBAEoNACAOQQFqQQdxIgZFDQEgBUGQA2ohAgNAIAJCADcDACACQQhqIQIgBkF/aiIGDQAMAgsLIANB/v///wdxIQggA0EBcSETIANBA3QgBUHQAGpqQXBqIQ8DQEEAIQdEAAAAAAAAAAAhEQJAIAxFDQAgDyECIAAhBgNAIBEgBisDACACQQhqKwMAoqAgBkEIaisDACACKwMAoqAhESACQXBqIQIgBkEQaiEGIAggB0ECaiIHRw0ACwsCQCATRQ0AIBEgACAHQQN0aisDACAFQdAAaiANIAxqIAdrQQN0aisDAKKgIRELIAVBkANqIA1BA3RqIBE5AwAgD0EIaiEPIA0gDkYhAiANQQFqIQ0gAkUNAAsLQoCAgICAgID4P0EYIAprIhStQjSGfb9EAAAAAAAAAABCgICAgICAgAggFEGaeCAKayICIBQgAkgbQX9qQT9xIgKtiEIBfEIBiCACQTRGrUJ/hYO/IBJBzXdJGyASQYF4SxtEAAAAAAAA8H8gEq1CNIZCgICAgICAgPg/fL8gEkH/B0sbIBJBAEgbIRVB////A0H///8BIBJBAUYbIRYgA0H+////B3EhCCADQQFxIRcgBUF8aiIYIAtBAnRqIRlBDyAKa0EfcSEaQRAgCmtBH3EhGyAFQdAAakF4aiEcIAVBcGohHSAFQZADakFwaiEeIAshDQJAA0AgBUGQA2ogDUEDdCICaisDACERAkAgDUEBSCIODQBBACEHAkACQCANQQFHDQAgDSECDAELIA1B/v///wdxIQ8gHiACaiECQQAhByAFIQYDQCAGIBEgEUQAAAAAAABwPqL8ArciEEQAAAAAAABwQaKh/AI2AgAgBkEEaiACQQhqKwMAIBCgIhEgEUQAAAAAAABwPqL8ArciEUQAAAAAAABwQaKh/AI2AgAgAisDACARoCERIAJBcGohAiAGQQhqIQYgDyAHQQJqIgdHDQALIA0gB2shAgsgDUEBcUUNACAFIAdBAnRqIBEgEUQAAAAAAABwPqL8ArciEEQAAAAAAABwwaKg/AI2AgAgAkEDdCAFQZADampBeGorAwAgEKAhEQsgESASELcBIhEgEUQAAAAAAADAP6KcRAAAAAAAACDAoqAiESAR/AIiH7ehIRECQAJAAkACQCASQQBKIiBFDQAgDUECdCAFakF8aiICIAIoAgAiAiACIBt1IgIgG3RrIgY2AgAgBiAadSETIAIgH2ohHwwBCwJAIBINACANQQJ0IAVqQXxqKAIAQRd1IRMMAQtBAiEhQQAhEyARRAAAAAAAAOA/Zg0BDAILIBNBAEwNASATISELAkACQCAORQ0AQQAhBgwBC0EAIQZBACEPAkAgDUEBRg0AIA1B/v///wdxIRNBACEGIAUhAkEAIQ8DQCACKAIAIQcCQAJAAkAgBkUNAEH///8HIQYMAQsCQCAHRQ0AQYCAgAghBgwBC0EBIQcMAQsgAiAGIAdrNgIAQQAhBwsgAkEEaiIOKAIAIQYCQAJAAkACQCAHDQBB////ByEHDAELIAZFDQFBgICACCEHCyAOIAcgBms2AgBBASEGDAELQQAhBgsgAkEIaiECIBMgD0ECaiIPRw0ACwsgDUEBcUUNACAFIA9BAnRqIgcoAgAhAgJAAkACQCAGRQ0AQf///wchBgwBCyACRQ0BQYCAgAghBgsgByAGIAJrNgIAQQEhBgwBC0EAIQYLAkAgIEUNACANQQJ0IAVqQXxqIgIgAigCACAWcTYCAAsgH0EBaiEfQQIhEyAhQQJHDQBEAAAAAAAA8D8gEaEiESAVoSARIAYbIRELAkAgEUQAAAAAAAAAAGINAAJAIA0gC0wNACANIAtrIgJBA3EhB0EAIQYgDSEPAkAgCyANa0F8Sw0AIAJBfHEhDiAdIA1BAnRqIQJBACEGIA0hDwNAIAIoAgAgAkEEaigCACACQQhqKAIAIAJBDGooAgAgBnJycnIhBiACQXBqIQIgD0F8aiEPIA5BfGoiDg0ACwsCQCAHRQ0AIBggD0ECdGohAgNAIAIoAgAgBnIhBiACQXxqIQIgB0F/aiIHDQALCyAGRQ0AIAUgDUECdGpBfGohAgNAIA1Bf2ohDSASQWhqIRIgAigCACEGIAJBfGohAiAGRQ0ADAQLCyAZIQIgDSEPA0AgD0EBaiEPIAIoAgAhBiACQXxqIQIgBkUNAAsgHCADIA1qQQN0aiEOA0AgBUHQAGogDSADaiITQQN0aiANQQFqIg0gCWpBAnRBuIsQaigCALc5AwACQAJAIANBAU4NAEQAAAAAAAAAACERDAELQQAhB0QAAAAAAAAAACERAkAgDEUNACAOIQIgACEGA0AgESAGKwMAIAJBCGorAwCioCAGQQhqKwMAIAIrAwCioCERIAJBcGohAiAGQRBqIQYgCCAHQQJqIgdHDQALCyAXRQ0AIBEgACAHQQN0aisDACAFQdAAaiATIAdrQQN0aisDAKKgIRELIAVBkANqIA1BA3RqIBE5AwAgDkEIaiEOIA0gD0gNAAsgDyENDAELCwJAIBEgFBC3ASIRRAAAAAAAAHBBZkUNACAFIA1BAWoiAkECdGogEUQAAAAAAABwPqL8AiIGNgIAIAUgDUECdGogESAGt0QAAAAAAABwwaKg/AI2AgAgCiESIAIhDQwBCyAFIA1BAnRqIBH8AjYCAAsCQAJAIBJBAEgNAAJAIBJB/wdNDQBEAAAAAAAA8H8hEQwCCyASrUI0hkKAgICAgICA+D98vyERDAELQQAgEmshAgJAAkAgEkGBeEsNACASQc13Tw0BRAAAAAAAAAAAIREMAgtCgICAgICAgPg/IAKtQjSGfb8hEQwBC0KAgICAgICACCACQYJ4IBJrIgYgAiAGSBtBf2pBP3EiAq2IQgF8QgGIIAJBNEatQn+Fg78hEQsCQCANQQBIDQACQAJAIA1BAXFFDQAgDSEGDAELIAVBkANqIA1BA3RqIBEgBSANQQJ0aigCALeiOQMAIA1Bf2ohBiARRAAAAAAAAHA+oiERCwJAIA1FDQAgBkEBaiEHIAZBA3QgBUGQA2pqQXhqIQIgBkECdCAFakF8aiEGA0AgAiARRAAAAAAAAHA+oiIQIAYoAgC3ojkDACACQQhqIBEgBkEEaigCALeiOQMAIAJBcGohAiAGQXhqIQYgEEQAAAAAAABwPqIhESAHQX5qIgcNAAsLIA1BAEgNACAFQZADaiANQQN0aiEIIA0hAgNAAkACQCALIA0gAiIOayIDIAsgA0gbIglBAE4NAEQAAAAAAAAAACERDAELAkACQCAJDQBBACEGRAAAAAAAAAAAIREMAQsgCUEBakF+cSEPRAAAAAAAAAAAIRFBACECQQAhBgNAIBEgAkGAoRBqKwMAIAggAmoiBysDAKKgIAJBiKEQaisDACAHQQhqKwMAoqAhESACQRBqIQIgDyAGQQJqIgZHDQALCyAJQQFxDQAgESAGQQN0QYChEGorAwAgBUGQA2ogBiAOakEDdGorAwCioCERCyAFQfABaiADQQN0aiAROQMAIAhBeGohCCAOQX9qIQIgDkEASg0ACwsCQAJAIARFDQACQAJAIA1BAE4NAEQAAAAAAAAAACERDAELAkACQCANQQFqQQNxIgcNAEQAAAAAAAAAACERIA0hBgwBCyAFQfABaiANQQN0aiECRAAAAAAAAAAAIREgDSEGA0AgBkF/aiEGIBEgAisDAKAhESACQXhqIQIgB0F/aiIHDQALCyANQQNJDQAgBkEBaiEHIAZBA3QgBUHwAWpqQWhqIQIDQCARIAJBGGorAwCgIAJBEGorAwCgIAJBCGorAwCgIAIrAwCgIREgAkFgaiECIAdBfGoiBw0ACwsgASARmiARIBMbOQMAIAUrA/ABIBGhIRFBASECAkAgDUEBSA0AIA1BA3EhBgJAIA1BBEkNACANQfz///8HcSEIIAVB8AFqQSBqIQJBACEHA0AgESACQWhqKwMAoCACQXBqKwMAoCACQXhqKwMAoCACKwMAoCERIAJBIGohAiAIIAdBBGoiB0cNAAsgB0EBaiECCyAGRQ0AIAVB8AFqIAJBA3RqIQIDQCARIAIrAwCgIREgAkEIaiECIAZBf2oiBg0ACwsgASARmiARIBMbOQMIDAELAkACQCANQQBODQBEAAAAAAAAAAAhEQwBCwJAAkAgDUEBakEDcSIHDQBEAAAAAAAAAAAhESANIQYMAQsgBUHwAWogDUEDdGohAkQAAAAAAAAAACERIA0hBgNAIAZBf2ohBiARIAIrAwCgIREgAkF4aiECIAdBf2oiBw0ACwsgDUEDSQ0AIAZBAWohByAGQQN0IAVB8AFqakFoaiECA0AgESACQRhqKwMAoCACQRBqKwMAoCACQQhqKwMAoCACKwMAoCERIAJBYGohAiAHQXxqIgcNAAsLIAEgEZogESATGzkDAAsgBUGwBGokACAfQQdxC+YIAwN+BX8CfAJAAkACQCAAvSIDQv///////////wCDQv/////////3/wBWDQAgAb0iBEL///////////8Ag0KAgICAgICA+P8AVA0BCyAAIAGiIAKgIQIMAQsgAr0iBUL///////////8Ag0L/////////9/8AVg0AAkACQCAARAAAAAAAAAAAYQ0AIAFEAAAAAAAAAABiDQELIAAgAaIgAqAPCwJAIAJEAAAAAAAAAABiDQAgACABog8LQQAhBgJAAkAgA0I0iKciB0H/D3EiCEH/D0cNAEEAIQcMAQsCQAJAIAgNACADQv////////8Hg1BFDQFBACEHDAILIANC/////////4eAf4NCgICAgICAgPA/hCEDIAdB/w9xQYJ4aiEHDAELIANCgICAgICAgICAf4NCACADIANCDIZ5pyIIQQFqrYZC/////////weDIAhBP3FBMksbhEKAgICAgICA8D+EIQNBgnggCGshBwsCQCAEQjSIpyIJQf8PcSIIQf8PRg0AAkAgCA0AIARC/////////weDUA0BIARCgICAgICAgICAf4NCACAEIARCDIZ5pyIGQQFqrYZC/////////weDIAZBP3FBMksbhEKAgICAgICA8D+EIQRBgnggBmshBgwBCyAEQv////////+HgH+DQoCAgICAgIDwP4QhBCAJQf8PcUGCeGohBgtBACEIAkAgBUI0iKciCkH/D3EiCUH/D0YNAAJAIAkNACAFQv////////8Hg1ANASAFQoCAgICAgICAgH+DQgAgBSAFQgyGeaciCEEBaq2GQv////////8HgyAIQT9xQTJLG4RCgICAgICAgPA/hCEFQYJ4IAhrIQgMAQsgBUL/////////h4B/g0KAgICAgICA8D+EIQUgCkH/D3FBgnhqIQgLIAO/IQIgBL8hAAJAAkAgBiAHaiIGIAhrIghB6wBODQAgBb9BACAIaxC3ASELDAELIAVCgICAgICAgICAf4NCgICAgICAgAiEvyELCyACIAJEAAAAAgAAoEGiIgEgAiABoaAiAaEiDCAAIABEAAAAAgAAoEGiIgIgACACoaAiAqEiAKIgDCACoiABIACioCIAIAEgAqIiAiACIACgIgChoKAhAQJAIAAgC6AiAkQAAAAAAAAAAGINACACIAEgBhC3AaAPCwJAIAEgASALIAIgAKEiDKEgACACIAyhoaAiC6AiACALoSIMoSALIAAgDKGhoCIBRAAAAAAAAAAAYQ0AIAC9IgOnQQFxDQAgA0IBhCABvSADhUI+iH2/IQALAkACQAJAIAK9Qv///////////wCDIgNCNIinIghB/w9GDQAgCA0BAkAgA1BFDQBBgICAgHghCAwDC0GNeCADeadrIQgMAgtBgICAgHhB/////wcgA0KAgICAgICA+P8AVhshCAwBCyAIQYF4aiEICwJAIAggBmpBgnhIDQAgAiAAoCAGELcBDwsgAiAAIAYQvAEPCyACC2cCAnwBfgJAIAEgACABoCIDIAChIgShIAAgAyAEoaGgIgBEAAAAAAAAAABhDQAgA70iBUIBg1AgBUI0iKdB/w9xQQAgAmtHRg0AIAUgAL0gBYVCPohCAoN9QgF8vyEDCyADIAIQtwELJwACQCAAIABcDQACQCABIAFbDQAgAA8LIAAgASAAIAFdGyEBCyABC5UJAgN/A3wjAEEQayIBJAACQAJAIAC8IgJB/////wdxIgNB2p+k+gNLDQAgA0GAgIDMA0kNASAAuyIEIASiIgUgBKIiBiAFIAWioiAFRKdGO4yHzcY+okR058ri+QAqv6CiIAYgBUSy+26JEBGBP6JEd6zLVFVVxb+goiAEoKC2IQAMAQsCQAJAAkACQCADQdKn7YMESQ0AIANB1uOIhwRPDQMgALshBSADQeDbv4UETw0BIAJBf0oNAiAFRNIhM3982RJAoCIFIAWiIgVEgV4M/f//37+iRAAAAAAAAPA/oCAFIAWiIgREQjoF4VNVpT+ioCAFIASiIAVEaVDu4EKT+T6iRCceD+iHwFa/oKKgtiEADAQLIAC7IQUCQCADQeSX24AESQ0ARBgtRFT7IQnARBgtRFT7IQlAIAJBf0obIAWgIgQgBKIiBSAEmqIiBiAFIAWioiAFRKdGO4yHzcY+okR058ri+QAqv6CiIAYgBUSy+26JEBGBP6JEd6zLVFVVxb+goiAEoaC2IQAMBAsCQCACQX9KDQAgBUQYLURU+yH5P6AiBSAFoiIFRIFeDP3//9+/okQAAAAAAADwP6AgBSAFoiIEREI6BeFTVaU/oqAgBSAEoiAFRGlQ7uBCk/k+okQnHg/oh8BWv6CioLaMIQAMBAsgBUQYLURU+yH5v6AiBSAFoiIFRIFeDP3//9+/okQAAAAAAADwP6AgBSAFoiIEREI6BeFTVaU/oqAgBSAEoiAFRGlQ7uBCk/k+okQnHg/oh8BWv6CioLYhAAwDC0QYLURU+yEZwEQYLURU+yEZQCACQX9KGyAFoCIEIAQgBKIiBaIiBiAFIAWioiAFRKdGO4yHzcY+okR058ri+QAqv6CiIAQgBiAFRLL7bokQEYE/okR3rMtUVVXFv6CioKC2IQAMAgsgBUTSITN/fNkSwKAiBSAFoiIFRIFeDP3//9+/okQAAAAAAADwP6AgBSAFoiIEREI6BeFTVaU/oqAgBSAEoiAFRGlQ7uBCk/k+okQnHg/oh8BWv6CioLaMIQAMAQsCQCADQf////sHSw0AIAAgAUEIahC5ASEDIAErAwghBQJAAkACQAJAIANBA3EOBAABAgMACyAFIAUgBaIiBKIiBiAEIASioiAERKdGO4yHzcY+okR058ri+QAqv6CiIAUgBiAERLL7bokQEYE/okR3rMtUVVXFv6CioKC2IQAMBAsgBSAFoiIFRIFeDP3//9+/okQAAAAAAADwP6AgBSAFoiIEREI6BeFTVaU/oqAgBSAEoiAFRGlQ7uBCk/k+okQnHg/oh8BWv6CioLYhAAwDCyAFIAWiIgQgBZqiIgYgBCAEoqIgBESnRjuMh83GPqJEdOfK4vkAKr+goiAGIAREsvtuiRARgT+iRHesy1RVVcW/oKIgBaGgtiEADAILIAUgBaIiBUSBXgz9///fv6JEAAAAAAAA8D+gIAUgBaIiBERCOgXhU1WlP6KgIAUgBKIgBURpUO7gQpP5PqJEJx4P6IfAVr+goqC2jCEADAELIAAgAJMhAAsgAUEQaiQAIAALC6AiAgBBgIAQC8AhZwAAAGgAAABpAAAAagAAAHkAaW5kZXgAdgB1AHNsb3QAdHlwZXMuUG9pbnQAcmVtb3ZlX2Fzc2V0AGFkZF9hc3NldABhc3NldC5TZXJpYWxpemVkQXNzZXQAYml0T2Zmc2V0AHBvaW50cwByZXNldF9hc3NldHMAaW1wb3J0X2ljb25zAGNvbm5lY3Rfd2ViX2dwdV9wcm9ncmFtcwBpbmRleC5XZWJHcHVQcm9ncmFtcwBmbGFncwBwaWNrc19yZW5kZXIAY2FudmFzX3JlbmRlcgBvbl9wb2ludGVyX3VwAGFuZ2xlX3RvAG9uX3BvaW50ZXJfZG93bgBhbGlnbgByZXR2YWwAb25fdXBkYXRlX3BpY2sAY29ubmVjdF9vbl9hc3NldF9zZWxlY3Rpb25fY2FsbGJhY2sAY29ubmVjdF9vbl9hc3NldF91cGRhdGVfY2FsbGJhY2sAbGVuZ3RoAGRyYXdfbXNkZgBiaXRTaXplAGJ5dGVTaXplAG9uX3BvaW50ZXJfbW92ZQBvbl9wb2ludGVyX2xlYXZlAGRlc3Ryb3lfc3RhdGUAaW5pdF9zdGF0ZQBkcmF3X3RleHR1cmUAcGlja190ZXh0dXJlAHN0cnVjdHVyZQBzaWduYXR1cmUAdHlwZQBuYW1lAGRyYXdfdHJpYW5nbGUAcGlja190cmlhbmdsZQB1cGRhdGVfcmVuZGVyX3NjYWxlAGRpc3RhbmNlAG1pZAB0ZXh0dXJlX2lkAEphdmFTY3JpcHQgZnVuY3Rpb24gZmFpbGVkAE11bHRpdGhyZWFkaW5nIG5vdCBlbmFibGVkAFByb21pc2UgZW5jb3VudGVyZWQgaW4gbWFpbiB0aHJlYWQAdHlwZXMuUG9pbnRVVgBBU1NFVF9JRF9UUkVTSE9MRAAyADEAMAAAAAAAABEAAAAAAAAAGAAAAOgDAAAAAAA/AAAAPwAAAD8AAIA/zczMPc3MzD3NzMw9zcxM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"),e=new Uint8Array(A.length);for(let t=0;t<A.length;t++)e[t]=A.charCodeAt(t);return await new Promise((A=>setTimeout(A,0))),e.buffer})();Ee.loadModule(ae,{memoryInitial:5,tableInitial:111,multithreaded:!1}),Ee.linkVariables(!1);const{constructor:ce}=ne,ue=Ee.getSpecialExports(),{connect_web_gpu_programs:le,connect_on_asset_update_callback:fe,connect_on_asset_selection_callback:he,ASSET_ID_TRESHOLD:we,init_state:De,update_render_scale:ye,add_asset:de,remove_asset:pe,on_update_pick:Se,on_pointer_down:Fe,on_pointer_up:Ue,on_pointer_move:ke,on_pointer_leave:me,canvas_render:Ne,picks_render:be,reset_assets:Me,destroy_state:Ke,import_icons:Ge}=ce;await ue.init(),g()}catch(A){g(A)}}),1)},6561:(A,e,t)=>{A.exports=t.p+"e9072ac5eb734c67.png"},1285:(A,e,t)=>{var g=t(1388),i=t(6560),I=(t(4540),t(8e3));(0,i.co)({init(){this.accessorCache=new Map},getAccessor(A,e){const{type:t,bitSize:i,bitOffset:Q,byteSize:C}=e,o=[],r=void 0===C&&(7&i||7&Q);r&&o.push("Unaligned");let B=g.hQ[t];i>32&&(t===g.Z9.Int||t===g.Z9.Uint)&&(B=i<=64?`Big${B}`:`Jumbo${B}`),o.push(B,`${t===g.Z9.Bool&&C?8*C:i}`),r&&o.push(`@${Q}`);const n=A+o.join("");let s=DataView.prototype[n];if(s)return s;if(s=this.accessorCache.get(n),s)return s;for(;o.length>0;){const t=`getAccessor${o.join("")}`;if(s=this[t]?.(A,e))break;o.pop()}if(!s)throw new Error(`No accessor available: ${n}`);return(0,I.n8)(s,"name",(0,I.vQ)(n)),this.accessorCache.set(n,s),s}})},9592:(A,e,t)=>{var g=t(1388);(0,t(6560).co)({getAccessorBool(A,e){const{byteSize:t}=e,i=8*t,I=this.getAccessor(A,{type:g.Z9.Uint,bitSize:i,byteSize:t});if("get"===A)return function(A,e){return!!I.call(this,A,e)};{const A=i<=32?0:0n,e=i<=32?1:1n;return function(t,g,i){I.call(this,t,g?e:A,i)}}}})},5239:(A,e,t)=>{var g=t(1388);(0,t(6560).co)({getAccessorInt(A,e){const{bitSize:t,byteSize:i}=e;if(i){const e=this.getAccessor(A,{type:g.Z9.Uint,bitSize:8*i,byteSize:i}),I=2**(t-1),Q=I-1;return"get"===A?function(A,t){const g=e.call(this,A,t);return(g&Q)-(g&I)}:function(A,t,g){const i=t<0?I|t&Q:t&Q;e.call(this,A,i,g)}}}})},1388:(A,e,t)=>{t.d(e,{AD:()=>Q,EK:()=>i,F7:()=>u,Q9:()=>c,UT:()=>r,Z9:()=>s,e2:()=>n,ev:()=>g,hQ:()=>E,pK:()=>a,sU:()=>o,tv:()=>B,uE:()=>C,yi:()=>I});const g={Primitive:0,Array:1,Struct:2,Union:3,ErrorUnion:4,ErrorSet:5,Enum:6,Optional:7,Pointer:8,Slice:9,Vector:10,Opaque:11,ArgStruct:12,VariadicStruct:13,Function:14},i=Object.keys(g),I={HasValue:1,HasObject:2,HasPointer:4,HasSlot:8},Q={IsSize:16},C={HasSentinel:16,IsString:32,IsTypedArray:64,IsClampedArray:128},o={IsExtern:16,IsPacked:32,IsIterator:64,IsTuple:128,IsAllocator:256,IsPromise:512,IsGenerator:1024,IsAbortSignal:2048,IsOptional:4096},r={HasLength:16,IsMultiple:32,IsSingle:64,IsConst:128,IsNullable:256},B={HasSentinel:16,IsString:32,IsTypedArray:64,IsClampedArray:128,IsOpaque:256},n={HasOptions:16,IsThrowing:32,IsAsync:64},s={Void:0,Bool:1,Int:2,Uint:3,Float:4,Object:5,Type:6,Literal:7,Null:8,Undefined:9,Unsupported:10},E=Object.keys(s),a={IsRequired:1,IsReadOnly:2,IsPartOfSet:4,IsSelector:8,IsMethod:16,IsSentinel:32,IsBackingInt:64},c={OK:0,Failure:1,Deadlock:2,Disabled:3},u={IsInactive:1,IsImmutable:2,IgnoreUncreated:4,IgnoreInactive:8,IgnoreArguments:16,IgnoreRetval:32}},6560:(A,e,t)=>{t.d(e,{NP:()=>Q,co:()=>I});var g=t(8e3);const i={name:"",mixins:[],constructor:null};function I(A){return i.constructor||i.mixins.push(A),A}function Q(){return i.constructor||(i.constructor=function(A,e){const t=[],i=function(){for(const A of t)A.call(this)},{prototype:I}=i;(0,g.n8)(i,"name",(0,g.vQ)(A));for(const A of e)for(let[e,i]of Object.entries(A))if("init"===e)t.push(i);else{if("function"==typeof i);else{let A=I[e];if(void 0!==A)if(A?.constructor===Object)i=Object.assign({...A},i);else if(A!==i)throw new Error(`Duplicate property: ${e}`)}(0,g.n8)(I,e,(0,g.vQ)(i))}return i}(i.name,i.mixins),i.name="",i.mixins=[]),i.constructor}},4762:(A,e,t)=>{t.d(e,{BC:()=>Q,BY:()=>p,G9:()=>D,Jc:()=>v,L2:()=>s,O0:()=>C,Pd:()=>d,QB:()=>F,Qm:()=>w,SB:()=>c,UQ:()=>m,Uv:()=>y,V0:()=>R,Vp:()=>N,Y8:()=>E,Zb:()=>B,_L:()=>a,_l:()=>k,ci:()=>o,ck:()=>M,d_:()=>J,is:()=>n,nz:()=>l,qG:()=>f,qx:()=>x,t7:()=>r,v2:()=>K,vp:()=>G,x1:()=>U,xH:()=>u,xp:()=>S,zy:()=>h});var g=t(1388),i=t(4540),I=t(8e3);Error;class Q extends SyntaxError{constructor(A){super(`Cannot convert ${A} to an Int`)}}class C extends TypeError{constructor(){super("Unsupported")}}class o extends TypeError{constructor(A){const{name:e}=A;super(`An initializer must be provided to the constructor of ${e}, even when the intended value is undefined`)}}class r extends TypeError{constructor(A,e,t=null){const{name:i,type:I,byteSize:Q}=A,C=e.byteLength,o=1!==Q?"s":"";let r;r=I!==g.ev.Slice||t?`${i} has ${I===g.ev.Slice?t.length*Q:Q} byte${o}, received ${C}`:`${i} has elements that are ${Q} byte${o} in length, received ${C}`,super(r)}}class B extends TypeError{constructor(A){const{type:e,byteSize:t,typedArray:i}=A,I=1!==t?"s":"",Q=["ArrayBuffer","DataView"].map(Y);let C;i&&Q.push(Y(i.name)),C=e===g.ev.Slice?`Expecting ${O(Q)} that can accommodate items ${t} byte${I} in length`:`Expecting ${O(Q)} that is ${t} byte${I} in length`,super(C)}}TypeError,TypeError,TypeError,TypeError,TypeError,TypeError,TypeError;class n extends TypeError{constructor(A,e,t){const{name:g}=A,i=[];if(Array.isArray(e))for(const A of e)i.push(Y(A));else i.push(Y(e));const I=q(t);super(`${g} expects ${O(i)} as argument, received ${I}`)}}class s extends n{constructor(A,e,t=!1){const{instance:{members:[Q]},type:C,constructor:o}=A,r=[],B=(0,I.BF)(Q);if(B){let A;switch(Q.structure?.type){case g.ev.Enum:A="enum item";break;case g.ev.ErrorSet:A="error";break;default:A=B}r.push(`array of ${A}s`)}else r.push("array of objects");o[i.pM]&&r.push(o[i.pM].name),C===g.ev.Slice&&t&&r.push("length"),super(A,r.join(" or "),e)}}class E extends TypeError{constructor(A,e,t){const{name:g,length:i,instance:{members:[I]}}=A,{structure:{constructor:Q}}=I,{length:C,constructor:o}=t,r=e?.length??i,B=1!==r?"s":"";let n;n=o===Q?"only a single one":o.child===Q?`a slice/array that has ${C}`:`${C} initializer${C>1?"s":""}`,super(`${g} has ${r} element${B}, received ${n}`)}}class a extends TypeError{constructor(A,e){super(A<0?"Length of slice cannot be negative":`Length of slice can be ${e} or less, received ${A}`)}}class c extends TypeError{constructor(A,e){const{name:t}=A;super(`Missing initializers for ${t}: ${e.join(", ")}`)}}class u extends TypeError{constructor(A,e){const{name:t,instance:{members:g}}=A;let i;i=g.find((A=>A.name===e))?`Comptime value cannot be changed: ${e}`:`${t} does not have a property with that name: ${e}`,super(i)}}class l extends Error{constructor(A,e,t=!1){super();const g=g=>{e-=g;const i=1!=(A-=g)?"s":"",I=t?"at least ":"";this.message=`Expecting ${I}${A} argument${i}, received ${e}`,this.stack=L(this.stack,"new Arg(")};g(0),(0,I.n8)(this,i.q6,{value:g,enumerable:!1})}}class f extends Error{constructor(){super("Undefined argument")}}class h extends TypeError{constructor(){super("Non-slice pointers can only be created with the help of the new operator")}}class w extends TypeError{constructor(){super("Casting to function is not allowed")}}class D extends TypeError{constructor(A,e){const{name:t}=A,{constructor:{name:g}}=e;super(`Conversion of ${g} to ${t} requires an explicit cast`)}}TypeError,TypeError;class y extends TypeError{constructor(A,e){super(`Unable to simultaneously align memory to ${e}-byte and ${A}-byte boundary`)}}TypeError;class d extends TypeError{constructor(A,e){const t=q(e);super(`Expected ${Y(A)}, received ${t}`)}}TypeError;class p extends TypeError{constructor(){super("Null pointer")}}class S extends TypeError{constructor(A){super(`Object has been freed already: ${A.constructor.name}`)}}class F extends TypeError{constructor(A,e){const{name:t}=A;let g;if(null!=e){const A=e instanceof Object&&e.constructor!==Object?`${e.constructor.name} object`:typeof e;g=`${H(A)} ${A}`}else g=e+"";super(`${t} cannot point to ${g}`)}}class U extends TypeError{constructor(){super("Pointers in Zig memory cannot point to garbage-collected object")}}TypeError;class k extends RangeError{constructor(A,e){const{name:t}=A;super(`Index exceeds the size of ${t??"array"}: ${e}`)}}class m extends TypeError{constructor(A){const{name:e}=A;super((void 0!==e?`Property ${e}`:"Element")+" can only be undefined")}}class N extends TypeError{constructor(A){const{name:e,structure:{name:t}}=A;super(`Unable to create ${t} as it is not situated on a byte boundary: ${e}`)}}class b extends TypeError{constructor(){super("Unable to modify read-only object")}}class M extends TypeError{constructor(A){const{name:e}=A;super(`${e} cannot point to a read-only object`)}}TypeError,TypeError,TypeError;class K extends TypeError{constructor(){super("Unexpected async generator")}}class G extends Error{constructor(A,e=0){if(A instanceof Error)return super(A.message),A.stack=L(this.stack,e),A;super(A??"Error encountered in Zig code")}}class v extends G{constructor(A){super("Program exited"),this.code=A}}function J(A,e){const t=t=>{e-=t,A.message=`args[${e}]: ${A.message}`,A.stack=L(A.stack,"new Arg(")};return t(0),(0,I.n8)(A,i.q6,{value:t,enumerable:!1}),A}function L(A,e){if("string"==typeof A){const t=A.split("\n"),g=t.findIndex((A=>A.includes(e)));-1!==g&&(t.splice(1,g),A=t.join("\n"))}return A}function x(A,e,t){return t instanceof RangeError&&!(t instanceof k)&&(t=new k(A,e)),t}function R(){throw new b}function q(A){const e=typeof A;let t;return t="object"===e?A?Object.prototype.toString.call(A):"null":e,Y(t)}function Y(A){return`${H(A)} ${A}`}function H(A){return/^\W*[aeiou]/i.test(A)?"an":"a"}function O(A,e="or"){const t=` ${e} `;return A.length>2?A.slice(0,-1).join(", ")+t+A[A.length-1]:A.join(t)}},4358:(A,e,t)=>{var g=t(1388),i=t(6560),I=t(4540);(0,i.co)({init(){this.variables=[]},getSpecialExports(){const A=A=>{if(void 0===A)throw new Error("Not a Zig type");return A};return{init:(...A)=>this.initialize?.(...A),abandon:()=>this.abandonModule?.(),connect:A=>this.consoleObject=A,sizeOf:e=>A(e?.[I.SK]),alignOf:e=>A(e?.[I.Ec]),typeOf:e=>Q[A(e?.[I.ZE])]}},recreateStructures(A,e){Object.assign(this,e);const t=(A,e)=>{for(const[t,g]of Object.entries(e))A[t]=i(g);return A},g=A=>A.length?A.buffer:new ArrayBuffer(0),i=A=>{const{memory:e,structure:i,actual:Q}=A;if(e){if(Q)return Q;{const{array:Q,offset:C,length:o}=e,r=this.obtainView(g(Q),C,o),{handle:B,const:n}=A,s=i?.constructor,E=A.actual=s.call(I.M0,r);return n&&this.makeReadOnly(E),A.slots&&t(E[I._f],A.slots),B&&this.variables.push({handle:B,object:E}),E}}return i};this.resetGlobalErrorSet?.();const Q=new Map;for(const e of A){for(const A of[e.instance,e.static])if(A.template){const{slots:e,memory:t,handle:i}=A.template,C=A.template={};if(t){const{array:A,offset:e,length:Q}=t;C[I.Qy]=this.obtainView(g(A),e,Q),i&&this.variables.push({handle:i,object:C})}if(e){const A=C[I._f]={};Q.set(A,e)}}this.defineStructure(e)}for(const[A,e]of Q)t(A,e);for(const e of A)this.finalizeStructure(e)}});const Q=g.EK.map((A=>A.replace(/([a-z])([A-Z])/g,"$1 $2").toLowerCase()))},4828:(A,e,t)=>{var g=t(1388),i=t(6560),I=t(4762),Q=t(4540);(0,i.co)({init(){this.jsFunctionThunkMap=new Map,this.jsFunctionCallerMap=new Map,this.jsFunctionControllerMap=new Map,this.jsFunctionIdMap=new WeakMap,this.jsFunctionNextId=1},getFunctionId(A){let e=this.jsFunctionIdMap.get(A);return void 0===e&&(e=this.jsFunctionNextId++,this.jsFunctionIdMap.set(A,e)),e},getFunctionThunk(A,e){const t=this.getFunctionId(A);let g=this.jsFunctionThunkMap.get(t);if(void 0===g){const A=this.getViewAddress(e[Q.Qy]),i=this.createJsThunk(A,t);if(!i)throw new Error("Unable to create function thunk");g=this.obtainZigView(i,0),this.jsFunctionThunkMap.set(t,g),this.jsFunctionControllerMap.set(t,e)}return g},createInboundCaller(A,e){const t=this.getFunctionId(A);return this.jsFunctionCallerMap.set(t,((t,i)=>{let C=g.Q9.OK,o=!1;try{const r=e(t);if(Q.g9 in r){r[Q.g9]("reset");const A=this.startContext();this.updatePointerTargets(A,r,!0),this.updateShadowTargets(A),this.endContext()}const B=function(A){try{if(!(e[Q.du]&&A instanceof Error))throw A;r[Q.zg](A)}catch(e){C=g.Q9.Failure,console.error(A)}},n=function(A){try{r[Q.zg](A)}catch(A){C=g.Q9.Failure,console.error(A)}};try{const e=A(...r),t=r.hasOwnProperty(Q.zg);if("Promise"===e?.[Symbol.toStringTag])if(i||t){const A=e.then(n,B);i&&A.then((()=>this.finalizeAsyncCall(i,C))),o=!0,C=g.Q9.OK}else C=g.Q9.Deadlock;else if(e?.[Symbol.asyncIterator]){if(!r.hasOwnProperty(Q.wg))throw new I.v2;this.pipeContents(e,r),C=g.Q9.OK}else null==e&&t||n(e)}catch(A){B(A)}}catch(A){console.error(A),C=g.Q9.Failure}return i&&!o&&this.finalizeAsyncCall(i,C),C})),function(...e){return A(...e)}},defineArgIterator(A){const e=this,t=A.filter((({structure:A})=>A.type===g.ev.Struct&&A.flags&g.sU.IsAllocator)).length;return{value(){let i,I=0,C=0,o=0;const r=[];for(const[B,{structure:n,type:s}]of A.entries())try{let A,E,a=this[B];s===g.Z9.Object&&a?.[Q.Qy]?.[Q.Dr]&&(a=new a.constructor(a)),n.type===g.ev.Struct&&(n.flags&g.sU.IsAllocator?(A=1===t?"allocator":"allocator"+ ++I,E=this[Q.Gz]=a):n.flags&g.sU.IsPromise?(A="callback",1==++C&&(E=e.createPromiseCallback(this,a))):n.flags&g.sU.IsGenerator?(A="callback",1==++C&&(E=e.createGeneratorCallback(this,a))):n.flags&g.sU.IsAbortSignal&&(A="signal",1==++o&&(E=e.createInboundSignal(a)))),void 0!==A?void 0!==E&&(i||={},i[A]=E):r.push(a)}catch(A){r.push(A)}return i&&r.push(i),r[Symbol.iterator]()}}},handleJsCall(A,e,t,i=0){const I=this.obtainZigView(e,t,!1),Q=this.jsFunctionCallerMap.get(A);return Q?Q(I,i):g.Q9.Failure},releaseFunction(A){const e=this.jsFunctionThunkMap.get(A),t=this.jsFunctionControllerMap.get(A);if(e&&t){const g=this.getViewAddress(t[Q.Qy]),i=this.getViewAddress(e);this.destroyJsThunk(g,i),this.releaseZigView(e),A&&(this.jsFunctionThunkMap.delete(A),this.jsFunctionCallerMap.delete(A),this.jsFunctionControllerMap.delete(A))}},exports:{handleJsCall:{argType:"iiii",returnType:"i"},releaseFunction:{argType:"i"}},imports:{createJsThunk:{argType:"ii",returnType:"i"},destroyJsThunk:{argType:"ii",returnType:"i"},finalizeAsyncCall:{argType:"ii"}}})},6973:(A,e,t)=>{var g=t(1388),i=t(6560),I=t(4762),Q=t(4540);(0,i.co)({createOutboundCaller(A,e){const t=this,g=function(...i){if(!t.runThunk)return t.initPromise.then((()=>g(...i)));const C=new e(i,this?.[Q.Gz]);try{return t.invokeThunk(A,g,C)}catch(A){if(A instanceof I.Jc&&0===A.code)return;throw A}};return g},copyArguments(A,e,t,i,C){let o=0,r=0,B=0;const n=A[Q.Bl];for(const{type:Q,structure:s}of t){let t,E,a,c;if(s.type===g.ev.Struct&&(s.flags&g.sU.IsAllocator?t=(1==++B?i?.allocator??i?.allocator1:i?.[`allocator${B}`])??this.createDefaultAllocator(A,s):s.flags&g.sU.IsPromise?(E||=this.createPromise(A,i?.callback),t=E):s.flags&g.sU.IsGenerator?(a||=this.createGenerator(A,i?.callback),t=a):s.flags&g.sU.IsAbortSignal&&(c||=this.createSignal(s,i?.signal),t=c)),void 0===t&&(t=e[r++],void 0===t&&Q!==g.Z9.Void))throw new I.qG;try{n[o++].call(A,t,C)}catch(A){throw(0,I.d_)(A,o-1)}}},invokeThunk(A,e,t){const g=this.startContext(),i=t[Q.iw],C=this.getViewAddress(A[Q.Qy]),o=this.getViewAddress(e[Q.Qy]),r=Q.vm in t,B=Q.g9 in t;B&&this.updatePointerAddresses(g,t);const n=this.getShadowAddress(g,t,null,!1),s=i?this.getShadowAddress(g,i):0;this.updateShadows(g);const E=()=>{this.updateShadowTargets(g),B&&this.updatePointerTargets(g,t),this.libc&&this.flushStdout?.(),this.flushConsole?.(),this.endContext()};if(r&&(t[Q.vm]=E),!(i?this.runVariadicThunk(C,o,n,s,i.length):this.runThunk(C,o,n)))throw E(),new I.vp;if(t[Q.sF]?.(this.findShadowView(t[Q.Qy])),r){let A=null;try{A=t.retval}catch(e){A=new I.vp(e,1)}return null!=A&&t[Q.zg](A),t[Q.eR]??t[Q._d]}E();try{return t.retval}catch(A){throw new I.vp(A,1)}},imports:{runThunk:{argType:"iii",returnType:"b"},runVariadicThunk:{argType:"iiiii",returnType:"b"}}})},2427:(A,e,t)=>{var g=t(1388),i=t(6560),I=t(4540),Q=t(8e3);(0,i.co)({init(){const A={type:g.Z9.Int,bitSize:8,byteSize:1},e={type:g.Z9.Int,bitSize:16,byteSize:2},t={type:g.Z9.Int,bitSize:32,byteSize:4},i=this.getAccessor("get",A),I=this.getAccessor("set",A),C=this.getAccessor("get",e),o=this.getAccessor("set",e),r=this.getAccessor("get",t),B=this.getAccessor("set",t);this.copiers={0:Q.Ie,1:function(A,e){I.call(A,0,i.call(e,0))},2:function(A,e){o.call(A,0,C.call(e,0,!0),!0)},4:function(A,e){B.call(A,0,r.call(e,0,!0),!0)},8:function(A,e){B.call(A,0,r.call(e,0,!0),!0),B.call(A,4,r.call(e,4,!0),!0)},16:function(A,e){B.call(A,0,r.call(e,0,!0),!0),B.call(A,4,r.call(e,4,!0),!0),B.call(A,8,r.call(e,8,!0),!0),B.call(A,12,r.call(e,12,!0),!0)},any:function(A,e){let t=0,g=A.byteLength;for(;t+4<=g;)B.call(A,t,r.call(e,t,!0),!0),t+=4;for(;t+1<=g;)I.call(A,t,i.call(e,t)),t++}},this.resetters={0:Q.Ie,1:function(A,e){I.call(A,e,0)},2:function(A,e){o.call(A,e,0,!0)},4:function(A,e){B.call(A,e,0,!0)},8:function(A,e){B.call(A,e+0,0,!0),B.call(A,e+4,0,!0)},16:function(A,e){B.call(A,e+0,0,!0),B.call(A,e+4,0,!0),B.call(A,e+8,0,!0),B.call(A,e+12,0,!0)},any:function(A,e,t){let g=e;for(;g+4<=t;)B.call(A,g,0,!0),g+=4;for(;g+1<=t;)I.call(A,g,0),g++}}},defineCopier(A,e){const t=this.getCopyFunction(A,e);return{value(A){this[I.zN]?.(),A[I.zN]?.();const e=A[I.Qy],g=this[I.Qy];t(g,e)}}},defineResetter(A,e){const t=this.getResetFunction(e);return{value(){this[I.zN]?.();const g=this[I.Qy];t(g,A,e)}}},getCopyFunction(A,e=!1){return(e?void 0:this.copiers[A])??this.copiers.any},getResetFunction(A){return this.resetters[A]??this.resetters.any},...{defineRetvalCopier({byteSize:A,bitOffset:e}){if(A>0){const t=this,g=e>>3,i=this.getCopyFunction(A);return{value(e){const Q=this[I.Qy],{address:C}=e[I.Dr],o=new DataView(t.memory.buffer,C+g,A),r=new DataView(Q.buffer,Q.byteOffset+g,A);i(r,o)}}}},copyExternBytes(A,e,t){const{memory:g}=this,i=new DataView(g.buffer,e,t);this.getCopyFunction(t)(A,i)}}})},1669:(A,e,t)=>{var g=t(1388),i=t(6560),I=t(4762);(0,i.co)({addIntConversion:A=>function(e,t){const i=A.call(this,e,t),{flags:Q,bitSize:C}=t;if("set"===e)return C>32?function(A,e,t){i.call(this,A,BigInt(e),t)}:function(A,e,t){const g=Number(e);if(!isFinite(g))throw new I.BC(e);i.call(this,A,g,t)};{const{flags:A}=t.structure;if(A&g.AD.IsSize&&C>32){const A=BigInt(Number.MAX_SAFE_INTEGER),e=BigInt(Number.MIN_SAFE_INTEGER);return function(t,g){const I=i.call(this,t,g);return e<=I&&I<=A?Number(I):I}}}return i}})},6929:(A,e,t)=>{var g=t(6560),i=t(4762),I=t(4540),Q=t(8e3);function C(A,e){return(0,Q.ZG)(A,e,(A=>A.address))}(0,g.co)({init(){this.isMemoryMapping=!0,this.memoryList=[],this.contextCount=0},startContext(){return++this.contextCount,{shadowList:[]}},endContext(){if(0==--this.contextCount){for(const{shadowDV:A}of this.memoryList)A&&this.freeShadowMemory(A);this.memoryList.splice(0)}},getShadowAddress(A,e,t,g){const C=e[I.Qy];if(t){if(void 0===t.address){const{start:e,end:r,targets:B}=t;let n,s=0;for(const A of B){const e=A[I.Qy],t=e.byteOffset,g=A.constructor[I.Ec]??e[I.Ec];(void 0===s||g>s)&&(s=g,n=t)}const E=r-e,a=this.allocateShadowMemory(E+s,1),c=this.getViewAddress(a),u=(0,Q.hJ)((0,Q.Au)(c,n-e),s),l=(0,Q.Au)(u,e-n);for(const A of B){const t=A[I.Qy],g=t.byteOffset;if(g!==n){const C=A.constructor[I.Ec]??t[I.Ec];if((0,Q.on)((0,Q.Au)(l,g-e),C))throw new i.Uv(C,s)}}const f=a.byteOffset+Number(l-c),h=new DataView(a.buffer,f,E);h[I.Dr]={address:l,len:E,align:1,unalignedAddress:c,type:o.Scratch};const w=new DataView(C.buffer,Number(e),E),D=this.registerMemory(l,E,1,g,w,h);A.shadowList.push(D),t.address=l}return(0,Q.Au)(t.address,C.byteOffset-t.start)}{const t=e.constructor[I.Ec]??C[I.Ec],i=C.byteLength,Q=this.allocateShadowMemory(i,t),o=this.getViewAddress(Q),r=this.registerMemory(o,i,1,g,C,Q);return A.shadowList.push(r),o}},updateShadows(A){const e=this.getCopyFunction();for(let{targetDV:t,shadowDV:g}of A.shadowList)g=this.restoreView(g),e(g,t)},updateShadowTargets(A){const e=this.getCopyFunction();for(let{targetDV:t,shadowDV:g,writable:i}of A.shadowList)i&&(g=this.restoreView(g),e(t,g))},registerMemory(A,e,t,g,i,I){const Q=C(this.memoryList,A);let o=this.memoryList[Q-1];return o?.address===A&&o.len===e?o.writable||=g:(o={address:A,len:e,align:t,writable:g,targetDV:i,shadowDV:I},this.memoryList.splice(Q,0,o)),o},unregisterMemory(A,e){const t=C(this.memoryList,A),g=this.memoryList[t-1];if(g?.address===A&&g.len===e)return this.memoryList.splice(t-1,1),g},findMemory(A,e,t,g){let i=t*(g??0);const o=C(this.memoryList,e),r=this.memoryList[o-1];let B;if(r?.address===e&&r.len===i)B=r.targetDV;else if(r?.address<=e&&(0,Q.Au)(e,i)<=(0,Q.Au)(r.address,r.len)){const A=Number(e-r.address),t=void 0===g,{targetDV:Q}=r;t&&(i=Q.byteLength-A),B=this.obtainView(Q.buffer,Q.byteOffset+A,i),t&&(B[I.Ec]=r.align)}if(B){let{targetDV:e,shadowDV:t}=r;t&&A&&!A.shadowList.includes(r)&&(t=this.restoreView(t),this.getCopyFunction()(e,t))}else B=this.obtainZigView(e,i);return B},findShadowView(A){for(const{shadowDV:e,targetDV:t}of this.memoryList)if(t===A)return e},releaseZigView(A){const e=A[I.Dr],t=e?.address;t&&t!==Q.Y$&&(e.address=Q.Y$)},getViewAddress(A){const e=A[I.Dr];if(e)return e.address;{const e=this.getBufferAddress(A.buffer);return(0,Q.Au)(e,A.byteOffset)}},...{imports:{allocateScratchMemory:{argType:"ii",returnType:"i"},freeScratchMemory:{argType:"iii"}},exports:{getViewAddress:{argType:"v",returnType:"i"}},usizeMaxBuffer:new ArrayBuffer(0),allocateShadowMemory(A,e){const t=A?this.allocateScratchMemory(A,e):0;if(!t&&A)throw new Error("Out of memory");const g=this.obtainZigView(t,A),i=g?.[I.Dr];return i&&(i.align=e),g},freeShadowMemory(A){const{address:e,unalignedAddress:t,len:g,align:i}=A[I.Dr];g&&this.freeScratchMemory(t??e,g,i),this.releaseZigView(A)},obtainZigView(A,e,t=!0){if((0,Q.cv)(A)&&(A=e>0?0:Q.Fy),!A&&e)return null;let{buffer:g}=this.memory;return A===Q.Fy&&(g=this.usizeMaxBuffer,A=Q.$k,e=0),t?this.obtainView(g,A,e):new DataView(g,A,e)},getTargetAddress(A,e,t,g){const i=e[I.Qy];return i[I.Dr]?this.getViewAddress(i):0===i.byteLength?0:this.getShadowAddress(A,e,t,g)},getBufferAddress:A=>0}});const o={Normal:0,Scratch:1}},4936:(A,e,t)=>{var g=t(6560),i=t(8e3);(0,g.co)({init(){this.abandoned=!1,this.nextValueIndex=1,this.valueMap=new Map,this.valueIndices=new Map,this.options=null,this.executable=null,this.memory=null,this.table=null,this.initialTableLength=0,this.exportedFunctions=null},releaseFunctions(){const A=()=>{throw new Error("Module was abandoned")};for(const e of Object.keys(this.imports))this[e]&&(this[e]=A)},abandonModule(){this.abandoned||(this.releaseFunctions(),this.unlinkVariables?.(),this.abandoned=!0)},...{imports:{initialize:{argType:""}},exports:{displayPanic:{argType:"ii"}},async initialize(A){this.setCustomWASI?.(A),await this.initPromise},getObjectIndex(A){if(null!=A){let e=this.valueIndices.get(A);return void 0===e&&(e=this.nextValueIndex++,this.valueIndices.set(A,e),this.valueMap.set(e,A)),e}return 0},fromWebAssembly(A,e){switch(A){case"v":case"s":return this.valueMap.get(e);case"i":return e;case"b":return!!e}},toWebAssembly(A,e){switch(A){case"v":case"s":return this.getObjectIndex(e);case"i":return e;case"b":return e?1:0}},exportFunction(A,e="",t="",g){return A?(...g)=>{g=g.map(((A,t)=>this.fromWebAssembly(e.charAt(t),A)));const i=A.apply(this,g);return this.toWebAssembly(t,i)}:()=>{}},importFunction(A,e="",t=""){return(...g)=>{g=g.map(((A,t)=>this.toWebAssembly(e.charAt(t),A)));const i=A.apply(this,g);return this.fromWebAssembly(t,i)}},exportFunctions(){const A={};for(const[e,{argType:t,returnType:g,alias:i}]of Object.entries(this.exports)){const I=this[i??e];I&&(A[`_${e}`]=this.exportFunction(I,t,g,e))}return A},importFunctions(A){for(const[e,{argType:t,returnType:g}]of Object.entries(this.imports)){const I=A[e];I&&(0,i.n8)(this,e,{value:this.importFunction(I,t,g)})}},async instantiateWebAssembly(A,e){const{memoryInitial:t,memoryMax:g,tableInitial:I,multithreaded:Q}=this.options=e,C=await A,o="Response"===C[Symbol.toStringTag]?"Streaming":"",r=WebAssembly,B=r["compile"+o],n=this.executable=await B(C),s=this.exportFunctions(),E={},a={},c={},u=this.exportedModules={env:E,wasi:a,wasi_snapshot_preview1:c};for(const{module:A,name:e,kind:t}of r.Module.imports(n))"function"===t&&("env"===A?E[e]=s[e]??i.Ie:"wasi_snapshot_preview1"===A?c[e]=this.getWASIHandler(e):"wasi"===A&&(a[e]=this.getThreadHandler?.(e)??i.Ie));return this.memory=E.memory=new r.Memory({initial:t,maximum:g,shared:Q}),this.table=E.__indirect_function_table=new r.Table({initial:I,element:"anyfunc",shared:Q}),this.initialTableLength=I,new r.Instance(n,u)},loadModule(A,e){return this.initPromise=(async()=>{const t=await this.instantiateWebAssembly(A,e),{exports:g}=t;if(this.importFunctions(g),this.customWASI){const A={...g,memory:this.memory},e=new Proxy(t,{get:(e,t)=>"exports"===t?A:e[t]});this.customWASI.initialize?.(e)}this.initialize()})()},displayPanic(A,e){const t=new Uint8Array(this.memory.buffer,A,e),g=(0,i.g7)(t);console.error(`Zig panic: ${g}`)}}})},9268:(A,e,t)=>{var g=t(1388),i=t(6560),I=t(4540);(0,i.co)({linkVariables(A){if(!this.memory)return void(this.initPromise=this.initPromise.then((()=>this.linkVariables(A))));const e=this.getCopyFunction();for(const{object:t,handle:i}of this.variables){const Q=t[I.Qy],C=i,o=t[I.Qy]=this.obtainZigView(C,Q.byteLength);A&&e(o,Q),t.constructor[I.fV]?.save?.(o,t);const r=A=>{const e=A[I._f];if(e){const A=o.byteOffset;for(const t of Object.values(e))if(t){const e=t[I.Qy];if(e.buffer===Q.buffer){const g=A+e.byteOffset-Q.byteOffset;t[I.Qy]=this.obtainView(o.buffer,g,e.byteLength),t.constructor[I.fV]?.save?.(o,t),r(t)}}}};r(t),t[I.g9]?.((function(){this[I.q6]()}),g.F7.IgnoreInactive)}},unlinkVariables(){const A=this.getCopyFunction();for(const{object:e}of this.variables){const t=this.restoreView(e[I.Qy]),g=t[I.Dr];g&&A(e[I.Qy]=this.allocateMemory(g.len),t)}},imports:{recreateAddress:{argType:"i",returnType:"i"}}})},7409:(A,e,t)=>{var g=t(1388),i=t(6560),I=t(4540),Q=t(8e3);(0,i.co)({updatePointerAddresses(A,e){const t=new Map,i=new Map,C=[],o=function(A){const e=this[I.C7];if(void 0===t.get(e)){const A=e[I._f][0];if(A){const g={target:A,writable:!e.constructor.const},r=A[I.Qy];if(r[I.Dr])t.set(e,null);else{t.set(e,A);const B=i.get(r.buffer);if(B){const A=Array.isArray(B)?B:[B],e=(0,Q.ZG)(A,r.byteOffset,(A=>A.target[I.Qy].byteOffset));A.splice(e,0,g),Array.isArray(B)||(i.set(r.buffer,A),C.push(A))}else i.set(r.buffer,g);A[I.g9]?.(o,0)}}}},r=g.F7.IgnoreRetval|g.F7.IgnoreInactive;e[I.g9](o,r);const B=this.findTargetClusters(C),n=new Map;for(const A of B)for(const e of A.targets)n.set(e,A);for(const[e,g]of t)if(g){const t=n.get(g),i=t?.writable??!e.constructor.const;e[I.BD]=this.getTargetAddress(A,g,t,i),I.pi in e&&(e[I.pi]=g.length)}},updatePointerTargets(A,e,t=!1){const i=new Map,Q=function(e){const t=this[I.C7];if(!i.get(t)){i.set(t,!0);const C=t[I._f][0],o=C&&e&g.F7.IsImmutable?C:t[I.q6](A,!0,!(e&g.F7.IsInactive)),r=t.constructor.const?g.F7.IsImmutable:0;r&g.F7.IsImmutable||C&&!C[I.Qy][I.Dr]&&C[I.g9]?.(Q,r),o!==C&&o&&!o[I.Qy][I.Dr]&&o?.[I.g9]?.(Q,r)}},C=t?g.F7.IgnoreRetval:0;e[I.g9](Q,C)},findTargetClusters(A){const e=[];for(const t of A){let A=null,g=0,i=0,Q=null;for(const{target:C,writable:o}of t){const t=C[I.Qy],{byteOffset:r,byteLength:B}=t,n=r+B;let s=!0;A&&(i>r?(Q?Q.writable||=o:(Q={targets:[A],start:g,end:i,address:void 0,misaligned:void 0,writable:o},e.push(Q)),Q.targets.push(C),n>i?Q.end=n:s=!1):Q=null),s&&(A=C,g=r,i=n)}}return e}})},2436:(A,e,t)=>{var g=t(6560),i=t(8e3);(0,g.co)({...{exports:{allocateJsThunk:{argType:"ii",returnType:"i"},freeJsThunk:{argType:"ii",returnType:"i"}},init(){this.thunkSources=[],this.thunkMap=new Map},addJsThunkSource(){const{memoryInitial:A,memoryMax:e,tableInitial:t,multithreaded:g}=this.options,I=WebAssembly,Q={},C={},o={env:Q,wasi:{},wasi_snapshot_preview1:C};for(const{module:A,name:e,kind:t}of I.Module.imports(this.executable))"function"===t&&("env"===A?Q[e]=i.Ie:"wasi_snapshot_preview1"===A&&(C[e]=i.Ie));Q.memory=new I.Memory({initial:A,maximum:e,shared:g});const r=Q.__indirect_function_table=new I.Table({initial:t,element:"anyfunc"}),{exports:B}=new I.Instance(this.executable,o),{createJsThunk:n,destroyJsThunk:s}=B,E={thunkCount:0,createJsThunk:n,destroyJsThunk:s,table:r};return this.thunkSources.unshift(E),E},allocateJsThunk(A,e){let t,g=0;for(t of this.thunkSources){g=t.createJsThunk(A,e);break}g||(t=this.addJsThunkSource(),g=t.createJsThunk(A,e));const i=t.table.get(g);let I=0;for(let A=this.table.length-1;A>=this.initialTableLength;A--)if(!this.table.get(A)){I=A;break}return I||(I=this.table.length,this.table.grow(8)),this.table.set(I,i),t.thunkCount++,this.thunkMap.set(i,{source:t,sourceAddress:g}),I},freeJsThunk(A,e){let t=0;const g=this.table.get(e);this.table.set(e,null);const i=this.thunkMap.get(g);if(i){const{source:e,sourceAddress:I}=i;if(t=e.destroyJsThunk(A,I),0==--e.thunkCount){const A=this.thunkSources.indexOf(e);-1!==A&&this.thunkSources.splice(A,1)}this.thunkMap.delete(g)}return t}}})},8738:(A,e,t)=>{var g=t(1388),i=t(6560),I=t(4762),Q=t(4540),C=t(8e3);function o(A,e){const{byteSize:t,type:i}=e;if(!(i===g.ev.Slice?A.byteLength%t==0:A.byteLength===t))throw new I.t7(e,A)}function r(A){throw new I.Zb(A)}(0,i.co)({init(){this.viewMap=new WeakMap},extractView(A,e,t=r){const{type:i,byteSize:B,constructor:n}=A;let s;const E=e?.[Symbol.toStringTag];if(E&&("DataView"===E?s=this.registerView(e):"ArrayBuffer"===E?s=this.obtainView(e,0,e.byteLength):(E&&E===n[Q.pM]?.name||"Uint8ClampedArray"===E&&n[Q.pM]===Uint8Array)&&(s=this.obtainView(e.buffer,e.byteOffset,e.byteLength))),!s){const t=e?.[Q.Qy];if(t){const{constructor:Q,instance:{members:[o]}}=A;if((0,C.pU)(e,Q))return t;if(function(A){return A===g.ev.Array||A===g.ev.Vector||A===g.ev.Slice}(i)){const{byteSize:Q,structure:{constructor:r}}=o,n=(0,C.be)(e,r);if(void 0!==n){if(i===g.ev.Slice||n*Q===B)return t;throw new I.Y8(A,null,e)}}}}return s?void 0!==B&&o(s,A):t?.(A,e),s},assignView(A,e,t,i,C){const{byteSize:r,type:B}=t,n=r??1;if(A[Q.Qy]){const i=B===g.ev.Slice?n*A.length:n;if(e.byteLength!==i)throw new I.t7(t,e,A);const C={[Q.Qy]:e};A.constructor[Q.fd]?.validateData?.(C,A.length),A[Q.sF](C)}else{void 0!==r&&o(e,t);const g=e.byteLength/n,I={[Q.Qy]:e};A.constructor[Q.fd]?.validateData?.(I,g),C&&(i=!0),A[Q.IW](i?null:e,g,C),i&&A[Q.sF](I)}},findViewAt(A,e,t){let g,i=this.viewMap.get(A);if(i)if(i instanceof DataView)if(i.byteOffset===e&&i.byteLength===t)g=i,i=null;else{const e=i,t=`${e.byteOffset}:${e.byteLength}`;i=new Map([[t,e]]),this.viewMap.set(A,i)}else g=i.get(`${e}:${t}`);return g?.[Q.Dr]?.address===C.Y$&&(g=null),{existing:g,entry:i}},obtainView(A,e,t){const{existing:g,entry:i}=this.findViewAt(A,e,t);let I;return g||(I=new DataView(A,e,t),i?i.set(`${e}:${t}`,I):this.viewMap.set(A,I),A!==this.memory?.buffer&&A!==this.usizeMaxBuffer||(I[Q.Dr]={address:e,len:t}),I)},registerView(A){if(!A[Q.Dr]){const{buffer:e,byteOffset:t,byteLength:g}=A,{existing:i,entry:I}=this.findViewAt(e,t,g);if(i)return i;I?I.set(`${t}:${g}`,A):this.viewMap.set(e,A)}return A},allocateMemory(A,e=0,t=null){return t?.alloc?.(A,e)??this.allocateJSMemory(A,e)},...{allocateJSMemory(A,e){return this.obtainView(new ArrayBuffer(A),0,A)},restoreView(A){const e=A?.[Q.Dr];return e?.len>0&&0===A.buffer.byteLength&&(A=this.obtainZigView(e.address,e.len),e.align&&(A[Q.Dr].align=e.align)),A},defineRestorer(){const A=this;return{value(){const e=this[Q.Qy],t=A.restoreView(e);if(e!==t){const A=this[Q.KK]??this;return A[Q.Qy]=t,A.constructor[Q.fV]?.save?.(t,A[Q.rG]??A),!0}return!1}}}}})},1432:(A,e,t)=>{var g=t(6560),i=t(4762),I=t(4540);(0,g.co)({makeReadOnly(A){o(A)}});const Q=Object.getOwnPropertyDescriptors,C=Object.defineProperty;function o(A){const e=A[I.C7];if(e)r(e,["length"]);else{const e=A[I.sO];e?(r(e),function(A){C(A,"set",{value:i.V0});const e=A.get;C(A,"get",{value:function(A){const t=e.call(this,A);return null===t?.[I.KK]&&o(t),t}})}(e)):r(A)}}function r(A,e=[]){const t=Q(A.constructor.prototype);for(const[g,I]of Object.entries(t))I.set&&!e.includes(g)&&(I.set=i.V0,C(A,g,I));C(A,I.KK,{value:A})}},4773:(A,e,t)=>{t.d(e,{M:()=>i});var g=t(6560);function i(){return new((0,g.NP)())}},1454:(A,e,t)=>{var g=t(6560),i=t(4540),I=t(8e3);function Q(){const A=this[i.sO]??this,e=this.length;let t=0;return{next(){let g,i;if(t<e){const e=t++;g=A.get(e),i=!1}else i=!0;return{value:g,done:i}}}}function C(A){const e=(0,I.L9)(A),t=this[i.sO]??this,g=this.length;let Q=0;return{next(){let A,i;if(Q<g){const g=Q++;A=[g,e((()=>t.get(g)))],i=!1}else i=!0;return{value:A,done:i}}}}function o(A){return{[Symbol.iterator]:C.bind(this,A),length:this.length}}(0,g.co)({defineArrayEntries:()=>(0,I.vQ)(o),defineArrayIterator:()=>(0,I.vQ)(Q)})},6402:(A,e,t)=>{var g=t(6560),i=t(4540),I=t(8e3);function Q(A){return{[Symbol.iterator]:o.bind(this,A),length:this[i.n5].length}}function C(A){return Q.call(this,A)[Symbol.iterator]()}function o(A){const e=(0,I.L9)(A),t=this,g=this[i.n5];let Q=0;return{next(){let A,i;if(Q<g.length){const I=g[Q++];A=[I,e((()=>t[I]))],i=!1}else i=!0;return{value:A,done:i}}}}(0,g.co)({defineStructEntries:()=>(0,I.vQ)(Q),defineStructIterator:()=>(0,I.vQ)(C)})},9098:(A,e,t)=>{t.d(e,{E:()=>i});var g=t(1388);function i(A,{get:e,set:t}){return void 0!==A?{get:function(){return e.call(this,A)},set:t?function(e,g){return t.call(this,A,e,g)}:void 0}:{get:e,set:t}}(0,t(6560).co)({defineMember(A,e=!0){if(!A)return{};const{type:t,structure:i}=A,I=this[`defineMember${g.hQ[t]}`].call(this,A);if(e&&i){const{type:e}=i,t=this[`transformDescriptor${g.EK[e]}`];if(t)return t.call(this,I,A)}return I}})},9494:(A,e,t)=>{var g=t(6560),i=t(4762),I=t(8e3);(0,g.co)({defineBase64(A){const e=this;return(0,I.NV)({get(){return(0,I.WG)(this.dataView)},set(t,g){if("string"!=typeof t)throw new i.Pd("string",t);const Q=(0,I.y4)(t);e.assignView(this,Q,A,!1,g)}})}})},337:(A,e,t)=>{(0,t(6560).co)({defineMemberBool(A){return this.defineMemberUsing(A,this.getAccessor)}})},7431:(A,e,t)=>{var g=t(6560),i=t(4762),I=t(4540),Q=t(8e3);(0,g.co)({defineDataView(A){const e=this;return(0,Q.NV)({get(){return this[I.zN]?.(),this[I.Qy]},set(t,g){if("DataView"!==t?.[Symbol.toStringTag])throw new i.Pd("DataView",t);e.assignView(this,t,A,!0,g)}})}})},7591:(A,e,t)=>{(0,t(6560).co)({defineMemberFloat(A){return this.defineMemberUsing(A,this.getAccessor)}})},6717:(A,e,t)=>{var g=t(1388),i=t(6560),I=t(4762),Q=t(4540),C=t(9098);function o(A){return(this[Q._f][A]??this[Q.tZ](A)).$}function r(A){return this[Q._f][A]??this[Q.tZ](A)}function B(A,e,t){(this[Q._f][A]??this[Q.tZ](A))[Q.Zv](e,t)}(0,i.co)({defineMemberObject:A=>(0,C.E)(A.slot,{get:A.structure.flags&g.yi.HasValue?o:r,set:A.flags&g.pK.IsReadOnly?I.V0:B})})},2164:(A,e,t)=>{var g=t(6560),i=t(4762),I=t(4540);(0,g.co)({...{defineMemberUsing(A,e){const{littleEndian:t}=this,{bitOffset:g,byteSize:Q}=A,C=e.call(this,"get",A),o=e.call(this,"set",A);if(void 0!==g){const A=g>>3;return{get:function(){try{return C.call(this[I.Qy],A,t)}catch(e){if(e instanceof TypeError&&this[I.zN]?.())return C.call(this[I.Qy],A,t);throw e}},set:function(e){try{return o.call(this[I.Qy],A,e,t)}catch(g){if(g instanceof TypeError&&this[I.zN]?.())return o.call(this[I.Qy],A,e,t);throw g}}}}return{get:function(e){try{return C.call(this[I.Qy],e*Q,t)}catch(g){if(g instanceof TypeError&&this[I.zN]?.())return C.call(this[I.Qy],e*Q,t);throw(0,i.qx)(A,e,g)}},set:function(e,g){try{return o.call(this[I.Qy],e*Q,g,t)}catch(C){if(C instanceof TypeError&&this[I.zN]?.())return o.call(this[I.Qy],e*Q,g,t);throw(0,i.qx)(A,e,C)}}}}}})},6135:(A,e,t)=>{var g=t(6560),i=t(3456);(0,g.co)({defineToJSON:()=>({value(){return(0,i.F)(this,!0)}})})},3793:(A,e,t)=>{var g=t(6560),i=t(4762),I=t(8e3);(0,g.co)({defineTypedArray(A){const e=this,t=this.getTypedArray(A);return(0,I.NV)({get(){const A=this.dataView,e=A.byteLength/t.BYTES_PER_ELEMENT;return new t(A.buffer,A.byteOffset,e)},set(g,I){if(g?.[Symbol.toStringTag]!==t.name)throw new i.Pd(t.name,g);const Q=new DataView(g.buffer,g.byteOffset,g.byteLength);e.assignView(this,Q,A,!0,I)}})}})},8305:(A,e,t)=>{(0,t(6560).co)({defineMemberUint(A){let e=this.getAccessor;return this.runtimeSafety&&(e=this.addRuntimeCheck(e)),e=this.addIntConversion(e),this.defineMemberUsing(A,e)}})},3456:(A,e,t)=>{t.d(e,{F:()=>r});var g=t(1388),i=t(6560),I=t(4540),Q=t(8e3);(0,i.co)({defineValueOf:()=>({value(){return r(this,!1)}})});const C=BigInt(Number.MAX_SAFE_INTEGER),o=BigInt(Number.MIN_SAFE_INTEGER);function r(A,e){const t={error:e?"return":"throw"},i=(0,Q.L9)(t),r=new Map,B=function(A){const Q="function"==typeof A?g.ev.Struct:A?.constructor?.[I.ZE];if(void 0===Q){if(e){if("bigint"==typeof A&&o<=A&&A<=C)return Number(A);if(A instanceof Error)return{error:A.message}}return A}let n=r.get(A);if(void 0===n){let e;switch(Q){case g.ev.Struct:e=A[I.lf](t),n=A.constructor[I.Wg]&g.sU.IsTuple?[]:{};break;case g.ev.Union:e=A[I.lf](t),n={};break;case g.ev.Array:case g.ev.Vector:case g.ev.Slice:e=A[I.lf](),n=[];break;case g.ev.Pointer:try{n=A["*"]}catch(A){n=Symbol.for("inaccessible")}break;case g.ev.Enum:n=i((()=>String(A)));break;case g.ev.Opaque:n={};break;default:n=i((()=>A.$))}if(n=B(n),r.set(A,n),e)for(const[A,t]of e)n[A]=B(t)}return n};return B(A)}},8539:(A,e,t)=>{var g=t(6560),i=t(4762);(0,g.co)({defineMemberVoid(A,e){const{bitOffset:t}=A;return{get(){},set:void 0!==t?function(e){if(void 0!==e)throw new i.UQ(A)}:function(e,t){if(void 0!==t)throw new i.UQ(A);if(e<0||e>=this.length)throw new i._l(A,e)}}}})},7679:(A,e,t)=>{var g=t(1388),i=t(6560),I=t(4762),Q=t(4540),C=t(8e3);(0,i.co)({defineStructure(A){const{type:e,byteSize:t}=A,i=this[`define${g.EK[e]}`],I=[],o={},r={dataView:this.defineDataView(A),base64:this.defineBase64(A),toJSON:this.defineToJSON(),valueOf:this.defineValueOf(),[Q.KK]:{value:null},[Q.Bl]:(0,C.vQ)(o),[Q.Rk]:(0,C.vQ)(I),[Q.sF]:this.defineCopier(t),[Q.zN]:this.defineRestorer()},B=A.constructor=i.call(this,A,r);for(const[A,e]of Object.entries(r)){const t=e?.set;t&&!o[A]&&"$"!==A&&(o[A]=t,I.push(A))}return(0,C.ny)(B.prototype,r),B},finalizeStructure(A){const{name:e,type:t,constructor:i,align:I,byteSize:o,flags:r,signature:B,static:{members:n,template:s}}=A,E=[],a={name:(0,C.vQ)(e),toJSON:this.defineToJSON(),valueOf:this.defineValueOf(),[Q.J2]:(0,C.vQ)(B),[Q.M0]:(0,C.vQ)(this),[Q.Ec]:(0,C.vQ)(I),[Q.SK]:(0,C.vQ)(o),[Q.ZE]:(0,C.vQ)(t),[Q.Wg]:(0,C.vQ)(r),[Q.n5]:(0,C.vQ)(E),[Q.pM]:(0,C.vQ)(this.getTypedArray(A)),[Symbol.iterator]:this.defineStructIterator(),[Q.lf]:this.defineStructEntries(),[Q.n5]:(0,C.vQ)(E)},c={[Symbol.toStringTag]:(0,C.vQ)(e)};for(const A of n){const{name:e,slot:t}=A;if(A.structure.type===g.ev.Function){const i=s[Q._f][t];a[e]=(0,C.vQ)(i),i.name||(0,C.n8)(i,"name",(0,C.vQ)(e));const[I,o]=/^(get|set)\s+([\s\S]+)/.exec(e)?.slice(1)??[],r="get"===I?0:1;if(I&&i.length===r&&(a[o]||={},a[o][I]=i),A.flags&g.pK.IsMethod){const A=function(...A){try{return i(this,...A)}catch(A){throw A[Q.q6]?.(1),A}};(0,C.ny)(A,{name:(0,C.vQ)(e),length:(0,C.vQ)(i.length-1)}),c[e]=(0,C.vQ)(A),I&&A.length===r&&((c[o]||={})[I]=A)}}else a[e]=this.defineMember(A),E.push(e)}a[Q._f]=E.length>0&&(0,C.vQ)(s[Q._f]);const u=this[`finalize${g.EK[t]}`];!1!==u?.call(this,A,a,c)&&((0,C.ny)(i.prototype,c),(0,C.ny)(i,a))},createConstructor(A,e={}){const{type:t,byteSize:i,align:o,flags:r,instance:{members:B,template:n}}=A,{onCastError:s}=e;let E;if(n?.[Q._f]){const A=B.filter((A=>A.flags&g.pK.IsReadOnly));A.length>0&&(E=A.map((A=>A.slot)))}const a=new C.UF,c=this,u=function(e,C={}){const{allocator:B}=C,l=this instanceof u;let f,h;if(l){if(0===arguments.length)throw new I.ci(A);if(f=this,r&g.yi.HasSlot&&(f[Q._f]={}),Q.IW in f)f[Q.Zv](e,B),h=f[Q.Qy];else{const A=t!==g.ev.Pointer?B:null;f[Q.Qy]=h=c.allocateMemory(i,o,A)}}else{if(Q.mL in u&&(f=u[Q.mL].call(this,e,C),!1!==f))return f;if(h=c.extractView(A,e,s),f=a.find(h))return f;f=Object.create(u.prototype),Q.IW in f?c.assignView(f,h,A,!1,!1):f[Q.Qy]=h,r&g.yi.HasSlot&&(f[Q._f]={})}if(E)for(const A of E)f[Q._f][A]=n[Q._f][A];return f[Q.f$]?.(),l&&(Q.IW in f||f[Q.Zv](e,B)),Q.vm in f&&(f=f[Q.vm]()),a.save(h,f)};return(0,C.n8)(u,Q.fV,(0,C.vQ)(a)),n?.[Q.Qy]&&(0,C.n8)(n,Q.zN,this.defineRestorer()),u},createApplier(A){const{instance:{template:e}}=A;return function(t,g){const i=Object.keys(t),C=this[Q.Rk],o=this[Q.Bl];for(const e of i)if(!(e in o))throw new I.xH(A,e);let r=0,B=0,n=0,s=0;for(const A of C){const e=o[A];e.special?A in t&&s++:(r++,A in t?B++:e.required&&n++)}if(0!==n&&0===s){const e=C.filter((A=>o[A].required&&!(A in t)));throw new I.SB(A,e)}if(s+B>i.length)for(const A of C)A in t&&(i.includes(A)||i.push(A));B<r&&0===s&&e&&e[Q.Qy]&&this[Q.sF](e);for(const A of i)o[A].call(this,t[A],g);return i.length}},getTypedArray(A){const{type:e,instance:t}=A;if(void 0!==e&&t){const[A]=t.members;switch(e){case g.ev.Enum:case g.ev.ErrorSet:case g.ev.Primitive:{const{byteSize:e,type:t}=A,i=t===g.Z9.Float?"Float":t===g.Z9.Int?"Int":"Uint",I=e>4&&t!==g.Z9.Float?"Big":"";return globalThis[I+i+8*e+"Array"]}case g.ev.Array:case g.ev.Slice:case g.ev.Vector:return this.getTypedArray(A.structure)}}}})},2244:(A,e,t)=>{var g=t(1388),i=t(6560),I=t(4762),Q=t(4540),C=t(8e3);(0,i.co)({defineArgStruct(A,e){const{flags:t,byteSize:i,align:o,length:r,instance:{members:B}}=A,n=this,s=B.slice(1),E=function(A,e){const C=this instanceof E;let B,a;if(C?(B=this,a=n.allocateMemory(i,o)):(B=Object.create(E.prototype),a=A),B[Q.Qy]=a,t&g.yi.HasSlot&&(B[Q._f]={}),!C)return B;{let i;if(t&g.e2.HasOptions&&A.length===r+1&&(i=A.pop()),A.length!==r)throw new I.nz(r,A.length);t&g.e2.IsAsync&&(B[Q.vm]=null),n.copyArguments(B,A,s,i,e)}};for(const A of B)e[A.name]=this.defineMember(A);const a=e.retval.set;return e.length=(0,C.vQ)(s.length),e[Q.tZ]=t&g.yi.HasObject&&this.defineVivificatorStruct(A),e[Q.g9]=t&g.yi.HasPointer&&this.defineVisitorArgStruct(B),e[Q.zg]=(0,C.vQ)((function(A){a.call(this,A,this[Q.Gz])})),e[Symbol.iterator]=this.defineArgIterator?.(s),e[Q.sF]=this.defineRetvalCopier(B[0]),E},finalizeArgStruct(A,e){const{flags:t}=A;e[Q.du]=(0,C.vQ)(!!(t&g.e2.IsThrowing))}})},9433:(A,e,t)=>{var g=t(6560),i=t(4540),I=t(8e3);(0,g.co)({defineFinalizerArray:({get:A,set:e})=>({value(){const t=new Proxy(this,Q);return(0,I.ny)(this,{[i.rG]:{value:t},get:{value:A.bind(this)},set:e&&{value:e.bind(this)}}),t}}),defineVivificatorArray(A){const{instance:{members:[e]}}=A,{byteSize:t,structure:g}=e,I=this;return{value:function(A){const{constructor:e}=g;this[i.zN]?.();const Q=this[i.Qy],C=Q.byteOffset+t*A,o=I.obtainView(Q.buffer,C,t);return this[i._f][A]=e.call(i.f7,o)}}}});const Q={get(A,e){const t="symbol"==typeof e?0:0|e;return 0!==t||t==e?A.get(t):e===i.sO?A:A[e]},set(A,e,t){const g="symbol"==typeof e?0:0|e;return 0!==g||g==e?A.set(g,t):A[e]=t,!0},deleteProperty(A,e){const t="symbol"==typeof e?0:0|e;return 0===t&&t!=e&&(delete A[e],!0)},has(A,e){const t="symbol"==typeof e?0:0|e;return 0!==t||t==e?t>=0&&t<A.length:A[e]},ownKeys(A){const e=[];for(let t=0,g=A.length;t<g;t++)e.push(`${t}`);return e.push("length",i.rG),e},getOwnPropertyDescriptor(A,e){const t="symbol"==typeof e?0:0|e;return 0===t&&t!=e?Object.getOwnPropertyDescriptor(A,e):t>=0&&t<A.length?{value:A.get(t),enumerable:!0,writable:!0,configurable:!0}:void 0}}},3509:(A,e,t)=>{var g=t(1388),i=t(6560),I=t(4762),Q=t(4540),C=t(8e3);(0,i.co)({defineArray(A,e){const{length:t,instance:{members:[i]},flags:o}=A,r=this.createApplier(A),B=this.defineMember(i),{set:n}=B,s=this.createConstructor(A),E=function(e,i){if((0,C.pU)(e,s))this[Q.sF](e),o&g.yi.HasPointer&&this[Q.g9]("copy",g.F7.Vivificate,e);else if("string"==typeof e&&o&g.uE.IsString&&(e={string:e}),e?.[Symbol.iterator]){if((e=(0,C.FU)(e)).length!==t)throw new I.Y8(A,this,e);let g=0;for(const A of e)n.call(this,g++,A,i)}else if(e&&"object"==typeof e){if(0===r.call(this,e))throw new I.L2(A,e)}else if(void 0!==e)throw new I.L2(A,e)};return e.$={get:C.V_,set:E},e.length=(0,C.vQ)(t),e.entries=e[Q.lf]=this.defineArrayEntries(),o&g.uE.IsTypedArray&&(e.typedArray=this.defineTypedArray(A),o&g.uE.IsString&&(e.string=this.defineString(A)),o&g.uE.IsClampedArray&&(e.clampedArray=this.defineClampedArray(A))),e[Symbol.iterator]=this.defineArrayIterator(),e[Q.Zv]=(0,C.vQ)(E),e[Q.vm]=this.defineFinalizerArray(B),e[Q.tZ]=o&g.yi.HasObject&&this.defineVivificatorArray(A),e[Q.g9]=o&g.yi.HasPointer&&this.defineVisitorArray(),s},finalizeArray(A,e){const{flags:t,instance:{members:[i]}}=A;e.child=(0,C.vQ)(i.structure.constructor),e[Q.fd]=t&g.uE.HasSentinel&&this.defineSentinel(A)}})},7382:(A,e,t)=>{var g=t(1388),i=t(6560),I=t(4762),Q=t(4540),C=t(8e3);(0,i.co)({defineFunction(A,e){const{instance:{members:[t],template:i},static:{template:o}}=A,r=new C.UF,{structure:{constructor:B}}=t,n=this,s=function(e){const t=this instanceof s;let E,a;if(t){if(0===arguments.length)throw new I.ci(A);if("function"!=typeof e)throw new I.Pd("function",e);if(B[Q.ZE]===g.ev.VariadicStruct||!o)throw new I.O0;E=n.getFunctionThunk(e,o)}else{if(this!==Q.M0)throw new I.Qm;E=e}if(a=r.find(E))return a;const c=B.prototype.length,u=t?n.createInboundCaller(e,B):n.createOutboundCaller(i,B);return(0,C.ny)(u,{length:(0,C.vQ)(c),name:(0,C.vQ)(t?e.name:"")}),Object.setPrototypeOf(u,s.prototype),u[Q.Qy]=E,r.save(E,u),u};return Object.setPrototypeOf(s.prototype,Function.prototype),e.valueOf=e.toJSON=(0,C.vQ)(C.Ng),s},finalizeFunction(A,e,t){t[Symbol.toStringTag]=void 0}})},1425:(A,e,t)=>{var g=t(1388),i=t(6560),I=t(4762),Q=t(4540),C=t(8e3);function o(A,e){return(0,C.xN)(A?.constructor?.child,e)&&A["*"]}function r(A,e,t){if(t&g.UT.IsMultiple){if(A?.constructor?.child?.child===e.child&&A["*"])return!0;if(t&g.UT.IsSingle&&o(A,e.child))return!0}return!1}(0,i.co)({definePointer(A,e){const{flags:t,byteSize:i,instance:{members:[B]}}=A,{structure:E}=B,{type:a,flags:c,byteSize:u=1}=E,l=t&g.UT.HasLength?i/2:i,{get:f,set:h}=this.defineMember({type:g.Z9.Uint,bitOffset:0,bitSize:8*l,byteSize:l,structure:{byteSize:l}}),{get:w,set:D}=t&g.UT.HasLength?this.defineMember({type:g.Z9.Uint,bitOffset:8*l,bitSize:8*l,byteSize:l,structure:{flags:g.AD.IsSize,byteSize:l}}):{},y=function(A,e=!0,i=!0){if(e||this[Q.Qy][Q.Dr]){if(!i)return this[Q._f][0]=void 0;{const e=b.child,i=f.call(this),I=t&g.UT.HasLength?w.call(this):a===g.ev.Slice&&c&g.tv.HasSentinel?m.findSentinel(i,e[Q.fd].bytes)+1:1;if(i!==this[Q.c6]||I!==this[Q.uL]){const C=m.findMemory(A,i,I,e[Q.SK]),o=C?e.call(Q.M0,C):null;return this[Q._f][0]=o,this[Q.c6]=i,this[Q.uL]=I,t&g.UT.HasLength&&(this[Q.E2]=null),o}}}return this[Q._f][0]},d=function(A){h.call(this,A),this[Q.c6]=A},p=c&g.tv.HasSentinel?1:0,S=t&g.UT.HasLength||c&g.tv.HasSentinel?function(A){D?.call?.(this,A-p),this[Q.uL]=A}:null,F=function(){const A=this[Q.C7]??this,e=!A[Q._f][0],i=y.call(A,null,e);if(!i){if(t&g.UT.IsNullable)return null;throw new I.BY}return t&g.UT.IsConst?n(i):i},U=c&g.yi.HasValue?function(){return F.call(this).$}:F,k=t&g.UT.IsConst?I.V0:function(A){return F.call(this).$=A},m=this,N=function(e,i){const B=E.constructor;if(o(e,B)){if(!(t&g.UT.IsConst)&&e.constructor.const)throw new I.G9(A,e);e=e[Q._f][0]}else if(t&g.UT.IsMultiple)r(e,B,t)&&(e=B(e[Q._f][0][Q.Qy]));else if(a===g.ev.Slice&&c&g.tv.IsOpaque&&e)if(e.constructor[Q.ZE]===g.ev.Pointer)e=e[Q.Qn]?.[Q.Qy];else if(e[Q.Qy])e=e[Q.Qy];else if(e?.buffer instanceof ArrayBuffer&&!(e instanceof Uint8Array||e instanceof DataView)){const{byteOffset:A,byteLength:t}=e;void 0!==A&&void 0!==t&&(e=new DataView(e.buffer,A,t))}if(e instanceof B){e[Q.zN]?.();const i=e[Q.KK];if(i){if(!(t&g.UT.IsConst))throw new I.ck(A);e=i}}else if((0,C.pU)(e,B))e=B.call(Q.M0,e[Q.Qy]);else if(t&g.UT.IsSingle&&t&g.UT.IsMultiple&&e instanceof B.child)e=B(e[Q.Qy]);else if(function(A,e){const t=A?.[Symbol.toStringTag];if(t){const g=e[Q.pM];if(g)switch(t){case g.name:case"DataView":return!0;case"ArrayBuffer":return g===Uint8Array||g===Int8Array;case"Uint8ClampedArray":return g===Uint8Array}if(e.child&&void 0!==(0,C.be)(A,e.child))return!0}return!1}(e,B))e=B(m.extractView(E,e));else if(null==e||e[Q.Qy]){if(!(void 0===e||t&g.UT.IsNullable&&null===e))throw new I.QB(A,e)}else{if(t&g.UT.IsSingle&&t&g.UT.IsMultiple&&"object"==typeof e&&!e[Symbol.iterator]){let A=!0;const t=B.prototype[Q.Bl];for(const g of Object.keys(e)){const e=t[g];if(e?.special){A=!1;break}}A&&(e=[e])}if(Q.pM in B&&e?.buffer&&e[Symbol.iterator])throw new I.QB(A,e);e=new B(e,{allocator:i})}const n=e?.[Q.Qy]?.[Q.Dr];if(n?.address===C.Y$)throw new I.xp(e);this[Q.Qn]=e},b=this.createConstructor(A);return e["*"]={get:U,set:k},e.$={get:C.V_,set:N},e.length={get:function(){const A=F.call(this);return A?A.length:0},set:function(A){A|=0;const e=F.call(this);if(!e){if(0!==A)throw new I._L(A,0);return}if(e.length===A)return;e[Q.zN]?.();const i=e[Q.Qy],C=i[Q.Dr];let o;if(C||(t&g.UT.HasLength?(this[Q.E2]||=e.length,o=this[Q.E2]):o=(i.buffer.byteLength-i.byteOffset)/u|0),A<0||A>o)throw new I._L(A,o);const r=A*u,B=C?m.obtainZigView(C.address,r):m.obtainView(i.buffer,i.byteOffset,r),n=E.constructor;this[Q._f][0]=n.call(Q.M0,B),S?.call?.(this,A)}},e.slice=a===g.ev.Slice&&{value(A,e){const t=this[Q.Qn].slice(A,e);return new b(t)}},e.subarray=a===g.ev.Slice&&{value(A,e,t){const g=this[Q.Qn].subarray(A,e,t);return new b(g)}},e[Symbol.toPrimitive]=a===g.ev.Primitive&&{value(A){return this[Q.Qn][Symbol.toPrimitive](A)}},e[Q.Zv]=(0,C.vQ)(N),e[Q.vm]={value(){const A=a!==g.ev.Pointer?s:{};let e;a===g.ev.Function?(e=function(){},e[Q.Qy]=this[Q.Qy],e[Q._f]=this[Q._f],Object.setPrototypeOf(e,b.prototype)):e=this;const t=new Proxy(e,A);return Object.defineProperty(e,Q.rG,{value:t}),t}},e[Q.Qn]={get:F,set:function(A){if(void 0===A)return;const e=this[Q.C7]??this;if(A){const t=A[Q.Qy][Q.Dr];if(t){const{address:e,js:g}=t;d.call(this,e),S?.call?.(this,A.length),g&&(A[Q.Qy][Q.Dr]=void 0)}else if(e[Q.Qy][Q.Dr])throw new I.x1}else e[Q.Qy][Q.Dr]&&(d.call(this,0),S?.call?.(this,0));e[Q._f][0]=A??null,t&g.UT.HasLength&&(e[Q.E2]=null)}},e[Q.q6]=(0,C.vQ)(y),e[Q.BD]={set:d},e[Q.pi]={set:S},e[Q.g9]=this.defineVisitor(),e[Q.c6]=(0,C.vQ)(0),e[Q.uL]=(0,C.vQ)(0),e[Q.E2]=t&g.UT.HasLength&&(0,C.vQ)(null),e.dataView=e.base64=void 0,b},finalizePointer(A,e){const{flags:t,constructor:i,instance:{members:[B]}}=A,{structure:n}=B,{type:s,constructor:E}=n;e.child=E?(0,C.vQ)(E):{get:()=>n.constructor},e.const=(0,C.vQ)(!!(t&g.UT.IsConst)),e[Q.mL]={value(e,C){if(this===Q.M0||this===Q.f7||e instanceof i)return!1;if(o(e,E))return new i(E(e["*"]),C);if(r(e,E,t))return new i(e);if(s===g.ev.Slice)return new i(E(e),C);throw new I.zy(A)}}}});const B=new WeakMap;function n(A){let e=B.get(A);if(!e){const t=A[Q.C7];e=t?new Proxy(t,E):new Proxy(A,a),B.set(A,e)}return e}const s={get:(A,e)=>e===Q.C7?A:e in A?A[e]:A[Q.Qn][e],set:(A,e,t)=>(e in A?A[e]=t:A[Q.Qn][e]=t,!0),deleteProperty:(A,e)=>(e in A?delete A[e]:delete A[Q.Qn][e],!0),has:(A,e)=>e in A||e in A[Q.Qn],apply:(A,e,t)=>A["*"].apply(e,t)},E={...s,set:(A,e,t)=>(e in A?(0,I.V0)():A[Q.Qn][e]=t,!0)},a={get(A,e){if(e===Q.KK)return A;{const t=A[e];return t?.[Q.Qy]?n(t):t}},set(A,e,t){(0,I.V0)()}}},8773:(A,e,t)=>{var g=t(6560),i=t(4762),I=t(4540),Q=t(8e3);(0,g.co)({definePrimitive(A,e){const{instance:{members:[t]}}=A,g=this.createApplier(A),{get:C,set:o}=this.defineMember(t),r=function(e){if((0,Q.pU)(e,B))this[I.sF](e);else if(e&&"object"==typeof e){if(0===g.call(this,e)){const g=(0,Q.BF)(t);throw new i.is(A,g,e)}}else void 0!==e&&o.call(this,e)},B=this.createConstructor(A);return e.$={get:C,set:r},e[I.Zv]=(0,Q.vQ)(r),e[Symbol.toPrimitive]=(0,Q.vQ)(C),B},finalizePrimitive(A,e){const{instance:{members:[t]}}=A;e[I.Qt]=(0,Q.vQ)(t.bitSize),e[I.uT]=(0,Q.vQ)(t.type)}})},3086:(A,e,t)=>{var g=t(1388),i=t(6560),I=t(4762),Q=t(4540),C=t(8e3);function o(){return this[Q.pi]}function r(A,e){return(A|=0)<0?(A=e+A)<0&&(A=0):A>e&&(A=e),A}(0,i.co)({defineSlice(A,e){const{align:t,flags:i,byteSize:B,name:n,instance:{members:[s]}}=A,{byteSize:E,structure:a}=s,c=this,u=function(A,e,g){A||(A=c.allocateMemory(e*E,t,g)),this[Q.Qy]=A,this[Q.pi]=e},l=function(e,t){if(t!==this[Q.pi])throw new I.Y8(A,this,e)},f=this.defineMember(s),{set:h}=f,w=this.createApplier(A),D=function(e,t){if((0,C.pU)(e,d))this[Q.Qy]?l.call(this,e,e.length):u.call(this,null,e.length,t),this[Q.sF](e),i&g.yi.HasPointer&&this[Q.g9]("copy",g.F7.Vivificate,e);else if("string"==typeof e&&i&g.tv.IsString)D.call(this,{string:e},t);else if(e?.[Symbol.iterator]){e=(0,C.FU)(e),this[Q.Qy]?l.call(this,e,e.length):u.call(this,null,e.length,t);let A=0;for(const g of e)d[Q.fd]?.validateValue(g,A,e.length),h.call(this,A++,g,t)}else if("number"==typeof e){if(!(!this[Q.Qy]&&e>=0&&isFinite(e)))throw new I.L2(A,e,!this[Q.Qy]);u.call(this,null,e,t)}else if(e&&"object"==typeof e){if(0===w.call(this,e,t))throw new I.L2(A,e)}else if(void 0!==e)throw new I.L2(A,e)},y=function(A,e){const t=this[Q.pi],g=this[Q.Qy];A=void 0===A?0:r(A,t),e=void 0===e?t:r(e,t);const i=A*E,I=e*E-i;return c.obtainView(g.buffer,g.byteOffset+i,I)},d=this.createConstructor(A);return e.$={get:C.V_,set:D},e.length={get:o},i&g.tv.IsTypedArray&&(e.typedArray=this.defineTypedArray(A),i&g.tv.IsString&&(e.string=this.defineString(A)),i&g.tv.IsClampedArray&&(e.clampedArray=this.defineClampedArray(A))),e.entries=e[Q.lf]=this.defineArrayEntries(),e.subarray={value(A,e){const t=y.call(this,A,e);return d(t)}},e.slice={value(A,e,g={}){const{zig:i=!1}=g,I=y.call(this,A,e),C=c.allocateMemory(I.byteLength,t,i),o=d(C);return o[Q.sF]({[Q.Qy]:I}),o}},e[Symbol.iterator]=this.defineArrayIterator(),e[Q.IW]=(0,C.vQ)(u),e[Q.sF]=this.defineCopier(B,!0),e[Q.Zv]=(0,C.vQ)(D),e[Q.vm]=this.defineFinalizerArray(f),e[Q.tZ]=i&g.yi.HasObject&&this.defineVivificatorArray(A),e[Q.g9]=i&g.yi.HasPointer&&this.defineVisitorArray(),d},finalizeSlice(A,e){const{flags:t,instance:{members:[i]}}=A;e.child=(0,C.vQ)(i.structure.constructor),e[Q.fd]=t&g.tv.HasSentinel&&this.defineSentinel(A)}})},8991:(A,e,t)=>{var g=t(1388),i=t(6560),I=t(4762),Q=t(4540);(0,i.co)({defineVivificatorStruct(A){const{instance:{members:e}}=A,t={};for(const A of e.filter((A=>A.type===g.Z9.Object)))t[A.slot]=A;const i=this;return{value(A){const e=t[A],{bitOffset:g,byteSize:C,structure:{constructor:o}}=e;this[Q.zN]?.();const r=this[Q.Qy],B=r.byteOffset+(g>>3);let n=C;if(void 0===n){if(7&g)throw new I.Vp(e);n=e.bitSize>>3}const s=i.obtainView(r.buffer,B,n);return this[Q._f][A]=o.call(Q.f7,s)}}}})},8771:(A,e,t)=>{var g=t(1388),i=t(6560),I=t(4762),Q=t(4540),C=t(8e3);(0,i.co)({defineStruct(A,e){const{flags:t,length:i,instance:{members:o}}=A,r=o.find((A=>A.flags&g.pK.IsBackingInt)),B=r&&this.defineMember(r),n=this.createApplier(A),s=function(e,i){if((0,C.pU)(e,E))this[Q.sF](e),t&g.yi.HasPointer&&this[Q.g9]("copy",0,e);else if(e&&"object"==typeof e)n.call(this,e,i);else if("number"!=typeof e&&"bigint"!=typeof e||!B){if(void 0!==e)throw new I.is(A,"object",e)}else B.set.call(this,e)},E=this.createConstructor(A),a=e[Q.Bl].value,c=e[Q.Rk].value,u=[];for(const A of o.filter((A=>!!A.name))){const{name:t,flags:i}=A,{set:I}=e[t]=this.defineMember(A);I&&(i&g.pK.IsRequired&&(I.required=!0),a[t]=I,c.push(t)),u.push(t)}return e.$={get:C.Ng,set:s},e.length=(0,C.vQ)(i),e.entries=t&g.sU.IsTuple&&this.defineVectorEntries(),e[Symbol.toPrimitive]=B&&{value(A){return"string"===A?Object.prototype.toString.call(this):B.get.call(this)}},e[Symbol.iterator]=t&g.sU.IsIterator?this.defineZigIterator():t&g.sU.IsTuple?this.defineVectorIterator():this.defineStructIterator(),e[Q.Zv]=(0,C.vQ)(s),e[Q.tZ]=t&g.yi.HasObject&&this.defineVivificatorStruct(A),e[Q.g9]=t&g.yi.HasPointer&&this.defineVisitorStruct(o),e[Q.lf]=t&g.sU.IsTuple?this.defineVectorEntries():this.defineStructEntries(),e[Q.n5]=(0,C.vQ)(u),t&g.sU.IsAllocator&&(e.alloc=this.defineAlloc(),e.free=this.defineFree(),e.dupe=this.defineDupe()),E}})},4540:(A,e,t)=>{t.d(e,{BD:()=>w,Bl:()=>K,C7:()=>E,Dr:()=>r,E2:()=>f,Ec:()=>k,Gz:()=>x,IW:()=>T,J2:()=>R,KK:()=>m,M0:()=>N,Qn:()=>u,Qt:()=>U,Qy:()=>Q,Rk:()=>h,SK:()=>F,Wg:()=>n,ZE:()=>B,Zv:()=>z,_d:()=>L,_f:()=>C,c6:()=>y,du:()=>v,eR:()=>J,f$:()=>V,f7:()=>o,fV:()=>S,fd:()=>a,g9:()=>O,iw:()=>b,lf:()=>l,mL:()=>W,n5:()=>s,pM:()=>G,pi:()=>D,q6:()=>q,rG:()=>p,sF:()=>P,sO:()=>c,tZ:()=>H,uL:()=>d,uT:()=>M,vm:()=>j,wg:()=>X,zN:()=>Y,zg:()=>Z});const g=globalThis[Symbol.for("ZIGAR")]||={};function i(A){return g[A]||=Symbol(A)}function I(A){return i(A)}const Q=I("memory"),C=I("slots"),o=I("parent"),r=I("zig"),B=(I("name"),I("type")),n=I("flags"),s=(I("class"),I("tag"),I("props")),E=I("pointer"),a=I("sentinel"),c=I("array"),u=(I("items"),I("target")),l=I("entries"),f=I("max length"),h=I("keys"),w=I("address"),D=I("length"),y=I("last address"),d=I("last length"),p=I("proxy"),S=I("cache"),F=I("size"),U=I("bit size"),k=I("align"),m=I("const target"),N=I("environment"),b=I("attributes"),M=I("primitive"),K=(I("getters"),I("setters")),G=I("typed array"),v=I("throwing"),J=I("promise"),L=I("generator"),x=I("allocator"),R=(I("fallback"),I("signature")),q=I("update"),Y=I("restore"),H=(I("reset"),I("vivificate")),O=I("visit"),P=I("copy"),T=I("shape"),z=I("initialize"),V=I("restrict"),j=I("finalize"),W=I("cast"),Z=I("return"),X=I("yield")},8e3:(A,e,t)=>{t.d(e,{$k:()=>l,Au:()=>D,BF:()=>r,FU:()=>y,Fy:()=>f,Ie:()=>m,L9:()=>o,NV:()=>F,Ng:()=>U,UF:()=>N,V_:()=>k,WG:()=>n,Y$:()=>h,ZG:()=>a,be:()=>d,cv:()=>w,g7:()=>B,hJ:()=>u,n8:()=>I,ny:()=>Q,on:()=>c,pU:()=>S,vQ:()=>C,xN:()=>p,y4:()=>s});var g=t(1388),i=t(4540);function I(A,e,t){if(t){const{set:g,get:i,value:I,enumerable:Q,configurable:C=!0,writable:o=!0}=t;Object.defineProperty(A,e,i||g?{get:i,set:g,configurable:C,enumerable:Q}:{value:I,configurable:C,enumerable:Q,writable:o})}return A}function Q(A,e){for(const[t,g]of Object.entries(e))I(A,t,g);for(const t of Object.getOwnPropertySymbols(e))I(A,t,e[t]);return A}function C(A){return void 0!==A?{value:A}:void 0}function o(A){return"return"===A?.error?A=>{try{return A()}catch(A){return A}}:A=>A()}function r({type:A,bitSize:e}){switch(A){case g.Z9.Bool:return"boolean";case g.Z9.Int:case g.Z9.Uint:if(e>32)return"bigint";case g.Z9.Float:return"number"}}function B(A,e="utf-8"){const t=E[e]||=new TextDecoder(e);let g;if(Array.isArray(A))if(1===A.length)g=A[0];else{let e=0;for(const t of A)e+=t.length;const{constructor:t}=A[0];g=new t(e);let i=0;for(const e of A)g.set(e,i),i+=e.length}else g=A;return"SharedArrayBuffer"===g.buffer[Symbol.toStringTag]&&(g=new g.constructor(g)),t.decode(g)}function n(A){const e=new Uint8Array(A.buffer,A.byteOffset,A.byteLength),t=String.fromCharCode.apply(null,e);return btoa(t)}function s(A){const e=atob(A),t=new Uint8Array(e.length);for(let A=0;A<t.byteLength;A++)t[A]=e.charCodeAt(A);return new DataView(t.buffer)}const E={};function a(A,e,t){let g=0,i=A.length;if(0===i)return 0;for(;g<i;){const I=Math.floor((g+i)/2);t(A[I])<=e?g=I+1:i=I}return i}const c=function(A,e){return!!e&&!!(A&e-1)},u=function(A,e){return A+(e-1)&~(e-1)},l=0,f=4294967295,h=-1,w=function(A){return 2863311530===A||-1431655766===A},D=function(A,e){return A+e};function y(A){if("number"==typeof A.length)return A;const e=A[Symbol.iterator](),t=e.next(),g=t.value?.length;if("number"==typeof g&&"length"===Object.keys(t.value).join())return Object.assign(function*(){let A;for(;!(A=e.next()).done;)yield A.value}(),{length:g});{const A=[];let g=t;for(;!g.done;)A.push(g.value),g=e.next();return A}}function d(A,e){const{constructor:t}=A;return t===e?1:t.child===e?A.length:void 0}function p(A,e){return A===e||A?.[i.J2]===e[i.J2]&&A?.[i.M0]!==e?.[i.M0]}function S(A,e){return A instanceof e||p(A?.constructor,e)}function F({get:A,set:e}){return A.special=e.special=!0,{get:A,set:e}}function U(){return this}function k(){return this[i.rG]}function m(){}class N{map=new WeakMap;find(A){return this.map.get(A)}save(A,e){return this.map.set(A,e),e}}},8502:(A,e,t)=>{t.d(e,{k:()=>C});var g=t(1388),i=t(6560),I=t(4762),Q=t(4540);function C(A,e,t,i){let I,C=this[Q._f][A];if(!C){if(t&g.F7.IgnoreUncreated)return;C=this[Q.tZ](A)}i&&(I=i[Q._f][A],!I)||C[Q.g9](e,t,I)}(0,i.co)({defineVisitor:()=>({value(A,e,t){let g;g="string"==typeof A?o[A]:A,g.call(this,e,t)}})});const o={copy(A,e){const t=e[Q._f][0];if(this[Q.Qy][Q.Dr]&&t&&!t[Q.Qy][Q.Dr])throw new I.x1;this[Q._f][0]=t},clear(A){A&g.F7.IsInactive&&(this[Q._f][0]=void 0)},reset(){this[Q._f][0]=void 0,this[Q.c6]=void 0}}},9025:(A,e,t)=>{var g=t(1388),i=t(6560),I=t(8502);(0,i.co)({defineVisitorArgStruct(A){const e=[];let t;for(const[i,{slot:I,structure:Q}]of A.entries())Q.flags&g.yi.HasPointer&&(0===i?t=I:e.push(I));return{value(A,i,Q){if(!(i&g.F7.IgnoreArguments)&&e.length>0)for(const t of e)I.k.call(this,t,A,i|g.F7.IsImmutable,Q);i&g.F7.IgnoreRetval||void 0===t||I.k.call(this,t,A,i,Q)}}}})},5558:(A,e,t)=>{var g=t(1388),i=t(6560),I=t(8502);(0,i.co)({defineVisitorStruct(A){const e=A.filter((A=>A.structure?.flags&g.yi.HasPointer)).map((A=>A.slot));return{value(A,t,g){for(const i of e)I.k.call(this,i,A,t,g)}}}})},1369:A=>{A.exports=JSON.parse('{"Wn":[{"id":57345,"index":1,"char":"","width":24,"height":21,"xoffset":-2,"yoffset":4,"xadvance":20,"chnl":15,"x":0,"y":0,"page":0},{"id":57346,"index":2,"char":"","width":23,"height":24,"xoffset":-1,"yoffset":2,"xadvance":20,"chnl":15,"x":25,"y":0,"page":0}]}')}},I={};function Q(A){var e=I[A];if(void 0!==e)return e.exports;var t=I[A]={exports:{}};return i[A](t,t.exports,Q),t.exports}A="function"==typeof Symbol?Symbol("webpack queues"):"__webpack_queues__",e="function"==typeof Symbol?Symbol("webpack exports"):"__webpack_exports__",t="function"==typeof Symbol?Symbol("webpack error"):"__webpack_error__",g=A=>{A&&A.d<1&&(A.d=1,A.forEach((A=>A.r--)),A.forEach((A=>A.r--?A.r++:A())))},Q.a=(i,I,Q)=>{var C;Q&&((C=[]).d=-1);var o,r,B,n=new Set,s=i.exports,E=new Promise(((A,e)=>{B=e,r=A}));E[e]=s,E[A]=A=>(C&&A(C),n.forEach(A),E.catch((A=>{}))),i.exports=E,I((i=>{var I;o=(i=>i.map((i=>{if(null!==i&&"object"==typeof i){if(i[A])return i;if(i.then){var I=[];I.d=0,i.then((A=>{Q[e]=A,g(I)}),(A=>{Q[t]=A,g(I)}));var Q={};return Q[A]=A=>A(I),Q}}var C={};return C[A]=A=>{},C[e]=i,C})))(i);var Q=()=>o.map((A=>{if(A[t])throw A[t];return A[e]})),r=new Promise((e=>{(I=()=>e(Q)).r=0;var t=A=>A!==C&&!n.has(A)&&(n.add(A),A&&!A.d&&(I.r++,A.push(I)));o.map((e=>e[A](t)))}));return I.r?r:Q()}),(A=>(A?B(E[t]=A):r(s),g(C)))),C&&C.d<0&&(C.d=0)},Q.d=(A,e)=>{for(var t in e)Q.o(e,t)&&!Q.o(A,t)&&Object.defineProperty(A,t,{enumerable:!0,get:e[t]})},Q.o=(A,e)=>Object.prototype.hasOwnProperty.call(A,e),(()=>{var A;if("string"==typeof import.meta.url&&(A=import.meta.url),!A)throw new Error("Automatic publicPath is not supported in this browser");A=A.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),Q.p=A})();var C=Q(8156),o=(C=await C).A;export{o as default};
|
|
1
|
+
var A,e,t,i,n={4637:(A,e,t)=>{t.d(e,{q:()=>s});var i=/[a-zA-Z0-9:_-]/,n=/[\s\t\r\n]/,r=/['"]/;function s(A){var e="",t=[],s=I,a=null,g=null;function o(e){var t=function(A,e,t){return function(A,e){void 0===e&&(e={});var t=e.offsetLine||0,i=e.offsetColumn||0,n=A.split("\n"),r=0,s=n.map((function(A,e){var t=r+A.length+1,i={start:r,end:t,line:e};return r=t,i})),a=0;function g(A,e){return A.start<=e&&e<A.end}function o(A,e){return{line:t+A.line,column:i+e-A.start,character:e}}return function(e,t){"string"==typeof e&&(e=A.indexOf(e,t||0));for(var i=s[a],n=e>=i.end?1:-1;i;){if(g(i,e))return o(i,e);i=s[a+=n]}}}(A,t)(e,t)}(A,y),i=t.line,n=t.column,r=A.slice(0,y),s=/(^|\n).*$/.exec(r)[0].replace(/\t/g," "),a=A.slice(y),g=""+s+/.*(\n|$)/.exec(a)[0]+"\n"+function(A,e){for(var t="";e--;)t+=" ";return t}(0,s.length)+"^";throw new Error(e+" ("+i+":"+n+"). If this is valid SVG, it's probably a bug in svg-parser. Please raise an issue at https://github.com/Rich-Harris/svg-parser/issues – thanks!\n\n"+g)}function I(){for(;y<A.length&&"<"!==A[y]||!i.test(A[y+1]);)e+=A[y++];return c()}function c(){for(var e="";y<A.length&&"<"!==A[y];)e+=A[y++];return/\S/.test(e)&&a.children.push({type:"text",value:e}),"<"===A[y]?Q:c}function Q(){var e=A[y];if("?"===e)return c;if("!"===e){if("--"===A.slice(y+1,y+3))return l;if("[CDATA["===A.slice(y+1,y+8))return C;if(/doctype/i.test(A.slice(y+1,y+8)))return c}if("/"===e)return B;var i,n={type:"element",tagName:u(),properties:{},children:[]};for(a?a.children.push(n):g=n;y<A.length&&(i=E());)n.properties[i.name]=i.value;var r=!1;return"/"===A[y]&&(y+=1,r=!0),">"!==A[y]&&o("Expected >"),r||(a=n,t.push(n)),c}function l(){var e=A.indexOf("--\x3e",y);return~e||o("expected --\x3e"),y=e+2,c}function C(){var e=A.indexOf("]]>",y);return~e||o("expected ]]>"),a.children.push(A.slice(y+7,e)),y=e+2,c}function B(){var e=u();return e||o("Expected tag name"),e!==a.tagName&&o("Expected closing tag </"+e+"> to match opening tag <"+a.tagName+">"),f(),">"!==A[y]&&o("Expected >"),t.pop(),a=t[t.length-1],c}function u(){for(var e="";y<A.length&&i.test(A[y]);)e+=A[y++];return e}function E(){if(!n.test(A[y]))return null;f();var e=u();if(!e)return null;var t=!0;return f(),"="===A[y]&&(y+=1,f(),t=r.test(A[y])?function(){for(var e=A[y++],t="",i=!1;y<A.length;){var n=A[y++];if(n===e&&!i)return t;"\\"!==n||i||(i=!0),t+=i?"\\"+n:n,i=!1}}():function(){var e="";do{var t=A[y];if(" "===t||">"===t||"/"===t)return e;e+=t,y+=1}while(y<A.length);return e}(),isNaN(t)||""===t.trim()||(t=+t)),{name:e,value:t}}function f(){for(;y<A.length&&n.test(A[y]);)y+=1}for(var y=I.length;y<A.length;)s||o("Unexpected character"),s=s(),y+=1;return s!==c&&o("Unexpected end of input"),"svg"===g.tagName&&(g.metadata=e),{type:"root",children:[g]}}},214:(A,e,t)=>{function i(A,e,t,i){A.width=Math.max(1,Math.min(e,i.limits.maxTextureDimension2D)),A.height=Math.max(1,Math.min(t,i.limits.maxTextureDimension2D))}function n(A,e,t){const n=new ResizeObserver((A=>{var n,r,s,a;for(const g of A)i(g.target,null!==(r=null===(n=g.devicePixelContentBoxSize)||void 0===n?void 0:n[0].inlineSize)&&void 0!==r?r:g.contentBoxSize[0].inlineSize*devicePixelRatio,null!==(a=null===(s=g.devicePixelContentBoxSize)||void 0===s?void 0:s[0].blockSize)&&void 0!==a?a:g.contentBoxSize[0].blockSize*devicePixelRatio,e),t()}));try{n.observe(A,{box:"device-pixel-content-box"})}catch(e){n.observe(A,{box:"content-box"})}i(A,A.clientWidth,A.clientHeight,e)}t.d(e,{A:()=>n})},1911:(A,e,t)=>{t.d(e,{A:()=>n});var i=function(A,e,t,i){return new(t||(t=Promise))((function(n,r){function s(A){try{g(i.next(A))}catch(A){r(A)}}function a(A){try{g(i.throw(A))}catch(A){r(A)}}function g(A){var e;A.done?n(A.value):(e=A.value,e instanceof t?e:new t((function(A){A(e)}))).then(s,a)}g((i=i.apply(A,e||[])).next())}))};function n(){return i(this,void 0,void 0,(function*(){if(!navigator.gpu)throw Error("this browser does not support WebGPU");const A=yield navigator.gpu.requestAdapter();if(!A)throw Error("this browser supports webgpu but it appears disabled");const e=yield A.requestDevice();return e.lost.then((A=>{console.error(`WebGPU device was lost: ${A.message}`),A.reason})),e}))}},1549:(A,e,t)=>{t.d(e,{Be:()=>n});const i=(...A)=>{const e=Math.max(...A);return 1+Math.log2(e)|0};function n(A,e,t={}){const n=A.createTexture({format:"rgba8unorm",mipLevelCount:t.mips?i(e.width,e.height):1,size:[e.width,e.height],usage:GPUTextureUsage.TEXTURE_BINDING|GPUTextureUsage.COPY_DST|GPUTextureUsage.RENDER_ATTACHMENT});return function(A,e,t,{flipY:i,depthOrArrayLayers:n}={}){A.queue.copyExternalImageToTexture({source:t,flipY:i},{texture:e},{width:t.width,height:t.height,depthOrArrayLayers:n})}(A,n,e,t),n}},2872:(A,e,t)=>{t.a(A,(async(A,i)=>{try{t.d(e,{A:()=>o});var n=t(2842),r=t(9200),s=t(1559),a=A([r,s]);[r,s]=a.then?(await a)():a;const g=1;class o{constructor(A){this.isPreviousPickDone=!0,this.pickBuffer=A.createBuffer({size:4*g,usage:GPUBufferUsage.MAP_READ|GPUBufferUsage.COPY_DST}),this.pickTexture=A.createTexture({size:[1,1],format:"r32uint",usage:GPUTextureUsage.COPY_SRC|GPUTextureUsage.RENDER_ATTACHMENT}),this.pickDepthTexture=A.createTexture({size:[1,1],format:"depth24plus",usage:GPUTextureUsage.RENDER_ATTACHMENT})}startPicking(A){const e={label:"our render to canvas renderPass",colorAttachments:[{view:this.pickTexture.createView(),loadOp:"clear",clearValue:[0,0,0,1],storeOp:"store"}]},t=A.beginRenderPass(e);return t.setViewport(0,0,1,1,0,1),t.setScissorRect(0,0,1,1),{pass:t,end:()=>{t.end(),this.isPreviousPickDone&&A.copyTextureToBuffer({texture:this.pickTexture,origin:{x:0,y:0}},{buffer:this.pickBuffer},{width:g})}}}createMatrix(A,e){const t=-(r.Wn.x/A.width*2-1),i=r.Wn.y/A.height*2-1;return[n.A.scaling([A.width,A.height,0]),n.A.translation([t,i,0]),e].reduce(((A,e)=>n.A.multiply(A,e)),n.A.translation([-1,1,0]))}asyncPick(){return A=this,e=void 0,i=function*(){if(this.isPreviousPickDone){this.isPreviousPickDone=!1;try{yield this.pickBuffer.mapAsync(GPUMapMode.READ,0,4*g);const[A]=new Uint32Array(this.pickBuffer.getMappedRange(0,4*g));(0,s.OI)(A);let e=0;for(;e<r.Wn.afterPickEventsQueue.length;){const{requireNewPick:A,cb:t}=r.Wn.afterPickEventsQueue[e];if(A&&e>0)break;t(),e++}r.Wn.afterPickEventsQueue.splice(0,e),this.pickBuffer.unmap()}catch(A){}this.isPreviousPickDone=!0}},new((t=void 0)||(t=Promise))((function(n,r){function s(A){try{g(i.next(A))}catch(A){r(A)}}function a(A){try{g(i.throw(A))}catch(A){r(A)}}function g(A){var e;A.done?n(A.value):(e=A.value,e instanceof t?e:new t((function(A){A(e)}))).then(s,a)}g((i=i.apply(A,e||[])).next())}));var A,e,t,i}}i()}catch(A){i(A)}}))},9200:(A,e,t)=>{t.a(A,(async(A,i)=>{try{t.d(e,{Ay:()=>l,UI:()=>c,Wn:()=>Q});var n=t(1559),r=t(6253),s=A([n]);n=(s.then?(await s)():s)[0];const g=-1;var a;!function(A){A[A.Pan=0]="Pan",A[A.Zoom=1]="Zoom",A[A.None=2]="None"}(a||(a={}));let o=a.None,I=null;const c={x:0,y:0,zoom:1},Q={x:0,y:0,afterPickEventsQueue:[]};function l(A,e,t){function i(){return[(Q.x-c.x)/c.zoom,(A.height-Q.y-c.y)/c.zoom]}function s(e){const t=A.getBoundingClientRect(),i=A.width/t.width;Q.x=(e.clientX-t.left)*i,Q.y=(e.clientY-t.top)*i}function l(t,i,n){const s=c.zoom;c.zoom=(0,r.A)(c.zoom+t,.1,20),e();const a=c.zoom/s;c.x=i-(i-c.x)*a;const g=A.height-n;c.y=g-(g-c.y)*a}function C(t){const i=c.zoom;c.zoom=(0,r.A)(c.zoom-.005*t,.1,20),e();const n=c.zoom/i;c.x=Q.x-(Q.x-c.x)*n;const s=A.height-Q.y;c.y=s-(s-c.y)*n}Q.x=g,Q.y=g,A.addEventListener("mouseleave",(()=>{t(),A.style.cursor="default";const e=()=>{Q.x=g,Q.y=g,n.c2()};Q.afterPickEventsQueue.length>0?Q.afterPickEventsQueue.push({requireNewPick:!1,cb:e}):e()})),A.addEventListener("mousemove",(A=>{if(I)return s(A),c.x=Q.x-I.x,void(c.y=-(Q.y-I.y));t();const e=()=>{s(A),n.wU(...i())};Q.afterPickEventsQueue.length>0?Q.afterPickEventsQueue.push({requireNewPick:!1,cb:e}):e()})),A.addEventListener("mousedown",(e=>{if(o===a.Pan)return s(e),I={x:Q.x-c.x,y:Q.y+c.y},void(A.style.cursor="grabbing");I=null,t(),s(e),Q.afterPickEventsQueue.push({requireNewPick:!0,cb:n.Dk.bind(null,...i())})})),A.addEventListener("mouseup",(()=>{o=a.None,I=null,A.style.cursor="default",t(),Q.afterPickEventsQueue.length>0?Q.afterPickEventsQueue.push({requireNewPick:!1,cb:n._R}):n._R()})),A.addEventListener("wheel",(A=>{s(A),A.preventDefault(),o===a.Zoom?C(Math.abs(A.deltaY)>Math.abs(A.deltaX)?A.deltaY:-A.deltaX):A.ctrlKey?C(A.deltaY*c.zoom):(c.x-=A.deltaX,c.y+=A.deltaY)})),document.body.addEventListener("keydown",(e=>{switch(e.code){case"Space":e.preventDefault(),o!==a.Pan&&(A.style.cursor="grab",o=a.Pan);break;case"AltLeft":case"AltRight":e.preventDefault(),o=a.Zoom;break;case"Escape":e.preventDefault(),n.o6();break;case"=":case"+":(e.ctrlKey||e.metaKey)&&(e.preventDefault(),l(.1,Q.x!==g?Q.x:A.width/2,Q.y!==g?Q.y:A.height/2));break;case"-":case"_":(e.ctrlKey||e.metaKey||e.shiftKey)&&(e.preventDefault(),l(-.1,Q.x!==g?Q.x:A.width/2,Q.y!==g?Q.y:A.height/2))}})),document.body.addEventListener("keyup",(e=>{"Space"!==e.code&&"Alt"!==e.key||(o=a.None),"Space"===e.code&&null===I&&(A.style.cursor="default")}))}i()}catch(C){i(C)}}))},7829:(A,e,t)=>{t.d(e,{Sp:()=>G,Ay:()=>F,hk:()=>k,KG:()=>x,_J:()=>D,D4:()=>m,R9:()=>M,Fh:()=>v,Q3:()=>z});const i="const PI = 3.14159265358979323846;\nconst EPSILON = 1.1920929e-7;\n\nstruct Vertex {\n @location(0) p0: vec4f, //xy -> corner position, zw -> circle position\n @location(1) p1: vec4f,\n @location(2) p2: vec4f,\n @location(3) color: vec4f,\n @location(4) radius_list: vec3f,\n};\n\nstruct Uniforms {\n worldViewProjection: mat4x4f,\n};\n\nstruct VertexOutput {\n @builtin(position) position: vec4f,\n @location(0) @interpolate(flat) p0: vec4f,\n @location(1) @interpolate(flat) p1: vec4f,\n @location(2) @interpolate(flat) p2: vec4f,\n @location(3) @interpolate(flat) color: vec4f,\n @location(4) pixel: vec2f,\n @location(5) @interpolate(flat) radius_list: vec3f,\n @location(6) @interpolate(flat) threshold_list: vec3f,\n};\n\n@group(0) @binding(0) var<uniform> u: Uniforms;\n\nfn threshold_pythagorean_leg(corner: vec4f, radius: f32) -> f32 {\n let p_circle_dist = distance(corner.xy, corner.zw);\n // Pythagorean theorem, finding one leg of a right triangle when you know the hypotenuse and the other leg.\n return sqrt(p_circle_dist * p_circle_dist - radius * radius);\n}\n\n@vertex fn vs(\n vert: Vertex,\n @builtin(vertex_index) vertex_index : u32\n) -> VertexOutput {\n var out: VertexOutput;\n\n let positions = array<vec2f, 3>(vert.p0.xy, vert.p1.xy, vert.p2.xy);\n out.position = vec4f(positions[vertex_index], 0, 1);\n\n out.pixel = vec2f(out.position.x, out.position.y);\n\n out.position = u.worldViewProjection * out.position;\n\n out.p0 = vert.p0;\n out.p1 = vert.p1;\n out.p2 = vert.p2;\n out.color = vert.color;\n\n out.radius_list = vert.radius_list;\n\n out.threshold_list = vec3f(\n threshold_pythagorean_leg(vert.p0, vert.radius_list.x),\n threshold_pythagorean_leg(vert.p1, vert.radius_list.y),\n threshold_pythagorean_leg(vert.p2, vert.radius_list.z),\n ); // behind this value is a rounded corner\n\n return out;\n}\n\n@fragment fn fs(in: VertexOutput) -> @location(0) vec4f {\n let p0_circle_dist = distance(in.p0.xy, in.pixel) - in.threshold_list.x;\n let p1_circle_dist = distance(in.p1.xy, in.pixel) - in.threshold_list.y;\n let p2_circle_dist = distance(in.p2.xy, in.pixel) - in.threshold_list.z;\n \n let min_circle_dist = min(\n p0_circle_dist,\n min(p1_circle_dist, p2_circle_dist)\n );\n\n var p: vec2f; // closest corner\n var p_circle: vec2f; // closest corner's circle position\n var radius: f32;\n var threshold: f32;\n\n if (abs(min_circle_dist - p0_circle_dist) <= EPSILON) {\n p = in.p0.xy;\n p_circle = in.p0.zw;\n radius = in.radius_list.x;\n threshold = in.threshold_list.x;\n } else if (abs(min_circle_dist - p1_circle_dist) <= EPSILON) {\n p = in.p1.xy;\n p_circle = in.p1.zw;\n radius = in.radius_list.y;\n threshold = in.threshold_list.y;\n } else {\n p = in.p2.xy;\n p_circle = in.p2.zw;\n radius = in.radius_list.z;\n threshold = in.threshold_list.z;\n }\n\n\n let circle_distance = distance(p_circle, in.pixel);\n let edge_width = fwidth(circle_distance);\n\n let circle_alpha = 1.0 - smoothstep(radius - edge_width, radius + edge_width, circle_distance);\n let dist = distance(p, in.pixel);\n let alpha = mix(circle_alpha, 1.0, step(threshold, dist)); // if threshold <= dist, use circle alpha, otherwise use 1.0\n\n return in.color * alpha;\n}\n",n=16,r="struct Uniforms {\n matrix: mat4x4f,\n zoom: f32,\n};\n\nstruct Vertex {\n @location(0) t: f32,\n @location(1) dir: f32,\n @location(2) segmentIndex: u32,\n};\n\n@group(0) @binding(0) var<uniform> u: Uniforms;\n\n@group(0) @binding(1) var<storage> points: array<vec2f>;\n\nstruct VSOutput {\n @builtin(position) position: vec4f,\n @location(0) color: vec4f,\n};\n\n@vertex fn vs(vert: Vertex) -> VSOutput {\n var vsOut: VSOutput;\n \n let p1 = points[vert.segmentIndex * 4 + 0];\n let p2 = points[vert.segmentIndex * 4 + 1];\n let p3 = points[vert.segmentIndex * 4 + 2];\n let p4 = points[vert.segmentIndex * 4 + 3];\n\n let t2 = vert.t * vert.t;\n let one_minus_t = 1.0 - vert.t;\n let one_minus_t2 = one_minus_t * one_minus_t;\n let pos = p1 * one_minus_t2 * one_minus_t + p2 * 3.0 * vert.t * one_minus_t2 + p3 * 3.0 * t2 * one_minus_t + p4 * t2 * vert.t;\n\n let angle = one_minus_t2 * (p2 - p1) + 2.0 * vert.t * one_minus_t * (p3 - p2) + t2 * (p4 - p3);\n let angleNorm = normalize(angle) * 5 / u.zoom;\n let transPos = vec2(pos.x - angleNorm.y * vert.dir, pos.y + angleNorm.x * vert.dir);\n let clipSpace = (u.matrix * vec4f(transPos, 1, 1));\n vsOut.position = clipSpace;\n vsOut.color = vec4f(f32(vert.segmentIndex) % 3, (f32(vert.segmentIndex) + 1) % 3, (f32(vert.segmentIndex) + 2) % 3, 1);\n\n return vsOut;\n}\n\n@fragment fn fs(vsOut: VSOutput) -> @location(0) vec4f {\n return vsOut.color;\n}\n",s="struct Uniforms {\n matrix: mat4x4f,\n};\n\nstruct Vertex {\n @location(0) position: vec4f,\n @location(1) texcoord: vec2f,\n};\n\nstruct VSOutput {\n @builtin(position) position: vec4f,\n @location(0) texcoord: vec2f,\n};\n\n@group(0) @binding(0) var<uniform> uni: Uniforms;\n\n@vertex fn vs(vert: Vertex) -> VSOutput {\n var vsOut: VSOutput;\n vsOut.position = uni.matrix * vert.position;\n vsOut.texcoord = vert.texcoord;\n return vsOut;\n}\n\n@group(0) @binding(1) var ourSampler: sampler;\n@group(0) @binding(2) var ourTexture: texture_2d<f32>;\n\n@fragment fn fs(vsOut: VSOutput) -> @location(0) vec4f {\n return textureSample(ourTexture, ourSampler, vsOut.texcoord);\n}\n",a="struct Uniforms {\n matrix: mat4x4f,\n};\n\nstruct Vertex {\n @location(0) position: vec4f,\n};\n\nstruct VSOutput {\n @builtin(position) position: vec4f,\n @location(0) color: vec4f,\n};\n\n@group(0) @binding(0) var<uniform> uni: Uniforms;\n\n@vertex fn vs(\n vert: Vertex,\n @builtin(vertex_index) vertexIndex : u32,\n // @builtin(instance_index) instanceIndex: u32\n ) -> VSOutput {\n var vsOut: VSOutput;\n vsOut.position = uni.matrix * vert.position;\n vsOut.color = vec4f(f32(vertexIndex) % 3, (f32(vertexIndex) + 1) % 3, (f32(vertexIndex) + 2) % 3, 1);\n return vsOut;\n}\n\n\n@fragment fn fs(vsOut: VSOutput) -> @location(0) vec4f {\n return vsOut.color;\n}\n",g="struct Uniforms {\n normalMatrix: mat3x3f,\n worldViewProjection: mat4x4f,\n lightColor: vec4f,\n lightDirection: vec3f,\n};\n\nstruct Vertex {\n @location(0) position: vec4f,\n @location(1) normal: vec3f,\n};\n\nstruct VSOutput {\n @builtin(position) position: vec4f,\n @location(0) color: vec4f,\n @location(1) normal: vec3f,\n};\n\n@group(0) @binding(0) var<uniform> uni: Uniforms;\n\n@vertex fn vs(\n vert: Vertex,\n @builtin(vertex_index) vertexIndex : u32,\n // @builtin(instance_index) instanceIndex: u32\n ) -> VSOutput {\n var vsOut: VSOutput;\n vsOut.position = uni.worldViewProjection * vert.position;\n vsOut.normal = uni.normalMatrix * vert.normal;\n vsOut.color = vec4f(f32(vertexIndex) % 3, (f32(vertexIndex) + 1) % 3, (f32(vertexIndex) + 2) % 3, 1);\n\n return vsOut;\n}\n\n\n@fragment fn fs(vsOut: VSOutput) -> @location(0) vec4f {\n // Because vsOut.normal is an inter-stage variable \n // it's interpolated so it will not be a unit vector.\n // Normalizing it will make it a unit vector again\n let normal = normalize(vsOut.normal);\n \n // Compute the light by taking the dot product\n // of the normal to the light's reverse direction\n let light = dot(normal, -uni.lightDirection);\n \n // Lets multiply just the color portion (not the alpha)\n // by the light\n let color = vec3f(0.23) + uni.lightColor.rgb * light;\n // let color = vsOut.color.rgb * 0.5 + uni.lightColor.rgb * light;\n return vec4f(color, vsOut.color.a);\n}\n",o="struct Params {\n filterDim : i32,\n blockDim : u32,\n}\n\n@group(0) @binding(0) var samp : sampler;\n@group(0) @binding(1) var<uniform> params : Params;\n@group(1) @binding(1) var inputTex : texture_2d<f32>;\n@group(1) @binding(2) var outputTex : texture_storage_2d<rgba8unorm, write>;\n\nstruct Flip {\n value : u32,\n}\n@group(1) @binding(3) var<uniform> flip : Flip;\n\n// This shader blurs the input texture in one direction, depending on whether\n// |flip.value| is 0 or 1.\n// It does so by running (128 / 4) threads per workgroup to load 128\n// texels into 4 rows of shared memory. Each thread loads a\n// 4 x 4 block of texels to take advantage of the texture sampling\n// hardware.\n// Then, each thread computes the blur result by averaging the adjacent texel values\n// in shared memory.\n// Because we're operating on a subset of the texture, we cannot compute all of the\n// results since not all of the neighbors are available in shared memory.\n// Specifically, with 128 x 128 tiles, we can only compute and write out\n// square blocks of size 128 - (filterSize - 1). We compute the number of blocks\n// needed in Javascript and dispatch that amount.\n\n// 128/4 = 32 -> number of threads per working group\n// does it in 4x4 block of texels(takes advantage of texture sampling hardware)\n// with this beign said, we don't have all the neighbours, only this block\n// That's why we can only compute & write out blocks of size 128 - (filterSize - 1)\nvar<workgroup> tile : array<array<vec3<f32>, 128>, 4>;\n\n@compute @workgroup_size(32, 1, 1)\nfn main(\n @builtin(workgroup_id) WorkGroupID : vec3<u32>,\n @builtin(local_invocation_id) LocalInvocationID : vec3<u32>\n) {\n let filterOffset = (params.filterDim - 1) / 2;\n let dims = vec2<i32>(textureDimensions(inputTex, 0));\n let baseIndex = vec2<i32>(WorkGroupID.xy * vec2(params.blockDim, 4) + // it's just the index of the first texel in a group\n LocalInvocationID.xy * vec2(4, 1)) // <0, 128>\n - vec2(filterOffset, 0);\n // baseIndex = xy of first texel of group\n for (var r = 0; r < 4; r++) {\n for (var c = 0; c < 4; c++) {\n var loadIndex = baseIndex + vec2(c, r);\n if (flip.value != 0) {\n loadIndex = loadIndex.yx;\n }\n\n tile[r][4 * LocalInvocationID.x + u32(c)] = textureSampleLevel(\n inputTex,\n samp,\n (vec2<f32>(loadIndex) + vec2<f32>(0.25, 0.25)) / vec2<f32>(dims),\n 0.0\n ).rgb;\n }\n }\n\n workgroupBarrier();\n // helps coordinate access to read-write memory\n // so all threads(32) will wait to hit this barrer, and then start form here together\n\n for (var r = 0; r < 4; r++) {\n for (var c = 0; c < 4; c++) {\n var writeIndex = baseIndex + vec2(c, r);\n if (flip.value != 0) {\n writeIndex = writeIndex.yx;\n }\n\n let center = i32(4 * LocalInvocationID.x) + c;\n if (center >= filterOffset &&\n center < 128 - filterOffset &&\n all(writeIndex < dims)) {\n var acc = vec3(0.0, 0.0, 0.0);\n for (var f = 0; f < params.filterDim; f++) {\n var i = center + f - filterOffset;\n acc = acc + (1.0 / f32(params.filterDim)) * tile[r][i];\n }\n textureStore(outputTex, writeIndex, vec4(acc, 1.0));\n }\n }\n }\n}\n",I=128,c=[4,4],Q="struct Vertex {\n @location(0) position: vec4f,\n};\n\nstruct Uniforms {\n cameraProjection: mat4x4f,\n};\n\nstruct VertexOutput {\n @builtin(position) position: vec4f,\n @location(0) texCoord: vec2f,\n};\n\n@group(0) @binding(0) var<uniform> u: Uniforms;\n@group(0) @binding(1) var ourSampler: sampler;\n@group(0) @binding(2) var ourTexture: texture_2d<f32>;\n\n@vertex fn vs(vert: Vertex) -> VertexOutput {\n var out: VertexOutput;\n // maybe we should pass offsets from the position instead of... position?\n out.position = u.cameraProjection * vec4f(vert.position.xy, 0, 1);\n out.texCoord = vert.position.zw;\n \n return out;\n}\n\n@fragment fn fs(in: VertexOutput) -> @location(0) vec4f {\n return textureSample(ourTexture, ourSampler, in.texCoord);\n}\n",l=4,C="struct Vertex {\n @location(0) position: vec4f,\n @location(1) id: u32,\n};\n\nstruct Uniforms {\n worldViewProjection: mat4x4f\n};\n\nstruct VertexOutput {\n @builtin(position) position: vec4f,\n @location(0) texCoord: vec2f,\n @location(1) @interpolate(flat) id: u32\n};\n\n@group(0) @binding(0) var<uniform> u: Uniforms;\n@group(0) @binding(1) var ourSampler: sampler;\n@group(0) @binding(2) var ourTexture: texture_2d<f32>;\n\n@vertex fn vs(vert: Vertex) -> VertexOutput {\n var out: VertexOutput;\n\n out.position = u.worldViewProjection * vec4f(vert.position.xy, 0.0, 1.0);\n out.texCoord = vert.position.zw;\n out.id = vert.id;\n\n return out;\n}\n\n\n@fragment fn fs(in: VertexOutput) -> @location(0) u32 {\n let alpha = textureSample(ourTexture, ourSampler, in.texCoord).a;\n\n if (alpha < 0.1) {\n discard; // r32uint doesn't support blending so only skipping pixels lefts\n }\n\n return in.id;\n}\n",B=5,u="const PI = 3.14159265358979323846;\nconst EPSILON = 1.1920929e-7;\n\nstruct Vertex {\n @location(0) p0: vec4f, //xy -> corner position, zw -> circle position\n @location(1) p1: vec4f,\n @location(2) p2: vec4f,\n @location(3) id: u32,\n @location(4) radius_list: vec3f,\n};\n\nstruct Uniforms {\n worldViewProjection: mat4x4f,\n};\n\nstruct VertexOutput {\n @builtin(position) position: vec4f,\n @location(0) @interpolate(flat) p0: vec4f,\n @location(1) @interpolate(flat) p1: vec4f,\n @location(2) @interpolate(flat) p2: vec4f,\n @location(3) @interpolate(flat) id: u32,\n @location(4) pixel: vec2f,\n @location(5) @interpolate(flat) radius_list: vec3f,\n @location(6) @interpolate(flat) threshold_list: vec3f,\n};\n\n@group(0) @binding(0) var<uniform> u: Uniforms;\n\nfn threshold_pythagorean_leg(corner: vec4f, radius: f32) -> f32 {\n let p_circle_dist = distance(corner.xy, corner.zw);\n // Pythagorean theorem, finding one leg of a right triangle when you know the hypotenuse and the other leg.\n return sqrt(p_circle_dist * p_circle_dist - radius * radius);\n}\n\n@vertex fn vs(\n vert: Vertex,\n @builtin(vertex_index) vertex_index : u32\n) -> VertexOutput {\n var out: VertexOutput;\n\n let positions = array<vec2f, 3>(vert.p0.xy, vert.p1.xy, vert.p2.xy);\n out.position = vec4f(positions[vertex_index], 0, 1);\n\n out.pixel = vec2f(out.position.x, out.position.y);\n\n out.position = u.worldViewProjection * out.position;\n\n out.p0 = vert.p0;\n out.p1 = vert.p1;\n out.p2 = vert.p2;\n out.id = vert.id;\n\n out.radius_list = vert.radius_list;\n\n out.threshold_list = vec3f(\n threshold_pythagorean_leg(vert.p0, vert.radius_list.x),\n threshold_pythagorean_leg(vert.p1, vert.radius_list.y),\n threshold_pythagorean_leg(vert.p2, vert.radius_list.z),\n ); // behind this value is a ounded corner\n\n return out;\n}\n\n@fragment fn fs(in: VertexOutput) -> @location(0) u32 {\n let p0_circle_dist = distance(in.p0.xy, in.pixel) - in.threshold_list.x;\n let p1_circle_dist = distance(in.p1.xy, in.pixel) - in.threshold_list.y;\n let p2_circle_dist = distance(in.p2.xy, in.pixel) - in.threshold_list.z;\n \n let min_circle_dist = min(\n p0_circle_dist,\n min(p1_circle_dist, p2_circle_dist)\n );\n\n var p: vec2f; // closest corner\n var p_circle: vec2f; // closest corner's circle position\n var radius: f32;\n var threshold: f32;\n\n if (abs(min_circle_dist - p0_circle_dist) <= EPSILON) {\n p = in.p0.xy;\n p_circle = in.p0.zw;\n radius = in.radius_list.x;\n threshold = in.threshold_list.x;\n } else if (abs(min_circle_dist - p1_circle_dist) <= EPSILON) {\n p = in.p1.xy;\n p_circle = in.p1.zw;\n radius = in.radius_list.y;\n threshold = in.threshold_list.y;\n } else {\n p = in.p2.xy;\n p_circle = in.p2.zw;\n radius = in.radius_list.z;\n threshold = in.threshold_list.z;\n }\n\n\n let circle_distance = distance(p_circle, in.pixel);\n let edge_width = fwidth(circle_distance);\n\n let circle_alpha = 1.0 - smoothstep(radius - edge_width, radius + edge_width, circle_distance);\n let dist = distance(p, in.pixel);\n let alpha = mix(circle_alpha, 1.0, step(threshold, dist)); // if threshold <= dist, use circle alpha, otherwise use 1.0\n\n if (alpha < 0.1) {\n discard; // r32uint doesn't support blending so only skipping pixels lefts\n }\n\n return in.id;\n}\n",E=16,f="struct Vertex {\n @location(0) p0: vec4f,\n @location(1) p1: vec4f,\n @location(2) p2: vec4f,\n @location(3) color: vec4f,\n};\n\nstruct Uniforms {\n worldViewProjection: mat4x4f,\n};\n\nstruct VertexOutput {\n @builtin(position) position: vec4f,\n @location(0) texCoord: vec2f,\n @location(1) @interpolate(flat) color: vec4f,\n};\n\n@group(0) @binding(0) var<uniform> u: Uniforms;\n@group(0) @binding(1) var ourSampler: sampler;\n@group(0) @binding(2) var ourTexture: texture_2d<f32>;\n\n@vertex fn vs(vert: Vertex, @builtin(vertex_index) vertex_index : u32) -> VertexOutput {\n let verticies = array<vec4f, 3>(vert.p0, vert.p1, vert.p2);\n let vertex = verticies[vertex_index];\n\n var out: VertexOutput;\n\n out.position = u.worldViewProjection * vec4f(vertex.xy, 0.0, 1.0);\n out.texCoord = vertex.zw;\n\n out.color = vert.color;\n \n return out;\n}\n\nfn median(r: f32, g: f32, b: f32) -> f32 {\n return max(min(r, g), min(max(r, g), b));\n}\n\n@fragment fn fs(in: VertexOutput) -> @location(0) vec4f {\n let msdf = textureSample(ourTexture, ourSampler, in.texCoord);\n let signed_distance = median(msdf.r, msdf.g, msdf.b) - 0.5;\n let w = clamp(signed_distance / fwidth(signed_distance) + 0.5, 0.0, 1.0);\n return in.color * w;\n}",y=13,h="const STRAIGHT_LINE_THRESHOLD = 1e10;\nconst EPSILON = 1e-10;\n\nstruct Uniforms {\n stroke_width: f32,\n fill_color: vec4f,\n stroke_color: vec4f,\n};\n\nstruct CubicBezier {\n p0: vec2f,\n p1: vec2f,\n p2: vec2f,\n p3: vec2f,\n};\n\nstruct Vertex {\n @location(0) position: vec2f,\n};\n\n@group(0) @binding(0) var<uniform> u: Uniforms;\n@group(0) @binding(1) var<storage, read> curves: array<vec2f>;\n@group(0) @binding(2) var<uniform> camera_projection: mat4x4f;\n\nstruct VSOutput {\n @builtin(position) position: vec4f,\n @location(0) world_pos: vec2f,\n};\n\n@vertex fn vs(vert: Vertex) -> VSOutput {\n\n return VSOutput(\n camera_projection * vec4f(vert.position, 0.0, 1.0),\n vert.position\n );\n}\n\n// Evaluate cubic Bézier at parameter t\nfn bezier_point(curve: CubicBezier, t: f32) -> vec2f {\n let t2 = t * t;\n let t3 = t2 * t;\n let one_minus_t = 1.0 - t;\n let one_minus_t2 = one_minus_t * one_minus_t;\n let one_minus_t3 = one_minus_t2 * one_minus_t;\n \n return curve.p0 * one_minus_t3 + \n 3.0 * curve.p1 * t * one_minus_t2 + \n 3.0 * curve.p2 * t2 * one_minus_t + \n curve.p3 * t3;\n}\n\n// First derivative of cubic Bézier\nfn bezier_derivative(curve: CubicBezier, t: f32) -> vec2f {\n let one_minus_t = 1.0 - t;\n return 3.0 * one_minus_t * one_minus_t * (curve.p1 - curve.p0) +\n 6.0 * t * one_minus_t * (curve.p2 - curve.p1) +\n 3.0 * t * t * (curve.p3 - curve.p2);\n}\n\n// Second derivative of cubic Bézier\nfn bezier_second_derivative(curve: CubicBezier, t: f32) -> vec2f {\n return 6.0 * (1.0 - t) * (curve.p2 - 2.0 * curve.p1 + curve.p0) +\n 6.0 * t * (curve.p3 - 2.0 * curve.p2 + curve.p1);\n}\n\n// Find closest point on cubic Bézier curve to given point using analytical method\nfn closest_point_on_bezier(point: vec2f, curve: CubicBezier) -> f32 {\n // At the closest point, (P(t) - point) ⊥ P'(t)\n // This gives us: dot(P(t) - point, P'(t)) = 0\n // We can solve this quintic equation analytically or use Newton-Raphson\n \n // Start with a good initial guess using the control polygon\n var best_t = initial_guess_closest_point(point, curve);\n // if there is any weird artifact in the middle of the shape, then it's most likely because of initial guess!\n \n // Newton-Raphson to find exact solution\n for (var i = 0; i < 5; i++) {\n let curve_point = bezier_point(curve, best_t);\n let derivative = bezier_derivative(curve, best_t);\n let second_derivative = bezier_second_derivative(curve, best_t);\n \n let diff = curve_point - point;\n \n // f(t) = dot(P(t) - point, P'(t)) = 0\n let f = dot(diff, derivative);\n \n // f'(t) = dot(P'(t), P'(t)) + dot(P(t) - point, P''(t))\n let df = dot(derivative, derivative) + dot(diff, second_derivative);\n \n if (abs(df) < 1e-8) { break; }\n \n var new_t = best_t - f / df;\n \n // Clamp to valid range\n new_t = clamp(new_t, 0.0, 1.0);\n \n if (abs(new_t - best_t) < 1e-8) { break; }\n best_t = new_t;\n }\n \n return best_t;\n}\n\n// Get initial guess for closest point using hierarchical sampling\nfn initial_guess_closest_point(point: vec2f, curve: CubicBezier) -> f32 {\n // Stage 1: Coarse sampling to find approximate region\n var best_t = 0.0;\n var min_dist_sq = 1e10;\n \n let coarse_samples = 16; // More samples for better coverage\n for (var i = 0; i <= coarse_samples; i++) {\n let t = f32(i) / f32(coarse_samples);\n let curve_point = bezier_point(curve, t);\n let dist_sq = dot(curve_point - point, curve_point - point);\n \n if (dist_sq < min_dist_sq) {\n min_dist_sq = dist_sq;\n best_t = t;\n }\n }\n \n // Stage 2: Refine in the neighborhood of the best coarse sample\n let refine_range = 1.0 / f32(coarse_samples); // Search around ±one sample interval\n let t_min = max(0.0, best_t - refine_range);\n let t_max = min(1.0, best_t + refine_range);\n \n let fine_samples = 8;\n for (var i = 0; i <= fine_samples; i++) {\n let t = t_min + (t_max - t_min) * f32(i) / f32(fine_samples);\n let curve_point = bezier_point(curve, t);\n let dist_sq = dot(curve_point - point, curve_point - point);\n \n if (dist_sq < min_dist_sq) {\n min_dist_sq = dist_sq;\n best_t = t;\n }\n }\n \n return best_t;\n}\n\n// Project point onto line segment and return parameter [0,1]\nfn project_point_to_line_segment(point: vec2f, line_start: vec2f, line_end: vec2f) -> f32 {\n let line_vec = line_end - line_start;\n let point_vec = point - line_start;\n \n let line_length_sq = dot(line_vec, line_vec);\n \n if (line_length_sq < 1e-8) {\n return 0.0; // Degenerate line\n }\n \n let t = dot(point_vec, line_vec) / line_length_sq;\n return clamp(t, 0.0, 1.0);\n}\n\n// Calculate distance from point to line segment\nfn distance_to_line_segment(point: vec2f, line_start: vec2f, line_end: vec2f) -> f32 {\n let line_vec = line_end - line_start;\n let point_vec = point - line_start;\n \n let line_length_sq = dot(line_vec, line_vec);\n \n if (line_length_sq < 1e-8) {\n // Degenerate line - distance to start point\n return length(point_vec);\n }\n \n let t = dot(point_vec, line_vec) / line_length_sq;\n \n if (t <= 0.0) {\n // Closest point is the start of the line segment\n return length(point_vec);\n } else if (t >= 1.0) {\n // Closest point is the end of the line segment\n return length(point - line_end);\n } else {\n // Closest point is on the line segment\n let closest_point = line_start + t * line_vec;\n return length(point - closest_point);\n }\n}\n\n// Calculate winding number contribution from a line segment\nfn line_winding_contribution(point: vec2f, line_start: vec2f, line_end: vec2f) -> f32 {\n // Vector from query point to line endpoints\n let v1 = line_start - point;\n let v2 = line_end - point;\n \n // Skip if either point is very close to avoid numerical issues\n let dist1 = length(v1);\n let dist2 = length(v2);\n if (dist1 < 1e-6 || dist2 < 1e-6) {\n return 0.0;\n }\n \n // Normalize vectors\n let n1 = v1 / dist1;\n let n2 = v2 / dist2;\n \n // Calculate signed angle using atan2 for proper quadrant handling\n let cross_prod = n1.x * n2.y - n1.y * n2.x;\n let dot_prod = dot(n1, n2);\n \n // Use atan2 for proper quadrant handling\n let angle = atan2(cross_prod, dot_prod);\n \n return angle / (2.0 * 3.14159);\n}\n\n// Ray casting: count intersections of horizontal ray with curve\nfn ray_cast_curve_crossing(point: vec2f, curve: CubicBezier) -> i32 {\n // Quick Y-bounds check - if point is outside Y range, no intersection possible\n let y_min = min(min(curve.p0.y, curve.p1.y), min(curve.p2.y, curve.p3.y));\n let y_max = max(max(curve.p0.y, curve.p1.y), max(curve.p2.y, curve.p3.y));\n let x_min = max(max(curve.p0.x, curve.p1.x), max(curve.p2.x, curve.p3.x));\n \n if (point.y < y_min || point.y > y_max || point.x > x_min) {\n return 0;\n }\n \n // Sample the curve at regular intervals to find intersections\n var crossings = 0;\n let samples = 32; // Good balance between accuracy and performance\n \n for (var i = 0; i < samples; i++) {\n let t1 = f32(i) / f32(samples);\n let t2 = f32(i + 1) / f32(samples);\n \n let p1 = bezier_point(curve, t1);\n let p2 = bezier_point(curve, t2);\n \n // Check if this segment crosses the horizontal ray\n if (ray_crosses_segment(point, p1, p2)) {\n // Calculate the actual intersection X coordinate\n let intersection_x = get_ray_intersection_x(point.y, p1, p2);\n \n // Only count if intersection is to the right of the point\n if (intersection_x > point.x) {\n // Determine crossing direction for proper winding\n if (p1.y < point.y && p2.y >= point.y) {\n crossings += 1; // Upward crossing\n } else if (p1.y >= point.y && p2.y < point.y) {\n crossings -= 1; // Downward crossing\n }\n }\n }\n }\n \n return crossings;\n}\n\n// Check if horizontal ray from point crosses the line segment\nfn ray_crosses_segment(point: vec2f, p1: vec2f, p2: vec2f) -> bool {\n // Check if the segment crosses the horizontal line at point.y\n return (p1.y < point.y && p2.y >= point.y) || (p1.y >= point.y && p2.y < point.y);\n}\n\n// Calculate X coordinate where horizontal ray intersects line segment\nfn get_ray_intersection_x(ray_y: f32, p1: vec2f, p2: vec2f) -> f32 {\n if (abs(p2.y - p1.y) < 1e-8) {\n // Horizontal line - return leftmost X\n return min(p1.x, p2.x);\n }\n \n // Linear interpolation to find intersection X\n let t = (ray_y - p1.y) / (p2.y - p1.y);\n return p1.x + t * (p2.x - p1.x);\n}\n\n// Helper function: distance from point to line (for flatness test)\nfn distance_point_to_line(point: vec2f, line_start: vec2f, line_end: vec2f) -> f32 {\n let line_vec = line_end - line_start;\n let point_vec = point - line_start;\n \n let line_length_sq = dot(line_vec, line_vec);\n if (line_length_sq < 1e-8) {\n return length(point_vec);\n }\n \n let t = dot(point_vec, line_vec) / line_length_sq;\n let closest = line_start + clamp(t, 0.0, 1.0) * line_vec;\n return length(point - closest);\n}\n\nstruct ShapeInfo {\n signed_distance: f32,\n stroke_alpha: f32,\n fill_alpha: f32,\n}\n\n// Main shape evaluation function using SDF approach with ray casting\nfn evaluate_shape(point: vec2f) -> ShapeInfo {\n var min_distance = 1e10;\n var total_crossings: i32 = 0;\n \n // For each curve, find closest point and count ray crossings\n let num_curves = arrayLength(&curves) / 4;\n for (var i = 0u; i < num_curves; i++) {\n let curve = CubicBezier(\n curves[i * 4 + 0],\n curves[i * 4 + 1],\n curves[i * 4 + 2],\n curves[i * 4 + 3]\n );\n\n // Check if this is a straight line (handle points have x >= STRAIGHT_LINE_THRESHOLD)\n let is_straight_line = curve.p1.x > STRAIGHT_LINE_THRESHOLD && curve.p2.x > STRAIGHT_LINE_THRESHOLD;\n\n var distance: f32 = 1e+10;\n\n if (is_straight_line) {\n // Handle as straight line from p0 to p3\n if (u.stroke_width > EPSILON) {\n distance = distance_to_line_segment(point, curve.p0, curve.p3);\n }\n \n // Simple ray casting for line segment\n if (ray_crosses_segment(point, curve.p0, curve.p3)) {\n let intersection_x = get_ray_intersection_x(point.y, curve.p0, curve.p3);\n if (intersection_x > point.x) {\n if (curve.p0.y < point.y && curve.p3.y >= point.y) {\n total_crossings += 1; // Upward crossing\n } else if (curve.p0.y >= point.y && curve.p3.y < point.y) {\n total_crossings -= 1; // Downward crossing\n }\n }\n }\n } else {\n // Handle as normal cubic Bézier curve\n\n if (u.stroke_width > EPSILON) {\n let closest_t = closest_point_on_bezier(point, curve);\n let closest_point = bezier_point(curve, closest_t);\n distance = length(point - closest_point);\n }\n \n // Ray casting for curve\n total_crossings += ray_cast_curve_crossing(point, curve);\n }\n \n min_distance = min(min_distance, distance);\n }\n \n // Determine if point is inside using odd-even rule (ray casting)\n // Count total crossings and check if odd\n let crossing_count = abs(total_crossings);\n let is_inside = (crossing_count % 2) == 1;\n let signed_dist = select(min_distance, -min_distance, is_inside);\n let pixel_gradient = fwidth(signed_dist);\n \n // Anti-aliased fill (negative distance = inside)\n let fill_alpha = smoothstep(pixel_gradient, -pixel_gradient, signed_dist);\n \n // Anti-aliased stroke (based on distance to curve boundary)\n let stroke_half_width = u.stroke_width * 0.5;\n let stroke_alpha = smoothstep(stroke_half_width + pixel_gradient, stroke_half_width - pixel_gradient, abs(signed_dist));\n return ShapeInfo(signed_dist, stroke_alpha, fill_alpha);\n}\n\n@fragment fn fs(vsOut: VSOutput) -> @location(0) vec4f {\n // Evaluate shape using SDF approach\n let shape_info = evaluate_shape(vsOut.world_pos);\n \n // Combine fill and stroke\n // If stroke is visible, use stroke color, otherwise use fill color\n let final_color = mix(u.fill_color, u.stroke_color, shape_info.stroke_alpha);\n \n // Final alpha is maximum of fill and stroke alpha\n let final_alpha = max(shape_info.fill_alpha, shape_info.stroke_alpha);\n return final_color * final_alpha;\n}\n";let m,b,p,d,w,S,D,v,z,k,x,G,M;function F(A,e){G=A.createBuffer({label:"uniforms",size:64,usage:GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST}),M=A.createBuffer({label:"uniforms",size:64,usage:GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST});const t=[];return m=function(A,e,t,r){const s=A.createShaderModule({label:"draw triangle module",code:i}),a=A.createRenderPipeline({label:"draw triangle pipeline",layout:"auto",vertex:{module:s,entryPoint:"vs",buffers:[{arrayStride:4*n,stepMode:"instance",attributes:[{shaderLocation:0,offset:0,format:"float32x4"},{shaderLocation:1,offset:16,format:"float32x4"},{shaderLocation:2,offset:32,format:"float32x4"},{shaderLocation:3,offset:48,format:"unorm8x4"},{shaderLocation:4,offset:52,format:"float32x3"}]}]},fragment:{module:s,entryPoint:"fs",targets:[{format:e,blend:{color:{srcFactor:"one",dstFactor:"one-minus-src-alpha"},alpha:{srcFactor:"one",dstFactor:"one-minus-src-alpha"}}}]},multisample:{count:4}}),g=A.createBindGroup({layout:a.getBindGroupLayout(0),entries:[{binding:0,resource:{buffer:t}}]});return function(e,t){const i=t.byteLength/(4*n),s=A.createBuffer({label:"draw triangle - vertex buffer",size:t.byteLength,usage:GPUBufferUsage.VERTEX|GPUBufferUsage.COPY_DST});A.queue.writeBuffer(s,0,t),r.push(s),e.setPipeline(a),e.setVertexBuffer(0,s),e.setBindGroup(0,g),e.draw(3,i)}}(A,e,G,t),b=function(A,e){const t=A.createShaderModule({label:"bezier shader module",code:r}),i=A.createRenderPipeline({label:"bezier pipline",layout:"auto",primitive:{topology:"triangle-strip"},vertex:{module:t,entryPoint:"vs",buffers:[{arrayStride:4,attributes:[{shaderLocation:0,offset:0,format:"float32"}]},{arrayStride:4,attributes:[{shaderLocation:1,offset:0,format:"float32"}]},{arrayStride:4,attributes:[{shaderLocation:2,offset:0,format:"uint32"}]}]},fragment:{module:t,entryPoint:"fs",targets:[{format:e}]},depthStencil:{depthWriteEnabled:!1,depthCompare:"always",format:"depth24plus"}});return function(e,t,n,r,s,a,g){const o=4*n.length,I=A.createBuffer({label:"storage points",size:o,usage:GPUBufferUsage.STORAGE|GPUBufferUsage.COPY_DST}),c=A.createBuffer({label:"uniforms",size:80,usage:GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST}),Q=new Float32Array(20),l=Q.subarray(0,16),C=Q.subarray(16,17),B=A.createBindGroup({label:"bezier bind group for object",layout:i.getBindGroupLayout(0),entries:[{binding:0,resource:{buffer:c}},{binding:1,resource:{buffer:I}}]}),u=A.createBuffer({label:"bezier vertex buffer vertices",size:r.byteLength,usage:GPUBufferUsage.VERTEX|GPUBufferUsage.COPY_DST});A.queue.writeBuffer(u,0,r);const E=A.createBuffer({label:"bezier vertex buffer vertices",size:s.byteLength,usage:GPUBufferUsage.VERTEX|GPUBufferUsage.COPY_DST});A.queue.writeBuffer(E,0,s);const f=A.createBuffer({label:"bezier vertex buffer vertices",size:a.byteLength,usage:GPUBufferUsage.VERTEX|GPUBufferUsage.COPY_DST});A.queue.writeBuffer(f,0,a),e.setPipeline(i),e.setVertexBuffer(0,u),e.setVertexBuffer(1,E),e.setVertexBuffer(2,f),l.set(t),C.set(new Float32Array([g])),A.queue.writeBuffer(c,0,Q),A.queue.writeBuffer(I,0,n),e.setBindGroup(0,B),e.draw(r.length)}}(A,e),d=function(A,e){const t=A.createShaderModule({label:"3d model texture shader module",code:s}),i=A.createRenderPipeline({label:"3d model texture pipline",layout:"auto",vertex:{module:t,entryPoint:"vs",buffers:[{arrayStride:20,attributes:[{shaderLocation:0,offset:0,format:"float32x3"},{shaderLocation:1,offset:12,format:"float32x2"}]}]},fragment:{module:t,entryPoint:"fs",targets:[{format:e}]},depthStencil:{depthWriteEnabled:!1,depthCompare:"always",format:"depth24plus"}});return function(e,t,n,r,s){const a=A.createSampler({magFilter:"linear",minFilter:"linear"}),g=A.createBuffer({label:"uniforms",size:64,usage:GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST}),o=new Float32Array(16),I=o.subarray(0,16),c=s.length,Q=A.createBuffer({label:"3d model texture vertex buffer vertices",size:r.byteLength,usage:GPUBufferUsage.VERTEX|GPUBufferUsage.COPY_DST});A.queue.writeBuffer(Q,0,r);const l=A.createBuffer({label:"3d model texture index buffer",size:s.byteLength,usage:GPUBufferUsage.INDEX|GPUBufferUsage.COPY_DST});A.queue.writeBuffer(l,0,s);const C=A.createBindGroup({label:"3d model texture bind group for object",layout:i.getBindGroupLayout(0),entries:[{binding:0,resource:{buffer:g}},{binding:1,resource:a},{binding:2,resource:n.createView()}]});e.setPipeline(i),e.setVertexBuffer(0,Q),e.setIndexBuffer(l,"uint32"),I.set(t),A.queue.writeBuffer(g,0,o),e.setBindGroup(0,C),e.drawIndexed(c)}}(A,e),p=function(A,e){const t=A.createShaderModule({label:"3d model shader module",code:a}),i=A.createRenderPipeline({label:"3d model pipline",layout:"auto",vertex:{module:t,entryPoint:"vs",buffers:[{arrayStride:12,attributes:[{shaderLocation:0,offset:0,format:"float32x3"}]}]},fragment:{module:t,entryPoint:"fs",targets:[{format:e}]},primitive:{cullMode:"back"},depthStencil:{depthWriteEnabled:!0,depthCompare:"less",format:"depth24plus"}});return function(e,t,n,r){const s=A.createBuffer({label:"uniforms",size:64,usage:GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST}),a=new Float32Array(16),g=a.subarray(0,16),o=r.length,I=A.createBuffer({label:"vertex buffer vertices",size:n.byteLength,usage:GPUBufferUsage.VERTEX|GPUBufferUsage.COPY_DST});A.queue.writeBuffer(I,0,n);const c=A.createBuffer({label:"index buffer",size:r.byteLength,usage:GPUBufferUsage.INDEX|GPUBufferUsage.COPY_DST});A.queue.writeBuffer(c,0,r);const Q=A.createBindGroup({label:"bind group for object",layout:i.getBindGroupLayout(0),entries:[{binding:0,resource:{buffer:s}}]});e.setPipeline(i),e.setVertexBuffer(0,I),e.setIndexBuffer(c,"uint32"),g.set(t),A.queue.writeBuffer(s,0,a),e.setBindGroup(0,Q),e.drawIndexed(o)}}(A,e),w=function(A,e){const t=A.createShaderModule({label:"3d model light shader module",code:g}),i=A.createRenderPipeline({label:"3d model light pipline",layout:"auto",vertex:{module:t,entryPoint:"vs",buffers:[{arrayStride:24,attributes:[{shaderLocation:0,offset:0,format:"float32x3"},{shaderLocation:1,offset:12,format:"float32x3"}]}]},fragment:{module:t,entryPoint:"fs",targets:[{format:e}]},primitive:{cullMode:"back"},depthStencil:{depthWriteEnabled:!0,depthCompare:"less",format:"depth24plus"}});return function(e,t,n,r){const{worldViewProjection:s,normalMatrix:a,lightColor:g,lightDirection:o}=t,I=A.createBuffer({label:"uniforms",size:144,usage:GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST}),c=new Float32Array(36),Q=c.subarray(0,12),l=c.subarray(12,28),C=c.subarray(28,32),B=c.subarray(32,35),u=A.createBindGroup({label:"bind group for object",layout:i.getBindGroupLayout(0),entries:[{binding:0,resource:{buffer:I}}]}),E=r.length,f=A.createBuffer({label:"vertex buffer vertices",size:n.byteLength,usage:GPUBufferUsage.VERTEX|GPUBufferUsage.COPY_DST});A.queue.writeBuffer(f,0,n);const y=A.createBuffer({label:"index buffer",size:r.byteLength,usage:GPUBufferUsage.INDEX|GPUBufferUsage.COPY_DST});A.queue.writeBuffer(y,0,r),e.setPipeline(i),e.setVertexBuffer(0,f),e.setIndexBuffer(y,"uint32"),Q.set(a),l.set(s),C.set(g),B.set(o),A.queue.writeBuffer(I,0,c),e.setBindGroup(0,u),e.drawIndexed(E)}}(A,e),S=function(A){const e=A.createShaderModule({label:"blur shader module",code:o}),t=A.createComputePipeline({layout:"auto",compute:{module:e,entryPoint:"main"}});return function(e,i){const n=[0,1].map((()=>A.createTexture({size:{width:e.width,height:e.height},format:"rgba8unorm",usage:GPUTextureUsage.COPY_DST|GPUTextureUsage.STORAGE_BINDING|GPUTextureUsage.TEXTURE_BINDING}))),r=(()=>{const e=A.createBuffer({size:4,mappedAtCreation:!0,usage:GPUBufferUsage.UNIFORM});return new Uint32Array(e.getMappedRange())[0]=0,e.unmap(),e})(),s=(()=>{const e=A.createBuffer({size:4,mappedAtCreation:!0,usage:GPUBufferUsage.UNIFORM});return new Uint32Array(e.getMappedRange())[0]=1,e.unmap(),e})(),a=A.createBuffer({size:8,usage:GPUBufferUsage.COPY_DST|GPUBufferUsage.UNIFORM}),g=A.createSampler({magFilter:"linear",minFilter:"linear"}),o=A.createBindGroup({layout:t.getBindGroupLayout(0),entries:[{binding:0,resource:g},{binding:1,resource:{buffer:a}}]}),Q=A.createBindGroup({layout:t.getBindGroupLayout(1),entries:[{binding:1,resource:e.createView()},{binding:2,resource:n[0].createView()},{binding:3,resource:{buffer:r}}]}),l=A.createBindGroup({layout:t.getBindGroupLayout(1),entries:[{binding:1,resource:n[0].createView()},{binding:2,resource:n[1].createView()},{binding:3,resource:{buffer:s}}]}),C=A.createBindGroup({layout:t.getBindGroupLayout(1),entries:[{binding:1,resource:n[1].createView()},{binding:2,resource:n[0].createView()},{binding:3,resource:{buffer:r}}]}),B=I-14;A.queue.writeBuffer(a,0,new Uint32Array([15,B]));const u=i.beginComputePass();u.setPipeline(t),u.setBindGroup(0,o),u.setBindGroup(1,Q),u.dispatchWorkgroups(Math.ceil(e.width/B),Math.ceil(e.height/c[1])),u.setBindGroup(1,l),u.dispatchWorkgroups(Math.ceil(e.height/B),Math.ceil(e.width/c[1]));for(let A=0;A<1;++A)u.setBindGroup(1,C),u.dispatchWorkgroups(Math.ceil(e.width/B),Math.ceil(e.height/c[1])),u.setBindGroup(1,l),u.dispatchWorkgroups(Math.ceil(e.height/B),Math.ceil(e.width/c[1]));return u.end(),n[1]}}(A),D=function(A,e,t){const i=A.createShaderModule({label:"draw texture module",code:Q}),n=A.createSampler({minFilter:"linear",magFilter:"linear"}),r=A.createRenderPipeline({label:"draw texture pipeline",layout:"auto",vertex:{module:i,entryPoint:"vs",buffers:[{arrayStride:4*l,attributes:[{shaderLocation:0,offset:0,format:"float32x4"}]}]},fragment:{module:i,entryPoint:"fs",targets:[{format:e,blend:{color:{srcFactor:"one",dstFactor:"one-minus-src-alpha"},alpha:{srcFactor:"one",dstFactor:"one-minus-src-alpha"}}}]},multisample:{count:4}}),s=new WeakMap;return function(e,i,a){const g=i.byteLength/(4*l),o=A.createBuffer({label:"draw texture - vertex buffer",size:i.byteLength,usage:GPUBufferUsage.VERTEX|GPUBufferUsage.COPY_DST});A.queue.writeBuffer(o,0,i);let I=s.get(a);I||(I=A.createBindGroup({layout:r.getBindGroupLayout(0),entries:[{binding:0,resource:{buffer:t}},{binding:1,resource:n},{binding:2,resource:a.createView()}]}),s.set(a,I)),e.setPipeline(r),e.setVertexBuffer(0,o),e.setBindGroup(0,I),e.draw(g)}}(A,e,G),v=function(A,e){const t=A.createShaderModule({label:"pick texture module",code:C}),i=A.createSampler({minFilter:"linear",magFilter:"linear"}),n=A.createRenderPipeline({label:"pick texture pipeline",layout:"auto",vertex:{module:t,entryPoint:"vs",buffers:[{arrayStride:4*B,attributes:[{shaderLocation:0,offset:0,format:"float32x4"},{shaderLocation:1,offset:16,format:"uint32"}]}]},fragment:{module:t,entryPoint:"fs",targets:[{format:"r32uint"}]}}),r=new WeakMap;return function(t,s,a){const g=s.byteLength/(4*B),o=A.createBuffer({label:"pick texture - vertex buffer",size:s.byteLength,usage:GPUBufferUsage.VERTEX|GPUBufferUsage.COPY_DST});A.queue.writeBuffer(o,0,s);let I=r.get(a);I||(I=A.createBindGroup({layout:n.getBindGroupLayout(0),entries:[{binding:0,resource:{buffer:e}},{binding:1,resource:i},{binding:2,resource:a.createView()}]}),r.set(a,I)),t.setPipeline(n),t.setVertexBuffer(0,o),t.setBindGroup(0,I),t.draw(g)}}(A,M),z=function(A,e){const t=A.createShaderModule({label:"pick triangle module",code:u}),i=A.createRenderPipeline({label:"pick triangle pipeline",layout:"auto",vertex:{module:t,entryPoint:"vs",buffers:[{arrayStride:4*E,stepMode:"instance",attributes:[{shaderLocation:0,offset:0,format:"float32x4"},{shaderLocation:1,offset:16,format:"float32x4"},{shaderLocation:2,offset:32,format:"float32x4"},{shaderLocation:3,offset:48,format:"uint32"},{shaderLocation:4,offset:52,format:"float32x3"}]}]},fragment:{module:t,entryPoint:"fs",targets:[{format:"r32uint"}]}});let n=null;return function(t,r){const s=r.byteLength/(4*E),a=A.createBuffer({label:"pick triangle vertex buffer vertices",size:r.byteLength,usage:GPUBufferUsage.VERTEX|GPUBufferUsage.COPY_DST});A.queue.writeBuffer(a,0,r),n||(n=A.createBindGroup({layout:i.getBindGroupLayout(0),entries:[{binding:0,resource:{buffer:e}}]})),t.setPipeline(i),t.setVertexBuffer(0,a),t.setBindGroup(0,n),t.draw(3,s)}}(A,M),k=function(A,e,t){const i=A.createShaderModule({label:"draw msdf module",code:f}),n=A.createSampler({minFilter:"linear",magFilter:"linear"}),r=A.createRenderPipeline({label:"draw msdf pipeline",layout:"auto",vertex:{module:i,entryPoint:"vs",buffers:[{arrayStride:4*y,stepMode:"instance",attributes:[{shaderLocation:0,offset:0,format:"float32x4"},{shaderLocation:1,offset:16,format:"float32x4"},{shaderLocation:2,offset:32,format:"float32x4"},{shaderLocation:3,offset:48,format:"unorm8x4"}]}]},fragment:{module:i,entryPoint:"fs",targets:[{format:e,blend:{color:{srcFactor:"one",dstFactor:"one-minus-src-alpha"},alpha:{srcFactor:"one",dstFactor:"one-minus-src-alpha"}}}]},multisample:{count:4}}),s=new WeakMap;return function(e,i,a){const g=i.byteLength/(4*y),o=A.createBuffer({label:"draw msdf - vertex buffer",size:i.byteLength,usage:GPUBufferUsage.VERTEX|GPUBufferUsage.COPY_DST});A.queue.writeBuffer(o,0,i);let I=s.get(a);I||(I=A.createBindGroup({layout:r.getBindGroupLayout(0),entries:[{binding:0,resource:{buffer:t}},{binding:1,resource:n},{binding:2,resource:a.createView()}]}),s.set(a,I)),e.setPipeline(r),e.setVertexBuffer(0,o),e.setBindGroup(0,I),e.draw(3,g)}}(A,e,G),x=function(A,e,t,i){const n=A.createShaderModule({label:"drawShape shader",code:h}),r=A.createBindGroupLayout({label:"drawShape bind group layout",entries:[{binding:0,visibility:GPUShaderStage.VERTEX|GPUShaderStage.FRAGMENT,buffer:{type:"uniform"}},{binding:1,visibility:GPUShaderStage.FRAGMENT,buffer:{type:"read-only-storage"}},{binding:2,visibility:GPUShaderStage.VERTEX,buffer:{type:"uniform"}}]}),s=A.createRenderPipeline({label:"drawShape pipeline",layout:A.createPipelineLayout({bindGroupLayouts:[r]}),vertex:{module:n,entryPoint:"vs",buffers:[{arrayStride:8,attributes:[{shaderLocation:0,offset:0,format:"float32x2"}]}]},fragment:{module:n,entryPoint:"fs",targets:[{format:e,blend:{color:{srcFactor:"src-alpha",dstFactor:"one-minus-src-alpha"},alpha:{srcFactor:"one",dstFactor:"one-minus-src-alpha"}}}]},multisample:{count:4}});return function(e,n,a,g){const o=A.createBuffer({label:"drawShape vertex buffer",size:a.byteLength,usage:GPUBufferUsage.VERTEX|GPUBufferUsage.COPY_DST});A.queue.writeBuffer(o,0,a),i.push(o);const I=A.createBuffer({label:"drawShape curves buffer",size:n.byteLength,usage:GPUBufferUsage.STORAGE|GPUBufferUsage.COPY_DST});A.queue.writeBuffer(I,0,n),i.push(I);const c=A.createBuffer({label:"drawShape uniforms",size:48,usage:GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST});A.queue.writeBuffer(c,0,g),i.push(c),e.setPipeline(s);const Q=A.createBindGroup({label:"drawShape bind group",layout:r,entries:[{binding:0,resource:{buffer:c}},{binding:1,resource:{buffer:I}},{binding:2,resource:{buffer:t}}]});e.setBindGroup(0,Q),e.setVertexBuffer(0,o),e.draw(6)}}(A,e,G,t),function(){t.forEach((A=>A.destroy()))}}},3438:(A,e,t)=>{t.a(A,(async(A,i)=>{try{t.d(e,{w:()=>c,z:()=>Q});var n=t(7829),r=t(2842),s=t(2633),a=t(4302),g=t(238),o=A([s,a]);[s,a]=o.then?(await o)():o;let I=()=>{throw new Error("Cache not started")};function c(){I()}function Q(A,e,t,i,o,c){const Q=i.max_x-i.min_x,l=i.max_y-i.min_y,C=A.createTexture({label:"texture cache",format:e,usage:GPUTextureUsage.RENDER_ATTACHMENT|GPUTextureUsage.TEXTURE_BINDING,size:[o,c]}),B=A.createCommandEncoder(),u={label:"texture cache pass",colorAttachments:[{view:(0,g.A)(A,o,c,e).createView(),resolveTarget:C.createView(),loadOp:"clear",storeOp:"store"}]},E=B.beginRenderPass(u);(0,s.H)(E);const f=r.A.ortho(i.min_x,i.min_x+Q,i.min_y+l,i.min_y,1,-1);return A.queue.writeBuffer(n.Sp,0,f),I=()=>{E.end();const e=B.finish();A.queue.submit([e])},a.KJ(C,t)}i()}catch(l){i(l)}}))},4461:(A,e,t)=>{t.a(A,(async(A,i)=>{try{t.d(e,{A:()=>a});var n=t(2842),r=t(9200),s=A([r]);function a(A){const e=n.A.ortho(0,A.width,0,A.height,1,-1),t=n.A.translate(e,[r.UI.x,r.UI.y,0]);return n.A.scale(t,[r.UI.zoom,r.UI.zoom,1])}r=(s.then?(await s)():s)[0],i()}catch(g){i(g)}}))},4304:(A,e,t)=>{t.d(e,{A:()=>r});var i=t(238);let n;function r(A,e){const t=A.getCurrentTexture();return function(A,e,t){n&&n.width===e&&n.height===t||(null==n||n.destroy(),n=A.createTexture({size:[e,t],format:"depth24plus",usage:GPUTextureUsage.RENDER_ATTACHMENT}))}(e,t.width,t.height),{label:"our render to canvas renderPass",colorAttachments:[{view:(0,i.A)(e,t.width,t.height,t.format).createView(),resolveTarget:t.createView(),clearValue:[0,0,0,1],loadOp:"clear",storeOp:"store"}]}}},238:(A,e,t)=>{let i;function n(A,e,t,n){return i&&i.width===e&&i.height===t||(null==i||i.destroy(),i=A.createTexture({format:n,usage:GPUTextureUsage.RENDER_ATTACHMENT,size:[e,t],sampleCount:4})),i}t.d(e,{A:()=>n})},8156:(A,e,t)=>{t.a(A,(async(A,i)=>{try{t.d(e,{A:()=>f,b:()=>u});var n=t(214),r=t(1911),s=t(7829),a=t(2633),g=t(1559),o=t(9200),I=t(6561),c=t(1369),Q=t(7846),l=t(4302),C=t(3438),B=A([a,g,o,l,C]);[a,g,o,l,C]=B.then?(await B)():B;var u,E=function(A,e,t,i){return new(t||(t=Promise))((function(n,r){function s(A){try{g(i.next(A))}catch(A){r(A)}}function a(A){try{g(i.throw(A))}catch(A){r(A)}}function g(A){var e;A.done?n(A.value):(e=A.value,e instanceof t?e:new t((function(A){A(e)}))).then(s,a)}g((i=i.apply(A,e||[])).next())}))};function f(A,e,t,i,B){return E(this,void 0,void 0,(function*(){let u=0,f=!1;function y(){B(u>0||f)}const h=yield(0,r.A)();l.Ts(h,(A=>{u=A,y()}));const m=A.clientWidth/2,b=A.clientHeight/2;g.vH(m,b,h.limits.maxTextureDimension2D);const p=A.getContext("webgpu");if(!p)throw Error("WebGPU from canvas needs to be always provided");const d=navigator.gpu.getPreferredCanvasFormat();function w(){g.Yj(A.width/(A.clientWidth*o.UI.zoom))}p.configure({device:h,format:d});let S=!1;(0,n.A)(A,h,(()=>{!1===S&&(o.UI.x=(A.width-m)/2,o.UI.y=(A.height-b)/2,S=!0),w()}));const D=(0,s.Ay)(h,d);(0,o.Ay)(A,w,(()=>{f=!0,y()})),g.kO((A=>{const e=[...A].map((A=>({id:A.id,textureId:A.texture_id,points:[...A.points].map((A=>({x:A.x,y:A.y,u:A.u,v:A.v}))),url:l.ID(A.texture_id)})));t(e)})),g.Nu(i),g.HU(((A,e,t,i)=>(0,C.z)(h,d,A,e,t,i)),C.w),l.WQ(I,((A,e)=>{g.dU(c.Wn.flatMap((t=>[t.id,t.x/A,t.y/e,t.width/A,t.height/e,t.width,t.height])))}));const v=(0,a.A)(A,p,h,D,d,(()=>{f=!1,y()}));return{addImage:A=>{const t=l.WQ(A,((i,n,r)=>{const s=(0,Q.A)(i,n,m,b);g.VD(0,s,t),r&&e(A,(A=>{l.Kg(t,A)}))}))},removeAsset:g.MW,resetAssets:(A,...t)=>E(this,[A,...t],void 0,(function*(A,t=!1){const i=(yield Promise.allSettled(A.map((A=>new Promise(((t,i)=>{if(A.points)return t({points:A.points,texture_id:A.textureId||l.WQ(A.url),id:A.id||0});const n=l.WQ(A.url,((i,r,s)=>(s&&e(A.url,(e=>{console.log(A.url,e),l.Kg(n,e)})),t({points:(0,Q.A)(i,r,m,b),texture_id:n,id:0}))))})))))).filter((A=>"fulfilled"===A.status)).map((A=>A.value));g.im(i,t)})),destroy:()=>{v(),g.Nl(),p.unconfigure(),h.destroy()},setTool:g.qV}}))}!function(A){A[A.None=0]="None",A[A.DrawShape=1]="DrawShape"}(u||(u={})),i()}catch(y){i(y)}}))},9105:(A,e,t)=>{function i(A){const e=[255,0,0,255],t=[255,255,0,255],i=new Uint8Array([[0,0,255,255],e,e,e,e,e,t,t,t,e,e,t,e,e,e,e,t,t,e,e,e,t,e,e,e,e,t,e,e,e,e,e,e,e,e].flat()),n=A.createTexture({label:"yellow F on red",size:[5,7],format:"rgba8unorm",usage:GPUTextureUsage.TEXTURE_BINDING|GPUTextureUsage.COPY_DST});return A.queue.writeTexture({texture:n},i,{bytesPerRow:20},{width:5,height:7}),n}t.d(e,{A:()=>i})},2633:(A,e,t)=>{t.a(A,(async(A,i)=>{try{t.d(e,{A:()=>C,H:()=>l});var n=t(4304),r=t(7829),s=t(4461),a=t(2872),g=t(1559),o=t(9200),I=t(4302),c=A([s,a,g,o,I]);let Q;function l(A){Q=A}function C(A,e,t,i,c,l){let C;const B=new a.A(t);(0,g.Vh)({draw_texture:(A,e)=>{(0,r._J)(Q,A.dataView,I.Mc(e))},draw_msdf:(A,e)=>{const t=A["*"].dataView;(0,r.hk)(Q,t,I.Mc(e))},draw_triangle:A=>{const e=A["*"].dataView;(0,r.D4)(Q,e)},draw_shape:(A,e,t)=>{const i=A["*"].dataView,n=e["*"].dataView;(0,r.KG)(Q,i,n,t.dataView)},pick_texture:(A,e)=>{const t=A["*"].dataView;(0,r.Fh)(C,t,I.Mc(e))},pick_triangle:A=>{const e=A["*"].dataView;(0,r.Q3)(C,e)}});let u=0;const E={x:0,y:0};return u=requestAnimationFrame((function a(I){const c=t.createCommandEncoder(),f=(0,n.A)(e,t);Q=c.beginRenderPass(f);const y=(0,s.A)(A);if(t.queue.writeBuffer(r.Sp,0,y),(0,g.IL)(),Q.end(),0===o.Wn.afterPickEventsQueue.length&&l(),o.Wn.afterPickEventsQueue.length>0||E.x!==o.Wn.x||E.y!==o.Wn.y){E.x=o.Wn.x,E.y=o.Wn.y;const e=B.createMatrix(A,y);t.queue.writeBuffer(r.R9,0,e);const i=B.startPicking(c);C=i.pass,(0,g.Jd)(),i.end()}const h=c.finish();t.queue.submit([h]),i(),B.asyncPick(),u=requestAnimationFrame(a)})),()=>{cancelAnimationFrame(u)}}[s,a,g,o,I]=c.then?(await c)():c,i()}catch(B){i(B)}}))},2344:(A,e,t)=>{t.d(e,{t:()=>i});const i={x:1e11,y:0}},1074:(A,e,t)=>{t.a(A,(async(A,i)=>{try{t.d(e,{A:()=>I});var n=t(1559),r=t(9319),s=t(1590),a=t(1233),g=t(4176),o=A([n]);function I(A,e){"children"in A&&A.children.forEach((A=>{if("string"!=typeof A){if("properties"in A&&"object"==typeof A.properties){const t=A.properties,i={};if(t.fill){const A=(0,a.A)(t.fill);i.fill_color=A}let o;switch(A.tagName){case"path":if("string"!=typeof(null==t?void 0:t.d))throw Error("Path without 'd' property");o=(0,r.A)(t.d,e);break;case"rect":if("number"!=typeof(null==t?void 0:t.width)||"number"!=typeof(null==t?void 0:t.height))throw Error("Path without 'd' property");o=[(0,s.A)(t.width,t.height,e)];break;case"ellipse":if("number"!=typeof(null==t?void 0:t.rx)||"number"!=typeof(null==t?void 0:t.ry))throw Error("Ellipse without 'rx' or 'ry' property");if("number"!=typeof(null==t?void 0:t.cx)||"number"!=typeof(null==t?void 0:t.cy))throw Error("Ellipse without 'cx' or 'cy' property");o=[(0,g.A)(t.cx,t.cy,t.rx,t.ry,e)]}o&&n.y9(o,i)}I(A,e)}}))}n=(o.then?(await o)():o)[0],i()}catch(c){i(c)}}))},1233:(A,e,t)=>{function i(A){const e=new OffscreenCanvas(1,1).getContext("2d");e.fillStyle=A,e.fillRect(0,0,1,1);const t=e.getImageData(0,0,1,1),[i,n,r,s]=t.data;return[i/255,n/255,r/255,s/255]}t.d(e,{A:()=>i})},4176:(A,e,t)=>{function i(A,e,t,i,n){const r=n-e,s=.5522847498307936,a=s*t,g=s*i,o={x:A+t,y:r},I={x:A,y:r+i},c={x:A-t,y:r},Q={x:A,y:r-i};return[[o,{x:A+t,y:r+g},{x:A+a,y:r+i},I],[I,{x:A-a,y:r+i},{x:A-t,y:r+g},c],[c,{x:A-t,y:r-g},{x:A-a,y:r-i},Q],[Q,{x:A+a,y:r-i},{x:A+t,y:r-g},o]]}t.d(e,{A:()=>i})},9319:(A,e,t)=>{t.d(e,{A:()=>r});var i=t(2344);function n(A,e){return e-A}function r(A,e){const t=function(A){const e=[],t=/([MmLlHhVvCcSsQqTtAaZz])\s*([^MmLlHhVvCcSsQqTtAaZz]*)/g;let i;for(;null!==(i=t.exec(A));){const A=i[1],t=i[2].trim(),n=[];if(t){const A=t.match(/-?[0-9]*\.?[0-9]+(?:[eE][-+]?[0-9]+)?/g);A&&n.push(...A.map(parseFloat))}e.push({command:A,args:n})}return e}(A),r=function(A,e){const t=[];let r=[],s={x:0,y:n(0,e)},a={x:0,y:n(0,e)},g=null;const o=()=>{r.length>0&&(t.push([...r]),r=[])};for(const{command:t,args:I}of A)switch(t.toLowerCase()){case"m":{r.length>0&&o();const A="m"===t;for(let t=0;t<I.length;t+=2)if(0===t)s={x:A?s.x+I[t]:I[t],y:A?s.y-I[t+1]:n(I[t+1],e)},a=Object.assign({},s);else{const a={x:I[t]+(A?s.x:0),y:A?s.y-I[t+1]:n(I[t+1],e)},g=[s,i.t,i.t,a];r.push(g),s=a}g=null;break}case"l":{const A="l"===t;for(let t=0;t<I.length;t+=2){const a={x:I[t]+(A?s.x:0),y:A?s.y-I[t+1]:n(I[t+1],e)},g=[s,i.t,i.t,a];r.push(g),s=a}g=null;break}case"h":{const A="h"===t;for(const e of I){const t={x:e+(A?s.x:0),y:s.y},n=[s,i.t,i.t,t];r.push(n),s=t}g=null;break}case"v":{const A="v"===t;for(const t of I){const a={x:s.x,y:A?s.y-t:n(t,e)},g=[s,i.t,i.t,a];r.push(g),s=a}g=null;break}case"c":{const A="c"===t;for(let t=0;t<I.length;t+=6){const i={x:I[t]+(A?s.x:0),y:A?s.y-I[t+1]:n(I[t+1],e)},a={x:I[t+2]+(A?s.x:0),y:A?s.y-I[t+3]:n(I[t+3],e)},o={x:I[t+4]+(A?s.x:0),y:A?s.y-I[t+5]:n(I[t+5],e)},c=[s,i,a,o];r.push(c),s=o,g=a}break}case"s":{const A="s"===t;for(let t=0;t<I.length;t+=4){const i=g?{x:2*s.x-g.x,y:2*s.y-g.y}:Object.assign({},s),a={x:I[t]+(A?s.x:0),y:A?s.y-I[t+1]:n(I[t+1],e)},o={x:I[t+2]+(A?s.x:0),y:A?s.y-I[t+3]:n(I[t+3],e)},c=[s,i,a,o];r.push(c),s=o,g=a}break}case"z":if(s.x!==a.x||s.y!==a.y){const A=[s,i.t,i.t,a];r.push(A)}s=a,g=null,o();break;default:console.warn(`SVG path command '${t}' not supported yet`),g=null}return o(),t}(t,e);return r}},1590:(A,e,t)=>{t.d(e,{A:()=>n});var i=t(2344);function n(A,e,t){const n={x:0,y:e},r={x:A,y:e},s={x:A,y:0},a={x:0,y:0};return[[n,i.t,i.t,r],[r,i.t,i.t,s],[s,i.t,i.t,a],[a,i.t,i.t,n]]}},4302:(A,e,t)=>{t.a(A,(async(A,i)=>{try{t.d(e,{ID:()=>y,KJ:()=>f,Kg:()=>p,Mc:()=>E,Ts:()=>B,WQ:()=>u});var n=t(9105),r=t(4637),s=t(1549),a=t(1074),g=A([a]);a=(g.then?(await g)():g)[0];var o=function(A,e,t,i){return new(t||(t=Promise))((function(n,r){function s(A){try{g(i.next(A))}catch(A){r(A)}}function a(A){try{g(i.throw(A))}catch(A){r(A)}}function g(A){var e;A.done?n(A.value):(e=A.value,e instanceof t?e:new t((function(A){A(e)}))).then(s,a)}g((i=i.apply(A,e||[])).next())}))};let I,c,Q,l,C;function B(A,e){I=A,c=[],Q=(0,n.A)(I),l=()=>e(C),C=0}function u(A,e){C++,l();const t=c.find((e=>e.url===A));if(t)return C--,l(),null==e||e(t.texture.width,t.texture.height,!1),c.indexOf(t);const i=c.length;return c.push({url:A}),d(A).then((([A,t])=>{var n;if(t){const e=t.children[0];console.log(e);const i=(null===(n=e.properties)||void 0===n?void 0:n.height)||A.naturalHeight;if(!i||"number"!=typeof i)throw Error("SVG height is required");return void(0,a.A)(e,i)}const{ctx:r}=h(A,A.naturalWidth,A.naturalHeight),g=r.getImageData(0,0,A.naturalWidth,A.naturalHeight).data,o=m(g),Q=b(g,o);null!==Q?c[i]=Q:(c[i].texture=(0,s.Be)(I,A,{flipY:!0}),c[i].data=g,c[i].hash=o),null==e||e(A.width,A.height,!Q),C--,l()})),i}function E(A){var e;return null!==(e=c[A].texture)&&void 0!==e?e:Q}function f(A,e){var t;null!==e&&(null===(t=c[e].texture)||void 0===t||t.destroy());const i=null!=e?e:c.length;return c[i]={url:"cache",texture:A},i}function y(A){return c[A].url}function h(A,e,t){const i=new OffscreenCanvas(e,t),n=i.getContext("2d");return n.drawImage(A,0,0,e,t),{canvas:i,ctx:n}}function m(A){let e=5381;for(let t=0;t<A.length;t++)e=(e<<5)+e+A[t];return String(e)}function b(A,e){for(let t=0;t<c.length;t++){const i=c[t];if(i.hash===e){if(A.length!==i.data.length)return null;for(let e=0;e<A.length;e++)if(A[e]!==i.data[e])return null;return i}}return null}function p(A,e){c[A].url=e}function d(A){return o(this,void 0,void 0,(function*(){return Promise.all([new Promise((e=>{const t=new Image;t.src=A,t.onload=()=>e(t)})),new Promise((e=>{fetch(A).then((A=>A.text())).then((A=>{A.includes("<svg")?e((0,r.q)(A)):e(null)}))}))])}))}i()}catch(w){i(w)}}))},6253:(A,e,t)=>{function i(A,e,t){return Math.min(t,Math.max(e,A))}t.d(e,{A:()=>i})},7846:(A,e,t)=>{t.d(e,{A:()=>n});var i=t(6253);function n(A,e,t,n){const r=function(A,e,t,n){if(n-e<t-A)return(0,i.A)(e,.2*n,.8*n)/e;return(0,i.A)(A,.2*t,.8*t)/A}(A,e,t,n),s=A*r,a=e*r,g=.5*(t-s),o=.5*(n-a);return[{x:g,y:o+a,u:0,v:1},{x:g+s,y:o+a,u:1,v:1},{x:g+s,y:o,u:1,v:0},{x:g,y:o,u:0,v:0}]}},2842:(A,e,t)=>{t.d(e,{A:()=>r});const i={cross(A,e,t=new Float32Array(3)){const i=A[1]*e[2]-A[2]*e[1],n=A[2]*e[0]-A[0]*e[2],r=A[0]*e[1]-A[1]*e[0];return t[0]=i,t[1]=n,t[2]=r,t},subtract:(A,e,t=new Float32Array(3))=>(t[0]=A[0]-e[0],t[1]=A[1]-e[1],t[2]=A[2]-e[2],t),normalize(A,e=new Float32Array(3)){const t=Math.sqrt(A[0]*A[0]+A[1]*A[1]+A[2]*A[2]);return t>1e-5?(e[0]=A[0]/t,e[1]=A[1]/t,e[2]=A[2]/t):(e[0]=0,e[1]=0,e[2]=0),e}},n={projection:(A,e,t,i)=>n.ortho(0,A,e,0,t,-t,i),perspective(A,e,t,i,n=new Float32Array(16)){const r=Math.tan(.5*Math.PI-.5*A),s=1/(t-i);return n[0]=r/e,n[1]=0,n[2]=0,n[3]=0,n[4]=0,n[5]=r,n[6]=0,n[7]=0,n[8]=0,n[9]=0,n[10]=i*s,n[11]=-1,n[12]=0,n[13]=0,n[14]=t*i*s,n[15]=0,n},ortho:(A,e,t,i,n,r,s=new Float32Array(16))=>(s[0]=2/(e-A),s[1]=0,s[2]=0,s[3]=0,s[4]=0,s[5]=2/(i-t),s[6]=0,s[7]=0,s[8]=0,s[9]=0,s[10]=1/(n-r),s[11]=0,s[12]=(e+A)/(A-e),s[13]=(i+t)/(t-i),s[14]=n/(n-r),s[15]=1,s),identity:(A=new Float32Array(16))=>(A[0]=1,A[1]=0,A[2]=0,A[3]=0,A[4]=0,A[5]=1,A[6]=0,A[7]=0,A[8]=0,A[9]=0,A[10]=1,A[11]=0,A[12]=0,A[13]=0,A[14]=0,A[15]=1,A),multiply(A,e,t=new Float32Array(16)){const i=e[0],n=e[1],r=e[2],s=e[3],a=e[4],g=e[5],o=e[6],I=e[7],c=e[8],Q=e[9],l=e[10],C=e[11],B=e[12],u=e[13],E=e[14],f=e[15],y=A[0],h=A[1],m=A[2],b=A[3],p=A[4],d=A[5],w=A[6],S=A[7],D=A[8],v=A[9],z=A[10],k=A[11],x=A[12],G=A[13],M=A[14],F=A[15];return t[0]=i*y+n*p+r*D+s*x,t[1]=i*h+n*d+r*v+s*G,t[2]=i*m+n*w+r*z+s*M,t[3]=i*b+n*S+r*k+s*F,t[4]=a*y+g*p+o*D+I*x,t[5]=a*h+g*d+o*v+I*G,t[6]=a*m+g*w+o*z+I*M,t[7]=a*b+g*S+o*k+I*F,t[8]=c*y+Q*p+l*D+C*x,t[9]=c*h+Q*d+l*v+C*G,t[10]=c*m+Q*w+l*z+C*M,t[11]=c*b+Q*S+l*k+C*F,t[12]=B*y+u*p+E*D+f*x,t[13]=B*h+u*d+E*v+f*G,t[14]=B*m+u*w+E*z+f*M,t[15]=B*b+u*S+E*k+f*F,t},cameraAim(A,e,t,n=new Float32Array(16)){const r=i.normalize(i.subtract(A,e)),s=i.normalize(i.cross(t,r)),a=i.normalize(i.cross(r,s));return n[0]=s[0],n[1]=s[1],n[2]=s[2],n[3]=0,n[4]=a[0],n[5]=a[1],n[6]=a[2],n[7]=0,n[8]=r[0],n[9]=r[1],n[10]=r[2],n[11]=0,n[12]=A[0],n[13]=A[1],n[14]=A[2],n[15]=1,n},inverse(A,e=new Float32Array(16)){const t=A[0],i=A[1],n=A[2],r=A[3],s=A[4],a=A[5],g=A[6],o=A[7],I=A[8],c=A[9],Q=A[10],l=A[11],C=A[12],B=A[13],u=A[14],E=A[15],f=Q*E,y=u*l,h=g*E,m=u*o,b=g*l,p=Q*o,d=n*E,w=u*r,S=n*l,D=Q*r,v=n*o,z=g*r,k=I*B,x=C*c,G=s*B,M=C*a,F=s*c,U=I*a,J=t*B,L=C*i,N=t*c,R=I*i,O=t*a,q=s*i,K=f*a+m*c+b*B-(y*a+h*c+p*B),Y=y*i+d*c+D*B-(f*i+w*c+S*B),_=h*i+w*a+v*B-(m*i+d*a+z*B),P=p*i+S*a+z*c-(b*i+D*a+v*c),V=1/(t*K+s*Y+I*_+C*P);return e[0]=V*K,e[1]=V*Y,e[2]=V*_,e[3]=V*P,e[4]=V*(y*s+h*I+p*C-(f*s+m*I+b*C)),e[5]=V*(f*t+w*I+S*C-(y*t+d*I+D*C)),e[6]=V*(m*t+d*s+z*C-(h*t+w*s+v*C)),e[7]=V*(b*t+D*s+v*I-(p*t+S*s+z*I)),e[8]=V*(k*o+M*l+F*E-(x*o+G*l+U*E)),e[9]=V*(x*r+J*l+R*E-(k*r+L*l+N*E)),e[10]=V*(G*r+L*o+O*E-(M*r+J*o+q*E)),e[11]=V*(U*r+N*o+q*l-(F*r+R*o+O*l)),e[12]=V*(G*Q+U*u+x*g-(F*u+k*g+M*Q)),e[13]=V*(N*u+k*n+L*Q-(J*Q+R*u+x*n)),e[14]=V*(J*g+q*u+M*n-(O*u+G*n+L*g)),e[15]=V*(O*Q+F*n+R*g-(N*g+q*Q+U*n)),e},transpose:(A,e=new Float32Array(16))=>(e[0]=A[0],e[1]=A[4],e[2]=A[8],e[3]=A[12],e[4]=A[1],e[5]=A[5],e[6]=A[9],e[7]=A[13],e[8]=A[2],e[9]=A[6],e[10]=A[10],e[11]=A[14],e[12]=A[3],e[13]=A[7],e[14]=A[11],e[15]=A[15],e),aim(A,e,t,n=new Float32Array(16)){const r=i.normalize(i.subtract(e,A)),s=i.normalize(i.cross(t,r)),a=i.normalize(i.cross(r,s));return n[0]=s[0],n[1]=s[1],n[2]=s[2],n[3]=0,n[4]=a[0],n[5]=a[1],n[6]=a[2],n[7]=0,n[8]=r[0],n[9]=r[1],n[10]=r[2],n[11]=0,n[12]=A[0],n[13]=A[1],n[14]=A[2],n[15]=1,n},lookAt:(A,e,t,i)=>n.inverse(n.cameraAim(A,e,t,i),i),translation:([A,e,t],i=new Float32Array(16))=>(i[0]=1,i[1]=0,i[2]=0,i[3]=0,i[4]=0,i[5]=1,i[6]=0,i[7]=0,i[8]=0,i[9]=0,i[10]=1,i[11]=0,i[12]=A,i[13]=e,i[14]=t,i[15]=1,i),rotationX(A,e=new Float32Array(16)){const t=Math.cos(A),i=Math.sin(A);return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=t,e[6]=i,e[7]=0,e[8]=0,e[9]=-i,e[10]=t,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e},rotationY(A,e=new Float32Array(16)){const t=Math.cos(A),i=Math.sin(A);return e[0]=t,e[1]=0,e[2]=-i,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=i,e[9]=0,e[10]=t,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e},rotationZ(A,e=new Float32Array(16)){const t=Math.cos(A),i=Math.sin(A);return e[0]=t,e[1]=i,e[2]=0,e[3]=0,e[4]=-i,e[5]=t,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},scaling:([A,e,t],i=new Float32Array(16))=>(i[0]=A,i[1]=0,i[2]=0,i[3]=0,i[4]=0,i[5]=e,i[6]=0,i[7]=0,i[8]=0,i[9]=0,i[10]=t,i[11]=0,i[12]=0,i[13]=0,i[14]=0,i[15]=1,i),translate:(A,e,t)=>n.multiply(A,n.translation(e),t),rotateX:(A,e,t)=>n.multiply(A,n.rotationX(e),t),rotateY:(A,e,t)=>n.multiply(A,n.rotationY(e),t),rotateZ:(A,e,t)=>n.multiply(A,n.rotationZ(e),t),scale:(A,e,t)=>n.multiply(A,n.scaling(e),t)},r=n},1559:(A,e,t)=>{t.a(A,(async(A,i)=>{try{t.d(e,{Dk:()=>ig,HU:()=>ja,IL:()=>gg,Jd:()=>og,MW:()=>eg,Nl:()=>cg,Nu:()=>Za,OI:()=>tg,VD:()=>Ag,Vh:()=>Ha,Yj:()=>$a,_R:()=>ng,c2:()=>sg,dU:()=>Qg,im:()=>Ig,kO:()=>Ta,o6:()=>ag,qV:()=>lg,vH:()=>Wa,wU:()=>rg,y9:()=>Bg});var n=t(4773);t(1285),t(9592),t(2148),t(7635),t(4828),t(6973),t(2427),t(1669),t(6929),t(4936),t(8738),t(1432),t(1454),t(6402),t(9098),t(9494),t(337),t(3971),t(7431),t(7591),t(6717),t(2164),t(5496),t(6135),t(9813),t(3793),t(8305),t(3456),t(8539),t(7679),t(2244),t(3509),t(9433),t(8371),t(903),t(3692),t(7382),t(3750),t(1425),t(8773),t(3086),t(8771),t(8991),t(8502),t(9025),t(9426),t(1991),t(5558),t(4358),t(2436),t(7409),t(1674),t(9268),t(5239);const A={constructor:null,type:0,flags:0,signature:void 0,name:void 0,byteSize:0,align:0,instance:{members:[],template:null},static:{members:[],template:null}},r={type:0,flags:0},s={},a={},g={},o={},I={},c={},Q={},l={},C={},B={},u={},E={},f={},y={},h={},m={},b={},p={},d={},w={},S={},D={},v={},z={},k={},x={},G={},M={},F={},U={},J={},L={},N={},R={},O={},q={},K={},Y={},_={},P={},V={},H={},T={},Z={},j={},X={},W={},$={},AA={},eA={},tA={},iA={},nA={},rA={},sA={},aA={},gA={},oA={},IA={},cA={},QA={},lA={},CA={},BA={},uA={},EA={},fA={},yA={},hA={},mA={},bA={},pA={},dA={},wA={},SA={},DA={},vA={},zA={},kA={},xA={},GA={},MA={},FA={},UA={},JA={},LA={},NA={},RA={},OA={},qA={},KA={},YA={},_A={},PA={},VA={},HA={},TA={},ZA={},jA={},XA={},WA={},$A={},Ae={},ee={},te={},ie={},ne={},re={},se={},ae={},ge={},oe={},Ie={},ce={},Qe={},le={},Ce={},Be={},ue={},Ee={},fe={},ye={},he={},me={},be={},pe={},de={},we={},Se={},De={},ve={},ze={},ke={},xe={},Ge={},Me={},Fe={},Ue={},Je={},Le={},Ne={},Re={},Oe={},qe={},Ke={},Ye={},_e={},Pe={},Ve={},He={},Te={},Ze={},je={},Xe={},We={},$e={},At={},et={},tt={},it={},nt={},rt={},st={},at={},gt={},ot={},It={},ct={},Qt={},lt={},Ct={},Bt={},ut={},Et={},ft={},yt={},ht={},mt={},bt={},pt={},dt={},wt={},St={},Dt={},vt={},zt={},kt={},xt={},Gt={},Mt={},Ft={},Ut={},Jt={},Lt={},Nt={},Rt={},Ot={},qt={},Kt={},Yt={},_t={},Pt={},Vt={},Ht={},Tt={},Zt={},jt={},Xt={},Wt={},$t={},Ai={},ei={},ti={},ii={},ni={},ri={},si={},ai={},gi={},oi={},Ii={},ci={},Qi={},li={},Ci={},Bi={},ui={},Ei={},fi={},yi={},hi={},mi={},bi={},pi={},di={},wi={},Si={},Di={},vi={},zi={},ki={},xi={},Gi={},Mi={},Fi={},Ui={},Ji={},Li={},Ni={},Ri={},Oi={},qi={},Ki={},Yi={},_i={},Pi={},Vi={},Hi={},Ti={},Zi={},ji={},Xi={},Wi={},$i={},An={},en={},tn={},nn={},rn={},sn={},an={},gn={},on={},In={},cn={},Qn={},ln={},Cn={},Bn={},un={},En={},fn={},yn={},hn={},mn={},bn={},pn={},dn={},wn={},Sn={},Dn={},vn={},zn={},kn={},xn={},Gn={},Mn={},Fn={},Un={},Jn={},Ln={},Nn={},Rn={},On={},qn={},Kn={},Yn={},_n={},Pn={},Vn={},Hn={},Tn={},Zn={},jn={},Xn={},Wn={},$n={},Ar={},er={},tr={},ir={},nr={},rr={},sr={},ar={},gr={},or={},Ir={},cr={},Qr={},lr={},Cr={},Br={},ur={},Er={},fr={},yr={},hr={},mr={},br={},pr={},dr={},wr={},Sr={},Dr={},vr={},zr={},kr={},xr={},Gr={},Mr={},Fr={},Ur={},Jr={},Lr={},Nr={},Rr={},Or={},qr={},Kr={},Yr={},_r={},Pr={},Vr={},Hr={},Tr={},Zr={},jr={},Xr={},Wr={},$r={},As={},es={},ts={},is={},ns={},rs={},ss={},as={},gs={},os={},Is={},cs={},Qs={},ls={},Cs={},Bs={},us={},Es={},fs={},ys={},hs={},ms={},bs={},ps={},ds={},ws={},Ss={},Ds={},vs={},zs={},ks={},xs={},Gs={},Ms={},Fs={},Us={},Js={},Ls={},Ns={},Rs={},Os={},qs={},Ks={},Ys={},_s={},Ps={},Vs={},Hs=A=>new Uint8Array(A),Ts=Hs(0),Zs=Hs(8),js=Hs(16),Xs=Hs(64),Ws=Hs(48),$s=Hs(52),Aa=Hs(20),ea=Hs(64),ta=Hs(24),ia=Hs(72),na=Hs(16),ra=Hs(1),sa=Hs([1]),aa=Hs([2]),ga=Hs([3]),oa=Hs([4]),Ia=Hs([5]),ca=Hs(1),Qa=Hs(sa),la=Hs(aa),Ca=Hs(1),Ba=Hs(sa),ua=Hs(aa),Ea=Hs(ga),fa=Hs(oa),ya=Hs(Ia),ha=Hs([6]),ma=Hs(16),ba=Hs([8,0]),pa=Hs(8),da=Hs(ba),wa=Hs(ba),Sa=Hs(ba),Da=Hs(ba),va=Hs(ba),za=Hs(ba),ka=Hs(ba),xa=Hs(ba),Ga=Hs(ba),Ma=Hs(ba),Fa=Hs(1),Ua=Hs(sa),Ja=Hs(ba),La=Hs([0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,63,0,0,0,0]),Na=Hs([232,3,0,0]),Ra=Object.assign;Ra(jt,{memory:{array:Ts},handle:99}),Ra(Xt,{memory:{array:Ts},handle:100}),Ra(Wt,{memory:{array:Ts},handle:101}),Ra($t,{memory:{array:Zs}}),Ra(Ai,{slots:{0:ei,2:ti,3:ii,4:ni}}),Ra(ei,{structure:o,memory:{array:Ts},handle:60}),Ra(ti,{structure:c,memory:{array:Ts},handle:61}),Ra(ii,{structure:o,memory:{array:Ts},handle:62}),Ra(ni,{structure:l,memory:{array:Ts},handle:63}),Ra(ri,{memory:{array:Ts},handle:86}),Ra(si,{memory:{array:Ts},handle:87}),Ra(ai,{memory:{array:js}}),Ra(gi,{slots:{0:oi,1:Ii,2:ci}}),Ra(oi,{structure:u,memory:{array:Ts},handle:60}),Ra(Ii,{structure:f,memory:{array:Ts},handle:76}),Ra(ci,{structure:f,memory:{array:Ts},handle:61}),Ra(Qi,{memory:{array:Ts},handle:44}),Ra(li,{memory:{array:Ts},handle:45}),Ra(Ci,{memory:{array:Xs}}),Ra(Bi,{memory:{array:Ts},handle:25}),Ra(ui,{memory:{array:Ts},handle:46}),Ra(Ei,{memory:{array:Ws}}),Ra(fi,{memory:{array:Ts},handle:47}),Ra(yi,{memory:{array:Ts},handle:48}),Ra(hi,{memory:{array:$s}}),Ra(mi,{memory:{array:Ts},handle:49}),Ra(bi,{memory:{array:Ts},handle:50}),Ra(pi,{memory:{array:Aa}}),Ra(di,{memory:{array:Ts},handle:49}),Ra(wi,{memory:{array:Ts},handle:51}),Ra(Si,{memory:{array:ea}}),Ra(Di,{memory:{array:Ts},handle:25}),Ra(vi,{memory:{array:Ts},handle:52}),Ra(zi,{memory:{array:ta},handle:264364,slots:{0:ki,1:Gi,2:Fi,3:Ji,4:Ni,5:Oi}}),Ra(ki,{structure:d,memory:{array:ta,offset:0,length:4},slots:{0:xi}}),Ra(xi,{structure:p,memory:{array:Ts}}),Ra(Gi,{structure:M,memory:{array:ta,offset:4,length:4},slots:{0:Mi}}),Ra(Mi,{structure:G,memory:{array:Ts}}),Ra(Fi,{structure:O,memory:{array:ta,offset:8,length:4},slots:{0:Ui}}),Ra(Ui,{structure:R,memory:{array:Ts}}),Ra(Ji,{structure:H,memory:{array:ta,offset:12,length:4},slots:{0:Li}}),Ra(Li,{structure:V,memory:{array:Ts}}),Ra(Ni,{structure:$,memory:{array:ta,offset:16,length:4},slots:{0:Ri}}),Ra(Ri,{structure:W,memory:{array:Ts}}),Ra(Oi,{structure:rA,memory:{array:ta,offset:20,length:4},slots:{0:qi}}),Ra(qi,{structure:nA,memory:{array:Ts}}),Ra(Ki,{memory:{array:Ts},handle:24}),Ra(Yi,{memory:{array:ia}}),Ra(_i,{memory:{array:Ts},handle:25}),Ra(Pi,{memory:{array:Ts},handle:26}),Ra(Vi,{memory:{array:Ts},handle:27}),Ra(Hi,{memory:{array:Ts},handle:35}),Ra(Ti,{memory:{array:Ts},handle:36}),Ra(Zi,{memory:{array:Ts},handle:27}),Ra(ji,{memory:{array:na}}),Ra(Xi,{memory:{array:Ts},handle:28}),Ra(Wi,{memory:{array:Ts},handle:29}),Ra($i,{memory:{array:Ts},handle:39}),Ra(An,{memory:{array:Ts},handle:40}),Ra(en,{memory:{array:Ts},handle:30}),Ra(tn,{memory:{array:Ts},handle:88}),Ra(nn,{memory:{array:Ts},handle:89}),Ra(rn,{memory:{array:Ts},handle:102}),Ra(sn,{memory:{array:Ts},handle:103}),Ra(an,{memory:{array:Ts},handle:105}),Ra(gn,{slots:{0:on,1:In,2:cn,3:Qn,4:ln,5:Cn,6:Bn}}),Ra(on,{structure:XA,memory:{array:Ts},handle:98}),Ra(In,{structure:WA,memory:{array:ra},const:!0}),Ra(cn,{structure:WA,memory:{array:sa},const:!0}),Ra(Qn,{structure:WA,memory:{array:aa},const:!0}),Ra(ln,{structure:WA,memory:{array:ga},const:!0}),Ra(Cn,{structure:WA,memory:{array:oa},const:!0}),Ra(Bn,{structure:WA,memory:{array:Ia},const:!0}),Ra(un,{memory:{array:Ts},handle:104}),Ra(En,{slots:{0:fn,1:yn,2:hn,3:mn,4:bn,5:pn}}),Ra(fn,{structure:PA,memory:{array:Ts},handle:95}),Ra(yn,{structure:TA,memory:{array:Ts},handle:96}),Ra(hn,{structure:Ae,memory:{array:Ts},handle:97}),Ra(mn,{structure:ee,memory:{array:ca},const:!0}),Ra(bn,{structure:ee,memory:{array:Qa},const:!0}),Ra(pn,{structure:ee,memory:{array:la},const:!0}),Ra(dn,{memory:{array:Ts},handle:90}),Ra(wn,{memory:{array:Ts},handle:91}),Ra(Sn,{memory:{array:Ts},handle:92}),Ra(Dn,{memory:{array:Ts},handle:93}),Ra(vn,{memory:{array:Ts},handle:94}),Ra(zn,{slots:{0:kn,1:xn,2:Gn,3:Mn,4:Fn,5:Un,6:Jn,7:Ln,8:Nn,9:Rn,10:On,11:qn,12:Kn,13:Yn,14:_n,15:Pn}}),Ra(kn,{structure:qA,memory:{array:Ts},handle:77}),Ra(xn,{structure:YA,memory:{array:Ts},handle:78}),Ra(Gn,{structure:ie,memory:{array:Ts},handle:79}),Ra(Mn,{structure:re,memory:{array:Ts},handle:80}),Ra(Fn,{structure:ae,memory:{array:Ts},handle:81}),Ra(Un,{structure:ae,memory:{array:Ts},handle:82}),Ra(Jn,{structure:oe,memory:{array:Ts},handle:83}),Ra(Ln,{structure:oe,memory:{array:Ts},handle:84}),Ra(Nn,{structure:ce,memory:{array:Ts},handle:85}),Ra(Rn,{structure:Qe,memory:{array:Ca},const:!0}),Ra(On,{structure:Qe,memory:{array:Ba},const:!0}),Ra(qn,{structure:Qe,memory:{array:ua},const:!0}),Ra(Kn,{structure:Qe,memory:{array:Ea},const:!0}),Ra(Yn,{structure:Qe,memory:{array:fa},const:!0}),Ra(_n,{structure:Qe,memory:{array:ya},const:!0}),Ra(Pn,{structure:Qe,memory:{array:ha},const:!0}),Ra(Vn,{memory:{array:Ts},handle:64}),Ra(Hn,{memory:{array:Ts},handle:65}),Ra(Tn,{memory:{array:Ts},handle:66}),Ra(Zn,{memory:{array:Ts},handle:67}),Ra(jn,{memory:{array:Ts},handle:68}),Ra(Xn,{memory:{array:Ts},handle:69}),Ra(Wn,{memory:{array:Ts},handle:70}),Ra($n,{memory:{array:Ts},handle:71}),Ra(Ar,{memory:{array:ma},handle:264388,slots:{0:er,1:ir,2:rr,3:ar}}),Ra(er,{structure:Be,memory:{array:ma,offset:0,length:4},slots:{0:tr}}),Ra(tr,{structure:Ce,memory:{array:Ts}}),Ra(ir,{structure:ye,memory:{array:ma,offset:4,length:4},slots:{0:nr}}),Ra(nr,{structure:fe,memory:{array:Ts}}),Ra(rr,{structure:be,memory:{array:ma,offset:8,length:4},slots:{0:sr}}),Ra(sr,{structure:me,memory:{array:Ts}}),Ra(ar,{structure:we,memory:{array:ma,offset:12,length:4},slots:{0:gr}}),Ra(gr,{structure:de,memory:{array:Ts}}),Ra(or,{slots:{0:Ir}}),Ra(Ir,{structure:ze,memory:{array:ba},const:!0}),Ra(cr,{memory:{array:Ts},handle:72}),Ra(Qr,{memory:{array:Ts},handle:72}),Ra(lr,{memory:{array:Ts},handle:73}),Ra(Cr,{memory:{array:Ts},handle:73}),Ra(Br,{memory:{array:Ts},handle:74}),Ra(ur,{memory:{array:Ts},handle:74}),Ra(Er,{memory:{array:Ts},handle:75}),Ra(fr,{memory:{array:Ts},handle:75}),Ra(yr,{memory:{array:pa},handle:264168,slots:{0:hr,1:br}}),Ra(hr,{structure:UA,memory:{array:pa,offset:0,length:4},slots:{0:mr}}),Ra(mr,{structure:FA,memory:{array:Ts}}),Ra(br,{structure:De,memory:{array:pa,offset:4,length:4}}),Ra(pr,{slots:{0:dr,1:Sr,2:vr,3:kr,4:xr,5:Gr,6:Mr,7:Fr,8:Ur,9:Jr}}),Ra(dr,{structure:ve,memory:{array:Ts},slots:{0:wr}}),Ra(wr,{structure:ze}),Ra(Sr,{structure:ve,memory:{array:Ts},slots:{0:Dr}}),Ra(Dr,{structure:ke}),Ra(vr,{structure:ve,memory:{array:Ts},slots:{0:zr}}),Ra(zr,{structure:Se}),Ra(kr,{structure:fe,memory:{array:Ts},handle:53}),Ra(xr,{structure:me,memory:{array:Ts},handle:54}),Ra(Gr,{structure:de,memory:{array:Ts},handle:55}),Ra(Mr,{structure:Me,memory:{array:Ts},handle:56}),Ra(Fr,{structure:Je,memory:{array:Ts},handle:57}),Ra(Ur,{structure:Re,memory:{array:Ts},handle:58}),Ra(Jr,{structure:Ke,memory:{array:Ts},handle:59}),Ra(Lr,{memory:{array:Ts},handle:31}),Ra(Nr,{slots:{0:Rr}}),Ra(Rr,{structure:Ve,memory:{array:da},const:!0}),Ra(Or,{memory:{array:Ts},handle:32}),Ra(qr,{slots:{0:Kr}}),Ra(Kr,{structure:je,memory:{array:wa},const:!0}),Ra(Yr,{memory:{array:Ts},handle:33}),Ra(_r,{slots:{0:Pr}}),Ra(Pr,{structure:At,memory:{array:Sa},const:!0}),Ra(Vr,{memory:{array:Ts},handle:34}),Ra(Hr,{slots:{0:Tr}}),Ra(Tr,{structure:nt,memory:{array:Da},const:!0}),Ra(Zr,{memory:{array:Ts},handle:37}),Ra(jr,{slots:{0:Xr}}),Ra(Xr,{structure:gt,memory:{array:va},const:!0}),Ra(Wr,{memory:{array:Ts},handle:34}),Ra($r,{memory:{array:Ts},handle:38}),Ra(As,{slots:{0:es}}),Ra(es,{structure:Ct,memory:{array:za},const:!0}),Ra(ts,{memory:{array:Ts},handle:34}),Ra(is,{slots:{0:ns}}),Ra(ns,{structure:ft,memory:{array:ka},const:!0}),Ra(rs,{memory:{array:Ts},handle:34}),Ra(ss,{slots:{0:as}}),Ra(as,{structure:bt,memory:{array:xa},const:!0}),Ra(gs,{memory:{array:Ts},handle:34}),Ra(os,{slots:{0:Is}}),Ra(Is,{structure:St,memory:{array:Ga},const:!0}),Ra(cs,{memory:{array:Ts},handle:41}),Ra(Qs,{memory:{array:Ts},handle:25}),Ra(ls,{slots:{0:Cs}}),Ra(Cs,{structure:Ft,memory:{array:Ma},const:!0}),Ra(Bs,{slots:{0:us,1:Es}}),Ra(us,{structure:Jt,memory:{array:Fa},const:!0}),Ra(Es,{structure:Jt,memory:{array:Ua},const:!0}),Ra(fs,{memory:{array:Ts},handle:42}),Ra(ys,{slots:{0:hs}}),Ra(hs,{structure:Rt,memory:{array:Ja},const:!0}),Ra(ms,{memory:{array:La}}),Ra(bs,{memory:{array:Ts},handle:43}),Ra(ps,{slots:{0:ds,1:ws,2:Ss,3:Ds,4:vs,5:zs,6:ks,7:xs,8:Gs,9:Ms,10:Fs,11:Us,12:Js,13:Ls,14:Ns,15:Rs,16:Os,17:qs,18:Ks,19:Ys,20:_s,21:Ps,22:Vs}}),Ra(ds,{structure:oA,memory:{array:Ts},handle:2}),Ra(ws,{structure:fA,memory:{array:Ts},handle:3}),Ra(Ss,{structure:pA,memory:{array:Ts},handle:4}),Ra(Ds,{structure:MA,memory:{array:Ts},handle:5}),Ra(vs,{structure:m,memory:{array:Na},const:!0}),Ra(zs,{structure:Pe,memory:{array:Ts},handle:6}),Ra(ks,{structure:Ze,memory:{array:Ts},handle:7}),Ra(xs,{structure:$e,memory:{array:Ts},handle:8}),Ra(Gs,{structure:it,memory:{array:Ts},handle:9}),Ra(Ms,{structure:hA,memory:{array:Ts},handle:10}),Ra(Fs,{structure:at,memory:{array:Ts},handle:11}),Ra(Us,{structure:ct,memory:{array:Ts},handle:12}),Ra(Js,{structure:lt,memory:{array:Ts},handle:13}),Ra(Ls,{structure:Et,memory:{array:Ts},handle:14}),Ra(Ns,{structure:mt,memory:{array:Ts},handle:15}),Ra(Rs,{structure:wt,memory:{array:Ts},handle:16}),Ra(Os,{structure:kA,memory:{array:Ts},handle:17}),Ra(qs,{structure:zt,memory:{array:Ts},handle:18}),Ra(Ks,{structure:kA,memory:{array:Ts},handle:19}),Ra(Ys,{structure:Mt,memory:{array:Ts},handle:20}),Ra(_s,{structure:Nt,memory:{array:Ts},handle:21}),Ra(Ps,{structure:kA,memory:{array:Ts},handle:22}),Ra(Vs,{structure:Tt,memory:{array:Ts},handle:23}),Ra(s,{...A,flags:1,signature:0xa310b7d01f11b8can,name:"void",align:1,instance:{members:[{...r,bitOffset:0,bitSize:0,byteSize:0,structure:s}]}}),Ra(a,{...A,flags:1,signature:0x61e77abe97c52d51n,name:"f32",byteSize:4,align:4,instance:{members:[{...r,type:4,bitOffset:0,bitSize:32,byteSize:4,structure:a}]}}),Ra(g,{...A,type:12,flags:10,signature:0x207e329602a86755n,name:"Arg(fn (Point, Point) Point)",length:2,byteSize:24,align:4,instance:{members:[{...r,type:5,flags:1,bitOffset:0,bitSize:64,byteSize:8,slot:0,name:"retval",structure:C},{...r,type:5,flags:1,bitOffset:64,bitSize:64,byteSize:8,slot:1,name:"0",structure:C},{...r,type:5,flags:1,bitOffset:128,bitSize:64,byteSize:8,slot:2,name:"1",structure:C}]}}),Ra(o,{...A,type:14,signature:0x8e48777d39cc425en,name:"fn (Point, Point) Point",length:2,instance:{members:[{...r,type:5,bitSize:192,byteSize:24,structure:g}],template:jt}}),Ra(I,{...A,type:12,flags:10,signature:0x61503e2c040eea30n,name:"Arg(fn (Point, Point) f32)",length:2,byteSize:20,align:4,instance:{members:[{...r,type:4,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:0,name:"retval",structure:a},{...r,type:5,flags:1,bitOffset:32,bitSize:64,byteSize:8,slot:1,name:"0",structure:C},{...r,type:5,flags:1,bitOffset:96,bitSize:64,byteSize:8,slot:2,name:"1",structure:C}]}}),Ra(c,{...A,type:14,signature:0x18a1631fcf9c9650n,name:"fn (Point, Point) f32",length:2,instance:{members:[{...r,type:5,bitSize:160,byteSize:20,structure:I}],template:Xt}}),Ra(Q,{...A,type:12,flags:10,signature:0x8413fe22a0ec1c90n,name:"Arg(fn (Point) Point)",length:1,byteSize:16,align:4,instance:{members:[{...r,type:5,flags:1,bitOffset:0,bitSize:64,byteSize:8,slot:0,name:"retval",structure:C},{...r,type:5,flags:1,bitOffset:64,bitSize:64,byteSize:8,slot:1,name:"0",structure:C}]}}),Ra(l,{...A,type:14,signature:0x64ad1835b1055f17n,name:"fn (Point) Point",length:1,instance:{members:[{...r,type:5,bitSize:128,byteSize:16,structure:Q}],template:Wt}}),Ra(C,{...A,type:2,flags:16,signature:0xc6238f223c317b90n,name:"Point",byteSize:8,align:4,instance:{members:[{...r,type:4,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:0,name:"x",structure:a},{...r,type:4,flags:1,bitOffset:32,bitSize:32,byteSize:4,slot:1,name:"y",structure:a}],template:$t},static:{members:[{...r,type:5,flags:18,slot:0,name:"mid",structure:o},{...r,type:5,flags:18,slot:2,name:"distance",structure:c},{...r,type:5,flags:18,slot:3,name:"diff",structure:o},{...r,type:5,flags:18,slot:4,name:"clone",structure:l}],template:Ai}}),Ra(B,{...A,type:12,flags:10,signature:0x8d352bb77a26e612n,name:"Arg(fn (PointUV, PointUV) Point)",length:2,byteSize:40,align:4,instance:{members:[{...r,type:5,flags:1,bitOffset:0,bitSize:64,byteSize:8,slot:0,name:"retval",structure:C},{...r,type:5,flags:1,bitOffset:64,bitSize:128,byteSize:16,slot:1,name:"0",structure:y},{...r,type:5,flags:1,bitOffset:192,bitSize:128,byteSize:16,slot:2,name:"1",structure:y}]}}),Ra(u,{...A,type:14,signature:0x0f1df05e0d01db92n,name:"fn (PointUV, PointUV) Point",length:2,instance:{members:[{...r,type:5,bitSize:320,byteSize:40,structure:B}],template:ri}}),Ra(E,{...A,type:12,flags:10,signature:0x9961a28ae296031fn,name:"Arg(fn (PointUV, PointUV) f32)",length:2,byteSize:36,align:4,instance:{members:[{...r,type:4,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:0,name:"retval",structure:a},{...r,type:5,flags:1,bitOffset:32,bitSize:128,byteSize:16,slot:1,name:"0",structure:y},{...r,type:5,flags:1,bitOffset:160,bitSize:128,byteSize:16,slot:2,name:"1",structure:y}]}}),Ra(f,{...A,type:14,signature:0xb56a381f65765bdcn,name:"fn (PointUV, PointUV) f32",length:2,instance:{members:[{...r,type:5,bitSize:288,byteSize:36,structure:E}],template:si}}),Ra(y,{...A,type:2,flags:16,signature:0x526f11b57045ab14n,name:"PointUV",byteSize:16,align:4,instance:{members:[{...r,type:4,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:0,name:"x",structure:a},{...r,type:4,flags:1,bitOffset:32,bitSize:32,byteSize:4,slot:1,name:"y",structure:a},{...r,type:4,flags:1,bitOffset:64,bitSize:32,byteSize:4,slot:2,name:"u",structure:a},{...r,type:4,flags:1,bitOffset:96,bitSize:32,byteSize:4,slot:3,name:"v",structure:a}],template:ai},static:{members:[{...r,type:5,flags:18,slot:0,name:"mid",structure:u},{...r,type:5,flags:18,slot:1,name:"angle_to",structure:f},{...r,type:5,flags:18,slot:2,name:"distance",structure:f}],template:gi}}),Ra(h,{...A,type:1,flags:10,signature:0x3ee5e4424cbe9410n,name:"[6]PointUV",length:6,byteSize:96,align:4,instance:{members:[{...r,type:5,bitSize:128,byteSize:16,structure:y}]}}),Ra(m,{...A,flags:1,signature:0x68598db431a811a3n,name:"u32",byteSize:4,align:4,instance:{members:[{...r,type:3,bitOffset:0,bitSize:32,byteSize:4,structure:m}]}}),Ra(b,{...A,type:12,flags:10,signature:0x20d5e187b003a7fen,name:"Arg(fn ([6]PointUV, u32) void)",length:2,byteSize:100,align:4,instance:{members:[{...r,flags:1,bitOffset:800,bitSize:0,byteSize:0,slot:0,name:"retval",structure:s},{...r,type:5,flags:1,bitOffset:0,bitSize:768,byteSize:96,slot:1,name:"0",structure:h},{...r,type:3,flags:1,bitOffset:768,bitSize:32,byteSize:4,slot:2,name:"1",structure:m}]}}),Ra(p,{...A,type:14,signature:0x587e2b72fe4f7519n,name:"fn ([6]PointUV, u32) void",length:2,instance:{members:[{...r,type:5,bitSize:800,byteSize:100,structure:b}],template:Qi},static:{members:[],template:li}}),Ra(d,{...A,type:8,flags:204,signature:0x5ed530af4a7bcf1dn,name:"*const fn ([6]PointUV, u32) void",byteSize:4,align:4,instance:{members:[{...r,type:5,bitSize:32,byteSize:4,slot:0,structure:p}]}}),Ra(w,{...A,flags:1,signature:0x370ee22b85937307n,name:"u8",byteSize:1,align:1,instance:{members:[{...r,type:3,bitOffset:0,bitSize:8,byteSize:1,structure:w}]}}),Ra(S,{...A,type:1,flags:224,signature:0x72a0d50910cc3369n,name:"[4]u8",length:4,byteSize:4,align:1,instance:{members:[{...r,type:3,bitSize:8,byteSize:1,structure:w}]}}),Ra(D,{...A,type:1,flags:64,signature:0x965d25e134612060n,name:"[3]f32",length:3,byteSize:12,align:4,instance:{members:[{...r,type:4,bitSize:32,byteSize:4,structure:a}]}}),Ra(v,{...A,type:2,flags:26,signature:0x192d6f39fdd42e6en,name:"DrawInstance",byteSize:64,align:4,instance:{members:[{...r,type:5,flags:1,bitOffset:0,bitSize:128,byteSize:16,slot:0,name:"p0",structure:y},{...r,type:5,flags:1,bitOffset:128,bitSize:128,byteSize:16,slot:1,name:"p1",structure:y},{...r,type:5,flags:1,bitOffset:256,bitSize:128,byteSize:16,slot:2,name:"p2",structure:y},{...r,type:5,flags:1,bitOffset:384,bitSize:32,byteSize:4,slot:3,name:"color",structure:S},{...r,type:5,flags:1,bitOffset:416,bitSize:96,byteSize:12,slot:4,name:"radius",structure:D}],template:Ci}}),Ra(z,{...A,type:9,flags:10,signature:0x914ee09efb47cbf7n,name:"[_]DrawInstance",byteSize:64,align:4,instance:{members:[{...r,type:5,bitSize:512,byteSize:64,structure:v}]}}),Ra(k,{...A,type:8,flags:188,signature:0x39778fa380da3875n,name:"[]const DrawInstance",byteSize:8,align:4,instance:{members:[{...r,type:5,bitSize:64,byteSize:8,slot:0,structure:z}]}}),Ra(x,{...A,type:12,flags:14,signature:0x93ffc88e8c95765dn,name:"Arg(fn ([]const DrawInstance) void)",length:1,byteSize:8,align:4,instance:{members:[{...r,flags:1,bitOffset:64,bitSize:0,byteSize:0,slot:0,name:"retval",structure:s},{...r,type:5,flags:1,bitOffset:0,bitSize:64,byteSize:8,slot:1,name:"0",structure:k}]}}),Ra(G,{...A,type:14,signature:0xe9f243b3e4ecde6cn,name:"fn ([]const DrawInstance) void",length:1,instance:{members:[{...r,type:5,bitSize:64,byteSize:8,structure:x}],template:Bi},static:{members:[],template:ui}}),Ra(M,{...A,type:8,flags:204,signature:0xffb0918139c04f1an,name:"*const fn ([]const DrawInstance) void",byteSize:4,align:4,instance:{members:[{...r,type:5,bitSize:32,byteSize:4,slot:0,structure:G}]}}),Ra(F,{...A,type:9,flags:10,signature:0xc2e8551856512494n,name:"[_]Point",byteSize:8,align:4,instance:{members:[{...r,type:5,bitSize:64,byteSize:8,structure:C}]}}),Ra(U,{...A,type:8,flags:188,signature:0x04fa74127b6acc09n,name:"[]const Point",byteSize:8,align:4,instance:{members:[{...r,type:5,bitSize:64,byteSize:8,slot:0,structure:F}]}}),Ra(J,{...A,type:1,flags:64,signature:0x55b5c2c225a6545bn,name:"[4]f32",length:4,byteSize:16,align:4,instance:{members:[{...r,type:4,bitSize:32,byteSize:4,structure:a}]}}),Ra(L,{...A,type:2,flags:26,signature:0x40db7c567416c304n,name:"Uniform",byteSize:48,align:4,instance:{members:[{...r,type:4,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:0,name:"stroke_width",structure:a},{...r,type:5,bitOffset:32,bitSize:96,byteSize:12,slot:1,name:"padding",structure:D},{...r,type:5,flags:1,bitOffset:128,bitSize:128,byteSize:16,slot:2,name:"fill_color",structure:J},{...r,type:5,flags:1,bitOffset:256,bitSize:128,byteSize:16,slot:3,name:"stroke_color",structure:J}],template:Ei}}),Ra(N,{...A,type:12,flags:14,signature:0x2e1c0405c0ec4674n,name:"Arg(fn ([]const Point, []const Point, Uniform) void)",length:3,byteSize:64,align:4,instance:{members:[{...r,flags:1,bitOffset:512,bitSize:0,byteSize:0,slot:0,name:"retval",structure:s},{...r,type:5,flags:1,bitOffset:0,bitSize:64,byteSize:8,slot:1,name:"0",structure:U},{...r,type:5,flags:1,bitOffset:64,bitSize:64,byteSize:8,slot:2,name:"1",structure:U},{...r,type:5,flags:1,bitOffset:128,bitSize:384,byteSize:48,slot:3,name:"2",structure:L}]}}),Ra(R,{...A,type:14,signature:0x154194cf2431a077n,name:"fn ([]const Point, []const Point, Uniform) void",length:3,instance:{members:[{...r,type:5,bitSize:512,byteSize:64,structure:N}],template:fi},static:{members:[],template:yi}}),Ra(O,{...A,type:8,flags:204,signature:0xa85eca8385440e49n,name:"*const fn ([]const Point, []const Point, Uniform) void",byteSize:4,align:4,instance:{members:[{...r,type:5,bitSize:32,byteSize:4,slot:0,structure:R}]}}),Ra(q,{...A,type:1,flags:10,signature:0x578493b95a018f7en,name:"[3]PointUV",length:3,byteSize:48,align:4,instance:{members:[{...r,type:5,bitSize:128,byteSize:16,structure:y}]}}),Ra(K,{...A,type:2,flags:26,signature:0xca530755a22a998en,name:"DrawInstance",byteSize:52,align:4,instance:{members:[{...r,type:5,flags:1,bitOffset:0,bitSize:384,byteSize:48,slot:0,name:"points",structure:q},{...r,type:5,flags:1,bitOffset:384,bitSize:32,byteSize:4,slot:1,name:"color",structure:S}],template:hi}}),Ra(Y,{...A,type:9,flags:10,signature:0x27b89a18d30e0640n,name:"[_]DrawInstance",byteSize:52,align:4,instance:{members:[{...r,type:5,bitSize:416,byteSize:52,structure:K}]}}),Ra(_,{...A,type:8,flags:188,signature:0x3afc30e1a57b269dn,name:"[]const DrawInstance",byteSize:8,align:4,instance:{members:[{...r,type:5,bitSize:64,byteSize:8,slot:0,structure:Y}]}}),Ra(P,{...A,type:12,flags:14,signature:0xd193affba67924f3n,name:"Arg(fn ([]const DrawInstance, u32) void)",length:2,byteSize:12,align:4,instance:{members:[{...r,flags:1,bitOffset:96,bitSize:0,byteSize:0,slot:0,name:"retval",structure:s},{...r,type:5,flags:1,bitOffset:0,bitSize:64,byteSize:8,slot:1,name:"0",structure:_},{...r,type:3,flags:1,bitOffset:64,bitSize:32,byteSize:4,slot:2,name:"1",structure:m}]}}),Ra(V,{...A,type:14,signature:0xfaf2e98b5e6103a0n,name:"fn ([]const DrawInstance, u32) void",length:2,instance:{members:[{...r,type:5,bitSize:96,byteSize:12,structure:P}],template:mi},static:{members:[],template:bi}}),Ra(H,{...A,type:8,flags:204,signature:0xd75553fb178caa01n,name:"*const fn ([]const DrawInstance, u32) void",byteSize:4,align:4,instance:{members:[{...r,type:5,bitSize:32,byteSize:4,slot:0,structure:V}]}}),Ra(T,{...A,type:2,flags:26,signature:0x51c81ec013b825c3n,name:"PickVertex",byteSize:20,align:4,instance:{members:[{...r,type:5,flags:1,bitOffset:0,bitSize:128,byteSize:16,slot:0,name:"point",structure:y},{...r,type:3,flags:1,bitOffset:128,bitSize:32,byteSize:4,slot:1,name:"id",structure:m}],template:pi}}),Ra(Z,{...A,type:9,flags:10,signature:0x76ed8f1f33009424n,name:"[_]PickVertex",byteSize:20,align:4,instance:{members:[{...r,type:5,bitSize:160,byteSize:20,structure:T}]}}),Ra(j,{...A,type:8,flags:188,signature:0x545dbe9066b56a76n,name:"[]const PickVertex",byteSize:8,align:4,instance:{members:[{...r,type:5,bitSize:64,byteSize:8,slot:0,structure:Z}]}}),Ra(X,{...A,type:12,flags:14,signature:0x31c024438eabbf73n,name:"Arg(fn ([]const PickVertex, u32) void)",length:2,byteSize:12,align:4,instance:{members:[{...r,flags:1,bitOffset:96,bitSize:0,byteSize:0,slot:0,name:"retval",structure:s},{...r,type:5,flags:1,bitOffset:0,bitSize:64,byteSize:8,slot:1,name:"0",structure:j},{...r,type:3,flags:1,bitOffset:64,bitSize:32,byteSize:4,slot:2,name:"1",structure:m}]}}),Ra(W,{...A,type:14,signature:0xded0b6d1acc2290dn,name:"fn ([]const PickVertex, u32) void",length:2,instance:{members:[{...r,type:5,bitSize:96,byteSize:12,structure:X}],template:di},static:{members:[],template:wi}}),Ra($,{...A,type:8,flags:204,signature:0x187686ea5958f7abn,name:"*const fn ([]const PickVertex, u32) void",byteSize:4,align:4,instance:{members:[{...r,type:5,bitSize:32,byteSize:4,slot:0,structure:W}]}}),Ra(AA,{...A,type:2,flags:26,signature:0xfcafa76b343a3caan,name:"PickInstance",byteSize:64,align:4,instance:{members:[{...r,type:5,flags:1,bitOffset:0,bitSize:128,byteSize:16,slot:0,name:"p0",structure:y},{...r,type:5,flags:1,bitOffset:128,bitSize:128,byteSize:16,slot:1,name:"p1",structure:y},{...r,type:5,flags:1,bitOffset:256,bitSize:128,byteSize:16,slot:2,name:"p2",structure:y},{...r,type:3,flags:1,bitOffset:384,bitSize:32,byteSize:4,slot:3,name:"id",structure:m},{...r,type:5,flags:1,bitOffset:416,bitSize:96,byteSize:12,slot:4,name:"radius",structure:D}],template:Si}}),Ra(eA,{...A,type:9,flags:10,signature:0xe76a506318e15bf2n,name:"[_]PickInstance",byteSize:64,align:4,instance:{members:[{...r,type:5,bitSize:512,byteSize:64,structure:AA}]}}),Ra(tA,{...A,type:8,flags:188,signature:0x22b542680e155723n,name:"[]const PickInstance",byteSize:8,align:4,instance:{members:[{...r,type:5,bitSize:64,byteSize:8,slot:0,structure:eA}]}}),Ra(iA,{...A,type:12,flags:14,signature:0x601e644054b52458n,name:"Arg(fn ([]const PickInstance) void)",length:1,byteSize:8,align:4,instance:{members:[{...r,flags:1,bitOffset:64,bitSize:0,byteSize:0,slot:0,name:"retval",structure:s},{...r,type:5,flags:1,bitOffset:0,bitSize:64,byteSize:8,slot:1,name:"0",structure:tA}]}}),Ra(nA,{...A,type:14,signature:0xaf76c83133419af9n,name:"fn ([]const PickInstance) void",length:1,instance:{members:[{...r,type:5,bitSize:64,byteSize:8,structure:iA}],template:Di},static:{members:[],template:vi}}),Ra(rA,{...A,type:8,flags:204,signature:0xcf1430f10b87a1e6n,name:"*const fn ([]const PickInstance) void",byteSize:4,align:4,instance:{members:[{...r,type:5,bitSize:32,byteSize:4,slot:0,structure:nA}]}}),Ra(sA,{...A,type:2,flags:14,signature:0xa7404041cce4d7e4n,name:"WebGpuPrograms",byteSize:24,align:4,instance:{members:[{...r,type:5,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:0,name:"draw_texture",structure:d},{...r,type:5,flags:1,bitOffset:32,bitSize:32,byteSize:4,slot:1,name:"draw_triangle",structure:M},{...r,type:5,flags:1,bitOffset:64,bitSize:32,byteSize:4,slot:2,name:"draw_shape",structure:O},{...r,type:5,flags:1,bitOffset:96,bitSize:32,byteSize:4,slot:3,name:"draw_msdf",structure:H},{...r,type:5,flags:1,bitOffset:128,bitSize:32,byteSize:4,slot:4,name:"pick_texture",structure:$},{...r,type:5,flags:1,bitOffset:160,bitSize:32,byteSize:4,slot:5,name:"pick_triangle",structure:rA}],template:zi}}),Ra(aA,{...A,type:8,flags:204,signature:0x4b97e7b342dc0e95n,name:"*const WebGpuPrograms",byteSize:4,align:4,instance:{members:[{...r,type:5,bitSize:32,byteSize:4,slot:0,structure:sA}]}}),Ra(gA,{...A,type:12,flags:14,signature:0xc8c21ceda7f04e6en,name:"Arg(fn (*const WebGpuPrograms) void)",length:1,byteSize:4,align:4,instance:{members:[{...r,flags:1,bitOffset:32,bitSize:0,byteSize:0,slot:0,name:"retval",structure:s},{...r,type:5,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:1,name:"0",structure:aA}]}}),Ra(oA,{...A,type:14,signature:0xc7d4865a224e46d2n,name:"fn (*const WebGpuPrograms) void",length:1,instance:{members:[{...r,type:5,bitSize:32,byteSize:4,structure:gA}],template:Ki}}),Ra(IA,{...A,type:1,flags:10,signature:0x009c896a0d8f3812n,name:"[4]PointUV",length:4,byteSize:64,align:4,instance:{members:[{...r,type:5,bitSize:128,byteSize:16,structure:y}]}}),Ra(cA,{...A,type:2,flags:10,signature:0xf467acfa8faba0b0n,name:"Serialized",byteSize:72,align:4,instance:{members:[{...r,type:5,flags:1,bitOffset:0,bitSize:512,byteSize:64,slot:0,name:"points",structure:IA},{...r,type:3,flags:1,bitOffset:512,bitSize:32,byteSize:4,slot:1,name:"texture_id",structure:m},{...r,type:3,flags:1,bitOffset:544,bitSize:32,byteSize:4,slot:2,name:"id",structure:m}],template:Yi}}),Ra(QA,{...A,type:9,flags:10,signature:0xf4147de9f73841b8n,name:"[_]Serialized",byteSize:72,align:4,instance:{members:[{...r,type:5,bitSize:576,byteSize:72,structure:cA}]}}),Ra(lA,{...A,type:8,flags:188,signature:0x6028753cdbfc756dn,name:"[]const Serialized",byteSize:8,align:4,instance:{members:[{...r,type:5,bitSize:64,byteSize:8,slot:0,structure:QA}]}}),Ra(CA,{...A,type:12,flags:14,signature:0x5982668a5988d984n,name:"Arg(fn ([]const Serialized) void)",length:1,byteSize:8,align:4,instance:{members:[{...r,flags:1,bitOffset:64,bitSize:0,byteSize:0,slot:0,name:"retval",structure:s},{...r,type:5,flags:1,bitOffset:0,bitSize:64,byteSize:8,slot:1,name:"0",structure:lA}]}}),Ra(BA,{...A,type:14,signature:0xb8beaa701eeeab6fn,name:"fn ([]const Serialized) void",length:1,instance:{members:[{...r,type:5,bitSize:64,byteSize:8,structure:CA}],template:_i},static:{members:[],template:Pi}}),Ra(uA,{...A,type:8,flags:204,signature:0x81bdb14af0e0d208n,name:"*const fn ([]const Serialized) void",byteSize:4,align:4,instance:{members:[{...r,type:5,bitSize:32,byteSize:4,slot:0,structure:BA}]}}),Ra(EA,{...A,type:12,flags:14,signature:0x4b3fe0b344fb2b2dn,name:"Arg(fn (*const fn ([]const Serialized) void) void)",length:1,byteSize:4,align:4,instance:{members:[{...r,flags:1,bitOffset:32,bitSize:0,byteSize:0,slot:0,name:"retval",structure:s},{...r,type:5,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:1,name:"0",structure:uA}]}}),Ra(fA,{...A,type:14,signature:0x2bc578db12d8c717n,name:"fn (*const fn ([]const Serialized) void) void",length:1,instance:{members:[{...r,type:5,bitSize:32,byteSize:4,structure:EA}],template:Vi}}),Ra(yA,{...A,type:12,signature:0x6364608841bf263en,name:"Arg(fn (u32) void)",length:1,byteSize:4,align:4,instance:{members:[{...r,flags:1,bitOffset:32,bitSize:0,byteSize:0,slot:0,name:"retval",structure:s},{...r,type:3,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:1,name:"0",structure:m}]}}),Ra(hA,{...A,type:14,signature:0x956e45a1c96ff5e6n,name:"fn (u32) void",length:1,instance:{members:[{...r,type:5,bitSize:32,byteSize:4,structure:yA}],template:Hi},static:{members:[],template:Ti}}),Ra(mA,{...A,type:8,flags:204,signature:0x139c4e15eb0a34d6n,name:"*const fn (u32) void",byteSize:4,align:4,instance:{members:[{...r,type:5,bitSize:32,byteSize:4,slot:0,structure:hA}]}}),Ra(bA,{...A,type:12,flags:14,signature:0xfaa14a525ee0f8d4n,name:"Arg(fn (*const fn (u32) void) void)",length:1,byteSize:4,align:4,instance:{members:[{...r,flags:1,bitOffset:32,bitSize:0,byteSize:0,slot:0,name:"retval",structure:s},{...r,type:5,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:1,name:"0",structure:mA}]}}),Ra(pA,{...A,type:14,signature:0x651c6f0337fe6099n,name:"fn (*const fn (u32) void) void",length:1,instance:{members:[{...r,type:5,bitSize:32,byteSize:4,structure:bA}],template:Zi}}),Ra(dA,{...A,type:7,flags:17,signature:0x6a0f688da3728775n,name:"?u32",byteSize:8,align:4,instance:{members:[{...r,type:3,bitOffset:0,bitSize:32,byteSize:4,slot:0,structure:m},{...r,type:3,flags:8,bitOffset:32,bitSize:8,byteSize:1,structure:w}]}}),Ra(wA,{...A,type:2,signature:0x57847e8f0b7a3a1fn,name:"BoundingBox",byteSize:16,align:4,instance:{members:[{...r,type:4,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:0,name:"min_x",structure:a},{...r,type:4,flags:1,bitOffset:32,bitSize:32,byteSize:4,slot:1,name:"min_y",structure:a},{...r,type:4,flags:1,bitOffset:64,bitSize:32,byteSize:4,slot:2,name:"max_x",structure:a},{...r,type:4,flags:1,bitOffset:96,bitSize:32,byteSize:4,slot:3,name:"max_y",structure:a}],template:ji}}),Ra(SA,{...A,type:12,flags:10,signature:0x147e6bb004780a90n,name:"Arg(fn (?u32, BoundingBox, f32, f32) u32)",length:4,byteSize:36,align:4,instance:{members:[{...r,type:3,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:0,name:"retval",structure:m},{...r,type:5,flags:1,bitOffset:32,bitSize:64,byteSize:8,slot:1,name:"0",structure:dA},{...r,type:5,flags:1,bitOffset:96,bitSize:128,byteSize:16,slot:2,name:"1",structure:wA},{...r,type:4,flags:1,bitOffset:224,bitSize:32,byteSize:4,slot:3,name:"2",structure:a},{...r,type:4,flags:1,bitOffset:256,bitSize:32,byteSize:4,slot:4,name:"3",structure:a}]}}),Ra(DA,{...A,type:14,signature:0xea27980e864495d8n,name:"fn (?u32, BoundingBox, f32, f32) u32",length:4,instance:{members:[{...r,type:5,bitSize:288,byteSize:36,structure:SA}],template:Xi},static:{members:[],template:Wi}}),Ra(vA,{...A,type:8,flags:204,signature:0x827a5e85f379e86cn,name:"*const fn (?u32, BoundingBox, f32, f32) u32",byteSize:4,align:4,instance:{members:[{...r,type:5,bitSize:32,byteSize:4,slot:0,structure:DA}]}}),Ra(zA,{...A,type:12,signature:0xfa22378c989ae19dn,name:"Arg(fn () void)",length:0,align:1,instance:{members:[{...r,flags:1,bitOffset:0,bitSize:0,byteSize:0,slot:0,name:"retval",structure:s}]}}),Ra(kA,{...A,type:14,signature:0xe3c3b022a28cd076n,name:"fn () void",length:0,instance:{members:[{...r,type:5,bitSize:0,byteSize:0,structure:zA}],template:$i},static:{members:[],template:An}}),Ra(xA,{...A,type:8,flags:204,signature:0xd7880dadce515974n,name:"*const fn () void",byteSize:4,align:4,instance:{members:[{...r,type:5,bitSize:32,byteSize:4,slot:0,structure:kA}]}}),Ra(GA,{...A,type:12,flags:14,signature:0x8a236472578c7a3dn,name:"Arg(fn (*const fn (?u32, BoundingBox, f32, f32) u32, *const fn () void) void)",length:2,byteSize:8,align:4,instance:{members:[{...r,flags:1,bitOffset:64,bitSize:0,byteSize:0,slot:0,name:"retval",structure:s},{...r,type:5,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:1,name:"0",structure:vA},{...r,type:5,flags:1,bitOffset:32,bitSize:32,byteSize:4,slot:2,name:"1",structure:xA}]}}),Ra(MA,{...A,type:14,signature:0x92a9e06d395eda27n,name:"fn (*const fn (?u32, BoundingBox, f32, f32) u32, *const fn () void) void",length:2,instance:{members:[{...r,type:5,bitSize:64,byteSize:8,structure:GA}],template:en}}),Ra(FA,{...A,type:9,flags:480,signature:0x9b3f78f92307ba61n,name:"anyopaque",byteSize:void 0,align:void 0,instance:{members:[{...r,type:3,bitSize:8,byteSize:1,structure:w}]}}),Ra(UA,{...A,type:8,flags:332,signature:0x4057fadddf1d8877n,name:"*opaque",byteSize:4,align:4,instance:{members:[{...r,type:5,bitSize:32,byteSize:4,slot:0,structure:FA}]}}),Ra(JA,{...A,type:9,flags:224,signature:0x9b3f78f92307ba61n,name:"[_]u8",byteSize:1,align:1,instance:{members:[{...r,type:3,bitSize:8,byteSize:1,structure:w}]}}),Ra(LA,{...A,type:8,flags:44,signature:0xdc4e40b42e2be1a4n,name:"[*]u8",byteSize:4,align:4,instance:{members:[{...r,type:5,bitSize:32,byteSize:4,slot:0,structure:JA}]}}),Ra(NA,{...A,flags:17,signature:0xad790f74c7d61933n,name:"usize",byteSize:4,align:4,instance:{members:[{...r,type:3,bitOffset:0,bitSize:32,byteSize:4,structure:NA}]}}),Ra(RA,{...A,type:7,flags:15,signature:0x46d9c68a3fe0a71cn,name:"?[*]u8",byteSize:4,align:4,instance:{members:[{...r,type:5,bitOffset:0,bitSize:32,byteSize:4,slot:0,structure:LA},{...r,type:3,flags:8,bitOffset:0,bitSize:32,byteSize:4,structure:NA}]}}),Ra(OA,{...A,type:12,signature:0xde13efb989eab233n,name:"Arg(fn (Alignment) usize)",length:1,byteSize:8,align:4,instance:{members:[{...r,type:3,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:0,name:"retval",structure:NA},{...r,type:3,flags:1,bitOffset:32,bitSize:5,byteSize:1,slot:1,name:"0",structure:Qe}]}}),Ra(qA,{...A,type:14,signature:0x511f3836ff34e93an,name:"fn (Alignment) usize",length:1,instance:{members:[{...r,type:5,bitSize:64,byteSize:8,structure:OA}],template:tn}}),Ra(KA,{...A,type:12,signature:0x3d33381cd47940b4n,name:"Arg(fn (usize) Alignment)",length:1,byteSize:8,align:4,instance:{members:[{...r,type:3,flags:1,bitOffset:32,bitSize:5,byteSize:1,slot:0,name:"retval",structure:Qe},{...r,type:3,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:1,name:"0",structure:NA}]}}),Ra(YA,{...A,type:14,signature:0x950458df9df4743bn,name:"fn (usize) Alignment",length:1,instance:{members:[{...r,type:5,bitSize:64,byteSize:8,structure:KA}],template:nn}}),Ra(_A,{...A,type:12,signature:0xa358945228ebaff3n,name:"Arg(fn (Order) Order)",length:1,byteSize:2,align:1,instance:{members:[{...r,type:3,flags:1,bitOffset:0,bitSize:2,byteSize:1,slot:0,name:"retval",structure:ee},{...r,type:3,flags:1,bitOffset:8,bitSize:2,byteSize:1,slot:1,name:"0",structure:ee}]}}),Ra(PA,{...A,type:14,signature:0x09217ef45d6a5583n,name:"fn (Order) Order",length:1,instance:{members:[{...r,type:5,bitSize:16,byteSize:2,structure:_A}],template:rn}}),Ra(VA,{...A,type:7,flags:17,signature:0x45d6d2728e09761bn,name:"?Order",byteSize:2,align:1,instance:{members:[{...r,type:3,bitOffset:0,bitSize:2,byteSize:1,slot:0,structure:ee},{...r,type:3,flags:8,bitOffset:8,bitSize:8,byteSize:1,structure:w}]}}),Ra(HA,{...A,type:12,flags:10,signature:0x818dc2d151e5b733n,name:"Arg(fn (Order) ?Order)",length:1,byteSize:3,align:1,instance:{members:[{...r,type:5,flags:1,bitOffset:0,bitSize:16,byteSize:2,slot:0,name:"retval",structure:VA},{...r,type:3,flags:1,bitOffset:16,bitSize:2,byteSize:1,slot:1,name:"0",structure:ee}]}}),Ra(TA,{...A,type:14,signature:0x54ab34151663d188n,name:"fn (Order) ?Order",length:1,instance:{members:[{...r,type:5,bitSize:24,byteSize:3,structure:HA}],template:sn}}),Ra(ZA,{...A,flags:1,signature:0x6eddab4b13ff06c5n,name:"bool",byteSize:1,align:1,instance:{members:[{...r,type:1,bitOffset:0,bitSize:1,byteSize:1,structure:ZA}]}}),Ra(jA,{...A,type:12,signature:0xb4bc84552cdf048fn,name:"Arg(fn (CompareOperator) CompareOperator)",length:1,byteSize:2,align:1,instance:{members:[{...r,type:3,flags:1,bitOffset:0,bitSize:3,byteSize:1,slot:0,name:"retval",structure:WA},{...r,type:3,flags:1,bitOffset:8,bitSize:3,byteSize:1,slot:1,name:"0",structure:WA}]}}),Ra(XA,{...A,type:14,signature:0x7614c9fef669bdabn,name:"fn (CompareOperator) CompareOperator",length:1,instance:{members:[{...r,type:5,bitSize:16,byteSize:2,structure:jA}],template:an}}),Ra(WA,{...A,type:6,flags:1,signature:0x89697612f8e25e90n,name:"CompareOperator",byteSize:1,align:1,instance:{members:[{...r,type:3,bitOffset:0,bitSize:3,byteSize:1,structure:WA}]},static:{members:[{...r,type:5,flags:18,slot:0,name:"reverse",structure:XA},{...r,type:5,flags:4,slot:1,name:"lt",structure:WA},{...r,type:5,flags:4,slot:2,name:"lte",structure:WA},{...r,type:5,flags:4,slot:3,name:"eq",structure:WA},{...r,type:5,flags:4,slot:4,name:"gte",structure:WA},{...r,type:5,flags:4,slot:5,name:"gt",structure:WA},{...r,type:5,flags:4,slot:6,name:"neq",structure:WA}],template:gn}}),Ra($A,{...A,type:12,signature:0xacf11acba856b940n,name:"Arg(fn (Order, CompareOperator) bool)",length:2,byteSize:3,align:1,instance:{members:[{...r,type:1,flags:1,bitOffset:0,bitSize:1,byteSize:1,slot:0,name:"retval",structure:ZA},{...r,type:3,flags:1,bitOffset:8,bitSize:2,byteSize:1,slot:1,name:"0",structure:ee},{...r,type:3,flags:1,bitOffset:16,bitSize:3,byteSize:1,slot:2,name:"1",structure:WA}]}}),Ra(Ae,{...A,type:14,signature:0xf27159573848fb68n,name:"fn (Order, CompareOperator) bool",length:2,instance:{members:[{...r,type:5,bitSize:24,byteSize:3,structure:$A}],template:un}}),Ra(ee,{...A,type:6,flags:1,signature:0x1aec8487f6280122n,name:"Order",byteSize:1,align:1,instance:{members:[{...r,type:3,bitOffset:0,bitSize:2,byteSize:1,structure:ee}]},static:{members:[{...r,type:5,flags:18,slot:0,name:"invert",structure:PA},{...r,type:5,flags:18,slot:1,name:"differ",structure:TA},{...r,type:5,flags:18,slot:2,name:"compare",structure:Ae},{...r,type:5,flags:4,slot:3,name:"gt",structure:ee},{...r,type:5,flags:4,slot:4,name:"lt",structure:ee},{...r,type:5,flags:4,slot:5,name:"eq",structure:ee}],template:En}}),Ra(te,{...A,type:12,signature:0xf2ead49fdfa38e2bn,name:"Arg(fn (Alignment, Alignment) Order)",length:2,byteSize:3,align:1,instance:{members:[{...r,type:3,flags:1,bitOffset:0,bitSize:2,byteSize:1,slot:0,name:"retval",structure:ee},{...r,type:3,flags:1,bitOffset:8,bitSize:5,byteSize:1,slot:1,name:"0",structure:Qe},{...r,type:3,flags:1,bitOffset:16,bitSize:5,byteSize:1,slot:2,name:"1",structure:Qe}]}}),Ra(ie,{...A,type:14,signature:0xf13cee4b7fda58c4n,name:"fn (Alignment, Alignment) Order",length:2,instance:{members:[{...r,type:5,bitSize:24,byteSize:3,structure:te}],template:dn}}),Ra(ne,{...A,type:12,signature:0x05739b3b38be1fe7n,name:"Arg(fn (Alignment, CompareOperator, Alignment) bool)",length:3,byteSize:4,align:1,instance:{members:[{...r,type:1,flags:1,bitOffset:0,bitSize:1,byteSize:1,slot:0,name:"retval",structure:ZA},{...r,type:3,flags:1,bitOffset:8,bitSize:5,byteSize:1,slot:1,name:"0",structure:Qe},{...r,type:3,flags:1,bitOffset:16,bitSize:3,byteSize:1,slot:2,name:"1",structure:WA},{...r,type:3,flags:1,bitOffset:24,bitSize:5,byteSize:1,slot:3,name:"2",structure:Qe}]}}),Ra(re,{...A,type:14,signature:0x5fb140f1464d545dn,name:"fn (Alignment, CompareOperator, Alignment) bool",length:3,instance:{members:[{...r,type:5,bitSize:32,byteSize:4,structure:ne}],template:wn}}),Ra(se,{...A,type:12,signature:0x19f9b9e423c9240bn,name:"Arg(fn (Alignment, Alignment) Alignment)",length:2,byteSize:3,align:1,instance:{members:[{...r,type:3,flags:1,bitOffset:0,bitSize:5,byteSize:1,slot:0,name:"retval",structure:Qe},{...r,type:3,flags:1,bitOffset:8,bitSize:5,byteSize:1,slot:1,name:"0",structure:Qe},{...r,type:3,flags:1,bitOffset:16,bitSize:5,byteSize:1,slot:2,name:"1",structure:Qe}]}}),Ra(ae,{...A,type:14,signature:0x502383542de53673n,name:"fn (Alignment, Alignment) Alignment",length:2,instance:{members:[{...r,type:5,bitSize:24,byteSize:3,structure:se}],template:Sn}}),Ra(ge,{...A,type:12,signature:0x84835b8f7162244fn,name:"Arg(fn (Alignment, usize) usize)",length:2,byteSize:12,align:4,instance:{members:[{...r,type:3,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:0,name:"retval",structure:NA},{...r,type:3,flags:1,bitOffset:64,bitSize:5,byteSize:1,slot:1,name:"0",structure:Qe},{...r,type:3,flags:1,bitOffset:32,bitSize:32,byteSize:4,slot:2,name:"1",structure:NA}]}}),Ra(oe,{...A,type:14,signature:0xf22d521b6289ec09n,name:"fn (Alignment, usize) usize",length:2,instance:{members:[{...r,type:5,bitSize:96,byteSize:12,structure:ge}],template:Dn}}),Ra(Ie,{...A,type:12,signature:0x053c5d5cf40c778fn,name:"Arg(fn (Alignment, usize) bool)",length:2,byteSize:8,align:4,instance:{members:[{...r,type:1,flags:1,bitOffset:32,bitSize:1,byteSize:1,slot:0,name:"retval",structure:ZA},{...r,type:3,flags:1,bitOffset:40,bitSize:5,byteSize:1,slot:1,name:"0",structure:Qe},{...r,type:3,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:2,name:"1",structure:NA}]}}),Ra(ce,{...A,type:14,signature:0xc152dfb87eadb0b4n,name:"fn (Alignment, usize) bool",length:2,instance:{members:[{...r,type:5,bitSize:64,byteSize:8,structure:Ie}],template:vn}}),Ra(Qe,{...A,type:6,flags:17,signature:0x585b7f21a11e5af0n,name:"Alignment",byteSize:1,align:1,instance:{members:[{...r,type:3,bitOffset:0,bitSize:5,byteSize:1,structure:Qe}]},static:{members:[{...r,type:5,flags:18,slot:0,name:"toByteUnits",structure:qA},{...r,type:5,flags:2,slot:1,name:"fromByteUnits",structure:YA},{...r,type:5,flags:18,slot:2,name:"order",structure:ie},{...r,type:5,flags:18,slot:3,name:"compare",structure:re},{...r,type:5,flags:18,slot:4,name:"max",structure:ae},{...r,type:5,flags:18,slot:5,name:"min",structure:ae},{...r,type:5,flags:18,slot:6,name:"forward",structure:oe},{...r,type:5,flags:18,slot:7,name:"backward",structure:oe},{...r,type:5,flags:18,slot:8,name:"check",structure:ce},{...r,type:5,flags:4,slot:9,name:"1",structure:Qe},{...r,type:5,flags:4,slot:10,name:"2",structure:Qe},{...r,type:5,flags:4,slot:11,name:"4",structure:Qe},{...r,type:5,flags:4,slot:12,name:"8",structure:Qe},{...r,type:5,flags:4,slot:13,name:"16",structure:Qe},{...r,type:5,flags:4,slot:14,name:"32",structure:Qe},{...r,type:5,flags:4,slot:15,name:"64",structure:Qe}],template:zn}}),Ra(le,{...A,type:12,flags:14,signature:0xe9635dad30c6baf7n,name:"Arg(fn (*opaque, usize, Alignment, usize) ?[*]u8)",length:4,byteSize:20,align:4,instance:{members:[{...r,type:5,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:0,name:"retval",structure:RA},{...r,type:5,flags:1,bitOffset:32,bitSize:32,byteSize:4,slot:1,name:"0",structure:UA},{...r,type:3,flags:1,bitOffset:64,bitSize:32,byteSize:4,slot:2,name:"1",structure:NA},{...r,type:3,flags:1,bitOffset:128,bitSize:5,byteSize:1,slot:3,name:"2",structure:Qe},{...r,type:3,flags:1,bitOffset:96,bitSize:32,byteSize:4,slot:4,name:"3",structure:NA}]}}),Ra(Ce,{...A,type:14,signature:0xbed86186ab27c14cn,name:"fn (*opaque, usize, Alignment, usize) ?[*]u8",length:4,instance:{members:[{...r,type:5,bitSize:160,byteSize:20,structure:le}],template:Vn},static:{members:[],template:Hn}}),Ra(Be,{...A,type:8,flags:204,signature:0x4e622a40d4cd5ff1n,name:"*const fn (*opaque, usize, Alignment, usize) ?[*]u8",byteSize:4,align:4,instance:{members:[{...r,type:5,bitSize:32,byteSize:4,slot:0,structure:Ce}]}}),Ra(ue,{...A,type:8,flags:60,signature:0x559135659a0a19ean,name:"[]u8",byteSize:8,align:4,instance:{members:[{...r,type:5,bitSize:64,byteSize:8,slot:0,structure:JA}]}}),Ra(Ee,{...A,type:12,flags:14,signature:0xcdf6dc4e0de8422cn,name:"Arg(fn (*opaque, []u8, Alignment, usize, usize) bool)",length:5,byteSize:24,align:4,instance:{members:[{...r,type:1,flags:1,bitOffset:160,bitSize:1,byteSize:1,slot:0,name:"retval",structure:ZA},{...r,type:5,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:1,name:"0",structure:UA},{...r,type:5,flags:1,bitOffset:32,bitSize:64,byteSize:8,slot:2,name:"1",structure:ue},{...r,type:3,flags:1,bitOffset:168,bitSize:5,byteSize:1,slot:3,name:"2",structure:Qe},{...r,type:3,flags:1,bitOffset:96,bitSize:32,byteSize:4,slot:4,name:"3",structure:NA},{...r,type:3,flags:1,bitOffset:128,bitSize:32,byteSize:4,slot:5,name:"4",structure:NA}]}}),Ra(fe,{...A,type:14,signature:0xb1911d4efbc4e934n,name:"fn (*opaque, []u8, Alignment, usize, usize) bool",length:5,instance:{members:[{...r,type:5,bitSize:192,byteSize:24,structure:Ee}],template:Tn},static:{members:[],template:Zn}}),Ra(ye,{...A,type:8,flags:204,signature:0x493ea89f26eed44an,name:"*const fn (*opaque, []u8, Alignment, usize, usize) bool",byteSize:4,align:4,instance:{members:[{...r,type:5,bitSize:32,byteSize:4,slot:0,structure:fe}]}}),Ra(he,{...A,type:12,flags:14,signature:0x9205d7e9600828c7n,name:"Arg(fn (*opaque, []u8, Alignment, usize, usize) ?[*]u8)",length:5,byteSize:28,align:4,instance:{members:[{...r,type:5,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:0,name:"retval",structure:RA},{...r,type:5,flags:1,bitOffset:32,bitSize:32,byteSize:4,slot:1,name:"0",structure:UA},{...r,type:5,flags:1,bitOffset:64,bitSize:64,byteSize:8,slot:2,name:"1",structure:ue},{...r,type:3,flags:1,bitOffset:192,bitSize:5,byteSize:1,slot:3,name:"2",structure:Qe},{...r,type:3,flags:1,bitOffset:128,bitSize:32,byteSize:4,slot:4,name:"3",structure:NA},{...r,type:3,flags:1,bitOffset:160,bitSize:32,byteSize:4,slot:5,name:"4",structure:NA}]}}),Ra(me,{...A,type:14,signature:0xa62dc1e1ab682848n,name:"fn (*opaque, []u8, Alignment, usize, usize) ?[*]u8",length:5,instance:{members:[{...r,type:5,bitSize:224,byteSize:28,structure:he}],template:jn},static:{members:[],template:Xn}}),Ra(be,{...A,type:8,flags:204,signature:0x77acf15c3d1d71d3n,name:"*const fn (*opaque, []u8, Alignment, usize, usize) ?[*]u8",byteSize:4,align:4,instance:{members:[{...r,type:5,bitSize:32,byteSize:4,slot:0,structure:me}]}}),Ra(pe,{...A,type:12,flags:14,signature:0x904e42ce696930c2n,name:"Arg(fn (*opaque, []u8, Alignment, usize) void)",length:4,byteSize:20,align:4,instance:{members:[{...r,flags:1,bitOffset:128,bitSize:0,byteSize:0,slot:0,name:"retval",structure:s},{...r,type:5,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:1,name:"0",structure:UA},{...r,type:5,flags:1,bitOffset:32,bitSize:64,byteSize:8,slot:2,name:"1",structure:ue},{...r,type:3,flags:1,bitOffset:128,bitSize:5,byteSize:1,slot:3,name:"2",structure:Qe},{...r,type:3,flags:1,bitOffset:96,bitSize:32,byteSize:4,slot:4,name:"3",structure:NA}]}}),Ra(de,{...A,type:14,signature:0x6d484295c0c3632en,name:"fn (*opaque, []u8, Alignment, usize) void",length:4,instance:{members:[{...r,type:5,bitSize:160,byteSize:20,structure:pe}],template:Wn},static:{members:[],template:$n}}),Ra(we,{...A,type:8,flags:204,signature:0xa160bce25686afaen,name:"*const fn (*opaque, []u8, Alignment, usize) void",byteSize:4,align:4,instance:{members:[{...r,type:5,bitSize:32,byteSize:4,slot:0,structure:de}]}}),Ra(Se,{...A,type:2,flags:14,signature:0x82fdd6a3c2718ac5n,name:"VTable",byteSize:16,align:4,instance:{members:[{...r,type:5,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:0,name:"alloc",structure:Be},{...r,type:5,flags:1,bitOffset:32,bitSize:32,byteSize:4,slot:1,name:"resize",structure:ye},{...r,type:5,flags:1,bitOffset:64,bitSize:32,byteSize:4,slot:2,name:"remap",structure:be},{...r,type:5,flags:1,bitOffset:96,bitSize:32,byteSize:4,slot:3,name:"free",structure:we}],template:Ar}}),Ra(De,{...A,type:8,flags:204,signature:0x032c51cdc1d57444n,name:"*const VTable",byteSize:4,align:4,instance:{members:[{...r,type:5,bitSize:32,byteSize:4,slot:0,structure:Se}]}}),Ra(ve,{...A,flags:9,signature:0x406b8a99e2cc9d59n,name:"type",align:1,instance:{members:[{...r,type:6,bitOffset:0,bitSize:0,byteSize:0,slot:0,structure:ve}]}}),Ra(ze,{...A,type:5,flags:1,signature:0x25c89e63075b428an,name:"ES0",byteSize:2,align:2,instance:{members:[{...r,type:3,bitOffset:0,bitSize:16,byteSize:2,structure:ze}]},static:{members:[{...r,type:5,flags:4,slot:0,name:"OutOfMemory",structure:ze}],template:or}}),Ra(ke,{...A,flags:1,signature:0xcd90723bb6870a4dn,name:"u5",byteSize:1,align:1,instance:{members:[{...r,type:3,bitOffset:0,bitSize:5,byteSize:1,structure:ke}]}}),Ra(xe,{...A,type:12,flags:30,signature:0xfbc5dcd792c9aee9n,name:"Arg(fn (Allocator, usize, Alignment, usize) ?[*]u8)",length:3,byteSize:24,align:4,instance:{members:[{...r,type:5,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:0,name:"retval",structure:RA},{...r,type:5,flags:1,bitOffset:32,bitSize:64,byteSize:8,slot:1,name:"0",structure:Ye},{...r,type:3,flags:1,bitOffset:96,bitSize:32,byteSize:4,slot:2,name:"1",structure:NA},{...r,type:3,flags:1,bitOffset:160,bitSize:5,byteSize:1,slot:3,name:"2",structure:Qe},{...r,type:3,flags:1,bitOffset:128,bitSize:32,byteSize:4,slot:4,name:"3",structure:NA}]}}),Ra(Ge,{...A,type:14,signature:0xa1c6c8ddb44e8aa1n,name:"fn (Allocator, usize, Alignment, usize) ?[*]u8",length:3,instance:{members:[{...r,type:5,bitSize:192,byteSize:24,structure:xe}],template:cr}}),Ra(Me,{...A,type:14,signature:0x3150e96a1cf4fb3en,name:"fn (Allocator, usize, Alignment, usize) ?[*]u8",length:3,instance:{members:[{...r,type:5,bitSize:192,byteSize:24,structure:xe}],template:Qr}}),Ra(Fe,{...A,type:12,flags:30,signature:0x844b7d91572e5617n,name:"Arg(fn (Allocator, []u8, Alignment, usize, usize) bool)",length:4,byteSize:28,align:4,instance:{members:[{...r,type:1,flags:1,bitOffset:192,bitSize:1,byteSize:1,slot:0,name:"retval",structure:ZA},{...r,type:5,flags:1,bitOffset:0,bitSize:64,byteSize:8,slot:1,name:"0",structure:Ye},{...r,type:5,flags:1,bitOffset:64,bitSize:64,byteSize:8,slot:2,name:"1",structure:ue},{...r,type:3,flags:1,bitOffset:200,bitSize:5,byteSize:1,slot:3,name:"2",structure:Qe},{...r,type:3,flags:1,bitOffset:128,bitSize:32,byteSize:4,slot:4,name:"3",structure:NA},{...r,type:3,flags:1,bitOffset:160,bitSize:32,byteSize:4,slot:5,name:"4",structure:NA}]}}),Ra(Ue,{...A,type:14,signature:0xde63f52f14d5bc74n,name:"fn (Allocator, []u8, Alignment, usize, usize) bool",length:4,instance:{members:[{...r,type:5,bitSize:224,byteSize:28,structure:Fe}],template:lr}}),Ra(Je,{...A,type:14,signature:0xbacda0ec6bc94329n,name:"fn (Allocator, []u8, Alignment, usize, usize) bool",length:4,instance:{members:[{...r,type:5,bitSize:224,byteSize:28,structure:Fe}],template:Cr}}),Ra(Le,{...A,type:12,flags:30,signature:0xca4d0a4d3768c190n,name:"Arg(fn (Allocator, []u8, Alignment, usize, usize) ?[*]u8)",length:4,byteSize:32,align:4,instance:{members:[{...r,type:5,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:0,name:"retval",structure:RA},{...r,type:5,flags:1,bitOffset:32,bitSize:64,byteSize:8,slot:1,name:"0",structure:Ye},{...r,type:5,flags:1,bitOffset:96,bitSize:64,byteSize:8,slot:2,name:"1",structure:ue},{...r,type:3,flags:1,bitOffset:224,bitSize:5,byteSize:1,slot:3,name:"2",structure:Qe},{...r,type:3,flags:1,bitOffset:160,bitSize:32,byteSize:4,slot:4,name:"3",structure:NA},{...r,type:3,flags:1,bitOffset:192,bitSize:32,byteSize:4,slot:5,name:"4",structure:NA}]}}),Ra(Ne,{...A,type:14,signature:0x5694954bb4defd4fn,name:"fn (Allocator, []u8, Alignment, usize, usize) ?[*]u8",length:4,instance:{members:[{...r,type:5,bitSize:256,byteSize:32,structure:Le}],template:Br}}),Ra(Re,{...A,type:14,signature:0xef3e466f3864f3f8n,name:"fn (Allocator, []u8, Alignment, usize, usize) ?[*]u8",length:4,instance:{members:[{...r,type:5,bitSize:256,byteSize:32,structure:Le}],template:ur}}),Ra(Oe,{...A,type:12,flags:30,signature:0x8cbf4dbbc76d157cn,name:"Arg(fn (Allocator, []u8, Alignment, usize) void)",length:3,byteSize:24,align:4,instance:{members:[{...r,flags:1,bitOffset:160,bitSize:0,byteSize:0,slot:0,name:"retval",structure:s},{...r,type:5,flags:1,bitOffset:0,bitSize:64,byteSize:8,slot:1,name:"0",structure:Ye},{...r,type:5,flags:1,bitOffset:64,bitSize:64,byteSize:8,slot:2,name:"1",structure:ue},{...r,type:3,flags:1,bitOffset:160,bitSize:5,byteSize:1,slot:3,name:"2",structure:Qe},{...r,type:3,flags:1,bitOffset:128,bitSize:32,byteSize:4,slot:4,name:"3",structure:NA}]}}),Ra(qe,{...A,type:14,signature:0x0c1808e686843fafn,name:"fn (Allocator, []u8, Alignment, usize) void",length:3,instance:{members:[{...r,type:5,bitSize:192,byteSize:24,structure:Oe}],template:Er}}),Ra(Ke,{...A,type:14,signature:0x65e6caa57226340dn,name:"fn (Allocator, []u8, Alignment, usize) void",length:3,instance:{members:[{...r,type:5,bitSize:192,byteSize:24,structure:Oe}],template:fr}}),Ra(Ye,{...A,type:2,flags:270,signature:0x792f7b78d636007fn,name:"Allocator",byteSize:8,align:4,instance:{members:[{...r,type:5,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:0,name:"ptr",structure:UA},{...r,type:5,flags:1,bitOffset:32,bitSize:32,byteSize:4,slot:1,name:"vtable",structure:De}],template:yr},static:{members:[{...r,type:5,flags:2,slot:0,name:"Error",structure:ve},{...r,type:5,flags:2,slot:1,name:"Log2Align",structure:ve},{...r,type:5,flags:2,slot:2,name:"VTable",structure:ve},{...r,type:5,flags:2,slot:3,name:"noResize",structure:fe},{...r,type:5,flags:2,slot:4,name:"noRemap",structure:me},{...r,type:5,flags:2,slot:5,name:"noFree",structure:de},{...r,type:5,flags:18,slot:6,name:"rawAlloc",structure:Ge},{...r,type:5,flags:18,slot:7,name:"rawResize",structure:Ue},{...r,type:5,flags:18,slot:8,name:"rawRemap",structure:Ne},{...r,type:5,flags:18,slot:9,name:"rawFree",structure:qe}],template:pr}}),Ra(_e,{...A,type:12,flags:30,signature:0xd43be71134534ad3n,name:"Arg(fn (Allocator, f32, f32, f32) void)",length:3,byteSize:20,align:4,instance:{members:[{...r,flags:1,bitOffset:160,bitSize:0,byteSize:0,slot:0,name:"retval",structure:s},{...r,type:5,flags:1,bitOffset:0,bitSize:64,byteSize:8,slot:1,name:"0",structure:Ye},{...r,type:4,flags:1,bitOffset:64,bitSize:32,byteSize:4,slot:2,name:"1",structure:a},{...r,type:4,flags:1,bitOffset:96,bitSize:32,byteSize:4,slot:3,name:"2",structure:a},{...r,type:4,flags:1,bitOffset:128,bitSize:32,byteSize:4,slot:4,name:"3",structure:a}]}}),Ra(Pe,{...A,type:14,signature:0x761bf1907c17c1a6n,name:"fn (Allocator, f32, f32, f32) void",length:3,instance:{members:[{...r,type:5,bitSize:160,byteSize:20,structure:_e}],template:Lr}}),Ra(Ve,{...A,type:5,flags:1,signature:0x25c89e63075b428an,name:"ES1",byteSize:2,align:2,instance:{members:[{...r,type:3,bitOffset:0,bitSize:16,byteSize:2,structure:Ve}]},static:{members:[{...r,type:5,flags:4,slot:0,name:"OutOfMemory",structure:Ve}],template:Nr}}),Ra(He,{...A,type:4,flags:1,signature:0x6b7a39b249c617e5n,name:"ES1!void",byteSize:2,align:2,instance:{members:[{...r,bitOffset:16,bitSize:0,byteSize:0,slot:0,structure:s},{...r,type:3,flags:8,bitOffset:0,bitSize:16,byteSize:2,structure:Ve}]}}),Ra(Te,{...A,type:12,flags:42,signature:0x5bb01020d75668f5n,name:"Arg(fn (f32) ES1!void)",length:1,byteSize:8,align:4,instance:{members:[{...r,type:5,flags:1,bitOffset:32,bitSize:16,byteSize:2,slot:0,name:"retval",structure:He},{...r,type:4,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:1,name:"0",structure:a}]}}),Ra(Ze,{...A,type:14,signature:0x13f401b042d16a6cn,name:"fn (f32) ES1!void",length:1,instance:{members:[{...r,type:5,bitSize:64,byteSize:8,structure:Te}],template:Or}}),Ra(je,{...A,type:5,flags:1,signature:0x25c89e63075b428an,name:"ES2",byteSize:2,align:2,instance:{members:[{...r,type:3,bitOffset:0,bitSize:16,byteSize:2,structure:je}]},static:{members:[{...r,type:5,flags:4,slot:0,name:"OutOfMemory",structure:je}],template:qr}}),Ra(Xe,{...A,type:4,flags:1,signature:0x6b7a39b249c617e5n,name:"ES2!void",byteSize:2,align:2,instance:{members:[{...r,bitOffset:16,bitSize:0,byteSize:0,slot:0,structure:s},{...r,type:3,flags:8,bitOffset:0,bitSize:16,byteSize:2,structure:je}]}}),Ra(We,{...A,type:12,flags:42,signature:0xe77c9ddd0c1696ddn,name:"Arg(fn (u32, [4]PointUV, u32) ES2!void)",length:3,byteSize:76,align:4,instance:{members:[{...r,type:5,flags:1,bitOffset:576,bitSize:16,byteSize:2,slot:0,name:"retval",structure:Xe},{...r,type:3,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:1,name:"0",structure:m},{...r,type:5,flags:1,bitOffset:32,bitSize:512,byteSize:64,slot:2,name:"1",structure:IA},{...r,type:3,flags:1,bitOffset:544,bitSize:32,byteSize:4,slot:3,name:"2",structure:m}]}}),Ra($e,{...A,type:14,signature:0xa304643f09351c2an,name:"fn (u32, [4]PointUV, u32) ES2!void",length:3,instance:{members:[{...r,type:5,bitSize:608,byteSize:76,structure:We}],template:Yr}}),Ra(At,{...A,type:5,flags:1,signature:0x25c89e63075b428an,name:"ES3",byteSize:2,align:2,instance:{members:[{...r,type:3,bitOffset:0,bitSize:16,byteSize:2,structure:At}]},static:{members:[{...r,type:5,flags:4,slot:0,name:"OutOfMemory",structure:At}],template:_r}}),Ra(et,{...A,type:4,flags:1,signature:0x6b7a39b249c617e5n,name:"ES3!void",byteSize:2,align:2,instance:{members:[{...r,bitOffset:16,bitSize:0,byteSize:0,slot:0,structure:s},{...r,type:3,flags:8,bitOffset:0,bitSize:16,byteSize:2,structure:At}]}}),Ra(tt,{...A,type:12,flags:42,signature:0xd958a5eaf8a8097an,name:"Arg(fn () ES3!void)",length:0,byteSize:2,align:2,instance:{members:[{...r,type:5,flags:1,bitOffset:0,bitSize:16,byteSize:2,slot:0,name:"retval",structure:et}]}}),Ra(it,{...A,type:14,signature:0x73c032fe09668bden,name:"fn () ES3!void",length:0,instance:{members:[{...r,type:5,bitSize:16,byteSize:2,structure:tt}],template:Vr}}),Ra(nt,{...A,type:5,flags:1,signature:0x25c89e63075b428an,name:"ES4",byteSize:2,align:2,instance:{members:[{...r,type:3,bitOffset:0,bitSize:16,byteSize:2,structure:nt}]},static:{members:[{...r,type:5,flags:4,slot:0,name:"OutOfMemory",structure:nt}],template:Hr}}),Ra(rt,{...A,type:4,flags:1,signature:0x6b7a39b249c617e5n,name:"ES4!void",byteSize:2,align:2,instance:{members:[{...r,bitOffset:16,bitSize:0,byteSize:0,slot:0,structure:s},{...r,type:3,flags:8,bitOffset:0,bitSize:16,byteSize:2,structure:nt}]}}),Ra(st,{...A,type:12,flags:62,signature:0x3fb768c112e58843n,name:"Arg(fn (Allocator, f32, f32) ES4!void)",length:2,byteSize:20,align:4,instance:{members:[{...r,type:5,flags:1,bitOffset:128,bitSize:16,byteSize:2,slot:0,name:"retval",structure:rt},{...r,type:5,flags:1,bitOffset:0,bitSize:64,byteSize:8,slot:1,name:"0",structure:Ye},{...r,type:4,flags:1,bitOffset:64,bitSize:32,byteSize:4,slot:2,name:"1",structure:a},{...r,type:4,flags:1,bitOffset:96,bitSize:32,byteSize:4,slot:3,name:"2",structure:a}]}}),Ra(at,{...A,type:14,signature:0xf55fdf915ebb0439n,name:"fn (Allocator, f32, f32) ES4!void",length:2,instance:{members:[{...r,type:5,bitSize:160,byteSize:20,structure:st}],template:Zr}}),Ra(gt,{...A,type:5,flags:1,signature:0x25c89e63075b428an,name:"ES5",byteSize:2,align:2,instance:{members:[{...r,type:3,bitOffset:0,bitSize:16,byteSize:2,structure:gt}]},static:{members:[{...r,type:5,flags:4,slot:0,name:"OutOfMemory",structure:gt}],template:jr}}),Ra(ot,{...A,type:4,flags:1,signature:0x6b7a39b249c617e5n,name:"ES5!void",byteSize:2,align:2,instance:{members:[{...r,bitOffset:16,bitSize:0,byteSize:0,slot:0,structure:s},{...r,type:3,flags:8,bitOffset:0,bitSize:16,byteSize:2,structure:gt}]}}),Ra(It,{...A,type:12,flags:42,signature:0xd958a5eaf8a8097an,name:"Arg(fn () ES5!void)",length:0,byteSize:2,align:2,instance:{members:[{...r,type:5,flags:1,bitOffset:0,bitSize:16,byteSize:2,slot:0,name:"retval",structure:ot}]}}),Ra(ct,{...A,type:14,signature:0x73c032fe09668bden,name:"fn () ES5!void",length:0,instance:{members:[{...r,type:5,bitSize:16,byteSize:2,structure:It}],template:Wr}}),Ra(Qt,{...A,type:12,signature:0xb1afac27f34003f4n,name:"Arg(fn (f32, f32) void)",length:2,byteSize:8,align:4,instance:{members:[{...r,flags:1,bitOffset:64,bitSize:0,byteSize:0,slot:0,name:"retval",structure:s},{...r,type:4,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:1,name:"0",structure:a},{...r,type:4,flags:1,bitOffset:32,bitSize:32,byteSize:4,slot:2,name:"1",structure:a}]}}),Ra(lt,{...A,type:14,signature:0x63bac1760494db20n,name:"fn (f32, f32) void",length:2,instance:{members:[{...r,type:5,bitSize:64,byteSize:8,structure:Qt}],template:$r}}),Ra(Ct,{...A,type:5,flags:1,signature:0x25c89e63075b428an,name:"ES6",byteSize:2,align:2,instance:{members:[{...r,type:3,bitOffset:0,bitSize:16,byteSize:2,structure:Ct}]},static:{members:[{...r,type:5,flags:4,slot:0,name:"OutOfMemory",structure:Ct}],template:As}}),Ra(Bt,{...A,type:4,flags:1,signature:0x6b7a39b249c617e5n,name:"ES6!void",byteSize:2,align:2,instance:{members:[{...r,bitOffset:16,bitSize:0,byteSize:0,slot:0,structure:s},{...r,type:3,flags:8,bitOffset:0,bitSize:16,byteSize:2,structure:Ct}]}}),Ra(ut,{...A,type:12,flags:42,signature:0xd958a5eaf8a8097an,name:"Arg(fn () ES6!void)",length:0,byteSize:2,align:2,instance:{members:[{...r,type:5,flags:1,bitOffset:0,bitSize:16,byteSize:2,slot:0,name:"retval",structure:Bt}]}}),Ra(Et,{...A,type:14,signature:0x73c032fe09668bden,name:"fn () ES6!void",length:0,instance:{members:[{...r,type:5,bitSize:16,byteSize:2,structure:ut}],template:ts}}),Ra(ft,{...A,type:5,flags:1,signature:0x25c89e63075b428an,name:"ES7",byteSize:2,align:2,instance:{members:[{...r,type:3,bitOffset:0,bitSize:16,byteSize:2,structure:ft}]},static:{members:[{...r,type:5,flags:4,slot:0,name:"OutOfMemory",structure:ft}],template:is}}),Ra(yt,{...A,type:4,flags:1,signature:0x6b7a39b249c617e5n,name:"ES7!void",byteSize:2,align:2,instance:{members:[{...r,bitOffset:16,bitSize:0,byteSize:0,slot:0,structure:s},{...r,type:3,flags:8,bitOffset:0,bitSize:16,byteSize:2,structure:ft}]}}),Ra(ht,{...A,type:12,flags:42,signature:0xd958a5eaf8a8097an,name:"Arg(fn () ES7!void)",length:0,byteSize:2,align:2,instance:{members:[{...r,type:5,flags:1,bitOffset:0,bitSize:16,byteSize:2,slot:0,name:"retval",structure:yt}]}}),Ra(mt,{...A,type:14,signature:0x73c032fe09668bden,name:"fn () ES7!void",length:0,instance:{members:[{...r,type:5,bitSize:16,byteSize:2,structure:ht}],template:rs}}),Ra(bt,{...A,type:5,flags:1,signature:0x25c89e63075b428an,name:"ES8",byteSize:2,align:2,instance:{members:[{...r,type:3,bitOffset:0,bitSize:16,byteSize:2,structure:bt}]},static:{members:[{...r,type:5,flags:4,slot:0,name:"OutOfMemory",structure:bt}],template:ss}}),Ra(pt,{...A,type:4,flags:1,signature:0x6b7a39b249c617e5n,name:"ES8!void",byteSize:2,align:2,instance:{members:[{...r,bitOffset:16,bitSize:0,byteSize:0,slot:0,structure:s},{...r,type:3,flags:8,bitOffset:0,bitSize:16,byteSize:2,structure:bt}]}}),Ra(dt,{...A,type:12,flags:42,signature:0xd958a5eaf8a8097an,name:"Arg(fn () ES8!void)",length:0,byteSize:2,align:2,instance:{members:[{...r,type:5,flags:1,bitOffset:0,bitSize:16,byteSize:2,slot:0,name:"retval",structure:pt}]}}),Ra(wt,{...A,type:14,signature:0x73c032fe09668bden,name:"fn () ES8!void",length:0,instance:{members:[{...r,type:5,bitSize:16,byteSize:2,structure:dt}],template:gs}}),Ra(St,{...A,type:5,flags:1,signature:0x25c89e63075b428an,name:"ES9",byteSize:2,align:2,instance:{members:[{...r,type:3,bitOffset:0,bitSize:16,byteSize:2,structure:St}]},static:{members:[{...r,type:5,flags:4,slot:0,name:"OutOfMemory",structure:St}],template:os}}),Ra(Dt,{...A,type:4,flags:1,signature:0x6b7a39b249c617e5n,name:"ES9!void",byteSize:2,align:2,instance:{members:[{...r,bitOffset:16,bitSize:0,byteSize:0,slot:0,structure:s},{...r,type:3,flags:8,bitOffset:0,bitSize:16,byteSize:2,structure:St}]}}),Ra(vt,{...A,type:12,flags:46,signature:0x5f0fe95343834fecn,name:"Arg(fn ([]const Serialized, bool) ES9!void)",length:2,byteSize:12,align:4,instance:{members:[{...r,type:5,flags:1,bitOffset:64,bitSize:16,byteSize:2,slot:0,name:"retval",structure:Dt},{...r,type:5,flags:1,bitOffset:0,bitSize:64,byteSize:8,slot:1,name:"0",structure:lA},{...r,type:1,flags:1,bitOffset:80,bitSize:1,byteSize:1,slot:2,name:"1",structure:ZA}]}}),Ra(zt,{...A,type:14,signature:0x7dcebd98ea82b936n,name:"fn ([]const Serialized, bool) ES9!void",length:2,instance:{members:[{...r,type:5,bitSize:96,byteSize:12,structure:vt}],template:cs}}),Ra(kt,{...A,type:9,flags:64,signature:0x9212e6749825a514n,name:"[_]f32",byteSize:4,align:4,instance:{members:[{...r,type:4,bitSize:32,byteSize:4,structure:a}]}}),Ra(xt,{...A,type:8,flags:188,signature:0xfc4e3831fa228a2en,name:"[]const f32",byteSize:8,align:4,instance:{members:[{...r,type:5,bitSize:64,byteSize:8,slot:0,structure:kt}]}}),Ra(Gt,{...A,type:12,flags:14,signature:0x0292a02ab8f8020cn,name:"Arg(fn ([]const f32) void)",length:1,byteSize:8,align:4,instance:{members:[{...r,flags:1,bitOffset:64,bitSize:0,byteSize:0,slot:0,name:"retval",structure:s},{...r,type:5,flags:1,bitOffset:0,bitSize:64,byteSize:8,slot:1,name:"0",structure:xt}]}}),Ra(Mt,{...A,type:14,signature:0x47389ea7e1d3d337n,name:"fn ([]const f32) void",length:1,instance:{members:[{...r,type:5,bitSize:64,byteSize:8,structure:Gt}],template:Qs}}),Ra(Ft,{...A,type:5,flags:1,signature:0x25c89e63075b428an,name:"ES10",byteSize:2,align:2,instance:{members:[{...r,type:3,bitOffset:0,bitSize:16,byteSize:2,structure:Ft}]},static:{members:[{...r,type:5,flags:4,slot:0,name:"OutOfMemory",structure:Ft}],template:ls}}),Ra(Ut,{...A,type:4,flags:1,signature:0x6b7a39b249c617e5n,name:"ES10!void",byteSize:2,align:2,instance:{members:[{...r,bitOffset:16,bitSize:0,byteSize:0,slot:0,structure:s},{...r,type:3,flags:8,bitOffset:0,bitSize:16,byteSize:2,structure:Ft}]}}),Ra(Jt,{...A,type:6,flags:1,signature:0x9ebf0e3a55069528n,name:"Tool",byteSize:1,align:1,instance:{members:[{...r,type:3,bitOffset:0,bitSize:1,byteSize:1,structure:Jt}]},static:{members:[{...r,type:5,flags:4,slot:0,name:"None",structure:Jt},{...r,type:5,flags:4,slot:1,name:"DrawShape",structure:Jt}],template:Bs}}),Ra(Lt,{...A,type:12,flags:42,signature:0x87df1d6f0819619en,name:"Arg(fn (Tool) ES10!void)",length:1,byteSize:4,align:2,instance:{members:[{...r,type:5,flags:1,bitOffset:0,bitSize:16,byteSize:2,slot:0,name:"retval",structure:Ut},{...r,type:3,flags:1,bitOffset:16,bitSize:1,byteSize:1,slot:1,name:"0",structure:Jt}]}}),Ra(Nt,{...A,type:14,signature:0xfd284c5d6ec70f46n,name:"fn (Tool) ES10!void",length:1,instance:{members:[{...r,type:5,bitSize:32,byteSize:4,structure:Lt}],template:fs}}),Ra(Rt,{...A,type:5,flags:1,signature:0x25c89e63075b428an,name:"ES11",byteSize:2,align:2,instance:{members:[{...r,type:3,bitOffset:0,bitSize:16,byteSize:2,structure:Rt}]},static:{members:[{...r,type:5,flags:4,slot:0,name:"OutOfMemory",structure:Rt}],template:ys}}),Ra(Ot,{...A,type:4,flags:1,signature:0x6b7a39b249c617e5n,name:"ES11!void",byteSize:2,align:2,instance:{members:[{...r,bitOffset:16,bitSize:0,byteSize:0,slot:0,structure:s},{...r,type:3,flags:8,bitOffset:0,bitSize:16,byteSize:2,structure:Rt}]}}),Ra(qt,{...A,type:1,flags:10,signature:0xdad9d201b8d5c9b5n,name:"[4]Point",length:4,byteSize:32,align:4,instance:{members:[{...r,type:5,bitSize:64,byteSize:8,structure:C}]}}),Ra(Kt,{...A,type:9,flags:10,signature:0x9b9c01002975271fn,name:"[_][4]Point",byteSize:32,align:4,instance:{members:[{...r,type:5,bitSize:256,byteSize:32,structure:qt}]}}),Ra(Yt,{...A,type:8,flags:188,signature:0x40bb9abc611262cen,name:"[]const [4]Point",byteSize:8,align:4,instance:{members:[{...r,type:5,bitSize:64,byteSize:8,slot:0,structure:Kt}]}}),Ra(_t,{...A,type:9,flags:14,signature:0x7a657b2cbd904362n,name:"[_][]const [4]Point",byteSize:8,align:4,instance:{members:[{...r,type:5,bitSize:64,byteSize:8,structure:Yt}]}}),Ra(Pt,{...A,type:8,flags:188,signature:0x4f4b1e60a039c441n,name:"[]const []const [4]Point",byteSize:8,align:4,instance:{members:[{...r,type:5,bitSize:64,byteSize:8,slot:0,structure:_t}]}}),Ra(Vt,{...A,type:2,flags:4106,signature:0x19c171c6cb7748afn,name:"ShapeProps",byteSize:36,align:4,instance:{members:[{...r,type:5,bitOffset:0,bitSize:128,byteSize:16,slot:0,name:"fill_color",structure:J},{...r,type:5,bitOffset:128,bitSize:128,byteSize:16,slot:1,name:"stroke_color",structure:J},{...r,type:4,bitOffset:256,bitSize:32,byteSize:4,slot:2,name:"stroke_width",structure:a}],template:ms}}),Ra(Ht,{...A,type:12,flags:46,signature:0xaee11af771b7adc0n,name:"Arg(fn ([]const []const [4]Point, ShapeProps) ES11!void)",length:2,byteSize:48,align:4,instance:{members:[{...r,type:5,flags:1,bitOffset:352,bitSize:16,byteSize:2,slot:0,name:"retval",structure:Ot},{...r,type:5,flags:1,bitOffset:0,bitSize:64,byteSize:8,slot:1,name:"0",structure:Pt},{...r,type:5,flags:1,bitOffset:64,bitSize:288,byteSize:36,slot:2,name:"1",structure:Vt}]}}),Ra(Tt,{...A,type:14,signature:0x185e378cc11e1cf5n,name:"fn ([]const []const [4]Point, ShapeProps) ES11!void",length:2,instance:{members:[{...r,type:5,bitSize:384,byteSize:48,structure:Ht}],template:bs}}),Ra(Zt,{...A,type:2,flags:4096,signature:0x239ab4f327f6ac1bn,name:"index",align:1,static:{members:[{...r,type:5,flags:2,slot:0,name:"connect_web_gpu_programs",structure:oA},{...r,type:5,flags:2,slot:1,name:"connect_on_asset_update_callback",structure:fA},{...r,type:5,flags:2,slot:2,name:"connect_on_asset_selection_callback",structure:pA},{...r,type:5,flags:2,slot:3,name:"connect_cache_callbacks",structure:MA},{...r,type:5,flags:2,slot:4,name:"ASSET_ID_TRESHOLD",structure:m},{...r,type:5,flags:2,slot:5,name:"init_state",structure:Pe},{...r,type:5,flags:2,slot:6,name:"update_render_scale",structure:Ze},{...r,type:5,flags:2,slot:7,name:"add_asset",structure:$e},{...r,type:5,flags:2,slot:8,name:"remove_asset",structure:it},{...r,type:5,flags:2,slot:9,name:"on_update_pick",structure:hA},{...r,type:5,flags:2,slot:10,name:"on_pointer_down",structure:at},{...r,type:5,flags:2,slot:11,name:"on_pointer_up",structure:ct},{...r,type:5,flags:2,slot:12,name:"on_pointer_move",structure:lt},{...r,type:5,flags:2,slot:13,name:"on_pointer_leave",structure:Et},{...r,type:5,flags:2,slot:14,name:"commit_changes",structure:mt},{...r,type:5,flags:2,slot:15,name:"render_draw",structure:wt},{...r,type:5,flags:2,slot:16,name:"render_pick",structure:kA},{...r,type:5,flags:2,slot:17,name:"reset_assets",structure:zt},{...r,type:5,flags:2,slot:18,name:"destroy_state",structure:kA},{...r,type:5,flags:2,slot:19,name:"import_icons",structure:Mt},{...r,type:5,flags:2,slot:20,name:"set_tool",structure:Nt},{...r,type:5,flags:2,slot:21,name:"stop_drawing_shape",structure:kA},{...r,type:5,flags:2,slot:22,name:"add_shape",structure:Tt}],template:ps}});const Oa=[s,a,g,o,I,c,Q,l,C,B,u,E,f,y,h,m,b,p,d,w,S,D,v,z,k,x,G,M,F,U,J,L,N,R,O,q,K,Y,_,P,V,H,T,Z,j,X,W,$,AA,eA,tA,iA,nA,rA,sA,aA,gA,oA,IA,cA,QA,lA,CA,BA,uA,EA,fA,yA,hA,mA,bA,pA,dA,wA,SA,DA,vA,zA,kA,xA,GA,MA,FA,UA,JA,LA,NA,RA,OA,qA,KA,YA,_A,PA,VA,HA,TA,ZA,jA,XA,WA,$A,Ae,ee,te,ie,ne,re,se,ae,ge,oe,Ie,ce,Qe,le,Ce,Be,ue,Ee,fe,ye,he,me,be,pe,de,we,Se,De,ve,ze,ke,xe,Ge,Me,Fe,Ue,Je,Le,Ne,Re,Oe,qe,Ke,Ye,_e,Pe,Ve,He,Te,Ze,je,Xe,We,$e,At,et,tt,it,nt,rt,st,at,gt,ot,It,ct,Qt,lt,Ct,Bt,ut,Et,ft,yt,ht,mt,bt,pt,dt,wt,St,Dt,vt,zt,kt,xt,Gt,Mt,Ft,Ut,Jt,Lt,Nt,Rt,Ot,qt,Kt,Yt,_t,Pt,Vt,Ht,Tt,Zt],qa=Zt,Ka={runtimeSafety:!1,littleEndian:!0,libc:!1},Ya=(0,n.M)();Ya.recreateStructures(Oa,Ka);const _a=(async()=>{const A=atob("AGFzbQEAAAABiQInYAJ/fwBgBX9/f39/AGAEf39/fwF/YAN/f38AYAZ/f39/f38Bf2AEf399fQF/YAAAYAF/AGAEf319fQBgAX0Bf2ADf39/AX9gAAF/YAN/fX0Bf2ACfX0AYAF/AX9gAn9/AX1gAn9/AX9gBH9/f38AYAR/f35/AGAFf319fX8AYAV9fX19fQF9YAZ/f39/f38AYAJ9fQF9YAZ/f399f30AYAV/f399fQBgBn99fX19fwBgBH9/f30AYAF9AX1gAX8BfmAFf399fX8Bf2AHf39/f39/fwF/YAV/f39/fwF/YAV/fn5+fgBgAn98AGACfH8BfGABfAF/YAF8AX1gAn1/AX9gA3x8fAF8AoQBBgNlbnYGbWVtb3J5AgAFA2VudhlfX2luZGlyZWN0X2Z1bmN0aW9uX3RhYmxlAXAA1gIDZW52DV9kaXNwbGF5UGFuaWMAAANlbnYNX2hhbmRsZUpzQ2FsbAACA2VudhBfYWxsb2NhdGVKc1RodW5rABADZW52DF9mcmVlSnNUaHVuawAQA78DvQMGCwcHBwAICQoLBwwLDQsLCwYKBgAOBgoQEAABExQBAwMKCg4PBxAODgMHAw4OAQMDBwMLDg4HFRUVABYQAxcYAQoBAwMZGgAAFwMDBgMDAxYbDg4QDgAQDgoQEBAQEAQEAQIKBAQBAw8DAQccEBAREBAREBAQEBAQERAQEBEQEBACBAQBBwAHBwcHBwcHBwcHBwcHBwcGBwYGBgYGBgYGBgYGBgYGBhAREBEQERARChwQEREQERAREREQEBAQEBAAAwAAAAAAAAAAAAAAAAAAAAUdBQUFBQUFBQUFBQUFBQUFBB4EBAQEBAQEBAQEBAQEBAQEHgQEBAQEBAQEBAQEBAQEBAEVAQEBAQEBAQEBAQEBAQEBEBAQEBAQEAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEVAQEBAQEBAQEBAQEBAQEBAxEDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAAAAAAAAAAAAAAIfAgICAgICAgICAgICAgICEBAQEBAQEAYQBwICBAQEBAEDCh8QEAcGCwIOBAQBICEiFiMbJCQlHxsmFhsbBggBfwFBgIAQCwe4AQoPZ2V0RmFjdG9yeVRodW5rAAUKaW5pdGlhbGl6ZQCbAxVhbGxvY2F0ZVNjcmF0Y2hNZW1vcnkAnAMRZnJlZVNjcmF0Y2hNZW1vcnkApQMIcnVuVGh1bmsApgMQcnVuVmFyaWFkaWNUaHVuawCnAw1jcmVhdGVKc1RodW5rAKgDDmRlc3Ryb3lKc1RodW5rAKkDC2ZsdXNoU3Rkb3V0AKsDE2dldE1vZHVsZUF0dHJpYnV0ZXMArAMIAQQJ8gQBAEEBC9UCAAYHCAkKCwwNDg8QERITFBUWFxgZGhtxcnN0dXZ3eHl6e3x9fn+AAYEBggGDAYQBtQG2AbcBuAG5AboBuwG8Ab0BY2RlhQGGAYcBiAFSKFMeqwGsAa0BrgGvAbABsQGyAb4BvwHAAcEBbFZXWF1eX2BhYsIBwwGZApoCmwKcAp0CngKfAllaW1yUA5UDlgOXA5gDmQOaA60DrwOwA7EDZmhpaokBiwGMAY0BjgGPAZABkQGSAZMBlAGVAZYBlwGYAZkBmgGcAZ0BngGfAaABoQGiAaMBpAGlAaYBpwGoAakBqgHEAcYBxwHIAckBygHLAcwBzQHOAc8B0AHRAdIB0wHUAdUB1wHYAdkB2gHbAdwB3QHeAd8B4AHhAeIB4wHkAeUB5gHoAekB6gHrAewB7QHuAe8B8AHxAfIB8wH0AfUB9gH3AfkB+gH7AfwB/QH+Af8BgAKBAoICgwKEAoUChgKHAogCigKLAowCjQKOAo8CkAKRApICkwKUApUClgKXApgCoAKiAqMCpAKlAqYCpwKoAqkCqgKrAqwCrQKuAq8CsAKxArICswK0ArUCtgK3ArgCuQK6ArsCvAK9Ar4CvwLAAsECwwLEAsUCxgLHAsgCyQLKAssCzALNAs4CzwLQAtEC0gLUAtUC1gLXAtgC2QLaAtsC3ALdAt4C3wLgAuEC4gLjAuQC5QLmAucC6ALpAuoC6wLsAu0C7gLvAvAC8QLyAvMC9AL1AvYC9wL4AvkC+gL7AvwC/QL+Av8CgAOBA4IDgwOFA4YDhwOIA4kDigOLA4wDjQOOA48DkAORA5IDkwOeA6ADogOkAwq3nwO9Aw4AQaizEEEAQYQJ/AsACwQAQQELCwBBACAANgK0sxALCwBBACAANgKosxALCwBBACAANgKwsxALFABBACABNgK8sxBBACAANgK4sxALPQBBAEIANwLMshBBACACOALIshBBACABOALE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ACgC0LIQIQ9BACEBAkACQANAAkACQAJAIAEgD0YNACABQQFqIRAgAiABQZQBbGoiASgCRCERIAEtAJABQQFxDQIgAEEgaiABQcQA/AoAACAAIBE2AmQgAEHoAGohEkFoIQEDQCABRQ0CIBIgDiABQcSNEGooAgBBBHRqIhMpAgA3AgAgEkEIaiATQQhqKQIANwIAIAFBBGohASASQRBqIRIMAAsLIABBACoCyLIQIhQ4ApQJIABBADYCkAkgACAUOAKMCSAAQQAqAsSyECIUOAKICSAAQQA2AoQJIAAgFDgCgAkgAEIANwP4CEEAIQEDQCABQQRGDQQgACAAQfgIaiABQQN0aikDADcD+AcCQAJAIAFBA0cNACAAQgA3A7AlIABBsCVqIRJBBCETDAELIAAgAEH4CGogAUEBaiITQQN0aikDADcDkAYgAEGQBmohEgsgAEHgCmogAUEHdGogAEH4B2ogEkEAKgLAshAiFCAUkkHsjBBDAAAAABBCIBMhAQwACwsgAEHoAGogEUEAKAK0sxAoAgARAAAgECEBDAELIAEoAnwhEyABLQCAASESIABByAFqIAFBxAD8CgAAIA0gAUHIAGpBNPwKAAAgDEECaiABQYMBai0AADoAACAMIAEvAIEBOwAAIAsgASkChAE3AgAgC0EIaiABQYwBaigCADYCACAAIBI6AMgCIAAgEzYCxAIgACARNgKMAgJAIBJFDQAgCSABKQJMNwIAIAggASkCXCIVNwIAIAcgFTcCACAGIAEpAmw3AgAgAEHgCmpBCGogCkEIaiISKQIANwMAIAlBCGogAUHUAGopAgA3AgAgCEEIaiABQeQAaikCACIVNwIAIAdBCGogFTcCACAGQQhqIAFB9ABqKQIANwIAIAAgCikCADcD4AogBUEIaiASKQIANwIAIAUgCikCADcCACAAQdgCaiAAQeAKakHgAPwKAAAgAEHYAmogE0EAKAK0sxAoAgARAAAgECEBDAELIABBuANqIABByAFqIABBGGpB9LIQQfyyEBAfIAAvAaQEIhYNAiAQIQEgAC0AoARFDQAgAEGoBGogAEG4A2pB6AD8CgAAIABBkAVqIABBuANqQegA/AoAACAAKAKoBCAAKAKsBCAEQQYgA0EAKAK0sxAoAggRAQAgECEBDAALC0EAIRYgAEHgCmpBCEEAKAK0sxAo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DSAIQRB2IgpJDQAgDiAJOwECIA4gBzsBACAIIQcgCiEFDAALCyAJQQFqIQkgBEEBaiEEDAALCyADLQAAQQFxDQELIAUgADYCAAsgBCABQZQB/AoAAEEAIQQLIAJBMGokACAEC7ACAwN/AX4DfyMAQSBrIgEkAEEAIQICQEEAKALUshAiAyAATw0AA0BBfyADQQF2IANqQQFqIgIgAiADSRsiAyAASQ0ACyABQQApAtyyECIENwMAIAFBDGogASADQZgBbBAtIAEvARQiAg0AIAEoAgwhAAJAAkBBACgC0LIQIgUNACABIAQ3AxggAUEYakEAKALMshBBACgC1LIQQZgBbBBRDAELIABBACgCzLIQIgZBqtWq1XpBACgC1LIQIgcbIAVBAnT8CgAAIAAgA0ECdGogBiAHQQJ0akGq1arVeiAHGyAFQZQBbPwKAAAgASAENwMYIAFBGGpBACgCzLIQQQAoAtSyEEGYAWwQUUEAIAU2AtCyEAtBACADNgLUshBBACAANgLMshALIAFBIGokACACCyUAQQJBA0EAIABB/wFxIgBBEUkbIABBCUkbQQJ0QZibEGooAgALnAECAX8BfiMAQTBrIgMkACADIAEpAgA3AxgCQAJAAkACQEEBDQBBCCEBDAELIANBIGogA0EYaiACEEEgAykDICIEQiCIpyIBQf//A3FFDQELIAMgATsBCCADIQEMAQsgAyACNgIQIAMgBD4CDCADQQA7ARQgA0EMaiEBCyAAIAEpAgA3AgAgAEEIaiABQQhqKAIANgIAIANBMGokAAs4AQJ/IwBBEGsiASQAIAFBACkC3LIQNwMIIAFBCGogACAALQAAIgIQLCACdEEEahBRIAFBEGokAAv6AwIHfwJ+IwBBIGsiAyQAIAEoAgQhBCABKAIAIQUgASgCCCEGAkACQAJAAkACQAJAIAEoAgwiAUUNACABQQRqIQdBASABLQAAIgh0IQlBAEEBQQIgCEERSRsgCEEJSRsOAwECAwELIAZFDQNBACEBA0AgBCABRg0EAkAgBSgCACACRw0AIABBAToABCAAIAE2AgAMBgsgBUEEaiEFIAFBAWohAQwACwsgAyABNgIUIAMgBjYCECADIAQ2AgwgAyAFNgIIIANBGGogA0EIaiACIAEgByAJEDsCQAJAIAMtABwNAEIAIQpCACELDAELIAcg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ACABKAIAIAEoAgQgABEAAEEAC9sBAQF/IwBBEGsiBCQAAkACQCACDQBBQCECA0ACQCACDQBBxJgQIQIMAwsCQCACQZi1EGooAgANACACQZi1EGogAzYCACAEQQA7AQQgBCACQaSSEGooAgA2AgAgBCECDAMLIAJBBGohAgwACwtBQCECA0ACQCACDQBBzJgQIQIMAgsCQCACQaSSEGooAgAgA0cNACACQZi1EGoiAigCACEDIAJBADYCACAEQQA7AQwgBCADNgIIIARBCGohAgwCCyACQQRqIQIMAAsLIAAgAikCADcCACAEQRBqJAALDgAgASgCACAAEQcAQQALaQIBfwJ9IwBBIGsiAiQAIAJBEGogAUEUaikCADcDACACIAEpAgQ3AwAgAiABKQIMNwMIIAIgASoCHCIDOAIYIAIgASoCICIEOAIcIAEgAiACQQhqIAMgBCAAEQUANgIAIAJBIGokAEEAC9sBAQF/IwBBEGsiBCQAAkACQCACDQBBQCECA0ACQCACDQBBxJgQIQIMAwsCQCACQdi1EGooAgANACACQdi1EGogAzYCACAEQQA7AQQgBCACQeSSEGooAgA2AgAgBCECDAMLIAJBBGohAgwACwtBQCECA0ACQCACDQBBzJgQIQIMAgsCQCACQeSSEGooAgAgA0cNACACQdi1EGoiAigCACEDIAJBADYCACAEQQA7AQwgBCADNgIIIARBCGohAgwCCyACQQRqIQIMAAsLIAAgAikCADcCACAEQRBqJAALEwAgASgCACABKAIEIAARAABBAAtWAgF/A30jAEEgayICJAAgAiABKQIANwMIIAIgASoCCCIDOAIQIAIgASoCDCIEOAIUIAIgASoCECIFOAIYIAJBCGogAyAEIAUgABEIACACQSBqJABBAAsTACABIAEqAgAgABEJADsBBEEAC1YBBH8jAEHQAGsiAiQAIAIgASgCACIDNgIIIAJBCGpBBGoiBCABQQRqQcAA/AoAACACIAEoAkQiBTYCTCABIAMgBCAFIAARCgA7AUggAkHQAGokAEEACw4AIAEgABELADsBAEEACw4AIAEoAgAgABEHAEEAC9sBAQF/IwBBEGsiBCQAAkACQCACDQBBQCECA0ACQCACDQBBxJgQIQIMAwsCQCACQZi0EGooAgANACACQZi0EGogAzYCACAEQQA7AQQgBCACQaiPEGooAgA2AgAgBCECDAMLIAJBBGohAgwACwtBQCECA0ACQCACDQBBzJgQIQIMAgsCQCACQaiPEGooAgAgA0cNACACQZi0EGoiAigCACEDIAJBADYCACAEQQA7AQwgBCADNgIIIARBCGohAgwCCyACQQRqIQIMAAsLIAAgAikCADcCACAEQRBqJAALSgIBfwJ9IwBBEGsiAiQAIAIgASkCADcDACACIAEqAggiAzgCCCACIAEqAgwiBDgCDCABIAIgAyAEIAARDAA7ARAgAkEQaiQAQQALEwAgASoCACABKgIEIAARDQBBAAsJACAAEQYAQQAL2wEBAX8jAEEQayIEJAACQAJAIAINAEFAIQIDQAJAIAINAEHEmBAhAgwDCwJAIAJB2LQQaigCAA0AIAJB2LQQaiADNgIAIARBADsBBCAEIAJB6I8QaigCADYCACAEIQIMAwsgAkEEaiECDAALC0FAIQIDQAJAIAINAEHMmBAhAgwCCwJAIAJB6I8QaigCACADRw0AIAJB2LQQaiICKAIAIQMgAkEANgIAIARBADsBDCAEIAM2AgggBEEIaiECDAILIAJBBGohAgwACwsgACACKQIANwIAIARBEGokAAsdACABIAEoAgAgASgCBCABLQAKIAARCgA7AQhBAAsxAQJ/IwBBEGsiAiQAIAIgAS0AAkEBcSIDOgAPIAEgAyAAEQ4AOwEAIAJBEGokAEEAC1MBBH8jAEEwayICJAAgAiABKAIEIgM2AgggAiABKAIAIgQ2AgQgAkEEakEIaiIFIAFBCGpBJPwKAAAgASAEIAMgBSAAEQoAOwEsIAJBMGokAEEACzoBAX8jAEEQayIEJAAgBCACQR9xIgI6AAwgACgCACABIAIgAyAAKAIEKAIAEQIAIQAgBEEQaiQAIAALPgEBfyMAQRBrIgYkACAGIANBH3EiAzoADCAAKAIAIAEgAiADIAQgBSAAKAIEKAIEEQQAIQAgBkEQaiQAIAALPgEBfyMAQRBrIgYkACAGIANBH3EiAzoADCAAKAIAIAEgAiADIAQgBSAAKAIEKAIIEQQAIQAgBkEQaiQAIAALOAEBfyMAQRBrIgUkACAFIANBH3EiAzoADCAAKAIAIAEgAiADIAQgACgCBCgCDBEBACAFQRBqJAALDgAgAEEAKALYsxAQigELVgEBfyMAQRBrIgIkACACIAA2AgwCQAJAAkACQCABIAJBDGpBBBCzAQ4EAAMBAgALIAJBEGokAA8LQbCLEEEiED4AC0GVixBBGhA+AAtB+ooQQRoQPgALDgAgAEEAKALcsxAQigELDgAgAEEAKALgsxAQigELDgAgAEEAKALksxAQigELDgAgAEEAKALosxAQigELDgAgAEEAKALssxAQigELDgAgAEEAKALwsxAQigELDgAgAEEAKAL0sxAQigELDgAgAEEAKAL4sxAQigELDgAgAEEAKAL8sxAQigELDgAgAEEAKAKAtBAQigELDgAgAEEAKAKEtBAQigELDgAgAEEAKAKItBAQigELDgAgAEEAKAKMtBAQigELDgAgAEEAKAKQtBAQigELDgAgAEEAKAKUtBAQigELDABBACgCmLQQEJsBCz4AAkACQAJAAkAgAEGq1arVekEAELMBDgQAAwECAAsPC0GwixBBIhA+AAtBlYsQQRoQPgALQfqKEEEaED4ACwwAQQAoApy0EBCbAQsMAEEAKAKgtBAQmwELDABBACgCpLQQEJsBCwwAQQAoAqi0EBCbAQsMAEEAKAKstBAQmwELDABBACgCsLQQEJsBCwwAQQAoArS0EBCbAQsMAEEAKAK4tBAQmwELDABBACgCvLQQEJsBCwwAQQAoAsC0EBCbAQsMAEEAKALEtBAQmwELDABBACgCyLQQEJsBCwwAQQAoAsy0EBCbAQsMAEEAKALQtBAQmwELDABBACgC1LQQEJsBC0ABAn8jAEEQayICJAAgAiABLQAQQR9xIgM6AAwgASABKAIEIAEoAgggAyABKAIMIAARAgA2AgAgAkEQaiQAQQAL2wEBAX8jAEEQayIEJAACQAJAIAINAEFAIQIDQAJAIAINAEHEmBAhAgwDCwJAIAJB3LoQaigCAA0AIAJB3LoQaiADNgIAIARBADsBBCAEIAJBxJgQaigCADYCACAEIQIMAwsgAkEEaiECDAALC0FAIQIDQAJAIAINAEHMmBAhAgwCCwJAIAJBxJgQaigCACADRw0AIAJB3LoQaiICKAIAIQMgAkEANgIAIARBADsBDCAEIAM2AgggBEEIaiECDAILIAJBBGohAgwACwsgACACKQIANwIAIARBEGokAAtNAQJ/IwBBEGsiAiQAIAIgAS0AFUEfcSIDOgAMIAEgASgCACAB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IQIMAgsCQCACQcSWEGooAgAgA0cNACACQdy4EGoiAigCACEDIAJBADYCACAEQQA7AQwgBCADNgIIIARBCGohAgwCCyACQQRqIQIMAAsLIAAgAikCADcCACAEQRBqJAALGAAgASgCACABKAIEIAEoAgggABEDAEEAC9sBAQF/IwBBEGsiBCQAAkACQCACDQBBQCECA0ACQCACDQBBxJgQIQIMAwsCQCACQZy5EGooAgANACACQZy5EGogAzYCACAEQQA7AQQgBCACQYSXEGooAgA2AgAgBCECDAMLIAJBBGohAgwACwtBQCECA0ACQCACDQBBzJgQIQIMAgsCQCACQYSXEGooAgAgA0cNACACQZy5EGoiAigCACEDIAJBADYCACAEQQA7AQwgBCADNgIIIARBCGohAgwCCyACQQRqIQIMAAsLIAAgAikCADcCACAEQRBqJAAL2wEBAX8jAEEQayIEJAACQAJAIAINAEFAIQIDQAJAIAINAEHEmBAhAgwDCwJAIAJB3LkQaigCAA0AIAJB3LkQaiADNgIAIARBADsBBCAEIAJBxJcQaigCADYCACAEIQIMAwsgAkEEaiECDAALC0FAIQIDQAJAIAINAEHMmBAhAgwCCwJAIAJBxJcQaigCACADRw0AIAJB3LkQaiICKAIAIQMgAkEANgIAIARBADsBDCAEIAM2AgggBEEIaiECDAILIAJBBGohAgwACwsgACACKQIANwIAIARBEGokAAvbAQEBfyMAQRBrIgQkAAJAAkAgAg0AQUAhAgNAAkAgAg0AQcSYECECDAMLAkAgAkGcuhBqKAIADQAgAkGcuhBqIAM2AgAgBEEAOwEEIAQgAkGEmBBqKAIANgIAIAQhAgwDCyACQQRqIQIMAAsLQUAhAgNAAkAgAg0AQcyYECECDAILAkAgAkGEmBBqKAIAIANHDQAgAkGcuhBqIgIoAgAhAyACQQA2AgAgBEEAOwEMIAQgAzYCCCAEQQhqIQIMAgsgAkEEaiECDAALCyAAIAIpAgA3AgAgBEEQaiQAC1wBBH8jAEEgayICJAAgAiABKQIENwMIIAIgASgCDCIDNgIQIAIgASgCECIENgIYIAIgAS0AFEEfcSIFOgAUIAEgAkEIaiADIAUgBCAAEQIANgIAIAJBIGokAEEAC3gBBn8jAEEgayICJAAgAiABKQIANwMAIAIgASgCDCIDNgIMIAIgASgCCCIENgIIIAIgASgCECIFNgIUIAIgASgCFCIGNgIYIAIgAS0AGUEfcSIHOgAQIAEgAiAEIAMgByAFIAYgABEEAEEBcToAGCACQSBqJABBAAt1AQZ/IwBBIGsiAiQAIAIgASkCBDcDACACIAEoAhAiAzYCDCACIAEoAgwiBDYCCCACIAEoAhQiBTYCFCACIAEoAhgiBjYCGCACIAEtABxBH3EiBzoAECABIAIgBCADIAcgBSAGIAARBAA2AgAgAkEgaiQAQQALZQEEfyMAQSBrIgIkACACIAEpAgA3AwggAiABKAIMIgM2AhQgAiABKAIIIgQ2AhAgAiABKAIQIgU2AhwgAiABLQAUQR9xIgE6ABggAkEIaiAEIAMgASAFIAARAQAgAkEgaiQAQQALawEBfyMAQTBrIgIkACACQRBqIAFBEGopAgA3AwAgAkEgaiABQSBqKQIANwMAIAIgASkCCDcDCCACIAEpAhg3AxggAkEoaiACQQhqIAJBCGpBEGogABEDACABIAIpAyg3AgAgAkEwaiQAQQALWwEBfyMAQSBrIgIkACACQQhqIAFBDGopAgA3AwAgAkEYaiABQRxqKQIANwMAIAIgASkCBDcDACACIAEpAhQ3AxAgASACIAJBEGogABEPADgCACACQSBqJABBAAsQACAAIAFBACgC2LQQEMUBC10BAX8jAEEQayIDJAAgAyABNgIMIAMgADYCCAJAAkACQAJAIAIgA0EIakEIELMBDgQAAwECAAsgA0EQaiQADwtBsIsQQSIQPgALQZWLEEEaED4AC0H6ihBBGhA+AAsQACAAIAFBACgC3LQQEMUBCxAAIAAgAUEAKALgtBAQxQELEAAgACABQQAoAuS0EBDFAQsQACAAIAFBACgC6LQQEMUBCxAAIAAgAUEAKALstBAQxQELEAAgACABQQAoAvC0EBDFAQsQACAAIAFBACgC9LQQEMUBCxAAIAAgAUEAKAL4tBAQxQELEAAgACABQQAoAvy0EBDFAQsQACAAIAFBACgCgLUQEMUBCxAAIAAgAUEAKAKEtRAQxQELEAAgACABQQAoAoi1EBDFAQsQACAAIAFBACgCjLUQEMUBCxAAIAAgAUEAKAKQtRAQxQELEAAgACABQQAoApS1EBDFAQt1AQF/IwBBMGsiBCQAIARBGGogAUEIaikCADcDACAEIAM4AiQgBCACOAIgIAQgASkCADcDECAEIAApAgA3AwggBEEANgIoIARBACgCmLUQIgE2AiwgBEEIaiAEQQhqQQhqIAIgAyABENYBIQEgBEEwaiQAIAELigEBAX8jAEEwayIFJAAgBUEgaiABQQhqKQIANwIAIAUgAzgCLCAFIAI4AiggBSABKQIANwIYIAUgACkCADcCEAJAAkACQAJAIAQgBUEMakEkELMBDgQAAwECAAsgBSgCDCEBIAVBMGokACABDwtBsIsQQSIQPgALQZWLEEEaED4AC0H6ihBBGhA+AAt1AQF/IwBBMGsiBCQAIARBGGogAUEIaikCADcDACAEIAM4AiQgBCACOAIgIAQgASkCADcDECAEIAApAgA3AwggBEEANgIoIARBACgCnLUQIgE2AiwgBEEIaiAEQQhqQQhqIAIgAyABENYBIQEgBEEwaiQAIAELdQEBfyMAQTBrIgQkACAEQRhqIAFBCGopAgA3AwAgBCADOAIkIAQgAjgCICAEIAEpAgA3AxAgBCAAKQIANwMIIARBADYCKCAEQQAoAqC1ECIBNgIsIARBCGogBEEIakEIaiACIAMgARDWASEBIARBMGokACABC3UBAX8jAEEwayIEJAAgBEEYaiABQQhqKQIANwMAIAQgAzgCJCAEIAI4AiAgBCABKQIANwMQIAQgACkCADcDCCAEQQA2AiggBEEAKAKktRAiATYCLCAEQQhqIARBCGpBCGogAiADIAEQ1gEhASAEQTBqJAAgAQt1AQF/IwBBMGsiBCQAIARBGGogAUEIaikCADcDACAEIAM4AiQgBCACOAIgIAQgASkCADcDECAEIAApAgA3AwggBEEANgIoIARBACgCqLUQIgE2AiwgBEEIaiAEQQhqQQhqIAIgAyABENYBIQEgBEEwaiQAIAELdQEBfyMAQTBrIgQkACAEQRhqIAFBCGopAgA3AwAgBCADOAIkIAQgAjgCICAEIAEpAgA3AxAgBCAAKQIANwMIIARBADYCKCAEQQAoAqy1ECIBNgIsIARBCGogBEEIakEIaiACIAMgARDWASEBIARBMGokACABC3UBAX8jAEEwayIEJAAgBEEYaiABQQhqKQIANwMAIAQgAzgCJCAEIAI4AiAgBCABKQIANwMQIAQgACkCADcDCCAEQQA2AiggBEEAKAKwtRAiATYCLCAEQQhqIARBCGpBCGogAiADIAEQ1gEhASAEQTBqJAAgAQt1AQF/IwBBMGsiBCQAIARBGGogAUEIaikCADcDACAEIAM4AiQgBCACOAIgIAQgASkCADcDECAEIAApAgA3AwggBEEANgIoIARBACgCtLUQIgE2AiwgBEEIaiAEQQhqQQhqIAIgAyABENYBIQEgBEEwaiQAIAELdQEBfyMAQTBrIgQkACAEQRhqIAFBCGopAgA3AwAgBCADOAIkIAQgAjgCICAEIAEpAgA3AxAgBCAAKQIANwMIIARBADYCKCAEQQAoAri1ECIBNgIsIARBCGogBEEIakEIaiACIAMgARDWASEBIARBMGokACABC3UBAX8jAEEwayIEJAAgBEEYaiABQQhqKQIANwMAIAQgAzgCJCAEIAI4AiAgBCABKQIANwMQIAQgACkCADcDCCAEQQA2AiggBEEAKAK8tRAiATYCLCAEQQhqIARBCGpBCGogAiADIAEQ1gEhASAEQTBqJAAgAQt1AQF/IwBBMGsiBCQAIARBGGogAUEIaikCADcDACAEIAM4AiQgBCACOAIgIAQgASkCADcDECAEIAApAgA3AwggBEEANgIoIARBACgCwLUQIgE2AiwgBEEIaiAEQQhqQQhqIAIgAyABENYBIQEgBEEwaiQAIAELdQEBfyMAQTBrIgQkACAEQRhqIAFBCGopAgA3AwAgBCADOAIkIAQgAjgCICAEIAEpAgA3AxAgBCAAKQIANwMIIARBADYCKCAEQQAoAsS1ECIBNgIsIARBCGogBEEIakEIaiACIAMgARDWASEBIARBMGokACABC3UBAX8jAEEwayIEJAAgBEEYaiABQQhqKQIANwMAIAQgAzgCJCAEIAI4AiAgBCABKQIANwMQIAQgACkCADcDCCAEQQA2AiggBEEAKALItRAiATYCLCAEQQhqIARBCGpBCGogAiADIAEQ1gEhASAEQTBqJAAgAQt1AQF/IwBBMGsiBCQAIARBGGogAUEIaikCADcDACAEIAM4AiQgBCACOAIgIAQgASkCADcDECAEIAApAgA3AwggBEEANgIoIARBACgCzLUQIgE2AiwgBEEIaiAEQQhqQQhqIAIgAyABENYBIQEgBEEwaiQAIAELdQEBfyMAQTBrIgQkACAEQRhqIAFBCGopAgA3AwAgBCADOAIkIAQgAjgCICAEIAEpAgA3AxAgBCAAKQIANwMIIARBADYCKCAEQQAoAtC1ECIBNgIsIARBCGogBEEIakEIaiACIAMgARDWASEBIARBMGokACABC3UBAX8jAEEwayIEJAAgBEEYaiABQQhqKQIANwMAIAQgAzgCJCAEIAI4AiAgBCABKQIANwMQIAQgACkCADcDCCAEQQA2AiggBEEAKALUtRAiATYCLCAEQQhqIARBCGpBCGogAiADIAEQ1gEhASAEQTBqJAAgAQtBAQF/IwBBEGsiBiQAIAYgA0EfcSIDOgAIIAYgAzoADCAAIAEgAiADIAQgBUEAKALYtRAQ5wEhAyAGQRBqJAAgAwuOAQEBfyMAQSBrIgckACAHIAI2AhAgByABNgIMIAcgADYCCCAHIAU2AhggByAENgIUIAcgA0EfcSICOgAEIAcgAjoAHQJAAkACQAJAIAYgB0EIakEYELMBDgQAAwECAAsgBy0AHCECIAdBIGokACACDwtBsIsQQSIQPgALQZWLEEEaED4AC0H6ihBBGhA+AAtBAQF/IwBBEGsiBiQAIAYgA0EfcSIDOgAIIAYgAzoADCAAIAEgAiADIAQgBUEAKALctRAQ5wEhAyAGQRBqJAAgAwtBAQF/IwBBEGsiBiQAIAYgA0EfcSIDOgAIIAYgAzoADCAAIAEgAiADIAQgBUEAKALgtRAQ5wEhAyAGQRBqJAAgAwtBAQF/IwBBEGsiBiQAIAYgA0EfcSIDOgAIIAYgAzoADCAAIAEgAiADIAQgBUEAKALktRAQ5wEhAyAGQRBqJAAgAwtBAQF/IwBBEGsiBiQAIAYgA0EfcSIDOgAIIAYgAzoADCAAIAEgAiADIAQgBUEAKALotRAQ5wEhAyAGQRBqJAAgAwtBAQF/IwBBEGsiBiQAIAYgA0EfcSIDOgAIIAYgAzoADCAAIAEgAiADIAQgBUEAKALstRAQ5wEhAyAGQRBqJAAgAwtBAQF/IwBBEGsiBiQAIAYgA0EfcSIDOgAIIAYgAzoADCAAIAEgAiADIAQgBUEAKALwtRAQ5wEhAyAGQRBqJAAgAwtBAQF/IwBBEGsiBiQAIAYgA0EfcSIDOgAIIAYgAzoADCAAIAEgAiADIAQgBUEAKAL0tRAQ5wEhAyAGQRBqJAAgAwtBAQF/IwBBEGsiBiQAIAYgA0EfcSIDOgAIIAYgAzoADCAAIAEgAiADIAQgBUEAKAL4tRAQ5wEhAyAGQRBqJAAgAwtBAQF/IwBBEGsiBiQAIAYgA0EfcSIDOgAIIAYgAzoADCAAIAEgAiADIAQgBUEAKAL8tRAQ5wEhAyAGQRBqJAAgAwtBAQF/IwBBEGsiBiQAIAYgA0EfcSIDOgAIIAYgAzoADCAAIAEgAiADIAQgBUEAKAKAthAQ5wEhAyAGQRBqJAAgAwtBAQF/IwBBEGsiBiQAIAYgA0EfcSIDOgAIIAYgAzoADCAAIAEgAiADIAQgBUEAKAKEthAQ5wEhAyAGQRBqJAAgAwtBAQF/IwBBEGsiBiQAIAYgA0EfcSIDOgAIIAYgAzoADCAAIAEgAiADIAQgBUEAKAKIthAQ5wEhAyAGQRBqJAAgAwtBAQF/IwBBEGsiBiQAIAYgA0EfcSIDOgAIIAYgAzoADCAAIAEgAiADIAQgBUEAKAKMthAQ5wEhAyAGQRBqJAAgAwtBAQF/IwBBEGsiBiQAIAYgA0EfcSIDOgAIIAYgAzoADCAAIAEgAiADIAQgBUEAKAKQthAQ5wEhAyAGQRBqJAAgAwtBAQF/IwBBEGsiBiQAIAYgA0EfcSIDOgAIIAYgAzoADCAAIAEgAiADIAQgBUEAKAKUthAQ5wEhAyAGQRBqJAAgAwtBAQF/IwBBEGsiBiQAIAYgA0EfcSIDOgAIIAYgAzoADCAAIAEgAiADIAQgBUEAKAKYthAQ+AEhAyAGQRBqJAAgAwuOAQEBfyMAQSBrIgckACAHIAI2AhAgByABNgIMIAcgADYCCCAHIAU2AhggByAENgIUIAcgA0EfcSICOgAAIAcgAjoAHAJAAkACQAJAIAYgB0EEakEcELMBDgQAAwECAAsgBygCBCECIAdBIGokACACDwtBsIsQQSIQPgALQZWLEEEaED4AC0H6ihBBGhA+AAtBAQF/IwBBEGsiBiQAIAYgA0EfcSIDOgAIIAYgAzoADCAAIAEgAiADIAQgBUEAKAKcthAQ+AEhAyAGQRBqJAAgAwtBAQF/IwBBEGsiBiQAIAYgA0EfcSIDOgAIIAYgAzoADCAAIAEgAiADIAQgBUEAKAKgthAQ+AEhAyAGQRBqJAAgAwtBAQF/IwBBEGsiBiQAIAYgA0EfcSIDOgAIIAYgAzoADCAAIAEgAiADIAQgBUEAKAKkthAQ+AEhAyAGQRBqJAAgAwtBAQF/IwBBEGsiBiQAIAYgA0EfcSIDOgAIIAYgAzoADCAAIAEgAiADIAQgBUEAKAKothAQ+AEhAyAGQRBqJAAgAwtBAQF/IwBBEGsiBiQAIAYgA0EfcSIDOgAIIAYgAzoADCAAIAEgAiADIAQgBUEAKAKsthAQ+AEhAyAGQRBqJAAgAwtBAQF/IwBBEGsiBiQAIAYgA0EfcSIDOgAIIAYgAzoADCAAIAEgAiADIAQgBUEAKAKwthAQ+AEhAyAGQRBqJAAgAwtBAQF/IwBBEGsiBiQAIAYgA0EfcSIDOgAIIAYgAzoADCAAIAEgAiADIAQgBUEAKAK0thAQ+AEhAyAGQRBqJAAgAwtBAQF/IwBBEGsiBiQAIAYgA0EfcSIDOgAIIAYgAzoADCAAIAEgAiADIAQgBUEAKAK4thAQ+AEhAyAGQRBqJAAgAwtBAQF/IwBBEGsiBiQAIAYgA0EfcSIDOgAIIAYgAzoADCAAIAEgAiADIAQgBUEAKAK8thAQ+AEhAyAGQRBqJAAgAwtBAQF/IwBBEGsiBiQAIAYgA0EfcSIDOgAIIAYgAzoADCAAIAEgAiADIAQgBUEAKALAthAQ+AEhAyAGQRBqJAAgAwtBAQF/IwBBEGsiBiQAIAYgA0EfcSIDOgAIIAYgAzoADCAAIAEgAiADIAQgBUEAKALEthAQ+AEhAyAGQRBqJAAgAwtBAQF/IwBBEGsiBiQAIAYgA0EfcSIDOgAIIAYgAzoADCAAIAEgAiADIAQgBUEAKALIthAQ+AEhAyAGQRBqJAAgAwtBAQF/IwBBEGsiBiQAIAYgA0EfcSIDOgAIIAYgAzoADCAAIAEgAiADIAQgBUEAKALMthAQ+AEhAyAGQRBqJAAgAwtBAQF/IwBBEGsiBiQAIAYgA0EfcSIDOgAIIAYgAzoADCAAIAEgAiADIAQgBUEAKALQthAQ+AEhAyAGQRBqJAAgAwtBAQF/IwBBEGsiBiQAIAYgA0EfcSIDOgAIIAYgAzoADCAAIAEgAiADIAQgBUEAKALUthAQ+AEhAyAGQRBqJAAgAws7AQF/IwBBEGsiBSQAIAUgA0EfcSIDOgAIIAUgAzoADCAAIAEgAiADIARBACgC2LYQEIkCIAVBEGokAAt+AQF/IwBBIGsiBiQAIAYgAjYCFCAGIAE2AhAgBiAANgIMIAYgBDYCGCAGIANBH3EiAjoACCAGIAI6ABwCQAJAAkACQCAFIAZBDGpBFBCzAQ4EAAMBAgALIAZBIGokAA8LQbCLEEEiED4AC0GVixBBGhA+AAtB+ooQQRoQPgALOwEBfyMAQRBrIgUkACAFIANBH3EiAzoACCAFIAM6AAwgACABIAIgAyAEQQAoAty2EBCJAiAFQRBqJAALOwEBfyMAQRBrIgUkACAFIANBH3EiAzoACCAFIAM6AAwgACABIAIgAyAEQQAoAuC2EBCJAiAFQRBqJAALOwEBfyMAQRBrIgUkACAFIANBH3EiAzoACCAFIAM6AAwgACABIAIgAyAEQQAoAuS2EBCJAiAFQRBqJAALOwEBfyMAQRBrIgUkACAFIANBH3EiAzoACCAFIAM6AAwgACABIAIgAyAEQQAoAui2EBCJAiAFQRBqJAALOwEBfyMAQRBrIgUkACAFIANBH3EiAzoACCAFIAM6AAwgACABIAIgAyAEQQAoAuy2EBCJAiAFQRBqJAALOwEBfyMAQRBrIgUkACAFIANBH3EiAzoACCAFIAM6AAwgACABIAIgAyAEQQAoAvC2EBCJAiAFQRBqJAALOwEBfyMAQRBrIgUkACAFIANBH3EiAzoACCAFIAM6AAwgACABIAIgAyAEQQAoAvS2EBCJAiAFQRBqJAALOwEBfyMAQRBrIgUkACAFIANBH3EiAzoACCAFIAM6AAwgACABIAIgAyAEQQAoAvi2EBCJAiAFQRBqJAALOwEBfyMAQRBrIgUkACAFIANBH3EiAzoACCAFIAM6AAwgACABIAIgAyAEQQAoAvy2EBCJAiAFQRBqJAALOwEBfyMAQRBrIgUkACAFIANBH3EiAzoACCAFIAM6AAwgACABIAIgAyAEQQAoAoC3EBCJAiAFQRBqJAALOwEBfyMAQRBrIgUkACAFIANBH3EiAzoACCAFIAM6AAwgACABIAIgAyAEQQAoAoS3EBCJAiAFQRBqJAALOwEBfyMAQRBrIgUkACAFIANBH3EiAzoACCAFIAM6AAwgACABIAIgAyAEQQAoAoi3EBCJAiAFQRBqJAALOwEBfyMAQRBrIgUkACAFIANBH3EiAzoACCAFIAM6AAwgACABIAIgAyAEQQAoAoy3EBCJAiAFQRBqJAALOwEBfyMAQRBrIgUkACAFIANBH3EiAzoACCAFIAM6AAwgACABIAIgAyAEQQAoApC3EBCJAiAFQRBqJAALOwEBfyMAQRBrIgUkACAFIANBH3EiAzoACCAFIAM6AAwgACABIAIgAyAEQQAoApS3EBCJAiAFQRBqJAALMQECfyMAQRBrIgIkACACIAEtAARBH3EiAzoADyABIAMgABEOADYCACACQRBqJABBAAsWACABIAEoAgAgABEOAEEfcToABEEAC0UBA38jAEEQayICJAAgAiABLQABQR9xIgM6AA8gAiABLQACQR9xIgQ6AA4gASADIAQgABEQAEEDcToAACACQRBqJABBAAtWAQR/IwBBEGsiAiQAIAIgAS0AAUEfcSIDOgAPIAIgAS0AAkEHcSIEOgAOIAIgAS0AA0EfcSIFOgANIAEgAyAEIAUgABEKAEEBcToAACACQRBqJABBAAtFAQN/IwBBEGsiAiQAIAIgAS0AAUEfcSIDOgAPIAIgAS0AAkEfcSIEOgAOIAEgAyAEIAAREABBH3E6AAAgAkEQaiQAQQALNgECfyMAQRBrIgIkACACIAEtAAhBH3EiAzoADCABIAMgASgCBCAAERAANgIAIAJBEGokAEEACzkBAn8jAEEQayICJAAgAiABLQAFQR9xIgM6AAwgASADIAEoAgAgABEQAEEBcToABCACQRBqJABBAAtMAQF/IwBB8ABrIgIkACACQQRqIABB4AD8CgAAIAIgATYCZCACQQA2AmggAkEAKAKctxAiADYCbCACQQRqIAEgABChAiACQfAAaiQAC2cBAX8jAEHwAGsiAyQAIANBDGogAEHgAPwKAAAgAyABNgJsAkACQAJAAkAgAiADQQxqQeQAELMBDgQAAwECAAsgA0HwAGokAA8LQbCLEEEiED4AC0GVixBBGhA+AAtB+ooQQRoQPgALTAEBfyMAQfAAayICJAAgAkEEaiAAQeAA/AoAACACIAE2AmQgAkEANgJoIAJBACgCoLcQIgA2AmwgAkEEaiABIAAQoQIgAkHwAGokAAtMAQF/IwBB8ABrIgIkACACQQRqIABB4AD8CgAAIAIgATYCZCACQQA2AmggAkEAKAKktxAiADYCbCACQQRqIAEgABChAiACQfAAaiQAC0wBAX8jAEHwAGsiAiQAIAJBBGogAEHgAPwKAAAgAiABNgJkIAJBADYCaCACQQAoAqi3ECIANgJsIAJBBGogASAAEKECIAJB8ABqJAALTAEBfyMAQfAAayICJAAgAkEEaiAAQeAA/AoAACACIAE2AmQgAkEANgJoIAJBACgCrLcQIgA2AmwgAkEEaiABIAAQoQIgAkHwAGokAAtMAQF/IwBB8ABrIgIkACACQQRqIABB4AD8CgAAIAIgATYCZCACQQA2AmggAkEAKAKwtxAiADYCbCACQQRqIAEgABChAiACQfAAaiQAC0wBAX8jAEHwAGsiAiQAIAJBBGogAEHgAPwKAAAgAiABNgJkIAJBADYCaCACQQAoArS3ECIANgJsIAJBBGogASAAEKECIAJB8ABqJAALTAEBfyMAQfAAayICJAAgAkEEaiAAQeAA/AoAACACIAE2AmQgAkEANgJoIAJBACgCuLcQIgA2AmwgAkEEaiABIAAQoQIgAkHwAGokAAtMAQF/IwBB8ABrIgIkACACQQRqIABB4AD8CgAAIAIgATYCZCACQQA2AmggAkEAKAK8txAiADYCbCACQQRqIAEgABChAiACQfAAaiQAC0wBAX8jAEHwAGsiAiQAIAJBBGogAEHgAPwKAAAgAiABNgJkIAJBADYCaCACQQAoAsC3ECIANgJsIAJBBGogASAAEKECIAJB8ABqJAALTAEBfyMAQfAAayICJAAgAkEEaiAAQeAA/AoAACACIAE2AmQgAkEANgJoIAJBACgCxLcQIgA2AmwgAkEEaiABIAAQoQIgAkHwAGokAAtMAQF/IwBB8ABrIgIkACACQQRqIABB4AD8CgAAIAIgATYCZCACQQA2AmggAkEAKALItxAiADYCbCACQQRqIAEgABChAiACQfAAaiQAC0wBAX8jAEHwAGsiAiQAIAJBBGogAEHgAPwKAAAgAiABNgJkIAJBADYCaCACQQAoAsy3ECIANgJsIAJBBGogASAAEKECIAJB8ABqJAALTAEBfyMAQfAAayICJAAgAkEEaiAAQeAA/AoAACACIAE2AmQgAkEANgJoIAJBACgC0LcQIgA2AmwgAkEEaiABIAAQoQIgAkHwAGokAAtMAQF/IwBB8ABrIgIkACACQQRqIABB4AD8CgAAIAIgATYCZCACQQA2AmggAkEAKALUtxAiADYCbCACQQRqIAEgABChAiACQfAAaiQAC0wBAX8jAEHwAGsiAiQAIAJBBGogAEHgAPwKAAAgAiABNgJkIAJBADYCaCACQQAoAti3ECIANgJsIAJBBGogASAAEKECIAJB8ABqJAALEAAgACABQQAoAty3EBDFAQsQACAAIAFBACgC4LcQEMUBCxAAIAAgAUEAKALktxAQxQELEAAgACABQQAoAui3EBDFAQsQACAAIAFBACgC7LcQEMUBCxAAIAAgAUEAKALwtxAQxQELEAAgACABQQAoAvS3EBDFAQsQACAAIAFBACgC+LcQEMUBCxAAIAAgAUEAKAL8txAQxQELEAAgACABQQAoAoC4EBDFAQsQACAAIAFBACgChLgQEMUBCxAAIAAgAUEAKAKIuBAQxQELEAAgACABQQAoAoy4EBDFAQsQACAAIAFBACgCkLgQEMUBCxAAIAAgAUEAKAKUuBAQxQELEAAgACABQQAoApi4EBDFAQtlAQJ/IwBB0ABrIgUkACAFQRhqIgYgBEEw/AoAACAFIAM2AhQgBSACNgIQIAUgATYCDCAFIAA2AgggBUEANgJIIAVBACgCnLgQIgQ2AkwgACABIAIgAyAGIAQQwgIgBUHQAGokAAt4AQF/IwBBwABrIgYkACAGQRBqIARBMPwKAAAgBiADNgIMIAYgAjYCCCAGIAE2AgQgBiAANgIAAkACQAJAAkAgBSAGQcAAELMBDgQAAwECAAsgBkHAAGokAA8LQbCLEEEiED4AC0GVixBBGhA+AAtB+ooQQRoQPgALZQECfyMAQdAAayIFJAAgBUEYaiIGIARBMPwKAAAgBSADNgIUIAUgAjYCECAFIAE2AgwgBSAANgIIIAVBADYCSCAFQQAoAqC4ECIENgJMIAAgASACIAMgBiAEEMICIAVB0ABqJAALZQECfyMAQdAAayIFJAAgBUEYaiIGIARBMPwKAAAgBSADNgIUIAUgAjYCECAFIAE2AgwgBSAANgIIIAVBADYCSCAFQQAoAqS4ECIENgJMIAAgASACIAMgBiAEEMICIAVB0ABqJAALZQECfyMAQdAAayIFJAAgBUEYaiIGIARBMPwKAAAgBSADNgIUIAUgAjYCECAFIAE2AgwgBSAANgIIIAVBADYCSCAFQQAoAqi4ECIENgJMIAAgASACIAMgBiAEEMICIAVB0ABqJAALZQECfyMAQdAAayIFJAAgBUEYaiIGIARBMPwKAAAgBSADNgIUIAUgAjYCECAFIAE2AgwgBSAANgIIIAVBADYCSCAFQQAoAqy4ECIENgJMIAAgASACIAMgBiAEEMICIAVB0ABqJAALZQECfyMAQdAAayIFJAAgBUEYaiIGIARBMPwKAAAgBSADNgIUIAUgAjYCECAFIAE2AgwgBSAANgIIIAVBADYCSCAFQQAoArC4ECIENgJMIAAgASACIAMgBiAEEMICIAVB0ABqJAALZQECfyMAQdAAayIFJAAgBUEYaiIGIARBMPwKAAAgBSADNgIUIAUgAjYCECAFIAE2AgwgBSAANgIIIAVBADYCSCAFQQAoArS4ECIENgJMIAAgASACIAMgBiAEEMICIAVB0ABqJAALZQECfyMAQdAAayIFJAAgBUEYaiIGIARBMPwKAAAgBSADNgIUIAUgAjYCECAFIAE2AgwgBSAANgIIIAVBADYCSCAFQQAoAri4ECIENgJMIAAgASACIAMgBiAEEMICIAVB0ABqJAALZQECfyMAQdAAayIFJAAgBUEYaiIGIARBMPwKAAAgBSADNgIUIAUgAjYCECAFIAE2AgwgBSAANgIIIAVBADYCSCAFQQAoAry4ECIENgJMIAAgASACIAMgBiAEEMICIAVB0ABqJAALZQECfyMAQdAAayIFJAAgBUEYaiIGIARBMPwKAAAgBSADNgIUIAUgAjYCECAFIAE2AgwgBSAANgIIIAVBADYCSCAFQQAoAsC4ECIENgJMIAAgASACIAMgBiAEEMICIAVB0ABqJAALZQECfyMAQdAAayIFJAAgBUEYaiIGIARBMPwKAAAgBSADNgIUIAUgAjYCECAFIAE2AgwgBSAANgIIIAVBADYCSCAFQQAoAsS4ECIENgJMIAAgASACIAMgBiAEEMICIAVB0ABqJAALZQECfyMAQdAAayIFJAAgBUEYaiIGIARBMPwKAAAgBSADNgIUIAUgAjYCECAFIAE2AgwgBSAANgIIIAVBADYCSCAFQQAoAsi4ECIENgJMIAAgASACIAMgBiAEEMICIAVB0ABqJAALZQECfyMAQdAAayIFJAAgBUEYaiIGIARBMPwKAAAgBSADNgIUIAUgAjYCECAFIAE2AgwgBSAANgIIIAVBADYCSCAFQQAoAsy4ECIENgJMIAAgASACIAMgBiAEEMICIAVB0ABqJAALZQECfyMAQdAAayIFJAAgBUEYaiIGIARBMPwKAAAgBSADNgIUIAUgAjYCECAFIAE2AgwgBSAANgIIIAVBADYCSCAFQQAoAtC4ECIENgJMIAAgASACIAMgBiAEEMICIAVB0ABqJAALZQECfyMAQdAAayIFJAAgBUEYaiIGIARBMPwKAAAgBSADNgIUIAUgAjYCECAFIAE2AgwgBSAANgIIIAVBADYCSCAFQQAoAtS4ECIENgJMIAAgASACIAMgBiAEEMICIAVB0ABqJAALZQECfyMAQdAAayIFJAAgBUEYaiIGIARBMPwKAAAgBSADNgIUIAUgAjYCECAFIAE2AgwgBSAANgIIIAVBADYCSCAFQQAoAti4ECIENgJMIAAgASACIAMgBiAEEMICIAVB0ABqJAALEgAgACABIAJBACgC3LgQENMCC2QBAX8jAEEQayIEJAAgBCACNgIMIAQgATYCCCAEIAA2AgQCQAJAAkACQCADIARBBGpBDBCzAQ4EAAMBAgALIARBEGokAA8LQbCLEEEiED4AC0GVixBBGhA+AAtB+ooQQRoQPgALEgAgACABIAJBACgC4LgQENMCCxIAIAAgASACQQAoAuS4EBDTAgsSACAAIAEgAkEAKALouBAQ0wILEgAgACABIAJBACgC7LgQENMCCxIAIAAgASACQQAoAvC4EBDTAgsSACAAIAEgAkEAKAL0uBAQ0wILEgAgACABIAJBACgC+LgQENMCCxIAIAAgASACQQAoAvy4EBDTAgsSACAAIAEgAkEAKAKAuRAQ0wILEgAgACABIAJBACgChLkQENMCCxIAIAAgASACQQAoAoi5EBDTAgsSACAAIAEgAkEAKAKMuRAQ0wILEgAgACABIAJBACgCkLkQENMCCxIAIAAgASACQQAoApS5EBDTAgsSACAAIAEgAkEAKAKYuRAQ0wILEgAgACABIAJBACgCnLkQENMCCxIAIAAgASACQQAoAqC5EBDTAgsSACAAIAEgAkEAKAKkuRAQ0wILEgAgACABIAJBACgCqLkQENMCCxIAIAAgASACQQAoAqy5EBDTAgsSACAAIAEgAkEAKAKwuRAQ0wILEgAgACABIAJBACgCtLkQENMCCxIAIAAgASACQQAoAri5EBDTAgsSACAAIAEgAkEAKAK8uRAQ0wILEgAgACABIAJBACgCwLkQENMCCxIAIAAgASACQQAoAsS5EBDTAgsSACAAIAEgAkEAKALI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IgMgAUL/////D4MiAX4iBUIgiCADIAR+fCIDQiCIfCADQv////8PgyACIAF+fCIBQiCIfDcDCCAAIAFCIIYgBUL/////D4OENwMAC8kBAwF/AX4Cf0EAIQICQAJAAkAgAb0iA0I0iKciBEH/D3EiBUUNACAFQf8PRw0BDAILIANC/////////weDUA0BIANCgICAgICAgICAf4NCACADIANCDIZ5pyICQQFqrYZC/////////weDIAJBP3FBMksbhEKAgICAgICA8D+EIQNBgnggAmshAgwBCyADQv////////+HgH+DQoCAgICAgIDwP4QhAyAEQf8PcUGCeGohAgsgAEEANgIMIAAgAjYCCCAAIAM3AwAL1AICA34CfwJAAkAgACAAYg0AIAC9IgJC////////////AINCgICAgICAgPj/AFoNACACQoCAgICAgICAgH+DIQNBCyACQgGGIgR5p2sgBEI1iKcgBEKAgICAgICAEFQbIQUCQCABQQBIDQACQEH+DyAFayABTg0AIANCgICAgICAgPj/AIS/DwsCQCAFIAFqIgZBAEoNACACIAFBP3GthiADhL8PCwJAIAVBAEoNACACQQEgBWuthkL/////////B4MgBq1CNIaEIAOEvw8LIAGtQjSGIAJ8vw8LQQAgAWshBkEAIAVrIAFIDQECQEFMIAVrIAFMDQAgA78PCyAFQQBKrUI0hiACQv////////8Hg4QgBkEBIAUgAWprIgEgBiABSBtBf2pBP3GtIgSIQgF8QgGIIAJ6IARRrUJ/hYMgA4S/IQALIAAPCyACIAatQjSGfb8LJwACQCAAIABcDQACQCABIAFbDQAgAA8LIAEgACAAIAFdGyEBCyABC2gCAX4BfwJAAkAgAL1C////////////AIMiAUI0iKciAkH/D0YNACACDQECQCABUEUNAEGAgICAeA8LQY14IAF5p2sPC0GAgICAeEH/////ByABQoCAgICAgID4/wBWGw8LIAJBgXhqC54DAwN/AX0BfCMAQRBrIgEkAAJAAkAgALwiAkH/////B3EiA0Han6T6A0sNAEMAAIA/IQQgA0GAgIDMA0kNASAAuxC4AyEEDAELAkACQAJAAkAgA0HSp+2DBEkNACADQdbjiIcETw0CIANB39u/hQRNDQFEGC1EVPshGcBEGC1EVPshGUAg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IA8gBygCALeiOQMAIAdBfGohByAJQXhqIQkgCEF/aiEIIA9EAAAAAAAAcD6iIQ8MAAsLIAVBkANqIAlBA3RqIA85AwAgCkEIaiEKIAlBAWohCQwACwsgAiAPOQMAIAJBCGohAiAIQX9qIQggCUEEaiEJIAdBAWohBwwACwvvAQMCfwF9AnwCQAJAAkACQAJAIAC8IgFB/////wdxIgJBgIDwlwRNDQAgAkGAgID8B0sNAyABQYCAgJgESA0BIABDAAAAf5QPCyACQYGAgJgDSQ0BDAMLIAFBAE4NAkMAAAAADwsgAEMAAIA/kiEACyAADwsgAEMAAEBJkiIDvEEIaiICQQ9xQQN0QcCxEGorAwAiBCAAIANDAABAyZKTuyIFRAAAAAC+v84/okQAAAAAQy7mP6AgBCAFoiIEoqAgBUQAAADAybKDP6JEAAAAgDRrrD+gIAUgBaIgBKKioCACQQR2Qf8Haq1CNIa/orYLmAUDA38CfAF+IwBBMGsiAyQAAkACQAJAIAC9Qv///////////wCDQv/////////3/wBWDQAgAb1C////////////AINCgICAgICAgPj/AFQNAQsgACABoiACoCECDAELIAK9Qv///////////wCDQv/////////3/wBWDQACQAJAIABEAAAAAAAAAABhDQAgAUQAAAAAAAAAAGINAQsgACABoiACoCECDAELAkAgAkQAAAAAAAAAAGINACAAIAGiIQIMAQsgAyAAELMDIAMrAwAhACADKAIIIQQgA0EQaiABELMDIAMrAxAhASADKAIYIQUgA0EgaiACELMDIAMrAyAhAgJAAkAgBSAEaiIEIAMoAihrIgVB6wBIDQAgAr1CgICAgICAgICAf4NCgICAgICAgAiEvyEGDAELIAJBACAFaxC0AyEGCyAAIABEAAAAAgAAoEGiIgIgACACoaAiAqEiByABIAFEAAAAAgAAoEGiIgAgASAAoaAiAKEiAaIgByAAoiACIAGioCIBIAIgAKIiAiACIAGgIgChoKAhAQJAIAAgBqAiAkQAAAAAAAAAAGINACACIAEgBBC0A6AhAgwBCwJAIAEgASAGIAIgAKEiB6EgACACIAehoaAiBqAiACAGoSIHoSAGIAAgB6GhoCIBRAAAAAAAAAAAYQ0AIAC9IginQQFxDQAgCEIBhCABvSAIhUI+iH2/IQALIAIgAKAhAQJAIAIQtgMgBGpBgnhODQAgACABIAKhIgahIAIgBiABoaCgIgJEAAAAAAAAAABhDQAgAb0iCEIBg1AgCEI0iKdB/w9xQQAgBGtHRg0AIAggAr0gCIVCPohCAoN9QgF8vyEBCyABIAQQtAMhAgsgA0EwaiQAIAILJwACQCAAIABcDQACQCABIAFbDQAgAA8LIAAgASAAIAFdGyEBCyABC5wCAgJ/An0CQAJAAkAgALwiAUGAgIAETg0AQwAAgP9DAADAfyAAQwAAAABbIgIbIQMgAg0CIAFBAEgNAiAAQwAAAEyUvCEBQeh+IQIMAQsgACEDIAFB////+wdLDQFBgX8hAkMAAAAAIQMgAUGAgID8A0YNAQsgAUGN9qsCaiIBQf///wNxQfOJ1PkDar5DAACAv5IiACAAIABDAAAAP5SUIgOTvEGAYHG+IgRDALC4P5QgACAEkyADkyAAIABDAAAAQJKVIgAgAyAAIACUIgAgACAAlCIAQ+7pkT6UQ6qqKj+SlCAAIABDJp54PpRDE87MPpKUkpKUkiIAQwCwuD+UIAAgBJJD1Jo4uZSSkiACIAFBF3ZqspIhAwsgAwuZAwIDfwF8IwBBEGsiASQAAkACQCAAvCICQf////8HcSIDQdqfpPoDSw0AIANBgICAzANJDQEgALsQuQMhAAwBCwJAAkACQAJAIANB0qftgwRJDQAgA0HW44iHBE8NAyAAuyEEIANB4Nu/hQRPDQEgAkF/Sg0CIARE0iEzf3zZEkCgELgDIQAMBAsgALshBAJAIANB5JfbgARJDQBEGC1EVPshCcBEGC1EVPshCUAgAkF/ShsgBKCaELkDIQAMBAsCQCACQX9KDQAgBEQYLURU+yH5P6AQuAOMIQAMBAsgBEQYLURU+yH5v6AQuAMhAAwDC0QYLURU+yEZwEQYLURU+yEZQCACQX9KGyAEoBC5AyEADAILIARE0iEzf3zZEsCgELgDjCEADAELAkAgA0H////7B0sNACAAIAFBCGoQugMhAyABKwMIIQQCQAJAAkACQCADQQNxDgQAAQIDAAsgBBC5AyEADAQLIAQQuAMhAAwDCyAEmhC5AyEADAILIAQQuAOMIQAMAQsgACAAkyEACyABQRBqJAAgAAsLuDMCAEGAgBALwDIAAAAAAAAAAAAAAAAAAAAAAAAAAGoAAABrAAAAbAAAAG0AAAAAAIA/AACAPwAAgD8AAIA/AAAAAAAAAAAAAAAAAACAPwAAAEBPdXRPZk1lbW9yeQBtYXhfeQBtaW5feQBzaGFwZXMuYm91bmRpbmdfYm94LkJvdW5kaW5nQm94AGltYWdlcy5QaWNrVmVydGV4AGluZGV4AG1heABtYXhfeABtaW5feAByZW5kZXJfZHJhdwB2AHUAaW52ZXJ0AHNsb3QAU2VsZWN0ZWQgc2hhcGUgYXNzZXQgc2hvdWxkIGJlIHByZXNlbnQgYXQgdGhpcyBwb2ludAB0eXBlcy5Qb2ludABtZW0uQWxpZ25tZW50AGx0AGd0AHJlbW92ZV9hc3NldABhZGRfYXNzZXQAYml0T2Zmc2V0AHJhZGl1cwBwb2ludHMAdG9CeXRlVW5pdHMAZnJvbUJ5dGVVbml0cwByZXNldF9hc3NldHMAc2hhcGVzLnNoYXBlcy5TaGFwZVByb3BzAGltcG9ydF9pY29ucwBjb25uZWN0X3dlYl9ncHVfcHJvZ3JhbXMAaW5kZXguV2ViR3B1UHJvZ3JhbXMAY29ubmVjdF9jYWNoZV9jYWxsYmFja3MAZmxhZ3MAY29tbWl0X2NoYW5nZXMAcHRyAG1hdGguQ29tcGFyZU9wZXJhdG9yAG1lbS5BbGxvY2F0b3IARXJyb3IAZmlsbF9jb2xvcgBzdHJva2VfY29sb3IAZGlmZmVyAG9yZGVyAG1hdGguT3JkZXIAbmVxAG9uX3BvaW50ZXJfdXAAcmVtYXAAcmF3UmVtYXAAbm9SZW1hcABhbmdsZV90bwBvbl9wb2ludGVyX2Rvd24AbWluAGFsaWduAExvZzJBbGlnbgBzaGFwZXMuc2hhcGVzLlVuaWZvcm0Ac2V0X3Rvb2wAaW5kZXguVG9vbABTZWxlY3RlZCBzaGFwZSBhc3NldCBzaG91bGQgYmUgcHJlc2VudCB3aGVuIGFjdGl2ZV9wYXRoX2luZGV4IGlzIG5vdCBudWxsAHJldHZhbAByZW5kZXJfcGljawBvbl91cGRhdGVfcGljawBjaGVjawBjb25uZWN0X29uX2Fzc2V0X3NlbGVjdGlvbl9jYWxsYmFjawBjb25uZWN0X29uX2Fzc2V0X3VwZGF0ZV9jYWxsYmFjawBsZW5ndGgAc3Ryb2tlX3dpZHRoAHBhZGRpbmcAZGlmZgBkcmF3X21zZGYAcmVzaXplAHJhd1Jlc2l6ZQBub1Jlc2l6ZQBiaXRTaXplAGJ5dGVTaXplAG9uX3BvaW50ZXJfbW92ZQBvbl9wb2ludGVyX2xlYXZlAGx0ZQBndGUAZGVzdHJveV9zdGF0ZQBpbml0X3N0YXRlAHJldmVyc2UAZHJhd190ZXh0dXJlAHBpY2tfdGV4dHVyZQBzdHJ1Y3R1cmUAc2lnbmF0dXJlAGNvbXBhcmUAdHlwZQBkcmF3X3NoYXBlAHN0b3BfZHJhd2luZ19zaGFwZQBhZGRfc2hhcGUARHJhd1NoYXBlAGNsb25lAE5vbmUAbmFtZQBkcmF3X3RyaWFuZ2xlAHBpY2tfdHJpYW5nbGUAdnRhYmxlAG1lbS5BbGxvY2F0b3IuVlRhYmxlAHVwZGF0ZV9yZW5kZXJfc2NhbGUAZnJlZQByYXdGcmVlAG5vRnJlZQBtc2RmLkRyYXdJbnN0YW5jZQB0cmlhbmdsZS5EcmF3SW5zdGFuY2UAdHJpYW5nbGUuUGlja0luc3RhbmNlAGRpc3RhbmNlAGZvcndhcmQAYmFja3dhcmQAbWlkAHRleHR1cmVfaWQAaW1hZ2VzLlNlcmlhbGl6ZWQASmF2YVNjcmlwdCBmdW5jdGlvbiBmYWlsZWQATXVsdGl0aHJlYWRpbmcgbm90IGVuYWJsZWQAUHJvbWlzZSBlbmNvdW50ZXJlZCBpbiBtYWluIHRocmVhZABhbGxvYwByYXdBbGxvYwB0eXBlcy5Qb2ludFVWAEFTU0VUX0lEX1RSRVNIT0xEADgAMTYANjQAMwBwMgAzMgBwMQBwMABBdHRlbXB0aW5nIHRvIGFkZCBwb2ludCB0byBhbHJlYWR5IGNsb3NlZCBwYXRoIQC3Q7pRAAAAAAAA//8AAAAAbgAAAG8AAABwAAAAcQAAAB4eHv9/f3///wAA/wD/AP8AAAAAEAAAAAAAAAASAAAAAAAAABkAAAAAAAAADgAAAAAAAAAWAAAA6AMAAP////8AAAD/AAAAAAEAAAACAAAAAgAAAAMAAAAAAAAAAQAAAAAAAAABAAAAAQAAAAAAAAADAAAAAgAAAAEAAAAAAAAAAgAAAAEAAAACAAAAAwAAAAIAAAABAAAAAwAAAAIAAAADAAAABAAAAAMAAAAAAAAABAAA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"),e=new Uint8Array(A.length);for(let t=0;t<A.length;t++)e[t]=A.charCodeAt(t);return await new Promise((A=>setTimeout(A,0))),e.buffer})();Ya.loadModule(_a,{memoryInitial:5,tableInitial:342,multithreaded:!1}),Ya.linkVariables(!1);const{constructor:Pa}=qa,Va=Ya.getSpecialExports(),{connect_web_gpu_programs:Ha,connect_on_asset_update_callback:Ta,connect_on_asset_selection_callback:Za,connect_cache_callbacks:ja,ASSET_ID_TRESHOLD:Xa,init_state:Wa,update_render_scale:$a,add_asset:Ag,remove_asset:eg,on_update_pick:tg,on_pointer_down:ig,on_pointer_up:ng,on_pointer_move:rg,on_pointer_leave:sg,commit_changes:ag,render_draw:gg,render_pick:og,reset_assets:Ig,destroy_state:cg,import_icons:Qg,set_tool:lg,stop_drawing_shape:Cg,add_shape:Bg}=Pa;await Va.init(),i()}catch(A){i(A)}}),1)},6561:(A,e,t)=>{A.exports=t.p+"e9072ac5eb734c67.png"},1285:(A,e,t)=>{var i=t(1388),n=t(6560),r=(t(4540),t(8e3));(0,n.co)({init(){this.accessorCache=new Map},getAccessor(A,e){const{type:t,bitSize:n,bitOffset:s,byteSize:a}=e,g=[],o=void 0===a&&(7&n||7&s);o&&g.push("Unaligned");let I=i.hQ[t];n>32&&(t===i.Z9.Int||t===i.Z9.Uint)&&(I=n<=64?`Big${I}`:`Jumbo${I}`),g.push(I,`${t===i.Z9.Bool&&a?8*a:n}`),o&&g.push(`@${s}`);const c=A+g.join("");let Q=DataView.prototype[c];if(Q)return Q;if(Q=this.accessorCache.get(c),Q)return Q;for(;g.length>0;){const t=`getAccessor${g.join("")}`;if(Q=this[t]?.(A,e))break;g.pop()}if(!Q)throw new Error(`No accessor available: ${c}`);return(0,r.n8)(Q,"name",(0,r.vQ)(c)),this.accessorCache.set(c,Q),Q}})},9592:(A,e,t)=>{var i=t(1388);(0,t(6560).co)({getAccessorBool(A,e){const{byteSize:t}=e,n=8*t,r=this.getAccessor(A,{type:i.Z9.Uint,bitSize:n,byteSize:t});if("get"===A)return function(A,e){return!!r.call(this,A,e)};{const A=n<=32?0:0n,e=n<=32?1:1n;return function(t,i,n){r.call(this,t,i?e:A,n)}}}})},5239:(A,e,t)=>{var i=t(1388);(0,t(6560).co)({getAccessorInt(A,e){const{bitSize:t,byteSize:n}=e;if(n){const e=this.getAccessor(A,{type:i.Z9.Uint,bitSize:8*n,byteSize:n}),r=2**(t-1),s=r-1;return"get"===A?function(A,t){const i=e.call(this,A,t);return(i&s)-(i&r)}:function(A,t,i){const n=t<0?r|t&s:t&s;e.call(this,A,n,i)}}}})},2148:(A,e,t)=>{(0,t(6560).co)({getAccessorUint(A,e){const{bitSize:t,byteSize:i}=e;if(i){const n=this.getAccessor(A,{...e,bitSize:8*i}),r=2**t-1;return"get"===A?function(A,e){return n.call(this,A,e)&r}:function(A,e,t){const i=e&r;n.call(this,A,i,t)}}}})},1388:(A,e,t)=>{t.d(e,{AD:()=>s,EK:()=>n,F7:()=>y,Nt:()=>I,Q6:()=>o,Q9:()=>f,UT:()=>c,Z9:()=>B,Zm:()=>l,e2:()=>C,ev:()=>i,hQ:()=>u,pK:()=>E,sU:()=>g,tv:()=>Q,uE:()=>a,yi:()=>r});const i={Primitive:0,Array:1,Struct:2,Union:3,ErrorUnion:4,ErrorSet:5,Enum:6,Optional:7,Pointer:8,Slice:9,Vector:10,Opaque:11,ArgStruct:12,VariadicStruct:13,Function:14},n=Object.keys(i),r={HasValue:1,HasObject:2,HasPointer:4,HasSlot:8},s={IsSize:16},a={HasSentinel:16,IsString:32,IsTypedArray:64,IsClampedArray:128},g={IsExtern:16,IsPacked:32,IsIterator:64,IsTuple:128,IsAllocator:256,IsPromise:512,IsGenerator:1024,IsAbortSignal:2048,IsOptional:4096,IsReader:8192,IsWriter:16384},o={IsOpenEnded:16,IsIterator:32},I={HasSelector:16},c={HasLength:16,IsMultiple:32,IsSingle:64,IsConst:128,IsNullable:256},Q={HasSentinel:16,IsString:32,IsTypedArray:64,IsClampedArray:128,IsOpaque:256},l={IsGlobal:16},C={HasOptions:16,IsThrowing:32,IsAsync:64},B={Void:0,Bool:1,Int:2,Uint:3,Float:4,Object:5,Type:6,Literal:7,Null:8,Undefined:9,Unsupported:10},u=Object.keys(B),E={IsRequired:1,IsReadOnly:2,IsPartOfSet:4,IsSelector:8,IsMethod:16,IsSentinel:32,IsBackingInt:64,IsString:128},f={OK:0,Failure:1,Deadlock:2,Disabled:3},y={IsInactive:1,IsImmutable:2,IgnoreUncreated:4,IgnoreInactive:8,IgnoreArguments:16,IgnoreRetval:32}},6560:(A,e,t)=>{t.d(e,{NP:()=>s,co:()=>r});var i=t(8e3);const n={name:"",mixins:[]};function r(A){return n.mixins.includes(A)||n.mixins.push(A),A}function s(){return function(A,e){const t=[],n=function(){for(const A of t)A.call(this)},{prototype:r}=n;(0,i.n8)(n,"name",(0,i.vQ)(A));for(const A of e)for(let[e,n]of Object.entries(A))if("init"===e)t.push(n);else{if("function"==typeof n);else{let A=r[e];if(void 0!==A)if(A?.constructor===Object)n=Object.assign({...A},n);else if(A!==n)throw new Error(`Duplicate property: ${e}`)}(0,i.n8)(r,e,(0,i.vQ)(n))}return n}(n.name,n.mixins)}},4762:(A,e,t)=>{t.d(e,{BC:()=>s,BY:()=>D,FD:()=>_,G9:()=>d,Ho:()=>l,Jc:()=>N,L2:()=>B,O0:()=>a,Pd:()=>S,QB:()=>z,Qm:()=>p,SB:()=>f,UQ:()=>G,Uv:()=>w,V0:()=>K,Vp:()=>M,Y8:()=>u,Zb:()=>I,_L:()=>E,_l:()=>x,a6:()=>Y,ci:()=>g,ck:()=>U,d_:()=>R,iS:()=>c,is:()=>C,nz:()=>h,qG:()=>m,qx:()=>q,t7:()=>o,to:()=>Q,v2:()=>J,vp:()=>L,x1:()=>k,xH:()=>y,xp:()=>v,zy:()=>b});var i=t(1388),n=t(4540),r=t(8e3);Error;class s extends SyntaxError{constructor(A){super(`Cannot convert ${A} to an Int`)}}class a extends TypeError{constructor(){super("Unsupported")}}class g extends TypeError{constructor(A){const{name:e}=A;super(`An initializer must be provided to the constructor of ${e}, even when the intended value is undefined`)}}class o extends TypeError{constructor(A,e,t=null){const{name:n,type:r,byteSize:s}=A,a=e.byteLength,g=1!==s?"s":"";let o;o=r!==i.ev.Slice||t?`${n} has ${r===i.ev.Slice?t.length*s:s} byte${g}, received ${a}`:`${n} has elements that are ${s} byte${g} in length, received ${a}`,super(o)}}class I extends TypeError{constructor(A){const{type:e,byteSize:t,typedArray:n}=A,r=1!==t?"s":"",s=["ArrayBuffer","DataView"].map(V);let a;n&&s.push(V(n.name)),a=e===i.ev.Slice?`Expecting ${T(s)} that can accommodate items ${t} byte${r} in length`:`Expecting ${T(s)} that is ${t} byte${r} in length`,super(a)}}class c extends TypeError{constructor(A,e){const{name:t}=A;let i;i="number"==typeof e||"bigint"==typeof e?`Value given does not correspond to an item of enum ${t}: ${e}`:`Enum item of the type ${t} expected, received ${e}`,super(i)}}class Q extends TypeError{constructor(A,e){const{name:t}=A,i=typeof e;let n;"string"===i||"number"===i||_(e)?(_(e)&&(e=`{ error: ${JSON.stringify(e.error)} }`),n=`Error ${i} does not corresponds to any error in error set ${t}: ${e}`):n=`Error of the type ${t} expected, received ${e}`,super(n)}}class l extends TypeError{constructor(A){const{name:e}=A;super(`Error given is not a part of error set ${e}`)}}TypeError,TypeError,TypeError,TypeError;class C extends TypeError{constructor(A,e,t){const{name:i}=A,n=[];if(Array.isArray(e))for(const A of e)n.push(V(A));else n.push(V(e));const r=P(t);super(`${i} expects ${T(n)} as argument, received ${r}`)}}class B extends C{constructor(A,e,t=!1){const{instance:{members:[s]},type:a,constructor:g}=A,o=[],I=(0,r.BF)(s);if(I){let A;switch(s.structure?.type){case i.ev.Enum:A="enum item";break;case i.ev.ErrorSet:A="error";break;default:A=I}o.push(`array of ${A}s`)}else o.push("array of objects");g[n.pM]&&o.push(g[n.pM].name),a===i.ev.Slice&&t&&o.push("length"),super(A,o.join(" or "),e)}}class u extends TypeError{constructor(A,e,t){const{name:i,length:n,instance:{members:[r]}}=A,{structure:{constructor:s}}=r,{length:a,constructor:g}=t,o=e?.length??n,I=1!==o?"s":"";let c;c=g===s?"only a single one":g.child===s?`a slice/array that has ${a}`:`${a} initializer${a>1?"s":""}`,super(`${i} has ${o} element${I}, received ${c}`)}}class E extends TypeError{constructor(A,e){super(A<0?"Length of slice cannot be negative":`Length of slice can be ${e} or less, received ${A}`)}}class f extends TypeError{constructor(A,e){const{name:t}=A;super(`Missing initializers for ${t}: ${e.join(", ")}`)}}class y extends TypeError{constructor(A,e){const{name:t,instance:{members:i}}=A;let n;n=i.find((A=>A.name===e))?`Comptime value cannot be changed: ${e}`:`${t} does not have a property with that name: ${e}`,super(n)}}class h extends Error{constructor(A,e,t=!1){super();const i=i=>{e-=i;const n=1!=(A-=i)?"s":"",r=t?"at least ":"";this.message=`Expecting ${r}${A} argument${n}, received ${e}`,this.stack=O(this.stack,"new Arg(")};i(0),(0,r.n8)(this,n.q6,{value:i,enumerable:!1})}}class m extends Error{constructor(){super("Undefined argument")}}class b extends TypeError{constructor(){super("Non-slice pointers can only be created with the help of the new operator")}}class p extends TypeError{constructor(){super("Casting to function is not allowed")}}class d extends TypeError{constructor(A,e){const{name:t}=A,{constructor:{name:i}}=e;super(`Conversion of ${i} to ${t} requires an explicit cast`)}}TypeError,TypeError;class w extends TypeError{constructor(A,e){super(`Unable to simultaneously align memory to ${e}-byte and ${A}-byte boundary`)}}TypeError;class S extends TypeError{constructor(A,e){const t=P(e);super(`Expected ${V(A)}, received ${t}`)}}TypeError;class D extends TypeError{constructor(){super("Null pointer")}}class v extends TypeError{constructor(A){super(`Object has been freed already: ${A.constructor.name}`)}}class z extends TypeError{constructor(A,e){const{name:t}=A;let i;if(null!=e){const A=e instanceof Object&&e.constructor!==Object?`${e.constructor.name} object`:typeof e;i=`${H(A)} ${A}`}else i=e+"";super(`${t} cannot point to ${i}`)}}class k extends TypeError{constructor(){super("Pointers in Zig memory cannot point to garbage-collected object")}}TypeError;class x extends RangeError{constructor(A,e){const{name:t}=A;super(`Index exceeds the size of ${t??"array"}: ${e}`)}}class G extends TypeError{constructor(A){const{name:e}=A;super((void 0!==e?`Property ${e}`:"Element")+" can only be undefined")}}class M extends TypeError{constructor(A){const{name:e,structure:{name:t}}=A;super(`Unable to create ${t} as it is not situated on a byte boundary: ${e}`)}}class F extends TypeError{constructor(){super("Unable to modify read-only object")}}class U extends TypeError{constructor(A){const{name:e}=A;super(`${e} cannot point to a read-only object`)}}TypeError,TypeError,TypeError;class J extends TypeError{constructor(){super("Unexpected async generator")}}class L extends Error{constructor(A,e=0){if(A instanceof Error)return super(A.message),A.stack=O(this.stack,e),A;super(A??"Error encountered in Zig code")}}class N extends L{constructor(A){super("Program exited"),this.code=A}}function R(A,e){const t=t=>{e-=t,A.message=`args[${e}]: ${A.message}`,A.stack=O(A.stack,"new Arg(")};return t(0),(0,r.n8)(A,n.q6,{value:t,enumerable:!1}),A}function O(A,e){if("string"==typeof A){const t=A.split("\n"),i=t.findIndex((A=>A.includes(e)));-1!==i&&(t.splice(1,i),A=t.join("\n"))}return A}function q(A,e,t){return t instanceof RangeError&&!(t instanceof x)&&(t=new x(A,e)),t}function K(){throw new F}function Y(A){let e=A.replace(/_/g," ");try{e=e.replace(/(\p{Uppercase}+)(\p{Lowercase}*)/gu,((A,e,t)=>1===e.length?` ${e.toLocaleLowerCase()}${t}`:t?A:` ${e}`)).trimStart()}catch(A){}return e.charAt(0).toLocaleUpperCase()+e.substring(1)}function _(A){return"object"==typeof A&&"string"==typeof A.error&&1===Object.keys(A).length}function P(A){const e=typeof A;let t;return t="object"===e?A?Object.prototype.toString.call(A):"null":e,V(t)}function V(A){return`${H(A)} ${A}`}function H(A){return/^\W*[aeiou]/i.test(A)?"an":"a"}function T(A,e="or"){const t=` ${e} `;return A.length>2?A.slice(0,-1).join(", ")+t+A[A.length-1]:A.join(t)}},7635:(A,e,t)=>{var i=t(1388),n=t(6560),r=t(4762),s=t(4540),a=t(8e3);function g(A){let e,t=1,n=null;if(A instanceof DataView){e=A;const i=e?.[s.Dr]?.align;i&&(t=i)}else if(A instanceof ArrayBuffer)e=new DataView(A);else if(A)if(A[s.Qy])A.constructor[s.ZE]===i.ev.Pointer&&(A=A["*"]),e=A[s.Qy],n=A.constructor,t=n[s.Ec];else{"string"==typeof A&&(A=(0,a.wx)(A));const{buffer:i,byteOffset:n,byteLength:r,BYTES_PER_ELEMENT:s}=A;i&&void 0!==n&&void 0!==r&&(e=new DataView(i,n,r),t=s)}return{dv:e,align:t,constructor:n}}(0,n.co)({defineAlloc:()=>({value(A,e=1){const t=Math.clz32(e);if(e!==1<<31-t)throw new Error(`Invalid alignment: ${e}`);const i=31-t,{vtable:{alloc:n},ptr:r}=this,a=n(r,A,i,0);if(!a)throw new Error("Out of memory");a.length=A;const g=a["*"][s.Qy];return g[s.Dr].align=e,g}}),defineFree(){const A=this;return{value(e){const{dv:t,align:i}=g(e),n=t?.[s.Dr];if(!n)throw new r.Pd("object containing allocated Zig memory",e);const{address:o}=n;if(o===a.Y$)throw new r.xp(e);const{vtable:{free:I},ptr:c}=this;I(c,t,31-Math.clz32(i),0),A.releaseZigView(t)}}},defineDupe(){const A=this.getCopyFunction();return{value(e){const{dv:t,align:i,constructor:n}=g(e);if(!t)throw new r.Pd("string, DataView, typed array, or Zig object",e);const s=this.alloc(t.byteLength,i);return A(s,t),n?n(s):s}}}})},4358:(A,e,t)=>{var i=t(1388),n=t(6560),r=t(4540);(0,n.co)({init(){this.variables=[]},getSpecialExports(){const A=A=>{if(void 0===A)throw new Error("Not a Zig type");return A};return{init:(...A)=>this.initialize?.(...A),abandon:()=>this.abandonModule?.(),connect:A=>this.consoleObject=A,sizeOf:e=>A(e?.[r.SK]),alignOf:e=>A(e?.[r.Ec]),typeOf:e=>s[A(e?.[r.ZE])]}},recreateStructures(A,e){Object.assign(this,e);const t=(A,e)=>{for(const[t,i]of Object.entries(e))A[t]=n(i);return A},i=A=>A.length?A.buffer:new ArrayBuffer(0),n=A=>{const{memory:e,structure:n,actual:s}=A;if(e){if(s)return s;{const{array:s,offset:a,length:g}=e,o=this.obtainView(i(s),a,g),{handle:I,const:c}=A,Q=n?.constructor,l=A.actual=Q.call(r.M0,o);return c&&this.makeReadOnly(l),A.slots&&t(l[r._f],A.slots),I&&this.variables.push({handle:I,object:l}),l}}return n},s=new Map;for(const e of A){for(const A of[e.instance,e.static])if(A.template){const{slots:e,memory:t,handle:n}=A.template,a=A.template={};if(t){const{array:A,offset:e,length:s}=t;a[r.Qy]=this.obtainView(i(A),e,s),n&&this.variables.push({handle:n,object:a})}if(e){const A=a[r._f]={};s.set(A,e)}}this.defineStructure(e)}for(const[A,e]of s)t(A,e);for(const e of A)this.finalizeStructure(e)}});const s=i.EK.map((A=>A.replace(/([a-z])([A-Z])/g,"$1 $2").toLowerCase()))},4828:(A,e,t)=>{var i=t(1388),n=t(6560),r=t(4762),s=t(4540);(0,n.co)({init(){this.jsFunctionThunkMap=new Map,this.jsFunctionCallerMap=new Map,this.jsFunctionControllerMap=new Map,this.jsFunctionIdMap=new WeakMap,this.jsFunctionNextId=1},getFunctionId(A){let e=this.jsFunctionIdMap.get(A);return void 0===e&&(e=this.jsFunctionNextId++,this.jsFunctionIdMap.set(A,e)),e},getFunctionThunk(A,e){const t=this.getFunctionId(A);let i=this.jsFunctionThunkMap.get(t);if(void 0===i){const A=this.getViewAddress(e[s.Qy]),n=this.createJsThunk(A,t);if(!n)throw new Error("Unable to create function thunk");i=this.obtainZigView(n,0),this.jsFunctionThunkMap.set(t,i),this.jsFunctionControllerMap.set(t,e)}return i},createInboundCaller(A,e){const t=this.getFunctionId(A);return this.jsFunctionCallerMap.set(t,((t,n)=>{let a=i.Q9.OK,g=!1;try{const o=e(t);if(s.g9 in o){o[s.g9]("reset");const A=this.startContext();this.updatePointerTargets(A,o,!0),this.updateShadowTargets(A),this.endContext()}const I=function(A){try{if(!(e[s.du]&&A instanceof Error))throw A;o[s.zg](A)}catch(e){a=i.Q9.Failure,console.error(A)}},c=function(A){try{o[s.zg](A)}catch(A){a=i.Q9.Failure,console.error(A)}};try{const e=A(...o),t=o.hasOwnProperty(s.zg);if("Promise"===e?.[Symbol.toStringTag])if(n||t){const A=e.then(c,I);n&&A.then((()=>this.finalizeAsyncCall(n,a))),g=!0,a=i.Q9.OK}else a=i.Q9.Deadlock;else if(e?.[Symbol.asyncIterator]){if(!o.hasOwnProperty(s.wg))throw new r.v2;this.pipeContents(e,o),a=i.Q9.OK}else null==e&&t||c(e)}catch(A){I(A)}}catch(A){console.error(A),a=i.Q9.Failure}return n&&!g&&this.finalizeAsyncCall(n,a),a})),function(...e){return A(...e)}},defineArgIterator(A){const e=this,t=A.filter((({structure:A})=>A.type===i.ev.Struct&&A.flags&i.sU.IsAllocator)).length;return{value(){let n,r=0,a=0,g=0;const o=[];for(const[I,{structure:c,type:Q}]of A.entries())try{let A,l,C=this[I];Q===i.Z9.Object&&C?.[s.Qy]?.[s.Dr]&&(C=new C.constructor(C)),c.type===i.ev.Struct&&(c.flags&i.sU.IsAllocator?(A=1===t?"allocator":"allocator"+ ++r,l=this[s.Gz]=C):c.flags&i.sU.IsPromise?(A="callback",1==++a&&(l=e.createPromiseCallback(this,C))):c.flags&i.sU.IsGenerator?(A="callback",1==++a&&(l=e.createGeneratorCallback(this,C))):c.flags&i.sU.IsAbortSignal&&(A="signal",1==++g&&(l=e.createInboundSignal(C)))),void 0!==A?void 0!==l&&(n||={},n[A]=l):o.push(C)}catch(A){o.push(A)}return n&&o.push(n),o[Symbol.iterator]()}}},handleJsCall(A,e,t,n=0){const r=this.obtainZigView(e,t,!1),s=this.jsFunctionCallerMap.get(A);return s?s(r,n):i.Q9.Failure},releaseFunction(A){const e=this.jsFunctionThunkMap.get(A),t=this.jsFunctionControllerMap.get(A);if(e&&t){const i=this.getViewAddress(t[s.Qy]),n=this.getViewAddress(e);this.destroyJsThunk(i,n),this.releaseZigView(e),A&&(this.jsFunctionThunkMap.delete(A),this.jsFunctionCallerMap.delete(A),this.jsFunctionControllerMap.delete(A))}},freeFunction(A){this.releaseFunction(this.getFunctionId(A))},exports:{handleJsCall:{argType:"iiii",returnType:"i"},releaseFunction:{argType:"i"}},imports:{createJsThunk:{argType:"ii",returnType:"i"},destroyJsThunk:{argType:"ii",returnType:"i"},finalizeAsyncCall:{argType:"ii"}}})},6973:(A,e,t)=>{var i=t(1388),n=t(6560),r=t(4762),s=t(4540);(0,n.co)({createOutboundCaller(A,e){const t=this,i=function(...n){if(!t.runThunk)return t.initPromise.then((()=>i(...n)));const a=new e(n,this?.[s.Gz]);try{return t.invokeThunk(A,i,a)}catch(A){if(A instanceof r.Jc&&0===A.code)return;throw A}};return i},copyArguments(A,e,t,n,a){let g=0,o=0,I=0;const c=A[s.Bl];for(const{type:s,structure:Q}of t){let t,l,C,B;if(Q.type===i.ev.Struct&&(Q.flags&i.sU.IsAllocator?t=(1==++I?n?.allocator??n?.allocator1:n?.[`allocator${I}`])??this.createDefaultAllocator(A,Q):Q.flags&i.sU.IsPromise?(l||=this.createPromise(Q,A,n?.callback),t=l):Q.flags&i.sU.IsGenerator?(C||=this.createGenerator(Q,A,n?.callback),t=C):Q.flags&i.sU.IsAbortSignal?(B||=this.createSignal(Q,n?.signal),t=B):Q.flags&i.sU.IsReader?t=this.createReader(e[o++]):Q.flags&i.sU.IsWriter&&(t=this.createWriter(e[o++]))),void 0===t&&(t=e[o++],void 0===t&&s!==i.Z9.Void))throw new r.qG;try{c[g++].call(A,t,a)}catch(A){throw(0,r.d_)(A,g-1)}}},invokeThunk(A,e,t){const i=this.startContext(),n=t[s.iw],a=this.getViewAddress(A[s.Qy]),g=this.getViewAddress(e[s.Qy]),o=s.vm in t,I=s.g9 in t;I&&this.updatePointerAddresses(i,t);const c=this.getShadowAddress(i,t,null,!1),Q=n?this.getShadowAddress(i,n):0;this.updateShadows(i);const l=()=>{this.updateShadowTargets(i),I&&this.updatePointerTargets(i,t),this.libc&&this.flushStdout?.(),this.flushConsole?.(),this.endContext()};if(o&&(t[s.vm]=l),!(n?this.runVariadicThunk(a,g,c,Q,n.length):this.runThunk(a,g,c)))throw l(),new r.vp;if(t[s.sF]?.(this.findShadowView(t[s.Qy])),o){let A=null;try{A=t.retval}catch(e){A=new r.vp(e,1)}return null!=A?(e[s.fM]&&A&&(A=A.string),t[s.zg](A)):e[s.fM]&&(t[s.fM]=!0),t[s.eR]??t[s._d]}l();try{const{retval:A}=t;return e[s.fM]&&A?A.string:A}catch(A){throw new r.vp(A,1)}},imports:{runThunk:{argType:"iii",returnType:"b"},runVariadicThunk:{argType:"iiiii",returnType:"b"}}})},2427:(A,e,t)=>{var i=t(1388),n=t(6560),r=t(4540),s=t(8e3);(0,n.co)({init(){const A={type:i.Z9.Int,bitSize:8,byteSize:1},e={type:i.Z9.Int,bitSize:16,byteSize:2},t={type:i.Z9.Int,bitSize:32,byteSize:4},n=this.getAccessor("get",A),r=this.getAccessor("set",A),a=this.getAccessor("get",e),g=this.getAccessor("set",e),o=this.getAccessor("get",t),I=this.getAccessor("set",t);this.copiers={0:s.Ie,1:function(A,e){r.call(A,0,n.call(e,0))},2:function(A,e){g.call(A,0,a.call(e,0,!0),!0)},4:function(A,e){I.call(A,0,o.call(e,0,!0),!0)},8:function(A,e){I.call(A,0,o.call(e,0,!0),!0),I.call(A,4,o.call(e,4,!0),!0)},16:function(A,e){I.call(A,0,o.call(e,0,!0),!0),I.call(A,4,o.call(e,4,!0),!0),I.call(A,8,o.call(e,8,!0),!0),I.call(A,12,o.call(e,12,!0),!0)},any:function(A,e){let t=0,i=A.byteLength;for(;t+4<=i;)I.call(A,t,o.call(e,t,!0),!0),t+=4;for(;t+1<=i;)r.call(A,t,n.call(e,t)),t++}},this.resetters={0:s.Ie,1:function(A,e){r.call(A,e,0)},2:function(A,e){g.call(A,e,0,!0)},4:function(A,e){I.call(A,e,0,!0)},8:function(A,e){I.call(A,e+0,0,!0),I.call(A,e+4,0,!0)},16:function(A,e){I.call(A,e+0,0,!0),I.call(A,e+4,0,!0),I.call(A,e+8,0,!0),I.call(A,e+12,0,!0)},any:function(A,e,t){let i=e;for(;i+4<=t;)I.call(A,i,0,!0),i+=4;for(;i+1<=t;)r.call(A,i,0),i++}}},defineCopier(A,e){const t=this.getCopyFunction(A,e);return{value(A){this[r.zN]?.(),A[r.zN]?.();const e=A[r.Qy],i=this[r.Qy];t(i,e)}}},defineResetter(A,e){const t=this.getResetFunction(e);return{value(){this[r.zN]?.();const i=this[r.Qy];t(i,A,e)}}},getCopyFunction(A,e=!1){return(e?void 0:this.copiers[A])??this.copiers.any},getResetFunction(A){return this.resetters[A]??this.resetters.any},...{defineRetvalCopier({byteSize:A,bitOffset:e}){if(A>0){const t=this,i=e>>3,n=this.getCopyFunction(A);return{value(e){const s=this[r.Qy],{address:a}=e[r.Dr],g=new DataView(t.memory.buffer,a+i,A),o=new DataView(s.buffer,s.byteOffset+i,A);n(o,g)}}}},copyExternBytes(A,e,t){const{memory:i}=this,n=new DataView(i.buffer,e,t);this.getCopyFunction(t)(A,n)}}})},1669:(A,e,t)=>{var i=t(1388),n=t(6560),r=t(4762);(0,n.co)({addIntConversion:A=>function(e,t){const n=A.call(this,e,t),{flags:s,bitSize:a}=t;if("set"===e)return a>32?function(A,e,t){n.call(this,A,BigInt(e),t)}:function(A,e,t){const i=Number(e);if(!isFinite(i))throw new r.BC(e);n.call(this,A,i,t)};{const{flags:A}=t.structure;if(A&i.AD.IsSize&&a>32){const A=BigInt(Number.MAX_SAFE_INTEGER),e=BigInt(Number.MIN_SAFE_INTEGER);return function(t,i){const r=n.call(this,t,i);return e<=r&&r<=A?Number(r):r}}}return n}})},1674:(A,e,t)=>{var i=t(6560),n=t(4540),r=t(8e3);(0,i.co)({init(){this.defaultAllocator=null,this.allocatorVtable=null,this.allocatorContextMap=new Map,this.nextAllocatorContextId=(0,r.hA)(4096)},createDefaultAllocator(A,e){let t=this.defaultAllocator;return t||(t=this.defaultAllocator=this.createJsAllocator(A,e,!1)),t},createJsAllocator(A,e,t){const{constructor:i}=e;let s=this.allocatorVtable;if(!s){const{noResize:A,noRemap:e}=i;s=this.allocatorVtable={alloc:this.allocateHostMemory.bind(this),free:this.freeHostMemory.bind(this),resize:A},e&&(s.remap=e),this.destructors.push((()=>this.freeFunction(s.alloc))),this.destructors.push((()=>this.freeFunction(s.free)))}let a=r.Fy;if(t){const e=[];a=this.nextAllocatorContextId++,this.allocatorContextMap.set(a,e),A[n.Ut]=A=>{for(const{address:t,len:i}of e){const e=this.unregisterMemory(t,i);e&&this.freeShadowMemory(e.shadowDV),A&&this.allocatorContextMap.delete(a)}e.splice(0)}}return new i({ptr:this.obtainZigView(a,0),vtable:s})},allocateHostMemory(A,e,t){const i=this.getViewAddress(A["*"][n.Qy]),s=i!=r.Fy?this.allocatorContextMap.get(i):null,a=1<<t,g=this.allocateJSMemory(e,a);try{const A=this.allocateShadowMemory(e,a),t=this.getViewAddress(A);return this.registerMemory(t,e,a,!0,g,A),s?.push({address:t,len:e}),A}catch(A){return null}},freeHostMemory(A,e,t){const i=e["*"][n.Qy],r=this.getViewAddress(i),s=i.byteLength,a=this.unregisterMemory(r,s);a&&this.freeShadowMemory(a.shadowDV)}})},6929:(A,e,t)=>{var i=t(6560),n=t(4762),r=t(4540),s=t(8e3);function a(A,e){return(0,s.ZG)(A,e,(A=>A.address))}(0,i.co)({init(){this.isMemoryMapping=!0,this.memoryList=[],this.contextCount=0},startContext(){return++this.contextCount,{shadowList:[]}},endContext(){if(0==--this.contextCount){for(const{shadowDV:A}of this.memoryList)A&&this.freeShadowMemory(A);this.memoryList.splice(0)}},getShadowAddress(A,e,t,i){const a=e[r.Qy];if(t){if(void 0===t.address){const{start:e,end:o,targets:I}=t;let c,Q=0;for(const A of I){const e=A[r.Qy],t=e.byteOffset,i=A.constructor[r.Ec]??e[r.Ec];(void 0===Q||i>Q)&&(Q=i,c=t)}const l=o-e,C=this.allocateShadowMemory(l+Q,1),B=this.getViewAddress(C),u=(0,s.hJ)((0,s.Au)(B,c-e),Q),E=(0,s.Au)(u,e-c);for(const A of I){const t=A[r.Qy],i=t.byteOffset;if(i!==c){const a=A.constructor[r.Ec]??t[r.Ec];if((0,s.on)((0,s.Au)(E,i-e),a))throw new n.Uv(a,Q)}}const f=C.byteOffset+Number(E-B),y=new DataView(C.buffer,f,l);y[r.Dr]={address:E,len:l,align:1,unalignedAddress:B,type:g.Scratch};const h=new DataView(a.buffer,Number(e),l),m=this.registerMemory(E,l,1,i,h,y);A.shadowList.push(m),t.address=E}return(0,s.Au)(t.address,a.byteOffset-t.start)}{const t=e.constructor[r.Ec]??a[r.Ec],n=a.byteLength,s=this.allocateShadowMemory(n,t),g=this.getViewAddress(s),o=this.registerMemory(g,n,1,i,a,s);return A.shadowList.push(o),g}},updateShadows(A){const e=this.getCopyFunction();for(let{targetDV:t,shadowDV:i}of A.shadowList)i=this.restoreView(i),e(i,t)},updateShadowTargets(A){const e=this.getCopyFunction();for(let{targetDV:t,shadowDV:i,writable:n}of A.shadowList)n&&(i=this.restoreView(i),e(t,i))},registerMemory(A,e,t,i,n,r){const s=a(this.memoryList,A);let g=this.memoryList[s-1];return g?.address===A&&g.len===e?g.writable||=i:(g={address:A,len:e,align:t,writable:i,targetDV:n,shadowDV:r},this.memoryList.splice(s,0,g)),g},unregisterMemory(A,e){const t=a(this.memoryList,A),i=this.memoryList[t-1];if(i?.address===A&&i.len===e)return this.memoryList.splice(t-1,1),i},findMemory(A,e,t,i){let n=t*(i??0);const g=a(this.memoryList,e),o=this.memoryList[g-1];let I;if(o?.address===e&&o.len===n)I=o.targetDV;else if(o?.address<=e&&(0,s.Au)(e,n)<=(0,s.Au)(o.address,o.len)){const A=Number(e-o.address),t=void 0===i,{targetDV:s}=o;t&&(n=s.byteLength-A),I=this.obtainView(s.buffer,s.byteOffset+A,n),t&&(I[r.Ec]=o.align)}if(I){let{targetDV:e,shadowDV:t}=o;t&&A&&!A.shadowList.includes(o)&&(t=this.restoreView(t),this.getCopyFunction()(e,t))}else I=this.obtainZigView(e,n);return I},findShadowView(A){for(const{shadowDV:e,targetDV:t}of this.memoryList)if(t===A)return e},releaseZigView(A){const e=A[r.Dr],t=e?.address;t&&t!==s.Y$&&(e.address=s.Y$)},getViewAddress(A){const e=A[r.Dr];if(e)return e.address;{const e=this.getBufferAddress(A.buffer);return(0,s.Au)(e,A.byteOffset)}},...{imports:{allocateScratchMemory:{argType:"ii",returnType:"i"},freeScratchMemory:{argType:"iii"}},exports:{getViewAddress:{argType:"v",returnType:"i"}},usizeMaxBuffer:new ArrayBuffer(0),allocateShadowMemory(A,e){const t=A?this.allocateScratchMemory(A,e):0;if(!t&&A)throw new Error("Out of memory");const i=this.obtainZigView(t,A),n=i?.[r.Dr];return n&&(n.align=e),i},freeShadowMemory(A){const{address:e,unalignedAddress:t,len:i,align:n}=A[r.Dr];i&&this.freeScratchMemory(t??e,i,n),this.releaseZigView(A)},obtainZigView(A,e,t=!0){if((0,s.cv)(A)&&(A=e>0?0:s.Fy),!A&&e)return null;let i,{buffer:n}=this.memory;return A===s.Fy&&(n=this.usizeMaxBuffer,A=s.$k,e=0),t?i=this.obtainView(n,A,e):(i=new DataView(n,A,e),i[r.Dr]={address:A,len:e}),i},getTargetAddress(A,e,t,i){const n=e[r.Qy];return n[r.Dr]?this.getViewAddress(n):0===n.byteLength?0:this.getShadowAddress(A,e,t,i)},getBufferAddress:A=>0}});const g={Normal:0,Scratch:1}},4936:(A,e,t)=>{var i=t(6560),n=t(8e3);(0,i.co)({init(){this.abandoned=!1,this.destructors=[],this.nextValueIndex=1,this.valueMap=new Map,this.valueIndices=new Map,this.options=null,this.executable=null,this.memory=null,this.table=null,this.initialTableLength=0,this.exportedFunctions=null},abandonModule(){if(!this.abandoned){for(const A of this.destructors.reverse())A();this.abandoned=!0}},...{imports:{initialize:{argType:""}},exports:{displayPanic:{argType:"ii"}},async initialize(A){this.setCustomWASI?.(A),await this.initPromise},getObjectIndex(A){if(null!=A){let e=this.valueIndices.get(A);return void 0===e&&(e=this.nextValueIndex++,this.valueIndices.set(A,e),this.valueMap.set(e,A)),e}return 0},fromWebAssembly(A,e){switch(A){case"v":case"s":return this.valueMap.get(e);case"i":return e;case"b":return!!e}},toWebAssembly(A,e){switch(A){case"v":case"s":return this.getObjectIndex(e);case"i":return e;case"b":return e?1:0}},exportFunction(A,e="",t="",i){return A?(...i)=>{i=i.map(((A,t)=>this.fromWebAssembly(e.charAt(t),A)));const n=A.apply(this,i);return this.toWebAssembly(t,n)}:()=>{}},importFunction(A,e="",t=""){return(...i)=>{i=i.map(((A,t)=>this.toWebAssembly(e.charAt(t),A)));const n=A.apply(this,i);return this.fromWebAssembly(t,n)}},exportFunctions(){const A={};for(const[e,{argType:t,returnType:i,alias:n}]of Object.entries(this.exports)){const r=this[n??e];r&&(A[`_${e}`]=this.exportFunction(r,t,i,e))}return A},importFunctions(A){for(const[e,{argType:t,returnType:i}]of Object.entries(this.imports)){const s=A[e];s&&((0,n.n8)(this,e,(0,n.vQ)(this.importFunction(s,t,i))),this.destructors.push((()=>this[e]=r)))}},async instantiateWebAssembly(A,e){const{memoryInitial:t,memoryMax:i,tableInitial:r,multithreaded:s}=this.options=e,a=await A,g="Response"===a[Symbol.toStringTag]?"Streaming":"",o=WebAssembly,I=o["compile"+g],c=this.executable=await I(a),Q=this.exportFunctions(),l={},C={},B={},u=this.exportedModules={env:l,wasi:C,wasi_snapshot_preview1:B};for(const{module:A,name:e,kind:t}of o.Module.imports(c))"function"===t&&("env"===A?l[e]=Q[e]??n.Ie:"wasi_snapshot_preview1"===A?B[e]=this.getWASIHandler(e):"wasi"===A&&(C[e]=this.getThreadHandler?.(e)??n.Ie));return this.memory=l.memory=new o.Memory({initial:t,maximum:i,shared:s}),this.table=l.__indirect_function_table=new o.Table({initial:r,element:"anyfunc",shared:s}),this.initialTableLength=r,o.instantiate(c,u)},loadModule(A,e){return this.initPromise=(async()=>{const t=await this.instantiateWebAssembly(A,e),{exports:i}=t;if(this.importFunctions(i),this.customWASI){const A={...i,memory:this.memory},e=new Proxy(t,{get:(e,t)=>"exports"===t?A:e[t]});this.customWASI.initialize?.(e)}this.initialize()})()},displayPanic(A,e){const t=new Uint8Array(this.memory.buffer,A,e),i=(0,n.g7)(t);console.error(`Zig panic: ${i}`)}}});const r=()=>{throw new Error("Module was abandoned")}},9268:(A,e,t)=>{var i=t(1388),n=t(6560),r=t(4540);(0,n.co)({linkVariables(A){if(!this.memory)return void(this.initPromise=this.initPromise.then((()=>this.linkVariables(A))));const e=this.getCopyFunction();for(const{object:t,handle:n}of this.variables){const s=t[r.Qy],a=n;let g=t[r.Qy]=this.obtainZigView(a,s.byteLength);A&&e(g,s),t.constructor[r.fV]?.save?.(g,t),this.destructors.push((()=>{g=this.restoreView(t[r.Qy]);const A=t[r.Qy]=this.allocateMemory(g.bytelength);e(A,g)}));const o=A=>{const e=A[r._f];if(e){const A=g.byteOffset;for(const t of Object.values(e))if(t){const e=t[r.Qy];if(e.buffer===s.buffer){const i=A+e.byteOffset-s.byteOffset;t[r.Qy]=this.obtainView(g.buffer,i,e.byteLength),t.constructor[r.fV]?.save?.(g,t),o(t)}}}};o(t),t[r.g9]?.((function(){this[r.q6]()}),i.F7.IgnoreInactive)}},imports:{recreateAddress:{argType:"i",returnType:"i"}}})},7409:(A,e,t)=>{var i=t(1388),n=t(6560),r=t(4540),s=t(8e3);(0,n.co)({updatePointerAddresses(A,e){const t=new Map,n=new Map,a=[],g=function(A){const e=this[r.C7];if(void 0===t.get(e)){const A=e[r._f][0];if(A){const i={target:A,writable:!e.constructor.const},o=A[r.Qy];if(o[r.Dr])t.set(e,null);else{t.set(e,A);const I=n.get(o.buffer);if(I){const A=Array.isArray(I)?I:[I],e=(0,s.ZG)(A,o.byteOffset,(A=>A.target[r.Qy].byteOffset));A.splice(e,0,i),Array.isArray(I)||(n.set(o.buffer,A),a.push(A))}else n.set(o.buffer,i);A[r.g9]?.(g,0)}}}},o=i.F7.IgnoreRetval|i.F7.IgnoreInactive;e[r.g9](g,o);const I=this.findTargetClusters(a),c=new Map;for(const A of I)for(const e of A.targets)c.set(e,A);for(const[e,i]of t)if(i){const t=c.get(i),n=t?.writable??!e.constructor.const;e[r.BD]=this.getTargetAddress(A,i,t,n),r.pi in e&&(e[r.pi]=i.length)}},updatePointerTargets(A,e,t=!1){const n=new Map,s=function(e){const t=this[r.C7];if(!n.get(t)){n.set(t,!0);const a=t[r._f][0],g=a&&e&i.F7.IsImmutable?a:t[r.q6](A,!0,!(e&i.F7.IsInactive)),o=t.constructor.const?i.F7.IsImmutable:0;o&i.F7.IsImmutable||a&&!a[r.Qy][r.Dr]&&a[r.g9]?.(s,o),g!==a&&g&&!g[r.Qy][r.Dr]&&g?.[r.g9]?.(s,o)}},a=t?i.F7.IgnoreRetval:0;e[r.g9](s,a)},findTargetClusters(A){const e=[];for(const t of A){let A=null,i=0,n=0,s=null;for(const{target:a,writable:g}of t){const t=a[r.Qy],{byteOffset:o,byteLength:I}=t,c=o+I;let Q=!0;A&&(n>o?(s?s.writable||=g:(s={targets:[A],start:i,end:n,address:void 0,misaligned:void 0,writable:g},e.push(s)),s.targets.push(a),c>n?s.end=c:Q=!1):s=null),Q&&(A=a,i=o,n=c)}}return e}})},2436:(A,e,t)=>{var i=t(6560),n=t(8e3);(0,i.co)({...{exports:{allocateJsThunk:{argType:"ii",returnType:"i"},freeJsThunk:{argType:"ii",returnType:"i"}},init(){this.thunkSources=[],this.thunkMap=new Map},addJsThunkSource(){const{memoryInitial:A,memoryMax:e,tableInitial:t,multithreaded:i}=this.options,r=WebAssembly,s={},a={},g={env:s,wasi:{},wasi_snapshot_preview1:a};for(const{module:A,name:e,kind:t}of r.Module.imports(this.executable))"function"===t&&("env"===A?s[e]=n.Ie:"wasi_snapshot_preview1"===A&&(a[e]=n.Ie));s.memory=new r.Memory({initial:A,maximum:e,shared:i});const o=s.__indirect_function_table=new r.Table({initial:t,element:"anyfunc"}),{exports:I}=new r.Instance(this.executable,g),{createJsThunk:c,destroyJsThunk:Q}=I,l={thunkCount:0,createJsThunk:c,destroyJsThunk:Q,table:o};return this.thunkSources.unshift(l),l},allocateJsThunk(A,e){let t,i=0;for(t of this.thunkSources){i=t.createJsThunk(A,e);break}i||(t=this.addJsThunkSource(),i=t.createJsThunk(A,e));const n=t.table.get(i);let r=0;for(let A=this.table.length-1;A>=this.initialTableLength;A--)if(!this.table.get(A)){r=A;break}return r||(r=this.table.length,this.table.grow(8)),this.table.set(r,n),t.thunkCount++,this.thunkMap.set(n,{source:t,sourceAddress:i}),r},freeJsThunk(A,e){let t=0;const i=this.table.get(e);this.table.set(e,null);const n=this.thunkMap.get(i);if(n){const{source:e,sourceAddress:r}=n;if(t=e.destroyJsThunk(A,r),0==--e.thunkCount){const A=this.thunkSources.indexOf(e);-1!==A&&this.thunkSources.splice(A,1)}this.thunkMap.delete(i)}return t}}})},8738:(A,e,t)=>{var i=t(1388),n=t(6560),r=t(4762),s=t(4540),a=t(8e3);function g(A,e){const{byteSize:t,type:n}=e;if(!(n===i.ev.Slice?A.byteLength%t==0:A.byteLength===t))throw new r.t7(e,A)}function o(A){throw new r.Zb(A)}(0,n.co)({init(){this.viewMap=new WeakMap},extractView(A,e,t=o){const{type:n,byteSize:I,constructor:c}=A;let Q;const l=e?.[Symbol.toStringTag];if(l&&("DataView"===l?Q=this.registerView(e):"ArrayBuffer"===l?Q=this.obtainView(e,0,e.byteLength):(l&&l===c[s.pM]?.name||"Uint8ClampedArray"===l&&c[s.pM]===Uint8Array)&&(Q=this.obtainView(e.buffer,e.byteOffset,e.byteLength))),!Q){const t=e?.[s.Qy];if(t){const{constructor:s,instance:{members:[g]}}=A;if((0,a.pU)(e,s))return t;if(function(A){return A===i.ev.Array||A===i.ev.Vector||A===i.ev.Slice}(n)){const{byteSize:s,structure:{constructor:o}}=g,c=(0,a.be)(e,o);if(void 0!==c){if(n===i.ev.Slice||c*s===I)return t;throw new r.Y8(A,null,e)}}}}return Q?void 0!==I&&g(Q,A):t?.(A,e),Q},assignView(A,e,t,n,a){const{byteSize:o,type:I}=t,c=o??1;if(A[s.Qy]){const n=I===i.ev.Slice?c*A.length:c;if(e.byteLength!==n)throw new r.t7(t,e,A);const a={[s.Qy]:e};A.constructor[s.fd]?.validateData?.(a,A.length),A[s.sF](a)}else{void 0!==o&&g(e,t);const i=e.byteLength/c,r={[s.Qy]:e};A.constructor[s.fd]?.validateData?.(r,i),a&&(n=!0),A[s.IW](n?null:e,i,a),n&&A[s.sF](r)}},findViewAt(A,e,t){let i,n=this.viewMap.get(A);if(n)if(n instanceof DataView)if(n.byteOffset===e&&n.byteLength===t)i=n,n=null;else{const e=n,t=`${e.byteOffset}:${e.byteLength}`;n=new Map([[t,e]]),this.viewMap.set(A,n)}else i=n.get(`${e}:${t}`);return i?.[s.Dr]?.address===a.Y$&&(i=null),{existing:i,entry:n}},obtainView(A,e,t){const{existing:i,entry:n}=this.findViewAt(A,e,t);let r;return i||(r=new DataView(A,e,t),n?n.set(`${e}:${t}`,r):this.viewMap.set(A,r),A!==this.memory?.buffer&&A!==this.usizeMaxBuffer||(r[s.Dr]={address:e,len:t}),r)},registerView(A){if(!A[s.Dr]){const{buffer:e,byteOffset:t,byteLength:i}=A,{existing:n,entry:r}=this.findViewAt(e,t,i);if(n)return n;r?r.set(`${t}:${i}`,A):this.viewMap.set(e,A)}return A},allocateMemory(A,e=0,t=null){return t?.alloc?.(A,e)??this.allocateJSMemory(A,e)},...{allocateJSMemory(A,e){return this.obtainView(new ArrayBuffer(A),0,A)},restoreView(A){const e=A?.[s.Dr];return e?.len>0&&0===A.buffer.byteLength&&(A=this.obtainZigView(e.address,e.len),e.align&&(A[s.Dr].align=e.align)),A},defineRestorer(){const A=this;return{value(){const e=this[s.Qy],t=A.restoreView(e);if(e!==t){const A=this[s.KK]??this;return A[s.Qy]=t,A.constructor[s.fV]?.save?.(t,A[s.rG]??A),!0}return!1}}}}})},1432:(A,e,t)=>{var i=t(6560),n=t(4762),r=t(4540);(0,i.co)({makeReadOnly(A){g(A)}});const s=Object.getOwnPropertyDescriptors,a=Object.defineProperty;function g(A){const e=A[r.C7];if(e)o(e,["length"]);else{const e=A[r.sO];e?(o(e),function(A){a(A,"set",{value:n.V0});const e=A.get;a(A,"get",{value:function(A){const t=e.call(this,A);return null===t?.[r.KK]&&g(t),t}})}(e)):o(A)}}function o(A,e=[]){const t=s(A.constructor.prototype);for(const[i,r]of Object.entries(t))r.set&&!e.includes(i)&&(r.set=n.V0,a(A,i,r));a(A,r.KK,{value:A})}},4773:(A,e,t)=>{t.d(e,{M:()=>n});var i=t(6560);function n(){return new((0,i.NP)())}},1454:(A,e,t)=>{var i=t(6560),n=t(4540),r=t(8e3);function s(){const A=this[n.sO]??this,e=this.length;let t=0;return{next(){let i,n;if(t<e){const e=t++;i=A.get(e),n=!1}else n=!0;return{value:i,done:n}}}}function a(A){const e=(0,r.L9)(A),t=this[n.sO]??this,i=this.length;let s=0;return{next(){let A,n;if(s<i){const i=s++;A=[i,e((()=>t.get(i)))],n=!1}else n=!0;return{value:A,done:n}}}}function g(A){return{[Symbol.iterator]:a.bind(this,A),length:this.length}}(0,i.co)({defineArrayEntries:()=>(0,r.vQ)(g),defineArrayIterator:()=>(0,r.vQ)(s)})},6402:(A,e,t)=>{var i=t(6560),n=t(4540),r=t(8e3);function s(A){return{[Symbol.iterator]:g.bind(this,A),length:this[n.n5].length}}function a(A){return s.call(this,A)[Symbol.iterator]()}function g(A){const e=(0,r.L9)(A),t=this,i=this[n.n5];let s=0;return{next(){let A,n;if(s<i.length){const r=i[s++];A=[r,e((()=>t[r]))],n=!1}else n=!0;return{value:A,done:n}}}}(0,i.co)({defineStructEntries:()=>(0,r.vQ)(s),defineStructIterator:()=>(0,r.vQ)(a)})},9098:(A,e,t)=>{t.d(e,{E:()=>n});var i=t(1388);function n(A,{get:e,set:t}){return void 0!==A?{get:function(){return e.call(this,A)},set:t?function(e,i){return t.call(this,A,e,i)}:void 0}:{get:e,set:t}}(0,t(6560).co)({defineMember(A,e=!0){if(!A)return{};const{type:t,structure:n}=A,r=this[`defineMember${i.hQ[t]}`].call(this,A);if(e&&n){const{type:e}=n,t=this[`transformDescriptor${i.EK[e]}`];if(t)return t.call(this,r,A)}return r}})},9494:(A,e,t)=>{var i=t(6560),n=t(4762),r=t(8e3);(0,i.co)({defineBase64(A){const e=this;return(0,r.NV)({get(){return(0,r.WG)(this.dataView)},set(t,i){if("string"!=typeof t)throw new n.Pd("string",t);const s=(0,r.y4)(t);e.assignView(this,s,A,!1,i)}})}})},337:(A,e,t)=>{(0,t(6560).co)({defineMemberBool(A){return this.defineMemberUsing(A,this.getAccessor)}})},3971:(A,e,t)=>{var i=t(6560),n=t(4762),r=t(8e3);(0,i.co)({defineClampedArray(A){const e=this,t=Uint8ClampedArray;return(0,r.NV)({get(){const A=this.typedArray;return new t(A.buffer,A.byteOffset,A.length)},set(i,r){if(i?.[Symbol.toStringTag]!==t.name)throw new n.Pd(t.name,i);const s=new DataView(i.buffer,i.byteOffset,i.byteLength);e.assignView(this,s,A,!0,r)}})}})},7431:(A,e,t)=>{var i=t(6560),n=t(4762),r=t(4540),s=t(8e3);(0,i.co)({defineDataView(A){const e=this;return(0,s.NV)({get(){return this[r.zN]?.(),this[r.Qy]},set(t,i){if("DataView"!==t?.[Symbol.toStringTag])throw new n.Pd("DataView",t);e.assignView(this,t,A,!0,i)}})}})},7591:(A,e,t)=>{(0,t(6560).co)({defineMemberFloat(A){return this.defineMemberUsing(A,this.getAccessor)}})},6717:(A,e,t)=>{var i=t(1388),n=t(6560),r=t(4762),s=t(4540),a=t(9098);function g(A){return o.call(this,A).$}function o(A){return this[s._f][A]??this[s.tZ](A)}function I(A){const e=o.call(this,A).$;return e?e.string:e}function c(A,e,t){o.call(this,A)[s.Zv](e,t)}(0,n.co)({defineMemberObject:A=>(0,a.E)(A.slot,{get:A.flags&i.pK.IsString?I:A.structure.flags&i.yi.HasValue?g:o,set:A.flags&i.pK.IsReadOnly?r.V0:c})})},2164:(A,e,t)=>{var i=t(6560),n=t(4762),r=t(4540);(0,i.co)({...{defineMemberUsing(A,e){const{littleEndian:t}=this,{bitOffset:i,byteSize:s}=A,a=e.call(this,"get",A),g=e.call(this,"set",A);if(void 0!==i){const A=i>>3;return{get:function(){try{return a.call(this[r.Qy],A,t)}catch(e){if(e instanceof TypeError&&this[r.zN]?.())return a.call(this[r.Qy],A,t);throw e}},set:function(e){try{return g.call(this[r.Qy],A,e,t)}catch(i){if(i instanceof TypeError&&this[r.zN]?.())return g.call(this[r.Qy],A,e,t);throw i}}}}return{get:function(e){try{return a.call(this[r.Qy],e*s,t)}catch(i){if(i instanceof TypeError&&this[r.zN]?.())return a.call(this[r.Qy],e*s,t);throw(0,n.qx)(A,e,i)}},set:function(e,i){try{return g.call(this[r.Qy],e*s,i,t)}catch(a){if(a instanceof TypeError&&this[r.zN]?.())return g.call(this[r.Qy],e*s,i,t);throw(0,n.qx)(A,e,a)}}}}}})},5496:(A,e,t)=>{var i=t(6560),n=t(4762),r=t(4540),s=t(8e3);(0,i.co)({defineString(A){const e=this,{byteSize:t}=A.instance.members[0],i="utf-"+8*t;return(0,s.NV)({get(){let A=(0,s.g7)(this.typedArray,i);const e=this.constructor[r.fd]?.value;return void 0!==e&&A.charCodeAt(A.length-1)===e&&(A=A.slice(0,-1)),A},set(t,a){if("string"!=typeof t)throw new n.Pd("string",t);const g=this.constructor[r.fd]?.value;void 0!==g&&t.charCodeAt(t.length-1)!==g&&(t+=String.fromCharCode(g));const o=(0,s.wx)(t,i),I=new DataView(o.buffer);e.assignView(this,I,A,!1,a)}})}})},6135:(A,e,t)=>{var i=t(6560),n=t(3456);(0,i.co)({defineToJSON:()=>({value(){return(0,n.F)(this,!0)}})})},9813:(A,e,t)=>{var i=t(6560),n=t(4762),r=t(4540),s=t(9098);(0,i.co)({defineMemberType(A,e){const{slot:t}=A;return(0,s.E)(t,{get(A){const e=this[r._f][A];return e?.constructor},set:n.V0})}})},3793:(A,e,t)=>{var i=t(6560),n=t(4762),r=t(8e3);(0,i.co)({defineTypedArray(A){const e=this,t=this.getTypedArray(A);return(0,r.NV)({get(){const A=this.dataView,e=A.byteLength/t.BYTES_PER_ELEMENT;return new t(A.buffer,A.byteOffset,e)},set(i,r){if(i?.[Symbol.toStringTag]!==t.name)throw new n.Pd(t.name,i);const s=new DataView(i.buffer,i.byteOffset,i.byteLength);e.assignView(this,s,A,!0,r)}})}})},8305:(A,e,t)=>{(0,t(6560).co)({defineMemberUint(A){let e=this.getAccessor;return this.runtimeSafety&&(e=this.addRuntimeCheck(e)),e=this.addIntConversion(e),this.defineMemberUsing(A,e)}})},3456:(A,e,t)=>{t.d(e,{F:()=>o});var i=t(1388),n=t(6560),r=t(4540),s=t(8e3);(0,n.co)({defineValueOf:()=>({value(){return o(this,!1)}})});const a=BigInt(Number.MAX_SAFE_INTEGER),g=BigInt(Number.MIN_SAFE_INTEGER);function o(A,e){const t={error:e?"return":"throw"},n=(0,s.L9)(t),o=new Map,I=function(A){const s="function"==typeof A?i.ev.Struct:A?.constructor?.[r.ZE];if(void 0===s){if(e){if("bigint"==typeof A&&g<=A&&A<=a)return Number(A);if(A instanceof Error)return{error:A.message}}return A}let c=o.get(A);if(void 0===c){let e;switch(s){case i.ev.Struct:e=A[r.lf](t),c=A.constructor[r.Wg]&i.sU.IsTuple?[]:{};break;case i.ev.Union:e=A[r.lf](t),c={};break;case i.ev.Array:case i.ev.Vector:case i.ev.Slice:e=A[r.lf](),c=[];break;case i.ev.Pointer:try{c=A["*"]}catch(A){c=Symbol.for("inaccessible")}break;case i.ev.Enum:c=n((()=>String(A)));break;case i.ev.Opaque:c={};break;default:c=n((()=>A.$))}if(c=I(c),o.set(A,c),e)for(const[A,t]of e)c[A]=I(t)}return c};return I(A)}},8539:(A,e,t)=>{var i=t(6560),n=t(4762);(0,i.co)({defineMemberVoid(A,e){const{bitOffset:t}=A;return{get(){},set:void 0!==t?function(e){if(void 0!==e)throw new n.UQ(A)}:function(e,t){if(void 0!==t)throw new n.UQ(A);if(e<0||e>=this.length)throw new n._l(A,e)}}}})},7679:(A,e,t)=>{var i=t(1388),n=t(6560),r=t(4762),s=t(4540),a=t(8e3);(0,n.co)({defineStructure(A){const{type:e,byteSize:t}=A,n=this[`define${i.EK[e]}`],r=[],g={},o={dataView:this.defineDataView(A),base64:this.defineBase64(A),toJSON:this.defineToJSON(),valueOf:this.defineValueOf(),[s.KK]:{value:null},[s.Bl]:(0,a.vQ)(g),[s.Rk]:(0,a.vQ)(r),[s.sF]:this.defineCopier(t),[s.zN]:this.defineRestorer()},I=A.constructor=n.call(this,A,o);for(const[A,e]of Object.entries(o)){const t=e?.set;t&&!g[A]&&"$"!==A&&(g[A]=t,r.push(A))}return(0,a.ny)(I.prototype,o),I},finalizeStructure(A){const{name:e,type:t,constructor:n,align:r,byteSize:g,flags:o,signature:I,static:{members:c,template:Q}}=A,l=[],C={name:(0,a.vQ)(e),toJSON:this.defineToJSON(),valueOf:this.defineValueOf(),[s.J2]:(0,a.vQ)(I),[s.M0]:(0,a.vQ)(this),[s.Ec]:(0,a.vQ)(r),[s.SK]:(0,a.vQ)(g),[s.ZE]:(0,a.vQ)(t),[s.Wg]:(0,a.vQ)(o),[s.n5]:(0,a.vQ)(l),[s.pM]:(0,a.vQ)(this.getTypedArray(A)),[Symbol.iterator]:this.defineStructIterator(),[s.lf]:this.defineStructEntries(),[s.n5]:(0,a.vQ)(l)},B={[Symbol.toStringTag]:(0,a.vQ)(e)};for(const A of c){const{name:e,slot:t,flags:n}=A;if(A.structure.type===i.ev.Function){let r=Q[s._f][t];n&i.pK.IsString&&(r[s.fM]=!0),C[e]=(0,a.vQ)(r),r.name||(0,a.n8)(r,"name",(0,a.vQ)(e));const[g,o]=/^(get|set)\s+([\s\S]+)/.exec(e)?.slice(1)??[],I="get"===g?0:1;if(g&&r.length===I&&(C[o]||={},C[o][g]=r),A.flags&i.pK.IsMethod){const A=function(...A){try{return r(this,...A)}catch(A){throw A[s.q6]?.(1),A}};(0,a.ny)(A,{name:(0,a.vQ)(e),length:(0,a.vQ)(r.length-1)}),B[e]=(0,a.vQ)(A),g&&A.length===I&&((B[o]||={})[g]=A)}}else C[e]=this.defineMember(A),l.push(e)}C[s._f]=l.length>0&&(0,a.vQ)(Q[s._f]);const u=this[`finalize${i.EK[t]}`];!1!==u?.call(this,A,C,B)&&((0,a.ny)(n.prototype,B),(0,a.ny)(n,C))},createConstructor(A,e={}){const{type:t,byteSize:n,align:g,flags:o,instance:{members:I,template:c}}=A,{onCastError:Q}=e;let l;if(c?.[s._f]){const A=I.filter((A=>A.flags&i.pK.IsReadOnly));A.length>0&&(l=A.map((A=>A.slot)))}const C=new a.UF,B=this,u=function(e,a={}){const{allocator:I}=a,E=this instanceof u;let f,y;if(E){if(0===arguments.length)throw new r.ci(A);if(f=this,o&i.yi.HasSlot&&(f[s._f]={}),s.IW in f)f[s.Zv](e,I),y=f[s.Qy];else{const A=t!==i.ev.Pointer?I:null;f[s.Qy]=y=B.allocateMemory(n,g,A)}}else{if(s.mL in u&&(f=u[s.mL].call(this,e,a),!1!==f))return f;if(y=B.extractView(A,e,Q),f=C.find(y))return f;f=Object.create(u.prototype),s.IW in f?B.assignView(f,y,A,!1,!1):f[s.Qy]=y,o&i.yi.HasSlot&&(f[s._f]={})}if(l)for(const A of l)f[s._f][A]=c[s._f][A];return f[s.f$]?.(),E&&(s.IW in f||f[s.Zv](e,I)),s.vm in f&&(f=f[s.vm]()),C.save(y,f)};return(0,a.n8)(u,s.fV,(0,a.vQ)(C)),c?.[s.Qy]&&(0,a.n8)(c,s.zN,this.defineRestorer()),u},createApplier(A){const{instance:{template:e}}=A;return function(t,i){const n=Object.keys(t),a=this[s.Rk],g=this[s.Bl];for(const e of n)if(!(e in g))throw new r.xH(A,e);let o=0,I=0,c=0,Q=0;for(const A of a){const e=g[A];e.special?A in t&&Q++:(o++,A in t?I++:e.required&&c++)}if(0!==c&&0===Q){const e=a.filter((A=>g[A].required&&!(A in t)));throw new r.SB(A,e)}if(Q+I>n.length)for(const A of a)A in t&&(n.includes(A)||n.push(A));I<o&&0===Q&&e&&e[s.Qy]&&this[s.sF](e);for(const A of n)g[A].call(this,t[A],i);return n.length}},getTypedArray(A){const{type:e,instance:t}=A;if(void 0!==e&&t){const[A]=t.members;switch(e){case i.ev.Enum:case i.ev.ErrorSet:case i.ev.Primitive:{const{byteSize:e,type:t}=A,n=t===i.Z9.Float?"Float":t===i.Z9.Int?"Int":"Uint",r=e>4&&t!==i.Z9.Float?"Big":"";return globalThis[r+n+8*e+"Array"]}case i.ev.Array:case i.ev.Slice:case i.ev.Vector:return this.getTypedArray(A.structure)}}}})},2244:(A,e,t)=>{var i=t(1388),n=t(6560),r=t(4762),s=t(4540),a=t(8e3);(0,n.co)({defineArgStruct(A,e){const{flags:t,byteSize:n,align:g,length:o,instance:{members:I}}=A,c=this,Q=I.slice(1),l=function(A,e){const a=this instanceof l;let I,C;if(a?(I=this,C=c.allocateMemory(n,g)):(I=Object.create(l.prototype),C=A),I[s.Qy]=C,t&i.yi.HasSlot&&(I[s._f]={}),!a)return I;{let n;if(t&i.e2.HasOptions&&A.length===o+1&&(n=A.pop()),A.length!==o)throw new r.nz(o,A.length);t&i.e2.IsAsync&&(I[s.vm]=null),c.copyArguments(I,A,Q,n,e)}};for(const A of I)e[A.name]=this.defineMember(A);const C=e.retval.set;return e.length=(0,a.vQ)(Q.length),e[s.tZ]=t&i.yi.HasObject&&this.defineVivificatorStruct(A),e[s.g9]=t&i.yi.HasPointer&&this.defineVisitorArgStruct(I),e[s.zg]=(0,a.vQ)((function(A){C.call(this,A,this[s.Gz])})),e[Symbol.iterator]=this.defineArgIterator?.(Q),e[s.sF]=this.defineRetvalCopier(I[0]),l},finalizeArgStruct(A,e){const{flags:t}=A;e[s.du]=(0,a.vQ)(!!(t&i.e2.IsThrowing))}})},9433:(A,e,t)=>{var i=t(6560),n=t(4540),r=t(8e3);(0,i.co)({defineFinalizerArray:({get:A,set:e})=>({value(){const t=new Proxy(this,s);return(0,r.ny)(this,{[n.rG]:{value:t},get:{value:A.bind(this)},set:e&&{value:e.bind(this)}}),t}}),defineVivificatorArray(A){const{instance:{members:[e]}}=A,{byteSize:t,structure:i}=e,r=this;return{value:function(A){const{constructor:e}=i;this[n.zN]?.();const s=this[n.Qy],a=s.byteOffset+t*A,g=r.obtainView(s.buffer,a,t);return this[n._f][A]=e.call(n.f7,g)}}}});const s={get(A,e){const t="symbol"==typeof e?0:0|e;return 0!==t||t==e?A.get(t):e===n.sO?A:A[e]},set(A,e,t){const i="symbol"==typeof e?0:0|e;return 0!==i||i==e?A.set(i,t):A[e]=t,!0},deleteProperty(A,e){const t="symbol"==typeof e?0:0|e;return 0===t&&t!=e&&(delete A[e],!0)},has(A,e){const t="symbol"==typeof e?0:0|e;return 0!==t||t==e?t>=0&&t<A.length:A[e]},ownKeys(A){const e=[];for(let t=0,i=A.length;t<i;t++)e.push(`${t}`);return e.push("length",n.rG),e},getOwnPropertyDescriptor(A,e){const t="symbol"==typeof e?0:0|e;return 0===t&&t!=e?Object.getOwnPropertyDescriptor(A,e):t>=0&&t<A.length?{value:A.get(t),enumerable:!0,writable:!0,configurable:!0}:void 0}}},3509:(A,e,t)=>{var i=t(1388),n=t(6560),r=t(4762),s=t(4540),a=t(8e3);(0,n.co)({defineArray(A,e){const{length:t,instance:{members:[n]},flags:g}=A,o=this.createApplier(A),I=this.defineMember(n),{set:c}=I,Q=this.createConstructor(A),l=function(e,n){if((0,a.pU)(e,Q))this[s.sF](e),g&i.yi.HasPointer&&this[s.g9]("copy",i.F7.Vivificate,e);else if("string"==typeof e&&g&i.uE.IsString&&(e={string:e}),e?.[Symbol.iterator]){if((e=(0,a.FU)(e)).length!==t)throw new r.Y8(A,this,e);let i=0;for(const A of e)c.call(this,i++,A,n)}else if(e&&"object"==typeof e){if(0===o.call(this,e))throw new r.L2(A,e)}else if(void 0!==e)throw new r.L2(A,e)};return e.$={get:a.V_,set:l},e.length=(0,a.vQ)(t),e.entries=e[s.lf]=this.defineArrayEntries(),g&i.uE.IsTypedArray&&(e.typedArray=this.defineTypedArray(A),g&i.uE.IsString&&(e.string=this.defineString(A)),g&i.uE.IsClampedArray&&(e.clampedArray=this.defineClampedArray(A))),e[Symbol.iterator]=this.defineArrayIterator(),e[s.Zv]=(0,a.vQ)(l),e[s.vm]=this.defineFinalizerArray(I),e[s.tZ]=g&i.yi.HasObject&&this.defineVivificatorArray(A),e[s.g9]=g&i.yi.HasPointer&&this.defineVisitorArray(),Q},finalizeArray(A,e){const{flags:t,instance:{members:[n]}}=A;e.child=(0,a.vQ)(n.structure.constructor),e[s.fd]=t&i.uE.HasSentinel&&this.defineSentinel(A)}})},8371:(A,e,t)=>{var i=t(1388),n=t(6560),r=t(4762),s=t(4540),a=t(8e3);(0,n.co)({defineEnum(A,e){const{instance:{members:[t]}}=A,i=this.defineMember(t),{get:n,set:g}=i,{get:o}=this.defineMember(t,!1),I=this.createApplier(A),c=["string","number","tagged union"],Q=this.createConstructor(A,{onCastError(A,e){throw new r.is(A,c,e)}});return e.$=i,e.toString=(0,a.vQ)(a.dI),e[Symbol.toPrimitive]={value(A){switch(A){case"string":case"default":return this.$[s.o_];default:return o.call(this)}}},e[s.Zv]=(0,a.vQ)((function(e){if(e&&"object"==typeof e){if(0===I.call(this,e))throw new r.is(A,c,e)}else void 0!==e&&g.call(this,e)})),Q},finalizeEnum(A,e){const{flags:t,constructor:n,instance:{members:[r]},static:{members:g,template:o}}=A,I=o[s._f],{get:c,set:Q}=this.defineMember(r,!1),l={};for(const{name:A,flags:t,slot:n}of g)if(t&i.pK.IsPartOfSet){const t=I[n];(0,a.n8)(t,s.o_,(0,a.vQ)(A));const i=c.call(t);e[A]={value:t,writable:!1},l[i]=t}e[s.mL]={value(A){if("string"==typeof A)return n[A];if("number"==typeof A||"bigint"==typeof A){let e=l[A];if(!e&&t&i.Q6.IsOpenEnded){e=new n(void 0),Q.call(e,A);const t=`${A}`;(0,a.n8)(e,s.o_,(0,a.vQ)(t)),(0,a.n8)(n,t,(0,a.vQ)(e)),l[A]=e}return e}return A instanceof n?A:A?.[s.Dk]instanceof n&&A[s.Dk]}},e[s.pM]=(0,a.vQ)(this.getTypedArray(A))},transformDescriptorEnum(A,e){const{type:t,structure:n}=e;if(t===i.Z9.Object)return A;const s=function(A){const{constructor:e}=n,t=e(A);if(!t)throw new r.iS(n,A);return t},{get:a,set:g}=A;return{get:0===a.length?function(){const A=a.call(this);return s(A)}:function(A){const e=a.call(this,A);return s(e)},set:1===g.length?function(A){A=s(A)[Symbol.toPrimitive](),g.call(this,A)}:function(A,e){const t=s(e);g.call(this,A,t[Symbol.toPrimitive]())}}}})},903:(A,e,t)=>{var i=t(1388),n=t(6560),r=t(4762),s=t(4540),a=t(8e3);(0,n.co)({init(){this.ZigError=null,this.globalItemsByIndex={},this.globalErrorSet=null},defineErrorSet(A,e){const{instance:{members:[t]},byteSize:n,flags:o}=A;if(!this.ZigError){this.ZigError=class extends g{};const A={type:i.ev.ErrorSet,flags:i.Zm.IsGlobal,byteSize:n,name:"anyerror",instance:{members:[t]},static:{members:[],template:{SLOTS:{}}}},e=this.defineStructure(A);this.finalizeStructure(A),this.globalErrorSet=e}if(this.globalErrorSet&&o&i.Zm.IsGlobal)return this.globalErrorSet;const I=this.defineMember(t),{set:c}=I,Q=["string","number"],l=this.createApplier(A),C=this.createConstructor(A,{onCastError(A,e){throw new r.is(A,Q,e)}});return e.$=I,e[s.Zv]=(0,a.vQ)((function(e){if(e instanceof C[s.tp])c.call(this,e);else if(e&&"object"==typeof e&&!(0,r.FD)(e)){if(0===l.call(this,e))throw new r.is(A,Q,e)}else void 0!==e&&c.call(this,e)})),C},finalizeErrorSet(A,e){const{constructor:t,flags:n,instance:{members:[g]},static:{members:o,template:I}}=A;if(this.globalErrorSet&&n&i.Zm.IsGlobal)return!1;const c=I?.[s._f]??{},Q=n&i.Zm.IsGlobal?this.globalItemsByIndex:{},{get:l}=this.defineMember(g,!1);for(const{name:A,slot:t}of o){const i=c[t],n=l.call(i);let r=this.globalItemsByIndex[n];const g=!!r;r||(r=new this.ZigError(A,n));const o=(0,a.vQ)(r);e[A]=o;const I=`${r}`;e[I]=o,Q[n]=r,g||((0,a.ny)(this.globalErrorSet,{[A]:o,[I]:o}),this.globalErrorSet[s.n5].push(A),this.globalItemsByIndex[n]=r)}e[s.mL]={value:A=>"number"==typeof A?Q[A]:"string"==typeof A?t[A]:A instanceof t[s.tp]?Q[Number(A)]:(0,r.FD)(A)?t[`Error: ${A.error}`]:A instanceof Error&&t[`${A}`]},e[s.tp]=(0,a.vQ)(this.ZigError)},transformDescriptorErrorSet(A,e){const{type:t,structure:n}=e;if(t===i.Z9.Object)return A;const s=A=>{const{constructor:e,flags:t}=n,s=e(A);if(!s){if(t&i.Zm.IsGlobal&&"number"==typeof A){const e=new this.ZigError(`Unknown error: ${A}`,A);return this.globalItemsByIndex[A]=e,(0,a.n8)(this.globalErrorSet,`${e}`,(0,a.vQ)(e)),e}throw A instanceof Error?new r.Ho(n):new r.to(n,A)}return s},{get:g,set:o}=A;return{get:0===g.length?function(){const A=g.call(this);return s(A)}:function(A){const e=g.call(this,A);return s(e)},set:1===o.length?function(A){const e=s(A);A=Number(e),o.call(this,A)}:function(A,e){const t=s(e);e=Number(t),o.call(this,A,e)}}}});class g extends Error{constructor(A,e){super((0,r.a6)(A)),this.number=e,this.stack=void 0}[Symbol.toPrimitive](A){switch(A){case"string":case"default":return Error.prototype.toString.call(this,A);default:return this.number}}toJSON(){return{error:this.message}}}},3692:(A,e,t)=>{var i=t(1388),n=t(6560),r=t(4762),s=t(4540),a=t(8e3);(0,n.co)({defineErrorUnion(A,e){const{instance:{members:[t,n]},flags:g}=A,{get:o,set:I}=this.defineMember(t),{get:c,set:Q}=this.defineMember(n),{get:l,set:C}=this.defineMember(n,!1),B=t.type===i.Z9.Void,u=n.structure.constructor,E=function(){this[s.Ut](),this[s.g9]?.("clear")},f=this.createApplier(A),y=function(A,e){if((0,a.pU)(A,b))this[s.sF](A),g&i.yi.HasPointer&&(l.call(this)||this[s.g9]("copy",0,A));else if(A instanceof u[s.tp]&&u(A))Q.call(this,A),E.call(this);else if(void 0!==A||B)try{I.call(this,A,e),C.call(this,0)}catch(e){if(A instanceof Error){const e=u(A)??u.Unexpected;if(!e)throw new r.Ho(n.structure);Q.call(this,e),E.call(this)}else if((0,r.FD)(A))Q.call(this,A),E.call(this);else{if(!A||"object"!=typeof A)throw e;if(0===f.call(this,A))throw e}}},{bitOffset:h,byteSize:m}=t,b=this.createConstructor(A);return e.$={get:function(){if(l.call(this))throw c.call(this);return o.call(this)},set:y},e[s.Zv]=(0,a.vQ)(y),e[s.tZ]=g&i.yi.HasObject&&this.defineVivificatorStruct(A),e[s.Ut]=this.defineResetter(h/8,m),e[s.g9]=g&i.yi.HasPointer&&this.defineVisitorErrorUnion(t,l),b}})},7382:(A,e,t)=>{var i=t(1388),n=t(6560),r=t(4762),s=t(4540),a=t(8e3);(0,n.co)({defineFunction(A,e){const{instance:{members:[t],template:n},static:{template:g}}=A,o=new a.UF,{structure:{constructor:I}}=t,c=this,Q=function(e){const t=this instanceof Q;let l,C;if(t){if(0===arguments.length)throw new r.ci(A);if("function"!=typeof e)throw new r.Pd("function",e);if(I[s.ZE]===i.ev.VariadicStruct||!g)throw new r.O0;l=c.getFunctionThunk(e,g)}else{if(this!==s.M0)throw new r.Qm;l=e}if(C=o.find(l))return C;const B=I.prototype.length,u=t?c.createInboundCaller(e,I):c.createOutboundCaller(n,I);return(0,a.ny)(u,{length:(0,a.vQ)(B),name:(0,a.vQ)(t?e.name:"")}),Object.setPrototypeOf(u,Q.prototype),u[s.Qy]=l,o.save(l,u),u};return Object.setPrototypeOf(Q.prototype,Function.prototype),e.valueOf=e.toJSON=(0,a.vQ)(a.Ng),Q},finalizeFunction(A,e,t){t[Symbol.toStringTag]=void 0}})},3750:(A,e,t)=>{var i=t(1388),n=t(6560),r=t(4540),s=t(8e3);(0,n.co)({defineOptional(A,e){const{instance:{members:[t,n]},flags:a}=A,{get:g,set:o}=this.defineMember(t),{get:I,set:c}=this.defineMember(n),Q=t.type===i.Z9.Void,l=function(A,e){(0,s.pU)(A,C)?(this[r.sF](A),a&i.yi.HasPointer&&I.call(this)&&this[r.g9]("copy",i.F7.Vivificate,A)):null===A?(c.call(this,0),this[r.Ut]?.(),this[r.g9]?.("clear")):(void 0!==A||Q)&&(o.call(this,A,e),a&i.Nt.HasSelector?c.call(this,1):a&i.yi.HasPointer&&(I.call(this)||c.call(this,13)))},C=A.constructor=this.createConstructor(A),{bitOffset:B,byteSize:u}=t;return e.$={get:function(){return I.call(this)?g.call(this):(this[r.g9]?.("clear"),null)},set:l},e[r.Zv]=(0,s.vQ)(l),e[r.Ut]=a&i.Nt.HasSelector&&this.defineResetter(B/8,u),e[r.tZ]=a&i.yi.HasObject&&this.defineVivificatorStruct(A),e[r.g9]=a&i.yi.HasPointer&&this.defineVisitorOptional(t,I),C}})},1425:(A,e,t)=>{var i=t(1388),n=t(6560),r=t(4762),s=t(4540),a=t(8e3);function g(A,e){return(0,a.xN)(A?.constructor?.child,e)&&A["*"]}function o(A,e,t){if(t&i.UT.IsMultiple){if(A?.constructor?.child?.child===e.child&&A["*"])return!0;if(t&i.UT.IsSingle&&g(A,e.child))return!0}return!1}(0,n.co)({definePointer(A,e){const{flags:t,byteSize:n,instance:{members:[I]}}=A,{structure:l}=I,{type:C,flags:B,byteSize:u=1}=l,E=t&i.UT.HasLength?n/2:n,{get:f,set:y}=this.defineMember({type:i.Z9.Uint,bitOffset:0,bitSize:8*E,byteSize:E,structure:{byteSize:E}}),{get:h,set:m}=t&i.UT.HasLength?this.defineMember({type:i.Z9.Uint,bitOffset:8*E,bitSize:8*E,byteSize:E,structure:{flags:i.AD.IsSize,byteSize:E}}):{},b=function(A,e=!0,n=!0){if(e||this[s.Qy][s.Dr]){if(!n)return this[s._f][0]=void 0;{const e=x.child,n=f.call(this),r=t&i.UT.HasLength?h.call(this):C===i.ev.Slice&&B&i.tv.HasSentinel?z.findSentinel(n,e[s.fd].bytes)+1:1;if(n!==this[s.c6]||r!==this[s.uL]){const a=z.findMemory(A,n,r,e[s.SK]),g=a?e.call(s.M0,a):null;return this[s._f][0]=g,this[s.c6]=n,this[s.uL]=r,t&i.UT.HasLength&&(this[s.E2]=null),g}}}return this[s._f][0]},p=function(A){y.call(this,A),this[s.c6]=A},d=B&i.tv.HasSentinel?1:0,w=t&i.UT.HasLength||B&i.tv.HasSentinel?function(A){m?.call?.(this,A-d),this[s.uL]=A}:null,S=function(){const A=this[s.C7]??this,e=!A[s._f][0],n=b.call(A,null,e);if(!n){if(t&i.UT.IsNullable)return null;throw new r.BY}return t&i.UT.IsConst?c(n):n},D=B&i.yi.HasValue?function(){return S.call(this).$}:S,v=t&i.UT.IsConst?r.V0:function(A){return S.call(this).$=A},z=this,k=function(e,n){const I=l.constructor;if(g(e,I)){if(!(t&i.UT.IsConst)&&e.constructor.const)throw new r.G9(A,e);e=e[s._f][0]}else if(t&i.UT.IsMultiple)o(e,I,t)&&(e=I(e[s._f][0][s.Qy]));else if(C===i.ev.Slice&&B&i.tv.IsOpaque&&e)if(e.constructor[s.ZE]===i.ev.Pointer)e=e[s.Qn]?.[s.Qy];else if(e[s.Qy])e=e[s.Qy];else if(e?.buffer instanceof ArrayBuffer&&!(e instanceof Uint8Array||e instanceof DataView)){const{byteOffset:A,byteLength:t}=e;void 0!==A&&void 0!==t&&(e=new DataView(e.buffer,A,t))}if(e instanceof I){e[s.zN]?.();const n=e[s.KK];if(n){if(!(t&i.UT.IsConst))throw new r.ck(A);e=n}}else if((0,a.pU)(e,I))e=I.call(s.M0,e[s.Qy]);else if(t&i.UT.IsSingle&&t&i.UT.IsMultiple&&e instanceof I.child)e=I(e[s.Qy]);else if(function(A,e){const t=A?.[Symbol.toStringTag];if(t){const i=e[s.pM];if(i)switch(t){case i.name:case"DataView":return!0;case"ArrayBuffer":return i===Uint8Array||i===Int8Array;case"Uint8ClampedArray":return i===Uint8Array}if(e.child&&void 0!==(0,a.be)(A,e.child))return!0}return!1}(e,I))e=I(z.extractView(l,e));else if(null==e||e[s.Qy]){if(!(void 0===e||t&i.UT.IsNullable&&null===e))throw new r.QB(A,e)}else{if(t&i.UT.IsSingle&&t&i.UT.IsMultiple&&"object"==typeof e&&!e[Symbol.iterator]){let A=!0;const t=I.prototype[s.Bl];for(const i of Object.keys(e)){const e=t[i];if(e?.special){A=!1;break}}A&&(e=[e])}if(s.pM in I&&e?.buffer&&e[Symbol.iterator])throw new r.QB(A,e);e=new I(e,{allocator:n})}const c=e?.[s.Qy]?.[s.Dr];if(c?.address===a.Y$)throw new r.xp(e);this[s.Qn]=e},x=this.createConstructor(A);return e["*"]={get:D,set:v},e.$={get:a.V_,set:k},e.length={get:function(){const A=S.call(this);return A?A.length:0},set:function(A){A|=0;const e=S.call(this);if(!e){if(0!==A)throw new r._L(A,0);return}if(e.length===A)return;e[s.zN]?.();const n=e[s.Qy],a=n[s.Dr];let g;if(a||(t&i.UT.HasLength?(this[s.E2]||=e.length,g=this[s.E2]):g=(n.buffer.byteLength-n.byteOffset)/u|0),A<0||A>g)throw new r._L(A,g);const o=A*u,I=a?z.obtainZigView(a.address,o):z.obtainView(n.buffer,n.byteOffset,o),c=l.constructor;this[s._f][0]=c.call(s.M0,I),w?.call?.(this,A)}},e.slice=C===i.ev.Slice&&{value(A,e){const t=this[s.Qn].slice(A,e);return new x(t)}},e.subarray=C===i.ev.Slice&&{value(A,e,t){const i=this[s.Qn].subarray(A,e,t);return new x(i)}},e[Symbol.toPrimitive]=C===i.ev.Primitive&&{value(A){return this[s.Qn][Symbol.toPrimitive](A)}},e[s.Zv]=(0,a.vQ)(k),e[s.vm]={value(){const A=C!==i.ev.Pointer?Q:{};let e;C===i.ev.Function?(e=function(){},e[s.Qy]=this[s.Qy],e[s._f]=this[s._f],Object.setPrototypeOf(e,x.prototype)):e=this;const t=new Proxy(e,A);return Object.defineProperty(e,s.rG,{value:t}),t}},e[s.Qn]={get:S,set:function(A){if(void 0===A)return;const e=this[s.C7]??this;if(A){const t=A[s.Qy][s.Dr];if(t){const{address:e,js:i}=t;p.call(this,e),w?.call?.(this,A.length),i&&(A[s.Qy][s.Dr]=void 0)}else if(e[s.Qy][s.Dr])throw new r.x1}else e[s.Qy][s.Dr]&&(p.call(this,0),w?.call?.(this,0));e[s._f][0]=A??null,t&i.UT.HasLength&&(e[s.E2]=null)}},e[s.q6]=(0,a.vQ)(b),e[s.BD]={set:p},e[s.pi]={set:w},e[s.g9]=this.defineVisitor(),e[s.c6]=(0,a.vQ)(0),e[s.uL]=(0,a.vQ)(0),e[s.E2]=t&i.UT.HasLength&&(0,a.vQ)(null),e.dataView=e.base64=void 0,x},finalizePointer(A,e){const{flags:t,constructor:n,instance:{members:[I]}}=A,{structure:c}=I,{type:Q,constructor:l}=c;e.child=l?(0,a.vQ)(l):{get:()=>c.constructor},e.const=(0,a.vQ)(!!(t&i.UT.IsConst)),e[s.mL]={value(e,a){if(this===s.M0||this===s.f7||e instanceof n)return!1;if(g(e,l))return new n(l(e["*"]),a);if(o(e,l,t))return new n(e);if(Q===i.ev.Slice)return new n(l(e),a);throw new r.zy(A)}}}});const I=new WeakMap;function c(A){let e=I.get(A);if(!e){const t=A[s.C7];e=t?new Proxy(t,l):new Proxy(A,C),I.set(A,e)}return e}const Q={get:(A,e)=>e===s.C7?A:e in A?A[e]:A[s.Qn][e],set:(A,e,t)=>(e in A?A[e]=t:A[s.Qn][e]=t,!0),deleteProperty:(A,e)=>(e in A?delete A[e]:delete A[s.Qn][e],!0),has:(A,e)=>e in A||e in A[s.Qn],apply:(A,e,t)=>A["*"].apply(e,t)},l={...Q,set:(A,e,t)=>(e in A?(0,r.V0)():A[s.Qn][e]=t,!0)},C={get(A,e){if(e===s.KK)return A;{const t=A[e];return t?.[s.Qy]?c(t):t}},set(A,e,t){(0,r.V0)()}}},8773:(A,e,t)=>{var i=t(6560),n=t(4762),r=t(4540),s=t(8e3);(0,i.co)({definePrimitive(A,e){const{instance:{members:[t]}}=A,i=this.createApplier(A),{get:a,set:g}=this.defineMember(t),o=function(e){if((0,s.pU)(e,I))this[r.sF](e);else if(e&&"object"==typeof e){if(0===i.call(this,e)){const i=(0,s.BF)(t);throw new n.is(A,i,e)}}else void 0!==e&&g.call(this,e)},I=this.createConstructor(A);return e.$={get:a,set:o},e[r.Zv]=(0,s.vQ)(o),e[Symbol.toPrimitive]=(0,s.vQ)(a),I},finalizePrimitive(A,e){const{instance:{members:[t]}}=A;e[r.Qt]=(0,s.vQ)(t.bitSize),e[r.uT]=(0,s.vQ)(t.type)}})},3086:(A,e,t)=>{var i=t(1388),n=t(6560),r=t(4762),s=t(4540),a=t(8e3);function g(){return this[s.pi]}function o(A,e){return(A|=0)<0?(A=e+A)<0&&(A=0):A>e&&(A=e),A}(0,n.co)({defineSlice(A,e){const{align:t,flags:n,byteSize:I,name:c,instance:{members:[Q]}}=A,{byteSize:l,structure:C}=Q,B=this,u=function(A,e,i){A||(A=B.allocateMemory(e*l,t,i)),this[s.Qy]=A,this[s.pi]=e},E=function(e,t){if(t!==this[s.pi])throw new r.Y8(A,this,e)},f=this.defineMember(Q),{set:y}=f,h=this.createApplier(A),m=function(e,t){if((0,a.pU)(e,p))this[s.Qy]?E.call(this,e,e.length):u.call(this,null,e.length,t),this[s.sF](e),n&i.yi.HasPointer&&this[s.g9]("copy",i.F7.Vivificate,e);else if("string"==typeof e&&n&i.tv.IsString)m.call(this,{string:e},t);else if(e?.[Symbol.iterator]){e=(0,a.FU)(e),this[s.Qy]?E.call(this,e,e.length):u.call(this,null,e.length,t);let A=0;for(const i of e)p[s.fd]?.validateValue(i,A,e.length),y.call(this,A++,i,t)}else if("number"==typeof e){if(!(!this[s.Qy]&&e>=0&&isFinite(e)))throw new r.L2(A,e,!this[s.Qy]);u.call(this,null,e,t)}else if(e&&"object"==typeof e){if(0===h.call(this,e,t))throw new r.L2(A,e)}else if(void 0!==e)throw new r.L2(A,e)},b=function(A,e){const t=this[s.pi],i=this[s.Qy];A=void 0===A?0:o(A,t),e=void 0===e?t:o(e,t);const n=A*l,r=e*l-n;return B.obtainView(i.buffer,i.byteOffset+n,r)},p=this.createConstructor(A);return e.$={get:a.V_,set:m},e.length={get:g},n&i.tv.IsTypedArray&&(e.typedArray=this.defineTypedArray(A),n&i.tv.IsString&&(e.string=this.defineString(A)),n&i.tv.IsClampedArray&&(e.clampedArray=this.defineClampedArray(A))),e.entries=e[s.lf]=this.defineArrayEntries(),e.subarray={value(A,e){const t=b.call(this,A,e);return p(t)}},e.slice={value(A,e,i={}){const{zig:n=!1}=i,r=b.call(this,A,e),a=B.allocateMemory(r.byteLength,t,n),g=p(a);return g[s.sF]({[s.Qy]:r}),g}},e[Symbol.iterator]=this.defineArrayIterator(),e[s.IW]=(0,a.vQ)(u),e[s.sF]=this.defineCopier(I,!0),e[s.Zv]=(0,a.vQ)(m),e[s.vm]=this.defineFinalizerArray(f),e[s.tZ]=n&i.yi.HasObject&&this.defineVivificatorArray(A),e[s.g9]=n&i.yi.HasPointer&&this.defineVisitorArray(),p},finalizeSlice(A,e){const{flags:t,instance:{members:[n]}}=A;e.child=(0,a.vQ)(n.structure.constructor),e[s.fd]=t&i.tv.HasSentinel&&this.defineSentinel(A)}})},8991:(A,e,t)=>{var i=t(1388),n=t(6560),r=t(4762),s=t(4540);(0,n.co)({defineVivificatorStruct(A){const{instance:{members:e}}=A,t={};for(const A of e.filter((A=>A.type===i.Z9.Object)))t[A.slot]=A;const n=this;return{value(A){const e=t[A],{bitOffset:i,byteSize:a,structure:{constructor:g}}=e;this[s.zN]?.();const o=this[s.Qy],I=o.byteOffset+(i>>3);let c=a;if(void 0===c){if(7&i)throw new r.Vp(e);c=e.bitSize>>3}const Q=n.obtainView(o.buffer,I,c);return this[s._f][A]=g.call(s.f7,Q)}}}})},8771:(A,e,t)=>{var i=t(1388),n=t(6560),r=t(4762),s=t(4540),a=t(8e3);(0,n.co)({defineStruct(A,e){const{flags:t,length:n,instance:{members:g}}=A,o=g.find((A=>A.flags&i.pK.IsBackingInt)),I=o&&this.defineMember(o),c=this.createApplier(A),Q=function(e,n){if((0,a.pU)(e,l))this[s.sF](e),t&i.yi.HasPointer&&this[s.g9]("copy",0,e);else if(e&&"object"==typeof e)c.call(this,e,n);else if("number"!=typeof e&&"bigint"!=typeof e||!I){if(void 0!==e)throw new r.is(A,"object",e)}else I.set.call(this,e)},l=this.createConstructor(A),C=e[s.Bl].value,B=e[s.Rk].value,u=[];for(const A of g.filter((A=>!!A.name))){const{name:t,flags:n}=A,{set:r}=e[t]=this.defineMember(A);r&&(n&i.pK.IsRequired&&(r.required=!0),C[t]=r,B.push(t)),u.push(t)}return e.$={get:a.Ng,set:Q},e.length=(0,a.vQ)(n),e.entries=t&i.sU.IsTuple&&this.defineVectorEntries(),e[Symbol.toPrimitive]=I&&{value(A){return"string"===A?Object.prototype.toString.call(this):I.get.call(this)}},e[Symbol.iterator]=t&i.sU.IsIterator?this.defineZigIterator():t&i.sU.IsTuple?this.defineVectorIterator():this.defineStructIterator(),e[s.Zv]=(0,a.vQ)(Q),e[s.tZ]=t&i.yi.HasObject&&this.defineVivificatorStruct(A),e[s.g9]=t&i.yi.HasPointer&&this.defineVisitorStruct(g),e[s.lf]=t&i.sU.IsTuple?this.defineVectorEntries():this.defineStructEntries(),e[s.n5]=(0,a.vQ)(u),t&i.sU.IsAllocator&&(e.alloc=this.defineAlloc(),e.free=this.defineFree(),e.dupe=this.defineDupe()),l}})},4540:(A,e,t)=>{t.d(e,{BD:()=>p,Bl:()=>J,C7:()=>u,Dk:()=>C,Dr:()=>o,E2:()=>m,Ec:()=>x,Gz:()=>q,IW:()=>j,J2:()=>K,KK:()=>G,M0:()=>M,Qn:()=>y,Qt:()=>k,Qy:()=>s,Rk:()=>b,SK:()=>z,Ut:()=>V,Wg:()=>Q,ZE:()=>c,Zv:()=>X,_d:()=>O,_f:()=>a,c6:()=>w,du:()=>N,eR:()=>R,f$:()=>W,f7:()=>g,fM:()=>Y,fV:()=>v,fd:()=>E,g9:()=>T,iw:()=>F,lf:()=>h,mL:()=>AA,n5:()=>B,o_:()=>I,pM:()=>L,pi:()=>d,q6:()=>_,rG:()=>D,sF:()=>Z,sO:()=>f,tZ:()=>H,tp:()=>l,uL:()=>S,uT:()=>U,vm:()=>$,wg:()=>tA,zN:()=>P,zg:()=>eA});const i=globalThis[Symbol.for("ZIGAR")]||={};function n(A){return i[A]||=Symbol(A)}function r(A){return n(A)}const s=r("memory"),a=r("slots"),g=r("parent"),o=r("zig"),I=r("name"),c=r("type"),Q=r("flags"),l=r("class"),C=r("tag"),B=r("props"),u=r("pointer"),E=r("sentinel"),f=r("array"),y=(r("items"),r("target")),h=r("entries"),m=r("max length"),b=r("keys"),p=r("address"),d=r("length"),w=r("last address"),S=r("last length"),D=r("proxy"),v=r("cache"),z=r("size"),k=r("bit size"),x=r("align"),G=r("const target"),M=r("environment"),F=r("attributes"),U=r("primitive"),J=(r("getters"),r("setters")),L=r("typed array"),N=r("throwing"),R=r("promise"),O=r("generator"),q=r("allocator"),K=(r("fallback"),r("signature")),Y=r("string retval"),_=r("update"),P=r("restore"),V=r("reset"),H=r("vivificate"),T=r("visit"),Z=r("copy"),j=r("shape"),X=r("initialize"),W=r("restrict"),$=r("finalize"),AA=r("cast"),eA=r("return"),tA=r("yield")},8e3:(A,e,t)=>{t.d(e,{$k:()=>y,Au:()=>d,BF:()=>o,FU:()=>w,Fy:()=>h,Ie:()=>M,L9:()=>g,NV:()=>z,Ng:()=>k,UF:()=>F,V_:()=>x,WG:()=>Q,Y$:()=>m,ZG:()=>u,be:()=>S,cv:()=>p,dI:()=>G,g7:()=>I,hA:()=>b,hJ:()=>f,n8:()=>r,ny:()=>s,on:()=>E,pU:()=>v,vQ:()=>a,wx:()=>c,xN:()=>D,y4:()=>l});var i=t(1388),n=t(4540);function r(A,e,t){if(t){const{set:i,get:n,value:r,enumerable:s,configurable:a=!0,writable:g=!0}=t;Object.defineProperty(A,e,n||i?{get:n,set:i,configurable:a,enumerable:s}:{value:r,configurable:a,enumerable:s,writable:g})}return A}function s(A,e){for(const[t,i]of Object.entries(e))r(A,t,i);for(const t of Object.getOwnPropertySymbols(e))r(A,t,e[t]);return A}function a(A){return void 0!==A?{value:A}:void 0}function g(A){return"return"===A?.error?A=>{try{return A()}catch(A){return A}}:A=>A()}function o({type:A,bitSize:e}){switch(A){case i.Z9.Bool:return"boolean";case i.Z9.Int:case i.Z9.Uint:if(e>32)return"bigint";case i.Z9.Float:return"number"}}function I(A,e="utf-8"){const t=C[e]||=new TextDecoder(e);let i;if(Array.isArray(A))if(1===A.length)i=A[0];else{let e=0;for(const t of A)e+=t.length;const{constructor:t}=A[0];i=new t(e);let n=0;for(const e of A)i.set(e,n),n+=e.length}else i=A;return"SharedArrayBuffer"===i.buffer[Symbol.toStringTag]&&(i=new i.constructor(i)),t.decode(i)}function c(A,e="utf-8"){if("utf-16"===e){const{length:e}=A,t=new Uint16Array(e);for(let i=0;i<e;i++)t[i]=A.charCodeAt(i);return t}return(B[e]||=new TextEncoder).encode(A)}function Q(A){const e=new Uint8Array(A.buffer,A.byteOffset,A.byteLength),t=String.fromCharCode.apply(null,e);return btoa(t)}function l(A){const e=atob(A),t=new Uint8Array(e.length);for(let A=0;A<t.byteLength;A++)t[A]=e.charCodeAt(A);return new DataView(t.buffer)}const C={},B={};function u(A,e,t){let i=0,n=A.length;if(0===n)return 0;for(;i<n;){const r=Math.floor((i+n)/2);t(A[r])<=e?i=r+1:n=r}return n}const E=function(A,e){return!!e&&!!(A&e-1)},f=function(A,e){return A+(e-1)&~(e-1)},y=0,h=4294967295,m=-1,b=function(A){return Number(A)},p=function(A){return 2863311530===A||-1431655766===A},d=function(A,e){return A+e};function w(A){if("number"==typeof A.length)return A;const e=A[Symbol.iterator](),t=e.next(),i=t.value?.length;if("number"==typeof i&&"length"===Object.keys(t.value).join())return Object.assign(function*(){let A;for(;!(A=e.next()).done;)yield A.value}(),{length:i});{const A=[];let i=t;for(;!i.done;)A.push(i.value),i=e.next();return A}}function S(A,e){const{constructor:t}=A;return t===e?1:t.child===e?A.length:void 0}function D(A,e){return A===e||A?.[n.J2]===e[n.J2]&&A?.[n.M0]!==e?.[n.M0]}function v(A,e){return A instanceof e||D(A?.constructor,e)}function z({get:A,set:e}){return A.special=e.special=!0,{get:A,set:e}}function k(){return this}function x(){return this[n.rG]}function G(){return String(this)}function M(){}class F{map=new WeakMap;find(A){return this.map.get(A)}save(A,e){return this.map.set(A,e),e}}},8502:(A,e,t)=>{t.d(e,{k:()=>a});var i=t(1388),n=t(6560),r=t(4762),s=t(4540);function a(A,e,t,n){let r,a=this[s._f][A];if(!a){if(t&i.F7.IgnoreUncreated)return;a=this[s.tZ](A)}n&&(r=n[s._f][A],!r)||a[s.g9](e,t,r)}(0,n.co)({defineVisitor:()=>({value(A,e,t){let i;i="string"==typeof A?g[A]:A,i.call(this,e,t)}})});const g={copy(A,e){const t=e[s._f][0];if(this[s.Qy][s.Dr]&&t&&!t[s.Qy][s.Dr])throw new r.x1;this[s._f][0]=t},clear(A){A&i.F7.IsInactive&&(this[s._f][0]=void 0)},reset(){this[s._f][0]=void 0,this[s.c6]=void 0}}},9025:(A,e,t)=>{var i=t(1388),n=t(6560),r=t(8502);(0,n.co)({defineVisitorArgStruct(A){const e=[];let t;for(const[n,{slot:r,structure:s}]of A.entries())s.flags&i.yi.HasPointer&&(0===n?t=r:e.push(r));return{value(A,n,s){if(!(n&i.F7.IgnoreArguments)&&e.length>0)for(const t of e)r.k.call(this,t,A,n|i.F7.IsImmutable,s);n&i.F7.IgnoreRetval||void 0===t||r.k.call(this,t,A,n,s)}}}})},9426:(A,e,t)=>{var i=t(6560),n=t(8502);(0,i.co)({defineVisitorArray:()=>({value(A,e,t){for(let i=0,r=this.length;i<r;i++)n.k.call(this,i,A,e,t)}})})},1991:(A,e,t)=>{var i=t(1388),n=t(6560),r=t(8502);(0,n.co)({defineVisitorOptional(A,e){const{slot:t}=A;return{value(A,n,s){e.call(this)||(n|=i.F7.IsInactive),n&i.F7.IsInactive&&n&i.F7.IgnoreInactive||r.k.call(this,t,A,n,s)}}}})},5558:(A,e,t)=>{var i=t(1388),n=t(6560),r=t(8502);(0,n.co)({defineVisitorStruct(A){const e=A.filter((A=>A.structure?.flags&i.yi.HasPointer)).map((A=>A.slot));return{value(A,t,i){for(const n of e)r.k.call(this,n,A,t,i)}}}})},1369:A=>{A.exports=JSON.parse('{"Wn":[{"id":57345,"index":1,"char":"","width":24,"height":21,"xoffset":-2,"yoffset":4,"xadvance":20,"chnl":15,"x":0,"y":0,"page":0},{"id":57346,"index":2,"char":"","width":23,"height":24,"xoffset":-1,"yoffset":2,"xadvance":20,"chnl":15,"x":25,"y":0,"page":0}]}')}},r={};function s(A){var e=r[A];if(void 0!==e)return e.exports;var t=r[A]={exports:{}};return n[A](t,t.exports,s),t.exports}A="function"==typeof Symbol?Symbol("webpack queues"):"__webpack_queues__",e="function"==typeof Symbol?Symbol("webpack exports"):"__webpack_exports__",t="function"==typeof Symbol?Symbol("webpack error"):"__webpack_error__",i=A=>{A&&A.d<1&&(A.d=1,A.forEach((A=>A.r--)),A.forEach((A=>A.r--?A.r++:A())))},s.a=(n,r,s)=>{var a;s&&((a=[]).d=-1);var g,o,I,c=new Set,Q=n.exports,l=new Promise(((A,e)=>{I=e,o=A}));l[e]=Q,l[A]=A=>(a&&A(a),c.forEach(A),l.catch((A=>{}))),n.exports=l,r((n=>{var r;g=(n=>n.map((n=>{if(null!==n&&"object"==typeof n){if(n[A])return n;if(n.then){var r=[];r.d=0,n.then((A=>{s[e]=A,i(r)}),(A=>{s[t]=A,i(r)}));var s={};return s[A]=A=>A(r),s}}var a={};return a[A]=A=>{},a[e]=n,a})))(n);var s=()=>g.map((A=>{if(A[t])throw A[t];return A[e]})),o=new Promise((e=>{(r=()=>e(s)).r=0;var t=A=>A!==a&&!c.has(A)&&(c.add(A),A&&!A.d&&(r.r++,A.push(r)));g.map((e=>e[A](t)))}));return r.r?o:s()}),(A=>(A?I(l[t]=A):o(Q),i(a)))),a&&a.d<0&&(a.d=0)},s.d=(A,e)=>{for(var t in e)s.o(e,t)&&!s.o(A,t)&&Object.defineProperty(A,t,{enumerable:!0,get:e[t]})},s.o=(A,e)=>Object.prototype.hasOwnProperty.call(A,e),(()=>{var A;if("string"==typeof import.meta.url&&(A=import.meta.url),!A)throw new Error("Automatic publicPath is not supported in this browser");A=A.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),s.p=A})();var a=s(8156),g=(a=await a).b,o=a.A;export{g as CreatorTool,o as default};
|
|
2
2
|
//# sourceMappingURL=index.mjs.map
|