@flexemarkets/fm-sdk 0.1.4 → 0.3.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 +32 -19
- package/dist/client.d.ts +32 -16
- package/dist/client.js +74 -28
- package/dist/client.js.map +1 -1
- package/dist/{market-view.d.ts → desk.d.ts} +57 -43
- package/dist/{market-view.js → desk.js} +66 -50
- package/dist/desk.js.map +1 -0
- package/dist/index.d.ts +7 -7
- package/dist/index.js +15 -6
- package/dist/index.js.map +1 -1
- package/dist/order-utils.d.ts +27 -2
- package/dist/order-utils.js +51 -2
- package/dist/order-utils.js.map +1 -1
- package/dist/orderbook.d.ts +17 -8
- package/dist/orderbook.js +22 -9
- package/dist/orderbook.js.map +1 -1
- package/dist/snapshot.d.ts +1 -1
- package/dist/stomp.d.ts +36 -4
- package/dist/stomp.js +90 -2
- package/dist/stomp.js.map +1 -1
- package/dist/ticker.js +20 -44
- package/dist/ticker.js.map +1 -1
- package/dist/trades.d.ts +12 -12
- package/dist/trades.js +11 -11
- package/dist/trades.js.map +1 -1
- package/dist/types.d.ts +23 -4
- package/dist/types.js +1 -1
- package/dist/types.js.map +1 -1
- package/package.json +1 -1
- package/dist/market-view.js.map +0 -1
package/README.md
CHANGED
|
@@ -2,6 +2,22 @@
|
|
|
2
2
|
|
|
3
3
|
TypeScript / JavaScript SDK for the [Flexemarkets](https://api.flexemarkets.com) API.
|
|
4
4
|
|
|
5
|
+
> ### ⚠️ Alpha software — the API is not stable
|
|
6
|
+
>
|
|
7
|
+
> fm-sdk is pre-1.0 and under active development. Anything public may be
|
|
8
|
+
> **added, renamed, or removed in any release**, including in ways that break
|
|
9
|
+
> code that compiles and runs today, and without a deprecation period first.
|
|
10
|
+
> Under [semantic versioning](https://semver.org/#spec-item-4) a `0.x` release
|
|
11
|
+
> carries no compatibility promise, and that is how these versions are used:
|
|
12
|
+
> treat every `0.x` bump as potentially breaking.
|
|
13
|
+
>
|
|
14
|
+
> Pin an exact version rather than a range (`"@flexemarkets/fm-sdk": "0.2.0"`,
|
|
15
|
+
> not `^0.2.0`), read the
|
|
16
|
+
> [upgrade notes](https://github.com/flexemarkets/fm-sdk/tree/main/docs) for the
|
|
17
|
+
> release you are moving to, and expect to change code when you move.
|
|
18
|
+
>
|
|
19
|
+
> Not recommended for production use.
|
|
20
|
+
|
|
5
21
|
## Requirements
|
|
6
22
|
|
|
7
23
|
- Node.js 22+ (ES modules)
|
|
@@ -47,8 +63,7 @@ endpoint=https://api.flexemarkets.com/api/marketplaces/123
|
|
|
47
63
|
## SDK usage
|
|
48
64
|
|
|
49
65
|
```typescript
|
|
50
|
-
import { Flexemarkets
|
|
51
|
-
import type { FmEvent } from "@flexemarkets/fm-sdk";
|
|
66
|
+
import { Flexemarkets } from "@flexemarkets/fm-sdk";
|
|
52
67
|
|
|
53
68
|
// connect(null, null, ...) falls back to ~/.fm/credential and ~/.fm/endpoint
|
|
54
69
|
const fm = await Flexemarkets.connect(null, null, "my-bot");
|
|
@@ -63,23 +78,21 @@ const holding = await fm.holding(marketplaceId);
|
|
|
63
78
|
const order = await fm.submitLimit(marketplaceId, markets[0].id, "BUY", 1, 950);
|
|
64
79
|
await fm.submitCancel(marketplaceId, markets[0].id, order.id);
|
|
65
80
|
|
|
66
|
-
//
|
|
67
|
-
|
|
68
|
-
const
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
// when done
|
|
82
|
-
fm.close();
|
|
81
|
+
// Live market data. A desk keeps the books and tapes for you: it seeds them
|
|
82
|
+
// over REST, applies deltas, and re-seeds after a sequence gap.
|
|
83
|
+
const desk = await fm.desk(marketplaceId);
|
|
84
|
+
const marketId = markets[0].id;
|
|
85
|
+
|
|
86
|
+
desk.onBookChange(marketId, (book) => console.log(book.bestPrice("BUY")));
|
|
87
|
+
desk.onSessionChange((s) => console.log(s.state));
|
|
88
|
+
desk.onHoldingChange((h) => console.log(h.cash));
|
|
89
|
+
|
|
90
|
+
const one = desk.book(marketId); // one market
|
|
91
|
+
for (const book of desk.books()) { // every market in the marketplace
|
|
92
|
+
console.log(book.symbol, book.bestPrice("BUY"));
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
desk.close();
|
|
83
96
|
```
|
|
84
97
|
|
|
85
98
|
## Example: ticker
|
package/dist/client.d.ts
CHANGED
|
@@ -3,10 +3,10 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Port of fm.client (Python) / fm.Flexemarkets (Java).
|
|
5
5
|
*/
|
|
6
|
-
import type { Account, Allotment, ClientConnection, Holding, ManagerOtpBundle, Market, Marketplace, Order, Person, Security, Session, TickGrid, Token } from "./types.js";
|
|
6
|
+
import type { Account, Allotment, ClientConnection, Holding, ManagerOtpBundle, Market, Marketplace, Order, ParticipantState, Person, Security, Session, TickGrid, Token } from "./types.js";
|
|
7
7
|
import { EventListener, type EventCallback } from "./stomp.js";
|
|
8
8
|
import type { ApiRoot } from "./hal.js";
|
|
9
|
-
import { type
|
|
9
|
+
import { type Desk, type Subscription } from "./desk.js";
|
|
10
10
|
import type { Snapshot } from "./snapshot.js";
|
|
11
11
|
export declare class FlexemarketsError extends Error {
|
|
12
12
|
}
|
|
@@ -76,6 +76,7 @@ export declare function parseMarket(data: JsonObject): Market;
|
|
|
76
76
|
export declare function parseMarketplace(data: JsonObject): Marketplace;
|
|
77
77
|
export declare function parseSession(data: JsonObject): Session;
|
|
78
78
|
export declare function parseOrder(data: JsonObject): Order;
|
|
79
|
+
export declare function parseParticipantState(data: JsonObject): ParticipantState;
|
|
79
80
|
export declare function parseHolding(data: JsonObject): Holding;
|
|
80
81
|
export declare function parseConnection(data: JsonObject): ClientConnection;
|
|
81
82
|
/**
|
|
@@ -84,7 +85,7 @@ export declare function parseConnection(data: JsonObject): ClientConnection;
|
|
|
84
85
|
* The server embeds them under `orders`. It was `orderDtoes` — Spring HATEOAS
|
|
85
86
|
* pluralising `OrderDto` — and every SDK still read that name long after the
|
|
86
87
|
* server stopped sending it, so `activeOrders` and `recentTrades` returned an
|
|
87
|
-
* empty array always. `
|
|
88
|
+
* empty array always. `Desk` seeds from `activeOrders`, so its books were
|
|
88
89
|
* never seeded; they filled from live deltas and looked plausible.
|
|
89
90
|
*
|
|
90
91
|
* Then the envelope itself went: fm-server now sends a bare array. Accepting
|
|
@@ -155,7 +156,7 @@ export declare class Flexemarkets {
|
|
|
155
156
|
private _get;
|
|
156
157
|
/**
|
|
157
158
|
* GET helper that returns the parsed body bundled with the
|
|
158
|
-
* `x-fm-as-of-seq` response header so callers (notably
|
|
159
|
+
* `x-fm-as-of-seq` response header so callers (notably Desk)
|
|
159
160
|
* can correlate the snapshot with the WS delta stream. Returns
|
|
160
161
|
* `Snapshot.NO_SEQ` when the header is absent.
|
|
161
162
|
*/
|
|
@@ -280,7 +281,7 @@ export declare class Flexemarkets {
|
|
|
280
281
|
/**
|
|
281
282
|
* The active-orders snapshot: every resting limit order on the
|
|
282
283
|
* marketplace's current session, plus the `x-fm-as-of-seq` sequence
|
|
283
|
-
* the snapshot was read at. Used by `
|
|
284
|
+
* the snapshot was read at. Used by `Desk` seeding
|
|
284
285
|
* — clients apply WS deltas whose seq is greater than the returned
|
|
285
286
|
* value and skip those whose seq is less than or equal.
|
|
286
287
|
*/
|
|
@@ -293,8 +294,8 @@ export declare class Flexemarkets {
|
|
|
293
294
|
* Ordering is the server's and has changed: up to and including fm-server
|
|
294
295
|
* 4.3.1 this answered newest first, later versions answer oldest first.
|
|
295
296
|
* Either way it is the newest `size` trades that come back — only their
|
|
296
|
-
* order differs. `
|
|
297
|
-
* through `
|
|
297
|
+
* order differs. `Tape` sorts what it is given, so a caller seeding a tape
|
|
298
|
+
* through `Desk` is unaffected; a caller reading this list directly
|
|
298
299
|
* should not assume one.
|
|
299
300
|
*/
|
|
300
301
|
recentTrades(marketplaceId: number, size?: number): Promise<Snapshot<Order[]>>;
|
|
@@ -303,7 +304,7 @@ export declare class Flexemarkets {
|
|
|
303
304
|
sessionIds?: number[];
|
|
304
305
|
}): Promise<Order[]>;
|
|
305
306
|
/**
|
|
306
|
-
*
|
|
307
|
+
* Tape in one market, in ascending order id.
|
|
307
308
|
*
|
|
308
309
|
* Answered by a symbol-keyed route, so the orders come back without the
|
|
309
310
|
* symbol on them and with the trade id in `original`; both are filled in
|
|
@@ -372,21 +373,36 @@ export declare class Flexemarkets {
|
|
|
372
373
|
* the same terms as {@link allocate}.
|
|
373
374
|
*/
|
|
374
375
|
uploadHoldings(marketplaceId: number, filename: string): Promise<Holding[]>;
|
|
376
|
+
/**
|
|
377
|
+
* Load per-participant private state from a CSV, returning what was stored.
|
|
378
|
+
*
|
|
379
|
+
* Staged on the same terms as {@link uploadHoldings}, against the allocation
|
|
380
|
+
* that call staged: it lands when a closed session is opened, and the order
|
|
381
|
+
* is a correctness constraint -- holdings, then state, then open. With no
|
|
382
|
+
* allocation staged the server refuses.
|
|
383
|
+
*
|
|
384
|
+
* The file keys on an `email` column. Every other column becomes a field of
|
|
385
|
+
* that name: a numeric cell is a number, otherwise text; a column whose
|
|
386
|
+
* header is bracketed, `[valuations]`, holds vectors and its cells are JSON
|
|
387
|
+
* arrays. An `id` column, when present, must agree with the person the email
|
|
388
|
+
* resolves to. A study's existing values file needs no change.
|
|
389
|
+
*/
|
|
390
|
+
uploadState(marketplaceId: number, filename: string): Promise<ParticipantState[]>;
|
|
375
391
|
private readonly _sharedViews;
|
|
376
392
|
private readonly _sharedViewPromises;
|
|
377
393
|
/**
|
|
378
|
-
* Open a stateful
|
|
379
|
-
* for the same marketplaceId share a single underlying
|
|
394
|
+
* Open a stateful Desk on this marketplace. Multiple calls
|
|
395
|
+
* for the same marketplaceId share a single underlying desk + WS
|
|
380
396
|
* subscription + materialized state within this Flexemarkets
|
|
381
397
|
* instance — each call returns a fresh handle, the handles
|
|
382
398
|
* refcount, and the shared resources tear down on the last close.
|
|
383
399
|
*
|
|
384
400
|
* Sharing is intentionally per-Flexemarkets (i.e. per-bearer). Two
|
|
385
|
-
* callers with different identities each get their own
|
|
401
|
+
* callers with different identities each get their own desk —
|
|
386
402
|
* multi-tenant WS multiplexing is a server-side concern, not a
|
|
387
403
|
* client-side one.
|
|
388
404
|
*/
|
|
389
|
-
|
|
405
|
+
desk(marketplaceId: number): Promise<Desk>;
|
|
390
406
|
_releaseSharedView(marketplaceId: number): void;
|
|
391
407
|
/** Start receiving real-time events via WebSocket STOMP. */
|
|
392
408
|
listen(marketplaceId: number, callback: EventCallback): Promise<void>;
|
|
@@ -396,21 +412,21 @@ export declare class Flexemarkets {
|
|
|
396
412
|
*
|
|
397
413
|
* Unlike {@link listen}, which is one per connection and replaces itself,
|
|
398
414
|
* several of these coexist: each has its own stream and its own lifetime.
|
|
399
|
-
* That is what lets more than one
|
|
415
|
+
* That is what lets more than one Desk live in one connection without
|
|
400
416
|
* trampling each other — the mechanism was already here for exactly that, as
|
|
401
417
|
* the package-private `_connectEvents`, but a caller who wanted a second
|
|
402
418
|
* stream of their own had no way to ask for one.
|
|
403
419
|
*
|
|
404
420
|
* Returns an unsubscribe function rather than an object with `close()`,
|
|
405
|
-
* matching what
|
|
421
|
+
* matching what Desk's `on*` handlers already return here. Java
|
|
406
422
|
* returns a `Subscription`; both names describe the same lifetime.
|
|
407
423
|
*/
|
|
408
424
|
subscribe(marketplaceId: number, callback: EventCallback): Promise<Subscription>;
|
|
409
425
|
/**
|
|
410
|
-
* Package-private helper used by {@link
|
|
426
|
+
* Package-private helper used by {@link DefaultDesk} (Phase 2d)
|
|
411
427
|
* to own its own EventListener subscription rather than clobbering
|
|
412
428
|
* the singleton {@link #_eventListener}. Lets multiple
|
|
413
|
-
*
|
|
429
|
+
* desk(marketplaceId) calls coexist within one Flexemarkets.
|
|
414
430
|
*/
|
|
415
431
|
_connectEvents(marketplaceId: number, callback: EventCallback): Promise<EventListener>;
|
|
416
432
|
/** Reconnect the WebSocket after a transport error. */
|
package/dist/client.js
CHANGED
|
@@ -10,7 +10,7 @@ import { fileURLToPath } from "node:url";
|
|
|
10
10
|
import { orderedSecurities, toOrderType, toSide, unitGrid } from "./types.js";
|
|
11
11
|
import { toInstant } from "./timestamps.js";
|
|
12
12
|
import { EventListener, NO_SEQ } from "./stomp.js";
|
|
13
|
-
import {
|
|
13
|
+
import { DefaultDesk, DeskHandle, } from "./desk.js";
|
|
14
14
|
function readVersion() {
|
|
15
15
|
try {
|
|
16
16
|
const dir = fileURLToPath(new URL(".", import.meta.url));
|
|
@@ -203,6 +203,15 @@ export function parseOrder(data) {
|
|
|
203
203
|
lastModifiedDate: toInstant(data.lastModifiedDate),
|
|
204
204
|
};
|
|
205
205
|
}
|
|
206
|
+
export function parseParticipantState(data) {
|
|
207
|
+
return {
|
|
208
|
+
marketplaceId: data.marketplaceId ?? null,
|
|
209
|
+
allocationId: data.allocationId ?? null,
|
|
210
|
+
ownerId: data.ownerId ?? null,
|
|
211
|
+
ownerEmail: data.ownerEmail ?? null,
|
|
212
|
+
fields: { ...(data.fields ?? {}) },
|
|
213
|
+
};
|
|
214
|
+
}
|
|
206
215
|
function parseAllotment(data) {
|
|
207
216
|
// The server spells the nested capital "capital" on some responses and
|
|
208
217
|
// "assets" on others, and the positions inside it "grants" or "securities".
|
|
@@ -302,7 +311,7 @@ export function parseConnection(data) {
|
|
|
302
311
|
* The server embeds them under `orders`. It was `orderDtoes` — Spring HATEOAS
|
|
303
312
|
* pluralising `OrderDto` — and every SDK still read that name long after the
|
|
304
313
|
* server stopped sending it, so `activeOrders` and `recentTrades` returned an
|
|
305
|
-
* empty array always. `
|
|
314
|
+
* empty array always. `Desk` seeds from `activeOrders`, so its books were
|
|
306
315
|
* never seeded; they filled from live deltas and looked plausible.
|
|
307
316
|
*
|
|
308
317
|
* Then the envelope itself went: fm-server now sends a bare array. Accepting
|
|
@@ -344,7 +353,17 @@ function parseApiRoot(data) {
|
|
|
344
353
|
* where the two bounds are equal and there is one legal price.
|
|
345
354
|
*/
|
|
346
355
|
export function marketableLimit(market, side) {
|
|
347
|
-
|
|
356
|
+
// The side must be named. This was `side?.toUpperCase() !== "BUY"`, the
|
|
357
|
+
// complement of buy rather than a test for sell, so a null side priced the
|
|
358
|
+
// order at the bottom of the range -- the most aggressive *sell* this market
|
|
359
|
+
// accepts. submitMarket is public API and takes the side straight from its
|
|
360
|
+
// caller, so that turned a missing argument into a real order crossing the
|
|
361
|
+
// wrong side of the book.
|
|
362
|
+
const resolved = side?.toUpperCase();
|
|
363
|
+
if (resolved !== "BUY" && resolved !== "SELL") {
|
|
364
|
+
throw new Error(`A market order must name its side; got: ${side}`);
|
|
365
|
+
}
|
|
366
|
+
if (resolved !== "BUY" || market.priceTick <= 0) {
|
|
348
367
|
return market.priceMinimum;
|
|
349
368
|
}
|
|
350
369
|
const span = market.priceMaximum - market.priceMinimum;
|
|
@@ -663,7 +682,7 @@ export class Flexemarkets {
|
|
|
663
682
|
}
|
|
664
683
|
/**
|
|
665
684
|
* GET helper that returns the parsed body bundled with the
|
|
666
|
-
* `x-fm-as-of-seq` response header so callers (notably
|
|
685
|
+
* `x-fm-as-of-seq` response header so callers (notably Desk)
|
|
667
686
|
* can correlate the snapshot with the WS delta stream. Returns
|
|
668
687
|
* `Snapshot.NO_SEQ` when the header is absent.
|
|
669
688
|
*/
|
|
@@ -1021,7 +1040,7 @@ export class Flexemarkets {
|
|
|
1021
1040
|
/**
|
|
1022
1041
|
* The active-orders snapshot: every resting limit order on the
|
|
1023
1042
|
* marketplace's current session, plus the `x-fm-as-of-seq` sequence
|
|
1024
|
-
* the snapshot was read at. Used by `
|
|
1043
|
+
* the snapshot was read at. Used by `Desk` seeding
|
|
1025
1044
|
* — clients apply WS deltas whose seq is greater than the returned
|
|
1026
1045
|
* value and skip those whose seq is less than or equal.
|
|
1027
1046
|
*/
|
|
@@ -1040,8 +1059,8 @@ export class Flexemarkets {
|
|
|
1040
1059
|
* Ordering is the server's and has changed: up to and including fm-server
|
|
1041
1060
|
* 4.3.1 this answered newest first, later versions answer oldest first.
|
|
1042
1061
|
* Either way it is the newest `size` trades that come back — only their
|
|
1043
|
-
* order differs. `
|
|
1044
|
-
* through `
|
|
1062
|
+
* order differs. `Tape` sorts what it is given, so a caller seeding a tape
|
|
1063
|
+
* through `Desk` is unaffected; a caller reading this list directly
|
|
1045
1064
|
* should not assume one.
|
|
1046
1065
|
*/
|
|
1047
1066
|
async recentTrades(marketplaceId, size = 1000) {
|
|
@@ -1069,7 +1088,7 @@ export class Flexemarkets {
|
|
|
1069
1088
|
return data.map(parseOrder);
|
|
1070
1089
|
}
|
|
1071
1090
|
/**
|
|
1072
|
-
*
|
|
1091
|
+
* Tape in one market, in ascending order id.
|
|
1073
1092
|
*
|
|
1074
1093
|
* Answered by a symbol-keyed route, so the orders come back without the
|
|
1075
1094
|
* symbol on them and with the trade id in `original`; both are filled in
|
|
@@ -1220,35 +1239,62 @@ export class Flexemarkets {
|
|
|
1220
1239
|
checkResponse(resp, body);
|
|
1221
1240
|
return allotmentsToHoldings(JSON.parse(body).map(parseAllotment));
|
|
1222
1241
|
}
|
|
1242
|
+
/**
|
|
1243
|
+
* Load per-participant private state from a CSV, returning what was stored.
|
|
1244
|
+
*
|
|
1245
|
+
* Staged on the same terms as {@link uploadHoldings}, against the allocation
|
|
1246
|
+
* that call staged: it lands when a closed session is opened, and the order
|
|
1247
|
+
* is a correctness constraint -- holdings, then state, then open. With no
|
|
1248
|
+
* allocation staged the server refuses.
|
|
1249
|
+
*
|
|
1250
|
+
* The file keys on an `email` column. Every other column becomes a field of
|
|
1251
|
+
* that name: a numeric cell is a number, otherwise text; a column whose
|
|
1252
|
+
* header is bracketed, `[valuations]`, holds vectors and its cells are JSON
|
|
1253
|
+
* arrays. An `id` column, when present, must agree with the person the email
|
|
1254
|
+
* resolves to. A study's existing values file needs no change.
|
|
1255
|
+
*/
|
|
1256
|
+
async uploadState(marketplaceId, filename) {
|
|
1257
|
+
const url = v1(this._endpoint, `/marketplaces/${marketplaceId}/state/uploads`);
|
|
1258
|
+
const form = new FormData();
|
|
1259
|
+
form.append("file", new Blob([readFileSync(filename)]), basename(filename));
|
|
1260
|
+
const resp = await fetch(url, {
|
|
1261
|
+
method: "POST",
|
|
1262
|
+
headers: { ...this._authHeaders(), "User-Agent": FM_NETWORK_CLIENT },
|
|
1263
|
+
body: form,
|
|
1264
|
+
});
|
|
1265
|
+
const body = await resp.text();
|
|
1266
|
+
checkResponse(resp, body);
|
|
1267
|
+
return JSON.parse(body).map(parseParticipantState);
|
|
1268
|
+
}
|
|
1223
1269
|
// -- events / WebSocket ----------------------------------------------------
|
|
1224
1270
|
_sharedViews = new Map();
|
|
1225
1271
|
_sharedViewPromises = new Map();
|
|
1226
1272
|
/**
|
|
1227
|
-
* Open a stateful
|
|
1228
|
-
* for the same marketplaceId share a single underlying
|
|
1273
|
+
* Open a stateful Desk on this marketplace. Multiple calls
|
|
1274
|
+
* for the same marketplaceId share a single underlying desk + WS
|
|
1229
1275
|
* subscription + materialized state within this Flexemarkets
|
|
1230
1276
|
* instance — each call returns a fresh handle, the handles
|
|
1231
1277
|
* refcount, and the shared resources tear down on the last close.
|
|
1232
1278
|
*
|
|
1233
1279
|
* Sharing is intentionally per-Flexemarkets (i.e. per-bearer). Two
|
|
1234
|
-
* callers with different identities each get their own
|
|
1280
|
+
* callers with different identities each get their own desk —
|
|
1235
1281
|
* multi-tenant WS multiplexing is a server-side concern, not a
|
|
1236
1282
|
* client-side one.
|
|
1237
1283
|
*/
|
|
1238
|
-
async
|
|
1284
|
+
async desk(marketplaceId) {
|
|
1239
1285
|
const existing = this._sharedViews.get(marketplaceId);
|
|
1240
1286
|
if (existing !== undefined) {
|
|
1241
1287
|
existing.refCount++;
|
|
1242
|
-
return new
|
|
1288
|
+
return new DeskHandle(existing.desk, () => this._releaseSharedView(marketplaceId));
|
|
1243
1289
|
}
|
|
1244
|
-
// Two concurrent
|
|
1290
|
+
// Two concurrent desk() calls for the same marketplaceId need
|
|
1245
1291
|
// to dedupe — JS is single-threaded but awaits introduce
|
|
1246
1292
|
// interleaving. Cache the in-flight Promise so the second caller
|
|
1247
1293
|
// awaits the first's construction instead of racing a duplicate
|
|
1248
1294
|
// WS subscription into existence.
|
|
1249
1295
|
let p = this._sharedViewPromises.get(marketplaceId);
|
|
1250
1296
|
if (p === undefined) {
|
|
1251
|
-
p =
|
|
1297
|
+
p = DefaultDesk.open(this, marketplaceId);
|
|
1252
1298
|
this._sharedViewPromises.set(marketplaceId, p);
|
|
1253
1299
|
}
|
|
1254
1300
|
let shared;
|
|
@@ -1258,18 +1304,18 @@ export class Flexemarkets {
|
|
|
1258
1304
|
finally {
|
|
1259
1305
|
this._sharedViewPromises.delete(marketplaceId);
|
|
1260
1306
|
}
|
|
1261
|
-
// Another
|
|
1262
|
-
// first. Re-check; if so, throw away our just-built
|
|
1307
|
+
// Another caller may have arrived during the await and registered
|
|
1308
|
+
// first. Re-check; if so, throw away our just-built desk and use
|
|
1263
1309
|
// theirs.
|
|
1264
1310
|
const registered = this._sharedViews.get(marketplaceId);
|
|
1265
1311
|
if (registered !== undefined) {
|
|
1266
|
-
if (registered.
|
|
1312
|
+
if (registered.desk !== shared)
|
|
1267
1313
|
shared.close();
|
|
1268
1314
|
registered.refCount++;
|
|
1269
|
-
return new
|
|
1315
|
+
return new DeskHandle(registered.desk, () => this._releaseSharedView(marketplaceId));
|
|
1270
1316
|
}
|
|
1271
|
-
this._sharedViews.set(marketplaceId, {
|
|
1272
|
-
return new
|
|
1317
|
+
this._sharedViews.set(marketplaceId, { desk: shared, refCount: 1 });
|
|
1318
|
+
return new DeskHandle(shared, () => this._releaseSharedView(marketplaceId));
|
|
1273
1319
|
}
|
|
1274
1320
|
_releaseSharedView(marketplaceId) {
|
|
1275
1321
|
const entry = this._sharedViews.get(marketplaceId);
|
|
@@ -1277,7 +1323,7 @@ export class Flexemarkets {
|
|
|
1277
1323
|
return;
|
|
1278
1324
|
if (--entry.refCount <= 0) {
|
|
1279
1325
|
this._sharedViews.delete(marketplaceId);
|
|
1280
|
-
entry.
|
|
1326
|
+
entry.desk.close();
|
|
1281
1327
|
}
|
|
1282
1328
|
}
|
|
1283
1329
|
/** Start receiving real-time events via WebSocket STOMP. */
|
|
@@ -1290,13 +1336,13 @@ export class Flexemarkets {
|
|
|
1290
1336
|
*
|
|
1291
1337
|
* Unlike {@link listen}, which is one per connection and replaces itself,
|
|
1292
1338
|
* several of these coexist: each has its own stream and its own lifetime.
|
|
1293
|
-
* That is what lets more than one
|
|
1339
|
+
* That is what lets more than one Desk live in one connection without
|
|
1294
1340
|
* trampling each other — the mechanism was already here for exactly that, as
|
|
1295
1341
|
* the package-private `_connectEvents`, but a caller who wanted a second
|
|
1296
1342
|
* stream of their own had no way to ask for one.
|
|
1297
1343
|
*
|
|
1298
1344
|
* Returns an unsubscribe function rather than an object with `close()`,
|
|
1299
|
-
* matching what
|
|
1345
|
+
* matching what Desk's `on*` handlers already return here. Java
|
|
1300
1346
|
* returns a `Subscription`; both names describe the same lifetime.
|
|
1301
1347
|
*/
|
|
1302
1348
|
async subscribe(marketplaceId, callback) {
|
|
@@ -1306,10 +1352,10 @@ export class Flexemarkets {
|
|
|
1306
1352
|
};
|
|
1307
1353
|
}
|
|
1308
1354
|
/**
|
|
1309
|
-
* Package-private helper used by {@link
|
|
1355
|
+
* Package-private helper used by {@link DefaultDesk} (Phase 2d)
|
|
1310
1356
|
* to own its own EventListener subscription rather than clobbering
|
|
1311
1357
|
* the singleton {@link #_eventListener}. Lets multiple
|
|
1312
|
-
*
|
|
1358
|
+
* desk(marketplaceId) calls coexist within one Flexemarkets.
|
|
1313
1359
|
*/
|
|
1314
1360
|
async _connectEvents(marketplaceId, callback) {
|
|
1315
1361
|
const wsUrl = server(this._endpoint)
|
|
@@ -1331,11 +1377,11 @@ export class Flexemarkets {
|
|
|
1331
1377
|
this._eventListener.close();
|
|
1332
1378
|
this._eventListener = null;
|
|
1333
1379
|
}
|
|
1334
|
-
// Force-close any remaining shared
|
|
1380
|
+
// Force-close any remaining shared Desks — safety net for
|
|
1335
1381
|
// callers who didn't close their handles first.
|
|
1336
1382
|
for (const entry of this._sharedViews.values()) {
|
|
1337
1383
|
try {
|
|
1338
|
-
entry.
|
|
1384
|
+
entry.desk.close();
|
|
1339
1385
|
}
|
|
1340
1386
|
catch { /* best-effort */ }
|
|
1341
1387
|
}
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC9E,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAkB5C,OAAO,EAAE,aAAa,EAAE,MAAM,EAAsB,MAAM,YAAY,CAAC;AAEvE,OAAO,EACL,WAAW,EACX,UAAU,GAGX,MAAM,WAAW,CAAC;AAGnB,SAAS,WAAW;IAClB,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,aAAa,CAAC,IAAI,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QACzD,OAAO,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;IAC9E,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,OAAO,CAAC;IACjB,CAAC;AACH,CAAC;AAED,MAAM,iBAAiB,GAAG,qBAAqB,WAAW,EAAE,EAAE,CAAC;AAC/D,MAAM,gBAAgB,GAAG,8BAA8B,CAAC;AAExD,MAAM,SAAS,GAAG,wCAAwC,CAAC;AAC3D,MAAM,MAAM,GAAG,qDAAqD,CAAC;AAErE,8EAA8E;AAC9E,SAAS;AACT,8EAA8E;AAE9E,MAAM,OAAO,iBAAkB,SAAQ,KAAK;CAAG;AAC/C,MAAM,OAAO,mBAAoB,SAAQ,iBAAiB;CAAG;AAC7D,MAAM,OAAO,kBAAmB,SAAQ,iBAAiB;CAAG;AAC5D,MAAM,OAAO,oBAAqB,SAAQ,iBAAiB;CAAG;AAC9D,MAAM,OAAO,qBAAsB,SAAQ,iBAAiB;CAAG;AAC/D,MAAM,OAAO,kBAAmB,SAAQ,iBAAiB;CAAG;AAE5D;;;;;;GAMG;AACH,MAAM,OAAO,SAAU,SAAQ,iBAAiB;IAEnC;IACA;IAFX,YACW,UAAkB,EAClB,IAAY;QAErB,KAAK,CAAC,QAAQ,UAAU,KAAK,IAAI,EAAE,CAAC,CAAC;QAH5B,eAAU,GAAV,UAAU,CAAQ;QAClB,SAAI,GAAJ,IAAI,CAAQ;IAGvB,CAAC;CACF;AAED;;;;;;;GAOG;AACH,MAAM,OAAO,QAAS,SAAQ,iBAAiB;CAAG;AAElD,uFAAuF;AACvF,MAAM,OAAO,aAAc,SAAQ,iBAAiB;CAAG;AAEvD;;;;;;;GAOG;AACH,MAAM,OAAO,wBAAyB,SAAQ,aAAa;IAG9C;IACA;IAHX,YACE,OAAe,EACN,aAAqB,EACrB,aAA4B;QAErC,KAAK,CAAC,OAAO,CAAC,CAAC;QAHN,kBAAa,GAAb,aAAa,CAAQ;QACrB,kBAAa,GAAb,aAAa,CAAe;IAGvC,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,OAAO,6BAA8B,SAAQ,aAAa;IAGnD;IAFX,YACE,OAAe,EACN,MAAc;QAEvB,KAAK,CAAC,OAAO,CAAC,CAAC;QAFN,WAAM,GAAN,MAAM,CAAQ;IAGzB,CAAC;CACF;AAQD,MAAM,UAAU,WAAW,CAAC,IAAmC;IAC7D,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IACvB,OAAO;QACL,EAAE,EAAG,IAAI,CAAC,EAAa,IAAI,CAAC;QAC5B,SAAS,EAAG,IAAI,CAAC,SAAoB,IAAI,CAAC;QAC1C,SAAS,EAAG,IAAI,CAAC,SAAoB,IAAI,IAAI;QAC7C,QAAQ,EAAG,IAAI,CAAC,QAAmB,IAAI,IAAI;QAC3C,KAAK,EAAG,IAAI,CAAC,KAAgB,IAAI,IAAI;QACrC,KAAK,EAAG,IAAI,CAAC,KAAkB,IAAI,EAAE;QACrC,YAAY,EAAG,IAAI,CAAC,YAAwB,IAAI,KAAK;QACrD,WAAW,EAAE,SAAS,CAAC,IAAI,CAAC,WAAqB,CAAC;QAClD,gBAAgB,EAAE,SAAS,CAAC,IAAI,CAAC,gBAA0B,CAAC;KAC7D,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,IAAmC;IAC9D,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IACvB,OAAO;QACL,EAAE,EAAG,IAAI,CAAC,EAAa,IAAI,IAAI;QAC/B,IAAI,EAAG,IAAI,CAAC,IAAe,IAAI,IAAI;QACnC,WAAW,EAAG,IAAI,CAAC,WAAsB,IAAI,IAAI;QACjD,KAAK,EAAE,WAAW,CAAC,IAAI,CAAC,KAAmB,CAAC;QAC5C,QAAQ,EAAG,IAAI,CAAC,QAA2B,IAAI,IAAI;QACnD,mBAAmB,EAAG,IAAI,CAAC,mBAA8B,IAAI,IAAI;QACjE,WAAW,EAAE,SAAS,CAAC,IAAI,CAAC,WAAqB,CAAC;QAClD,gBAAgB,EAAE,SAAS,CAAC,IAAI,CAAC,gBAA0B,CAAC;KAC7D,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,IAAgB;IACzC,OAAO;QACL,UAAU,EAAG,IAAI,CAAC,UAAqB,IAAI,IAAI;QAC/C,MAAM,EAAE,WAAW,CAAC,IAAI,CAAC,MAAoB,CAAC;QAC9C,OAAO,EAAE,YAAY,CAAC,IAAI,CAAC,OAAqB,CAAC;QACjD,KAAK,EAAG,IAAI,CAAC,KAAgB,IAAI,IAAI;KACtC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,IAAgB;IAC5C,OAAO;QACL,QAAQ,EAAG,IAAI,CAAC,QAAmB,IAAI,CAAC;QACxC,KAAK,EAAG,IAAI,CAAC,KAAgB,IAAI,CAAC;QAClC,cAAc,EAAG,IAAI,CAAC,cAAyB,IAAI,CAAC;QACpD,qEAAqE;QACrE,UAAU,EAAG,IAAI,CAAC,UAAqB,IAAK,IAAI,CAAC,iBAA4B,IAAI,CAAC;QAClF,MAAM,EAAG,IAAI,CAAC,MAAkB,IAAI,KAAK;QACzC,OAAO,EAAG,IAAI,CAAC,OAAmB,IAAI,KAAK;KAC5C,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,IAAgB;IAC1C,OAAO;QACL,EAAE,EAAG,IAAI,CAAC,EAAa,IAAI,CAAC;QAC5B,aAAa,EAAG,IAAI,CAAC,aAAwB,IAAI,CAAC;QAClD,IAAI,EAAG,IAAI,CAAC,IAAe,IAAI,IAAI;QACnC,WAAW,EAAG,IAAI,CAAC,WAAsB,IAAI,IAAI;QACjD,MAAM,EAAG,IAAI,CAAC,MAAiB,IAAI,IAAI;QACvC,aAAa,EAAG,IAAI,CAAC,aAAyB,IAAI,KAAK;QACvD,YAAY,EAAG,IAAI,CAAC,YAAuB,IAAI,CAAC;QAChD,YAAY,EAAG,IAAI,CAAC,YAAuB,IAAI,CAAC;QAChD,SAAS,EAAG,IAAI,CAAC,SAAoB,IAAI,CAAC;QAC1C,WAAW,EAAG,IAAI,CAAC,WAAsB,IAAI,CAAC;QAC9C,WAAW,EAAG,IAAI,CAAC,WAAsB,IAAI,CAAC;QAC9C,QAAQ,EAAG,IAAI,CAAC,QAAmB,IAAI,CAAC;KACzC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,IAAgB;IAC/C,OAAO;QACL,EAAE,EAAG,IAAI,CAAC,EAAa,IAAI,CAAC;QAC5B,IAAI,EAAG,IAAI,CAAC,IAAe,IAAI,IAAI;QACnC,WAAW,EAAG,IAAI,CAAC,WAAsB,IAAI,IAAI;QACjD,OAAO,EAAE,CAAE,IAAI,CAAC,OAAwB,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC;KACjE,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,IAAgB;IAC3C,OAAO;QACL,aAAa,EAAG,IAAI,CAAC,aAAwB,IAAI,CAAC;QAClD,YAAY,EAAG,IAAI,CAAC,YAAuB,IAAI,CAAC;QAChD,EAAE,EAAG,IAAI,CAAC,EAAa,IAAI,CAAC;QAC5B,QAAQ,EAAG,IAAI,CAAC,QAAmB,IAAI,CAAC;QACxC,KAAK,EAAG,IAAI,CAAC,KAAgB,IAAI,IAAI;QACrC,IAAI,EAAG,IAAI,CAAC,IAAe,IAAI,IAAI;QACnC,WAAW,EAAG,IAAI,CAAC,WAAsB,IAAI,IAAI;QACjD,QAAQ,EAAE,SAAS,CAAC,IAAI,CAAC,QAAkB,CAAC;QAC5C,SAAS,EAAE,SAAS,CAAC,IAAI,CAAC,SAAmB,CAAC;KAC/C,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,IAAgB;IACzC,OAAO;QACL,EAAE,EAAG,IAAI,CAAC,EAAa,IAAI,CAAC;QAC5B,QAAQ,EAAG,IAAI,CAAC,QAAmB,IAAI,CAAC;QACxC,QAAQ,EAAG,IAAI,CAAC,QAAmB,IAAI,CAAC;QACxC,QAAQ,EAAG,IAAI,CAAC,QAA0B,IAAI,IAAI;QAClD,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC,IAAc,CAAC;QACtC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,IAAc,CAAC;QACjC,KAAK,EAAG,IAAI,CAAC,KAAgB,IAAI,CAAC;QAClC,KAAK,EAAG,IAAI,CAAC,KAAgB,IAAI,CAAC;QAClC,OAAO,EAAG,IAAI,CAAC,OAAkB,IAAI,IAAI;QACzC,aAAa,EAAG,IAAI,CAAC,aAAwB,IAAI,CAAC;QAClD,SAAS,EAAG,IAAI,CAAC,SAAoB,IAAI,CAAC;QAC1C,MAAM,EAAG,IAAI,CAAC,MAAiB,IAAI,IAAI;QACvC,QAAQ,EAAG,IAAI,CAAC,QAAmB,IAAI,CAAC;QACxC,WAAW,EAAG,IAAI,CAAC,WAAsB,IAAI,IAAI;QACjD,iBAAiB,EAAG,IAAI,CAAC,iBAA4B,IAAI,IAAI;QAC7D,WAAW,EAAE,SAAS,CAAC,IAAI,CAAC,WAAqB,CAAC;QAClD,gBAAgB,EAAE,SAAS,CAAC,IAAI,CAAC,gBAA0B,CAAC;KAC7D,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,IAAgB;IACpD,OAAO;QACL,aAAa,EAAG,IAAI,CAAC,aAAwB,IAAI,IAAI;QACrD,YAAY,EAAG,IAAI,CAAC,YAAuB,IAAI,IAAI;QACnD,OAAO,EAAG,IAAI,CAAC,OAAkB,IAAI,IAAI;QACzC,UAAU,EAAG,IAAI,CAAC,UAAqB,IAAI,IAAI;QAC/C,MAAM,EAAE,EAAE,GAAG,CAAE,IAAI,CAAC,MAAkC,IAAI,EAAE,CAAC,EAAE;KAChE,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,IAAgB;IACtC,uEAAuE;IACvE,4EAA4E;IAC5E,MAAM,SAAS,GAAI,IAAI,CAAC,MAAqB,IAAK,IAAI,CAAC,OAAsB,IAAI,IAAI,CAAC;IACtF,IAAI,MAAM,GAAkB,IAAI,CAAC;IACjC,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,aAAa,GAChB,SAAS,CAAC,MAAuB,IAAK,SAAS,CAAC,UAA2B,IAAI,EAAE,CAAC;QACrF,MAAM,GAAG;YACP,EAAE,EAAG,SAAS,CAAC,EAAa,IAAI,IAAI;YACpC,IAAI,EAAG,SAAS,CAAC,IAAe,IAAI,IAAI;YACxC,IAAI,EAAG,SAAS,CAAC,IAAe,IAAI,CAAC;YACrC,UAAU,EAAE,iBAAiB,CAAC,aAAa,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;SAChE,CAAC;IACJ,CAAC;IACD,OAAO;QACL,EAAE,EAAG,IAAI,CAAC,EAAa,IAAI,IAAI;QAC/B,YAAY,EAAG,IAAI,CAAC,YAAuB,IAAI,IAAI;QACnD,aAAa,EAAG,IAAI,CAAC,aAAwB,IAAI,IAAI;QACrD,OAAO,EAAG,IAAI,CAAC,OAAkB,IAAI,IAAI;QACzC,IAAI,EAAG,IAAI,CAAC,IAAe,IAAI,IAAI;QACnC,MAAM;KACP,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,kBAAkB,CAAC,aAAqB,EAAE,OAAgB;IACjE,OAAO;QACL,aAAa;QACb,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,MAAM,EAAE;YACN,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACrC,QAAQ,EAAE,CAAC,CAAC,QAAQ;gBACpB,KAAK,EAAE,CAAC,CAAC,KAAK;gBACd,cAAc,EAAE,CAAC,CAAC,cAAc;gBAChC,UAAU,EAAE,CAAC,CAAC,UAAU;gBACxB,MAAM,EAAE,CAAC,CAAC,MAAM;gBAChB,OAAO,EAAE,CAAC,CAAC,OAAO;aACnB,CAAC,CAAC;SACJ;KACuB,CAAC;AAC7B,CAAC;AAED;;;GAGG;AACH,SAAS,oBAAoB,CAAC,UAAuB;IACnD,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QAC1B,MAAM,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,IAAI,IAAI,CAAC,CAAC;QACjC,OAAO;YACL,aAAa,EAAE,CAAC,CAAC,aAAa,IAAI,CAAC;YACnC,SAAS,EAAE,CAAC;YACZ,YAAY,EAAE,CAAC,CAAC,YAAY,IAAI,CAAC;YACjC,OAAO,EAAE,CAAC,CAAC,OAAO,IAAI,CAAC;YACvB,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,IAAI;YACJ,aAAa,EAAE,IAAI;YACnB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,UAAU,IAAI,EAAE;SACvC,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,IAAgB;IAC3C,MAAM,aAAa,GAChB,IAAI,CAAC,UAA2B,IAAK,IAAI,CAAC,MAAuB,IAAI,EAAE,CAAC;IAC3E,OAAO;QACL,aAAa,EAAG,IAAI,CAAC,aAAwB,IAAI,CAAC;QAClD,SAAS,EAAG,IAAI,CAAC,SAAoB,IAAI,CAAC;QAC1C,YAAY,EAAG,IAAI,CAAC,YAAuB,IAAI,CAAC;QAChD,OAAO,EAAG,IAAI,CAAC,OAAkB,IAAI,CAAC;QACtC,IAAI,EAAG,IAAI,CAAC,IAAe,IAAI,IAAI;QACnC,IAAI,EAAG,IAAI,CAAC,IAAe,IAAI,CAAC;QAChC,aAAa,EAAG,IAAI,CAAC,aAAwB,IAAI,CAAC;QAClD,UAAU,EAAE,iBAAiB,CAAC,aAAa,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;KAChE,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,IAAgB;IAC9C,OAAO;QACL,aAAa,EAAG,IAAI,CAAC,aAAwB,IAAI,CAAC;QAClD,YAAY,EAAG,IAAI,CAAC,EAAa,IAAK,IAAI,CAAC,YAAuB,IAAI,CAAC;QACvE,OAAO,EAAG,IAAI,CAAC,OAAkB,IAAI,CAAC;QACtC,WAAW,EAAE,SAAS,CAAC,IAAI,CAAC,WAAqB,CAAC;QAClD,UAAU,EAAE,SAAS,CAAC,IAAI,CAAC,UAAoB,CAAC;QAChD,WAAW,EAAG,IAAI,CAAC,WAAsB,IAAI,IAAI;QACjD,SAAS,EAAG,IAAI,CAAC,SAAoB,IAAI,IAAI;KAC9C,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,cAAc,CAAC,IAAa;IAC1C,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;QAAE,OAAO,IAAoB,CAAC;IACrD,IAAI,IAAI,KAAK,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,OAAO,EAAE,CAAC;IACzD,MAAM,QAAQ,GAAI,IAA6E,CAAC,SAAS,CAAC;IAC1G,OAAO,QAAQ,EAAE,MAAM,IAAI,QAAQ,EAAE,UAAU,IAAI,EAAE,CAAC;AACxD,CAAC;AAED,SAAS,YAAY,CAAC,IAAgB;IACpC,MAAM,QAAQ,GAAI,IAAI,CAAC,MAAkC,IAAI,EAAE,CAAC;IAChE,MAAM,KAAK,GAA2B,EAAE,CAAC;IACzC,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QACrD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,MAAM,IAAI,KAAK,EAAE,CAAC;YACnE,KAAK,CAAC,IAAI,CAAC,GAAI,KAA0B,CAAC,IAAI,IAAI,EAAE,CAAC;QACvD,CAAC;aAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YACrC,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;QACtB,CAAC;IACH,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,CAAC;AACnB,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,eAAe,CAAC,MAAc,EAAE,IAAY;IAC1D,wEAAwE;IACxE,2EAA2E;IAC3E,6EAA6E;IAC7E,2EAA2E;IAC3E,2EAA2E;IAC3E,0BAA0B;IAC1B,MAAM,QAAQ,GAAG,IAAI,EAAE,WAAW,EAAE,CAAC;IACrC,IAAI,QAAQ,KAAK,KAAK,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;QAC9C,MAAM,IAAI,KAAK,CAAC,2CAA2C,IAAI,EAAE,CAAC,CAAC;IACrE,CAAC;IAED,IAAI,QAAQ,KAAK,KAAK,IAAI,MAAM,CAAC,SAAS,IAAI,CAAC,EAAE,CAAC;QAChD,OAAO,MAAM,CAAC,YAAY,CAAC;IAC7B,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;IACvD,OAAO,MAAM,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,MAAM,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC,SAAS,CAAC;AACtF,CAAC;AAED;;;;;GAKG;AACH,SAAS,UAAU,CAAC,GAAuB;IACzC,IAAI,CAAC,GAAG;QAAE,OAAO,SAAS,CAAC;IAC3B,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC/B,IAAI,GAAG,GAAG,CAAC;QAAE,OAAO,SAAS,CAAC;IAC9B,MAAM,MAAM,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;IACnD,IAAI,MAAM,KAAK,MAAM,IAAI,MAAM,KAAK,OAAO;QAAE,OAAO,SAAS,CAAC;IAC9D,MAAM,SAAS,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC;IAC5C,OAAO,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;AAC3D,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,aAAa,CAAC,IAAa,EAAE,QAAgB;IAC3D,MAAM,MAAM,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;IACpC,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IAEzB,MAAM,KAAK,GAA2B,EAAE,CAAC;IACzC,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACtD,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,CAAC,KAAK,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;YAC/B,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;YACnB,SAAS;QACX,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9C,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACtD,CAAC;IAED,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,uEAAuE;QACvE,2EAA2E;QAC3E,2EAA2E;QAC3E,iBAAiB;QACjB,OAAO,CAAC,IAAI,CACV,+BAA+B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,4BAA4B,MAAM,IAAI;YACnF,aAAa,KAAK,CAAC,MAAM,yDAAyD;YAClF,mFAAmF;YACnF,+CAA+C,CAClD,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,CAAC;AACnB,CAAC;AAED,8EAA8E;AAC9E,0BAA0B;AAC1B,8EAA8E;AAE9E,SAAS,eAAe,CAAC,IAAY;IACnC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC9B,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAClD,CAAC;AAED;;;;;;GAMG;AACH,SAAS,EAAE,CAAC,QAAgB,EAAE,IAAY;IACxC,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,IAAI,EAAE,CAAC;AACzC,CAAC;AAED,SAAS,GAAG,CAAC,IAAa,EAAE,QAAgB;IAC1C,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAClC,IAAI,IAAI,KAAK,SAAS;QAAE,MAAM,IAAI,QAAQ,CAAC,SAAS,QAAQ,0BAA0B,CAAC,CAAC;IACxF,OAAO,eAAe,CAAC,IAAI,CAAC,CAAC;AAC/B,CAAC;AAED,SAAS,KAAK,CAAC,IAAa,EAAE,QAAgB,EAAE,EAAU;IACxD,OAAO,GAAG,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC;AACxC,CAAC;AAED,SAAS,YAAY,CAAC,IAAa,EAAE,QAAgB,EAAE,EAAU,EAAE,OAAe;IAChF,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC,IAAI,OAAO,EAAE,CAAC;AACnD,CAAC;AAED,SAAS,QAAQ,CAAC,IAAa,EAAE,QAAgB,EAAE,KAAa;IAC9D,OAAO,GAAG,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,KAAK,EAAE,CAAC;AAC3C,CAAC;AAED,SAAS,iBAAiB,CACxB,IAAa,EACb,QAAgB,EAChB,EAAU,EACV,OAAe,EACf,KAAa;IAEb,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;IACvD,OAAO,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AAC3C,CAAC;AAED,SAAS,0BAA0B,CACjC,IAAa,EACb,QAAgB,EAChB,EAAU,EACV,KAAoB;IAEpB,IAAI,CAAC,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,iBAAiB,EAAE,EAAE,CAAC,CAAC;IACxD,IAAI,KAAK;QAAE,CAAC,IAAI,IAAI,KAAK,EAAE,CAAC;IAC5B,OAAO,CAAC,CAAC;AACX,CAAC;AAED,8EAA8E;AAC9E,qCAAqC;AACrC,8EAA8E;AAE9E,SAAS,YAAY,CAAC,KAAa;IACjC,OAAO,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACrD,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,QAAgB;IACrC,iEAAiE;IACjE,yEAAyE;IACzE,wEAAwE;IACxE,uEAAuE;IACvE,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACvC,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACtE,MAAM,GAAG,GAAG,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAErE,IAAI,GAAG,IAAI,CAAC;QAAE,OAAO,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC;IAEpD,0EAA0E;IAC1E,2EAA2E;IAC3E,4EAA4E;IAC5E,4EAA4E;IAC5E,2DAA2D;IAC3D,wEAAwE;IACxE,4BAA4B;IAC5B,OAAO,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,KAAK,CAAC,CAAC,CAAC,GAAG,QAAQ,MAAM,CAAC;AACvE,CAAC;AAED,SAAS,UAAU,CAAC,QAAgB;IAClC,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAC7C,MAAM,IAAI,GAAG,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IACtC,OAAO,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACnD,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,mBAAmB,CAAC,aAAqB;IAChD,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,IAAI,gBAAgB,CAAC;IACpD,OAAO,GAAG,IAAI,qBAAqB,aAAa,EAAE,CAAC;AACrD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAC,QAAgB;IAC9C,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC3B,OAAO,EAAE,QAAQ,EAAE,mBAAmB,CAAC,QAAQ,CAAC,EAAE,CAAC;IACrD,CAAC;IACD,IAAI,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QACzB,OAAO,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IACtC,CAAC;IACD,OAAO,EAAE,QAAQ,EAAE,CAAC;AACtB,CAAC;AAED,SAAS,eAAe,CAAC,UAA2B;IAClD,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACtD,OAAO,aAAa,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC9C,CAAC;AAED,SAAS,kBAAkB,CAAC,IAAY;IACtC,MAAM,KAAK,GAA2B,EAAE,CAAC;IACzC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IACpC,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC5C,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACvC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAC5B,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,SAAS;QAClD,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACnC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;YACf,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAClF,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,UAAU;IACjB,MAAM,MAAM,GAA2B,EAAE,CAAC;IAE1C,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,KAAK,CAAC,CAAC;IACrC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,IAAI,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;IACrE,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;IAEnE,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC;IACtC,IAAI,MAAM;QAAE,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC;IAErC,IAAI,CAAC,MAAM,CAAC,QAAQ;QAAE,MAAM,CAAC,QAAQ,GAAG,gBAAgB,CAAC;IAEzD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,8EAA8E;AAC9E,oBAAoB;AACpB,8EAA8E;AAE9E,SAAS,aAAa,CAAC,QAAkB,EAAE,IAAY;IACrD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;IAC/B,IAAI,MAAM,IAAI,GAAG,IAAI,MAAM,GAAG,GAAG;QAAE,OAAO;IAC1C,IAAI,MAAM,KAAK,GAAG;QAAE,MAAM,IAAI,oBAAoB,CAAC,IAAI,CAAC,CAAC;IACzD,IAAI,MAAM,KAAK,GAAG;QAAE,MAAM,IAAI,mBAAmB,CAAC,IAAI,CAAC,CAAC;IACxD,IAAI,MAAM,KAAK,GAAG;QAAE,MAAM,IAAI,kBAAkB,CAAC,IAAI,CAAC,CAAC;IACvD,IAAI,MAAM,KAAK,GAAG;QAAE,MAAM,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC;IAClD,IAAI,MAAM,IAAI,GAAG;QAAE,MAAM,IAAI,qBAAqB,CAAC,IAAI,CAAC,CAAC;IACzD,MAAM,IAAI,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AACpC,CAAC;AAED,2EAA2E;AAC3E,SAAS,eAAe,CAAC,IAAY;IACnC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAA+B,CAAC;QAC9D,OAAO,MAAM,CAAC,aAAa,IAAI,IAAI,CAAC;IACtC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,sBAAsB;AACtB,8EAA8E;AAE9E,MAAM,OAAO,YAAY;IACN,kBAAkB,CAAS;IAC3B,SAAS,CAAS;IAClB,QAAQ,CAAS;IACjB,YAAY,CAAS;IAC9B,QAAQ,CAAW;IACnB,QAAQ,CAAW;IACnB,KAAK,CAAU;IACf,SAAS,CAAS;IAClB,cAAc,GAAyB,IAAI,CAAC;IAEpD,YACE,QAAgB,EAChB,OAAe,EACf,WAAmB,EACnB,iBAAyB;QAEzB,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC1B,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;QAChC,IAAI,CAAC,kBAAkB,GAAG,iBAAiB,CAAC;IAC9C,CAAC;IAED,uCAAuC;IACvC,MAAM,CAAC,KAAK,CAAC,OAAO,CAClB,UAA0B,EAC1B,QAAwB,EACxB,iBAAiC;QAEjC,MAAM,IAAI,GAAG,iBAAiB,IAAI,oBAAoB,CAAC;QACvD,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;QAE5B,IAAI,UAAU,IAAI,IAAI,EAAE,CAAC;YACvB,IAAI,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC3B,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,UAAU,CAAC,CAAC,CAAC;YACxD,CAAC;iBAAM,IAAI,YAAY,CAAC,UAAU,CAAC,EAAE,CAAC;gBACpC,MAAM,CAAC,KAAK,GAAG,UAAU,CAAC;YAC5B,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,kBAAkB,CAC1B,wBAAwB,UAAU,2BAA2B,CAC9D,CAAC;YACJ,CAAC;QACH,CAAC;QAED,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;YACrB,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC;QACnD,CAAC;QAED,MAAM,EAAE,GAAG,MAAM,CAAC,QAAQ,IAAI,gBAAgB,CAAC;QAC/C,MAAM,OAAO,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC;QAE3B,eAAe;QACf,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;QACrD,MAAM,MAAM,GAAG,UAAU,QAAQ,CAAC,KAAK,EAAE,CAAC;QAE1C,MAAM,EAAE,GAAG,IAAI,YAAY,CAAC,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;QACvD,EAAE,CAAC,SAAS,GAAG,QAAQ,CAAC;QACxB,EAAE,CAAC,QAAQ,GAAG,QAAQ,CAAC,OAAQ,CAAC;QAChC,EAAE,CAAC,KAAK,GAAG,QAAQ,CAAC,MAAO,CAAC;QAE5B,mCAAmC;QACnC,EAAE,CAAC,QAAQ,GAAG,MAAM,EAAE,CAAC,aAAa,EAAE,CAAC;QAEvC,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,6EAA6E;IAE7E,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,QAAQ,CAAC,EAAG,CAAC;IAC3B,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAK,CAAC;IAC7B,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;IACvB,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED,IAAI,qBAAqB;QACvB,OAAO,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACpC,CAAC;IAED,6EAA6E;IAErE,YAAY;QAClB,OAAO,EAAE,aAAa,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC;IAC9C,CAAC;IAEO,KAAK,CAAC,IAAI,CAAC,GAAW;QAC5B,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE;YAC7E,OAAO,EAAE;gBACP,GAAG,IAAI,CAAC,YAAY,EAAE;gBACtB,MAAM,EAAE,wCAAwC;gBAChD,YAAY,EAAE,iBAAiB;aAChC;SACF,CAAC,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QAC/B,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC1B,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED;;;;;OAKG;IACK,KAAK,CAAC,YAAY,CAAC,GAAW;QACpC,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE;YAC7E,OAAO,EAAE;gBACP,GAAG,IAAI,CAAC,YAAY,EAAE;gBACtB,MAAM,EAAE,wCAAwC;gBAChD,YAAY,EAAE,iBAAiB;aAChC;SACF,CAAC,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QAC/B,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC1B,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;QAC/C,MAAM,OAAO,GAAG,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACjE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAC1F,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,MAAM,CAAC,GAAW;QAC9B,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE;YAC7E,MAAM,EAAE,OAAO;YACf,OAAO,EAAE;gBACP,GAAG,IAAI,CAAC,YAAY,EAAE;gBACtB,MAAM,EAAE,wCAAwC;gBAChD,YAAY,EAAE,iBAAiB;aAChC;SACF,CAAC,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QAC/B,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC1B,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,QAAQ,CAAC,GAAW;QAChC,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE;YAC7E,OAAO,EAAE;gBACP,GAAG,IAAI,CAAC,YAAY,EAAE;gBACtB,MAAM,EAAE,eAAe;gBACvB,YAAY,EAAE,iBAAiB;aAChC;SACF,CAAC,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QAC/B,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC1B,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,KAAK,CAAC,KAAK,CAAC,GAAW,EAAE,IAAa;QAC5C,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE;YAC7E,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,GAAG,IAAI,CAAC,YAAY,EAAE;gBACtB,cAAc,EAAE,kBAAkB;gBAClC,MAAM,EAAE,wCAAwC;gBAChD,YAAY,EAAE,iBAAiB;aAChC;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;SAC3B,CAAC,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QAC/B,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC1B,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED,6EAA6E;IAE7E;;;;;;;;OAQG;IAEH;;;;;;OAMG;IACH,KAAK,CAAC,MAAM,CACV,WAAmB,EACnB,KAAa,EACb,QAAgB,EAChB,SAAyB,EACzB,QAAwB;QAExB,MAAM,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAC3C,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE;gBACjC,WAAW;gBACX,UAAU,EAAE,KAAK;gBACjB,aAAa,EAAE,QAAQ;gBACvB,SAAS,EAAE,SAAS,IAAI,IAAI;gBAC5B,QAAQ,EAAE,QAAQ,IAAI,IAAI;aAC3B,CAAC,CAAC;YACH,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,sEAAsE;YACtE,uEAAuE;YACvE,kCAAkC;YAClC,IAAI,CAAC,YAAY,aAAa,EAAE,CAAC;gBAC/B,MAAM,SAAS,GAAG,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;gBAC7C,MAAM,IAAI,wBAAwB,CAChC,iBAAiB,WAAW,YAAY;oBACtC,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,sBAAsB,SAAS,GAAG,CAAC,EAChE,WAAW,EACX,SAAS,CACV,CAAC;YACJ,CAAC;YACD,MAAM,CAAC,CAAC;QACV,CAAC;IACH,CAAC;IAED,iEAAiE;IACjE,KAAK,CAAC,cAAc,CAAC,WAAmB;QACtC,MAAM,GAAG,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC;QAClD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1E,OAAO,YAAY,CAAC,IAAI,CAAC,OAAqB,CAAC,CAAC;IAClD,CAAC;IAED,yBAAyB;IACzB,KAAK,CAAC,WAAW,CAAC,SAAiB;QACjC,OAAO,YAAY,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;IACpF,CAAC;IAED,sBAAsB;IACtB,KAAK,CAAC,QAAQ,CAAC,MAAc;QAC3B,OAAO,WAAW,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,MAAM,EAAE,CAAC,CAAC,CAAW,CAAC;IACxF,CAAC;IAED,oDAAoD;IACpD,KAAK,CAAC,WAAW,CAAC,aAAqB;QACrC,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,cAAc,EAAE,aAAa,EAAE,gBAAgB,CAAC,CAAC;QACzF,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAwB,CAAC;IACvD,CAAC;IAED,6EAA6E;IAC7E,KAAK,CAAC,eAAe;QACnB,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IAC9D,CAAC;IAED,+CAA+C;IAC/C,KAAK,CAAC,QAAQ;QACZ,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,yBAAyB,CAAC,CAAC;QAC3E,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAClC,OAAQ,IAAgC,CAAC,GAAG,CAAC,YAAY,CAAc,CAAC;IAC1E,CAAC;IAED,mEAAmE;IACnE,KAAK,CAAC,aAAa,CAAC,SAAiB;QACnC,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC;IAClE,CAAC;IAED,6CAA6C;IAC7C,KAAK,CAAC,UAAU,CACd,KAAa,EACb,QAAgB,EAChB,SAAiB,EACjB,QAAgB,EAChB,QAAkB,EAAE;QAEpB,MAAM,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QACzC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;QACpF,OAAO,WAAW,CAAC,IAAI,CAAW,CAAC;IACrC,CAAC;IAED,kCAAkC;IAClC,KAAK,CAAC,UAAU,CAAC,MAAc;QAC7B,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;QAC5D,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,uEAAuE;YACvE,yEAAyE;YACzE,kBAAkB;YAClB,IAAI,CAAC,YAAY,aAAa,EAAE,CAAC;gBAC/B,MAAM,IAAI,6BAA6B,CACrC,QAAQ,MAAM,8CAA8C,EAC5D,MAAM,CACP,CAAC;YACJ,CAAC;YACD,MAAM,CAAC,CAAC;QACV,CAAC;IACH,CAAC;IAED,+EAA+E;IAC/E,wEAAwE;IACxE,KAAK,CAAC,iBAAiB,CAAC,aAAqB;QAC3C,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,cAAc,EAAE,aAAa,CAAC,CAAC,CAAC;IAC1E,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,YAAY,CAChB,aAAqB,EACrB,MAAc,EACd,IAAY,EACZ,KAAe,EACf,QAAkB,QAAQ,EAAE,EAC5B,aAAa,GAAG,KAAK;QAErB,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,cAAc,EAAE,aAAa,EAAE,SAAS,CAAC,CAAC;QAClF,OAAO,WAAW,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE;YACvC,MAAM;YACN,IAAI;YACJ,YAAY,EAAE,KAAK,CAAC,OAAO;YAC3B,YAAY,EAAE,KAAK,CAAC,OAAO;YAC3B,SAAS,EAAE,KAAK,CAAC,IAAI;YACrB,WAAW,EAAE,KAAK,CAAC,OAAO;YAC1B,WAAW,EAAE,KAAK,CAAC,OAAO;YAC1B,QAAQ,EAAE,KAAK,CAAC,IAAI;YACpB,aAAa;SACd,CAAC,CAAC,CAAC;IACN,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,gBAAgB,CAAC,OAAiB;QACtC,MAAM,GAAG,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC;QACpD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;QAChD,OAAO;YACL,SAAS,EAAE,SAAS,CAAC,IAAI,CAAC,SAAmB,CAAC;YAC9C,IAAI,EAAE,CAAE,IAAI,CAAC,IAAqB,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACpD,MAAM,EAAG,CAAC,CAAC,MAAiB,IAAI,CAAC;gBACjC,KAAK,EAAG,CAAC,CAAC,KAAgB,IAAI,IAAI;gBAClC,GAAG,EAAG,CAAC,CAAC,GAAc,IAAI,IAAI;aAC/B,CAAC,CAAC;SACJ,CAAC;IACJ,CAAC;IAED,kEAAkE;IAC1D,KAAK,CAAC,OAAO,CAAC,GAAW;QAC/B,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE;YAC7E,MAAM,EAAE,QAAQ;YAChB,OAAO,EAAE,EAAE,GAAG,IAAI,CAAC,YAAY,EAAE,EAAE,MAAM,EAAE,kBAAkB,EAAE;SAChE,CAAC,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QAC/B,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC5B,CAAC;IAEO,KAAK,CAAC,aAAa;QACzB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC5C,OAAO,aAAa,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC1D,CAAC;IAED,yEAAyE;IACzE,YAAY;IACZ,yEAAyE;IAEzE,6EAA6E;IAE7E,KAAK,CAAC,YAAY;QAChB,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,cAAc,EAAE,yBAAyB,CAAC,CAAC;QAC/E,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAClC,OAAQ,IAAgC,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IACjE,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,aAAqB;QACrC,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,cAAc,EAAE,aAAa,CAAC,CAAC;QAChE,OAAO,gBAAgB,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAChD,CAAC;IAED,6EAA6E;IAE7E,KAAK,CAAC,OAAO,CAAC,aAAqB;QACjC,MAAM,GAAG,GAAG,iBAAiB,CAC3B,IAAI,CAAC,QAAQ,EACb,cAAc,EACd,aAAa,EACb,SAAS,EACT,yBAAyB,CAC1B,CAAC;QACF,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAClC,OAAQ,IAAgC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAC5D,CAAC;IAED;;;;;OAKG;IACH,KAAK;QACH,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED,uDAAuD;IACvD,OAAO;QACL,OAAO,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IACpC,CAAC;IAED;;;;OAIG;IACH,SAAS;QACP,OAAO,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IACtC,CAAC;IAED,OAAO,CAAC,IAAY;QAClB,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAClD,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,aAAqB;QACjC,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,cAAc,EAAE,aAAa,EAAE,SAAS,CAAC,CAAC;QAClF,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAwB,CAAC;IACvD,CAAC;IAED,6EAA6E;IAE7E;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,QAAQ,CAAC,aAAqB;QAClC,MAAM,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,iBAAiB,aAAa,WAAW,CAAC,CAAC;QAC1E,OAAQ,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAA6B,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IAC/E,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,aAAqB;QACjC,MAAM,GAAG,GAAG,YAAY,CACtB,IAAI,CAAC,QAAQ,EACb,cAAc,EACd,aAAa,EACb,gBAAgB,CACjB,CAAC;QACF,OAAO,YAAY,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5C,CAAC;IAED,6EAA6E;IAE7E,KAAK,CAAC,WAAW,CACf,aAAqB,EACrB,QAAgB,EAChB,IAAY,EACZ,KAAa,EACb,KAAa;QAEb,MAAM,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACzC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE;YACjC,aAAa;YACb,QAAQ;YACR,IAAI,EAAE,OAAO;YACb,IAAI;YACJ,KAAK;YACL,KAAK;YACL,iBAAiB,EAAE,IAAI,CAAC,kBAAkB;SAC3C,CAAC,CAAC;QACH,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED;;;;;;;;;;;;;;;;;OAiBG;IACH,KAAK,CAAC,YAAY,CAChB,aAAqB,EACrB,QAAgB,EAChB,IAAY,EACZ,KAAa;QAEb,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;QAC3D,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,WAAW,CAClC,aAAa,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,eAAe,CAAC,MAAM,EAAE,IAAI,CAAC,CACpE,CAAC;QAEF,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;QAC7D,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,qEAAqE;YACrE,mDAAmD;YACnD,MAAM,IAAI,iBAAiB,CACzB,SAAS,KAAK,CAAC,EAAE,wDAAwD;gBACvE,0DAA0D,MAAM,CAAC,CAAC,CAAC,GAAG,CACzE,CAAC;QACJ,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,KAAK,CAAC,OAAO,CAAC,aAAqB,EAAE,QAAgB;QAC3D,KAAK,MAAM,SAAS,IAAI,MAAM,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;YAC1D,IAAI,SAAS,CAAC,EAAE,KAAK,QAAQ;gBAAE,OAAO,SAAS,CAAC;QAClD,CAAC;QACD,MAAM,IAAI,oBAAoB,CAC5B,UAAU,QAAQ,0BAA0B,aAAa,EAAE,CAC5D,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,YAAY,CAChB,aAAqB,EACrB,QAAgB,EAChB,UAAkB;QAElB,MAAM,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACzC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE;YACjC,aAAa;YACb,QAAQ;YACR,IAAI,EAAE,QAAQ;YACd,EAAE,EAAE,UAAU;YACd,QAAQ,EAAE,UAAU;YACpB,QAAQ,EAAE,UAAU;YACpB,iBAAiB,EAAE,IAAI,CAAC,kBAAkB;SAC3C,CAAC,CAAC;QACH,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,YAAY,CAAC,aAAqB;QACtC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC/B,MAAM,GAAG,GAAG,GAAG,QAAQ,oBAAoB,aAAa,gBAAgB,CAAC;QACzE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;QACvD,MAAM,MAAM,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACpD,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;IACnC,CAAC;IAED;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,YAAY,CAAC,aAAqB,EAAE,IAAI,GAAG,IAAI;QACnD,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,oBAAoB,aAAa,8BAA8B,IAAI,EAAE,CAAC;QAClG,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;QACvD,MAAM,MAAM,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACpD,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,MAAM,CACV,aAAqB,EACrB,OAAoD;QAEpD,IAAI,OAAO,EAAE,MAAM,IAAI,IAAI,EAAE,CAAC;YAC5B,MAAM,GAAG,GAAG,0BAA0B,CACpC,IAAI,CAAC,QAAQ,EACb,kBAAkB,EAClB,aAAa,EACb,UAAU,OAAO,CAAC,MAAM,EAAE,CAC3B,CAAC;YACF,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAClC,MAAM,MAAM,GAAI,IAAgC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YACjE,KAAK,MAAM,CAAC,IAAI,MAAM;gBAAE,CAAC,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;YAClD,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,IAAI,OAAO,EAAE,UAAU,IAAI,IAAI,EAAE,CAAC;YAChC,MAAM,GAAG,GAAG,0BAA0B,CACpC,IAAI,CAAC,QAAQ,EACb,mBAAmB,EACnB,aAAa,EACb,eAAe,CAAC,OAAO,CAAC,UAAU,CAAC,CACpC,CAAC;YACF,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAClC,OAAQ,IAAgC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC3D,CAAC;QACD,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,cAAc,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;QACjF,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAClC,OAAQ,IAAgC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAC3D,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,KAAK,CAAC,MAAM,CAAC,aAAqB,EAAE,MAAc;QAChD,MAAM,GAAG,GAAG,0BAA0B,CACpC,IAAI,CAAC,QAAQ,EACb,kBAAkB,EAClB,aAAa,EACb,UAAU,MAAM,EAAE,CACnB,CAAC;QACF,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAClC,MAAM,MAAM,GAAI,IAAgC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACjE,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;YACvB,wEAAwE;YACxE,sEAAsE;YACtE,mEAAmE;YACnE,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC;YAClB,CAAC,CAAC,MAAM,GAAG,MAAM,CAAC;QACpB,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,6EAA6E;IAE7E,KAAK,CAAC,QAAQ,CACZ,aAAqB,EACrB,UAA4B;QAE5B,IAAI,GAAW,CAAC;QAChB,IAAI,UAAU,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxC,GAAG,GAAG,iBAAiB,CACrB,IAAI,CAAC,QAAQ,EACb,cAAc,EACd,aAAa,EACb,UAAU,EACV,YAAY,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CACnC,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,GAAG,GAAG,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,cAAc,EAAE,aAAa,EAAE,UAAU,CAAC,CAAC;QAC/E,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAClC,OAAQ,IAAgC,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IAC7D,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,aAAqB;QACjC,MAAM,GAAG,GAAG,YAAY,CACtB,IAAI,CAAC,QAAQ,EACb,cAAc,EACd,aAAa,EACb,gBAAgB,CACjB,CAAC;QACF,OAAO,YAAY,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5C,CAAC;IAED,6EAA6E;IAE7E;;;;;;OAMG;IACH,KAAK,CAAC,WAAW,CAAC,aAAqB;QACrC,MAAM,GAAG,GAAG,iBAAiB,CAC3B,IAAI,CAAC,QAAQ,EAAE,cAAc,EAAE,aAAa,EAAE,aAAa,EAC3D,yBAAyB,CAC1B,CAAC;QACF,OAAQ,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAA6B,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IAClF,CAAC;IAED,6EAA6E;IAC7E,EAAE;IACF,uEAAuE;IACvE,2EAA2E;IAC3E,sEAAsE;IACtE,qCAAqC;IAErC;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,yBAAyB,CAAC,UAAkB;QAChD,IAAI,MAAe,CAAC;QACpB,IAAI,CAAC;YACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAClC,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,IAAI,oBAAoB,CAC5B,6CAA8C,CAAW,CAAC,OAAO,EAAE,CACpE,CAAC;QACJ,CAAC;QACD,MAAM,GAAG,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC;QACxD,OAAO,gBAAgB,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC;IACzD,CAAC;IAED,sEAAsE;IACtE,KAAK,CAAC,WAAW,CAAC,aAAqB;QACrC,OAAO,YAAY,CACjB,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC,CACtF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,aAAqB;QACtC,OAAO,YAAY,CACjB,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,cAAc,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC,CACvF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,aAAqB;QACtC,OAAO,YAAY,CACjB,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,cAAc,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC,CACvF,CAAC;IACJ,CAAC;IAED,+EAA+E;IAC/E,KAAK,CAAC,KAAK;QACT,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC;QAC9D,OAAQ,IAAgC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,CAAW,CAAC,CAAC;IAChF,CAAC;IAED,gFAAgF;IAChF,KAAK,CAAC,UAAU,CAAC,aAAqB,EAAE,YAAoB;QAC1D,MAAM,GAAG,GACP,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,oBAAoB,aAAa,EAAE;YAC5D,0BAA0B,YAAY,EAAE,CAAC;QAC3C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAClC,OAAQ,IAAgC,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAC/D,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,QAAQ,CAAC,aAAqB,EAAE,QAAmB;QACvD,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,cAAc,EAAE,aAAa,EAAE,aAAa,CAAC,CAAC;QACtF,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,CAAC;QACvE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACzC,OAAO,oBAAoB,CAAE,IAAgC,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC;IACrF,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,gBAAgB,CAAC,aAAqB,EAAE,UAA4B;QACxE,IAAI,UAAU,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxC,OAAO,IAAI,CAAC,QAAQ,CAClB,iBAAiB,CACf,IAAI,CAAC,QAAQ,EACb,cAAc,EACd,aAAa,EACb,oBAAoB,EACpB,YAAY,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CACnC,CACF,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC,QAAQ,CAClB,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,cAAc,EAAE,aAAa,EAAE,oBAAoB,CAAC,CACjF,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,cAAc,CAAC,aAAqB,EAAE,QAAgB;QAC1D,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,cAAc,EAAE,aAAa,EAAE,kBAAkB,CAAC,CAAC;QAC3F,MAAM,IAAI,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC5B,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,IAAI,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC5E,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;YAC5B,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,GAAG,IAAI,CAAC,YAAY,EAAE,EAAE,YAAY,EAAE,iBAAiB,EAAE;YACpE,IAAI,EAAE,IAAI;SACX,CAAC,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QAC/B,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC1B,OAAO,oBAAoB,CAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAkB,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC;IACtF,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,KAAK,CAAC,WAAW,CAAC,aAAqB,EAAE,QAAgB;QACvD,MAAM,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,iBAAiB,aAAa,gBAAgB,CAAC,CAAC;QAC/E,MAAM,IAAI,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC5B,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,IAAI,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC5E,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;YAC5B,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,GAAG,IAAI,CAAC,YAAY,EAAE,EAAE,YAAY,EAAE,iBAAiB,EAAE;YACpE,IAAI,EAAE,IAAI;SACX,CAAC,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QAC/B,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC1B,OAAQ,IAAI,CAAC,KAAK,CAAC,IAAI,CAAkB,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;IACvE,CAAC;IAED,6EAA6E;IAE5D,YAAY,GAAG,IAAI,GAAG,EAAmD,CAAC;IAC1E,mBAAmB,GAAG,IAAI,GAAG,EAAgC,CAAC;IAE/E;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,IAAI,CAAC,aAAqB;QAC9B,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QACtD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,QAAQ,CAAC,QAAQ,EAAE,CAAC;YACpB,OAAO,IAAI,UAAU,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,CAAC,CAAC;QACrF,CAAC;QACD,8DAA8D;QAC9D,yDAAyD;QACzD,iEAAiE;QACjE,gEAAgE;QAChE,kCAAkC;QAClC,IAAI,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QACpD,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;YACpB,CAAC,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;YAC1C,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;QACjD,CAAC;QACD,IAAI,MAAmB,CAAC;QACxB,IAAI,CAAC;YACH,MAAM,GAAG,MAAM,CAAC,CAAC;QACnB,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QACjD,CAAC;QACD,kEAAkE;QAClE,iEAAiE;QACjE,UAAU;QACV,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QACxD,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC7B,IAAI,UAAU,CAAC,IAAI,KAAK,MAAM;gBAAE,MAAM,CAAC,KAAK,EAAE,CAAC;YAC/C,UAAU,CAAC,QAAQ,EAAE,CAAC;YACtB,OAAO,IAAI,UAAU,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,CAAC,CAAC;QACvF,CAAC;QACD,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,aAAa,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC;QACpE,OAAO,IAAI,UAAU,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,CAAC,CAAC;IAC9E,CAAC;IAED,kBAAkB,CAAC,aAAqB;QACtC,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QACnD,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO;QAChC,IAAI,EAAE,KAAK,CAAC,QAAQ,IAAI,CAAC,EAAE,CAAC;YAC1B,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;YACxC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QACrB,CAAC;IACH,CAAC;IAED,4DAA4D;IAC5D,KAAK,CAAC,MAAM,CAAC,aAAqB,EAAE,QAAuB;QACzD,IAAI,CAAC,cAAc,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;IAC3E,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,KAAK,CAAC,SAAS,CAAC,aAAqB,EAAE,QAAuB;QAC5D,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;QACpE,OAAO,GAAG,EAAE;YACV,KAAK,QAAQ,CAAC,KAAK,EAAE,CAAC;QACxB,CAAC,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,cAAc,CAAC,aAAqB,EAAE,QAAuB;QACjE,MAAM,KAAK,GACT,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;aACnB,OAAO,CAAC,UAAU,EAAE,QAAQ,CAAC;aAC7B,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;QAC7C,MAAM,MAAM,GAAG,IAAI,aAAa,CAC9B,KAAK,EACL,IAAI,CAAC,YAAY,EACjB,aAAa,EACb,QAAQ,EACR,IAAI,CAAC,kBAAkB,EACvB,YAAY,EACZ,UAAU,CACX,CAAC;QACF,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;QACrB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,uDAAuD;IACvD,KAAK,CAAC,SAAS;QACb,IAAI,IAAI,CAAC,cAAc,KAAK,IAAI,EAAE,CAAC;YACjC,MAAM,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,CAAC;QACxC,CAAC;IACH,CAAC;IAED,6EAA6E;IAE7E,KAAK;QACH,IAAI,IAAI,CAAC,cAAc,KAAK,IAAI,EAAE,CAAC;YACjC,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;YAC5B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC7B,CAAC;QACD,0DAA0D;QAC1D,gDAAgD;QAChD,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,EAAE,CAAC;YAC/C,IAAI,CAAC;gBAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC,CAAC;QACzD,CAAC;QACD,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;IAC5B,CAAC;CACF;AAED,8EAA8E;AAC9E,iBAAiB;AACjB,8EAA8E;AAE9E,KAAK,UAAU,MAAM,CACnB,OAAe,EACf,MAA8B,EAC9B,iBAAyB;IAEzB,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC;IAC/B,IAAI,GAAG,IAAI,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC;QAC7B,sEAAsE;QACtE,0EAA0E;QAC1E,uEAAuE;QACvE,uEAAuE;QACvE,6DAA6D;QAC7D,EAAE;QACF,4EAA4E;QAC5E,yEAAyE;QACzE,2EAA2E;QAC3E,kBAAkB;QAClB,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,iBAAiB,EAAE;YACpD,MAAM,EAAE,KAAK;YACb,OAAO,EAAE;gBACP,aAAa,EAAE,UAAU,GAAG,EAAE;gBAC9B,MAAM,EAAE,kBAAkB;gBAC1B,YAAY,EAAE,iBAAiB;aAChC;SACF,CAAC,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QAC/B,IAAI,IAAI,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YACxB,MAAM,IAAI,mBAAmB,CAAC,4CAA4C,CAAC,CAAC;QAC9E,CAAC;QACD,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC1B,OAAO,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IACtC,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;IAClC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC;IACjC,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC;IAEvC,IAAI,CAAC,IAAI;QAAE,MAAM,IAAI,kBAAkB,CAAC,qCAAqC,CAAC,CAAC;IAC/E,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,kBAAkB,CAAC,mCAAmC,CAAC,CAAC;IAC9E,IAAI,CAAC,QAAQ;QAAE,MAAM,IAAI,kBAAkB,CAAC,sCAAsC,CAAC,CAAC;IAEpF,MAAM,OAAO,GAAG,GAAG,OAAO,SAAS,CAAC;IACpC,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,OAAO,EAAE;QAChC,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACP,cAAc,EAAE,kBAAkB;YAClC,MAAM,EAAE,kBAAkB;YAC1B,YAAY,EAAE,iBAAiB;SAChC;QACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;YACnB,QAAQ,EAAE,GAAG,IAAI,IAAI,KAAK,EAAE;YAC5B,QAAQ;SACT,CAAC;KACH,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;IAC/B,IAAI,IAAI,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QACxB,MAAM,IAAI,mBAAmB,CAAC,wBAAwB,CAAC,CAAC;IAC1D,CAAC;IACD,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC1B,OAAO,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;AACtC,CAAC"}
|