dexbot 1.4.0 → 1.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/modules/dexbot_cow_runtime.d.ts.map +1 -1
- package/dist/modules/dexbot_cow_runtime.js +20 -11
- package/dist/modules/dexbot_cow_runtime.js.map +1 -1
- package/dist/modules/dexbot_startup_runtime.d.ts.map +1 -1
- package/dist/modules/dexbot_startup_runtime.js +8 -13
- package/dist/modules/dexbot_startup_runtime.js.map +1 -1
- package/dist/modules/order/grid.d.ts.map +1 -1
- package/dist/modules/order/grid.js +118 -42
- package/dist/modules/order/grid.js.map +1 -1
- package/dist/modules/order/grid_reconcile.d.ts.map +1 -1
- package/dist/modules/order/grid_reconcile.js +59 -3
- package/dist/modules/order/grid_reconcile.js.map +1 -1
- package/dist/modules/order/grid_reconcile_internal.d.ts.map +1 -1
- package/dist/modules/order/grid_reconcile_internal.js +14 -1
- package/dist/modules/order/grid_reconcile_internal.js.map +1 -1
- package/dist/modules/order/manager.js +1 -1
- package/dist/modules/order/manager.js.map +1 -1
- package/dist/modules/order/utils/system.d.ts +29 -1
- package/dist/modules/order/utils/system.d.ts.map +1 -1
- package/dist/modules/order/utils/system.js +83 -1
- package/dist/modules/order/utils/system.js.map +1 -1
- package/dist/modules/order/utils/validate.d.ts +14 -4
- package/dist/modules/order/utils/validate.d.ts.map +1 -1
- package/dist/modules/order/utils/validate.js +94 -8
- package/dist/modules/order/utils/validate.js.map +1 -1
- package/package.json +1 -1
|
@@ -28,12 +28,13 @@
|
|
|
28
28
|
* SECTION 4: GRID UTILITIES (1 function)
|
|
29
29
|
* - syncBoundaryToFunds(manager) - Sync boundary position to available funds
|
|
30
30
|
*
|
|
31
|
-
* SECTION 5: UI & INTERACTIVE UTILITIES (
|
|
31
|
+
* SECTION 5: UI & INTERACTIVE UTILITIES (6 functions)
|
|
32
32
|
* - ensureProfilesDirectory(profilesDir) - Ensure profiles directory exists
|
|
33
33
|
* - sleep(ms) - Pause execution for specified duration
|
|
34
34
|
* - readInput(prompt, options) - Read user input from stdin
|
|
35
35
|
* - readPassword(prompt) - Read password with masked echo
|
|
36
36
|
* - withRetry(fn, options) - Execute async function with exponential backoff
|
|
37
|
+
* - withBlockchainRetry(fn, label, options) - Blockchain op with timeout + retry + node failover
|
|
37
38
|
*
|
|
38
39
|
* SECTION 6: GENERAL UTILITIES (5 functions)
|
|
39
40
|
* - resolveAccountRef(manager, account) - Resolve best account reference
|
|
@@ -267,6 +268,33 @@ export declare function withRetry<T>(fn: () => Promise<T>, options?: {
|
|
|
267
268
|
} | null;
|
|
268
269
|
operationName?: string;
|
|
269
270
|
}): Promise<T>;
|
|
271
|
+
/**
|
|
272
|
+
* Execute a blockchain operation with timeout, retry, and node failover reporting.
|
|
273
|
+
* Reports each failure to NodeManager so the node gets blacklisted after
|
|
274
|
+
* consecutive failures, triggering automatic failover to a healthy node.
|
|
275
|
+
*
|
|
276
|
+
* After exhausting the retry budget, force-blacklists the current node and
|
|
277
|
+
* reconnects to a different healthy node, then makes one final attempt.
|
|
278
|
+
* This prevents the bot from hanging indefinitely on a stuck node.
|
|
279
|
+
*
|
|
280
|
+
* Defaults: 30s timeout, 3 retries (PIPELINE_TIMING.RETRY_MAX_ATTEMPTS), 2s retry delay.
|
|
281
|
+
* All configurable via options.
|
|
282
|
+
*
|
|
283
|
+
* @param fn - Async function wrapping the blockchain operation
|
|
284
|
+
* @param label - Short human-readable label for error messages
|
|
285
|
+
* @param options.logger - Optional logger for retry warnings
|
|
286
|
+
* @param options.timeoutMs - Override timeout per attempt (default 30000)
|
|
287
|
+
* @param options.maxRetries - Override max retry count (default PIPELINE_TIMING.RETRY_MAX_ATTEMPTS)
|
|
288
|
+
* @param options.retryDelayMs - Override delay between retries (default 2000)
|
|
289
|
+
*/
|
|
290
|
+
export declare function withBlockchainRetry<T>(fn: () => Promise<T>, label: string, options?: {
|
|
291
|
+
logger?: {
|
|
292
|
+
log?: Function;
|
|
293
|
+
} | null;
|
|
294
|
+
timeoutMs?: number;
|
|
295
|
+
maxRetries?: number;
|
|
296
|
+
retryDelayMs?: number;
|
|
297
|
+
}): Promise<T>;
|
|
270
298
|
/**
|
|
271
299
|
* Resolve the best account reference for blockchain reads.
|
|
272
300
|
* Prefer account ID when available, fall back to account name.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"system.d.ts","sourceRoot":"","sources":["../../../../modules/order/utils/system.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"system.d.ts","sourceRoot":"","sources":["../../../../modules/order/utils/system.ts"],"names":[],"mappings":"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"}
|
|
@@ -29,12 +29,13 @@
|
|
|
29
29
|
* SECTION 4: GRID UTILITIES (1 function)
|
|
30
30
|
* - syncBoundaryToFunds(manager) - Sync boundary position to available funds
|
|
31
31
|
*
|
|
32
|
-
* SECTION 5: UI & INTERACTIVE UTILITIES (
|
|
32
|
+
* SECTION 5: UI & INTERACTIVE UTILITIES (6 functions)
|
|
33
33
|
* - ensureProfilesDirectory(profilesDir) - Ensure profiles directory exists
|
|
34
34
|
* - sleep(ms) - Pause execution for specified duration
|
|
35
35
|
* - readInput(prompt, options) - Read user input from stdin
|
|
36
36
|
* - readPassword(prompt) - Read password with masked echo
|
|
37
37
|
* - withRetry(fn, options) - Execute async function with exponential backoff
|
|
38
|
+
* - withBlockchainRetry(fn, label, options) - Blockchain op with timeout + retry + node failover
|
|
38
39
|
*
|
|
39
40
|
* SECTION 6: GENERAL UTILITIES (5 functions)
|
|
40
41
|
* - resolveAccountRef(manager, account) - Resolve best account reference
|
|
@@ -99,6 +100,7 @@ exports.sleep = sleep;
|
|
|
99
100
|
exports.readInput = readInput;
|
|
100
101
|
exports.readPassword = readPassword;
|
|
101
102
|
exports.withRetry = withRetry;
|
|
103
|
+
exports.withBlockchainRetry = withBlockchainRetry;
|
|
102
104
|
exports.resolveAccountRef = resolveAccountRef;
|
|
103
105
|
exports.deepFreeze = deepFreeze;
|
|
104
106
|
exports.cloneMap = cloneMap;
|
|
@@ -1282,6 +1284,86 @@ async function withRetry(fn, options = {}) {
|
|
|
1282
1284
|
}
|
|
1283
1285
|
throw new Error(`${operationName} failed after ${maxAttempts} attempts`);
|
|
1284
1286
|
}
|
|
1287
|
+
/**
|
|
1288
|
+
* Execute a blockchain operation with timeout, retry, and node failover reporting.
|
|
1289
|
+
* Reports each failure to NodeManager so the node gets blacklisted after
|
|
1290
|
+
* consecutive failures, triggering automatic failover to a healthy node.
|
|
1291
|
+
*
|
|
1292
|
+
* After exhausting the retry budget, force-blacklists the current node and
|
|
1293
|
+
* reconnects to a different healthy node, then makes one final attempt.
|
|
1294
|
+
* This prevents the bot from hanging indefinitely on a stuck node.
|
|
1295
|
+
*
|
|
1296
|
+
* Defaults: 30s timeout, 3 retries (PIPELINE_TIMING.RETRY_MAX_ATTEMPTS), 2s retry delay.
|
|
1297
|
+
* All configurable via options.
|
|
1298
|
+
*
|
|
1299
|
+
* @param fn - Async function wrapping the blockchain operation
|
|
1300
|
+
* @param label - Short human-readable label for error messages
|
|
1301
|
+
* @param options.logger - Optional logger for retry warnings
|
|
1302
|
+
* @param options.timeoutMs - Override timeout per attempt (default 30000)
|
|
1303
|
+
* @param options.maxRetries - Override max retry count (default PIPELINE_TIMING.RETRY_MAX_ATTEMPTS)
|
|
1304
|
+
* @param options.retryDelayMs - Override delay between retries (default 2000)
|
|
1305
|
+
*/
|
|
1306
|
+
async function withBlockchainRetry(fn, label, options) {
|
|
1307
|
+
const timeoutMs = options?.timeoutMs ?? 30000;
|
|
1308
|
+
const maxRetries = options?.maxRetries ?? constants_1.PIPELINE_TIMING.RETRY_MAX_ATTEMPTS;
|
|
1309
|
+
const retryDelayMs = options?.retryDelayMs ?? 2000;
|
|
1310
|
+
const logger = options?.logger;
|
|
1311
|
+
let lastError;
|
|
1312
|
+
for (let attempt = 1; attempt <= maxRetries; attempt++) {
|
|
1313
|
+
try {
|
|
1314
|
+
const resultPromise = fn();
|
|
1315
|
+
// Swallow late unhandled rejections from the race loser
|
|
1316
|
+
Promise.resolve(resultPromise).catch(() => { });
|
|
1317
|
+
return await Promise.race([
|
|
1318
|
+
resultPromise,
|
|
1319
|
+
new Promise((_, reject) => {
|
|
1320
|
+
setTimeout(() => reject(new Error(`${label} timed out after ${timeoutMs}ms (attempt ${attempt}/${maxRetries})`)), timeoutMs);
|
|
1321
|
+
})
|
|
1322
|
+
]);
|
|
1323
|
+
}
|
|
1324
|
+
catch (err) {
|
|
1325
|
+
lastError = err;
|
|
1326
|
+
// Report node failure so NodeManager can blacklist and trigger failover
|
|
1327
|
+
try {
|
|
1328
|
+
const { getNodeManager } = require('../../bitshares_client');
|
|
1329
|
+
const nodeManager = getNodeManager();
|
|
1330
|
+
const nodeUrl = nodeManager?.getBestNode?.();
|
|
1331
|
+
if (nodeUrl && typeof nodeManager.reportNodeFailure === 'function') {
|
|
1332
|
+
nodeManager.reportNodeFailure(nodeUrl, (0, errors_1.getErrorMessage)(err), 'blockchain-op');
|
|
1333
|
+
}
|
|
1334
|
+
}
|
|
1335
|
+
catch (_) { /* reporting errors are non-fatal */ }
|
|
1336
|
+
if (attempt < maxRetries) {
|
|
1337
|
+
logger?.log?.(`${label} attempt ${attempt}/${maxRetries} failed: ${(0, errors_1.getErrorMessage)(err)}. Retrying in ${retryDelayMs}ms...`, 'warn');
|
|
1338
|
+
await sleep(retryDelayMs);
|
|
1339
|
+
}
|
|
1340
|
+
}
|
|
1341
|
+
}
|
|
1342
|
+
// All retries exhausted — force-switch to a different node and retry once more
|
|
1343
|
+
try {
|
|
1344
|
+
const { getNodeManager, reconnectForCycle } = require('../../bitshares_client');
|
|
1345
|
+
const nodeManager = getNodeManager?.();
|
|
1346
|
+
const failedNode = nodeManager?.getBestNode?.();
|
|
1347
|
+
if (failedNode && typeof nodeManager.blacklistNode === 'function') {
|
|
1348
|
+
nodeManager.blacklistNode(failedNode);
|
|
1349
|
+
logger?.log?.(`${label}: blacklisted node ${failedNode.substring(0, 40)}... after ${maxRetries} failed attempts. Switching nodes...`, 'warn');
|
|
1350
|
+
}
|
|
1351
|
+
const reconnected = await reconnectForCycle(label + ' failover');
|
|
1352
|
+
if (reconnected) {
|
|
1353
|
+
logger?.log?.(`${label}: reconnected to different node. Retrying operation...`, 'warn');
|
|
1354
|
+
const resultPromise = fn();
|
|
1355
|
+
Promise.resolve(resultPromise).catch(() => { });
|
|
1356
|
+
return await Promise.race([
|
|
1357
|
+
resultPromise,
|
|
1358
|
+
new Promise((_, reject) => {
|
|
1359
|
+
setTimeout(() => reject(new Error(`${label} timed out after ${timeoutMs}ms (failover attempt)`)), timeoutMs);
|
|
1360
|
+
})
|
|
1361
|
+
]);
|
|
1362
|
+
}
|
|
1363
|
+
}
|
|
1364
|
+
catch (_) { /* failover recovery errors are non-fatal — throw original error */ }
|
|
1365
|
+
throw new Error(`${label} failed after ${maxRetries} attempts: ${(0, errors_1.getErrorMessage)(lastError)}`);
|
|
1366
|
+
}
|
|
1285
1367
|
// ================================================================================
|
|
1286
1368
|
// SECTION 6: GENERAL UTILITIES
|
|
1287
1369
|
// ================================================================================
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"system.js","sourceRoot":"","sources":["../../../../modules/order/utils/system.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoUH,4EA8BC;AAgDD,sEA6DC;AAiBD,sDAmCC;AAQD,gDAGC;AAUD,sDAcC;AAMD,kDAMC;AAYD,gDAmFC;AAcD,kDA8CC;AASD,4DAWC;AAgBD,wEAkOC;AAyBD,kDAuCC;AAYD,0DAGC;AAOD,sBAEC;AAaD,8BA8GC;AAQD,oCAAqI;AAgBrI,8BAaC;AAcD,8CAWC;AAOD,gCAYC;AAOD,4BAEC;AAQD,sDAGC;AAzwCD,6CAAsC;AACtC,2CAA2C;AAC3C,MAAM,OAAO,GAAG,IAAA,oBAAU,GAAE,CAAC;AAC7B,+CAAuH;AACvH,uCAAoC;AACpC,sCAA0D;AAC1D,kDAAoC;AACpC,oDAAsC;AACtC,0DAAkC;AAClC,2CAAwC;AACxC,mDAA2D;AAiwClD,0FAjwCA,oBAAS,OAiwCA;AAhwClB,+CAAqD;AACrD,MAAM,YAAY,GAAG,IAAI,gBAAM,CAAC,QAAQ,CAAC,CAAC;AAE1C,SAAS,gBAAgB,CAAC,MAAW,EAAE,IAAS,EAAE,IAAS;IACvD,OAAO,CAAC,GAAQ,EAAE,EAAE;QAChB,gFAAgF;QAChF,YAAY,CAAC,KAAK,CAAC,eAAe,MAAM,SAAS,IAAI,IAAI,IAAI,KAAK,IAAA,wBAAe,EAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC1F,OAAO,IAAI,CAAC;IAChB,CAAC,CAAC;AACN,CAAC;AAED,mFAAmF;AACnF,8BAA8B;AAC9B,mFAAmF;AAEnF,MAAM,WAAW,GAAG,IAAI,GAAG,EAAE,CAAC;AAE9B;;;;;;;;GAQG;AACI,MAAM,WAAW,GAAG,KAAK,EAAE,SAAc,EAAE,CAAS,EAAgB,EAAE;IACzE,IAAI,CAAC,SAAS;QAAE,OAAO,IAAI,CAAC;IAC5B,IAAI,MAAM,GAAQ,IAAI,CAAC;IACvB,IAAI,SAAS,EAAE,MAAM,EAAE,CAAC;QACpB,IAAI,CAAC;YACD,MAAM,GAAG,MAAM,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACvC,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YACd,YAAY,CAAC,KAAK,CAAC,wCAAwC,CAAC,EAAE,CAAC,CAAC;QACpE,CAAC;IACL,CAAC;IAED,IAAI,MAAM,EAAE,EAAE,IAAI,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;QACrD,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,OAAO,GAAG;QACZ,GAAG,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5C,GAAG,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;KACrC,CAAC;IAEF,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC3B,IAAI,CAAC;YACD,IAAI,OAAO,MAAM,KAAK,UAAU;gBAAE,SAAS;YAC3C,MAAM,CAAC,GAAG,MAAM,MAAM,EAAE,CAAC;YACzB,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;gBACnD,OAAO,EAAE,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1C,CAAC;QACL,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YACd,YAAY,CAAC,KAAK,CAAC,kCAAkC,CAAC,KAAK,IAAA,wBAAe,EAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACrF,CAAC;IACL,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,GAAG,CAAC,CAAC;AACzE,CAAC,CAAC;AAjCW,QAAA,WAAW,eAiCtB;AAEF;;;;;;;;;GASG;AACI,MAAM,iBAAiB,GAAG,KAAK,EAAE,SAAc,EAAE,IAAY,EAAE,IAAY,EAA0B,EAAE;IAC1G,IAAI,CAAC;QACD,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACrC,IAAA,mBAAW,EAAC,SAAS,EAAE,IAAI,CAAC;YAC5B,IAAA,mBAAW,EAAC,SAAS,EAAE,IAAI,CAAC;SAC/B,CAAC,CAAC;QACH,IAAI,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE;YAAE,OAAO,IAAI,CAAC;QAE1C,MAAM,MAAM,GAAG,KAAK,CAAC,EAAE,CAAC;QACxB,MAAM,OAAO,GAAG,KAAK,CAAC,EAAE,CAAC;QACzB,IAAI,GAAG,GAAkB,IAAI,CAAC;QAE9B,IAAI,OAAO,SAAS,CAAC,EAAE,EAAE,cAAc,KAAK,UAAU,EAAE,CAAC;YACrD,IAAI,CAAC;gBACD,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,EAAE,CAAC,cAAc,CAAC,MAAM,EAAE,OAAO,EAAE,sBAAU,CAAC,eAAe,CAAC,CAAC;gBAC1F,MAAM,OAAO,GAAG,IAAA,sBAAa,EAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAA,uBAAc,EAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBAC7F,MAAM,OAAO,GAAG,IAAA,sBAAa,EAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAA,uBAAc,EAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBAC7F,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,IAAI;oBAAE,GAAG,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;YAC5E,CAAC;YAAC,OAAO,CAAM,EAAE,CAAC;gBACd,YAAY,CAAC,KAAK,CAAC,gDAAgD,IAAI,IAAI,IAAI,KAAK,IAAA,wBAAe,EAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC9G,CAAC;QACL,CAAC;QAED,IAAI,GAAG,KAAK,IAAI,IAAI,OAAO,SAAS,CAAC,EAAE,EAAE,UAAU,KAAK,UAAU,EAAE,CAAC;YACjE,IAAI,CAAC;gBACD,MAAM,CAAC,GAAG,MAAM,SAAS,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBACzD,GAAG,GAAG,IAAA,sBAAa,EAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,IAAA,uBAAc,EAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAA,sBAAa,EAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,IAAA,uBAAc,EAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACzI,CAAC;YAAC,OAAO,GAAQ,EAAE,CAAC;gBAChB,YAAY,CAAC,KAAK,CAAC,4CAA4C,IAAI,IAAI,IAAI,KAAK,IAAA,wBAAe,EAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC5G,CAAC;QACL,CAAC;QAED,sDAAsD;QACtD,MAAM,UAAU,GAAG,CAAC,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;QAChE,IAAI,UAAU,EAAE,CAAC;YACb,YAAY,CAAC,IAAI,CAAC,sBAAsB,IAAI,IAAI,IAAI,WAAW,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,uBAAuB,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAClI,CAAC;QACD,OAAO,UAAU,CAAC;IACtB,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAChB,YAAY,CAAC,IAAI,CAAC,gCAAgC,IAAI,IAAI,IAAI,KAAK,IAAA,wBAAe,EAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC3F,OAAO,IAAI,CAAC;IAChB,CAAC;AACL,CAAC,CAAC;AA1CW,QAAA,iBAAiB,qBA0C5B;AAEF;;;;;;;;;GASG;AACI,MAAM,eAAe,GAAG,KAAK,EAAE,SAAc,EAAE,IAAY,EAAE,IAAY,EAA0B,EAAE;IACxG,IAAI,CAAC;QACD,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACrC,IAAA,mBAAW,EAAC,SAAS,EAAE,IAAI,CAAC;YAC5B,IAAA,mBAAW,EAAC,SAAS,EAAE,IAAI,CAAC;SAC/B,CAAC,CAAC;QACH,IAAI,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE;YAAE,OAAO,IAAI,CAAC;QAE1C,IAAI,MAAM,GAAQ,IAAI,CAAC;QACvB,MAAM,QAAQ,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACvD,MAAM,YAAY,GAAG,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAE/C,IAAI,OAAO,SAAS,CAAC,EAAE,EAAE,kCAAkC,KAAK,UAAU,EAAE,CAAC;YACzE,IAAI,CAAC;gBACD,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,EAAE,CAAC,kCAAkC,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;gBACxF,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC3C,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBAC9C,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;wBACf,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,CAAM,EAAE,EAAE;4BACnC,MAAM,MAAM,GAAG,CAAC,CAAM,EAAE,EAAE,CAAC,IAAA,uBAAc,EAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;4BAC9G,OAAO,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;wBACjC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;wBACN,IAAI,MAAM;4BAAE,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;oBACrD,CAAC;gBACL,CAAC;YACL,CAAC;YAAC,OAAO,CAAM,EAAE,CAAC;gBACd,YAAY,CAAC,KAAK,CAAC,+DAA+D,IAAA,wBAAe,EAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC5G,CAAC;QACL,CAAC;QAED,IAAI,CAAC,MAAM,IAAI,YAAY,IAAI,OAAO,SAAS,CAAC,EAAE,EAAE,WAAW,KAAK,UAAU,EAAE,CAAC;YAC7E,IAAI,CAAC;gBACD,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,SAAS,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;gBAC9D,IAAI,IAAI;oBAAE,MAAM,GAAG,IAAI,CAAC;YAC5B,CAAC;YAAC,OAAO,CAAM,EAAE,CAAC;gBACd,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACjC,CAAC;QACL,CAAC;QAED,IAAI,CAAC,MAAM,EAAE,CAAC;YACV,MAAM,MAAM,GAAG,SAAS,CAAC,EAAE,EAAE,oBAAoB,IAAI,SAAS,CAAC,EAAE,EAAE,mBAAmB,CAAC;YACvF,IAAI,OAAO,MAAM,KAAK,UAAU,EAAE,CAAC;gBAC/B,IAAI,CAAC;oBACD,IAAI,OAAO,GAAG,QAAQ,CAAC;oBACvB,MAAM,SAAS,GAAG,GAAG,CAAC;oBACtB,MAAM,UAAU,GAAU,EAAE,CAAC;oBAE7B,OAAO,IAAI,EAAE,CAAC;wBACV,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;wBAC/C,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;4BAAE,MAAM;wBAExC,0DAA0D;wBAC1D,yEAAyE;wBACzE,MAAM,cAAc,GAAG,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;wBACvE,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC;4BAAE,MAAM;wBAEvC,MAAM,OAAO,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE;4BAC7C,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;4BAChE,OAAO,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;wBAC5E,CAAC,CAAC,CAAC;wBAEH,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;4BACjB,UAAU,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC;wBAChC,CAAC;wBAED,IAAI,KAAK,CAAC,MAAM,GAAG,SAAS,EAAE,CAAC;4BAC3B,MAAM;wBACV,CAAC;6BAAM,CAAC;4BACJ,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;wBACzC,CAAC;oBACL,CAAC;oBAED,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;wBACpB,kDAAkD;wBAClD,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,CAAM,EAAE,EAAE;4BACxC,MAAM,MAAM,GAAG,CAAC,CAAM,EAAE,EAAE,CAAC,IAAA,uBAAc,EAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;4BAC9G,OAAO,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;wBACjC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;wBACN,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;oBACzC,CAAC;gBACL,CAAC;gBAAC,OAAO,CAAM,EAAE,CAAC;oBACd,YAAY,CAAC,IAAI,CAAC,4CAA4C,IAAA,wBAAe,EAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAC7F,CAAC;YACL,CAAC;QACL,CAAC;QAED,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC;QAEzB,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,CAAC,IAAA,sBAAa,EAAC,MAAM,CAAC,SAAS,CAAC,IAAI,OAAO,SAAS,CAAC,EAAE,EAAE,WAAW,KAAK,UAAU,EAAE,CAAC;YAC1G,IAAI,CAAC;gBACD,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,SAAS,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC3D,IAAI,IAAI;oBAAE,MAAM,GAAG,IAAI,CAAC;YAC5B,CAAC;YAAC,OAAO,CAAM,EAAE,CAAC;gBACd,YAAY,CAAC,KAAK,CAAC,gDAAgD,MAAM,CAAC,EAAE,KAAK,IAAA,wBAAe,EAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC3G,CAAC;QACL,CAAC;QAED,IAAI,IAAI,GAAQ,IAAI,EAAE,IAAI,GAAQ,IAAI,CAAC;QACvC,IAAI,IAAA,sBAAa,EAAC,MAAM,CAAC,SAAS,CAAC,IAAI,IAAA,sBAAa,EAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;YACrE,uEAAuE;YACvE,MAAM,MAAM,GAAG,IAAA,uBAAc,EAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9D,MAAM,MAAM,GAAG,IAAA,uBAAc,EAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9D,MAAM,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAC;YAEjC,yEAAyE;YACzE,qEAAqE;YACrE,IAAI,QAAQ,EAAE,CAAC;gBACX,IAAI,GAAG,IAAA,uBAAc,EAAC,MAAM,CAAC,SAAS,CAAC,CAAC;gBACxC,IAAI,GAAG,IAAA,uBAAc,EAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAC5C,CAAC;iBAAM,CAAC;gBACJ,IAAI,GAAG,IAAA,uBAAc,EAAC,MAAM,CAAC,SAAS,CAAC,CAAC;gBACxC,IAAI,GAAG,IAAA,uBAAc,EAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAC5C,CAAC;QACL,CAAC;aAAM,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;YACxC,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;YACvF,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;YACvF,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;gBACf,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC;gBACnB,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC;YACvB,CAAC;QACL,CAAC;QAED,IAAI,CAAC,IAAA,sBAAa,EAAC,IAAI,CAAC,IAAI,CAAC,IAAA,sBAAa,EAAC,IAAI,CAAC,IAAI,IAAA,uBAAc,EAAC,IAAI,CAAC,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QAE5F,MAAM,MAAM,GAAG,SAAS,CAAC,iBAAiB,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QAClE,MAAM,MAAM,GAAG,SAAS,CAAC,iBAAiB,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QAElE,sDAAsD;QACtD,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;QACvD,IAAI,UAAU,EAAE,CAAC;YACb,YAAY,CAAC,IAAI,CAAC,oBAAoB,IAAI,IAAI,IAAI,SAAS,MAAM,CAAC,EAAE,SAAS,IAAI,SAAS,KAAK,CAAC,SAAS,UAAU,IAAI,SAAS,KAAK,CAAC,SAAS,wBAAwB,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACpM,CAAC;QACD,OAAO,UAAU,CAAC;IACtB,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAChB,YAAY,CAAC,IAAI,CAAC,8BAA8B,IAAI,IAAI,IAAI,KAAK,IAAA,wBAAe,EAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACzF,OAAO,IAAI,CAAC;IAChB,CAAC;AACL,CAAC,CAAC;AAzIW,QAAA,eAAe,mBAyI1B;AAEF;;;;;;;;;GASG;AACI,MAAM,WAAW,GAAG,KAAK,EAAE,SAAc,EAAE,IAAY,EAAE,IAAY,EAAE,OAAe,MAAM,EAA0B,EAAE;IAC3H,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;IAClC,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAErD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QACxB,YAAY,CAAC,KAAK,CAAC,8BAA8B,IAAI,SAAS,IAAI,IAAI,IAAI,EAAE,CAAC,CAAC;QAC9E,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;QAClB,OAAO,MAAM,IAAA,uBAAe,EAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;IACpG,CAAC;IAED,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;QAClB,OAAO,MAAM,IAAA,yBAAiB,EAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;IACtG,CAAC;IAED,mDAAmD;IACnD,IAAI,KAAK,GAAkB,IAAI,CAAC;IAChC,KAAK,GAAG,MAAM,IAAA,uBAAe,EAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;IACtG,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IAE7C,MAAM,CAAC,GAAG,MAAM,IAAA,yBAAiB,EAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;IAC1G,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,CAAC,CAAC;IAEjC,YAAY,CAAC,KAAK,CAAC,uCAAuC,IAAI,IAAI,IAAI,EAAE,CAAC,CAAC;IAC1E,OAAO,IAAI,CAAC;AAChB,CAAC,CAAC;AA3BW,QAAA,WAAW,eA2BtB;AAEF;;;;;;;GAOG;AACI,KAAK,UAAU,gCAAgC,CAAC,SAAc,EAAE,aAAqB;IACxF,IAAI,CAAC,SAAS,EAAE,EAAE,IAAI,OAAO,SAAS,CAAC,EAAE,CAAC,kCAAkC,KAAK,UAAU,EAAE,CAAC;QAC1F,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,MAAM,UAAU,GAAG,MAAM,IAAA,mBAAW,EAAC,SAAS,EAAE,aAAa,CAAC,CAAC,KAAK,CAAC,CAAC,CAAM,EAAE,EAAE;QAC5E,YAAY,CAAC,KAAK,CAAC,4DAA4D,aAAa,KAAK,IAAA,wBAAe,EAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACvH,OAAO,IAAI,CAAC;IAChB,CAAC,CAAC,CAAC;IACH,IAAI,CAAC,UAAU,EAAE,EAAE,EAAE,CAAC;QAClB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,EAAE,CAAC,kCAAkC,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAM,EAAE,EAAE;QACnH,YAAY,CAAC,KAAK,CAAC,mFAAmF,aAAa,KAAK,IAAA,wBAAe,EAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC9I,OAAO,IAAI,CAAC;IAChB,CAAC,CAAC,CAAC;IACH,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC3B,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAU,EAAE,EAAE,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC;IAC1F,IAAI,CAAC,IAAI,EAAE,CAAC;QACR,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,OAAO;QACH,UAAU;QACV,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,IAAI;KAC1B,CAAC;AACN,CAAC;AAED,KAAK,UAAU,qBAAqB,CAAC,SAAc,EAAE,QAAa;IAC9D,MAAM,KAAK,GAAG,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,IAAI;QAC3D,CAAC,CAAC,QAAQ;QACV,CAAC,CAAC,MAAM,IAAA,mBAAW,EAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,CAAM,EAAE,EAAE;YACtD,YAAY,CAAC,KAAK,CAAC,iDAAiD,QAAQ,KAAK,IAAA,wBAAe,EAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACvG,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC;IACP,IAAI,CAAC,KAAK,EAAE,CAAC;QACT,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,MAAM,YAAY,GAAG,IAAA,uBAAc,EAAC,KAAK,CAAC,cAAc,EAAE,MAAM,IAAI,KAAK,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;IACrG,IAAI,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,YAAY,IAAI,CAAC,EAAE,CAAC;QACrD,OAAO,YAAY,CAAC;IACxB,CAAC;IAED,MAAM,SAAS,GAAG,KAAK,CAAC,qBAAqB,IAAI,KAAK,CAAC,aAAa,IAAI,KAAK,CAAC,eAAe,IAAI,IAAI,CAAC;IACtG,IAAI,CAAC,SAAS,IAAI,OAAO,SAAS,EAAE,EAAE,EAAE,WAAW,KAAK,UAAU,EAAE,CAAC;QACjE,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAM,EAAE,EAAE;QACzE,YAAY,CAAC,KAAK,CAAC,iDAAiD,SAAS,KAAK,IAAA,wBAAe,EAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACxG,OAAO,IAAI,CAAC;IAChB,CAAC,CAAC,CAAC;IACH,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC/D,MAAM,MAAM,GAAG,IAAA,uBAAc,EACzB,WAAW,EAAE,cAAc,EAAE,MAAM;WAChC,WAAW,EAAE,cAAc,EAAE,KAAK;WAClC,WAAW,EAAE,cAAc,EAC9B,SAAS,CACZ,CAAC;IACF,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;AAClE,CAAC;AAED;;;;;;;;;;GAUG;AACI,KAAK,UAAU,6BAA6B,CAAC,SAAc,EAAE,aAAqB,EAAE,oBAA4B,EAAE,OAAe,MAAM;IAC1I,IAAI,CAAC;QACD,MAAM,CAAC,UAAU,EAAE,iBAAiB,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACtD,IAAA,mBAAW,EAAC,SAAS,EAAE,aAAa,CAAC;YACrC,IAAA,mBAAW,EAAC,SAAS,EAAE,oBAAoB,CAAC;SAC/C,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU,EAAE,EAAE,IAAI,CAAC,iBAAiB,EAAE,EAAE,EAAE,CAAC;YAC5C,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,gCAAgC,CAAC,SAAS,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC;QAClF,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC;YAClB,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YAC/C,IAAA,mBAAW,EAAC,SAAS,EAAE,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC;YAC7C,IAAA,mBAAW,EAAC,SAAS,EAAE,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC;YAC7C,qBAAqB,CAAC,SAAS,EAAE,UAAU,CAAC;SAC/C,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,IAAI,CAAC,EAAE,CAAC;YACxE,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,MAAM,QAAQ,GAAG,SAAS,CAAC,iBAAiB,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;QACxF,MAAM,QAAQ,GAAG,SAAS,CAAC,iBAAiB,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;QACxF,IAAI,CAAC,IAAA,sBAAa,EAAC,QAAQ,CAAC,IAAI,CAAC,IAAA,sBAAa,EAAC,QAAQ,CAAC,EAAE,CAAC;YACvD,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,MAAM,CAAC,iBAAiB,CAAC,EAAE,CAAC;YAC7D,CAAC,CAAC,CAAC;YACH,CAAC,CAAC,MAAM,IAAA,mBAAW,EAAC,SAAS,EAAE,MAAM,CAAC,EAAE,EAAE,iBAAiB,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAM,EAAE,EAAE;gBACnF,YAAY,CAAC,KAAK,CAAC,yDAAyD,MAAM,CAAC,EAAE,IAAI,iBAAiB,CAAC,EAAE,KAAK,IAAA,wBAAe,EAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACxI,OAAO,IAAI,CAAC;YAChB,CAAC,CAAC,CAAC;QACP,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,MAAM,CAAC,iBAAiB,CAAC,EAAE,CAAC;YAC7D,CAAC,CAAC,CAAC;YACH,CAAC,CAAC,MAAM,IAAA,mBAAW,EAAC,SAAS,EAAE,MAAM,CAAC,EAAE,EAAE,iBAAiB,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAM,EAAE,EAAE;gBACnF,YAAY,CAAC,KAAK,CAAC,yDAAyD,MAAM,CAAC,EAAE,IAAI,iBAAiB,CAAC,EAAE,KAAK,IAAA,wBAAe,EAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACxI,OAAO,IAAI,CAAC;YAChB,CAAC,CAAC,CAAC;QAEP,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,IAAI,IAAI,IAAI,CAAC,IAAA,sBAAa,EAAC,MAAM,CAAC,IAAI,CAAC,IAAA,sBAAa,EAAC,MAAM,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,IAAI,CAAC,EAAE,CAAC;YACrH,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,MAAM,WAAW,GAAG,SAAS,CAAC,iBAAiB,CAAC,MAAM,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC;QAC9E,IAAI,CAAC,IAAA,sBAAa,EAAC,WAAW,CAAC,IAAI,WAAW,IAAI,CAAC,EAAE,CAAC;YAClD,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,MAAM,UAAU,GAAG,QAAQ,GAAG,MAAO,GAAG,QAAQ,GAAG,MAAO,CAAC;QAC3D,MAAM,aAAa,GAAG,UAAU,GAAG,WAAW,CAAC;QAC/C,OAAO,IAAA,sBAAa,EAAC,aAAa,CAAC,IAAI,aAAa,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC;IACpF,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAChB,YAAY,CAAC,KAAK,CAAC,4CAA4C,aAAa,IAAI,oBAAoB,KAAK,IAAA,wBAAe,EAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACjI,OAAO,IAAI,CAAC;IAChB,CAAC;AACL,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,SAAgB,qBAAqB,CAAC,MAAc;IAChD,IAAI,CAAC;QACD,MAAM,aAAa,GAAG,eAAI,CAAC,IAAI,CAAC,aAAK,CAAC,UAAU,EAAE,GAAG,MAAM,mBAAmB,CAAC,CAAC;QAChF,MAAM,IAAI,GAAG,IAAA,mBAAQ,EAAC,aAAa,CAAC,CAAC;QACrC,MAAM,eAAe,GAAG,MAAM,CAAC,IAAI,EAAE,eAAe,IAAI,IAAI,EAAE,WAAW,CAAC,CAAC;QAC3E,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;QACpD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,eAAe,IAAI,CAAC,EAAE,CAAC;YAC5D,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,OAAO;YACH,eAAe;YACf,WAAW,EAAE,eAAe;YAC5B,cAAc,EAAE,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,cAAc,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI;YAC7F,MAAM,EAAE,IAAI,EAAE,MAAM,IAAI,IAAI;YAC5B,SAAS,EAAE,IAAI,EAAE,SAAS,IAAI,IAAI;YAClC,mBAAmB,EAAE,IAAI,EAAE,mBAAmB,IAAI,IAAI;YACtD,QAAQ,EAAE,IAAI,EAAE,QAAQ,IAAI,IAAI;YAChC,wBAAwB,EAAE,IAAI,EAAE,wBAAwB,IAAI,IAAI;YAChE,kBAAkB,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAC;gBACjE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC;gBACjC,CAAC,CAAC,IAAI;YACV,oBAAoB,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,oBAAoB,CAAC,CAAC;gBACrE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC;gBACnC,CAAC,CAAC,IAAI;YACV,wBAAwB,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,wBAAwB,CAAC,CAAC;gBAC7E,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,wBAAwB,CAAC;gBACvC,CAAC,CAAC,IAAI;YACV,cAAc,EAAE,IAAI,EAAE,cAAc,IAAI,IAAI;YAC5C,gBAAgB,EAAE,IAAI,EAAE,gBAAgB,IAAI,OAAO,IAAI,CAAC,gBAAgB,KAAK,QAAQ;gBACjF,CAAC,CAAC,IAAI,CAAC,gBAAgB;gBACvB,CAAC,CAAC,IAAI;SACb,CAAC;IACN,CAAC;IAAC,OAAO,CAAM,EAAE,CAAC;QACd,OAAO,IAAI,CAAC;IAChB,CAAC;AACL,CAAC;AAED;;;;;GAKG;AACH,SAAgB,kBAAkB,CAAC,MAAc;IAC7C,MAAM,QAAQ,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC;IAC/C,OAAO,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC;AACtD,CAAC;AAED,mFAAmF;AACnF,mCAAmC;AACnC,mFAAmF;AAEnF;;;GAGG;AACH,SAAgB,qBAAqB;IACjC,IAAI,CAAC;QACD,MAAM,QAAQ,GAAG,aAAK,CAAC,QAAQ,CAAC,cAAc,CAAC;QAC/C,IAAK,OAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;YACpC,MAAM,SAAS,GAAI,OAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YACtD,IAAI,SAAS,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;gBAC7C,YAAY,CAAC,KAAK,CAAC,4CAA4C,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,UAAU,CAAC,CAAC;gBACxG,OAAO,SAAS,CAAC;YACrB,CAAC;QACL,CAAC;IACL,CAAC;IAAC,OAAO,CAAM,EAAE,CAAC;QACd,YAAY,CAAC,KAAK,CAAC,0BAA0B,IAAA,wBAAe,EAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACvE,CAAC;IACD,OAAO,EAAE,CAAC;AACd,CAAC;AAED;;;GAGG;AACH,SAAgB,mBAAmB,CAAC,KAA0B;IAC1D,IAAI,CAAC;QACA,OAAe,CAAC,SAAS,CAAC,aAAK,CAAC,QAAQ,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;IACrE,CAAC;IAAC,OAAO,CAAM,EAAE,CAAC;QACd,YAAY,CAAC,KAAK,CAAC,wBAAwB,IAAA,wBAAe,EAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACrE,CAAC;AACL,CAAC;AAED;;;;;;;;;GASG;AACI,KAAK,UAAU,kBAAkB,CAAC,UAAiB,EAAE,SAAc;IACtE,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;IACtC,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAC3B,IAAI,GAAG,CAAC,MAAM;YAAE,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC7C,IAAI,GAAG,CAAC,MAAM;YAAE,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACjD,CAAC;IAED,4EAA4E;IAC5E,MAAM,KAAK,GAAwB,qBAAqB,EAAE,CAAC;IAE3D,MAAM,WAAW,GAAG,0BAAc,CAAC,wBAAwB,CAAC;IAC5D,MAAM,SAAS,GAAG,0BAAc,CAAC,wBAAwB,CAAC;IAE1D,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE,CAAC;QACrC,IAAI,SAAS,GAAiB,IAAI,CAAC;QAEnC,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,WAAW,EAAE,OAAO,EAAE,EAAE,CAAC;YACtD,IAAI,CAAC;gBACD,IAAI,WAAW,KAAK,KAAK,EAAE,CAAC;oBACxB,MAAM,WAAW,GAAG,MAAM,SAAS,CAAC,EAAE,CAAC,mBAAmB,EAAE,CAAC;oBAC7D,MAAM,WAAW,GAAG,WAAW,CAAC,UAAU,CAAC,YAAY,CAAC,UAAU,CAAC;oBACnE,MAAM,OAAO,GAAG,CAAC,MAAW,EAAE,EAAE;wBAC5B,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC;wBAC5D,MAAM,GAAG,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC;wBAC5B,MAAM,MAAM,GAAG,IAAA,uBAAc,EAAC,GAAG,CAAC,CAAC;wBACnC,OAAO;4BACH,GAAG,EAAE,MAAM;4BACX,QAAQ,EAAE,MAAM;4BAChB,GAAG,EAAE,SAAS,CAAC,iBAAiB,CAAC,MAAM,EAAE,yBAAa,CAAC;yBAC1D,CAAC;oBACN,CAAC,CAAC;oBACF,MAAM,mBAAmB,GAAG,IAAA,uBAAc,EACtC,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,0BAA0B,EAC/D,0BAAc,CAAC,oBAAoB,GAAG,KAAK,CAC9C,CAAC;oBACF,KAAK,CAAC,GAAG,GAAG;wBACR,gBAAgB,EAAE,OAAO,CAAC,CAAC,CAAC;wBAC5B,gBAAgB,EAAE,OAAO,CAAC,CAAC,CAAC;wBAC5B,gBAAgB,EAAE,OAAO,CAAC,EAAE,CAAC;wBAC7B,uBAAuB,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,mBAAmB,CAAC,GAAG,KAAK;qBACpE,CAAC;gBACN,CAAC;qBAAM,CAAC;oBACJ,MAAM,SAAS,GAAG,MAAM,IAAA,mBAAW,EAAC,SAAS,EAAE,WAAW,CAAC,CAAC;oBAC5D,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,IAAI,EAAE,CAAC;oBACxC,KAAK,CAAC,WAAW,CAAC,GAAG;wBACjB,OAAO,EAAE,SAAS,CAAC,EAAE;wBACrB,MAAM,EAAE,WAAW;wBACnB,SAAS,EAAE,SAAS,CAAC,SAAS;wBAC9B,iBAAiB,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;wBAC5D,SAAS,EAAE,EAAE,OAAO,EAAE,CAAC,OAAO,CAAC,kBAAkB,IAAI,CAAC,CAAC,GAAG,GAAG,EAAE;wBAC/D,QAAQ,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,iBAAiB,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI;wBACzF,YAAY,EAAE;4BACV,GAAG,EAAE,OAAO,CAAC,cAAc,IAAI,CAAC;4BAChC,KAAK,EAAE,SAAS,CAAC,iBAAiB,CAAC,OAAO,CAAC,cAAc,IAAI,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC;yBACvF;qBACJ,CAAC;gBACN,CAAC;gBACD,SAAS,GAAG,IAAI,CAAC;gBACjB,MAAM,CAAC,UAAU;YACrB,CAAC;YAAC,OAAO,KAAU,EAAE,CAAC;gBAClB,SAAS,GAAG,KAAK,CAAC;gBAClB,IAAI,OAAO,GAAG,WAAW,EAAE,CAAC;oBACxB,MAAM,KAAK,GAAG,SAAS,GAAG,OAAO,CAAC;oBAClC,YAAY,CAAC,IAAI,CACb,+BAA+B,OAAO,IAAI,WAAW,eAAe,WAAW,KAAK,IAAA,wBAAe,EAAC,KAAK,CAAC,iBAAiB,KAAK,OAAO,CAC1I,CAAC;oBACF,MAAM,KAAK,CAAC,KAAK,CAAC,CAAC;gBACvB,CAAC;YACL,CAAC;QACL,CAAC;QAED,IAAI,SAAS,EAAE,CAAC;YACZ,MAAM,eAAe,GAAG,KAAK,CAAC,WAAW,CAAC,KAAK,SAAS,CAAC;YACzD,YAAY,CAAC,IAAI,CACb,2BAA2B,WAAW,wBAAwB,WAAW,KAAK,IAAA,wBAAe,EAAC,SAAS,CAAC,EAAE;gBAC1G,CAAC,eAAe,CAAC,CAAC,CAAC,4CAA4C,CAAC,CAAC,CAAC,GAAG,CAAC,CACzE,CAAC;QACN,CAAC;IACL,CAAC;IAED,SAAS,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAC9B,mBAAmB,CAAC,KAAK,CAAC,CAAC;IAC3B,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,mFAAmF;AACnF,mCAAmC;AACnC,mFAAmF;AAEnF;;;;;;;GAOG;AACI,KAAK,UAAU,mBAAmB,CAAC,OAAY,EAAE,aAAkB,EAAE,cAAsB,EAAE,cAAuC;IACvI,IAAI,CAAC,OAAO,IAAI,CAAC,aAAa;QAAE,OAAO,KAAK,CAAC;IAC7C,IAAI,CAAC;QACD,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC;YACxC,CAAC,CAAC,cAAc;YAChB,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QAC1C,MAAM,OAAO,GAAG,OAAO,CAAC,uBAAuB,IAAI,IAAI,CAAC;QACxD,IAAI,WAAW,GAAG,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC;QACzC,IAAI,WAAW,IAAI,OAAO,EAAE,CAAC;YACzB,MAAM,EACF,SAAS,EAAE,UAAU,EACrB,kBAAkB,EAAE,mBAAmB,EACvC,kBAAkB,EAAE,mBAAmB,EACvC,kBAAkB,EAAE,mBAAmB,EACvC,GAAG,UAAU,EAChB,GAAG,WAAW,CAAC;YAChB,WAAW,GAAG;gBACV,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;gBAC9C,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;gBAC9C,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;gBAC9C,GAAG,UAAU;aAChB,CAAC;QACN,CAAC;QACD,MAAM,UAAU,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,KAAK,KAAK,IAAI,OAAO,CAAC,MAAM,EAAE,MAAM,KAAK,KAAK,CAAC;YACrF,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;YAC1D,CAAC,CAAC,IAAI,CAAC;QAEX,MAAM,QAAQ,GAAG,cAAc,IAAI,OAAO,CAAC,uBAAuB,IAAI,SAAS,CAAC;QAChF,MAAM,aAAa,CAAC,eAAe,CAC/B,MAAM,EACN,OAAO,CAAC,KAAK,CAAC,WAAW,EACzB,OAAO,CAAC,WAAW,EACnB,OAAO,CAAC,MAAM,IAAI,IAAI,EACtB;YACI,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACrC,MAAM,EAAE,WAAW;YACnB,aAAa,EAAE,OAAO,CAAC,aAAa,IAAI,IAAI;YAC5C,UAAU,EAAE,UAAU;SACzB,EACD,QAAQ,CACX,CAAC;QACF,OAAO,IAAI,CAAC;IAChB,CAAC;IAAC,OAAO,CAAM,EAAE,CAAC;QACd,OAAO,KAAK,CAAC;IACjB,CAAC;AACL,CAAC;AAED;;;;;;GAMG;AACI,KAAK,UAAU,wBAAwB,CAAC,OAAY;IACvD,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,mBAAmB;QAAE,OAAO,IAAI,CAAC;IAC1D,IAAI,CAAC;QACD,MAAM,MAAM,GAAG,OAAO,OAAO,CAAC,WAAW,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QAC9F,MAAM,OAAO,GAAG,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK,CAAC,CAAC;QAC3F,IAAI,OAAO;YAAE,OAAO,OAAO,CAAC,mBAAmB,CAAC;QAChD,OAAO,OAAO,CAAC;IACnB,CAAC;IAAC,OAAO,CAAM,EAAE,CAAC;QACd,YAAY,CAAC,IAAI,CAAC,oCAAoC,IAAA,wBAAe,EAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC5E,OAAO,KAAK,CAAC;IACjB,CAAC;AACL,CAAC;AAED;;;;;;;;;;;;;GAaG;AACI,KAAK,UAAU,8BAA8B,CAAC,OAAY,EAAE,aAAkB,EAAE,OAAe,EAAE,0BAAoC;IACxI,IAAI,CAAC,OAAO,CAAC,SAAS;QAAE,OAAO;IAC/B,MAAM,EAAE,gCAAgC,EAAE,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IAChE,MAAM,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;IACnD,MAAM,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAE3E,4CAA4C;IAC5C,8EAA8E;IAC9E,4EAA4E;IAC5E,yEAAyE;IACzE,mEAAmE;IACnE,IAAI,eAAe,GAAQ,IAAI,CAAC;IAChC,IAAI,kBAAkB,GAAG,OAAO,CAAC,WAAW,CAAC;IAC7C,IAAI,OAAO,CAAC,iBAAiB,IAAI,OAAO,CAAC,iBAAiB,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;QAClE,MAAM,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,GAAG,CAAC,uBAAW,CAAC,GAAG,CAAC,CAAC;QAC9D,MAAM,OAAO,GAAG,OAAO,CAAC,iBAAiB,CAAC,GAAG,CAAC,uBAAW,CAAC,IAAI,CAAC,CAAC;QAChE,IAAI,eAAe,GAAG,MAAM,IAAI,OAAO;YACnC,CAAC,CAAC,MAAM;YACR,CAAC,CAAC,MAAM;gBACJ,CAAC,CAAC,uBAAW,CAAC,GAAG;gBACjB,CAAC,CAAC,uBAAW,CAAC,IAAI,CAAC;QAE3B,oEAAoE;QACpE,+EAA+E;QAC/E,0EAA0E;QAC1E,iFAAiF;QACjF,MAAM,YAAY,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;QAClD,IAAI,OAAO,CAAC,WAAW,GAAG,CAAC,IAAI,YAAY,CAAC,OAAO,EAAE,CAAC;YAClD,kBAAkB,GAAG,YAAY,CAAC,MAAM,CAAC;YACzC,eAAe,GAAG,MAAM,CAAC;YACzB,OAAO,CAAC,iBAAiB,CAAC,GAAG,CAAC,uBAAW,CAAC,GAAG,CAAC,CAAC;YAC/C,OAAO,CAAC,iBAAiB,CAAC,GAAG,CAAC,uBAAW,CAAC,IAAI,CAAC,CAAC;QACpD,CAAC;QAED,IAAI,CAAC;YACD,eAAe,GAAG,MAAM,gCAAgC,CAAC,OAAO,EAAE,eAAe,EAAE,IAAI,EAAE,kBAAkB,CAAC,CAAC;QACjH,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAChB,OAAO,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,wCAAwC,IAAA,wBAAe,EAAC,GAAG,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;YAC/F,OAAO,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC;YAClC,OAAO;QACX,CAAC;IACL,CAAC;IAED,0DAA0D;IAC1D,6DAA6D;IAC7D,IAAI,SAAS,GAAQ,IAAI,CAAC;IAC1B,MAAM,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE;QACvC,IAAI,CAAC,OAAO,CAAC,iBAAiB,IAAI,OAAO,CAAC,iBAAiB,CAAC,IAAI,KAAK,CAAC;YAAE,OAAO;QAE/E,6EAA6E;QAC7E,MAAM,WAAW,GAAG,eAAe,EAAE,WAAW;YAC5C,CAAC,CAAC,eAAe,CAAC,WAAW;YAC7B,CAAC,CAAC,IAAI,WAAW,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,WAAW,EAAE,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;QAE7E,MAAM,OAAO,GAAG,eAAe,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAE7E,KAAK,MAAM,SAAS,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;YAChD,MAAM,QAAQ,GAAG,SAAS,KAAK,uBAAW,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;YAChE,MAAM,aAAa,GAAG,SAAS,CAAC,uBAAuB,CAAC,OAAO,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;YAEnF,uEAAuE;YACvE,MAAM,oBAAoB,GAAI,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAW;iBACtE,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,IAAI,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;YAE7E,gDAAgD;YAChD,MAAM,YAAY,GAAI,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAW;iBAC3D,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC;iBACxC,IAAI,CAAC,CAAC,CAAM,EAAE,CAAM,EAAE,EAAE,CAAC,QAAQ,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;YAE1F,yBAAyB;YACzB,MAAM,eAAe,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAC3G,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;gBACpD,CAAC,CAAC,oBAAoB,CAAC,MAAM,CAAC;YAClC,MAAM,WAAW,GAAG,eAAe,CAAC;YAEpC,8CAA8C;YAC9C,MAAM,YAAY,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;YACxD,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACnE,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAEjF,2BAA2B;YAC3B,qFAAqF;YACrF,iDAAiD;YACjD,KAAK,MAAM,YAAY,IAAI,oBAAoB,EAAE,CAAC;gBAC9C,wEAAwE;gBACxE,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;gBAC9C,MAAM,SAAS,GAAG,cAAc,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;gBAEtD,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,IAAA,uBAAc,EAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;oBAC1D,qBAAqB,CAAC,OAAO,EAAE,uBAAW,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;oBACjE,MAAM,eAAe,GAAG,iBAAiB,CAAC,OAAO,EAAE,uBAAW,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;oBAErF,IAAI,CAAC,eAAe,EAAE,CAAC;wBACnB,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,gDAAgD,YAAY,CAAC,EAAE,cAAc,YAAY,CAAC,OAAO,GAAG,EAAE,MAAM,CAAC,CAAC;wBACjI,OAAO,CAAC,IAAI,CAAC;4BACT,IAAI,EAAE,uBAAW,CAAC,MAAM;4BACxB,EAAE,EAAE,YAAY,CAAC,EAAE;4BACnB,OAAO,EAAE,YAAY,CAAC,OAAO;yBAChC,CAAC,CAAC;oBACP,CAAC;oBAED,MAAM,OAAO,GAAG,IAAI,IAAI,YAAY,CAAC;oBACrC,WAAW,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,EAAE,UAAU,CAAC,0BAA0B,CAAC,OAAO,CAAC,CAAC,CAAC;oBACjF,SAAS;gBACb,CAAC;gBAED,0EAA0E;gBAC1E,MAAM,eAAe,GAAG,iBAAiB,CAAC,OAAO,EAAE,uBAAW,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;gBACrF,MAAM,eAAe,GAAG,iBAAiB,CAAC,OAAO,EAAE,uBAAW,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;gBAErF,IAAI,eAAe,IAAI,eAAe,EAAE,CAAC;oBACrC,SAAS;gBACb,CAAC;gBAED,MAAM,OAAO,GAAG,IAAA,uBAAc,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC1C,MAAM,WAAW,GAAG,IAAA,uBAAc,EAAC,YAAY,CAAC,IAAI,CAAC,CAAC;gBACtD,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC;oBAC9C,CAAC,CAAC,SAAS,CAAC,oBAAoB,CAAC,OAAO,EAAE,aAAa,CAAC,KAAK,SAAS,CAAC,oBAAoB,CAAC,WAAW,EAAE,aAAa,CAAC;oBACvH,CAAC,CAAC,OAAO,KAAK,WAAW,CAAC;gBAE9B,IAAI,WAAW,EAAE,CAAC;oBACd,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,6CAA6C,YAAY,CAAC,EAAE,KAAK,WAAW,OAAO,OAAO,EAAE,EAAE,MAAM,CAAC,CAAC;oBACzH,OAAO,CAAC,IAAI,CAAC;wBACT,IAAI,EAAE,uBAAW,CAAC,MAAM;wBACxB,EAAE,EAAE,YAAY,CAAC,EAAE;wBACnB,OAAO,EAAE,YAAY,CAAC,OAAO;wBAC7B,SAAS,EAAE,YAAY,CAAC,EAAE;wBAC1B,OAAO;wBACP,QAAQ,EAAE,IAAI,CAAC,KAAK;wBACpB,KAAK,EAAE;4BACH,EAAE,EAAE,YAAY,CAAC,EAAE;4BACnB,IAAI,EAAE,YAAY,CAAC,IAAI;4BACvB,KAAK,EAAE,IAAI,CAAC,KAAK;4BACjB,IAAI,EAAE,OAAO;yBAChB;qBACJ,CAAC,CAAC;gBACP,CAAC;YACL,CAAC;YAED,2DAA2D;YAC3D,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;gBAC9B,MAAM,SAAS,GAAG,iBAAiB,CAAC,OAAO,EAAE,uBAAW,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;gBACvE,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;oBAC/D,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,oDAAoD,IAAI,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC;oBAC1F,OAAO,CAAC,IAAI,CAAC;wBACT,IAAI,EAAE,uBAAW,CAAC,MAAM;wBACxB,EAAE,EAAE,IAAI,CAAC,EAAE;wBACX,KAAK,EAAE;4BACH,EAAE,EAAE,IAAI,CAAC,EAAE;4BACX,KAAK,EAAE,IAAI,CAAC,KAAK;4BACjB,IAAI,EAAE,IAAI,CAAC,IAAI;4BACf,IAAI,EAAE,IAAI,CAAC,IAAI;yBAClB;qBACJ,CAAC,CAAC;gBACP,CAAC;YACL,CAAC;QACL,CAAC;QAED,oCAAoC;QACpC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,SAAS,GAAG;gBACR,OAAO;gBACP,WAAW;gBACX,cAAc,EAAE,WAAW,CAAC,UAAU,EAAE;gBACxC,eAAe,EAAE,kBAAkB;gBACnC,OAAO,EAAE,KAAK;aACjB,CAAC;QACN,CAAC;aAAM,IAAI,eAAe,EAAE,iBAAiB,EAAE,CAAC;YAC5C,wFAAwF;YACxF,oEAAoE;YACpE,SAAS,GAAG;gBACR,OAAO,EAAE,EAAE;gBACX,WAAW;gBACX,cAAc,EAAE,WAAW,CAAC,UAAU,EAAE;gBACxC,eAAe,EAAE,kBAAkB;gBACnC,SAAS,EAAE,IAAI;gBACf,OAAO,EAAE,KAAK;aACjB,CAAC;QACN,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,6CAA6C;IAC7C,IAAI,SAAS,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;QAClC,IAAI,CAAC;YACD,IAAI,MAAM,GAAQ,IAAI,CAAC;YAEvB,IAAI,SAAS,CAAC,SAAS,EAAE,CAAC;gBACtB,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,kBAAkB,CAC9C,SAAS,CAAC,WAAW,EACrB,SAAS,CAAC,cAAc,EACxB,SAAS,CAAC,eAAe,CAC5B,CAAC;gBAEF,IAAI,SAAS,EAAE,CAAC;oBACZ,IAAI,OAAO,OAAO,CAAC,WAAW,KAAK,UAAU,EAAE,CAAC;wBAC5C,MAAM,OAAO,CAAC,WAAW,EAAE,CAAC;oBAChC,CAAC;yBAAM,CAAC;wBACJ,MAAM,mBAAmB,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;oBACtD,CAAC;oBACD,MAAM,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;oBAC7C,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,wEAAwE,EAAE,MAAM,CAAC,CAAC;gBACzG,CAAC;qBAAM,CAAC;oBACJ,MAAM,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;oBACnE,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,yEAAyE,EAAE,MAAM,CAAC,CAAC;gBAC1G,CAAC;YACL,CAAC;iBAAM,CAAC;gBACJ,MAAM,GAAG,MAAM,0BAA0B,CAAC,SAAS,CAAC,CAAC;YACzD,CAAC;YAED,IAAI,MAAM,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;gBAC5B,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,8DAA8D,EAAE,MAAM,CAAC,CAAC;gBAC3F,OAAO,CAAC,WAAW,GAAG,CAAC,CAAC;gBACxB,OAAO,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC;gBAClC,4EAA4E;YAChF,CAAC;iBAAM,CAAC;gBACJ,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,+EAA+E,EAAE,MAAM,CAAC,CAAC;gBAC5G,OAAO,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC;YACtC,CAAC;QACL,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAChB,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,4DAA4D,IAAA,wBAAe,EAAC,GAAG,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;YAChH,OAAO,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC;QACtC,CAAC;IACL,CAAC;SAAM,CAAC;QACJ,+BAA+B;QAC/B,OAAO,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC;IACtC,CAAC;AACL,CAAC;AAED,mFAAmF;AACnF,4BAA4B;AAC5B,mFAAmF;AAEnF;;;;;;;;;;;;;;;;;;GAkBG;AACH,SAAgB,mBAAmB,CAAC,OAAY;IAC5C,MAAM,MAAM,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC;IACrD,MAAM,MAAM,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;IACpD,MAAM,QAAQ,GAAI,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAW,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;IAC5G,MAAM,EAAE,iBAAiB,EAAE,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IACjD,MAAM,QAAQ,GAAG,iBAAiB,CAAC,OAAO,CAAC,MAAM,CAAC,gBAAgB,EAAE,OAAO,CAAC,MAAM,CAAC,mBAAmB,EAAE,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAEnI,uEAAuE;IACvE,wEAAwE;IACxE,oEAAoE;IACpE,kEAAkE;IAClE,IAAI,SAAS,GAAI,CAAC,CAAC,CAAC;IACpB,IAAI,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC;IACjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACvC,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QACzB,IAAI,IAAI,CAAC,IAAI,KAAK,uBAAW,CAAC,GAAG,IAAK,CAAC,GAAG,SAAS;YAAG,SAAS,GAAI,CAAC,CAAC;QACrE,IAAI,IAAI,CAAC,IAAI,KAAK,uBAAW,CAAC,IAAI,IAAI,CAAC,GAAG,UAAU;YAAE,UAAU,GAAG,CAAC,CAAC;IACzE,CAAC;IAED,4DAA4D;IAC5D,yEAAyE;IACzE,yEAAyE;IACzE,MAAM,UAAU,GAAG,SAAS,IAAK,CAAC,CAAgB,CAAC,CAAC,SAAS,GAAI,CAAC,CAAU,CAAC,CAAC,CAAC,CAAC;IAChF,MAAM,UAAU,GAAG,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAG,CAAC,CAAC,UAAU,GAAG,CAAC,CAAU,CAAC,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;IAElG,qEAAqE;IACrE,IAAI,UAAU,GAAG,UAAU,EAAE,CAAC;QAC1B,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IAC9B,CAAC;IAED,IAAI,MAAM,GAAG,UAAU,CAAC,2BAA2B,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IAEnH,gCAAgC;IAChC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC;IAE5D,IAAI,MAAM,KAAK,OAAO,CAAC,WAAW,EAAE,CAAC;QACjC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IACrC,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;AAC9B,CAAC;AAED,mFAAmF;AACnF,wCAAwC;AACxC,mFAAmF;AAEnF;;;;;GAKG;AACH,SAAgB,uBAAuB,CAAC,WAAmB;IACvD,IAAI,CAAE,OAAe,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC;QAAC,IAAA,oBAAS,EAAC,WAAW,CAAC,CAAC;QAAC,OAAO,IAAI,CAAC;IAAC,CAAC;IACnF,OAAO,KAAK,CAAC;AACjB,CAAC;AAED;;;;GAIG;AACH,SAAgB,KAAK,CAAC,EAAU;IAC5B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAY,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AAClE,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAgB,SAAS,CAAC,MAAc,EAAE,UAA4F,EAAE;IACpI,OAAO,IAAI,OAAO,CAAC,CAAC,OAAY,EAAE,EAAE;QAChC,MAAM,KAAK,GAAG,iBAAO,CAAC,KAAM,CAAC;QAAC,MAAM,MAAM,GAAG,iBAAO,CAAC,MAAM,CAAC;QAC5D,MAAM,uBAAuB,GAAG,GAAG,CAAC;QACpC,IAAI,KAAK,GAAG,EAAE,CAAC;QACf,IAAI,SAAS,GAAG,CAAC,CAAC;QAClB,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,QAAQ,GAAQ,IAAI,CAAC;QACzB,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACrB,MAAM,KAAK,GAAI,KAAa,CAAC,KAAK,CAAC;QAAC,IAAI,KAAK,CAAC,KAAK;YAAG,KAAa,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACrF,KAAK,CAAC,MAAM,EAAE,CAAC;QAAE,KAAa,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAEnD,SAAS,MAAM;YACX,MAAM,UAAU,GAAG,OAAO,CAAC,YAAY,IAAI,OAAO,OAAO,CAAC,IAAI,KAAK,QAAQ,CAAC;YAC5E,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,IAAI,GAAG,CAAC;YACrC,MAAM,OAAO,GAAG,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YACnE,MAAM,CAAC,KAAK,CAAC,UAAU,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;YAC5C,IAAI,SAAS,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;gBAC3B,MAAM,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,GAAG,GAAG,CAAC,CAAC;YAC7D,CAAC;QACL,CAAC;QAED,SAAS,cAAc,CAAC,GAAQ;YAC5B,aAAa;YACb,IAAI,GAAG,KAAK,GAAG,EAAE,CAAC;gBAAC,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;oBAAC,SAAS,EAAE,CAAC;oBAAC,MAAM,EAAE,CAAC;gBAAC,CAAC;gBAAC,OAAO,IAAI,CAAC;YAAC,CAAC;YAC/E,IAAI,GAAG,KAAK,GAAG,EAAE,CAAC;gBAAC,IAAI,SAAS,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;oBAAC,SAAS,EAAE,CAAC;oBAAC,MAAM,EAAE,CAAC;gBAAC,CAAC;gBAAC,OAAO,IAAI,CAAC;YAAC,CAAC;YAC1F,aAAa;YACb,IAAI,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;gBAAC,SAAS,GAAG,CAAC,CAAC;gBAAC,MAAM,EAAE,CAAC;gBAAC,OAAO,IAAI,CAAC;YAAC,CAAC;YAC1E,IAAI,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;gBAAC,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC;gBAAC,MAAM,EAAE,CAAC;gBAAC,OAAO,IAAI,CAAC;YAAC,CAAC;YACrF,SAAS;YACT,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;gBACf,IAAI,SAAS,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;oBAC3B,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;oBAC/D,MAAM,EAAE,CAAC;gBACb,CAAC;gBACD,OAAO,IAAI,CAAC;YAChB,CAAC;YACD,SAAS;YACT,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;gBAAC,OAAO,IAAI,CAAC;YAAC,CAAC;YAClC,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,SAAS,aAAa;YAClB,QAAQ,GAAG,IAAI,CAAC;YAChB,MAAM,GAAG,GAAG,MAAM,CAAC;YACnB,MAAM,GAAG,EAAE,CAAC;YACZ,iBAAiB;YACjB,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;gBAAC,OAAO,EAAE,CAAC;gBAAC,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;gBAAC,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC;YAAC,CAAC;YACtF,uCAAuC;YACvC,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;gBACpC,MAAM,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;gBAC7B,IAAI,cAAc,CAAC,GAAG,CAAC;oBAAE,OAAO;gBAChC,8BAA8B;gBAC9B,OAAO;YACX,CAAC;YACD,+CAA+C;QACnD,CAAC;QAED,SAAS,UAAU,CAAC,EAAO;YACvB,IAAI,EAAE,KAAK,IAAI,IAAI,EAAE,KAAK,IAAI,IAAI,EAAE,KAAK,QAAQ,EAAE,CAAC;gBAAC,OAAO,EAAE,CAAC;gBAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAAC,OAAO,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;YAAC,CAAC;YACnH,IAAI,EAAE,KAAK,QAAQ,EAAE,CAAC;gBAAC,OAAO,EAAE,CAAC;gBAAC,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;gBAAC,iBAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAAC,CAAC;YAEhF,YAAY;YACZ,IAAI,EAAE,KAAK,QAAQ,IAAI,EAAE,KAAK,QAAQ,EAAE,CAAC;gBACrC,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;oBAChB,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;oBAC/D,SAAS,EAAE,CAAC;oBACZ,MAAM,EAAE,CAAC;gBACb,CAAC;gBACD,OAAO;YACX,CAAC;YAED,yCAAyC;YACzC,IAAI,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,CAAC;gBACpD,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;gBAChE,SAAS,EAAE,CAAC;gBACZ,MAAM,EAAE,CAAC;YACb,CAAC;QACL,CAAC;QAED,MAAM,MAAM,GAAG,CAAC,KAAU,EAAE,EAAE;YAC1B,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;YACxB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAChC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gBAEhB,kCAAkC;gBAClC,IAAI,MAAM,EAAE,CAAC;oBACT,MAAM,IAAI,EAAE,CAAC;oBACb,mDAAmD;oBACnD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG;wBAAE,SAAS;oBACvD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,EAAE,CAAC;wBAC9C,YAAY,CAAC,QAAQ,CAAC,CAAC;wBACvB,aAAa,EAAE,CAAC;oBACpB,CAAC;oBACD,SAAS;gBACb,CAAC;gBAED,qCAAqC;gBACrC,IAAI,EAAE,KAAK,MAAM,EAAE,CAAC;oBAChB,MAAM,GAAG,EAAE,CAAC;oBACZ,QAAQ,GAAG,UAAU,CAAC,aAAa,EAAE,uBAAuB,CAAC,CAAC;oBAC9D,SAAS;gBACb,CAAC;gBAED,UAAU,CAAC,EAAE,CAAC,CAAC;YACnB,CAAC;QACL,CAAC,CAAC;QACF,MAAM,OAAO,GAAG,GAAG,EAAE,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,GAAG,EAAE,CAAC,CAAE,KAAa,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,KAAK;YAAG,KAAa,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACjK,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,CAAC,CAAC,CAAC;AACP,CAAC;AAED;;;;;GAKG;AACI,KAAK,UAAU,YAAY,CAAC,MAAc,IAAqB,OAAO,SAAS,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;AAErI;;;;;;;;;;;;;GAaG;AACI,KAAK,UAAU,SAAS,CAAI,EAAoB,EAAE,UAA2I,EAAE;IAClM,MAAM,EAAE,WAAW,GAAG,2BAAe,CAAC,kBAAkB,EAAE,WAAW,GAAG,2BAAe,CAAC,mBAAmB,EAAE,UAAU,GAAG,2BAAe,CAAC,kBAAkB,EAAE,MAAM,GAAG,IAAI,EAAE,aAAa,GAAG,WAAW,EAAE,GAAG,OAAO,CAAC;IACrN,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,WAAW,EAAE,OAAO,EAAE,EAAE,CAAC;QACtD,IAAI,CAAC;YACD,OAAO,MAAM,EAAE,EAAE,CAAC;QACtB,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAChB,IAAI,OAAO,KAAK,WAAW;gBAAE,MAAM,GAAG,CAAC;YACvC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;YAC3E,MAAM,EAAE,GAAG,EAAE,CAAC,GAAG,aAAa,YAAY,OAAO,wBAAwB,KAAK,OAAO,EAAE,MAAM,CAAC,CAAC;YAC/F,MAAM,KAAK,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC;IACL,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,GAAG,aAAa,iBAAiB,WAAW,WAAW,CAAC,CAAC;AAC7E,CAAC;AAED,mFAAmF;AACnF,+BAA+B;AAC/B,mFAAmF;AAEnF;;;;;;;GAOG;AACH,SAAgB,iBAAiB,CAAC,OAAY,EAAE,OAAe;IAC3D,IAAI,OAAO,IAAI,OAAO,OAAO,CAAC,SAAS,KAAK,QAAQ,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;QACxE,OAAO,OAAO,CAAC,SAAS,CAAC;IAC7B,CAAC;IACD,IAAI,OAAO,IAAI,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACpE,OAAO,OAAO,CAAC,OAAO,CAAC;IAC3B,CAAC;IACD,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,EAAE,CAAC;QACzC,OAAO,OAAO,CAAC;IACnB,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC;AAED;;;;GAIG;AACH,SAAgB,UAAU,CAAC,GAAQ;IAC/B,IAAI,GAAG,KAAK,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,GAAG,CAAC;IACxD,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACnB,MAAM,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,IAAS,EAAE,EAAE;QAClD,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC;YAC/C,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI;YAClB,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,KAAK,QAAQ,IAAI,OAAO,GAAG,CAAC,IAAI,CAAC,KAAK,UAAU,CAAC;YAClE,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;YAC9B,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;QAC1B,CAAC;IACL,CAAC,CAAC,CAAC;IACH,OAAO,GAAG,CAAC;AACf,CAAC;AAED;;;;GAIG;AACH,SAAgB,QAAQ,CAAO,GAAc;IACzC,OAAO,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;AACxB,CAAC;AAED;;;;;GAKG;AACH,SAAgB,qBAAqB,CAAC,GAAW;IAC7C,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,yBAAyB,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC;IAC5F,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;AAChC,CAAC"}
|
|
1
|
+
{"version":3,"file":"system.js","sourceRoot":"","sources":["../../../../modules/order/utils/system.ts"],"names":[],"mappings":"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"}
|
|
@@ -163,14 +163,24 @@ declare function summarizeActions(actions: any): {
|
|
|
163
163
|
*/
|
|
164
164
|
declare function hasExecutableActions(rebalanceResult: any): boolean;
|
|
165
165
|
/**
|
|
166
|
-
* Validate that CREATE actions target slots that are not already occupied on-chain
|
|
167
|
-
*
|
|
166
|
+
* Validate that CREATE actions target slots that are not already occupied on-chain
|
|
167
|
+
* and that no CREATE price collides with an existing placed order or unmatched
|
|
168
|
+
* on-chain order. Checks four layers:
|
|
169
|
+
* 1. Slot occupancy — target grid slot already has a placed order
|
|
170
|
+
* 2. Master grid price collision — a placed order in the grid has the same price
|
|
171
|
+
* 3. Chain orphan collision — an unmatched on-chain order has the same price
|
|
172
|
+
* 4. Same-batch duplicate — two CREATEs in the same batch have identical prices
|
|
173
|
+
*
|
|
174
|
+
* Cancel and rotation-released slots are considered free.
|
|
168
175
|
*
|
|
169
176
|
* @param {Array<import('./types').CowAction>} actions - List of COW actions
|
|
170
177
|
* @param {Map} orders - Current order grid
|
|
171
|
-
* @
|
|
178
|
+
* @param {Object|null} [assets=null] - Asset metadata for tolerance calculation
|
|
179
|
+
* @param {Array<Object>} [chainOrderCandidates=[]] - Unmatched on-chain orders
|
|
180
|
+
* with {chainOrderId, price, size, type} to check beyond the grid
|
|
181
|
+
* @returns {{isValid: boolean, violations: Array<Object>}} Validation result
|
|
172
182
|
*/
|
|
173
|
-
declare function validateCreateTargetSlots(actions: any, orders: any): {
|
|
183
|
+
declare function validateCreateTargetSlots(actions: any, orders: any, assets?: any, chainOrderCandidates?: any[]): {
|
|
174
184
|
isValid: boolean;
|
|
175
185
|
violations: any[];
|
|
176
186
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../../../modules/order/utils/validate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;
|
|
1
|
+
{"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../../../modules/order/utils/validate.ts"],"names":[],"mappings":"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"}
|
|
@@ -582,14 +582,24 @@ function hasExecutableActions(rebalanceResult) {
|
|
|
582
582
|
return Array.isArray(actions) && actions.length > 0;
|
|
583
583
|
}
|
|
584
584
|
/**
|
|
585
|
-
* Validate that CREATE actions target slots that are not already occupied on-chain
|
|
586
|
-
*
|
|
585
|
+
* Validate that CREATE actions target slots that are not already occupied on-chain
|
|
586
|
+
* and that no CREATE price collides with an existing placed order or unmatched
|
|
587
|
+
* on-chain order. Checks four layers:
|
|
588
|
+
* 1. Slot occupancy — target grid slot already has a placed order
|
|
589
|
+
* 2. Master grid price collision — a placed order in the grid has the same price
|
|
590
|
+
* 3. Chain orphan collision — an unmatched on-chain order has the same price
|
|
591
|
+
* 4. Same-batch duplicate — two CREATEs in the same batch have identical prices
|
|
592
|
+
*
|
|
593
|
+
* Cancel and rotation-released slots are considered free.
|
|
587
594
|
*
|
|
588
595
|
* @param {Array<import('./types').CowAction>} actions - List of COW actions
|
|
589
596
|
* @param {Map} orders - Current order grid
|
|
590
|
-
* @
|
|
597
|
+
* @param {Object|null} [assets=null] - Asset metadata for tolerance calculation
|
|
598
|
+
* @param {Array<Object>} [chainOrderCandidates=[]] - Unmatched on-chain orders
|
|
599
|
+
* with {chainOrderId, price, size, type} to check beyond the grid
|
|
600
|
+
* @returns {{isValid: boolean, violations: Array<Object>}} Validation result
|
|
591
601
|
*/
|
|
592
|
-
function validateCreateTargetSlots(actions, orders) {
|
|
602
|
+
function validateCreateTargetSlots(actions, orders, assets = null, chainOrderCandidates = []) {
|
|
593
603
|
const safeActions = Array.isArray(actions) ? actions : [];
|
|
594
604
|
const orderMap = orders instanceof Map ? orders : new Map();
|
|
595
605
|
const releasedSlotIds = new Set();
|
|
@@ -606,6 +616,7 @@ function validateCreateTargetSlots(actions, orders) {
|
|
|
606
616
|
}
|
|
607
617
|
}
|
|
608
618
|
const violations = [];
|
|
619
|
+
const createEntries = [];
|
|
609
620
|
for (const action of safeActions) {
|
|
610
621
|
if (action?.type !== constants_1.COW_ACTIONS.CREATE)
|
|
611
622
|
continue;
|
|
@@ -613,17 +624,92 @@ function validateCreateTargetSlots(actions, orders) {
|
|
|
613
624
|
if (!targetId || releasedSlotIds.has(targetId))
|
|
614
625
|
continue;
|
|
615
626
|
const current = orderMap.get(targetId);
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
if ((0, order_1.isOrderOnChain)(current)) {
|
|
627
|
+
// isOrderOnChain already checks orderId is truthy
|
|
628
|
+
if (current && (0, order_1.isOrderOnChain)(current)) {
|
|
619
629
|
violations.push({
|
|
620
630
|
targetId,
|
|
621
631
|
currentOrderId: current.orderId,
|
|
622
632
|
currentType: current.type,
|
|
623
|
-
currentState: current.state
|
|
633
|
+
currentState: current.state,
|
|
634
|
+
reason: 'slot_occupied'
|
|
635
|
+
});
|
|
636
|
+
}
|
|
637
|
+
if (action.order?.price != null && action.order?.type != null) {
|
|
638
|
+
const liveSlot = orderMap.get(targetId);
|
|
639
|
+
const livePrice = liveSlot && Number.isFinite(Number(liveSlot.price))
|
|
640
|
+
? Number(liveSlot.price)
|
|
641
|
+
: null;
|
|
642
|
+
const effectivePrice = livePrice !== null ? livePrice : Number(action.order.price);
|
|
643
|
+
createEntries.push({
|
|
644
|
+
targetId,
|
|
645
|
+
action,
|
|
646
|
+
price: effectivePrice,
|
|
647
|
+
size: Number(action.order.size || 0),
|
|
648
|
+
type: action.order.type,
|
|
624
649
|
});
|
|
625
650
|
}
|
|
626
651
|
}
|
|
652
|
+
if (assets && createEntries.length > 0) {
|
|
653
|
+
for (const entry of createEntries) {
|
|
654
|
+
const collision = (0, math_1.findPriceCollision)(orderMap.values(), entry.targetId, entry.price, entry.size, entry.type, assets, (o) => (0, order_1.isOrderPlaced)(o) && o.id !== entry.targetId);
|
|
655
|
+
if (collision) {
|
|
656
|
+
violations.push({
|
|
657
|
+
targetId: entry.targetId,
|
|
658
|
+
currentOrderId: collision.orderId,
|
|
659
|
+
currentType: entry.type,
|
|
660
|
+
currentState: collision.state,
|
|
661
|
+
reason: 'price_collision',
|
|
662
|
+
});
|
|
663
|
+
}
|
|
664
|
+
}
|
|
665
|
+
// Filter out malformed chain entries (missing chainOrderId); all production
|
|
666
|
+
// set sites guard this, but a defensive skip prevents crashes on
|
|
667
|
+
// unexpected data shapes during development or deserialization.
|
|
668
|
+
const validChainCandidates = chainOrderCandidates.length > 0
|
|
669
|
+
? chainOrderCandidates.filter((u) => u.chainOrderId && typeof u.price === 'number')
|
|
670
|
+
: [];
|
|
671
|
+
if (validChainCandidates.length > 0) {
|
|
672
|
+
const mapped = validChainCandidates.map((u) => ({
|
|
673
|
+
id: u.chainOrderId,
|
|
674
|
+
price: u.price,
|
|
675
|
+
size: u.size || 0,
|
|
676
|
+
orderId: u.chainOrderId,
|
|
677
|
+
}));
|
|
678
|
+
for (const entry of createEntries) {
|
|
679
|
+
const chainCollision = (0, math_1.findPriceCollision)(mapped, entry.targetId, entry.price, entry.size, entry.type, assets, (item) => item.price != null);
|
|
680
|
+
if (chainCollision) {
|
|
681
|
+
violations.push({
|
|
682
|
+
targetId: entry.targetId,
|
|
683
|
+
currentOrderId: chainCollision.orderId,
|
|
684
|
+
currentType: entry.type,
|
|
685
|
+
currentState: 'CHAIN_ORPHAN',
|
|
686
|
+
reason: 'chain_orphan_collision',
|
|
687
|
+
});
|
|
688
|
+
}
|
|
689
|
+
}
|
|
690
|
+
}
|
|
691
|
+
// Exact-equality sanity net: same-batch CREATEs from the same calculation
|
|
692
|
+
// produce identical float prices. 1e-8 is far below any precision-based
|
|
693
|
+
// tolerance (calculatePriceTolerance returns ~1e-5 at minimum), so this
|
|
694
|
+
// strictly catches bit-identical duplicates — not near-matches. Near-matches
|
|
695
|
+
// are caught by the tolerance-based findPriceCollision check below in the
|
|
696
|
+
// COW loop's batchCollision guard.
|
|
697
|
+
for (let i = 0; i < createEntries.length; i++) {
|
|
698
|
+
for (let j = i + 1; j < createEntries.length; j++) {
|
|
699
|
+
const a = createEntries[i];
|
|
700
|
+
const b = createEntries[j];
|
|
701
|
+
if (Math.abs(a.price - b.price) <= 1e-8) {
|
|
702
|
+
violations.push({
|
|
703
|
+
targetId: b.targetId,
|
|
704
|
+
currentOrderId: null,
|
|
705
|
+
currentType: b.type,
|
|
706
|
+
currentState: 'CREATE',
|
|
707
|
+
reason: 'same_batch_price_collision',
|
|
708
|
+
});
|
|
709
|
+
}
|
|
710
|
+
}
|
|
711
|
+
}
|
|
712
|
+
}
|
|
627
713
|
return {
|
|
628
714
|
isValid: violations.length === 0,
|
|
629
715
|
violations
|