From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-1.0 required=5.0 tests=ALL_TRUSTED autolearn=ham autolearn_force=no version=3.4.2 Received: (qmail 21986 invoked from network); 21 Apr 2020 11:27:22 -0000 Received: from localhost (HELO inbox.vuxu.org) (::1) by localhost with UTF8ESMTPZ; 21 Apr 2020 11:27:22 -0000 Content-Type: multipart/mixed; boundary="===============1125468546505171833==" MIME-Version: 1.0 Subject: =?utf8?q?=5BPR_PATCH=5D_New_package=3A_BurpSuite-2020=2E2=2E1?= To: ml@inbox.vuxu.org From: aguilbau Reply-to: ml@inbox.vuxu.org Message-ID: Date: Tue, 21 Apr 2020 13:27:18 +0200 List-Id: GitHub notification mails are now in MIME to allow UTF8. --===============1125468546505171833== Content-Type: text/plain; charset="utf8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhlcmUgaXMgYSBuZXcgcHVsbCByZXF1ZXN0IGJ5IGFndWlsYmF1IGFnYWluc3QgbWFzdGVyIG9u IHRoZSB2b2lkLXBhY2thZ2VzIHJlcG9zaXRvcnkKCmh0dHBzOi8vZ2l0aHViLmNvbS9hZ3VpbGJh dS92b2lkLXBhY2thZ2VzIGFndWlsYmF1L2J1cnBzdWl0ZQpodHRwczovL2dpdGh1Yi5jb20vdm9p ZC1saW51eC92b2lkLXBhY2thZ2VzL3B1bGwvMjEyMDAKCk5ldyBwYWNrYWdlOiBCdXJwU3VpdGUt MjAyMC4yLjEKSSdtIG5vdCBzdXJlIGlmIA0KYCBkZXBlbmRzPSJvcGVuamRrIiBgDQppcyBjb3Jy ZWN0LCBvciBpZiBpIHNob3VsZCB1c2UgbGF0ZXN0IG9wZW5qZGsgcmVsZWFzZSA/CgpBIHBhdGNo IGZpbGUgZnJvbSBodHRwczovL2dpdGh1Yi5jb20vdm9pZC1saW51eC92b2lkLXBhY2thZ2VzL3B1 bGwvMjEyMDAucGF0Y2ggaXMgYXR0YWNoZWQ= --===============1125468546505171833== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-aguilbau/burpsuite-21200.patch" RnJvbSBlNjE4MTRjM2IzMzZhNzkxZWI5ZjQ1MjZmYmYxMWMyZDZmMTc5NmYxIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBhZ3VpbGJhdSA8YW50b2luZS5ndWlsYmF1ZEB5YWhvby5mcj4K RGF0ZTogVHVlLCAyMSBBcHIgMjAyMCAwOToyMjo0NCArMDIwMApTdWJqZWN0OiBbUEFUQ0hdIE5l dyBwYWNrYWdlOiBCdXJwU3VpdGUtMjAyMC4yLjEKCi0tLQogc3JjcGtncy9CdXJwU3VpdGUvZmls ZXMvTElDRU5TRSB8IDI2NyArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogc3JjcGtn cy9CdXJwU3VpdGUvdGVtcGxhdGUgICAgICB8ICAzNyArKysrKwogc3JjcGtncy9CdXJwU3VpdGUv dXBkYXRlICAgICAgICB8ICAgMiArCiAzIGZpbGVzIGNoYW5nZWQsIDMwNiBpbnNlcnRpb25zKCsp CiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9CdXJwU3VpdGUvZmlsZXMvTElDRU5TRQogY3Jl YXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvQnVycFN1aXRlL3RlbXBsYXRlCiBjcmVhdGUgbW9kZSAx MDA2NDQgc3JjcGtncy9CdXJwU3VpdGUvdXBkYXRlCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9CdXJw U3VpdGUvZmlsZXMvTElDRU5TRSBiL3NyY3BrZ3MvQnVycFN1aXRlL2ZpbGVzL0xJQ0VOU0UKbmV3 IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLmJjMTY5ZjVjNDIzCi0tLSAvZGV2 L251bGwKKysrIGIvc3JjcGtncy9CdXJwU3VpdGUvZmlsZXMvTElDRU5TRQpAQCAtMCwwICsxLDI2 NyBAQAorQnVycCBTdWl0ZSBDb21tdW5pdHkgRWRpdGlvbiBMaWNlbmNlIEFncmVlbWVudAorCitU aGlzIGxpY2VuY2UgYWdyZWVtZW50IHdoaWNoIGluY29ycG9yYXRlcyB0aGUgR2VuZXJhbCBUZXJt cyBhbmQgQ29uZGl0aW9ucyBiZWxvdyAoTGljZW5jZSkgZm9ybXMgcGFydCBvZiB0aGUgVGVybXMg Zm9yIHRoZSBTb2Z0d2FyZSwgd2hpY2ggaW5jbHVkZXMgY29tcHV0ZXIgc29mdHdhcmUsIGFuZCB0 aGUgb25saW5lIGRvY3VtZW50YXRpb24gY3VycmVudCBhdCB0aGUgZGF0ZSBvZiB0aGUgZG93bmxv YWQgb2YgdGhpcyBMaWNlbmNlIGFuZCBhY2Nlc3NpYmxlIG9uIGh0dHBzOi8vc3VwcG9ydC5wb3J0 c3dpZ2dlci5uZXQvIChEb2N1bWVudGF0aW9uKS4KKworVEhFIERPQ1VNRU5UQVRJT04gQ09OVEFJ TlMgVEhFIFNZU1RFTSBSRVFVSVJFTUVOVFMgVE8gUlVOIEJVUlAgU1VJVEUgQ09NTVVOSVRZIEVE SVRJT04gLiBJTlRFUk5FVCBBQ0NFU1MgSVMgUkVRVUlSRUQgRFVSSU5HIElOU1RBTExBVElPTiBU TyBBQ1RJVkFURSBUSEUgU09GVFdBUkUuCisKK0lGIFRIRSBMSUNFTlNFRSBET0VTIE5PVCBBR1JF RSBUTyBUSEUgVEVSTVMgT0YgVEhFIExJQ0VOQ0UgQU5EIFRIRSBCVVJQIFNVSVRFIENPTU1VTklU WSBFRElUSU9OIFRFUk1TIEFORCBDT05ESVRJT05TIE9GIFNVUFBMWSwgVEhFIExJQ0VOU09SIElT IFVOV0lMTElORyBUTyBMSUNFTlNFIFRIRSBTT0ZUV0FSRSBUTyBUSEUgTElDRU5TRUUgQU5EICgx KSBUSEUgTElDRU5TRUUgTVVTVCBOT1QgSU5TVEFMTCBUSEUgU09GVFdBUkU7QU5EL09SKDIpIFdI RVJFVEhFU09GVFdBUkVIQVNBTFJFQURZQkVFTklOU1RBTExFRCxUSEVMSUNFTlNFRSBNVVNUIENF QVNFIFVTSU5HIElUIElNTUVESUFURUxZLgorCitXQVJOSU5HOiBCVVJQIFNVSVRFIENPTU1VTklU WSBFRElUSU9OIElTIERFU0lHTkVEIFRPIFRFU1QgRk9SIFNFQ1VSSVRZIEZMQVdTIEFORCBDQU4g RE8gREFNQUdFIFRPIFRBUkdFVCBTWVNURU1TIERVRSBUTyBUSEUgTkFUVVJFIE9GIElUUyBGVU5D VElPTkFMSVRZLiBURVNUSU5HIEZPUiBTRUNVUklUWSBGTEFXUyBJTkhFUkVOVExZIElOVk9MVkVT IElOVEVSQUNUSU5HIFdJVEggVEFSR0VUUyBJTiBOT04tU1RBTkRBUkQgV0FZUyBXSElDSCBDQU4g Q0FVU0UgUFJPQkxFTVMgSU4gU09NRSBWVUxORVJBQkxFIFRBUkdFVFMuIFRIRSBMSUNFTlNFRSBN VVNUIFRBS0UgRFVFIENBUkUgV0hFTiBVU0lORyBUSEUgU09GVFdBUkUsIE1VU1QgUkVBRCBBTEwg RE9DVU1FTlRBVElPTiBCRUZPUkUgVVNFIEFORCBCQUNLIFVQIFRBUkdFVCBTWVNURU1TIEJFRk9S RSBVU0UuIFdIRVJFIFRIRSBMSUNFTlNFRSBVU0VTIFRIRSBTT0ZUV0FSRSBPTiBQUk9EVUNUSU9O IFNZU1RFTVMgT1IgT1RIRVIgU1lTVEVNUywgSVQgRVhQUkVTU0xZIEhFUkVCWSBBQ0NFUFRTIFRI RSBSSVNLIE9GIERBTUFHRSBBTkQgUklTSyBPRiBMT1NTIE9GIERBVEEgT1IgTE9TUyBPRiBVU0Ug SU4gUkVTUEVDVCBPRiBTVUNIIERBVEEgQU5EIFNZU1RFTVMgQU5EIEFDQ0VQVFMgVEhBVCBJVCBT SE9VTEQgTk9UIFVTRSBUSEUgU09GVFdBUkUgT04gQU5ZIFNZU1RFTVMgRk9SIFdISUNIIElUIERP RVMgTk9UIEFDQ0VQVCBUSEUgUklTSyBPRiBEQU1BR0UsIFJJU0sgT0YgTE9TUyBPRiBEQVRBIE9S IExPU1MgT0YgVVNFLgorCisxLiBHUkFOVCBBTkQgU0NPUEUgT0YgTElDRU5DRQorCisxLjEuIElu IGNvbnNpZGVyYXRpb24gb2YgdGhlIExpY2Vuc2VlIGFncmVlaW5nIHRvIGFiaWRlIGJ5IHRoZSB0 ZXJtcyBvZiB0aGUgTGljZW5jZSwgdGhlIExpY2Vuc29yIGhlcmVieSBncmFudHMgdG8gdGhlIExp Y2Vuc2VlIGEgbm9uLWV4Y2x1c2l2ZSwgbm9uLXRyYW5zZmVyYWJsZSBsaWNlbmNlIHRvIHVzZSB0 aGUgU29mdHdhcmUgYW5kIHRoZSBEb2N1bWVudGF0aW9uIG9uIHRoZSB0ZXJtcyBvZiB0aGUgTGlj ZW5jZS4gVGhlIExpY2VuY2UgbWF5IGJlIHJldm9rZWQgYnkgdGhlIExpY2Vuc29yIGF0IGFueSB0 aW1lIGFjdGluZyBpbiBpdHMgc29sZSBkaXNjcmV0aW9uLgorCisxLjIuIFRoZSBMaWNlbnNlZSBt YXk6CisKKzEuMi4xLiBkb3dubG9hZCwgaW5zdGFsbCBhbmQgdXNlIHRoZSBTb2Z0d2FyZSwgaW5j bHVkaW5nIGFueSBCdXJwIEFwcHMgKGFzIGRlZmluZWQgaW4gR2VuZXJhbCBUZXJtcyBhbmQgQ29u ZGl0aW9ucywgc2VjdGlvbiA1KSBmb3IgaXRzIGludGVybmFsIGJ1c2luZXNzIHB1cnBvc2VzICh3 aGljaCBtYXksIGluY2x1ZGUgdGhlIHByb3Zpc2lvbiBvZiBhIGJlc3Bva2UgY29uc3VsdGFuY3kg c2VydmljZSB0byBjbGllbnRzIHdoZXJlIHRoZSBMaWNlbnNlZSBpcyBhY3RpbmcgaW4gYSBidXNp bmVzcyBhZHZpc29yeSBjYXBhY2l0eSkgb25seTsKKworMS4yLjIuIG1ha2Ugb25lIGNvcHkgb2Yg dGhlIFNvZnR3YXJlIGZvciBiYWNrLXVwIHB1cnBvc2VzIG9ubHksIHByb3ZpZGVkIHRoYXQgdGhp cyBpcyBuZWNlc3NhcnkgZm9yIHRoZSBhY3Rpdml0aWVzIHBlcm1pdHRlZCB1bmRlciBzZWN0aW9u IDEuMi4xOworCisxLjIuMy4gdXNlIGFueSBEb2N1bWVudGF0aW9uIGluIHN1cHBvcnQgb2YgdGhl IHVzZSBwZXJtaXR0ZWQgdW5kZXIgc2VjdGlvbiAxLjIuMSBhbmQgbWFrZSBzdWNoIG51bWJlcnMg b2YgY29waWVzIG9mIHRoZSBEb2N1bWVudGF0aW9uIGFzIGFyZSByZWFzb25hYmx5IG5lY2Vzc2Fy eSBmb3IgaXRzIGxhd2Z1bCB1c2U7IGFuZAorCisxLjIuNC4gYW5hbHlzZSB0aGUgYmVoYXZpb3Vy IGFuZCBwZXJmb3JtYW5jZSBvZiB0aGUgZG9jdW1lbnRlZCBmdW5jdGlvbmFsaXR5IG9mIHRoZSBT b2Z0d2FyZSBhbmQgYW55IEJ1cnAgQXBwcyAoZGVmaW5lZCBhcyBhZm9yZXNhaWQpIGFuZCBkaXNj bG9zZSB0aGUgZmluZGluZ3Mgb2Ygc3VjaCBhbmFseXNpcyB0byBhbnkgcGFydHkgcHJvdmlkZWQg dGhhdCBzdWNoIGZpbmRpbmdzIGFyZSBwcm92aWRlZCBzaW11bHRhbmVvdXNseSBhbmQgaW4gaWRl bnRpY2FsIGZvcm0gdG8gdGhlIExpY2Vuc29yLgorCisxLjMuIFRoZSBMaWNlbnNlZSBpcyBub3Qg cGVybWl0dGVkIHRvIHJlc2VsbCB0aGUgU29mdHdhcmUuCisKKzIuIExJQ0VOU0VFJ1MgV0FSUkFO VFkgQU5EIFVOREVSVEFLSU5HUworCisyLjEuIEluIGFkZGl0aW9uIHRvIHRoZSB3YXJyYW50aWVz IGFuZCB1bmRlcnRha2luZ3MgZ2l2ZW4gaW4gdGhlIEdlbmVyYWwgVGVybXMgYW5kIENvbmRpdGlv bnMsIHRoZSBMaWNlbnNlZSB1bmRlcnRha2VzIHRvIGtlZXAgY29uZmlkZW50aWFsIGFueSBjcmVk ZW50aWFscyBwcm92aWRlZCBieSB0aGUgTGljZW5zb3IgZW5hYmxpbmcgdGhlIExpY2Vuc2VlIHRv IGxvZyBpbiB0byB0aGUgTGljZW5zb3IncyBzZXJ2ZXIgKGZvciB0aGUgcHVycG9zZXMgb2YgZG93 bmxvYWRpbmcgcHJvZHVjdCBidWlsZHMgYW5kIGxpY2VuY2Uga2V5cyBhbmQgdG8gcGVyZm9ybSBw cm9kdWN0IGFjdGl2YXRpb24sIHRvIGNyZWF0ZSBFeHRlbnNpb25zIChhcyBkZWZpbmVkIGluIEdl bmVyYWwgVGVybXMgYW5kIENvbmRpdGlvbnMsIHNlY3Rpb24gMikpLgorCiszLiBMSUNFTlNPUidT IExJQUJJTElUWTogQVRURU5USU9OIElTIERSQVdOIFBBUlRJQ1VMQVJMWSBUTyBUSEUgUFJPVklT SU9OUyBPRiBUSElTIENPTkRJVElPTgorCiszLjEuIFN1YmplY3QgdG8gdGhlIEdlbmVyYWwgVGVy bXMgYW5kIENvbmRpdGlvbnMsIHNlY3Rpb24gNi4xLCB0aGUgTGljZW5zb3IncyBtYXhpbXVtIGFn Z3JlZ2F0ZSBsaWFiaWxpdHkgdW5kZXIgb3IgaW4gY29ubmVjdGlvbiB3aXRoIHRoaXMgTGljZW5j ZSwgb3IgYW55IGNvbGxhdGVyYWwgY29udHJhY3QsIHdoZXRoZXIgaW4gY29udHJhY3QsIHRvcnQg KGluY2x1ZGluZyBuZWdsaWdlbmNlKSBvciBvdGhlcndpc2UsIHNoYWxsIGJlIGxpbWl0ZWQgdG8g dHdlbnR5IGZpdmUgcG91bmRzIFN0ZXJsaW5nLgorCitHRU5FUkFMIFRFUk1TIEFORCBDT05ESVRJ T05TCisKK1RoZXNlIHRlcm1zIGFuZCBjb25kaXRpb25zIGFyZSBhcHBsaWNhYmxlIHRvIGFuZCBm b3JtIHBhcnQgb2YgdGhlIFRlcm1zIGVudGVyZWQgaW50byBiZXR3ZWVuIHRoZSBMaWNlbnNlZSBh bmQgdGhlIExpY2Vuc29yIGZvciB0aGUgU29mdHdhcmUgYW5kIGFwcGx5LCB1bmxlc3Mgc3BlY2lm aWVkIG9yIHRoZSBjb250ZXh0IG90aGVyd2lzZSByZXF1aXJlcywgd2hldGhlciB0aGUgU29mdHdh cmUgaGFzIGJlZW4gYWNxdWlyZWQgZWl0aGVyIGRpcmVjdGx5IG9yIGluZGlyZWN0bHkgYnkgd2F5 IG9mIGZyZWUgZG93bmxvYWQsIHByZS1wdXJjaGFzZSBvciBwdXJjaGFzZSBvbiBjcmVkaXQsIGZy ZWUgdHJpYWwgb3IgYnkgd2F5IG9mIGZyZWUgbGljZW5jZSBmb3IgdHJhaW5pbmcgcHVycG9zZXMu IFVubGVzcyB0aGUgY29udGV4dCBvdGhlcndpc2UgcmVxdWlyZXMgd29yZHMgYW5kIGV4cHJlc3Np b25zIHVzZWQgaW4gdGhlIHJlbWFpbmRlciBvZiB0aGUgVGVybXMgc2hhbGwgaGF2ZSB0aGUgc2Ft ZSBtZWFuaW5ncyB3aGVuIHVzZWQgaW4gdGhlc2UgdGVybXMgYW5kIGNvbmRpdGlvbnMuCisKKzEu IExJQ0VOU0VFJ1MgV0FSUkFOVFkgQU5EIFVOREVSVEFLSU5HUworCisxLjEuIFRoZSBMaWNlbnNl ZSB3YXJyYW50cyB0aGF0IGl0IGlzIG5vdCB1c2luZyBsaWNlbmNlcyB0byB0aGUgU29mdHdhcmUg YXMgYSBjb25zdW1lciwgYnV0IHdpbGwgYmUgdXNpbmcgdGhlIFNvZnR3YXJlIGluIGl0cyBidXNp bmVzcyBhbmQgdGhhdCBhbnkgdXNlcnMgcGxhY2luZyBvcmRlcnMgZm9yIHRoZSBTb2Z0d2FyZSBh bmQvb3IgYWNjZXB0aW5nIHRoZXNlIFRlcm1zIGFyZSBkdWx5IGF1dGhvcmlzZWQgYnkgdGhlIExp Y2Vuc2VlIHRvIGFjcXVpcmUgbGljZW5jZXMgdG8gdGhlIFNvZnR3YXJlLgorCisxLjIuIEV4Y2Vw dCBhcyBleHByZXNzbHkgc2V0IG91dCBpbiB0aGUgTGljZW5jZSBvciBhcyBwZXJtaXR0ZWQgYnkg YW55IGxvY2FsIGxhdywgdGhlIExpY2Vuc2VlIHVuZGVydGFrZXM6CisKKzEuMi4xLiBub3QgdG8g dXNlIChvciBhbGxvdyB0byBiZSB1c2VkKSB0aGUgU29mdHdhcmUsIHRoZSBEb2N1bWVudGF0aW9u IGZvciBhbnkgdW5sYXdmdWwgcHVycG9zZXMsIHBhcnRpY3VsYXJseSBhcyB0aGUgU29mdHdhcmUg Y29udGFpbnMgZnVuY3Rpb25hbGl0eSB0aGF0IGNhbiBiZSB1c2VkIHRvIGF0dGFjayBhbmQgY29t cHJvbWlzZSBjb21wdXRlciBzeXN0ZW1zLCBhbmQgdGhlIExpY2Vuc2VlIHNoYWxsIGJlIHJlc3Bv bnNpYmxlIGZvciBhbGwgbG9zc2VzLCBjb3N0cywgbGlhYmlsaXRpZXMgb3Igb3RoZXIgZGFtYWdl cyBpbmN1cnJlZCBieSB0aGUgTGljZW5zb3IgaW4gY29ubmVjdGlvbiB3aXRoIGFueSBjbGFpbSBi eSBhIHRoaXJkIHBhcnR5IGluIGNvbm5lY3Rpb24gd2l0aCBhIGJyZWFjaCBieSB0aGUgTGljZW5z ZWUgb2YgdGhpcyBvYmxpZ2F0aW9uOworCisxLjIuMi4gdG8ga2VlcCBjb25maWRlbnRpYWwgYW55 IGNyZWRlbnRpYWxzIHByb3ZpZGVkIGJ5IHRoZSBMaWNlbnNvciBlbmFibGluZyB0aGUgTGljZW5z ZWUgdG8gbG9nIGluIHRvIHRoZSBMaWNlbnNvcidzIHNlcnZlciAoZm9yIHRoZSBwdXJwb3NlcyBv ZiBkb3dubG9hZGluZyBwcm9kdWN0IGJ1aWxkcyBhbmQgbGljZW5jZSBrZXlzIGFuZCB0byBwZXJm b3JtIHByb2R1Y3QgYWN0aXZhdGlvbiwgdG8gY3JlYXRlIEV4dGVuc2lvbnMgKGFzIGRlZmluZWQg aW4gc2VjdGlvbiA1KTsKKworMS4yLjMuIHRvIG9idGFpbiBhbGwgbmVjZXNzYXJ5IGF1dGhvcmlz YXRpb25zIGZyb20gc3lzdGVtIG93bmVycyBwcmlvciB0byB1c2luZyB0aGUgU29mdHdhcmUgb3Ig YW55IEJ1cnAgQXBwcyB0aGVyZW9uOworCisxLjIuNC4gdW5sZXNzIGFncmVlZCBieSB0aGUgTGlj ZW5zb3Igbm90IHRvIGNvcHkgdGhlIFNvZnR3YXJlIG9yIERvY3VtZW50YXRpb24gZXhjZXB0IHdo ZXJlIHN1Y2ggY29weWluZyBpcyBpbmNpZGVudGFsIHRvIG5vcm1hbCB1c2Ugb2YgdGhlIFNvZnR3 YXJlLCBvciB3aGVyZSBpdCBpcyBuZWNlc3NhcnkgZm9yIHRoZSBwdXJwb3NlIG9mIGJhY2stdXAg b3Igb3BlcmF0aW9uYWwgc2VjdXJpdHk7CisKKzEuMi41LiBzdWJqZWN0IHRvIHRoZSBwcm92aXNp b25zIG9mIHNlY3Rpb24gNSwgbm90IHRvIHJlbnQsIGxlYXNlLCBzdWItbGljZW5zZSwgbG9hbiwg dHJhbnNsYXRlLCBtZXJnZSwgYWRhcHQsIHZhcnkgb3IgbW9kaWZ5IHRoZSBTb2Z0d2FyZSBvciBE b2N1bWVudGF0aW9uOworCisxLjIuNi4gc3ViamVjdCB0byB0aGUgcHJvdmlzaW9ucyBvZiBzZWN0 aW9uIDUsIG5vdCB0byBtYWtlIGFsdGVyYXRpb25zIHRvLCBvciBtb2RpZmljYXRpb25zIG9mLCB0 aGUgd2hvbGUgb3IgYW55IHBhcnQgb2YgdGhlIFNvZnR3YXJlLCBub3IgcGVybWl0IHRoZSBTb2Z0 d2FyZSBvciBhbnkgcGFydCBvZiBpdCB0byBiZSBjb21iaW5lZCB3aXRoLCBvciBiZWNvbWUgaW5j b3Jwb3JhdGVkIGluLCBhbnkgb3RoZXIgcHJvZ3JhbXM7CisKKzEuMi43LiBub3QgdG8gZGlzYXNz ZW1ibGUsIGRlY29tcGlsZSwgcmV2ZXJzZSBlbmdpbmVlciBvciBjcmVhdGUgZGVyaXZhdGl2ZSB3 b3JrcyBiYXNlZCBvbiwgdGhlIHdob2xlIG9yIGFueSBwYXJ0IG9mIHRoZSBTb2Z0d2FyZSBub3Ig YXR0ZW1wdCB0byBkbyBhbnkgc3VjaCB0aGluZyBleGNlcHQgdG8gdGhlIGV4dGVudCB0aGF0IChi eSB2aXJ0dWUgb2Ygc2VjdGlvbiAyOTZBIG9mIHRoZSBDb3B5cmlnaHQsIERlc2lnbnMgYW5kIFBh dGVudHMgQWN0IDE5ODgpIHN1Y2ggYWN0aW9ucyBjYW5ub3QgYmUgcHJvaGliaXRlZCBiZWNhdXNl IHRoZXkgYXJlIGVzc2VudGlhbCBmb3IgdGhlIHB1cnBvc2Ugb2YgYWNoaWV2aW5nIGludGVyLW9w ZXJhYmlsaXR5IG9mIHRoZSBTb2Z0d2FyZSB3aXRoIGFub3RoZXIgc29mdHdhcmUgcHJvZ3JhbSwg YW5kIHByb3ZpZGVkIHRoYXQgdGhlIGluZm9ybWF0aW9uIG9idGFpbmVkIGJ5IHRoZSBMaWNlbnNl ZSBkdXJpbmcgc3VjaCBhY3Rpdml0aWVzOgorCisxLjIuNy4xLiBpcyB1c2VkIG9ubHkgZm9yIHRo ZSBwdXJwb3NlIG9mIGFjaGlldmluZyBpbnRlci1vcGVyYWJpbGl0eSBvZiB0aGUgU29mdHdhcmUg d2l0aCBhbm90aGVyIHNvZnR3YXJlIHByb2dyYW07IGFuZAorCisxLjIuNy4yLiBpcyBub3QgdW5u ZWNlc3NhcmlseSBkaXNjbG9zZWQgb3IgY29tbXVuaWNhdGVkIHdpdGhvdXQgdGhlIExpY2Vuc29y J3MgcHJpb3Igd3JpdHRlbiBjb25zZW50IHRvIGFueSB0aGlyZCBwYXJ0eTsgYW5kCisKKzEuMi43 LjMuIGlzIG5vdCB1c2VkIHRvIGNyZWF0ZSBhbnkgc29mdHdhcmUgd2hpY2ggaXMgc3Vic3RhbnRp YWxseSBzaW1pbGFyIHRvIHRoZSBTb2Z0d2FyZTsKKworMS4yLjguIHRvIHN1cGVydmlzZSBhbmQg Y29udHJvbCB1c2Ugb2YgdGhlIFNvZnR3YXJlIGFuZCBlbnN1cmUgdGhhdCB0aGUgU29mdHdhcmUg aXMgdXNlZCBieSB0aGUgTGljZW5zZWUncyBlbXBsb3llZXMgYW5kIHJlcHJlc2VudGF0aXZlcyBp biBhY2NvcmRhbmNlIHdpdGggdGhlIHRlcm1zIG9mIHRoZSBMaWNlbmNlOworCisxLjIuOS4gdG8g cmVwbGFjZSB0aGUgY3VycmVudCB2ZXJzaW9uIG9mIHRoZSBTb2Z0d2FyZSB3aXRoIGFueSB1cGRh dGVkIG9yIHVwZ3JhZGVkIHZlcnNpb24gb3IgbmV3IHJlbGVhc2UgcHJvdmlkZWQgYnkgdGhlIExp Y2Vuc29yIHRvIHRoZSBMaWNlbnNlZSB2aWEgaXRzIGFjY291bnQgb3IgdGhlIFNvZnR3YXJlLCBp bW1lZGlhdGVseSBvbiByZWNlaXB0IChhbmQgZmFpbHVyZSB0byBkbyBzbyBtYXkgcmVzdWx0IGlu IHRoZSBMaWNlbnNlZSdzIGluZWxpZ2liaWxpdHkgZm9yIHN1cHBvcnQgcHVyc3VhbnQgdG8gdGhp cyBBZ3JlZW1lbnQpOworCisxLjIuMTAuIHRvIGtlZXAgYWxsIGNvcGllcyBvZiB0aGUgU29mdHdh cmUgc2VjdXJlIGFuZCB0byBtYWludGFpbiBhY2N1cmF0ZSBhbmQgdXAtdG8tZGF0ZSByZWNvcmRz IG9mIHRoZSBudW1iZXIgb2YgbG9jYXRpb25zIG9mIGFsbCBjb3BpZXMgb2YgdGhlIFNvZnR3YXJl OworCisxLjIuMTEuIHRvIGluY2x1ZGUgdGhlIGNvcHlyaWdodCBub3RpY2Ugb2YgdGhlIExpY2Vu c29yIG9uIGFsbCBlbnRpcmUgYW5kIHBhcnRpYWwgY29waWVzIHRoZSBMaWNlbnNlZSBtYWtlcyBv ZiB0aGUgU29mdHdhcmUgb24gYW55IG1lZGl1bTsKKworMS4yLjEyLiBub3QgdG8gcHJvdmlkZSBv ciBvdGhlcndpc2UgbWFrZSBhdmFpbGFibGUgdGhlIFNvZnR3YXJlIGluIHdob2xlIG9yIGluIHBh cnQgKGluY2x1ZGluZyBidXQgbm90IGxpbWl0ZWQgdG8gcHJvZ3JhbSBsaXN0aW5ncywgb2JqZWN0 IGFuZCBzb3VyY2UgcHJvZ3JhbSBsaXN0aW5ncywgb2JqZWN0IGNvZGUgYW5kIHNvdXJjZSBjb2Rl KSwgaW4gYW55IGZvcm0gdG8gYW55IHBlcnNvbiBvdGhlciB0aGFuIHRoZSBMaWNlbnNlZSdzIGVt cGxveWVlcyB3aXRob3V0IHByaW9yIHdyaXR0ZW4gY29uc2VudCBmcm9tIHRoZSBMaWNlbnNvcjsK KworMS4yLjEzLiB1bmxlc3Mgc3BlY2lmaWNhbGx5IGF1dGhvcmlzZWQgYnkgdGhlIExpY2Vuc29y IGluIHdyaXRpbmcsIG5vdCB0byB1c2UgdGhlIFNvZnR3YXJlIGFzIHBhcnQgb2YgYW4gYXV0b21h dGVkIHNlcnZpY2Ugb2ZmZXJpbmcgdG8gdGhpcmQgcGFydGllczsKKworMS4yLjE0LiBub3QgdG8g ZW5nYWdlIGluIGFueSBhY3Rpdml0eSwgcHJhY3RpY2Ugb3IgY29uZHVjdCB3aGljaCB3b3VsZCBj b25zdGl0dXRlIGFuIG9mZmVuY2UgdW5kZXIgc2VjdGlvbnMgMSwgMiwgb3IgNiBvZiB0aGUgQnJp YmVyeSBBY3QgMjAxMCwgaWYgc3VjaCBhY3Rpdml0eSwgcHJhY3RpY2Ugb3IgY29uZHVjdCBoYWQg YmVlbiBjYXJyaWVkIG91dCBpbiB0aGUgVUs7IGFuZAorCisxLjIuMTUuIHRvIGJlIHJlc3BvbnNp YmxlIGZvciBhbGwgbGlhYmlsaXR5IGNsYWltcywgYWN0aW9ucywgb3IgY2F1c2VzIG9mIGFjdGlv biwgdG9nZXRoZXIgd2l0aCB0aGUgbGVnYWwgY29zdHMgb2YgdGhlIExpY2Vuc29yIGluIGJyaW5n aW5nIHRoZSBzYW1lLCBhcmlzaW5nIGJ5IHJlYXNvbiBvZiBvciBpbiBhbnkgd2F5IHJlbGF0aW5n IHRvIHRoZSBMaWNlbnNlZSdzIGFjdGlvbnMgb3IgYWN0aXZpdGllcyBvZiBpdHMgZW1wbG95ZWVz LCBhZ2VudHMsIG9yIGNvbnRyYWN0b3JzIHVuZGVyIHRoZSBMaWNlbmNlLgorCisyLiBTVVBQT1JU CisKKzIuMS4gVGhlIGRvd25sb2FkaW5nIG9mIGEgbGljZW5jZSBmb3IgdGhlIFNvZnR3YXJlIGVu dGl0bGVzIHRoZSBMaWNlbnNlZSB0byBmcmVlIHByb2R1Y3Qgc3VwcG9ydCBwcm92aWRlZCB2aWEg dGhlIExpY2Vuc29yJ3Mgc3VwcG9ydCBjZW50cmUgcG9ydGFsIG9uIGl0cyB3ZWJzaXRlIGF0IHRo ZSBMaWNlbnNvcidzIHNvbGUgZGlzY3JldGlvbi4gU3VjaCBzdXBwb3J0IHdpbGwgYmUgc3ViamVj dCB0byBhbnkgc3VwcG9ydCBjb25kaXRpb25zLCBndWlkYW5jZSBvciBGQVFzIG9uIGh0dHBzOi8v c3VwcG9ydC5wb3J0c3dpZ2dlci5uZXQvIGZyb20gdGltZSB0byB0aW1lLgorCiszLiBCVVJQIENP TExBQk9SQVRPUgorCiszLjEuIFRoZSBMaWNlbnNvciBoYXMgZGV2ZWxvcGVkIEJ1cnAgQ29sbGFi b3JhdG9yIHdoaWNoIGlzIGEgY29tcG9uZW50IG9mIHRoZSBTb2Z0d2FyZSdzIGF1dG9tYXRlZCBh bmQgbWFudWFsIHRlc3RpbmcgdG9vbHMgYXZhaWxhYmxlIGluIHJlc3BlY3Qgb2YgdGhlIEJ1cnAg U3VpdGUgRW50ZXJwcmlzZSBFZGl0aW9uIGFuZCBCdXJwIFN1aXRlIFByb2Zlc3Npb25hbCBTb2Z0 d2FyZSBhbmQgdGhlIHRlcm1zIG9mIHRoaXMgc2VjdGlvbiAzIHNoYWxsIG9ubHkgYXBwbHkgaW4g cmVzcGVjdCBvZiB0aGF0IFNvZnR3YXJlLiBCdXJwIENvbGxhYm9yYXRvciBpbnZvbHZlcyB0aGUg TGljZW5zZWUgZGVwbG95aW5nIGEgc3lzdGVtIG9uIHRoZSBwdWJsaWMgd2ViICh0aGUgIkNvbGxh Ym9yYXRvciBTZXJ2ZXIiKSB3aGljaCBhY3RzIGFzIHRoZSByZWNpcGllbnQgb2YgdGhpcmQtc3lz dGVtIGludGVyYWN0aW9ucyB0aGF0IG1heSBiZSB0cmlnZ2VyZWQgYnkgcGF5bG9hZHMgdGhhdCB0 aGUgU29mdHdhcmUgc2VuZHMgdG8gdGFyZ2V0IHN5c3RlbXMgZW5hYmxpbmcgdGhlIGRldGVjdGlv biBvZiBjZXJ0YWluIHR5cGVzIG9mIHZ1bG5lcmFiaWxpdHkuIEEgZnVsbCBkZXNjcmlwdGlvbiBv ZiB0aGUgZnVuY3Rpb25hbGl0eSBvZiBCdXJwIENvbGxhYm9yYXRvciBmb3JtcyBwYXJ0IG9mIHRo ZSBEb2N1bWVudGF0aW9uIGlmIGl0IGFwcGxpZXMgdG8gdGhlIHZlcnNpb24gb2YgdGhlIFNvZnR3 YXJlIHRoZSBMaWNlbnNlZSBoYXMgZG93bmxvYWRlZC4KKworMy4yLiBUaGUgZnVuY3Rpb25hbGl0 eSBvZiBCdXJwIENvbGxhYm9yYXRvciBnaXZlcyByaXNlIHRvIGlzc3VlcyB0aGF0IHJlcXVpcmUg Y2FyZWZ1bCBjb25zaWRlcmF0aW9uIGJ5IHRoZSBMaWNlbnNlZSBhcyBmdWxseSBzZXQgb3V0IGlu IHRoZSBEb2N1bWVudGF0aW9uLiBCeSB1dGlsaXNpbmcgYW55IGZlYXR1cmVzIG9mIHRoZSBTb2Z0 d2FyZSB0aGF0IG1heSBjYXVzZSBpbnRlcmFjdGlvbiB3aXRoIEJ1cnAgQ29sbGFib3JhdG9yLCB0 aGUgTGljZW5zZWUgd2lsbCBiZSBkZWVtZWQgdG8gaGF2ZSByZWFkIHRoZSByZWxldmFudCBEb2N1 bWVudGF0aW9uLCBmdWxseSB1bmRlcnN0b29kIHRoZSBmdW5jdGlvbmFsaXR5IGFuZCB0aGUgYWx0 ZXJuYXRpdmUgbWV0aG9kcyBvZiB1dGlsaXNhdGlvbiBvZiBCdXJwIENvbGxhYm9yYXRvciBhbmQg Y29uc2lkZXJlZCB0aGUgY29uc2VxdWVuY2VzIG9mIHV0aWxpc2F0aW9uIGZvciBpdHMgb3JnYW5p c2F0aW9uIGFuZCBhcyBhIHJlc3VsdCBvZiBzdWNoIGNvbnNpZGVyYXRpb24gaGFzIGRlY2lkZWQg dGhhdCBCdXJwIENvbGxhYm9yYXRvciwgaW4gdGhlIGZvcm0gdXRpbGlzZWQgYnkgaXQsIGlzIHN1 aXRhYmxlIGFuZCBhcHByb3ByaWF0ZSBmb3IgdXNlIGJ5IGl0LiBUaGUgTGljZW5zb3IgY29uc2lk ZXJzIEJ1cnAgQ29sbGFib3JhdG9yIHRvIGJlIGVmZmljYWNpb3VzIGluIGlkZW50aWZ5aW5nIHZ1 bG5lcmFiaWxpdGllcyBvZiB0aGUgdGFyZ2V0IHdlYnNpdGUgaW4gY29ubmVjdGlvbiB3aXRoIHRo aXJkLXN5c3RlbSBpbnRlcmFjdGlvbnMsIGJ1dCB0aGUgTGljZW5zZWUgbXVzdCBtYWtlIGl0cyBv d24gZXZhbHVhdGlvbiBiZWZvcmUgdXNpbmcgdGhlIENvbGxhYm9yYXRvciBTZXJ2ZXIgaW4gYW55 IG9mIHRoZSBhbHRlcm5hdGl2ZSBtYW5uZXJzIHNldCBvdXQgaW4gdGhlIERvY3VtZW50YXRpb24u CisKKzMuMy4gSWYgdGhlIExpY2Vuc2VlIGlzIHBlcm1pdHRlZCBieSB0aGUgTGljZW5zb3IgdG8g dXNlIHRoZSBCdXJwIENvbGxhYm9yYXRvciBzZXJ2ZXIgYXMgcGFydCBvZiBhIGJlc3Bva2UgY29u c3VsdGFuY3kgcGVybWl0dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgTGljZW5jZSwgYnkgZG9p bmcgc28gdGhlIExpY2Vuc2VlIHdhcnJhbnRzIHRvIHRoZSBMaWNlbnNvciB0aGF0IGl0IGhhcyBy ZWNvbW1lbmRlZCB0aGUgY2xpZW50IHRvIHVzZSB0aGUgQnVycCBDb2xsYWJvcmF0b3Igc2VydmVy IGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgdGVybXMgb2YgdGhlIERvY3VtZW50YXRpb24gYW5kIHRo ZSBjbGllbnQgaGFzIGluc3RydWN0ZWQgdGhlIExpY2Vuc2VlIHRvIHVzZSB0aGUgc2FtZSBoYXZp bmcgZGlzY3Vzc2VkIHdpdGggdGhlIExpY2Vuc2VlIHRoZSBjb250ZW50cyBvZiB0aGUgRG9jdW1l bnRhdGlvbiByZWxhdGluZyB0aGVyZXRvLgorCiszLjQuIFRoZSBMaWNlbnNlZSBhY2tub3dsZWRn ZXMgYW5kIGFjY2VwdHMgdGhhdCBieSB1dGlsaXNpbmcgdGhlIEJ1cnAgQ29sbGFib3JhdG9yIHNl cnZlciBlaXRoZXIgb24gaXRzIG93biBiZWhhbGYgb3Igb24gYmVoYWxmIG9mIGEgY2xpZW50IHB1 cnN1YW50IHRvIGEgYmVzcG9rZSBjb25zdWx0YW5jeSwgdGhlIExpY2Vuc29yIGNvdWxkIGJlIGEg U3ViLSBQcm9jZXNzb3Igb2YgaXRzIGNsaWVudCdzIHBlcnNvbmFsIGRhdGEgdW5kZXIgdGhlIHBy b3Zpc2lvbnMgb2YgdGhlIEdlbmVyYWwgRGF0YSBQcm90ZWN0aW9uIFJlZ3VsYXRpb24gKFJlZ3Vs YXRpb24gKEVVKSAyMDE2LzY3OSkuIElmIHRoZSBMaWNlbnNvciBkb2VzIGFjdCBhcyBhIFN1Yi1Q cm9jZXNzb3IsIGl0IHNoYWxsIGhhbmRsZSB0aGUgTGljZW5zZWUgb3IgdGhlIExpY2Vuc2VlJ3Mg Y2xpZW50J3MgZGF0YSBpbiBhY2NvcmRhbmNlIHdpdGggaXRzIFByaXZhY3kgTm90aWNlIGFuZCBh cyBzZXQgb3V0IGluIHRoZSBEb2N1bWVudGF0aW9uIHJlbGF0aW5nIHRvIEJ1cnAgQ29sbGFib3Jh dG9yLgorCis0LiBCVVJQIElORklMVFJBVE9SCisKKzQuMS4gVGhlIExpY2Vuc29yIGhhcyBkZXZl bG9wZWQgQnVycCBJbmZpbHRyYXRvciB3aGljaCBpcyBhIGNvbXBvbmVudCBvZiB0aGUgU29mdHdh cmUgZm9yIGluc3RydW1lbnRpbmcgZGVwbG95ZWQgYXBwbGljYXRpb25zIGluIG9yZGVyIHRvIGZh Y2lsaXRhdGUgdGVzdGluZyB1c2luZyB0aGUgU29mdHdhcmUgaW4gcmVzcGVjdCBvZiB0aGUgQnVy cCBTdWl0ZQorCitFbnRlcnByaXNlIEVkaXRpb24gYW5kIEJ1cnAgU3VpdGUgUHJvZmVzc2lvbmFs IFNvZnR3YXJlIGFuZCB0aGUgdGVybXMgb2YgdGhpcyBzZWN0aW9uIDQgc2hhbGwgb25seSBhcHBs eSBpbiByZXNwZWN0IG9mIHRoYXQgU29mdHdhcmUuIEJ1cnAgSW5maWx0cmF0b3IgaW52b2x2ZXMg dGhlIExpY2Vuc2VlIGRlcGxveWluZyBvciBwcm9jdXJpbmcgZGVwbG95bWVudCBvZiB0aGUgSW5m aWx0cmF0b3IgY29tcG9uZW50IHdpdGhpbiB0aGUgdGFyZ2V0IHN5c3RlbSB3aGljaCBlbmhhbmNl cyB0aGUgYWJpbGl0eSBvZiB0aGUgU29mdHdhcmUgdG8gZGV0ZWN0IGNlcnRhaW4gdHlwZXMgb2Yg dnVsbmVyYWJpbGl0eS4gQSBmdWxsIGRlc2NyaXB0aW9uIG9mIHRoZSBmdW5jdGlvbmFsaXR5IG9m IEJ1cnAgSW5maWx0cmF0b3IgZm9ybXMgcGFydCBvZiB0aGUgRG9jdW1lbnRhdGlvbiBpZiBpdCBh cHBsaWVzIHRvIHRoZSB2ZXJzaW9uIG9mIHRoZSBTb2Z0d2FyZSB0aGUgTGljZW5zZWUgaGFzIGRv d25sb2FkZWQuCisKKzQuMi4gVGhlIGZ1bmN0aW9uYWxpdHkgb2YgQnVycCBJbmZpbHRyYXRvciBn aXZlcyByaXNlIHRvIGlzc3VlcyB0aGF0IHJlcXVpcmUgY2FyZWZ1bCBjb25zaWRlcmF0aW9uIGJ5 IHRoZSB1c2VyIGFzIGZ1bGx5IHNldCBvdXQgaW4gdGhlIERvY3VtZW50YXRpb24uIEJ5IGRlcGxv eWluZyBvciBwcm9jdXJpbmcgZGVwbG95bWVudCBvZiB0aGUgSW5maWx0cmF0b3IgdG9vbCwgdGhl IExpY2Vuc2VlIHdpbGwgYmUgZGVlbWVkIHRvIGhhdmUgcmVhZCB0aGUgcmVsZXZhbnQgRG9jdW1l bnRhdGlvbiwgZnVsbHkgdW5kZXJzdG9vZCB0aGUgZnVuY3Rpb25hbGl0eSBvZiBCdXJwIEluZmls dHJhdG9yIGFuZCBjb25zaWRlcmVkIHRoZSBjb25zZXF1ZW5jZXMgb2YgdXRpbGlzYXRpb24gZm9y IGl0cyBvcmdhbmlzYXRpb24gYW5kIGFueSBiZXNwb2tlIGNvbnN1bHRhbmN5IGNsaWVudHMgb2Yg dGhlIExpY2Vuc2VlIGFuZCwgYXMgYSByZXN1bHQgb2Ygc3VjaCBjb25zaWRlcmF0aW9uLCBoYXMg ZGVjaWRlZCB0aGF0IEJ1cnAgSW5maWx0cmF0b3IgaXMgc3VpdGFibGUgYW5kIGFwcHJvcHJpYXRl IGZvciB1c2UgYnkgaXQgYW5kIGJ5IGFueSBjbGllbnQgb2YgdGhlIExpY2Vuc2VlLiBUaGUgTGlj ZW5zb3IgY29uc2lkZXJzIEJ1cnAgSW5maWx0cmF0b3IgdG8gYmUgZWZmaWNhY2lvdXMgaW4gaGVs cGluZyB0byBpZGVudGlmeSB2dWxuZXJhYmlsaXRpZXMgb2YgdGhlIHRhcmdldCB3ZWJzaXRlLCBi dXQgdGhlIExpY2Vuc2VlIG11c3QgbWFrZSBpdHMgb3duIGV2YWx1YXRpb24gYmVmb3JlIHV0aWxp c2luZyBCdXJwIEluZmlsdHJhdG9yIGluIHRoZSBtYW5uZXIgc2V0IG91dCBpbiB0aGUgRG9jdW1l bnRhdGlvbi4KKworNC4zLiBJZiB0aGUgTGljZW5zZWUgY2F1c2VzIGl0cyBjbGllbnQgdG8gaW5z dGFsbCBCdXJwIEluZmlsdHJhdG9yIGFzIHBhcnQgb2YgYSBiZXNwb2tlIGNvbnN1bHRhbmN5IHBl cm1pdHRlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIExpY2VuY2UsIGJ5IHNvIGRvaW5nIGl0IHdh cnJhbnRzIHRvIHRoZSBMaWNlbnNvciB0aGF0IGl0IGhhcyByZWNvbW1lbmRlZCB0byB0aGUgY2xp ZW50IHRvIGluc3RhbGwgQnVycCBJbmZpbHRyYXRvciBvbiBpdHMgc3lzdGVtIGFuZCBoYXMgZGlz Y3Vzc2VkIHdpdGggdGhlIGNsaWVudCB0aGUgY29udGVudHMgb2YgdGhlIERvY3VtZW50YXRpb24g cmVsYXRpbmcgdGhlcmV0byBhbmQgdGhlIHBvdGVudGlhbCBjb25zZXF1ZW5jZXMgb2Ygc3VjaCBp bnN0YWxsYXRpb24uCisKKzUuIEVYVEVOU0lPTlMKKworNS4xLiBJbiB0aGUgTGljZW5jZSBBZ3Jl ZW1lbnQgIkV4dGVuc2lvbiIgbWVhbnMgYWxsIHByb2dyYW1taW5nIGFkZGl0aW9ucyBtYWRlIGJ5 IGEgTGljZW5zZWUgb3Igb24gaGlzIGJlaGFsZiBvciB3aXRoIGhpcyBjb25jdXJyZW5jZSB0byB0 aGUgU29mdHdhcmUgdXNpbmcgdGhlIEJ1cnAgRXh0ZW5kZXIgQVBJIChhcyBoZXJlaW5hZnRlciBk ZWZpbmVkKSB0byBlaXRoZXI6CisKKzUuMS4xLiBleHRlbmQgdGhlIGZ1bmN0aW9uYWxpdHkgb2Yg dGhlIFNvZnR3YXJlIG9yIGFueSBvdGhlciBzb2Z0d2FyZSBwcm9kdWNlZCBieSB0aGUgTGljZW5z b3I7IG9yCisKKzUuMS4yLiBlbmFibGUgdGhlIFNvZnR3YXJlIG9yIGFueSBvdGhlciBzb2Z0d2Fy ZSBwcm9kdWNlZCBieSB0aGUgTGljZW5zb3IgdG8gaW50ZXItb3BlcmF0ZSB3aXRoIG90aGVyCisK K3NvZnR3YXJlOworCitidXQgbm90IHRvIGNvcHksIGNsb25lLCByZXByb2R1Y2Ugb3IgZW11bGF0 ZSBhbnkgZXhpc3RpbmcgZmVhdHVyZSBvZiBhbnkgc29mdHdhcmUgcHJvZHVjZWQgYnkgdGhlIExp Y2Vuc29yOyBhbmQgIkJ1cnAgQXBwIiBvciAiQkFwcCIgbWVhbnMgYW4gRXh0ZW5zaW9uIGFkb3B0 ZWQgYnkgdGhlIExpY2Vuc29yIHB1cnN1YW50IHRvIHRoaXMgY2xhdXNlLgorCis1LjIuICJCdXJw IEV4dGVuZGVyIEFQSSIgbWVhbnMgdGhlIG9mZmljaWFsIEJ1cnAgRXh0ZW5kZXIgYXBwbGljYXRp b24gcHJvZ3JhbW1pbmcgaW50ZXJmYWNlIG1hZGUgYXZhaWxhYmxlIGJ5IFBvcnRTd2lnZ2VyIEx0 ZCBhbmQgZnVydGhlciBkZXNjcmliZWQgYXMgcGFydCBvZiB0aGUgRG9jdW1lbnRhdGlvbi4KKwor NS4zLiBFeHRlbnNpb25zIG1heSBiZSBjcmVhdGVkIGZvciB0aGUgdXNlIG9mIHRoZSBMaWNlbnNl ZSBwcm92aWRlZCB0aGF0IGlmIGFueSBzdWNoIEV4dGVuc2lvbiBpcyBwdWJsaXNoZWQgKHdoaWNo LCBmb3IgdGhlIGF2b2lkYW5jZSBvZiBkb3VidCwgc2hhbGwgaW5jbHVkZSBzaGFyaW5nIHN1Y2gg RXh0ZW5zaW9uIHdpdGggYW5vdGhlciBsaWNlbnNlZSBvciBhIHRoaXJkIHBhcnR5IHVubGVzcyB0 aGUgcGFydHkgdG8gd2hpY2ggdGhlIEV4dGVuc2lvbiBpcyBwcm92aWRlZCBpcyBlaXRoZXIgYSBj bGllbnQgb2YgdGhlIExpY2Vuc2VlIGFuZCB0aGUgcmVsZXZhbnQgRXh0ZW5zaW9uIGhhcyBiZWVu IGNyZWF0ZWQgZm9yIHVzZSBvbiBhbiBlbmdhZ2VtZW50IGZvciB0aGF0IG9yIGFub3RoZXIgY2xp ZW50IG9mIHRoZSBMaWNlbnNlZSwgb3IgYW5vdGhlciBMaWNlbnNlZSB3aXRoaW4gdGhlIExpY2Vu c2VlJ3Mgb3JnYW5pc2F0aW9uKSB0aGUgTGljZW5zZWUgc2hhbGwgbm90aWZ5IHRoZSBMaWNlbnNv ciBhbmQgcHJvdmlkZSB0byBpdCBhIGNvcHkgb2Ygc3VjaCBFeHRlbnNpb24gYW5kIHRoZSBMaWNl bnNlZSBhZ3JlZXMgdGhhdCBhbnkgc3VjaCBFeHRlbnNpb24gc2hhbGwsIGF0IHRoZSBvcHRpb24g b2YgdGhlIExpY2Vuc29yLCBiZWNvbWUgZWl0aGVyOgorCis1LjMuMS4gYSBCdXJwIEFwcDsgb3IK KworNS4zLjIuIHBhcnQgb2YgdGhlIFNvZnR3YXJlLgorCis1LjQuIFdoZW4gdGhlIGNyZWF0aW9u IG9mIGFuIEV4dGVuc2lvbiBpcyBub3RpZmllZCB0byB0aGUgTGljZW5zb3Igb3Igc2hhcmVkIHB1 YmxpY2x5IGFuZCBjb21lcyB0byB0aGUgYXR0ZW50aW9uIG9mIHRoZSBMaWNlbnNvciB0aGUgTGlj ZW5zb3IgaGFzIHRoZSBvcHRpb24sIGluIGl0cyBzb2xlIGRpc2NyZXRpb24sIHRvIG1ha2UgdGhl IEV4dGVuc2lvbiBhIEJ1cnAgQXBwIChCdXJwIEFwcCwgb3IgQkFwcCkgYWZ0ZXIgaGF2aW5nIGNh cnJpZWQgb3V0IHN1Y2ggZGlsaWdlbmNlIGFzIGl0IGRlZW1zIGFwcHJvcHJpYXRlLCBvbiB0aGUg RXh0ZW5zaW9uLgorCis1LjUuIFRoZSBMaWNlbnNvciBoYXMgZXN0YWJsaXNoZWQgdGhlIEJBcHAg U3RvcmUgcHJvZHVjdCBmZWF0dXJlIHdoZXJlIEJ1cnAgQXBwcyBhcmUgZGVzY3JpYmVkIGFuZCBt YXkgYmUgZG93bmxvYWRlZCB3aXRob3V0IGNoYXJnZSBmb3IgdXNlIGFzIGFuIEV4dGVuc2lvbi4K KworNS42LiBBbGwgRXh0ZW5zaW9ucyBhbmQgQnVycCBBcHBzIHJlbWFpbiB0aGUgcHJvcGVydHkg b2YgdGhlIGF1dGhvciBidXQgYnkgY3JlYXRpbmcgc3VjaCBFeHRlbnNpb24sIHRoZSBhdXRob3Ig aGFzIGdyYW50ZWQgYW4gaXJyZXZvY2FibGUsIHdvcmxkd2lkZSwgcGVycGV0dWFsLCBub24tZXhj bHVzaXZlIGxpY2VuY2UgZnJlZSBvZiBjaGFyZ2UgdG8gdGhlIExpY2Vuc29yIHRvIGluY29ycG9y YXRlIHN1Y2ggRXh0ZW5zaW9uIGluIHRoZSBTb2Z0d2FyZSBhbmQgdG8gdXNlLCBjb3B5LCBtb2Rp ZnkgYW5kIGFkYXB0IGl0IGZvciBhbnkgcHVycG9zZSBhdCB0aGUgTGljZW5zb3IncyBvcHRpb24g YW5kIGFuIGlycmV2b2NhYmxlLCBwZXJwZXR1YWwsIG5vbi1leGNsdXNpdmUgbGljZW5jZSB0byB1 c2UgdGhlIEV4dGVuc2lvbiBmcmVlIG9mIGNoYXJnZSB0byBhbGwgdGhpcmQgcGFydHkgbGljZW5z ZWVzIHdobyBkb3dubG9hZCB0aGUgQnVycCBBcHAgZnJvbSB0aGUgQkFwcCBTdG9yZS4KKworNS43 LiBJZiwgYXQgdGhlIHNvbGUgb3B0aW9uIG9mIHRoZSBMaWNlbnNvciwgdGhlIExpY2Vuc29yIGlu Y29ycG9yYXRlcyBhbiBFeHRlbnNpb24gaW50byB0aGUgU29mdHdhcmUgYSBub3RpY2Ugd2lsbCBi ZSBwbGFjZWQgb24gdGhlIEJBcHAgU3RvcmUgdG8gdGhhdCBlZmZlY3QuCisKKzUuOC4gVGhlIExp Y2Vuc29yIHJldGFpbnMgdGhlIHJpZ2h0LCB3aXRob3V0IGluY3VycmluZyBhbnkgbGlhYmlsaXR5 IHRvIHRoZSBMaWNlbnNlZSwgdG8gZGlzYWJsZSB3aXRob3V0IG5vdGljZSBhbnkgQnVycCBBcHAg YmVpbmcgdXNlZCBieSB0aGUgTGljZW5zZWUgd2hlcmUgdGhlIExpY2Vuc29yIGNvbnNpZGVycyBp biBpdHMgc29sZSBkaXNjcmV0aW9uIHRoYXQgaXQgaXMgbmVjZXNzYXJ5IHRvIGRvIHNvIGZvciBv cGVyYXRpb25hbCwgc2VjdXJpdHkgb3IgcXVhbGl0eSByZWFzb25zLgorCis2LiBUSElSRCBQQVJU WSBTT0ZUV0FSRQorCitUaGUgU29mdHdhcmUgbWF5IG1ha2UgdXNlIG9mIHRoaXJkIHBhcnR5IHRl Y2hub2xvZ3kgdGhhdCBpcyBwcm92aWRlZCB3aXRoIHRoZSBTb2Z0d2FyZS4gVGhlIExpY2Vuc29y IG1heSBwcm92aWRlIGNlcnRhaW4gbm90aWNlcyB0byB0aGUgTGljZW5zZWUgaW4gdGhlIERvY3Vt ZW50YXRpb24sIHJlYWRtZXMgb3Igbm90aWNlIGZpbGVzIGluIGNvbm5lY3Rpb24gd2l0aCBzdWNo IHRoaXJkIHBhcnR5IHRlY2hub2xvZ3kuIFRoaXJkIHBhcnR5IHRlY2hub2xvZ3kgd2lsbCBiZSBs aWNlbnNlZCB0byB0aGUgTGljZW5zZWUgZWl0aGVyIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGlzIExp Y2Vuc2Ugb3IsIGlmIHNwZWNpZmllZCBpbiB0aGUgRG9jdW1lbnRhdGlvbiwgcmVhZG1lcyBvciBu b3RpY2UgZmlsZXMsIHVuZGVyIHNlcGFyYXRlIHRlcm1zIG9yIGFzIG90aGVyd2lzZSBub3RpZmll ZCB0byB0aGUgTGljZW5zb3IgYnkgdGhlIExpY2Vuc2VlLgorCis3LiBJTlRFTExFQ1RVQUwgUFJP UEVSVFkgUklHSFRTCisKKzcuMS4gVGhlIExpY2Vuc2VlIGFja25vd2xlZGdlcyB0aGF0IGFsbCBp bnRlbGxlY3R1YWwgcHJvcGVydHkgcmlnaHRzIGluIHRoZSBTb2Z0d2FyZSBhbmQgdGhlIERvY3Vt ZW50YXRpb24gYW55d2hlcmUgaW4gdGhlIHdvcmxkIGJlbG9uZyB0byB0aGUgTGljZW5zb3IsIHRo YXQgcmlnaHRzIGluIHRoZSBTb2Z0d2FyZSBhcmUgbGljZW5zZWQgKG5vdCBzb2xkKSB0byB0aGUg TGljZW5zZWUsIGFuZCB0aGF0IHRoZSBMaWNlbnNlZSBoYXMgbm8gcmlnaHRzIGluLCBvciB0bywg dGhlIFNvZnR3YXJlIG9yIHRoZSBEb2N1bWVudGF0aW9uIG90aGVyIHRoYW4gdGhlIHJpZ2h0IHRv IHVzZSB0aGVtIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgdGVybXMgb2YgdGhlIExpY2VuY2UuCisK KzcuMi4gVGhlIExpY2Vuc2VlIGFja25vd2xlZGdlcyB0aGF0IGl0IGhhcyBubyByaWdodCB0byBo YXZlIGFjY2VzcyB0byB0aGUgU29mdHdhcmUgaW4gc291cmNlIGNvZGUgZm9ybS4KKworNy4zLiBU aGUgaW50ZWdyaXR5IG9mIHRoaXMgU29mdHdhcmUgaXMgcHJvdGVjdGVkIGJ5IHRlY2huaWNhbCBw cm90ZWN0aW9uIG1lYXN1cmVzIChUUE0pIHNvIHRoYXQgdGhlIGludGVsbGVjdHVhbCBwcm9wZXJ0 eSByaWdodHMsIGluY2x1ZGluZyBjb3B5cmlnaHQsIGluIHRoZSBTb2Z0d2FyZSBvZiB0aGUgTGlj ZW5zb3IgYXJlIG5vdCBtaXNhcHByb3ByaWF0ZWQuIFRoZSBMaWNlbnNlZSBtdXN0IG5vdCBhdHRl bXB0IGluIGFueSB3YXkgdG8gcmVtb3ZlIG9yIGNpcmN1bXZlbnQgYW55IHN1Y2ggVFBNLCBub3Ig YXBwbHkgb3IgbWFudWZhY3R1cmUgZm9yIHNhbGUgb3IgaGlyZSwgaW1wb3J0LCBkaXN0cmlidXRl LCBzZWxsIG9yIGxldCBmb3IgaGlyZSwgb2ZmZXIgb3IgZXhwb3NlIGZvciBzYWxlIG9yIGhpcmUs IGFkdmVydGlzZSBmb3Igc2FsZSBvciBoaXJlIG9yIGhhdmUgaW4gaXRzIHBvc3Nlc3Npb24gZm9y IHByaXZhdGUgb3IgY29tbWVyY2lhbCBwdXJwb3NlcyBhbnkgbWVhbnMgdGhlIHNvbGUgaW50ZW5k ZWQgcHVycG9zZSBvZiB3aGljaCBpcyB0byBmYWNpbGl0YXRlIHRoZSB1bmF1dGhvcmlzZWQgcmVt b3ZhbCBvciBjaXJjdW12ZW50aW9uIG9mIHN1Y2ggVFBNLgorCis3LjQuIFRoZSBMaWNlbnNvciB3 aWxsIGRlZmVuZCBMaWNlbnNlZSBhZ2FpbnN0IGFueSBjbGFpbSwgZGVtYW5kLCBzdWl0IG9yIHBy b2NlZWRpbmcgbWFkZSBvciBicm91Z2h0IGFnYWluc3QgTGljZW5zZWUgYnkgYSB0aGlyZCBwYXJ0 eSBhbGxlZ2luZyB0aGF0IGFueSBTb2Z0d2FyZSBvciBzZXJ2aWNlcyBpbmZyaW5nZSBvciBtaXNh cHByb3ByaWF0ZSBzdWNoIHRoaXJkIHBhcnR5J3MgaW50ZWxsZWN0dWFsIHByb3BlcnR5IHJpZ2h0 cyAoYSAiVGhpcmQgUGFydHkgSVBSIENsYWltIiksIGFuZCB3aWxsIGluZGVtbmlmeSBMaWNlbnNl ZSBmcm9tIGFueSBkaXJlY3QgZGFtYWdlcywgZmluYWxseSBhd2FyZGVkIGFnYWluc3QgTGljZW5z ZWUgYXMgYSByZXN1bHQgb2YsIG9yIGZvciBhbW91bnRzIHBhaWQgYnkgTGljZW5zZWUgdW5kZXIg YSBzZXR0bGVtZW50IGFwcHJvdmVkIGJ5IExpY2Vuc29yIGluIHdyaXRpbmcgb2YsIGEgVGhpcmQg UGFydHkgSVBSIENsYWltLCBwcm92aWRlZCB0aGF0LCBpbiBlYWNoIGNhc2UgdGhlIExpY2Vuc2Vl OgorCis3LjQuMS4gcHJvbXB0bHkgZ2l2ZXMgTGljZW5zb3Igd3JpdHRlbiBub3RpY2Ugb2YgdGhl IFRoaXJkIFBhcnR5IElQUiBDbGFpbTsKKworNy40LjIuIGdpdmVzIHRoZSBMaWNlbnNvciwgYXQg aXRzIHNvbGUgb3B0aW9uLCB0aGUgc29sZSBjb250cm9sIG9mIHRoZSBkZWZlbmNlIGFuZCBzZXR0 bGVtZW50IG9mIHRoZSBUaGlyZCBQYXJ0eSBJUFIgQ2xhaW07IGFuZAorCis3LjQuMy4gZ2l2ZXMg TGljZW5zb3IgYWxsIHJlYXNvbmFibGUgYXNzaXN0YW5jZSwgYXQgTGljZW5zb3IncyBleHBlbnNl LgorCitJZiBMaWNlbnNvciByZWNlaXZlcyBpbmZvcm1hdGlvbiBhYm91dCBhbiBpbmZyaW5nZW1l bnQgb3IgbWlzYXBwcm9wcmlhdGlvbiBjbGFpbSByZWxhdGVkIHRvIHRoZSBTb2Z0d2FyZSBvciBz ZXJ2aWNlcywgTGljZW5zb3IgbWF5IGluIGl0cyBkaXNjcmV0aW9uIGFuZCBhdCBubyBjb3N0IHRv IExpY2Vuc2VlIChpKSBtb2RpZnkgdGhlIFNvZnR3YXJlIG9yIHNlcnZpY2VzIHNvIHRoYXQgdGhl eSBhcmUgbm8gbG9uZ2VyIGNsYWltZWQgdG8gaW5mcmluZ2Ugb3IgbWlzYXBwcm9wcmlhdGUsIChp aSkgb2J0YWluIGEgbGljZW5zZSBmb3IgTGljZW5zZWUncyBjb250aW51ZWQgdXNlIG9mIHRoZSBT b2Z0d2FyZSBvciBzZXJ2aWNlcyBpbiBhY2NvcmRhbmNlIHdpdGggdGhpcyBBZ3JlZW1lbnQsIG9y IChpaWkpIHRlcm1pbmF0ZSBMaWNlbnNlZSdzIHN1YnNjcmlwdGlvbnMgZm9yIHN1Y2ggU29mdHdh cmUgb3Igc2VydmljZXMgdXBvbiAzMCBkYXlzJyB3cml0dGVuIG5vdGljZSBhbmQgcmVmdW5kIExp Y2Vuc2VlIGFueSBwcmVwYWlkIGZlZXMgY292ZXJpbmcgdGhlIHJlbWFpbmRlciBvZiB0aGUgdGVy bSBvZiB0aGUgdGVybWluYXRlZCBsaWNlbmNlLiBUaGUgYWJvdmUgZGVmZW5jZSBhbmQgaW5kZW1u aWZpY2F0aW9uIG9ibGlnYXRpb25zIGRvIG5vdCBhcHBseSBpZiAoMSkgdGhlIGFsbGVnYXRpb24g ZG9lcyBub3Qgc3RhdGUgd2l0aCBzcGVjaWZpY2l0eSB0aGF0IHRoZSBTb2Z0d2FyZSBvciBzZXJ2 aWNlcyBhcmUgdGhlIGJhc2lzIG9mIHRoZSBUaGlyZCBQYXJ0eSBDbGFpbTsgKDIpIGEgVGhpcmQg UGFydHkgQ2xhaW0gYXJpc2VzIGZyb20gdGhlIHVzZSBvciBjb21iaW5hdGlvbiBvZiB0aGUgU29m dHdhcmUgb3Igc2VydmljZXMgb3IgYW55IHBhcnQgdGhlcmVvZiB3aXRoIHNvZnR3YXJlLCBoYXJk d2FyZSwgZGF0YSwgb3IgcHJvY2Vzc2VzIG5vdCBwcm92aWRlZCBieSBMaWNlbnNvciwgaWYgdGhl IFNvZnR3YXJlIG9yIFNlcnZpY2VzIG9yIHVzZSB0aGVyZW9mIHdvdWxkIG5vdCBpbmZyaW5nZSB3 aXRob3V0IHN1Y2ggY29tYmluYXRpb247ICgzKSBhIFRoaXJkIFBhcnR5IENsYWltIGFyaXNlcyBm cm9tIFNvZnR3YXJlIG9yIHNlcnZpY2VzIGZvciB3aGljaCB0aGVyZSBpcyBubyBjaGFyZ2Ugb3Ig aGFzIGJlZW4gcHJvdmlkZWQgb24gYSBmcmVlIHRyaWFsIG9yIGNvbW11bml0eSBsaWNlbmNlIGJh c2lzOyBvciAoNCkgYSBUaGlyZCBQYXJ0eSBDbGFpbSBhcmlzZXMgZnJvbSB0aGUgTGljZW5zZWUn cyBvciBhIHRoaXJkIHBhcnR5J3MgbWF0ZXJpYWxzIG9yIGFwcGxpY2F0aW9uIG9yIExpY2Vuc2Vl J3MgYnJlYWNoIG9mIHRoaXMgQWdyZWVtZW50LiBUaGlzIGNsYXVzZSBwcm92aWRlcyB0aGUgTGlj ZW5zb3IncyBzb2xlIGxpYWJpbGl0eSB0bywgYW5kIHRoZSBMaWNlbnNlZSdzIGV4Y2x1c2l2ZSBy ZW1lZHkgYWdhaW5zdCwgdGhlIExpY2Vuc29yIGZvciBhbnkgVGhpcmQgUGFydHkgSVBSIENsYWlt LgorCis4LiBMSUNFTlNPUidTIFdBUlJBTlRZCisKKzguMS4gVGhlIExpY2Vuc2VlIGFja25vd2xl ZGdlcyB0aGF0IHRoZSBTb2Z0d2FyZSBhbmQgdGhlIEJ1cnAgQXBwcyBhcmUgcHJvdmlkZWQgImFz IGlzIiBhbmQgaGF2ZSBub3QgYmVlbiBkZXZlbG9wZWQgdG8gbWVldCBpdHMgaW5kaXZpZHVhbCBy ZXF1aXJlbWVudHMsIGFuZCB0aGF0IGl0IGlzIHRoZXJlZm9yZSB0aGUgTGljZW5zZWUncyByZXNw b25zaWJpbGl0eSB0byBlbnN1cmUgdGhhdCB0aGUgZmFjaWxpdGllcyBhbmQgZnVuY3Rpb25zIG9m IHRoZSBTb2Z0d2FyZSBhcyBkZXNjcmliZWQgaW4gdGhlIERvY3VtZW50YXRpb24gYW5kIHRoZSBm YWNpbGl0aWVzIGFuZCBmdW5jdGlvbnMgb2YgYW55IEJ1cnAgQXBwIG1lZXQgaXRzIHJlcXVpcmVt ZW50cy4KKworOC4yLiBUaGUgTGljZW5zZWUgYWNrbm93bGVkZ2VzIHRoYXQgdGhlIFNvZnR3YXJl IGFuZCB0aGUgQnVycCBBcHBzIG1heSBub3QgYmUgZnJlZSBvZiBidWdzIG9yIGVycm9ycywgYW5k IGFncmVlIHRoYXQgdGhlIGV4aXN0ZW5jZSBvZiBtaW5vciBlcnJvcnMgc2hhbGwgbm90IGNvbnN0 aXR1dGUgYSBicmVhY2ggb2YgdGhlIExpY2VuY2UuCisKKzkuIExJQ0VOU09SJ1MgTElBQklMSVRZ OiBBVFRFTlRJT04gSVMgRFJBV04gUEFSVElDVUxBUkxZIFRPIFRIRSBQUk9WSVNJT05TIE9GIFRI SVMgQ09ORElUSU9OCisKKzkuMS4gTm90aGluZyBpbiB0aGUgTGljZW5jZSBzaGFsbCBsaW1pdCBv ciBleGNsdWRlIHRoZSBsaWFiaWxpdHkgb2YgZWl0aGVyIHBhcnR5IGZvciBkZWF0aCBvciBwZXJz b25hbCBpbmp1cnkgcmVzdWx0aW5nIGZyb20gbmVnbGlnZW5jZSwgZnJhdWQsIGZyYXVkdWxlbnQg bWlzcmVwcmVzZW50YXRpb24gb3IgYW55IG90aGVyIGxpYWJpbGl0eSB0aGF0IGNhbm5vdCBiZSBs aW1pdGVkIGJ5IGxhdy4KKworOS4yLiBTdWJqZWN0IHRvIHNlY3Rpb24gOS4xLCB0aGUgTGljZW5z b3IncyBsaWFiaWxpdHkgZm9yIGxvc3NlcyBzdWZmZXJlZCBieSB0aGUgTGljZW5zZWUgYXJpc2lu ZyBvdXQgb2Ygb3IgaW4gY29ubmVjdGlvbiB3aXRoIHRoZSBMaWNlbmNlIChpbmNsdWRpbmcgYW55 IGxpYWJpbGl0eSBmb3IgdGhlIGFjdHMgb3Igb21pc3Npb25zIG9mIGl0cyBlbXBsb3llZXMsIGFn ZW50cyBhbmQgc3ViY29udHJhY3RvcnMpLCB3aGV0aGVyIGFyaXNpbmcgaW4gY29udHJhY3QsIHRv cnQgKGluY2x1ZGluZyBuZWdsaWdlbmNlKSwgbWlzcmVwcmVzZW50YXRpb24gb3Igb3RoZXJ3aXNl LCBzaGFsbCBub3QgaW5jbHVkZSBsaWFiaWxpdHkgZm9yOgorCis5LjIuMS4gbG9zcyBvZiB0dXJu b3Zlciwgc2FsZXMgb3IgaW5jb21lOworCis5LjIuMi4gbG9zcyBvZiBidXNpbmVzcyBwcm9maXRz IG9yIGNvbnRyYWN0czsKKworOS4yLjMuIGJ1c2luZXNzIGludGVycnVwdGlvbjsKKworOS4yLjQu IGxvc3Mgb2YgdGhlIHVzZSBvZiBtb25leSBvciBhbnRpY2lwYXRlZCBzYXZpbmdzOworCis5LjIu NS4gbG9zcyBvZiBpbmZvcm1hdGlvbjsKKworOS4yLjYuIGxvc3Mgb2Ygb3Bwb3J0dW5pdHksIGdv b2R3aWxsIG9yIHJlcHV0YXRpb247CisKKzkuMi43LiBsb3NzIG9mLCBkYW1hZ2UgdG8gb3IgY29y cnVwdGlvbiBvZiBzb2Z0d2FyZSBvciBkYXRhOyBvcgorCis5LjIuOC4gYW55IGluZGlyZWN0IG9y IGNvbnNlcXVlbnRpYWwgbG9zcyBvciBkYW1hZ2Ugb2YgYW55IGtpbmQgaG93c29ldmVyIGFyaXNp bmcgYW5kIHdoZXRoZXIgY2F1c2VkIGJ5IHRvcnQgKGluY2x1ZGluZyBuZWdsaWdlbmNlKSwgYnJl YWNoIG9mIGNvbnRyYWN0IG9yIG90aGVyd2lzZS4KKworOS4zLiBUaGUgTGljZW5jZSBzZXRzIG91 dCB0aGUgZnVsbCBleHRlbnQgb2YgdGhlIExpY2Vuc29yJ3Mgb2JsaWdhdGlvbnMgYW5kIGxpYWJp bGl0aWVzIGluIHJlc3BlY3Qgb2YgdGhlIHN1cHBseSBvZiB0aGUgU29mdHdhcmUgYW5kIEJ1cnAg QXBwcy4gSW4gcGFydGljdWxhciwgdGhlcmUgYXJlIG5vIGNvbmRpdGlvbnMsIHdhcnJhbnRpZXMs IHJlcHJlc2VudGF0aW9ucyBvciBvdGhlciB0ZXJtcywgZXhwcmVzcyBvciBpbXBsaWVkLCB0aGF0 IGFyZSBiaW5kaW5nIG9uIHRoZSBMaWNlbnNvciBleGNlcHQgYXMgc3BlY2lmaWNhbGx5IHN0YXRl ZCBpbiB0aGUgTGljZW5jZS4gQW55IGNvbmRpdGlvbiwgd2FycmFudHksIHJlcHJlc2VudGF0aW9u IG9yIG90aGVyIHRlcm0gY29uY2VybmluZyB0aGUgc3VwcGx5IG9mIHRoZSBTb2Z0d2FyZSBhbmQg QnVycCBBcHBzIHdoaWNoIG1pZ2h0IG90aGVyd2lzZSBiZSBpbXBsaWVkIGludG8sIG9yIGluY29y cG9yYXRlZCBpbiwgdGhlIExpY2VuY2UsIG9yIGFueSBjb2xsYXRlcmFsIGNvbnRyYWN0LCB3aGV0 aGVyIGJ5IHN0YXR1dGUsIGNvbW1vbiBsYXcgb3Igb3RoZXJ3aXNlLCBpcyBoZXJlYnkgZXhjbHVk ZWQgdG8gdGhlIGZ1bGxlc3QgZXh0ZW50IHBlcm1pdHRlZCBieSBsYXcuCisKKzEwLiBQVUJMSUNJ VFkgQU5EIENPTU1VTklDQVRJT04KKworMTAuMS4gQnkgZW50ZXJpbmcgaW50byB0aGUgTGljZW5j ZSB0aGUgTGljZW5zZWUgYWdyZWVzIHRoYXQgdGhlIExpY2Vuc29yIG1heSByZWZlciB0byB0aGUg TGljZW5zZWUgYXMgb25lIG9mIGl0cyBjdXN0b21lcnMgaW50ZXJuYWxseSBhbmQgaW4gZXh0ZXJu YWxseSBwdWJsaXNoZWQgbWVkaWEgYW5kLCB3aGVyZSByZWxldmFudCwgdGhlIExpY2Vuc2VlIGdy YW50cyBpdHMgY29uc2VudCB0byB0aGUgdXNlIG9mIHRoZSBMaWNlbnNlZSdzIGxvZ28ocykgZm9y IHRoaXMgcHVycG9zZSwgdW5sZXNzIHRoZSBMaWNlbnNlZSBub3RpZmllcyB0aGUgTGljZW5zb3Ig aW4gd3JpdGluZyB0aGF0IHRoZSBMaWNlbnNvciBtYXkgbm90IHJlZmVyIHRvIGl0IGZvciBzdWNo IHB1cnBvc2UuIEFueSBhZGRpdGlvbmFsIGRpc2Nsb3N1cmUgYnkgdGhlIExpY2Vuc29yIHdpdGgg cmVzcGVjdCB0byB0aGUgTGljZW5zZWUgc2hhbGwgYmUgc3ViamVjdCB0byBpdHMgcHJpb3Igd3Jp dHRlbiBjb25zZW50LgorCisxMC4yLiBCeSBlbnRlcmluZyBpbnRvIHRoZSBMaWNlbmNlLCB0aGUg TGljZW5zZWUgY29uc2VudHMgdGhhdCB0aGUgTGljZW5zb3IgbWF5IHByb2Nlc3MgdGhlIHBlcnNv bmFsIGRhdGEgdGhhdCBpdCBjb2xsZWN0cyBmcm9tIHRoZSBMaWNlbnNlZSBpbiBhY2NvcmRhbmNl IHdpdGggdGhlIExpY2Vuc29yJ3MgUHJpdmFjeSBQb2xpY3kuIFRoZSBMaWNlbnNlZSBpcyByZXNw b25zaWJsZSBmb3IgZW5zdXJpbmcgaXQgaGFzIGluIHBsYWNlIGFsbCByZWxldmFudCBjb25zZW50 cywgcGVybWlzc2lvbnMgb3IgcmlnaHRzIHRvIHNoYXJlIGFueSBwZXJzb25hbCBkYXRhIHdpdGgg dGhlIExpY2Vuc29yIGZvciB0aGUgTGljZW5zb3IncyB1c2UgaW4gYWNjb3JkYW5jZSB3aXRoIHRo ZSBQcml2YWN5IFBvbGljeSBhbmQgdGhlc2UgVGVybXMuIEluIHBhcnRpY3VsYXIsIHRoZSBMaWNl bnNvciBtYXkgdXNlIGluZm9ybWF0aW9uIGl0IGhvbGRzIGFib3V0IHRoZSBMaWNlbnNlZSBvciBp dHMgZGVzaWduYXRlZCBjb250YWN0cyBmb3IgdGhlIHB1cnBvc2VzIG9mLCBpbnRlciBhbGlhLCBz ZW5kaW5nIG91dCByZW5ld2FsIHJlbWluZGVycywgcXVlc3Rpb25uYWlyZXMgdG8gY2VydGFpbiBj YXRlZ29yaWVzIG9mIHVzZXJzIGluY2x1ZGluZyBub24tcmVuZXdlcnMgYW5kIGZlZWRiYWNrIHJl cXVlc3RzLgorCisxMC4zLiBBbnkgcXVlc3Rpb25zLCBjb21tZW50cyBhbmQgcmVxdWVzdHMgcmVn YXJkaW5nIHRoZSBMaWNlbnNvcidzIGRhdGEgcHJvY2Vzc2luZyBwcmFjdGljZXMgbWF5IGJlIGFk ZHJlc3NlZCB0byBvZmZpY2VAcG9ydHN3aWdnZXIubmV0LgorCisxMS4gVEVSTUlOQVRJT04KKwor MTEuMS4gVGhlIExpY2Vuc29yIG1heSB0ZXJtaW5hdGUgdGhlIExpY2VuY2UgaW1tZWRpYXRlbHkg Ynkgd3JpdHRlbiBub3RpY2UgdG8gdGhlIExpY2Vuc2VlIGlmIHRoZSBMaWNlbnNlZSBvciBhbnkg b2YgaXRzIHVzZXJzIGNvbW1pdCBhIG1hdGVyaWFsIG9yIHBlcnNpc3RlbnQgYnJlYWNoIG9mIHRo ZSBMaWNlbmNlIHdoaWNoIHRoZSBMaWNlbnNlZSBmYWlscyB0byByZW1lZHkgKGlmIHJlbWVkaWFi bGUpIHdpdGhpbiAxNCBkYXlzIGFmdGVyIHRoZSBzZXJ2aWNlIG9mIHdyaXR0ZW4gbm90aWNlIHJl cXVpcmluZyB0aGUgTGljZW5zZWUgdG8gZG8gc28uCisKKzExLjIuIFVwb24gdGVybWluYXRpb24g Zm9yIGFueSByZWFzb246CisKKzExLjIuMS4gYWxsIHJpZ2h0cyBncmFudGVkIHRvIHRoZSBMaWNl bnNlZSB1bmRlciB0aGUgTGljZW5jZSBzaGFsbCBjZWFzZTsKKworMTEuMi4yLiB0aGUgTGljZW5z ZWUgbXVzdCBjZWFzZSBhbGwgYWN0aXZpdGllcyBhdXRob3Jpc2VkIGJ5IHRoZSBMaWNlbmNlOwor CisxMS4yLjMuIHRoZSBMaWNlbnNlZSBtdXN0IGltbWVkaWF0ZWx5IGRlbGV0ZSBvciByZW1vdmUg dGhlIFNvZnR3YXJlIGFuZCBhbnkgQnVycCBBcHBzIGZyb20gYWxsIGNvbXB1dGVyIGVxdWlwbWVu dCBpbiBpdHMgcG9zc2Vzc2lvbiwgYW5kIGltbWVkaWF0ZWx5IGRlc3Ryb3kgb3IgcmV0dXJuIHRv IHRoZSBMaWNlbnNvciAoYXQgdGhlIExpY2Vuc29yJ3Mgb3B0aW9uKSBhbGwgY29waWVzIG9mIHRo ZSBTb2Z0d2FyZSBhbmQgQnVycCBBcHBzIHRoZW4gaW4gaXRzIHBvc3Nlc3Npb24sIGN1c3RvZHkg b3IgY29udHJvbCBhbmQsIGluIHRoZSBjYXNlIG9mIGRlc3RydWN0aW9uLCBjZXJ0aWZ5IHRvIHRo ZSBMaWNlbnNvciB0aGF0IGl0IGhhdmUgZG9uZSBzbzsgYW5kCisKKzExLjIuNC4gdGhlIExpY2Vu c2VlIG11c3QgaW1tZWRpYXRlbHkgcGF5IHRvIHRoZSBMaWNlbnNvciBhbnkgc3VtcyBkdWUgdG8g dGhlIExpY2Vuc29yIHVuZGVyIHRoZSBMaWNlbmNlLgorCisxMi4gVFJBTlNGRVIgT0YgUklHSFRT IEFORCBPQkxJR0FUSU9OUworCisxMi4xLiBUaGUgTGljZW5jZSBpcyBiaW5kaW5nIG9uIHRoZSBM aWNlbnNlZSBhbmQgdGhlIExpY2Vuc29yLCBhbmQgZWFjaCBvZiB0aGVpciByZXNwZWN0aXZlIHN1 Y2Nlc3NvcnMgYW5kIGFzc2lnbnMuCisKKzEyLjIuIFRoZSBMaWNlbnNlZSBtYXkgbm90IHRyYW5z ZmVyLCBhc3NpZ24sIGNoYXJnZSBvciBvdGhlcndpc2UgZGlzcG9zZSBvZiB0aGUgTGljZW5jZSwg b3IgYW55IG9mIGl0cyByaWdodHMgb3Igb2JsaWdhdGlvbnMgYXJpc2luZyB1bmRlciBpdCwgd2l0 aG91dCB0aGUgTGljZW5zb3IncyBwcmlvciB3cml0dGVuIGNvbnNlbnQuCisKKzEyLjMuIFdoZXJl IExpY2Vuc2VlIGlzIGEgY29tcGFueSwgdGhlIGxpY2Vuc2VzIGdyYW50ZWQgaGVyZXVuZGVyIHNo YWxsIGFsc28gZXh0ZW5kIHRvIHRoZSBMaWNlbnNlZSdzIEdyb3VwIG1lbWJlcnMgKG1lYW5pbmcs IGluIHJlbGF0aW9uIHRvIGFueSBjb21wYW55LCB0aGF0IGNvbXBhbnksIGl0cyBzdWJzaWRpYXJp ZXMsIGl0cyB1bHRpbWF0ZSBob2xkaW5nIGNvbXBhbnkgYW5kIGFsbCBzdWJzaWRpYXJpZXMgb2Yg c3VjaCB1bHRpbWF0ZSBob2xkaW5nIGNvbXBhbnksIGFzIHN1Y2ggdGVybXMgYXJlIGRlZmluZWQg aW4gdGhlIENvbXBhbmllcyBBY3QgMjAwNiksIHByb3ZpZGVkIHRoYXQgc3VjaCBHcm91cCBtZW1i ZXJzIGhhdmUgbm8gcmlnaHQgdW5kZXIgdGhlIENvbnRyYWN0cyAoUmlnaHRzIG9mIFRoaXJkIFBh cnRpZXMpIEFjdCAxOTk5IHRvIGVuZm9yY2UgYW55IHRlcm0gb2YgdGhlIEFncmVlbWVudC4KKwor MTIuNC4gVGhlIExpY2Vuc29yIG1heSB0cmFuc2ZlciwgYXNzaWduLCBjaGFyZ2UsIHN1Yi1jb250 cmFjdCBvciBvdGhlcndpc2UgZGlzcG9zZSBvZiB0aGUgTGljZW5jZSwgb3IgYW55IG9mIHRoZSBM aWNlbnNvcidzIHJpZ2h0cyBvciBvYmxpZ2F0aW9ucyBhcmlzaW5nIHVuZGVyIGl0LCBhdCBhbnkg dGltZSBkdXJpbmcgdGhlIHRlcm0gb2YgdGhlIExpY2VuY2UuCisKKzEzLiBOT1RJQ0VTCisKK0Fs bCBub3RpY2VzIGdpdmVuIGJ5IHRoZSBMaWNlbnNlZSB0byB0aGUgTGljZW5zb3IgbXVzdCBiZSBn aXZlbiB0byBQb3J0U3dpZ2dlciBMdGQgYXQgb2ZmaWNlQHBvcnRzd2lnZ2VyLm5ldCBvciBWaWN0 b3JpYSBDb3VydCwgQmV4dG9uIFJvYWQsIEtudXRzZm9yZCwgV0ExNiAwUEYgRW5nbGFuZC4gVGhl IExpY2Vuc29yIG1heSBnaXZlIG5vdGljZSB0byB0aGUgTGljZW5zZWUgcG9zdGluZyBvbmxpbmUg b24gdGhlIExpY2Vuc29yIHdlYnNpdGUuIE5vdGljZSB3aWxsIGJlIGRlZW1lZCByZWNlaXZlZCBh bmQgcHJvcGVybHkgc2VydmVkIGltbWVkaWF0ZWx5IHdoZW4gcG9zdGVkIG9uIHRoZSBMaWNlbnNv cidzIHdlYnNpdGUuIEluIHByb3ZpbmcgdGhlIHNlcnZpY2Ugb2YgYW55IG5vdGljZSwgaXQgd2ls bCBiZSBzdWZmaWNpZW50IHRvIHByb3ZlLCBpbiB0aGUgY2FzZSBvZiBhIGxldHRlciwgdGhhdCBz dWNoIGxldHRlciB3YXMgcHJvcGVybHkgYWRkcmVzc2VkLCBzdGFtcGVkIGFuZCBwbGFjZWQgaW4g dGhlIHBvc3QgYW5kLCBpbiB0aGUgY2FzZSBvZiBhbiBlLW1haWwsIHRoYXQgc3VjaCBlLW1haWwg d2FzIHNlbnQgdG8gdGhlIHNwZWNpZmllZCBlLW1haWwgYWRkcmVzcyBvZiB0aGUgYWRkcmVzc2Vl LgorCisxNC4gRVZFTlRTIE9VVFNJREUgTElDRU5TT1InUyBDT05UUk9MCisKKzE0LjEuIFRoZSBM aWNlbnNvciB3aWxsIG5vdCBiZSBsaWFibGUgb3IgcmVzcG9uc2libGUgZm9yIGFueSBmYWlsdXJl IHRvIHBlcmZvcm0sIG9yIGRlbGF5IGluIHBlcmZvcm1hbmNlIG9mLCBhbnkgb2YgdGhlIExpY2Vu c29yJ3Mgb2JsaWdhdGlvbnMgdW5kZXIgdGhlIExpY2VuY2UgdGhhdCBpcyBjYXVzZWQgYnkgZXZl bnRzIG91dHNpZGUgaXRzIHJlYXNvbmFibGUgY29udHJvbCAoRm9yY2UgTWFqZXVyZSBFdmVudCku CisKKzE0LjIuIEEgRm9yY2UgTWFqZXVyZSBFdmVudCBpbmNsdWRlcyBhbnkgYWN0LCBldmVudCwg bm9uLWhhcHBlbmluZywgb21pc3Npb24gb3IgYWNjaWRlbnQgYmV5b25kIHRoZSBMaWNlbnNvcidz IHJlYXNvbmFibGUgY29udHJvbCBhbmQgaW5jbHVkZXMgaW4gcGFydGljdWxhciAod2l0aG91dCBs aW1pdGF0aW9uKSB0aGUgZm9sbG93aW5nOgorCisxNC4yLjEuIHN0cmlrZXMsIGxvY2stb3V0cyBv ciBvdGhlciBpbmR1c3RyaWFsIGFjdGlvbjsKKworMTQuMi4yLiBjaXZpbCBjb21tb3Rpb24sIHJp b3QsIGludmFzaW9uLCB0ZXJyb3Jpc3QgYXR0YWNrIG9yIHRocmVhdCBvZiB0ZXJyb3Jpc3QgYXR0 YWNrLCB3YXIgKHdoZXRoZXIgZGVjbGFyZWQgb3Igbm90KSBvciB0aHJlYXQgb2Ygb3IgcHJlcGFy YXRpb24gZm9yIHdhcjsKKworMTQuMi4zLiBmaXJlLCBleHBsb3Npb24sIHN0b3JtLCBmbG9vZCwg ZWFydGhxdWFrZSwgc3Vic2lkZW5jZSwgZXBpZGVtaWMgb3Igb3RoZXIgbmF0dXJhbCBkaXNhc3Rl cjsKKworMTQuMi40LiBpbXBvc3NpYmlsaXR5IG9mIHRoZSB1c2Ugb2YgcmFpbHdheXMsIHNoaXBw aW5nLCBhaXJjcmFmdCwgbW90b3IgdHJhbnNwb3J0IG9yIG90aGVyIG1lYW5zIG9mIHB1YmxpYyBv ciBwcml2YXRlIHRyYW5zcG9ydDsKKworMTQuMi41LiBpbXBvc3NpYmlsaXR5IG9mIHRoZSB1c2Ug b2YgcHVibGljIG9yIHByaXZhdGUgdGVsZWNvbW11bmljYXRpb25zIG5ldHdvcmtzOyBhbmQKKwor MTQuMi42LiB0aGUgYWN0cywgZGVjcmVlcywgbGVnaXNsYXRpb24sIHJlZ3VsYXRpb25zIG9yIHJl c3RyaWN0aW9ucyBvZiBhbnkgZ292ZXJubWVudC4KKworMTQuMy4gVGhlIExpY2Vuc29yJ3MgcGVy Zm9ybWFuY2UgdW5kZXIgdGhlIExpY2VuY2UgaXMgZGVlbWVkIHRvIGJlIHN1c3BlbmRlZCBmb3Ig dGhlIHBlcmlvZCB0aGF0IHRoZSBGb3JjZSBNYWpldXJlIEV2ZW50IGNvbnRpbnVlcywgYW5kIHRo ZSBMaWNlbnNvciB3aWxsIGhhdmUgYW4gZXh0ZW5zaW9uIG9mIHRpbWUgZm9yIHBlcmZvcm1hbmNl IGZvciB0aGUgZHVyYXRpb24gb2YgdGhhdCBwZXJpb2QuIFRoZSBMaWNlbnNvciB3aWxsIHVzZSBp dHMgcmVhc29uYWJsZSBlbmRlYXZvdXJzIHRvIGJyaW5nIHRoZSBGb3JjZSBNYWpldXJlCisKK0V2 ZW50IHRvIGEgY2xvc2Ugb3IgdG8gZmluZCBhIHNvbHV0aW9uIGJ5IHdoaWNoIGl0cyBvYmxpZ2F0 aW9ucyB1bmRlciB0aGUgTGljZW5jZSBtYXkgYmUgcGVyZm9ybWVkIGRlc3BpdGUgdGhlIEZvcmNl IE1hamV1cmUgRXZlbnQuCisKKzE1LiBXQUlWRVIKKworMTUuMS4gSWYgdGhlIExpY2Vuc29yIGZh aWxzLCBhdCBhbnkgdGltZSBkdXJpbmcgdGhlIHRlcm0gb2YgdGhlIExpY2VuY2UsIHRvIGluc2lz dCB1cG9uIHN0cmljdCBwZXJmb3JtYW5jZSBvZiBhbnkgb2YgdGhlIExpY2Vuc2VlJ3Mgb2JsaWdh dGlvbnMgdW5kZXIgdGhlIExpY2VuY2UsIG9yIGlmIHRoZSBMaWNlbnNvciBmYWlscyB0byBleGVy Y2lzZSBhbnkgb2YgdGhlIHJpZ2h0cyBvciByZW1lZGllcyB0byB3aGljaCB0aGUgTGljZW5zb3Ig aXMgZW50aXRsZWQgdW5kZXIgdGhlIExpY2VuY2UsIHRoaXMgc2hhbGwgbm90IGNvbnN0aXR1dGUg YSB3YWl2ZXIgb2Ygc3VjaCByaWdodHMgb3IgcmVtZWRpZXMgYW5kIHNoYWxsIG5vdCByZWxpZXZl IHRoZSBMaWNlbnNlZSBmcm9tIGNvbXBsaWFuY2Ugd2l0aCBzdWNoIG9ibGlnYXRpb25zLgorCisx NS4yLiBBIHdhaXZlciBieSB0aGUgTGljZW5zb3Igb2YgYW55IGRlZmF1bHQgc2hhbGwgbm90IGNv bnN0aXR1dGUgYSB3YWl2ZXIgb2YgYW55IHN1YnNlcXVlbnQgZGVmYXVsdC4KKworMTUuMy4gTm8g d2FpdmVyIGJ5IHRoZSBMaWNlbnNvciBvZiBhbnkgb2YgdGhlIHByb3Zpc2lvbnMgb2YgdGhlIExp Y2VuY2Ugc2hhbGwgYmUgZWZmZWN0aXZlIHVubGVzcyBpdCBpcyBleHByZXNzbHkgc3RhdGVkIHRv IGJlIGEgd2FpdmVyIGFuZCBpcyBjb21tdW5pY2F0ZWQgdG8gdGhlIExpY2Vuc2VlIGluIHdyaXRp bmcuCisKKzE2LiBTRVZFUkFCSUxJVFkKKworSWYgYW55IG9mIHRoZSB0ZXJtcyBvZiB0aGUgTGlj ZW5jZSBhcmUgZGV0ZXJtaW5lZCBieSBhbnkgY29tcGV0ZW50IGF1dGhvcml0eSB0byBiZSBpbnZh bGlkLCB1bmxhd2Z1bCBvciB1bmVuZm9yY2VhYmxlIHRvIGFueSBleHRlbnQsIHN1Y2ggdGVybSwg Y29uZGl0aW9uIG9yIHByb3Zpc2lvbiB3aWxsIHRvIHRoYXQgZXh0ZW50IGJlIHNldmVyZWQgZnJv bSB0aGUgcmVtYWluaW5nIHRlcm1zLCBjb25kaXRpb25zIGFuZCBwcm92aXNpb25zIHdoaWNoIHdp bGwgY29udGludWUgdG8gYmUgdmFsaWQgdG8gdGhlIGZ1bGxlc3QgZXh0ZW50IHBlcm1pdHRlZCBi eSBsYXcuCisKKzE3LiBFTlRJUkUgQUdSRUVNRU5UCisKKzE3LjEuIFRoaXMgTGljZW5jZSBhbmQg YW55IGRvY3VtZW50IGV4cHJlc3NseSByZWZlcnJlZCB0byBpbiBpdCByZXByZXNlbnRzIHRoZSBl bnRpcmUgYWdyZWVtZW50IGJldHdlZW4gdGhlIHBhcnRpZXMgaW4gcmVsYXRpb24gdG8gdGhlIGxp Y2Vuc2luZyBvZiB0aGUgU29mdHdhcmUsIHRoZSBEb2N1bWVudGF0aW9uIGFuZCBhbnkgQnVycCBB cHBzIGFuZCBzdXBlcnNlZGVzIGFueSBwcmlvciBhZ3JlZW1lbnQsIHVuZGVyc3RhbmRpbmcgb3Ig YXJyYW5nZW1lbnQgYmV0d2VlbiB0aGUgcGFydGllcywgd2hldGhlciBvcmFsIG9yIGluIHdyaXRp bmcuCisKKzE3LjIuIFRoZSBwYXJ0aWVzIGVhY2ggYWNrbm93bGVkZ2UgdGhhdCwgaW4gZW50ZXJp bmcgaW50byB0aGUgTGljZW5jZSwgdGhleSBoYXZlIG5vdCByZWxpZWQgb24gYW55IHJlcHJlc2Vu dGF0aW9uLCB1bmRlcnRha2luZyBvciBwcm9taXNlIGdpdmVuIGJ5IHRoZSBvdGhlciBvciBpbXBs aWVkIGZyb20gYW55dGhpbmcgc2FpZCBvciB3cml0dGVuIGluIG5lZ290aWF0aW9ucyBiZXR3ZWVu IHRoZSBwYXJ0aWVzIHByaW9yIHRvIGVudGVyaW5nIGludG8gdGhlIExpY2VuY2UgZXhjZXB0IGFz IGV4cHJlc3NseSBzdGF0ZWQgaW4gdGhlIExpY2VuY2UuCisKKzE3LjMuIE5laXRoZXIgcGFydHkg c2hhbGwgaGF2ZSBhbnkgcmVtZWR5IGluIHJlc3BlY3Qgb2YgYW55IHVudHJ1ZSBzdGF0ZW1lbnQg bWFkZSBieSB0aGUgb3RoZXIsIHdoZXRoZXIgb3JhbGx5IG9yIGluIHdyaXRpbmcsIHByaW9yIHRv IHRoZSBkYXRlIG9uIHdoaWNoIHRoZSBwYXJ0aWVzIGVudGVyZWQgaW50byB0aGlzIExpY2VuY2Ug KHVubGVzcyBzdWNoIHVudHJ1ZSBzdGF0ZW1lbnQgd2FzIG1hZGUgZnJhdWR1bGVudGx5KSBhbmQg dGhlIG90aGVyIHBhcnR5J3Mgb25seSByZW1lZHkgc2hhbGwgYmUgZm9yIGJyZWFjaCBvZiBjb250 cmFjdCBhcyBwcm92aWRlZCBpbiB0aGVzZSB0ZXJtcyBhbmQgY29uZGl0aW9ucy4KKworMTguIExB VyBBTkQgSlVSSVNESUNUSU9OCisKK1RoZSBMaWNlbmNlLCBpdHMgc3ViamVjdCBtYXR0ZXIgb3Ig aXRzIGZvcm1hdGlvbiAoaW5jbHVkaW5nIG5vbi1jb250cmFjdHVhbCBkaXNwdXRlcyBvciBjbGFp bXMpIHNoYWxsIGJlIGdvdmVybmVkIGJ5IGFuZCBjb25zdHJ1ZWQgaW4gYWNjb3JkYW5jZSB3aXRo IEVuZ2xpc2ggbGF3IGFuZCBzdWJtaXR0ZWQgdG8gdGhlIGV4Y2x1c2l2ZSBqdXJpc2RpY3Rpb24g b2YgdGhlIEVuZ2xpc2ggY291cnRzLgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9CdXJwU3VpdGUvdGVt cGxhdGUgYi9zcmNwa2dzL0J1cnBTdWl0ZS90ZW1wbGF0ZQpuZXcgZmlsZSBtb2RlIDEwMDY0NApp bmRleCAwMDAwMDAwMDAwMC4uNTU0ZTE4NGUxNGQKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dz L0J1cnBTdWl0ZS90ZW1wbGF0ZQpAQCAtMCwwICsxLDM3IEBACisjIFRlbXBsYXRlIGZpbGUgZm9y ICdCdXJwU3VpdGUnCitwa2duYW1lPUJ1cnBTdWl0ZQordmVyc2lvbj0yMDIwLjIuMQorcmV2aXNp b249MQorZGVwZW5kcz0ib3BlbmpkayIKK3Nob3J0X2Rlc2M9Ik1hbnVhbCB0b29sa2l0IGZvciBp bnZlc3RpZ2F0aW5nIHdlYiBzZWN1cml0eSIKK21haW50YWluZXI9IkFudG9pbmUgR3VpbGJhdWQg PGFudG9pbmUuZ3VpbGJhdWRAeWFob28uZnI+IgorbGljZW5zZT0iY3VzdG9tOlByb3ByaWV0YXJ5 IgoraG9tZXBhZ2U9Imh0dHBzOi8vcG9ydHN3aWdnZXIubmV0LyIKK2NoZWNrc3VtPSJkNjBhYWU3 NmY2NWJiZWE5Mjc3NWZmZjczYTM1ZWUzOTU4NDFlZTgxN2Q3ZjdlZmYyODE5NzBkNzkyNzBkNjIy IgorCitfZGlzdGZpbGU9Imh0dHBzOi8vcG9ydHN3aWdnZXIubmV0L2J1cnAvcmVsZWFzZXMvZG93 bmxvYWQ/cHJvZHVjdD1jb21tdW5pdHkmdmVyc2lvbj0ke3ZlcnNpb259JnR5cGU9SmFyIgorX2Zp bGVuYW1lPSIkcGtnbmFtZSR2ZXJzaW9uLmphciIKKworZG9fZmV0Y2goKSB7CisJbWtkaXIgLXAg IiR3cmtzcmMiCisJY2QgIiR3cmtzcmMiCisKKwkkWEJQU19GRVRDSF9DTUQgXAorCQktbyAiJF9m aWxlbmFtZSIgXAorCQkiJF9kaXN0ZmlsZSIKKwlja3N1bT0kKCRYQlBTX0RJR0VTVF9DTUQgIiRf ZmlsZW5hbWUiKQorCVsgIiRja3N1bSIgPSAiJGNoZWNrc3VtIiBdCit9CisKK2RvX2J1aWxkKCkg eworCWNhdCA+ICIkcGtnbmFtZSIgPDwgRU9GCisjIS9iaW4vc2gKK2V4ZWMgL2Jpbi9qYXZhIC1q YXIgL3Vzci9zaGFyZS8kcGtnbmFtZS8kX2ZpbGVuYW1lICJcJEAiCitFT0YKK30KKworZG9faW5z dGFsbCgpIHsKKwl2YmluICIkcGtnbmFtZSIKKwl2aW5zdGFsbCAiJF9maWxlbmFtZSIgNjQ0ICIv dXNyL3NoYXJlLyRwa2duYW1lIgorCXZsaWNlbnNlICIkRklMRVNESVIvTElDRU5TRSIKK30KZGlm ZiAtLWdpdCBhL3NyY3BrZ3MvQnVycFN1aXRlL3VwZGF0ZSBiL3NyY3BrZ3MvQnVycFN1aXRlL3Vw ZGF0ZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uOWYwMGY5OWFiMTYK LS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL0J1cnBTdWl0ZS91cGRhdGUKQEAgLTAsMCArMSwy IEBACitzaXRlPSdodHRwczovL3BvcnRzd2lnZ2VyLm5ldC9idXJwL3JlbGVhc2VzP2luaXRpYWxU YWI9Y29tbXVuaXR5JworcGF0dGVybj0nQ29tbXVuaXR5IFxLW1xkLl0rKD8hIGJldGEpKD89PCkn Cg== --===============1125468546505171833==--