@ivlev-dev/silent-reactivity 0.0.0-stage → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/deep.js ADDED
@@ -0,0 +1,589 @@
1
+ import { createSignalHandle } from "./graph.js";
2
+ const MAX_ARRAY_INDEX = 4294967295;
3
+ const rawToRecord = new WeakMap();
4
+ const proxyToRecord = new WeakMap();
5
+ const reactiveClasses = new WeakSet();
6
+ function hasOwn(target, key) {
7
+ return Object.prototype.hasOwnProperty.call(target, key);
8
+ }
9
+ function toArrayIndex(key) {
10
+ if (key === "") {
11
+ return null;
12
+ }
13
+ const index = Number(key);
14
+ if (!Number.isInteger(index) || index < 0 || index >= MAX_ARRAY_INDEX) {
15
+ return null;
16
+ }
17
+ if (String(index) !== key) {
18
+ return null;
19
+ }
20
+ return index;
21
+ }
22
+ function getPropertyDescriptor(target, key) {
23
+ let current = target;
24
+ while (current !== null) {
25
+ const descriptor = Reflect.getOwnPropertyDescriptor(current, key);
26
+ if (descriptor !== undefined) {
27
+ return descriptor;
28
+ }
29
+ current = Object.getPrototypeOf(current);
30
+ }
31
+ return undefined;
32
+ }
33
+ function ensureField(record, key, initial) {
34
+ const existing = record.fields.get(key);
35
+ if (existing !== undefined) {
36
+ return existing;
37
+ }
38
+ const field = createSignalHandle(initial);
39
+ record.fields.set(key, field);
40
+ return field;
41
+ }
42
+ function getField(record, key) {
43
+ const existing = record.fields.get(key);
44
+ if (existing !== undefined) {
45
+ return existing;
46
+ }
47
+ const initial = Reflect.get(record.raw, key, record.raw);
48
+ return ensureField(record, key, initial);
49
+ }
50
+ function bumpKeys(record) {
51
+ record.keysVersion += 1;
52
+ record.keysSignal.write(record.keysVersion);
53
+ }
54
+ function notifyLength(record, value) {
55
+ const signal = record.lengthSignal;
56
+ if (signal !== null) {
57
+ signal.write(value);
58
+ }
59
+ }
60
+ function writeIndex(record, index, oldValue, newValue) {
61
+ ensureField(record, index, oldValue).write(newValue);
62
+ }
63
+ function notifyChangedIndices(record, previous) {
64
+ const array = record.raw;
65
+ const length = Math.max(previous.length, array.length);
66
+ for (let index = 0; index < length; index += 1) {
67
+ const before = previous[index];
68
+ const after = array[index];
69
+ if (!Object.is(before, after)) {
70
+ writeIndex(record, index, before, after);
71
+ }
72
+ }
73
+ }
74
+ function unwrapValue(value) {
75
+ return unwrap(value);
76
+ }
77
+ function arrayPush(record, items) {
78
+ const array = record.raw;
79
+ const start = array.length;
80
+ const values = items.map(unwrapValue);
81
+ const result = array.push(...values);
82
+ for (let offset = 0; offset < values.length; offset += 1) {
83
+ writeIndex(record, start + offset, undefined, values[offset]);
84
+ }
85
+ notifyLength(record, array.length);
86
+ if (values.length > 0) {
87
+ bumpKeys(record);
88
+ }
89
+ return result;
90
+ }
91
+ function arrayPop(record) {
92
+ const array = record.raw;
93
+ if (array.length === 0) {
94
+ return undefined;
95
+ }
96
+ const index = array.length - 1;
97
+ const hadOwn = hasOwn(array, index);
98
+ const previous = array[index];
99
+ const removed = array.pop();
100
+ writeIndex(record, index, previous, undefined);
101
+ notifyLength(record, array.length);
102
+ if (hadOwn) {
103
+ bumpKeys(record);
104
+ }
105
+ return deepReactive(removed);
106
+ }
107
+ function arrayShift(record) {
108
+ const array = record.raw;
109
+ if (array.length === 0) {
110
+ return undefined;
111
+ }
112
+ const previous = array.slice();
113
+ const removed = array.shift();
114
+ const length = array.length;
115
+ for (let index = 0; index < length; index += 1) {
116
+ writeIndex(record, index, previous[index], array[index]);
117
+ }
118
+ writeIndex(record, length, previous[length], undefined);
119
+ notifyLength(record, length);
120
+ bumpKeys(record);
121
+ return deepReactive(removed);
122
+ }
123
+ function arrayUnshift(record, items) {
124
+ const array = record.raw;
125
+ const previous = array.slice();
126
+ const values = items.map(unwrapValue);
127
+ const result = array.unshift(...values);
128
+ const length = array.length;
129
+ for (let index = 0; index < length; index += 1) {
130
+ writeIndex(record, index, previous[index], array[index]);
131
+ }
132
+ notifyLength(record, length);
133
+ if (values.length > 0) {
134
+ bumpKeys(record);
135
+ }
136
+ return result;
137
+ }
138
+ function arraySplice(record, args) {
139
+ const array = record.raw;
140
+ const previousLength = array.length;
141
+ const previous = array.slice();
142
+ const previousOwn = [];
143
+ for (let index = 0; index < previousLength; index += 1) {
144
+ previousOwn[index] = hasOwn(array, index);
145
+ }
146
+ const start = args[0];
147
+ const deleteCount = args[1];
148
+ const inserted = args.length > 2 ? args.slice(2).map(unwrapValue) : [];
149
+ let removed;
150
+ if (args.length === 0) {
151
+ removed = [];
152
+ }
153
+ else if (args.length === 1) {
154
+ removed = array.splice(start);
155
+ }
156
+ else {
157
+ removed = array.splice(start, deleteCount, ...inserted);
158
+ }
159
+ const length = array.length;
160
+ const limit = Math.max(previousLength, length);
161
+ let keysChanged = previousLength !== length;
162
+ for (let index = 0; index < limit; index += 1) {
163
+ const before = previous[index];
164
+ const after = array[index];
165
+ const owned = hasOwn(array, index);
166
+ const wasOwn = previousOwn[index] === true;
167
+ if (!Object.is(before, after) || wasOwn !== owned) {
168
+ writeIndex(record, index, before, after);
169
+ }
170
+ if (!keysChanged && wasOwn !== owned) {
171
+ keysChanged = true;
172
+ }
173
+ }
174
+ notifyLength(record, length);
175
+ if (keysChanged) {
176
+ bumpKeys(record);
177
+ }
178
+ return deepReactive(removed);
179
+ }
180
+ function arraySort(record, args) {
181
+ const array = record.raw;
182
+ const previous = array.slice();
183
+ const comparator = args[0];
184
+ if (typeof comparator === "function") {
185
+ array.sort(comparator);
186
+ }
187
+ else {
188
+ array.sort();
189
+ }
190
+ notifyChangedIndices(record, previous);
191
+ return record.proxy;
192
+ }
193
+ function arrayReverse(record) {
194
+ const array = record.raw;
195
+ const previous = array.slice();
196
+ array.reverse();
197
+ notifyChangedIndices(record, previous);
198
+ return record.proxy;
199
+ }
200
+ function arrayFill(record, args) {
201
+ const array = record.raw;
202
+ const previous = array.slice();
203
+ const wasOwn = [];
204
+ for (let index = 0; index < previous.length; index += 1) {
205
+ wasOwn[index] = hasOwn(array, index);
206
+ }
207
+ const value = unwrapValue(args[0]);
208
+ if (args.length > 2) {
209
+ array.fill(value, args[1], args[2]);
210
+ }
211
+ else if (args.length > 1) {
212
+ array.fill(value, args[1]);
213
+ }
214
+ else {
215
+ array.fill(value);
216
+ }
217
+ notifyChangedIndices(record, previous);
218
+ let keysChanged = false;
219
+ for (let index = 0; index < array.length; index += 1) {
220
+ if (wasOwn[index] === false && hasOwn(array, index)) {
221
+ keysChanged = true;
222
+ break;
223
+ }
224
+ }
225
+ if (keysChanged) {
226
+ bumpKeys(record);
227
+ }
228
+ return record.proxy;
229
+ }
230
+ function arrayCopyWithin(record, args) {
231
+ const array = record.raw;
232
+ const previous = array.slice();
233
+ const wasOwn = [];
234
+ for (let index = 0; index < previous.length; index += 1) {
235
+ wasOwn[index] = hasOwn(array, index);
236
+ }
237
+ if (args.length > 2) {
238
+ array.copyWithin(args[0], args[1], args[2]);
239
+ }
240
+ else if (args.length > 1) {
241
+ array.copyWithin(args[0], args[1]);
242
+ }
243
+ else {
244
+ array.copyWithin(args[0], 0);
245
+ }
246
+ notifyChangedIndices(record, previous);
247
+ let keysChanged = false;
248
+ for (let index = 0; index < array.length; index += 1) {
249
+ if (wasOwn[index] === false && hasOwn(array, index)) {
250
+ keysChanged = true;
251
+ break;
252
+ }
253
+ }
254
+ if (keysChanged) {
255
+ bumpKeys(record);
256
+ }
257
+ return record.proxy;
258
+ }
259
+ function createArrayMethods(record) {
260
+ const methods = new Map();
261
+ methods.set("push", (...items) => arrayPush(record, items));
262
+ methods.set("pop", () => arrayPop(record));
263
+ methods.set("shift", () => arrayShift(record));
264
+ methods.set("unshift", (...items) => arrayUnshift(record, items));
265
+ methods.set("splice", (...args) => arraySplice(record, args));
266
+ methods.set("sort", (...args) => arraySort(record, args));
267
+ methods.set("reverse", () => arrayReverse(record));
268
+ methods.set("fill", (...args) => arrayFill(record, args));
269
+ methods.set("copyWithin", (...args) => arrayCopyWithin(record, args));
270
+ return methods;
271
+ }
272
+ function setObjectField(record, key, value) {
273
+ const raw = record.raw;
274
+ const hadOwn = hasOwn(raw, key);
275
+ const previous = Reflect.get(raw, key, raw);
276
+ const success = Reflect.set(raw, key, value, raw);
277
+ if (!success) {
278
+ return false;
279
+ }
280
+ const next = Reflect.get(raw, key, raw);
281
+ ensureField(record, key, previous).write(next);
282
+ if (!hadOwn) {
283
+ bumpKeys(record);
284
+ }
285
+ return true;
286
+ }
287
+ function setArrayIndex(record, index, value) {
288
+ const array = record.raw;
289
+ const hadOwn = hasOwn(array, index);
290
+ const previousLength = array.length;
291
+ const previous = hadOwn ? array[index] : undefined;
292
+ const success = Reflect.set(array, index, value, array);
293
+ if (!success) {
294
+ return false;
295
+ }
296
+ writeIndex(record, index, previous, array[index]);
297
+ const length = array.length;
298
+ if (length !== previousLength) {
299
+ notifyLength(record, length);
300
+ }
301
+ if (!hadOwn) {
302
+ bumpKeys(record);
303
+ }
304
+ return true;
305
+ }
306
+ function setArrayLength(record, value) {
307
+ const array = record.raw;
308
+ const previousLength = array.length;
309
+ const previous = array.slice();
310
+ const previousOwn = [];
311
+ for (let index = 0; index < previousLength; index += 1) {
312
+ previousOwn[index] = hasOwn(array, index);
313
+ }
314
+ const success = Reflect.set(array, "length", value, array);
315
+ if (!success) {
316
+ return false;
317
+ }
318
+ const length = array.length;
319
+ if (length < previousLength) {
320
+ let keysChanged = false;
321
+ for (let index = length; index < previousLength; index += 1) {
322
+ writeIndex(record, index, previous[index], undefined);
323
+ if (previousOwn[index] === true) {
324
+ keysChanged = true;
325
+ }
326
+ }
327
+ if (keysChanged) {
328
+ bumpKeys(record);
329
+ }
330
+ }
331
+ notifyLength(record, length);
332
+ return true;
333
+ }
334
+ function isDomNode(value) {
335
+ return typeof Node !== "undefined" && value instanceof Node;
336
+ }
337
+ function hasReactivePrototype(value) {
338
+ let current = Object.getPrototypeOf(value);
339
+ while (current !== null) {
340
+ const descriptor = Reflect.getOwnPropertyDescriptor(current, "constructor");
341
+ if (descriptor !== undefined &&
342
+ typeof descriptor.value === "function" &&
343
+ reactiveClasses.has(descriptor.value)) {
344
+ return true;
345
+ }
346
+ current = Object.getPrototypeOf(current);
347
+ }
348
+ return false;
349
+ }
350
+ function isNonReactiveObject(value) {
351
+ if (isDomNode(value)) {
352
+ return true;
353
+ }
354
+ const tag = Object.prototype.toString.call(value);
355
+ switch (tag) {
356
+ case "[object Date]":
357
+ case "[object Map]":
358
+ case "[object Set]":
359
+ case "[object WeakMap]":
360
+ case "[object WeakSet]":
361
+ case "[object Promise]":
362
+ case "[object RegExp]":
363
+ case "[object Error]":
364
+ case "[object ArrayBuffer]":
365
+ case "[object SharedArrayBuffer]":
366
+ case "[object DataView]":
367
+ case "[object Number]":
368
+ case "[object String]":
369
+ case "[object Boolean]":
370
+ case "[object BigInt]":
371
+ case "[object Symbol]":
372
+ case "[object WeakRef]":
373
+ case "[object FinalizationRegistry]":
374
+ return true;
375
+ default:
376
+ return false;
377
+ }
378
+ }
379
+ function shouldWrap(value) {
380
+ if (hasReactivePrototype(value)) {
381
+ return false;
382
+ }
383
+ if (Array.isArray(value)) {
384
+ return true;
385
+ }
386
+ if (isNonReactiveObject(value)) {
387
+ return false;
388
+ }
389
+ return Object.prototype.toString.call(value) === "[object Object]";
390
+ }
391
+ function createHandler(record) {
392
+ return {
393
+ get(target, key, receiver) {
394
+ const raw = record.raw;
395
+ if (record.isArray) {
396
+ if (key === "length") {
397
+ const signal = record.lengthSignal;
398
+ if (signal !== null) {
399
+ return signal.read();
400
+ }
401
+ }
402
+ if (typeof key === "string") {
403
+ const methods = record.arrayMethods;
404
+ if (methods !== null && !hasOwn(raw, key)) {
405
+ const method = methods.get(key);
406
+ if (method !== undefined) {
407
+ return method;
408
+ }
409
+ }
410
+ const index = toArrayIndex(key);
411
+ if (index !== null) {
412
+ return deepReactive(getField(record, index).read());
413
+ }
414
+ }
415
+ }
416
+ const descriptor = getPropertyDescriptor(raw, key);
417
+ if (descriptor !== undefined && descriptor.get !== undefined) {
418
+ return deepReactive(Reflect.get(raw, key, record.proxy));
419
+ }
420
+ if (descriptor !== undefined &&
421
+ descriptor.configurable === false &&
422
+ descriptor.get === undefined &&
423
+ descriptor.set === undefined &&
424
+ descriptor.writable === false) {
425
+ return descriptor.value;
426
+ }
427
+ return deepReactive(getField(record, key).read());
428
+ },
429
+ set(target, key, value, receiver) {
430
+ const raw = record.raw;
431
+ if (receiver !== record.proxy) {
432
+ return Reflect.set(target, key, value, receiver);
433
+ }
434
+ const descriptor = getPropertyDescriptor(raw, key);
435
+ if (descriptor !== undefined && descriptor.set !== undefined) {
436
+ return Reflect.set(raw, key, value, record.proxy);
437
+ }
438
+ const rawValue = unwrapValue(value);
439
+ if (record.isArray) {
440
+ if (key === "length") {
441
+ return setArrayLength(record, rawValue);
442
+ }
443
+ if (typeof key === "string") {
444
+ const index = toArrayIndex(key);
445
+ if (index !== null) {
446
+ return setArrayIndex(record, index, rawValue);
447
+ }
448
+ }
449
+ }
450
+ return setObjectField(record, key, rawValue);
451
+ },
452
+ has(target, key) {
453
+ record.keysSignal.read();
454
+ return Reflect.has(target, key);
455
+ },
456
+ ownKeys(target) {
457
+ record.keysSignal.read();
458
+ return Reflect.ownKeys(target);
459
+ },
460
+ getOwnPropertyDescriptor(target, key) {
461
+ record.keysSignal.read();
462
+ return Reflect.getOwnPropertyDescriptor(target, key);
463
+ },
464
+ deleteProperty(target, key) {
465
+ const hadOwn = hasOwn(target, key);
466
+ const previous = hadOwn ? Reflect.get(target, key, target) : undefined;
467
+ const deleted = Reflect.deleteProperty(target, key);
468
+ if (deleted && hadOwn) {
469
+ let fieldKey = key;
470
+ if (record.isArray && typeof key === "string") {
471
+ const index = toArrayIndex(key);
472
+ if (index !== null) {
473
+ fieldKey = index;
474
+ }
475
+ }
476
+ ensureField(record, fieldKey, previous).write(undefined);
477
+ bumpKeys(record);
478
+ }
479
+ return deleted;
480
+ },
481
+ defineProperty(target, key, descriptor) {
482
+ const raw = record.raw;
483
+ if (record.isArray && key === "length" && "value" in descriptor) {
484
+ return setArrayLength(record, descriptor.value);
485
+ }
486
+ if (record.isArray && typeof key === "string" && "value" in descriptor) {
487
+ const index = toArrayIndex(key);
488
+ if (index !== null) {
489
+ const hadOwn = hasOwn(raw, index);
490
+ const previousLength = raw.length;
491
+ const previousValue = hadOwn ? Reflect.get(raw, index, raw) : undefined;
492
+ const nextDescriptor = {
493
+ ...descriptor,
494
+ value: unwrapValue(descriptor.value),
495
+ };
496
+ const success = Reflect.defineProperty(raw, index, nextDescriptor);
497
+ if (!success) {
498
+ return false;
499
+ }
500
+ writeIndex(record, index, previousValue, Reflect.get(raw, index, raw));
501
+ const length = raw.length;
502
+ if (length !== previousLength) {
503
+ notifyLength(record, length);
504
+ }
505
+ if (!hadOwn) {
506
+ bumpKeys(record);
507
+ }
508
+ return true;
509
+ }
510
+ }
511
+ const hadOwn = hasOwn(raw, key);
512
+ const previous = Reflect.get(raw, key, raw);
513
+ const normalized = "value" in descriptor
514
+ ? { ...descriptor, value: unwrapValue(descriptor.value) }
515
+ : descriptor;
516
+ const success = Reflect.defineProperty(raw, key, normalized);
517
+ if (!success) {
518
+ return false;
519
+ }
520
+ if ("value" in normalized) {
521
+ ensureField(record, key, previous).write(Reflect.get(raw, key, raw));
522
+ }
523
+ if (!hadOwn) {
524
+ bumpKeys(record);
525
+ }
526
+ return true;
527
+ },
528
+ };
529
+ }
530
+ function createRecord(raw) {
531
+ const record = {
532
+ raw,
533
+ proxy: raw,
534
+ isArray: Array.isArray(raw),
535
+ fields: new Map(),
536
+ keysSignal: createSignalHandle(0),
537
+ lengthSignal: Array.isArray(raw)
538
+ ? createSignalHandle(raw.length)
539
+ : null,
540
+ arrayMethods: null,
541
+ keysVersion: 0,
542
+ };
543
+ const proxy = new Proxy(raw, createHandler(record));
544
+ record.proxy = proxy;
545
+ if (record.isArray) {
546
+ record.arrayMethods = createArrayMethods(record);
547
+ }
548
+ rawToRecord.set(raw, record);
549
+ proxyToRecord.set(proxy, record);
550
+ return record;
551
+ }
552
+ export function markReactiveClass(ctor) {
553
+ reactiveClasses.add(ctor);
554
+ }
555
+ export function isReactiveClass(value) {
556
+ return typeof value === "function" && reactiveClasses.has(value);
557
+ }
558
+ export function isReactive(value) {
559
+ return typeof value === "object" && value !== null && proxyToRecord.has(value);
560
+ }
561
+ export function unwrap(value) {
562
+ let current = value;
563
+ while (typeof current === "object" && current !== null) {
564
+ const record = proxyToRecord.get(current);
565
+ if (record === undefined) {
566
+ break;
567
+ }
568
+ current = record.raw;
569
+ }
570
+ return current;
571
+ }
572
+ export function deepReactive(value) {
573
+ if (value === null || typeof value !== "object") {
574
+ return value;
575
+ }
576
+ const existingProxy = proxyToRecord.get(value);
577
+ if (existingProxy !== undefined) {
578
+ return existingProxy.proxy;
579
+ }
580
+ const existingRaw = rawToRecord.get(value);
581
+ if (existingRaw !== undefined) {
582
+ return existingRaw.proxy;
583
+ }
584
+ if (!shouldWrap(value)) {
585
+ return value;
586
+ }
587
+ return createRecord(value).proxy;
588
+ }
589
+ //# sourceMappingURL=deep.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deep.js","sourceRoot":"","sources":["../src/deep.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import type { Accessor, MemoOptions, Owner, Setter, SignalOptions } from "./types.js";
2
+ export interface SignalHandle<T> {
3
+ read(): T;
4
+ peek(): T;
5
+ write(value: T): T;
6
+ }
7
+ export declare function createSignalHandle<T>(value: T, equals?: (a: T, b: T) => boolean): SignalHandle<T>;
8
+ export declare function createSignal<T>(value: T, options?: SignalOptions<T>): [Accessor<T>, Setter<T>];
9
+ export declare function createMemo<T>(fn: () => T, options?: MemoOptions<T>): Accessor<T>;
10
+ export declare function createEffect(fn: () => void): void;
11
+ export declare function createRenderEffect(fn: () => void): void;
12
+ export declare function createRoot<T>(fn: (dispose: () => void) => T): T;
13
+ export declare function getOwner(): Owner | null;
14
+ export declare function runWithOwner<T>(owner: Owner | null, fn: () => T): T;
15
+ export declare function onCleanup(fn: () => void): void;
16
+ export declare function untrack<T>(fn: () => T): T;
17
+ export declare function batch<T>(fn: () => T): T;
18
+ export declare function flushSync(): void;
19
+ //# sourceMappingURL=graph.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"graph.d.ts","sourceRoot":"","sources":["../src/graph.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AA8DtF,MAAM,WAAW,YAAY,CAAC,CAAC;IAC7B,IAAI,IAAI,CAAC,CAAC;IACV,IAAI,IAAI,CAAC,CAAC;IACV,KAAK,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC;CACpB;AA2WD,wBAAgB,kBAAkB,CAAC,CAAC,EAClC,KAAK,EAAE,CAAC,EACR,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,OAAO,GAC/B,YAAY,CAAC,CAAC,CAAC,CAkBjB;AAED,wBAAgB,YAAY,CAAC,CAAC,EAC5B,KAAK,EAAE,CAAC,EACR,OAAO,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,GACzB,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAS1B;AAED,wBAAgB,UAAU,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CA6BhF;AAED,wBAAgB,YAAY,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,IAAI,CAGjD;AAED,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,IAAI,CAGvD;AAED,wBAAgB,UAAU,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,OAAO,EAAE,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,CAY/D;AAED,wBAAgB,QAAQ,IAAI,KAAK,GAAG,IAAI,CAEvC;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,GAAG,IAAI,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CASnE;AAED,wBAAgB,SAAS,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,IAAI,CAS9C;AAED,wBAAgB,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAQzC;AAED,wBAAgB,KAAK,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAUvC;AAED,wBAAgB,SAAS,IAAI,IAAI,CAGhC"}