0x6080604052600060025534801561001557600080fd5b50336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060018060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550610b9b806100dd6000396000f3fe60806040526004361061007b5760003560e01c8063ab0da5a91161004e578063ab0da5a9146101d0578063b2bdfa7b14610221578063c01ae5d314610278578063daea85c5146103535761007b565b806312065fe0146100985780632e1a7d4d146100c3578063673448dd146100fe57806376544cac14610167575b610090346002546103a490919063ffffffff16565b600281905550005b3480156100a457600080fd5b506100ad6103c3565b6040518082815260200191505060405180910390f35b3480156100cf57600080fd5b506100fc600480360360208110156100e657600080fd5b81019080803590602001909291905050506103cd565b005b34801561010a57600080fd5b5061014d6004803603602081101561012157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610551565b604051808215151515815260200191505060405180910390f35b34801561017357600080fd5b506101b66004803603602081101561018a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506105a7565b604051808215151515815260200191505060405180910390f35b3480156101dc57600080fd5b5061021f600480360360208110156101f357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506105c7565b005b34801561022d57600080fd5b506102366106e4565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561028457600080fd5b506103516004803603604081101561029b57600080fd5b81019080803590602001906401000000008111156102b857600080fd5b8201836020820111156102ca57600080fd5b803590602001918460208302840111640100000000831117156102ec57600080fd5b90919293919293908035906020019064010000000081111561030d57600080fd5b82018360208201111561031f57600080fd5b8035906020019184602083028401116401000000008311171561034157600080fd5b9091929391929390505050610709565b005b34801561035f57600080fd5b506103a26004803603602081101561037657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610a4a565b005b6000808284019050838110156103b957600080fd5b8091505092915050565b6000600254905090565b806002541015610445576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600a8152602001807f6e6f7420656e6f7567680000000000000000000000000000000000000000000081525060200191505060405180910390fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610507576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600c8152602001807f756e617574686f72697a6564000000000000000000000000000000000000000081525060200191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561054d573d6000803e3d6000fd5b5050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b60016020528060005260406000206000915054906101000a900460ff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610689576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600c8152602001807f756e617574686f72697a6564000000000000000000000000000000000000000081525060200191505060405180910390fd5b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166107c8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600c8152602001807f756e617574686f72697a6564000000000000000000000000000000000000000081525060200191505060405180910390fd5b818190508484905014610843576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f4e6f742076616c6964206c697374206c656e677468000000000000000000000081525060200191505060405180910390fd5b600080905060008090505b8383905081101561088d5761087e84848381811061086857fe5b90506020020135836103a490919063ffffffff16565b9150808060010191505061084e565b50806002541015610906576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600a8152602001807f6e6f7420656e6f7567680000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60008090505b858590508110156109a55785858281811061092357fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc85858481811061096557fe5b905060200201359081150290604051600060405180830381858888f19350505050158015610997573d6000803e3d6000fd5b50808060010191505061090c565b507fc497dcdf6fe692fec514dbd81774437b24c7f1a709fb93fd5d078053d878aff5858585856040518080602001806020018381038352878782818152602001925060200280828437600081840152601f19601f8201169050808301925050508381038252858582818152602001925060200280828437600081840152601f19601f820116905080830192505050965050505050505060405180910390a15050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610b0c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600c8152602001807f756e617574686f72697a6564000000000000000000000000000000000000000081525060200191505060405180910390fd5b60018060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505056fea265627a7a72315820bd6f5e245e38e86612475ecaae0929ce42ea2ff94c2aeae976161d28ea90640a64736f6c634300050b0032