@legendapp/state 1.3.6 → 1.4.0-next.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/CHANGELOG.md +10 -0
- package/index.d.ts +2 -2
- package/index.js +121 -56
- package/index.js.map +1 -1
- package/index.mjs +122 -55
- package/index.mjs.map +1 -1
- package/package.json +1 -1
- package/src/computed.d.ts +1 -0
- package/src/globals.d.ts +5 -3
- package/src/helpers.d.ts +4 -3
- package/src/observableInterfaces.d.ts +6 -1
- package/src/observe.d.ts +1 -0
- package/trace.js +0 -2
- package/trace.js.map +1 -1
- package/trace.mjs +0 -2
- package/trace.mjs.map +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,13 @@
|
|
|
1
|
+
## 1.4.0
|
|
2
|
+
|
|
3
|
+
- Feat: Returning an observable in a computed creates a two-way link to the target observable.
|
|
4
|
+
- Feat: `computed` is supported as a child of an observable
|
|
5
|
+
- Feat: Functions and computeds in the hierarchy of the constructing object in an observable are extracted into observable metadata so that setting the observable does not delete them.
|
|
6
|
+
|
|
7
|
+
## 1.3.6
|
|
8
|
+
|
|
9
|
+
- Fix: Setting a primitive observable to the same value was still notifying listeners
|
|
10
|
+
|
|
1
11
|
## 1.3.5
|
|
2
12
|
|
|
3
13
|
- Fix: array.find was returning `[]` instead of `undefined` when it found no matches
|
package/index.d.ts
CHANGED
|
@@ -9,8 +9,8 @@ export { when, whenReady } from './src/when';
|
|
|
9
9
|
export { configureLegendState } from './src/config';
|
|
10
10
|
export * from './src/observableInterfaces';
|
|
11
11
|
export { isEmpty, isArray, isBoolean, isFunction, isObject, isPrimitive, isPromise, isString, isSymbol, } from './src/is';
|
|
12
|
-
import { setAtPath
|
|
13
|
-
import { ensureNodeValue, get, peek } from './src/globals';
|
|
12
|
+
import { setAtPath } from './src/helpers';
|
|
13
|
+
import { ensureNodeValue, get, getNode, peek } from './src/globals';
|
|
14
14
|
import { getProxy, set } from './src/ObservableObject';
|
|
15
15
|
export declare const internal: {
|
|
16
16
|
ensureNodeValue: typeof ensureNodeValue;
|
package/index.js
CHANGED
|
@@ -10,7 +10,6 @@ function isString(obj) {
|
|
|
10
10
|
function isObject(obj) {
|
|
11
11
|
return !!obj && typeof obj === 'object' && !isArray(obj);
|
|
12
12
|
}
|
|
13
|
-
// eslint-disable-next-line @typescript-eslint/ban-types
|
|
14
13
|
function isFunction(obj) {
|
|
15
14
|
return typeof obj === 'function';
|
|
16
15
|
}
|
|
@@ -92,14 +91,13 @@ function updateTracking(node, track) {
|
|
|
92
91
|
}
|
|
93
92
|
|
|
94
93
|
const symbolToPrimitive = Symbol.toPrimitive;
|
|
95
|
-
const symbolIsObservable = Symbol('isObservable');
|
|
96
|
-
const symbolIsEvent = Symbol('isEvent');
|
|
97
94
|
const symbolGetNode = Symbol('getNode');
|
|
98
95
|
const symbolDelete = /* @__PURE__ */ Symbol('delete');
|
|
99
96
|
const symbolOpaque = Symbol('opaque');
|
|
100
97
|
const optimized = Symbol('optimized');
|
|
101
98
|
const extraPrimitiveActivators = new Map();
|
|
102
99
|
const extraPrimitiveProps = new Map();
|
|
100
|
+
const __devExtractFunctionsAndComputedsNodes = process.env.NODE_ENV === 'development' || process.env.NODE_ENV === 'test' ? new Set() : undefined;
|
|
103
101
|
function checkActivate(node) {
|
|
104
102
|
const root = node.root;
|
|
105
103
|
const activate = root.activate;
|
|
@@ -108,6 +106,9 @@ function checkActivate(node) {
|
|
|
108
106
|
activate();
|
|
109
107
|
}
|
|
110
108
|
}
|
|
109
|
+
function getNode(obs) {
|
|
110
|
+
return obs && obs[symbolGetNode];
|
|
111
|
+
}
|
|
111
112
|
function get(node, track) {
|
|
112
113
|
// Track by default
|
|
113
114
|
updateTracking(node, track);
|
|
@@ -183,6 +184,36 @@ function findIDKey(obj, node) {
|
|
|
183
184
|
}
|
|
184
185
|
return idKey;
|
|
185
186
|
}
|
|
187
|
+
function extractFunction(node, value, key) {
|
|
188
|
+
if (!node.functions) {
|
|
189
|
+
node.functions = new Map();
|
|
190
|
+
}
|
|
191
|
+
node.functions.set(key, value[key]);
|
|
192
|
+
}
|
|
193
|
+
function extractFunctionsAndComputeds(obj, node) {
|
|
194
|
+
if (process.env.NODE_ENV === 'development' || process.env.NODE_ENV === 'test') {
|
|
195
|
+
if (__devExtractFunctionsAndComputedsNodes.has(obj)) {
|
|
196
|
+
console.error('[legend-state] Circular reference detected in object. You may want to use opaqueObject to stop traversing child nodes.', obj);
|
|
197
|
+
return false;
|
|
198
|
+
}
|
|
199
|
+
__devExtractFunctionsAndComputedsNodes.add(obj);
|
|
200
|
+
}
|
|
201
|
+
for (const k in obj) {
|
|
202
|
+
const v = obj[k];
|
|
203
|
+
if (typeof v === 'function') {
|
|
204
|
+
extractFunction(node, obj, k);
|
|
205
|
+
}
|
|
206
|
+
else if (typeof v == 'object' && v !== null && v !== undefined) {
|
|
207
|
+
const childNode = getNode(v);
|
|
208
|
+
if (childNode === null || childNode === void 0 ? void 0 : childNode.isComputed) {
|
|
209
|
+
extractFunction(node, obj, k);
|
|
210
|
+
}
|
|
211
|
+
else {
|
|
212
|
+
extractFunctionsAndComputeds(obj[k], getChildNode(node, k));
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
}
|
|
186
217
|
|
|
187
218
|
let timeout;
|
|
188
219
|
let numInBatch = 0;
|
|
@@ -272,6 +303,11 @@ function computeChangesAtNode(changesInBatch, node, value, path, pathTypes, valu
|
|
|
272
303
|
function computeChangesRecursive(changesInBatch, node, value, path, pathTypes, valueAtPath, prevAtPath, immediate, level, whenOptimizedOnlyIf) {
|
|
273
304
|
// Do the compute at this node
|
|
274
305
|
computeChangesAtNode(changesInBatch, node, value, path, pathTypes, valueAtPath, prevAtPath, immediate, level, whenOptimizedOnlyIf);
|
|
306
|
+
if (node.linkedFromNodes) {
|
|
307
|
+
for (const linkedFromNode of node.linkedFromNodes) {
|
|
308
|
+
computeChangesAtNode(changesInBatch, linkedFromNode, value, path, pathTypes, valueAtPath, prevAtPath, immediate, level, whenOptimizedOnlyIf);
|
|
309
|
+
}
|
|
310
|
+
}
|
|
275
311
|
// If not root notify up through parents
|
|
276
312
|
if (node.parent) {
|
|
277
313
|
const parent = node.parent;
|
|
@@ -395,17 +431,18 @@ function afterBatch(fn) {
|
|
|
395
431
|
}
|
|
396
432
|
|
|
397
433
|
function isObservable(obs) {
|
|
398
|
-
return obs && !!obs[
|
|
434
|
+
return obs && !!obs[symbolGetNode];
|
|
435
|
+
}
|
|
436
|
+
function isEvent(obs) {
|
|
437
|
+
var _a;
|
|
438
|
+
return obs && ((_a = obs[symbolGetNode]) === null || _a === void 0 ? void 0 : _a.isEvent);
|
|
399
439
|
}
|
|
400
|
-
function computeSelector(selector, e) {
|
|
440
|
+
function computeSelector(selector, e, retainObservable) {
|
|
401
441
|
let c = selector;
|
|
402
442
|
if (isFunction(c)) {
|
|
403
443
|
c = e ? c(e) : c();
|
|
404
444
|
}
|
|
405
|
-
return isObservable(c) ? c.get() : c;
|
|
406
|
-
}
|
|
407
|
-
function getNode(obs) {
|
|
408
|
-
return obs[symbolGetNode];
|
|
445
|
+
return isObservable(c) && !retainObservable ? c.get() : c;
|
|
409
446
|
}
|
|
410
447
|
function getObservableIndex(obs) {
|
|
411
448
|
const node = getNode(obs);
|
|
@@ -640,7 +677,7 @@ function trackSelector(selector, update, observeEvent, observeOptions, createRes
|
|
|
640
677
|
else {
|
|
641
678
|
// Compute the selector inside a tracking context
|
|
642
679
|
beginTracking();
|
|
643
|
-
value = selector ? computeSelector(selector, observeEvent) : selector;
|
|
680
|
+
value = selector ? computeSelector(selector, observeEvent, observeOptions === null || observeOptions === void 0 ? void 0 : observeOptions.retainObservable) : selector;
|
|
644
681
|
tracker = tracking.current;
|
|
645
682
|
nodes = tracker.nodes;
|
|
646
683
|
endTracking();
|
|
@@ -689,9 +726,7 @@ const ArrayLoopers = new Set([
|
|
|
689
726
|
'some',
|
|
690
727
|
]);
|
|
691
728
|
const ArrayLoopersReturn = new Set(['filter', 'find']);
|
|
692
|
-
// eslint-disable-next-line @typescript-eslint/ban-types
|
|
693
729
|
const observableProperties = new Map();
|
|
694
|
-
// eslint-disable-next-line @typescript-eslint/ban-types
|
|
695
730
|
const observableFns = new Map([
|
|
696
731
|
['get', get],
|
|
697
732
|
['set', set],
|
|
@@ -708,7 +743,6 @@ if (process.env.NODE_ENV === 'development' || process.env.NODE_ENV === 'test') {
|
|
|
708
743
|
function collectionSetter(node, target, prop, ...args) {
|
|
709
744
|
var _a;
|
|
710
745
|
const prevValue = (isArray(target) && target.slice()) || target;
|
|
711
|
-
// eslint-disable-next-line @typescript-eslint/ban-types
|
|
712
746
|
const ret = target[prop].apply(target, args);
|
|
713
747
|
if (node) {
|
|
714
748
|
const hasParent = isChildNodeValue(node);
|
|
@@ -902,22 +936,24 @@ function getProxy(node, p) {
|
|
|
902
936
|
return node.proxy || (node.proxy = new Proxy(node, proxyHandler));
|
|
903
937
|
}
|
|
904
938
|
const proxyHandler = {
|
|
905
|
-
get(node, p) {
|
|
939
|
+
get(node, p, receiver) {
|
|
940
|
+
var _a;
|
|
906
941
|
if (p === symbolToPrimitive) {
|
|
907
942
|
throw new Error(process.env.NODE_ENV === 'development'
|
|
908
943
|
? '[legend-state] observable should not be used as a primitive. You may have forgotten to use .get() or .peek() to get the value of the observable.'
|
|
909
944
|
: '[legend-state] observable is not a primitive.');
|
|
910
945
|
}
|
|
911
|
-
if (p === symbolIsObservable) {
|
|
912
|
-
// Return true if called by isObservable()
|
|
913
|
-
return true;
|
|
914
|
-
}
|
|
915
|
-
if (p === symbolIsEvent) {
|
|
916
|
-
return false;
|
|
917
|
-
}
|
|
918
946
|
if (p === symbolGetNode) {
|
|
919
947
|
return node;
|
|
920
948
|
}
|
|
949
|
+
if (node.isComputed) {
|
|
950
|
+
checkActivate(node);
|
|
951
|
+
}
|
|
952
|
+
// If this node is linked to another observable then forward to the target's handler.
|
|
953
|
+
// The exception is onChange because it needs to listen to this node for changes.
|
|
954
|
+
if (node.linkedToNode && p !== 'onChange') {
|
|
955
|
+
return proxyHandler.get(node.linkedToNode, p, receiver);
|
|
956
|
+
}
|
|
921
957
|
const value = peek(node);
|
|
922
958
|
if (value instanceof Map || value instanceof WeakMap || value instanceof Set || value instanceof WeakSet) {
|
|
923
959
|
const ret = handlerMapSet(node, p, value);
|
|
@@ -1016,6 +1052,10 @@ const proxyHandler = {
|
|
|
1016
1052
|
return vProp;
|
|
1017
1053
|
}
|
|
1018
1054
|
}
|
|
1055
|
+
const fnOrComputed = (_a = node.functions) === null || _a === void 0 ? void 0 : _a.get(p);
|
|
1056
|
+
if (fnOrComputed) {
|
|
1057
|
+
return fnOrComputed;
|
|
1058
|
+
}
|
|
1019
1059
|
// Return an observable proxy to the property
|
|
1020
1060
|
return getProxy(node, p);
|
|
1021
1061
|
},
|
|
@@ -1125,7 +1165,7 @@ function setKey(node, key, newValue, level) {
|
|
|
1125
1165
|
newValue =
|
|
1126
1166
|
!node.isAssigning && isFunc
|
|
1127
1167
|
? newValue(prevValue)
|
|
1128
|
-
: isObject(newValue) && (newValue === null || newValue === void 0 ? void 0 : newValue[
|
|
1168
|
+
: isObject(newValue) && (newValue === null || newValue === void 0 ? void 0 : newValue[symbolGetNode])
|
|
1129
1169
|
? newValue.peek()
|
|
1130
1170
|
: newValue;
|
|
1131
1171
|
const isPrim = isPrimitive(newValue) || newValue instanceof Date;
|
|
@@ -1270,11 +1310,25 @@ function updateNodesAndNotify(node, newValue, prevValue, childNode, isPrim, isRo
|
|
|
1270
1310
|
endBatch();
|
|
1271
1311
|
}
|
|
1272
1312
|
|
|
1313
|
+
const fns = ['get', 'set', 'peek', 'onChange', 'toggle'];
|
|
1273
1314
|
function ObservablePrimitiveClass(node) {
|
|
1274
1315
|
this._node = node;
|
|
1275
|
-
|
|
1276
|
-
|
|
1316
|
+
// Bind to this
|
|
1317
|
+
for (let i = 0; i < fns.length; i++) {
|
|
1318
|
+
const key = fns[i];
|
|
1319
|
+
this[key] = this[key].bind(this);
|
|
1320
|
+
}
|
|
1277
1321
|
}
|
|
1322
|
+
// Add observable functions to prototype
|
|
1323
|
+
function proto(key, fn) {
|
|
1324
|
+
ObservablePrimitiveClass.prototype[key] = function (...args) {
|
|
1325
|
+
return fn.call(this, this._node, ...args);
|
|
1326
|
+
};
|
|
1327
|
+
}
|
|
1328
|
+
proto('peek', peek);
|
|
1329
|
+
proto('get', get);
|
|
1330
|
+
proto('set', set);
|
|
1331
|
+
proto('onChange', onChange);
|
|
1278
1332
|
// Getters
|
|
1279
1333
|
Object.defineProperty(ObservablePrimitiveClass.prototype, symbolGetNode, {
|
|
1280
1334
|
configurable: true,
|
|
@@ -1282,24 +1336,6 @@ Object.defineProperty(ObservablePrimitiveClass.prototype, symbolGetNode, {
|
|
|
1282
1336
|
return this._node;
|
|
1283
1337
|
},
|
|
1284
1338
|
});
|
|
1285
|
-
Object.defineProperty(ObservablePrimitiveClass.prototype, symbolIsObservable, {
|
|
1286
|
-
configurable: true,
|
|
1287
|
-
value: true,
|
|
1288
|
-
});
|
|
1289
|
-
Object.defineProperty(ObservablePrimitiveClass.prototype, symbolIsEvent, {
|
|
1290
|
-
configurable: true,
|
|
1291
|
-
value: false,
|
|
1292
|
-
});
|
|
1293
|
-
ObservablePrimitiveClass.prototype.peek = function () {
|
|
1294
|
-
return peek(this._node);
|
|
1295
|
-
};
|
|
1296
|
-
ObservablePrimitiveClass.prototype.get = function () {
|
|
1297
|
-
return get(this._node);
|
|
1298
|
-
};
|
|
1299
|
-
// Setters
|
|
1300
|
-
ObservablePrimitiveClass.prototype.set = function (value) {
|
|
1301
|
-
return set(this._node, value);
|
|
1302
|
-
};
|
|
1303
1339
|
ObservablePrimitiveClass.prototype.toggle = function () {
|
|
1304
1340
|
const value = this.peek();
|
|
1305
1341
|
if (value === undefined || isBoolean(value)) {
|
|
@@ -1314,10 +1350,6 @@ ObservablePrimitiveClass.prototype.delete = function () {
|
|
|
1314
1350
|
this.set(undefined);
|
|
1315
1351
|
return this;
|
|
1316
1352
|
};
|
|
1317
|
-
// Listener
|
|
1318
|
-
ObservablePrimitiveClass.prototype.onChange = function (cb, options) {
|
|
1319
|
-
return onChange(this._node, cb, options);
|
|
1320
|
-
};
|
|
1321
1353
|
|
|
1322
1354
|
function createObservable(value, makePrimitive) {
|
|
1323
1355
|
const valueIsPromise = isPromise(value);
|
|
@@ -1327,7 +1359,8 @@ function createObservable(value, makePrimitive) {
|
|
|
1327
1359
|
const node = {
|
|
1328
1360
|
root,
|
|
1329
1361
|
};
|
|
1330
|
-
const
|
|
1362
|
+
const prim = makePrimitive || isActualPrimitive(value);
|
|
1363
|
+
const obs = prim
|
|
1331
1364
|
? new ObservablePrimitiveClass(node)
|
|
1332
1365
|
: getProxy(node);
|
|
1333
1366
|
if (valueIsPromise) {
|
|
@@ -1338,6 +1371,12 @@ function createObservable(value, makePrimitive) {
|
|
|
1338
1371
|
obs.set(value);
|
|
1339
1372
|
});
|
|
1340
1373
|
}
|
|
1374
|
+
else if (!prim) {
|
|
1375
|
+
if (process.env.NODE_ENV === 'development' || process.env.NODE_ENV === 'test') {
|
|
1376
|
+
__devExtractFunctionsAndComputedsNodes.clear();
|
|
1377
|
+
}
|
|
1378
|
+
extractFunctionsAndComputeds(value, node);
|
|
1379
|
+
}
|
|
1341
1380
|
return obs;
|
|
1342
1381
|
}
|
|
1343
1382
|
function observable(value) {
|
|
@@ -1377,7 +1416,7 @@ function observe(selectorOrRun, reactionOrOptions, options) {
|
|
|
1377
1416
|
e.onCleanupReaction = undefined;
|
|
1378
1417
|
}
|
|
1379
1418
|
// Call the reaction if there is one and the value changed
|
|
1380
|
-
if (reaction && (e.num > 0 || !(selectorOrRun
|
|
1419
|
+
if (reaction && (e.num > 0 || !isEvent(selectorOrRun)) && e.previous !== e.value) {
|
|
1381
1420
|
reaction(e);
|
|
1382
1421
|
}
|
|
1383
1422
|
// Update the previous value
|
|
@@ -1402,16 +1441,40 @@ function computed(compute, set$1) {
|
|
|
1402
1441
|
// Create an observable for this computed variable
|
|
1403
1442
|
const obs = observable();
|
|
1404
1443
|
lockObservable(obs, true);
|
|
1405
|
-
// Lazily activate the observable when get is called
|
|
1406
1444
|
const node = getNode(obs);
|
|
1445
|
+
node.isComputed = true;
|
|
1407
1446
|
const setInner = function (val) {
|
|
1408
|
-
|
|
1447
|
+
const prevNode = node.linkedToNode;
|
|
1448
|
+
// If it was previously linked to a node remove self
|
|
1449
|
+
// from its linkedFromNodes
|
|
1450
|
+
if (prevNode) {
|
|
1451
|
+
node.linkedToNode.linkedFromNodes.delete(node);
|
|
1452
|
+
node.linkedToNode = undefined;
|
|
1453
|
+
}
|
|
1454
|
+
if (isObservable(val)) {
|
|
1455
|
+
// If the computed is a proxy to another observable
|
|
1456
|
+
// link it to the target observable
|
|
1457
|
+
const linkedNode = getNode(val);
|
|
1458
|
+
node.linkedToNode = linkedNode;
|
|
1459
|
+
if (!linkedNode.linkedFromNodes) {
|
|
1460
|
+
linkedNode.linkedFromNodes = new Set();
|
|
1461
|
+
}
|
|
1462
|
+
linkedNode.linkedFromNodes.add(node);
|
|
1463
|
+
// If the target observable is different then notify for the change
|
|
1464
|
+
if (prevNode) {
|
|
1465
|
+
const value = getNodeValue(linkedNode);
|
|
1466
|
+
const prevValue = getNodeValue(prevNode);
|
|
1467
|
+
notify(node, value, prevValue, 0);
|
|
1468
|
+
}
|
|
1469
|
+
}
|
|
1470
|
+
else if (val !== obs.peek()) {
|
|
1409
1471
|
// Update the computed value
|
|
1410
1472
|
lockObservable(obs, false);
|
|
1411
1473
|
set(node, val);
|
|
1412
1474
|
lockObservable(obs, true);
|
|
1413
1475
|
}
|
|
1414
1476
|
};
|
|
1477
|
+
// Lazily activate the observable when get is called
|
|
1415
1478
|
node.root.activate = () => {
|
|
1416
1479
|
observe(compute, ({ value }) => {
|
|
1417
1480
|
if (isPromise(value)) {
|
|
@@ -1420,7 +1483,7 @@ function computed(compute, set$1) {
|
|
|
1420
1483
|
else {
|
|
1421
1484
|
setInner(value);
|
|
1422
1485
|
}
|
|
1423
|
-
}, { immediate: true });
|
|
1486
|
+
}, { immediate: true, retainObservable: true });
|
|
1424
1487
|
};
|
|
1425
1488
|
if (set$1) {
|
|
1426
1489
|
node.root.set = (value) => {
|
|
@@ -1434,6 +1497,8 @@ function event() {
|
|
|
1434
1497
|
// event simply wraps around a number observable
|
|
1435
1498
|
// which increments its value to dispatch change events
|
|
1436
1499
|
const obs = observable(0);
|
|
1500
|
+
const node = getNode(obs);
|
|
1501
|
+
node.isEvent = true;
|
|
1437
1502
|
return {
|
|
1438
1503
|
fire: function () {
|
|
1439
1504
|
// Notify increments the value so that the observable changes
|
|
@@ -1442,10 +1507,12 @@ function event() {
|
|
|
1442
1507
|
on: function (cb) {
|
|
1443
1508
|
return obs.onChange(cb);
|
|
1444
1509
|
},
|
|
1445
|
-
get: ()
|
|
1510
|
+
get: function () {
|
|
1511
|
+
// Need to return undefined
|
|
1512
|
+
obs.get();
|
|
1513
|
+
},
|
|
1446
1514
|
// @ts-expect-error eslint doesn't like adding symbols to the object but this does work
|
|
1447
|
-
[
|
|
1448
|
-
[symbolIsEvent]: true,
|
|
1515
|
+
[symbolGetNode]: node,
|
|
1449
1516
|
};
|
|
1450
1517
|
}
|
|
1451
1518
|
|
|
@@ -1574,8 +1641,6 @@ exports.setAtPath = setAtPath;
|
|
|
1574
1641
|
exports.setInObservableAtPath = setInObservableAtPath;
|
|
1575
1642
|
exports.setupTracking = setupTracking;
|
|
1576
1643
|
exports.symbolDelete = symbolDelete;
|
|
1577
|
-
exports.symbolIsEvent = symbolIsEvent;
|
|
1578
|
-
exports.symbolIsObservable = symbolIsObservable;
|
|
1579
1644
|
exports.trackSelector = trackSelector;
|
|
1580
1645
|
exports.tracking = tracking;
|
|
1581
1646
|
exports.updateTracking = updateTracking;
|
package/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../src/is.ts","../../src/tracking.ts","../../src/globals.ts","../../src/batching.ts","../../src/helpers.ts","../../src/onChange.ts","../../src/setupTracking.ts","../../src/trackSelector.ts","../../src/ObservableObject.ts","../../src/ObservablePrimitive.ts","../../src/observable.ts","../../src/observe.ts","../../src/computed.ts","../../src/event.ts","../../src/when.ts","../../src/config.ts","../../index.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["set","setBase","observableProperties","_observableProperties"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../src/is.ts","../../src/tracking.ts","../../src/globals.ts","../../src/batching.ts","../../src/helpers.ts","../../src/onChange.ts","../../src/setupTracking.ts","../../src/trackSelector.ts","../../src/ObservableObject.ts","../../src/ObservablePrimitive.ts","../../src/observable.ts","../../src/observe.ts","../../src/computed.ts","../../src/event.ts","../../src/when.ts","../../src/config.ts","../../index.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["set","setBase","observableProperties","_observableProperties"],"mappings":";;AAEA,MAAM,cAAc,GAAG,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC;AAEjD,SAAU,OAAO,CAAC,GAAY,EAAA;AAChC,IAAA,OAAO,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;AAC9B,CAAC;AACK,SAAU,QAAQ,CAAC,GAAY,EAAA;AACjC,IAAA,OAAO,OAAO,GAAG,KAAK,QAAQ,CAAC;AACnC,CAAC;AACK,SAAU,QAAQ,CAAC,GAAY,EAAA;AACjC,IAAA,OAAO,CAAC,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;AAC7D,CAAC;AACK,SAAU,UAAU,CAAC,GAAY,EAAA;AACnC,IAAA,OAAO,OAAO,GAAG,KAAK,UAAU,CAAC;AACrC,CAAC;AACK,SAAU,WAAW,CAAC,GAAY,EAAA;AACpC,IAAA,MAAM,IAAI,GAAG,OAAO,GAAG,CAAC;IACxB,OAAO,GAAG,KAAK,SAAS,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,UAAU,CAAC;AACzE,CAAC;AACK,SAAU,QAAQ,CAAC,GAAY,EAAA;AACjC,IAAA,OAAO,OAAO,GAAG,KAAK,QAAQ,CAAC;AACnC,CAAC;AACK,SAAU,SAAS,CAAC,GAAY,EAAA;AAClC,IAAA,OAAO,OAAO,GAAG,KAAK,SAAS,CAAC;AACpC,CAAC;AACK,SAAU,SAAS,CAAI,GAAY,EAAA;IACrC,OAAO,GAAG,YAAY,OAAO,CAAC;AAClC,CAAC;AACK,SAAU,OAAO,CAAC,GAAW,EAAA;;;AAG/B,IAAA,IAAI,CAAC,GAAG;AAAE,QAAA,OAAO,KAAK,CAAC;IACvB,IAAI,OAAO,CAAC,GAAG,CAAC;AAAE,QAAA,OAAO,GAAG,CAAC,MAAM,KAAK,CAAC,CAAC;AAC1C,IAAA,KAAK,MAAM,GAAG,IAAI,GAAG,EAAE;QACnB,IAAI,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE;AAC/B,YAAA,OAAO,KAAK,CAAC;AAChB,SAAA;AACJ,KAAA;AACD,IAAA,OAAO,IAAI,CAAC;AAChB,CAAC;AACD,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;AAC/D;AACM,SAAU,iBAAiB,CAAC,GAAY,EAAA;AAC1C,IAAA,OAAO,aAAa,CAAC,GAAG,CAAC,OAAO,GAAG,CAAC,CAAC;AACzC,CAAC;AACD;AACM,SAAU,gBAAgB,CAAC,IAAe,EAAA;AAC5C,IAAA,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;AACzB;;ACzCA,IAAI,UAAU,GAAG,CAAC,CAAC;AACnB,MAAM,aAAa,GAAkC,EAAE,CAAC;AAE3C,MAAA,QAAQ,GAAG;AACpB,IAAA,OAAO,EAAE,SAAsC;AAC/C,IAAA,cAAc,EAAE,KAAK;EACvB;SAEc,aAAa,GAAA;;;AAGzB,IAAA,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;AACrC,IAAA,UAAU,EAAE,CAAC;AACb,IAAA,QAAQ,CAAC,OAAO,GAAG,EAAE,CAAC;AAC1B,CAAC;SACe,WAAW,GAAA;;AAEvB,IAAA,UAAU,EAAE,CAAC;IACb,IAAI,UAAU,GAAG,CAAC,EAAE;QAChB,UAAU,GAAG,CAAC,CAAC;AAClB,KAAA;AACD,IAAA,QAAQ,CAAC,OAAO,GAAG,aAAa,CAAC,GAAG,EAAE,CAAC;AAC3C,CAAC;AAEe,SAAA,cAAc,CAAC,IAAe,EAAE,KAAoB,EAAA;AAChE,IAAA,IAAI,UAAU,EAAE;AACZ,QAAA,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;AACjC,QAAA,IAAI,OAAO,EAAE;AACT,YAAA,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;AAChB,gBAAA,OAAO,CAAC,KAAK,GAAG,IAAI,GAAG,EAAE,CAAC;AAC7B,aAAA;YAED,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACzC,YAAA,IAAI,QAAQ,EAAE;gBACV,QAAQ,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,IAAI,KAAK,CAAC;gBACzC,QAAQ,CAAC,GAAG,EAAE,CAAC;AAClB,aAAA;AAAM,iBAAA;AACH,gBAAA,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;AACpD,aAAA;AACJ,SAAA;AACJ,KAAA;AACL;;AC7CO,MAAM,iBAAiB,GAAG,MAAM,CAAC,WAAW,CAAC;AAC7C,MAAM,aAAa,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;AAClC,MAAA,YAAY,mBAAmB,MAAM,CAAC,QAAQ,EAAE;AACtD,MAAM,YAAY,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;MAChC,SAAS,GAAG,MAAM,CAAC,WAAW,EAAE;AAEhC,MAAA,wBAAwB,GAAG,IAAI,GAAG,GAA6B;AAC/D,MAAA,mBAAmB,GAAG,IAAI,GAAG,GAAyB;AAE5D,MAAM,sCAAsC,GAC/C,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,MAAM,GAAG,IAAI,GAAG,EAAE,GAAG,SAAS,CAAC;AAEhG,SAAU,aAAa,CAAC,IAAe,EAAA;AACzC,IAAA,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;AACvB,IAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;AAC/B,IAAA,IAAI,QAAQ,EAAE;AACV,QAAA,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;AAC1B,QAAA,QAAQ,EAAE,CAAC;AACd,KAAA;AACL,CAAC;AAEK,SAAU,OAAO,CAAC,GAAuB,EAAA;AAC3C,IAAA,OAAO,GAAG,IAAK,GAAW,CAAC,aAAa,CAAC,CAAC;AAC9C,CAAC;AAEe,SAAA,GAAG,CAAC,IAAe,EAAE,KAAoB,EAAA;;AAErD,IAAA,cAAc,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AAE5B,IAAA,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC;AACtB,CAAC;AAEK,SAAU,IAAI,CAAC,IAAe,EAAA;IAChC,aAAa,CAAC,IAAI,CAAC,CAAC;AACpB,IAAA,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC;AAC9B,CAAC;AAED,MAAM,WAAW,GAAa,EAAE,CAAC;AAC3B,SAAU,YAAY,CAAC,IAAe,EAAA;IACxC,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,CAAC,GAAc,IAAI,CAAC;AACxB,IAAA,OAAO,gBAAgB,CAAC,CAAC,CAAC,EAAE;QACxB,WAAW,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC;AAC7B,QAAA,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;AAChB,KAAA;AACD,IAAA,IAAI,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AACxB,IAAA,KAAK,IAAI,CAAC,GAAG,KAAK,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;AAC1C,QAAA,MAAM,GAAG,GAAG,WAAW,CAAC,CAAC,CAAQ,CAAC;QAClC,KAAK,GAAG,KAAK,YAAY,GAAG,IAAI,KAAK,YAAY,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;AAC1F,KAAA;AACD,IAAA,OAAO,KAAK,CAAC;AACjB,CAAC;AAEe,SAAA,YAAY,CAAC,IAAe,EAAE,GAAW,EAAA;;;IAErD,IAAI,KAAK,GAAG,CAAA,EAAA,GAAA,IAAI,CAAC,QAAQ,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,GAAG,CAAC,GAAG,CAAC,CAAC;;IAGpC,IAAI,CAAC,KAAK,EAAE;AACR,QAAA,KAAK,GAAG;YACJ,IAAI,EAAE,IAAI,CAAC,IAAI;AACf,YAAA,MAAM,EAAE,IAAI;YACZ,GAAG;SACN,CAAC;AACF,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;AAChB,YAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,GAAG,EAAE,CAAC;AAC7B,SAAA;QACD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;AACjC,KAAA;AAED,IAAA,OAAO,KAAK,CAAC;AACjB,CAAC;AAEK,SAAU,eAAe,CAAC,IAAe,EAAA;AAC3C,IAAA,IAAI,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IAC/B,IAAI,CAAC,KAAK,EAAE;AACR,QAAA,IAAI,gBAAgB,CAAC,IAAI,CAAC,EAAE;YACxB,MAAM,MAAM,GAAG,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC5C,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;AACjC,SAAA;AAAM,aAAA;YACH,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC;AAC5B,SAAA;AACJ,KAAA;AACD,IAAA,OAAO,KAAK,CAAC;AACjB,CAAC;AAEe,SAAA,SAAS,CAAC,GAAwB,EAAE,IAAe,EAAA;AAC/D,IAAA,IAAI,KAAK,GAAsC,QAAQ,CAAC,GAAG,CAAC;UACtD,IAAI,IAAI,GAAG;AACT,cAAE,IAAI;cACJ,KAAK,IAAI,GAAG;AACd,kBAAE,KAAK;kBACL,KAAK,IAAI,GAAG;AACd,sBAAE,KAAK;sBACL,MAAM,IAAI,GAAG;AACf,0BAAE,MAAM;AACR,0BAAE,SAAS;UACb,SAAS,CAAC;AAEhB,IAAA,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE;AACvB,QAAA,MAAM,YAAY,GAAG,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,GAAG,eAAe,CAA2B,CAAC;AACrG,QAAA,IAAI,YAAY,IAAI,UAAU,CAAC,YAAY,CAAC,EAAE;YAC1C,KAAK,GAAG,YAAY,CAAC;AACxB,SAAA;AACJ,KAAA;AAED,IAAA,OAAO,KAAK,CAAC;AACjB,CAAC;SAEe,eAAe,CAAC,IAAe,EAAE,KAA0B,EAAE,GAAW,EAAA;AACpF,IAAA,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;AACjB,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI,GAAG,EAAE,CAAC;AAC9B,KAAA;AACD,IAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;AACxC,CAAC;AAEe,SAAA,4BAA4B,CAAC,GAAwB,EAAE,IAAe,EAAA;AAClF,IAAA,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,MAAM,EAAE;AAC3E,QAAA,IAAI,sCAAsC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;AACjD,YAAA,OAAO,CAAC,KAAK,CACT,wHAAwH,EACxH,GAAG,CACN,CAAC;AACF,YAAA,OAAO,KAAK,CAAC;AAChB,SAAA;AACD,QAAA,sCAAsC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AACnD,KAAA;AACD,IAAA,KAAK,MAAM,CAAC,IAAI,GAAG,EAAE;AACjB,QAAA,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;AACjB,QAAA,IAAI,OAAO,CAAC,KAAK,UAAU,EAAE;AACzB,YAAA,eAAe,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;AACjC,SAAA;AAAM,aAAA,IAAI,OAAO,CAAC,IAAI,QAAQ,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,SAAS,EAAE;AAC9D,YAAA,MAAM,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;AAC7B,YAAA,IAAI,SAAS,KAAT,IAAA,IAAA,SAAS,uBAAT,SAAS,CAAE,UAAU,EAAE;AACvB,gBAAA,eAAe,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;AACjC,aAAA;AAAM,iBAAA;AACH,gBAAA,4BAA4B,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AAC/D,aAAA;AACJ,SAAA;AACJ,KAAA;AACL;;AChIA,IAAI,OAAkD,CAAC;AACvD,IAAI,UAAU,GAAG,CAAC,CAAC;AACnB,IAAI,cAAc,GAAG,KAAK,CAAC;AAC3B,IAAI,gBAAgB,GAAG,KAAK,CAAC;AAC7B,IAAI,WAAW,GAAmB,EAAE,CAAC;AACrC,IAAI,SAAS,GAAG,IAAI,GAAG,EAAyB,CAAC;AAEjD,SAAS,eAAe,GAAA;AACpB,IAAA,IAAI,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE;AACpB,QAAA,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,EAAE;AACxC,YAAA,OAAO,CAAC,KAAK,CACT,uIAAuI,CAC1I,CAAC;AACL,SAAA;AACD,QAAA,QAAQ,WAAW,IAAI,CAAC,CAAC;AAC5B,KAAA;AACL,CAAC;AAED,SAAS,0BAA0B,CAAC,KAAU,EAAE,OAAiB,EAAA;;IAE7D,IAAI,KAAK,GAAG,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC;AAC3D,IAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACrC,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QACxC,IAAI,CAAC,GAAG,KAAK,CAAC;AACd,QAAA,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;AACjB,YAAA,IAAI,CAAS,CAAC;AACd,YAAA,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;gBAClC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AAClB,aAAA;YACD,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC;AAC3B,SAAA;AAAM,aAAA;YACH,KAAK,GAAG,UAAU,CAAC;AACtB,SAAA;AACJ,KAAA;AACD,IAAA,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,SAAS,qBAAqB,CAAC,KAAU,EAAE,OAAiB,EAAA;;;;IAIxD,OAAO,YAAA;AACH,QAAA,OAAO,0BAA0B,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;AACtD,KAAC,CAAC;AACN,CAAC;AAEK,SAAU,MAAM,CAAC,IAAe,EAAE,KAAU,EAAE,IAAS,EAAE,KAAa,EAAE,mBAA6B,EAAA;;AAEvG,IAAA,MAAM,cAAc,GAAG,IAAI,GAAG,EAA4B,CAAC;AAC3D,IAAA,uBAAuB,CACnB,cAAc,EACd,IAAI,EACJ,KAAK,EACL,EAAE,EACF,EAAE,EACF,KAAK,EACL,IAAI;AACJ,kBAAc,IAAI,EAClB,KAAK,EACL,mBAAmB,CACtB,CAAC;AACF,IAAA,kBAAkB,CAAC,cAAc,gBAAgB,IAAI,CAAC,CAAC;;IAGvD,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACrC,IAAA,IAAI,QAAQ,EAAE;AACV,QAAA,QAAQ,CAAC,KAAK,GAAG,KAAK,CAAC;;AAE1B,KAAA;AAAM,SAAA;AACH,QAAA,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,mBAAmB,EAAE,CAAC,CAAC;AACpE,KAAA;;IAGD,IAAI,UAAU,IAAI,CAAC,EAAE;AACjB,QAAA,QAAQ,EAAE,CAAC;AACd,KAAA;AACL,CAAC;AAED,SAAS,oBAAoB,CACzB,cAA6C,EAC7C,IAAe,EACf,KAAU,EACV,IAAc,EACd,SAAiC,EACjC,WAAgB,EAChB,UAAe,EACf,SAAkB,EAClB,KAAa,EACb,mBAA6B,EAAA;;AAG7B,IAAA,IAAI,SAAS,GAAG,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,SAAS,EAAE;AACtD,QAAA,MAAM,MAAM,GAAW;YACnB,IAAI;YACJ,SAAS;YACT,WAAW;YACX,UAAU;SACb,CAAC;QAEF,MAAM,aAAa,GAAG,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;;AAE/C,QAAA,IAAI,aAAa,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;AAClC,YAAA,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACtC,SAAA;AAAM,aAAA;AACH,YAAA,cAAc,CAAC,GAAG,CAAC,IAAI,EAAE;gBACrB,KAAK;gBACL,KAAK;gBACL,mBAAmB;gBACnB,OAAO,EAAE,CAAC,MAAM,CAAC;AACpB,aAAA,CAAC,CAAC;AACN,SAAA;AACJ,KAAA;AACL,CAAC;AAED,SAAS,uBAAuB,CAC5B,cAA6C,EAC7C,IAAe,EACf,KAAU,EACV,IAAc,EACd,SAAuB,EACvB,WAAgB,EAChB,UAAe,EACf,SAAkB,EAClB,KAAa,EACb,mBAA6B,EAAA;;IAG7B,oBAAoB,CAChB,cAAc,EACd,IAAI,EACJ,KAAK,EACL,IAAI,EACJ,SAAS,EACT,WAAW,EACX,UAAU,EACV,SAAS,EACT,KAAK,EACL,mBAAmB,CACtB,CAAC;IACF,IAAI,IAAI,CAAC,eAAe,EAAE;AACtB,QAAA,KAAK,MAAM,cAAc,IAAI,IAAI,CAAC,eAAe,EAAE;YAC/C,oBAAoB,CAChB,cAAc,EACd,cAAc,EACd,KAAK,EACL,IAAI,EACJ,SAAS,EACT,WAAW,EACX,UAAU,EACV,SAAS,EACT,KAAK,EACL,mBAAmB,CACtB,CAAC;AACL,SAAA;AACJ,KAAA;;IAED,IAAI,IAAI,CAAC,MAAM,EAAE;AACb,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;AAC3B,QAAA,IAAI,MAAM,EAAE;AACR,YAAA,MAAM,WAAW,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;YACzC,uBAAuB,CACnB,cAAc,EACd,MAAM,EACN,WAAW,EACX,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EACvB,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,OAAO,GAAG,QAAQ,EAAgB,CAAC,MAAM,CAAC,SAAS,CAAC,EACvE,WAAW,EACX,UAAU,EACV,SAAS,EACT,KAAK,GAAG,CAAC,EACT,mBAAmB,CACtB,CAAC;AACL,SAAA;AACJ,KAAA;AACL,CAAC;AAED,SAAS,kBAAkB,CAAC,cAA6C,EAAE,SAAkB,EAAA;AACzF,IAAA,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAc,CAAC;;AAEhD,IAAA,cAAc,CAAC,OAAO,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,mBAAmB,EAAE,EAAE,IAAI,KAAI;AAC5E,QAAA,MAAM,SAAS,GAAG,SAAS,GAAG,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,SAAS,CAAC;AACvE,QAAA,IAAI,SAAS,EAAE;AACX,YAAA,IAAI,cAA8B,CAAC;;YAEnC,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AAClC,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACjC,gBAAA,MAAM,UAAU,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;gBAC1B,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,UAAU,CAAC;AAC/C,gBAAA,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;oBAClC,MAAM,EAAE,GACJ,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS;0BAC/B,KAAK,IAAI,CAAC;0BACV,KAAK,KAAK,SAAS;AACrB,8BAAE,mBAAmB,IAAI,KAAK,IAAI,CAAC;8BACjC,IAAI,CAAC;;AAGf,oBAAA,IAAI,EAAE,EAAE;;AAEJ,wBAAA,IAAI,CAAC,MAAM,IAAI,CAAC,cAAc,EAAE;AAC5B,4BAAA,cAAc,GAAG;gCACb,KAAK;AACL,gCAAA,WAAW,EAAE,qBAAqB,CAAC,KAAK,EAAE,OAAO,CAAC;gCAClD,OAAO;6BACV,CAAC;AACL,yBAAA;wBAED,IAAI,CAAC,KAAK,EAAE;AACR,4BAAA,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AACnC,yBAAA;wBAED,QAAQ,CAAC,cAAc,CAAC,CAAC;AAC5B,qBAAA;AACJ,iBAAA;AACJ,aAAA;AACJ,SAAA;AACL,KAAC,CAAC,CAAC;AACP,CAAC;SAEe,QAAQ,GAAA;IACpB,MAAM,GAAG,GAAG,SAAS,CAAC;AACtB,IAAA,SAAS,GAAG,IAAI,GAAG,EAAE,CAAC;AACtB,IAAA,MAAM,cAAc,GAAG,IAAI,GAAG,EAA4B,CAAC;;;;AAI3D,IAAA,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,mBAAmB,EAAE,EAAE,IAAI,KAAI;QAC9D,uBAAuB,CAAC,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,mBAAmB,CAAC,CAAC;AACjH,KAAC,CAAC,CAAC;;AAGH,IAAA,kBAAkB,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;AAC9C,CAAC;AAEe,SAAA,KAAK,CAAC,EAAc,EAAE,UAAuB,EAAA;AACzD,IAAA,IAAI,UAAU,EAAE;AACZ,QAAA,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AAChC,KAAA;AACD,IAAA,UAAU,EAAE,CAAC;IACb,IAAI;AACA,QAAA,EAAE,EAAE,CAAC;AACR,KAAA;AAAS,YAAA;AACN,QAAA,QAAQ,EAAE,CAAC;AACd,KAAA;AACL,CAAC;SACe,UAAU,GAAA;AACtB,IAAA,UAAU,EAAE,CAAC;IACb,IAAI,CAAC,OAAO,EAAE;AACV,QAAA,OAAO,GAAG,UAAU,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC;AAC5C,KAAA;AACL,CAAC;AACK,SAAU,QAAQ,CAAC,KAAe,EAAA;AACpC,IAAA,UAAU,EAAE,CAAC;AAEb,IAAA,IAAI,UAAU,IAAI,CAAC,IAAI,KAAK,EAAE;AAC1B,QAAA,IAAI,cAAc,EAAE;;;YAGhB,gBAAgB,GAAG,IAAI,CAAC;AAC3B,SAAA;AAAM,aAAA;AACH,YAAA,IAAI,OAAO,EAAE;gBACT,YAAY,CAAC,OAAO,CAAC,CAAC;gBACtB,OAAO,GAAG,SAAS,CAAC;AACvB,aAAA;YACD,UAAU,GAAG,CAAC,CAAC;;;YAGf,MAAM,KAAK,GAAG,WAAW,CAAC;YAC1B,IAAI,KAAK,CAAC,MAAM,EAAE;gBACd,WAAW,GAAG,EAAE,CAAC;AACpB,aAAA;YACD,cAAc,GAAG,IAAI,CAAC;AAEtB,YAAA,QAAQ,EAAE,CAAC;YAEX,cAAc,GAAG,KAAK,CAAC;;AAGvB,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACnC,gBAAA,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;AACd,aAAA;;AAGD,YAAA,IAAI,gBAAgB,EAAE;gBAClB,gBAAgB,GAAG,KAAK,CAAC;gBACzB,QAAQ,CAAC,IAAI,CAAC,CAAC;AAClB,aAAA;AACJ,SAAA;AACJ,KAAA;AACL,CAAC;AACK,SAAU,UAAU,CAAC,EAAc,EAAA;IACrC,IAAI,UAAU,GAAG,CAAC,EAAE;AAChB,QAAA,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACxB,KAAA;AAAM,SAAA;AACH,QAAA,EAAE,EAAE,CAAC;AACR,KAAA;AACL;;ACvSM,SAAU,YAAY,CAAC,GAAQ,EAAA;IACjC,OAAO,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,aAAoB,CAAC,CAAC;AAC9C,CAAC;AAEK,SAAU,OAAO,CAAC,GAAQ,EAAA;;IAC5B,OAAO,GAAG,KAAI,CAAA,EAAA,GAAC,GAAG,CAAC,aAAoB,CAAe,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,OAAO,CAAA,CAAC;AACpE,CAAC;SAMe,eAAe,CAAI,QAAqB,EAAE,CAAmB,EAAE,gBAA0B,EAAA;IACrG,IAAI,CAAC,GAAG,QAAe,CAAC;AACxB,IAAA,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE;AACf,QAAA,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;AACtB,KAAA;AAED,IAAA,OAAO,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AAC9D,CAAC;AAEK,SAAU,kBAAkB,CAAC,GAAuB,EAAA;AACtD,IAAA,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;AAC1B,IAAA,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,GAAc,CAAC;AAC/B,IAAA,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AAC/B,CAAC;AAEK,SAAU,YAAY,CAAmB,KAAQ,EAAA;AACnD,IAAA,IAAI,KAAK,EAAE;AACN,QAAA,KAAyB,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC;AACnD,KAAA;AACD,IAAA,OAAO,KAAwB,CAAC;AACpC,CAAC;AAEe,SAAA,cAAc,CAAC,GAAuB,EAAE,KAAc,EAAA;;IAClE,MAAM,IAAI,GAAG,CAAA,EAAA,GAAA,OAAO,CAAC,GAAG,CAAC,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAI,CAAC;AAChC,IAAA,IAAI,IAAI,EAAE;AACN,QAAA,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;AACvB,KAAA;AACL,CAAC;AACe,SAAA,SAAS,CACrB,GAAM,EACN,IAAc,EACd,SAAuB,EACvB,KAAU,EACV,OAAW,EACX,OAA8C,EAAA;IAE9C,IAAI,CAAC,GAAG,GAAG,CAAC;IACZ,IAAI,KAAK,GAAG,OAAO,CAAC;AACpB,IAAA,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;AACjB,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAClC,YAAA,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,YAAA,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;;;AAGvB,gBAAA,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,EAAE;AAChB,oBAAA,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;AAChB,iBAAA;AACJ,aAAA;AAAM,iBAAA,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,YAAY,EAAE;;AAE9B,gBAAA,IAAI,KAAK,EAAE;oBACP,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;oBAChB,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACzC,iBAAA;gBACD,MAAM;AACT,aAAA;AAAM,iBAAA,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,SAAS,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE;AAC5C,gBAAA,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,KAAK,OAAO,GAAG,EAAE,GAAG,EAAE,CAAC;AAC7C,aAAA;AACD,YAAA,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AACT,YAAA,IAAI,KAAK,EAAE;AACP,gBAAA,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;AACpB,aAAA;AACJ,SAAA;AACJ,KAAA;AAAM,SAAA;QACH,GAAG,GAAG,KAAK,CAAC;AACf,KAAA;AAED,IAAA,OAAO,GAAG,CAAC;AACf,CAAC;AACK,SAAU,qBAAqB,CAAC,GAAwB,EAAE,IAAc,EAAE,KAAU,EAAE,IAAsB,EAAA;IAC9G,IAAI,CAAC,GAAG,GAAG,CAAC;IACZ,IAAI,CAAC,GAAG,KAAK,CAAC;AACd,IAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAClC,QAAA,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,QAAA,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AACT,QAAA,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AACZ,KAAA;IAED,IAAI,CAAC,KAAK,YAAY,EAAE;QACnB,CAAqB,CAAC,MAAM,EAAE,CAAC;AACnC,KAAA;;AAEI,SAAA,IAAI,IAAI,KAAK,QAAQ,IAAK,CAAsB,CAAC,MAAM,IAAI,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE;AAC/E,QAAA,CAAsB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AACrC,KAAA;AAAM,SAAA;AACH,QAAA,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACZ,KAAA;AACL,CAAC;SACe,mBAAmB,CAAsC,MAAS,EAAE,GAAG,OAAc,EAAA;AACjG,IAAA,UAAU,EAAE,CAAC;IACb,MAAM,KAAK,GAAG,oBAAoB,CAAC,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC;AACvD,IAAA,QAAQ,EAAE,CAAC;AACX,IAAA,OAAO,KAAK,CAAC;AACjB,CAAC;AACD,SAAS,oBAAoB,CAAsC,MAAS,EAAE,GAAG,OAAc,EAAA;;IAC3F,IAAI,CAAC,OAAO,CAAC,MAAM;AAAE,QAAA,OAAO,MAAM,CAAC;AAEnC,IAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACrC,QAAA,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;AAE1B,QAAA,MAAM,QAAQ,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;AACtC,QAAA,MAAM,WAAW,GAAG,QAAQ,GAAG,MAAM,CAAC,IAAI,EAAE,GAAG,MAAM,CAAC;AAEtD,QAAA,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;QACzC,MAAM,WAAW,GAAG,CAAC,WAAW,IAAI,QAAQ,CAAC,WAAW,CAAC,CAAC;AAE1D,QAAA,IACI,CAAC,WAAW,IAAI,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;AACzD,aAAC,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,EAC5D;AACE,YAAA,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE;AACtB,gBAAA,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;gBAChC,IAAI,WAAW,KAAK,YAAY,EAAE;oBAC9B,QAAQ,KAAI,MAAA,MAAM,CAAC,GAAG,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,MAAM,CAAA;AAC3B,0BAAE,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE;AACtB,0BAAE,OAAQ,MAA8B,CAAC,GAAG,CAAC,CAAC;AACrD,iBAAA;AAAM,qBAAA;AACH,oBAAA,MAAM,KAAK,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC;oBACpC,MAAM,KAAK,GAAG,CAAC,KAAK,IAAI,OAAO,CAAC,WAAW,CAAC,CAAC;AAC7C,oBAAA,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;AAChC,oBAAA,IAAI,CAAC,KAAK,IAAI,KAAK,KAAK,WAAW,KAAK,QAAQ,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,EAAE;wBACxE,IAAI,CAAC,QAAQ,KAAK,CAAC,WAAW,KAAK,KAAK,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE;AACzF,4BAAA,MAAM,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC;AAC7B,yBAAA;AAAM,6BAAA;AACH,4BAAA,oBAAoB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;AAClD,yBAAA;AACJ,qBAAA;AAAM,yBAAA;wBACH,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC,IAAK,MAAM,CAAC,GAAG,CAAS,GAAG,WAAW,CAAC,CAAC;AAClF,qBAAA;AACJ,iBAAA;AACJ,aAAA;AACJ,SAAA;aAAM,IAAI,MAAM,KAAK,SAAS,EAAE;AAC7B,YAAA,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,IAAK,MAAc,GAAG,MAAM,CAAC,CAAC;AAC9D,SAAA;AACJ,KAAA;AAED,IAAA,OAAO,MAAM,CAAC;AAClB,CAAC;SACe,uBAAuB,CAAC,IAAc,EAAE,KAAU,EAAE,SAAuB,EAAA;AACvF,IAAA,IAAI,GAAG,CAAC;AACR,IAAA,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;AACjB,QAAA,IAAI,CAAC,IAAI,GAAG,GAAG,EAAE,CAAC,CAAC;AACnB,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAClC,YAAA,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,YAAA,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,KAAK,OAAO,GAAG,EAAE,GAAG,EAAE,CAAC;AAC1E,YAAA,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AACZ,SAAA;AACJ,KAAA;AAAM,SAAA;QACH,GAAG,GAAG,KAAK,CAAC;AACf,KAAA;AAED,IAAA,OAAO,GAAG,CAAC;AACf,CAAC;AACe,SAAA,yBAAyB,CAAC,IAAc,EAAE,KAAU,EAAA;IAChE,IAAI,CAAC,GAAG,KAAK,CAAC;AACd,IAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAClC,QAAA,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,QAAA,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AACZ,KAAA;AAED,IAAA,OAAO,CAAC,CAAC;AACb,CAAC;AACK,SAAU,sBAAsB,CAAC,KAAU,EAAA;IAC7C,OAAO,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;AACjF;;AC7LM,SAAU,QAAQ,CACpB,IAAe,EACf,QAAoB,EACpB,UAAqG,EAAE,EAAA;IAEvG,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;AAC/C,IAAA,IAAI,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC;;;IAI/B,IAAI,YAAY,KAAK,UAAU,EAAE;AAC7B,QAAA,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,EAAE;AACxC,YAAA,OAAO,CAAC,GAAG,CACP,uKAAuK,CAC1K,CAAC;AACL,SAAA;QACD,YAAY,GAAG,SAAS,CAAC;AAC5B,KAAA;AAED,IAAA,IAAI,SAAS,GAAG,SAAS,GAAG,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,SAAS,CAAC;IACrE,IAAI,CAAC,SAAS,EAAE;AACZ,QAAA,SAAS,GAAG,IAAI,GAAG,EAAE,CAAC;AACtB,QAAA,IAAI,SAAS,EAAE;AACX,YAAA,IAAI,CAAC,kBAAkB,GAAG,SAAS,CAAC;AACvC,SAAA;AAAM,aAAA;AACH,YAAA,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;AAC9B,SAAA;AACJ,KAAA;IACD,aAAa,CAAC,IAAI,CAAC,CAAC;AAEpB,IAAA,MAAM,QAAQ,GAAsB;AAChC,QAAA,QAAQ,EAAE,QAAQ;AAClB,QAAA,KAAK,EAAE,YAAY;QACnB,MAAM;KACT,CAAC;AAEF,IAAA,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAExB,IAAA,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;AACzB,IAAA,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,qBAAqB,EAAE;AAC5C,QAAA,MAAM,CAAC,qBAAqB,GAAG,IAAI,CAAC;AACpC,QAAA,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;AAC1B,KAAA;AAED,IAAA,IAAI,OAAO,EAAE;AACT,QAAA,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;AACjC,QAAA,QAAQ,CAAC;YACL,KAAK;AACL,YAAA,OAAO,EAAE;AACL,gBAAA;AACI,oBAAA,IAAI,EAAE,EAAE;AACR,oBAAA,SAAS,EAAE,EAAE;AACb,oBAAA,UAAU,EAAE,KAAK;AACjB,oBAAA,WAAW,EAAE,KAAK;AACrB,iBAAA;AACJ,aAAA;AACD,YAAA,WAAW,EAAE,MAAM,SAAS;AAC/B,SAAA,CAAC,CAAC;AACN,KAAA;IAED,OAAO,MAAM,SAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;AAC7C;;AC7DM,SAAU,aAAa,CACzB,KAA+C,EAC/C,MAAkB,EAClB,MAAgB,EAChB,SAAmB,EAAA;IAEnB,IAAI,SAAS,GAA+B,EAAE,CAAC;;IAG/C,KAAK,KAAA,IAAA,IAAL,KAAK,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAL,KAAK,CAAE,OAAO,CAAC,CAAC,OAAO,KAAI;AACvB,QAAA,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC;QAChC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;AACvF,KAAC,CAAC,CAAC;AAEH,IAAA,OAAO,MAAK;AACR,QAAA,IAAI,SAAS,EAAE;AACX,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACvC,gBAAA,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;AAClB,aAAA;YACD,SAAS,GAAG,SAAS,CAAC;AACzB,SAAA;AACL,KAAC,CAAC;AACN;;ACnBM,SAAU,aAAa,CACzB,QAAqB,EACrB,MAAkB,EAClB,YAA8B,EAC9B,cAA+B,EAC/B,iBAA2B,EAAA;;AAE3B,IAAA,IAAI,KAAK,CAAC;AACV,IAAA,IAAI,KAAK,CAAC;AACV,IAAA,IAAI,OAAO,CAAC;AACZ,IAAA,IAAI,OAAO,CAAC;AACZ,IAAA,IAAI,WAAuB,CAAC;IAC5B,IAAI,QAAQ,GAAG,MAAM,CAAC;IACtB,IAAI,MAAM,GAAG,IAAI,CAAC;AAElB,IAAA,IAAI,YAAY,CAAC,QAAQ,CAAC,EAAE;AACxB,QAAA,KAAK,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC;AACxB,QAAA,OAAO,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;AACtD,QAAA,WAAW,GAAG,iBAAiB,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;AAClF,KAAA;AAAM,SAAA;;AAEH,QAAA,aAAa,EAAE,CAAC;QAChB,KAAK,GAAG,QAAQ,GAAG,eAAe,CAAC,QAAQ,EAAE,YAAY,EAAE,cAAc,KAAd,IAAA,IAAA,cAAc,KAAd,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,cAAc,CAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAC;AACxG,QAAA,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;AAC3B,QAAA,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;AACtB,QAAA,WAAW,EAAE,CAAC;QAEd,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,MAAM,KAAK,OAAO,IAAI,KAAK,EAAE;AACjG,YAAA,CAAA,EAAA,GAAA,OAAO,CAAC,cAAc,MAAG,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,OAAA,EAAA,KAAK,CAAC,CAAC;YAChC,IAAI,OAAO,CAAC,YAAY,EAAE;gBACtB,MAAM,GAAG,KAAK,CAAC;AACf,gBAAA,QAAQ,GAAG,OAAO,CAAC,YAAY,CAAC,MAAM,CAAe,CAAC;AACzD,aAAA;;AAED,YAAA,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC;AACnC,YAAA,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC;AACpC,SAAA;AACJ,KAAA;IAED,IAAI,EAAC,YAAY,KAAZ,IAAA,IAAA,YAAY,uBAAZ,YAAY,CAAE,MAAM,CAAA,EAAE;;;;AAKvB,QAAA,OAAO,GAAG,aAAa,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,cAAc,aAAd,cAAc,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAd,cAAc,CAAE,SAAS,CAAC,CAAC;AAC5E,QAAA,WAAW,GAAG,iBAAiB,KAAK,MAAM,aAAa,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;AACrF,KAAA;AAED,IAAA,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;AAC3C;;ACjCA,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC;IAC3B,YAAY;IACZ,MAAM;IACN,MAAM;IACN,KAAK;IACL,MAAM;IACN,SAAS;IACT,OAAO;IACP,MAAM;IACN,QAAQ;IACR,SAAS;AACZ,CAAA,CAAC,CAAC;AACH,MAAM,YAAY,GAAG,IAAI,GAAG,CAAmB;IAC3C,OAAO;IACP,QAAQ;IACR,MAAM;IACN,WAAW;IACX,SAAS;IACT,UAAU;IACV,MAAM;IACN,KAAK;IACL,MAAM;AACT,CAAA,CAAC,CAAC;AACH,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAmB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;AAClE,MAAM,oBAAoB,GAAG,IAAI,GAAG,EAGxC,CAAC;AACG,MAAM,aAAa,GAAG,IAAI,GAAG,CAAmD;IACnF,CAAC,KAAK,EAAE,GAAG,CAAC;IACZ,CAAC,KAAK,EAAE,GAAG,CAAC;IACZ,CAAC,MAAM,EAAE,IAAI,CAAC;IACd,CAAC,UAAU,EAAE,QAAQ,CAAC;IACtB,CAAC,QAAQ,EAAE,MAAM,CAAC;IAClB,CAAC,QAAQ,EAAE,QAAQ,CAAC;IACpB,CAAC,QAAQ,EAAE,MAAM,CAAC;AACrB,CAAA,CAAC,CAAC;AAEH,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,MAAM,EAAE;;AAE3E,IAAA,IAAI,gBAAgB,GAAG,IAAI,GAAG,EAAE,CAAC;AACpC,CAAA;AACD,SAAS,gBAAgB,CAAC,IAAe,EAAE,MAAW,EAAE,IAAY,EAAE,GAAG,IAAW,EAAA;;AAChF,IAAA,MAAM,SAAS,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,KAAK,EAAE,KAAK,MAAM,CAAC;AAEhE,IAAA,MAAM,GAAG,GAAI,MAAM,CAAC,IAAI,CAAc,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AAE3D,IAAA,IAAI,IAAI,EAAE;AACN,QAAA,MAAM,SAAS,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;AACzC,QAAA,MAAM,GAAG,GAAW,SAAS,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;AAC/C,QAAA,MAAM,WAAW,GAAG,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;;AAGtE,QAAA,WAAW,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;;QAG7B,MAAM,CAAC,MAAA,IAAI,CAAC,MAAM,MAAI,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAA,IAAI,EAAE,SAAS,GAAG,GAAG,GAAG,SAAS,EAAE,MAAM,CAAC,CAAC;AACpE,KAAA;;AAGD,IAAA,OAAO,GAAG,CAAC;AACf,CAAC;AAED,SAAS,WAAW,CAAC,MAAiB,EAAE,GAA8C,EAAE,SAAc,EAAA;IAClG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,MAAM,KAAK,QAAQ,CAAC,GAAG,CAAC,EAAE;AAC9F,QAAA,IAAI,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;AAC3B,YAAA,OAAO,CAAC,KAAK,CACT,wHAAwH,EACxH,GAAG,CACN,CAAC;AACF,YAAA,OAAO,KAAK,CAAC;AAChB,SAAA;AACD,QAAA,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAC7B,KAAA;IACD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,YAAmB,CAAC,MAAM,QAAQ,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,YAAmB,CAAC,CAAC,EAAE;AACxG,QAAA,MAAM,MAAM,GAAG,GAAG,KAAK,SAAS,CAAC;AACjC,QAAA,IAAI,MAAM,EAAE;AACR,YAAA,IAAI,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,kBAAkB,EAAE;gBAC/C,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;AACrC,aAAA;AACJ,SAAA;QACD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,MAAM,KAAK,GAAG,KAAK,SAAS,EAAE;AAClG,YAAA,gBAAgB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AAChC,SAAA;AACD,QAAA,OAAO,MAAM,CAAC;AACjB,KAAA;AAED,IAAA,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;AAE3B,IAAA,IAAI,gBAAyD,CAAC;AAC9D,IAAA,IAAI,KAA6C,CAAC;AAElD,IAAA,MAAM,KAAK,GAAG,GAAG,YAAY,GAAG,CAAC;AAEjC,IAAA,MAAM,IAAI,GAAa,GAAG,IAAI,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;AACtF,IAAA,MAAM,QAAQ,GAAa,SAAS,IAAI,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;AAE5G,IAAA,IAAI,OAA0C,CAAC;AAC/C,IAAA,IAAI,iBAAiB,CAAC;IACtB,IAAI,QAAQ,GAAG,KAAK,CAAC;AACrB,IAAA,IAAI,QAAiB,CAAC;AAEtB,IAAA,IAAI,KAAK,IAAI,OAAO,CAAC,SAAS,CAAC,EAAE;;AAE7B,QAAA,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;AACtB,YAAA,MAAM,cAAc,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;YACpC,IAAI,cAAc,KAAK,SAAS,EAAE;AAC9B,gBAAA,OAAO,GAAG,SAAS,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;AAE5C,gBAAA,IAAI,OAAO,EAAE;AACT,oBAAA,iBAAiB,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;AACxC,oBAAA,gBAAgB,GAAG,IAAI,GAAG,EAAE,CAAC;oBAC7B,KAAK,GAAG,EAAE,CAAC;oBACX,MAAM,QAAQ,GACV,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,MAAM,KAAK,IAAI,GAAG,EAAE,CAAC;oBAC7F,IAAI,MAAM,CAAC,QAAQ,EAAE;AACjB,wBAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACvC,4BAAA,MAAM,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;AACvB,4BAAA,IAAI,CAAC,EAAE;AACH,gCAAA,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;AAC1C,gCAAA,IAAI,KAAK,EAAE;oCACP,MAAM,GAAG,GAAG,iBAAiB;AACzB,0CAAG,OAAkC,CAAC,CAAC,CAAC;AACxC,0CAAE,CAAC,CAAC,OAAiB,CAAC,CAAC;AAE3B,oCAAA,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,MAAM,EAAE;AAC3E,wCAAA,IAAI,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;4CACnB,OAAO,CAAC,IAAI,CACR,CAAA,gFAAA,EAAmF,OAAO,CAAU,QAAA,CAAA,EACpG,SAAS,CACZ,CAAC;AACL,yCAAA;AACD,wCAAA,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AACrB,qCAAA;AACD,oCAAA,gBAAgB,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;AACpC,iCAAA;AACJ,6BAAA;AACJ,yBAAA;AACJ,qBAAA;AACJ,iBAAA;AACJ,aAAA;AACJ,SAAA;AACJ,KAAA;SAAM,IAAI,SAAS,KAAK,CAAC,GAAG,IAAI,GAAG,CAAC,cAAc,CAAC,EAAE;;AAElD,QAAA,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC;QACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE;AACjC,YAAA,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;AACxB,YAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;gBACrB,QAAQ,GAAG,IAAI,CAAC;gBAChB,MAAM,KAAK,GAAG,YAAY,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAExC,gBAAA,MAAM,IAAI,GAAG,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;gBACzD,IAAI,IAAI,KAAK,SAAS,EAAE;AACpB,oBAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE;AACpB,wBAAA,WAAW,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;AACvC,qBAAA;AAED,oBAAA,IAAI,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,kBAAkB,EAAE;wBAC7C,MAAM,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AACrC,qBAAA;AACJ,iBAAA;AACJ,aAAA;AACJ,SAAA;AACJ,KAAA;AAED,IAAA,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE;AAC1B,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAE3B,QAAQ,GAAG,QAAQ,IAAI,CAAA,IAAI,KAAJ,IAAA,IAAA,IAAI,uBAAJ,IAAI,CAAE,MAAM,OAAK,QAAQ,aAAR,QAAQ,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAR,QAAQ,CAAE,MAAM,CAAA,CAAC;QACzD,MAAM,SAAS,GAAG,QAAQ,CAAC;QAC3B,IAAI,OAAO,GAAG,KAAK,CAAC;AAEpB,QAAA,IAAI,MAAM,CAAC,qBAAqB,IAAI,CAAC,QAAQ,EAAE;YAC3C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE;AAC7B,gBAAA,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;AACpB,gBAAA,MAAM,KAAK,GAAG,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;gBAC9C,MAAM,IAAI,GAAG,KAAK,GAAG,SAAS,KAAT,IAAA,IAAA,SAAS,KAAT,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,SAAS,CAAE,GAAG,CAAC,GAAG,CAAC,GAAG,SAAS,KAAA,IAAA,IAAT,SAAS,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAT,SAAS,CAAG,GAAG,CAAC,CAAC;AAE5D,gBAAA,IAAI,MAAM,GAAG,KAAK,KAAK,IAAI,CAAC;AAC5B,gBAAA,IAAI,MAAM,EAAE;AACR,oBAAA,MAAM,EAAE,GACJ,OAAO,IAAI,KAAK;AACZ,0BAAE,iBAAiB;AACf,8BAAG,OAAkC,CAAC,KAAK,CAAC;AAC5C,8BAAE,KAAK,CAAC,OAAiB,CAAC;0BAC5B,SAAS,CAAC;oBAEpB,IAAI,KAAK,GAAG,YAAY,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;;;AAItC,oBAAA,IAAI,KAAK,IAAI,EAAE,KAAK,SAAS,EAAE;;wBAE3B,MAAM,SAAS,GAAG,EAAE,KAAK,SAAS,GAAG,gBAAgB,KAAhB,IAAA,IAAA,gBAAgB,uBAAhB,gBAAgB,CAAE,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC;wBAC3E,IAAI,CAAC,SAAS,EAAE;;4BAEZ,MAAM,GAAG,KAAK,CAAC;4BACf,QAAQ,GAAG,IAAI,CAAC;AACnB,yBAAA;6BAAM,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,CAAC,GAAG,KAAK,GAAG,EAAE;4BACzD,MAAM,cAAc,GAAG,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;;;;AAIhD,4BAAA,IAAI,SAAS,EAAE;gCACX,KAAK,GAAG,SAAS,CAAC;gCAClB,MAAM,CAAC,QAAS,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AACnC,gCAAA,KAAK,CAAC,GAAG,GAAG,GAAG,CAAC;gCAChB,KAAM,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;AAC7B,6BAAA;4BAED,OAAO,GAAG,IAAI,CAAC;;AAGf,4BAAA,MAAM,GAAG,cAAc,KAAK,KAAK,CAAC;AACrC,yBAAA;AACJ,qBAAA;AAED,oBAAA,IAAI,MAAM,EAAE;;;AAGR,wBAAA,IAAI,WAAW,CAAC,KAAK,CAAC,EAAE;4BACpB,QAAQ,GAAG,IAAI,CAAC;AACnB,yBAAA;AAAM,6BAAA;;AAEH,4BAAA,MAAM,YAAY,GACd,CAAC,CAAC,QAAQ,IAAI,KAAK,CAAC,qBAAqB,KAAK,WAAW,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;AAClF,4BAAA,QAAQ,GAAG,QAAQ,IAAI,YAAY,CAAC;AACvC,yBAAA;AACJ,qBAAA;AACD,oBAAA,IAAI,MAAM,IAAI,CAAC,SAAS,EAAE;;;;;AAKtB,wBAAA,IAAI,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,kBAAkB,EAAE;AAC7C,4BAAA,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;AAC7C,yBAAA;AACJ,qBAAA;AACJ,iBAAA;AACJ,aAAA;AAED,YAAA,IAAI,KAAK,EAAE;AACP,gBAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBACnC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;oBAC9B,MAAM,CAAC,QAAS,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;AACpC,iBAAA;AACJ,aAAA;AACJ,SAAA;;;AAID,QAAA,QAAQ,GAAG,QAAQ,IAAI,OAAO,CAAC;AAClC,KAAA;SAAM,IAAI,SAAS,KAAK,SAAS,EAAE;;QAEhC,QAAQ,GAAG,IAAI,CAAC;AACnB,KAAA;IAED,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,MAAM,KAAK,GAAG,KAAK,SAAS,EAAE;AAClG,QAAA,gBAAgB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AAChC,KAAA;AACD,IAAA,OAAO,QAAQ,KAAR,IAAA,IAAA,QAAQ,cAAR,QAAQ,GAAI,KAAK,CAAC;AAC7B,CAAC;AAEe,SAAA,QAAQ,CAAC,IAAe,EAAE,CAAU,EAAA;;IAEhD,IAAI,CAAC,KAAK,SAAS;AAAE,QAAA,IAAI,GAAG,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;;AAGlD,IAAA,OAAO,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,GAAG,IAAI,KAAK,CAAY,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC;AACjF,CAAC;AAED,MAAM,YAAY,GAAsB;AACpC,IAAA,GAAG,CAAC,IAAe,EAAE,CAAM,EAAE,QAAa,EAAA;;QACtC,IAAI,CAAC,KAAK,iBAAiB,EAAE;YACzB,MAAM,IAAI,KAAK,CACX,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa;AAClC,kBAAE,kJAAkJ;kBAClJ,+CAA+C,CACxD,CAAC;AACL,SAAA;QACD,IAAI,CAAC,KAAK,aAAa,EAAE;AACrB,YAAA,OAAO,IAAI,CAAC;AACf,SAAA;QAED,IAAI,IAAI,CAAC,UAAU,EAAE;YACjB,aAAa,CAAC,IAAI,CAAC,CAAC;AACvB,SAAA;;;AAID,QAAA,IAAI,IAAI,CAAC,YAAY,IAAI,CAAC,KAAK,UAAU,EAAE;AACvC,YAAA,OAAO,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC;AAC3D,SAAA;AAED,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;AAEzB,QAAA,IAAI,KAAK,YAAY,GAAG,IAAI,KAAK,YAAY,OAAO,IAAI,KAAK,YAAY,GAAG,IAAI,KAAK,YAAY,OAAO,EAAE;YACtG,MAAM,GAAG,GAAG,aAAa,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;YAC1C,IAAI,GAAG,KAAK,SAAS,EAAE;AACnB,gBAAA,OAAO,GAAG,CAAC;AACd,aAAA;AACJ,SAAA;QAED,MAAM,EAAE,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;;AAEhC,QAAA,IAAI,EAAE,EAAE;AACJ,YAAA,OAAO,UAAU,CAAM,EAAE,CAAM,EAAE,CAAM,EAAA;AACnC,gBAAA,MAAM,CAAC,GAAG,SAAS,CAAC,MAAM,CAAC;;;;AAK3B,gBAAA,QAAQ,CAAC;AACL,oBAAA,KAAK,CAAC;AACF,wBAAA,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC;AACpB,oBAAA,KAAK,CAAC;AACF,wBAAA,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;AACvB,oBAAA,KAAK,CAAC;wBACF,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAC1B,oBAAA;wBACI,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAChC,iBAAA;AACL,aAAC,CAAC;AACL,SAAA;QAED,MAAM,QAAQ,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAC7C,QAAA,IAAI,QAAQ,EAAE;AACV,YAAA,OAAO,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAC7B,SAAA;AAED,QAAA,MAAM,gBAAgB,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;;;QAI5C,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,IAAI,gBAAgB,EAAE;AAC3D,YAAA,IAAI,mBAAmB,CAAC,IAAI,KAAK,IAAI,CAAC,oBAAoB,IAAI,wBAAwB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE;AAC5F,gBAAA,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;gBACjC,MAAM,KAAK,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBACzC,IAAI,KAAK,KAAK,SAAS,EAAE;AACrB,oBAAA,OAAO,UAAU,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC;AAC5D,iBAAA;AACJ,aAAA;AACJ,SAAA;QAED,MAAM,KAAK,GAAG,KAAK,KAAL,IAAA,IAAA,KAAK,uBAAL,KAAK,CAAG,CAAC,CAAC,CAAC;QAEzB,IAAI,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,YAAmB,CAAC,EAAE;AAC/C,YAAA,OAAO,KAAK,CAAC;AAChB,SAAA;;AAGD,QAAA,IAAI,UAAU,CAAC,KAAK,CAAC,EAAE;AACnB,YAAA,IAAI,OAAO,CAAC,KAAK,CAAC,EAAE;AAChB,gBAAA,IAAI,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;;AAEvB,oBAAA,OAAO,CAAC,GAAG,IAAW,KAAK,gBAAgB,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC;AACxE,iBAAA;AAAM,qBAAA,IAAI,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;;oBAE5B,cAAc,CAAC,IAAI,CAAC,CAAC;oBAErB,OAAO,UAAU,MAAW,EAAE,OAAY,EAAA;;AAEtC,wBAAA,SAAS,SAAS,CAAC,CAAM,EAAE,KAAa,EAAE,KAAY,EAAA;AAClD,4BAAA,OAAO,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;yBAC3D;;AAGD,wBAAA,IAAI,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;AAC3B,4BAAA,MAAM,MAAM,GAAG,CAAC,KAAK,MAAM,CAAC;4BAC5B,MAAM,GAAG,GAAG,EAAE,CAAC;AACf,4BAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACnC,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE;oCAC/B,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AACrC,oCAAA,IAAI,MAAM,EAAE;AACR,wCAAA,OAAO,KAAK,CAAC;AAChB,qCAAA;AAAM,yCAAA;AACH,wCAAA,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACnB,qCAAA;AACJ,iCAAA;AACJ,6BAAA;4BACD,OAAO,MAAM,GAAG,SAAS,GAAG,GAAG,CAAC;AACnC,yBAAA;AAAM,6BAAA;4BACH,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;AACvC,yBAAA;AACL,qBAAC,CAAC;AACL,iBAAA;AACJ,aAAA;;AAED,YAAA,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC5B,SAAA;;AAGD,QAAA,IAAI,WAAW,CAAC,KAAK,CAAC,EAAE;;YAEpB,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,QAAQ,EAAE;AAClC,gBAAA,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;;;AAG3B,gBAAA,OAAO,KAAK,CAAC;AAChB,aAAA;AACJ,SAAA;QAED,MAAM,YAAY,GAAG,CAAA,EAAA,GAAA,IAAI,CAAC,SAAS,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,GAAG,CAAC,CAAC,CAAC,CAAC;AAC5C,QAAA,IAAI,YAAY,EAAE;AACd,YAAA,OAAO,YAAY,CAAC;AACvB,SAAA;;AAGD,QAAA,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;KAC5B;;AAED,IAAA,cAAc,CAAC,IAAe,EAAA;AAC1B,QAAA,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;QACjC,OAAO,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,GAAG,OAAO,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;KAC7F;AACD,IAAA,OAAO,CAAC,IAAe,EAAA;AACnB,QAAA,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;QACjC,IAAI,WAAW,CAAC,KAAK,CAAC;AAAE,YAAA,OAAO,EAAE,CAAC;AAElC,QAAA,MAAM,IAAI,GAAG,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;;AAGjD,QAAA,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;;;;AAK3B,QAAA,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,QAAQ,EAAE;YACtD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;AACnC,SAAA;AACD,QAAA,OAAO,IAAI,CAAC;KACf;IACD,wBAAwB,CAAC,IAAe,EAAE,IAAY,EAAA;AAClD,QAAA,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;QACjC,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,wBAAwB,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,SAAS,CAAC;KAC1F;AACD,IAAA,GAAG,CAAC,IAAe,EAAE,IAAY,EAAE,KAAU,EAAA;;QAEzC,IAAI,IAAI,CAAC,SAAS,EAAE;YAChB,OAAO,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;AACzC,SAAA;QACD,IAAI,IAAI,CAAC,WAAW,EAAE;AAClB,YAAA,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;AAC1B,YAAA,OAAO,IAAI,CAAC;AACf,SAAA;QAED,MAAM,QAAQ,GAAG,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAChD,QAAA,IAAI,QAAQ,EAAE;YACV,OAAO,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AACpC,SAAA;AAED,QAAA,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,EAAE;YACxC,OAAO,CAAC,IAAI,CAAC,qDAAqD,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;AACpF,SAAA;AACD,QAAA,OAAO,KAAK,CAAC;KAChB;IACD,cAAc,CAAC,IAAe,EAAE,IAAY,EAAA;;QAExC,IAAI,IAAI,CAAC,SAAS,EAAE;YAChB,OAAO,OAAO,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AAC7C,SAAA;AAAM,aAAA;AACH,YAAA,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,EAAE;AACxC,gBAAA,OAAO,CAAC,IAAI,CAAC,wDAAwD,EAAE,IAAI,CAAC,CAAC;AAChF,aAAA;AACD,YAAA,OAAO,KAAK,CAAC;AAChB,SAAA;KACJ;IACD,GAAG,CAAC,IAAe,EAAE,IAAY,EAAA;AAC7B,QAAA,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;QACjC,OAAO,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;KACnC;CACJ,CAAC;AAEc,SAAA,GAAG,CAAC,IAAe,EAAE,QAAc,EAAA;IAC/C,IAAI,IAAI,CAAC,MAAM,EAAE;AACb,QAAA,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;AAClD,KAAA;AAAM,SAAA;QACH,OAAO,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;AAC5C,KAAA;AACL,CAAC;AACD,SAAS,MAAM,CAAC,IAAe,EAAA;AAC3B,IAAA,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IACjC,IAAI,KAAK,KAAK,SAAS,IAAI,SAAS,CAAC,KAAK,CAAC,EAAE;AACzC,QAAA,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC;QAClB,OAAO,CAAC,KAAK,CAAC;AACjB,KAAA;AAAM,SAAA,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,MAAM,EAAE;AAClF,QAAA,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;AACvE,KAAA;AACL,CAAC;AAED,SAAS,MAAM,CAAC,IAAe,EAAE,GAAW,EAAE,QAAc,EAAE,KAAc,EAAA;AACxE,IAAA,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,EAAE;QACxC,IAAI,OAAO,WAAW,KAAK,WAAW,IAAI,QAAQ,YAAY,WAAW,EAAE;AACvE,YAAA,OAAO,CAAC,IAAI,CAAC,CAAA,iFAAA,CAAmF,CAAC,CAAC;AACrG,SAAA;AACJ,KAAA;AAED,IAAA,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;QACpC,MAAM,IAAI,KAAK,CACX,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa;AAClC,cAAE,uIAAuI;cACvI,2CAA2C,CACpD,CAAC;AACL,KAAA;AAED,IAAA,MAAM,QAAQ,GAAG,QAAQ,KAAK,YAAY,CAAC;AAC3C,IAAA,IAAI,QAAQ;QAAE,QAAQ,GAAG,SAAS,CAAC;IAEnC,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,GAAG,KAAK,SAAS,CAAC;AACjD,IAAA,IAAI,MAAM,EAAE;QACR,GAAG,GAAG,GAAG,CAAC;AACb,KAAA;;AAGD,IAAA,MAAM,SAAS,GAAc,MAAM,GAAG,IAAI,GAAG,YAAY,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;;AAGrE,IAAA,MAAM,WAAW,GAAG,MAAM,GAAG,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;;AAG/D,IAAA,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;AAEnC,IAAA,MAAM,MAAM,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;;IAGpC,QAAQ;AACJ,QAAA,CAAC,IAAI,CAAC,WAAW,IAAI,MAAM;AACvB,cAAE,QAAQ,CAAC,SAAS,CAAC;AACrB,cAAE,QAAQ,CAAC,QAAQ,CAAC,KAAI,QAAQ,KAAR,IAAA,IAAA,QAAQ,KAAR,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,QAAQ,CAAG,aAAoB,CAAC,CAAA;AACxD,kBAAE,QAAQ,CAAC,IAAI,EAAE;kBACf,QAAQ,CAAC;IAEnB,MAAM,MAAM,GAAG,WAAW,CAAC,QAAQ,CAAC,IAAI,QAAQ,YAAY,IAAI,CAAC;IAEjE,IAAI;AACA,QAAA,IAAI,CAAC,SAAS,GAAG,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,CAAC;;AAG3C,QAAA,IAAI,QAAQ,EAAE;AACV,YAAA,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC;AAC3B,SAAA;AAAM,aAAA;AACH,YAAA,WAAW,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC;AAC/B,SAAA;AACJ,KAAA;AAAS,YAAA;QACN,IAAI,CAAC,SAAS,EAAE,CAAC;AACpB,KAAA;IAED,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;QACnC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAC9B,KAAA;IAED,IAAI,QAAQ,KAAK,SAAS,EAAE;AACxB,QAAA,oBAAoB,CAAC,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;AACrF,KAAA;IAED,OAAO,MAAM,GAAG,QAAQ,GAAG,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;AAC7E,CAAC;AAED,SAAS,MAAM,CAAC,IAAe,EAAE,KAAU,EAAA;AACvC,IAAA,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAE7B,IAAA,UAAU,EAAE,CAAC;IAEb,IAAI,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;AAC1B,QAAA,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC;AACpB,KAAA;;AAGD,IAAA,IAAI,CAAC,WAAW,GAAG,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/C,IAAI;AACA,QAAA,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AAC/B,KAAA;AAAS,YAAA;QACN,IAAI,CAAC,WAAW,EAAE,CAAC;AACtB,KAAA;AAED,IAAA,QAAQ,EAAE,CAAC;AAEX,IAAA,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,SAAS,QAAQ,CAAC,IAAe,EAAE,GAAY,EAAA;;IAE3C,IAAI,GAAG,KAAK,SAAS,IAAI,gBAAgB,CAAC,IAAI,CAAC,EAAE;AAC7C,QAAA,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;AACf,QAAA,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC;AACtB,KAAA;AACD,IAAA,MAAM,CAAC,IAAI,EAAE,GAAa,EAAE,YAAY,YAAY,CAAC,CAAC,CAAC,CAAC;AAC5D,CAAC;AAGD,SAAS,aAAa,CAAC,IAAe,EAAE,CAAM,EAAE,KAAoB,EAAA;IAChE,MAAM,KAAK,GAAG,KAAK,KAAL,IAAA,IAAA,KAAK,uBAAL,KAAK,CAAG,CAAC,CAAC,CAAC;AACzB,IAAA,IAAI,UAAU,CAAC,KAAK,CAAC,EAAE;AACnB,QAAA,OAAO,UAAU,CAAM,EAAE,CAAM,EAAE,CAAM,EAAA;AACnC,YAAA,MAAM,CAAC,GAAG,SAAS,CAAC,MAAM,CAAC;YAE3B,IAAI,CAAC,KAAK,KAAK,EAAE;AACb,gBAAA,IAAI,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,SAAS,EAAE;AACpD,oBAAA,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;AAC5B,iBAAA;AACJ,aAAA;iBAAM,IAAI,CAAC,KAAK,KAAK,EAAE;gBACpB,IAAI,CAAC,KAAK,CAAC,EAAE;oBACT,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;oBAC1B,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;oBAC5B,IAAI,IAAI,KAAK,CAAC,EAAE;AACZ,wBAAA,oBAAoB,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;AACxD,qBAAA;AACD,oBAAA,OAAO,GAAG,CAAC;AACd,iBAAA;AACJ,aAAA;iBAAM,IAAI,CAAC,KAAK,QAAQ,EAAE;gBACvB,IAAI,CAAC,GAAG,CAAC,EAAE;;AAEP,oBAAA,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;oBAC1C,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AAC5B,oBAAA,IAAI,GAAG,EAAE;AACL,wBAAA,oBAAoB,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;AAChE,qBAAA;AACD,oBAAA,OAAO,GAAG,CAAC;AACd,iBAAA;AACJ,aAAA;iBAAM,IAAI,CAAC,KAAK,OAAO,EAAE;AACtB,gBAAA,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;AAC5B,gBAAA,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;gBACxB,KAAK,CAAC,KAAK,EAAE,CAAC;AACd,gBAAA,IAAI,IAAI,EAAE;AACN,oBAAA,oBAAoB,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;AAC3C,iBAAA;gBACD,OAAO;AACV,aAAA;iBAAM,IAAI,CAAC,KAAK,KAAK,EAAE;AACpB,gBAAA,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,KAA4B,CAAC,CAAC;gBACnD,MAAM,GAAG,GAAI,KAA6B,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAClD,gBAAA,IAAI,CAAE,KAA6B,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;oBACxC,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AAC9B,iBAAA;AACD,gBAAA,OAAO,GAAG,CAAC;AACd,aAAA;;YAGD,MAAM,EAAE,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAChC,YAAA,IAAI,EAAE,EAAE;;;;AAIJ,gBAAA,QAAQ,CAAC;AACL,oBAAA,KAAK,CAAC;AACF,wBAAA,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC;AACpB,oBAAA,KAAK,CAAC;AACF,wBAAA,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;AACvB,oBAAA,KAAK,CAAC;wBACF,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAC1B,oBAAA;wBACI,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAChC,iBAAA;AACJ,aAAA;AAAM,iBAAA;gBACH,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACzB,aAAA;AACL,SAAC,CAAC;AACL,KAAA;AACL,CAAC;AAED,SAAS,oBAAoB,CACzB,IAAe,EACf,QAAa,EACb,SAAc,EACd,SAAqB,EACrB,MAAgB,EAChB,MAAgB,EAChB,KAAc,EAAA;AAEd,IAAA,IAAI,CAAC,SAAS;QAAE,SAAS,GAAG,IAAI,CAAC;;AAEjC,IAAA,UAAU,EAAE,CAAC;IAEb,IAAI,QAAQ,GAAG,MAAM,CAAC;IACtB,IAAI,mBAAmB,GAAG,KAAK,CAAC;;AAEhC,IAAA,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,EAAE;AACnD,QAAA,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,MAAM,EAAE;YAC3E,gBAAgB,CAAC,KAAK,EAAE,CAAC;AAC5B,SAAA;QACD,QAAQ,GAAG,WAAW,CAAC,SAAS,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;AACvD,QAAA,IAAI,OAAO,CAAC,QAAQ,CAAC,EAAE;AACnB,YAAA,mBAAmB,GAAG,CAAA,QAAQ,aAAR,QAAQ,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAR,QAAQ,CAAE,MAAM,OAAK,SAAS,aAAT,SAAS,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAT,SAAS,CAAE,MAAM,CAAA,CAAC;AAChE,SAAA;AACJ,KAAA;AAED,IAAA,IAAI,MAAM,IAAI,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,QAAQ,KAAK,SAAS,GAAG,QAAQ,EAAE;;QAE9E,MAAM,CACF,MAAM,IAAI,MAAM,GAAG,IAAI,GAAG,SAAS,EACnC,QAAQ,EACR,SAAS,EACT,CAAA,KAAK,KAAL,IAAA,IAAA,KAAK,KAAL,KAAA,CAAA,GAAA,KAAK,GAAI,SAAS,KAAK,SAAS,IAAG,CAAC,CAAC,GAAG,QAAQ,GAAG,CAAC,GAAG,CAAC,EACxD,mBAAmB,CACtB,CAAC;AACL,KAAA;AAED,IAAA,QAAQ,EAAE,CAAC;AACf;;ACpsBA,MAAM,GAAG,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;AAEnD,SAAU,wBAAwB,CAA6D,IAAe,EAAA;AAChH,IAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;;AAGlB,IAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACjC,QAAA,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;AACnB,QAAA,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACpC,KAAA;AACL,CAAC;AAED;AACA,SAAS,KAAK,CAAC,GAAW,EAAE,EAAY,EAAA;IACpC,wBAAwB,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,UAAU,GAAG,IAAW,EAAA;AAC9D,QAAA,OAAO,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,CAAC;AAC9C,KAAC,CAAC;AACN,CAAC;AACD,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AACpB,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AAClB,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AAClB,KAAK,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;AAE5B;AACA,MAAM,CAAC,cAAc,CAAC,wBAAwB,CAAC,SAAS,EAAE,aAAa,EAAE;AACrE,IAAA,YAAY,EAAE,IAAI;IAClB,GAAG,GAAA;QACC,OAAO,IAAI,CAAC,KAAK,CAAC;KACrB;AACJ,CAAA,CAAC,CAAC;AAEH,wBAAwB,CAAC,SAAS,CAAC,MAAM,GAAG,YAAA;AACxC,IAAA,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IAC1B,IAAI,KAAK,KAAK,SAAS,IAAI,SAAS,CAAC,KAAK,CAAC,EAAE;AACzC,QAAA,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;AACpB,KAAA;AAAM,SAAA,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,MAAM,EAAE;AAClF,QAAA,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;AACvE,KAAA;IAED,OAAO,CAAC,KAAK,CAAC;AAClB,CAAC,CAAC;AACF,wBAAwB,CAAC,SAAS,CAAC,MAAM,GAAG,YAAA;AACxC,IAAA,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;AAEpB,IAAA,OAAO,IAAI,CAAC;AAChB,CAAC;;AC3CD,SAAS,gBAAgB,CACrB,KAAsB,EACtB,aAAuB,EAAA;AAEvB,IAAA,MAAM,cAAc,GAAG,SAAS,CAAI,KAAK,CAAC,CAAC;AAC3C,IAAA,MAAM,IAAI,GAAmB;QACzB,CAAC,EAAE,cAAc,GAAG,SAAS,GAAG,KAAK;KACxC,CAAC;AAEF,IAAA,MAAM,IAAI,GAAc;QACpB,IAAI;KACP,CAAC;IAEF,MAAM,IAAI,GAAG,aAAa,IAAI,iBAAiB,CAAC,KAAK,CAAC,CAAC;IAEvD,MAAM,GAAG,GAAG,IAAI;AACZ,UAAG,IAAK,wBAAgC,CAAC,IAAI,CAA4B;AACzE,UAAG,QAAQ,CAAC,IAAI,CAAgC,CAAC;AAErD,IAAA,IAAI,cAAc,EAAE;AAChB,QAAA,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,KAAI;AAClB,YAAA,GAAG,CAAC,GAAG,CAAC,EAAE,KAAK,EAAS,CAAC,CAAC;AAC9B,SAAC,CAAC,CAAC;AACH,QAAA,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,KAAI;AACjB,YAAA,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACnB,SAAC,CAAC,CAAC;AACN,KAAA;SAAM,IAAI,CAAC,IAAI,EAAE;AACd,QAAA,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,MAAM,EAAE;YAC3E,sCAAsC,CAAC,KAAK,EAAE,CAAC;AAClD,SAAA;AACD,QAAA,4BAA4B,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;AAC7C,KAAA;AAED,IAAA,OAAO,GAAG,CAAC;AACf,CAAC;AAEK,SAAU,UAAU,CAAI,KAAsB,EAAA;AAChD,IAAA,OAAO,gBAAgB,CAAC,KAAK,CAAkB,CAAC;AACpD,CAAC;AAEK,SAAU,mBAAmB,CAAI,KAAsB,EAAA;IACzD,OAAO,gBAAgB,CAAI,KAAK,oBAAoB,IAAI,CAAC,CAAC;AAC9D;;SCtCgB,OAAO,CACnB,aAA0D,EAC1D,iBAA0E,EAC1E,OAAwB,EAAA;AAExB,IAAA,IAAI,QAA6C,CAAC;AAClD,IAAA,IAAI,UAAU,CAAC,iBAAiB,CAAC,EAAE;QAC/B,QAAQ,GAAG,iBAAiB,CAAC;AAChC,KAAA;AAAM,SAAA;QACH,OAAO,GAAG,iBAAiB,CAAC;AAC/B,KAAA;AACD,IAAA,IAAI,OAAmB,CAAC;AACxB,IAAA,MAAM,CAAC,GAA4B,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;;AAE9C,IAAA,MAAM,MAAM,GAAG,YAAA;QACX,IAAI,CAAC,CAAC,SAAS,EAAE;YACb,CAAC,CAAC,SAAS,EAAE,CAAC;AACd,YAAA,CAAC,CAAC,SAAS,GAAG,SAAS,CAAC;AAC3B,SAAA;;AAGD,QAAA,UAAU,EAAE,CAAC;;QAGb,OAAO,CAAC,CAAC,KAAK,CAAC;;AAGf,QAAA,OAAO,KAAP,IAAA,IAAA,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,EAAI,CAAC;AAEZ,QAAA,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,aAAa,CAAC,aAAa,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC;QACtF,OAAO,GAAG,QAAQ,CAAC;AAEnB,QAAA,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC;QAEhB,IAAI,CAAC,CAAC,iBAAiB,EAAE;YACrB,CAAC,CAAC,iBAAiB,EAAE,CAAC;AACtB,YAAA,CAAC,CAAC,iBAAiB,GAAG,SAAS,CAAC;AACnC,SAAA;;QAGD,IAAI,QAAQ,KAAK,CAAC,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,aAAoB,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,KAAK,EAAE;YACrF,QAAQ,CAAC,CAAC,CAAC,CAAC;AACf,SAAA;;AAGD,QAAA,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC;;QAGrB,CAAC,CAAC,GAAG,EAAE,CAAC;AAER,QAAA,QAAQ,EAAE,CAAC;AACf,KAAC,CAAC;AAEF,IAAA,MAAM,EAAE,CAAC;;AAGT,IAAA,OAAO,MAAK;;AACR,QAAA,CAAA,EAAA,GAAA,CAAC,CAAC,SAAS,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,CAAA,CAAI,CAAC;AAChB,QAAA,CAAC,CAAC,SAAS,GAAG,SAAS,CAAC;AACxB,QAAA,CAAA,EAAA,GAAA,CAAC,CAAC,iBAAiB,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,CAAA,CAAI,CAAC;AACxB,QAAA,CAAC,CAAC,iBAAiB,GAAG,SAAS,CAAC;AAChC,QAAA,OAAO,EAAE,CAAC;AACd,KAAC,CAAC;AACN;;ACjEgB,SAAA,QAAQ,CACpB,OAAuD,EACvDA,KAAyB,EAAA;;AAGzB,IAAA,MAAM,GAAG,GAAG,UAAU,EAAK,CAAC;AAC5B,IAAA,cAAc,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;AAE1B,IAAA,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;AAC1B,IAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;IAEvB,MAAM,QAAQ,GAAG,UAAU,GAAQ,EAAA;AAC/B,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC;;;AAGnC,QAAA,IAAI,QAAQ,EAAE;YACV,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AAC/C,YAAA,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;AACjC,SAAA;AACD,QAAA,IAAI,YAAY,CAAC,GAAG,CAAC,EAAE;;;AAGnB,YAAA,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;AAChC,YAAA,IAAI,CAAC,YAAY,GAAG,UAAU,CAAC;AAC/B,YAAA,IAAI,CAAC,UAAU,CAAC,eAAe,EAAE;AAC7B,gBAAA,UAAU,CAAC,eAAe,GAAG,IAAI,GAAG,EAAE,CAAC;AAC1C,aAAA;AACD,YAAA,UAAU,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;;AAGrC,YAAA,IAAI,QAAQ,EAAE;AACV,gBAAA,MAAM,KAAK,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC;AACvC,gBAAA,MAAM,SAAS,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;gBACzC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;AACrC,aAAA;AACJ,SAAA;AAAM,aAAA,IAAI,GAAG,KAAK,GAAG,CAAC,IAAI,EAAE,EAAE;;AAE3B,YAAA,cAAc,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;AAC3B,YAAAC,GAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;AACnB,YAAA,cAAc,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;AAC7B,SAAA;AACL,KAAC,CAAC;;AAGF,IAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,MAAK;QACtB,OAAO,CACH,OAAO,EACP,CAAC,EAAE,KAAK,EAAE,KAAI;AACV,YAAA,IAAI,SAAS,CAAI,KAAK,CAAC,EAAE;AACrB,gBAAA,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;AAClC,aAAA;AAAM,iBAAA;gBACH,QAAQ,CAAC,KAAK,CAAC,CAAC;AACnB,aAAA;SACJ,EACD,EAAE,SAAS,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAC9C,CAAC;AACN,KAAC,CAAC;AAEF,IAAA,IAAID,KAAG,EAAE;QACL,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,KAAU,KAAI;YAC3B,KAAK,CAAC,MAAMA,KAAG,CAAC,KAAK,CAAC,CAAC,CAAC;AAC5B,SAAC,CAAC;AACL,KAAA;AAED,IAAA,OAAO,GAA4B,CAAC;AACxC;;SC5EgB,KAAK,GAAA;;;AAGjB,IAAA,MAAM,GAAG,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;AAC1B,IAAA,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;AAC1B,IAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;IACpB,OAAO;AACH,QAAA,IAAI,EAAE,YAAA;;AAEF,YAAA,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;SACzB;QACD,EAAE,EAAE,UAAU,EAAe,EAAA;AACzB,YAAA,OAAO,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;SAC3B;AACD,QAAA,GAAG,EAAE,YAAA;;YAED,GAAG,CAAC,GAAG,EAAE,CAAC;SACb;;QAED,CAAC,aAAa,GAAG,IAAI;KACxB,CAAC;AACN;;ACrBA,SAAS,KAAK,CAAI,SAAsB,EAAE,MAAwC,EAAE,UAAoB,EAAA;AACpG,IAAA,IAAI,KAAQ,CAAC;;IAEb,SAAS,GAAG,CAAC,CAAkB,EAAA;AAC3B,QAAA,MAAM,GAAG,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;AAEvC,QAAA,IAAI,UAAU,GAAG,sBAAsB,CAAC,GAAG,CAAC,GAAG,GAAG,EAAE;YAChD,KAAK,GAAG,GAAG,CAAC;;AAEZ,YAAA,MAAM,aAAN,MAAM,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAN,MAAM,CAAG,GAAG,CAAC,CAAC;;AAGd,YAAA,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC;AACnB,SAAA;KACJ;;IAED,OAAO,CAAC,GAAG,CAAC,CAAC;;;IAIb,IAAI,KAAK,KAAK,SAAS,EAAE;AACrB,QAAA,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AACjC,KAAA;AAAM,SAAA;;QAEH,MAAM,OAAO,GAAG,IAAI,OAAO,CAAI,CAAC,OAAO,KAAI;AACvC,YAAA,IAAI,MAAM,EAAE;gBACR,MAAM,cAAc,GAAG,MAAM,CAAC;AAC9B,gBAAA,MAAM,GAAG,CAAC,KAAK,KAAI;AACf,oBAAA,MAAM,WAAW,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;oBAC1C,OAAO,CAAC,WAAW,CAAC,CAAC;AACzB,iBAAC,CAAC;AACL,aAAA;AAAM,iBAAA;gBACH,MAAM,GAAG,OAAO,CAAC;AACpB,aAAA;AACL,SAAC,CAAC,CAAC;AAEH,QAAA,OAAO,OAAO,CAAC;AAClB,KAAA;AACL,CAAC;AAEe,SAAA,IAAI,CAAI,SAAsB,EAAE,MAAwC,EAAA;IACpF,OAAO,KAAK,CAAI,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;AAC9C,CAAC;AACe,SAAA,SAAS,CAAI,SAAsB,EAAE,MAAwC,EAAA;IACzF,OAAO,KAAK,CAAI,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;AAC7C;;SC7CgB,oBAAoB,CAAC,EACjC,mBAAmB,wBACnBE,sBAAoB,GAIvB,EAAA;AACG,IAAA,IAAI,mBAAmB,EAAE;AACrB,QAAA,KAAK,MAAM,GAAG,IAAI,mBAAmB,EAAE;AACnC,YAAA,MAAM,EAAE,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;AACpC,YAAA,aAAa,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YAC3B,wBAAwB,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,UAAU,GAAG,IAAW,EAAA;AAC9D,gBAAA,OAAO,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,CAAC;AAC9C,aAAC,CAAC;AACL,SAAA;AACJ,KAAA;AACD,IAAA,IAAIA,sBAAoB,EAAE;AACtB,QAAA,KAAK,MAAM,GAAG,IAAIA,sBAAoB,EAAE;AACpC,YAAA,MAAM,GAAG,GAAGA,sBAAoB,CAAC,GAAG,CAAC,CAAC;AACtC,YAAAC,oBAAqB,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YACpC,MAAM,CAAC,cAAc,CAAC,wBAAwB,CAAC,SAAS,EAAE,GAAG,EAAE;AAC3D,gBAAA,YAAY,EAAE,IAAI;gBAClB,GAAG,CAAC,GAAG,IAAW,EAAA;AACd,oBAAA,OAAO,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,CAAC;iBAClD;AACD,gBAAA,GAAG,CAAC,KAAU,EAAA;AACV,oBAAA,OAAO,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;iBAChD;AACJ,aAAA,CAAC,CAAC;AACN,SAAA;AACJ,KAAA;AACL;;ACwBa,MAAA,QAAQ,GAAG;IACpB,eAAe;IACf,GAAG;IACH,OAAO;IACP,QAAQ;IACR,IAAI;IACJ,GAAG;IACH,SAAS;IACT,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|