VeChain
Explorer
Testnet
Search
Networks
Main
Test
Contract
0xB70350…3bDA
Summary
Transactions
Transfers
Address
0xB7035098E138bb22B3e7D32F4fbdE9A050a43bDA
VET
12.00
VET
VTHO
10.96
VTHO
Master
0x0d0c5ffcf111B101b051d34636822b27eAb7C115
Deployer
0x0d0c5ffcf111B101b051d34636822b27eAb7C115
Code
0x608060405260043610610279576000357c01000000000000000000000000000000000000000000000000000000009004806370a0823111610161578063b88d4fde116100d3578063dfdf07cf11610097578063dfdf07cf14611275578063e2969968146112da578063e80838631461138a578063e985e9c5146113c5578063f2fde38b1461144e578063ff3ad0b41461149f57610279565b8063b88d4fde14610f93578063bffa55d5146110a5578063c75abb9e146110f6578063c87b56dd14611186578063caa7fe211461123a57610279565b80638da5cb5b116101255780638da5cb5b14610d4e5780638f32d59b14610da557806395d89b4114610dd4578063a22cb46514610e64578063b2593c7814610ec1578063b2eca93a14610ef957610279565b806370a0823114610a98578063715018a614610afd57806373dc756c14610b1457806378bd793514610ba15780638462151c14610ca857610279565b80632f745c59116101fa57806344bf01d7116101be57806344bf01d7146108da5780634f4b48f2146109155780634f6ccce714610950578063573cabc71461099f57806362c5424a146109cd5780636352211e14610a1d57610279565b80632f745c5914610697578063359edce114610706578063364460f314610761578063382382ee1461082757806342842e0e1461085f57610279565b806315a0ea6a1161024157806315a0ea6a1461049157806318160ddd146104e25780631a7a98e21461050d57806323b872dd146105e15780632a24b3a41461065c57610279565b806301ffc9a71461027e57806306fdde03146102f0578063081812fc14610380578063095ea7b3146103fb57806311a5d19414610456575b600080fd5b34801561028a57600080fd5b506102d6600480360360208110156102a157600080fd5b8101908080357bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050611545565b604051808215151515815260200191505060405180910390f35b3480156102fc57600080fd5b506103056115ac565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561034557808201518184015260208101905061032a565b50505050905090810190601f1680156103725780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561038c57600080fd5b506103b9600480360360208110156103a357600080fd5b810190808035906020019092919050505061164e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561040757600080fd5b506104546004803603604081101561041e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061169f565b005b34801561046257600080fd5b5061048f6004803603602081101561047957600080fd5b81019080803590602001909291905050506117e4565b005b34801561049d57600080fd5b506104e0600480360360208110156104b457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061193b565b005b3480156104ee57600080fd5b506104f7611a22565b6040518082815260200191505060405180910390f35b34801561051957600080fd5b506105466004803603602081101561053057600080fd5b8101908080359060200190929190505050611a2f565b604051808060200186815260200185815260200184151515158152602001838152602001828103825287818151815260200191508051906020019080838360005b838110156105a2578082015181840152602081019050610587565b50505050905090810190601f1680156105cf5780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390f35b3480156105ed57600080fd5b5061065a6004803603606081101561060457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611b6b565b005b34801561066857600080fd5b506106956004803603602081101561067f57600080fd5b8101908080359060200190929190505050611b90565b005b3480156106a357600080fd5b506106f0600480360360408110156106ba57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611bc2565b6040518082815260200191505060405180910390f35b34801561071257600080fd5b5061075f6004803603604081101561072957600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611c39565b005b34801561076d57600080fd5b506107e56004803603602081101561078457600080fd5b81019080803590602001906401000000008111156107a157600080fd5b8201836020820111156107b357600080fd5b803590602001918460018302840111640100000000831117156107d557600080fd5b9091929391929390505050611ed0565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61085d6004803603604081101561083d57600080fd5b810190808035906020019092919080359060200190929190505050611f22565b005b34801561086b57600080fd5b506108d86004803603606081101561088257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506121a2565b005b3480156108e657600080fd5b50610913600480360360208110156108fd57600080fd5b81019080803590602001909291905050506121c3565b005b34801561092157600080fd5b5061094e6004803603602081101561093857600080fd5b8101908080359060200190929190505050612512565b005b34801561095c57600080fd5b506109896004803603602081101561097357600080fd5b810190808035906020019092919050505061275f565b6040518082815260200191505060405180910390f35b6109cb600480360360208110156109b557600080fd5b8101908080359060200190929190505050612797565b005b610a03600480360360408110156109e357600080fd5b810190808035906020019092919080359060200190929190505050612951565b604051808215151515815260200191505060405180910390f35b348015610a2957600080fd5b50610a5660048036036020811015610a4057600080fd5b8101908080359060200190929190505050612ce9565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610aa457600080fd5b50610ae760048036036020811015610abb57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612d67565b6040518082815260200191505060405180910390f35b348015610b0957600080fd5b50610b12612df2565b005b610b8b60048036036020811015610b2a57600080fd5b8101908080359060200190640100000000811115610b4757600080fd5b820183602082011115610b5957600080fd5b80359060200191846001830284011164010000000083111715610b7b57600080fd5b9091929391929390505050612ec6565b6040518082815260200191505060405180910390f35b348015610bad57600080fd5b50610bda60048036036020811015610bc457600080fd5b8101908080359060200190929190505050612f1d565b604051808781526020018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018581526020018060200184151515158152602001838152602001828103825285818151815260200191508051906020019080838360005b83811015610c68578082015181840152602081019050610c4d565b50505050905090810190601f168015610c955780820380516001836020036101000a031916815260200191505b5097505050505050505060405180910390f35b348015610cb457600080fd5b50610cf760048036036020811015610ccb57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506130b8565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b83811015610d3a578082015181840152602081019050610d1f565b505050509050019250505060405180910390f35b348015610d5a57600080fd5b50610d63613119565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610db157600080fd5b50610dba613143565b604051808215151515815260200191505060405180910390f35b348015610de057600080fd5b50610de961319b565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610e29578082015181840152602081019050610e0e565b50505050905090810190601f168015610e565780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b348015610e7057600080fd5b50610ebf60048036036040811015610e8757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080351515906020019092919050505061323d565b005b610ef760048036036040811015610ed757600080fd5b810190808035906020019092919080359060200190929190505050613379565b005b348015610f0557600080fd5b50610f7d60048036036020811015610f1c57600080fd5b8101908080359060200190640100000000811115610f3957600080fd5b820183602082011115610f4b57600080fd5b80359060200191846001830284011164010000000083111715610f6d57600080fd5b909192939192939050505061343c565b6040518082815260200191505060405180910390f35b348015610f9f57600080fd5b506110a360048036036080811015610fb657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561101d57600080fd5b82018360208201111561102f57600080fd5b8035906020019184600183028401116401000000008311171561105157600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929050505061346e565b005b3480156110b157600080fd5b506110f4600480360360208110156110c857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613496565b005b34801561110257600080fd5b506111846004803603604081101561111957600080fd5b81019080803590602001909291908035906020019064010000000081111561114057600080fd5b82018360208201111561115257600080fd5b8035906020019184600183028401116401000000008311171561117457600080fd5b909192939192939050505061356a565b005b34801561119257600080fd5b506111bf600480360360208110156111a957600080fd5b810190808035906020019092919050505061377e565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156111ff5780820151818401526020810190506111e4565b50505050905090810190601f16801561122c5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561124657600080fd5b506112736004803603602081101561125d57600080fd5b8101908080359060200190929190505050613847565b005b34801561128157600080fd5b506112c46004803603602081101561129857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613a95565b6040518082815260200191505060405180910390f35b3480156112e657600080fd5b50611388600480360360608110156112fd57600080fd5b81019080803590602001909291908035906020019064010000000081111561132457600080fd5b82018360208201111561133657600080fd5b8035906020019184600183028401116401000000008311171561135857600080fd5b9091929391929390803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613ade565b005b34801561139657600080fd5b506113c3600480360360208110156113ad57600080fd5b8101908080359060200190929190505050613cf2565b005b3480156113d157600080fd5b50611434600480360360408110156113e857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050614006565b604051808215151515815260200191505060405180910390f35b34801561145a57600080fd5b5061149d6004803603602081101561147157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061409a565b005b3480156114ab57600080fd5b506114ee600480360360208110156114c257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506140b9565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b83811015611531578082015181840152602081019050611516565b505050509050019250505060405180910390f35b6000806000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060009054906101000a900460ff169050919050565b606060098054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156116445780601f1061161957610100808354040283529160200191611644565b820191906000526020600020905b81548152906001019060200180831161162757829003601f168201915b5050505050905090565b600061165982614150565b151561166457600080fd5b6002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b60006116aa82612ce9565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141515156116e757600080fd5b8073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061172757506117268133614006565b5b151561173257600080fd5b826002600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550818373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a4505050565b6000601a6000838152602001908152602001600020905080600201544211801561181d57508060040160009054906101000a900460ff16155b1515611874576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526046815260200180615bc26046913960600191505060405180910390fd5b60018160040160006101000a81548160ff021916908315150217905550601154420181600501819055508060030160405180828054600181600116156101000203166002900480156118fd5780601f106118db5761010080835404028352918201916118fd565b820191906000526020600020905b8154815290600101906020018083116118e9575b50509150506040518091039020827fcd1666bbeaae42ecc8e5287c29054feb4a6a94b527795eb18ccd88211658788460405160405180910390a35050565b611943613119565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415156119c8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526027815260200180615adf6027913960400191505060405180910390fd5b6000600d5490506000600d819055508173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611a1d573d6000803e3d6000fd5b505050565b6000600780549050905090565b6060600080600080611a3f6158c9565b6017600088815260200190815260200160002060a06040519081016040529081600082018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611af75780601f10611acc57610100808354040283529160200191611af7565b820191906000526020600020905b815481529060010190602001808311611ada57829003601f168201915b5050505050815260200160018201548152602001600282015481526020016003820160009054906101000a900460ff16151515158152602001600482015481525050905080600001518160200151826040015183606001518460800151849450955095509550955095505091939590929450565b611b7533826141c2565b1515611b8057600080fd5b611b8b838383614257565b505050565b60016017600083815260200190815260200160002060030160006101000a81548160ff02191690831515021790555050565b6000611bcd83612d67565b82101515611bda57600080fd5b600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002082815481101515611c2657fe5b9060005260206000200154905092915050565b611c4282612ce9565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611cc7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526030815260200180615a646030913960400191505060405180910390fd5b6060601760008481526020019081526020016000206000018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611d735780601f10611d4857610100808354040283529160200191611d73565b820191906000526020600020905b815481529060010190602001808311611d5657829003601f168201915b50505050509050816018826040518082805190602001908083835b602083101515611db35780518252602082019150602081019050602083039250611d8e565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff16816040518082805190602001908083835b602083101515611e715780518252602082019150602081019050602083039250611e4c565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020847fbab16468cd137309b621f2603115b98c22ae3882c30717595e8c44728857d92760405160405180910390a4505050565b600060188383604051808383808284378083019250505092505050908152602001604051809103902060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905092915050565b6000601a60008481526020019081526020016000209050806002015442108015611f5b57508060040160009054906101000a900460ff16155b1515611fb2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180615a946022913960400191505060405180910390fd5b600f543414151561200e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180615b4e6028913960400191505060405180910390fd5b601e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002083908060018154018082558091505090600182039060005260206000200160009091929091909150555060008160060160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054141561210d57818160060160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505061219e565b818160060160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff166108fc600f549081150290604051600060405180830381858888f1935050505015801561219b573d6000803e3d6000fd5b50505b5050565b6121be838383602060405190810160405280600081525061346e565b505050565b6121cb6158c9565b6017600083815260200190815260200160002060a06040519081016040529081600082018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156122835780601f1061225857610100808354040283529160200191612283565b820191906000526020600020905b81548152906001019060200180831161226657829003601f168201915b5050505050815260200160018201548152602001600282015481526020016003820160009054906101000a900460ff161515151581526020016004820154815250509050601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f9574c6961230e84612ce9565b6040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561238a57600080fd5b505afa15801561239e573d6000803e3d6000fd5b505050506040513d60208110156123b457600080fd5b810190808051906020019092919050505015612454576013546123da826000015161427b565b10151561244f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f446f6d61696e206e616d65206973206e6f7420746f6f2073686f72740000000081525060200191505060405180910390fd5b6124da565b601254612464826000015161427b565b1015156124d9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f446f6d61696e206e616d65206973206e6f7420746f6f2073686f72740000000081525060200191505060405180910390fd5b5b6017600083815260200190815260200160002060010154600d6000828254019250508190555061250e828260000151614339565b5050565b61251a6158c9565b6017600083815260200190815260200160002060a06040519081016040529081600082018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156125d25780601f106125a7576101008083540402835291602001916125d2565b820191906000526020600020905b8154815290600101906020018083116125b557829003601f168201915b5050505050815260200160018201548152602001600282015481526020016003820160009054906101000a900460ff16151515158152602001600482015481525050905061261f82612ce9565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156126a4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526029815260200180615ab66029913960400191505060405180910390fd5b6127028160200151601c60006126b986612ce9565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461442f90919063ffffffff16565b601c600061270f85612ce9565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061275b828260000151614339565b5050565b6000612769611a22565b8210151561277657600080fd5b60078281548110151561278557fe5b90600052602060002001549050919050565b6000601760008381526020019081526020016000209050600115158160030160009054906101000a900460ff16151514151561281e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526027815260200180615b766027913960400191505060405180910390fd5b600060016301e1338061283e84600401544261445090919063ffffffff16565b81151561284757fe5b040190508160010154600e54820211151561289157600e54810282600101600082825403925050819055506301e1338081028260040160008282540192505081905550505061294e565b8160010154600d6000828254019250508190555061294b83836000018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156129415780601f1061291657610100808354040283529160200191612941565b820191906000526020600020905b81548152906001019060200180831161292457829003601f168201915b5050505050614339565b50505b50565b600080601a600085815260200190815260200160002090508060040160009054906101000a900460ff16801561298a5750806005015442105b15156129e1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526048815260200180615b066048913960600191505060405180910390fd5b34836040516020018083815260200182815260200192505050604051602081830303815290604052805190602001208160060160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054141515612aaa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526027815260200180615c086027913960400191505060405180910390fd5b806000015434111515612b51578060060160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600090553373ffffffffffffffffffffffffffffffffffffffff166108fc600f5434019081150290604051600060405180830381858888f19350505050158015612b46573d6000803e3d6000fd5b506000915050612ce3565b600073ffffffffffffffffffffffffffffffffffffffff168160010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515612c9157612c29600f54826000015401601c60008460010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461442f90919063ffffffff16565b601c60008360010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b338160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555034816000018190555060019150505b92915050565b6000806001600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515612d5e57600080fd5b80915050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614151515612da457600080fd5b612deb600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020614472565b9050919050565b612dfa613143565b1515612e0557600080fd5b600073ffffffffffffffffffffffffffffffffffffffff16600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6000612f1583838080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050614480565b905092915050565b60008060006060600080612f2f6158fb565b601a600089815260200190815260200160002060c06040519081016040529081600082015481526020016001820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200160028201548152602001600382018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156130515780601f1061302657610100808354040283529160200191613051565b820191906000526020600020905b81548152906001019060200180831161303457829003601f168201915b505050505081526020016004820160009054906101000a900460ff161515151581526020016005820154815250509050806000015181602001518260400151836060015184608001518560a001518292509650965096509650965096505091939550919395565b60606130c3826147e0565b80548060200260200160405190810160405280929190818152602001828054801561310d57602002820191906000526020600020905b8154815260200190600101908083116130f9575b50505050509050919050565b6000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614905090565b6060600a8054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156132335780601f1061320857610100808354040283529160200191613233565b820191906000526020600020905b81548152906001019060200180831161321657829003601f168201915b5050505050905090565b3373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415151561327857600080fd5b80600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051808215151515815260200191505060405180910390a35050565b600060176000848152602001908152602001600020905081600e54023414151561340b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f5061796d656e74206d75737420636f766572207075726368617365000000000081525060200191505060405180910390fd5b61342661016d8302826004015461442f90919063ffffffff16565b5034600d60008282540192505081905550505050565b6000601b8383604051808383808284378083019250505092505050908152602001604051809103902054905092915050565b613479848484611b6b565b61348584848484614828565b151561349057600080fd5b50505050565b6000601c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000601c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015613565573d6000803e3d6000fd5b505050565b61357433846141c2565b506060601760008581526020019081526020016000206000018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156136215780601f106135f657610100808354040283529160200191613621565b820191906000526020600020905b81548152906001019060200180831161360457829003601f168201915b50505050509050600060198484846040516020018084848082843780830192505050807f2e0000000000000000000000000000000000000000000000000000000000000081525060010182805190602001908083835b60208310151561369c5780518252602082019150602081019050602083039250613677565b6001836020036101000a03801982511681845116808217855250505050505090500193505050506040516020818303038152906040526040518082805190602001908083835b60208310151561370757805182526020820191506020810190506020830392506136e2565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050505050565b606061378982614150565b151561379457600080fd5b600b60008381526020019081526020016000208054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561383b5780601f106138105761010080835404028352916020019161383b565b820191906000526020600020905b81548152906001019060200180831161381e57829003601f168201915b50505050509050919050565b61384f6158c9565b6017600083815260200190815260200160002060a06040519081016040529081600082018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156139075780601f106138dc57610100808354040283529160200191613907565b820191906000526020600020905b8154815290600101906020018083116138ea57829003601f168201915b5050505050815260200160018201548152602001600282015481526020016003820160009054906101000a900460ff16151515158152602001600482015481525050905080608001514211801561396657506000151581606001511515145b15156139da576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f43616e277420706f7020646f6d61696e206265666f726520657870697279000081525060200191505060405180910390fd5b613a388160200151601c60006139ef86612ce9565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461442f90919063ffffffff16565b601c6000613a4585612ce9565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550613a91828260000151614339565b5050565b6000601c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b613ae833856141c2565b506060601760008681526020019081526020016000206000018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015613b955780601f10613b6a57610100808354040283529160200191613b95565b820191906000526020600020905b815481529060010190602001808311613b7857829003601f168201915b505050505090508160198585846040516020018084848082843780830192505050807f2e0000000000000000000000000000000000000000000000000000000000000081525060010182805190602001908083835b602083101515613c0f5780518252602082019150602081019050602083039250613bea565b6001836020036101000a03801982511681845116808217855250505050505090500193505050506040516020818303038152906040526040518082805190602001908083835b602083101515613c7a5780518252602082019150602081019050602083039250613c55565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050505050565b6000601a60008381526020019081526020016000209050806005015442118015613d2157506000816005015414155b1515613d78576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180615b9d6025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168160010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515613ea657613ea5816003018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015613e6d5780601f10613e4257610100808354040283529160200191613e6d565b820191906000526020600020905b815481529060010190602001808311613e5057829003601f168201915b50505050508260010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600f54846000015401614a4b565b5b8060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16816003016040518082805460018160011615610100020316600290048015613f405780601f10613f1e576101008083540402835291820191613f40565b820191906000526020600020905b815481529060010190602001808311613f2c575b50509150506040518091039020837faceaed6bd2aa74370ec6f08d2ea5d605a5d1d5290e62e4054dde705a68b1728f84600001546040518082815260200191505060405180910390a4601a60008381526020019081526020016000206000808201600090556001820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556002820160009055600382016000613fe4919061594a565b6004820160006101000a81549060ff0219169055600582016000905550505050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6140a2613143565b15156140ad57600080fd5b6140b681614d79565b50565b6060601e60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080548060200260200160405190810160405280929190818152602001828054801561414457602002820191906000526020600020905b815481526020019060010190808311614130575b50505050509050919050565b6000806001600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415915050919050565b6000806141ce83612ce9565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148061423d57508373ffffffffffffffffffffffffffffffffffffffff166142258461164e565b73ffffffffffffffffffffffffffffffffffffffff16145b8061424e575061424d8185614006565b5b91505092915050565b614262838383614e75565b61426c838261503c565b61427682826151e0565b505050565b6000808060018401915081845101905060008090505b8183101561432e57600060ff845116905060808160ff1610156142b957600184019350614320565b60e08160ff1610156142d05760028401935061431f565b60f08160ff1610156142e75760038401935061431e565b60f88160ff1610156142fe5760048401935061431d565b60fc8160ff1610156143155760058401935061431c565b6006840193505b5b5b5b5b508080600101915050614291565b809350505050919050565b601760008381526020019081526020016000206000808201600061435d919061594a565b600182016000905560028201600090556003820160006101000a81549060ff0219169055600482016000905550506018816040518082805190602001908083835b6020831015156143c3578051825260208201915060208101905060208303925061439e565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905561442b61442583612ce9565b836152a7565b5050565b600080828401905083811015151561444657600080fd5b8091505092915050565b600082821115151561446157600080fd5b600082840390508091505092915050565b600081600001549050919050565b600061448b82615306565b15156144e2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526029815260200180615c616029913960400191505060405180910390fd5b6000601b836040518082805190602001908083835b60208310151561451c57805182526020820191506020810190506020830392506144f7565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020541415156145a8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526032815260200180615c2f6032913960400191505060405180910390fd5b60006145b46016614472565b905060006010544201905060c06040519081016040528060008152602001600073ffffffffffffffffffffffffffffffffffffffff1681526020018281526020018581526020016000151581526020016000815250601a60008481526020019081526020016000206000820151816000015560208201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550604082015181600201556060820151816003019080519060200190614693929190615992565b5060808201518160040160006101000a81548160ff02191690831515021790555060a0820151816005015590505081601b856040518082805190602001908083835b6020831015156146fa57805182526020820191506020810190506020830392506146d5565b6001836020036101000a03801982511681845116808217855250505050505090500191505090815260200160405180910390208190555061473b60166153c9565b836040518082805190602001908083835b602083101515614771578051825260208201915060208101905060208303925061474c565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020827fc9e6ae6c9d89016091c6f86d1ce7f017a90d6836ba5d048eb869e1d294632952836040518082815260200191505060405180910390a38192505050919050565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050919050565b60006148498473ffffffffffffffffffffffffffffffffffffffff166153df565b15156148585760019050614a43565b60008473ffffffffffffffffffffffffffffffffffffffff1663150b7a02338887876040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561494f578082015181840152602081019050614934565b50505050905090810190601f16801561497c5780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b15801561499e57600080fd5b505af11580156149b2573d6000803e3d6000fd5b505050506040513d60208110156149c857600080fd5b8101908080519060200190929190505050905063150b7a027c0100000000000000000000000000000000000000000000000000000000027bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149150505b949350505050565b614a5483615306565b1515614ac8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f446f6d61696e20697320616c726561647920726567697374657265640000000081525060200191505060405180910390fd5b6000614ad46015614472565b9050614ae083826153f2565b614aea60156153c9565b600e54600d6000828254019250508190555060a060405190810160405280858152602001600e5484038152602001600e5481526020016000151581526020016301e133804201815250601760008381526020019081526020016000206000820151816000019080519060200190614b62929190615992565b50602082015181600101556040820151816002015560608201518160030160006101000a81548160ff02191690831515021790555060808201518160040155905050826018856040518082805190602001908083835b602083101515614bdd5780518252602082019150602081019050602083039250614bb8565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601b846040518082805190602001908083835b602083101515614c865780518252602082019150602081019050602083039250614c61565b6001836020036101000a03801982511681845116808217855250505050505090500191505090815260200160405180910390206000905580846040518082805190602001908083835b602083101515614cf45780518252602082019150602081019050602083039250614ccf565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390208473ffffffffffffffffffffffffffffffffffffffff167fe9bfb1194e9bdd343764924abfcba1f341ecabc096033bab9d9e3e8087fe28d0600e5486036040518082815260200191505060405180910390a450505050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515614db557600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b8273ffffffffffffffffffffffffffffffffffffffff16614e9582612ce9565b73ffffffffffffffffffffffffffffffffffffffff16141515614eb757600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614151515614ef357600080fd5b614efc81615413565b614f43600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206154d3565b614f8a600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206153c9565b816001600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4505050565b60006150946001600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054905061445090919063ffffffff16565b90506000600660008481526020019081526020016000205490508181141515615187576000600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208381548110151561510557fe5b9060005260206000200154905080600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208381548110151561515f57fe5b9060005260206000200181905550816006600083815260200190815260200160002081905550505b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054809190600190036151d99190615a12565b5050505050565b600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490506006600083815260200190815260200160002081905550600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190806001815401808255809150509060018203906000526020600020016000909192909190915055505050565b6152b182826154f6565b6000600b600083815260200190815260200160002080546001816001161561010002031660029004905014151561530257600b60008281526020019081526020016000206000615301919061594a565b5b5050565b60008073ffffffffffffffffffffffffffffffffffffffff166018836040518082805190602001908083835b6020831015156153575780518252602082019150602081019050602083039250615332565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16149050919050565b6001816000016000828254019250508190555050565b600080823b905060008111915050919050565b6153fc8282615530565b61540682826151e0565b61540f8161567a565b5050565b600073ffffffffffffffffffffffffffffffffffffffff166002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415156154d05760006002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b50565b6154eb6001826000015461445090919063ffffffff16565b816000018190555050565b61550082826156c6565b61550a828261503c565b6000600660008381526020019081526020016000208190555061552c8161580b565b5050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415151561556c57600080fd5b61557581614150565b15151561558157600080fd5b816001600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061561a600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206153c9565b808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45050565b6007805490506008600083815260200190815260200160002081905550600781908060018154018082558091505090600182039060005260206000200160009091929091909150555050565b8173ffffffffffffffffffffffffffffffffffffffff166156e682612ce9565b73ffffffffffffffffffffffffffffffffffffffff1614151561570857600080fd5b61571181615413565b615758600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206154d3565b60006001600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45050565b6000615826600160078054905061445090919063ffffffff16565b9050600060086000848152602001908152602001600020549050600060078381548110151561585157fe5b906000526020600020015490508060078381548110151561586e57fe5b906000526020600020018190555081600860008381526020019081526020016000208190555060078054809190600190036158a99190615a12565b506000600860008681526020019081526020016000208190555050505050565b60a060405190810160405280606081526020016000815260200160008152602001600015158152602001600081525090565b60c06040519081016040528060008152602001600073ffffffffffffffffffffffffffffffffffffffff1681526020016000815260200160608152602001600015158152602001600081525090565b50805460018160011615610100020316600290046000825580601f10615970575061598f565b601f01602090049060005260206000209081019061598e9190615a3e565b5b50565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106159d357805160ff1916838001178555615a01565b82800160010185558215615a01579182015b82811115615a005782518255916020019190600101906159e5565b5b509050615a0e9190615a3e565b5090565b815481835581811115615a3957818360005260206000209182019101615a389190615a3e565b5b505050565b615a6091905b80821115615a5c576000816000905550600101615a44565b5090565b9056fe4f6e6c7920746865206f776e6572206f662074686520646f6d61696e2063616e2073657420697473206164647265737343616e6e6f74206269642061667465722061756374696f6e2068617320656e6465644f6e6c7920746865206f776e6572206f66206120646f6d61696e2063616e206465726567697374657243616e206f6e6c79207472616e736665722061636372756564206665657320746f206f776e657243616e6e6f742072657665616c206265666f72652061756374696f6e2068617320656e6465642c206f722061667465722072657665616c20706572696f642068617320656e646564426964646572206d75737420617474616368206120676f6f64206265686176696f757220626f6e644f6e6c79206175746f2d72656e6577696e6720646f6d61696e732063616e20706179206475657343616e6e6f742066696e616c697a65207468652061756374696f6e20746f6f206561726c7943616e6e6f7420636c6f736520616e2061756374696f6e20746f6f206561726c792c206f722061667465722069742068617320616c7265616479206265656e20636c6f736564536563726574206f722061747461636865642076616c7565207765726520696e636f7272656374546865726520697320616c726561647920616e206163746976652061756374696f6e20666f72207468697320646f6d61696e43616e277420726567697374657220616e20616c7265616479206578697374696e6720646f6d61696ea165627a7a723058207a2d2285d142b7c664977c564f89c9bf0eb57160271b401b66161bc25ee0ae6c0029