rig-play 0.8.0 → 1.1.0

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.
Files changed (44) hide show
  1. package/NOTICE.md +50 -23
  2. package/README.md +511 -456
  3. package/dist/CanvasRenderer.d.ts +139 -0
  4. package/dist/CanvasRenderer.d.ts.map +1 -0
  5. package/dist/{SpineHtmlRenderer.d.ts → DomRenderer.d.ts} +70 -65
  6. package/dist/DomRenderer.d.ts.map +1 -0
  7. package/dist/DomTexture.d.ts +34 -14
  8. package/dist/DomTexture.d.ts.map +1 -1
  9. package/dist/MeshGlBlitter.d.ts +67 -1
  10. package/dist/MeshGlBlitter.d.ts.map +1 -1
  11. package/dist/index.d.ts +6 -4
  12. package/dist/index.d.ts.map +1 -1
  13. package/dist/index.js +7470 -5
  14. package/dist/index.js.map +1 -1
  15. package/dist/loadModel.d.ts +92 -0
  16. package/dist/loadModel.d.ts.map +1 -0
  17. package/dist/player.d.ts +198 -0
  18. package/dist/player.d.ts.map +1 -0
  19. package/dist/posedFrame.d.ts +99 -0
  20. package/dist/posedFrame.d.ts.map +1 -0
  21. package/package.json +13 -19
  22. package/dist/DomTexture.js +0 -520
  23. package/dist/DomTexture.js.map +0 -1
  24. package/dist/MeshGlBlitter.js +0 -365
  25. package/dist/MeshGlBlitter.js.map +0 -1
  26. package/dist/SpineHtmlRenderer.d.ts.map +0 -1
  27. package/dist/SpineHtmlRenderer.js +0 -1107
  28. package/dist/SpineHtmlRenderer.js.map +0 -1
  29. package/dist/binary.d.ts +0 -48
  30. package/dist/binary.d.ts.map +0 -1
  31. package/dist/binary.js +0 -29
  32. package/dist/binary.js.map +0 -1
  33. package/dist/coreCompat.d.ts +0 -153
  34. package/dist/coreCompat.d.ts.map +0 -1
  35. package/dist/coreCompat.js +0 -136
  36. package/dist/coreCompat.js.map +0 -1
  37. package/dist/loadAtlasAssets.d.ts +0 -73
  38. package/dist/loadAtlasAssets.d.ts.map +0 -1
  39. package/dist/loadAtlasAssets.js +0 -75
  40. package/dist/loadAtlasAssets.js.map +0 -1
  41. package/dist/loadSkeletonAssets.d.ts +0 -88
  42. package/dist/loadSkeletonAssets.d.ts.map +0 -1
  43. package/dist/loadSkeletonAssets.js +0 -79
  44. package/dist/loadSkeletonAssets.js.map +0 -1
@@ -1,365 +0,0 @@
1
- /**
2
- * Shared offscreen WebGL rasterizer for the mesh (deform) tier.
3
- *
4
- * One module-level context serves every renderer instance: browsers cap live
5
- * WebGL contexts (16 on Chrome/Safari) and a page can hold many renderers, so
6
- * per-renderer contexts would evict each other. Per flush, every dirty mesh is
7
- * shelf-packed into a rect of the offscreen canvas, its triangles are drawn
8
- * textured (atlas page texture, premultiplied alpha), and each rect is blitted
9
- * onto the mesh's per-part 2d canvas with an unclipped drawImage rect copy.
10
- * The texture is premultiplied either by the upload or by the exporter — a
11
- * `pma: true` page arrives that way, so it is uploaded unconverted (textureFor).
12
- *
13
- * Why this exists: Safari antialiases canvas2d clip paths, so the standard
14
- * per-triangle clip+transform+drawImage mapping pays a per-triangle AA-mask
15
- * cost in the GPU process — invisible to in-callback JS timing, but it
16
- * rAF-limits heavy scenes. GL rasterizes shared triangle edges seamlessly
17
- * (no clip, no crack overdraw needed), and the remaining canvas2d work is a
18
- * plain rect blit.
19
- *
20
- * The offscreen buffer is scratch space: rects are scissor-cleared and
21
- * redrawn every flush and read back in the same task, so neither
22
- * preserveDrawingBuffer nor cross-frame content is relied on. The buffer
23
- * grows quantized and never shrinks, mirroring the per-part backing policy
24
- * (reallocating GPU surfaces per frame is a Safari killer).
25
- *
26
- * Page textures are the one thing here with a lifetime, and since this object
27
- * outlives every renderer they are reference-counted: a renderer retains each
28
- * page it queues a job for and releases them in dispose(), and the last
29
- * release deletes the GL texture (a later job re-uploads it). The cache is
30
- * keyed weakly by the page image, so a consumer that never disposes still
31
- * loses nothing but GPU memory — this object never pins the caller's image.
32
- */
33
- const VERTEX_SHADER = `
34
- attribute vec2 aPos;
35
- attribute vec2 aUV;
36
- uniform vec2 uResolution;
37
- varying vec2 vUV;
38
- void main() {
39
- // aPos is in offscreen-canvas device px, top-left origin (matching the
40
- // top-left-origin drawImage read of the same rect).
41
- vec2 clip = aPos / uResolution * 2.0 - 1.0;
42
- gl_Position = vec4(clip.x, -clip.y, 0.0, 1.0);
43
- vUV = aUV;
44
- }`;
45
- const FRAGMENT_SHADER = `
46
- precision mediump float;
47
- uniform sampler2D uTex;
48
- varying vec2 vUV;
49
- void main() {
50
- gl_FragColor = texture2D(uTex, vUV);
51
- }`;
52
- /** Gap between packed rects; blits are 1:1 unfiltered, so 1px is plenty. */
53
- const GUTTER = 1;
54
- /** Drawing-buffer growth quantum (device px). */
55
- const GROW_STEP = 256;
56
- class MeshGlBlitter {
57
- lost = false;
58
- /**
59
- * Page textures created minus deleted, i.e. how many uploads are live right
60
- * now. Deterministic (no GC in the path), which is what the lifetime tests
61
- * assert against — see tests/gl-textures.spec.ts.
62
- */
63
- liveTextureCount = 0;
64
- canvas = document.createElement('canvas');
65
- gl;
66
- uResolution;
67
- /**
68
- * Weak by the page image on purpose: a consumer that forgets dispose()
69
- * leaks its texture until context loss, but dropping the image still lets
70
- * the image (and then the WebGLTexture this entry holds) be collected.
71
- * Reassigned wholesale on context loss, never iterated.
72
- */
73
- textures = new WeakMap();
74
- maxSize;
75
- vertexData = new Float32Array(8192);
76
- /** Per-job packed rect origins, filled by flush(). */
77
- packX = [];
78
- packY = [];
79
- constructor() {
80
- const gl = this.canvas.getContext('webgl', {
81
- alpha: true,
82
- premultipliedAlpha: true,
83
- antialias: false,
84
- depth: false,
85
- stencil: false,
86
- preserveDrawingBuffer: false,
87
- });
88
- if (!gl)
89
- throw new Error('WebGL unavailable');
90
- this.gl = gl;
91
- // No restore attempt: on loss the renderer falls back to canvas2d and the
92
- // backend signature re-dirties every mesh, so frames stay complete.
93
- this.canvas.addEventListener('webglcontextlost', () => {
94
- this.markLost();
95
- });
96
- const program = gl.createProgram();
97
- if (!program)
98
- throw new Error('createProgram failed');
99
- gl.attachShader(program, this.compile(gl.VERTEX_SHADER, VERTEX_SHADER));
100
- gl.attachShader(program, this.compile(gl.FRAGMENT_SHADER, FRAGMENT_SHADER));
101
- gl.linkProgram(program);
102
- if (!gl.getProgramParameter(program, gl.LINK_STATUS)) {
103
- throw new Error(`program link failed: ${gl.getProgramInfoLog(program)}`);
104
- }
105
- gl.useProgram(program);
106
- const uResolution = gl.getUniformLocation(program, 'uResolution');
107
- if (!uResolution)
108
- throw new Error('uResolution not found');
109
- this.uResolution = uResolution;
110
- gl.uniform1i(gl.getUniformLocation(program, 'uTex'), 0);
111
- // Static state: this context does exactly one thing, set it up once.
112
- // Interleaved [x, y, u, v] vertices in a single dynamic buffer.
113
- gl.bindBuffer(gl.ARRAY_BUFFER, gl.createBuffer());
114
- const aPos = gl.getAttribLocation(program, 'aPos');
115
- const aUV = gl.getAttribLocation(program, 'aUV');
116
- gl.enableVertexAttribArray(aPos);
117
- gl.enableVertexAttribArray(aUV);
118
- gl.vertexAttribPointer(aPos, 2, gl.FLOAT, false, 16, 0);
119
- gl.vertexAttribPointer(aUV, 2, gl.FLOAT, false, 16, 8);
120
- // Premultiplied source-over, matching canvas2d triangle compositing.
121
- gl.enable(gl.BLEND);
122
- gl.blendFunc(gl.ONE, gl.ONE_MINUS_SRC_ALPHA);
123
- gl.enable(gl.SCISSOR_TEST);
124
- gl.clearColor(0, 0, 0, 0);
125
- gl.activeTexture(gl.TEXTURE0);
126
- this.maxSize = Math.min(gl.getParameter(gl.MAX_RENDERBUFFER_SIZE) || 4096, 8192);
127
- }
128
- /**
129
- * Rasterize every job into the offscreen buffer, then blit each rect onto
130
- * its per-part canvas. Returns false when the context is lost (or the jobs
131
- * cannot fit) so the caller can rasterize the batch on the canvas2d path.
132
- */
133
- flush(jobs) {
134
- const gl = this.gl;
135
- if (this.lost || gl.isContextLost())
136
- return false;
137
- // Shelf-pack, tallest first (indices keep job order for the draw pass).
138
- let width = Math.max(512, this.canvas.width);
139
- for (const job of jobs)
140
- width = Math.max(width, job.width + GUTTER * 2);
141
- if (width > this.maxSize)
142
- return false;
143
- const order = jobs.map((_, i) => i).sort((a, b) => jobs[b].height - jobs[a].height);
144
- const packX = (this.packX = new Array(jobs.length));
145
- const packY = (this.packY = new Array(jobs.length));
146
- let shelfX = GUTTER;
147
- let shelfY = GUTTER;
148
- let shelfH = 0;
149
- let height = GUTTER;
150
- for (const i of order) {
151
- const job = jobs[i];
152
- if (shelfX + job.width + GUTTER > width) {
153
- shelfY += shelfH + GUTTER;
154
- shelfX = GUTTER;
155
- shelfH = 0;
156
- }
157
- packX[i] = shelfX;
158
- packY[i] = shelfY;
159
- shelfX += job.width + GUTTER;
160
- if (job.height > shelfH)
161
- shelfH = job.height;
162
- if (shelfY + job.height + GUTTER > height)
163
- height = shelfY + job.height + GUTTER;
164
- }
165
- if (height > this.maxSize)
166
- return false;
167
- // Grow-only quantized drawing buffer. Resizing clears it, which is fine:
168
- // every rect below is cleared and redrawn anyway.
169
- if (width > this.canvas.width || height > this.canvas.height) {
170
- this.canvas.width = Math.min(this.maxSize, Math.ceil(width / GROW_STEP) * GROW_STEP);
171
- this.canvas.height = Math.min(this.maxSize, Math.ceil(Math.max(height, this.canvas.height) / GROW_STEP) * GROW_STEP);
172
- }
173
- const bufW = this.canvas.width;
174
- const bufH = this.canvas.height;
175
- gl.viewport(0, 0, bufW, bufH);
176
- gl.uniform2f(this.uResolution, bufW, bufH);
177
- // Build one interleaved vertex array for the whole batch (unindexed —
178
- // meshes are a few hundred triangles, expansion is cheaper than managing
179
- // index buffers).
180
- let floats = 0;
181
- for (const job of jobs)
182
- floats += job.triangles.length * 4;
183
- if (this.vertexData.length < floats) {
184
- this.vertexData = new Float32Array(1 << Math.ceil(Math.log2(floats)));
185
- }
186
- const data = this.vertexData;
187
- let f = 0;
188
- for (let i = 0; i < jobs.length; i++) {
189
- const { vertices, uvs, triangles, ratio } = jobs[i];
190
- const ox = packX[i];
191
- const oy = packY[i];
192
- for (let t = 0; t < triangles.length; t++) {
193
- const vi = triangles[t] * 2;
194
- data[f++] = ox + vertices[vi] * ratio;
195
- data[f++] = oy + vertices[vi + 1] * ratio;
196
- data[f++] = uvs[vi];
197
- data[f++] = uvs[vi + 1];
198
- }
199
- }
200
- gl.bufferData(gl.ARRAY_BUFFER, data.subarray(0, floats), gl.DYNAMIC_DRAW);
201
- let boundPage = null;
202
- let first = 0;
203
- for (let i = 0; i < jobs.length; i++) {
204
- const job = jobs[i];
205
- if (job.page !== boundPage) {
206
- gl.bindTexture(gl.TEXTURE_2D, this.textureFor(job.page, job.pma));
207
- boundPage = job.page;
208
- }
209
- // Scissor is bottom-left origin; pack coords are top-left origin.
210
- gl.scissor(packX[i], bufH - packY[i] - job.height, job.width, job.height);
211
- gl.clear(gl.COLOR_BUFFER_BIT);
212
- gl.drawArrays(gl.TRIANGLES, first, job.triangles.length);
213
- first += job.triangles.length;
214
- }
215
- // If the context died mid-batch the draws above were no-ops; report it
216
- // before blitting stale/blank rects onto the part canvases.
217
- if (gl.isContextLost()) {
218
- this.markLost();
219
- return false;
220
- }
221
- // Blit each rect onto its per-part canvas: same-task read (no
222
- // preserveDrawingBuffer needed), 1:1 device px (no filtering).
223
- for (let i = 0; i < jobs.length; i++) {
224
- const job = jobs[i];
225
- const ctx = job.canvas.getContext('2d');
226
- if (!ctx)
227
- continue;
228
- ctx.setTransform(1, 0, 0, 1, 0, 0);
229
- // Clear the full backing: the previous raster may have been larger.
230
- ctx.clearRect(0, 0, job.canvas.width, job.canvas.height);
231
- ctx.drawImage(this.canvas, packX[i], packY[i], job.width, job.height, 0, 0, job.width, job.height);
232
- }
233
- return true;
234
- }
235
- /**
236
- * Declares one more user of `page`. The upload itself stays lazy (the first
237
- * flush that binds the page does it) — this only counts, so that the last
238
- * release() can free the texture instead of the module holding it forever.
239
- * Callers retain once per page and hand the same page back exactly once;
240
- * SpineHtmlRenderer keeps that ledger and settles it in dispose().
241
- */
242
- retain(page) {
243
- const entry = this.textures.get(page);
244
- if (entry)
245
- entry.users++;
246
- else
247
- this.textures.set(page, { texture: null, users: 1, pma: false });
248
- }
249
- /**
250
- * Gives back one retain(). The GL texture goes when the last user of the
251
- * page is gone; a later job for the same page simply uploads it again. A
252
- * page the cache does not know (a release after a context loss dropped
253
- * everything, or a double dispose) is a no-op, so this is safe to call
254
- * unconditionally.
255
- */
256
- release(page) {
257
- const entry = this.textures.get(page);
258
- if (!entry)
259
- return;
260
- if (--entry.users > 0)
261
- return;
262
- this.textures.delete(page);
263
- if (!entry.texture)
264
- return;
265
- // deleteTexture is a documented no-op on a lost context rather than a
266
- // throw, but a lost context has already dropped the cache and zeroed the
267
- // count — reaching here with `lost` set would mean decrementing twice.
268
- if (!this.lost && !this.gl.isContextLost())
269
- this.gl.deleteTexture(entry.texture);
270
- this.liveTextureCount--;
271
- }
272
- /**
273
- * Context loss invalidates every texture handle at once. Drop the cache and
274
- * the count instead of carrying dead handles (deleting them is pointless —
275
- * the GPU side is already gone) and let the next frames re-upload if the
276
- * caller keeps drawing; the renderer meanwhile falls back to canvas2d.
277
- */
278
- markLost() {
279
- this.lost = true;
280
- this.textures = new WeakMap();
281
- this.liveTextureCount = 0;
282
- }
283
- compile(type, source) {
284
- const gl = this.gl;
285
- const shader = gl.createShader(type);
286
- if (!shader)
287
- throw new Error('createShader failed');
288
- gl.shaderSource(shader, source);
289
- gl.compileShader(shader);
290
- if (!gl.getShaderParameter(shader, gl.COMPILE_STATUS)) {
291
- throw new Error(`shader compile failed: ${gl.getShaderInfoLog(shader)}`);
292
- }
293
- return shader;
294
- }
295
- /**
296
- * The page's GL texture, uploaded on demand.
297
- *
298
- * `pma` is a property of the page's *pixels*, so one image cannot honestly be
299
- * both: two atlases naming the same image with different `pma:` lines are not
300
- * a mixed page, one of them is simply wrong about the file. The cache is keyed
301
- * by the image, so rather than trusting that, a flag that disagrees with the
302
- * live upload re-uploads under the new one — the pathological case stays
303
- * correct (at the price of re-uploading while it lasts) instead of silently
304
- * drawing one of the two atlases wrong.
305
- */
306
- textureFor(page, pma) {
307
- let entry = this.textures.get(page);
308
- if (entry?.texture) {
309
- if (entry.pma === pma)
310
- return entry.texture;
311
- this.gl.deleteTexture(entry.texture);
312
- entry.texture = null;
313
- this.liveTextureCount--;
314
- }
315
- const gl = this.gl;
316
- const texture = gl.createTexture();
317
- if (!texture)
318
- throw new Error('createTexture failed');
319
- gl.bindTexture(gl.TEXTURE_2D, texture);
320
- // Premultiply at upload so blending and the premultiplied canvas agree —
321
- // unless the page is already premultiplied (`pma: true`), where doing it
322
- // again is the second multiply that darkens every semi-transparent texel
323
- // (#37). The blend below is premultiplied source-over either way, so a pma
324
- // page is simply uploaded as it is: no conversion, nothing lost.
325
- gl.pixelStorei(gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL, pma ? 0 : 1);
326
- gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL, 0);
327
- gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, gl.RGBA, gl.UNSIGNED_BYTE, page);
328
- // Linear, no mips, clamped — NPOT-safe in WebGL1.
329
- gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.LINEAR);
330
- gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.LINEAR);
331
- gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE);
332
- gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE);
333
- if (!entry) {
334
- // Nobody retained this page — not a path this package takes, since the
335
- // renderer retains as it queues each job. Cache it anyway so the batch
336
- // does not re-upload per flush; with no users only a context loss (or
337
- // the image being collected, which takes the weak entry with it) clears
338
- // it, which is exactly the old behavior for a caller that opts out.
339
- entry = { texture: null, users: 0, pma };
340
- this.textures.set(page, entry);
341
- }
342
- entry.pma = pma;
343
- entry.texture = texture;
344
- this.liveTextureCount++;
345
- return texture;
346
- }
347
- }
348
- let shared;
349
- /**
350
- * The module-level blitter, created on first use. Returns null when WebGL is
351
- * unavailable or the shared context has been lost — callers then stay on the
352
- * canvas2d path.
353
- */
354
- export function getMeshGlBlitter() {
355
- if (shared === undefined) {
356
- try {
357
- shared = new MeshGlBlitter();
358
- }
359
- catch {
360
- shared = null;
361
- }
362
- }
363
- return shared && !shared.lost ? shared : null;
364
- }
365
- //# sourceMappingURL=MeshGlBlitter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MeshGlBlitter.js","sourceRoot":"","sources":["../src/MeshGlBlitter.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"SpineHtmlRenderer.d.ts","sourceRoot":"","sources":["../src/SpineHtmlRenderer.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,QAAQ,EAGd,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EAAmB,KAAK,WAAW,EAAuB,MAAM,iBAAiB,CAAC;AAGzF,kDAAkD;AAClD,MAAM,MAAM,WAAW,GAAG,UAAU,GAAG,OAAO,CAAC;AAkI/C;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,qBAAa,iBAAiB;IA+H1B,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,YAAY;IA/H/B;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,QAAQ,UAAQ;IAChB,+CAA+C;IAC/C,SAAS,SAAK;IACd;;;;OAIG;IACH,aAAa,SAAK;IAClB;;;;OAIG;IACH,cAAc,SAAK;IACnB,2CAA2C;IAC3C,SAAS,SAAK;IACd,kEAAkE;IAClE,cAAc,SAAK;IACnB;;;;OAIG;IACH,kBAAkB,SAAK;IACvB,uCAAuC;IACvC,aAAa,SAAK;IAClB;;;;OAIG;IACH,cAAc,SAAO;IACrB;;;;;;OAMG;IACH,UAAU,SAA+D;IACzE;;;;;;;;;;;;;OAaG;IACH,WAAW,EAAE,WAAW,CAAc;IACtC,+EAA+E;IAC/E,iBAAiB,EAAE,WAAW,CAAc;IAE5C;;;;;OAKG;IACH,OAAO,CAAC,IAAI,CAA2B;IAEvC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA6B;IACnD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAqB;IACjD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAkB;IAC/C;;;;OAIG;IACH,OAAO,CAAC,OAAO,CAAsC;IACrD,OAAO,CAAC,eAAe,CAAyB;IAChD,OAAO,CAAC,QAAQ,CAA8B;IAC9C,wEAAwE;IACxE,OAAO,CAAC,cAAc,CAAmC;IACzD,OAAO,CAAC,WAAW,CAAyB;IAC5C,OAAO,CAAC,WAAW,CAAS;IAC5B,yEAAyE;IACzE,OAAO,CAAC,UAAU,CAAS;IAC3B,8EAA8E;IAC9E,OAAO,CAAC,YAAY,CAAS;IAC7B,0EAA0E;IAC1E,OAAO,CAAC,WAAW,CAAuB;IAC1C,OAAO,CAAC,iBAAiB,CAAK;IAC9B;;;;OAIG;IACH,OAAO,CAAC,aAAa,CAAuB;IAC5C,6EAA6E;IAC7E,OAAO,CAAC,eAAe,CAAM;IAE7B;;;;;OAKG;gBAEgB,IAAI,EAAE,WAAW,EACjB,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC;IAGzD;;;;;;;;;;;OAWG;IACH,IAAI,iBAAiB,IAAI,MAAM,CAM9B;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAmCG;IACH,cAAc,IAAI,MAAM;IAiCxB,MAAM,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI;IAoFhC;;;;;;;;;;;;;;;;;OAiBG;IACH,OAAO,IAAI,IAAI;IAiBf,OAAO,CAAC,YAAY;IAiDpB,OAAO,CAAC,UAAU;IAgKlB;;;;;;OAMG;IACH,OAAO,CAAC,UAAU;IAWlB,sEAAsE;IACtE,OAAO,CAAC,eAAe;IAuCvB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA0DG;IACH,OAAO,CAAC,YAAY;IA8EpB;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,SAAS;IAsCjB;;;;;;;OAOG;IACH,OAAO,CAAC,OAAO;IAOf;;;;;;;;;;OAUG;IACH,OAAO,CAAC,SAAS;IAoDjB,OAAO,CAAC,WAAW;IAOnB,yEAAyE;IACzE,OAAO,CAAC,YAAY;IAUpB,OAAO,CAAC,aAAa;IAUrB,OAAO,CAAC,eAAe;IAUvB,OAAO,CAAC,YAAY;IAOpB,OAAO,CAAC,WAAW;IAsDnB,OAAO,CAAC,aAAa;IAyBrB,OAAO,CAAC,IAAI;IAgDZ,OAAO,CAAC,IAAI;CAab"}