[TLS] Re: Improving the quality of the discussion on the TLS email list
Paul Romer <[email protected]> Thu, 30 Jul 2026 17:30:02 -0400
| Newsgroups | gmane.ietf.tls |
|---|---|
| Message-ID | <CAEzBKQ6NOzQc66T+SEdSvLa2gxjtO77DYUUWuTfr99zV_a-Ofg@mail.gmail.com> |
U29waGllIChpZiBJIG1heSk6DQoNCkkgaGF2ZSBiZWVuIHB1enpsZWQgYnkgeW91ciBlbXBoYXNp cyBvbiBkb3duZ3JhZGUgYXR0YWNrcy4gSSBuZXZlcg0KbWVudGlvbmVkIHRoZW0uIEknbGwgb2Zm ZXIgYSBjb25qZWN0dXJlIGJlbG93IGFib3V0IHdoeSB5b3UgZW1waGFzaXplDQp0aGVtLg0KDQpU byBmb2N1cyBvbiB3aGF0IEkgYWN0dWFsbHkgc2FpZCwgc3RhcnQgd2l0aCB0aGlzIHNlbnRlbmNl IGZyb20gdGhlDQpzZWN1cml0eSBjb25zaWRlcmF0aW9ucyBzZWN0aW9uIG9mIGRyYWZ0LWlldGYt dGxzLW1sa2VtLTA5LnR4dDoNCg0KICAgIEltcGxlbWVudGVycyBtdXN0IGV2YWx1YXRlIHRoZWly IHNwZWNpZmljIHNlY3VyaXR5LCBwZXJmb3JtYW5jZSwgYW5kDQogICAgb3BlcmF0aW9uYWwgY29u c3RyYWludHMgd2hlbiBkZWNpZGluZyB3aGV0aGVyIHRvIGRlcGxveSBzdGFuZGFsb25lDQogICAg TUwtS0VNIG9yIGEgaHlicmlkIGNvbnN0cnVjdGlvbi4NCg0KVGhlIHNpbXBsZXN0IGNsYWltIHRo YXQgSSBtYWtlIGlzIHRoYXQgdGhlIFRMUyBXb3JraW5nIEdyb3VwIHNob3VsZA0KdHJ5IHRvIGdp dmUgYWNjdXJhdGUsIGRlY2lzaW9uLXJlbGV2YW50IGluZm9ybWF0aW9uIHRvIHBlb3BsZSB3aG8g aGF2ZQ0KdG8gY2hvb3NlIHdoYXQgdG8gZGVwbG95Lg0KDQoNCiMgQ29zdHMgYW5kIEJlbmVmaXRz DQpMZXQgTUxLRU03NjggYW5kIFgyNTUxOU1MS0VNNzY4IGJlIHRoZSB0d28gcHJvdG9jb2xzIHVu ZGVyDQpjb25zaWRlcmF0aW9uLiBUaGUgbmF0dXJhbCB3YXkgdG8gdGhpbmsgYWJvdXQgdGhlIGNo b2ljZSBiZXR3ZWVuIHRoZW0NCmlzIHRvIG1ha2Ugb25lIHRoZSBiYXNlbGluZSBhbmQgYXNzZXNz IHRoZSBjb3N0cyBhbmQgYmVuZWZpdHMgb2YgYQ0Kc3dpdGNoIHRvIHRoZSBvdGhlci4gQWxsIHRo YXQgbWF0dGVycyBmb3IgdGhlIGRlY2lzaW9uIGlzIHRoZSBjb3N0IGFuZA0KYmVuZWZpdCBvZiB0 aGUgY2hhbmdlLg0KDQpUYWtlIFgyNTUxOU1MS0VNNzY4IGFzIHRoZSBiYXNlbGluZS4gQ29uc2lk ZXIgdGhlIGNvc3RzIGFuZCBiZW5lZml0cw0Kb2YgYSBkb3duZ3JhZGUgdG8gTUxLRU03NjggKHdo ZXJlIEkgYW0gdXNpbmcgdGhlIHdvcmQgX2Rvd25ncmFkZV8gaW4NCnRoZSBzYW1lIHdheSB0aGF0 IHNvbWVvbmUgc3BlYWtzIG9mIGEgZG93bmdyYWRlIGZyb20gUHl0aG9uIDMuMTMgdG8NCjMuMTIp Lg0KDQpPbmUgb2YgdGhlIGJlbmVmaXRzIG9mIHRoZSBkb3duZ3JhZGUgaXMgdGhhdCBNTEtFTTc2 OCBkb2VzIG5vdCBuZWVkIHRvDQpkZXZvdGUgYW55IENQVSB0aW1lIHRvIHRoZSBlbGxpcHRpYyBj dXJ2ZSBjYWxjdWxhdGlvbnMgb2YgWDI1NTE5LiBNci4NCkphZ2VyIGNsYWltZWQgdGhhdCB0aGlz IGJlbmVmaXQgd2FzIG5lZ2xpZ2libGUuIE1zLiBDb25ub2xseSBpbXBsaWVkDQp0aGF0IGl0IG5v dCBuZWdsaWdpYmxlIGJlY2F1c2UgWDI1NTE5IHRha2VzIHR3aWNlIGFzIG11Y2ggQ1BVIHRpbWUg YXMNCk1MS0VNNzY4Lg0KDQpUaGUgc2ltcGxlIHBvaW50IEkgbWFkZSBpcyB0aGF0IHRha2luZyBh cyBnaXZlbiB0aGlzIGZhY3RvciBvZiAyLCB0aGUNCmRhdGEgY2l0ZWQgYnkgTXMuIENvbm5vbGx5 IHNob3cgdGhhdCB0aGUgY3ljbGUgY291bnRzIGZvciBib3RoIFgyNTUxOQ0KYW5kIE1MS0VNNzY4 IGFyZSBzbyBzbWFsbCB0aGF0IHRoZXkgYXJlIG5lZ2xpZ2libGUuDQoNCkkgZGlkIG5vdCBjb25z aWRlciB0aGUgcmVkdWN0aW9uIGluIHRoZSBkYXRhIHRoYXQgaXMgZXhjaGFuZ2VkIGJlY2F1c2UN Cm5laXRoZXIgTXIuIEphZ2VyIG5vciBNcy4gQ29ubm9sbHkgbWVudGlvbmVkIHRoZSBjb3N0IG9m IGV4Y2hhbmdpbmcNCmRhdGEuIE1vcmVvdmVyLCB3ZSBrbm93IHRoYXQgdGhlIGNoYW5nZSBpbiB0 aGUgZGF0YSByZXF1aXJlZCBpcyBqdXN0DQo2NCBieXRlcy4NCg0KVG8gZW1waGFzaXplIHRoYXQg b25seSBhIGNoYW5nZSBpbiBxdWFudGl0aWVzIGJlbG9uZ3MgaW4gYQ0KY29zdC1iZW5lZml0IGNh bGN1bGF0aW9uLCBjb25zaWRlciBhbiB1cGdyYWRlIGZyb20gTUxLRU03NjggdG8NClgyNTUxOU1M S0VNNzY4LiBJdCBkb2VzIG5vdCBtYXR0ZXIgaG93IG11Y2ggZGF0YSBpcyBleGNoYW5nZWQgaW4g dGhlDQpiYXNlIGNhc2UgKHdoaWNoIG5vdyBpcyBNTEtFTTc2OC4pIE5vciBkb2VzIGl0IG1ha2Ug c2Vuc2UgdG8gY29uc2lkZXINCnRoZSBwZXJjZW50YWdlIGluY3JlYXNlIGluIHRoZSBkYXRhIGV4 Y2hhbmdlZCBiZWNhdXNlIG9mIHRoZSB1cGdyYWRlDQp0byBYMjU1MTlNTEtFTTc2OC4gSXQgaXNu J3QgcG9zc2libGUgdG8gYXR0YWNoIGEgdmFsdWUgdG8gYSBwZXJjZW50YWdlDQpvciByYXRpbyB0 aGF0IGxhY2sgdW5pdHMuIEl0IGlzIHBvc3NpYmxlIHRvIHZhbHVlIG9uIGEgcmVkdWN0aW9uIGlu DQp0aGUgZGF0YSB0aGF0IG11c3QgYmUgZXhjaGFuZ2VkLg0KDQpJbiB0aGUgc2FtZSB3YXksIHdl IGNhbiBwdXQgYSB2YWx1ZSBvbiBzb21lIHF1YW50aXR5IG9mIENQVSBzZWNvbmRzLg0KVGhlIGRh dGEgaW4gdGhlIHRhYmxlIHRoYXQgTXMuIENvbm5vbGx5IGNpdGVzIHNob3cgdGhhdCB0aGUgZG93 bmdyYWRlDQp0byBNTEtFTTc2OCB3aWxsIHNhdmUgcm91Z2hseSAxLjEgKiAxMF4oLTQpIENQVSBz ZWNvbmRzIHBlciBUTFMgMS4zDQpjb25uZWN0aW9uLiBJIGNvbnZlcnRlZCB0aGlzIGludG8gZG9s bGFycyBhbmQgY29tcGFyZWQgaXQgdG8gYW4NCmVzdGltYXRlIG9mIHRoZSBjb3N0IGluIGRvbGxh cnMgb2YgdGhlIGZvcmdvbmUgc2VjdXJpdHk6DQoNCi0gQmVuZWZpdCBmcm9tIGRvd25ncmFkaW5n Og0KICAgICAgICAgICAgICAgQiA9ICQyLjkgKiAxMF4oLTkpIHBlciBUTFMgMS4zIGNvbm5lY3Rp b24NCg0KLSBDb3N0IG9mIGRvd25ncmFkaW5nOg0KICAgICAgICAgICAgICBDID0gJDIuNyAqIDEw XigtNCkgcGVyIFRMUyAxLjMgY29ubmVjdGlvbg0KDQpJIGRvIG5vdCBjbGFpbSB0aGF0IG15IGVz dGltYXRlcyBvZiBCIGFuZCBDIGFyZSBkZWZpbml0aXZlLiBJDQplbmNvdXJhZ2VkIG90aGVycyB0 byBjb21lIHVwIHdpdGggYWx0ZXJuYXRpdmUgZXN0aW1hdGVzLg0KDQpXaGF0IEkgZGlkIGNsYWlt IHdhcyB0aGF0IGlmIHRoZSBkaXNjdXNzaW9uIGluIHRoaXMgZ3JvdXAgZm9jdXNlZCBvbg0Kc3Bl Y2lmaWNzIHN1Y2ggYXMgdGhlc2UsIGNvbnNlbnN1cyB3b3VsZCBlbWVyZ2UgbmF0dXJhbGx5LCBq dXN0IGFzIGl0DQpkb2VzIGluIHNjaWVuY2UuDQoNCkJ1dCBub3cgd2UgaGF2ZSBhIHB1enpsZS4g V2h5IGlzIHRoaXMgc3VnZ2VzdGlvbiBhYm91dCBkb2luZyBhDQpjb3N0LWJlbmVmaXQgYW5hbHlz aXMgcGVyY2VpdmVkIGFzIHN1Y2ggYSB0aHJlYXQ/DQoNCg0KIyBXaHkgWW91IEtlZXAgUmVmZXJy aW5nIHRvIERvd25ncmFkZSBBdHRhY2tzDQoNClNvcGhpZSwgbXkgY29uamVjdHVyZSBpcyB0aGF0 IHlvdSBrZWVwIHJlZmVycmluZyB0byB0aGUgaW1wb3NzaWJpbGl0eQ0Kb2YgZG93bmdyYWRlIGF0 dGFja3MgYmVjYXVzZSB5b3Ugd2FudCB0byBjbGFpbSB0aGF0IG5vIG9uZSBpcyBmb3JjZWQNCnRv IHVzZSBNTEtFTTc2OC4gTGV0J3Mgc3RpcHVsYXRlIHRoYXQuIEV2ZXJ5b25lIGlzIGZyZWUgdG8g Y2hvb3NlLg0KRG9lcyB0aGlzIGltcGx5IHRoYXQgbWFraW5nIE1MS0VNNzY4IGEgc3RhbmRhcmQg d2lsbCBub3QgZG8gYW55IGhhcm0/DQpOby4gSWYgdGhhdCBhcmd1bWVudCB3ZXJlIGNvcnJlY3Qs IGl0IHdvdWxkIGFsc28gYXBwbHkgdG8gYSBzdGFuZGFyZA0KdGhhdCBjYWxscyBmb3Igbm8gZW5j cnlwdGlvbiBvZiBhIFRMUyBjb25uZWN0aW9uLiBNb3Jlb3ZlciwgYSBsYXJnZQ0KbGl0ZXJhdHVy ZSBvbiBzdGFuZGFyZHMgZGVidW5rcyB0aGUgYXNzZXJ0aW9uIHRoYXQgaW4gYSBjb250ZXh0IHdo ZXJlDQptYW55IHN0YW5kYXJkcyBjYW4gZW1lcmdlLCBmcmVlIGNob2ljZSBhdXRvbWF0aWNhbGx5 IHN1cHBvcnRzIGFuDQplZmZpY2llbnQgb3V0Y29tZS4NCg0KQnV0IHNldCBhbGwgdGhhdCBhc2lk ZS4gQXMgYSByZXNwb25zZSB0byB3aGF0IEkgd3JvdGUsIGFueSBkZWZlbnNlIG9mDQp0aGUgZGVj aXNpb24gdG8gYmxlc3MgTUxLRU03NjggaXMgb2ZmIHBvaW50LiBJIHdhcyB2ZXJ5IGV4cGxpY2l0 IGFib3V0DQpyZWZyYWluaW5nIGZyb20gc2F5aW5nIGFueXRoaW5nIGFib3V0IHdoZXRoZXIgb3Ig bm90IGl0IHdhcyBnb29kIG9yDQpiYWQgdG8gZm9ybWFsaXplIE1MS0VNNzY4LiBJIGZvY3VzZWQg b24gdGhlIHNwZWNpZmljIHF1ZXN0aW9uIEkNCmhpZ2hsaWdodGVkIGFib3ZlOiBHaXZlbiB0aGF0 IHRoZXJlIGFyZSBwZW9wbGUgd2hvIGhhdmUgdG8gZGVjaWRlIHdoYXQNCnRvIGRlcGxveSwgd2hh dCBjYW4gd2Ugb2ZmZXIgdG8gaGVscCB0aGVtIG1ha2UgYW4gaW5mb3JtZWQgZGVjaXNpb24/DQoN CkhlcmUgd2UgaGl0IHRoZSBwdXp6bGUgYWdhaW4uIFdoeSBpcyB0aGUgc3VnZ2VzdGlvbiB0aGF0 IHRoZSBncm91cA0KcHJvdmlkZSBpbmZvcm1hdGlvbiBhYm91dCBCIGFuZCBDIHBlcmNlaXZlZCBh cyBhIHRocmVhdD8NCg0KDQojIFRoZSBUTFMgV29ya2luZyBHcm91cCBJcyBpbiBhIEhvbGUNCg0K SSB0aGluayBJIHVuZGVyc3RhbmQgd2h5IHRoZSBtZXNzYWdlIEkgc3VibWl0dGVkIG1hZGUgcGVv cGxlIHdobw0Kc3VwcG9ydGVkIHB1YmxpY2F0aW9uIG9mIHRoZSBSRkMgZmVlbCBkZWZlbnNpdmUg YW5kIHRocmVhdGVuZWQuIEkNCnRoaW5rIGV2ZXJ5b25lIHVuZGVyc3RhbmRzIHdoeS4NCg0KSG9z dGlsaXR5IHRvd2FyZCBzb21ldGhpbmcgYXMgaW5ub2N1b3VzIGFzIGEgY29zdC1iZW5lZml0IGFu YWx5c2lzIGlzDQphIHNpZ24gb2YgdGhlIGRhbWFnZSB0aGF0IHdhcyBkb25lIGJ5IHRoZSBzdHJh dGVneSBvZiBtaXNkaXJlY3Rpb24gYW5kDQpkZWNlcHRpb24gdGhhdCB3YXMgdXNlZCB0byBnZXQg dGhlIFJGQyBwdWJsaXNoZWQuIElmIHdlIGFjY2VwdCB0aGF0DQp0aGUgUkZDIHdvdWxkIGluZXZp dGFibHkgaGF2ZSBiZWVuIHB1Ymxpc2hlZCwgaXQgd291bGQgYmUgaGF2ZSBiZWVuDQpiZXR0ZXIg Zm9yIHRoZSBncm91cCB0byBoYXZlIHN0YXRlZCB0aGF0IGl0IHdhcyBwdWJsaXNoaW5nIGl0IGJl Y2F1c2UNCmdvdmVybm1lbnQgb2ZmaWNpYWxzIHdhbnQgaXQgYW5kIHRoYXQgaW50ZXJlc3RlZCBw YXJ0aWVzIHNob3VsZCBhc2sNCnRoZW0gd2h5IHRoZXkgd2FudGVkIGl0Lg0KDQpUaGUgc3RyYXRl Z3kgdGhhdCB3YXMgdXNlZCBpbnN0ZWFkIGhhcyBsZWF2ZSB0aGUgZ3JvdXAgaW4gYSBob2xlLiBU aGUNCmNob2ljZSBpdCBjYW4gbWFrZSBpcyB0byBjbGltYiBvdXQgb3Iga2VlcCBkaWdnaW5nLg0K DQpUaGUgd2F5IHRvIGNsaW1iIG91dCBpcyB0byBjb3B5IHRoZSBvbmx5IHNvY2lhbCBzeXN0ZW0g dGhhdCBoYXMgZXZlcg0KZGVsaXZlcmVkIHZvbHVudGFyeSBjb25zZW5zdXMsIHRoZSBzeXN0ZW0g b2Ygc2NpZW5jZS4gVGhlIHN0cmF0ZWd5IG9mDQpzY2llbmNlIG1heSBzb21ldGltZXMgY2F1c2Ug ZGlzY29tZm9ydCwgYnV0IGl0IGlzIHNpbXBsZS4gRm9jdXMNCmF0dGVudGlvbiBvbiBzcGVjaWZp YyBiaXRzIG9mIGV2aWRlbmNlIHRoYXQgaGVscCByZXNvbHZlIGEgcHJlY2lzZWx5DQpmb3JtdWxh dGVkIHF1ZXN0aW9uLiBNYWtlIGNvbnRyaWJ1dGlvbnMgcHVibGljLiBVc2UgYSBwcm9vZiBvZiB3 b3JrIHRvDQpmaWx0ZXIgb3V0IGNoZWFwIHRhbGsuDQoNCg0KT24gVHVlLCBKdWwgMjgsIDIwMjYg YXQgNjoxNOKAr1BNIFNvcGhpZSBTY2htaWVnDQo8c3NjaG1pZWc9NDBnb29nbGUuY29tQGRtYXJj LmlldGYub3JnPiB3cm90ZToNCj4NCj4gSXQgc2VlbXMgbGlrZSB0aGUgcG9pbnQgeW91IHdhbnQg dG8gbWFrZSwgd2hlbiBjb25kZW5zZWQgdG8gYmUgbW9yZSBzdWNjaW5jdGx5IGlzIHRoYXQgY29t cHV0ZSBvdmVyaGVhZCBvZiB0aGUgaGFuZHNoYWtlIGl0c2VsZiBtaWdodCBiZSBzbyBzbWFsbCB0 aGF0IGEgZmFjdG9yIG9mIHRocmVlIGRvZXMgbm90IGNvbnN0aXR1dGUgYSBtYWpvciBvdmVyaGVh ZC4gSW5kZWVkIHRoZSBjb3N0IG9mIGNvbXB1dGUgb3ZlcmhlYWQgdGVuZHMgdG8gdmFyeSBzdWJz dGFudGlhbGx5IGJldHdlZW4gbmV0d29yayBhcmNoaXRlY3R1cmVzLCB3aXRoIGJhbmR3aWR0aCB1 c3VhbGx5IGZhciBvdXR3ZWlnaGluZyB0aGUgY29zdCBvZiBjb21wdXRlLiBIb3dldmVyLCB0aGlz IGlzIG5vdCB0aGUgY2FzZSBmb3IgYWxsIG5ldHdvcmtzLCBpbiBwYXJ0aWN1bGFyIGNvbm5lY3Rp b25zIHdpdGhpbiBhIGRhdGFjZW50ZXIgYXJlIHVzdWFsbHkgY29tcHV0ZSBjb25zdHJhaW5lZCwg bm90IG5ldHdvcmsgbGF0ZW5jeSBjb25zdHJhaW5lZC4gRGVpZHJlJ3MgcG9pbnQgdGhhdCB0aGVy ZSBhcmUgc2l0dWF0aW9ucyB3aGVyZSB0aGUgaHlicmlkIGhhcyBub24tbmVnbGlnaWJsZSBvdmVy aGVhZCBpcyB0aGVyZWZvcmUgc2ltcGx5IHRydWUsIGF0IGxlYXN0IGZvciBzb21lIHVzZSBjYXNl cy4NCj4NCj4gQnV0IG1vcmUgaW1wb3J0YW50bHksIHRoaXMgcXVlc3Rpb24gaXMgYmVzaWRlIHRo ZSBwb2ludC4gS2V5IGV4Y2hhbmdlIGFsZ29yaXRobXMgaW4gVExTIGFyZSBuZWdvdGlhdGVkIGlu IGEgZG93bmdyYWRlIHByb3RlY3RlZCBtYW5uZXIsIGFuZCB3aXRoIGN1cnJlbnQgc3RhY2tzIHBy ZWZlcnJpbmcgKHVzdWFsbHkgZXhjbHVzaXZlbHkpIGh5YnJpZHMgb3ZlciBwdXJlLCB0aGUgY29z dCBvciBsYWNrIHRoZXJlb2Ygb2YgYSBoeWJyaWQgaXMgbm90IGFuIG9iamVjdGlvbiB0aGF0IHNo b3VsZCBiZSBzZWVuIGFzIG1hdGVyaWFsIHRvIHN0YW5kYXJkaXphdGlvbiB0byBiZWdpbiB3aXRo LiBTbyB0aGUgZ29vZCBuZXdzIGlzIHRoYXQgYWxsIHlvdXIgVExTIGNvbm5lY3Rpb25zIHdpbGwg Y29udGludWUgdG8gdXNlIGEgaHlicmlkLCB3aXRob3V0IHlvdSBoYXZpbmcgdG8gcGF5IGEgZGlt ZSwgd2l0aCB6ZXJvIHJpc2sgb2YgYSBkb3duZ3JhZGUuIFlvdSBkbyBub3QgZXZlbiBoYXZpbmcg dG8gY2hhbmdlIHlvdXIgVExTIGNvbmZpZ3VyYXRpb24sIGFzIHRoZSBoeWJyaWQgaXMsIGFzIG5v dGVkLCBkZWZhdWx0IGluIGFsbCByZWxldmFudCBzdGFja3MuIFdoZW4gdXNpbmcgQ2hyb21lLCB5 b3UgY2FuIGNoZWNrIGJ5IGhpdHRpbmcgRjEyIGFuZCBsb29raW5nIGF0IHRoZSBzZWN1cml0eSB0 YWIsIHdoZXJlIGl0IHNob3VsZCBzdGF0ZSB3aGljaCBrZXkgZXhjaGFuZ2UgYWxnb3JpdGhtIHdh cyBuZWdvdGlhdGVkLiBVbmxlc3MgeW91IGRlbGliZXJhdGVseSBjaGFuZ2UgdGhlIGRlZmF1bHRz LCBhbmQgZmluZCBhIHNlcnZlciB3aGljaCB3aWxsIG9mZmVyIHB1cmUgTUwtS0VNLCB0aGlzIHdp bGwgYWx3YXlzIHJlYWQgWDI1NTE5TUxLRU03NjguIFNpbWlsYXIgZnVuY3Rpb25hbGl0eSBleGlz dHMgaW4gb3RoZXIgYnJvd3NlcnMsIHRvbywgYW5kIHRoZXkgdG9vIGdvIHdpdGggWDI1NTE5TUxL RU03NjggdW5sZXNzIHNwZWNpZmljYWxseSBjb25maWd1cmVkIG90aGVyd2lzZSBieSB5b3Vyc2Vs Zi4NCj4NCj4gVGhlIGFsZ29yaXRobSBjaG9pY2VzIGFyZSBwYXJ0IG9mIHRoZSBrZXkgZGVyaXZh dGlvbiBmdW5jdGlvbiBjYWxsLCBhbmQgc28gY2Fubm90IGJlIG1vZGlmaWVkIGJ5IGFuIGF0dGFj a2VyIHdpdGhvdXQgZWl0aGVyIGZvcmdpbmcgYSBzaWduYXR1cmUgb3IgaGF2aW5nIHRoZSBwYXJ0 aWNpcGFudHMgbm90aWNlIGFuZCBzdWJzZXF1ZW50bHkgZmFpbCB0aGUgaGFuZHNoYWtlIChhbiBh dHRhY2tlciB3aXRoIHRoZSBwb3dlciB0byBtb2RpZnkgdHJhZmZpYyBjYW4gYWx3YXlzIGNhdXNl IHRoZSBoYW5kc2hha2UgdG8gZmFpbCwgc28gdGhpcyBpcyBub3QgYSBET1MgdmVjdG9yKS4NCj4N Cj4gQXMgZm9yIGNvbmR1Y3Qgb24gdGhlIG1haWxpbmcgbGlzdCwgbXkgcGVyc29uYWwgcHJlZmVy ZW5jZSB3b3VsZCBiZSB0aGUgdXNhZ2Ugb2Ygc21hbGxlciBtZXNzYWdlcywgZXNwZWNpYWxseSB3 aGVuIGRpc2N1c3Npbmcgb3ZlcmhlYWQgOikuIFRoaXMgbWVhbnMgdGhhdCB3aGVuIHVzaW5nIGFu IExMTSB0byBkcmFmdCBhIG1lc3NhZ2UsIGl0IGlzIHVzdWFsbHkgbW9yZSBlZmZpY2llbnQgdG8g anVzdCBzZW5kIHRoZSBwcm9tcHQsIGluc3RlYWQgb2YgdGhlIHVzdWFsbHkgZmFpcmx5IHZlcmJv c2Ugb3V0cHV0IG9mIHRoZSBMTE0uDQo+DQo+IE9uIFR1ZSwgSnVsIDI4LCAyMDI2IGF0IDI6MTbi gK9QTSBQYXVsIFJvbWVyIDxyb21lcnA9NDBiYy5lZHVAZG1hcmMuaWV0Zi5vcmc+IHdyb3RlOg0K Pj4NCj4+IEkgc3RhcnRlZCByZWFkaW5nIG1lc3NhZ2VzIG9uIHRoZSBUTFMgbGlzdCBzZXZlcmFs IHdlZWtzIGFnbyBhZnRlciBhDQo+PiBibG9nIHBvc3QgYnkgRGFuaWVsIEJlcm5zdGVpbiBzdXJm YWNlZCBvbiBIYWNrZXIgTmV3cyBjYWxsaW5nDQo+PiBhdHRlbnRpb24gdG8gdGhlIHRoZW4tcGVu ZGluZyBkZWNpc2lvbiBhYm91dCB3aGV0aGVyIHRvIHB1Ymxpc2gNCj4+ICJNTC1LRU0gUG9zdC1R dWFudHVtIEtleSBBZ3JlZW1lbnQgZm9yIFRMUyAxLjMiIGFzIGFuIFJGQy4NCj4+DQo+PiBPbiB0 aGUgYmFzaXMgb2Ygd2hhdCBJIHJlYWQsIEkgY29uY2x1ZGVkIHRoYXQgbXkgc3RhdHVzIGFzIGEg bmV3Y29tZXINCj4+IHdvdWxkIGRpc3F1YWxpZnkgbWUgZnJvbSBwYXJ0aWNpcGF0aW5nIGluIHRo YXQgZGVjaXNpb24uIEkgd2l0aGhlbGQgbXkNCj4+IGNvbW1lbnRzIHVudGlsIHRoZSBkZWNpc2lv biB3YXMgbWFkZS4NCj4+DQo+PiBJIHNoYXJlIHRoZSBjb25jZXJuIHRoYXQgbWFueSBtZW1iZXJz IHZvaWNlOiB0aGUgZ3JvdXAgZGlzY3Vzc2lvbiBpcw0KPj4gZHlzZnVuY3Rpb25hbC4gSSdtIHdy aXRpbmcgbm93IGJlY2F1c2UgSSBmZWFyIHRoYXQgc3VnZ2VzdGlvbnMgYWJvdXQNCj4+IGhvdyB0 byBkbyBiZXR0ZXIgYXJlIG5vdCBpbmZvcm1lZCBieSBhbiBhY2N1cmF0ZSBkaWFnbm9zaXMgb2Yg dGhlDQo+PiBwcm9ibGVtIGFuZCB0aGF0IHRoZSBtZWFzdXJlcyBiZWluZyBjb25zaWRlcmVkIHdp bGwgbWFrZSB0aGUNCj4+IHVuZGVybHlpbmcgcHJvYmxlbSB3b3JzZS4NCj4+DQo+Pg0KPj4NCj4+ ICMgMS4gU2NpZW5jZSBhcyB0aGUgTW9kZWwgZm9yIEhvdyBUbyBSZWFjaCBhIENvbnNlbnN1cw0K Pj4NCj4+IFRoZSBvcmFsIHRyYWRpdGlvbiBJIGFic29yYmVkIGFzIGFuIHVuZGVyZ3JhZHVhdGUg aW5jbHVkZWQgYQ0KPj4gZGVzY3JpcHRpb24gb2Ygc2NpZW5jZSB0aGF0IHdhcyBhdHRyaWJ1dGVk IHRvIEVucmljbyBGZXJtaTogIlNjaWVuY2UNCj4+IGlzIGEgcHJvY2VzcyBmb3IgcmVhY2hpbmcg Y29uc2Vuc3VzLiIgQXQgdGhlIHRpbWUsIEkgdmlnb3JvdXNseQ0KPj4gZGlzYWdyZWVkLiBUaGlz IGRlc2NyaXB0aW9uIHNlZW1lZCB0byBvcGVuIHRoZSBkb29yIHRvIGFsbCBraW5kcyBvZg0KPj4g dW5zY2llbnRpZmljIHdheXMgdG8gcmVhY2ggYSBjb25zZW5zdXMuIEJ1dCBvdmVyIHRpbWUsIEkn dmUgY29tZSB0bw0KPj4gYXBwcmVjaWF0ZSBpdCwgcHJvdmlkZWQgd2UgbWFrZSBleHBsaWNpdCB0 aGUgYXNzdW1wdGlvbiB0aGF0IGNvbnNlbnN1cw0KPj4gaXMgdm9sdW50YXJ5LiBJJ2QgcmVwaHJh c2UgaXQgYXM6DQo+Pg0KPj4gICAgICoqU2NpZW5jZSBpcyB0aGUgb25seSBzb2NpYWwgc3lzdGVt IHRoYXQgaGFzIGV2ZXIgYWNoaWV2ZWQgYnJvYWQNCj4+IGNvbnNlbnN1cyB3aXRob3V0IGNvZXJj aW9uLioqDQo+Pg0KPj4gQmlsbGlvbnMgb2YgcGVvcGxlIHNoYXJlIGEgY29uc2Vuc3VzIHRoYXQg dGhlIGVhcnRoIGlzIGEgc3BoZXJvaWQsIG5vdA0KPj4gYSBmbGF0IGRpc2suIFRvIGJlIHN1cmUs IHRoZXJlIGFyZSBkZW5pZXJzLiBUaGVyZSBhcmUgYWx3YXlzIGRlbmllcnMuDQo+PiBCdXQgdGhl IGNvbnNlbnN1cyBhbW9uZyBiaWxsaW9ucyBpcyBhc3RvbmlzaGluZy4NCj4+DQo+PiBNeSBkaWFn bm9zaXMgb2YgdGhlIHByb2JsZW1zIHdpdGggdGhlIFRMUyBXb3JraW5nIEdyb3VwIGRyYXdzIG9u IG15DQo+PiB1bmRlcnN0YW5kaW5nIG9mIGhvdyBzY2llbnRpc3RzIHJlYWNoIGNvbnNlbnN1cy4N Cj4+DQo+PiBBLiBQYXJ0aWNpcGFudHMgYWdyZWUgb24gdHdvIHByaW5jaXBsZXM6DQo+PiAgICAg LSBFdmlkZW5jZSBpcyB0aGUgdWx0aW1hdGUgYXJiaXRlciBvZiB0cnV0aC4NCj4+ICAgICAtIFRo ZXJlIGFyZSBvYmplY3RpdmUgcnVsZXMgZm9yIGxvZ2ljYWwgaW5mZXJlbmNlLg0KPj4NCj4+IEIu IEluIHRoZWlyIGRpc2NvdXJzZSwgc2NpZW50aXN0cyBleGNoYW5nZSBzZXZlcmFsIHR5cGVzIG9m ICJnb29kIiBtZXNzYWdlczoNCj4+ICAgICAxLiBHb29kIG1lc3NhZ2VzIGFsbW9zdCBhbHdheXMg Zm9jdXMgb24gc3BlY2lmaWNzIHRoYXQgYWxsb3cgYQ0KPj4gZGlyZWN0IGNvbm5lY3Rpb24gdG8g ZXZpZGVuY2UuDQo+PiAgICAgMi4gU29tZSBnb29kIG1lc3NhZ2VzIGNvbnRyaWJ1dGUgbmV3IGV2 aWRlbmNlIGFuZCB1c2UgbG9naWMgdG8NCj4+IHN1bW1hcml6ZSB0aGUgaW1wbGljYXRpb25zIG9m IHRoZSBhdWdtZW50ZWQgYm9keSBvZiBldmlkZW5jZS4NCj4+ICAgICAzLiBPdGhlciBnb29kIG1l c3NhZ2VzIGNoYWxsZW5nZSBtaXNzdGF0ZW1lbnRzIGFib3V0IHRoZSBldmlkZW5jZQ0KPj4gY2l0 ZWQgYnkgb3RoZXJzLg0KPj4gICAgIDQuIFN0aWxsIG90aGVyIGdvb2QgbWVzc2FnZXMgdW5jb3Zl ciBmbGF3cyBpbiB0aGUgbG9naWMgdXNlZCB0bw0KPj4gZHJhdyBpbXBsaWNhdGlvbnMgZnJvbSB0 aGUgYXZhaWxhYmxlIGV2aWRlbmNlLg0KPj4gICAgIDUuIFdoZW4gc29tZW9uZSBjb250cmlidXRl cyBhIG1lc3NhZ2UgdGhhdCBpcyBzdWJzZXF1ZW50bHkgc2hvd24NCj4+IHRvIGJlIGZhbHNlIG9y IG1pc2xlYWRpbmcsIHRoaXMgY29udHJpYnV0b3Igc2VuZHMgYSBwYXJ0aWN1bGFybHkNCj4+IGlt cG9ydGFudCB0eXBlIG9mIGZvbGxvdy11cCBtZXNzYWdlIHRoYXQgYWNrbm93bGVkZ2VzIHRoZSBm bGF3cyBpbiB0aGUNCj4+IGNvbnRyaWJ1dG9yJ3MgbWVzc2FnZSBhbmQgcmVjb2duaXplcyB0aGUg YWNjdXJhY3kgb2YgdGhlIGFuYWx5c2lzIGJ5DQo+PiBvdGhlcnMuDQo+Pg0KPj4gVGhlIHN0cmlr aW5nIHRoaW5nIGFib3V0IHRoaXMgbGlzdCBpcyB0aGF0IGFsdGhvdWdoIGl0IGhhcyBtYW55DQo+ PiB0YWxlbnRlZCBtZW1iZXJzLCBpdCByZWNlaXZlcyBmZXcgZ29vZCBtZXNzYWdlcy4gSW4gd2hh dCBmb2xsb3dzLCBJJ2xsDQo+PiBnaXZlIHNwZWNpZmljIGV4YW1wbGVzLCBvZiBtaXNzaW5nIG1l c3NhZ2VzOiBhIG1lc3NhZ2Ugb2YgdHlwZSAyIGFuZCBhDQo+PiBtZXNzYWdlIG9mIHR5cGUgNCB0 aGF0IG5vIG9uZSBzZW50IGV2ZW4gdGhvdWdoIHRoZXJlIHN1cmVseSB3ZXJlDQo+PiBtZW1iZXJz IHdobyB1bmRlcnN0b29kIHRoZSBwb2ludHMgdGhhdCB0aGVzZSB0d28gbWVzc2FnZXMgY29udmV5 Lg0KPj4gQmVjYXVzZSBubyBvbmUgcmVzcG9uZGVkLCBhbiBlcnJvciBwZXJzaXN0ZWQuDQo+Pg0K Pj4gTW9yZSBtb2RlcmF0aW9uIHdpbGwgbm90IGdldCB5b3UgdGhlIG1lc3NhZ2VzIHRoYXQgdGhp cyBsaXN0IG5lZWRzLg0KPj4gVGhlIG1pc3NpbmcgbWVzc2FnZXMgc3VnZ2VzdCB0aGF0IGEgY29u Y2VybiBhYm91dCB3aGF0IGlzIHBlcm1pdHRlZA0KPj4gbWF5IGFscmVhZHkgYmUgZW5jb3VyYWdp bmcgcGVvcGxlIHRvIHNlbGYtY2Vuc29yLiBUaGVyZSBhcmUgdG9vIG1hbnkNCj4+IG1lc3NhZ2Vz IHRoYXQgY29udHJpYnV0ZSBub2lzZSwgYnV0IHRoZXJlIGFyZSBzYWZlciB3YXlzIHRvIGxpbWl0 IHRoZQ0KPj4gaGFybSB0aGV5IGRvLg0KPj4NCj4+DQo+Pg0KPj4gIyAyLiBTcGVjaWZpY3MNCj4+ DQo+PiBQYXJ0aWNpcGFudHMgaW4gc2NpZW50aWZpYyBkaXNjdXNzaW9ucyBmb2N1cyBkb2dnZWRs eSBvbiBuYXJyb3cNCj4+IGFzc2VydGlvbnMgYWJvdXQgc3BlY2lmaWNzLiBUaGlzIGlzIGhvdyB0 aGUgY29tbXVuaXR5IHN1c3RhaW5zIGl0cw0KPj4gY29tbWl0bWVudCB0byB0aGUgcHJpbmNpcGxl IHRoYXQgZXZpZGVuY2UgaXMgdGhlIHVsdGltYXRlIGFyYml0ZXIgb2YNCj4+IHRydXRoLg0KPj4N Cj4+IEluIHRoYXQgc3Bpcml0LCBJIHdpbGwgZm9jdXMgb24gYSBzcGVjaWZpYyBlbWFpbCBleGNo YW5nZSBmcm9tDQo+PiBGZWJydWFyeSAyMDI2IHRoYXQgY29uc2lzdHMgb2YgYW4gYXNzZXJ0aW9u IGFuZCBhIHJlc3BvbnNlLiBCb3RoIGFyZQ0KPj4gc3BlY2lmaWMgZW5vdWdoIHRoYXQgb25lIGNh biBhc3Nlc3Mgd2hldGhlciB0aGV5IGFyZSBhY2N1cmF0ZSBhbmQgb24NCj4+IHBvaW50Lg0KPj4N Cj4+IE9uIDI3IEZlYnJ1YXJ5IDIwMjYsIFRpYm9yIEphZ2VyIHdyb3RlOg0KPj4NCj4+ICAgICAi dGhlIHVzZSBvZiBoeWJyaWQgY3J5cHRvIGNvbWVzIHdpdGggbmVnbGlnaWJsZSBvdmVyaGVhZCwN Cj4+ICAgICBhcyBmb3IgTUwtS0VNICsgRUNDLiINCj4+DQo+PiBodHRwczovL21haWxhcmNoaXZl LmlldGYub3JnL2FyY2gvbXNnL3Rscy80UGNXa0lEM2JzNE1fLUhlX09MMGp5NUN5WlkvDQo+Pg0K Pj4gVGhhdCBzYW1lIGRheSwgRGVpcmRyZSBDb25ub2xseSByZXBsaWVkOg0KPj4NCj4+ICAgICAi WDI1NTE5IGlzIGFsbW9zdCB0d2ljZSBhcyBzbG93IGFzIE1MS0VNNzY4ICgNCj4+ICAgICBodHRw czovL2Jsb2cuY2xvdWRmbGFyZS5jb20vcHEtMjAyNS8jbWwta2VtLXZlcnN1cy14MjU1MTkpIg0K Pj4NCj4+IGh0dHBzOi8vbWFpbGFyY2hpdmUuaWV0Zi5vcmcvYXJjaC9tc2cvdGxzL2RTUDBoV3V3 dF96VnVNaFptR3BNbWZ0UEpTNC8NCj4+DQo+Pg0KPj4NCj4+ICMgMy4gUmVkIEhlcnJpbmdzIGFu ZCBJbnRlbnQNCj4+DQo+PiBBY2NvcmRpbmcgdG8gV2lraXBlZGlhLCBhIHJlZCBoZXJyaW5nIG1p c2xlYWRzIG9yIGRpc3RyYWN0cyBmcm9tIGENCj4+IHJlbGV2YW50IG9yIGltcG9ydGFudCBxdWVz dGlvbi4gU29tZW9uZSBjYW4gaW5qZWN0IGEgcmVkIGhlcnJpbmcNCj4+IGludGVudGlvbmFsbHkg b3IgaW5hZHZlcnRlbnRseS4NCj4+DQo+PiBTZWN0aW9uIDQgZ2l2ZXMgYW4gZXhhbXBsZSBvZiBh IG1lc3NhZ2Ugb2YgdHlwZSA0IHRoYXQgZmluZHMgZmF1bHQNCj4+IHdpdGggdGhlIGxvZ2ljIG9m IHRoZSByZXNwb25zZSBieSBNcy4gQ29ubm9sbHkuIEl0IHNob3dzIHRoYXQgaGVyDQo+PiByZXNw b25zZSBpcyBhIHJlZCBoZXJyaW5nLiBBIHNpbXBsZSBhcml0aG1ldGljIGFyZ3VtZW50IHNob3dz IHRoYXQgdGhlDQo+PiBmYWN0b3Igb2YgMiB0aGF0IHNoZSBjaXRlcyBoYXMgemVybyBiZWFyaW5n IG9uIHRoZSBhc3NlcnRpb24gYnkgTXIuDQo+PiBKYWdlci4NCj4+DQo+PiBTZWN0aW9uIDUgaGFz IGEgbWVzc2FnZSBvZiB0eXBlIDIgdGhhdCBhZGRzIG5ldyBldmlkZW5jZSwgaW4gdGhpcw0KPj4g Y2FzZSwgZXZpZGVuY2UgZHJhd24gZnJvbSB0aGUgc291cmNlIHRoYXQgTXMuIENvbm5vbGx5IGNp dGVzLiBUaGlzIG5ldw0KPj4gZXZpZGVuY2Ugc3VwcG9ydHMgTXIuIEphZ2VyJ3MgYXNzZXJ0aW9u Lg0KPj4NCj4+IFVuZGVyIHRoZSBub3JtcyBvZiBzY2llbmNlLCB0aGUgYXBwcm9wcmlhdGUgcmVz cG9uc2UgdG8gYSByZWQgaGVycmluZw0KPj4gaXMgdG8gc2hvdyBob3cgaXQgbWlzbGVhZHMgYW5k IGNvcnJlY3QgaXQuIFRoaXMgZG9lcyBub3QgcmVxdWlyZSBhbnkNCj4+IGRpc2N1c3Npb24gYWJv dXQgdGhlIGludGVudCBvZiB0aGUgcGVyc29uIHdobyBjb250cmlidXRlZCBpdC4gSW4gZmFjdCwN Cj4+IGl0IHdvdWxkIGJlIGEgaHVnZSBtaXN0YWtlIHRvIHJlc3BvbmQgYnkgbGF1bmNoaW5nIGFu IGlucXVpc2l0aW9uIGludG8NCj4+IGludGVudC4gVGhlIHJlZCBoZXJyaW5nIGhhcyBhbHJlYWR5 IGRlcmFpbGVkIHRoZSB3b3JrIG9mIHRoZSBncm91cC4gQW4NCj4+IGlucXVpcnkgaW50byBpbnRl bnQgY29tcG91bmRzIHRoZSBkYW1hZ2UgYnkgd2FzdGluZyB0aW1lIGFuZCBlbmVyZ3kNCj4+IHRo YXQgc2hvdWxkIGJlIGRldm90ZWQgdG8gdGhlIHdvcmsgb2YgdGhlIGdyb3VwLCBhZ3JlZWluZyBv biBzcGVjaWZpYw0KPj4gYXNzZXJ0aW9ucyB0aGF0IGFyZSB0cnVlLg0KPj4NCj4+IE9uZSBjbGVh ciBzaWduIG9mIHRoZSBkeXNmdW5jdGlvbiBpbiB0aGlzIGdyb3VwIGlzIHRoZSBtYW55IGVtYWls cw0KPj4gZGV2b3RlZCB0byBhIGRpc2N1c3Npb24gb2YgaW50ZW50LiBJdCBpcyBlYXN5IHRvIHVu ZGVyc3RhbmQgdGhlIGFwcGVhbA0KPj4gb2YgYSBzeXN0ZW0gb2YgbW9kZXJhdGlvbiB0aGF0IGNv dWxkIGZpbHRlciB0aGVtIG91dCwgYnV0IHRoZXJlIGFyZQ0KPj4gb3RoZXIgcG9zc2libGUgcmVz cG9uc2VzLCBpbmNsdWRpbmcgdGhlIGxpZ2h0ZXIgdG91Y2ggb2Ygc29jaWFsDQo+PiBwcmVzc3Vy ZSB0aGF0IGRpc2NvdXJhZ2VzIGNvbnRyaWJ1dGlvbnMgdGhhdCBhcmUgb2ZmIHBvaW50LiBJbiBz ZWN0aW9uDQo+PiA2LCAiUmVhY2hpbmcgQ29uc2Vuc3VzIiwgSSBzdWdnZXN0IGFub3RoZXIgd2F5 IHRvIGZpbHRlciBvdXQgY2hlYXANCj4+IHRhbGs6IHJlcXVpcmUgdGhlIGF1dGhvciB0byB1c2Ug ZXZpZGVuY2UgYW5kIGxvZ2ljIHRvIHJlYWNoIGENCj4+IGNvbmNsdXNpb24gYW5kIGlnbm9yZSBh bnkgbWVzc2FnZXMgdGhhdCBkbyBub3QgbGl2ZSB1cCB0byB0aGlzDQo+PiBzdGFuZGFyZC4gVGhp cyBpcyBhbiBpbnN0YW5jZSBvZiB3aGF0IGhhcyBjb21lIHRvIGJlIGtub3duIGFzIHByb29mIG9m DQo+PiB3b3JrLg0KPj4NCj4+IE9uZSBhZHZhbnRhZ2Ugb2YgdGhpcyBwYXJ0aWN1bGFyIHR5cGUg b2YgcHJvb2Ygb2Ygd29yayBpcyB0aGF0IGl0DQo+PiByZXNwZWN0cyB0aGUgc2hhcnAgZGlzdGlu Y3Rpb24gdGhhdCBtdXN0IGJlIGRyYXduIGJldHdlZW4gYSBnb29kDQo+PiBtZXNzYWdlIHRoYXQg c2F5cyAidGhlc2UgZmFjdHMgYW5kIGxvZ2ljIHNob3cgdGhhdCB5b3VyIGFzc2VydGlvbiBpcw0K Pj4gd3JvbmciIGFuZCBhIGJhZCBtZXNzYWdlIHRoYXQgc2F5cyAibWFueSBvZiB1cyBkb24ndCBs aWtlIHdoYXQgeW91IGFyZQ0KPj4gc2F5aW5nIHNvIHBsZWFzZSBzdG9wIHNheWluZyBpdC4iDQo+ Pg0KPj4gVGhlIHdheSB0byBnZXQgc29tZW9uZSB0byBzdG9wIG1ha2luZyBhbiBhc3NlcnRpb24g aXMgdG8gbWFyc2hhbA0KPj4gZXZpZGVuY2UgYW5kIGxvZ2ljIHdoaWNoIHNob3cgdGhhdCBpdCBp cyB3cm9uZy4gSWYgeW91IGNhbid0IGRvIHRoaXMsDQo+PiB5b3UgYXJlIHRoZSBvbmUgd2hvIHNo b3VsZCBzdG9wLg0KPj4NCj4+IEZpbHRlcmluZyBvdXQgdGhlIHVuaGVscGZ1bCBtZXNzYWdlcyBz aG91bGQgYmUgYSBsb3dlciBwcmlvcml0eSB0aGFuDQo+PiBzb2xpY2l0aW5nIG1vcmUgZ29vZCBv bmVzIHRoYXQgYnJpbmcgZXZpZGVuY2UgYW5kIGxvZ2ljIHRvIGJlYXIgb24gYQ0KPj4gbmFycm93 LCBzcGVjaWZpYyBxdWVzdGlvbi4gVGhpcyBncm91cCBuZWVkcyBtb3JlIG1lc3NhZ2VzIG9mIHR5 cGUgMiwgMw0KPj4gYW5kIDQgdG8gbWFrZSBzdXJlIHRoYXQgZXJyb3JzIGRvIG5vdCBwZXJzaXN0 LiBUaGUgcGVyc2lzdGVuY2Ugb2YNCj4+IGVycm9yIGlzIHdoYXQgdW5kZXJtaW5lcyBjb25zZW5z dXMuDQo+Pg0KPj4gWW91IG1heSBub3QgYWdyZWUgd2l0aCB3aGF0IEkgcHJvcG9zZSBoZXJlLCBi dXQgdW50aWwgdGhlIGdyb3VwIGNhbg0KPj4gYXJ0aWN1bGF0ZSBhIHByaW5jaXBsZWQgZGlzdGlu Y3Rpb24gYmV0d2VlbiBnb29kIG1lc3NhZ2VzIGFuZA0KPj4gdW5oZWxwZnVsIG9uZXMsIGl0IGlz IGRhbmdlcm91cyB0byBzdGFydCBkb3duIHRoZSBwYXRoIHRvd2FyZCBzb21lDQo+PiB2YWd1ZSBu b3Rpb24gb2YgbW9yZSBzdHJpbmdlbnQgbW9kZXJhdGlvbiwgYXMgbWFueSBzZWVtZWQgaW5jbGlu ZWQgdG8NCj4+IGRvOg0KPj4NCj4+ICAgICBQb2xsOiBTaG91bGQgY2hhaXJzIGJlIG1vcmUgZHJh Y29uaWFuIGluIGRvaW5nIG1vZGVyYXRpb24/DQo+PiB5L24vbm8tb3BpbmlvbiA2NS8yLzcNCj4+ ICAgICBodHRwczovL25vdGVzLmlldGYub3JnL25vdGVzLWlldGYtMTI2LXRscw0KPj4NCj4+ICAg ICAoVmVyc2lvbnM6IFRodSwgSnVsIDIzLCAyMDI2IDM6NDIgQU0gLSBUaHUsIEp1bCAyMywgMjAy NiA3OjI3IFBNLg0KPj4gICAgIFRoZSBxdWVzdGlvbiB3YXMgc3Vic2VxdWVudGx5IGVkaXRlZCB0 byByZWFkICJtb2RlcmF0ZSBtb3JlDQo+PiBhY3RpdmVseSIgaW4gcGxhY2Ugb2YNCj4+ICAgICAi YmUgbW9yZSBkcmFjb25pYW4uIiBJIGltYWdpbmUgdGhhdCB0aGUgImRyYWNvbmlhbiIgdmVyc2lv biB3YXMNCj4+IHdoYXQgcGVvcGxlIHdlcmUNCj4+ICAgICByZXNwb25kaW5nIHRvIHdoZW4gdGhl eSB3ZXJlIHBvbGxlZC4pDQo+Pg0KPj4gVGhlIG1pc3NpbmcgcmVzcG9uc2VzIGFyZSB0aGUgZXZp ZGVuY2UgZm9yIG15IGNsYWltIHRoYXQgdGhlIGN1cnJlbnQNCj4+IHN5c3RlbSBvZiBtb2RlcmF0 aW9uIGlzIGFscmVhZHkgZW5jb3VyYWdpbmcgcGVvcGxlIHRvIHNlbGYtY2Vuc29yLg0KPj4NCj4+ DQo+Pg0KPj4gIyA0LiBDbGFyaWZ5aW5nIHRoZSBSZWQgSGVycmluZw0KPj4NCj4+IEhlcmUncyB0 aGUgZmlyc3QgbWVzc2FnZSB0aGF0IHNvbWVvbmUgY291bGQgaGF2ZSBzZW50IGFzIGEgcmVzcG9u c2UgdG8NCj4+IE1zLiBDb25ub2xseToNCj4+DQo+PiAgICAgTXMuIENvbm5vbGx5J3MgcmVzcG9u c2UgdG8gTXIuIEphZ2VyIGlzIGEgcmVkIGhlcnJpbmcuIFRoZSBmYWN0b3INCj4+IG9mIDIgdGhh dCBzaGUgY2l0ZXMgaGFzIG5vIGJlYXJpbmcgb24gdGhlIGFzc2VydGlvbiBieSBNci4gSmFnZXIg dGhhdA0KPj4gc2hlIHF1b3Rlcy4NCj4+DQo+PiAgICAgVG8gZXN0YWJsaXNoIHRoaXMsIGRlZmlu ZSBzb21lIHZhcmlhYmxlczoNCj4+DQo+PiAgICAgeG0gPSBDUFUgc2Vjb25kcyBmb3IgdGhlIGtl eS1leGNoYW5nZSBjb21wdXRhdGlvbnMgcmVxdWlyZWQgYnkNCj4+IFgyNTUxOU1MS0VNNzY4Lg0K Pj4NCj4+ICAgICBtID0gQ1BVIHNlY29uZHMgZm9yIHRoZSBrZXktZXhjaGFuZ2UgY29tcHV0YXRp b25zIHJlcXVpcmVkIGJ5IE1MS0VNNzY4Lg0KPj4NCj4+ICAgICB4ID0gQ1BVIHNlY29uZHMgZm9y IHRoZSBrZXktZXhjaGFuZ2UgY29tcHV0YXRpb25zIHJlcXVpcmVkIGJ5IFgyNTUxOS4NCj4+DQo+ PiAgICAgTXMuIENvbm5vbGx5IG5vdGVzIHRoYXQgcj14L23iiYgyLiBUaGUgdmFsdWUgdGhhdCBN ci4gSmFnZXIgcmVmZXJzDQo+PiB0byBhcyBvdmVyaGVhZCBpcyB4bS1tLiBBcyBhIHJvdWdoIGFw cHJveGltYXRpb24sIHhtIHdpbGwgYmUgZXF1YWwgdG8NCj4+IHgrbSBzbyB3ZSBjYW4gd3JpdGUN Cj4+DQo+PiAgICAgICAgICAgciDiiYggKHhtLW0pL20uDQo+Pg0KPj4gICAgIEZvciBhbnkgZ2l2 ZW4gdmFsdWUgb2YgciwgKHhtLW0pIGFuZCBtIGNhbiB2YXJ5IHRvZ2V0aGVyIGJldHdlZW4NCj4+ IHplcm8gYW5kIGluZmluaXR5Lg0KPj4NCj4+ICAgICBMZXNzIGZvcm1hbGx5LCBmb3IgYSBnaXZl biB2YWx1ZSBy4omIMiwgdGhlIGV4dHJhIHRpbWUgcmVxdWlyZWQgdG8NCj4+IGRvIHRoZSBYMjU1 MTkga2V5LWV4Y2hhbmdlLCB4LCBtaWdodCBiZSBodWdlLS0yIGhvdXJzIG9mIENQVSB0aW1lLS1p bg0KPj4gd2hpY2ggY2FzZSB0aGUgdGltZSB0byBkbyB0aGUgTUxLRU03NjggY2FsY3VsYXRpb25z IHdpbGwgYWxzbyBiZQ0KPj4gaHVnZS0tMSBob3VyIG9mIENQVSB0aW1lLiBJbiB0aGlzIGNhc2Us IHJ1bm5pbmcgTUxLRU03NjggaW5zdGVhZCBvZg0KPj4gWDI1NTE5TUxLRU03Njggd291bGQgc2F2 ZSB0d28gaG91cnMgb2YgQ1BVIHRpbWUuDQo+Pg0KPj4gICAgICBPciwgdGhlIHRpbWUgeCByZXF1 aXJlZCBmb3IgdGhlIFgyNTUxOSBjYWxjdWxhdGlvbnMgbWlnaHQgYmUNCj4+IHRpbnktLTIgbmFu b3NlY29uZHMtLWluIHdoaWNoIGNhc2UgdGhlIHRpbWUgZm9yIE1MS0VNNzY4IHdvdWxkIGFsc28g YmUNCj4+IHNtYWxsLS0xIG5hbm9zZWNvbmQuIEluIHRoaXMgY2FzZSwgdXNpbmcgTUxLRU03Njgg aW5zdGVhZCBvZg0KPj4gWDI1NTE5TUxLRU03Njggd291bGQgc2F2ZSBhIG5lZ2xpZ2libGUgMiBu YW5vc2Vjb25kcyBvZiBDUFUgdGltZS4NCj4+DQo+PiAgICAgVGhlIHJlZmVyZW5jZSB0byByPXgv beKJiDIgZGVyYWlscyB0aGUgZGlzY3Vzc2lvbiBieSBnZXR0aW5nIHRoZQ0KPj4gcmVhZGVyIHRv IHN0b3AgcGF5aW5nIGF0dGVudGlvbiB0byB0aGUgcmVsZXZhbnQgY29tcGFyaXNvbiAoTUxLRU03 NjgNCj4+IHZlcnN1cyBYMjU1MTlNTEtFTTc2OCkgYW5kIGZvY3VzIGluc3RlYWQgb24gYW4gaXJy ZWxldmFudCBjb21wYXJpc29uDQo+PiAoWDI1NTE5IHZlcnN1cyBNTEtFTTc2OCkuDQo+Pg0KPj4N Cj4+DQo+PiAjIDUuIEV2aWRlbmNlIFRoYXQgU3VwcG9ydHMgTXIuIEphZ2VyJ3MgQXNzZXJ0aW9u DQo+Pg0KPj4gTWFueSBwZW9wbGUgaGF2ZSBhc3NlcnRlZCwgYXMgTXIuIEphZ2VyIGRvZXMsIHRo YXQgdGhlIGFkZGl0aW9uYWwgQ1BVDQo+PiB0aW1lIHJlcXVpcmVkIHRvIHJ1biBYMjU1MTkgZHVy aW5nIGEgVExTIDEuMyBoYW5kc2hha2UgaXMgbmVnbGlnaWJsZS4NCj4+IEl0IG1pZ2h0IHN0aWxs IGhhdmUgYmVlbiBoZWxwZnVsIHRvIHJlc3BvbmQgdG8gdGhlIG1lc3NhZ2UgZnJvbSBNcy4NCj4+ IENvbm5vbGx5IGJ5IHRha2luZyBvdGhlciBtZWFzdXJlbWVudHMgZnJvbSBoZXIgc291cmNlIGFu ZCB1c2luZyB0aGVtDQo+PiB0byBzdXBwb3J0IE1yLiBKYWdlcidzIGFzc2VydGlvbiB0aGF0IHRo ZSBDUFUgdGltZSBpcyBuZWdsaWdpYmxlLg0KPj4NCj4+IEhlcmUgaXMgYSBzZWNvbmQgbWVzc2Fn ZSB0aGF0IGRvZXMganVzdCB0aGF0Og0KPj4NCj4+ICAgICBUaGUgdGFibGUgdGhhdCBNcy4gQ29u bm9sbHkgY2l0ZWQgaW4gaGVyIHJlc3BvbnNlIHRvIE1yLiBKYWdlcg0KPj4gaW5jbHVkZXMgbWVh c3VyZW1lbnRzIHRoYXQgc3VwcG9ydCBoaXMgY2xhaW0uDQo+PiAgICAgKGh0dHBzOi8vYmxvZy5j bG91ZGZsYXJlLmNvbS9wcS0yMDI1LyNtbC1rZW0tdmVyc3VzLXgyNTUxOSkNCj4+DQo+PiAgICAg VGhlIHRhYmxlIGRvZXMgbm90IHByb3ZpZGUgZGF0YSBvbiB4bSwgYnV0IHdlIGNhbiBlc3RpbWF0 ZSB0aGlzDQo+PiB2YWx1ZSB1c2luZyB0aGUgYXBwcm94aW1hdGlvbiB4bSDiiYggeCArIG0uIFRo aXMgaG9sZHMgYmVjYXVzZSB3aGF0DQo+PiBYMjU1MTlNTEtFTTc2OCBkb2VzIGlzIHJ1biBib3Ro IHRoZSBYMjU1MTkgYW5kIHRoZSBNTEtFTTc2OA0KPj4ga2V5LWV4Y2hhbmdlIHByb3RvY29scy4g V2hhdCBNci4gSmFnZXIgY2FsbHMgdGhlIG92ZXJoZWFkIGZyb20NCj4+IFgyNTUxOU1MS0VNNzY4 IGlzIHRoZSBleHRyYSBDUFUgY3ljbGVzIHJlcXVpcmVkIGZvciBYMjU1MTksIHdoaWNoIHdpbGwN Cj4+IGJlIGFwcHJveGltYXRlbHkgZXF1YWwgdG8geC4NCj4+DQo+PiAgICAgSWYgeW91IGludmVy dCB0aGUgdmFsdWVzIGZyb20gdGhlIENsb3VkZmxhcmUgdGFibGUgdG8gZ2V0DQo+PiBtZWFzdXJl bWVudHMgd2l0aCB1bml0cyBvZiBDUFUgc2Vjb25kcyBwZXIgVExTIGNvbm5lY3Rpb24sIHRoZSBr ZXkNCj4+IG9ic2VydmF0aW9uIGlzDQo+Pg0KPj4gICAgICAgQWxnb3JpdGhtOiBYMjU1MTkNCj4+ ICAgICAgIENsaWVudCBzZWNvbmRzIHBlciBvcDogMS8xOTAwMCA9IDUuMyAqIDEwXigtNSkgc2Vj b25kcyBwZXIgVExTDQo+PiAxLjMgY29ubmVjdGlvbg0KPj4gICAgICAgU2VydmVyIHNlY29uZHMg cGVyIG9wOiAxLzE5MDAwID0gNS4zICogMTBeKC01KSBzZWNvbmRzIHBlciBUTFMNCj4+IDEuMyBj b25uZWN0aW9uDQo+Pg0KPj4gICAgIFRoZSBiZW5lZml0IGZyb20gZG93bmdyYWRpbmcgdG8gTUxL RU03NjggaXMgdGhlIHN1bSBvZiB0aGUgc2Vjb25kcw0KPj4gc2F2ZWQgb24gdGhlIGNsaWVudCBh bmQgdGhlIHNlY29uZHMgc2F2ZWQgb24gdGhlIHNlcnZlci4NCj4+DQo+PiAgICAgVG8gY29udmVy dCB0aGlzIGJlbmVmaXQgaW50byBkb2xsYXJzLCBzdGFydCB3aXRoIGEgY29uc2VydmF0aXZlDQo+ PiBlc3RpbWF0ZSBvZiB0aGUgQVdTIHJlbnRhbCBjb3N0IG9mIGEgdkNQVS4gVGhlIHJhdGUgZm9y IGEgdDRnLm5hbm8gaXMNCj4+ICQwLjAwNDIgcGVyIGhvdXIgb2Ygd2FsbCB0aW1lIGJ1dCB0aGlz IHBlcm1pdHMgb25seSBvY2Nhc2lvbmFsIGJ1cnN0cw0KPj4gb2YgQ1BVLiBVbmxpbWl0ZWQgbW9k ZSBjb3N0cyAkMC4wNCBwZXIgdkNQVSBob3VyIGZvciBHcmF2aXRvbiBhbmQNCj4+ICQwLjA1IHBl ciB2Q1BVIGhvdXIgZm9yIHg4Ni4gQSB2Q1BVIGhvdXIgcHJvdmlkZXMgYWNjZXNzIHRvIG9ubHkg b25lDQo+PiBvZiB0aGUgdHdvIGh5cGVyLXRocmVhZHMgdGhhdCBydW4gb24gYSBwaHlzaWNhbCBj b3JlLCBzbyBkb3VibGUgdGhlDQo+PiB4ODYgcHJpY2UgdG8gZ2V0ICQwLjEwIHBlciBob3VyIGFz IHRoZSBob3VybHkgcmVudGFsIHJhdGUgZm9yIGEgY29yZS4NCj4+DQo+PiAgICAgIEluIGRvbGxh cnMsIHRoZSBiZW5lZml0IEIgYXNzb2NpYXRlZCB3aXRoIHggZmV3ZXIgQ1BVIHNlY29uZHMgaXMN Cj4+DQo+PiAgICAgICAgICAgQiA9IHggKiAoJDAuMSBwZXIgaG91cikgKiAoMS8zNjAwIGhvdXJz IHBlciBzZWNvbmQpDQo+PiAgICAgICAgICAgICAgPSAkMi45ICogMTBeKC05KQ0KPj4NCj4+ICAg ICBJbiBhbiBhYnNvbHV0ZSBzZW5zZSwgYSBiZW5lZml0IG9uIHRoZSBvcmRlciBvZiAkMTBeKC05 KSBpcyBuZWdsaWdpYmxlLg0KPj4NCj4+ICAgICBBbnkgY29zdC1iZW5lZml0IGNhbGN1bGF0aW9u IGhhcyBib3RoIGEgY29zdCBhbmQgYSBiZW5lZml0LiBUbw0KPj4gYXNzZXNzIHRoZSBiZW5lZml0 IHJlbGF0aXZlIHRvIHRoZSBjb3N0LCB3ZSBjYW4gdXNlIHRoZSBjb25jZXB0IG9mDQo+PiAid2ls bGluZ25lc3MgdG8gcGF5IiB0byBnZXQgYW4gZXN0aW1hdGUgb2YgdGhlIGNvc3QuIFN1cHBvc2Ug dGhhdCBJDQo+PiBtYWtlIDEwMCBUTFMgMS4zIGNvbm5lY3Rpb25zIHBlciBkYXkuIChUaGlzIGlz IGEgIkZleW5tYW4gZXN0aW1hdGUiDQo+PiB0aGF0IHJlc3RyaWN0cyB0aGUgcG9zc2liaWxpdGll cyB0byBwb3dlcnMgb2YgMTAuIEkgbWFrZSBtb3JlIHRoYW4gMTANCj4+IGNvbm5lY3Rpb25zIHBl ciBkYXkgYW5kIGZld2VyIHRoYW4gMTAwMCwgc28gdGhlIGFuc3dlciBJJ2xsIHVzZSBpcw0KPj4g MTAwLikNCj4+DQo+PiAgICAgIEkgYW0gd2lsbGluZyB0byBwYXkgYXQgbGVhc3QgJDEwIHRvIG1h a2Ugc3VyZSB0aGF0IGZvciB0aGUgbmV4dA0KPj4gMTIgbW9udGhzLCBhbGwgbXkgVExTIDEuMyBj b25uZWN0aW9ucyBhcmUgY292ZXJlZCBieSBYMjU1MTlNTEtFTTc2OA0KPj4gaW5zdGVhZCBvZiBN TEtFTTc2OC4gVGhpcyBpbXBsaWVzIHRoYXQgYSBsb3dlciBib3VuZCBvbiB0aGUgY29zdCBJJ2QN Cj4+IHN1ZmZlciBmcm9tIHRoZSByZWR1Y3Rpb24gaW4gc2VjdXJpdHkgb2YgYSBkb3duZ3JhZGUg dG8gTUxLRU03NjggaXMNCj4+ICQxMCAvICgzNjUgKiAxMDApID0gJDIuNyAqIDEwXigtNCkuDQo+ Pg0KPj4gICAgIFRvIHN1bW1hcml6ZToNCj4+ICAgICAgICAgLSBCZW5lZml0IGZyb20gZG93bmdy YWRpbmc6DQo+PiAgICAgICAgICAgICAgIEIgPSAkMi45ICogMTBeKC05KQ0KPj4NCj4+ICAgICAg ICAgLSBDb3N0IG9mIGRvd25ncmFkaW5nOg0KPj4gICAgICAgICAgICAgICBDID0gJDIuNyAqIDEw XigtNCkNCj4+DQo+PiAgICAgQmVjYXVzZSB0aGUgYmVuZWZpdCBpcyBzbWFsbGVyIGJ5IGZpdmUg b3JkZXJzIG9mIG1hZ25pdHVkZSwgaXQgaXMNCj4+IG5lZ2xpZ2libGUgcmVsYXRpdmUgdG8gdGhl IGNvc3QuDQo+Pg0KPj4NCj4+DQo+PiAjIDYuIFJlYWNoaW5nIENvbnNlbnN1cw0KPj4NCj4+IElm IHlvdSBkaXNhZ3JlZSB3aXRoIG15IGVzdGltYXRlcywgbG9vayBmb3IgbWlzdGFrZXMgaW4gbXkN Cj4+IGNhbGN1bGF0aW9ucy4gSWYgSSBtYWRlIGFueSwgc2hvdyB0aGUgY29ycmVjdCBjYWxjdWxh dGlvbi4gSWYgSSBhZ3JlZSwNCj4+IEknbGwgc2F5IHNvLg0KPj4NCj4+IE1ha2UgeW91ciBvd24g YXNzdW1wdGlvbnMuIEdldCB5b3VyIG93biBkYXRhLiBZb3UgZG9uJ3QgaGF2ZSB0byB1c2UNCj4+ IHRoZSB2YWx1ZXMgZnJvbSB0aGUgdGFibGUgcHJvdmlkZWQgYnkgQ2xvdWRmbGFyZS4gRmlyZSB1 cCBPcGVuU1NMIDMuNQ0KPj4gYW5kIHVzZSBpdCB0byBnZXQgZXN0aW1hdGVzIGZvciB4LCBtLCBh bmQgeG0gb24geW91ciBoYXJkd2FyZS4gVHJ5DQo+PiBtZWFzdXJpbmcgQ1BVIHVzYWdlIHVzaW5n IHdhbGwgdGltZSBvciBDUFUgdGltZS4gKE9uIG1hY09TLCB1bmxlc3MgeW91DQo+PiBhcmUgcnVu bmluZyBsb3RzIG9mIG90aGVyIGFwcHMgY29uY3VycmVudGx5LCBJIGZvdW5kIHRoYXQgdGhleSBh cmUNCj4+IHZlcnkgc2ltaWxhci4pDQo+Pg0KPj4gT25jZSBzZXZlcmFsIGdyb3VwIG1lbWJlcnMg cHJvdmlkZSBlc3RpbWF0ZXMsIEknbSB3aWxsaW5nIHRvIGJldCB0aGF0DQo+PiBhIGNvbnNlbnN1 cyB3aWxsIGVtZXJnZSBhYm91dCB0aGUgb3JkZXIgb2YgbWFnbml0dWRlIG9mIHRoZSB0d28NCj4+ IGNyaXRpY2FsIHZhbHVlczoNCj4+ICAgICAtIEIsIHRoZSBiZW5lZml0IGZyb20gdGhlIGRvd25n cmFkZSB0byBNTEtFTTc2OA0KPj4gICAgIC0gQywgdGhlIGNvc3QgaW4gZm9yZ29uZSBzZWN1cml0 eSBmcm9tIHRoZSBkb3duZ3JhZGUNCj4+DQo+PiBXaGVuIEkgc2F5IGNvbnNlbnN1cywgSSBtZWFu IGFncmVlbWVudCBhbW9uZyBwZW9wbGUgd2hvIGhhdmUgbWFkZSBhDQo+PiBjcmVkaWJsZSBhdHRl bXB0IHRvIGVzdGltYXRlIEIgYW5kIEMuIENvbWluZyB1cCB3aXRoIGNyZWRpYmxlDQo+PiBlc3Rp bWF0ZXMgaXMgYW4gZXhhbXBsZSBvZiBwcm9vZiBvZiB3b3JrLiBJdCBpcyBhIGdvb2Qgd2F5IHRv IGlkZW50aWZ5DQo+PiB0aGUgbWVzc2FnZXMgdGhhdCBtYXR0ZXIuIFRoZSBvdGhlcnMgY2FuIHNh ZmVseSBiZSBpZ25vcmVkLg0KPj4NCj4+IFRoZSBjb25zZW5zdXMgdG8gc2VlayBpcyBsaWtlIHRo ZSBjb25zZW5zdXMgdGhhdCB0aGUgZWFydGggaXMgYQ0KPj4gc3BoZXJvaWQuIFlvdSBoYXZlIHRv IGlnbm9yZSB0aGUgZGVuaWVycyB3aG8gY2FuIGdlbmVyYXRlIGFuIGVuZGxlc3MNCj4+IHdvcmQg c2FsYWQgb2YgaW5jb25zaXN0ZW5jaWVzLCB3aGF0YWJvdXRpc20sIHJlZCBoZXJyaW5ncywgYW5k DQo+PiBuZWdhdGl2ZS1hdHRlbnRpb24tZ2V0dGluZy1iZWhhdmlvci4NCj4+DQo+Pg0KPj4gIyA3 LiBOZXh0IFN0ZXBzDQo+Pg0KPj4gT25jZSB0aGVyZSBpcyBhIGNvbnNlbnN1cyBvbiB0aGUgc2l6 ZSBvZiBCIGFuZCBDLCBpdCB3b3VsZCBiZQ0KPj4gcmV2ZWFsaW5nIHRvIGNvbnNpZGVyIHRoZXNl IHF1ZXN0aW9uczoNCj4+DQo+PiAgICAgNy4xLiBHaXZlbiBob3cgY2VudHJhbCBNci4gSmFnZXIn cyBhc3NlcnRpb24gYWJvdXQgdGhlIG1hZ25pdHVkZQ0KPj4gb2YgQiBpcyB0byB0aGUgY2hvaWNl IGJldHdlZW4gWDI1NTE5TUxLRU03NjggYW5kIE1MS0VNNzY4LCB3aHkgZGlkbid0DQo+PiBhbnlv bmUgcmVzcG9uZCB0byB0aGUgcmVkIGhlcnJpbmcgdGhhdCBwcmV2ZW50ZWQgYW55IGNvbnNpZGVy YXRpb24gb2YNCj4+IHdoYXQgaGUgc2FpZD8NCj4+DQo+PiAgICAgNy4yLiBEb2VzIE1zLiBDb25u b2xseSBub3cgcmVjb2duaXplIHRoYXQgYXMgYSBzaW1wbGUgbWF0dGVyIG9mDQo+PiBhcml0aG1l dGljLCB0aGUgZmFjdG9yIG9mIDIgdGhhdCBzaGUgY2l0ZWQgaW4gaGVyIHJlc3BvbnNlIHRvIE1y Lg0KPj4gSmFnZXIgdGVsbHMgdXMgbm90aGluZyBhYm91dCBoaXMgYXNzZXJ0aW9uPw0KPj4NCj4+ ICAgICA3LjMuIERvIGFsbCBtZW1iZXJzIG9mIHRoZSBUTFMgV29ya2luZyBHcm91cCBub3cgYWdy ZWUgdGhhdCBNci4NCj4+IEphZ2VyJ3MgYXNzZXJ0aW9uIGlzIHRydWU/IFRvIHdpdCwgd2hlbiBz b21lb25lIGRvd25ncmFkZXMgZnJvbSB0aGUNCj4+IHByb3RvY29sIHRoYXQgdGhlIGdyb3VwIHJl Y29tbWVuZHMsIFgyNTUxOU1MS0VNNzY4LCB0byB0aGUgbmV3DQo+PiBNTEtFTTc2OCBhbHRlcm5h dGl2ZSwgdGhlIGJlbmVmaXQgbWVhc3VyZWQgaW4gQ1BVIGN5Y2xlcyBzYXZlZCBpcw0KPj4gbmVn bGlnaWJsZSBib3RoIGluIGFuIGFic29sdXRlIHNlbnNlIGFuZCByZWxhdGl2ZSB0byB0aGUgY29z dCBvZiB0aGUNCj4+IGZvcmdvbmUgc2VjdXJpdHkgaW5kdWNlZCBieSB0aGUgZG93bmdyYWRlLg0K Pj4NCj4+IFRoZSBkaXNjdXNzaW9uIG9mIHF1ZXN0aW9ucyA3LjEgYW5kIDcuMiB3aWxsIGJlIG9m IGludGVyZXN0IG1haW5seSB0bw0KPj4gbWVtYmVycyBvZiB0aGUgZ3JvdXAsIGJ1dCBxdWVzdGlv biA3LjMgbWF0dGVycyB0byBwZW9wbGUgd2hvIGhhdmUgdG8NCj4+IG1ha2UgYSBkZWNpc2lvbiBh Ym91dCB3aGljaCBQUSBrZXktZXhjaGFuZ2UgcHJvdG9jb2wgdG8gYWRvcHQuIEFzDQo+PiB0aGlu Z3Mgc3RhbmQsIHRoZXkgbm93IGhhdmUgcmVhc29uIHRvIHRyZWF0IHRoZSBUTFMgV29ya2luZyBH cm91cCBhcyBhDQo+PiBoZXNpdGFudCwgdW5yZWxpYWJsZSBhZHZpc29yIHRoYXQgZm9yIGluZXhw bGljYWJseSwgcmVmdXNlcyB0byBhbnN3ZXINCj4+IHF1ZXN0aW9uIDcuMy4gQSBwaXZvdCB0byBt b3JlIGFjdGl2ZSBtb2RlcmF0aW9uIGNvdWxkIGZ1cnRoZXINCj4+IHVuZGVybWluZSB0aGVpciB0 cnVzdCBpbiB0aGUgZ3JvdXAuDQo+Pg0KPj4gVGhlIHByb3ZlbiB3YXkgdG8gYnVpbGQgdHJ1c3Qg aXMgdG8gaGF2ZSBhbiBvcGVuIGRpc2N1c3Npb24gdGhhdA0KPj4gYWRkcmVzc2VzIHNwZWNpZmlj IHF1ZXN0aW9ucyBhbmQgY29udmVyZ2VzIHRvIGEgY2xlYXJseSBzdGF0ZWQNCj4+IGNvbnNlbnN1 cyBhYm91dCB0aGUgYW5zd2VyLiBRdWVzdGlvbiA3LjMgbWlnaHQgYmUgYSBnb29kIHBsYWNlIHRv DQo+PiBzdGFydC4NCj4+DQo+Pg0KPj4NCj4+DQo+PiAjIFJlZmVyZW5jZXMNCj4+DQo+PiAgICAg LSBJIGhhdmUgbmV2ZXIgYmVlbiBhYmxlIHRvIGNvbmZpcm0gd2hldGhlciBGZXJtaSBtYWRlIHRo ZQ0KPj4gc3RhdGVtZW50IEkgYXR0cmlidXRlIHRvIGhpbSBpbiBzZWN0aW9uIDEuDQo+Pg0KPj4g ICAgIC0gVGhlIGNoYXJhY3Rlcml6YXRpb24gb2ZmZXJlZCBoZXJlIG9mIHRoZSBkaXNjdXNzaW9u cyB0aGF0DQo+PiBzdXN0YWluIHNjaWVuY2UgcmVsaWVzIG9uIF9UaGUgS25vd2xlZGdlIE1hY2hp bmVfIGJ5IE1pY2hhZWwgU3RyZXZlbnMuDQo+Pg0KPj4gX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18NCj4+IFRMUyBtYWlsaW5nIGxpc3QgLS0gdGxzQGlldGYu b3JnDQo+PiBUbyB1bnN1YnNjcmliZSBzZW5kIGFuIGVtYWlsIHRvIHRscy1sZWF2ZUBpZXRmLm9y Zw0KPg0KPg0KPg0KPiAtLQ0KPg0KPiBTb3BoaWUgU2NobWllZyB8IEluZm9ybWF0aW9uIFNlY3Vy aXR5IEVuZ2luZWVyIHwgSVNFIENyeXB0byB8IHNzY2htaWVnQGdvb2dsZS5jb20NCj4NCg0KX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KVExTIG1haWxpbmcg bGlzdCAtLSB0bHNAaWV0Zi5vcmcKVG8gdW5zdWJzY3JpYmUgc2VuZCBhbiBlbWFpbCB0byB0bHMt bGVhdmVAaWV0Zi5vcmcK