60806040523480156200001157600080fd5b506040516200126f3803806200126f833981016040819052620000349162000231565b6200003f336200011c565b60026200004d83826200034a565b5060036200005c82826200034a565b5060006200006d6012600a6200052b565b6200007e9064e8d4a5100062000543565b905080600160008282546200009491906200055d565b90915550503360009081526004602052604081208054839290620000ba9084906200055d565b9091555050600780546001600160a01b0319166001600160a01b03861617905560405181815233906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050505062000573565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200019457600080fd5b81516001600160401b0380821115620001b157620001b16200016c565b604051601f8301601f19908116603f01168101908282118183101715620001dc57620001dc6200016c565b81604052838152602092508683858801011115620001f957600080fd5b600091505b838210156200021d5785820183015181830184015290820190620001fe565b600093810190920192909252949350505050565b6000806000606084860312156200024757600080fd5b83516001600160a01b03811681146200025f57600080fd5b60208501519093506001600160401b03808211156200027d57600080fd5b6200028b8783880162000182565b93506040860151915080821115620002a257600080fd5b50620002b18682870162000182565b9150509250925092565b600181811c90821680620002d057607f821691505b602082108103620002f157634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200034557600081815260208120601f850160051c81016020861015620003205750805b601f850160051c820191505b8181101562000341578281556001016200032c565b5050505b505050565b81516001600160401b038111156200036657620003666200016c565b6200037e81620003778454620002bb565b84620002f7565b602080601f831160018114620003b657600084156200039d5750858301515b600019600386901b1c1916600185901b17855562000341565b600085815260208120601f198616915b82811015620003e757888601518255948401946001909101908401620003c6565b5085821015620004065787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156200046d57816000190482111562000451576200045162000416565b808516156200045f57918102915b93841c939080029062000431565b509250929050565b600082620004865750600162000525565b81620004955750600062000525565b8160018114620004ae5760028114620004b957620004d9565b600191505062000525565b60ff841115620004cd57620004cd62000416565b50506001821b62000525565b5060208310610133831016604e8410600b8410161715620004fe575081810a62000525565b6200050a83836200042c565b806000190482111562000521576200052162000416565b0290505b92915050565b60006200053c60ff84168362000475565b9392505050565b808202811582820484141762000525576200052562000416565b8082018082111562000525576200052562000416565b610cec80620005836000396000f3fe608060405234801561001057600080fd5b506004361061010b5760003560e01c80635d91bd0c116100a257806395d89b411161007157806395d89b4114610229578063a36eff4214610231578063a457c2d714610244578063a9059cbb14610257578063dd62ed3e1461026a57600080fd5b80635d91bd0c146101c057806370a08231146101d3578063715018a6146101fc5780638da5cb5b1461020457600080fd5b80631b95b28b116100de5780631b95b28b1461017857806323b872dd1461018b578063313ce5671461019e57806339509351146101ad57600080fd5b806306fdde0314610110578063095ea7b31461012e5780630b1279231461015157806318160ddd14610166575b600080fd5b61011861027d565b60405161012591906109ed565b60405180910390f35b61014161013c366004610a57565b61030f565b6040519015158152602001610125565b61016461015f366004610a81565b610326565b005b6001545b604051908152602001610125565b610164610186366004610a81565b61037a565b610141610199366004610aa3565b6103fb565b60405160128152602001610125565b6101416101bb366004610a57565b61041f565b6101646101ce366004610a81565b61044b565b61016a6101e1366004610a81565b6001600160a01b031660009081526004602052604090205490565b610164610499565b6000546001600160a01b03165b6040516001600160a01b039091168152602001610125565b6101186104ad565b600754610211906001600160a01b031681565b610141610252366004610a57565b6104bc565b610141610265366004610a57565b610539565b61016a610278366004610adf565b610546565b60606002805461028c90610b12565b80601f01602080910402602001604051908101604052809291908181526020018280546102b890610b12565b80156103055780601f106102da57610100808354040283529160200191610305565b820191906000526020600020905b8154815290600101906020018083116102e857829003601f168201915b5050505050905090565b600061031c338484610571565b5060015b92915050565b6007546001600160a01b031633146103595760405162461bcd60e51b815260040161035090610b4c565b60405180910390fd5b6001600160a01b03166000908152600660205260409020805460ff19169055565b6007546001600160a01b031633146103a45760405162461bcd60e51b815260040161035090610b4c565b60006103b26012600a610c6a565b6103c19064e8d4a51000610c79565b6103ce9062014c08610c79565b336000908152600460205260408120805492935083929091906103f2908490610c90565b90915550505050565b600033610409858285610695565b610414858585610711565b506001949350505050565b6000336104418185856104328383610546565b61043c9190610c90565b610571565b5060019392505050565b6007546001600160a01b031633146104755760405162461bcd60e51b815260040161035090610b4c565b6001600160a01b03166000908152600660205260409020805460ff19166001179055565b6104a1610943565b6104ab600061099d565b565b60606003805461028c90610b12565b600033816104ca8286610546565b90508381101561052a5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610350565b610414828661043c8785610ca3565b600061031c338484610711565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205490565b6001600160a01b0383166105d35760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610350565b6001600160a01b0382166106345760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610350565b6001600160a01b0383811660008181526005602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006106a18484610546565b9050600019811461070b57818110156106fc5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610350565b61070b848461043c8585610ca3565b50505050565b6001600160a01b0383166107755760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610350565b6001600160a01b0382166107d75760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610350565b6001600160a01b03831660009081526004602090815260408083205460069092529091205460ff16151560010361082e576001600160a01b03841660009081526004602052604090205461082b9080610ca3565b90505b8181101561088d5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610350565b6001600160a01b0384166000908152600460205260409020546108b1908390610ca3565b6001600160a01b0380861660009081526004602052604080822093909355908516815220546108e1908390610c90565b6001600160a01b0380851660008181526004602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906109359086815260200190565b60405180910390a350505050565b6000546001600160a01b031633146104ab5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610350565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600060208083528351808285015260005b81811015610a1a578581018301518582016040015282016109fe565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114610a5257600080fd5b919050565b60008060408385031215610a6a57600080fd5b610a7383610a3b565b946020939093013593505050565b600060208284031215610a9357600080fd5b610a9c82610a3b565b9392505050565b600080600060608486031215610ab857600080fd5b610ac184610a3b565b9250610acf60208501610a3b565b9150604084013590509250925092565b60008060408385031215610af257600080fd5b610afb83610a3b565b9150610b0960208401610a3b565b90509250929050565b600181811c90821680610b2657607f821691505b602082108103610b4657634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252600a90820152693830b9b99032b93937b960b11b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115610bc1578160001904821115610ba757610ba7610b70565b80851615610bb457918102915b93841c9390800290610b8b565b509250929050565b600082610bd857506001610320565b81610be557506000610320565b8160018114610bfb5760028114610c0557610c21565b6001915050610320565b60ff841115610c1657610c16610b70565b50506001821b610320565b5060208310610133831016604e8410600b8410161715610c44575081810a610320565b610c4e8383610b86565b8060001904821115610c6257610c62610b70565b029392505050565b6000610a9c60ff841683610bc9565b808202811582820484141761032057610320610b70565b8082018082111561032057610320610b70565b8181038181111561032057610320610b7056fea26469706673582212206b14c8a1190a8177c9f075fafd4c5e6600bd72e08356773d43d1d382b43bd32c64736f6c63430008130033000000000000000000000000a6de5a07b7a6476a3c3784d5f32e4d73ba51bdb3000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000a4b6174696b6920496e750000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000064b4154494b490000000000000000000000000000000000000000000000000000