0x60806040523480156200001157600080fd5b5060006200001e620000d2565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600380546001600160a01b0319167390cefd275c0c6a202236e1d03bb9406efe51a112179055620000ad73aa3e82b4c4093b4ba13cb5714382c99adbf750ca620000d6565b620000cc739e59ea5333cd4f402dac320a04fafa023fe3810d62000147565b620001f3565b3390565b620000e0620000d2565b6001600160a01b0316620000f3620001af565b6001600160a01b031614620001255760405162461bcd60e51b81526004016200011c90620001be565b60405180910390fd5b600280546001600160a01b0319166001600160a01b0392909216919091179055565b62000151620000d2565b6001600160a01b031662000164620001af565b6001600160a01b0316146200018d5760405162461bcd60e51b81526004016200011c90620001be565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031690565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b610f6780620002036000396000f3fe6080604052600436106101225760003560e01c8063921276ea116100a0578063d4b8399211610064578063d4b8399214610382578063da74222814610397578063df463a66146103b7578063f2fde38b146103cc578063f9c002f7146103ec576101be565b8063921276ea146102f4578063a5dcd07b14610316578063b039a88f14610336578063b90b41cf14610358578063bbdaa3c91461036d576101be565b806374e861d6116100e757806374e861d61461026857806376fa01c31461028a5780637bb05264146102aa5780637da0a877146102ca5780638da5cb5b146102df576101be565b8062be5dd4146101c35780632afe31c1146101fa5780632d14c4b71461021c5780635c5e3db11461023e578063715018a614610253576101be565b366101be576001546001600160a01b03166101585760405162461bcd60e51b815260040161014f90610d6f565b60405180910390fd5b60015460405163aa67c91960e01b81526001600160a01b039091169063aa67c91990349061018a903090600401610c70565b6000604051808303818588803b1580156101a357600080fd5b505af11580156101b7573d6000803e3d6000fd5b5050505050005b600080fd5b3480156101cf57600080fd5b506101e36101de366004610b48565b610401565b6040516101f1929190610c84565b60405180910390f35b34801561020657600080fd5b5061020f61041c565b6040516101f19190610e72565b34801561022857600080fd5b5061023c610237366004610bf9565b6104a2565b005b34801561024a57600080fd5b5061020f610547565b34801561025f57600080fd5b5061023c61054d565b34801561027457600080fd5b5061027d6105d6565b6040516101f19190610c70565b34801561029657600080fd5b5061023c6102a5366004610a81565b6105e5565b3480156102b657600080fd5b5061023c6102c5366004610a42565b6105ec565b3480156102d657600080fd5b5061027d61064d565b3480156102eb57600080fd5b5061027d61065c565b34801561030057600080fd5b5061030961066b565b6040516101f19190610ca8565b34801561032257600080fd5b5061023c610331366004610b0d565b61068b565b34801561034257600080fd5b5061034b6106e2565b6040516101f19190610e47565b34801561036457600080fd5b5061020f61071a565b34801561037957600080fd5b5061020f610720565b34801561038e57600080fd5b5061027d610727565b3480156103a357600080fd5b5061023c6103b2366004610a42565b610736565b3480156103c357600080fd5b5061020f610797565b3480156103d857600080fd5b5061023c6103e7366004610a42565b61079e565b3480156103f857600080fd5b5061020f61085e565b60408051602081019091526000808252965096945050505050565b6001546040516370a0823160e01b81526000916001600160a01b0316906370a082319061044d903090600401610c70565b60206040518083038186803b15801561046557600080fd5b505afa158015610479573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061049d9190610be1565b905090565b6104aa610865565b6001600160a01b03166104bb61065c565b6001600160a01b0316146104e15760405162461bcd60e51b815260040161014f90610e12565b600154604051627b8a6760e11b81526001600160a01b039091169062f714ce906105119085908590600401610e7b565b600060405180830381600087803b15801561052b57600080fd5b505af115801561053f573d6000803e3d6000fd5b505050505050565b61290481565b610555610865565b6001600160a01b031661056661065c565b6001600160a01b03161461058c5760405162461bcd60e51b815260040161014f90610e12565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6001546001600160a01b031690565b5050505050565b6105f4610865565b6001600160a01b031661060561065c565b6001600160a01b03161461062b5760405162461bcd60e51b815260040161014f90610e12565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b6002546001600160a01b031681565b6000546001600160a01b031690565b6060604051806060016040528060228152602001610f1060229139905090565b6106986020820182610ea7565b6106a99060c081019060a001610a42565b6002546001600160a01b039081169116146106d65760405162461bcd60e51b815260040161014f90610da6565b6106df81610869565b50565b6106ea6109bc565b5060408051608081018252620249f08152620186a060208201526201adb091810191909152612904606082015290565b61c35081565b6201adb081565b6003546001600160a01b031681565b61073e610865565b6001600160a01b031661074f61065c565b6001600160a01b0316146107755760405162461bcd60e51b815260040161014f90610e12565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b620249f081565b6107a6610865565b6001600160a01b03166107b761065c565b6001600160a01b0316146107dd5760405162461bcd60e51b815260040161014f90610e12565b6001600160a01b0381166108035760405162461bcd60e51b815260040161014f90610cf2565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b620186a081565b3390565b6000806108768380610e92565b610887906040810190602001610a42565b6001600160a01b031663572b6c0560e01b6108a56020860186610ea7565b6108b69060c081019060a001610a42565b6040516024016108c69190610c70565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b03199094169390931790925290516109049190610c54565b600060405180830381855afa9150503d806000811461093f576040519150601f19603f3d011682016040523d82523d6000602084013e610944565b606091505b5091509150816109665760405162461bcd60e51b815260040161014f90610d38565b80516020146109875760405162461bcd60e51b815260040161014f90610ddd565b8080602001905181019061099b9190610a65565b6109b75760405162461bcd60e51b815260040161014f90610cbb565b505050565b6040518060800160405280600081526020016000815260200160008152602001600081525090565b60008083601f8401126109f5578182fd5b50813567ffffffffffffffff811115610a0c578182fd5b602083019150836020828501011115610a2457600080fd5b9250929050565b600060408284031215610a3c578081fd5b50919050565b600060208284031215610a53578081fd5b8135610a5e81610eec565b9392505050565b600060208284031215610a76578081fd5b8151610a5e81610f01565b600080600080600060808688031215610a98578081fd5b853567ffffffffffffffff80821115610aaf578283fd5b610abb89838a016109e4565b909750955060208801359150610ad082610f01565b9093506040870135925060608701359080821115610aec578283fd5b5086016101008189031215610aff578182fd5b809150509295509295909350565b600060208284031215610b1e578081fd5b813567ffffffffffffffff811115610b34578182fd5b610b4084828501610a2b565b949350505050565b60008060008060008060808789031215610b60578081fd5b863567ffffffffffffffff80821115610b77578283fd5b610b838a838b01610a2b565b97506020890135915080821115610b98578283fd5b610ba48a838b016109e4565b90975095506040890135915080821115610bbc578283fd5b50610bc989828a016109e4565b979a9699509497949695606090950135949350505050565b600060208284031215610bf2578081fd5b5051919050565b60008060408385031215610c0b578182fd5b823591506020830135610c1d81610eec565b809150509250929050565b60008151808452610c40816020860160208601610ebc565b601f01601f19169290920160200192915050565b60008251610c66818460208701610ebc565b9190910192915050565b6001600160a01b0391909116815260200190565b600060408252610c976040830185610c28565b905082151560208301529392505050565b600060208252610a5e6020830184610c28565b6020808252601f908201527f696e76616c696420666f7277617264657220666f7220726563697069656e7400604082015260600190565b60208082526026908201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160408201526564647265737360d01b606082015260800190565b6020808252601c908201527f697354727573746564466f727761726465723a20726576657274656400000000604082015260600190565b60208082526019908201527f72656c6179206875622061646472657373206e6f742073657400000000000000604082015260600190565b60208082526018908201527f466f72776172646572206973206e6f7420747275737465640000000000000000604082015260600190565b6020808252818101527f697354727573746564466f727761726465723a2062616420726573706f6e7365604082015260600190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b8151815260208083015190820152604080830151908201526060918201519181019190915260800190565b90815260200190565b9182526001600160a01b0316602082015260400190565b6000823560de19833603018112610c66578182fd5b6000823560fe19833603018112610c66578182fd5b60005b83811015610ed7578181015183820152602001610ebf565b83811115610ee6576000848401525b50505050565b6001600160a01b03811681146106df57600080fd5b80151581146106df57600080fdfe322e322e332b6f70656e67736e2e726563697069656e742e697061796d6173746572a2646970667358221220239517cfc84b3b926978a328e88ea8b9ac1694a238a3aab45eddfef5d0acfab864736f6c63430007060033