VeChain
Explorer
Testnet
Search
Networks
Main
Test
Contract
0x3dd3BE…c17C
Summary
Transactions
Transfers
Address
0x3dd3BEF37dAC6317077431d082c6fC5d87Efc17C
VET
0.00
VET
VTHO
0.00
VTHO
Master
0x8d66DA6448c6144E894B7cD91Fa1Ae65310A4855
Deployer
0x8d66DA6448c6144E894B7cD91Fa1Ae65310A4855
Code
0x608060405234801561001057600080fd5b50600436106101e55760003560e01c80636352211e1161010f578063a22cb465116100a2578063d539139311610071578063d5391393146105a0578063d547741f146105be578063e63ab1e9146105da578063e985e9c5146105f8576101e5565b8063a22cb46514610508578063b88d4fde14610524578063c87b56dd14610540578063ca15c87314610570576101e5565b80639010d07c116100de5780639010d07c1461046c57806391d148541461049c57806395d89b41146104cc578063a217fddf146104ea576101e5565b80636352211e146103e65780636a6278421461041657806370a08231146104325780638456cb5914610462576101e5565b80632f2ff15d1161018757806342842e0e1161015657806342842e0e1461036057806342966c681461037c5780634f6ccce7146103985780635c975abb146103c8576101e5565b80632f2ff15d146102ee5780632f745c591461030a57806336568abe1461033a5780633f4ba83a14610356576101e5565b8063095ea7b3116101c3578063095ea7b31461026857806318160ddd1461028457806323b872dd146102a2578063248a9ca3146102be576101e5565b806301ffc9a7146101ea57806306fdde031461021a578063081812fc14610238575b600080fd5b61020460048036038101906101ff91906131fc565b610628565b6040516102119190613244565b60405180910390f35b61022261063a565b60405161022f91906132f8565b60405180910390f35b610252600480360381019061024d9190613350565b6106cc565b60405161025f91906133be565b60405180910390f35b610282600480360381019061027d9190613405565b610712565b005b61028c61082a565b6040516102999190613454565b60405180910390f35b6102bc60048036038101906102b7919061346f565b610837565b005b6102d860048036038101906102d391906134f8565b610897565b6040516102e59190613534565b60405180910390f35b6103086004803603810190610303919061354f565b6108b6565b005b610324600480360381019061031f9190613405565b6108d7565b6040516103319190613454565b60405180910390f35b610354600480360381019061034f919061354f565b61097c565b005b61035e6109ff565b005b61037a6004803603810190610375919061346f565b610a79565b005b61039660048036038101906103919190613350565b610a99565b005b6103b260048036038101906103ad9190613350565b610af5565b6040516103bf9190613454565b60405180910390f35b6103d0610b66565b6040516103dd9190613244565b60405180910390f35b61040060048036038101906103fb9190613350565b610b7d565b60405161040d91906133be565b60405180910390f35b610430600480360381019061042b919061358f565b610c04565b005b61044c6004803603810190610447919061358f565b610c94565b6040516104599190613454565b60405180910390f35b61046a610d4c565b005b610486600480360381019061048191906135bc565b610dc6565b60405161049391906133be565b60405180910390f35b6104b660048036038101906104b1919061354f565b610df5565b6040516104c39190613244565b60405180910390f35b6104d4610e5f565b6040516104e191906132f8565b60405180910390f35b6104f2610ef1565b6040516104ff9190613534565b60405180910390f35b610522600480360381019061051d9190613628565b610ef8565b005b61053e6004803603810190610539919061379d565b610f0e565b005b61055a60048036038101906105559190613350565b610f70565b60405161056791906132f8565b60405180910390f35b61058a600480360381019061058591906134f8565b610fd8565b6040516105979190613454565b60405180910390f35b6105a8610ffc565b6040516105b59190613534565b60405180910390f35b6105d860048036038101906105d3919061354f565b611020565b005b6105e2611041565b6040516105ef9190613534565b60405180910390f35b610612600480360381019061060d9190613820565b611065565b60405161061f9190613244565b60405180910390f35b600061063382611209565b9050919050565b6060600280546106499061388f565b80601f01602080910402602001604051908101604052809291908181526020018280546106759061388f565b80156106c25780601f10610697576101008083540402835291602001916106c2565b820191906000526020600020905b8154815290600101906020018083116106a557829003601f168201915b5050505050905090565b60006106d782611283565b6006600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b600061071d82610b7d565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561078e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161078590613933565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166107ad6112ce565b73ffffffffffffffffffffffffffffffffffffffff1614806107dc57506107db816107d66112ce565b611065565b5b61081b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610812906139c5565b60405180910390fd5b61082583836112d6565b505050565b6000600a80549050905090565b6108486108426112ce565b8261138f565b610887576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161087e90613a57565b60405180910390fd5b610892838383611424565b505050565b6000806000838152602001908152602001600020600101549050919050565b6108bf82610897565b6108c88161171e565b6108d28383611732565b505050565b60006108e283610c94565b8210610923576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161091a90613ae9565b60405180910390fd5b600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002054905092915050565b6109846112ce565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146109f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109e890613b7b565b60405180910390fd5b6109fb8282611766565b5050565b610a307f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a610a2b6112ce565b610df5565b610a6f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a6690613c0d565b60405180910390fd5b610a7761179a565b565b610a9483838360405180602001604052806000815250610f0e565b505050565b610aaa610aa46112ce565b8261138f565b610ae9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ae090613a57565b60405180910390fd5b610af2816117fd565b50565b6000610aff61082a565b8210610b40576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b3790613c9f565b60405180910390fd5b600a8281548110610b5457610b53613cbf565b5b90600052602060002001549050919050565b6000600c60009054906101000a900460ff16905090565b600080610b898361194b565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610bfb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bf290613d3a565b60405180910390fd5b80915050919050565b610c357f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6610c306112ce565b610df5565b610c74576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c6b90613dcc565b60405180910390fd5b610c8781610c82600d611988565b611996565b610c91600d611bb4565b50565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610d05576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cfc90613e5e565b60405180910390fd5b600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610d7d7f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a610d786112ce565b610df5565b610dbc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610db390613ef0565b60405180910390fd5b610dc4611bca565b565b6000610ded8260016000868152602001908152602001600020611c2d90919063ffffffff16565b905092915050565b600080600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b606060038054610e6e9061388f565b80601f0160208091040260200160405190810160405280929190818152602001828054610e9a9061388f565b8015610ee75780601f10610ebc57610100808354040283529160200191610ee7565b820191906000526020600020905b815481529060010190602001808311610eca57829003601f168201915b5050505050905090565b6000801b81565b610f0a610f036112ce565b8383611c47565b5050565b610f1f610f196112ce565b8361138f565b610f5e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f5590613a57565b60405180910390fd5b610f6a84848484611db4565b50505050565b6060610f7b82611283565b6000610f85611e10565b90506000815111610fa55760405180602001604052806000815250610fd0565b80610faf84611ea2565b604051602001610fc0929190613f4c565b6040516020818303038152906040525b915050919050565b6000610ff560016000848152602001908152602001600020611f7a565b9050919050565b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a681565b61102982610897565b6110328161171e565b61103c8383611766565b505050565b7f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a81565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6111038282610df5565b6111d557600160008084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555061117a6112ce565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b6000611201836000018373ffffffffffffffffffffffffffffffffffffffff1660001b611f8f565b905092915050565b60007f780e9d63000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061127c575061127b82611fff565b5b9050919050565b61128c816120e1565b6112cb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112c290613d3a565b60405180910390fd5b50565b600033905090565b816006600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff1661134983610b7d565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60008061139b83610b7d565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614806113dd57506113dc8185611065565b5b8061141b57508373ffffffffffffffffffffffffffffffffffffffff16611403846106cc565b73ffffffffffffffffffffffffffffffffffffffff16145b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff1661144482610b7d565b73ffffffffffffffffffffffffffffffffffffffff161461149a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161149190613fe2565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561150a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161150190614074565b60405180910390fd5b6115178383836001612122565b8273ffffffffffffffffffffffffffffffffffffffff1661153782610b7d565b73ffffffffffffffffffffffffffffffffffffffff161461158d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161158490613fe2565b60405180910390fd5b6006600082815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556001600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055506001600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816004600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a46117198383836001612134565b505050565b61172f8161172a6112ce565b61213a565b50565b61173c82826110f9565b61176181600160008581526020019081526020016000206111d990919063ffffffff16565b505050565b61177082826121bf565b61179581600160008581526020019081526020016000206122a090919063ffffffff16565b505050565b6117a26122d0565b6000600c60006101000a81548160ff0219169083151502179055507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa6117e66112ce565b6040516117f391906133be565b60405180910390a1565b600061180882610b7d565b9050611818816000846001612122565b61182182610b7d565b90506006600083815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556001600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055506004600083815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905581600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4611947816000846001612134565b5050565b60006004600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b600081600001549050919050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611a06576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119fd906140e0565b60405180910390fd5b611a0f816120e1565b15611a4f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a469061414c565b60405180910390fd5b611a5d600083836001612122565b611a66816120e1565b15611aa6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a9d9061414c565b60405180910390fd5b6001600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816004600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4611bb0600083836001612134565b5050565b6001816000016000828254019250508190555050565b611bd2612319565b6001600c60006101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258611c166112ce565b604051611c2391906133be565b60405180910390a1565b6000611c3c8360000183612363565b60001c905092915050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611cb6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cad906141b8565b60405180910390fd5b80600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051611da79190613244565b60405180910390a3505050565b611dbf848484611424565b611dcb8484848461238e565b611e0a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e019061424a565b60405180910390fd5b50505050565b6060600e8054611e1f9061388f565b80601f0160208091040260200160405190810160405280929190818152602001828054611e4b9061388f565b8015611e985780601f10611e6d57610100808354040283529160200191611e98565b820191906000526020600020905b815481529060010190602001808311611e7b57829003601f168201915b5050505050905090565b606060006001611eb184612525565b01905060008167ffffffffffffffff811115611ed057611ecf613672565b5b6040519080825280601f01601f191660200182016040528015611f025781602001600182028036833780820191505090505b509050600082602001820190505b600115611f6f578080600190039150507f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a8581611f5957611f5861426a565b5b0494506000851415611f6a57611f6f565b611f10565b819350505050919050565b6000611f8882600001612678565b9050919050565b6000611f9b8383612689565b611ff4578260000182908060018154018082558091505060019003906000526020600020016000909190919091505582600001805490508360010160008481526020019081526020016000208190555060019050611ff9565b600090505b92915050565b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806120ca57507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806120da57506120d9826126ac565b5b9050919050565b60008073ffffffffffffffffffffffffffffffffffffffff166121038361194b565b73ffffffffffffffffffffffffffffffffffffffff1614159050919050565b61212e84848484612726565b50505050565b50505050565b6121448282610df5565b6121bb5761215181612780565b61215f8360001c60206127ad565b604051602001612170929190614331565b6040516020818303038152906040526040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121b291906132f8565b60405180910390fd5b5050565b6121c98282610df5565b1561229c57600080600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506122416112ce565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45b5050565b60006122c8836000018373ffffffffffffffffffffffffffffffffffffffff1660001b6129e9565b905092915050565b6122d8610b66565b612317576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161230e906143b7565b60405180910390fd5b565b612321610b66565b15612361576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161235890614423565b60405180910390fd5b565b600082600001828154811061237b5761237a613cbf565b5b9060005260206000200154905092915050565b60006123af8473ffffffffffffffffffffffffffffffffffffffff16612afd565b15612518578373ffffffffffffffffffffffffffffffffffffffff1663150b7a026123d86112ce565b8786866040518563ffffffff1660e01b81526004016123fa9493929190614498565b602060405180830381600087803b15801561241457600080fd5b505af192505050801561244557506040513d601f19601f8201168201806040525081019061244291906144f9565b60015b6124c8573d8060008114612475576040519150601f19603f3d011682016040523d82523d6000602084013e61247a565b606091505b506000815114156124c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124b79061424a565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161491505061251d565b600190505b949350505050565b600080600090507a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310612583577a184f03e93ff9f4daa797ed6e38ed64bf6a1f01000000000000000083816125795761257861426a565b5b0492506040810190505b6d04ee2d6d415b85acef810000000083106125c0576d04ee2d6d415b85acef810000000083816125b6576125b561426a565b5b0492506020810190505b662386f26fc1000083106125ef57662386f26fc1000083816125e5576125e461426a565b5b0492506010810190505b6305f5e1008310612618576305f5e100838161260e5761260d61426a565b5b0492506008810190505b612710831061263d5761271083816126335761263261426a565b5b0492506004810190505b6064831061266057606483816126565761265561426a565b5b0492506002810190505b600a831061266f576001810190505b80915050919050565b600081600001805490509050919050565b600080836001016000848152602001908152602001600020541415905092915050565b60007f5a05180f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061271f575061271e82612b20565b5b9050919050565b61273284848484612b9a565b61273a610b66565b1561277a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161277190614598565b60405180910390fd5b50505050565b60606127a68273ffffffffffffffffffffffffffffffffffffffff16601460ff166127ad565b9050919050565b6060600060028360026127c091906145e7565b6127ca9190614641565b67ffffffffffffffff8111156127e3576127e2613672565b5b6040519080825280601f01601f1916602001820160405280156128155781602001600182028036833780820191505090505b5090507f30000000000000000000000000000000000000000000000000000000000000008160008151811061284d5761284c613cbf565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f7800000000000000000000000000000000000000000000000000000000000000816001815181106128b1576128b0613cbf565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600060018460026128f191906145e7565b6128fb9190614641565b90505b600181111561299b577f3031323334353637383961626364656600000000000000000000000000000000600f86166010811061293d5761293c613cbf565b5b1a60f81b82828151811061295457612953613cbf565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600485901c94508061299490614697565b90506128fe565b50600084146129df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129d69061470d565b60405180910390fd5b8091505092915050565b60008083600101600084815260200190815260200160002054905060008114612af1576000600182612a1b919061472d565b9050600060018660000180549050612a33919061472d565b9050818114612aa2576000866000018281548110612a5457612a53613cbf565b5b9060005260206000200154905080876000018481548110612a7857612a77613cbf565b5b90600052602060002001819055508387600101600083815260200190815260200160002081905550505b85600001805480612ab657612ab5614761565b5b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050612af7565b60009150505b92915050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b60007f7965db0b000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480612b935750612b9282612cfa565b5b9050919050565b612ba684848484612d64565b6001811115612bea576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612be190614802565b60405180910390fd5b6000829050600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161415612c3257612c2d81612e8a565b612c71565b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614612c7057612c6f8582612ed3565b5b5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415612cb457612caf81613040565b612cf3565b8473ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614612cf257612cf18482613111565b5b5b5050505050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b6001811115612e8457600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614612df85780600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254612df0919061472d565b925050819055505b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614612e835780600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254612e7b9190614641565b925050819055505b5b50505050565b600a80549050600b600083815260200190815260200160002081905550600a81908060018154018082558091505060019003906000526020600020016000909190919091505550565b60006001612ee084610c94565b612eea919061472d565b9050600060096000848152602001908152602001600020549050818114612fcf576000600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002054905080600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002081905550816009600083815260200190815260200160002081905550505b6009600084815260200190815260200160002060009055600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008381526020019081526020016000206000905550505050565b60006001600a80549050613054919061472d565b90506000600b60008481526020019081526020016000205490506000600a838154811061308457613083613cbf565b5b9060005260206000200154905080600a83815481106130a6576130a5613cbf565b5b906000526020600020018190555081600b600083815260200190815260200160002081905550600b600085815260200190815260200160002060009055600a8054806130f5576130f4614761565b5b6001900381819060005260206000200160009055905550505050565b600061311c83610c94565b905081600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002081905550806009600084815260200190815260200160002081905550505050565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6131d9816131a4565b81146131e457600080fd5b50565b6000813590506131f6816131d0565b92915050565b6000602082840312156132125761321161319a565b5b6000613220848285016131e7565b91505092915050565b60008115159050919050565b61323e81613229565b82525050565b60006020820190506132596000830184613235565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561329957808201518184015260208101905061327e565b838111156132a8576000848401525b50505050565b6000601f19601f8301169050919050565b60006132ca8261325f565b6132d4818561326a565b93506132e481856020860161327b565b6132ed816132ae565b840191505092915050565b6000602082019050818103600083015261331281846132bf565b905092915050565b6000819050919050565b61332d8161331a565b811461333857600080fd5b50565b60008135905061334a81613324565b92915050565b6000602082840312156133665761336561319a565b5b60006133748482850161333b565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006133a88261337d565b9050919050565b6133b88161339d565b82525050565b60006020820190506133d360008301846133af565b92915050565b6133e28161339d565b81146133ed57600080fd5b50565b6000813590506133ff816133d9565b92915050565b6000806040838503121561341c5761341b61319a565b5b600061342a858286016133f0565b925050602061343b8582860161333b565b9150509250929050565b61344e8161331a565b82525050565b60006020820190506134696000830184613445565b92915050565b6000806000606084860312156134885761348761319a565b5b6000613496868287016133f0565b93505060206134a7868287016133f0565b92505060406134b88682870161333b565b9150509250925092565b6000819050919050565b6134d5816134c2565b81146134e057600080fd5b50565b6000813590506134f2816134cc565b92915050565b60006020828403121561350e5761350d61319a565b5b600061351c848285016134e3565b91505092915050565b61352e816134c2565b82525050565b60006020820190506135496000830184613525565b92915050565b600080604083850312156135665761356561319a565b5b6000613574858286016134e3565b9250506020613585858286016133f0565b9150509250929050565b6000602082840312156135a5576135a461319a565b5b60006135b3848285016133f0565b91505092915050565b600080604083850312156135d3576135d261319a565b5b60006135e1858286016134e3565b92505060206135f28582860161333b565b9150509250929050565b61360581613229565b811461361057600080fd5b50565b600081359050613622816135fc565b92915050565b6000806040838503121561363f5761363e61319a565b5b600061364d858286016133f0565b925050602061365e85828601613613565b9150509250929050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6136aa826132ae565b810181811067ffffffffffffffff821117156136c9576136c8613672565b5b80604052505050565b60006136dc613190565b90506136e882826136a1565b919050565b600067ffffffffffffffff82111561370857613707613672565b5b613711826132ae565b9050602081019050919050565b82818337600083830152505050565b600061374061373b846136ed565b6136d2565b90508281526020810184848401111561375c5761375b61366d565b5b61376784828561371e565b509392505050565b600082601f83011261378457613783613668565b5b813561379484826020860161372d565b91505092915050565b600080600080608085870312156137b7576137b661319a565b5b60006137c5878288016133f0565b94505060206137d6878288016133f0565b93505060406137e78782880161333b565b925050606085013567ffffffffffffffff8111156138085761380761319f565b5b6138148782880161376f565b91505092959194509250565b600080604083850312156138375761383661319a565b5b6000613845858286016133f0565b9250506020613856858286016133f0565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806138a757607f821691505b602082108114156138bb576138ba613860565b5b50919050565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b600061391d60218361326a565b9150613928826138c1565b604082019050919050565b6000602082019050818103600083015261394c81613910565b9050919050565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60008201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c000000602082015250565b60006139af603d8361326a565b91506139ba82613953565b604082019050919050565b600060208201905081810360008301526139de816139a2565b9050919050565b7f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560008201527f72206f7220617070726f76656400000000000000000000000000000000000000602082015250565b6000613a41602d8361326a565b9150613a4c826139e5565b604082019050919050565b60006020820190508181036000830152613a7081613a34565b9050919050565b7f455243373231456e756d657261626c653a206f776e657220696e646578206f7560008201527f74206f6620626f756e6473000000000000000000000000000000000000000000602082015250565b6000613ad3602b8361326a565b9150613ade82613a77565b604082019050919050565b60006020820190508181036000830152613b0281613ac6565b9050919050565b7f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560008201527f20726f6c657320666f722073656c660000000000000000000000000000000000602082015250565b6000613b65602f8361326a565b9150613b7082613b09565b604082019050919050565b60006020820190508181036000830152613b9481613b58565b9050919050565b7f4552433732315072657365744d696e7465725061757365724175746f49643a2060008201527f6d75737420686176652070617573657220726f6c6520746f20756e7061757365602082015250565b6000613bf760408361326a565b9150613c0282613b9b565b604082019050919050565b60006020820190508181036000830152613c2681613bea565b9050919050565b7f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60008201527f7574206f6620626f756e64730000000000000000000000000000000000000000602082015250565b6000613c89602c8361326a565b9150613c9482613c2d565b604082019050919050565b60006020820190508181036000830152613cb881613c7c565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4552433732313a20696e76616c696420746f6b656e2049440000000000000000600082015250565b6000613d2460188361326a565b9150613d2f82613cee565b602082019050919050565b60006020820190508181036000830152613d5381613d17565b9050919050565b7f4552433732315072657365744d696e7465725061757365724175746f49643a2060008201527f6d7573742068617665206d696e74657220726f6c6520746f206d696e74000000602082015250565b6000613db6603d8361326a565b9150613dc182613d5a565b604082019050919050565b60006020820190508181036000830152613de581613da9565b9050919050565b7f4552433732313a2061646472657373207a65726f206973206e6f74206120766160008201527f6c6964206f776e65720000000000000000000000000000000000000000000000602082015250565b6000613e4860298361326a565b9150613e5382613dec565b604082019050919050565b60006020820190508181036000830152613e7781613e3b565b9050919050565b7f4552433732315072657365744d696e7465725061757365724175746f49643a2060008201527f6d75737420686176652070617573657220726f6c6520746f2070617573650000602082015250565b6000613eda603e8361326a565b9150613ee582613e7e565b604082019050919050565b60006020820190508181036000830152613f0981613ecd565b9050919050565b600081905092915050565b6000613f268261325f565b613f308185613f10565b9350613f4081856020860161327b565b80840191505092915050565b6000613f588285613f1b565b9150613f648284613f1b565b91508190509392505050565b7f4552433732313a207472616e736665722066726f6d20696e636f72726563742060008201527f6f776e6572000000000000000000000000000000000000000000000000000000602082015250565b6000613fcc60258361326a565b9150613fd782613f70565b604082019050919050565b60006020820190508181036000830152613ffb81613fbf565b9050919050565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600061405e60248361326a565b915061406982614002565b604082019050919050565b6000602082019050818103600083015261408d81614051565b9050919050565b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373600082015250565b60006140ca60208361326a565b91506140d582614094565b602082019050919050565b600060208201905081810360008301526140f9816140bd565b9050919050565b7f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000600082015250565b6000614136601c8361326a565b915061414182614100565b602082019050919050565b6000602082019050818103600083015261416581614129565b9050919050565b7f4552433732313a20617070726f766520746f2063616c6c657200000000000000600082015250565b60006141a260198361326a565b91506141ad8261416c565b602082019050919050565b600060208201905081810360008301526141d181614195565b9050919050565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b600061423460328361326a565b915061423f826141d8565b604082019050919050565b6000602082019050818103600083015261426381614227565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000600082015250565b60006142cf601783613f10565b91506142da82614299565b601782019050919050565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000600082015250565b600061431b601183613f10565b9150614326826142e5565b601182019050919050565b600061433c826142c2565b91506143488285613f1b565b91506143538261430e565b915061435f8284613f1b565b91508190509392505050565b7f5061757361626c653a206e6f7420706175736564000000000000000000000000600082015250565b60006143a160148361326a565b91506143ac8261436b565b602082019050919050565b600060208201905081810360008301526143d081614394565b9050919050565b7f5061757361626c653a2070617573656400000000000000000000000000000000600082015250565b600061440d60108361326a565b9150614418826143d7565b602082019050919050565b6000602082019050818103600083015261443c81614400565b9050919050565b600081519050919050565b600082825260208201905092915050565b600061446a82614443565b614474818561444e565b935061448481856020860161327b565b61448d816132ae565b840191505092915050565b60006080820190506144ad60008301876133af565b6144ba60208301866133af565b6144c76040830185613445565b81810360608301526144d9818461445f565b905095945050505050565b6000815190506144f3816131d0565b92915050565b60006020828403121561450f5761450e61319a565b5b600061451d848285016144e4565b91505092915050565b7f4552433732315061757361626c653a20746f6b656e207472616e73666572207760008201527f68696c6520706175736564000000000000000000000000000000000000000000602082015250565b6000614582602b8361326a565b915061458d82614526565b604082019050919050565b600060208201905081810360008301526145b181614575565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006145f28261331a565b91506145fd8361331a565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615614636576146356145b8565b5b828202905092915050565b600061464c8261331a565b91506146578361331a565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561468c5761468b6145b8565b5b828201905092915050565b60006146a28261331a565b915060008214156146b6576146b56145b8565b5b600182039050919050565b7f537472696e67733a20686578206c656e67746820696e73756666696369656e74600082015250565b60006146f760208361326a565b9150614702826146c1565b602082019050919050565b60006020820190508181036000830152614726816146ea565b9050919050565b60006147388261331a565b91506147438361331a565b925082821015614756576147556145b8565b5b828203905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b7f455243373231456e756d657261626c653a20636f6e736563757469766520747260008201527f616e7366657273206e6f7420737570706f727465640000000000000000000000602082015250565b60006147ec60358361326a565b91506147f782614790565b604082019050919050565b6000602082019050818103600083015261481b816147df565b905091905056fea2646970667358221220582ecc498c66dfcb5ae9f5455f56d7f67d642171e3e552ac3b0253f20467e71864736f6c63430008090033