VeChain
Explorer
Mainnet
Search
Networks
Main
Test
Contract
0xbEE17d…9A38
Summary
Transactions
Transfers
Address
0xbEE17d9Da97A11E5635f7668807E932326149A38
VET
0.00
VET
VTHO
0.00
VTHO
Master
0xa3568b1f8Eb9E56A01beAcAD660244BF46be18F5
Deployer
0xa3568b1f8Eb9E56A01beAcAD660244BF46be18F5
Code
0x6080604052600436106103345760003560e01c80638456cb59116101b0578063c0447be7116100ec578063db006a7511610095578063ec35bef31161006f578063ec35bef314610a6d578063f08f9aed14610a8d578063f1127ed814610aad578063ffd7acb714610af957600080fd5b8063db006a75146109c8578063dd62ed3e146109e8578063e2ceba6414610a4d57600080fd5b8063cf8dae05116100c6578063cf8dae0514610968578063d505accf14610988578063d823c1d6146109a857600080fd5b8063c0447be7146108df578063c0c53b8b14610928578063c3cda5201461094857600080fd5b80639a99b4f011610159578063a9059cbb11610133578063a9059cbb14610819578063ad3cb1cc14610839578063bdd071fb14610882578063bf7e214f146108a257600080fd5b80639a99b4f0146107c45780639ab24eb0146107e4578063a1f4c6661461080457600080fd5b80638fb360371161018a5780638fb360371461073d57806391ddadf41461078357806395d89b41146107af57600080fd5b80638456cb59146106e057806384b0196e146106f55780638e539e8c1461071d57600080fd5b80634f1ef2861161027f5780636fcfff451161022857806379cc67901161020257806379cc6790146106535780637a9e5e4b146106735780637dc8bc4e146106935780637ecebe00146106c057600080fd5b80636fcfff45146105de57806370a08231146106135780637387f44d1461063357600080fd5b80635c19a95c116102595780635c19a95c146105675780635c975abb146105875780636789eaba146105be57600080fd5b80634f1ef286146104cf57806352d1902d146104e2578063587cde1e146104f757600080fd5b80633644e515116102e157806340c10f19116102bb57806340c10f191461047a57806342966c681461049a5780634bf5d7e9146104ba57600080fd5b80633644e515146104305780633a46b1a8146104455780633f4ba83a1461046557600080fd5b806318160ddd1161031257806318160ddd146103b657806323b872dd146103f4578063313ce5671461041457600080fd5b806306fdde0314610339578063095ea7b314610364578063142d081a14610394575b600080fd5b34801561034557600080fd5b5061034e610b26565b60405161035b9190614b49565b60405180910390f35b34801561037057600080fd5b5061038461037f366004614b71565b610be1565b604051901515815260200161035b565b3480156103a057600080fd5b506103b46103af366004614b9d565b610bfb565b005b3480156103c257600080fd5b507f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace02545b60405190815260200161035b565b34801561040057600080fd5b5061038461040f366004614bb6565b610dad565b34801561042057600080fd5b506040516012815260200161035b565b34801561043c57600080fd5b506103e6610dd3565b34801561045157600080fd5b506103e6610460366004614b71565b610de2565b34801561047157600080fd5b506103b4610ea5565b34801561048657600080fd5b506103b4610495366004614b71565b610ebc565b3480156104a657600080fd5b506103b46104b5366004614b9d565b6112fa565b3480156104c657600080fd5b5061034e611304565b6103b46104dd366004614c0d565b611395565b3480156104ee57600080fd5b506103e66113b0565b34801561050357600080fd5b5061054f610512366004614cd1565b6001600160a01b0390811660009081527fe8b26c30fad74198956032a3533d903385d56dd795af560196f9c78d4af40d0060205260409020541690565b6040516001600160a01b03909116815260200161035b565b34801561057357600080fd5b506103b4610582366004614cd1565b6113df565b34801561059357600080fd5b507fcd5ed15c6e187e77e9aee88184c21f4f2182ab5827cb3b7e07fbedcd63f033005460ff16610384565b3480156105ca57600080fd5b506103b46105d9366004614b71565b6113ea565b3480156105ea57600080fd5b506105fe6105f9366004614cd1565b61190a565b60405163ffffffff909116815260200161035b565b34801561061f57600080fd5b506103e661062e366004614cd1565b611915565b34801561063f57600080fd5b506103e661064e366004614b71565b61195a565b34801561065f57600080fd5b506103b461066e366004614b71565b6119e9565b34801561067f57600080fd5b506103b461068e366004614cd1565b6119fe565b34801561069f57600080fd5b506106b36106ae366004614b9d565b611add565b60405161035b9190614cee565b3480156106cc57600080fd5b506103e66106db366004614cd1565b611bb6565b3480156106ec57600080fd5b506103b4611bc1565b34801561070157600080fd5b5061070a611bd2565b60405161035b9796959493929190614d2f565b34801561072957600080fd5b506103e6610738366004614b9d565b611cb4565b34801561074957600080fd5b50610752611d5b565b6040517fffffffff00000000000000000000000000000000000000000000000000000000909116815260200161035b565b34801561078f57600080fd5b50610798611dd0565b60405165ffffffffffff909116815260200161035b565b3480156107bb57600080fd5b5061034e611dda565b3480156107d057600080fd5b506103b46107df366004614b71565b611e2b565b3480156107f057600080fd5b506103e66107ff366004614cd1565b611ecd565b34801561081057600080fd5b506103b4611f3f565b34801561082557600080fd5b50610384610834366004614b71565b612069565b34801561084557600080fd5b5061034e6040518060400160405280600581526020017f352e302e3000000000000000000000000000000000000000000000000000000081525081565b34801561088e57600080fd5b506103b461089d366004614de4565b612077565b3480156108ae57600080fd5b507ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a00546001600160a01b031661054f565b3480156108eb57600080fd5b506109136108fa366004614b9d565b6004602052600090815260409020805460019091015482565b6040805192835260208301919091520161035b565b34801561093457600080fd5b506103b4610943366004614e06565b6120ab565b34801561095457600080fd5b506103b4610963366004614e67565b61244c565b34801561097457600080fd5b506103b4610983366004614b9d565b612522565b34801561099457600080fd5b506103b46109a3366004614ec1565b61263f565b3480156109b457600080fd5b506103e66109c3366004614b71565b6127ca565b3480156109d457600080fd5b506103b46109e3366004614b9d565b6127eb565b3480156109f457600080fd5b506103e6610a03366004614f2f565b6001600160a01b0391821660009081527f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace016020908152604080832093909416825291909152205490565b348015610a5957600080fd5b506103b4610a68366004614cd1565b612a59565b348015610a7957600080fd5b5060005461054f906001600160a01b031681565b348015610a9957600080fd5b506103e6610aa8366004614b9d565b612a91565b348015610ab957600080fd5b50610acd610ac8366004614f7a565b612aa9565b60408051825165ffffffffffff1681526020928301516001600160d01b0316928101929092520161035b565b348015610b0557600080fd5b506103e6610b14366004614cd1565b60016020526000908152604090205481565b606060007f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace005b9050806003018054610b5d90614fa8565b80601f0160208091040260200160405190810160405280929190818152602001828054610b8990614fa8565b8015610bd65780601f10610bab57610100808354040283529160200191610bd6565b820191906000526020600020905b815481529060010190602001808311610bb957829003601f168201915b505050505091505090565b600033610bef818585612ac7565b60019150505b92915050565b60005460405163189d11c160e21b815282916001600160a01b031690636274470490610c4290600401602080825260049082015263766f743360e01b604082015260600190565b602060405180830381865afa158015610c5f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c839190614fe2565b6040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b0391909116906370a0823190602401602060405180830381865afa158015610ce2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d069190614fff565b10610d1757610d14816127eb565b50565b610d20816112fa565b336000908152600160205260408120549003610d8657600380546001810182556000919091527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b01805473ffffffffffffffffffffffffffffffffffffffff1916331790555b3360009081526001602052604081208054839290610da590849061502e565b909155505050565b600033610dbb858285612ad4565b610dc6858585612b84565b60019150505b9392505050565b6000610ddd612c15565b905090565b60007fe8b26c30fad74198956032a3533d903385d56dd795af560196f9c78d4af40d0081610e0e611dd0565b90508065ffffffffffff168410610e67576040517fecd3f81e0000000000000000000000000000000000000000000000000000000081526004810185905265ffffffffffff821660248201526044015b60405180910390fd5b610e93610e7385612c1f565b6001600160a01b0387166000908152600185016020526040902090612c6f565b6001600160d01b031695945050505050565b610eb2335b600036612d28565b610eba612ef3565b565b60005460405163189d11c160e21b81526001600160a01b0390911690636274470490610f1c9060040160208082526004908201527f6233747200000000000000000000000000000000000000000000000000000000604082015260600190565b602060405180830381865afa158015610f39573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f5d9190614fe2565b6040517f23b872dd000000000000000000000000000000000000000000000000000000008152336004820152306024820152604481018390526001600160a01b0391909116906323b872dd906064016020604051808303816000875af1158015610fcb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fef9190615051565b15156001146110405760405162461bcd60e51b815260206004820152601760248201527f436f756c64206e6f74207472616e7366657220423354520000000000000000006044820152606401610e5e565b60005460405163189d11c160e21b81526001600160a01b03909116906362744704906110a09060040160208082526004908201527f6233747200000000000000000000000000000000000000000000000000000000604082015260600190565b602060405180830381865afa1580156110bd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110e19190614fe2565b60005460405163189d11c160e21b81526001600160a01b039283169263095ea7b392169063627447049061113090600401602080825260049082015263766f743360e01b604082015260600190565b602060405180830381865afa15801561114d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111719190614fe2565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681526001600160a01b039091166004820152602481018490526044016020604051808303816000875af11580156111d6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111fa9190615051565b5060005460405163189d11c160e21b81526001600160a01b039091169063627447049061124290600401602080825260049082015263766f743360e01b604082015260600190565b602060405180830381865afa15801561125f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112839190614fe2565b6001600160a01b031663e23285a0826040518263ffffffff1660e01b81526004016112b091815260200190565b600060405180830381600087803b1580156112ca57600080fd5b505af11580156112de573d6000803e3d6000fd5b505050506112ec8282612f65565b6112f68283612fb4565b5050565b610d143382613095565b606061130e6130e4565b65ffffffffffff1661131e611dd0565b65ffffffffffff161461135d576040517f6ff0714000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5060408051808201909152601d81527f6d6f64653d626c6f636b6e756d6265722666726f6d3d64656661756c74000000602082015290565b61139d6130ef565b6113a6826131bf565b6112f682826131c8565b60006113ba6132c9565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b336112f68183612fb4565b6001600160a01b038216600090815260016020526040812054821161140f5781611429565b6001600160a01b0383166000908152600160205260409020545b60005460405163189d11c160e21b81529192506001600160a01b03169063627447049061147190600401602080825260049082015263766f743360e01b604082015260600190565b602060405180830381865afa15801561148e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114b29190614fe2565b6040517f23b872dd000000000000000000000000000000000000000000000000000000008152336004820152306024820152604481018490526001600160a01b0391909116906323b872dd906064016020604051808303816000875af1158015611520573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115449190615051565b5060005460405163189d11c160e21b81526001600160a01b039091169063627447049061158c90600401602080825260049082015263766f743360e01b604082015260600190565b602060405180830381865afa1580156115a9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115cd9190614fe2565b6001600160a01b0316639ae05c35826040518263ffffffff1660e01b81526004016115fa91815260200190565b600060405180830381600087803b15801561161457600080fd5b505af1158015611628573d6000803e3d6000fd5b505060005460405163189d11c160e21b81526001600160a01b0390911692506362744704915061168c9060040160208082526004908201527f6233747200000000000000000000000000000000000000000000000000000000604082015260600190565b602060405180830381865afa1580156116a9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116cd9190614fe2565b6040517fa9059cbb0000000000000000000000000000000000000000000000000000000081526001600160a01b03858116600483015260248201849052919091169063a9059cbb906044016020604051808303816000875af1158015611737573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061175b9190615051565b15156001146117ac5760405162461bcd60e51b815260206004820152601760248201527f436f756c64206e6f74207472616e7366657220423354520000000000000000006044820152606401610e5e565b6001600160a01b038316600090815260016020526040812080548392906117d490849061506c565b90915550506001600160a01b03831660009081526001602052604081205490036119055760005b60035481101561190357836001600160a01b0316600382815481106118225761182261507f565b6000918252602090912001546001600160a01b0316036118fb576003805461184c9060019061506c565b8154811061185c5761185c61507f565b600091825260209091200154600380546001600160a01b0390921691839081106118885761188861507f565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060038054806118c7576118c7615095565b6000828152602090208101600019908101805473ffffffffffffffffffffffffffffffffffffffff19169055019055611903565b6001016117fb565b505b505050565b6000610bf58261332b565b6000807f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace005b6001600160a01b0390931660009081526020939093525050604090205490565b60008061196683612a91565b9050600061197485856127ca565b60008581526004602052604081206001015491925083900361199c5760009350505050610bf5565b6001600160a01b0386166000908152600260209081526040808320888452909152902054836119cb84846150ab565b6119d591906150d8565b6119df919061506c565b9695505050505050565b6119f4823383612ad4565b6112f68282613095565b33611a307ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a00546001600160a01b031690565b6001600160a01b0316816001600160a01b031614611a85576040517f068ca9d80000000000000000000000000000000000000000000000000000000081526001600160a01b0382166004820152602401610e5e565b816001600160a01b03163b600003611ad4576040517fc2f31e5e0000000000000000000000000000000000000000000000000000000081526001600160a01b0383166004820152602401610e5e565b6112f68261338e565b606060008260038054905010611af35782611af7565b6003545b905060008167ffffffffffffffff811115611b1457611b14614bf7565b604051908082528060200260200182016040528015611b3d578160200160208202803683370190505b50905060005b82811015611bae5760038181548110611b5e57611b5e61507f565b9060005260206000200160009054906101000a90046001600160a01b0316828281518110611b8e57611b8e61507f565b6001600160a01b0390921660209283029190910190910152600101611b43565b509392505050565b6000610bf58261340e565b611bca33610eaa565b610eba613419565b600060608082808083817fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d1008054909150158015611c1157506001810154155b611c5d5760405162461bcd60e51b815260206004820152601560248201527f4549503731323a20556e696e697469616c697a656400000000000000000000006044820152606401610e5e565b611c65613474565b611c6d6134c5565b604080516000808252602082019092527f0f000000000000000000000000000000000000000000000000000000000000009c939b5091995046985030975095509350915050565b60007fe8b26c30fad74198956032a3533d903385d56dd795af560196f9c78d4af40d0081611ce0611dd0565b90508065ffffffffffff168410611d34576040517fecd3f81e0000000000000000000000000000000000000000000000000000000081526004810185905265ffffffffffff82166024820152604401610e5e565b611d4a611d4085612c1f565b6002840190612c6f565b6001600160d01b0316949350505050565b7ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a0080546000919074010000000000000000000000000000000000000000900460ff16611da8576000611dca565b7f8fb36037000000000000000000000000000000000000000000000000000000005b91505090565b6000610ddd6130e4565b7f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace0480546060917f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace0091610b5d90614fa8565b6000611e37838361195a565b905060008111611e895760405162461bcd60e51b815260206004820152601460248201527f4e6f207265776172647320617661696c61626c650000000000000000000000006044820152606401610e5e565b6001600160a01b038316600090815260026020908152604080832085845290915281208054839290611ebc90849061502e565b909155506119059050308483612b84565b6001600160a01b03811660009081527fe8b26c30fad74198956032a3533d903385d56dd795af560196f9c78d4af40d01602052604081207fe8b26c30fad74198956032a3533d903385d56dd795af560196f9c78d4af40d0090611f2f906134ef565b6001600160d01b03169392505050565b611f4833610eaa565b6000805460405163189d11c160e21b815260206004820152600360248201527f676f76000000000000000000000000000000000000000000000000000000000060448201526001600160a01b0390911690636274470490606401602060405180830381865afa158015611fbf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fe39190614fe2565b90506000816001600160a01b0316639cbe5efd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612025573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120499190614fff565b905061205660014361506c565b6000918252600460205260409091205550565b600033610bef818585612b84565b6120813083610ebc565b600081815260046020526040812060010180548492906120a290849061502e565b90915550505050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000810460ff16159067ffffffffffffffff166000811580156120f65750825b905060008267ffffffffffffffff1660011480156121135750303b155b905081158015612121575080155b15612158576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84547fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000016600117855583156121b95784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff16680100000000000000001785555b61222d6040518060400160405280600681526020017f76654233545200000000000000000000000000000000000000000000000000008152506040518060400160405280600681526020017f766542335452000000000000000000000000000000000000000000000000000081525061352b565b61223561353d565b61223d613545565b61224688613555565b6122846040518060400160405280600681526020017f7665423354520000000000000000000000000000000000000000000000000000815250613566565b61228c61353d565b61229461353d565b6000805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03888116919091179091556040517f02571be30000000000000000000000000000000000000000000000000000000081527f91d1777781884d03a6757a803996e38de2a42967fb37eeaca72729271025a9e26004820152908816906302571be390602401602060405180830381865afa158015612337573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061235b9190614fe2565b6040517f1e83409a0000000000000000000000000000000000000000000000000000000081523360048201526001600160a01b039190911690631e83409a906024016020604051808303816000875af11580156123bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123e09190614fff565b5083156124425784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050505050565b83421115612489576040517f4683af0e00000000000000000000000000000000000000000000000000000000815260048101859052602401610e5e565b604080517fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf60208201526001600160a01b038816918101919091526060810186905260808101859052600090612503906124fb9060a001604051602081830303815290604052805190602001206135ad565b8585856135f5565b905061250f8187613623565b6125198188612fb4565b50505050505050565b61252b33610eaa565b60005460405163189d11c160e21b81526001600160a01b039091169063627447049061257290600401602080825260049082015263766f743360e01b604082015260600190565b602060405180830381865afa15801561258f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125b39190614fe2565b6040517f095ea7b3000000000000000000000000000000000000000000000000000000008152336004820152602481018390526001600160a01b03919091169063095ea7b3906044016020604051808303816000875af115801561261b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112f69190615051565b8342111561267c576040517f6279130200000000000000000000000000000000000000000000000000000000815260048101859052602401610e5e565b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98888886126e88c6001600160a01b031660009081527f5ab42ced628888259c08ac98db1eb0cf702fc1501344311d8b100cd1bfe4bb006020526040902080546001810190915590565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e0016040516020818303038152906040528051906020012090506000612743826135ad565b90506000612753828787876135f5565b9050896001600160a01b0316816001600160a01b0316146127b3576040517f4b800e460000000000000000000000000000000000000000000000000000000081526001600160a01b0380831660048301528b166024820152604401610e5e565b6127be8a8a8a612ac7565b50505050505050505050565b6000818152600460205260408120546127e38482610de2565b949350505050565b60005460405163189d11c160e21b81526001600160a01b039091169063627447049061283290600401602080825260049082015263766f743360e01b604082015260600190565b602060405180830381865afa15801561284f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128739190614fe2565b6001600160a01b0316639ae05c35826040518263ffffffff1660e01b81526004016128a091815260200190565b600060405180830381600087803b1580156128ba57600080fd5b505af11580156128ce573d6000803e3d6000fd5b505060005460405163189d11c160e21b81526001600160a01b039091169250636274470491506129329060040160208082526004908201527f6233747200000000000000000000000000000000000000000000000000000000604082015260600190565b602060405180830381865afa15801561294f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129739190614fe2565b6040517fa9059cbb000000000000000000000000000000000000000000000000000000008152336004820152602481018390526001600160a01b03919091169063a9059cbb906044016020604051808303816000875af11580156129db573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129ff9190615051565b1515600114612a505760405162461bcd60e51b815260206004820152601760248201527f436f756c64206e6f74207472616e7366657220423354520000000000000000006044820152606401610e5e565b610d14816112fa565b612a6233610eaa565b6000805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b600081815260046020526040812054610dcc81611cb4565b6040805180820190915260008082526020820152610dcc83836136ae565b6119058383836001613723565b6001600160a01b0383811660009081527f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace01602090815260408083209386168352929052205460001981146119035781811015612b75576040517ffb8f41b20000000000000000000000000000000000000000000000000000000081526001600160a01b03841660048201526024810182905260448101839052606401610e5e565b61190384848484036000613723565b6001600160a01b038316612bc7576040517f96c6fd1e00000000000000000000000000000000000000000000000000000000815260006004820152602401610e5e565b6001600160a01b038216612c0a576040517fec442f0500000000000000000000000000000000000000000000000000000000815260006004820152602401610e5e565b61190583838361384f565b6000610ddd61385a565b600065ffffffffffff821115612c6b576040517f6dfcc6500000000000000000000000000000000000000000000000000000000081526030600482015260248101839052604401610e5e565b5090565b815460009081816005811115612cce576000612c8a846138ce565b612c94908561506c565b60008881526020902090915081015465ffffffffffff9081169087161015612cbe57809150612ccc565b612cc981600161502e565b92505b505b6000612cdc878785856139b6565b90508015612d1a57612d0187612cf360018461506c565b600091825260209091200190565b54660100000000000090046001600160d01b0316612d1d565b60005b979650505050505050565b7ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a00600080612d9e612d807ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a00546001600160a01b031690565b8730612d90600460008a8c6150fa565b612d9991615124565b613a10565b9150915081612eeb5763ffffffff811615612eae5782547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1674010000000000000000000000000000000000000000178355612e217ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a00546001600160a01b031690565b6001600160a01b03166394c7d7ee8787876040518463ffffffff1660e01b8152600401612e509392919061516c565b600060405180830381600087803b158015612e6a57600080fd5b505af1158015612e7e573d6000803e3d6000fd5b505084547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16855550612eeb9050565b6040517f068ca9d80000000000000000000000000000000000000000000000000000000081526001600160a01b0387166004820152602401610e5e565b505050505050565b612efb613b62565b7fcd5ed15c6e187e77e9aee88184c21f4f2182ab5827cb3b7e07fbedcd63f03300805460ff191681557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a150565b6001600160a01b038216612fa8576040517fec442f0500000000000000000000000000000000000000000000000000000000815260006004820152602401610e5e565b6112f66000838361384f565b7fe8b26c30fad74198956032a3533d903385d56dd795af560196f9c78d4af40d006000613018846001600160a01b0390811660009081527fe8b26c30fad74198956032a3533d903385d56dd795af560196f9c78d4af40d0060205260409020541690565b6001600160a01b03858116600081815260208690526040808220805473ffffffffffffffffffffffffffffffffffffffff1916898616908117909155905194955093928516927f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f9190a4611903818461309087613bbd565b613bc8565b6001600160a01b0382166130d8576040517f96c6fd1e00000000000000000000000000000000000000000000000000000000815260006004820152602401610e5e565b6112f68260008361384f565b6000610ddd43612c1f565b306001600160a01b037f000000000000000000000000bee17d9da97a11e5635f7668807e932326149a3816148061318857507f000000000000000000000000bee17d9da97a11e5635f7668807e932326149a386001600160a01b031661317c7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b031614155b15610eba576040517fe07c8dba00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610d1433610eaa565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015613222575060408051601f3d908101601f1916820190925261321f91810190614fff565b60015b613263576040517f4c9c8ce30000000000000000000000000000000000000000000000000000000081526001600160a01b0383166004820152602401610e5e565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc81146132bf576040517faa1d49a400000000000000000000000000000000000000000000000000000000815260048101829052602401610e5e565b6119058383613d54565b306001600160a01b037f000000000000000000000000bee17d9da97a11e5635f7668807e932326149a381614610eba576040517fe07c8dba00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b03811660009081527fe8b26c30fad74198956032a3533d903385d56dd795af560196f9c78d4af40d0160205260408120547fe8b26c30fad74198956032a3533d903385d56dd795af560196f9c78d4af40d0090610dcc90613daa565b7ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a0080546001600160a01b03831673ffffffffffffffffffffffffffffffffffffffff199091168117825560408051918252517f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad9181900360200190a15050565b6000610bf582613df4565b613421613e1d565b7fcd5ed15c6e187e77e9aee88184c21f4f2182ab5827cb3b7e07fbedcd63f03300805460ff191660011781557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25833612f47565b7fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d10280546060917fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d10091610b5d90614fa8565b606060007fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d100610b4c565b805460009080156135225761350983612cf360018461506c565b54660100000000000090046001600160d01b0316610dcc565b60009392505050565b613533613e79565b6112f68282613ee0565b610eba613e79565b61354d613e79565b610eba613f43565b61355d613e79565b610d1481613f76565b61356e613e79565b610d14816040518060400160405280600181526020017f3100000000000000000000000000000000000000000000000000000000000000815250613f87565b6000610bf56135ba612c15565b836040517f19010000000000000000000000000000000000000000000000000000000000008152600281019290925260228201526042902090565b60008060008061360788888888613ffa565b92509250925061361782826140c9565b50909695505050505050565b6001600160a01b03821660009081527f5ab42ced628888259c08ac98db1eb0cf702fc1501344311d8b100cd1bfe4bb0060205260409020805460018101909155818114611905576040517f752d88c00000000000000000000000000000000000000000000000000000000081526001600160a01b038416600482015260248101829052604401610e5e565b604080518082018252600080825260208083018290526001600160a01b03861682527fe8b26c30fad74198956032a3533d903385d56dd795af560196f9c78d4af40d019052919091207fe8b26c30fad74198956032a3533d903385d56dd795af560196f9c78d4af40d00906127e390846141cd565b7f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace006001600160a01b038516613787576040517fe602df0500000000000000000000000000000000000000000000000000000000815260006004820152602401610e5e565b6001600160a01b0384166137ca576040517f94280d6200000000000000000000000000000000000000000000000000000000815260006004820152602401610e5e565b6001600160a01b0380861660009081526001830160209081526040808320938816835292905220839055811561384857836001600160a01b0316856001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258560405161383f91815260200190565b60405180910390a35b5050505050565b611905838383614240565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f6138856142df565b61388d61435b565b60408051602081019490945283019190915260608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b6000816000036138e057506000919050565b600060016138ed846143b1565b901c6001901b90506001818481613906576139066150c2565b048201901c9050600181848161391e5761391e6150c2565b048201901c90506001818481613936576139366150c2565b048201901c9050600181848161394e5761394e6150c2565b048201901c90506001818481613966576139666150c2565b048201901c9050600181848161397e5761397e6150c2565b048201901c90506001818481613996576139966150c2565b048201901c9050610dcc818285816139b0576139b06150c2565b04614445565b60005b81831015611bae5760006139cd848461445b565b60008781526020902090915065ffffffffffff86169082015465ffffffffffff1611156139fc57809250613a0a565b613a0781600161502e565b93505b506139b9565b6040516001600160a01b03848116602483015283811660448301527fffffffff000000000000000000000000000000000000000000000000000000008316606483015260009182918291829189169060840160408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fb70096130000000000000000000000000000000000000000000000000000000017905251613ac591906151ab565b600060405180830381855afa9150503d8060008114613b00576040519150601f19603f3d011682016040523d82523d6000602084013e613b05565b606091505b50915091508115613b57576040815110613b375780806020019051810190613b2d91906151c7565b9094509250613b57565b6020815110613b575780806020019051810190613b549190615051565b93505b505094509492505050565b7fcd5ed15c6e187e77e9aee88184c21f4f2182ab5827cb3b7e07fbedcd63f033005460ff16610eba576040517f8dfc202b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610bf582611915565b7fe8b26c30fad74198956032a3533d903385d56dd795af560196f9c78d4af40d006001600160a01b0384811690841614801590613c055750600082115b15611903576001600160a01b03841615613caf576001600160a01b038416600090815260018201602052604081208190613c4a90614476613c4587614482565b6144cf565b6001600160d01b031691506001600160d01b03169150856001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051613ca4929190918252602082015260400190565b60405180910390a250505b6001600160a01b03831615611903576001600160a01b038316600090815260018201602052604081208190613cea90614508613c4587614482565b6001600160d01b031691506001600160d01b03169150846001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051613d44929190918252602082015260400190565b60405180910390a2505050505050565b613d5d82614514565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a2805115613da25761190582826145b1565b6112f6614627565b600063ffffffff821115612c6b576040517f6dfcc6500000000000000000000000000000000000000000000000000000000081526020600482015260248101839052604401610e5e565b6000807f5ab42ced628888259c08ac98db1eb0cf702fc1501344311d8b100cd1bfe4bb0061193a565b7fcd5ed15c6e187e77e9aee88184c21f4f2182ab5827cb3b7e07fbedcd63f033005460ff1615610eba576040517fd93c066500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005468010000000000000000900460ff16610eba576040517fd7e6bcf800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b613ee8613e79565b7f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace007f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace03613f34848261523b565b5060048101611903838261523b565b613f4b613e79565b7fcd5ed15c6e187e77e9aee88184c21f4f2182ab5827cb3b7e07fbedcd63f03300805460ff19169055565b613f7e613e79565b610d148161338e565b613f8f613e79565b7fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d1007fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d102613fdb848261523b565b5060038101613fea838261523b565b5060008082556001909101555050565b600080807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a084111561403557506000915060039050826140bf565b604080516000808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa158015614089573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381166140b5575060009250600191508290506140bf565b9250600091508190505b9450945094915050565b60008260038111156140dd576140dd6152fb565b036140e6575050565b60018260038111156140fa576140fa6152fb565b03614131576040517ff645eedf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002826003811115614145576141456152fb565b0361417f576040517ffce698f700000000000000000000000000000000000000000000000000000000815260048101829052602401610e5e565b6003826003811115614193576141936152fb565b036112f6576040517fd78bce0c00000000000000000000000000000000000000000000000000000000815260048101829052602401610e5e565b6040805180820190915260008082526020820152826000018263ffffffff16815481106141fc576141fc61507f565b60009182526020918290206040805180820190915291015465ffffffffffff81168252660100000000000090046001600160d01b0316918101919091529392505050565b61424b83838361465f565b6001600160a01b0383166142d45760006142837f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace025490565b90506001600160d01b03808211156142d1576040517f1cb15d260000000000000000000000000000000000000000000000000000000081526004810183905260248101829052604401610e5e565b50505b611905838383614672565b60007fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d1008161430b613474565b80519091501561432357805160209091012092915050565b81548015614332579392505050565b7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470935050505090565b60007fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d100816143876134c5565b80519091501561439f57805160209091012092915050565b60018201548015614332579392505050565b600080608083901c156143c657608092831c92015b604083901c156143d857604092831c92015b602083901c156143ea57602092831c92015b601083901c156143fc57601092831c92015b600883901c1561440e57600892831c92015b600483901c1561442057600492831c92015b600283901c1561443257600292831c92015b600183901c15610bf55760010192915050565b60008183106144545781610dcc565b5090919050565b600061446a60028484186150d8565b610dcc9084841661502e565b6000610dcc8284615311565b60006001600160d01b03821115612c6b576040517f6dfcc65000000000000000000000000000000000000000000000000000000000815260d0600482015260248101839052604401610e5e565b6000806144fb6144dd611dd0565b6144f36144e9886134ef565b868863ffffffff16565b87919061472c565b915091505b935093915050565b6000610dcc8284615338565b806001600160a01b03163b600003614563576040517f4c9c8ce30000000000000000000000000000000000000000000000000000000081526001600160a01b0382166004820152602401610e5e565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b6060600080846001600160a01b0316846040516145ce91906151ab565b600060405180830381855af49150503d8060008114614609576040519150601f19603f3d011682016040523d82523d6000602084013e61460e565b606091505b509150915061461e85838361473a565b95945050505050565b3415610eba576040517fb398979f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614667613e1d565b6119058383836147af565b7fe8b26c30fad74198956032a3533d903385d56dd795af560196f9c78d4af40d006001600160a01b0384166146b7576146b481600201614508613c4585614482565b50505b6001600160a01b0383166146db576146d881600201614476613c4585614482565b50505b6001600160a01b0384811660009081527fe8b26c30fad74198956032a3533d903385d56dd795af560196f9c78d4af40d00602052604080822054868416835291205461190392918216911684613bc8565b6000806144fb858585614918565b60608261474f5761474a82614ab7565b610dcc565b815115801561476657506001600160a01b0384163b155b156147a8576040517f9996b3150000000000000000000000000000000000000000000000000000000081526001600160a01b0385166004820152602401610e5e565b5080610dcc565b7f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace006001600160a01b0384166147fd57818160020160008282546147f2919061502e565b909155506148889050565b6001600160a01b03841660009081526020829052604090205482811015614869576040517fe450d38c0000000000000000000000000000000000000000000000000000000081526001600160a01b03861660048201526024810182905260448101849052606401610e5e565b6001600160a01b03851660009081526020839052604090209083900390555b6001600160a01b0383166148a65760028101805483900390556148c5565b6001600160a01b03831660009081526020829052604090208054830190555b826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161490a91815260200190565b60405180910390a350505050565b825460009081908015614a5957600061493687612cf360018561506c565b60408051808201909152905465ffffffffffff80821680845266010000000000009092046001600160d01b0316602084015291925090871610156149a6576040517f2520601d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805165ffffffffffff8088169116036149f557846149c988612cf360018661506c565b80546001600160d01b039290921666010000000000000265ffffffffffff909216919091179055614a49565b6040805180820190915265ffffffffffff80881682526001600160d01b0380881660208085019182528b54600181018d5560008d815291909120945191519092166601000000000000029216919091179101555b6020015192508391506145009050565b50506040805180820190915265ffffffffffff80851682526001600160d01b0380851660208085019182528854600181018a5560008a8152918220955192519093166601000000000000029190931617920191909155905081614500565b805115614ac75780518082602001fd5b6040517f1425ea4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b83811015614b14578181015183820152602001614afc565b50506000910152565b60008151808452614b35816020860160208601614af9565b601f01601f19169290920160200192915050565b602081526000610dcc6020830184614b1d565b6001600160a01b0381168114610d1457600080fd5b60008060408385031215614b8457600080fd5b8235614b8f81614b5c565b946020939093013593505050565b600060208284031215614baf57600080fd5b5035919050565b600080600060608486031215614bcb57600080fd5b8335614bd681614b5c565b92506020840135614be681614b5c565b929592945050506040919091013590565b634e487b7160e01b600052604160045260246000fd5b60008060408385031215614c2057600080fd5b8235614c2b81614b5c565b9150602083013567ffffffffffffffff80821115614c4857600080fd5b818501915085601f830112614c5c57600080fd5b813581811115614c6e57614c6e614bf7565b604051601f8201601f19908116603f01168101908382118183101715614c9657614c96614bf7565b81604052828152886020848701011115614caf57600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b600060208284031215614ce357600080fd5b8135610dcc81614b5c565b6020808252825182820181905260009190848201906040850190845b818110156136175783516001600160a01b031683529284019291840191600101614d0a565b7fff00000000000000000000000000000000000000000000000000000000000000881681526000602060e06020840152614d6c60e084018a614b1d565b8381036040850152614d7e818a614b1d565b606085018990526001600160a01b038816608086015260a0850187905284810360c08601528551808252602080880193509091019060005b81811015614dd257835183529284019291840191600101614db6565b50909c9b505050505050505050505050565b60008060408385031215614df757600080fd5b50508035926020909101359150565b600080600060608486031215614e1b57600080fd5b8335614e2681614b5c565b92506020840135614e3681614b5c565b91506040840135614e4681614b5c565b809150509250925092565b803560ff81168114614e6257600080fd5b919050565b60008060008060008060c08789031215614e8057600080fd5b8635614e8b81614b5c565b95506020870135945060408701359350614ea760608801614e51565b92506080870135915060a087013590509295509295509295565b600080600080600080600060e0888a031215614edc57600080fd5b8735614ee781614b5c565b96506020880135614ef781614b5c565b95506040880135945060608801359350614f1360808901614e51565b925060a0880135915060c0880135905092959891949750929550565b60008060408385031215614f4257600080fd5b8235614f4d81614b5c565b91506020830135614f5d81614b5c565b809150509250929050565b63ffffffff81168114610d1457600080fd5b60008060408385031215614f8d57600080fd5b8235614f9881614b5c565b91506020830135614f5d81614f68565b600181811c90821680614fbc57607f821691505b602082108103614fdc57634e487b7160e01b600052602260045260246000fd5b50919050565b600060208284031215614ff457600080fd5b8151610dcc81614b5c565b60006020828403121561501157600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b80820180821115610bf557610bf5615018565b80518015158114614e6257600080fd5b60006020828403121561506357600080fd5b610dcc82615041565b81810381811115610bf557610bf5615018565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052603160045260246000fd5b8082028115828204841417610bf557610bf5615018565b634e487b7160e01b600052601260045260246000fd5b6000826150f557634e487b7160e01b600052601260045260246000fd5b500490565b6000808585111561510a57600080fd5b8386111561511757600080fd5b5050820193919092039150565b7fffffffff0000000000000000000000000000000000000000000000000000000081358181169160048510156151645780818660040360031b1b83161692505b505092915050565b6001600160a01b038416815260406020820152816040820152818360608301376000818301606090810191909152601f909201601f1916010192915050565b600082516151bd818460208701614af9565b9190910192915050565b600080604083850312156151da57600080fd5b6151e383615041565b91506020830151614f5d81614f68565b601f821115611905576000816000526020600020601f850160051c8101602086101561521c5750805b601f850160051c820191505b81811015612eeb57828155600101615228565b815167ffffffffffffffff81111561525557615255614bf7565b615269816152638454614fa8565b846151f3565b602080601f83116001811461529e57600084156152865750858301515b600019600386901b1c1916600185901b178555612eeb565b600085815260208120601f198616915b828110156152cd578886015182559484019460019091019084016152ae565b50858210156152eb5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052602160045260246000fd5b6001600160d01b0382811682821603908082111561533157615331615018565b5092915050565b6001600160d01b038181168382160190808211156153315761533161501856fea26469706673582212206b18bc8434c0672267fcda027ea2cadd0471d49c7572ff163b235cca5385f9fe64736f6c63430008180033