RE: DDoS protection

"Mikhail A. Utin" <[email protected]> Mon, 23 Jun 2014 12:02:23 -0400
Newsgroups gmane.comp.security.basics
Message-ID <025B5895F8BCCC40AC35F6CD6D972B1C1EBA24A78E@cca-mail1.commonwealthcare.org>
SGVsbG8sDQpZZXMsIGFsbCBoYXMgYmVlbiBrbm93biBmb3IgYSB3aGlsZS4gSSBnb3QgdHdv
IHByZXNlbnRhdGlvbnMgZGlzY3Vzc2luZyBwYXJ0aWFsbHkgImNsb3VkIiBtYXR0ZXIgYXQg
T1dBU1AgQXBwU2VjIERDIDIwMTIgYW5kIERlZXBTZWMgMjAxMiBhbmQgMjAxMy4NCllvdSBj
YW4gY2hlY2sgYm90aCBmb3IgcHJlc2VudGF0aW9ucyBvciBhc2sgbWUgcGVyc29uYWxseS4N
CkJhc2ljYWxseSwgYWxsICJjbG91ZHMiIGFyZSBzaW1wbHkgYXBwbGljYXRpb24gaG9zdGlu
ZyB3ZWIgc2l0ZXMuIEFuZCB0ZWNobmljYWxseSBhICJjbG91ZCIgaXMgYSBkYXRhY2VudGVy
LiBXaGV0aGVyIHN1Y2ggYXBwIGlzIGEgdmlydHVhbCBuZXR3b3JrIG9yIE1vbSZEYWQgUGl6
emEgc2hvcCBIVE1MIHNpdGUgZG9lcyBub3QgbWF0dGVyLg0KU28gbmFtZWQgImNsb3VkIGNv
bXB1dGluZyBjb25jZXB0IiBoYXMgbm90aGluZyBpbiBjb21tb24gd2l0aCBjb21wdXRpbmcs
IGFuZCBub3QgYSBjb25jZXB0IGF0IGFsbC4gTW9kZWxzIGFyZSB1c2VsZXNzIGFuZCBpbiBz
dWNoIGNhc2UgYXMgIkNvbW11bml0eSBDbG91ZCIgYW5kICJIeWJyaWQgQ2xvdWQiIGlzIGxl
Z2FsIG5vbnNlbnNlLCBzaW1wbHkgYmVjYXVzZSBhIHNlcnZpY2UgcHJvdmlkZXIgY2Fubm90
IGhhdmUgbGVnYWwgYmluZGluZyByZWxhdGlvbnNoaXAgKGFrYSBhIGNvbnRyYWN0KSB3aXRo
IGEgY29tbXVuaXR5LCB3aGljaCBpcyBub3QgYSBsZWdhbCBlbnRpdHkuDQpJIHRyaWVkIHRv
IGRpZyBvdXQgd2hlcmUgImNsb3VkIiBjYW1lIGZyb20uIEl0IGlzIGFuIGludmVudGlvbiBv
ZiBJQk0gY2lyY2xlIGNvbXBhbmllcyBob3N0aW5nIHNpdGUgcmVzZWxsaW5nIElCTSBzZXJ2
aWNlcy4gQW5kIGluIGVzc2VuY2UgaXMgdGhlIHJlcGxhY2VtZW50IG9mIEdvb2dsZSBhbmQg
bmV4dCBJQk0gZnVuZGVkIGFjYWRlbWljIGNsdXN0ZXIgcHJvamVjdCAiQWNhZGVtaWEgQ2x1
c3RlciBDb21wdXRpbmcgSW5pdGlhdGl2ZSIgb3IgQUNDSSwgc2VlOiBMZXQgYSBUaG91c2Fu
ZCBzZXJ2ZXJzIGJsb29tIOKAkyBHb29nbGUgb2ZmaWNpYWwgcG9zdCwgUG9zdGVkIGJ5IENo
cmlzdG9waGUgQmlzY2lnbGlhLCBPY3RvYmVyIDgsIDIwMDcgaHR0cDovL2dvb2dsZWJsb2cu
YmxvZ3Nwb3QuY29tLzIwMDcvMTAvbGV0LXRob3VzYW5kLXNlcnZlcnMtYmxvb20uaHRtbA0K
SUJNIGNpcmNsZSBndXlzIHJlcGxhY2VkICJjbHVzdGVyIiB3aXRoICJjbG91ZCIgYW5kIHJl
bmFtZWQgQUNDSSBhcyAiQWNhZGVtaWEgQ2xvdWQgQ29tcHV0aW5nIEluaXRpYXRpdmUiLiBC
aW5nbyEgTmV4dCB0aGV5IG5lZWRlZCBzb21ldGhpbmcgbG9va2luZyBsaWtlIHNjaWVuY2Ug
aW4gYSBmb3JtIG9mICJtb2RlbHMiLg0KSG93ZXZlciwgZ3V5cyB2aW9sYXRlZCBHb29nbGUg
aW50ZWxsZWN0dWFsIHByb3BlcnR5IHJpZ2h0cyBvbiB0aGUgb3JpZ2luYWwgQUNDSSBwcm9q
ZWN0IG5hbWUuDQoNClJlZ2FyZHMNCg0KTWlraGFpbA0KDQoNCg0KLS0tLS1PcmlnaW5hbCBN
ZXNzYWdlLS0tLS0NCkZyb206IGxpc3Rib3VuY2VAc2VjdXJpdHlmb2N1cy5jb20gW21haWx0
bzpsaXN0Ym91bmNlQHNlY3VyaXR5Zm9jdXMuY29tXSBPbiBCZWhhbGYgT2YgU2FyZGluYSwg
RG9taW5pY2sNClNlbnQ6IEZyaWRheSwgSnVuZSAyMCwgMjAxNCAyOjQ5IFBNDQpUbzogc2Vj
dXJpdHktYmFzaWNzQHNlY3VyaXR5Zm9jdXMuY29tDQpTdWJqZWN0OiBSRTogRERvUyBwcm90
ZWN0aW9uDQoNCkJyZXR0LCBJIGhhdmUgdG8gYWdyZWUgMTAwJS4NCg0KDQpSZWdhcmRzLA0K
RG9taW5pY2sgDQoNCg0KLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCkZyb206IGxpc3Ri
b3VuY2VAc2VjdXJpdHlmb2N1cy5jb20gW21haWx0bzpsaXN0Ym91bmNlQHNlY3VyaXR5Zm9j
dXMuY29tXSBPbiBCZWhhbGYgT2YgV2FnbmVyLCBCcmV0dA0KU2VudDogRnJpZGF5LCBKdW5l
IDIwLCAyMDE0IDEyOjU3IFBNDQpUbzogSGFydGxleSwgQ2hyaXN0b3BoZXIgSi47IEtlbGxz
dHINCkNjOiBzZWN1cml0eS1iYXNpY3NAc2VjdXJpdHlmb2N1cy5jb20NClN1YmplY3Q6IFJF
OiBERG9TIHByb3RlY3Rpb24NCg0KSU1ITyAtIEkgYW0gbm90IGEgZmFuIG9mIGFsbCB0aGUg
bXVtYm8ganVtYm8gdGhhdCBnb2VzIGFsb25nIHdpdGggdGhlICJDbG91ZCIgbGlrZSBpdCBp
cyBhIG5ldyBpbnZlbnRpb24uIEkgd29ya2VkIGF0IEdURS9CQk4gaW4gMTk5OSBhbmQgd2Ug
d2VyZSBzZWxsaW5nIGFsbCB0aGUgc2FtZSBjcmFwIGJhY2sgdGhlbi4gV2l0aCB0aGF0IHNh
aWQgYW5kIGhhdmluZyB3b3JrZWQgYXQgRU1DIGZvciBhIHdoaWxlIHlvdSBjYW4gaGF2ZSBh
ICJDbG91ZCIgb24gcHJlbWlzZXMganVzdCBtZWFucyB5b3UgaGF2ZSB0aGUgaGFyZHdhcmUg
aW4gb25lIG9mIHlvdXIgY29tcGFueSBsb2NhdGlvbnMuIFlvdSBjYW4gaGF2ZSBwcml2YXRl
LCBzaGFyZWQsIHB1YmxpYyBvciBhIGNvbWJvLiANCg0KSXQgaXMgdGhlIHNhbWUgZXZvbHV0
aW9uIGFzIElUIHNlY3VyaXR5IGNpcmNhIDE5NzAtODBzIChSYWluYm93IEJvb2sgU2VyaWVz
IGRheXMpLCB0aGVuIEluZm9ybWF0aW9uIFNlY3VyaXR5IGNpcmNhIDE5OTBzLCB0aGVuIElu
Zm9ybWF0aW9uIEFzc3VyYW5jZSBjaXJjYSBsYXRlIDkwcyBlYXJseSAyMDAwcyBhbmQgbm93
IEN5YmVyIFNlY3VyaXR5LiBXaXRoIGVhY2ggbmFtZSBjaGFuZ2UgY29uc3VsdGFudHMgYW5k
IGNvbXBhbmllcyBjYW4gY2hhcmdlIG1vcmUgZm9yIHRoZSBzYW1lIHVsdGltYXRlIGdvYWwg
d2l0aCBlYWNoIG5hbWUgY2hhbmdlLg0KDQpPSyBJIHdpbGwgbm93IGdldCBvZmYgbXkgc29h
cGJveC4NCi0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQpGcm9tOiBsaXN0Ym91bmNlQHNl
Y3VyaXR5Zm9jdXMuY29tIFttYWlsdG86bGlzdGJvdW5jZUBzZWN1cml0eWZvY3VzLmNvbV0g
T24gQmVoYWxmIE9mIEhhcnRsZXksIENocmlzdG9waGVyIEouDQpTZW50OiBGcmlkYXksIEp1
bmUgMjAsIDIwMTQgMTA6NDggQU0NClRvOiBLZWxsc3RyDQpDYzogc2VjdXJpdHktYmFzaWNz
QHNlY3VyaXR5Zm9jdXMuY29tDQpTdWJqZWN0OiBSZTogRERvUyBwcm90ZWN0aW9uDQoNClRo
aXMgaXMgYSBsaXR0bGUgY29uZnVzaW5nOyDigJxjbG91ZOKAnSwg4oCcb24tcHJlbWlzZeKA
nSBldGPigKYgd2VpcmQuDQoNCkJ5IOKAnENsb3VkLOKAnSBpdCBzZWVtIGxpa2Ugd2UgbWVh
biDigJxieSBwcm92aWRlcuKAnSAobWFrZXMgc2Vuc2UpLg0KDQpPbi1wcmVtaXNlIGlzIHRo
ZSBiZXN0IHdheSB0byBkZXRlY3QgYW4gYXR0YWNrIGltbywgc2luY2UgdGhlIHZpY3RpbSBu
ZXR3b3JrIGtub3dzIHdoYXTigJlzIGdvb2QgYW5kIHdoYXTigJlzIG5vdCAob3Igc2hvdWxk
4oCmLikuDQoNClNvIEkgdGhpbmsgdGhlIGJlc3Qgc29sdXRpb24gaW52b2x2ZXMgc29tZSBr
aW5kIG9mIHJlbW90ZSBibGFja2hvbGUgb3IgaWRlYWxseSwgcGVyaGFwcyBmbG93c3BlYy4N
Cg0KSSBkb27igJl0IHRoaW5rIGl04oCZcyBhIHByb2JsZW0gdGhhdCByZXF1aXJlcyBzcGVu
ZGluZyBzaWduaWZpY2FudCBtb25leS4NCg0KQ2hyaXMNCg0KT24gSnVuIDE5LCAyMDE0LCBh
dCAxMjo1MCBQTSwgS2VsbHN0ciA8a2VsbHN0ckBnbWFpbC5jb20+IHdyb3RlOg0KDQo+IERp
c2NsYWltZXI6IEkgd29yayBmb3IgYSBjb21wYW55IHdoaWNoIG9mZmVycyBhIEREb1MgUHJv
dGVjdGlvbiBTZXJ2aWNlLg0KPiANCj4gVGhlIGFkdmFudGFnZSBvZiBhIHNlcnZpY2UgImlu
IHRoZSBjbG91ZCIgaXMgdGhhdCBpZiBhbiBhdHRhY2sgZXhjZWVkcyANCj4geW91ciBjaXJj
dWl0IGJhbmR3aWR0aCB0aGUgcHJvdmlkZXIgd2lsbCBiZSBhYmxlIHRvIGRyb3AgdGhlIG1h
bGljaW91cyANCj4gdHJhZmZpYy4gVGhhdCBjYW5ub3QgYmUgZG9uZSBhdCB5b3VyIHByZW1p
c2UuIEJvdGggQXJib3IgYW5kIFJhZHdhcmUgDQo+IG9mZmVyIHN0cm9uZyBhcHBsaWFuY2Vz
IHRoYXQgY2FuIGNsZWFuIHVwIHNtYWxsZXIgYXR0YWNrcyBhdCB5b3VyIA0KPiBwcmVtaXNl
IGFuZCBjYW4gc2VuZCBhIHNpZ25hbCB0byB0aGUgcHJvdmlkZXIgaWYgdGhleSBzdXBwb3J0
IHRoYXQgDQo+IHNlcnZpY2UuIFlvdSBjYW4gYmxvY2sgdHJhZmZpYyB1c2luZyBJUFMncyBi
dXQga2VlcCBpbiBtaW5kIHRoZXkgYXJlIA0KPiBub3QgZGVzaWduZWQgZm9yIGEgdm9sdW1l
dHJpYyBhdHRhY2sgYW5kIG1heSBiZSBvdmVyd2hlbG1lZC4NCj4gDQo+IE9uIFdlZCwgSnVu
IDE4LCAyMDE0IGF0IDExOjEwIEFNLCBMYW5jZSBMYXNzZXR0ZXIgDQo+IDxsYW5jZWxhc3Nl
dHRlckBnbWFpbC5jb20+IHdyb3RlOg0KPj4gV2hhdCBhYm91dCBTdXJpY2F0YSBvciBTbm9y
dCBJRFMgaW4gSVBTIG1vZGU/DQo+PiANCj4+IE9uIEp1biAxOCwgMjAxNCA4OjQzIEFNLCAi
TWlraGFpbCBBLiBVdGluIiA8bXV0aW5AY29tbW9ud2VhbHRoY2FyZS5vcmc+IHdyb3RlOg0K
Pj4+IA0KPj4+IEFzIHlvdSBpbmRpY2F0ZWQgIiBBbHRob3VnaCB3ZSdyZSBzbWFsbCwgV2Un
cmUgYW4gb3JnYW5pemF0aW9uIHBsYXlpbmcgd2l0aCAoJCzCpSzigqwswqMpIGV4Y2hhbmdl
cyIgeW91IGFyZSBvbiBjbGllbnQgc2lkZSByYXRoZXIgdGhhbiBvbiBzZXJ2ZXIuIElmIHRo
YXQgaXMgcmlnaHQsIHlvdSBkbyBub3QgbmVlZCB0byBib3RoZXIgd2l0aCBERG9TIHByb3Rl
Y3Rpb24sIHdoaWNoIGlzIGFnYWluc3Qgc2VydmVyIHNpZGUuDQo+Pj4gTWlraGFpbA0KPj4+
IA0KPj4+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+Pj4gRnJvbTogbGlzdGJvdW5j
ZUBzZWN1cml0eWZvY3VzLmNvbQ0KPj4+IFttYWlsdG86bGlzdGJvdW5jZUBzZWN1cml0eWZv
Y3VzLmNvbV0gT24gQmVoYWxmIE9mIA0KPj4+IGthcnRpay5uZXRlY0BnbWFpbC5jb20NCj4+
PiBTZW50OiBXZWRuZXNkYXksIEp1bmUgMTgsIDIwMTQgMTI6NDkgQU0NCj4+PiBUbzogc2Vj
dXJpdHktYmFzaWNzQHNlY3VyaXR5Zm9jdXMuY29tDQo+Pj4gU3ViamVjdDogUmU6IFJlOiBE
RG9TIHByb3RlY3Rpb24NCj4+PiANCj4+PiBIaSwNCj4+PiANCj4+PiBUaGFua3MgZm9yIHlv
dXIgcmVwbGllcy4NCj4+PiANCj4+PiBOb3RlZCB0aGUgcG9pbnRzIHJhaXNlZCBieSBKYWNp
bnQgYW5kIEtlbGx5IEtlZXRvbi4gSSBhcHByZWNpYXRlIHRoYXQuDQo+Pj4gDQo+Pj4gTWF5
IEkgYmUga2luZCB0byBzZWVrIGFuIG9waW5pb24vIGFyZ3VtZW50cyBzdWdnZXN0aW5nIGlm
IHRoZSBJbi1ob3VzZSBhcHBsaWFuY2VzIGFyZSBtb3JlICJpbnRlbGxpZ2VudCIgdGh3YXJ0
aW5nIHRoZSBhcHBsaWNhdGlvbiBsZXZlbCBET1MvIEREb1MgYXR0YWNrcyBhcyBjb21wYXJl
ZCB0byBJU1AgcHJvdmlkZWQgRE9TIHByb3RlY3Rpb24gd2hlcmVpbiBpdCBtYXkgZXZlbiBm
YWlsIHRvIGRldGVjdCB0aGVtLiBvciBpZiB0aGVyZSBhcmUgb3RoZXIgYmVuZWZpdHMgb3du
aW5nIGFuIEluLWhvdXNlIHByb2R1Y3Q/DQo+Pj4gDQo+Pj4gQXMgZmFyIGFzIENvbnMgYXJl
IGNvbmNlcm5lZCwgSSBmZWVsIHRoYXQgdGhlIGFwcGxpYW5jZSBtYXkgYWRkIHNvbWUgbGF0
ZW5jeSB3aGljaCBtYXkgY3JlYXRlIGlzc3VlcyB3aGVyZWluIGEgbGF0ZW5jeSBvZiBtaWxs
aXNlY29uZHMgY291bnQuDQo+Pj4gDQo+Pj4gQWx0aG91Z2ggd2UncmUgc21hbGwsIFdlJ3Jl
IGFuIG9yZ2FuaXphdGlvbiBwbGF5aW5nIHdpdGggKCQswqUs4oKsLMKjKSBleGNoYW5nZXMg
YW5kIGhlYXZpbHkgcmVndWxhdGVkIGJ5IHRoZSBHb3Zlcm5tZW50Lg0KPj4+IA0KPj4+IFRo
YW5rcywNCj4+PiBLVA0KPj4+IA0KPj4+IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+Pj4gLS0tLSBTZWN1
cmluZyBBcGFjaGUgV2ViIFNlcnZlciB3aXRoIHRoYXd0ZSBEaWdpdGFsIENlcnRpZmljYXRl
IEluIA0KPj4+IHRoaXMgZ3VpZGUgd2UgZXhhbWluZSB0aGUgaW1wb3J0YW5jZSBvZiBBcGFj
aGUtU1NMIGFuZCB3aG8gbmVlZHMgYW4gU1NMIGNlcnRpZmljYXRlLiAgV2UgbG9vayBhdCBo
b3cgU1NMIHdvcmtzLCBob3cgaXQgYmVuZWZpdHMgeW91ciBjb21wYW55IGFuZCBob3cgeW91
ciBjdXN0b21lcnMgY2FuIHRlbGwgaWYgYSBzaXRlIGlzIHNlY3VyZS4gWW91IHdpbGwgZmlu
ZCBvdXQgaG93IHRvIHRlc3QsIHB1cmNoYXNlLCBpbnN0YWxsIGFuZCB1c2UgYSB0aGF3dGUg
RGlnaXRhbCBDZXJ0aWZpY2F0ZSBvbiB5b3VyIEFwYWNoZSB3ZWIgc2VydmVyLiBUaHJvdWdo
b3V0LCBiZXN0IHByYWN0aWNlcyBmb3Igc2V0LXVwIGFyZSBoaWdobGlnaHRlZCB0byBoZWxw
IHlvdSBlbnN1cmUgZWZmaWNpZW50IG9uZ29pbmcgbWFuYWdlbWVudCBvZiB5b3VyIGVuY3J5
cHRpb24ga2V5cyBhbmQgZGlnaXRhbCBjZXJ0aWZpY2F0ZXMuDQo+Pj4gDQo+Pj4gaHR0cDov
L3d3dy5kaW5jbGlueC5jb20vUmVkaXJlY3QuYXNweD8zNjs0MTc1OzI1OzEzNzE7MDs1Ozk0
NjtlMTNiNmINCj4+PiBlNDQyZjcyN2QxDQo+Pj4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4+PiAtLS0t
DQo+Pj4gDQo+Pj4gDQo+Pj4gQ09ORklERU5USUFMSVRZIE5PVElDRTogVGhpcyBlbWFpbCBj
b21tdW5pY2F0aW9uIGFuZCBhbnkgYXR0YWNobWVudHMgDQo+Pj4gbWF5IGNvbnRhaW4gY29u
ZmlkZW50aWFsIGFuZCBwcml2aWxlZ2VkIGluZm9ybWF0aW9uIGZvciB0aGUgdXNlIG9mIA0K
Pj4+IHRoZSBkZXNpZ25hdGVkIHJlY2lwaWVudHMgbmFtZWQgYWJvdmUuIElmIHlvdSBhcmUg
bm90IHRoZSBpbnRlbmRlZCANCj4+PiByZWNpcGllbnQsIHlvdSBhcmUgaGVyZWJ5IG5vdGlm
aWVkIHRoYXQgeW91IGhhdmUgcmVjZWl2ZWQgdGhpcyANCj4+PiBjb21tdW5pY2F0aW9uIGlu
IGVycm9yIGFuZCB0aGF0IGFueSByZXZpZXcsIGRpc2Nsb3N1cmUsIA0KPj4+IGRpc3NlbWlu
YXRpb24sIGRpc3RyaWJ1dGlvbiBvciBjb3B5aW5nIG9mIGl0IG9yIGl0cyBjb250ZW50cyBp
cyANCj4+PiBwcm9oaWJpdGVkLiBJZiB5b3UgaGF2ZSByZWNlaXZlZCB0aGlzIGNvbW11bmlj
YXRpb24gaW4gZXJyb3IsIHBsZWFzZSANCj4+PiByZXBseSB0byB0aGUgc2VuZGVyIGltbWVk
aWF0ZWx5IG9yIGJ5IHRlbGVwaG9uZSBhdCAoNjE3KSA0MjYtMDYwMCBhbmQgZGVzdHJveSBh
bGwgY29waWVzIG9mIHRoaXMgY29tbXVuaWNhdGlvbiBhbmQgYW55IGF0dGFjaG1lbnRzLiBG
b3IgZnVydGhlciBpbmZvcm1hdGlvbiByZWdhcmRpbmcgQ29tbW9ud2VhbHRoIENhcmUgQWxs
aWFuY2UncyBwcml2YWN5IHBvbGljeSwgcGxlYXNlIHZpc2l0IG91ciBJbnRlcm5ldCB3ZWIg
c2l0ZSBhdCBodHRwOi8vd3d3LmNvbW1vbndlYWx0aGNhcmUub3JnLg0KPj4+IA0KPiANCj4g
DQo+IA0KPiAtLQ0KPiBMYXdzIGFsb25lIGNhbm5vdCBzZWN1cmUgZnJlZWRvbSBvZiBleHBy
ZXNzaW9uOyBpbiBvcmRlciB0aGF0IGV2ZXJ5IA0KPiBtYW4gcHJlc2VudCBoaXMgdmlld3Mg
d2l0aG91dCBwZW5hbHR5IHRoZXJlIG11c3QgYmUgc3Bpcml0IG9mIA0KPiB0b2xlcmFuY2Ug
aW4gdGhlIGVudGlyZSBwb3B1bGF0aW9uLiAtIEFsYmVydCBFaW5zdGVpbg0KPiANCj4gLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLQ0KPiAtLSBTZWN1cmluZyBBcGFjaGUgV2ViIFNlcnZlciB3aXRoIHRo
YXd0ZSBEaWdpdGFsIENlcnRpZmljYXRlIEluIHRoaXMgDQo+IGd1aWRlIHdlIGV4YW1pbmUg
dGhlIGltcG9ydGFuY2Ugb2YgQXBhY2hlLVNTTCBhbmQgd2hvIG5lZWRzIGFuIFNTTCBjZXJ0
aWZpY2F0ZS4gIFdlIGxvb2sgYXQgaG93IFNTTCB3b3JrcywgaG93IGl0IGJlbmVmaXRzIHlv
dXIgY29tcGFueSBhbmQgaG93IHlvdXIgY3VzdG9tZXJzIGNhbiB0ZWxsIGlmIGEgc2l0ZSBp
cyBzZWN1cmUuIFlvdSB3aWxsIGZpbmQgb3V0IGhvdyB0byB0ZXN0LCBwdXJjaGFzZSwgaW5z
dGFsbCBhbmQgdXNlIGEgdGhhd3RlIERpZ2l0YWwgQ2VydGlmaWNhdGUgb24geW91ciBBcGFj
aGUgd2ViIHNlcnZlci4gVGhyb3VnaG91dCwgYmVzdCBwcmFjdGljZXMgZm9yIHNldC11cCBh
cmUgaGlnaGxpZ2h0ZWQgdG8gaGVscCB5b3UgZW5zdXJlIGVmZmljaWVudCBvbmdvaW5nIG1h
bmFnZW1lbnQgb2YgeW91ciBlbmNyeXB0aW9uIGtleXMgYW5kIGRpZ2l0YWwgY2VydGlmaWNh
dGVzLg0KPiANCj4gaHR0cDovL3d3dy5kaW5jbGlueC5jb20vUmVkaXJlY3QuYXNweD8zNjs0
MTc1OzI1OzEzNzE7MDs1Ozk0NjtlMTNiNmJlNA0KPiA0MmY3MjdkMQ0KPiAtLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tDQo+IC0tDQo+IA0KPiANCg0KDQoNCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KU2VjdXJp
bmcgQXBhY2hlIFdlYiBTZXJ2ZXIgd2l0aCB0aGF3dGUgRGlnaXRhbCBDZXJ0aWZpY2F0ZSBJ
biB0aGlzIGd1aWRlIHdlIGV4YW1pbmUgdGhlIGltcG9ydGFuY2Ugb2YgQXBhY2hlLVNTTCBh
bmQgd2hvIG5lZWRzIGFuIFNTTCBjZXJ0aWZpY2F0ZS4gIFdlIGxvb2sgYXQgaG93IFNTTCB3
b3JrcywgaG93IGl0IGJlbmVmaXRzIHlvdXIgY29tcGFueSBhbmQgaG93IHlvdXIgY3VzdG9t
ZXJzIGNhbiB0ZWxsIGlmIGEgc2l0ZSBpcyBzZWN1cmUuIFlvdSB3aWxsIGZpbmQgb3V0IGhv
dyB0byB0ZXN0LCBwdXJjaGFzZSwgaW5zdGFsbCBhbmQgdXNlIGEgdGhhd3RlIERpZ2l0YWwg
Q2VydGlmaWNhdGUgb24geW91ciBBcGFjaGUgd2ViIHNlcnZlci4gVGhyb3VnaG91dCwgYmVz
dCBwcmFjdGljZXMgZm9yIHNldC11cCBhcmUgaGlnaGxpZ2h0ZWQgdG8gaGVscCB5b3UgZW5z
dXJlIGVmZmljaWVudCBvbmdvaW5nIG1hbmFnZW1lbnQgb2YgeW91ciBlbmNyeXB0aW9uIGtl
eXMgYW5kIGRpZ2l0YWwgY2VydGlmaWNhdGVzLg0KDQpodHRwOi8vd3d3LmRpbmNsaW54LmNv
bS9SZWRpcmVjdC5hc3B4PzM2OzQxNzU7MjU7MTM3MTswOzU7OTQ2O2UxM2I2YmU0NDJmNzI3
ZDENCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQoNCg0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0NClRoZSBpbmZvcm1hdGlvbiBjb250YWluZWQgaW4gdGhpcyBl
LW1haWwsIGluY2x1ZGluZyBhbnkgYXR0YWNobWVudChzKSwgaXMgaW50ZW5kZWQgc29sZWx5
IGZvciB1c2UgYnkgdGhlIG5hbWVkIGFkZHJlc3NlZShzKS4gIElmIHlvdSBhcmUgbm90IHRo
ZSBpbnRlbmRlZCByZWNpcGllbnQsIG9yIGEgcGVyc29uIGRlc2lnbmF0ZWQgYXMgcmVzcG9u
c2libGUgZm9yIGRlbGl2ZXJpbmcgc3VjaCBtZXNzYWdlcyB0byB0aGUgaW50ZW5kZWQgcmVj
aXBpZW50LCB5b3UgYXJlIG5vdCBhdXRob3JpemVkIHRvIGRpc2Nsb3NlLCBjb3B5LCBkaXN0
cmlidXRlIG9yIHJldGFpbiB0aGlzIG1lc3NhZ2UsIGluIHdob2xlIG9yIGluIHBhcnQsIHdp
dGhvdXQgd3JpdHRlbiBhdXRob3JpemF0aW9uIGZyb20gUFNFRy4gIFRoaXMgZS1tYWlsIG1h
eSBjb250YWluIHByb3ByaWV0YXJ5LCBjb25maWRlbnRpYWwgb3IgcHJpdmlsZWdlZCBpbmZv
cm1hdGlvbi4gSWYgeW91IGhhdmUgcmVjZWl2ZWQgdGhpcyBtZXNzYWdlIGluIGVycm9yLCBw
bGVhc2Ugbm90aWZ5IHRoZSBzZW5kZXIgaW1tZWRpYXRlbHkuIFRoaXMgbm90aWNlIGlzIGlu
Y2x1ZGVkIGluIGFsbCBlLW1haWwgbWVzc2FnZXMgbGVhdmluZyBQU0VHLiAgVGhhbmsgeW91
IGZvciB5b3VyIGNvb3BlcmF0aW9uLg0KDQpDT05GSURFTlRJQUxJVFkgTk9USUNFOiBUaGlz
IGVtYWlsIGNvbW11bmljYXRpb24gYW5kIGFueSBhdHRhY2htZW50cyBtYXkgY29udGFpbiBj
b25maWRlbnRpYWwgDQphbmQgcHJpdmlsZWdlZCBpbmZvcm1hdGlvbiBmb3IgdGhlIHVzZSBv
ZiB0aGUgZGVzaWduYXRlZCByZWNpcGllbnRzIG5hbWVkIGFib3ZlLiBJZiB5b3UgYXJlIA0K
bm90IHRoZSBpbnRlbmRlZCByZWNpcGllbnQsIHlvdSBhcmUgaGVyZWJ5IG5vdGlmaWVkIHRo
YXQgeW91IGhhdmUgcmVjZWl2ZWQgdGhpcyBjb21tdW5pY2F0aW9uIA0KaW4gZXJyb3IgYW5k
IHRoYXQgYW55IHJldmlldywgZGlzY2xvc3VyZSwgZGlzc2VtaW5hdGlvbiwgZGlzdHJpYnV0
aW9uIG9yIGNvcHlpbmcgb2YgaXQgb3IgaXRzIA0KY29udGVudHMgaXMgcHJvaGliaXRlZC4g
SWYgeW91IGhhdmUgcmVjZWl2ZWQgdGhpcyBjb21tdW5pY2F0aW9uIGluIGVycm9yLCBwbGVh
c2UgcmVwbHkgdG8gdGhlIA0Kc2VuZGVyIGltbWVkaWF0ZWx5IG9yIGJ5IHRlbGVwaG9uZSBh
dCAoNjE3KSA0MjYtMDYwMCBhbmQgZGVzdHJveSBhbGwgY29waWVzIG9mIHRoaXMgY29tbXVu
aWNhdGlvbiANCmFuZCBhbnkgYXR0YWNobWVudHMuIEZvciBmdXJ0aGVyIGluZm9ybWF0aW9u
IHJlZ2FyZGluZyBDb21tb253ZWFsdGggQ2FyZSBBbGxpYW5jZSdzIHByaXZhY3kgcG9saWN5
LCANCnBsZWFzZSB2aXNpdCBvdXIgSW50ZXJuZXQgd2ViIHNpdGUgYXQgaHR0cDovL3d3dy5j
b21tb253ZWFsdGhjYXJlLm9yZy4NCg0K