SGVyZSB0aGUgbWlzc2luZyBkaXNjbGFpbWVyIGZvciB0aGUgcGF0Y2g6DQoNClRoZSBhdHRhY2hl ZCBwYXRjaCBmaWxlIGlzIGRlcml2ZWQgZnJvbSBPcGVuTERBUCBTb2Z0d2FyZS4gQWxsIG9mIHRo ZSBtb2RpZmljYXRpb25zIHRvIE9wZW5MREFQIFNvZnR3YXJlIHJlcHJlc2VudGVkIGluIHRoZSBm b2xsb3dpbmcgcGF0Y2goZXMpIHdlcmUgZGV2ZWxvcGVkIGJ5IEp1ZXJnIEJpcmNoZXIganVlcmcu YmlyY2hlckBoZWxtZWRpY2EuY29tLiBJIGhhdmUgbm90IGFzc2lnbmVkIHJpZ2h0cyBhbmQvb3Ig aW50ZXJlc3QgaW4gdGhpcyB3b3JrIHRvIGFueSBwYXJ0eS4NCg0KSSwgSnVlcmcgQmlyY2hlciwg aGVyZWJ5IHBsYWNlIHRoZSBmb2xsb3dpbmcgbW9kaWZpY2F0aW9ucyB0byBPcGVuTERBUCBTb2Z0 d2FyZSAoYW5kIG9ubHkgdGhlc2UgbW9kaWZpY2F0aW9ucykgaW50byB0aGUgcHVibGljIGRvbWFp bi4gSGVuY2UsIHRoZXNlIG1vZGlmaWNhdGlvbnMgbWF5IGJlIGZyZWVseSB1c2VkIGFuZC9vciBy ZWRpc3RyaWJ1dGVkIGZvciBhbnkgcHVycG9zZSB3aXRoIG9yIHdpdGhvdXQgYXR0cmlidXRpb24g YW5kL29yIG90aGVyIG5vdGljZS4NCg0K