0x608060405234801561001057600080fd5b5060405161089b38038061089b833981810160405281019061003291906100ce565b336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050610140565b6000815190506100c881610129565b92915050565b6000602082840312156100e057600080fd5b60006100ee848285016100b9565b91505092915050565b600061010282610109565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b610132816100f7565b811461013d57600080fd5b50565b61074c8061014f6000396000f3fe6080604052600436106100435760003560e01c8063348f0e911461004f5780638da5cb5b1461006657806397a23caf14610091578063e086e5ec146100bc5761004a565b3661004a57005b600080fd5b34801561005b57600080fd5b506100646100d3565b005b34801561007257600080fd5b5061007b610312565b6040516100889190610561565b60405180910390f35b34801561009d57600080fd5b506100a6610336565b6040516100b3919061057c565b60405180910390f35b3480156100c857600080fd5b506100d161035c565b005b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610161576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610158906105d7565b60405180910390fd5b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561020057600080fd5b505afa158015610214573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061023891906104b1565b73ffffffffffffffffffffffffffffffffffffffff161461028e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161028590610597565b60405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e086e5ec6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156102f857600080fd5b505af115801561030c573d6000803e3d6000fd5b50505050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146103ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103e1906105d7565b60405180910390fd5b600047905060008111610432576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610429906105b7565b60405180910390fd5b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610498573d6000803e3d6000fd5b5050565b6000815190506104ab816106ff565b92915050565b6000602082840312156104c357600080fd5b60006104d18482850161049c565b91505092915050565b6104e381610608565b82525050565b6104f28161063a565b82525050565b60006105056029836105f7565b91506105108261065e565b604082019050919050565b60006105286012836105f7565b9150610533826106ad565b602082019050919050565b600061054b6016836105f7565b9150610556826106d6565b602082019050919050565b600060208201905061057660008301846104da565b92915050565b600060208201905061059160008301846104e9565b92915050565b600060208201905081810360008301526105b0816104f8565b9050919050565b600060208201905081810360008301526105d08161051b565b9050919050565b600060208201905081810360008301526105f08161053e565b9050919050565b600082825260208201905092915050565b60006106138261061a565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006106458261064c565b9050919050565b60006106578261061a565b9050919050565b7f596f7520617265206e6f7420746865206f776e6572206f6620746865206f6c6460008201527f20636f6e74726163740000000000000000000000000000000000000000000000602082015250565b7f4e6f2045544820746f2077697468647261770000000000000000000000000000600082015250565b7f4e6f742074686520636f6e7472616374206f776e657200000000000000000000600082015250565b61070881610608565b811461071357600080fd5b5056fea2646970667358221220c9f02cd089d5f70354d401432b9cdaeb9278b0f19cca3fc036b2c53c1531570a64736f6c63430008040033000000000000000000000000fcd944dd8e91509cc431f52c5ce2a734daaca9b4