@evolu/common 6.0.1-preview.32 → 6.0.1-preview.33
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/src/Array.d.ts +193 -41
- package/dist/src/Array.d.ts.map +1 -1
- package/dist/src/Array.js +155 -48
- package/dist/src/Evolu/Timestamp.d.ts +2 -3
- package/dist/src/Evolu/Timestamp.d.ts.map +1 -1
- package/dist/src/Evolu/Timestamp.js +2 -3
- package/dist/src/Type.d.ts +6 -2
- package/dist/src/Type.d.ts.map +1 -1
- package/dist/src/Type.js +6 -2
- package/package.json +1 -1
- package/src/Array.ts +213 -55
- package/src/Evolu/Timestamp.ts +2 -3
- package/src/Type.ts +6 -2
package/dist/src/Array.d.ts
CHANGED
|
@@ -1,56 +1,157 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* 🔒 Immutable, type-safe array
|
|
2
|
+
* 🔒 Immutable, type-safe array helpers
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
* methods return mutable arrays even when called on readonly arrays. These
|
|
6
|
-
* helpers ensure transformations return readonly types.
|
|
4
|
+
* Array types, guards, operations, transformations, accessors, and mutations.
|
|
7
5
|
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
6
|
+
* Prepared for TC39 Hack pipes:
|
|
7
|
+
*
|
|
8
|
+
* ```ts
|
|
9
|
+
* // Problem: nested calls are hard to follow
|
|
10
|
+
* const result = firstInArray(
|
|
11
|
+
* mapArray(dedupeArray(appendToArray(value, 2)), (x) => x * 2),
|
|
12
|
+
* );
|
|
13
|
+
*
|
|
14
|
+
* // Ideal: TC39 Hack pipes (when available)
|
|
15
|
+
* // const result = value
|
|
16
|
+
* // |> appendToArray(%, 2)
|
|
17
|
+
* // |> dedupeArray(%)
|
|
18
|
+
* // |> mapArray(%, (x) => x * 2)
|
|
19
|
+
* // |> firstInArray(%);
|
|
20
|
+
*
|
|
21
|
+
* // Pragmatic: name each step (or use p1, p2 if lazy)
|
|
22
|
+
* const p1 = appendToArray(value, 2);
|
|
23
|
+
* const p2 = dedupeArray(p1);
|
|
24
|
+
* const p3 = mapArray(p2, (x) => x * 2);
|
|
25
|
+
* const p4 = firstInArray(p3);
|
|
26
|
+
* ```
|
|
27
|
+
*
|
|
28
|
+
* Of course it's possible to use array instance methods, but they mutate and do
|
|
29
|
+
* not preserve {@link NonEmptyArray} and {@link NonEmptyReadonlyArray} types.
|
|
11
30
|
*
|
|
12
31
|
* ### Example
|
|
13
32
|
*
|
|
14
33
|
* ```ts
|
|
15
|
-
* //
|
|
34
|
+
* // Types - compile-time guarantee of at least one element
|
|
35
|
+
* const _valid: NonEmptyReadonlyArray<number> = [1, 2, 3];
|
|
36
|
+
* // ts-expect-error - empty array is not a valid NonEmptyReadonlyArray
|
|
37
|
+
* const _invalid: NonEmptyReadonlyArray<number> = [];
|
|
38
|
+
*
|
|
39
|
+
* // Guards
|
|
40
|
+
* const arr: ReadonlyArray<number> = [1, 2, 3];
|
|
41
|
+
* if (isNonEmptyReadonlyArray(arr)) {
|
|
42
|
+
* firstInArray(arr);
|
|
43
|
+
* }
|
|
44
|
+
*
|
|
45
|
+
* // Operations
|
|
46
|
+
* const appended = appendToArray([1, 2, 3], 4); // [1, 2, 3, 4]
|
|
47
|
+
* const prepended = prependToArray([2, 3], 1); // [1, 2, 3]
|
|
48
|
+
*
|
|
49
|
+
* // Transformations
|
|
16
50
|
* const readonly: ReadonlyArray<number> = [1, 2, 3];
|
|
17
|
-
* const mapped = readonly
|
|
18
|
-
*
|
|
19
|
-
* //
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
*
|
|
23
|
-
* const
|
|
24
|
-
*
|
|
51
|
+
* const mapped = mapArray(readonly, (x) => x * 2); // [2, 4, 6]
|
|
52
|
+
* const filtered = filterArray(readonly, (x) => x > 1); // [2, 3]
|
|
53
|
+
* const deduped = dedupeArray([1, 2, 1, 3, 2]); // [1, 2, 3]
|
|
54
|
+
*
|
|
55
|
+
* // Accessors
|
|
56
|
+
* const first = firstInArray(["a", "b", "c"]); // "a"
|
|
57
|
+
* const last = lastInArray(["a", "b", "c"]); // "c"
|
|
58
|
+
*
|
|
59
|
+
* // Mutations
|
|
60
|
+
* const mutable: NonEmptyArray<number> = [1, 2, 3];
|
|
61
|
+
* shiftArray(mutable); // 1 (guaranteed to exist)
|
|
62
|
+
* mutable; // [2, 3]
|
|
25
63
|
* ```
|
|
26
64
|
*
|
|
27
65
|
* @module
|
|
28
66
|
*/
|
|
29
|
-
/**
|
|
67
|
+
/**
|
|
68
|
+
* An array with at least one element.
|
|
69
|
+
*
|
|
70
|
+
* @category Types
|
|
71
|
+
*/
|
|
30
72
|
export type NonEmptyArray<T> = [T, ...Array<T>];
|
|
31
|
-
/**
|
|
32
|
-
|
|
33
|
-
|
|
73
|
+
/**
|
|
74
|
+
* A readonly array with at least one element.
|
|
75
|
+
*
|
|
76
|
+
* @category Types
|
|
77
|
+
*/
|
|
34
78
|
export type NonEmptyReadonlyArray<T> = readonly [T, ...ReadonlyArray<T>];
|
|
35
|
-
/**
|
|
79
|
+
/**
|
|
80
|
+
* Checks if an array is non-empty and narrows its type to {@link NonEmptyArray}.
|
|
81
|
+
*
|
|
82
|
+
* Use `if (!isNonEmptyArray(arr))` for empty checks.
|
|
83
|
+
*
|
|
84
|
+
* ### Example
|
|
85
|
+
*
|
|
86
|
+
* ```ts
|
|
87
|
+
* const arr: Array<number> = [1, 2, 3];
|
|
88
|
+
* if (isNonEmptyArray(arr)) {
|
|
89
|
+
* firstInArray(arr); // arr is NonEmptyArray<number>
|
|
90
|
+
* }
|
|
91
|
+
* ```
|
|
92
|
+
*
|
|
93
|
+
* @category Type Guards
|
|
94
|
+
*/
|
|
95
|
+
export declare const isNonEmptyArray: <T>(array: Array<T>) => array is NonEmptyArray<T>;
|
|
96
|
+
/**
|
|
97
|
+
* Checks if a readonly array is non-empty and narrows its type to
|
|
98
|
+
* {@link NonEmptyReadonlyArray}.
|
|
99
|
+
*
|
|
100
|
+
* Use `if (!isNonEmptyReadonlyArray(arr))` for empty checks.
|
|
101
|
+
*
|
|
102
|
+
* ### Example
|
|
103
|
+
*
|
|
104
|
+
* ```ts
|
|
105
|
+
* const arr: ReadonlyArray<number> = [1, 2, 3];
|
|
106
|
+
* if (isNonEmptyReadonlyArray(arr)) {
|
|
107
|
+
* firstInArray(arr); // arr is NonEmptyReadonlyArray<number>
|
|
108
|
+
* }
|
|
109
|
+
* ```
|
|
110
|
+
*
|
|
111
|
+
* @category Type Guards
|
|
112
|
+
*/
|
|
36
113
|
export declare const isNonEmptyReadonlyArray: <T>(array: ReadonlyArray<T>) => array is NonEmptyReadonlyArray<T>;
|
|
37
114
|
/**
|
|
38
115
|
* Appends an item to an array, returning a new non-empty readonly array.
|
|
39
116
|
*
|
|
40
117
|
* Accepts both mutable and readonly arrays. Does not mutate the original array.
|
|
118
|
+
*
|
|
119
|
+
* ### Example
|
|
120
|
+
*
|
|
121
|
+
* ```ts
|
|
122
|
+
* appendToArray([1, 2, 3], 4); // [1, 2, 3, 4]
|
|
123
|
+
* ```
|
|
124
|
+
*
|
|
125
|
+
* @category Operations
|
|
41
126
|
*/
|
|
42
|
-
export declare const appendToArray: <T>(
|
|
127
|
+
export declare const appendToArray: <T>(array: ReadonlyArray<T>, item: T) => NonEmptyReadonlyArray<T>;
|
|
43
128
|
/**
|
|
44
129
|
* Prepends an item to an array, returning a new non-empty readonly array.
|
|
45
130
|
*
|
|
46
131
|
* Accepts both mutable and readonly arrays. Does not mutate the original array.
|
|
132
|
+
*
|
|
133
|
+
* ### Example
|
|
134
|
+
*
|
|
135
|
+
* ```ts
|
|
136
|
+
* prependToArray([2, 3], 1); // [1, 2, 3]
|
|
137
|
+
* ```
|
|
138
|
+
*
|
|
139
|
+
* @category Operations
|
|
47
140
|
*/
|
|
48
|
-
export declare const prependToArray: <T>(
|
|
141
|
+
export declare const prependToArray: <T>(array: ReadonlyArray<T>, item: T) => NonEmptyReadonlyArray<T>;
|
|
49
142
|
/**
|
|
50
|
-
* Maps an array using a mapper function
|
|
51
|
-
* applicable.
|
|
143
|
+
* Maps an array using a mapper function.
|
|
52
144
|
*
|
|
53
145
|
* Accepts both mutable and readonly arrays. Does not mutate the original array.
|
|
146
|
+
* Preserves non-empty type.
|
|
147
|
+
*
|
|
148
|
+
* ### Example
|
|
149
|
+
*
|
|
150
|
+
* ```ts
|
|
151
|
+
* mapArray([1, 2, 3], (x) => x * 2); // [2, 4, 6]
|
|
152
|
+
* ```
|
|
153
|
+
*
|
|
154
|
+
* @category Transformations
|
|
54
155
|
*/
|
|
55
156
|
export declare function mapArray<T, U>(array: NonEmptyReadonlyArray<T> | NonEmptyArray<T>, mapper: (item: T, index: number) => U): NonEmptyReadonlyArray<U>;
|
|
56
157
|
export declare function mapArray<T, U>(array: ReadonlyArray<T> | Array<T>, mapper: (item: T, index: number) => U): ReadonlyArray<U>;
|
|
@@ -58,37 +159,88 @@ export declare function mapArray<T, U>(array: ReadonlyArray<T> | Array<T>, mappe
|
|
|
58
159
|
* Filters an array using a predicate function, returning a new readonly array.
|
|
59
160
|
*
|
|
60
161
|
* Accepts both mutable and readonly arrays. Does not mutate the original array.
|
|
162
|
+
*
|
|
163
|
+
* ### Example
|
|
164
|
+
*
|
|
165
|
+
* ```ts
|
|
166
|
+
* filterArray([1, 2, 3, 4, 5], (x) => x % 2 === 0); // [2, 4]
|
|
167
|
+
* ```
|
|
168
|
+
*
|
|
169
|
+
* @category Transformations
|
|
61
170
|
*/
|
|
62
171
|
export declare const filterArray: <T>(array: ReadonlyArray<T>, predicate: (item: T, index: number) => boolean) => ReadonlyArray<T>;
|
|
63
172
|
/**
|
|
64
|
-
*
|
|
173
|
+
* Returns a new readonly array with duplicate items removed. If `by` is
|
|
174
|
+
* provided, it will be used to derive the key for uniqueness; otherwise values
|
|
175
|
+
* are used directly. Dedupes by reference equality of values (or extracted keys
|
|
176
|
+
* when `by` is used).
|
|
177
|
+
*
|
|
178
|
+
* Accepts both mutable and readonly arrays. Does not mutate the original array.
|
|
179
|
+
* Preserves non-empty type.
|
|
65
180
|
*
|
|
66
|
-
*
|
|
181
|
+
* ### Example
|
|
182
|
+
*
|
|
183
|
+
* ```ts
|
|
184
|
+
* // Dedupe primitives by value
|
|
185
|
+
* dedupeArray([1, 2, 1, 3, 2]); // [1, 2, 3]
|
|
186
|
+
*
|
|
187
|
+
* // Dedupe objects by property
|
|
188
|
+
* dedupeArray(
|
|
189
|
+
* [
|
|
190
|
+
* { id: 1, name: "Alice" },
|
|
191
|
+
* { id: 2, name: "Bob" },
|
|
192
|
+
* { id: 1, name: "Alice 2" },
|
|
193
|
+
* ],
|
|
194
|
+
* (item) => item.id,
|
|
195
|
+
* ); // [{ id: 1, name: "Alice" }, { id: 2, name: "Bob" }]
|
|
196
|
+
* ```
|
|
197
|
+
*
|
|
198
|
+
* @category Transformations
|
|
67
199
|
*/
|
|
68
|
-
export declare
|
|
200
|
+
export declare function dedupeArray<T>(array: NonEmptyReadonlyArray<T> | NonEmptyArray<T>, by?: (item: T) => unknown): NonEmptyReadonlyArray<T>;
|
|
201
|
+
export declare function dedupeArray<T>(array: ReadonlyArray<T> | Array<T>, by?: (item: T) => unknown): ReadonlyArray<T>;
|
|
69
202
|
/**
|
|
70
|
-
* Returns the first element of a non-empty
|
|
203
|
+
* Returns the first element of a non-empty array.
|
|
204
|
+
*
|
|
205
|
+
* Accepts both mutable and readonly arrays. Does not mutate the original array.
|
|
71
206
|
*
|
|
72
|
-
*
|
|
207
|
+
* ### Example
|
|
208
|
+
*
|
|
209
|
+
* ```ts
|
|
210
|
+
* firstInArray(["a", "b", "c"]); // "a"
|
|
211
|
+
* ```
|
|
212
|
+
*
|
|
213
|
+
* @category Accessors
|
|
73
214
|
*/
|
|
74
215
|
export declare const firstInArray: <T>(array: NonEmptyReadonlyArray<T>) => T;
|
|
75
216
|
/**
|
|
76
|
-
* Returns the last element of a non-empty
|
|
217
|
+
* Returns the last element of a non-empty array.
|
|
218
|
+
*
|
|
219
|
+
* Accepts both mutable and readonly arrays. Does not mutate the original array.
|
|
220
|
+
*
|
|
221
|
+
* ### Example
|
|
222
|
+
*
|
|
223
|
+
* ```ts
|
|
224
|
+
* lastInArray(["a", "b", "c"]); // "c"
|
|
225
|
+
* ```
|
|
77
226
|
*
|
|
78
|
-
*
|
|
227
|
+
* @category Accessors
|
|
79
228
|
*/
|
|
80
229
|
export declare const lastInArray: <T>(array: NonEmptyReadonlyArray<T>) => T;
|
|
81
230
|
/**
|
|
82
|
-
*
|
|
83
|
-
* extractor function. Preserves the first occurrence of each distinct key.
|
|
231
|
+
* Shifts an item from a non-empty mutable array, guaranteed to return T.
|
|
84
232
|
*
|
|
85
|
-
*
|
|
86
|
-
*/
|
|
87
|
-
/**
|
|
88
|
-
* Deduplicates items in an array. If `by` is provided, it will be used to
|
|
89
|
-
* derive the key for uniqueness; otherwise values are used directly.
|
|
233
|
+
* **Mutates** the original array.
|
|
90
234
|
*
|
|
91
|
-
*
|
|
235
|
+
* ### Example
|
|
236
|
+
*
|
|
237
|
+
* ```ts
|
|
238
|
+
* const arr: NonEmptyArray<number> = [1, 2, 3];
|
|
239
|
+
* shiftArray(arr); // 1
|
|
240
|
+
* arr; // [2, 3]
|
|
241
|
+
* ```
|
|
242
|
+
*
|
|
243
|
+
* @category Mutations
|
|
92
244
|
*/
|
|
93
|
-
export declare const
|
|
245
|
+
export declare const shiftArray: <T>(array: NonEmptyArray<T>) => T;
|
|
94
246
|
//# sourceMappingURL=Array.d.ts.map
|
package/dist/src/Array.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Array.d.ts","sourceRoot":"","sources":["../../src/Array.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"Array.d.ts","sourceRoot":"","sources":["../../src/Array.ts"],"names":[],"mappings":"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"}
|
package/dist/src/Array.js
CHANGED
|
@@ -1,47 +1,132 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* 🔒 Immutable, type-safe array
|
|
2
|
+
* 🔒 Immutable, type-safe array helpers
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
* methods return mutable arrays even when called on readonly arrays. These
|
|
6
|
-
* helpers ensure transformations return readonly types.
|
|
4
|
+
* Array types, guards, operations, transformations, accessors, and mutations.
|
|
7
5
|
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
6
|
+
* Prepared for TC39 Hack pipes:
|
|
7
|
+
*
|
|
8
|
+
* ```ts
|
|
9
|
+
* // Problem: nested calls are hard to follow
|
|
10
|
+
* const result = firstInArray(
|
|
11
|
+
* mapArray(dedupeArray(appendToArray(value, 2)), (x) => x * 2),
|
|
12
|
+
* );
|
|
13
|
+
*
|
|
14
|
+
* // Ideal: TC39 Hack pipes (when available)
|
|
15
|
+
* // const result = value
|
|
16
|
+
* // |> appendToArray(%, 2)
|
|
17
|
+
* // |> dedupeArray(%)
|
|
18
|
+
* // |> mapArray(%, (x) => x * 2)
|
|
19
|
+
* // |> firstInArray(%);
|
|
20
|
+
*
|
|
21
|
+
* // Pragmatic: name each step (or use p1, p2 if lazy)
|
|
22
|
+
* const p1 = appendToArray(value, 2);
|
|
23
|
+
* const p2 = dedupeArray(p1);
|
|
24
|
+
* const p3 = mapArray(p2, (x) => x * 2);
|
|
25
|
+
* const p4 = firstInArray(p3);
|
|
26
|
+
* ```
|
|
27
|
+
*
|
|
28
|
+
* Of course it's possible to use array instance methods, but they mutate and do
|
|
29
|
+
* not preserve {@link NonEmptyArray} and {@link NonEmptyReadonlyArray} types.
|
|
11
30
|
*
|
|
12
31
|
* ### Example
|
|
13
32
|
*
|
|
14
33
|
* ```ts
|
|
15
|
-
* //
|
|
34
|
+
* // Types - compile-time guarantee of at least one element
|
|
35
|
+
* const _valid: NonEmptyReadonlyArray<number> = [1, 2, 3];
|
|
36
|
+
* // ts-expect-error - empty array is not a valid NonEmptyReadonlyArray
|
|
37
|
+
* const _invalid: NonEmptyReadonlyArray<number> = [];
|
|
38
|
+
*
|
|
39
|
+
* // Guards
|
|
40
|
+
* const arr: ReadonlyArray<number> = [1, 2, 3];
|
|
41
|
+
* if (isNonEmptyReadonlyArray(arr)) {
|
|
42
|
+
* firstInArray(arr);
|
|
43
|
+
* }
|
|
44
|
+
*
|
|
45
|
+
* // Operations
|
|
46
|
+
* const appended = appendToArray([1, 2, 3], 4); // [1, 2, 3, 4]
|
|
47
|
+
* const prepended = prependToArray([2, 3], 1); // [1, 2, 3]
|
|
48
|
+
*
|
|
49
|
+
* // Transformations
|
|
16
50
|
* const readonly: ReadonlyArray<number> = [1, 2, 3];
|
|
17
|
-
* const mapped = readonly
|
|
51
|
+
* const mapped = mapArray(readonly, (x) => x * 2); // [2, 4, 6]
|
|
52
|
+
* const filtered = filterArray(readonly, (x) => x > 1); // [2, 3]
|
|
53
|
+
* const deduped = dedupeArray([1, 2, 1, 3, 2]); // [1, 2, 3]
|
|
18
54
|
*
|
|
19
|
-
* //
|
|
20
|
-
* const
|
|
55
|
+
* // Accessors
|
|
56
|
+
* const first = firstInArray(["a", "b", "c"]); // "a"
|
|
57
|
+
* const last = lastInArray(["a", "b", "c"]); // "c"
|
|
21
58
|
*
|
|
22
|
-
* //
|
|
23
|
-
* const
|
|
24
|
-
*
|
|
59
|
+
* // Mutations
|
|
60
|
+
* const mutable: NonEmptyArray<number> = [1, 2, 3];
|
|
61
|
+
* shiftArray(mutable); // 1 (guaranteed to exist)
|
|
62
|
+
* mutable; // [2, 3]
|
|
25
63
|
* ```
|
|
26
64
|
*
|
|
27
65
|
* @module
|
|
28
66
|
*/
|
|
29
|
-
/**
|
|
67
|
+
/**
|
|
68
|
+
* Checks if an array is non-empty and narrows its type to {@link NonEmptyArray}.
|
|
69
|
+
*
|
|
70
|
+
* Use `if (!isNonEmptyArray(arr))` for empty checks.
|
|
71
|
+
*
|
|
72
|
+
* ### Example
|
|
73
|
+
*
|
|
74
|
+
* ```ts
|
|
75
|
+
* const arr: Array<number> = [1, 2, 3];
|
|
76
|
+
* if (isNonEmptyArray(arr)) {
|
|
77
|
+
* firstInArray(arr); // arr is NonEmptyArray<number>
|
|
78
|
+
* }
|
|
79
|
+
* ```
|
|
80
|
+
*
|
|
81
|
+
* @category Type Guards
|
|
82
|
+
*/
|
|
30
83
|
export const isNonEmptyArray = (array) => array.length > 0;
|
|
31
|
-
/**
|
|
84
|
+
/**
|
|
85
|
+
* Checks if a readonly array is non-empty and narrows its type to
|
|
86
|
+
* {@link NonEmptyReadonlyArray}.
|
|
87
|
+
*
|
|
88
|
+
* Use `if (!isNonEmptyReadonlyArray(arr))` for empty checks.
|
|
89
|
+
*
|
|
90
|
+
* ### Example
|
|
91
|
+
*
|
|
92
|
+
* ```ts
|
|
93
|
+
* const arr: ReadonlyArray<number> = [1, 2, 3];
|
|
94
|
+
* if (isNonEmptyReadonlyArray(arr)) {
|
|
95
|
+
* firstInArray(arr); // arr is NonEmptyReadonlyArray<number>
|
|
96
|
+
* }
|
|
97
|
+
* ```
|
|
98
|
+
*
|
|
99
|
+
* @category Type Guards
|
|
100
|
+
*/
|
|
32
101
|
export const isNonEmptyReadonlyArray = (array) => array.length > 0;
|
|
33
102
|
/**
|
|
34
103
|
* Appends an item to an array, returning a new non-empty readonly array.
|
|
35
104
|
*
|
|
36
105
|
* Accepts both mutable and readonly arrays. Does not mutate the original array.
|
|
106
|
+
*
|
|
107
|
+
* ### Example
|
|
108
|
+
*
|
|
109
|
+
* ```ts
|
|
110
|
+
* appendToArray([1, 2, 3], 4); // [1, 2, 3, 4]
|
|
111
|
+
* ```
|
|
112
|
+
*
|
|
113
|
+
* @category Operations
|
|
37
114
|
*/
|
|
38
|
-
export const appendToArray = (
|
|
115
|
+
export const appendToArray = (array, item) => [...array, item];
|
|
39
116
|
/**
|
|
40
117
|
* Prepends an item to an array, returning a new non-empty readonly array.
|
|
41
118
|
*
|
|
42
119
|
* Accepts both mutable and readonly arrays. Does not mutate the original array.
|
|
120
|
+
*
|
|
121
|
+
* ### Example
|
|
122
|
+
*
|
|
123
|
+
* ```ts
|
|
124
|
+
* prependToArray([2, 3], 1); // [1, 2, 3]
|
|
125
|
+
* ```
|
|
126
|
+
*
|
|
127
|
+
* @category Operations
|
|
43
128
|
*/
|
|
44
|
-
export const prependToArray = (
|
|
129
|
+
export const prependToArray = (array, item) => [item, ...array];
|
|
45
130
|
export function mapArray(array, mapper) {
|
|
46
131
|
return array.map(mapper);
|
|
47
132
|
}
|
|
@@ -49,39 +134,17 @@ export function mapArray(array, mapper) {
|
|
|
49
134
|
* Filters an array using a predicate function, returning a new readonly array.
|
|
50
135
|
*
|
|
51
136
|
* Accepts both mutable and readonly arrays. Does not mutate the original array.
|
|
52
|
-
*/
|
|
53
|
-
export const filterArray = (array, predicate) => array.filter(predicate);
|
|
54
|
-
/**
|
|
55
|
-
* Shifts an item from a non-empty mutable array, guaranteed to return T.
|
|
56
|
-
*
|
|
57
|
-
* **Mutates** the original array. Use only with mutable arrays.
|
|
58
|
-
*/
|
|
59
|
-
export const shiftArray = (array) => array.shift();
|
|
60
|
-
/**
|
|
61
|
-
* Returns the first element of a non-empty readonly array.
|
|
62
137
|
*
|
|
63
|
-
*
|
|
64
|
-
*/
|
|
65
|
-
export const firstInArray = (array) => array[0];
|
|
66
|
-
/**
|
|
67
|
-
* Returns the last element of a non-empty readonly array.
|
|
68
|
-
*
|
|
69
|
-
* Does not mutate the original array.
|
|
70
|
-
*/
|
|
71
|
-
export const lastInArray = (array) => array[array.length - 1];
|
|
72
|
-
/**
|
|
73
|
-
* Returns a new readonly array with duplicate items removed based on a key
|
|
74
|
-
* extractor function. Preserves the first occurrence of each distinct key.
|
|
138
|
+
* ### Example
|
|
75
139
|
*
|
|
76
|
-
*
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
* Deduplicates items in an array. If `by` is provided, it will be used to
|
|
80
|
-
* derive the key for uniqueness; otherwise values are used directly.
|
|
140
|
+
* ```ts
|
|
141
|
+
* filterArray([1, 2, 3, 4, 5], (x) => x % 2 === 0); // [2, 4]
|
|
142
|
+
* ```
|
|
81
143
|
*
|
|
82
|
-
*
|
|
144
|
+
* @category Transformations
|
|
83
145
|
*/
|
|
84
|
-
export const
|
|
146
|
+
export const filterArray = (array, predicate) => array.filter(predicate);
|
|
147
|
+
export function dedupeArray(array, by) {
|
|
85
148
|
if (by == null) {
|
|
86
149
|
return Array.from(new Set(array));
|
|
87
150
|
}
|
|
@@ -93,4 +156,48 @@ export const dedupeArray = (array, by) => {
|
|
|
93
156
|
seen.add(key);
|
|
94
157
|
return true;
|
|
95
158
|
});
|
|
96
|
-
}
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* Returns the first element of a non-empty array.
|
|
162
|
+
*
|
|
163
|
+
* Accepts both mutable and readonly arrays. Does not mutate the original array.
|
|
164
|
+
*
|
|
165
|
+
* ### Example
|
|
166
|
+
*
|
|
167
|
+
* ```ts
|
|
168
|
+
* firstInArray(["a", "b", "c"]); // "a"
|
|
169
|
+
* ```
|
|
170
|
+
*
|
|
171
|
+
* @category Accessors
|
|
172
|
+
*/
|
|
173
|
+
export const firstInArray = (array) => array[0];
|
|
174
|
+
/**
|
|
175
|
+
* Returns the last element of a non-empty array.
|
|
176
|
+
*
|
|
177
|
+
* Accepts both mutable and readonly arrays. Does not mutate the original array.
|
|
178
|
+
*
|
|
179
|
+
* ### Example
|
|
180
|
+
*
|
|
181
|
+
* ```ts
|
|
182
|
+
* lastInArray(["a", "b", "c"]); // "c"
|
|
183
|
+
* ```
|
|
184
|
+
*
|
|
185
|
+
* @category Accessors
|
|
186
|
+
*/
|
|
187
|
+
export const lastInArray = (array) => array[array.length - 1];
|
|
188
|
+
/**
|
|
189
|
+
* Shifts an item from a non-empty mutable array, guaranteed to return T.
|
|
190
|
+
*
|
|
191
|
+
* **Mutates** the original array.
|
|
192
|
+
*
|
|
193
|
+
* ### Example
|
|
194
|
+
*
|
|
195
|
+
* ```ts
|
|
196
|
+
* const arr: NonEmptyArray<number> = [1, 2, 3];
|
|
197
|
+
* shiftArray(arr); // 1
|
|
198
|
+
* arr; // [2, 3]
|
|
199
|
+
* ```
|
|
200
|
+
*
|
|
201
|
+
* @category Mutations
|
|
202
|
+
*/
|
|
203
|
+
export const shiftArray = (array) => array.shift();
|
|
@@ -128,10 +128,9 @@ export declare const maxNodeId: NodeId;
|
|
|
128
128
|
* queue:
|
|
129
129
|
*
|
|
130
130
|
* 1. Write changes immediately to a local-only table
|
|
131
|
-
* 2. Periodically
|
|
132
|
-
* 3. This decouples user activity from sync timing
|
|
131
|
+
* 2. Periodically and randomly flush messages to sync tables
|
|
133
132
|
*
|
|
134
|
-
*
|
|
133
|
+
* **Trade-off:** It breaks real-time collaboration.
|
|
135
134
|
*/
|
|
136
135
|
export declare const Timestamp: import("../Type.js").ObjectType<{
|
|
137
136
|
millis: import("../Type.js").BrandType<import("../Type.js").BrandType<import("../Type.js").Type<"Brand", number & Brand<"Int"> & Brand<"NonNegative">, number, import("../Type.js").NonNegativeError, number & Brand<"Int">, import("../Type.js").IntError | import("../Type.js").NumberError>, `LessThanOrEqualTo${number}`, import("../Type.js").LessThanOrEqualToError<number>, import("../Type.js").NonNegativeError | import("../Type.js").IntError | import("../Type.js").NumberError>, "Millis", import("../Type.js").BrandWithoutRefineError<"Millis", import("../Type.js").NonNegativeError | import("../Type.js").IntError | import("../Type.js").NumberError | import("../Type.js").LessThanOrEqualToError<number>>, never>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Timestamp.d.ts","sourceRoot":"","sources":["../../../src/Evolu/Timestamp.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEpC,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAG9C,OAAO,EAAE,KAAK,EAAmB,MAAM,aAAa,CAAC;AACrD,OAAO,EAAW,MAAM,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAEL,SAAS,EAOV,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,eAAe;IAC9B;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAC;CAC3C;AAED,MAAM,MAAM,cAAc,GACtB,mBAAmB,GACnB,6BAA6B,GAC7B,4BAA4B,CAAC;AAEjC,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,IAAI,EAAE,qBAAqB,CAAC;IACrC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,CAAC,IAAI,EAAE,+BAA+B,CAAC;CAChD;AAED,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,IAAI,EAAE,8BAA8B,CAAC;CAC/C;AAED;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,MAAM,gsBAGlB,CAAC;AACF,MAAM,MAAM,MAAM,GAAG,OAAO,MAAM,CAAC,IAAI,CAAC;AAExC,eAAO,MAAM,SAAS,EAAQ,MAAM,CAAC;AACrC,eAAO,MAAM,SAAS,EAA4B,MAAM,CAAC;AAEzD,eAAO,MAAM,OAAO,4rBAGnB,CAAC;AACF,MAAM,MAAM,OAAO,GAAG,OAAO,OAAO,CAAC,IAAI,CAAC;AAE1C,eAAO,MAAM,UAAU,EAAQ,OAAO,CAAC;AACvC,eAAO,MAAM,UAAU,EAAY,OAAO,CAAC;AAE3C;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,eAAO,MAAM,MAAM,wPAA4C,CAAC;AAChE,MAAM,MAAM,MAAM,GAAG,OAAO,MAAM,CAAC,IAAI,CAAC;AAExC,eAAO,MAAM,SAAS,EAAyB,MAAM,CAAC;AACtD,eAAO,MAAM,SAAS,EAAyB,MAAM,CAAC;AAEtD
|
|
1
|
+
{"version":3,"file":"Timestamp.d.ts","sourceRoot":"","sources":["../../../src/Evolu/Timestamp.ts"],"names":[],"mappings":"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"}
|
|
@@ -103,10 +103,9 @@ export const maxNodeId = "ffffffffffffffff";
|
|
|
103
103
|
* queue:
|
|
104
104
|
*
|
|
105
105
|
* 1. Write changes immediately to a local-only table
|
|
106
|
-
* 2. Periodically
|
|
107
|
-
* 3. This decouples user activity from sync timing
|
|
106
|
+
* 2. Periodically and randomly flush messages to sync tables
|
|
108
107
|
*
|
|
109
|
-
*
|
|
108
|
+
* **Trade-off:** It breaks real-time collaboration.
|
|
110
109
|
*/
|
|
111
110
|
export const Timestamp = object({
|
|
112
111
|
millis: Millis,
|
package/dist/src/Type.d.ts
CHANGED
|
@@ -15,13 +15,17 @@
|
|
|
15
15
|
* messages.
|
|
16
16
|
* - **Consistent constraints via {@link Brand}** – every constraint becomes part
|
|
17
17
|
* of the type.
|
|
18
|
-
* - **No user-land chaining DSL** – designed with the upcoming ES pipe operator
|
|
19
|
-
* in mind.
|
|
20
18
|
* - **Selective validation** – parent validations are skipped when already proved
|
|
21
19
|
* by typing.
|
|
22
20
|
* - **Simple, top-down implementation** – readable source code from top to bottom
|
|
23
21
|
* with no hidden magic; just plain functions and composition.
|
|
24
22
|
*
|
|
23
|
+
* TODO: Refactor Type factories and composition for Hack pipes compatibility.
|
|
24
|
+
* Currently, brand factories like `minLength(min)(Type)` use constraint-first
|
|
25
|
+
* currying. For optimal Hack pipe support, these should be refactored to
|
|
26
|
+
* `minLength(Type, min)` to enable: `Type |> minLength(%, 1) |> maxLength(%,
|
|
27
|
+
* 100)`
|
|
28
|
+
*
|
|
25
29
|
* ### Base Types Quick Start
|
|
26
30
|
*
|
|
27
31
|
* ```ts
|
package/dist/src/Type.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Type.d.ts","sourceRoot":"","sources":["../../src/Type.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8KG;AAOH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAGlD,OAAO,EAAkC,MAAM,EAAW,MAAM,aAAa,CAAC;AAE9E,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAGlE,MAAM,WAAW,IAAI,CACnB,IAAI,SAAS,QAAQ;AACrB,sCAAsC;AACtC,CAAC;AACD,qDAAqD;AACrD,KAAK;AACL,kDAAkD;AAClD,KAAK,SAAS,SAAS,GAAG,KAAK;AAC/B,uBAAuB;AACvB,MAAM,GAAG,CAAC;AACV,0BAA0B;AAC1B,WAAW,SAAS,SAAS,GAAG,KAAK,CACrC,SAAQ,gBAAgB,CAAC,KAAK,EAAE,CAAC,CAAC;IAClC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IAEpB;;;;;;OAMG;IACH,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,MAAM,CAAC,CAAC,EAAE,WAAW,GAAG,KAAK,CAAC,CAAC;IAEhE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6CG;IACH,QAAQ,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,CAAC,CAAC;IAEtC;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IACH,QAAQ,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,CAAC,GAAG,IAAI,CAAC;IAE5C;;;;OAIG;IACH,QAAQ,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,MAAM,CAAC,CAAC,EAAE,WAAW,GAAG,KAAK,CAAC,CAAC;IAEzE;;;;;OAKG;IACH,QAAQ,CAAC,UAAU,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IAEzD;;;;;;;;;;;;;;;;;;OAkBG;IACH,QAAQ,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,KAAK,IAAI,CAAC,CAAC;IAE5C,QAAQ,CAAC,CAAC,eAAe,CAAC,EAAE,IAAI,CAAC;IAEjC;;;;;;;;OAQG;IACH,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IAEjB;;;;;;;;OAQG;IACH,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IAEtB;;;;;;;;OAQG;IACH,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IAEtB;;;;;;;;OAQG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAExB;;;;;;;;OAQG;IACH,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAElC;;;;;;OAMG;IACH,QAAQ,CAAC,MAAM,EAAE,KAAK,GAAG,WAAW,CAAC;CACtC;AAED;;;;GAIG;AACH,MAAM,MAAM,QAAQ,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;AAE1C,MAAM,WAAW,SAAS,CAAC,IAAI,SAAS,QAAQ,GAAG,QAAQ;IACzD,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IAEpB;;;OAGG;IACH,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,mBAAmB,CAClC,IAAI,SAAS,QAAQ,GAAG,QAAQ,EAChC,MAAM,SAAS;IAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC,CAAA;CAAE,GAAG;IACrD,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;CACnC,CACD,SAAQ,SAAS,CAAC,IAAI,CAAC;IACvB,wEAAwE;IACxE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AAEzD;;;;GAIG;AACH,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS,OAAO,IACrC,CAAC,SAAS,IAAI,CAAC,MAAM,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC;AAErE;;;;GAIG;AACH,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS,OAAO,IACrC,CAAC,SAAS,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAE/D;;;;GAIG;AACH,MAAM,MAAM,UAAU,CAAC,CAAC,SAAS,OAAO,IACtC,CAAC,SAAS,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,KAAK,GAAG,KAAK,CAAC;AAEvE;;;;GAIG;AACH,MAAM,MAAM,UAAU,CAAC,CAAC,SAAS,OAAO,IACtC,CAAC,SAAS,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,KAAK,GAAG,KAAK,CAAC;AAEvE;;;;GAIG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,OAAO,IACvC,CAAC,SAAS,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,GAAG,KAAK,CAAC;AAEzE;;;;GAIG;AACH,MAAM,MAAM,gBAAgB,CAAC,CAAC,SAAS,OAAO,IAC5C,CAAC,SAAS,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC,GACtD,WAAW,GACX,KAAK,CAAC;AAEZ;;;;GAIG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,OAAO,IACvC,CAAC,SAAS,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,KAAK,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC,GAC9D,KAAK,GAAG,WAAW,GACnB,KAAK,CAAC;AAEZ,QAAA,MAAM,eAAe,eAAuB,CAAC;AAE7C;;;;GAIG;AACH,eAAO,MAAM,MAAM,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,OACwB,CAAC;AAgE1E;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,wBAAwB,GAClC,KAAK,SAAS,SAAS,EACtB,QAAQ,CACN,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,KACtD,MAAM,KACV,kBAAkB,CAAC,KAAK,CAE4C,CAAC;AAE1E,MAAM,MAAM,kBAAkB,CAAC,KAAK,SAAS,SAAS,IAAI,CACxD,KAAK,EAAE,KAAK,KACT,MAAM,CAAC;AAEZ;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,IAAI,GAAI,IAAI,SAAS,QAAQ,EAAE,CAAC,EAAE,KAAK,SAAS,SAAS,EACpE,MAAM,IAAI,EACV,aAAa,CAAC,KAAK,EAAE,OAAO,KAAK,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,KAChD,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,CAIrB,CAAC;AAEL;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,4BAA4B,GACvC,KAAK,SAAS,SAAS,OACpB,kBAAkB,CAAC,KAAK,CAG1B,CAAC;AAEJ,2BAA2B;AAC3B,eAAO,MAAM,OAAO,0DAAiD,CAAC;AAEtE;;;GAGG;AACH,eAAO,MAAM,MAAM,kEAIlB,CAAC;AAEF,MAAM,WAAW,WAAY,SAAQ,SAAS,CAAC,QAAQ,CAAC;CAAG;AAE3D,eAAO,MAAM,iBAAiB,iCAA8C,CAAC;AAE7E,2BAA2B;AAC3B,eAAO,MAAM,MAAM,kEAIlB,CAAC;AAEF,MAAM,WAAW,WAAY,SAAQ,SAAS,CAAC,QAAQ,CAAC;CAAG;AAE3D,eAAO,MAAM,iBAAiB,iCAA8C,CAAC;AAE7E,2BAA2B;AAC3B,eAAO,MAAM,MAAM,kEAIlB,CAAC;AAEF,MAAM,WAAW,WAAY,SAAQ,SAAS,CAAC,QAAQ,CAAC;CAAG;AAE3D,eAAO,MAAM,iBAAiB,iCAA8C,CAAC;AAE7E,2BAA2B;AAC3B,eAAO,MAAM,OAAO,wEAInB,CAAC;AAEF,MAAM,WAAW,YAAa,SAAQ,SAAS,CAAC,SAAS,CAAC;CAAG;AAE7D,eAAO,MAAM,kBAAkB,kCAA+C,CAAC;AAE/E,2BAA2B;AAC3B,eAAO,MAAM,SAAS,oFAIrB,CAAC;AAEF,MAAM,WAAW,cAAe,SAAQ,SAAS,CAAC,WAAW,CAAC;CAAG;AAEjE,eAAO,MAAM,oBAAoB,oCACe,CAAC;AAEjD,2BAA2B;AAC3B,eAAO,MAAM,IAAI,sDAEhB,CAAC;AAEF,MAAM,WAAW,SAAU,SAAQ,SAAS,CAAC,MAAM,CAAC;CAAG;AAEvD,eAAO,MAAM,eAAe,+BAA4C,CAAC;AAEzE,2BAA2B;AAC3B,eAAO,MAAM,QAAQ,8EAIpB,CAAC;AAEF,MAAM,WAAW,aAAc,SAAQ,SAAS,CAAC,UAAU,CAAC;CAAG;AAE/D,eAAO,MAAM,mBAAmB,mCACe,CAAC;AAEhD,2BAA2B;AAC3B,eAAO,MAAM,UAAU,6IAItB,CAAC;AAEF,MAAM,WAAW,eAAgB,SAAQ,SAAS,CAAC,YAAY,CAAC;CAAG;AAEnE,eAAO,MAAM,qBAAqB,qCACe,CAAC;AAElD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,UAAU,GAAI,CAAC,SAAS,QAAQ,MAAM,GAAG,IAAI,EAAE,GAAG,KAAK,GAAG,EACrE,MAAM,CAAC,KACN,cAAc,CAAC,CAAC,CAOjB,CAAC;AAEH,MAAM,WAAW,eAAgB,SAAQ,SAAS,CAAC,YAAY,CAAC;IAC9D,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,cAAc,CAAC,CAAC,SAAS,QAAQ,MAAM,GAAG,IAAI,EAAE,GAAG,KAAK,GAAG,CAC1E,SAAQ,IAAI,CACV,YAAY,EACZ,YAAY,CAAC,CAAC,CAAC,EACf,YAAY,CAAC,CAAC,CAAC,EACf,eAAe,CAChB;IACD,IAAI,EAAE,CAAC,CAAC;CACT;AAED,eAAO,MAAM,qBAAqB,qCAEjC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,IAAI,iCAA8B,CAAC;AAEhD;;;;;;;;;;GAUG;AAEH,eAAO,MAAM,SAAS,8EAOrB,CAAC;AAEF,MAAM,WAAW,cAAe,SAAQ,SAAS,CAAC,WAAW,CAAC;CAAG;AAEjE,eAAO,MAAM,iBAAiB,oCAE7B,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgIG;AACH,wBAAgB,KAAK,CACnB,IAAI,SAAS,QAAQ,EACrB,UAAU,SAAS,OAAO,EAC1B,MAAM,GAAG,SAAS,CAAC,UAAU,CAAC,EAC9B,WAAW,SAAS,SAAS,GAAG,KAAK,EAErC,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,UAAU,EAClB,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,GACrD,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC;AAErE,wBAAgB,KAAK,CAAC,IAAI,SAAS,QAAQ,EAAE,UAAU,SAAS,OAAO,EACrE,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,UAAU,GACjB,SAAS,CACV,UAAU,EACV,IAAI,EACJ,uBAAuB,CAAC,IAAI,EAAE,WAAW,CAAC,UAAU,CAAC,CAAC,CACvD,CAAC;AAuCF,MAAM,WAAW,SAAS,CACxB,UAAU,SAAS,OAAO,EAC1B,IAAI,SAAS,QAAQ,EACrB,KAAK,SAAS,SAAS,GAAG,KAAK,EAC/B,WAAW,SAAS,SAAS,GAAG,KAAK,CACrC,SAAQ,IAAI,CACV,OAAO,EACP,SAAS,CAAC,UAAU,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,EACnC,UAAU,CAAC,UAAU,CAAC,EACtB,KAAK,EACL,SAAS,CAAC,UAAU,CAAC,EACrB,WAAW,CACZ;IACD,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC;IACrB,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;CACjC;AAED,MAAM,WAAW,uBAAuB,CACtC,IAAI,SAAS,QAAQ,EACrB,WAAW,SAAS,SAAS,CAC7B,SAAQ,SAAS,CAAC,IAAI,CAAC;IACvB,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;CACnC;AAED;;;;GAIG;AACH,eAAO,MAAM,YAAY,6HAIxB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,OAAO,YAAY,CAAC,IAAI,CAAC;AAEpD,MAAM,WAAW,iBAAkB,SAAQ,SAAS,CAAC,cAAc,CAAC;CAAG;AAEvE,eAAO,MAAM,uBAAuB,uCAGjC,CAAC;AAEJ;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,OAAO,mHAclB,CAAC;AAEH,MAAM,MAAM,OAAO,GAAG,OAAO,OAAO,CAAC,IAAI,CAAC;AAE1C,MAAM,WAAW,YAAa,SAAQ,SAAS,CAAC,SAAS,CAAC;CAAG;AAE7D,eAAO,MAAM,kBAAkB,kCAE9B,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,OAAO,IAAI,KAAG,MAAM,CAAC,OAAO,EAAE,YAAY,CAC/B,CAAC;AAE1C,eAAO,MAAM,aAAa,GAAI,OAAO,OAAO,KAAG,IACnB,CAAC;AAE7B;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,MAAM,YAAY,CACtB,IAAI,SAAS,QAAQ,EACrB,KAAK,EACL,WAAW,SAAS,SAAS,IAC3B,CACF,KAAK,SAAS,QAAQ,EACtB,CAAC,SAAS,KAAK,EACf,MAAM,EACN,OAAO,EACP,MAAM,SAAS,SAAS,GAAG,KAAK,EAChC,YAAY,SAAS,SAAS,GAAG,KAAK,EAEtC,MAAM,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,CAAC,KAC1D,SAAS,CACZ,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,CAAC,EACrD,IAAI,EACJ,WAAW,EACX,MAAM,GAAG,YAAY,CACtB,CAAC;AAEF;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,OAAO,EAAE,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,YAAY,CAO/D,CAAC;AAEJ,MAAM,WAAW,YAAa,SAAQ,SAAS,CAAC,SAAS,CAAC;CAAG;AAE7D,eAAO,MAAM,kBAAkB,kCAE9B,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,aAAa,mHAAkB,CAAC;AAC7C,MAAM,MAAM,aAAa,GAAG,OAAO,aAAa,CAAC,IAAI,CAAC;AAEtD,eAAO,MAAM,IAAI,GAAI,OAAO,MAAM,KAAG,aACN,CAAC;AAEhC;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,SAAS,EAAE,CAAC,GAAG,SAAS,MAAM,EACzC,GAAG,EAAE,GAAG,KACL,YAAY,CAAC,YAAY,GAAG,EAAE,EAAE;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,EAAE,cAAc,CAAC,GAAG,CAAC,CAIvE,CAAC;AAEN,MAAM,WAAW,cAAc,CAAC,GAAG,SAAS,MAAM,GAAG,MAAM,CACzD,SAAQ,SAAS,CAAC,WAAW,CAAC;IAC9B,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC;CACnB;AAED,eAAO,MAAM,oBAAoB,4CAGhC,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,SAAS,EAAE,CAAC,GAAG,SAAS,MAAM,EACzC,GAAG,EAAE,GAAG,KACL,YAAY,CAAC,YAAY,GAAG,EAAE,EAAE;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,EAAE,cAAc,CAAC,GAAG,CAAC,CAIvE,CAAC;AAEN,MAAM,WAAW,cAAc,CAAC,GAAG,SAAS,MAAM,GAAG,MAAM,CACzD,SAAQ,SAAS,CAAC,WAAW,CAAC;IAC9B,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC;CACnB;AAED,eAAO,MAAM,oBAAoB,4CAGhC,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,MAAM,EAAE,CAAC,KAAK,SAAS,MAAM,EACxC,KAAK,EAAE,KAAK,KACT,YAAY,CAAC,SAAS,KAAK,EAAE,EAAE;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,EAAE,WAAW,CAAC,KAAK,CAAC,CAMrE,CAAC;AAEN,MAAM,WAAW,WAAW,CAAC,KAAK,SAAS,MAAM,GAAG,MAAM,CACxD,SAAQ,SAAS,CAAC,QAAQ,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;CACvB;AAED,eAAO,MAAM,iBAAiB,yCAG7B,CAAC;AAEF,uBAAuB;AACvB,eAAO,MAAM,cAAc,2HAAuB,CAAC;AACnD,MAAM,MAAM,cAAc,GAAG,OAAO,cAAc,CAAC,IAAI,CAAC;AAExD,uBAAuB;AACvB,eAAO,MAAM,SAAS,+HAAyB,CAAC;AAChD,MAAM,MAAM,SAAS,GAAG,OAAO,SAAS,CAAC,IAAI,CAAC;AAE9C,uBAAuB;AACvB,eAAO,MAAM,UAAU,iIAA0B,CAAC;AAClD,MAAM,MAAM,UAAU,GAAG,OAAO,UAAU,CAAC,IAAI,CAAC;AAEhD,uBAAuB;AACvB,eAAO,MAAM,iBAAiB,gLAA0B,CAAC;AACzD,MAAM,MAAM,iBAAiB,GAAG,OAAO,iBAAiB,CAAC,IAAI,CAAC;AAE9D,uBAAuB;AACvB,eAAO,MAAM,kBAAkB,mLAA2B,CAAC;AAC3D,MAAM,MAAM,kBAAkB,GAAG,OAAO,kBAAkB,CAAC,IAAI,CAAC;AAEhE,uBAAuB;AACvB,eAAO,MAAM,qBAAqB,6JAA8B,CAAC;AACjE,MAAM,MAAM,qBAAqB,GAAG,OAAO,qBAAqB,CAAC,IAAI,CAAC;AAEtE,uBAAuB;AACvB,eAAO,MAAM,gBAAgB,iKAAgC,CAAC;AAC9D,MAAM,MAAM,gBAAgB,GAAG,OAAO,gBAAgB,CAAC,IAAI,CAAC;AAE5D,uBAAuB;AACvB,eAAO,MAAM,iBAAiB,mKAAiC,CAAC;AAChE,MAAM,MAAM,iBAAiB,GAAG,OAAO,iBAAiB,CAAC,IAAI,CAAC;AAE9D,uBAAuB;AACvB,eAAO,MAAM,wBAAwB,oPAAiC,CAAC;AACvE,MAAM,MAAM,wBAAwB,GAAG,OAAO,wBAAwB,CAAC,IAAI,CAAC;AAE5E,uBAAuB;AACvB,eAAO,MAAM,yBAAyB,uPAAkC,CAAC;AACzE,MAAM,MAAM,yBAAyB,GAAG,OAAO,yBAAyB,CAAC,IAAI,CAAC;AAE9E;;;;;;;;GAQG;AACH,eAAO,MAAM,QAAQ,mPAIpB,CAAC;AACF,MAAM,MAAM,QAAQ,GAAG,OAAO,QAAQ,CAAC,IAAI,CAAC;AAE5C,MAAM,WAAW,aAAc,SAAQ,SAAS,CAAC,UAAU,CAAC;CAAG;AAE/D,eAAO,MAAM,mBAAmB,mCAE/B,CAAC;AAEF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,KAAK,EAAE,CAAC,IAAI,SAAS,QAAQ,EACxC,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,MAAM,KACZ,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC,CAY/C,CAAC;AAEF,MAAM,WAAW,UAAU,CAAC,IAAI,SAAS,QAAQ,GAAG,QAAQ,CAC1D,SAAQ,SAAS,CAAC,OAAO,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IACpB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,eAAO,MAAM,gBAAgB,oDAG5B,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,eAAO,MAAM,aAAa,wIAAqD,CAAC;AAChF,MAAM,MAAM,aAAa,GAAG,OAAO,aAAa,CAAC,IAAI,CAAC;AACtD,MAAM,MAAM,kBAAkB,GAAG,OAAO,aAAa,CAAC,KAAK,CAAC;AAE5D;;;;;;;GAOG;AACH,eAAO,MAAM,SAAS,uHAmBrB,CAAC;AACF,MAAM,MAAM,SAAS,GAAG,OAAO,SAAS,CAAC,IAAI,CAAC;AAC9C,MAAM,WAAW,cAAe,SAAQ,SAAS,CAAC,WAAW,CAAC;CAAG;AAEjE,eAAO,MAAM,oBAAoB,oCAEhC,CAAC;AAIF,0DAA0D;AAC1D,eAAO,MAAM,qBAAqB,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,SAkBlD,CAAC;AAEV,0DAA0D;AAC1D,eAAO,MAAM,qBAAqB,EAAE,CAAC,GAAG,EAAE,SAAS,KAAK,UAuB/C,CAAC;AAEV;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,UAAU,6NAItB,CAAC;AACF,MAAM,MAAM,UAAU,GAAG,OAAO,UAAU,CAAC,IAAI,CAAC;AAChD,MAAM,WAAW,eAAgB,SAAQ,SAAS,CAAC,YAAY,CAAC;CAAG;AAEnE;;;;GAIG;AACH,eAAO,MAAM,cAAc,qYAG1B,CAAC;AACF,MAAM,MAAM,cAAc,GAAG,OAAO,cAAc,CAAC,IAAI,CAAC;AAExD,MAAM,MAAM,mBAAmB,GAAG,OAAO,cAAc,CAAC,KAAK,CAAC;AAE9D,eAAO,MAAM,yBAAyB,GACpC,iBAAiB,kBAAkB,CACjC,WAAW,GAAG,cAAc,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC,EAAE,CAAC,GAAG,YAAY,CACpE,KACA,kBAAkB,CAAC,mBAAmB,CAGtC,CAAC;AAEJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,eAAO,MAAM,EAAE,yGAId,CAAC;AACF,MAAM,MAAM,EAAE,GAAG,OAAO,EAAE,CAAC,IAAI,CAAC;AAEhC,MAAM,WAAW,OAAQ,SAAQ,SAAS,CAAC,IAAI,CAAC;CAAG;AAEnD,eAAO,MAAM,aAAa,6BAEzB,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,QAAQ,GAAI,CAAC,SAAS,MAAM,GAAG,KAAK,EAC/C,MAAM,cAAc,KACnB,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,KAAK,CAAC,CAAC,CAKvB,CAAC;AAEpB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,eAAO,MAAM,kBAAkB,GAAI,CAAC,SAAS,MAAM,GAAG,KAAK,EACzD,OAAO,MAAM,KACZ,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,KAAK,CAAC,CAAC,CAMzC,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,EAAE,GAAI,KAAK,SAAS,QAAQ,EAAE,OAAO,KAAK,KAAG,OAAO,CAAC,KAAK,CAmBtE,CAAC;AAEF,MAAM,WAAW,OAAO,CAAC,KAAK,SAAS,QAAQ,CAC7C,SAAQ,IAAI,CACV,IAAI,EACJ,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,EACnC,MAAM,EACN,YAAY,CAAC,KAAK,CAAC,EACnB,MAAM,EACN,WAAW,CACZ;IACD,KAAK,EAAE,KAAK,CAAC;CACd;AAED,MAAM,WAAW,YAAY,CAAC,KAAK,SAAS,QAAQ,GAAG,QAAQ,CAC7D,SAAQ,SAAS,CAAC,SAAS,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;CACvB;AAED,eAAO,MAAM,kBAAkB,sDAE9B,CAAC;AAEF,8CAA8C;AAC9C,eAAO,MAAM,OAAO,0SAA2C,CAAC;AAChE,MAAM,MAAM,OAAO,GAAG,OAAO,OAAO,CAAC,IAAI,CAAC;AAE1C,eAAO,MAAM,sBAAsB,EAAS,cAAc,CAAC;AAE3D,eAAO,MAAM,WAAW,GAAI,IAAI,EAAE,KAAG,OAEyB,CAAC;AAE/D,eAAO,MAAM,WAAW,GAAI,SAAS,OAAO,KAAG,EAEE,CAAC;AAElD;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,QAAQ,EAAE,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,aAAa,CAKlE,CAAC;AAEJ,MAAM,WAAW,aAAc,SAAQ,SAAS,CAAC,UAAU,CAAC;CAAG;AAE/D,eAAO,MAAM,mBAAmB,mCAE/B,CAAC;AAEF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,QAAQ,EAAE,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,aAAa,CAKlE,CAAC;AAEJ,MAAM,WAAW,aAAc,SAAQ,SAAS,CAAC,UAAU,CAAC;CAAG;AAE/D,eAAO,MAAM,mBAAmB,mCAE/B,CAAC;AAEF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,WAAW,EAAE,YAAY,CACpC,aAAa,EACb,MAAM,EACN,gBAAgB,CAMf,CAAC;AAEJ,MAAM,WAAW,gBAAiB,SAAQ,SAAS,CAAC,aAAa,CAAC;CAAG;AAErE,eAAO,MAAM,sBAAsB,sCAGhC,CAAC;AAEJ;;;;;;;;;;GAUG;AACH,eAAO,MAAM,WAAW,EAAE,YAAY,CACpC,aAAa,EACb,MAAM,EACN,gBAAgB,CAMf,CAAC;AAEJ,MAAM,WAAW,gBAAiB,SAAQ,SAAS,CAAC,aAAa,CAAC;CAAG;AAErE,eAAO,MAAM,sBAAsB,sCAGhC,CAAC;AAEJ;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,2HAAsB,CAAC;AACrD,MAAM,MAAM,iBAAiB,GAAG,OAAO,iBAAiB,CAAC,IAAI,CAAC;AAE9D;;;;GAIG;AACH,eAAO,MAAM,cAAc,mKAA8B,CAAC;AAC1D,MAAM,MAAM,cAAc,GAAG,OAAO,cAAc,CAAC,IAAI,CAAC;AAExD;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,2HAAsB,CAAC;AACrD,MAAM,MAAM,iBAAiB,GAAG,OAAO,iBAAiB,CAAC,IAAI,CAAC;AAE9D;;;;GAIG;AACH,eAAO,MAAM,cAAc,mKAA8B,CAAC;AAC1D,MAAM,MAAM,cAAc,GAAG,OAAO,cAAc,CAAC,IAAI,CAAC;AAExD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,GAAG,EAAE,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAKnD,CAAC;AAEJ,MAAM,WAAW,QAAS,SAAQ,SAAS,CAAC,KAAK,CAAC;CAAG;AAErD,eAAO,MAAM,cAAc,8BAE1B,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,GAAG,2GAAc,CAAC;AAC/B,MAAM,MAAM,GAAG,GAAG,OAAO,GAAG,CAAC,IAAI,CAAC;AAElC;;;;GAIG;AACH,eAAO,MAAM,cAAc,iJAAmB,CAAC;AAC/C,MAAM,MAAM,cAAc,GAAG,OAAO,cAAc,CAAC,IAAI,CAAC;AAExD;;;;GAIG;AACH,eAAO,MAAM,WAAW,uNAA2B,CAAC;AACpD,MAAM,MAAM,WAAW,GAAG,OAAO,WAAW,CAAC,IAAI,CAAC;AAElD,+EAA+E;AAC/E,eAAO,MAAM,cAAc,kEAE1B,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,cAAc,iJAAmB,CAAC;AAC/C,MAAM,MAAM,cAAc,GAAG,OAAO,cAAc,CAAC,IAAI,CAAC;AAExD;;;;GAIG;AACH,eAAO,MAAM,WAAW,uNAA2B,CAAC;AACpD,MAAM,MAAM,WAAW,GAAG,OAAO,WAAW,CAAC,IAAI,CAAC;AAElD;;;;GAIG;AACH,eAAO,MAAM,WAAW,EAAE,CAAC,GAAG,SAAS,MAAM,EAC3C,GAAG,EAAE,GAAG,KACL,YAAY,CAAC,cAAc,GAAG,EAAE,EAAE,MAAM,EAAE,gBAAgB,CAAC,GAAG,CAAC,CAI/D,CAAC;AAEN,MAAM,WAAW,gBAAgB,CAAC,GAAG,SAAS,MAAM,GAAG,MAAM,CAC3D,SAAQ,SAAS,CAAC,aAAa,CAAC;IAChC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC;CACnB;AAED,eAAO,MAAM,sBAAsB,8CAGhC,CAAC;AAEJ;;;;GAIG;AACH,eAAO,MAAM,QAAQ,EAAE,CAAC,GAAG,SAAS,MAAM,EACxC,GAAG,EAAE,GAAG,KACL,YAAY,CAAC,WAAW,GAAG,EAAE,EAAE,MAAM,EAAE,aAAa,CAAC,GAAG,CAAC,CAIzD,CAAC;AAEN,MAAM,WAAW,aAAa,CAAC,GAAG,SAAS,MAAM,GAAG,MAAM,CACxD,SAAQ,SAAS,CAAC,UAAU,CAAC;IAC7B,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC;CACnB;AAED,eAAO,MAAM,mBAAmB,2CAE/B,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,EAAE,CAAC,GAAG,SAAS,MAAM,EACpD,GAAG,EAAE,GAAG,KACL,YAAY,CACf,uBAAuB,GAAG,EAAE,EAC5B,MAAM,EACN,yBAAyB,CAAC,GAAG,CAAC,CAM7B,CAAC;AAEJ,MAAM,WAAW,yBAAyB,CAAC,GAAG,SAAS,MAAM,GAAG,MAAM,CACpE,SAAQ,SAAS,CAAC,sBAAsB,CAAC;IACzC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC;CACnB;AAED,eAAO,MAAM,+BAA+B,uDAGzC,CAAC;AAEJ;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,EAAE,CAAC,GAAG,SAAS,MAAM,EACjD,GAAG,EAAE,GAAG,KACL,YAAY,CACf,oBAAoB,GAAG,EAAE,EACzB,MAAM,EACN,sBAAsB,CAAC,GAAG,CAAC,CAI1B,CAAC;AAEJ,MAAM,WAAW,sBAAsB,CAAC,GAAG,SAAS,MAAM,GAAG,MAAM,CACjE,SAAQ,SAAS,CAAC,mBAAmB,CAAC;IACtC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC;CACnB;AAED,eAAO,MAAM,4BAA4B,oDAGtC,CAAC;AAEJ;;;;GAIG;AACH,eAAO,MAAM,MAAM,EAAE,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,CAK5D,CAAC;AAEJ,MAAM,WAAW,WAAY,SAAQ,SAAS,CAAC,QAAQ,CAAC;CAAG;AAE3D,eAAO,MAAM,iBAAiB,iCAE7B,CAAC;AAEF,uBAAuB;AACvB,eAAO,MAAM,YAAY,iHAAiB,CAAC;AAC3C,MAAM,MAAM,YAAY,GAAG,OAAO,YAAY,CAAC,IAAI,CAAC;AAEpD;;;;GAIG;AACH,eAAO,MAAM,MAAM,EAAE,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,CAK5D,CAAC;AAEJ,MAAM,WAAW,WAAY,SAAQ,SAAS,CAAC,QAAQ,CAAC;CAAG;AAE3D,eAAO,MAAM,iBAAiB,iCAE7B,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,YAAY,iHAAiB,CAAC;AAC3C,MAAM,MAAM,YAAY,GAAG,OAAO,YAAY,CAAC,IAAI,CAAC;AAEpD;;;;GAIG;AACH,eAAO,MAAM,UAAU,EAAE,CAAC,OAAO,SAAS,MAAM,EAC9C,OAAO,EAAE,OAAO,KACb,YAAY,CAAC,aAAa,OAAO,EAAE,EAAE,MAAM,EAAE,eAAe,CAAC,OAAO,CAAC,CAMrE,CAAC;AAEN,MAAM,WAAW,eAAe,CAAC,OAAO,SAAS,MAAM,GAAG,MAAM,CAC9D,SAAQ,SAAS,CAAC,YAAY,CAAC;IAC/B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC3B;AAED,eAAO,MAAM,qBAAqB,6CAEjC,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,OAAO,EAAE,CAAC,GAAG,SAAS,MAAM,EAAE,GAAG,SAAS,MAAM,EAC3D,GAAG,EAAE,GAAG,EACR,GAAG,EAAE,GAAG,KACL,YAAY,CAAC,UAAU,GAAG,IAAI,GAAG,EAAE,EAAE,MAAM,EAAE,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,CAMnE,CAAC;AAEN,MAAM,WAAW,YAAY,CAC3B,GAAG,SAAS,MAAM,GAAG,MAAM,EAC3B,GAAG,SAAS,MAAM,GAAG,MAAM,CAC3B,SAAQ,SAAS,CAAC,SAAS,CAAC;IAC5B,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC;IAClB,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC;CACnB;AAED,eAAO,MAAM,kBAAkB,kDAG9B,CAAC;AAEF;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,OAAO,GAAI,CAAC,SAAS,OAAO,EAAE,UAAU,CAAC,KAAG,WAAW,CAAC,CAAC,CAarE,CAAC;AAEF,MAAM,WAAW,WAAW,CAAC,CAAC,SAAS,OAAO,CAC5C,SAAQ,IAAI,CAAC,SAAS,EAAE,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;IAC5D,QAAQ,EAAE,CAAC,CAAC;CACb;AAED,MAAM,WAAW,YAAY,CAAC,CAAC,SAAS,OAAO,GAAG,OAAO,CACvD,SAAQ,SAAS,CAAC,SAAS,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;CACtB;AAED,eAAO,MAAM,kBAAkB,2CAK9B,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,KAAK,GAAI,WAAW,SAAS,OAAO,EAC/C,SAAS,WAAW,KACnB,SAAS,CAAC,WAAW,CAgEvB,CAAC;AAEF,mFAAmF;AACnF,MAAM,WAAW,SAAS,CAAC,WAAW,SAAS,OAAO,CACpD,SAAQ,IAAI,CACV,OAAO,EACP,aAAa,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,EACrC,aAAa,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,EACtC,UAAU,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,EACnC,aAAa,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,EACvC,UAAU,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC,CAC1C;IACD,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC;CAC/B;AAED,MAAM,WAAW,UAAU,CAAC,KAAK,SAAS,SAAS,GAAG,SAAS,CAC7D,SAAQ,mBAAmB,CACzB,OAAO,EACL;IAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAA;CAAE,GAC7B;IACE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;CACvB,CACJ;CAAG;AAEN,eAAO,MAAM,gBAAgB,GAAI,KAAK,SAAS,SAAS,EACtD,iBAAiB,kBAAkB,CAAC,KAAK,CAAC,KACzC,kBAAkB,CAAC,UAAU,CAAC,KAAK,CAAC,CAQnC,CAAC;AAEL;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,eAAO,MAAM,MAAM,GACjB,OAAO,SAAS,QAAQ,EACxB,IAAI,SAAS,MAAM,EACnB,QAAQ,SAAS,MAAM,EACvB,QAAQ,SAAS,SAAS,EAC1B,SAAS,SAAS,MAAM,EACxB,cAAc,SAAS,SAAS,EAChC,KAAK,SAAS,OAAO,EAErB,SAAS,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,cAAc,CAAC,EAC3E,WAAW,KAAK,KACf,UAAU,CACX,OAAO,EACP,IAAI,EACJ,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,cAAc,EACd,KAAK,CAqGN,CAAC;AAEF;;;GAGG;AACH,MAAM,WAAW,UAAU,CACzB,OAAO,SAAS,QAAQ,EACxB,IAAI,SAAS,MAAM,EACnB,QAAQ,SAAS,MAAM,EACvB,QAAQ,SAAS,SAAS,EAC1B,SAAS,SAAS,MAAM,EACxB,cAAc,SAAS,SAAS,EAChC,KAAK,SAAS,OAAO,GAAG,OAAO,CAC/B,SAAQ,IAAI,CACV,QAAQ,EACR,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,EACxC,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,EAC7C,WAAW,CAAC,QAAQ,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,EACxC,QAAQ,CAAC,MAAM,CAAC,SAAS,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,EAC/C,WAAW,CAAC,cAAc,EAAE,gBAAgB,CAAC,KAAK,CAAC,CAAC,CACrD;IACD,QAAQ,CAAC,GAAG,EAAE,IAAI,CAChB,OAAO,EACP,IAAI,EACJ,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,cAAc,CACf,CAAC;IACF,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;CACvB;AAED,MAAM,WAAW,WAAW,CAC1B,QAAQ,SAAS,SAAS,GAAG,SAAS,EACtC,UAAU,SAAS,SAAS,GAAG,SAAS,CACxC,SAAQ,mBAAmB,CACzB,QAAQ,EACN;IAAE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAA;CAAE,GAC9B;IACE,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;IACrB,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;CAC1B,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;CAC5B,CACJ;CAAG;AAEN,eAAO,MAAM,iBAAiB,GAAI,KAAK,SAAS,SAAS,EACvD,iBAAiB,kBAAkB,CAAC,KAAK,CAAC,KACzC,kBAAkB,CAAC,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,CAU3C,CAAC;AAEL;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwGG;AACH,wBAAgB,MAAM,CAAC,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC1D,KAAK,EAAE,KAAK,GACX,UAAU,CAAC,KAAK,CAAC,CAAC;AAErB,wBAAgB,MAAM,CACpB,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACrC,OAAO,SAAS,QAAQ,EACxB,IAAI,SAAS,MAAM,EACnB,QAAQ,SAAS,MAAM,EACvB,QAAQ,SAAS,SAAS,EAC1B,SAAS,SAAS,MAAM,EACxB,cAAc,SAAS,SAAS,EAChC,KAAK,SAAS,OAAO,EAErB,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,UAAU,CAChB,OAAO,EACP,IAAI,EACJ,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,cAAc,EACd,KAAK,CACN,GACA,oBAAoB,CACrB,KAAK,EACL,OAAO,EACP,IAAI,EACJ,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,cAAc,EACd,KAAK,CACN,CAAC;AA0JF;;;GAGG;AACH,MAAM,WAAW,UAAU,CAAC,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAC/D,SAAQ,IAAI,CACV,QAAQ,EACR,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EACxB,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAC5B,WAAW,CAAC;KAAG,CAAC,IAAI,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;CAAE,CAAC,EACzD,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAC7B,WAAW,CAAC;KAAG,CAAC,IAAI,MAAM,KAAK,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;CAAE,CAAC,CAChE;IACD,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;CACvB;AAED,KAAK,OAAO,CAAC,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,QAAQ,CAC5D;KACG,CAAC,IAAI,YAAY,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;CAChD,GAAG;KACD,CAAC,IAAI,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,SAAS,YAAY,CAAC,MAAM,CAAC,CAAC,GAC/D,SAAS,CAAC,CAAC,CAAC,GACZ,KAAK;CACV,CACF,CAAC;AAEF,KAAK,WAAW,CAAC,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,QAAQ,CAChE;KACG,CAAC,IAAI,YAAY,CAAC,KAAK,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;CACjD,GAAG;KACD,CAAC,IAAI,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,SAAS,YAAY,CAAC,MAAM,CAAC,CAAC,GAC/D,UAAU,CAAC,CAAC,CAAC,GACb,KAAK;CACV,CACF,CAAC;AAEF,KAAK,YAAY,CAAC,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,QAAQ,CACjE;KACG,CAAC,IAAI,YAAY,CAAC,KAAK,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;CAClD,GAAG;KACD,CAAC,IAAI,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,SAAS,YAAY,CAAC,MAAM,CAAC,CAAC,GAC/D,WAAW,CAAC,CAAC,CAAC,GACd,KAAK;CACV,CACF,CAAC;AAEF,KAAK,YAAY,CAAC,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,OAAO,CAChE,MAAM,KAAK,EACX,YAAY,CAAC,KAAK,CAAC,CACpB,CAAC;AAEF,KAAK,YAAY,CAAC,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI;KACxD,CAAC,IAAI,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,SAAS,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK;CACnE,CAAC,MAAM,KAAK,CAAC,CAAC;AAEf,MAAM,WAAW,WAAW,CAC1B,WAAW,SAAS,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CACzE,SAAQ,mBAAmB,CACzB,QAAQ,EACN;IAAE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAA;CAAE,GAC9B;IACE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;CACvC,GACD;IAAE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAAC,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;CAAE,CAC5E;CAAG;AAEN;;;;;GAKG;AACH,MAAM,MAAM,qBAAqB,CAAC,CAAC,SAAS,UAAU,CAAC,GAAG,CAAC,IACzD,CAAC,SAAS,UAAU,CAAC,MAAM,KAAK,CAAC,GAC7B,WAAW,CAAC;KAAG,CAAC,IAAI,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;CAAE,CAAC,GAC1D,KAAK,CAAC;AAEZ,eAAO,MAAM,iBAAiB,GAAI,KAAK,SAAS,SAAS,EACvD,iBAAiB,kBAAkB,CAAC,KAAK,CAAC,KACzC,kBAAkB,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAepD,CAAC;AAEL;;;GAGG;AACH,MAAM,WAAW,oBAAoB,CACnC,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACrC,OAAO,SAAS,QAAQ,EACxB,IAAI,SAAS,MAAM,EACnB,QAAQ,SAAS,MAAM,EACvB,QAAQ,SAAS,SAAS,EAC1B,SAAS,SAAS,MAAM,EACxB,cAAc,SAAS,SAAS,EAChC,KAAK,SAAS,OAAO,CACrB,SAAQ,IAAI,CACV,kBAAkB,EAClB,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,EACnE,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,GAC1B,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,EAC/C,qBAAqB,CACnB;KAAG,CAAC,IAAI,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;CAAE,EAC5C,QAAQ,EACR,UAAU,CAAC,KAAK,CAAC,CAClB,EACD,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,GAC3B,QAAQ,CAAC,MAAM,CAAC,SAAS,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,EACjD,qBAAqB,CACnB;KAAG,CAAC,IAAI,MAAM,KAAK,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;CAAE,EAClD,cAAc,EACd,gBAAgB,CAAC,KAAK,CAAC,CACxB,CACF;IACD,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,UAAU,CACzB,OAAO,EACP,IAAI,EACJ,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,cAAc,EACd,KAAK,CACN,CAAC;CACH;AAED,MAAM,WAAW,qBAAqB,CACpC,WAAW,SAAS,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,EACzE,QAAQ,SAAS,SAAS,GAAG,SAAS,EACtC,UAAU,SAAS,SAAS,GAAG,SAAS,CACxC,SAAQ,mBAAmB,CACzB,kBAAkB,EAChB;IAAE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAA;CAAE,GAC9B;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,WAAW,CAAC,CAAA;CAAE,GACjE;IACE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;CAC1B,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAC5B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;CAC5B,CACJ;CAAG;AAEN,eAAO,MAAM,2BAA2B,GAAI,KAAK,SAAS,SAAS,EACjE,iBAAiB,kBAAkB,CAAC,KAAK,CAAC,KACzC,kBAAkB,CACnB,qBAAqB,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAiBxD,CAAC;AAEL;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,KAAK,CACnB,OAAO,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC,EAC7D,GAAG,OAAO,EAAE,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;AAE3C,wBAAgB,KAAK,CACnB,QAAQ,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC,EAE9D,GAAG,QAAQ,EAAE,QAAQ,GACpB,SAAS,CAAC;KACV,CAAC,IAAI,MAAM,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;CAChD,CAAC,CAAC;AA4CH;;;GAGG;AACH,MAAM,WAAW,SAAS,CAAC,OAAO,SAAS,CAAC,OAAO,EAAE,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC,CAC7E,SAAQ,IAAI,CACV,OAAO,EACP,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,EAC1B,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,EAC3B,UAAU,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EACxC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,EAC3B,KAAK,CACN;IACD,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,UAAU,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS,CACzD,SAAQ,SAAS,CAAC,OAAO,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;CAC3B;AAED,eAAO,MAAM,gBAAgB,GAAI,KAAK,SAAS,SAAS,EACtD,iBAAiB,kBAAkB,CAAC,KAAK,CAAC,KACzC,kBAAkB,CAAC,UAAU,CAAC,KAAK,CAAC,CAOnC,CAAC;AAEL,eAAO,MAAM,WAAW,GACtB,GAAG,OAAO,KACT,CAAC,IAAI,SAAS,CAAC,CAAC,OAAO,EAAE,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC,CACqB,CAAC;AAE5E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,eAAO,MAAM,SAAS,GAAI,UAAU,SAAS,OAAO,EAClD,QAAQ,MAAM,UAAU,KACvB,aAAa,CAAC,UAAU,CA+B1B,CAAC;AAEF,MAAM,WAAW,aAAa,CAAC,UAAU,SAAS,OAAO,CACvD,SAAQ,IAAI,CACV,WAAW,EACX,SAAS,CAAC,UAAU,CAAC,EACrB,UAAU,CAAC,UAAU,CAAC,EACtB,UAAU,CAAC,UAAU,CAAC,EACtB,WAAW,CAAC,UAAU,CAAC,EACvB,gBAAgB,CAAC,UAAU,CAAC,CAC7B;IACD,aAAa,IAAI,UAAU,CAAC;CAC7B;AAED;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,MAAM,GAAI,CAAC,SAAS,OAAO,EACtC,MAAM,CAAC,KACN,SAAS,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAsB,CAAC;AAEpD;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,WAAW,GAAI,CAAC,SAAS,OAAO,EAC3C,MAAM,CAAC,KACN,SAAS,CAAC,CAAC,OAAO,SAAS,EAAE,CAAC,CAAC,CAA2B,CAAC;AAE9D;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,SAAS,GAAI,CAAC,SAAS,OAAO,EACzC,MAAM,CAAC,KACN,SAAS,CAAC,CAAC,OAAO,SAAS,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC,CACjB,CAAC;AAE/B;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,KAAK,GAAI,QAAQ,SAAS,CAAC,OAAO,EAAE,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC,EACzE,GAAG,UAAU,QAAQ,KACpB,SAAS,CAAC,QAAQ,CA0EpB,CAAC;AAEF;;;GAGG;AACH,MAAM,WAAW,SAAS,CACxB,QAAQ,SAAS,SAAS,CAAC,OAAO,EAAE,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC,CAC9D,SAAQ,IAAI,CACV,OAAO,EACP,SAAS,CAAC,GAAG;KAAG,CAAC,IAAI,MAAM,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;CAAE,CAAC,EAC/D,SAAS,CAAC,GAAG;KAAG,CAAC,IAAI,MAAM,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;CAAE,CAAC,EAChE,UAAU,CAAC;KAAG,CAAC,IAAI,MAAM,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;CAAE,CAAC,MAAM,CAAC,CAAC,EACtE,SAAS,CAAC,GAAG;KAAG,CAAC,IAAI,MAAM,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;CAAE,CAAC,EACjE,UAAU,CAAC;KAAG,CAAC,IAAI,MAAM,QAAQ,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;CAAE,CAAC,MAAM,CAAC,CAAC,CAC7E;IACD,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;CAC7B;AAED,MAAM,WAAW,UAAU,CAAC,YAAY,SAAS,SAAS,GAAG,SAAS,CACpE,SAAQ,mBAAmB,CACzB,OAAO,EACL;IAAE,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAC7D;IACE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;CAC9B,CACJ;CAAG;AAEN,eAAO,MAAM,gBAAgB,GAAI,KAAK,SAAS,SAAS,EACtD,iBAAiB,kBAAkB,CAAC,KAAK,CAAC,KACzC,kBAAkB,CAAC,UAAU,CAAC,KAAK,CAAC,CAQnC,CAAC;AAEL;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,KAAK,+GAIjB,CAAC;AACF,MAAM,MAAM,KAAK,GAAG,OAAO,KAAK,CAAC,IAAI,CAAC;AACtC,MAAM,WAAW,UAAW,SAAQ,SAAS,CAAC,OAAO,CAAC;CAAG;AAEzD,eAAO,MAAM,gBAAgB,gCAG5B,CAAC;AAsBF;;;;GAIG;AACH,eAAO,MAAM,WAAW,mPASvB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG,OAAO,WAAW,CAAC,IAAI,CAAC;AAElD,MAAM,WAAW,gBAAiB,SAAQ,SAAS,CAAC,aAAa,CAAC;CAAG;AAErE,eAAO,MAAM,sBAAsB,sCAGhC,CAAC;AAEJ,MAAM,MAAM,SAAS,GACjB,MAAM,GACN,YAAY,GACZ,OAAO,GACP,IAAI,GACJ,SAAS,GACT,UAAU,CAAC;AAEf,MAAM,MAAM,cAAc,GACtB,MAAM,GACN,MAAM,GACN,OAAO,GACP,IAAI,GACJ,cAAc,GACd,eAAe,CAAC;AAEpB,MAAM,MAAM,cAAc,GAAG,UAAU,CACnC,WAAW,GACX,YAAY,GACZ,SAAS,GACT,WAAW,GACX,WAAW,GACX,UAAU,CAAC,cAAc,CAAC,GAC1B,WAAW,CAAC,WAAW,EAAE,cAAc,CAAC,CAC3C,CAAC;AAEF,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC;CACnC;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,cAAc,CAAC;CACxC;AAED,MAAM,MAAM,SAAS,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;AACjD,MAAM,MAAM,cAAc,GAAG,aAAa,CAAC,cAAc,CAAC,CAAC;AAE3D;;;;;GAKG;AACH,eAAO,MAAM,SAAS,4lBAmCrB,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,SAAS,umBAAmB,CAAC;AAE1C;;;;GAIG;AACH,eAAO,MAAM,UAAU,oqBAA4B,CAAC;AAEpD,eAAO,MAAM,SAAS,GAAI,OAAO,MAAM,KAAG,MAAM,CAAC,SAAS,EAAE,SAAS,CAQlE,CAAC;AAEJ;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,IAAI,6GAIf,CAAC;AAEH,MAAM,MAAM,IAAI,GAAG,OAAO,IAAI,CAAC,IAAI,CAAC;AAEpC,MAAM,WAAW,SAAU,SAAQ,SAAS,CAAC,MAAM,CAAC;IAClD,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,eAAO,MAAM,eAAe,+BAE3B,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,OAAO,SAAS,KAAG,IACpB,CAAC;AAEhC,eAAO,MAAM,eAAe,GAAI,OAAO,IAAI,KAAG,SACd,CAAC;AAEjC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,eAAO,MAAM,IAAI,GAAI,CAAC,SAAS,OAAO,EAAE,IAAI,SAAS,QAAQ,EAC3D,MAAM,CAAC,EACP,MAAM,IAAI,KACT,CACD,SAAS,CAAC,OAAO,MAAM,EAAE,IAAI,EAAE,SAAS,GAAG,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,EACvE,CACE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,KAChB,SAAS,CACZ,SAAS,CAAC,OAAO,MAAM,EAAE,IAAI,EAAE,SAAS,GAAG,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CACxE,EACD,CACE,KAAK,EAAE,SAAS,CACd,SAAS,CAAC,OAAO,MAAM,EAAE,IAAI,EAAE,SAAS,GAAG,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CACxE,KACE,SAAS,CAAC,CAAC,CAAC,CAiBlB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,QAAQ,GAAI,CAAC,SAAS,OAAO,EAAE,MAAM,CAAC,KAAG,YAAY,CAAC,CAAC,CAMlE,CAAC;AAEH,MAAM,WAAW,YAAY,CAAC,CAAC,SAAS,OAAO,CAC7C,SAAQ,IAAI,CACV,UAAU,EACV,SAAS,CAAC,CAAC,CAAC,EACZ,UAAU,CAAC,CAAC,CAAC,EACb,UAAU,CAAC,CAAC,CAAC,EACb,WAAW,CAAC,CAAC,CAAC,EACd,gBAAgB,CAAC,CAAC,CAAC,CACpB;IACD,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;CACpB;AAED,6DAA6D;AAC7D,eAAO,MAAM,cAAc,GAAI,GAAG,OAAO,KAAG,CAAC,IAAI,YAAY,CAAC,GAAG,CACW,CAAC;AAE7E;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,eAAO,MAAM,OAAO,GAAI,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC3D,OAAO,KAAK,KACX,UAAU,CAAC,GAAG,CAAC,IAAI,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAE,CAQ3D,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,kBAAkB,GAAI,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACtE,OAAO,KAAK,KACX,UAAU,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAc3C,CAAC;AAEF,MAAM,MAAM,uBAAuB,CAAC,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI;KAC1E,CAAC,IAAI,MAAM,KAAK,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;CAChD,CAAC;AAEF,MAAM,MAAM,iBAAiB,CAAC,CAAC,SAAS,OAAO,IAC7C,eAAe,CAAC,CAAC,CAAC,SAAS,IAAI,GAAG,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AAExD,MAAM,MAAM,eAAe,CAAC,CAAC,SAAS,OAAO,IAC3C,CAAC,SAAS,SAAS,CAAC,MAAM,OAAO,CAAC,GAC9B,OAAO,SAAS,CAAC,OAAO,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,GAC1C,iBAAiB,CAAC,OAAO,CAAC,GAC1B,KAAK,GACP,KAAK,CAAC;AAEZ,MAAM,MAAM,iBAAiB,CAAC,OAAO,SAAS,CAAC,OAAO,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,IACxE,OAAO,SAAS,CAAC,MAAM,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,GACvC,IAAI,SAAS,OAAO,IAAI,GACtB,IAAI,GACJ,IAAI,SAAS,CAAC,OAAO,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,GACvC,iBAAiB,CAAC,IAAI,CAAC,GACvB,KAAK,GACT,KAAK,CAAC;AAEZ;;;;GAIG;AACH,wBAAgB,IAAI,CAAC,CAAC,SAAS,UAAU,CAAC,GAAG,CAAC,EAAE,IAAI,SAAS,MAAM,CAAC,CAAC,OAAO,CAAC,EAC3E,UAAU,EAAE,CAAC,EACb,GAAG,IAAI,EAAE,aAAa,CAAC,IAAI,CAAC,GAC3B,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,CAAC,CAUpC;AAED,eAAO,MAAM,eAAe,SAAS,CAAC;AAEtC;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,GAAI,CAAC,SAAS,OAAO,EACjD,MAAM,CAAC,KACN,SAAS,CAAC,CAAC,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,WAAW,CAAC,CAAC,CAAC,CAKxE,CAAC;AAEJ,MAAM,WAAW,sBACf,SAAQ,SAAS,CAAC,mBAAmB,CAAC;CAAG;AAE3C,eAAO,MAAM,4BAA4B,4CAItC,CAAC;AAEJ,MAAM,MAAM,iBAAiB,CAAC,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IACjE,SAAS,CACP,UAAU,CAAC,KAAK,CAAC,EACjB,mBAAmB,EACnB,sBAAsB,EACtB,WAAW,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAC/B,CAAC;AAEJ;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,UAAU,CAAC,WAAW,SAAS,SAAS,GAAG,KAAK,IACxD,WAAW,GACX,WAAW,GACX,WAAW,GACX,YAAY,GACZ,cAAc,GACd,SAAS,GACT,aAAa,GACb,eAAe,GACf,eAAe,GACf,cAAc,GACd,iBAAiB,GACjB,YAAY,GACZ,YAAY,GACZ,cAAc,GACd,cAAc,GACd,WAAW,GACX,aAAa,GACb,UAAU,GACV,mBAAmB,GACnB,OAAO,GACP,YAAY,GACZ,aAAa,GACb,aAAa,GACb,gBAAgB,GAChB,gBAAgB,GAChB,QAAQ,GACR,gBAAgB,GAChB,aAAa,GACb,yBAAyB,GACzB,sBAAsB,GACtB,WAAW,GACX,WAAW,GACX,eAAe,GACf,YAAY,GACZ,YAAY,GACZ,UAAU,GACV,gBAAgB,GAChB,SAAS,GACT,sBAAsB,GACtB,WAAW,GAEX,UAAU,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,GACnC,WAAW,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC,GAC7D,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,GACpD,qBAAqB,CACnB,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC,EACvC,UAAU,CAAC,WAAW,CAAC,EACvB,UAAU,CAAC,WAAW,CAAC,CACxB,GACD,UAAU,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,GACnC,UAAU,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC;AAExC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+EG;AACH,eAAO,MAAM,qBAAqB,GAAI,WAAW,SAAS,SAAS,GAAG,KAAK,EACzE,iBAAiB,kBAAkB,CAAC,WAAW,CAAC,KAC/C,kBAAkB,CAAC,UAAU,CAAC,WAAW,CAAC,CA+G5C,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,+BAA+B,GAC1C,WAAW,SAAS,SAAS,GAAG,KAAK,EAErC,OAAO,UAAU,CAAC,WAAW,CAAC,EAC9B,iBAAiB,kBAAkB,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,EAC5D,OAAM,aAAa,CAAC,WAAW,CAAM,KACpC,aAAa,CAAC,gBAAgB,CAAC,KAAK,CAgHtC,CAAC;AAEF,qCAAqC;AACrC,MAAM,WAAW,gBAAgB,CAAC,KAAK,GAAG,OAAO,EAAE,MAAM,GAAG,KAAK;IAC/D,sCAAsC;IACtC,QAAQ,CAAC,WAAW,EAAE,gBAAgB,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;CAC7D;AAGD,MAAM,CAAC,OAAO,WAAW,gBAAgB,CAAC;IACxC,gDAAgD;IAChD,UAAiB,KAAK,CAAC,KAAK,GAAG,OAAO,EAAE,MAAM,GAAG,KAAK;QACpD,0CAA0C;QAC1C,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;QACpB,6CAA6C;QAC7C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QACxB,sCAAsC;QACtC,QAAQ,CAAC,QAAQ,EAAE,CACjB,KAAK,EAAE,OAAO,KACX,MAAM,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;QAC9C,iDAAiD;QACjD,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC;KACnD;IAED,qDAAqD;IACrD,KAAY,MAAM,CAAC,MAAM,IAAI,aAAa,CAAC,MAAM,CAAC,GAAG,aAAa,CAAC;IAEnE,mDAAmD;IACnD,UAAiB,aAAa,CAAC,MAAM;QACnC,8BAA8B;QAC9B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QACvB,+BAA+B;QAC/B,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC;KAC7B;IAED,gDAAgD;IAChD,UAAiB,aAAa;QAC5B,uCAAuC;QACvC,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC;KACvC;IAED,iDAAiD;IACjD,UAAiB,KAAK;QACpB,sCAAsC;QACtC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QACzB,qCAAqC;QACrC,QAAQ,CAAC,IAAI,CAAC,EAAE,aAAa,CAAC,WAAW,GAAG,WAAW,CAAC,GAAG,SAAS,CAAC;KACtE;IAED,+CAA+C;IAC/C,UAAiB,WAAW;QAC1B,2CAA2C;QAC3C,QAAQ,CAAC,GAAG,EAAE,WAAW,CAAC;KAC3B;IAED,2CAA2C;IAC3C,UAAiB,KAAK,CAAC,KAAK,GAAG,OAAO,EAAE,MAAM,GAAG,KAAK;QACpD,oCAAoC;QACpC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;QACtB,qCAAqC;QACrC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;KACzB;IAED,kDAAkD;IAClD,KAAY,UAAU,CAAC,MAAM,SAAS,gBAAgB,IAAI,WAAW,CACnE,MAAM,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,CAC7B,CAAC,OAAO,CAAC,CAAC;IAEX,mDAAmD;IACnD,KAAY,WAAW,CAAC,MAAM,SAAS,gBAAgB,IAAI,WAAW,CACpE,MAAM,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,CAC7B,CAAC,QAAQ,CAAC,CAAC;CACb"}
|
|
1
|
+
{"version":3,"file":"Type.d.ts","sourceRoot":"","sources":["../../src/Type.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkLG;AAOH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAGlD,OAAO,EAAkC,MAAM,EAAW,MAAM,aAAa,CAAC;AAE9E,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAGlE,MAAM,WAAW,IAAI,CACnB,IAAI,SAAS,QAAQ;AACrB,sCAAsC;AACtC,CAAC;AACD,qDAAqD;AACrD,KAAK;AACL,kDAAkD;AAClD,KAAK,SAAS,SAAS,GAAG,KAAK;AAC/B,uBAAuB;AACvB,MAAM,GAAG,CAAC;AACV,0BAA0B;AAC1B,WAAW,SAAS,SAAS,GAAG,KAAK,CACrC,SAAQ,gBAAgB,CAAC,KAAK,EAAE,CAAC,CAAC;IAClC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IAEpB;;;;;;OAMG;IACH,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,MAAM,CAAC,CAAC,EAAE,WAAW,GAAG,KAAK,CAAC,CAAC;IAEhE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6CG;IACH,QAAQ,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,CAAC,CAAC;IAEtC;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IACH,QAAQ,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,CAAC,GAAG,IAAI,CAAC;IAE5C;;;;OAIG;IACH,QAAQ,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,MAAM,CAAC,CAAC,EAAE,WAAW,GAAG,KAAK,CAAC,CAAC;IAEzE;;;;;OAKG;IACH,QAAQ,CAAC,UAAU,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IAEzD;;;;;;;;;;;;;;;;;;OAkBG;IACH,QAAQ,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,KAAK,IAAI,CAAC,CAAC;IAE5C,QAAQ,CAAC,CAAC,eAAe,CAAC,EAAE,IAAI,CAAC;IAEjC;;;;;;;;OAQG;IACH,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IAEjB;;;;;;;;OAQG;IACH,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IAEtB;;;;;;;;OAQG;IACH,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IAEtB;;;;;;;;OAQG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAExB;;;;;;;;OAQG;IACH,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAElC;;;;;;OAMG;IACH,QAAQ,CAAC,MAAM,EAAE,KAAK,GAAG,WAAW,CAAC;CACtC;AAED;;;;GAIG;AACH,MAAM,MAAM,QAAQ,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;AAE1C,MAAM,WAAW,SAAS,CAAC,IAAI,SAAS,QAAQ,GAAG,QAAQ;IACzD,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IAEpB;;;OAGG;IACH,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,mBAAmB,CAClC,IAAI,SAAS,QAAQ,GAAG,QAAQ,EAChC,MAAM,SAAS;IAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC,CAAA;CAAE,GAAG;IACrD,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;CACnC,CACD,SAAQ,SAAS,CAAC,IAAI,CAAC;IACvB,wEAAwE;IACxE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AAEzD;;;;GAIG;AACH,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS,OAAO,IACrC,CAAC,SAAS,IAAI,CAAC,MAAM,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC;AAErE;;;;GAIG;AACH,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS,OAAO,IACrC,CAAC,SAAS,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAE/D;;;;GAIG;AACH,MAAM,MAAM,UAAU,CAAC,CAAC,SAAS,OAAO,IACtC,CAAC,SAAS,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,KAAK,GAAG,KAAK,CAAC;AAEvE;;;;GAIG;AACH,MAAM,MAAM,UAAU,CAAC,CAAC,SAAS,OAAO,IACtC,CAAC,SAAS,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,KAAK,GAAG,KAAK,CAAC;AAEvE;;;;GAIG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,OAAO,IACvC,CAAC,SAAS,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,GAAG,KAAK,CAAC;AAEzE;;;;GAIG;AACH,MAAM,MAAM,gBAAgB,CAAC,CAAC,SAAS,OAAO,IAC5C,CAAC,SAAS,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC,GACtD,WAAW,GACX,KAAK,CAAC;AAEZ;;;;GAIG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,OAAO,IACvC,CAAC,SAAS,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,KAAK,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC,GAC9D,KAAK,GAAG,WAAW,GACnB,KAAK,CAAC;AAEZ,QAAA,MAAM,eAAe,eAAuB,CAAC;AAE7C;;;;GAIG;AACH,eAAO,MAAM,MAAM,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,OACwB,CAAC;AAgE1E;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,wBAAwB,GAClC,KAAK,SAAS,SAAS,EACtB,QAAQ,CACN,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,KACtD,MAAM,KACV,kBAAkB,CAAC,KAAK,CAE4C,CAAC;AAE1E,MAAM,MAAM,kBAAkB,CAAC,KAAK,SAAS,SAAS,IAAI,CACxD,KAAK,EAAE,KAAK,KACT,MAAM,CAAC;AAEZ;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,IAAI,GAAI,IAAI,SAAS,QAAQ,EAAE,CAAC,EAAE,KAAK,SAAS,SAAS,EACpE,MAAM,IAAI,EACV,aAAa,CAAC,KAAK,EAAE,OAAO,KAAK,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,KAChD,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,CAIrB,CAAC;AAEL;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,4BAA4B,GACvC,KAAK,SAAS,SAAS,OACpB,kBAAkB,CAAC,KAAK,CAG1B,CAAC;AAEJ,2BAA2B;AAC3B,eAAO,MAAM,OAAO,0DAAiD,CAAC;AAEtE;;;GAGG;AACH,eAAO,MAAM,MAAM,kEAIlB,CAAC;AAEF,MAAM,WAAW,WAAY,SAAQ,SAAS,CAAC,QAAQ,CAAC;CAAG;AAE3D,eAAO,MAAM,iBAAiB,iCAA8C,CAAC;AAE7E,2BAA2B;AAC3B,eAAO,MAAM,MAAM,kEAIlB,CAAC;AAEF,MAAM,WAAW,WAAY,SAAQ,SAAS,CAAC,QAAQ,CAAC;CAAG;AAE3D,eAAO,MAAM,iBAAiB,iCAA8C,CAAC;AAE7E,2BAA2B;AAC3B,eAAO,MAAM,MAAM,kEAIlB,CAAC;AAEF,MAAM,WAAW,WAAY,SAAQ,SAAS,CAAC,QAAQ,CAAC;CAAG;AAE3D,eAAO,MAAM,iBAAiB,iCAA8C,CAAC;AAE7E,2BAA2B;AAC3B,eAAO,MAAM,OAAO,wEAInB,CAAC;AAEF,MAAM,WAAW,YAAa,SAAQ,SAAS,CAAC,SAAS,CAAC;CAAG;AAE7D,eAAO,MAAM,kBAAkB,kCAA+C,CAAC;AAE/E,2BAA2B;AAC3B,eAAO,MAAM,SAAS,oFAIrB,CAAC;AAEF,MAAM,WAAW,cAAe,SAAQ,SAAS,CAAC,WAAW,CAAC;CAAG;AAEjE,eAAO,MAAM,oBAAoB,oCACe,CAAC;AAEjD,2BAA2B;AAC3B,eAAO,MAAM,IAAI,sDAEhB,CAAC;AAEF,MAAM,WAAW,SAAU,SAAQ,SAAS,CAAC,MAAM,CAAC;CAAG;AAEvD,eAAO,MAAM,eAAe,+BAA4C,CAAC;AAEzE,2BAA2B;AAC3B,eAAO,MAAM,QAAQ,8EAIpB,CAAC;AAEF,MAAM,WAAW,aAAc,SAAQ,SAAS,CAAC,UAAU,CAAC;CAAG;AAE/D,eAAO,MAAM,mBAAmB,mCACe,CAAC;AAEhD,2BAA2B;AAC3B,eAAO,MAAM,UAAU,6IAItB,CAAC;AAEF,MAAM,WAAW,eAAgB,SAAQ,SAAS,CAAC,YAAY,CAAC;CAAG;AAEnE,eAAO,MAAM,qBAAqB,qCACe,CAAC;AAElD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,UAAU,GAAI,CAAC,SAAS,QAAQ,MAAM,GAAG,IAAI,EAAE,GAAG,KAAK,GAAG,EACrE,MAAM,CAAC,KACN,cAAc,CAAC,CAAC,CAOjB,CAAC;AAEH,MAAM,WAAW,eAAgB,SAAQ,SAAS,CAAC,YAAY,CAAC;IAC9D,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,cAAc,CAAC,CAAC,SAAS,QAAQ,MAAM,GAAG,IAAI,EAAE,GAAG,KAAK,GAAG,CAC1E,SAAQ,IAAI,CACV,YAAY,EACZ,YAAY,CAAC,CAAC,CAAC,EACf,YAAY,CAAC,CAAC,CAAC,EACf,eAAe,CAChB;IACD,IAAI,EAAE,CAAC,CAAC;CACT;AAED,eAAO,MAAM,qBAAqB,qCAEjC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,IAAI,iCAA8B,CAAC;AAEhD;;;;;;;;;;GAUG;AAEH,eAAO,MAAM,SAAS,8EAOrB,CAAC;AAEF,MAAM,WAAW,cAAe,SAAQ,SAAS,CAAC,WAAW,CAAC;CAAG;AAEjE,eAAO,MAAM,iBAAiB,oCAE7B,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgIG;AACH,wBAAgB,KAAK,CACnB,IAAI,SAAS,QAAQ,EACrB,UAAU,SAAS,OAAO,EAC1B,MAAM,GAAG,SAAS,CAAC,UAAU,CAAC,EAC9B,WAAW,SAAS,SAAS,GAAG,KAAK,EAErC,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,UAAU,EAClB,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,GACrD,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC;AAErE,wBAAgB,KAAK,CAAC,IAAI,SAAS,QAAQ,EAAE,UAAU,SAAS,OAAO,EACrE,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,UAAU,GACjB,SAAS,CACV,UAAU,EACV,IAAI,EACJ,uBAAuB,CAAC,IAAI,EAAE,WAAW,CAAC,UAAU,CAAC,CAAC,CACvD,CAAC;AAuCF,MAAM,WAAW,SAAS,CACxB,UAAU,SAAS,OAAO,EAC1B,IAAI,SAAS,QAAQ,EACrB,KAAK,SAAS,SAAS,GAAG,KAAK,EAC/B,WAAW,SAAS,SAAS,GAAG,KAAK,CACrC,SAAQ,IAAI,CACV,OAAO,EACP,SAAS,CAAC,UAAU,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,EACnC,UAAU,CAAC,UAAU,CAAC,EACtB,KAAK,EACL,SAAS,CAAC,UAAU,CAAC,EACrB,WAAW,CACZ;IACD,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC;IACrB,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;CACjC;AAED,MAAM,WAAW,uBAAuB,CACtC,IAAI,SAAS,QAAQ,EACrB,WAAW,SAAS,SAAS,CAC7B,SAAQ,SAAS,CAAC,IAAI,CAAC;IACvB,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;CACnC;AAED;;;;GAIG;AACH,eAAO,MAAM,YAAY,6HAIxB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,OAAO,YAAY,CAAC,IAAI,CAAC;AAEpD,MAAM,WAAW,iBAAkB,SAAQ,SAAS,CAAC,cAAc,CAAC;CAAG;AAEvE,eAAO,MAAM,uBAAuB,uCAGjC,CAAC;AAEJ;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,OAAO,mHAclB,CAAC;AAEH,MAAM,MAAM,OAAO,GAAG,OAAO,OAAO,CAAC,IAAI,CAAC;AAE1C,MAAM,WAAW,YAAa,SAAQ,SAAS,CAAC,SAAS,CAAC;CAAG;AAE7D,eAAO,MAAM,kBAAkB,kCAE9B,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,OAAO,IAAI,KAAG,MAAM,CAAC,OAAO,EAAE,YAAY,CAC/B,CAAC;AAE1C,eAAO,MAAM,aAAa,GAAI,OAAO,OAAO,KAAG,IACnB,CAAC;AAE7B;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,MAAM,YAAY,CACtB,IAAI,SAAS,QAAQ,EACrB,KAAK,EACL,WAAW,SAAS,SAAS,IAC3B,CACF,KAAK,SAAS,QAAQ,EACtB,CAAC,SAAS,KAAK,EACf,MAAM,EACN,OAAO,EACP,MAAM,SAAS,SAAS,GAAG,KAAK,EAChC,YAAY,SAAS,SAAS,GAAG,KAAK,EAEtC,MAAM,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,CAAC,KAC1D,SAAS,CACZ,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,CAAC,EACrD,IAAI,EACJ,WAAW,EACX,MAAM,GAAG,YAAY,CACtB,CAAC;AAEF;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,OAAO,EAAE,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,YAAY,CAO/D,CAAC;AAEJ,MAAM,WAAW,YAAa,SAAQ,SAAS,CAAC,SAAS,CAAC;CAAG;AAE7D,eAAO,MAAM,kBAAkB,kCAE9B,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,aAAa,mHAAkB,CAAC;AAC7C,MAAM,MAAM,aAAa,GAAG,OAAO,aAAa,CAAC,IAAI,CAAC;AAEtD,eAAO,MAAM,IAAI,GAAI,OAAO,MAAM,KAAG,aACN,CAAC;AAEhC;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,SAAS,EAAE,CAAC,GAAG,SAAS,MAAM,EACzC,GAAG,EAAE,GAAG,KACL,YAAY,CAAC,YAAY,GAAG,EAAE,EAAE;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,EAAE,cAAc,CAAC,GAAG,CAAC,CAIvE,CAAC;AAEN,MAAM,WAAW,cAAc,CAAC,GAAG,SAAS,MAAM,GAAG,MAAM,CACzD,SAAQ,SAAS,CAAC,WAAW,CAAC;IAC9B,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC;CACnB;AAED,eAAO,MAAM,oBAAoB,4CAGhC,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,SAAS,EAAE,CAAC,GAAG,SAAS,MAAM,EACzC,GAAG,EAAE,GAAG,KACL,YAAY,CAAC,YAAY,GAAG,EAAE,EAAE;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,EAAE,cAAc,CAAC,GAAG,CAAC,CAIvE,CAAC;AAEN,MAAM,WAAW,cAAc,CAAC,GAAG,SAAS,MAAM,GAAG,MAAM,CACzD,SAAQ,SAAS,CAAC,WAAW,CAAC;IAC9B,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC;CACnB;AAED,eAAO,MAAM,oBAAoB,4CAGhC,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,MAAM,EAAE,CAAC,KAAK,SAAS,MAAM,EACxC,KAAK,EAAE,KAAK,KACT,YAAY,CAAC,SAAS,KAAK,EAAE,EAAE;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,EAAE,WAAW,CAAC,KAAK,CAAC,CAMrE,CAAC;AAEN,MAAM,WAAW,WAAW,CAAC,KAAK,SAAS,MAAM,GAAG,MAAM,CACxD,SAAQ,SAAS,CAAC,QAAQ,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;CACvB;AAED,eAAO,MAAM,iBAAiB,yCAG7B,CAAC;AAEF,uBAAuB;AACvB,eAAO,MAAM,cAAc,2HAAuB,CAAC;AACnD,MAAM,MAAM,cAAc,GAAG,OAAO,cAAc,CAAC,IAAI,CAAC;AAExD,uBAAuB;AACvB,eAAO,MAAM,SAAS,+HAAyB,CAAC;AAChD,MAAM,MAAM,SAAS,GAAG,OAAO,SAAS,CAAC,IAAI,CAAC;AAE9C,uBAAuB;AACvB,eAAO,MAAM,UAAU,iIAA0B,CAAC;AAClD,MAAM,MAAM,UAAU,GAAG,OAAO,UAAU,CAAC,IAAI,CAAC;AAEhD,uBAAuB;AACvB,eAAO,MAAM,iBAAiB,gLAA0B,CAAC;AACzD,MAAM,MAAM,iBAAiB,GAAG,OAAO,iBAAiB,CAAC,IAAI,CAAC;AAE9D,uBAAuB;AACvB,eAAO,MAAM,kBAAkB,mLAA2B,CAAC;AAC3D,MAAM,MAAM,kBAAkB,GAAG,OAAO,kBAAkB,CAAC,IAAI,CAAC;AAEhE,uBAAuB;AACvB,eAAO,MAAM,qBAAqB,6JAA8B,CAAC;AACjE,MAAM,MAAM,qBAAqB,GAAG,OAAO,qBAAqB,CAAC,IAAI,CAAC;AAEtE,uBAAuB;AACvB,eAAO,MAAM,gBAAgB,iKAAgC,CAAC;AAC9D,MAAM,MAAM,gBAAgB,GAAG,OAAO,gBAAgB,CAAC,IAAI,CAAC;AAE5D,uBAAuB;AACvB,eAAO,MAAM,iBAAiB,mKAAiC,CAAC;AAChE,MAAM,MAAM,iBAAiB,GAAG,OAAO,iBAAiB,CAAC,IAAI,CAAC;AAE9D,uBAAuB;AACvB,eAAO,MAAM,wBAAwB,oPAAiC,CAAC;AACvE,MAAM,MAAM,wBAAwB,GAAG,OAAO,wBAAwB,CAAC,IAAI,CAAC;AAE5E,uBAAuB;AACvB,eAAO,MAAM,yBAAyB,uPAAkC,CAAC;AACzE,MAAM,MAAM,yBAAyB,GAAG,OAAO,yBAAyB,CAAC,IAAI,CAAC;AAE9E;;;;;;;;GAQG;AACH,eAAO,MAAM,QAAQ,mPAIpB,CAAC;AACF,MAAM,MAAM,QAAQ,GAAG,OAAO,QAAQ,CAAC,IAAI,CAAC;AAE5C,MAAM,WAAW,aAAc,SAAQ,SAAS,CAAC,UAAU,CAAC;CAAG;AAE/D,eAAO,MAAM,mBAAmB,mCAE/B,CAAC;AAEF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,KAAK,EAAE,CAAC,IAAI,SAAS,QAAQ,EACxC,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,MAAM,KACZ,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC,CAY/C,CAAC;AAEF,MAAM,WAAW,UAAU,CAAC,IAAI,SAAS,QAAQ,GAAG,QAAQ,CAC1D,SAAQ,SAAS,CAAC,OAAO,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IACpB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,eAAO,MAAM,gBAAgB,oDAG5B,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,eAAO,MAAM,aAAa,wIAAqD,CAAC;AAChF,MAAM,MAAM,aAAa,GAAG,OAAO,aAAa,CAAC,IAAI,CAAC;AACtD,MAAM,MAAM,kBAAkB,GAAG,OAAO,aAAa,CAAC,KAAK,CAAC;AAE5D;;;;;;;GAOG;AACH,eAAO,MAAM,SAAS,uHAmBrB,CAAC;AACF,MAAM,MAAM,SAAS,GAAG,OAAO,SAAS,CAAC,IAAI,CAAC;AAC9C,MAAM,WAAW,cAAe,SAAQ,SAAS,CAAC,WAAW,CAAC;CAAG;AAEjE,eAAO,MAAM,oBAAoB,oCAEhC,CAAC;AAIF,0DAA0D;AAC1D,eAAO,MAAM,qBAAqB,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,SAkBlD,CAAC;AAEV,0DAA0D;AAC1D,eAAO,MAAM,qBAAqB,EAAE,CAAC,GAAG,EAAE,SAAS,KAAK,UAuB/C,CAAC;AAEV;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,UAAU,6NAItB,CAAC;AACF,MAAM,MAAM,UAAU,GAAG,OAAO,UAAU,CAAC,IAAI,CAAC;AAChD,MAAM,WAAW,eAAgB,SAAQ,SAAS,CAAC,YAAY,CAAC;CAAG;AAEnE;;;;GAIG;AACH,eAAO,MAAM,cAAc,qYAG1B,CAAC;AACF,MAAM,MAAM,cAAc,GAAG,OAAO,cAAc,CAAC,IAAI,CAAC;AAExD,MAAM,MAAM,mBAAmB,GAAG,OAAO,cAAc,CAAC,KAAK,CAAC;AAE9D,eAAO,MAAM,yBAAyB,GACpC,iBAAiB,kBAAkB,CACjC,WAAW,GAAG,cAAc,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC,EAAE,CAAC,GAAG,YAAY,CACpE,KACA,kBAAkB,CAAC,mBAAmB,CAGtC,CAAC;AAEJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,eAAO,MAAM,EAAE,yGAId,CAAC;AACF,MAAM,MAAM,EAAE,GAAG,OAAO,EAAE,CAAC,IAAI,CAAC;AAEhC,MAAM,WAAW,OAAQ,SAAQ,SAAS,CAAC,IAAI,CAAC;CAAG;AAEnD,eAAO,MAAM,aAAa,6BAEzB,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,QAAQ,GAAI,CAAC,SAAS,MAAM,GAAG,KAAK,EAC/C,MAAM,cAAc,KACnB,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,KAAK,CAAC,CAAC,CAKvB,CAAC;AAEpB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,eAAO,MAAM,kBAAkB,GAAI,CAAC,SAAS,MAAM,GAAG,KAAK,EACzD,OAAO,MAAM,KACZ,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,KAAK,CAAC,CAAC,CAMzC,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,EAAE,GAAI,KAAK,SAAS,QAAQ,EAAE,OAAO,KAAK,KAAG,OAAO,CAAC,KAAK,CAmBtE,CAAC;AAEF,MAAM,WAAW,OAAO,CAAC,KAAK,SAAS,QAAQ,CAC7C,SAAQ,IAAI,CACV,IAAI,EACJ,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,EACnC,MAAM,EACN,YAAY,CAAC,KAAK,CAAC,EACnB,MAAM,EACN,WAAW,CACZ;IACD,KAAK,EAAE,KAAK,CAAC;CACd;AAED,MAAM,WAAW,YAAY,CAAC,KAAK,SAAS,QAAQ,GAAG,QAAQ,CAC7D,SAAQ,SAAS,CAAC,SAAS,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;CACvB;AAED,eAAO,MAAM,kBAAkB,sDAE9B,CAAC;AAEF,8CAA8C;AAC9C,eAAO,MAAM,OAAO,0SAA2C,CAAC;AAChE,MAAM,MAAM,OAAO,GAAG,OAAO,OAAO,CAAC,IAAI,CAAC;AAE1C,eAAO,MAAM,sBAAsB,EAAS,cAAc,CAAC;AAE3D,eAAO,MAAM,WAAW,GAAI,IAAI,EAAE,KAAG,OAEyB,CAAC;AAE/D,eAAO,MAAM,WAAW,GAAI,SAAS,OAAO,KAAG,EAEE,CAAC;AAElD;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,QAAQ,EAAE,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,aAAa,CAKlE,CAAC;AAEJ,MAAM,WAAW,aAAc,SAAQ,SAAS,CAAC,UAAU,CAAC;CAAG;AAE/D,eAAO,MAAM,mBAAmB,mCAE/B,CAAC;AAEF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,QAAQ,EAAE,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,aAAa,CAKlE,CAAC;AAEJ,MAAM,WAAW,aAAc,SAAQ,SAAS,CAAC,UAAU,CAAC;CAAG;AAE/D,eAAO,MAAM,mBAAmB,mCAE/B,CAAC;AAEF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,WAAW,EAAE,YAAY,CACpC,aAAa,EACb,MAAM,EACN,gBAAgB,CAMf,CAAC;AAEJ,MAAM,WAAW,gBAAiB,SAAQ,SAAS,CAAC,aAAa,CAAC;CAAG;AAErE,eAAO,MAAM,sBAAsB,sCAGhC,CAAC;AAEJ;;;;;;;;;;GAUG;AACH,eAAO,MAAM,WAAW,EAAE,YAAY,CACpC,aAAa,EACb,MAAM,EACN,gBAAgB,CAMf,CAAC;AAEJ,MAAM,WAAW,gBAAiB,SAAQ,SAAS,CAAC,aAAa,CAAC;CAAG;AAErE,eAAO,MAAM,sBAAsB,sCAGhC,CAAC;AAEJ;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,2HAAsB,CAAC;AACrD,MAAM,MAAM,iBAAiB,GAAG,OAAO,iBAAiB,CAAC,IAAI,CAAC;AAE9D;;;;GAIG;AACH,eAAO,MAAM,cAAc,mKAA8B,CAAC;AAC1D,MAAM,MAAM,cAAc,GAAG,OAAO,cAAc,CAAC,IAAI,CAAC;AAExD;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,2HAAsB,CAAC;AACrD,MAAM,MAAM,iBAAiB,GAAG,OAAO,iBAAiB,CAAC,IAAI,CAAC;AAE9D;;;;GAIG;AACH,eAAO,MAAM,cAAc,mKAA8B,CAAC;AAC1D,MAAM,MAAM,cAAc,GAAG,OAAO,cAAc,CAAC,IAAI,CAAC;AAExD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,GAAG,EAAE,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAKnD,CAAC;AAEJ,MAAM,WAAW,QAAS,SAAQ,SAAS,CAAC,KAAK,CAAC;CAAG;AAErD,eAAO,MAAM,cAAc,8BAE1B,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,GAAG,2GAAc,CAAC;AAC/B,MAAM,MAAM,GAAG,GAAG,OAAO,GAAG,CAAC,IAAI,CAAC;AAElC;;;;GAIG;AACH,eAAO,MAAM,cAAc,iJAAmB,CAAC;AAC/C,MAAM,MAAM,cAAc,GAAG,OAAO,cAAc,CAAC,IAAI,CAAC;AAExD;;;;GAIG;AACH,eAAO,MAAM,WAAW,uNAA2B,CAAC;AACpD,MAAM,MAAM,WAAW,GAAG,OAAO,WAAW,CAAC,IAAI,CAAC;AAElD,+EAA+E;AAC/E,eAAO,MAAM,cAAc,kEAE1B,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,cAAc,iJAAmB,CAAC;AAC/C,MAAM,MAAM,cAAc,GAAG,OAAO,cAAc,CAAC,IAAI,CAAC;AAExD;;;;GAIG;AACH,eAAO,MAAM,WAAW,uNAA2B,CAAC;AACpD,MAAM,MAAM,WAAW,GAAG,OAAO,WAAW,CAAC,IAAI,CAAC;AAElD;;;;GAIG;AACH,eAAO,MAAM,WAAW,EAAE,CAAC,GAAG,SAAS,MAAM,EAC3C,GAAG,EAAE,GAAG,KACL,YAAY,CAAC,cAAc,GAAG,EAAE,EAAE,MAAM,EAAE,gBAAgB,CAAC,GAAG,CAAC,CAI/D,CAAC;AAEN,MAAM,WAAW,gBAAgB,CAAC,GAAG,SAAS,MAAM,GAAG,MAAM,CAC3D,SAAQ,SAAS,CAAC,aAAa,CAAC;IAChC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC;CACnB;AAED,eAAO,MAAM,sBAAsB,8CAGhC,CAAC;AAEJ;;;;GAIG;AACH,eAAO,MAAM,QAAQ,EAAE,CAAC,GAAG,SAAS,MAAM,EACxC,GAAG,EAAE,GAAG,KACL,YAAY,CAAC,WAAW,GAAG,EAAE,EAAE,MAAM,EAAE,aAAa,CAAC,GAAG,CAAC,CAIzD,CAAC;AAEN,MAAM,WAAW,aAAa,CAAC,GAAG,SAAS,MAAM,GAAG,MAAM,CACxD,SAAQ,SAAS,CAAC,UAAU,CAAC;IAC7B,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC;CACnB;AAED,eAAO,MAAM,mBAAmB,2CAE/B,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,EAAE,CAAC,GAAG,SAAS,MAAM,EACpD,GAAG,EAAE,GAAG,KACL,YAAY,CACf,uBAAuB,GAAG,EAAE,EAC5B,MAAM,EACN,yBAAyB,CAAC,GAAG,CAAC,CAM7B,CAAC;AAEJ,MAAM,WAAW,yBAAyB,CAAC,GAAG,SAAS,MAAM,GAAG,MAAM,CACpE,SAAQ,SAAS,CAAC,sBAAsB,CAAC;IACzC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC;CACnB;AAED,eAAO,MAAM,+BAA+B,uDAGzC,CAAC;AAEJ;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,EAAE,CAAC,GAAG,SAAS,MAAM,EACjD,GAAG,EAAE,GAAG,KACL,YAAY,CACf,oBAAoB,GAAG,EAAE,EACzB,MAAM,EACN,sBAAsB,CAAC,GAAG,CAAC,CAI1B,CAAC;AAEJ,MAAM,WAAW,sBAAsB,CAAC,GAAG,SAAS,MAAM,GAAG,MAAM,CACjE,SAAQ,SAAS,CAAC,mBAAmB,CAAC;IACtC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC;CACnB;AAED,eAAO,MAAM,4BAA4B,oDAGtC,CAAC;AAEJ;;;;GAIG;AACH,eAAO,MAAM,MAAM,EAAE,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,CAK5D,CAAC;AAEJ,MAAM,WAAW,WAAY,SAAQ,SAAS,CAAC,QAAQ,CAAC;CAAG;AAE3D,eAAO,MAAM,iBAAiB,iCAE7B,CAAC;AAEF,uBAAuB;AACvB,eAAO,MAAM,YAAY,iHAAiB,CAAC;AAC3C,MAAM,MAAM,YAAY,GAAG,OAAO,YAAY,CAAC,IAAI,CAAC;AAEpD;;;;GAIG;AACH,eAAO,MAAM,MAAM,EAAE,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,CAK5D,CAAC;AAEJ,MAAM,WAAW,WAAY,SAAQ,SAAS,CAAC,QAAQ,CAAC;CAAG;AAE3D,eAAO,MAAM,iBAAiB,iCAE7B,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,YAAY,iHAAiB,CAAC;AAC3C,MAAM,MAAM,YAAY,GAAG,OAAO,YAAY,CAAC,IAAI,CAAC;AAEpD;;;;GAIG;AACH,eAAO,MAAM,UAAU,EAAE,CAAC,OAAO,SAAS,MAAM,EAC9C,OAAO,EAAE,OAAO,KACb,YAAY,CAAC,aAAa,OAAO,EAAE,EAAE,MAAM,EAAE,eAAe,CAAC,OAAO,CAAC,CAMrE,CAAC;AAEN,MAAM,WAAW,eAAe,CAAC,OAAO,SAAS,MAAM,GAAG,MAAM,CAC9D,SAAQ,SAAS,CAAC,YAAY,CAAC;IAC/B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC3B;AAED,eAAO,MAAM,qBAAqB,6CAEjC,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,OAAO,EAAE,CAAC,GAAG,SAAS,MAAM,EAAE,GAAG,SAAS,MAAM,EAC3D,GAAG,EAAE,GAAG,EACR,GAAG,EAAE,GAAG,KACL,YAAY,CAAC,UAAU,GAAG,IAAI,GAAG,EAAE,EAAE,MAAM,EAAE,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,CAMnE,CAAC;AAEN,MAAM,WAAW,YAAY,CAC3B,GAAG,SAAS,MAAM,GAAG,MAAM,EAC3B,GAAG,SAAS,MAAM,GAAG,MAAM,CAC3B,SAAQ,SAAS,CAAC,SAAS,CAAC;IAC5B,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC;IAClB,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC;CACnB;AAED,eAAO,MAAM,kBAAkB,kDAG9B,CAAC;AAEF;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,OAAO,GAAI,CAAC,SAAS,OAAO,EAAE,UAAU,CAAC,KAAG,WAAW,CAAC,CAAC,CAarE,CAAC;AAEF,MAAM,WAAW,WAAW,CAAC,CAAC,SAAS,OAAO,CAC5C,SAAQ,IAAI,CAAC,SAAS,EAAE,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;IAC5D,QAAQ,EAAE,CAAC,CAAC;CACb;AAED,MAAM,WAAW,YAAY,CAAC,CAAC,SAAS,OAAO,GAAG,OAAO,CACvD,SAAQ,SAAS,CAAC,SAAS,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;CACtB;AAED,eAAO,MAAM,kBAAkB,2CAK9B,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,KAAK,GAAI,WAAW,SAAS,OAAO,EAC/C,SAAS,WAAW,KACnB,SAAS,CAAC,WAAW,CAgEvB,CAAC;AAEF,mFAAmF;AACnF,MAAM,WAAW,SAAS,CAAC,WAAW,SAAS,OAAO,CACpD,SAAQ,IAAI,CACV,OAAO,EACP,aAAa,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,EACrC,aAAa,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,EACtC,UAAU,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,EACnC,aAAa,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,EACvC,UAAU,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC,CAC1C;IACD,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC;CAC/B;AAED,MAAM,WAAW,UAAU,CAAC,KAAK,SAAS,SAAS,GAAG,SAAS,CAC7D,SAAQ,mBAAmB,CACzB,OAAO,EACL;IAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAA;CAAE,GAC7B;IACE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;CACvB,CACJ;CAAG;AAEN,eAAO,MAAM,gBAAgB,GAAI,KAAK,SAAS,SAAS,EACtD,iBAAiB,kBAAkB,CAAC,KAAK,CAAC,KACzC,kBAAkB,CAAC,UAAU,CAAC,KAAK,CAAC,CAQnC,CAAC;AAEL;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,eAAO,MAAM,MAAM,GACjB,OAAO,SAAS,QAAQ,EACxB,IAAI,SAAS,MAAM,EACnB,QAAQ,SAAS,MAAM,EACvB,QAAQ,SAAS,SAAS,EAC1B,SAAS,SAAS,MAAM,EACxB,cAAc,SAAS,SAAS,EAChC,KAAK,SAAS,OAAO,EAErB,SAAS,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,cAAc,CAAC,EAC3E,WAAW,KAAK,KACf,UAAU,CACX,OAAO,EACP,IAAI,EACJ,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,cAAc,EACd,KAAK,CAqGN,CAAC;AAEF;;;GAGG;AACH,MAAM,WAAW,UAAU,CACzB,OAAO,SAAS,QAAQ,EACxB,IAAI,SAAS,MAAM,EACnB,QAAQ,SAAS,MAAM,EACvB,QAAQ,SAAS,SAAS,EAC1B,SAAS,SAAS,MAAM,EACxB,cAAc,SAAS,SAAS,EAChC,KAAK,SAAS,OAAO,GAAG,OAAO,CAC/B,SAAQ,IAAI,CACV,QAAQ,EACR,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,EACxC,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,EAC7C,WAAW,CAAC,QAAQ,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,EACxC,QAAQ,CAAC,MAAM,CAAC,SAAS,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,EAC/C,WAAW,CAAC,cAAc,EAAE,gBAAgB,CAAC,KAAK,CAAC,CAAC,CACrD;IACD,QAAQ,CAAC,GAAG,EAAE,IAAI,CAChB,OAAO,EACP,IAAI,EACJ,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,cAAc,CACf,CAAC;IACF,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;CACvB;AAED,MAAM,WAAW,WAAW,CAC1B,QAAQ,SAAS,SAAS,GAAG,SAAS,EACtC,UAAU,SAAS,SAAS,GAAG,SAAS,CACxC,SAAQ,mBAAmB,CACzB,QAAQ,EACN;IAAE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAA;CAAE,GAC9B;IACE,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;IACrB,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;CAC1B,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;CAC5B,CACJ;CAAG;AAEN,eAAO,MAAM,iBAAiB,GAAI,KAAK,SAAS,SAAS,EACvD,iBAAiB,kBAAkB,CAAC,KAAK,CAAC,KACzC,kBAAkB,CAAC,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,CAU3C,CAAC;AAEL;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwGG;AACH,wBAAgB,MAAM,CAAC,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC1D,KAAK,EAAE,KAAK,GACX,UAAU,CAAC,KAAK,CAAC,CAAC;AAErB,wBAAgB,MAAM,CACpB,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACrC,OAAO,SAAS,QAAQ,EACxB,IAAI,SAAS,MAAM,EACnB,QAAQ,SAAS,MAAM,EACvB,QAAQ,SAAS,SAAS,EAC1B,SAAS,SAAS,MAAM,EACxB,cAAc,SAAS,SAAS,EAChC,KAAK,SAAS,OAAO,EAErB,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,UAAU,CAChB,OAAO,EACP,IAAI,EACJ,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,cAAc,EACd,KAAK,CACN,GACA,oBAAoB,CACrB,KAAK,EACL,OAAO,EACP,IAAI,EACJ,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,cAAc,EACd,KAAK,CACN,CAAC;AA0JF;;;GAGG;AACH,MAAM,WAAW,UAAU,CAAC,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAC/D,SAAQ,IAAI,CACV,QAAQ,EACR,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EACxB,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAC5B,WAAW,CAAC;KAAG,CAAC,IAAI,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;CAAE,CAAC,EACzD,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAC7B,WAAW,CAAC;KAAG,CAAC,IAAI,MAAM,KAAK,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;CAAE,CAAC,CAChE;IACD,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;CACvB;AAED,KAAK,OAAO,CAAC,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,QAAQ,CAC5D;KACG,CAAC,IAAI,YAAY,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;CAChD,GAAG;KACD,CAAC,IAAI,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,SAAS,YAAY,CAAC,MAAM,CAAC,CAAC,GAC/D,SAAS,CAAC,CAAC,CAAC,GACZ,KAAK;CACV,CACF,CAAC;AAEF,KAAK,WAAW,CAAC,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,QAAQ,CAChE;KACG,CAAC,IAAI,YAAY,CAAC,KAAK,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;CACjD,GAAG;KACD,CAAC,IAAI,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,SAAS,YAAY,CAAC,MAAM,CAAC,CAAC,GAC/D,UAAU,CAAC,CAAC,CAAC,GACb,KAAK;CACV,CACF,CAAC;AAEF,KAAK,YAAY,CAAC,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,QAAQ,CACjE;KACG,CAAC,IAAI,YAAY,CAAC,KAAK,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;CAClD,GAAG;KACD,CAAC,IAAI,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,SAAS,YAAY,CAAC,MAAM,CAAC,CAAC,GAC/D,WAAW,CAAC,CAAC,CAAC,GACd,KAAK;CACV,CACF,CAAC;AAEF,KAAK,YAAY,CAAC,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,OAAO,CAChE,MAAM,KAAK,EACX,YAAY,CAAC,KAAK,CAAC,CACpB,CAAC;AAEF,KAAK,YAAY,CAAC,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI;KACxD,CAAC,IAAI,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,SAAS,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK;CACnE,CAAC,MAAM,KAAK,CAAC,CAAC;AAEf,MAAM,WAAW,WAAW,CAC1B,WAAW,SAAS,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CACzE,SAAQ,mBAAmB,CACzB,QAAQ,EACN;IAAE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAA;CAAE,GAC9B;IACE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;CACvC,GACD;IAAE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAAC,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;CAAE,CAC5E;CAAG;AAEN;;;;;GAKG;AACH,MAAM,MAAM,qBAAqB,CAAC,CAAC,SAAS,UAAU,CAAC,GAAG,CAAC,IACzD,CAAC,SAAS,UAAU,CAAC,MAAM,KAAK,CAAC,GAC7B,WAAW,CAAC;KAAG,CAAC,IAAI,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;CAAE,CAAC,GAC1D,KAAK,CAAC;AAEZ,eAAO,MAAM,iBAAiB,GAAI,KAAK,SAAS,SAAS,EACvD,iBAAiB,kBAAkB,CAAC,KAAK,CAAC,KACzC,kBAAkB,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAepD,CAAC;AAEL;;;GAGG;AACH,MAAM,WAAW,oBAAoB,CACnC,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACrC,OAAO,SAAS,QAAQ,EACxB,IAAI,SAAS,MAAM,EACnB,QAAQ,SAAS,MAAM,EACvB,QAAQ,SAAS,SAAS,EAC1B,SAAS,SAAS,MAAM,EACxB,cAAc,SAAS,SAAS,EAChC,KAAK,SAAS,OAAO,CACrB,SAAQ,IAAI,CACV,kBAAkB,EAClB,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,EACnE,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,GAC1B,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,EAC/C,qBAAqB,CACnB;KAAG,CAAC,IAAI,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;CAAE,EAC5C,QAAQ,EACR,UAAU,CAAC,KAAK,CAAC,CAClB,EACD,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,GAC3B,QAAQ,CAAC,MAAM,CAAC,SAAS,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,EACjD,qBAAqB,CACnB;KAAG,CAAC,IAAI,MAAM,KAAK,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;CAAE,EAClD,cAAc,EACd,gBAAgB,CAAC,KAAK,CAAC,CACxB,CACF;IACD,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,UAAU,CACzB,OAAO,EACP,IAAI,EACJ,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,cAAc,EACd,KAAK,CACN,CAAC;CACH;AAED,MAAM,WAAW,qBAAqB,CACpC,WAAW,SAAS,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,EACzE,QAAQ,SAAS,SAAS,GAAG,SAAS,EACtC,UAAU,SAAS,SAAS,GAAG,SAAS,CACxC,SAAQ,mBAAmB,CACzB,kBAAkB,EAChB;IAAE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAA;CAAE,GAC9B;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,WAAW,CAAC,CAAA;CAAE,GACjE;IACE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;CAC1B,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAC5B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;CAC5B,CACJ;CAAG;AAEN,eAAO,MAAM,2BAA2B,GAAI,KAAK,SAAS,SAAS,EACjE,iBAAiB,kBAAkB,CAAC,KAAK,CAAC,KACzC,kBAAkB,CACnB,qBAAqB,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAiBxD,CAAC;AAEL;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,KAAK,CACnB,OAAO,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC,EAC7D,GAAG,OAAO,EAAE,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;AAE3C,wBAAgB,KAAK,CACnB,QAAQ,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC,EAE9D,GAAG,QAAQ,EAAE,QAAQ,GACpB,SAAS,CAAC;KACV,CAAC,IAAI,MAAM,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;CAChD,CAAC,CAAC;AA4CH;;;GAGG;AACH,MAAM,WAAW,SAAS,CAAC,OAAO,SAAS,CAAC,OAAO,EAAE,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC,CAC7E,SAAQ,IAAI,CACV,OAAO,EACP,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,EAC1B,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,EAC3B,UAAU,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EACxC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,EAC3B,KAAK,CACN;IACD,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,UAAU,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS,CACzD,SAAQ,SAAS,CAAC,OAAO,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;CAC3B;AAED,eAAO,MAAM,gBAAgB,GAAI,KAAK,SAAS,SAAS,EACtD,iBAAiB,kBAAkB,CAAC,KAAK,CAAC,KACzC,kBAAkB,CAAC,UAAU,CAAC,KAAK,CAAC,CAOnC,CAAC;AAEL,eAAO,MAAM,WAAW,GACtB,GAAG,OAAO,KACT,CAAC,IAAI,SAAS,CAAC,CAAC,OAAO,EAAE,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC,CACqB,CAAC;AAE5E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,eAAO,MAAM,SAAS,GAAI,UAAU,SAAS,OAAO,EAClD,QAAQ,MAAM,UAAU,KACvB,aAAa,CAAC,UAAU,CA+B1B,CAAC;AAEF,MAAM,WAAW,aAAa,CAAC,UAAU,SAAS,OAAO,CACvD,SAAQ,IAAI,CACV,WAAW,EACX,SAAS,CAAC,UAAU,CAAC,EACrB,UAAU,CAAC,UAAU,CAAC,EACtB,UAAU,CAAC,UAAU,CAAC,EACtB,WAAW,CAAC,UAAU,CAAC,EACvB,gBAAgB,CAAC,UAAU,CAAC,CAC7B;IACD,aAAa,IAAI,UAAU,CAAC;CAC7B;AAED;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,MAAM,GAAI,CAAC,SAAS,OAAO,EACtC,MAAM,CAAC,KACN,SAAS,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAsB,CAAC;AAEpD;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,WAAW,GAAI,CAAC,SAAS,OAAO,EAC3C,MAAM,CAAC,KACN,SAAS,CAAC,CAAC,OAAO,SAAS,EAAE,CAAC,CAAC,CAA2B,CAAC;AAE9D;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,SAAS,GAAI,CAAC,SAAS,OAAO,EACzC,MAAM,CAAC,KACN,SAAS,CAAC,CAAC,OAAO,SAAS,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC,CACjB,CAAC;AAE/B;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,KAAK,GAAI,QAAQ,SAAS,CAAC,OAAO,EAAE,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC,EACzE,GAAG,UAAU,QAAQ,KACpB,SAAS,CAAC,QAAQ,CA0EpB,CAAC;AAEF;;;GAGG;AACH,MAAM,WAAW,SAAS,CACxB,QAAQ,SAAS,SAAS,CAAC,OAAO,EAAE,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC,CAC9D,SAAQ,IAAI,CACV,OAAO,EACP,SAAS,CAAC,GAAG;KAAG,CAAC,IAAI,MAAM,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;CAAE,CAAC,EAC/D,SAAS,CAAC,GAAG;KAAG,CAAC,IAAI,MAAM,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;CAAE,CAAC,EAChE,UAAU,CAAC;KAAG,CAAC,IAAI,MAAM,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;CAAE,CAAC,MAAM,CAAC,CAAC,EACtE,SAAS,CAAC,GAAG;KAAG,CAAC,IAAI,MAAM,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;CAAE,CAAC,EACjE,UAAU,CAAC;KAAG,CAAC,IAAI,MAAM,QAAQ,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;CAAE,CAAC,MAAM,CAAC,CAAC,CAC7E;IACD,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;CAC7B;AAED,MAAM,WAAW,UAAU,CAAC,YAAY,SAAS,SAAS,GAAG,SAAS,CACpE,SAAQ,mBAAmB,CACzB,OAAO,EACL;IAAE,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAC7D;IACE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;CAC9B,CACJ;CAAG;AAEN,eAAO,MAAM,gBAAgB,GAAI,KAAK,SAAS,SAAS,EACtD,iBAAiB,kBAAkB,CAAC,KAAK,CAAC,KACzC,kBAAkB,CAAC,UAAU,CAAC,KAAK,CAAC,CAQnC,CAAC;AAEL;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,KAAK,+GAIjB,CAAC;AACF,MAAM,MAAM,KAAK,GAAG,OAAO,KAAK,CAAC,IAAI,CAAC;AACtC,MAAM,WAAW,UAAW,SAAQ,SAAS,CAAC,OAAO,CAAC;CAAG;AAEzD,eAAO,MAAM,gBAAgB,gCAG5B,CAAC;AAsBF;;;;GAIG;AACH,eAAO,MAAM,WAAW,mPASvB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG,OAAO,WAAW,CAAC,IAAI,CAAC;AAElD,MAAM,WAAW,gBAAiB,SAAQ,SAAS,CAAC,aAAa,CAAC;CAAG;AAErE,eAAO,MAAM,sBAAsB,sCAGhC,CAAC;AAEJ,MAAM,MAAM,SAAS,GACjB,MAAM,GACN,YAAY,GACZ,OAAO,GACP,IAAI,GACJ,SAAS,GACT,UAAU,CAAC;AAEf,MAAM,MAAM,cAAc,GACtB,MAAM,GACN,MAAM,GACN,OAAO,GACP,IAAI,GACJ,cAAc,GACd,eAAe,CAAC;AAEpB,MAAM,MAAM,cAAc,GAAG,UAAU,CACnC,WAAW,GACX,YAAY,GACZ,SAAS,GACT,WAAW,GACX,WAAW,GACX,UAAU,CAAC,cAAc,CAAC,GAC1B,WAAW,CAAC,WAAW,EAAE,cAAc,CAAC,CAC3C,CAAC;AAEF,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC;CACnC;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,cAAc,CAAC;CACxC;AAED,MAAM,MAAM,SAAS,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;AACjD,MAAM,MAAM,cAAc,GAAG,aAAa,CAAC,cAAc,CAAC,CAAC;AAE3D;;;;;GAKG;AACH,eAAO,MAAM,SAAS,4lBAmCrB,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,SAAS,umBAAmB,CAAC;AAE1C;;;;GAIG;AACH,eAAO,MAAM,UAAU,oqBAA4B,CAAC;AAEpD,eAAO,MAAM,SAAS,GAAI,OAAO,MAAM,KAAG,MAAM,CAAC,SAAS,EAAE,SAAS,CAQlE,CAAC;AAEJ;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,IAAI,6GAIf,CAAC;AAEH,MAAM,MAAM,IAAI,GAAG,OAAO,IAAI,CAAC,IAAI,CAAC;AAEpC,MAAM,WAAW,SAAU,SAAQ,SAAS,CAAC,MAAM,CAAC;IAClD,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,eAAO,MAAM,eAAe,+BAE3B,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,OAAO,SAAS,KAAG,IACpB,CAAC;AAEhC,eAAO,MAAM,eAAe,GAAI,OAAO,IAAI,KAAG,SACd,CAAC;AAEjC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,eAAO,MAAM,IAAI,GAAI,CAAC,SAAS,OAAO,EAAE,IAAI,SAAS,QAAQ,EAC3D,MAAM,CAAC,EACP,MAAM,IAAI,KACT,CACD,SAAS,CAAC,OAAO,MAAM,EAAE,IAAI,EAAE,SAAS,GAAG,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,EACvE,CACE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,KAChB,SAAS,CACZ,SAAS,CAAC,OAAO,MAAM,EAAE,IAAI,EAAE,SAAS,GAAG,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CACxE,EACD,CACE,KAAK,EAAE,SAAS,CACd,SAAS,CAAC,OAAO,MAAM,EAAE,IAAI,EAAE,SAAS,GAAG,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CACxE,KACE,SAAS,CAAC,CAAC,CAAC,CAiBlB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,QAAQ,GAAI,CAAC,SAAS,OAAO,EAAE,MAAM,CAAC,KAAG,YAAY,CAAC,CAAC,CAMlE,CAAC;AAEH,MAAM,WAAW,YAAY,CAAC,CAAC,SAAS,OAAO,CAC7C,SAAQ,IAAI,CACV,UAAU,EACV,SAAS,CAAC,CAAC,CAAC,EACZ,UAAU,CAAC,CAAC,CAAC,EACb,UAAU,CAAC,CAAC,CAAC,EACb,WAAW,CAAC,CAAC,CAAC,EACd,gBAAgB,CAAC,CAAC,CAAC,CACpB;IACD,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;CACpB;AAED,6DAA6D;AAC7D,eAAO,MAAM,cAAc,GAAI,GAAG,OAAO,KAAG,CAAC,IAAI,YAAY,CAAC,GAAG,CACW,CAAC;AAE7E;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,eAAO,MAAM,OAAO,GAAI,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC3D,OAAO,KAAK,KACX,UAAU,CAAC,GAAG,CAAC,IAAI,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAE,CAQ3D,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,kBAAkB,GAAI,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACtE,OAAO,KAAK,KACX,UAAU,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAc3C,CAAC;AAEF,MAAM,MAAM,uBAAuB,CAAC,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI;KAC1E,CAAC,IAAI,MAAM,KAAK,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;CAChD,CAAC;AAEF,MAAM,MAAM,iBAAiB,CAAC,CAAC,SAAS,OAAO,IAC7C,eAAe,CAAC,CAAC,CAAC,SAAS,IAAI,GAAG,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AAExD,MAAM,MAAM,eAAe,CAAC,CAAC,SAAS,OAAO,IAC3C,CAAC,SAAS,SAAS,CAAC,MAAM,OAAO,CAAC,GAC9B,OAAO,SAAS,CAAC,OAAO,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,GAC1C,iBAAiB,CAAC,OAAO,CAAC,GAC1B,KAAK,GACP,KAAK,CAAC;AAEZ,MAAM,MAAM,iBAAiB,CAAC,OAAO,SAAS,CAAC,OAAO,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,IACxE,OAAO,SAAS,CAAC,MAAM,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,GACvC,IAAI,SAAS,OAAO,IAAI,GACtB,IAAI,GACJ,IAAI,SAAS,CAAC,OAAO,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,GACvC,iBAAiB,CAAC,IAAI,CAAC,GACvB,KAAK,GACT,KAAK,CAAC;AAEZ;;;;GAIG;AACH,wBAAgB,IAAI,CAAC,CAAC,SAAS,UAAU,CAAC,GAAG,CAAC,EAAE,IAAI,SAAS,MAAM,CAAC,CAAC,OAAO,CAAC,EAC3E,UAAU,EAAE,CAAC,EACb,GAAG,IAAI,EAAE,aAAa,CAAC,IAAI,CAAC,GAC3B,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,CAAC,CAUpC;AAED,eAAO,MAAM,eAAe,SAAS,CAAC;AAEtC;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,GAAI,CAAC,SAAS,OAAO,EACjD,MAAM,CAAC,KACN,SAAS,CAAC,CAAC,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,WAAW,CAAC,CAAC,CAAC,CAKxE,CAAC;AAEJ,MAAM,WAAW,sBACf,SAAQ,SAAS,CAAC,mBAAmB,CAAC;CAAG;AAE3C,eAAO,MAAM,4BAA4B,4CAItC,CAAC;AAEJ,MAAM,MAAM,iBAAiB,CAAC,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IACjE,SAAS,CACP,UAAU,CAAC,KAAK,CAAC,EACjB,mBAAmB,EACnB,sBAAsB,EACtB,WAAW,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAC/B,CAAC;AAEJ;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,UAAU,CAAC,WAAW,SAAS,SAAS,GAAG,KAAK,IACxD,WAAW,GACX,WAAW,GACX,WAAW,GACX,YAAY,GACZ,cAAc,GACd,SAAS,GACT,aAAa,GACb,eAAe,GACf,eAAe,GACf,cAAc,GACd,iBAAiB,GACjB,YAAY,GACZ,YAAY,GACZ,cAAc,GACd,cAAc,GACd,WAAW,GACX,aAAa,GACb,UAAU,GACV,mBAAmB,GACnB,OAAO,GACP,YAAY,GACZ,aAAa,GACb,aAAa,GACb,gBAAgB,GAChB,gBAAgB,GAChB,QAAQ,GACR,gBAAgB,GAChB,aAAa,GACb,yBAAyB,GACzB,sBAAsB,GACtB,WAAW,GACX,WAAW,GACX,eAAe,GACf,YAAY,GACZ,YAAY,GACZ,UAAU,GACV,gBAAgB,GAChB,SAAS,GACT,sBAAsB,GACtB,WAAW,GAEX,UAAU,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,GACnC,WAAW,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC,GAC7D,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,GACpD,qBAAqB,CACnB,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC,EACvC,UAAU,CAAC,WAAW,CAAC,EACvB,UAAU,CAAC,WAAW,CAAC,CACxB,GACD,UAAU,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,GACnC,UAAU,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC;AAExC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+EG;AACH,eAAO,MAAM,qBAAqB,GAAI,WAAW,SAAS,SAAS,GAAG,KAAK,EACzE,iBAAiB,kBAAkB,CAAC,WAAW,CAAC,KAC/C,kBAAkB,CAAC,UAAU,CAAC,WAAW,CAAC,CA+G5C,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,+BAA+B,GAC1C,WAAW,SAAS,SAAS,GAAG,KAAK,EAErC,OAAO,UAAU,CAAC,WAAW,CAAC,EAC9B,iBAAiB,kBAAkB,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,EAC5D,OAAM,aAAa,CAAC,WAAW,CAAM,KACpC,aAAa,CAAC,gBAAgB,CAAC,KAAK,CAgHtC,CAAC;AAEF,qCAAqC;AACrC,MAAM,WAAW,gBAAgB,CAAC,KAAK,GAAG,OAAO,EAAE,MAAM,GAAG,KAAK;IAC/D,sCAAsC;IACtC,QAAQ,CAAC,WAAW,EAAE,gBAAgB,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;CAC7D;AAGD,MAAM,CAAC,OAAO,WAAW,gBAAgB,CAAC;IACxC,gDAAgD;IAChD,UAAiB,KAAK,CAAC,KAAK,GAAG,OAAO,EAAE,MAAM,GAAG,KAAK;QACpD,0CAA0C;QAC1C,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;QACpB,6CAA6C;QAC7C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QACxB,sCAAsC;QACtC,QAAQ,CAAC,QAAQ,EAAE,CACjB,KAAK,EAAE,OAAO,KACX,MAAM,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;QAC9C,iDAAiD;QACjD,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC;KACnD;IAED,qDAAqD;IACrD,KAAY,MAAM,CAAC,MAAM,IAAI,aAAa,CAAC,MAAM,CAAC,GAAG,aAAa,CAAC;IAEnE,mDAAmD;IACnD,UAAiB,aAAa,CAAC,MAAM;QACnC,8BAA8B;QAC9B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QACvB,+BAA+B;QAC/B,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC;KAC7B;IAED,gDAAgD;IAChD,UAAiB,aAAa;QAC5B,uCAAuC;QACvC,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC;KACvC;IAED,iDAAiD;IACjD,UAAiB,KAAK;QACpB,sCAAsC;QACtC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QACzB,qCAAqC;QACrC,QAAQ,CAAC,IAAI,CAAC,EAAE,aAAa,CAAC,WAAW,GAAG,WAAW,CAAC,GAAG,SAAS,CAAC;KACtE;IAED,+CAA+C;IAC/C,UAAiB,WAAW;QAC1B,2CAA2C;QAC3C,QAAQ,CAAC,GAAG,EAAE,WAAW,CAAC;KAC3B;IAED,2CAA2C;IAC3C,UAAiB,KAAK,CAAC,KAAK,GAAG,OAAO,EAAE,MAAM,GAAG,KAAK;QACpD,oCAAoC;QACpC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;QACtB,qCAAqC;QACrC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;KACzB;IAED,kDAAkD;IAClD,KAAY,UAAU,CAAC,MAAM,SAAS,gBAAgB,IAAI,WAAW,CACnE,MAAM,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,CAC7B,CAAC,OAAO,CAAC,CAAC;IAEX,mDAAmD;IACnD,KAAY,WAAW,CAAC,MAAM,SAAS,gBAAgB,IAAI,WAAW,CACpE,MAAM,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,CAC7B,CAAC,QAAQ,CAAC,CAAC;CACb"}
|
package/dist/src/Type.js
CHANGED
|
@@ -15,13 +15,17 @@
|
|
|
15
15
|
* messages.
|
|
16
16
|
* - **Consistent constraints via {@link Brand}** – every constraint becomes part
|
|
17
17
|
* of the type.
|
|
18
|
-
* - **No user-land chaining DSL** – designed with the upcoming ES pipe operator
|
|
19
|
-
* in mind.
|
|
20
18
|
* - **Selective validation** – parent validations are skipped when already proved
|
|
21
19
|
* by typing.
|
|
22
20
|
* - **Simple, top-down implementation** – readable source code from top to bottom
|
|
23
21
|
* with no hidden magic; just plain functions and composition.
|
|
24
22
|
*
|
|
23
|
+
* TODO: Refactor Type factories and composition for Hack pipes compatibility.
|
|
24
|
+
* Currently, brand factories like `minLength(min)(Type)` use constraint-first
|
|
25
|
+
* currying. For optimal Hack pipe support, these should be refactored to
|
|
26
|
+
* `minLength(Type, min)` to enable: `Type |> minLength(%, 1) |> maxLength(%,
|
|
27
|
+
* 100)`
|
|
28
|
+
*
|
|
25
29
|
* ### Base Types Quick Start
|
|
26
30
|
*
|
|
27
31
|
* ```ts
|
package/package.json
CHANGED
package/src/Array.ts
CHANGED
|
@@ -1,44 +1,121 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* 🔒 Immutable, type-safe array
|
|
2
|
+
* 🔒 Immutable, type-safe array helpers
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
* methods return mutable arrays even when called on readonly arrays. These
|
|
6
|
-
* helpers ensure transformations return readonly types.
|
|
4
|
+
* Array types, guards, operations, transformations, accessors, and mutations.
|
|
7
5
|
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
6
|
+
* Prepared for TC39 Hack pipes:
|
|
7
|
+
*
|
|
8
|
+
* ```ts
|
|
9
|
+
* // Problem: nested calls are hard to follow
|
|
10
|
+
* const result = firstInArray(
|
|
11
|
+
* mapArray(dedupeArray(appendToArray(value, 2)), (x) => x * 2),
|
|
12
|
+
* );
|
|
13
|
+
*
|
|
14
|
+
* // Ideal: TC39 Hack pipes (when available)
|
|
15
|
+
* // const result = value
|
|
16
|
+
* // |> appendToArray(%, 2)
|
|
17
|
+
* // |> dedupeArray(%)
|
|
18
|
+
* // |> mapArray(%, (x) => x * 2)
|
|
19
|
+
* // |> firstInArray(%);
|
|
20
|
+
*
|
|
21
|
+
* // Pragmatic: name each step (or use p1, p2 if lazy)
|
|
22
|
+
* const p1 = appendToArray(value, 2);
|
|
23
|
+
* const p2 = dedupeArray(p1);
|
|
24
|
+
* const p3 = mapArray(p2, (x) => x * 2);
|
|
25
|
+
* const p4 = firstInArray(p3);
|
|
26
|
+
* ```
|
|
27
|
+
*
|
|
28
|
+
* Of course it's possible to use array instance methods, but they mutate and do
|
|
29
|
+
* not preserve {@link NonEmptyArray} and {@link NonEmptyReadonlyArray} types.
|
|
11
30
|
*
|
|
12
31
|
* ### Example
|
|
13
32
|
*
|
|
14
33
|
* ```ts
|
|
15
|
-
* //
|
|
34
|
+
* // Types - compile-time guarantee of at least one element
|
|
35
|
+
* const _valid: NonEmptyReadonlyArray<number> = [1, 2, 3];
|
|
36
|
+
* // ts-expect-error - empty array is not a valid NonEmptyReadonlyArray
|
|
37
|
+
* const _invalid: NonEmptyReadonlyArray<number> = [];
|
|
38
|
+
*
|
|
39
|
+
* // Guards
|
|
40
|
+
* const arr: ReadonlyArray<number> = [1, 2, 3];
|
|
41
|
+
* if (isNonEmptyReadonlyArray(arr)) {
|
|
42
|
+
* firstInArray(arr);
|
|
43
|
+
* }
|
|
44
|
+
*
|
|
45
|
+
* // Operations
|
|
46
|
+
* const appended = appendToArray([1, 2, 3], 4); // [1, 2, 3, 4]
|
|
47
|
+
* const prepended = prependToArray([2, 3], 1); // [1, 2, 3]
|
|
48
|
+
*
|
|
49
|
+
* // Transformations
|
|
16
50
|
* const readonly: ReadonlyArray<number> = [1, 2, 3];
|
|
17
|
-
* const mapped = readonly
|
|
51
|
+
* const mapped = mapArray(readonly, (x) => x * 2); // [2, 4, 6]
|
|
52
|
+
* const filtered = filterArray(readonly, (x) => x > 1); // [2, 3]
|
|
53
|
+
* const deduped = dedupeArray([1, 2, 1, 3, 2]); // [1, 2, 3]
|
|
18
54
|
*
|
|
19
|
-
* //
|
|
20
|
-
* const
|
|
55
|
+
* // Accessors
|
|
56
|
+
* const first = firstInArray(["a", "b", "c"]); // "a"
|
|
57
|
+
* const last = lastInArray(["a", "b", "c"]); // "c"
|
|
21
58
|
*
|
|
22
|
-
* //
|
|
23
|
-
* const
|
|
24
|
-
*
|
|
59
|
+
* // Mutations
|
|
60
|
+
* const mutable: NonEmptyArray<number> = [1, 2, 3];
|
|
61
|
+
* shiftArray(mutable); // 1 (guaranteed to exist)
|
|
62
|
+
* mutable; // [2, 3]
|
|
25
63
|
* ```
|
|
26
64
|
*
|
|
27
65
|
* @module
|
|
28
66
|
*/
|
|
29
67
|
|
|
30
|
-
/**
|
|
68
|
+
/**
|
|
69
|
+
* An array with at least one element.
|
|
70
|
+
*
|
|
71
|
+
* @category Types
|
|
72
|
+
*/
|
|
31
73
|
export type NonEmptyArray<T> = [T, ...Array<T>];
|
|
32
74
|
|
|
33
|
-
/**
|
|
75
|
+
/**
|
|
76
|
+
* A readonly array with at least one element.
|
|
77
|
+
*
|
|
78
|
+
* @category Types
|
|
79
|
+
*/
|
|
80
|
+
export type NonEmptyReadonlyArray<T> = readonly [T, ...ReadonlyArray<T>];
|
|
81
|
+
|
|
82
|
+
/**
|
|
83
|
+
* Checks if an array is non-empty and narrows its type to {@link NonEmptyArray}.
|
|
84
|
+
*
|
|
85
|
+
* Use `if (!isNonEmptyArray(arr))` for empty checks.
|
|
86
|
+
*
|
|
87
|
+
* ### Example
|
|
88
|
+
*
|
|
89
|
+
* ```ts
|
|
90
|
+
* const arr: Array<number> = [1, 2, 3];
|
|
91
|
+
* if (isNonEmptyArray(arr)) {
|
|
92
|
+
* firstInArray(arr); // arr is NonEmptyArray<number>
|
|
93
|
+
* }
|
|
94
|
+
* ```
|
|
95
|
+
*
|
|
96
|
+
* @category Type Guards
|
|
97
|
+
*/
|
|
34
98
|
export const isNonEmptyArray = <T>(
|
|
35
99
|
array: Array<T>,
|
|
36
100
|
): array is NonEmptyArray<T> => array.length > 0;
|
|
37
101
|
|
|
38
|
-
/**
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
102
|
+
/**
|
|
103
|
+
* Checks if a readonly array is non-empty and narrows its type to
|
|
104
|
+
* {@link NonEmptyReadonlyArray}.
|
|
105
|
+
*
|
|
106
|
+
* Use `if (!isNonEmptyReadonlyArray(arr))` for empty checks.
|
|
107
|
+
*
|
|
108
|
+
* ### Example
|
|
109
|
+
*
|
|
110
|
+
* ```ts
|
|
111
|
+
* const arr: ReadonlyArray<number> = [1, 2, 3];
|
|
112
|
+
* if (isNonEmptyReadonlyArray(arr)) {
|
|
113
|
+
* firstInArray(arr); // arr is NonEmptyReadonlyArray<number>
|
|
114
|
+
* }
|
|
115
|
+
* ```
|
|
116
|
+
*
|
|
117
|
+
* @category Type Guards
|
|
118
|
+
*/
|
|
42
119
|
export const isNonEmptyReadonlyArray = <T>(
|
|
43
120
|
array: ReadonlyArray<T>,
|
|
44
121
|
): array is NonEmptyReadonlyArray<T> => array.length > 0;
|
|
@@ -47,10 +124,18 @@ export const isNonEmptyReadonlyArray = <T>(
|
|
|
47
124
|
* Appends an item to an array, returning a new non-empty readonly array.
|
|
48
125
|
*
|
|
49
126
|
* Accepts both mutable and readonly arrays. Does not mutate the original array.
|
|
127
|
+
*
|
|
128
|
+
* ### Example
|
|
129
|
+
*
|
|
130
|
+
* ```ts
|
|
131
|
+
* appendToArray([1, 2, 3], 4); // [1, 2, 3, 4]
|
|
132
|
+
* ```
|
|
133
|
+
*
|
|
134
|
+
* @category Operations
|
|
50
135
|
*/
|
|
51
136
|
export const appendToArray = <T>(
|
|
52
|
-
item: T,
|
|
53
137
|
array: ReadonlyArray<T>,
|
|
138
|
+
item: T,
|
|
54
139
|
): NonEmptyReadonlyArray<T> =>
|
|
55
140
|
[...array, item] as ReadonlyArray<T> as NonEmptyReadonlyArray<T>;
|
|
56
141
|
|
|
@@ -58,17 +143,33 @@ export const appendToArray = <T>(
|
|
|
58
143
|
* Prepends an item to an array, returning a new non-empty readonly array.
|
|
59
144
|
*
|
|
60
145
|
* Accepts both mutable and readonly arrays. Does not mutate the original array.
|
|
146
|
+
*
|
|
147
|
+
* ### Example
|
|
148
|
+
*
|
|
149
|
+
* ```ts
|
|
150
|
+
* prependToArray([2, 3], 1); // [1, 2, 3]
|
|
151
|
+
* ```
|
|
152
|
+
*
|
|
153
|
+
* @category Operations
|
|
61
154
|
*/
|
|
62
155
|
export const prependToArray = <T>(
|
|
63
|
-
item: T,
|
|
64
156
|
array: ReadonlyArray<T>,
|
|
157
|
+
item: T,
|
|
65
158
|
): NonEmptyReadonlyArray<T> => [item, ...array] as NonEmptyReadonlyArray<T>;
|
|
66
159
|
|
|
67
160
|
/**
|
|
68
|
-
* Maps an array using a mapper function
|
|
69
|
-
* applicable.
|
|
161
|
+
* Maps an array using a mapper function.
|
|
70
162
|
*
|
|
71
163
|
* Accepts both mutable and readonly arrays. Does not mutate the original array.
|
|
164
|
+
* Preserves non-empty type.
|
|
165
|
+
*
|
|
166
|
+
* ### Example
|
|
167
|
+
*
|
|
168
|
+
* ```ts
|
|
169
|
+
* mapArray([1, 2, 3], (x) => x * 2); // [2, 4, 6]
|
|
170
|
+
* ```
|
|
171
|
+
*
|
|
172
|
+
* @category Transformations
|
|
72
173
|
*/
|
|
73
174
|
export function mapArray<T, U>(
|
|
74
175
|
array: NonEmptyReadonlyArray<T> | NonEmptyArray<T>,
|
|
@@ -89,6 +190,14 @@ export function mapArray<T, U>(
|
|
|
89
190
|
* Filters an array using a predicate function, returning a new readonly array.
|
|
90
191
|
*
|
|
91
192
|
* Accepts both mutable and readonly arrays. Does not mutate the original array.
|
|
193
|
+
*
|
|
194
|
+
* ### Example
|
|
195
|
+
*
|
|
196
|
+
* ```ts
|
|
197
|
+
* filterArray([1, 2, 3, 4, 5], (x) => x % 2 === 0); // [2, 4]
|
|
198
|
+
* ```
|
|
199
|
+
*
|
|
200
|
+
* @category Transformations
|
|
92
201
|
*/
|
|
93
202
|
export const filterArray = <T>(
|
|
94
203
|
array: ReadonlyArray<T>,
|
|
@@ -96,44 +205,45 @@ export const filterArray = <T>(
|
|
|
96
205
|
): ReadonlyArray<T> => array.filter(predicate) as ReadonlyArray<T>;
|
|
97
206
|
|
|
98
207
|
/**
|
|
99
|
-
*
|
|
208
|
+
* Returns a new readonly array with duplicate items removed. If `by` is
|
|
209
|
+
* provided, it will be used to derive the key for uniqueness; otherwise values
|
|
210
|
+
* are used directly. Dedupes by reference equality of values (or extracted keys
|
|
211
|
+
* when `by` is used).
|
|
100
212
|
*
|
|
101
|
-
*
|
|
102
|
-
|
|
103
|
-
export const shiftArray = <T>(array: NonEmptyArray<T>): T => array.shift() as T;
|
|
104
|
-
|
|
105
|
-
/**
|
|
106
|
-
* Returns the first element of a non-empty readonly array.
|
|
213
|
+
* Accepts both mutable and readonly arrays. Does not mutate the original array.
|
|
214
|
+
* Preserves non-empty type.
|
|
107
215
|
*
|
|
108
|
-
*
|
|
109
|
-
*/
|
|
110
|
-
export const firstInArray = <T>(array: NonEmptyReadonlyArray<T>): T => array[0];
|
|
111
|
-
|
|
112
|
-
/**
|
|
113
|
-
* Returns the last element of a non-empty readonly array.
|
|
216
|
+
* ### Example
|
|
114
217
|
*
|
|
115
|
-
*
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
array[array.length - 1];
|
|
119
|
-
|
|
120
|
-
/**
|
|
121
|
-
* Returns a new readonly array with duplicate items removed based on a key
|
|
122
|
-
* extractor function. Preserves the first occurrence of each distinct key.
|
|
218
|
+
* ```ts
|
|
219
|
+
* // Dedupe primitives by value
|
|
220
|
+
* dedupeArray([1, 2, 1, 3, 2]); // [1, 2, 3]
|
|
123
221
|
*
|
|
124
|
-
*
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
*
|
|
129
|
-
*
|
|
222
|
+
* // Dedupe objects by property
|
|
223
|
+
* dedupeArray(
|
|
224
|
+
* [
|
|
225
|
+
* { id: 1, name: "Alice" },
|
|
226
|
+
* { id: 2, name: "Bob" },
|
|
227
|
+
* { id: 1, name: "Alice 2" },
|
|
228
|
+
* ],
|
|
229
|
+
* (item) => item.id,
|
|
230
|
+
* ); // [{ id: 1, name: "Alice" }, { id: 2, name: "Bob" }]
|
|
231
|
+
* ```
|
|
130
232
|
*
|
|
131
|
-
*
|
|
233
|
+
* @category Transformations
|
|
132
234
|
*/
|
|
133
|
-
export
|
|
235
|
+
export function dedupeArray<T>(
|
|
236
|
+
array: NonEmptyReadonlyArray<T> | NonEmptyArray<T>,
|
|
237
|
+
by?: (item: T) => unknown,
|
|
238
|
+
): NonEmptyReadonlyArray<T>;
|
|
239
|
+
export function dedupeArray<T>(
|
|
240
|
+
array: ReadonlyArray<T> | Array<T>,
|
|
241
|
+
by?: (item: T) => unknown,
|
|
242
|
+
): ReadonlyArray<T>;
|
|
243
|
+
export function dedupeArray<T>(
|
|
134
244
|
array: ReadonlyArray<T>,
|
|
135
245
|
by?: (item: T) => unknown,
|
|
136
|
-
): ReadonlyArray<T>
|
|
246
|
+
): ReadonlyArray<T> {
|
|
137
247
|
if (by == null) {
|
|
138
248
|
return Array.from(new Set(array)) as ReadonlyArray<T>;
|
|
139
249
|
}
|
|
@@ -145,4 +255,52 @@ export const dedupeArray = <T>(
|
|
|
145
255
|
seen.add(key);
|
|
146
256
|
return true;
|
|
147
257
|
}) as ReadonlyArray<T>;
|
|
148
|
-
}
|
|
258
|
+
}
|
|
259
|
+
|
|
260
|
+
/**
|
|
261
|
+
* Returns the first element of a non-empty array.
|
|
262
|
+
*
|
|
263
|
+
* Accepts both mutable and readonly arrays. Does not mutate the original array.
|
|
264
|
+
*
|
|
265
|
+
* ### Example
|
|
266
|
+
*
|
|
267
|
+
* ```ts
|
|
268
|
+
* firstInArray(["a", "b", "c"]); // "a"
|
|
269
|
+
* ```
|
|
270
|
+
*
|
|
271
|
+
* @category Accessors
|
|
272
|
+
*/
|
|
273
|
+
export const firstInArray = <T>(array: NonEmptyReadonlyArray<T>): T => array[0];
|
|
274
|
+
|
|
275
|
+
/**
|
|
276
|
+
* Returns the last element of a non-empty array.
|
|
277
|
+
*
|
|
278
|
+
* Accepts both mutable and readonly arrays. Does not mutate the original array.
|
|
279
|
+
*
|
|
280
|
+
* ### Example
|
|
281
|
+
*
|
|
282
|
+
* ```ts
|
|
283
|
+
* lastInArray(["a", "b", "c"]); // "c"
|
|
284
|
+
* ```
|
|
285
|
+
*
|
|
286
|
+
* @category Accessors
|
|
287
|
+
*/
|
|
288
|
+
export const lastInArray = <T>(array: NonEmptyReadonlyArray<T>): T =>
|
|
289
|
+
array[array.length - 1];
|
|
290
|
+
|
|
291
|
+
/**
|
|
292
|
+
* Shifts an item from a non-empty mutable array, guaranteed to return T.
|
|
293
|
+
*
|
|
294
|
+
* **Mutates** the original array.
|
|
295
|
+
*
|
|
296
|
+
* ### Example
|
|
297
|
+
*
|
|
298
|
+
* ```ts
|
|
299
|
+
* const arr: NonEmptyArray<number> = [1, 2, 3];
|
|
300
|
+
* shiftArray(arr); // 1
|
|
301
|
+
* arr; // [2, 3]
|
|
302
|
+
* ```
|
|
303
|
+
*
|
|
304
|
+
* @category Mutations
|
|
305
|
+
*/
|
|
306
|
+
export const shiftArray = <T>(array: NonEmptyArray<T>): T => array.shift() as T;
|
package/src/Evolu/Timestamp.ts
CHANGED
|
@@ -163,10 +163,9 @@ export const maxNodeId = "ffffffffffffffff" as NodeId;
|
|
|
163
163
|
* queue:
|
|
164
164
|
*
|
|
165
165
|
* 1. Write changes immediately to a local-only table
|
|
166
|
-
* 2. Periodically
|
|
167
|
-
* 3. This decouples user activity from sync timing
|
|
166
|
+
* 2. Periodically and randomly flush messages to sync tables
|
|
168
167
|
*
|
|
169
|
-
*
|
|
168
|
+
* **Trade-off:** It breaks real-time collaboration.
|
|
170
169
|
*/
|
|
171
170
|
export const Timestamp = object({
|
|
172
171
|
millis: Millis,
|
package/src/Type.ts
CHANGED
|
@@ -15,13 +15,17 @@
|
|
|
15
15
|
* messages.
|
|
16
16
|
* - **Consistent constraints via {@link Brand}** – every constraint becomes part
|
|
17
17
|
* of the type.
|
|
18
|
-
* - **No user-land chaining DSL** – designed with the upcoming ES pipe operator
|
|
19
|
-
* in mind.
|
|
20
18
|
* - **Selective validation** – parent validations are skipped when already proved
|
|
21
19
|
* by typing.
|
|
22
20
|
* - **Simple, top-down implementation** – readable source code from top to bottom
|
|
23
21
|
* with no hidden magic; just plain functions and composition.
|
|
24
22
|
*
|
|
23
|
+
* TODO: Refactor Type factories and composition for Hack pipes compatibility.
|
|
24
|
+
* Currently, brand factories like `minLength(min)(Type)` use constraint-first
|
|
25
|
+
* currying. For optimal Hack pipe support, these should be refactored to
|
|
26
|
+
* `minLength(Type, min)` to enable: `Type |> minLength(%, 1) |> maxLength(%,
|
|
27
|
+
* 100)`
|
|
28
|
+
*
|
|
25
29
|
* ### Base Types Quick Start
|
|
26
30
|
*
|
|
27
31
|
* ```ts
|