From f09ef493792dc6242cdf72483bab4b819080612e Mon Sep 17 00:00:00 2001 From: beer-1 Date: Tue, 20 Aug 2024 16:38:00 +0900 Subject: [PATCH] update bin files --- x/evm/contracts/counter/Counter.go | 2 +- x/evm/contracts/erc20/ERC20.go | 2 +- x/evm/contracts/erc20_acl/ERC20ACL.go | 2 +- x/evm/contracts/erc20_factory/ERC20Factory.go | 2 +- x/evm/contracts/erc20_registry/ERC20Registry.go | 2 +- x/evm/contracts/ics721_erc721/ICS721ERC721.go | 2 +- x/evm/contracts/initia_erc20/InitiaERC20.go | 2 +- x/evm/contracts/ownable/Ownable.go | 2 +- x/evm/contracts/utils/ERC721Utils.go | 2 +- 9 files changed, 9 insertions(+), 9 deletions(-) diff --git a/x/evm/contracts/counter/Counter.go b/x/evm/contracts/counter/Counter.go index 8d202ba..9e230be 100644 --- a/x/evm/contracts/counter/Counter.go +++ b/x/evm/contracts/counter/Counter.go @@ -32,7 +32,7 @@ var ( // CounterMetaData contains all meta data concerning the Counter contract. var CounterMetaData = &bind.MetaData{ ABI: "[{\"inputs\":[],\"stateMutability\":\"payable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"oldCount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newCount\",\"type\":\"uint256\"}],\"name\":\"increased\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"count\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"callback_id\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"name\":\"ibc_ack\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"callback_id\",\"type\":\"uint64\"}],\"name\":\"ibc_timeout\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"increase\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"req\",\"type\":\"string\"}],\"name\":\"query_cosmos\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"result\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]", - Bin: "0x60806040526107ef806100115f395ff3fe608060405260043610610049575f3560e01c806306661abd1461004d5780630d4f1f9d1461007757806331a503f01461009f578063cad23554146100c7578063e8927fbc14610103575b5f80fd5b348015610058575f80fd5b5061006161010d565b60405161006e919061027d565b60405180910390f35b348015610082575f80fd5b5061009d60048036038101906100989190610319565b610112565b005b3480156100aa575f80fd5b506100c560048036038101906100c09190610357565b610159565b005b3480156100d2575f80fd5b506100ed60048036038101906100e891906104be565b61017d565b6040516100fa91906105ae565b60405180910390f35b61010b610206565b005b5f5481565b801561013e578167ffffffffffffffff165f8082825461013291906105fb565b92505081905550610155565b5f8081548092919061014f9061062e565b91905055505b5050565b8067ffffffffffffffff165f8082825461017391906105fb565b9250508190555050565b606060f173ffffffffffffffffffffffffffffffffffffffff1663cad2355484846040518363ffffffff1660e01b81526004016101bb929190610675565b5f604051808303815f875af11580156101d6573d5f803e3d5ffd5b505050506040513d5f823e3d601f19601f820116820180604052508101906101fe9190610718565b905092915050565b5f808154809291906102179061062e565b91905055507f61996fe196f72cb598c483e896a1221263a28bb630480aa89495f737d4a8e3df60015f5461024b919061075f565b5f5460405161025b929190610792565b60405180910390a1565b5f819050919050565b61027781610265565b82525050565b5f6020820190506102905f83018461026e565b92915050565b5f604051905090565b5f80fd5b5f80fd5b5f67ffffffffffffffff82169050919050565b6102c3816102a7565b81146102cd575f80fd5b50565b5f813590506102de816102ba565b92915050565b5f8115159050919050565b6102f8816102e4565b8114610302575f80fd5b50565b5f81359050610313816102ef565b92915050565b5f806040838503121561032f5761032e61029f565b5b5f61033c858286016102d0565b925050602061034d85828601610305565b9150509250929050565b5f6020828403121561036c5761036b61029f565b5b5f610379848285016102d0565b91505092915050565b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6103d08261038a565b810181811067ffffffffffffffff821117156103ef576103ee61039a565b5b80604052505050565b5f610401610296565b905061040d82826103c7565b919050565b5f67ffffffffffffffff82111561042c5761042b61039a565b5b6104358261038a565b9050602081019050919050565b828183375f83830152505050565b5f61046261045d84610412565b6103f8565b90508281526020810184848401111561047e5761047d610386565b5b610489848285610442565b509392505050565b5f82601f8301126104a5576104a4610382565b5b81356104b5848260208601610450565b91505092915050565b5f80604083850312156104d4576104d361029f565b5b5f83013567ffffffffffffffff8111156104f1576104f06102a3565b5b6104fd85828601610491565b925050602083013567ffffffffffffffff81111561051e5761051d6102a3565b5b61052a85828601610491565b9150509250929050565b5f81519050919050565b5f82825260208201905092915050565b5f5b8381101561056b578082015181840152602081019050610550565b5f8484015250505050565b5f61058082610534565b61058a818561053e565b935061059a81856020860161054e565b6105a38161038a565b840191505092915050565b5f6020820190508181035f8301526105c68184610576565b905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61060582610265565b915061061083610265565b9250828201905080821115610628576106276105ce565b5b92915050565b5f61063882610265565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361066a576106696105ce565b5b600182019050919050565b5f6040820190508181035f83015261068d8185610576565b905081810360208301526106a18184610576565b90509392505050565b5f6106bc6106b784610412565b6103f8565b9050828152602081018484840111156106d8576106d7610386565b5b6106e384828561054e565b509392505050565b5f82601f8301126106ff576106fe610382565b5b815161070f8482602086016106aa565b91505092915050565b5f6020828403121561072d5761072c61029f565b5b5f82015167ffffffffffffffff81111561074a576107496102a3565b5b610756848285016106eb565b91505092915050565b5f61076982610265565b915061077483610265565b925082820390508181111561078c5761078b6105ce565b5b92915050565b5f6040820190506107a55f83018561026e565b6107b2602083018461026e565b939250505056fea264697066735822122081bf0b643251cf23de1a3c843371e64452b6e0d66cbf945d915ecc9b168d1b3a64736f6c63430008180033", + Bin: "0x60806040526107d5806100115f395ff3fe608060405260043610610049575f3560e01c806306661abd1461004d5780630d4f1f9d1461007757806331a503f01461009f578063cad23554146100c7578063e8927fbc14610103575b5f80fd5b348015610058575f80fd5b5061006161010d565b60405161006e919061027d565b60405180910390f35b348015610082575f80fd5b5061009d60048036038101906100989190610319565b610112565b005b3480156100aa575f80fd5b506100c560048036038101906100c09190610357565b610159565b005b3480156100d2575f80fd5b506100ed60048036038101906100e891906104be565b61017d565b6040516100fa9190610594565b60405180910390f35b61010b610206565b005b5f5481565b801561013e578167ffffffffffffffff165f8082825461013291906105e1565b92505081905550610155565b5f8081548092919061014f90610614565b91905055505b5050565b8067ffffffffffffffff165f8082825461017391906105e1565b9250508190555050565b606060f173ffffffffffffffffffffffffffffffffffffffff1663cad2355484846040518363ffffffff1660e01b81526004016101bb92919061065b565b5f604051808303815f875af11580156101d6573d5f803e3d5ffd5b505050506040513d5f823e3d601f19601f820116820180604052508101906101fe91906106fe565b905092915050565b5f8081548092919061021790610614565b91905055507f61996fe196f72cb598c483e896a1221263a28bb630480aa89495f737d4a8e3df60015f5461024b9190610745565b5f5460405161025b929190610778565b60405180910390a1565b5f819050919050565b61027781610265565b82525050565b5f6020820190506102905f83018461026e565b92915050565b5f604051905090565b5f80fd5b5f80fd5b5f67ffffffffffffffff82169050919050565b6102c3816102a7565b81146102cd575f80fd5b50565b5f813590506102de816102ba565b92915050565b5f8115159050919050565b6102f8816102e4565b8114610302575f80fd5b50565b5f81359050610313816102ef565b92915050565b5f806040838503121561032f5761032e61029f565b5b5f61033c858286016102d0565b925050602061034d85828601610305565b9150509250929050565b5f6020828403121561036c5761036b61029f565b5b5f610379848285016102d0565b91505092915050565b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6103d08261038a565b810181811067ffffffffffffffff821117156103ef576103ee61039a565b5b80604052505050565b5f610401610296565b905061040d82826103c7565b919050565b5f67ffffffffffffffff82111561042c5761042b61039a565b5b6104358261038a565b9050602081019050919050565b828183375f83830152505050565b5f61046261045d84610412565b6103f8565b90508281526020810184848401111561047e5761047d610386565b5b610489848285610442565b509392505050565b5f82601f8301126104a5576104a4610382565b5b81356104b5848260208601610450565b91505092915050565b5f80604083850312156104d4576104d361029f565b5b5f83013567ffffffffffffffff8111156104f1576104f06102a3565b5b6104fd85828601610491565b925050602083013567ffffffffffffffff81111561051e5761051d6102a3565b5b61052a85828601610491565b9150509250929050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f61056682610534565b610570818561053e565b935061058081856020860161054e565b6105898161038a565b840191505092915050565b5f6020820190508181035f8301526105ac818461055c565b905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6105eb82610265565b91506105f683610265565b925082820190508082111561060e5761060d6105b4565b5b92915050565b5f61061e82610265565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036106505761064f6105b4565b5b600182019050919050565b5f6040820190508181035f830152610673818561055c565b90508181036020830152610687818461055c565b90509392505050565b5f6106a261069d84610412565b6103f8565b9050828152602081018484840111156106be576106bd610386565b5b6106c984828561054e565b509392505050565b5f82601f8301126106e5576106e4610382565b5b81516106f5848260208601610690565b91505092915050565b5f602082840312156107135761071261029f565b5b5f82015167ffffffffffffffff8111156107305761072f6102a3565b5b61073c848285016106d1565b91505092915050565b5f61074f82610265565b915061075a83610265565b9250828203905081811115610772576107716105b4565b5b92915050565b5f60408201905061078b5f83018561026e565b610798602083018461026e565b939250505056fea2646970667358221220020a665582b2ee05cecb9ca1a0849748ef3fe969c484bd508004f167ffdca79364736f6c63430008190033", } // CounterABI is the input ABI used to generate the binding from. diff --git a/x/evm/contracts/erc20/ERC20.go b/x/evm/contracts/erc20/ERC20.go index 06f5b90..a77371d 100644 --- a/x/evm/contracts/erc20/ERC20.go +++ b/x/evm/contracts/erc20/ERC20.go @@ -32,7 +32,7 @@ var ( // Erc20MetaData contains all meta data concerning the Erc20 contract. var Erc20MetaData = &bind.MetaData{ ABI: "[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_symbol\",\"type\":\"string\"},{\"internalType\":\"uint8\",\"name\":\"_decimals\",\"type\":\"uint8\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"mint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"sudoBurn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"sudoMint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"sudoTransfer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]", - Bin: "0x608060405234801562000010575f80fd5b5060405162001f8638038062001f8683398181016040528101906200003691906200027c565b335f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082600390816200008691906200054a565b5081600490816200009891906200054a565b508060055f6101000a81548160ff021916908360ff1602179055505050506200062e565b5f604051905090565b5f80fd5b5f80fd5b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6200011d82620000d5565b810181811067ffffffffffffffff821117156200013f576200013e620000e5565b5b80604052505050565b5f62000153620000bc565b905062000161828262000112565b919050565b5f67ffffffffffffffff821115620001835762000182620000e5565b5b6200018e82620000d5565b9050602081019050919050565b5f5b83811015620001ba5780820151818401526020810190506200019d565b5f8484015250505050565b5f620001db620001d58462000166565b62000148565b905082815260208101848484011115620001fa57620001f9620000d1565b5b620002078482856200019b565b509392505050565b5f82601f830112620002265762000225620000cd565b5b815162000238848260208601620001c5565b91505092915050565b5f60ff82169050919050565b620002588162000241565b811462000263575f80fd5b50565b5f8151905062000276816200024d565b92915050565b5f805f60608486031215620002965762000295620000c5565b5b5f84015167ffffffffffffffff811115620002b657620002b5620000c9565b5b620002c4868287016200020f565b935050602084015167ffffffffffffffff811115620002e857620002e7620000c9565b5b620002f6868287016200020f565b9250506040620003098682870162000266565b9150509250925092565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806200036257607f821691505b6020821081036200037857620003776200031d565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302620003dc7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826200039f565b620003e886836200039f565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f620004326200042c620004268462000400565b62000409565b62000400565b9050919050565b5f819050919050565b6200044d8362000412565b620004656200045c8262000439565b848454620003ab565b825550505050565b5f90565b6200047b6200046d565b6200048881848462000442565b505050565b5b81811015620004af57620004a35f8262000471565b6001810190506200048e565b5050565b601f821115620004fe57620004c8816200037e565b620004d38462000390565b81016020851015620004e3578190505b620004fb620004f28562000390565b8301826200048d565b50505b505050565b5f82821c905092915050565b5f620005205f198460080262000503565b1980831691505092915050565b5f6200053a83836200050f565b9150826002028217905092915050565b620005558262000313565b67ffffffffffffffff811115620005715762000570620000e5565b5b6200057d82546200034a565b6200058a828285620004b3565b5f60209050601f831160018114620005c0575f8415620005ab578287015190505b620005b785826200052d565b86555062000626565b601f198416620005d0866200037e565b5f5b82811015620005f957848901518255600182019150602085019450602081019050620005d2565b8683101562000619578489015162000615601f8916826200050f565b8355505b6001600288020188555050505b505050505050565b61194a806200063c5f395ff3fe608060405234801561000f575f80fd5b5060043610610109575f3560e01c806340c10f19116100a05780639dc29fac1161006f5780639dc29fac146102b7578063a9059cbb146102d3578063dd62ed3e14610303578063f2fde38b14610333578063fe1195ec1461034f57610109565b806340c10f191461022f57806370a082311461024b5780638da5cb5b1461027b57806395d89b411461029957610109565b80631988513b116100dc5780631988513b146101a957806323b872dd146101c55780632d688ca8146101f5578063313ce5671461021157610109565b806301ffc9a71461010d57806306fdde031461013d578063095ea7b31461015b57806318160ddd1461018b575b5f80fd5b610127600480360381019061012291906112f9565b61036b565b604051610134919061133e565b60405180910390f35b6101456103e4565b60405161015291906113e1565b60405180910390f35b6101756004803603810190610170919061148e565b610470565b604051610182919061133e565b60405180910390f35b61019361055d565b6040516101a091906114db565b60405180910390f35b6101c360048036038101906101be91906114f4565b610563565b005b6101df60048036038101906101da91906114f4565b6105e2565b6040516101ec919061133e565b60405180910390f35b61020f600480360381019061020a919061148e565b610742565b005b6102196107bf565b604051610226919061155f565b60405180910390f35b6102496004803603810190610244919061148e565b6107d1565b005b61026560048036038101906102609190611578565b6108f0565b60405161027291906114db565b60405180910390f35b610283610905565b60405161029091906115b2565b60405180910390f35b6102a1610928565b6040516102ae91906113e1565b60405180910390f35b6102d160048036038101906102cc919061148e565b6109b4565b005b6102ed60048036038101906102e8919061148e565b610ad3565b6040516102fa919061133e565b60405180910390f35b61031d600480360381019061031891906115cb565b610ba4565b60405161032a91906114db565b60405180910390f35b61034d60048036038101906103489190611578565b610bc4565b005b6103696004803603810190610364919061148e565b610d0c565b005b5f7f8da6da19000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806103dd57506103dc82610d89565b5b9050919050565b600380546103f190611636565b80601f016020809104026020016040519081016040528092919081815260200182805461041d90611636565b80156104685780601f1061043f57610100808354040283529160200191610468565b820191905f5260205f20905b81548152906001019060200180831161044b57829003601f168201915b505050505081565b5f8160025f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161054b91906114db565b60405180910390a36001905092915050565b60065481565b600173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146105d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105c9906116b0565b60405180910390fd5b6105dd838383610df2565b505050565b5f8260f173ffffffffffffffffffffffffffffffffffffffff1663f2af9ac9826040518263ffffffff1660e01b815260040161061e91906115b2565b602060405180830381865afa158015610639573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061065d91906116f8565b1561069d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161069490611793565b60405180910390fd5b8260025f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825461072491906117de565b92505081905550610736858585610df2565b60019150509392505050565b600173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146107b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107a8906116b0565b60405180910390fd5b6107bb8282610ffd565b5050565b60055f9054906101000a900460ff1681565b8160f173ffffffffffffffffffffffffffffffffffffffff1663f2af9ac9826040518263ffffffff1660e01b815260040161080c91906115b2565b602060405180830381865afa158015610827573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061084b91906116f8565b1561088b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108829061185b565b60405180910390fd5b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146108e1575f80fd5b6108eb8383610ffd565b505050565b6001602052805f5260405f205f915090505481565b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6004805461093590611636565b80601f016020809104026020016040519081016040528092919081815260200182805461096190611636565b80156109ac5780601f10610983576101008083540402835291602001916109ac565b820191905f5260205f20905b81548152906001019060200180831161098f57829003601f168201915b505050505081565b8160f173ffffffffffffffffffffffffffffffffffffffff166360dc402f826040518263ffffffff1660e01b81526004016109ef91906115b2565b602060405180830381865afa158015610a0a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a2e91906116f8565b15610a6e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a65906118c3565b60405180910390fd5b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610ac4575f80fd5b610ace83836111cc565b505050565b5f8260f173ffffffffffffffffffffffffffffffffffffffff1663f2af9ac9826040518263ffffffff1660e01b8152600401610b0f91906115b2565b602060405180830381865afa158015610b2a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b4e91906116f8565b15610b8e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b8590611793565b60405180910390fd5b610b99338585610df2565b600191505092915050565b6002602052815f5260405f20602052805f5260405f205f91509150505481565b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610c1a575f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610c51575f80fd5b8073ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610d7b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d72906116b0565b60405180910390fd5b610d8582826111cc565b5050565b5f7f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b8160f273ffffffffffffffffffffffffffffffffffffffff16634e25ab64826040518263ffffffff1660e01b8152600401610e2d91906115b2565b602060405180830381865afa158015610e48573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e6c91906116f8565b610eec5760f273ffffffffffffffffffffffffffffffffffffffff1663ceeae52a826040518263ffffffff1660e01b8152600401610eaa91906115b2565b6020604051808303815f875af1158015610ec6573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610eea91906116f8565b505b8160015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254610f3891906117de565b925050819055508160015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254610f8b91906118e1565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610fef91906114db565b60405180910390a350505050565b8160f273ffffffffffffffffffffffffffffffffffffffff16634e25ab64826040518263ffffffff1660e01b815260040161103891906115b2565b602060405180830381865afa158015611053573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061107791906116f8565b6110f75760f273ffffffffffffffffffffffffffffffffffffffff1663ceeae52a826040518263ffffffff1660e01b81526004016110b591906115b2565b6020604051808303815f875af11580156110d1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110f591906116f8565b505b8160015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825461114391906118e1565b925050819055508160065f82825461115b91906118e1565b925050819055508273ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516111bf91906114db565b60405180910390a3505050565b8060015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825461121891906117de565b925050819055508060065f82825461123091906117de565b925050819055505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161129491906114db565b60405180910390a35050565b5f80fd5b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6112d8816112a4565b81146112e2575f80fd5b50565b5f813590506112f3816112cf565b92915050565b5f6020828403121561130e5761130d6112a0565b5b5f61131b848285016112e5565b91505092915050565b5f8115159050919050565b61133881611324565b82525050565b5f6020820190506113515f83018461132f565b92915050565b5f81519050919050565b5f82825260208201905092915050565b5f5b8381101561138e578082015181840152602081019050611373565b5f8484015250505050565b5f601f19601f8301169050919050565b5f6113b382611357565b6113bd8185611361565b93506113cd818560208601611371565b6113d681611399565b840191505092915050565b5f6020820190508181035f8301526113f981846113a9565b905092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61142a82611401565b9050919050565b61143a81611420565b8114611444575f80fd5b50565b5f8135905061145581611431565b92915050565b5f819050919050565b61146d8161145b565b8114611477575f80fd5b50565b5f8135905061148881611464565b92915050565b5f80604083850312156114a4576114a36112a0565b5b5f6114b185828601611447565b92505060206114c28582860161147a565b9150509250929050565b6114d58161145b565b82525050565b5f6020820190506114ee5f8301846114cc565b92915050565b5f805f6060848603121561150b5761150a6112a0565b5b5f61151886828701611447565b935050602061152986828701611447565b925050604061153a8682870161147a565b9150509250925092565b5f60ff82169050919050565b61155981611544565b82525050565b5f6020820190506115725f830184611550565b92915050565b5f6020828403121561158d5761158c6112a0565b5b5f61159a84828501611447565b91505092915050565b6115ac81611420565b82525050565b5f6020820190506115c55f8301846115a3565b92915050565b5f80604083850312156115e1576115e06112a0565b5b5f6115ee85828601611447565b92505060206115ff85828601611447565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061164d57607f821691505b6020821081036116605761165f611609565b5b50919050565b7f45524332303a2063616c6c6572206973206e6f742074686520636861696e00005f82015250565b5f61169a601e83611361565b91506116a582611666565b602082019050919050565b5f6020820190508181035f8301526116c78161168e565b9050919050565b6116d781611324565b81146116e1575f80fd5b50565b5f815190506116f2816116ce565b92915050565b5f6020828403121561170d5761170c6112a0565b5b5f61171a848285016116e4565b91505092915050565b7f45524332303a207472616e7366657220746f20626c6f636b65642061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f61177d602283611361565b915061178882611723565b604082019050919050565b5f6020820190508181035f8301526117aa81611771565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6117e88261145b565b91506117f38361145b565b925082820390508181111561180b5761180a6117b1565b5b92915050565b7f45524332303a206d696e7420746f20626c6f636b6564206164647265737300005f82015250565b5f611845601e83611361565b915061185082611811565b602082019050919050565b5f6020820190508181035f83015261187281611839565b9050919050565b7f45524332303a206275726e2066726f6d206d6f64756c652061646472657373005f82015250565b5f6118ad601f83611361565b91506118b882611879565b602082019050919050565b5f6020820190508181035f8301526118da816118a1565b9050919050565b5f6118eb8261145b565b91506118f68361145b565b925082820190508082111561190e5761190d6117b1565b5b9291505056fea264697066735822122092a15d9b61c6a6de22122c9c81d375bc99e3984e299e75efa4ffe4653b8ae00d64736f6c63430008180033", + Bin: "0x608060405234801561000f575f80fd5b50604051611ed6380380611ed683398181016040528101906100319190610235565b335f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550826003908161007f91906104ca565b50816004908161008f91906104ca565b508060055f6101000a81548160ff021916908360ff160217905550505050610599565b5f604051905090565b5f80fd5b5f80fd5b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b610111826100cb565b810181811067ffffffffffffffff821117156101305761012f6100db565b5b80604052505050565b5f6101426100b2565b905061014e8282610108565b919050565b5f67ffffffffffffffff82111561016d5761016c6100db565b5b610176826100cb565b9050602081019050919050565b8281835e5f83830152505050565b5f6101a361019e84610153565b610139565b9050828152602081018484840111156101bf576101be6100c7565b5b6101ca848285610183565b509392505050565b5f82601f8301126101e6576101e56100c3565b5b81516101f6848260208601610191565b91505092915050565b5f60ff82169050919050565b610214816101ff565b811461021e575f80fd5b50565b5f8151905061022f8161020b565b92915050565b5f805f6060848603121561024c5761024b6100bb565b5b5f84015167ffffffffffffffff811115610269576102686100bf565b5b610275868287016101d2565b935050602084015167ffffffffffffffff811115610296576102956100bf565b5b6102a2868287016101d2565b92505060406102b386828701610221565b9150509250925092565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061030b57607f821691505b60208210810361031e5761031d6102c7565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026103807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610345565b61038a8683610345565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f6103ce6103c96103c4846103a2565b6103ab565b6103a2565b9050919050565b5f819050919050565b6103e7836103b4565b6103fb6103f3826103d5565b848454610351565b825550505050565b5f90565b61040f610403565b61041a8184846103de565b505050565b5b8181101561043d576104325f82610407565b600181019050610420565b5050565b601f8211156104825761045381610324565b61045c84610336565b8101602085101561046b578190505b61047f61047785610336565b83018261041f565b50505b505050565b5f82821c905092915050565b5f6104a25f1984600802610487565b1980831691505092915050565b5f6104ba8383610493565b9150826002028217905092915050565b6104d3826102bd565b67ffffffffffffffff8111156104ec576104eb6100db565b5b6104f682546102f4565b610501828285610441565b5f60209050601f831160018114610532575f8415610520578287015190505b61052a85826104af565b865550610591565b601f19841661054086610324565b5f5b8281101561056757848901518255600182019150602085019450602081019050610542565b868310156105845784890151610580601f891682610493565b8355505b6001600288020188555050505b505050505050565b611930806105a65f395ff3fe608060405234801561000f575f80fd5b5060043610610109575f3560e01c806340c10f19116100a05780639dc29fac1161006f5780639dc29fac146102b7578063a9059cbb146102d3578063dd62ed3e14610303578063f2fde38b14610333578063fe1195ec1461034f57610109565b806340c10f191461022f57806370a082311461024b5780638da5cb5b1461027b57806395d89b411461029957610109565b80631988513b116100dc5780631988513b146101a957806323b872dd146101c55780632d688ca8146101f5578063313ce5671461021157610109565b806301ffc9a71461010d57806306fdde031461013d578063095ea7b31461015b57806318160ddd1461018b575b5f80fd5b610127600480360381019061012291906112f9565b61036b565b604051610134919061133e565b60405180910390f35b6101456103e4565b60405161015291906113c7565b60405180910390f35b61017560048036038101906101709190611474565b610470565b604051610182919061133e565b60405180910390f35b61019361055d565b6040516101a091906114c1565b60405180910390f35b6101c360048036038101906101be91906114da565b610563565b005b6101df60048036038101906101da91906114da565b6105e2565b6040516101ec919061133e565b60405180910390f35b61020f600480360381019061020a9190611474565b610742565b005b6102196107bf565b6040516102269190611545565b60405180910390f35b61024960048036038101906102449190611474565b6107d1565b005b6102656004803603810190610260919061155e565b6108f0565b60405161027291906114c1565b60405180910390f35b610283610905565b6040516102909190611598565b60405180910390f35b6102a1610928565b6040516102ae91906113c7565b60405180910390f35b6102d160048036038101906102cc9190611474565b6109b4565b005b6102ed60048036038101906102e89190611474565b610ad3565b6040516102fa919061133e565b60405180910390f35b61031d600480360381019061031891906115b1565b610ba4565b60405161032a91906114c1565b60405180910390f35b61034d6004803603810190610348919061155e565b610bc4565b005b61036960048036038101906103649190611474565b610d0c565b005b5f7f8da6da19000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806103dd57506103dc82610d89565b5b9050919050565b600380546103f19061161c565b80601f016020809104026020016040519081016040528092919081815260200182805461041d9061161c565b80156104685780601f1061043f57610100808354040283529160200191610468565b820191905f5260205f20905b81548152906001019060200180831161044b57829003601f168201915b505050505081565b5f8160025f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161054b91906114c1565b60405180910390a36001905092915050565b60065481565b600173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146105d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105c990611696565b60405180910390fd5b6105dd838383610df2565b505050565b5f8260f173ffffffffffffffffffffffffffffffffffffffff1663f2af9ac9826040518263ffffffff1660e01b815260040161061e9190611598565b602060405180830381865afa158015610639573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061065d91906116de565b1561069d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161069490611779565b60405180910390fd5b8260025f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825461072491906117c4565b92505081905550610736858585610df2565b60019150509392505050565b600173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146107b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107a890611696565b60405180910390fd5b6107bb8282610ffd565b5050565b60055f9054906101000a900460ff1681565b8160f173ffffffffffffffffffffffffffffffffffffffff1663f2af9ac9826040518263ffffffff1660e01b815260040161080c9190611598565b602060405180830381865afa158015610827573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061084b91906116de565b1561088b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161088290611841565b60405180910390fd5b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146108e1575f80fd5b6108eb8383610ffd565b505050565b6001602052805f5260405f205f915090505481565b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600480546109359061161c565b80601f01602080910402602001604051908101604052809291908181526020018280546109619061161c565b80156109ac5780601f10610983576101008083540402835291602001916109ac565b820191905f5260205f20905b81548152906001019060200180831161098f57829003601f168201915b505050505081565b8160f173ffffffffffffffffffffffffffffffffffffffff166360dc402f826040518263ffffffff1660e01b81526004016109ef9190611598565b602060405180830381865afa158015610a0a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a2e91906116de565b15610a6e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a65906118a9565b60405180910390fd5b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610ac4575f80fd5b610ace83836111cc565b505050565b5f8260f173ffffffffffffffffffffffffffffffffffffffff1663f2af9ac9826040518263ffffffff1660e01b8152600401610b0f9190611598565b602060405180830381865afa158015610b2a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b4e91906116de565b15610b8e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b8590611779565b60405180910390fd5b610b99338585610df2565b600191505092915050565b6002602052815f5260405f20602052805f5260405f205f91509150505481565b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610c1a575f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610c51575f80fd5b8073ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610d7b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d7290611696565b60405180910390fd5b610d8582826111cc565b5050565b5f7f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b8160f273ffffffffffffffffffffffffffffffffffffffff16634e25ab64826040518263ffffffff1660e01b8152600401610e2d9190611598565b602060405180830381865afa158015610e48573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e6c91906116de565b610eec5760f273ffffffffffffffffffffffffffffffffffffffff1663ceeae52a826040518263ffffffff1660e01b8152600401610eaa9190611598565b6020604051808303815f875af1158015610ec6573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610eea91906116de565b505b8160015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254610f3891906117c4565b925050819055508160015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254610f8b91906118c7565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610fef91906114c1565b60405180910390a350505050565b8160f273ffffffffffffffffffffffffffffffffffffffff16634e25ab64826040518263ffffffff1660e01b81526004016110389190611598565b602060405180830381865afa158015611053573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061107791906116de565b6110f75760f273ffffffffffffffffffffffffffffffffffffffff1663ceeae52a826040518263ffffffff1660e01b81526004016110b59190611598565b6020604051808303815f875af11580156110d1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110f591906116de565b505b8160015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825461114391906118c7565b925050819055508160065f82825461115b91906118c7565b925050819055508273ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516111bf91906114c1565b60405180910390a3505050565b8060015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825461121891906117c4565b925050819055508060065f82825461123091906117c4565b925050819055505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161129491906114c1565b60405180910390a35050565b5f80fd5b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6112d8816112a4565b81146112e2575f80fd5b50565b5f813590506112f3816112cf565b92915050565b5f6020828403121561130e5761130d6112a0565b5b5f61131b848285016112e5565b91505092915050565b5f8115159050919050565b61133881611324565b82525050565b5f6020820190506113515f83018461132f565b92915050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f61139982611357565b6113a38185611361565b93506113b3818560208601611371565b6113bc8161137f565b840191505092915050565b5f6020820190508181035f8301526113df818461138f565b905092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611410826113e7565b9050919050565b61142081611406565b811461142a575f80fd5b50565b5f8135905061143b81611417565b92915050565b5f819050919050565b61145381611441565b811461145d575f80fd5b50565b5f8135905061146e8161144a565b92915050565b5f806040838503121561148a576114896112a0565b5b5f6114978582860161142d565b92505060206114a885828601611460565b9150509250929050565b6114bb81611441565b82525050565b5f6020820190506114d45f8301846114b2565b92915050565b5f805f606084860312156114f1576114f06112a0565b5b5f6114fe8682870161142d565b935050602061150f8682870161142d565b925050604061152086828701611460565b9150509250925092565b5f60ff82169050919050565b61153f8161152a565b82525050565b5f6020820190506115585f830184611536565b92915050565b5f60208284031215611573576115726112a0565b5b5f6115808482850161142d565b91505092915050565b61159281611406565b82525050565b5f6020820190506115ab5f830184611589565b92915050565b5f80604083850312156115c7576115c66112a0565b5b5f6115d48582860161142d565b92505060206115e58582860161142d565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061163357607f821691505b602082108103611646576116456115ef565b5b50919050565b7f45524332303a2063616c6c6572206973206e6f742074686520636861696e00005f82015250565b5f611680601e83611361565b915061168b8261164c565b602082019050919050565b5f6020820190508181035f8301526116ad81611674565b9050919050565b6116bd81611324565b81146116c7575f80fd5b50565b5f815190506116d8816116b4565b92915050565b5f602082840312156116f3576116f26112a0565b5b5f611700848285016116ca565b91505092915050565b7f45524332303a207472616e7366657220746f20626c6f636b65642061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f611763602283611361565b915061176e82611709565b604082019050919050565b5f6020820190508181035f83015261179081611757565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6117ce82611441565b91506117d983611441565b92508282039050818111156117f1576117f0611797565b5b92915050565b7f45524332303a206d696e7420746f20626c6f636b6564206164647265737300005f82015250565b5f61182b601e83611361565b9150611836826117f7565b602082019050919050565b5f6020820190508181035f8301526118588161181f565b9050919050565b7f45524332303a206275726e2066726f6d206d6f64756c652061646472657373005f82015250565b5f611893601f83611361565b915061189e8261185f565b602082019050919050565b5f6020820190508181035f8301526118c081611887565b9050919050565b5f6118d182611441565b91506118dc83611441565b92508282019050808211156118f4576118f3611797565b5b9291505056fea26469706673582212202ecbf86b2c4af879b6b03df2543e43867bad0b2c35073d2f1c1c6040fed0b45964736f6c63430008190033", } // Erc20ABI is the input ABI used to generate the binding from. diff --git a/x/evm/contracts/erc20_acl/ERC20ACL.go b/x/evm/contracts/erc20_acl/ERC20ACL.go index 7880a08..c25e20d 100644 --- a/x/evm/contracts/erc20_acl/ERC20ACL.go +++ b/x/evm/contracts/erc20_acl/ERC20ACL.go @@ -32,7 +32,7 @@ var ( // Erc20AclMetaData contains all meta data concerning the Erc20Acl contract. var Erc20AclMetaData = &bind.MetaData{ ABI: "[]", - Bin: "0x6080604052348015600e575f80fd5b50603e80601a5f395ff3fe60806040525f80fdfea264697066735822122097f44a6309abb239e19ee1005989fb200d740afc2223e4d6c0fb82a45f806dec64736f6c63430008180033", + Bin: "0x6080604052348015600e575f80fd5b50603e80601a5f395ff3fe60806040525f80fdfea264697066735822122018ff410c588901015b527675899bf6d0dbbef805018f514671de073baa3f14cb64736f6c63430008190033", } // Erc20AclABI is the input ABI used to generate the binding from. diff --git a/x/evm/contracts/erc20_factory/ERC20Factory.go b/x/evm/contracts/erc20_factory/ERC20Factory.go index 234e282..29b2a93 100644 --- a/x/evm/contracts/erc20_factory/ERC20Factory.go +++ b/x/evm/contracts/erc20_factory/ERC20Factory.go @@ -32,7 +32,7 @@ var ( // Erc20FactoryMetaData contains all meta data concerning the Erc20Factory contract. var Erc20FactoryMetaData = &bind.MetaData{ ABI: "[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"erc20\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"ERC20Created\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"}],\"name\":\"createERC20\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]", - Bin: "0x608060405234801561000f575f80fd5b5061259e8061001d5f395ff3fe608060405234801562000010575f80fd5b50600436106200002c575f3560e01c806306ef1a861462000030575b5f80fd5b6200004e6004803603810190620000489190620003a5565b62000066565b6040516200005d91906200047f565b60405180910390f35b5f808484846040516200007990620001f3565b62000087939291906200052f565b604051809103905ff080158015620000a1573d5f803e3d5ffd5b50905060f273ffffffffffffffffffffffffffffffffffffffff1663d126274a826040518263ffffffff1660e01b8152600401620000e091906200047f565b6020604051808303815f875af1158015620000fd573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620001239190620005b2565b508073ffffffffffffffffffffffffffffffffffffffff1663f2fde38b336040518263ffffffff1660e01b81526004016200015f91906200047f565b5f604051808303815f87803b15801562000177575f80fd5b505af11580156200018a573d5f803e3d5ffd5b505050503373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f85e892981b234101136bc30081e0a5c44345bebc0940193230c20a43b279e2d160405160405180910390a3809150509392505050565b611f8680620005e383390190565b5f604051905090565b5f80fd5b5f80fd5b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b62000262826200021a565b810181811067ffffffffffffffff821117156200028457620002836200022a565b5b80604052505050565b5f6200029862000201565b9050620002a6828262000257565b919050565b5f67ffffffffffffffff821115620002c857620002c76200022a565b5b620002d3826200021a565b9050602081019050919050565b828183375f83830152505050565b5f62000304620002fe84620002ab565b6200028d565b90508281526020810184848401111562000323576200032262000216565b5b62000330848285620002e0565b509392505050565b5f82601f8301126200034f576200034e62000212565b5b813562000361848260208601620002ee565b91505092915050565b5f60ff82169050919050565b62000381816200036a565b81146200038c575f80fd5b50565b5f813590506200039f8162000376565b92915050565b5f805f60608486031215620003bf57620003be6200020a565b5b5f84013567ffffffffffffffff811115620003df57620003de6200020e565b5b620003ed8682870162000338565b935050602084013567ffffffffffffffff8111156200041157620004106200020e565b5b6200041f8682870162000338565b925050604062000432868287016200038f565b9150509250925092565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f62000467826200043c565b9050919050565b62000479816200045b565b82525050565b5f602082019050620004945f8301846200046e565b92915050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015620004d3578082015181840152602081019050620004b6565b5f8484015250505050565b5f620004ea826200049a565b620004f68185620004a4565b935062000508818560208601620004b4565b62000513816200021a565b840191505092915050565b62000529816200036a565b82525050565b5f6060820190508181035f830152620005498186620004de565b905081810360208301526200055f8185620004de565b90506200057060408301846200051e565b949350505050565b5f8115159050919050565b6200058e8162000578565b811462000599575f80fd5b50565b5f81519050620005ac8162000583565b92915050565b5f60208284031215620005ca57620005c96200020a565b5b5f620005d9848285016200059c565b9150509291505056fe608060405234801562000010575f80fd5b5060405162001f8638038062001f8683398181016040528101906200003691906200027c565b335f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082600390816200008691906200054a565b5081600490816200009891906200054a565b508060055f6101000a81548160ff021916908360ff1602179055505050506200062e565b5f604051905090565b5f80fd5b5f80fd5b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6200011d82620000d5565b810181811067ffffffffffffffff821117156200013f576200013e620000e5565b5b80604052505050565b5f62000153620000bc565b905062000161828262000112565b919050565b5f67ffffffffffffffff821115620001835762000182620000e5565b5b6200018e82620000d5565b9050602081019050919050565b5f5b83811015620001ba5780820151818401526020810190506200019d565b5f8484015250505050565b5f620001db620001d58462000166565b62000148565b905082815260208101848484011115620001fa57620001f9620000d1565b5b620002078482856200019b565b509392505050565b5f82601f830112620002265762000225620000cd565b5b815162000238848260208601620001c5565b91505092915050565b5f60ff82169050919050565b620002588162000241565b811462000263575f80fd5b50565b5f8151905062000276816200024d565b92915050565b5f805f60608486031215620002965762000295620000c5565b5b5f84015167ffffffffffffffff811115620002b657620002b5620000c9565b5b620002c4868287016200020f565b935050602084015167ffffffffffffffff811115620002e857620002e7620000c9565b5b620002f6868287016200020f565b9250506040620003098682870162000266565b9150509250925092565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806200036257607f821691505b6020821081036200037857620003776200031d565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302620003dc7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826200039f565b620003e886836200039f565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f620004326200042c620004268462000400565b62000409565b62000400565b9050919050565b5f819050919050565b6200044d8362000412565b620004656200045c8262000439565b848454620003ab565b825550505050565b5f90565b6200047b6200046d565b6200048881848462000442565b505050565b5b81811015620004af57620004a35f8262000471565b6001810190506200048e565b5050565b601f821115620004fe57620004c8816200037e565b620004d38462000390565b81016020851015620004e3578190505b620004fb620004f28562000390565b8301826200048d565b50505b505050565b5f82821c905092915050565b5f620005205f198460080262000503565b1980831691505092915050565b5f6200053a83836200050f565b9150826002028217905092915050565b620005558262000313565b67ffffffffffffffff811115620005715762000570620000e5565b5b6200057d82546200034a565b6200058a828285620004b3565b5f60209050601f831160018114620005c0575f8415620005ab578287015190505b620005b785826200052d565b86555062000626565b601f198416620005d0866200037e565b5f5b82811015620005f957848901518255600182019150602085019450602081019050620005d2565b8683101562000619578489015162000615601f8916826200050f565b8355505b6001600288020188555050505b505050505050565b61194a806200063c5f395ff3fe608060405234801561000f575f80fd5b5060043610610109575f3560e01c806340c10f19116100a05780639dc29fac1161006f5780639dc29fac146102b7578063a9059cbb146102d3578063dd62ed3e14610303578063f2fde38b14610333578063fe1195ec1461034f57610109565b806340c10f191461022f57806370a082311461024b5780638da5cb5b1461027b57806395d89b411461029957610109565b80631988513b116100dc5780631988513b146101a957806323b872dd146101c55780632d688ca8146101f5578063313ce5671461021157610109565b806301ffc9a71461010d57806306fdde031461013d578063095ea7b31461015b57806318160ddd1461018b575b5f80fd5b610127600480360381019061012291906112f9565b61036b565b604051610134919061133e565b60405180910390f35b6101456103e4565b60405161015291906113e1565b60405180910390f35b6101756004803603810190610170919061148e565b610470565b604051610182919061133e565b60405180910390f35b61019361055d565b6040516101a091906114db565b60405180910390f35b6101c360048036038101906101be91906114f4565b610563565b005b6101df60048036038101906101da91906114f4565b6105e2565b6040516101ec919061133e565b60405180910390f35b61020f600480360381019061020a919061148e565b610742565b005b6102196107bf565b604051610226919061155f565b60405180910390f35b6102496004803603810190610244919061148e565b6107d1565b005b61026560048036038101906102609190611578565b6108f0565b60405161027291906114db565b60405180910390f35b610283610905565b60405161029091906115b2565b60405180910390f35b6102a1610928565b6040516102ae91906113e1565b60405180910390f35b6102d160048036038101906102cc919061148e565b6109b4565b005b6102ed60048036038101906102e8919061148e565b610ad3565b6040516102fa919061133e565b60405180910390f35b61031d600480360381019061031891906115cb565b610ba4565b60405161032a91906114db565b60405180910390f35b61034d60048036038101906103489190611578565b610bc4565b005b6103696004803603810190610364919061148e565b610d0c565b005b5f7f8da6da19000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806103dd57506103dc82610d89565b5b9050919050565b600380546103f190611636565b80601f016020809104026020016040519081016040528092919081815260200182805461041d90611636565b80156104685780601f1061043f57610100808354040283529160200191610468565b820191905f5260205f20905b81548152906001019060200180831161044b57829003601f168201915b505050505081565b5f8160025f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161054b91906114db565b60405180910390a36001905092915050565b60065481565b600173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146105d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105c9906116b0565b60405180910390fd5b6105dd838383610df2565b505050565b5f8260f173ffffffffffffffffffffffffffffffffffffffff1663f2af9ac9826040518263ffffffff1660e01b815260040161061e91906115b2565b602060405180830381865afa158015610639573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061065d91906116f8565b1561069d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161069490611793565b60405180910390fd5b8260025f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825461072491906117de565b92505081905550610736858585610df2565b60019150509392505050565b600173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146107b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107a8906116b0565b60405180910390fd5b6107bb8282610ffd565b5050565b60055f9054906101000a900460ff1681565b8160f173ffffffffffffffffffffffffffffffffffffffff1663f2af9ac9826040518263ffffffff1660e01b815260040161080c91906115b2565b602060405180830381865afa158015610827573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061084b91906116f8565b1561088b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108829061185b565b60405180910390fd5b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146108e1575f80fd5b6108eb8383610ffd565b505050565b6001602052805f5260405f205f915090505481565b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6004805461093590611636565b80601f016020809104026020016040519081016040528092919081815260200182805461096190611636565b80156109ac5780601f10610983576101008083540402835291602001916109ac565b820191905f5260205f20905b81548152906001019060200180831161098f57829003601f168201915b505050505081565b8160f173ffffffffffffffffffffffffffffffffffffffff166360dc402f826040518263ffffffff1660e01b81526004016109ef91906115b2565b602060405180830381865afa158015610a0a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a2e91906116f8565b15610a6e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a65906118c3565b60405180910390fd5b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610ac4575f80fd5b610ace83836111cc565b505050565b5f8260f173ffffffffffffffffffffffffffffffffffffffff1663f2af9ac9826040518263ffffffff1660e01b8152600401610b0f91906115b2565b602060405180830381865afa158015610b2a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b4e91906116f8565b15610b8e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b8590611793565b60405180910390fd5b610b99338585610df2565b600191505092915050565b6002602052815f5260405f20602052805f5260405f205f91509150505481565b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610c1a575f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610c51575f80fd5b8073ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610d7b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d72906116b0565b60405180910390fd5b610d8582826111cc565b5050565b5f7f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b8160f273ffffffffffffffffffffffffffffffffffffffff16634e25ab64826040518263ffffffff1660e01b8152600401610e2d91906115b2565b602060405180830381865afa158015610e48573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e6c91906116f8565b610eec5760f273ffffffffffffffffffffffffffffffffffffffff1663ceeae52a826040518263ffffffff1660e01b8152600401610eaa91906115b2565b6020604051808303815f875af1158015610ec6573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610eea91906116f8565b505b8160015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254610f3891906117de565b925050819055508160015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254610f8b91906118e1565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610fef91906114db565b60405180910390a350505050565b8160f273ffffffffffffffffffffffffffffffffffffffff16634e25ab64826040518263ffffffff1660e01b815260040161103891906115b2565b602060405180830381865afa158015611053573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061107791906116f8565b6110f75760f273ffffffffffffffffffffffffffffffffffffffff1663ceeae52a826040518263ffffffff1660e01b81526004016110b591906115b2565b6020604051808303815f875af11580156110d1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110f591906116f8565b505b8160015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825461114391906118e1565b925050819055508160065f82825461115b91906118e1565b925050819055508273ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516111bf91906114db565b60405180910390a3505050565b8060015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825461121891906117de565b925050819055508060065f82825461123091906117de565b925050819055505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161129491906114db565b60405180910390a35050565b5f80fd5b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6112d8816112a4565b81146112e2575f80fd5b50565b5f813590506112f3816112cf565b92915050565b5f6020828403121561130e5761130d6112a0565b5b5f61131b848285016112e5565b91505092915050565b5f8115159050919050565b61133881611324565b82525050565b5f6020820190506113515f83018461132f565b92915050565b5f81519050919050565b5f82825260208201905092915050565b5f5b8381101561138e578082015181840152602081019050611373565b5f8484015250505050565b5f601f19601f8301169050919050565b5f6113b382611357565b6113bd8185611361565b93506113cd818560208601611371565b6113d681611399565b840191505092915050565b5f6020820190508181035f8301526113f981846113a9565b905092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61142a82611401565b9050919050565b61143a81611420565b8114611444575f80fd5b50565b5f8135905061145581611431565b92915050565b5f819050919050565b61146d8161145b565b8114611477575f80fd5b50565b5f8135905061148881611464565b92915050565b5f80604083850312156114a4576114a36112a0565b5b5f6114b185828601611447565b92505060206114c28582860161147a565b9150509250929050565b6114d58161145b565b82525050565b5f6020820190506114ee5f8301846114cc565b92915050565b5f805f6060848603121561150b5761150a6112a0565b5b5f61151886828701611447565b935050602061152986828701611447565b925050604061153a8682870161147a565b9150509250925092565b5f60ff82169050919050565b61155981611544565b82525050565b5f6020820190506115725f830184611550565b92915050565b5f6020828403121561158d5761158c6112a0565b5b5f61159a84828501611447565b91505092915050565b6115ac81611420565b82525050565b5f6020820190506115c55f8301846115a3565b92915050565b5f80604083850312156115e1576115e06112a0565b5b5f6115ee85828601611447565b92505060206115ff85828601611447565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061164d57607f821691505b6020821081036116605761165f611609565b5b50919050565b7f45524332303a2063616c6c6572206973206e6f742074686520636861696e00005f82015250565b5f61169a601e83611361565b91506116a582611666565b602082019050919050565b5f6020820190508181035f8301526116c78161168e565b9050919050565b6116d781611324565b81146116e1575f80fd5b50565b5f815190506116f2816116ce565b92915050565b5f6020828403121561170d5761170c6112a0565b5b5f61171a848285016116e4565b91505092915050565b7f45524332303a207472616e7366657220746f20626c6f636b65642061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f61177d602283611361565b915061178882611723565b604082019050919050565b5f6020820190508181035f8301526117aa81611771565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6117e88261145b565b91506117f38361145b565b925082820390508181111561180b5761180a6117b1565b5b92915050565b7f45524332303a206d696e7420746f20626c6f636b6564206164647265737300005f82015250565b5f611845601e83611361565b915061185082611811565b602082019050919050565b5f6020820190508181035f83015261187281611839565b9050919050565b7f45524332303a206275726e2066726f6d206d6f64756c652061646472657373005f82015250565b5f6118ad601f83611361565b91506118b882611879565b602082019050919050565b5f6020820190508181035f8301526118da816118a1565b9050919050565b5f6118eb8261145b565b91506118f68361145b565b925082820190508082111561190e5761190d6117b1565b5b9291505056fea264697066735822122092a15d9b61c6a6de22122c9c81d375bc99e3984e299e75efa4ffe4653b8ae00d64736f6c63430008180033a26469706673582212206b99826e9ebc2324919b3d174bd14ff76ea5b93ccaabee698691b0cfa3c3064964736f6c63430008180033", + Bin: "0x6080604052348015600e575f80fd5b5061246a8061001c5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c806306ef1a861461002d575b5f80fd5b6100476004803603810190610042919061036c565b61005d565b6040516100549190610433565b60405180910390f35b5f8084848460405161006e906101dc565b61007a939291906104bb565b604051809103905ff080158015610093573d5f803e3d5ffd5b50905060f273ffffffffffffffffffffffffffffffffffffffff1663d126274a826040518263ffffffff1660e01b81526004016100d09190610433565b6020604051808303815f875af11580156100ec573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101109190610533565b508073ffffffffffffffffffffffffffffffffffffffff1663f2fde38b336040518263ffffffff1660e01b815260040161014a9190610433565b5f604051808303815f87803b158015610161575f80fd5b505af1158015610173573d5f803e3d5ffd5b505050503373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f85e892981b234101136bc30081e0a5c44345bebc0940193230c20a43b279e2d160405160405180910390a3809150509392505050565b611ed68061055f83390190565b5f604051905090565b5f80fd5b5f80fd5b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b61024882610202565b810181811067ffffffffffffffff8211171561026757610266610212565b5b80604052505050565b5f6102796101e9565b9050610285828261023f565b919050565b5f67ffffffffffffffff8211156102a4576102a3610212565b5b6102ad82610202565b9050602081019050919050565b828183375f83830152505050565b5f6102da6102d58461028a565b610270565b9050828152602081018484840111156102f6576102f56101fe565b5b6103018482856102ba565b509392505050565b5f82601f83011261031d5761031c6101fa565b5b813561032d8482602086016102c8565b91505092915050565b5f60ff82169050919050565b61034b81610336565b8114610355575f80fd5b50565b5f8135905061036681610342565b92915050565b5f805f60608486031215610383576103826101f2565b5b5f84013567ffffffffffffffff8111156103a05761039f6101f6565b5b6103ac86828701610309565b935050602084013567ffffffffffffffff8111156103cd576103cc6101f6565b5b6103d986828701610309565b92505060406103ea86828701610358565b9150509250925092565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61041d826103f4565b9050919050565b61042d81610413565b82525050565b5f6020820190506104465f830184610424565b92915050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f61047e8261044c565b6104888185610456565b9350610498818560208601610466565b6104a181610202565b840191505092915050565b6104b581610336565b82525050565b5f6060820190508181035f8301526104d38186610474565b905081810360208301526104e78185610474565b90506104f660408301846104ac565b949350505050565b5f8115159050919050565b610512816104fe565b811461051c575f80fd5b50565b5f8151905061052d81610509565b92915050565b5f60208284031215610548576105476101f2565b5b5f6105558482850161051f565b9150509291505056fe608060405234801561000f575f80fd5b50604051611ed6380380611ed683398181016040528101906100319190610235565b335f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550826003908161007f91906104ca565b50816004908161008f91906104ca565b508060055f6101000a81548160ff021916908360ff160217905550505050610599565b5f604051905090565b5f80fd5b5f80fd5b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b610111826100cb565b810181811067ffffffffffffffff821117156101305761012f6100db565b5b80604052505050565b5f6101426100b2565b905061014e8282610108565b919050565b5f67ffffffffffffffff82111561016d5761016c6100db565b5b610176826100cb565b9050602081019050919050565b8281835e5f83830152505050565b5f6101a361019e84610153565b610139565b9050828152602081018484840111156101bf576101be6100c7565b5b6101ca848285610183565b509392505050565b5f82601f8301126101e6576101e56100c3565b5b81516101f6848260208601610191565b91505092915050565b5f60ff82169050919050565b610214816101ff565b811461021e575f80fd5b50565b5f8151905061022f8161020b565b92915050565b5f805f6060848603121561024c5761024b6100bb565b5b5f84015167ffffffffffffffff811115610269576102686100bf565b5b610275868287016101d2565b935050602084015167ffffffffffffffff811115610296576102956100bf565b5b6102a2868287016101d2565b92505060406102b386828701610221565b9150509250925092565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061030b57607f821691505b60208210810361031e5761031d6102c7565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026103807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610345565b61038a8683610345565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f6103ce6103c96103c4846103a2565b6103ab565b6103a2565b9050919050565b5f819050919050565b6103e7836103b4565b6103fb6103f3826103d5565b848454610351565b825550505050565b5f90565b61040f610403565b61041a8184846103de565b505050565b5b8181101561043d576104325f82610407565b600181019050610420565b5050565b601f8211156104825761045381610324565b61045c84610336565b8101602085101561046b578190505b61047f61047785610336565b83018261041f565b50505b505050565b5f82821c905092915050565b5f6104a25f1984600802610487565b1980831691505092915050565b5f6104ba8383610493565b9150826002028217905092915050565b6104d3826102bd565b67ffffffffffffffff8111156104ec576104eb6100db565b5b6104f682546102f4565b610501828285610441565b5f60209050601f831160018114610532575f8415610520578287015190505b61052a85826104af565b865550610591565b601f19841661054086610324565b5f5b8281101561056757848901518255600182019150602085019450602081019050610542565b868310156105845784890151610580601f891682610493565b8355505b6001600288020188555050505b505050505050565b611930806105a65f395ff3fe608060405234801561000f575f80fd5b5060043610610109575f3560e01c806340c10f19116100a05780639dc29fac1161006f5780639dc29fac146102b7578063a9059cbb146102d3578063dd62ed3e14610303578063f2fde38b14610333578063fe1195ec1461034f57610109565b806340c10f191461022f57806370a082311461024b5780638da5cb5b1461027b57806395d89b411461029957610109565b80631988513b116100dc5780631988513b146101a957806323b872dd146101c55780632d688ca8146101f5578063313ce5671461021157610109565b806301ffc9a71461010d57806306fdde031461013d578063095ea7b31461015b57806318160ddd1461018b575b5f80fd5b610127600480360381019061012291906112f9565b61036b565b604051610134919061133e565b60405180910390f35b6101456103e4565b60405161015291906113c7565b60405180910390f35b61017560048036038101906101709190611474565b610470565b604051610182919061133e565b60405180910390f35b61019361055d565b6040516101a091906114c1565b60405180910390f35b6101c360048036038101906101be91906114da565b610563565b005b6101df60048036038101906101da91906114da565b6105e2565b6040516101ec919061133e565b60405180910390f35b61020f600480360381019061020a9190611474565b610742565b005b6102196107bf565b6040516102269190611545565b60405180910390f35b61024960048036038101906102449190611474565b6107d1565b005b6102656004803603810190610260919061155e565b6108f0565b60405161027291906114c1565b60405180910390f35b610283610905565b6040516102909190611598565b60405180910390f35b6102a1610928565b6040516102ae91906113c7565b60405180910390f35b6102d160048036038101906102cc9190611474565b6109b4565b005b6102ed60048036038101906102e89190611474565b610ad3565b6040516102fa919061133e565b60405180910390f35b61031d600480360381019061031891906115b1565b610ba4565b60405161032a91906114c1565b60405180910390f35b61034d6004803603810190610348919061155e565b610bc4565b005b61036960048036038101906103649190611474565b610d0c565b005b5f7f8da6da19000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806103dd57506103dc82610d89565b5b9050919050565b600380546103f19061161c565b80601f016020809104026020016040519081016040528092919081815260200182805461041d9061161c565b80156104685780601f1061043f57610100808354040283529160200191610468565b820191905f5260205f20905b81548152906001019060200180831161044b57829003601f168201915b505050505081565b5f8160025f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161054b91906114c1565b60405180910390a36001905092915050565b60065481565b600173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146105d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105c990611696565b60405180910390fd5b6105dd838383610df2565b505050565b5f8260f173ffffffffffffffffffffffffffffffffffffffff1663f2af9ac9826040518263ffffffff1660e01b815260040161061e9190611598565b602060405180830381865afa158015610639573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061065d91906116de565b1561069d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161069490611779565b60405180910390fd5b8260025f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825461072491906117c4565b92505081905550610736858585610df2565b60019150509392505050565b600173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146107b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107a890611696565b60405180910390fd5b6107bb8282610ffd565b5050565b60055f9054906101000a900460ff1681565b8160f173ffffffffffffffffffffffffffffffffffffffff1663f2af9ac9826040518263ffffffff1660e01b815260040161080c9190611598565b602060405180830381865afa158015610827573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061084b91906116de565b1561088b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161088290611841565b60405180910390fd5b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146108e1575f80fd5b6108eb8383610ffd565b505050565b6001602052805f5260405f205f915090505481565b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600480546109359061161c565b80601f01602080910402602001604051908101604052809291908181526020018280546109619061161c565b80156109ac5780601f10610983576101008083540402835291602001916109ac565b820191905f5260205f20905b81548152906001019060200180831161098f57829003601f168201915b505050505081565b8160f173ffffffffffffffffffffffffffffffffffffffff166360dc402f826040518263ffffffff1660e01b81526004016109ef9190611598565b602060405180830381865afa158015610a0a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a2e91906116de565b15610a6e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a65906118a9565b60405180910390fd5b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610ac4575f80fd5b610ace83836111cc565b505050565b5f8260f173ffffffffffffffffffffffffffffffffffffffff1663f2af9ac9826040518263ffffffff1660e01b8152600401610b0f9190611598565b602060405180830381865afa158015610b2a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b4e91906116de565b15610b8e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b8590611779565b60405180910390fd5b610b99338585610df2565b600191505092915050565b6002602052815f5260405f20602052805f5260405f205f91509150505481565b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610c1a575f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610c51575f80fd5b8073ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610d7b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d7290611696565b60405180910390fd5b610d8582826111cc565b5050565b5f7f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b8160f273ffffffffffffffffffffffffffffffffffffffff16634e25ab64826040518263ffffffff1660e01b8152600401610e2d9190611598565b602060405180830381865afa158015610e48573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e6c91906116de565b610eec5760f273ffffffffffffffffffffffffffffffffffffffff1663ceeae52a826040518263ffffffff1660e01b8152600401610eaa9190611598565b6020604051808303815f875af1158015610ec6573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610eea91906116de565b505b8160015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254610f3891906117c4565b925050819055508160015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254610f8b91906118c7565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610fef91906114c1565b60405180910390a350505050565b8160f273ffffffffffffffffffffffffffffffffffffffff16634e25ab64826040518263ffffffff1660e01b81526004016110389190611598565b602060405180830381865afa158015611053573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061107791906116de565b6110f75760f273ffffffffffffffffffffffffffffffffffffffff1663ceeae52a826040518263ffffffff1660e01b81526004016110b59190611598565b6020604051808303815f875af11580156110d1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110f591906116de565b505b8160015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825461114391906118c7565b925050819055508160065f82825461115b91906118c7565b925050819055508273ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516111bf91906114c1565b60405180910390a3505050565b8060015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825461121891906117c4565b925050819055508060065f82825461123091906117c4565b925050819055505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161129491906114c1565b60405180910390a35050565b5f80fd5b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6112d8816112a4565b81146112e2575f80fd5b50565b5f813590506112f3816112cf565b92915050565b5f6020828403121561130e5761130d6112a0565b5b5f61131b848285016112e5565b91505092915050565b5f8115159050919050565b61133881611324565b82525050565b5f6020820190506113515f83018461132f565b92915050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f61139982611357565b6113a38185611361565b93506113b3818560208601611371565b6113bc8161137f565b840191505092915050565b5f6020820190508181035f8301526113df818461138f565b905092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611410826113e7565b9050919050565b61142081611406565b811461142a575f80fd5b50565b5f8135905061143b81611417565b92915050565b5f819050919050565b61145381611441565b811461145d575f80fd5b50565b5f8135905061146e8161144a565b92915050565b5f806040838503121561148a576114896112a0565b5b5f6114978582860161142d565b92505060206114a885828601611460565b9150509250929050565b6114bb81611441565b82525050565b5f6020820190506114d45f8301846114b2565b92915050565b5f805f606084860312156114f1576114f06112a0565b5b5f6114fe8682870161142d565b935050602061150f8682870161142d565b925050604061152086828701611460565b9150509250925092565b5f60ff82169050919050565b61153f8161152a565b82525050565b5f6020820190506115585f830184611536565b92915050565b5f60208284031215611573576115726112a0565b5b5f6115808482850161142d565b91505092915050565b61159281611406565b82525050565b5f6020820190506115ab5f830184611589565b92915050565b5f80604083850312156115c7576115c66112a0565b5b5f6115d48582860161142d565b92505060206115e58582860161142d565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061163357607f821691505b602082108103611646576116456115ef565b5b50919050565b7f45524332303a2063616c6c6572206973206e6f742074686520636861696e00005f82015250565b5f611680601e83611361565b915061168b8261164c565b602082019050919050565b5f6020820190508181035f8301526116ad81611674565b9050919050565b6116bd81611324565b81146116c7575f80fd5b50565b5f815190506116d8816116b4565b92915050565b5f602082840312156116f3576116f26112a0565b5b5f611700848285016116ca565b91505092915050565b7f45524332303a207472616e7366657220746f20626c6f636b65642061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f611763602283611361565b915061176e82611709565b604082019050919050565b5f6020820190508181035f83015261179081611757565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6117ce82611441565b91506117d983611441565b92508282039050818111156117f1576117f0611797565b5b92915050565b7f45524332303a206d696e7420746f20626c6f636b6564206164647265737300005f82015250565b5f61182b601e83611361565b9150611836826117f7565b602082019050919050565b5f6020820190508181035f8301526118588161181f565b9050919050565b7f45524332303a206275726e2066726f6d206d6f64756c652061646472657373005f82015250565b5f611893601f83611361565b915061189e8261185f565b602082019050919050565b5f6020820190508181035f8301526118c081611887565b9050919050565b5f6118d182611441565b91506118dc83611441565b92508282019050808211156118f4576118f3611797565b5b9291505056fea26469706673582212202ecbf86b2c4af879b6b03df2543e43867bad0b2c35073d2f1c1c6040fed0b45964736f6c63430008190033a2646970667358221220881fbd2769e37dcaf55624f8582dcccd7164c3d8ae1c918256178a05a0da40ec64736f6c63430008190033", } // Erc20FactoryABI is the input ABI used to generate the binding from. diff --git a/x/evm/contracts/erc20_registry/ERC20Registry.go b/x/evm/contracts/erc20_registry/ERC20Registry.go index aa33a90..9d08bb4 100644 --- a/x/evm/contracts/erc20_registry/ERC20Registry.go +++ b/x/evm/contracts/erc20_registry/ERC20Registry.go @@ -32,7 +32,7 @@ var ( // Erc20RegistryMetaData contains all meta data concerning the Erc20Registry contract. var Erc20RegistryMetaData = &bind.MetaData{ ABI: "[]", - Bin: "0x6080604052348015600e575f80fd5b50603e80601a5f395ff3fe60806040525f80fdfea26469706673582212203334da44d9942138944b21288eb47737e3fa0f320ba83d5b36d61f53ae69101664736f6c63430008180033", + Bin: "0x6080604052348015600e575f80fd5b50603e80601a5f395ff3fe60806040525f80fdfea2646970667358221220846a0e596ee4a14eab170a8eb4fb0be6ec6a029c6b3b840ffb95a0852d87fc1964736f6c63430008190033", } // Erc20RegistryABI is the input ABI used to generate the binding from. diff --git a/x/evm/contracts/ics721_erc721/ICS721ERC721.go b/x/evm/contracts/ics721_erc721/ICS721ERC721.go index f2ab33f..46443e1 100644 --- a/x/evm/contracts/ics721_erc721/ICS721ERC721.go +++ b/x/evm/contracts/ics721_erc721/ICS721ERC721.go @@ -32,7 +32,7 @@ var ( // Ics721Erc721MetaData contains all meta data concerning the Ics721Erc721 contract. var Ics721Erc721MetaData = &bind.MetaData{ ABI: "[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name_\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol_\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"ERC721IncorrectOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ERC721InsufficientApproval\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"approver\",\"type\":\"address\"}],\"name\":\"ERC721InvalidApprover\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"ERC721InvalidOperator\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"ERC721InvalidOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"}],\"name\":\"ERC721InvalidReceiver\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"ERC721InvalidSender\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ERC721NonexistentToken\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"_tokenUri\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_tokenOriginId\",\"type\":\"string\"}],\"name\":\"mint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"_tokenUri\",\"type\":\"string\"}],\"name\":\"mint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenOriginId\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]", - Bin: "0x608060405234801562000010575f80fd5b50604051620029ab380380620029ab83398181016040528101906200003691906200022a565b8181815f9081620000489190620004e4565b5080600190816200005a9190620004e4565b5050503360065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050620005c8565b5f604051905090565b5f80fd5b5f80fd5b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6200010682620000be565b810181811067ffffffffffffffff82111715620001285762000127620000ce565b5b80604052505050565b5f6200013c620000a5565b90506200014a8282620000fb565b919050565b5f67ffffffffffffffff8211156200016c576200016b620000ce565b5b6200017782620000be565b9050602081019050919050565b5f5b83811015620001a357808201518184015260208101905062000186565b5f8484015250505050565b5f620001c4620001be846200014f565b62000131565b905082815260208101848484011115620001e357620001e2620000ba565b5b620001f084828562000184565b509392505050565b5f82601f8301126200020f576200020e620000b6565b5b815162000221848260208601620001ae565b91505092915050565b5f8060408385031215620002435762000242620000ae565b5b5f83015167ffffffffffffffff811115620002635762000262620000b2565b5b6200027185828601620001f8565b925050602083015167ffffffffffffffff811115620002955762000294620000b2565b5b620002a385828601620001f8565b9150509250929050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680620002fc57607f821691505b602082108103620003125762000311620002b7565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302620003767fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000339565b62000382868362000339565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f620003cc620003c6620003c0846200039a565b620003a3565b6200039a565b9050919050565b5f819050919050565b620003e783620003ac565b620003ff620003f682620003d3565b84845462000345565b825550505050565b5f90565b6200041562000407565b62000422818484620003dc565b505050565b5b8181101562000449576200043d5f826200040b565b60018101905062000428565b5050565b601f8211156200049857620004628162000318565b6200046d846200032a565b810160208510156200047d578190505b620004956200048c856200032a565b83018262000427565b50505b505050565b5f82821c905092915050565b5f620004ba5f19846008026200049d565b1980831691505092915050565b5f620004d48383620004a9565b9150826002028217905092915050565b620004ef82620002ad565b67ffffffffffffffff8111156200050b576200050a620000ce565b5b620005178254620002e4565b620005248282856200044d565b5f60209050601f8311600181146200055a575f841562000545578287015190505b620005518582620004c7565b865550620005c0565b601f1984166200056a8662000318565b5f5b8281101562000593578489015182556001820191506020850194506020810190506200056c565b86831015620005b35784890151620005af601f891682620004a9565b8355505b6001600288020188555050505b505050505050565b6123d580620005d65f395ff3fe608060405234801561000f575f80fd5b506004361061011f575f3560e01c80636c8a5e77116100ab578063b88d4fde1161006f578063b88d4fde14610315578063c87b56dd14610331578063d3fc986414610361578063e985e9c51461037d578063f2fde38b146103ad5761011f565b80636c8a5e771461025d57806370a082311461028d5780638da5cb5b146102bd57806395d89b41146102db578063a22cb465146102f95761011f565b806323b872dd116100f257806323b872dd146101bd5780632fb102cf146101d957806342842e0e146101f557806342966c68146102115780636352211e1461022d5761011f565b806301ffc9a71461012357806306fdde0314610153578063081812fc14610171578063095ea7b3146101a1575b5f80fd5b61013d600480360381019061013891906118de565b6103c9565b60405161014a9190611923565b60405180910390f35b61015b6104aa565b60405161016891906119c6565b60405180910390f35b61018b60048036038101906101869190611a19565b610539565b6040516101989190611a83565b60405180910390f35b6101bb60048036038101906101b69190611ac6565b610554565b005b6101d760048036038101906101d29190611b04565b61056a565b005b6101f360048036038101906101ee9190611c80565b610669565b005b61020f600480360381019061020a9190611b04565b61070f565b005b61022b60048036038101906102269190611a19565b61072e565b005b61024760048036038101906102429190611a19565b61079c565b6040516102549190611a83565b60405180910390f35b61027760048036038101906102729190611a19565b6107ad565b60405161028491906119c6565b60405180910390f35b6102a760048036038101906102a29190611d1c565b61084e565b6040516102b49190611d56565b60405180910390f35b6102c5610904565b6040516102d29190611a83565b60405180910390f35b6102e3610929565b6040516102f091906119c6565b60405180910390f35b610313600480360381019061030e9190611d99565b6109b9565b005b61032f600480360381019061032a9190611e75565b6109cf565b005b61034b60048036038101906103469190611a19565b6109f4565b60405161035891906119c6565b60405180910390f35b61037b60048036038101906103769190611ef5565b610a95565b005b61039760048036038101906103929190611f61565b610b0c565b6040516103a49190611923565b60405180910390f35b6103c760048036038101906103c29190611d1c565b610b9a565b005b5f7f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061049357507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806104a357506104a282610ce7565b5b9050919050565b60605f80546104b890611fcc565b80601f01602080910402602001604051908101604052809291908181526020018280546104e490611fcc565b801561052f5780601f106105065761010080835404028352916020019161052f565b820191905f5260205f20905b81548152906001019060200180831161051257829003601f168201915b5050505050905090565b5f61054382610d50565b5061054d82610dd6565b9050919050565b6105668282610561610e0f565b610e16565b5050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036105da575f6040517f64a0ae920000000000000000000000000000000000000000000000000000000081526004016105d19190611a83565b60405180910390fd5b5f6105ed83836105e8610e0f565b610e28565b90508373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610663578382826040517f64283d7b00000000000000000000000000000000000000000000000000000000815260040161065a93929190611ffc565b60405180910390fd5b50505050565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146106c1575f80fd5b6106cb8484611033565b8160075f8581526020019081526020015f2090816106e991906121ce565b508060085f8581526020019081526020015f20908161070891906121ce565b5050505050565b61072983838360405180602001604052805f8152506109cf565b505050565b5f61073882610d50565b9050610745813384611050565b61078f57610751610e0f565b826040517f177e802f00000000000000000000000000000000000000000000000000000000815260040161078692919061229d565b60405180910390fd5b61079882611110565b5050565b5f6107a682610d50565b9050919050565b606060085f8381526020019081526020015f2080546107cb90611fcc565b80601f01602080910402602001604051908101604052809291908181526020018280546107f790611fcc565b80156108425780601f1061081957610100808354040283529160200191610842565b820191905f5260205f20905b81548152906001019060200180831161082557829003601f168201915b50505050509050919050565b5f8073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036108bf575f6040517f89c62b640000000000000000000000000000000000000000000000000000000081526004016108b69190611a83565b60405180910390fd5b60035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60606001805461093890611fcc565b80601f016020809104026020016040519081016040528092919081815260200182805461096490611fcc565b80156109af5780601f10610986576101008083540402835291602001916109af565b820191905f5260205f20905b81548152906001019060200180831161099257829003601f168201915b5050505050905090565b6109cb6109c4610e0f565b8383611192565b5050565b6109da84848461056a565b6109ee6109e5610e0f565b858585856112fb565b50505050565b606060075f8381526020019081526020015f208054610a1290611fcc565b80601f0160208091040260200160405190810160405280929190818152602001828054610a3e90611fcc565b8015610a895780601f10610a6057610100808354040283529160200191610a89565b820191905f5260205f20905b815481529060010190602001808311610a6c57829003601f168201915b50505050509050919050565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610aed575f80fd5b610b0783838360405180602001604052805f815250610669565b505050565b5f60055f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16905092915050565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610bf2575f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610c29575f80fd5b8073ffffffffffffffffffffffffffffffffffffffff1660065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a38060065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f7f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b5f80610d5b836114a7565b90505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610dcd57826040517f7e273289000000000000000000000000000000000000000000000000000000008152600401610dc49190611d56565b60405180910390fd5b80915050919050565b5f60045f8381526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b5f33905090565b610e2383838360016114e0565b505050565b5f80610e33846114a7565b90505f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614610e7457610e7381848661169f565b5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610eff57610eb35f855f806114e0565b600160035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825403925050819055505b5f73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614610f7e57600160035f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055505b8460025f8681526020019081526020015f205f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550838573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4809150509392505050565b61104c828260405180602001604052805f815250611762565b5050565b5f8073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561110757508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614806110c857506110c78484610b0c565b5b8061110657508273ffffffffffffffffffffffffffffffffffffffff166110ee83610dd6565b73ffffffffffffffffffffffffffffffffffffffff16145b5b90509392505050565b5f61111c5f835f610e28565b90505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361118e57816040517f7e2732890000000000000000000000000000000000000000000000000000000081526004016111859190611d56565b60405180910390fd5b5050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361120257816040517f5b08ba180000000000000000000000000000000000000000000000000000000081526004016111f99190611a83565b60405180910390fd5b8060055f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31836040516112ee9190611923565b60405180910390a3505050565b5f8373ffffffffffffffffffffffffffffffffffffffff163b11156114a0578273ffffffffffffffffffffffffffffffffffffffff1663150b7a02868685856040518563ffffffff1660e01b81526004016113599493929190612316565b6020604051808303815f875af192505050801561139457506040513d601f19601f820116820180604052508101906113919190612374565b60015b611415573d805f81146113c2576040519150601f19603f3d011682016040523d82523d5f602084013e6113c7565b606091505b505f81510361140d57836040517f64a0ae920000000000000000000000000000000000000000000000000000000081526004016114049190611a83565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161461149e57836040517f64a0ae920000000000000000000000000000000000000000000000000000000081526004016114959190611a83565b60405180910390fd5b505b5050505050565b5f60025f8381526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b808061151857505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561164a575f61152784610d50565b90505f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561159157508273ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b80156115a457506115a28184610b0c565b155b156115e657826040517fa9fbf51f0000000000000000000000000000000000000000000000000000000081526004016115dd9190611a83565b60405180910390fd5b811561164857838573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45b505b8360045f8581526020019081526020015f205f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050505050565b6116aa838383611050565b61175d575f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361171e57806040517f7e2732890000000000000000000000000000000000000000000000000000000081526004016117159190611d56565b60405180910390fd5b81816040517f177e802f00000000000000000000000000000000000000000000000000000000815260040161175492919061229d565b60405180910390fd5b505050565b61176c8383611785565b611780611777610e0f565b5f8585856112fb565b505050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036117f5575f6040517f64a0ae920000000000000000000000000000000000000000000000000000000081526004016117ec9190611a83565b60405180910390fd5b5f61180183835f610e28565b90505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614611873575f6040517f73c6ac6e00000000000000000000000000000000000000000000000000000000815260040161186a9190611a83565b60405180910390fd5b505050565b5f604051905090565b5f80fd5b5f80fd5b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6118bd81611889565b81146118c7575f80fd5b50565b5f813590506118d8816118b4565b92915050565b5f602082840312156118f3576118f2611881565b5b5f611900848285016118ca565b91505092915050565b5f8115159050919050565b61191d81611909565b82525050565b5f6020820190506119365f830184611914565b92915050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015611973578082015181840152602081019050611958565b5f8484015250505050565b5f601f19601f8301169050919050565b5f6119988261193c565b6119a28185611946565b93506119b2818560208601611956565b6119bb8161197e565b840191505092915050565b5f6020820190508181035f8301526119de818461198e565b905092915050565b5f819050919050565b6119f8816119e6565b8114611a02575f80fd5b50565b5f81359050611a13816119ef565b92915050565b5f60208284031215611a2e57611a2d611881565b5b5f611a3b84828501611a05565b91505092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611a6d82611a44565b9050919050565b611a7d81611a63565b82525050565b5f602082019050611a965f830184611a74565b92915050565b611aa581611a63565b8114611aaf575f80fd5b50565b5f81359050611ac081611a9c565b92915050565b5f8060408385031215611adc57611adb611881565b5b5f611ae985828601611ab2565b9250506020611afa85828601611a05565b9150509250929050565b5f805f60608486031215611b1b57611b1a611881565b5b5f611b2886828701611ab2565b9350506020611b3986828701611ab2565b9250506040611b4a86828701611a05565b9150509250925092565b5f80fd5b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b611b928261197e565b810181811067ffffffffffffffff82111715611bb157611bb0611b5c565b5b80604052505050565b5f611bc3611878565b9050611bcf8282611b89565b919050565b5f67ffffffffffffffff821115611bee57611bed611b5c565b5b611bf78261197e565b9050602081019050919050565b828183375f83830152505050565b5f611c24611c1f84611bd4565b611bba565b905082815260208101848484011115611c4057611c3f611b58565b5b611c4b848285611c04565b509392505050565b5f82601f830112611c6757611c66611b54565b5b8135611c77848260208601611c12565b91505092915050565b5f805f8060808587031215611c9857611c97611881565b5b5f611ca587828801611ab2565b9450506020611cb687828801611a05565b935050604085013567ffffffffffffffff811115611cd757611cd6611885565b5b611ce387828801611c53565b925050606085013567ffffffffffffffff811115611d0457611d03611885565b5b611d1087828801611c53565b91505092959194509250565b5f60208284031215611d3157611d30611881565b5b5f611d3e84828501611ab2565b91505092915050565b611d50816119e6565b82525050565b5f602082019050611d695f830184611d47565b92915050565b611d7881611909565b8114611d82575f80fd5b50565b5f81359050611d9381611d6f565b92915050565b5f8060408385031215611daf57611dae611881565b5b5f611dbc85828601611ab2565b9250506020611dcd85828601611d85565b9150509250929050565b5f67ffffffffffffffff821115611df157611df0611b5c565b5b611dfa8261197e565b9050602081019050919050565b5f611e19611e1484611dd7565b611bba565b905082815260208101848484011115611e3557611e34611b58565b5b611e40848285611c04565b509392505050565b5f82601f830112611e5c57611e5b611b54565b5b8135611e6c848260208601611e07565b91505092915050565b5f805f8060808587031215611e8d57611e8c611881565b5b5f611e9a87828801611ab2565b9450506020611eab87828801611ab2565b9350506040611ebc87828801611a05565b925050606085013567ffffffffffffffff811115611edd57611edc611885565b5b611ee987828801611e48565b91505092959194509250565b5f805f60608486031215611f0c57611f0b611881565b5b5f611f1986828701611ab2565b9350506020611f2a86828701611a05565b925050604084013567ffffffffffffffff811115611f4b57611f4a611885565b5b611f5786828701611c53565b9150509250925092565b5f8060408385031215611f7757611f76611881565b5b5f611f8485828601611ab2565b9250506020611f9585828601611ab2565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680611fe357607f821691505b602082108103611ff657611ff5611f9f565b5b50919050565b5f60608201905061200f5f830186611a74565b61201c6020830185611d47565b6120296040830184611a74565b949350505050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f6008830261208d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82612052565b6120978683612052565b95508019841693508086168417925050509392505050565b5f819050919050565b5f6120d26120cd6120c8846119e6565b6120af565b6119e6565b9050919050565b5f819050919050565b6120eb836120b8565b6120ff6120f7826120d9565b84845461205e565b825550505050565b5f90565b612113612107565b61211e8184846120e2565b505050565b5b81811015612141576121365f8261210b565b600181019050612124565b5050565b601f8211156121865761215781612031565b61216084612043565b8101602085101561216f578190505b61218361217b85612043565b830182612123565b50505b505050565b5f82821c905092915050565b5f6121a65f198460080261218b565b1980831691505092915050565b5f6121be8383612197565b9150826002028217905092915050565b6121d78261193c565b67ffffffffffffffff8111156121f0576121ef611b5c565b5b6121fa8254611fcc565b612205828285612145565b5f60209050601f831160018114612236575f8415612224578287015190505b61222e85826121b3565b865550612295565b601f19841661224486612031565b5f5b8281101561226b57848901518255600182019150602085019450602081019050612246565b868310156122885784890151612284601f891682612197565b8355505b6001600288020188555050505b505050505050565b5f6040820190506122b05f830185611a74565b6122bd6020830184611d47565b9392505050565b5f81519050919050565b5f82825260208201905092915050565b5f6122e8826122c4565b6122f281856122ce565b9350612302818560208601611956565b61230b8161197e565b840191505092915050565b5f6080820190506123295f830187611a74565b6123366020830186611a74565b6123436040830185611d47565b818103606083015261235581846122de565b905095945050505050565b5f8151905061236e816118b4565b92915050565b5f6020828403121561238957612388611881565b5b5f61239684828501612360565b9150509291505056fea26469706673582212207cc5afdb042e85f38f661674372347e93a09868e6857d22a0a49908f7b5a374164736f6c63430008180033", + Bin: "0x608060405234801561000f575f80fd5b50604051612902380380612902833981810160405281019061003191906101e8565b8181815f9081610041919061046b565b508060019081610051919061046b565b5050503360065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505061053a565b5f604051905090565b5f80fd5b5f80fd5b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6100fa826100b4565b810181811067ffffffffffffffff82111715610119576101186100c4565b5b80604052505050565b5f61012b61009b565b905061013782826100f1565b919050565b5f67ffffffffffffffff821115610156576101556100c4565b5b61015f826100b4565b9050602081019050919050565b8281835e5f83830152505050565b5f61018c6101878461013c565b610122565b9050828152602081018484840111156101a8576101a76100b0565b5b6101b384828561016c565b509392505050565b5f82601f8301126101cf576101ce6100ac565b5b81516101df84826020860161017a565b91505092915050565b5f80604083850312156101fe576101fd6100a4565b5b5f83015167ffffffffffffffff81111561021b5761021a6100a8565b5b610227858286016101bb565b925050602083015167ffffffffffffffff811115610248576102476100a8565b5b610254858286016101bb565b9150509250929050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806102ac57607f821691505b6020821081036102bf576102be610268565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026103217fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826102e6565b61032b86836102e6565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f61036f61036a61036584610343565b61034c565b610343565b9050919050565b5f819050919050565b61038883610355565b61039c61039482610376565b8484546102f2565b825550505050565b5f90565b6103b06103a4565b6103bb81848461037f565b505050565b5b818110156103de576103d35f826103a8565b6001810190506103c1565b5050565b601f821115610423576103f4816102c5565b6103fd846102d7565b8101602085101561040c578190505b610420610418856102d7565b8301826103c0565b50505b505050565b5f82821c905092915050565b5f6104435f1984600802610428565b1980831691505092915050565b5f61045b8383610434565b9150826002028217905092915050565b6104748261025e565b67ffffffffffffffff81111561048d5761048c6100c4565b5b6104978254610295565b6104a28282856103e2565b5f60209050601f8311600181146104d3575f84156104c1578287015190505b6104cb8582610450565b865550610532565b601f1984166104e1866102c5565b5f5b82811015610508578489015182556001820191506020850194506020810190506104e3565b868310156105255784890151610521601f891682610434565b8355505b6001600288020188555050505b505050505050565b6123bb806105475f395ff3fe608060405234801561000f575f80fd5b506004361061011f575f3560e01c80636c8a5e77116100ab578063b88d4fde1161006f578063b88d4fde14610315578063c87b56dd14610331578063d3fc986414610361578063e985e9c51461037d578063f2fde38b146103ad5761011f565b80636c8a5e771461025d57806370a082311461028d5780638da5cb5b146102bd57806395d89b41146102db578063a22cb465146102f95761011f565b806323b872dd116100f257806323b872dd146101bd5780632fb102cf146101d957806342842e0e146101f557806342966c68146102115780636352211e1461022d5761011f565b806301ffc9a71461012357806306fdde0314610153578063081812fc14610171578063095ea7b3146101a1575b5f80fd5b61013d600480360381019061013891906118de565b6103c9565b60405161014a9190611923565b60405180910390f35b61015b6104aa565b60405161016891906119ac565b60405180910390f35b61018b600480360381019061018691906119ff565b610539565b6040516101989190611a69565b60405180910390f35b6101bb60048036038101906101b69190611aac565b610554565b005b6101d760048036038101906101d29190611aea565b61056a565b005b6101f360048036038101906101ee9190611c66565b610669565b005b61020f600480360381019061020a9190611aea565b61070f565b005b61022b600480360381019061022691906119ff565b61072e565b005b610247600480360381019061024291906119ff565b61079c565b6040516102549190611a69565b60405180910390f35b610277600480360381019061027291906119ff565b6107ad565b60405161028491906119ac565b60405180910390f35b6102a760048036038101906102a29190611d02565b61084e565b6040516102b49190611d3c565b60405180910390f35b6102c5610904565b6040516102d29190611a69565b60405180910390f35b6102e3610929565b6040516102f091906119ac565b60405180910390f35b610313600480360381019061030e9190611d7f565b6109b9565b005b61032f600480360381019061032a9190611e5b565b6109cf565b005b61034b600480360381019061034691906119ff565b6109f4565b60405161035891906119ac565b60405180910390f35b61037b60048036038101906103769190611edb565b610a95565b005b61039760048036038101906103929190611f47565b610b0c565b6040516103a49190611923565b60405180910390f35b6103c760048036038101906103c29190611d02565b610b9a565b005b5f7f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061049357507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806104a357506104a282610ce7565b5b9050919050565b60605f80546104b890611fb2565b80601f01602080910402602001604051908101604052809291908181526020018280546104e490611fb2565b801561052f5780601f106105065761010080835404028352916020019161052f565b820191905f5260205f20905b81548152906001019060200180831161051257829003601f168201915b5050505050905090565b5f61054382610d50565b5061054d82610dd6565b9050919050565b6105668282610561610e0f565b610e16565b5050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036105da575f6040517f64a0ae920000000000000000000000000000000000000000000000000000000081526004016105d19190611a69565b60405180910390fd5b5f6105ed83836105e8610e0f565b610e28565b90508373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610663578382826040517f64283d7b00000000000000000000000000000000000000000000000000000000815260040161065a93929190611fe2565b60405180910390fd5b50505050565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146106c1575f80fd5b6106cb8484611033565b8160075f8581526020019081526020015f2090816106e991906121b4565b508060085f8581526020019081526020015f20908161070891906121b4565b5050505050565b61072983838360405180602001604052805f8152506109cf565b505050565b5f61073882610d50565b9050610745813384611050565b61078f57610751610e0f565b826040517f177e802f000000000000000000000000000000000000000000000000000000008152600401610786929190612283565b60405180910390fd5b61079882611110565b5050565b5f6107a682610d50565b9050919050565b606060085f8381526020019081526020015f2080546107cb90611fb2565b80601f01602080910402602001604051908101604052809291908181526020018280546107f790611fb2565b80156108425780601f1061081957610100808354040283529160200191610842565b820191905f5260205f20905b81548152906001019060200180831161082557829003601f168201915b50505050509050919050565b5f8073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036108bf575f6040517f89c62b640000000000000000000000000000000000000000000000000000000081526004016108b69190611a69565b60405180910390fd5b60035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60606001805461093890611fb2565b80601f016020809104026020016040519081016040528092919081815260200182805461096490611fb2565b80156109af5780601f10610986576101008083540402835291602001916109af565b820191905f5260205f20905b81548152906001019060200180831161099257829003601f168201915b5050505050905090565b6109cb6109c4610e0f565b8383611192565b5050565b6109da84848461056a565b6109ee6109e5610e0f565b858585856112fb565b50505050565b606060075f8381526020019081526020015f208054610a1290611fb2565b80601f0160208091040260200160405190810160405280929190818152602001828054610a3e90611fb2565b8015610a895780601f10610a6057610100808354040283529160200191610a89565b820191905f5260205f20905b815481529060010190602001808311610a6c57829003601f168201915b50505050509050919050565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610aed575f80fd5b610b0783838360405180602001604052805f815250610669565b505050565b5f60055f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16905092915050565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610bf2575f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610c29575f80fd5b8073ffffffffffffffffffffffffffffffffffffffff1660065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a38060065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f7f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b5f80610d5b836114a7565b90505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610dcd57826040517f7e273289000000000000000000000000000000000000000000000000000000008152600401610dc49190611d3c565b60405180910390fd5b80915050919050565b5f60045f8381526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b5f33905090565b610e2383838360016114e0565b505050565b5f80610e33846114a7565b90505f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614610e7457610e7381848661169f565b5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610eff57610eb35f855f806114e0565b600160035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825403925050819055505b5f73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614610f7e57600160035f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055505b8460025f8681526020019081526020015f205f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550838573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4809150509392505050565b61104c828260405180602001604052805f815250611762565b5050565b5f8073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561110757508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614806110c857506110c78484610b0c565b5b8061110657508273ffffffffffffffffffffffffffffffffffffffff166110ee83610dd6565b73ffffffffffffffffffffffffffffffffffffffff16145b5b90509392505050565b5f61111c5f835f610e28565b90505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361118e57816040517f7e2732890000000000000000000000000000000000000000000000000000000081526004016111859190611d3c565b60405180910390fd5b5050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361120257816040517f5b08ba180000000000000000000000000000000000000000000000000000000081526004016111f99190611a69565b60405180910390fd5b8060055f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31836040516112ee9190611923565b60405180910390a3505050565b5f8373ffffffffffffffffffffffffffffffffffffffff163b11156114a0578273ffffffffffffffffffffffffffffffffffffffff1663150b7a02868685856040518563ffffffff1660e01b815260040161135994939291906122fc565b6020604051808303815f875af192505050801561139457506040513d601f19601f82011682018060405250810190611391919061235a565b60015b611415573d805f81146113c2576040519150601f19603f3d011682016040523d82523d5f602084013e6113c7565b606091505b505f81510361140d57836040517f64a0ae920000000000000000000000000000000000000000000000000000000081526004016114049190611a69565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161461149e57836040517f64a0ae920000000000000000000000000000000000000000000000000000000081526004016114959190611a69565b60405180910390fd5b505b5050505050565b5f60025f8381526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b808061151857505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561164a575f61152784610d50565b90505f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561159157508273ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b80156115a457506115a28184610b0c565b155b156115e657826040517fa9fbf51f0000000000000000000000000000000000000000000000000000000081526004016115dd9190611a69565b60405180910390fd5b811561164857838573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45b505b8360045f8581526020019081526020015f205f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050505050565b6116aa838383611050565b61175d575f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361171e57806040517f7e2732890000000000000000000000000000000000000000000000000000000081526004016117159190611d3c565b60405180910390fd5b81816040517f177e802f000000000000000000000000000000000000000000000000000000008152600401611754929190612283565b60405180910390fd5b505050565b61176c8383611785565b611780611777610e0f565b5f8585856112fb565b505050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036117f5575f6040517f64a0ae920000000000000000000000000000000000000000000000000000000081526004016117ec9190611a69565b60405180910390fd5b5f61180183835f610e28565b90505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614611873575f6040517f73c6ac6e00000000000000000000000000000000000000000000000000000000815260040161186a9190611a69565b60405180910390fd5b505050565b5f604051905090565b5f80fd5b5f80fd5b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6118bd81611889565b81146118c7575f80fd5b50565b5f813590506118d8816118b4565b92915050565b5f602082840312156118f3576118f2611881565b5b5f611900848285016118ca565b91505092915050565b5f8115159050919050565b61191d81611909565b82525050565b5f6020820190506119365f830184611914565b92915050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f61197e8261193c565b6119888185611946565b9350611998818560208601611956565b6119a181611964565b840191505092915050565b5f6020820190508181035f8301526119c48184611974565b905092915050565b5f819050919050565b6119de816119cc565b81146119e8575f80fd5b50565b5f813590506119f9816119d5565b92915050565b5f60208284031215611a1457611a13611881565b5b5f611a21848285016119eb565b91505092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611a5382611a2a565b9050919050565b611a6381611a49565b82525050565b5f602082019050611a7c5f830184611a5a565b92915050565b611a8b81611a49565b8114611a95575f80fd5b50565b5f81359050611aa681611a82565b92915050565b5f8060408385031215611ac257611ac1611881565b5b5f611acf85828601611a98565b9250506020611ae0858286016119eb565b9150509250929050565b5f805f60608486031215611b0157611b00611881565b5b5f611b0e86828701611a98565b9350506020611b1f86828701611a98565b9250506040611b30868287016119eb565b9150509250925092565b5f80fd5b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b611b7882611964565b810181811067ffffffffffffffff82111715611b9757611b96611b42565b5b80604052505050565b5f611ba9611878565b9050611bb58282611b6f565b919050565b5f67ffffffffffffffff821115611bd457611bd3611b42565b5b611bdd82611964565b9050602081019050919050565b828183375f83830152505050565b5f611c0a611c0584611bba565b611ba0565b905082815260208101848484011115611c2657611c25611b3e565b5b611c31848285611bea565b509392505050565b5f82601f830112611c4d57611c4c611b3a565b5b8135611c5d848260208601611bf8565b91505092915050565b5f805f8060808587031215611c7e57611c7d611881565b5b5f611c8b87828801611a98565b9450506020611c9c878288016119eb565b935050604085013567ffffffffffffffff811115611cbd57611cbc611885565b5b611cc987828801611c39565b925050606085013567ffffffffffffffff811115611cea57611ce9611885565b5b611cf687828801611c39565b91505092959194509250565b5f60208284031215611d1757611d16611881565b5b5f611d2484828501611a98565b91505092915050565b611d36816119cc565b82525050565b5f602082019050611d4f5f830184611d2d565b92915050565b611d5e81611909565b8114611d68575f80fd5b50565b5f81359050611d7981611d55565b92915050565b5f8060408385031215611d9557611d94611881565b5b5f611da285828601611a98565b9250506020611db385828601611d6b565b9150509250929050565b5f67ffffffffffffffff821115611dd757611dd6611b42565b5b611de082611964565b9050602081019050919050565b5f611dff611dfa84611dbd565b611ba0565b905082815260208101848484011115611e1b57611e1a611b3e565b5b611e26848285611bea565b509392505050565b5f82601f830112611e4257611e41611b3a565b5b8135611e52848260208601611ded565b91505092915050565b5f805f8060808587031215611e7357611e72611881565b5b5f611e8087828801611a98565b9450506020611e9187828801611a98565b9350506040611ea2878288016119eb565b925050606085013567ffffffffffffffff811115611ec357611ec2611885565b5b611ecf87828801611e2e565b91505092959194509250565b5f805f60608486031215611ef257611ef1611881565b5b5f611eff86828701611a98565b9350506020611f10868287016119eb565b925050604084013567ffffffffffffffff811115611f3157611f30611885565b5b611f3d86828701611c39565b9150509250925092565b5f8060408385031215611f5d57611f5c611881565b5b5f611f6a85828601611a98565b9250506020611f7b85828601611a98565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680611fc957607f821691505b602082108103611fdc57611fdb611f85565b5b50919050565b5f606082019050611ff55f830186611a5a565b6120026020830185611d2d565b61200f6040830184611a5a565b949350505050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026120737fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82612038565b61207d8683612038565b95508019841693508086168417925050509392505050565b5f819050919050565b5f6120b86120b36120ae846119cc565b612095565b6119cc565b9050919050565b5f819050919050565b6120d18361209e565b6120e56120dd826120bf565b848454612044565b825550505050565b5f90565b6120f96120ed565b6121048184846120c8565b505050565b5b818110156121275761211c5f826120f1565b60018101905061210a565b5050565b601f82111561216c5761213d81612017565b61214684612029565b81016020851015612155578190505b61216961216185612029565b830182612109565b50505b505050565b5f82821c905092915050565b5f61218c5f1984600802612171565b1980831691505092915050565b5f6121a4838361217d565b9150826002028217905092915050565b6121bd8261193c565b67ffffffffffffffff8111156121d6576121d5611b42565b5b6121e08254611fb2565b6121eb82828561212b565b5f60209050601f83116001811461221c575f841561220a578287015190505b6122148582612199565b86555061227b565b601f19841661222a86612017565b5f5b828110156122515784890151825560018201915060208501945060208101905061222c565b8683101561226e578489015161226a601f89168261217d565b8355505b6001600288020188555050505b505050505050565b5f6040820190506122965f830185611a5a565b6122a36020830184611d2d565b9392505050565b5f81519050919050565b5f82825260208201905092915050565b5f6122ce826122aa565b6122d881856122b4565b93506122e8818560208601611956565b6122f181611964565b840191505092915050565b5f60808201905061230f5f830187611a5a565b61231c6020830186611a5a565b6123296040830185611d2d565b818103606083015261233b81846122c4565b905095945050505050565b5f81519050612354816118b4565b92915050565b5f6020828403121561236f5761236e611881565b5b5f61237c84828501612346565b9150509291505056fea2646970667358221220323223867987c260b23ee5b76227913c06e847c3dea410b5877090c4de399feb64736f6c63430008190033", } // Ics721Erc721ABI is the input ABI used to generate the binding from. diff --git a/x/evm/contracts/initia_erc20/InitiaERC20.go b/x/evm/contracts/initia_erc20/InitiaERC20.go index b7c9124..77fc5fb 100644 --- a/x/evm/contracts/initia_erc20/InitiaERC20.go +++ b/x/evm/contracts/initia_erc20/InitiaERC20.go @@ -32,7 +32,7 @@ var ( // InitiaErc20MetaData contains all meta data concerning the InitiaErc20 contract. var InitiaErc20MetaData = &bind.MetaData{ ABI: "[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_symbol\",\"type\":\"string\"},{\"internalType\":\"uint8\",\"name\":\"_decimals\",\"type\":\"uint8\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"mint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"sudoTransfer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]", - Bin: "0x608060405234801562000010575f80fd5b5060405162001f1b38038062001f1b8339818101604052810190620000369190620002ef565b335f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060f273ffffffffffffffffffffffffffffffffffffffff16635e6c57596040518163ffffffff1660e01b81526004016020604051808303815f875af1158015620000c1573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620000e79190620003c0565b508260039081620000f9919062000627565b5081600490816200010b919062000627565b508060055f6101000a81548160ff021916908360ff1602179055505050506200070b565b5f604051905090565b5f80fd5b5f80fd5b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b620001908262000148565b810181811067ffffffffffffffff82111715620001b257620001b162000158565b5b80604052505050565b5f620001c66200012f565b9050620001d4828262000185565b919050565b5f67ffffffffffffffff821115620001f657620001f562000158565b5b620002018262000148565b9050602081019050919050565b5f5b838110156200022d57808201518184015260208101905062000210565b5f8484015250505050565b5f6200024e6200024884620001d9565b620001bb565b9050828152602081018484840111156200026d576200026c62000144565b5b6200027a8482856200020e565b509392505050565b5f82601f83011262000299576200029862000140565b5b8151620002ab84826020860162000238565b91505092915050565b5f60ff82169050919050565b620002cb81620002b4565b8114620002d6575f80fd5b50565b5f81519050620002e981620002c0565b92915050565b5f805f6060848603121562000309576200030862000138565b5b5f84015167ffffffffffffffff8111156200032957620003286200013c565b5b620003378682870162000282565b935050602084015167ffffffffffffffff8111156200035b576200035a6200013c565b5b620003698682870162000282565b92505060406200037c86828701620002d9565b9150509250925092565b5f8115159050919050565b6200039c8162000386565b8114620003a7575f80fd5b50565b5f81519050620003ba8162000391565b92915050565b5f60208284031215620003d857620003d762000138565b5b5f620003e784828501620003aa565b91505092915050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806200043f57607f821691505b602082108103620004555762000454620003fa565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302620004b97fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826200047c565b620004c586836200047c565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f6200050f620005096200050384620004dd565b620004e6565b620004dd565b9050919050565b5f819050919050565b6200052a83620004ef565b62000542620005398262000516565b84845462000488565b825550505050565b5f90565b620005586200054a565b620005658184846200051f565b505050565b5b818110156200058c57620005805f826200054e565b6001810190506200056b565b5050565b601f821115620005db57620005a5816200045b565b620005b0846200046d565b81016020851015620005c0578190505b620005d8620005cf856200046d565b8301826200056a565b50505b505050565b5f82821c905092915050565b5f620005fd5f1984600802620005e0565b1980831691505092915050565b5f620006178383620005ec565b9150826002028217905092915050565b6200063282620003f0565b67ffffffffffffffff8111156200064e576200064d62000158565b5b6200065a825462000427565b6200066782828562000590565b5f60209050601f8311600181146200069d575f841562000688578287015190505b6200069485826200060a565b86555062000703565b601f198416620006ad866200045b565b5f5b82811015620006d657848901518255600182019150602085019450602081019050620006af565b86831015620006f65784890151620006f2601f891682620005ec565b8355505b6001600288020188555050505b505050505050565b61180280620007195f395ff3fe608060405234801561000f575f80fd5b50600436106100f3575f3560e01c806340c10f19116100955780639dc29fac116100645780639dc29fac14610285578063a9059cbb146102a1578063dd62ed3e146102d1578063f2fde38b14610301576100f3565b806340c10f19146101fd57806370a08231146102195780638da5cb5b1461024957806395d89b4114610267576100f3565b806318160ddd116100d157806318160ddd146101755780631988513b1461019357806323b872dd146101af578063313ce567146101df576100f3565b806301ffc9a7146100f757806306fdde0314610127578063095ea7b314610145575b5f80fd5b610111600480360381019061010c91906111b1565b61031d565b60405161011e91906111f6565b60405180910390f35b61012f610396565b60405161013c9190611299565b60405180910390f35b61015f600480360381019061015a9190611346565b610422565b60405161016c91906111f6565b60405180910390f35b61017d61050f565b60405161018a9190611393565b60405180910390f35b6101ad60048036038101906101a891906113ac565b610515565b005b6101c960048036038101906101c491906113ac565b610594565b6040516101d691906111f6565b60405180910390f35b6101e76106f4565b6040516101f49190611417565b60405180910390f35b61021760048036038101906102129190611346565b610706565b005b610233600480360381019061022e9190611430565b610825565b6040516102409190611393565b60405180910390f35b61025161083a565b60405161025e919061146a565b60405180910390f35b61026f61085d565b60405161027c9190611299565b60405180910390f35b61029f600480360381019061029a9190611346565b6108e9565b005b6102bb60048036038101906102b69190611346565b610a08565b6040516102c891906111f6565b60405180910390f35b6102eb60048036038101906102e69190611483565b610ad9565b6040516102f89190611393565b60405180910390f35b61031b60048036038101906103169190611430565b610af9565b005b5f7f8da6da19000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061038f575061038e82610c41565b5b9050919050565b600380546103a3906114ee565b80601f01602080910402602001604051908101604052809291908181526020018280546103cf906114ee565b801561041a5780601f106103f15761010080835404028352916020019161041a565b820191905f5260205f20905b8154815290600101906020018083116103fd57829003601f168201915b505050505081565b5f8160025f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516104fd9190611393565b60405180910390a36001905092915050565b60065481565b600173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610584576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161057b90611568565b60405180910390fd5b61058f838383610caa565b505050565b5f8260f173ffffffffffffffffffffffffffffffffffffffff1663f2af9ac9826040518263ffffffff1660e01b81526004016105d0919061146a565b602060405180830381865afa1580156105eb573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061060f91906115b0565b1561064f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106469061164b565b60405180910390fd5b8260025f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546106d69190611696565b925050819055506106e8858585610caa565b60019150509392505050565b60055f9054906101000a900460ff1681565b8160f173ffffffffffffffffffffffffffffffffffffffff1663f2af9ac9826040518263ffffffff1660e01b8152600401610741919061146a565b602060405180830381865afa15801561075c573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061078091906115b0565b156107c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107b790611713565b60405180910390fd5b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610816575f80fd5b6108208383610eb5565b505050565b6001602052805f5260405f205f915090505481565b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6004805461086a906114ee565b80601f0160208091040260200160405190810160405280929190818152602001828054610896906114ee565b80156108e15780601f106108b8576101008083540402835291602001916108e1565b820191905f5260205f20905b8154815290600101906020018083116108c457829003601f168201915b505050505081565b8160f173ffffffffffffffffffffffffffffffffffffffff166360dc402f826040518263ffffffff1660e01b8152600401610924919061146a565b602060405180830381865afa15801561093f573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061096391906115b0565b156109a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161099a9061177b565b60405180910390fd5b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146109f9575f80fd5b610a038383611084565b505050565b5f8260f173ffffffffffffffffffffffffffffffffffffffff1663f2af9ac9826040518263ffffffff1660e01b8152600401610a44919061146a565b602060405180830381865afa158015610a5f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a8391906115b0565b15610ac3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aba9061164b565b60405180910390fd5b610ace338585610caa565b600191505092915050565b6002602052815f5260405f20602052805f5260405f205f91509150505481565b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610b4f575f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610b86575f80fd5b8073ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f7f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b8160f273ffffffffffffffffffffffffffffffffffffffff16634e25ab64826040518263ffffffff1660e01b8152600401610ce5919061146a565b602060405180830381865afa158015610d00573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d2491906115b0565b610da45760f273ffffffffffffffffffffffffffffffffffffffff1663ceeae52a826040518263ffffffff1660e01b8152600401610d62919061146a565b6020604051808303815f875af1158015610d7e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610da291906115b0565b505b8160015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254610df09190611696565b925050819055508160015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254610e439190611799565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610ea79190611393565b60405180910390a350505050565b8160f273ffffffffffffffffffffffffffffffffffffffff16634e25ab64826040518263ffffffff1660e01b8152600401610ef0919061146a565b602060405180830381865afa158015610f0b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f2f91906115b0565b610faf5760f273ffffffffffffffffffffffffffffffffffffffff1663ceeae52a826040518263ffffffff1660e01b8152600401610f6d919061146a565b6020604051808303815f875af1158015610f89573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fad91906115b0565b505b8160015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254610ffb9190611799565b925050819055508160065f8282546110139190611799565b925050819055508273ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516110779190611393565b60405180910390a3505050565b8060015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546110d09190611696565b925050819055508060065f8282546110e89190611696565b925050819055505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161114c9190611393565b60405180910390a35050565b5f80fd5b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6111908161115c565b811461119a575f80fd5b50565b5f813590506111ab81611187565b92915050565b5f602082840312156111c6576111c5611158565b5b5f6111d38482850161119d565b91505092915050565b5f8115159050919050565b6111f0816111dc565b82525050565b5f6020820190506112095f8301846111e7565b92915050565b5f81519050919050565b5f82825260208201905092915050565b5f5b8381101561124657808201518184015260208101905061122b565b5f8484015250505050565b5f601f19601f8301169050919050565b5f61126b8261120f565b6112758185611219565b9350611285818560208601611229565b61128e81611251565b840191505092915050565b5f6020820190508181035f8301526112b18184611261565b905092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6112e2826112b9565b9050919050565b6112f2816112d8565b81146112fc575f80fd5b50565b5f8135905061130d816112e9565b92915050565b5f819050919050565b61132581611313565b811461132f575f80fd5b50565b5f813590506113408161131c565b92915050565b5f806040838503121561135c5761135b611158565b5b5f611369858286016112ff565b925050602061137a85828601611332565b9150509250929050565b61138d81611313565b82525050565b5f6020820190506113a65f830184611384565b92915050565b5f805f606084860312156113c3576113c2611158565b5b5f6113d0868287016112ff565b93505060206113e1868287016112ff565b92505060406113f286828701611332565b9150509250925092565b5f60ff82169050919050565b611411816113fc565b82525050565b5f60208201905061142a5f830184611408565b92915050565b5f6020828403121561144557611444611158565b5b5f611452848285016112ff565b91505092915050565b611464816112d8565b82525050565b5f60208201905061147d5f83018461145b565b92915050565b5f806040838503121561149957611498611158565b5b5f6114a6858286016112ff565b92505060206114b7858286016112ff565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061150557607f821691505b602082108103611518576115176114c1565b5b50919050565b7f45524332303a2063616c6c6572206973206e6f742074686520636861696e00005f82015250565b5f611552601e83611219565b915061155d8261151e565b602082019050919050565b5f6020820190508181035f83015261157f81611546565b9050919050565b61158f816111dc565b8114611599575f80fd5b50565b5f815190506115aa81611586565b92915050565b5f602082840312156115c5576115c4611158565b5b5f6115d28482850161159c565b91505092915050565b7f45524332303a207472616e7366657220746f20626c6f636b65642061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f611635602283611219565b9150611640826115db565b604082019050919050565b5f6020820190508181035f83015261166281611629565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6116a082611313565b91506116ab83611313565b92508282039050818111156116c3576116c2611669565b5b92915050565b7f45524332303a206d696e7420746f20626c6f636b6564206164647265737300005f82015250565b5f6116fd601e83611219565b9150611708826116c9565b602082019050919050565b5f6020820190508181035f83015261172a816116f1565b9050919050565b7f45524332303a206275726e2066726f6d206d6f64756c652061646472657373005f82015250565b5f611765601f83611219565b915061177082611731565b602082019050919050565b5f6020820190508181035f83015261179281611759565b9050919050565b5f6117a382611313565b91506117ae83611313565b92508282019050808211156117c6576117c5611669565b5b9291505056fea2646970667358221220061ac5819b9868142f082a33e4fefb3b178313002a63fd6072d95accd7fbfb6064736f6c63430008180033", + Bin: "0x608060405234801561000f575f80fd5b50604051611e5e380380611e5e833981810160405281019061003191906102a5565b335f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060f273ffffffffffffffffffffffffffffffffffffffff16635e6c57596040518163ffffffff1660e01b81526004016020604051808303815f875af11580156100bb573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100df9190610362565b5082600390816100ef919061059a565b5081600490816100ff919061059a565b508060055f6101000a81548160ff021916908360ff160217905550505050610669565b5f604051905090565b5f80fd5b5f80fd5b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6101818261013b565b810181811067ffffffffffffffff821117156101a05761019f61014b565b5b80604052505050565b5f6101b2610122565b90506101be8282610178565b919050565b5f67ffffffffffffffff8211156101dd576101dc61014b565b5b6101e68261013b565b9050602081019050919050565b8281835e5f83830152505050565b5f61021361020e846101c3565b6101a9565b90508281526020810184848401111561022f5761022e610137565b5b61023a8482856101f3565b509392505050565b5f82601f83011261025657610255610133565b5b8151610266848260208601610201565b91505092915050565b5f60ff82169050919050565b6102848161026f565b811461028e575f80fd5b50565b5f8151905061029f8161027b565b92915050565b5f805f606084860312156102bc576102bb61012b565b5b5f84015167ffffffffffffffff8111156102d9576102d861012f565b5b6102e586828701610242565b935050602084015167ffffffffffffffff8111156103065761030561012f565b5b61031286828701610242565b925050604061032386828701610291565b9150509250925092565b5f8115159050919050565b6103418161032d565b811461034b575f80fd5b50565b5f8151905061035c81610338565b92915050565b5f602082840312156103775761037661012b565b5b5f6103848482850161034e565b91505092915050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806103db57607f821691505b6020821081036103ee576103ed610397565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026104507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610415565b61045a8683610415565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f61049e61049961049484610472565b61047b565b610472565b9050919050565b5f819050919050565b6104b783610484565b6104cb6104c3826104a5565b848454610421565b825550505050565b5f90565b6104df6104d3565b6104ea8184846104ae565b505050565b5b8181101561050d576105025f826104d7565b6001810190506104f0565b5050565b601f82111561055257610523816103f4565b61052c84610406565b8101602085101561053b578190505b61054f61054785610406565b8301826104ef565b50505b505050565b5f82821c905092915050565b5f6105725f1984600802610557565b1980831691505092915050565b5f61058a8383610563565b9150826002028217905092915050565b6105a38261038d565b67ffffffffffffffff8111156105bc576105bb61014b565b5b6105c682546103c4565b6105d1828285610511565b5f60209050601f831160018114610602575f84156105f0578287015190505b6105fa858261057f565b865550610661565b601f198416610610866103f4565b5f5b8281101561063757848901518255600182019150602085019450602081019050610612565b868310156106545784890151610650601f891682610563565b8355505b6001600288020188555050505b505050505050565b6117e8806106765f395ff3fe608060405234801561000f575f80fd5b50600436106100f3575f3560e01c806340c10f19116100955780639dc29fac116100645780639dc29fac14610285578063a9059cbb146102a1578063dd62ed3e146102d1578063f2fde38b14610301576100f3565b806340c10f19146101fd57806370a08231146102195780638da5cb5b1461024957806395d89b4114610267576100f3565b806318160ddd116100d157806318160ddd146101755780631988513b1461019357806323b872dd146101af578063313ce567146101df576100f3565b806301ffc9a7146100f757806306fdde0314610127578063095ea7b314610145575b5f80fd5b610111600480360381019061010c91906111b1565b61031d565b60405161011e91906111f6565b60405180910390f35b61012f610396565b60405161013c919061127f565b60405180910390f35b61015f600480360381019061015a919061132c565b610422565b60405161016c91906111f6565b60405180910390f35b61017d61050f565b60405161018a9190611379565b60405180910390f35b6101ad60048036038101906101a89190611392565b610515565b005b6101c960048036038101906101c49190611392565b610594565b6040516101d691906111f6565b60405180910390f35b6101e76106f4565b6040516101f491906113fd565b60405180910390f35b6102176004803603810190610212919061132c565b610706565b005b610233600480360381019061022e9190611416565b610825565b6040516102409190611379565b60405180910390f35b61025161083a565b60405161025e9190611450565b60405180910390f35b61026f61085d565b60405161027c919061127f565b60405180910390f35b61029f600480360381019061029a919061132c565b6108e9565b005b6102bb60048036038101906102b6919061132c565b610a08565b6040516102c891906111f6565b60405180910390f35b6102eb60048036038101906102e69190611469565b610ad9565b6040516102f89190611379565b60405180910390f35b61031b60048036038101906103169190611416565b610af9565b005b5f7f8da6da19000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061038f575061038e82610c41565b5b9050919050565b600380546103a3906114d4565b80601f01602080910402602001604051908101604052809291908181526020018280546103cf906114d4565b801561041a5780601f106103f15761010080835404028352916020019161041a565b820191905f5260205f20905b8154815290600101906020018083116103fd57829003601f168201915b505050505081565b5f8160025f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516104fd9190611379565b60405180910390a36001905092915050565b60065481565b600173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610584576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161057b9061154e565b60405180910390fd5b61058f838383610caa565b505050565b5f8260f173ffffffffffffffffffffffffffffffffffffffff1663f2af9ac9826040518263ffffffff1660e01b81526004016105d09190611450565b602060405180830381865afa1580156105eb573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061060f9190611596565b1561064f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161064690611631565b60405180910390fd5b8260025f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546106d6919061167c565b925050819055506106e8858585610caa565b60019150509392505050565b60055f9054906101000a900460ff1681565b8160f173ffffffffffffffffffffffffffffffffffffffff1663f2af9ac9826040518263ffffffff1660e01b81526004016107419190611450565b602060405180830381865afa15801561075c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107809190611596565b156107c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107b7906116f9565b60405180910390fd5b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610816575f80fd5b6108208383610eb5565b505050565b6001602052805f5260405f205f915090505481565b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6004805461086a906114d4565b80601f0160208091040260200160405190810160405280929190818152602001828054610896906114d4565b80156108e15780601f106108b8576101008083540402835291602001916108e1565b820191905f5260205f20905b8154815290600101906020018083116108c457829003601f168201915b505050505081565b8160f173ffffffffffffffffffffffffffffffffffffffff166360dc402f826040518263ffffffff1660e01b81526004016109249190611450565b602060405180830381865afa15801561093f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109639190611596565b156109a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161099a90611761565b60405180910390fd5b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146109f9575f80fd5b610a038383611084565b505050565b5f8260f173ffffffffffffffffffffffffffffffffffffffff1663f2af9ac9826040518263ffffffff1660e01b8152600401610a449190611450565b602060405180830381865afa158015610a5f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a839190611596565b15610ac3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aba90611631565b60405180910390fd5b610ace338585610caa565b600191505092915050565b6002602052815f5260405f20602052805f5260405f205f91509150505481565b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610b4f575f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610b86575f80fd5b8073ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f7f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b8160f273ffffffffffffffffffffffffffffffffffffffff16634e25ab64826040518263ffffffff1660e01b8152600401610ce59190611450565b602060405180830381865afa158015610d00573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d249190611596565b610da45760f273ffffffffffffffffffffffffffffffffffffffff1663ceeae52a826040518263ffffffff1660e01b8152600401610d629190611450565b6020604051808303815f875af1158015610d7e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610da29190611596565b505b8160015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254610df0919061167c565b925050819055508160015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254610e43919061177f565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610ea79190611379565b60405180910390a350505050565b8160f273ffffffffffffffffffffffffffffffffffffffff16634e25ab64826040518263ffffffff1660e01b8152600401610ef09190611450565b602060405180830381865afa158015610f0b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f2f9190611596565b610faf5760f273ffffffffffffffffffffffffffffffffffffffff1663ceeae52a826040518263ffffffff1660e01b8152600401610f6d9190611450565b6020604051808303815f875af1158015610f89573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fad9190611596565b505b8160015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254610ffb919061177f565b925050819055508160065f828254611013919061177f565b925050819055508273ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516110779190611379565b60405180910390a3505050565b8060015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546110d0919061167c565b925050819055508060065f8282546110e8919061167c565b925050819055505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161114c9190611379565b60405180910390a35050565b5f80fd5b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6111908161115c565b811461119a575f80fd5b50565b5f813590506111ab81611187565b92915050565b5f602082840312156111c6576111c5611158565b5b5f6111d38482850161119d565b91505092915050565b5f8115159050919050565b6111f0816111dc565b82525050565b5f6020820190506112095f8301846111e7565b92915050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f6112518261120f565b61125b8185611219565b935061126b818560208601611229565b61127481611237565b840191505092915050565b5f6020820190508181035f8301526112978184611247565b905092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6112c88261129f565b9050919050565b6112d8816112be565b81146112e2575f80fd5b50565b5f813590506112f3816112cf565b92915050565b5f819050919050565b61130b816112f9565b8114611315575f80fd5b50565b5f8135905061132681611302565b92915050565b5f806040838503121561134257611341611158565b5b5f61134f858286016112e5565b925050602061136085828601611318565b9150509250929050565b611373816112f9565b82525050565b5f60208201905061138c5f83018461136a565b92915050565b5f805f606084860312156113a9576113a8611158565b5b5f6113b6868287016112e5565b93505060206113c7868287016112e5565b92505060406113d886828701611318565b9150509250925092565b5f60ff82169050919050565b6113f7816113e2565b82525050565b5f6020820190506114105f8301846113ee565b92915050565b5f6020828403121561142b5761142a611158565b5b5f611438848285016112e5565b91505092915050565b61144a816112be565b82525050565b5f6020820190506114635f830184611441565b92915050565b5f806040838503121561147f5761147e611158565b5b5f61148c858286016112e5565b925050602061149d858286016112e5565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806114eb57607f821691505b6020821081036114fe576114fd6114a7565b5b50919050565b7f45524332303a2063616c6c6572206973206e6f742074686520636861696e00005f82015250565b5f611538601e83611219565b915061154382611504565b602082019050919050565b5f6020820190508181035f8301526115658161152c565b9050919050565b611575816111dc565b811461157f575f80fd5b50565b5f815190506115908161156c565b92915050565b5f602082840312156115ab576115aa611158565b5b5f6115b884828501611582565b91505092915050565b7f45524332303a207472616e7366657220746f20626c6f636b65642061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f61161b602283611219565b9150611626826115c1565b604082019050919050565b5f6020820190508181035f8301526116488161160f565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f611686826112f9565b9150611691836112f9565b92508282039050818111156116a9576116a861164f565b5b92915050565b7f45524332303a206d696e7420746f20626c6f636b6564206164647265737300005f82015250565b5f6116e3601e83611219565b91506116ee826116af565b602082019050919050565b5f6020820190508181035f830152611710816116d7565b9050919050565b7f45524332303a206275726e2066726f6d206d6f64756c652061646472657373005f82015250565b5f61174b601f83611219565b915061175682611717565b602082019050919050565b5f6020820190508181035f8301526117788161173f565b9050919050565b5f611789826112f9565b9150611794836112f9565b92508282019050808211156117ac576117ab61164f565b5b9291505056fea2646970667358221220ac8d5cdd7acced24c71123871904386571364efda76371b9fa326ec4b4d140ce64736f6c63430008190033", } // InitiaErc20ABI is the input ABI used to generate the binding from. diff --git a/x/evm/contracts/ownable/Ownable.go b/x/evm/contracts/ownable/Ownable.go index b892b71..181f27e 100644 --- a/x/evm/contracts/ownable/Ownable.go +++ b/x/evm/contracts/ownable/Ownable.go @@ -32,7 +32,7 @@ var ( // OwnableMetaData contains all meta data concerning the Ownable contract. var OwnableMetaData = &bind.MetaData{ ABI: "[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]", - Bin: "0x608060405234801561000f575f80fd5b50335f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506102c48061005c5f395ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c80638da5cb5b14610038578063f2fde38b14610056575b5f80fd5b610040610072565b60405161004d919061021c565b60405180910390f35b610070600480360381019061006b9190610263565b610095565b005b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146100eb575f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610122575f80fd5b8073ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610206826101dd565b9050919050565b610216816101fc565b82525050565b5f60208201905061022f5f83018461020d565b92915050565b5f80fd5b610242816101fc565b811461024c575f80fd5b50565b5f8135905061025d81610239565b92915050565b5f6020828403121561027857610277610235565b5b5f6102858482850161024f565b9150509291505056fea26469706673582212208e83c4e6217619f305e81b2a6cc58ab99452b595243201455dbcdb4186b09b8564736f6c63430008180033", + Bin: "0x6080604052348015600e575f80fd5b50335f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506102c48061005b5f395ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c80638da5cb5b14610038578063f2fde38b14610056575b5f80fd5b610040610072565b60405161004d919061021c565b60405180910390f35b610070600480360381019061006b9190610263565b610095565b005b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146100eb575f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610122575f80fd5b8073ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610206826101dd565b9050919050565b610216816101fc565b82525050565b5f60208201905061022f5f83018461020d565b92915050565b5f80fd5b610242816101fc565b811461024c575f80fd5b50565b5f8135905061025d81610239565b92915050565b5f6020828403121561027857610277610235565b5b5f6102858482850161024f565b9150509291505056fea2646970667358221220e29d7837036a1938183c7a2dd1092242878c0c96b4338f00deb99da015235f8964736f6c63430008190033", } // OwnableABI is the input ABI used to generate the binding from. diff --git a/x/evm/contracts/utils/ERC721Utils.go b/x/evm/contracts/utils/ERC721Utils.go index 68b41ae..ed21bef 100644 --- a/x/evm/contracts/utils/ERC721Utils.go +++ b/x/evm/contracts/utils/ERC721Utils.go @@ -32,7 +32,7 @@ var ( // UtilsMetaData contains all meta data concerning the Utils contract. var UtilsMetaData = &bind.MetaData{ ABI: "[]", - Bin: "0x6055604b600b8282823980515f1a607314603f577f4e487b71000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220b972295228f6eb66554b9d3813ef4130b9397a5d4511dcd3e3bc667462fb61dd64736f6c63430008180033", + Bin: "0x6055604b600b8282823980515f1a607314603f577f4e487b71000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220a75ca690038dbbd3dbfa22733a8a3e5714ca301562087b8517e1ef2459b8568a64736f6c63430008190033", } // UtilsABI is the input ABI used to generate the binding from.