0x608060405234801561001057600080fd5b50604051610942380380610942833981810160405281019061003291906100ce565b336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050610140565b6000815190506100c881610129565b92915050565b6000602082840312156100e057600080fd5b60006100ee848285016100b9565b91505092915050565b600061010282610109565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b610132816100f7565b811461013d57600080fd5b50565b6107f38061014f6000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063256fa24114610030575b600080fd5b61004a600480360381019061004591906103e5565b61004c565b005b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146100da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016100d190610584565b60405180910390fd5b600082511161011e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610115906105a4565b60405180910390fd5b600082518261012d9190610652565b905080600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161018b9190610540565b60206040518083038186803b1580156101a357600080fd5b505afa1580156101b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101db9190610439565b101561021c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610213906105c4565b60405180910390fd5b60005b835181101561030a57600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb85838151811061029f577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6020026020010151856040518363ffffffff1660e01b81526004016102c592919061055b565b600060405180830381600087803b1580156102df57600080fd5b505af11580156102f3573d6000803e3d6000fd5b505050508080610302906106e8565b91505061021f565b50505050565b600061032361031e84610615565b6105e4565b9050808382526020820190508285602086028201111561034257600080fd5b60005b858110156103725781610358888261037c565b845260208401935060208301925050600181019050610345565b5050509392505050565b60008135905061038b8161078f565b92915050565b600082601f8301126103a257600080fd5b81356103b2848260208601610310565b91505092915050565b6000813590506103ca816107a6565b92915050565b6000815190506103df816107a6565b92915050565b600080604083850312156103f857600080fd5b600083013567ffffffffffffffff81111561041257600080fd5b61041e85828601610391565b925050602061042f858286016103bb565b9150509250929050565b60006020828403121561044b57600080fd5b6000610459848285016103d0565b91505092915050565b61046b816106ac565b82525050565b600061047e602083610641565b91507f4f6e6c79206f776e65722063616e206469737472696275746520746f6b656e736000830152602082019050919050565b60006104be601783610641565b91507f4e6f20726563697069656e7473207370656369666965640000000000000000006000830152602082019050919050565b60006104fe601d83610641565b91507f496e73756666696369656e7420636f6e74726163742062616c616e63650000006000830152602082019050919050565b61053a816106de565b82525050565b60006020820190506105556000830184610462565b92915050565b60006040820190506105706000830185610462565b61057d6020830184610531565b9392505050565b6000602082019050818103600083015261059d81610471565b9050919050565b600060208201905081810360008301526105bd816104b1565b9050919050565b600060208201905081810360008301526105dd816104f1565b9050919050565b6000604051905081810181811067ffffffffffffffff8211171561060b5761060a610760565b5b8060405250919050565b600067ffffffffffffffff8211156106305761062f610760565b5b602082029050602081019050919050565b600082825260208201905092915050565b600061065d826106de565b9150610668836106de565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156106a1576106a0610731565b5b828202905092915050565b60006106b7826106be565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60006106f3826106de565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561072657610725610731565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b610798816106ac565b81146107a357600080fd5b50565b6107af816106de565b81146107ba57600080fd5b5056fea2646970667358221220620a7e2d7c60e8c7d342c13c5cbea445bd6dfc2f8ad098a523800dd7522e675c64736f6c63430008000033000000000000000000000000b5f8fc3575286f4308a388150601ae25b5545a9a