0x608060405234801561001057600080fd5b5061056e806100206000396000f3fe608060405234801561001057600080fd5b506004361061009e5760003560e01c8063da58dc4d11610066578063da58dc4d1461014c578063ded8454a1461015e578063e106fb4b14610171578063f73ecfde14610182578063fbe706fd1461018257600080fd5b80630668e555146100a357806342526e4e146100cd5780639201de55146100f8578063cfb5192814610118578063d82dfc3914610139575b600080fd5b6100b86100b13660046102ce565b3f903f1490565b60405190151581526020015b60405180910390f35b6100e06100db366004610393565b610190565b6040516001600160a01b0390911681526020016100c4565b61010b6101063660046103e4565b6101af565b6040516100c49190610443565b61012b610126366004610393565b610244565b6040519081526020016100c4565b61012b610147366004610456565b610264565b61012b61015a3660046104c8565b3f90565b61010b61016c3660046104c8565b610286565b61010b61017f366004610393565b90565b6100e061017f3660046104c8565b600081516014146101a057600080fd5b5060200151600160601b900490565b6040805160208082528183019092526060916000918291602082018180368337019050509050600091505b60208260ff16101561023d57838260ff16602081106101fb576101fb6104e5565b1a60f81b818360ff1681518110610214576102146104e5565b60200101906001600160f81b031916908160001a90535081610235816104fb565b9250506101da565b9392505050565b80516000908290820361025a5750600092915050565b6020015192915050565b60008282604051610276929190610528565b6040518091039020905092915050565b604080516014808252818301909252606091602082018180368337505050600160601b9290920260208301525090565b6001600160a01b03811681146102cb57600080fd5b50565b600080604083850312156102e157600080fd5b82356102ec816102b6565b915060208301356102fc816102b6565b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b600067ffffffffffffffff8084111561033857610338610307565b604051601f8501601f19908116603f0116810190828211818310171561036057610360610307565b8160405280935085815286868601111561037957600080fd5b858560208301376000602087830101525050509392505050565b6000602082840312156103a557600080fd5b813567ffffffffffffffff8111156103bc57600080fd5b8201601f810184136103cd57600080fd5b6103dc8482356020840161031d565b949350505050565b6000602082840312156103f657600080fd5b5035919050565b6000815180845260005b8181101561042357602081850181015186830182015201610407565b506000602082860101526020601f19601f83011685010191505092915050565b60208152600061023d60208301846103fd565b6000806020838503121561046957600080fd5b823567ffffffffffffffff8082111561048157600080fd5b818501915085601f83011261049557600080fd5b8135818111156104a457600080fd5b8660208285010111156104b657600080fd5b60209290920196919550909350505050565b6000602082840312156104da57600080fd5b813561023d816102b6565b634e487b7160e01b600052603260045260246000fd5b600060ff821660ff810361051f57634e487b7160e01b600052601160045260246000fd5b60010192915050565b818382376000910190815291905056fea26469706673582212208e2da34ccbe32d41b90b14801c7315f2ead39c00709d6f0309b189eddefaed9364736f6c63430008130033