0x608060405234801561001057600080fd5b50604051610860380380610860833981810160405281019061003291906100ce565b336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050610140565b6000815190506100c881610129565b92915050565b6000602082840312156100e057600080fd5b60006100ee848285016100b9565b91505092915050565b600061010282610109565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b610132816100f7565b811461013d57600080fd5b50565b6107118061014f6000396000f3fe6080604052600436106100345760003560e01c80633ccfd60b14610039578063612e1488146100505780639e80dc1f1461007b575b600080fd5b34801561004557600080fd5b5061004e610097565b005b34801561005c57600080fd5b5061006561018e565b604051610072919061059b565b60405180910390f35b61009560048036038101906100909190610465565b6101b4565b005b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610125576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161011c906105b6565b60405180910390fd5b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f1935050505015801561018b573d6000803e3d6000fd5b50565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610242576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610239906105b6565b60405180910390fd5b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639ea0fb00836040518263ffffffff1660e01b815260040161029f9190610616565b60206040518083038186803b1580156102b757600080fd5b505afa1580156102cb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102ef919061043c565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610361576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610358906105f6565b60405180910390fd5b60008173ffffffffffffffffffffffffffffffffffffffff163460405161038790610586565b60006040518083038185875af1925050503d80600081146103c4576040519150601f19603f3d011682016040523d82523d6000602084013e6103c9565b606091505b505090508061040d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610404906105d6565b60405180910390fd5b505050565b600081519050610421816106ad565b92915050565b600081359050610436816106c4565b92915050565b60006020828403121561044e57600080fd5b600061045c84828501610412565b91505092915050565b60006020828403121561047757600080fd5b600061048584828501610427565b91505092915050565b61049781610689565b82525050565b60006104aa600a8361063c565b91507f4f6e6c79206f776e6572000000000000000000000000000000000000000000006000830152602082019050919050565b60006104ea600f8361063c565b91507f5472616e73666572206661696c656400000000000000000000000000000000006000830152602082019050919050565b600061052a600a8361063c565b91507f496e76616c6964204944000000000000000000000000000000000000000000006000830152602082019050919050565b600061056a600083610631565b9150600082019050919050565b6105808161067f565b82525050565b60006105918261055d565b9150819050919050565b60006020820190506105b0600083018461048e565b92915050565b600060208201905081810360008301526105cf8161049d565b9050919050565b600060208201905081810360008301526105ef816104dd565b9050919050565b6000602082019050818103600083015261060f8161051d565b9050919050565b600060208201905061062b6000830184610577565b92915050565b600081905092915050565b600082825260208201905092915050565b60006106588261065f565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60006106948261069b565b9050919050565b60006106a68261065f565b9050919050565b6106b68161064d565b81146106c157600080fd5b50565b6106cd8161067f565b81146106d857600080fd5b5056fea2646970667358221220f994862dde4d9469ae8e6ea3ad1a48d770ed73d2f1f043abc8d8569d005d3ddf64736f6c634300080000330000000000000000000000001c8847eb180ea4a7683cbb5d44135ee27ae514e2