basememe-v4-contracts-configs 0.0.6 → 0.0.8
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/chainConfigs.d.ts +244 -0
- package/chainConfigs.d.ts.map +1 -1
- package/index.js +1264 -181
- package/index.js.map +1 -1
- package/package.json +1 -1
- package/wagmiGenerated.d.ts +2836 -526
- package/wagmiGenerated.d.ts.map +1 -1
package/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../package/index.ts","../package/wagmiGenerated.ts","../package/chainConfigs.ts"],"sourcesContent":["// the below files are auto-generated and will be\n// built at build time. They are not checked in to git.\n// The can be generated by running `yarn prepack` in the root\nexport * from './wagmiGenerated';\nimport { chainConfigs } from './chainConfigs';\n\nexport { chainConfigs as chainConfigs };","//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n// BasememeFactory\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n/**\n * - [__View Contract on Base Basescan__](https://basescan.org/address/0x0000000000000000000000000000000000000000)\n * - [__View Contract on Base Sepolia Blockscout__](https://base-sepolia.blockscout.com/address/0xF8B83Da32D7722613A055005C8e4A8e98F8ED755)\n */\nexport const basememeFactoryABI = [\n {\n stateMutability: 'nonpayable',\n type: 'constructor',\n inputs: [{ name: '_logic', internalType: 'address', type: 'address' }],\n },\n { stateMutability: 'payable', type: 'fallback' },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'implementation',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n ],\n name: 'Upgraded',\n },\n {\n type: 'error',\n inputs: [{ name: 'target', internalType: 'address', type: 'address' }],\n name: 'AddressEmptyCode',\n },\n {\n type: 'error',\n inputs: [\n { name: 'implementation', internalType: 'address', type: 'address' },\n ],\n name: 'ERC1967InvalidImplementation',\n },\n { type: 'error', inputs: [], name: 'ERC1967NonPayable' },\n { type: 'error', inputs: [], name: 'FailedCall' },\n] as const\n\n/**\n * - [__View Contract on Base Basescan__](https://basescan.org/address/0x0000000000000000000000000000000000000000)\n * - [__View Contract on Base Sepolia Blockscout__](https://base-sepolia.blockscout.com/address/0xF8B83Da32D7722613A055005C8e4A8e98F8ED755)\n */\nexport const basememeFactoryAddress = {\n 8453: '0x0000000000000000000000000000000000000000',\n 84532: '0xF8B83Da32D7722613A055005C8e4A8e98F8ED755',\n} as const\n\n/**\n * - [__View Contract on Base Basescan__](https://basescan.org/address/0x0000000000000000000000000000000000000000)\n * - [__View Contract on Base Sepolia Blockscout__](https://base-sepolia.blockscout.com/address/0xF8B83Da32D7722613A055005C8e4A8e98F8ED755)\n */\nexport const basememeFactoryConfig = {\n address: basememeFactoryAddress,\n abi: basememeFactoryABI,\n} as const\n\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n// BasememeFactoryImpl\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n/**\n * - [__View Contract on Base Basescan__](https://basescan.org/address/0x0000000000000000000000000000000000000000)\n * - [__View Contract on Base Sepolia Blockscout__](https://base-sepolia.blockscout.com/address/0xA77f20116d3386b46105ea2623c50ffF53594ec7)\n */\nexport const basememeFactoryImplABI = [\n { stateMutability: 'nonpayable', type: 'constructor', inputs: [] },\n { stateMutability: 'payable', type: 'receive' },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [],\n name: 'UPGRADE_INTERFACE_VERSION',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [],\n name: 'bondingCurveImplementation',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n },\n {\n stateMutability: 'payable',\n type: 'function',\n inputs: [\n { name: '_token', internalType: 'address', type: 'address' },\n { name: '_amountOutMin', internalType: 'uint256', type: 'uint256' },\n { name: '_tradeReferrer', internalType: 'address', type: 'address' },\n ],\n name: 'buyExactIn',\n outputs: [],\n },\n {\n stateMutability: 'payable',\n type: 'function',\n inputs: [\n { name: '_token', internalType: 'address', type: 'address' },\n { name: '_amountOutMin', internalType: 'uint256', type: 'uint256' },\n { name: '_tradeReferrer', internalType: 'address', type: 'address' },\n { name: '_to', internalType: 'address', type: 'address' },\n ],\n name: 'buyExactInTo',\n outputs: [],\n },\n {\n stateMutability: 'payable',\n type: 'function',\n inputs: [\n { name: '_token', internalType: 'address', type: 'address' },\n { name: '_collateralAmountIn', internalType: 'uint256', type: 'uint256' },\n { name: '_amountOutMin', internalType: 'uint256', type: 'uint256' },\n { name: '_tradeReferrer', internalType: 'address', type: 'address' },\n ],\n name: 'buyExactInWithCollateral',\n outputs: [],\n },\n {\n stateMutability: 'payable',\n type: 'function',\n inputs: [\n { name: '_token', internalType: 'address', type: 'address' },\n { name: '_collateralAmountIn', internalType: 'uint256', type: 'uint256' },\n { name: '_amountOutMin', internalType: 'uint256', type: 'uint256' },\n { name: '_tradeReferrer', internalType: 'address', type: 'address' },\n { name: '_to', internalType: 'address', type: 'address' },\n ],\n name: 'buyExactInWithCollateralTo',\n outputs: [],\n },\n {\n stateMutability: 'payable',\n type: 'function',\n inputs: [\n { name: '_token', internalType: 'address', type: 'address' },\n { name: '_tokenAmount', internalType: 'uint256', type: 'uint256' },\n {\n name: '_maxCollateralAmount',\n internalType: 'uint256',\n type: 'uint256',\n },\n { name: '_tradeReferrer', internalType: 'address', type: 'address' },\n ],\n name: 'buyExactOut',\n outputs: [],\n },\n {\n stateMutability: 'payable',\n type: 'function',\n inputs: [\n { name: '_token', internalType: 'address', type: 'address' },\n { name: '_tokenAmount', internalType: 'uint256', type: 'uint256' },\n {\n name: '_maxCollateralAmount',\n internalType: 'uint256',\n type: 'uint256',\n },\n { name: '_tradeReferrer', internalType: 'address', type: 'address' },\n { name: '_to', internalType: 'address', type: 'address' },\n ],\n name: 'buyExactOutTo',\n outputs: [],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [],\n name: 'chainV4ConfigVersion',\n outputs: [{ name: '', internalType: 'uint8', type: 'uint8' }],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [],\n name: 'chainV4LiquidityConfig',\n outputs: [{ name: '', internalType: 'bytes', type: 'bytes' }],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [{ name: '', internalType: 'address', type: 'address' }],\n name: 'collateralConfigs',\n outputs: [\n {\n name: 'curveParams',\n internalType: 'struct IBondingCurve.CurveParams',\n type: 'tuple',\n components: [\n {\n name: 'initialTokenSupply',\n internalType: 'uint256',\n type: 'uint256',\n },\n {\n name: 'virtualCollateralReservesInitial',\n internalType: 'uint256',\n type: 'uint256',\n },\n {\n name: 'virtualTokenReservesInitial',\n internalType: 'uint256',\n type: 'uint256',\n },\n { name: 'feeBPS', internalType: 'uint256', type: 'uint256' },\n { name: 'mcLowerLimit', internalType: 'uint256', type: 'uint256' },\n { name: 'mcUpperLimit', internalType: 'uint256', type: 'uint256' },\n {\n name: 'tokensMigrationThreshold',\n internalType: 'uint256',\n type: 'uint256',\n },\n {\n name: 'fixedMigrationFee',\n internalType: 'uint256',\n type: 'uint256',\n },\n { name: 'poolCreationFee', internalType: 'uint256', type: 'uint256' },\n { name: 'firstBuyFee', internalType: 'uint256', type: 'uint256' },\n {\n name: 'targetCollectionAmount',\n internalType: 'uint256',\n type: 'uint256',\n },\n { name: 'collateralToken', internalType: 'address', type: 'address' },\n { name: 'v4LpFee', internalType: 'uint24', type: 'uint24' },\n ],\n },\n { name: 'v4LiquidityConfig', internalType: 'bytes', type: 'bytes' },\n { name: 'v4ConfigVersion', internalType: 'uint8', type: 'uint8' },\n ],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [{ name: '', internalType: 'address', type: 'address' }],\n name: 'collateralEnabled',\n outputs: [{ name: '', internalType: 'bool', type: 'bool' }],\n },\n {\n stateMutability: 'pure',\n type: 'function',\n inputs: [],\n name: 'contractVersion',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n },\n {\n stateMutability: 'nonpayable',\n type: 'function',\n inputs: [\n { name: '_name', internalType: 'string', type: 'string' },\n { name: '_symbol', internalType: 'string', type: 'string' },\n { name: '_tokenURI', internalType: 'string', type: 'string' },\n { name: '_nonce', internalType: 'uint256', type: 'uint256' },\n { name: '_signature', internalType: 'bytes', type: 'bytes' },\n { name: '_platformReferrer', internalType: 'address', type: 'address' },\n { name: '_payoutRecipient', internalType: 'address', type: 'address' },\n { name: '_tokenSalt', internalType: 'bytes32', type: 'bytes32' },\n ],\n name: 'createBasememeToken',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n },\n {\n stateMutability: 'nonpayable',\n type: 'function',\n inputs: [\n { name: '_name', internalType: 'string', type: 'string' },\n { name: '_symbol', internalType: 'string', type: 'string' },\n { name: '_tokenURI', internalType: 'string', type: 'string' },\n { name: '_nonce', internalType: 'uint256', type: 'uint256' },\n { name: '_signature', internalType: 'bytes', type: 'bytes' },\n { name: '_platformReferrer', internalType: 'address', type: 'address' },\n { name: '_payoutRecipient', internalType: 'address', type: 'address' },\n { name: '_owner', internalType: 'address', type: 'address' },\n ],\n name: 'createBasememeToken',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n },\n {\n stateMutability: 'payable',\n type: 'function',\n inputs: [\n { name: '_name', internalType: 'string', type: 'string' },\n { name: '_symbol', internalType: 'string', type: 'string' },\n { name: '_tokenURI', internalType: 'string', type: 'string' },\n { name: '_nonce', internalType: 'uint256', type: 'uint256' },\n { name: '_tokenAmountMin', internalType: 'uint256', type: 'uint256' },\n { name: '_signature', internalType: 'bytes', type: 'bytes' },\n { name: '_platformReferrer', internalType: 'address', type: 'address' },\n { name: '_payoutRecipient', internalType: 'address', type: 'address' },\n { name: '_tokenSalt', internalType: 'bytes32', type: 'bytes32' },\n ],\n name: 'createBasememeTokenAndBuy',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n },\n {\n stateMutability: 'payable',\n type: 'function',\n inputs: [\n { name: '_name', internalType: 'string', type: 'string' },\n { name: '_symbol', internalType: 'string', type: 'string' },\n { name: '_tokenURI', internalType: 'string', type: 'string' },\n { name: '_nonce', internalType: 'uint256', type: 'uint256' },\n { name: '_tokenAmountMin', internalType: 'uint256', type: 'uint256' },\n { name: '_signature', internalType: 'bytes', type: 'bytes' },\n { name: '_platformReferrer', internalType: 'address', type: 'address' },\n { name: '_payoutRecipient', internalType: 'address', type: 'address' },\n { name: '_owner', internalType: 'address', type: 'address' },\n ],\n name: 'createBasememeTokenAndBuy',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n },\n {\n stateMutability: 'payable',\n type: 'function',\n inputs: [\n { name: '_name', internalType: 'string', type: 'string' },\n { name: '_symbol', internalType: 'string', type: 'string' },\n { name: '_tokenURI', internalType: 'string', type: 'string' },\n { name: '_nonce', internalType: 'uint256', type: 'uint256' },\n { name: '_collateralAmountIn', internalType: 'uint256', type: 'uint256' },\n { name: '_tokenAmountMin', internalType: 'uint256', type: 'uint256' },\n { name: '_signature', internalType: 'bytes', type: 'bytes' },\n { name: '_platformReferrer', internalType: 'address', type: 'address' },\n { name: '_payoutRecipient', internalType: 'address', type: 'address' },\n { name: '_tokenSalt', internalType: 'bytes32', type: 'bytes32' },\n { name: '_collateralToken', internalType: 'address', type: 'address' },\n ],\n name: 'createBasememeTokenAndBuyWithCollateral',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n },\n {\n stateMutability: 'nonpayable',\n type: 'function',\n inputs: [\n { name: '_name', internalType: 'string', type: 'string' },\n { name: '_symbol', internalType: 'string', type: 'string' },\n { name: '_tokenURI', internalType: 'string', type: 'string' },\n { name: '_nonce', internalType: 'uint256', type: 'uint256' },\n { name: '_signature', internalType: 'bytes', type: 'bytes' },\n { name: '_platformReferrer', internalType: 'address', type: 'address' },\n { name: '_payoutRecipient', internalType: 'address', type: 'address' },\n { name: '_tokenSalt', internalType: 'bytes32', type: 'bytes32' },\n { name: '_collateralToken', internalType: 'address', type: 'address' },\n ],\n name: 'createBasememeTokenWithCollateral',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [],\n name: 'getV4LiquidityConfig',\n outputs: [\n { name: 'cfg', internalType: 'bytes', type: 'bytes' },\n { name: 'version', internalType: 'uint8', type: 'uint8' },\n ],\n },\n {\n stateMutability: 'nonpayable',\n type: 'function',\n inputs: [\n { name: '_factoryOwner', internalType: 'address', type: 'address' },\n { name: '_signer', internalType: 'address', type: 'address' },\n {\n name: '_bondingCurveImplementation',\n internalType: 'address',\n type: 'address',\n },\n { name: '_chainV4LiquidityConfig', internalType: 'bytes', type: 'bytes' },\n { name: '_chainV4ConfigVersion', internalType: 'uint8', type: 'uint8' },\n ],\n name: 'initialize',\n outputs: [],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [],\n name: 'isSignatureEnabled',\n outputs: [{ name: '', internalType: 'bool', type: 'bool' }],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [{ name: '', internalType: 'address', type: 'address' }],\n name: 'isTrustedCaller',\n outputs: [{ name: '', internalType: 'bool', type: 'bool' }],\n },\n {\n stateMutability: 'nonpayable',\n type: 'function',\n inputs: [{ name: '_token', internalType: 'address', type: 'address' }],\n name: 'migrate',\n outputs: [],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [{ name: '', internalType: 'address', type: 'address' }],\n name: 'nonces',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [],\n name: 'owner',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [],\n name: 'proxiableUUID',\n outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [{ name: '', internalType: 'address', type: 'address' }],\n name: 'readyForMigration',\n outputs: [{ name: '', internalType: 'bool', type: 'bool' }],\n },\n {\n stateMutability: 'nonpayable',\n type: 'function',\n inputs: [],\n name: 'renounceOwnership',\n outputs: [],\n },\n {\n stateMutability: 'nonpayable',\n type: 'function',\n inputs: [\n { name: '_token', internalType: 'address', type: 'address' },\n { name: '_tokenAmount', internalType: 'uint256', type: 'uint256' },\n {\n name: '_amountCollateralMin',\n internalType: 'uint256',\n type: 'uint256',\n },\n { name: '_tradeReferrer', internalType: 'address', type: 'address' },\n ],\n name: 'sellExactIn',\n outputs: [],\n },\n {\n stateMutability: 'nonpayable',\n type: 'function',\n inputs: [\n { name: '_token', internalType: 'address', type: 'address' },\n { name: '_from', internalType: 'address', type: 'address' },\n { name: '_tokenAmount', internalType: 'uint256', type: 'uint256' },\n {\n name: '_amountCollateralMin',\n internalType: 'uint256',\n type: 'uint256',\n },\n { name: '_tradeReferrer', internalType: 'address', type: 'address' },\n ],\n name: 'sellExactInFrom',\n outputs: [],\n },\n {\n stateMutability: 'nonpayable',\n type: 'function',\n inputs: [\n { name: '_token', internalType: 'address', type: 'address' },\n { name: '_tokenAmountMax', internalType: 'uint256', type: 'uint256' },\n { name: '_amountCollateral', internalType: 'uint256', type: 'uint256' },\n { name: '_tradeReferrer', internalType: 'address', type: 'address' },\n ],\n name: 'sellExactOut',\n outputs: [],\n },\n {\n stateMutability: 'nonpayable',\n type: 'function',\n inputs: [\n { name: '_token', internalType: 'address', type: 'address' },\n { name: '_from', internalType: 'address', type: 'address' },\n { name: '_tokenAmountMax', internalType: 'uint256', type: 'uint256' },\n { name: '_amountCollateral', internalType: 'uint256', type: 'uint256' },\n { name: '_tradeReferrer', internalType: 'address', type: 'address' },\n ],\n name: 'sellExactOutFrom',\n outputs: [],\n },\n {\n stateMutability: 'nonpayable',\n type: 'function',\n inputs: [\n {\n name: '_bondingCurveImplementation',\n internalType: 'address',\n type: 'address',\n },\n ],\n name: 'setBondingCurveImplementation',\n outputs: [],\n },\n {\n stateMutability: 'nonpayable',\n type: 'function',\n inputs: [\n { name: '_collateralToken', internalType: 'address', type: 'address' },\n {\n name: 'params',\n internalType: 'struct IBondingCurve.CurveParams',\n type: 'tuple',\n components: [\n {\n name: 'initialTokenSupply',\n internalType: 'uint256',\n type: 'uint256',\n },\n {\n name: 'virtualCollateralReservesInitial',\n internalType: 'uint256',\n type: 'uint256',\n },\n {\n name: 'virtualTokenReservesInitial',\n internalType: 'uint256',\n type: 'uint256',\n },\n { name: 'feeBPS', internalType: 'uint256', type: 'uint256' },\n { name: 'mcLowerLimit', internalType: 'uint256', type: 'uint256' },\n { name: 'mcUpperLimit', internalType: 'uint256', type: 'uint256' },\n {\n name: 'tokensMigrationThreshold',\n internalType: 'uint256',\n type: 'uint256',\n },\n {\n name: 'fixedMigrationFee',\n internalType: 'uint256',\n type: 'uint256',\n },\n { name: 'poolCreationFee', internalType: 'uint256', type: 'uint256' },\n { name: 'firstBuyFee', internalType: 'uint256', type: 'uint256' },\n {\n name: 'targetCollectionAmount',\n internalType: 'uint256',\n type: 'uint256',\n },\n { name: 'collateralToken', internalType: 'address', type: 'address' },\n { name: 'v4LpFee', internalType: 'uint24', type: 'uint24' },\n ],\n },\n { name: 'v4LiquidityConfig', internalType: 'bytes', type: 'bytes' },\n { name: 'v4ConfigVersion', internalType: 'uint8', type: 'uint8' },\n ],\n name: 'setCollateralConfig',\n outputs: [],\n },\n {\n stateMutability: 'nonpayable',\n type: 'function',\n inputs: [\n { name: '_collateralToken', internalType: 'address', type: 'address' },\n { name: 'enabled', internalType: 'bool', type: 'bool' },\n ],\n name: 'setCollateralEnabled',\n outputs: [],\n },\n {\n stateMutability: 'nonpayable',\n type: 'function',\n inputs: [\n { name: '_isSignatureEnabled', internalType: 'bool', type: 'bool' },\n ],\n name: 'setIsSignatureEnabled',\n outputs: [],\n },\n {\n stateMutability: 'nonpayable',\n type: 'function',\n inputs: [{ name: '_signer', internalType: 'address', type: 'address' }],\n name: 'setSigner',\n outputs: [],\n },\n {\n stateMutability: 'nonpayable',\n type: 'function',\n inputs: [\n { name: 'caller', internalType: 'address', type: 'address' },\n { name: 'allowed', internalType: 'bool', type: 'bool' },\n ],\n name: 'setTrustedCaller',\n outputs: [],\n },\n {\n stateMutability: 'nonpayable',\n type: 'function',\n inputs: [\n { name: 'cfg', internalType: 'bytes', type: 'bytes' },\n { name: 'version', internalType: 'uint8', type: 'uint8' },\n ],\n name: 'setV4LiquidityConfig',\n outputs: [],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [],\n name: 'signer',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [{ name: '', internalType: 'address', type: 'address' }],\n name: 'tokenToBondingCurve',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [{ name: '', internalType: 'address', type: 'address' }],\n name: 'tokenToCollateralToken',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n },\n {\n stateMutability: 'nonpayable',\n type: 'function',\n inputs: [{ name: 'newOwner', internalType: 'address', type: 'address' }],\n name: 'transferOwnership',\n outputs: [],\n },\n {\n stateMutability: 'payable',\n type: 'function',\n inputs: [\n { name: 'newImplementation', internalType: 'address', type: 'address' },\n { name: 'data', internalType: 'bytes', type: 'bytes' },\n ],\n name: 'upgradeToAndCall',\n outputs: [],\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'buyer',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'token',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'tokenAmount',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'collateralAmount',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'refund',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'tradeFee',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'curveProgressBps',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'virtualCollateralReserves',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'virtualTokenReserves',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'collateralReserves',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'tokenReserves',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n ],\n name: 'Buy',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'caller',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'recipient',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'token',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n ],\n name: 'BuyRecipient',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'collateralToken',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n { name: 'enabled', internalType: 'bool', type: 'bool', indexed: false },\n ],\n name: 'CollateralEnabledUpdated',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'version',\n internalType: 'uint64',\n type: 'uint64',\n indexed: false,\n },\n ],\n name: 'Initialized',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'token',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n ],\n name: 'MarketcapReached',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'token',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n {\n name: 'tokenId',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'liquidity',\n internalType: 'uint128',\n type: 'uint128',\n indexed: false,\n },\n {\n name: 'amount0',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'amount1',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'migrationFee',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n ],\n name: 'Migrated',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'addr',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n {\n name: 'bondingCurve',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n {\n name: 'creator',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n {\n name: 'signature',\n internalType: 'bytes',\n type: 'bytes',\n indexed: false,\n },\n {\n name: 'platformReferrer',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n {\n name: 'payoutRecipient',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n {\n name: 'owner',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n {\n name: 'nonce',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n { name: 'name', internalType: 'string', type: 'string', indexed: false },\n {\n name: 'symbol',\n internalType: 'string',\n type: 'string',\n indexed: false,\n },\n {\n name: 'tokenURI',\n internalType: 'string',\n type: 'string',\n indexed: false,\n },\n {\n name: 'version',\n internalType: 'string',\n type: 'string',\n indexed: false,\n },\n ],\n name: 'NewBasememeToken',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n { name: 'addr', internalType: 'address', type: 'address', indexed: true },\n {\n name: 'bondingCurve',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'initialTokenSupply',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'virtualCollateralReservesInitial',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'virtualTokenReservesInitial',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'feeBPS',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'mcLowerLimit',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'mcUpperLimit',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'tokensMigrationThreshold',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'fixedMigrationFee',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'poolCreationFee',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'firstBuyFee',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'targetCollectionAmount',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'collateralToken',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n {\n name: 'v4LpFee',\n internalType: 'uint24',\n type: 'uint24',\n indexed: false,\n },\n ],\n name: 'NewBasememeTokenCurveParams',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'previousOwner',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'newOwner',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n ],\n name: 'OwnershipTransferred',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'seller',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'token',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'tokenAmount',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'collateralAmount',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'tradeFee',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'curveProgressBps',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'virtualCollateralReserves',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'virtualTokenReserves',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'collateralReserves',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'tokenReserves',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n ],\n name: 'Sell',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'caller',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'recipient',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'token',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n ],\n name: 'SellRecipient',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'caller',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n { name: 'allowed', internalType: 'bool', type: 'bool', indexed: false },\n ],\n name: 'TrustedCallerUpdated',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'implementation',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n ],\n name: 'Upgraded',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'cfgHash',\n internalType: 'bytes32',\n type: 'bytes32',\n indexed: false,\n },\n { name: 'version', internalType: 'uint8', type: 'uint8', indexed: false },\n ],\n name: 'V4ChainConfigUpdated',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'token',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n {\n name: 'pairedToken',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n {\n name: 'tokensToMigrate',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'tokensToBurn',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'collateralAmount',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'positionId',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'poolkey',\n internalType: 'struct PoolKey',\n type: 'tuple',\n components: [\n { name: 'currency0', internalType: 'Currency', type: 'address' },\n { name: 'currency1', internalType: 'Currency', type: 'address' },\n { name: 'fee', internalType: 'uint24', type: 'uint24' },\n { name: 'tickSpacing', internalType: 'int24', type: 'int24' },\n { name: 'hooks', internalType: 'contract IHooks', type: 'address' },\n ],\n indexed: false,\n },\n ],\n name: 'V4Migrated',\n },\n {\n type: 'error',\n inputs: [{ name: 'target', internalType: 'address', type: 'address' }],\n name: 'AddressEmptyCode',\n },\n {\n type: 'error',\n inputs: [],\n name: 'BuyExactInUnsupportedForErc20Collateral',\n },\n { type: 'error', inputs: [], name: 'CollateralDisabled' },\n { type: 'error', inputs: [], name: 'CurveParamsNotSet' },\n { type: 'error', inputs: [], name: 'DexTreasuryZeroValue' },\n {\n type: 'error',\n inputs: [\n { name: 'implementation', internalType: 'address', type: 'address' },\n ],\n name: 'ERC1967InvalidImplementation',\n },\n { type: 'error', inputs: [], name: 'ERC1967NonPayable' },\n { type: 'error', inputs: [], name: 'FailedCall' },\n { type: 'error', inputs: [], name: 'FailedDeployment' },\n { type: 'error', inputs: [], name: 'FailedToSendETH' },\n { type: 'error', inputs: [], name: 'FeeBPSCheckFailed' },\n {\n type: 'error',\n inputs: [\n { name: 'balance', internalType: 'uint256', type: 'uint256' },\n { name: 'needed', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'InsufficientBalance',\n },\n { type: 'error', inputs: [], name: 'InvalidExactInCollateralAmount' },\n { type: 'error', inputs: [], name: 'InvalidInitialization' },\n { type: 'error', inputs: [], name: 'InvalidNonce' },\n { type: 'error', inputs: [], name: 'InvalidSignature' },\n { type: 'error', inputs: [], name: 'InvalidV4Contracts' },\n { type: 'error', inputs: [], name: 'McLowerLimitGreaterThanUpperLimit' },\n { type: 'error', inputs: [], name: 'McLowerLimitZeroValue' },\n { type: 'error', inputs: [], name: 'McUpperLimitZeroValue' },\n { type: 'error', inputs: [], name: 'MigrationFeeTooHigh' },\n { type: 'error', inputs: [], name: 'NotBasememeToken' },\n { type: 'error', inputs: [], name: 'NotInitializing' },\n { type: 'error', inputs: [], name: 'NotReadyForMigration' },\n { type: 'error', inputs: [], name: 'NotTrustedCaller' },\n {\n type: 'error',\n inputs: [{ name: 'owner', internalType: 'address', type: 'address' }],\n name: 'OwnableInvalidOwner',\n },\n {\n type: 'error',\n inputs: [{ name: 'account', internalType: 'address', type: 'address' }],\n name: 'OwnableUnauthorizedAccount',\n },\n { type: 'error', inputs: [], name: 'ReentrancyGuardReentrantCall' },\n { type: 'error', inputs: [], name: 'SignerZeroValue' },\n { type: 'error', inputs: [], name: 'TokensMigrationThresholdZeroValue' },\n { type: 'error', inputs: [], name: 'TotalSupplyWrongValue' },\n { type: 'error', inputs: [], name: 'TotalSupplyZeroValue' },\n { type: 'error', inputs: [], name: 'TreasuryZeroValue' },\n { type: 'error', inputs: [], name: 'UUPSUnauthorizedCallContext' },\n {\n type: 'error',\n inputs: [{ name: 'slot', internalType: 'bytes32', type: 'bytes32' }],\n name: 'UUPSUnsupportedProxiableUUID',\n },\n { type: 'error', inputs: [], name: 'V4ConfigNotSet' },\n { type: 'error', inputs: [], name: 'VirtualCollateralReservesZeroValue' },\n { type: 'error', inputs: [], name: 'VirtualTokenReservesZeroValue' },\n] as const\n\n/**\n * - [__View Contract on Base Basescan__](https://basescan.org/address/0x0000000000000000000000000000000000000000)\n * - [__View Contract on Base Sepolia Blockscout__](https://base-sepolia.blockscout.com/address/0xA77f20116d3386b46105ea2623c50ffF53594ec7)\n */\nexport const basememeFactoryImplAddress = {\n 8453: '0x0000000000000000000000000000000000000000',\n 84532: '0xA77f20116d3386b46105ea2623c50ffF53594ec7',\n} as const\n\n/**\n * - [__View Contract on Base Basescan__](https://basescan.org/address/0x0000000000000000000000000000000000000000)\n * - [__View Contract on Base Sepolia Blockscout__](https://base-sepolia.blockscout.com/address/0xA77f20116d3386b46105ea2623c50ffF53594ec7)\n */\nexport const basememeFactoryImplConfig = {\n address: basememeFactoryImplAddress,\n abi: basememeFactoryImplABI,\n} as const\n\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n// BasememeToken\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n/**\n * - [__View Contract on Base Basescan__](https://basescan.org/address/0x0000000000000000000000000000000000000000)\n * - [__View Contract on Base Sepolia Blockscout__](https://base-sepolia.blockscout.com/address/0x0DCCB05a4FF9C97370Ce954EA4ac1D1d9330408B)\n */\nexport const basememeTokenABI = [\n { stateMutability: 'nonpayable', type: 'constructor', inputs: [] },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [\n { name: 'owner', internalType: 'address', type: 'address' },\n { name: 'spender', internalType: 'address', type: 'address' },\n ],\n name: 'allowance',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n },\n {\n stateMutability: 'nonpayable',\n type: 'function',\n inputs: [\n { name: 'spender', internalType: 'address', type: 'address' },\n { name: 'value', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'approve',\n outputs: [{ name: '', internalType: 'bool', type: 'bool' }],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [{ name: 'account', internalType: 'address', type: 'address' }],\n name: 'balanceOf',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n },\n {\n stateMutability: 'nonpayable',\n type: 'function',\n inputs: [{ name: 'value', internalType: 'uint256', type: 'uint256' }],\n name: 'burn',\n outputs: [],\n },\n {\n stateMutability: 'nonpayable',\n type: 'function',\n inputs: [\n { name: 'account', internalType: 'address', type: 'address' },\n { name: 'value', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'burnFrom',\n outputs: [],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [],\n name: 'contractURI',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n },\n {\n stateMutability: 'pure',\n type: 'function',\n inputs: [],\n name: 'contractVersion',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [],\n name: 'decimals',\n outputs: [{ name: '', internalType: 'uint8', type: 'uint8' }],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [],\n name: 'factory',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n },\n {\n stateMutability: 'nonpayable',\n type: 'function',\n inputs: [\n {\n name: '_params',\n internalType: 'struct IBasememeToken.ConstructorParams',\n type: 'tuple',\n components: [\n { name: 'name', internalType: 'string', type: 'string' },\n { name: 'symbol', internalType: 'string', type: 'string' },\n { name: 'tokenURI', internalType: 'string', type: 'string' },\n { name: 'factory', internalType: 'address', type: 'address' },\n { name: 'bondingCurve', internalType: 'address', type: 'address' },\n {\n name: 'initialTokenSupply',\n internalType: 'uint256',\n type: 'uint256',\n },\n ],\n },\n ],\n name: 'initialize',\n outputs: [],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [],\n name: 'name',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [],\n name: 'owner',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n },\n {\n stateMutability: 'nonpayable',\n type: 'function',\n inputs: [],\n name: 'renounceOwnership',\n outputs: [],\n },\n {\n stateMutability: 'nonpayable',\n type: 'function',\n inputs: [\n {\n name: 'mode',\n internalType: 'enum IBasememeToken.TransferMode',\n type: 'uint8',\n },\n ],\n name: 'setTransferMode',\n outputs: [],\n },\n {\n stateMutability: 'pure',\n type: 'function',\n inputs: [{ name: 'interfaceId', internalType: 'bytes4', type: 'bytes4' }],\n name: 'supportsInterface',\n outputs: [{ name: '', internalType: 'bool', type: 'bool' }],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [],\n name: 'symbol',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [],\n name: 'tokenURI',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [],\n name: 'totalSupply',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n },\n {\n stateMutability: 'nonpayable',\n type: 'function',\n inputs: [\n { name: 'to', internalType: 'address', type: 'address' },\n { name: 'value', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'transfer',\n outputs: [{ name: '', internalType: 'bool', type: 'bool' }],\n },\n {\n stateMutability: 'nonpayable',\n type: 'function',\n inputs: [\n { name: 'from', internalType: 'address', type: 'address' },\n { name: 'to', internalType: 'address', type: 'address' },\n { name: 'value', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'transferFrom',\n outputs: [{ name: '', internalType: 'bool', type: 'bool' }],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [],\n name: 'transferMode',\n outputs: [\n {\n name: '',\n internalType: 'enum IBasememeToken.TransferMode',\n type: 'uint8',\n },\n ],\n },\n {\n stateMutability: 'nonpayable',\n type: 'function',\n inputs: [{ name: 'newOwner', internalType: 'address', type: 'address' }],\n name: 'transferOwnership',\n outputs: [],\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'owner',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'spender',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'value',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n ],\n name: 'Approval',\n },\n { type: 'event', anonymous: false, inputs: [], name: 'ContractURIUpdated' },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'version',\n internalType: 'uint64',\n type: 'uint64',\n indexed: false,\n },\n ],\n name: 'Initialized',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'previousOwner',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'newOwner',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n ],\n name: 'OwnershipTransferred',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'sender',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'recipient',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'amount',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'senderBalance',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'recipientBalance',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n ],\n name: 'TokensTransferred',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n { name: 'from', internalType: 'address', type: 'address', indexed: true },\n { name: 'to', internalType: 'address', type: 'address', indexed: true },\n {\n name: 'value',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n ],\n name: 'Transfer',\n },\n {\n type: 'error',\n inputs: [\n { name: 'spender', internalType: 'address', type: 'address' },\n { name: 'allowance', internalType: 'uint256', type: 'uint256' },\n { name: 'needed', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'ERC20InsufficientAllowance',\n },\n {\n type: 'error',\n inputs: [\n { name: 'sender', internalType: 'address', type: 'address' },\n { name: 'balance', internalType: 'uint256', type: 'uint256' },\n { name: 'needed', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'ERC20InsufficientBalance',\n },\n {\n type: 'error',\n inputs: [{ name: 'approver', internalType: 'address', type: 'address' }],\n name: 'ERC20InvalidApprover',\n },\n {\n type: 'error',\n inputs: [{ name: 'receiver', internalType: 'address', type: 'address' }],\n name: 'ERC20InvalidReceiver',\n },\n {\n type: 'error',\n inputs: [{ name: 'sender', internalType: 'address', type: 'address' }],\n name: 'ERC20InvalidSender',\n },\n {\n type: 'error',\n inputs: [{ name: 'spender', internalType: 'address', type: 'address' }],\n name: 'ERC20InvalidSpender',\n },\n { type: 'error', inputs: [], name: 'InvalidInitialization' },\n { type: 'error', inputs: [], name: 'NotInitializing' },\n {\n type: 'error',\n inputs: [{ name: 'owner', internalType: 'address', type: 'address' }],\n name: 'OwnableInvalidOwner',\n },\n {\n type: 'error',\n inputs: [{ name: 'account', internalType: 'address', type: 'address' }],\n name: 'OwnableUnauthorizedAccount',\n },\n { type: 'error', inputs: [], name: 'TransfersControlled' },\n { type: 'error', inputs: [], name: 'TransfersRestricted' },\n] as const\n\n/**\n * - [__View Contract on Base Basescan__](https://basescan.org/address/0x0000000000000000000000000000000000000000)\n * - [__View Contract on Base Sepolia Blockscout__](https://base-sepolia.blockscout.com/address/0x0DCCB05a4FF9C97370Ce954EA4ac1D1d9330408B)\n */\nexport const basememeTokenAddress = {\n 8453: '0x0000000000000000000000000000000000000000',\n 84532: '0x0DCCB05a4FF9C97370Ce954EA4ac1D1d9330408B',\n} as const\n\n/**\n * - [__View Contract on Base Basescan__](https://basescan.org/address/0x0000000000000000000000000000000000000000)\n * - [__View Contract on Base Sepolia Blockscout__](https://base-sepolia.blockscout.com/address/0x0DCCB05a4FF9C97370Ce954EA4ac1D1d9330408B)\n */\nexport const basememeTokenConfig = {\n address: basememeTokenAddress,\n abi: basememeTokenABI,\n} as const\n\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n// BondingCurve\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n/**\n * - [__View Contract on Base Basescan__](https://basescan.org/address/0x0000000000000000000000000000000000000000)\n * - [__View Contract on Base Sepolia Blockscout__](https://base-sepolia.blockscout.com/address/0x227F6D11D054a1F606dBC9D555fa58538208cc3c)\n */\nexport const bondingCurveABI = [\n {\n stateMutability: 'nonpayable',\n type: 'constructor',\n inputs: [\n {\n name: '_protocolRewardRecipient',\n internalType: 'address',\n type: 'address',\n },\n { name: '_protocolRewards', internalType: 'address', type: 'address' },\n { name: '_weth', internalType: 'address', type: 'address' },\n {\n name: '_tokenImplementation',\n internalType: 'address',\n type: 'address',\n },\n { name: '_v4PoolManager', internalType: 'address', type: 'address' },\n { name: '_v4PositionManager', internalType: 'address', type: 'address' },\n { name: '_basememeLpManager', internalType: 'address', type: 'address' },\n { name: '_basememeHook', internalType: 'address', type: 'address' },\n ],\n },\n { stateMutability: 'payable', type: 'receive' },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [],\n name: 'LIQUIDITY_PLATFORM_REFERRER_FEE_BPS',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [],\n name: 'LIQUIDITY_PROTOCOL_FEE_BPS',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [],\n name: 'LIQUIDITY_TOKEN_CREATOR_FEE_BPS',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [],\n name: 'LIQUIDITY_TRADE_REFERRER_FEE_BPS',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [],\n name: 'MAX_BPS',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [],\n name: 'MAX_LP_FEE',\n outputs: [{ name: '', internalType: 'uint24', type: 'uint24' }],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [],\n name: 'TRADE_PLATFORM_REFERRER_FEE_BPS',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [],\n name: 'TRADE_PROTOCOL_FEE_BPS',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [],\n name: 'TRADE_REFERRER_FEE_BPS',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [],\n name: 'TRADE_TOKEN_CREATOR_FEE_BPS',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [],\n name: 'V4_MAX_POSITIONS',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n },\n {\n stateMutability: 'nonpayable',\n type: 'function',\n inputs: [],\n name: 'allowTransfer',\n outputs: [],\n },\n {\n stateMutability: 'nonpayable',\n type: 'function',\n inputs: [\n { name: 'amountToken', internalType: 'uint256', type: 'uint256' },\n { name: 'amountPairedToken', internalType: 'uint256', type: 'uint256' },\n { name: 'pairedToken', internalType: 'address', type: 'address' },\n ],\n name: 'approveV4Liquidity',\n outputs: [],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [],\n name: 'basememeHook',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [],\n name: 'basememeLpManager',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n },\n {\n stateMutability: 'nonpayable',\n type: 'function',\n inputs: [\n { name: 'cfg', internalType: 'bytes', type: 'bytes' },\n { name: 'version', internalType: 'uint8', type: 'uint8' },\n ],\n name: 'bindV4LiquidityConfig',\n outputs: [],\n },\n {\n stateMutability: 'payable',\n type: 'function',\n inputs: [\n { name: '_amountOutMin', internalType: 'uint256', type: 'uint256' },\n { name: '_tradeReferrer', internalType: 'address', type: 'address' },\n ],\n name: 'buyExactIn',\n outputs: [\n {\n name: 'collateralToPayWithFee',\n internalType: 'uint256',\n type: 'uint256',\n },\n { name: 'tradeFee', internalType: 'uint256', type: 'uint256' },\n ],\n },\n {\n stateMutability: 'payable',\n type: 'function',\n inputs: [\n { name: '_collateralAmountIn', internalType: 'uint256', type: 'uint256' },\n { name: '_amountOutMin', internalType: 'uint256', type: 'uint256' },\n { name: '_tradeReferrer', internalType: 'address', type: 'address' },\n ],\n name: 'buyExactInWithAmount',\n outputs: [\n {\n name: 'collateralToPayWithFee',\n internalType: 'uint256',\n type: 'uint256',\n },\n { name: 'tradeFee', internalType: 'uint256', type: 'uint256' },\n { name: 'firstFee', internalType: 'uint256', type: 'uint256' },\n ],\n },\n {\n stateMutability: 'payable',\n type: 'function',\n inputs: [\n { name: '_tokenAmount', internalType: 'uint256', type: 'uint256' },\n {\n name: '_maxCollateralAmount',\n internalType: 'uint256',\n type: 'uint256',\n },\n { name: '_tradeReferrer', internalType: 'address', type: 'address' },\n ],\n name: 'buyExactOut',\n outputs: [\n {\n name: 'collateralToPayWithFee',\n internalType: 'uint256',\n type: 'uint256',\n },\n { name: 'tradeFee', internalType: 'uint256', type: 'uint256' },\n { name: 'firstFee', internalType: 'uint256', type: 'uint256' },\n ],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [],\n name: 'collateralToken',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n },\n {\n stateMutability: 'nonpayable',\n type: 'function',\n inputs: [\n {\n name: 'expectedTokenBalance',\n internalType: 'uint256',\n type: 'uint256',\n },\n {\n name: 'expectedPairedTokenBalance',\n internalType: 'uint256',\n type: 'uint256',\n },\n { name: 'pairedToken', internalType: 'address', type: 'address' },\n ],\n name: 'collectV4Dust',\n outputs: [\n { name: 'tokenDust', internalType: 'uint256', type: 'uint256' },\n { name: 'pairedTokenDust', internalType: 'uint256', type: 'uint256' },\n ],\n },\n {\n stateMutability: 'pure',\n type: 'function',\n inputs: [],\n name: 'contractVersion',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [],\n name: 'factory',\n outputs: [{ name: '', internalType: 'address payable', type: 'address' }],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [],\n name: 'feeBPS',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [],\n name: 'firstBuyCompleted',\n outputs: [{ name: '', internalType: 'bool', type: 'bool' }],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [],\n name: 'firstBuyFee',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [],\n name: 'fixedMigrationFee',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [\n { name: '_amountOut', internalType: 'uint256', type: 'uint256' },\n { name: '_reserveIn', internalType: 'uint256', type: 'uint256' },\n { name: '_reserveOut', internalType: 'uint256', type: 'uint256' },\n { name: '_paymentTokenIsOut', internalType: 'bool', type: 'bool' },\n ],\n name: 'getAmountInAndFee',\n outputs: [\n { name: 'amountIn', internalType: 'uint256', type: 'uint256' },\n { name: 'fee', internalType: 'uint256', type: 'uint256' },\n ],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [\n { name: '_amountIn', internalType: 'uint256', type: 'uint256' },\n { name: '_reserveIn', internalType: 'uint256', type: 'uint256' },\n { name: '_reserveOut', internalType: 'uint256', type: 'uint256' },\n { name: '_paymentTokenIsIn', internalType: 'bool', type: 'bool' },\n ],\n name: 'getAmountOutAndFee',\n outputs: [\n { name: 'amountOut', internalType: 'uint256', type: 'uint256' },\n { name: 'fee', internalType: 'uint256', type: 'uint256' },\n ],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [],\n name: 'getCurveProgressBps',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [],\n name: 'getMarketCap',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [],\n name: 'getV4FeeCollectionConfig',\n outputs: [\n { name: '', internalType: 'address[]', type: 'address[]' },\n { name: '', internalType: 'uint16[]', type: 'uint16[]' },\n { name: '', internalType: 'bytes4[]', type: 'bytes4[]' },\n ],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [],\n name: 'getV4LiquidityConfig',\n outputs: [\n { name: 'tickLowerBase', internalType: 'int24[]', type: 'int24[]' },\n { name: 'tickUpperBase', internalType: 'int24[]', type: 'int24[]' },\n { name: 'positionTokenBps', internalType: 'uint16[]', type: 'uint16[]' },\n {\n name: 'positionPairedTokenBps',\n internalType: 'uint16[]',\n type: 'uint16[]',\n },\n ],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [],\n name: 'initialTokenSupply',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n },\n {\n stateMutability: 'nonpayable',\n type: 'function',\n inputs: [\n { name: '_platformReferrer', internalType: 'address', type: 'address' },\n { name: '_payoutRecipient', internalType: 'address', type: 'address' },\n { name: '_token', internalType: 'address', type: 'address' },\n {\n name: '_params',\n internalType: 'struct IBondingCurve.CurveParams',\n type: 'tuple',\n components: [\n {\n name: 'initialTokenSupply',\n internalType: 'uint256',\n type: 'uint256',\n },\n {\n name: 'virtualCollateralReservesInitial',\n internalType: 'uint256',\n type: 'uint256',\n },\n {\n name: 'virtualTokenReservesInitial',\n internalType: 'uint256',\n type: 'uint256',\n },\n { name: 'feeBPS', internalType: 'uint256', type: 'uint256' },\n { name: 'mcLowerLimit', internalType: 'uint256', type: 'uint256' },\n { name: 'mcUpperLimit', internalType: 'uint256', type: 'uint256' },\n {\n name: 'tokensMigrationThreshold',\n internalType: 'uint256',\n type: 'uint256',\n },\n {\n name: 'fixedMigrationFee',\n internalType: 'uint256',\n type: 'uint256',\n },\n { name: 'poolCreationFee', internalType: 'uint256', type: 'uint256' },\n { name: 'firstBuyFee', internalType: 'uint256', type: 'uint256' },\n {\n name: 'targetCollectionAmount',\n internalType: 'uint256',\n type: 'uint256',\n },\n { name: 'collateralToken', internalType: 'address', type: 'address' },\n { name: 'v4LpFee', internalType: 'uint24', type: 'uint24' },\n ],\n },\n ],\n name: 'initialize',\n outputs: [],\n },\n {\n stateMutability: 'nonpayable',\n type: 'function',\n inputs: [],\n name: 'initiateV4Migration',\n outputs: [\n { name: 'tokensToMigrate', internalType: 'uint256', type: 'uint256' },\n { name: 'tokensToBurn', internalType: 'uint256', type: 'uint256' },\n { name: 'collateralAmount', internalType: 'uint256', type: 'uint256' },\n { name: 'graduationPoolPrice', internalType: 'uint160', type: 'uint160' },\n { name: 'lpFee', internalType: 'uint24', type: 'uint24' },\n { name: 'tickSpacing', internalType: 'int24', type: 'int24' },\n { name: 'pairedToken', internalType: 'address', type: 'address' },\n { name: 'lpManager', internalType: 'address', type: 'address' },\n { name: 'hook', internalType: 'address', type: 'address' },\n ],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [],\n name: 'mcLowerLimit',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [],\n name: 'mcUpperLimit',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n },\n {\n stateMutability: 'nonpayable',\n type: 'function',\n inputs: [],\n name: 'migrate',\n outputs: [\n { name: '', internalType: 'uint256', type: 'uint256' },\n { name: '', internalType: 'uint128', type: 'uint128' },\n { name: '', internalType: 'uint256', type: 'uint256' },\n { name: '', internalType: 'uint256', type: 'uint256' },\n ],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [],\n name: 'owner',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [],\n name: 'payoutRecipient',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [],\n name: 'platformReferrer',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [],\n name: 'poolCreationFee',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [],\n name: 'protocolRewardRecipient',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [],\n name: 'protocolRewards',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n },\n {\n stateMutability: 'nonpayable',\n type: 'function',\n inputs: [],\n name: 'renounceOwnership',\n outputs: [],\n },\n {\n stateMutability: 'nonpayable',\n type: 'function',\n inputs: [],\n name: 'renounceTokenOwnership',\n outputs: [],\n },\n {\n stateMutability: 'nonpayable',\n type: 'function',\n inputs: [],\n name: 'restrictTransfer',\n outputs: [],\n },\n {\n stateMutability: 'nonpayable',\n type: 'function',\n inputs: [\n { name: '_tokenAmount', internalType: 'uint256', type: 'uint256' },\n {\n name: '_amountCollateralMin',\n internalType: 'uint256',\n type: 'uint256',\n },\n { name: '_tradeReferrer', internalType: 'address', type: 'address' },\n ],\n name: 'sellExactIn',\n outputs: [\n {\n name: 'collateralToReceiveMinusFee',\n internalType: 'uint256',\n type: 'uint256',\n },\n { name: 'tradeFee', internalType: 'uint256', type: 'uint256' },\n ],\n },\n {\n stateMutability: 'nonpayable',\n type: 'function',\n inputs: [\n { name: '_tokenAmountMax', internalType: 'uint256', type: 'uint256' },\n { name: '_amountCollateral', internalType: 'uint256', type: 'uint256' },\n { name: '_tradeReferrer', internalType: 'address', type: 'address' },\n ],\n name: 'sellExactOut',\n outputs: [\n {\n name: 'collateralToReceiveMinusFee',\n internalType: 'uint256',\n type: 'uint256',\n },\n { name: 'tokensOut', internalType: 'uint256', type: 'uint256' },\n { name: 'tradeFee', internalType: 'uint256', type: 'uint256' },\n ],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [],\n name: 'sendingToPairForbidden',\n outputs: [{ name: '', internalType: 'bool', type: 'bool' }],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [],\n name: 'targetCollectionAmount',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [],\n name: 'token',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [],\n name: 'tokenImplementation',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [],\n name: 'tokensMigrationThreshold',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [],\n name: 'tradingStopped',\n outputs: [{ name: '', internalType: 'bool', type: 'bool' }],\n },\n {\n stateMutability: 'nonpayable',\n type: 'function',\n inputs: [{ name: 'newOwner', internalType: 'address', type: 'address' }],\n name: 'transferOwnership',\n outputs: [],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [],\n name: 'v4ConfigVersion',\n outputs: [{ name: '', internalType: 'uint8', type: 'uint8' }],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [],\n name: 'v4LpConfigBound',\n outputs: [{ name: '', internalType: 'bool', type: 'bool' }],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [],\n name: 'v4LpFee',\n outputs: [{ name: '', internalType: 'uint24', type: 'uint24' }],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [],\n name: 'v4PoolManager',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [],\n name: 'v4PositionManager',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [],\n name: 'v4TickSpacing',\n outputs: [{ name: '', internalType: 'int24', type: 'int24' }],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [],\n name: 'virtualCollateralReserves',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [],\n name: 'virtualCollateralReservesInitial',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [],\n name: 'virtualCollateralReservesTarget',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [],\n name: 'virtualTokenReserves',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [],\n name: 'virtualTokenReservesInitial',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [],\n name: 'wethAddress',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'tokenDust',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'pairedTokenDust',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n ],\n name: 'DustCollected',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'version',\n internalType: 'uint64',\n type: 'uint64',\n indexed: false,\n },\n ],\n name: 'Initialized',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'previousOwner',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'newOwner',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n ],\n name: 'OwnershipTransferred',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'payoutRecipient',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'platformReferrer',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'tradeReferrer',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'protocolRewardRecipient',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n {\n name: 'creatorReward',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'platformReferrerReward',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'traderReferrerReward',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'protocolReward',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n ],\n name: 'TradeRewardsDistributed',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'token',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'cfgHash',\n internalType: 'bytes32',\n type: 'bytes32',\n indexed: false,\n },\n { name: 'version', internalType: 'uint8', type: 'uint8', indexed: false },\n { name: 'spacing', internalType: 'int24', type: 'int24', indexed: false },\n {\n name: 'tickCount',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n ],\n name: 'V4LiquidityConfigBound',\n },\n { type: 'error', inputs: [], name: 'AlreadyMigrated' },\n { type: 'error', inputs: [], name: 'AmountInZero' },\n { type: 'error', inputs: [], name: 'AmountOutZero' },\n {\n type: 'error',\n inputs: [\n { name: 'recommendedTokenOut', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'CollectionTargetExceeded',\n },\n { type: 'error', inputs: [], name: 'FailedCall' },\n { type: 'error', inputs: [], name: 'FailedToSendETH' },\n { type: 'error', inputs: [], name: 'InitialTokenSupplyNotSet' },\n {\n type: 'error',\n inputs: [\n { name: 'balance', internalType: 'uint256', type: 'uint256' },\n { name: 'needed', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'InsufficientBalance',\n },\n { type: 'error', inputs: [], name: 'InsufficientCollateral' },\n { type: 'error', inputs: [], name: 'InsufficientLiquidity' },\n { type: 'error', inputs: [], name: 'InsufficientTokenReserves' },\n { type: 'error', inputs: [], name: 'InvalidInitialization' },\n { type: 'error', inputs: [], name: 'InvalidLiquidity' },\n { type: 'error', inputs: [], name: 'InvalidPairedToken' },\n { type: 'error', inputs: [], name: 'LegacyMigrationDisabled' },\n { type: 'error', inputs: [], name: 'MarketCapNotAvailableAfterMigration' },\n {\n type: 'error',\n inputs: [\n { name: 'currentMarketCap', internalType: 'uint256', type: 'uint256' },\n { name: 'mcLowerLimit', internalType: 'uint256', type: 'uint256' },\n { name: 'mcUpperLimit', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'MarketcapThresholdReached',\n },\n { type: 'error', inputs: [], name: 'McLowerLimitNotSet' },\n { type: 'error', inputs: [], name: 'McUpperLimitNotSet' },\n { type: 'error', inputs: [], name: 'NotEnoughETHReserves' },\n { type: 'error', inputs: [], name: 'NotEnoughForFirstBuyFee' },\n { type: 'error', inputs: [], name: 'NotEnoughtETHToBuyTokens' },\n { type: 'error', inputs: [], name: 'NotInitializing' },\n { type: 'error', inputs: [], name: 'OnlyFactory' },\n { type: 'error', inputs: [], name: 'OnlyWeth' },\n {\n type: 'error',\n inputs: [{ name: 'owner', internalType: 'address', type: 'address' }],\n name: 'OwnableInvalidOwner',\n },\n {\n type: 'error',\n inputs: [{ name: 'account', internalType: 'address', type: 'address' }],\n name: 'OwnableUnauthorizedAccount',\n },\n { type: 'error', inputs: [], name: 'PairedTokenConversionRequired' },\n { type: 'error', inputs: [], name: 'PoolAlreadyCreated' },\n { type: 'error', inputs: [], name: 'PoolNotCreated' },\n { type: 'error', inputs: [], name: 'PoolNotDeployed' },\n { type: 'error', inputs: [], name: 'PoolNotPreCreated' },\n { type: 'error', inputs: [], name: 'ReentrancyGuardReentrantCall' },\n { type: 'error', inputs: [], name: 'SlippageCheckFailed' },\n { type: 'error', inputs: [], name: 'TokenNotInitialized' },\n { type: 'error', inputs: [], name: 'TradingStopped' },\n { type: 'error', inputs: [], name: 'TransfersRestricted' },\n { type: 'error', inputs: [], name: 'V4ConfigAlreadyBound' },\n {\n type: 'error',\n inputs: [\n { name: 'expected', internalType: 'uint8', type: 'uint8' },\n { name: 'actual', internalType: 'uint8', type: 'uint8' },\n ],\n name: 'V4ConfigVersionMismatch',\n },\n { type: 'error', inputs: [], name: 'V4GraduationNotSingleSided' },\n { type: 'error', inputs: [], name: 'V4InvalidPositionBps' },\n { type: 'error', inputs: [], name: 'V4InvalidTickSpacing' },\n { type: 'error', inputs: [], name: 'V4MismatchedPositionInfos' },\n { type: 'error', inputs: [], name: 'V4NoPositions' },\n { type: 'error', inputs: [], name: 'V4TicksBackwards' },\n { type: 'error', inputs: [], name: 'V4TicksNotMultipleOfTickSpacing' },\n { type: 'error', inputs: [], name: 'V4TicksOutOfTickBounds' },\n { type: 'error', inputs: [], name: 'V4TooManyPositions' },\n] as const\n\n/**\n * - [__View Contract on Base Basescan__](https://basescan.org/address/0x0000000000000000000000000000000000000000)\n * - [__View Contract on Base Sepolia Blockscout__](https://base-sepolia.blockscout.com/address/0x227F6D11D054a1F606dBC9D555fa58538208cc3c)\n */\nexport const bondingCurveAddress = {\n 8453: '0x0000000000000000000000000000000000000000',\n 84532: '0x227F6D11D054a1F606dBC9D555fa58538208cc3c',\n} as const\n\n/**\n * - [__View Contract on Base Basescan__](https://basescan.org/address/0x0000000000000000000000000000000000000000)\n * - [__View Contract on Base Sepolia Blockscout__](https://base-sepolia.blockscout.com/address/0x227F6D11D054a1F606dBC9D555fa58538208cc3c)\n */\nexport const bondingCurveConfig = {\n address: bondingCurveAddress,\n abi: bondingCurveABI,\n} as const\n\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n// ProtocolRewards\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n/**\n * - [__View Contract on Base Basescan__](https://basescan.org/address/0x0000000000000000000000000000000000000000)\n * - [__View Contract on Base Sepolia Blockscout__](https://base-sepolia.blockscout.com/address/0x3Ce39C0136A557799D0f7f25d70ba8863510D986)\n */\nexport const protocolRewardsABI = [\n { stateMutability: 'payable', type: 'constructor', inputs: [] },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [],\n name: 'WITHDRAW_TYPEHASH',\n outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [{ name: '', internalType: 'address', type: 'address' }],\n name: 'balanceOf',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n },\n {\n stateMutability: 'payable',\n type: 'function',\n inputs: [\n { name: 'to', internalType: 'address', type: 'address' },\n { name: 'reason', internalType: 'bytes4', type: 'bytes4' },\n { name: 'comment', internalType: 'string', type: 'string' },\n ],\n name: 'deposit',\n outputs: [],\n },\n {\n stateMutability: 'payable',\n type: 'function',\n inputs: [\n { name: 'recipients', internalType: 'address[]', type: 'address[]' },\n { name: 'amounts', internalType: 'uint256[]', type: 'uint256[]' },\n { name: 'reasons', internalType: 'bytes4[]', type: 'bytes4[]' },\n { name: 'comment', internalType: 'string', type: 'string' },\n ],\n name: 'depositBatch',\n outputs: [],\n },\n {\n stateMutability: 'payable',\n type: 'function',\n inputs: [\n { name: 'creator', internalType: 'address', type: 'address' },\n { name: 'creatorReward', internalType: 'uint256', type: 'uint256' },\n { name: 'createReferral', internalType: 'address', type: 'address' },\n {\n name: 'createReferralReward',\n internalType: 'uint256',\n type: 'uint256',\n },\n { name: 'mintReferral', internalType: 'address', type: 'address' },\n { name: 'mintReferralReward', internalType: 'uint256', type: 'uint256' },\n { name: 'firstMinter', internalType: 'address', type: 'address' },\n { name: 'firstMinterReward', internalType: 'uint256', type: 'uint256' },\n { name: 'freee', internalType: 'address', type: 'address' },\n { name: 'freeeReward', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'depositRewards',\n outputs: [],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [],\n name: 'eip712Domain',\n outputs: [\n { name: 'fields', internalType: 'bytes1', type: 'bytes1' },\n { name: 'name', internalType: 'string', type: 'string' },\n { name: 'version', internalType: 'string', type: 'string' },\n { name: 'chainId', internalType: 'uint256', type: 'uint256' },\n { name: 'verifyingContract', internalType: 'address', type: 'address' },\n { name: 'salt', internalType: 'bytes32', type: 'bytes32' },\n { name: 'extensions', internalType: 'uint256[]', type: 'uint256[]' },\n ],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [{ name: '', internalType: 'address', type: 'address' }],\n name: 'nonces',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [],\n name: 'totalSupply',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n },\n {\n stateMutability: 'nonpayable',\n type: 'function',\n inputs: [\n { name: 'to', internalType: 'address', type: 'address' },\n { name: 'amount', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'withdraw',\n outputs: [],\n },\n {\n stateMutability: 'nonpayable',\n type: 'function',\n inputs: [\n { name: 'to', internalType: 'address', type: 'address' },\n { name: 'amount', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'withdrawFor',\n outputs: [],\n },\n {\n stateMutability: 'nonpayable',\n type: 'function',\n inputs: [\n { name: 'from', internalType: 'address', type: 'address' },\n { name: 'to', internalType: 'address', type: 'address' },\n { name: 'amount', internalType: 'uint256', type: 'uint256' },\n { name: 'deadline', internalType: 'uint256', type: 'uint256' },\n { name: 'v', internalType: 'uint8', type: 'uint8' },\n { name: 'r', internalType: 'bytes32', type: 'bytes32' },\n { name: 's', internalType: 'bytes32', type: 'bytes32' },\n ],\n name: 'withdrawWithSig',\n outputs: [],\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n { name: 'from', internalType: 'address', type: 'address', indexed: true },\n { name: 'to', internalType: 'address', type: 'address', indexed: true },\n { name: 'reason', internalType: 'bytes4', type: 'bytes4', indexed: true },\n {\n name: 'amount',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'comment',\n internalType: 'string',\n type: 'string',\n indexed: false,\n },\n ],\n name: 'Deposit',\n },\n { type: 'event', anonymous: false, inputs: [], name: 'EIP712DomainChanged' },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'creator',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'createReferral',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'mintReferral',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'firstMinter',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n {\n name: 'freee',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n {\n name: 'from',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n {\n name: 'creatorReward',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'createReferralReward',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'mintReferralReward',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'firstMinterReward',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'freeeReward',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n ],\n name: 'RewardsDeposit',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n { name: 'from', internalType: 'address', type: 'address', indexed: true },\n { name: 'to', internalType: 'address', type: 'address', indexed: true },\n {\n name: 'amount',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n ],\n name: 'Withdraw',\n },\n { type: 'error', inputs: [], name: 'ADDRESS_ZERO' },\n { type: 'error', inputs: [], name: 'ARRAY_LENGTH_MISMATCH' },\n { type: 'error', inputs: [], name: 'INVALID_DEPOSIT' },\n { type: 'error', inputs: [], name: 'INVALID_SIGNATURE' },\n { type: 'error', inputs: [], name: 'INVALID_WITHDRAW' },\n { type: 'error', inputs: [], name: 'InvalidShortString' },\n { type: 'error', inputs: [], name: 'SIGNATURE_DEADLINE_EXPIRED' },\n {\n type: 'error',\n inputs: [{ name: 'str', internalType: 'string', type: 'string' }],\n name: 'StringTooLong',\n },\n { type: 'error', inputs: [], name: 'TRANSFER_FAILED' },\n] as const\n\n/**\n * - [__View Contract on Base Basescan__](https://basescan.org/address/0x0000000000000000000000000000000000000000)\n * - [__View Contract on Base Sepolia Blockscout__](https://base-sepolia.blockscout.com/address/0x3Ce39C0136A557799D0f7f25d70ba8863510D986)\n */\nexport const protocolRewardsAddress = {\n 8453: '0x0000000000000000000000000000000000000000',\n 84532: '0x3Ce39C0136A557799D0f7f25d70ba8863510D986',\n} as const\n\n/**\n * - [__View Contract on Base Basescan__](https://basescan.org/address/0x0000000000000000000000000000000000000000)\n * - [__View Contract on Base Sepolia Blockscout__](https://base-sepolia.blockscout.com/address/0x3Ce39C0136A557799D0f7f25d70ba8863510D986)\n */\nexport const protocolRewardsConfig = {\n address: protocolRewardsAddress,\n abi: protocolRewardsABI,\n} as const\n","export const chainConfigs = {\n [8453]: {\n current: {\n \"TOTAL_SUPPLY\": \"1000000000000000000000000000\",\n \"VIRTUAL_TOKEN_RESERVES\": \"1088264899999999783900020736\",\n \"VIRTUAL_COLLATERAL_RESERVES\": \"902103736559999872\",\n \"FEE_BASIS_POINTS\": \"200\",\n \"DEX_FEE_BASIS_POINTS\": \"5000\",\n \"FIXED_MIGRATION_FEE\": \"100000000000000000\",\n \"POOL_CREATION_FEE\": \"50000000000000000\",\n \"FIRST_BUY_FEE\": \"1500000000000000\",\n \"MC_UPPER_LIMIT\": \"11835000000000000000\",\n \"MC_LOWER_LIMIT\": \"11795000000000000000\",\n \"TOKENS_MIGRATION_THRESHOLD\": \"799764393968807750154100378\",\n \"TARGET_ETH_COLLECTION_AMOUNT\": \"2500759732077910169\",\n \"TARGET_COLLECTION_AMOUNT\": \"2500759732077910169\",\n \"SIGNER\": \"0x0000000000000000000000000000000000000000\",\n \"DEPLOYER\": \"0x30d197dd771d8f75378aad9428ed9d5e24bdbbbb\",\n \"FACTORY_OWNER\": \"0x2730B29aCbBCD34A59B720338e8d06619Fd71ACa\",\n \"PROTOCOL_REWARD_RECIPIENT\": \"0x2730B29aCbBCD34A59B720338e8d06619Fd71ACa\",\n \"UNISWAP_V3_NONFUNGIBLE_POSITION_MANAGER\": \"0x03a520b32C04BF3bEEf7BEb72E919cf822Ed34f1\",\n \"QUOTER_V2\": \"0x3d4e44Eb1374240CE5F1B871ab261CD16335B76a\",\n \"SWAP_ROUTER_V2\": \"0x2626664c2603336E57B271c5C0b26F421741e481\",\n \"UNISWAP_V2_ROUTER\": \"0x4752ba5dbc23f44d87826276bf6fd6b1c372ad24\",\n \"WETH\": \"0x4200000000000000000000000000000000000006\",\n \"V3_POOL_FEE\": \"10000\",\n \"TRADE_REFERRER_FEE_BPS\": \"1000\",\n \"CONTRACT_VERSION\": \"1.0.8\",\n \"V4_POOL_MANAGER\": \"0x498581ff718922c3f8e6a244956af099b2652b2b\",\n \"V4_POSITION_MANAGER\": \"0x7c5f5a4bbd8fd63184577525326123b519429bdc\",\n \"PERMIT2\": \"0x000000000022D473030F116dDEE9F6B43aC78BA3\",\n \"UNIVERSAL_ROUTER\": \"0x6ff5693b99212da76ad316178a184ab56d299b43\",\n \"V4_LP_FEE\": \"20000\",\n \"V4_TICK_SPACING\": \"60\",\n \"V4_LIQUIDITY_CONFIG\": \"0x00000000000000000000000000000000000000000000000000000000000000c800000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000001c000000000000000000000000000000000000000000000000000000000000002c000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff27660fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcced0fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd3780fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd6278fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd92e8fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe4a80fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81300000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcced0fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd36b8fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd6278fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe4a80fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe4a80fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffecf50fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffecf5000000000000000000000000000000000000000000000000000000000000000070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003e8000000000000000000000000000000000000000000000000000000000000138800000000000000000000000000000000000000000000000000000000000005dc00000000000000000000000000000000000000000000000000000000000007d000000000000000000000000000000000000000000000000000000000000001f40000000000000000000000000000000000000000000000000000000000000007000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000270600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\"\n},\n \"1.0.12\": {\n \"TOTAL_SUPPLY\": \"1000000000000000000000000000\",\n \"VIRTUAL_TOKEN_RESERVES\": \"1060000000000000000000000000\",\n \"VIRTUAL_COLLATERAL_RESERVES\": \"1600000000000000000\",\n \"FEE_BASIS_POINTS\": \"200\",\n \"DEX_FEE_BASIS_POINTS\": \"5000\",\n \"FIXED_MIGRATION_FEE\": \"100000000000000000\",\n \"POOL_CREATION_FEE\": \"50000000000000000\",\n \"FIRST_BUY_FEE\": \"1500000000000000\",\n \"MC_UPPER_LIMIT\": \"27000000000000000000\",\n \"MC_LOWER_LIMIT\": \"25000000000000000000\",\n \"TOKENS_MIGRATION_THRESHOLD\": \"799538870462404697804703491\",\n \"TARGET_ETH_COLLECTION_AMOUNT\": \"4911528238439880951\",\n \"SIGNER\": \"0x0000000000000000000000000000000000000000\",\n \"DEPLOYER\": \"0x34527950b5dDe5039139Fd4fE8944dD392941F1f\",\n \"FACTORY_OWNER\": \"0x3851F305EcC728c3e78c2F6Ff0BAC9B9fF1BF0ff\",\n \"PROTOCOL_REWARD_RECIPIENT\": \"0x3851F305EcC728c3e78c2F6Ff0BAC9B9fF1BF0ff\",\n \"UNISWAP_V3_NONFUNGIBLE_POSITION_MANAGER\": \"0x03a520b32C04BF3bEEf7BEb72E919cf822Ed34f1\",\n \"QUOTER_V2\": \"0x3d4e44Eb1374240CE5F1B871ab261CD16335B76a\",\n \"SWAP_ROUTER_V2\": \"0x2626664c2603336E57B271c5C0b26F421741e481\",\n \"UNISWAP_V2_ROUTER\": \"0x4752ba5dbc23f44d87826276bf6fd6b1c372ad24\",\n \"WETH\": \"0x4200000000000000000000000000000000000006\",\n \"V3_POOL_FEE\": \"10000\",\n \"TRADE_REFERRER_FEE_BPS\": \"1000\",\n \"CONTRACT_VERSION\": \"1.0.12\"\n}, \"1.0.8\": {\n \"TOTAL_SUPPLY\": \"1000000000000000000000000000\",\n \"VIRTUAL_TOKEN_RESERVES\": \"1088264899999999783900020736\",\n \"VIRTUAL_COLLATERAL_RESERVES\": \"902103736559999872\",\n \"FEE_BASIS_POINTS\": \"200\",\n \"DEX_FEE_BASIS_POINTS\": \"5000\",\n \"FIXED_MIGRATION_FEE\": \"100000000000000000\",\n \"POOL_CREATION_FEE\": \"50000000000000000\",\n \"FIRST_BUY_FEE\": \"1500000000000000\",\n \"MC_UPPER_LIMIT\": \"11835000000000000000\",\n \"MC_LOWER_LIMIT\": \"11795000000000000000\",\n \"TOKENS_MIGRATION_THRESHOLD\": \"799764393968807750154100378\",\n \"TARGET_ETH_COLLECTION_AMOUNT\": \"2500759732077910169\",\n \"TARGET_COLLECTION_AMOUNT\": \"2500759732077910169\",\n \"SIGNER\": \"0x0000000000000000000000000000000000000000\",\n \"DEPLOYER\": \"0x30d197dd771d8f75378aad9428ed9d5e24bdbbbb\",\n \"FACTORY_OWNER\": \"0x2730B29aCbBCD34A59B720338e8d06619Fd71ACa\",\n \"PROTOCOL_REWARD_RECIPIENT\": \"0x2730B29aCbBCD34A59B720338e8d06619Fd71ACa\",\n \"UNISWAP_V3_NONFUNGIBLE_POSITION_MANAGER\": \"0x03a520b32C04BF3bEEf7BEb72E919cf822Ed34f1\",\n \"QUOTER_V2\": \"0x3d4e44Eb1374240CE5F1B871ab261CD16335B76a\",\n \"SWAP_ROUTER_V2\": \"0x2626664c2603336E57B271c5C0b26F421741e481\",\n \"UNISWAP_V2_ROUTER\": \"0x4752ba5dbc23f44d87826276bf6fd6b1c372ad24\",\n \"WETH\": \"0x4200000000000000000000000000000000000006\",\n \"V3_POOL_FEE\": \"10000\",\n \"TRADE_REFERRER_FEE_BPS\": \"1000\",\n \"CONTRACT_VERSION\": \"1.0.8\",\n \"V4_POOL_MANAGER\": \"0x498581ff718922c3f8e6a244956af099b2652b2b\",\n \"V4_POSITION_MANAGER\": \"0x7c5f5a4bbd8fd63184577525326123b519429bdc\",\n \"PERMIT2\": \"0x000000000022D473030F116dDEE9F6B43aC78BA3\",\n \"UNIVERSAL_ROUTER\": \"0x6ff5693b99212da76ad316178a184ab56d299b43\",\n \"V4_LP_FEE\": \"20000\",\n \"V4_TICK_SPACING\": \"60\",\n \"V4_LIQUIDITY_CONFIG\": \"0x00000000000000000000000000000000000000000000000000000000000000c800000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000001c000000000000000000000000000000000000000000000000000000000000002c000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff27660fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcced0fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd3780fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd6278fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd92e8fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe4a80fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81300000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcced0fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd36b8fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd6278fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe4a80fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe4a80fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffecf50fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffecf5000000000000000000000000000000000000000000000000000000000000000070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003e8000000000000000000000000000000000000000000000000000000000000138800000000000000000000000000000000000000000000000000000000000005dc00000000000000000000000000000000000000000000000000000000000007d000000000000000000000000000000000000000000000000000000000000001f40000000000000000000000000000000000000000000000000000000000000007000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000270600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\"\n}\n }, [84532]: {\n current: {\n \"TOTAL_SUPPLY\": \"1000000000000000000000000000\",\n \"VIRTUAL_TOKEN_RESERVES\": \"1088264899999999783900020736\",\n \"VIRTUAL_COLLATERAL_RESERVES\": \"902103736559999872\",\n \"FEE_BASIS_POINTS\": \"200\",\n \"DEX_FEE_BASIS_POINTS\": \"5000\",\n \"FIXED_MIGRATION_FEE\": \"100000000000000000\",\n \"POOL_CREATION_FEE\": \"50000000000000000\",\n \"FIRST_BUY_FEE\": \"1500000000000000\",\n \"MC_UPPER_LIMIT\": \"11835000000000000000\",\n \"MC_LOWER_LIMIT\": \"11795000000000000000\",\n \"TOKENS_MIGRATION_THRESHOLD\": \"799764393968807750154100378\",\n \"TARGET_ETH_COLLECTION_AMOUNT\": \"2500759732077910169\",\n \"TARGET_COLLECTION_AMOUNT\": \"2500759732077910169\",\n \"SIGNER\": \"0x0000000000000000000000000000000000000000\",\n \"DEPLOYER\": \"0x9575b2d4eeb082f777af9dae93702aea6d2769d3\",\n \"FACTORY_OWNER\": \"0x9575b2d4eeb082f777af9dae93702aea6d2769d3\",\n \"PROTOCOL_REWARD_RECIPIENT\": \"0x9575b2d4eeb082f777af9dae93702aea6d2769d3\",\n \"UNISWAP_V3_NONFUNGIBLE_POSITION_MANAGER\": \"0x27F971cb582BF9E50F397e4d29a5C7A34f11faA2\",\n \"QUOTER_V2\": \"0xC5290058841028F1614F3A6F0F5816cAd0df5E27\",\n \"SWAP_ROUTER_V2\": \"0x94cC0AaC535CCDB3C01d6787D6413C739ae12bc4\",\n \"UNISWAP_V2_ROUTER\": \"0x0000000000000000000000000000000000000000\",\n \"WETH\": \"0x4200000000000000000000000000000000000006\",\n \"V3_POOL_FEE\": \"10000\",\n \"TRADE_REFERRER_FEE_BPS\": \"1000\",\n \"CONTRACT_VERSION\": \"2.1.0\",\n \"V4_POOL_MANAGER\": \"0x05E73354cFDd6745C338b50BcFDfA3Aa6fA03408\",\n \"V4_POSITION_MANAGER\": \"0x4B2C77d209D3405F41a037Ec6c77F7F5b8e2ca80\",\n \"QUOTER_V4\": \"0x4A6513c898fe1B2d0E78d3b0e0A4a151589B1cBa\",\n \"PERMIT2\": \"0x000000000022D473030F116dDEE9F6B43aC78BA3\",\n \"UNIVERSAL_ROUTER\": \"0x492E6456D9528771018DeB9E87ef7750EF184104\",\n \"V4_LP_FEE\": \"20000\",\n \"V4_LIQUIDITY_CONFIG\": \"0x00000000000000000000000000000000000000000000000000000000000000c800000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000001c000000000000000000000000000000000000000000000000000000000000002c000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff27660fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcced0fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd3780fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd6278fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd92e8fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe4a80fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81300000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcced0fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd36b8fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd6278fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe4a80fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe4a80fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffecf50fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffecf5000000000000000000000000000000000000000000000000000000000000000070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003e8000000000000000000000000000000000000000000000000000000000000138800000000000000000000000000000000000000000000000000000000000005dc00000000000000000000000000000000000000000000000000000000000007d000000000000000000000000000000000000000000000000000000000000001f40000000000000000000000000000000000000000000000000000000000000007000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000270600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n \"COLLATERAL_TEMPLATES\": {\n \"ETH\": {\n \"ID\": \"ETH_DEFAULT\",\n \"COLLATERAL_TOKEN\": \"0x0000000000000000000000000000000000000000\",\n \"SYMBOL\": \"ETH\",\n \"DECIMALS\": 18,\n \"ENABLED\": true,\n \"TOTAL_SUPPLY\": \"1000000000000000000000000000\",\n \"VIRTUAL_TOKEN_RESERVES\": \"1088264899999999783900020736\",\n \"VIRTUAL_COLLATERAL_RESERVES\": \"902103736559999872\",\n \"FEE_BASIS_POINTS\": \"200\",\n \"FIXED_MIGRATION_FEE\": \"100000000000000000\",\n \"POOL_CREATION_FEE\": \"50000000000000000\",\n \"FIRST_BUY_FEE\": \"1500000000000000\",\n \"MC_UPPER_LIMIT\": \"11835000000000000000\",\n \"MC_LOWER_LIMIT\": \"11795000000000000000\",\n \"TOKENS_MIGRATION_THRESHOLD\": \"799764393968807750154100378\",\n \"TARGET_ETH_COLLECTION_AMOUNT\": \"2500759732077910169\",\n \"TARGET_COLLECTION_AMOUNT\": \"2500759732077910169\",\n \"V4_LP_FEE\": \"20000\",\n \"V4_LIQUIDITY_CONFIG\": \"0x00000000000000000000000000000000000000000000000000000000000000c800000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000001c000000000000000000000000000000000000000000000000000000000000002c000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff27660fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcced0fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd3780fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd6278fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd92e8fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe4a80fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81300000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcced0fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd36b8fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd6278fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe4a80fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe4a80fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffecf50fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffecf5000000000000000000000000000000000000000000000000000000000000000070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003e8000000000000000000000000000000000000000000000000000000000000138800000000000000000000000000000000000000000000000000000000000005dc00000000000000000000000000000000000000000000000000000000000007d000000000000000000000000000000000000000000000000000000000000001f40000000000000000000000000000000000000000000000000000000000000007000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000270600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\"\n },\n \"USDC\": {\n \"ID\": \"USDC_DEFAULT\",\n \"COLLATERAL_TOKEN\": \"0x4967BC4b61B3259856D1A925900263AB2B64F6de\",\n \"SYMBOL\": \"USDC\",\n \"DECIMALS\": 6,\n \"ENABLED\": true,\n \"TOTAL_SUPPLY\": \"1000000000000000000000000000\",\n \"VIRTUAL_TOKEN_RESERVES\": \"1090909090905000000000022918\",\n \"VIRTUAL_COLLATERAL_RESERVES\": \"2909090909\",\n \"FEE_BASIS_POINTS\": \"200\",\n \"FIXED_MIGRATION_FEE\": \"300000000\",\n \"POOL_CREATION_FEE\": \"200000000\",\n \"FIRST_BUY_FEE\": \"5000000\",\n \"MC_UPPER_LIMIT\": \"37560000000\",\n \"MC_LOWER_LIMIT\": \"37500000000\",\n \"TOKENS_MIGRATION_THRESHOLD\": \"800000000000000000000000000\",\n \"TARGET_USDC_COLLECTION_AMOUNT\": \"8000000000\",\n \"TARGET_COLLECTION_AMOUNT\": \"8000000000\",\n \"V4_LP_FEE\": \"20000\",\n \"V4_LIQUIDITY_CONFIG\": \"0x00000000000000000000000000000000000000000000000000000000000000c800000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000001c000000000000000000000000000000000000000000000000000000000000002c000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff27660fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9d2c0fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa3aa8fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa6a50fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa9b88fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb5320fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb89080000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9d2c0fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa39e0fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa6a50fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb5320fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb5320fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbd7f0fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbd7f000000000000000000000000000000000000000000000000000000000000000070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003e8000000000000000000000000000000000000000000000000000000000000138800000000000000000000000000000000000000000000000000000000000005dc00000000000000000000000000000000000000000000000000000000000007d000000000000000000000000000000000000000000000000000000000000001f40000000000000000000000000000000000000000000000000000000000000007000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000270600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\"\n },\n \"SOL\": {\n \"ID\": \"SOL_DEFAULT\",\n \"COLLATERAL_TOKEN\": \"0x887847e42F068df9D9C248B355ad84DbC7527070\",\n \"SYMBOL\": \"SOL\",\n \"DECIMALS\": 9,\n \"ENABLED\": true,\n \"TOTAL_SUPPLY\": \"1000000000000000000000000000\",\n \"VIRTUAL_TOKEN_RESERVES\": \"1090909090905000000000022917\",\n \"VIRTUAL_COLLATERAL_RESERVES\": \"23272727272\",\n \"FEE_BASIS_POINTS\": \"200\",\n \"FIXED_MIGRATION_FEE\": \"2400000000\",\n \"POOL_CREATION_FEE\": \"1600000000\",\n \"FIRST_BUY_FEE\": \"40000000\",\n \"MC_UPPER_LIMIT\": \"300480000003\",\n \"MC_LOWER_LIMIT\": \"300000000003\",\n \"TOKENS_MIGRATION_THRESHOLD\": \"800000000000000000000000000\",\n \"TARGET_COLLECTION_AMOUNT\": \"64000000000\",\n \"V4_LP_FEE\": \"20000\",\n \"V4_LIQUIDITY_CONFIG\": \"0x00000000000000000000000000000000000000000000000000000000000000c800000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000001c000000000000000000000000000000000000000000000000000000000000002c000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff27660fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa2400fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa8be8fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffabb90fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffaecc8fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffba460fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbda480000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa2400fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa8b20fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffabb90fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffba460fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffba460fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc2930fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc293000000000000000000000000000000000000000000000000000000000000000070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003e8000000000000000000000000000000000000000000000000000000000000138800000000000000000000000000000000000000000000000000000000000005dc00000000000000000000000000000000000000000000000000000000000007d000000000000000000000000000000000000000000000000000000000000001f40000000000000000000000000000000000000000000000000000000000000007000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000270600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\"\n }\n }\n},\n \"1.0.12\": {\n \"TOTAL_SUPPLY\": \"1000000000000000000000000000\",\n \"VIRTUAL_TOKEN_RESERVES\": \"1060000000000000000000000000\",\n \"VIRTUAL_COLLATERAL_RESERVES\": \"3250000000000000\",\n \"FEE_BASIS_POINTS\": \"200\",\n \"DEX_FEE_BASIS_POINTS\": \"5000\",\n \"FIXED_MIGRATION_FEE\": \"100000000000000\",\n \"POOL_CREATION_FEE\": \"100000000000000\",\n \"FIRST_BUY_FEE\": \"100000000000000\",\n \"MC_UPPER_LIMIT\": \"50961538461538464\",\n \"MC_LOWER_LIMIT\": \"45865384615384616\",\n \"TOKENS_MIGRATION_THRESHOLD\": \"793245628457859931534326380\",\n \"TARGET_ETH_COLLECTION_AMOUNT\": \"9320053699169239\",\n \"SIGNER\": \"0x0000000000000000000000000000000000000000\",\n \"DEPLOYER\": \"0x9575B2D4EEb082F777Af9DaE93702aEa6d2769d3\",\n \"FACTORY_OWNER\": \"0x9575B2D4EEb082F777Af9DaE93702aEa6d2769d3\",\n \"PROTOCOL_REWARD_RECIPIENT\": \"0x9575B2D4EEb082F777Af9DaE93702aEa6d2769d3\",\n \"UNISWAP_V3_NONFUNGIBLE_POSITION_MANAGER\": \"0x27F971cb582BF9E50F397e4d29a5C7A34f11faA2\",\n \"QUOTER_V2\": \"0xC5290058841028F1614F3A6F0F5816cAd0df5E27\",\n \"SWAP_ROUTER_V2\": \"0x94cC0AaC535CCDB3C01d6787D6413C739ae12bc4\",\n \"UNISWAP_V2_ROUTER\": \"0x0000000000000000000000000000000000000000\",\n \"WETH\": \"0x4200000000000000000000000000000000000006\",\n \"V3_POOL_FEE\": \"10000\",\n \"TRADE_REFERRER_FEE_BPS\": \"1000\",\n \"CONTRACT_VERSION\": \"1.0.12\"\n}, \"2.0.0\": {\n \"TOTAL_SUPPLY\": \"1000000000000000000000000000\",\n \"VIRTUAL_TOKEN_RESERVES\": \"1088264899999999783900020736\",\n \"VIRTUAL_COLLATERAL_RESERVES\": \"902103736559999872\",\n \"FEE_BASIS_POINTS\": \"200\",\n \"DEX_FEE_BASIS_POINTS\": \"5000\",\n \"FIXED_MIGRATION_FEE\": \"100000000000000000\",\n \"POOL_CREATION_FEE\": \"50000000000000000\",\n \"FIRST_BUY_FEE\": \"1500000000000000\",\n \"MC_UPPER_LIMIT\": \"11835000000000000000\",\n \"MC_LOWER_LIMIT\": \"11795000000000000000\",\n \"TOKENS_MIGRATION_THRESHOLD\": \"799764393968807750154100378\",\n \"TARGET_ETH_COLLECTION_AMOUNT\": \"2500759732077910169\",\n \"SIGNER\": \"0x0000000000000000000000000000000000000000\",\n \"DEPLOYER\": \"0x9575b2d4eeb082f777af9dae93702aea6d2769d3\",\n \"FACTORY_OWNER\": \"0x9575b2d4eeb082f777af9dae93702aea6d2769d3\",\n \"PROTOCOL_REWARD_RECIPIENT\": \"0x9575b2d4eeb082f777af9dae93702aea6d2769d3\",\n \"UNISWAP_V3_NONFUNGIBLE_POSITION_MANAGER\": \"0x27F971cb582BF9E50F397e4d29a5C7A34f11faA2\",\n \"QUOTER_V2\": \"0xC5290058841028F1614F3A6F0F5816cAd0df5E27\",\n \"SWAP_ROUTER_V2\": \"0x94cC0AaC535CCDB3C01d6787D6413C739ae12bc4\",\n \"UNISWAP_V2_ROUTER\": \"0x0000000000000000000000000000000000000000\",\n \"WETH\": \"0x4200000000000000000000000000000000000006\",\n \"V3_POOL_FEE\": \"10000\",\n \"TRADE_REFERRER_FEE_BPS\": \"1000\",\n \"CONTRACT_VERSION\": \"2.0.0\",\n \"V4_POOL_MANAGER\": \"0x05E73354cFDd6745C338b50BcFDfA3Aa6fA03408\",\n \"V4_POSITION_MANAGER\": \"0x4B2C77d209D3405F41a037Ec6c77F7F5b8e2ca80\",\n \"QUOTER_V4\": \"0x4A6513c898fe1B2d0E78d3b0e0A4a151589B1cBa\",\n \"PERMIT2\": \"0x000000000022D473030F116dDEE9F6B43aC78BA3\",\n \"UNIVERSAL_ROUTER\": \"0x492E6456D9528771018DeB9E87ef7750EF184104\",\n \"V4_LP_FEE\": \"20000\",\n \"V4_LIQUIDITY_CONFIG\": \"0x00000000000000000000000000000000000000000000000000000000000000c800000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000001c000000000000000000000000000000000000000000000000000000000000002c000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff27660fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcced0fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd3780fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd6278fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd92e8fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe4a80fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81300000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcced0fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd36b8fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd6278fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe4a80fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe4a80fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffecf50fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffecf5000000000000000000000000000000000000000000000000000000000000000070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003e8000000000000000000000000000000000000000000000000000000000000138800000000000000000000000000000000000000000000000000000000000005dc00000000000000000000000000000000000000000000000000000000000007d000000000000000000000000000000000000000000000000000000000000001f40000000000000000000000000000000000000000000000000000000000000007000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000270600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\"\n}, \"2.1.0\": {\n \"TOTAL_SUPPLY\": \"1000000000000000000000000000\",\n \"VIRTUAL_TOKEN_RESERVES\": \"1088264899999999783900020736\",\n \"VIRTUAL_COLLATERAL_RESERVES\": \"902103736559999872\",\n \"FEE_BASIS_POINTS\": \"200\",\n \"DEX_FEE_BASIS_POINTS\": \"5000\",\n \"FIXED_MIGRATION_FEE\": \"100000000000000000\",\n \"POOL_CREATION_FEE\": \"50000000000000000\",\n \"FIRST_BUY_FEE\": \"1500000000000000\",\n \"MC_UPPER_LIMIT\": \"11835000000000000000\",\n \"MC_LOWER_LIMIT\": \"11795000000000000000\",\n \"TOKENS_MIGRATION_THRESHOLD\": \"799764393968807750154100378\",\n \"TARGET_ETH_COLLECTION_AMOUNT\": \"2500759732077910169\",\n \"TARGET_COLLECTION_AMOUNT\": \"2500759732077910169\",\n \"SIGNER\": \"0x0000000000000000000000000000000000000000\",\n \"DEPLOYER\": \"0x9575b2d4eeb082f777af9dae93702aea6d2769d3\",\n \"FACTORY_OWNER\": \"0x9575b2d4eeb082f777af9dae93702aea6d2769d3\",\n \"PROTOCOL_REWARD_RECIPIENT\": \"0x9575b2d4eeb082f777af9dae93702aea6d2769d3\",\n \"UNISWAP_V3_NONFUNGIBLE_POSITION_MANAGER\": \"0x27F971cb582BF9E50F397e4d29a5C7A34f11faA2\",\n \"QUOTER_V2\": \"0xC5290058841028F1614F3A6F0F5816cAd0df5E27\",\n \"SWAP_ROUTER_V2\": \"0x94cC0AaC535CCDB3C01d6787D6413C739ae12bc4\",\n \"UNISWAP_V2_ROUTER\": \"0x0000000000000000000000000000000000000000\",\n \"WETH\": \"0x4200000000000000000000000000000000000006\",\n \"V3_POOL_FEE\": \"10000\",\n \"TRADE_REFERRER_FEE_BPS\": \"1000\",\n \"CONTRACT_VERSION\": \"2.1.0\",\n \"V4_POOL_MANAGER\": \"0x05E73354cFDd6745C338b50BcFDfA3Aa6fA03408\",\n \"V4_POSITION_MANAGER\": \"0x4B2C77d209D3405F41a037Ec6c77F7F5b8e2ca80\",\n \"QUOTER_V4\": \"0x4A6513c898fe1B2d0E78d3b0e0A4a151589B1cBa\",\n \"PERMIT2\": \"0x000000000022D473030F116dDEE9F6B43aC78BA3\",\n \"UNIVERSAL_ROUTER\": \"0x492E6456D9528771018DeB9E87ef7750EF184104\",\n \"V4_LP_FEE\": \"20000\",\n \"V4_LIQUIDITY_CONFIG\": \"0x00000000000000000000000000000000000000000000000000000000000000c800000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000001c000000000000000000000000000000000000000000000000000000000000002c000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff27660fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcced0fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd3780fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd6278fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd92e8fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe4a80fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81300000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcced0fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd36b8fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd6278fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe4a80fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe4a80fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffecf50fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffecf5000000000000000000000000000000000000000000000000000000000000000070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003e8000000000000000000000000000000000000000000000000000000000000138800000000000000000000000000000000000000000000000000000000000005dc00000000000000000000000000000000000000000000000000000000000007d000000000000000000000000000000000000000000000000000000000000001f40000000000000000000000000000000000000000000000000000000000000007000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000270600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n \"COLLATERAL_TEMPLATES\": {\n \"ETH\": {\n \"ID\": \"ETH_DEFAULT\",\n \"COLLATERAL_TOKEN\": \"0x0000000000000000000000000000000000000000\",\n \"SYMBOL\": \"ETH\",\n \"DECIMALS\": 18,\n \"ENABLED\": true,\n \"TOTAL_SUPPLY\": \"1000000000000000000000000000\",\n \"VIRTUAL_TOKEN_RESERVES\": \"1088264899999999783900020736\",\n \"VIRTUAL_COLLATERAL_RESERVES\": \"902103736559999872\",\n \"FEE_BASIS_POINTS\": \"200\",\n \"FIXED_MIGRATION_FEE\": \"100000000000000000\",\n \"POOL_CREATION_FEE\": \"50000000000000000\",\n \"FIRST_BUY_FEE\": \"1500000000000000\",\n \"MC_UPPER_LIMIT\": \"11835000000000000000\",\n \"MC_LOWER_LIMIT\": \"11795000000000000000\",\n \"TOKENS_MIGRATION_THRESHOLD\": \"799764393968807750154100378\",\n \"TARGET_ETH_COLLECTION_AMOUNT\": \"2500759732077910169\",\n \"TARGET_COLLECTION_AMOUNT\": \"2500759732077910169\",\n \"V4_LP_FEE\": \"20000\",\n \"V4_LIQUIDITY_CONFIG\": \"0x00000000000000000000000000000000000000000000000000000000000000c800000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000001c000000000000000000000000000000000000000000000000000000000000002c000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff27660fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcced0fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd3780fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd6278fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd92e8fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe4a80fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81300000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcced0fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd36b8fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd6278fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe4a80fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe4a80fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffecf50fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffecf5000000000000000000000000000000000000000000000000000000000000000070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003e8000000000000000000000000000000000000000000000000000000000000138800000000000000000000000000000000000000000000000000000000000005dc00000000000000000000000000000000000000000000000000000000000007d000000000000000000000000000000000000000000000000000000000000001f40000000000000000000000000000000000000000000000000000000000000007000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000270600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\"\n },\n \"USDC\": {\n \"ID\": \"USDC_DEFAULT\",\n \"COLLATERAL_TOKEN\": \"0x4967BC4b61B3259856D1A925900263AB2B64F6de\",\n \"SYMBOL\": \"USDC\",\n \"DECIMALS\": 6,\n \"ENABLED\": true,\n \"TOTAL_SUPPLY\": \"1000000000000000000000000000\",\n \"VIRTUAL_TOKEN_RESERVES\": \"1090909090905000000000022918\",\n \"VIRTUAL_COLLATERAL_RESERVES\": \"2909090909\",\n \"FEE_BASIS_POINTS\": \"200\",\n \"FIXED_MIGRATION_FEE\": \"300000000\",\n \"POOL_CREATION_FEE\": \"200000000\",\n \"FIRST_BUY_FEE\": \"5000000\",\n \"MC_UPPER_LIMIT\": \"37560000000\",\n \"MC_LOWER_LIMIT\": \"37500000000\",\n \"TOKENS_MIGRATION_THRESHOLD\": \"800000000000000000000000000\",\n \"TARGET_USDC_COLLECTION_AMOUNT\": \"8000000000\",\n \"TARGET_COLLECTION_AMOUNT\": \"8000000000\",\n \"V4_LP_FEE\": \"20000\",\n \"V4_LIQUIDITY_CONFIG\": \"0x00000000000000000000000000000000000000000000000000000000000000c800000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000001c000000000000000000000000000000000000000000000000000000000000002c000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff27660fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9d2c0fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa3aa8fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa6a50fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa9b88fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb5320fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb89080000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9d2c0fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa39e0fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa6a50fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb5320fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb5320fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbd7f0fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbd7f000000000000000000000000000000000000000000000000000000000000000070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003e8000000000000000000000000000000000000000000000000000000000000138800000000000000000000000000000000000000000000000000000000000005dc00000000000000000000000000000000000000000000000000000000000007d000000000000000000000000000000000000000000000000000000000000001f40000000000000000000000000000000000000000000000000000000000000007000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000270600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\"\n },\n \"SOL\": {\n \"ID\": \"SOL_DEFAULT\",\n \"COLLATERAL_TOKEN\": \"0x887847e42F068df9D9C248B355ad84DbC7527070\",\n \"SYMBOL\": \"SOL\",\n \"DECIMALS\": 9,\n \"ENABLED\": true,\n \"TOTAL_SUPPLY\": \"1000000000000000000000000000\",\n \"VIRTUAL_TOKEN_RESERVES\": \"1090909090905000000000022917\",\n \"VIRTUAL_COLLATERAL_RESERVES\": \"23272727272\",\n \"FEE_BASIS_POINTS\": \"200\",\n \"FIXED_MIGRATION_FEE\": \"2400000000\",\n \"POOL_CREATION_FEE\": \"1600000000\",\n \"FIRST_BUY_FEE\": \"40000000\",\n \"MC_UPPER_LIMIT\": \"300480000003\",\n \"MC_LOWER_LIMIT\": \"300000000003\",\n \"TOKENS_MIGRATION_THRESHOLD\": \"800000000000000000000000000\",\n \"TARGET_COLLECTION_AMOUNT\": \"64000000000\",\n \"V4_LP_FEE\": \"20000\",\n \"V4_LIQUIDITY_CONFIG\": \"0x00000000000000000000000000000000000000000000000000000000000000c800000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000001c000000000000000000000000000000000000000000000000000000000000002c000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff27660fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa2400fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa8be8fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffabb90fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffaecc8fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffba460fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbda480000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa2400fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa8b20fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffabb90fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffba460fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffba460fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc2930fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc293000000000000000000000000000000000000000000000000000000000000000070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003e8000000000000000000000000000000000000000000000000000000000000138800000000000000000000000000000000000000000000000000000000000005dc00000000000000000000000000000000000000000000000000000000000007d000000000000000000000000000000000000000000000000000000000000001f40000000000000000000000000000000000000000000000000000000000000007000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000270600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\"\n }\n }\n}\n }\n };"],"mappings":"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","names":[]}
|
|
1
|
+
{"version":3,"sources":["../package/index.ts","../package/wagmiGenerated.ts","../package/chainConfigs.ts"],"sourcesContent":["// the below files are auto-generated and will be\n// built at build time. They are not checked in to git.\n// The can be generated by running `yarn prepack` in the root\nexport * from './wagmiGenerated';\nimport { chainConfigs } from './chainConfigs';\n\nexport { chainConfigs as chainConfigs };","//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n// BasememeFactory\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n/**\n * - [__View Contract on Base Basescan__](https://basescan.org/address/0x0000000000000000000000000000000000000000)\n * - [__View Contract on Base Sepolia Blockscout__](https://base-sepolia.blockscout.com/address/0xF8B83Da32D7722613A055005C8e4A8e98F8ED755)\n */\nexport const basememeFactoryABI = [\n {\n stateMutability: 'nonpayable',\n type: 'constructor',\n inputs: [{ name: '_logic', internalType: 'address', type: 'address' }],\n },\n { stateMutability: 'payable', type: 'fallback' },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'implementation',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n ],\n name: 'Upgraded',\n },\n {\n type: 'error',\n inputs: [{ name: 'target', internalType: 'address', type: 'address' }],\n name: 'AddressEmptyCode',\n },\n {\n type: 'error',\n inputs: [\n { name: 'implementation', internalType: 'address', type: 'address' },\n ],\n name: 'ERC1967InvalidImplementation',\n },\n { type: 'error', inputs: [], name: 'ERC1967NonPayable' },\n { type: 'error', inputs: [], name: 'FailedCall' },\n] as const\n\n/**\n * - [__View Contract on Base Basescan__](https://basescan.org/address/0x0000000000000000000000000000000000000000)\n * - [__View Contract on Base Sepolia Blockscout__](https://base-sepolia.blockscout.com/address/0xF8B83Da32D7722613A055005C8e4A8e98F8ED755)\n */\nexport const basememeFactoryAddress = {\n 8453: '0x0000000000000000000000000000000000000000',\n 84532: '0xF8B83Da32D7722613A055005C8e4A8e98F8ED755',\n} as const\n\n/**\n * - [__View Contract on Base Basescan__](https://basescan.org/address/0x0000000000000000000000000000000000000000)\n * - [__View Contract on Base Sepolia Blockscout__](https://base-sepolia.blockscout.com/address/0xF8B83Da32D7722613A055005C8e4A8e98F8ED755)\n */\nexport const basememeFactoryConfig = {\n address: basememeFactoryAddress,\n abi: basememeFactoryABI,\n} as const\n\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n// BasememeFactoryImpl\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n/**\n * - [__View Contract on Base Basescan__](https://basescan.org/address/0x0000000000000000000000000000000000000000)\n * - [__View Contract on Base Sepolia Blockscout__](https://base-sepolia.blockscout.com/address/0xD5b632Eb60Ebf8a4E924890e4599557D3bFEa6BA)\n */\nexport const basememeFactoryImplABI = [\n { stateMutability: 'nonpayable', type: 'constructor', inputs: [] },\n { stateMutability: 'payable', type: 'receive' },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [],\n name: 'UPGRADE_INTERFACE_VERSION',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [],\n name: 'bondingCurveImplementation',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n },\n {\n stateMutability: 'payable',\n type: 'function',\n inputs: [\n { name: '_token', internalType: 'address', type: 'address' },\n { name: '_amountOutMin', internalType: 'uint256', type: 'uint256' },\n { name: '_tradeReferrer', internalType: 'address', type: 'address' },\n ],\n name: 'buyExactIn',\n outputs: [],\n },\n {\n stateMutability: 'payable',\n type: 'function',\n inputs: [\n { name: '_token', internalType: 'address', type: 'address' },\n { name: '_amountOutMin', internalType: 'uint256', type: 'uint256' },\n { name: '_tradeReferrer', internalType: 'address', type: 'address' },\n { name: '_to', internalType: 'address', type: 'address' },\n ],\n name: 'buyExactInTo',\n outputs: [],\n },\n {\n stateMutability: 'payable',\n type: 'function',\n inputs: [\n { name: '_token', internalType: 'address', type: 'address' },\n { name: '_collateralAmountIn', internalType: 'uint256', type: 'uint256' },\n { name: '_amountOutMin', internalType: 'uint256', type: 'uint256' },\n { name: '_tradeReferrer', internalType: 'address', type: 'address' },\n ],\n name: 'buyExactInWithCollateral',\n outputs: [],\n },\n {\n stateMutability: 'payable',\n type: 'function',\n inputs: [\n { name: '_token', internalType: 'address', type: 'address' },\n { name: '_collateralAmountIn', internalType: 'uint256', type: 'uint256' },\n { name: '_amountOutMin', internalType: 'uint256', type: 'uint256' },\n { name: '_tradeReferrer', internalType: 'address', type: 'address' },\n { name: '_to', internalType: 'address', type: 'address' },\n ],\n name: 'buyExactInWithCollateralTo',\n outputs: [],\n },\n {\n stateMutability: 'payable',\n type: 'function',\n inputs: [\n { name: '_token', internalType: 'address', type: 'address' },\n { name: '_tokenAmount', internalType: 'uint256', type: 'uint256' },\n {\n name: '_maxCollateralAmount',\n internalType: 'uint256',\n type: 'uint256',\n },\n { name: '_tradeReferrer', internalType: 'address', type: 'address' },\n ],\n name: 'buyExactOut',\n outputs: [],\n },\n {\n stateMutability: 'payable',\n type: 'function',\n inputs: [\n { name: '_token', internalType: 'address', type: 'address' },\n { name: '_tokenAmount', internalType: 'uint256', type: 'uint256' },\n {\n name: '_maxCollateralAmount',\n internalType: 'uint256',\n type: 'uint256',\n },\n { name: '_tradeReferrer', internalType: 'address', type: 'address' },\n { name: '_to', internalType: 'address', type: 'address' },\n ],\n name: 'buyExactOutTo',\n outputs: [],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [],\n name: 'chainV4ConfigVersion',\n outputs: [{ name: '', internalType: 'uint8', type: 'uint8' }],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [],\n name: 'chainV4LiquidityConfig',\n outputs: [{ name: '', internalType: 'bytes', type: 'bytes' }],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [{ name: '', internalType: 'address', type: 'address' }],\n name: 'collateralConfigs',\n outputs: [\n {\n name: 'curveParams',\n internalType: 'struct IBondingCurve.CurveParams',\n type: 'tuple',\n components: [\n {\n name: 'initialTokenSupply',\n internalType: 'uint256',\n type: 'uint256',\n },\n {\n name: 'virtualCollateralReservesInitial',\n internalType: 'uint256',\n type: 'uint256',\n },\n {\n name: 'virtualTokenReservesInitial',\n internalType: 'uint256',\n type: 'uint256',\n },\n { name: 'feeBPS', internalType: 'uint256', type: 'uint256' },\n { name: 'mcLowerLimit', internalType: 'uint256', type: 'uint256' },\n { name: 'mcUpperLimit', internalType: 'uint256', type: 'uint256' },\n {\n name: 'tokensMigrationThreshold',\n internalType: 'uint256',\n type: 'uint256',\n },\n {\n name: 'fixedMigrationFee',\n internalType: 'uint256',\n type: 'uint256',\n },\n { name: 'poolCreationFee', internalType: 'uint256', type: 'uint256' },\n { name: 'firstBuyFee', internalType: 'uint256', type: 'uint256' },\n {\n name: 'targetCollectionAmount',\n internalType: 'uint256',\n type: 'uint256',\n },\n { name: 'collateralToken', internalType: 'address', type: 'address' },\n { name: 'v4LpFee', internalType: 'uint24', type: 'uint24' },\n ],\n },\n { name: 'v4LiquidityConfig', internalType: 'bytes', type: 'bytes' },\n { name: 'v4ConfigVersion', internalType: 'uint8', type: 'uint8' },\n ],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [{ name: '', internalType: 'address', type: 'address' }],\n name: 'collateralEnabled',\n outputs: [{ name: '', internalType: 'bool', type: 'bool' }],\n },\n {\n stateMutability: 'pure',\n type: 'function',\n inputs: [],\n name: 'contractVersion',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n },\n {\n stateMutability: 'nonpayable',\n type: 'function',\n inputs: [\n { name: '_name', internalType: 'string', type: 'string' },\n { name: '_symbol', internalType: 'string', type: 'string' },\n { name: '_tokenURI', internalType: 'string', type: 'string' },\n { name: '_nonce', internalType: 'uint256', type: 'uint256' },\n { name: '_signature', internalType: 'bytes', type: 'bytes' },\n { name: '_platformReferrer', internalType: 'address', type: 'address' },\n { name: '_payoutRecipient', internalType: 'address', type: 'address' },\n { name: '_tokenSalt', internalType: 'bytes32', type: 'bytes32' },\n ],\n name: 'createBasememeToken',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n },\n {\n stateMutability: 'nonpayable',\n type: 'function',\n inputs: [\n { name: '_name', internalType: 'string', type: 'string' },\n { name: '_symbol', internalType: 'string', type: 'string' },\n { name: '_tokenURI', internalType: 'string', type: 'string' },\n { name: '_nonce', internalType: 'uint256', type: 'uint256' },\n { name: '_signature', internalType: 'bytes', type: 'bytes' },\n { name: '_platformReferrer', internalType: 'address', type: 'address' },\n { name: '_payoutRecipient', internalType: 'address', type: 'address' },\n { name: '_owner', internalType: 'address', type: 'address' },\n ],\n name: 'createBasememeToken',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n },\n {\n stateMutability: 'payable',\n type: 'function',\n inputs: [\n { name: '_name', internalType: 'string', type: 'string' },\n { name: '_symbol', internalType: 'string', type: 'string' },\n { name: '_tokenURI', internalType: 'string', type: 'string' },\n { name: '_nonce', internalType: 'uint256', type: 'uint256' },\n { name: '_tokenAmountMin', internalType: 'uint256', type: 'uint256' },\n { name: '_signature', internalType: 'bytes', type: 'bytes' },\n { name: '_platformReferrer', internalType: 'address', type: 'address' },\n { name: '_payoutRecipient', internalType: 'address', type: 'address' },\n { name: '_tokenSalt', internalType: 'bytes32', type: 'bytes32' },\n ],\n name: 'createBasememeTokenAndBuy',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n },\n {\n stateMutability: 'payable',\n type: 'function',\n inputs: [\n { name: '_name', internalType: 'string', type: 'string' },\n { name: '_symbol', internalType: 'string', type: 'string' },\n { name: '_tokenURI', internalType: 'string', type: 'string' },\n { name: '_nonce', internalType: 'uint256', type: 'uint256' },\n { name: '_tokenAmountMin', internalType: 'uint256', type: 'uint256' },\n { name: '_signature', internalType: 'bytes', type: 'bytes' },\n { name: '_platformReferrer', internalType: 'address', type: 'address' },\n { name: '_payoutRecipient', internalType: 'address', type: 'address' },\n { name: '_owner', internalType: 'address', type: 'address' },\n ],\n name: 'createBasememeTokenAndBuy',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n },\n {\n stateMutability: 'payable',\n type: 'function',\n inputs: [\n { name: '_name', internalType: 'string', type: 'string' },\n { name: '_symbol', internalType: 'string', type: 'string' },\n { name: '_tokenURI', internalType: 'string', type: 'string' },\n { name: '_nonce', internalType: 'uint256', type: 'uint256' },\n { name: '_collateralAmountIn', internalType: 'uint256', type: 'uint256' },\n { name: '_tokenAmountMin', internalType: 'uint256', type: 'uint256' },\n { name: '_signature', internalType: 'bytes', type: 'bytes' },\n { name: '_platformReferrer', internalType: 'address', type: 'address' },\n { name: '_payoutRecipient', internalType: 'address', type: 'address' },\n { name: '_tokenSalt', internalType: 'bytes32', type: 'bytes32' },\n { name: '_collateralToken', internalType: 'address', type: 'address' },\n ],\n name: 'createBasememeTokenAndBuyWithCollateral',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n },\n {\n stateMutability: 'nonpayable',\n type: 'function',\n inputs: [\n { name: '_name', internalType: 'string', type: 'string' },\n { name: '_symbol', internalType: 'string', type: 'string' },\n { name: '_tokenURI', internalType: 'string', type: 'string' },\n { name: '_nonce', internalType: 'uint256', type: 'uint256' },\n { name: '_signature', internalType: 'bytes', type: 'bytes' },\n { name: '_platformReferrer', internalType: 'address', type: 'address' },\n { name: '_payoutRecipient', internalType: 'address', type: 'address' },\n { name: '_tokenSalt', internalType: 'bytes32', type: 'bytes32' },\n { name: '_collateralToken', internalType: 'address', type: 'address' },\n ],\n name: 'createBasememeTokenWithCollateral',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [],\n name: 'getV4LiquidityConfig',\n outputs: [\n { name: 'cfg', internalType: 'bytes', type: 'bytes' },\n { name: 'version', internalType: 'uint8', type: 'uint8' },\n ],\n },\n {\n stateMutability: 'nonpayable',\n type: 'function',\n inputs: [\n { name: '_factoryOwner', internalType: 'address', type: 'address' },\n { name: '_signer', internalType: 'address', type: 'address' },\n {\n name: '_bondingCurveImplementation',\n internalType: 'address',\n type: 'address',\n },\n { name: '_chainV4LiquidityConfig', internalType: 'bytes', type: 'bytes' },\n { name: '_chainV4ConfigVersion', internalType: 'uint8', type: 'uint8' },\n ],\n name: 'initialize',\n outputs: [],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [],\n name: 'isSignatureEnabled',\n outputs: [{ name: '', internalType: 'bool', type: 'bool' }],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [{ name: '', internalType: 'address', type: 'address' }],\n name: 'isTrustedCaller',\n outputs: [{ name: '', internalType: 'bool', type: 'bool' }],\n },\n {\n stateMutability: 'nonpayable',\n type: 'function',\n inputs: [{ name: '_token', internalType: 'address', type: 'address' }],\n name: 'migrate',\n outputs: [],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [{ name: '', internalType: 'address', type: 'address' }],\n name: 'nonces',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [],\n name: 'owner',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [],\n name: 'proxiableUUID',\n outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [{ name: '', internalType: 'address', type: 'address' }],\n name: 'readyForMigration',\n outputs: [{ name: '', internalType: 'bool', type: 'bool' }],\n },\n {\n stateMutability: 'nonpayable',\n type: 'function',\n inputs: [],\n name: 'renounceOwnership',\n outputs: [],\n },\n {\n stateMutability: 'nonpayable',\n type: 'function',\n inputs: [\n { name: '_token', internalType: 'address', type: 'address' },\n { name: '_tokenAmount', internalType: 'uint256', type: 'uint256' },\n {\n name: '_amountCollateralMin',\n internalType: 'uint256',\n type: 'uint256',\n },\n { name: '_tradeReferrer', internalType: 'address', type: 'address' },\n ],\n name: 'sellExactIn',\n outputs: [],\n },\n {\n stateMutability: 'nonpayable',\n type: 'function',\n inputs: [\n { name: '_token', internalType: 'address', type: 'address' },\n { name: '_from', internalType: 'address', type: 'address' },\n { name: '_tokenAmount', internalType: 'uint256', type: 'uint256' },\n {\n name: '_amountCollateralMin',\n internalType: 'uint256',\n type: 'uint256',\n },\n { name: '_tradeReferrer', internalType: 'address', type: 'address' },\n ],\n name: 'sellExactInFrom',\n outputs: [],\n },\n {\n stateMutability: 'nonpayable',\n type: 'function',\n inputs: [\n { name: '_token', internalType: 'address', type: 'address' },\n { name: '_tokenAmountMax', internalType: 'uint256', type: 'uint256' },\n { name: '_amountCollateral', internalType: 'uint256', type: 'uint256' },\n { name: '_tradeReferrer', internalType: 'address', type: 'address' },\n ],\n name: 'sellExactOut',\n outputs: [],\n },\n {\n stateMutability: 'nonpayable',\n type: 'function',\n inputs: [\n { name: '_token', internalType: 'address', type: 'address' },\n { name: '_from', internalType: 'address', type: 'address' },\n { name: '_tokenAmountMax', internalType: 'uint256', type: 'uint256' },\n { name: '_amountCollateral', internalType: 'uint256', type: 'uint256' },\n { name: '_tradeReferrer', internalType: 'address', type: 'address' },\n ],\n name: 'sellExactOutFrom',\n outputs: [],\n },\n {\n stateMutability: 'nonpayable',\n type: 'function',\n inputs: [\n {\n name: '_bondingCurveImplementation',\n internalType: 'address',\n type: 'address',\n },\n ],\n name: 'setBondingCurveImplementation',\n outputs: [],\n },\n {\n stateMutability: 'nonpayable',\n type: 'function',\n inputs: [\n { name: '_collateralToken', internalType: 'address', type: 'address' },\n {\n name: 'params',\n internalType: 'struct IBondingCurve.CurveParams',\n type: 'tuple',\n components: [\n {\n name: 'initialTokenSupply',\n internalType: 'uint256',\n type: 'uint256',\n },\n {\n name: 'virtualCollateralReservesInitial',\n internalType: 'uint256',\n type: 'uint256',\n },\n {\n name: 'virtualTokenReservesInitial',\n internalType: 'uint256',\n type: 'uint256',\n },\n { name: 'feeBPS', internalType: 'uint256', type: 'uint256' },\n { name: 'mcLowerLimit', internalType: 'uint256', type: 'uint256' },\n { name: 'mcUpperLimit', internalType: 'uint256', type: 'uint256' },\n {\n name: 'tokensMigrationThreshold',\n internalType: 'uint256',\n type: 'uint256',\n },\n {\n name: 'fixedMigrationFee',\n internalType: 'uint256',\n type: 'uint256',\n },\n { name: 'poolCreationFee', internalType: 'uint256', type: 'uint256' },\n { name: 'firstBuyFee', internalType: 'uint256', type: 'uint256' },\n {\n name: 'targetCollectionAmount',\n internalType: 'uint256',\n type: 'uint256',\n },\n { name: 'collateralToken', internalType: 'address', type: 'address' },\n { name: 'v4LpFee', internalType: 'uint24', type: 'uint24' },\n ],\n },\n { name: 'v4LiquidityConfig', internalType: 'bytes', type: 'bytes' },\n { name: 'v4ConfigVersion', internalType: 'uint8', type: 'uint8' },\n ],\n name: 'setCollateralConfig',\n outputs: [],\n },\n {\n stateMutability: 'nonpayable',\n type: 'function',\n inputs: [\n { name: '_collateralToken', internalType: 'address', type: 'address' },\n { name: 'enabled', internalType: 'bool', type: 'bool' },\n ],\n name: 'setCollateralEnabled',\n outputs: [],\n },\n {\n stateMutability: 'nonpayable',\n type: 'function',\n inputs: [\n { name: '_isSignatureEnabled', internalType: 'bool', type: 'bool' },\n ],\n name: 'setIsSignatureEnabled',\n outputs: [],\n },\n {\n stateMutability: 'nonpayable',\n type: 'function',\n inputs: [{ name: '_signer', internalType: 'address', type: 'address' }],\n name: 'setSigner',\n outputs: [],\n },\n {\n stateMutability: 'nonpayable',\n type: 'function',\n inputs: [\n { name: 'caller', internalType: 'address', type: 'address' },\n { name: 'allowed', internalType: 'bool', type: 'bool' },\n ],\n name: 'setTrustedCaller',\n outputs: [],\n },\n {\n stateMutability: 'nonpayable',\n type: 'function',\n inputs: [\n { name: 'cfg', internalType: 'bytes', type: 'bytes' },\n { name: 'version', internalType: 'uint8', type: 'uint8' },\n ],\n name: 'setV4LiquidityConfig',\n outputs: [],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [],\n name: 'signer',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [{ name: '', internalType: 'address', type: 'address' }],\n name: 'tokenToBondingCurve',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [{ name: '', internalType: 'address', type: 'address' }],\n name: 'tokenToCollateralToken',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n },\n {\n stateMutability: 'nonpayable',\n type: 'function',\n inputs: [{ name: 'newOwner', internalType: 'address', type: 'address' }],\n name: 'transferOwnership',\n outputs: [],\n },\n {\n stateMutability: 'payable',\n type: 'function',\n inputs: [\n { name: 'newImplementation', internalType: 'address', type: 'address' },\n { name: 'data', internalType: 'bytes', type: 'bytes' },\n ],\n name: 'upgradeToAndCall',\n outputs: [],\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'buyer',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'token',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'tokenAmount',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'collateralAmount',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'refund',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'tradeFee',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'curveProgressBps',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'virtualCollateralReserves',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'virtualTokenReserves',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'collateralReserves',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'tokenReserves',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n ],\n name: 'Buy',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'caller',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'recipient',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'token',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n ],\n name: 'BuyRecipient',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'collateralToken',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n { name: 'enabled', internalType: 'bool', type: 'bool', indexed: false },\n ],\n name: 'CollateralEnabledUpdated',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'version',\n internalType: 'uint64',\n type: 'uint64',\n indexed: false,\n },\n ],\n name: 'Initialized',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'token',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n ],\n name: 'MarketcapReached',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'token',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n {\n name: 'tokenId',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'liquidity',\n internalType: 'uint128',\n type: 'uint128',\n indexed: false,\n },\n {\n name: 'amount0',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'amount1',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'migrationFee',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n ],\n name: 'Migrated',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'addr',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n {\n name: 'bondingCurve',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n {\n name: 'creator',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n {\n name: 'signature',\n internalType: 'bytes',\n type: 'bytes',\n indexed: false,\n },\n {\n name: 'platformReferrer',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n {\n name: 'payoutRecipient',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n {\n name: 'owner',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n {\n name: 'nonce',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n { name: 'name', internalType: 'string', type: 'string', indexed: false },\n {\n name: 'symbol',\n internalType: 'string',\n type: 'string',\n indexed: false,\n },\n {\n name: 'tokenURI',\n internalType: 'string',\n type: 'string',\n indexed: false,\n },\n {\n name: 'version',\n internalType: 'string',\n type: 'string',\n indexed: false,\n },\n ],\n name: 'NewBasememeToken',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n { name: 'addr', internalType: 'address', type: 'address', indexed: true },\n {\n name: 'bondingCurve',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'initialTokenSupply',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'virtualCollateralReservesInitial',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'virtualTokenReservesInitial',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'feeBPS',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'mcLowerLimit',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'mcUpperLimit',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'tokensMigrationThreshold',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'fixedMigrationFee',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'poolCreationFee',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'firstBuyFee',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'targetCollectionAmount',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'collateralToken',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n {\n name: 'v4LpFee',\n internalType: 'uint24',\n type: 'uint24',\n indexed: false,\n },\n ],\n name: 'NewBasememeTokenCurveParams',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'previousOwner',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'newOwner',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n ],\n name: 'OwnershipTransferred',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'seller',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'token',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'tokenAmount',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'collateralAmount',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'tradeFee',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'curveProgressBps',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'virtualCollateralReserves',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'virtualTokenReserves',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'collateralReserves',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'tokenReserves',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n ],\n name: 'Sell',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'caller',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'recipient',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'token',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n ],\n name: 'SellRecipient',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'caller',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n { name: 'allowed', internalType: 'bool', type: 'bool', indexed: false },\n ],\n name: 'TrustedCallerUpdated',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'implementation',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n ],\n name: 'Upgraded',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'cfgHash',\n internalType: 'bytes32',\n type: 'bytes32',\n indexed: false,\n },\n { name: 'version', internalType: 'uint8', type: 'uint8', indexed: false },\n ],\n name: 'V4ChainConfigUpdated',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'token',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n {\n name: 'pairedToken',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n {\n name: 'tokensToMigrate',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'tokensToBurn',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'collateralAmount',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'positionId',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'poolkey',\n internalType: 'struct PoolKey',\n type: 'tuple',\n components: [\n { name: 'currency0', internalType: 'Currency', type: 'address' },\n { name: 'currency1', internalType: 'Currency', type: 'address' },\n { name: 'fee', internalType: 'uint24', type: 'uint24' },\n { name: 'tickSpacing', internalType: 'int24', type: 'int24' },\n { name: 'hooks', internalType: 'contract IHooks', type: 'address' },\n ],\n indexed: false,\n },\n ],\n name: 'V4Migrated',\n },\n {\n type: 'error',\n inputs: [{ name: 'target', internalType: 'address', type: 'address' }],\n name: 'AddressEmptyCode',\n },\n {\n type: 'error',\n inputs: [],\n name: 'BuyExactInUnsupportedForErc20Collateral',\n },\n { type: 'error', inputs: [], name: 'CollateralDisabled' },\n { type: 'error', inputs: [], name: 'CurveParamsNotSet' },\n { type: 'error', inputs: [], name: 'DexTreasuryZeroValue' },\n {\n type: 'error',\n inputs: [\n { name: 'implementation', internalType: 'address', type: 'address' },\n ],\n name: 'ERC1967InvalidImplementation',\n },\n { type: 'error', inputs: [], name: 'ERC1967NonPayable' },\n { type: 'error', inputs: [], name: 'FailedCall' },\n { type: 'error', inputs: [], name: 'FailedDeployment' },\n { type: 'error', inputs: [], name: 'FailedToSendETH' },\n { type: 'error', inputs: [], name: 'FeeBPSCheckFailed' },\n {\n type: 'error',\n inputs: [\n { name: 'balance', internalType: 'uint256', type: 'uint256' },\n { name: 'needed', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'InsufficientBalance',\n },\n { type: 'error', inputs: [], name: 'InvalidExactInCollateralAmount' },\n { type: 'error', inputs: [], name: 'InvalidFrom' },\n { type: 'error', inputs: [], name: 'InvalidInitialization' },\n { type: 'error', inputs: [], name: 'InvalidNonce' },\n { type: 'error', inputs: [], name: 'InvalidRecipient' },\n { type: 'error', inputs: [], name: 'InvalidSignature' },\n { type: 'error', inputs: [], name: 'InvalidV4Contracts' },\n { type: 'error', inputs: [], name: 'McLowerLimitGreaterThanUpperLimit' },\n { type: 'error', inputs: [], name: 'McLowerLimitZeroValue' },\n { type: 'error', inputs: [], name: 'McUpperLimitZeroValue' },\n { type: 'error', inputs: [], name: 'MigrationFeeTooHigh' },\n { type: 'error', inputs: [], name: 'NotBasememeToken' },\n { type: 'error', inputs: [], name: 'NotInitializing' },\n { type: 'error', inputs: [], name: 'NotReadyForMigration' },\n { type: 'error', inputs: [], name: 'NotTrustedCaller' },\n {\n type: 'error',\n inputs: [{ name: 'owner', internalType: 'address', type: 'address' }],\n name: 'OwnableInvalidOwner',\n },\n {\n type: 'error',\n inputs: [{ name: 'account', internalType: 'address', type: 'address' }],\n name: 'OwnableUnauthorizedAccount',\n },\n { type: 'error', inputs: [], name: 'ReentrancyGuardReentrantCall' },\n {\n type: 'error',\n inputs: [{ name: 'token', internalType: 'address', type: 'address' }],\n name: 'SafeERC20FailedOperation',\n },\n { type: 'error', inputs: [], name: 'SignerZeroValue' },\n { type: 'error', inputs: [], name: 'TokensMigrationThresholdZeroValue' },\n { type: 'error', inputs: [], name: 'TotalSupplyWrongValue' },\n { type: 'error', inputs: [], name: 'TotalSupplyZeroValue' },\n { type: 'error', inputs: [], name: 'TreasuryZeroValue' },\n { type: 'error', inputs: [], name: 'UUPSUnauthorizedCallContext' },\n {\n type: 'error',\n inputs: [{ name: 'slot', internalType: 'bytes32', type: 'bytes32' }],\n name: 'UUPSUnsupportedProxiableUUID',\n },\n { type: 'error', inputs: [], name: 'V4ConfigNotSet' },\n { type: 'error', inputs: [], name: 'VirtualCollateralReservesZeroValue' },\n { type: 'error', inputs: [], name: 'VirtualTokenReservesZeroValue' },\n] as const\n\n/**\n * - [__View Contract on Base Basescan__](https://basescan.org/address/0x0000000000000000000000000000000000000000)\n * - [__View Contract on Base Sepolia Blockscout__](https://base-sepolia.blockscout.com/address/0xD5b632Eb60Ebf8a4E924890e4599557D3bFEa6BA)\n */\nexport const basememeFactoryImplAddress = {\n 8453: '0x0000000000000000000000000000000000000000',\n 84532: '0xD5b632Eb60Ebf8a4E924890e4599557D3bFEa6BA',\n} as const\n\n/**\n * - [__View Contract on Base Basescan__](https://basescan.org/address/0x0000000000000000000000000000000000000000)\n * - [__View Contract on Base Sepolia Blockscout__](https://base-sepolia.blockscout.com/address/0xD5b632Eb60Ebf8a4E924890e4599557D3bFEa6BA)\n */\nexport const basememeFactoryImplConfig = {\n address: basememeFactoryImplAddress,\n abi: basememeFactoryImplABI,\n} as const\n\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n// BasememeFactoryTradeHelper\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n/**\n * [__View Contract on Base Sepolia Blockscout__](https://base-sepolia.blockscout.com/address/0x0993F0d51aaCaa059c5cC9EF2E285660837540C9)\n */\nexport const basememeFactoryTradeHelperABI = [\n { stateMutability: 'nonpayable', type: 'constructor', inputs: [] },\n { stateMutability: 'payable', type: 'receive' },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [],\n name: 'UPGRADE_INTERFACE_VERSION',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n },\n {\n stateMutability: 'payable',\n type: 'function',\n inputs: [\n { name: 'token', internalType: 'address', type: 'address' },\n { name: 'funds', internalType: 'uint256', type: 'uint256' },\n { name: 'minTokenOut', internalType: 'uint256', type: 'uint256' },\n { name: 'tradeReferrer', internalType: 'address', type: 'address' },\n ],\n name: 'buyWithEth',\n outputs: [\n { name: 'tokenOut', internalType: 'uint256', type: 'uint256' },\n { name: 'refundOut', internalType: 'uint256', type: 'uint256' },\n ],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [],\n name: 'factory',\n outputs: [\n {\n name: '',\n internalType: 'contract IBasememeFactoryImpl',\n type: 'address',\n },\n ],\n },\n {\n stateMutability: 'nonpayable',\n type: 'function',\n inputs: [\n { name: 'owner_', internalType: 'address', type: 'address' },\n { name: 'factory_', internalType: 'address', type: 'address' },\n { name: 'tokenSwap_', internalType: 'address', type: 'address' },\n ],\n name: 'initialize',\n outputs: [],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [],\n name: 'owner',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [],\n name: 'proxiableUUID',\n outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],\n },\n {\n stateMutability: 'nonpayable',\n type: 'function',\n inputs: [\n { name: 'token', internalType: 'address', type: 'address' },\n { name: 'collateralIn', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'quoteCollateralToEthForToken',\n outputs: [\n { name: 'collateralToken', internalType: 'address', type: 'address' },\n { name: 'ethOut', internalType: 'uint256', type: 'uint256' },\n ],\n },\n {\n stateMutability: 'nonpayable',\n type: 'function',\n inputs: [\n { name: 'token', internalType: 'address', type: 'address' },\n { name: 'ethIn', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'quoteEthToCollateralForToken',\n outputs: [\n { name: 'collateralToken', internalType: 'address', type: 'address' },\n { name: 'collateralOut', internalType: 'uint256', type: 'uint256' },\n ],\n },\n {\n stateMutability: 'nonpayable',\n type: 'function',\n inputs: [],\n name: 'renounceOwnership',\n outputs: [],\n },\n {\n stateMutability: 'nonpayable',\n type: 'function',\n inputs: [\n { name: 'token', internalType: 'address', type: 'address' },\n { name: 'tokenAmountIn', internalType: 'uint256', type: 'uint256' },\n { name: 'minEthOut', internalType: 'uint256', type: 'uint256' },\n { name: 'tradeReferrer', internalType: 'address', type: 'address' },\n ],\n name: 'sellForEth',\n outputs: [{ name: 'ethOut', internalType: 'uint256', type: 'uint256' }],\n },\n {\n stateMutability: 'nonpayable',\n type: 'function',\n inputs: [{ name: 'tokenSwap_', internalType: 'address', type: 'address' }],\n name: 'setTokenSwap',\n outputs: [],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [],\n name: 'tokenSwap',\n outputs: [\n {\n name: '',\n internalType: 'contract IBasememeTokenSwap',\n type: 'address',\n },\n ],\n },\n {\n stateMutability: 'nonpayable',\n type: 'function',\n inputs: [{ name: 'newOwner', internalType: 'address', type: 'address' }],\n name: 'transferOwnership',\n outputs: [],\n },\n {\n stateMutability: 'payable',\n type: 'function',\n inputs: [\n { name: 'newImplementation', internalType: 'address', type: 'address' },\n { name: 'data', internalType: 'bytes', type: 'bytes' },\n ],\n name: 'upgradeToAndCall',\n outputs: [],\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'caller',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'token',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'recipient',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'fundsIn',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'minTokenOut',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'tradeReferrer',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n {\n name: 'collateralToken',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n {\n name: 'tokenOut',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'refundOut',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n ],\n name: 'BuyWithEth',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'version',\n internalType: 'uint64',\n type: 'uint64',\n indexed: false,\n },\n ],\n name: 'Initialized',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'previousOwner',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'newOwner',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n ],\n name: 'OwnershipTransferred',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'caller',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'token',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'from',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n {\n name: 'tokenIn',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'minEthOut',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'tradeReferrer',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n {\n name: 'collateralToken',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n {\n name: 'collateralOut',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'ethOut',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n ],\n name: 'SellForEth',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'implementation',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n ],\n name: 'Upgraded',\n },\n {\n type: 'error',\n inputs: [{ name: 'target', internalType: 'address', type: 'address' }],\n name: 'AddressEmptyCode',\n },\n {\n type: 'error',\n inputs: [\n { name: 'implementation', internalType: 'address', type: 'address' },\n ],\n name: 'ERC1967InvalidImplementation',\n },\n { type: 'error', inputs: [], name: 'ERC1967NonPayable' },\n { type: 'error', inputs: [], name: 'FailedCall' },\n {\n type: 'error',\n inputs: [\n { name: 'balance', internalType: 'uint256', type: 'uint256' },\n { name: 'needed', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'InsufficientBalance',\n },\n { type: 'error', inputs: [], name: 'InvalidFunds' },\n { type: 'error', inputs: [], name: 'InvalidInitialization' },\n { type: 'error', inputs: [], name: 'NotInitializing' },\n {\n type: 'error',\n inputs: [{ name: 'owner', internalType: 'address', type: 'address' }],\n name: 'OwnableInvalidOwner',\n },\n {\n type: 'error',\n inputs: [{ name: 'account', internalType: 'address', type: 'address' }],\n name: 'OwnableUnauthorizedAccount',\n },\n { type: 'error', inputs: [], name: 'ReentrancyGuardReentrantCall' },\n {\n type: 'error',\n inputs: [{ name: 'token', internalType: 'address', type: 'address' }],\n name: 'SafeERC20FailedOperation',\n },\n { type: 'error', inputs: [], name: 'UUPSUnauthorizedCallContext' },\n {\n type: 'error',\n inputs: [{ name: 'slot', internalType: 'bytes32', type: 'bytes32' }],\n name: 'UUPSUnsupportedProxiableUUID',\n },\n] as const\n\n/**\n * [__View Contract on Base Sepolia Blockscout__](https://base-sepolia.blockscout.com/address/0x0993F0d51aaCaa059c5cC9EF2E285660837540C9)\n */\nexport const basememeFactoryTradeHelperAddress = {\n 84532: '0x0993F0d51aaCaa059c5cC9EF2E285660837540C9',\n} as const\n\n/**\n * [__View Contract on Base Sepolia Blockscout__](https://base-sepolia.blockscout.com/address/0x0993F0d51aaCaa059c5cC9EF2E285660837540C9)\n */\nexport const basememeFactoryTradeHelperConfig = {\n address: basememeFactoryTradeHelperAddress,\n abi: basememeFactoryTradeHelperABI,\n} as const\n\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n// BasememeToken\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n/**\n * - [__View Contract on Base Basescan__](https://basescan.org/address/0x0000000000000000000000000000000000000000)\n * - [__View Contract on Base Sepolia Blockscout__](https://base-sepolia.blockscout.com/address/0x0DCCB05a4FF9C97370Ce954EA4ac1D1d9330408B)\n */\nexport const basememeTokenABI = [\n { stateMutability: 'nonpayable', type: 'constructor', inputs: [] },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [\n { name: 'owner', internalType: 'address', type: 'address' },\n { name: 'spender', internalType: 'address', type: 'address' },\n ],\n name: 'allowance',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n },\n {\n stateMutability: 'nonpayable',\n type: 'function',\n inputs: [\n { name: 'spender', internalType: 'address', type: 'address' },\n { name: 'value', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'approve',\n outputs: [{ name: '', internalType: 'bool', type: 'bool' }],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [{ name: 'account', internalType: 'address', type: 'address' }],\n name: 'balanceOf',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n },\n {\n stateMutability: 'nonpayable',\n type: 'function',\n inputs: [{ name: 'value', internalType: 'uint256', type: 'uint256' }],\n name: 'burn',\n outputs: [],\n },\n {\n stateMutability: 'nonpayable',\n type: 'function',\n inputs: [\n { name: 'account', internalType: 'address', type: 'address' },\n { name: 'value', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'burnFrom',\n outputs: [],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [],\n name: 'contractURI',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n },\n {\n stateMutability: 'pure',\n type: 'function',\n inputs: [],\n name: 'contractVersion',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [],\n name: 'decimals',\n outputs: [{ name: '', internalType: 'uint8', type: 'uint8' }],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [],\n name: 'factory',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n },\n {\n stateMutability: 'nonpayable',\n type: 'function',\n inputs: [\n {\n name: '_params',\n internalType: 'struct IBasememeToken.ConstructorParams',\n type: 'tuple',\n components: [\n { name: 'name', internalType: 'string', type: 'string' },\n { name: 'symbol', internalType: 'string', type: 'string' },\n { name: 'tokenURI', internalType: 'string', type: 'string' },\n { name: 'factory', internalType: 'address', type: 'address' },\n { name: 'bondingCurve', internalType: 'address', type: 'address' },\n {\n name: 'initialTokenSupply',\n internalType: 'uint256',\n type: 'uint256',\n },\n ],\n },\n ],\n name: 'initialize',\n outputs: [],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [],\n name: 'name',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [],\n name: 'owner',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n },\n {\n stateMutability: 'nonpayable',\n type: 'function',\n inputs: [],\n name: 'renounceOwnership',\n outputs: [],\n },\n {\n stateMutability: 'nonpayable',\n type: 'function',\n inputs: [\n {\n name: 'mode',\n internalType: 'enum IBasememeToken.TransferMode',\n type: 'uint8',\n },\n ],\n name: 'setTransferMode',\n outputs: [],\n },\n {\n stateMutability: 'pure',\n type: 'function',\n inputs: [{ name: 'interfaceId', internalType: 'bytes4', type: 'bytes4' }],\n name: 'supportsInterface',\n outputs: [{ name: '', internalType: 'bool', type: 'bool' }],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [],\n name: 'symbol',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [],\n name: 'tokenURI',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [],\n name: 'totalSupply',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n },\n {\n stateMutability: 'nonpayable',\n type: 'function',\n inputs: [\n { name: 'to', internalType: 'address', type: 'address' },\n { name: 'value', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'transfer',\n outputs: [{ name: '', internalType: 'bool', type: 'bool' }],\n },\n {\n stateMutability: 'nonpayable',\n type: 'function',\n inputs: [\n { name: 'from', internalType: 'address', type: 'address' },\n { name: 'to', internalType: 'address', type: 'address' },\n { name: 'value', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'transferFrom',\n outputs: [{ name: '', internalType: 'bool', type: 'bool' }],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [],\n name: 'transferMode',\n outputs: [\n {\n name: '',\n internalType: 'enum IBasememeToken.TransferMode',\n type: 'uint8',\n },\n ],\n },\n {\n stateMutability: 'nonpayable',\n type: 'function',\n inputs: [{ name: 'newOwner', internalType: 'address', type: 'address' }],\n name: 'transferOwnership',\n outputs: [],\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'owner',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'spender',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'value',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n ],\n name: 'Approval',\n },\n { type: 'event', anonymous: false, inputs: [], name: 'ContractURIUpdated' },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'version',\n internalType: 'uint64',\n type: 'uint64',\n indexed: false,\n },\n ],\n name: 'Initialized',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'previousOwner',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'newOwner',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n ],\n name: 'OwnershipTransferred',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'sender',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'recipient',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'amount',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'senderBalance',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'recipientBalance',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n ],\n name: 'TokensTransferred',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n { name: 'from', internalType: 'address', type: 'address', indexed: true },\n { name: 'to', internalType: 'address', type: 'address', indexed: true },\n {\n name: 'value',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n ],\n name: 'Transfer',\n },\n {\n type: 'error',\n inputs: [\n { name: 'spender', internalType: 'address', type: 'address' },\n { name: 'allowance', internalType: 'uint256', type: 'uint256' },\n { name: 'needed', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'ERC20InsufficientAllowance',\n },\n {\n type: 'error',\n inputs: [\n { name: 'sender', internalType: 'address', type: 'address' },\n { name: 'balance', internalType: 'uint256', type: 'uint256' },\n { name: 'needed', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'ERC20InsufficientBalance',\n },\n {\n type: 'error',\n inputs: [{ name: 'approver', internalType: 'address', type: 'address' }],\n name: 'ERC20InvalidApprover',\n },\n {\n type: 'error',\n inputs: [{ name: 'receiver', internalType: 'address', type: 'address' }],\n name: 'ERC20InvalidReceiver',\n },\n {\n type: 'error',\n inputs: [{ name: 'sender', internalType: 'address', type: 'address' }],\n name: 'ERC20InvalidSender',\n },\n {\n type: 'error',\n inputs: [{ name: 'spender', internalType: 'address', type: 'address' }],\n name: 'ERC20InvalidSpender',\n },\n { type: 'error', inputs: [], name: 'InvalidInitialization' },\n { type: 'error', inputs: [], name: 'NotInitializing' },\n {\n type: 'error',\n inputs: [{ name: 'owner', internalType: 'address', type: 'address' }],\n name: 'OwnableInvalidOwner',\n },\n {\n type: 'error',\n inputs: [{ name: 'account', internalType: 'address', type: 'address' }],\n name: 'OwnableUnauthorizedAccount',\n },\n { type: 'error', inputs: [], name: 'TransfersControlled' },\n { type: 'error', inputs: [], name: 'TransfersRestricted' },\n] as const\n\n/**\n * - [__View Contract on Base Basescan__](https://basescan.org/address/0x0000000000000000000000000000000000000000)\n * - [__View Contract on Base Sepolia Blockscout__](https://base-sepolia.blockscout.com/address/0x0DCCB05a4FF9C97370Ce954EA4ac1D1d9330408B)\n */\nexport const basememeTokenAddress = {\n 8453: '0x0000000000000000000000000000000000000000',\n 84532: '0x0DCCB05a4FF9C97370Ce954EA4ac1D1d9330408B',\n} as const\n\n/**\n * - [__View Contract on Base Basescan__](https://basescan.org/address/0x0000000000000000000000000000000000000000)\n * - [__View Contract on Base Sepolia Blockscout__](https://base-sepolia.blockscout.com/address/0x0DCCB05a4FF9C97370Ce954EA4ac1D1d9330408B)\n */\nexport const basememeTokenConfig = {\n address: basememeTokenAddress,\n abi: basememeTokenABI,\n} as const\n\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n// BasememeTokenSwap\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n/**\n * [__View Contract on Base Sepolia Blockscout__](https://base-sepolia.blockscout.com/address/0x08b523EF90E056778EF8c0D2F68ff7Df88fCcbB4)\n */\nexport const basememeTokenSwapABI = [\n { stateMutability: 'nonpayable', type: 'constructor', inputs: [] },\n { stateMutability: 'payable', type: 'receive' },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [],\n name: 'UPGRADE_INTERFACE_VERSION',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [\n { name: 'collateralToken', internalType: 'address', type: 'address' },\n ],\n name: 'getCollateralDex',\n outputs: [\n { name: 'dexId', internalType: 'uint8', type: 'uint8' },\n { name: 'enabled', internalType: 'bool', type: 'bool' },\n ],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [\n { name: 'collateralToken', internalType: 'address', type: 'address' },\n ],\n name: 'getCollateralV2Paths',\n outputs: [\n { name: 'wethToCollateral', internalType: 'bytes', type: 'bytes' },\n { name: 'collateralToWeth', internalType: 'bytes', type: 'bytes' },\n ],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [\n { name: 'collateralToken', internalType: 'address', type: 'address' },\n ],\n name: 'getCollateralV3Paths',\n outputs: [\n { name: 'wethToCollateral', internalType: 'bytes', type: 'bytes' },\n { name: 'collateralToWeth', internalType: 'bytes', type: 'bytes' },\n ],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [{ name: 'dexId', internalType: 'uint8', type: 'uint8' }],\n name: 'getDexConfig',\n outputs: [\n {\n name: 'dexType',\n internalType: 'enum IBasememeTokenSwap.DexType',\n type: 'uint8',\n },\n { name: 'enabled', internalType: 'bool', type: 'bool' },\n { name: 'router', internalType: 'address', type: 'address' },\n { name: 'quoter', internalType: 'address', type: 'address' },\n { name: 'quoterKind', internalType: 'uint8', type: 'uint8' },\n ],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [\n { name: 'collateralToken', internalType: 'address', type: 'address' },\n ],\n name: 'getRouteDexType',\n outputs: [\n {\n name: '',\n internalType: 'enum IBasememeTokenSwap.DexType',\n type: 'uint8',\n },\n ],\n },\n {\n stateMutability: 'nonpayable',\n type: 'function',\n inputs: [\n { name: 'owner_', internalType: 'address', type: 'address' },\n { name: 'weth_', internalType: 'address', type: 'address' },\n ],\n name: 'initialize',\n outputs: [],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [],\n name: 'owner',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [],\n name: 'proxiableUUID',\n outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],\n },\n {\n stateMutability: 'nonpayable',\n type: 'function',\n inputs: [\n { name: 'collateralToken', internalType: 'address', type: 'address' },\n { name: 'amountInCollateral', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'quoteCollateralToEth',\n outputs: [{ name: 'amountOut', internalType: 'uint256', type: 'uint256' }],\n },\n {\n stateMutability: 'nonpayable',\n type: 'function',\n inputs: [\n { name: 'collateralToken', internalType: 'address', type: 'address' },\n { name: 'amountInEth', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'quoteEthToCollateral',\n outputs: [{ name: 'amountOut', internalType: 'uint256', type: 'uint256' }],\n },\n {\n stateMutability: 'nonpayable',\n type: 'function',\n inputs: [],\n name: 'renounceOwnership',\n outputs: [],\n },\n {\n stateMutability: 'nonpayable',\n type: 'function',\n inputs: [\n { name: 'collateralToken', internalType: 'address', type: 'address' },\n { name: 'dexId', internalType: 'uint8', type: 'uint8' },\n { name: 'enabled', internalType: 'bool', type: 'bool' },\n { name: 'v2PathWethToCollateral', internalType: 'bytes', type: 'bytes' },\n { name: 'v2PathCollateralToWeth', internalType: 'bytes', type: 'bytes' },\n { name: 'v3PathWethToCollateral', internalType: 'bytes', type: 'bytes' },\n { name: 'v3PathCollateralToWeth', internalType: 'bytes', type: 'bytes' },\n ],\n name: 'setCollateralConfig',\n outputs: [],\n },\n {\n stateMutability: 'nonpayable',\n type: 'function',\n inputs: [\n { name: 'collateralToken', internalType: 'address', type: 'address' },\n { name: 'dexId', internalType: 'uint8', type: 'uint8' },\n ],\n name: 'setCollateralDex',\n outputs: [],\n },\n {\n stateMutability: 'nonpayable',\n type: 'function',\n inputs: [\n { name: 'collateralToken', internalType: 'address', type: 'address' },\n { name: 'enabled', internalType: 'bool', type: 'bool' },\n ],\n name: 'setCollateralEnabled',\n outputs: [],\n },\n {\n stateMutability: 'nonpayable',\n type: 'function',\n inputs: [\n { name: 'collateralToken', internalType: 'address', type: 'address' },\n { name: 'wethToCollateral', internalType: 'bytes', type: 'bytes' },\n { name: 'collateralToWeth', internalType: 'bytes', type: 'bytes' },\n ],\n name: 'setCollateralV2Paths',\n outputs: [],\n },\n {\n stateMutability: 'nonpayable',\n type: 'function',\n inputs: [\n { name: 'collateralToken', internalType: 'address', type: 'address' },\n { name: 'wethToCollateral', internalType: 'bytes', type: 'bytes' },\n { name: 'collateralToWeth', internalType: 'bytes', type: 'bytes' },\n ],\n name: 'setCollateralV3Paths',\n outputs: [],\n },\n {\n stateMutability: 'nonpayable',\n type: 'function',\n inputs: [\n { name: 'dexId', internalType: 'uint8', type: 'uint8' },\n { name: 'router', internalType: 'address', type: 'address' },\n { name: 'enabled', internalType: 'bool', type: 'bool' },\n ],\n name: 'setDexConfigV2',\n outputs: [],\n },\n {\n stateMutability: 'nonpayable',\n type: 'function',\n inputs: [\n { name: 'dexId', internalType: 'uint8', type: 'uint8' },\n { name: 'swapRouter', internalType: 'address', type: 'address' },\n { name: 'quoter', internalType: 'address', type: 'address' },\n { name: 'enabled', internalType: 'bool', type: 'bool' },\n { name: 'quoterKind', internalType: 'uint8', type: 'uint8' },\n ],\n name: 'setDexConfigV3',\n outputs: [],\n },\n {\n stateMutability: 'nonpayable',\n type: 'function',\n inputs: [\n { name: 'collateralToken', internalType: 'address', type: 'address' },\n { name: 'amountIn', internalType: 'uint256', type: 'uint256' },\n { name: 'amountOutMin', internalType: 'uint256', type: 'uint256' },\n { name: 'deadline', internalType: 'uint256', type: 'uint256' },\n { name: 'recipient', internalType: 'address', type: 'address' },\n ],\n name: 'swapExactCollateralToEth',\n outputs: [{ name: 'amountOut', internalType: 'uint256', type: 'uint256' }],\n },\n {\n stateMutability: 'payable',\n type: 'function',\n inputs: [\n { name: 'collateralToken', internalType: 'address', type: 'address' },\n { name: 'amountOutMin', internalType: 'uint256', type: 'uint256' },\n { name: 'deadline', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'swapExactEthToCollateral',\n outputs: [{ name: 'amountOut', internalType: 'uint256', type: 'uint256' }],\n },\n {\n stateMutability: 'nonpayable',\n type: 'function',\n inputs: [{ name: 'newOwner', internalType: 'address', type: 'address' }],\n name: 'transferOwnership',\n outputs: [],\n },\n {\n stateMutability: 'payable',\n type: 'function',\n inputs: [\n { name: 'newImplementation', internalType: 'address', type: 'address' },\n { name: 'data', internalType: 'bytes', type: 'bytes' },\n ],\n name: 'upgradeToAndCall',\n outputs: [],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [],\n name: 'weth',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'collateralToken',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n { name: 'dexId', internalType: 'uint8', type: 'uint8', indexed: true },\n ],\n name: 'CollateralDexSet',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'collateralToken',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n { name: 'enabled', internalType: 'bool', type: 'bool', indexed: false },\n ],\n name: 'CollateralEnabled',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'collateralToken',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n ],\n name: 'CollateralV2PathsSet',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'collateralToken',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n ],\n name: 'CollateralV3PathsSet',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n { name: 'dexId', internalType: 'uint8', type: 'uint8', indexed: true },\n {\n name: 'dexType',\n internalType: 'enum IBasememeTokenSwap.DexType',\n type: 'uint8',\n indexed: false,\n },\n ],\n name: 'DexConfigured',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n { name: 'dexId', internalType: 'uint8', type: 'uint8', indexed: true },\n { name: 'enabled', internalType: 'bool', type: 'bool', indexed: false },\n ],\n name: 'DexEnabled',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'version',\n internalType: 'uint64',\n type: 'uint64',\n indexed: false,\n },\n ],\n name: 'Initialized',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'previousOwner',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'newOwner',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n ],\n name: 'OwnershipTransferred',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'implementation',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n ],\n name: 'Upgraded',\n },\n {\n type: 'error',\n inputs: [{ name: 'target', internalType: 'address', type: 'address' }],\n name: 'AddressEmptyCode',\n },\n { type: 'error', inputs: [], name: 'CollateralMustBeDisabled' },\n { type: 'error', inputs: [], name: 'DeadlineExpired' },\n { type: 'error', inputs: [], name: 'DexDisabled' },\n { type: 'error', inputs: [], name: 'DexNotConfigured' },\n { type: 'error', inputs: [], name: 'DexTypeImmutable' },\n {\n type: 'error',\n inputs: [\n { name: 'implementation', internalType: 'address', type: 'address' },\n ],\n name: 'ERC1967InvalidImplementation',\n },\n { type: 'error', inputs: [], name: 'ERC1967NonPayable' },\n { type: 'error', inputs: [], name: 'EthAmountMismatch' },\n { type: 'error', inputs: [], name: 'FailedCall' },\n {\n type: 'error',\n inputs: [\n { name: 'balance', internalType: 'uint256', type: 'uint256' },\n { name: 'needed', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'InsufficientBalance',\n },\n { type: 'error', inputs: [], name: 'InvalidDexId' },\n { type: 'error', inputs: [], name: 'InvalidInitialization' },\n { type: 'error', inputs: [], name: 'InvalidPath' },\n { type: 'error', inputs: [], name: 'InvalidRecipient' },\n { type: 'error', inputs: [], name: 'InvalidRouteConfig' },\n { type: 'error', inputs: [], name: 'NotInitializing' },\n {\n type: 'error',\n inputs: [{ name: 'owner', internalType: 'address', type: 'address' }],\n name: 'OwnableInvalidOwner',\n },\n {\n type: 'error',\n inputs: [{ name: 'account', internalType: 'address', type: 'address' }],\n name: 'OwnableUnauthorizedAccount',\n },\n { type: 'error', inputs: [], name: 'ReentrancyGuardReentrantCall' },\n { type: 'error', inputs: [], name: 'RouteDisabled' },\n { type: 'error', inputs: [], name: 'RouteNotConfigured' },\n {\n type: 'error',\n inputs: [{ name: 'token', internalType: 'address', type: 'address' }],\n name: 'SafeERC20FailedOperation',\n },\n { type: 'error', inputs: [], name: 'UUPSUnauthorizedCallContext' },\n {\n type: 'error',\n inputs: [{ name: 'slot', internalType: 'bytes32', type: 'bytes32' }],\n name: 'UUPSUnsupportedProxiableUUID',\n },\n { type: 'error', inputs: [], name: 'UnsupportedDexType' },\n] as const\n\n/**\n * [__View Contract on Base Sepolia Blockscout__](https://base-sepolia.blockscout.com/address/0x08b523EF90E056778EF8c0D2F68ff7Df88fCcbB4)\n */\nexport const basememeTokenSwapAddress = {\n 84532: '0x08b523EF90E056778EF8c0D2F68ff7Df88fCcbB4',\n} as const\n\n/**\n * [__View Contract on Base Sepolia Blockscout__](https://base-sepolia.blockscout.com/address/0x08b523EF90E056778EF8c0D2F68ff7Df88fCcbB4)\n */\nexport const basememeTokenSwapConfig = {\n address: basememeTokenSwapAddress,\n abi: basememeTokenSwapABI,\n} as const\n\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n// BondingCurve\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n/**\n * - [__View Contract on Base Basescan__](https://basescan.org/address/0x0000000000000000000000000000000000000000)\n * - [__View Contract on Base Sepolia Blockscout__](https://base-sepolia.blockscout.com/address/0xe891F626E5819a972F9263007807Bb4E70cA9522)\n */\nexport const bondingCurveABI = [\n {\n stateMutability: 'nonpayable',\n type: 'constructor',\n inputs: [\n {\n name: '_protocolRewardRecipient',\n internalType: 'address',\n type: 'address',\n },\n { name: '_protocolRewards', internalType: 'address', type: 'address' },\n { name: '_weth', internalType: 'address', type: 'address' },\n {\n name: '_tokenImplementation',\n internalType: 'address',\n type: 'address',\n },\n { name: '_v4PoolManager', internalType: 'address', type: 'address' },\n { name: '_v4PositionManager', internalType: 'address', type: 'address' },\n { name: '_basememeLpManager', internalType: 'address', type: 'address' },\n { name: '_basememeHook', internalType: 'address', type: 'address' },\n ],\n },\n { stateMutability: 'payable', type: 'receive' },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [],\n name: 'LIQUIDITY_PLATFORM_REFERRER_FEE_BPS',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [],\n name: 'LIQUIDITY_PROTOCOL_FEE_BPS',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [],\n name: 'LIQUIDITY_TOKEN_CREATOR_FEE_BPS',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [],\n name: 'LIQUIDITY_TRADE_REFERRER_FEE_BPS',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [],\n name: 'MAX_BPS',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [],\n name: 'MAX_LP_FEE',\n outputs: [{ name: '', internalType: 'uint24', type: 'uint24' }],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [],\n name: 'TRADE_PLATFORM_REFERRER_FEE_BPS',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [],\n name: 'TRADE_PROTOCOL_FEE_BPS',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [],\n name: 'TRADE_REFERRER_FEE_BPS',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [],\n name: 'TRADE_TOKEN_CREATOR_FEE_BPS',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [],\n name: 'V4_MAX_POSITIONS',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n },\n {\n stateMutability: 'nonpayable',\n type: 'function',\n inputs: [],\n name: 'allowTransfer',\n outputs: [],\n },\n {\n stateMutability: 'nonpayable',\n type: 'function',\n inputs: [\n { name: 'amountToken', internalType: 'uint256', type: 'uint256' },\n { name: 'amountPairedToken', internalType: 'uint256', type: 'uint256' },\n { name: 'pairedToken', internalType: 'address', type: 'address' },\n ],\n name: 'approveV4Liquidity',\n outputs: [],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [],\n name: 'basememeHook',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [],\n name: 'basememeLpManager',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n },\n {\n stateMutability: 'nonpayable',\n type: 'function',\n inputs: [\n { name: 'cfg', internalType: 'bytes', type: 'bytes' },\n { name: 'version', internalType: 'uint8', type: 'uint8' },\n ],\n name: 'bindV4LiquidityConfig',\n outputs: [],\n },\n {\n stateMutability: 'payable',\n type: 'function',\n inputs: [\n { name: '_amountOutMin', internalType: 'uint256', type: 'uint256' },\n { name: '_tradeReferrer', internalType: 'address', type: 'address' },\n ],\n name: 'buyExactIn',\n outputs: [\n {\n name: 'collateralToPayWithFee',\n internalType: 'uint256',\n type: 'uint256',\n },\n { name: 'tradeFee', internalType: 'uint256', type: 'uint256' },\n ],\n },\n {\n stateMutability: 'payable',\n type: 'function',\n inputs: [\n { name: '_collateralAmountIn', internalType: 'uint256', type: 'uint256' },\n { name: '_amountOutMin', internalType: 'uint256', type: 'uint256' },\n { name: '_tradeReferrer', internalType: 'address', type: 'address' },\n ],\n name: 'buyExactInWithAmount',\n outputs: [\n {\n name: 'collateralToPayWithFee',\n internalType: 'uint256',\n type: 'uint256',\n },\n { name: 'tradeFee', internalType: 'uint256', type: 'uint256' },\n { name: 'firstFee', internalType: 'uint256', type: 'uint256' },\n ],\n },\n {\n stateMutability: 'payable',\n type: 'function',\n inputs: [\n { name: '_tokenAmount', internalType: 'uint256', type: 'uint256' },\n {\n name: '_maxCollateralAmount',\n internalType: 'uint256',\n type: 'uint256',\n },\n { name: '_tradeReferrer', internalType: 'address', type: 'address' },\n ],\n name: 'buyExactOut',\n outputs: [\n {\n name: 'collateralToPayWithFee',\n internalType: 'uint256',\n type: 'uint256',\n },\n { name: 'tradeFee', internalType: 'uint256', type: 'uint256' },\n { name: 'firstFee', internalType: 'uint256', type: 'uint256' },\n ],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [],\n name: 'collateralToken',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n },\n {\n stateMutability: 'nonpayable',\n type: 'function',\n inputs: [\n {\n name: 'expectedTokenBalance',\n internalType: 'uint256',\n type: 'uint256',\n },\n {\n name: 'expectedPairedTokenBalance',\n internalType: 'uint256',\n type: 'uint256',\n },\n { name: 'pairedToken', internalType: 'address', type: 'address' },\n ],\n name: 'collectV4Dust',\n outputs: [\n { name: 'tokenDust', internalType: 'uint256', type: 'uint256' },\n { name: 'pairedTokenDust', internalType: 'uint256', type: 'uint256' },\n ],\n },\n {\n stateMutability: 'pure',\n type: 'function',\n inputs: [],\n name: 'contractVersion',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [],\n name: 'factory',\n outputs: [{ name: '', internalType: 'address payable', type: 'address' }],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [],\n name: 'feeBPS',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [],\n name: 'firstBuyCompleted',\n outputs: [{ name: '', internalType: 'bool', type: 'bool' }],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [],\n name: 'firstBuyFee',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [],\n name: 'fixedMigrationFee',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [\n { name: '_amountOut', internalType: 'uint256', type: 'uint256' },\n { name: '_reserveIn', internalType: 'uint256', type: 'uint256' },\n { name: '_reserveOut', internalType: 'uint256', type: 'uint256' },\n { name: '_paymentTokenIsOut', internalType: 'bool', type: 'bool' },\n ],\n name: 'getAmountInAndFee',\n outputs: [\n { name: 'amountIn', internalType: 'uint256', type: 'uint256' },\n { name: 'fee', internalType: 'uint256', type: 'uint256' },\n ],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [\n { name: '_amountIn', internalType: 'uint256', type: 'uint256' },\n { name: '_reserveIn', internalType: 'uint256', type: 'uint256' },\n { name: '_reserveOut', internalType: 'uint256', type: 'uint256' },\n { name: '_paymentTokenIsIn', internalType: 'bool', type: 'bool' },\n ],\n name: 'getAmountOutAndFee',\n outputs: [\n { name: 'amountOut', internalType: 'uint256', type: 'uint256' },\n { name: 'fee', internalType: 'uint256', type: 'uint256' },\n ],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [],\n name: 'getCurveProgressBps',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [],\n name: 'getMarketCap',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [],\n name: 'getV4FeeCollectionConfig',\n outputs: [\n { name: '', internalType: 'address[]', type: 'address[]' },\n { name: '', internalType: 'uint16[]', type: 'uint16[]' },\n { name: '', internalType: 'bytes4[]', type: 'bytes4[]' },\n ],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [],\n name: 'getV4LiquidityConfig',\n outputs: [\n { name: 'tickLowerBase', internalType: 'int24[]', type: 'int24[]' },\n { name: 'tickUpperBase', internalType: 'int24[]', type: 'int24[]' },\n { name: 'positionTokenBps', internalType: 'uint16[]', type: 'uint16[]' },\n {\n name: 'positionPairedTokenBps',\n internalType: 'uint16[]',\n type: 'uint16[]',\n },\n ],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [],\n name: 'initialTokenSupply',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n },\n {\n stateMutability: 'nonpayable',\n type: 'function',\n inputs: [\n { name: '_platformReferrer', internalType: 'address', type: 'address' },\n { name: '_payoutRecipient', internalType: 'address', type: 'address' },\n { name: '_token', internalType: 'address', type: 'address' },\n {\n name: '_params',\n internalType: 'struct IBondingCurve.CurveParams',\n type: 'tuple',\n components: [\n {\n name: 'initialTokenSupply',\n internalType: 'uint256',\n type: 'uint256',\n },\n {\n name: 'virtualCollateralReservesInitial',\n internalType: 'uint256',\n type: 'uint256',\n },\n {\n name: 'virtualTokenReservesInitial',\n internalType: 'uint256',\n type: 'uint256',\n },\n { name: 'feeBPS', internalType: 'uint256', type: 'uint256' },\n { name: 'mcLowerLimit', internalType: 'uint256', type: 'uint256' },\n { name: 'mcUpperLimit', internalType: 'uint256', type: 'uint256' },\n {\n name: 'tokensMigrationThreshold',\n internalType: 'uint256',\n type: 'uint256',\n },\n {\n name: 'fixedMigrationFee',\n internalType: 'uint256',\n type: 'uint256',\n },\n { name: 'poolCreationFee', internalType: 'uint256', type: 'uint256' },\n { name: 'firstBuyFee', internalType: 'uint256', type: 'uint256' },\n {\n name: 'targetCollectionAmount',\n internalType: 'uint256',\n type: 'uint256',\n },\n { name: 'collateralToken', internalType: 'address', type: 'address' },\n { name: 'v4LpFee', internalType: 'uint24', type: 'uint24' },\n ],\n },\n ],\n name: 'initialize',\n outputs: [],\n },\n {\n stateMutability: 'nonpayable',\n type: 'function',\n inputs: [],\n name: 'initiateV4Migration',\n outputs: [\n { name: 'tokensToMigrate', internalType: 'uint256', type: 'uint256' },\n { name: 'tokensToBurn', internalType: 'uint256', type: 'uint256' },\n { name: 'collateralAmount', internalType: 'uint256', type: 'uint256' },\n { name: 'graduationPoolPrice', internalType: 'uint160', type: 'uint160' },\n { name: 'lpFee', internalType: 'uint24', type: 'uint24' },\n { name: 'tickSpacing', internalType: 'int24', type: 'int24' },\n { name: 'pairedToken', internalType: 'address', type: 'address' },\n { name: 'lpManager', internalType: 'address', type: 'address' },\n { name: 'hook', internalType: 'address', type: 'address' },\n ],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [],\n name: 'mcLowerLimit',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [],\n name: 'mcUpperLimit',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n },\n {\n stateMutability: 'nonpayable',\n type: 'function',\n inputs: [],\n name: 'migrate',\n outputs: [\n { name: '', internalType: 'uint256', type: 'uint256' },\n { name: '', internalType: 'uint128', type: 'uint128' },\n { name: '', internalType: 'uint256', type: 'uint256' },\n { name: '', internalType: 'uint256', type: 'uint256' },\n ],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [],\n name: 'owner',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [],\n name: 'payoutRecipient',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [],\n name: 'platformReferrer',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [],\n name: 'poolCreationFee',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [],\n name: 'protocolRewardRecipient',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [],\n name: 'protocolRewards',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n },\n {\n stateMutability: 'nonpayable',\n type: 'function',\n inputs: [],\n name: 'renounceOwnership',\n outputs: [],\n },\n {\n stateMutability: 'nonpayable',\n type: 'function',\n inputs: [],\n name: 'renounceTokenOwnership',\n outputs: [],\n },\n {\n stateMutability: 'nonpayable',\n type: 'function',\n inputs: [],\n name: 'restrictTransfer',\n outputs: [],\n },\n {\n stateMutability: 'nonpayable',\n type: 'function',\n inputs: [\n { name: '_tokenAmount', internalType: 'uint256', type: 'uint256' },\n {\n name: '_amountCollateralMin',\n internalType: 'uint256',\n type: 'uint256',\n },\n { name: '_tradeReferrer', internalType: 'address', type: 'address' },\n ],\n name: 'sellExactIn',\n outputs: [\n {\n name: 'collateralToReceiveMinusFee',\n internalType: 'uint256',\n type: 'uint256',\n },\n { name: 'tradeFee', internalType: 'uint256', type: 'uint256' },\n ],\n },\n {\n stateMutability: 'nonpayable',\n type: 'function',\n inputs: [\n { name: '_tokenAmountMax', internalType: 'uint256', type: 'uint256' },\n { name: '_amountCollateral', internalType: 'uint256', type: 'uint256' },\n { name: '_tradeReferrer', internalType: 'address', type: 'address' },\n ],\n name: 'sellExactOut',\n outputs: [\n {\n name: 'collateralToReceiveMinusFee',\n internalType: 'uint256',\n type: 'uint256',\n },\n { name: 'tokensOut', internalType: 'uint256', type: 'uint256' },\n { name: 'tradeFee', internalType: 'uint256', type: 'uint256' },\n ],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [],\n name: 'sendingToPairForbidden',\n outputs: [{ name: '', internalType: 'bool', type: 'bool' }],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [],\n name: 'targetCollectionAmount',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [],\n name: 'token',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [],\n name: 'tokenImplementation',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [],\n name: 'tokensMigrationThreshold',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [],\n name: 'tradingStopped',\n outputs: [{ name: '', internalType: 'bool', type: 'bool' }],\n },\n {\n stateMutability: 'nonpayable',\n type: 'function',\n inputs: [{ name: 'newOwner', internalType: 'address', type: 'address' }],\n name: 'transferOwnership',\n outputs: [],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [],\n name: 'v4ConfigVersion',\n outputs: [{ name: '', internalType: 'uint8', type: 'uint8' }],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [],\n name: 'v4LpConfigBound',\n outputs: [{ name: '', internalType: 'bool', type: 'bool' }],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [],\n name: 'v4LpFee',\n outputs: [{ name: '', internalType: 'uint24', type: 'uint24' }],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [],\n name: 'v4PoolManager',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [],\n name: 'v4PositionManager',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [],\n name: 'v4TickSpacing',\n outputs: [{ name: '', internalType: 'int24', type: 'int24' }],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [],\n name: 'virtualCollateralReserves',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [],\n name: 'virtualCollateralReservesInitial',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [],\n name: 'virtualCollateralReservesTarget',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [],\n name: 'virtualTokenReserves',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [],\n name: 'virtualTokenReservesInitial',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [],\n name: 'wethAddress',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'tokenDust',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'pairedTokenDust',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n ],\n name: 'DustCollected',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'version',\n internalType: 'uint64',\n type: 'uint64',\n indexed: false,\n },\n ],\n name: 'Initialized',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'previousOwner',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'newOwner',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n ],\n name: 'OwnershipTransferred',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'payoutRecipient',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'platformReferrer',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'tradeReferrer',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'protocolRewardRecipient',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n {\n name: 'creatorReward',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'platformReferrerReward',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'traderReferrerReward',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'protocolReward',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n ],\n name: 'TradeRewardsDistributed',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'token',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'cfgHash',\n internalType: 'bytes32',\n type: 'bytes32',\n indexed: false,\n },\n { name: 'version', internalType: 'uint8', type: 'uint8', indexed: false },\n { name: 'spacing', internalType: 'int24', type: 'int24', indexed: false },\n {\n name: 'tickCount',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n ],\n name: 'V4LiquidityConfigBound',\n },\n { type: 'error', inputs: [], name: 'AlreadyMigrated' },\n { type: 'error', inputs: [], name: 'AmountInZero' },\n { type: 'error', inputs: [], name: 'AmountOutZero' },\n {\n type: 'error',\n inputs: [\n { name: 'recommendedTokenOut', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'CollectionTargetExceeded',\n },\n { type: 'error', inputs: [], name: 'ETHNotAllowedForERC20Market' },\n { type: 'error', inputs: [], name: 'FailedCall' },\n { type: 'error', inputs: [], name: 'FailedToSendETH' },\n { type: 'error', inputs: [], name: 'InitialTokenSupplyNotSet' },\n {\n type: 'error',\n inputs: [\n { name: 'balance', internalType: 'uint256', type: 'uint256' },\n { name: 'needed', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'InsufficientBalance',\n },\n { type: 'error', inputs: [], name: 'InsufficientCollateral' },\n { type: 'error', inputs: [], name: 'InsufficientLiquidity' },\n { type: 'error', inputs: [], name: 'InsufficientTokenReserves' },\n { type: 'error', inputs: [], name: 'InvalidInitialization' },\n { type: 'error', inputs: [], name: 'InvalidLiquidity' },\n { type: 'error', inputs: [], name: 'InvalidPairedToken' },\n { type: 'error', inputs: [], name: 'LegacyMigrationDisabled' },\n { type: 'error', inputs: [], name: 'MarketCapNotAvailableAfterMigration' },\n {\n type: 'error',\n inputs: [\n { name: 'currentMarketCap', internalType: 'uint256', type: 'uint256' },\n { name: 'mcLowerLimit', internalType: 'uint256', type: 'uint256' },\n { name: 'mcUpperLimit', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'MarketcapThresholdReached',\n },\n { type: 'error', inputs: [], name: 'McLowerLimitNotSet' },\n { type: 'error', inputs: [], name: 'McUpperLimitNotSet' },\n { type: 'error', inputs: [], name: 'NotEnoughETHReserves' },\n { type: 'error', inputs: [], name: 'NotEnoughForFirstBuyFee' },\n { type: 'error', inputs: [], name: 'NotEnoughtETHToBuyTokens' },\n { type: 'error', inputs: [], name: 'NotInitializing' },\n { type: 'error', inputs: [], name: 'OnlyFactory' },\n { type: 'error', inputs: [], name: 'OnlyWeth' },\n {\n type: 'error',\n inputs: [{ name: 'owner', internalType: 'address', type: 'address' }],\n name: 'OwnableInvalidOwner',\n },\n {\n type: 'error',\n inputs: [{ name: 'account', internalType: 'address', type: 'address' }],\n name: 'OwnableUnauthorizedAccount',\n },\n { type: 'error', inputs: [], name: 'PairedTokenConversionRequired' },\n { type: 'error', inputs: [], name: 'PoolAlreadyCreated' },\n { type: 'error', inputs: [], name: 'PoolNotCreated' },\n { type: 'error', inputs: [], name: 'PoolNotDeployed' },\n { type: 'error', inputs: [], name: 'PoolNotPreCreated' },\n { type: 'error', inputs: [], name: 'ReentrancyGuardReentrantCall' },\n {\n type: 'error',\n inputs: [{ name: 'token', internalType: 'address', type: 'address' }],\n name: 'SafeERC20FailedOperation',\n },\n { type: 'error', inputs: [], name: 'SlippageCheckFailed' },\n { type: 'error', inputs: [], name: 'TokenNotInitialized' },\n { type: 'error', inputs: [], name: 'TradingStopped' },\n { type: 'error', inputs: [], name: 'TransfersRestricted' },\n { type: 'error', inputs: [], name: 'V4ConfigAlreadyBound' },\n {\n type: 'error',\n inputs: [\n { name: 'expected', internalType: 'uint8', type: 'uint8' },\n { name: 'actual', internalType: 'uint8', type: 'uint8' },\n ],\n name: 'V4ConfigVersionMismatch',\n },\n { type: 'error', inputs: [], name: 'V4GraduationNotSingleSided' },\n { type: 'error', inputs: [], name: 'V4InvalidPositionBps' },\n { type: 'error', inputs: [], name: 'V4InvalidTickSpacing' },\n { type: 'error', inputs: [], name: 'V4MismatchedPositionInfos' },\n { type: 'error', inputs: [], name: 'V4NoPositions' },\n { type: 'error', inputs: [], name: 'V4TicksBackwards' },\n { type: 'error', inputs: [], name: 'V4TicksNotMultipleOfTickSpacing' },\n { type: 'error', inputs: [], name: 'V4TicksOutOfTickBounds' },\n { type: 'error', inputs: [], name: 'V4TooManyPositions' },\n] as const\n\n/**\n * - [__View Contract on Base Basescan__](https://basescan.org/address/0x0000000000000000000000000000000000000000)\n * - [__View Contract on Base Sepolia Blockscout__](https://base-sepolia.blockscout.com/address/0xe891F626E5819a972F9263007807Bb4E70cA9522)\n */\nexport const bondingCurveAddress = {\n 8453: '0x0000000000000000000000000000000000000000',\n 84532: '0xe891F626E5819a972F9263007807Bb4E70cA9522',\n} as const\n\n/**\n * - [__View Contract on Base Basescan__](https://basescan.org/address/0x0000000000000000000000000000000000000000)\n * - [__View Contract on Base Sepolia Blockscout__](https://base-sepolia.blockscout.com/address/0xe891F626E5819a972F9263007807Bb4E70cA9522)\n */\nexport const bondingCurveConfig = {\n address: bondingCurveAddress,\n abi: bondingCurveABI,\n} as const\n\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n// ProtocolRewards\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n/**\n * - [__View Contract on Base Basescan__](https://basescan.org/address/0x0000000000000000000000000000000000000000)\n * - [__View Contract on Base Sepolia Blockscout__](https://base-sepolia.blockscout.com/address/0x3Ce39C0136A557799D0f7f25d70ba8863510D986)\n */\nexport const protocolRewardsABI = [\n { stateMutability: 'payable', type: 'constructor', inputs: [] },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [],\n name: 'WITHDRAW_TYPEHASH',\n outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [{ name: '', internalType: 'address', type: 'address' }],\n name: 'balanceOf',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n },\n {\n stateMutability: 'payable',\n type: 'function',\n inputs: [\n { name: 'to', internalType: 'address', type: 'address' },\n { name: 'reason', internalType: 'bytes4', type: 'bytes4' },\n { name: 'comment', internalType: 'string', type: 'string' },\n ],\n name: 'deposit',\n outputs: [],\n },\n {\n stateMutability: 'payable',\n type: 'function',\n inputs: [\n { name: 'recipients', internalType: 'address[]', type: 'address[]' },\n { name: 'amounts', internalType: 'uint256[]', type: 'uint256[]' },\n { name: 'reasons', internalType: 'bytes4[]', type: 'bytes4[]' },\n { name: 'comment', internalType: 'string', type: 'string' },\n ],\n name: 'depositBatch',\n outputs: [],\n },\n {\n stateMutability: 'payable',\n type: 'function',\n inputs: [\n { name: 'creator', internalType: 'address', type: 'address' },\n { name: 'creatorReward', internalType: 'uint256', type: 'uint256' },\n { name: 'createReferral', internalType: 'address', type: 'address' },\n {\n name: 'createReferralReward',\n internalType: 'uint256',\n type: 'uint256',\n },\n { name: 'mintReferral', internalType: 'address', type: 'address' },\n { name: 'mintReferralReward', internalType: 'uint256', type: 'uint256' },\n { name: 'firstMinter', internalType: 'address', type: 'address' },\n { name: 'firstMinterReward', internalType: 'uint256', type: 'uint256' },\n { name: 'freee', internalType: 'address', type: 'address' },\n { name: 'freeeReward', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'depositRewards',\n outputs: [],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [],\n name: 'eip712Domain',\n outputs: [\n { name: 'fields', internalType: 'bytes1', type: 'bytes1' },\n { name: 'name', internalType: 'string', type: 'string' },\n { name: 'version', internalType: 'string', type: 'string' },\n { name: 'chainId', internalType: 'uint256', type: 'uint256' },\n { name: 'verifyingContract', internalType: 'address', type: 'address' },\n { name: 'salt', internalType: 'bytes32', type: 'bytes32' },\n { name: 'extensions', internalType: 'uint256[]', type: 'uint256[]' },\n ],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [{ name: '', internalType: 'address', type: 'address' }],\n name: 'nonces',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n },\n {\n stateMutability: 'view',\n type: 'function',\n inputs: [],\n name: 'totalSupply',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n },\n {\n stateMutability: 'nonpayable',\n type: 'function',\n inputs: [\n { name: 'to', internalType: 'address', type: 'address' },\n { name: 'amount', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'withdraw',\n outputs: [],\n },\n {\n stateMutability: 'nonpayable',\n type: 'function',\n inputs: [\n { name: 'to', internalType: 'address', type: 'address' },\n { name: 'amount', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'withdrawFor',\n outputs: [],\n },\n {\n stateMutability: 'nonpayable',\n type: 'function',\n inputs: [\n { name: 'from', internalType: 'address', type: 'address' },\n { name: 'to', internalType: 'address', type: 'address' },\n { name: 'amount', internalType: 'uint256', type: 'uint256' },\n { name: 'deadline', internalType: 'uint256', type: 'uint256' },\n { name: 'v', internalType: 'uint8', type: 'uint8' },\n { name: 'r', internalType: 'bytes32', type: 'bytes32' },\n { name: 's', internalType: 'bytes32', type: 'bytes32' },\n ],\n name: 'withdrawWithSig',\n outputs: [],\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n { name: 'from', internalType: 'address', type: 'address', indexed: true },\n { name: 'to', internalType: 'address', type: 'address', indexed: true },\n { name: 'reason', internalType: 'bytes4', type: 'bytes4', indexed: true },\n {\n name: 'amount',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'comment',\n internalType: 'string',\n type: 'string',\n indexed: false,\n },\n ],\n name: 'Deposit',\n },\n { type: 'event', anonymous: false, inputs: [], name: 'EIP712DomainChanged' },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'creator',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'createReferral',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'mintReferral',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'firstMinter',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n {\n name: 'freee',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n {\n name: 'from',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n {\n name: 'creatorReward',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'createReferralReward',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'mintReferralReward',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'firstMinterReward',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'freeeReward',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n ],\n name: 'RewardsDeposit',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n { name: 'from', internalType: 'address', type: 'address', indexed: true },\n { name: 'to', internalType: 'address', type: 'address', indexed: true },\n {\n name: 'amount',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n ],\n name: 'Withdraw',\n },\n { type: 'error', inputs: [], name: 'ADDRESS_ZERO' },\n { type: 'error', inputs: [], name: 'ARRAY_LENGTH_MISMATCH' },\n { type: 'error', inputs: [], name: 'INVALID_DEPOSIT' },\n { type: 'error', inputs: [], name: 'INVALID_SIGNATURE' },\n { type: 'error', inputs: [], name: 'INVALID_WITHDRAW' },\n { type: 'error', inputs: [], name: 'InvalidShortString' },\n { type: 'error', inputs: [], name: 'SIGNATURE_DEADLINE_EXPIRED' },\n {\n type: 'error',\n inputs: [{ name: 'str', internalType: 'string', type: 'string' }],\n name: 'StringTooLong',\n },\n { type: 'error', inputs: [], name: 'TRANSFER_FAILED' },\n] as const\n\n/**\n * - [__View Contract on Base Basescan__](https://basescan.org/address/0x0000000000000000000000000000000000000000)\n * - [__View Contract on Base Sepolia Blockscout__](https://base-sepolia.blockscout.com/address/0x3Ce39C0136A557799D0f7f25d70ba8863510D986)\n */\nexport const protocolRewardsAddress = {\n 8453: '0x0000000000000000000000000000000000000000',\n 84532: '0x3Ce39C0136A557799D0f7f25d70ba8863510D986',\n} as const\n\n/**\n * - [__View Contract on Base Basescan__](https://basescan.org/address/0x0000000000000000000000000000000000000000)\n * - [__View Contract on Base Sepolia Blockscout__](https://base-sepolia.blockscout.com/address/0x3Ce39C0136A557799D0f7f25d70ba8863510D986)\n */\nexport const protocolRewardsConfig = {\n address: protocolRewardsAddress,\n abi: protocolRewardsABI,\n} as const\n","export const chainConfigs = {\n [8453]: {\n current: {\n \"TOTAL_SUPPLY\": \"1000000000000000000000000000\",\n \"VIRTUAL_TOKEN_RESERVES\": \"1088264899999999783900020736\",\n \"VIRTUAL_COLLATERAL_RESERVES\": \"902103736559999872\",\n \"FEE_BASIS_POINTS\": \"200\",\n \"DEX_FEE_BASIS_POINTS\": \"5000\",\n \"FIXED_MIGRATION_FEE\": \"100000000000000000\",\n \"POOL_CREATION_FEE\": \"50000000000000000\",\n \"FIRST_BUY_FEE\": \"1500000000000000\",\n \"MC_UPPER_LIMIT\": \"11835000000000000000\",\n \"MC_LOWER_LIMIT\": \"11795000000000000000\",\n \"TOKENS_MIGRATION_THRESHOLD\": \"799764393968807750154100378\",\n \"TARGET_ETH_COLLECTION_AMOUNT\": \"2500759732077910169\",\n \"TARGET_COLLECTION_AMOUNT\": \"2500759732077910169\",\n \"SIGNER\": \"0x0000000000000000000000000000000000000000\",\n \"DEPLOYER\": \"0x30d197dd771d8f75378aad9428ed9d5e24bdbbbb\",\n \"FACTORY_OWNER\": \"0x2730B29aCbBCD34A59B720338e8d06619Fd71ACa\",\n \"PROTOCOL_REWARD_RECIPIENT\": \"0x2730B29aCbBCD34A59B720338e8d06619Fd71ACa\",\n \"UNISWAP_V3_NONFUNGIBLE_POSITION_MANAGER\": \"0x03a520b32C04BF3bEEf7BEb72E919cf822Ed34f1\",\n \"QUOTER_V2\": \"0x3d4e44Eb1374240CE5F1B871ab261CD16335B76a\",\n \"SWAP_ROUTER_V2\": \"0x2626664c2603336E57B271c5C0b26F421741e481\",\n \"UNISWAP_V2_ROUTER\": \"0x4752ba5dbc23f44d87826276bf6fd6b1c372ad24\",\n \"WETH\": \"0x4200000000000000000000000000000000000006\",\n \"V3_POOL_FEE\": \"10000\",\n \"TRADE_REFERRER_FEE_BPS\": \"1000\",\n \"CONTRACT_VERSION\": \"2.1.0\",\n \"V4_POOL_MANAGER\": \"0x498581ff718922c3f8e6a244956af099b2652b2b\",\n \"V4_POSITION_MANAGER\": \"0x7c5f5a4bbd8fd63184577525326123b519429bdc\",\n \"PERMIT2\": \"0x000000000022D473030F116dDEE9F6B43aC78BA3\",\n \"UNIVERSAL_ROUTER\": \"0x6ff5693b99212da76ad316178a184ab56d299b43\",\n \"V4_LP_FEE\": \"20000\",\n \"V4_TICK_SPACING\": \"60\",\n \"V4_LIQUIDITY_CONFIG\": \"0x00000000000000000000000000000000000000000000000000000000000000c800000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000001c000000000000000000000000000000000000000000000000000000000000002c000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff27660fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcced0fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd3780fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd6278fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd92e8fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe4a80fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81300000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcced0fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd36b8fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd6278fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe4a80fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe4a80fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffecf50fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffecf5000000000000000000000000000000000000000000000000000000000000000070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003e8000000000000000000000000000000000000000000000000000000000000138800000000000000000000000000000000000000000000000000000000000005dc00000000000000000000000000000000000000000000000000000000000007d000000000000000000000000000000000000000000000000000000000000001f40000000000000000000000000000000000000000000000000000000000000007000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000270600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n \"COLLATERAL_TEMPLATES\": {\n \"ETH\": {\n \"ID\": \"ETH_DEFAULT\",\n \"COLLATERAL_TOKEN\": \"0x0000000000000000000000000000000000000000\",\n \"SYMBOL\": \"ETH\",\n \"DECIMALS\": 18,\n \"ENABLED\": true,\n \"TOTAL_SUPPLY\": \"1000000000000000000000000000\",\n \"VIRTUAL_TOKEN_RESERVES\": \"1088264899999999783900020736\",\n \"VIRTUAL_COLLATERAL_RESERVES\": \"902103736559999872\",\n \"FEE_BASIS_POINTS\": \"200\",\n \"FIXED_MIGRATION_FEE\": \"100000000000000000\",\n \"POOL_CREATION_FEE\": \"50000000000000000\",\n \"FIRST_BUY_FEE\": \"1500000000000000\",\n \"MC_UPPER_LIMIT\": \"11835000000000000000\",\n \"MC_LOWER_LIMIT\": \"11795000000000000000\",\n \"TOKENS_MIGRATION_THRESHOLD\": \"799764393968807750154100378\",\n \"TARGET_ETH_COLLECTION_AMOUNT\": \"2500759732077910169\",\n \"TARGET_COLLECTION_AMOUNT\": \"2500759732077910169\",\n \"V4_LP_FEE\": \"20000\",\n \"V4_LIQUIDITY_CONFIG\": \"0x00000000000000000000000000000000000000000000000000000000000000c800000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000001c000000000000000000000000000000000000000000000000000000000000002c000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff27660fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcced0fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd3780fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd6278fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd92e8fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe4a80fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81300000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcced0fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd36b8fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd6278fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe4a80fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe4a80fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffecf50fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffecf5000000000000000000000000000000000000000000000000000000000000000070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003e8000000000000000000000000000000000000000000000000000000000000138800000000000000000000000000000000000000000000000000000000000005dc00000000000000000000000000000000000000000000000000000000000007d000000000000000000000000000000000000000000000000000000000000001f40000000000000000000000000000000000000000000000000000000000000007000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000270600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\"\n },\n \"USDC\": {\n \"ID\": \"USDC_DEFAULT\",\n \"COLLATERAL_TOKEN\": \"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913\",\n \"SYMBOL\": \"USDC\",\n \"DECIMALS\": 6,\n \"ENABLED\": true,\n \"TOTAL_SUPPLY\": \"1000000000000000000000000000\",\n \"VIRTUAL_TOKEN_RESERVES\": \"1090909090905000000000022918\",\n \"VIRTUAL_COLLATERAL_RESERVES\": \"2909090909\",\n \"FEE_BASIS_POINTS\": \"200\",\n \"FIXED_MIGRATION_FEE\": \"300000000\",\n \"POOL_CREATION_FEE\": \"200000000\",\n \"FIRST_BUY_FEE\": \"5000000\",\n \"MC_UPPER_LIMIT\": \"37560000000\",\n \"MC_LOWER_LIMIT\": \"37500000000\",\n \"TOKENS_MIGRATION_THRESHOLD\": \"800000000000000000000000000\",\n \"TARGET_USDC_COLLECTION_AMOUNT\": \"8000000000\",\n \"TARGET_COLLECTION_AMOUNT\": \"8000000000\",\n \"V4_LP_FEE\": \"20000\",\n \"V4_LIQUIDITY_CONFIG\": \"0x00000000000000000000000000000000000000000000000000000000000000c800000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000001c000000000000000000000000000000000000000000000000000000000000002c000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff27660fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9d2c0fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa3aa8fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa6a50fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa9b88fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb5320fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb89080000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9d2c0fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa39e0fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa6a50fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb5320fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb5320fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbd7f0fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbd7f000000000000000000000000000000000000000000000000000000000000000070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003e8000000000000000000000000000000000000000000000000000000000000138800000000000000000000000000000000000000000000000000000000000005dc00000000000000000000000000000000000000000000000000000000000007d000000000000000000000000000000000000000000000000000000000000001f40000000000000000000000000000000000000000000000000000000000000007000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000270600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\"\n },\n \"SOL\": {\n \"ID\": \"SOL_DEFAULT\",\n \"COLLATERAL_TOKEN\": \"0x311935Cd80B76769bF2ecC9D8Ab7635b2139cf82\",\n \"SYMBOL\": \"SOL\",\n \"DECIMALS\": 9,\n \"ENABLED\": true,\n \"TOTAL_SUPPLY\": \"1000000000000000000000000000\",\n \"VIRTUAL_TOKEN_RESERVES\": \"1090909090905000000000022917\",\n \"VIRTUAL_COLLATERAL_RESERVES\": \"23272727272\",\n \"FEE_BASIS_POINTS\": \"200\",\n \"FIXED_MIGRATION_FEE\": \"2400000000\",\n \"POOL_CREATION_FEE\": \"1600000000\",\n \"FIRST_BUY_FEE\": \"40000000\",\n \"MC_UPPER_LIMIT\": \"300480000003\",\n \"MC_LOWER_LIMIT\": \"300000000003\",\n \"TOKENS_MIGRATION_THRESHOLD\": \"800000000000000000000000000\",\n \"TARGET_COLLECTION_AMOUNT\": \"64000000000\",\n \"V4_LP_FEE\": \"20000\",\n \"V4_LIQUIDITY_CONFIG\": \"0x00000000000000000000000000000000000000000000000000000000000000c800000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000001c000000000000000000000000000000000000000000000000000000000000002c000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff27660fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa2400fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa8be8fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffabb90fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffaecc8fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffba460fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbda480000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa2400fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa8b20fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffabb90fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffba460fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffba460fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc2930fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc293000000000000000000000000000000000000000000000000000000000000000070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003e8000000000000000000000000000000000000000000000000000000000000138800000000000000000000000000000000000000000000000000000000000005dc00000000000000000000000000000000000000000000000000000000000007d000000000000000000000000000000000000000000000000000000000000001f40000000000000000000000000000000000000000000000000000000000000007000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000270600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\"\n }\n }\n},\n \"1.0.12\": {\n \"TOTAL_SUPPLY\": \"1000000000000000000000000000\",\n \"VIRTUAL_TOKEN_RESERVES\": \"1060000000000000000000000000\",\n \"VIRTUAL_COLLATERAL_RESERVES\": \"1600000000000000000\",\n \"FEE_BASIS_POINTS\": \"200\",\n \"DEX_FEE_BASIS_POINTS\": \"5000\",\n \"FIXED_MIGRATION_FEE\": \"100000000000000000\",\n \"POOL_CREATION_FEE\": \"50000000000000000\",\n \"FIRST_BUY_FEE\": \"1500000000000000\",\n \"MC_UPPER_LIMIT\": \"27000000000000000000\",\n \"MC_LOWER_LIMIT\": \"25000000000000000000\",\n \"TOKENS_MIGRATION_THRESHOLD\": \"799538870462404697804703491\",\n \"TARGET_ETH_COLLECTION_AMOUNT\": \"4911528238439880951\",\n \"SIGNER\": \"0x0000000000000000000000000000000000000000\",\n \"DEPLOYER\": \"0x34527950b5dDe5039139Fd4fE8944dD392941F1f\",\n \"FACTORY_OWNER\": \"0x3851F305EcC728c3e78c2F6Ff0BAC9B9fF1BF0ff\",\n \"PROTOCOL_REWARD_RECIPIENT\": \"0x3851F305EcC728c3e78c2F6Ff0BAC9B9fF1BF0ff\",\n \"UNISWAP_V3_NONFUNGIBLE_POSITION_MANAGER\": \"0x03a520b32C04BF3bEEf7BEb72E919cf822Ed34f1\",\n \"QUOTER_V2\": \"0x3d4e44Eb1374240CE5F1B871ab261CD16335B76a\",\n \"SWAP_ROUTER_V2\": \"0x2626664c2603336E57B271c5C0b26F421741e481\",\n \"UNISWAP_V2_ROUTER\": \"0x4752ba5dbc23f44d87826276bf6fd6b1c372ad24\",\n \"WETH\": \"0x4200000000000000000000000000000000000006\",\n \"V3_POOL_FEE\": \"10000\",\n \"TRADE_REFERRER_FEE_BPS\": \"1000\",\n \"CONTRACT_VERSION\": \"1.0.12\"\n}, \"1.0.8\": {\n \"TOTAL_SUPPLY\": \"1000000000000000000000000000\",\n \"VIRTUAL_TOKEN_RESERVES\": \"1088264899999999783900020736\",\n \"VIRTUAL_COLLATERAL_RESERVES\": \"902103736559999872\",\n \"FEE_BASIS_POINTS\": \"200\",\n \"DEX_FEE_BASIS_POINTS\": \"5000\",\n \"FIXED_MIGRATION_FEE\": \"100000000000000000\",\n \"POOL_CREATION_FEE\": \"50000000000000000\",\n \"FIRST_BUY_FEE\": \"1500000000000000\",\n \"MC_UPPER_LIMIT\": \"11835000000000000000\",\n \"MC_LOWER_LIMIT\": \"11795000000000000000\",\n \"TOKENS_MIGRATION_THRESHOLD\": \"799764393968807750154100378\",\n \"TARGET_ETH_COLLECTION_AMOUNT\": \"2500759732077910169\",\n \"TARGET_COLLECTION_AMOUNT\": \"2500759732077910169\",\n \"SIGNER\": \"0x0000000000000000000000000000000000000000\",\n \"DEPLOYER\": \"0x30d197dd771d8f75378aad9428ed9d5e24bdbbbb\",\n \"FACTORY_OWNER\": \"0x2730B29aCbBCD34A59B720338e8d06619Fd71ACa\",\n \"PROTOCOL_REWARD_RECIPIENT\": \"0x2730B29aCbBCD34A59B720338e8d06619Fd71ACa\",\n \"UNISWAP_V3_NONFUNGIBLE_POSITION_MANAGER\": \"0x03a520b32C04BF3bEEf7BEb72E919cf822Ed34f1\",\n \"QUOTER_V2\": \"0x3d4e44Eb1374240CE5F1B871ab261CD16335B76a\",\n \"SWAP_ROUTER_V2\": \"0x2626664c2603336E57B271c5C0b26F421741e481\",\n \"UNISWAP_V2_ROUTER\": \"0x4752ba5dbc23f44d87826276bf6fd6b1c372ad24\",\n \"WETH\": \"0x4200000000000000000000000000000000000006\",\n \"V3_POOL_FEE\": \"10000\",\n \"TRADE_REFERRER_FEE_BPS\": \"1000\",\n \"CONTRACT_VERSION\": \"1.0.8\",\n \"V4_POOL_MANAGER\": \"0x498581ff718922c3f8e6a244956af099b2652b2b\",\n \"V4_POSITION_MANAGER\": \"0x7c5f5a4bbd8fd63184577525326123b519429bdc\",\n \"PERMIT2\": \"0x000000000022D473030F116dDEE9F6B43aC78BA3\",\n \"UNIVERSAL_ROUTER\": \"0x6ff5693b99212da76ad316178a184ab56d299b43\",\n \"V4_LP_FEE\": \"20000\",\n \"V4_TICK_SPACING\": \"60\",\n \"V4_LIQUIDITY_CONFIG\": \"0x00000000000000000000000000000000000000000000000000000000000000c800000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000001c000000000000000000000000000000000000000000000000000000000000002c000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff27660fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcced0fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd3780fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd6278fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd92e8fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe4a80fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81300000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcced0fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd36b8fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd6278fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe4a80fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe4a80fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffecf50fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffecf5000000000000000000000000000000000000000000000000000000000000000070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003e8000000000000000000000000000000000000000000000000000000000000138800000000000000000000000000000000000000000000000000000000000005dc00000000000000000000000000000000000000000000000000000000000007d000000000000000000000000000000000000000000000000000000000000001f40000000000000000000000000000000000000000000000000000000000000007000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000270600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\"\n}, \"2.1.0\": {\n \"TOTAL_SUPPLY\": \"1000000000000000000000000000\",\n \"VIRTUAL_TOKEN_RESERVES\": \"1088264899999999783900020736\",\n \"VIRTUAL_COLLATERAL_RESERVES\": \"902103736559999872\",\n \"FEE_BASIS_POINTS\": \"200\",\n \"DEX_FEE_BASIS_POINTS\": \"5000\",\n \"FIXED_MIGRATION_FEE\": \"100000000000000000\",\n \"POOL_CREATION_FEE\": \"50000000000000000\",\n \"FIRST_BUY_FEE\": \"1500000000000000\",\n \"MC_UPPER_LIMIT\": \"11835000000000000000\",\n \"MC_LOWER_LIMIT\": \"11795000000000000000\",\n \"TOKENS_MIGRATION_THRESHOLD\": \"799764393968807750154100378\",\n \"TARGET_ETH_COLLECTION_AMOUNT\": \"2500759732077910169\",\n \"TARGET_COLLECTION_AMOUNT\": \"2500759732077910169\",\n \"SIGNER\": \"0x0000000000000000000000000000000000000000\",\n \"DEPLOYER\": \"0x30d197dd771d8f75378aad9428ed9d5e24bdbbbb\",\n \"FACTORY_OWNER\": \"0x2730B29aCbBCD34A59B720338e8d06619Fd71ACa\",\n \"PROTOCOL_REWARD_RECIPIENT\": \"0x2730B29aCbBCD34A59B720338e8d06619Fd71ACa\",\n \"UNISWAP_V3_NONFUNGIBLE_POSITION_MANAGER\": \"0x03a520b32C04BF3bEEf7BEb72E919cf822Ed34f1\",\n \"QUOTER_V2\": \"0x3d4e44Eb1374240CE5F1B871ab261CD16335B76a\",\n \"SWAP_ROUTER_V2\": \"0x2626664c2603336E57B271c5C0b26F421741e481\",\n \"UNISWAP_V2_ROUTER\": \"0x4752ba5dbc23f44d87826276bf6fd6b1c372ad24\",\n \"WETH\": \"0x4200000000000000000000000000000000000006\",\n \"V3_POOL_FEE\": \"10000\",\n \"TRADE_REFERRER_FEE_BPS\": \"1000\",\n \"CONTRACT_VERSION\": \"2.1.0\",\n \"V4_POOL_MANAGER\": \"0x498581ff718922c3f8e6a244956af099b2652b2b\",\n \"V4_POSITION_MANAGER\": \"0x7c5f5a4bbd8fd63184577525326123b519429bdc\",\n \"PERMIT2\": \"0x000000000022D473030F116dDEE9F6B43aC78BA3\",\n \"UNIVERSAL_ROUTER\": \"0x6ff5693b99212da76ad316178a184ab56d299b43\",\n \"V4_LP_FEE\": \"20000\",\n \"V4_TICK_SPACING\": \"60\",\n \"V4_LIQUIDITY_CONFIG\": \"0x00000000000000000000000000000000000000000000000000000000000000c800000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000001c000000000000000000000000000000000000000000000000000000000000002c000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff27660fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcced0fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd3780fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd6278fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd92e8fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe4a80fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81300000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcced0fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd36b8fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd6278fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe4a80fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe4a80fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffecf50fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffecf5000000000000000000000000000000000000000000000000000000000000000070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003e8000000000000000000000000000000000000000000000000000000000000138800000000000000000000000000000000000000000000000000000000000005dc00000000000000000000000000000000000000000000000000000000000007d000000000000000000000000000000000000000000000000000000000000001f40000000000000000000000000000000000000000000000000000000000000007000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000270600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n \"COLLATERAL_TEMPLATES\": {\n \"ETH\": {\n \"ID\": \"ETH_DEFAULT\",\n \"COLLATERAL_TOKEN\": \"0x0000000000000000000000000000000000000000\",\n \"SYMBOL\": \"ETH\",\n \"DECIMALS\": 18,\n \"ENABLED\": true,\n \"TOTAL_SUPPLY\": \"1000000000000000000000000000\",\n \"VIRTUAL_TOKEN_RESERVES\": \"1088264899999999783900020736\",\n \"VIRTUAL_COLLATERAL_RESERVES\": \"902103736559999872\",\n \"FEE_BASIS_POINTS\": \"200\",\n \"FIXED_MIGRATION_FEE\": \"100000000000000000\",\n \"POOL_CREATION_FEE\": \"50000000000000000\",\n \"FIRST_BUY_FEE\": \"1500000000000000\",\n \"MC_UPPER_LIMIT\": \"11835000000000000000\",\n \"MC_LOWER_LIMIT\": \"11795000000000000000\",\n \"TOKENS_MIGRATION_THRESHOLD\": \"799764393968807750154100378\",\n \"TARGET_ETH_COLLECTION_AMOUNT\": \"2500759732077910169\",\n \"TARGET_COLLECTION_AMOUNT\": \"2500759732077910169\",\n \"V4_LP_FEE\": \"20000\",\n \"V4_LIQUIDITY_CONFIG\": \"0x00000000000000000000000000000000000000000000000000000000000000c800000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000001c000000000000000000000000000000000000000000000000000000000000002c000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff27660fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcced0fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd3780fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd6278fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd92e8fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe4a80fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81300000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcced0fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd36b8fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd6278fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe4a80fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe4a80fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffecf50fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffecf5000000000000000000000000000000000000000000000000000000000000000070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003e8000000000000000000000000000000000000000000000000000000000000138800000000000000000000000000000000000000000000000000000000000005dc00000000000000000000000000000000000000000000000000000000000007d000000000000000000000000000000000000000000000000000000000000001f40000000000000000000000000000000000000000000000000000000000000007000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000270600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\"\n },\n \"USDC\": {\n \"ID\": \"USDC_DEFAULT\",\n \"COLLATERAL_TOKEN\": \"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913\",\n \"SYMBOL\": \"USDC\",\n \"DECIMALS\": 6,\n \"ENABLED\": true,\n \"TOTAL_SUPPLY\": \"1000000000000000000000000000\",\n \"VIRTUAL_TOKEN_RESERVES\": \"1090909090905000000000022918\",\n \"VIRTUAL_COLLATERAL_RESERVES\": \"2909090909\",\n \"FEE_BASIS_POINTS\": \"200\",\n \"FIXED_MIGRATION_FEE\": \"300000000\",\n \"POOL_CREATION_FEE\": \"200000000\",\n \"FIRST_BUY_FEE\": \"5000000\",\n \"MC_UPPER_LIMIT\": \"37560000000\",\n \"MC_LOWER_LIMIT\": \"37500000000\",\n \"TOKENS_MIGRATION_THRESHOLD\": \"800000000000000000000000000\",\n \"TARGET_USDC_COLLECTION_AMOUNT\": \"8000000000\",\n \"TARGET_COLLECTION_AMOUNT\": \"8000000000\",\n \"V4_LP_FEE\": \"20000\",\n \"V4_LIQUIDITY_CONFIG\": \"0x00000000000000000000000000000000000000000000000000000000000000c800000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000001c000000000000000000000000000000000000000000000000000000000000002c000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff27660fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9d2c0fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa3aa8fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa6a50fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa9b88fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb5320fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb89080000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9d2c0fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa39e0fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa6a50fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb5320fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb5320fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbd7f0fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbd7f000000000000000000000000000000000000000000000000000000000000000070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003e8000000000000000000000000000000000000000000000000000000000000138800000000000000000000000000000000000000000000000000000000000005dc00000000000000000000000000000000000000000000000000000000000007d000000000000000000000000000000000000000000000000000000000000001f40000000000000000000000000000000000000000000000000000000000000007000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000270600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\"\n },\n \"SOL\": {\n \"ID\": \"SOL_DEFAULT\",\n \"COLLATERAL_TOKEN\": \"0x311935Cd80B76769bF2ecC9D8Ab7635b2139cf82\",\n \"SYMBOL\": \"SOL\",\n \"DECIMALS\": 9,\n \"ENABLED\": true,\n \"TOTAL_SUPPLY\": \"1000000000000000000000000000\",\n \"VIRTUAL_TOKEN_RESERVES\": \"1090909090905000000000022917\",\n \"VIRTUAL_COLLATERAL_RESERVES\": \"23272727272\",\n \"FEE_BASIS_POINTS\": \"200\",\n \"FIXED_MIGRATION_FEE\": \"2400000000\",\n \"POOL_CREATION_FEE\": \"1600000000\",\n \"FIRST_BUY_FEE\": \"40000000\",\n \"MC_UPPER_LIMIT\": \"300480000003\",\n \"MC_LOWER_LIMIT\": \"300000000003\",\n \"TOKENS_MIGRATION_THRESHOLD\": \"800000000000000000000000000\",\n \"TARGET_COLLECTION_AMOUNT\": \"64000000000\",\n \"V4_LP_FEE\": \"20000\",\n \"V4_LIQUIDITY_CONFIG\": \"0x00000000000000000000000000000000000000000000000000000000000000c800000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000001c000000000000000000000000000000000000000000000000000000000000002c000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff27660fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa2400fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa8be8fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffabb90fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffaecc8fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffba460fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbda480000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa2400fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa8b20fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffabb90fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffba460fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffba460fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc2930fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc293000000000000000000000000000000000000000000000000000000000000000070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003e8000000000000000000000000000000000000000000000000000000000000138800000000000000000000000000000000000000000000000000000000000005dc00000000000000000000000000000000000000000000000000000000000007d000000000000000000000000000000000000000000000000000000000000001f40000000000000000000000000000000000000000000000000000000000000007000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000270600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\"\n }\n }\n}\n }, [84532]: {\n current: {\n \"TOTAL_SUPPLY\": \"1000000000000000000000000000\",\n \"VIRTUAL_TOKEN_RESERVES\": \"1088264899999999783900020736\",\n \"VIRTUAL_COLLATERAL_RESERVES\": \"902103736559999872\",\n \"FEE_BASIS_POINTS\": \"200\",\n \"DEX_FEE_BASIS_POINTS\": \"5000\",\n \"FIXED_MIGRATION_FEE\": \"100000000000000000\",\n \"POOL_CREATION_FEE\": \"50000000000000000\",\n \"FIRST_BUY_FEE\": \"1500000000000000\",\n \"MC_UPPER_LIMIT\": \"11835000000000000000\",\n \"MC_LOWER_LIMIT\": \"11795000000000000000\",\n \"TOKENS_MIGRATION_THRESHOLD\": \"799764393968807750154100378\",\n \"TARGET_ETH_COLLECTION_AMOUNT\": \"2500759732077910169\",\n \"TARGET_COLLECTION_AMOUNT\": \"2500759732077910169\",\n \"SIGNER\": \"0x0000000000000000000000000000000000000000\",\n \"DEPLOYER\": \"0x9575b2d4eeb082f777af9dae93702aea6d2769d3\",\n \"FACTORY_OWNER\": \"0x9575b2d4eeb082f777af9dae93702aea6d2769d3\",\n \"PROTOCOL_REWARD_RECIPIENT\": \"0x9575b2d4eeb082f777af9dae93702aea6d2769d3\",\n \"UNISWAP_V3_NONFUNGIBLE_POSITION_MANAGER\": \"0x27F971cb582BF9E50F397e4d29a5C7A34f11faA2\",\n \"QUOTER_V2\": \"0xC5290058841028F1614F3A6F0F5816cAd0df5E27\",\n \"SWAP_ROUTER_V2\": \"0x94cC0AaC535CCDB3C01d6787D6413C739ae12bc4\",\n \"UNISWAP_V2_ROUTER\": \"0x0000000000000000000000000000000000000000\",\n \"WETH\": \"0x4200000000000000000000000000000000000006\",\n \"V3_POOL_FEE\": \"10000\",\n \"TRADE_REFERRER_FEE_BPS\": \"1000\",\n \"CONTRACT_VERSION\": \"2.1.0\",\n \"V4_POOL_MANAGER\": \"0x05E73354cFDd6745C338b50BcFDfA3Aa6fA03408\",\n \"V4_POSITION_MANAGER\": \"0x4B2C77d209D3405F41a037Ec6c77F7F5b8e2ca80\",\n \"QUOTER_V4\": \"0x4A6513c898fe1B2d0E78d3b0e0A4a151589B1cBa\",\n \"PERMIT2\": \"0x000000000022D473030F116dDEE9F6B43aC78BA3\",\n \"UNIVERSAL_ROUTER\": \"0x492E6456D9528771018DeB9E87ef7750EF184104\",\n \"V4_LP_FEE\": \"20000\",\n \"V4_LIQUIDITY_CONFIG\": \"0x00000000000000000000000000000000000000000000000000000000000000c800000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000001c000000000000000000000000000000000000000000000000000000000000002c000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff27660fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcced0fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd3780fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd6278fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd92e8fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe4a80fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81300000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcced0fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd36b8fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd6278fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe4a80fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe4a80fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffecf50fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffecf5000000000000000000000000000000000000000000000000000000000000000070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003e8000000000000000000000000000000000000000000000000000000000000138800000000000000000000000000000000000000000000000000000000000005dc00000000000000000000000000000000000000000000000000000000000007d000000000000000000000000000000000000000000000000000000000000001f40000000000000000000000000000000000000000000000000000000000000007000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000270600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n \"COLLATERAL_TEMPLATES\": {\n \"ETH\": {\n \"ID\": \"ETH_DEFAULT\",\n \"COLLATERAL_TOKEN\": \"0x0000000000000000000000000000000000000000\",\n \"SYMBOL\": \"ETH\",\n \"DECIMALS\": 18,\n \"ENABLED\": true,\n \"TOTAL_SUPPLY\": \"1000000000000000000000000000\",\n \"VIRTUAL_TOKEN_RESERVES\": \"1088264899999999783900020736\",\n \"VIRTUAL_COLLATERAL_RESERVES\": \"902103736559999872\",\n \"FEE_BASIS_POINTS\": \"200\",\n \"FIXED_MIGRATION_FEE\": \"100000000000000000\",\n \"POOL_CREATION_FEE\": \"50000000000000000\",\n \"FIRST_BUY_FEE\": \"1500000000000000\",\n \"MC_UPPER_LIMIT\": \"11835000000000000000\",\n \"MC_LOWER_LIMIT\": \"11795000000000000000\",\n \"TOKENS_MIGRATION_THRESHOLD\": \"799764393968807750154100378\",\n \"TARGET_ETH_COLLECTION_AMOUNT\": \"2500759732077910169\",\n \"TARGET_COLLECTION_AMOUNT\": \"2500759732077910169\",\n \"V4_LP_FEE\": \"20000\",\n \"V4_LIQUIDITY_CONFIG\": \"0x00000000000000000000000000000000000000000000000000000000000000c800000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000001c000000000000000000000000000000000000000000000000000000000000002c000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff27660fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcced0fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd3780fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd6278fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd92e8fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe4a80fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81300000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcced0fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd36b8fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd6278fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe4a80fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe4a80fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffecf50fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffecf5000000000000000000000000000000000000000000000000000000000000000070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003e8000000000000000000000000000000000000000000000000000000000000138800000000000000000000000000000000000000000000000000000000000005dc00000000000000000000000000000000000000000000000000000000000007d000000000000000000000000000000000000000000000000000000000000001f40000000000000000000000000000000000000000000000000000000000000007000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000270600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\"\n },\n \"USDC\": {\n \"ID\": \"USDC_DEFAULT\",\n \"COLLATERAL_TOKEN\": \"0x108219E8D6A004A5B15D922FE1A42fd282601DcC\",\n \"SYMBOL\": \"USDC\",\n \"DECIMALS\": 6,\n \"ENABLED\": true,\n \"TOTAL_SUPPLY\": \"1000000000000000000000000000\",\n \"VIRTUAL_TOKEN_RESERVES\": \"1090909090905000000000022918\",\n \"VIRTUAL_COLLATERAL_RESERVES\": \"2909090909\",\n \"FEE_BASIS_POINTS\": \"200\",\n \"FIXED_MIGRATION_FEE\": \"300000000\",\n \"POOL_CREATION_FEE\": \"200000000\",\n \"FIRST_BUY_FEE\": \"5000000\",\n \"MC_UPPER_LIMIT\": \"37560000000\",\n \"MC_LOWER_LIMIT\": \"37500000000\",\n \"TOKENS_MIGRATION_THRESHOLD\": \"800000000000000000000000000\",\n \"TARGET_USDC_COLLECTION_AMOUNT\": \"8000000000\",\n \"TARGET_COLLECTION_AMOUNT\": \"8000000000\",\n \"V4_LP_FEE\": \"20000\",\n \"V4_LIQUIDITY_CONFIG\": \"0x00000000000000000000000000000000000000000000000000000000000000c800000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000001c000000000000000000000000000000000000000000000000000000000000002c000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff27660fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9d2c0fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa3aa8fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa6a50fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa9b88fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb5320fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb89080000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9d2c0fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa39e0fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa6a50fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb5320fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb5320fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbd7f0fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbd7f000000000000000000000000000000000000000000000000000000000000000070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003e8000000000000000000000000000000000000000000000000000000000000138800000000000000000000000000000000000000000000000000000000000005dc00000000000000000000000000000000000000000000000000000000000007d000000000000000000000000000000000000000000000000000000000000001f40000000000000000000000000000000000000000000000000000000000000007000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000270600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\"\n },\n \"SOL\": {\n \"ID\": \"SOL_DEFAULT\",\n \"COLLATERAL_TOKEN\": \"0x62458b06DdD0E886dc26837dcd8C386ADD548317\",\n \"SYMBOL\": \"SOL\",\n \"DECIMALS\": 9,\n \"ENABLED\": true,\n \"TOTAL_SUPPLY\": \"1000000000000000000000000000\",\n \"VIRTUAL_TOKEN_RESERVES\": \"1090909090905000000000022917\",\n \"VIRTUAL_COLLATERAL_RESERVES\": \"23272727272\",\n \"FEE_BASIS_POINTS\": \"200\",\n \"FIXED_MIGRATION_FEE\": \"2400000000\",\n \"POOL_CREATION_FEE\": \"1600000000\",\n \"FIRST_BUY_FEE\": \"40000000\",\n \"MC_UPPER_LIMIT\": \"300480000003\",\n \"MC_LOWER_LIMIT\": \"300000000003\",\n \"TOKENS_MIGRATION_THRESHOLD\": \"800000000000000000000000000\",\n \"TARGET_COLLECTION_AMOUNT\": \"64000000000\",\n \"V4_LP_FEE\": \"20000\",\n \"V4_LIQUIDITY_CONFIG\": \"0x00000000000000000000000000000000000000000000000000000000000000c800000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000001c000000000000000000000000000000000000000000000000000000000000002c000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff27660fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa2400fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa8be8fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffabb90fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffaecc8fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffba460fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbda480000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa2400fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa8b20fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffabb90fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffba460fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffba460fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc2930fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc293000000000000000000000000000000000000000000000000000000000000000070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003e8000000000000000000000000000000000000000000000000000000000000138800000000000000000000000000000000000000000000000000000000000005dc00000000000000000000000000000000000000000000000000000000000007d000000000000000000000000000000000000000000000000000000000000001f40000000000000000000000000000000000000000000000000000000000000007000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000270600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\"\n },\n \"MUSDC\": {\n \"ID\": \"MUSDC_DEFAULT\",\n \"COLLATERAL_TOKEN\": \"0x4967BC4b61B3259856D1A925900263AB2B64F6de\",\n \"SYMBOL\": \"USDC\",\n \"DECIMALS\": 6,\n \"ENABLED\": true,\n \"TOTAL_SUPPLY\": \"1000000000000000000000000000\",\n \"VIRTUAL_TOKEN_RESERVES\": \"1090909090905000000000022918\",\n \"VIRTUAL_COLLATERAL_RESERVES\": \"2909090909\",\n \"FEE_BASIS_POINTS\": \"200\",\n \"FIXED_MIGRATION_FEE\": \"300000000\",\n \"POOL_CREATION_FEE\": \"200000000\",\n \"FIRST_BUY_FEE\": \"5000000\",\n \"MC_UPPER_LIMIT\": \"37560000000\",\n \"MC_LOWER_LIMIT\": \"37500000000\",\n \"TOKENS_MIGRATION_THRESHOLD\": \"800000000000000000000000000\",\n \"TARGET_USDC_COLLECTION_AMOUNT\": \"8000000000\",\n \"TARGET_COLLECTION_AMOUNT\": \"8000000000\",\n \"V4_LP_FEE\": \"20000\",\n \"V4_LIQUIDITY_CONFIG\": \"0x00000000000000000000000000000000000000000000000000000000000000c800000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000001c000000000000000000000000000000000000000000000000000000000000002c000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff27660fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9d2c0fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa3aa8fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa6a50fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa9b88fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb5320fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb89080000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9d2c0fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa39e0fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa6a50fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb5320fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb5320fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbd7f0fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbd7f000000000000000000000000000000000000000000000000000000000000000070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003e8000000000000000000000000000000000000000000000000000000000000138800000000000000000000000000000000000000000000000000000000000005dc00000000000000000000000000000000000000000000000000000000000007d000000000000000000000000000000000000000000000000000000000000001f40000000000000000000000000000000000000000000000000000000000000007000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000270600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\"\n },\n \"MSOL\": {\n \"ID\": \"MSOL_DEFAULT\",\n \"COLLATERAL_TOKEN\": \"0x86dBa4292D9c74D5115153DaBA47485Dfe00c228\",\n \"SYMBOL\": \"SOL\",\n \"DECIMALS\": 9,\n \"ENABLED\": true,\n \"TOTAL_SUPPLY\": \"1000000000000000000000000000\",\n \"VIRTUAL_TOKEN_RESERVES\": \"1090909090905000000000022917\",\n \"VIRTUAL_COLLATERAL_RESERVES\": \"23272727272\",\n \"FEE_BASIS_POINTS\": \"200\",\n \"FIXED_MIGRATION_FEE\": \"2400000000\",\n \"POOL_CREATION_FEE\": \"1600000000\",\n \"FIRST_BUY_FEE\": \"40000000\",\n \"MC_UPPER_LIMIT\": \"300480000003\",\n \"MC_LOWER_LIMIT\": \"300000000003\",\n \"TOKENS_MIGRATION_THRESHOLD\": \"800000000000000000000000000\",\n \"TARGET_COLLECTION_AMOUNT\": \"64000000000\",\n \"V4_LP_FEE\": \"20000\",\n \"V4_LIQUIDITY_CONFIG\": \"0x00000000000000000000000000000000000000000000000000000000000000c800000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000001c000000000000000000000000000000000000000000000000000000000000002c000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff27660fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa2400fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa8be8fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffabb90fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffaecc8fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffba460fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbda480000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa2400fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa8b20fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffabb90fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffba460fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffba460fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc2930fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc293000000000000000000000000000000000000000000000000000000000000000070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003e8000000000000000000000000000000000000000000000000000000000000138800000000000000000000000000000000000000000000000000000000000005dc00000000000000000000000000000000000000000000000000000000000007d000000000000000000000000000000000000000000000000000000000000001f40000000000000000000000000000000000000000000000000000000000000007000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000270600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\"\n }\n }\n},\n \"1.0.12\": {\n \"TOTAL_SUPPLY\": \"1000000000000000000000000000\",\n \"VIRTUAL_TOKEN_RESERVES\": \"1060000000000000000000000000\",\n \"VIRTUAL_COLLATERAL_RESERVES\": \"3250000000000000\",\n \"FEE_BASIS_POINTS\": \"200\",\n \"DEX_FEE_BASIS_POINTS\": \"5000\",\n \"FIXED_MIGRATION_FEE\": \"100000000000000\",\n \"POOL_CREATION_FEE\": \"100000000000000\",\n \"FIRST_BUY_FEE\": \"100000000000000\",\n \"MC_UPPER_LIMIT\": \"50961538461538464\",\n \"MC_LOWER_LIMIT\": \"45865384615384616\",\n \"TOKENS_MIGRATION_THRESHOLD\": \"793245628457859931534326380\",\n \"TARGET_ETH_COLLECTION_AMOUNT\": \"9320053699169239\",\n \"SIGNER\": \"0x0000000000000000000000000000000000000000\",\n \"DEPLOYER\": \"0x9575B2D4EEb082F777Af9DaE93702aEa6d2769d3\",\n \"FACTORY_OWNER\": \"0x9575B2D4EEb082F777Af9DaE93702aEa6d2769d3\",\n \"PROTOCOL_REWARD_RECIPIENT\": \"0x9575B2D4EEb082F777Af9DaE93702aEa6d2769d3\",\n \"UNISWAP_V3_NONFUNGIBLE_POSITION_MANAGER\": \"0x27F971cb582BF9E50F397e4d29a5C7A34f11faA2\",\n \"QUOTER_V2\": \"0xC5290058841028F1614F3A6F0F5816cAd0df5E27\",\n \"SWAP_ROUTER_V2\": \"0x94cC0AaC535CCDB3C01d6787D6413C739ae12bc4\",\n \"UNISWAP_V2_ROUTER\": \"0x0000000000000000000000000000000000000000\",\n \"WETH\": \"0x4200000000000000000000000000000000000006\",\n \"V3_POOL_FEE\": \"10000\",\n \"TRADE_REFERRER_FEE_BPS\": \"1000\",\n \"CONTRACT_VERSION\": \"1.0.12\"\n}, \"2.0.0\": {\n \"TOTAL_SUPPLY\": \"1000000000000000000000000000\",\n \"VIRTUAL_TOKEN_RESERVES\": \"1088264899999999783900020736\",\n \"VIRTUAL_COLLATERAL_RESERVES\": \"902103736559999872\",\n \"FEE_BASIS_POINTS\": \"200\",\n \"DEX_FEE_BASIS_POINTS\": \"5000\",\n \"FIXED_MIGRATION_FEE\": \"100000000000000000\",\n \"POOL_CREATION_FEE\": \"50000000000000000\",\n \"FIRST_BUY_FEE\": \"1500000000000000\",\n \"MC_UPPER_LIMIT\": \"11835000000000000000\",\n \"MC_LOWER_LIMIT\": \"11795000000000000000\",\n \"TOKENS_MIGRATION_THRESHOLD\": \"799764393968807750154100378\",\n \"TARGET_ETH_COLLECTION_AMOUNT\": \"2500759732077910169\",\n \"SIGNER\": \"0x0000000000000000000000000000000000000000\",\n \"DEPLOYER\": \"0x9575b2d4eeb082f777af9dae93702aea6d2769d3\",\n \"FACTORY_OWNER\": \"0x9575b2d4eeb082f777af9dae93702aea6d2769d3\",\n \"PROTOCOL_REWARD_RECIPIENT\": \"0x9575b2d4eeb082f777af9dae93702aea6d2769d3\",\n \"UNISWAP_V3_NONFUNGIBLE_POSITION_MANAGER\": \"0x27F971cb582BF9E50F397e4d29a5C7A34f11faA2\",\n \"QUOTER_V2\": \"0xC5290058841028F1614F3A6F0F5816cAd0df5E27\",\n \"SWAP_ROUTER_V2\": \"0x94cC0AaC535CCDB3C01d6787D6413C739ae12bc4\",\n \"UNISWAP_V2_ROUTER\": \"0x0000000000000000000000000000000000000000\",\n \"WETH\": \"0x4200000000000000000000000000000000000006\",\n \"V3_POOL_FEE\": \"10000\",\n \"TRADE_REFERRER_FEE_BPS\": \"1000\",\n \"CONTRACT_VERSION\": \"2.0.0\",\n \"V4_POOL_MANAGER\": \"0x05E73354cFDd6745C338b50BcFDfA3Aa6fA03408\",\n \"V4_POSITION_MANAGER\": \"0x4B2C77d209D3405F41a037Ec6c77F7F5b8e2ca80\",\n \"QUOTER_V4\": \"0x4A6513c898fe1B2d0E78d3b0e0A4a151589B1cBa\",\n \"PERMIT2\": \"0x000000000022D473030F116dDEE9F6B43aC78BA3\",\n \"UNIVERSAL_ROUTER\": \"0x492E6456D9528771018DeB9E87ef7750EF184104\",\n \"V4_LP_FEE\": \"20000\",\n \"V4_LIQUIDITY_CONFIG\": \"0x00000000000000000000000000000000000000000000000000000000000000c800000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000001c000000000000000000000000000000000000000000000000000000000000002c000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff27660fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcced0fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd3780fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd6278fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd92e8fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe4a80fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81300000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcced0fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd36b8fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd6278fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe4a80fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe4a80fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffecf50fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffecf5000000000000000000000000000000000000000000000000000000000000000070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003e8000000000000000000000000000000000000000000000000000000000000138800000000000000000000000000000000000000000000000000000000000005dc00000000000000000000000000000000000000000000000000000000000007d000000000000000000000000000000000000000000000000000000000000001f40000000000000000000000000000000000000000000000000000000000000007000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000270600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\"\n}, \"2.1.0\": {\n \"TOTAL_SUPPLY\": \"1000000000000000000000000000\",\n \"VIRTUAL_TOKEN_RESERVES\": \"1088264899999999783900020736\",\n \"VIRTUAL_COLLATERAL_RESERVES\": \"902103736559999872\",\n \"FEE_BASIS_POINTS\": \"200\",\n \"DEX_FEE_BASIS_POINTS\": \"5000\",\n \"FIXED_MIGRATION_FEE\": \"100000000000000000\",\n \"POOL_CREATION_FEE\": \"50000000000000000\",\n \"FIRST_BUY_FEE\": \"1500000000000000\",\n \"MC_UPPER_LIMIT\": \"11835000000000000000\",\n \"MC_LOWER_LIMIT\": \"11795000000000000000\",\n \"TOKENS_MIGRATION_THRESHOLD\": \"799764393968807750154100378\",\n \"TARGET_ETH_COLLECTION_AMOUNT\": \"2500759732077910169\",\n \"TARGET_COLLECTION_AMOUNT\": \"2500759732077910169\",\n \"SIGNER\": \"0x0000000000000000000000000000000000000000\",\n \"DEPLOYER\": \"0x9575b2d4eeb082f777af9dae93702aea6d2769d3\",\n \"FACTORY_OWNER\": \"0x9575b2d4eeb082f777af9dae93702aea6d2769d3\",\n \"PROTOCOL_REWARD_RECIPIENT\": \"0x9575b2d4eeb082f777af9dae93702aea6d2769d3\",\n \"UNISWAP_V3_NONFUNGIBLE_POSITION_MANAGER\": \"0x27F971cb582BF9E50F397e4d29a5C7A34f11faA2\",\n \"QUOTER_V2\": \"0xC5290058841028F1614F3A6F0F5816cAd0df5E27\",\n \"SWAP_ROUTER_V2\": \"0x94cC0AaC535CCDB3C01d6787D6413C739ae12bc4\",\n \"UNISWAP_V2_ROUTER\": \"0x0000000000000000000000000000000000000000\",\n \"WETH\": \"0x4200000000000000000000000000000000000006\",\n \"V3_POOL_FEE\": \"10000\",\n \"TRADE_REFERRER_FEE_BPS\": \"1000\",\n \"CONTRACT_VERSION\": \"2.1.0\",\n \"V4_POOL_MANAGER\": \"0x05E73354cFDd6745C338b50BcFDfA3Aa6fA03408\",\n \"V4_POSITION_MANAGER\": \"0x4B2C77d209D3405F41a037Ec6c77F7F5b8e2ca80\",\n \"QUOTER_V4\": \"0x4A6513c898fe1B2d0E78d3b0e0A4a151589B1cBa\",\n \"PERMIT2\": \"0x000000000022D473030F116dDEE9F6B43aC78BA3\",\n \"UNIVERSAL_ROUTER\": \"0x492E6456D9528771018DeB9E87ef7750EF184104\",\n \"V4_LP_FEE\": \"20000\",\n \"V4_LIQUIDITY_CONFIG\": \"0x00000000000000000000000000000000000000000000000000000000000000c800000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000001c000000000000000000000000000000000000000000000000000000000000002c000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff27660fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcced0fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd3780fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd6278fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd92e8fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe4a80fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81300000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcced0fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd36b8fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd6278fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe4a80fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe4a80fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffecf50fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffecf5000000000000000000000000000000000000000000000000000000000000000070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003e8000000000000000000000000000000000000000000000000000000000000138800000000000000000000000000000000000000000000000000000000000005dc00000000000000000000000000000000000000000000000000000000000007d000000000000000000000000000000000000000000000000000000000000001f40000000000000000000000000000000000000000000000000000000000000007000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000270600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",\n \"COLLATERAL_TEMPLATES\": {\n \"ETH\": {\n \"ID\": \"ETH_DEFAULT\",\n \"COLLATERAL_TOKEN\": \"0x0000000000000000000000000000000000000000\",\n \"SYMBOL\": \"ETH\",\n \"DECIMALS\": 18,\n \"ENABLED\": true,\n \"TOTAL_SUPPLY\": \"1000000000000000000000000000\",\n \"VIRTUAL_TOKEN_RESERVES\": \"1088264899999999783900020736\",\n \"VIRTUAL_COLLATERAL_RESERVES\": \"902103736559999872\",\n \"FEE_BASIS_POINTS\": \"200\",\n \"FIXED_MIGRATION_FEE\": \"100000000000000000\",\n \"POOL_CREATION_FEE\": \"50000000000000000\",\n \"FIRST_BUY_FEE\": \"1500000000000000\",\n \"MC_UPPER_LIMIT\": \"11835000000000000000\",\n \"MC_LOWER_LIMIT\": \"11795000000000000000\",\n \"TOKENS_MIGRATION_THRESHOLD\": \"799764393968807750154100378\",\n \"TARGET_ETH_COLLECTION_AMOUNT\": \"2500759732077910169\",\n \"TARGET_COLLECTION_AMOUNT\": \"2500759732077910169\",\n \"V4_LP_FEE\": \"20000\",\n \"V4_LIQUIDITY_CONFIG\": \"0x00000000000000000000000000000000000000000000000000000000000000c800000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000001c000000000000000000000000000000000000000000000000000000000000002c000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff27660fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcced0fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd3780fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd6278fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd92e8fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe4a80fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81300000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcced0fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd36b8fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd6278fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe4a80fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe4a80fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffecf50fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffecf5000000000000000000000000000000000000000000000000000000000000000070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003e8000000000000000000000000000000000000000000000000000000000000138800000000000000000000000000000000000000000000000000000000000005dc00000000000000000000000000000000000000000000000000000000000007d000000000000000000000000000000000000000000000000000000000000001f40000000000000000000000000000000000000000000000000000000000000007000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000270600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\"\n },\n \"USDC\": {\n \"ID\": \"USDC_DEFAULT\",\n \"COLLATERAL_TOKEN\": \"0x108219E8D6A004A5B15D922FE1A42fd282601DcC\",\n \"SYMBOL\": \"USDC\",\n \"DECIMALS\": 6,\n \"ENABLED\": true,\n \"TOTAL_SUPPLY\": \"1000000000000000000000000000\",\n \"VIRTUAL_TOKEN_RESERVES\": \"1090909090905000000000022918\",\n \"VIRTUAL_COLLATERAL_RESERVES\": \"2909090909\",\n \"FEE_BASIS_POINTS\": \"200\",\n \"FIXED_MIGRATION_FEE\": \"300000000\",\n \"POOL_CREATION_FEE\": \"200000000\",\n \"FIRST_BUY_FEE\": \"5000000\",\n \"MC_UPPER_LIMIT\": \"37560000000\",\n \"MC_LOWER_LIMIT\": \"37500000000\",\n \"TOKENS_MIGRATION_THRESHOLD\": \"800000000000000000000000000\",\n \"TARGET_USDC_COLLECTION_AMOUNT\": \"8000000000\",\n \"TARGET_COLLECTION_AMOUNT\": \"8000000000\",\n \"V4_LP_FEE\": \"20000\",\n \"V4_LIQUIDITY_CONFIG\": \"0x00000000000000000000000000000000000000000000000000000000000000c800000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000001c000000000000000000000000000000000000000000000000000000000000002c000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff27660fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9d2c0fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa3aa8fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa6a50fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa9b88fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb5320fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb89080000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9d2c0fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa39e0fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa6a50fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb5320fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb5320fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbd7f0fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbd7f000000000000000000000000000000000000000000000000000000000000000070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003e8000000000000000000000000000000000000000000000000000000000000138800000000000000000000000000000000000000000000000000000000000005dc00000000000000000000000000000000000000000000000000000000000007d000000000000000000000000000000000000000000000000000000000000001f40000000000000000000000000000000000000000000000000000000000000007000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000270600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\"\n },\n \"SOL\": {\n \"ID\": \"SOL_DEFAULT\",\n \"COLLATERAL_TOKEN\": \"0x62458b06DdD0E886dc26837dcd8C386ADD548317\",\n \"SYMBOL\": \"SOL\",\n \"DECIMALS\": 9,\n \"ENABLED\": true,\n \"TOTAL_SUPPLY\": \"1000000000000000000000000000\",\n \"VIRTUAL_TOKEN_RESERVES\": \"1090909090905000000000022917\",\n \"VIRTUAL_COLLATERAL_RESERVES\": \"23272727272\",\n \"FEE_BASIS_POINTS\": \"200\",\n \"FIXED_MIGRATION_FEE\": \"2400000000\",\n \"POOL_CREATION_FEE\": \"1600000000\",\n \"FIRST_BUY_FEE\": \"40000000\",\n \"MC_UPPER_LIMIT\": \"300480000003\",\n \"MC_LOWER_LIMIT\": \"300000000003\",\n \"TOKENS_MIGRATION_THRESHOLD\": \"800000000000000000000000000\",\n \"TARGET_COLLECTION_AMOUNT\": \"64000000000\",\n \"V4_LP_FEE\": \"20000\",\n \"V4_LIQUIDITY_CONFIG\": \"0x00000000000000000000000000000000000000000000000000000000000000c800000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000001c000000000000000000000000000000000000000000000000000000000000002c000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff27660fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa2400fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa8be8fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffabb90fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffaecc8fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffba460fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbda480000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa2400fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa8b20fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffabb90fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffba460fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffba460fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc2930fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc293000000000000000000000000000000000000000000000000000000000000000070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003e8000000000000000000000000000000000000000000000000000000000000138800000000000000000000000000000000000000000000000000000000000005dc00000000000000000000000000000000000000000000000000000000000007d000000000000000000000000000000000000000000000000000000000000001f40000000000000000000000000000000000000000000000000000000000000007000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000270600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\"\n },\n \"MUSDC\": {\n \"ID\": \"MUSDC_DEFAULT\",\n \"COLLATERAL_TOKEN\": \"0x4967BC4b61B3259856D1A925900263AB2B64F6de\",\n \"SYMBOL\": \"USDC\",\n \"DECIMALS\": 6,\n \"ENABLED\": true,\n \"TOTAL_SUPPLY\": \"1000000000000000000000000000\",\n \"VIRTUAL_TOKEN_RESERVES\": \"1090909090905000000000022918\",\n \"VIRTUAL_COLLATERAL_RESERVES\": \"2909090909\",\n \"FEE_BASIS_POINTS\": \"200\",\n \"FIXED_MIGRATION_FEE\": \"300000000\",\n \"POOL_CREATION_FEE\": \"200000000\",\n \"FIRST_BUY_FEE\": \"5000000\",\n \"MC_UPPER_LIMIT\": \"37560000000\",\n \"MC_LOWER_LIMIT\": \"37500000000\",\n \"TOKENS_MIGRATION_THRESHOLD\": \"800000000000000000000000000\",\n \"TARGET_USDC_COLLECTION_AMOUNT\": \"8000000000\",\n \"TARGET_COLLECTION_AMOUNT\": \"8000000000\",\n \"V4_LP_FEE\": \"20000\",\n \"V4_LIQUIDITY_CONFIG\": \"0x00000000000000000000000000000000000000000000000000000000000000c800000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000001c000000000000000000000000000000000000000000000000000000000000002c000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff27660fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9d2c0fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa3aa8fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa6a50fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa9b88fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb5320fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb89080000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9d2c0fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa39e0fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa6a50fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb5320fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb5320fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbd7f0fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbd7f000000000000000000000000000000000000000000000000000000000000000070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003e8000000000000000000000000000000000000000000000000000000000000138800000000000000000000000000000000000000000000000000000000000005dc00000000000000000000000000000000000000000000000000000000000007d000000000000000000000000000000000000000000000000000000000000001f40000000000000000000000000000000000000000000000000000000000000007000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000270600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\"\n },\n \"MSOL\": {\n \"ID\": \"MSOL_DEFAULT\",\n \"COLLATERAL_TOKEN\": \"0x86dBa4292D9c74D5115153DaBA47485Dfe00c228\",\n \"SYMBOL\": \"SOL\",\n \"DECIMALS\": 9,\n \"ENABLED\": true,\n \"TOTAL_SUPPLY\": \"1000000000000000000000000000\",\n \"VIRTUAL_TOKEN_RESERVES\": \"1090909090905000000000022917\",\n \"VIRTUAL_COLLATERAL_RESERVES\": \"23272727272\",\n \"FEE_BASIS_POINTS\": \"200\",\n \"FIXED_MIGRATION_FEE\": \"2400000000\",\n \"POOL_CREATION_FEE\": \"1600000000\",\n \"FIRST_BUY_FEE\": \"40000000\",\n \"MC_UPPER_LIMIT\": \"300480000003\",\n \"MC_LOWER_LIMIT\": \"300000000003\",\n \"TOKENS_MIGRATION_THRESHOLD\": \"800000000000000000000000000\",\n \"TARGET_COLLECTION_AMOUNT\": \"64000000000\",\n \"V4_LP_FEE\": \"20000\",\n \"V4_LIQUIDITY_CONFIG\": \"0x00000000000000000000000000000000000000000000000000000000000000c800000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000001c000000000000000000000000000000000000000000000000000000000000002c000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff27660fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa2400fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa8be8fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffabb90fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffaecc8fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffba460fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbda480000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa2400fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa8b20fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffabb90fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffba460fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffba460fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc2930fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc293000000000000000000000000000000000000000000000000000000000000000070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003e8000000000000000000000000000000000000000000000000000000000000138800000000000000000000000000000000000000000000000000000000000005dc00000000000000000000000000000000000000000000000000000000000007d000000000000000000000000000000000000000000000000000000000000001f40000000000000000000000000000000000000000000000000000000000000007000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000270600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\"\n }\n }\n}\n }\n };"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACQO,IAAM,qBAAqB;AAAA,EAChC;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ,CAAC,EAAE,MAAM,UAAU,cAAc,WAAW,MAAM,UAAU,CAAC;AAAA,EACvE;AAAA,EACA,EAAE,iBAAiB,WAAW,MAAM,WAAW;AAAA,EAC/C;AAAA,IACE,MAAM;AAAA,IACN,WAAW;AAAA,IACX,QAAQ;AAAA,MACN;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,IACF;AAAA,IACA,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,QAAQ,CAAC,EAAE,MAAM,UAAU,cAAc,WAAW,MAAM,UAAU,CAAC;AAAA,IACrE,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,QAAQ;AAAA,MACN,EAAE,MAAM,kBAAkB,cAAc,WAAW,MAAM,UAAU;AAAA,IACrE;AAAA,IACA,MAAM;AAAA,EACR;AAAA,EACA,EAAE,MAAM,SAAS,QAAQ,CAAC,GAAG,MAAM,oBAAoB;AAAA,EACvD,EAAE,MAAM,SAAS,QAAQ,CAAC,GAAG,MAAM,aAAa;AAClD;AAMO,IAAM,yBAAyB;AAAA,EACpC,MAAM;AAAA,EACN,OAAO;AACT;AAMO,IAAM,wBAAwB;AAAA,EACnC,SAAS;AAAA,EACT,KAAK;AACP;AAUO,IAAM,yBAAyB;AAAA,EACpC,EAAE,iBAAiB,cAAc,MAAM,eAAe,QAAQ,CAAC,EAAE;AAAA,EACjE,EAAE,iBAAiB,WAAW,MAAM,UAAU;AAAA,EAC9C;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ,CAAC;AAAA,IACT,MAAM;AAAA,IACN,SAAS,CAAC,EAAE,MAAM,IAAI,cAAc,UAAU,MAAM,SAAS,CAAC;AAAA,EAChE;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ,CAAC;AAAA,IACT,MAAM;AAAA,IACN,SAAS,CAAC,EAAE,MAAM,IAAI,cAAc,WAAW,MAAM,UAAU,CAAC;AAAA,EAClE;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ;AAAA,MACN,EAAE,MAAM,UAAU,cAAc,WAAW,MAAM,UAAU;AAAA,MAC3D,EAAE,MAAM,iBAAiB,cAAc,WAAW,MAAM,UAAU;AAAA,MAClE,EAAE,MAAM,kBAAkB,cAAc,WAAW,MAAM,UAAU;AAAA,IACrE;AAAA,IACA,MAAM;AAAA,IACN,SAAS,CAAC;AAAA,EACZ;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ;AAAA,MACN,EAAE,MAAM,UAAU,cAAc,WAAW,MAAM,UAAU;AAAA,MAC3D,EAAE,MAAM,iBAAiB,cAAc,WAAW,MAAM,UAAU;AAAA,MAClE,EAAE,MAAM,kBAAkB,cAAc,WAAW,MAAM,UAAU;AAAA,MACnE,EAAE,MAAM,OAAO,cAAc,WAAW,MAAM,UAAU;AAAA,IAC1D;AAAA,IACA,MAAM;AAAA,IACN,SAAS,CAAC;AAAA,EACZ;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ;AAAA,MACN,EAAE,MAAM,UAAU,cAAc,WAAW,MAAM,UAAU;AAAA,MAC3D,EAAE,MAAM,uBAAuB,cAAc,WAAW,MAAM,UAAU;AAAA,MACxE,EAAE,MAAM,iBAAiB,cAAc,WAAW,MAAM,UAAU;AAAA,MAClE,EAAE,MAAM,kBAAkB,cAAc,WAAW,MAAM,UAAU;AAAA,IACrE;AAAA,IACA,MAAM;AAAA,IACN,SAAS,CAAC;AAAA,EACZ;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ;AAAA,MACN,EAAE,MAAM,UAAU,cAAc,WAAW,MAAM,UAAU;AAAA,MAC3D,EAAE,MAAM,uBAAuB,cAAc,WAAW,MAAM,UAAU;AAAA,MACxE,EAAE,MAAM,iBAAiB,cAAc,WAAW,MAAM,UAAU;AAAA,MAClE,EAAE,MAAM,kBAAkB,cAAc,WAAW,MAAM,UAAU;AAAA,MACnE,EAAE,MAAM,OAAO,cAAc,WAAW,MAAM,UAAU;AAAA,IAC1D;AAAA,IACA,MAAM;AAAA,IACN,SAAS,CAAC;AAAA,EACZ;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ;AAAA,MACN,EAAE,MAAM,UAAU,cAAc,WAAW,MAAM,UAAU;AAAA,MAC3D,EAAE,MAAM,gBAAgB,cAAc,WAAW,MAAM,UAAU;AAAA,MACjE;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,MACR;AAAA,MACA,EAAE,MAAM,kBAAkB,cAAc,WAAW,MAAM,UAAU;AAAA,IACrE;AAAA,IACA,MAAM;AAAA,IACN,SAAS,CAAC;AAAA,EACZ;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ;AAAA,MACN,EAAE,MAAM,UAAU,cAAc,WAAW,MAAM,UAAU;AAAA,MAC3D,EAAE,MAAM,gBAAgB,cAAc,WAAW,MAAM,UAAU;AAAA,MACjE;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,MACR;AAAA,MACA,EAAE,MAAM,kBAAkB,cAAc,WAAW,MAAM,UAAU;AAAA,MACnE,EAAE,MAAM,OAAO,cAAc,WAAW,MAAM,UAAU;AAAA,IAC1D;AAAA,IACA,MAAM;AAAA,IACN,SAAS,CAAC;AAAA,EACZ;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ,CAAC;AAAA,IACT,MAAM;AAAA,IACN,SAAS,CAAC,EAAE,MAAM,IAAI,cAAc,SAAS,MAAM,QAAQ,CAAC;AAAA,EAC9D;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ,CAAC;AAAA,IACT,MAAM;AAAA,IACN,SAAS,CAAC,EAAE,MAAM,IAAI,cAAc,SAAS,MAAM,QAAQ,CAAC;AAAA,EAC9D;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ,CAAC,EAAE,MAAM,IAAI,cAAc,WAAW,MAAM,UAAU,CAAC;AAAA,IAC/D,MAAM;AAAA,IACN,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,QACN,YAAY;AAAA,UACV;AAAA,YACE,MAAM;AAAA,YACN,cAAc;AAAA,YACd,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,YACN,cAAc;AAAA,YACd,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,YACN,cAAc;AAAA,YACd,MAAM;AAAA,UACR;AAAA,UACA,EAAE,MAAM,UAAU,cAAc,WAAW,MAAM,UAAU;AAAA,UAC3D,EAAE,MAAM,gBAAgB,cAAc,WAAW,MAAM,UAAU;AAAA,UACjE,EAAE,MAAM,gBAAgB,cAAc,WAAW,MAAM,UAAU;AAAA,UACjE;AAAA,YACE,MAAM;AAAA,YACN,cAAc;AAAA,YACd,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,YACN,cAAc;AAAA,YACd,MAAM;AAAA,UACR;AAAA,UACA,EAAE,MAAM,mBAAmB,cAAc,WAAW,MAAM,UAAU;AAAA,UACpE,EAAE,MAAM,eAAe,cAAc,WAAW,MAAM,UAAU;AAAA,UAChE;AAAA,YACE,MAAM;AAAA,YACN,cAAc;AAAA,YACd,MAAM;AAAA,UACR;AAAA,UACA,EAAE,MAAM,mBAAmB,cAAc,WAAW,MAAM,UAAU;AAAA,UACpE,EAAE,MAAM,WAAW,cAAc,UAAU,MAAM,SAAS;AAAA,QAC5D;AAAA,MACF;AAAA,MACA,EAAE,MAAM,qBAAqB,cAAc,SAAS,MAAM,QAAQ;AAAA,MAClE,EAAE,MAAM,mBAAmB,cAAc,SAAS,MAAM,QAAQ;AAAA,IAClE;AAAA,EACF;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ,CAAC,EAAE,MAAM,IAAI,cAAc,WAAW,MAAM,UAAU,CAAC;AAAA,IAC/D,MAAM;AAAA,IACN,SAAS,CAAC,EAAE,MAAM,IAAI,cAAc,QAAQ,MAAM,OAAO,CAAC;AAAA,EAC5D;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ,CAAC;AAAA,IACT,MAAM;AAAA,IACN,SAAS,CAAC,EAAE,MAAM,IAAI,cAAc,UAAU,MAAM,SAAS,CAAC;AAAA,EAChE;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ;AAAA,MACN,EAAE,MAAM,SAAS,cAAc,UAAU,MAAM,SAAS;AAAA,MACxD,EAAE,MAAM,WAAW,cAAc,UAAU,MAAM,SAAS;AAAA,MAC1D,EAAE,MAAM,aAAa,cAAc,UAAU,MAAM,SAAS;AAAA,MAC5D,EAAE,MAAM,UAAU,cAAc,WAAW,MAAM,UAAU;AAAA,MAC3D,EAAE,MAAM,cAAc,cAAc,SAAS,MAAM,QAAQ;AAAA,MAC3D,EAAE,MAAM,qBAAqB,cAAc,WAAW,MAAM,UAAU;AAAA,MACtE,EAAE,MAAM,oBAAoB,cAAc,WAAW,MAAM,UAAU;AAAA,MACrE,EAAE,MAAM,cAAc,cAAc,WAAW,MAAM,UAAU;AAAA,IACjE;AAAA,IACA,MAAM;AAAA,IACN,SAAS,CAAC,EAAE,MAAM,IAAI,cAAc,WAAW,MAAM,UAAU,CAAC;AAAA,EAClE;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ;AAAA,MACN,EAAE,MAAM,SAAS,cAAc,UAAU,MAAM,SAAS;AAAA,MACxD,EAAE,MAAM,WAAW,cAAc,UAAU,MAAM,SAAS;AAAA,MAC1D,EAAE,MAAM,aAAa,cAAc,UAAU,MAAM,SAAS;AAAA,MAC5D,EAAE,MAAM,UAAU,cAAc,WAAW,MAAM,UAAU;AAAA,MAC3D,EAAE,MAAM,cAAc,cAAc,SAAS,MAAM,QAAQ;AAAA,MAC3D,EAAE,MAAM,qBAAqB,cAAc,WAAW,MAAM,UAAU;AAAA,MACtE,EAAE,MAAM,oBAAoB,cAAc,WAAW,MAAM,UAAU;AAAA,MACrE,EAAE,MAAM,UAAU,cAAc,WAAW,MAAM,UAAU;AAAA,IAC7D;AAAA,IACA,MAAM;AAAA,IACN,SAAS,CAAC,EAAE,MAAM,IAAI,cAAc,WAAW,MAAM,UAAU,CAAC;AAAA,EAClE;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ;AAAA,MACN,EAAE,MAAM,SAAS,cAAc,UAAU,MAAM,SAAS;AAAA,MACxD,EAAE,MAAM,WAAW,cAAc,UAAU,MAAM,SAAS;AAAA,MAC1D,EAAE,MAAM,aAAa,cAAc,UAAU,MAAM,SAAS;AAAA,MAC5D,EAAE,MAAM,UAAU,cAAc,WAAW,MAAM,UAAU;AAAA,MAC3D,EAAE,MAAM,mBAAmB,cAAc,WAAW,MAAM,UAAU;AAAA,MACpE,EAAE,MAAM,cAAc,cAAc,SAAS,MAAM,QAAQ;AAAA,MAC3D,EAAE,MAAM,qBAAqB,cAAc,WAAW,MAAM,UAAU;AAAA,MACtE,EAAE,MAAM,oBAAoB,cAAc,WAAW,MAAM,UAAU;AAAA,MACrE,EAAE,MAAM,cAAc,cAAc,WAAW,MAAM,UAAU;AAAA,IACjE;AAAA,IACA,MAAM;AAAA,IACN,SAAS,CAAC,EAAE,MAAM,IAAI,cAAc,WAAW,MAAM,UAAU,CAAC;AAAA,EAClE;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ;AAAA,MACN,EAAE,MAAM,SAAS,cAAc,UAAU,MAAM,SAAS;AAAA,MACxD,EAAE,MAAM,WAAW,cAAc,UAAU,MAAM,SAAS;AAAA,MAC1D,EAAE,MAAM,aAAa,cAAc,UAAU,MAAM,SAAS;AAAA,MAC5D,EAAE,MAAM,UAAU,cAAc,WAAW,MAAM,UAAU;AAAA,MAC3D,EAAE,MAAM,mBAAmB,cAAc,WAAW,MAAM,UAAU;AAAA,MACpE,EAAE,MAAM,cAAc,cAAc,SAAS,MAAM,QAAQ;AAAA,MAC3D,EAAE,MAAM,qBAAqB,cAAc,WAAW,MAAM,UAAU;AAAA,MACtE,EAAE,MAAM,oBAAoB,cAAc,WAAW,MAAM,UAAU;AAAA,MACrE,EAAE,MAAM,UAAU,cAAc,WAAW,MAAM,UAAU;AAAA,IAC7D;AAAA,IACA,MAAM;AAAA,IACN,SAAS,CAAC,EAAE,MAAM,IAAI,cAAc,WAAW,MAAM,UAAU,CAAC;AAAA,EAClE;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ;AAAA,MACN,EAAE,MAAM,SAAS,cAAc,UAAU,MAAM,SAAS;AAAA,MACxD,EAAE,MAAM,WAAW,cAAc,UAAU,MAAM,SAAS;AAAA,MAC1D,EAAE,MAAM,aAAa,cAAc,UAAU,MAAM,SAAS;AAAA,MAC5D,EAAE,MAAM,UAAU,cAAc,WAAW,MAAM,UAAU;AAAA,MAC3D,EAAE,MAAM,uBAAuB,cAAc,WAAW,MAAM,UAAU;AAAA,MACxE,EAAE,MAAM,mBAAmB,cAAc,WAAW,MAAM,UAAU;AAAA,MACpE,EAAE,MAAM,cAAc,cAAc,SAAS,MAAM,QAAQ;AAAA,MAC3D,EAAE,MAAM,qBAAqB,cAAc,WAAW,MAAM,UAAU;AAAA,MACtE,EAAE,MAAM,oBAAoB,cAAc,WAAW,MAAM,UAAU;AAAA,MACrE,EAAE,MAAM,cAAc,cAAc,WAAW,MAAM,UAAU;AAAA,MAC/D,EAAE,MAAM,oBAAoB,cAAc,WAAW,MAAM,UAAU;AAAA,IACvE;AAAA,IACA,MAAM;AAAA,IACN,SAAS,CAAC,EAAE,MAAM,IAAI,cAAc,WAAW,MAAM,UAAU,CAAC;AAAA,EAClE;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ;AAAA,MACN,EAAE,MAAM,SAAS,cAAc,UAAU,MAAM,SAAS;AAAA,MACxD,EAAE,MAAM,WAAW,cAAc,UAAU,MAAM,SAAS;AAAA,MAC1D,EAAE,MAAM,aAAa,cAAc,UAAU,MAAM,SAAS;AAAA,MAC5D,EAAE,MAAM,UAAU,cAAc,WAAW,MAAM,UAAU;AAAA,MAC3D,EAAE,MAAM,cAAc,cAAc,SAAS,MAAM,QAAQ;AAAA,MAC3D,EAAE,MAAM,qBAAqB,cAAc,WAAW,MAAM,UAAU;AAAA,MACtE,EAAE,MAAM,oBAAoB,cAAc,WAAW,MAAM,UAAU;AAAA,MACrE,EAAE,MAAM,cAAc,cAAc,WAAW,MAAM,UAAU;AAAA,MAC/D,EAAE,MAAM,oBAAoB,cAAc,WAAW,MAAM,UAAU;AAAA,IACvE;AAAA,IACA,MAAM;AAAA,IACN,SAAS,CAAC,EAAE,MAAM,IAAI,cAAc,WAAW,MAAM,UAAU,CAAC;AAAA,EAClE;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ,CAAC;AAAA,IACT,MAAM;AAAA,IACN,SAAS;AAAA,MACP,EAAE,MAAM,OAAO,cAAc,SAAS,MAAM,QAAQ;AAAA,MACpD,EAAE,MAAM,WAAW,cAAc,SAAS,MAAM,QAAQ;AAAA,IAC1D;AAAA,EACF;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ;AAAA,MACN,EAAE,MAAM,iBAAiB,cAAc,WAAW,MAAM,UAAU;AAAA,MAClE,EAAE,MAAM,WAAW,cAAc,WAAW,MAAM,UAAU;AAAA,MAC5D;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,MACR;AAAA,MACA,EAAE,MAAM,2BAA2B,cAAc,SAAS,MAAM,QAAQ;AAAA,MACxE,EAAE,MAAM,yBAAyB,cAAc,SAAS,MAAM,QAAQ;AAAA,IACxE;AAAA,IACA,MAAM;AAAA,IACN,SAAS,CAAC;AAAA,EACZ;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ,CAAC;AAAA,IACT,MAAM;AAAA,IACN,SAAS,CAAC,EAAE,MAAM,IAAI,cAAc,QAAQ,MAAM,OAAO,CAAC;AAAA,EAC5D;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ,CAAC,EAAE,MAAM,IAAI,cAAc,WAAW,MAAM,UAAU,CAAC;AAAA,IAC/D,MAAM;AAAA,IACN,SAAS,CAAC,EAAE,MAAM,IAAI,cAAc,QAAQ,MAAM,OAAO,CAAC;AAAA,EAC5D;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ,CAAC,EAAE,MAAM,UAAU,cAAc,WAAW,MAAM,UAAU,CAAC;AAAA,IACrE,MAAM;AAAA,IACN,SAAS,CAAC;AAAA,EACZ;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ,CAAC,EAAE,MAAM,IAAI,cAAc,WAAW,MAAM,UAAU,CAAC;AAAA,IAC/D,MAAM;AAAA,IACN,SAAS,CAAC,EAAE,MAAM,IAAI,cAAc,WAAW,MAAM,UAAU,CAAC;AAAA,EAClE;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ,CAAC;AAAA,IACT,MAAM;AAAA,IACN,SAAS,CAAC,EAAE,MAAM,IAAI,cAAc,WAAW,MAAM,UAAU,CAAC;AAAA,EAClE;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ,CAAC;AAAA,IACT,MAAM;AAAA,IACN,SAAS,CAAC,EAAE,MAAM,IAAI,cAAc,WAAW,MAAM,UAAU,CAAC;AAAA,EAClE;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ,CAAC,EAAE,MAAM,IAAI,cAAc,WAAW,MAAM,UAAU,CAAC;AAAA,IAC/D,MAAM;AAAA,IACN,SAAS,CAAC,EAAE,MAAM,IAAI,cAAc,QAAQ,MAAM,OAAO,CAAC;AAAA,EAC5D;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ,CAAC;AAAA,IACT,MAAM;AAAA,IACN,SAAS,CAAC;AAAA,EACZ;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ;AAAA,MACN,EAAE,MAAM,UAAU,cAAc,WAAW,MAAM,UAAU;AAAA,MAC3D,EAAE,MAAM,gBAAgB,cAAc,WAAW,MAAM,UAAU;AAAA,MACjE;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,MACR;AAAA,MACA,EAAE,MAAM,kBAAkB,cAAc,WAAW,MAAM,UAAU;AAAA,IACrE;AAAA,IACA,MAAM;AAAA,IACN,SAAS,CAAC;AAAA,EACZ;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ;AAAA,MACN,EAAE,MAAM,UAAU,cAAc,WAAW,MAAM,UAAU;AAAA,MAC3D,EAAE,MAAM,SAAS,cAAc,WAAW,MAAM,UAAU;AAAA,MAC1D,EAAE,MAAM,gBAAgB,cAAc,WAAW,MAAM,UAAU;AAAA,MACjE;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,MACR;AAAA,MACA,EAAE,MAAM,kBAAkB,cAAc,WAAW,MAAM,UAAU;AAAA,IACrE;AAAA,IACA,MAAM;AAAA,IACN,SAAS,CAAC;AAAA,EACZ;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ;AAAA,MACN,EAAE,MAAM,UAAU,cAAc,WAAW,MAAM,UAAU;AAAA,MAC3D,EAAE,MAAM,mBAAmB,cAAc,WAAW,MAAM,UAAU;AAAA,MACpE,EAAE,MAAM,qBAAqB,cAAc,WAAW,MAAM,UAAU;AAAA,MACtE,EAAE,MAAM,kBAAkB,cAAc,WAAW,MAAM,UAAU;AAAA,IACrE;AAAA,IACA,MAAM;AAAA,IACN,SAAS,CAAC;AAAA,EACZ;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ;AAAA,MACN,EAAE,MAAM,UAAU,cAAc,WAAW,MAAM,UAAU;AAAA,MAC3D,EAAE,MAAM,SAAS,cAAc,WAAW,MAAM,UAAU;AAAA,MAC1D,EAAE,MAAM,mBAAmB,cAAc,WAAW,MAAM,UAAU;AAAA,MACpE,EAAE,MAAM,qBAAqB,cAAc,WAAW,MAAM,UAAU;AAAA,MACtE,EAAE,MAAM,kBAAkB,cAAc,WAAW,MAAM,UAAU;AAAA,IACrE;AAAA,IACA,MAAM;AAAA,IACN,SAAS,CAAC;AAAA,EACZ;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ;AAAA,MACN;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,MACR;AAAA,IACF;AAAA,IACA,MAAM;AAAA,IACN,SAAS,CAAC;AAAA,EACZ;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ;AAAA,MACN,EAAE,MAAM,oBAAoB,cAAc,WAAW,MAAM,UAAU;AAAA,MACrE;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,QACN,YAAY;AAAA,UACV;AAAA,YACE,MAAM;AAAA,YACN,cAAc;AAAA,YACd,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,YACN,cAAc;AAAA,YACd,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,YACN,cAAc;AAAA,YACd,MAAM;AAAA,UACR;AAAA,UACA,EAAE,MAAM,UAAU,cAAc,WAAW,MAAM,UAAU;AAAA,UAC3D,EAAE,MAAM,gBAAgB,cAAc,WAAW,MAAM,UAAU;AAAA,UACjE,EAAE,MAAM,gBAAgB,cAAc,WAAW,MAAM,UAAU;AAAA,UACjE;AAAA,YACE,MAAM;AAAA,YACN,cAAc;AAAA,YACd,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,YACN,cAAc;AAAA,YACd,MAAM;AAAA,UACR;AAAA,UACA,EAAE,MAAM,mBAAmB,cAAc,WAAW,MAAM,UAAU;AAAA,UACpE,EAAE,MAAM,eAAe,cAAc,WAAW,MAAM,UAAU;AAAA,UAChE;AAAA,YACE,MAAM;AAAA,YACN,cAAc;AAAA,YACd,MAAM;AAAA,UACR;AAAA,UACA,EAAE,MAAM,mBAAmB,cAAc,WAAW,MAAM,UAAU;AAAA,UACpE,EAAE,MAAM,WAAW,cAAc,UAAU,MAAM,SAAS;AAAA,QAC5D;AAAA,MACF;AAAA,MACA,EAAE,MAAM,qBAAqB,cAAc,SAAS,MAAM,QAAQ;AAAA,MAClE,EAAE,MAAM,mBAAmB,cAAc,SAAS,MAAM,QAAQ;AAAA,IAClE;AAAA,IACA,MAAM;AAAA,IACN,SAAS,CAAC;AAAA,EACZ;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ;AAAA,MACN,EAAE,MAAM,oBAAoB,cAAc,WAAW,MAAM,UAAU;AAAA,MACrE,EAAE,MAAM,WAAW,cAAc,QAAQ,MAAM,OAAO;AAAA,IACxD;AAAA,IACA,MAAM;AAAA,IACN,SAAS,CAAC;AAAA,EACZ;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ;AAAA,MACN,EAAE,MAAM,uBAAuB,cAAc,QAAQ,MAAM,OAAO;AAAA,IACpE;AAAA,IACA,MAAM;AAAA,IACN,SAAS,CAAC;AAAA,EACZ;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ,CAAC,EAAE,MAAM,WAAW,cAAc,WAAW,MAAM,UAAU,CAAC;AAAA,IACtE,MAAM;AAAA,IACN,SAAS,CAAC;AAAA,EACZ;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ;AAAA,MACN,EAAE,MAAM,UAAU,cAAc,WAAW,MAAM,UAAU;AAAA,MAC3D,EAAE,MAAM,WAAW,cAAc,QAAQ,MAAM,OAAO;AAAA,IACxD;AAAA,IACA,MAAM;AAAA,IACN,SAAS,CAAC;AAAA,EACZ;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ;AAAA,MACN,EAAE,MAAM,OAAO,cAAc,SAAS,MAAM,QAAQ;AAAA,MACpD,EAAE,MAAM,WAAW,cAAc,SAAS,MAAM,QAAQ;AAAA,IAC1D;AAAA,IACA,MAAM;AAAA,IACN,SAAS,CAAC;AAAA,EACZ;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ,CAAC;AAAA,IACT,MAAM;AAAA,IACN,SAAS,CAAC,EAAE,MAAM,IAAI,cAAc,WAAW,MAAM,UAAU,CAAC;AAAA,EAClE;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ,CAAC,EAAE,MAAM,IAAI,cAAc,WAAW,MAAM,UAAU,CAAC;AAAA,IAC/D,MAAM;AAAA,IACN,SAAS,CAAC,EAAE,MAAM,IAAI,cAAc,WAAW,MAAM,UAAU,CAAC;AAAA,EAClE;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ,CAAC,EAAE,MAAM,IAAI,cAAc,WAAW,MAAM,UAAU,CAAC;AAAA,IAC/D,MAAM;AAAA,IACN,SAAS,CAAC,EAAE,MAAM,IAAI,cAAc,WAAW,MAAM,UAAU,CAAC;AAAA,EAClE;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ,CAAC,EAAE,MAAM,YAAY,cAAc,WAAW,MAAM,UAAU,CAAC;AAAA,IACvE,MAAM;AAAA,IACN,SAAS,CAAC;AAAA,EACZ;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ;AAAA,MACN,EAAE,MAAM,qBAAqB,cAAc,WAAW,MAAM,UAAU;AAAA,MACtE,EAAE,MAAM,QAAQ,cAAc,SAAS,MAAM,QAAQ;AAAA,IACvD;AAAA,IACA,MAAM;AAAA,IACN,SAAS,CAAC;AAAA,EACZ;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,WAAW;AAAA,IACX,QAAQ;AAAA,MACN;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,IACF;AAAA,IACA,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,WAAW;AAAA,IACX,QAAQ;AAAA,MACN;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,IACF;AAAA,IACA,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,WAAW;AAAA,IACX,QAAQ;AAAA,MACN;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,MACA,EAAE,MAAM,WAAW,cAAc,QAAQ,MAAM,QAAQ,SAAS,MAAM;AAAA,IACxE;AAAA,IACA,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,WAAW;AAAA,IACX,QAAQ;AAAA,MACN;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,IACF;AAAA,IACA,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,WAAW;AAAA,IACX,QAAQ;AAAA,MACN;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,IACF;AAAA,IACA,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,WAAW;AAAA,IACX,QAAQ;AAAA,MACN;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,IACF;AAAA,IACA,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,WAAW;AAAA,IACX,QAAQ;AAAA,MACN;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,MACA,EAAE,MAAM,QAAQ,cAAc,UAAU,MAAM,UAAU,SAAS,MAAM;AAAA,MACvE;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,IACF;AAAA,IACA,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,WAAW;AAAA,IACX,QAAQ;AAAA,MACN,EAAE,MAAM,QAAQ,cAAc,WAAW,MAAM,WAAW,SAAS,KAAK;AAAA,MACxE;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,IACF;AAAA,IACA,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,WAAW;AAAA,IACX,QAAQ;AAAA,MACN;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,IACF;AAAA,IACA,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,WAAW;AAAA,IACX,QAAQ;AAAA,MACN;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,IACF;AAAA,IACA,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,WAAW;AAAA,IACX,QAAQ;AAAA,MACN;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,IACF;AAAA,IACA,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,WAAW;AAAA,IACX,QAAQ;AAAA,MACN;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,MACA,EAAE,MAAM,WAAW,cAAc,QAAQ,MAAM,QAAQ,SAAS,MAAM;AAAA,IACxE;AAAA,IACA,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,WAAW;AAAA,IACX,QAAQ;AAAA,MACN;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,IACF;AAAA,IACA,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,WAAW;AAAA,IACX,QAAQ;AAAA,MACN;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,MACA,EAAE,MAAM,WAAW,cAAc,SAAS,MAAM,SAAS,SAAS,MAAM;AAAA,IAC1E;AAAA,IACA,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,WAAW;AAAA,IACX,QAAQ;AAAA,MACN;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,QACN,YAAY;AAAA,UACV,EAAE,MAAM,aAAa,cAAc,YAAY,MAAM,UAAU;AAAA,UAC/D,EAAE,MAAM,aAAa,cAAc,YAAY,MAAM,UAAU;AAAA,UAC/D,EAAE,MAAM,OAAO,cAAc,UAAU,MAAM,SAAS;AAAA,UACtD,EAAE,MAAM,eAAe,cAAc,SAAS,MAAM,QAAQ;AAAA,UAC5D,EAAE,MAAM,SAAS,cAAc,mBAAmB,MAAM,UAAU;AAAA,QACpE;AAAA,QACA,SAAS;AAAA,MACX;AAAA,IACF;AAAA,IACA,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,QAAQ,CAAC,EAAE,MAAM,UAAU,cAAc,WAAW,MAAM,UAAU,CAAC;AAAA,IACrE,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,QAAQ,CAAC;AAAA,IACT,MAAM;AAAA,EACR;AAAA,EACA,EAAE,MAAM,SAAS,QAAQ,CAAC,GAAG,MAAM,qBAAqB;AAAA,EACxD,EAAE,MAAM,SAAS,QAAQ,CAAC,GAAG,MAAM,oBAAoB;AAAA,EACvD,EAAE,MAAM,SAAS,QAAQ,CAAC,GAAG,MAAM,uBAAuB;AAAA,EAC1D;AAAA,IACE,MAAM;AAAA,IACN,QAAQ;AAAA,MACN,EAAE,MAAM,kBAAkB,cAAc,WAAW,MAAM,UAAU;AAAA,IACrE;AAAA,IACA,MAAM;AAAA,EACR;AAAA,EACA,EAAE,MAAM,SAAS,QAAQ,CAAC,GAAG,MAAM,oBAAoB;AAAA,EACvD,EAAE,MAAM,SAAS,QAAQ,CAAC,GAAG,MAAM,aAAa;AAAA,EAChD,EAAE,MAAM,SAAS,QAAQ,CAAC,GAAG,MAAM,mBAAmB;AAAA,EACtD,EAAE,MAAM,SAAS,QAAQ,CAAC,GAAG,MAAM,kBAAkB;AAAA,EACrD,EAAE,MAAM,SAAS,QAAQ,CAAC,GAAG,MAAM,oBAAoB;AAAA,EACvD;AAAA,IACE,MAAM;AAAA,IACN,QAAQ;AAAA,MACN,EAAE,MAAM,WAAW,cAAc,WAAW,MAAM,UAAU;AAAA,MAC5D,EAAE,MAAM,UAAU,cAAc,WAAW,MAAM,UAAU;AAAA,IAC7D;AAAA,IACA,MAAM;AAAA,EACR;AAAA,EACA,EAAE,MAAM,SAAS,QAAQ,CAAC,GAAG,MAAM,iCAAiC;AAAA,EACpE,EAAE,MAAM,SAAS,QAAQ,CAAC,GAAG,MAAM,cAAc;AAAA,EACjD,EAAE,MAAM,SAAS,QAAQ,CAAC,GAAG,MAAM,wBAAwB;AAAA,EAC3D,EAAE,MAAM,SAAS,QAAQ,CAAC,GAAG,MAAM,eAAe;AAAA,EAClD,EAAE,MAAM,SAAS,QAAQ,CAAC,GAAG,MAAM,mBAAmB;AAAA,EACtD,EAAE,MAAM,SAAS,QAAQ,CAAC,GAAG,MAAM,mBAAmB;AAAA,EACtD,EAAE,MAAM,SAAS,QAAQ,CAAC,GAAG,MAAM,qBAAqB;AAAA,EACxD,EAAE,MAAM,SAAS,QAAQ,CAAC,GAAG,MAAM,oCAAoC;AAAA,EACvE,EAAE,MAAM,SAAS,QAAQ,CAAC,GAAG,MAAM,wBAAwB;AAAA,EAC3D,EAAE,MAAM,SAAS,QAAQ,CAAC,GAAG,MAAM,wBAAwB;AAAA,EAC3D,EAAE,MAAM,SAAS,QAAQ,CAAC,GAAG,MAAM,sBAAsB;AAAA,EACzD,EAAE,MAAM,SAAS,QAAQ,CAAC,GAAG,MAAM,mBAAmB;AAAA,EACtD,EAAE,MAAM,SAAS,QAAQ,CAAC,GAAG,MAAM,kBAAkB;AAAA,EACrD,EAAE,MAAM,SAAS,QAAQ,CAAC,GAAG,MAAM,uBAAuB;AAAA,EAC1D,EAAE,MAAM,SAAS,QAAQ,CAAC,GAAG,MAAM,mBAAmB;AAAA,EACtD;AAAA,IACE,MAAM;AAAA,IACN,QAAQ,CAAC,EAAE,MAAM,SAAS,cAAc,WAAW,MAAM,UAAU,CAAC;AAAA,IACpE,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,QAAQ,CAAC,EAAE,MAAM,WAAW,cAAc,WAAW,MAAM,UAAU,CAAC;AAAA,IACtE,MAAM;AAAA,EACR;AAAA,EACA,EAAE,MAAM,SAAS,QAAQ,CAAC,GAAG,MAAM,+BAA+B;AAAA,EAClE;AAAA,IACE,MAAM;AAAA,IACN,QAAQ,CAAC,EAAE,MAAM,SAAS,cAAc,WAAW,MAAM,UAAU,CAAC;AAAA,IACpE,MAAM;AAAA,EACR;AAAA,EACA,EAAE,MAAM,SAAS,QAAQ,CAAC,GAAG,MAAM,kBAAkB;AAAA,EACrD,EAAE,MAAM,SAAS,QAAQ,CAAC,GAAG,MAAM,oCAAoC;AAAA,EACvE,EAAE,MAAM,SAAS,QAAQ,CAAC,GAAG,MAAM,wBAAwB;AAAA,EAC3D,EAAE,MAAM,SAAS,QAAQ,CAAC,GAAG,MAAM,uBAAuB;AAAA,EAC1D,EAAE,MAAM,SAAS,QAAQ,CAAC,GAAG,MAAM,oBAAoB;AAAA,EACvD,EAAE,MAAM,SAAS,QAAQ,CAAC,GAAG,MAAM,8BAA8B;AAAA,EACjE;AAAA,IACE,MAAM;AAAA,IACN,QAAQ,CAAC,EAAE,MAAM,QAAQ,cAAc,WAAW,MAAM,UAAU,CAAC;AAAA,IACnE,MAAM;AAAA,EACR;AAAA,EACA,EAAE,MAAM,SAAS,QAAQ,CAAC,GAAG,MAAM,iBAAiB;AAAA,EACpD,EAAE,MAAM,SAAS,QAAQ,CAAC,GAAG,MAAM,qCAAqC;AAAA,EACxE,EAAE,MAAM,SAAS,QAAQ,CAAC,GAAG,MAAM,gCAAgC;AACrE;AAMO,IAAM,6BAA6B;AAAA,EACxC,MAAM;AAAA,EACN,OAAO;AACT;AAMO,IAAM,4BAA4B;AAAA,EACvC,SAAS;AAAA,EACT,KAAK;AACP;AASO,IAAM,gCAAgC;AAAA,EAC3C,EAAE,iBAAiB,cAAc,MAAM,eAAe,QAAQ,CAAC,EAAE;AAAA,EACjE,EAAE,iBAAiB,WAAW,MAAM,UAAU;AAAA,EAC9C;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ,CAAC;AAAA,IACT,MAAM;AAAA,IACN,SAAS,CAAC,EAAE,MAAM,IAAI,cAAc,UAAU,MAAM,SAAS,CAAC;AAAA,EAChE;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ;AAAA,MACN,EAAE,MAAM,SAAS,cAAc,WAAW,MAAM,UAAU;AAAA,MAC1D,EAAE,MAAM,SAAS,cAAc,WAAW,MAAM,UAAU;AAAA,MAC1D,EAAE,MAAM,eAAe,cAAc,WAAW,MAAM,UAAU;AAAA,MAChE,EAAE,MAAM,iBAAiB,cAAc,WAAW,MAAM,UAAU;AAAA,IACpE;AAAA,IACA,MAAM;AAAA,IACN,SAAS;AAAA,MACP,EAAE,MAAM,YAAY,cAAc,WAAW,MAAM,UAAU;AAAA,MAC7D,EAAE,MAAM,aAAa,cAAc,WAAW,MAAM,UAAU;AAAA,IAChE;AAAA,EACF;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ,CAAC;AAAA,IACT,MAAM;AAAA,IACN,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,MACR;AAAA,IACF;AAAA,EACF;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ;AAAA,MACN,EAAE,MAAM,UAAU,cAAc,WAAW,MAAM,UAAU;AAAA,MAC3D,EAAE,MAAM,YAAY,cAAc,WAAW,MAAM,UAAU;AAAA,MAC7D,EAAE,MAAM,cAAc,cAAc,WAAW,MAAM,UAAU;AAAA,IACjE;AAAA,IACA,MAAM;AAAA,IACN,SAAS,CAAC;AAAA,EACZ;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ,CAAC;AAAA,IACT,MAAM;AAAA,IACN,SAAS,CAAC,EAAE,MAAM,IAAI,cAAc,WAAW,MAAM,UAAU,CAAC;AAAA,EAClE;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ,CAAC;AAAA,IACT,MAAM;AAAA,IACN,SAAS,CAAC,EAAE,MAAM,IAAI,cAAc,WAAW,MAAM,UAAU,CAAC;AAAA,EAClE;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ;AAAA,MACN,EAAE,MAAM,SAAS,cAAc,WAAW,MAAM,UAAU;AAAA,MAC1D,EAAE,MAAM,gBAAgB,cAAc,WAAW,MAAM,UAAU;AAAA,IACnE;AAAA,IACA,MAAM;AAAA,IACN,SAAS;AAAA,MACP,EAAE,MAAM,mBAAmB,cAAc,WAAW,MAAM,UAAU;AAAA,MACpE,EAAE,MAAM,UAAU,cAAc,WAAW,MAAM,UAAU;AAAA,IAC7D;AAAA,EACF;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ;AAAA,MACN,EAAE,MAAM,SAAS,cAAc,WAAW,MAAM,UAAU;AAAA,MAC1D,EAAE,MAAM,SAAS,cAAc,WAAW,MAAM,UAAU;AAAA,IAC5D;AAAA,IACA,MAAM;AAAA,IACN,SAAS;AAAA,MACP,EAAE,MAAM,mBAAmB,cAAc,WAAW,MAAM,UAAU;AAAA,MACpE,EAAE,MAAM,iBAAiB,cAAc,WAAW,MAAM,UAAU;AAAA,IACpE;AAAA,EACF;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ,CAAC;AAAA,IACT,MAAM;AAAA,IACN,SAAS,CAAC;AAAA,EACZ;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ;AAAA,MACN,EAAE,MAAM,SAAS,cAAc,WAAW,MAAM,UAAU;AAAA,MAC1D,EAAE,MAAM,iBAAiB,cAAc,WAAW,MAAM,UAAU;AAAA,MAClE,EAAE,MAAM,aAAa,cAAc,WAAW,MAAM,UAAU;AAAA,MAC9D,EAAE,MAAM,iBAAiB,cAAc,WAAW,MAAM,UAAU;AAAA,IACpE;AAAA,IACA,MAAM;AAAA,IACN,SAAS,CAAC,EAAE,MAAM,UAAU,cAAc,WAAW,MAAM,UAAU,CAAC;AAAA,EACxE;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ,CAAC,EAAE,MAAM,cAAc,cAAc,WAAW,MAAM,UAAU,CAAC;AAAA,IACzE,MAAM;AAAA,IACN,SAAS,CAAC;AAAA,EACZ;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ,CAAC;AAAA,IACT,MAAM;AAAA,IACN,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,MACR;AAAA,IACF;AAAA,EACF;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ,CAAC,EAAE,MAAM,YAAY,cAAc,WAAW,MAAM,UAAU,CAAC;AAAA,IACvE,MAAM;AAAA,IACN,SAAS,CAAC;AAAA,EACZ;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ;AAAA,MACN,EAAE,MAAM,qBAAqB,cAAc,WAAW,MAAM,UAAU;AAAA,MACtE,EAAE,MAAM,QAAQ,cAAc,SAAS,MAAM,QAAQ;AAAA,IACvD;AAAA,IACA,MAAM;AAAA,IACN,SAAS,CAAC;AAAA,EACZ;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,WAAW;AAAA,IACX,QAAQ;AAAA,MACN;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,IACF;AAAA,IACA,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,WAAW;AAAA,IACX,QAAQ;AAAA,MACN;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,IACF;AAAA,IACA,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,WAAW;AAAA,IACX,QAAQ;AAAA,MACN;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,IACF;AAAA,IACA,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,WAAW;AAAA,IACX,QAAQ;AAAA,MACN;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,IACF;AAAA,IACA,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,WAAW;AAAA,IACX,QAAQ;AAAA,MACN;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,IACF;AAAA,IACA,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,QAAQ,CAAC,EAAE,MAAM,UAAU,cAAc,WAAW,MAAM,UAAU,CAAC;AAAA,IACrE,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,QAAQ;AAAA,MACN,EAAE,MAAM,kBAAkB,cAAc,WAAW,MAAM,UAAU;AAAA,IACrE;AAAA,IACA,MAAM;AAAA,EACR;AAAA,EACA,EAAE,MAAM,SAAS,QAAQ,CAAC,GAAG,MAAM,oBAAoB;AAAA,EACvD,EAAE,MAAM,SAAS,QAAQ,CAAC,GAAG,MAAM,aAAa;AAAA,EAChD;AAAA,IACE,MAAM;AAAA,IACN,QAAQ;AAAA,MACN,EAAE,MAAM,WAAW,cAAc,WAAW,MAAM,UAAU;AAAA,MAC5D,EAAE,MAAM,UAAU,cAAc,WAAW,MAAM,UAAU;AAAA,IAC7D;AAAA,IACA,MAAM;AAAA,EACR;AAAA,EACA,EAAE,MAAM,SAAS,QAAQ,CAAC,GAAG,MAAM,eAAe;AAAA,EAClD,EAAE,MAAM,SAAS,QAAQ,CAAC,GAAG,MAAM,wBAAwB;AAAA,EAC3D,EAAE,MAAM,SAAS,QAAQ,CAAC,GAAG,MAAM,kBAAkB;AAAA,EACrD;AAAA,IACE,MAAM;AAAA,IACN,QAAQ,CAAC,EAAE,MAAM,SAAS,cAAc,WAAW,MAAM,UAAU,CAAC;AAAA,IACpE,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,QAAQ,CAAC,EAAE,MAAM,WAAW,cAAc,WAAW,MAAM,UAAU,CAAC;AAAA,IACtE,MAAM;AAAA,EACR;AAAA,EACA,EAAE,MAAM,SAAS,QAAQ,CAAC,GAAG,MAAM,+BAA+B;AAAA,EAClE;AAAA,IACE,MAAM;AAAA,IACN,QAAQ,CAAC,EAAE,MAAM,SAAS,cAAc,WAAW,MAAM,UAAU,CAAC;AAAA,IACpE,MAAM;AAAA,EACR;AAAA,EACA,EAAE,MAAM,SAAS,QAAQ,CAAC,GAAG,MAAM,8BAA8B;AAAA,EACjE;AAAA,IACE,MAAM;AAAA,IACN,QAAQ,CAAC,EAAE,MAAM,QAAQ,cAAc,WAAW,MAAM,UAAU,CAAC;AAAA,IACnE,MAAM;AAAA,EACR;AACF;AAKO,IAAM,oCAAoC;AAAA,EAC/C,OAAO;AACT;AAKO,IAAM,mCAAmC;AAAA,EAC9C,SAAS;AAAA,EACT,KAAK;AACP;AAUO,IAAM,mBAAmB;AAAA,EAC9B,EAAE,iBAAiB,cAAc,MAAM,eAAe,QAAQ,CAAC,EAAE;AAAA,EACjE;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ;AAAA,MACN,EAAE,MAAM,SAAS,cAAc,WAAW,MAAM,UAAU;AAAA,MAC1D,EAAE,MAAM,WAAW,cAAc,WAAW,MAAM,UAAU;AAAA,IAC9D;AAAA,IACA,MAAM;AAAA,IACN,SAAS,CAAC,EAAE,MAAM,IAAI,cAAc,WAAW,MAAM,UAAU,CAAC;AAAA,EAClE;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ;AAAA,MACN,EAAE,MAAM,WAAW,cAAc,WAAW,MAAM,UAAU;AAAA,MAC5D,EAAE,MAAM,SAAS,cAAc,WAAW,MAAM,UAAU;AAAA,IAC5D;AAAA,IACA,MAAM;AAAA,IACN,SAAS,CAAC,EAAE,MAAM,IAAI,cAAc,QAAQ,MAAM,OAAO,CAAC;AAAA,EAC5D;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ,CAAC,EAAE,MAAM,WAAW,cAAc,WAAW,MAAM,UAAU,CAAC;AAAA,IACtE,MAAM;AAAA,IACN,SAAS,CAAC,EAAE,MAAM,IAAI,cAAc,WAAW,MAAM,UAAU,CAAC;AAAA,EAClE;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ,CAAC,EAAE,MAAM,SAAS,cAAc,WAAW,MAAM,UAAU,CAAC;AAAA,IACpE,MAAM;AAAA,IACN,SAAS,CAAC;AAAA,EACZ;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ;AAAA,MACN,EAAE,MAAM,WAAW,cAAc,WAAW,MAAM,UAAU;AAAA,MAC5D,EAAE,MAAM,SAAS,cAAc,WAAW,MAAM,UAAU;AAAA,IAC5D;AAAA,IACA,MAAM;AAAA,IACN,SAAS,CAAC;AAAA,EACZ;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ,CAAC;AAAA,IACT,MAAM;AAAA,IACN,SAAS,CAAC,EAAE,MAAM,IAAI,cAAc,UAAU,MAAM,SAAS,CAAC;AAAA,EAChE;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ,CAAC;AAAA,IACT,MAAM;AAAA,IACN,SAAS,CAAC,EAAE,MAAM,IAAI,cAAc,UAAU,MAAM,SAAS,CAAC;AAAA,EAChE;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ,CAAC;AAAA,IACT,MAAM;AAAA,IACN,SAAS,CAAC,EAAE,MAAM,IAAI,cAAc,SAAS,MAAM,QAAQ,CAAC;AAAA,EAC9D;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ,CAAC;AAAA,IACT,MAAM;AAAA,IACN,SAAS,CAAC,EAAE,MAAM,IAAI,cAAc,WAAW,MAAM,UAAU,CAAC;AAAA,EAClE;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ;AAAA,MACN;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,QACN,YAAY;AAAA,UACV,EAAE,MAAM,QAAQ,cAAc,UAAU,MAAM,SAAS;AAAA,UACvD,EAAE,MAAM,UAAU,cAAc,UAAU,MAAM,SAAS;AAAA,UACzD,EAAE,MAAM,YAAY,cAAc,UAAU,MAAM,SAAS;AAAA,UAC3D,EAAE,MAAM,WAAW,cAAc,WAAW,MAAM,UAAU;AAAA,UAC5D,EAAE,MAAM,gBAAgB,cAAc,WAAW,MAAM,UAAU;AAAA,UACjE;AAAA,YACE,MAAM;AAAA,YACN,cAAc;AAAA,YACd,MAAM;AAAA,UACR;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,IACA,MAAM;AAAA,IACN,SAAS,CAAC;AAAA,EACZ;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ,CAAC;AAAA,IACT,MAAM;AAAA,IACN,SAAS,CAAC,EAAE,MAAM,IAAI,cAAc,UAAU,MAAM,SAAS,CAAC;AAAA,EAChE;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ,CAAC;AAAA,IACT,MAAM;AAAA,IACN,SAAS,CAAC,EAAE,MAAM,IAAI,cAAc,WAAW,MAAM,UAAU,CAAC;AAAA,EAClE;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ,CAAC;AAAA,IACT,MAAM;AAAA,IACN,SAAS,CAAC;AAAA,EACZ;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ;AAAA,MACN;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,MACR;AAAA,IACF;AAAA,IACA,MAAM;AAAA,IACN,SAAS,CAAC;AAAA,EACZ;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ,CAAC,EAAE,MAAM,eAAe,cAAc,UAAU,MAAM,SAAS,CAAC;AAAA,IACxE,MAAM;AAAA,IACN,SAAS,CAAC,EAAE,MAAM,IAAI,cAAc,QAAQ,MAAM,OAAO,CAAC;AAAA,EAC5D;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ,CAAC;AAAA,IACT,MAAM;AAAA,IACN,SAAS,CAAC,EAAE,MAAM,IAAI,cAAc,UAAU,MAAM,SAAS,CAAC;AAAA,EAChE;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ,CAAC;AAAA,IACT,MAAM;AAAA,IACN,SAAS,CAAC,EAAE,MAAM,IAAI,cAAc,UAAU,MAAM,SAAS,CAAC;AAAA,EAChE;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ,CAAC;AAAA,IACT,MAAM;AAAA,IACN,SAAS,CAAC,EAAE,MAAM,IAAI,cAAc,WAAW,MAAM,UAAU,CAAC;AAAA,EAClE;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ;AAAA,MACN,EAAE,MAAM,MAAM,cAAc,WAAW,MAAM,UAAU;AAAA,MACvD,EAAE,MAAM,SAAS,cAAc,WAAW,MAAM,UAAU;AAAA,IAC5D;AAAA,IACA,MAAM;AAAA,IACN,SAAS,CAAC,EAAE,MAAM,IAAI,cAAc,QAAQ,MAAM,OAAO,CAAC;AAAA,EAC5D;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ;AAAA,MACN,EAAE,MAAM,QAAQ,cAAc,WAAW,MAAM,UAAU;AAAA,MACzD,EAAE,MAAM,MAAM,cAAc,WAAW,MAAM,UAAU;AAAA,MACvD,EAAE,MAAM,SAAS,cAAc,WAAW,MAAM,UAAU;AAAA,IAC5D;AAAA,IACA,MAAM;AAAA,IACN,SAAS,CAAC,EAAE,MAAM,IAAI,cAAc,QAAQ,MAAM,OAAO,CAAC;AAAA,EAC5D;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ,CAAC;AAAA,IACT,MAAM;AAAA,IACN,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,MACR;AAAA,IACF;AAAA,EACF;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ,CAAC,EAAE,MAAM,YAAY,cAAc,WAAW,MAAM,UAAU,CAAC;AAAA,IACvE,MAAM;AAAA,IACN,SAAS,CAAC;AAAA,EACZ;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,WAAW;AAAA,IACX,QAAQ;AAAA,MACN;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,IACF;AAAA,IACA,MAAM;AAAA,EACR;AAAA,EACA,EAAE,MAAM,SAAS,WAAW,OAAO,QAAQ,CAAC,GAAG,MAAM,qBAAqB;AAAA,EAC1E;AAAA,IACE,MAAM;AAAA,IACN,WAAW;AAAA,IACX,QAAQ;AAAA,MACN;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,IACF;AAAA,IACA,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,WAAW;AAAA,IACX,QAAQ;AAAA,MACN;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,IACF;AAAA,IACA,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,WAAW;AAAA,IACX,QAAQ;AAAA,MACN;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,IACF;AAAA,IACA,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,WAAW;AAAA,IACX,QAAQ;AAAA,MACN,EAAE,MAAM,QAAQ,cAAc,WAAW,MAAM,WAAW,SAAS,KAAK;AAAA,MACxE,EAAE,MAAM,MAAM,cAAc,WAAW,MAAM,WAAW,SAAS,KAAK;AAAA,MACtE;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,IACF;AAAA,IACA,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,QAAQ;AAAA,MACN,EAAE,MAAM,WAAW,cAAc,WAAW,MAAM,UAAU;AAAA,MAC5D,EAAE,MAAM,aAAa,cAAc,WAAW,MAAM,UAAU;AAAA,MAC9D,EAAE,MAAM,UAAU,cAAc,WAAW,MAAM,UAAU;AAAA,IAC7D;AAAA,IACA,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,QAAQ;AAAA,MACN,EAAE,MAAM,UAAU,cAAc,WAAW,MAAM,UAAU;AAAA,MAC3D,EAAE,MAAM,WAAW,cAAc,WAAW,MAAM,UAAU;AAAA,MAC5D,EAAE,MAAM,UAAU,cAAc,WAAW,MAAM,UAAU;AAAA,IAC7D;AAAA,IACA,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,QAAQ,CAAC,EAAE,MAAM,YAAY,cAAc,WAAW,MAAM,UAAU,CAAC;AAAA,IACvE,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,QAAQ,CAAC,EAAE,MAAM,YAAY,cAAc,WAAW,MAAM,UAAU,CAAC;AAAA,IACvE,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,QAAQ,CAAC,EAAE,MAAM,UAAU,cAAc,WAAW,MAAM,UAAU,CAAC;AAAA,IACrE,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,QAAQ,CAAC,EAAE,MAAM,WAAW,cAAc,WAAW,MAAM,UAAU,CAAC;AAAA,IACtE,MAAM;AAAA,EACR;AAAA,EACA,EAAE,MAAM,SAAS,QAAQ,CAAC,GAAG,MAAM,wBAAwB;AAAA,EAC3D,EAAE,MAAM,SAAS,QAAQ,CAAC,GAAG,MAAM,kBAAkB;AAAA,EACrD;AAAA,IACE,MAAM;AAAA,IACN,QAAQ,CAAC,EAAE,MAAM,SAAS,cAAc,WAAW,MAAM,UAAU,CAAC;AAAA,IACpE,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,QAAQ,CAAC,EAAE,MAAM,WAAW,cAAc,WAAW,MAAM,UAAU,CAAC;AAAA,IACtE,MAAM;AAAA,EACR;AAAA,EACA,EAAE,MAAM,SAAS,QAAQ,CAAC,GAAG,MAAM,sBAAsB;AAAA,EACzD,EAAE,MAAM,SAAS,QAAQ,CAAC,GAAG,MAAM,sBAAsB;AAC3D;AAMO,IAAM,uBAAuB;AAAA,EAClC,MAAM;AAAA,EACN,OAAO;AACT;AAMO,IAAM,sBAAsB;AAAA,EACjC,SAAS;AAAA,EACT,KAAK;AACP;AASO,IAAM,uBAAuB;AAAA,EAClC,EAAE,iBAAiB,cAAc,MAAM,eAAe,QAAQ,CAAC,EAAE;AAAA,EACjE,EAAE,iBAAiB,WAAW,MAAM,UAAU;AAAA,EAC9C;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ,CAAC;AAAA,IACT,MAAM;AAAA,IACN,SAAS,CAAC,EAAE,MAAM,IAAI,cAAc,UAAU,MAAM,SAAS,CAAC;AAAA,EAChE;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ;AAAA,MACN,EAAE,MAAM,mBAAmB,cAAc,WAAW,MAAM,UAAU;AAAA,IACtE;AAAA,IACA,MAAM;AAAA,IACN,SAAS;AAAA,MACP,EAAE,MAAM,SAAS,cAAc,SAAS,MAAM,QAAQ;AAAA,MACtD,EAAE,MAAM,WAAW,cAAc,QAAQ,MAAM,OAAO;AAAA,IACxD;AAAA,EACF;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ;AAAA,MACN,EAAE,MAAM,mBAAmB,cAAc,WAAW,MAAM,UAAU;AAAA,IACtE;AAAA,IACA,MAAM;AAAA,IACN,SAAS;AAAA,MACP,EAAE,MAAM,oBAAoB,cAAc,SAAS,MAAM,QAAQ;AAAA,MACjE,EAAE,MAAM,oBAAoB,cAAc,SAAS,MAAM,QAAQ;AAAA,IACnE;AAAA,EACF;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ;AAAA,MACN,EAAE,MAAM,mBAAmB,cAAc,WAAW,MAAM,UAAU;AAAA,IACtE;AAAA,IACA,MAAM;AAAA,IACN,SAAS;AAAA,MACP,EAAE,MAAM,oBAAoB,cAAc,SAAS,MAAM,QAAQ;AAAA,MACjE,EAAE,MAAM,oBAAoB,cAAc,SAAS,MAAM,QAAQ;AAAA,IACnE;AAAA,EACF;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ,CAAC,EAAE,MAAM,SAAS,cAAc,SAAS,MAAM,QAAQ,CAAC;AAAA,IAChE,MAAM;AAAA,IACN,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,MACR;AAAA,MACA,EAAE,MAAM,WAAW,cAAc,QAAQ,MAAM,OAAO;AAAA,MACtD,EAAE,MAAM,UAAU,cAAc,WAAW,MAAM,UAAU;AAAA,MAC3D,EAAE,MAAM,UAAU,cAAc,WAAW,MAAM,UAAU;AAAA,MAC3D,EAAE,MAAM,cAAc,cAAc,SAAS,MAAM,QAAQ;AAAA,IAC7D;AAAA,EACF;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ;AAAA,MACN,EAAE,MAAM,mBAAmB,cAAc,WAAW,MAAM,UAAU;AAAA,IACtE;AAAA,IACA,MAAM;AAAA,IACN,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,MACR;AAAA,IACF;AAAA,EACF;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ;AAAA,MACN,EAAE,MAAM,UAAU,cAAc,WAAW,MAAM,UAAU;AAAA,MAC3D,EAAE,MAAM,SAAS,cAAc,WAAW,MAAM,UAAU;AAAA,IAC5D;AAAA,IACA,MAAM;AAAA,IACN,SAAS,CAAC;AAAA,EACZ;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ,CAAC;AAAA,IACT,MAAM;AAAA,IACN,SAAS,CAAC,EAAE,MAAM,IAAI,cAAc,WAAW,MAAM,UAAU,CAAC;AAAA,EAClE;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ,CAAC;AAAA,IACT,MAAM;AAAA,IACN,SAAS,CAAC,EAAE,MAAM,IAAI,cAAc,WAAW,MAAM,UAAU,CAAC;AAAA,EAClE;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ;AAAA,MACN,EAAE,MAAM,mBAAmB,cAAc,WAAW,MAAM,UAAU;AAAA,MACpE,EAAE,MAAM,sBAAsB,cAAc,WAAW,MAAM,UAAU;AAAA,IACzE;AAAA,IACA,MAAM;AAAA,IACN,SAAS,CAAC,EAAE,MAAM,aAAa,cAAc,WAAW,MAAM,UAAU,CAAC;AAAA,EAC3E;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ;AAAA,MACN,EAAE,MAAM,mBAAmB,cAAc,WAAW,MAAM,UAAU;AAAA,MACpE,EAAE,MAAM,eAAe,cAAc,WAAW,MAAM,UAAU;AAAA,IAClE;AAAA,IACA,MAAM;AAAA,IACN,SAAS,CAAC,EAAE,MAAM,aAAa,cAAc,WAAW,MAAM,UAAU,CAAC;AAAA,EAC3E;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ,CAAC;AAAA,IACT,MAAM;AAAA,IACN,SAAS,CAAC;AAAA,EACZ;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ;AAAA,MACN,EAAE,MAAM,mBAAmB,cAAc,WAAW,MAAM,UAAU;AAAA,MACpE,EAAE,MAAM,SAAS,cAAc,SAAS,MAAM,QAAQ;AAAA,MACtD,EAAE,MAAM,WAAW,cAAc,QAAQ,MAAM,OAAO;AAAA,MACtD,EAAE,MAAM,0BAA0B,cAAc,SAAS,MAAM,QAAQ;AAAA,MACvE,EAAE,MAAM,0BAA0B,cAAc,SAAS,MAAM,QAAQ;AAAA,MACvE,EAAE,MAAM,0BAA0B,cAAc,SAAS,MAAM,QAAQ;AAAA,MACvE,EAAE,MAAM,0BAA0B,cAAc,SAAS,MAAM,QAAQ;AAAA,IACzE;AAAA,IACA,MAAM;AAAA,IACN,SAAS,CAAC;AAAA,EACZ;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ;AAAA,MACN,EAAE,MAAM,mBAAmB,cAAc,WAAW,MAAM,UAAU;AAAA,MACpE,EAAE,MAAM,SAAS,cAAc,SAAS,MAAM,QAAQ;AAAA,IACxD;AAAA,IACA,MAAM;AAAA,IACN,SAAS,CAAC;AAAA,EACZ;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ;AAAA,MACN,EAAE,MAAM,mBAAmB,cAAc,WAAW,MAAM,UAAU;AAAA,MACpE,EAAE,MAAM,WAAW,cAAc,QAAQ,MAAM,OAAO;AAAA,IACxD;AAAA,IACA,MAAM;AAAA,IACN,SAAS,CAAC;AAAA,EACZ;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ;AAAA,MACN,EAAE,MAAM,mBAAmB,cAAc,WAAW,MAAM,UAAU;AAAA,MACpE,EAAE,MAAM,oBAAoB,cAAc,SAAS,MAAM,QAAQ;AAAA,MACjE,EAAE,MAAM,oBAAoB,cAAc,SAAS,MAAM,QAAQ;AAAA,IACnE;AAAA,IACA,MAAM;AAAA,IACN,SAAS,CAAC;AAAA,EACZ;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ;AAAA,MACN,EAAE,MAAM,mBAAmB,cAAc,WAAW,MAAM,UAAU;AAAA,MACpE,EAAE,MAAM,oBAAoB,cAAc,SAAS,MAAM,QAAQ;AAAA,MACjE,EAAE,MAAM,oBAAoB,cAAc,SAAS,MAAM,QAAQ;AAAA,IACnE;AAAA,IACA,MAAM;AAAA,IACN,SAAS,CAAC;AAAA,EACZ;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ;AAAA,MACN,EAAE,MAAM,SAAS,cAAc,SAAS,MAAM,QAAQ;AAAA,MACtD,EAAE,MAAM,UAAU,cAAc,WAAW,MAAM,UAAU;AAAA,MAC3D,EAAE,MAAM,WAAW,cAAc,QAAQ,MAAM,OAAO;AAAA,IACxD;AAAA,IACA,MAAM;AAAA,IACN,SAAS,CAAC;AAAA,EACZ;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ;AAAA,MACN,EAAE,MAAM,SAAS,cAAc,SAAS,MAAM,QAAQ;AAAA,MACtD,EAAE,MAAM,cAAc,cAAc,WAAW,MAAM,UAAU;AAAA,MAC/D,EAAE,MAAM,UAAU,cAAc,WAAW,MAAM,UAAU;AAAA,MAC3D,EAAE,MAAM,WAAW,cAAc,QAAQ,MAAM,OAAO;AAAA,MACtD,EAAE,MAAM,cAAc,cAAc,SAAS,MAAM,QAAQ;AAAA,IAC7D;AAAA,IACA,MAAM;AAAA,IACN,SAAS,CAAC;AAAA,EACZ;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ;AAAA,MACN,EAAE,MAAM,mBAAmB,cAAc,WAAW,MAAM,UAAU;AAAA,MACpE,EAAE,MAAM,YAAY,cAAc,WAAW,MAAM,UAAU;AAAA,MAC7D,EAAE,MAAM,gBAAgB,cAAc,WAAW,MAAM,UAAU;AAAA,MACjE,EAAE,MAAM,YAAY,cAAc,WAAW,MAAM,UAAU;AAAA,MAC7D,EAAE,MAAM,aAAa,cAAc,WAAW,MAAM,UAAU;AAAA,IAChE;AAAA,IACA,MAAM;AAAA,IACN,SAAS,CAAC,EAAE,MAAM,aAAa,cAAc,WAAW,MAAM,UAAU,CAAC;AAAA,EAC3E;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ;AAAA,MACN,EAAE,MAAM,mBAAmB,cAAc,WAAW,MAAM,UAAU;AAAA,MACpE,EAAE,MAAM,gBAAgB,cAAc,WAAW,MAAM,UAAU;AAAA,MACjE,EAAE,MAAM,YAAY,cAAc,WAAW,MAAM,UAAU;AAAA,IAC/D;AAAA,IACA,MAAM;AAAA,IACN,SAAS,CAAC,EAAE,MAAM,aAAa,cAAc,WAAW,MAAM,UAAU,CAAC;AAAA,EAC3E;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ,CAAC,EAAE,MAAM,YAAY,cAAc,WAAW,MAAM,UAAU,CAAC;AAAA,IACvE,MAAM;AAAA,IACN,SAAS,CAAC;AAAA,EACZ;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ;AAAA,MACN,EAAE,MAAM,qBAAqB,cAAc,WAAW,MAAM,UAAU;AAAA,MACtE,EAAE,MAAM,QAAQ,cAAc,SAAS,MAAM,QAAQ;AAAA,IACvD;AAAA,IACA,MAAM;AAAA,IACN,SAAS,CAAC;AAAA,EACZ;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ,CAAC;AAAA,IACT,MAAM;AAAA,IACN,SAAS,CAAC,EAAE,MAAM,IAAI,cAAc,WAAW,MAAM,UAAU,CAAC;AAAA,EAClE;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,WAAW;AAAA,IACX,QAAQ;AAAA,MACN;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,MACA,EAAE,MAAM,SAAS,cAAc,SAAS,MAAM,SAAS,SAAS,KAAK;AAAA,IACvE;AAAA,IACA,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,WAAW;AAAA,IACX,QAAQ;AAAA,MACN;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,MACA,EAAE,MAAM,WAAW,cAAc,QAAQ,MAAM,QAAQ,SAAS,MAAM;AAAA,IACxE;AAAA,IACA,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,WAAW;AAAA,IACX,QAAQ;AAAA,MACN;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,IACF;AAAA,IACA,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,WAAW;AAAA,IACX,QAAQ;AAAA,MACN;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,IACF;AAAA,IACA,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,WAAW;AAAA,IACX,QAAQ;AAAA,MACN,EAAE,MAAM,SAAS,cAAc,SAAS,MAAM,SAAS,SAAS,KAAK;AAAA,MACrE;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,IACF;AAAA,IACA,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,WAAW;AAAA,IACX,QAAQ;AAAA,MACN,EAAE,MAAM,SAAS,cAAc,SAAS,MAAM,SAAS,SAAS,KAAK;AAAA,MACrE,EAAE,MAAM,WAAW,cAAc,QAAQ,MAAM,QAAQ,SAAS,MAAM;AAAA,IACxE;AAAA,IACA,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,WAAW;AAAA,IACX,QAAQ;AAAA,MACN;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,IACF;AAAA,IACA,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,WAAW;AAAA,IACX,QAAQ;AAAA,MACN;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,IACF;AAAA,IACA,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,WAAW;AAAA,IACX,QAAQ;AAAA,MACN;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,IACF;AAAA,IACA,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,QAAQ,CAAC,EAAE,MAAM,UAAU,cAAc,WAAW,MAAM,UAAU,CAAC;AAAA,IACrE,MAAM;AAAA,EACR;AAAA,EACA,EAAE,MAAM,SAAS,QAAQ,CAAC,GAAG,MAAM,2BAA2B;AAAA,EAC9D,EAAE,MAAM,SAAS,QAAQ,CAAC,GAAG,MAAM,kBAAkB;AAAA,EACrD,EAAE,MAAM,SAAS,QAAQ,CAAC,GAAG,MAAM,cAAc;AAAA,EACjD,EAAE,MAAM,SAAS,QAAQ,CAAC,GAAG,MAAM,mBAAmB;AAAA,EACtD,EAAE,MAAM,SAAS,QAAQ,CAAC,GAAG,MAAM,mBAAmB;AAAA,EACtD;AAAA,IACE,MAAM;AAAA,IACN,QAAQ;AAAA,MACN,EAAE,MAAM,kBAAkB,cAAc,WAAW,MAAM,UAAU;AAAA,IACrE;AAAA,IACA,MAAM;AAAA,EACR;AAAA,EACA,EAAE,MAAM,SAAS,QAAQ,CAAC,GAAG,MAAM,oBAAoB;AAAA,EACvD,EAAE,MAAM,SAAS,QAAQ,CAAC,GAAG,MAAM,oBAAoB;AAAA,EACvD,EAAE,MAAM,SAAS,QAAQ,CAAC,GAAG,MAAM,aAAa;AAAA,EAChD;AAAA,IACE,MAAM;AAAA,IACN,QAAQ;AAAA,MACN,EAAE,MAAM,WAAW,cAAc,WAAW,MAAM,UAAU;AAAA,MAC5D,EAAE,MAAM,UAAU,cAAc,WAAW,MAAM,UAAU;AAAA,IAC7D;AAAA,IACA,MAAM;AAAA,EACR;AAAA,EACA,EAAE,MAAM,SAAS,QAAQ,CAAC,GAAG,MAAM,eAAe;AAAA,EAClD,EAAE,MAAM,SAAS,QAAQ,CAAC,GAAG,MAAM,wBAAwB;AAAA,EAC3D,EAAE,MAAM,SAAS,QAAQ,CAAC,GAAG,MAAM,cAAc;AAAA,EACjD,EAAE,MAAM,SAAS,QAAQ,CAAC,GAAG,MAAM,mBAAmB;AAAA,EACtD,EAAE,MAAM,SAAS,QAAQ,CAAC,GAAG,MAAM,qBAAqB;AAAA,EACxD,EAAE,MAAM,SAAS,QAAQ,CAAC,GAAG,MAAM,kBAAkB;AAAA,EACrD;AAAA,IACE,MAAM;AAAA,IACN,QAAQ,CAAC,EAAE,MAAM,SAAS,cAAc,WAAW,MAAM,UAAU,CAAC;AAAA,IACpE,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,QAAQ,CAAC,EAAE,MAAM,WAAW,cAAc,WAAW,MAAM,UAAU,CAAC;AAAA,IACtE,MAAM;AAAA,EACR;AAAA,EACA,EAAE,MAAM,SAAS,QAAQ,CAAC,GAAG,MAAM,+BAA+B;AAAA,EAClE,EAAE,MAAM,SAAS,QAAQ,CAAC,GAAG,MAAM,gBAAgB;AAAA,EACnD,EAAE,MAAM,SAAS,QAAQ,CAAC,GAAG,MAAM,qBAAqB;AAAA,EACxD;AAAA,IACE,MAAM;AAAA,IACN,QAAQ,CAAC,EAAE,MAAM,SAAS,cAAc,WAAW,MAAM,UAAU,CAAC;AAAA,IACpE,MAAM;AAAA,EACR;AAAA,EACA,EAAE,MAAM,SAAS,QAAQ,CAAC,GAAG,MAAM,8BAA8B;AAAA,EACjE;AAAA,IACE,MAAM;AAAA,IACN,QAAQ,CAAC,EAAE,MAAM,QAAQ,cAAc,WAAW,MAAM,UAAU,CAAC;AAAA,IACnE,MAAM;AAAA,EACR;AAAA,EACA,EAAE,MAAM,SAAS,QAAQ,CAAC,GAAG,MAAM,qBAAqB;AAC1D;AAKO,IAAM,2BAA2B;AAAA,EACtC,OAAO;AACT;AAKO,IAAM,0BAA0B;AAAA,EACrC,SAAS;AAAA,EACT,KAAK;AACP;AAUO,IAAM,kBAAkB;AAAA,EAC7B;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ;AAAA,MACN;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,MACR;AAAA,MACA,EAAE,MAAM,oBAAoB,cAAc,WAAW,MAAM,UAAU;AAAA,MACrE,EAAE,MAAM,SAAS,cAAc,WAAW,MAAM,UAAU;AAAA,MAC1D;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,MACR;AAAA,MACA,EAAE,MAAM,kBAAkB,cAAc,WAAW,MAAM,UAAU;AAAA,MACnE,EAAE,MAAM,sBAAsB,cAAc,WAAW,MAAM,UAAU;AAAA,MACvE,EAAE,MAAM,sBAAsB,cAAc,WAAW,MAAM,UAAU;AAAA,MACvE,EAAE,MAAM,iBAAiB,cAAc,WAAW,MAAM,UAAU;AAAA,IACpE;AAAA,EACF;AAAA,EACA,EAAE,iBAAiB,WAAW,MAAM,UAAU;AAAA,EAC9C;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ,CAAC;AAAA,IACT,MAAM;AAAA,IACN,SAAS,CAAC,EAAE,MAAM,IAAI,cAAc,WAAW,MAAM,UAAU,CAAC;AAAA,EAClE;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ,CAAC;AAAA,IACT,MAAM;AAAA,IACN,SAAS,CAAC,EAAE,MAAM,IAAI,cAAc,WAAW,MAAM,UAAU,CAAC;AAAA,EAClE;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ,CAAC;AAAA,IACT,MAAM;AAAA,IACN,SAAS,CAAC,EAAE,MAAM,IAAI,cAAc,WAAW,MAAM,UAAU,CAAC;AAAA,EAClE;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ,CAAC;AAAA,IACT,MAAM;AAAA,IACN,SAAS,CAAC,EAAE,MAAM,IAAI,cAAc,WAAW,MAAM,UAAU,CAAC;AAAA,EAClE;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ,CAAC;AAAA,IACT,MAAM;AAAA,IACN,SAAS,CAAC,EAAE,MAAM,IAAI,cAAc,WAAW,MAAM,UAAU,CAAC;AAAA,EAClE;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ,CAAC;AAAA,IACT,MAAM;AAAA,IACN,SAAS,CAAC,EAAE,MAAM,IAAI,cAAc,UAAU,MAAM,SAAS,CAAC;AAAA,EAChE;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ,CAAC;AAAA,IACT,MAAM;AAAA,IACN,SAAS,CAAC,EAAE,MAAM,IAAI,cAAc,WAAW,MAAM,UAAU,CAAC;AAAA,EAClE;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ,CAAC;AAAA,IACT,MAAM;AAAA,IACN,SAAS,CAAC,EAAE,MAAM,IAAI,cAAc,WAAW,MAAM,UAAU,CAAC;AAAA,EAClE;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ,CAAC;AAAA,IACT,MAAM;AAAA,IACN,SAAS,CAAC,EAAE,MAAM,IAAI,cAAc,WAAW,MAAM,UAAU,CAAC;AAAA,EAClE;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ,CAAC;AAAA,IACT,MAAM;AAAA,IACN,SAAS,CAAC,EAAE,MAAM,IAAI,cAAc,WAAW,MAAM,UAAU,CAAC;AAAA,EAClE;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ,CAAC;AAAA,IACT,MAAM;AAAA,IACN,SAAS,CAAC,EAAE,MAAM,IAAI,cAAc,WAAW,MAAM,UAAU,CAAC;AAAA,EAClE;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ,CAAC;AAAA,IACT,MAAM;AAAA,IACN,SAAS,CAAC;AAAA,EACZ;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ;AAAA,MACN,EAAE,MAAM,eAAe,cAAc,WAAW,MAAM,UAAU;AAAA,MAChE,EAAE,MAAM,qBAAqB,cAAc,WAAW,MAAM,UAAU;AAAA,MACtE,EAAE,MAAM,eAAe,cAAc,WAAW,MAAM,UAAU;AAAA,IAClE;AAAA,IACA,MAAM;AAAA,IACN,SAAS,CAAC;AAAA,EACZ;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ,CAAC;AAAA,IACT,MAAM;AAAA,IACN,SAAS,CAAC,EAAE,MAAM,IAAI,cAAc,WAAW,MAAM,UAAU,CAAC;AAAA,EAClE;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ,CAAC;AAAA,IACT,MAAM;AAAA,IACN,SAAS,CAAC,EAAE,MAAM,IAAI,cAAc,WAAW,MAAM,UAAU,CAAC;AAAA,EAClE;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ;AAAA,MACN,EAAE,MAAM,OAAO,cAAc,SAAS,MAAM,QAAQ;AAAA,MACpD,EAAE,MAAM,WAAW,cAAc,SAAS,MAAM,QAAQ;AAAA,IAC1D;AAAA,IACA,MAAM;AAAA,IACN,SAAS,CAAC;AAAA,EACZ;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ;AAAA,MACN,EAAE,MAAM,iBAAiB,cAAc,WAAW,MAAM,UAAU;AAAA,MAClE,EAAE,MAAM,kBAAkB,cAAc,WAAW,MAAM,UAAU;AAAA,IACrE;AAAA,IACA,MAAM;AAAA,IACN,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,MACR;AAAA,MACA,EAAE,MAAM,YAAY,cAAc,WAAW,MAAM,UAAU;AAAA,IAC/D;AAAA,EACF;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ;AAAA,MACN,EAAE,MAAM,uBAAuB,cAAc,WAAW,MAAM,UAAU;AAAA,MACxE,EAAE,MAAM,iBAAiB,cAAc,WAAW,MAAM,UAAU;AAAA,MAClE,EAAE,MAAM,kBAAkB,cAAc,WAAW,MAAM,UAAU;AAAA,IACrE;AAAA,IACA,MAAM;AAAA,IACN,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,MACR;AAAA,MACA,EAAE,MAAM,YAAY,cAAc,WAAW,MAAM,UAAU;AAAA,MAC7D,EAAE,MAAM,YAAY,cAAc,WAAW,MAAM,UAAU;AAAA,IAC/D;AAAA,EACF;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ;AAAA,MACN,EAAE,MAAM,gBAAgB,cAAc,WAAW,MAAM,UAAU;AAAA,MACjE;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,MACR;AAAA,MACA,EAAE,MAAM,kBAAkB,cAAc,WAAW,MAAM,UAAU;AAAA,IACrE;AAAA,IACA,MAAM;AAAA,IACN,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,MACR;AAAA,MACA,EAAE,MAAM,YAAY,cAAc,WAAW,MAAM,UAAU;AAAA,MAC7D,EAAE,MAAM,YAAY,cAAc,WAAW,MAAM,UAAU;AAAA,IAC/D;AAAA,EACF;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ,CAAC;AAAA,IACT,MAAM;AAAA,IACN,SAAS,CAAC,EAAE,MAAM,IAAI,cAAc,WAAW,MAAM,UAAU,CAAC;AAAA,EAClE;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ;AAAA,MACN;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,MACR;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,MACR;AAAA,MACA,EAAE,MAAM,eAAe,cAAc,WAAW,MAAM,UAAU;AAAA,IAClE;AAAA,IACA,MAAM;AAAA,IACN,SAAS;AAAA,MACP,EAAE,MAAM,aAAa,cAAc,WAAW,MAAM,UAAU;AAAA,MAC9D,EAAE,MAAM,mBAAmB,cAAc,WAAW,MAAM,UAAU;AAAA,IACtE;AAAA,EACF;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ,CAAC;AAAA,IACT,MAAM;AAAA,IACN,SAAS,CAAC,EAAE,MAAM,IAAI,cAAc,UAAU,MAAM,SAAS,CAAC;AAAA,EAChE;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ,CAAC;AAAA,IACT,MAAM;AAAA,IACN,SAAS,CAAC,EAAE,MAAM,IAAI,cAAc,mBAAmB,MAAM,UAAU,CAAC;AAAA,EAC1E;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ,CAAC;AAAA,IACT,MAAM;AAAA,IACN,SAAS,CAAC,EAAE,MAAM,IAAI,cAAc,WAAW,MAAM,UAAU,CAAC;AAAA,EAClE;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ,CAAC;AAAA,IACT,MAAM;AAAA,IACN,SAAS,CAAC,EAAE,MAAM,IAAI,cAAc,QAAQ,MAAM,OAAO,CAAC;AAAA,EAC5D;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ,CAAC;AAAA,IACT,MAAM;AAAA,IACN,SAAS,CAAC,EAAE,MAAM,IAAI,cAAc,WAAW,MAAM,UAAU,CAAC;AAAA,EAClE;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ,CAAC;AAAA,IACT,MAAM;AAAA,IACN,SAAS,CAAC,EAAE,MAAM,IAAI,cAAc,WAAW,MAAM,UAAU,CAAC;AAAA,EAClE;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ;AAAA,MACN,EAAE,MAAM,cAAc,cAAc,WAAW,MAAM,UAAU;AAAA,MAC/D,EAAE,MAAM,cAAc,cAAc,WAAW,MAAM,UAAU;AAAA,MAC/D,EAAE,MAAM,eAAe,cAAc,WAAW,MAAM,UAAU;AAAA,MAChE,EAAE,MAAM,sBAAsB,cAAc,QAAQ,MAAM,OAAO;AAAA,IACnE;AAAA,IACA,MAAM;AAAA,IACN,SAAS;AAAA,MACP,EAAE,MAAM,YAAY,cAAc,WAAW,MAAM,UAAU;AAAA,MAC7D,EAAE,MAAM,OAAO,cAAc,WAAW,MAAM,UAAU;AAAA,IAC1D;AAAA,EACF;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ;AAAA,MACN,EAAE,MAAM,aAAa,cAAc,WAAW,MAAM,UAAU;AAAA,MAC9D,EAAE,MAAM,cAAc,cAAc,WAAW,MAAM,UAAU;AAAA,MAC/D,EAAE,MAAM,eAAe,cAAc,WAAW,MAAM,UAAU;AAAA,MAChE,EAAE,MAAM,qBAAqB,cAAc,QAAQ,MAAM,OAAO;AAAA,IAClE;AAAA,IACA,MAAM;AAAA,IACN,SAAS;AAAA,MACP,EAAE,MAAM,aAAa,cAAc,WAAW,MAAM,UAAU;AAAA,MAC9D,EAAE,MAAM,OAAO,cAAc,WAAW,MAAM,UAAU;AAAA,IAC1D;AAAA,EACF;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ,CAAC;AAAA,IACT,MAAM;AAAA,IACN,SAAS,CAAC,EAAE,MAAM,IAAI,cAAc,WAAW,MAAM,UAAU,CAAC;AAAA,EAClE;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ,CAAC;AAAA,IACT,MAAM;AAAA,IACN,SAAS,CAAC,EAAE,MAAM,IAAI,cAAc,WAAW,MAAM,UAAU,CAAC;AAAA,EAClE;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ,CAAC;AAAA,IACT,MAAM;AAAA,IACN,SAAS;AAAA,MACP,EAAE,MAAM,IAAI,cAAc,aAAa,MAAM,YAAY;AAAA,MACzD,EAAE,MAAM,IAAI,cAAc,YAAY,MAAM,WAAW;AAAA,MACvD,EAAE,MAAM,IAAI,cAAc,YAAY,MAAM,WAAW;AAAA,IACzD;AAAA,EACF;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ,CAAC;AAAA,IACT,MAAM;AAAA,IACN,SAAS;AAAA,MACP,EAAE,MAAM,iBAAiB,cAAc,WAAW,MAAM,UAAU;AAAA,MAClE,EAAE,MAAM,iBAAiB,cAAc,WAAW,MAAM,UAAU;AAAA,MAClE,EAAE,MAAM,oBAAoB,cAAc,YAAY,MAAM,WAAW;AAAA,MACvE;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,MACR;AAAA,IACF;AAAA,EACF;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ,CAAC;AAAA,IACT,MAAM;AAAA,IACN,SAAS,CAAC,EAAE,MAAM,IAAI,cAAc,WAAW,MAAM,UAAU,CAAC;AAAA,EAClE;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ;AAAA,MACN,EAAE,MAAM,qBAAqB,cAAc,WAAW,MAAM,UAAU;AAAA,MACtE,EAAE,MAAM,oBAAoB,cAAc,WAAW,MAAM,UAAU;AAAA,MACrE,EAAE,MAAM,UAAU,cAAc,WAAW,MAAM,UAAU;AAAA,MAC3D;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,QACN,YAAY;AAAA,UACV;AAAA,YACE,MAAM;AAAA,YACN,cAAc;AAAA,YACd,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,YACN,cAAc;AAAA,YACd,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,YACN,cAAc;AAAA,YACd,MAAM;AAAA,UACR;AAAA,UACA,EAAE,MAAM,UAAU,cAAc,WAAW,MAAM,UAAU;AAAA,UAC3D,EAAE,MAAM,gBAAgB,cAAc,WAAW,MAAM,UAAU;AAAA,UACjE,EAAE,MAAM,gBAAgB,cAAc,WAAW,MAAM,UAAU;AAAA,UACjE;AAAA,YACE,MAAM;AAAA,YACN,cAAc;AAAA,YACd,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,MAAM;AAAA,YACN,cAAc;AAAA,YACd,MAAM;AAAA,UACR;AAAA,UACA,EAAE,MAAM,mBAAmB,cAAc,WAAW,MAAM,UAAU;AAAA,UACpE,EAAE,MAAM,eAAe,cAAc,WAAW,MAAM,UAAU;AAAA,UAChE;AAAA,YACE,MAAM;AAAA,YACN,cAAc;AAAA,YACd,MAAM;AAAA,UACR;AAAA,UACA,EAAE,MAAM,mBAAmB,cAAc,WAAW,MAAM,UAAU;AAAA,UACpE,EAAE,MAAM,WAAW,cAAc,UAAU,MAAM,SAAS;AAAA,QAC5D;AAAA,MACF;AAAA,IACF;AAAA,IACA,MAAM;AAAA,IACN,SAAS,CAAC;AAAA,EACZ;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ,CAAC;AAAA,IACT,MAAM;AAAA,IACN,SAAS;AAAA,MACP,EAAE,MAAM,mBAAmB,cAAc,WAAW,MAAM,UAAU;AAAA,MACpE,EAAE,MAAM,gBAAgB,cAAc,WAAW,MAAM,UAAU;AAAA,MACjE,EAAE,MAAM,oBAAoB,cAAc,WAAW,MAAM,UAAU;AAAA,MACrE,EAAE,MAAM,uBAAuB,cAAc,WAAW,MAAM,UAAU;AAAA,MACxE,EAAE,MAAM,SAAS,cAAc,UAAU,MAAM,SAAS;AAAA,MACxD,EAAE,MAAM,eAAe,cAAc,SAAS,MAAM,QAAQ;AAAA,MAC5D,EAAE,MAAM,eAAe,cAAc,WAAW,MAAM,UAAU;AAAA,MAChE,EAAE,MAAM,aAAa,cAAc,WAAW,MAAM,UAAU;AAAA,MAC9D,EAAE,MAAM,QAAQ,cAAc,WAAW,MAAM,UAAU;AAAA,IAC3D;AAAA,EACF;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ,CAAC;AAAA,IACT,MAAM;AAAA,IACN,SAAS,CAAC,EAAE,MAAM,IAAI,cAAc,WAAW,MAAM,UAAU,CAAC;AAAA,EAClE;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ,CAAC;AAAA,IACT,MAAM;AAAA,IACN,SAAS,CAAC,EAAE,MAAM,IAAI,cAAc,WAAW,MAAM,UAAU,CAAC;AAAA,EAClE;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ,CAAC;AAAA,IACT,MAAM;AAAA,IACN,SAAS;AAAA,MACP,EAAE,MAAM,IAAI,cAAc,WAAW,MAAM,UAAU;AAAA,MACrD,EAAE,MAAM,IAAI,cAAc,WAAW,MAAM,UAAU;AAAA,MACrD,EAAE,MAAM,IAAI,cAAc,WAAW,MAAM,UAAU;AAAA,MACrD,EAAE,MAAM,IAAI,cAAc,WAAW,MAAM,UAAU;AAAA,IACvD;AAAA,EACF;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ,CAAC;AAAA,IACT,MAAM;AAAA,IACN,SAAS,CAAC,EAAE,MAAM,IAAI,cAAc,WAAW,MAAM,UAAU,CAAC;AAAA,EAClE;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ,CAAC;AAAA,IACT,MAAM;AAAA,IACN,SAAS,CAAC,EAAE,MAAM,IAAI,cAAc,WAAW,MAAM,UAAU,CAAC;AAAA,EAClE;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ,CAAC;AAAA,IACT,MAAM;AAAA,IACN,SAAS,CAAC,EAAE,MAAM,IAAI,cAAc,WAAW,MAAM,UAAU,CAAC;AAAA,EAClE;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ,CAAC;AAAA,IACT,MAAM;AAAA,IACN,SAAS,CAAC,EAAE,MAAM,IAAI,cAAc,WAAW,MAAM,UAAU,CAAC;AAAA,EAClE;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ,CAAC;AAAA,IACT,MAAM;AAAA,IACN,SAAS,CAAC,EAAE,MAAM,IAAI,cAAc,WAAW,MAAM,UAAU,CAAC;AAAA,EAClE;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ,CAAC;AAAA,IACT,MAAM;AAAA,IACN,SAAS,CAAC,EAAE,MAAM,IAAI,cAAc,WAAW,MAAM,UAAU,CAAC;AAAA,EAClE;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ,CAAC;AAAA,IACT,MAAM;AAAA,IACN,SAAS,CAAC;AAAA,EACZ;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ,CAAC;AAAA,IACT,MAAM;AAAA,IACN,SAAS,CAAC;AAAA,EACZ;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ,CAAC;AAAA,IACT,MAAM;AAAA,IACN,SAAS,CAAC;AAAA,EACZ;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ;AAAA,MACN,EAAE,MAAM,gBAAgB,cAAc,WAAW,MAAM,UAAU;AAAA,MACjE;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,MACR;AAAA,MACA,EAAE,MAAM,kBAAkB,cAAc,WAAW,MAAM,UAAU;AAAA,IACrE;AAAA,IACA,MAAM;AAAA,IACN,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,MACR;AAAA,MACA,EAAE,MAAM,YAAY,cAAc,WAAW,MAAM,UAAU;AAAA,IAC/D;AAAA,EACF;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ;AAAA,MACN,EAAE,MAAM,mBAAmB,cAAc,WAAW,MAAM,UAAU;AAAA,MACpE,EAAE,MAAM,qBAAqB,cAAc,WAAW,MAAM,UAAU;AAAA,MACtE,EAAE,MAAM,kBAAkB,cAAc,WAAW,MAAM,UAAU;AAAA,IACrE;AAAA,IACA,MAAM;AAAA,IACN,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,MACR;AAAA,MACA,EAAE,MAAM,aAAa,cAAc,WAAW,MAAM,UAAU;AAAA,MAC9D,EAAE,MAAM,YAAY,cAAc,WAAW,MAAM,UAAU;AAAA,IAC/D;AAAA,EACF;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ,CAAC;AAAA,IACT,MAAM;AAAA,IACN,SAAS,CAAC,EAAE,MAAM,IAAI,cAAc,QAAQ,MAAM,OAAO,CAAC;AAAA,EAC5D;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ,CAAC;AAAA,IACT,MAAM;AAAA,IACN,SAAS,CAAC,EAAE,MAAM,IAAI,cAAc,WAAW,MAAM,UAAU,CAAC;AAAA,EAClE;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ,CAAC;AAAA,IACT,MAAM;AAAA,IACN,SAAS,CAAC,EAAE,MAAM,IAAI,cAAc,WAAW,MAAM,UAAU,CAAC;AAAA,EAClE;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ,CAAC;AAAA,IACT,MAAM;AAAA,IACN,SAAS,CAAC,EAAE,MAAM,IAAI,cAAc,WAAW,MAAM,UAAU,CAAC;AAAA,EAClE;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ,CAAC;AAAA,IACT,MAAM;AAAA,IACN,SAAS,CAAC,EAAE,MAAM,IAAI,cAAc,WAAW,MAAM,UAAU,CAAC;AAAA,EAClE;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ,CAAC;AAAA,IACT,MAAM;AAAA,IACN,SAAS,CAAC,EAAE,MAAM,IAAI,cAAc,QAAQ,MAAM,OAAO,CAAC;AAAA,EAC5D;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ,CAAC,EAAE,MAAM,YAAY,cAAc,WAAW,MAAM,UAAU,CAAC;AAAA,IACvE,MAAM;AAAA,IACN,SAAS,CAAC;AAAA,EACZ;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ,CAAC;AAAA,IACT,MAAM;AAAA,IACN,SAAS,CAAC,EAAE,MAAM,IAAI,cAAc,SAAS,MAAM,QAAQ,CAAC;AAAA,EAC9D;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ,CAAC;AAAA,IACT,MAAM;AAAA,IACN,SAAS,CAAC,EAAE,MAAM,IAAI,cAAc,QAAQ,MAAM,OAAO,CAAC;AAAA,EAC5D;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ,CAAC;AAAA,IACT,MAAM;AAAA,IACN,SAAS,CAAC,EAAE,MAAM,IAAI,cAAc,UAAU,MAAM,SAAS,CAAC;AAAA,EAChE;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ,CAAC;AAAA,IACT,MAAM;AAAA,IACN,SAAS,CAAC,EAAE,MAAM,IAAI,cAAc,WAAW,MAAM,UAAU,CAAC;AAAA,EAClE;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ,CAAC;AAAA,IACT,MAAM;AAAA,IACN,SAAS,CAAC,EAAE,MAAM,IAAI,cAAc,WAAW,MAAM,UAAU,CAAC;AAAA,EAClE;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ,CAAC;AAAA,IACT,MAAM;AAAA,IACN,SAAS,CAAC,EAAE,MAAM,IAAI,cAAc,SAAS,MAAM,QAAQ,CAAC;AAAA,EAC9D;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ,CAAC;AAAA,IACT,MAAM;AAAA,IACN,SAAS,CAAC,EAAE,MAAM,IAAI,cAAc,WAAW,MAAM,UAAU,CAAC;AAAA,EAClE;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ,CAAC;AAAA,IACT,MAAM;AAAA,IACN,SAAS,CAAC,EAAE,MAAM,IAAI,cAAc,WAAW,MAAM,UAAU,CAAC;AAAA,EAClE;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ,CAAC;AAAA,IACT,MAAM;AAAA,IACN,SAAS,CAAC,EAAE,MAAM,IAAI,cAAc,WAAW,MAAM,UAAU,CAAC;AAAA,EAClE;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ,CAAC;AAAA,IACT,MAAM;AAAA,IACN,SAAS,CAAC,EAAE,MAAM,IAAI,cAAc,WAAW,MAAM,UAAU,CAAC;AAAA,EAClE;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ,CAAC;AAAA,IACT,MAAM;AAAA,IACN,SAAS,CAAC,EAAE,MAAM,IAAI,cAAc,WAAW,MAAM,UAAU,CAAC;AAAA,EAClE;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ,CAAC;AAAA,IACT,MAAM;AAAA,IACN,SAAS,CAAC,EAAE,MAAM,IAAI,cAAc,WAAW,MAAM,UAAU,CAAC;AAAA,EAClE;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,WAAW;AAAA,IACX,QAAQ;AAAA,MACN;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,IACF;AAAA,IACA,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,WAAW;AAAA,IACX,QAAQ;AAAA,MACN;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,IACF;AAAA,IACA,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,WAAW;AAAA,IACX,QAAQ;AAAA,MACN;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,IACF;AAAA,IACA,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,WAAW;AAAA,IACX,QAAQ;AAAA,MACN;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,IACF;AAAA,IACA,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,WAAW;AAAA,IACX,QAAQ;AAAA,MACN;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,MACA,EAAE,MAAM,WAAW,cAAc,SAAS,MAAM,SAAS,SAAS,MAAM;AAAA,MACxE,EAAE,MAAM,WAAW,cAAc,SAAS,MAAM,SAAS,SAAS,MAAM;AAAA,MACxE;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,IACF;AAAA,IACA,MAAM;AAAA,EACR;AAAA,EACA,EAAE,MAAM,SAAS,QAAQ,CAAC,GAAG,MAAM,kBAAkB;AAAA,EACrD,EAAE,MAAM,SAAS,QAAQ,CAAC,GAAG,MAAM,eAAe;AAAA,EAClD,EAAE,MAAM,SAAS,QAAQ,CAAC,GAAG,MAAM,gBAAgB;AAAA,EACnD;AAAA,IACE,MAAM;AAAA,IACN,QAAQ;AAAA,MACN,EAAE,MAAM,uBAAuB,cAAc,WAAW,MAAM,UAAU;AAAA,IAC1E;AAAA,IACA,MAAM;AAAA,EACR;AAAA,EACA,EAAE,MAAM,SAAS,QAAQ,CAAC,GAAG,MAAM,8BAA8B;AAAA,EACjE,EAAE,MAAM,SAAS,QAAQ,CAAC,GAAG,MAAM,aAAa;AAAA,EAChD,EAAE,MAAM,SAAS,QAAQ,CAAC,GAAG,MAAM,kBAAkB;AAAA,EACrD,EAAE,MAAM,SAAS,QAAQ,CAAC,GAAG,MAAM,2BAA2B;AAAA,EAC9D;AAAA,IACE,MAAM;AAAA,IACN,QAAQ;AAAA,MACN,EAAE,MAAM,WAAW,cAAc,WAAW,MAAM,UAAU;AAAA,MAC5D,EAAE,MAAM,UAAU,cAAc,WAAW,MAAM,UAAU;AAAA,IAC7D;AAAA,IACA,MAAM;AAAA,EACR;AAAA,EACA,EAAE,MAAM,SAAS,QAAQ,CAAC,GAAG,MAAM,yBAAyB;AAAA,EAC5D,EAAE,MAAM,SAAS,QAAQ,CAAC,GAAG,MAAM,wBAAwB;AAAA,EAC3D,EAAE,MAAM,SAAS,QAAQ,CAAC,GAAG,MAAM,4BAA4B;AAAA,EAC/D,EAAE,MAAM,SAAS,QAAQ,CAAC,GAAG,MAAM,wBAAwB;AAAA,EAC3D,EAAE,MAAM,SAAS,QAAQ,CAAC,GAAG,MAAM,mBAAmB;AAAA,EACtD,EAAE,MAAM,SAAS,QAAQ,CAAC,GAAG,MAAM,qBAAqB;AAAA,EACxD,EAAE,MAAM,SAAS,QAAQ,CAAC,GAAG,MAAM,0BAA0B;AAAA,EAC7D,EAAE,MAAM,SAAS,QAAQ,CAAC,GAAG,MAAM,sCAAsC;AAAA,EACzE;AAAA,IACE,MAAM;AAAA,IACN,QAAQ;AAAA,MACN,EAAE,MAAM,oBAAoB,cAAc,WAAW,MAAM,UAAU;AAAA,MACrE,EAAE,MAAM,gBAAgB,cAAc,WAAW,MAAM,UAAU;AAAA,MACjE,EAAE,MAAM,gBAAgB,cAAc,WAAW,MAAM,UAAU;AAAA,IACnE;AAAA,IACA,MAAM;AAAA,EACR;AAAA,EACA,EAAE,MAAM,SAAS,QAAQ,CAAC,GAAG,MAAM,qBAAqB;AAAA,EACxD,EAAE,MAAM,SAAS,QAAQ,CAAC,GAAG,MAAM,qBAAqB;AAAA,EACxD,EAAE,MAAM,SAAS,QAAQ,CAAC,GAAG,MAAM,uBAAuB;AAAA,EAC1D,EAAE,MAAM,SAAS,QAAQ,CAAC,GAAG,MAAM,0BAA0B;AAAA,EAC7D,EAAE,MAAM,SAAS,QAAQ,CAAC,GAAG,MAAM,2BAA2B;AAAA,EAC9D,EAAE,MAAM,SAAS,QAAQ,CAAC,GAAG,MAAM,kBAAkB;AAAA,EACrD,EAAE,MAAM,SAAS,QAAQ,CAAC,GAAG,MAAM,cAAc;AAAA,EACjD,EAAE,MAAM,SAAS,QAAQ,CAAC,GAAG,MAAM,WAAW;AAAA,EAC9C;AAAA,IACE,MAAM;AAAA,IACN,QAAQ,CAAC,EAAE,MAAM,SAAS,cAAc,WAAW,MAAM,UAAU,CAAC;AAAA,IACpE,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,QAAQ,CAAC,EAAE,MAAM,WAAW,cAAc,WAAW,MAAM,UAAU,CAAC;AAAA,IACtE,MAAM;AAAA,EACR;AAAA,EACA,EAAE,MAAM,SAAS,QAAQ,CAAC,GAAG,MAAM,gCAAgC;AAAA,EACnE,EAAE,MAAM,SAAS,QAAQ,CAAC,GAAG,MAAM,qBAAqB;AAAA,EACxD,EAAE,MAAM,SAAS,QAAQ,CAAC,GAAG,MAAM,iBAAiB;AAAA,EACpD,EAAE,MAAM,SAAS,QAAQ,CAAC,GAAG,MAAM,kBAAkB;AAAA,EACrD,EAAE,MAAM,SAAS,QAAQ,CAAC,GAAG,MAAM,oBAAoB;AAAA,EACvD,EAAE,MAAM,SAAS,QAAQ,CAAC,GAAG,MAAM,+BAA+B;AAAA,EAClE;AAAA,IACE,MAAM;AAAA,IACN,QAAQ,CAAC,EAAE,MAAM,SAAS,cAAc,WAAW,MAAM,UAAU,CAAC;AAAA,IACpE,MAAM;AAAA,EACR;AAAA,EACA,EAAE,MAAM,SAAS,QAAQ,CAAC,GAAG,MAAM,sBAAsB;AAAA,EACzD,EAAE,MAAM,SAAS,QAAQ,CAAC,GAAG,MAAM,sBAAsB;AAAA,EACzD,EAAE,MAAM,SAAS,QAAQ,CAAC,GAAG,MAAM,iBAAiB;AAAA,EACpD,EAAE,MAAM,SAAS,QAAQ,CAAC,GAAG,MAAM,sBAAsB;AAAA,EACzD,EAAE,MAAM,SAAS,QAAQ,CAAC,GAAG,MAAM,uBAAuB;AAAA,EAC1D;AAAA,IACE,MAAM;AAAA,IACN,QAAQ;AAAA,MACN,EAAE,MAAM,YAAY,cAAc,SAAS,MAAM,QAAQ;AAAA,MACzD,EAAE,MAAM,UAAU,cAAc,SAAS,MAAM,QAAQ;AAAA,IACzD;AAAA,IACA,MAAM;AAAA,EACR;AAAA,EACA,EAAE,MAAM,SAAS,QAAQ,CAAC,GAAG,MAAM,6BAA6B;AAAA,EAChE,EAAE,MAAM,SAAS,QAAQ,CAAC,GAAG,MAAM,uBAAuB;AAAA,EAC1D,EAAE,MAAM,SAAS,QAAQ,CAAC,GAAG,MAAM,uBAAuB;AAAA,EAC1D,EAAE,MAAM,SAAS,QAAQ,CAAC,GAAG,MAAM,4BAA4B;AAAA,EAC/D,EAAE,MAAM,SAAS,QAAQ,CAAC,GAAG,MAAM,gBAAgB;AAAA,EACnD,EAAE,MAAM,SAAS,QAAQ,CAAC,GAAG,MAAM,mBAAmB;AAAA,EACtD,EAAE,MAAM,SAAS,QAAQ,CAAC,GAAG,MAAM,kCAAkC;AAAA,EACrE,EAAE,MAAM,SAAS,QAAQ,CAAC,GAAG,MAAM,yBAAyB;AAAA,EAC5D,EAAE,MAAM,SAAS,QAAQ,CAAC,GAAG,MAAM,qBAAqB;AAC1D;AAMO,IAAM,sBAAsB;AAAA,EACjC,MAAM;AAAA,EACN,OAAO;AACT;AAMO,IAAM,qBAAqB;AAAA,EAChC,SAAS;AAAA,EACT,KAAK;AACP;AAUO,IAAM,qBAAqB;AAAA,EAChC,EAAE,iBAAiB,WAAW,MAAM,eAAe,QAAQ,CAAC,EAAE;AAAA,EAC9D;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ,CAAC;AAAA,IACT,MAAM;AAAA,IACN,SAAS,CAAC,EAAE,MAAM,IAAI,cAAc,WAAW,MAAM,UAAU,CAAC;AAAA,EAClE;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ,CAAC,EAAE,MAAM,IAAI,cAAc,WAAW,MAAM,UAAU,CAAC;AAAA,IAC/D,MAAM;AAAA,IACN,SAAS,CAAC,EAAE,MAAM,IAAI,cAAc,WAAW,MAAM,UAAU,CAAC;AAAA,EAClE;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ;AAAA,MACN,EAAE,MAAM,MAAM,cAAc,WAAW,MAAM,UAAU;AAAA,MACvD,EAAE,MAAM,UAAU,cAAc,UAAU,MAAM,SAAS;AAAA,MACzD,EAAE,MAAM,WAAW,cAAc,UAAU,MAAM,SAAS;AAAA,IAC5D;AAAA,IACA,MAAM;AAAA,IACN,SAAS,CAAC;AAAA,EACZ;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ;AAAA,MACN,EAAE,MAAM,cAAc,cAAc,aAAa,MAAM,YAAY;AAAA,MACnE,EAAE,MAAM,WAAW,cAAc,aAAa,MAAM,YAAY;AAAA,MAChE,EAAE,MAAM,WAAW,cAAc,YAAY,MAAM,WAAW;AAAA,MAC9D,EAAE,MAAM,WAAW,cAAc,UAAU,MAAM,SAAS;AAAA,IAC5D;AAAA,IACA,MAAM;AAAA,IACN,SAAS,CAAC;AAAA,EACZ;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ;AAAA,MACN,EAAE,MAAM,WAAW,cAAc,WAAW,MAAM,UAAU;AAAA,MAC5D,EAAE,MAAM,iBAAiB,cAAc,WAAW,MAAM,UAAU;AAAA,MAClE,EAAE,MAAM,kBAAkB,cAAc,WAAW,MAAM,UAAU;AAAA,MACnE;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,MACR;AAAA,MACA,EAAE,MAAM,gBAAgB,cAAc,WAAW,MAAM,UAAU;AAAA,MACjE,EAAE,MAAM,sBAAsB,cAAc,WAAW,MAAM,UAAU;AAAA,MACvE,EAAE,MAAM,eAAe,cAAc,WAAW,MAAM,UAAU;AAAA,MAChE,EAAE,MAAM,qBAAqB,cAAc,WAAW,MAAM,UAAU;AAAA,MACtE,EAAE,MAAM,SAAS,cAAc,WAAW,MAAM,UAAU;AAAA,MAC1D,EAAE,MAAM,eAAe,cAAc,WAAW,MAAM,UAAU;AAAA,IAClE;AAAA,IACA,MAAM;AAAA,IACN,SAAS,CAAC;AAAA,EACZ;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ,CAAC;AAAA,IACT,MAAM;AAAA,IACN,SAAS;AAAA,MACP,EAAE,MAAM,UAAU,cAAc,UAAU,MAAM,SAAS;AAAA,MACzD,EAAE,MAAM,QAAQ,cAAc,UAAU,MAAM,SAAS;AAAA,MACvD,EAAE,MAAM,WAAW,cAAc,UAAU,MAAM,SAAS;AAAA,MAC1D,EAAE,MAAM,WAAW,cAAc,WAAW,MAAM,UAAU;AAAA,MAC5D,EAAE,MAAM,qBAAqB,cAAc,WAAW,MAAM,UAAU;AAAA,MACtE,EAAE,MAAM,QAAQ,cAAc,WAAW,MAAM,UAAU;AAAA,MACzD,EAAE,MAAM,cAAc,cAAc,aAAa,MAAM,YAAY;AAAA,IACrE;AAAA,EACF;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ,CAAC,EAAE,MAAM,IAAI,cAAc,WAAW,MAAM,UAAU,CAAC;AAAA,IAC/D,MAAM;AAAA,IACN,SAAS,CAAC,EAAE,MAAM,IAAI,cAAc,WAAW,MAAM,UAAU,CAAC;AAAA,EAClE;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ,CAAC;AAAA,IACT,MAAM;AAAA,IACN,SAAS,CAAC,EAAE,MAAM,IAAI,cAAc,WAAW,MAAM,UAAU,CAAC;AAAA,EAClE;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ;AAAA,MACN,EAAE,MAAM,MAAM,cAAc,WAAW,MAAM,UAAU;AAAA,MACvD,EAAE,MAAM,UAAU,cAAc,WAAW,MAAM,UAAU;AAAA,IAC7D;AAAA,IACA,MAAM;AAAA,IACN,SAAS,CAAC;AAAA,EACZ;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ;AAAA,MACN,EAAE,MAAM,MAAM,cAAc,WAAW,MAAM,UAAU;AAAA,MACvD,EAAE,MAAM,UAAU,cAAc,WAAW,MAAM,UAAU;AAAA,IAC7D;AAAA,IACA,MAAM;AAAA,IACN,SAAS,CAAC;AAAA,EACZ;AAAA,EACA;AAAA,IACE,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,QAAQ;AAAA,MACN,EAAE,MAAM,QAAQ,cAAc,WAAW,MAAM,UAAU;AAAA,MACzD,EAAE,MAAM,MAAM,cAAc,WAAW,MAAM,UAAU;AAAA,MACvD,EAAE,MAAM,UAAU,cAAc,WAAW,MAAM,UAAU;AAAA,MAC3D,EAAE,MAAM,YAAY,cAAc,WAAW,MAAM,UAAU;AAAA,MAC7D,EAAE,MAAM,KAAK,cAAc,SAAS,MAAM,QAAQ;AAAA,MAClD,EAAE,MAAM,KAAK,cAAc,WAAW,MAAM,UAAU;AAAA,MACtD,EAAE,MAAM,KAAK,cAAc,WAAW,MAAM,UAAU;AAAA,IACxD;AAAA,IACA,MAAM;AAAA,IACN,SAAS,CAAC;AAAA,EACZ;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,WAAW;AAAA,IACX,QAAQ;AAAA,MACN,EAAE,MAAM,QAAQ,cAAc,WAAW,MAAM,WAAW,SAAS,KAAK;AAAA,MACxE,EAAE,MAAM,MAAM,cAAc,WAAW,MAAM,WAAW,SAAS,KAAK;AAAA,MACtE,EAAE,MAAM,UAAU,cAAc,UAAU,MAAM,UAAU,SAAS,KAAK;AAAA,MACxE;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,IACF;AAAA,IACA,MAAM;AAAA,EACR;AAAA,EACA,EAAE,MAAM,SAAS,WAAW,OAAO,QAAQ,CAAC,GAAG,MAAM,sBAAsB;AAAA,EAC3E;AAAA,IACE,MAAM;AAAA,IACN,WAAW;AAAA,IACX,QAAQ;AAAA,MACN;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,IACF;AAAA,IACA,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,WAAW;AAAA,IACX,QAAQ;AAAA,MACN,EAAE,MAAM,QAAQ,cAAc,WAAW,MAAM,WAAW,SAAS,KAAK;AAAA,MACxE,EAAE,MAAM,MAAM,cAAc,WAAW,MAAM,WAAW,SAAS,KAAK;AAAA,MACtE;AAAA,QACE,MAAM;AAAA,QACN,cAAc;AAAA,QACd,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,IACF;AAAA,IACA,MAAM;AAAA,EACR;AAAA,EACA,EAAE,MAAM,SAAS,QAAQ,CAAC,GAAG,MAAM,eAAe;AAAA,EAClD,EAAE,MAAM,SAAS,QAAQ,CAAC,GAAG,MAAM,wBAAwB;AAAA,EAC3D,EAAE,MAAM,SAAS,QAAQ,CAAC,GAAG,MAAM,kBAAkB;AAAA,EACrD,EAAE,MAAM,SAAS,QAAQ,CAAC,GAAG,MAAM,oBAAoB;AAAA,EACvD,EAAE,MAAM,SAAS,QAAQ,CAAC,GAAG,MAAM,mBAAmB;AAAA,EACtD,EAAE,MAAM,SAAS,QAAQ,CAAC,GAAG,MAAM,qBAAqB;AAAA,EACxD,EAAE,MAAM,SAAS,QAAQ,CAAC,GAAG,MAAM,6BAA6B;AAAA,EAChE;AAAA,IACE,MAAM;AAAA,IACN,QAAQ,CAAC,EAAE,MAAM,OAAO,cAAc,UAAU,MAAM,SAAS,CAAC;AAAA,IAChE,MAAM;AAAA,EACR;AAAA,EACA,EAAE,MAAM,SAAS,QAAQ,CAAC,GAAG,MAAM,kBAAkB;AACvD;AAMO,IAAM,yBAAyB;AAAA,EACpC,MAAM;AAAA,EACN,OAAO;AACT;AAMO,IAAM,wBAAwB;AAAA,EACnC,SAAS;AAAA,EACT,KAAK;AACP;;;ACpqHO,IAAM,eAAe;AAAA,EACxB,CAAC,IAAI,GAAG;AAAA,IACJ,SAAS;AAAA,MACf,gBAAgB;AAAA,MAChB,0BAA0B;AAAA,MAC1B,+BAA+B;AAAA,MAC/B,oBAAoB;AAAA,MACpB,wBAAwB;AAAA,MACxB,uBAAuB;AAAA,MACvB,qBAAqB;AAAA,MACrB,iBAAiB;AAAA,MACjB,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,8BAA8B;AAAA,MAC9B,gCAAgC;AAAA,MAChC,4BAA4B;AAAA,MAC5B,UAAU;AAAA,MACV,YAAY;AAAA,MACZ,iBAAiB;AAAA,MACjB,6BAA6B;AAAA,MAC7B,2CAA2C;AAAA,MAC3C,aAAa;AAAA,MACb,kBAAkB;AAAA,MAClB,qBAAqB;AAAA,MACrB,QAAQ;AAAA,MACR,eAAe;AAAA,MACf,0BAA0B;AAAA,MAC1B,oBAAoB;AAAA,MACpB,mBAAmB;AAAA,MACnB,uBAAuB;AAAA,MACvB,WAAW;AAAA,MACX,oBAAoB;AAAA,MACpB,aAAa;AAAA,MACb,mBAAmB;AAAA,MACnB,uBAAuB;AAAA,MACvB,wBAAwB;AAAA,QACtB,OAAO;AAAA,UACL,MAAM;AAAA,UACN,oBAAoB;AAAA,UACpB,UAAU;AAAA,UACV,YAAY;AAAA,UACZ,WAAW;AAAA,UACX,gBAAgB;AAAA,UAChB,0BAA0B;AAAA,UAC1B,+BAA+B;AAAA,UAC/B,oBAAoB;AAAA,UACpB,uBAAuB;AAAA,UACvB,qBAAqB;AAAA,UACrB,iBAAiB;AAAA,UACjB,kBAAkB;AAAA,UAClB,kBAAkB;AAAA,UAClB,8BAA8B;AAAA,UAC9B,gCAAgC;AAAA,UAChC,4BAA4B;AAAA,UAC5B,aAAa;AAAA,UACb,uBAAuB;AAAA,QACzB;AAAA,QACA,QAAQ;AAAA,UACN,MAAM;AAAA,UACN,oBAAoB;AAAA,UACpB,UAAU;AAAA,UACV,YAAY;AAAA,UACZ,WAAW;AAAA,UACX,gBAAgB;AAAA,UAChB,0BAA0B;AAAA,UAC1B,+BAA+B;AAAA,UAC/B,oBAAoB;AAAA,UACpB,uBAAuB;AAAA,UACvB,qBAAqB;AAAA,UACrB,iBAAiB;AAAA,UACjB,kBAAkB;AAAA,UAClB,kBAAkB;AAAA,UAClB,8BAA8B;AAAA,UAC9B,iCAAiC;AAAA,UACjC,4BAA4B;AAAA,UAC5B,aAAa;AAAA,UACb,uBAAuB;AAAA,QACzB;AAAA,QACA,OAAO;AAAA,UACL,MAAM;AAAA,UACN,oBAAoB;AAAA,UACpB,UAAU;AAAA,UACV,YAAY;AAAA,UACZ,WAAW;AAAA,UACX,gBAAgB;AAAA,UAChB,0BAA0B;AAAA,UAC1B,+BAA+B;AAAA,UAC/B,oBAAoB;AAAA,UACpB,uBAAuB;AAAA,UACvB,qBAAqB;AAAA,UACrB,iBAAiB;AAAA,UACjB,kBAAkB;AAAA,UAClB,kBAAkB;AAAA,UAClB,8BAA8B;AAAA,UAC9B,4BAA4B;AAAA,UAC5B,aAAa;AAAA,UACb,uBAAuB;AAAA,QACzB;AAAA,MACF;AAAA,IACF;AAAA,IACQ,UAAU;AAAA,MAChB,gBAAgB;AAAA,MAChB,0BAA0B;AAAA,MAC1B,+BAA+B;AAAA,MAC/B,oBAAoB;AAAA,MACpB,wBAAwB;AAAA,MACxB,uBAAuB;AAAA,MACvB,qBAAqB;AAAA,MACrB,iBAAiB;AAAA,MACjB,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,8BAA8B;AAAA,MAC9B,gCAAgC;AAAA,MAChC,UAAU;AAAA,MACV,YAAY;AAAA,MACZ,iBAAiB;AAAA,MACjB,6BAA6B;AAAA,MAC7B,2CAA2C;AAAA,MAC3C,aAAa;AAAA,MACb,kBAAkB;AAAA,MAClB,qBAAqB;AAAA,MACrB,QAAQ;AAAA,MACR,eAAe;AAAA,MACf,0BAA0B;AAAA,MAC1B,oBAAoB;AAAA,IACtB;AAAA,IAAG,SAAS;AAAA,MACV,gBAAgB;AAAA,MAChB,0BAA0B;AAAA,MAC1B,+BAA+B;AAAA,MAC/B,oBAAoB;AAAA,MACpB,wBAAwB;AAAA,MACxB,uBAAuB;AAAA,MACvB,qBAAqB;AAAA,MACrB,iBAAiB;AAAA,MACjB,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,8BAA8B;AAAA,MAC9B,gCAAgC;AAAA,MAChC,4BAA4B;AAAA,MAC5B,UAAU;AAAA,MACV,YAAY;AAAA,MACZ,iBAAiB;AAAA,MACjB,6BAA6B;AAAA,MAC7B,2CAA2C;AAAA,MAC3C,aAAa;AAAA,MACb,kBAAkB;AAAA,MAClB,qBAAqB;AAAA,MACrB,QAAQ;AAAA,MACR,eAAe;AAAA,MACf,0BAA0B;AAAA,MAC1B,oBAAoB;AAAA,MACpB,mBAAmB;AAAA,MACnB,uBAAuB;AAAA,MACvB,WAAW;AAAA,MACX,oBAAoB;AAAA,MACpB,aAAa;AAAA,MACb,mBAAmB;AAAA,MACnB,uBAAuB;AAAA,IACzB;AAAA,IAAG,SAAS;AAAA,MACV,gBAAgB;AAAA,MAChB,0BAA0B;AAAA,MAC1B,+BAA+B;AAAA,MAC/B,oBAAoB;AAAA,MACpB,wBAAwB;AAAA,MACxB,uBAAuB;AAAA,MACvB,qBAAqB;AAAA,MACrB,iBAAiB;AAAA,MACjB,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,8BAA8B;AAAA,MAC9B,gCAAgC;AAAA,MAChC,4BAA4B;AAAA,MAC5B,UAAU;AAAA,MACV,YAAY;AAAA,MACZ,iBAAiB;AAAA,MACjB,6BAA6B;AAAA,MAC7B,2CAA2C;AAAA,MAC3C,aAAa;AAAA,MACb,kBAAkB;AAAA,MAClB,qBAAqB;AAAA,MACrB,QAAQ;AAAA,MACR,eAAe;AAAA,MACf,0BAA0B;AAAA,MAC1B,oBAAoB;AAAA,MACpB,mBAAmB;AAAA,MACnB,uBAAuB;AAAA,MACvB,WAAW;AAAA,MACX,oBAAoB;AAAA,MACpB,aAAa;AAAA,MACb,mBAAmB;AAAA,MACnB,uBAAuB;AAAA,MACvB,wBAAwB;AAAA,QACtB,OAAO;AAAA,UACL,MAAM;AAAA,UACN,oBAAoB;AAAA,UACpB,UAAU;AAAA,UACV,YAAY;AAAA,UACZ,WAAW;AAAA,UACX,gBAAgB;AAAA,UAChB,0BAA0B;AAAA,UAC1B,+BAA+B;AAAA,UAC/B,oBAAoB;AAAA,UACpB,uBAAuB;AAAA,UACvB,qBAAqB;AAAA,UACrB,iBAAiB;AAAA,UACjB,kBAAkB;AAAA,UAClB,kBAAkB;AAAA,UAClB,8BAA8B;AAAA,UAC9B,gCAAgC;AAAA,UAChC,4BAA4B;AAAA,UAC5B,aAAa;AAAA,UACb,uBAAuB;AAAA,QACzB;AAAA,QACA,QAAQ;AAAA,UACN,MAAM;AAAA,UACN,oBAAoB;AAAA,UACpB,UAAU;AAAA,UACV,YAAY;AAAA,UACZ,WAAW;AAAA,UACX,gBAAgB;AAAA,UAChB,0BAA0B;AAAA,UAC1B,+BAA+B;AAAA,UAC/B,oBAAoB;AAAA,UACpB,uBAAuB;AAAA,UACvB,qBAAqB;AAAA,UACrB,iBAAiB;AAAA,UACjB,kBAAkB;AAAA,UAClB,kBAAkB;AAAA,UAClB,8BAA8B;AAAA,UAC9B,iCAAiC;AAAA,UACjC,4BAA4B;AAAA,UAC5B,aAAa;AAAA,UACb,uBAAuB;AAAA,QACzB;AAAA,QACA,OAAO;AAAA,UACL,MAAM;AAAA,UACN,oBAAoB;AAAA,UACpB,UAAU;AAAA,UACV,YAAY;AAAA,UACZ,WAAW;AAAA,UACX,gBAAgB;AAAA,UAChB,0BAA0B;AAAA,UAC1B,+BAA+B;AAAA,UAC/B,oBAAoB;AAAA,UACpB,uBAAuB;AAAA,UACvB,qBAAqB;AAAA,UACrB,iBAAiB;AAAA,UACjB,kBAAkB;AAAA,UAClB,kBAAkB;AAAA,UAClB,8BAA8B;AAAA,UAC9B,4BAA4B;AAAA,UAC5B,aAAa;AAAA,UACb,uBAAuB;AAAA,QACzB;AAAA,MACF;AAAA,IACF;AAAA,EACM;AAAA,EAAG,CAAC,KAAK,GAAG;AAAA,IACV,SAAS;AAAA,MACf,gBAAgB;AAAA,MAChB,0BAA0B;AAAA,MAC1B,+BAA+B;AAAA,MAC/B,oBAAoB;AAAA,MACpB,wBAAwB;AAAA,MACxB,uBAAuB;AAAA,MACvB,qBAAqB;AAAA,MACrB,iBAAiB;AAAA,MACjB,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,8BAA8B;AAAA,MAC9B,gCAAgC;AAAA,MAChC,4BAA4B;AAAA,MAC5B,UAAU;AAAA,MACV,YAAY;AAAA,MACZ,iBAAiB;AAAA,MACjB,6BAA6B;AAAA,MAC7B,2CAA2C;AAAA,MAC3C,aAAa;AAAA,MACb,kBAAkB;AAAA,MAClB,qBAAqB;AAAA,MACrB,QAAQ;AAAA,MACR,eAAe;AAAA,MACf,0BAA0B;AAAA,MAC1B,oBAAoB;AAAA,MACpB,mBAAmB;AAAA,MACnB,uBAAuB;AAAA,MACvB,aAAa;AAAA,MACb,WAAW;AAAA,MACX,oBAAoB;AAAA,MACpB,aAAa;AAAA,MACb,uBAAuB;AAAA,MACvB,wBAAwB;AAAA,QACtB,OAAO;AAAA,UACL,MAAM;AAAA,UACN,oBAAoB;AAAA,UACpB,UAAU;AAAA,UACV,YAAY;AAAA,UACZ,WAAW;AAAA,UACX,gBAAgB;AAAA,UAChB,0BAA0B;AAAA,UAC1B,+BAA+B;AAAA,UAC/B,oBAAoB;AAAA,UACpB,uBAAuB;AAAA,UACvB,qBAAqB;AAAA,UACrB,iBAAiB;AAAA,UACjB,kBAAkB;AAAA,UAClB,kBAAkB;AAAA,UAClB,8BAA8B;AAAA,UAC9B,gCAAgC;AAAA,UAChC,4BAA4B;AAAA,UAC5B,aAAa;AAAA,UACb,uBAAuB;AAAA,QACzB;AAAA,QACA,QAAQ;AAAA,UACN,MAAM;AAAA,UACN,oBAAoB;AAAA,UACpB,UAAU;AAAA,UACV,YAAY;AAAA,UACZ,WAAW;AAAA,UACX,gBAAgB;AAAA,UAChB,0BAA0B;AAAA,UAC1B,+BAA+B;AAAA,UAC/B,oBAAoB;AAAA,UACpB,uBAAuB;AAAA,UACvB,qBAAqB;AAAA,UACrB,iBAAiB;AAAA,UACjB,kBAAkB;AAAA,UAClB,kBAAkB;AAAA,UAClB,8BAA8B;AAAA,UAC9B,iCAAiC;AAAA,UACjC,4BAA4B;AAAA,UAC5B,aAAa;AAAA,UACb,uBAAuB;AAAA,QACzB;AAAA,QACA,OAAO;AAAA,UACL,MAAM;AAAA,UACN,oBAAoB;AAAA,UACpB,UAAU;AAAA,UACV,YAAY;AAAA,UACZ,WAAW;AAAA,UACX,gBAAgB;AAAA,UAChB,0BAA0B;AAAA,UAC1B,+BAA+B;AAAA,UAC/B,oBAAoB;AAAA,UACpB,uBAAuB;AAAA,UACvB,qBAAqB;AAAA,UACrB,iBAAiB;AAAA,UACjB,kBAAkB;AAAA,UAClB,kBAAkB;AAAA,UAClB,8BAA8B;AAAA,UAC9B,4BAA4B;AAAA,UAC5B,aAAa;AAAA,UACb,uBAAuB;AAAA,QACzB;AAAA,QACA,SAAS;AAAA,UACP,MAAM;AAAA,UACN,oBAAoB;AAAA,UACpB,UAAU;AAAA,UACV,YAAY;AAAA,UACZ,WAAW;AAAA,UACX,gBAAgB;AAAA,UAChB,0BAA0B;AAAA,UAC1B,+BAA+B;AAAA,UAC/B,oBAAoB;AAAA,UACpB,uBAAuB;AAAA,UACvB,qBAAqB;AAAA,UACrB,iBAAiB;AAAA,UACjB,kBAAkB;AAAA,UAClB,kBAAkB;AAAA,UAClB,8BAA8B;AAAA,UAC9B,iCAAiC;AAAA,UACjC,4BAA4B;AAAA,UAC5B,aAAa;AAAA,UACb,uBAAuB;AAAA,QACzB;AAAA,QACA,QAAQ;AAAA,UACN,MAAM;AAAA,UACN,oBAAoB;AAAA,UACpB,UAAU;AAAA,UACV,YAAY;AAAA,UACZ,WAAW;AAAA,UACX,gBAAgB;AAAA,UAChB,0BAA0B;AAAA,UAC1B,+BAA+B;AAAA,UAC/B,oBAAoB;AAAA,UACpB,uBAAuB;AAAA,UACvB,qBAAqB;AAAA,UACrB,iBAAiB;AAAA,UACjB,kBAAkB;AAAA,UAClB,kBAAkB;AAAA,UAClB,8BAA8B;AAAA,UAC9B,4BAA4B;AAAA,UAC5B,aAAa;AAAA,UACb,uBAAuB;AAAA,QACzB;AAAA,MACF;AAAA,IACF;AAAA,IACQ,UAAU;AAAA,MAChB,gBAAgB;AAAA,MAChB,0BAA0B;AAAA,MAC1B,+BAA+B;AAAA,MAC/B,oBAAoB;AAAA,MACpB,wBAAwB;AAAA,MACxB,uBAAuB;AAAA,MACvB,qBAAqB;AAAA,MACrB,iBAAiB;AAAA,MACjB,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,8BAA8B;AAAA,MAC9B,gCAAgC;AAAA,MAChC,UAAU;AAAA,MACV,YAAY;AAAA,MACZ,iBAAiB;AAAA,MACjB,6BAA6B;AAAA,MAC7B,2CAA2C;AAAA,MAC3C,aAAa;AAAA,MACb,kBAAkB;AAAA,MAClB,qBAAqB;AAAA,MACrB,QAAQ;AAAA,MACR,eAAe;AAAA,MACf,0BAA0B;AAAA,MAC1B,oBAAoB;AAAA,IACtB;AAAA,IAAG,SAAS;AAAA,MACV,gBAAgB;AAAA,MAChB,0BAA0B;AAAA,MAC1B,+BAA+B;AAAA,MAC/B,oBAAoB;AAAA,MACpB,wBAAwB;AAAA,MACxB,uBAAuB;AAAA,MACvB,qBAAqB;AAAA,MACrB,iBAAiB;AAAA,MACjB,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,8BAA8B;AAAA,MAC9B,gCAAgC;AAAA,MAChC,UAAU;AAAA,MACV,YAAY;AAAA,MACZ,iBAAiB;AAAA,MACjB,6BAA6B;AAAA,MAC7B,2CAA2C;AAAA,MAC3C,aAAa;AAAA,MACb,kBAAkB;AAAA,MAClB,qBAAqB;AAAA,MACrB,QAAQ;AAAA,MACR,eAAe;AAAA,MACf,0BAA0B;AAAA,MAC1B,oBAAoB;AAAA,MACpB,mBAAmB;AAAA,MACnB,uBAAuB;AAAA,MACvB,aAAa;AAAA,MACb,WAAW;AAAA,MACX,oBAAoB;AAAA,MACpB,aAAa;AAAA,MACb,uBAAuB;AAAA,IACzB;AAAA,IAAG,SAAS;AAAA,MACV,gBAAgB;AAAA,MAChB,0BAA0B;AAAA,MAC1B,+BAA+B;AAAA,MAC/B,oBAAoB;AAAA,MACpB,wBAAwB;AAAA,MACxB,uBAAuB;AAAA,MACvB,qBAAqB;AAAA,MACrB,iBAAiB;AAAA,MACjB,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,8BAA8B;AAAA,MAC9B,gCAAgC;AAAA,MAChC,4BAA4B;AAAA,MAC5B,UAAU;AAAA,MACV,YAAY;AAAA,MACZ,iBAAiB;AAAA,MACjB,6BAA6B;AAAA,MAC7B,2CAA2C;AAAA,MAC3C,aAAa;AAAA,MACb,kBAAkB;AAAA,MAClB,qBAAqB;AAAA,MACrB,QAAQ;AAAA,MACR,eAAe;AAAA,MACf,0BAA0B;AAAA,MAC1B,oBAAoB;AAAA,MACpB,mBAAmB;AAAA,MACnB,uBAAuB;AAAA,MACvB,aAAa;AAAA,MACb,WAAW;AAAA,MACX,oBAAoB;AAAA,MACpB,aAAa;AAAA,MACb,uBAAuB;AAAA,MACvB,wBAAwB;AAAA,QACtB,OAAO;AAAA,UACL,MAAM;AAAA,UACN,oBAAoB;AAAA,UACpB,UAAU;AAAA,UACV,YAAY;AAAA,UACZ,WAAW;AAAA,UACX,gBAAgB;AAAA,UAChB,0BAA0B;AAAA,UAC1B,+BAA+B;AAAA,UAC/B,oBAAoB;AAAA,UACpB,uBAAuB;AAAA,UACvB,qBAAqB;AAAA,UACrB,iBAAiB;AAAA,UACjB,kBAAkB;AAAA,UAClB,kBAAkB;AAAA,UAClB,8BAA8B;AAAA,UAC9B,gCAAgC;AAAA,UAChC,4BAA4B;AAAA,UAC5B,aAAa;AAAA,UACb,uBAAuB;AAAA,QACzB;AAAA,QACA,QAAQ;AAAA,UACN,MAAM;AAAA,UACN,oBAAoB;AAAA,UACpB,UAAU;AAAA,UACV,YAAY;AAAA,UACZ,WAAW;AAAA,UACX,gBAAgB;AAAA,UAChB,0BAA0B;AAAA,UAC1B,+BAA+B;AAAA,UAC/B,oBAAoB;AAAA,UACpB,uBAAuB;AAAA,UACvB,qBAAqB;AAAA,UACrB,iBAAiB;AAAA,UACjB,kBAAkB;AAAA,UAClB,kBAAkB;AAAA,UAClB,8BAA8B;AAAA,UAC9B,iCAAiC;AAAA,UACjC,4BAA4B;AAAA,UAC5B,aAAa;AAAA,UACb,uBAAuB;AAAA,QACzB;AAAA,QACA,OAAO;AAAA,UACL,MAAM;AAAA,UACN,oBAAoB;AAAA,UACpB,UAAU;AAAA,UACV,YAAY;AAAA,UACZ,WAAW;AAAA,UACX,gBAAgB;AAAA,UAChB,0BAA0B;AAAA,UAC1B,+BAA+B;AAAA,UAC/B,oBAAoB;AAAA,UACpB,uBAAuB;AAAA,UACvB,qBAAqB;AAAA,UACrB,iBAAiB;AAAA,UACjB,kBAAkB;AAAA,UAClB,kBAAkB;AAAA,UAClB,8BAA8B;AAAA,UAC9B,4BAA4B;AAAA,UAC5B,aAAa;AAAA,UACb,uBAAuB;AAAA,QACzB;AAAA,QACA,SAAS;AAAA,UACP,MAAM;AAAA,UACN,oBAAoB;AAAA,UACpB,UAAU;AAAA,UACV,YAAY;AAAA,UACZ,WAAW;AAAA,UACX,gBAAgB;AAAA,UAChB,0BAA0B;AAAA,UAC1B,+BAA+B;AAAA,UAC/B,oBAAoB;AAAA,UACpB,uBAAuB;AAAA,UACvB,qBAAqB;AAAA,UACrB,iBAAiB;AAAA,UACjB,kBAAkB;AAAA,UAClB,kBAAkB;AAAA,UAClB,8BAA8B;AAAA,UAC9B,iCAAiC;AAAA,UACjC,4BAA4B;AAAA,UAC5B,aAAa;AAAA,UACb,uBAAuB;AAAA,QACzB;AAAA,QACA,QAAQ;AAAA,UACN,MAAM;AAAA,UACN,oBAAoB;AAAA,UACpB,UAAU;AAAA,UACV,YAAY;AAAA,UACZ,WAAW;AAAA,UACX,gBAAgB;AAAA,UAChB,0BAA0B;AAAA,UAC1B,+BAA+B;AAAA,UAC/B,oBAAoB;AAAA,UACpB,uBAAuB;AAAA,UACvB,qBAAqB;AAAA,UACrB,iBAAiB;AAAA,UACjB,kBAAkB;AAAA,UAClB,kBAAkB;AAAA,UAClB,8BAA8B;AAAA,UAC9B,4BAA4B;AAAA,UAC5B,aAAa;AAAA,UACb,uBAAuB;AAAA,QACzB;AAAA,MACF;AAAA,IACF;AAAA,EACM;AACJ;","names":[]}
|