SGkgQWxsLAoKSSBhcG9sb2dpemUgZm9yIGFza2luZyBhIHF1ZXN0aW9uIGFuZCBkaXNhcHBlYXJp bmcuIE5hdHVyYWxseSBhcyBJIHRyeQp0byBzdGFydCBhIHByb2plY3QsIGFib3V0IGEgamlsbGlv biBvdGhlciB0aGluZ3MgY29tZSB1cCBhbmQgc3RvcCBtZS4KClNvIGhlcmXigJlzIGEgYml0IG1v cmUgYWJvdXQgdGhlIGludGVuZGVkIHVzZS4gU3VwcGx5IHdpbGwgYmUgdXAgdG8gMjRWLAp1cCB0 byA0QS4gSSBkb27igJl0IGhhdmUgYSBmaW5hbCBQV00gc3BlZWQgeWV0LCBidXQgaXQgd2lsbCBw cm9iYWJseSBiZQphcm91bmQgMTBrSHouIFNvLCB3aXRoIHRoYXQga2luZCBvZiBzcGVlZCBhbmQg VmdzLCBJ4oCZbSBndWVzc2luZyBJIG5lZWQKdG8gdXNlIGEgZ2F0ZSBkcml2ZXIuIFRoZSBsb2Fk IHdpbGwgYmUgTEVEcywgc28gYXQgbGVhc3QgaXQgaXNu4oCZdApvdmVydGx5IGluZHVjdGl2ZS4K CknigJltIHdyaXRpbmcgdGhpcyBvbiBhIHBsYW5lIHdpdGggbm8gSW50ZXJuZXQgYWNjZXNzLCBz byBJIGNhbuKAmXQgZm9sbG93CnRoZSBsaW5rcyBpbiB0aGUgZW1haWxzIG9uIGdhdGUgZHJpdmVy cy4gSSB3aWxsIGZvbGxvdyB0aGVtIHNvb24uCk1heWJlIGl0IG1ha2VzIHNlbnNlIHRvIGZpbmQg YW4gaW5leHBlbnNpdmUgZ2F0ZSBkcml2ZXIgKGxpa2UgdGhlCk1pY3JvY2hpcCBUQzQ0MjcgZHVh bCBkcml2ZXIgSSB1c2VkIHByZXZpb3VzbHkpLCBhcyBpdCB3aWxsIGF0IGxlYXN0CmJlIGVhc2ll ciBvbiBhc3NlbWJseSB0aGFuIGEgbXVsdGlwbGUgZGlzY3JldGUgY29tcG9uZW50IGRyaXZlci4g QmFzZWQKb24gdGhlIGRhdGFzaGVldCBmb3IgdGhlIFRDNDQyNywgd2hpbGUgdGhlIHN1cHBseSB2 b2x0YWdlIG5lZWRzIHRvIGJlCmEgbWluaW11bSBvZiA0LjVWLCB0aGUgdGhyZXNob2xkIG9mIHRo ZSBsb2dpYyBpbnB1dCBpcyAyLjRWLiBNYXliZQp3aGF0IEkgY2FuIGRvIGlzIHJ1biBteSBwcm9j ZXNzb3IgYXQgMy4zViwgYnV0IHRoZSBkcml2ZXIgYXQgNVYuCgpJIGhhdmUgYmVlbiBsb29raW5n IGF0IGEgZHVhbCBNT1NGRVQgZnJvbSBWaXNoYXkgdGhhdCBzZWVtcwppbnRlcmVzdGluZy4gSXQn cyB0aGUgU0k0OTM2Q0RZLVQxLUdFMyBmb3IgdGhvc2Ugd2hvIGFyZSBjdXJpb3VzLApkYXRhc2hl ZXQgaGVyZTogaHR0cDovL3d3dy52aXNoYXkuY29tL2RvY3MvNjkwOTcvc2k0OTM2Y2QucGRmIC4g VGhlCnNwZWNzIGFyZSB3aXRoaW4gbXkgcGFyYW1ldGVycy4gVGhlIDggcGluIFNPIHBhY2thZ2Ug c2VlbXMgZGVjZW50IGZvcgpib3RoIGFzc2VtYmx5IGFuZCBoZWF0IGNhcGFjaXR5LiBPbmUgdGhp bmcgdGhhdCBJIGRvbuKAmXQgcmVhbGx5CnVuZGVyc3RhbmQgaXMgdGhhdCB3aXRoIGEgcGFja2Fn ZSBsaWtlIHRoaXMgdGhlcmUgYXJlIDIgZ2F0ZSBwaW5zLCAyCnNvdXJjZSBwaW5zLCBhbmQgNCBk cmFpbiBwaW5zICh0aGV5IGFyZSBkb3VibGVkIGludGVybmFsbHkpLiBJIGFtCmd1ZXNzaW5nIHRo aXMgZG91YmxpbmcgaXMganVzdCBmb3IgaGVhdCwgcmlnaHQ/IElmIHRoZXJlIGlzIG9ubHkgYQpz aW5nbGUgcGluIG9uIG9uZSBzaWRlIG9mIHRoZSBNT1NGRVQgdGhlbiBwdXR0aW5nIHR3byBvbiB0 aGUgb3RoZXIKc2lkZSBjYW7igJl0IGltcHJvdmUgY3VycmVudCBoYW5kbGluZywgY29ycmVjdD8K CkluY2lkZW50YWxseSwgaG93IGlzIGl0IHBvc3NpYmxlIHRvIGdldCB0cmFjZXMgd2lkZSBlbm91 Z2ggdG8gc29tZSBvZgp0aGVzZSBwaW5zPyBJ4oCZdmUgbmV2ZXIgdW5kZXJzdG9vZCBob3cgdG8g cHJvcGVybHkgcm91dGUgdHJhY2VzIHRoYXQKYXJlIHdpZGUgZW5vdWdoIHRvIHBpbnMgb24gc2F5 LCBhbiBTTzggb3IgYW4gU09UMjMuIEkgYnVtcCB1cCB0byAyb3oKY29wcGVyIG9uIHRoZSBib2Fy ZCwgYnV0IGl0IHNlZW1zIHRoYXQgdGhlcmUgaXMgc3RpbGwgYSB3aWR0aCBpc3N1ZS4KClNvIG11 Y2ggdG8gd29yayBvbiEKClRoYW5rIHlvdSEKCi1qCi0tIApBIGNvbW1vbiBtaXN0YWtlIHRoYXQg cGVvcGxlIG1ha2Ugd2hlbiB0cnlpbmcgdG8gZGVzaWduIHNvbWV0aGluZwpjb21wbGV0ZWx5IGZv b2xwcm9vZiBpcyB0byB1bmRlcmVzdGltYXRlIHRoZSBpbmdlbnVpdHkgb2YgY29tcGxldGUKZm9v bHMuCiAgICAgICAgLURvdWdsYXMgQWRhbXMKCk9uIFNhdCwgTm92IDIxLCAyMDE1IGF0IDI6MjIg QU0sIEpvc2ggS29mZm1hbiA8am9zaHliZWFyQGdtYWlsLmNvbT4gd3JvdGU6Cj4gSGkgYWxsLAo+ Cj4gSSdtIHRoaW5raW5nIGFib3V0IHN3aXRjaGluZyBjaGlwcywgd2hpY2ggd291bGQgbWVhbiBn b2luZyB0byBhIDMuM1YKPiBtaWNyby4gVGhlIHByb2plY3QgaXMgYSBtZWRpdW0gc2l6ZWQgTEVE IGRpbW1lciAoNEEgY2FwYWNpdHkgYXQgMjRWKS4KPiBJIG1hZGUgYSBzbWFsbGVyIGRpbW1lciB1 c2luZyBhIGxvZ2ljIGxldmVsIE1PU0ZFVCB0aGF0IHdvcmtlZCB3ZWxsLAo+IGFuZCBhIGxhcmdl ciBvbmUgdGhhdCBJIHVzZWQgYSBnYXRlIGRyaXZlciBvbi4KPgo+IEl0IHdvdWxkIGJlIGlkZWFs IGZvciB0aGlzIHByb2plY3QgdG8gbm90IHVzZSBhIGRyaXZlciBhcyBJJ3ZlIGdvdCB0bwo+IG1h a2UgYSBidW5jaCBvZiB0aGVzZSwgYW5kIHRoZSBjb3N0cyB3b3VsZCBhZGQgdXAuCj4KPiBCdXQu Li5JIGFtIG5vdCBmYW1pbGlhciBlbm91Z2ggd2l0aCBNT1NGRVQgZGVzaWduIHRvIGtub3cgaWYg SSBjYW4KPiBzdWNjZXNzZnVsbHkgZHJpdmUgdGhlbSBkaXJlY3RseSBhdCAzLjNWLiBPciBpZiBi eSBkb2luZyB0aGF0IEkgd2lsbAo+IGdldCBleGNlc3NpdmUgaW50ZXJuYWwgbG9zc2VzLgo+Cj4g QW55IHRob3VnaHRzIG9yIHBhcnRzIHNlbGVjdGlvbiBpZGVhcz8gSSB1c2VkIHRoZSBUcmVuY2hG RVQgbGluZSBvbiBteQo+IGxhc3QgcHJvamVjdCBhbmQgaXQgc2VlbWVkIHByZXR0eSBkZWNlbnQu Cj4KPiBKb3NoCj4gLS0KPiBBIGNvbW1vbiBtaXN0YWtlIHRoYXQgcGVvcGxlIG1ha2Ugd2hlbiB0 cnlpbmcgdG8gZGVzaWduIHNvbWV0aGluZwo+IGNvbXBsZXRlbHkgZm9vbHByb29mIGlzIHRvIHVu ZGVyZXN0aW1hdGUgdGhlIGluZ2VudWl0eSBvZiBjb21wbGV0ZQo+IGZvb2xzLgo+ICAgICAgICAg LURvdWdsYXMgQWRhbXMKCi0tIApodHRwOi8vd3d3LnBpY2xpc3QuY29tL3RlY2hyZWYvcGljbGlz dCBQSUMvU1ggRkFRICYgbGlzdCBhcmNoaXZlClZpZXcvY2hhbmdlIHlvdXIgbWVtYmVyc2hpcCBv cHRpb25zIGF0Cmh0dHA6Ly9tYWlsbWFuLm1pdC5lZHUvbWFpbG1hbi9saXN0aW5mby9waWNsaXN0 Cg== .