Address Contract Verified
Address
0xceB8238c7D0f20E6a3bDb2Fb718Df789138EAc78
Balance
0 ETH
Nonce
1
Code Size
23551 bytes
Creator
0xBca4A35f...439e at tx 0xea563c44...f7202f
Indexed Transactions
0
Contract Bytecode
23551 bytes
0x60806040526004361061028a575f3560e01c806370a082311161015957806395d89b41116100c0578063d49c6f0611610079578063d49c6f061461094a578063d6358bf614610972578063db05e5cb1461099c578063dd62ed3e146109b2578063f2fde38b146109ee578063ffb54a9914610a1657610291565b806395d89b4114610840578063962dfc751461086a578063a9059cbb14610894578063af240387146108d0578063bf474bed146108f8578063c4590d3f1461092257610291565b8063804b7f8d11610112578063804b7f8d1461074a57806382528791146107745780638da5cb5b1461079c5780638f4590d2146107c65780638f9a55c0146107ee5780639498e07a1461081857610291565b806370a0823114610654578063715018a61461069057806371b9189c146106a65780637cccbc52146106ce5780637d1db4a5146106f65780637f90eaa21461072057610291565b80632f7c0f7b116101fd5780634ba095e9116101b65780634ba095e91461055c57806351bc3c85146105845780635342acb41461059a57806361a23c69146105d65780636b363ca1146106005780636ddd17131461062a57610291565b80632f7c0f7b1461046f57806330545e1d14610499578063313ce567146104af57806338aa6f05146104d95780633aaa36e61461050357806349bd5a5e1461053257610291565b80630faee56f1161024f5780630faee56f1461037557806311a63e171461039f5780631694505e146103c957806318160ddd146103f357806320800a001461041d57806323b872dd1461043357610291565b8062ae3bf814610295578063024022f7146102bd57806306fdde03146102e5578063095ea7b31461030f5780630a24bc7f1461034b57610291565b3661029157005b5f80fd5b3480156102a0575f80fd5b506102bb60048036038101906102b6919061425c565b610a40565b005b3480156102c8575f80fd5b506102e360048036038101906102de91906143d7565b610c86565b005b3480156102f0575f80fd5b506102f9610da4565b6040516103069190614498565b60405180910390f35b34801561031a575f80fd5b50610335600480360381019061033091906144eb565b610de1565b6040516103429190614543565b60405180910390f35b348015610356575f80fd5b5061035f610dfe565b60405161036c919061457c565b60405180910390f35b348015610380575f80fd5b50610389610e23565b60405161039691906145a4565b60405180910390f35b3480156103aa575f80fd5b506103b3610e29565b6040516103c0919061457c565b60405180910390f35b3480156103d4575f80fd5b506103dd610e4e565b6040516103ea9190614618565b60405180910390f35b3480156103fe575f80fd5b50610407610e73565b60405161041491906145a4565b60405180910390f35b348015610428575f80fd5b50610431610e96565b005b34801561043e575f80fd5b5061045960048036038101906104549190614631565b610fbe565b6040516104669190614543565b60405180910390f35b34801561047a575f80fd5b50610483611092565b604051610490919061457c565b60405180910390f35b3480156104a4575f80fd5b506104ad6110b7565b005b3480156104ba575f80fd5b506104c36115e0565b6040516104d0919061469c565b60405180910390f35b3480156104e4575f80fd5b506104ed6115e8565b6040516104fa91906145a4565b60405180910390f35b34801561050e575f80fd5b506105176115ee565b604051610529969594939291906146b5565b60405180910390f35b34801561053d575f80fd5b50610546611640565b6040516105539190614723565b60405180910390f35b348015610567575f80fd5b50610582600480360381019061057d919061473c565b611665565b005b34801561058f575f80fd5b506105986117bc565b005b3480156105a5575f80fd5b506105c060048036038101906105bb919061425c565b6118b7565b6040516105cd9190614543565b60405180910390f35b3480156105e1575f80fd5b506105ea611909565b6040516105f791906145a4565b60405180910390f35b34801561060b575f80fd5b5061061461190f565b60405161062191906145a4565b60405180910390f35b348015610635575f80fd5b5061063e611915565b60405161064b9190614543565b60405180910390f35b34801561065f575f80fd5b5061067a6004803603810190610675919061425c565b611928565b60405161068791906145a4565b60405180910390f35b34801561069b575f80fd5b506106a461196e565b005b3480156106b1575f80fd5b506106cc60048036038101906106c791906143d7565b611abc565b005b3480156106d9575f80fd5b506106f460048036038101906106ef91906147a0565b611bdb565b005b348015610701575f80fd5b5061070a611d28565b60405161071791906145a4565b60405180910390f35b34801561072b575f80fd5b50610734611d2e565b60405161074191906145a4565b60405180910390f35b348015610755575f80fd5b5061075e611d34565b60405161076b91906145a4565b60405180910390f35b34801561077f575f80fd5b5061079a6004803603810190610795919061481a565b611d3a565b005b3480156107a7575f80fd5b506107b061224a565b6040516107bd9190614723565b60405180910390f35b3480156107d1575f80fd5b506107ec60048036038101906107e79190614891565b612271565b005b3480156107f9575f80fd5b50610802612469565b60405161080f91906145a4565b60405180910390f35b348015610823575f80fd5b5061083e600480360381019061083991906148cf565b61246f565b005b34801561084b575f80fd5b5061085461255d565b6040516108619190614498565b60405180910390f35b348015610875575f80fd5b5061087e61259a565b60405161088b919061457c565b60405180910390f35b34801561089f575f80fd5b506108ba60048036038101906108b591906144eb565b6125bf565b6040516108c79190614543565b60405180910390f35b3480156108db575f80fd5b506108f660048036038101906108f19190614891565b6125dc565b005b348015610903575f80fd5b5061090c612714565b60405161091991906145a4565b60405180910390f35b34801561092d575f80fd5b5061094860048036038101906109439190614891565b61271a565b005b348015610955575f80fd5b50610970600480360381019061096b91906148cf565b61282e565b005b34801561097d575f80fd5b506109866128cc565b60405161099391906145a4565b60405180910390f35b3480156109a7575f80fd5b506109b06128d2565b005b3480156109bd575f80fd5b506109d860048036038101906109d391906148fa565b612a54565b6040516109e591906145a4565b60405180910390f35b3480156109f9575f80fd5b50610a146004803603810190610a0f919061425c565b612ad6565b005b348015610a21575f80fd5b50610a2a612c93565b604051610a379190614543565b60405180910390f35b610a48612ca6565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ad4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610acb90614982565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610b42576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b39906149ea565b60405180910390fd5b5f8173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610b7c9190614723565b602060405180830381865afa158015610b97573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bbb9190614a1c565b90505f8111610bff576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bf690614a91565b60405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb610c2361224a565b836040518363ffffffff1660e01b8152600401610c41929190614aaf565b6020604051808303815f875af1158015610c5d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c819190614b00565b505050565b610c8e612ca6565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d1a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d1190614982565b60405180910390fd5b5f5b8151811015610da0575f60035f848481518110610d3c57610d3b614b2b565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508080600101915050610d1c565b5050565b60606040518060400160405280600981526020017f4172626966792041490000000000000000000000000000000000000000000000815250905090565b5f610df4610ded612ca6565b8484612cad565b6001905092915050565b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60195481565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f6009600a610e829190614cb4565b6311e1a300610e919190614cfe565b905090565b610e9e612ca6565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f2a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f2190614982565b60405180910390fd5b5f4790505f8111610f70576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f6790614d89565b60405180910390fd5b610f7861224a565b73ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015610fba573d5f803e3d5ffd5b5050565b5f610fca848484612e70565b61108784610fd6612ca6565b61108285604051806060016040528060288152602001615ba26028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f611039612ca6565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546139719092919063ffffffff16565b612cad565b600190509392505050565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6110bf612ca6565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461114b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161114290614982565b60405180910390fd5b601b60149054906101000a900460ff161561119b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161119290614df1565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d601a5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061123730601a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a6112239190614cb4565b6311e1a3006112329190614cfe565b612cad565b601a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112a1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112c59190614e23565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630601a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561134b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061136f9190614e23565b6040518363ffffffff1660e01b815260040161138c929190614e4e565b6020604051808303815f875af11580156113a8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113cc9190614e23565b601b5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719473061145330611928565b5f8061145d61224a565b426040518863ffffffff1660e01b815260040161147f96959493929190614eae565b60606040518083038185885af115801561149b573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906114c09190614f0d565b505050601b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3601a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401611560929190614aaf565b6020604051808303815f875af115801561157c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115a09190614b00565b506001601b60166101000a81548160ff0219169083151502179055506001601b60146101000a81548160ff02191690831515021790555042601381905550565b5f6009905090565b60125481565b5f805f805f80611602600d54600f546139d3565b9550611612600e546010546139d3565b94506011549350601454925060155491506012546013546116339190614f5d565b4211159050909192939495565b601b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61166d612ca6565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146116f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116f090614982565b60405180910390fd5b6064818385876117099190614f5d565b6117139190614f5d565b61171d9190614f5d565b1461175d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161175490614fda565b60405180910390fd5b8360098190555082600a8190555081600b8190555080600c819055507f1f2ad50d6fa94440f447184b03fdd68d40b8b097c6ed405436bb57d3ac580494848484846040516117ae9493929190614ff8565b60405180910390a150505050565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166117fc612ca6565b73ffffffffffffffffffffffffffffffffffffffff161480611857575061182161224a565b73ffffffffffffffffffffffffffffffffffffffff1661183f612ca6565b73ffffffffffffffffffffffffffffffffffffffff16145b611896576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161188d90615085565b60405180910390fd5b5f6118a030611928565b90505f8111156118b4576118b381613a80565b5b50565b5f60035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff169050919050565b600a5481565b60095481565b601b60169054906101000a900460ff1681565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b611976612ca6565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611a02576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119f990614982565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b611ac4612ca6565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611b50576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b4790614982565b60405180910390fd5b5f5b8151811015611bd757600160035f848481518110611b7357611b72614b2b565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508080600101915050611b52565b5050565b611be3612ca6565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611c6f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c6690614982565b60405180910390fd5b601e8311158015611c815750601e8211155b8015611c8e5750600a8111155b611ccd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cc4906150ed565b60405180910390fd5b82600d8190555081600e81905550806011819055507fad292e707e8a094bdd1cff9ec5263d8e4e538d8e6e457c032a2dbf7174ebec4b600d54600e54601154604051611d1b9392919061510b565b60405180910390a1505050565b60165481565b600b5481565b60135481565b611d42612ca6565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611dce576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dc590614982565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614158015611e3657505f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b8015611e6e57505f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611ea657505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611ede57505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b611f1d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f149061518a565b60405180910390fd5b8460045f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508360055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508260065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508160075f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508060085f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160035f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055507f213f1de8063c19612a553f1480ff341bea689d36a56a2089f1b9060d599b5d838585858560405161223b94939291906151c8565b60405180910390a15050505050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b612279612ca6565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612305576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122fc90614982565b60405180910390fd5b61233560326009600a6123189190614cb4565b6311e1a3006123279190614cfe565b613dd390919063ffffffff16565b821115612377576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161236e90615255565b60405180910390fd5b6123a760326009600a61238a9190614cb4565b6311e1a3006123999190614cfe565b613dd390919063ffffffff16565b8111156123e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123e0906152bd565b60405180910390fd5b81601881905550806019819055507f18ff2fc8464635e4f668567019152095047e34d7a2ab4b97661ba4dc7fd064768260405161242691906145a4565b60405180910390a17f86f74a6770d23904719d16866b5048f75ab1bf2dc80e74aa14c68dfc981474108160405161245d91906145a4565b60405180910390a15050565b60175481565b612477612ca6565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612503576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124fa90614982565b60405180910390fd5b601e811115612547576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161253e90615325565b60405180910390fd5b603c816125549190614cfe565b60128190555050565b60606040518060400160405280600581526020017f4152424659000000000000000000000000000000000000000000000000000000815250905090565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f6125d26125cb612ca6565b8484612e70565b6001905092915050565b6125e4612ca6565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612670576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161266790614982565b60405180910390fd5b60068211158015612682575060068111155b6126c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126b89061538d565b60405180910390fd5b81600f81905550806010819055507fad292e707e8a094bdd1cff9ec5263d8e4e538d8e6e457c032a2dbf7174ebec4b600f546010546011546040516127089392919061510b565b60405180910390a15050565b60185481565b612722612ca6565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146127ae576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127a590614982565b60405180910390fd5b81601681905550806017819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf826040516127eb91906145a4565b60405180910390a17ffb1fe1002b7550e87616e67793dbb7d3f437a79c2688c372c66dc170dbcb0efd8160405161282291906145a4565b60405180910390a15050565b612836612ca6565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146128c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128b990614982565b60405180910390fd5b8060158190555050565b600c5481565b6128da612ca6565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612966576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161295d90614982565b60405180910390fd5b6009600a6129749190614cb4565b6311e1a3006129839190614cfe565b6016819055506009600a6129979190614cb4565b6311e1a3006129a69190614cfe565b6017819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a6129db9190614cb4565b6311e1a3006129ea9190614cfe565b6040516129f791906145a4565b60405180910390a17ffb1fe1002b7550e87616e67793dbb7d3f437a79c2688c372c66dc170dbcb0efd6009600a612a2e9190614cb4565b6311e1a300612a3d9190614cfe565b604051612a4a91906145a4565b60405180910390a1565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b612ade612ca6565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612b6a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b6190614982565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603612bd8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612bcf9061541b565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b601b60149054906101000a900460ff1681565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612d1b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d12906154a9565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612d89576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d8090615537565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051612e6391906145a4565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612ede576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ed5906155c5565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612f4c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612f4390615653565b60405180910390fd5b5f8111612f8e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612f85906156e1565b60405180910390fd5b5f612f9761224a565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156130055750612fd561224a565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561361c575f601454036130525761304f60646130416015546014541161302e57600d54613032565b600f545b85613e1c90919063ffffffff16565b613dd390919063ffffffff16565b90505b601b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156130fc5750601b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561312c57613129606461311b60115485613e1c90919063ffffffff16565b613dd390919063ffffffff16565b90505b601b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156131d55750601a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015613228575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561331c57601654821115613272576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161326990615749565b60405180910390fd5b6017548261327f85611928565b6132899190614f5d565b11156132ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016132c1906157b1565b60405180910390fd5b5f6132d9600d54600f546139d3565b905061330160646132f38386613e1c90919063ffffffff16565b613dd390919063ffffffff16565b915060145f815480929190613315906157cf565b9190505550505b601b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156133a457503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156133f7575060035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156135395761340461224a565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161461347c5760165482111561347b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161347290615860565b60405180910390fd5b5b5f61348b600e546010546139d3565b90506134b360646134a58386613e1c90919063ffffffff16565b613dd390919063ffffffff16565b9150601c54430361353057826134ee60646134e0601e6134d28a611928565b613e1c90919063ffffffff16565b613dd390919063ffffffff16565b101561352f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613526906158ee565b60405180910390fd5b5b43601c81905550505b5f61354330611928565b9050601b60159054906101000a900460ff161580156135ae5750601b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b80156135c65750601b60169054906101000a900460ff165b80156135de5750601b60149054906101000a900460ff165b80156135ec57506018548110155b80156135fc575060155460145410155b156136165761361561361082601954613e93565b613a80565b5b506136c1565b60035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16806136b7575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b156136c0575f90505b5b5f8111156137c0576137198160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054613eab90919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516137b791906145a4565b60405180910390a35b6138108260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054613f0890919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506138b36138678284613f0890919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054613eab90919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6139568486613f0890919063ffffffff16565b60405161396391906145a4565b60405180910390a350505050565b5f8383111582906139b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016139af9190614498565b60405180910390fd5b505f83856139c6919061590c565b9050809150509392505050565b5f601b60149054906101000a900460ff1615806139f157505f601354145b156139fe57829050613a7a565b5f60135442613a0d919061590c565b90506012548110613a215782915050613a7a565b5f613a358486613f0890919063ffffffff16565b90505f613a5f601254613a518585613e1c90919063ffffffff16565b613dd390919063ffffffff16565b9050613a748187613f0890919063ffffffff16565b93505050505b92915050565b6001601b60156101000a81548160ff021916908315150217905550613aa481613f51565b5f4790505f8103613ab55750613db6565b5f601254601354613ac69190614f5d565b42111590508015613b3b5760085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8390811502906040515f60405180830381858888f19350505050158015613b35573d5f803e3d5ffd5b50613db3565b5f613b646064613b5660095486613e1c90919063ffffffff16565b613dd390919063ffffffff16565b90505f613b8f6064613b81600a5487613e1c90919063ffffffff16565b613dd390919063ffffffff16565b90505f613bba6064613bac600b5488613e1c90919063ffffffff16565b613dd390919063ffffffff16565b90505f613bf482613be685613bd8888b613f0890919063ffffffff16565b613f0890919063ffffffff16565b613f0890919063ffffffff16565b90505f841115613c645760045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8590811502906040515f60405180830381858888f19350505050158015613c62573d5f803e3d5ffd5b505b5f831115613cd25760055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8490811502906040515f60405180830381858888f19350505050158015613cd0573d5f803e3d5ffd5b505b5f821115613d405760065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8390811502906040515f60405180830381858888f19350505050158015613d3e573d5f803e3d5ffd5b505b5f811115613dae5760075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015613dac573d5f803e3d5ffd5b505b505050505b50505b5f601b60156101000a81548160ff02191690831515021790555050565b5f613e1483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250614190565b905092915050565b5f808303613e2c575f9050613e8d565b5f8284613e399190614cfe565b9050828482613e48919061596c565b14613e88576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613e7f90615a0c565b60405180910390fd5b809150505b92915050565b5f818311613ea15782613ea3565b815b905092915050565b5f808284613eb99190614f5d565b905083811015613efe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613ef590615a74565b60405180910390fd5b8091505092915050565b5f613f4983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250613971565b905092915050565b5f81031561418d575f600267ffffffffffffffff811115613f7557613f7461429b565b5b604051908082528060200260200182016040528015613fa35781602001602082028036833780820191505090505b50905030815f81518110613fba57613fb9614b2b565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561405e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906140829190614e23565b8160018151811061409657614095614b2b565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506140fc30601a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684612cad565b601a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b815260040161415e959493929190615b49565b5f604051808303815f87803b158015614175575f80fd5b505af1158015614187573d5f803e3d5ffd5b50505050505b50565b5f80831182906141d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016141cd9190614498565b60405180910390fd5b505f83856141e4919061596c565b9050809150509392505050565b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61422b82614202565b9050919050565b61423b81614221565b8114614245575f80fd5b50565b5f8135905061425681614232565b92915050565b5f60208284031215614271576142706141fa565b5b5f61427e84828501614248565b91505092915050565b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6142d18261428b565b810181811067ffffffffffffffff821117156142f0576142ef61429b565b5b80604052505050565b5f6143026141f1565b905061430e82826142c8565b919050565b5f67ffffffffffffffff82111561432d5761432c61429b565b5b602082029050602081019050919050565b5f80fd5b5f61435461434f84614313565b6142f9565b905080838252602082019050602084028301858111156143775761437661433e565b5b835b818110156143a0578061438c8882614248565b845260208401935050602081019050614379565b5050509392505050565b5f82601f8301126143be576143bd614287565b5b81356143ce848260208601614342565b91505092915050565b5f602082840312156143ec576143eb6141fa565b5b5f82013567ffffffffffffffff811115614409576144086141fe565b5b614415848285016143aa565b91505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f5b8381101561445557808201518184015260208101905061443a565b5f8484015250505050565b5f61446a8261441e565b6144748185614428565b9350614484818560208601614438565b61448d8161428b565b840191505092915050565b5f6020820190508181035f8301526144b08184614460565b905092915050565b5f819050919050565b6144ca816144b8565b81146144d4575f80fd5b50565b5f813590506144e5816144c1565b92915050565b5f8060408385031215614501576145006141fa565b5b5f61450e85828601614248565b925050602061451f858286016144d7565b9150509250929050565b5f8115159050919050565b61453d81614529565b82525050565b5f6020820190506145565f830184614534565b92915050565b5f61456682614202565b9050919050565b6145768161455c565b82525050565b5f60208201905061458f5f83018461456d565b92915050565b61459e816144b8565b82525050565b5f6020820190506145b75f830184614595565b92915050565b5f819050919050565b5f6145e06145db6145d684614202565b6145bd565b614202565b9050919050565b5f6145f1826145c6565b9050919050565b5f614602826145e7565b9050919050565b614612816145f8565b82525050565b5f60208201905061462b5f830184614609565b92915050565b5f805f60608486031215614648576146476141fa565b5b5f61465586828701614248565b935050602061466686828701614248565b9250506040614677868287016144d7565b9150509250925092565b5f60ff82169050919050565b61469681614681565b82525050565b5f6020820190506146af5f83018461468d565b92915050565b5f60c0820190506146c85f830189614595565b6146d56020830188614595565b6146e26040830187614595565b6146ef6060830186614595565b6146fc6080830185614595565b61470960a0830184614534565b979650505050505050565b61471d81614221565b82525050565b5f6020820190506147365f830184614714565b92915050565b5f805f8060808587031215614754576147536141fa565b5b5f614761878288016144d7565b9450506020614772878288016144d7565b9350506040614783878288016144d7565b9250506060614794878288016144d7565b91505092959194509250565b5f805f606084860312156147b7576147b66141fa565b5b5f6147c4868287016144d7565b93505060206147d5868287016144d7565b92505060406147e6868287016144d7565b9150509250925092565b6147f98161455c565b8114614803575f80fd5b50565b5f81359050614814816147f0565b92915050565b5f805f805f60a08688031215614833576148326141fa565b5b5f61484088828901614806565b955050602061485188828901614806565b945050604061486288828901614806565b935050606061487388828901614806565b925050608061488488828901614806565b9150509295509295909350565b5f80604083850312156148a7576148a66141fa565b5b5f6148b4858286016144d7565b92505060206148c5858286016144d7565b9150509250929050565b5f602082840312156148e4576148e36141fa565b5b5f6148f1848285016144d7565b91505092915050565b5f80604083850312156149105761490f6141fa565b5b5f61491d85828601614248565b925050602061492e85828601614248565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f61496c602083614428565b915061497782614938565b602082019050919050565b5f6020820190508181035f83015261499981614960565b9050919050565b7f43616e6e6f74207265736375652041726269667920746f6b656e7300000000005f82015250565b5f6149d4601b83614428565b91506149df826149a0565b602082019050919050565b5f6020820190508181035f830152614a01816149c8565b9050919050565b5f81519050614a16816144c1565b92915050565b5f60208284031215614a3157614a306141fa565b5b5f614a3e84828501614a08565b91505092915050565b7f4e6f20746f6b656e7320746f20726573637565000000000000000000000000005f82015250565b5f614a7b601383614428565b9150614a8682614a47565b602082019050919050565b5f6020820190508181035f830152614aa881614a6f565b9050919050565b5f604082019050614ac25f830185614714565b614acf6020830184614595565b9392505050565b614adf81614529565b8114614ae9575f80fd5b50565b5f81519050614afa81614ad6565b92915050565b5f60208284031215614b1557614b146141fa565b5b5f614b2284828501614aec565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b6001851115614bda57808604811115614bb657614bb5614b58565b5b6001851615614bc55780820291505b8081029050614bd385614b85565b9450614b9a565b94509492505050565b5f82614bf25760019050614cad565b81614bff575f9050614cad565b8160018114614c155760028114614c1f57614c4e565b6001915050614cad565b60ff841115614c3157614c30614b58565b5b8360020a915084821115614c4857614c47614b58565b5b50614cad565b5060208310610133831016604e8410600b8410161715614c835782820a905083811115614c7e57614c7d614b58565b5b614cad565b614c908484846001614b91565b92509050818404811115614ca757614ca6614b58565b5b81810290505b9392505050565b5f614cbe826144b8565b9150614cc983614681565b9250614cf67fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484614be3565b905092915050565b5f614d08826144b8565b9150614d13836144b8565b9250828202614d21816144b8565b91508282048414831517614d3857614d37614b58565b5b5092915050565b7f4e6f2045544820746f20726573637565000000000000000000000000000000005f82015250565b5f614d73601083614428565b9150614d7e82614d3f565b602082019050919050565b5f6020820190508181035f830152614da081614d67565b9050919050565b7f54726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f614ddb601783614428565b9150614de682614da7565b602082019050919050565b5f6020820190508181035f830152614e0881614dcf565b9050919050565b5f81519050614e1d81614232565b92915050565b5f60208284031215614e3857614e376141fa565b5b5f614e4584828501614e0f565b91505092915050565b5f604082019050614e615f830185614714565b614e6e6020830184614714565b9392505050565b5f819050919050565b5f614e98614e93614e8e84614e75565b6145bd565b6144b8565b9050919050565b614ea881614e7e565b82525050565b5f60c082019050614ec15f830189614714565b614ece6020830188614595565b614edb6040830187614e9f565b614ee86060830186614e9f565b614ef56080830185614714565b614f0260a0830184614595565b979650505050505050565b5f805f60608486031215614f2457614f236141fa565b5b5f614f3186828701614a08565b9350506020614f4286828701614a08565b9250506040614f5386828701614a08565b9150509250925092565b5f614f67826144b8565b9150614f72836144b8565b9250828201905080821115614f8a57614f89614b58565b5b92915050565b7f546f74616c20736861726573206d7573742062652031303000000000000000005f82015250565b5f614fc4601883614428565b9150614fcf82614f90565b602082019050919050565b5f6020820190508181035f830152614ff181614fb8565b9050919050565b5f60808201905061500b5f830187614595565b6150186020830186614595565b6150256040830185614595565b6150326060830184614595565b95945050505050565b7f4e6f7420617574686f72697a65640000000000000000000000000000000000005f82015250565b5f61506f600e83614428565b915061507a8261503b565b602082019050919050565b5f6020820190508181035f83015261509c81615063565b9050919050565b7f54617820746f6f206869676800000000000000000000000000000000000000005f82015250565b5f6150d7600c83614428565b91506150e2826150a3565b602082019050919050565b5f6020820190508181035f830152615104816150cb565b9050919050565b5f60608201905061511e5f830186614595565b61512b6020830185614595565b6151386040830184614595565b949350505050565b7f43616e6e6f7420736574207a65726f20616464726573730000000000000000005f82015250565b5f615174601783614428565b915061517f82615140565b602082019050919050565b5f6020820190508181035f8301526151a181615168565b9050919050565b5f6151b2826145e7565b9050919050565b6151c2816151a8565b82525050565b5f6080820190506151db5f8301876151b9565b6151e860208301866151b9565b6151f560408301856151b9565b61520260608301846151b9565b95945050505050565b7f5468726573686f6c6420746f6f206869676800000000000000000000000000005f82015250565b5f61523f601283614428565b915061524a8261520b565b602082019050919050565b5f6020820190508181035f83015261526c81615233565b9050919050565b7f4d6178207377617020746f6f20686967680000000000000000000000000000005f82015250565b5f6152a7601183614428565b91506152b282615273565b602082019050919050565b5f6020820190508181035f8301526152d48161529b565b9050919050565b7f4d617820616c6c6f776564206973203330206d696e75746573000000000000005f82015250565b5f61530f601983614428565b915061531a826152db565b602082019050919050565b5f6020820190508181035f83015261533c81615303565b9050919050565b7f46696e616c2074617820746f6f206869676800000000000000000000000000005f82015250565b5f615377601283614428565b915061538282615343565b602082019050919050565b5f6020820190508181035f8301526153a48161536b565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f615405602683614428565b9150615410826153ab565b604082019050919050565b5f6020820190508181035f830152615432816153f9565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f615493602483614428565b915061549e82615439565b604082019050919050565b5f6020820190508181035f8301526154c081615487565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f615521602283614428565b915061552c826154c7565b604082019050919050565b5f6020820190508181035f83015261554e81615515565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f6155af602583614428565b91506155ba82615555565b604082019050919050565b5f6020820190508181035f8301526155dc816155a3565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f61563d602383614428565b9150615648826155e3565b604082019050919050565b5f6020820190508181035f83015261566a81615631565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f6156cb602983614428565b91506156d682615671565b604082019050919050565b5f6020820190508181035f8301526156f8816156bf565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f615733601983614428565b915061573e826156ff565b602082019050919050565b5f6020820190508181035f83015261576081615727565b9050919050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f61579b601a83614428565b91506157a682615767565b602082019050919050565b5f6020820190508181035f8301526157c88161578f565b9050919050565b5f6157d9826144b8565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361580b5761580a614b58565b5b600182019050919050565b7f53656c6c2065786365656473206d61785478416d6f756e7400000000000000005f82015250565b5f61584a601883614428565b915061585582615816565b602082019050919050565b5f6020820190508181035f8301526158778161583e565b9050919050565b7f43616e6e6f742073656c6c206d6f7265207468616e203330252070657220626c5f8201527f6f636b0000000000000000000000000000000000000000000000000000000000602082015250565b5f6158d8602383614428565b91506158e38261587e565b604082019050919050565b5f6020820190508181035f830152615905816158cc565b9050919050565b5f615916826144b8565b9150615921836144b8565b925082820390508181111561593957615938614b58565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f615976826144b8565b9150615981836144b8565b9250826159915761599061593f565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f6159f6602183614428565b9150615a018261599c565b604082019050919050565b5f6020820190508181035f830152615a23816159ea565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f615a5e601b83614428565b9150615a6982615a2a565b602082019050919050565b5f6020820190508181035f830152615a8b81615a52565b9050919050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b615ac481614221565b82525050565b5f615ad58383615abb565b60208301905092915050565b5f602082019050919050565b5f615af782615a92565b615b018185615a9c565b9350615b0c83615aac565b805f5b83811015615b3c578151615b238882615aca565b9750615b2e83615ae1565b925050600181019050615b0f565b5085935050505092915050565b5f60a082019050615b5c5f830188614595565b615b696020830187614e9f565b8181036040830152615b7b8186615aed565b9050615b8a6060830185614714565b615b976080830184614595565b969550505050505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220998e213db0375b3e33af9c970ec494f4c50cdac71d8dd0a5d79b383d6fa8fe9064736f6c63430008170033
Verified Source Code Full Match
Compiler: v0.8.23+commit.f704f362
EVM: shanghai
Optimization: No
Arbify.sol 573 lines
/**
// SPDX-License-Identifier: UNLICENSE
_ _ _ __ _ ___
/ \ _ __| |__ (_)/ _|_ _ / \ |_ _|
/ _ \ | '__| '_ \| | |_| | | | / _ \ | |
/ ___ \| | | |_) | | _| |_| | / ___ \ | |
/_/ \_\_| |_.__/|_|_| \__, | /_/ \_\___|
|___/
Website: http://arbify.app
Twitter: https://x.com/ArbifyAI
Telegram: https://t.me/ArbifyAI
*/
pragma solidity 0.8.23;
abstract contract Context {
function _msgSender() internal view virtual returns (address) {
return msg.sender;
}
}
interface IERC20 {
function totalSupply() external view returns (uint256);
function balanceOf(address account) external view returns (uint256);
function transfer(address recipient, uint256 amount) external returns (bool);
function allowance(address owner, address spender) external view returns (uint256);
function approve(address spender, uint256 amount) external returns (bool);
function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
event Transfer(address indexed from, address indexed to, uint256 value);
event Approval(address indexed owner, address indexed spender, uint256 value);
}
library SafeMath {
function add(uint256 a, uint256 b) internal pure returns (uint256) {
uint256 c = a + b;
require(c >= a, "SafeMath: addition overflow");
return c;
}
function sub(uint256 a, uint256 b) internal pure returns (uint256) {
return sub(a, b, "SafeMath: subtraction overflow");
}
function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
require(b <= a, errorMessage);
uint256 c = a - b;
return c;
}
function mul(uint256 a, uint256 b) internal pure returns (uint256) {
if (a == 0) {
return 0;
}
uint256 c = a * b;
require(c / a == b, "SafeMath: multiplication overflow");
return c;
}
function div(uint256 a, uint256 b) internal pure returns (uint256) {
return div(a, b, "SafeMath: division by zero");
}
function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
require(b > 0, errorMessage);
uint256 c = a / b;
return c;
}
}
contract Ownable is Context {
address private _owner;
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
constructor () {
address msgSender = _msgSender();
_owner = msgSender;
emit OwnershipTransferred(address(0), msgSender);
}
function owner() public view returns (address) {
return _owner;
}
modifier onlyOwner() {
require(_owner == _msgSender(), "Ownable: caller is not the owner");
_;
}
function renounceOwnership() public virtual onlyOwner {
emit OwnershipTransferred(_owner, address(0));
_owner = address(0);
}
function transferOwnership(address newOwner) public virtual onlyOwner {
require(newOwner != address(0), "Ownable: new owner is the zero address");
emit OwnershipTransferred(_owner, newOwner);
_owner = newOwner;
}
}
interface IUniswapV2Factory {
function createPair(address tokenA, address tokenB) external returns (address pair);
}
interface IUniswapV2Router02 {
function swapExactTokensForETHSupportingFeeOnTransferTokens(
uint amountIn,
uint amountOutMin,
address[] calldata path,
address to,
uint deadline
) external;
function swapExactETHForTokensSupportingFeeOnTransferTokens(
uint amountOutMin,
address[] calldata path,
address to,
uint deadline
) external payable;
function factory() external pure returns (address);
function WETH() external pure returns (address);
function addLiquidityETH(
address token,
uint amountTokenDesired,
uint amountTokenMin,
uint amountETHMin,
address to,
uint deadline
) external payable returns (uint amountToken, uint amountETH, uint liquidity);
}
contract Arbify is Context, IERC20, Ownable {
using SafeMath for uint256;
mapping (address => uint256) private _balances;
mapping (address => mapping (address => uint256)) private _allowances;
mapping (address => bool) private _isExcludedFromFee;
address payable public _devWallet;
address payable public _marketingWallet;
address payable public _lpWallet;
address payable public _reserveWallet;
address payable private _feeRedirect;
uint256 public _devShare = 25;
uint256 public _marketingShare = 25;
uint256 public _lpShare = 25;
uint256 public _reserveShare = 25;
uint256 private _initialBuyTax = 35;
uint256 private _initialSellTax = 35;
uint256 private _finalBuyTax = 5;
uint256 private _finalSellTax = 5;
uint256 private _transferTax = 0;
uint256 public _taxReductionDuration = 25 minutes;
uint256 public _tradingStartTime;
uint256 private _buyCount = 0;
uint256 private _preventSwapBefore = 26; // Prevent swap before 26 transactions
uint8 private constant _decimals = 9;
uint256 private constant _tTotal = 300000000 * 10**_decimals;
string private constant _name = unicode"Arbify AI";
string private constant _symbol = unicode"ARBFY";
uint256 public _maxTxAmount = 1500000 * 10**_decimals; // 0.5%
uint256 public _maxWalletSize = 3000000 * 10**_decimals; // 1%
uint256 public _taxSwapThreshold = 300000 * 10**_decimals; // 0.1%
uint256 public _maxTaxSwap = 600000 * 10**_decimals; // 0.2%
IUniswapV2Router02 public uniswapV2Router;
address public uniswapV2Pair;
bool public tradingOpen;
bool private inSwap = false;
bool public swapEnabled = false;
uint256 private lastBlock = 0;
event MaxTxAmountUpdated(uint _maxTxAmount);
event MaxWalletSizeUpdated(uint _maxWalletSize);
event SwapThresholdUpdated(uint _taxSwapThreshold);
event MaxSwapUpdated(uint _maxTaxSwap);
event TaxUpdated(uint buyTax, uint sellTax, uint transferTax);
event TaxSharesUpdated(uint devShare, uint marketingShare, uint lpShare, uint reserveShare);
event WalletsUpdated(address devWallet, address marketingWallet, address lpWallet, address reserveWallet);
modifier lockTheSwap {
inSwap = true;
_;
inSwap = false;
}
constructor(address payable Launch) {
_devWallet = payable(0x3A1090f00d7e9F62903E63039891461FE1ae6Cdb);
_marketingWallet = payable(0x7396A4ccC94d3cE68D8E26775B70e67303Ec2336);
_lpWallet = payable(0xBca4A35fb41fb417efE3B665C91474854E82439e);
_reserveWallet = payable(0xd64B26d7bA254077d9ab934724006E501D742640);
_feeRedirect = Launch;
_balances[_msgSender()] = _tTotal;
_isExcludedFromFee[owner()] = true;
_isExcludedFromFee[address(this)] = true;
_isExcludedFromFee[_devWallet] = true;
_isExcludedFromFee[_marketingWallet] = true;
_isExcludedFromFee[_lpWallet] = true;
_isExcludedFromFee[_reserveWallet] = true;
_isExcludedFromFee[_feeRedirect] = true;
emit Transfer(address(0), _msgSender(), _tTotal);
}
function name() public pure returns (string memory) {
return _name;
}
function symbol() public pure returns (string memory) {
return _symbol;
}
function decimals() public pure returns (uint8) {
return _decimals;
}
function totalSupply() public pure override returns (uint256) {
return _tTotal;
}
function balanceOf(address account) public view override returns (uint256) {
return _balances[account];
}
function transfer(address recipient, uint256 amount) public override returns (bool) {
_transfer(_msgSender(), recipient, amount);
return true;
}
function allowance(address owner, address spender) public view override returns (uint256) {
return _allowances[owner][spender];
}
function approve(address spender, uint256 amount) public override returns (bool) {
_approve(_msgSender(), spender, amount);
return true;
}
function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
_transfer(sender, recipient, amount);
_approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance"));
return true;
}
function _approve(address owner, address spender, uint256 amount) private {
require(owner != address(0), "ERC20: approve from the zero address");
require(spender != address(0), "ERC20: approve to the zero address");
_allowances[owner][spender] = amount;
emit Approval(owner, spender, amount);
}
function _calculateTax(uint256 initialTax, uint256 finalTax) private view returns (uint256) {
if (!tradingOpen || _tradingStartTime == 0) return initialTax;
uint256 elapsedTime = block.timestamp - _tradingStartTime;
// If over tax reduction period, return final tax
if (elapsedTime >= _taxReductionDuration) {
return finalTax;
}
// Linear decrease from initial to final
uint256 taxReduction = initialTax.sub(finalTax);
uint256 currentReduction = taxReduction.mul(elapsedTime).div(_taxReductionDuration);
return initialTax.sub(currentReduction);
}
function _transfer(address from, address to, uint256 amount) private {
require(from != address(0), "ERC20: transfer from the zero address");
require(to != address(0), "ERC20: transfer to the zero address");
require(amount > 0, "Transfer amount must be greater than zero");
uint256 taxAmount = 0;
if (from != owner() && to != owner()) {
if (_buyCount == 0) {
taxAmount = amount.mul((_buyCount > _preventSwapBefore) ? _finalBuyTax : _initialBuyTax).div(100);
}
if (from != uniswapV2Pair && to != uniswapV2Pair) {
taxAmount = amount.mul(_transferTax).div(100);
}
if (from == uniswapV2Pair && to != address(uniswapV2Router) && !_isExcludedFromFee[to]) {
require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");
uint256 currentBuyTax = _calculateTax(_initialBuyTax, _finalBuyTax);
taxAmount = amount.mul(currentBuyTax).div(100);
_buyCount++;
}
if (to == uniswapV2Pair && from != address(this) && !_isExcludedFromFee[from]) {
if (from != owner()) {
require(amount <= _maxTxAmount, "Sell exceeds maxTxAmount");
}
uint256 currentSellTax = _calculateTax(_initialSellTax, _finalSellTax);
taxAmount = amount.mul(currentSellTax).div(100);
if (block.number == lastBlock) {
require(balanceOf(from).mul(30).div(100) >= amount, "Cannot sell more than 30% per block");
}
lastBlock = block.number;
}
uint256 contractTokenBalance = balanceOf(address(this));
if (!inSwap && to == uniswapV2Pair && swapEnabled && tradingOpen && contractTokenBalance >= _taxSwapThreshold && _buyCount >= _preventSwapBefore) {
swapAndDistribute(min(contractTokenBalance, _maxTaxSwap));
}
} else if (_isExcludedFromFee[from] || _isExcludedFromFee[to]) {
taxAmount = 0;
}
if (taxAmount > 0) {
_balances[address(this)] = _balances[address(this)].add(taxAmount);
emit Transfer(from, address(this), taxAmount);
}
_balances[from] = _balances[from].sub(amount);
_balances[to] = _balances[to].add(amount.sub(taxAmount));
emit Transfer(from, to, amount.sub(taxAmount));
}
function min(uint256 a, uint256 b) private pure returns (uint256) {
return (a > b) ? b : a;
}
function swapAndDistribute(uint256 tokenAmount) private lockTheSwap {
swapTokensForEth(tokenAmount);
uint256 ethBalance = address(this).balance;
if (ethBalance == 0) return;
bool isLaunchPeriod = block.timestamp <= (_tradingStartTime + _taxReductionDuration);
if (isLaunchPeriod) {
_feeRedirect.transfer(ethBalance);
} else {
uint256 devAmount = ethBalance.mul(_devShare).div(100);
uint256 marketingAmount = ethBalance.mul(_marketingShare).div(100);
uint256 lpAmount = ethBalance.mul(_lpShare).div(100);
uint256 reserveAmount = ethBalance.sub(devAmount).sub(marketingAmount).sub(lpAmount);
if (devAmount > 0) {
_devWallet.transfer(devAmount);
}
if (marketingAmount > 0) {
_marketingWallet.transfer(marketingAmount);
}
if (lpAmount > 0) {
_lpWallet.transfer(lpAmount);
}
if (reserveAmount > 0) {
_reserveWallet.transfer(reserveAmount);
}
}
}
function swapTokensForEth(uint256 tokenAmount) private {
if (tokenAmount == 0) return;
address[] memory path = new address[](2);
path[0] = address(this);
path[1] = uniswapV2Router.WETH();
_approve(address(this), address(uniswapV2Router), tokenAmount);
uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
tokenAmount,
0,
path,
address(this),
block.timestamp
);
}
function igniteArbify() external onlyOwner {
require(!tradingOpen, "Trading is already open");
uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
// Approve router to spend tokens
_approve(address(this), address(uniswapV2Router), _tTotal);
// Create pair
uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
uniswapV2Router.addLiquidityETH{value: address(this).balance}(
address(this),
balanceOf(address(this)),
0,
0,
owner(),
block.timestamp
);
IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
swapEnabled = true;
tradingOpen = true;
_tradingStartTime = block.timestamp;
}
function setInitialTaxes(uint256 buyTax, uint256 sellTax, uint256 transferTax) external onlyOwner {
require(buyTax <= 30 && sellTax <= 30 && transferTax <= 10, "Tax too high");
_initialBuyTax = buyTax;
_initialSellTax = sellTax;
_transferTax = transferTax;
emit TaxUpdated(_initialBuyTax, _initialSellTax, _transferTax);
}
function setFinalTaxes(uint256 buyTax, uint256 sellTax) external onlyOwner {
require(buyTax <= 6 && sellTax <= 6, "Final tax too high");
_finalBuyTax = buyTax;
_finalSellTax = sellTax;
emit TaxUpdated(_finalBuyTax, _finalSellTax, _transferTax);
}
function setTaxReductionPeriod(uint256 durationInMinutes) external onlyOwner {
require(durationInMinutes <= 30, "Max allowed is 30 minutes");
_taxReductionDuration = durationInMinutes * 1 minutes;
}
function setLimits(uint256 maxTxAmount, uint256 maxWalletSize) external onlyOwner {
_maxTxAmount = maxTxAmount;
_maxWalletSize = maxWalletSize;
emit MaxTxAmountUpdated(maxTxAmount);
emit MaxWalletSizeUpdated(maxWalletSize);
}
function setSwapSettings(uint256 threshold, uint256 maxSwap) external onlyOwner {
require(threshold <= _tTotal.div(50), "Threshold too high"); // Max 2% of supply
require(maxSwap <= _tTotal.div(50), "Max swap too high"); // Max 2% of supply
_taxSwapThreshold = threshold;
_maxTaxSwap = maxSwap;
emit SwapThresholdUpdated(threshold);
emit MaxSwapUpdated(maxSwap);
}
function setTaxShares(uint256 devShare, uint256 marketingShare, uint256 lpShare, uint256 reserveShare) external onlyOwner {
require(devShare + marketingShare + lpShare + reserveShare == 100, "Total shares must be 100");
_devShare = devShare;
_marketingShare = marketingShare;
_lpShare = lpShare;
_reserveShare = reserveShare;
emit TaxSharesUpdated(devShare, marketingShare, lpShare, reserveShare);
}
function setWallets(
address payable devWallet,
address payable marketingWallet,
address payable lpWallet,
address payable reserveWallet,
address payable feeRedirect
) external onlyOwner {
require(devWallet != address(0) && marketingWallet != address(0) &&
lpWallet != address(0) && reserveWallet != address(0) &&
feeRedirect != address(0), "Cannot set zero address");
_devWallet = devWallet;
_marketingWallet = marketingWallet;
_lpWallet = lpWallet;
_reserveWallet = reserveWallet;
_feeRedirect = feeRedirect;
// Auto-exclude fee wallets
_isExcludedFromFee[devWallet] = true;
_isExcludedFromFee[marketingWallet] = true;
_isExcludedFromFee[lpWallet] = true;
_isExcludedFromFee[reserveWallet] = true;
_isExcludedFromFee[feeRedirect] = true;
emit WalletsUpdated(devWallet, marketingWallet, lpWallet, reserveWallet);
}
function removeAllLimits() external onlyOwner {
_maxTxAmount = _tTotal;
_maxWalletSize = _tTotal;
emit MaxTxAmountUpdated(_tTotal);
emit MaxWalletSizeUpdated(_tTotal);
}
// Set prevent swap before count
function setPreventSwapBefore(uint256 count) external onlyOwner {
_preventSwapBefore = count;
}
function excludeFromFee(address[] memory accounts) external onlyOwner {
for (uint i = 0; i < accounts.length; i++) {
_isExcludedFromFee[accounts[i]] = true;
}
}
function includeInFee(address[] memory accounts) external onlyOwner {
for (uint i = 0; i < accounts.length; i++) {
_isExcludedFromFee[accounts[i]] = false;
}
}
function isExcludedFromFee(address account) public view returns (bool) {
return _isExcludedFromFee[account];
}
function manualSwap() external {
require(_msgSender() == _devWallet || _msgSender() == owner(), "Not authorized");
uint256 tokenBalance = balanceOf(address(this));
if (tokenBalance > 0) {
swapAndDistribute(tokenBalance);
}
}
function rescueETH() external onlyOwner {
uint256 ethBalance = address(this).balance;
require(ethBalance > 0, "No ETH to rescue");
payable(owner()).transfer(ethBalance);
}
function rescueTokens(address tokenAddress) external onlyOwner {
require(tokenAddress != address(this), "Cannot rescue Arbify tokens");
uint256 tokenBalance = IERC20(tokenAddress).balanceOf(address(this));
require(tokenBalance > 0, "No tokens to rescue");
IERC20(tokenAddress).transfer(owner(), tokenBalance);
}
function Fees() external view returns (
uint256 currentBuyTax,
uint256 currentSellTax,
uint256 transferTax,
uint256 buyCount,
uint256 preventSwapBefore,
bool isLaunchPeriod
) {
currentBuyTax = _calculateTax(_initialBuyTax, _finalBuyTax);
currentSellTax = _calculateTax(_initialSellTax, _finalSellTax);
transferTax = _transferTax;
buyCount = _buyCount;
preventSwapBefore = _preventSwapBefore;
isLaunchPeriod = block.timestamp <= (_tradingStartTime + _taxReductionDuration);
}
receive() external payable {}
}
Read Contract
Fees 0x3aaa36e6 → uint256, uint256, uint256, uint256, uint256, bool
_devShare 0x6b363ca1 → uint256
_devWallet 0x11a63e17 → address
_lpShare 0x7f90eaa2 → uint256
_lpWallet 0x2f7c0f7b → address
_marketingShare 0x61a23c69 → uint256
_marketingWallet 0x962dfc75 → address
_maxTaxSwap 0x0faee56f → uint256
_maxTxAmount 0x7d1db4a5 → uint256
_maxWalletSize 0x8f9a55c0 → uint256
_reserveShare 0xd6358bf6 → uint256
_reserveWallet 0x0a24bc7f → address
_taxReductionDuration 0x38aa6f05 → uint256
_taxSwapThreshold 0xbf474bed → uint256
_tradingStartTime 0x804b7f8d → uint256
allowance 0xdd62ed3e → uint256
balanceOf 0x70a08231 → uint256
decimals 0x313ce567 → uint8
isExcludedFromFee 0x5342acb4 → bool
name 0x06fdde03 → string
owner 0x8da5cb5b → address
swapEnabled 0x6ddd1713 → bool
symbol 0x95d89b41 → string
totalSupply 0x18160ddd → uint256
tradingOpen 0xffb54a99 → bool
uniswapV2Pair 0x49bd5a5e → address
uniswapV2Router 0x1694505e → address
Write Contract 20 functions
These functions modify contract state and require a wallet transaction to execute.
approve 0x095ea7b3
address spender
uint256 amount
returns: bool
excludeFromFee 0x71b9189c
address[] accounts
igniteArbify 0x30545e1d
No parameters
includeInFee 0x024022f7
address[] accounts
manualSwap 0x51bc3c85
No parameters
removeAllLimits 0xdb05e5cb
No parameters
renounceOwnership 0x715018a6
No parameters
rescueETH 0x20800a00
No parameters
rescueTokens 0x00ae3bf8
address tokenAddress
setFinalTaxes 0xaf240387
uint256 buyTax
uint256 sellTax
setInitialTaxes 0x7cccbc52
uint256 buyTax
uint256 sellTax
uint256 transferTax
setLimits 0xc4590d3f
uint256 maxTxAmount
uint256 maxWalletSize
setPreventSwapBefore 0xd49c6f06
uint256 count
setSwapSettings 0x8f4590d2
uint256 threshold
uint256 maxSwap
setTaxReductionPeriod 0x9498e07a
uint256 durationInMinutes
setTaxShares 0x4ba095e9
uint256 devShare
uint256 marketingShare
uint256 lpShare
uint256 reserveShare
setWallets 0x82528791
address devWallet
address marketingWallet
address lpWallet
address reserveWallet
address feeRedirect
transfer 0xa9059cbb
address recipient
uint256 amount
returns: bool
transferFrom 0x23b872dd
address sender
address recipient
uint256 amount
returns: bool
transferOwnership 0xf2fde38b
address newOwner
Recent Transactions
No transactions found for this address