0 txs
0 calls
constructor
constructor(address _seeder)
functions
divisor
viewfunction divisor() view returns (uint256)
getSeedAmount
viewfunction getSeedAmount(address feeToken, uint256 feeAmount) view returns (uint256)
owner
viewfunction owner() view returns (address)
seeder
viewfunction seeder() view returns (address)
exactBuy
nonpayablefunction exactBuy(bytes data, address callTarget, address allowanceTarget, address sellToken, address buyToken, uint256 sellAmountMax, uint256 buyAmount)
exactBuyWithBuyFee
nonpayablefunction exactBuyWithBuyFee(bytes data, address callTarget, address allowanceTarget, address sellToken, address buyToken, uint256 sellAmountMax, uint256 buyAmount, uint256 feePercentage)
exactBuyWithSellFee
nonpayablefunction exactBuyWithSellFee(bytes data, address callTarget, address allowanceTarget, address sellToken, address buyToken, uint256 sellAmountMax, uint256 buyAmount, uint256 feeAmount)
exactSell
nonpayablefunction exactSell(bytes data, address callTarget, address allowanceTarget, address sellToken, address buyToken, uint256 buyAmountMin, uint256 sellAmount)
exactSellWithBuyFee
nonpayablefunction exactSellWithBuyFee(bytes data, address callTarget, address allowanceTarget, address sellToken, address buyToken, uint256 sellAmount, uint256 feePercentage)
exactSellWithBuyNative
nonpayablefunction exactSellWithBuyNative(bytes data, address callTarget, address allowanceTarget, address sellToken, uint256 buyAmountMin, uint256 sellAmount)
exactSellWithSellFee
nonpayablefunction exactSellWithSellFee(bytes data, address callTarget, address allowanceTarget, address sellToken, address buyToken, uint256 sellAmount, uint256 feeAmount)
exactSellWithSellNative
payablefunction exactSellWithSellNative(bytes data, address callTarget, address buyToken, uint256 buyAmountMin) payable
renounceOwnership
nonpayablefunction renounceOwnership()
sendNative
nonpayablefunction sendNative(address _to)
sendTokens
nonpayablefunction sendTokens(address _tokenAddress, address _to)
setSeeder
nonpayablefunction setSeeder(address _seeder)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
events
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
Swap
event Swap(address indexed swapper, address sellToken, address buyToken, uint256 sellAmount, uint256 buyAmount, uint256 climateFee)
errors
No errors.
creation bytecode
0x60a06040526127106080908152503480156200001a57600080fd5b5060405162004645380380620046458339818101604052810190620000409190620001e5565b6200006062000054620000af60201b60201c565b620000b760201b60201c565b6001808190555080600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505062000217565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620001ad8262000180565b9050919050565b620001bf81620001a0565b8114620001cb57600080fd5b50565b600081519050620001df81620001b4565b92915050565b600060208284031215620001fe57620001fd6200017b565b5b60006200020e84828501620001ce565b91505092915050565b608051614404620002416000396000818161092e01528181610e0c015261214a01526144046000f3fe6080604052600436106101025760003560e01c806391118b4c11610095578063ba7db29711610064578063ba7db297146102f5578063ca1af7fd1461031e578063cc6560d214610347578063d50b31eb14610370578063f2fde38b1461039957610109565b806391118b4c1461025e578063aa9ecff51461027a578063ab6b917e146102a3578063b7c082ea146102cc57610109565b8063684931ed116100d1578063684931ed146101c8578063715018a6146101f35780638718e62e1461020a5780638da5cb5b1461023357610109565b80631888d7121461010e5780631bb07b3e146101375780631f2dc5ef146101605780634eb3cedc1461018b57610109565b3661010957005b600080fd5b34801561011a57600080fd5b50610135600480360381019061013091906135b6565b6103c2565b005b34801561014357600080fd5b5061015e600480360381019061015991906136fa565b6104ee565b005b34801561016c57600080fd5b5061017561092c565b60405161018291906137cb565b60405180910390f35b34801561019757600080fd5b506101b260048036038101906101ad91906137e6565b610950565b6040516101bf91906137cb565b60405180910390f35b3480156101d457600080fd5b506101dd610a16565b6040516101ea9190613835565b60405180910390f35b3480156101ff57600080fd5b50610208610a3c565b005b34801561021657600080fd5b50610231600480360381019061022c91906136fa565b610ac4565b005b34801561023f57600080fd5b50610248610f5e565b6040516102559190613835565b60405180910390f35b61027860048036038101906102739190613850565b610f87565b005b34801561028657600080fd5b506102a1600480360381019061029c91906138d8565b611391565b005b3480156102af57600080fd5b506102ca60048036038101906102c59190613918565b6114c4565b005b3480156102d857600080fd5b506102f360048036038101906102ee91906136fa565b61197d565b005b34801561030157600080fd5b5061031c60048036038101906103179190613918565b611dcd565b005b34801561032a57600080fd5b50610345600480360381019061034091906136fa565b6122af565b005b34801561035357600080fd5b5061036e600480360381019061036991906139ee565b612732565b005b34801561037c57600080fd5b5061039760048036038101906103929190613a9d565b612c4e565b005b3480156103a557600080fd5b506103c060048036038101906103bb9190613a9d565b612d0e565b005b6103ca612e06565b73ffffffffffffffffffffffffffffffffffffffff166103e8610f5e565b73ffffffffffffffffffffffffffffffffffffffff161461043e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161043590613b27565b60405180910390fd5b60008173ffffffffffffffffffffffffffffffffffffffff164760405161046490613b78565b60006040518083038185875af1925050503d80600081146104a1576040519150601f19603f3d011682016040523d82523d6000602084013e6104a6565b606091505b50509050806104ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104e190613bd9565b60405180910390fd5b5050565b60026001541415610534576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161052b90613c45565b60405180910390fd5b600260018190555060008473ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016105779190613835565b60206040518083038186803b15801561058f57600080fd5b505afa1580156105a3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105c79190613c7a565b90506105f63330858873ffffffffffffffffffffffffffffffffffffffff16612e0e909392919063ffffffff16565b61062186848773ffffffffffffffffffffffffffffffffffffffff16612e979092919063ffffffff16565b60008773ffffffffffffffffffffffffffffffffffffffff168a8a60405161064a929190613cdb565b6000604051808303816000865af19150503d8060008114610687576040519150601f19603f3d011682016040523d82523d6000602084013e61068c565b606091505b50509050806106d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106c790613d40565b60405180910390fd5b6106fb33848773ffffffffffffffffffffffffffffffffffffffff16612fb89092919063ffffffff16565b60008673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016107369190613835565b60206040518083038186803b15801561074e57600080fd5b505afa158015610762573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107869190613c7a565b90506000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630b96cb89896040518263ffffffff1660e01b81526004016107e59190613835565b60206040518083038186803b1580156107fd57600080fd5b505afa158015610811573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108359190613d98565b9050600061084c858461303e90919063ffffffff16565b905060008261085c57600061085e565b815b9050600061086c8b83610950565b11156108815761087c8a82613054565b6108ad565b6108ac33838c73ffffffffffffffffffffffffffffffffffffffff16612fb89092919063ffffffff16565b5b3373ffffffffffffffffffffffffffffffffffffffff167fd6d34547c69c5ee3d2667625c188acf1006abb93e0ee7cf03925c67cf77604138b8b6108fa868d61303e90919063ffffffff16565b8b8660405161090d959493929190613dc5565b60405180910390a2505050505050600180819055505050505050505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000808211610960576000610a0e565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634eb3cedc84846040518363ffffffff1660e01b81526004016109bd929190613e18565b60206040518083038186803b1580156109d557600080fd5b505afa1580156109e9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a0d9190613c7a565b5b905092915050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610a44612e06565b73ffffffffffffffffffffffffffffffffffffffff16610a62610f5e565b73ffffffffffffffffffffffffffffffffffffffff1614610ab8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aaf90613b27565b60405180910390fd5b610ac26000613140565b565b60026001541415610b0a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b0190613c45565b60405180910390fd5b600260018190555060008373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610b4d9190613835565b60206040518083038186803b158015610b6557600080fd5b505afa158015610b79573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b9d9190613c7a565b9050610bcc3330858873ffffffffffffffffffffffffffffffffffffffff16612e0e909392919063ffffffff16565b610bf786848773ffffffffffffffffffffffffffffffffffffffff16612e979092919063ffffffff16565b60008773ffffffffffffffffffffffffffffffffffffffff168a8a604051610c20929190613cdb565b6000604051808303816000865af19150503d8060008114610c5d576040519150601f19603f3d011682016040523d82523d6000602084013e610c62565b606091505b5050905080610ca6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c9d90613d40565b60405180910390fd5b60008573ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610ce19190613835565b60206040518083038186803b158015610cf957600080fd5b505afa158015610d0d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d319190613c7a565b90506000610d48848361303e90919063ffffffff16565b90506000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630b96cb89896040518263ffffffff1660e01b8152600401610da79190613835565b60206040518083038186803b158015610dbf57600080fd5b505afa158015610dd3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610df79190613d98565b9050600081610e07576000610e4d565b610e4c7f0000000000000000000000000000000000000000000000000000000000000000610e3e898661320490919063ffffffff16565b61321a90919063ffffffff16565b5b90506000610e5b8a83610950565b1115610eb3576000610e76828561303e90919063ffffffff16565b9050610ea333828c73ffffffffffffffffffffffffffffffffffffffff16612fb89092919063ffffffff16565b610ead8a83613054565b50610edf565b610ede33848b73ffffffffffffffffffffffffffffffffffffffff16612fb89092919063ffffffff16565b5b3373ffffffffffffffffffffffffffffffffffffffff167fd6d34547c69c5ee3d2667625c188acf1006abb93e0ee7cf03925c67cf77604138b8b8b610f2d868961303e90919063ffffffff16565b86604051610f3f959493929190613dc5565b60405180910390a2505050505050600180819055505050505050505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60026001541415610fcd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fc490613c45565b60405180910390fd5b600260018190555060008273ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016110109190613835565b60206040518083038186803b15801561102857600080fd5b505afa15801561103c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110609190613c7a565b905060008473ffffffffffffffffffffffffffffffffffffffff1634888860405161108c929190613cdb565b60006040518083038185875af1925050503d80600081146110c9576040519150601f19603f3d011682016040523d82523d6000602084013e6110ce565b606091505b5050905080611112576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161110990613d40565b60405180910390fd5b60008473ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161114d9190613835565b60206040518083038186803b15801561116557600080fd5b505afa158015611179573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061119d9190613c7a565b905060006111b4848361303e90919063ffffffff16565b90506000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630b96cb89886040518263ffffffff1660e01b81526004016112139190613835565b60206040518083038186803b15801561122b57600080fd5b505afa15801561123f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112639190613d98565b9050600081611273576000611287565b611286878461303e90919063ffffffff16565b5b905060006112958983610950565b11156112d5576112c633888a73ffffffffffffffffffffffffffffffffffffffff16612fb89092919063ffffffff16565b6112d08882613054565b611301565b61130033848a73ffffffffffffffffffffffffffffffffffffffff16612fb89092919063ffffffff16565b5b3373ffffffffffffffffffffffffffffffffffffffff167fd6d34547c69c5ee3d2667625c188acf1006abb93e0ee7cf03925c67cf776041373eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee8a34611363868961303e90919063ffffffff16565b86604051611375959493929190613dc5565b60405180910390a2505050505050600180819055505050505050565b611399612e06565b73ffffffffffffffffffffffffffffffffffffffff166113b7610f5e565b73ffffffffffffffffffffffffffffffffffffffff161461140d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161140490613b27565b60405180910390fd5b6114c0818373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161144a9190613835565b60206040518083038186803b15801561146257600080fd5b505afa158015611476573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061149a9190613c7a565b8473ffffffffffffffffffffffffffffffffffffffff16612fb89092919063ffffffff16565b5050565b6002600154141561150a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161150190613c45565b60405180910390fd5b600260018190555060008573ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161154d9190613835565b60206040518083038186803b15801561156557600080fd5b505afa158015611579573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061159d9190613c7a565b90506000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630b96cb89886040518263ffffffff1660e01b81526004016115fc9190613835565b60206040518083038186803b15801561161457600080fd5b505afa158015611628573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061164c9190613d98565b905060008161165c57600061165e565b835b9050600061166c8983610950565b11156116f1576000611687858861323090919063ffffffff16565b90506116b63330838c73ffffffffffffffffffffffffffffffffffffffff16612e0e909392919063ffffffff16565b6116e18a888b73ffffffffffffffffffffffffffffffffffffffff16612e979092919063ffffffff16565b6116eb8983613054565b5061174a565b61171e3330888b73ffffffffffffffffffffffffffffffffffffffff16612e0e909392919063ffffffff16565b61174989878a73ffffffffffffffffffffffffffffffffffffffff16612e979092919063ffffffff16565b5b60008a73ffffffffffffffffffffffffffffffffffffffff168d8d604051611773929190613cdb565b6000604051808303816000865af19150503d80600081146117b0576040519150601f19603f3d011682016040523d82523d6000602084013e6117b5565b606091505b50509050806117f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117f090613d40565b60405180910390fd5b5061182533868973ffffffffffffffffffffffffffffffffffffffff16612fb89092919063ffffffff16565b60008873ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016118609190613835565b60206040518083038186803b15801561187857600080fd5b505afa15801561188c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118b09190613c7a565b905060006118c7858361303e90919063ffffffff16565b905060008111156118fe576118fd33828c73ffffffffffffffffffffffffffffffffffffffff16612fb89092919063ffffffff16565b5b3373ffffffffffffffffffffffffffffffffffffffff167fd6d34547c69c5ee3d2667625c188acf1006abb93e0ee7cf03925c67cf77604138b8b61194b858d61303e90919063ffffffff16565b8b8860405161195e959493929190613dc5565b60405180910390a2505050505060018081905550505050505050505050565b600260015414156119c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119ba90613c45565b60405180910390fd5b600260018190555060008373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401611a069190613835565b60206040518083038186803b158015611a1e57600080fd5b505afa158015611a32573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a569190613c7a565b9050611a853330848873ffffffffffffffffffffffffffffffffffffffff16612e0e909392919063ffffffff16565b611ab086838773ffffffffffffffffffffffffffffffffffffffff16612e979092919063ffffffff16565b60008773ffffffffffffffffffffffffffffffffffffffff168a8a604051611ad9929190613cdb565b6000604051808303816000865af19150503d8060008114611b16576040519150601f19603f3d011682016040523d82523d6000602084013e611b1b565b606091505b5050905080611b5f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b5690613d40565b60405180910390fd5b60008573ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401611b9a9190613835565b60206040518083038186803b158015611bb257600080fd5b505afa158015611bc6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bea9190613c7a565b90506000611c01848361303e90919063ffffffff16565b90506000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630b96cb89896040518263ffffffff1660e01b8152600401611c609190613835565b60206040518083038186803b158015611c7857600080fd5b505afa158015611c8c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cb09190613d98565b9050600081611cc0576000611cd4565b611cd3888461303e90919063ffffffff16565b5b90506000611ce28a83610950565b1115611d2257611d1333898b73ffffffffffffffffffffffffffffffffffffffff16612fb89092919063ffffffff16565b611d1d8982613054565b611d4e565b611d4d33848b73ffffffffffffffffffffffffffffffffffffffff16612fb89092919063ffffffff16565b5b3373ffffffffffffffffffffffffffffffffffffffff167fd6d34547c69c5ee3d2667625c188acf1006abb93e0ee7cf03925c67cf77604138b8b8a611d9c868961303e90919063ffffffff16565b86604051611dae959493929190613dc5565b60405180910390a2505050505050600180819055505050505050505050565b60026001541415611e13576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e0a90613c45565b60405180910390fd5b600260018190555060008573ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401611e569190613835565b60206040518083038186803b158015611e6e57600080fd5b505afa158015611e82573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ea69190613c7a565b9050611ed53330868973ffffffffffffffffffffffffffffffffffffffff16612e0e909392919063ffffffff16565b611f0087858873ffffffffffffffffffffffffffffffffffffffff16612e979092919063ffffffff16565b60008873ffffffffffffffffffffffffffffffffffffffff168b8b604051611f29929190613cdb565b6000604051808303816000865af19150503d8060008114611f66576040519150601f19603f3d011682016040523d82523d6000602084013e611f6b565b606091505b5050905080611faf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fa690613d40565b60405180910390fd5b60008773ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401611fea9190613835565b60206040518083038186803b15801561200257600080fd5b505afa158015612016573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061203a9190613c7a565b90506000612051848361303e90919063ffffffff16565b905060008111156120885761208733828b73ffffffffffffffffffffffffffffffffffffffff16612fb89092919063ffffffff16565b5b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630b96cb898a6040518263ffffffff1660e01b81526004016120e59190613835565b60206040518083038186803b1580156120fd57600080fd5b505afa158015612111573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121359190613d98565b905060008161214557600061218b565b61218a7f000000000000000000000000000000000000000000000000000000000000000061217c898b61320490919063ffffffff16565b61321a90919063ffffffff16565b5b905060006121998b83610950565b11156121f15760006121b4828a61303e90919063ffffffff16565b90506121c08b83613054565b6121eb33828d73ffffffffffffffffffffffffffffffffffffffff16612fb89092919063ffffffff16565b5061221d565b61221c33898c73ffffffffffffffffffffffffffffffffffffffff16612fb89092919063ffffffff16565b5b3373ffffffffffffffffffffffffffffffffffffffff167fd6d34547c69c5ee3d2667625c188acf1006abb93e0ee7cf03925c67cf77604138c8c61226a878e61303e90919063ffffffff16565b61227d868e61303e90919063ffffffff16565b8660405161228f959493929190613dc5565b60405180910390a250505050505060018081905550505050505050505050565b600260015414156122f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122ec90613c45565b60405180910390fd5b600260018190555060008373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016123389190613835565b60206040518083038186803b15801561235057600080fd5b505afa158015612364573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123889190613c7a565b90506000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630b96cb89876040518263ffffffff1660e01b81526004016123e79190613835565b60206040518083038186803b1580156123ff57600080fd5b505afa158015612413573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124379190613d98565b9050600081612447576000612449565b835b905060006124578883610950565b11156124dc576000612472858761323090919063ffffffff16565b90506124a13330838b73ffffffffffffffffffffffffffffffffffffffff16612e0e909392919063ffffffff16565b6124cc89878a73ffffffffffffffffffffffffffffffffffffffff16612e979092919063ffffffff16565b6124d68883613054565b50612535565b6125093330878a73ffffffffffffffffffffffffffffffffffffffff16612e0e909392919063ffffffff16565b61253488868973ffffffffffffffffffffffffffffffffffffffff16612e979092919063ffffffff16565b5b60008973ffffffffffffffffffffffffffffffffffffffff168c8c60405161255e929190613cdb565b6000604051808303816000865af19150503d806000811461259b576040519150601f19603f3d011682016040523d82523d6000602084013e6125a0565b606091505b50509050806125e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125db90613d40565b60405180910390fd5b60008773ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161261f9190613835565b60206040518083038186803b15801561263757600080fd5b505afa15801561264b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061266f9190613c7a565b90506000612686868361303e90919063ffffffff16565b90506126b333828b73ffffffffffffffffffffffffffffffffffffffff16612fb89092919063ffffffff16565b3373ffffffffffffffffffffffffffffffffffffffff167fd6d34547c69c5ee3d2667625c188acf1006abb93e0ee7cf03925c67cf77604138b8b612700888d61303e90919063ffffffff16565b8589604051612713959493929190613dc5565b60405180910390a2505050505050600180819055505050505050505050565b60026001541415612778576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161276f90613c45565b60405180910390fd5b600260018190555060004790506127b23330848773ffffffffffffffffffffffffffffffffffffffff16612e0e909392919063ffffffff16565b6127dd85838673ffffffffffffffffffffffffffffffffffffffff16612e979092919063ffffffff16565b60008673ffffffffffffffffffffffffffffffffffffffff168989604051612806929190613cdb565b6000604051808303816000865af19150503d8060008114612843576040519150601f19603f3d011682016040523d82523d6000602084013e612848565b606091505b505090508061288c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161288390613d40565b60405180910390fd5b600047905060006128a6848361303e90919063ffffffff16565b90506000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630b96cb8973eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6040518263ffffffff1660e01b81526004016129199190613835565b60206040518083038186803b15801561293157600080fd5b505afa158015612945573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129699190613d98565b905060008161297957600061298d565b61298c888461303e90919063ffffffff16565b5b905060006129af73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee83610950565b1115612abf5760003373ffffffffffffffffffffffffffffffffffffffff1689600067ffffffffffffffff8111156129ea576129e9613e41565b5b6040519080825280601f01601f191660200182016040528015612a1c5781602001600182028036833780820191505090505b50604051612a2a9190613edf565b60006040518083038185875af1925050503d8060008114612a67576040519150601f19603f3d011682016040523d82523d6000602084013e612a6c565b606091505b5050905080612ab0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612aa790613f42565b60405180910390fd5b612ab982613246565b50612bbc565b60003373ffffffffffffffffffffffffffffffffffffffff1684600067ffffffffffffffff811115612af457612af3613e41565b5b6040519080825280601f01601f191660200182016040528015612b265781602001600182028036833780820191505090505b50604051612b349190613edf565b60006040518083038185875af1925050503d8060008114612b71576040519150601f19603f3d011682016040523d82523d6000602084013e612b76565b606091505b5050905080612bba576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612bb190613f42565b60405180910390fd5b505b3373ffffffffffffffffffffffffffffffffffffffff167fd6d34547c69c5ee3d2667625c188acf1006abb93e0ee7cf03925c67cf77604138a73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee8a612c1e868961303e90919063ffffffff16565b86604051612c30959493929190613dc5565b60405180910390a25050505050506001808190555050505050505050565b612c56612e06565b73ffffffffffffffffffffffffffffffffffffffff16612c74610f5e565b73ffffffffffffffffffffffffffffffffffffffff1614612cca576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612cc190613b27565b60405180910390fd5b80600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b612d16612e06565b73ffffffffffffffffffffffffffffffffffffffff16612d34610f5e565b73ffffffffffffffffffffffffffffffffffffffff1614612d8a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d8190613b27565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415612dfa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612df190613fd4565b60405180910390fd5b612e0381613140565b50565b600033905090565b612e91846323b872dd60e01b858585604051602401612e2f93929190613ff4565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506132e1565b50505050565b6000818473ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e30866040518363ffffffff1660e01b8152600401612ed592919061402b565b60206040518083038186803b158015612eed57600080fd5b505afa158015612f01573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f259190613c7a565b612f2f9190614083565b9050612fb28463095ea7b360e01b8584604051602401612f50929190613e18565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506132e1565b50505050565b6130398363a9059cbb60e01b8484604051602401612fd7929190613e18565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506132e1565b505050565b6000818361304c91906140d9565b905092915050565b600081111561313c576130aa600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16828473ffffffffffffffffffffffffffffffffffffffff16612e979092919063ffffffff16565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663398bf7e03384846040518463ffffffff1660e01b815260040161310993929190613ff4565b600060405180830381600087803b15801561312357600080fd5b505af1158015613137573d6000803e3d6000fd5b505050505b5050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60008183613212919061410d565b905092915050565b600081836132289190614196565b905092915050565b6000818361323e9190614083565b905092915050565b60008111156132de57600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ef76d2ff82336040518363ffffffff1660e01b81526004016132ab9190613835565b6000604051808303818588803b1580156132c457600080fd5b505af11580156132d8573d6000803e3d6000fd5b50505050505b50565b6000613343826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166133a89092919063ffffffff16565b90506000815111156133a357808060200190518101906133639190613d98565b6133a2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161339990614239565b60405180910390fd5b5b505050565b60606133b784846000856133c0565b90509392505050565b606082471015613405576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016133fc906142cb565b60405180910390fd5b61340e856134d4565b61344d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161344490614337565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff1685876040516134769190613edf565b60006040518083038185875af1925050503d80600081146134b3576040519150601f19603f3d011682016040523d82523d6000602084013e6134b8565b606091505b50915091506134c88282866134e7565b92505050949350505050565b600080823b905060008111915050919050565b606083156134f757829050613547565b60008351111561350a5782518084602001fd5b816040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161353e91906143ac565b60405180910390fd5b9392505050565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061358382613558565b9050919050565b61359381613578565b811461359e57600080fd5b50565b6000813590506135b08161358a565b92915050565b6000602082840312156135cc576135cb61354e565b5b60006135da848285016135a1565b91505092915050565b600080fd5b600080fd5b600080fd5b60008083601f840112613608576136076135e3565b5b8235905067ffffffffffffffff811115613625576136246135e8565b5b602083019150836001820283011115613641576136406135ed565b5b9250929050565b600061365382613558565b9050919050565b61366381613648565b811461366e57600080fd5b50565b6000813590506136808161365a565b92915050565b600061369182613648565b9050919050565b6136a181613686565b81146136ac57600080fd5b50565b6000813590506136be81613698565b92915050565b6000819050919050565b6136d7816136c4565b81146136e257600080fd5b50565b6000813590506136f4816136ce565b92915050565b60008060008060008060008060e0898b03121561371a5761371961354e565b5b600089013567ffffffffffffffff81111561373857613737613553565b5b6137448b828c016135f2565b985098505060206137578b828c01613671565b96505060406137688b828c01613671565b95505060606137798b828c016136af565b945050608061378a8b828c016136af565b93505060a061379b8b828c016136e5565b92505060c06137ac8b828c016136e5565b9150509295985092959890939650565b6137c5816136c4565b82525050565b60006020820190506137e060008301846137bc565b92915050565b600080604083850312156137fd576137fc61354e565b5b600061380b85828601613671565b925050602061381c858286016136e5565b9150509250929050565b61382f81613648565b82525050565b600060208201905061384a6000830184613826565b92915050565b60008060008060006080868803121561386c5761386b61354e565b5b600086013567ffffffffffffffff81111561388a57613889613553565b5b613896888289016135f2565b955095505060206138a988828901613671565b93505060406138ba888289016136af565b92505060606138cb888289016136e5565b9150509295509295909350565b600080604083850312156138ef576138ee61354e565b5b60006138fd858286016136af565b925050602061390e85828601613671565b9150509250929050565b60008060008060008060008060006101008a8c03121561393b5761393a61354e565b5b60008a013567ffffffffffffffff81111561395957613958613553565b5b6139658c828d016135f2565b995099505060206139788c828d01613671565b97505060406139898c828d01613671565b965050606061399a8c828d016136af565b95505060806139ab8c828d016136af565b94505060a06139bc8c828d016136e5565b93505060c06139cd8c828d016136e5565b92505060e06139de8c828d016136e5565b9150509295985092959850929598565b600080600080600080600060c0888a031215613a0d57613a0c61354e565b5b600088013567ffffffffffffffff811115613a2b57613a2a613553565b5b613a378a828b016135f2565b97509750506020613a4a8a828b01613671565b9550506040613a5b8a828b01613671565b9450506060613a6c8a828b016136af565b9350506080613a7d8a828b016136e5565b92505060a0613a8e8a828b016136e5565b91505092959891949750929550565b600060208284031215613ab357613ab261354e565b5b6000613ac184828501613671565b91505092915050565b600082825260208201905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000613b11602083613aca565b9150613b1c82613adb565b602082019050919050565b60006020820190508181036000830152613b4081613b04565b9050919050565b600081905092915050565b50565b6000613b62600083613b47565b9150613b6d82613b52565b600082019050919050565b6000613b8382613b55565b9150819050919050565b7f4661696c656420746f2073656e64204574686572000000000000000000000000600082015250565b6000613bc3601483613aca565b9150613bce82613b8d565b602082019050919050565b60006020820190508181036000830152613bf281613bb6565b9050919050565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00600082015250565b6000613c2f601f83613aca565b9150613c3a82613bf9565b602082019050919050565b60006020820190508181036000830152613c5e81613c22565b9050919050565b600081519050613c74816136ce565b92915050565b600060208284031215613c9057613c8f61354e565b5b6000613c9e84828501613c65565b91505092915050565b82818337600083830152505050565b6000613cc28385613b47565b9350613ccf838584613ca7565b82840190509392505050565b6000613ce8828486613cb6565b91508190509392505050565b7f63616c6c206e6f74207375636365737366756c00000000000000000000000000600082015250565b6000613d2a601383613aca565b9150613d3582613cf4565b602082019050919050565b60006020820190508181036000830152613d5981613d1d565b9050919050565b60008115159050919050565b613d7581613d60565b8114613d8057600080fd5b50565b600081519050613d9281613d6c565b92915050565b600060208284031215613dae57613dad61354e565b5b6000613dbc84828501613d83565b91505092915050565b600060a082019050613dda6000830188613826565b613de76020830187613826565b613df460408301866137bc565b613e0160608301856137bc565b613e0e60808301846137bc565b9695505050505050565b6000604082019050613e2d6000830185613826565b613e3a60208301846137bc565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600081519050919050565b60005b83811015613e99578082015181840152602081019050613e7e565b83811115613ea8576000848401525b50505050565b6000613eb982613e70565b613ec38185613b47565b9350613ed3818560208601613e7b565b80840191505092915050565b6000613eeb8284613eae565b915081905092915050565b7f4e617469766520546f6b656e207472616e73666572206661696c656400000000600082015250565b6000613f2c601c83613aca565b9150613f3782613ef6565b602082019050919050565b60006020820190508181036000830152613f5b81613f1f565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000613fbe602683613aca565b9150613fc982613f62565b604082019050919050565b60006020820190508181036000830152613fed81613fb1565b9050919050565b60006060820190506140096000830186613826565b6140166020830185613826565b61402360408301846137bc565b949350505050565b60006040820190506140406000830185613826565b61404d6020830184613826565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061408e826136c4565b9150614099836136c4565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156140ce576140cd614054565b5b828201905092915050565b60006140e4826136c4565b91506140ef836136c4565b92508282101561410257614101614054565b5b828203905092915050565b6000614118826136c4565b9150614123836136c4565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561415c5761415b614054565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006141a1826136c4565b91506141ac836136c4565b9250826141bc576141bb614167565b5b828204905092915050565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b6000614223602a83613aca565b915061422e826141c7565b604082019050919050565b6000602082019050818103600083015261425281614216565b9050919050565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b60006142b5602683613aca565b91506142c082614259565b604082019050919050565b600060208201905081810360008301526142e4816142a8565b9050919050565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b6000614321601d83613aca565b915061432c826142eb565b602082019050919050565b6000602082019050818103600083015261435081614314565b9050919050565b600081519050919050565b6000601f19601f8301169050919050565b600061437e82614357565b6143888185613aca565b9350614398818560208601613e7b565b6143a181614362565b840191505092915050565b600060208201905081810360008301526143c68184614373565b90509291505056fea2646970667358221220c2a5ce5cf4178312979d87ee6e674f89879896873a5735f6364c5c75c4ebe53064736f6c63430008090033000000000000000000000000030773e34f192c81c63e24edfd97595727c8303b