Re: AD Review of draft-ietf-idr-rfc5575bis-17 -> Updated Version -18 and Flowspec v6
Alvaro Retana <[email protected]> Thu, 12 Dec 2019 11:38:57 -0800
| Newsgroups | gmane.ietf.idr |
|---|---|
| Message-ID | <CAMMESsxDYo2JPQ=tw3m9EQrDwyGCjWMem_oiH4WZy4FHRBOFtQ@mail.gmail.com> |
T24gTm92ZW1iZXIgNCwgMjAxOSBhdCAyOjIzOjQxIFBNLCBDaHJpc3RvcGggTG9pYmwKKGNAdGl4 LmF0KG1haWx0bzpjQHRpeC5hdCkpIHdyb3RlOgoKQ2hyaXN0b3BoOgoKSGkhCgo+IE9uIGJlaGFs ZiBvZiB0aGUgZHJhZnQtaWV0Zi1pZHItcmZjNTU3NWJpcyBhdXRob3JzIEkgdXBsb2FkZWQgYSBu ZXcgdmVyc2lvbgo+ICgtMTgpIG9mIHRoZSBkcmFmdDoKPgo+IGh0dHBzOi8vZGF0YXRyYWNrZXIu aWV0Zi5vcmcvZG9jL2RyYWZ0LWlldGYtaWRyLXJmYzU1NzViaXMvCj4KPiBUaGlzIGlzIHRoZSBy ZXN1bHQgb2YgdGhlIGltcHJvdmVtZW50cyB0aGF0IHdlIHdvcmtlZCBvbiBhZnRlciB5b3VyIHJl dmlldy4KPiBTb21lIG9mIHRoZSBzdHJ1Y3R1cmFsIGNoYW5nZXMgbGVhZCB0byBiaWcgY2hhbmdl cyBpZiB5b3UgcnVuIHRoZSAtMTcvLTE4Cj4gdGhydSByZmNkaWZmLiBIb3dldmVyLCB3ZSBkb2N1 bWVudGVkIGFsbCB0aGUgY2hhbmdlcyBhbmQgdGhlIGVudGlyZSBwcm9jZXNzCj4gb24gR2l0aHVi LiBBbGwgaXNzdWVzIGFuZCB0aGUgcmVsYXRlZCBjaGFuZ2VzIGNhbiBiZSByZXZpZXdlZCB0aGVy ZSAoaG9waW5nCj4gdG8gbW92ZSBpdCB0byBhbiBJRVRGL0lEUiBPcmcuIGFjY291bnQgc29vbik6 Cj4KPiBodHRwczovL2dpdGh1Yi5jb20vc3RvZmZpOTIvcmZjNTU3NWJpcwo+Cj4gQWRkaXRpb25h bGx5LCBwbGVhc2Ugc2VlIHRoZSBiZWxvdyBjb21tZW50cyB0aGF0IHdlIGFkZGVkIHRvIHlvdXIg cmV2aWV3IHRleHQKPiAoZm9yIGRvY3VtZW50YXRpb24gb24gdGhlIElEUiBsaXN0KS4gRm9yIGFs bCBpc3N1ZXMgeW91IHJhaXNlZCB3ZSBhZGRlZCBsaW5rcwo+IHRvIHRoZSBpc3N1ZXMgdHJhY2tl ZCBvbiBHaXRodWIuIEZvciB0aGUgbWFqb3IgaXNzdWVzIHdlIGFsc28gYWRkZWQgYSBjb21tZW50 Cj4gaG93IHRob3NlIGhhdmUgYmVlbiByZXNvbHZlZC4gV2UgdGhpbmsgdGhhdCB0aGUgZG9jdW1l bnQgaGFzIHZlcnkgbXVjaAo+IGltcHJvdmVkIGFuZCBiZW5lZml0ZWQgZnJvbSB5b3VyIHJldmll dyBhbmQgdGhlIHByb2Nlc3MgdGhhdCBmb2xsb3dlZC4KCkkgd2VudCB0aHJvdWdoIHRoZSBjb21t ZW50cywgdGhlIGV4cGxhbmF0aW9ucywgdGhlIEdpdEh1YiBpc3N1ZXMsIHRoZQpkaWZmcy4uLiA6 LSkgwqBUaGFuayB5b3UgZm9yIGJlaW5nIHNvIGRldGFpbGVkISEgVGhlIGRvY3VtZW50IGlzCmxv b2tpbmcgYSBsb3QgYmV0dGVyIQoKSSByZXNwb25kZWQgdG8gc29tZSBvZiB5b3VyIGNvbW1lbnRz IGJlbG93OyBJJ20gYWxzbyBpbmNsdWRpbmcgaW4tbGluZQpjb21tZW50cyBvbiB0aGUgLTE4IHZl cnNpb24uIMKgSW4gc29tZSBjYXNlcyBpdCBzZWVtZWQgZWFzaWVyL2NsZWFyZXIKdG8gY29tbWVu dCBvbiB0aGUgcmVzdWx0aW5nIHRleHQuCgpUaGVyZSBpcyBvbmx5IG9uZSBzaWduaWZpY2FudCBp dGVtIHJlbWFpbmluZyB0aGF0IHdlIHNob3VsZCByZXNvbHZlCmJlZm9yZSBtb3ZpbmcgdGhlIGRv Y3VtZW50IGZvcndhcmQ6IHRoZSBoYW5kbGluZyBvZiB1bmtub3duCmNvbXBvbmVudHM7IHRha2Ug YSBsb29rIGF0IHRoZSBjb21tZW50cyBpbiDCpzExIChvZiAtMTgpLgoKVGhhbmtzIQoKQWx2YXJv LgoKCltQYXJ0IEk6IENvbW1lbnRzIG9uIHlvdXIgcmV2aWV3IHJlc3BvbnNlcy5dCgoKLi4uCj4g MjI3IDIuIERlZmluaXRpb25zIG9mIFRlcm1zIFVzZWQgaW4gVGhpcyBNZW1vCj4gLi4uCj4gMjMz IExvYy1SSUIgLSBMb2NhbCBSSUIuCj4KPiBbbWFqb3JdIFRoaXMgc2ltcGxlIGRlZmluaXRpb24g ZG9lc24ndCBtYXRjaCB0aGUgb25lIGluIMKnMS4xL3JmYzQyNzEuCj4KPiA8LS0gKioqIEF1dGhv cnMgKioqCj4gVHJhY2tlZCB2aWEgaXNzdWUgIzExOiBodHRwczovL2dpdGh1Yi5jb20vc3RvZmZp OTIvcmZjNTU3NWJpcy9pc3N1ZXMvMTEKPiBDb21taXQgbWVudGlvbjogaHR0cHM6Ly9naXRodWIu Y29tL3N0b2ZmaTkyL3JmYzU1NzViaXMvY29tbWl0L2I0OTUwZWY3NmMzNDdhNjdhOGUzMWUwZWZm NGQxNDMzYTAwZTM0YjgKPgo+IEFkZGVkIHRoZSBkZWZpbml0aW9uIHRvIHRvIG1hdGNoIFJGQzQy NzEKPiAtLT4KClttaW5vcl0gUGxlYXNlIGFkZCBhIHJlZmVyZW5jZSB0byByZmM0MjcxIHRoZXJl IHRvby4KCgouLi4KPiAyODEgNC4gRGlzc2VtaW5hdGlvbiBvZiBJUHY0IEZMb3cgU3BlY2lmaWNh dGlvbiBJbmZvcm1hdGlvbgo+IC4uLgo+IDI4NyBUaGlzIE5MUkkgaW5mb3JtYXRpb24gaXMgZW5j b2RlZCB1c2luZyBNUF9SRUFDSF9OTFJJIGFuZAo+IDI4OCBNUF9VTlJFQUNIX05MUkkgYXR0cmli dXRlcyBhcyBkZWZpbmVkIGluIFtSRkM0NzYwXS4gV2hlbmV2ZXIgdGhlCj4gMjg5IGNvcnJlc3Bv bmRpbmcgYXBwbGljYXRpb24gZG9lcyBub3QgcmVxdWlyZSBOZXh0LUhvcCBpbmZvcm1hdGlvbiwg dGhpcwo+IDI5MCBzaGFsbCBiZSBlbmNvZGVkIGFzIGEgMC1vY3RldCBsZW5ndGggTmV4dCBIb3Ag aW4gdGhlIE1QX1JFQUNIX05MUkkKPiAyOTEgYXR0cmlidXRlIGFuZCBpZ25vcmVkIG9uIHJlY2Vp cHQuCj4KPiBbbWlub3JdIHMvTmV4dC1Ib3AvTmV4dCBIb3AgcmZjNDc2MCB1c2VzICJOZXh0IEhv cCIKPgo+IFtuaXRdICIuLi5zaGFsbCBiZSBlbmNvZGVkIGFzIGEgMC1vY3RldCBsZW5ndGggTmV4 dCBIb3AgaW4gdGhlIE1QX1JFQUNIX05MUkkgYXR0cmlidXRlIGFuZCBpZ25vcmVkIG9uIHJlY2Vp cHQuIiBXaGF0IGlzIGlnbm9yZWQ/IFRoZSBOZXh0IEhvcD8gSWYgaXQgZG9lc24ndCBleGlzdCAo bGVuZ3RoID0gMCksIHRoZW4gaXQgY2FuJ3QgYmUgaWdub3JlZC4uLiBQZXJoYXBzIGRlbGV0ZSAi IGFuZCBpZ25vcmVkIG9uIHJlY2VpcHQiLgo+Cj4gPC0tICoqKiBBdXRob3JzICoqKgo+IFRyYWNr ZWQgdmlhIGlzc3VlICMxNDogaHR0cHM6Ly9naXRodWIuY29tL3N0b2ZmaTkyL3JmYzU1NzViaXMv aXNzdWVzLzE0Cj4gQ29tbWl0IG1lbnRpb246IGh0dHBzOi8vZ2l0aHViLmNvbS9zdG9mZmk5Mi9y ZmM1NTc1YmlzL2NvbW1pdC9hODkyMDBkNzBjN2U2NjFjNTE5YmY0Mzc5ZWY0M2ZlZTgxN2YxZDcx Cj4gLS0+CgpbbWFqb3JdIFRoaXMgaXMgdGhlIG5ldyB0ZXh0IGZyb20gLTE4OgoKMjU1CSDCoCBU aGlzIE5MUkkgaW5mb3JtYXRpb24gaXMgZW5jb2RlZCB1c2luZyBNUF9SRUFDSF9OTFJJIGFuZAoy NTYJIMKgIE1QX1VOUkVBQ0hfTkxSSSBhdHRyaWJ1dGVzIGFzIGRlZmluZWQgaW4gW1JGQzQ3NjBd LiDCoFdoZW5ldmVyIHRoZQoyNTcJIMKgIGNvcnJlc3BvbmRpbmcgYXBwbGljYXRpb24gZG9lcyBu b3QgcmVxdWlyZSBOZXh0IEhvcCBpbmZvcm1hdGlvbiwgdGhpcwoyNTgJIMKgIHNoYWxsIGJlIGVu Y29kZWQgYXMgYSAwLW9jdGV0IGxlbmd0aCBOZXh0IEhvcCBpbiB0aGUgTVBfUkVBQ0hfTkxSSQoy NTkJIMKgIGF0dHJpYnV0ZSAoaWYgYSBub24gMC1vY3RldCBOZXh0IEhvcCBpcyBwcmVzZW50IGl0 IHNob3VsZCBiZSBpZ25vcmVkCjI2MAkgwqAgb24gcmVjZWlwdCkuCgpJIHRoaW5rIEkgZ2V0IGl0 OiB0aGUgTmV4dCBIb3AgaXMgbm90IG5lZWRlZCAtLSBzbyBpdCBpcyBlaXRoZXIgbm90CnByZXNl bnQgKDAtb2N0ZXQgbGVuZ3RoKSBvciBpZ25vcmVkLiDCoElzIHRoYXQgaXQ/CgpXaGF0IGlzIGNv bmZ1c2luZyBtZSBpcyB0aGUgcGFydCBhYm91dCAiV2hlbmV2ZXIgdGhlIGNvcnJlc3BvbmRpbmcK YXBwbGljYXRpb24gZG9lcyBub3QgcmVxdWlyZSBOZXh0IEhvcCBpbmZvcm1hdGlvbiIsIGJlY2F1 c2UgaXQgc291bmRzCmFzIGlmIHRoZXJlIGFyZSBjYXNlcyB3aGVuIHRoZSBOZXh0IEhvcCBpcyBu ZWVkZWQuLi5idXQgdGhlbiBpdCBpcwppZ25vcmVkIGFueXdheS4KCkkgbG9va2VkIGluIHJmYzQ3 NjAvcmZjNDI3MSwgYnV0IHRoZXkgYm90aCB0YWxrIGFib3V0IGZvcndhcmRpbmcgdG8KdGhlIE5l eHQgSG9wLCBhbmQgbm90IGFib3V0IGNhc2VzIHdoZXJlIGl0IGlzIG5vdCBuZWVkZWQgKG9yIGF0 IGxlYXN0CkkgZGlkbid0IGZpbmQgdGhhdCkuIMKgSU9XLCB0aGUgdXNlIGRlZmluZWQgaGVyZSBp cyBzcGVjaWZpYyB0byB0aGUgRlMKQUZJL1NBRkkgcGFpci4gwqBUaGUgc3BlY2lmaWNhdGlvbiBv ZiB0aGUgdXNlIChvciBub3QpIG9yIHRoZSBOZXh0IEhvcApzaG91bGQgdGhlbiBiZSBhIGxvdCBj bGVhcmVyLCBhbmQgTm9ybWF0aXZlLgoKU1VHR0VTVElPTj4KwqAgwqBUaGlzIE5MUkkgaW5mb3Jt YXRpb24gaXMgZW5jb2RlZCB1c2luZyBNUF9SRUFDSF9OTFJJIGFuZCBNUF9VTlJFQUNIX05MUkkK wqAgwqBhdHRyaWJ1dGVzIGFzIGRlZmluZWQgaW4gW1JGQzQ3NjBdLiDCoFdoZW4gYWR2ZXJ0aXNp bmcgRmxvdyBTcGVjaWZpY2F0aW9ucywKwqAgwqB0aGUgTGVuZ3RoIG9mIE5leHQgSG9wIE5ldHdv cmsgQWRkcmVzcyBTSE9VTEQgYmUgc2V0IHRvIDAuIMKgVGhlIE5ldHdvcmsKwqAgwqBBZGRyZXNz IG9mIE5leHQgSG9wIGZpZWxkIE1VU1QgYmUgaWdub3JlZC4KCgouLi4KPiAzMjUgNC4yLiBOTFJJ IFZhbHVlIEVuY29kaW5nCi4uLgo+IDMzOCBGbG93IFNwZWNpZmljYXRpb24gY29tcG9uZW50cyBt dXN0IGZvbGxvdyBzdHJpY3QgdHlwZSBvcmRlcmluZyBieQo+IDMzOSBpbmNyZWFzaW5nIG51bWVy aWNhbCBvcmRlci4gQSBnaXZlbiBjb21wb25lbnQgdHlwZSBtYXkgKGV4YWN0bHkKPiAzNDAgb25j ZSkgb3IgbWF5IG5vdCBiZSBwcmVzZW50IGluIHRoZSBzcGVjaWZpY2F0aW9uLiBJZiBwcmVzZW50 LCBpdAo+IDM0MSBNVVNUIHByZWNlZGUgYW55IGNvbXBvbmVudCBvZiBoaWdoZXIgbnVtZXJpYyB0 eXBlIHZhbHVlLgo+Cj4gW21ham9yXSBXaGF0IHNob3VsZCBoYXBwZW4gaWYgYSBjb21wb25lbnQg YXBwZWFycyBtb3JlIHRoYW4gb25jZT8KPgo+IFttYWpvcl0gV2hhdCBzaG91bGQgaGFwcGVuIGlm IHRoZSBvcmRlciBpcyBub3QgbWFpbnRhaW5lZD8KPgo+IDwtLSAqKiogQXV0aG9ycyAqKioKPiBU cmFja2VkIHZpYSBpc3N1ZSAjMTk6IGh0dHBzOi8vZ2l0aHViLmNvbS9zdG9mZmk5Mi9yZmM1NTc1 YmlzL2lzc3Vlcy8xOQo+Cj4gQmFzaWNhbGx5IGlmIHRoZSBOTFJJIGlzIG5vdCBlbmNvZGVkIHRv IHNwZWNpZmljYXRpb24gd2UgaGF2ZSBhIG1hbGZvcm1lZAo+IE5MUkkgKG1vc3QgcHJvYmFibHkg dGhlIEJHUCBOTFJJIHBhcnNlciB3aWxsIHRocm93IGFuIGV4Y2VwdGlvbiBvbiB0aGUKPiBpbXBs ZW1lbnRhdGlvbikuIEkgYW0gbm90IHN1cmUgaWYgdGhpcyBuZWVkcyB0byBiZSBtYWRlIGV4cGxp Y2l0LiAtIEJ1dCBJIGNhbgo+IG1ha2UgdGhpcyBleHBsaWNpdC4KPiAtLT4KClRoZSBxdWVzdGlv biBpczogd2hhdCBzaG91bGQgdGhlIGltcGxlbWVudGF0aW9uIGRvIGluIHJlc3BvbnNlIHRvIHRo ZQpleGNlcHRpb24/IMKgU2hvdWxkIGl0IHJlc2V0IHRoZSBzZXNzaW9uPyDCoFNob3VsZCBpdCBp Z25vcmUgdGhlIFVwZGF0ZT8KwqBTaG91bGQgaXQgZGlzYWJsZSB0aGUgQUZJL1NBRkk/IMKgU2hv dWxkIGl0IG9ubHkgY29uc2lkZXIgdGhlIGZpcnN0CmNvbXBvbmVudCAoaWYgaXQgYXBwZWFycyBt b3JlIHRoYW4gb25jZSk/IMKgU29tZXRoaW5nIGVsc2U/CgpJIGxvb2tlZCBhdCByZmM0NzYwL3Jm Yzc2MDYsIGJ1dCBkaWRuJ3QgZmluZCBhbnl0aGluZyB0aGF0IGxvb2tlZCB0bwptZSBleHBsaWNp dGx5IGFzIGNvcnJlc3BvbmRpbmcgdG8gYSBNYWxmb3JtZWQgTkxSSS4uLmJ1dCByZmM0NzYwIGRv ZXMKc3BlY2lmeSAiQUZJL1NBRkkgZGlzYWJsZSI6CgrCoCDCoElmIGEgQkdQIHNwZWFrZXIgcmVj ZWl2ZXMgZnJvbSBhIG5laWdoYm9yIGFuIFVQREFURSBtZXNzYWdlIHRoYXQKwqAgwqBjb250YWlu cyB0aGUgTVBfUkVBQ0hfTkxSSSBvciBNUF9VTlJFQUNIX05MUkkgYXR0cmlidXRlLCBhbmQgaWYg dGhlCsKgIMKgc3BlYWtlciBkZXRlcm1pbmVzIHRoYXQgdGhlIGF0dHJpYnV0ZSBpcyBpbmNvcnJl Y3QsIHRoZSBzcGVha2VyIE1VU1QKwqAgwqBkZWxldGUgYWxsIHRoZSBCR1Agcm91dGVzIHJlY2Vp dmVkIGZyb20gdGhhdCBuZWlnaGJvciB3aG9zZSBBRkkvU0FGSQrCoCDCoGlzIHRoZSBzYW1lIGFz IHRoZSBvbmUgY2FycmllZCBpbiB0aGUgaW5jb3JyZWN0IE1QX1JFQUNIX05MUkkgb3IKwqAgwqBN UF9VTlJFQUNIX05MUkkgYXR0cmlidXRlLiBGb3IgdGhlIGR1cmF0aW9uIG9mIHRoZSBCR1Agc2Vz c2lvbiBvdmVyCsKgIMKgd2hpY2ggdGhlIFVQREFURSBtZXNzYWdlIHdhcyByZWNlaXZlZCwgdGhl IHNwZWFrZXIgdGhlbiBTSE9VTEQgaWdub3JlCsKgIMKgYWxsIHRoZSBzdWJzZXF1ZW50IHJvdXRl cyB3aXRoIHRoYXQgQUZJL1NBRkkgcmVjZWl2ZWQgb3ZlciB0aGF0CsKgIMKgc2Vzc2lvbi4KClRo ZSByZXN1bHQgaXMgdGhlbiB0aGF0IEZTIChpbmNsdWRpbmcgdGhlIHJ1bGVzL2FjdGlvbnMgYWxy ZWFkeQpyZWNlaXZlZCkgd291bGQgbm93IG5vdCBiZSB1c2VkLiDCoFBlcnNvbmFsIG9waW5pb246 IERpc2FibGluZyB0aGUKQUZJL1NBRkkgY2FuIGJlIHdvcnNlIHRoYW4gcmVzZXR0aW5nIHRoZSBz ZXNzaW9uIGJlY2F1c2UgdGhlcmUncyBubwppbmRpY2F0aW9uIHRvIHRoZSBzZW5kZXIgdGhhdCBh bnl0aGluZyBpcyB3cm9uZy4KCklmIEFGSS9TQUZJIGRpc2FibGUgaXMgdGhlIGV4cGVjdGVkIGJl aGF2aW9yIGZvciBib3RoIG91dC1vZi1vcmRlciBhbmQKZHVwbGljYXRlIGNvbXBvbmVudHMsIHRo ZW4gbm90aGluZyBlbHNlIGlzIG5lZWRlZC4gwqBBIG5vdGUgaW4gwqcxMAp3b3VsZCBiZSBuaWNl IGJ1dCBub3QgbmVjZXNzYXJ5LgoKCi4uLgo+IDU0MiA0LjIuMTIuIFR5cGUgMTIgLSBGcmFnbWVu dAouLi4KPiA1NDggMCAxIDIgMyA0IDUgNiA3Cj4gNTQ5ICstLS0rLS0tKy0tLSstLS0rLS0tKy0t LSstLS0rLS0tKwo+IDU1MCB8IDAgfCAwIHwgMCB8IDAgfExGIHxGRiB8SXNGfERGIHwKPiA1NTEg Ky0tLSstLS0rLS0tKy0tLSstLS0rLS0tKy0tLSstLS0rCi4uLgo+IFttYWpvcl0gVGhlIG9wZXJh dGlvbiBpcyBub3Qgc3BlY2lmaWVkLiBJcyB0aGlzIGFsc28gYW4gKG9wZXJhdG9yLGJpdG1hc2sp Cj4gcGFpciwgb3IganVzdCA4IGJpdHMgaW5kaWNhdGluZyB0aGUgdmFsdWVzPyBDYW4gbXVsdGlw bGUgYml0cyBiZSBzZXQgYXQgdGhlCj4gc2FtZSB0aW1lPyBXaGF0IGZpZWxkcyBpbiB0aGUgSVAg aGVhZGVyIGRvIHRoZXNlIG1hcCB0bz8KPgo+IDwtLSAqKiogQXV0aG9ycyAqKioKPiBUcmFja2Vk IHZpYSBpc3N1ZSAjNDA6IGh0dHBzOi8vZ2l0aHViLmNvbS9zdG9mZmk5Mi9yZmM1NTc1YmlzL2lz c3Vlcy80MAo+IENvbW1pdCBtZW50aW9uOiBodHRwczovL2dpdGh1Yi5jb20vc3RvZmZpOTIvcmZj NTU3NWJpcy9jb21taXQvZjA3OGU5MTk4NDIzMzBkNjcwYmMxOTUyNzZlYWQ3YmRjMDVhMzM1MQo+ Cj4gQWRkZWQgdGhlIHRleHQgdG8gdGhlIGJpdC1kZXNjcmlwdGlvbnMgYW5kIElQLWhlYWRlciBm aWVsZHMgLSBBbmQgYW4gZXhhbXBsZQo+IHVzaW5nIHRoZSBiaXRtYXNrIG9wZXJhdG9yLgo+IC0t PgoKVGhlIGV4YW1wbGUgaXMgZm9yIGEgIm1hdGNoaW5nIHBhY2tldCB3aXRoIERGIGJpdCBzZXQg b3IgRmlyc3QKRnJhZ21lbnRzIiwgd2hpY2ggYW5zd2VycyB0aGUgcXVlc3Rpb24gYWJvdmUgYWJv dXQgd2hldGhlciBtdWx0aXBsZQpiaXRzIGNhbiBiZSBzZXQgLS0geWVzLiDCoFdoYXQgaXMgc3Rp bGwgbm90IHNwZWNpZmllZCBpcyB0aGF0IGluIHRoZQpjYXNlIG9mIG11bHRpcGxlIGJpdHMgc2V0 LCBhbiBPUiBvcGVyYXRpb24gaXMgZXhwZWN0ZWQuCgoKLi4uCj4gNzQyIDYuIFZhbGlkYXRpb24g UHJvY2VkdXJlCi4uLgo+IDc2MCBBIEZsb3cgU3BlY2lmaWNhdGlvbiBOTFJJIG11c3QgYmUgdmFs aWRhdGVkIHN1Y2ggdGhhdCBpdCBpcwo+IDc2MSBjb25zaWRlcmVkIGZlYXNpYmxlIGlmIGFuZCBv bmx5IGlmIGFsbCBvZiB0aGUgYmVsb3cgaXMgdHJ1ZToKPgo+IFttYWpvcl0gVGhlcmUgaXMgbm8g Tm9ybWF0aXZlIGxhbmd1YWdlIGFib3ZlLCBidXQgSSB0aGluayB0aGVyZSBpcyBhCj4gY29udHJh ZGljdGlvbiBvZiBzb3J0cyB3aXRoIHRoZSBuZXcgdGV4dCBiZWxvdyAoIlJ1bGUgYSkgTUFZIGJl IHJlbGF4ZWQuLi4iKS4KPiBUaGUgaW50cm9kdWN0b3J5IHRleHQgdG8gdGhlIHJ1bGVzIGlzICJt dXN0IGJlLi4uY29uc2lkZXJlZCBmZWFzaWJsZSBpZiBhbmQKPiBvbmx5IGlmIGFsbCBvZiB0aGUg YmVsb3cgaXMgdHJ1ZSIsIHdoaWNoIHNvdW5kcyB2ZXJ5IHN0cmljdCBhbmQKPiBzcGVjaWZpYy4u LmJ1dCB0aGVuIHRoZSBOb3JtYXRpdmUgZXhjZXB0aW9uIGNvbWVzIGluICgiTUFZIGJlIHJlbGF4 ZWQuLi5ydWxlcwo+IGIpIGFuZCBjKS4uLk1VU1QgYmUgZGlzcmVnYXJkZWQiKSBzYXlpbmcgdGhh dCBpdCBkb2Vzbid0IG1hdHRlci4gUGxlYXNlCj4gcmV3b3JkLi4ucGVyaGFwcyBzb21ldGhpbmcg bGlrZTogIklmIGEgZGVzdGluYXRpb24gaXMgcHJlc2VudC4uLmEgRmxvdwo+IFNwZWNpZmljYXRp b24gTVVTVCBiZSB2YWxpZGF0ZWQgdGhpcyB3YXkuLi5vdGhlcndpc2UuLi4iCj4KPiA8LS0gKioq IEF1dGhvcnMgKioqCj4gVHJhY2tlZCB2aWEgaXNzdWUgIzU2OiBodHRwczovL2dpdGh1Yi5jb20v c3RvZmZpOTIvcmZjNTU3NWJpcy9pc3N1ZXMvNTYKPiBDb21taXQgbWVudGlvbjogaHR0cHM6Ly9n aXRodWIuY29tL3N0b2ZmaTkyL3JmYzU1NzViaXMvY29tbWl0L2Q5NmE0OTYyOTUwMjFmMmFhYjAz MzJiZDIxMjA5MjA1NDdmNzFjNTYKPgo+IENoYW5nZWQgdGhlIHRleHQgdG8gcmVmZXIgdG8gdGhl IGRlZmF1bHQgYmVoYXZpb3VyIG9mIHRoZSBpbXBsZW1lbnRhdGlvbgo+IChNVVNUIHZhbGlkYXRl KS4gSG93ZXZlciB0aGlzIE1BWSBiZSByZWxheGVkIGJ5IGNvbmZpZ3VyYXRpb24uCj4gLS0+CgpJ J20gc3RpbGwgbm90IGhhcHB5IHdpdGggdGhlIGNvbnRyYWRpY3Rpb246IE1VU1QgbWVhbnMgImFu IGFic29sdXRlCnJlcXVpcmVtZW50IiAobm8gZXhjZXB0aW9ucyEpLCBidXQgdGhlbiB3ZSBzYXkg TUFZLCB3aGljaCBtYWtlcyB0aGUKTVVTVCBvcHRpb25hbC4uLmV2ZW4gd2l0aCB0aGUgImJ5IGRl ZmF1bHQiLi4uIMKgIFBsZWFzZSBzL01VU1QvU0hPVUxECsKgVGhlIE1BWSB3aWxsIHRoZW4gZXhw bGFpbiB0aGUgInZhbGlkIHJlYXNvbiIgdG8gbm90Li4uCgoKLi4uCj4gNzgzIEJHUCBpbXBsZW1l bnRhdGlvbnMgTVVTVCBhbHNvIGVuZm9yY2UgdGhhdCB0aGUgQVNfUEFUSCBhdHRyaWJ1dGUgb2Yg YQo+IDc4NCByb3V0ZSByZWNlaXZlZCB2aWEgdGhlIEV4dGVybmFsIEJvcmRlciBHYXRld2F5IFBy b3RvY29sIChlQkdQKQo+IDc4NSBjb250YWlucyB0aGUgbmVpZ2hib3JpbmcgQVMgaW4gdGhlIGxl ZnQtbW9zdCBwb3NpdGlvbiBvZiB0aGUgQVNfUEFUSAo+IDc4NiBhdHRyaWJ1dGUuIFdoaWxlIHRo aXMgcnVsZSBpcyBvcHRpb25hbCBpbiB0aGUgQkdQIHNwZWNpZmljYXRpb24sIGl0Cj4gNzg3IGJl Y29tZXMgbmVjZXNzYXJ5IHRvIGVuZm9yY2UgaXQgZm9yIHNlY3VyaXR5IHJlYXNvbnMuCi4uLgo+ IFttYWpvcl0gSW4gdGhlIGNhc2Ugb2YgcmVjZWl2aW5nIEZsb3cgU3BlY2lmaWNhdGlvbnMgZnJv bSBhIG5laWdoYm9yIGluIGFuCj4gSVhQLCBpdCBtYXkgbm90IGJlIHBvc3NpYmxlIHRvIGVuZm9y Y2UgdGhlIHJ1bGUgYWJvdmUgaWYgYSAidHJhbnNwYXJlbnQgQVNOIgo+IGlzIGJlaW5nIHVzZWQu IFBsZWFzZSBpbmNsdWRlIHNvbWUgdGV4dC9ndWlkYW5jZSBhYm91dCB0aGF0IHR5cGUgb2YgY2Fz ZS4KPiBJbmNsdWRlIGl0IGVpdGhlciBoZXJlIG9yIGluIHRoZSBTZWN1cml0eSBDb25zaWRlcmF0 aW9ucy4KLi4uCj4gPC0tICoqKiBBdXRob3JzICoqKgo+IFRyYWNrZWQgdmlhIGlzc3VlICM2MDog aHR0cHM6Ly9naXRodWIuY29tL3N0b2ZmaTkyL3JmYzU1NzViaXMvaXNzdWVzLzYwCj4KLi4uCj4g SW4gdGhlIGNhc2Ugb2YgSVhQIGluZGVlZCB0aGlzIHNvbWV0aW1lIG1heSBicmVhayBpbiB0aGUg Y2FzZXMgd2hlcmUgUlMgaXMKPiB1c2VkLiBJZiB5b3UgZXZlbiBpbiB0aGUgSVggKHdoaWNoIGlz IEwyIHR5cGljYWxseSkgdXNlIGRpcmVjdCBFQkdQIHNlc3Npb24KPiBpdCBhbGwgd29ya3Mgb2su IElmIHlvdSB1c2Ugc2Vzc2lvbiB0byBSUyBhbmQgc3VjaCBSUyBieSBkZXNpZ24gaXMKPiB0cmFu c3BhcmVudCBpbiBvcmRlciB0byBub3QgZXh0ZW5kIHRoZSBBU19QQVRIIGxlbmd0aCB0aGF0IGVu Zm9yY2UgZmlyc3QgQVMKPiBzaG91bGQgYmUgZGlzYWJsZWQuIEkgdGhpbmsgd2UgY291bGQgc2F5 IHRoYXQgdXNlIG9mIGZsb3cgc3BlYyB3aGVuIHBlZXJpbmcKPiB3aXRoIFJTIGluIElYUCBlbnYg aXMgbXVjaCBsZXNzIHNlY3VyZSBhcyBBU04gc3Bvb2ZpbmcgaW4gdGhlIEFTLVBBVEggY2FuCj4g b2NjdXIuIEl0IGlzIGFkdmlzZWQgdG8gYXBwbHkgc3RyaWN0IGluYm91bmQgcm91dGUgcG9saWN5 IGluIHN1Y2ggc2NlbmFyaW9zLgo+IC0tPgoKUGxlYXNlIGFkZCBzb21lIHRleHQgaW4gwqcxMyBh Ym91dCBpdCAtLSBzb21ldGhpbmcgc2ltaWxhciB0byB0aGUKZXhwbGFuYXRpb24gYWJvdmUgd291 bGQgYmUgZ3JlYXQuCgoKLi4uCj4gOTA0IDcuMy4gVHJhZmZpYy1hY3Rpb24gKHRyYWZmaWMtYWN0 aW9uKSBzdWItdHlwZSAweDA3Ci4uLgo+IDkxNyBvIFQ6IFRlcm1pbmFsIEFjdGlvbiAoYml0IDQ3 KTogV2hlbiB0aGlzIGJpdCBpcyBzZXQsIHRoZSB0cmFmZmljCj4gOTE4IGZpbHRlcmluZyBlbmdp bmUgd2lsbCBhcHBseSBhbnkgc3Vic2VxdWVudCBmaWx0ZXJpbmcgcnVsZXMgKGFzCj4gOTE5IGRl ZmluZWQgYnkgdGhlIG9yZGVyaW5nIHByb2NlZHVyZSkuIElmIG5vdCBzZXQsIHRoZSBldmFsdWF0 aW9uIG9mCj4gOTIwIHRoZSB0cmFmZmljIGZpbHRlciBzdG9wcyB3aGVuIHRoaXMgcnVsZSBpcyBh cHBsaWVkLgo+Cj4gW21pbm9yXSBBY2NvcmRpbmcgdG8gdGhlIHByb2Nlc3Npbmcgb3JkZXIgYW5k IHRoZSB2YWx1ZXMgZnJvbSBUYWJsZSAyLCBub3QKPiBzZXR0aW5nIHRoZSBiaXQgd291bGQgZWZm ZWN0aXZlbHkgY2F1c2Ugb25seSB0aGUgdHJhZmZpYy1yYXRlLWJ5dGVzICgweDgwMDYpCj4gdG8g ZXZlciBiZSBhcHBsaWVkLiBJcyB0aGF0IHRoZSBjb3JyZWN0IGludGVycHJldGF0aW9uPwouLi4K PiA8LS0gKioqIEF1dGhvcnMgKioqCj4gVHJhY2tlZCB2aWEgaXNzdWUgIzcyOiBodHRwczovL2dp dGh1Yi5jb20vc3RvZmZpOTIvcmZjNTU3NWJpcy9pc3N1ZXMvNzIKPgo+IE1pbm9yMToKPiBUaGUg dGVybWluYWwgYWN0aW9uIGFwcGxpZXMgdG8gZmlsdGVyIHJ1bGVzIG9ubHksIG5vdCB0byB0aGUg ZmlsdGVyIGFjdGlvbnMKPiAoZXh0ZW5kZWQgY29tbXVudGllcykuIEdpdmVuIHdlIGhhdmUgMyBG UyBmaWx0ZXJzIHRoYXQgbWF0Y2ggdGhlIHRyYWZmaWMKPiAodGhleSBhcmUgc29ydGVkIGZpcnN0 KToKPiBGUzEpIFRoZSBmaXJzdCBoYXMgVD0wIGFuZCBhIHRyYWZmaWMtcmF0ZS1ieXRlcyBhY3Rp b24KPiBGUzIpIFRoZSBzZWNvbmQgaGFzIG9ubHkgYSByZWRpcmVjdC1hY3Rpb24KPiBGUzMpIFRo ZSB0aGlyZCBoYXMgb25seSBhIHRyYWZmaWMtcmF0ZS1wYWNrZXRzIGFjdGlvbgo+Cj4gRXZhbHVh dGlvbiB0YWtlcyBwbGFjZSBhY2NvcmRpbmcgdG8gdGhlIHNvcnRlZCBmaWx0ZXJzIEZTMSBmaXJz dCwgdGhlbgo+IEZTMihiZWNhdXNlIG9mIFQ9MCBpbiBGUzEpLiBIb3dldmVyLCBiZWNhdXNlIEZT MiBoYXMgbm8gVD0wIHNldCBldmFsdWF0aW9uCj4gc3RvcHMgaGVyZSBhbmQgdGhlIHJlc3VsdGlu ZyBhY3Rpb24gaXM6IHRyYWZmaWMtcmF0ZS1ieXRlcyBhbmQgcmVkaXJlY3QuCgpSaWdodC4uLnJ1 bGVzIHZzIGFjdGlvbnMuLi4gwqAgUGxlYXNlIGFkZCBhIHJlZmVyZW5jZSB0byDCpzUuMSAoT3Jk ZXJpbmcKb2YgRmxvdyBTcGVjaWZpY2F0aW9ucykgdG8gbWFrZSBpdCBjbGVhcmVyIGZvciBvdGhl cnMuCgpUaGUgZXhhbXBsZSBoZWxwcywgYnV0IGl0IGlzIHdyb25nLiDCoFRoZSBkZWZpbml0aW9u IHNheXMgdGhhdCB3aGVuIHRoZQoiYml0IGlzIHNldCwgdGhlIHRyYWZmaWMgZmlsdGVyaW5nIGVu Z2luZSB3aWxsIGFwcGx5IGFueSBzdWJzZXF1ZW50CmZpbHRlcmluZyBydWxlcyIuLi5zbyB0aGUg YWN0aW9uIHNob3VsZCByZXN1bHQgaW4gb25seQp0cmFmZmljLXJhdGUtYnl0ZXMuCgoKLi4uCj4g W21ham9yXSBUaGUgcmFuZ2UgaXMgZGVmaW5lZCBpbiB0aGUgcmVnaXN0cnkgYXMgIjB4ODAtMHg4 ZiBSZXNlcnZlZCBmb3IKPiBFeHBlcmltZW50YWwgVXNlIi4gQWNjb3JkaW5nIHRvIHJmYzgxMjYs ICJJQU5BIGRvZXMgbm90IHJlY29yZCBhc3NpZ25tZW50cwo+IGZyb20gcmVnaXN0cmllcyBvciBy YW5nZXMgd2l0aCB0aGlzIHBvbGljeSIuCj4KPiBJIGRvbid0IGtub3cgd2h5IDB4ODAgd2FzIHRo ZSBmaXJzdCB2YWx1ZSBjaG9zZW47IGl0IGxvb2tzIGxpa2UgaXQgd2FzIGZpcnN0Cj4gdXNlZCBp biBkcmFmdC1tYXJxdWVzLWlkci1mbG93LXNwZWMtMDEgKDIwMDQpLCB3aGlsZSB0aGUgY29ycmVz cG9uZGluZwo+IEV4dGVuZGVkIENvbW11bml0aWVzIGRyYWZ0IChkcmFmdC1pZXRmLWlkci1iZ3At ZXh0LWNvbW11bml0aWVzLTA3KSBhbHJlYWR5Cj4gaW5kaWNhdGVkIHRoYXQgdGhlIHJhbmdlIHdh cyBmb3IgRXhwZXJpbWVudGFsIFVzZS4gSSBndWVzcyBqdXN0IGxhY2sgb2YKPiBzeW5jLi4uIEJ1 dCB0aGVuIEkgYWxzbyBkb24ndCB1bmRlcnN0YW5kIGhvdy93aHkgSUFOQSBlbmRlZCB1cCB3aXRo IHRoZQo+IGluZm9ybWF0aW9uIGluIHRoZSBSZWdpc3RyeS4uLi5tYXliZSBiZWNhdXNlIHRoZSBz dWItdHlwZXMgYXJlIG5vdCBmb3IKPiBFeHBlcmltZW50YWwgVXNlIC0tIGhtbW0sIHdoaWNoIHNv dW5kcyBjb250cmFkaWN0b3J5IHRvIG1lLgo+Cj4gVGhlIHJlYXNvbi9oaXN0b3J5IGRvZXNuJ3Qg bWF0dGVyIGFueW1vcmUsIGJ1dCB0aGUgY3VycmVudCB1c2UgZG9lcy4gVGhlCj4gbWVjaGFuaXNt IGRlc2NyaWJlZCBpbiB0aGlzIGRvY3VtZW50IGlzIGNsZWFybHkgbm90IGV4cGVyaW1lbnRhbC4g R2l2ZW4gdGhhdAo+IGNoYW5naW5nIHRoZSBUeXBlIHZhbHVlcyBpcyBub3QgYW4gb3B0aW9uIGJl Y2F1c2Ugb2YgdGhlIGRlcGxveWVkIGJhc2UsCj4gZXRjLi4sIHRoZW4gSSB0aGluayB3ZSBzaG91 bGQgY2xlYW4gdXAgdGhlIFJlZ2lzdHJ5IGFuZCBtb3ZlIDB4ODAtMHg4MiBmcm9tCj4gdGhlIEV4 cGVyaW1lbnRhbCBVc2UgcmFuZ2UgdG8gdGhlIEZDRlMgcmFuZ2UuIFRoaXMgY2hhbmdlIHdvdWxk IG1lYW4gYW4KPiBVcGRhdGUgdG8gcmZjNzE1My4KPgo+IFRvIHNpbXBsaWZ5IHRoZSBwcm9jZXNz LCB0aGUgVXBkYXRlIGNhbiBiZSBkb25lIGluIHRoaXMgZG9jdW1lbnQuIEhvd2V2ZXIsIEkKPiB0 aGluayB0aGF0IHRoZXJlJ3Mgc29tZSBjb25mdXNpb24gd2l0aCB0aGVzZSB0eXBlcyBhcHBhcmVu dGx5IGJlaW5nCj4gYXNzb2NpYXRlZCBvbmx5IHdpdGggRmxvdyBTcGVjaWZpY2F0aW9ucywgd2hl biB0aGV5IGFyZSBsYWJlbGVkIGFzIEdlbmVyaWMuCj4gSU9XLCBpZGVhbGx5IHRoZSBpc3N1ZSB3 b3VsZCBiZSBjb3JyZWN0ZWQgaW5kZXBlbmRlbnRseS4uLgo+Cj4gPC0tICoqKiBBdXRob3JzICoq Kgo+IFRyYWNrZWQgdmlhIGlzc3VlICM5OTogaHR0cHM6Ly9naXRodWIuY29tL3N0b2ZmaTkyL3Jm YzU1NzViaXMvaXNzdWVzLzk5Cj4KPiBUaGlzIGlzIG5vdCB0byBiZSBzb2x2ZWQgd2l0aGluIHRo aXMgZG9jdW1lbnQuIEkgbm90ZSB0aGF0IEkgc2hvdWxkIHByb3Bvc2UgYQo+IHVwZGF0ZSB0byBS RkM3MTUzIHRvIGNsZWFudXAgdGhlIHJlZ2lzdHJ5IGluZGVwZW5kZW50bHkuIC0gQXMgbm90aWNl ZCBtb3ZpbmcKPiB0aGUgdmFsdWVzIGFyb3VuZCBpcyBub3QgYW4gb3B0aW9uLgo+IC0tPgoKU28s IGFyZSB5b3Ugd29ya2luZyBvbiB0aGlzIGFscmVhZHk/IMKgOy0pCgoKLi4uCj4gMTMwOCAxMy4g U2VjdXJpdHkgQ29uc2lkZXJhdGlvbnMKPgo+IDEzMTAgSW50ZXItcHJvdmlkZXIgcm91dGluZyBp cyBiYXNlZCBvbiBhIHdlYiBvZiB0cnVzdC4gTmVpZ2hib3JpbmcKPiAxMzExIGF1dG9ub21vdXMg c3lzdGVtcyBhcmUgdHJ1c3RlZCB0byBhZHZlcnRpc2UgdmFsaWQgcmVhY2hhYmlsaXR5Cj4gMTMx MiBpbmZvcm1hdGlvbi4gSWYgdGhpcyB0cnVzdCBtb2RlbCBpcyB2aW9sYXRlZCwgYSBuZWlnaGJv cmluZwo+IDEzMTMgYXV0b25vbW91cyBzeXN0ZW0gbWF5IGNhdXNlIGEgZGVuaWFsLW9mLXNlcnZp Y2UgYXR0YWNrIGJ5IGFkdmVydGlzaW5nCj4gMTMxNCByZWFjaGFiaWxpdHkgaW5mb3JtYXRpb24g Zm9yIGEgZ2l2ZW4gcHJlZml4IGZvciB3aGljaCBpdCBkb2VzIG5vdAo+IDEzMTUgcHJvdmlkZSBz ZXJ2aWNlLgo+Cj4gMTMxNyBBcyBsb25nIGFzIHRyYWZmaWMgZmlsdGVyaW5nIHJ1bGVzIGFyZSBy ZXN0cmljdGVkIHRvIG1hdGNoIHRoZQo+IDEzMTggY29ycmVzcG9uZGluZyB1bmljYXN0IHJvdXRp bmcgcGF0aHMgZm9yIHRoZSByZWxldmFudCBwcmVmaXhlcywgdGhlCj4gMTMxOSBzZWN1cml0eSBj aGFyYWN0ZXJpc3RpY3Mgb2YgdGhpcyBwcm9wb3NhbCBhcmUgZXF1aXZhbGVudCB0byB0aGUKPiAx MzIwIGV4aXN0aW5nIHNlY3VyaXR5IHByb3BlcnRpZXMgb2YgQkdQIHVuaWNhc3Qgcm91dGluZy4g SG93ZXZlciwgdGhpcwo+IDEzMjEgZG9jdW1lbnQgYWxzbyBzcGVjaWZpZXMgdHJhZmZpYyBmaWx0 ZXJpbmcgYWN0aW9ucyB0aGF0IG1heSBuZWVkCj4gMTMyMiBjdXN0b20gYWRkaXRpb25hbCB2ZXJp ZmljYXRpb24gb24gdGhlIHJlY2VpdmVyIHNpZGUuIFNlZSBTZWN0aW9uIDE0Lgo+Cj4gW21ham9y XSBJbiBnZW5lcmFsLCBGbG93IFNwZWNpZmljYXRpb25zIGhhdmUgYSBvbmUtQVMtaG9wIHByb3Bh Z2F0aW9uIG1vZGVsLAo+IHJpZ2h0PyBUaGlzIG1lYW5zIHRoYXQgdGhlIHNlY3VyaXR5IHByb3Bl cnRpZXMgYXJlIGRpZmZlcmVudCBiZWNhdXNlICgxKQo+IHVuaWNhc3Qgcm91dGluZyBwcm9wYWdh dGVzIG11bHRpcGxlIGhvcHMsIGFuZCAoMikgdGhlIGludGVudCBvZiB0aGUgIlJvdXRlCj4gT3Jp Z2luIEFTTiIgKHJmYzY4MTEpIGlzIG5vdCByZWZsZWN0ZWQgaW4gdGhlIHJlcXVlc3QgdG8gcmF0 ZS1saW1pdCwgb3IgZXZlbgo+IGRyb3AgKCEpIHRyYWZmaWMgdG8gYSBkZXN0aW5hdGlvbi4gWWVz LCBpdCBpcyBhbGwgYmFzZWQgb24gdHJ1c3QuLi5idXQKPiBkaWZmZXJlbnQuIEZvciBleGFtcGxl LCBPcmlnaW4gVmFsaWRhdGlvbiB3b3VsZG4ndCBiZSBhdmFpbGFibGUgZm9yIEZsb3cKPiBTcGVj aWZpY2F0aW9ucy4KPgo+IDwtLSAqKiogQXV0aG9ycyAqKioKPiBUcmFja2VkIHZpYSBpc3N1ZSAj MTA0OiBodHRwczovL2dpdGh1Yi5jb20vc3RvZmZpOTIvcmZjNTU3NWJpcy9pc3N1ZXMvMTA0Cj4K PiBGUyBpcyBuZXZlciBvZiBvbmUtQVMtaG9wIHByb3BhZ2F0aW9uIG1vZGVsLgo+IFRvIHRoZSB2 ZXJ5IHF1ZXN0aW9uIG9mIHRoZSBPcmlnaW4gVmFsaWRhdGlvbiBpdCBpcyBhbGwgaW50ZWdyYXRl ZCBieQo+IG9yaWdpbmFsIGRlc2lnbi4gVGhhdCBtZWFucyB0aGF0IGlmIEkgbXVzdCB2YWxpZGF0 ZSByZWNlaXZlZCBGUyByb3V0ZXMKPiBhZ2FpbnN0IHVuaWNhc3QgcHJlZml4IGFuZCB0aGF0IHVu aWNhc3QgcHJlZml4IHdhcyBhbHJlYWR5IE9yaWdpbiBWYWxpZGF0ZWQKPiB0aGF0IGltcGxpZXMg dGhhdCBGUyBpcyBhbHNvIE9yaWdpbiBWYWxpZGF0ZWQgd2l0aG91dCBhZGRpbmcgYW55IG5ldyBS T0FzLgo+IFRoZSBwcm9ibGVtIHN0YXJ0cyB3aGVuIHZhbGlkYXRpb24gaXMgZ2V0dGluZyBkaXNh YmxlZCBhcyB0aGlzIGhhcyBhdmFsYW5jaGUKPiBlZmZlY3QgZm9yIGVudGlyZSBzZWN1cml0eSBt b2RlbC4KPiAtLT4KCk5vLCB0aGUgRlMgY2Fubm90IGJlIHZhbGlkYXRlZCB3aXRob3V0IGFkZGlu ZyBST0FzLiDCoEZvciBleGFtcGxlLApjb25zaWRlciBwcmVmaXgteCBhZHZlcnRpc2VkIGJ5IEFT IEEgdG8gQVMgQiBhbmQgdGhlbiB0byBBUyBDOyBib3RoIEIKYW5kIEMgY2FuIHZhbGlkYXRlIHRo YXQgQVMgQSBpcyB0aGUgdmFsaWQgb3JpZ2luIHVzaW5nIGEgUk9BLiDCoEFTIEIKdGhlbiBzZW5k cyBhIEZTIHRvIEMgYXNraW5nIHRvIGRyb3AgdGhlIHRyYWZmaWMgdG8gcHJlZml4LXguIMKgTm90 ZQp0aGF0IHRoZSBGUyBoYXMgYW4gT3JpZ2luIEFTIG9mIEIsIHdoaWxlIHRoZSBST0EgaXMgdmFs aWRhdGluZyBhbgpvcmlnaW4gQVMgb2YgQSBmb3IgcHJlZml4LXguCgpXaGlsZSBJIGFncmVlIHRo YXQgdGhlIEZTIGNvdWxkIHRyYXZlcnNlIG11bHRpcGxlIEFTIGhvcHMsIGl0IGlzIG5vdAphbHdh eXMgdGhlIGNhc2UgdGhhdCBpdCB3b3VsZC4KCkFsbCB0aGlzIGlzIG1vb3QgYW55d2F5IGJlY2F1 c2UgUk9BcyBhcmUgb25seSBkZWZpbmVkIGZvciB0aGUKSVB2NC9JUHY2IEFGcyAocmZjNjQ4Miku CgpJbiBhbnkgY2FzZSwgaWYgSSBsb29rIHJlYWxseSBjbG9zZSwgdGhlIHRleHQgc2F5cyB0aGF0 ICJ0aGUgc2VjdXJpdHkKY2hhcmFjdGVyaXN0aWNzIG9mIHRoaXMgcHJvcG9zYWwgYXJlIGVxdWl2 YWxlbnQgdG8gdGhlIGV4aXN0aW5nCnNlY3VyaXR5IHByb3BlcnRpZXMgb2YgQkdQIHVuaWNhc3Qg cm91dGluZyIgLS0gZXF1aXZhbGVudCwgbm90IHRoZQpzYW1lLiDCoEknbGwgbGV0IHRoaXMgZ28u IDotKQoKCltQYXJ0IElJOiBSZXZpZXcgb2YgLTE4Ll0KCltMaW5lIG51bWJlcnMgZnJvbSBpZC1u aXRzLl0KCi4uLgoxNwlBYnN0cmFjdAoKMTkJIMKgIFRoaXMgZG9jdW1lbnQgb2Jzb2xldGVzIGJv dGggUkZDNTU3NSBhbmQgUkZDNzY3NC4KCltzdHlsZSBuaXRdIFVzdWFsbHkgdGhpcyBzdGF0ZW1l bnQgaXMgcGxhY2VkIGF0IHRoZSBlbmQgb2YgdGhlCkFic3RyYWN0L0ludHJvZHVjdGlvbi4gwqBQ ZXJzb25hbGx5LCBJIHRoaW5rIGl0IG1ha2VzIGl0IGVhc2llciB0bwpyZWFkLi4uCgpbbWlub3Jd IFRoZSBBYnN0cmFjdCBzaG91bGRuJ3QgaGF2ZSByZWZlcmVuY2VzLiDCoEluIHRoZSB4bWw6IHMv PHhyZWYKdGFyZ2V0PSJSRkM1NTc1IiAvPiBhbmQgPHhyZWYgdGFyZ2V0PSJSRkM3Njc0IiAvPi9S RkMgNTU3NSBhbmQgUkZDCjc2NzQKCjIxCSDCoCBUaGlzIGRvY3VtZW50IGRlZmluZXMgYSBCb3Jk ZXIgR2F0ZXdheSBQcm90b2NvbCBOZXR3b3JrIExheWVyCjIyCSDCoCBSZWFjaGFiaWxpdHkgSW5m b3JtYXRpb24gKEJHUCBOTFJJKSBlbmNvZGluZyBmb3JtYXQsIHRoYXQgY2FuIGJlIHVzZWQKMjMJ IMKgIHRvIGRpc3RyaWJ1dGUgdHJhZmZpYyBGbG93IFNwZWNpZmljYXRpb25zLiDCoFRoaXMgYWxs b3dzIHRoZSByb3V0aW5nCjI0CSDCoCBzeXN0ZW0gdG8gcHJvcGFnYXRlIGluZm9ybWF0aW9uIHJl Z2FyZGluZyBtb3JlIHNwZWNpZmljIGNvbXBvbmVudHMgb2YKMjUJIMKgIHRoZSB0cmFmZmljIGFn Z3JlZ2F0ZSBkZWZpbmVkIGJ5IGFuIElQIGRlc3RpbmF0aW9uIHByZWZpeC4KCltuaXRdIE5vIGNv bW1hIGJlZm9yZSAidGhhdCIuIMKgIHMvZW5jb2RpbmcgZm9ybWF0LCB0aGF0L2VuY29kaW5nIGZv cm1hdCB0aGF0CgoKLi4uCjMyCSDCoCBBZGRpdGlvbmFsbHksIGl0IGRlZmluZXMgdHdvIGFwcGxp Y2F0aW9ucyBvZiB0aGF0IGVuY29kaW5nIGZvcm1hdDoKMzMJIMKgIG9uZSB0aGF0IGNhbiBiZSB1 c2VkIHRvIGF1dG9tYXRlIGludGVyLWRvbWFpbiBjb29yZGluYXRpb24gb2YgdHJhZmZpYwozNAkg wqAgZmlsdGVyaW5nLCBzdWNoIGFzIHdoYXQgaXMgcmVxdWlyZWQgaW4gb3JkZXIgdG8gbWl0aWdh dGUKMzUJIMKgIChkaXN0cmlidXRlZCkgZGVuaWFsLW9mLXNlcnZpY2UgYXR0YWNrcywgYW5kIGEg c2Vjb25kIGFwcGxpY2F0aW9uIHRvCjM2CSDCoCBwcm92aWRlIHRyYWZmaWMgZmlsdGVyaW5nIGlu IHRoZSBjb250ZXh0IG9mIGEgQkdQL01QTFMgVlBOIHNlcnZpY2UuCjM3CSDCoCBPdGhlciBhcHBs aWNhdGlvbnMgKGllLiBjZW50cmFsaXplZCBjb250cm9sIG9mIHRyYWZmaWMgaW4gYSBTRE4gb3IK MzgJIMKgIE5GViBjb250ZXh0KSBhcmUgYWxzbyBwb3NzaWJsZS4gwqBPdGhlciBkcmFmdHMgc3Bl Y2lmeSBJUHY2LCBNUExTCjM5CSDCoCBhZGRyZXNzZXMsIEwyVlBOIGFkZHJlc3NlcywgYW5kIE5W MDMgZW5jYXBzdWxhdGlvbiBvZiBJUCBhZGRyZXNzZXMgYXMKNDAJIMKgIEZsb3cgU3BlY2lmaWNh dGlvbiBleHRlbnNpb25zLgoKW21pbm9yXSAoUmVsYXRlZCB0byB0aGUgbGFzdCBzZW50ZW5jZS4p IEFzIEkgbWVudGlvbmVkIGJlZm9yZSwgdGhlCkludHJvZHVjdGlvbiBvbmx5IHBvaW50cyBhdCB0 aGUgSVB2NiBkcmFmdCwgYnV0IGl0IGNvdWxkIGJlbmVmaXQgZnJvbQpwb2ludGVycyB0byB0aGUg b3RoZXIgZHJhZnRzIG1lbnRpb25lZCBoZXJlLiDCoEdpdmVuIHRoZSByZWNlbnQKZGlzY3Vzc2lv biBhYm91dCBleHRlbnNpYmlsaXR5LCBpdCBtYXkgYmUgYmV0dGVyIHRvIHNpbXBseSBub3QgYmUK c3BlY2lmaWMgYWJvdXQgd2hhdCBvdGhlciBkcmFmdHMgbWF5IHNwZWNpZnk6CgpTVUdHRVNUSU9O PgrCoCDCoE90aGVyIGRvY3VtZW50cyBtYXkgc3BlY2lmeSBGbG93IFNwZWNpZmljYXRpb24gZXh0 ZW5zaW9ucy4KCjQyCSDCoCBUaGUgaW5mb3JtYXRpb24gaXMgY2FycmllZCB2aWEgdGhlIEJHUCwg dGhlcmVieSByZXVzaW5nIHByb3RvY29sCjQzCSDCoCBhbGdvcml0aG1zLCBvcGVyYXRpb25hbCBl eHBlcmllbmNlLCBhbmQgYWRtaW5pc3RyYXRpdmUgcHJvY2Vzc2VzIHN1Y2gKNDQJIMKgIGFzIGlu dGVyLXByb3ZpZGVyIHBlZXJpbmcgYWdyZWVtZW50cy4KCltuaXRdIHMvY2FycmllZCB2aWEgdGhl IEJHUC9jYXJyaWVkIHZpYSBCR1AKCgouLi4KMTIwCTEuIMKgSW50cm9kdWN0aW9uCi4uLgoxNTQJ IMKgIEEgRmxvdyBTcGVjaWZpY2F0aW9uIHJlY2VpdmVkIGZyb20gYW4gZXh0ZXJuYWwgYXV0b25v bW91cyBzeXN0ZW0gd2lsbAoxNTUJIMKgIG5lZWQgdG8gYmUgdmFsaWRhdGVkIGFnYWluc3QgdW5p Y2FzdCByb3V0aW5nIGJlZm9yZSBiZWluZyBhY2NlcHRlZAoxNTYJIMKgIChTZWN0aW9uIDYpLiDC oFRoZSBmbG93IHNwZWNpZmljYXRpb24gcmVjZWl2ZWQgZnJvbSBhbiBpbnRlcm5hbCBCR1AKMTU3 CSDCoCBwZWVyIHdpdGhpbiB0aGUgc2FtZSBhdXRvbm9tb3VzIHN5c3RlbSAocGVyIFtSRkM0Mjcx XSkgaXMgYXNzdW1lZCB0bwoxNTgJIMKgIGhhdmUgYmVlbiB2YWxpZGF0ZWQgcHJpb3IgdG8gdHJh bnNtaXNzaW9uIHdpdGhpbiB0aGUgaUJHUCBtZXNoIG9mIGFuCjE1OQkgwqAgYXV0b25vbW91cyBz eXN0ZW0uIMKgSWYgdGhlIGFnZ3JlZ2F0ZSB0cmFmZmljIGZsb3cgZGVmaW5lZCBieSB0aGUKMTYw CSDCoCB1bmljYXN0IGRlc3RpbmF0aW9uIHByZWZpeCBpcyBmb3J3YXJkZWQgdG8gYSBnaXZlbiBC R1AgcGVlciwgdGhlbiB0aGUKMTYxCSDCoCBsb2NhbCBzeXN0ZW0gY2FuIGluc3RhbGwgbW9yZSBz cGVjaWZpYyBGbG93IFNwZWNpZmljYXRpb25zIHRoYXQgbWF5CjE2MgkgwqAgcmVzdWx0IGluIGRp ZmZlcmVudCBmb3J3YXJkaW5nIGJlaGF2aW9yLCBhcyByZXF1ZXN0ZWQgYnkgdGhpcyBzeXN0ZW0u Cgpbbml0XSBzL2Zsb3cgc3BlY2lmaWNhdGlvbiAoYW5kIG90aGVyIGNhc2UgdmFyaWF0aW9ucykv RmxvdyBTcGVjaWZpY2F0aW9uL2cKCltuaXRdIHMvKHBlciBbUkZDNDI3MV0pL1tSRkM0MjcxXQoK Ci4uLgoyNDkJNC4gwqBEaXNzZW1pbmF0aW9uIG9mIElQdjQgRkxvdyBTcGVjaWZpY2F0aW9uIElu Zm9ybWF0aW9uCgpbbml0XSBzL0ZMb3cvRmxvdwoKCi4uLgoyOTUJNC4yLiDCoE5MUkkgVmFsdWUg RW5jb2RpbmcKLi4uCjMxMQkgwqAgQWxsIGNvbWJpbmF0aW9ucyBvZiBjb21wb25lbnRzIHdpdGhp biBhIHNpbmdsZSBGbG93IFNwZWNpZmljYXRpb24gYXJlCjMxMgkgwqAgYWxsb3dlZC4gwqBIb3dl dmVyLCBzb21lIGNvbWJpbmF0aW9ucyBjYW5ub3QgbWF0Y2ggYW55IHBhY2tldHMgKGllLgozMTMJ IMKgICJJQ01QIFR5cGUgQU5EIFBvcnQiIHdpbGwgbmV2ZXIgbWF0Y2ggYW55IHBhY2tldHMpLCBh bmQgdGh1cyBTSE9VTEQKMzE0CSDCoCBOT1QgYmUgcHJvcGFnYXRlZCBieSBCR1AuCgpbbml0XSBz L2llLi9lLmcuCgoKLi4uCjYwNwk0LjMuMS4gwqBFeGFtcGxlIDEKLi4uCjYyMAkgwqAgwqAgwqAg wqAgwqArLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t Kwo2MjEJIMKgIMKgIMKgIMKgIMKgfCBWYWx1ZSB8IMKgIMKgIMKgIMKgIMKgIMKgfCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoHwKNjIyCSDCoCDCoCDCoCDCoCDC oCstLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCjYy MwkgwqAgwqAgwqAgwqAgwqB8IMKgMHgwYiB8IGxlbmd0aCDCoCDCoCB8IDExIG9jdGV0cyAobGVu PDI0MCAxLW9jdGV0KSDCoHwKNjI0CSDCoCDCoCDCoCDCoCDCoHwgwqAweDAxIHwgdHlwZSDCoCDC oCDCoCB8IFR5cGUgMSAtIERlc3RpbmF0aW9uIFByZWZpeCDCoHwKNjI1CSDCoCDCoCDCoCDCoCDC oHwgwqAweDE4IHwgbGVuZ3RoIMKgIMKgIHwgMjQgYml0IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIHwKNjI2CSDCoCDCoCDCoCDCoCDCoHwgwqAweGMwIHwgcHJlZml4IMKgIMKgIHwg MTkyIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgfAo2MjcJIMKgIMKgIMKg IMKgIMKgfCDCoDB4MDAgfCBwcmVmaXggwqAgwqAgfCAwIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgfAo2MjgJIMKgIMKgIMKgIMKgIMKgfCDCoDB4MDIgfCBwcmVmaXgg wqAgwqAgfCAyIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgfAo2MjkJ IMKgIMKgIMKgIMKgIMKgfCDCoDB4MDMgfCB0eXBlIMKgIMKgIMKgIHwgVHlwZSAzIC0gSVAgUHJv dG9jb2wgwqAgwqAgwqAgwqAgfAo2MzAJIMKgIMKgIMKgIMKgIMKgfCDCoDB4ODEgfCBudW1lcmlj X29wIHwgZW5kLW9mLWxpc3QsIHZhbHVlIHNpemU9MSwgPSB8CjYzMQkgwqAgwqAgwqAgwqAgwqB8 IMKgMHgwNiB8IHZhbHVlIMKgIMKgIMKgfCBJUCBQcm90b2NvbCA2ID0gVENQIMKgIMKgIMKgIMKg IMKgfAo2MzIJIMKgIMKgIMKgIMKgIMKgfCDCoDB4MDQgfCB0eXBlIMKgIMKgIMKgIHwgVHlwZSA0 IC0gUG9ydCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoHwKNjMzCSDCoCDCoCDCoCDCoCDCoHwgwqAw eDgxIHwgbnVtZXJpY19vcCB8IGVuZC1vZi1saXN0LCB2YWx1ZSBzaXplPTEsID0gfAo2MzQJIMKg IMKgIMKgIMKgIMKgfCDCoDB4MTkgfCB2YWx1ZSDCoCDCoCDCoHwgMjUgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgfAo2MzUJIMKgIMKgIMKgIMKgIMKgKy0tLS0tLS0rLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKClttaW5vcl0gVGFibGUg MSBkZWZpbmVzIGVxdWFsIGFzICI9PSAoZXF1YWwpIiAtLSBqdXN0IHRvIGJlCmNvbnNpc3RlbnQu IMKgcy89Lz09L2cKCgouLi4KOTU5CTcuMy4gwqBUcmFmZmljLWFjdGlvbiAodHJhZmZpYy1hY3Rp b24pIHN1Yi10eXBlIDB4MDcKLi4uCjk4NgkgwqAgbyDCoFRyYWZmaWMgQWN0aW9uIEZpZWxkOiBP dGhlciBUcmFmZmljIEFjdGlvbiBGaWVsZCAoc2VlIFNlY3Rpb24gMTIpCjk4NwkgwqAgwqAgwqBi aXRzIHVudXNlZCBpbiB0aGlzIHNwZWNpZmljYXRpb24uCgpbbWFqb3JdIEhvdyBzaG91bGQgdW5r bm93biBiaXRzIGJlIHRyZWF0ZWQ/IMKgSW4gdGhlIGxhc3QgdmVyc2lvbiwgdGhlCnRleHQgcmVh ZDogInNob3VsZCBhbHdheXMgYmUgc2V0IHRvIDAgYnkgdGhlIG9yaWdpbmF0b3IgYW5kIG5vdCBi ZQpldmFsdWF0ZWQgYnkgdGhlIHJlY2VpdmluZyBCR1Agc3BlYWtlci4iIMKgUGxlYXNlIGFkZCBz b21ldGhpbmcgbGlrZQp0aGF0LgoKCi4uLgoxMDQ3CTcuNi4gwqBJbnRlcmFjdGlvbiB3aXRoIG90 aGVyIEZpbHRlcmluZyBNZWNoYW5pc21zIGluIFJvdXRlcnMKClttaW5vcl0gUGVyaGFwczogcy9v dGhlciBGaWx0ZXJpbmcvQ3VzdG9tIEZpbHRlcmluZwoKMTA0OQkgwqAgSW1wbGVtZW50YXRpb25z IFNIT1VMRCBwcm92aWRlIG1lY2hhbmlzbXMgdGhhdCBtYXAgYW4gYXJiaXRyYXJ5IEJHUAoxMDUw CSDCoCBjb21tdW5pdHkgdmFsdWUgKG5vcm1hbCBvciBleHRlbmRlZCkgdG8gVHJhZmZpYyBGaWx0 ZXJpbmcgQWN0aW9ucwoxMDUxCSDCoCB0aGF0IHJlcXVpcmUgZGlmZmVyZW50IG1hcHBpbmdzIGlu IGRpZmZlcmVudCBzeXN0ZW1zIGluIHRoZSBuZXR3b3JrLgoxMDUyCSDCoCBGb3IgaW5zdGFuY2Us IHByb3ZpZGluZyBwYWNrZXRzIHdpdGggYSB3b3JzZS10aGFuLWJlc3QtZWZmb3J0LCBwZXItCjEw NTMJIMKgIGhvcCBiZWhhdmlvciBpcyBhIGZ1bmN0aW9uYWxpdHkgdGhhdCBpcyBsaWtlbHkgdG8g YmUgaW1wbGVtZW50ZWQKMTA1NAkgwqAgZGlmZmVyZW50bHkgaW4gZGlmZmVyZW50IHN5c3RlbXMg YW5kIGZvciB3aGljaCBubyBzdGFuZGFyZCBiZWhhdmlvcgoxMDU1CSDCoCBpcyBjdXJyZW50bHkg a25vd24uIMKgUmF0aGVyIHRoYW4gYXR0ZW1wdGluZyB0byBkZWZpbmUgaXQgaGVyZSwgdGhpcwox MDU2CSDCoCBjYW4gYmUgYWNjb21wbGlzaGVkIGJ5IG1hcHBpbmcgYSB1c2VyLWRlZmluZWQgY29t bXVuaXR5IHZhbHVlIHRvCjEwNTcJIMKgIHBsYXRmb3JtLS9uZXR3b3JrLXNwZWNpZmljIGJlaGF2 aW9yIHZpYSB1c2VyIGNvbmZpZ3VyYXRpb24uCgpbXSBNb3ZpbmcgdGhpcyBwYXJhZ3JhcGggdG8g aXRzIG93biBzZWN0aW9uIGlzIGFuIGltcHJvdmVtZW50LgoKW21ham9yXSBIb3dldmVyLCB0aGUg Tm9ybWF0aXZlIHNwZWNpZmljYXRpb24gc3RpbGwgYm90aGVycyBtZSBiZWNhdXNlCnRoZSB0ZXh0 IGlzIG5vdCBzcGVjaWZpYyBlbm91Z2ggZm9yIGltcGxlbWVudGF0aW9ucyB0bwppbnRlcm9wZXJh dGUuLi53aGljaCBJIGtub3cgaXMgcHJlY2lzZWx5IHRoZSBwb2ludCAobm8gc3RhbmRhcmQKYmVo YXZpb3IpLCBzbyBOb3JtYXRpdmUgbGFuZ3VhZ2Ugc2hvdWxkIG5vdCBiZSB1c2VkLiDCoCBQbGVh c2UKcy9TSE9VTEQvc2hvdWxkIMKgKHRvIHRha2UgdGhlIHRleHQgYmFjayB0byB3aGF0IHJmYzU1 NzUgc2F5cykKCgouLi4KMTA4MAk4LiDCoERpc3NlbWluYXRpb24gb2YgVHJhZmZpYyBGaWx0ZXJp bmcgaW4gQkdQL01QTFMgVlBOIE5ldHdvcmtzCi4uLgoxMDkyCSDCoCBUaGUgTkxSSSBmb3JtYXQg Zm9yIHRoaXMgYWRkcmVzcyBmYW1pbHkgY29uc2lzdHMgb2YgYSBmaXhlZC1sZW5ndGgKMTA5Mwkg wqAgUm91dGUgRGlzdGluZ3Vpc2hlciBmaWVsZCAoOCBieXRlcykgZm9sbG93ZWQgYnkgdGhlIEZs b3cKMTA5NAkgwqAgU3BlY2lmaWNhdGlvbiBOTFJJIHZhbHVlIFNlY3Rpb24gNC4yLiDCoFRoZSBO TFJJIGxlbmd0aCBmaWVsZCBzaGFsbAoxMDk1CSDCoCBpbmNsdWRlIGJvdGggdGhlIDggYnl0ZXMg b2YgdGhlIFJvdXRlIERpc3Rpbmd1aXNoZXIgYXMgd2VsbCBhcyB0aGUKMTA5NgkgwqAgc3Vic2Vx dWVudCBGbG93IFNwZWNpZmljYXRpb24gTkxSSSB2YWx1ZS4gwqBUaGUgcmVzdWx0aW5nIGVuY29k aW5nIGlzCjEwOTcJIMKgIHNob3duIGluIEZpZ3VyZSA3LgoKW21pbm9yXSBzL0Zsb3cgU3BlY2lm aWNhdGlvbiBOTFJJIHZhbHVlIFNlY3Rpb24gNC4yLi9GbG93ClNwZWNpZmljYXRpb24gTkxSSSB2 YWx1ZSAoU2VjdGlvbiA0LjIpLgoKCi4uLgoxMTM3CTEwLiDCoEVycm9yLUhhbmRsaW5nCgpbbml0 XSBzL0Vycm9yLUhhbmRsaW5nL0Vycm9yIEhhbmRsaW5nCgoxMTM5CSDCoCBFcnJvciBoYW5kbGlu ZyBhY2NvcmRpbmcgdG8gW1JGQzc2MDZdIFNIT1VMRCBhcHBseSB0byB0aGlzCjExNDAJIMKgIHNw ZWNpZmljYXRpb24uCgpbbWFqb3JdIHJmYzc2MDYgYWxyZWFkeSBhcHBsaWVzLi4udGhlcmUncyBu byBuZWVkIHRvIE5vcm1hdGl2ZWx5IHNheQppdCBoZXJlLiDCoEFuZCwgQlRXLCB0aGVuIHdvdW5k IGl0IG5vdCBhcHBseT8gwqBJT1csIHdoeSBpcyB0aGF0CiJTSE9VTEQiIG5vdCBhICJNVVNUIj8K Ck5FVyAoc3VnZ2VzdGlvbik6IEVycm9yIGhhbmRsaW5nIGFjY29yZGluZyB0byBbUkZDNzYwNl0g YW5kIFtSRkM0NzYwXQphcHBsaWVzIHRvIHRoaXMgc3BlY2lmaWNhdGlvbi4KCjExNDIJIMKgIFRo aXMgZG9jdW1lbnQgaW50cm9kdWNlcyBUcmFmZmljIEZpbHRlcmluZyBBY3Rpb24gRXh0ZW5kZWQK MTE0MwkgwqAgQ29tbXVuaXRpZXMuIMKgTWFsZm9ybWVkIFRyYWZmaWMgRmlsdGVyaW5nIEFjdGlv biBFeHRlbmRlZCBDb21tdW5pdGllcwoxMTQ0CSDCoCBpbiB0aGUgc2Vuc2Ugb2YgW1JGQzc2MDZd IFNlY3Rpb24gNy4xNC4gYXJlIEV4dGVuZGVkIENvbW11bml0eSB2YWx1ZXMKMTE0NQkgwqAgdGhh dCBjYW5ub3QgYmUgZGVjb2RlZCBhY2NvcmRpbmcgdG8gU2VjdGlvbiA3IG9mIHRoaXMgZG9jdW1l bnQuCgpbXSBQbGVhc2Ugc2VlIG15IGNvbW1lbnQgKGFib3ZlKSBpbiByZXBseSB0byB5b3VyIGNv bW1lbnRzIHJlbGF0ZWQgdG8Kwqc0LjIgKE5MUkkgVmFsdWUgRW5jb2RpbmcpLgoKCjExNDcJMTEu IMKgRnV0dXJlIE5MUkkgRXh0ZW5zaW9ucwoKMTE0OQkgwqAgRnV0dXJlIEZsb3cgU3BlY2lmaWNh dGlvbiBleHRlbnNpb25zIG1heSBpbnRyb2R1Y2UgbmV3IEZsb3cKMTE1MAkgwqAgU3BlY2lmaWNh dGlvbiBjb21wb25lbnRzLiDCoEluIG9yZGVyIHRvIGZhY2lsaXRhdGUgc3VjaCBleHRlbnNpb25z IG9mCjExNTEJIMKgIHRoZSBGbG93IFNwZWNpZmljYXRpb24gTkxSSSwgaW4gYWRkaXRpb24gdG8g dGhlIGNhc2VzIGRlc2NyaWJlZCBpbgoxMTUyCSDCoCBbUkZDNzYwNl0sIGlmIEJHUCBlbmNvdW50 ZXJzIGFuIHVua25vd24gRmxvdyBTcGVjaWZpY2F0aW9uIGNvbXBvbmVudAoxMTUzCSDCoCBpbiBh biBVUERBVEUgbWVzc2FnZSwgaXQgU0hPVUxEIGFsc28gdHJlYXQgdGhpcyBtZXNzYWdlIGFzIFRy ZWF0LWFzLQoxMTU0CSDCoCB3aXRoZHJhdyBhcyBzcGVjaWZpZWQgaW4gW1JGQzc2MDZdIFNlY3Rp b24gMi4KClttaW5vcl0gVGhpcyBwYXJhZ3JhcGggZGVzY3JpYmVzIGFuIGVycm9yIGNvbmRpdGlv biwgc28gbWF5YmUgaXQgYmVsb25ncyBpbiDCpzEwLgoKW21ham9yXSByZmM3NjA2L8KnMyByZWFk czoKCsKgIGouIMKgRmluYWxseSwgd2Ugb2JzZXJ2ZSB0aGF0IGluIG9yZGVyIHRvIHVzZSB0aGUg YXBwcm9hY2ggb2YgInRyZWF0LQrCoCDCoCDCoCBhcy13aXRoZHJhdyIsIHRoZSBlbnRpcmUgTkxS SSBmaWVsZCBhbmQvb3IgdGhlIE1QX1JFQUNIX05MUkkgYW5kCsKgIMKgIMKgIE1QX1VOUkVBQ0hf TkxSSSBhdHRyaWJ1dGVzIG5lZWQgdG8gYmUgc3VjY2Vzc2Z1bGx5IHBhcnNlZCAtLSB3aGF0CsKg IMKgIMKgIHRoaXMgZW50YWlscyBpcyBkaXNjdXNzZWQgaW4gbW9yZSBkZXRhaWwgaW4gU2VjdGlv biA1LiDCoElmIHRoaXMKwqAgwqAgwqAgaXMgbm90IHBvc3NpYmxlLCB0aGUgcHJvY2VkdXJlcyBv ZiBbUkZDNDI3MV0gYW5kL29yIFtSRkM0NzYwXQrCoCDCoCDCoCBjb250aW51ZSB0byBhcHBseSwg bWVhbmluZyB0aGF0IHRoZSAic2Vzc2lvbiByZXNldCIgYXBwcm9hY2ggKG9yCsKgIMKgIMKgIHRo ZSAiQUZJL1NBRkkgZGlzYWJsZSIgYXBwcm9hY2gpIE1VU1QgYmUgZm9sbG93ZWQuCgpJZiBhbiB1 bmtub3duIEZsb3cgU3BlY2lmaWNhdGlvbiBjb21wb25lbnQgZXhpc3RzLCB0aGVuIHRoZSBlbnRp cmUKTkxSSSBjYW5ub3QgYmUgInN1Y2Nlc3NmdWxseSBwYXJzZWQiLi4ud2hpY2ggcmVzdWx0cyBp biBub3QgYmVpbmcgYWJsZQp0byB1c2UgdHJlYXQtYXMtd2l0aGRyYXcuIMKgVGhlIHRleHQgYWJv dmUgbGVhdmVzIHVzIHdpdGggQUZJL1NBRkkKZGlzYWJsZSwgd2hpY2ggaXMgbm90IGV4dGVuc2lv bi1mcmllbmRseS4KCgpyZmM3NjA2L8KnNS40IHRhbGtzIGFib3V0IFR5cGVkIE5MUklzLCBzdWNo IGFzIGluIG1WUE4vRVZQTiwgYW5kCmNvbmNsdWRlcyBieSBzYXlpbmc6CgrCoCDCoEEgQkdQIHNw ZWFrZXIgYWR2ZXJ0aXNpbmcgc3VwcG9ydCBmb3Igc3VjaCBhIHR5cGVkIGFkZHJlc3MgZmFtaWx5 CsKgIMKgTVVTVCBoYW5kbGUgcm91dGVzIHdpdGggdW5yZWNvZ25pemVkIE5MUkkgdHlwZXMgd2l0 aGluIHRoYXQgYWRkcmVzcwrCoCDCoGZhbWlseSBieSBkaXNjYXJkaW5nIHRoZW0sIHVubGVzcyB0 aGUgcmVsZXZhbnQgc3BlY2lmaWNhdGlvbiBmb3IgdGhhdArCoCDCoGFkZHJlc3MgZmFtaWx5IHNw ZWNpZmllcyBvdGhlcndpc2UuCgpUaGUgRlMgTkxSSSBpcyBub3QgYSBUeXBlZCBOTFJJIGluIHRo ZSBzYW1lIHNlbnNlIHRoYXQgdGhlIGV4YW1wbGVzCmZyb20gcmZjNzYwNiBhcmU6IHRoZSBOTFJJ IGVuY29kaW5nIHN0YXJ0cyB3aXRoICJSb3V0ZSBUeXBlIi4gwqBCdXQsCmJlY2F1c2UgdGhlIE5M UkkgaXMgYmFzaWNhbGx5IGEgc2V0IG9mIGNvbXBvbmVudHMsICp3aXRoIFR5cGVzKiwgSQp0aGlu ayB3ZSBjb3VsZCBtYWtlIHRoZSBjYXNlIHRoYXQgdGhlIEZTIE5MUkkgaXMgYSBUeXBlZCBOTFJJ IGFuZCB0aGF0CnRoZSBwYXJhZ3JhcGggYWJvdmUgYXBwbGllcyB0byBpdC4uLndoaWNoIHdvdWxk IHJlc3VsdCBpbiBiZWluZyBhYmxlCnRvIGlnbm9yZS9kaXNjYXJkIGFuIFVQREFURSB3aXRoIGFu IHVua25vd24gY29tcG9uZW50ICh2cyBBRkkvU0FGSQpkaXNhYmxlKS4gwqBOb3RlIHRoYXQgdHJl YXQtYXMtd2l0aGRyYXcgaXMgc3RpbGwgbm90IGFuIG9wdGlvbi4KClRvIGJlIGNsZWFyOiBhbGwg dGhpcyBpcyBteSBwZXJzb25hbCBpbnRlcnByZXRhdGlvbi9wcm9wb3NhbC4gwqBJZiB5b3UKKGF1 dGhvcnMpIHdhbnQgdG8gZ28gd2l0aCB0aGlzIGFwcHJvYWNoIChyZXN1bHRpbmcgaW4gdGhlIGFi aWxpdHkgdG8KZGlzY2FyZCksIHRoZW4gd2Ugc2hvdWxkIGV4cGxpY2l0bHkgYm91bmNlIGl0IGJ5 IHRoZSBXRy4gwqBJZiBub3QsIHRoZW4Kd2UgY2FuIG9ubHkgcmVzZXQgdGhlIHNlc3Npb24gb3Ig ZGlzYWJsZSBGUy4uLgoKTkVXIChzdWdnZXN0aW9uKT4KwqAgwqBBbiBhZHZlcnRpc2VtZW50IGNv bnRhaW5pbmcgYW4gdW5rbm93biBGbG93IFNwZWNpZmljYXRpb24gY29tcG9uZW50CnNob3VsZCBi ZSBkaXNjYXJkZWQgYXMgc3BlY2lmaWVkIGluIFNlY3Rpb24gNS40IG9mIFtSRkM3NjA2XS4KCkFk ZGl0aW9uYWwgdGV4dCB3b3VsZCBiZSBuZWVkZWQgaW4gwqc0LjIgaWRlbnRpZnlpbmcgdGhlIEZT IE5MUkkgYXMgVHlwZWQuCgoxMTU2CSDCoCBUaGUgc3BlY2lmaWNhdGlvbiBvZiBhIG5ldyBGbG93 IFNwZWNpZmljYXRpb24gQ29tcG9uZW50IFR5cGUgU0hPVUxECjExNTcJIMKgIGNsZWFybHkgaWRl bnRpZnkgd2hhdCB0aGUgY3JpdGVyaWEgdXNlZCB0byBtYXRjaCBwYWNrZXRzIGZvcndhcmRlZCBi eQoxMTU4CSDCoCB0aGUgcm91dGVyIGlzLiDCoFRoaXMgY3JpdGVyaWEgc2hvdWxkIGJlIG1lYW5p bmdmdWwgYWNyb3NzIHJvdXRlciBob3BzCjExNTkJIMKgIGFuZCBub3QgZGVwZW5kIG9uIHZhbHVl cyB0aGF0IGNoYW5nZSBob3AtYnktaG9wIHN1Y2ggYXMgVFRMIG9yIExheWVyCjExNjAJIMKgIDIg ZW5jYXBzdWxhdGlvbi4KClttYWpvcl0gT25seSAiU0hPVUxEIj8gwqBJIGNhbid0IGltYWdpbmUg YSBjYXNlIHdoZXJlIGl0IHdvdWxkIGJlIG9rIHRvCm5vdCBpZGVudGlmeSB0aGUgY3JpdGVyaWEg Y2xlYXJseS4gwqBzL1NIT1VMRC9NVVNUCgoKLi4uCjExOTIJMTIuMi4gwqBGbG93IENvbXBvbmVu dCBEZWZpbml0aW9ucwouLi4KMTIyMgkgwqAgSW4gb3JkZXIgdG8gbWFuYWdlIHRoZSBsaW1pdGVk IG51bWJlciBzcGFjZSBhbmQgYWNjb21tb2RhdGUgc2V2ZXJhbAoxMjIzCSDCoCB1c2FnZXMsIHRo ZSBmb2xsb3dpbmcgcG9saWNpZXMgZGVmaW5lZCBieSBbUkZDODEyNl0gYXJlIHVzZWQ6CgoxMjI1 CSDCoCDCoCDCoCDCoCDCoCDCoCArLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLSsKMTIyNgkgwqAgwqAgwqAgwqAgwqAgwqAgfCBUeXBlIFZhbHVlcyDCoHwgUG9s aWN5IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgfAoxMjI3CSDCoCDCoCDCoCDC oCDCoCDCoCArLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsK MTIyOAkgwqAgwqAgwqAgwqAgwqAgwqAgfCAwIMKgIMKgIMKgIMKgIMKgIMKgfCBTcGVjaWZpY2F0 aW9uIHJlcXVpcmVkIMKgIMKgIMKgIMKgfAoxMjI5CSDCoCDCoCDCoCDCoCDCoCDCoCB8IFsxIC4u IDEyXSDCoCDCoHwgRGVmaW5lZCBieSB0aGlzIHNwZWNpZmljYXRpb24gfAoxMjMwCSDCoCDCoCDC oCDCoCDCoCDCoCB8IFsxMyAuLiAxMjddIMKgfCBTcGVjaWZpY2F0aW9uIHJlcXVpcmVkIMKgIMKg IMKgIMKgfAoxMjMxCSDCoCDCoCDCoCDCoCDCoCDCoCB8IFsxMjggLi4gMjU1XSB8IEZpcnN0IENv bWUgRmlyc3QgU2VydmVkIMKgIMKgIMKgIHwKMTIzMgkgwqAgwqAgwqAgwqAgwqAgwqAgKy0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCgpbbWlub3JdIENvbnNp ZGVyIHNpbXBseSByZXNlcnZpbmcgMC4KCgouLi4KMTM0MwkxMy4gwqBTZWN1cml0eSBDb25zaWRl cmF0aW9ucwouLi4KMTM1NwkgwqAgRGVwbG95bWVudCBvZiBzcGVjaWZpYyByZWxheGF0aW9ucyBv ZiB0aGUgdmFsaWRhdGlvbiB3aXRoaW4gYW4KMTM1OAkgwqAgYWRtaW5pc3RyYXRpdmUgYm91bmRh cnkgb2YgYSBuZXR3b3JrLCBkZWZpbmVkIGJ5IGFuIEFTIG9yIGFuIEFTLQoxMzU5CSDCoCBDb25m ZWRlcmF0aW9uIGJvdW5kYXJ5LCBtYXkgYmUgdXNlZnVsIGluIHNvbWUgbmV0d29ya3MgZm9yIHF1 aWNrbHkKMTM2MAkgwqAgZGlzdHJpYnV0aW5nIGZpbHRlcnMgdG8gcHJldmVudCBkZW5pYWwtb2Yt c2VydmljZSBhdHRhY2tzLiDCoEZvciBhCjEzNjEJIMKgIG5ldHdvcmsgdG8gdXRpbGl6ZSB0aGlz IHJlbGF4YXRpb24sIHRoZSBCR1AgcG9saWNpZXMgbXVzdCBzdXBwb3J0CjEzNjIJIMKgIGFkZGl0 aW9uYWwgZmlsdGVyaW5nIHNpbmNlIHRoZSBvcmlnaW4gQVMgZmllbGQgaXMgZW1wdHkuCjEzNjMJ IMKgIFNwZWNpZmljYXRpb25zIHJlbGF4aW5nIHRoZSB2YWxpZGF0aW9uIHJlc3RyaWN0aW9ucyBT SE9VTEQgY29udGFpbgoxMzY0CSDCoCBzZWN1cml0eSBjb25zaWRlcmF0aW9ucyB0aGF0IHByb3Zp ZGUgZGV0YWlscyBvbiB0aGUgcmVxdWlyZWQKMTM2NQkgwqAgYWRkaXRpb25hbCBmaWx0ZXJpbmcu IMKgRm9yIGV4YW1wbGUsIHRoZSB1c2Ugb2YgW1JGQzY4MTFdIHRvIGVuaGFuY2UKMTM2NgkgwqAg ZmlsdGVyaW5nIHdpdGhpbiBhbiBBUyBjb25mZWRlcmF0aW9uLgoKW21ham9yXSBXaGVuIHdvdWxk IGl0IGJlIG9rIGZvciBhIHNwZWNpZmljYXRpb24gdG8gbm90IHByb3ZpZGUKZGV0YWlscz8gwqBJ T1csIHdoeSBpcyAiU0hPVUxEIiB1c2VkIGFuZCBub3QgIk1VU1QiPwoKCgouLi4KMTQxOAkxNC4g wqBDb250cmlidXRvcnMKCjE0MjAJIMKgIEJhcnJ5IEdyZWVuZSwgUGVkcm8gTWFycXVlcywgSmFy ZWQgTWF1Y2gsIERhbm55IE1jUGhlcnNvbiwgYW5kCjE0MjEJIMKgIE5pc2NoYWwgU2hldGggd2Vy ZSBhdXRob3JzIG9uIFtSRkM1NTc1XSwgYW5kIHRoZXJlZm9yZSBhcmUKMTQyMgkgwqAgY29udHJp YnV0aW5nIGF1dGhvcnMgb24gdGhpcyBkb2N1bWVudC4KClttaW5vcl0gRGFubnkgaXMgbGlzdGVk IGJvdGggYXMgYSBDb250cmlidXRvciBhbmQgYXMgYW4gYXV0aG9yIG9mIHRoaXMgZG9jdW1lbnQu CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJZHIgbWFp bGluZyBsaXN0CklkckBpZXRmLm9yZwpodHRwczovL3d3dy5pZXRmLm9yZy9tYWlsbWFuL2xpc3Rp bmZvL2lkcgo=