From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp1.axis.com (smtp1.axis.com [195.60.68.17]) by mx.groups.io with SMTP id smtpd.web10.7620.1630830859167936698 for ; Sun, 05 Sep 2021 01:34:20 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="signature has expired" header.i=@axis.com header.s=axis-central1 header.b=AxiDb7q7; spf=pass (domain: axis.com, ip: 195.60.68.17, mailfrom: peter.kjellerstedt@axis.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=axis.com; q=dns/txt; s=axis-central1; t=1630830859; x=1662366859; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=hIyGLy61QE5EQOy24hmNe+pqoU/G1bm4Ezx4py551Ho=; b=AxiDb7q7+bedMV4a5DQOBmNtDu4HfuF4OfD8pAXeKqfVuAW3U2pmC9AE 9meFJ4lYbD/p98Jivkf9mYYBZ2tQat2A4EpzeTrwIEs5IjpMMbuRS8ODP /Xzps3I7slXyY56RzAEnPvVv0pNQf/hAYH1OfgBsfQA+XHOCgKA6lhwgy VhNJ49F762ZCNNzVUXb5PlJMfKRSvXACbZaypHU1MHrYkxpW7AMyGJV5Q ER6bCamD/HmJh/hARgOThvf2FjCTw8PQVsXmZHrGSR32pNF50bE8zHJ5+ bTj5cpI1YLhIowXLVZPiCwgQuGQwXlvSaeBoo6oiBsLSg6bo/ItvpDeGD w==; From: "Peter Kjellerstedt" To: Khem Raj CC: Patches and discussions about the oe-core layer Subject: Re: [OE-core] [PATCH] common-licenses, licenses.conf: Remove duplicate licenses Thread-Topic: [OE-core] [PATCH] common-licenses, licenses.conf: Remove duplicate licenses Thread-Index: AQHXoefIh6rN9cl/vUeDVZmslh5jxauVG6YggAABp4A= Date: Sun, 5 Sep 2021 08:34:17 +0000 Message-ID: <82dec5c5240d4a2bb729537a9987a39d@axis.com> References: <20210903214014.7093-1-pkj@axis.com> <16A1DFC20C8BB47E.5578@lists.openembedded.org> In-Reply-To: <16A1DFC20C8BB47E.5578@lists.openembedded.org> Accept-Language: en-US, sv-SE X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.0.5.60] MIME-Version: 1.0 Return-Path: peter.kjellerstedt@axis.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBvcGVuZW1iZWRkZWQtY29yZUBs aXN0cy5vcGVuZW1iZWRkZWQub3JnIDxvcGVuZW1iZWRkZWQtDQo+IGNvcmVAbGlzdHMub3BlbmVt YmVkZGVkLm9yZz4gT24gQmVoYWxmIE9mIFBldGVyIEtqZWxsZXJzdGVkdA0KPiBTZW50OiBkZW4g NSBzZXB0ZW1iZXIgMjAyMSAxMDoyOQ0KPiBUbzogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNv bT4NCj4gQ2M6IFBhdGNoZXMgYW5kIGRpc2N1c3Npb25zIGFib3V0IHRoZSBvZS1jb3JlIGxheWVy IDxvcGVuZW1iZWRkZWQtDQo+IGNvcmVAbGlzdHMub3BlbmVtYmVkZGVkLm9yZz4NCj4gU3ViamVj dDogUmU6IFtPRS1jb3JlXSBbUEFUQ0hdIGNvbW1vbi1saWNlbnNlcywgbGljZW5zZXMuY29uZjog UmVtb3ZlDQo+IGR1cGxpY2F0ZSBsaWNlbnNlcw0KPiANCj4gPiAtLS0tLU9yaWdpbmFsIE1lc3Nh Z2UtLS0tLQ0KPiA+IEZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+DQo+ID4gU2Vu dDogZGVuIDUgc2VwdGVtYmVyIDIwMjEgMDE6NTINCj4gPiBUbzogUGV0ZXIgS2plbGxlcnN0ZWR0 IDxwZXRlci5ramVsbGVyc3RlZHRAYXhpcy5jb20+DQo+ID4gQ2M6IFBhdGNoZXMgYW5kIGRpc2N1 c3Npb25zIGFib3V0IHRoZSBvZS1jb3JlIGxheWVyIDxvcGVuZW1iZWRkZWQtDQo+ID4gY29yZUBs aXN0cy5vcGVuZW1iZWRkZWQub3JnPg0KPiA+IFN1YmplY3Q6IFJlOiBbT0UtY29yZV0gW1BBVENI XSBjb21tb24tbGljZW5zZXMsIGxpY2Vuc2VzLmNvbmY6IFJlbW92ZQ0KPiA+IGR1cGxpY2F0ZSBs aWNlbnNlcw0KPiA+DQo+ID4gbWV0YS1vZSB3YXMgdXNpbmcgQlNELTAtQ2xhdXNlIHNlZQ0KPiA+ IGh0dHBzOi8vYXV0b2J1aWxkZXIueW9jdG9wcm9qZWN0Lm9yZy90eXBob29uLyMvYnVpbGRlcnMv ODgvYnVpbGRzLzE1MDYNCj4gPiBJIGhhdmUgc2VudCBhIGZpeCBmb3IgdGhhdA0KPiANCj4gVGhh dCBzaG91bGRuJ3QgYmUgYSBwcm9ibGVtIGFzIHRoZSBwYXRjaCBiZWxvdyBzZXRzIHVwIG1hcHBp bmdzIGZyb20gdGhlDQo+IG9sZCBuYW1lcyB0byB0aGUgU1BEWCBuYW1lcy4gQnV0IG9mIGNvdXJz ZSwgaXQgaXMgYWx3YXlzIGEgZ29vZCBpZGVhIHRvDQo+IHVzZSB0aGUgU1BEWCBuYW1lcyBkaXJl Y3RseSByYXRoZXIgdGhhbiByZWx5aW5nIG9uIHRoZSBhbGlhc2VzLg0KDQpSaWdodCwgYW5kIG5v dyBJIGhhdmUgYWN0dWFsbHkgcmVhZCB5b3VyIHBhdGNoIGFuZCByZWFsaXplZCB0aGF0IGl0IHdh cyANCnVzaW5nIHRoZSBhY3R1YWwgQlNELTAtQ2xhdXNlIGZpbGUsIHNvIHllcywgdGhhdCBwYXRj aCBpcyBuZWVkZWQuIFRoYW5rIA0KeW91Lg0KDQo+IC8vUGV0ZXINCj4gDQo+ID4gT24gRnJpLCBT ZXAgMywgMjAyMSBhdCAyOjQwIFBNIFBldGVyIEtqZWxsZXJzdGVkdA0KPiA+IDxwZXRlci5ramVs bGVyc3RlZHRAYXhpcy5jb20+IHdyb3RlOg0KPiA+ID4NCj4gPiA+IFRoaXMgcmVtb3ZlcyBCU0Qt MC1DbGF1c2UsIE5hdW1hbiwgdGNsIGFuZCB2aW0gYW5kIGFkZHMgbWFwcGluZ3MgZm9yDQo+ID4g PiB0aGVtIHRvIHRoZWlyIFNQRFggY291bnRlcnBhcnRzICgwQlNELCBOYXVtZW4sIFRDTCBhbmQg VmltKS4NCj4gPiA+DQo+ID4gPiBJdCBhbHNvIHJlbW92ZXMgRnJlZVR5cGUsIHdoaWNoIGFscmVh ZHkgaGFkIGEgbWFwcGluZyB0byBGVEwuDQo+ID4gPg0KPiA+ID4gU2lnbmVkLW9mZi1ieTogUGV0 ZXIgS2plbGxlcnN0ZWR0IDxwZXRlci5ramVsbGVyc3RlZHRAYXhpcy5jb20+DQo+ID4gPiAtLS0N Cj4gPiA+DQo+ID4gPiBJbiBjYXNlIGFueW9uZSBpcyBpbnRlcmVzdGVkLCB0aGUgZm9sbG93aW5n IGNvbW1hbmQgKGV4ZWN1dGVkIGluDQo+ID4gPiBtZXRhL2ZpbGVzL2NvbW1vbi1saWNlbnNlcykg Y2FuIGJlIHVzZWQgdG8gbGlzdCBhbGwgbGljZW5zZXMgdGhhdCBhcmUNCj4gPiA+IG5vdCBwcmVz ZW50IGluIHNwZHgtbGljZW5zZXMuanNvbjoNCj4gPiA+DQo+ID4gPiAgIGxzIHwgZ3JlcCAtRXYg Il4oJChzZWQgLW5yZSAncy8uKiJsaWNlbnNlSWQiOiAiKC4qKSIuKi9cMS9wJw0KPiA+IC4uLy4u L2ZpbGVzL3NwZHgtbGljZW5zZXMuanNvbiB8IHNvcnQgfCB0ciAnXG4nICd8JykpXCQiDQo+ID4g Pg0KPiA+ID4gIG1ldGEvY29uZi9saWNlbnNlcy5jb25mICAgICAgICAgICAgICAgICB8ICAzMCAr KystLQ0KPiA+ID4gIG1ldGEvZmlsZXMvY29tbW9uLWxpY2Vuc2VzL0JTRC0wLUNsYXVzZSB8ICAx MiAtLQ0KPiA+ID4gIG1ldGEvZmlsZXMvY29tbW9uLWxpY2Vuc2VzL0ZyZWVUeXBlICAgICB8IDE3 MCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiAtDQo+ID4gPiAgbWV0YS9maWxlcy9jb21tb24t bGljZW5zZXMvTmF1bWFuICAgICAgIHwgIDUwIC0tLS0tLS0NCj4gPiA+ICBtZXRhL2ZpbGVzL2Nv bW1vbi1saWNlbnNlcy90Y2wgICAgICAgICAgfCAgNDAgLS0tLS0tDQo+ID4gPiAgbWV0YS9maWxl cy9jb21tb24tbGljZW5zZXMvdmltICAgICAgICAgIHwgIDgxIC0tLS0tLS0tLS0tDQo+ID4gPiAg NiBmaWxlcyBjaGFuZ2VkLCAxOCBpbnNlcnRpb25zKCspLCAzNjUgZGVsZXRpb25zKC0pDQo+ID4g PiAgZGVsZXRlIG1vZGUgMTAwNjQ0IG1ldGEvZmlsZXMvY29tbW9uLWxpY2Vuc2VzL0JTRC0wLUNs YXVzZQ0KPiA+ID4gIGRlbGV0ZSBtb2RlIDEwMDY0NCBtZXRhL2ZpbGVzL2NvbW1vbi1saWNlbnNl cy9GcmVlVHlwZQ0KPiA+ID4gIGRlbGV0ZSBtb2RlIDEwMDY0NCBtZXRhL2ZpbGVzL2NvbW1vbi1s aWNlbnNlcy9OYXVtYW4NCj4gPiA+ICBkZWxldGUgbW9kZSAxMDA2NDQgbWV0YS9maWxlcy9jb21t b24tbGljZW5zZXMvdGNsDQo+ID4gPiAgZGVsZXRlIG1vZGUgMTAwNjQ0IG1ldGEvZmlsZXMvY29t bW9uLWxpY2Vuc2VzL3ZpbQ0KPiA+ID4NCj4gPiA+IGRpZmYgLS1naXQgYS9tZXRhL2NvbmYvbGlj ZW5zZXMuY29uZiBiL21ldGEvY29uZi9saWNlbnNlcy5jb25mDQo+ID4gPiBpbmRleCBlMmJkNThm ODRhLi45OTFmYjZjYzIzIDEwMDY0NA0KPiA+ID4gLS0tIGEvbWV0YS9jb25mL2xpY2Vuc2VzLmNv bmYNCj4gPiA+ICsrKyBiL21ldGEvY29uZi9saWNlbnNlcy5jb25mDQo+ID4gPiBAQCAtMTksNiAr MTksOSBAQCBTUERYTElDRU5TRU1BUFtBR1BMdjMuMCtdID0gIkFHUEwtMy4wLW9yLWxhdGVyIg0K PiA+ID4gIFNQRFhMSUNFTlNFTUFQW0FHUEwtMy4wXSA9ICJBR1BMLTMuMC1vbmx5Ig0KPiA+ID4g IFNQRFhMSUNFTlNFTUFQW0FHUEwtMy4wK10gPSAiQUdQTC0zLjAtb3ItbGF0ZXIiDQo+ID4gPg0K PiA+ID4gKyMgQlNEIHZhcmlhdGlvbnMNCj4gPiA+ICtTUERYTElDRU5TRU1BUFtCU0QtMC1DbGF1 c2VdID0gIjBCU0QiDQo+ID4gPiArDQo+ID4gPiAgIyBHUEwgdmFyaWF0aW9ucw0KPiA+ID4gIFNQ RFhMSUNFTlNFTUFQW0dQTC0xXSA9ICJHUEwtMS4wLW9ubHkiDQo+ID4gPiAgU1BEWExJQ0VOU0VN QVBbR1BMLTErXSA9ICJHUEwtMS4wLW9yLWxhdGVyIg0KPiA+ID4gQEAgLTQ1LDcgKzQ4LDcgQEAg U1BEWExJQ0VOU0VNQVBbR1BMdjMuMCtdID0gIkdQTC0zLjAtb3ItbGF0ZXIiDQo+ID4gPiAgU1BE WExJQ0VOU0VNQVBbR1BMLTMuMF0gPSAiR1BMLTMuMC1vbmx5Ig0KPiA+ID4gIFNQRFhMSUNFTlNF TUFQW0dQTC0zLjArXSA9ICJHUEwtMy4wLW9yLWxhdGVyIg0KPiA+ID4NCj4gPiA+IC0jTEdQTCB2 YXJpYXRpb25zDQo+ID4gPiArIyBMR1BMIHZhcmlhdGlvbnMNCj4gPiA+ICBTUERYTElDRU5TRU1B UFtMR1BMdjJdID0gIkxHUEwtMi4wLW9ubHkiDQo+ID4gPiAgU1BEWExJQ0VOU0VNQVBbTEdQTHYy K10gPSAiTEdQTC0yLjAtb3ItbGF0ZXIiDQo+ID4gPiAgU1BEWExJQ0VOU0VNQVBbTEdQTHYyLjBd ID0gIkxHUEwtMi4wLW9ubHkiDQo+ID4gPiBAQCAtNjMsNDkgKzY2LDUyIEBAIFNQRFhMSUNFTlNF TUFQW0xHUEx2MytdID0gIkxHUEwtMy4wLW9yLWxhdGVyIg0KPiA+ID4gIFNQRFhMSUNFTlNFTUFQ W0xHUEwtMy4wXSA9ICJMR1BMLTMuMC1vbmx5Ig0KPiA+ID4gIFNQRFhMSUNFTlNFTUFQW0xHUEwt My4wK10gPSAiTEdQTC0zLjAtb3ItbGF0ZXIiDQo+ID4gPg0KPiA+ID4gLSNNUEwgdmFyaWF0aW9u cw0KPiA+ID4gKyMgTVBMIHZhcmlhdGlvbnMNCj4gPiA+ICBTUERYTElDRU5TRU1BUFtNUEwtMV0g PSAiTVBMLTEuMCINCj4gPiA+ICBTUERYTElDRU5TRU1BUFtNUEx2MV0gPSAiTVBMLTEuMCINCj4g PiA+ICBTUERYTElDRU5TRU1BUFtNUEx2MS4xXSA9ICJNUEwtMS4xIg0KPiA+ID4gIFNQRFhMSUNF TlNFTUFQW01QTHYyXSA9ICJNUEwtMi4wIg0KPiA+ID4NCj4gPiA+IC0jTUlUIHZhcmlhdGlvbnMN Cj4gPiA+ICsjIE1JVCB2YXJpYXRpb25zDQo+ID4gPiAgU1BEWExJQ0VOU0VNQVBbTUlULVhdID0g Ik1JVCINCj4gPiA+ICBTUERYTElDRU5TRU1BUFtNSVQtc3R5bGVdID0gIk1JVCINCj4gPiA+DQo+ ID4gPiAtI09wZW5zc2wgdmFyaWF0aW9ucw0KPiA+ID4gKyMgT3BlbnNzbCB2YXJpYXRpb25zDQo+ ID4gPiAgU1BEWExJQ0VOU0VNQVBbb3BlbnNzbF0gPSAiT3BlblNTTCINCj4gPiA+DQo+ID4gPiAt I1BTRiB2YXJpYXRpb25zDQo+ID4gPiArIyBQU0YgdmFyaWF0aW9ucw0KPiA+ID4gIFNQRFhMSUNF TlNFTUFQW1BTRl0gPSAiUFNGLTIuMCINCj4gPiA+ICBTUERYTElDRU5TRU1BUFtQU0Z2Ml0gPSAi UFNGLTIuMCINCj4gPiA+DQo+ID4gPiAtI1B5dGhvbiB2YXJpYXRpb25zDQo+ID4gPiArIyBQeXRo b24gdmFyaWF0aW9ucw0KPiA+ID4gIFNQRFhMSUNFTlNFTUFQW1B5dGhvbi0yXSA9ICJQeXRob24t Mi4wIg0KPiA+ID4NCj4gPiA+IC0jQXBhY2hlIHZhcmlhdGlvbnMNCj4gPiA+ICsjIEFwYWNoZSB2 YXJpYXRpb25zDQo+ID4gPiAgU1BEWExJQ0VOU0VNQVBbQXBhY2hldjJdID0gIkFwYWNoZS0yLjAi DQo+ID4gPiAgU1BEWExJQ0VOU0VNQVBbQXBhY2hlLTJdID0gIkFwYWNoZS0yLjAiDQo+ID4gPg0K PiA+ID4gLSNBcnRpc3RpYyB2YXJpYXRpb25zDQo+ID4gPiArIyBBcnRpc3RpYyB2YXJpYXRpb25z DQo+ID4gPiAgU1BEWExJQ0VOU0VNQVBbQXJ0aXN0aWN2MV0gPSAiQXJ0aXN0aWMtMS4wIg0KPiA+ ID4gIFNQRFhMSUNFTlNFTUFQW0FydGlzdGljLTFdID0gIkFydGlzdGljLTEuMCINCj4gPiA+DQo+ ID4gPiAtI0FjYWRlbWljIHZhcmlhdGlvbnMNCj4gPiA+ICsjIEFjYWRlbWljIHZhcmlhdGlvbnMN Cj4gPiA+ICBTUERYTElDRU5TRU1BUFtBRkwtMl0gPSAiQUZMLTIuMCINCj4gPiA+ICBTUERYTElD RU5TRU1BUFtBRkwtMV0gPSAiQUZMLTEuMiINCj4gPiA+ICBTUERYTElDRU5TRU1BUFtBRkx2Ml0g PSAiQUZMLTIuMCINCj4gPiA+ICBTUERYTElDRU5TRU1BUFtBRkx2MV0gPSAiQUZMLTEuMiINCj4g PiA+DQo+ID4gPiAtI0NEREwgdmFyaWF0aW9ucw0KPiA+ID4gKyMgQ0RETCB2YXJpYXRpb25zDQo+ ID4gPiAgU1BEWExJQ0VOU0VNQVBbQ0RETHYxXSA9ICJDRERMLTEuMCINCj4gPiA+ICBTUERYTElD RU5TRU1BUFtDRERMLTFdID0gIkNEREwtMS4wIg0KPiA+ID4NCj4gPiA+IC0jT3RoZXIgdmFyaWF0 aW9ucw0KPiA+ID4gKyMgT3RoZXIgdmFyaWF0aW9ucw0KPiA+ID4gIFNQRFhMSUNFTlNFTUFQW0VQ THYxLjBdID0gIkVQTC0xLjAiDQo+ID4gPiAgU1BEWExJQ0VOU0VNQVBbRnJlZVR5cGVdID0gIkZU TCINCj4gPiA+ICtTUERYTElDRU5TRU1BUFtOYXVtYW5dID0gIk5hdW1lbiINCj4gPiA+ICtTUERY TElDRU5TRU1BUFt0Y2xdID0gIlRDTCINCj4gPiA+ICtTUERYTElDRU5TRU1BUFt2aW1dID0gIlZp bSINCj4gPiA+DQo+ID4gPiAtI1NpbGljb24gR3JhcGhpY3MgdmFyaWF0aW9ucw0KPiA+ID4gKyMg U2lsaWNvbiBHcmFwaGljcyB2YXJpYXRpb25zDQo+ID4gPiAgU1BEWExJQ0VOU0VNQVBbU0dJdjFd ID0gIlNHSS0xIg0KPiA+ID4NCj4gPiA+ICAjIEFkZGl0aW9uYWwgbGljZW5zZSBkaXJlY3Rvcmll cy4gQWRkIHlvdXIgY3VzdG9tIGxpY2Vuc2VzDQo+IGRpcmVjdG9yaWVzDQo+ID4gdGhpcyBwYXRo Lg0KPiA+ID4gZGlmZiAtLWdpdCBhL21ldGEvZmlsZXMvY29tbW9uLWxpY2Vuc2VzL0JTRC0wLUNs YXVzZQ0KPiA+IGIvbWV0YS9maWxlcy9jb21tb24tbGljZW5zZXMvQlNELTAtQ2xhdXNlDQo+ID4g PiBkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQNCj4gPiA+IGluZGV4IDMyOGJkZDZhZWUuLjAwMDAw MDAwMDANCj4gPiA+IC0tLSBhL21ldGEvZmlsZXMvY29tbW9uLWxpY2Vuc2VzL0JTRC0wLUNsYXVz ZQ0KPiA+ID4gKysrIC9kZXYvbnVsbA0KPiA+ID4gQEAgLTEsMTIgKzAsMCBAQA0KPiA+ID4gLUNv cHlyaWdodCAoQykgPFlFQVI+IGJ5IDxPV05FUj4NCj4gPiA+IC0NCj4gPiA+IC1QZXJtaXNzaW9u IHRvIHVzZSwgY29weSwgbW9kaWZ5LCBhbmQvb3IgZGlzdHJpYnV0ZSB0aGlzIHNvZnR3YXJlIGZv cg0KPiA+IGFueQ0KPiA+ID4gLXB1cnBvc2Ugd2l0aCBvciB3aXRob3V0IGZlZSBpcyBoZXJlYnkg Z3JhbnRlZC4NCj4gPiA+IC0NCj4gPiA+IC1USEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElT IiBBTkQgVEhFIEFVVEhPUiBESVNDTEFJTVMgQUxMDQo+ID4gV0FSUkFOVElFUw0KPiA+ID4gLVdJ VEggUkVHQVJEIFRPIFRISVMgU09GVFdBUkUgSU5DTFVESU5HIEFMTCBJTVBMSUVEIFdBUlJBTlRJ RVMgT0YNCj4gPiA+IC1NRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MuIElOIE5PIEVWRU5UIFNI QUxMIFRIRSBBVVRIT1IgQkUgTElBQkxFDQo+IEZPUg0KPiA+ID4gLUFOWSBTUEVDSUFMLCBESVJF Q1QsIElORElSRUNULCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgT1IgQU5ZDQo+IERBTUFHRVMN Cj4gPiA+IC1XSEFUU09FVkVSIFJFU1VMVElORyBGUk9NIExPU1MgT0YgVVNFLCBEQVRBIE9SIFBS T0ZJVFMsIFdIRVRIRVIgSU4gQU4NCj4gPiA+IC1BQ1RJT04gT0YgQ09OVFJBQ1QsIE5FR0xJR0VO Q0UgT1IgT1RIRVIgVE9SVElPVVMgQUNUSU9OLCBBUklTSU5HIE9VVA0KPiBPRg0KPiA+ID4gLU9S IElOIENPTk5FQ1RJT04gV0lUSCBUSEUgVVNFIE9SIFBFUkZPUk1BTkNFIE9GIFRISVMgU09GVFdB UkUuDQo+ID4gPiBkaWZmIC0tZ2l0IGEvbWV0YS9maWxlcy9jb21tb24tbGljZW5zZXMvRnJlZVR5 cGUgYi9tZXRhL2ZpbGVzL2NvbW1vbi0NCj4gPiBsaWNlbnNlcy9GcmVlVHlwZQ0KPiA+ID4gZGVs ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0DQo+ID4gPiBpbmRleCAzNjY2NjQ5ZjNlLi4wMDAwMDAwMDAw DQo+ID4gPiAtLS0gYS9tZXRhL2ZpbGVzL2NvbW1vbi1saWNlbnNlcy9GcmVlVHlwZQ0KPiA+ID4g KysrIC9kZXYvbnVsbA0KPiA+ID4gQEAgLTEsMTcwICswLDAgQEANCj4gPiA+IC0gICAgICAgICAg ICAgICAgICAgIFRoZSBGcmVlVHlwZSBQcm9qZWN0IExJQ0VOU0UNCj4gPiA+IC0gICAgICAgICAg ICAgICAgICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4gPiA+IC0NCj4gPiA+IC0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgMjAwNi1KYW4tMjcNCj4gPiA+IC0NCj4gPiA+IC0g ICAgICAgICAgICAgICAgICAgIENvcHlyaWdodCAxOTk2LTIwMDIsIDIwMDYgYnkNCj4gPiA+IC0g ICAgICAgICAgRGF2aWQgVHVybmVyLCBSb2JlcnQgV2lsaGVsbSwgYW5kIFdlcm5lciBMZW1iZXJn DQo+ID4gPiAtDQo+ID4gPiAtDQo+ID4gPiAtDQo+ID4gPiAtSW50cm9kdWN0aW9uDQo+ID4gPiAt PT09PT09PT09PT09DQo+ID4gPiAtDQo+ID4gPiAtICBUaGUgRnJlZVR5cGUgIFByb2plY3QgaXMg ZGlzdHJpYnV0ZWQgaW4gIHNldmVyYWwgYXJjaGl2ZSBwYWNrYWdlczsNCj4gPiA+IC0gIHNvbWUg b2YgdGhlbSBtYXkgY29udGFpbiwgaW4gYWRkaXRpb24gdG8gdGhlIEZyZWVUeXBlIGZvbnQgZW5n aW5lLA0KPiA+ID4gLSAgdmFyaW91cyB0b29scyBhbmQgIGNvbnRyaWJ1dGlvbnMgd2hpY2ggcmVs eSBvbiwgb3IgIHJlbGF0ZSB0bywgdGhlDQo+ID4gPiAtICBGcmVlVHlwZSBQcm9qZWN0Lg0KPiA+ ID4gLQ0KPiA+ID4gLSAgVGhpcyAgbGljZW5zZSBhcHBsaWVzICB0byBhbGwgIGZpbGVzIGZvdW5k ICBpbiBzdWNoICBwYWNrYWdlcywgYW5kDQo+ID4gPiAtICB3aGljaCBkbyBub3QgIGZhbGwgdW5k ZXIgdGhlaXIgb3duIGV4cGxpY2l0ICBsaWNlbnNlLiAgVGhlIGxpY2Vuc2UNCj4gPiA+IC0gIGFm ZmVjdHMgIHRodXMgIHRoZSAgRnJlZVR5cGUgICBmb250ICBlbmdpbmUsICB0aGUgIHRlc3QgIHBy b2dyYW1zLA0KPiA+ID4gLSAgZG9jdW1lbnRhdGlvbiBhbmQgbWFrZWZpbGVzLCBhdCB0aGUgdmVy eSBsZWFzdC4NCj4gPiA+IC0NCj4gPiA+IC0gIFRoaXMgIGxpY2Vuc2UgICB3YXMgIGluc3BpcmVk ICBieSAgdGhlICBCU0QsICAgQXJ0aXN0aWMsICBhbmQgIElKRw0KPiA+ID4gLSAgKEluZGVwZW5k ZW50IEpQRUcgIEdyb3VwKSBsaWNlbnNlcywgd2hpY2ggIGFsbCBlbmNvdXJhZ2UgaW5jbHVzaW9u DQo+ID4gPiAtICBhbmQgIHVzZSBvZiAgZnJlZSAgc29mdHdhcmUgaW4gIGNvbW1lcmNpYWwgIGFu ZCBmcmVld2FyZSAgcHJvZHVjdHMNCj4gPiA+IC0gIGFsaWtlLiAgQXMgYSBjb25zZXF1ZW5jZSwg aXRzIG1haW4gcG9pbnRzIGFyZSB0aGF0Og0KPiA+ID4gLQ0KPiA+ID4gLSAgICBvIFdlIGRvbid0 IHByb21pc2UgdGhhdCB0aGlzIHNvZnR3YXJlIHdvcmtzLiBIb3dldmVyLCB3ZSB3aWxsIGJlDQo+ ID4gPiAtICAgICAgaW50ZXJlc3RlZCBpbiBhbnkga2luZCBvZiBidWcgcmVwb3J0cy4gKGBhcyBp cycgZGlzdHJpYnV0aW9uKQ0KPiA+ID4gLQ0KPiA+ID4gLSAgICBvIFlvdSBjYW4gIHVzZSB0aGlz IHNvZnR3YXJlIGZvciB3aGF0ZXZlciB5b3UgIHdhbnQsIGluIHBhcnRzIG9yDQo+ID4gPiAtICAg ICAgZnVsbCBmb3JtLCB3aXRob3V0IGhhdmluZyB0byBwYXkgdXMuIChgcm95YWx0eS1mcmVlJyB1 c2FnZSkNCj4gPiA+IC0NCj4gPiA+IC0gICAgbyBZb3UgbWF5IG5vdCBwcmV0ZW5kIHRoYXQgIHlv dSB3cm90ZSB0aGlzIHNvZnR3YXJlLiAgSWYgeW91IHVzZQ0KPiA+ID4gLSAgICAgIGl0LCBvciAg b25seSBwYXJ0cyBvZiBpdCwgIGluIGEgcHJvZ3JhbSwgIHlvdSBtdXN0IGFja25vd2xlZGdlDQo+ ID4gPiAtICAgICAgc29tZXdoZXJlICBpbiAgeW91ciAgZG9jdW1lbnRhdGlvbiAgdGhhdCAgeW91 ICBoYXZlICB1c2VkICB0aGUNCj4gPiA+IC0gICAgICBGcmVlVHlwZSBjb2RlLiAoYGNyZWRpdHMn KQ0KPiA+ID4gLQ0KPiA+ID4gLSAgV2UgIHNwZWNpZmljYWxseSAgcGVybWl0ICBhbmQgIGVuY291 cmFnZSAgdGhlICBpbmNsdXNpb24gIG9mICB0aGlzDQo+ID4gPiAtICBzb2Z0d2FyZSwgd2l0aCAg b3Igd2l0aG91dCBtb2RpZmljYXRpb25zLCAgaW4gY29tbWVyY2lhbCBwcm9kdWN0cy4NCj4gPiA+ IC0gIFdlICBkaXNjbGFpbSAgYWxsIHdhcnJhbnRpZXMgIGNvdmVyaW5nICBUaGUgIEZyZWVUeXBl IFByb2plY3QgIGFuZA0KPiA+ID4gLSAgYXNzdW1lIG5vIGxpYWJpbGl0eSByZWxhdGVkIHRvIFRo ZSBGcmVlVHlwZSBQcm9qZWN0Lg0KPiA+ID4gLQ0KPiA+ID4gLQ0KPiA+ID4gLSAgRmluYWxseSwg IG1hbnkgIHBlb3BsZSAgYXNrZWQgIHVzICBmb3IgIGEgIHByZWZlcnJlZCAgZm9ybSAgZm9yICBh DQo+ID4gPiAtICBjcmVkaXQvZGlzY2xhaW1lciB0byB1c2UgaW4gY29tcGxpYW5jZSB3aXRoIHRo aXMgbGljZW5zZS4gIFdlIHRodXMNCj4gPiA+IC0gIGVuY291cmFnZSB5b3UgdG8gdXNlIHRoZSBm b2xsb3dpbmcgdGV4dDoNCj4gPiA+IC0NCj4gPiA+IC0gICAiIiINCj4gPiA+IC0gICAgUG9ydGlv bnMgb2YgdGhpcyBzb2Z0d2FyZSBhcmUgY29weXJpZ2h0IMKpIDx5ZWFyPiBUaGUgRnJlZVR5cGUN Cj4gPiA+IC0gICAgUHJvamVjdCAod3d3LmZyZWV0eXBlLm9yZykuICBBbGwgcmlnaHRzIHJlc2Vy dmVkLg0KPiA+ID4gLSAgICIiIg0KPiA+ID4gLQ0KPiA+ID4gLSAgUGxlYXNlIHJlcGxhY2UgPHll YXI+IHdpdGggdGhlIHZhbHVlIGZyb20gdGhlIEZyZWVUeXBlIHZlcnNpb24geW91DQo+ID4gPiAt ICBhY3R1YWxseSB1c2UuDQo+ID4gPiAtDQo+ID4gPiAtDQo+ID4gPiAtTGVnYWwgVGVybXMNCj4g PiA+IC09PT09PT09PT09PQ0KPiA+ID4gLQ0KPiA+ID4gLTAuIERlZmluaXRpb25zDQo+ID4gPiAt LS0tLS0tLS0tLS0tLS0NCj4gPiA+IC0NCj4gPiA+IC0gIFRocm91Z2hvdXQgdGhpcyBsaWNlbnNl LCAgdGhlIHRlcm1zIGBwYWNrYWdlJywgYEZyZWVUeXBlIFByb2plY3QnLA0KPiA+ID4gLSAgYW5k ICBgRnJlZVR5cGUgIGFyY2hpdmUnIHJlZmVyICB0byAgdGhlICBzZXQgIG9mIGZpbGVzICBvcmln aW5hbGx5DQo+ID4gPiAtICBkaXN0cmlidXRlZCAgYnkgdGhlICBhdXRob3JzICAoRGF2aWQgVHVy bmVyLCAgUm9iZXJ0IFdpbGhlbG0sICBhbmQNCj4gPiA+IC0gIFdlcm5lciBMZW1iZXJnKSBhcyB0 aGUgYEZyZWVUeXBlIFByb2plY3QnLCBiZSB0aGV5IG5hbWVkIGFzIGFscGhhLA0KPiA+ID4gLSAg YmV0YSBvciBmaW5hbCByZWxlYXNlLg0KPiA+ID4gLQ0KPiA+ID4gLSAgYFlvdScgcmVmZXJzIHRv ICB0aGUgbGljZW5zZWUsIG9yIHBlcnNvbiB1c2luZyAgdGhlIHByb2plY3QsIHdoZXJlDQo+ID4g PiAtICBgdXNpbmcnIGlzIGEgZ2VuZXJpYyB0ZXJtIGluY2x1ZGluZyBjb21waWxpbmcgdGhlIHBy b2plY3QncyBzb3VyY2UNCj4gPiA+IC0gIGNvZGUgYXMgIHdlbGwgYXMgbGlua2luZyBpdCAgdG8g Zm9ybSBhICBgcHJvZ3JhbScgb3IgYGV4ZWN1dGFibGUnLg0KPiA+ID4gLSAgVGhpcyAgcHJvZ3Jh bSBpcyAgcmVmZXJyZWQgdG8gIGFzICBgYSBwcm9ncmFtICB1c2luZyB0aGUgIEZyZWVUeXBlDQo+ ID4gPiAtICBlbmdpbmUnLg0KPiA+ID4gLQ0KPiA+ID4gLSAgVGhpcyAgbGljZW5zZSBhcHBsaWVz ICB0byBhbGwgIGZpbGVzIGRpc3RyaWJ1dGVkICBpbiAgdGhlIG9yaWdpbmFsDQo+ID4gPiAtICBG cmVlVHlwZSAgUHJvamVjdCwgICBpbmNsdWRpbmcgIGFsbCAgc291cmNlICAgY29kZSwgIGJpbmFy aWVzICBhbmQNCj4gPiA+IC0gIGRvY3VtZW50YXRpb24sICB1bmxlc3MgIG90aGVyd2lzZSAgc3Rh dGVkICAgaW4gIHRoZSAgZmlsZSAgaW4gIGl0cw0KPiA+ID4gLSAgb3JpZ2luYWwsIHVubW9kaWZp ZWQgZm9ybSBhcyAgZGlzdHJpYnV0ZWQgaW4gdGhlIG9yaWdpbmFsIGFyY2hpdmUuDQo+ID4gPiAt ICBJZiB5b3UgYXJlICB1bnN1cmUgd2hldGhlciBvciBub3QgYSBwYXJ0aWN1bGFyICBmaWxlIGlz IGNvdmVyZWQgYnkNCj4gPiA+IC0gIHRoaXMgbGljZW5zZSwgeW91IG11c3QgY29udGFjdCB1cyB0 byB2ZXJpZnkgdGhpcy4NCj4gPiA+IC0NCj4gPiA+IC0gIFRoZSBGcmVlVHlwZSAgUHJvamVjdCBp cyBjb3B5cmlnaHQgKEMpIDE5OTYtMjAwMCAgYnkgRGF2aWQgVHVybmVyLA0KPiA+ID4gLSAgUm9i ZXJ0IFdpbGhlbG0sIGFuZCBXZXJuZXIgTGVtYmVyZy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQgZXhj ZXB0IGFzDQo+ID4gPiAtICBzcGVjaWZpZWQgYmVsb3cuDQo+ID4gPiAtDQo+ID4gPiAtMS4gTm8g V2FycmFudHkNCj4gPiA+IC0tLS0tLS0tLS0tLS0tLQ0KPiA+ID4gLQ0KPiA+ID4gLSAgVEhFIEZS RUVUWVBFIFBST0pFQ1QgIElTIFBST1ZJREVEIGBBUyBJUycgV0lUSE9VVCAgV0FSUkFOVFkgT0Yg QU5ZDQo+ID4gPiAtICBLSU5ELCBFSVRIRVIgIEVYUFJFU1MgT1IgSU1QTElFRCwgIElOQ0xVRElO RywgQlVUIE5PVCAgTElNSVRFRCBUTywNCj4gPiA+IC0gIFdBUlJBTlRJRVMgIE9GICBNRVJDSEFO VEFCSUxJVFkgICBBTkQgIEZJVE5FU1MgIEZPUiAgQSAgUEFSVElDVUxBUg0KPiA+ID4gLSAgUFVS UE9TRS4gIElOIE5PIEVWRU5UIFdJTEwgQU5ZIE9GIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBI T0xERVJTDQo+ID4gPiAtICBCRSBMSUFCTEUgIEZPUiBBTlkgREFNQUdFUyBDQVVTRUQgIEJZIFRI RSBVU0UgT1IgIFRIRSBJTkFCSUxJVFkgVE8NCj4gPiA+IC0gIFVTRSwgT0YgVEhFIEZSRUVUWVBF IFBST0pFQ1QuDQo+ID4gPiAtDQo+ID4gPiAtMi4gUmVkaXN0cmlidXRpb24NCj4gPiA+IC0tLS0t LS0tLS0tLS0tLS0tLQ0KPiA+ID4gLQ0KPiA+ID4gLSAgVGhpcyAgbGljZW5zZSAgZ3JhbnRzICBh ICB3b3JsZHdpZGUsIHJveWFsdHktZnJlZSwgIHBlcnBldHVhbCAgYW5kDQo+ID4gPiAtICBpcnJl dm9jYWJsZSByaWdodCAgYW5kIGxpY2Vuc2UgdG8gdXNlLCAgZXhlY3V0ZSwgcGVyZm9ybSwgY29t cGlsZSwNCj4gPiA+IC0gIGRpc3BsYXksICBjb3B5LCAgIGNyZWF0ZSAgZGVyaXZhdGl2ZSAgd29y a3MgICBvZiwgIGRpc3RyaWJ1dGUgIGFuZA0KPiA+ID4gLSAgc3VibGljZW5zZSB0aGUgIEZyZWVU eXBlIFByb2plY3QgKGluICBib3RoIHNvdXJjZSBhbmQgIG9iamVjdCBjb2RlDQo+ID4gPiAtICBm b3JtcykgIGFuZCAgZGVyaXZhdGl2ZSB3b3JrcyAgdGhlcmVvZiAgZm9yICBhbnkgIHB1cnBvc2U7 IGFuZCAgdG8NCj4gPiA+IC0gIGF1dGhvcml6ZSBvdGhlcnMgIHRvIGV4ZXJjaXNlICBzb21lIG9y IGFsbCAgb2YgdGhlICByaWdodHMgZ3JhbnRlZA0KPiA+ID4gLSAgaGVyZWluLCBzdWJqZWN0IHRv IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoNCj4gPiA+IC0NCj4gPiA+IC0gICAgbyBSZWRpc3Ry aWJ1dGlvbiBvZiAgc291cmNlIGNvZGUgIG11c3QgcmV0YWluIHRoaXMgIGxpY2Vuc2UgZmlsZQ0K PiA+ID4gLSAgICAgIChgRlRMLlRYVCcpIHVuYWx0ZXJlZDsgYW55ICBhZGRpdGlvbnMsIGRlbGV0 aW9ucyBvciBjaGFuZ2VzIHRvDQo+ID4gPiAtICAgICAgdGhlIG9yaWdpbmFsICBmaWxlcyBtdXN0 IGJlIGNsZWFybHkgIGluZGljYXRlZCBpbiBhY2NvbXBhbnlpbmcNCj4gPiA+IC0gICAgICBkb2N1 bWVudGF0aW9uLiAgIFRoZSAgY29weXJpZ2h0ICAgbm90aWNlcyAgb2YgIHRoZSAgdW5hbHRlcmVk LA0KPiA+ID4gLSAgICAgIG9yaWdpbmFsICBmaWxlcyBtdXN0ICBiZSAgcHJlc2VydmVkIGluICBh bGwgIGNvcGllcyBvZiAgc291cmNlDQo+ID4gPiAtICAgICAgZmlsZXMuDQo+ID4gPiAtDQo+ID4g PiAtICAgIG8gUmVkaXN0cmlidXRpb24gaW4gYmluYXJ5IGZvcm0gbXVzdCBwcm92aWRlIGEgIGRp c2NsYWltZXIgIHRoYXQNCj4gPiA+IC0gICAgICBzdGF0ZXMgIHRoYXQgIHRoZSBzb2Z0d2FyZSBp cyBiYXNlZCBpbiBwYXJ0IG9mIHRoZSB3b3JrIG9mIHRoZQ0KPiA+ID4gLSAgICAgIEZyZWVUeXBl IFRlYW0sICBpbiAgdGhlICBkaXN0cmlidXRpb24gIGRvY3VtZW50YXRpb24uICBXZSBhbHNvDQo+ ID4gPiAtICAgICAgZW5jb3VyYWdlIHlvdSB0byBwdXQgYW4gVVJMIHRvIHRoZSBGcmVlVHlwZSB3 ZWIgcGFnZSAgaW4gIHlvdXINCj4gPiA+IC0gICAgICBkb2N1bWVudGF0aW9uLCB0aG91Z2ggdGhp cyBpc24ndCBtYW5kYXRvcnkuDQo+ID4gPiAtDQo+ID4gPiAtICBUaGVzZSBjb25kaXRpb25zICBh cHBseSB0byBhbnkgIHNvZnR3YXJlIGRlcml2ZWQgZnJvbSBvciAgYmFzZWQgb24NCj4gPiA+IC0g IHRoZSBGcmVlVHlwZSBQcm9qZWN0LCAgbm90IGp1c3QgdGhlIHVubW9kaWZpZWQgZmlsZXMuICAg SWYgeW91IHVzZQ0KPiA+ID4gLSAgb3VyIHdvcmssIHlvdSAgbXVzdCBhY2tub3dsZWRnZSB1cy4g IEhvd2V2ZXIsIG5vICBmZWUgbmVlZCBiZSBwYWlkDQo+ID4gPiAtICB0byB1cy4NCj4gPiA+IC0N Cj4gPiA+IC0zLiBBZHZlcnRpc2luZw0KPiA+ID4gLS0tLS0tLS0tLS0tLS0tDQo+ID4gPiAtDQo+ ID4gPiAtICBOZWl0aGVyIHRoZSAgRnJlZVR5cGUgYXV0aG9ycyBhbmQgIGNvbnRyaWJ1dG9ycyBu b3IgeW91ICBzaGFsbCB1c2UNCj4gPiA+IC0gIHRoZSBuYW1lIG9mIHRoZSAgb3RoZXIgZm9yIGNv bW1lcmNpYWwsIGFkdmVydGlzaW5nLCBvciBwcm9tb3Rpb25hbA0KPiA+ID4gLSAgcHVycG9zZXMg d2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQo+ID4gPiAtDQo+ID4g PiAtICBXZSBzdWdnZXN0LCAgYnV0IGRvIG5vdCByZXF1aXJlLCB0aGF0ICB5b3UgdXNlIG9uZSBv ciAgbW9yZSBvZiB0aGUNCj4gPiA+IC0gIGZvbGxvd2luZyBwaHJhc2VzIHRvIHJlZmVyICB0byB0 aGlzIHNvZnR3YXJlIGluIHlvdXIgZG9jdW1lbnRhdGlvbg0KPiA+ID4gLSAgb3IgYWR2ZXJ0aXNp bmcgIG1hdGVyaWFsczogYEZyZWVUeXBlIFByb2plY3QnLCAgYEZyZWVUeXBlIEVuZ2luZScsDQo+ ID4gPiAtICBgRnJlZVR5cGUgbGlicmFyeScsIG9yIGBGcmVlVHlwZSBEaXN0cmlidXRpb24nLg0K PiA+ID4gLQ0KPiA+ID4gLSAgQXMgIHlvdSBoYXZlICBub3Qgc2lnbmVkICB0aGlzIGxpY2Vuc2Us ICB5b3UgYXJlICBub3QgIHJlcXVpcmVkIHRvDQo+ID4gPiAtICBhY2NlcHQgIGl0LiAgIEhvd2V2 ZXIsICBhcyAgdGhlIEZyZWVUeXBlICBQcm9qZWN0ICBpcyAgY29weXJpZ2h0ZWQNCj4gPiA+IC0g IG1hdGVyaWFsLCBvbmx5ICB0aGlzIGxpY2Vuc2UsIG9yICBhbm90aGVyIG9uZSBjb250cmFjdGVk ICB3aXRoIHRoZQ0KPiA+ID4gLSAgYXV0aG9ycywgZ3JhbnRzIHlvdSAgdGhlIHJpZ2h0IHRvIHVz ZSwgZGlzdHJpYnV0ZSwgIGFuZCBtb2RpZnkgaXQuDQo+ID4gPiAtICBUaGVyZWZvcmUsICBieSAg dXNpbmcsICBkaXN0cmlidXRpbmcsICBvciBtb2RpZnlpbmcgIHRoZSAgRnJlZVR5cGUNCj4gPiA+ IC0gIFByb2plY3QsIHlvdSBpbmRpY2F0ZSB0aGF0IHlvdSB1bmRlcnN0YW5kIGFuZCBhY2NlcHQg YWxsIHRoZSB0ZXJtcw0KPiA+ID4gLSAgb2YgdGhpcyBsaWNlbnNlLg0KPiA+ID4gLQ0KPiA+ID4g LTQuIENvbnRhY3RzDQo+ID4gPiAtLS0tLS0tLS0tLS0NCj4gPiA+IC0NCj4gPiA+IC0gIFRoZXJl IGFyZSB0d28gbWFpbGluZyBsaXN0cyByZWxhdGVkIHRvIEZyZWVUeXBlOg0KPiA+ID4gLQ0KPiA+ ID4gLSAgICBvIGZyZWV0eXBlQG5vbmdudS5vcmcNCj4gPiA+IC0NCj4gPiA+IC0gICAgICBEaXNj dXNzZXMgZ2VuZXJhbCB1c2UgYW5kIGFwcGxpY2F0aW9ucyBvZiBGcmVlVHlwZSwgYXMgd2VsbCBh cw0KPiA+ID4gLSAgICAgIGZ1dHVyZSBhbmQgIHdhbnRlZCBhZGRpdGlvbnMgdG8gdGhlICBsaWJy YXJ5IGFuZCBkaXN0cmlidXRpb24uDQo+ID4gPiAtICAgICAgSWYgIHlvdSBhcmUgbG9va2luZyAg Zm9yIHN1cHBvcnQsICBzdGFydCBpbiAgdGhpcyBsaXN0ICBpZiB5b3UNCj4gPiA+IC0gICAgICBo YXZlbid0IGZvdW5kIGFueXRoaW5nIHRvIGhlbHAgeW91IGluIHRoZSBkb2N1bWVudGF0aW9uLg0K PiA+ID4gLQ0KPiA+ID4gLSAgICBvIGZyZWV0eXBlLWRldmVsQG5vbmdudS5vcmcNCj4gPiA+IC0N Cj4gPiA+IC0gICAgICBEaXNjdXNzZXMgYnVncywgIGFzIHdlbGwgIGFzIGVuZ2luZSBpbnRlcm5h bHMsICBkZXNpZ24gaXNzdWVzLA0KPiA+ID4gLSAgICAgIHNwZWNpZmljIGxpY2Vuc2VzLCBwb3J0 aW5nLCBldGMuDQo+ID4gPiAtDQo+ID4gPiAtICBPdXIgaG9tZSBwYWdlIGNhbiBiZSBmb3VuZCBh dA0KPiA+ID4gLQ0KPiA+ID4gLSAgICBodHRwczovL3d3dy5mcmVldHlwZS5vcmcNCj4gPiA+IC0N Cj4gPiA+IC0NCj4gPiA+IC0tLS0gZW5kIG9mIEZUTC5UWFQgLS0tDQo+ID4gPiAtDQo+ID4gPiBk aWZmIC0tZ2l0IGEvbWV0YS9maWxlcy9jb21tb24tbGljZW5zZXMvTmF1bWFuIGIvbWV0YS9maWxl cy9jb21tb24tDQo+ID4gbGljZW5zZXMvTmF1bWFuDQo+ID4gPiBkZWxldGVkIGZpbGUgbW9kZSAx MDA2NDQNCj4gPiA+IGluZGV4IDY5Y2U3ODVmZjMuLjAwMDAwMDAwMDANCj4gPiA+IC0tLSBhL21l dGEvZmlsZXMvY29tbW9uLWxpY2Vuc2VzL05hdW1hbg0KPiA+ID4gKysrIC9kZXYvbnVsbA0KPiA+ ID4gQEAgLTEsNTAgKzAsMCBAQA0KPiA+ID4gLQ0KPiA+ID4gLU5BVU1FTiBQdWJsaWMgTGljZW5z ZQ0KPiA+ID4gLVRoaXMgc29mdHdhcmUgaXMgQ29weXJpZ2h0IChjKSBOQVVNRU4gKHRtKSBhbmQg Q29udHJpYnV0b3JzLg0KPiA+ID4gLUFsbCByaWdodHMgcmVzZXJ2ZWQuDQo+ID4gPiAtDQo+ID4g PiAtUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0 aCBvcg0KPiA+ID4gLXdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk IHRoYXQgdGhlIGZvbGxvd2luZw0KPiA+ID4gLWNvbmRpdGlvbnMgYXJlIG1ldDoNCj4gPiA+IC0N Cj4gPiA+IC0xLiBSZWRpc3RyaWJ1dGlvbnMgaW4gc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl IGFib3ZlDQo+ID4gPiAtY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMs IGFuZCB0aGUgZm9sbG93aW5nDQo+ID4gPiAtZGlzY2xhaW1lci4NCj4gPiA+IC0NCj4gPiA+IC0y LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl DQo+ID4gPiAtY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMsIGFuZCB0 aGUgZm9sbG93aW5nDQo+ID4gPiAtZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQv b3Igb3RoZXIgbWF0ZXJpYWxzDQo+ID4gPiAtcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u Lg0KPiA+ID4gLQ0KPiA+ID4gLTMuIFRoZSBuYW1lIE5BVU1FTiAodG0pIG11c3Qgbm90IGJlIHVz ZWQgdG8NCj4gPiA+IC1lbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRo aXMgc29mdHdhcmUgd2l0aG91dCBwcmlvcg0KPiA+ID4gLXdyaXR0ZW4gcGVybWlzc2lvbiBmcm9t IE5BVU1FTi4NCj4gPiA+IC0NCj4gPiA+IC00LiBUaGUgcmlnaHQgdG8gZGlzdHJpYnV0ZSB0aGlz IHNvZnR3YXJlIG9yIHRvIHVzZSBpdCBmb3IgYW55DQo+ID4gPiAtcHVycG9zZSBkb2VzIG5vdCBn aXZlIHlvdSB0aGUgcmlnaHQgdG8gdXNlIFNlcnZpY2VtYXJrcyAoc20pDQo+ID4gPiAtb3IgVHJh ZGVtYXJrcyAodG0pIG9mIE5BVU1FTi4NCj4gPiA+IC0NCj4gPiA+IC01LiBJZiBhbnkgZmlsZXMg b3JpZ2luYXRpbmcgZnJvbSBOQVVNRU4gb3IgQ29udHJpYnV0b3JzIGFyZSBtb2RpZmllZCwNCj4g PiB5b3UgbXVzdA0KPiA+ID4gLWNhdXNlIHRoZSBtb2RpZmllZCBmaWxlcyB0byBjYXJyeSBwcm9t aW5lbnQgbm90aWNlcyBzdGF0aW5nDQo+ID4gPiAtdGhhdCB5b3UgY2hhbmdlZCB0aGUgZmlsZXMg YW5kIHRoZSBkYXRlIG9mIGFueSBjaGFuZ2UuDQo+ID4gPiAtDQo+ID4gPiAtRGlzY2xhaW1lcjoN Cj4gPiA+IC0NCj4gPiA+IC1USElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIE5BVU1FTiAiQVMg SVMiIEFORCBBTlkgRVhQUkVTU0VEDQo+ID4gPiAtT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFDQo+ID4gPiAtSU1QTElFRCBXQVJSQU5USUVT IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQQ0KPiA+ID4gLVBBUlRJQ1VMQVIg UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgTkFVTUVODQo+ID4gPiAt T1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULA0K PiA+ID4gLUlOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE QU1BR0VTDQo+ID4gPiAtKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO VCBPRiBTVUJTVElUVVRFDQo+ID4gPiAtR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KPiA+ID4gLUlOVEVSUlVQVElPTikgSE9XRVZF UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLA0KPiA+ID4gLVdIRVRIRVIg SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORw0KPiA+ID4g LU5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV U0UgT0YNCj4gPiA+IC1USElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJ QklMSVRZIE9GIFNVQ0gNCj4gPiA+IC1EQU1BR0UuDQo+ID4gPiAtDQo+ID4gPiAtVGhpcyBzb2Z0 d2FyZSBjb25zaXN0cyBvZiBjb250cmlidXRpb25zIG1hZGUgYnkgTkFVTUVODQo+ID4gPiAtYW5k IENvbnRyaWJ1dG9ycy4gU3BlY2lmaWMgYXR0cmlidXRpb25zIGFyZSBsaXN0ZWQgaW4gdGhlDQo+ ID4gPiAtYWNjb21wYW55aW5nIGNyZWRpdHMgZmlsZS4NCj4gPiA+IC0NCj4gPiA+IGRpZmYgLS1n aXQgYS9tZXRhL2ZpbGVzL2NvbW1vbi1saWNlbnNlcy90Y2wgYi9tZXRhL2ZpbGVzL2NvbW1vbi0N Cj4gPiBsaWNlbnNlcy90Y2wNCj4gPiA+IGRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NA0KPiA+ID4g aW5kZXggZDgwNDljZDllNy4uMDAwMDAwMDAwMA0KPiA+ID4gLS0tIGEvbWV0YS9maWxlcy9jb21t b24tbGljZW5zZXMvdGNsDQo+ID4gPiArKysgL2Rldi9udWxsDQo+ID4gPiBAQCAtMSw0MCArMCww IEBADQo+ID4gPiAtVGhpcyBzb2Z0d2FyZSBpcyBjb3B5cmlnaHRlZCBieSB0aGUgUmVnZW50cyBv ZiB0aGUgVW5pdmVyc2l0eSBvZg0KPiA+ID4gLUNhbGlmb3JuaWEsIFN1biBNaWNyb3N5c3RlbXMs IEluYy4sIFNjcmlwdGljcyBDb3Jwb3JhdGlvbiwNCj4gQWN0aXZlU3RhdGUNCj4gPiA+IC1Db3Jw b3JhdGlvbiBhbmQgb3RoZXIgcGFydGllcy4gIFRoZSBmb2xsb3dpbmcgdGVybXMgYXBwbHkgdG8g YWxsDQo+IGZpbGVzDQo+ID4gPiAtYXNzb2NpYXRlZCB3aXRoIHRoZSBzb2Z0d2FyZSB1bmxlc3Mg ZXhwbGljaXRseSBkaXNjbGFpbWVkIGluDQo+ID4gPiAtaW5kaXZpZHVhbCBmaWxlcy4NCj4gPiA+ IC0NCj4gPiA+IC1UaGUgYXV0aG9ycyBoZXJlYnkgZ3JhbnQgcGVybWlzc2lvbiB0byB1c2UsIGNv cHksIG1vZGlmeSwgZGlzdHJpYnV0ZSwNCj4gPiA+IC1hbmQgbGljZW5zZSB0aGlzIHNvZnR3YXJl IGFuZCBpdHMgZG9jdW1lbnRhdGlvbiBmb3IgYW55IHB1cnBvc2UsDQo+ID4gcHJvdmlkZWQNCj4g PiA+IC10aGF0IGV4aXN0aW5nIGNvcHlyaWdodCBub3RpY2VzIGFyZSByZXRhaW5lZCBpbiBhbGwg Y29waWVzIGFuZCB0aGF0DQo+ID4gdGhpcw0KPiA+ID4gLW5vdGljZSBpcyBpbmNsdWRlZCB2ZXJi YXRpbSBpbiBhbnkgZGlzdHJpYnV0aW9ucy4gTm8gd3JpdHRlbg0KPiBhZ3JlZW1lbnQsDQo+ID4g PiAtbGljZW5zZSwgb3Igcm95YWx0eSBmZWUgaXMgcmVxdWlyZWQgZm9yIGFueSBvZiB0aGUgYXV0 aG9yaXplZCB1c2VzLg0KPiA+ID4gLU1vZGlmaWNhdGlvbnMgdG8gdGhpcyBzb2Z0d2FyZSBtYXkg YmUgY29weXJpZ2h0ZWQgYnkgdGhlaXIgYXV0aG9ycw0KPiA+ID4gLWFuZCBuZWVkIG5vdCBmb2xs b3cgdGhlIGxpY2Vuc2luZyB0ZXJtcyBkZXNjcmliZWQgaGVyZSwgcHJvdmlkZWQgdGhhdA0KPiA+ ID4gLXRoZSBuZXcgdGVybXMgYXJlIGNsZWFybHkgaW5kaWNhdGVkIG9uIHRoZSBmaXJzdCBwYWdl IG9mIGVhY2ggZmlsZQ0KPiA+IHdoZXJlDQo+ID4gPiAtdGhleSBhcHBseS4NCj4gPiA+IC0NCj4g PiA+IC1JTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBESVNUUklCVVRPUlMgQkUgTElB QkxFIFRPIEFOWSBQQVJUWQ0KPiA+ID4gLUZPUiBESVJFQ1QsIElORElSRUNULCBTUEVDSUFMLCBJ TkNJREVOVEFMLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMNCj4gPiA+IC1BUklTSU5HIE9VVCBP RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIElUUyBET0NVTUVOVEFUSU9OLCBPUiBBTlkNCj4g PiA+IC1ERVJJVkFUSVZFUyBUSEVSRU9GLCBFVkVOIElGIFRIRSBBVVRIT1JTIEhBVkUgQkVFTiBB RFZJU0VEIE9GIFRIRQ0KPiA+ID4gLVBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLg0KPiA+ID4g LQ0KPiA+ID4gLVRIRSBBVVRIT1JTIEFORCBESVNUUklCVVRPUlMgU1BFQ0lGSUNBTExZIERJU0NM QUlNIEFOWSBXQVJSQU5USUVTLA0KPiA+ID4gLUlOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP LCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GDQo+ID4gTUVSQ0hBTlRBQklMSVRZLA0KPiA+ID4g LUZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLCBBTkQgTk9OLUlORlJJTkdFTUVOVC4g IFRISVMNCj4gU09GVFdBUkUNCj4gPiA+IC1JUyBQUk9WSURFRCBPTiBBTiAiQVMgSVMiIEJBU0lT LCBBTkQgVEhFIEFVVEhPUlMgQU5EIERJU1RSSUJVVE9SUw0KPiBIQVZFDQo+ID4gPiAtTk8gT0JM SUdBVElPTiBUTyBQUk9WSURFIE1BSU5URU5BTkNFLCBTVVBQT1JULCBVUERBVEVTLCBFTkhBTkNF TUVOVFMsDQo+ID4gT1INCj4gPiA+IC1NT0RJRklDQVRJT05TLg0KPiA+ID4gLQ0KPiA+ID4gLUdP VkVSTk1FTlQgVVNFOiBJZiB5b3UgYXJlIGFjcXVpcmluZyB0aGlzIHNvZnR3YXJlIG9uIGJlaGFs ZiBvZiB0aGUNCj4gPiA+IC1VLlMuIGdvdmVybm1lbnQsIHRoZSBHb3Zlcm5tZW50IHNoYWxsIGhh dmUgb25seSAiUmVzdHJpY3RlZCBSaWdodHMiDQo+ID4gPiAtaW4gdGhlIHNvZnR3YXJlIGFuZCBy ZWxhdGVkIGRvY3VtZW50YXRpb24gYXMgZGVmaW5lZCBpbiB0aGUgRmVkZXJhbA0KPiA+ID4gLUFj cXVpc2l0aW9uIFJlZ3VsYXRpb25zIChGQVJzKSBpbiBDbGF1c2UgNTIuMjI3LjE5IChjKSAoMiku ICBJZiB5b3UNCj4gPiA+IC1hcmUgYWNxdWlyaW5nIHRoZSBzb2Z0d2FyZSBvbiBiZWhhbGYgb2Yg dGhlIERlcGFydG1lbnQgb2YgRGVmZW5zZSwNCj4gdGhlDQo+ID4gPiAtc29mdHdhcmUgc2hhbGwg YmUgY2xhc3NpZmllZCBhcyAiQ29tbWVyY2lhbCBDb21wdXRlciBTb2Z0d2FyZSIgYW5kDQo+IHRo ZQ0KPiA+ID4gLUdvdmVybm1lbnQgc2hhbGwgaGF2ZSBvbmx5ICJSZXN0cmljdGVkIFJpZ2h0cyIg YXMgZGVmaW5lZCBpbiBDbGF1c2UNCj4gPiA+IC0yNTIuMjI3LTcwMTQgKGIpICgzKSBvZiBERkFS cy4gIE5vdHdpdGhzdGFuZGluZyB0aGUgZm9yZWdvaW5nLCB0aGUNCj4gPiA+IC1hdXRob3JzIGdy YW50IHRoZSBVLlMuIEdvdmVybm1lbnQgYW5kIG90aGVycyBhY3RpbmcgaW4gaXRzIGJlaGFsZg0K PiA+ID4gLXBlcm1pc3Npb24gdG8gdXNlIGFuZCBkaXN0cmlidXRlIHRoZSBzb2Z0d2FyZSBpbiBh Y2NvcmRhbmNlIHdpdGggdGhlDQo+ID4gPiAtdGVybXMgc3BlY2lmaWVkIGluIHRoaXMgbGljZW5z ZS4NCj4gPiA+IGRpZmYgLS1naXQgYS9tZXRhL2ZpbGVzL2NvbW1vbi1saWNlbnNlcy92aW0gYi9t ZXRhL2ZpbGVzL2NvbW1vbi0NCj4gPiBsaWNlbnNlcy92aW0NCj4gPiA+IGRlbGV0ZWQgZmlsZSBt b2RlIDEwMDY0NA0KPiA+ID4gaW5kZXggNGFhODE4ZWIyNC4uMDAwMDAwMDAwMA0KPiA+ID4gLS0t IGEvbWV0YS9maWxlcy9jb21tb24tbGljZW5zZXMvdmltDQo+ID4gPiArKysgL2Rldi9udWxsDQo+ ID4gPiBAQCAtMSw4MSArMCwwIEBADQo+ID4gPiAtVklNIExJQ0VOU0UNCj4gPiA+IC0NCj4gPiA+ IC1JKSAgVGhlcmUgYXJlIG5vIHJlc3RyaWN0aW9ucyBvbiBkaXN0cmlidXRpbmcgdW5tb2RpZmll ZCBjb3BpZXMgb2YNCj4gVmltDQo+ID4gZXhjZXB0DQo+ID4gPiAtICAgIHRoYXQgdGhleSBtdXN0 IGluY2x1ZGUgdGhpcyBsaWNlbnNlIHRleHQuICBZb3UgY2FuIGFsc28NCj4gZGlzdHJpYnV0ZQ0K PiA+ID4gLSAgICB1bm1vZGlmaWVkIHBhcnRzIG9mIFZpbSwgbGlrZXdpc2UgdW5yZXN0cmljdGVk IGV4Y2VwdCB0aGF0IHRoZXkNCj4gPiBtdXN0DQo+ID4gPiAtICAgIGluY2x1ZGUgdGhpcyBsaWNl bnNlIHRleHQuICBZb3UgYXJlIGFsc28gYWxsb3dlZCB0byBpbmNsdWRlDQo+ID4gZXhlY3V0YWJs ZXMNCj4gPiA+IC0gICAgdGhhdCB5b3UgbWFkZSBmcm9tIHRoZSB1bm1vZGlmaWVkIFZpbSBzb3Vy Y2VzLCBwbHVzIHlvdXIgb3duDQo+IHVzYWdlDQo+ID4gPiAtICAgIGV4YW1wbGVzIGFuZCBWaW0g c2NyaXB0cy4NCj4gPiA+IC0NCj4gPiA+IC1JSSkgSXQgaXMgYWxsb3dlZCB0byBkaXN0cmlidXRl IGEgbW9kaWZpZWQgKG9yIGV4dGVuZGVkKSB2ZXJzaW9uIG9mDQo+ID4gVmltLA0KPiA+ID4gLSAg ICBpbmNsdWRpbmcgZXhlY3V0YWJsZXMgYW5kL29yIHNvdXJjZSBjb2RlLCB3aGVuIHRoZSBmb2xs b3dpbmcgZm91cg0KPiA+ID4gLSAgICBjb25kaXRpb25zIGFyZSBtZXQ6DQo+ID4gPiAtICAgIDEp IFRoaXMgbGljZW5zZSB0ZXh0IG11c3QgYmUgaW5jbHVkZWQgdW5tb2RpZmllZC4NCj4gPiA+IC0g ICAgMikgVGhlIG1vZGlmaWVkIFZpbSBtdXN0IGJlIGRpc3RyaWJ1dGVkIGluIG9uZSBvZiB0aGUg Zm9sbG93aW5nDQo+ID4gZml2ZSB3YXlzOg0KPiA+ID4gLSAgICAgICBhKSBJZiB5b3UgbWFrZSBj aGFuZ2VzIHRvIFZpbSB5b3Vyc2VsZiwgeW91IG11c3QgY2xlYXJseQ0KPiA+IGRlc2NyaWJlIGlu DQo+ID4gPiAtICAgICAgICAgdGhlIGRpc3RyaWJ1dGlvbiBob3cgdG8gY29udGFjdCB5b3UuICBX aGVuIHRoZSBtYWludGFpbmVyDQo+IGFza3MNCj4gPiB5b3UNCj4gPiA+IC0gICAgICAgICAoaW4g YW55IHdheSkgZm9yIGEgY29weSBvZiB0aGUgbW9kaWZpZWQgVmltIHlvdSBkaXN0cmlidXRlZCwN Cj4gPiB5b3UNCj4gPiA+IC0gICAgICAgICBtdXN0IG1ha2UgeW91ciBjaGFuZ2VzLCBpbmNsdWRp bmcgc291cmNlIGNvZGUsIGF2YWlsYWJsZSB0bw0KPiA+IHRoZQ0KPiA+ID4gLSAgICAgICAgIG1h aW50YWluZXIgd2l0aG91dCBmZWUuICBUaGUgbWFpbnRhaW5lciByZXNlcnZlcyB0aGUgcmlnaHQN Cj4gdG8NCj4gPiA+IC0gICAgICAgICBpbmNsdWRlIHlvdXIgY2hhbmdlcyBpbiB0aGUgb2ZmaWNp YWwgdmVyc2lvbiBvZiBWaW0uICBXaGF0DQo+IHRoZQ0KPiA+ID4gLSAgICAgICAgIG1haW50YWlu ZXIgd2lsbCBkbyB3aXRoIHlvdXIgY2hhbmdlcyBhbmQgdW5kZXIgd2hhdCBsaWNlbnNlDQo+ID4g dGhleQ0KPiA+ID4gLSAgICAgICAgIHdpbGwgYmUgZGlzdHJpYnV0ZWQgaXMgbmVnb3RpYWJsZS4g IElmIHRoZXJlIGhhcyBiZWVuIG5vDQo+ID4gbmVnb3RpYXRpb24NCj4gPiA+IC0gICAgICAgICB0 aGVuIHRoaXMgbGljZW5zZSwgb3IgYSBsYXRlciB2ZXJzaW9uLCBhbHNvIGFwcGxpZXMgdG8geW91 cg0KPiA+IGNoYW5nZXMuDQo+ID4gPiAtICAgICAgICAgVGhlIGN1cnJlbnQgbWFpbnRhaW5lciBp cyBCcmFtIE1vb2xlbmFhciA8QnJhbUB2aW0ub3JnPi4gIElmDQo+ID4gdGhpcw0KPiA+ID4gLSAg ICAgICAgIGNoYW5nZXMgaXQgd2lsbCBiZSBhbm5vdW5jZWQgaW4gYXBwcm9wcmlhdGUgcGxhY2Vz IChtb3N0DQo+ID4gbGlrZWx5DQo+ID4gPiAtICAgICAgICAgdmltLnNmLm5ldCwgd3d3LnZpbS5v cmcgYW5kL29yIGNvbXAuZWRpdG9ycykuICBXaGVuIGl0IGlzDQo+ID4gY29tcGxldGVseQ0KPiA+ ID4gLSAgICAgICAgIGltcG9zc2libGUgdG8gY29udGFjdCB0aGUgbWFpbnRhaW5lciwgdGhlIG9i bGlnYXRpb24gdG8gc2VuZA0KPiA+IGhpbQ0KPiA+ID4gLSAgICAgICAgIHlvdXIgY2hhbmdlcyBj ZWFzZXMuICBPbmNlIHRoZSBtYWludGFpbmVyIGhhcyBjb25maXJtZWQgdGhhdA0KPiA+IGhlIGhh cw0KPiA+ID4gLSAgICAgICAgIHJlY2VpdmVkIHlvdXIgY2hhbmdlcyB0aGV5IHdpbGwgbm90IGhh dmUgdG8gYmUgc2VudCBhZ2Fpbi4NCj4gPiA+IC0gICAgICAgYikgSWYgeW91IGhhdmUgcmVjZWl2 ZWQgYSBtb2RpZmllZCBWaW0gdGhhdCB3YXMgZGlzdHJpYnV0ZWQgYXMNCj4gPiA+IC0gICAgICAg ICBtZW50aW9uZWQgdW5kZXIgYSkgeW91IGFyZSBhbGxvd2VkIHRvIGZ1cnRoZXIgZGlzdHJpYnV0 ZSBpdA0KPiA+ID4gLSAgICAgICAgIHVubW9kaWZpZWQsIGFzIG1lbnRpb25lZCBhdCBJKS4gIElm IHlvdSBtYWtlIGFkZGl0aW9uYWwNCj4gPiBjaGFuZ2VzIHRoZQ0KPiA+ID4gLSAgICAgICAgIHRl eHQgdW5kZXIgYSkgYXBwbGllcyB0byB0aG9zZSBjaGFuZ2VzLg0KPiA+ID4gLSAgICAgICBjKSBQ cm92aWRlIGFsbCB0aGUgY2hhbmdlcywgaW5jbHVkaW5nIHNvdXJjZSBjb2RlLCB3aXRoIGV2ZXJ5 DQo+ID4gY29weSBvZg0KPiA+ID4gLSAgICAgICAgIHRoZSBtb2RpZmllZCBWaW0geW91IGRpc3Ry aWJ1dGUuICBUaGlzIG1heSBiZSBkb25lIGluIHRoZQ0KPiBmb3JtDQo+ID4gb2YgYQ0KPiA+ID4g LSAgICAgICAgIGNvbnRleHQgZGlmZi4gIFlvdSBjYW4gY2hvb3NlIHdoYXQgbGljZW5zZSB0byB1 c2UgZm9yIG5ldw0KPiBjb2RlDQo+ID4geW91DQo+ID4gPiAtICAgICAgICAgYWRkLiAgVGhlIGNo YW5nZXMgYW5kIHRoZWlyIGxpY2Vuc2UgbXVzdCBub3QgcmVzdHJpY3Qgb3RoZXJzDQo+ID4gZnJv bQ0KPiA+ID4gLSAgICAgICAgIG1ha2luZyB0aGVpciBvd24gY2hhbmdlcyB0byB0aGUgb2ZmaWNp YWwgdmVyc2lvbiBvZiBWaW0uDQo+ID4gPiAtICAgICAgIGQpIFdoZW4geW91IGhhdmUgYSBtb2Rp ZmllZCBWaW0gd2hpY2ggaW5jbHVkZXMgY2hhbmdlcyBhcw0KPiA+IG1lbnRpb25lZA0KPiA+ID4g LSAgICAgICAgIHVuZGVyIGMpLCB5b3UgY2FuIGRpc3RyaWJ1dGUgaXQgd2l0aG91dCB0aGUgc291 cmNlIGNvZGUgZm9yDQo+ID4gdGhlDQo+ID4gPiAtICAgICAgICAgY2hhbmdlcyBpZiB0aGUgZm9s bG93aW5nIHRocmVlIGNvbmRpdGlvbnMgYXJlIG1ldDoNCj4gPiA+IC0gICAgICAgICAtIFRoZSBs aWNlbnNlIHRoYXQgYXBwbGllcyB0byB0aGUgY2hhbmdlcyBwZXJtaXRzIHlvdSB0bw0KPiA+IGRp c3RyaWJ1dGUNCj4gPiA+IC0gICAgICAgICAgIHRoZSBjaGFuZ2VzIHRvIHRoZSBWaW0gbWFpbnRh aW5lciB3aXRob3V0IGZlZSBvcg0KPiA+IHJlc3RyaWN0aW9uLCBhbmQNCj4gPiA+IC0gICAgICAg ICAgIHBlcm1pdHMgdGhlIFZpbSBtYWludGFpbmVyIHRvIGluY2x1ZGUgdGhlIGNoYW5nZXMgaW4g dGhlDQo+ID4gb2ZmaWNpYWwNCj4gPiA+IC0gICAgICAgICAgIHZlcnNpb24gb2YgVmltIHdpdGhv dXQgZmVlIG9yIHJlc3RyaWN0aW9uLg0KPiA+ID4gLSAgICAgICAgIC0gWW91IGtlZXAgdGhlIGNo YW5nZXMgZm9yIGF0IGxlYXN0IHRocmVlIHllYXJzIGFmdGVyIGxhc3QNCj4gPiA+IC0gICAgICAg ICAgIGRpc3RyaWJ1dGluZyB0aGUgY29ycmVzcG9uZGluZyBtb2RpZmllZCBWaW0uICBXaGVuIHRo ZQ0KPiA+IG1haW50YWluZXINCj4gPiA+IC0gICAgICAgICAgIG9yIHNvbWVvbmUgd2hvIHlvdSBk aXN0cmlidXRlZCB0aGUgbW9kaWZpZWQgVmltIHRvIGFza3MNCj4geW91DQo+ID4gKGluDQo+ID4g PiAtICAgICAgICAgICBhbnkgd2F5KSBmb3IgdGhlIGNoYW5nZXMgd2l0aGluIHRoaXMgcGVyaW9k LCB5b3UgbXVzdCBtYWtlDQo+ID4gdGhlbQ0KPiA+ID4gLSAgICAgICAgICAgYXZhaWxhYmxlIHRv IGhpbS4NCj4gPiA+IC0gICAgICAgICAtIFlvdSBjbGVhcmx5IGRlc2NyaWJlIGluIHRoZSBkaXN0 cmlidXRpb24gaG93IHRvIGNvbnRhY3QNCj4geW91Lg0KPiA+IFRoaXMNCj4gPiA+IC0gICAgICAg ICAgIGNvbnRhY3QgaW5mb3JtYXRpb24gbXVzdCByZW1haW4gdmFsaWQgZm9yIGF0IGxlYXN0IHRo cmVlDQo+ID4geWVhcnMNCj4gPiA+IC0gICAgICAgICAgIGFmdGVyIGxhc3QgZGlzdHJpYnV0aW5n IHRoZSBjb3JyZXNwb25kaW5nIG1vZGlmaWVkIFZpbSwgb3INCj4gPiBhcyBsb25nDQo+ID4gPiAt ICAgICAgICAgICBhcyBwb3NzaWJsZS4NCj4gPiA+IC0gICAgICAgZSkgV2hlbiB0aGUgR05VIEdl bmVyYWwgUHVibGljIExpY2Vuc2UgKEdQTCkgYXBwbGllcyB0byB0aGUNCj4gPiBjaGFuZ2VzLA0K PiA+ID4gLSAgICAgICAgIHlvdSBjYW4gZGlzdHJpYnV0ZSB0aGUgbW9kaWZpZWQgVmltIHVuZGVy IHRoZSBHTlUgR1BMDQo+IHZlcnNpb24NCj4gPiAyIG9yDQo+ID4gPiAtICAgICAgICAgYW55IGxh dGVyIHZlcnNpb24uDQo+ID4gPiAtICAgIDMpIEEgbWVzc2FnZSBtdXN0IGJlIGFkZGVkLCBhdCBs ZWFzdCBpbiB0aGUgb3V0cHV0IG9mIHRoZQ0KPiA+ICI6dmVyc2lvbiINCj4gPiA+IC0gICAgICAg Y29tbWFuZCBhbmQgaW4gdGhlIGludHJvIHNjcmVlbiwgc3VjaCB0aGF0IHRoZSB1c2VyIG9mIHRo ZQ0KPiA+IG1vZGlmaWVkIFZpbQ0KPiA+ID4gLSAgICAgICBpcyBhYmxlIHRvIHNlZSB0aGF0IGl0 IHdhcyBtb2RpZmllZC4gIFdoZW4gZGlzdHJpYnV0aW5nIGFzDQo+ID4gbWVudGlvbmVkDQo+ID4g PiAtICAgICAgIHVuZGVyIDIpZSkgYWRkaW5nIHRoZSBtZXNzYWdlIGlzIG9ubHkgcmVxdWlyZWQg Zm9yIGFzIGZhciBhcw0KPiA+IHRoaXMgZG9lcw0KPiA+ID4gLSAgICAgICBub3QgY29uZmxpY3Qg d2l0aCB0aGUgbGljZW5zZSB1c2VkIGZvciB0aGUgY2hhbmdlcy4NCj4gPiA+IC0gICAgNCkgVGhl IGNvbnRhY3QgaW5mb3JtYXRpb24gYXMgcmVxdWlyZWQgdW5kZXIgMilhKSBhbmQgMilkKSBtdXN0 DQo+IG5vdA0KPiA+IGJlDQo+ID4gPiAtICAgICAgIHJlbW92ZWQgb3IgY2hhbmdlZCwgZXhjZXB0 IHRoYXQgdGhlIHBlcnNvbiBoaW1zZWxmIGNhbiBtYWtlDQo+ID4gPiAtICAgICAgIGNvcnJlY3Rp b25zLg0KPiA+ID4gLQ0KPiA+ID4gLUlJSSkgSWYgeW91IGRpc3RyaWJ1dGUgYSBtb2RpZmllZCB2 ZXJzaW9uIG9mIFZpbSwgeW91IGFyZSBlbmNvdXJhZ2VkDQo+IHRvDQo+ID4gdXNlDQo+ID4gPiAt ICAgICB0aGUgVmltIGxpY2Vuc2UgZm9yIHlvdXIgY2hhbmdlcyBhbmQgbWFrZSB0aGVtIGF2YWls YWJsZSB0byB0aGUNCj4gPiA+IC0gICAgIG1haW50YWluZXIsIGluY2x1ZGluZyB0aGUgc291cmNl IGNvZGUuICBUaGUgcHJlZmVycmVkIHdheSB0byBkbw0KPiA+IHRoaXMgaXMNCj4gPiA+IC0gICAg IGJ5IGUtbWFpbCBvciBieSB1cGxvYWRpbmcgdGhlIGZpbGVzIHRvIGEgc2VydmVyIGFuZCBlLW1h aWxpbmcNCj4gdGhlDQo+ID4gVVJMLg0KPiA+ID4gLSAgICAgSWYgdGhlIG51bWJlciBvZiBjaGFu Z2VzIGlzIHNtYWxsIChlLmcuLCBhIG1vZGlmaWVkIE1ha2VmaWxlKSBlLQ0KPiA+IG1haWxpbmcg YQ0KPiA+ID4gLSAgICAgY29udGV4dCBkaWZmIHdpbGwgZG8uICBUaGUgZS1tYWlsIGFkZHJlc3Mg dG8gYmUgdXNlZCBpcw0KPiA+ID4gLSAgICAgPG1haW50YWluZXJAdmltLm9yZz4NCj4gPiA+IC0N Cj4gPiA+IC1JVikgIEl0IGlzIG5vdCBhbGxvd2VkIHRvIHJlbW92ZSB0aGlzIGxpY2Vuc2UgZnJv bSB0aGUgZGlzdHJpYnV0aW9uDQo+IG9mDQo+ID4gdGhlIFZpbQ0KPiA+ID4gLSAgICAgc291cmNl cywgcGFydHMgb2YgaXQgb3IgZnJvbSBhIG1vZGlmaWVkIHZlcnNpb24uICBZb3UgbWF5IHVzZQ0K PiB0aGlzDQo+ID4gPiAtICAgICBsaWNlbnNlIGZvciBwcmV2aW91cyBWaW0gcmVsZWFzZXMgaW5z dGVhZCBvZiB0aGUgbGljZW5zZSB0aGF0DQo+IHRoZXkNCj4gPiBjYW1lDQo+ID4gPiAtICAgICB3 aXRoLCBhdCB5b3VyIG9wdGlvbi4NCj4gPiA+IC0NCj4gPiA+IC09PT0NCj4gPiA+IC1SZWFkIG1v cmUgYWJvdXQgdGhpcyBsaWNlbnNlIGF0DQo+ID4gaHR0cDovL3ZpbWRvYy5zb3VyY2Vmb3JnZS5u ZXQvaHRtbGRvYy91Z2FuZGEuaHRtbCNsaWNlbnNlDQo+ID4gPg0KPiA+ID4NCj4gPiA+DQo=