0x608060405234801561001057600080fd5b50610791806100206000396000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c80630121b93f146100675780633477ee2e1461007c57806335b8e820146100a6578063462e91ec146100b95780635c06b06e146100cc578063a3ec138d146100dd575b600080fd5b61007a610075366004610470565b610110565b005b61008f61008a366004610470565b61021c565b60405161009d929190610489565b60405180910390f35b61008f6100b4366004610470565b6102d8565b61007a6100c73660046104f4565b610409565b60005460405190815260200161009d565b6101006100eb3660046105a5565b60016020526000908152604090205460ff1681565b604051901515815260200161009d565b3360009081526001602052604090205460ff16156101755760405162461bcd60e51b815260206004820152601760248201527f596f75206861766520616c726561647920766f7465642e00000000000000000060448201526064015b60405180910390fd5b60005481106101c65760405162461bcd60e51b815260206004820152601b60248201527f4e6f2063616e646964617465206174207468697320696e6465782e0000000000604482015260640161016c565b600081815481106101d9576101d96105d5565b6000918252602082206001600290920201018054916101f7836105eb565b9091555050336000908152600160208190526040909120805460ff1916909117905550565b6000818154811061022c57600080fd5b906000526020600020906002020160009150905080600001805461024f90610612565b80601f016020809104026020016040519081016040528092919081815260200182805461027b90610612565b80156102c85780601f1061029d576101008083540402835291602001916102c8565b820191906000526020600020905b8154815290600101906020018083116102ab57829003601f168201915b5050505050908060010154905082565b6000805460609190831061032e5760405162461bcd60e51b815260206004820152601b60248201527f4e6f2063616e646964617465206174207468697320696e6465782e0000000000604482015260640161016c565b6000808481548110610342576103426105d5565b906000526020600020906002020160405180604001604052908160008201805461036b90610612565b80601f016020809104026020016040519081016040528092919081815260200182805461039790610612565b80156103e45780601f106103b9576101008083540402835291602001916103e4565b820191906000526020600020905b8154815290600101906020018083116103c757829003601f168201915b5050509183525050600191909101546020918201528151910151909590945092505050565b604080518082019091528181526000602082018190528054600181018255908052815160029091027f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56301908190610460908261069b565b5060208201518160010155505050565b60006020828403121561048257600080fd5b5035919050565b604081526000835180604084015260005b818110156104b7576020818701810151606086840101520161049a565b506000606082850101526060601f19601f8301168401019150508260208301529392505050565b634e487b7160e01b600052604160045260246000fd5b60006020828403121561050657600080fd5b813567ffffffffffffffff8082111561051e57600080fd5b818401915084601f83011261053257600080fd5b813581811115610544576105446104de565b604051601f8201601f19908116603f0116810190838211818310171561056c5761056c6104de565b8160405282815287602084870101111561058557600080fd5b826020860160208301376000928101602001929092525095945050505050565b6000602082840312156105b757600080fd5b81356001600160a01b03811681146105ce57600080fd5b9392505050565b634e487b7160e01b600052603260045260246000fd5b60006001820161060b57634e487b7160e01b600052601160045260246000fd5b5060010190565b600181811c9082168061062657607f821691505b60208210810361064657634e487b7160e01b600052602260045260246000fd5b50919050565b601f82111561069657600081815260208120601f850160051c810160208610156106735750805b601f850160051c820191505b818110156106925782815560010161067f565b5050505b505050565b815167ffffffffffffffff8111156106b5576106b56104de565b6106c9816106c38454610612565b8461064c565b602080601f8311600181146106fe57600084156106e65750858301515b600019600386901b1c1916600185901b178555610692565b600085815260208120601f198616915b8281101561072d5788860151825594840194600190910190840161070e565b508582101561074b5787850151600019600388901b60f8161c191681555b5050505050600190811b0190555056fea26469706673582212202245864fc785a338940fd6a2e8d9ebe2fb4ead3f189aaa3261f635e3386c1c7164736f6c63430008130033