RE: DDoS protection

"Phillip Lofaso" <[email protected]> Mon, 23 Jun 2014 10:47:35 -0400
Newsgroups gmane.comp.security.basics
Message-ID <[email protected]>
TXkgYXBvbG9naWVzIGZvciB0aGUgbWFzcyBlbWFpbCwgYnV0IGNhbiBzb21lb25lIHBsZWFz
ZSB0ZWxsIG1lIGhvdyB0byB1bnN1YnNjcmliZSBmcm9tIHRoaXMgZ3JvdXA/ICBJIGFtIG5v
IGxvbmdlciB3b3JraW5nIGluIHRoaXMgZmllbGQuDQoNClRoYW5rIHlvdS4NCg0KDQoqKioq
KioqKioqKioqKg0KUGhpbGxpcCBBLiBMb0Zhc28NCk1hcmtldGluZyBEaXJlY3Rvcg0KUFJJ
IEhlYWx0aGNhcmUgU29sdXRpb25zIHwgSGF5bWFya2V0IE1lZGlhLCBJbmMuDQoxNDAgRWFz
dCBSaWRnZXdvb2QgQXZlbnVlwqAgU3VpdGUgMTc2TiB8IFBhcmFtdXMsIE5KIDA3NjUyDQpP
OiAyMDEtNzk5LTQ4ODkNCkU6ICBwaGlsbGlwLmxvZmFzb0BoYXltYXJrZXRtZWRpYS5jb20g
DQoNCg0KDQoNCi0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQpGcm9tOiBsaXN0Ym91bmNl
QHNlY3VyaXR5Zm9jdXMuY29tIFttYWlsdG86bGlzdGJvdW5jZUBzZWN1cml0eWZvY3VzLmNv
bV0gT24gQmVoYWxmIE9mIFNhcmRpbmEsIERvbWluaWNrDQpTZW50OiBGcmlkYXksIEp1bmUg
MjAsIDIwMTQgMjo0OSBQTQ0KVG86IHNlY3VyaXR5LWJhc2ljc0BzZWN1cml0eWZvY3VzLmNv
bQ0KU3ViamVjdDogUkU6IEREb1MgcHJvdGVjdGlvbg0KDQpCcmV0dCwgSSBoYXZlIHRvIGFn
cmVlIDEwMCUuDQoNCg0KUmVnYXJkcywNCkRvbWluaWNrIA0KDQoNCi0tLS0tT3JpZ2luYWwg
TWVzc2FnZS0tLS0tDQpGcm9tOiBsaXN0Ym91bmNlQHNlY3VyaXR5Zm9jdXMuY29tIFttYWls
dG86bGlzdGJvdW5jZUBzZWN1cml0eWZvY3VzLmNvbV0gT24gQmVoYWxmIE9mIFdhZ25lciwg
QnJldHQNClNlbnQ6IEZyaWRheSwgSnVuZSAyMCwgMjAxNCAxMjo1NyBQTQ0KVG86IEhhcnRs
ZXksIENocmlzdG9waGVyIEouOyBLZWxsc3RyDQpDYzogc2VjdXJpdHktYmFzaWNzQHNlY3Vy
aXR5Zm9jdXMuY29tDQpTdWJqZWN0OiBSRTogRERvUyBwcm90ZWN0aW9uDQoNCklNSE8gLSBJ
IGFtIG5vdCBhIGZhbiBvZiBhbGwgdGhlIG11bWJvIGp1bWJvIHRoYXQgZ29lcyBhbG9uZyB3
aXRoIHRoZSAiQ2xvdWQiIGxpa2UgaXQgaXMgYSBuZXcgaW52ZW50aW9uLiBJIHdvcmtlZCBh
dCBHVEUvQkJOIGluIDE5OTkgYW5kIHdlIHdlcmUgc2VsbGluZyBhbGwgdGhlIHNhbWUgY3Jh
cCBiYWNrIHRoZW4uIFdpdGggdGhhdCBzYWlkIGFuZCBoYXZpbmcgd29ya2VkIGF0IEVNQyBm
b3IgYSB3aGlsZSB5b3UgY2FuIGhhdmUgYSAiQ2xvdWQiIG9uIHByZW1pc2VzIGp1c3QgbWVh
bnMgeW91IGhhdmUgdGhlIGhhcmR3YXJlIGluIG9uZSBvZiB5b3VyIGNvbXBhbnkgbG9jYXRp
b25zLiBZb3UgY2FuIGhhdmUgcHJpdmF0ZSwgc2hhcmVkLCBwdWJsaWMgb3IgYSBjb21iby4g
DQoNCkl0IGlzIHRoZSBzYW1lIGV2b2x1dGlvbiBhcyBJVCBzZWN1cml0eSBjaXJjYSAxOTcw
LTgwcyAoUmFpbmJvdyBCb29rIFNlcmllcyBkYXlzKSwgdGhlbiBJbmZvcm1hdGlvbiBTZWN1
cml0eSBjaXJjYSAxOTkwcywgdGhlbiBJbmZvcm1hdGlvbiBBc3N1cmFuY2UgY2lyY2EgbGF0
ZSA5MHMgZWFybHkgMjAwMHMgYW5kIG5vdyBDeWJlciBTZWN1cml0eS4gV2l0aCBlYWNoIG5h
bWUgY2hhbmdlIGNvbnN1bHRhbnRzIGFuZCBjb21wYW5pZXMgY2FuIGNoYXJnZSBtb3JlIGZv
ciB0aGUgc2FtZSB1bHRpbWF0ZSBnb2FsIHdpdGggZWFjaCBuYW1lIGNoYW5nZS4NCg0KT0sg
SSB3aWxsIG5vdyBnZXQgb2ZmIG15IHNvYXBib3guDQotLS0tLU9yaWdpbmFsIE1lc3NhZ2Ut
LS0tLQ0KRnJvbTogbGlzdGJvdW5jZUBzZWN1cml0eWZvY3VzLmNvbSBbbWFpbHRvOmxpc3Ri
b3VuY2VAc2VjdXJpdHlmb2N1cy5jb21dIE9uIEJlaGFsZiBPZiBIYXJ0bGV5LCBDaHJpc3Rv
cGhlciBKLg0KU2VudDogRnJpZGF5LCBKdW5lIDIwLCAyMDE0IDEwOjQ4IEFNDQpUbzogS2Vs
bHN0cg0KQ2M6IHNlY3VyaXR5LWJhc2ljc0BzZWN1cml0eWZvY3VzLmNvbQ0KU3ViamVjdDog
UmU6IEREb1MgcHJvdGVjdGlvbg0KDQpUaGlzIGlzIGEgbGl0dGxlIGNvbmZ1c2luZzsg4oCc
Y2xvdWTigJ0sIOKAnG9uLXByZW1pc2XigJ0gZXRj4oCmIHdlaXJkLg0KDQpCeSDigJxDbG91
ZCzigJ0gaXQgc2VlbSBsaWtlIHdlIG1lYW4g4oCcYnkgcHJvdmlkZXLigJ0gKG1ha2VzIHNl
bnNlKS4NCg0KT24tcHJlbWlzZSBpcyB0aGUgYmVzdCB3YXkgdG8gZGV0ZWN0IGFuIGF0dGFj
ayBpbW8sIHNpbmNlIHRoZSB2aWN0aW0gbmV0d29yayBrbm93cyB3aGF04oCZcyBnb29kIGFu
ZCB3aGF04oCZcyBub3QgKG9yIHNob3VsZOKApi4pLg0KDQpTbyBJIHRoaW5rIHRoZSBiZXN0
IHNvbHV0aW9uIGludm9sdmVzIHNvbWUga2luZCBvZiByZW1vdGUgYmxhY2tob2xlIG9yIGlk
ZWFsbHksIHBlcmhhcHMgZmxvd3NwZWMuDQoNCkkgZG9u4oCZdCB0aGluayBpdOKAmXMgYSBw
cm9ibGVtIHRoYXQgcmVxdWlyZXMgc3BlbmRpbmcgc2lnbmlmaWNhbnQgbW9uZXkuDQoNCkNo
cmlzDQoNCk9uIEp1biAxOSwgMjAxNCwgYXQgMTI6NTAgUE0sIEtlbGxzdHIgPGtlbGxzdHJA
Z21haWwuY29tPiB3cm90ZToNCg0KPiBEaXNjbGFpbWVyOiBJIHdvcmsgZm9yIGEgY29tcGFu
eSB3aGljaCBvZmZlcnMgYSBERG9TIFByb3RlY3Rpb24gU2VydmljZS4NCj4gDQo+IFRoZSBh
ZHZhbnRhZ2Ugb2YgYSBzZXJ2aWNlICJpbiB0aGUgY2xvdWQiIGlzIHRoYXQgaWYgYW4gYXR0
YWNrIGV4Y2VlZHMgDQo+IHlvdXIgY2lyY3VpdCBiYW5kd2lkdGggdGhlIHByb3ZpZGVyIHdp
bGwgYmUgYWJsZSB0byBkcm9wIHRoZSBtYWxpY2lvdXMgDQo+IHRyYWZmaWMuIFRoYXQgY2Fu
bm90IGJlIGRvbmUgYXQgeW91ciBwcmVtaXNlLiBCb3RoIEFyYm9yIGFuZCBSYWR3YXJlIA0K
PiBvZmZlciBzdHJvbmcgYXBwbGlhbmNlcyB0aGF0IGNhbiBjbGVhbiB1cCBzbWFsbGVyIGF0
dGFja3MgYXQgeW91ciANCj4gcHJlbWlzZSBhbmQgY2FuIHNlbmQgYSBzaWduYWwgdG8gdGhl
IHByb3ZpZGVyIGlmIHRoZXkgc3VwcG9ydCB0aGF0IA0KPiBzZXJ2aWNlLiBZb3UgY2FuIGJs
b2NrIHRyYWZmaWMgdXNpbmcgSVBTJ3MgYnV0IGtlZXAgaW4gbWluZCB0aGV5IGFyZSANCj4g
bm90IGRlc2lnbmVkIGZvciBhIHZvbHVtZXRyaWMgYXR0YWNrIGFuZCBtYXkgYmUgb3Zlcndo
ZWxtZWQuDQo+IA0KPiBPbiBXZWQsIEp1biAxOCwgMjAxNCBhdCAxMToxMCBBTSwgTGFuY2Ug
TGFzc2V0dGVyIA0KPiA8bGFuY2VsYXNzZXR0ZXJAZ21haWwuY29tPiB3cm90ZToNCj4+IFdo
YXQgYWJvdXQgU3VyaWNhdGEgb3IgU25vcnQgSURTIGluIElQUyBtb2RlPw0KPj4gDQo+PiBP
biBKdW4gMTgsIDIwMTQgODo0MyBBTSwgIk1pa2hhaWwgQS4gVXRpbiIgPG11dGluQGNvbW1v
bndlYWx0aGNhcmUub3JnPiB3cm90ZToNCj4+PiANCj4+PiBBcyB5b3UgaW5kaWNhdGVkICIg
QWx0aG91Z2ggd2UncmUgc21hbGwsIFdlJ3JlIGFuIG9yZ2FuaXphdGlvbiBwbGF5aW5nIHdp
dGggKCQswqUs4oKsLMKjKSBleGNoYW5nZXMiIHlvdSBhcmUgb24gY2xpZW50IHNpZGUgcmF0
aGVyIHRoYW4gb24gc2VydmVyLiBJZiB0aGF0IGlzIHJpZ2h0LCB5b3UgZG8gbm90IG5lZWQg
dG8gYm90aGVyIHdpdGggRERvUyBwcm90ZWN0aW9uLCB3aGljaCBpcyBhZ2FpbnN0IHNlcnZl
ciBzaWRlLg0KPj4+IE1pa2hhaWwNCj4+PiANCj4+PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2Ut
LS0tLQ0KPj4+IEZyb206IGxpc3Rib3VuY2VAc2VjdXJpdHlmb2N1cy5jb20NCj4+PiBbbWFp
bHRvOmxpc3Rib3VuY2VAc2VjdXJpdHlmb2N1cy5jb21dIE9uIEJlaGFsZiBPZiANCj4+PiBr
YXJ0aWsubmV0ZWNAZ21haWwuY29tDQo+Pj4gU2VudDogV2VkbmVzZGF5LCBKdW5lIDE4LCAy
MDE0IDEyOjQ5IEFNDQo+Pj4gVG86IHNlY3VyaXR5LWJhc2ljc0BzZWN1cml0eWZvY3VzLmNv
bQ0KPj4+IFN1YmplY3Q6IFJlOiBSZTogRERvUyBwcm90ZWN0aW9uDQo+Pj4gDQo+Pj4gSGks
DQo+Pj4gDQo+Pj4gVGhhbmtzIGZvciB5b3VyIHJlcGxpZXMuDQo+Pj4gDQo+Pj4gTm90ZWQg
dGhlIHBvaW50cyByYWlzZWQgYnkgSmFjaW50IGFuZCBLZWxseSBLZWV0b24uIEkgYXBwcmVj
aWF0ZSB0aGF0Lg0KPj4+IA0KPj4+IE1heSBJIGJlIGtpbmQgdG8gc2VlayBhbiBvcGluaW9u
LyBhcmd1bWVudHMgc3VnZ2VzdGluZyBpZiB0aGUgSW4taG91c2UgYXBwbGlhbmNlcyBhcmUg
bW9yZSAiaW50ZWxsaWdlbnQiIHRod2FydGluZyB0aGUgYXBwbGljYXRpb24gbGV2ZWwgRE9T
LyBERG9TIGF0dGFja3MgYXMgY29tcGFyZWQgdG8gSVNQIHByb3ZpZGVkIERPUyBwcm90ZWN0
aW9uIHdoZXJlaW4gaXQgbWF5IGV2ZW4gZmFpbCB0byBkZXRlY3QgdGhlbS4gb3IgaWYgdGhl
cmUgYXJlIG90aGVyIGJlbmVmaXRzIG93bmluZyBhbiBJbi1ob3VzZSBwcm9kdWN0Pw0KPj4+
IA0KPj4+IEFzIGZhciBhcyBDb25zIGFyZSBjb25jZXJuZWQsIEkgZmVlbCB0aGF0IHRoZSBh
cHBsaWFuY2UgbWF5IGFkZCBzb21lIGxhdGVuY3kgd2hpY2ggbWF5IGNyZWF0ZSBpc3N1ZXMg
d2hlcmVpbiBhIGxhdGVuY3kgb2YgbWlsbGlzZWNvbmRzIGNvdW50Lg0KPj4+IA0KPj4+IEFs
dGhvdWdoIHdlJ3JlIHNtYWxsLCBXZSdyZSBhbiBvcmdhbml6YXRpb24gcGxheWluZyB3aXRo
ICgkLMKlLOKCrCzCoykgZXhjaGFuZ2VzIGFuZCBoZWF2aWx5IHJlZ3VsYXRlZCBieSB0aGUg
R292ZXJubWVudC4NCj4+PiANCj4+PiBUaGFua3MsDQo+Pj4gS1QNCj4+PiANCj4+PiAtLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLQ0KPj4+IC0tLS0gU2VjdXJpbmcgQXBhY2hlIFdlYiBTZXJ2ZXIgd2l0aCB0
aGF3dGUgRGlnaXRhbCBDZXJ0aWZpY2F0ZSBJbiANCj4+PiB0aGlzIGd1aWRlIHdlIGV4YW1p
bmUgdGhlIGltcG9ydGFuY2Ugb2YgQXBhY2hlLVNTTCBhbmQgd2hvIG5lZWRzIGFuIFNTTCBj
ZXJ0aWZpY2F0ZS4gIFdlIGxvb2sgYXQgaG93IFNTTCB3b3JrcywgaG93IGl0IGJlbmVmaXRz
IHlvdXIgY29tcGFueSBhbmQgaG93IHlvdXIgY3VzdG9tZXJzIGNhbiB0ZWxsIGlmIGEgc2l0
ZSBpcyBzZWN1cmUuIFlvdSB3aWxsIGZpbmQgb3V0IGhvdyB0byB0ZXN0LCBwdXJjaGFzZSwg
aW5zdGFsbCBhbmQgdXNlIGEgdGhhd3RlIERpZ2l0YWwgQ2VydGlmaWNhdGUgb24geW91ciBB
cGFjaGUgd2ViIHNlcnZlci4gVGhyb3VnaG91dCwgYmVzdCBwcmFjdGljZXMgZm9yIHNldC11
cCBhcmUgaGlnaGxpZ2h0ZWQgdG8gaGVscCB5b3UgZW5zdXJlIGVmZmljaWVudCBvbmdvaW5n
IG1hbmFnZW1lbnQgb2YgeW91ciBlbmNyeXB0aW9uIGtleXMgYW5kIGRpZ2l0YWwgY2VydGlm
aWNhdGVzLg0KPj4+IA0KPj4+IGh0dHA6Ly93d3cuZGluY2xpbnguY29tL1JlZGlyZWN0LmFz
cHg/MzY7NDE3NTsyNTsxMzcxOzA7NTs5NDY7ZTEzYjZiDQo+Pj4gZTQ0MmY3MjdkMQ0KPj4+
IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tDQo+Pj4gLS0tLQ0KPj4+IA0KPj4+IA0KPj4+IENPTkZJREVOVElB
TElUWSBOT1RJQ0U6IFRoaXMgZW1haWwgY29tbXVuaWNhdGlvbiBhbmQgYW55IGF0dGFjaG1l
bnRzIA0KPj4+IG1heSBjb250YWluIGNvbmZpZGVudGlhbCBhbmQgcHJpdmlsZWdlZCBpbmZv
cm1hdGlvbiBmb3IgdGhlIHVzZSBvZiANCj4+PiB0aGUgZGVzaWduYXRlZCByZWNpcGllbnRz
IG5hbWVkIGFib3ZlLiBJZiB5b3UgYXJlIG5vdCB0aGUgaW50ZW5kZWQgDQo+Pj4gcmVjaXBp
ZW50LCB5b3UgYXJlIGhlcmVieSBub3RpZmllZCB0aGF0IHlvdSBoYXZlIHJlY2VpdmVkIHRo
aXMgDQo+Pj4gY29tbXVuaWNhdGlvbiBpbiBlcnJvciBhbmQgdGhhdCBhbnkgcmV2aWV3LCBk
aXNjbG9zdXJlLCANCj4+PiBkaXNzZW1pbmF0aW9uLCBkaXN0cmlidXRpb24gb3IgY29weWlu
ZyBvZiBpdCBvciBpdHMgY29udGVudHMgaXMgDQo+Pj4gcHJvaGliaXRlZC4gSWYgeW91IGhh
dmUgcmVjZWl2ZWQgdGhpcyBjb21tdW5pY2F0aW9uIGluIGVycm9yLCBwbGVhc2UgDQo+Pj4g
cmVwbHkgdG8gdGhlIHNlbmRlciBpbW1lZGlhdGVseSBvciBieSB0ZWxlcGhvbmUgYXQgKDYx
NykgNDI2LTA2MDAgYW5kIGRlc3Ryb3kgYWxsIGNvcGllcyBvZiB0aGlzIGNvbW11bmljYXRp
b24gYW5kIGFueSBhdHRhY2htZW50cy4gRm9yIGZ1cnRoZXIgaW5mb3JtYXRpb24gcmVnYXJk
aW5nIENvbW1vbndlYWx0aCBDYXJlIEFsbGlhbmNlJ3MgcHJpdmFjeSBwb2xpY3ksIHBsZWFz
ZSB2aXNpdCBvdXIgSW50ZXJuZXQgd2ViIHNpdGUgYXQgaHR0cDovL3d3dy5jb21tb253ZWFs
dGhjYXJlLm9yZy4NCj4+PiANCj4gDQo+IA0KPiANCj4gLS0NCj4gTGF3cyBhbG9uZSBjYW5u
b3Qgc2VjdXJlIGZyZWVkb20gb2YgZXhwcmVzc2lvbjsgaW4gb3JkZXIgdGhhdCBldmVyeSAN
Cj4gbWFuIHByZXNlbnQgaGlzIHZpZXdzIHdpdGhvdXQgcGVuYWx0eSB0aGVyZSBtdXN0IGJl
IHNwaXJpdCBvZiANCj4gdG9sZXJhbmNlIGluIHRoZSBlbnRpcmUgcG9wdWxhdGlvbi4gLSBB
bGJlcnQgRWluc3RlaW4NCj4gDQo+IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4gLS0gU2VjdXJpbmcg
QXBhY2hlIFdlYiBTZXJ2ZXIgd2l0aCB0aGF3dGUgRGlnaXRhbCBDZXJ0aWZpY2F0ZSBJbiB0
aGlzIA0KPiBndWlkZSB3ZSBleGFtaW5lIHRoZSBpbXBvcnRhbmNlIG9mIEFwYWNoZS1TU0wg
YW5kIHdobyBuZWVkcyBhbiBTU0wgY2VydGlmaWNhdGUuICBXZSBsb29rIGF0IGhvdyBTU0wg
d29ya3MsIGhvdyBpdCBiZW5lZml0cyB5b3VyIGNvbXBhbnkgYW5kIGhvdyB5b3VyIGN1c3Rv
bWVycyBjYW4gdGVsbCBpZiBhIHNpdGUgaXMgc2VjdXJlLiBZb3Ugd2lsbCBmaW5kIG91dCBo
b3cgdG8gdGVzdCwgcHVyY2hhc2UsIGluc3RhbGwgYW5kIHVzZSBhIHRoYXd0ZSBEaWdpdGFs
IENlcnRpZmljYXRlIG9uIHlvdXIgQXBhY2hlIHdlYiBzZXJ2ZXIuIFRocm91Z2hvdXQsIGJl
c3QgcHJhY3RpY2VzIGZvciBzZXQtdXAgYXJlIGhpZ2hsaWdodGVkIHRvIGhlbHAgeW91IGVu
c3VyZSBlZmZpY2llbnQgb25nb2luZyBtYW5hZ2VtZW50IG9mIHlvdXIgZW5jcnlwdGlvbiBr
ZXlzIGFuZCBkaWdpdGFsIGNlcnRpZmljYXRlcy4NCj4gDQo+IGh0dHA6Ly93d3cuZGluY2xp
bnguY29tL1JlZGlyZWN0LmFzcHg/MzY7NDE3NTsyNTsxMzcxOzA7NTs5NDY7ZTEzYjZiZTQN
Cj4gNDJmNzI3ZDENCj4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiAtLQ0KPiANCj4gDQoNCg0KDQot
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0NClNlY3VyaW5nIEFwYWNoZSBXZWIgU2VydmVyIHdpdGggdGhh
d3RlIERpZ2l0YWwgQ2VydGlmaWNhdGUgSW4gdGhpcyBndWlkZSB3ZSBleGFtaW5lIHRoZSBp
bXBvcnRhbmNlIG9mIEFwYWNoZS1TU0wgYW5kIHdobyBuZWVkcyBhbiBTU0wgY2VydGlmaWNh
dGUuICBXZSBsb29rIGF0IGhvdyBTU0wgd29ya3MsIGhvdyBpdCBiZW5lZml0cyB5b3VyIGNv
bXBhbnkgYW5kIGhvdyB5b3VyIGN1c3RvbWVycyBjYW4gdGVsbCBpZiBhIHNpdGUgaXMgc2Vj
dXJlLiBZb3Ugd2lsbCBmaW5kIG91dCBob3cgdG8gdGVzdCwgcHVyY2hhc2UsIGluc3RhbGwg
YW5kIHVzZSBhIHRoYXd0ZSBEaWdpdGFsIENlcnRpZmljYXRlIG9uIHlvdXIgQXBhY2hlIHdl
YiBzZXJ2ZXIuIFRocm91Z2hvdXQsIGJlc3QgcHJhY3RpY2VzIGZvciBzZXQtdXAgYXJlIGhp
Z2hsaWdodGVkIHRvIGhlbHAgeW91IGVuc3VyZSBlZmZpY2llbnQgb25nb2luZyBtYW5hZ2Vt
ZW50IG9mIHlvdXIgZW5jcnlwdGlvbiBrZXlzIGFuZCBkaWdpdGFsIGNlcnRpZmljYXRlcy4N
Cg0KaHR0cDovL3d3dy5kaW5jbGlueC5jb20vUmVkaXJlY3QuYXNweD8zNjs0MTc1OzI1OzEz
NzE7MDs1Ozk0NjtlMTNiNmJlNDQyZjcyN2QxDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0KDQoN
Ci0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpUaGUgaW5mb3Jt
YXRpb24gY29udGFpbmVkIGluIHRoaXMgZS1tYWlsLCBpbmNsdWRpbmcgYW55IGF0dGFjaG1l
bnQocyksIGlzIGludGVuZGVkIHNvbGVseSBmb3IgdXNlIGJ5IHRoZSBuYW1lZCBhZGRyZXNz
ZWUocykuICBJZiB5b3UgYXJlIG5vdCB0aGUgaW50ZW5kZWQgcmVjaXBpZW50LCBvciBhIHBl
cnNvbiBkZXNpZ25hdGVkIGFzIHJlc3BvbnNpYmxlIGZvciBkZWxpdmVyaW5nIHN1Y2ggbWVz
c2FnZXMgdG8gdGhlIGludGVuZGVkIHJlY2lwaWVudCwgeW91IGFyZSBub3QgYXV0aG9yaXpl
ZCB0byBkaXNjbG9zZSwgY29weSwgZGlzdHJpYnV0ZSBvciByZXRhaW4gdGhpcyBtZXNzYWdl
LCBpbiB3aG9sZSBvciBpbiBwYXJ0LCB3aXRob3V0IHdyaXR0ZW4gYXV0aG9yaXphdGlvbiBm
cm9tIFBTRUcuICBUaGlzIGUtbWFpbCBtYXkgY29udGFpbiBwcm9wcmlldGFyeSwgY29uZmlk
ZW50aWFsIG9yIHByaXZpbGVnZWQgaW5mb3JtYXRpb24uIElmIHlvdSBoYXZlIHJlY2VpdmVk
IHRoaXMgbWVzc2FnZSBpbiBlcnJvciwgcGxlYXNlIG5vdGlmeSB0aGUgc2VuZGVyIGltbWVk
aWF0ZWx5LiBUaGlzIG5vdGljZSBpcyBpbmNsdWRlZCBpbiBhbGwgZS1tYWlsIG1lc3NhZ2Vz
IGxlYXZpbmcgUFNFRy4gIFRoYW5rIHlvdSBmb3IgeW91ciBjb29wZXJhdGlvbi4NCg0KVGhp
cyBlLW1haWwgYW5kIGFueSBmaWxlcyB0cmFuc21pdHRlZCB3aXRoIGl0IGFyZSBjb25maWRl
bnRpYWwgYW5kDQppbnRlbmRlZCBzb2xlbHkgZm9yIHRoZSB1c2Ugb2YgdGhlIGluZGl2aWR1
YWwgb3IgZW50aXR5IHRvIHdob20gdGhleQ0KYXJlIGFkZHJlc3NlZC4gSWYgeW91IGhhdmUg
cmVjZWl2ZWQgdGhpcyBlbWFpbCBpbiBlcnJvciBwbGVhc2Ugbm90aWZ5DQp0aGUgc2VuZGVy
IGJ5IHJlcGx5aW5nIHRvIHRoaXMgZS1tYWlsLg0KDQpSZXBsaWVzIHRvIHRoaXMgZW1haWwg
bWF5IGJlIG1vbml0b3JlZCBieSB0aGUgSGF5bWFya2V0IEdyb3VwDQpmb3Igb3BlcmF0aW9u
YWwgb3IgYnVzaW5lc3MgcmVhc29ucy4gDQoNCldoaWxzdCBldmVyeSBlbmRlYXZvdXIgaXMg
dGFrZW4gdG8gZW5zdXJlIHRoYXQgZS1tYWlscyBhcmUgZnJlZSBmcm9tDQp2aXJ1c2VzLCBu
byBsaWFiaWxpdHkgY2FuIGJlIGFjY2VwdGVkIGFuZCB0aGUgcmVjaXBpZW50IGlzIHJlcXVl
c3RlZA0KdG8gdXNlIHRoZWlyIG93biB2aXJ1cyBjaGVja2luZyBzb2Z0d2FyZS4gDQoNCnd3
dy5oYXltYXJrZXQuY29tDQoNCkhheW1hcmtldCBNZWRpYSBHcm91cCBMaW1pdGVkDQpSZWdp
c3RlcmVkIGluIEVuZ2xhbmQgbm8uIDI2NzE4OQ0KUmVnaXN0ZXJlZCBPZmZpY2U6IFRlZGRp
bmd0b24gU3R1ZGlvcywgQnJvb20gUm9hZCwgVGVkZGluZ3RvbiwgTWlkZGxlc2V4LCBUVzEx
IDlCRQ0KDQo=