0x608060405234801561000f575f5ffd5b506040516106f83803806106f883398101604081905261002e9161011d565b806001600160a01b03811661005c57604051631e4fbdf760e01b81525f600482015260240160405180910390fd5b610065816100b3565b506001600160a01b03821661008d57604051634208d2eb60e01b815260040160405180910390fd5b50600180546001600160a01b0319166001600160a01b039290921691909117905561014e565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80516001600160a01b0381168114610118575f5ffd5b919050565b5f5f6040838503121561012e575f5ffd5b61013783610102565b915061014560208401610102565b90509250929050565b61059d8061015b5f395ff3fe608060405234801561000f575f5ffd5b5060043610610060575f3560e01c806317a68dd8146100645780631bd2299114610079578063715018a6146100a85780638da5cb5b146100b0578063d38c54bd146100c0578063f2fde38b146100d3575b5f5ffd5b61007761007236600461034f565b6100e6565b005b60015461008c906001600160a01b031681565b6040516001600160a01b03909116815260200160405180910390f35b610077610137565b5f546001600160a01b031661008c565b61008c6100ce36600461036f565b61014a565b6100776100e136600461034f565b61026a565b6100ee6102ac565b6001600160a01b03811661011557604051634208d2eb60e01b815260040160405180910390fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b61013f6102ac565b6101485f6102d8565b565b5f5f858585604051602401610161939291906103f3565b60408051601f19818403018152918152602080830180516001600160e01b0316633785655160e21b178152835190208251918201529081018590529091505f906060016040516020818303038152906040528051906020012090505f604051806020016101cd90610327565b601f1982820381018352601f9091011660408190526001546101fe92916001600160a01b0390911690602001610433565b6040516020818303038152906040529050818151826020015ff593506001600160a01b0384166102415760405163ee145f7f60e01b815260040160405180910390fd5b5f5f8451602086015f885af16040513d5f823e8161025d573d81fd5b5050505050949350505050565b6102726102ac565b6001600160a01b0381166102a057604051631e4fbdf760e01b81525f60048201526024015b60405180910390fd5b6102a9816102d8565b50565b5f546001600160a01b031633146101485760405163118cdaa760e01b8152336004820152602401610297565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b61011a8061044e83390190565b80356001600160a01b038116811461034a575f5ffd5b919050565b5f6020828403121561035f575f5ffd5b61036882610334565b9392505050565b5f5f5f5f60608587031215610382575f5ffd5b843567ffffffffffffffff811115610398575f5ffd5b8501601f810187136103a8575f5ffd5b803567ffffffffffffffff8111156103be575f5ffd5b8760208284010111156103cf575f5ffd5b6020918201955093506103e3908601610334565b9396929550929360400135925050565b60408152826040820152828460608301375f60608483018101919091526001600160a01b03929092166020820152601f909201601f191690910101919050565b5f83518060208601845e919091019182525060200191905056fe6080604052348015600e575f5ffd5b5060405161011a38038061011a833981016040819052602b91608a565b6001600160a01b03811660845760405162461bcd60e51b815260206004820152601e60248201527f496e76616c696420696d706c656d656e746174696f6e20616464726573730000604482015260640160405180910390fd5b305560b5565b5f602082840312156099575f5ffd5b81516001600160a01b038116811460ae575f5ffd5b9392505050565b6059806100c15f395ff3fe60806040523054365f80375f5f365f845af43d5f5f3e808015601f573d5ff35b3d5ffdfea26469706673582212205d2e7dc0bd7812e61e9b2b3b6b6b848edfe472a72f70940f729d4ec7b8936f0a64736f6c634300081c0033a26469706673582212204d1827f1b497a193c61a5f5e757bd6d499f5b2135e3f90ac84480bed3c16de5064736f6c634300081c0033000000000000000000000000119a983b5e584d244372a0b484c79f7d972753a1000000000000000000000000a8e4702cf5cc2f7c6d7cb8c8523ad2de7491b934