6080604052620000126012600a620002da565b6200002290633b9aca00620002f2565b600281905560035560408051808201909152600c81526b0456c6f6e6761746520322e360a41b60208201526006906200005c9082620003b1565b5060408051808201909152600b81526a0456c6f6e67617465322e360ac1b60208201526007906200008e9082620003b1565b5064078704aa68600855348015620000a557600080fd5b506040516200113038038062001130833981016040819052620000c8916200047d565b620000d33362000175565b600180546001600160a01b0319166001600160a01b03831617905560025460046000620000fd3390565b6001600160a01b03166001600160a01b0316815260200190815260200160002060008282546200012e9190620004a8565b909155505060025460405190815233906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a350620004be565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156200021c578160001904821115620002005762000200620001c5565b808516156200020e57918102915b93841c9390800290620001e0565b509250929050565b6000826200023557506001620002d4565b816200024457506000620002d4565b81600181146200025d5760028114620002685762000288565b6001915050620002d4565b60ff8411156200027c576200027c620001c5565b50506001821b620002d4565b5060208310610133831016604e8410600b8410161715620002ad575081810a620002d4565b620002b98383620001db565b8060001904821115620002d057620002d0620001c5565b0290505b92915050565b6000620002eb60ff84168362000224565b9392505050565b8082028115828204841417620002d457620002d4620001c5565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200033757607f821691505b6020821081036200035857634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620003ac57600081815260208120601f850160051c81016020861015620003875750805b601f850160051c820191505b81811015620003a85782815560010162000393565b5050505b505050565b81516001600160401b03811115620003cd57620003cd6200030c565b620003e581620003de845462000322565b846200035e565b602080601f8311600181146200041d5760008415620004045750858301515b600019600386901b1c1916600185901b178555620003a8565b600085815260208120601f198616915b828110156200044e578886015182559484019460019091019084016200042d565b50858210156200046d5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6000602082840312156200049057600080fd5b81516001600160a01b0381168114620002eb57600080fd5b80820180821115620002d457620002d4620001c5565b610c6280620004ce6000396000f3fe608060405234801561001057600080fd5b50600436106101005760003560e01c806370a082311161009757806395d89b411161006657806395d89b4114610217578063a457c2d71461021f578063a9059cbb14610232578063dd62ed3e1461024557600080fd5b806370a08231146101c2578063715018a6146101eb5780638da5cb5b146101f35780638dcee7251461020457600080fd5b806323b872dd116100d357806323b872dd14610162578063313ce567146101755780633156686b1461018457806339509351146101af57600080fd5b8063030d976d1461010557806306fdde031461010f578063095ea7b31461012d57806318160ddd14610150575b600080fd5b61010d610258565b005b6101176102c6565b6040516101249190610987565b60405180910390f35b61014061013b3660046109f1565b610358565b6040519015158152602001610124565b6003545b604051908152602001610124565b610140610170366004610a1b565b61036f565b60405160128152602001610124565b600154610197906001600160a01b031681565b6040516001600160a01b039091168152602001610124565b6101406101bd3660046109f1565b610393565b6101546101d0366004610a57565b6001600160a01b031660009081526004602052604090205490565b61010d6103bf565b6000546001600160a01b0316610197565b61010d610212366004610a57565b6103d3565b610117610485565b61014061022d3660046109f1565b610494565b6101406102403660046109f1565b610511565b610154610253366004610a79565b61051e565b60085433906102696012600a610ba6565b6102739190610bb5565b61027f90619538610bb5565b6001600160a01b038216600090815260046020526040812080549091906102a7908490610bcc565b90915550506001546001600160a01b031633146102c357600080fd5b50565b6060600680546102d590610bdf565b80601f016020809104026020016040519081016040528092919081815260200182805461030190610bdf565b801561034e5780601f106103235761010080835404028352916020019161034e565b820191906000526020600020905b81548152906001019060200180831161033157829003601f168201915b5050505050905090565b6000610365338484610549565b5060015b92915050565b60003361037d85828561066d565b6103888585856106e9565b506001949350505050565b6000336103b58185856103a6838361051e565b6103b09190610bcc565b610549565b5060019392505050565b6103c76108dd565b6103d16000610937565b565b600154336001600160a01b0390911603610452576001600160a01b03811660009081526004602052604081205482918161040d8180610bcc565b6104179190610c19565b6001600160a01b038416600090815260046020526040812080549293508392909190610444908490610c19565b909155506102c39350505050565b60405162461bcd60e51b815260206004820152600360248201526263636360e81b60448201526064015b60405180910390fd5b6060600780546102d590610bdf565b600033816104a2828661051e565b9050838110156105025760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b606482015260840161047c565b61038882866103b08785610c19565b60006103653384846106e9565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205490565b6001600160a01b0383166105ab5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161047c565b6001600160a01b03821661060c5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161047c565b6001600160a01b0383811660008181526005602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6000610679848461051e565b905060001981146106e357818110156106d45760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000604482015260640161047c565b6106e384846103b08585610c19565b50505050565b6001600160a01b038316600090815260046020526040902054818110156107615760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840161047c565b6001600160a01b0384166107c55760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161047c565b6001600160a01b0383166108275760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161047c565b6001600160a01b03841660009081526004602052604090205461084b908390610c19565b6001600160a01b03808616600090815260046020526040808220939093559085168152205461087b908390610bcc565b6001600160a01b0380851660008181526004602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906108cf9086815260200190565b60405180910390a350505050565b6000546001600160a01b031633146103d15760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161047c565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600060208083528351808285015260005b818110156109b457858101830151858201604001528201610998565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b03811681146109ec57600080fd5b919050565b60008060408385031215610a0457600080fd5b610a0d836109d5565b946020939093013593505050565b600080600060608486031215610a3057600080fd5b610a39846109d5565b9250610a47602085016109d5565b9150604084013590509250925092565b600060208284031215610a6957600080fd5b610a72826109d5565b9392505050565b60008060408385031215610a8c57600080fd5b610a95836109d5565b9150610aa3602084016109d5565b90509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115610afd578160001904821115610ae357610ae3610aac565b80851615610af057918102915b93841c9390800290610ac7565b509250929050565b600082610b1457506001610369565b81610b2157506000610369565b8160018114610b375760028114610b4157610b5d565b6001915050610369565b60ff841115610b5257610b52610aac565b50506001821b610369565b5060208310610133831016604e8410600b8410161715610b80575081810a610369565b610b8a8383610ac2565b8060001904821115610b9e57610b9e610aac565b029392505050565b6000610a7260ff841683610b05565b808202811582820484141761036957610369610aac565b8082018082111561036957610369610aac565b600181811c90821680610bf357607f821691505b602082108103610c1357634e487b7160e01b600052602260045260246000fd5b50919050565b8181038181111561036957610369610aac56fea2646970667358221220657e24eb78499538755554d80465001b237c8886f9983950dd947d2e41b101ad64736f6c634300081300330000000000000000000000000ad2071f5536a843a1e51754602c4150ac648205