Overview
ETH Balance
0 ETH
ETH Value
$0.00
Cross-Chain Transactions
Loading...
Loading
Contract Source Code (Solidity Standard Json-Input format)
Contract Security Audit
No Contract Security Audit SubmittedSubmit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"contract IAlgebraPoolDeployer","name":"_deployer","type":"address"},{"internalType":"contract INonfungiblePositionManager","name":"_nonfungiblePositionManager","type":"address"},{"internalType":"uint256","name":"_maxIncentiveStartLeadTime","type":"uint256"},{"internalType":"uint256","name":"_maxIncentiveDuration","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"newStatus","type":"bool"}],"name":"EmergencyWithdraw","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"},{"indexed":true,"internalType":"bytes32","name":"incentiveId","type":"bytes32"},{"indexed":true,"internalType":"address","name":"rewardAddress","type":"address"},{"indexed":false,"internalType":"address","name":"bonusRewardToken","type":"address"},{"indexed":false,"internalType":"address","name":"owner","type":"address"},{"indexed":false,"internalType":"uint256","name":"reward","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"bonusReward","type":"uint256"}],"name":"FarmEnded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"},{"indexed":true,"internalType":"bytes32","name":"incentiveId","type":"bytes32"},{"indexed":false,"internalType":"uint128","name":"liquidity","type":"uint128"},{"indexed":false,"internalType":"uint256","name":"tokensLocked","type":"uint256"}],"name":"FarmEntered","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"farmingCenter","type":"address"}],"name":"FarmingCenter","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"contract IERC20Minimal","name":"rewardToken","type":"address"},{"indexed":true,"internalType":"contract IERC20Minimal","name":"bonusRewardToken","type":"address"},{"indexed":true,"internalType":"contract IAlgebraPool","name":"pool","type":"address"},{"indexed":false,"internalType":"address","name":"virtualPool","type":"address"},{"indexed":false,"internalType":"uint256","name":"startTime","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"endTime","type":"uint256"}],"name":"IncentiveDeactivated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"incentiveMaker","type":"address"}],"name":"IncentiveMaker","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"contract IERC20Minimal","name":"rewardToken","type":"address"},{"indexed":true,"internalType":"contract IERC20Minimal","name":"bonusRewardToken","type":"address"},{"indexed":true,"internalType":"contract IAlgebraPool","name":"pool","type":"address"},{"indexed":false,"internalType":"uint256","name":"startTime","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"endTime","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"reward","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"bonusReward","type":"uint256"},{"components":[{"internalType":"uint256","name":"tokenAmountForTier1","type":"uint256"},{"internalType":"uint256","name":"tokenAmountForTier2","type":"uint256"},{"internalType":"uint256","name":"tokenAmountForTier3","type":"uint256"},{"internalType":"uint32","name":"tier1Multiplier","type":"uint32"},{"internalType":"uint32","name":"tier2Multiplier","type":"uint32"},{"internalType":"uint32","name":"tier3Multiplier","type":"uint32"}],"indexed":false,"internalType":"struct IAlgebraFarming.Tiers","name":"tiers","type":"tuple"},{"indexed":false,"internalType":"address","name":"multiplierToken","type":"address"},{"indexed":false,"internalType":"uint24","name":"minimalAllowedPositionWidth","type":"uint24"},{"indexed":false,"internalType":"uint32","name":"enterStartTime","type":"uint32"}],"name":"LimitFarmingCreated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"}],"name":"Owner","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"reward","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"bonusReward","type":"uint256"},{"indexed":false,"internalType":"bytes32","name":"incentiveId","type":"bytes32"}],"name":"RewardAmountsDecreased","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"reward","type":"uint256"},{"indexed":true,"internalType":"address","name":"rewardAddress","type":"address"},{"indexed":true,"internalType":"address","name":"owner","type":"address"}],"name":"RewardClaimed","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"rewardAmount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"bonusRewardAmount","type":"uint256"},{"indexed":false,"internalType":"bytes32","name":"incentiveId","type":"bytes32"}],"name":"RewardsAdded","type":"event"},{"inputs":[{"components":[{"internalType":"contract IERC20Minimal","name":"rewardToken","type":"address"},{"internalType":"contract IERC20Minimal","name":"bonusRewardToken","type":"address"},{"internalType":"contract IAlgebraPool","name":"pool","type":"address"},{"internalType":"uint256","name":"startTime","type":"uint256"},{"internalType":"uint256","name":"endTime","type":"uint256"}],"internalType":"struct IIncentiveKey.IncentiveKey","name":"key","type":"tuple"},{"internalType":"uint256","name":"reward","type":"uint256"},{"internalType":"uint256","name":"bonusReward","type":"uint256"}],"name":"addRewards","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract IERC20Minimal","name":"rewardToken","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amountRequested","type":"uint256"}],"name":"claimReward","outputs":[{"internalType":"uint256","name":"reward","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract IERC20Minimal","name":"rewardToken","type":"address"},{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amountRequested","type":"uint256"}],"name":"claimRewardFrom","outputs":[{"internalType":"uint256","name":"reward","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"contract IERC20Minimal","name":"rewardToken","type":"address"},{"internalType":"contract IERC20Minimal","name":"bonusRewardToken","type":"address"},{"internalType":"contract IAlgebraPool","name":"pool","type":"address"},{"internalType":"uint256","name":"startTime","type":"uint256"},{"internalType":"uint256","name":"endTime","type":"uint256"}],"internalType":"struct IIncentiveKey.IncentiveKey","name":"key","type":"tuple"},{"components":[{"internalType":"uint256","name":"tokenAmountForTier1","type":"uint256"},{"internalType":"uint256","name":"tokenAmountForTier2","type":"uint256"},{"internalType":"uint256","name":"tokenAmountForTier3","type":"uint256"},{"internalType":"uint32","name":"tier1Multiplier","type":"uint32"},{"internalType":"uint32","name":"tier2Multiplier","type":"uint32"},{"internalType":"uint32","name":"tier3Multiplier","type":"uint32"}],"internalType":"struct IAlgebraFarming.Tiers","name":"tiers","type":"tuple"},{"components":[{"internalType":"uint256","name":"reward","type":"uint256"},{"internalType":"uint256","name":"bonusReward","type":"uint256"},{"internalType":"uint24","name":"minimalPositionWidth","type":"uint24"},{"internalType":"address","name":"multiplierToken","type":"address"},{"internalType":"uint32","name":"enterStartTime","type":"uint32"}],"internalType":"struct IAlgebraLimitFarming.IncentiveParams","name":"params","type":"tuple"}],"name":"createLimitFarming","outputs":[{"internalType":"address","name":"virtualPool","type":"address"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"contract IERC20Minimal","name":"rewardToken","type":"address"},{"internalType":"contract IERC20Minimal","name":"bonusRewardToken","type":"address"},{"internalType":"contract IAlgebraPool","name":"pool","type":"address"},{"internalType":"uint256","name":"startTime","type":"uint256"},{"internalType":"uint256","name":"endTime","type":"uint256"}],"internalType":"struct IIncentiveKey.IncentiveKey","name":"key","type":"tuple"}],"name":"deactivateIncentive","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"contract IERC20Minimal","name":"rewardToken","type":"address"},{"internalType":"contract IERC20Minimal","name":"bonusRewardToken","type":"address"},{"internalType":"contract IAlgebraPool","name":"pool","type":"address"},{"internalType":"uint256","name":"startTime","type":"uint256"},{"internalType":"uint256","name":"endTime","type":"uint256"}],"internalType":"struct IIncentiveKey.IncentiveKey","name":"key","type":"tuple"},{"internalType":"uint256","name":"rewardAmount","type":"uint256"},{"internalType":"uint256","name":"bonusRewardAmount","type":"uint256"}],"name":"decreaseRewardsAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"deployer","outputs":[{"internalType":"contract IAlgebraPoolDeployer","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"contract IERC20Minimal","name":"rewardToken","type":"address"},{"internalType":"contract IERC20Minimal","name":"bonusRewardToken","type":"address"},{"internalType":"contract IAlgebraPool","name":"pool","type":"address"},{"internalType":"uint256","name":"startTime","type":"uint256"},{"internalType":"uint256","name":"endTime","type":"uint256"}],"internalType":"struct IIncentiveKey.IncentiveKey","name":"key","type":"tuple"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"uint256","name":"tokensLocked","type":"uint256"}],"name":"enterFarming","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"contract IERC20Minimal","name":"rewardToken","type":"address"},{"internalType":"contract IERC20Minimal","name":"bonusRewardToken","type":"address"},{"internalType":"contract IAlgebraPool","name":"pool","type":"address"},{"internalType":"uint256","name":"startTime","type":"uint256"},{"internalType":"uint256","name":"endTime","type":"uint256"}],"internalType":"struct IIncentiveKey.IncentiveKey","name":"key","type":"tuple"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"address","name":"_owner","type":"address"}],"name":"exitFarming","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"farmingCenter","outputs":[{"internalType":"contract IFarmingCenter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"farms","outputs":[{"internalType":"uint128","name":"liquidity","type":"uint128"},{"internalType":"int24","name":"tickLower","type":"int24"},{"internalType":"int24","name":"tickUpper","type":"int24"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"contract IERC20Minimal","name":"rewardToken","type":"address"},{"internalType":"contract IERC20Minimal","name":"bonusRewardToken","type":"address"},{"internalType":"contract IAlgebraPool","name":"pool","type":"address"},{"internalType":"uint256","name":"startTime","type":"uint256"},{"internalType":"uint256","name":"endTime","type":"uint256"}],"internalType":"struct IIncentiveKey.IncentiveKey","name":"key","type":"tuple"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"getRewardInfo","outputs":[{"internalType":"uint256","name":"reward","type":"uint256"},{"internalType":"uint256","name":"bonusReward","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"incentiveMaker","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"incentives","outputs":[{"internalType":"uint256","name":"totalReward","type":"uint256"},{"internalType":"uint256","name":"bonusReward","type":"uint256"},{"internalType":"address","name":"virtualPoolAddress","type":"address"},{"internalType":"uint24","name":"minimalPositionWidth","type":"uint24"},{"internalType":"uint224","name":"totalLiquidity","type":"uint224"},{"internalType":"address","name":"multiplierToken","type":"address"},{"internalType":"bool","name":"deactivated","type":"bool"},{"components":[{"internalType":"uint256","name":"tokenAmountForTier1","type":"uint256"},{"internalType":"uint256","name":"tokenAmountForTier2","type":"uint256"},{"internalType":"uint256","name":"tokenAmountForTier3","type":"uint256"},{"internalType":"uint32","name":"tier1Multiplier","type":"uint32"},{"internalType":"uint32","name":"tier2Multiplier","type":"uint32"},{"internalType":"uint32","name":"tier3Multiplier","type":"uint32"}],"internalType":"struct IAlgebraFarming.Tiers","name":"tiers","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isEmergencyWithdrawActivated","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxIncentiveDuration","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxIncentiveStartLeadTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"nonfungiblePositionManager","outputs":[{"internalType":"contract INonfungiblePositionManager","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"contract IERC20Minimal","name":"","type":"address"}],"name":"rewards","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"newStatus","type":"bool"}],"name":"setEmergencyWithdrawStatus","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_farmingCenter","type":"address"}],"name":"setFarmingCenterAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_incentiveMaker","type":"address"}],"name":"setIncentiveMaker","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"setOwner","outputs":[],"stateMutability":"nonpayable","type":"function"}]Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106101985760003560e01c8063890cdcb3116100e3578063dd56e5d81161008c578063f225631911610066578063f225631914610340578063f43930a314610355578063f9d5111c1461036857610198565b8063dd56e5d814610312578063df42efda1461031a578063e70b9e271461032d57610198565b8063b44a2722116100bd578063b44a2722146102ef578063bf26a1d1146102f7578063d5f394881461030a57610198565b8063890cdcb3146102b45780638da5cb5b146102c757806391045831146102dc57610198565b80633dc0714b11610145578063779fa0c41161011f578063779fa0c41461027b578063826cc0a11461028e578063879d08ab146102a157610198565b80633dc0714b1461022b5780636077779514610233578063704972f41461025a57610198565b806313af40351161017657806313af4035146101e357806327e6a99a146101f65780632f2d783d1461021857610198565b806301b754401461019d5780630705506b146101bb5780630a530754146101d0575b600080fd5b6101a5610370565b6040516101b2919061413a565b60405180910390f35b6101ce6101c9366004613784565b610394565b005b6101a56101de366004613591565b610b33565b6101ce6101f1366004613475565b610b54565b61020961020436600461389a565b610bf3565b6040516101b2939291906140ea565b6101a56102263660046135e1565b610c57565b6101a5610c6f565b610246610241366004613579565b610c93565b6040516101b2989796959493929190614151565b61026d61026836600461375a565b610d80565b6040516101b2929190614143565b6101ce610289366004613475565b611016565b6101ce61029c3660046137c4565b6110b5565b6101ce6102af36600461363b565b611172565b6101ce6102c2366004613513565b6111b4565b6102cf611269565b6040516101b29190613920565b6102cf6102ea366004613656565b611285565b6102cf611730565b6101ce6103053660046137c4565b611754565b6102cf61187b565b6102cf61189f565b6101ce610328366004613475565b6118bb565b6101a561033b3660046134e6565b611958565b610348611975565b6040516101b291906139eb565b6101ce6103633660046137c4565b611996565b6102cf611cd0565b7f0000000000000000000000000000000000000000000000000000000000278d0081565b61039c611cec565b60006103a784611d12565b600081815260016020908152604080832087845260058352818420858552835292819020815160608101835290546fffffffffffffffffffffffffffffffff81168083527001000000000000000000000000000000008204600290810b810b810b95840195909552730100000000000000000000000000000000000000909104840b840b90930b9181019190915292935090919061047a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161047190613dda565b60405180910390fd5b60035474010000000000000000000000000000000000000000900460ff1615610541576000858152600560209081526040808320868452825280832080547fffffffffffffffffffff00000000000000000000000000000000000000000000169055885191890151905173ffffffffffffffffffffffffffffffffffffffff90921692869289927f7f2557bb15dcf63e3d029ef1dcb4333563fcd78edf263b8fe42ed3adb925ff8492610531928b91908190613987565b60405180910390a4505050610b2e565b85608001514211806105565750856060015142105b61058c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161047190614037565b60028201546080870151600091829173ffffffffffffffffffffffffffffffffffffffff90911690421115610889576000808273ffffffffffffffffffffffffffffffffffffffff1663d56b28896040518163ffffffff1660e01b81526004016040805180830381600087803b15801561060557600080fd5b505af1158015610619573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061063d919061354b565b63ffffffff1692509050806106ee5761065a8b6040015184611d43565b156106ee57600080546040808e015190517fd8a900b100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9092169263d8a900b1926106bb9291906004016139f6565b600060405180830381600087803b1580156106d557600080fd5b505af11580156106e9573d6000803e3d6000fd5b505050505b5060008273ffffffffffffffffffffffffffffffffffffffff16631fcd27fd876020015188604001516040518363ffffffff1660e01b8152600401610734929190613a1d565b60206040518083038186803b15801561074c57600080fd5b505afa158015610760573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107849190613491565b905060008083116107b75760038801547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff166107ba565b60005b885488519192506107ce9185908486611df5565b73ffffffffffffffffffffffffffffffffffffffff8b1660009081526004602052604090209096508615610829578c5173ffffffffffffffffffffffffffffffffffffffff1660009081526020829052604090208054880190555b600189015415610880576108488960010154858a600001518587611df5565b95508515610880576020808e015173ffffffffffffffffffffffffffffffffffffffff16600090815290829052604090208054870190555b50505050610a88565b600485015474010000000000000000000000000000000000000000900460ff166108ca576108bb896040015182611d43565b6108ca576108ca898287611e85565b600485015460009074010000000000000000000000000000000000000000900460ff16610903576108fe8a604001516120a3565b610981565b8173ffffffffffffffffffffffffffffffffffffffff16638e76c3326040518163ffffffff1660e01b815260040160206040518083038186803b15801561094957600080fd5b505afa15801561095d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109819190613621565b90508173ffffffffffffffffffffffffffffffffffffffff16630f1019bc42876020015188604001516109c98a600001516fffffffffffffffffffffffffffffffff16612130565b600003866040518663ffffffff1660e01b81526004016109ed9594939291906142f0565b600060405180830381600087803b158015610a0757600080fd5b505af1158015610a1b573d6000803e3d6000fd5b505086516003890180547fffffffff0000000000000000000000000000000000000000000000000000000081166fffffffffffffffffffffffffffffffff9093167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff91821603169190911790555050505b600088815260056020908152604080832089845282529182902080547fffffffffffffffffffff000000000000000000000000000000000000000000001690558a51908b0151915173ffffffffffffffffffffffffffffffffffffffff9091169188918b917f7f2557bb15dcf63e3d029ef1dcb4333563fcd78edf263b8fe42ed3adb925ff8491610b1f91908d908a908a90613987565b60405180910390a45050505050505b505050565b6000610b3d611cec565b610b4985858585612141565b90505b949350505050565b610b5c6122a5565b60035473ffffffffffffffffffffffffffffffffffffffff82811691161415610b8457600080fd5b600380547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517fa5e220c2c27d986cc8efeafa8f34ba6ea6bf96a34e146b29b6bdd8587771b13090600090a250565b60056020908152600092835260408084209091529082529020546fffffffffffffffffffffffffffffffff8116907001000000000000000000000000000000008104600290810b917301000000000000000000000000000000000000009004900b83565b6000610c6584338585612141565b90505b9392505050565b7f0000000000000000000000000000000000000000000000000000000003c2670081565b600160208181526000928352604092839020805492810154600282015460038301546004840154875160c0810189526005860154815260068601549681019690965260078501549786019790975260089093015463ffffffff8082166060870152640100000000820481166080870152680100000000000000009091041660a08501529394909373ffffffffffffffffffffffffffffffffffffffff80821694740100000000000000000000000000000000000000009283900462ffffff16947bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16939182169290910460ff169088565b6000806000610d8e85611d12565b6000858152600560209081526040808320848452825291829020825160608101845290546fffffffffffffffffffffffffffffffff81168083527001000000000000000000000000000000008204600290810b810b810b94840194909452730100000000000000000000000000000000000000909104830b830b90920b9281019290925291925090610e4c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161047190613dda565b60008281526001602090815260408083206002810154928501518583015192517f1fcd27fd000000000000000000000000000000000000000000000000000000008152919473ffffffffffffffffffffffffffffffffffffffff90941693928492631fcd27fd92610ec1929091600401613a1d565b60206040518083038186803b158015610ed957600080fd5b505afa158015610eed573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f119190613491565b9050600089606001518373ffffffffffffffffffffffffffffffffffffffff16638eebc5d66040518163ffffffff1660e01b815260040160206040518083038186803b158015610f6057600080fd5b505afa158015610f74573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f9891906138d7565b63ffffffff168b60800151030390506000808211610fd85760038501547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16610fdb565b60005b85548751919250610fef9184908487611df5565b985061100685600101548388600001518487611df5565b9750505050505050509250929050565b61101e6122a5565b60025473ffffffffffffffffffffffffffffffffffffffff8281169116141561104657600080fd5b600280547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517f7aa996b8cecffbf29f5d2a3564db96e010e2dcae822601312970ae9690ec1c5290600090a250565b6110bd6122c9565b826080015142106110fa576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161047190613cda565b600061110584611d12565b6000818152600160205260409020909150611122858585846122ed565b90945092508383171561116b577f8b0312d8047895ce795779b66b705ccd39b1ece7c162f642c72d76a785d1b68a84848460405161116293929190614219565b60405180910390a15b5050505050565b61117a6122c9565b6000611185826123dd565b60028101549092506111b09150839073ffffffffffffffffffffffffffffffffffffffff1683611e85565b5050565b6111bc6122a5565b60035460ff7401000000000000000000000000000000000000000090910416151581151514156111eb57600080fd5b600380547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1674010000000000000000000000000000000000000000831515021790556040517fee20b3d336390a4b077dbc7d702bf6e35a954bc96106f37b9e5ef08a1d0ce0599061125e9083906139eb565b60405180910390a150565b60035473ffffffffffffffffffffffffffffffffffffffff1681565b600061128f6122c9565b600061129e8560400151612439565b5090506000856040015173ffffffffffffffffffffffffffffffffffffffff1663facb0eb16040518163ffffffff1660e01b815260040160206040518083038186803b1580156112ed57600080fd5b505afa158015611301573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113259190613491565b9050600073ffffffffffffffffffffffffffffffffffffffff8316156113c6578273ffffffffffffffffffffffffffffffffffffffff166309670d0e6040518163ffffffff1660e01b815260040160206040518083038186803b15801561138b57600080fd5b505afa15801561139f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113c391906138d7565b90505b428163ffffffff1610801561142557508273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141580611425575073ffffffffffffffffffffffffffffffffffffffff8316155b61145b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161047190613d6c565b8451611493576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161047190613f24565b86606001514211156114d1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161047190613b44565b7f0000000000000000000000000000000000000000000000000000000000278d00428860600151031115611531576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161047190613a9f565b8660800151876060015110611572576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161047190613fc9565b7f0000000000000000000000000000000000000000000000000000000003c26700876060015188608001510311156115d6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161047190613a31565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1630886040015189606001518a6080015160405161161390613399565b611621959493929190613941565b604051809103906000f08015801561163d573d6000803e3d6000fd5b50935061165f84888760000151886020015189604001518a606001518c6124e8565b909150866000018760200182815250828152505050866040015173ffffffffffffffffffffffffffffffffffffffff16876020015173ffffffffffffffffffffffffffffffffffffffff16886000015173ffffffffffffffffffffffffffffffffffffffff167f6517093e0e3ead0ace5e67709afeb423b13b98872efec187ed6162cb2b5e488a8a606001518b608001518a600001518b602001518d8d606001518e604001518f6080015160405161171e98979695949392919061422f565b60405180910390a45050509392505050565b7f0000000000000000000000009c889480b54643c419756b6f4d8e8cd673df954081565b61175c6122c9565b600061176784611d12565b60008181526001602052604090206080860151919250904210806117ab575060038101547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16155b6117e1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161047190613f5b565b80548085106117f1576001810394505b8481038255600182015480851115611807578094505b848103600184015585156118225786516118229033886127f1565b841561183757611837876020015133876127f1565b7f808ecc37f6d601dde1e43c133bee66af0ff9409b53aca0eb0d4f6c65fb8956e886868660405161186a93929190614219565b60405180910390a150505050505050565b7f000000000000000000000000e4dfd4ad723b5db11aa41d53603db03b117ec69081565b60005473ffffffffffffffffffffffffffffffffffffffff1681565b6118c36122a5565b60005473ffffffffffffffffffffffffffffffffffffffff828116911614156118eb57600080fd5b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8316908117825560405190917f29f9e1ebeee07596f3165f3e42cb9d4d8d22b0481e968d6c74be3dd037c15d9b91a250565b600460209081526000928352604080842090915290825290205481565b60035474010000000000000000000000000000000000000000900460ff1681565b61199e611cec565b60035474010000000000000000000000000000000000000000900460ff16156119f3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161047190613b0d565b82606001514210611a30576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161047190614000565b600080600080611a418787876129c6565b5060008a815260056020908152604080832087845291829052909120549498509296509094509250906fffffffffffffffffffffffffffffffff1615611ab3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161047190613ad6565b600085815260016020526040902060038101547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff908116906fffffffffffffffffffffffffffffffff8516820116811115611b36576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161047190613f92565b6003820180547fffffffff00000000000000000000000000000000000000000000000000000000166fffffffffffffffffffffffffffffffff8681168481017bffffffffffffffffffffffffffffffffffffffffffffffffffffffff169290921790925560408051606081018252918252600289810b60208085019182528a830b85850190815260008e8152918a90529084902094518554925191517fffffffffffffffffffffffffffffffff000000000000000000000000000000009093169616959095177fffffffffffffffffffffffffff000000ffffffffffffffffffffffffffffffff1670010000000000000000000000000000000095830b62ffffff90811696909602177fffffffffffffffffffff000000ffffffffffffffffffffffffffffffffffffff167301000000000000000000000000000000000000009190920b94909416939093029290921790555187908a907f4a9757f8f71efdde4b041ff384e461c5707a95d74463b60892bd1f7b9c34a28990611cbc9088908d90614118565b60405180910390a350505050505050505050565b60025473ffffffffffffffffffffffffffffffffffffffff1681565b60005473ffffffffffffffffffffffffffffffffffffffff163314611d1057600080fd5b565b600081604051602001611d259190614094565b6040516020818303038152906040528051906020012090505b919050565b600080546040517fdb8a192e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091169063db8a192e90611d9c90869086906004016139f6565b60206040518083038186803b158015611db457600080fd5b505afa158015611dc8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611dec919061352f565b90505b92915050565b600073ffffffffffffffffffffffffffffffffffffffff6fffffffffffffffffffffffffffffffff851683021685611e6957611e6287866fffffffffffffffffffffffffffffffff16867bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16612d27565b9150611e7b565b611e788782608089901b612d27565b91505b5095945050505050565b73ffffffffffffffffffffffffffffffffffffffff8216611ed2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161047190613e7f565b600481015474010000000000000000000000000000000000000000900460ff1615611f29576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161047190613e48565b600480820180547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1674010000000000000000000000000000000000000000179055604080517f51b42b00000000000000000000000000000000000000000000000000000000008152905173ffffffffffffffffffffffffffffffffffffffff8516926351b42b009280820192600092909182900301818387803b158015611fd057600080fd5b505af1158015611fe4573d6000803e3d6000fd5b50505050611ff6836040015183611d43565b1561200a5761200a83604001516000612ddb565b826040015173ffffffffffffffffffffffffffffffffffffffff16836020015173ffffffffffffffffffffffffffffffffffffffff16846000015173ffffffffffffffffffffffffffffffffffffffff167fe22722ba711f57577e9ef1953550b07cb11d821786b416ca05a67b0781009f128587606001518860800151604051612096939291906139bd565b60405180910390a4505050565b60008173ffffffffffffffffffffffffffffffffffffffff1663e76c01e46040518163ffffffff1660e01b815260040160e06040518083038186803b1580156120eb57600080fd5b505afa1580156120ff573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061212391906137f7565b5093979650505050505050565b80600f81900b8114611d3e57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff8316612190576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161047190613bb2565b5073ffffffffffffffffffffffffffffffffffffffff8084166000908152600460209081526040808320938816835292905220548115806121d057508082115b156121d9578091505b8115610b4c5773ffffffffffffffffffffffffffffffffffffffff808516600090815260046020908152604080832093891683529290522082820390556122218584846127f1565b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fe6ac6a784fb43c9f6329d2f5c82f88a26a93bad4281f7780725af5f071f0aafa85604051612295919061413a565b60405180910390a4949350505050565b60035473ffffffffffffffffffffffffffffffffffffffff163314611d1057600080fd5b60025473ffffffffffffffffffffffffffffffffffffffff163314611d1057600080fd5b60035460009081907501000000000000000000000000000000000000000000900460ff1661231a57600080fd5b600380547fffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff16905584156123665785516123549086612e69565b83549092506123639083612ea4565b83555b83156123925761237a866020015185612e69565b600184015490915061238c9082612ea4565b60018401555b600380547fffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff167501000000000000000000000000000000000000000000179055909590945092505050565b6000806123e983611d12565b600081815260016020526040902080549193509150612434576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161047190613e11565b915091565b600080546040517f32dc5a25000000000000000000000000000000000000000000000000000000008152829173ffffffffffffffffffffffffffffffffffffffff16906332dc5a2590612490908690600401613920565b604080518083038186803b1580156124a757600080fd5b505afa1580156124bb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124df91906134ad565b91509150915091565b60008060006124fb89604001518b612ddb565b61250489611d12565b60008181526001602052604090208054919450901561254f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161047190613a68565b61255b8a8a8a846122ed565b909350915082612597576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161047190613b7b565b621b13d062ffffff881613156125d9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161047190613eed565b6002810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8d16177fffffffffffffffffff000000ffffffffffffffffffffffffffffffffffffffff167401000000000000000000000000000000000000000062ffffff8a160217905561c35061266e60808701606088016138bb565b63ffffffff1611158015612699575061c35061269060a08701608088016138bb565b63ffffffff1611155b80156126bc575061c3506126b360c0870160a088016138bb565b63ffffffff1611155b6126f2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161047190613d0f565b61271061270560808701606088016138bb565b63ffffffff1610158015612730575061271061272760a08701608088016138bb565b63ffffffff1610155b8015612753575061271061274a60c0870160a088016138bb565b63ffffffff1610155b612789576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161047190613be9565b84600582016127988282614322565b505060040180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff96909616959095179094559098909750919550909350505050565b6040805173ffffffffffffffffffffffffffffffffffffffff8481166024830152604480830185905283518084039091018152606490920183526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001781529251825160009485949389169392918291908083835b602083106128c657805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101612889565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114612928576040519150601f19603f3d011682016040523d82523d6000602084013e61292d565b606091505b509150915081801561295b57508051158061295b575080806020019051602081101561295857600080fd5b50515b61116b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600260248201527f5354000000000000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b6000806000806000806129d8896123dd565b6002810154600482015492985073ffffffffffffffffffffffffffffffffffffffff169350915074010000000000000000000000000000000000000000900460ff16158015612a305750612a30896040015183611d43565b612a66576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161047190613da3565b6000612ab37f000000000000000000000000e4dfd4ad723b5db11aa41d53603db03b117ec6907f0000000000000000000000009c889480b54643c419756b6f4d8e8cd673df95408b612eb4565b60408e0151929950909750955090915073ffffffffffffffffffffffffffffffffffffffff808316911614612b14576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161047190613c46565b6000846fffffffffffffffffffffffffffffffff1611612b60576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161047190613c7d565b6000612b6b826120a3565b6040805160c0810182526005860154815260068601546020820152600786015491810191909152600885015463ffffffff8082166060840152640100000000820481166080840152680100000000000000009091041660a0820152909150600090612bd7908b90612fa5565b90506000612c006fffffffffffffffffffffffffffffffff881663ffffffff8416612710612d27565b90506fffffffffffffffffffffffffffffffff811115612c1f57600080fd5b600285810154919750879174010000000000000000000000000000000000000000900462ffffff16908a810b908a900b03811315612c89576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161047190613eb6565b8673ffffffffffffffffffffffffffffffffffffffff16630f1019bc428c8c612cc38d6fffffffffffffffffffffffffffffffff16612130565b896040518663ffffffff1660e01b8152600401612ce49594939291906142f0565b600060405180830381600087803b158015612cfe57600080fd5b505af1158015612d12573d6000803e3d6000fd5b50505050505050505050939792965093509350565b6000838302817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff85870982811083820303915050808411612d6757600080fd5b80612d7757508290049050610c68565b8385870960008581038616958690049560026003880281188089028203028089028203028089028203028089028203028089028203028089029091030291819003819004600101858411909403939093029190930391909104170290509392505050565b6000546040517fd8a900b100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091169063d8a900b190612e3390859085906004016139f6565b600060405180830381600087803b158015612e4d57600080fd5b505af1158015612e61573d6000803e3d6000fd5b505050505050565b600080612e7584612fef565b9050612e8384333086613094565b6000612e8e85612fef565b9050818111612e9c57600080fd5b039392505050565b80820182811015611def57600080fd5b6000806000806000808773ffffffffffffffffffffffffffffffffffffffff166399fbab88886040518263ffffffff1660e01b8152600401808281526020019150506101606040518083038186803b158015612f0f57600080fd5b505afa158015612f23573d6000803e3d6000fd5b505050506040513d610160811015612f3a57600080fd5b506040808201516060830151608084015160a085015160c090950151845180860190955273ffffffffffffffffffffffffffffffffffffffff8085168652831660208601529099509397509295509350909150612f98908a90613271565b9550505093509350935093565b600081604001518310612fbd575060a0810151611def565b81602001518310612fd357506080810151611def565b81518310612fe657506060810151611def565b50612710611def565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815260009073ffffffffffffffffffffffffffffffffffffffff8316906370a0823190613044903090600401613920565b60206040518083038186803b15801561305c57600080fd5b505afa158015613070573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611def9190613882565b6040805173ffffffffffffffffffffffffffffffffffffffff85811660248301528481166044830152606480830185905283518084039091018152608490920183526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f23b872dd00000000000000000000000000000000000000000000000000000000178152925182516000948594938a169392918291908083835b6020831061317157805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101613134565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146131d3576040519150601f19603f3d011682016040523d82523d6000602084013e6131d8565b606091505b5091509150818015613206575080511580613206575080806020019051602081101561320357600080fd5b50515b612e6157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600360248201527f5354460000000000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b6000816020015173ffffffffffffffffffffffffffffffffffffffff16826000015173ffffffffffffffffffffffffffffffffffffffff16106132b357600080fd5b5080516020918201516040805173ffffffffffffffffffffffffffffffffffffffff938416818601529290911682820152805180830382018152606080840183528151918501919091207fff00000000000000000000000000000000000000000000000000000000000000608085015294901b7fffffffffffffffffffffffffffffffffffffffff00000000000000000000000016608183015260958201939093527fbce37a54eab2fcd71913a0d40723e04238970e7fc1159bfd58ad5b79531697e760b5808301919091528351808303909101815260d5909101909252815191012090565b6118678061445683390190565b8035611d3e81614410565b8051600281900b8114611d3e57600080fd5b600060a082840312156133d4578081fd5b60405160a0810181811067ffffffffffffffff821117156133f157fe5b604052905080823561340281614410565b8152602083013561341281614410565b6020820152604083013561342581614410565b8060408301525060608301356060820152608083013560808201525092915050565b805161ffff81168114611d3e57600080fd5b8035611d3e81614443565b805160ff81168114611d3e57600080fd5b600060208284031215613486578081fd5b8135610c6881614410565b6000602082840312156134a2578081fd5b8151610c6881614410565b600080604083850312156134bf578081fd5b82516134ca81614410565b60208401519092506134db81614410565b809150509250929050565b600080604083850312156134f8578182fd5b823561350381614410565b915060208301356134db81614410565b600060208284031215613524578081fd5b8135610c6881614435565b600060208284031215613540578081fd5b8151610c6881614435565b6000806040838503121561355d578182fd5b825161356881614435565b60208401519092506134db81614443565b60006020828403121561358a578081fd5b5035919050565b600080600080608085870312156135a6578182fd5b84356135b181614410565b935060208501356135c181614410565b925060408501356135d181614410565b9396929550929360600135925050565b6000806000606084860312156135f5578081fd5b833561360081614410565b9250602084013561361081614410565b929592945050506040919091013590565b600060208284031215613632578081fd5b611dec826133b1565b600060a0828403121561364c578081fd5b611dec83836133c3565b600080600083850361020081121561366c578182fd5b61367686866133c3565b935060c07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60820112156136a7578182fd5b60a08501925060a07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffea0820112156136dc578182fd5b5060405160a0810181811067ffffffffffffffff821117156136fa57fe5b604052610160850135815261018085013560208201526101a085013562ffffff81168114613726578283fd5b60408201526137386101c086016133a6565b606082015261374a6101e08601613459565b6080820152809150509250925092565b60008060c0838503121561376c578182fd5b61377684846133c3565b9460a0939093013593505050565b600080600060e08486031215613798578081fd5b6137a285856133c3565b925060a0840135915060c08401356137b981614410565b809150509250925092565b600080600060e084860312156137d8578081fd5b6137e285856133c3565b9560a0850135955060c0909401359392505050565b600080600080600080600060e0888a031215613811578485fd5b875161381c81614410565b965061382a602089016133b1565b955061383860408901613447565b945061384660608901613447565b935061385460808901613464565b925061386260a08901613464565b915060c088015161387281614435565b8091505092959891949750929550565b600060208284031215613893578081fd5b5051919050565b600080604083850312156138ac578182fd5b50508035926020909101359150565b6000602082840312156138cc578081fd5b8135610c6881614443565b6000602082840312156138e8578081fd5b8151610c6881614443565b73ffffffffffffffffffffffffffffffffffffffff169052565b62ffffff169052565b63ffffffff169052565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b73ffffffffffffffffffffffffffffffffffffffff9586168152938516602085015291909316604083015263ffffffff9283166060830152909116608082015260a00190565b73ffffffffffffffffffffffffffffffffffffffff94851681529290931660208301526040820152606081019190915260800190565b73ffffffffffffffffffffffffffffffffffffffff9390931683526020830191909152604082015260600190565b901515815260200190565b73ffffffffffffffffffffffffffffffffffffffff92831681529116602082015260400190565b600292830b8152910b602082015260400190565b6020808252601e908201527f696e63656e74697665206475726174696f6e20697320746f6f206c6f6e670000604082015260600190565b60208082526010908201527f6b657920616c7265616479207573656400000000000000000000000000000000604082015260600190565b6020808252601e908201527f73746172742074696d6520746f6f2066617220696e746f206675747572650000604082015260600190565b60208082526014908201527f746f6b656e20616c7265616479206661726d6564000000000000000000000000604082015260600190565b60208082526013908201527f656d657267656e63792061637469766174656400000000000000000000000000604082015260600190565b60208082526012908201527f73746172742074696d6520746f6f206c6f770000000000000000000000000000604082015260600190565b60208082526012908201527f7a65726f2072657761726420616d6f756e740000000000000000000000000000604082015260600190565b6020808252600f908201527f746f207a65726f20616464726573730000000000000000000000000000000000604082015260600190565b60208082526028908201527f4d756c7469706c6965722063616e74206265206c657373207468616e2044454e60408201527f4f4d494e41544f52000000000000000000000000000000000000000000000000606082015260800190565b60208082526016908201527f696e76616c696420706f6f6c20666f7220746f6b656e00000000000000000000604082015260600190565b60208082526022908201527f63616e6e6f74206661726d20746f6b656e20776974682030206c69717569646960408201527f7479000000000000000000000000000000000000000000000000000000000000606082015260800190565b6020808252818101527f63616e6e6f7420616464207265776172647320616674657220656e6454696d65604082015260600190565b6020808252602e908201527f4d756c7469706c6965722063616e742062652067726561746572207468616e2060408201527f4d41585f4d554c5449504c494552000000000000000000000000000000000000606082015260800190565b6020808252601c908201527f616c7265616479206861732061637469766520696e63656e7469766500000000604082015260600190565b60208082526011908201527f696e63656e746976652073746f70706564000000000000000000000000000000604082015260600190565b60208082526013908201527f6661726d20646f6573206e6f7420657869737400000000000000000000000000604082015260600190565b60208082526016908201527f6e6f6e2d6578697374656e7420696e63656e7469766500000000000000000000604082015260600190565b60208082526013908201527f416c726561647920646561637469766174656400000000000000000000000000604082015260600190565b60208082526014908201527f4661726d696e6720646f206e6f74206578697374000000000000000000000000604082015260600190565b60208082526013908201527f706f736974696f6e20746f6f206e6172726f7700000000000000000000000000604082015260600190565b6020808252601d908201527f6d696e696d616c506f736974696f6e576964746820746f6f2077696465000000604082015260600190565b60208082526017908201527f726577617264206d75737420626520706f736974697665000000000000000000604082015260600190565b60208082526012908201527f696e63656e746976652066696e69736865640000000000000000000000000000604082015260600190565b60208082526012908201527f6c6971756964697479206f766572666c6f770000000000000000000000000000604082015260600190565b6020808252601d908201527f7374617274206d757374206265206265666f726520656e642074696d65000000604082015260600190565b6020808252601d908201527f696e63656e746976652068617320616c72656164792073746172746564000000604082015260600190565b60208082526022908201527f63616e6e6f7420657869744661726d696e67206265666f726520656e6420746960408201527f6d65000000000000000000000000000000000000000000000000000000000000606082015260800190565b600060a08201905073ffffffffffffffffffffffffffffffffffffffff80845116835280602085015116602084015280604085015116604084015250606083015160608301526080830151608083015292915050565b6fffffffffffffffffffffffffffffffff939093168352600291820b6020840152900b604082015260600190565b6fffffffffffffffffffffffffffffffff929092168252602082015260400190565b90815260200190565b918252602082015260400190565b60006101a08201905089825288602083015273ffffffffffffffffffffffffffffffffffffffff808916604084015262ffffff881660608401527bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8716608084015280861660a08401525083151560c0830152825160e083015260208301516101008301526040830151610120830152606083015163ffffffff808216610140850152806080860151166101608501528060a08601511661018085015250509998505050505050505050565b9283526020830191909152604082015260600190565b60006101a08201905089825288602083015287604083015286606083015285356080830152602086013560a0830152604086013560c0830152606086013561427681614443565b63ffffffff1660e0830152608086013561428f81614443565b61429d610100840182613916565b506142aa60a08701613459565b6142b8610120840182613916565b506142c76101408301866138f3565b6142d561016083018561390d565b6142e3610180830184613916565b9998505050505050505050565b63ffffffff959095168552600293840b602086015291830b6040850152600f0b6060840152900b608082015260a00190565b81358155602082013560018201556040820135600282015560038101606083013561434c81614443565b63ffffffff81167fffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000835416179050808255608084013561438b81614443565b67ffffffff000000008160201b167fffffffffffffffffffffffffffffffffffffffffffffffff00000000ffffffff83161791505080825560a08401356143d181614443565b6bffffffff00000000000000008160401b167fffffffffffffffffffffffffffffffffffffffff00000000ffffffffffffffff83161783555050505050565b73ffffffffffffffffffffffffffffffffffffffff8116811461443257600080fd5b50565b801515811461443257600080fd5b63ffffffff8116811461443257600080fdfe61012060405234801561001157600080fd5b50604051611867380380611867833981810160405260a081101561003457600080fd5b5080516020820151604083015160608085015160809586015185831b6001600160601b031990811690975284831b871660a0529183901b90951660c05260e085811b6001600160e01b03199081166101005282821b1690526003805463ffffffff60a01b191663ffffffff968716600160a01b8102919091179091556001600160a01b03948516959385169490921692169061173661013160003980610d855280610e0652806110645250806105ef5280610d5d5280610db9528061109f52508061044652806108645280610aec525080610629528061098d5280610bb75280610c745250806104075280610aad5280610c3752506117366000f3fe608060405234801561001057600080fd5b50600436106101515760003560e01c80637f376059116100cd578063d3369fd711610081578063d576dfc011610066578063d576dfc014610347578063e96b89471461034f578063f30dba931461035757610151565b8063d3369fd714610317578063d56b28891461031f57610151565b80638e76c332116100b25780638e76c332146102e85780638eebc5d614610307578063ae8559391461030f57610151565b80637f3760591461029c5780638a2ade58146102e057610151565b80631fcd27fd1161012457806351b42b001161010957806351b42b0014610270578063556ed30e146102785780637b3529621461029457610151565b80631fcd27fd1461021957806346caf2ae1461024357610151565b806301342b191461015657806309670d0e146101805780630f1019bc146101a157806316f0115b146101e8575b600080fd5b61017e6004803603604081101561016c57600080fd5b50803560020b906020013515156103ef565b005b6101886105ed565b6040805163ffffffff9092168252519081900360200190f35b61017e600480360360a08110156101b757600080fd5b5063ffffffff813516906020810135600290810b916040810135820b916060820135600f0b9160800135900b610611565b6101f0610862565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b6101f06004803603604081101561022f57600080fd5b508035600290810b9160200135900b610886565b61024b61095d565b604080516fffffffffffffffffffffffffffffffff9092168252519081900360200190f35b61017e610975565b610280610a48565b604080519115158252519081900360200190f35b610280610a6d565b6102bf600480360360208110156102b257600080fd5b503563ffffffff16610a93565b604051808260028111156102cf57fe5b815260200191505060405180910390f35b6101f0610bb5565b6102f0610bd9565b6040805160029290920b8252519081900360200190f35b610188610bf6565b6101f0610c19565b6101f0610c35565b610327610c59565b60408051921515835263ffffffff90911660208301528051918290030190f35b610188610de0565b610188610e04565b6103776004803603602081101561036d57600080fd5b503560020b610e28565b604080516fffffffffffffffffffffffffffffffff9099168952600f9790970b602089015287870195909552606087019390935260069190910b608086015273ffffffffffffffffffffffffffffffffffffffff1660a085015263ffffffff1660c0840152151560e083015251908190036101000190f35b3373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016148061046857503373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016145b6104d357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f6f6e6c7920706f6f6c2063616e2063616c6c20746869732066756e6374696f6e604482015290519081900360640190fd5b600282810b900b6000908152602081905260409020600301547f0100000000000000000000000000000000000000000000000000000000000000900460ff161561059057600061052283610eed565b9050811561052e576000035b60025461054d906fffffffffffffffffffffffffffffffff1682610f1c565b600280547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff92909216919091179055505b8061059b57816105a0565b600182035b6002805491810b62ffffff16700100000000000000000000000000000000027fffffffffffffffffffffffffff000000ffffffffffffffffffffffffffffffff9092169190911790555050565b7f000000000000000000000000000000000000000000000000000000000000000081565b3373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161461069f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806117076023913960400191505060405180910390fd5b600280547fffffffffffffffffffffffffff000000ffffffffffffffffffffffffffffffff1670010000000000000000000000000000000062ffffff84840b160217905560035474010000000000000000000000000000000000000000900463ffffffff908116908616111561071a5761071885611060565b505b81600f0b60001461085b576000806107358684866000611293565b15610748576001915061074882876112b0565b6107558584866001611293565b156107675750600161076781866112b0565b8560020b8360020b1215801561078257508460020b8360020b125b156107e8576002546107a6906fffffffffffffffffffffffffffffffff1685610f1c565b600280547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff929092169190911790555b600084600f0b121561085857811561082657600286810b810b6000908152602081905260408120818155600181018290559182018190556003909101555b801561085857600285810b810b6000908152602081905260408120818155600181018290559182018190556003909101555b50505b5050505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b600282810b80820b60009081526020819052604080822060039081015486860b860b845291832001548454929473ffffffffffffffffffffffffffffffffffffffff6701000000000000009384900481169593909204909116927001000000000000000000000000000000009004810b900b12156109075790039050610957565b6002805485820b700100000000000000000000000000000000909104820b90910b12156109535760035473ffffffffffffffffffffffffffffffffffffffff1691909103039050610957565b0390505b92915050565b6002546fffffffffffffffffffffffffffffffff1681565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610a03576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806117076023913960400191505060405180910390fd5b600380547fffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffff167801000000000000000000000000000000000000000000000000179055565b6003547801000000000000000000000000000000000000000000000000900460ff1681565b600354790100000000000000000000000000000000000000000000000000900460ff1681565b60003373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161480610b0e57503373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016145b610b7957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f6f6e6c7920706f6f6c2063616e2063616c6c20746869732066756e6374696f6e604482015290519081900360640190fd5b610b8282611060565b6003549091507801000000000000000000000000000000000000000000000000900460ff1615610bb0575060005b919050565b7f000000000000000000000000000000000000000000000000000000000000000081565b600280547001000000000000000000000000000000009004900b81565b600254730100000000000000000000000000000000000000900463ffffffff1681565b60035473ffffffffffffffffffffffffffffffffffffffff1681565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000803373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610cea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806117076023913960400191505060405180910390fd5b600354790100000000000000000000000000000000000000000000000000900460ff16915081610d8357600380547fffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffffff16790100000000000000000000000000000000000000000000000000179055610d817f0000000000000000000000000000000000000000000000000000000000000000611060565b505b7f0000000000000000000000000000000000000000000000000000000000000000600260139054906101000a900463ffffffff167f0000000000000000000000000000000000000000000000000000000000000000030390509091565b60035474010000000000000000000000000000000000000000900463ffffffff1681565b7f000000000000000000000000000000000000000000000000000000000000000081565b60006020819052908152604090208054600182015460028301546003909301546fffffffffffffffffffffffffffffffff831693700100000000000000000000000000000000909304600f0b9290600681900b90670100000000000000810473ffffffffffffffffffffffffffffffffffffffff16907b01000000000000000000000000000000000000000000000000000000810463ffffffff16907f0100000000000000000000000000000000000000000000000000000000000000900460ff1688565b60035460009061095790829084908290819073ffffffffffffffffffffffffffffffffffffffff1681806112dc565b60008082600f0b1215610fc857826fffffffffffffffffffffffffffffffff168260000384039150816fffffffffffffffffffffffffffffffff1610610fc357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600260248201527f4c53000000000000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b610957565b826fffffffffffffffffffffffffffffffff168284019150816fffffffffffffffffffffffffffffffff16101561095757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600260248201527f4c41000000000000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b60007f000000000000000000000000000000000000000000000000000000000000000063ffffffff168263ffffffff161161109d57506002610bb0565b7f000000000000000000000000000000000000000000000000000000000000000063ffffffff168263ffffffff1611156110d957506000610bb0565b60035463ffffffff74010000000000000000000000000000000000000000909104811690831681101561128a576002546fffffffffffffffffffffffffffffffff1680156111ea576fffffffffffffffffffffffffffffffff811673ffffffff0000000000000000000000000000000083860360801b168161115757fe5b600380547fffffffffffffffffffffffff000000000000000000000000000000000000000081169390920473ffffffffffffffffffffffffffffffffffffffff92831601909116919091177fffffffffffffffff00000000ffffffffffffffffffffffffffffffffffffffff167401000000000000000000000000000000000000000063ffffffff871602179055611288565b6002805463ffffffff7301000000000000000000000000000000000000008083048216868903018216027fffffffffffffffffff00000000ffffffffffffffffffffffffffffffffffffff909216919091179091556003805491861674010000000000000000000000000000000000000000027fffffffffffffffff00000000ffffffffffffffffffffffffffffffffffffffff9092169190911790555b505b50600192915050565b60006112a78186868683808080808b61140b565b95945050505050565b600881901c600190810b810b60009081526020939093526040909220805460ff9092169290921b189055565b600286810b810b600090815260208990526040902060038101805473ffffffffffffffffffffffffffffffffffffffff67010000000000000063ffffffff7b0100000000000000000000000000000000000000000000000000000080850482168903909116027fff00000000ffffffffffffffffffffffffffffffffffffffffffffffffffffff90931692909217828104821689039091169091027fffffffffff0000000000000000000000000000000000000000ffffffffffffff90911617600681810b8703900b66ffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000090911617905590810180548603905560018101805487039055547001000000000000000000000000000000009004600f0b979650505050505050565b600289810b900b600090815260208b90526040812080547001000000000000000000000000000000008104600f0b906fffffffffffffffffffffffffffffffff1683611457828d610f1c565b90506d09745258e83de0d0f4e400fce79a6fffffffffffffffffffffffffffffffff8216106114e757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600260248201527f4c4f000000000000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b8561150a57611505611500600f85810b908f900b6116c9565b6116df565b61151e565b61151e611500600f85810b908f900b6116f0565b84546fffffffffffffffffffffffffffffffff838116600f9390930b811670010000000000000000000000000000000002918116919091177fffffffffffffffffffffffffffffffff0000000000000000000000000000000016821786559015955082166116b757841594508c60020b8e60020b1361166b57600184018b9055600284018a90556003840180547fffffffffff0000000000000000000000000000000000000000ffffffffffffff1667010000000000000073ffffffffffffffffffffffffffffffffffffffff8c1602177fffffffffffffffffffffffffffffffffffffffffffffffffff000000000000001666ffffffffffffff60068b900b16177fff00000000ffffffffffffffffffffffffffffffffffffffffffffffffffffff167b0100000000000000000000000000000000000000000000000000000063ffffffff8a16021790555b6003840180547effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01000000000000000000000000000000000000000000000000000000000000001790555b505050509a9950505050505050505050565b8181018281121560008312151461095757600080fd5b80600f81900b8114610bb057600080fd5b8082038281131560008312151461095757600080fdfe6f6e6c79206661726d696e672063616e2063616c6c20746869732066756e6374696f6ea164736f6c6343000706000aa164736f6c6343000706000a
🤖 Code Reader
Generate instant answers for your smart contract questions using Al Models. Read more.
Loading...
Loading
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in ETH
0
Multichain Portfolio | 33 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.