0x608060405234801561001057600080fd5b506104aa806100206000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c8063173825d9146100465780632f54bf6e146100625780637065cb4814610092575b600080fd5b610060600480360381019061005b9190610328565b6100ae565b005b61007c60048036038101906100779190610328565b61018a565b6040516100899190610370565b60405180910390f35b6100ac60048036038101906100a79190610328565b6101df565b005b6000808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610139576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610130906103e8565b60405180910390fd5b6000808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81549060ff021916905550565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b6000808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561026b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161026290610454565b60405180910390fd5b60016000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006102f5826102ca565b9050919050565b610305816102ea565b811461031057600080fd5b50565b600081359050610322816102fc565b92915050565b60006020828403121561033e5761033d6102c5565b5b600061034c84828501610313565b91505092915050565b60008115159050919050565b61036a81610355565b82525050565b60006020820190506103856000830184610361565b92915050565b600082825260208201905092915050565b7f4f776e657220646f6573206e6f74206578697374000000000000000000000000600082015250565b60006103d260148361038b565b91506103dd8261039c565b602082019050919050565b60006020820190508181036000830152610401816103c5565b9050919050565b7f4f776e657220616c726561647920657869737473000000000000000000000000600082015250565b600061043e60148361038b565b915061044982610408565b602082019050919050565b6000602082019050818103600083015261046d81610431565b905091905056fea2646970667358221220cd1f066ba63d782772e6c421467adadbcda9a222196499796eb3925ca2bd4d7864736f6c63430008120033