0x608060405234801561001057600080fd5b506004361061014d5760003560e01c80636bc87c3a116100c3578063a457c2d71161007c578063a457c2d7146102a0578063a9059cbb146102b3578063b09f1266146102c6578063d28d8852146102ce578063dd62ed3e146102d6578063fc32519a1461030f57600080fd5b80636bc87c3a1461024d57806370a0823114610256578063715018a61461027f578063893d20e8146102875780638da5cb5b1461028757806395d89b411461029857600080fd5b806323b872dd1161011557806323b872dd146101e5578063313ce567146101f857806332424aa314610211578063395093511461021e5780633b124fe7146102315780633f1d90ea1461023a57600080fd5b806306fdde0314610152578063095ea7b3146101705780630b04db61146101935780631235acbe146101a857806318160ddd146101d3575b600080fd5b61015a610322565b6040516101679190610ada565b60405180910390f35b61018361017e366004610b4b565b6103b4565b6040519015158152602001610167565b6101a66101a1366004610b75565b6103ca565b005b6007546101bb906001600160a01b031681565b6040516001600160a01b039091168152602001610167565b6003545b604051908152602001610167565b6101836101f3366004610b8e565b610402565b60045460ff165b60405160ff9091168152602001610167565b6004546101ff9060ff1681565b61018361022c366004610b4b565b61046b565b6101d760085481565b6101a6610248366004610b75565b6104a1565b6101d7600a5481565b6101d7610264366004610bca565b6001600160a01b031660009081526001602052604090205490565b6101a66104e7565b6000546001600160a01b03166101bb565b61015a61054d565b6101836102ae366004610b4b565b61055c565b6101836102c1366004610b4b565b6105ab565b61015a6105b8565b61015a610646565b6101d76102e4366004610be5565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b6101a661031d366004610bca565b610653565b60606006805461033190610c18565b80601f016020809104026020016040519081016040528092919081815260200182805461035d90610c18565b80156103aa5780601f1061037f576101008083540402835291602001916103aa565b820191906000526020600020905b81548152906001019060200180831161038d57829003601f168201915b5050505050905090565b60006103c133848461069f565b50600192915050565b6000546001600160a01b031633146103fd5760405162461bcd60e51b81526004016103f490610c53565b60405180910390fd5b600a55565b600061040f8484846107c4565b610461843361045c85604051806060016040528060288152602001610d35602891396001600160a01b038a16600090815260026020908152604080832033845290915290205491906109f8565b61069f565b5060019392505050565b3360008181526002602090815260408083206001600160a01b038716845290915281205490916103c191859061045c9086610a32565b600b5481146104e25760405162461bcd60e51b815260206004820152600d60248201526c6572726f72206d65737361676560981b60448201526064016103f4565b600855565b6000546001600160a01b031633146105115760405162461bcd60e51b81526004016103f490610c53565b600080546001600160a01b031916815560405181907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3565b60606005805461033190610c18565b60006103c1338461045c85604051806060016040528060258152602001610d5d602591393360009081526002602090815260408083206001600160a01b038d16845290915290205491906109f8565b60006103c13384846107c4565b600580546105c590610c18565b80601f01602080910402602001604051908101604052809291908181526020018280546105f190610c18565b801561063e5780601f106106135761010080835404028352916020019161063e565b820191906000526020600020905b81548152906001019060200180831161062157829003601f168201915b505050505081565b600680546105c590610c18565b6000546001600160a01b0316331461067d5760405162461bcd60e51b81526004016103f490610c53565b600780546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383166107015760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016103f4565b6001600160a01b0382166107625760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016103f4565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b0383166108285760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016103f4565b6001600160a01b03821661088a5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016103f4565b6108c781604051806060016040528060268152602001610d0f602691396001600160a01b03861660009081526001602052604090205491906109f8565b6001600160a01b0380851660009081526001602052604080822093909355908416815220546108f69082610a32565b6001600160a01b038316600090815260016020526040902055600a5461094a90610921606484610c9e565b61092b9190610cc0565b6001600160a01b03841660009081526001602052604090205490610a98565b6001600160a01b0383166000908152600160205260409020556008546109a090610975606484610c9e565b61097f9190610cc0565b6007546001600160a01b031660009081526001602052604090205490610a32565b6007546001600160a01b03908116600090815260016020908152604091829020939093555183815284821692918616917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91016107b7565b60008184841115610a1c5760405162461bcd60e51b81526004016103f49190610ada565b506000610a298486610cdf565b95945050505050565b600080610a3f8385610cf6565b905083811015610a915760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016103f4565b9392505050565b6000610a9183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506109f8565b600060208083528351808285015260005b81811015610b0757858101830151858201604001528201610aeb565b81811115610b19576000604083870101525b50601f01601f1916929092016040019392505050565b80356001600160a01b0381168114610b4657600080fd5b919050565b60008060408385031215610b5e57600080fd5b610b6783610b2f565b946020939093013593505050565b600060208284031215610b8757600080fd5b5035919050565b600080600060608486031215610ba357600080fd5b610bac84610b2f565b9250610bba60208501610b2f565b9150604084013590509250925092565b600060208284031215610bdc57600080fd5b610a9182610b2f565b60008060408385031215610bf857600080fd5b610c0183610b2f565b9150610c0f60208401610b2f565b90509250929050565b600181811c90821680610c2c57607f821691505b60208210811415610c4d57634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600082610cbb57634e487b7160e01b600052601260045260246000fd5b500490565b6000816000190483118215151615610cda57610cda610c88565b500290565b600082821015610cf157610cf1610c88565b500390565b60008219821115610d0957610d09610c88565b50019056fe45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212205a7fee6792dde25dc701e9111d9e911f5fc1840dc85bfb79a580a2b7be6da45864736f6c634300080a0033
0x608060405260046008556008546009556004600a55620f68ce600b553480156200002857600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35060408051808201909152600d8082526c4d756c74697665727365496e7560981b6020909201918252620000a09160069162000141565b50604080518082019091526004808252634d55564960e01b6020909201918252620000ce9160059162000141565b506004805460ff19166009179055683635c9adc5dea0000060038190553360008181526001602052604080822084905551919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91620001339190815260200190565b60405180910390a362000224565b8280546200014f90620001e7565b90600052602060002090601f016020900481019282620001735760008555620001be565b82601f106200018e57805160ff1916838001178555620001be565b82800160010185558215620001be579182015b82811115620001be578251825591602001919060010190620001a1565b50620001cc929150620001d0565b5090565b5b80821115620001cc5760008155600101620001d1565b600181811c90821680620001fc57607f821691505b602082108114156200021e57634e487b7160e01b600052602260045260246000fd5b50919050565b610db780620002346000396000f3fe608060405234801561001057600080fd5b506004361061014d5760003560e01c80636bc87c3a116100c3578063a457c2d71161007c578063a457c2d7146102a0578063a9059cbb146102b3578063b09f1266146102c6578063d28d8852146102ce578063dd62ed3e146102d6578063fc32519a1461030f57600080fd5b80636bc87c3a1461024d57806370a0823114610256578063715018a61461027f578063893d20e8146102875780638da5cb5b1461028757806395d89b411461029857600080fd5b806323b872dd1161011557806323b872dd146101e5578063313ce567146101f857806332424aa314610211578063395093511461021e5780633b124fe7146102315780633f1d90ea1461023a57600080fd5b806306fdde0314610152578063095ea7b3146101705780630b04db61146101935780631235acbe146101a857806318160ddd146101d3575b600080fd5b61015a610322565b6040516101679190610ada565b60405180910390f35b61018361017e366004610b4b565b6103b4565b6040519015158152602001610167565b6101a66101a1366004610b75565b6103ca565b005b6007546101bb906001600160a01b031681565b6040516001600160a01b039091168152602001610167565b6003545b604051908152602001610167565b6101836101f3366004610b8e565b610402565b60045460ff165b60405160ff9091168152602001610167565b6004546101ff9060ff1681565b61018361022c366004610b4b565b61046b565b6101d760085481565b6101a6610248366004610b75565b6104a1565b6101d7600a5481565b6101d7610264366004610bca565b6001600160a01b031660009081526001602052604090205490565b6101a66104e7565b6000546001600160a01b03166101bb565b61015a61054d565b6101836102ae366004610b4b565b61055c565b6101836102c1366004610b4b565b6105ab565b61015a6105b8565b61015a610646565b6101d76102e4366004610be5565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b6101a661031d366004610bca565b610653565b60606006805461033190610c18565b80601f016020809104026020016040519081016040528092919081815260200182805461035d90610c18565b80156103aa5780601f1061037f576101008083540402835291602001916103aa565b820191906000526020600020905b81548152906001019060200180831161038d57829003601f168201915b5050505050905090565b60006103c133848461069f565b50600192915050565b6000546001600160a01b031633146103fd5760405162461bcd60e51b81526004016103f490610c53565b60405180910390fd5b600a55565b600061040f8484846107c4565b610461843361045c85604051806060016040528060288152602001610d35602891396001600160a01b038a16600090815260026020908152604080832033845290915290205491906109f8565b61069f565b5060019392505050565b3360008181526002602090815260408083206001600160a01b038716845290915281205490916103c191859061045c9086610a32565b600b5481146104e25760405162461bcd60e51b815260206004820152600d60248201526c6572726f72206d65737361676560981b60448201526064016103f4565b600855565b6000546001600160a01b031633146105115760405162461bcd60e51b81526004016103f490610c53565b600080546001600160a01b031916815560405181907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3565b60606005805461033190610c18565b60006103c1338461045c85604051806060016040528060258152602001610d5d602591393360009081526002602090815260408083206001600160a01b038d16845290915290205491906109f8565b60006103c13384846107c4565b600580546105c590610c18565b80601f01602080910402602001604051908101604052809291908181526020018280546105f190610c18565b801561063e5780601f106106135761010080835404028352916020019161063e565b820191906000526020600020905b81548152906001019060200180831161062157829003601f168201915b505050505081565b600680546105c590610c18565b6000546001600160a01b0316331461067d5760405162461bcd60e51b81526004016103f490610c53565b600780546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383166107015760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016103f4565b6001600160a01b0382166107625760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016103f4565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b0383166108285760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016103f4565b6001600160a01b03821661088a5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016103f4565b6108c781604051806060016040528060268152602001610d0f602691396001600160a01b03861660009081526001602052604090205491906109f8565b6001600160a01b0380851660009081526001602052604080822093909355908416815220546108f69082610a32565b6001600160a01b038316600090815260016020526040902055600a5461094a90610921606484610c9e565b61092b9190610cc0565b6001600160a01b03841660009081526001602052604090205490610a98565b6001600160a01b0383166000908152600160205260409020556008546109a090610975606484610c9e565b61097f9190610cc0565b6007546001600160a01b031660009081526001602052604090205490610a32565b6007546001600160a01b03908116600090815260016020908152604091829020939093555183815284821692918616917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91016107b7565b60008184841115610a1c5760405162461bcd60e51b81526004016103f49190610ada565b506000610a298486610cdf565b95945050505050565b600080610a3f8385610cf6565b905083811015610a915760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016103f4565b9392505050565b6000610a9183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506109f8565b600060208083528351808285015260005b81811015610b0757858101830151858201604001528201610aeb565b81811115610b19576000604083870101525b50601f01601f1916929092016040019392505050565b80356001600160a01b0381168114610b4657600080fd5b919050565b60008060408385031215610b5e57600080fd5b610b6783610b2f565b946020939093013593505050565b600060208284031215610b8757600080fd5b5035919050565b600080600060608486031215610ba357600080fd5b610bac84610b2f565b9250610bba60208501610b2f565b9150604084013590509250925092565b600060208284031215610bdc57600080fd5b610a9182610b2f565b60008060408385031215610bf857600080fd5b610c0183610b2f565b9150610c0f60208401610b2f565b90509250929050565b600181811c90821680610c2c57607f821691505b60208210811415610c4d57634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600082610cbb57634e487b7160e01b600052601260045260246000fd5b500490565b6000816000190483118215151615610cda57610cda610c88565b500290565b600082821015610cf157610cf1610c88565b500390565b60008219821115610d0957610d09610c88565b50019056fe45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212205a7fee6792dde25dc701e9111d9e911f5fc1840dc85bfb79a580a2b7be6da45864736f6c634300080a0033