VeChain
Explorer
Testnet
Search
Networks
Main
Test
Contract
0x10A2E1…4E50
Summary
Transactions
Transfers
Address
0x10A2E1091998afFe93863478cFa83E5e93Cb4E50
VET
0.00
VET
VTHO
0.00
VTHO
Master
0xe61551950adB6bB088eb950cd8d0C954a6449d42
Deployer
0xe61551950adB6bB088eb950cd8d0C954a6449d42
Code
0x6080604052600436106102f25760003560e01c806370a082311161018f578063a217fddf116100e1578063d547741f1161008a578063f1127ed811610064578063f1127ed8146109e5578063f72c0d8b14610a44578063f8c8765e14610a7857600080fd5b8063d547741f1461091f578063dd62ed3e1461093f578063e63ab1e9146109b157600080fd5b8063c3cda520116100bb578063c3cda520146108ab578063d505accf146108cb578063d5391393146108eb57600080fd5b8063a217fddf1461082d578063a9059cbb14610842578063ad3cb1cc1461086257600080fd5b80638da5cb5b1161014357806391ddadf41161011d57806391ddadf4146107cc57806395d89b41146107f85780639ab24eb01461080d57600080fd5b80638da5cb5b146107135780638e539e8c1461073a57806391d148541461075a57600080fd5b80637ecebe00116101745780637ecebe00146106b65780638456cb59146106d657806384b0196e146106eb57600080fd5b806370a082311461067657806379cc67901461069657600080fd5b80633f4ba83a1161024857806352d1902d116101fc5780635c975abb116101d65780635c975abb146105ea57806368573107146106215780636fcfff451461064157600080fd5b806352d1902d1461052b578063587cde1e146105405780635c19a95c146105ca57600080fd5b806342966c681161022d57806342966c68146104e35780634bf5d7e9146105035780634f1ef2861461051857600080fd5b80633f4ba83a146104ae57806340c10f19146104c357600080fd5b8063248a9ca3116102aa5780633644e515116102845780633644e5151461045957806336568abe1461046e5780633a46b1a81461048e57600080fd5b8063248a9ca3146103cc5780632f2ff15d1461041b578063313ce5671461043d57600080fd5b8063095ea7b3116102db578063095ea7b31461034e57806318160ddd1461036e57806323b872dd146103ac57600080fd5b806301ffc9a7146102f757806306fdde031461032c575b600080fd5b34801561030357600080fd5b50610317610312366004613d51565b610a98565b60405190151581526020015b60405180910390f35b34801561033857600080fd5b50610341610b31565b6040516103239190613e01565b34801561035a57600080fd5b50610317610369366004613e3d565b610bec565b34801561037a57600080fd5b507f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace02545b604051908152602001610323565b3480156103b857600080fd5b506103176103c7366004613e67565b610c04565b3480156103d857600080fd5b5061039e6103e7366004613ea3565b60009081527f02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800602052604090206001015490565b34801561042757600080fd5b5061043b610436366004613ebc565b610c2a565b005b34801561044957600080fd5b5060405160128152602001610323565b34801561046557600080fd5b5061039e610c74565b34801561047a57600080fd5b5061043b610489366004613ebc565b610c83565b34801561049a57600080fd5b5061039e6104a9366004613e3d565b610ce1565b3480156104ba57600080fd5b5061043b610dc4565b3480156104cf57600080fd5b5061043b6104de366004613e3d565b610df9565b3480156104ef57600080fd5b5061043b6104fe366004613ea3565b610e2d565b34801561050f57600080fd5b50610341610e37565b61043b610526366004613f17565b610ec8565b34801561053757600080fd5b5061039e610ee7565b34801561054c57600080fd5b506105a561055b366004613ff7565b73ffffffffffffffffffffffffffffffffffffffff90811660009081527fe8b26c30fad74198956032a3533d903385d56dd795af560196f9c78d4af40d0060205260409020541690565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610323565b3480156105d657600080fd5b5061043b6105e5366004613ff7565b610f16565b3480156105f657600080fd5b507fcd5ed15c6e187e77e9aee88184c21f4f2182ab5827cb3b7e07fbedcd63f033005460ff16610317565b34801561062d57600080fd5b5061043b61063c36600461405e565b610f21565b34801561064d57600080fd5b5061066161065c366004613ff7565b61103d565b60405163ffffffff9091168152602001610323565b34801561068257600080fd5b5061039e610691366004613ff7565b611048565b3480156106a257600080fd5b5061043b6106b1366004613e3d565b61109a565b3480156106c257600080fd5b5061039e6106d1366004613ff7565b6110af565b3480156106e257600080fd5b5061043b6110ba565b3480156106f757600080fd5b506107006110ec565b60405161032397969594939291906140ca565b34801561071f57600080fd5b5073981ebf8f1f98465f93fd0208a0b5e531ddc378156105a5565b34801561074657600080fd5b5061039e610755366004613ea3565b6111e8565b34801561076657600080fd5b50610317610775366004613ebc565b60009182527f02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b6268006020908152604080842073ffffffffffffffffffffffffffffffffffffffff93909316845291905290205460ff1690565b3480156107d857600080fd5b506107e16112a2565b60405165ffffffffffff9091168152602001610323565b34801561080457600080fd5b506103416112ac565b34801561081957600080fd5b5061039e610828366004613ff7565b6112fd565b34801561083957600080fd5b5061039e600081565b34801561084e57600080fd5b5061031761085d366004613e3d565b61138f565b34801561086e57600080fd5b506103416040518060400160405280600581526020017f352e302e3000000000000000000000000000000000000000000000000000000081525081565b3480156108b757600080fd5b5061043b6108c636600461419d565b61139d565b3480156108d757600080fd5b5061043b6108e63660046141f5565b611480565b3480156108f757600080fd5b5061039e7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a681565b34801561092b57600080fd5b5061043b61093a366004613ebc565b61164c565b34801561094b57600080fd5b5061039e61095a36600461425f565b73ffffffffffffffffffffffffffffffffffffffff91821660009081527f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace016020908152604080832093909416825291909152205490565b3480156109bd57600080fd5b5061039e7f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a81565b3480156109f157600080fd5b50610a05610a00366004614289565b611690565b60408051825165ffffffffffff16815260209283015179ffffffffffffffffffffffffffffffffffffffffffffffffffff169281019290925201610323565b348015610a5057600080fd5b5061039e7f189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e381565b348015610a8457600080fd5b5061043b610a933660046142c9565b6116ae565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b000000000000000000000000000000000000000000000000000000001480610b2b57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b606060007f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace005b9050806003018054610b689061431d565b80601f0160208091040260200160405190810160405280929190818152602001828054610b949061431d565b8015610be15780601f10610bb657610100808354040283529160200191610be1565b820191906000526020600020905b815481529060010190602001808311610bc457829003601f168201915b505050505091505090565b600033610bfa81858561198f565b5060019392505050565b600033610c1285828561199c565b610c1d858585611a84565b60019150505b9392505050565b60008281527f02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b6268006020526040902060010154610c6481611b2f565b610c6e8383611b39565b50505050565b6000610c7e611c61565b905090565b73ffffffffffffffffffffffffffffffffffffffff81163314610cd2576040517f6697b23200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610cdc8282611c6b565b505050565b60007fe8b26c30fad74198956032a3533d903385d56dd795af560196f9c78d4af40d0081610d0d6112a2565b90508065ffffffffffff168410610d66576040517fecd3f81e0000000000000000000000000000000000000000000000000000000081526004810185905265ffffffffffff821660248201526044015b60405180910390fd5b610d9f610d7285611d49565b73ffffffffffffffffffffffffffffffffffffffff87166000908152600185016020526040902090611d99565b79ffffffffffffffffffffffffffffffffffffffffffffffffffff1695945050505050565b7f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a610dee81611b2f565b610df6611e65565b50565b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6610e2381611b2f565b610cdc8383611f02565b610df63382611f5e565b6060610e41611fba565b65ffffffffffff16610e516112a2565b65ffffffffffff1614610e90576040517f6ff0714000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5060408051808201909152601d81527f6d6f64653d626c6f636b6e756d6265722666726f6d3d64656661756c74000000602082015290565b610ed0611fc5565b610ed9826120cb565b610ee382826120f5565b5050565b6000610ef161222e565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b33610ee3818361229d565b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6610f4b81611b2f565b838214610fda576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f526563697069656e747320616e6420616d6f756e7473206c656e677468206d6960448201527f736d6174636800000000000000000000000000000000000000000000000000006064820152608401610d5d565b60005b848110156110355761102d868683818110610ffa57610ffa614370565b905060200201602081019061100f9190613ff7565b85858481811061102157611021614370565b90506020020135611f02565b600101610fdd565b505050505050565b6000610b2b826123a3565b6000807f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace005b73ffffffffffffffffffffffffffffffffffffffff90931660009081526020939093525050604090205490565b6110a582338361199c565b610ee38282611f5e565b6000610b2b82612413565b7f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a6110e481611b2f565b610df661241e565b600060608082808083817fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d100805490915015801561112b57506001810154155b611191576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4549503731323a20556e696e697469616c697a656400000000000000000000006044820152606401610d5d565b611199612497565b6111a16124e8565b604080516000808252602082019092527f0f000000000000000000000000000000000000000000000000000000000000009c939b5091995046985030975095509350915050565b60007fe8b26c30fad74198956032a3533d903385d56dd795af560196f9c78d4af40d00816112146112a2565b90508065ffffffffffff168410611268576040517fecd3f81e0000000000000000000000000000000000000000000000000000000081526004810185905265ffffffffffff82166024820152604401610d5d565b61127e61127485611d49565b6002840190611d99565b79ffffffffffffffffffffffffffffffffffffffffffffffffffff16949350505050565b6000610c7e611fba565b7f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace0480546060917f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace0091610b689061431d565b73ffffffffffffffffffffffffffffffffffffffff811660009081527fe8b26c30fad74198956032a3533d903385d56dd795af560196f9c78d4af40d01602052604081207fe8b26c30fad74198956032a3533d903385d56dd795af560196f9c78d4af40d009061136c90612512565b79ffffffffffffffffffffffffffffffffffffffffffffffffffff169392505050565b600033610bfa818585611a84565b834211156113da576040517f4683af0e00000000000000000000000000000000000000000000000000000000815260048101859052602401610d5d565b604080517fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf602082015273ffffffffffffffffffffffffffffffffffffffff8816918101919091526060810186905260808101859052600090611461906114599060a00160405160208183030381529060405280519060200120612561565b8585856125a9565b905061146d81876125d7565b611477818861229d565b50505050505050565b834211156114bd576040517f6279130200000000000000000000000000000000000000000000000000000000815260048101859052602401610d5d565b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98888886115368c73ffffffffffffffffffffffffffffffffffffffff1660009081527f5ab42ced628888259c08ac98db1eb0cf702fc1501344311d8b100cd1bfe4bb006020526040902080546001810190915590565b60408051602081019690965273ffffffffffffffffffffffffffffffffffffffff94851690860152929091166060840152608083015260a082015260c0810186905260e001604051602081830303815290604052805190602001209050600061159e82612561565b905060006115ae828787876125a9565b90508973ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614611635576040517f4b800e4600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff80831660048301528b166024820152604401610d5d565b6116408a8a8a61198f565b50505050505050505050565b60008281527f02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800602052604090206001015461168681611b2f565b610c6e8383611c6b565b6040805180820190915260008082526020820152610c23838361267c565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000810460ff16159067ffffffffffffffff166000811580156116f95750825b905060008267ffffffffffffffff1660011480156117165750303b155b905081158015611724575080155b1561175b576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84547fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000016600117855583156117bc5784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff16680100000000000000001785555b6118306040518060400160405280600b81526020017f7665742e646f6d61696e730000000000000000000000000000000000000000008152506040518060400160405280600381526020017f564e530000000000000000000000000000000000000000000000000000000000815250612706565b611838612718565b611840612720565b611848612718565b6118866040518060400160405280600b81526020017f7665742e646f6d61696e73000000000000000000000000000000000000000000815250612730565b61188e612718565b611896612718565b6118a160008a611b39565b506118cc7f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a89611b39565b506118f77f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a688611b39565b506119227f189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e387611b39565b5083156119845784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b505050505050505050565b610cdc8383836001612777565b73ffffffffffffffffffffffffffffffffffffffff83811660009081527f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace0160209081526040808320938616835292905220547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610c6e5781811015611a75576040517ffb8f41b200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff841660048201526024810182905260448101839052606401610d5d565b610c6e84848484036000612777565b73ffffffffffffffffffffffffffffffffffffffff8316611ad4576040517f96c6fd1e00000000000000000000000000000000000000000000000000000000815260006004820152602401610d5d565b73ffffffffffffffffffffffffffffffffffffffff8216611b24576040517fec442f0500000000000000000000000000000000000000000000000000000000815260006004820152602401610d5d565b610cdc8383836128e4565b610df681336128ef565b60008281527f02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b6268006020818152604080842073ffffffffffffffffffffffffffffffffffffffff8616855290915282205460ff16611c505760008481526020828152604080832073ffffffffffffffffffffffffffffffffffffffff87168452909152902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055611bec3390565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16857f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a46001915050610b2b565b6000915050610b2b565b5092915050565b6000610c7e612996565b60008281527f02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b6268006020818152604080842073ffffffffffffffffffffffffffffffffffffffff8616855290915282205460ff1615611c505760008481526020828152604080832073ffffffffffffffffffffffffffffffffffffffff8716808552925280832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016905551339287917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a46001915050610b2b565b600065ffffffffffff821115611d95576040517f6dfcc6500000000000000000000000000000000000000000000000000000000081526030600482015260248101839052604401610d5d565b5090565b815460009081816005811115611df8576000611db484612a0a565b611dbe90856143ce565b60008881526020902090915081015465ffffffffffff9081169087161015611de857809150611df6565b611df38160016143e1565b92505b505b6000611e0687878585612af2565b90508015611e5757611e2b87611e1d6001846143ce565b600091825260209091200190565b546601000000000000900479ffffffffffffffffffffffffffffffffffffffffffffffffffff16611e5a565b60005b979650505050505050565b611e6d612b54565b7fcd5ed15c6e187e77e9aee88184c21f4f2182ab5827cb3b7e07fbedcd63f0330080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001681557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390a150565b73ffffffffffffffffffffffffffffffffffffffff8216611f52576040517fec442f0500000000000000000000000000000000000000000000000000000000815260006004820152602401610d5d565b610ee3600083836128e4565b73ffffffffffffffffffffffffffffffffffffffff8216611fae576040517f96c6fd1e00000000000000000000000000000000000000000000000000000000815260006004820152602401610d5d565b610ee3826000836128e4565b6000610c7e43611d49565b3073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000010a2e1091998affe93863478cfa83e5e93cb4e5016148061209257507f00000000000000000000000010a2e1091998affe93863478cfa83e5e93cb4e5073ffffffffffffffffffffffffffffffffffffffff166120797f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1614155b156120c9576040517fe07c8dba00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b7f189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e3610ee381611b2f565b8173ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801561217a575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201909252612177918101906143f4565b60015b6121c8576040517f4c9c8ce300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83166004820152602401610d5d565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8114612224576040517faa1d49a400000000000000000000000000000000000000000000000000000000815260048101829052602401610d5d565b610cdc8383612baf565b3073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000010a2e1091998affe93863478cfa83e5e93cb4e5016146120c9576040517fe07c8dba00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7fe8b26c30fad74198956032a3533d903385d56dd795af560196f9c78d4af40d00600061230e8473ffffffffffffffffffffffffffffffffffffffff90811660009081527fe8b26c30fad74198956032a3533d903385d56dd795af560196f9c78d4af40d0060205260409020541690565b73ffffffffffffffffffffffffffffffffffffffff85811660008181526020869052604080822080547fffffffffffffffffffffffff000000000000000000000000000000000000000016898616908117909155905194955093928516927f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f9190a4610c6e818461239e87612c12565b612c1d565b73ffffffffffffffffffffffffffffffffffffffff811660009081527fe8b26c30fad74198956032a3533d903385d56dd795af560196f9c78d4af40d0160205260408120547fe8b26c30fad74198956032a3533d903385d56dd795af560196f9c78d4af40d0090610c2390612e50565b6000610b2b82612e9a565b612426612ec3565b7fcd5ed15c6e187e77e9aee88184c21f4f2182ab5827cb3b7e07fbedcd63f0330080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011781557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25833611ed7565b7fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d10280546060917fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d10091610b689061431d565b606060007fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d100610b57565b805460009080156125585761252c83611e1d6001846143ce565b546601000000000000900479ffffffffffffffffffffffffffffffffffffffffffffffffffff16610c23565b60009392505050565b6000610b2b61256e611c61565b836040517f19010000000000000000000000000000000000000000000000000000000000008152600281019290925260228201526042902090565b6000806000806125bb88888888612f1f565b9250925092506125cb8282613019565b50909695505050505050565b73ffffffffffffffffffffffffffffffffffffffff821660009081527f5ab42ced628888259c08ac98db1eb0cf702fc1501344311d8b100cd1bfe4bb0060205260409020805460018101909155818114610cdc576040517f752d88c000000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8416600482015260248101829052604401610d5d565b6040805180820182526000808252602080830182905273ffffffffffffffffffffffffffffffffffffffff861682527fe8b26c30fad74198956032a3533d903385d56dd795af560196f9c78d4af40d019052919091207fe8b26c30fad74198956032a3533d903385d56dd795af560196f9c78d4af40d00906126fe908461311d565b949350505050565b61270e6131a3565b610ee3828261320a565b6120c96131a3565b6127286131a3565b6120c961326d565b6127386131a3565b610df6816040518060400160405280600181526020017f31000000000000000000000000000000000000000000000000000000000000008152506132be565b7f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace0073ffffffffffffffffffffffffffffffffffffffff85166127e8576040517fe602df0500000000000000000000000000000000000000000000000000000000815260006004820152602401610d5d565b73ffffffffffffffffffffffffffffffffffffffff8416612838576040517f94280d6200000000000000000000000000000000000000000000000000000000815260006004820152602401610d5d565b73ffffffffffffffffffffffffffffffffffffffff8086166000908152600183016020908152604080832093881683529290522083905581156128dd578373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925856040516128d491815260200190565b60405180910390a35b5050505050565b610cdc838383613331565b60008281527f02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b6268006020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff16610ee3576040517fe2517d3f00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8216600482015260248101839052604401610d5d565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f6129c16133f0565b6129c961346c565b60408051602081019490945283019190915260608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b600081600003612a1c57506000919050565b60006001612a29846134c2565b901c6001901b90506001818481612a4257612a4261440d565b048201901c90506001818481612a5a57612a5a61440d565b048201901c90506001818481612a7257612a7261440d565b048201901c90506001818481612a8a57612a8a61440d565b048201901c90506001818481612aa257612aa261440d565b048201901c90506001818481612aba57612aba61440d565b048201901c90506001818481612ad257612ad261440d565b048201901c9050610c2381828581612aec57612aec61440d565b04613556565b60005b81831015612b4c576000612b09848461356c565b60008781526020902090915065ffffffffffff86169082015465ffffffffffff161115612b3857809250612b46565b612b438160016143e1565b93505b50612af5565b509392505050565b7fcd5ed15c6e187e77e9aee88184c21f4f2182ab5827cb3b7e07fbedcd63f033005460ff166120c9576040517f8dfc202b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612bb882613587565b60405173ffffffffffffffffffffffffffffffffffffffff8316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a2805115612c0a57610cdc8282613656565b610ee36136d9565b6000610b2b82611048565b7fe8b26c30fad74198956032a3533d903385d56dd795af560196f9c78d4af40d0073ffffffffffffffffffffffffffffffffffffffff84811690841614801590612c675750600082115b15610c6e5773ffffffffffffffffffffffffffffffffffffffff841615612d5e5773ffffffffffffffffffffffffffffffffffffffff8416600090815260018201602052604081208190612cc690613711612cc18761371d565b61377d565b79ffffffffffffffffffffffffffffffffffffffffffffffffffff16915079ffffffffffffffffffffffffffffffffffffffffffffffffffff1691508573ffffffffffffffffffffffffffffffffffffffff167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051612d53929190918252602082015260400190565b60405180910390a250505b73ffffffffffffffffffffffffffffffffffffffff831615610c6e5773ffffffffffffffffffffffffffffffffffffffff8316600090815260018201602052604081208190612db3906137b6612cc18761371d565b79ffffffffffffffffffffffffffffffffffffffffffffffffffff16915079ffffffffffffffffffffffffffffffffffffffffffffffffffff1691508473ffffffffffffffffffffffffffffffffffffffff167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051612e40929190918252602082015260400190565b60405180910390a2505050505050565b600063ffffffff821115611d95576040517f6dfcc6500000000000000000000000000000000000000000000000000000000081526020600482015260248101839052604401610d5d565b6000807f5ab42ced628888259c08ac98db1eb0cf702fc1501344311d8b100cd1bfe4bb0061106d565b7fcd5ed15c6e187e77e9aee88184c21f4f2182ab5827cb3b7e07fbedcd63f033005460ff16156120c9576040517fd93c066500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0841115612f5a575060009150600390508261300f565b604080516000808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa158015612fae573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff81166130055750600092506001915082905061300f565b9250600091508190505b9450945094915050565b600082600381111561302d5761302d61443c565b03613036575050565b600182600381111561304a5761304a61443c565b03613081576040517ff645eedf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60028260038111156130955761309561443c565b036130cf576040517ffce698f700000000000000000000000000000000000000000000000000000000815260048101829052602401610d5d565b60038260038111156130e3576130e361443c565b03610ee3576040517fd78bce0c00000000000000000000000000000000000000000000000000000000815260048101829052602401610d5d565b6040805180820190915260008082526020820152826000018263ffffffff168154811061314c5761314c614370565b60009182526020918290206040805180820190915291015465ffffffffffff811682526601000000000000900479ffffffffffffffffffffffffffffffffffffffffffffffffffff16918101919091529392505050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005468010000000000000000900460ff166120c9576040517fd7e6bcf800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6132126131a3565b7f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace007f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace0361325e84826144b3565b5060048101610c6e83826144b3565b6132756131a3565b7fcd5ed15c6e187e77e9aee88184c21f4f2182ab5827cb3b7e07fbedcd63f0330080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055565b6132c66131a3565b7fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d1007fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d10261331284826144b3565b506003810161332183826144b3565b5060008082556001909101555050565b61333c8383836137c2565b73ffffffffffffffffffffffffffffffffffffffff83166133e55760006133817f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace025490565b905079ffffffffffffffffffffffffffffffffffffffffffffffffffff808211156133e2576040517f1cb15d260000000000000000000000000000000000000000000000000000000081526004810183905260248101829052604401610d5d565b50505b610cdc8383836137d5565b60007fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d1008161341c612497565b80519091501561343457805160209091012092915050565b81548015613443579392505050565b7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470935050505090565b60007fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d100816134986124e8565b8051909150156134b057805160209091012092915050565b60018201548015613443579392505050565b600080608083901c156134d757608092831c92015b604083901c156134e957604092831c92015b602083901c156134fb57602092831c92015b601083901c1561350d57601092831c92015b600883901c1561351f57600892831c92015b600483901c1561353157600492831c92015b600283901c1561354357600292831c92015b600183901c15610b2b5760010192915050565b60008183106135655781610c23565b5090919050565b600061357b60028484186145cd565b610c23908484166143e1565b8073ffffffffffffffffffffffffffffffffffffffff163b6000036135f0576040517f4c9c8ce300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82166004820152602401610d5d565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60606000808473ffffffffffffffffffffffffffffffffffffffff16846040516136809190614608565b600060405180830381855af49150503d80600081146136bb576040519150601f19603f3d011682016040523d82523d6000602084013e6136c0565b606091505b50915091506136d08583836138b6565b95945050505050565b34156120c9576040517fb398979f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610c238284614624565b600079ffffffffffffffffffffffffffffffffffffffffffffffffffff821115611d95576040517f6dfcc65000000000000000000000000000000000000000000000000000000000815260d0600482015260248101839052604401610d5d565b6000806137a961378b6112a2565b6137a161379788612512565b868863ffffffff16565b879190613945565b915091505b935093915050565b6000610c238284614657565b6137ca612ec3565b610cdc838383613953565b7fe8b26c30fad74198956032a3533d903385d56dd795af560196f9c78d4af40d0073ffffffffffffffffffffffffffffffffffffffff841661382757613824816002016137b6612cc18561371d565b50505b73ffffffffffffffffffffffffffffffffffffffff83166138585761385581600201613711612cc18561371d565b50505b73ffffffffffffffffffffffffffffffffffffffff84811660009081527fe8b26c30fad74198956032a3533d903385d56dd795af560196f9c78d4af40d006020526040808220548684168352912054610c6e92918216911684612c1d565b6060826138cb576138c682613b24565b610c23565b81511580156138ef575073ffffffffffffffffffffffffffffffffffffffff84163b155b1561393e576040517f9996b31500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85166004820152602401610d5d565b5080610c23565b6000806137a9858585613b66565b7f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace0073ffffffffffffffffffffffffffffffffffffffff84166139ae57818160020160008282546139a391906143e1565b90915550613a609050565b73ffffffffffffffffffffffffffffffffffffffff841660009081526020829052604090205482811015613a34576040517fe450d38c00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff861660048201526024810182905260448101849052606401610d5d565b73ffffffffffffffffffffffffffffffffffffffff851660009081526020839052604090209083900390555b73ffffffffffffffffffffffffffffffffffffffff8316613a8b576002810180548390039055613ab7565b73ffffffffffffffffffffffffffffffffffffffff831660009081526020829052604090208054830190555b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051613b1691815260200190565b60405180910390a350505050565b805115613b345780518082602001fd5b6040517f1425ea4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b825460009081908015613ce0576000613b8487611e1d6001856143ce565b60408051808201909152905465ffffffffffff808216808452660100000000000090920479ffffffffffffffffffffffffffffffffffffffffffffffffffff1660208401529192509087161015613c07576040517f2520601d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805165ffffffffffff808816911603613c695784613c2a88611e1d6001866143ce565b805479ffffffffffffffffffffffffffffffffffffffffffffffffffff9290921666010000000000000265ffffffffffff909216919091179055613cd0565b6040805180820190915265ffffffffffff808816825279ffffffffffffffffffffffffffffffffffffffffffffffffffff80881660208085019182528b54600181018d5560008d815291909120945191519092166601000000000000029216919091179101555b6020015192508391506137ae9050565b50506040805180820190915265ffffffffffff808516825279ffffffffffffffffffffffffffffffffffffffffffffffffffff80851660208085019182528854600181018a5560008a81529182209551925190931666010000000000000291909316179201919091559050816137ae565b600060208284031215613d6357600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610c2357600080fd5b60005b83811015613dae578181015183820152602001613d96565b50506000910152565b60008151808452613dcf816020860160208601613d93565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000610c236020830184613db7565b803573ffffffffffffffffffffffffffffffffffffffff81168114613e3857600080fd5b919050565b60008060408385031215613e5057600080fd5b613e5983613e14565b946020939093013593505050565b600080600060608486031215613e7c57600080fd5b613e8584613e14565b9250613e9360208501613e14565b9150604084013590509250925092565b600060208284031215613eb557600080fd5b5035919050565b60008060408385031215613ecf57600080fd5b82359150613edf60208401613e14565b90509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60008060408385031215613f2a57600080fd5b613f3383613e14565b9150602083013567ffffffffffffffff80821115613f5057600080fd5b818501915085601f830112613f6457600080fd5b813581811115613f7657613f76613ee8565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908382118183101715613fbc57613fbc613ee8565b81604052828152886020848701011115613fd557600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b60006020828403121561400957600080fd5b610c2382613e14565b60008083601f84011261402457600080fd5b50813567ffffffffffffffff81111561403c57600080fd5b6020830191508360208260051b850101111561405757600080fd5b9250929050565b6000806000806040858703121561407457600080fd5b843567ffffffffffffffff8082111561408c57600080fd5b61409888838901614012565b909650945060208701359150808211156140b157600080fd5b506140be87828801614012565b95989497509550505050565b7fff00000000000000000000000000000000000000000000000000000000000000881681526000602060e0602084015261410760e084018a613db7565b8381036040850152614119818a613db7565b6060850189905273ffffffffffffffffffffffffffffffffffffffff8816608086015260a0850187905284810360c08601528551808252602080880193509091019060005b8181101561417a5783518352928401929184019160010161415e565b50909c9b505050505050505050505050565b803560ff81168114613e3857600080fd5b60008060008060008060c087890312156141b657600080fd5b6141bf87613e14565b955060208701359450604087013593506141db6060880161418c565b92506080870135915060a087013590509295509295509295565b600080600080600080600060e0888a03121561421057600080fd5b61421988613e14565b965061422760208901613e14565b955060408801359450606088013593506142436080890161418c565b925060a0880135915060c0880135905092959891949750929550565b6000806040838503121561427257600080fd5b61427b83613e14565b9150613edf60208401613e14565b6000806040838503121561429c57600080fd5b6142a583613e14565b9150602083013563ffffffff811681146142be57600080fd5b809150509250929050565b600080600080608085870312156142df57600080fd5b6142e885613e14565b93506142f660208601613e14565b925061430460408601613e14565b915061431260608601613e14565b905092959194509250565b600181811c9082168061433157607f821691505b60208210810361436a577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b81810381811115610b2b57610b2b61439f565b80820180821115610b2b57610b2b61439f565b60006020828403121561440657600080fd5b5051919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b601f821115610cdc576000816000526020600020601f850160051c810160208610156144945750805b601f850160051c820191505b81811015611035578281556001016144a0565b815167ffffffffffffffff8111156144cd576144cd613ee8565b6144e1816144db845461431d565b8461446b565b602080601f83116001811461453457600084156144fe5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555611035565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b8281101561458157888601518255948401946001909101908401614562565b50858210156145bd57878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b600082614603577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b6000825161461a818460208701613d93565b9190910192915050565b79ffffffffffffffffffffffffffffffffffffffffffffffffffff828116828216039080821115611c5a57611c5a61439f565b79ffffffffffffffffffffffffffffffffffffffffffffffffffff818116838216019080821115611c5a57611c5a61439f56fea2646970667358221220589d5f2cbc64e8b7db14784894d864bcd990c390e0a04b9f1b08e349e3e2f9e964736f6c63430008180033