0x608060405234801561000f575f5ffd5b50600436106100c4575f3560e01c8063313ce5671161007d578063a9059cbb11610058578063a9059cbb1461019e578063bf13c1d3146101b1578063dd62ed3e146101c6575f5ffd5b8063313ce5671461015957806370a082311461016e57806395d89b4114610196575f5ffd5b806318160ddd116100ad57806318160ddd1461010957806323b872dd1461011b5780632bbc49711461012e575f5ffd5b806306fdde03146100c8578063095ea7b3146100e6575b5f5ffd5b6100d06101fe565b6040516100dd91906107b9565b60405180910390f35b6100f96100f4366004610809565b61028e565b60405190151581526020016100dd565b6005545b6040519081526020016100dd565b6100f9610129366004610831565b6102a4565b600654610141906001600160a01b031681565b6040516001600160a01b0390911681526020016100dd565b60045460405160ff90911681526020016100dd565b61010d61017c36600461086b565b6001600160a01b03165f9081526020819052604090205490565b6100d061030b565b6100f96101ac366004610809565b61031a565b6101c46101bf366004610898565b610326565b005b61010d6101d4366004610963565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b60606002805461020d90610994565b80601f016020809104026020016040519081016040528092919081815260200182805461023990610994565b80156102845780601f1061025b57610100808354040283529160200191610284565b820191905f5260205f20905b81548152906001019060200180831161026757829003601f168201915b5050505050905090565b5f61029a33848461048d565b5060015b92915050565b5f6102b08484846105ca565b61030184336102fc85604051806060016040528060288152602001610a26602891396001600160a01b038a165f908152600160209081526040808320338452909152902054919061077c565b61048d565b5060019392505050565b60606003805461020d90610994565b5f61029a3384846105ca565b6006546001600160a01b031633146103855760405162461bcd60e51b815260206004820152600b60248201527f4e6f7420616c6c6f77656400000000000000000000000000000000000000000060448201526064015b60405180910390fd5b5f5b8151811015610489575f8282815181106103a3576103a36109cc565b6020908102919091018101516001600160a01b0381165f8181528084526040808220548151808301909252600582527f4552524f520000000000000000000000000000000000000000000000000000008287015292825293529092509061040d908290819061077c565b6001600160a01b0383165f9081526020819052604081209190915580527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb55461045690826107a7565b5f8080526020527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5555050600101610387565b5050565b6001600160a01b0383166105085760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f7265737300000000000000000000000000000000000000000000000000000000606482015260840161037c565b6001600160a01b0382166105695760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161037c565b6001600160a01b038381165f8181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b0383166106465760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f6472657373000000000000000000000000000000000000000000000000000000606482015260840161037c565b6001600160a01b0382166106c25760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f6573730000000000000000000000000000000000000000000000000000000000606482015260840161037c565b6106fe81604051806060016040528060268152602001610a00602691396001600160a01b0386165f90815260208190526040902054919061077c565b6001600160a01b038085165f90815260208190526040808220939093559084168152205461072c90826107a7565b6001600160a01b038381165f818152602081815260409182902094909455518481529092918616917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91016105bd565b5f818484111561079f5760405162461bcd60e51b815260040161037c91906107b9565b505050900390565b5f6107b282846109e0565b9392505050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b80356001600160a01b0381168114610804575f5ffd5b919050565b5f5f6040838503121561081a575f5ffd5b610823836107ee565b946020939093013593505050565b5f5f5f60608486031215610843575f5ffd5b61084c846107ee565b925061085a602085016107ee565b929592945050506040919091013590565b5f6020828403121561087b575f5ffd5b6107b2826107ee565b634e487b7160e01b5f52604160045260245ffd5b5f602082840312156108a8575f5ffd5b813567ffffffffffffffff8111156108be575f5ffd5b8201601f810184136108ce575f5ffd5b803567ffffffffffffffff8111156108e8576108e8610884565b8060051b604051601f19603f830116810181811067ffffffffffffffff8211171561091557610915610884565b604052918252602081840181019290810187841115610932575f5ffd5b6020850194505b838510156109585761094a856107ee565b815260209485019401610939565b509695505050505050565b5f5f60408385031215610974575f5ffd5b61097d836107ee565b915061098b602084016107ee565b90509250929050565b600181811c908216806109a857607f821691505b6020821081036109c657634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52603260045260245ffd5b8082018082111561029e57634e487b7160e01b5f52601160045260245ffdfe45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220098deabadf7fb682757817ce4f227afe6b5dc2721ef91b33f678a7a2154783ea64736f6c634300081c0033
0x608060405234801561000f575f5ffd5b506040805180820190915260048152631d195cdd60e21b60208201526002906100389082610235565b50604080518082019091526003808252621514d560ea1b60208301529061005f9082610235565b506004805460ff19166012179055600680546001600160a01b031916339081179091556322274940906100a39061009e83670de0b6b3a7640000610303565b6100a9565b5061032d565b6001600160a01b0382166101035760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640160405180910390fd5b6005546101109082610189565b6005556001600160a01b0382165f908152602081905260409020546101359082610189565b6001600160a01b0383165f81815260208181526040808320949094559251848152919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b5f610194828461031a565b90505b92915050565b634e487b7160e01b5f52604160045260245ffd5b600181811c908216806101c557607f821691505b6020821081036101e357634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561023057805f5260205f20601f840160051c8101602085101561020e5750805b601f840160051c820191505b8181101561022d575f815560010161021a565b50505b505050565b81516001600160401b0381111561024e5761024e61019d565b6102628161025c84546101b1565b846101e9565b6020601f821160018114610294575f831561027d5750848201515b5f19600385901b1c1916600184901b17845561022d565b5f84815260208120601f198516915b828110156102c357878501518255602094850194600190920191016102a3565b50848210156102e057868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52601160045260245ffd5b8082028115828204841417610197576101976102ef565b80820180821115610197576101976102ef565b610a838061033a5f395ff3fe608060405234801561000f575f5ffd5b50600436106100c4575f3560e01c8063313ce5671161007d578063a9059cbb11610058578063a9059cbb1461019e578063bf13c1d3146101b1578063dd62ed3e146101c6575f5ffd5b8063313ce5671461015957806370a082311461016e57806395d89b4114610196575f5ffd5b806318160ddd116100ad57806318160ddd1461010957806323b872dd1461011b5780632bbc49711461012e575f5ffd5b806306fdde03146100c8578063095ea7b3146100e6575b5f5ffd5b6100d06101fe565b6040516100dd91906107b9565b60405180910390f35b6100f96100f4366004610809565b61028e565b60405190151581526020016100dd565b6005545b6040519081526020016100dd565b6100f9610129366004610831565b6102a4565b600654610141906001600160a01b031681565b6040516001600160a01b0390911681526020016100dd565b60045460405160ff90911681526020016100dd565b61010d61017c36600461086b565b6001600160a01b03165f9081526020819052604090205490565b6100d061030b565b6100f96101ac366004610809565b61031a565b6101c46101bf366004610898565b610326565b005b61010d6101d4366004610963565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b60606002805461020d90610994565b80601f016020809104026020016040519081016040528092919081815260200182805461023990610994565b80156102845780601f1061025b57610100808354040283529160200191610284565b820191905f5260205f20905b81548152906001019060200180831161026757829003601f168201915b5050505050905090565b5f61029a33848461048d565b5060015b92915050565b5f6102b08484846105ca565b61030184336102fc85604051806060016040528060288152602001610a26602891396001600160a01b038a165f908152600160209081526040808320338452909152902054919061077c565b61048d565b5060019392505050565b60606003805461020d90610994565b5f61029a3384846105ca565b6006546001600160a01b031633146103855760405162461bcd60e51b815260206004820152600b60248201527f4e6f7420616c6c6f77656400000000000000000000000000000000000000000060448201526064015b60405180910390fd5b5f5b8151811015610489575f8282815181106103a3576103a36109cc565b6020908102919091018101516001600160a01b0381165f8181528084526040808220548151808301909252600582527f4552524f520000000000000000000000000000000000000000000000000000008287015292825293529092509061040d908290819061077c565b6001600160a01b0383165f9081526020819052604081209190915580527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb55461045690826107a7565b5f8080526020527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5555050600101610387565b5050565b6001600160a01b0383166105085760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f7265737300000000000000000000000000000000000000000000000000000000606482015260840161037c565b6001600160a01b0382166105695760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161037c565b6001600160a01b038381165f8181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b0383166106465760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f6472657373000000000000000000000000000000000000000000000000000000606482015260840161037c565b6001600160a01b0382166106c25760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f6573730000000000000000000000000000000000000000000000000000000000606482015260840161037c565b6106fe81604051806060016040528060268152602001610a00602691396001600160a01b0386165f90815260208190526040902054919061077c565b6001600160a01b038085165f90815260208190526040808220939093559084168152205461072c90826107a7565b6001600160a01b038381165f818152602081815260409182902094909455518481529092918616917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91016105bd565b5f818484111561079f5760405162461bcd60e51b815260040161037c91906107b9565b505050900390565b5f6107b282846109e0565b9392505050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b80356001600160a01b0381168114610804575f5ffd5b919050565b5f5f6040838503121561081a575f5ffd5b610823836107ee565b946020939093013593505050565b5f5f5f60608486031215610843575f5ffd5b61084c846107ee565b925061085a602085016107ee565b929592945050506040919091013590565b5f6020828403121561087b575f5ffd5b6107b2826107ee565b634e487b7160e01b5f52604160045260245ffd5b5f602082840312156108a8575f5ffd5b813567ffffffffffffffff8111156108be575f5ffd5b8201601f810184136108ce575f5ffd5b803567ffffffffffffffff8111156108e8576108e8610884565b8060051b604051601f19603f830116810181811067ffffffffffffffff8211171561091557610915610884565b604052918252602081840181019290810187841115610932575f5ffd5b6020850194505b838510156109585761094a856107ee565b815260209485019401610939565b509695505050505050565b5f5f60408385031215610974575f5ffd5b61097d836107ee565b915061098b602084016107ee565b90509250929050565b600181811c908216806109a857607f821691505b6020821081036109c657634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52603260045260245ffd5b8082018082111561029e57634e487b7160e01b5f52601160045260245ffdfe45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220098deabadf7fb682757817ce4f227afe6b5dc2721ef91b33f678a7a2154783ea64736f6c634300081c0033