// SPDX-License-Identifier: MIT
pragma solidity 0.8.28;
import {PumpBase} from "./PumpBase.sol";
/**
* @title Pump
* @notice A Uniswap V4 launchpad quoted in native ETH, with no hook.
*
* Every launch mints a fixed 1,000,000,000 supply and splits it by a ratio
* chosen at that launch: up to 50% straight to a reserve wallet, the rest placed
* as single-sided liquidity this pad holds forever — there is no withdraw path
* anywhere in it. The pool charges the trade fee itself, between 1% and 5% and
* fixed when the pad is deployed; it builds up inside the locked position and
* `collectFees` sweeps it to the wallet each launch named.
*
* Launching is the pad owner's, so one pad can rehearse with a throwaway token
* before the real one.
*
* This is the file whose name the deploy wizard rewrites, so it stays a thin
* shell over PumpBase: everything worth auditing is in the base,
* identical for every pad, and only the name on the explorer changes.
*/
contract Pump is PumpBase {
constructor(address poolManager_, uint24 poolFee_) PumpBase(poolManager_, poolFee_) {}
}[
{
"type": "constructor",
"inputs": [
{
"name": "poolManager_",
"type": "address",
"internalType": "address"
},
{
"name": "poolFee_",
"type": "uint24",
"internalType": "uint24"
}
],
"stateMutability": "nonpayable"
},
{
"name": "NotPoolManager",
"type": "error",
"inputs": []
},
{
"name": "OwnableInvalidOwner",
"type": "error",
"inputs": [
{
"name": "owner",
"type": "address",
"internalType": "address"
}
]
},
{
"name": "OwnableUnauthorizedAccount",
"type": "error",
"inputs": [
{
"name": "account",
"type": "address",
"internalType": "address"
}
]
},
{
"name": "ReentrancyGuardReentrantCall",
"type": "error",
"inputs": []
},
{
"name": "UnknownCoin",
"type": "error",
"inputs": []
},
{
"name": "CoinCreated",
"type": "event",
"inputs": [
{
"name": "token",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "creator",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "poolId",
"type": "bytes32",
"indexed": true,
"internalType": "PoolId"
},
{
"name": "name",
"type": "string",
"indexed": false,
"internalType": "string"
},
{
"name": "symbol",
"type": "string",
"indexed": false,
"internalType": "string"
}
],
"anonymous": false
},
{
"name": "DustSwept",
"type": "event",
"inputs": [
{
"name": "to",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "amount",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
}
],
"anonymous": false
},
{
"name": "Launched",
"type": "event",
"inputs": [
{
"name": "token",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "reserve",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "feeRecipient",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "poolAmount",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
},
{
"name": "reserveAmount",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
},
{
"name": "reserveBps",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
},
{
"name": "poolFee",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
},
{
"name": "startMcWei",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
},
{
"name": "index",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
}
],
"anonymous": false
},
{
"name": "OwnershipTransferred",
"type": "event",
"inputs": [
{
"name": "previousOwner",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "newOwner",
"type": "address",
"indexed": true,
"internalType": "address"
}
],
"anonymous": false
},
{
"name": "PoolFeesCollected",
"type": "event",
"inputs": [
{
"name": "token",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "quoteAmount",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
},
{
"name": "tokenAmount",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
}
],
"anonymous": false
},
{
"name": "PoolSeeded",
"type": "event",
"inputs": [
{
"name": "token",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "tokenAmount",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
},
{
"name": "tickLower",
"type": "int24",
"indexed": false,
"internalType": "int24"
},
{
"name": "tickUpper",
"type": "int24",
"indexed": false,
"internalType": "int24"
}
],
"anonymous": false
},
{
"name": "BAND",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "int24",
"internalType": "int24"
}
],
"stateMutability": "view"
},
{
"name": "MAX_POOL_FEE",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint24",
"internalType": "uint24"
}
],
"stateMutability": "view"
},
{
"name": "MAX_RESERVE_BPS",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"name": "MIN_POOL_FEE",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint24",
"internalType": "uint24"
}
],
"stateMutability": "view"
},
{
"name": "POOL_FEE",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint24",
"internalType": "uint24"
}
],
"stateMutability": "view"
},
{
"name": "STACK_ID",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "string",
"internalType": "string"
}
],
"stateMutability": "view"
},
{
"name": "TICK_SPACING",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "int24",
"internalType": "int24"
}
],
"stateMutability": "view"
},
{
"name": "allCoins",
"type": "function",
"inputs": [
{
"name": "index",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "address"
}
],
"stateMutability": "view"
},
{
"name": "allTokens",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address[]",
"internalType": "address[]"
}
],
"stateMutability": "view"
},
{
"name": "coinCount",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"name": "coins",
"type": "function",
"inputs": [
{
"name": "token",
"type": "address",
"internalType": "address"
}
],
"outputs": [
{
"name": "",
"type": "tuple",
"components": [
{
"name": "creator",
"type": "address",
"internalType": "address"
},
{
"name": "quote",
"type": "address",
"internalType": "address"
},
{
"name": "poolId",
"type": "bytes32",
"internalType": "PoolId"
},
{
"name": "marketTokens",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "vesting",
"type": "address",
"internalType": "address"
}
],
"internalType": "struct PumpBase.Coin"
}
],
"stateMutability": "view"
},
{
"name": "collectFees",
"type": "function",
"inputs": [
{
"name": "token",
"type": "address",
"internalType": "address"
}
],
"outputs": [
{
"name": "quoteAmount",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "tokenAmount",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "nonpayable"
},
{
"name": "feeWalletOf",
"type": "function",
"inputs": [
{
"name": "token",
"type": "address",
"internalType": "address"
}
],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "address"
}
],
"stateMutability": "view"
},
{
"name": "lastToken",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "address"
}
],
"stateMutability": "view"
},
{
"name": "launch",
"type": "function",
"inputs": [
{
"name": "name",
"type": "string",
"internalType": "string"
},
{
"name": "symbol",
"type": "string",
"internalType": "string"
},
{
"name": "imageURI",
"type": "string",
"internalType": "string"
},
{
"name": "bio",
"type": "string",
"internalType": "string"
},
{
"name": "socialX",
"type": "string",
"internalType": "string"
},
{
"name": "socialWebsite",
"type": "string",
"internalType": "string"
},
{
"name": "_reserve",
"type": "address",
"internalType": "address"
},
{
"name": "reserveBps",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "_feeRecipient",
"type": "address",
"internalType": "address"
},
{
"name": "startMcWei",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [
{
"name": "tokenAddress",
"type": "address",
"internalType": "address"
}
],
"stateMutability": "nonpayable"
},
{
"name": "launchCount",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"name": "launchOf",
"type": "function",
"inputs": [
{
"name": "",
"type": "address",
"internalType": "address"
}
],
"outputs": [
{
"name": "token",
"type": "address",
"internalType": "address"
},
{
"name": "reserve",
"type": "address",
"internalType": "address"
},
{
"name": "reserveBps",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "feeRecipient",
"type": "address",
"internalType": "address"
},
{
"name": "poolFee",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "startMcWei",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "launchedAt",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"name": "lpIsLocked",
"type": "function",
"inputs": [
{
"name": "token",
"type": "address",
"internalType": "address"
}
],
"outputs": [
{
"name": "",
"type": "bool",
"internalType": "bool"
}
],
"stateMutability": "view"
},
{
"name": "owner",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "address"
}
],
"stateMutability": "view"
},
{
"name": "pendingCreatorFees",
"type": "function",
"inputs": [
{
"name": "",
"type": "address",
"internalType": "address"
}
],
"outputs": [
{
"name": "quoteAmount",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "tokenAmount",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "pure"
},
{
"name": "poolKeyOf",
"type": "function",
"inputs": [
{
"name": "token",
"type": "address",
"internalType": "address"
}
],
"outputs": [
{
"name": "currency0",
"type": "address",
"internalType": "address"
},
{
"name": "currency1",
"type": "address",
"internalType": "address"
},
{
"name": "fee",
"type": "uint24",
"internalType": "uint24"
},
{
"name": "tickSpacing",
"type": "int24",
"internalType": "int24"
},
{
"name": "hooks",
"type": "address",
"internalType": "address"
}
],
"stateMutability": "view"
},
{
"name": "poolManager",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "contract IPoolManager"
}
],
"stateMutability": "view"
},
{
"name": "renounceOwnership",
"type": "function",
"inputs": [],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "startTickOf",
"type": "function",
"inputs": [
{
"name": "token",
"type": "address",
"internalType": "address"
}
],
"outputs": [
{
"name": "",
"type": "int24",
"internalType": "int24"
}
],
"stateMutability": "view"
},
{
"name": "tokens",
"type": "function",
"inputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "address"
}
],
"stateMutability": "view"
},
{
"name": "transferOwnership",
"type": "function",
"inputs": [
{
"name": "newOwner",
"type": "address",
"internalType": "address"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "unlockCallback",
"type": "function",
"inputs": [
{
"name": "data",
"type": "bytes",
"internalType": "bytes"
}
],
"outputs": [
{
"name": "",
"type": "bytes",
"internalType": "bytes"
}
],
"stateMutability": "nonpayable"
},
{
"type": "receive",
"stateMutability": "payable"
}
]0x60c0346101a657601f61413438819003918201601f19168301916001600160401b038311848410176101aa5780849260409485528339810103126101a65780516001600160a01b03811691908290036101a657602001519062ffffff82168083036101a6573315610193575f8054336001600160a01b03198216811783556040519290916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09080a360018055821561016557506127108110159081610158575b50156101205760805260a052604051613f7590816101bf823960805181818161024a015281816106cf01528181610d4601526114d1015260a0518181816102110152818161058501528181610f960152611b7f0152f35b60405162461bcd60e51b815260206004820152601060248201526f666565206f7574206f662072616e676560801b6044820152606490fd5b61c350915011155f6100c9565b62461bcd60e51b81526020600482015260096024820152683d32b9379030b2323960b91b6044820152606490fd5b631e4fbdf760e01b5f525f60045260245ffd5b5f80fd5b634e487b7160e01b5f52604160045260245ffdfe608080604052600436101561001c575b50361561001a575f80fd5b005b5f3560e01c908163029282d7146112a75750806310988fb91461128a57806313560cac1461126c5780631a9f2cf81461122957806327cca59f1461119b5780632f796f50146111fd57806346ca626b146111e25780634f64b2be146111a0578063678fd2891461119b5780636ff97f1d146110d3578063715018a61461107c5780637d0f7a8814610fca5780638652edf914610f435780638da5cb5b14610f1c57806391dd734614610ecc5780639da2d25a14610e42578063a1ad17ab14610e00578063a480ca7914610c76578063a6acaacc14610c5a578063b29b86af14610c03578063b934030b146102be578063c598b2f914610295578063d8f3e26d14610279578063dc4c90d314610235578063dd1b9c4a146101f6578063ed9f4ba2146101da5763f2fde38b14610151575f61000f565b346101d65760203660031901126101d65761016a611335565b610172611a88565b6001600160a01b031680156101c3575f80546001600160a01b03198116831782556001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09080a3005b631e4fbdf760e01b5f525f60045260245ffd5b5f80fd5b346101d6575f3660031901126101d657602060405161c3508152f35b346101d6575f3660031901126101d657602060405162ffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b346101d6575f3660031901126101d6576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101d6575f3660031901126101d65760206040516113888152f35b346101d65760203660031901126101d6576102ae611335565b50604080515f81525f6020820152f35b346101d6576101403660031901126101d6576004356001600160401b0381116101d6576102ef9036906004016113a8565b906024356001600160401b0381116101d65761030f9036906004016113a8565b92906044356001600160401b0381116101d6576103309036906004016113a8565b6064939193356001600160401b0381116101d6576103529036906004016113a8565b91906084356001600160401b0381116101d6576103739036906004016113a8565b93909660a4356001600160401b0381116101d6576103959036906004016113a8565b60c43599919290916001600160a01b038b168b036101d657610104356001600160a01b03811698908990036101d6576103cc611a88565b6103d4611b32565b6001600160a01b038c16151580610bfa575b15610bc95761138860e43511610b92576101243515610b5d57604051978861176e8101106001600160401b0361176e8b011117610b495788978f978f8f8f948f988d60406104726104e79f996104bb9a61045c6104d19f996104a59a61176e6127d2893961010061176e89018181520191611a23565b9161176e86018303602061176e88010152611a23565b9460018060a01b03169161176e0101528d606060e4359161176e0101528d608061176e820185039161176e010152611a23565b9161176e8b01830360a061176e8d010152611a23565b9161176e8801830360c061176e8a010152611a23565b9161176e8501830360e061176e87010152611a23565b03905ff08015610a735760018060a01b03169460025468010000000000000000811015610b495780600161051e920160025561137c565b81546001600160a01b0360039290921b91821b19169088901b1790556040519260e084016001600160401b03811185821017610b4957604052868452602084019360018060a01b0387168552600688604083019660e4358852606084019787895262ffffff7f0000000000000000000000000000000000000000000000000000000000000000169860808601918a835260a087019361012435855260c08801954287525f52600360205260405f209760018060a01b039060018060a01b03905116166001600160601b0360a01b89541617885560018060a01b03905116600188019060018060a01b03166001600160601b0360a01b82541617905551600287015560018060a01b03905116600386019060018060a01b03166001600160601b0360a01b825416179055516004850155516005840155519101556040519563902d55a560e01b87526020876004818b5afa968715610a73575f97610b15575b5060e435870287810460e43514881517156109575761271061069f910488611450565b986106a989611b52565b6106cd6106c86106c36106be61012435612171565b6121f7565b6124d7565b612541565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169061070181611bb7565b60405163313b65df60e11b81529061071c600483018661196f565b6001600160a01b031660a482015260208160c4815f875af1908115610a73578e91610ad7575b505f9283926107a6926040519160016020840152610763604084018961196f565b60020b60e083015261010082015261010081526107826101208261142f565b6040519485809481936348c8949160e01b83526020600484015260248301906113d5565b03925af18015610a7357610ab7575b506040516370a0823160e01b81523060048201526020816024818e5afa908115610a73578c928c915f93610a7e575b508261096b575b9160046108049c9260a06108939695209d8e9386611450565b60405193610811856113f9565b3385525f602080870182815260408089019485526060890195865260808901848152968452918790529120955186546001600160a01b03199081166001600160a01b0392831617885591516001880180548416918316919091179055915160028701559151600386015591519390920180549092169216919091179055611450565b946002549a5f198c019b8c11610957578a7f433237d4afdec1bd944bfe7ddee2909aa16ece0db0dd17404f6b559b5653971160c06109489660209f849c7f583c5ace241f3e47c9c6f13e68a9e83f02dcf4b80932be3aa086674391a532d99c604051978852602088015260e4356040880152606087015261012435608087015260a086015260018060a01b031693a4610939604051948594604086526040860191611a23565b908382038b8501523397611a23565b0390a460018055604051908152f35b634e487b7160e01b5f52601160045260245ffd5b60405163a9059cbb60e01b81526001600160a01b0387166004820152602481018490529293509190506020818d815f816044810103925af1908115610a73575f91610a44575b5015610a0857610804996108939260048d8f9460a0906040518581527fa4e6799a53d037c8e49217233616ac11a98bf48a7f8a9f9c53d318febcbb1b686020600180861b038d1692a29395965050929c50506107eb565b60405162461bcd60e51b8152602060048201526014602482015273191d5cdd081d1c985b9cd9995c8819985a5b195960621b6044820152606490fd5b610a66915060203d602011610a6c575b610a5e818361142f565b810190611a70565b8d6109b1565b503d610a54565b6040513d5f823e3d90fd5b93509150506020823d602011610aaf575b81610a9c6020938361142f565b810103126101d6578a8c9251918e6107e4565b3d9150610a8f565b610ad2903d805f833e610aca818361142f565b8101906119b2565b6107b5565b90506020813d602011610b0d575b81610af26020938361142f565b810103126101d657518060020b81036101d657508c5f610742565b3d9150610ae5565b9096506020813d602011610b41575b81610b316020938361142f565b810103126101d65751958961067c565b3d9150610b24565b634e487b7160e01b5f52604160045260245ffd5b60405162461bcd60e51b815260206004820152600d60248201526c7a65726f207374617274206d6360981b6044820152606490fd5b60405162461bcd60e51b815260206004820152600f60248201526e7265736572766520746f6f2062696760881b6044820152606490fd5b60405162461bcd60e51b81526020600482015260096024820152683d32b9379030b2323960b91b6044820152606490fd5b508815156103e6565b346101d6575f3660031901126101d657610c56604051610c2460408261142f565b6011815270696d6f7274616c2d7175616e74322d763160781b60208201526040519182916020835260208301906113d5565b0390f35b346101d6575f3660031901126101d65760206040516127108152f35b346101d65760203660031901126101d657610c8f611335565b610c97611b32565b6001600160a01b038181165f818152600460205260409020549092911615610df1575f610cc6610d4192611b52565b8382526003602052610ce76106c86106c36106be6005604087200154612171565b610cff6040519260026020850152604084019061196f565b60020b60e0820152816101008201526101008152610d1f6101208261142f565b604051809381926348c8949160e01b83526020600484015260248301906113d5565b0381837f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165af1908115610a73575f91610dd7575b506040818051810103126101d657604091826020830151920151907f251551588ab2fefc5204a992ffe52b797e42bee3b0359226b84003bece36a0b6848051858152846020820152a26001805582519182526020820152f35b610deb91503d805f833e610aca818361142f565b82610d7e565b6306c3ce4560e41b5f5260045ffd5b346101d65760203660031901126101d6576001600160a01b03610e21611335565b165f526004602052602060018060a01b0360405f2054161515604051908152f35b346101d65760203660031901126101d6576001600160a01b03610e63611335565b165f526003602052600560405f2001548015610e9857610e8d6106c86106c36106be602094612171565b6040519060020b8152f35b60405162461bcd60e51b815260206004820152600c60248201526b3ab735b737bbb71031b7b4b760a11b6044820152606490fd5b346101d65760203660031901126101d6576004356001600160401b0381116101d657610f08610f02610c569236906004016113a8565b906114cc565b6040519182916020835260208301906113d5565b346101d6575f3660031901126101d6575f546040516001600160a01b039091168152602090f35b346101d65760203660031901126101d6576001600160a01b03610f64611335565b165f818152600460205260409020546001600160a01b031615610df15760a090604051905f8252602082015262ffffff7f000000000000000000000000000000000000000000000000000000000000000016604082015260c860608201525f6080820152f35b346101d65760203660031901126101d657610fe3611335565b610feb611494565b5060018060a01b03165f52600460205260a060405f2060405161100d816113f9565b8154600180851b5f1901918216808452908401548216602080850191825260028601546040808701918252600388015460608089019182526004909901548716608098890190815282519687529451871693860193909352905190840152519482019490945292511690820152f35b346101d6575f3660031901126101d657611094611a88565b5f80546001600160a01b0319811682556001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b346101d6575f3660031901126101d6576040518060206002549283815201809260025f527f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace905f5b81811061117c575050508161113191038261142f565b604051918291602083019060208452518091526040830191905f5b81811061115a575050500390f35b82516001600160a01b031684528594506020938401939092019160010161114c565b82546001600160a01b031684526020909301926001928301920161111b565b61135f565b346101d65760203660031901126101d6576004356002548110156101d6576111c960209161137c565b905460405160039290921b1c6001600160a01b03168152f35b346101d6575f3660031901126101d657602060405160c88152f35b346101d6575f3660031901126101d657602061121761145d565b6040516001600160a01b039091168152f35b346101d65760203660031901126101d6576001600160a01b0361124a611335565b165f526003602052602060018060a01b03600360405f20015416604051908152f35b346101d65760203660031901126101d65760206111c960043561137c565b346101d6575f3660031901126101d657602060405162010d888152f35b346101d65760203660031901126101d65760e0906001600160a01b036112cb611335565b165f52600360205260405f2060018060a01b038154169060018060a01b03600182015416600282015460018060a01b036003840154169060048401549260066005860154950154958752602087015260408601526060850152608084015260a083015260c0820152f35b600435906001600160a01b03821682036101d657565b35906001600160a01b03821682036101d657565b346101d6575f3660031901126101d6576020600254604051908152f35b6002548110156113945760025f5260205f2001905f90565b634e487b7160e01b5f52603260045260245ffd5b9181601f840112156101d6578235916001600160401b0383116101d657602083818601950101116101d657565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b60a081019081106001600160401b03821117610b4957604052565b608081019081106001600160401b03821117610b4957604052565b90601f801991011681019081106001600160401b03821117610b4957604052565b9190820391821161095757565b600254801561148f575f1981019081116109575761147a9061137c565b905460039190911b1c6001600160a01b031690565b505f90565b604051906114a1826113f9565b5f6080838281528260208201528260408201528260608201520152565b35908160020b82036101d657565b6060917f000000000000000000000000000000000000000000000000000000000000000091906001600160a01b03831690338290036119605782908101039061010082126101d65782359160ff83168093036101d65760a090601f1901126101d6576040519361153b856113f9565b6115476020850161134b565b85526115556040850161134b565b90602086019182528685013562ffffff811681036101d657604087015261157e608086016114be565b8688015260a08501356001600160a01b03811681036101d6576080870152600260e06115ac60c088016114be565b9601359414611818576115d396506001600160801b036115cb86611ef9565b989096611bb7565b6115dc87611bb7565b90866115e78b611bb7565b9182846001600160a01b038083169082161161180c575b50506001600160a01b0381811690851681116117be57505050611620916125c6565b1692831561178a576116736040915f9783519061163c82611414565b60020b9a8b825260020b96876020830152848201528860608201528351988980948193632d35e7ed60e11b83528d60048401611ac4565b03925af18015610a73577fb8286df0f512cba396ec7495ab90a32b3fc059ae6b3f80691eb11373599b9bbb966060965f92611758575b508160801d5f81600f0b12611728575b5050600f0b905f82126116f9575b505060018060a01b039051169460405192835260208301526040820152a26040516116f360208261142f565b5f815290565b611721916001600160801b0361171860018060a01b0386511692611b12565b16913091611f9f565b5f806116c7565b6001600160801b036117476117519360018060a01b0390511692611b12565b1690843091611f9f565b5f806116b9565b61177b91925060403d604011611783575b611773818361142f565b810190611aae565b50905f6116a9565b503d611769565b60405162461bcd60e51b815260206004820152600c60248201526b6e6f206c697175696469747960a01b6044820152606490fd5b919290916001600160a01b038216111561180157906117e16117e79392826125c6565b9361258c565b80831682841610156117fa57505b611620565b9050611620565b90506117f59261258c565b90945092505f806115fe565b919495935f935061188d61182d604092611ef9565b84516001600160a01b03908116885260036020819052858920015485519116999290919061185a83611414565b60020b825260020b6020820152868482015286888201528351968780948193632d35e7ed60e11b83528d60048401611ac4565b03925af1928315610a73575f9361193e575b505f945f938060801d5f81600f0b13611910575b506118e19697505f81600f0b136118e4575b505050506040519360208501526040840152604083528261142f565b90565b91516001600160801b0390921693506119079284926001600160a01b0316611f39565b5f8080806118c5565b6118e197508498836001600160801b0361193793169a8b9260018060a01b03905116611f39565b87966118b3565b61195891935060403d60401161178357611773818361142f565b50915f61189f565b63570c108560e11b5f5260045ffd5b80516001600160a01b03908116835260208083015182169084015260408083015162ffffff169084015260608083015160020b9084015260809182015116910152565b6020818303126101d6578051906001600160401b0382116101d6570181601f820112156101d6578051906001600160401b038211610b495760405192611a02601f8401601f19166020018561142f565b828452602083830101116101d657815f9260208093018386015e8301015290565b908060209392818452848401375f828201840152601f01601f1916010190565b908160209103126101d6575190565b8115611a5c570490565b634e487b7160e01b5f52601260045260245ffd5b908160209103126101d6575180151581036101d65790565b5f546001600160a01b03163303611a9b57565b63118cdaa760e01b5f523360045260245ffd5b91908260409103126101d6576020825192015190565b9061016092611ad58360609361196f565b805160020b60a0840152602081015160020b60c0840152604081015160e084015201516101008201526101406101208201525f6101408201520190565b600f0b6f7fffffffffffffffffffffffffffffff198114610957575f0390565b600260015414611b43576002600155565b633ee5aeb560e01b5f5260045ffd5b611b5a611494565b5060405190611b68826113f9565b5f8083526001600160a01b039190911660208301527f000000000000000000000000000000000000000000000000000000000000000062ffffff16604083015260c86060830152608082015290565b60020b908160ff1d82810118620d89e88111611ed15763ffffffff9192600182167001fffcb933bd6fad37aa2d162d1a59400102600160801b189160028116611eb5575b60048116611e99575b60088116611e7d575b60108116611e61575b60208116611e45575b60408116611e29575b60808116611e0d575b6101008116611df1575b6102008116611dd5575b6104008116611db9575b6108008116611d9d575b6110008116611d81575b6120008116611d65575b6140008116611d49575b6180008116611d2d575b620100008116611d11575b620200008116611cf6575b620400008116611cdb575b6208000016611cc2575b5f12611cba575b0160201c90565b5f1904611cb3565b6b048a170391f7dc42444e8fa290910260801c90611cac565b6d2216e584f5fa1ea926041bedfe9890920260801c91611ca2565b916e5d6af8dedb81196699c329225ee6040260801c91611c97565b916f09aa508b5b7a84e1c677de54f3e99bc90260801c91611c8c565b916f31be135f97d08fd981231505542fcfa60260801c91611c81565b916f70d869a156d2a1b890bb3df62baf32f70260801c91611c77565b916fa9f746462d870fdf8a65dc1f90e061e50260801c91611c6d565b916fd097f3bdfd2022b8845ad8f792aa58250260801c91611c63565b916fe7159475a2c29b7443b29c7fa6e889d90260801c91611c59565b916ff3392b0822b70005940c7a398e4b70f30260801c91611c4f565b916ff987a7253ac413176f2b074cf7815e540260801c91611c45565b916ffcbe86c7900a88aedcffc83b479aa3a40260801c91611c3b565b916ffe5dee046a99a2a811c461f1969c30530260801c91611c31565b916fff2ea16466c96a3843ec78b326b528610260801c91611c28565b916fff973b41fa98c081472e6896dfb254c00260801c91611c1f565b916fffcb9843d60f6159c9db58835c9266440260801c91611c16565b916fffe5caca7e10e4e61c3624eaa0941cd00260801c91611c0d565b916ffff2e50f5f656932ef12357cf3c7fdcc0260801c91611c04565b916ffff97272373d413259a46990580e213a0260801c91611bfb565b826345c3193d60e11b5f5260045260245ffd5b60c89060020b02908160020b91820361095757565b611f0561115319611ee4565b600282900b62010d8719019290627fffff198412627fffff85131761095757838160020b9060020b12611f355750565b9250565b91906001600160a01b0316803b156101d657604051630b0d9c0960e01b81526001600160a01b03938416600482015291909216602482015260448101929092525f908290606490829084905af18015610a7357611f935750565b5f611f9d9161142f565b565b9192916001600160a01b03168061200d5750604051630476982d60e21b81529250602091839160049183916001600160a01b03165af18015610a7357611fe25750565b6120039060203d602011612006575b611ffb818361142f565b810190611a43565b50565b503d611ff1565b6001600160a01b0390911691823b156101d657604051632961046560e21b815260048101839052935a945f816024818389819bf18015610a735761215c575b506001600160a01b0316843082146120f4576020929160649160405195869485936323b872dd60e01b8552600485015288602485015260448401525af180156120e9579160209184936120cc575b505b600460405180958193630476982d60e21b83525af19081156120c05750611fe25750565b604051903d90823e3d90fd5b6120e290833d8511610a6c57610a5e818361142f565b505f61209a565b6040513d85823e3d90fd5b60405163a9059cbb60e01b81526001600160a01b0386166004820152602481019390935291926020928492506044918391905af180156120e95791602091849361213f575b5061209c565b61215590833d8511610a6c57610a5e818361142f565b505f612139565b6121699195505f9061142f565b5f935f61204c565b61217a90612612565b61218f6b033b2e3c9fd0803ce8000000612612565b9080156121c3578160601b91808304600160601b1490151715610957576001600160a01b03916121bf9190611a52565b1690565b60405162461bcd60e51b815260206004820152600c60248201526b07a65726f20616d6f756e74360a41b6044820152606490fd5b73fffd8963efd1fc6a506488495d951d51639616826401000276a21982016001600160a01b0316116124b757602081901b640100000000600160c01b03168080156101d65760ff826001600160801b031060071b83811c6001600160401b031060061b1783811c63ffffffff1060051b1783811c61ffff1060041b1783811c821060031b177f07060605060205000602030205040001060502050303040105050304000000006f8421084210842108cc6318c6db6d54be85831c1c601f161a17169160808310155f146124ab5750607e1982011c5b800280607f1c8160ff1c1c800280607f1c8160ff1c1c800280607f1c8160ff1c1c800280607f1c8160ff1c1c800280607f1c8160ff1c1c800280607f1c8160ff1c1c80029081607f1c8260ff1c1c80029283607f1c8460ff1c1c80029485607f1c8660ff1c1c80029687607f1c8860ff1c1c80029889607f1c8a60ff1c1c80029a8b607f1c8c60ff1c1c80029c8d80607f1c9060ff1c1c800260cd1c6604000000000000169d60cc1c6608000000000000169c60cb1c6610000000000000169b60ca1c6620000000000000169a60c91c6640000000000000169960c81c6680000000000000169860c71c670100000000000000169760c61c670200000000000000169660c51c670400000000000000169560c41c670800000000000000169460c31c671000000000000000169360c21c672000000000000000169260c11c674000000000000000169160c01c6780000000000000001690607f190160401b1717171717171717171717171717693627a301d71055774c85026f028f6481ab7f045a5af012a19d003aa919810160801d60020b906fdb2df09e81959a81455e260799a0632f0160801d60020b918282145f146124875750905090565b6001600160a01b039081169061249c84611bb7565b16116124a6575090565b905090565b905081607f031b6122cc565b6318521d4960e21b5f9081526001600160a01b0391909116600452602490fd5b60020b906124e760c88305611ee4565b915f81129081612516575b506124f957565b9060020b60c71901627fffff198112627fffff8213176109575790565b90508260020b14155f6124f2565b60020b62010d880190627fffff8213627fffff1983121761095757565b61254d61115319611ee4565b612558611154611ee4565b9061256281612524565b60020b908360020b91821261257f57508160020b126124a6575090565b9150506118e19150612524565b6118e1926125bb9290916001600160a01b03808316908216116125c0575b90036001600160a01b03169061265b565b6127ae565b906125aa565b6118e1916125bb91906001600160a01b038082169083161161260c575b6125f96001600160a01b038281169084166126e5565b9190036001600160a01b0316905f61272e565b906125e3565b908115612656578160011c6001810180911161095757825b838210612635575050565b909250826126438183611a52565b9081018091116109575760011c9061262a565b5f9150565b90606082901b905f19600160601b8409928280851094039380850394858411156101d657146126de578190600160601b900981805f03168092046002816003021880820260020302808202600203028082026002030280820260020302808202600203028091026002030293600183805f03040190848311900302920304170290565b5091500490565b81810291905f1982820991838084109303928084039384600160601b11156101d6571461272557600160601b910990828211900360a01b910360601c1790565b50505060601c90565b91818302915f19818509938380861095039480860395868511156101d657146127a6579082910981805f03168092046002816003021880820260020302808202600203028082026002030280820260020302808202600203028091026002030293600183805f03040190848311900302920304170290565b505091500490565b906001600160801b0382168092036127c257565b6393dafdf160e01b5f5260045ffdfe61010060405234610a115761176e8038038061001a81610a15565b92833981019061010081830312610a115780516001600160401b038111610a115782610047918301610a3a565b60208201519091906001600160401b038111610a115783610069918301610a3a565b6040820151916001600160a01b03831691828403610a1157606082015160808301519093906001600160401b038111610a1157876100a8918501610a3a565b60a08401519092906001600160401b038111610a1157886100ca918601610a3a565b60c08501519094906001600160401b038111610a1157896100ec918301610a3a565b60e08201519099906001600160401b038111610a115761010c9201610a3a565b875190976001600160401b0382116105305760035490600182811c92168015610a07575b60208310146105125781601f849311610999575b50602090601f8311600114610933575f92610928575b50508160011b915f199060031b1c1916176003555b8051906001600160401b0382116105305760045490600182811c9216801561091e575b60208310146105125781601f8493116108b0575b50602090601f831160011461084a575f9261083f575b50508160011b915f199060031b1c1916176004555b1561080b5761138883116107d45760a084905260808390523360c0528051906001600160401b0382116105305760055490600182811c921680156107ca575b60208310146105125781601f849311610779575b50602090601f8311600114610713575f92610708575b50508160011b915f199060031b1c1916176005555b8051906001600160401b0382116105305760065490600182811c921680156106fe575b60208310146105125781601f849311610690575b50602090601f831160011461062a575f9261061f575b50508160011b915f199060031b1c1916176006555b83516001600160401b03811161053057600754600181811c91168015610615575b602082101461051257601f81116105b2575b50602094601f821160011461054f579481929394955f92610544575b50508160011b915f199060031b1c1916176007555b82516001600160401b03811161053057600854600181811c91168015610526575b602082101461051257601f81116104af575b506020601f821160011461044c57819293945f92610441575b50508160011b915f199060031b1c1916176008555b4260e052806b033b2e3c9fd0803ce800000002906b033b2e3c9fd0803ce800000082040361042d576127109004806b033b2e3c9fd0803ce8000000036b033b2e3c9fd0803ce8000000811161042d576103cf9033610a8b565b8061041d575b604051610c6f9081610aff82396080518181816104380152610546015260a0518181816102e60152610409015260c05181610751015260e05181818161014e015261045e0152f35b61042691610a8b565b5f806103d5565b634e487b7160e01b5f52601160045260245ffd5b015190505f80610361565b601f1982169060085f52805f20915f5b8181106104975750958360019596971061047f575b505050811b01600855610376565b01515f1960f88460031b161c191690555f8080610471565b9192602060018192868b01518155019401920161045c565b60085f527ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee3601f830160051c81019160208410610508575b601f0160051c01905b8181106104fd5750610348565b5f81556001016104f0565b90915081906104e7565b634e487b7160e01b5f52602260045260245ffd5b90607f1690610336565b634e487b7160e01b5f52604160045260245ffd5b015190505f80610300565b601f1982169560075f52805f20915f5b88811061059a57508360019596979810610582575b505050811b01600755610315565b01515f1960f88460031b161c191690555f8080610574565b9192602060018192868501518155019401920161055f565b60075f527fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c688601f830160051c8101916020841061060b575b601f0160051c01905b81811061060057506102e4565b5f81556001016105f3565b90915081906105ea565b90607f16906102d2565b015190505f8061029c565b60065f9081528281209350601f198516905b8181106106785750908460019594939210610660575b505050811b016006556102b1565b01515f1960f88460031b161c191690555f8080610652565b9293602060018192878601518155019501930161063c565b60065f529091507ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f601f840160051c810191602085106106f4575b90601f859493920160051c01905b8181106106e65750610286565b5f81558493506001016106d9565b90915081906106cb565b91607f1691610272565b015190505f8061023a565b60055f9081528281209350601f198516905b8181106107615750908460019594939210610749575b505050811b0160055561024f565b01515f1960f88460031b161c191690555f808061073b565b92936020600181928786015181550195019301610725565b90915060055f5260205f20601f840160051c810191602085106107c0575b90601f859493920160051c01905b8181106107b25750610224565b5f81558493506001016107a5565b9091508190610797565b91607f1691610210565b60405162461bcd60e51b815260206004820152600f60248201526e7265736572766520746f6f2062696760881b6044820152606490fd5b60405162461bcd60e51b815260206004820152600c60248201526b7a65726f207265736572766560a01b6044820152606490fd5b015190505f806101bc565b60045f9081528281209350601f198516905b8181106108985750908460019594939210610880575b505050811b016004556101d1565b01515f1960f88460031b161c191690555f8080610872565b9293602060018192878601518155019501930161085c565b60045f529091507f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b601f840160051c81019160208510610914575b90601f859493920160051c01905b81811061090657506101a6565b5f81558493506001016108f9565b90915081906108eb565b91607f1691610192565b015190505f8061015a565b60035f9081528281209350601f198516905b8181106109815750908460019594939210610969575b505050811b0160035561016f565b01515f1960f88460031b161c191690555f808061095b565b92936020600181928786015181550195019301610945565b60035f529091507fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b601f840160051c810191602085106109fd575b90601f859493920160051c01905b8181106109ef5750610144565b5f81558493506001016109e2565b90915081906109d4565b91607f1691610130565b5f80fd5b6040519190601f01601f191682016001600160401b0381118382101761053057604052565b81601f82011215610a11578051906001600160401b03821161053057610a69601f8301601f1916602001610a15565b9282845260208383010111610a1157815f9260208093018386015e8301015290565b6001600160a01b0316908115610aeb576002549080820180921161042d5760207fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef915f9360025584845283825260408420818154019055604051908152a3565b63ec442f0560e01b5f525f60045260245ffdfe60806040526004361015610011575f80fd5b5f3560e01c806306fdde031461081d578063095ea7b31461079b578063135d088d1461078057806316eebd1e1461073c57806318160ddd1461071f57806323b872dd1461063f578063313ce5671461062457806331ff215f14610569578063389254491461052f57806370a08231146104f8578063902d55a5146104d257806395d89b41146104b7578063a9059cbb14610486578063abb1dc441461038c578063b29b86af14610315578063cd3293de146102d1578063d8f3e26d146102b5578063dd62ed3e14610265578063df9ce79414610171578063eae4c19f146101375763f516b42214610100575f80fd5b34610133575f3660031901126101335761012f61011b610ad0565b604051918291602083526020830190610838565b0390f35b5f80fd5b34610133575f3660031901126101335760206040517f00000000000000000000000000000000000000000000000000000000000000008152f35b34610133575f366003190112610133576040515f6008548060011c9060018116801561025b575b6020831081146102475782855290811561022357506001146101c5575b61012f8361011b81850382610888565b60085f9081527ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee3939250905b8082106102095750909150810160200161011b6101b5565b9192600181602092548385880101520191019092916101f1565b60ff191660208086019190915291151560051b8401909101915061011b90506101b5565b634e487b7160e01b5f52602260045260245ffd5b91607f1691610198565b346101335760403660031901126101335761027e61085c565b610286610872565b6001600160a01b039182165f908152600160209081526040808320949093168252928352819020549051908152f35b34610133575f3660031901126101335760206040516113888152f35b34610133575f366003190112610133576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b34610133575f36600319011261013357604051604081019080821067ffffffffffffffff8311176103785761012f91604052601081526f696d6f7274616c2d7175616e742d763160801b6020820152604051918291602083526020830190610838565b634e487b7160e01b5f52604160045260245ffd5b34610133575f366003190112610133576103dd6103a76108aa565b6104076103b2610a24565b6103f96103bd610978565b6103eb6103c8610ad0565b9360405197889760e0895260e0890190610838565b908782036020890152610838565b908582036040870152610838565b908382036060850152610838565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031660808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301520390f35b34610133576040366003190112610133576104ac6104a261085c565b6024359033610b7c565b602060405160018152f35b34610133575f3660031901126101335761012f61011b610a24565b34610133575f3660031901126101335760206040516b033b2e3c9fd0803ce80000008152f35b34610133576020366003190112610133576001600160a01b0361051961085c565b165f525f602052602060405f2054604051908152f35b34610133575f3660031901126101335760206040517f00000000000000000000000000000000000000000000000000000000000000008152f35b34610133575f366003190112610133576040515f6007548060011c9060018116801561061a575b6020831081146102475782855290811561022357506001146105bc5761012f8361011b81850382610888565b60075f9081527fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c688939250905b8082106106005750909150810160200161011b6101b5565b9192600181602092548385880101520191019092916105e8565b91607f1691610590565b34610133575f36600319011261013357602060405160128152f35b346101335760603660031901126101335761065861085c565b610660610872565b6001600160a01b0382165f81815260016020818152604080842033855290915290912054919360443593929091810161069f575b506104ac9350610b7c565b8381106107045784156106f15733156106de576104ac945f52600160205260405f2060018060a01b0333165f526020528360405f209103905584610694565b634a1406b160e11b5f525f60045260245ffd5b63e602df0560e01b5f525f60045260245ffd5b8390637dc7a0d960e11b5f523360045260245260445260645ffd5b34610133575f366003190112610133576020600254604051908152f35b34610133575f366003190112610133576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b34610133575f3660031901126101335761012f61011b610978565b34610133576040366003190112610133576107b461085c565b6024359033156106f1576001600160a01b03169081156106de57335f52600160205260405f20825f526020528060405f20556040519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560203392a3602060405160018152f35b34610133575f3660031901126101335761012f61011b6108aa565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b600435906001600160a01b038216820361013357565b602435906001600160a01b038216820361013357565b90601f8019910116810190811067ffffffffffffffff82111761037857604052565b604051905f6003548060011c916001821691821561096e575b60208410831461024757838652859290811561094f57506001146108f0575b6108ee92500383610888565b565b5060035f90815290917fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5b8183106109335750509060206108ee928201016108e2565b602091935080600191548385890101520191019091849261091b565b602092506108ee94915060ff191682840152151560051b8201016108e2565b92607f16926108c3565b604051905f6005548060011c9160018216918215610a1a575b60208410831461024757838652859290811561094f57506001146109bb576108ee92500383610888565b5060055f90815290917f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db05b8183106109fe5750509060206108ee928201016108e2565b60209193508060019154838589010152019101909184926109e6565b92607f1692610991565b604051905f6004548060011c9160018216918215610ac6575b60208410831461024757838652859290811561094f5750600114610a67576108ee92500383610888565b5060045f90815290917f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b5b818310610aaa5750509060206108ee928201016108e2565b6020919350806001915483858901015201910190918492610a92565b92607f1692610a3d565b604051905f6006548060011c9160018216918215610b72575b60208410831461024757838652859290811561094f5750600114610b13576108ee92500383610888565b5060065f90815290917ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f5b818310610b565750509060206108ee928201016108e2565b6020919350806001915483858901015201910190918492610b3e565b92607f1692610ae9565b6001600160a01b0316908115610c26576001600160a01b0316918215610c1357815f525f60205260405f2054818110610bfa57817fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92602092855f525f84520360405f2055845f525f825260405f20818154019055604051908152a3565b8263391434e360e21b5f5260045260245260445260645ffd5b63ec442f0560e01b5f525f60045260245ffd5b634b637e8f60e11b5f525f60045260245ffdfea26469706673582212206438306b43a8d7ed9f4d548e8d3912452c464f00e19a6fc86d36b5970c319b5964736f6c634300081c0033a2646970667358221220880387327df84ada62c7356b791bd5a66391146132377f901aeff989633e7c7864736f6c634300081c00330000000000000000000000008366a39cc670b4001a1121b8f6a443a643e40951000000000000000000000000000000000000000000000000000000000000c350
0x608080604052600436101561001c575b50361561001a575f80fd5b005b5f3560e01c908163029282d7146112a75750806310988fb91461128a57806313560cac1461126c5780631a9f2cf81461122957806327cca59f1461119b5780632f796f50146111fd57806346ca626b146111e25780634f64b2be146111a0578063678fd2891461119b5780636ff97f1d146110d3578063715018a61461107c5780637d0f7a8814610fca5780638652edf914610f435780638da5cb5b14610f1c57806391dd734614610ecc5780639da2d25a14610e42578063a1ad17ab14610e00578063a480ca7914610c76578063a6acaacc14610c5a578063b29b86af14610c03578063b934030b146102be578063c598b2f914610295578063d8f3e26d14610279578063dc4c90d314610235578063dd1b9c4a146101f6578063ed9f4ba2146101da5763f2fde38b14610151575f61000f565b346101d65760203660031901126101d65761016a611335565b610172611a88565b6001600160a01b031680156101c3575f80546001600160a01b03198116831782556001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09080a3005b631e4fbdf760e01b5f525f60045260245ffd5b5f80fd5b346101d6575f3660031901126101d657602060405161c3508152f35b346101d6575f3660031901126101d657602060405162ffffff7f000000000000000000000000000000000000000000000000000000000000c350168152f35b346101d6575f3660031901126101d6576040517f0000000000000000000000008366a39cc670b4001a1121b8f6a443a643e409516001600160a01b03168152602090f35b346101d6575f3660031901126101d65760206040516113888152f35b346101d65760203660031901126101d6576102ae611335565b50604080515f81525f6020820152f35b346101d6576101403660031901126101d6576004356001600160401b0381116101d6576102ef9036906004016113a8565b906024356001600160401b0381116101d65761030f9036906004016113a8565b92906044356001600160401b0381116101d6576103309036906004016113a8565b6064939193356001600160401b0381116101d6576103529036906004016113a8565b91906084356001600160401b0381116101d6576103739036906004016113a8565b93909660a4356001600160401b0381116101d6576103959036906004016113a8565b60c43599919290916001600160a01b038b168b036101d657610104356001600160a01b03811698908990036101d6576103cc611a88565b6103d4611b32565b6001600160a01b038c16151580610bfa575b15610bc95761138860e43511610b92576101243515610b5d57604051978861176e8101106001600160401b0361176e8b011117610b495788978f978f8f8f948f988d60406104726104e79f996104bb9a61045c6104d19f996104a59a61176e6127d2893961010061176e89018181520191611a23565b9161176e86018303602061176e88010152611a23565b9460018060a01b03169161176e0101528d606060e4359161176e0101528d608061176e820185039161176e010152611a23565b9161176e8b01830360a061176e8d010152611a23565b9161176e8801830360c061176e8a010152611a23565b9161176e8501830360e061176e87010152611a23565b03905ff08015610a735760018060a01b03169460025468010000000000000000811015610b495780600161051e920160025561137c565b81546001600160a01b0360039290921b91821b19169088901b1790556040519260e084016001600160401b03811185821017610b4957604052868452602084019360018060a01b0387168552600688604083019660e4358852606084019787895262ffffff7f000000000000000000000000000000000000000000000000000000000000c350169860808601918a835260a087019361012435855260c08801954287525f52600360205260405f209760018060a01b039060018060a01b03905116166001600160601b0360a01b89541617885560018060a01b03905116600188019060018060a01b03166001600160601b0360a01b82541617905551600287015560018060a01b03905116600386019060018060a01b03166001600160601b0360a01b825416179055516004850155516005840155519101556040519563902d55a560e01b87526020876004818b5afa968715610a73575f97610b15575b5060e435870287810460e43514881517156109575761271061069f910488611450565b986106a989611b52565b6106cd6106c86106c36106be61012435612171565b6121f7565b6124d7565b612541565b7f0000000000000000000000008366a39cc670b4001a1121b8f6a443a643e409516001600160a01b03169061070181611bb7565b60405163313b65df60e11b81529061071c600483018661196f565b6001600160a01b031660a482015260208160c4815f875af1908115610a73578e91610ad7575b505f9283926107a6926040519160016020840152610763604084018961196f565b60020b60e083015261010082015261010081526107826101208261142f565b6040519485809481936348c8949160e01b83526020600484015260248301906113d5565b03925af18015610a7357610ab7575b506040516370a0823160e01b81523060048201526020816024818e5afa908115610a73578c928c915f93610a7e575b508261096b575b9160046108049c9260a06108939695209d8e9386611450565b60405193610811856113f9565b3385525f602080870182815260408089019485526060890195865260808901848152968452918790529120955186546001600160a01b03199081166001600160a01b0392831617885591516001880180548416918316919091179055915160028701559151600386015591519390920180549092169216919091179055611450565b946002549a5f198c019b8c11610957578a7f433237d4afdec1bd944bfe7ddee2909aa16ece0db0dd17404f6b559b5653971160c06109489660209f849c7f583c5ace241f3e47c9c6f13e68a9e83f02dcf4b80932be3aa086674391a532d99c604051978852602088015260e4356040880152606087015261012435608087015260a086015260018060a01b031693a4610939604051948594604086526040860191611a23565b908382038b8501523397611a23565b0390a460018055604051908152f35b634e487b7160e01b5f52601160045260245ffd5b60405163a9059cbb60e01b81526001600160a01b0387166004820152602481018490529293509190506020818d815f816044810103925af1908115610a73575f91610a44575b5015610a0857610804996108939260048d8f9460a0906040518581527fa4e6799a53d037c8e49217233616ac11a98bf48a7f8a9f9c53d318febcbb1b686020600180861b038d1692a29395965050929c50506107eb565b60405162461bcd60e51b8152602060048201526014602482015273191d5cdd081d1c985b9cd9995c8819985a5b195960621b6044820152606490fd5b610a66915060203d602011610a6c575b610a5e818361142f565b810190611a70565b8d6109b1565b503d610a54565b6040513d5f823e3d90fd5b93509150506020823d602011610aaf575b81610a9c6020938361142f565b810103126101d6578a8c9251918e6107e4565b3d9150610a8f565b610ad2903d805f833e610aca818361142f565b8101906119b2565b6107b5565b90506020813d602011610b0d575b81610af26020938361142f565b810103126101d657518060020b81036101d657508c5f610742565b3d9150610ae5565b9096506020813d602011610b41575b81610b316020938361142f565b810103126101d65751958961067c565b3d9150610b24565b634e487b7160e01b5f52604160045260245ffd5b60405162461bcd60e51b815260206004820152600d60248201526c7a65726f207374617274206d6360981b6044820152606490fd5b60405162461bcd60e51b815260206004820152600f60248201526e7265736572766520746f6f2062696760881b6044820152606490fd5b60405162461bcd60e51b81526020600482015260096024820152683d32b9379030b2323960b91b6044820152606490fd5b508815156103e6565b346101d6575f3660031901126101d657610c56604051610c2460408261142f565b6011815270696d6f7274616c2d7175616e74322d763160781b60208201526040519182916020835260208301906113d5565b0390f35b346101d6575f3660031901126101d65760206040516127108152f35b346101d65760203660031901126101d657610c8f611335565b610c97611b32565b6001600160a01b038181165f818152600460205260409020549092911615610df1575f610cc6610d4192611b52565b8382526003602052610ce76106c86106c36106be6005604087200154612171565b610cff6040519260026020850152604084019061196f565b60020b60e0820152816101008201526101008152610d1f6101208261142f565b604051809381926348c8949160e01b83526020600484015260248301906113d5565b0381837f0000000000000000000000008366a39cc670b4001a1121b8f6a443a643e409516001600160a01b03165af1908115610a73575f91610dd7575b506040818051810103126101d657604091826020830151920151907f251551588ab2fefc5204a992ffe52b797e42bee3b0359226b84003bece36a0b6848051858152846020820152a26001805582519182526020820152f35b610deb91503d805f833e610aca818361142f565b82610d7e565b6306c3ce4560e41b5f5260045ffd5b346101d65760203660031901126101d6576001600160a01b03610e21611335565b165f526004602052602060018060a01b0360405f2054161515604051908152f35b346101d65760203660031901126101d6576001600160a01b03610e63611335565b165f526003602052600560405f2001548015610e9857610e8d6106c86106c36106be602094612171565b6040519060020b8152f35b60405162461bcd60e51b815260206004820152600c60248201526b3ab735b737bbb71031b7b4b760a11b6044820152606490fd5b346101d65760203660031901126101d6576004356001600160401b0381116101d657610f08610f02610c569236906004016113a8565b906114cc565b6040519182916020835260208301906113d5565b346101d6575f3660031901126101d6575f546040516001600160a01b039091168152602090f35b346101d65760203660031901126101d6576001600160a01b03610f64611335565b165f818152600460205260409020546001600160a01b031615610df15760a090604051905f8252602082015262ffffff7f000000000000000000000000000000000000000000000000000000000000c35016604082015260c860608201525f6080820152f35b346101d65760203660031901126101d657610fe3611335565b610feb611494565b5060018060a01b03165f52600460205260a060405f2060405161100d816113f9565b8154600180851b5f1901918216808452908401548216602080850191825260028601546040808701918252600388015460608089019182526004909901548716608098890190815282519687529451871693860193909352905190840152519482019490945292511690820152f35b346101d6575f3660031901126101d657611094611a88565b5f80546001600160a01b0319811682556001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b346101d6575f3660031901126101d6576040518060206002549283815201809260025f527f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace905f5b81811061117c575050508161113191038261142f565b604051918291602083019060208452518091526040830191905f5b81811061115a575050500390f35b82516001600160a01b031684528594506020938401939092019160010161114c565b82546001600160a01b031684526020909301926001928301920161111b565b61135f565b346101d65760203660031901126101d6576004356002548110156101d6576111c960209161137c565b905460405160039290921b1c6001600160a01b03168152f35b346101d6575f3660031901126101d657602060405160c88152f35b346101d6575f3660031901126101d657602061121761145d565b6040516001600160a01b039091168152f35b346101d65760203660031901126101d6576001600160a01b0361124a611335565b165f526003602052602060018060a01b03600360405f20015416604051908152f35b346101d65760203660031901126101d65760206111c960043561137c565b346101d6575f3660031901126101d657602060405162010d888152f35b346101d65760203660031901126101d65760e0906001600160a01b036112cb611335565b165f52600360205260405f2060018060a01b038154169060018060a01b03600182015416600282015460018060a01b036003840154169060048401549260066005860154950154958752602087015260408601526060850152608084015260a083015260c0820152f35b600435906001600160a01b03821682036101d657565b35906001600160a01b03821682036101d657565b346101d6575f3660031901126101d6576020600254604051908152f35b6002548110156113945760025f5260205f2001905f90565b634e487b7160e01b5f52603260045260245ffd5b9181601f840112156101d6578235916001600160401b0383116101d657602083818601950101116101d657565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b60a081019081106001600160401b03821117610b4957604052565b608081019081106001600160401b03821117610b4957604052565b90601f801991011681019081106001600160401b03821117610b4957604052565b9190820391821161095757565b600254801561148f575f1981019081116109575761147a9061137c565b905460039190911b1c6001600160a01b031690565b505f90565b604051906114a1826113f9565b5f6080838281528260208201528260408201528260608201520152565b35908160020b82036101d657565b6060917f0000000000000000000000008366a39cc670b4001a1121b8f6a443a643e4095191906001600160a01b03831690338290036119605782908101039061010082126101d65782359160ff83168093036101d65760a090601f1901126101d6576040519361153b856113f9565b6115476020850161134b565b85526115556040850161134b565b90602086019182528685013562ffffff811681036101d657604087015261157e608086016114be565b8688015260a08501356001600160a01b03811681036101d6576080870152600260e06115ac60c088016114be565b9601359414611818576115d396506001600160801b036115cb86611ef9565b989096611bb7565b6115dc87611bb7565b90866115e78b611bb7565b9182846001600160a01b038083169082161161180c575b50506001600160a01b0381811690851681116117be57505050611620916125c6565b1692831561178a576116736040915f9783519061163c82611414565b60020b9a8b825260020b96876020830152848201528860608201528351988980948193632d35e7ed60e11b83528d60048401611ac4565b03925af18015610a73577fb8286df0f512cba396ec7495ab90a32b3fc059ae6b3f80691eb11373599b9bbb966060965f92611758575b508160801d5f81600f0b12611728575b5050600f0b905f82126116f9575b505060018060a01b039051169460405192835260208301526040820152a26040516116f360208261142f565b5f815290565b611721916001600160801b0361171860018060a01b0386511692611b12565b16913091611f9f565b5f806116c7565b6001600160801b036117476117519360018060a01b0390511692611b12565b1690843091611f9f565b5f806116b9565b61177b91925060403d604011611783575b611773818361142f565b810190611aae565b50905f6116a9565b503d611769565b60405162461bcd60e51b815260206004820152600c60248201526b6e6f206c697175696469747960a01b6044820152606490fd5b919290916001600160a01b038216111561180157906117e16117e79392826125c6565b9361258c565b80831682841610156117fa57505b611620565b9050611620565b90506117f59261258c565b90945092505f806115fe565b919495935f935061188d61182d604092611ef9565b84516001600160a01b03908116885260036020819052858920015485519116999290919061185a83611414565b60020b825260020b6020820152868482015286888201528351968780948193632d35e7ed60e11b83528d60048401611ac4565b03925af1928315610a73575f9361193e575b505f945f938060801d5f81600f0b13611910575b506118e19697505f81600f0b136118e4575b505050506040519360208501526040840152604083528261142f565b90565b91516001600160801b0390921693506119079284926001600160a01b0316611f39565b5f8080806118c5565b6118e197508498836001600160801b0361193793169a8b9260018060a01b03905116611f39565b87966118b3565b61195891935060403d60401161178357611773818361142f565b50915f61189f565b63570c108560e11b5f5260045ffd5b80516001600160a01b03908116835260208083015182169084015260408083015162ffffff169084015260608083015160020b9084015260809182015116910152565b6020818303126101d6578051906001600160401b0382116101d6570181601f820112156101d6578051906001600160401b038211610b495760405192611a02601f8401601f19166020018561142f565b828452602083830101116101d657815f9260208093018386015e8301015290565b908060209392818452848401375f828201840152601f01601f1916010190565b908160209103126101d6575190565b8115611a5c570490565b634e487b7160e01b5f52601260045260245ffd5b908160209103126101d6575180151581036101d65790565b5f546001600160a01b03163303611a9b57565b63118cdaa760e01b5f523360045260245ffd5b91908260409103126101d6576020825192015190565b9061016092611ad58360609361196f565b805160020b60a0840152602081015160020b60c0840152604081015160e084015201516101008201526101406101208201525f6101408201520190565b600f0b6f7fffffffffffffffffffffffffffffff198114610957575f0390565b600260015414611b43576002600155565b633ee5aeb560e01b5f5260045ffd5b611b5a611494565b5060405190611b68826113f9565b5f8083526001600160a01b039190911660208301527f000000000000000000000000000000000000000000000000000000000000c35062ffffff16604083015260c86060830152608082015290565b60020b908160ff1d82810118620d89e88111611ed15763ffffffff9192600182167001fffcb933bd6fad37aa2d162d1a59400102600160801b189160028116611eb5575b60048116611e99575b60088116611e7d575b60108116611e61575b60208116611e45575b60408116611e29575b60808116611e0d575b6101008116611df1575b6102008116611dd5575b6104008116611db9575b6108008116611d9d575b6110008116611d81575b6120008116611d65575b6140008116611d49575b6180008116611d2d575b620100008116611d11575b620200008116611cf6575b620400008116611cdb575b6208000016611cc2575b5f12611cba575b0160201c90565b5f1904611cb3565b6b048a170391f7dc42444e8fa290910260801c90611cac565b6d2216e584f5fa1ea926041bedfe9890920260801c91611ca2565b916e5d6af8dedb81196699c329225ee6040260801c91611c97565b916f09aa508b5b7a84e1c677de54f3e99bc90260801c91611c8c565b916f31be135f97d08fd981231505542fcfa60260801c91611c81565b916f70d869a156d2a1b890bb3df62baf32f70260801c91611c77565b916fa9f746462d870fdf8a65dc1f90e061e50260801c91611c6d565b916fd097f3bdfd2022b8845ad8f792aa58250260801c91611c63565b916fe7159475a2c29b7443b29c7fa6e889d90260801c91611c59565b916ff3392b0822b70005940c7a398e4b70f30260801c91611c4f565b916ff987a7253ac413176f2b074cf7815e540260801c91611c45565b916ffcbe86c7900a88aedcffc83b479aa3a40260801c91611c3b565b916ffe5dee046a99a2a811c461f1969c30530260801c91611c31565b916fff2ea16466c96a3843ec78b326b528610260801c91611c28565b916fff973b41fa98c081472e6896dfb254c00260801c91611c1f565b916fffcb9843d60f6159c9db58835c9266440260801c91611c16565b916fffe5caca7e10e4e61c3624eaa0941cd00260801c91611c0d565b916ffff2e50f5f656932ef12357cf3c7fdcc0260801c91611c04565b916ffff97272373d413259a46990580e213a0260801c91611bfb565b826345c3193d60e11b5f5260045260245ffd5b60c89060020b02908160020b91820361095757565b611f0561115319611ee4565b600282900b62010d8719019290627fffff198412627fffff85131761095757838160020b9060020b12611f355750565b9250565b91906001600160a01b0316803b156101d657604051630b0d9c0960e01b81526001600160a01b03938416600482015291909216602482015260448101929092525f908290606490829084905af18015610a7357611f935750565b5f611f9d9161142f565b565b9192916001600160a01b03168061200d5750604051630476982d60e21b81529250602091839160049183916001600160a01b03165af18015610a7357611fe25750565b6120039060203d602011612006575b611ffb818361142f565b810190611a43565b50565b503d611ff1565b6001600160a01b0390911691823b156101d657604051632961046560e21b815260048101839052935a945f816024818389819bf18015610a735761215c575b506001600160a01b0316843082146120f4576020929160649160405195869485936323b872dd60e01b8552600485015288602485015260448401525af180156120e9579160209184936120cc575b505b600460405180958193630476982d60e21b83525af19081156120c05750611fe25750565b604051903d90823e3d90fd5b6120e290833d8511610a6c57610a5e818361142f565b505f61209a565b6040513d85823e3d90fd5b60405163a9059cbb60e01b81526001600160a01b0386166004820152602481019390935291926020928492506044918391905af180156120e95791602091849361213f575b5061209c565b61215590833d8511610a6c57610a5e818361142f565b505f612139565b6121699195505f9061142f565b5f935f61204c565b61217a90612612565b61218f6b033b2e3c9fd0803ce8000000612612565b9080156121c3578160601b91808304600160601b1490151715610957576001600160a01b03916121bf9190611a52565b1690565b60405162461bcd60e51b815260206004820152600c60248201526b07a65726f20616d6f756e74360a41b6044820152606490fd5b73fffd8963efd1fc6a506488495d951d51639616826401000276a21982016001600160a01b0316116124b757602081901b640100000000600160c01b03168080156101d65760ff826001600160801b031060071b83811c6001600160401b031060061b1783811c63ffffffff1060051b1783811c61ffff1060041b1783811c821060031b177f07060605060205000602030205040001060502050303040105050304000000006f8421084210842108cc6318c6db6d54be85831c1c601f161a17169160808310155f146124ab5750607e1982011c5b800280607f1c8160ff1c1c800280607f1c8160ff1c1c800280607f1c8160ff1c1c800280607f1c8160ff1c1c800280607f1c8160ff1c1c800280607f1c8160ff1c1c80029081607f1c8260ff1c1c80029283607f1c8460ff1c1c80029485607f1c8660ff1c1c80029687607f1c8860ff1c1c80029889607f1c8a60ff1c1c80029a8b607f1c8c60ff1c1c80029c8d80607f1c9060ff1c1c800260cd1c6604000000000000169d60cc1c6608000000000000169c60cb1c6610000000000000169b60ca1c6620000000000000169a60c91c6640000000000000169960c81c6680000000000000169860c71c670100000000000000169760c61c670200000000000000169660c51c670400000000000000169560c41c670800000000000000169460c31c671000000000000000169360c21c672000000000000000169260c11c674000000000000000169160c01c6780000000000000001690607f190160401b1717171717171717171717171717693627a301d71055774c85026f028f6481ab7f045a5af012a19d003aa919810160801d60020b906fdb2df09e81959a81455e260799a0632f0160801d60020b918282145f146124875750905090565b6001600160a01b039081169061249c84611bb7565b16116124a6575090565b905090565b905081607f031b6122cc565b6318521d4960e21b5f9081526001600160a01b0391909116600452602490fd5b60020b906124e760c88305611ee4565b915f81129081612516575b506124f957565b9060020b60c71901627fffff198112627fffff8213176109575790565b90508260020b14155f6124f2565b60020b62010d880190627fffff8213627fffff1983121761095757565b61254d61115319611ee4565b612558611154611ee4565b9061256281612524565b60020b908360020b91821261257f57508160020b126124a6575090565b9150506118e19150612524565b6118e1926125bb9290916001600160a01b03808316908216116125c0575b90036001600160a01b03169061265b565b6127ae565b906125aa565b6118e1916125bb91906001600160a01b038082169083161161260c575b6125f96001600160a01b038281169084166126e5565b9190036001600160a01b0316905f61272e565b906125e3565b908115612656578160011c6001810180911161095757825b838210612635575050565b909250826126438183611a52565b9081018091116109575760011c9061262a565b5f9150565b90606082901b905f19600160601b8409928280851094039380850394858411156101d657146126de578190600160601b900981805f03168092046002816003021880820260020302808202600203028082026002030280820260020302808202600203028091026002030293600183805f03040190848311900302920304170290565b5091500490565b81810291905f1982820991838084109303928084039384600160601b11156101d6571461272557600160601b910990828211900360a01b910360601c1790565b50505060601c90565b91818302915f19818509938380861095039480860395868511156101d657146127a6579082910981805f03168092046002816003021880820260020302808202600203028082026002030280820260020302808202600203028091026002030293600183805f03040190848311900302920304170290565b505091500490565b906001600160801b0382168092036127c257565b6393dafdf160e01b5f5260045ffdfe61010060405234610a115761176e8038038061001a81610a15565b92833981019061010081830312610a115780516001600160401b038111610a115782610047918301610a3a565b60208201519091906001600160401b038111610a115783610069918301610a3a565b6040820151916001600160a01b03831691828403610a1157606082015160808301519093906001600160401b038111610a1157876100a8918501610a3a565b60a08401519092906001600160401b038111610a1157886100ca918601610a3a565b60c08501519094906001600160401b038111610a1157896100ec918301610a3a565b60e08201519099906001600160401b038111610a115761010c9201610a3a565b875190976001600160401b0382116105305760035490600182811c92168015610a07575b60208310146105125781601f849311610999575b50602090601f8311600114610933575f92610928575b50508160011b915f199060031b1c1916176003555b8051906001600160401b0382116105305760045490600182811c9216801561091e575b60208310146105125781601f8493116108b0575b50602090601f831160011461084a575f9261083f575b50508160011b915f199060031b1c1916176004555b1561080b5761138883116107d45760a084905260808390523360c0528051906001600160401b0382116105305760055490600182811c921680156107ca575b60208310146105125781601f849311610779575b50602090601f8311600114610713575f92610708575b50508160011b915f199060031b1c1916176005555b8051906001600160401b0382116105305760065490600182811c921680156106fe575b60208310146105125781601f849311610690575b50602090601f831160011461062a575f9261061f575b50508160011b915f199060031b1c1916176006555b83516001600160401b03811161053057600754600181811c91168015610615575b602082101461051257601f81116105b2575b50602094601f821160011461054f579481929394955f92610544575b50508160011b915f199060031b1c1916176007555b82516001600160401b03811161053057600854600181811c91168015610526575b602082101461051257601f81116104af575b506020601f821160011461044c57819293945f92610441575b50508160011b915f199060031b1c1916176008555b4260e052806b033b2e3c9fd0803ce800000002906b033b2e3c9fd0803ce800000082040361042d576127109004806b033b2e3c9fd0803ce8000000036b033b2e3c9fd0803ce8000000811161042d576103cf9033610a8b565b8061041d575b604051610c6f9081610aff82396080518181816104380152610546015260a0518181816102e60152610409015260c05181610751015260e05181818161014e015261045e0152f35b61042691610a8b565b5f806103d5565b634e487b7160e01b5f52601160045260245ffd5b015190505f80610361565b601f1982169060085f52805f20915f5b8181106104975750958360019596971061047f575b505050811b01600855610376565b01515f1960f88460031b161c191690555f8080610471565b9192602060018192868b01518155019401920161045c565b60085f527ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee3601f830160051c81019160208410610508575b601f0160051c01905b8181106104fd5750610348565b5f81556001016104f0565b90915081906104e7565b634e487b7160e01b5f52602260045260245ffd5b90607f1690610336565b634e487b7160e01b5f52604160045260245ffd5b015190505f80610300565b601f1982169560075f52805f20915f5b88811061059a57508360019596979810610582575b505050811b01600755610315565b01515f1960f88460031b161c191690555f8080610574565b9192602060018192868501518155019401920161055f565b60075f527fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c688601f830160051c8101916020841061060b575b601f0160051c01905b81811061060057506102e4565b5f81556001016105f3565b90915081906105ea565b90607f16906102d2565b015190505f8061029c565b60065f9081528281209350601f198516905b8181106106785750908460019594939210610660575b505050811b016006556102b1565b01515f1960f88460031b161c191690555f8080610652565b9293602060018192878601518155019501930161063c565b60065f529091507ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f601f840160051c810191602085106106f4575b90601f859493920160051c01905b8181106106e65750610286565b5f81558493506001016106d9565b90915081906106cb565b91607f1691610272565b015190505f8061023a565b60055f9081528281209350601f198516905b8181106107615750908460019594939210610749575b505050811b0160055561024f565b01515f1960f88460031b161c191690555f808061073b565b92936020600181928786015181550195019301610725565b90915060055f5260205f20601f840160051c810191602085106107c0575b90601f859493920160051c01905b8181106107b25750610224565b5f81558493506001016107a5565b9091508190610797565b91607f1691610210565b60405162461bcd60e51b815260206004820152600f60248201526e7265736572766520746f6f2062696760881b6044820152606490fd5b60405162461bcd60e51b815260206004820152600c60248201526b7a65726f207265736572766560a01b6044820152606490fd5b015190505f806101bc565b60045f9081528281209350601f198516905b8181106108985750908460019594939210610880575b505050811b016004556101d1565b01515f1960f88460031b161c191690555f8080610872565b9293602060018192878601518155019501930161085c565b60045f529091507f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b601f840160051c81019160208510610914575b90601f859493920160051c01905b81811061090657506101a6565b5f81558493506001016108f9565b90915081906108eb565b91607f1691610192565b015190505f8061015a565b60035f9081528281209350601f198516905b8181106109815750908460019594939210610969575b505050811b0160035561016f565b01515f1960f88460031b161c191690555f808061095b565b92936020600181928786015181550195019301610945565b60035f529091507fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b601f840160051c810191602085106109fd575b90601f859493920160051c01905b8181106109ef5750610144565b5f81558493506001016109e2565b90915081906109d4565b91607f1691610130565b5f80fd5b6040519190601f01601f191682016001600160401b0381118382101761053057604052565b81601f82011215610a11578051906001600160401b03821161053057610a69601f8301601f1916602001610a15565b9282845260208383010111610a1157815f9260208093018386015e8301015290565b6001600160a01b0316908115610aeb576002549080820180921161042d5760207fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef915f9360025584845283825260408420818154019055604051908152a3565b63ec442f0560e01b5f525f60045260245ffdfe60806040526004361015610011575f80fd5b5f3560e01c806306fdde031461081d578063095ea7b31461079b578063135d088d1461078057806316eebd1e1461073c57806318160ddd1461071f57806323b872dd1461063f578063313ce5671461062457806331ff215f14610569578063389254491461052f57806370a08231146104f8578063902d55a5146104d257806395d89b41146104b7578063a9059cbb14610486578063abb1dc441461038c578063b29b86af14610315578063cd3293de146102d1578063d8f3e26d146102b5578063dd62ed3e14610265578063df9ce79414610171578063eae4c19f146101375763f516b42214610100575f80fd5b34610133575f3660031901126101335761012f61011b610ad0565b604051918291602083526020830190610838565b0390f35b5f80fd5b34610133575f3660031901126101335760206040517f00000000000000000000000000000000000000000000000000000000000000008152f35b34610133575f366003190112610133576040515f6008548060011c9060018116801561025b575b6020831081146102475782855290811561022357506001146101c5575b61012f8361011b81850382610888565b60085f9081527ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee3939250905b8082106102095750909150810160200161011b6101b5565b9192600181602092548385880101520191019092916101f1565b60ff191660208086019190915291151560051b8401909101915061011b90506101b5565b634e487b7160e01b5f52602260045260245ffd5b91607f1691610198565b346101335760403660031901126101335761027e61085c565b610286610872565b6001600160a01b039182165f908152600160209081526040808320949093168252928352819020549051908152f35b34610133575f3660031901126101335760206040516113888152f35b34610133575f366003190112610133576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b34610133575f36600319011261013357604051604081019080821067ffffffffffffffff8311176103785761012f91604052601081526f696d6f7274616c2d7175616e742d763160801b6020820152604051918291602083526020830190610838565b634e487b7160e01b5f52604160045260245ffd5b34610133575f366003190112610133576103dd6103a76108aa565b6104076103b2610a24565b6103f96103bd610978565b6103eb6103c8610ad0565b9360405197889760e0895260e0890190610838565b908782036020890152610838565b908582036040870152610838565b908382036060850152610838565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031660808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f000000000000000000000000000000000000000000000000000000000000000060c08301520390f35b34610133576040366003190112610133576104ac6104a261085c565b6024359033610b7c565b602060405160018152f35b34610133575f3660031901126101335761012f61011b610a24565b34610133575f3660031901126101335760206040516b033b2e3c9fd0803ce80000008152f35b34610133576020366003190112610133576001600160a01b0361051961085c565b165f525f602052602060405f2054604051908152f35b34610133575f3660031901126101335760206040517f00000000000000000000000000000000000000000000000000000000000000008152f35b34610133575f366003190112610133576040515f6007548060011c9060018116801561061a575b6020831081146102475782855290811561022357506001146105bc5761012f8361011b81850382610888565b60075f9081527fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c688939250905b8082106106005750909150810160200161011b6101b5565b9192600181602092548385880101520191019092916105e8565b91607f1691610590565b34610133575f36600319011261013357602060405160128152f35b346101335760603660031901126101335761065861085c565b610660610872565b6001600160a01b0382165f81815260016020818152604080842033855290915290912054919360443593929091810161069f575b506104ac9350610b7c565b8381106107045784156106f15733156106de576104ac945f52600160205260405f2060018060a01b0333165f526020528360405f209103905584610694565b634a1406b160e11b5f525f60045260245ffd5b63e602df0560e01b5f525f60045260245ffd5b8390637dc7a0d960e11b5f523360045260245260445260645ffd5b34610133575f366003190112610133576020600254604051908152f35b34610133575f366003190112610133576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b34610133575f3660031901126101335761012f61011b610978565b34610133576040366003190112610133576107b461085c565b6024359033156106f1576001600160a01b03169081156106de57335f52600160205260405f20825f526020528060405f20556040519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560203392a3602060405160018152f35b34610133575f3660031901126101335761012f61011b6108aa565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b600435906001600160a01b038216820361013357565b602435906001600160a01b038216820361013357565b90601f8019910116810190811067ffffffffffffffff82111761037857604052565b604051905f6003548060011c916001821691821561096e575b60208410831461024757838652859290811561094f57506001146108f0575b6108ee92500383610888565b565b5060035f90815290917fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5b8183106109335750509060206108ee928201016108e2565b602091935080600191548385890101520191019091849261091b565b602092506108ee94915060ff191682840152151560051b8201016108e2565b92607f16926108c3565b604051905f6005548060011c9160018216918215610a1a575b60208410831461024757838652859290811561094f57506001146109bb576108ee92500383610888565b5060055f90815290917f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db05b8183106109fe5750509060206108ee928201016108e2565b60209193508060019154838589010152019101909184926109e6565b92607f1692610991565b604051905f6004548060011c9160018216918215610ac6575b60208410831461024757838652859290811561094f5750600114610a67576108ee92500383610888565b5060045f90815290917f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b5b818310610aaa5750509060206108ee928201016108e2565b6020919350806001915483858901015201910190918492610a92565b92607f1692610a3d565b604051905f6006548060011c9160018216918215610b72575b60208410831461024757838652859290811561094f5750600114610b13576108ee92500383610888565b5060065f90815290917ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f5b818310610b565750509060206108ee928201016108e2565b6020919350806001915483858901015201910190918492610b3e565b92607f1692610ae9565b6001600160a01b0316908115610c26576001600160a01b0316918215610c1357815f525f60205260405f2054818110610bfa57817fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92602092855f525f84520360405f2055845f525f825260405f20818154019055604051908152a3565b8263391434e360e21b5f5260045260245260445260645ffd5b63ec442f0560e01b5f525f60045260245ffd5b634b637e8f60e11b5f525f60045260245ffdfea26469706673582212206438306b43a8d7ed9f4d548e8d3912452c464f00e19a6fc86d36b5970c319b5964736f6c634300081c0033a2646970667358221220880387327df84ada62c7356b791bd5a66391146132377f901aeff989633e7c7864736f6c634300081c0033
| Token | Symbol | Balance | Price | Value |
|---|---|---|---|---|
| no token holdings | ||||
| Type | Age | Block | Details |
|---|---|---|---|
| no cross-chain L1↔L2 transactions for this address | |||
| Txn Hash | Age | Event | Topics / Data |
|---|---|---|---|
| 0x066007…26f07e | 1 day agoSun, 16 Aug 2026 23:32:53 UTC | 0x583c5a…32d9 | [0] 0x000000000000…948e6dd4 [1] 0x000000000000…3df2695e [2] 0xa2578e02243c…fbf8ff57 data: 0x000000000000000000…00000000 |
| 0x066007…26f07e | 1 day agoSun, 16 Aug 2026 23:32:53 UTC | 0x433237…9711 | [0] 0x000000000000…948e6dd4 [1] 0x000000000000…3df2695e [2] 0x000000000000…3df2695e data: 0x000000000000000000…00000001 |
| 0x066007…26f07e | 1 day agoSun, 16 Aug 2026 23:32:53 UTC | 0xa4e679…1b68 | [0] 0x000000000000…3df2695e data: 0x000000000000000000…000033c5 |
| 0x066007…26f07e | 1 day agoSun, 16 Aug 2026 23:32:53 UTC | 0xb8286d…9bbb | [0] 0x000000000000…948e6dd4 data: 0x000000000000000000…00031448 |
| 0xbfd582…3f58ce | 1 day agoSun, 16 Aug 2026 23:25:54 UTC | 0x583c5a…32d9 | [0] 0x000000000000…6c4fde0a [1] 0x000000000000…3df2695e [2] 0x71591be97f32…6446a3ae data: 0x000000000000000000…00000000 |
| 0xbfd582…3f58ce | 1 day agoSun, 16 Aug 2026 23:25:54 UTC | 0x433237…9711 | [0] 0x000000000000…6c4fde0a [1] 0x000000000000…3df2695e [2] 0x000000000000…3df2695e data: 0x000000000000000000…00000000 |
| 0xbfd582…3f58ce | 1 day agoSun, 16 Aug 2026 23:25:54 UTC | 0xa4e679…1b68 | [0] 0x000000000000…3df2695e data: 0x000000000000000000…00000a3a |
| 0xbfd582…3f58ce | 1 day agoSun, 16 Aug 2026 23:25:54 UTC | 0xb8286d…9bbb | [0] 0x000000000000…6c4fde0a data: 0x000000000000000000…00031448 |
| 0x59627d…a0bb04 | 1 day agoSun, 16 Aug 2026 23:24:32 UTC | 0x8be007…57e0 | [0] 0x000000000000…00000000 [1] 0x000000000000…3df2695e |
| Transaction Hash | Method | Block | Age | From | To | Type | Item | ||
|---|---|---|---|---|---|---|---|---|---|
| no NFT transfers for this address yet | |||||||||
| Block | Age | Parent Transaction Hash | Type | Method | From | To | Value | |
|---|---|---|---|---|---|---|---|---|
| no internal transactions found for this address yet (traced blocks + on-demand) | ||||||||
| Transaction Hash | Method ? | Block | Age | From | To | Amount | Txn Fee ? | ||
|---|---|---|---|---|---|---|---|---|---|
| 0x066007…26f07e | launch | 38,373,073 | 1 day agoSun, 16 Aug 2026 23:32:53 UTC | 0x48a4…695e | IN | Pump | $0.000 ETH | 0.00002857 | |
| 0xbfd582…3f58ce | launch | 38,368,899 | 1 day agoSun, 16 Aug 2026 23:25:54 UTC | 0x48a4…695e | IN | Pump | $0.000 ETH | 0.00002909 |
| Transaction Hash | Method | Block | Age | From | To | Amount | Token | ||
|---|---|---|---|---|---|---|---|---|---|
| 0x0660076f…26f07e | Transfer | 38,373,073 | 1 day agoSun, 16 Aug 2026 23:32:53 UTC | 0x7a97…ff3c | OUT | 0x48a4…695e | 0.000000 .PUMP | .pump (.PUMP) | |
| 0x0660076f…26f07e | Transfer | 38,373,073 | 1 day agoSun, 16 Aug 2026 23:32:53 UTC | 0x7a97…ff3c | OUT | 0x8366…0951 | 800,000,000.000000 .PUMP | .pump (.PUMP) | |
| 0x0660076f…26f07e | Transfer | 38,373,073 | 1 day agoSun, 16 Aug 2026 23:32:53 UTC | 0x0000…0000 | IN | 0x7a97…ff3c | 800,000,000.000000 .PUMP | .pump (.PUMP) | |
| 0xbfd582ac…3f58ce | Transfer | 38,368,899 | 1 day agoSun, 16 Aug 2026 23:25:54 UTC | 0x7a97…ff3c | OUT | 0x48a4…695e | 0.000000 | 0x0714…de0a | |
| 0xbfd582ac…3f58ce | Transfer | 38,368,899 | 1 day agoSun, 16 Aug 2026 23:25:54 UTC | 0x7a97…ff3c | OUT | 0x8366…0951 | 950,000,000.000000 | 0x0714…de0a | |
| 0xbfd582ac…3f58ce | Transfer | 38,368,899 | 1 day agoSun, 16 Aug 2026 23:25:54 UTC | 0x0000…0000 | IN | 0x7a97…ff3c | 950,000,000.000000 | 0x0714…de0a |