0x608060405234801561001057600080fd5b50600436106101215760003560e01c80635aa6e675116100ad578063a9059cbb11610071578063a9059cbb14610392578063ab033ea9146103be578063d5abeb01146103e4578063dd62ed3e146103ec578063f46eccc41461041a57610121565b80635aa6e675146102ee57806370a082311461031257806395d89b4114610338578063983b2d5614610340578063a457c2d71461036657610121565b80633092afd5116100f45780633092afd514610233578063313ce5671461025b578063395093511461027957806340c10f19146102a557806342966c68146102d157610121565b806306fdde0314610126578063095ea7b3146101a357806318160ddd146101e357806323b872dd146101fd575b600080fd5b61012e610440565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610168578181015183820152602001610150565b50505050905090810190601f1680156101955780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101cf600480360360408110156101b957600080fd5b506001600160a01b0381351690602001356104d6565b604080519115158252519081900360200190f35b6101eb6104f3565b60408051918252519081900360200190f35b6101cf6004803603606081101561021357600080fd5b506001600160a01b038135811691602081013590911690604001356104f9565b6102596004803603602081101561024957600080fd5b50356001600160a01b0316610586565b005b6102636105f4565b6040805160ff9092168252519081900360200190f35b6101cf6004803603604081101561028f57600080fd5b506001600160a01b0381351690602001356105fd565b610259600480360360408110156102bb57600080fd5b506001600160a01b038135169060200135610651565b610259600480360360208110156102e757600080fd5b5035610707565b6102f6610766565b604080516001600160a01b039092168252519081900360200190f35b6101eb6004803603602081101561032857600080fd5b50356001600160a01b0316610775565b61012e610790565b6102596004803603602081101561035657600080fd5b50356001600160a01b03166107f1565b6101cf6004803603604081101561037c57600080fd5b506001600160a01b038135169060200135610862565b6101cf600480360360408110156103a857600080fd5b506001600160a01b0381351690602001356108d0565b610259600480360360208110156103d457600080fd5b50356001600160a01b03166108e4565b6101eb610953565b6101eb6004803603604081101561040257600080fd5b506001600160a01b0381358116916020013516610959565b6101cf6004803603602081101561043057600080fd5b50356001600160a01b0316610984565b60038054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156104cc5780601f106104a1576101008083540402835291602001916104cc565b820191906000526020600020905b8154815290600101906020018083116104af57829003601f168201915b5050505050905090565b60006104ea6104e3610999565b848461099d565b50600192915050565b60025490565b6000610506848484610a89565b61057c84610512610999565b61057785604051806060016040528060288152602001610f99602891396001600160a01b038a16600090815260016020526040812090610550610999565b6001600160a01b03168152602081019190915260400160002054919063ffffffff610be516565b61099d565b5060019392505050565b6007546001600160a01b031633146105d3576040805162461bcd60e51b815260206004820152600b60248201526a21676f7665726e616e636560a81b604482015290519081900360640190fd5b6001600160a01b03166000908152600860205260409020805460ff19169055565b60055460ff1690565b60006104ea61060a610999565b84610577856001600061061b610999565b6001600160a01b03908116825260208083019390935260409182016000908120918c16815292529020549063ffffffff610c7c16565b610659610953565b816106626104f3565b0111156106ab576040805162461bcd60e51b815260206004820152601260248201527114dd5c1c1b1e4813585e0814995858da195960721b604482015290519081900360640190fd5b3360009081526008602052604090205460ff166106f9576040805162461bcd60e51b815260206004820152600760248201526610b6b4b73a32b960c91b604482015290519081900360640190fd5b6107038282610cdd565b5050565b80610759576040805162461bcd60e51b815260206004820152601b60248201527f796f752063616e6e6f74206275726e207a65726f20616d6f756e740000000000604482015290519081900360640190fd5b6107633382610dcd565b50565b6007546001600160a01b031681565b6001600160a01b031660009081526020819052604090205490565b60048054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156104cc5780601f106104a1576101008083540402835291602001916104cc565b6007546001600160a01b0316331461083e576040805162461bcd60e51b815260206004820152600b60248201526a21676f7665726e616e636560a81b604482015290519081900360640190fd5b6001600160a01b03166000908152600860205260409020805460ff19166001179055565b60006104ea61086f610999565b846105778560405180606001604052806025815260200161102b6025913960016000610899610999565b6001600160a01b03908116825260208083019390935260409182016000908120918d1681529252902054919063ffffffff610be516565b60006104ea6108dd610999565b8484610a89565b6007546001600160a01b03163314610931576040805162461bcd60e51b815260206004820152600b60248201526a21676f7665726e616e636560a81b604482015290519081900360640190fd5b600780546001600160a01b0319166001600160a01b0392909216919091179055565b60065490565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b60086020526000908152604090205460ff1681565b3390565b6001600160a01b0383166109e25760405162461bcd60e51b81526004018080602001828103825260248152602001806110076024913960400191505060405180910390fd5b6001600160a01b038216610a275760405162461bcd60e51b8152600401808060200182810382526022815260200180610f516022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b038316610ace5760405162461bcd60e51b8152600401808060200182810382526025815260200180610fe26025913960400191505060405180910390fd5b6001600160a01b038216610b135760405162461bcd60e51b8152600401808060200182810382526023815260200180610f0c6023913960400191505060405180910390fd5b610b5681604051806060016040528060268152602001610f73602691396001600160a01b038616600090815260208190526040902054919063ffffffff610be516565b6001600160a01b038085166000908152602081905260408082209390935590841681522054610b8b908263ffffffff610c7c16565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b60008184841115610c745760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610c39578181015183820152602001610c21565b50505050905090810190601f168015610c665780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600082820183811015610cd6576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6001600160a01b038216610d38576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b600254610d4b908263ffffffff610c7c16565b6002556001600160a01b038216600090815260208190526040902054610d77908263ffffffff610c7c16565b6001600160a01b0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6001600160a01b038216610e125760405162461bcd60e51b8152600401808060200182810382526021815260200180610fc16021913960400191505060405180910390fd5b610e5581604051806060016040528060228152602001610f2f602291396001600160a01b038516600090815260208190526040902054919063ffffffff610be516565b6001600160a01b038316600090815260208190526040902055600254610e81908263ffffffff610ec916565b6002556040805182815290516000916001600160a01b038516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050565b6000610cd683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610be556fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa265627a7a72315820ead1b486a2939a2edcdbfcd1b73c55d325ea215aee5709ed56c3b2ce7e91085f64736f6c63430005110032
0x608060405269065a4da25d3016c0000060065534801561001e57600080fd5b506040518060400160405280600b81526020016a4458592e46494e414e434560a81b8152506040518060400160405280600381526020016244585960e81b815250601282600390805190602001906100779291906100ba565b50815161008b9060049060208501906100ba565b506005805460ff90921660ff199092169190911790555050600780546001600160a01b03191632179055610155565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106100fb57805160ff1916838001178555610128565b82800160010185558215610128579182015b8281111561012857825182559160200191906001019061010d565b50610134929150610138565b5090565b61015291905b80821115610134576000815560010161013e565b90565b61108480620001656000396000f3fe608060405234801561001057600080fd5b50600436106101215760003560e01c80635aa6e675116100ad578063a9059cbb11610071578063a9059cbb14610392578063ab033ea9146103be578063d5abeb01146103e4578063dd62ed3e146103ec578063f46eccc41461041a57610121565b80635aa6e675146102ee57806370a082311461031257806395d89b4114610338578063983b2d5614610340578063a457c2d71461036657610121565b80633092afd5116100f45780633092afd514610233578063313ce5671461025b578063395093511461027957806340c10f19146102a557806342966c68146102d157610121565b806306fdde0314610126578063095ea7b3146101a357806318160ddd146101e357806323b872dd146101fd575b600080fd5b61012e610440565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610168578181015183820152602001610150565b50505050905090810190601f1680156101955780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101cf600480360360408110156101b957600080fd5b506001600160a01b0381351690602001356104d6565b604080519115158252519081900360200190f35b6101eb6104f3565b60408051918252519081900360200190f35b6101cf6004803603606081101561021357600080fd5b506001600160a01b038135811691602081013590911690604001356104f9565b6102596004803603602081101561024957600080fd5b50356001600160a01b0316610586565b005b6102636105f4565b6040805160ff9092168252519081900360200190f35b6101cf6004803603604081101561028f57600080fd5b506001600160a01b0381351690602001356105fd565b610259600480360360408110156102bb57600080fd5b506001600160a01b038135169060200135610651565b610259600480360360208110156102e757600080fd5b5035610707565b6102f6610766565b604080516001600160a01b039092168252519081900360200190f35b6101eb6004803603602081101561032857600080fd5b50356001600160a01b0316610775565b61012e610790565b6102596004803603602081101561035657600080fd5b50356001600160a01b03166107f1565b6101cf6004803603604081101561037c57600080fd5b506001600160a01b038135169060200135610862565b6101cf600480360360408110156103a857600080fd5b506001600160a01b0381351690602001356108d0565b610259600480360360208110156103d457600080fd5b50356001600160a01b03166108e4565b6101eb610953565b6101eb6004803603604081101561040257600080fd5b506001600160a01b0381358116916020013516610959565b6101cf6004803603602081101561043057600080fd5b50356001600160a01b0316610984565b60038054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156104cc5780601f106104a1576101008083540402835291602001916104cc565b820191906000526020600020905b8154815290600101906020018083116104af57829003601f168201915b5050505050905090565b60006104ea6104e3610999565b848461099d565b50600192915050565b60025490565b6000610506848484610a89565b61057c84610512610999565b61057785604051806060016040528060288152602001610f99602891396001600160a01b038a16600090815260016020526040812090610550610999565b6001600160a01b03168152602081019190915260400160002054919063ffffffff610be516565b61099d565b5060019392505050565b6007546001600160a01b031633146105d3576040805162461bcd60e51b815260206004820152600b60248201526a21676f7665726e616e636560a81b604482015290519081900360640190fd5b6001600160a01b03166000908152600860205260409020805460ff19169055565b60055460ff1690565b60006104ea61060a610999565b84610577856001600061061b610999565b6001600160a01b03908116825260208083019390935260409182016000908120918c16815292529020549063ffffffff610c7c16565b610659610953565b816106626104f3565b0111156106ab576040805162461bcd60e51b815260206004820152601260248201527114dd5c1c1b1e4813585e0814995858da195960721b604482015290519081900360640190fd5b3360009081526008602052604090205460ff166106f9576040805162461bcd60e51b815260206004820152600760248201526610b6b4b73a32b960c91b604482015290519081900360640190fd5b6107038282610cdd565b5050565b80610759576040805162461bcd60e51b815260206004820152601b60248201527f796f752063616e6e6f74206275726e207a65726f20616d6f756e740000000000604482015290519081900360640190fd5b6107633382610dcd565b50565b6007546001600160a01b031681565b6001600160a01b031660009081526020819052604090205490565b60048054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156104cc5780601f106104a1576101008083540402835291602001916104cc565b6007546001600160a01b0316331461083e576040805162461bcd60e51b815260206004820152600b60248201526a21676f7665726e616e636560a81b604482015290519081900360640190fd5b6001600160a01b03166000908152600860205260409020805460ff19166001179055565b60006104ea61086f610999565b846105778560405180606001604052806025815260200161102b6025913960016000610899610999565b6001600160a01b03908116825260208083019390935260409182016000908120918d1681529252902054919063ffffffff610be516565b60006104ea6108dd610999565b8484610a89565b6007546001600160a01b03163314610931576040805162461bcd60e51b815260206004820152600b60248201526a21676f7665726e616e636560a81b604482015290519081900360640190fd5b600780546001600160a01b0319166001600160a01b0392909216919091179055565b60065490565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b60086020526000908152604090205460ff1681565b3390565b6001600160a01b0383166109e25760405162461bcd60e51b81526004018080602001828103825260248152602001806110076024913960400191505060405180910390fd5b6001600160a01b038216610a275760405162461bcd60e51b8152600401808060200182810382526022815260200180610f516022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b038316610ace5760405162461bcd60e51b8152600401808060200182810382526025815260200180610fe26025913960400191505060405180910390fd5b6001600160a01b038216610b135760405162461bcd60e51b8152600401808060200182810382526023815260200180610f0c6023913960400191505060405180910390fd5b610b5681604051806060016040528060268152602001610f73602691396001600160a01b038616600090815260208190526040902054919063ffffffff610be516565b6001600160a01b038085166000908152602081905260408082209390935590841681522054610b8b908263ffffffff610c7c16565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b60008184841115610c745760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610c39578181015183820152602001610c21565b50505050905090810190601f168015610c665780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600082820183811015610cd6576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6001600160a01b038216610d38576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b600254610d4b908263ffffffff610c7c16565b6002556001600160a01b038216600090815260208190526040902054610d77908263ffffffff610c7c16565b6001600160a01b0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6001600160a01b038216610e125760405162461bcd60e51b8152600401808060200182810382526021815260200180610fc16021913960400191505060405180910390fd5b610e5581604051806060016040528060228152602001610f2f602291396001600160a01b038516600090815260208190526040902054919063ffffffff610be516565b6001600160a01b038316600090815260208190526040902055600254610e81908263ffffffff610ec916565b6002556040805182815290516000916001600160a01b038516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050565b6000610cd683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610be556fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa265627a7a72315820ead1b486a2939a2edcdbfcd1b73c55d325ea215aee5709ed56c3b2ce7e91085f64736f6c63430005110032