@daiso-tech/core 0.27.0 → 0.28.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +10 -10
- package/dist/async/utilities/lazy-promise/lazy-promise.d.ts +57 -19
- package/dist/async/utilities/lazy-promise/lazy-promise.js +93 -52
- package/dist/async/utilities/lazy-promise/lazy-promise.js.map +1 -1
- package/dist/async/utilities/retry/retry-or-fail.d.ts +2 -0
- package/dist/async/utilities/retry/retry-or-fail.js.map +1 -1
- package/dist/cache/contracts/cache.contract.d.ts +98 -14
- package/dist/cache/implementations/adapters/_module-exports.d.ts +1 -0
- package/dist/cache/implementations/adapters/_module-exports.js +1 -0
- package/dist/cache/implementations/adapters/_module-exports.js.map +1 -1
- package/dist/cache/implementations/adapters/no-op-cache-adapter/_module.d.ts +1 -0
- package/dist/cache/implementations/adapters/no-op-cache-adapter/_module.js +2 -0
- package/dist/cache/implementations/adapters/no-op-cache-adapter/_module.js.map +1 -0
- package/dist/cache/implementations/adapters/no-op-cache-adapter/no-op-cache-adapter.d.ts +23 -0
- package/dist/cache/implementations/adapters/no-op-cache-adapter/no-op-cache-adapter.js +41 -0
- package/dist/cache/implementations/adapters/no-op-cache-adapter/no-op-cache-adapter.js.map +1 -0
- package/dist/cache/implementations/adapters/sqlite-cache-adapter/sqlite-cache-adapter.d.ts +2 -3
- package/dist/cache/implementations/adapters/sqlite-cache-adapter/sqlite-cache-adapter.js.map +1 -1
- package/dist/cache/implementations/derivables/cache/cache.d.ts +250 -45
- package/dist/cache/implementations/derivables/cache/cache.js +256 -28
- package/dist/cache/implementations/derivables/cache/cache.js.map +1 -1
- package/dist/cache/implementations/derivables/cache-factory/cache-factory.d.ts +20 -17
- package/dist/cache/implementations/derivables/cache-factory/cache-factory.js +33 -19
- package/dist/cache/implementations/derivables/cache-factory/cache-factory.js.map +1 -1
- package/dist/collection/implementations/async-iterable-collection/async-iterable-collection.d.ts +4 -20
- package/dist/collection/implementations/async-iterable-collection/async-iterable-collection.js +7 -4
- package/dist/collection/implementations/async-iterable-collection/async-iterable-collection.js.map +1 -1
- package/dist/event-bus/implementations/adapters/no-op-event-bus-adapter/no-op-event-bus-adapter.d.ts +1 -1
- package/dist/event-bus/implementations/adapters/no-op-event-bus-adapter/no-op-event-bus-adapter.js +1 -1
- package/dist/event-bus/implementations/derivables/event-bus/event-bus.d.ts +21 -36
- package/dist/event-bus/implementations/derivables/event-bus/event-bus.js +24 -17
- package/dist/event-bus/implementations/derivables/event-bus/event-bus.js.map +1 -1
- package/dist/event-bus/implementations/derivables/event-bus-factory/event-bus-factory.d.ts +57 -14
- package/dist/event-bus/implementations/derivables/event-bus-factory/event-bus-factory.js +61 -13
- package/dist/event-bus/implementations/derivables/event-bus-factory/event-bus-factory.js.map +1 -1
- package/dist/lock/contracts/lock-provider.contract.d.ts +19 -5
- package/dist/lock/contracts/lock.contract.d.ts +37 -8
- package/dist/lock/implementations/adapters/_module-exports.d.ts +1 -0
- package/dist/lock/implementations/adapters/_module-exports.js +1 -0
- package/dist/lock/implementations/adapters/_module-exports.js.map +1 -1
- package/dist/lock/implementations/adapters/no-op-lock-adapter/_module.d.ts +1 -0
- package/dist/lock/implementations/adapters/no-op-lock-adapter/_module.js +2 -0
- package/dist/lock/implementations/adapters/no-op-lock-adapter/_module.js.map +1 -0
- package/dist/lock/implementations/adapters/no-op-lock-adapter/no-op-lock-adapter.d.ts +17 -0
- package/dist/lock/implementations/adapters/no-op-lock-adapter/no-op-lock-adapter.js +24 -0
- package/dist/lock/implementations/adapters/no-op-lock-adapter/no-op-lock-adapter.js.map +1 -0
- package/dist/lock/implementations/adapters/sqlite-lock-adapter/sqlite-lock-adapter.d.ts +2 -3
- package/dist/lock/implementations/adapters/sqlite-lock-adapter/sqlite-lock-adapter.js.map +1 -1
- package/dist/lock/implementations/derivables/lock-provider/lock-provider.d.ts +130 -62
- package/dist/lock/implementations/derivables/lock-provider/lock-provider.js +134 -44
- package/dist/lock/implementations/derivables/lock-provider/lock-provider.js.map +1 -1
- package/dist/lock/implementations/derivables/lock-provider/lock.d.ts +238 -0
- package/dist/lock/implementations/derivables/lock-provider/lock.js +258 -0
- package/dist/lock/implementations/derivables/lock-provider/lock.js.map +1 -1
- package/dist/lock/implementations/derivables/lock-provider-factory/lock-provider-factory.d.ts +75 -9
- package/dist/lock/implementations/derivables/lock-provider-factory/lock-provider-factory.js +85 -7
- package/dist/lock/implementations/derivables/lock-provider-factory/lock-provider-factory.js.map +1 -1
- package/dist/lock/implementations/test-utilities/lock-provider.test-suite.js +162 -8
- package/dist/lock/implementations/test-utilities/lock-provider.test-suite.js.map +1 -1
- package/dist/serde/implementations/adapters/no-op-serde-adapter/no-op-serde-adapter.d.ts +1 -0
- package/dist/serde/implementations/adapters/no-op-serde-adapter/no-op-serde-adapter.js +1 -0
- package/dist/serde/implementations/adapters/no-op-serde-adapter/no-op-serde-adapter.js.map +1 -1
- package/dist/utilities/_module-exports.d.ts +1 -1
- package/dist/utilities/_module-exports.js +1 -1
- package/dist/utilities/_module-exports.js.map +1 -1
- package/dist/utilities/classes/key-prefixer/key-prefixer.js +1 -1
- package/dist/utilities/classes/key-prefixer/key-prefixer.js.map +1 -1
- package/dist/utilities/{_constants.d.ts → constants.d.ts} +0 -3
- package/dist/utilities/constants.js +5 -0
- package/dist/utilities/constants.js.map +1 -0
- package/dist/utilities/contracts/_module.d.ts +2 -1
- package/dist/utilities/contracts/_module.js +2 -1
- package/dist/utilities/contracts/_module.js.map +1 -1
- package/dist/utilities/contracts/sqlite-database.contract.d.ts +26 -0
- package/dist/utilities/contracts/sqlite-database.contract.js +5 -0
- package/dist/utilities/contracts/sqlite-database.contract.js.map +1 -0
- package/dist/utilities/functions.d.ts +4 -0
- package/dist/utilities/functions.js +10 -4
- package/dist/utilities/functions.js.map +1 -1
- package/dist/utilities/types.d.ts +4 -4
- package/package.json +1 -1
- package/dist/utilities/_constants.js +0 -8
- package/dist/utilities/_constants.js.map +0 -1
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @module Cache
|
|
3
3
|
*/
|
|
4
|
-
import { DefaultAdapterNotDefinedError, UnregisteredAdapterError, } from "../../../../utilities/_module-exports.js";
|
|
4
|
+
import { DefaultAdapterNotDefinedError, resolveOneOrMore, UnregisteredAdapterError, } from "../../../../utilities/_module-exports.js";
|
|
5
5
|
import { Cache, } from "../../../../cache/implementations/derivables/cache/_module.js";
|
|
6
|
+
import { KeyPrefixer } from "../../../../utilities/_module-exports.js";
|
|
6
7
|
/**
|
|
7
8
|
*
|
|
8
9
|
* IMPORT_PATH: ```"@daiso-tech/core/cache"```
|
|
@@ -54,41 +55,50 @@ export class CacheFactory {
|
|
|
54
55
|
retryPolicy: policy,
|
|
55
56
|
});
|
|
56
57
|
}
|
|
57
|
-
|
|
58
|
+
setRetryTimeout(timeout) {
|
|
58
59
|
return new CacheFactory({
|
|
59
60
|
...this.settings,
|
|
60
|
-
timeout,
|
|
61
|
+
retryTimeout: timeout,
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
setTotalTimeout(timeout) {
|
|
65
|
+
return new CacheFactory({
|
|
66
|
+
...this.settings,
|
|
67
|
+
totalTimeout: timeout,
|
|
61
68
|
});
|
|
62
69
|
}
|
|
63
70
|
/**
|
|
64
71
|
* @example
|
|
65
72
|
* ```ts
|
|
66
73
|
* import { CacheFactory } from "@daiso-tech/core/cache";
|
|
74
|
+
* import type { ICacheAdapter } from "@daiso-tech/core/cache/contracts";
|
|
67
75
|
* import { MemoryCacheAdapter, RedisCacheAdapter, SqliteCacheAdapter } from "@daiso-tech/core/cache/adapters";
|
|
68
76
|
* import { Serde } from "@daiso-tech/core/serde";
|
|
77
|
+
* import type { ISerde } from "@daiso-tech/core/serde/contracts";
|
|
69
78
|
* import { SuperJsonSerdeAdapter } from "@daiso-tech/core/serde/adapters";
|
|
70
|
-
* import { KeyPrefixer, TimeSpan, type
|
|
79
|
+
* import { KeyPrefixer, TimeSpan, type ISqliteDatabase, type FactoryFn } from "@daiso-tech/core/utilities";
|
|
71
80
|
* import Redis from "ioredis"
|
|
72
81
|
* import Sqlite from "better-sqlite3";
|
|
73
82
|
*
|
|
74
|
-
*
|
|
75
|
-
*
|
|
76
|
-
*
|
|
77
|
-
*
|
|
78
|
-
*
|
|
79
|
-
*
|
|
80
|
-
*
|
|
81
|
-
*
|
|
82
|
-
*
|
|
83
|
-
*
|
|
84
|
-
* return cacheAdapter;
|
|
83
|
+
* function cahceAdapterFactory(database: ISqliteDatabase, serde: ISerde<string>): FactoryFn<string, ICacheAdapter> {
|
|
84
|
+
* return async (prefix) => {
|
|
85
|
+
* const cacheAdapter = new SqliteCacheAdapter({
|
|
86
|
+
* database,
|
|
87
|
+
* serde,
|
|
88
|
+
* tableName: `cache_${prefix}`
|
|
89
|
+
* });
|
|
90
|
+
* await cacheAdapter.init();
|
|
91
|
+
* return cacheAdapter;
|
|
92
|
+
* }
|
|
85
93
|
* }
|
|
86
94
|
*
|
|
95
|
+
* const database = new Sqlite("local.db");
|
|
96
|
+
* const serde = new Serde(new SuperJsonSerdeAdapter());
|
|
87
97
|
* const cacheFactory = new CacheFactory({
|
|
88
98
|
* serde,
|
|
89
99
|
* keyPrefixer: new KeyPrefixer("cache"),
|
|
90
100
|
* adapters: {
|
|
91
|
-
* sqlite: cahceAdapterFactory,
|
|
101
|
+
* sqlite: cahceAdapterFactory(database, serde),
|
|
92
102
|
* memory: new MemoryCacheAdapter(),
|
|
93
103
|
* redis: new RedisCacheAdapter({
|
|
94
104
|
* client: new Redis("YOUR_REDIS_CONNECTION"),
|
|
@@ -96,7 +106,6 @@ export class CacheFactory {
|
|
|
96
106
|
* }),
|
|
97
107
|
* },
|
|
98
108
|
* defaultAdapter: "memory",
|
|
99
|
-
* eventBus,
|
|
100
109
|
* });
|
|
101
110
|
*
|
|
102
111
|
* // Will add key to cache using the default adapter which is MemoryCacheAdapter
|
|
@@ -125,7 +134,7 @@ export class CacheFactory {
|
|
|
125
134
|
*
|
|
126
135
|
* // You can extend the settings
|
|
127
136
|
* const extendedCacheFactory = longLivedCacheFactory
|
|
128
|
-
* .
|
|
137
|
+
* .setRetryTimeout(TimeSpan.fromSeconds(1));
|
|
129
138
|
*
|
|
130
139
|
* await extendedCacheFactory
|
|
131
140
|
* .use()
|
|
@@ -140,9 +149,14 @@ export class CacheFactory {
|
|
|
140
149
|
if (adapter === undefined) {
|
|
141
150
|
throw new UnregisteredAdapterError(adapterName);
|
|
142
151
|
}
|
|
152
|
+
const { keyPrefixer } = this.settings;
|
|
143
153
|
return new Cache({
|
|
144
|
-
adapter,
|
|
145
154
|
...this.settings,
|
|
155
|
+
adapter,
|
|
156
|
+
keyPrefixer: new KeyPrefixer([
|
|
157
|
+
...resolveOneOrMore(keyPrefixer.originalRootPrefix),
|
|
158
|
+
adapterName,
|
|
159
|
+
]),
|
|
146
160
|
});
|
|
147
161
|
}
|
|
148
162
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cache-factory.js","sourceRoot":"","sources":["../../../../../src/cache/implementations/derivables/cache-factory/cache-factory.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACH,6BAA6B,EAC7B,wBAAwB,GAC3B,MAAM,gCAAgC,CAAC;AAMxC,OAAO,EACH,KAAK,GAGR,MAAM,qDAAqD,CAAC;
|
|
1
|
+
{"version":3,"file":"cache-factory.js","sourceRoot":"","sources":["../../../../../src/cache/implementations/derivables/cache-factory/cache-factory.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACH,6BAA6B,EAC7B,gBAAgB,EAChB,wBAAwB,GAC3B,MAAM,gCAAgC,CAAC;AAMxC,OAAO,EACH,KAAK,GAGR,MAAM,qDAAqD,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAiB,MAAM,gCAAgC,CAAC;AAwB5E;;;;GAIG;AACH,MAAM,OAAO,YAAY;IAQQ;IAL7B;;;;OAIG;IACH,YAA6B,QAAyC;QAAzC,aAAQ,GAAR,QAAQ,CAAiC;IAAG,CAAC;IAE1E,cAAc,CAAC,WAAwB;QACnC,OAAO,IAAI,YAAY,CAAC;YACpB,GAAG,IAAI,CAAC,QAAQ;YAChB,WAAW;SACd,CAAC,CAAC;IACP,CAAC;IAED,aAAa,CAAC,GAAa;QACvB,OAAO,IAAI,YAAY,CAAC;YACpB,GAAG,IAAI,CAAC,QAAQ;YAChB,UAAU,EAAE,GAAG;SAClB,CAAC,CAAC;IACP,CAAC;IAED,WAAW,CAAC,QAAiC;QACzC,OAAO,IAAI,YAAY,CAAC;YACpB,GAAG,IAAI,CAAC,QAAQ;YAChB,QAAQ;SACX,CAAC,CAAC;IACP,CAAC;IAED,gBAAgB,CAAC,QAAgB;QAC7B,OAAO,IAAI,YAAY,CAAC;YACpB,GAAG,IAAI,CAAC,QAAQ;YAChB,aAAa,EAAE,QAAQ;SAC1B,CAAC,CAAC;IACP,CAAC;IAED,gBAAgB,CAAC,MAAqB;QAClC,OAAO,IAAI,YAAY,CAAC;YACpB,GAAG,IAAI,CAAC,QAAQ;YAChB,aAAa,EAAE,MAAM;SACxB,CAAC,CAAC;IACP,CAAC;IAED,cAAc,CAAC,MAAmB;QAC9B,OAAO,IAAI,YAAY,CAAC;YACpB,GAAG,IAAI,CAAC,QAAQ;YAChB,WAAW,EAAE,MAAM;SACtB,CAAC,CAAC;IACP,CAAC;IAED,eAAe,CAAC,OAAiB;QAC7B,OAAO,IAAI,YAAY,CAAC;YACpB,GAAG,IAAI,CAAC,QAAQ;YAChB,YAAY,EAAE,OAAO;SACxB,CAAC,CAAC;IACP,CAAC;IAED,eAAe,CAAC,OAAiB;QAC7B,OAAO,IAAI,YAAY,CAAC;YACpB,GAAG,IAAI,CAAC,QAAQ;YAChB,YAAY,EAAE,OAAO;SACxB,CAAC,CAAC;IACP,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAyEG;IACH,GAAG,CACC,cAAqC,IAAI,CAAC,QAAQ,CAAC,cAAc;QAEjE,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC5B,MAAM,IAAI,6BAA6B,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAC/D,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACpD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YACxB,MAAM,IAAI,wBAAwB,CAAC,WAAW,CAAC,CAAC;QACpD,CAAC;QACD,MAAM,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC;QACtC,OAAO,IAAI,KAAK,CAAC;YACb,GAAG,IAAI,CAAC,QAAQ;YAChB,OAAO;YACP,WAAW,EAAE,IAAI,WAAW,CAAC;gBACzB,GAAG,gBAAgB,CAAC,WAAW,CAAC,kBAAkB,CAAC;gBACnD,WAAW;aACd,CAAC;SACL,CAAC,CAAC;IACP,CAAC;CACJ"}
|
package/dist/collection/implementations/async-iterable-collection/async-iterable-collection.d.ts
CHANGED
|
@@ -5,31 +5,14 @@ import type { EnsureMap, EnsureRecord } from "../../../collection/contracts/_mod
|
|
|
5
5
|
import { type AsyncCollapse, type AsyncPredicate, type AsyncForEach, type AsyncMap, type AsyncModifier, type AsyncTap, type AsyncTransform, type Comparator, type IAsyncCollection, type AsyncReduce, type CrossJoinResult } from "../../../collection/contracts/_module-exports.js";
|
|
6
6
|
import { type AsyncIterableValue, type AsyncLazyable } from "../../../utilities/_module-exports.js";
|
|
7
7
|
import type { TimeSpan } from "../../../utilities/_module-exports.js";
|
|
8
|
-
import type {
|
|
8
|
+
import type { LazyPromiseSettingsBase } from "../../../async/_module-exports.js";
|
|
9
9
|
import { LazyPromise } from "../../../async/_module-exports.js";
|
|
10
10
|
/**
|
|
11
11
|
*
|
|
12
12
|
* IMPORT_PATH: ```"@daiso-tech/core/collection"```
|
|
13
13
|
* @group Adapters
|
|
14
14
|
*/
|
|
15
|
-
export type AsyncIterableCollectionSettings =
|
|
16
|
-
/**
|
|
17
|
-
* The default retry attempt to use in the returned <i>LazyPromise</i>.
|
|
18
|
-
*/
|
|
19
|
-
retryAttempts?: number | null;
|
|
20
|
-
/**
|
|
21
|
-
* The default backof policy to use in the returned <i>LazyPromise</i>.
|
|
22
|
-
*/
|
|
23
|
-
backoffPolicy?: BackoffPolicy | null;
|
|
24
|
-
/**
|
|
25
|
-
* The default retry policy to use in the returned <i>LazyPromise</i>.
|
|
26
|
-
*/
|
|
27
|
-
retryPolicy?: RetryPolicy | null;
|
|
28
|
-
/**
|
|
29
|
-
* The default timeout to use in the returned <i>LazyPromise</i>.
|
|
30
|
-
*/
|
|
31
|
-
timeout?: TimeSpan | null;
|
|
32
|
-
};
|
|
15
|
+
export type AsyncIterableCollectionSettings = LazyPromiseSettingsBase;
|
|
33
16
|
/**
|
|
34
17
|
* All methods that return <i>{@link IAsyncCollection}</i> are executed lazly.
|
|
35
18
|
* The methods that return <i>{@link IAsyncCollection}</i> will only be executed when <i>forEach</i> method is called or <i>for await</i> loop.
|
|
@@ -146,7 +129,8 @@ export declare class AsyncIterableCollection<TInput = unknown> implements IAsync
|
|
|
146
129
|
private readonly retryAttempts;
|
|
147
130
|
private readonly backoffPolicy;
|
|
148
131
|
private readonly retryPolicy;
|
|
149
|
-
private readonly
|
|
132
|
+
private readonly retryTimeout;
|
|
133
|
+
private readonly totalTimeout;
|
|
150
134
|
/**
|
|
151
135
|
* The <i>constructor</i> takes an <i>{@link Iterable}</i> or <i>{@link AsyncIterable}</i>.
|
|
152
136
|
*
|
package/dist/collection/implementations/async-iterable-collection/async-iterable-collection.js
CHANGED
|
@@ -135,7 +135,8 @@ export class AsyncIterableCollection {
|
|
|
135
135
|
retryAttempts;
|
|
136
136
|
backoffPolicy;
|
|
137
137
|
retryPolicy;
|
|
138
|
-
|
|
138
|
+
retryTimeout;
|
|
139
|
+
totalTimeout;
|
|
139
140
|
/**
|
|
140
141
|
* The <i>constructor</i> takes an <i>{@link Iterable}</i> or <i>{@link AsyncIterable}</i>.
|
|
141
142
|
*
|
|
@@ -203,18 +204,20 @@ export class AsyncIterableCollection {
|
|
|
203
204
|
*/
|
|
204
205
|
constructor(iterable = [], settings = {}) {
|
|
205
206
|
this.iterable = iterable;
|
|
206
|
-
const { retryAttempts = null, retryPolicy = AsyncIterableCollection.defaultRetryPolicy, backoffPolicy = null,
|
|
207
|
+
const { retryAttempts = null, retryPolicy = AsyncIterableCollection.defaultRetryPolicy, backoffPolicy = null, retryTimeout = null, totalTimeout = null, } = settings;
|
|
207
208
|
this.retryAttempts = retryAttempts;
|
|
208
209
|
this.backoffPolicy = backoffPolicy;
|
|
209
210
|
this.retryPolicy = retryPolicy;
|
|
210
|
-
this.
|
|
211
|
+
this.retryTimeout = retryTimeout;
|
|
212
|
+
this.totalTimeout = totalTimeout;
|
|
211
213
|
}
|
|
212
214
|
createLazyPromise(asyncFn) {
|
|
213
215
|
return new LazyPromise(asyncFn, {
|
|
214
216
|
retryAttempts: this.retryAttempts,
|
|
215
217
|
backoffPolicy: this.backoffPolicy,
|
|
216
218
|
retryPolicy: this.retryPolicy,
|
|
217
|
-
|
|
219
|
+
retryTimeout: this.retryTimeout,
|
|
220
|
+
totalTimeout: this.totalTimeout,
|
|
218
221
|
});
|
|
219
222
|
}
|
|
220
223
|
async *[Symbol.asyncIterator]() {
|
package/dist/collection/implementations/async-iterable-collection/async-iterable-collection.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"async-iterable-collection.js","sourceRoot":"","sources":["../../../../src/collection/implementations/async-iterable-collection/async-iterable-collection.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,OAAO,EAUH,2BAA2B,EAC3B,iCAAiC,EACjC,yBAAyB,EACzB,mBAAmB,EAEnB,oBAAoB,GAEvB,MAAM,2CAA2C,CAAC;AACnD,OAAO,EACH,sBAAsB,EACtB,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,mBAAmB,EACnB,kBAAkB,EAClB,uBAAuB,EACvB,qBAAqB,EACrB,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,wBAAwB,EACxB,yBAAyB,EACzB,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,EACrB,oBAAoB,EACpB,iBAAiB,EACjB,sBAAsB,EACtB,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,sBAAsB,EACtB,gBAAgB,EAChB,mBAAmB,EACnB,mBAAmB,EACnB,iBAAiB,EACjB,gBAAgB,EAChB,oBAAoB,EACpB,kBAAkB,EAClB,mBAAmB,EACnB,2BAA2B,EAC3B,kBAAkB,EAClB,6BAA6B,GAChC,MAAM,2EAA2E,CAAC;AACnF,OAAO,EAGN,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AAGtE,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AA6BzD;;;;;GAKG;AACH,MAAM,OAAO,uBAAuB;IAsNX;IAnNrB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAgCG;IACH,MAAM,CAAC,MAAM,CACT,SAAyD;QAEzD,OAAO,IAAI,uBAAuB,CAAC,IAAI,kBAAkB,CAAC,SAAS,CAAC,CAAC,CAAC;IAC1E,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAqCG;IACH,MAAM,CAAC,UAAU,CACb,SAAqC,EACrC,SAAqC,EACrC,QAA8D;QAE9D,OAAO,IAAI,uBAAuB,CAAC,SAAS,CAAC,CAAC,UAAU,CACpD,SAAS,EACT,QAAQ,CACX,CAAC;IACN,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACH,MAAM,CAAC,GAAG,CACN,SAAsC,EACtC,SAAsC;QAEtC,OAAO,IAAI,uBAAuB,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACjE,CAAC;IAEO,MAAM,CAAC,kBAAkB,GAAG,IAAI,CAAC;IAEjC,MAAM,CAAC,kBAAkB,GAAgB,CAAC,KAAK,EAAE,EAAE;QACvD,OAAO,CAAC,CACJ,KAAK,YAAY,2BAA2B;YAC5C,KAAK,YAAY,iCAAiC;YAClD,KAAK,YAAY,mBAAmB;YACpC,KAAK,YAAY,oBAAoB,CACxC,CAAC;IACN,CAAC,CAAC;IAEM,MAAM,CAAC,cAAc,GAAG,CAC5B,QAAoC,EACZ,EAAE;QAC1B,OAAO,IAAI,uBAAuB,CAAS,QAAQ,CAAC,CAAC;IACzD,CAAC,CAAC;IAEe,aAAa,CAAgB;IAC7B,aAAa,CAAuB;IACpC,WAAW,CAAqB;IAChC,OAAO,CAAkB;IAE1C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAgEG;IACH,YACqB,WAAuC,EAAE,EAC1D,WAA4C,EAAE;QAD7B,aAAQ,GAAR,QAAQ,CAAiC;QAG1D,MAAM,EACF,aAAa,GAAG,IAAI,EACpB,WAAW,GAAG,uBAAuB,CAAC,kBAAkB,EACxD,aAAa,GAAG,IAAI,EACpB,OAAO,GAAG,IAAI,GACjB,GAAG,QAAQ,CAAC;QACb,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IAC3B,CAAC;IAEO,iBAAiB,CACrB,OAAkC;QAElC,OAAO,IAAI,WAAW,CAAC,OAAO,EAAE;YAC5B,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,OAAO,EAAE,IAAI,CAAC,OAAO;SACxB,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC;QACzB,KAAK,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;IAED,UAAU;QACN,OAAO,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,EAAiC,CAAC;IACvE,CAAC;IAED,OAAO;QACH,OAAO,IAAI,uBAAuB,CAAC,IAAI,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC;IACvE,CAAC;IAED,IAAI;QACA,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;IAC9C,CAAC;IAED,MAAM;QACF,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;IACxD,CAAC;IAED,MAAM,CACF,WAAsE;QAEtE,OAAO,IAAI,uBAAuB,CAC9B,IAAI,mBAAmB,CAAC,IAAI,EAAE,WAAW,CAAC,CAC7C,CAAC;IACN,CAAC;IAED,MAAM,CACF,WAAsE;QAEtE,OAAO,IAAI,CAAC,MAAM,CACd,KAAK,EAAE,GAAG,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,WAAW,CAAC,GAAG,UAAU,CAAC,CAAC,CAC/D,CAAC;IACN,CAAC;IAED,GAAG,CACC,KAA0D;QAE1D,OAAO,IAAI,uBAAuB,CAAC,IAAI,gBAAgB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;IAC1E,CAAC;IAcD,MAAM,CACF,QAAgE,EAChE,YAAsB;QAEtB,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAK,IAAI,EAAE;YACrC,IAAI,YAAY,KAAK,SAAS,IAAI,CAAC,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;gBACvD,MAAM,IAAI,mBAAmB,CACzB,uDAAuD,CAC1D,CAAC;YACN,CAAC;YACD,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;gBAC7B,IAAI,MAAM,GAAG,YAAuB,CAAC;gBAErC,IAAI,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;oBAC/C,MAAM,GAAG,MAAM,QAAQ,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;gBACvD,CAAC;gBACD,OAAO,MAAM,CAAC;YAClB,CAAC;YACD,uGAAuG;YACvG,IAAI,MAAM,GAAY,CAAC,MAAM,IAAI,CAAC,WAAW,EAAE,CAAQ,EACnD,KAAK,GAAG,CAAC,EACT,gBAAgB,GAAG,IAAI,CAAC;YAC5B,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;gBAC5B,IAAI,CAAC,gBAAgB,EAAE,CAAC;oBACpB,MAAM,GAAG,MAAM,QAAQ,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;gBACvD,CAAC;gBACD,gBAAgB,GAAG,KAAK,CAAC;gBACzB,KAAK,EAAE,CAAC;YACZ,CAAC;YACD,OAAO,MAAM,CAAC;QAClB,CAAC,CAAC,CAAC;IACP,CAAC;IAED,IAAI,CAAC,SAAS,GAAG,GAAG;QAChB,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAK,IAAI,EAAE;YACrC,IAAI,GAAG,GAAkB,IAAI,CAAC;YAC9B,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;gBAC5B,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;oBAC3B,MAAM,IAAI,mBAAmB,CACzB,qCAAqC,CACxC,CAAC;gBACN,CAAC;gBACD,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;oBACf,GAAG,GAAG,IAAI,CAAC;gBACf,CAAC;qBAAM,CAAC;oBACJ,GAAG,GAAG,GAAG,GAAG,SAAS,GAAG,IAAI,CAAC;gBACjC,CAAC;YACL,CAAC;YACD,OAAO,GAA8B,CAAC;QAC1C,CAAC,CAAC,CAAC;IACP,CAAC;IAED,QAAQ;QACJ,OAAO,IAAI,uBAAuB,CAAC,IAAI,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAAC;IACxE,CAAC;IAED,OAAO,CACH,KAAoE;QAEpE,OAAO,IAAI,uBAAuB,CAC9B,IAAI,oBAAoB,CAAC,IAAI,EAAE,KAAK,CAAC,CACxC,CAAC;IACN,CAAC;IAED,MAAM,CACF,WAIC,EACD,KAAoE;QAEpE,OAAO,IAAI,uBAAuB,CAC9B,IAAI,mBAAmB,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,CAAC,CACpD,CAAC;IACN,CAAC;IAED,GAAG,CACC,KAAa,EACb,KAAkE;QAElE,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YACZ,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,IAAI,EAAsD,CAAC;QAC3D,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE,CAAC;YAC9B,EAAE,GAAG,KAA2D,CAAC;QACrE,CAAC;aAAM,CAAC;YACJ,EAAE,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC;QACrB,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,EAAE,CAAC,YAAY,KAAK,KAAK,EAAE,EAAE,CAAC,CAAC;IACxE,CAAC;IAED,GAAG,CAAC,KAAa;QACb,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE,CAAC,YAAY,KAAK,KAAK,CAAC,CAAC;IACvE,CAAC;IAED,SAAS,CAAC,KAAa;QACnB,OAAO,IAAI,CAAC,WAAW,CACnB,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE,CAAC,YAAY,KAAK,KAAK,CAClD,CAAC;IACN,CAAC;IAED,IAAI,CAAC,IAAY,EAAE,QAAgB;QAC/B,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;YACX,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACrD,CAAC;QACD,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC3D,CAAC;IAED,GAAG;QACC,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAK,IAAI,EAAE;YACrC,IAAI,MAAM,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;gBACvB,MAAM,IAAI,oBAAoB,CAC1B,0DAA0D,CAC7D,CAAC;YACN,CAAC;YACD,IAAI,GAAG,GAAG,CAAC,CAAC;YACZ,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;gBAC5B,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;oBAC3B,MAAM,IAAI,mBAAmB,CACzB,qCAAqC,CACxC,CAAC;gBACN,CAAC;gBACD,GAAG,IAAI,IAAI,CAAC;YAChB,CAAC;YACD,OAAO,GAA8B,CAAC;QAC1C,CAAC,CAAC,CAAC;IACP,CAAC;IAED,OAAO;QACH,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAK,IAAI,EAAE;YACrC,IAAI,MAAM,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;gBACvB,MAAM,IAAI,oBAAoB,CAC1B,0DAA0D,CAC7D,CAAC;YACN,CAAC;YACD,IAAI,IAAI,GAAG,CAAC,EACR,GAAG,GAAG,CAAC,CAAC;YACZ,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;gBAC5B,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;oBAC3B,MAAM,IAAI,mBAAmB,CACzB,qCAAqC,CACxC,CAAC;gBACN,CAAC;gBACD,IAAI,EAAE,CAAC;gBACP,GAAG,IAAI,IAAI,CAAC;YAChB,CAAC;YACD,OAAO,CAAC,GAAG,GAAG,IAAI,CAA4B,CAAC;QACnD,CAAC,CAAC,CAAC;IACP,CAAC;IAED,MAAM;QACF,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAK,IAAI,EAAE;YACrC,IAAI,MAAM,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;gBACvB,MAAM,IAAI,oBAAoB,CAC1B,0DAA0D,CAC7D,CAAC;YACN,CAAC;YACD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;YAC/B,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;gBACb,OAAO,CAA4B,CAAC;YACxC,CAAC;YACD,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,EACzB,KAAK,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;gBAC5B,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;oBAC3B,MAAM,IAAI,mBAAmB,CACzB,qCAAqC,CACxC,CAAC;gBACN,CAAC;gBACD,OAAO,IAAI,CAAC;YAChB,CAAC,CAAC;iBACG,MAAM,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;gBACrB,IAAI,MAAM,EAAE,CAAC;oBACT,OAAO,KAAK,KAAK,IAAI,GAAG,CAAC,IAAI,KAAK,KAAK,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;gBACxD,CAAC;gBACD,OAAO,KAAK,KAAK,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;YAC1C,CAAC,CAAC;iBAED,OAAO,EAAE,CAAC;YACnB,IAAI,MAAM,EAAE,CAAC;gBACT,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC;gBACrB,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;oBAClB,MAAM,IAAI,yBAAyB,CAAC,qBAAqB,CAAC,CAAC;gBAC/D,CAAC;gBACD,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;oBAClB,MAAM,IAAI,yBAAyB,CAAC,qBAAqB,CAAC,CAAC;gBAC/D,CAAC;gBACD,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAA4B,CAAC;YACpD,CAAC;YACD,MAAM,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC;YACvB,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACvB,MAAM,IAAI,yBAAyB,CAAC,qBAAqB,CAAC,CAAC;YAC/D,CAAC;YACD,OAAO,MAAiC,CAAC;QAC7C,CAAC,CAAC,CAAC;IACP,CAAC;IAED,GAAG;QACC,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAK,IAAI,EAAE;YACrC,IAAI,MAAM,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;gBACvB,MAAM,IAAI,oBAAoB,CAC1B,0DAA0D,CAC7D,CAAC;YACN,CAAC;YACD,IAAI,GAAG,GAAG,CAAC,CAAC;YACZ,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;gBAC5B,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;oBAC3B,MAAM,IAAI,mBAAmB,CACzB,qCAAqC,CACxC,CAAC;gBACN,CAAC;gBACD,IAAI,GAAG,KAAK,CAAC,EAAE,CAAC;oBACZ,GAAG,GAAG,IAAI,CAAC;gBACf,CAAC;qBAAM,IAAI,GAAG,GAAG,IAAI,EAAE,CAAC;oBACpB,GAAG,GAAG,IAAI,CAAC;gBACf,CAAC;YACL,CAAC;YACD,OAAO,GAA8B,CAAC;QAC1C,CAAC,CAAC,CAAC;IACP,CAAC;IAED,GAAG;QACC,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAK,IAAI,EAAE;YACrC,IAAI,MAAM,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;gBACvB,MAAM,IAAI,oBAAoB,CAC1B,0DAA0D,CAC7D,CAAC;YACN,CAAC;YACD,IAAI,GAAG,GAAG,CAAC,CAAC;YACZ,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;gBAC5B,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;oBAC3B,MAAM,IAAI,mBAAmB,CACzB,qCAAqC,CACxC,CAAC;gBACN,CAAC;gBACD,IAAI,GAAG,KAAK,CAAC,EAAE,CAAC;oBACZ,GAAG,GAAG,IAAI,CAAC;gBACf,CAAC;qBAAM,IAAI,GAAG,GAAG,IAAI,EAAE,CAAC;oBACpB,GAAG,GAAG,IAAI,CAAC;gBACf,CAAC;YACL,CAAC;YACD,OAAO,GAA8B,CAAC;QAC1C,CAAC,CAAC,CAAC;IACP,CAAC;IAED,UAAU,CACN,WAA6D;QAE7D,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAK,IAAI,EAAE;YACrC,IAAI,MAAM,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;gBACvB,MAAM,IAAI,oBAAoB,CAC1B,0DAA0D,CAC7D,CAAC;YACN,CAAC;YACD,IAAI,IAAI,GAAG,CAAC,EACR,KAAK,GAAG,CAAC,CAAC;YACd,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;gBAC5B,IAAI,MAAM,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC;oBACvC,IAAI,EAAE,CAAC;gBACX,CAAC;gBACD,KAAK,EAAE,CAAC;YACZ,CAAC;YACD,OAAO,CAAC,IAAI,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC;QAChC,CAAC,CAAC,CAAC;IACP,CAAC;IAED,IAAI,CACA,WAAsE;QAEtE,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAK,IAAI,EAAE;YACrC,IAAI,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;gBAC/C,IAAI,MAAM,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC;oBACvC,OAAO,IAAI,CAAC;gBAChB,CAAC;YACL,CAAC;YACD,OAAO,KAAK,CAAC;QACjB,CAAC,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CACD,WAAsE;QAEtE,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAK,IAAI,EAAE;YACrC,IAAI,MAAM,GAAG,IAAI,CAAC;YAClB,IAAI,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;gBAC/C,MAAM,KAAK,MAAM,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;gBAChD,IAAI,CAAC,MAAM,EAAE,CAAC;oBACV,MAAM;gBACV,CAAC;YACL,CAAC;YACD,OAAO,MAAM,CAAC;QAClB,CAAC,CAAC,CAAC;IACP,CAAC;IAED,IAAI,CAAC,KAAa;QACd,OAAO,IAAI,uBAAuB,CAAC,IAAI,iBAAiB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;IAC3E,CAAC;IAED,SAAS,CACL,WAA6D;QAE7D,OAAO,IAAI,uBAAuB,CAC9B,IAAI,sBAAsB,CAAC,IAAI,EAAE,WAAW,CAAC,CAChD,CAAC;IACN,CAAC;IAED,SAAS,CACL,WAA6D;QAE7D,OAAO,IAAI,CAAC,SAAS,CACjB,KAAK,EAAE,GAAG,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,WAAW,CAAC,GAAG,UAAU,CAAC,CAAC,CAC/D,CAAC;IACN,CAAC;IAED,IAAI,CAAC,MAAc;QACf,OAAO,IAAI,uBAAuB,CAAC,IAAI,iBAAiB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;IAC5E,CAAC;IAED,SAAS,CACL,WAA6D;QAE7D,OAAO,IAAI,uBAAuB,CAC9B,IAAI,sBAAsB,CAAC,IAAI,EAAE,WAAW,CAAC,CAChD,CAAC;IACN,CAAC;IAED,SAAS,CACL,WAA6D;QAE7D,OAAO,IAAI,CAAC,SAAS,CACjB,KAAK,EAAE,GAAG,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,WAAW,CAAC,GAAG,UAAU,CAAC,CAAC,CAC/D,CAAC;IACN,CAAC;IAED,IAAI,CACA,SAAkB,EAClB,QAGC;QAED,OAAO,IAAI,uBAAuB,CAC9B,IAAI,iBAAiB,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,CACzD,CAAC;IACN,CAAC;IAED,SAAS,CACL,QAGC;QAED,OAAO,IAAI,uBAAuB,CAC9B,IAAI,iBAAiB,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,QAAQ,CAAC,CAC9D,CAAC;IACN,CAAC;IAED,OAAO,CACH,SAAkB,EAClB,QAGC;QAED,OAAO,IAAI,uBAAuB,CAC9B,IAAI,iBAAiB,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,SAAS,EAAE,QAAQ,CAAC,CAC1D,CAAC;IACN,CAAC;IAED,YAAY,CACR,QAGC;QAED,OAAO,IAAI,uBAAuB,CAC9B,IAAI,iBAAiB,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,QAAQ,CAAC,CACjE,CAAC;IACN,CAAC;IAED,IAAI,CACA,QAA2D;QAE3D,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAK,IAAI,EAAE;YACrC,OAAO,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;IACP,CAAC;IAED,GAAG,CACC,QAA4C;QAE5C,OAAO,IAAI,uBAAuB,CAC9B,IAAI,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC,CACvC,CAAC;IACN,CAAC;IAED,KAAK,CAAC,SAAiB;QACnB,OAAO,IAAI,uBAAuB,CAC9B,IAAI,kBAAkB,CAClB,IAAI,EACJ,SAAS,EACT,uBAAuB,CAAC,cAAc,CACzC,CACJ,CAAC;IACN,CAAC;IAED,UAAU,CACN,WAA6D;QAE7D,OAAO,IAAI,uBAAuB,CAC9B,IAAI,uBAAuB,CACvB,IAAI,EACJ,WAAW,EACX,uBAAuB,CAAC,cAAc,CACzC,CACJ,CAAC;IACN,CAAC;IAED,KAAK,CAAC,WAAmB;QACrB,OAAO,IAAI,uBAAuB,CAC9B,IAAI,kBAAkB,CAClB,IAAI,EACJ,WAAW,EACX,uBAAuB,CAAC,cAAc,CACzC,CACJ,CAAC;IACN,CAAC;IAED,SAAS,CACL,WAA6D;QAE7D,OAAO,IAAI,uBAAuB,CAC9B,IAAI,oBAAoB,CACpB,IAAI,EACJ,WAAW,EACX,uBAAuB,CAAC,cAAc,CACzC,CACJ,CAAC;IACN,CAAC;IAED,OAAO,CACH,SAAiB,EACjB,IAAI,GAAG,SAAS,GAAG,CAAC;QAEpB,OAAO,IAAI,uBAAuB,CAC9B,IAAI,oBAAoB,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,CAClD,CAAC;IACN,CAAC;IAED,OAAO,CACH,QAA8D;QAE9D,OAAO,IAAI,uBAAuB,CAC9B,IAAI,oBAAoB,CACpB,IAAI,EACJ,QAAQ,EACR,uBAAuB,CAAC,cAAc,CACzC,CACJ,CAAC;IACN,CAAC;IAED,OAAO,CACH,QAA8D;QAE9D,OAAO,IAAI,uBAAuB,CAC9B,IAAI,oBAAoB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAC3C,CAAC;IACN,CAAC;IAED,MAAM,CACF,QAA8D;QAE9D,OAAO,IAAI,uBAAuB,CAC9B,IAAI,mBAAmB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAC1C,CAAC;IACN,CAAC;IAED,UAAU,CACN,QAAoC,EACpC,WAAgE,CAC5D,IAAI,EACN,EAAE,CAAC,IAA0B;QAE/B,MAAM,oBAAoB,GAAG,IAAI,uBAAuB,CAAC,QAAQ,CAAC,CAAC;QACnE,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE;YACjD,OAAO,CAAC,CAAC,MAAM,oBAAoB,CAAC,IAAI,CACpC,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,eAAe,EAAE,EAAE;gBAC7C,OAAO,CACH,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;oBACzC,CAAC,MAAM,QAAQ,CAAC,SAAS,EAAE,UAAU,EAAE,eAAe,CAAC,CAAC,CAC3D,CAAC;YACN,CAAC,CACJ,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;IAED,MAAM,CAAC,MAAc;QACjB,OAAO,IAAI,uBAAuB,CAC9B,IAAI,mBAAmB,CACnB,IAAI,EACJ,MAAM,EACN,uBAAuB,CAAC,cAAc,CACzC,CACJ,CAAC;IACN,CAAC;IAED,QAAQ,CACJ,SAAiB,EACjB,SAAwC;QAExC,OAAO,IAAI,uBAAuB,CAC9B,IAAI,qBAAqB,CACrB,IAAI,EACJ,SAAS,EACT,SAAS,EACT,uBAAuB,CAAC,cAAc,CACzC,CACJ,CAAC;IACN,CAAC;IAED,MAAM,CACF,SAAiB,EACjB,SAAwC;QAExC,OAAO,IAAI,uBAAuB,CAC9B,IAAI,mBAAmB,CACnB,IAAI,EACJ,SAAS,EACT,SAAS,EACT,uBAAuB,CAAC,cAAc,CACzC,CACJ,CAAC;IACN,CAAC;IAED,KAAK,CAAC,KAAc,EAAE,GAAY;QAC9B,OAAO,IAAI,uBAAuB,CAC9B,IAAI,kBAAkB,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,CAC3C,CAAC;IACN,CAAC;IAED,OAAO,CACH,QAAgD;QAEhD,OAAO,IAAI,uBAAuB,CAC9B,IAAI,kBAAkB,CAAC,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAC3C,CAAC;IACN,CAAC;IAED,MAAM,CACF,QAAgD;QAEhD,OAAO,IAAI,uBAAuB,CAC9B,IAAI,kBAAkB,CAAC,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAC3C,CAAC;IACN,CAAC;IAED,YAAY,CACR,WAA6D,EAC7D,QAAgD;QAEhD,OAAO,IAAI,uBAAuB,CAC9B,IAAI,yBAAyB,CAAC,IAAI,EAAE,WAAW,EAAE,QAAQ,CAAC,CAC7D,CAAC;IACN,CAAC;IAED,WAAW,CACP,WAA6D,EAC7D,QAAgD;QAEhD,OAAO,IAAI,uBAAuB,CAC9B,IAAI,wBAAwB,CAAC,IAAI,EAAE,WAAW,EAAE,QAAQ,CAAC,CAC5D,CAAC;IACN,CAAC;IAED,SAAS,CACL,QAAuC;QAEvC,OAAO,IAAI,uBAAuB,CAC9B,IAAI,sBAAsB,CACtB,IAAI,EACJ,QAAQ,EACR,uBAAuB,CAAC,cAAc,CACzC,CACJ,CAAC;IACN,CAAC;IAED,GAAG,CACC,QAAuC;QAEvC,OAAO,IAAI,uBAAuB,CAC9B,IAAI,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC,CACvC,CAAC;IACN,CAAC;IAED,IAAI,CAAC,UAA+B;QAChC,OAAO,IAAI,uBAAuB,CAC9B,IAAI,iBAAiB,CAAC,IAAI,EAAE,UAAU,CAAC,CAC1C,CAAC;IACN,CAAC;IAED,OAAO,CAAC,SAAkB;QACtB,OAAO,IAAI,uBAAuB,CAC9B,IAAI,oBAAoB,CACpB,IAAI,EACJ,SAAS,IAAI,uBAAuB,CAAC,kBAAkB,EACvD,uBAAuB,CAAC,cAAc,CACzC,CACJ,CAAC;IACN,CAAC;IAED,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,MAAM;QAC5B,OAAO,IAAI,uBAAuB,CAC9B,IAAI,oBAAoB,CAAC,IAAI,EAAE,UAAU,CAAC,CAC7C,CAAC;IACN,CAAC;IAED,KAAK,CACD,WAAuE;QAEvE,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IAC3C,CAAC;IAED,OAAO,CACH,YAAsC,EACtC,cAII,GAAG,EAAE,CAAC,IAAI;QAEd,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAK,IAAI,EAAE;YACrC,IAAI,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;gBAC/C,IAAI,MAAM,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC;oBACvC,OAAO,IAAe,CAAC;gBAC3B,CAAC;YACL,CAAC;YACD,OAAO,MAAM,oBAAoB,CAAC,YAAY,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC;IACP,CAAC;IAED,WAAW,CACP,WAAuE;QAEvE,OAAO,IAAI,CAAC,iBAAiB,CAAU,KAAK,IAAI,EAAE;YAC9C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;YAC3C,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;gBAChB,MAAM,IAAI,2BAA2B,CAAC,oBAAoB,CAAC,CAAC;YAChE,CAAC;YACD,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC;IACP,CAAC;IAED,IAAI,CACA,WAAuE;QAEvE,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IAC1C,CAAC;IAED,MAAM,CACF,YAAsC,EACtC,cAII,GAAG,EAAE,CAAC,IAAI;QAEd,OAAO,IAAI,CAAC,iBAAiB,CAAsB,KAAK,IAAI,EAAE;YAC1D,IAAI,WAAW,GAAmB,IAAI,CAAC;YACvC,IAAI,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;gBAC/C,IAAI,MAAM,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC;oBACvC,WAAW,GAAG,IAAe,CAAC;gBAClC,CAAC;YACL,CAAC;YACD,IAAI,WAAW,EAAE,CAAC;gBACd,OAAO,WAAW,CAAC;YACvB,CAAC;YACD,OAAO,MAAM,oBAAoB,CAAC,YAAY,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC;IACP,CAAC;IAED,UAAU,CACN,WAAuE;QAEvE,OAAO,IAAI,CAAC,iBAAiB,CAAU,KAAK,IAAI,EAAE;YAC9C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAC1C,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;gBAChB,MAAM,IAAI,2BAA2B,CAAC,oBAAoB,CAAC,CAAC;YAChE,CAAC;YACD,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC;IACP,CAAC;IAED,MAAM,CACF,WAA6D;QAE7D,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IAC5C,CAAC;IAED,QAAQ,CACJ,YAAsC,EACtC,WAA6D;QAE7D,OAAO,IAAI,CAAC,iBAAiB,CAAqB,KAAK,IAAI,EAAE;YACzD,IAAI,UAAU,GAAkB,IAAI,EAChC,KAAK,GAAG,CAAC,CAAC;YACd,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;gBAC5B,IAAI,CAAC,MAAM,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,IAAI,UAAU,EAAE,CAAC;oBACvD,OAAO,UAAU,CAAC;gBACtB,CAAC;gBACD,KAAK,EAAE,CAAC;gBACR,UAAU,GAAG,IAAI,CAAC;YACtB,CAAC;YACD,OAAO,MAAM,oBAAoB,CAAC,YAAY,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC;IACP,CAAC;IAED,YAAY,CACR,WAA6D;QAE7D,OAAO,IAAI,CAAC,iBAAiB,CAAS,KAAK,IAAI,EAAE;YAC7C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;YAC5C,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;gBAChB,MAAM,IAAI,2BAA2B,CAAC,oBAAoB,CAAC,CAAC;YAChE,CAAC;YACD,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CACD,WAA6D;QAE7D,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IAC3C,CAAC;IAED,OAAO,CACH,YAAsC,EACtC,WAA6D;QAE7D,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAK,IAAI,EAAE;YACrC,IAAI,UAAU,GAAG,KAAK,EAClB,KAAK,GAAG,CAAC,CAAC;YACd,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;gBAC5B,IAAI,UAAU,EAAE,CAAC;oBACb,OAAO,IAAI,CAAC;gBAChB,CAAC;gBACD,UAAU,GAAG,MAAM,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;gBAClD,KAAK,EAAE,CAAC;YACZ,CAAC;YACD,OAAO,MAAM,oBAAoB,CAAC,YAAY,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC;IACP,CAAC;IAED,WAAW,CACP,WAA6D;QAE7D,OAAO,IAAI,CAAC,iBAAiB,CAAS,KAAK,IAAI,EAAE;YAC7C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;YAC3C,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;gBAChB,MAAM,IAAI,2BAA2B,CAAC,oBAAoB,CAAC,CAAC;YAChE,CAAC;YACD,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC;IACP,CAAC;IAED,IAAI,CACA,WAAsE;QAEtE,OAAO,IAAI,CAAC,iBAAiB,CAAU,KAAK,IAAI,EAAE;YAC9C,IAAI,WAAW,GAAmB,IAAI,CAAC;YACvC,IAAI,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;gBAC/C,IAAI,MAAM,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC;oBACvC,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;wBACvB,MAAM,IAAI,iCAAiC,CACvC,2BAA2B,CAC9B,CAAC;oBACN,CAAC;oBACD,WAAW,GAAG,IAAe,CAAC;gBAClC,CAAC;YACL,CAAC;YACD,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;gBACvB,MAAM,IAAI,2BAA2B,CAAC,oBAAoB,CAAC,CAAC;YAChE,CAAC;YACD,OAAO,WAAW,CAAC;QACvB,CAAC,CAAC,CAAC;IACP,CAAC;IAED,GAAG,CAAC,IAAY;QACZ,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC;IAC7D,CAAC;IAED,KAAK,CAAC,IAAc;QAChB,OAAO,IAAI,uBAAuB,CAAC,IAAI,kBAAkB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;IAC3E,CAAC;IAED,cAAc,CAAC,WAAwB;QACnC,OAAO,IAAI,uBAAuB,CAC9B,IAAI,2BAA2B,CAAC,IAAI,EAAE,WAAW,CAAC,CACrD,CAAC;IACN,CAAC;IAED,gBAAgB,CAAC,IAAc;QAC3B,OAAO,IAAI,uBAAuB,CAC9B,IAAI,6BAA6B,CAAC,IAAI,EAAE,IAAI,CAAC,CAChD,CAAC;IACN,CAAC;IAED,KAAK,CACD,WAA6D;QAE7D,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAK,IAAI,EAAE;YACrC,IAAI,IAAI,GAAG,CAAC,CAAC;YACb,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;gBAC5B,IAAI,MAAM,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC;oBACtC,IAAI,EAAE,CAAC;gBACX,CAAC;YACL,CAAC;YACD,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC;IACP,CAAC;IAED,IAAI;QACA,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;IAED,OAAO;QACH,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAK,IAAI,EAAE;YACrC,IAAI,KAAK,EAAE,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;gBACzB,OAAO,KAAK,CAAC;YACjB,CAAC;YACD,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC;IACP,CAAC;IAED,UAAU;QACN,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAK,IAAI,EAAE;YACrC,OAAO,CAAC,CAAC,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;IACP,CAAC;IAED,WAAW,CACP,WAA6D;QAE7D,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAK,IAAI,EAAE;YACrC,IAAI,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;gBAC/C,IAAI,MAAM,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC;oBACvC,OAAO,KAAK,CAAC;gBACjB,CAAC;YACL,CAAC;YACD,OAAO,CAAC,CAAC,CAAC;QACd,CAAC,CAAC,CAAC;IACP,CAAC;IAED,UAAU,CACN,WAA6D;QAE7D,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAK,IAAI,EAAE;YACrC,IAAI,YAAY,GAAG,CAAC,CAAC,CAAC;YACtB,IAAI,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;gBAC/C,IAAI,MAAM,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC;oBACvC,YAAY,GAAG,KAAK,CAAC;gBACzB,CAAC;YACL,CAAC;YACD,OAAO,YAAY,CAAC;QACxB,CAAC,CAAC,CAAC;IACP,CAAC;IAED,OAAO,CACH,QAAwD;QAExD,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAK,IAAI,EAAE;YACrC,IAAI,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;gBAC/C,MAAM,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;YACtC,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAED,OAAO;QACH,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAK,IAAI,EAAE;YACrC,MAAM,KAAK,GAAa,EAAE,CAAC;YAC3B,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;gBAC5B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACrB,CAAC;YACD,OAAO,KAAK,CAAC;QACjB,CAAC,CAAC,CAAC;IACP,CAAC;IAED,QAAQ;QACJ,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAK,IAAI,EAAE;YACrC,MAAM,MAAM,GAA8C,EAAE,CAAC;YAC7D,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;gBAC5B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;oBACvB,MAAM,IAAI,mBAAmB,CACzB,uGAAuG,CAC1G,CAAC;gBACN,CAAC;gBACD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACpB,MAAM,IAAI,mBAAmB,CACzB,uGAAuG,CAC1G,CAAC;gBACN,CAAC;gBACD,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,IAAI,CAAC;gBAC1B,IACI,CAAC,CACG,OAAO,GAAG,KAAK,QAAQ;oBACvB,OAAO,GAAG,KAAK,QAAQ;oBACvB,OAAO,GAAG,KAAK,QAAQ,CAC1B,EACH,CAAC;oBACC,MAAM,IAAI,mBAAmB,CACzB,uGAAuG,CAC1G,CAAC;gBACN,CAAC;gBACD,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YACxB,CAAC;YACD,OAAO,MAA8B,CAAC;QAC1C,CAAC,CAAC,CAAC;IACP,CAAC;IAED,KAAK;QACD,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAK,IAAI,EAAE;YACrC,MAAM,GAAG,GAAG,IAAI,GAAG,EAAE,CAAC;YACtB,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;gBAC5B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;oBACvB,MAAM,IAAI,mBAAmB,CACzB,gDAAgD,CACnD,CAAC;gBACN,CAAC;gBACD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACpB,MAAM,IAAI,mBAAmB,CACzB,gDAAgD,CACnD,CAAC;gBACN,CAAC;gBACD,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,IAAI,CAAC;gBAC1B,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YACxB,CAAC;YACD,OAAO,GAAwB,CAAC;QACpC,CAAC,CAAC,CAAC;IACP,CAAC"}
|
|
1
|
+
{"version":3,"file":"async-iterable-collection.js","sourceRoot":"","sources":["../../../../src/collection/implementations/async-iterable-collection/async-iterable-collection.ts"],"names":[],"mappings":"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"}
|
package/dist/event-bus/implementations/adapters/no-op-event-bus-adapter/no-op-event-bus-adapter.d.ts
CHANGED
|
@@ -5,7 +5,7 @@ import type { BaseEvent } from "../../../../event-bus/contracts/_module-exports.
|
|
|
5
5
|
import type { IEventBusAdapter } from "../../../../event-bus/contracts/_module-exports.js";
|
|
6
6
|
import type { InvokableFn } from "../../../../utilities/types.js";
|
|
7
7
|
/**
|
|
8
|
-
* This <i>NoOpEventBusAdapter</i> will do nothing and is used for easily mocking {@link IEventBus} for testing.
|
|
8
|
+
* This <i>NoOpEventBusAdapter</i> will do nothing and is used for easily mocking <i>{@link IEventBus}</i> for testing.
|
|
9
9
|
*
|
|
10
10
|
* IMPORT_PATH: ```"@daiso-tech/core/event-bus/adapters"```
|
|
11
11
|
* @group Adapters
|
package/dist/event-bus/implementations/adapters/no-op-event-bus-adapter/no-op-event-bus-adapter.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* @module EventBus
|
|
3
3
|
*/
|
|
4
4
|
/**
|
|
5
|
-
* This <i>NoOpEventBusAdapter</i> will do nothing and is used for easily mocking {@link IEventBus} for testing.
|
|
5
|
+
* This <i>NoOpEventBusAdapter</i> will do nothing and is used for easily mocking <i>{@link IEventBus}</i> for testing.
|
|
6
6
|
*
|
|
7
7
|
* IMPORT_PATH: ```"@daiso-tech/core/event-bus/adapters"```
|
|
8
8
|
* @group Adapters
|
|
@@ -1,38 +1,18 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @module EventBus
|
|
3
3
|
*/
|
|
4
|
-
import type {
|
|
4
|
+
import type { LazyPromiseSettingsBase } from "../../../../async/_module-exports.js";
|
|
5
5
|
import { LazyPromise } from "../../../../async/_module-exports.js";
|
|
6
6
|
import type { EventClass, EventInstance, Unsubscribe } from "../../../../event-bus/contracts/_module-exports.js";
|
|
7
7
|
import { type IEventBus, type IGroupableEventBus, type IEventBusAdapter, type BaseEvent } from "../../../../event-bus/contracts/_module-exports.js";
|
|
8
|
-
import type { Factoryable, Invokable, IKeyPrefixer, OneOrMore,
|
|
8
|
+
import type { Factoryable, Invokable, IKeyPrefixer, OneOrMore, Items } from "../../../../utilities/_module-exports.js";
|
|
9
9
|
/**
|
|
10
10
|
*
|
|
11
11
|
* IMPORT_PATH: ```"@daiso-tech/core/event-bus"```
|
|
12
12
|
* @group Derivables
|
|
13
13
|
*/
|
|
14
|
-
export type EventBusSettingsBase = {
|
|
14
|
+
export type EventBusSettingsBase = LazyPromiseSettingsBase & {
|
|
15
15
|
keyPrefixer: IKeyPrefixer;
|
|
16
|
-
/**
|
|
17
|
-
* The default retry attempt to use in the returned <i>LazyPromise</i>.
|
|
18
|
-
* @default {null}
|
|
19
|
-
*/
|
|
20
|
-
retryAttempts?: number | null;
|
|
21
|
-
/**
|
|
22
|
-
* The default backof policy to use in the returned <i>LazyPromise</i>.
|
|
23
|
-
* @default {null}
|
|
24
|
-
*/
|
|
25
|
-
backoffPolicy?: BackoffPolicy | null;
|
|
26
|
-
/**
|
|
27
|
-
* The default retry policy to use in the returned <i>LazyPromise</i>.
|
|
28
|
-
* @default {null}
|
|
29
|
-
*/
|
|
30
|
-
retryPolicy?: RetryPolicy | null;
|
|
31
|
-
/**
|
|
32
|
-
* The default timeout to use in the returned <i>LazyPromise</i>.
|
|
33
|
-
* @default {null}
|
|
34
|
-
*/
|
|
35
|
-
timeout?: TimeSpan | null;
|
|
36
16
|
};
|
|
37
17
|
/**
|
|
38
18
|
*
|
|
@@ -59,7 +39,8 @@ export declare class EventBus<TEvents extends BaseEvent = BaseEvent> implements
|
|
|
59
39
|
private readonly retryAttempts;
|
|
60
40
|
private readonly backoffPolicy;
|
|
61
41
|
private readonly retryPolicy;
|
|
62
|
-
private readonly
|
|
42
|
+
private readonly retryTimeout;
|
|
43
|
+
private readonly totalTimeout;
|
|
63
44
|
private readonly store;
|
|
64
45
|
private readonly adapterPromise;
|
|
65
46
|
private keyPrefixer;
|
|
@@ -82,22 +63,25 @@ export declare class EventBus<TEvents extends BaseEvent = BaseEvent> implements
|
|
|
82
63
|
* import type { IEventBusAdapter } from "@daiso-tech/core/event-bus/contracts";
|
|
83
64
|
* import { MemoryEventBusAdapter } from "@daiso-tech/core/event-bus/adapters";
|
|
84
65
|
* import { EventBus } from "@daiso-tech/core/event-bus";
|
|
85
|
-
* import { KeyPrefixer, type
|
|
66
|
+
* import { KeyPrefixer, type FactoryFn } from "@daiso-tech/utilities";
|
|
86
67
|
*
|
|
87
|
-
*
|
|
68
|
+
* type Store = Partial<Record<string, IEventBusAdapter>> = {};
|
|
88
69
|
*
|
|
89
|
-
* async function cahceAdapterFactory(
|
|
90
|
-
*
|
|
91
|
-
*
|
|
92
|
-
* adapter
|
|
93
|
-
*
|
|
70
|
+
* async function cahceAdapterFactory(store: Store): FactoryFn<string, IEventBusAdapter> {
|
|
71
|
+
* return (prefix) => {
|
|
72
|
+
* let adapter = store[prefix];
|
|
73
|
+
* if (adapter === undefined) {
|
|
74
|
+
* adapter = new MemoryEventBusAdapter();
|
|
75
|
+
* store[prefix] = adapter;
|
|
76
|
+
* }
|
|
77
|
+
* return adapter;
|
|
94
78
|
* }
|
|
95
|
-
* return adapter;
|
|
96
79
|
* }
|
|
97
80
|
*
|
|
81
|
+
* const store: Store = {}
|
|
98
82
|
* const eventBus = new EventBus({
|
|
99
83
|
* keyPrefixer: new KeyPrefixer("event-bus"),
|
|
100
|
-
* adapter: cahceAdapterFactory
|
|
84
|
+
* adapter: cahceAdapterFactory(store)
|
|
101
85
|
* });
|
|
102
86
|
* ```
|
|
103
87
|
*
|
|
@@ -109,9 +93,10 @@ export declare class EventBus<TEvents extends BaseEvent = BaseEvent> implements
|
|
|
109
93
|
* import { EventBus } from "@daiso-tech/core/event-bus";
|
|
110
94
|
* import { KeyPrefixer, type IFactoryObject, type Promiseable } from "@daiso-tech/utilities";
|
|
111
95
|
*
|
|
96
|
+
* type Store = Partial<Record<string, IEventBusAdapter>>;
|
|
112
97
|
*
|
|
113
98
|
* class EventBusAdapterFactory implements IFactoryObject<string, IEventBusAdapter> {
|
|
114
|
-
* private store:
|
|
99
|
+
* constructor(private readonly store: Store) {}
|
|
115
100
|
*
|
|
116
101
|
* async use(prefix: string): Promiseable<IEventBusAdapter> {
|
|
117
102
|
* let adapter = this.store[prefix];
|
|
@@ -123,10 +108,10 @@ export declare class EventBus<TEvents extends BaseEvent = BaseEvent> implements
|
|
|
123
108
|
* }
|
|
124
109
|
* }
|
|
125
110
|
*
|
|
126
|
-
* const
|
|
111
|
+
* const store: Store = {}
|
|
127
112
|
* const eventBus = new EventBus({
|
|
128
113
|
* keyPrefixer: new KeyPrefixer("event-bus"),
|
|
129
|
-
* adapter:
|
|
114
|
+
* adapter: new EventBusAdapterFactory(store)
|
|
130
115
|
* });
|
|
131
116
|
* ```
|
|
132
117
|
*/
|
|
@@ -16,7 +16,8 @@ export class EventBus {
|
|
|
16
16
|
retryAttempts;
|
|
17
17
|
backoffPolicy;
|
|
18
18
|
retryPolicy;
|
|
19
|
-
|
|
19
|
+
retryTimeout;
|
|
20
|
+
totalTimeout;
|
|
20
21
|
store = new ListenerStore();
|
|
21
22
|
adapterPromise;
|
|
22
23
|
keyPrefixer;
|
|
@@ -39,22 +40,25 @@ export class EventBus {
|
|
|
39
40
|
* import type { IEventBusAdapter } from "@daiso-tech/core/event-bus/contracts";
|
|
40
41
|
* import { MemoryEventBusAdapter } from "@daiso-tech/core/event-bus/adapters";
|
|
41
42
|
* import { EventBus } from "@daiso-tech/core/event-bus";
|
|
42
|
-
* import { KeyPrefixer, type
|
|
43
|
+
* import { KeyPrefixer, type FactoryFn } from "@daiso-tech/utilities";
|
|
43
44
|
*
|
|
44
|
-
*
|
|
45
|
+
* type Store = Partial<Record<string, IEventBusAdapter>> = {};
|
|
45
46
|
*
|
|
46
|
-
* async function cahceAdapterFactory(
|
|
47
|
-
*
|
|
48
|
-
*
|
|
49
|
-
* adapter
|
|
50
|
-
*
|
|
47
|
+
* async function cahceAdapterFactory(store: Store): FactoryFn<string, IEventBusAdapter> {
|
|
48
|
+
* return (prefix) => {
|
|
49
|
+
* let adapter = store[prefix];
|
|
50
|
+
* if (adapter === undefined) {
|
|
51
|
+
* adapter = new MemoryEventBusAdapter();
|
|
52
|
+
* store[prefix] = adapter;
|
|
53
|
+
* }
|
|
54
|
+
* return adapter;
|
|
51
55
|
* }
|
|
52
|
-
* return adapter;
|
|
53
56
|
* }
|
|
54
57
|
*
|
|
58
|
+
* const store: Store = {}
|
|
55
59
|
* const eventBus = new EventBus({
|
|
56
60
|
* keyPrefixer: new KeyPrefixer("event-bus"),
|
|
57
|
-
* adapter: cahceAdapterFactory
|
|
61
|
+
* adapter: cahceAdapterFactory(store)
|
|
58
62
|
* });
|
|
59
63
|
* ```
|
|
60
64
|
*
|
|
@@ -66,9 +70,10 @@ export class EventBus {
|
|
|
66
70
|
* import { EventBus } from "@daiso-tech/core/event-bus";
|
|
67
71
|
* import { KeyPrefixer, type IFactoryObject, type Promiseable } from "@daiso-tech/utilities";
|
|
68
72
|
*
|
|
73
|
+
* type Store = Partial<Record<string, IEventBusAdapter>>;
|
|
69
74
|
*
|
|
70
75
|
* class EventBusAdapterFactory implements IFactoryObject<string, IEventBusAdapter> {
|
|
71
|
-
* private store:
|
|
76
|
+
* constructor(private readonly store: Store) {}
|
|
72
77
|
*
|
|
73
78
|
* async use(prefix: string): Promiseable<IEventBusAdapter> {
|
|
74
79
|
* let adapter = this.store[prefix];
|
|
@@ -80,21 +85,22 @@ export class EventBus {
|
|
|
80
85
|
* }
|
|
81
86
|
* }
|
|
82
87
|
*
|
|
83
|
-
* const
|
|
88
|
+
* const store: Store = {}
|
|
84
89
|
* const eventBus = new EventBus({
|
|
85
90
|
* keyPrefixer: new KeyPrefixer("event-bus"),
|
|
86
|
-
* adapter:
|
|
91
|
+
* adapter: new EventBusAdapterFactory(store)
|
|
87
92
|
* });
|
|
88
93
|
* ```
|
|
89
94
|
*/
|
|
90
95
|
constructor(settings) {
|
|
91
|
-
const { keyPrefixer, adapter, retryAttempts = null, backoffPolicy = null, retryPolicy = null,
|
|
96
|
+
const { keyPrefixer, adapter, retryAttempts = null, backoffPolicy = null, retryPolicy = null, retryTimeout = null, totalTimeout = null, } = settings;
|
|
97
|
+
this.totalTimeout = totalTimeout;
|
|
92
98
|
this.adapterFactoryable = adapter;
|
|
93
99
|
this.keyPrefixer = keyPrefixer;
|
|
94
100
|
this.retryAttempts = retryAttempts;
|
|
95
101
|
this.backoffPolicy = backoffPolicy;
|
|
96
102
|
this.retryPolicy = retryPolicy;
|
|
97
|
-
this.
|
|
103
|
+
this.retryTimeout = retryTimeout;
|
|
98
104
|
this.adapterPromise = new LazyPromise(() => resolveFactoryable(this.adapterFactoryable, this.keyPrefixer.keyPrefix));
|
|
99
105
|
}
|
|
100
106
|
createLazyPromise(asyncFn) {
|
|
@@ -102,7 +108,8 @@ export class EventBus {
|
|
|
102
108
|
retryAttempts: this.retryAttempts,
|
|
103
109
|
backoffPolicy: this.backoffPolicy,
|
|
104
110
|
retryPolicy: this.retryPolicy,
|
|
105
|
-
|
|
111
|
+
retryTimeout: this.retryTimeout,
|
|
112
|
+
totalTimeout: this.totalTimeout,
|
|
106
113
|
});
|
|
107
114
|
}
|
|
108
115
|
withGroup(group) {
|
|
@@ -112,7 +119,7 @@ export class EventBus {
|
|
|
112
119
|
retryAttempts: this.retryAttempts,
|
|
113
120
|
backoffPolicy: this.backoffPolicy,
|
|
114
121
|
retryPolicy: this.retryPolicy,
|
|
115
|
-
|
|
122
|
+
retryTimeout: this.retryTimeout,
|
|
116
123
|
});
|
|
117
124
|
}
|
|
118
125
|
getGroup() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event-bus.js","sourceRoot":"","sources":["../../../../../src/event-bus/implementations/derivables/event-bus/event-bus.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"event-bus.js","sourceRoot":"","sources":["../../../../../src/event-bus/implementations/derivables/event-bus/event-bus.ts"],"names":[],"mappings":"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"}
|