VeChain
Explorer
Mainnet
Search
Networks
Main
Test
Contract
0x9FcbB7…0A97
Summary
Transactions
Transfers
Address
0x9FcbB708AFdf6A0E1d0bE6F2415F77407d050A97
VET
0.00
VET
VTHO
0.00
VTHO
Master
0xa3568b1f8Eb9E56A01beAcAD660244BF46be18F5
Deployer
0xa3568b1f8Eb9E56A01beAcAD660244BF46be18F5
Code
0x6080604052600436106103345760003560e01c80638456cb59116101b0578063c0447be7116100ec578063db006a7511610095578063ec35bef31161006f578063ec35bef314610a6d578063f08f9aed14610a8d578063f1127ed814610aad578063ffd7acb714610af957600080fd5b8063db006a75146109c8578063dd62ed3e146109e8578063e2ceba6414610a4d57600080fd5b8063cf8dae05116100c6578063cf8dae0514610968578063d505accf14610988578063d823c1d6146109a857600080fd5b8063c0447be7146108df578063c0c53b8b14610928578063c3cda5201461094857600080fd5b80639a99b4f011610159578063a9059cbb11610133578063a9059cbb14610819578063ad3cb1cc14610839578063bdd071fb14610882578063bf7e214f146108a257600080fd5b80639a99b4f0146107c45780639ab24eb0146107e4578063a1f4c6661461080457600080fd5b80638fb360371161018a5780638fb360371461073d57806391ddadf41461078357806395d89b41146107af57600080fd5b80638456cb59146106e057806384b0196e146106f55780638e539e8c1461071d57600080fd5b80634f1ef2861161027f5780636fcfff451161022857806379cc67901161020257806379cc6790146106535780637a9e5e4b146106735780637dc8bc4e146106935780637ecebe00146106c057600080fd5b80636fcfff45146105de57806370a08231146106135780637387f44d1461063357600080fd5b80635c19a95c116102595780635c19a95c146105675780635c975abb146105875780636789eaba146105be57600080fd5b80634f1ef286146104cf57806352d1902d146104e2578063587cde1e146104f757600080fd5b80633644e515116102e157806340c10f19116102bb57806340c10f191461047a57806342966c681461049a5780634bf5d7e9146104ba57600080fd5b80633644e515146104305780633a46b1a8146104455780633f4ba83a1461046557600080fd5b806318160ddd1161031257806318160ddd146103b657806323b872dd146103f4578063313ce5671461041457600080fd5b806306fdde0314610339578063095ea7b314610364578063142d081a14610394575b600080fd5b34801561034557600080fd5b5061034e610b26565b60405161035b9190614da9565b60405180910390f35b34801561037057600080fd5b5061038461037f366004614dd1565b610be1565b604051901515815260200161035b565b3480156103a057600080fd5b506103b46103af366004614dfd565b610bfb565b005b3480156103c257600080fd5b507f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace02545b60405190815260200161035b565b34801561040057600080fd5b5061038461040f366004614e16565b610dad565b34801561042057600080fd5b506040516012815260200161035b565b34801561043c57600080fd5b506103e6610dd3565b34801561045157600080fd5b506103e6610460366004614dd1565b610de2565b34801561047157600080fd5b506103b4610ea5565b34801561048657600080fd5b506103b4610495366004614dd1565b610ebc565b3480156104a657600080fd5b506103b46104b5366004614dfd565b61132b565b3480156104c657600080fd5b5061034e611335565b6103b46104dd366004614e6d565b6113c6565b3480156104ee57600080fd5b506103e66113e1565b34801561050357600080fd5b5061054f610512366004614f31565b6001600160a01b0390811660009081527fe8b26c30fad74198956032a3533d903385d56dd795af560196f9c78d4af40d0060205260409020541690565b6040516001600160a01b03909116815260200161035b565b34801561057357600080fd5b506103b4610582366004614f31565b611410565b34801561059357600080fd5b507fcd5ed15c6e187e77e9aee88184c21f4f2182ab5827cb3b7e07fbedcd63f033005460ff16610384565b3480156105ca57600080fd5b506103b46105d9366004614dd1565b61141b565b3480156105ea57600080fd5b506105fe6105f9366004614f31565b611968565b60405163ffffffff909116815260200161035b565b34801561061f57600080fd5b506103e661062e366004614f31565b611973565b34801561063f57600080fd5b506103e661064e366004614dd1565b6119b8565b34801561065f57600080fd5b506103b461066e366004614dd1565b611a47565b34801561067f57600080fd5b506103b461068e366004614f31565b611a5c565b34801561069f57600080fd5b506106b36106ae366004614dfd565b611b3b565b60405161035b9190614f4e565b3480156106cc57600080fd5b506103e66106db366004614f31565b611c14565b3480156106ec57600080fd5b506103b4611c1f565b34801561070157600080fd5b5061070a611c30565b60405161035b9796959493929190614f8f565b34801561072957600080fd5b506103e6610738366004614dfd565b611d12565b34801561074957600080fd5b50610752611db9565b6040517fffffffff00000000000000000000000000000000000000000000000000000000909116815260200161035b565b34801561078f57600080fd5b50610798611e2e565b60405165ffffffffffff909116815260200161035b565b3480156107bb57600080fd5b5061034e611e38565b3480156107d057600080fd5b506103b46107df366004614dd1565b611e89565b3480156107f057600080fd5b506103e66107ff366004614f31565b611f30565b34801561081057600080fd5b506103b4611fa2565b34801561082557600080fd5b50610384610834366004614dd1565b6120cc565b34801561084557600080fd5b5061034e6040518060400160405280600581526020017f352e302e3000000000000000000000000000000000000000000000000000000081525081565b34801561088e57600080fd5b506103b461089d366004615044565b6120da565b3480156108ae57600080fd5b507ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a00546001600160a01b031661054f565b3480156108eb57600080fd5b506109136108fa366004614dfd565b6004602052600090815260409020805460019091015482565b6040805192835260208301919091520161035b565b34801561093457600080fd5b506103b4610943366004615066565b61210e565b34801561095457600080fd5b506103b46109633660046150c7565b6124b7565b34801561097457600080fd5b506103b4610983366004614dfd565b61258d565b34801561099457600080fd5b506103b46109a3366004615121565b6127aa565b3480156109b457600080fd5b506103e66109c3366004614dd1565b612935565b3480156109d457600080fd5b506103b46109e3366004614dfd565b612956565b3480156109f457600080fd5b506103e6610a0336600461518f565b6001600160a01b0391821660009081527f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace016020908152604080832093909416825291909152205490565b348015610a5957600080fd5b506103b4610a68366004614f31565b612bf5565b348015610a7957600080fd5b5060005461054f906001600160a01b031681565b348015610a9957600080fd5b506103e6610aa8366004614dfd565b612c2d565b348015610ab957600080fd5b50610acd610ac83660046151da565b612c45565b60408051825165ffffffffffff1681526020928301516001600160d01b0316928101929092520161035b565b348015610b0557600080fd5b506103e6610b14366004614f31565b60016020526000908152604090205481565b606060007f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace005b9050806003018054610b5d90615208565b80601f0160208091040260200160405190810160405280929190818152602001828054610b8990615208565b8015610bd65780601f10610bab57610100808354040283529160200191610bd6565b820191906000526020600020905b815481529060010190602001808311610bb957829003601f168201915b505050505091505090565b600033610bef818585612c63565b60019150505b92915050565b60005460405163189d11c160e21b815282916001600160a01b031690636274470490610c4290600401602080825260049082015263766f743360e01b604082015260600190565b602060405180830381865afa158015610c5f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c839190615242565b6040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b0391909116906370a0823190602401602060405180830381865afa158015610ce2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d06919061525f565b10610d1757610d1481612956565b50565b610d208161132b565b336000908152600160205260408120549003610d8657600380546001810182556000919091527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b01805473ffffffffffffffffffffffffffffffffffffffff1916331790555b3360009081526001602052604081208054839290610da590849061528e565b909155505050565b600033610dbb858285612c70565b610dc6858585612d26565b60019150505b9392505050565b6000610ddd612db7565b905090565b60007fe8b26c30fad74198956032a3533d903385d56dd795af560196f9c78d4af40d0081610e0e611e2e565b90508065ffffffffffff168410610e67576040517fecd3f81e0000000000000000000000000000000000000000000000000000000081526004810185905265ffffffffffff821660248201526044015b60405180910390fd5b610e93610e7385612dc1565b6001600160a01b0387166000908152600185016020526040902090612e11565b6001600160d01b031695945050505050565b610eb2335b600036612eca565b610eba613095565b565b610ec4613107565b60005460405163189d11c160e21b81526001600160a01b0390911690636274470490610f249060040160208082526004908201527f6233747200000000000000000000000000000000000000000000000000000000604082015260600190565b602060405180830381865afa158015610f41573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f659190615242565b6040517f23b872dd000000000000000000000000000000000000000000000000000000008152336004820152306024820152604481018390526001600160a01b0391909116906323b872dd906064016020604051808303816000875af1158015610fd3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ff791906152b1565b15156001146110485760405162461bcd60e51b815260206004820152601760248201527f436f756c64206e6f74207472616e7366657220423354520000000000000000006044820152606401610e5e565b60005460405163189d11c160e21b81526001600160a01b03909116906362744704906110a89060040160208082526004908201527f6233747200000000000000000000000000000000000000000000000000000000604082015260600190565b602060405180830381865afa1580156110c5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110e99190615242565b60005460405163189d11c160e21b81526001600160a01b039283169263095ea7b392169063627447049061113890600401602080825260049082015263766f743360e01b604082015260600190565b602060405180830381865afa158015611155573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111799190615242565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681526001600160a01b039091166004820152602481018490526044016020604051808303816000875af11580156111de573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061120291906152b1565b5060005460405163189d11c160e21b81526001600160a01b039091169063627447049061124a90600401602080825260049082015263766f743360e01b604082015260600190565b602060405180830381865afa158015611267573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061128b9190615242565b6001600160a01b031663e23285a0826040518263ffffffff1660e01b81526004016112b891815260200190565b600060405180830381600087803b1580156112d257600080fd5b505af11580156112e6573d6000803e3d6000fd5b505050506112f48282613188565b6112fe82836131d7565b61132760017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b5050565b610d1433826132de565b606061133f61332d565b65ffffffffffff1661134f611e2e565b65ffffffffffff161461138e576040517f6ff0714000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5060408051808201909152601d81527f6d6f64653d626c6f636b6e756d6265722666726f6d3d64656661756c74000000602082015290565b6113ce613338565b6113d782613408565b6113278282613411565b60006113eb613512565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b3361132781836131d7565b611423613107565b6001600160a01b03821660009081526001602052604081205482116114485781611462565b6001600160a01b0383166000908152600160205260409020545b60005460405163189d11c160e21b81529192506001600160a01b0316906362744704906114aa90600401602080825260049082015263766f743360e01b604082015260600190565b602060405180830381865afa1580156114c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114eb9190615242565b6040517f23b872dd000000000000000000000000000000000000000000000000000000008152336004820152306024820152604481018490526001600160a01b0391909116906323b872dd906064016020604051808303816000875af1158015611559573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061157d91906152b1565b5060005460405163189d11c160e21b81526001600160a01b03909116906362744704906115c590600401602080825260049082015263766f743360e01b604082015260600190565b602060405180830381865afa1580156115e2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116069190615242565b6001600160a01b0316639ae05c35826040518263ffffffff1660e01b815260040161163391815260200190565b600060405180830381600087803b15801561164d57600080fd5b505af1158015611661573d6000803e3d6000fd5b505060005460405163189d11c160e21b81526001600160a01b039091169250636274470491506116c59060040160208082526004908201527f6233747200000000000000000000000000000000000000000000000000000000604082015260600190565b602060405180830381865afa1580156116e2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117069190615242565b6040517fa9059cbb0000000000000000000000000000000000000000000000000000000081526001600160a01b03858116600483015260248201849052919091169063a9059cbb906044016020604051808303816000875af1158015611770573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061179491906152b1565b15156001146117e55760405162461bcd60e51b815260206004820152601760248201527f436f756c64206e6f74207472616e7366657220423354520000000000000000006044820152606401610e5e565b6001600160a01b0383166000908152600160205260408120805483929061180d9084906152cc565b90915550506001600160a01b038316600090815260016020526040812054900361193e5760005b60035481101561193c57836001600160a01b03166003828154811061185b5761185b6152df565b6000918252602090912001546001600160a01b0316036119345760038054611885906001906152cc565b81548110611895576118956152df565b600091825260209091200154600380546001600160a01b0390921691839081106118c1576118c16152df565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b031602179055506003805480611900576119006152f5565b6000828152602090208101600019908101805473ffffffffffffffffffffffffffffffffffffffff1916905501905561193c565b600101611834565b505b5061132760017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b6000610bf582613574565b6000807f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace005b6001600160a01b0390931660009081526020939093525050604090205490565b6000806119c483612c2d565b905060006119d28585612935565b6000858152600460205260408120600101549192508390036119fa5760009350505050610bf5565b6001600160a01b038616600090815260026020908152604080832088845290915290205483611a29848461530b565b611a339190615338565b611a3d91906152cc565b9695505050505050565b611a52823383612c70565b61132782826132de565b33611a8e7ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a00546001600160a01b031690565b6001600160a01b0316816001600160a01b031614611ae3576040517f068ca9d80000000000000000000000000000000000000000000000000000000081526001600160a01b0382166004820152602401610e5e565b816001600160a01b03163b600003611b32576040517fc2f31e5e0000000000000000000000000000000000000000000000000000000081526001600160a01b0383166004820152602401610e5e565b611327826135d7565b606060008260038054905010611b515782611b55565b6003545b905060008167ffffffffffffffff811115611b7257611b72614e57565b604051908082528060200260200182016040528015611b9b578160200160208202803683370190505b50905060005b82811015611c0c5760038181548110611bbc57611bbc6152df565b9060005260206000200160009054906101000a90046001600160a01b0316828281518110611bec57611bec6152df565b6001600160a01b0390921660209283029190910190910152600101611ba1565b509392505050565b6000610bf582613657565b611c2833610eaa565b610eba613662565b600060608082808083817fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d1008054909150158015611c6f57506001810154155b611cbb5760405162461bcd60e51b815260206004820152601560248201527f4549503731323a20556e696e697469616c697a656400000000000000000000006044820152606401610e5e565b611cc36136bd565b611ccb61370e565b604080516000808252602082019092527f0f000000000000000000000000000000000000000000000000000000000000009c939b5091995046985030975095509350915050565b60007fe8b26c30fad74198956032a3533d903385d56dd795af560196f9c78d4af40d0081611d3e611e2e565b90508065ffffffffffff168410611d92576040517fecd3f81e0000000000000000000000000000000000000000000000000000000081526004810185905265ffffffffffff82166024820152604401610e5e565b611da8611d9e85612dc1565b6002840190612e11565b6001600160d01b0316949350505050565b7ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a0080546000919074010000000000000000000000000000000000000000900460ff16611e06576000611e28565b7f8fb36037000000000000000000000000000000000000000000000000000000005b91505090565b6000610ddd61332d565b7f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace0480546060917f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace0091610b5d90615208565b6000611e9583836119b8565b905060008111611ee75760405162461bcd60e51b815260206004820152601460248201527f4e6f207265776172647320617661696c61626c650000000000000000000000006044820152606401610e5e565b6001600160a01b038316600090815260026020908152604080832085845290915281208054839290611f1a90849061528e565b90915550611f2b9050308483612d26565b505050565b6001600160a01b03811660009081527fe8b26c30fad74198956032a3533d903385d56dd795af560196f9c78d4af40d01602052604081207fe8b26c30fad74198956032a3533d903385d56dd795af560196f9c78d4af40d0090611f9290613738565b6001600160d01b03169392505050565b611fab33610eaa565b6000805460405163189d11c160e21b815260206004820152600360248201527f676f76000000000000000000000000000000000000000000000000000000000060448201526001600160a01b0390911690636274470490606401602060405180830381865afa158015612022573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120469190615242565b90506000816001600160a01b0316639cbe5efd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612088573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120ac919061525f565b90506120b96001436152cc565b6000918252600460205260409091205550565b600033610bef818585612d26565b6120e43083610ebc565b6000818152600460205260408120600101805484929061210590849061528e565b90915550505050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000810460ff16159067ffffffffffffffff166000811580156121595750825b905060008267ffffffffffffffff1660011480156121765750303b155b905081158015612184575080155b156121bb576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84547fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000166001178555831561221c5784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff16680100000000000000001785555b6122906040518060400160405280600681526020017f76654233545200000000000000000000000000000000000000000000000000008152506040518060400160405280600681526020017f7665423354520000000000000000000000000000000000000000000000000000815250613774565b612298613786565b6122a061378e565b6122a98861379e565b6122e76040518060400160405280600681526020017f76654233545200000000000000000000000000000000000000000000000000008152506137af565b6122ef613786565b6122f7613786565b6122ff6137f6565b6000805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03888116919091179091556040517f02571be30000000000000000000000000000000000000000000000000000000081527f91d1777781884d03a6757a803996e38de2a42967fb37eeaca72729271025a9e26004820152908816906302571be390602401602060405180830381865afa1580156123a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123c69190615242565b6040517f1e83409a0000000000000000000000000000000000000000000000000000000081523360048201526001600160a01b039190911690631e83409a906024016020604051808303816000875af1158015612427573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061244b919061525f565b5083156124ad5784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050505050565b834211156124f4576040517f4683af0e00000000000000000000000000000000000000000000000000000000815260048101859052602401610e5e565b604080517fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf60208201526001600160a01b03881691810191909152606081018690526080810185905260009061256e906125669060a00160405160208183030381529060405280519060200120613806565b85858561384e565b905061257a818761387c565b61258481886131d7565b50505050505050565b61259633610eaa565b60005460405163189d11c160e21b81526001600160a01b03909116906362744704906125dd90600401602080825260049082015263766f743360e01b604082015260600190565b602060405180830381865afa1580156125fa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061261e9190615242565b6040517f095ea7b3000000000000000000000000000000000000000000000000000000008152336004820152602481018390526001600160a01b03919091169063095ea7b3906044016020604051808303816000875af1158015612686573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126aa91906152b1565b5060005460405163189d11c160e21b81526001600160a01b03909116906362744704906126f290600401602080825260049082015263766f743360e01b604082015260600190565b602060405180830381865afa15801561270f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127339190615242565b6040517f5c19a95c0000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b039190911690635c19a95c90602401600060405180830381600087803b15801561278f57600080fd5b505af11580156127a3573d6000803e3d6000fd5b5050505050565b834211156127e7576040517f6279130200000000000000000000000000000000000000000000000000000000815260048101859052602401610e5e565b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98888886128538c6001600160a01b031660009081527f5ab42ced628888259c08ac98db1eb0cf702fc1501344311d8b100cd1bfe4bb006020526040902080546001810190915590565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e00160405160208183030381529060405280519060200120905060006128ae82613806565b905060006128be8287878761384e565b9050896001600160a01b0316816001600160a01b03161461291e576040517f4b800e460000000000000000000000000000000000000000000000000000000081526001600160a01b0380831660048301528b166024820152604401610e5e565b6129298a8a8a612c63565b50505050505050505050565b60008181526004602052604081205461294e8482610de2565b949350505050565b61295e613107565b60005460405163189d11c160e21b81526001600160a01b03909116906362744704906129a590600401602080825260049082015263766f743360e01b604082015260600190565b602060405180830381865afa1580156129c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129e69190615242565b6001600160a01b0316639ae05c35826040518263ffffffff1660e01b8152600401612a1391815260200190565b600060405180830381600087803b158015612a2d57600080fd5b505af1158015612a41573d6000803e3d6000fd5b505060005460405163189d11c160e21b81526001600160a01b03909116925063627447049150612aa59060040160208082526004908201527f6233747200000000000000000000000000000000000000000000000000000000604082015260600190565b602060405180830381865afa158015612ac2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ae69190615242565b6040517fa9059cbb000000000000000000000000000000000000000000000000000000008152336004820152602481018390526001600160a01b03919091169063a9059cbb906044016020604051808303816000875af1158015612b4e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b7291906152b1565b1515600114612bc35760405162461bcd60e51b815260206004820152601760248201527f436f756c64206e6f74207472616e7366657220423354520000000000000000006044820152606401610e5e565b612bcc8161132b565b610d1460017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b612bfe33610eaa565b6000805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b600081815260046020526040812054610dcc81611d12565b6040805180820190915260008082526020820152610dcc8383613907565b611f2b838383600161397c565b6001600160a01b0383811660009081527f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace0160209081526040808320938616835292905220546000198114612d205781811015612d11576040517ffb8f41b20000000000000000000000000000000000000000000000000000000081526001600160a01b03841660048201526024810182905260448101839052606401610e5e565b612d208484848403600061397c565b50505050565b6001600160a01b038316612d69576040517f96c6fd1e00000000000000000000000000000000000000000000000000000000815260006004820152602401610e5e565b6001600160a01b038216612dac576040517fec442f0500000000000000000000000000000000000000000000000000000000815260006004820152602401610e5e565b611f2b838383613aa7565b6000610ddd613ab2565b600065ffffffffffff821115612e0d576040517f6dfcc6500000000000000000000000000000000000000000000000000000000081526030600482015260248101839052604401610e5e565b5090565b815460009081816005811115612e70576000612e2c84613b26565b612e3690856152cc565b60008881526020902090915081015465ffffffffffff9081169087161015612e6057809150612e6e565b612e6b81600161528e565b92505b505b6000612e7e87878585613c0e565b90508015612ebc57612ea387612e956001846152cc565b600091825260209091200190565b54660100000000000090046001600160d01b0316612ebf565b60005b979650505050505050565b7ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a00600080612f40612f227ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a00546001600160a01b031690565b8730612f32600460008a8c61535a565b612f3b91615384565b613c68565b915091508161308d5763ffffffff8116156130505782547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1674010000000000000000000000000000000000000000178355612fc37ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a00546001600160a01b031690565b6001600160a01b03166394c7d7ee8787876040518463ffffffff1660e01b8152600401612ff2939291906153cc565b600060405180830381600087803b15801561300c57600080fd5b505af1158015613020573d6000803e3d6000fd5b505084547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1685555061308d9050565b6040517f068ca9d80000000000000000000000000000000000000000000000000000000081526001600160a01b0387166004820152602401610e5e565b505050505050565b61309d613dba565b7fcd5ed15c6e187e77e9aee88184c21f4f2182ab5827cb3b7e07fbedcd63f03300805460ff191681557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a150565b7f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0080547ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01613182576040517f3ee5aeb500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60029055565b6001600160a01b0382166131cb576040517fec442f0500000000000000000000000000000000000000000000000000000000815260006004820152602401610e5e565b61132760008383613aa7565b7fe8b26c30fad74198956032a3533d903385d56dd795af560196f9c78d4af40d00600061323b846001600160a01b0390811660009081527fe8b26c30fad74198956032a3533d903385d56dd795af560196f9c78d4af40d0060205260409020541690565b6001600160a01b03858116600081815260208690526040808220805473ffffffffffffffffffffffffffffffffffffffff1916898616908117909155905194955093928516927f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f9190a4612d2081846132b387613e15565b613e20565b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b6001600160a01b038216613321576040517f96c6fd1e00000000000000000000000000000000000000000000000000000000815260006004820152602401610e5e565b61132782600083613aa7565b6000610ddd43612dc1565b306001600160a01b037f0000000000000000000000009fcbb708afdf6a0e1d0be6f2415f77407d050a971614806133d157507f0000000000000000000000009fcbb708afdf6a0e1d0be6f2415f77407d050a976001600160a01b03166133c57f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b031614155b15610eba576040517fe07c8dba00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610d1433610eaa565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801561346b575060408051601f3d908101601f191682019092526134689181019061525f565b60015b6134ac576040517f4c9c8ce30000000000000000000000000000000000000000000000000000000081526001600160a01b0383166004820152602401610e5e565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8114613508576040517faa1d49a400000000000000000000000000000000000000000000000000000000815260048101829052602401610e5e565b611f2b8383613fac565b306001600160a01b037f0000000000000000000000009fcbb708afdf6a0e1d0be6f2415f77407d050a971614610eba576040517fe07c8dba00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b03811660009081527fe8b26c30fad74198956032a3533d903385d56dd795af560196f9c78d4af40d0160205260408120547fe8b26c30fad74198956032a3533d903385d56dd795af560196f9c78d4af40d0090610dcc90614002565b7ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a0080546001600160a01b03831673ffffffffffffffffffffffffffffffffffffffff199091168117825560408051918252517f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad9181900360200190a15050565b6000610bf58261404c565b61366a614075565b7fcd5ed15c6e187e77e9aee88184c21f4f2182ab5827cb3b7e07fbedcd63f03300805460ff191660011781557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258336130e9565b7fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d10280546060917fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d10091610b5d90615208565b606060007fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d100610b4c565b8054600090801561376b5761375283612e956001846152cc565b54660100000000000090046001600160d01b0316610dcc565b60009392505050565b61377c6140d1565b6113278282614138565b610eba6140d1565b6137966140d1565b610eba61419b565b6137a66140d1565b610d14816141ce565b6137b76140d1565b610d14816040518060400160405280600181526020017f31000000000000000000000000000000000000000000000000000000000000008152506141df565b6137fe6140d1565b610eba614252565b6000610bf5613813612db7565b836040517f19010000000000000000000000000000000000000000000000000000000000008152600281019290925260228201526042902090565b6000806000806138608888888861425a565b9250925092506138708282614329565b50909695505050505050565b6001600160a01b03821660009081527f5ab42ced628888259c08ac98db1eb0cf702fc1501344311d8b100cd1bfe4bb0060205260409020805460018101909155818114611f2b576040517f752d88c00000000000000000000000000000000000000000000000000000000081526001600160a01b038416600482015260248101829052604401610e5e565b604080518082018252600080825260208083018290526001600160a01b03861682527fe8b26c30fad74198956032a3533d903385d56dd795af560196f9c78d4af40d019052919091207fe8b26c30fad74198956032a3533d903385d56dd795af560196f9c78d4af40d009061294e908461442d565b7f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace006001600160a01b0385166139e0576040517fe602df0500000000000000000000000000000000000000000000000000000000815260006004820152602401610e5e565b6001600160a01b038416613a23576040517f94280d6200000000000000000000000000000000000000000000000000000000815260006004820152602401610e5e565b6001600160a01b038086166000908152600183016020908152604080832093881683529290522083905581156127a357836001600160a01b0316856001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92585604051613a9891815260200190565b60405180910390a35050505050565b611f2b8383836144a0565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f613add61453f565b613ae56145bb565b60408051602081019490945283019190915260608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b600081600003613b3857506000919050565b60006001613b4584614611565b901c6001901b90506001818481613b5e57613b5e615322565b048201901c90506001818481613b7657613b76615322565b048201901c90506001818481613b8e57613b8e615322565b048201901c90506001818481613ba657613ba6615322565b048201901c90506001818481613bbe57613bbe615322565b048201901c90506001818481613bd657613bd6615322565b048201901c90506001818481613bee57613bee615322565b048201901c9050610dcc81828581613c0857613c08615322565b046146a5565b60005b81831015611c0c576000613c2584846146bb565b60008781526020902090915065ffffffffffff86169082015465ffffffffffff161115613c5457809250613c62565b613c5f81600161528e565b93505b50613c11565b6040516001600160a01b03848116602483015283811660448301527fffffffff000000000000000000000000000000000000000000000000000000008316606483015260009182918291829189169060840160408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fb70096130000000000000000000000000000000000000000000000000000000017905251613d1d919061540b565b600060405180830381855afa9150503d8060008114613d58576040519150601f19603f3d011682016040523d82523d6000602084013e613d5d565b606091505b50915091508115613daf576040815110613d8f5780806020019051810190613d859190615427565b9094509250613daf565b6020815110613daf5780806020019051810190613dac91906152b1565b93505b505094509492505050565b7fcd5ed15c6e187e77e9aee88184c21f4f2182ab5827cb3b7e07fbedcd63f033005460ff16610eba576040517f8dfc202b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610bf582611973565b7fe8b26c30fad74198956032a3533d903385d56dd795af560196f9c78d4af40d006001600160a01b0384811690841614801590613e5d5750600082115b15612d20576001600160a01b03841615613f07576001600160a01b038416600090815260018201602052604081208190613ea2906146d6613e9d876146e2565b61472f565b6001600160d01b031691506001600160d01b03169150856001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051613efc929190918252602082015260400190565b60405180910390a250505b6001600160a01b03831615612d20576001600160a01b038316600090815260018201602052604081208190613f4290614768613e9d876146e2565b6001600160d01b031691506001600160d01b03169150846001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051613f9c929190918252602082015260400190565b60405180910390a2505050505050565b613fb582614774565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a2805115613ffa57611f2b8282614811565b611327614887565b600063ffffffff821115612e0d576040517f6dfcc6500000000000000000000000000000000000000000000000000000000081526020600482015260248101839052604401610e5e565b6000807f5ab42ced628888259c08ac98db1eb0cf702fc1501344311d8b100cd1bfe4bb00611998565b7fcd5ed15c6e187e77e9aee88184c21f4f2182ab5827cb3b7e07fbedcd63f033005460ff1615610eba576040517fd93c066500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005468010000000000000000900460ff16610eba576040517fd7e6bcf800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6141406140d1565b7f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace007f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace0361418c848261549b565b5060048101612d20838261549b565b6141a36140d1565b7fcd5ed15c6e187e77e9aee88184c21f4f2182ab5827cb3b7e07fbedcd63f03300805460ff19169055565b6141d66140d1565b610d14816135d7565b6141e76140d1565b7fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d1007fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d102614233848261549b565b5060038101614242838261549b565b5060008082556001909101555050565b6132b86140d1565b600080807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0841115614295575060009150600390508261431f565b604080516000808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa1580156142e9573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381166143155750600092506001915082905061431f565b9250600091508190505b9450945094915050565b600082600381111561433d5761433d61555b565b03614346575050565b600182600381111561435a5761435a61555b565b03614391576040517ff645eedf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60028260038111156143a5576143a561555b565b036143df576040517ffce698f700000000000000000000000000000000000000000000000000000000815260048101829052602401610e5e565b60038260038111156143f3576143f361555b565b03611327576040517fd78bce0c00000000000000000000000000000000000000000000000000000000815260048101829052602401610e5e565b6040805180820190915260008082526020820152826000018263ffffffff168154811061445c5761445c6152df565b60009182526020918290206040805180820190915291015465ffffffffffff81168252660100000000000090046001600160d01b0316918101919091529392505050565b6144ab8383836148bf565b6001600160a01b0383166145345760006144e37f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace025490565b90506001600160d01b0380821115614531576040517f1cb15d260000000000000000000000000000000000000000000000000000000081526004810183905260248101829052604401610e5e565b50505b611f2b8383836148d2565b60007fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d1008161456b6136bd565b80519091501561458357805160209091012092915050565b81548015614592579392505050565b7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470935050505090565b60007fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d100816145e761370e565b8051909150156145ff57805160209091012092915050565b60018201548015614592579392505050565b600080608083901c1561462657608092831c92015b604083901c1561463857604092831c92015b602083901c1561464a57602092831c92015b601083901c1561465c57601092831c92015b600883901c1561466e57600892831c92015b600483901c1561468057600492831c92015b600283901c1561469257600292831c92015b600183901c15610bf55760010192915050565b60008183106146b45781610dcc565b5090919050565b60006146ca6002848418615338565b610dcc9084841661528e565b6000610dcc8284615571565b60006001600160d01b03821115612e0d576040517f6dfcc65000000000000000000000000000000000000000000000000000000000815260d0600482015260248101839052604401610e5e565b60008061475b61473d611e2e565b61475361474988613738565b868863ffffffff16565b87919061498c565b915091505b935093915050565b6000610dcc8284615598565b806001600160a01b03163b6000036147c3576040517f4c9c8ce30000000000000000000000000000000000000000000000000000000081526001600160a01b0382166004820152602401610e5e565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b6060600080846001600160a01b03168460405161482e919061540b565b600060405180830381855af49150503d8060008114614869576040519150601f19603f3d011682016040523d82523d6000602084013e61486e565b606091505b509150915061487e85838361499a565b95945050505050565b3415610eba576040517fb398979f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6148c7614075565b611f2b838383614a0f565b7fe8b26c30fad74198956032a3533d903385d56dd795af560196f9c78d4af40d006001600160a01b0384166149175761491481600201614768613e9d856146e2565b50505b6001600160a01b03831661493b57614938816002016146d6613e9d856146e2565b50505b6001600160a01b0384811660009081527fe8b26c30fad74198956032a3533d903385d56dd795af560196f9c78d4af40d006020526040808220548684168352912054612d2092918216911684613e20565b60008061475b858585614b78565b6060826149af576149aa82614d17565b610dcc565b81511580156149c657506001600160a01b0384163b155b15614a08576040517f9996b3150000000000000000000000000000000000000000000000000000000081526001600160a01b0385166004820152602401610e5e565b5080610dcc565b7f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace006001600160a01b038416614a5d5781816002016000828254614a52919061528e565b90915550614ae89050565b6001600160a01b03841660009081526020829052604090205482811015614ac9576040517fe450d38c0000000000000000000000000000000000000000000000000000000081526001600160a01b03861660048201526024810182905260448101849052606401610e5e565b6001600160a01b03851660009081526020839052604090209083900390555b6001600160a01b038316614b06576002810180548390039055614b25565b6001600160a01b03831660009081526020829052604090208054830190555b826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051614b6a91815260200190565b60405180910390a350505050565b825460009081908015614cb9576000614b9687612e956001856152cc565b60408051808201909152905465ffffffffffff80821680845266010000000000009092046001600160d01b031660208401529192509087161015614c06576040517f2520601d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805165ffffffffffff808816911603614c555784614c2988612e956001866152cc565b80546001600160d01b039290921666010000000000000265ffffffffffff909216919091179055614ca9565b6040805180820190915265ffffffffffff80881682526001600160d01b0380881660208085019182528b54600181018d5560008d815291909120945191519092166601000000000000029216919091179101555b6020015192508391506147609050565b50506040805180820190915265ffffffffffff80851682526001600160d01b0380851660208085019182528854600181018a5560008a8152918220955192519093166601000000000000029190931617920191909155905081614760565b805115614d275780518082602001fd5b6040517f1425ea4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b83811015614d74578181015183820152602001614d5c565b50506000910152565b60008151808452614d95816020860160208601614d59565b601f01601f19169290920160200192915050565b602081526000610dcc6020830184614d7d565b6001600160a01b0381168114610d1457600080fd5b60008060408385031215614de457600080fd5b8235614def81614dbc565b946020939093013593505050565b600060208284031215614e0f57600080fd5b5035919050565b600080600060608486031215614e2b57600080fd5b8335614e3681614dbc565b92506020840135614e4681614dbc565b929592945050506040919091013590565b634e487b7160e01b600052604160045260246000fd5b60008060408385031215614e8057600080fd5b8235614e8b81614dbc565b9150602083013567ffffffffffffffff80821115614ea857600080fd5b818501915085601f830112614ebc57600080fd5b813581811115614ece57614ece614e57565b604051601f8201601f19908116603f01168101908382118183101715614ef657614ef6614e57565b81604052828152886020848701011115614f0f57600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b600060208284031215614f4357600080fd5b8135610dcc81614dbc565b6020808252825182820181905260009190848201906040850190845b818110156138705783516001600160a01b031683529284019291840191600101614f6a565b7fff00000000000000000000000000000000000000000000000000000000000000881681526000602060e06020840152614fcc60e084018a614d7d565b8381036040850152614fde818a614d7d565b606085018990526001600160a01b038816608086015260a0850187905284810360c08601528551808252602080880193509091019060005b8181101561503257835183529284019291840191600101615016565b50909c9b505050505050505050505050565b6000806040838503121561505757600080fd5b50508035926020909101359150565b60008060006060848603121561507b57600080fd5b833561508681614dbc565b9250602084013561509681614dbc565b915060408401356150a681614dbc565b809150509250925092565b803560ff811681146150c257600080fd5b919050565b60008060008060008060c087890312156150e057600080fd5b86356150eb81614dbc565b95506020870135945060408701359350615107606088016150b1565b92506080870135915060a087013590509295509295509295565b600080600080600080600060e0888a03121561513c57600080fd5b873561514781614dbc565b9650602088013561515781614dbc565b95506040880135945060608801359350615173608089016150b1565b925060a0880135915060c0880135905092959891949750929550565b600080604083850312156151a257600080fd5b82356151ad81614dbc565b915060208301356151bd81614dbc565b809150509250929050565b63ffffffff81168114610d1457600080fd5b600080604083850312156151ed57600080fd5b82356151f881614dbc565b915060208301356151bd816151c8565b600181811c9082168061521c57607f821691505b60208210810361523c57634e487b7160e01b600052602260045260246000fd5b50919050565b60006020828403121561525457600080fd5b8151610dcc81614dbc565b60006020828403121561527157600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b80820180821115610bf557610bf5615278565b805180151581146150c257600080fd5b6000602082840312156152c357600080fd5b610dcc826152a1565b81810381811115610bf557610bf5615278565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052603160045260246000fd5b8082028115828204841417610bf557610bf5615278565b634e487b7160e01b600052601260045260246000fd5b60008261535557634e487b7160e01b600052601260045260246000fd5b500490565b6000808585111561536a57600080fd5b8386111561537757600080fd5b5050820193919092039150565b7fffffffff0000000000000000000000000000000000000000000000000000000081358181169160048510156153c45780818660040360031b1b83161692505b505092915050565b6001600160a01b038416815260406020820152816040820152818360608301376000818301606090810191909152601f909201601f1916010192915050565b6000825161541d818460208701614d59565b9190910192915050565b6000806040838503121561543a57600080fd5b615443836152a1565b915060208301516151bd816151c8565b601f821115611f2b576000816000526020600020601f850160051c8101602086101561547c5750805b601f850160051c820191505b8181101561308d57828155600101615488565b815167ffffffffffffffff8111156154b5576154b5614e57565b6154c9816154c38454615208565b84615453565b602080601f8311600181146154fe57600084156154e65750858301515b600019600386901b1c1916600185901b17855561308d565b600085815260208120601f198616915b8281101561552d5788860151825594840194600190910190840161550e565b508582101561554b5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052602160045260246000fd5b6001600160d01b0382811682821603908082111561559157615591615278565b5092915050565b6001600160d01b038181168382160190808211156155915761559161527856fea26469706673582212207fdacf511b552bf19242dff55e830a3bffecb8445a8e791ba27e3c0dc12b502f64736f6c63430008180033