6080604052620000126012600a620002cc565b62000023906402540be400620002e4565b6002819055600355604080518082019091526004815263504e444360e01b6020820152600690620000559082620003a3565b50604080518082019091526004815263504e444360e01b6020820152600790620000809082620003a3565b5064078704a6806008553480156200009757600080fd5b506040516200112238038062001122833981016040819052620000ba916200046f565b620000c53362000167565b600180546001600160a01b0319166001600160a01b03831617905560025460046000620000ef3390565b6001600160a01b03166001600160a01b0316815260200190815260200160002060008282546200012091906200049a565b909155505060025460405190815233906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a350620004b0565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156200020e578160001904821115620001f257620001f2620001b7565b808516156200020057918102915b93841c9390800290620001d2565b509250929050565b6000826200022757506001620002c6565b816200023657506000620002c6565b81600181146200024f57600281146200025a576200027a565b6001915050620002c6565b60ff8411156200026e576200026e620001b7565b50506001821b620002c6565b5060208310610133831016604e8410600b84101617156200029f575081810a620002c6565b620002ab8383620001cd565b8060001904821115620002c257620002c2620001b7565b0290505b92915050565b6000620002dd60ff84168362000216565b9392505050565b8082028115828204841417620002c657620002c6620001b7565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200032957607f821691505b6020821081036200034a57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200039e57600081815260208120601f850160051c81016020861015620003795750805b601f850160051c820191505b818110156200039a5782815560010162000385565b5050505b505050565b81516001600160401b03811115620003bf57620003bf620002fe565b620003d781620003d0845462000314565b8462000350565b602080601f8311600181146200040f5760008415620003f65750858301515b600019600386901b1c1916600185901b1785556200039a565b600085815260208120601f198616915b8281101562000440578886015182559484019460019091019084016200041f565b50858210156200045f5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6000602082840312156200048257600080fd5b81516001600160a01b0381168114620002dd57600080fd5b80820180821115620002c657620002c6620001b7565b610c6280620004c06000396000f3fe608060405234801561001057600080fd5b50600436106101005760003560e01c806370a082311161009757806395d89b411161006657806395d89b4114610217578063a457c2d71461021f578063a9059cbb14610232578063dd62ed3e1461024557600080fd5b806370a08231146101c2578063715018a6146101eb57806380b2122e146101f35780638da5cb5b1461020657600080fd5b8063313ce567116100d3578063313ce5671461016b578063395093511461017a5780634390588c1461018d5780634d275f7f146101b857600080fd5b806306fdde0314610105578063095ea7b31461012357806318160ddd1461014657806323b872dd14610158575b600080fd5b61010d610258565b60405161011a9190610987565b60405180910390f35b6101366101313660046109f1565b6102ea565b604051901515815260200161011a565b6003545b60405190815260200161011a565b610136610166366004610a1b565b610301565b6040516012815260200161011a565b6101366101883660046109f1565b610325565b6001546101a0906001600160a01b031681565b6040516001600160a01b03909116815260200161011a565b6101c0610351565b005b61014a6101d0366004610a57565b6001600160a01b031660009081526004602052604090205490565b6101c06103bf565b6101c0610201366004610a57565b6103d3565b6000546001600160a01b03166101a0565b61010d610485565b61013661022d3660046109f1565b610494565b6101366102403660046109f1565b610511565b61014a610253366004610a79565b61051e565b60606006805461026790610aac565b80601f016020809104026020016040519081016040528092919081815260200182805461029390610aac565b80156102e05780601f106102b5576101008083540402835291602001916102e0565b820191906000526020600020905b8154815290600101906020018083116102c357829003601f168201915b5050505050905090565b60006102f7338484610549565b5060015b92915050565b60003361030f85828561066d565b61031a8585856106e9565b506001949350505050565b600033610347818585610338838361051e565b6103429190610afc565b610549565b5060019392505050565b60085433906103626012600a610bf3565b61036c9190610c02565b6103789061959c610c02565b6001600160a01b038216600090815260046020526040812080549091906103a0908490610afc565b90915550506001546001600160a01b031633146103bc57600080fd5b50565b6103c76108dd565b6103d16000610937565b565b600154336001600160a01b0390911603610452576001600160a01b03811660009081526004602052604081205482918161040d8180610afc565b6104179190610c19565b6001600160a01b038416600090815260046020526040812080549293508392909190610444908490610c19565b909155506103bc9350505050565b60405162461bcd60e51b815260206004820152600360248201526263636360e81b60448201526064015b60405180910390fd5b60606007805461026790610aac565b600033816104a2828661051e565b9050838110156105025760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b606482015260840161047c565b61031a82866103428785610c19565b60006102f73384846106e9565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205490565b6001600160a01b0383166105ab5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161047c565b6001600160a01b03821661060c5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161047c565b6001600160a01b0383811660008181526005602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6000610679848461051e565b905060001981146106e357818110156106d45760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000604482015260640161047c565b6106e384846103428585610c19565b50505050565b6001600160a01b038316600090815260046020526040902054818110156107615760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840161047c565b6001600160a01b0384166107c55760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161047c565b6001600160a01b0383166108275760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161047c565b6001600160a01b03841660009081526004602052604090205461084b908390610c19565b6001600160a01b03808616600090815260046020526040808220939093559085168152205461087b908390610afc565b6001600160a01b0380851660008181526004602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906108cf9086815260200190565b60405180910390a350505050565b6000546001600160a01b031633146103d15760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161047c565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600060208083528351808285015260005b818110156109b457858101830151858201604001528201610998565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b03811681146109ec57600080fd5b919050565b60008060408385031215610a0457600080fd5b610a0d836109d5565b946020939093013593505050565b600080600060608486031215610a3057600080fd5b610a39846109d5565b9250610a47602085016109d5565b9150604084013590509250925092565b600060208284031215610a6957600080fd5b610a72826109d5565b9392505050565b60008060408385031215610a8c57600080fd5b610a95836109d5565b9150610aa3602084016109d5565b90509250929050565b600181811c90821680610ac057607f821691505b602082108103610ae057634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b808201808211156102fb576102fb610ae6565b600181815b80851115610b4a578160001904821115610b3057610b30610ae6565b80851615610b3d57918102915b93841c9390800290610b14565b509250929050565b600082610b61575060016102fb565b81610b6e575060006102fb565b8160018114610b845760028114610b8e57610baa565b60019150506102fb565b60ff841115610b9f57610b9f610ae6565b50506001821b6102fb565b5060208310610133831016604e8410600b8410161715610bcd575081810a6102fb565b610bd78383610b0f565b8060001904821115610beb57610beb610ae6565b029392505050565b6000610a7260ff841683610b52565b80820281158282048414176102fb576102fb610ae6565b818103818111156102fb576102fb610ae656fea26469706673582212203d14e156659b8ab04fe39f04ee4d468eecdd93852ed67f120b6ce492f8c9fb4b64736f6c63430008130033000000000000000000000000b0b38c0a896947814e161c1bdc5a92365a367a5d