Source Code
Overview
ETH Balance
0 ETH
Eth Value
$0.00| Transaction Hash |
Method
|
Block
|
From
|
|
To
|
||||
|---|---|---|---|---|---|---|---|---|---|
Latest 1 internal transaction
Advanced mode:
| Parent Transaction Hash | Method | Block |
From
|
|
To
|
||
|---|---|---|---|---|---|---|---|
| 0x60806040 | 22016314 | 459 days ago | Contract Creation | 0 ETH |
Loading...
Loading
Loading...
Loading
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":"address","name":"investor","type":"address"}],"name":"AlreadyClaimedExcess","type":"error"},{"inputs":[{"internalType":"address","name":"investor","type":"address"}],"name":"AlreadySettled","type":"error"},{"inputs":[],"name":"AskTokenUnavailable","type":"error"},{"inputs":[{"internalType":"address","name":"investor","type":"address"}],"name":"CannotWithdrawExcessInvestedCapital","type":"error"},{"inputs":[],"name":"CapitalAlreadyWithdrawn","type":"error"},{"inputs":[],"name":"CapitalRaisedAlreadyPublished","type":"error"},{"inputs":[],"name":"CapitalRaisedNotPublished","type":"error"},{"inputs":[],"name":"ECDSAInvalidSignature","type":"error"},{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"name":"ECDSAInvalidSignatureLength","type":"error"},{"inputs":[{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"ECDSAInvalidSignatureS","type":"error"},{"inputs":[],"name":"EnforcedPause","type":"error"},{"inputs":[],"name":"ExpectedPause","type":"error"},{"inputs":[],"name":"InvalidFeeAmount","type":"error"},{"inputs":[],"name":"InvalidInitialization","type":"error"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"InvalidInvestAmount","type":"error"},{"inputs":[],"name":"InvalidPeriodConfig","type":"error"},{"inputs":[],"name":"InvalidRefundAmount","type":"error"},{"inputs":[],"name":"InvalidSignature","type":"error"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"InvalidTokenAmountSupplied","type":"error"},{"inputs":[],"name":"InvalidVestingConfig","type":"error"},{"inputs":[],"name":"InvalidWithdrawAmount","type":"error"},{"inputs":[{"internalType":"address","name":"investor","type":"address"}],"name":"InvestorHasClaimedExcess","type":"error"},{"inputs":[{"internalType":"address","name":"investor","type":"address"}],"name":"InvestorHasRefunded","type":"error"},{"inputs":[],"name":"LockupPeriodIsNotOver","type":"error"},{"inputs":[{"internalType":"address","name":"investor","type":"address"}],"name":"NoCapitalInvested","type":"error"},{"inputs":[],"name":"NotCalledByLegion","type":"error"},{"inputs":[],"name":"NotCalledByLegionOrProject","type":"error"},{"inputs":[],"name":"NotCalledByProject","type":"error"},{"inputs":[{"internalType":"address","name":"investor","type":"address"}],"name":"NotInClaimWhitelist","type":"error"},{"inputs":[],"name":"NotInitializing","type":"error"},{"inputs":[],"name":"RefundPeriodIsNotOver","type":"error"},{"inputs":[],"name":"RefundPeriodIsOver","type":"error"},{"inputs":[],"name":"SaleHasEnded","type":"error"},{"inputs":[],"name":"SaleHasNotEnded","type":"error"},{"inputs":[],"name":"SaleIsCanceled","type":"error"},{"inputs":[],"name":"SaleIsNotCanceled","type":"error"},{"inputs":[],"name":"SaleResultsNotPublished","type":"error"},{"inputs":[],"name":"TokensAlreadyAllocated","type":"error"},{"inputs":[],"name":"TokensAlreadySupplied","type":"error"},{"inputs":[],"name":"TokensNotAllocated","type":"error"},{"inputs":[],"name":"ZeroAddressProvided","type":"error"},{"inputs":[],"name":"ZeroValueProvided","type":"error"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"merkleRoot","type":"bytes32"}],"name":"AcceptedCapitalSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"address","name":"investor","type":"address"},{"indexed":false,"internalType":"uint256","name":"investTimestamp","type":"uint256"}],"name":"CapitalInvested","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"capitalRaised","type":"uint256"},{"indexed":false,"internalType":"bytes32","name":"acceptedMerkleRoot","type":"bytes32"}],"name":"CapitalRaisedPublished","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"address","name":"investor","type":"address"}],"name":"CapitalRefunded","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"address","name":"investor","type":"address"}],"name":"CapitalRefundedAfterCancel","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountToWithdraw","type":"uint256"},{"indexed":false,"internalType":"address","name":"projectOwner","type":"address"}],"name":"CapitalWithdrawn","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"receiver","type":"address"},{"indexed":false,"internalType":"address","name":"token","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"EmergencyWithdraw","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"address","name":"investor","type":"address"}],"name":"ExcessCapitalWithdrawn","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint64","name":"version","type":"uint64"}],"name":"Initialized","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"legionBouncer","type":"address"},{"indexed":false,"internalType":"address","name":"legionSigner","type":"address"},{"indexed":false,"internalType":"address","name":"legionFeeReceiver","type":"address"},{"indexed":false,"internalType":"address","name":"vestingFactory","type":"address"}],"name":"LegionAddressesSynced","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Paused","type":"event"},{"anonymous":false,"inputs":[],"name":"SaleCanceled","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"endTime","type":"uint256"}],"name":"SaleEnded","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"claimMerkleRoot","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"tokensAllocated","type":"uint256"},{"indexed":false,"internalType":"address","name":"tokenAddress","type":"address"},{"indexed":false,"internalType":"uint256","name":"vestingStartTime","type":"uint256"}],"name":"SaleResultsPublished","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"address","name":"investor","type":"address"}],"name":"TokenAllocationClaimed","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"legionFee","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"referrerFee","type":"uint256"}],"name":"TokensSuppliedForDistribution","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Unpaused","type":"event"},{"inputs":[],"name":"cancelSale","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bytes32[]","name":"proof","type":"bytes32[]"}],"name":"claimTokenAllocation","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"receiver","type":"address"},{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"emergencyWithdraw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"endSale","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"uint256","name":"salePeriodSeconds","type":"uint256"},{"internalType":"uint256","name":"refundPeriodSeconds","type":"uint256"},{"internalType":"uint256","name":"lockupPeriodSeconds","type":"uint256"},{"internalType":"uint256","name":"legionFeeOnCapitalRaisedBps","type":"uint256"},{"internalType":"uint256","name":"legionFeeOnTokensSoldBps","type":"uint256"},{"internalType":"uint256","name":"referrerFeeOnCapitalRaisedBps","type":"uint256"},{"internalType":"uint256","name":"referrerFeeOnTokensSoldBps","type":"uint256"},{"internalType":"uint256","name":"minimumInvestAmount","type":"uint256"},{"internalType":"address","name":"bidToken","type":"address"},{"internalType":"address","name":"askToken","type":"address"},{"internalType":"address","name":"projectAdmin","type":"address"},{"internalType":"address","name":"addressRegistry","type":"address"},{"internalType":"address","name":"referrerFeeReceiver","type":"address"}],"internalType":"struct ILegionSale.LegionSaleInitializationParams","name":"saleInitParams","type":"tuple"},{"components":[{"internalType":"uint256","name":"vestingDurationSeconds","type":"uint256"},{"internalType":"uint256","name":"vestingCliffDurationSeconds","type":"uint256"},{"internalType":"uint256","name":"tokenAllocationOnTGERate","type":"uint256"}],"internalType":"struct ILegionSale.LegionVestingInitializationParams","name":"vestingInitParams","type":"tuple"}],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bytes","name":"signature","type":"bytes"}],"name":"invest","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"investorAddress","type":"address"}],"name":"investorPositionDetails","outputs":[{"components":[{"internalType":"uint256","name":"investedCapital","type":"uint256"},{"internalType":"bool","name":"hasSettled","type":"bool"},{"internalType":"bool","name":"hasClaimedExcess","type":"bool"},{"internalType":"bool","name":"hasRefunded","type":"bool"},{"internalType":"address","name":"vestingAddress","type":"address"}],"internalType":"struct ILegionSale.InvestorPosition","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pauseSale","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"preLiquidSaleConfiguration","outputs":[{"components":[{"internalType":"uint256","name":"refundPeriodSeconds","type":"uint256"},{"internalType":"uint256","name":"lockupPeriodSeconds","type":"uint256"},{"internalType":"bool","name":"hasEnded","type":"bool"}],"internalType":"struct ILegionPreLiquidSaleV2.PreLiquidSaleConfiguration","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"capitalRaised","type":"uint256"},{"internalType":"bytes32","name":"acceptedMerkleRoot","type":"bytes32"}],"name":"publishCapitalRaised","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"claimMerkleRoot","type":"bytes32"},{"internalType":"uint256","name":"tokensAllocated","type":"uint256"},{"internalType":"address","name":"askToken","type":"address"},{"internalType":"uint256","name":"vestingStartTime","type":"uint256"}],"name":"publishSaleResults","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"refund","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"releaseVestedTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"saleConfiguration","outputs":[{"components":[{"internalType":"uint256","name":"startTime","type":"uint256"},{"internalType":"uint256","name":"endTime","type":"uint256"},{"internalType":"uint256","name":"refundEndTime","type":"uint256"},{"internalType":"uint256","name":"lockupEndTime","type":"uint256"},{"internalType":"uint256","name":"legionFeeOnCapitalRaisedBps","type":"uint256"},{"internalType":"uint256","name":"legionFeeOnTokensSoldBps","type":"uint256"},{"internalType":"uint256","name":"referrerFeeOnCapitalRaisedBps","type":"uint256"},{"internalType":"uint256","name":"referrerFeeOnTokensSoldBps","type":"uint256"},{"internalType":"uint256","name":"minimumInvestAmount","type":"uint256"}],"internalType":"struct ILegionSale.LegionSaleConfiguration","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"saleStatusDetails","outputs":[{"components":[{"internalType":"uint256","name":"totalCapitalInvested","type":"uint256"},{"internalType":"uint256","name":"totalTokensAllocated","type":"uint256"},{"internalType":"uint256","name":"totalCapitalRaised","type":"uint256"},{"internalType":"uint256","name":"totalCapitalWithdrawn","type":"uint256"},{"internalType":"bytes32","name":"claimTokensMerkleRoot","type":"bytes32"},{"internalType":"bytes32","name":"acceptedCapitalMerkleRoot","type":"bytes32"},{"internalType":"bool","name":"isCanceled","type":"bool"},{"internalType":"bool","name":"tokensSupplied","type":"bool"},{"internalType":"bool","name":"capitalWithdrawn","type":"bool"}],"internalType":"struct ILegionSale.LegionSaleStatus","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"merkleRoot","type":"bytes32"}],"name":"setAcceptedCapital","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"legionFee","type":"uint256"},{"internalType":"uint256","name":"referrerFee","type":"uint256"}],"name":"supplyTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"syncLegionAddresses","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"unpauseSale","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"vestingConfiguration","outputs":[{"components":[{"internalType":"uint256","name":"vestingDurationSeconds","type":"uint256"},{"internalType":"uint256","name":"vestingCliffDurationSeconds","type":"uint256"},{"internalType":"uint256","name":"tokenAllocationOnTGERate","type":"uint256"},{"internalType":"uint256","name":"vestingStartTime","type":"uint256"},{"internalType":"address","name":"vestingFactory","type":"address"}],"internalType":"struct ILegionSale.LegionVestingConfiguration","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bytes32[]","name":"proof","type":"bytes32[]"}],"name":"withdrawExcessInvestedCapital","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdrawInvestedCapitalIfCanceled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdrawRaisedCapital","outputs":[],"stateMutability":"nonpayable","type":"function"}]Contract Creation Code
6080604052348015600e575f5ffd5b505f5f1b601e603660201b60201c565b036026575f5ffd5b6032605f60201b60201c565b60cc565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf6011325f1b905090565b5f606c603660201b60201c565b90508054600181161560855763f92ee8a95f526004601cfd5b67ffffffffffffffff808260011c1460c7578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b614c11806100d95f395ff3fe608060405234801561000f575f5ffd5b5060043610610156575f3560e01c80639a6f8a7f116100c1578063e63ea4081161007a578063e63ea40814610304578063e769a9e514610320578063e7e104901461033c578063e8d2145314610346578063f68c1d4914610362578063f71c23641461036c57610156565b80639a6f8a7f1461026c5780639dc21d471461028a578063b6ed5365146102a6578063bb33d729146102c2578063c2b30462146102cc578063cc6ae755146102e857610156565b806354dd1da41161011357806354dd1da4146101f457806355367ba9146101fe578063590e1ae3146102085780635c975abb146102125780638d3ed06d1461023057806390dbb8061461024e57610156565b80630a636d5b1461015a5780630aff2d861461016457806317ec6a731461018057806332e719f2146101b0578063380d831b146101cc5780633cccebc5146101d6575b5f5ffd5b610162610376565b005b61017e60048036038101906101799190613c69565b610409565b005b61019a60048036038101906101959190613cee565b6104e6565b6040516101a79190613dc0565b60405180910390f35b6101ca60048036038101906101c59190613e64565b6105ec565b005b6101d461074c565b005b6101de610906565b6040516101eb9190613f27565b60405180910390f35b6101fc61099c565b005b610206610c21565b005b610210610cb4565b005b61021a610e71565b6040516102279190613f4f565b60405180910390f35b610238610e85565b604051610245919061402c565b60405180910390f35b610256610f2b565b60405161026391906140fb565b60405180910390f35b610274610f9f565b6040516102819190614155565b60405180910390f35b6102a4600480360381019061029f91906142a6565b610fe6565b005b6102c060048036038101906102bb9190614300565b6110fd565b005b6102ca6111ff565b005b6102e660048036038101906102e1919061437f565b611292565b005b61030260048036038101906102fd91906143bf565b611336565b005b61031e6004803603810190610319919061440f565b61165b565b005b61033a6004803603810190610335919061445f565b61172f565b005b610344611884565b005b610360600480360381019061035b9190613e64565b6119bc565b005b61036a611c4a565b005b610374611ea9565b005b600a6004015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146103ff576040517fabdc864100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610407611ffd565b565b600a6004015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610492576040517fabdc864100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61049a6124c4565b6104a261250f565b806017600501819055507f393244a3cfb18cb61014afd98d11fbc01143937c82fbfdd0c6c6fc15c96e1396816040516104db91906144d2565b60405180910390a150565b6104ee613af3565b601e5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f206040518060a00160405290815f8201548152602001600182015f9054906101000a900460ff161515151581526020016001820160019054906101000a900460ff161515151581526020016001820160029054906101000a900460ff161515151581526020016001820160039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815250509050919050565b6105f461255a565b6105fc6124c4565b61060461259b565b6106103384848461262d565b6001601e5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2060010160016101000a81548160ff0219169083151502179055505f83146107475782601e5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f015f8282546106be9190614518565b925050819055508260175f015f8282546106d89190614518565b925050819055507f3970b7297e47f09230b91c5e95e91fcc5b486274492c7e1f8d08ecded772a7078333604051610710929190614569565b60405180910390a1610746600a5f015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1633856128ae565b5b505050565b600a6002015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141580156107fc5750600a6004015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614155b15610833576040517fa33edbf200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61083b61255a565b6108436124c4565b61084b61250f565b6001601f6002015f6101000a81548160ff021916908315150217905550426001800181905550601f5f0154426108819190614590565b600160020181905550601f5f0154601f60010154116108ae576001600201546001600301819055506108cd565b601f6001015460018001546108c39190614590565b6001600301819055505b7f94bb74a9473ae4063ec1e73dc3e35fd4b5abe9cc1e43ad0db84e5358559ccd5a426040516108fc91906145c3565b60405180910390a1565b61090e613b39565b60126040518060a00160405290815f8201548152602001600182015481526020016002820154815260200160038201548152602001600482015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681525050905090565b5f73ffffffffffffffffffffffffffffffffffffffff16600a6001015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1603610a25576040517fb1fbf74400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610a2d61255a565b5f601e5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f206040518060a00160405290815f8201548152602001600182015f9054906101000a900460ff161515151581526020016001820160019054906101000a900460ff161515151581526020016001820160029054906101000a900460ff161515151581526020016001820160039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152505090505f73ffffffffffffffffffffffffffffffffffffffff16816080015173ffffffffffffffffffffffffffffffffffffffff1603610b90576040517f8474420100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b806080015173ffffffffffffffffffffffffffffffffffffffff166319165587600a6001015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b8152600401610bf191906145dc565b5f604051808303815f87803b158015610c08575f5ffd5b505af1158015610c1a573d5f5f3e3d5ffd5b5050505050565b600a6004015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610caa576040517fabdc864100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610cb2612902565b565b610cbc61255a565b610cc4612963565b610ccc6124c4565b610cd461259b565b5f601e5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f015490505f8103610d50576040517f16365d5f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f601e5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f01819055506001601e5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2060010160026101000a81548160ff0219169083151502179055508060175f015f828254610e009190614518565b925050819055507f68537ca51c1b2cb464f6b47b5ab5fed672fd221e6745c3784c21d1cf127693b68133604051610e38929190614569565b60405180910390a1610e6e600a5f015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1633836128ae565b50565b5f5f5f9054906101000a900460ff16905090565b610e8d613b79565b6017604051806101200160405290815f82015481526020016001820154815260200160028201548152602001600382015481526020016004820154815260200160058201548152602001600682015f9054906101000a900460ff161515151581526020016006820160019054906101000a900460ff161515151581526020016006820160029054906101000a900460ff161515151581525050905090565b610f33613bc2565b6001604051806101200160405290815f820154815260200160018201548152602001600282015481526020016003820154815260200160048201548152602001600582015481526020016006820154815260200160078201548152602001600882015481525050905090565b610fa7613c05565b601f6040518060600160405290815f820154815260200160018201548152602001600282015f9054906101000a900460ff161515151581525050905090565b610fee61255a565b610ff7816129b5565b610fff61250f565b6110076124c4565b61101082612a8a565b61101861259b565b611020612ad7565b8160175f015f8282546110339190614590565b9250508190555081601e5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f015f8282546110889190614590565b925050819055507f4043c8d45eb629e6b7f94bf2f65c2a7756f860bbe48747c7bc599ca0353b47988233426040516110c2939291906145f5565b60405180910390a16110f9600a5f015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16333085612b69565b5050565b600a6004015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611186576040517fabdc864100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61118e61255a565b6111966124c4565b61119e612bce565b6111a6612c18565b6111ae612c69565b81601760020181905550806017600501819055507fff2eede0443ccf6db05e43a635cc5fdeda669c13e511fe1fe719d2f08aae059182826040516111f392919061462a565b60405180910390a15050565b600a6004015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611288576040517fabdc864100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611290612ca9565b565b5f61129b612d09565b905080546003825580156112cd5760018160011c14303b106112c45763f92ee8a95f526004601cfd5b818160ff1b1b91505b506112d88383612d32565b4260015f01819055508260200135601f5f01819055508260400135601f600101819055508015611331576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b600a6002015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146113bf576040517f424e3f9b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff16600a6001015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1603611448576040517fb1fbf74400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61145061255a565b61145983612f82565b6114616124c4565b61146961300c565b6001601760060160016101000a81548160ff0219169083151502179055506127108360016005015461149b9190614651565b6114a591906146bf565b82146114dd576040517f52338c8000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612710836001600701546114f19190614651565b6114fb91906146bf565b8114611533576040517f52338c8000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7feb6ecff67790f9432b928d86593a8ef9296b4f8562a4e1856e2b17372fa218fb838383604051611566939291906146ef565b60405180910390a161159e600a6001015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16333086612b69565b5f82146115fa576115f9600a6001015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1633600a6006015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1685612b69565b5b5f811461165657611655600a6001015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1633600a6007015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1685612b69565b5b505050565b600a6004015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146116e4576040517fabdc864100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7ff24ef89f38eadc1bde50701ad6e4d6d11a2dc24f7cf834a486991f388332850483838360405161171793929190614724565b60405180910390a161172a8284836128ae565b505050565b600a6004015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146117b8576040517fabdc864100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6117c061255a565b6117c86124c4565b6117d0612bce565b6117d8612c18565b6117e0613058565b836017600401819055508260176001018190555081600a6001015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550806012600301819055507f42f3f88904d1c3fcdb391e357ea86c4cf73dd5cad9913f14a40ba18b2764af6e848484846040516118769493929190614759565b60405180910390a150505050565b600a6002015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461190d576040517f424e3f9b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61191561255a565b61191d6124c4565b61192561300c565b5f6017600301549050600160176006015f6101000a81548160ff0219169083151502179055507f0943552b21b3bcfb11bcb560653f2703faf49c76ac2a791e285b130c0117678a60405160405180910390a15f8111156119b9575f6017600301819055506119b8600a5f015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16333084612b69565b5b50565b5f73ffffffffffffffffffffffffffffffffffffffff16600a6001015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1603611a45576040517fb1fbf74400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611a4d61255a565b611a55613098565b611a61338484846130d8565b611a696124c4565b611a71613304565b6001601e5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f206001015f6101000a81548160ff0219169083151502179055505f670de0b6b3a764000060126002015485611ae49190614651565b611aee91906146bf565b90505f8185611afd9190614518565b90507f9e68441ce2856c396dfcf2046f3eafd50f14646deb82b93938b7bbe57ccfb7388533604051611b30929190614569565b60405180910390a15f8114611c0c575f611b5a3360126003015460125f0154601260010154613345565b905080601e5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2060010160036101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550611c0a600a6001015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682846128ae565b505b5f8214611c4357611c42600a6001015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1633846128ae565b5b5050505050565b600a6002015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611cd3576040517f424e3f9b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611cdb61255a565b611ce3612bce565b611ceb612c18565b611cf36124c4565b611cfb6133f3565b6001601760060160026101000a81548160ff0219169083151502179055506017600201546017600301819055505f60176002015490505f61271082600160040154611d469190614651565b611d5091906146bf565b90505f61271083600160060154611d679190614651565b611d7191906146bf565b90507f2d6f01e5411cbd4277f423f351cb310dc3488eec3993da5a4ae9276837d4b82f8333604051611da4929190614569565b60405180910390a1611df0600a5f015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1633838587611de19190614518565b611deb9190614518565b6128ae565b5f8214611e4a57611e49600a5f015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600a6006015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846128ae565b5b5f8114611ea457611ea3600a5f015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600a6007015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836128ae565b5b505050565b611eb161255a565b611eb961347d565b5f601e5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f015490505f8103611f35576040517fdb73cdf000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f601e5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f01819055508060175f015f828254611f8c9190614518565b925050819055507f3807f78213e07f1e91138875c27db2a63adf27577192e6d8617910fb3b755b138133604051611fc4929190614569565b60405180910390a1611ffa600a5f015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1633836128ae565b50565b600a6003015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663970559cf7f4c4547494f4e5f424f554e4345520000000000000000000000000000000000006040518263ffffffff1660e01b815260040161207a91906144d2565b602060405180830381865afa158015612095573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120b991906147b0565b600a6004015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600a6003015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663970559cf7f4c4547494f4e5f5349474e4552000000000000000000000000000000000000006040518263ffffffff1660e01b815260040161217891906144d2565b602060405180830381865afa158015612193573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121b791906147b0565b600a6005015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600a6003015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663970559cf7f4c4547494f4e5f4645455f5245434549564552000000000000000000000000006040518263ffffffff1660e01b815260040161227691906144d2565b602060405180830381865afa158015612291573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906122b591906147b0565b600a6006015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600a6003015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663970559cf7f4c4547494f4e5f56455354494e475f464143544f5259000000000000000000006040518263ffffffff1660e01b815260040161237491906144d2565b602060405180830381865afa15801561238f573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123b391906147b0565b60126004015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fbe3bfe64947d6e55482c3ff74c8fd3ddbb9bc20b6eb9c979b68567d929ebd383600a6004015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600a6005015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600a6006015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660126004015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040516124ba94939291906147db565b60405180910390a1565b60176006015f9054906101000a900460ff161561250d576040517f8019358900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b601f6002015f9054906101000a900460ff1615612558576040517f8531bb5600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b612562610e71565b15612599576040517fd93c066500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b601e5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2060010160029054906101000a900460ff161561262b57336040517fe31e153a00000000000000000000000000000000000000000000000000000000815260040161262291906145dc565b60405180910390fd5b565b5f601e5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f206040518060a00160405290815f8201548152602001600182015f9054906101000a900460ff161515151581526020016001820160019054906101000a900460ff161515151581526020016001820160029054906101000a900460ff161515151581526020016001820160039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681525050905080604001511561276e57846040517f77126d9e00000000000000000000000000000000000000000000000000000000815260040161276591906145dc565b60405180910390fd5b5f815f0151036127b557846040517f29e73a460000000000000000000000000000000000000000000000000000000081526004016127ac91906145dc565b60405180910390fd5b5f8585835f01516127c69190614518565b6040516020016127d792919061481e565b604051602081830303815290604052805190602001206040516020016127fd9190614865565b6040516020818303038152906040528051906020012090506128658484808060200260200160405190810160405280939291908181526020018383602002808284375f81840152601f19601f82011690508083019250505050505050601760050154836134c7565b6128a657856040517f5081175500000000000000000000000000000000000000000000000000000000815260040161289d91906145dc565b60405180910390fd5b505050505050565b81601452806034526fa9059cbb0000000000000000000000005f5260205f604460105f875af18060015f5114166128f857803d853b1517106128f7576390b8ec185f526004601cfd5b5b5f60345250505050565b61290a61255a565b60015f5f6101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25861294c613521565b60405161295991906145dc565b60405180910390a1565b5f60016002015411801561297c57506001600201544210155b156129b3576040517fa996651400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b5f6129e93330466040516020016129ce939291906148e4565b60405160208183030381529060405280519060200120613528565b9050600a6005015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16612a39838361355b90919063ffffffff16565b73ffffffffffffffffffffffffffffffffffffffff1614612a86576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b600160080154811015612ad457806040517f91005304000000000000000000000000000000000000000000000000000000008152600401612acb91906145c3565b60405180910390fd5b50565b601e5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2060010160019054906101000a900460ff1615612b6757336040517f40feb9d1000000000000000000000000000000000000000000000000000000008152600401612b5e91906145dc565b60405180910390fd5b565b60405181606052826040528360601b602c526f23b872dd000000000000000000000000600c5260205f6064601c5f895af18060015f511416612bbe57803d873b151710612bbd57637939f4245f526004601cfd5b5b5f60605281604052505050505050565b601f6002015f9054906101000a900460ff16612c16576040517f13365f7700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b5f600160020154118015612c30575060016002015442105b15612c67576040517f15578f8200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b5f60176002015414612ca7576040517ff77cd8d600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b612cb1613585565b5f5f5f6101000a81548160ff0219169083151502179055507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa612cf2613521565b604051612cff91906145dc565b60405180910390a1565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf6011325f1b905090565b612d3a6135c5565b612d5382803603810190612d4e9190614a59565b6135e9565b816060013560016004018190555081608001356001600501819055508160a001356001600601819055508160c001356001600701819055508160e0013560016008018190555081610100016020810190612dad9190613cee565b600a5f015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081610120016020810190612e029190613cee565b600a6001015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081610140016020810190612e589190613cee565b600a6002015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081610160016020810190612eae9190613cee565b600a6003015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081610180016020810190612f049190613cee565b600a6007015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550805f013560125f018190555080602001356012600101819055508060400135601260020181905550612f766137e7565b612f7e611ffd565b5050565b5f60176001015403612fc0576040517f24f7856300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b601760010154811461300957806040517ffda813a300000000000000000000000000000000000000000000000000000000815260040161300091906145c3565b60405180910390fd5b50565b601760060160019054906101000a900460ff1615613056576040517f47cccaa200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b5f60176001015414613096576040517fa0054cc400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b5f601760010154036130d6576040517f3bf6383400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b5f84846040516020016130ec92919061481e565b604051602081830303815290604052805190602001206040516020016131129190614865565b6040516020818303038152906040528051906020012090505f601e5f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f206040518060a00160405290815f8201548152602001600182015f9054906101000a900460ff161515151581526020016001820160019054906101000a900460ff161515151581526020016001820160029054906101000a900460ff161515151581526020016001820160039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152505090506132748484808060200260200160405190810160405280939291908181526020018383602002808284375f81840152601f19601f82011690508083019250505050505050601760040154846134c7565b6132b557856040517feaee9f7e0000000000000000000000000000000000000000000000000000000081526004016132ac91906145dc565b60405180910390fd5b8060200151156132fc57856040517f9e0a3d5a0000000000000000000000000000000000000000000000000000000081526004016132f391906145dc565b60405180910390fd5b505050505050565b600160030154421015613343576040517f1a7fddef00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b5f60126004015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636ddc243d868686866040518563ffffffff1660e01b81526004016133a99493929190614aa7565b6020604051808303815f875af11580156133c5573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906133e99190614b25565b9050949350505050565b601760060160029054906101000a900460ff161561343d576040517f863d959e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f6017600201540361347b576040517f6b317b0600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b60176006015f9054906101000a900460ff166134c5576040517f9903ed3700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b5f8351156135155760208401845160051b81015b600115613512578151841160051b8481528251602082185260405f20945060208301925081831061350c5750613512565b506134db565b50505b82821490509392505050565b5f33905090565b5f7f19457468657265756d205369676e6564204d6573736167653a0a3332000000005f5281601c52603c5f209050919050565b5f5f5f5f6135698686613855565b92509250925061357982826138aa565b82935050505092915050565b61358d610e71565b6135c3576040517f8dfc202b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b5f6135ce612d09565b905080546001166135e65763d7e6bcf85f526004601cfd5b50565b5f73ffffffffffffffffffffffffffffffffffffffff1681610100015173ffffffffffffffffffffffffffffffffffffffff16148061365857505f73ffffffffffffffffffffffffffffffffffffffff1681610140015173ffffffffffffffffffffffffffffffffffffffff16145b8061369357505f73ffffffffffffffffffffffffffffffffffffffff1681610160015173ffffffffffffffffffffffffffffffffffffffff16145b156136ca576040517f8474420100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f815f015114806136de57505f8160200151145b806136ec57505f8160400151145b15613723576040517fad3e811300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6276a700815f0151118061373d5750621275008160200151115b8061374e575062f0c8a08160400151115b15613785576040517f6e78126000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610e10815f0151108061379d5750610e108160200151105b806137ad5750610e108160400151105b156137e4576040517f6e78126000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50565b6312cc030060125f01541180613805575060125f0154601260010154115b8061381c5750670de0b6b3a7640000601260020154115b15613853576040517f5c9504c200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b5f5f5f6041845103613895575f5f5f602087015192506040870151915060608701515f1a905061388788828585613a0c565b9550955095505050506138a3565b5f600285515f1b9250925092505b9250925092565b5f60038111156138bd576138bc614b50565b5b8260038111156138d0576138cf614b50565b5b0315613a0857600160038111156138ea576138e9614b50565b5b8260038111156138fd576138fc614b50565b5b03613934576040517ff645eedf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002600381111561394857613947614b50565b5b82600381111561395b5761395a614b50565b5b0361399f57805f1c6040517ffce698f700000000000000000000000000000000000000000000000000000000815260040161399691906145c3565b60405180910390fd5b6003808111156139b2576139b1614b50565b5b8260038111156139c5576139c4614b50565b5b03613a0757806040517fd78bce0c0000000000000000000000000000000000000000000000000000000081526004016139fe91906144d2565b60405180910390fd5b5b5050565b5f5f5f7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0845f1c1115613a48575f600385925092509250613ae9565b5f6001888888886040515f8152602001604052604051613a6b9493929190614b98565b6020604051602081039080840390855afa158015613a8b573d5f5f3e3d5ffd5b5050506020604051035190505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603613adc575f60015f5f1b93509350935050613ae9565b805f5f5f1b935093509350505b9450945094915050565b6040518060a001604052805f81526020015f151581526020015f151581526020015f151581526020015f73ffffffffffffffffffffffffffffffffffffffff1681525090565b6040518060a001604052805f81526020015f81526020015f81526020015f81526020015f73ffffffffffffffffffffffffffffffffffffffff1681525090565b6040518061012001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f151581526020015f151581526020015f151581525090565b6040518061012001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60405180606001604052805f81526020015f81526020015f151581525090565b5f604051905090565b5f5ffd5b5f5ffd5b5f819050919050565b613c4881613c36565b8114613c52575f5ffd5b50565b5f81359050613c6381613c3f565b92915050565b5f60208284031215613c7e57613c7d613c2e565b5b5f613c8b84828501613c55565b91505092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f613cbd82613c94565b9050919050565b613ccd81613cb3565b8114613cd7575f5ffd5b50565b5f81359050613ce881613cc4565b92915050565b5f60208284031215613d0357613d02613c2e565b5b5f613d1084828501613cda565b91505092915050565b5f819050919050565b613d2b81613d19565b82525050565b5f8115159050919050565b613d4581613d31565b82525050565b613d5481613cb3565b82525050565b60a082015f820151613d6e5f850182613d22565b506020820151613d816020850182613d3c565b506040820151613d946040850182613d3c565b506060820151613da76060850182613d3c565b506080820151613dba6080850182613d4b565b50505050565b5f60a082019050613dd35f830184613d5a565b92915050565b613de281613d19565b8114613dec575f5ffd5b50565b5f81359050613dfd81613dd9565b92915050565b5f5ffd5b5f5ffd5b5f5ffd5b5f5f83601f840112613e2457613e23613e03565b5b8235905067ffffffffffffffff811115613e4157613e40613e07565b5b602083019150836020820283011115613e5d57613e5c613e0b565b5b9250929050565b5f5f5f60408486031215613e7b57613e7a613c2e565b5b5f613e8886828701613def565b935050602084013567ffffffffffffffff811115613ea957613ea8613c32565b5b613eb586828701613e0f565b92509250509250925092565b60a082015f820151613ed55f850182613d22565b506020820151613ee86020850182613d22565b506040820151613efb6040850182613d22565b506060820151613f0e6060850182613d22565b506080820151613f216080850182613d4b565b50505050565b5f60a082019050613f3a5f830184613ec1565b92915050565b613f4981613d31565b82525050565b5f602082019050613f625f830184613f40565b92915050565b613f7181613c36565b82525050565b61012082015f820151613f8c5f850182613d22565b506020820151613f9f6020850182613d22565b506040820151613fb26040850182613d22565b506060820151613fc56060850182613d22565b506080820151613fd86080850182613f68565b5060a0820151613feb60a0850182613f68565b5060c0820151613ffe60c0850182613d3c565b5060e082015161401160e0850182613d3c565b50610100820151614026610100850182613d3c565b50505050565b5f610120820190506140405f830184613f77565b92915050565b61012082015f82015161405b5f850182613d22565b50602082015161406e6020850182613d22565b5060408201516140816040850182613d22565b5060608201516140946060850182613d22565b5060808201516140a76080850182613d22565b5060a08201516140ba60a0850182613d22565b5060c08201516140cd60c0850182613d22565b5060e08201516140e060e0850182613d22565b506101008201516140f5610100850182613d22565b50505050565b5f6101208201905061410f5f830184614046565b92915050565b606082015f8201516141295f850182613d22565b50602082015161413c6020850182613d22565b50604082015161414f6040850182613d3c565b50505050565b5f6060820190506141685f830184614115565b92915050565b5f5ffd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6141b882614172565b810181811067ffffffffffffffff821117156141d7576141d6614182565b5b80604052505050565b5f6141e9613c25565b90506141f582826141af565b919050565b5f67ffffffffffffffff82111561421457614213614182565b5b61421d82614172565b9050602081019050919050565b828183375f83830152505050565b5f61424a614245846141fa565b6141e0565b9050828152602081018484840111156142665761426561416e565b5b61427184828561422a565b509392505050565b5f82601f83011261428d5761428c613e03565b5b813561429d848260208601614238565b91505092915050565b5f5f604083850312156142bc576142bb613c2e565b5b5f6142c985828601613def565b925050602083013567ffffffffffffffff8111156142ea576142e9613c32565b5b6142f685828601614279565b9150509250929050565b5f5f6040838503121561431657614315613c2e565b5b5f61432385828601613def565b925050602061433485828601613c55565b9150509250929050565b5f5ffd5b5f6101a082840312156143585761435761433e565b5b81905092915050565b5f606082840312156143765761437561433e565b5b81905092915050565b5f5f610200838503121561439657614395613c2e565b5b5f6143a385828601614342565b9250506101a06143b585828601614361565b9150509250929050565b5f5f5f606084860312156143d6576143d5613c2e565b5b5f6143e386828701613def565b93505060206143f486828701613def565b925050604061440586828701613def565b9150509250925092565b5f5f5f6060848603121561442657614425613c2e565b5b5f61443386828701613cda565b935050602061444486828701613cda565b925050604061445586828701613def565b9150509250925092565b5f5f5f5f6080858703121561447757614476613c2e565b5b5f61448487828801613c55565b945050602061449587828801613def565b93505060406144a687828801613cda565b92505060606144b787828801613def565b91505092959194509250565b6144cc81613c36565b82525050565b5f6020820190506144e55f8301846144c3565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61452282613d19565b915061452d83613d19565b9250828203905081811115614545576145446144eb565b5b92915050565b61455481613d19565b82525050565b61456381613cb3565b82525050565b5f60408201905061457c5f83018561454b565b614589602083018461455a565b9392505050565b5f61459a82613d19565b91506145a583613d19565b92508282019050808211156145bd576145bc6144eb565b5b92915050565b5f6020820190506145d65f83018461454b565b92915050565b5f6020820190506145ef5f83018461455a565b92915050565b5f6060820190506146085f83018661454b565b614615602083018561455a565b614622604083018461454b565b949350505050565b5f60408201905061463d5f83018561454b565b61464a60208301846144c3565b9392505050565b5f61465b82613d19565b915061466683613d19565b925082820261467481613d19565b9150828204841483151761468b5761468a6144eb565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6146c982613d19565b91506146d483613d19565b9250826146e4576146e3614692565b5b828204905092915050565b5f6060820190506147025f83018661454b565b61470f602083018561454b565b61471c604083018461454b565b949350505050565b5f6060820190506147375f83018661455a565b614744602083018561455a565b614751604083018461454b565b949350505050565b5f60808201905061476c5f8301876144c3565b614779602083018661454b565b614786604083018561455a565b614793606083018461454b565b95945050505050565b5f815190506147aa81613cc4565b92915050565b5f602082840312156147c5576147c4613c2e565b5b5f6147d28482850161479c565b91505092915050565b5f6080820190506147ee5f83018761455a565b6147fb602083018661455a565b614808604083018561455a565b614815606083018461455a565b95945050505050565b5f6040820190506148315f83018561455a565b61483e602083018461454b565b9392505050565b5f819050919050565b61485f61485a82613c36565b614845565b82525050565b5f614870828461484e565b60208201915081905092915050565b5f8160601b9050919050565b5f6148958261487f565b9050919050565b5f6148a68261488b565b9050919050565b6148be6148b982613cb3565b61489c565b82525050565b5f819050919050565b6148de6148d982613d19565b6148c4565b82525050565b5f6148ef82866148ad565b6014820191506148ff82856148ad565b60148201915061490f82846148cd565b602082019150819050949350505050565b5f5ffd5b5f6101a0828403121561493a57614939614920565b5b6149456101a06141e0565b90505f61495484828501613def565b5f83015250602061496784828501613def565b602083015250604061497b84828501613def565b604083015250606061498f84828501613def565b60608301525060806149a384828501613def565b60808301525060a06149b784828501613def565b60a08301525060c06149cb84828501613def565b60c08301525060e06149df84828501613def565b60e0830152506101006149f484828501613cda565b61010083015250610120614a0a84828501613cda565b61012083015250610140614a2084828501613cda565b61014083015250610160614a3684828501613cda565b61016083015250610180614a4c84828501613cda565b6101808301525092915050565b5f6101a08284031215614a6f57614a6e613c2e565b5b5f614a7c84828501614924565b91505092915050565b5f67ffffffffffffffff82169050919050565b614aa181614a85565b82525050565b5f608082019050614aba5f83018761455a565b614ac76020830186614a98565b614ad46040830185614a98565b614ae16060830184614a98565b95945050505050565b5f614af482613c94565b9050919050565b614b0481614aea565b8114614b0e575f5ffd5b50565b5f81519050614b1f81614afb565b92915050565b5f60208284031215614b3a57614b39613c2e565b5b5f614b4784828501614b11565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b5f60ff82169050919050565b614b9281614b7d565b82525050565b5f608082019050614bab5f8301876144c3565b614bb86020830186614b89565b614bc560408301856144c3565b614bd260608301846144c3565b9594505050505056fea26469706673582212201175c22367bd1efa20d9e5675748cabc3fcdbafadf4480c89364912b0b0145cc64736f6c634300081c0033
Deployed Bytecode
0x608060405234801561000f575f5ffd5b5060043610610156575f3560e01c80639a6f8a7f116100c1578063e63ea4081161007a578063e63ea40814610304578063e769a9e514610320578063e7e104901461033c578063e8d2145314610346578063f68c1d4914610362578063f71c23641461036c57610156565b80639a6f8a7f1461026c5780639dc21d471461028a578063b6ed5365146102a6578063bb33d729146102c2578063c2b30462146102cc578063cc6ae755146102e857610156565b806354dd1da41161011357806354dd1da4146101f457806355367ba9146101fe578063590e1ae3146102085780635c975abb146102125780638d3ed06d1461023057806390dbb8061461024e57610156565b80630a636d5b1461015a5780630aff2d861461016457806317ec6a731461018057806332e719f2146101b0578063380d831b146101cc5780633cccebc5146101d6575b5f5ffd5b610162610376565b005b61017e60048036038101906101799190613c69565b610409565b005b61019a60048036038101906101959190613cee565b6104e6565b6040516101a79190613dc0565b60405180910390f35b6101ca60048036038101906101c59190613e64565b6105ec565b005b6101d461074c565b005b6101de610906565b6040516101eb9190613f27565b60405180910390f35b6101fc61099c565b005b610206610c21565b005b610210610cb4565b005b61021a610e71565b6040516102279190613f4f565b60405180910390f35b610238610e85565b604051610245919061402c565b60405180910390f35b610256610f2b565b60405161026391906140fb565b60405180910390f35b610274610f9f565b6040516102819190614155565b60405180910390f35b6102a4600480360381019061029f91906142a6565b610fe6565b005b6102c060048036038101906102bb9190614300565b6110fd565b005b6102ca6111ff565b005b6102e660048036038101906102e1919061437f565b611292565b005b61030260048036038101906102fd91906143bf565b611336565b005b61031e6004803603810190610319919061440f565b61165b565b005b61033a6004803603810190610335919061445f565b61172f565b005b610344611884565b005b610360600480360381019061035b9190613e64565b6119bc565b005b61036a611c4a565b005b610374611ea9565b005b600a6004015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146103ff576040517fabdc864100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610407611ffd565b565b600a6004015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610492576040517fabdc864100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61049a6124c4565b6104a261250f565b806017600501819055507f393244a3cfb18cb61014afd98d11fbc01143937c82fbfdd0c6c6fc15c96e1396816040516104db91906144d2565b60405180910390a150565b6104ee613af3565b601e5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f206040518060a00160405290815f8201548152602001600182015f9054906101000a900460ff161515151581526020016001820160019054906101000a900460ff161515151581526020016001820160029054906101000a900460ff161515151581526020016001820160039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815250509050919050565b6105f461255a565b6105fc6124c4565b61060461259b565b6106103384848461262d565b6001601e5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2060010160016101000a81548160ff0219169083151502179055505f83146107475782601e5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f015f8282546106be9190614518565b925050819055508260175f015f8282546106d89190614518565b925050819055507f3970b7297e47f09230b91c5e95e91fcc5b486274492c7e1f8d08ecded772a7078333604051610710929190614569565b60405180910390a1610746600a5f015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1633856128ae565b5b505050565b600a6002015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141580156107fc5750600a6004015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614155b15610833576040517fa33edbf200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61083b61255a565b6108436124c4565b61084b61250f565b6001601f6002015f6101000a81548160ff021916908315150217905550426001800181905550601f5f0154426108819190614590565b600160020181905550601f5f0154601f60010154116108ae576001600201546001600301819055506108cd565b601f6001015460018001546108c39190614590565b6001600301819055505b7f94bb74a9473ae4063ec1e73dc3e35fd4b5abe9cc1e43ad0db84e5358559ccd5a426040516108fc91906145c3565b60405180910390a1565b61090e613b39565b60126040518060a00160405290815f8201548152602001600182015481526020016002820154815260200160038201548152602001600482015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681525050905090565b5f73ffffffffffffffffffffffffffffffffffffffff16600a6001015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1603610a25576040517fb1fbf74400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610a2d61255a565b5f601e5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f206040518060a00160405290815f8201548152602001600182015f9054906101000a900460ff161515151581526020016001820160019054906101000a900460ff161515151581526020016001820160029054906101000a900460ff161515151581526020016001820160039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152505090505f73ffffffffffffffffffffffffffffffffffffffff16816080015173ffffffffffffffffffffffffffffffffffffffff1603610b90576040517f8474420100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b806080015173ffffffffffffffffffffffffffffffffffffffff166319165587600a6001015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b8152600401610bf191906145dc565b5f604051808303815f87803b158015610c08575f5ffd5b505af1158015610c1a573d5f5f3e3d5ffd5b5050505050565b600a6004015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610caa576040517fabdc864100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610cb2612902565b565b610cbc61255a565b610cc4612963565b610ccc6124c4565b610cd461259b565b5f601e5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f015490505f8103610d50576040517f16365d5f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f601e5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f01819055506001601e5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2060010160026101000a81548160ff0219169083151502179055508060175f015f828254610e009190614518565b925050819055507f68537ca51c1b2cb464f6b47b5ab5fed672fd221e6745c3784c21d1cf127693b68133604051610e38929190614569565b60405180910390a1610e6e600a5f015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1633836128ae565b50565b5f5f5f9054906101000a900460ff16905090565b610e8d613b79565b6017604051806101200160405290815f82015481526020016001820154815260200160028201548152602001600382015481526020016004820154815260200160058201548152602001600682015f9054906101000a900460ff161515151581526020016006820160019054906101000a900460ff161515151581526020016006820160029054906101000a900460ff161515151581525050905090565b610f33613bc2565b6001604051806101200160405290815f820154815260200160018201548152602001600282015481526020016003820154815260200160048201548152602001600582015481526020016006820154815260200160078201548152602001600882015481525050905090565b610fa7613c05565b601f6040518060600160405290815f820154815260200160018201548152602001600282015f9054906101000a900460ff161515151581525050905090565b610fee61255a565b610ff7816129b5565b610fff61250f565b6110076124c4565b61101082612a8a565b61101861259b565b611020612ad7565b8160175f015f8282546110339190614590565b9250508190555081601e5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f015f8282546110889190614590565b925050819055507f4043c8d45eb629e6b7f94bf2f65c2a7756f860bbe48747c7bc599ca0353b47988233426040516110c2939291906145f5565b60405180910390a16110f9600a5f015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16333085612b69565b5050565b600a6004015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611186576040517fabdc864100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61118e61255a565b6111966124c4565b61119e612bce565b6111a6612c18565b6111ae612c69565b81601760020181905550806017600501819055507fff2eede0443ccf6db05e43a635cc5fdeda669c13e511fe1fe719d2f08aae059182826040516111f392919061462a565b60405180910390a15050565b600a6004015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611288576040517fabdc864100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611290612ca9565b565b5f61129b612d09565b905080546003825580156112cd5760018160011c14303b106112c45763f92ee8a95f526004601cfd5b818160ff1b1b91505b506112d88383612d32565b4260015f01819055508260200135601f5f01819055508260400135601f600101819055508015611331576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b600a6002015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146113bf576040517f424e3f9b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff16600a6001015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1603611448576040517fb1fbf74400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61145061255a565b61145983612f82565b6114616124c4565b61146961300c565b6001601760060160016101000a81548160ff0219169083151502179055506127108360016005015461149b9190614651565b6114a591906146bf565b82146114dd576040517f52338c8000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612710836001600701546114f19190614651565b6114fb91906146bf565b8114611533576040517f52338c8000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7feb6ecff67790f9432b928d86593a8ef9296b4f8562a4e1856e2b17372fa218fb838383604051611566939291906146ef565b60405180910390a161159e600a6001015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16333086612b69565b5f82146115fa576115f9600a6001015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1633600a6006015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1685612b69565b5b5f811461165657611655600a6001015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1633600a6007015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1685612b69565b5b505050565b600a6004015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146116e4576040517fabdc864100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7ff24ef89f38eadc1bde50701ad6e4d6d11a2dc24f7cf834a486991f388332850483838360405161171793929190614724565b60405180910390a161172a8284836128ae565b505050565b600a6004015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146117b8576040517fabdc864100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6117c061255a565b6117c86124c4565b6117d0612bce565b6117d8612c18565b6117e0613058565b836017600401819055508260176001018190555081600a6001015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550806012600301819055507f42f3f88904d1c3fcdb391e357ea86c4cf73dd5cad9913f14a40ba18b2764af6e848484846040516118769493929190614759565b60405180910390a150505050565b600a6002015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461190d576040517f424e3f9b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61191561255a565b61191d6124c4565b61192561300c565b5f6017600301549050600160176006015f6101000a81548160ff0219169083151502179055507f0943552b21b3bcfb11bcb560653f2703faf49c76ac2a791e285b130c0117678a60405160405180910390a15f8111156119b9575f6017600301819055506119b8600a5f015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16333084612b69565b5b50565b5f73ffffffffffffffffffffffffffffffffffffffff16600a6001015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1603611a45576040517fb1fbf74400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611a4d61255a565b611a55613098565b611a61338484846130d8565b611a696124c4565b611a71613304565b6001601e5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f206001015f6101000a81548160ff0219169083151502179055505f670de0b6b3a764000060126002015485611ae49190614651565b611aee91906146bf565b90505f8185611afd9190614518565b90507f9e68441ce2856c396dfcf2046f3eafd50f14646deb82b93938b7bbe57ccfb7388533604051611b30929190614569565b60405180910390a15f8114611c0c575f611b5a3360126003015460125f0154601260010154613345565b905080601e5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2060010160036101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550611c0a600a6001015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682846128ae565b505b5f8214611c4357611c42600a6001015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1633846128ae565b5b5050505050565b600a6002015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611cd3576040517f424e3f9b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611cdb61255a565b611ce3612bce565b611ceb612c18565b611cf36124c4565b611cfb6133f3565b6001601760060160026101000a81548160ff0219169083151502179055506017600201546017600301819055505f60176002015490505f61271082600160040154611d469190614651565b611d5091906146bf565b90505f61271083600160060154611d679190614651565b611d7191906146bf565b90507f2d6f01e5411cbd4277f423f351cb310dc3488eec3993da5a4ae9276837d4b82f8333604051611da4929190614569565b60405180910390a1611df0600a5f015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1633838587611de19190614518565b611deb9190614518565b6128ae565b5f8214611e4a57611e49600a5f015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600a6006015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846128ae565b5b5f8114611ea457611ea3600a5f015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600a6007015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836128ae565b5b505050565b611eb161255a565b611eb961347d565b5f601e5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f015490505f8103611f35576040517fdb73cdf000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f601e5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f01819055508060175f015f828254611f8c9190614518565b925050819055507f3807f78213e07f1e91138875c27db2a63adf27577192e6d8617910fb3b755b138133604051611fc4929190614569565b60405180910390a1611ffa600a5f015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1633836128ae565b50565b600a6003015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663970559cf7f4c4547494f4e5f424f554e4345520000000000000000000000000000000000006040518263ffffffff1660e01b815260040161207a91906144d2565b602060405180830381865afa158015612095573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120b991906147b0565b600a6004015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600a6003015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663970559cf7f4c4547494f4e5f5349474e4552000000000000000000000000000000000000006040518263ffffffff1660e01b815260040161217891906144d2565b602060405180830381865afa158015612193573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121b791906147b0565b600a6005015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600a6003015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663970559cf7f4c4547494f4e5f4645455f5245434549564552000000000000000000000000006040518263ffffffff1660e01b815260040161227691906144d2565b602060405180830381865afa158015612291573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906122b591906147b0565b600a6006015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600a6003015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663970559cf7f4c4547494f4e5f56455354494e475f464143544f5259000000000000000000006040518263ffffffff1660e01b815260040161237491906144d2565b602060405180830381865afa15801561238f573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123b391906147b0565b60126004015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fbe3bfe64947d6e55482c3ff74c8fd3ddbb9bc20b6eb9c979b68567d929ebd383600a6004015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600a6005015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600a6006015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660126004015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040516124ba94939291906147db565b60405180910390a1565b60176006015f9054906101000a900460ff161561250d576040517f8019358900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b601f6002015f9054906101000a900460ff1615612558576040517f8531bb5600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b612562610e71565b15612599576040517fd93c066500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b601e5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2060010160029054906101000a900460ff161561262b57336040517fe31e153a00000000000000000000000000000000000000000000000000000000815260040161262291906145dc565b60405180910390fd5b565b5f601e5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f206040518060a00160405290815f8201548152602001600182015f9054906101000a900460ff161515151581526020016001820160019054906101000a900460ff161515151581526020016001820160029054906101000a900460ff161515151581526020016001820160039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681525050905080604001511561276e57846040517f77126d9e00000000000000000000000000000000000000000000000000000000815260040161276591906145dc565b60405180910390fd5b5f815f0151036127b557846040517f29e73a460000000000000000000000000000000000000000000000000000000081526004016127ac91906145dc565b60405180910390fd5b5f8585835f01516127c69190614518565b6040516020016127d792919061481e565b604051602081830303815290604052805190602001206040516020016127fd9190614865565b6040516020818303038152906040528051906020012090506128658484808060200260200160405190810160405280939291908181526020018383602002808284375f81840152601f19601f82011690508083019250505050505050601760050154836134c7565b6128a657856040517f5081175500000000000000000000000000000000000000000000000000000000815260040161289d91906145dc565b60405180910390fd5b505050505050565b81601452806034526fa9059cbb0000000000000000000000005f5260205f604460105f875af18060015f5114166128f857803d853b1517106128f7576390b8ec185f526004601cfd5b5b5f60345250505050565b61290a61255a565b60015f5f6101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25861294c613521565b60405161295991906145dc565b60405180910390a1565b5f60016002015411801561297c57506001600201544210155b156129b3576040517fa996651400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b5f6129e93330466040516020016129ce939291906148e4565b60405160208183030381529060405280519060200120613528565b9050600a6005015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16612a39838361355b90919063ffffffff16565b73ffffffffffffffffffffffffffffffffffffffff1614612a86576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b600160080154811015612ad457806040517f91005304000000000000000000000000000000000000000000000000000000008152600401612acb91906145c3565b60405180910390fd5b50565b601e5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2060010160019054906101000a900460ff1615612b6757336040517f40feb9d1000000000000000000000000000000000000000000000000000000008152600401612b5e91906145dc565b60405180910390fd5b565b60405181606052826040528360601b602c526f23b872dd000000000000000000000000600c5260205f6064601c5f895af18060015f511416612bbe57803d873b151710612bbd57637939f4245f526004601cfd5b5b5f60605281604052505050505050565b601f6002015f9054906101000a900460ff16612c16576040517f13365f7700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b5f600160020154118015612c30575060016002015442105b15612c67576040517f15578f8200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b5f60176002015414612ca7576040517ff77cd8d600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b612cb1613585565b5f5f5f6101000a81548160ff0219169083151502179055507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa612cf2613521565b604051612cff91906145dc565b60405180910390a1565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf6011325f1b905090565b612d3a6135c5565b612d5382803603810190612d4e9190614a59565b6135e9565b816060013560016004018190555081608001356001600501819055508160a001356001600601819055508160c001356001600701819055508160e0013560016008018190555081610100016020810190612dad9190613cee565b600a5f015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081610120016020810190612e029190613cee565b600a6001015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081610140016020810190612e589190613cee565b600a6002015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081610160016020810190612eae9190613cee565b600a6003015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081610180016020810190612f049190613cee565b600a6007015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550805f013560125f018190555080602001356012600101819055508060400135601260020181905550612f766137e7565b612f7e611ffd565b5050565b5f60176001015403612fc0576040517f24f7856300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b601760010154811461300957806040517ffda813a300000000000000000000000000000000000000000000000000000000815260040161300091906145c3565b60405180910390fd5b50565b601760060160019054906101000a900460ff1615613056576040517f47cccaa200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b5f60176001015414613096576040517fa0054cc400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b5f601760010154036130d6576040517f3bf6383400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b5f84846040516020016130ec92919061481e565b604051602081830303815290604052805190602001206040516020016131129190614865565b6040516020818303038152906040528051906020012090505f601e5f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f206040518060a00160405290815f8201548152602001600182015f9054906101000a900460ff161515151581526020016001820160019054906101000a900460ff161515151581526020016001820160029054906101000a900460ff161515151581526020016001820160039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152505090506132748484808060200260200160405190810160405280939291908181526020018383602002808284375f81840152601f19601f82011690508083019250505050505050601760040154846134c7565b6132b557856040517feaee9f7e0000000000000000000000000000000000000000000000000000000081526004016132ac91906145dc565b60405180910390fd5b8060200151156132fc57856040517f9e0a3d5a0000000000000000000000000000000000000000000000000000000081526004016132f391906145dc565b60405180910390fd5b505050505050565b600160030154421015613343576040517f1a7fddef00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b5f60126004015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636ddc243d868686866040518563ffffffff1660e01b81526004016133a99493929190614aa7565b6020604051808303815f875af11580156133c5573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906133e99190614b25565b9050949350505050565b601760060160029054906101000a900460ff161561343d576040517f863d959e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f6017600201540361347b576040517f6b317b0600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b60176006015f9054906101000a900460ff166134c5576040517f9903ed3700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b5f8351156135155760208401845160051b81015b600115613512578151841160051b8481528251602082185260405f20945060208301925081831061350c5750613512565b506134db565b50505b82821490509392505050565b5f33905090565b5f7f19457468657265756d205369676e6564204d6573736167653a0a3332000000005f5281601c52603c5f209050919050565b5f5f5f5f6135698686613855565b92509250925061357982826138aa565b82935050505092915050565b61358d610e71565b6135c3576040517f8dfc202b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b5f6135ce612d09565b905080546001166135e65763d7e6bcf85f526004601cfd5b50565b5f73ffffffffffffffffffffffffffffffffffffffff1681610100015173ffffffffffffffffffffffffffffffffffffffff16148061365857505f73ffffffffffffffffffffffffffffffffffffffff1681610140015173ffffffffffffffffffffffffffffffffffffffff16145b8061369357505f73ffffffffffffffffffffffffffffffffffffffff1681610160015173ffffffffffffffffffffffffffffffffffffffff16145b156136ca576040517f8474420100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f815f015114806136de57505f8160200151145b806136ec57505f8160400151145b15613723576040517fad3e811300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6276a700815f0151118061373d5750621275008160200151115b8061374e575062f0c8a08160400151115b15613785576040517f6e78126000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610e10815f0151108061379d5750610e108160200151105b806137ad5750610e108160400151105b156137e4576040517f6e78126000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50565b6312cc030060125f01541180613805575060125f0154601260010154115b8061381c5750670de0b6b3a7640000601260020154115b15613853576040517f5c9504c200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b5f5f5f6041845103613895575f5f5f602087015192506040870151915060608701515f1a905061388788828585613a0c565b9550955095505050506138a3565b5f600285515f1b9250925092505b9250925092565b5f60038111156138bd576138bc614b50565b5b8260038111156138d0576138cf614b50565b5b0315613a0857600160038111156138ea576138e9614b50565b5b8260038111156138fd576138fc614b50565b5b03613934576040517ff645eedf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002600381111561394857613947614b50565b5b82600381111561395b5761395a614b50565b5b0361399f57805f1c6040517ffce698f700000000000000000000000000000000000000000000000000000000815260040161399691906145c3565b60405180910390fd5b6003808111156139b2576139b1614b50565b5b8260038111156139c5576139c4614b50565b5b03613a0757806040517fd78bce0c0000000000000000000000000000000000000000000000000000000081526004016139fe91906144d2565b60405180910390fd5b5b5050565b5f5f5f7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0845f1c1115613a48575f600385925092509250613ae9565b5f6001888888886040515f8152602001604052604051613a6b9493929190614b98565b6020604051602081039080840390855afa158015613a8b573d5f5f3e3d5ffd5b5050506020604051035190505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603613adc575f60015f5f1b93509350935050613ae9565b805f5f5f1b935093509350505b9450945094915050565b6040518060a001604052805f81526020015f151581526020015f151581526020015f151581526020015f73ffffffffffffffffffffffffffffffffffffffff1681525090565b6040518060a001604052805f81526020015f81526020015f81526020015f81526020015f73ffffffffffffffffffffffffffffffffffffffff1681525090565b6040518061012001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f151581526020015f151581526020015f151581525090565b6040518061012001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60405180606001604052805f81526020015f81526020015f151581525090565b5f604051905090565b5f5ffd5b5f5ffd5b5f819050919050565b613c4881613c36565b8114613c52575f5ffd5b50565b5f81359050613c6381613c3f565b92915050565b5f60208284031215613c7e57613c7d613c2e565b5b5f613c8b84828501613c55565b91505092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f613cbd82613c94565b9050919050565b613ccd81613cb3565b8114613cd7575f5ffd5b50565b5f81359050613ce881613cc4565b92915050565b5f60208284031215613d0357613d02613c2e565b5b5f613d1084828501613cda565b91505092915050565b5f819050919050565b613d2b81613d19565b82525050565b5f8115159050919050565b613d4581613d31565b82525050565b613d5481613cb3565b82525050565b60a082015f820151613d6e5f850182613d22565b506020820151613d816020850182613d3c565b506040820151613d946040850182613d3c565b506060820151613da76060850182613d3c565b506080820151613dba6080850182613d4b565b50505050565b5f60a082019050613dd35f830184613d5a565b92915050565b613de281613d19565b8114613dec575f5ffd5b50565b5f81359050613dfd81613dd9565b92915050565b5f5ffd5b5f5ffd5b5f5ffd5b5f5f83601f840112613e2457613e23613e03565b5b8235905067ffffffffffffffff811115613e4157613e40613e07565b5b602083019150836020820283011115613e5d57613e5c613e0b565b5b9250929050565b5f5f5f60408486031215613e7b57613e7a613c2e565b5b5f613e8886828701613def565b935050602084013567ffffffffffffffff811115613ea957613ea8613c32565b5b613eb586828701613e0f565b92509250509250925092565b60a082015f820151613ed55f850182613d22565b506020820151613ee86020850182613d22565b506040820151613efb6040850182613d22565b506060820151613f0e6060850182613d22565b506080820151613f216080850182613d4b565b50505050565b5f60a082019050613f3a5f830184613ec1565b92915050565b613f4981613d31565b82525050565b5f602082019050613f625f830184613f40565b92915050565b613f7181613c36565b82525050565b61012082015f820151613f8c5f850182613d22565b506020820151613f9f6020850182613d22565b506040820151613fb26040850182613d22565b506060820151613fc56060850182613d22565b506080820151613fd86080850182613f68565b5060a0820151613feb60a0850182613f68565b5060c0820151613ffe60c0850182613d3c565b5060e082015161401160e0850182613d3c565b50610100820151614026610100850182613d3c565b50505050565b5f610120820190506140405f830184613f77565b92915050565b61012082015f82015161405b5f850182613d22565b50602082015161406e6020850182613d22565b5060408201516140816040850182613d22565b5060608201516140946060850182613d22565b5060808201516140a76080850182613d22565b5060a08201516140ba60a0850182613d22565b5060c08201516140cd60c0850182613d22565b5060e08201516140e060e0850182613d22565b506101008201516140f5610100850182613d22565b50505050565b5f6101208201905061410f5f830184614046565b92915050565b606082015f8201516141295f850182613d22565b50602082015161413c6020850182613d22565b50604082015161414f6040850182613d3c565b50505050565b5f6060820190506141685f830184614115565b92915050565b5f5ffd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6141b882614172565b810181811067ffffffffffffffff821117156141d7576141d6614182565b5b80604052505050565b5f6141e9613c25565b90506141f582826141af565b919050565b5f67ffffffffffffffff82111561421457614213614182565b5b61421d82614172565b9050602081019050919050565b828183375f83830152505050565b5f61424a614245846141fa565b6141e0565b9050828152602081018484840111156142665761426561416e565b5b61427184828561422a565b509392505050565b5f82601f83011261428d5761428c613e03565b5b813561429d848260208601614238565b91505092915050565b5f5f604083850312156142bc576142bb613c2e565b5b5f6142c985828601613def565b925050602083013567ffffffffffffffff8111156142ea576142e9613c32565b5b6142f685828601614279565b9150509250929050565b5f5f6040838503121561431657614315613c2e565b5b5f61432385828601613def565b925050602061433485828601613c55565b9150509250929050565b5f5ffd5b5f6101a082840312156143585761435761433e565b5b81905092915050565b5f606082840312156143765761437561433e565b5b81905092915050565b5f5f610200838503121561439657614395613c2e565b5b5f6143a385828601614342565b9250506101a06143b585828601614361565b9150509250929050565b5f5f5f606084860312156143d6576143d5613c2e565b5b5f6143e386828701613def565b93505060206143f486828701613def565b925050604061440586828701613def565b9150509250925092565b5f5f5f6060848603121561442657614425613c2e565b5b5f61443386828701613cda565b935050602061444486828701613cda565b925050604061445586828701613def565b9150509250925092565b5f5f5f5f6080858703121561447757614476613c2e565b5b5f61448487828801613c55565b945050602061449587828801613def565b93505060406144a687828801613cda565b92505060606144b787828801613def565b91505092959194509250565b6144cc81613c36565b82525050565b5f6020820190506144e55f8301846144c3565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61452282613d19565b915061452d83613d19565b9250828203905081811115614545576145446144eb565b5b92915050565b61455481613d19565b82525050565b61456381613cb3565b82525050565b5f60408201905061457c5f83018561454b565b614589602083018461455a565b9392505050565b5f61459a82613d19565b91506145a583613d19565b92508282019050808211156145bd576145bc6144eb565b5b92915050565b5f6020820190506145d65f83018461454b565b92915050565b5f6020820190506145ef5f83018461455a565b92915050565b5f6060820190506146085f83018661454b565b614615602083018561455a565b614622604083018461454b565b949350505050565b5f60408201905061463d5f83018561454b565b61464a60208301846144c3565b9392505050565b5f61465b82613d19565b915061466683613d19565b925082820261467481613d19565b9150828204841483151761468b5761468a6144eb565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6146c982613d19565b91506146d483613d19565b9250826146e4576146e3614692565b5b828204905092915050565b5f6060820190506147025f83018661454b565b61470f602083018561454b565b61471c604083018461454b565b949350505050565b5f6060820190506147375f83018661455a565b614744602083018561455a565b614751604083018461454b565b949350505050565b5f60808201905061476c5f8301876144c3565b614779602083018661454b565b614786604083018561455a565b614793606083018461454b565b95945050505050565b5f815190506147aa81613cc4565b92915050565b5f602082840312156147c5576147c4613c2e565b5b5f6147d28482850161479c565b91505092915050565b5f6080820190506147ee5f83018761455a565b6147fb602083018661455a565b614808604083018561455a565b614815606083018461455a565b95945050505050565b5f6040820190506148315f83018561455a565b61483e602083018461454b565b9392505050565b5f819050919050565b61485f61485a82613c36565b614845565b82525050565b5f614870828461484e565b60208201915081905092915050565b5f8160601b9050919050565b5f6148958261487f565b9050919050565b5f6148a68261488b565b9050919050565b6148be6148b982613cb3565b61489c565b82525050565b5f819050919050565b6148de6148d982613d19565b6148c4565b82525050565b5f6148ef82866148ad565b6014820191506148ff82856148ad565b60148201915061490f82846148cd565b602082019150819050949350505050565b5f5ffd5b5f6101a0828403121561493a57614939614920565b5b6149456101a06141e0565b90505f61495484828501613def565b5f83015250602061496784828501613def565b602083015250604061497b84828501613def565b604083015250606061498f84828501613def565b60608301525060806149a384828501613def565b60808301525060a06149b784828501613def565b60a08301525060c06149cb84828501613def565b60c08301525060e06149df84828501613def565b60e0830152506101006149f484828501613cda565b61010083015250610120614a0a84828501613cda565b61012083015250610140614a2084828501613cda565b61014083015250610160614a3684828501613cda565b61016083015250610180614a4c84828501613cda565b6101808301525092915050565b5f6101a08284031215614a6f57614a6e613c2e565b5b5f614a7c84828501614924565b91505092915050565b5f67ffffffffffffffff82169050919050565b614aa181614a85565b82525050565b5f608082019050614aba5f83018761455a565b614ac76020830186614a98565b614ad46040830185614a98565b614ae16060830184614a98565b95945050505050565b5f614af482613c94565b9050919050565b614b0481614aea565b8114614b0e575f5ffd5b50565b5f81519050614b1f81614afb565b92915050565b5f60208284031215614b3a57614b39613c2e565b5b5f614b4784828501614b11565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b5f60ff82169050919050565b614b9281614b7d565b82525050565b5f608082019050614bab5f8301876144c3565b614bb86020830186614b89565b614bc560408301856144c3565b614bd260608301846144c3565b9594505050505056fea26469706673582212201175c22367bd1efa20d9e5675748cabc3fcdbafadf4480c89364912b0b0145cc64736f6c634300081c0033
🤖 Code Reader
Generate instant answers for your smart contract questions using Al Models. Read more.
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.


