608060405234801562000010575f80fd5b506040518060400160405280600481526020016344494e4f60e01b8152506040518060400160405280600481526020016344494e4f60e01b8152507372377885e1958c630c8420fc2ad0345c9ea5933e82600490816200007191906200020d565b5060056200008083826200020d565b506b204fce5e3e250261100000006003819055335f8181526020818152604080832085905551938452919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3600180546001600160a01b039092166001600160a01b0319928316179055600680549091163317905550620001169050620001103390565b6200011c565b620002d5565b600780546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b634e487b7160e01b5f52604160045260245ffd5b600181811c908216806200019657607f821691505b602082108103620001b557634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111562000208575f81815260208120601f850160051c81016020861015620001e35750805b601f850160051c820191505b818110156200020457828155600101620001ef565b5050505b505050565b81516001600160401b038111156200022957620002296200016d565b62000241816200023a845462000181565b84620001bb565b602080601f83116001811462000277575f84156200025f5750858301515b5f19600386901b1c1916600185901b17855562000204565b5f85815260208120601f198616915b82811015620002a75788860151825594840194600190910190840162000286565b5085821015620002c557878501515f19600388901b60f8161c191681555b5050505050600190811b01905550565b610a4f80620002e35f395ff3fe608060405234801561000f575f80fd5b50600436106100cb575f3560e01c806370a082311161008857806395d89b411161006357806395d89b41146101a4578063a9059cbb146101ac578063dd62ed3e146101bf578063f2fde38b146101f7575f80fd5b806370a0823114610159578063715018a6146101815780638da5cb5b14610189575f80fd5b806306fdde03146100cf578063095ea7b3146100ed57806318160ddd14610110578063183274e31461012257806323b872dd14610137578063313ce5671461014a575b5f80fd5b6100d761020a565b6040516100e4919061085f565b60405180910390f35b6101006100fb3660046108c5565b61029a565b60405190151581526020016100e4565b6003545b6040519081526020016100e4565b6101356101303660046108c5565b6102b3565b005b6101006101453660046108ed565b6102f9565b604051601281526020016100e4565b610114610167366004610926565b6001600160a01b03165f9081526020819052604090205490565b61013561031c565b6007546040516001600160a01b0390911681526020016100e4565b6100d761032f565b6101006101ba3660046108c5565b61033e565b6101146101cd366004610946565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b610135610205366004610926565b61034b565b60606004805461021990610977565b80601f016020809104026020016040519081016040528092919081815260200182805461024590610977565b80156102905780601f1061026757610100808354040283529160200191610290565b820191905f5260205f20905b81548152906001019060200180831161027357829003601f168201915b5050505050905090565b5f336102a78185856103c9565b60019150505b92915050565b6006545f906001600160a01b031633036102ce57600a6102d1565b60645b6102dc90600a6109c3565b50506001600160a01b039091165f90815260208190526040902055565b5f336103068582856104ec565b61031185858561057c565b506001949350505050565b6103246107b4565b61032d5f61080e565b565b60606005805461021990610977565b5f336102a781858561057c565b6103536107b4565b6001600160a01b0381166103bd5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b6103c68161080e565b50565b6001600160a01b03831661042b5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016103b4565b6001600160a01b03821661048c5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016103b4565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038381165f908152600260209081526040808320938616835292905220545f19811461057657818110156105695760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016103b4565b61057684848484036103c9565b50505050565b6001600160a01b0383166105e05760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016103b4565b6105ea81806109dc565b6105f59060646109ef565b6001546040516303294a3b60e31b81526001600160a01b03868116600483015285811660248301529091169063194a51d8906044016020604051808303815f875af1158015610646573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061066a9190610a02565b61067491906109dc565b506001600160a01b0382166106d75760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016103b4565b6001600160a01b0383165f908152602081905260409020548181101561074e5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016103b4565b6001600160a01b038481165f81815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a350505050565b6007546001600160a01b0316331461032d5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016103b4565b600780546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b5f6020808352835180828501525f5b8181101561088a5785810183015185820160400152820161086e565b505f604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b03811681146108c0575f80fd5b919050565b5f80604083850312156108d6575f80fd5b6108df836108aa565b946020939093013593505050565b5f805f606084860312156108ff575f80fd5b610908846108aa565b9250610916602085016108aa565b9150604084013590509250925092565b5f60208284031215610936575f80fd5b61093f826108aa565b9392505050565b5f8060408385031215610957575f80fd5b610960836108aa565b915061096e602084016108aa565b90509250929050565b600181811c9082168061098b57607f821691505b6020821081036109a957634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52601160045260245ffd5b60ff82811682821603908111156102ad576102ad6109af565b818103818111156102ad576102ad6109af565b808201808211156102ad576102ad6109af565b5f60208284031215610a12575f80fd5b505191905056fea2646970667358221220821a810656dcb9bdb8f99605088b61a4804eb7d75c2a806d6027a75cd69fd24464736f6c63430008150033