cojson 0.18.27 → 0.18.29

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 (60) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/CHANGELOG.md +17 -0
  3. package/dist/coValueCore/branching.d.ts +2 -1
  4. package/dist/coValueCore/branching.d.ts.map +1 -1
  5. package/dist/coValueCore/branching.js +20 -2
  6. package/dist/coValueCore/branching.js.map +1 -1
  7. package/dist/coValueCore/coValueCore.d.ts +26 -23
  8. package/dist/coValueCore/coValueCore.d.ts.map +1 -1
  9. package/dist/coValueCore/coValueCore.js +161 -123
  10. package/dist/coValueCore/coValueCore.js.map +1 -1
  11. package/dist/coValueCore/decryptTransactionChangesAndMeta.d.ts +3 -0
  12. package/dist/coValueCore/decryptTransactionChangesAndMeta.d.ts.map +1 -0
  13. package/dist/coValueCore/decryptTransactionChangesAndMeta.js +34 -0
  14. package/dist/coValueCore/decryptTransactionChangesAndMeta.js.map +1 -0
  15. package/dist/localNode.js +1 -1
  16. package/dist/localNode.js.map +1 -1
  17. package/dist/permissions.d.ts.map +1 -1
  18. package/dist/permissions.js +18 -20
  19. package/dist/permissions.js.map +1 -1
  20. package/dist/sync.js +2 -2
  21. package/dist/sync.js.map +1 -1
  22. package/dist/tests/branching.test.js +237 -28
  23. package/dist/tests/branching.test.js.map +1 -1
  24. package/dist/tests/coValueCore.loadFromStorage.test.d.ts +2 -0
  25. package/dist/tests/coValueCore.loadFromStorage.test.d.ts.map +1 -0
  26. package/dist/tests/coValueCore.loadFromStorage.test.js +395 -0
  27. package/dist/tests/coValueCore.loadFromStorage.test.js.map +1 -0
  28. package/dist/tests/coValueCore.loadingState.test.d.ts +2 -0
  29. package/dist/tests/coValueCore.loadingState.test.d.ts.map +1 -0
  30. package/dist/tests/{coValueCoreLoadingState.test.js → coValueCore.loadingState.test.js} +4 -12
  31. package/dist/tests/coValueCore.loadingState.test.js.map +1 -0
  32. package/dist/tests/coValueCore.test.js +2 -5
  33. package/dist/tests/coValueCore.test.js.map +1 -1
  34. package/dist/tests/sync.mesh.test.js +4 -34
  35. package/dist/tests/sync.mesh.test.js.map +1 -1
  36. package/dist/tests/testUtils.d.ts +7 -1
  37. package/dist/tests/testUtils.d.ts.map +1 -1
  38. package/dist/tests/testUtils.js +12 -0
  39. package/dist/tests/testUtils.js.map +1 -1
  40. package/package.json +3 -3
  41. package/src/coValueCore/branching.ts +28 -3
  42. package/src/coValueCore/coValueCore.ts +215 -167
  43. package/src/coValueCore/decryptTransactionChangesAndMeta.ts +56 -0
  44. package/src/localNode.ts +1 -1
  45. package/src/permissions.ts +21 -19
  46. package/src/sync.ts +2 -2
  47. package/src/tests/branching.test.ts +392 -45
  48. package/src/tests/coValueCore.loadFromStorage.test.ts +540 -0
  49. package/src/tests/{coValueCoreLoadingState.test.ts → coValueCore.loadingState.test.ts} +3 -16
  50. package/src/tests/coValueCore.test.ts +2 -5
  51. package/src/tests/sync.mesh.test.ts +11 -38
  52. package/src/tests/testUtils.ts +21 -0
  53. package/dist/coValueCore/decodeTransactionChangesAndMeta.d.ts +0 -3
  54. package/dist/coValueCore/decodeTransactionChangesAndMeta.d.ts.map +0 -1
  55. package/dist/coValueCore/decodeTransactionChangesAndMeta.js +0 -59
  56. package/dist/coValueCore/decodeTransactionChangesAndMeta.js.map +0 -1
  57. package/dist/tests/coValueCoreLoadingState.test.d.ts +0 -2
  58. package/dist/tests/coValueCoreLoadingState.test.d.ts.map +0 -1
  59. package/dist/tests/coValueCoreLoadingState.test.js.map +0 -1
  60. package/src/coValueCore/decodeTransactionChangesAndMeta.ts +0 -81
@@ -1 +1 @@
1
- {"version":3,"file":"branching.test.js","sourceRoot":"","sources":["../../src/tests/branching.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"branching.test.js","sourceRoot":"","sources":["../../src/tests/branching.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=coValueCore.loadFromStorage.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"coValueCore.loadFromStorage.test.d.ts","sourceRoot":"","sources":["../../src/tests/coValueCore.loadFromStorage.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,395 @@
1
+ import { afterEach, beforeEach, describe, expect, test, vi } from "vitest";
2
+ import { createTestMetricReader, createTestNode, createUnloadedCoValue, tearDownTestMetricReader, } from "./testUtils";
3
+ let metricReader;
4
+ beforeEach(() => {
5
+ metricReader = createTestMetricReader();
6
+ });
7
+ afterEach(() => {
8
+ tearDownTestMetricReader();
9
+ });
10
+ function setup() {
11
+ const node = createTestNode();
12
+ const { coValue, id, header } = createUnloadedCoValue(node);
13
+ return { node, state: coValue, id, header };
14
+ }
15
+ function createMockStorage(opts = {}) {
16
+ return {
17
+ load: opts.load || vi.fn(),
18
+ store: opts.store || vi.fn(),
19
+ getKnownState: opts.getKnownState || vi.fn(),
20
+ waitForSync: opts.waitForSync || vi.fn().mockResolvedValue(undefined),
21
+ close: opts.close || vi.fn().mockResolvedValue(undefined),
22
+ };
23
+ }
24
+ describe("CoValueCore.loadFromStorage", () => {
25
+ describe("when storage is not configured", () => {
26
+ test("should call done callback with false immediately", () => {
27
+ const { state } = setup();
28
+ const doneSpy = vi.fn();
29
+ state.loadFromStorage(doneSpy);
30
+ expect(doneSpy).toHaveBeenCalledTimes(1);
31
+ expect(doneSpy).toHaveBeenCalledWith(false);
32
+ });
33
+ test("should not crash when done callback is not provided", () => {
34
+ const { state } = setup();
35
+ expect(() => state.loadFromStorage()).not.toThrow();
36
+ });
37
+ });
38
+ describe("when current state is pending", () => {
39
+ test("should return early when done callback is not provided", () => {
40
+ const { state, node } = setup();
41
+ const loadSpy = vi.fn();
42
+ const storage = createMockStorage({ load: loadSpy });
43
+ node.setStorage(storage);
44
+ // Mark as pending
45
+ state.markPending("storage");
46
+ // Call without done callback
47
+ state.loadFromStorage();
48
+ // Should not call storage.load again
49
+ expect(loadSpy).not.toHaveBeenCalled();
50
+ });
51
+ test("should wait for loading to complete and call done(true) when becomes available", async () => {
52
+ const { state, node, header } = setup();
53
+ let storageCallback;
54
+ let storageDone;
55
+ const storage = createMockStorage({
56
+ load: (id, callback, done) => {
57
+ storageCallback = callback;
58
+ storageDone = done;
59
+ },
60
+ });
61
+ node.setStorage(storage);
62
+ // Start initial load (will mark as pending)
63
+ state.loadFromStorage();
64
+ // Now try to load again with a done callback while pending
65
+ const doneSpy = vi.fn();
66
+ state.loadFromStorage(doneSpy);
67
+ // Should not call done yet
68
+ expect(doneSpy).not.toHaveBeenCalled();
69
+ // Simulate storage providing header and marking as found
70
+ const previousState = state.loadingState;
71
+ state.provideHeader(header);
72
+ state.markFoundInPeer("storage", previousState);
73
+ // Wait a tick for subscription to fire
74
+ await new Promise((resolve) => setImmediate(resolve));
75
+ expect(doneSpy).toHaveBeenCalledTimes(1);
76
+ expect(doneSpy).toHaveBeenCalledWith(true);
77
+ });
78
+ test("should wait for loading to complete and call done(false) when becomes errored", async () => {
79
+ const { state, node } = setup();
80
+ const storage = createMockStorage({
81
+ load: vi.fn(),
82
+ });
83
+ node.setStorage(storage);
84
+ // Start initial load (will mark as pending)
85
+ state.loadFromStorage();
86
+ // Now try to load again with a done callback while pending
87
+ const doneSpy = vi.fn();
88
+ state.loadFromStorage(doneSpy);
89
+ // Should not call done yet
90
+ expect(doneSpy).not.toHaveBeenCalled();
91
+ // Simulate error
92
+ state.markErrored("storage", {});
93
+ // Wait a tick for subscription to fire
94
+ await new Promise((resolve) => setImmediate(resolve));
95
+ expect(doneSpy).toHaveBeenCalledTimes(1);
96
+ expect(doneSpy).toHaveBeenCalledWith(false);
97
+ });
98
+ test("should wait for loading to complete and call done(false) when becomes unavailable", async () => {
99
+ const { state, node } = setup();
100
+ const storage = createMockStorage({
101
+ load: vi.fn(),
102
+ });
103
+ node.setStorage(storage);
104
+ // Start initial load (will mark as pending)
105
+ state.loadFromStorage();
106
+ // Now try to load again with a done callback while pending
107
+ const doneSpy = vi.fn();
108
+ state.loadFromStorage(doneSpy);
109
+ // Should not call done yet
110
+ expect(doneSpy).not.toHaveBeenCalled();
111
+ // Simulate not found
112
+ state.markNotFoundInPeer("storage");
113
+ // Wait a tick for subscription to fire
114
+ await new Promise((resolve) => setImmediate(resolve));
115
+ expect(doneSpy).toHaveBeenCalledTimes(1);
116
+ expect(doneSpy).toHaveBeenCalledWith(false);
117
+ });
118
+ test("should unsubscribe after receiving result", async () => {
119
+ const { state, node, header } = setup();
120
+ const storage = createMockStorage({
121
+ load: vi.fn(),
122
+ });
123
+ node.setStorage(storage);
124
+ // Start initial load (will mark as pending)
125
+ state.loadFromStorage();
126
+ // Now try to load again with a done callback while pending
127
+ const doneSpy = vi.fn();
128
+ state.loadFromStorage(doneSpy);
129
+ // Simulate becoming available
130
+ const previousState = state.loadingState;
131
+ state.provideHeader(header);
132
+ state.markFoundInPeer("storage", previousState);
133
+ // Wait a tick for subscription to fire
134
+ await new Promise((resolve) => setImmediate(resolve));
135
+ expect(doneSpy).toHaveBeenCalledTimes(1);
136
+ // Further state changes should not trigger the callback again
137
+ state.markNotFoundInPeer("another_peer");
138
+ await new Promise((resolve) => setImmediate(resolve));
139
+ expect(doneSpy).toHaveBeenCalledTimes(1); // Still only called once
140
+ });
141
+ });
142
+ describe("when current state is not unknown", () => {
143
+ test("should call done(true) immediately when state is available", () => {
144
+ const { state, node, header } = setup();
145
+ const storage = createMockStorage();
146
+ node.setStorage(storage);
147
+ // Mark as available
148
+ const previousState = state.loadingState;
149
+ state.provideHeader(header);
150
+ state.markFoundInPeer("storage", previousState);
151
+ const doneSpy = vi.fn();
152
+ state.loadFromStorage(doneSpy);
153
+ expect(doneSpy).toHaveBeenCalledTimes(1);
154
+ expect(doneSpy).toHaveBeenCalledWith(true);
155
+ });
156
+ test("should call done(false) immediately when state is unavailable", () => {
157
+ const { state, node } = setup();
158
+ const storage = createMockStorage();
159
+ node.setStorage(storage);
160
+ // Mark as unavailable
161
+ state.markNotFoundInPeer("storage");
162
+ const doneSpy = vi.fn();
163
+ state.loadFromStorage(doneSpy);
164
+ expect(doneSpy).toHaveBeenCalledTimes(1);
165
+ expect(doneSpy).toHaveBeenCalledWith(false);
166
+ });
167
+ test("should call done(false) immediately when state is errored", () => {
168
+ const { state, node } = setup();
169
+ const storage = createMockStorage();
170
+ node.setStorage(storage);
171
+ // Mark as errored
172
+ state.markErrored("storage", {});
173
+ const doneSpy = vi.fn();
174
+ state.loadFromStorage(doneSpy);
175
+ expect(doneSpy).toHaveBeenCalledTimes(1);
176
+ expect(doneSpy).toHaveBeenCalledWith(false);
177
+ });
178
+ test("should not call storage.load when state is already known", () => {
179
+ const { state, node, header } = setup();
180
+ const loadSpy = vi.fn();
181
+ const storage = createMockStorage({ load: loadSpy });
182
+ node.setStorage(storage);
183
+ // Mark as available
184
+ const previousState = state.loadingState;
185
+ state.provideHeader(header);
186
+ state.markFoundInPeer("storage", previousState);
187
+ state.loadFromStorage(vi.fn());
188
+ expect(loadSpy).not.toHaveBeenCalled();
189
+ });
190
+ test("should handle missing done callback when state is available", () => {
191
+ const { state, node, header } = setup();
192
+ const storage = createMockStorage();
193
+ node.setStorage(storage);
194
+ // Mark as available
195
+ const previousState = state.loadingState;
196
+ state.provideHeader(header);
197
+ state.markFoundInPeer("storage", previousState);
198
+ expect(() => state.loadFromStorage()).not.toThrow();
199
+ });
200
+ });
201
+ describe("when current state is unknown", () => {
202
+ test("should mark as pending and call storage.load", () => {
203
+ const { state, node, id } = setup();
204
+ const loadSpy = vi.fn();
205
+ const storage = createMockStorage({ load: loadSpy });
206
+ node.setStorage(storage);
207
+ state.loadFromStorage();
208
+ expect(state.getLoadingStateForPeer("storage")).toBe("pending");
209
+ expect(loadSpy).toHaveBeenCalledTimes(1);
210
+ expect(loadSpy).toHaveBeenCalledWith(id, expect.any(Function), expect.any(Function));
211
+ });
212
+ test("should call done(true) when storage finds the value", async () => {
213
+ const { state, node, id, header } = setup();
214
+ let storageCallback;
215
+ let storageDone;
216
+ const storage = createMockStorage({
217
+ load: (id, callback, done) => {
218
+ storageCallback = callback;
219
+ storageDone = done;
220
+ },
221
+ });
222
+ node.setStorage(storage);
223
+ const doneSpy = vi.fn();
224
+ state.loadFromStorage(doneSpy);
225
+ // Simulate storage finding the value
226
+ // First provide the content through callback
227
+ state.provideHeader(header);
228
+ // Then call done with true
229
+ storageDone(true);
230
+ expect(doneSpy).toHaveBeenCalledTimes(1);
231
+ expect(doneSpy).toHaveBeenCalledWith(true);
232
+ });
233
+ test("should call done(false) and mark as not found when storage doesn't find the value", async () => {
234
+ const { state, node } = setup();
235
+ let storageDone;
236
+ const storage = createMockStorage({
237
+ load: (id, callback, done) => {
238
+ storageDone = done;
239
+ },
240
+ });
241
+ node.setStorage(storage);
242
+ const doneSpy = vi.fn();
243
+ state.loadFromStorage(doneSpy);
244
+ // Simulate storage not finding the value
245
+ storageDone(false);
246
+ expect(doneSpy).toHaveBeenCalledTimes(1);
247
+ expect(doneSpy).toHaveBeenCalledWith(false);
248
+ expect(state.getLoadingStateForPeer("storage")).toBe("unavailable");
249
+ });
250
+ test("should pass content to syncManager when storage provides it", async () => {
251
+ const { state, node } = setup();
252
+ let storageCallback;
253
+ const storage = createMockStorage({
254
+ load: (id, callback, done) => {
255
+ storageCallback = callback;
256
+ },
257
+ });
258
+ node.setStorage(storage);
259
+ const handleNewContentSpy = vi.spyOn(node.syncManager, "handleNewContent");
260
+ state.loadFromStorage();
261
+ // Simulate storage providing content with proper format
262
+ const mockData = {
263
+ action: "content",
264
+ id: state.id,
265
+ priority: 0,
266
+ new: {},
267
+ };
268
+ storageCallback(mockData);
269
+ expect(handleNewContentSpy).toHaveBeenCalledTimes(1);
270
+ expect(handleNewContentSpy).toHaveBeenCalledWith(mockData, "storage");
271
+ });
272
+ test("should handle missing done callback when loading from storage", () => {
273
+ const { state, node } = setup();
274
+ let storageDone;
275
+ const storage = createMockStorage({
276
+ load: (id, callback, done) => {
277
+ storageDone = done;
278
+ },
279
+ });
280
+ node.setStorage(storage);
281
+ expect(() => {
282
+ state.loadFromStorage();
283
+ storageDone(true);
284
+ }).not.toThrow();
285
+ });
286
+ test("should not mark as not found when storage finds the value", async () => {
287
+ const { state, node, header } = setup();
288
+ let storageDone;
289
+ const storage = createMockStorage({
290
+ load: (id, callback, done) => {
291
+ storageDone = done;
292
+ },
293
+ });
294
+ node.setStorage(storage);
295
+ state.loadFromStorage();
296
+ // Provide header first
297
+ state.provideHeader(header);
298
+ const previousState = state.loadingState;
299
+ state.markFoundInPeer("storage", previousState);
300
+ // Call done with true
301
+ storageDone(true);
302
+ // State should be available, not unavailable
303
+ expect(state.getLoadingStateForPeer("storage")).not.toBe("unavailable");
304
+ });
305
+ test("should handle multiple concurrent loadFromStorage calls", async () => {
306
+ const { state, node, id } = setup();
307
+ const loadSpy = vi.fn();
308
+ const storage = createMockStorage({ load: loadSpy });
309
+ node.setStorage(storage);
310
+ const done1 = vi.fn();
311
+ const done2 = vi.fn();
312
+ const done3 = vi.fn();
313
+ // All three calls should work together
314
+ state.loadFromStorage(done1);
315
+ state.loadFromStorage(done2);
316
+ state.loadFromStorage(done3);
317
+ // Storage.load should only be called once (first call)
318
+ expect(loadSpy).toHaveBeenCalledTimes(1);
319
+ // The other calls should be waiting (pending state)
320
+ expect(done1).not.toHaveBeenCalled();
321
+ expect(done2).not.toHaveBeenCalled();
322
+ expect(done3).not.toHaveBeenCalled();
323
+ });
324
+ });
325
+ describe("edge cases and integration", () => {
326
+ test("should handle transition from unknown to pending to available", async () => {
327
+ const { state, node, header } = setup();
328
+ let storageCallback;
329
+ let storageDone;
330
+ const storage = createMockStorage({
331
+ load: (id, callback, done) => {
332
+ storageCallback = callback;
333
+ storageDone = done;
334
+ },
335
+ });
336
+ node.setStorage(storage);
337
+ const doneSpy = vi.fn();
338
+ // Start as unknown
339
+ expect(state.getLoadingStateForPeer("storage")).toBe("unknown");
340
+ // Load from storage
341
+ state.loadFromStorage(doneSpy);
342
+ // Should now be pending
343
+ expect(state.getLoadingStateForPeer("storage")).toBe("pending");
344
+ // Simulate storage providing the header
345
+ state.provideHeader(header);
346
+ const previousState = state.loadingState;
347
+ state.markFoundInPeer("storage", previousState);
348
+ // Call done
349
+ storageDone(true);
350
+ // Should be available
351
+ expect(state.getLoadingStateForPeer("storage")).toBe("available");
352
+ expect(doneSpy).toHaveBeenCalledWith(true);
353
+ });
354
+ test("should properly clean up subscriptions when state becomes available through isAvailable()", async () => {
355
+ const { state, node, header } = setup();
356
+ const storage = createMockStorage({
357
+ load: vi.fn(),
358
+ });
359
+ node.setStorage(storage);
360
+ // Start initial load (will mark as pending)
361
+ state.loadFromStorage();
362
+ // Now try to load again with a done callback while pending
363
+ const doneSpy = vi.fn();
364
+ state.loadFromStorage(doneSpy);
365
+ // Make the whole state available (not just from storage peer)
366
+ state.provideHeader(header);
367
+ const previousState = state.loadingState;
368
+ state.markFoundInPeer("some_other_peer", previousState);
369
+ // Wait for subscription to process
370
+ await new Promise((resolve) => setImmediate(resolve));
371
+ // Should have called done(true) because isAvailable() is true
372
+ expect(doneSpy).toHaveBeenCalledTimes(1);
373
+ expect(doneSpy).toHaveBeenCalledWith(true);
374
+ });
375
+ test("should handle rapid state changes", async () => {
376
+ const { state, node, header } = setup();
377
+ const storage = createMockStorage({
378
+ load: vi.fn(),
379
+ });
380
+ node.setStorage(storage);
381
+ const doneSpy = vi.fn();
382
+ // Start loading
383
+ state.loadFromStorage(doneSpy);
384
+ // Rapid state changes
385
+ state.markPending("storage");
386
+ state.markNotFoundInPeer("storage");
387
+ const previousState = state.loadingState;
388
+ state.provideHeader(header);
389
+ state.markFoundInPeer("storage", previousState);
390
+ // Should have the final state
391
+ expect(state.getLoadingStateForPeer("storage")).toBe("available");
392
+ });
393
+ });
394
+ });
395
+ //# sourceMappingURL=coValueCore.loadFromStorage.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"coValueCore.loadFromStorage.test.js","sourceRoot":"","sources":["../../src/tests/coValueCore.loadFromStorage.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAG3E,OAAO,EACL,sBAAsB,EACtB,cAAc,EACd,qBAAqB,EACrB,wBAAwB,GACzB,MAAM,aAAa,CAAC;AAErB,IAAI,YAAuD,CAAC;AAE5D,UAAU,CAAC,GAAG,EAAE;IACd,YAAY,GAAG,sBAAsB,EAAE,CAAC;AAC1C,CAAC,CAAC,CAAC;AAEH,SAAS,CAAC,GAAG,EAAE;IACb,wBAAwB,EAAE,CAAC;AAC7B,CAAC,CAAC,CAAC;AAEH,SAAS,KAAK;IACZ,MAAM,IAAI,GAAG,cAAc,EAAE,CAAC;IAE9B,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;IAE5D,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC;AAC9C,CAAC;AAED,SAAS,iBAAiB,CACxB,OAUI,EAAE;IAEN,OAAO;QACL,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,EAAE;QAC1B,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,EAAE;QAC5B,aAAa,EAAE,IAAI,CAAC,aAAa,IAAI,EAAE,CAAC,EAAE,EAAE;QAC5C,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,SAAS,CAAC;QACrE,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,SAAS,CAAC;KAC1D,CAAC;AACJ,CAAC;AAED,QAAQ,CAAC,6BAA6B,EAAE,GAAG,EAAE;IAC3C,QAAQ,CAAC,gCAAgC,EAAE,GAAG,EAAE;QAC9C,IAAI,CAAC,kDAAkD,EAAE,GAAG,EAAE;YAC5D,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,CAAC;YAC1B,MAAM,OAAO,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;YAExB,KAAK,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;YAE/B,MAAM,CAAC,OAAO,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YACzC,MAAM,CAAC,OAAO,CAAC,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,qDAAqD,EAAE,GAAG,EAAE;YAC/D,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,CAAC;YAE1B,MAAM,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;QACtD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,+BAA+B,EAAE,GAAG,EAAE;QAC7C,IAAI,CAAC,wDAAwD,EAAE,GAAG,EAAE;YAClE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,CAAC;YAChC,MAAM,OAAO,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;YACxB,MAAM,OAAO,GAAG,iBAAiB,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;YACrD,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YAEzB,kBAAkB;YAClB,KAAK,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;YAE7B,6BAA6B;YAC7B,KAAK,CAAC,eAAe,EAAE,CAAC;YAExB,qCAAqC;YACrC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QACzC,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,gFAAgF,EAAE,KAAK,IAAI,EAAE;YAChG,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;YACxC,IAAI,eAAoB,CAAC;YACzB,IAAI,WAAgB,CAAC;YAErB,MAAM,OAAO,GAAG,iBAAiB,CAAC;gBAChC,IAAI,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE;oBAC3B,eAAe,GAAG,QAAQ,CAAC;oBAC3B,WAAW,GAAG,IAAI,CAAC;gBACrB,CAAC;aACF,CAAC,CAAC;YACH,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YAEzB,4CAA4C;YAC5C,KAAK,CAAC,eAAe,EAAE,CAAC;YAExB,2DAA2D;YAC3D,MAAM,OAAO,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;YACxB,KAAK,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;YAE/B,2BAA2B;YAC3B,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;YAEvC,yDAAyD;YACzD,MAAM,aAAa,GAAG,KAAK,CAAC,YAAY,CAAC;YACzC,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YAC5B,KAAK,CAAC,eAAe,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;YAEhD,uCAAuC;YACvC,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;YAEtD,MAAM,CAAC,OAAO,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YACzC,MAAM,CAAC,OAAO,CAAC,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,+EAA+E,EAAE,KAAK,IAAI,EAAE;YAC/F,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,CAAC;YAChC,MAAM,OAAO,GAAG,iBAAiB,CAAC;gBAChC,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE;aACd,CAAC,CAAC;YACH,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YAEzB,4CAA4C;YAC5C,KAAK,CAAC,eAAe,EAAE,CAAC;YAExB,2DAA2D;YAC3D,MAAM,OAAO,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;YACxB,KAAK,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;YAE/B,2BAA2B;YAC3B,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;YAEvC,iBAAiB;YACjB,KAAK,CAAC,WAAW,CAAC,SAAS,EAAE,EAAS,CAAC,CAAC;YAExC,uCAAuC;YACvC,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;YAEtD,MAAM,CAAC,OAAO,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YACzC,MAAM,CAAC,OAAO,CAAC,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,mFAAmF,EAAE,KAAK,IAAI,EAAE;YACnG,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,CAAC;YAChC,MAAM,OAAO,GAAG,iBAAiB,CAAC;gBAChC,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE;aACd,CAAC,CAAC;YACH,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YAEzB,4CAA4C;YAC5C,KAAK,CAAC,eAAe,EAAE,CAAC;YAExB,2DAA2D;YAC3D,MAAM,OAAO,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;YACxB,KAAK,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;YAE/B,2BAA2B;YAC3B,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;YAEvC,qBAAqB;YACrB,KAAK,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;YAEpC,uCAAuC;YACvC,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;YAEtD,MAAM,CAAC,OAAO,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YACzC,MAAM,CAAC,OAAO,CAAC,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;YAC3D,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;YACxC,MAAM,OAAO,GAAG,iBAAiB,CAAC;gBAChC,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE;aACd,CAAC,CAAC;YACH,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YAEzB,4CAA4C;YAC5C,KAAK,CAAC,eAAe,EAAE,CAAC;YAExB,2DAA2D;YAC3D,MAAM,OAAO,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;YACxB,KAAK,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;YAE/B,8BAA8B;YAC9B,MAAM,aAAa,GAAG,KAAK,CAAC,YAAY,CAAC;YACzC,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YAC5B,KAAK,CAAC,eAAe,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;YAEhD,uCAAuC;YACvC,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;YAEtD,MAAM,CAAC,OAAO,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YAEzC,8DAA8D;YAC9D,KAAK,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC;YACzC,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;YAEtD,MAAM,CAAC,OAAO,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,yBAAyB;QACrE,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,mCAAmC,EAAE,GAAG,EAAE;QACjD,IAAI,CAAC,4DAA4D,EAAE,GAAG,EAAE;YACtE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;YACxC,MAAM,OAAO,GAAG,iBAAiB,EAAE,CAAC;YACpC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YAEzB,oBAAoB;YACpB,MAAM,aAAa,GAAG,KAAK,CAAC,YAAY,CAAC;YACzC,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YAC5B,KAAK,CAAC,eAAe,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;YAEhD,MAAM,OAAO,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;YACxB,KAAK,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;YAE/B,MAAM,CAAC,OAAO,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YACzC,MAAM,CAAC,OAAO,CAAC,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,+DAA+D,EAAE,GAAG,EAAE;YACzE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,CAAC;YAChC,MAAM,OAAO,GAAG,iBAAiB,EAAE,CAAC;YACpC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YAEzB,sBAAsB;YACtB,KAAK,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;YAEpC,MAAM,OAAO,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;YACxB,KAAK,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;YAE/B,MAAM,CAAC,OAAO,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YACzC,MAAM,CAAC,OAAO,CAAC,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,2DAA2D,EAAE,GAAG,EAAE;YACrE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,CAAC;YAChC,MAAM,OAAO,GAAG,iBAAiB,EAAE,CAAC;YACpC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YAEzB,kBAAkB;YAClB,KAAK,CAAC,WAAW,CAAC,SAAS,EAAE,EAAS,CAAC,CAAC;YAExC,MAAM,OAAO,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;YACxB,KAAK,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;YAE/B,MAAM,CAAC,OAAO,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YACzC,MAAM,CAAC,OAAO,CAAC,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,0DAA0D,EAAE,GAAG,EAAE;YACpE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;YACxC,MAAM,OAAO,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;YACxB,MAAM,OAAO,GAAG,iBAAiB,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;YACrD,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YAEzB,oBAAoB;YACpB,MAAM,aAAa,GAAG,KAAK,CAAC,YAAY,CAAC;YACzC,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YAC5B,KAAK,CAAC,eAAe,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;YAEhD,KAAK,CAAC,eAAe,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;YAE/B,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QACzC,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,6DAA6D,EAAE,GAAG,EAAE;YACvE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;YACxC,MAAM,OAAO,GAAG,iBAAiB,EAAE,CAAC;YACpC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YAEzB,oBAAoB;YACpB,MAAM,aAAa,GAAG,KAAK,CAAC,YAAY,CAAC;YACzC,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YAC5B,KAAK,CAAC,eAAe,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;YAEhD,MAAM,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;QACtD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,+BAA+B,EAAE,GAAG,EAAE;QAC7C,IAAI,CAAC,8CAA8C,EAAE,GAAG,EAAE;YACxD,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,KAAK,EAAE,CAAC;YACpC,MAAM,OAAO,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;YACxB,MAAM,OAAO,GAAG,iBAAiB,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;YACrD,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YAEzB,KAAK,CAAC,eAAe,EAAE,CAAC;YAExB,MAAM,CAAC,KAAK,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAChE,MAAM,CAAC,OAAO,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YACzC,MAAM,CAAC,OAAO,CAAC,CAAC,oBAAoB,CAClC,EAAE,EACF,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,EACpB,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CACrB,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,qDAAqD,EAAE,KAAK,IAAI,EAAE;YACrE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;YAC5C,IAAI,eAAoB,CAAC;YACzB,IAAI,WAAgB,CAAC;YAErB,MAAM,OAAO,GAAG,iBAAiB,CAAC;gBAChC,IAAI,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE;oBAC3B,eAAe,GAAG,QAAQ,CAAC;oBAC3B,WAAW,GAAG,IAAI,CAAC;gBACrB,CAAC;aACF,CAAC,CAAC;YACH,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YAEzB,MAAM,OAAO,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;YACxB,KAAK,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;YAE/B,qCAAqC;YACrC,6CAA6C;YAC7C,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YAE5B,2BAA2B;YAC3B,WAAW,CAAC,IAAI,CAAC,CAAC;YAElB,MAAM,CAAC,OAAO,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YACzC,MAAM,CAAC,OAAO,CAAC,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,mFAAmF,EAAE,KAAK,IAAI,EAAE;YACnG,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,CAAC;YAChC,IAAI,WAAgB,CAAC;YAErB,MAAM,OAAO,GAAG,iBAAiB,CAAC;gBAChC,IAAI,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE;oBAC3B,WAAW,GAAG,IAAI,CAAC;gBACrB,CAAC;aACF,CAAC,CAAC;YACH,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YAEzB,MAAM,OAAO,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;YACxB,KAAK,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;YAE/B,yCAAyC;YACzC,WAAW,CAAC,KAAK,CAAC,CAAC;YAEnB,MAAM,CAAC,OAAO,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YACzC,MAAM,CAAC,OAAO,CAAC,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;YAC5C,MAAM,CAAC,KAAK,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACtE,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,6DAA6D,EAAE,KAAK,IAAI,EAAE;YAC7E,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,CAAC;YAChC,IAAI,eAAoB,CAAC;YAEzB,MAAM,OAAO,GAAG,iBAAiB,CAAC;gBAChC,IAAI,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE;oBAC3B,eAAe,GAAG,QAAQ,CAAC;gBAC7B,CAAC;aACF,CAAC,CAAC;YACH,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YAEzB,MAAM,mBAAmB,GAAG,EAAE,CAAC,KAAK,CAClC,IAAI,CAAC,WAAW,EAChB,kBAAkB,CACnB,CAAC;YAEF,KAAK,CAAC,eAAe,EAAE,CAAC;YAExB,wDAAwD;YACxD,MAAM,QAAQ,GAAG;gBACf,MAAM,EAAE,SAAkB;gBAC1B,EAAE,EAAE,KAAK,CAAC,EAAE;gBACZ,QAAQ,EAAE,CAAC;gBACX,GAAG,EAAE,EAAE;aACR,CAAC;YACF,eAAe,CAAC,QAAQ,CAAC,CAAC;YAE1B,MAAM,CAAC,mBAAmB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YACrD,MAAM,CAAC,mBAAmB,CAAC,CAAC,oBAAoB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QACxE,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,+DAA+D,EAAE,GAAG,EAAE;YACzE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,CAAC;YAChC,IAAI,WAAgB,CAAC;YAErB,MAAM,OAAO,GAAG,iBAAiB,CAAC;gBAChC,IAAI,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE;oBAC3B,WAAW,GAAG,IAAI,CAAC;gBACrB,CAAC;aACF,CAAC,CAAC;YACH,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YAEzB,MAAM,CAAC,GAAG,EAAE;gBACV,KAAK,CAAC,eAAe,EAAE,CAAC;gBACxB,WAAW,CAAC,IAAI,CAAC,CAAC;YACpB,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;QACnB,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,2DAA2D,EAAE,KAAK,IAAI,EAAE;YAC3E,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;YACxC,IAAI,WAAgB,CAAC;YAErB,MAAM,OAAO,GAAG,iBAAiB,CAAC;gBAChC,IAAI,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE;oBAC3B,WAAW,GAAG,IAAI,CAAC;gBACrB,CAAC;aACF,CAAC,CAAC;YACH,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YAEzB,KAAK,CAAC,eAAe,EAAE,CAAC;YAExB,uBAAuB;YACvB,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YAC5B,MAAM,aAAa,GAAG,KAAK,CAAC,YAAY,CAAC;YACzC,KAAK,CAAC,eAAe,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;YAEhD,sBAAsB;YACtB,WAAW,CAAC,IAAI,CAAC,CAAC;YAElB,6CAA6C;YAC7C,MAAM,CAAC,KAAK,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC1E,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,yDAAyD,EAAE,KAAK,IAAI,EAAE;YACzE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,KAAK,EAAE,CAAC;YACpC,MAAM,OAAO,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;YACxB,MAAM,OAAO,GAAG,iBAAiB,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;YACrD,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YAEzB,MAAM,KAAK,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;YACtB,MAAM,KAAK,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;YACtB,MAAM,KAAK,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;YAEtB,uCAAuC;YACvC,KAAK,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;YAC7B,KAAK,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;YAC7B,KAAK,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;YAE7B,uDAAuD;YACvD,MAAM,CAAC,OAAO,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YAEzC,oDAAoD;YACpD,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;YACrC,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;YACrC,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QACvC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,4BAA4B,EAAE,GAAG,EAAE;QAC1C,IAAI,CAAC,+DAA+D,EAAE,KAAK,IAAI,EAAE;YAC/E,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;YACxC,IAAI,eAAoB,CAAC;YACzB,IAAI,WAAgB,CAAC;YAErB,MAAM,OAAO,GAAG,iBAAiB,CAAC;gBAChC,IAAI,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE;oBAC3B,eAAe,GAAG,QAAQ,CAAC;oBAC3B,WAAW,GAAG,IAAI,CAAC;gBACrB,CAAC;aACF,CAAC,CAAC;YACH,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YAEzB,MAAM,OAAO,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;YAExB,mBAAmB;YACnB,MAAM,CAAC,KAAK,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAEhE,oBAAoB;YACpB,KAAK,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;YAE/B,wBAAwB;YACxB,MAAM,CAAC,KAAK,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAEhE,wCAAwC;YACxC,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YAC5B,MAAM,aAAa,GAAG,KAAK,CAAC,YAAY,CAAC;YACzC,KAAK,CAAC,eAAe,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;YAEhD,YAAY;YACZ,WAAW,CAAC,IAAI,CAAC,CAAC;YAElB,sBAAsB;YACtB,MAAM,CAAC,KAAK,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAClE,MAAM,CAAC,OAAO,CAAC,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,2FAA2F,EAAE,KAAK,IAAI,EAAE;YAC3G,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;YACxC,MAAM,OAAO,GAAG,iBAAiB,CAAC;gBAChC,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE;aACd,CAAC,CAAC;YACH,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YAEzB,4CAA4C;YAC5C,KAAK,CAAC,eAAe,EAAE,CAAC;YAExB,2DAA2D;YAC3D,MAAM,OAAO,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;YACxB,KAAK,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;YAE/B,8DAA8D;YAC9D,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YAC5B,MAAM,aAAa,GAAG,KAAK,CAAC,YAAY,CAAC;YACzC,KAAK,CAAC,eAAe,CAAC,iBAAiB,EAAE,aAAa,CAAC,CAAC;YAExD,mCAAmC;YACnC,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;YAEtD,8DAA8D;YAC9D,MAAM,CAAC,OAAO,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YACzC,MAAM,CAAC,OAAO,CAAC,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,mCAAmC,EAAE,KAAK,IAAI,EAAE;YACnD,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;YACxC,MAAM,OAAO,GAAG,iBAAiB,CAAC;gBAChC,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE;aACd,CAAC,CAAC;YACH,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YAEzB,MAAM,OAAO,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;YAExB,gBAAgB;YAChB,KAAK,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;YAE/B,sBAAsB;YACtB,KAAK,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;YAC7B,KAAK,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;YAEpC,MAAM,aAAa,GAAG,KAAK,CAAC,YAAY,CAAC;YACzC,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YAC5B,KAAK,CAAC,eAAe,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;YAEhD,8BAA8B;YAC9B,MAAM,CAAC,KAAK,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACpE,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=coValueCore.loadingState.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"coValueCore.loadingState.test.d.ts","sourceRoot":"","sources":["../../src/tests/coValueCore.loadingState.test.ts"],"names":[],"mappings":""}
@@ -1,7 +1,6 @@
1
1
  import { afterEach, beforeEach, describe, expect, test, vi } from "vitest";
2
2
  import { PeerState } from "../PeerState";
3
- import { CoValueCore, idforHeader } from "../coValueCore/coValueCore";
4
- import { createTestMetricReader, createTestNode, tearDownTestMetricReader, } from "./testUtils";
3
+ import { createTestMetricReader, createTestNode, createUnloadedCoValue, tearDownTestMetricReader, } from "./testUtils";
5
4
  let metricReader;
6
5
  beforeEach(() => {
7
6
  metricReader = createTestMetricReader();
@@ -11,15 +10,8 @@ afterEach(() => {
11
10
  });
12
11
  function setup() {
13
12
  const node = createTestNode();
14
- const header = {
15
- type: "comap",
16
- ruleset: { type: "ownedByGroup", group: "co_ztest123" },
17
- meta: null,
18
- ...node.crypto.createdNowUnique(),
19
- };
20
- const id = idforHeader(header, node.crypto);
21
- const state = CoValueCore.fromID(id, node);
22
- return { node, state, id, header };
13
+ const { coValue, id, header } = createUnloadedCoValue(node);
14
+ return { node, state: coValue, id, header };
23
15
  }
24
16
  describe("CoValueCore loading state", () => {
25
17
  test("should create unknown state", async () => {
@@ -215,4 +207,4 @@ function createMockPeerState(peer, pushFn = () => Promise.resolve()) {
215
207
  vi.spyOn(peerState, "pushOutgoingMessage").mockImplementation(pushFn);
216
208
  return peerState;
217
209
  }
218
- //# sourceMappingURL=coValueCoreLoadingState.test.js.map
210
+ //# sourceMappingURL=coValueCore.loadingState.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"coValueCore.loadingState.test.js","sourceRoot":"","sources":["../../src/tests/coValueCore.loadingState.test.ts"],"names":[],"mappings":"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"}
@@ -286,9 +286,7 @@ describe("markErrored and isErroredInPeer", () => {
286
286
  // Verify the peer is now marked as errored
287
287
  expect(coValue.isErroredInPeer(peerId)).toBe(true);
288
288
  // Verify the peer state contains the error
289
- const peerState = coValue.getStateForPeer(peerId);
290
- expect(peerState).toBeDefined();
291
- expect(peerState?.type).toBe("errored");
289
+ expect(coValue.getLoadingStateForPeer(peerId)).toBe("errored");
292
290
  });
293
291
  test("markErrored should update loading state and notify listeners", () => {
294
292
  const [agent, sessionID] = randomAgentAndSessionID();
@@ -427,8 +425,7 @@ describe("markErrored and isErroredInPeer", () => {
427
425
  coValue.markErrored(peerId, testError);
428
426
  // Verify the peer is now errored
429
427
  expect(coValue.isErroredInPeer(peerId)).toBe(true);
430
- const peerState = coValue.getStateForPeer(peerId);
431
- expect(peerState?.type).toBe("errored");
428
+ expect(coValue.getLoadingStateForPeer(peerId)).toBe("errored");
432
429
  });
433
430
  test("markErrored should work with different error types", () => {
434
431
  const [agent, sessionID] = randomAgentAndSessionID();