curvance 3.2.5 → 3.3.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/abis/ProtocolReader.json +20 -10
- package/dist/chains/index.d.ts +20 -0
- package/dist/chains/index.d.ts.map +1 -1
- package/dist/chains/monad-mainnet.json +11 -1
- package/dist/classes/BorrowableCToken.d.ts.map +1 -1
- package/dist/classes/BorrowableCToken.js +11 -11
- package/dist/classes/BorrowableCToken.js.map +1 -1
- package/dist/classes/CToken.d.ts +11 -7
- package/dist/classes/CToken.d.ts.map +1 -1
- package/dist/classes/CToken.js +81 -100
- package/dist/classes/CToken.js.map +1 -1
- package/dist/classes/DexAggregators/KyberSwap.d.ts +2 -2
- package/dist/classes/DexAggregators/KyberSwap.d.ts.map +1 -1
- package/dist/classes/DexAggregators/KyberSwap.js +6 -10
- package/dist/classes/DexAggregators/KyberSwap.js.map +1 -1
- package/dist/classes/ERC4626.d.ts +2 -0
- package/dist/classes/ERC4626.d.ts.map +1 -1
- package/dist/classes/ERC4626.js +4 -0
- package/dist/classes/ERC4626.js.map +1 -1
- package/dist/classes/FormatConverter.d.ts +99 -0
- package/dist/classes/FormatConverter.d.ts.map +1 -0
- package/dist/classes/FormatConverter.js +151 -0
- package/dist/classes/FormatConverter.js.map +1 -0
- package/dist/classes/Market.d.ts +1 -1
- package/dist/classes/Market.d.ts.map +1 -1
- package/dist/classes/Market.js +7 -7
- package/dist/classes/Market.js.map +1 -1
- package/dist/classes/PositionManager.d.ts.map +1 -1
- package/dist/classes/PositionManager.js +3 -2
- package/dist/classes/PositionManager.js.map +1 -1
- package/dist/classes/ProtocolReader.d.ts +3 -2
- package/dist/classes/ProtocolReader.d.ts.map +1 -1
- package/dist/classes/ProtocolReader.js +4 -2
- package/dist/classes/ProtocolReader.js.map +1 -1
- package/dist/helpers.d.ts +10 -0
- package/dist/helpers.d.ts.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/package.json +3 -2
package/dist/classes/CToken.js
CHANGED
|
@@ -16,6 +16,7 @@ const setup_1 = require("../setup");
|
|
|
16
16
|
const PositionManager_1 = require("./PositionManager");
|
|
17
17
|
const NativeToken_1 = require("./NativeToken");
|
|
18
18
|
const ERC4626_1 = require("./ERC4626");
|
|
19
|
+
const FormatConverter_1 = __importDefault(require("./FormatConverter"));
|
|
19
20
|
class CToken extends Calldata_1.Calldata {
|
|
20
21
|
provider;
|
|
21
22
|
address;
|
|
@@ -39,19 +40,17 @@ class CToken extends Calldata_1.Calldata {
|
|
|
39
40
|
this.isNativeVault = chain_config.native_vaults.some(vault => vault.contract == this.asset.address);
|
|
40
41
|
this.isVault = chain_config.vaults.some(vault => vault.contract == this.asset.address);
|
|
41
42
|
this.isWrappedNative = chain_config.wrapped_native == this.asset.address;
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
if
|
|
47
|
-
|
|
48
|
-
if
|
|
49
|
-
|
|
50
|
-
if
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
this.leverageTypes.push('simple');
|
|
54
|
-
this.zapTypes.push('simple');
|
|
43
|
+
// TODO: Remove this, as a temporary disable for sAUSD
|
|
44
|
+
if (this.symbol == 'csAUSD') {
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
// if(this.isNativeVault) this.zapTypes.push('native-vault');
|
|
48
|
+
// if("nativeVaultPositionManager" in this.market.plugins && this.isNativeVault) this.leverageTypes.push('native-vault');
|
|
49
|
+
// if(this.isWrappedNative) this.zapTypes.push('native-simple');
|
|
50
|
+
// if(this.isVault) this.zapTypes.push('vault');
|
|
51
|
+
// if("vaultPositionManager" in this.market.plugins && this.isVault) this.leverageTypes.push('vault');
|
|
52
|
+
// if("simplePositionManager" in this.market.plugins) this.leverageTypes.push('simple');
|
|
53
|
+
// this.zapTypes.push('simple');
|
|
55
54
|
}
|
|
56
55
|
get adapters() { return this.cache.adapters; }
|
|
57
56
|
get borrowPaused() { return this.cache.borrowPaused; }
|
|
@@ -67,11 +66,19 @@ class CToken extends Calldata_1.Calldata {
|
|
|
67
66
|
get canZap() { return this.zapTypes.length > 0; }
|
|
68
67
|
get maxLeverage() { return (0, decimal_js_1.default)(this.cache.maxLeverage / helpers_1.BPS); }
|
|
69
68
|
get canLeverage() { return this.leverageTypes.length > 0; }
|
|
69
|
+
get totalAssets() { return this.cache.totalAssets; }
|
|
70
|
+
get totalSupply() { return this.cache.totalSupply; }
|
|
70
71
|
get liquidationPrice() {
|
|
71
72
|
if (this.cache.liquidationPrice == helpers_1.UINT256_MAX)
|
|
72
73
|
return null;
|
|
73
74
|
return (0, helpers_1.toDecimal)(this.cache.liquidationPrice, 18n);
|
|
74
75
|
}
|
|
76
|
+
virtualConvertToAssets(shares) {
|
|
77
|
+
return (shares * this.totalAssets) / this.totalSupply;
|
|
78
|
+
}
|
|
79
|
+
virtualConvertToShares(assets) {
|
|
80
|
+
return (assets * this.totalSupply) / this.totalAssets;
|
|
81
|
+
}
|
|
75
82
|
getLeverage() {
|
|
76
83
|
if (this.getUserCollateral(true).equals(0)) {
|
|
77
84
|
return null;
|
|
@@ -142,7 +149,7 @@ class CToken extends Calldata_1.Calldata {
|
|
|
142
149
|
return inUSD ? this.convertTokensToUsd(this.cache.debt) : this.cache.debt;
|
|
143
150
|
}
|
|
144
151
|
getUserCollateral(inUSD) {
|
|
145
|
-
return inUSD ? this.convertTokensToUsd(this.cache.userCollateral, false) :
|
|
152
|
+
return inUSD ? this.convertTokensToUsd(this.cache.userCollateral, false) : FormatConverter_1.default.bigIntToDecimal(this.cache.userCollateral, this.decimals);
|
|
146
153
|
}
|
|
147
154
|
async fetchUserCollateral(formatted = false) {
|
|
148
155
|
const signer = (0, helpers_1.validateProviderAsSigner)(this.provider);
|
|
@@ -194,7 +201,7 @@ class CToken extends Calldata_1.Calldata {
|
|
|
194
201
|
return inUSD ? this.convertTokensToUsd(tvl) : tvl;
|
|
195
202
|
}
|
|
196
203
|
async fetchTvl(inUSD = true) {
|
|
197
|
-
const tvl = await this.
|
|
204
|
+
const tvl = await this.fetchTotalSupply();
|
|
198
205
|
this.cache.totalSupply = tvl;
|
|
199
206
|
return inUSD ? this.getTvl(true) : this.getTvl(false);
|
|
200
207
|
}
|
|
@@ -349,10 +356,10 @@ class CToken extends Calldata_1.Calldata {
|
|
|
349
356
|
}
|
|
350
357
|
return price;
|
|
351
358
|
}
|
|
352
|
-
async
|
|
359
|
+
async fetchTotalSupply() {
|
|
353
360
|
return this.contract.totalSupply();
|
|
354
361
|
}
|
|
355
|
-
async
|
|
362
|
+
async fetchTotalAssets() {
|
|
356
363
|
return this.contract.totalAssets();
|
|
357
364
|
}
|
|
358
365
|
async getExchangeRate() {
|
|
@@ -370,22 +377,20 @@ class CToken extends Calldata_1.Calldata {
|
|
|
370
377
|
return this.contract.maxDeposit(receiver);
|
|
371
378
|
}
|
|
372
379
|
async transfer(receiver, amount) {
|
|
373
|
-
const shares = this.
|
|
380
|
+
const shares = this.convertTokenInputToShares(amount);
|
|
374
381
|
return this.contract.transfer(receiver, shares);
|
|
375
382
|
}
|
|
376
383
|
async redeemCollateral(amount, receiver = null, owner = null) {
|
|
377
384
|
const signer = (0, helpers_1.validateProviderAsSigner)(this.provider);
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
owner = signer.address;
|
|
382
|
-
const shares = this.convertTokenInput(amount, true, true);
|
|
385
|
+
receiver ??= signer.address;
|
|
386
|
+
owner ??= signer.address;
|
|
387
|
+
const shares = this.convertTokenInputToShares(amount);
|
|
383
388
|
const calldata = this.getCallData("redeemCollateral", [shares, receiver, owner]);
|
|
384
389
|
return this.oracleRoute(calldata);
|
|
385
390
|
}
|
|
386
391
|
async postCollateral(amount) {
|
|
387
392
|
const signer = (0, helpers_1.validateProviderAsSigner)(this.provider);
|
|
388
|
-
const shares = this.
|
|
393
|
+
const shares = this.convertTokenInputToShares(amount);
|
|
389
394
|
const balance = await this.balanceOf(signer.address);
|
|
390
395
|
const collateral = await this.fetchUserCollateral();
|
|
391
396
|
const available_shares = balance - collateral;
|
|
@@ -429,17 +434,18 @@ class CToken extends Calldata_1.Calldata {
|
|
|
429
434
|
// TODO: Hack to remove
|
|
430
435
|
async ensureUnderlyingAmount(amount, zap) {
|
|
431
436
|
const balance = await this.getZapBalance(zap);
|
|
432
|
-
|
|
437
|
+
const assets = FormatConverter_1.default.decimalToBigInt(amount, this.asset.decimals);
|
|
438
|
+
if (assets > balance) {
|
|
433
439
|
console.warn('[WARNING] Detected higher deposit amount then underlying balance, changing to the underlying balance. Diff: ', {
|
|
434
|
-
raw:
|
|
435
|
-
formatted:
|
|
440
|
+
raw: assets - balance,
|
|
441
|
+
formatted: FormatConverter_1.default.bigIntToDecimal(assets - balance, this.asset.decimals)
|
|
436
442
|
});
|
|
437
|
-
return
|
|
443
|
+
return FormatConverter_1.default.bigIntToDecimal(balance, this.asset.decimals);
|
|
438
444
|
}
|
|
439
445
|
return amount;
|
|
440
446
|
}
|
|
441
447
|
async removeCollateral(amount) {
|
|
442
|
-
const shares = this.
|
|
448
|
+
const shares = this.convertTokenInputToShares(amount);
|
|
443
449
|
const current_shares = await this.fetchUserCollateral();
|
|
444
450
|
const max_shares = current_shares < shares ? current_shares : shares;
|
|
445
451
|
const calldata = this.getCallData("removeCollateral", [max_shares]);
|
|
@@ -448,8 +454,8 @@ class CToken extends Calldata_1.Calldata {
|
|
|
448
454
|
await this.fetchUserCollateral();
|
|
449
455
|
return tx;
|
|
450
456
|
}
|
|
451
|
-
|
|
452
|
-
return this.
|
|
457
|
+
convertTokenInputToShares(amount) {
|
|
458
|
+
return this.virtualConvertToShares(FormatConverter_1.default.decimalToBigInt(amount, this.asset.decimals));
|
|
453
459
|
}
|
|
454
460
|
async convertToShares(assets) {
|
|
455
461
|
return this.contract.convertToShares(assets);
|
|
@@ -463,18 +469,8 @@ class CToken extends Calldata_1.Calldata {
|
|
|
463
469
|
const all_shares = data.maxCollateralizedShares + data.maxUncollateralizedShares;
|
|
464
470
|
if (in_shares)
|
|
465
471
|
return all_shares;
|
|
466
|
-
const all_assets =
|
|
467
|
-
return
|
|
468
|
-
}
|
|
469
|
-
convertBigInt(amount, inShares = false, use_exchange_rate = false) {
|
|
470
|
-
const decimals = inShares ? this.decimals : this.asset.decimals;
|
|
471
|
-
const raw_amount = use_exchange_rate ? (amount * this.exchangeRate) / helpers_1.WAD : amount;
|
|
472
|
-
return (0, helpers_1.toDecimal)(raw_amount, decimals);
|
|
473
|
-
}
|
|
474
|
-
convertTokenInput(amount, inShares = false, use_exchange_rate = false) {
|
|
475
|
-
const decimals = inShares ? this.decimals : this.asset.decimals;
|
|
476
|
-
const newAmount = (0, helpers_1.toBigInt)(amount, decimals);
|
|
477
|
-
return use_exchange_rate ? (newAmount * this.exchangeRate) / helpers_1.WAD : newAmount;
|
|
472
|
+
const all_assets = this.virtualConvertToAssets(all_shares);
|
|
473
|
+
return FormatConverter_1.default.bigIntToDecimal(all_assets, this.asset.decimals);
|
|
478
474
|
}
|
|
479
475
|
/** @returns A list of tokens mapped to their respective zap options */
|
|
480
476
|
async getDepositTokens(search = null) {
|
|
@@ -489,8 +485,7 @@ class CToken extends Calldata_1.Calldata {
|
|
|
489
485
|
interface: new NativeToken_1.NativeToken(setup_1.setup_config.chain, this.provider),
|
|
490
486
|
type: 'native-vault'
|
|
491
487
|
});
|
|
492
|
-
tokens_exclude.push(helpers_1.EMPTY_ADDRESS);
|
|
493
|
-
tokens_exclude.push(helpers_1.NATIVE_ADDRESS);
|
|
488
|
+
tokens_exclude.push(helpers_1.EMPTY_ADDRESS, helpers_1.NATIVE_ADDRESS);
|
|
494
489
|
}
|
|
495
490
|
if (this.zapTypes.includes('native-simple')) {
|
|
496
491
|
tokens.push({
|
|
@@ -498,8 +493,7 @@ class CToken extends Calldata_1.Calldata {
|
|
|
498
493
|
type: 'native-simple'
|
|
499
494
|
});
|
|
500
495
|
if (!this.zapTypes.includes('native-vault')) {
|
|
501
|
-
tokens_exclude.push(helpers_1.EMPTY_ADDRESS);
|
|
502
|
-
tokens_exclude.push(helpers_1.NATIVE_ADDRESS);
|
|
496
|
+
tokens_exclude.push(helpers_1.EMPTY_ADDRESS, helpers_1.NATIVE_ADDRESS);
|
|
503
497
|
}
|
|
504
498
|
}
|
|
505
499
|
if (this.zapTypes.includes('vault')) {
|
|
@@ -518,7 +512,7 @@ class CToken extends Calldata_1.Calldata {
|
|
|
518
512
|
}
|
|
519
513
|
async hypotheticalRedemptionOf(amount) {
|
|
520
514
|
const signer = (0, helpers_1.validateProviderAsSigner)(this.provider);
|
|
521
|
-
const shares = this.
|
|
515
|
+
const shares = this.convertTokenInputToShares(amount);
|
|
522
516
|
return this.market.reader.hypotheticalRedemptionOf(signer.address, this, shares);
|
|
523
517
|
}
|
|
524
518
|
previewLeverageUp(newLeverage, borrow, depositAmount) {
|
|
@@ -546,44 +540,34 @@ class CToken extends Calldata_1.Calldata {
|
|
|
546
540
|
return { collateralAssetReduction, leverageDiff };
|
|
547
541
|
}
|
|
548
542
|
async leverageUp(borrow, newLeverage, type, slippage_ = (0, decimal_js_1.default)(0.005)) {
|
|
549
|
-
|
|
550
|
-
const slippage =
|
|
543
|
+
(0, helpers_1.validateProviderAsSigner)(this.provider);
|
|
544
|
+
const slippage = FormatConverter_1.default.percentageToBps(slippage_);
|
|
551
545
|
const manager = this.getPositionManager(type);
|
|
552
546
|
let calldata;
|
|
553
547
|
const { borrowAmount } = this.previewLeverageUp(newLeverage, borrow);
|
|
554
548
|
switch (type) {
|
|
555
549
|
case 'simple': {
|
|
556
|
-
const { action, quote } = await setup_1.chain_config[setup_1.setup_config.chain].dexAgg.quoteAction(manager.address, borrow.asset.address, this.asset.address,
|
|
550
|
+
const { action, quote } = await setup_1.chain_config[setup_1.setup_config.chain].dexAgg.quoteAction(manager.address, borrow.asset.address, this.asset.address, FormatConverter_1.default.decimalToBigInt(borrowAmount, borrow.asset.decimals), slippage);
|
|
557
551
|
calldata = manager.getLeverageCalldata({
|
|
558
552
|
borrowableCToken: borrow.address,
|
|
559
|
-
borrowAssets:
|
|
553
|
+
borrowAssets: FormatConverter_1.default.decimalToBigInt(borrowAmount, borrow.asset.decimals),
|
|
560
554
|
cToken: this.address,
|
|
561
555
|
expectedShares: BigInt(quote.min_out),
|
|
562
556
|
swapAction: action,
|
|
563
557
|
auxData: "0x",
|
|
564
|
-
},
|
|
558
|
+
}, FormatConverter_1.default.bpsToBpsWad(slippage));
|
|
565
559
|
break;
|
|
566
560
|
}
|
|
561
|
+
case 'native-vault':
|
|
567
562
|
case 'vault': {
|
|
568
563
|
calldata = manager.getLeverageCalldata({
|
|
569
564
|
borrowableCToken: borrow.address,
|
|
570
|
-
borrowAssets:
|
|
571
|
-
cToken: this.address,
|
|
572
|
-
expectedShares: await PositionManager_1.PositionManager.getVaultExpectedShares(this, borrow, borrowAmount),
|
|
573
|
-
swapAction: PositionManager_1.PositionManager.emptySwapAction(),
|
|
574
|
-
auxData: "0x",
|
|
575
|
-
}, (0, helpers_1.fromBpsToWad)(slippage));
|
|
576
|
-
break;
|
|
577
|
-
}
|
|
578
|
-
case 'native-vault': {
|
|
579
|
-
calldata = manager.getLeverageCalldata({
|
|
580
|
-
borrowableCToken: borrow.address,
|
|
581
|
-
borrowAssets: borrow.convertTokenInput(borrowAmount),
|
|
565
|
+
borrowAssets: FormatConverter_1.default.decimalToBigInt(borrowAmount, borrow.asset.decimals),
|
|
582
566
|
cToken: this.address,
|
|
583
567
|
expectedShares: await PositionManager_1.PositionManager.getVaultExpectedShares(this, borrow, borrowAmount),
|
|
584
568
|
swapAction: PositionManager_1.PositionManager.emptySwapAction(),
|
|
585
569
|
auxData: "0x",
|
|
586
|
-
},
|
|
570
|
+
}, FormatConverter_1.default.bpsToBpsWad(slippage));
|
|
587
571
|
break;
|
|
588
572
|
}
|
|
589
573
|
default: throw new Error("Unsupported position manager type");
|
|
@@ -614,7 +598,7 @@ class CToken extends Calldata_1.Calldata {
|
|
|
614
598
|
repayAssets: BigInt(minRepay),
|
|
615
599
|
swapActions: [action],
|
|
616
600
|
auxData: "0x",
|
|
617
|
-
},
|
|
601
|
+
}, FormatConverter_1.default.bpsToBpsWad(slippage));
|
|
618
602
|
break;
|
|
619
603
|
}
|
|
620
604
|
default: throw new Error("Unsupported position manager type");
|
|
@@ -626,49 +610,38 @@ class CToken extends Calldata_1.Calldata {
|
|
|
626
610
|
}
|
|
627
611
|
async depositAndLeverage(depositAmount, borrow, leverageTarget, type, slippage_ = (0, decimal_js_1.default)(0.005)) {
|
|
628
612
|
depositAmount = await this.ensureUnderlyingAmount(depositAmount, 'none');
|
|
629
|
-
const signer = (0, helpers_1.validateProviderAsSigner)(this.provider);
|
|
630
613
|
const slippage = (0, helpers_1.toBps)(slippage_);
|
|
631
614
|
const manager = this.getPositionManager(type);
|
|
632
615
|
let calldata;
|
|
633
|
-
const { borrowAmount } = this.previewLeverageUp(leverageTarget, borrow, this.
|
|
616
|
+
const { borrowAmount } = this.previewLeverageUp(leverageTarget, borrow, this.convertTokenInputToShares(depositAmount));
|
|
634
617
|
switch (type) {
|
|
635
618
|
case 'simple': {
|
|
636
|
-
const { action, quote } = await setup_1.chain_config[setup_1.setup_config.chain].dexAgg.quoteAction(manager.address, borrow.asset.address, this.asset.address,
|
|
637
|
-
calldata = manager.getDepositAndLeverageCalldata(
|
|
619
|
+
const { action, quote } = await setup_1.chain_config[setup_1.setup_config.chain].dexAgg.quoteAction(manager.address, borrow.asset.address, this.asset.address, FormatConverter_1.default.decimalToBigInt(borrowAmount, borrow.asset.decimals), slippage);
|
|
620
|
+
calldata = manager.getDepositAndLeverageCalldata(FormatConverter_1.default.decimalToBigInt(depositAmount, this.asset.decimals), {
|
|
638
621
|
borrowableCToken: borrow.address,
|
|
639
|
-
borrowAssets:
|
|
622
|
+
borrowAssets: FormatConverter_1.default.decimalToBigInt(borrowAmount, borrow.asset.decimals),
|
|
640
623
|
cToken: this.address,
|
|
641
624
|
expectedShares: await PositionManager_1.PositionManager.getExpectedShares(this, BigInt(quote.min_out)),
|
|
642
625
|
swapAction: action,
|
|
643
626
|
auxData: "0x",
|
|
644
|
-
},
|
|
627
|
+
}, FormatConverter_1.default.bpsToBpsWad(slippage));
|
|
645
628
|
break;
|
|
646
629
|
}
|
|
630
|
+
case 'native-vault':
|
|
647
631
|
case 'vault': {
|
|
648
|
-
calldata = manager.getDepositAndLeverageCalldata(
|
|
649
|
-
borrowableCToken: borrow.address,
|
|
650
|
-
borrowAssets: borrow.convertTokenInput(borrowAmount),
|
|
651
|
-
cToken: this.address,
|
|
652
|
-
expectedShares: await PositionManager_1.PositionManager.getVaultExpectedShares(this, borrow, borrowAmount),
|
|
653
|
-
swapAction: PositionManager_1.PositionManager.emptySwapAction(),
|
|
654
|
-
auxData: "0x",
|
|
655
|
-
}, (0, helpers_1.fromBpsToWad)(slippage));
|
|
656
|
-
break;
|
|
657
|
-
}
|
|
658
|
-
case 'native-vault': {
|
|
659
|
-
calldata = manager.getDepositAndLeverageCalldata(this.convertTokenInput(depositAmount), {
|
|
632
|
+
calldata = manager.getDepositAndLeverageCalldata(FormatConverter_1.default.decimalToBigInt(depositAmount, this.asset.decimals), {
|
|
660
633
|
borrowableCToken: borrow.address,
|
|
661
|
-
borrowAssets:
|
|
634
|
+
borrowAssets: FormatConverter_1.default.decimalToBigInt(borrowAmount, borrow.asset.decimals),
|
|
662
635
|
cToken: this.address,
|
|
663
636
|
expectedShares: await PositionManager_1.PositionManager.getVaultExpectedShares(this, borrow, borrowAmount),
|
|
664
637
|
swapAction: PositionManager_1.PositionManager.emptySwapAction(),
|
|
665
638
|
auxData: "0x",
|
|
666
|
-
},
|
|
639
|
+
}, FormatConverter_1.default.bpsToBpsWad(slippage));
|
|
667
640
|
break;
|
|
668
641
|
}
|
|
669
642
|
default: throw new Error("Unsupported position manager type");
|
|
670
643
|
}
|
|
671
|
-
await this._checkErc20Approval(this.asset.address,
|
|
644
|
+
await this._checkErc20Approval(this.asset.address, FormatConverter_1.default.decimalToBigInt(depositAmount, this.asset.decimals), manager.address);
|
|
672
645
|
await this._checkPositionManagerApproval(manager);
|
|
673
646
|
return this.oracleRoute(calldata, {
|
|
674
647
|
to: manager.address
|
|
@@ -715,16 +688,15 @@ class CToken extends Calldata_1.Calldata {
|
|
|
715
688
|
calldata_overrides = { value: assets, to: zapper.address };
|
|
716
689
|
break;
|
|
717
690
|
default:
|
|
718
|
-
throw new Error("This zap type is not supported: " +
|
|
691
|
+
throw new Error("This zap type is not supported: " + type_of_zap);
|
|
719
692
|
}
|
|
720
693
|
return { calldata, calldata_overrides, zapper };
|
|
721
694
|
}
|
|
722
695
|
async deposit(amount, zap = 'none', receiver = null) {
|
|
723
696
|
amount = await this.ensureUnderlyingAmount(amount, zap);
|
|
724
697
|
const signer = (0, helpers_1.validateProviderAsSigner)(this.provider);
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
const assets = this.convertTokenInput(amount);
|
|
698
|
+
receiver ??= signer.address;
|
|
699
|
+
const assets = FormatConverter_1.default.decimalToBigInt(amount, this.asset.decimals);
|
|
728
700
|
const zapType = typeof zap == 'object' ? zap.type : zap;
|
|
729
701
|
const isNative = zapType == 'native-simple' || zapType == 'native-vault' || zapType == 'none';
|
|
730
702
|
const default_calldata = this.getCallData("deposit", [assets, receiver]);
|
|
@@ -741,9 +713,8 @@ class CToken extends Calldata_1.Calldata {
|
|
|
741
713
|
async depositAsCollateral(amount, zap = 'none', receiver = null) {
|
|
742
714
|
amount = await this.ensureUnderlyingAmount(amount, zap);
|
|
743
715
|
const signer = (0, helpers_1.validateProviderAsSigner)(this.provider);
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
const assets = this.convertTokenInput(amount);
|
|
716
|
+
receiver ??= signer.address;
|
|
717
|
+
const assets = FormatConverter_1.default.decimalToBigInt(amount, this.asset.decimals);
|
|
747
718
|
const collateralCapError = "There is not enough collateral left in this tokens collateral cap for this deposit.";
|
|
748
719
|
const remainingCollateral = this.getRemainingCollateral(false);
|
|
749
720
|
if (remainingCollateral == 0n)
|
|
@@ -764,7 +735,7 @@ class CToken extends Calldata_1.Calldata {
|
|
|
764
735
|
const receiver = signer.address;
|
|
765
736
|
const owner = signer.address;
|
|
766
737
|
const max_shares = await this.maxRedemption(true);
|
|
767
|
-
const converted_shares = this.
|
|
738
|
+
const converted_shares = this.convertTokenInputToShares(amount);
|
|
768
739
|
const shares = max_shares < converted_shares ? max_shares : converted_shares;
|
|
769
740
|
const calldata = this.getCallData("redeem", [shares, receiver, owner]);
|
|
770
741
|
return this.oracleRoute(calldata);
|
|
@@ -794,6 +765,10 @@ class CToken extends Calldata_1.Calldata {
|
|
|
794
765
|
debtBalance: BigInt(snapshot.debtBalance)
|
|
795
766
|
};
|
|
796
767
|
}
|
|
768
|
+
convertTokensToUsd(tokenAmount, asset = true) {
|
|
769
|
+
const price = this.getPrice(asset, false, false);
|
|
770
|
+
return FormatConverter_1.default.bigIntTokensToUsd(tokenAmount, price, this.decimals);
|
|
771
|
+
}
|
|
797
772
|
async fetchConvertTokensToUsd(tokenAmount, asset = true) {
|
|
798
773
|
// Reload cache
|
|
799
774
|
await this.fetchPrice(asset);
|
|
@@ -804,10 +779,16 @@ class CToken extends Calldata_1.Calldata {
|
|
|
804
779
|
const price = this.getPrice(asset, lower);
|
|
805
780
|
return usdAmount.div(price);
|
|
806
781
|
}
|
|
807
|
-
|
|
808
|
-
const
|
|
809
|
-
const
|
|
810
|
-
return
|
|
782
|
+
convertAssetsToUsd(tokenAmount) {
|
|
783
|
+
const price = this.getPrice(true, false, false);
|
|
784
|
+
const decimals = this.decimals;
|
|
785
|
+
return FormatConverter_1.default.bigIntTokensToUsd(tokenAmount, price, decimals);
|
|
786
|
+
}
|
|
787
|
+
async convertSharesToUsd(tokenAmount) {
|
|
788
|
+
tokenAmount = await this.convertToShares(tokenAmount);
|
|
789
|
+
const price = this.getPrice(false, false, false);
|
|
790
|
+
const decimals = this.decimals;
|
|
791
|
+
return FormatConverter_1.default.bigIntTokensToUsd(tokenAmount, price, decimals);
|
|
811
792
|
}
|
|
812
793
|
buildMultiCallAction(calldata) {
|
|
813
794
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CToken.js","sourceRoot":"","sources":["../../src/classes/CToken.ts"],"names":[],"mappings":";;;;;;AACA,wCAAmO;AACnO,qDAAwG;AACxG,mCAAgC;AAEhC,yCAAsC;AACtC,4DAAiC;AACjC,8EAAsD;AAEtD,yCAAsC;AACtC,qCAAiE;AACjE,oCAAsD;AACtD,uDAA0E;AAE1E,+CAA4C;AAC5C,uCAAoC;AA6DpC,MAAa,MAAO,SAAQ,mBAAiB;IACzC,QAAQ,CAAoB;IAC5B,OAAO,CAAU;IACjB,QAAQ,CAAqB;IAC7B,GAAG,CAAM;IACT,KAAK,CAA2D;IAChE,MAAM,CAAS;IACf,QAAQ,GAAkB,EAAE,CAAC;IAC7B,aAAa,GAAa,EAAE,CAAC;IAC7B,OAAO,GAAY,KAAK,CAAC;IACzB,aAAa,GAAY,KAAK,CAAC;IAC/B,eAAe,GAAY,KAAK,CAAC;IAEjC,YACI,QAA2B,EAC3B,OAAgB,EAChB,KAA+D,EAC/D,MAAc;QAEd,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,QAAQ,GAAG,IAAA,uBAAa,EAAU,QAAQ,EAAE,OAAO,EAAE,yBAAe,CAAC,CAAC;QAC3E,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAErB,MAAM,YAAY,GAAG,IAAA,wBAAc,GAAE,CAAC;QACtC,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACpG,IAAI,CAAC,OAAO,GAAG,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACvF,IAAI,CAAC,eAAe,GAAG,YAAY,CAAC,cAAc,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;QAEzE,IAAG,IAAI,CAAC,aAAa;YAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC1D,IAAG,4BAA4B,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,IAAI,CAAC,aAAa;YAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACtH,IAAG,IAAI,CAAC,eAAe;YAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAE7D,IAAG,IAAI,CAAC,OAAO;YAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC7C,IAAG,sBAAsB,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO;YAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAEnG,IAAG,uBAAuB,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO;YAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACrF,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACjC,CAAC;IAED,IAAI,QAAQ,KAAK,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC9C,IAAI,YAAY,KAAK,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAA,CAAC,CAAC;IACrD,IAAI,uBAAuB,KAAK,OAAO,IAAI,CAAC,KAAK,CAAC,uBAAuB,CAAA,CAAC,CAAC;IAC3E,IAAI,UAAU,KAAK,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CAAA,CAAC,CAAC;IACjD,IAAI,aAAa,KAAK,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IAC3C,IAAI,QAAQ,KAAK,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC9C,IAAI,MAAM,KAAK,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IAC1C,IAAI,IAAI,KAAK,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IACtC,IAAI,KAAK,KAAK,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAA,CAAC,CAAC;IACvC,IAAI,YAAY,KAAK,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;IACtD,IAAI,YAAY,KAAK,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;IACtD,IAAI,MAAM,KAAK,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;IACjD,IAAI,WAAW,KAAK,OAAO,IAAA,oBAAO,EAAC,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,aAAG,CAAC,CAAC,CAAC,CAAC;IACnE,IAAI,WAAW,KAAK,OAAO,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;IAC3D,IAAI,gBAAgB;QAChB,IAAI,IAAI,CAAC,KAAK,CAAC,gBAAgB,IAAI,qBAAW;YAAE,OAAO,IAAI,CAAC;QAC5D,OAAO,IAAA,mBAAS,EAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE,GAAG,CAAC,CAAC;IACvD,CAAC;IAED,WAAW;QACP,IAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;YACxC,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC1G,OAAO,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC;IAC5C,CAAC;IAKD,sBAAsB,CAAC,YAAqB,IAAI;QAC5C,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;QAC9D,OAAO,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAQ,CAAC,CAAC,CAAC,IAAc,CAAC;IAC7E,CAAC;IAKD,gBAAgB,CAAC,YAAoB,IAAI;QACrC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;QAClD,OAAO,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAQ,CAAC,CAAC,CAAC,IAAc,CAAC;IAC7E,CAAC;IAKD,YAAY,CAAC,KAAc;QACvB,OAAO,KAAK,CAAC,CAAC,CAAC,IAAA,oBAAO,EAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,aAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;IACjF,CAAC;IAKD,cAAc,CAAC,KAAc;QACzB,OAAO,KAAK,CAAC,CAAC,CAAC,IAAA,oBAAO,EAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,aAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC;IACrF,CAAC;IAKD,cAAc,CAAC,KAAc;QACzB,OAAO,KAAK,CAAC,CAAC,CAAC,IAAA,oBAAO,EAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,aAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC;IACrF,CAAC;IAKD,aAAa,CAAC,KAAc;QACxB,OAAO,KAAK,CAAC,CAAC,CAAC,IAAA,oBAAO,EAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,aAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;IACnF,CAAC;IAKD,cAAc,CAAC,KAAc;QACzB,OAAO,KAAK,CAAC,CAAC,CAAC,IAAA,oBAAO,EAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,aAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC;IACrF,CAAC;IAKD,YAAY,CAAC,KAAc;QACvB,OAAO,KAAK,CAAC,CAAC,CAAC,IAAA,oBAAO,EAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,aAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;IACjF,CAAC;IAKD,YAAY,CAAC,KAAc;QACvB,OAAO,KAAK,CAAC,CAAC,CAAC,IAAA,oBAAO,EAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,aAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;IACjF,CAAC;IAKD,kBAAkB,CAAC,KAAc;QAC7B,OAAO,KAAK,CAAC,CAAC,CAAC,IAAA,oBAAO,EAAC,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,aAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC;IAC7F,CAAC;IAKD,mBAAmB,CAAC,KAAc;QAC9B,OAAO,KAAK,CAAC,CAAC,CAAC,IAAA,oBAAO,EAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,aAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC;IAC/F,CAAC;IAKD,iBAAiB,CAAC,KAAc;QAC5B,OAAO,KAAK,CAAC,CAAC,CAAC,IAAA,oBAAO,EAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,aAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC;IAC3F,CAAC;IAKD,iBAAiB,CAAC,KAAc;QAC5B,OAAO,KAAK,CAAC,CAAC,CAAC,IAAA,oBAAO,EAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,aAAG,CAAC,CAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC;IAC5F,CAAC;IAKD,mBAAmB,CAAC,KAAc;QAC9B,OAAO,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAA,mBAAS,EAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IACvI,CAAC;IAKD,mBAAmB,CAAC,KAAc;QAC9B,OAAO,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,IAAA,mBAAS,EAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACtI,CAAC;IAKD,wBAAwB,CAAC,KAAc;QACnC,OAAO,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,IAAA,mBAAS,EAAC,IAAI,CAAC,KAAK,CAAC,qBAAqB,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC1I,CAAC;IAKD,gBAAgB,CAAC,KAAc;QAC3B,OAAO,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC;IAChG,CAAC;IAKD,UAAU,CAAC,KAAc;QACrB,OAAO,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;IACpF,CAAC;IAKD,aAAa,CAAC,KAAc;QACxB,OAAO,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;IAC1F,CAAC;IAKD,OAAO,CAAC,KAAc;QAClB,OAAO,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;IAC9E,CAAC;IAKD,iBAAiB,CAAC,KAAc;QAC5B,OAAO,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;IACnI,CAAC;IAKD,KAAK,CAAC,mBAAmB,CAAC,YAAqB,KAAK;QAChD,MAAM,MAAM,GAAG,IAAA,kCAAwB,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACvD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,MAAM,CAAC,OAAkB,CAAC,CAAC;QACnF,IAAI,CAAC,KAAK,CAAC,cAAc,GAAG,UAAU,CAAC;QAEvC,OAAO,SAAS,CAAC,CAAC,CAAC,IAAA,mBAAS,EAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;IACzE,CAAC;IAKD,WAAW,CAAC,KAAc;QACtB,OAAO,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;IACtF,CAAC;IAED,UAAU,CAAC,MAAW,EAAE,QAAoB;QACxC,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAChC,MAAM,YAAY,GAAG,IAAA,wBAAc,EAAC,QAAQ,CAAC,CAAC;QAC9C,MAAM,YAAY,GAAG,IAAA,oBAAO,EAAC,IAAI,GAAG,YAAY,CAAC,CAAC,GAAG,CAAC,aAAG,CAAC,CAAC;QAC3D,OAAO,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IACpC,CAAC;IAED;;;OAGG;IACH,GAAG;QACC,OAAO,IAAA,oBAAO,EAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,aAAG,CAAe,CAAC;IAChE,CAAC;IAED,kBAAkB;QACd,IAAG,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACtC,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAC;QACjF,CAAC;QAED,OAAO,IAAI,iBAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;IAC5D,CAAC;IAID,KAAK,CAAC,aAAa,CAAC,OAAgB;QAChC,OAAO,OAAO,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IAC1H,CAAC;IAID,QAAQ,CAAC,OAAgB;QACrB,OAAO,OAAO,CAAC,CAAC,CAAC,IAAI,aAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAA;IACpH,CAAC;IAOD,QAAQ,CAAC,QAAiB,KAAK,EAAE,QAAiB,KAAK,EAAE,SAAS,GAAG,IAAI;QACrE,IAAI,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;QAClE,IAAG,KAAK,EAAE,CAAC;YACP,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC;QAC5E,CAAC;QAED,OAAO,SAAS,CAAC,CAAC,CAAC,IAAA,oBAAO,EAAC,KAAK,CAAC,CAAC,GAAG,CAAC,aAAG,CAAQ,CAAC,CAAC,CAAC,KAAgB,CAAC;IACzE,CAAC;IAKD,MAAM,CAAC,YAAY,GAAG,IAAI;QACtB,kCAAkC;QAClC,OAAO,YAAY,CAAC,CAAC,CAAC,IAAA,oBAAO,EAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,aAAG,CAAC,CAAC,GAAG,CAAC,0BAAgB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;IAChH,CAAC;IAID,MAAM,CAAC,KAAK,GAAG,IAAI;QACf,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC;QACnC,OAAO,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IACtD,CAAC;IAID,KAAK,CAAC,QAAQ,CAAC,KAAK,GAAG,IAAI;QACvB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QACrC,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,GAAG,CAAC;QAC7B,OAAO,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC1D,CAAC;IAID,kBAAkB,CAAC,KAAK,GAAG,IAAI;QAC3B,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;QAC9C,OAAO,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC;IAC9E,CAAC;IAID,KAAK,CAAC,oBAAoB,CAAC,KAAK,GAAG,IAAI;QACnC,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,sBAAsB,EAAE,CAAC;QACrE,OAAO,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC;IACnF,CAAC;IAED,kBAAkB,CAAC,IAA0B;QACzC,MAAM,MAAM,GAAG,IAAA,kCAAwB,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAEvD,IAAI,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC;QAEtE,IAAG,gBAAgB,IAAI,IAAI,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;QACnE,CAAC;QAED,OAAO,IAAI,iCAAe,CAAC,gBAAgB,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IAC/D,CAAC;IAED,SAAS,CAAC,IAAiB;QACvB,MAAM,MAAM,GAAG,IAAA,kCAAwB,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACvD,MAAM,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAE3D,IAAG,YAAY,IAAI,IAAI,EAAE,CAAC;YACtB,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,OAAO,IAAI,eAAM,CAAC,YAAY,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IAClD,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,YAAgC,EAAE,MAAc;QACrE,IAAG,YAAY,IAAI,MAAM,IAAI,OAAO,YAAY,IAAI,QAAQ,EAAE,CAAC;YAC3D,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,MAAM,MAAM,GAAG,IAAA,kCAAwB,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACvD,MAAM,KAAK,GAAI,IAAI,aAAK,CAAC,MAAM,EAAE,YAAY,CAAC,UAAU,CAAC,CAAC;QAC1D,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAElE,MAAM,SAAS,GAAG,MAAM,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,OAAkB,EAAE,MAAO,CAAC,CAAC;QAC5E,MAAM,UAAU,GAAG,SAAS,IAAI,MAAM,CAAC;QAEvC,IAAG,CAAC,UAAU,EAAE,CAAC;YACb,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,WAAW,EAAE,CAAC;YACzC,MAAM,IAAI,KAAK,CAAC,UAAU,MAAM,yCAAyC,MAAM,EAAE,CAAC,CAAC;QACvF,CAAC;QAED,OAAO,UAAU,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,YAAgC,EAAE,MAAyB;QAC7E,IAAG,YAAY,IAAI,MAAM,IAAI,OAAO,YAAY,IAAI,QAAQ,EAAE,CAAC;YAC3D,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;QACnE,CAAC;QACD,MAAM,MAAM,GAAG,IAAA,kCAAwB,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACvD,MAAM,KAAK,GAAI,IAAI,aAAK,CAAC,MAAM,EAAE,YAAY,CAAC,UAAU,CAAC,CAAC;QAC1D,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAElE,OAAO,KAAK,CAAC,OAAO,CAAC,MAAO,EAAE,MAAM,CAAC,CAAC;IAC1C,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,MAA0C,EAAE,IAAiB;QAChF,IAAG,MAAM,IAAI,MAAM,EAAE,CAAC;YAClB,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,MAAM,MAAM,GAAG,IAAA,kCAAwB,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACvD,MAAM,cAAc,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAE3D,IAAG,cAAc,IAAI,IAAI,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;QACnE,CAAC;QAED,OAAO,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,OAAkB,EAAE,cAAc,CAAC,CAAC;IAC/E,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,MAA0C,EAAE,IAAiB;QAC7E,MAAM,cAAc,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAE3D,IAAG,cAAc,IAAI,IAAI,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;QACnE,CAAC;QAED,OAAO,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;IACnE,CAAC;IAED,gBAAgB,CAAC,MAA0C,EAAE,IAAiB;QAC1E,QAAO,IAAI,EAAE,CAAC;YACV,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACZ,IAAG,MAAM,IAAI,MAAM;oBAAE,OAAO,IAAI,CAAC;gBACjC,IAAG,CAAC,yBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;oBAC/B,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;gBAClE,CAAC;gBAED,MAAM,WAAW,GAAG,yBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBACjD,IAAG,CAAC,WAAW,IAAI,CAAC,oBAAY,CAAC,SAAS,CAAC,OAAO,IAAI,CAAC,CAAC,WAAW,IAAI,oBAAY,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;oBACrG,MAAM,IAAI,KAAK,CAAC,UAAU,WAAW,uBAAuB,CAAC,CAAC;gBAClE,CAAC;gBAED,OAAO,oBAAY,CAAC,SAAS,CAAC,OAAO,CAAC,WAAW,CAAY,CAAC;YAClE,CAAC;YAED,KAAK,iBAAiB,CAAC,CAAC,CAAC;gBACrB,QAAO,MAAM,EAAE,CAAC;oBACZ,KAAK,OAAO,CAAC,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,oBAA+B,CAAC;oBACzE,KAAK,cAAc,CAAC,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,0BAAqC,CAAC;oBACtF,KAAK,QAAQ,CAAC,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,qBAAgC,CAAC;oBAC3E,OAAO,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;gBAC9D,CAAC;YACL,CAAC;YAED,OAAO,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;QACxD,CAAC;IACL,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,cAAuB,EAAE,UAAU,GAAG,IAAI;QACzD,MAAM,MAAM,GAAG,IAAA,kCAAwB,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACvD,MAAM,KAAK,GAAG,IAAI,aAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACvF,MAAM,SAAS,GAAG,MAAM,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,OAAkB,EAAE,cAAc,CAAC,CAAC;QACnF,OAAO,SAAS,CAAC;IACrB,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,iBAAiB,CAAC,SAA4B,IAAI,EAAE,SAAyB,IAAI;QACnF,MAAM,KAAK,GAAG,IAAI,aAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC3D,MAAM,EAAE,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACvE,OAAO,EAAE,CAAC;IACd,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,SAA4B,IAAI,EAAE,OAAgB;QAC5D,MAAM,KAAK,GAAG,IAAI,aAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QACrD,MAAM,EAAE,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAChD,OAAO,EAAE,CAAC;IACd,CAAC;IAED,KAAK,CAAC,aAAa;QACf,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;QAChD,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAC/B,OAAO,QAAQ,CAAC;IACpB,CAAC;IAED,KAAK,CAAC,iBAAiB;QACnB,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC;QACrD,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,SAAS,CAAC;QACpC,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,UAAU;QACZ,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QAC1C,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC;QACjC,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,sBAAsB;QACxB,OAAO,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,WAAW;QACb,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;QAC5C,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;QAC3B,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,SAAS;QACX,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QACxC,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;QACvB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,KAAK,GAAG,KAAK,EAAE,QAAQ,GAAG,KAAK,EAAE,KAAK,GAAG,IAAI;QAC1D,MAAM,eAAe,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;QAClE,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,eAAe,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;QAE1F,IAAG,QAAQ,EAAE,CAAC;YACV,IAAI,CAAC,KAAK,CAAC,eAAe,GAAG,KAAK,CAAC;QACvC,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC;QAClC,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,WAAW;QACb,OAAO,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;IACvC,CAAC;IAED,KAAK,CAAC,WAAW;QACb,OAAO,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;IACvC,CAAC;IAED,KAAK,CAAC,eAAe;QACjB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC;QAChD,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC;QAC/B,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,sBAAsB;QACxB,OAAO,IAAI,CAAC,QAAQ,CAAC,sBAAsB,EAAE,CAAC;IAClD,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,OAAgB;QAC5B,OAAO,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IAC5C,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,QAAiB;QAC9B,OAAO,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,QAAiB,EAAE,MAAkB;QAChD,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAC1D,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IACpD,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,MAAe,EAAE,WAA2B,IAAI,EAAE,QAAwB,IAAI;QACjG,MAAM,MAAM,GAAG,IAAA,kCAAwB,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACvD,IAAG,QAAQ,IAAI,IAAI;YAAE,QAAQ,GAAG,MAAM,CAAC,OAAkB,CAAC;QAC1D,IAAG,KAAK,IAAI,IAAI;YAAE,KAAK,GAAG,MAAM,CAAC,OAAkB,CAAC;QAEpD,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAC1D,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,kBAAkB,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;QACjF,OAAO,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IACtC,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,MAAkB;QACnC,MAAM,MAAM,GAAG,IAAA,kCAAwB,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACvD,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAC1D,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAkB,CAAC,CAAC;QAChE,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;QACpD,MAAM,gBAAgB,GAAG,OAAO,GAAG,UAAU,CAAC;QAC9C,MAAM,UAAU,GAAG,gBAAgB,GAAG,MAAM,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,MAAM,CAAC;QAEzE,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,gBAAgB,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;QAClE,MAAM,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAEtC,0CAA0C;QAC1C,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAEjC,OAAO,EAAE,CAAC;IACd,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,GAAuB;QACvC,MAAM,MAAM,GAAG,IAAA,kCAAwB,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACvD,IAAI,KAA0B,CAAC;QAE/B,IAAG,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;YACzB,IAAG,GAAG,CAAC,IAAI,KAAK,cAAc,IAAI,GAAG,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;gBAC7D,KAAK,GAAG,IAAI,yBAAW,CAAC,oBAAY,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC/D,CAAC;iBAAM,CAAC;gBACJ,KAAK,GAAG,IAAI,aAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;YACrD,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,QAAQ,GAAG,EAAE,CAAC;gBACV,KAAK,MAAM;oBAAE,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;oBAAC,MAAM;gBAChD,KAAK,OAAO;oBAAE,KAAK,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;oBAAC,MAAM;gBAC5D,KAAK,cAAc;oBAAE,KAAK,GAAG,IAAI,yBAAW,CAAC,oBAAY,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;oBAAC,MAAM;gBACvF,KAAK,eAAe;oBAAE,KAAK,GAAG,IAAI,yBAAW,CAAC,oBAAY,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;oBAAC,MAAM;gBACxF,OAAO,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;YACvE,CAAC;QACL,CAAC;QAED,OAAO,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,OAAkB,EAAE,KAAK,CAAC,CAAC;IAC7D,CAAC;IAED,uBAAuB;IACvB,KAAK,CAAC,sBAAsB,CAAC,MAAkB,EAAE,GAAuB;QACpE,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;QAE9C,IAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,GAAG,OAAO,EAAE,CAAC;YAC1C,OAAO,CAAC,IAAI,CAAC,8GAA8G,EAAE;gBACzH,GAAG,EAAE,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,GAAG,OAAO;gBAC7C,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC;aAC1E,CAAC,CAAC;YACH,OAAO,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QACvC,CAAC;QAED,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,MAAkB;QACrC,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAC1D,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;QACxD,MAAM,UAAU,GAAG,cAAc,GAAG,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC;QAErE,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,kBAAkB,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;QACpE,MAAM,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAEtC,0CAA0C;QAC1C,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAEjC,OAAO,EAAE,CAAC;IACd,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,MAAc;QAChC,OAAO,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;IACjD,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,MAAc;QAChC,OAAO,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;IACjD,CAAC;IAKD,KAAK,CAAC,aAAa,CAAC,YAAqB,KAAK;QAC1C,MAAM,MAAM,GAAG,IAAA,kCAAwB,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACvD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,OAAkB,EAAE,IAAI,CAAC,CAAC;QAEvF,IAAG,IAAI,CAAC,YAAY,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,wEAAwE,CAAC,CAAC;QAC9F,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,yBAAyB,CAAC;QAEjF,IAAG,SAAS;YAAE,OAAO,UAAU,CAAC;QAEhC,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;QAC1D,OAAO,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,IAAI,CAAe,CAAC;IAC9D,CAAC;IAED,aAAa,CAAC,MAAc,EAAE,QAAQ,GAAG,KAAK,EAAE,iBAAiB,GAAG,KAAK;QACrE,MAAM,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;QAChE,MAAM,UAAU,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,aAAG,CAAC,CAAC,CAAC,MAAM,CAAC;QACnF,OAAO,IAAA,mBAAS,EAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IAC3C,CAAC;IAED,iBAAiB,CAAC,MAAkB,EAAE,QAAQ,GAAG,KAAK,EAAE,iBAAiB,GAAG,KAAK;QAC7E,MAAM,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;QAChE,MAAM,SAAS,GAAG,IAAA,kBAAQ,EAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAE7C,OAAO,iBAAiB,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,aAAG,CAAC,CAAC,CAAC,SAAS,CAAC;IACjF,CAAC;IAED,uEAAuE;IACvE,KAAK,CAAC,gBAAgB,CAAC,SAAwB,IAAI;QAC/C,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,MAAM,GAAe,CAAC;gBACtB,SAAS,EAAE,UAAU;gBACrB,IAAI,EAAE,MAAM;aACf,CAAC,CAAC;QACH,IAAI,cAAc,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC;QAE9D,IAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;YACxC,MAAM,CAAC,IAAI,CAAC;gBACR,SAAS,EAAE,IAAI,yBAAW,CAAC,oBAAY,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC;gBAC7D,IAAI,EAAE,cAAc;aACvB,CAAC,CAAC;YACH,cAAc,CAAC,IAAI,CAAC,uBAAa,CAAC,CAAC;YACnC,cAAc,CAAC,IAAI,CAAC,wBAAc,CAAC,CAAC;QACxC,CAAC;QAED,IAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;YACzC,MAAM,CAAC,IAAI,CAAC;gBACR,SAAS,EAAE,IAAI,yBAAW,CAAC,oBAAY,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC;gBAC7D,IAAI,EAAE,eAAe;aACxB,CAAC,CAAC;YAEH,IAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;gBACzC,cAAc,CAAC,IAAI,CAAC,uBAAa,CAAC,CAAC;gBACnC,cAAc,CAAC,IAAI,CAAC,wBAAc,CAAC,CAAC;YACxC,CAAC;QACL,CAAC;QAED,IAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YACjC,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YACnD,MAAM,CAAC,IAAI,CAAC;gBACR,SAAS,EAAE,WAAW;gBACtB,IAAI,EAAE,OAAO;aAChB,CAAC,CAAC;YACH,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC;QACjE,CAAC;QAED,IAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YAClC,IAAI,YAAY,GAAG,MAAM,oBAAY,CAAC,oBAAY,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YAC3G,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,CAAC;QAChI,CAAC;QAED,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,wBAAwB,CAAC,MAAkB;QAC7C,MAAM,MAAM,GAAG,IAAA,kCAAwB,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACvD,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAC1D,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,wBAAwB,CAC9C,MAAM,CAAC,OAAkB,EACzB,IAAI,EACJ,MAAM,CACT,CAAA;IACL,CAAC;IAED,iBAAiB,CAAC,WAAoB,EAAE,MAAwB,EAAE,aAAsB;QACpF,MAAM,eAAe,GAAG,IAAI,CAAC,WAAW,EAAE,IAAI,IAAA,oBAAO,EAAC,CAAC,CAAC,CAAC;QACzD,IAAG,WAAW,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;QACvE,CAAC;QAED,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAChG,MAAM,eAAe,GAAG,IAAI,CAAC,kBAAkB,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;QACxE,MAAM,kBAAkB,GAAG,eAAe,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAC5D,MAAM,OAAO,GAAG,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QAClF,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC1C,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAC9C,MAAM,aAAa,GAAG,IAAI,CAAC,kBAAkB,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;QAEzE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC;IACpD,CAAC;IAED,mBAAmB,CAAC,WAAoB,EAAE,eAAwB;QAC9D,IAAG,WAAW,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;QACvE,CAAC;QAED,MAAM,YAAY,GAAG,IAAA,oBAAO,EAAC,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC;QACtE,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC;QAClD,MAAM,qBAAqB,GAAG,eAAe,GAAG,IAAI,CAAC,YAAY,GAAG,aAAG,CAAC;QACxE,MAAM,wBAAwB,GAAG,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QAE5F,OAAO,EAAE,wBAAwB,EAAE,YAAY,EAAE,CAAC;IACtD,CAAC;IAED,KAAK,CAAC,UAAU,CACZ,MAAwB,EACxB,WAAoB,EACpB,IAA0B,EAC1B,YAAwB,IAAA,oBAAO,EAAC,KAAK,CAAC;QAEtC,MAAM,MAAM,GAAG,IAAA,kCAAwB,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACvD,MAAM,QAAQ,GAAG,IAAA,eAAK,EAAC,SAAS,CAAC,CAAC;QAClC,MAAM,OAAO,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAE9C,IAAI,QAAe,CAAC;QACpB,MAAM,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QAErE,QAAO,IAAI,EAAE,CAAC;YACV,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACZ,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,oBAAY,CAAC,oBAAY,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,WAAW,CAC/E,OAAO,CAAC,OAAO,EACf,MAAM,CAAC,KAAK,CAAC,OAAO,EACpB,IAAI,CAAC,KAAK,CAAC,OAAO,EAClB,MAAM,CAAC,iBAAiB,CAAC,YAAY,EAAE,KAAK,CAAC,EAC7C,QAAQ,CACX,CAAC;gBAEF,QAAQ,GAAG,OAAO,CAAC,mBAAmB,CAClC;oBACI,gBAAgB,EAAE,MAAM,CAAC,OAAO;oBAChC,YAAY,EAAM,MAAM,CAAC,iBAAiB,CAAC,YAAY,CAAC;oBACxD,MAAM,EAAY,IAAI,CAAC,OAAO;oBAC9B,cAAc,EAAI,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC;oBACvC,UAAU,EAAQ,MAAM;oBACxB,OAAO,EAAW,IAAI;iBACzB,EACD,IAAA,sBAAY,EAAC,QAAQ,CAAC,CAAC,CAAC;gBAC5B,MAAM;YACV,CAAC;YAGD,KAAK,OAAO,CAAC,CAAC,CAAC;gBACX,QAAQ,GAAG,OAAO,CAAC,mBAAmB,CAClC;oBACI,gBAAgB,EAAE,MAAM,CAAC,OAAO;oBAChC,YAAY,EAAM,MAAM,CAAC,iBAAiB,CAAC,YAAY,CAAC;oBACxD,MAAM,EAAY,IAAI,CAAC,OAAO;oBAC9B,cAAc,EAAI,MAAM,iCAAe,CAAC,sBAAsB,CAC1D,IAAI,EACJ,MAAM,EACN,YAAY,CACf;oBACD,UAAU,EAAQ,iCAAe,CAAC,eAAe,EAAE;oBACnD,OAAO,EAAW,IAAI;iBACzB,EACD,IAAA,sBAAY,EAAC,QAAQ,CAAC,CAAC,CAAC;gBAC5B,MAAM;YACV,CAAC;YAED,KAAK,cAAc,CAAC,CAAC,CAAC;gBAClB,QAAQ,GAAG,OAAO,CAAC,mBAAmB,CAClC;oBACI,gBAAgB,EAAE,MAAM,CAAC,OAAO;oBAChC,YAAY,EAAM,MAAM,CAAC,iBAAiB,CAAC,YAAY,CAAC;oBACxD,MAAM,EAAY,IAAI,CAAC,OAAO;oBAC9B,cAAc,EAAI,MAAM,iCAAe,CAAC,sBAAsB,CAC1D,IAAI,EACJ,MAAM,EACN,YAAY,CACf;oBACD,UAAU,EAAQ,iCAAe,CAAC,eAAe,EAAE;oBACnD,OAAO,EAAW,IAAI;iBACzB,EACD,IAAA,sBAAY,EAAC,QAAQ,CAAC,CAAC,CAAC;gBAC5B,MAAM;YACV,CAAC;YAED,OAAO,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;QAClE,CAAC;QAED,MAAM,IAAI,CAAC,6BAA6B,CAAC,OAAO,CAAC,CAAC;QAClD,OAAO,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE;YAC9B,EAAE,EAAE,OAAO,CAAC,OAAO;SACtB,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,YAAY,CACd,WAA6B,EAC7B,eAAwB,EACxB,WAAoB,EACpB,IAA0B,EAC1B,YAAwB,IAAA,oBAAO,EAAC,KAAK,CAAC;QAEtC,IAAG,WAAW,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;QACvE,CAAC;QAED,MAAM,MAAM,GAAG,IAAA,wBAAc,GAAE,CAAC;QAChC,MAAM,MAAM,GAAG,IAAA,kCAAwB,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACvD,MAAM,QAAQ,GAAG,IAAA,eAAK,EAAC,SAAS,CAAC,CAAC;QAClC,MAAM,OAAO,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAC9C,IAAI,QAAe,CAAC;QAEpB,MAAM,EAAE,wBAAwB,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC,mBAAmB,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;QAE1G,QAAO,IAAI,EAAE,CAAC;YACV,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACZ,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,WAAW,CACrD,OAAO,CAAC,OAAO,EACf,IAAI,CAAC,KAAK,CAAC,OAAO,EAClB,WAAW,CAAC,KAAK,CAAC,OAAO,EACzB,wBAAwB,EACxB,QAAQ,CACX,CAAC;gBAEF,MAAM,QAAQ,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,IAAA,oBAAO,EAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAE3G,QAAQ,GAAG,OAAO,CAAC,qBAAqB,CAAC;oBACrC,MAAM,EAAE,IAAI,CAAC,OAAO;oBACpB,gBAAgB,EAAE,wBAAwB;oBAC1C,gBAAgB,EAAE,WAAW,CAAC,OAAO;oBACrC,WAAW,EAAE,MAAM,CAAC,QAAQ,CAAC;oBAC7B,WAAW,EAAE,CAAE,MAAM,CAAE;oBACvB,OAAO,EAAE,IAAI;iBAChB,EAAE,IAAA,sBAAY,EAAC,QAAQ,CAAC,CAAC,CAAC;gBAE3B,MAAM;YACV,CAAC;YAED,OAAO,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;QAClE,CAAC;QAGD,MAAM,IAAI,CAAC,6BAA6B,CAAC,OAAO,CAAC,CAAC;QAClD,OAAO,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE;YAC9B,EAAE,EAAE,OAAO,CAAC,OAAO;SACtB,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,kBAAkB,CACpB,aAAyB,EACzB,MAAwB,EACxB,cAAuB,EACvB,IAA0B,EAC1B,YAAwB,IAAA,oBAAO,EAAC,KAAK,CAAC;QAEtC,aAAa,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;QACzE,MAAM,MAAM,GAAG,IAAA,kCAAwB,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACvD,MAAM,QAAQ,GAAG,IAAA,eAAK,EAAC,SAAS,CAAC,CAAC;QAClC,MAAM,OAAO,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAE9C,IAAI,QAAe,CAAC;QACpB,MAAM,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC,iBAAiB,CAC3C,cAAc,EACd,MAAM,EACN,IAAI,CAAC,iBAAiB,CAAC,aAAa,EAAE,IAAI,EAAE,IAAI,CAAC,CACpD,CAAC;QAEF,QAAO,IAAI,EAAE,CAAC;YACV,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACX,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,oBAAY,CAAC,oBAAY,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,WAAW,CAChF,OAAO,CAAC,OAAO,EACf,MAAM,CAAC,KAAK,CAAC,OAAO,EACpB,IAAI,CAAC,KAAK,CAAC,OAAO,EAClB,MAAM,CAAC,iBAAiB,CAAC,YAAY,CAAC,EACtC,QAAQ,CACX,CAAC;gBAEF,QAAQ,GAAG,OAAO,CAAC,6BAA6B,CAC5C,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,EACrC;oBACI,gBAAgB,EAAE,MAAM,CAAC,OAAO;oBAChC,YAAY,EAAE,MAAM,CAAC,iBAAiB,CAAC,YAAY,CAAC;oBACpD,MAAM,EAAE,IAAI,CAAC,OAAO;oBACpB,cAAc,EAAE,MAAM,iCAAe,CAAC,iBAAiB,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;oBACpF,UAAU,EAAE,MAAM;oBAClB,OAAO,EAAE,IAAI;iBAChB,EACD,IAAA,sBAAY,EAAC,QAAQ,CAAC,CAAC,CAAC;gBAC5B,MAAM;YACV,CAAC;YAED,KAAK,OAAO,CAAC,CAAC,CAAC;gBACX,QAAQ,GAAG,OAAO,CAAC,6BAA6B,CAC5C,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,EACrC;oBACI,gBAAgB,EAAE,MAAM,CAAC,OAAO;oBAChC,YAAY,EAAE,MAAM,CAAC,iBAAiB,CAAC,YAAY,CAAC;oBACpD,MAAM,EAAE,IAAI,CAAC,OAAO;oBACpB,cAAc,EAAE,MAAM,iCAAe,CAAC,sBAAsB,CACxD,IAAI,EACJ,MAAM,EACN,YAAY,CACf;oBACD,UAAU,EAAE,iCAAe,CAAC,eAAe,EAAE;oBAC7C,OAAO,EAAE,IAAI;iBAChB,EACD,IAAA,sBAAY,EAAC,QAAQ,CAAC,CAAC,CAAC;gBAC5B,MAAM;YACV,CAAC;YAED,KAAK,cAAc,CAAC,CAAC,CAAC;gBAClB,QAAQ,GAAG,OAAO,CAAC,6BAA6B,CAC5C,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,EACrC;oBACI,gBAAgB,EAAE,MAAM,CAAC,OAAO;oBAChC,YAAY,EAAE,MAAM,CAAC,iBAAiB,CAAC,YAAY,CAAC;oBACpD,MAAM,EAAE,IAAI,CAAC,OAAO;oBACpB,cAAc,EAAE,MAAM,iCAAe,CAAC,sBAAsB,CACxD,IAAI,EACJ,MAAM,EACN,YAAY,CACf;oBACD,UAAU,EAAE,iCAAe,CAAC,eAAe,EAAE;oBAC7C,OAAO,EAAE,IAAI;iBAChB,EACD,IAAA,sBAAY,EAAC,QAAQ,CAAC,CAAC,CAAC;gBAC5B,MAAM;YACV,CAAC;YAED,OAAO,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;QAClE,CAAC;QAED,MAAM,IAAI,CAAC,mBAAmB,CAC1B,IAAI,CAAC,KAAK,CAAC,OAAO,EAClB,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,EACrC,OAAO,CAAC,OAAO,CAClB,CAAC;QACF,MAAM,IAAI,CAAC,6BAA6B,CAAC,OAAO,CAAC,CAAC;QAClD,OAAO,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE;YAC9B,EAAE,EAAE,OAAO,CAAC,OAAO;SACtB,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,MAAc,EAAE,GAAuB,EAAE,aAAa,GAAG,KAAK,EAAE,gBAAwB;QAC9F,IAAI,QAAe,CAAC;QACpB,IAAI,kBAAkB,GAAG,EAAE,CAAC;QAC5B,IAAI,QAAQ,GAAW,EAAE,CAAC;QAC1B,IAAI,UAAU,GAAmB,IAAI,CAAC;QACtC,IAAI,WAAwB,CAAC;QAE7B,IAAG,OAAO,GAAG,IAAI,QAAQ,EAAE,CAAC;YACxB,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,aAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;YACpD,UAAU,GAAG,GAAG,CAAC,UAAU,CAAC;YAC5B,WAAW,GAAG,GAAG,CAAC,IAAI,CAAC;QAC3B,CAAC;aAAM,CAAC;YACJ,WAAW,GAAG,GAAG,CAAC;QACtB,CAAC;QAGD,IAAI,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QACzC,IAAG,MAAM,IAAI,IAAI,EAAE,CAAC;YAChB,IAAG,WAAW,IAAI,MAAM,EAAE,CAAC;gBACvB,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;YACzE,CAAC;YAED,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;QAC5E,CAAC;QAED,QAAO,WAAW,EAAE,CAAC;YACjB,KAAK,QAAQ;gBACT,IAAG,UAAU,IAAI,IAAI;oBAAE,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;gBACtF,QAAQ,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;gBACpH,kBAAkB,GAAG,EAAE,EAAE,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC;gBAC5C,MAAM;YACV,KAAK,OAAO;gBACR,QAAQ,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC;gBACzE,kBAAkB,GAAG,EAAE,EAAE,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC;gBAC5C,MAAM;YACV,KAAK,cAAc;gBACf,QAAQ,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC;gBAC1E,kBAAkB,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC;gBAC3D,MAAM;YACV,KAAK,eAAe;gBAChB,QAAQ,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,IAAI,CAAC,CAAC;gBAChF,kBAAkB,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC;gBAC3D,MAAM;YACV;gBACI,MAAM,IAAI,KAAK,CAAC,kCAAkC,GAAG,GAAG,CAAC,CAAC;QAClE,CAAC;QAED,OAAO,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,EAAE,CAAC;IACpD,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,MAAkB,EAAE,MAA0B,MAAM,EAAE,WAA2B,IAAI;QAC/F,MAAM,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QACxD,MAAM,MAAM,GAAG,IAAA,kCAAwB,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACvD,IAAG,QAAQ,IAAI,IAAI;YAAE,QAAQ,GAAG,MAAM,CAAC,OAAkB,CAAC;QAC1D,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,OAAO,GAAG,IAAI,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC;QACxD,MAAM,QAAQ,GAAG,OAAO,IAAI,eAAe,IAAI,OAAO,IAAI,cAAc,IAAI,OAAO,IAAI,MAAM,CAAC;QAE9F,MAAM,gBAAgB,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;QACzE,MAAM,EAAE,QAAQ,EAAE,kBAAkB,EAAE,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,gBAAgB,CAAC,CAAC;QAE9F,IAAG,QAAQ,EAAE,CAAC;YACV,MAAM,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;QAC3C,CAAC;aAAM,CAAC;YACJ,MAAM,IAAI,CAAC,kBAAkB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;YAC3C,MAAM,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAE,CAAC,CAAC;QAC9D,CAAC;QAED,OAAO,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC;IAC1D,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,MAAe,EAAE,MAA0B,MAAM,EAAG,WAA2B,IAAI;QACzG,MAAM,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QACxD,MAAM,MAAM,GAAG,IAAA,kCAAwB,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACvD,IAAG,QAAQ,IAAI,IAAI;YAAE,QAAQ,GAAG,MAAM,CAAC,OAAkB,CAAC;QAC1D,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAE9C,MAAM,kBAAkB,GAAG,qFAAqF,CAAC;QACjH,MAAM,mBAAmB,GAAG,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC;QAC/D,IAAG,mBAAmB,IAAI,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;QAClE,IAAG,mBAAmB,GAAG,EAAE,EAAE,CAAC;YAC1B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;YAClD,IAAG,MAAM,GAAG,mBAAmB,EAAE,CAAC;gBAC9B,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;YACxC,CAAC;QACL,CAAC;QAED,MAAM,gBAAgB,GAAG,IAAI,CAAC,WAAW,CAAC,qBAAqB,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;QACrF,MAAM,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,gBAAgB,CAAC,CAAC;QAErG,MAAM,IAAI,CAAC,sBAAsB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAClD,OAAO,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC;IAC1D,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,MAAkB;QAC3B,MAAM,MAAM,GAAK,IAAA,kCAAwB,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACzD,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAkB,CAAC;QAC3C,MAAM,KAAK,GAAM,MAAM,CAAC,OAAkB,CAAC;QAE3C,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAClD,MAAM,gBAAgB,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QACpE,MAAM,MAAM,GAAG,UAAU,GAAG,gBAAgB,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,gBAAgB,CAAC;QAE7E,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;QACvE,OAAO,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IACtC,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,MAAc;QAC7B,MAAM,MAAM,GAAG,IAAA,kCAAwB,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACvD,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAkB,CAAC;QAC3C,MAAM,KAAK,GAAG,MAAM,CAAC,OAAkB,CAAC;QAExC,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;QACvE,OAAO,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IACtC,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,UAA0B,IAAI;QACjD,IAAG,CAAC,OAAO;YAAE,OAAO,GAAG,IAAA,kCAAwB,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAkB,CAAC;QAClF,OAAO,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;IACnD,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,KAAwB;QACpC,OAAO,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAC1C,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,OAAgB;QAC9B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAC1D,OAAO;YACH,KAAK,EAAE,QAAQ,CAAC,KAAK;YACrB,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC;YACnC,YAAY,EAAE,QAAQ,CAAC,YAAY;YACnC,gBAAgB,EAAE,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC;YACnD,WAAW,EAAE,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC;SAC5C,CAAA;IACL,CAAC;IAED,KAAK,CAAC,uBAAuB,CAAC,WAAmB,EAAE,KAAK,GAAG,IAAI;QAC3D,eAAe;QACf,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAC7B,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QAE3B,OAAO,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IACvD,CAAC;IAED,kBAAkB,CAAC,SAAc,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG,KAAK;QAC1D,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC1C,OAAO,SAAS,CAAC,GAAG,CAAC,KAAK,CAAe,CAAC;IAC9C,CAAC;IAED,kBAAkB,CAAC,WAAmB,EAAE,KAAK,GAAG,IAAI,EAAE,iBAAiB,GAAG,KAAK;QAC3E,MAAM,UAAU,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,aAAG,CAAC,CAAC,CAAC,WAAW,CAAC;QAC7F,MAAM,kBAAkB,GAAG,IAAA,mBAAS,EAAC,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC9F,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;IACxD,CAAC;IAED,oBAAoB,CAAC,QAAe;QAChC,OAAO;YACH,MAAM,EAAE,IAAI,CAAC,OAAO;YACpB,aAAa,EAAE,KAAK;YACpB,IAAI,EAAE,QAAQ;SACE,CAAC;IACzB,CAAC;IAEO,KAAK,CAAC,6BAA6B,CAAC,OAAwB;QAChE,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC;QAChF,IAAI,CAAC,UAAU,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,mBAAmB,OAAO,CAAC,OAAO,wBAAwB,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QAC7F,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,oBAAoB,CAAC,MAAc;QAC7C,IAAG,CAAC,oBAAY,CAAC,mBAAmB,EAAE,CAAC;YACnC,OAAO;QACX,CAAC;QAED,IAAI,oBAAY,CAAC,mBAAmB,IAAI,MAAM,EAAE,CAAC;YAC7C,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC1E,IAAI,CAAC,cAAc,EAAE,CAAC;gBAClB,MAAM,IAAI,KAAK,CAAC,sBAAsB,MAAM,CAAC,IAAI,8BAA8B,IAAI,CAAC,MAAM,kBAAkB,CAAC,CAAC;YAClH,CAAC;QACL,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,mBAAmB,CAAC,aAAsB,EAAE,MAAc,EAAE,OAAgB;QACtF,MAAM,MAAM,GAAG,IAAA,kCAAwB,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACvD,MAAM,KAAK,GAAG,IAAI,aAAK,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;QAC/C,MAAM,SAAS,GAAG,MAAM,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,OAAkB,EAAE,OAAO,CAAC,CAAC;QAC5E,IAAG,SAAS,GAAG,MAAM,EAAE,CAAC;YACpB,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,WAAW,EAAE,CAAC;YACzC,MAAM,IAAI,KAAK,CAAC,kBAAkB,MAAM,QAAQ,OAAO,KAAK,MAAM,EAAE,CAAC,CAAC;QAC1E,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,mBAAmB,CAAC,MAAc;QAC5C,IAAG,CAAC,oBAAY,CAAC,mBAAmB,EAAE,CAAC;YACnC,OAAO;QACX,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAClC,MAAM,KAAK,GAAG,IAAA,kCAAwB,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAkB,CAAC;QACzE,MAAM,SAAS,GAAG,MAAM,KAAK,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAC7D,IAAG,SAAS,GAAG,MAAM,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,sBAAsB,KAAK,CAAC,MAAM,cAAc,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QACnF,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,sBAAsB,CAAC,MAAqB,EAAE,MAAc;QACtE,IAAG,CAAC,oBAAY,CAAC,mBAAmB,EAAE,CAAC;YACnC,OAAO;QACX,CAAC;QAED,IAAG,MAAM,EAAE,CAAC;YACR,MAAM,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;QAC5C,CAAC;QAED,MAAM,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,QAAe,EAAE,WAAmC,EAAE;QACpE,MAAM,MAAM,GAAG,IAAA,kCAAwB,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACvD,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QAEnD,IAAG,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1B,MAAM,YAAY,GAAG,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;YACzD,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,CAAC,GAAG,aAAa,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;QACjF,CAAC;QAED,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC1D,MAAM,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,OAAkB,CAAC,CAAC;QAE5D,OAAO,EAAE,CAAC;IACd,CAAC;IAED,KAAK,CAAC,eAAe;QACjB,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QAE5D,IAAI,aAAa,GAAG,EAAE,CAAC;QACvB,IAAG,aAAa,CAAC,QAAQ,CAAC,6BAAY,CAAC,aAAa,CAAC,EAAE,CAAC;YACpD,MAAM,QAAQ,GAAG,MAAM,mBAAQ,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;YAC3D,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACjC,CAAC;QAED,OAAO,aAAa,CAAC;IACzB,CAAC;CACJ;AA5rCD,wBA4rCC"}
|
|
1
|
+
{"version":3,"file":"CToken.js","sourceRoot":"","sources":["../../src/classes/CToken.ts"],"names":[],"mappings":";;;;;;AACA,wCAA2M;AAC3M,qDAAwG;AACxG,mCAAgC;AAEhC,yCAAsC;AACtC,4DAAiC;AACjC,8EAAsD;AAEtD,yCAAsC;AACtC,qCAAiE;AACjE,oCAAsD;AACtD,uDAA0E;AAE1E,+CAA4C;AAC5C,uCAAoC;AAEpC,wEAAgD;AA4DhD,MAAa,MAAO,SAAQ,mBAAiB;IACzC,QAAQ,CAAoB;IAC5B,OAAO,CAAU;IACjB,QAAQ,CAAqB;IAC7B,GAAG,CAAM;IACT,KAAK,CAA2D;IAChE,MAAM,CAAS;IACf,QAAQ,GAAkB,EAAE,CAAC;IAC7B,aAAa,GAAa,EAAE,CAAC;IAC7B,OAAO,GAAY,KAAK,CAAC;IACzB,aAAa,GAAY,KAAK,CAAC;IAC/B,eAAe,GAAY,KAAK,CAAC;IAEjC,YACI,QAA2B,EAC3B,OAAgB,EAChB,KAA+D,EAC/D,MAAc;QAEd,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,QAAQ,GAAG,IAAA,uBAAa,EAAU,QAAQ,EAAE,OAAO,EAAE,yBAAe,CAAC,CAAC;QAC3E,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAErB,MAAM,YAAY,GAAG,IAAA,wBAAc,GAAE,CAAC;QACtC,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACpG,IAAI,CAAC,OAAO,GAAG,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACvF,IAAI,CAAC,eAAe,GAAG,YAAY,CAAC,cAAc,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;QAEzE,sDAAsD;QACtD,IAAG,IAAI,CAAC,MAAM,IAAI,QAAQ,EAAE,CAAC;YACzB,OAAO;QACX,CAAC;QAED,6DAA6D;QAC7D,yHAAyH;QACzH,gEAAgE;QAEhE,gDAAgD;QAChD,sGAAsG;QAEtG,wFAAwF;QACxF,gCAAgC;IACpC,CAAC;IAED,IAAI,QAAQ,KAAK,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC9C,IAAI,YAAY,KAAK,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAA,CAAC,CAAC;IACrD,IAAI,uBAAuB,KAAK,OAAO,IAAI,CAAC,KAAK,CAAC,uBAAuB,CAAA,CAAC,CAAC;IAC3E,IAAI,UAAU,KAAK,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CAAA,CAAC,CAAC;IACjD,IAAI,aAAa,KAAK,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IAC3C,IAAI,QAAQ,KAAK,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC9C,IAAI,MAAM,KAAK,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IAC1C,IAAI,IAAI,KAAK,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IACtC,IAAI,KAAK,KAAK,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAA,CAAC,CAAC;IACvC,IAAI,YAAY,KAAK,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;IACtD,IAAI,YAAY,KAAK,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;IACtD,IAAI,MAAM,KAAK,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;IACjD,IAAI,WAAW,KAAK,OAAO,IAAA,oBAAO,EAAC,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,aAAG,CAAC,CAAC,CAAC,CAAC;IACnE,IAAI,WAAW,KAAK,OAAO,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;IAC3D,IAAI,WAAW,KAAK,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC;IACpD,IAAI,WAAW,KAAK,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC;IACpD,IAAI,gBAAgB;QAChB,IAAI,IAAI,CAAC,KAAK,CAAC,gBAAgB,IAAI,qBAAW;YAAE,OAAO,IAAI,CAAC;QAC5D,OAAO,IAAA,mBAAS,EAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE,GAAG,CAAC,CAAC;IACvD,CAAC;IAED,sBAAsB,CAAC,MAAc;QACjC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;IAC1D,CAAC;IAED,sBAAsB,CAAC,MAAc;QACjC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;IAC1D,CAAC;IAED,WAAW;QACP,IAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;YACxC,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC1G,OAAO,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC;IAC5C,CAAC;IAKD,sBAAsB,CAAC,YAAqB,IAAI;QAC5C,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;QAC9D,OAAO,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC5D,CAAC;IAKD,gBAAgB,CAAC,YAAoB,IAAI;QACrC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;QAClD,OAAO,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC5D,CAAC;IAKD,YAAY,CAAC,KAAc;QACvB,OAAO,KAAK,CAAC,CAAC,CAAC,IAAA,oBAAO,EAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,aAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;IACjF,CAAC;IAKD,cAAc,CAAC,KAAc;QACzB,OAAO,KAAK,CAAC,CAAC,CAAC,IAAA,oBAAO,EAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,aAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC;IACrF,CAAC;IAKD,cAAc,CAAC,KAAc;QACzB,OAAO,KAAK,CAAC,CAAC,CAAC,IAAA,oBAAO,EAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,aAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC;IACrF,CAAC;IAKD,aAAa,CAAC,KAAc;QACxB,OAAO,KAAK,CAAC,CAAC,CAAC,IAAA,oBAAO,EAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,aAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;IACnF,CAAC;IAKD,cAAc,CAAC,KAAc;QACzB,OAAO,KAAK,CAAC,CAAC,CAAC,IAAA,oBAAO,EAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,aAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC;IACrF,CAAC;IAKD,YAAY,CAAC,KAAc;QACvB,OAAO,KAAK,CAAC,CAAC,CAAC,IAAA,oBAAO,EAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,aAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;IACjF,CAAC;IAKD,YAAY,CAAC,KAAc;QACvB,OAAO,KAAK,CAAC,CAAC,CAAC,IAAA,oBAAO,EAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,aAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;IACjF,CAAC;IAKD,kBAAkB,CAAC,KAAc;QAC7B,OAAO,KAAK,CAAC,CAAC,CAAC,IAAA,oBAAO,EAAC,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,aAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC;IAC7F,CAAC;IAKD,mBAAmB,CAAC,KAAc;QAC9B,OAAO,KAAK,CAAC,CAAC,CAAC,IAAA,oBAAO,EAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,aAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC;IAC/F,CAAC;IAKD,iBAAiB,CAAC,KAAc;QAC5B,OAAO,KAAK,CAAC,CAAC,CAAC,IAAA,oBAAO,EAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,aAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC;IAC3F,CAAC;IAKD,iBAAiB,CAAC,KAAc;QAC5B,OAAO,KAAK,CAAC,CAAC,CAAC,IAAA,oBAAO,EAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,aAAG,CAAC,CAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC;IAC5F,CAAC;IAKD,mBAAmB,CAAC,KAAc;QAC9B,OAAO,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAA,mBAAS,EAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IACvI,CAAC;IAKD,mBAAmB,CAAC,KAAc;QAC9B,OAAO,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,IAAA,mBAAS,EAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACtI,CAAC;IAKD,wBAAwB,CAAC,KAAc;QACnC,OAAO,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,IAAA,mBAAS,EAAC,IAAI,CAAC,KAAK,CAAC,qBAAqB,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC1I,CAAC;IAKD,gBAAgB,CAAC,KAAc;QAC3B,OAAO,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC;IAChG,CAAC;IAKD,UAAU,CAAC,KAAc;QACrB,OAAO,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;IACpF,CAAC;IAKD,aAAa,CAAC,KAAc;QACxB,OAAO,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;IAC1F,CAAC;IAKD,OAAO,CAAC,KAAc;QAClB,OAAO,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;IAC9E,CAAC;IAKD,iBAAiB,CAAC,KAAc;QAC5B,OAAO,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,yBAAe,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IACzJ,CAAC;IAKD,KAAK,CAAC,mBAAmB,CAAC,YAAqB,KAAK;QAChD,MAAM,MAAM,GAAG,IAAA,kCAAwB,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACvD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,MAAM,CAAC,OAAkB,CAAC,CAAC;QACnF,IAAI,CAAC,KAAK,CAAC,cAAc,GAAG,UAAU,CAAC;QAEvC,OAAO,SAAS,CAAC,CAAC,CAAC,IAAA,mBAAS,EAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;IACzE,CAAC;IAKD,WAAW,CAAC,KAAc;QACtB,OAAO,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;IACtF,CAAC;IAED,UAAU,CAAC,MAAW,EAAE,QAAoB;QACxC,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAChC,MAAM,YAAY,GAAG,IAAA,wBAAc,EAAC,QAAQ,CAAC,CAAC;QAC9C,MAAM,YAAY,GAAG,IAAA,oBAAO,EAAC,IAAI,GAAG,YAAY,CAAC,CAAC,GAAG,CAAC,aAAG,CAAC,CAAC;QAC3D,OAAO,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IACpC,CAAC;IAED;;;OAGG;IACH,GAAG;QACC,OAAO,IAAA,oBAAO,EAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,aAAG,CAAC,CAAC;IAClD,CAAC;IAED,kBAAkB;QACd,IAAG,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACtC,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAC;QACjF,CAAC;QAED,OAAO,IAAI,iBAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;IAC5D,CAAC;IAID,KAAK,CAAC,aAAa,CAAC,OAAgB;QAChC,OAAO,OAAO,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IAC1H,CAAC;IAID,QAAQ,CAAC,OAAgB;QACrB,OAAO,OAAO,CAAC,CAAC,CAAC,IAAI,aAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAA;IACpH,CAAC;IAOD,QAAQ,CAAC,QAAiB,KAAK,EAAE,QAAiB,KAAK,EAAE,SAAS,GAAG,IAAI;QACrE,IAAI,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;QAClE,IAAG,KAAK,EAAE,CAAC;YACP,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC;QAC5E,CAAC;QAED,OAAO,SAAS,CAAC,CAAC,CAAC,IAAA,oBAAO,EAAC,KAAK,CAAC,CAAC,GAAG,CAAC,aAAG,CAAC,CAAA,CAAC,CAAC,KAAK,CAAC;IACtD,CAAC;IAKD,MAAM,CAAC,YAAY,GAAG,IAAI;QACtB,kCAAkC;QAClC,OAAO,YAAY,CAAC,CAAC,CAAC,IAAA,oBAAO,EAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,aAAG,CAAC,CAAC,GAAG,CAAC,0BAAgB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;IAChH,CAAC;IAID,MAAM,CAAC,KAAK,GAAG,IAAI;QACf,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC;QACnC,OAAO,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IACtD,CAAC;IAID,KAAK,CAAC,QAAQ,CAAC,KAAK,GAAG,IAAI;QACvB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC1C,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,GAAG,CAAC;QAC7B,OAAO,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC1D,CAAC;IAID,kBAAkB,CAAC,KAAK,GAAG,IAAI;QAC3B,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;QAC9C,OAAO,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC;IAC9E,CAAC;IAID,KAAK,CAAC,oBAAoB,CAAC,KAAK,GAAG,IAAI;QACnC,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,sBAAsB,EAAE,CAAC;QACrE,OAAO,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC;IACnF,CAAC;IAED,kBAAkB,CAAC,IAA0B;QACzC,MAAM,MAAM,GAAG,IAAA,kCAAwB,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAEvD,IAAI,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC;QAEtE,IAAG,gBAAgB,IAAI,IAAI,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;QACnE,CAAC;QAED,OAAO,IAAI,iCAAe,CAAC,gBAAgB,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IAC/D,CAAC;IAED,SAAS,CAAC,IAAiB;QACvB,MAAM,MAAM,GAAG,IAAA,kCAAwB,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACvD,MAAM,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAE3D,IAAG,YAAY,IAAI,IAAI,EAAE,CAAC;YACtB,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,OAAO,IAAI,eAAM,CAAC,YAAY,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IAClD,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,YAAgC,EAAE,MAAc;QACrE,IAAG,YAAY,IAAI,MAAM,IAAI,OAAO,YAAY,IAAI,QAAQ,EAAE,CAAC;YAC3D,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,MAAM,MAAM,GAAG,IAAA,kCAAwB,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACvD,MAAM,KAAK,GAAI,IAAI,aAAK,CAAC,MAAM,EAAE,YAAY,CAAC,UAAU,CAAC,CAAC;QAC1D,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAElE,MAAM,SAAS,GAAG,MAAM,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,OAAkB,EAAE,MAAO,CAAC,CAAC;QAC5E,MAAM,UAAU,GAAG,SAAS,IAAI,MAAM,CAAC;QAEvC,IAAG,CAAC,UAAU,EAAE,CAAC;YACb,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,WAAW,EAAE,CAAC;YACzC,MAAM,IAAI,KAAK,CAAC,UAAU,MAAM,yCAAyC,MAAM,EAAE,CAAC,CAAC;QACvF,CAAC;QAED,OAAO,UAAU,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,YAAgC,EAAE,MAAyB;QAC7E,IAAG,YAAY,IAAI,MAAM,IAAI,OAAO,YAAY,IAAI,QAAQ,EAAE,CAAC;YAC3D,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;QACnE,CAAC;QACD,MAAM,MAAM,GAAG,IAAA,kCAAwB,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACvD,MAAM,KAAK,GAAI,IAAI,aAAK,CAAC,MAAM,EAAE,YAAY,CAAC,UAAU,CAAC,CAAC;QAC1D,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAElE,OAAO,KAAK,CAAC,OAAO,CAAC,MAAO,EAAE,MAAM,CAAC,CAAC;IAC1C,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,MAA0C,EAAE,IAAiB;QAChF,IAAG,MAAM,IAAI,MAAM,EAAE,CAAC;YAClB,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,MAAM,MAAM,GAAG,IAAA,kCAAwB,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACvD,MAAM,cAAc,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAE3D,IAAG,cAAc,IAAI,IAAI,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;QACnE,CAAC;QAED,OAAO,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,OAAkB,EAAE,cAAc,CAAC,CAAC;IAC/E,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,MAA0C,EAAE,IAAiB;QAC7E,MAAM,cAAc,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAE3D,IAAG,cAAc,IAAI,IAAI,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;QACnE,CAAC;QAED,OAAO,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;IACnE,CAAC;IAED,gBAAgB,CAAC,MAA0C,EAAE,IAAiB;QAC1E,QAAO,IAAI,EAAE,CAAC;YACV,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACZ,IAAG,MAAM,IAAI,MAAM;oBAAE,OAAO,IAAI,CAAC;gBACjC,IAAG,CAAC,yBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;oBAC/B,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;gBAClE,CAAC;gBAED,MAAM,WAAW,GAAG,yBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBACjD,IAAG,CAAC,WAAW,IAAI,CAAC,oBAAY,CAAC,SAAS,CAAC,OAAO,IAAI,CAAC,CAAC,WAAW,IAAI,oBAAY,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;oBACrG,MAAM,IAAI,KAAK,CAAC,UAAU,WAAW,uBAAuB,CAAC,CAAC;gBAClE,CAAC;gBAED,OAAO,oBAAY,CAAC,SAAS,CAAC,OAAO,CAAC,WAAW,CAAY,CAAC;YAClE,CAAC;YAED,KAAK,iBAAiB,CAAC,CAAC,CAAC;gBACrB,QAAO,MAAM,EAAE,CAAC;oBACZ,KAAK,OAAO,CAAC,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,oBAA+B,CAAC;oBACzE,KAAK,cAAc,CAAC,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,0BAAqC,CAAC;oBACtF,KAAK,QAAQ,CAAC,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,qBAAgC,CAAC;oBAC3E,OAAO,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;gBAC9D,CAAC;YACL,CAAC;YAED,OAAO,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;QACxD,CAAC;IACL,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,cAAuB,EAAE,UAAU,GAAG,IAAI;QACzD,MAAM,MAAM,GAAG,IAAA,kCAAwB,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACvD,MAAM,KAAK,GAAG,IAAI,aAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACvF,MAAM,SAAS,GAAG,MAAM,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,OAAkB,EAAE,cAAc,CAAC,CAAC;QACnF,OAAO,SAAS,CAAC;IACrB,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,iBAAiB,CAAC,SAA4B,IAAI,EAAE,SAAyB,IAAI;QACnF,MAAM,KAAK,GAAG,IAAI,aAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC3D,MAAM,EAAE,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACvE,OAAO,EAAE,CAAC;IACd,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,SAA4B,IAAI,EAAE,OAAgB;QAC5D,MAAM,KAAK,GAAG,IAAI,aAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QACrD,MAAM,EAAE,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAChD,OAAO,EAAE,CAAC;IACd,CAAC;IAED,KAAK,CAAC,aAAa;QACf,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;QAChD,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAC/B,OAAO,QAAQ,CAAC;IACpB,CAAC;IAED,KAAK,CAAC,iBAAiB;QACnB,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC;QACrD,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,SAAS,CAAC;QACpC,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,UAAU;QACZ,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QAC1C,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC;QACjC,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,sBAAsB;QACxB,OAAO,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,WAAW;QACb,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;QAC5C,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;QAC3B,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,SAAS;QACX,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QACxC,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;QACvB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,KAAK,GAAG,KAAK,EAAE,QAAQ,GAAG,KAAK,EAAE,KAAK,GAAG,IAAI;QAC1D,MAAM,eAAe,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;QAClE,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,eAAe,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;QAE1F,IAAG,QAAQ,EAAE,CAAC;YACV,IAAI,CAAC,KAAK,CAAC,eAAe,GAAG,KAAK,CAAC;QACvC,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC;QAClC,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,gBAAgB;QAClB,OAAO,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;IACvC,CAAC;IAED,KAAK,CAAC,gBAAgB;QAClB,OAAO,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;IACvC,CAAC;IAED,KAAK,CAAC,eAAe;QACjB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC;QAChD,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC;QAC/B,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,sBAAsB;QACxB,OAAO,IAAI,CAAC,QAAQ,CAAC,sBAAsB,EAAE,CAAC;IAClD,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,OAAgB;QAC5B,OAAO,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IAC5C,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,QAAiB;QAC9B,OAAO,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,QAAiB,EAAE,MAAkB;QAChD,MAAM,MAAM,GAAG,IAAI,CAAC,yBAAyB,CAAC,MAAM,CAAC,CAAC;QACtD,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IACpD,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,MAAe,EAAE,WAA2B,IAAI,EAAE,QAAwB,IAAI;QACjG,MAAM,MAAM,GAAG,IAAA,kCAAwB,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACvD,QAAQ,KAAK,MAAM,CAAC,OAAkB,CAAC;QACvC,KAAK,KAAK,MAAM,CAAC,OAAkB,CAAC;QAEpC,MAAM,MAAM,GAAG,IAAI,CAAC,yBAAyB,CAAC,MAAM,CAAC,CAAC;QACtD,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,kBAAkB,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;QACjF,OAAO,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IACtC,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,MAAkB;QACnC,MAAM,MAAM,GAAG,IAAA,kCAAwB,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACvD,MAAM,MAAM,GAAG,IAAI,CAAC,yBAAyB,CAAC,MAAM,CAAC,CAAC;QACtD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAkB,CAAC,CAAC;QAChE,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;QACpD,MAAM,gBAAgB,GAAG,OAAO,GAAG,UAAU,CAAC;QAC9C,MAAM,UAAU,GAAG,gBAAgB,GAAG,MAAM,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,MAAM,CAAC;QAEzE,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,gBAAgB,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;QAClE,MAAM,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAEtC,0CAA0C;QAC1C,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAEjC,OAAO,EAAE,CAAC;IACd,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,GAAuB;QACvC,MAAM,MAAM,GAAG,IAAA,kCAAwB,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACvD,IAAI,KAA0B,CAAC;QAE/B,IAAG,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;YACzB,IAAG,GAAG,CAAC,IAAI,KAAK,cAAc,IAAI,GAAG,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;gBAC7D,KAAK,GAAG,IAAI,yBAAW,CAAC,oBAAY,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC/D,CAAC;iBAAM,CAAC;gBACJ,KAAK,GAAG,IAAI,aAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;YACrD,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,QAAQ,GAAG,EAAE,CAAC;gBACV,KAAK,MAAM;oBAAE,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;oBAAC,MAAM;gBAChD,KAAK,OAAO;oBAAE,KAAK,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;oBAAC,MAAM;gBAC5D,KAAK,cAAc;oBAAE,KAAK,GAAG,IAAI,yBAAW,CAAC,oBAAY,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;oBAAC,MAAM;gBACvF,KAAK,eAAe;oBAAE,KAAK,GAAG,IAAI,yBAAW,CAAC,oBAAY,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;oBAAC,MAAM;gBACxF,OAAO,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;YACvE,CAAC;QACL,CAAC;QAED,OAAO,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,OAAkB,EAAE,KAAK,CAAC,CAAC;IAC7D,CAAC;IAED,uBAAuB;IACvB,KAAK,CAAC,sBAAsB,CAAC,MAAkB,EAAE,GAAuB;QACpE,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;QAC9C,MAAM,MAAM,GAAG,yBAAe,CAAC,eAAe,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAE5E,IAAG,MAAM,GAAG,OAAO,EAAE,CAAC;YAClB,OAAO,CAAC,IAAI,CAAC,8GAA8G,EAAE;gBACzH,GAAG,EAAE,MAAM,GAAG,OAAO;gBACrB,SAAS,EAAE,yBAAe,CAAC,eAAe,CAAC,MAAM,GAAG,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;aACpF,CAAC,CAAC;YAEH,OAAO,yBAAe,CAAC,eAAe,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACzE,CAAC;QAED,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,MAAkB;QACrC,MAAM,MAAM,GAAG,IAAI,CAAC,yBAAyB,CAAC,MAAM,CAAC,CAAC;QACtD,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;QACxD,MAAM,UAAU,GAAG,cAAc,GAAG,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC;QAErE,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,kBAAkB,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;QACpE,MAAM,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAEtC,0CAA0C;QAC1C,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAEjC,OAAO,EAAE,CAAC;IACd,CAAC;IAED,yBAAyB,CAAC,MAAkB;QACxC,OAAO,IAAI,CAAC,sBAAsB,CAC9B,yBAAe,CAAC,eAAe,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAC/D,CAAC;IACN,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,MAAc;QAChC,OAAO,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;IACjD,CAAC;IAKD,KAAK,CAAC,aAAa,CAAC,YAAqB,KAAK;QAC1C,MAAM,MAAM,GAAG,IAAA,kCAAwB,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACvD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,OAAkB,EAAE,IAAI,CAAC,CAAC;QAEvF,IAAG,IAAI,CAAC,YAAY,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,wEAAwE,CAAC,CAAC;QAC9F,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,yBAAyB,CAAC;QAEjF,IAAG,SAAS;YAAE,OAAO,UAAU,CAAC;QAEhC,MAAM,UAAU,GAAG,IAAI,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAC;QAC3D,OAAO,yBAAe,CAAC,eAAe,CAAC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC5E,CAAC;IAED,uEAAuE;IACvE,KAAK,CAAC,gBAAgB,CAAC,SAAwB,IAAI;QAC/C,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,MAAM,GAAe,CAAC;gBACtB,SAAS,EAAE,UAAU;gBACrB,IAAI,EAAE,MAAM;aACf,CAAC,CAAC;QACH,IAAI,cAAc,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC;QAE9D,IAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;YACxC,MAAM,CAAC,IAAI,CAAC;gBACR,SAAS,EAAE,IAAI,yBAAW,CAAC,oBAAY,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC;gBAC7D,IAAI,EAAE,cAAc;aACvB,CAAC,CAAC;YACH,cAAc,CAAC,IAAI,CAAC,uBAAa,EAAE,wBAAc,CAAC,CAAC;QACvD,CAAC;QAED,IAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;YACzC,MAAM,CAAC,IAAI,CAAC;gBACR,SAAS,EAAE,IAAI,yBAAW,CAAC,oBAAY,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC;gBAC7D,IAAI,EAAE,eAAe;aACxB,CAAC,CAAC;YAEH,IAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;gBACzC,cAAc,CAAC,IAAI,CAAC,uBAAa,EAAE,wBAAc,CAAC,CAAC;YACvD,CAAC;QACL,CAAC;QAED,IAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YACjC,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YACnD,MAAM,CAAC,IAAI,CAAC;gBACR,SAAS,EAAE,WAAW;gBACtB,IAAI,EAAE,OAAO;aAChB,CAAC,CAAC;YACH,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC;QACjE,CAAC;QAED,IAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YAClC,IAAI,YAAY,GAAG,MAAM,oBAAY,CAAC,oBAAY,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YAC3G,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,CAAC;QAChI,CAAC;QAED,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,wBAAwB,CAAC,MAAkB;QAC7C,MAAM,MAAM,GAAG,IAAA,kCAAwB,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACvD,MAAM,MAAM,GAAG,IAAI,CAAC,yBAAyB,CAAC,MAAM,CAAC,CAAC;QACtD,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,wBAAwB,CAC9C,MAAM,CAAC,OAAkB,EACzB,IAAI,EACJ,MAAM,CACT,CAAA;IACL,CAAC;IAED,iBAAiB,CAAC,WAAoB,EAAE,MAAwB,EAAE,aAAsB;QACpF,MAAM,eAAe,GAAG,IAAI,CAAC,WAAW,EAAE,IAAI,IAAA,oBAAO,EAAC,CAAC,CAAC,CAAC;QACzD,IAAG,WAAW,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;QACvE,CAAC;QAED,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAChG,MAAM,eAAe,GAAG,IAAI,CAAC,kBAAkB,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;QACxE,MAAM,kBAAkB,GAAG,eAAe,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAC5D,MAAM,OAAO,GAAG,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QAClF,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC1C,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAC9C,MAAM,aAAa,GAAG,IAAI,CAAC,kBAAkB,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;QAEzE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC;IACpD,CAAC;IAED,mBAAmB,CAAC,WAAoB,EAAE,eAAwB;QAC9D,IAAG,WAAW,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;QACvE,CAAC;QAED,MAAM,YAAY,GAAG,IAAA,oBAAO,EAAC,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC;QACtE,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC;QAClD,MAAM,qBAAqB,GAAG,eAAe,GAAG,IAAI,CAAC,YAAY,GAAG,aAAG,CAAC;QACxE,MAAM,wBAAwB,GAAG,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QAE5F,OAAO,EAAE,wBAAwB,EAAE,YAAY,EAAE,CAAC;IACtD,CAAC;IAED,KAAK,CAAC,UAAU,CACZ,MAAwB,EACxB,WAAoB,EACpB,IAA0B,EAC1B,YAAwB,IAAA,oBAAO,EAAC,KAAK,CAAC;QAEtC,IAAA,kCAAwB,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACxC,MAAM,QAAQ,GAAG,yBAAe,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;QAC5D,MAAM,OAAO,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAE9C,IAAI,QAAe,CAAC;QACpB,MAAM,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QAErE,QAAO,IAAI,EAAE,CAAC;YACV,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACZ,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,oBAAY,CAAC,oBAAY,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,WAAW,CAC/E,OAAO,CAAC,OAAO,EACf,MAAM,CAAC,KAAK,CAAC,OAAO,EACpB,IAAI,CAAC,KAAK,CAAC,OAAO,EAClB,yBAAe,CAAC,eAAe,CAAC,YAAY,EAAE,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,EACpE,QAAQ,CACX,CAAC;gBAEF,QAAQ,GAAG,OAAO,CAAC,mBAAmB,CAClC;oBACI,gBAAgB,EAAE,MAAM,CAAC,OAAO;oBAChC,YAAY,EAAM,yBAAe,CAAC,eAAe,CAAC,YAAY,EAAE,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC;oBACtF,MAAM,EAAY,IAAI,CAAC,OAAO;oBAC9B,cAAc,EAAI,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC;oBACvC,UAAU,EAAQ,MAAM;oBACxB,OAAO,EAAW,IAAI;iBACzB,EACD,yBAAe,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAC3C,MAAM;YACV,CAAC;YAED,KAAK,cAAc,CAAC;YACpB,KAAK,OAAO,CAAC,CAAC,CAAC;gBACX,QAAQ,GAAG,OAAO,CAAC,mBAAmB,CAClC;oBACI,gBAAgB,EAAE,MAAM,CAAC,OAAO;oBAChC,YAAY,EAAM,yBAAe,CAAC,eAAe,CAAC,YAAY,EAAE,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC;oBACtF,MAAM,EAAY,IAAI,CAAC,OAAO;oBAC9B,cAAc,EAAI,MAAM,iCAAe,CAAC,sBAAsB,CAC1D,IAAI,EACJ,MAAM,EACN,YAAY,CACf;oBACD,UAAU,EAAQ,iCAAe,CAAC,eAAe,EAAE;oBACnD,OAAO,EAAW,IAAI;iBACzB,EACD,yBAAe,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAC3C,MAAM;YACV,CAAC;YAED,OAAO,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;QAClE,CAAC;QAED,MAAM,IAAI,CAAC,6BAA6B,CAAC,OAAO,CAAC,CAAC;QAClD,OAAO,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE;YAC9B,EAAE,EAAE,OAAO,CAAC,OAAO;SACtB,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,YAAY,CACd,WAA6B,EAC7B,eAAwB,EACxB,WAAoB,EACpB,IAA0B,EAC1B,YAAwB,IAAA,oBAAO,EAAC,KAAK,CAAC;QAEtC,IAAG,WAAW,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;QACvE,CAAC;QAED,MAAM,MAAM,GAAG,IAAA,wBAAc,GAAE,CAAC;QAChC,MAAM,MAAM,GAAG,IAAA,kCAAwB,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACvD,MAAM,QAAQ,GAAG,IAAA,eAAK,EAAC,SAAS,CAAC,CAAC;QAClC,MAAM,OAAO,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAC9C,IAAI,QAAe,CAAC;QAEpB,MAAM,EAAE,wBAAwB,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC,mBAAmB,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;QAE1G,QAAO,IAAI,EAAE,CAAC;YACV,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACZ,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,WAAW,CACrD,OAAO,CAAC,OAAO,EACf,IAAI,CAAC,KAAK,CAAC,OAAO,EAClB,WAAW,CAAC,KAAK,CAAC,OAAO,EACzB,wBAAwB,EACxB,QAAQ,CACX,CAAC;gBAEF,MAAM,QAAQ,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,IAAA,oBAAO,EAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAE3G,QAAQ,GAAG,OAAO,CAAC,qBAAqB,CAAC;oBACrC,MAAM,EAAE,IAAI,CAAC,OAAO;oBACpB,gBAAgB,EAAE,wBAAwB;oBAC1C,gBAAgB,EAAE,WAAW,CAAC,OAAO;oBACrC,WAAW,EAAE,MAAM,CAAC,QAAQ,CAAC;oBAC7B,WAAW,EAAE,CAAE,MAAM,CAAE;oBACvB,OAAO,EAAE,IAAI;iBAChB,EAAE,yBAAe,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAE1C,MAAM;YACV,CAAC;YAED,OAAO,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;QAClE,CAAC;QAGD,MAAM,IAAI,CAAC,6BAA6B,CAAC,OAAO,CAAC,CAAC;QAClD,OAAO,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE;YAC9B,EAAE,EAAE,OAAO,CAAC,OAAO;SACtB,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,kBAAkB,CACpB,aAAyB,EACzB,MAAwB,EACxB,cAAuB,EACvB,IAA0B,EAC1B,YAAwB,IAAA,oBAAO,EAAC,KAAK,CAAC;QAEtC,aAAa,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;QACzE,MAAM,QAAQ,GAAG,IAAA,eAAK,EAAC,SAAS,CAAC,CAAC;QAClC,MAAM,OAAO,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAE9C,IAAI,QAAe,CAAC;QACpB,MAAM,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC,iBAAiB,CAC3C,cAAc,EACd,MAAM,EACN,IAAI,CAAC,yBAAyB,CAAC,aAAa,CAAC,CAChD,CAAC;QAEF,QAAO,IAAI,EAAE,CAAC;YACV,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACX,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,oBAAY,CAAC,oBAAY,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,WAAW,CAChF,OAAO,CAAC,OAAO,EACf,MAAM,CAAC,KAAK,CAAC,OAAO,EACpB,IAAI,CAAC,KAAK,CAAC,OAAO,EAClB,yBAAe,CAAC,eAAe,CAAC,YAAY,EAAE,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,EACpE,QAAQ,CACX,CAAC;gBAEF,QAAQ,GAAG,OAAO,CAAC,6BAA6B,CAC5C,yBAAe,CAAC,eAAe,CAAC,aAAa,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EACnE;oBACI,gBAAgB,EAAE,MAAM,CAAC,OAAO;oBAChC,YAAY,EAAE,yBAAe,CAAC,eAAe,CAAC,YAAY,EAAE,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC;oBAClF,MAAM,EAAE,IAAI,CAAC,OAAO;oBACpB,cAAc,EAAE,MAAM,iCAAe,CAAC,iBAAiB,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;oBACpF,UAAU,EAAE,MAAM;oBAClB,OAAO,EAAE,IAAI;iBAChB,EACD,yBAAe,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAC3C,MAAM;YACV,CAAC;YAED,KAAK,cAAc,CAAC;YACpB,KAAK,OAAO,CAAC,CAAC,CAAC;gBACX,QAAQ,GAAG,OAAO,CAAC,6BAA6B,CAC5C,yBAAe,CAAC,eAAe,CAAC,aAAa,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EACnE;oBACI,gBAAgB,EAAE,MAAM,CAAC,OAAO;oBAChC,YAAY,EAAE,yBAAe,CAAC,eAAe,CAAC,YAAY,EAAE,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC;oBAClF,MAAM,EAAE,IAAI,CAAC,OAAO;oBACpB,cAAc,EAAE,MAAM,iCAAe,CAAC,sBAAsB,CACxD,IAAI,EACJ,MAAM,EACN,YAAY,CACf;oBACD,UAAU,EAAE,iCAAe,CAAC,eAAe,EAAE;oBAC7C,OAAO,EAAE,IAAI;iBAChB,EACD,yBAAe,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAC3C,MAAM;YACV,CAAC;YAED,OAAO,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;QAClE,CAAC;QAED,MAAM,IAAI,CAAC,mBAAmB,CAC1B,IAAI,CAAC,KAAK,CAAC,OAAO,EAClB,yBAAe,CAAC,eAAe,CAAC,aAAa,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EACnE,OAAO,CAAC,OAAO,CAClB,CAAC;QACF,MAAM,IAAI,CAAC,6BAA6B,CAAC,OAAO,CAAC,CAAC;QAClD,OAAO,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE;YAC9B,EAAE,EAAE,OAAO,CAAC,OAAO;SACtB,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,MAAc,EAAE,GAAuB,EAAE,aAAa,GAAG,KAAK,EAAE,gBAAwB;QAC9F,IAAI,QAAe,CAAC;QACpB,IAAI,kBAAkB,GAAG,EAAE,CAAC;QAC5B,IAAI,QAAQ,GAAW,EAAE,CAAC;QAC1B,IAAI,UAAU,GAAmB,IAAI,CAAC;QACtC,IAAI,WAAwB,CAAC;QAE7B,IAAG,OAAO,GAAG,IAAI,QAAQ,EAAE,CAAC;YACxB,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,aAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;YACpD,UAAU,GAAG,GAAG,CAAC,UAAU,CAAC;YAC5B,WAAW,GAAG,GAAG,CAAC,IAAI,CAAC;QAC3B,CAAC;aAAM,CAAC;YACJ,WAAW,GAAG,GAAG,CAAC;QACtB,CAAC;QAGD,IAAI,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QACzC,IAAG,MAAM,IAAI,IAAI,EAAE,CAAC;YAChB,IAAG,WAAW,IAAI,MAAM,EAAE,CAAC;gBACvB,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;YACzE,CAAC;YAED,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;QAC5E,CAAC;QAED,QAAO,WAAW,EAAE,CAAC;YACjB,KAAK,QAAQ;gBACT,IAAG,UAAU,IAAI,IAAI;oBAAE,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;gBACtF,QAAQ,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;gBACpH,kBAAkB,GAAG,EAAE,EAAE,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC;gBAC5C,MAAM;YACV,KAAK,OAAO;gBACR,QAAQ,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC;gBACzE,kBAAkB,GAAG,EAAE,EAAE,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC;gBAC5C,MAAM;YACV,KAAK,cAAc;gBACf,QAAQ,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC;gBAC1E,kBAAkB,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC;gBAC3D,MAAM;YACV,KAAK,eAAe;gBAChB,QAAQ,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,IAAI,CAAC,CAAC;gBAChF,kBAAkB,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC;gBAC3D,MAAM;YACV;gBACI,MAAM,IAAI,KAAK,CAAC,kCAAkC,GAAG,WAAW,CAAC,CAAC;QAC1E,CAAC;QAED,OAAO,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,EAAE,CAAC;IACpD,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,MAAkB,EAAE,MAA0B,MAAM,EAAE,WAA2B,IAAI;QAC/F,MAAM,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QACxD,MAAM,MAAM,GAAG,IAAA,kCAAwB,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACvD,QAAQ,KAAK,MAAM,CAAC,OAAkB,CAAC;QACvC,MAAM,MAAM,GAAG,yBAAe,CAAC,eAAe,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC5E,MAAM,OAAO,GAAG,OAAO,GAAG,IAAI,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC;QACxD,MAAM,QAAQ,GAAG,OAAO,IAAI,eAAe,IAAI,OAAO,IAAI,cAAc,IAAI,OAAO,IAAI,MAAM,CAAC;QAE9F,MAAM,gBAAgB,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;QACzE,MAAM,EAAE,QAAQ,EAAE,kBAAkB,EAAE,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,gBAAgB,CAAC,CAAC;QAE9F,IAAG,QAAQ,EAAE,CAAC;YACV,MAAM,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;QAC3C,CAAC;aAAM,CAAC;YACJ,MAAM,IAAI,CAAC,kBAAkB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;YAC3C,MAAM,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAE,CAAC,CAAC;QAC9D,CAAC;QAED,OAAO,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC;IAC1D,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,MAAe,EAAE,MAA0B,MAAM,EAAG,WAA2B,IAAI;QACzG,MAAM,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QACxD,MAAM,MAAM,GAAG,IAAA,kCAAwB,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACvD,QAAQ,KAAK,MAAM,CAAC,OAAkB,CAAC;QACvC,MAAM,MAAM,GAAG,yBAAe,CAAC,eAAe,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAE5E,MAAM,kBAAkB,GAAG,qFAAqF,CAAC;QACjH,MAAM,mBAAmB,GAAG,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC;QAC/D,IAAG,mBAAmB,IAAI,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;QAClE,IAAG,mBAAmB,GAAG,EAAE,EAAE,CAAC;YAC1B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;YAClD,IAAG,MAAM,GAAG,mBAAmB,EAAE,CAAC;gBAC9B,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;YACxC,CAAC;QACL,CAAC;QAED,MAAM,gBAAgB,GAAG,IAAI,CAAC,WAAW,CAAC,qBAAqB,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;QACrF,MAAM,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,gBAAgB,CAAC,CAAC;QAErG,MAAM,IAAI,CAAC,sBAAsB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAClD,OAAO,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC;IAC1D,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,MAAkB;QAC3B,MAAM,MAAM,GAAK,IAAA,kCAAwB,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACzD,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAkB,CAAC;QAC3C,MAAM,KAAK,GAAM,MAAM,CAAC,OAAkB,CAAC;QAE3C,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAClD,MAAM,gBAAgB,GAAG,IAAI,CAAC,yBAAyB,CAAC,MAAM,CAAC,CAAC;QAChE,MAAM,MAAM,GAAG,UAAU,GAAG,gBAAgB,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,gBAAgB,CAAC;QAE7E,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;QACvE,OAAO,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IACtC,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,MAAc;QAC7B,MAAM,MAAM,GAAG,IAAA,kCAAwB,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACvD,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAkB,CAAC;QAC3C,MAAM,KAAK,GAAG,MAAM,CAAC,OAAkB,CAAC;QAExC,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;QACvE,OAAO,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IACtC,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,UAA0B,IAAI;QACjD,IAAG,CAAC,OAAO;YAAE,OAAO,GAAG,IAAA,kCAAwB,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAkB,CAAC;QAClF,OAAO,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;IACnD,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,KAAwB;QACpC,OAAO,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAC1C,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,OAAgB;QAC9B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAC1D,OAAO;YACH,KAAK,EAAE,QAAQ,CAAC,KAAK;YACrB,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC;YACnC,YAAY,EAAE,QAAQ,CAAC,YAAY;YACnC,gBAAgB,EAAE,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC;YACnD,WAAW,EAAE,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC;SAC5C,CAAA;IACL,CAAC;IAED,kBAAkB,CAAC,WAAmB,EAAE,KAAK,GAAG,IAAI;QAChD,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QACjD,OAAO,yBAAe,CAAC,iBAAiB,CAAC,WAAW,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IAChF,CAAC;IAED,KAAK,CAAC,uBAAuB,CAAC,WAAmB,EAAE,KAAK,GAAG,IAAI;QAC3D,eAAe;QACf,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAC7B,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QAE3B,OAAO,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IACvD,CAAC;IAED,kBAAkB,CAAC,SAAc,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG,KAAK;QAC1D,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC1C,OAAO,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;IAED,kBAAkB,CAAC,WAAmB;QAClC,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QAChD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAE/B,OAAO,yBAAe,CAAC,iBAAiB,CAAC,WAAW,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;IAC3E,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,WAAmB;QACxC,WAAW,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;QACtD,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QACjD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAE/B,OAAO,yBAAe,CAAC,iBAAiB,CAAC,WAAW,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;IAC3E,CAAC;IAED,oBAAoB,CAAC,QAAe;QAChC,OAAO;YACH,MAAM,EAAE,IAAI,CAAC,OAAO;YACpB,aAAa,EAAE,KAAK;YACpB,IAAI,EAAE,QAAQ;SACE,CAAC;IACzB,CAAC;IAEO,KAAK,CAAC,6BAA6B,CAAC,OAAwB;QAChE,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC;QAChF,IAAI,CAAC,UAAU,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,mBAAmB,OAAO,CAAC,OAAO,wBAAwB,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QAC7F,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,oBAAoB,CAAC,MAAc;QAC7C,IAAG,CAAC,oBAAY,CAAC,mBAAmB,EAAE,CAAC;YACnC,OAAO;QACX,CAAC;QAED,IAAI,oBAAY,CAAC,mBAAmB,IAAI,MAAM,EAAE,CAAC;YAC7C,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC1E,IAAI,CAAC,cAAc,EAAE,CAAC;gBAClB,MAAM,IAAI,KAAK,CAAC,sBAAsB,MAAM,CAAC,IAAI,8BAA8B,IAAI,CAAC,MAAM,kBAAkB,CAAC,CAAC;YAClH,CAAC;QACL,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,mBAAmB,CAAC,aAAsB,EAAE,MAAc,EAAE,OAAgB;QACtF,MAAM,MAAM,GAAG,IAAA,kCAAwB,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACvD,MAAM,KAAK,GAAG,IAAI,aAAK,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;QAC/C,MAAM,SAAS,GAAG,MAAM,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,OAAkB,EAAE,OAAO,CAAC,CAAC;QAC5E,IAAG,SAAS,GAAG,MAAM,EAAE,CAAC;YACpB,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,WAAW,EAAE,CAAC;YACzC,MAAM,IAAI,KAAK,CAAC,kBAAkB,MAAM,QAAQ,OAAO,KAAK,MAAM,EAAE,CAAC,CAAC;QAC1E,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,mBAAmB,CAAC,MAAc;QAC5C,IAAG,CAAC,oBAAY,CAAC,mBAAmB,EAAE,CAAC;YACnC,OAAO;QACX,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAClC,MAAM,KAAK,GAAG,IAAA,kCAAwB,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAkB,CAAC;QACzE,MAAM,SAAS,GAAG,MAAM,KAAK,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAC7D,IAAG,SAAS,GAAG,MAAM,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,sBAAsB,KAAK,CAAC,MAAM,cAAc,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QACnF,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,sBAAsB,CAAC,MAAqB,EAAE,MAAc;QACtE,IAAG,CAAC,oBAAY,CAAC,mBAAmB,EAAE,CAAC;YACnC,OAAO;QACX,CAAC;QAED,IAAG,MAAM,EAAE,CAAC;YACR,MAAM,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;QAC5C,CAAC;QAED,MAAM,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,QAAe,EAAE,WAAmC,EAAE;QACpE,MAAM,MAAM,GAAG,IAAA,kCAAwB,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACvD,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QAEnD,IAAG,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1B,MAAM,YAAY,GAAG,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;YACzD,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,CAAC,GAAG,aAAa,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;QACjF,CAAC;QAED,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC1D,MAAM,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,OAAkB,CAAC,CAAC;QAE5D,OAAO,EAAE,CAAC;IACd,CAAC;IAED,KAAK,CAAC,eAAe;QACjB,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QAE5D,IAAI,aAAa,GAAG,EAAE,CAAC;QACvB,IAAG,aAAa,CAAC,QAAQ,CAAC,6BAAY,CAAC,aAAa,CAAC,EAAE,CAAC;YACpD,MAAM,QAAQ,GAAG,MAAM,mBAAQ,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;YAC3D,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACjC,CAAC;QAED,OAAO,aAAa,CAAC;IACzB,CAAC;CACJ;AAzqCD,wBAyqCC"}
|
|
@@ -82,7 +82,7 @@ export declare class KyberSwap implements IDexAgg {
|
|
|
82
82
|
quoteAction(wallet: string, tokenIn: string, tokenOut: string, amount: bigint, slippage: bigint): Promise<{
|
|
83
83
|
action: Swap;
|
|
84
84
|
quote: {
|
|
85
|
-
to:
|
|
85
|
+
to: `0x${string}`;
|
|
86
86
|
calldata: bytes;
|
|
87
87
|
min_out: bigint;
|
|
88
88
|
out: bigint;
|
|
@@ -91,7 +91,7 @@ export declare class KyberSwap implements IDexAgg {
|
|
|
91
91
|
}>;
|
|
92
92
|
quoteMin(wallet: string, tokenIn: string, tokenOut: string, amount: bigint, slippage: bigint): Promise<bigint>;
|
|
93
93
|
quote(wallet: string, tokenIn: string, tokenOut: string, amount: bigint, slippage: bigint): Promise<{
|
|
94
|
-
to:
|
|
94
|
+
to: `0x${string}`;
|
|
95
95
|
calldata: bytes;
|
|
96
96
|
min_out: bigint;
|
|
97
97
|
out: bigint;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"KyberSwap.d.ts","sourceRoot":"","sources":["../../../src/classes/DexAggregators/KyberSwap.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"KyberSwap.d.ts","sourceRoot":"","sources":["../../../src/classes/DexAggregators/KyberSwap.ts"],"names":[],"mappings":"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"}
|