0x608060405234801561000f575f80fd5b50600436106100cf575f3560e01c806370a082311161007d578063b1c9ea3b11610058578063b1c9ea3b146101a6578063c86867e9146101d1578063dd62ed3e146101d7575f80fd5b806370a082311461016357806395d89b411461018b578063a9059cbb14610193575f80fd5b806323b872dd116100ad57806323b872dd14610126578063313ce567146101395780634a88fc5d1461014e575f80fd5b806306fdde03146100d3578063095ea7b3146100f157806318160ddd14610114575b5f80fd5b6100db61020f565b6040516100e89190610767565b60405180910390f35b6101046100ff3660046107ce565b61029f565b60405190151581526020016100e8565b6005545b6040519081526020016100e8565b6101046101343660046107f6565b6102b5565b60045460405160ff90911681526020016100e8565b61016161015c366004610843565b61031c565b005b610118610171366004610903565b6001600160a01b03165f9081526020819052604090205490565b6100db61046b565b6101046101a13660046107ce565b61047a565b6006546101b9906001600160a01b031681565b6040516001600160a01b0390911681526020016100e8565b5f610118565b6101186101e536600461091c565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b60606002805461021e9061094d565b80601f016020809104026020016040519081016040528092919081815260200182805461024a9061094d565b80156102955780601f1061026c57610100808354040283529160200191610295565b820191905f5260205f20905b81548152906001019060200180831161027857829003601f168201915b5050505050905090565b5f6102ab338484610486565b5060015b92915050565b5f6102c18484846105aa565b610312843361030d856040518060600160405280602881526020016109df602891396001600160a01b038a165f908152600160209081526040808320338452909152902054919061072a565b610486565b5060019392505050565b6006546001600160a01b0316331461037b5760405162461bcd60e51b815260206004820152600b60248201527f4e6f7420616c6c6f77656400000000000000000000000000000000000000000060448201526064015b60405180910390fd5b5f5b8151811015610467575f82828151811061039957610399610985565b6020908102919091018101516001600160a01b0381165f8181528084526040808220548151808301909252600582526422a92927a960d91b828701529282529352909250906103eb908290819061072a565b6001600160a01b0383165f9081526020819052604081209190915580527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5546104349082610755565b5f8080526020527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb555505060010161037d565b5050565b60606003805461021e9061094d565b5f6102ab3384846105aa565b6001600160a01b0383166104e85760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610372565b6001600160a01b0382166105495760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610372565b6001600160a01b038381165f8181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b03831661060e5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610372565b6001600160a01b0382166106705760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610372565b6106ac816040518060600160405280602681526020016109b9602691396001600160a01b0386165f90815260208190526040902054919061072a565b6001600160a01b038085165f9081526020819052604080822093909355908416815220546106da9082610755565b6001600160a01b038381165f818152602081815260409182902094909455518481529092918616917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910161059d565b5f818484111561074d5760405162461bcd60e51b81526004016103729190610767565b505050900390565b5f6107608284610999565b9392505050565b5f602080835283518060208501525f5b8181101561079357858101830151858201604001528201610777565b505f604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b03811681146107c9575f80fd5b919050565b5f80604083850312156107df575f80fd5b6107e8836107b3565b946020939093013593505050565b5f805f60608486031215610808575f80fd5b610811846107b3565b925061081f602085016107b3565b9150604084013590509250925092565b634e487b7160e01b5f52604160045260245ffd5b5f6020808385031215610854575f80fd5b823567ffffffffffffffff8082111561086b575f80fd5b818501915085601f83011261087e575f80fd5b8135818111156108905761089061082f565b8060051b604051601f19603f830116810181811085821117156108b5576108b561082f565b6040529182528482019250838101850191888311156108d2575f80fd5b938501935b828510156108f7576108e8856107b3565b845293850193928501926108d7565b98975050505050505050565b5f60208284031215610913575f80fd5b610760826107b3565b5f806040838503121561092d575f80fd5b610936836107b3565b9150610944602084016107b3565b90509250929050565b600181811c9082168061096157607f821691505b60208210810361097f57634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52603260045260245ffd5b808201808211156102af57634e487b7160e01b5f52601160045260245ffdfe45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220b9fe2879e6f696b84eb3fcca843c67b4e4f08dbd3bc9aa6a10a22a3f8f758c4e64736f6c63430008180033
0x608060405234801562000010575f80fd5b506040805180820190915260068152650a49e84989eb60d31b60208201526002906200003d908262000252565b506040805180820190915260068152650a49e84989eb60d31b60208201526003906200006a908262000252565b506004805460ff19166012179055600680546001600160a01b03191633908117909155632c3a058090620000b290620000ac83670de0b6b3a764000062000332565b620000b9565b5062000362565b6001600160a01b038216620001145760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640160405180910390fd5b6005546200012390826200019e565b6005556001600160a01b0382165f908152602081905260409020546200014a90826200019e565b6001600160a01b0383165f81815260208181526040808320949094559251848152919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b5f620001ab82846200034c565b90505b92915050565b634e487b7160e01b5f52604160045260245ffd5b600181811c90821680620001dd57607f821691505b602082108103620001fc57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200024d57805f5260205f20601f840160051c81016020851015620002295750805b601f840160051c820191505b818110156200024a575f815560010162000235565b50505b505050565b81516001600160401b038111156200026e576200026e620001b4565b62000286816200027f8454620001c8565b8462000202565b602080601f831160018114620002bc575f8415620002a45750858301515b5f19600386901b1c1916600185901b17855562000316565b5f85815260208120601f198616915b82811015620002ec57888601518255948401946001909101908401620002cb565b50858210156200030a57878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b634e487b7160e01b5f52601160045260245ffd5b8082028115828204841417620001ae57620001ae6200031e565b80820180821115620001ae57620001ae6200031e565b610a3c80620003705f395ff3fe608060405234801561000f575f80fd5b50600436106100cf575f3560e01c806370a082311161007d578063b1c9ea3b11610058578063b1c9ea3b146101a6578063c86867e9146101d1578063dd62ed3e146101d7575f80fd5b806370a082311461016357806395d89b411461018b578063a9059cbb14610193575f80fd5b806323b872dd116100ad57806323b872dd14610126578063313ce567146101395780634a88fc5d1461014e575f80fd5b806306fdde03146100d3578063095ea7b3146100f157806318160ddd14610114575b5f80fd5b6100db61020f565b6040516100e89190610767565b60405180910390f35b6101046100ff3660046107ce565b61029f565b60405190151581526020016100e8565b6005545b6040519081526020016100e8565b6101046101343660046107f6565b6102b5565b60045460405160ff90911681526020016100e8565b61016161015c366004610843565b61031c565b005b610118610171366004610903565b6001600160a01b03165f9081526020819052604090205490565b6100db61046b565b6101046101a13660046107ce565b61047a565b6006546101b9906001600160a01b031681565b6040516001600160a01b0390911681526020016100e8565b5f610118565b6101186101e536600461091c565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b60606002805461021e9061094d565b80601f016020809104026020016040519081016040528092919081815260200182805461024a9061094d565b80156102955780601f1061026c57610100808354040283529160200191610295565b820191905f5260205f20905b81548152906001019060200180831161027857829003601f168201915b5050505050905090565b5f6102ab338484610486565b5060015b92915050565b5f6102c18484846105aa565b610312843361030d856040518060600160405280602881526020016109df602891396001600160a01b038a165f908152600160209081526040808320338452909152902054919061072a565b610486565b5060019392505050565b6006546001600160a01b0316331461037b5760405162461bcd60e51b815260206004820152600b60248201527f4e6f7420616c6c6f77656400000000000000000000000000000000000000000060448201526064015b60405180910390fd5b5f5b8151811015610467575f82828151811061039957610399610985565b6020908102919091018101516001600160a01b0381165f8181528084526040808220548151808301909252600582526422a92927a960d91b828701529282529352909250906103eb908290819061072a565b6001600160a01b0383165f9081526020819052604081209190915580527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5546104349082610755565b5f8080526020527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb555505060010161037d565b5050565b60606003805461021e9061094d565b5f6102ab3384846105aa565b6001600160a01b0383166104e85760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610372565b6001600160a01b0382166105495760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610372565b6001600160a01b038381165f8181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b03831661060e5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610372565b6001600160a01b0382166106705760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610372565b6106ac816040518060600160405280602681526020016109b9602691396001600160a01b0386165f90815260208190526040902054919061072a565b6001600160a01b038085165f9081526020819052604080822093909355908416815220546106da9082610755565b6001600160a01b038381165f818152602081815260409182902094909455518481529092918616917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910161059d565b5f818484111561074d5760405162461bcd60e51b81526004016103729190610767565b505050900390565b5f6107608284610999565b9392505050565b5f602080835283518060208501525f5b8181101561079357858101830151858201604001528201610777565b505f604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b03811681146107c9575f80fd5b919050565b5f80604083850312156107df575f80fd5b6107e8836107b3565b946020939093013593505050565b5f805f60608486031215610808575f80fd5b610811846107b3565b925061081f602085016107b3565b9150604084013590509250925092565b634e487b7160e01b5f52604160045260245ffd5b5f6020808385031215610854575f80fd5b823567ffffffffffffffff8082111561086b575f80fd5b818501915085601f83011261087e575f80fd5b8135818111156108905761089061082f565b8060051b604051601f19603f830116810181811085821117156108b5576108b561082f565b6040529182528482019250838101850191888311156108d2575f80fd5b938501935b828510156108f7576108e8856107b3565b845293850193928501926108d7565b98975050505050505050565b5f60208284031215610913575f80fd5b610760826107b3565b5f806040838503121561092d575f80fd5b610936836107b3565b9150610944602084016107b3565b90509250929050565b600181811c9082168061096157607f821691505b60208210810361097f57634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52603260045260245ffd5b808201808211156102af57634e487b7160e01b5f52601160045260245ffdfe45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220b9fe2879e6f696b84eb3fcca843c67b4e4f08dbd3bc9aa6a10a22a3f8f758c4e64736f6c63430008180033