0x6080604052348015600e575f5ffd5b505f80546001600160a01b031916331790556107d88061002d5f395ff3fe608060405234801561000f575f5ffd5b5060043610610055575f3560e01c80637464dd43146100595780638da5cb5b1461006e578063c2265af31461009c578063cef3bbfb146100af578063de8586db146100c2575b5f5ffd5b61006c61006736600461033f565b6100d5565b005b5f54610080906001600160a01b031681565b6040516001600160a01b03909116815260200160405180910390f35b600254610080906001600160a01b031681565b6100806100bd36600461037d565b6101a5565b600154610080906001600160a01b031681565b5f546001600160a01b0316331461011f5760405162461bcd60e51b81526020600482015260096024820152682737ba1037bbb732b960b91b60448201526064015b60405180910390fd5b6001600160a01b0382161580159061013f57506001600160a01b03811615155b6101775760405162461bcd60e51b81526020600482015260096024820152682d32b9379030b2323960b91b6044820152606401610116565b600180546001600160a01b039384166001600160a01b03199182161790915560028054929093169116179055565b6001545f9081906101be906001600160a01b031661027f565b6002549091505f906101d8906001600160a01b031661027f565b90505f846040516020016101ec91906105c0565b60405160208183030381529060405290505f8383836040516020016102139392919061076c565b60405160208183030381529060405290505f8151602083015ff090506001600160a01b0381166102755760405162461bcd60e51b815260206004820152600d60248201526c11195c1b1bde4819985a5b1959609a1b6044820152606401610116565b9695505050505050565b6060813b600181116102c15760405162461bcd60e51b815260206004820152600b60248201526a456d7074792073746f726560a81b6044820152606401610116565b5f6102cd600183610792565b6001600160401b038111156102e4576102e46107b7565b6040519080825280601f01601f19166020018201604052801561030e576020820181803683370190505b50905060018203600160208301863c9392505050565b80356001600160a01b038116811461033a575f5ffd5b919050565b5f5f60408385031215610350575f5ffd5b61035983610324565b915061036760208401610324565b90509250929050565b6001600160a01b03169052565b5f6020828403121561038d575f5ffd5b81356001600160401b038111156103a2575f5ffd5b82016101c081850312156103b4575f5ffd5b9392505050565b5f5f8335601e198436030181126103d0575f5ffd5b83016020810192503590506001600160401b038111156103ee575f5ffd5b8036038213156103fc575f5ffd5b9250929050565b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b5f5f8335601e19843603018112610440575f5ffd5b83016020810192503590506001600160401b0381111561045e575f5ffd5b610120810236038213156103fc575f5ffd5b634e487b7160e01b5f52602160045260245ffd5b6006811061049457610494610470565b9052565b80356003811061033a575f5ffd5b6003811061049457610494610470565b8035801515811461033a575f5ffd5b8183526020830192505f815f5b848110156105a057813586526020820135600681106104ef575f5ffd5b6104fc6020880182610484565b5061050960408301610498565b61051660408801826104a6565b506060828101359087015261052d60808301610324565b61053a6080880182610370565b5061054760a08301610324565b61055460a0880182610370565b5061056160c08301610324565b61056e60c0880182610370565b5061057b60e083016104b6565b151560e0870152610100828101359087015261012095860195909101906001016104d2565b5093949350505050565b80356001600160401b038116811461033a575f5ffd5b602081525f6105cf83846103bb565b6101c060208501526105e66101e085018284610403565b9150506105f660208501856103bb565b848303601f1901604086015261060d838284610403565b9250505061061d60408501610324565b61062a6060850182610370565b5061063760608501610324565b6106446080850182610370565b50608084013560a08481019190915261065f9085018561042b565b848303601f190160c08601526106768382846104c5565b9250505061068660c08501610324565b61069360e0850182610370565b506106a060e08501610324565b6106ae610100850182610370565b506106bc6101008501610324565b6106ca610120850182610370565b50610120840135610140848101919091526106e6908501610324565b6106f4610160850182610370565b50610160840135610180848101919091526107109085016104b6565b8015156101a0850152506107276101a085016105aa565b6001600160401b0381166101c0850152509392505050565b5f81515f5b8181101561075e5760208185018101518683015201610744565b505f93019283525090919050565b5f61078961078361077d848861073f565b8661073f565b8461073f565b95945050505050565b818103818111156107b157634e487b7160e01b5f52601160045260245ffd5b92915050565b634e487b7160e01b5f52604160045260245ffdfea164736f6c634300081f000a
0x608060405234801561000f575f5ffd5b5060043610610055575f3560e01c80637464dd43146100595780638da5cb5b1461006e578063c2265af31461009c578063cef3bbfb146100af578063de8586db146100c2575b5f5ffd5b61006c61006736600461033f565b6100d5565b005b5f54610080906001600160a01b031681565b6040516001600160a01b03909116815260200160405180910390f35b600254610080906001600160a01b031681565b6100806100bd36600461037d565b6101a5565b600154610080906001600160a01b031681565b5f546001600160a01b0316331461011f5760405162461bcd60e51b81526020600482015260096024820152682737ba1037bbb732b960b91b60448201526064015b60405180910390fd5b6001600160a01b0382161580159061013f57506001600160a01b03811615155b6101775760405162461bcd60e51b81526020600482015260096024820152682d32b9379030b2323960b91b6044820152606401610116565b600180546001600160a01b039384166001600160a01b03199182161790915560028054929093169116179055565b6001545f9081906101be906001600160a01b031661027f565b6002549091505f906101d8906001600160a01b031661027f565b90505f846040516020016101ec91906105c0565b60405160208183030381529060405290505f8383836040516020016102139392919061076c565b60405160208183030381529060405290505f8151602083015ff090506001600160a01b0381166102755760405162461bcd60e51b815260206004820152600d60248201526c11195c1b1bde4819985a5b1959609a1b6044820152606401610116565b9695505050505050565b6060813b600181116102c15760405162461bcd60e51b815260206004820152600b60248201526a456d7074792073746f726560a81b6044820152606401610116565b5f6102cd600183610792565b6001600160401b038111156102e4576102e46107b7565b6040519080825280601f01601f19166020018201604052801561030e576020820181803683370190505b50905060018203600160208301863c9392505050565b80356001600160a01b038116811461033a575f5ffd5b919050565b5f5f60408385031215610350575f5ffd5b61035983610324565b915061036760208401610324565b90509250929050565b6001600160a01b03169052565b5f6020828403121561038d575f5ffd5b81356001600160401b038111156103a2575f5ffd5b82016101c081850312156103b4575f5ffd5b9392505050565b5f5f8335601e198436030181126103d0575f5ffd5b83016020810192503590506001600160401b038111156103ee575f5ffd5b8036038213156103fc575f5ffd5b9250929050565b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b5f5f8335601e19843603018112610440575f5ffd5b83016020810192503590506001600160401b0381111561045e575f5ffd5b610120810236038213156103fc575f5ffd5b634e487b7160e01b5f52602160045260245ffd5b6006811061049457610494610470565b9052565b80356003811061033a575f5ffd5b6003811061049457610494610470565b8035801515811461033a575f5ffd5b8183526020830192505f815f5b848110156105a057813586526020820135600681106104ef575f5ffd5b6104fc6020880182610484565b5061050960408301610498565b61051660408801826104a6565b506060828101359087015261052d60808301610324565b61053a6080880182610370565b5061054760a08301610324565b61055460a0880182610370565b5061056160c08301610324565b61056e60c0880182610370565b5061057b60e083016104b6565b151560e0870152610100828101359087015261012095860195909101906001016104d2565b5093949350505050565b80356001600160401b038116811461033a575f5ffd5b602081525f6105cf83846103bb565b6101c060208501526105e66101e085018284610403565b9150506105f660208501856103bb565b848303601f1901604086015261060d838284610403565b9250505061061d60408501610324565b61062a6060850182610370565b5061063760608501610324565b6106446080850182610370565b50608084013560a08481019190915261065f9085018561042b565b848303601f190160c08601526106768382846104c5565b9250505061068660c08501610324565b61069360e0850182610370565b506106a060e08501610324565b6106ae610100850182610370565b506106bc6101008501610324565b6106ca610120850182610370565b50610120840135610140848101919091526106e6908501610324565b6106f4610160850182610370565b50610160840135610180848101919091526107109085016104b6565b8015156101a0850152506107276101a085016105aa565b6001600160401b0381166101c0850152509392505050565b5f81515f5b8181101561075e5760208185018101518683015201610744565b505f93019283525090919050565b5f61078961078361077d848861073f565b8661073f565b8461073f565b95945050505050565b818103818111156107b157634e487b7160e01b5f52601160045260245ffd5b92915050565b634e487b7160e01b5f52604160045260245ffdfea164736f6c634300081f000a