From mboxrd@z Thu Jan 1 00:00:00 1970 Return-path: Received: from metis.ext.pengutronix.de ([2001:67c:670:201:290:27ff:fe1d:cc33]) by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1jTkIj-0007YS-P8 for barebox@lists.infradead.org; Wed, 29 Apr 2020 10:50:54 +0000 Date: Wed, 29 Apr 2020 12:50:45 +0200 From: Roland Hieber Message-ID: <20200429105044.pyc5gj343e2v4hgy@pengutronix.de> References: <20200428132405.3624-1-u.kleine-koenig@pengutronix.de> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20200428132405.3624-1-u.kleine-koenig@pengutronix.de> List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "barebox" Errors-To: barebox-bounces+u.kleine-koenig=pengutronix.de@lists.infradead.org Subject: Re: [PATCH] arch/arm/boards: Replace license and copyright boilerplate by SPDX identfiers To: Uwe =?utf-8?Q?Kleine-K=C3=B6nig?= Cc: barebox@lists.infradead.org, Ahmad Fatoum T24gVHVlLCBBcHIgMjgsIDIwMjAgYXQgMDM6MjQ6MDVQTSArMDIwMCwgVXdlIEtsZWluZS1Lw7Zu aWcgd3JvdGU6Cj4gVGhpcyBhZGFwdHMgYWxsIGZpbGVzIHRoYXQgd2VyZSBpZGVudGlmZWQgYnkg bGljZW5zZWNoZWNrCj4gKGh0dHBzOi8vc2Fsc2EuZGViaWFuLm9yZy9idWlsZC1jb21tb24tdGVh bS9saWNlbnNlY2hlY2suZ2l0KSBhcwo+IGxpY2Vuc2VkIHVuZGVyIHRoZSBHUEwuCj4gCj4gVGhl IGFkdmFudGFnZSBpcyB0aGF0IHRoZXNlIHNwZWNpZmllcnMgYXJlIG1hY2hpbmUtcGFyc2VhYmxl IHdoaWNoIGhlbHBzCj4gbGljZW5zZSBjb25mb3JtYW5jZSwgZS5nLiBmb3IgcGFja2FnaW5nIGJh cmVib3ggaW4gRGViaWFuLgo+IAo+IFdoaWxlIHRvdWNoaW5nIHRoZXNlIGZpbGVzIGFsc28gZG8g c29tZSBtaW5vciBjb21tZW50IHJlZm9ybWF0dGluZyB0bwo+IGdldCBzb21lIHVuaWZvcm0gbGF5 b3V0Lgo+IAo+IFNpZ25lZC1vZmYtYnk6IFV3ZSBLbGVpbmUtS8O2bmlnIDx1LmtsZWluZS1rb2Vu aWdAcGVuZ3V0cm9uaXguZGU+Cj4gLS0tCj4gIGFyY2gvYXJtL2JvYXJkcy9hOW0yNDEwL2E5bTI0 MTAuYyAgICAgICAgICAgICB8IDE3ICsrLS0tLS0tLS0tLQo+ICBhcmNoL2FybS9ib2FyZHMvYTlt MjQxMC9jb25maWcuaCAgICAgICAgICAgICAgfCAxMyArKy0tLS0tLS0tCj4gIGFyY2gvYXJtL2Jv YXJkcy9hOW0yNDQwL2E5bTI0MTBkZXYuYyAgICAgICAgICB8IDE3ICsrLS0tLS0tLS0tLQo+ICBh cmNoL2FybS9ib2FyZHMvYTltMjQ0MC9hOW0yNDQwLmMgICAgICAgICAgICAgfCAxNyArKy0tLS0t LS0tLS0KPiAgYXJjaC9hcm0vYm9hcmRzL2E5bTI0NDAvYmFzZWJvYXJkcy5oICAgICAgICAgIHwg MTcgKystLS0tLS0tLS0tCj4gIGFyY2gvYXJtL2JvYXJkcy9hOW0yNDQwL2NvbmZpZy5oICAgICAg ICAgICAgICB8IDEzICsrLS0tLS0tLS0KPiAgYXJjaC9hcm0vYm9hcmRzL2FkdmFudGVjaC1teDYv Ym9hcmQuYyAgICAgICAgIHwgMTYgKystLS0tLS0tLS0tCj4gIGFyY2gvYXJtL2JvYXJkcy9hZHZh bnRlY2gtbXg2L2xvd2xldmVsLmMgICAgICB8IDE2ICsrLS0tLS0tLS0tLQo+ICBhcmNoL2FybS9i b2FyZHMvYWZpLWdmL2JvYXJkLmMgICAgICAgICAgICAgICAgfCAxNiArKy0tLS0tLS0tLS0KPiAg YXJjaC9hcm0vYm9hcmRzL2FmaS1nZi9jb25maWcuaCAgICAgICAgICAgICAgIHwgMTkgKystLS0t LS0tLS0tLS0KPiAgYXJjaC9hcm0vYm9hcmRzL2FyY2hvc2c5L2FyY2hvc19mZWF0dXJlcy5jICAg IHwgMTMgKystLS0tLS0tLQo+ICBhcmNoL2FybS9ib2FyZHMvYXJjaG9zZzkvYm9hcmQuYyAgICAg ICAgICAgICAgfCAxMiArLS0tLS0tLS0KPiAgYXJjaC9hcm0vYm9hcmRzL2FyY2hvc2c5L2xvd2xl dmVsLmMgICAgICAgICAgIHwgMTIgKy0tLS0tLS0tCj4gIGFyY2gvYXJtL2JvYXJkcy9hcmNob3Nn OS9tdXguYyAgICAgICAgICAgICAgICB8IDEyICstLS0tLS0tLQo+ICBhcmNoL2FybS9ib2FyZHMv YXQ5MXJtOTIwMGVrL2luaXQuYyAgICAgICAgICAgfCAxNyArKy0tLS0tLS0tLS0KPiAgYXJjaC9h cm0vYm9hcmRzL2F0OTFzYW05MjYwZWsvaW5pdC5jICAgICAgICAgIHwgMTUgKystLS0tLS0tLS0K PiAgYXJjaC9hcm0vYm9hcmRzL2F0OTFzYW05MjYxZWsvaW5pdC5jICAgICAgICAgIHwgMTcgKyst LS0tLS0tLS0tCj4gIGFyY2gvYXJtL2JvYXJkcy9hdDkxc2FtOTI2M2VrL2luaXQuYyAgICAgICAg ICB8IDIwICsrKy0tLS0tLS0tLS0tCj4gIGFyY2gvYXJtL2JvYXJkcy9hdDkxc2FtOTI2M2VrL29m X2luaXQuYyAgICAgICB8IDE1ICsrLS0tLS0tLS0tCj4gIGFyY2gvYXJtL2JvYXJkcy9hdDkxc2Ft OW0xMGc0NWVrL2luaXQuYyAgICAgICB8IDIwICsrKy0tLS0tLS0tLS0tCj4gIGFyY2gvYXJtL2Jv YXJkcy9hdDkxc2FtOW0xMGloZC9od192ZXJzaW9uLmMgICB8IDE3ICsrLS0tLS0tLS0tLQo+ICBh cmNoL2FybS9ib2FyZHMvYXQ5MXNhbTltMTBpaGQvaHdfdmVyc2lvbi5oICAgfCAxNyArKy0tLS0t LS0tLS0KPiAgYXJjaC9hcm0vYm9hcmRzL2F0OTFzYW05bjEyZWsvaW5pdC5jICAgICAgICAgIHwg MTcgKystLS0tLS0tLS0tCj4gIGFyY2gvYXJtL2JvYXJkcy9hdDkxc2FtOXg1ZWsvaHdfdmVyc2lv bi5jICAgICB8IDE3ICsrLS0tLS0tLS0tLQo+ICBhcmNoL2FybS9ib2FyZHMvYXQ5MXNhbTl4NWVr L2h3X3ZlcnNpb24uaCAgICAgfCAxNyArKy0tLS0tLS0tLS0KPiAgYXJjaC9hcm0vYm9hcmRzL2F0 OTFzYW05eDVlay9pbml0LmMgICAgICAgICAgIHwgMTcgKystLS0tLS0tLS0tCj4gIGFyY2gvYXJt L2JvYXJkcy9hdm5ldC16ZWRib2FyZC9ib2FyZC5jICAgICAgICB8IDE1ICsrLS0tLS0tLS0tCj4g IGFyY2gvYXJtL2JvYXJkcy9hdm5ldC16ZWRib2FyZC9sb3dsZXZlbC5jICAgICB8IDE4ICsrKy0t LS0tLS0tLS0KPiAgYXJjaC9hcm0vYm9hcmRzL2JlYWdsZS9ib2FyZC5jICAgICAgICAgICAgICAg IHwgMTggKystLS0tLS0tLS0tLQo+ICBhcmNoL2FybS9ib2FyZHMvYmVhZ2xlYm9uZS9ib2FyZC5j ICAgICAgICAgICAgfCAxOSArKy0tLS0tLS0tLS0tLQo+ICAuLi4vMTA2Nm1oel80eDEyOG14MTYu aW14Y2ZnICAgICAgICAgICAgICAgICAgfCAxNSArKy0tLS0tLS0tLQo+ICAuLi4vMTA2Nm1oel80 eDI1Nm14MTYuaW14Y2ZnICAgICAgICAgICAgICAgICAgfCAxNSArKy0tLS0tLS0tLQo+ICAuLi4v MTA2Nm1oel80eDUxMm14MTYtcXAuaW14Y2ZnICAgICAgICAgICAgICAgfCAxNSArKy0tLS0tLS0t LQo+ICAuLi4vODAwbWh6XzR4MTI4bXgxNi5pbXhjZmcgICAgICAgICAgICAgICAgICAgfCAxNSAr Ky0tLS0tLS0tLQo+ICAuLi4vODAwbWh6XzR4MjU2bXgxNi5pbXhjZmcgICAgICAgICAgICAgICAg ICAgfCAxNSArKy0tLS0tLS0tLQo+ICAuLi4vYm9hcmRzL2JvdW5kYXJ5ZGV2aWNlcy1uaXRyb2dl bjYvYm9hcmQuYyAgfCAxNSArKy0tLS0tLS0tLQo+ICBhcmNoL2FybS9ib2FyZHMvY2N4bXg1My9i b2FyZC5jICAgICAgICAgICAgICAgfCAyMCArKystLS0tLS0tLS0tLQo+ICBhcmNoL2FybS9ib2Fy ZHMvY2N4bXg1My9sb3dsZXZlbC5jICAgICAgICAgICAgfCAxNiArKy0tLS0tLS0tLS0KPiAgLi4u L2FybS9ib2FyZHMvY2h1bWJ5X2ZhbGNvbndpbmcvZmFsY29ud2luZy5jIHwgMTcgKysrLS0tLS0t LS0tCj4gIGFyY2gvYXJtL2JvYXJkcy9jbGVwNzIxMi9jbGVwNzIxMi5jICAgICAgICAgICB8IDEw ICsrLS0tLS0KPiAgYXJjaC9hcm0vYm9hcmRzL2NsZXA3MjEyL2xvd2xldmVsLmMgICAgICAgICAg IHwgMTAgKystLS0tLQo+ICBhcmNoL2FybS9ib2FyZHMvY20tZng2L2JvYXJkLmMgICAgICAgICAg ICAgICAgfCAxNSArKy0tLS0tLS0tLQo+ICAuLi4vYm9hcmRzL2NyeXN0YWxmb250ei1jZmExMDAz Ni9jZmExMDAzNi5jICAgfCAyMSArKysrLS0tLS0tLS0tLS0KPiAgLi4uL2JvYXJkcy9jcnlzdGFs Zm9udHotY2ZhMTAwMzYvaHdkZXRlY3QuYyAgIHwgMTcgKystLS0tLS0tLS0tCj4gIC4uLi9ib2Fy ZHMvY3J5c3RhbGZvbnR6LWNmYTEwMDM2L2h3ZGV0ZWN0LmggICB8IDE3ICsrLS0tLS0tLS0tLQo+ ICBhcmNoL2FybS9ib2FyZHMvZGF0YW1vZHVsLWVkbS1xbXg2L2JvYXJkLmMgICAgfCAyMCArKy0t LS0tLS0tLS0tLQo+ICBhcmNoL2FybS9ib2FyZHMvZGF0YW1vZHVsLWVkbS1xbXg2L2xvd2xldmVs LmMgfCAxNyArKystLS0tLS0tLS0KPiAgYXJjaC9hcm0vYm9hcmRzL2RmaS1mczcwMC1tNjAvYm9h cmQuYyAgICAgICAgIHwgMjEgKysrLS0tLS0tLS0tLS0tCj4gIGFyY2gvYXJtL2JvYXJkcy9kZmkt ZnM3MDAtbTYwL2xvd2xldmVsLmMgICAgICB8IDE3ICsrKy0tLS0tLS0tLQo+ICBhcmNoL2FybS9i b2FyZHMvZGlnaS1jY2lteDZ1bHNvbS9ib2FyZC5jICAgICAgfCAyMCArKy0tLS0tLS0tLS0tLQo+ ICBhcmNoL2FybS9ib2FyZHMvZHNzMTEvaW5pdC5jICAgICAgICAgICAgICAgICAgfCAxNSArKy0t LS0tLS0tLQo+ICBhcmNoL2FybS9ib2FyZHMvZHVja2JpbGwvYm9hcmQuYyAgICAgICAgICAgICAg fCAxOSArKystLS0tLS0tLS0tLQo+ICBhcmNoL2FybS9ib2FyZHMvZWRiOTN4eC9lYXJseV91ZGVs YXkuaCAgICAgICAgfCAxNiArKy0tLS0tLS0tLS0KPiAgYXJjaC9hcm0vYm9hcmRzL2VkYjkzeHgv ZWRiOTN4eC5jICAgICAgICAgICAgIHwgMTYgKystLS0tLS0tLS0tCj4gIGFyY2gvYXJtL2JvYXJk cy9lZGI5M3h4L2VkYjkzeHguaCAgICAgICAgICAgICB8IDE2ICsrLS0tLS0tLS0tLQo+ICBhcmNo L2FybS9ib2FyZHMvZWRiOTN4eC9mbGFzaF9jZmcuYyAgICAgICAgICAgfCAyMCArKystLS0tLS0t LS0tLQo+ICBhcmNoL2FybS9ib2FyZHMvZWRiOTN4eC9wbGxfY2ZnLmMgICAgICAgICAgICAgfCAy MyArKysrLS0tLS0tLS0tLS0tCj4gIGFyY2gvYXJtL2JvYXJkcy9lZGI5M3h4L3BsbF9jZmcuaCAg ICAgICAgICAgICB8IDIwICsrKy0tLS0tLS0tLS0tCj4gIGFyY2gvYXJtL2JvYXJkcy9lZGI5M3h4 L3NkcmFtX2NmZy5jICAgICAgICAgICB8IDE5ICsrKy0tLS0tLS0tLS0tCj4gIGFyY2gvYXJtL2Jv YXJkcy9lZGI5M3h4L3NkcmFtX2NmZy5oICAgICAgICAgICB8IDE5ICsrKy0tLS0tLS0tLS0tCj4g IGFyY2gvYXJtL2JvYXJkcy9lZmlrYS1teC1zbWFydGJvb2svYm9hcmQuYyAgICB8IDE2ICsrLS0t LS0tLS0tLQo+ICBhcmNoL2FybS9ib2FyZHMvZWxlbWVudDE0LXdhcnA3L2JvYXJkLmMgICAgICAg fCAxNSArKy0tLS0tLS0tLQo+ICBhcmNoL2FybS9ib2FyZHMvZWx0ZWMtaGlwZXJjYW0vYm9hcmQu YyAgICAgICAgfCAxNiArKy0tLS0tLS0tLS0KPiAgYXJjaC9hcm0vYm9hcmRzL2VsdGVjLWhpcGVy Y2FtL2xvd2xldmVsLmMgICAgIHwgMTcgKysrLS0tLS0tLS0tCj4gIGFyY2gvYXJtL2JvYXJkcy9l bWJlZHNreS1lOS9ib2FyZC5jICAgICAgICAgICB8IDE1ICsrKy0tLS0tLS0tCj4gIGFyY2gvYXJt L2JvYXJkcy9lbWJlc3QtcmlvdGJvYXJkL2JvYXJkLmMgICAgICB8IDE3ICsrKy0tLS0tLS0tLQo+ ICBhcmNoL2FybS9ib2FyZHMvZXVrcmVhX2NwdWlteDI1L01ha2VmaWxlICAgICAgfCAxNiArKy0t LS0tLS0tLS0KPiAgLi4uL2JvYXJkcy9ldWtyZWFfY3B1aW14MjUvZXVrcmVhX2NwdWlteDI1LmMg IHwgMTkgKysrLS0tLS0tLS0tLS0KPiAgYXJjaC9hcm0vYm9hcmRzL2V1a3JlYV9jcHVpbXgyNS9s b3dsZXZlbC5jICAgIHwgMjAgKysrLS0tLS0tLS0tLS0KPiAgLi4uL2JvYXJkcy9ldWtyZWFfY3B1 aW14MjcvZXVrcmVhX2NwdWlteDI3LmMgIHwgMTYgKysrLS0tLS0tLS0tCj4gIGFyY2gvYXJtL2Jv YXJkcy9ldWtyZWFfY3B1aW14MzUvTWFrZWZpbGUgICAgICB8IDE2ICsrLS0tLS0tLS0tLQo+ICAu Li4vYm9hcmRzL2V1a3JlYV9jcHVpbXgzNS9ldWtyZWFfY3B1aW14MzUuYyAgfCAyMSArKysrLS0t LS0tLS0tLS0KPiAgYXJjaC9hcm0vYm9hcmRzL2V1a3JlYV9jcHVpbXgzNS9sb3dsZXZlbC5jICAg IHwgMTggKysrLS0tLS0tLS0tLQo+ICAuLi4vYm9hcmRzL2V1a3JlYV9jcHVpbXg1MS9ldWtyZWFf Y3B1aW14NTEuYyAgfCAxOSArKystLS0tLS0tLS0tLQo+ICBhcmNoL2FybS9ib2FyZHMvZnJlZXNj YWxlLW14MjEtYWRzL2lteDIxYWRzLmMgfCAxNyArKystLS0tLS0tLS0KPiAgLi4uL2JvYXJkcy9m cmVlc2NhbGUtbXgyMS1hZHMvbG93bGV2ZWxfaW5pdC5TIHwgMTYgKystLS0tLS0tLS0tCj4gIGFy Y2gvYXJtL2JvYXJkcy9mcmVlc2NhbGUtbXgyMy1ldmsvbXgyMy1ldmsuYyB8IDE4ICsrKy0tLS0t LS0tLS0KPiAgYXJjaC9hcm0vYm9hcmRzL2ZyZWVzY2FsZS1teDI1LTNkcy8zc3RhY2suYyAgIHwg MTcgKystLS0tLS0tLS0tCj4gIGFyY2gvYXJtL2JvYXJkcy9mcmVlc2NhbGUtbXgyNS0zZHMvTWFr ZWZpbGUgICB8IDE2ICsrLS0tLS0tLS0tLQo+ICAuLi4vYm9hcmRzL2ZyZWVzY2FsZS1teDI1LTNk cy9sb3dsZXZlbF9pbml0LlMgfCAxNyArKy0tLS0tLS0tLS0KPiAgYXJjaC9hcm0vYm9hcmRzL2Zy ZWVzY2FsZS1teDI3LWFkcy9pbXgyN2Fkcy5jIHwgMTcgKystLS0tLS0tLS0tCj4gIGFyY2gvYXJt L2JvYXJkcy9mcmVlc2NhbGUtbXgzNS0zZHMvM3N0YWNrLmMgICB8IDE5ICsrKy0tLS0tLS0tLS0t Cj4gIC4uLi9mcmVlc2NhbGUtbXgzNS0zZHMvYm9hcmQtbXgzNV8zc3RhY2suaCAgICB8IDIwICsr Ky0tLS0tLS0tLS0tCj4gIC4uLi9ib2FyZHMvZnJlZXNjYWxlLW14MzUtM2RzL2xvd2xldmVsX2lu aXQuUyB8IDE3ICsrLS0tLS0tLS0tLQo+ICAuLi4vYXJtL2JvYXJkcy9mcmVlc2NhbGUtbXg1MS1i YWJiYWdlL2JvYXJkLmMgfCAxNyArKy0tLS0tLS0tLS0KPiAgYXJjaC9hcm0vYm9hcmRzL2ZyZWVz Y2FsZS1teDUzLXFzYi9ib2FyZC5jICAgIHwgMTggKysrLS0tLS0tLS0tLQo+ICBhcmNoL2FybS9i b2FyZHMvZnJlZXNjYWxlLW14NTMtc21kL2JvYXJkLmMgICAgfCAxOCArKystLS0tLS0tLS0tCj4g IGFyY2gvYXJtL2JvYXJkcy9mcmVlc2NhbGUtbXg1My12bXg1My9ib2FyZC5jICB8IDE2ICsrKy0t LS0tLS0tLQo+ICAuLi4vYm9hcmRzL2ZyZWVzY2FsZS1teDYtc2FicmVsaXRlL2JvYXJkLmMgICAg fCAxNSArKystLS0tLS0tLQo+ICBhcmNoL2FybS9ib2FyZHMvZnJlZXNjYWxlLW14Ni1zYWJyZXNk L2JvYXJkLmMgfCAxNSArKystLS0tLS0tLQo+ICAuLi4vYm9hcmRzL2ZyZWVzY2FsZS1teDZzeC1z YWJyZXNkYi9ib2FyZC5jICAgfCAxNiArKystLS0tLS0tLS0KPiAgLi4uL2ZyZWVzY2FsZS1teDZz eC1zYWJyZXNkYi9sb3dsZXZlbC5jICAgICAgIHwgMTUgKystLS0tLS0tLS0KPiAgYXJjaC9hcm0v Ym9hcmRzL2ZyZWVzY2FsZS1teDctc2FicmVzZC9ib2FyZC5jIHwgMTggKysrLS0tLS0tLS0tLQo+ ICBhcmNoL2FybS9ib2FyZHMvZnJpZW5kbHlhcm0tbWluaTI0NDAvY29uZmlnLmggfCAxMyArKy0t LS0tLS0tCj4gIC4uLi9ib2FyZHMvZnJpZW5kbHlhcm0tbWluaTI0NDAvbWluaTI0NDAuYyAgICB8 IDE3ICsrKy0tLS0tLS0tLQo+ICAuLi4vYm9hcmRzL2ZyaWVuZGx5YXJtLW1pbmk2NDEwL21pbmk2 NDEwLmMgICAgfCAxNiArKystLS0tLS0tLS0KPiAgLi4uL2FybS9ib2FyZHMvZnJpZW5kbHlhcm0t dGlueTIxMC9sb3dsZXZlbC5jIHwgMTUgKystLS0tLS0tLS0KPiAgYXJjaC9hcm0vYm9hcmRzL2Zy aWVuZGx5YXJtLXRpbnkyMTAvdGlueTIxMC5jIHwgMTUgKysrLS0tLS0tLS0KPiAgLi4uL2ZyaWVu ZGx5YXJtLXRpbnk2NDEwL2RldmVsb3BtZW50LWJvYXJkLmMgIHwgMTcgKysrLS0tLS0tLS0tCj4g IC4uLi9ib2FyZHMvZnJpZW5kbHlhcm0tdGlueTY0MTAvdGlueTY0MTAuYyAgICB8IDE2ICsrKy0t LS0tLS0tLQo+ICAuLi4vYm9hcmRzL2ZyaWVuZGx5YXJtLXRpbnk2NDEwL3Rpbnk2NDEwLmggICAg fCAxMiArLS0tLS0tLS0KPiAgYXJjaC9hcm0vYm9hcmRzL2dhdGV3b3Jrcy12ZW50YW5hL2JvYXJk LmMgICAgIHwgMTUgKystLS0tLS0tLS0KPiAgYXJjaC9hcm0vYm9hcmRzL2dhdGV3b3Jrcy12ZW50 YW5hL2dzYy5jICAgICAgIHwgMTYgKysrLS0tLS0tLS0tCj4gIGFyY2gvYXJtL2JvYXJkcy9nYXRl d29ya3MtdmVudGFuYS9nc2MuaCAgICAgICB8IDE2ICsrKy0tLS0tLS0tLQo+ICBhcmNoL2FybS9i b2FyZHMvZ2s4MDIvYm9hcmQuYyAgICAgICAgICAgICAgICAgfCAxNSArKy0tLS0tLS0tLQo+ICBh cmNoL2FybS9ib2FyZHMvZ2xvYmFsc2NhbGUtZ3VydXBsdWcvYm9hcmQuYyAgfCAxNyArKy0tLS0t LS0tLS0KPiAgLi4uL2JvYXJkcy9nbG9iYWxzY2FsZS1ndXJ1cGx1Zy9sb3dsZXZlbC5jICAgIHwg MTcgKystLS0tLS0tLS0tCj4gIGFyY2gvYXJtL2JvYXJkcy9nbG9iYWxzY2FsZS1taXJhYm94L2Jv YXJkLmMgICB8IDE3ICsrLS0tLS0tLS0tLQo+ICAuLi4vYXJtL2JvYXJkcy9nbG9iYWxzY2FsZS1t aXJhYm94L2xvd2xldmVsLmMgfCAxNyArKy0tLS0tLS0tLS0KPiAgYXJjaC9hcm0vYm9hcmRzL2dy aW5uLWxpdGVib2FyZC9ib2FyZC5jICAgICAgIHwgMTggKysrLS0tLS0tLS0tLQo+ICBhcmNoL2Fy bS9ib2FyZHMvZ3Jpbm4tbGl0ZWJvYXJkL2xvd2xldmVsLmMgICAgfCAxOCArKystLS0tLS0tLS0t Cj4gIGFyY2gvYXJtL2JvYXJkcy9ndWYtY3VwaWQvTWFrZWZpbGUgICAgICAgICAgICB8IDE2ICsr LS0tLS0tLS0tLQo+ICBhcmNoL2FybS9ib2FyZHMvZ3VmLWN1cGlkL2JvYXJkLmMgICAgICAgICAg ICAgfCAyMiArKysrLS0tLS0tLS0tLS0tCj4gIGFyY2gvYXJtL2JvYXJkcy9ndWYtY3VwaWQvbG93 bGV2ZWwuYyAgICAgICAgICB8IDE4ICsrKy0tLS0tLS0tLS0KPiAgYXJjaC9hcm0vYm9hcmRzL2d1 Zi1uZXNvL2JvYXJkLmMgICAgICAgICAgICAgIHwgMTcgKystLS0tLS0tLS0tCj4gIGFyY2gvYXJt L2JvYXJkcy9ndWYtbmVzby9sb3dsZXZlbC5jICAgICAgICAgICB8IDE4ICsrKy0tLS0tLS0tLS0K PiAgYXJjaC9hcm0vYm9hcmRzL2d1Zi1zYW50YXJvL2JvYXJkLmMgICAgICAgICAgIHwgMTYgKysr LS0tLS0tLS0tCj4gIGFyY2gvYXJtL2JvYXJkcy9ndWYtdmluY2VsbC9ib2FyZC5jICAgICAgICAg ICB8IDE4ICsrKy0tLS0tLS0tLS0KPiAgYXJjaC9hcm0vYm9hcmRzL2hhYmEta254L2luaXQuYyAg ICAgICAgICAgICAgIHwgMTkgKysrLS0tLS0tLS0tLS0KPiAgLi4uL2JvYXJkcy9pbXgyMzMtb2xp bnV4aW5vL2lteDIzLW9saW51eGluby5jIHwgMTggKysrLS0tLS0tLS0tLQo+ICBhcmNoL2FybS9i b2FyZHMva2Fyby10eDI1L01ha2VmaWxlICAgICAgICAgICAgfCAxNiArKy0tLS0tLS0tLS0KPiAg YXJjaC9hcm0vYm9hcmRzL2thcm8tdHgyNS9ib2FyZC5jICAgICAgICAgICAgIHwgMTcgKystLS0t LS0tLS0tCj4gIGFyY2gvYXJtL2JvYXJkcy9rYXJvLXR4MjUvbG93bGV2ZWwuYyAgICAgICAgICB8 IDE4ICsrKy0tLS0tLS0tLS0KPiAgYXJjaC9hcm0vYm9hcmRzL2thcm8tdHgyOC90eDI4LXN0azUu YyAgICAgICAgIHwgMTUgKystLS0tLS0tLS0KPiAgYXJjaC9hcm0vYm9hcmRzL2thcm8tdHgyOC90 eDI4LmMgICAgICAgICAgICAgIHwgMTUgKystLS0tLS0tLS0KPiAgYXJjaC9hcm0vYm9hcmRzL2th cm8tdHg1MS90eDUxLmMgICAgICAgICAgICAgIHwgMTkgKysrLS0tLS0tLS0tLS0KPiAgYXJjaC9h cm0vYm9hcmRzL2thcm8tdHg1My9ib2FyZC5jICAgICAgICAgICAgIHwgMTcgKysrLS0tLS0tLS0t Cj4gIGFyY2gvYXJtL2JvYXJkcy9rYXJvLXR4NngvYm9hcmQuYyAgICAgICAgICAgICB8IDIwICsr KystLS0tLS0tLS0tCj4gIGFyY2gvYXJtL2JvYXJkcy9rYXJvLXR4NngvbG93bGV2ZWwuYyAgICAg ICAgICB8IDE1ICsrLS0tLS0tLS0tCj4gIGFyY2gvYXJtL2JvYXJkcy9rYXJvLXR4NngvcG1pYy1s dGMzNjc2LmMgICAgICB8IDE1ICsrLS0tLS0tLS0tCj4gIGFyY2gvYXJtL2JvYXJkcy9rYXJvLXR4 NngvcG1pYy1ybjV0NTY3LmMgICAgICB8IDE1ICsrLS0tLS0tLS0tCj4gIGFyY2gvYXJtL2JvYXJk cy9rYXJvLXR4NngvcG1pYy1ybjV0NjE4LmMgICAgICB8IDE1ICsrLS0tLS0tLS0tCj4gIGFyY2gv YXJtL2JvYXJkcy9raW5kbGUtbXg1MC9ib2FyZC5jICAgICAgICAgICB8IDE4ICsrKy0tLS0tLS0t LS0KPiAgYXJjaC9hcm0vYm9hcmRzL2tpbmRsZTMva2luZGxlMy5jICAgICAgICAgICAgIHwgMjEg KysrKy0tLS0tLS0tLS0tCj4gIGFyY2gvYXJtL2JvYXJkcy9raW5kbGUzL2xvd2xldmVsLmMgICAg ICAgICAgICB8IDIwICsrKy0tLS0tLS0tLS0tCj4gIGFyY2gvYXJtL2JvYXJkcy9sZW5vdm8taXg0 LTMwMGQvbG93bGV2ZWwuYyAgICB8IDE3ICsrLS0tLS0tLS0tLQo+ICBhcmNoL2FybS9ib2FyZHMv bHViYm9jay9ib2FyZC5jICAgICAgICAgICAgICAgfCAxNiArKy0tLS0tLS0tLS0KPiAgYXJjaC9h cm0vYm9hcmRzL21haW5zdG9uZS9ib2FyZC5jICAgICAgICAgICAgIHwgMTYgKystLS0tLS0tLS0t Cj4gIGFyY2gvYXJtL2JvYXJkcy9tYXJ2ZWxsLWFybWFkYS14cC1ncC9ib2FyZC5jICB8IDE3ICsr LS0tLS0tLS0tLQo+ICAuLi4vYm9hcmRzL21hcnZlbGwtYXJtYWRhLXhwLWdwL2xvd2xldmVsLmMg ICAgfCAxNyArKy0tLS0tLS0tLS0KPiAgYXJjaC9hcm0vYm9hcmRzL21pb2E3MDEvYm9hcmQuYyAg ICAgICAgICAgICAgIHwgMTYgKystLS0tLS0tLS0tCj4gIGFyY2gvYXJtL2JvYXJkcy9taW9hNzAx L2dwaW8wX3Bvd2Vyb2ZmLmMgICAgICB8IDE2ICsrLS0tLS0tLS0tLQo+ICBhcmNoL2FybS9ib2Fy ZHMvbWlvYTcwMS9taW9hNzAxLmggICAgICAgICAgICAgfCAxNyArKystLS0tLS0tLS0KPiAgYXJj aC9hcm0vYm9hcmRzL21vZHVsZS1tYjc3MDcvYm9hcmQuYyAgICAgICAgIHwgMTkgKysrLS0tLS0t LS0tLS0KPiAgYXJjaC9hcm0vYm9hcmRzL21vZHVsZS1tYjc3MDcvbG93bGV2ZWwuYyAgICAgIHwg MTkgKysrLS0tLS0tLS0tLS0KPiAgYXJjaC9hcm0vYm9hcmRzL214MzFtb2JvYXJkL01ha2VmaWxl ICAgICAgICAgIHwgMTYgKystLS0tLS0tLS0tCj4gIGFyY2gvYXJtL2JvYXJkcy9teDMxbW9ib2Fy ZC9sb3dsZXZlbC5jICAgICAgICB8IDIwICsrKy0tLS0tLS0tLS0tCj4gIGFyY2gvYXJtL2JvYXJk cy9teDMxbW9ib2FyZC9teDMxbW9ib2FyZC5jICAgICB8IDE4ICsrKy0tLS0tLS0tLS0KPiAgYXJj aC9hcm0vYm9hcmRzL25ldGdlYXItcm4yMTIwL2xvd2xldmVsLmMgICAgIHwgMTQgKystLS0tLS0t LQo+ICBhcmNoL2FybS9ib2FyZHMvbmhrODgxNS9zZXR1cC5jICAgICAgICAgICAgICAgfCAxNyAr Ky0tLS0tLS0tLS0KPiAgYXJjaC9hcm0vYm9hcmRzL254cC1pbXg2dWxsLWV2ay9ib2FyZC5jICAg ICAgIHwgMjAgKystLS0tLS0tLS0tLS0KPiAgYXJjaC9hcm0vYm9hcmRzL254cC1pbXg2dWxsLWV2 ay9sb3dsZXZlbC5jICAgIHwgMTEgKy0tLS0tLS0KPiAgYXJjaC9hcm0vYm9hcmRzL254cC1pbXg4 bW0tZXZrL2JvYXJkLmMgICAgICAgIHwgMjAgKystLS0tLS0tLS0tLS0KPiAgYXJjaC9hcm0vYm9h cmRzL254cC1pbXg4bXEtZXZrL2JvYXJkLmMgICAgICAgIHwgMjAgKystLS0tLS0tLS0tLS0KPiAg YXJjaC9hcm0vYm9hcmRzL29tYXAzNDN4ZHNwL2JvYXJkLmMgICAgICAgICAgIHwgMTggKystLS0t LS0tLS0tLQo+ICBhcmNoL2FybS9ib2FyZHMvb21hcDNldm0vYm9hcmQuYyAgICAgICAgICAgICAg fCAxOSArKystLS0tLS0tLS0tLQo+ICBhcmNoL2FybS9ib2FyZHMvcGFuZGEvbG93bGV2ZWwuYyAg ICAgICAgICAgICAgfCAxOCArKystLS0tLS0tLS0tCj4gIGFyY2gvYXJtL2JvYXJkcy9waHl0ZWMt cGh5Y2FyZC1pbXgyNy9wY2ExMDAuYyB8IDE3ICsrLS0tLS0tLS0tLQo+ICBhcmNoL2FybS9ib2Fy ZHMvcGh5dGVjLXBoeWNhcmQtb21hcDMvTWFrZWZpbGUgfCAxNCArKy0tLS0tLS0tCj4gIC4uLi9i b2FyZHMvcGh5dGVjLXBoeWNhcmQtb21hcDMvcGNhLWEtbDEuYyAgICB8IDE1ICsrKy0tLS0tLS0t Cj4gIC4uLi9ib2FyZHMvcGh5dGVjLXBoeWNhcmQtb21hcDMvcGNhLWEtbDEuaCAgICB8IDE3ICsr Ky0tLS0tLS0tLQo+ICBhcmNoL2FybS9ib2FyZHMvcGh5dGVjLXBoeWNhcmQtb21hcDQvTWFrZWZp bGUgfCAxNSArKystLS0tLS0tLQo+ICAuLi4vYm9hcmRzL3BoeXRlYy1waHljYXJkLW9tYXA0L2xv d2xldmVsLmMgICAgfCAxOCArKystLS0tLS0tLS0tCj4gIC4uLi9ib2FyZHMvcGh5dGVjLXBoeWNh cmQtb21hcDQvcGNhLWEteGwyLmMgICB8IDE3ICsrLS0tLS0tLS0tLQo+ICAuLi4vYm9hcmRzL3Bo eXRlYy1waHljb3JlLWlteDI3L2xvd2xldmVsLmMgICAgfCAxOCArKystLS0tLS0tLS0tCj4gIGFy Y2gvYXJtL2JvYXJkcy9waHl0ZWMtcGh5Y29yZS1pbXgyNy9wY20wMzguYyB8IDE1ICsrLS0tLS0t LS0tCj4gIGFyY2gvYXJtL2JvYXJkcy9waHl0ZWMtcGh5Y29yZS1pbXgyNy9wY205NzAuYyB8IDEz ICstLS0tLS0tLS0KPiAgYXJjaC9hcm0vYm9hcmRzL3BoeXRlYy1waHljb3JlLWlteDI3L3BsbC5o ICAgIHwgMTMgKy0tLS0tLS0tLQo+ICBhcmNoL2FybS9ib2FyZHMvcGh5dGVjLXBoeWNvcmUtaW14 MzEvTWFrZWZpbGUgfCAxNiArKy0tLS0tLS0tLS0KPiAgLi4uL2JvYXJkcy9waHl0ZWMtcGh5Y29y ZS1pbXgzMS9sb3dsZXZlbC5jICAgIHwgMTggKysrLS0tLS0tLS0tLQo+ICBhcmNoL2FybS9ib2Fy ZHMvcGh5dGVjLXBoeWNvcmUtaW14MzEvcGNtMDM3LmMgfCAyMCArKystLS0tLS0tLS0tLQo+ICBh cmNoL2FybS9ib2FyZHMvcGh5dGVjLXBoeWNvcmUtaW14MzUvTWFrZWZpbGUgfCAxNiArKy0tLS0t LS0tLS0KPiAgLi4uL2JvYXJkcy9waHl0ZWMtcGh5Y29yZS1pbXgzNS9sb3dsZXZlbC5jICAgIHwg MTggKysrLS0tLS0tLS0tLQo+ICBhcmNoL2FybS9ib2FyZHMvcGh5dGVjLXBoeWNvcmUtaW14MzUv cGNtMDQzLmMgfCAyMiArKysrLS0tLS0tLS0tLS0tCj4gIGFyY2gvYXJtL2JvYXJkcy9waHl0ZWMt cGh5Y29yZS1pbXg3L2JvYXJkLmMgICB8IDE1ICsrLS0tLS0tLS0tCj4gIC4uLi9ib2FyZHMvcGh5 dGVjLXBoeWNvcmUtb21hcDQ0NjAvYm9hcmQuYyAgICB8IDE3ICsrLS0tLS0tLS0tLQo+ICAuLi4v Ym9hcmRzL3BoeXRlYy1waHljb3JlLW9tYXA0NDYwL2xvd2xldmVsLmMgfCAxOCArKystLS0tLS0t LS0tCj4gIGFyY2gvYXJtL2JvYXJkcy9waHl0ZWMtcGh5Y29yZS1weGEyNzAvYm9hcmQuYyB8IDE5 ICsrKy0tLS0tLS0tLS0tCj4gIC4uLi9hcm0vYm9hcmRzL3BoeXRlYy1waHljb3JlLXB4YTI3MC9j b25maWcuaCB8IDI0ICsrKy0tLS0tLS0tLS0tLS0tCj4gIC4uLi9waHl0ZWMtcGh5Y29yZS1weGEy NzAvbG93bGV2ZWxfaW5pdC5TICAgICB8IDEzICsrLS0tLS0tLS0KPiAgYXJjaC9hcm0vYm9hcmRz L3BoeXRlYy1zb20tYW0zMzV4L2JvYXJkLmMgICAgIHwgMTYgKysrLS0tLS0tLS0tCj4gIGFyY2gv YXJtL2JvYXJkcy9waHl0ZWMtc29tLWFtMzM1eC9sb3dsZXZlbC5jICB8IDE2ICsrLS0tLS0tLS0t LQo+ICAuLi4vYm9hcmRzL3BoeXRlYy1zb20tYW0zMzV4L3JhbS10aW1pbmdzLmggICAgfCAxNiAr Ky0tLS0tLS0tLS0KPiAgYXJjaC9hcm0vYm9hcmRzL3BoeXRlYy1zb20taW14Ni9ib2FyZC5jICAg ICAgIHwgMjYgKysrKystLS0tLS0tLS0tLS0tLQo+ICBhcmNoL2FybS9ib2FyZHMvcGh5dGVjLXNv bS1pbXg2L2xvd2xldmVsLmMgICAgfCAxNyArKystLS0tLS0tLS0KPiAgYXJjaC9hcm0vYm9hcmRz L3BoeXRlYy1zb20tcmszMjg4L2JvYXJkLmMgICAgIHwgMTMgKysrLS0tLS0tLQo+ICBhcmNoL2Fy bS9ib2FyZHMvcGh5dGVjLXNvbS1yazMyODgvbG93bGV2ZWwuYyAgfCAxNyArKystLS0tLS0tLS0K PiAgLi4uL2JvYXJkcy9wbGF0aG9tZS1vcGVuYmxvY2tzLWE2L2xvd2xldmVsLmMgIHwgMTMgKy0t LS0tLS0tLQo+ICAuLi4vYm9hcmRzL3BsYXRob21lLW9wZW5ibG9ja3MtYXgzL2JvYXJkLmMgICAg fCAxNyArKy0tLS0tLS0tLS0KPiAgLi4uL2JvYXJkcy9wbGF0aG9tZS1vcGVuYmxvY2tzLWF4My9s b3dsZXZlbC5jIHwgMTcgKystLS0tLS0tLS0tCj4gIGFyY2gvYXJtL2JvYXJkcy9wbTkyNjEvaW5p dC5jICAgICAgICAgICAgICAgICB8IDIwICsrKy0tLS0tLS0tLS0tCj4gIGFyY2gvYXJtL2JvYXJk cy9wbTkyNjMvaW5pdC5jICAgICAgICAgICAgICAgICB8IDIwICsrKy0tLS0tLS0tLS0tCj4gIGFy Y2gvYXJtL2JvYXJkcy9wbTlnNDUvaW5pdC5jICAgICAgICAgICAgICAgICB8IDIwICsrKy0tLS0t LS0tLS0tCj4gIGFyY2gvYXJtL2JvYXJkcy9yYWR4YS1yb2NrL2JvYXJkLmMgICAgICAgICAgICB8 IDE0ICsrLS0tLS0tLS0KPiAgYXJjaC9hcm0vYm9hcmRzL3JhZHhhLXJvY2svbG93bGV2ZWwuYyAg ICAgICAgIHwgMTQgKystLS0tLS0tLQo+ICBhcmNoL2FybS9ib2FyZHMvcmFzcGJlcnJ5LXBpL3Jw aS1jb21tb24uYyAgICAgfCAxNiArKy0tLS0tLS0tLS0KPiAgYXJjaC9hcm0vYm9hcmRzL3NhbWE1 ZDNfeHBsYWluZWQvaW5pdC5jICAgICAgIHwgMTUgKystLS0tLS0tLS0KPiAgYXJjaC9hcm0vYm9h cmRzL3NhbWE1ZDN4ZWsvaHdfdmVyc2lvbi5jICAgICAgIHwgMTcgKystLS0tLS0tLS0tCj4gIGFy Y2gvYXJtL2JvYXJkcy9zYW1hNWQzeGVrL2h3X3ZlcnNpb24uaCAgICAgICB8IDE3ICsrLS0tLS0t LS0tLQo+ICBhcmNoL2FybS9ib2FyZHMvc2FtYTVkM3hlay9pbml0LmMgICAgICAgICAgICAgfCAx NyArKy0tLS0tLS0tLS0KPiAgYXJjaC9hcm0vYm9hcmRzL3NjYjkzMjgvbG93bGV2ZWxfaW5pdC5T ICAgICAgIHwgMTUgKystLS0tLS0tLS0KPiAgYXJjaC9hcm0vYm9hcmRzL3NjYjkzMjgvc2NiOTMy OC5jICAgICAgICAgICAgIHwgMTcgKystLS0tLS0tLS0tCj4gIGFyY2gvYXJtL2JvYXJkcy9zb2xp ZHJ1bi1jdWJveC9ib2FyZC5jICAgICAgICB8IDE3ICsrLS0tLS0tLS0tLQo+ICBhcmNoL2FybS9i b2FyZHMvc29saWRydW4tY3Vib3gvbG93bGV2ZWwuYyAgICAgfCAxOSArKystLS0tLS0tLS0tLQo+ ICAuLi4vMTA2Nm1oei00eDEyOG14MTYuaW14Y2ZnICAgICAgICAgICAgICAgICAgfCAxOSArKyst LS0tLS0tLS0tLQo+ICAuLi4vMTA2Nm1oei00eDI1Nm14MTYuaW14Y2ZnICAgICAgICAgICAgICAg ICAgfCAxOSArKystLS0tLS0tLS0tLQo+ICAuLi4vc29saWRydW4tbWljcm9zb20vMTA2Nm1oei02 NGIuaW14Y2ZnICAgICAgfCAxOSArKystLS0tLS0tLS0tLQo+ICAuLi4vc29saWRydW4tbWljcm9z b20vODAwbWh6LTJ4MTI4bXgxNi5pbXhjZmcgfCAxOSArKystLS0tLS0tLS0tLQo+ICAuLi4vc29s aWRydW4tbWljcm9zb20vODAwbWh6LTMyYi5pbXhjZmcgICAgICAgfCAxOSArKystLS0tLS0tLS0t LQo+ICAuLi4vc29saWRydW4tbWljcm9zb20vODAwbWh6LTR4MTI4bXgxNi5pbXhjZmcgfCAxOSAr KystLS0tLS0tLS0tLQo+ICAuLi4vc29saWRydW4tbWljcm9zb20vODAwbWh6LTY0Yi5pbXhjZmcg ICAgICAgfCAxOSArKystLS0tLS0tLS0tLQo+ICBhcmNoL2FybS9ib2FyZHMvc29saWRydW4tbWlj cm9zb20vYm9hcmQuYyAgICAgfCAxNSArKy0tLS0tLS0tLQo+ICAuLi4vYXJtL2JvYXJkcy90ZWNo bmV4aW9uLXBpY28taG9iYml0L2JvYXJkLmMgfCAyMCArKy0tLS0tLS0tLS0tLQo+ICBhcmNoL2Fy bS9ib2FyZHMvdGVjaG5leGlvbi13YW5kYm9hcmQvYm9hcmQuYyAgfCAxMSArLS0tLS0tLQo+ICAu Li4vYm9hcmRzL3RlY2huZXhpb24td2FuZGJvYXJkL2xvd2xldmVsLmMgICAgfCAxMSArLS0tLS0t LQo+ICBhcmNoL2FybS9ib2FyZHMvdGVsaXQtZXZrLXBybzMvaW5pdC5jICAgICAgICAgfCAxNyAr KystLS0tLS0tLS0KPiAgYXJjaC9hcm0vYm9hcmRzL3RueS1hOTI2eC9pbml0LmMgICAgICAgICAg ICAgIHwgMTcgKystLS0tLS0tLS0tCj4gIGFyY2gvYXJtL2JvYXJkcy90b3NoaWJhLWFjMTAwL2Jv YXJkLmMgICAgICAgICB8IDE4ICsrKy0tLS0tLS0tLS0KPiAgYXJjaC9hcm0vYm9hcmRzL3RxbWE1 My9ib2FyZC5jICAgICAgICAgICAgICAgIHwgMTYgKystLS0tLS0tLS0tCj4gIGFyY2gvYXJtL2Jv YXJkcy90cW1hNngvYm9hcmQuYyAgICAgICAgICAgICAgICB8IDIwICsrLS0tLS0tLS0tLS0tCj4g IGFyY2gvYXJtL2JvYXJkcy90cW1hNngvbG93bGV2ZWwuYyAgICAgICAgICAgICB8IDE3ICsrKy0t LS0tLS0tLQo+ICBhcmNoL2FybS9ib2FyZHMvdHVycmlzLW9tbmlhL2xvd2xldmVsLmMgICAgICAg fCAxNCArKy0tLS0tLS0tCj4gIGFyY2gvYXJtL2JvYXJkcy91ZG9vLW5lby9ib2FyZC5jICAgICAg ICAgICAgICB8IDE0ICsrLS0tLS0tLS0KPiAgYXJjaC9hcm0vYm9hcmRzL3Vkb28vYm9hcmQuYyAg ICAgICAgICAgICAgICAgIHwgMjEgKysrKy0tLS0tLS0tLS0tCj4gIGFyY2gvYXJtL2JvYXJkcy91 c2ItYTkyNngvaW5pdC5jICAgICAgICAgICAgICB8IDE3ICsrLS0tLS0tLS0tLQo+ICBhcmNoL2Fy bS9ib2FyZHMvdXNpLXRvcGtpY2svYm9hcmQuYyAgICAgICAgICAgfCAxNyArKy0tLS0tLS0tLS0K PiAgYXJjaC9hcm0vYm9hcmRzL3VzaS10b3BraWNrL2xvd2xldmVsLmMgICAgICAgIHwgMTcgKyst LS0tLS0tLS0tCj4gIGFyY2gvYXJtL2JvYXJkcy92YXJpc2NpdGUtbXg2L2JvYXJkLmMgICAgICAg ICB8IDE5ICsrKy0tLS0tLS0tLS0tCj4gIGFyY2gvYXJtL2JvYXJkcy92YXJpc2NpdGUtbXg2L2xv d2xldmVsLmMgICAgICB8IDIxICsrKystLS0tLS0tLS0tLQo+ICBhcmNoL2FybS9ib2FyZHMvdmVy c2F0aWxlL3ZlcnNhdGlsZXBiLmMgICAgICAgfCAxNyArKystLS0tLS0tLS0KPiAgYXJjaC9hcm0v Ym9hcmRzL3ZpcnQycmVhbC9ib2FyZC5jICAgICAgICAgICAgIHwgMTkgKysrLS0tLS0tLS0tLS0K PiAgYXJjaC9hcm0vYm9hcmRzL3ZpcnQycmVhbC9sb3dsZXZlbC5jICAgICAgICAgIHwgMTkgKysr LS0tLS0tLS0tLS0KPiAgYXJjaC9hcm0vYm9hcmRzL3ZzY29tLWJhbHRvcy9ib2FyZC5jICAgICAg ICAgIHwgMjAgKysrLS0tLS0tLS0tLS0KPiAgYXJjaC9hcm0vYm9hcmRzL3ppaS1jb21tb24vYm9h cmQuYyAgICAgICAgICAgIHwgMTUgKystLS0tLS0tLS0KPiAgYXJjaC9hcm0vYm9hcmRzL3ppaS1j b21tb24vcG4tZml4dXAuYyAgICAgICAgIHwgMTUgKystLS0tLS0tLS0KPiAgYXJjaC9hcm0vYm9h cmRzL3ppaS1jb21tb24vcG4tZml4dXAuaCAgICAgICAgIHwgMTUgKystLS0tLS0tLS0KPiAgYXJj aC9hcm0vYm9hcmRzL3ppaS1jb21tb24vc3dpdGNoLWNtZC5jICAgICAgIHwgMTYgKysrLS0tLS0t LS0tCj4gIGFyY2gvYXJtL2JvYXJkcy96aWktaW14NnEtcmR1Mi9ib2FyZC5jICAgICAgICB8IDE3 ICsrKy0tLS0tLS0tLQo+ICBhcmNoL2FybS9ib2FyZHMvemlpLWlteDZxLXJkdTIvbG93bGV2ZWwu YyAgICAgfCAxOCArKystLS0tLS0tLS0tCj4gIGFyY2gvYXJtL2JvYXJkcy96aWktdmY2MTAtZGV2 L2JvYXJkLmMgICAgICAgICB8IDE4ICsrKy0tLS0tLS0tLS0KPiAgYXJjaC9hcm0vYm9hcmRzL3pp aS12ZjYxMC1kZXYvbG93bGV2ZWwuYyAgICAgIHwgMTggKysrLS0tLS0tLS0tLQo+ICBhcmNoL2Fy bS9ib2FyZHMvenlsb25pdGUvYm9hcmQuYyAgICAgICAgICAgICAgfCAxNiArKy0tLS0tLS0tLS0K PiAgYXJjaC9hcm0vYm9hcmRzL3p5bG9uaXRlL3p5bG9uaXRlLmggICAgICAgICAgIHwgMTcgKysr LS0tLS0tLS0tCj4gIDI0MyBmaWxlcyBjaGFuZ2VkLCA2NDEgaW5zZXJ0aW9ucygrKSwgMzQ3NCBk ZWxldGlvbnMoLSkKPiAKPiBkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vYm9hcmRzL2E5bTI0MTAvYTlt MjQxMC5jIGIvYXJjaC9hcm0vYm9hcmRzL2E5bTI0MTAvYTltMjQxMC5jCj4gaW5kZXggNDRjZjUx YjIxMmVmLi5lMGRkZTM3M2Y4NjggMTAwNjQ0Cj4gLS0tIGEvYXJjaC9hcm0vYm9hcmRzL2E5bTI0 MTAvYTltMjQxMC5jCj4gKysrIGIvYXJjaC9hcm0vYm9hcmRzL2E5bTI0MTAvYTltMjQxMC5jCj4g QEAgLTEsMTggKzEsNSBAQAo+IC0vKgo+IC0gKiBDb3B5cmlnaHQgKEMpIDIwMDkgSnVlcmdlbiBC ZWlzZXJ0LCBQZW5ndXRyb25peAo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0 d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCj4gLSAqIG1vZGlmeSBpdCB1bmRl ciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzCj4gLSAqIHB1 Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAy IG9mCj4gLSAqIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJz aW9uLgo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUg dGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKPiAtICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3 aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKPiAtICogTUVSQ0hBTlRBQklMSVRZ IG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQo+IC0gKiBHTlUg R2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgo+IC0gKgo+IC0gKgo+IC0g Ki8KPiArLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb3ItbGF0ZXIKPiArLy8g U1BEWC1GaWxlQ29weXJpZ2h0VGV4dDogwqkgMjAwOSBKdWVyZ2VuIEJlaXNlcnQsIFBlbmd1dHJv bml4Cj4gIAo+ICAjaW5jbHVkZSA8Y29tbW9uLmg+Cj4gICNpbmNsdWRlIDxkcml2ZXIuaD4KPiBk aWZmIC0tZ2l0IGEvYXJjaC9hcm0vYm9hcmRzL2E5bTI0MTAvY29uZmlnLmggYi9hcmNoL2FybS9i b2FyZHMvYTltMjQxMC9jb25maWcuaAo+IGluZGV4IDFkYTk5ZWFjZWViNC4uZGJlNGJiMzJjYmMx IDEwMDY0NAo+IC0tLSBhL2FyY2gvYXJtL2JvYXJkcy9hOW0yNDEwL2NvbmZpZy5oCj4gKysrIGIv YXJjaC9hcm0vYm9hcmRzL2E5bTI0MTAvY29uZmlnLmgKPiBAQCAtMSwxOCArMSw5IEBACj4gKy8v IFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9yLWxhdGVyCj4gKwo+ICAvKioKPiAg ICogQGZpbGUKPiAgICogQGJyaWVmIEdsb2JhbCBkZWZpbnRpb25zIGZvciB0aGUgQVJNIFMzQzI0 MTAgYmFzZWQgYTltMjQxMCBDUFUgY2FyZAo+ICAgKi8KPiAtLyogVGhpcyBwcm9ncmFtIGlzIGZy ZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgo+IC0gKiBtb2RpZnkg aXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcwo+ IC0gKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZl cnNpb24gMiBvZgo+IC0gKiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0 ZXIgdmVyc2lvbi4KPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRo ZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCj4gLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJS QU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCj4gLSAqIE1FUkNIQU5U QUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4JIFNlZSB0aGUKPiAt ICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KPiAtICoKPiAt ICovCj4gIAo+ICAjaWZuZGVmIF9fQ09ORklHX0gKPiAgI2RlZmluZSBfX0NPTkZJR19ICj4gZGlm ZiAtLWdpdCBhL2FyY2gvYXJtL2JvYXJkcy9hOW0yNDQwL2E5bTI0MTBkZXYuYyBiL2FyY2gvYXJt L2JvYXJkcy9hOW0yNDQwL2E5bTI0MTBkZXYuYwo+IGluZGV4IGIxMTVjNGE5NTQ1MC4uZGY2OWIz ZmFkYWI3IDEwMDY0NAo+IC0tLSBhL2FyY2gvYXJtL2JvYXJkcy9hOW0yNDQwL2E5bTI0MTBkZXYu Ywo+ICsrKyBiL2FyY2gvYXJtL2JvYXJkcy9hOW0yNDQwL2E5bTI0MTBkZXYuYwo+IEBAIC0xLDE4 ICsxLDUgQEAKPiAtLyoKPiAtICogQ29weXJpZ2h0IChDKSAyMDA5IEp1ZXJnZW4gQmVpc2VydAo+ IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3Ry aWJ1dGUgaXQgYW5kL29yCj4gLSAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdO VSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzCj4gLSAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBT b2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mCj4gLSAqIHRoZSBMaWNlbnNl LCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgo+IC0gKgo+IC0gKiBUaGlz IHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1 bCwKPiAtICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxp ZWQgd2FycmFudHkgb2YKPiAtICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFS VElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQo+IC0gKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5z ZSBmb3IgbW9yZSBkZXRhaWxzLgo+IC0gKgo+IC0gKgo+IC0gKi8KPiArLy8gU1BEWC1MaWNlbnNl LUlkZW50aWZpZXI6IEdQTC0yLjAtb3ItbGF0ZXIKPiArLy8gU1BEWC1GaWxlQ29weXJpZ2h0VGV4 dDogwqkgMjAwOSBKdWVyZ2VuIEJlaXNlcnQKPiAgCj4gIC8qKgo+ICAgKiBAZmlsZQo+IGRpZmYg LS1naXQgYS9hcmNoL2FybS9ib2FyZHMvYTltMjQ0MC9hOW0yNDQwLmMgYi9hcmNoL2FybS9ib2Fy ZHMvYTltMjQ0MC9hOW0yNDQwLmMKPiBpbmRleCA1ODdiYWY2Y2ZkY2UuLmQ5ZmJmNTU3Mjk2YSAx MDA2NDQKPiAtLS0gYS9hcmNoL2FybS9ib2FyZHMvYTltMjQ0MC9hOW0yNDQwLmMKPiArKysgYi9h cmNoL2FybS9ib2FyZHMvYTltMjQ0MC9hOW0yNDQwLmMKPiBAQCAtMSwxOCArMSw1IEBACj4gLS8q Cj4gLSAqIENvcHlyaWdodCAoQykgMjAwOSBKdWVyZ2VuIEJlaXNlcnQsIFBlbmd1dHJvbml4Cj4g LSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJp YnV0ZSBpdCBhbmQvb3IKPiAtICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05V IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMKPiAtICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNv ZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YKPiAtICogdGhlIExpY2Vuc2Us IG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCj4gLSAqCj4gLSAqIFRoaXMg cHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVs LAo+IC0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGll ZCB3YXJyYW50eSBvZgo+IC0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJU SUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCj4gLSAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl IGZvciBtb3JlIGRldGFpbHMuCj4gLSAqCj4gLSAqCj4gLSAqLwo+ICsvLyBTUERYLUxpY2Vuc2Ut SWRlbnRpZmllcjogR1BMLTIuMC1vci1sYXRlcgo+ICsvLyBTUERYLUZpbGVDb3B5cmlnaHRUZXh0 OiDCqSAyMDA5IEp1ZXJnZW4gQmVpc2VydCwgUGVuZ3V0cm9uaXgKPiAgCj4gICNpbmNsdWRlIDxj b21tb24uaD4KPiAgI2luY2x1ZGUgPGRyaXZlci5oPgo+IGRpZmYgLS1naXQgYS9hcmNoL2FybS9i b2FyZHMvYTltMjQ0MC9iYXNlYm9hcmRzLmggYi9hcmNoL2FybS9ib2FyZHMvYTltMjQ0MC9iYXNl Ym9hcmRzLmgKPiBpbmRleCBmOTYzZWRmMWJjYzguLjgwNDRkZTUwZjEyNSAxMDA2NDQKPiAtLS0g YS9hcmNoL2FybS9ib2FyZHMvYTltMjQ0MC9iYXNlYm9hcmRzLmgKPiArKysgYi9hcmNoL2FybS9i b2FyZHMvYTltMjQ0MC9iYXNlYm9hcmRzLmgKPiBAQCAtMSwxOCArMSw1IEBACj4gLS8qCj4gLSAq IENvcHlyaWdodCAoQykgMjAwOSBKdWVyZ2VuIEJlaXNlcnQKPiAtICoKPiAtICogVGhpcyBwcm9n cmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgo+IC0g KiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGlj ZW5zZSBhcwo+IC0gKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsg ZWl0aGVyIHZlcnNpb24gMiBvZgo+IC0gKiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9u KSBhbnkgbGF0ZXIgdmVyc2lvbi4KPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1 dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCj4gLSAqIGJ1dCBXSVRIT1VU IEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCj4gLSAq IE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNl ZSB0aGUKPiAtICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4K PiAtICoKPiAtICoKPiAtICovCj4gKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4w LW9yLWxhdGVyCj4gKy8vIFNQRFgtRmlsZUNvcHlyaWdodFRleHQ6IMKpIDIwMDkgSnVlcmdlbiBC ZWlzZXJ0Cj4gIAo+ICAjaWZkZWYgQ09ORklHX01BQ0hfQTlNMjQxMERFVgo+ICBleHRlcm4gaW50 IGE5bTI0MTBkZXZfZGV2aWNlc19pbml0KHZvaWQpOwo+IGRpZmYgLS1naXQgYS9hcmNoL2FybS9i b2FyZHMvYTltMjQ0MC9jb25maWcuaCBiL2FyY2gvYXJtL2JvYXJkcy9hOW0yNDQwL2NvbmZpZy5o Cj4gaW5kZXggNzFkMTIyNWQxODFhLi5jMjJmZjUzMDM2MmMgMTAwNjQ0Cj4gLS0tIGEvYXJjaC9h cm0vYm9hcmRzL2E5bTI0NDAvY29uZmlnLmgKPiArKysgYi9hcmNoL2FybS9ib2FyZHMvYTltMjQ0 MC9jb25maWcuaAo+IEBAIC0xLDE4ICsxLDkgQEAKPiArLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZp ZXI6IEdQTC0yLjAtb3ItbGF0ZXIKPiArCj4gIC8qKgo+ICAgKiBAZmlsZQo+ICAgKiBAYnJpZWYg R2xvYmFsIGRlZmludGlvbnMgZm9yIHRoZSBBUk0gUzNDMjQ0MCBiYXNlZCBhOW0yNDQwIENQVSBj YXJkCj4gICAqLwo+IC0vKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiBy ZWRpc3RyaWJ1dGUgaXQgYW5kL29yCj4gLSAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2Yg dGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzCj4gLSAqIHB1Ymxpc2hlZCBieSB0aGUg RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mCj4gLSAqIHRoZSBM aWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgo+IC0gKgo+IC0g KiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJl IHVzZWZ1bCwKPiAtICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhl IGltcGxpZWQgd2FycmFudHkgb2YKPiAtICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9S IEEgUEFSVElDVUxBUiBQVVJQT1NFLgkgU2VlIHRoZQo+IC0gKiBHTlUgR2VuZXJhbCBQdWJsaWMg TGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgo+IC0gKgo+IC0gKi8KPiAgCj4gICNpZm5kZWYgX19D T05GSUdfSAo+ICAjZGVmaW5lIF9fQ09ORklHX0gKPiBkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vYm9h cmRzL2FkdmFudGVjaC1teDYvYm9hcmQuYyBiL2FyY2gvYXJtL2JvYXJkcy9hZHZhbnRlY2gtbXg2 L2JvYXJkLmMKPiBpbmRleCA0YTMwYTg0NWYxOGEuLmUwNjEzM2YxYjA4NyAxMDA2NDQKPiAtLS0g YS9hcmNoL2FybS9ib2FyZHMvYWR2YW50ZWNoLW14Ni9ib2FyZC5jCj4gKysrIGIvYXJjaC9hcm0v Ym9hcmRzL2FkdmFudGVjaC1teDYvYm9hcmQuYwo+IEBAIC0xLDE3ICsxLDUgQEAKPiAtLyoKPiAt ICogQ29weXJpZ2h0IChDKSAyMDE4IENocmlzdG9waCBGcml0eiA8Y2hmLmZyaXR6QGdvb2dsZW1h aWwuY29tPgo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNh biByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCj4gLSAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMg b2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzCj4gLSAqIHB1Ymxpc2hlZCBieSB0 aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mCj4gLSAqIHRo ZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgo+IC0gKgo+ IC0gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxs IGJlIHVzZWZ1bCwKPiAtICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4g dGhlIGltcGxpZWQgd2FycmFudHkgb2YKPiAtICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1Mg Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQo+IC0gKiBHTlUgR2VuZXJhbCBQdWJs aWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgo+IC0gKgo+IC0gKi8KPiArLy8gU1BEWC1MaWNl bnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb3ItbGF0ZXIKPiArLy8gU1BEWC1GaWxlQ29weXJpZ2h0 VGV4dDogwqkgMjAxOCBDaHJpc3RvcGggRnJpdHogPGNoZi5mcml0ekBnb29nbGVtYWlsLmNvbT4K PiAgCj4gICNpbmNsdWRlIDxjb21tb24uaD4KPiAgI2luY2x1ZGUgPGluaXQuaD4KPiBkaWZmIC0t Z2l0IGEvYXJjaC9hcm0vYm9hcmRzL2FkdmFudGVjaC1teDYvbG93bGV2ZWwuYyBiL2FyY2gvYXJt L2JvYXJkcy9hZHZhbnRlY2gtbXg2L2xvd2xldmVsLmMKPiBpbmRleCBkZTFkMzQ0ZGMxZjMuLjY2 MTJlMzY4YTEzNiAxMDA2NDQKPiAtLS0gYS9hcmNoL2FybS9ib2FyZHMvYWR2YW50ZWNoLW14Ni9s b3dsZXZlbC5jCj4gKysrIGIvYXJjaC9hcm0vYm9hcmRzL2FkdmFudGVjaC1teDYvbG93bGV2ZWwu Ywo+IEBAIC0xLDE3ICsxLDUgQEAKPiAtLyoKPiAtICogQ29weXJpZ2h0IChDKSAyMDE4IENocmlz dG9waCBGcml0eiA8Y2hmLmZyaXR6QGdvb2dsZW1haWwuY29tPgo+IC0gKgo+IC0gKiBUaGlzIHBy b2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCj4g LSAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBM aWNlbnNlIGFzCj4gLSAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u OyBlaXRoZXIgdmVyc2lvbiAyIG9mCj4gLSAqIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRp b24pIGFueSBsYXRlciB2ZXJzaW9uLgo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJp YnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKPiAtICogYnV0IFdJVEhP VVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKPiAt ICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAg U2VlIHRoZQo+IC0gKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxz Lgo+IC0gKgo+IC0gKi8KPiArLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb3It bGF0ZXIKPiArLy8gU1BEWC1GaWxlQ29weXJpZ2h0VGV4dDogwqkgMjAxOCBDaHJpc3RvcGggRnJp dHogPGNoZi5mcml0ekBnb29nbGVtYWlsLmNvbT4KPiAgCj4gICNpbmNsdWRlIDxkZWJ1Z19sbC5o Pgo+ICAjaW5jbHVkZSA8Y29tbW9uLmg+Cj4gZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2JvYXJkcy9h ZmktZ2YvYm9hcmQuYyBiL2FyY2gvYXJtL2JvYXJkcy9hZmktZ2YvYm9hcmQuYwo+IGluZGV4IDE0 ZTI2MDM5MTA3My4uMWI2NDNhMTliMmY4IDEwMDY0NAo+IC0tLSBhL2FyY2gvYXJtL2JvYXJkcy9h ZmktZ2YvYm9hcmQuYwo+ICsrKyBiL2FyY2gvYXJtL2JvYXJkcy9hZmktZ2YvYm9hcmQuYwo+IEBA IC0xLDE3ICsxLDUgQEAKPiAtLyoKPiAtICogQ29weXJpZ2h0IChDKSAyMDEyIEphbiBMdWViYmUg PGoubHVlYmJlQHBlbmd1dHJvbml4LmRlPgo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZnJl ZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQo+IC0gKiBp dCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1 Ymxpc2hlZCBieQo+IC0gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVy c2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgo+IC0gKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRl ciB2ZXJzaW9uLgo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhl IGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKPiAtICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJB TlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKPiAtICogTUVSQ0hBTlRB QklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQo+IC0g KiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgo+IC0gKgo+IC0g Ki8KPiArLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb3ItbGF0ZXIKPiArLy8g U1BEWC1GaWxlQ29weXJpZ2h0VGV4dDogwqkgMjAxMiBKYW4gTHVlYmJlIDxqLmx1ZWJiZUBwZW5n dXRyb25peC5kZT4KPiAgCj4gICNpbmNsdWRlIDxjb21tb24uaD4KPiAgI2luY2x1ZGUgPHN0cmlu Zy5oPgo+IGRpZmYgLS1naXQgYS9hcmNoL2FybS9ib2FyZHMvYWZpLWdmL2NvbmZpZy5oIGIvYXJj aC9hcm0vYm9hcmRzL2FmaS1nZi9jb25maWcuaAo+IGluZGV4IGFlZWRhMzY5NWIxNy4uYTA0MmI4 ZjBjNTQwIDEwMDY0NAo+IC0tLSBhL2FyY2gvYXJtL2JvYXJkcy9hZmktZ2YvY29uZmlnLmgKPiAr KysgYi9hcmNoL2FybS9ib2FyZHMvYWZpLWdmL2NvbmZpZy5oCj4gQEAgLTEsMjAgKzEsNSBAQAo+ IC0vKgo+IC0gKiBDb3B5cmlnaHQgKEMpIDIwMTIgSmFuIEx1ZWJiZSA8ai5sdWViYmVAcGVuZ3V0 cm9uaXguZGU+Cj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3Ug Y2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Cj4gLSAqIGl0IHVuZGVyIHRoZSB0ZXJt cyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Cj4gLSAq IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExp Y2Vuc2UsIG9yCj4gLSAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCj4gLSAq Cj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdp bGwgYmUgdXNlZnVsLAo+IC0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZl biB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgo+IC0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVT UyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCj4gLSAqIEdOVSBHZW5lcmFsIFB1 YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCj4gLSAqCj4gLSAqIFlvdSBzaG91bGQgaGF2 ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFsb25n Cj4gLSAqIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3 YXJlIEZvdW5kYXRpb24sIEluYy4sCj4gLSAqIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxv b3IsIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSBVU0EuCj4gLSAqLwo+ICsvLyBTUERYLUxpY2Vuc2Ut SWRlbnRpZmllcjogR1BMLTIuMC1vci1sYXRlcgo+ICsvLyBTUERYLUZpbGVDb3B5cmlnaHRUZXh0 OiDCqSAyMDEyIEphbiBMdWViYmUgPGoubHVlYmJlQHBlbmd1dHJvbml4LmRlPgo+ICAKPiAgI2lm bmRlZiBfX0NPTkZJR19ICj4gICNkZWZpbmUgX19DT05GSUdfSAo+IGRpZmYgLS1naXQgYS9hcmNo L2FybS9ib2FyZHMvYXJjaG9zZzkvYXJjaG9zX2ZlYXR1cmVzLmMgYi9hcmNoL2FybS9ib2FyZHMv YXJjaG9zZzkvYXJjaG9zX2ZlYXR1cmVzLmMKPiBpbmRleCAwY2ZmYWM3NzgwOGYuLjg2NDJkMzQ0 YTU2MyAxMDA2NDQKPiAtLS0gYS9hcmNoL2FybS9ib2FyZHMvYXJjaG9zZzkvYXJjaG9zX2ZlYXR1 cmVzLmMKPiArKysgYi9hcmNoL2FybS9ib2FyZHMvYXJjaG9zZzkvYXJjaG9zX2ZlYXR1cmVzLmMK PiBAQCAtMSwxNCArMSw1IEBACj4gLS8qCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3 YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Cj4gLSAqIGl0IHVuZGVy IHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVk IGJ5Cj4gLSAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIg b2YgdGhlIExpY2Vuc2UsIG9yCj4gLSAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNp b24uCj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0 aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAo+IC0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdp dGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgo+IC0gKiBNRVJDSEFOVEFCSUxJVFkg b3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUKPiAtICogR05VIEdl bmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KPiAtICovCj4gKy8vIFNQRFgt TGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9yLWxhdGVyCj4gKwo+ICAjaW5jbHVkZSA8Y29t bW9uLmg+Cj4gICNpbmNsdWRlIDxhc20vc2V0dXAuaD4KPiAgI2luY2x1ZGUgImFyY2hvc19mZWF0 dXJlcy5oIgo+IGRpZmYgLS1naXQgYS9hcmNoL2FybS9ib2FyZHMvYXJjaG9zZzkvYm9hcmQuYyBi L2FyY2gvYXJtL2JvYXJkcy9hcmNob3NnOS9ib2FyZC5jCj4gaW5kZXggNTJmN2U4NmZiZWZmLi4z Mjg5Y2ZkYTNkNjQgMTAwNjQ0Cj4gLS0tIGEvYXJjaC9hcm0vYm9hcmRzL2FyY2hvc2c5L2JvYXJk LmMKPiArKysgYi9hcmNoL2FybS9ib2FyZHMvYXJjaG9zZzkvYm9hcmQuYwo+IEBAIC0xLDE0ICsx LDQgQEAKPiAtLyoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4g cmVkaXN0cmlidXRlIGl0IGFuZC9vcgo+IC0gKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9m IHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcwo+IC0gKiBwdWJsaXNoZWQgYnkgdGhl IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZgo+IC0gKiB0aGUg TGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KPiAtICoKPiAt ICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBi ZSB1c2VmdWwsCj4gLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRo ZSBpbXBsaWVkIHdhcnJhbnR5IG9mCj4gLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZP UiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKPiAtICogR05VIEdlbmVyYWwgUHVibGlj IExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KPiAtICovCj4gKy8vIFNQRFgtTGljZW5zZS1JZGVu dGlmaWVyOiBHUEwtMi4wLW9yLWxhdGVyCj4gIAo+ICAjaW5jbHVkZSA8Y29tbW9uLmg+Cj4gICNp bmNsdWRlIDxjbG9jay5oPgo+IGRpZmYgLS1naXQgYS9hcmNoL2FybS9ib2FyZHMvYXJjaG9zZzkv bG93bGV2ZWwuYyBiL2FyY2gvYXJtL2JvYXJkcy9hcmNob3NnOS9sb3dsZXZlbC5jCj4gaW5kZXgg YjEwNDVhNDRlZDc0Li5mMzFlZjFhN2YyMWIgMTAwNjQ0Cj4gLS0tIGEvYXJjaC9hcm0vYm9hcmRz L2FyY2hvc2c5L2xvd2xldmVsLmMKPiArKysgYi9hcmNoL2FybS9ib2FyZHMvYXJjaG9zZzkvbG93 bGV2ZWwuYwo+IEBAIC0xLDE0ICsxLDQgQEAKPiAtLyoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGZy ZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgo+IC0gKiBtb2RpZnkg aXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcwo+ IC0gKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZl cnNpb24gMiBvZgo+IC0gKiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0 ZXIgdmVyc2lvbi4KPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRo ZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCj4gLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJS QU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCj4gLSAqIE1FUkNIQU5U QUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKPiAt ICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KPiAtICovCj4g Ky8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9yLWxhdGVyCj4gIAo+ICAjaW5j bHVkZSA8Y29tbW9uLmg+Cj4gICNpbmNsdWRlIDxpby5oPgo+IGRpZmYgLS1naXQgYS9hcmNoL2Fy bS9ib2FyZHMvYXJjaG9zZzkvbXV4LmMgYi9hcmNoL2FybS9ib2FyZHMvYXJjaG9zZzkvbXV4LmMK PiBpbmRleCBjZTNjYWUzOGNiNWEuLmRjODUyNzEyMDgwNSAxMDA2NDQKPiAtLS0gYS9hcmNoL2Fy bS9ib2FyZHMvYXJjaG9zZzkvbXV4LmMKPiArKysgYi9hcmNoL2FybS9ib2FyZHMvYXJjaG9zZzkv bXV4LmMKPiBAQCAtMSwxNCArMSw0IEBACj4gLS8qCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVl IHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKPiAtICogbW9kaWZ5IGl0 IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMKPiAt ICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJz aW9uIDIgb2YKPiAtICogdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVy IHZlcnNpb24uCj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUg aG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAo+IC0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFO VFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgo+IC0gKiBNRVJDSEFOVEFC SUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCj4gLSAq IEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCj4gLSAqLwo+ICsv LyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vci1sYXRlcgo+ICAKPiAgI2luY2x1 ZGUgPGNvbW1vbi5oPgo+ICAjaW5jbHVkZSA8aW5pdC5oPgo+IGRpZmYgLS1naXQgYS9hcmNoL2Fy bS9ib2FyZHMvYXQ5MXJtOTIwMGVrL2luaXQuYyBiL2FyY2gvYXJtL2JvYXJkcy9hdDkxcm05MjAw ZWsvaW5pdC5jCj4gaW5kZXggMmQ5MzE4NTc1Y2Y1Li45MDRjZGI5YzVlNzIgMTAwNjQ0Cj4gLS0t IGEvYXJjaC9hcm0vYm9hcmRzL2F0OTFybTkyMDBlay9pbml0LmMKPiArKysgYi9hcmNoL2FybS9i b2FyZHMvYXQ5MXJtOTIwMGVrL2luaXQuYwo+IEBAIC0xLDE4ICsxLDUgQEAKPiAtLyoKPiAtICog Q29weXJpZ2h0IChDKSAyMDA5LTIwMTEgSmVhbi1DaHJpc3RvcGhlIFBMQUdOSU9MLVZJTExBUkQg PHBsYWduaW9AamNyb3NvZnQuY29tPgo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBz b2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCj4gLSAqIG1vZGlmeSBpdCB1 bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzCj4gLSAq IHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lv biAyIG9mCj4gLSAqIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2 ZXJzaW9uLgo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhv cGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKPiAtICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZ OyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKPiAtICogTUVSQ0hBTlRBQklM SVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQo+IC0gKiBH TlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgo+IC0gKgo+IC0gKgo+ IC0gKi8KPiArLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb3ItbGF0ZXIKPiAr Ly8gU1BEWC1GaWxlQ29weXJpZ2h0VGV4dDogwqkgMjAwOS0yMDExIEplYW4tQ2hyaXN0b3BoZSBQ TEFHTklPTC1WSUxMQVJEIDxwbGFnbmlvQGpjcm9zb2Z0LmNvbT4KPiAgCj4gICNpbmNsdWRlIDxj b21tb24uaD4KPiAgI2luY2x1ZGUgPG5ldC5oPgo+IGRpZmYgLS1naXQgYS9hcmNoL2FybS9ib2Fy ZHMvYXQ5MXNhbTkyNjBlay9pbml0LmMgYi9hcmNoL2FybS9ib2FyZHMvYXQ5MXNhbTkyNjBlay9p bml0LmMKPiBpbmRleCAwMzdmNDZhNzhkYmMuLjBjODQwMTAyNDEyZCAxMDA2NDQKPiAtLS0gYS9h cmNoL2FybS9ib2FyZHMvYXQ5MXNhbTkyNjBlay9pbml0LmMKPiArKysgYi9hcmNoL2FybS9ib2Fy ZHMvYXQ5MXNhbTkyNjBlay9pbml0LmMKPiBAQCAtMSwxNiArMSw1IEBACj4gLS8qCj4gLSAqIENv cHlyaWdodCAoQykgMjAwNyBTYXNjaGEgSGF1ZXIsIFBlbmd1dHJvbml4Cj4gLSAqCj4gLSAqIFRo aXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQv b3IKPiAtICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVi bGljIExpY2Vuc2UgYXMKPiAtICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5k YXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YKPiAtICogdGhlIExpY2Vuc2UsIG9yIChhdCB5b3Vy IG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBk aXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAo+IC0gKiBidXQg V0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBv Zgo+IC0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP U0UuICBTZWUgdGhlCj4gLSAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRl dGFpbHMuCj4gLSAqLwo+ICsvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vci1s YXRlcgo+ICsvLyBTUERYLUZpbGVDb3B5cmlnaHRUZXh0OiDCqSAyMDA3IFNhc2NoYSBIYXVlciwg UGVuZ3V0cm9uaXgKPiAgCj4gICNpbmNsdWRlIDxjb21tb24uaD4KPiAgI2luY2x1ZGUgPGluaXQu aD4KPiBkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vYm9hcmRzL2F0OTFzYW05MjYxZWsvaW5pdC5jIGIv YXJjaC9hcm0vYm9hcmRzL2F0OTFzYW05MjYxZWsvaW5pdC5jCj4gaW5kZXggYTQ2OWRiYTkyZTYx Li40Y2MyNmMwOTgwZmYgMTAwNjQ0Cj4gLS0tIGEvYXJjaC9hcm0vYm9hcmRzL2F0OTFzYW05MjYx ZWsvaW5pdC5jCj4gKysrIGIvYXJjaC9hcm0vYm9hcmRzL2F0OTFzYW05MjYxZWsvaW5pdC5jCj4g QEAgLTEsMTggKzEsNSBAQAo+IC0vKgo+IC0gKiBDb3B5cmlnaHQgKEMpIDIwMDcgU2FzY2hhIEhh dWVyLCBQZW5ndXRyb25peAo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2Fy ZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCj4gLSAqIG1vZGlmeSBpdCB1bmRlciB0 aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzCj4gLSAqIHB1Ymxp c2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9m Cj4gLSAqIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9u Lgo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhh dCBpdCB3aWxsIGJlIHVzZWZ1bCwKPiAtICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRo b3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKPiAtICogTUVSQ0hBTlRBQklMSVRZIG9y IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQo+IC0gKiBHTlUgR2Vu ZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgo+IC0gKgo+IC0gKgo+IC0gKi8K PiArLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb3ItbGF0ZXIKPiArLy8gU1BE WC1GaWxlQ29weXJpZ2h0VGV4dDogwqkgMjAwNyBTYXNjaGEgSGF1ZXIsIFBlbmd1dHJvbml4Cj4g IAo+ICAjaW5jbHVkZSA8Y29tbW9uLmg+Cj4gICNpbmNsdWRlIDxuZXQuaD4KPiBkaWZmIC0tZ2l0 IGEvYXJjaC9hcm0vYm9hcmRzL2F0OTFzYW05MjYzZWsvaW5pdC5jIGIvYXJjaC9hcm0vYm9hcmRz L2F0OTFzYW05MjYzZWsvaW5pdC5jCj4gaW5kZXggZjc0NjFjZTA0MTdhLi45MTMzMWQxZWJkOWMg MTAwNjQ0Cj4gLS0tIGEvYXJjaC9hcm0vYm9hcmRzL2F0OTFzYW05MjYzZWsvaW5pdC5jCj4gKysr IGIvYXJjaC9hcm0vYm9hcmRzL2F0OTFzYW05MjYzZWsvaW5pdC5jCj4gQEAgLTEsMjAgKzEsNiBA QAo+IC0vKgo+IC0gKiBDb3B5cmlnaHQgKEMpIDIwMDkgSmVhbi1DaHJpc3RvcGhlIFBMQUdOSU9M LVZJTExBUkQgPHBsYWduaW9AamNyb3NvZnQuY29tPgo+IC0gKgo+IC0gKiBDb3B5cmlnaHQgKEMp IDIwMDcgU2FzY2hhIEhhdWVyLCBQZW5ndXRyb25peAo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0g aXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCj4gLSAqIG1v ZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl IGFzCj4gLSAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRo ZXIgdmVyc2lvbiAyIG9mCj4gLSAqIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFu eSBsYXRlciB2ZXJzaW9uLgo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQg aW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKPiAtICogYnV0IFdJVEhPVVQgQU5Z IFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKPiAtICogTUVS Q0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRo ZQo+IC0gKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgo+IC0g Kgo+IC0gKgo+IC0gKi8KPiArLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb3It bGF0ZXIKPiArLy8gU1BEWC1GaWxlQ29weXJpZ2h0VGV4dDogwqkgMjAwOSBKZWFuLUNocmlzdG9w aGUgUExBR05JT0wtVklMTEFSRCA8cGxhZ25pb0BqY3Jvc29mdC5jb20+Cj4gKy8vIFNQRFgtRmls ZUNvcHlyaWdodFRleHQ6IMKpIDIwMDcgU2FzY2hhIEhhdWVyLCBQZW5ndXRyb25peAo+ICAKPiAg I2luY2x1ZGUgPGNvbW1vbi5oPgo+ICAjaW5jbHVkZSA8bmV0Lmg+Cj4gZGlmZiAtLWdpdCBhL2Fy Y2gvYXJtL2JvYXJkcy9hdDkxc2FtOTI2M2VrL29mX2luaXQuYyBiL2FyY2gvYXJtL2JvYXJkcy9h dDkxc2FtOTI2M2VrL29mX2luaXQuYwo+IGluZGV4IDI1OTI4N2NjYjUxNi4uNGYwMjczZmYzNzJi IDEwMDY0NAo+IC0tLSBhL2FyY2gvYXJtL2JvYXJkcy9hdDkxc2FtOTI2M2VrL29mX2luaXQuYwo+ ICsrKyBiL2FyY2gvYXJtL2JvYXJkcy9hdDkxc2FtOTI2M2VrL29mX2luaXQuYwo+IEBAIC0xLDE2 ICsxLDUgQEAKPiAtLyoKPiAtICogQ29weXJpZ2h0IChDKSAyMDE3IFNhbSBSYXZuYm9yZyA8c2Ft QHJhdm5ib3JnLm9yZz4KPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7 IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgo+IC0gKiBtb2RpZnkgaXQgdW5kZXIgdGhl IHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcwo+IC0gKiBwdWJsaXNo ZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZgo+ IC0gKiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4K PiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQg aXQgd2lsbCBiZSB1c2VmdWwsCj4gLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91 dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCj4gLSAqIE1FUkNIQU5UQUJJTElUWSBvciBG SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKPiAtICogR05VIEdlbmVy YWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KPiAtICovCj4gKy8vIFNQRFgtTGlj ZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9yLWxhdGVyCj4gKy8vIFNQRFgtRmlsZUNvcHlyaWdo dFRleHQ6IMKpIDIwMTcgU2FtIFJhdm5ib3JnIDxzYW1AcmF2bmJvcmcub3JnPgo+ICAKPiAgI2lu Y2x1ZGUgPGNvbW1vbi5oPgo+ICAjaW5jbHVkZSA8ZW52ZnMuaD4KPiBkaWZmIC0tZ2l0IGEvYXJj aC9hcm0vYm9hcmRzL2F0OTFzYW05bTEwZzQ1ZWsvaW5pdC5jIGIvYXJjaC9hcm0vYm9hcmRzL2F0 OTFzYW05bTEwZzQ1ZWsvaW5pdC5jCj4gaW5kZXggMjY2MDEwNDk0NmE4Li43MDcwNmEwYjA4ZmEg MTAwNjQ0Cj4gLS0tIGEvYXJjaC9hcm0vYm9hcmRzL2F0OTFzYW05bTEwZzQ1ZWsvaW5pdC5jCj4g KysrIGIvYXJjaC9hcm0vYm9hcmRzL2F0OTFzYW05bTEwZzQ1ZWsvaW5pdC5jCj4gQEAgLTEsMjAg KzEsNiBAQAo+IC0vKgo+IC0gKiBDb3B5cmlnaHQgKEMpIDIwMDkgSmVhbi1DaHJpc3RvcGhlIFBM QUdOSU9MLVZJTExBUkQgPHBsYWduaW9AamNyb3NvZnQuY29tPgo+IC0gKgo+IC0gKiBDb3B5cmln aHQgKEMpIDIwMDcgU2FzY2hhIEhhdWVyLCBQZW5ndXRyb25peAo+IC0gKgo+IC0gKiBUaGlzIHBy b2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCj4g LSAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBM aWNlbnNlIGFzCj4gLSAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u OyBlaXRoZXIgdmVyc2lvbiAyIG9mCj4gLSAqIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRp b24pIGFueSBsYXRlciB2ZXJzaW9uLgo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJp YnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKPiAtICogYnV0IFdJVEhP VVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKPiAt ICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAg U2VlIHRoZQo+IC0gKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxz Lgo+IC0gKgo+IC0gKgo+IC0gKi8KPiArLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0y LjAtb3ItbGF0ZXIKPiArLy8gU1BEWC1GaWxlQ29weXJpZ2h0VGV4dDogwqkgMjAwOSBKZWFuLUNo cmlzdG9waGUgUExBR05JT0wtVklMTEFSRCA8cGxhZ25pb0BqY3Jvc29mdC5jb20+Cj4gKy8vIFNQ RFgtRmlsZUNvcHlyaWdodFRleHQ6IMKpIDIwMDcgU2FzY2hhIEhhdWVyLCBQZW5ndXRyb25peAo+ ICAKPiAgI2luY2x1ZGUgPGNvbW1vbi5oPgo+ICAjaW5jbHVkZSA8bmV0Lmg+Cj4gZGlmZiAtLWdp dCBhL2FyY2gvYXJtL2JvYXJkcy9hdDkxc2FtOW0xMGloZC9od192ZXJzaW9uLmMgYi9hcmNoL2Fy bS9ib2FyZHMvYXQ5MXNhbTltMTBpaGQvaHdfdmVyc2lvbi5jCj4gaW5kZXggY2FiMjZiMGFjNGZl Li5lNmIzZWIwZmY4ZTAgMTAwNjQ0Cj4gLS0tIGEvYXJjaC9hcm0vYm9hcmRzL2F0OTFzYW05bTEw aWhkL2h3X3ZlcnNpb24uYwo+ICsrKyBiL2FyY2gvYXJtL2JvYXJkcy9hdDkxc2FtOW0xMGloZC9o d192ZXJzaW9uLmMKPiBAQCAtMSwxOCArMSw1IEBACj4gLS8qCj4gLSAqIENvcHlyaWdodCAoQykg MjAxMi0yMDEzIEplYW4tQ2hyaXN0b3BoZSBQTEFHTklPTC1WSUxMQVJEIDxwbGFnbmlvakBqY3Jv c29mdC5jb20+Cj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3Ug Y2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKPiAtICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJt cyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMKPiAtICogcHVibGlzaGVkIGJ5 IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YKPiAtICog dGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCj4gLSAq Cj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdp bGwgYmUgdXNlZnVsLAo+IC0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZl biB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgo+IC0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVT UyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCj4gLSAqIEdOVSBHZW5lcmFsIFB1 YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCj4gLSAqCj4gLSAqCj4gLSAqLwo+ICsvLyBT UERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vci1sYXRlcgo+ICsvLyBTUERYLUZpbGVD b3B5cmlnaHRUZXh0OiDCqSAyMDEyLTIwMTMgSmVhbi1DaHJpc3RvcGhlIFBMQUdOSU9MLVZJTExB UkQgPHBsYWduaW9qQGpjcm9zb2Z0LmNvbT4KPiAgCj4gICNpbmNsdWRlIDxjb21tb24uaD4KPiAg I2luY2x1ZGUgPGZzLmg+Cj4gZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2JvYXJkcy9hdDkxc2FtOW0x MGloZC9od192ZXJzaW9uLmggYi9hcmNoL2FybS9ib2FyZHMvYXQ5MXNhbTltMTBpaGQvaHdfdmVy c2lvbi5oCj4gaW5kZXggYjkxMzM0NDBkM2JiLi41NDk3YzUyMTM2MGIgMTAwNjQ0Cj4gLS0tIGEv YXJjaC9hcm0vYm9hcmRzL2F0OTFzYW05bTEwaWhkL2h3X3ZlcnNpb24uaAo+ICsrKyBiL2FyY2gv YXJtL2JvYXJkcy9hdDkxc2FtOW0xMGloZC9od192ZXJzaW9uLmgKPiBAQCAtMSwxOCArMSw1IEBA Cj4gLS8qCj4gLSAqIENvcHlyaWdodCAoQykgMjAxMi0yMDEzIEplYW4tQ2hyaXN0b3BoZSBQTEFH TklPTC1WSUxMQVJEIDxwbGFnbmlvakBqY3Jvc29mdC5jb20+Cj4gLSAqCj4gLSAqIFRoaXMgcHJv Z3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKPiAt ICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExp Y2Vuc2UgYXMKPiAtICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247 IGVpdGhlciB2ZXJzaW9uIDIgb2YKPiAtICogdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlv bikgYW55IGxhdGVyIHZlcnNpb24uCj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmli dXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAo+IC0gKiBidXQgV0lUSE9V VCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgo+IC0g KiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBT ZWUgdGhlCj4gLSAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMu Cj4gLSAqCj4gLSAqCj4gLSAqLwo+ICsvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIu MC1vci1sYXRlcgo+ICsvLyBTUERYLUZpbGVDb3B5cmlnaHRUZXh0OiDCqSAyMDEyLTIwMTMgSmVh bi1DaHJpc3RvcGhlIFBMQUdOSU9MLVZJTExBUkQgPHBsYWduaW9qQGpjcm9zb2Z0LmNvbT4KPiAg Cj4gICNpZm5kZWYgX19IV19SRVZJU0lPTl9IX18KPiAgI2RlZmluZSBfX0hXX1JFVklTSU9OX0hf Xwo+IGRpZmYgLS1naXQgYS9hcmNoL2FybS9ib2FyZHMvYXQ5MXNhbTluMTJlay9pbml0LmMgYi9h cmNoL2FybS9ib2FyZHMvYXQ5MXNhbTluMTJlay9pbml0LmMKPiBpbmRleCA3MmM2ZmY4NGVlOGIu LmVhYzc0ZDQ1NzQzOCAxMDA2NDQKPiAtLS0gYS9hcmNoL2FybS9ib2FyZHMvYXQ5MXNhbTluMTJl ay9pbml0LmMKPiArKysgYi9hcmNoL2FybS9ib2FyZHMvYXQ5MXNhbTluMTJlay9pbml0LmMKPiBA QCAtMSwxOCArMSw1IEBACj4gLS8qCj4gLSAqIENvcHlyaWdodCAoQykgMjAxMiBKZWFuLUNocmlz dG9waGUgUExBR05JT0wtVklMTEFSRCA8cGxhZ25pb2pAamNyb3NvZnQuY29tPgo+IC0gKgo+IC0g KiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQg YW5kL29yCj4gLSAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFs IFB1YmxpYyBMaWNlbnNlIGFzCj4gLSAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBG b3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mCj4gLSAqIHRoZSBMaWNlbnNlLCBvciAoYXQg eW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0g aXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKPiAtICog YnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFu dHkgb2YKPiAtICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQ VVJQT1NFLiAgU2VlIHRoZQo+IC0gKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9y ZSBkZXRhaWxzLgo+IC0gKgo+IC0gKgo+IC0gKi8KPiArLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZp ZXI6IEdQTC0yLjAtb3ItbGF0ZXIKPiArLy8gU1BEWC1GaWxlQ29weXJpZ2h0VGV4dDogwqkgMjAx MiBKZWFuLUNocmlzdG9waGUgUExBR05JT0wtVklMTEFSRCA8cGxhZ25pb2pAamNyb3NvZnQuY29t Pgo+ICAKPiAgI2luY2x1ZGUgPGNvbW1vbi5oPgo+ICAjaW5jbHVkZSA8bmV0Lmg+Cj4gZGlmZiAt LWdpdCBhL2FyY2gvYXJtL2JvYXJkcy9hdDkxc2FtOXg1ZWsvaHdfdmVyc2lvbi5jIGIvYXJjaC9h cm0vYm9hcmRzL2F0OTFzYW05eDVlay9od192ZXJzaW9uLmMKPiBpbmRleCBmMTVjZDNkYzBjMmQu LjNlMjA1ZDU4MmI0MCAxMDA2NDQKPiAtLS0gYS9hcmNoL2FybS9ib2FyZHMvYXQ5MXNhbTl4NWVr L2h3X3ZlcnNpb24uYwo+ICsrKyBiL2FyY2gvYXJtL2JvYXJkcy9hdDkxc2FtOXg1ZWsvaHdfdmVy c2lvbi5jCj4gQEAgLTEsMTggKzEsNSBAQAo+IC0vKgo+IC0gKiBDb3B5cmlnaHQgKEMpIDIwMTIg SmVhbi1DaHJpc3RvcGhlIFBMQUdOSU9MLVZJTExBUkQgPHBsYWduaW9qQGpjcm9zb2Z0LmNvbT4K PiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0 cmlidXRlIGl0IGFuZC9vcgo+IC0gKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBH TlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcwo+IC0gKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUg U29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZgo+IC0gKiB0aGUgTGljZW5z ZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KPiAtICoKPiAtICogVGhp cyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2Vm dWwsCj4gLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBs aWVkIHdhcnJhbnR5IG9mCj4gLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBB UlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKPiAtICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vu c2UgZm9yIG1vcmUgZGV0YWlscy4KPiAtICoKPiAtICoKPiAtICovCj4gKy8vIFNQRFgtTGljZW5z ZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9yLWxhdGVyCj4gKy8vIFNQRFgtRmlsZUNvcHlyaWdodFRl eHQ6IMKpIDIwMTIgSmVhbi1DaHJpc3RvcGhlIFBMQUdOSU9MLVZJTExBUkQgPHBsYWduaW9qQGpj cm9zb2Z0LmNvbT4KPiAgCj4gICNpbmNsdWRlIDxjb21tb24uaD4KPiAgI2luY2x1ZGUgPGluaXQu aD4KPiBkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vYm9hcmRzL2F0OTFzYW05eDVlay9od192ZXJzaW9u LmggYi9hcmNoL2FybS9ib2FyZHMvYXQ5MXNhbTl4NWVrL2h3X3ZlcnNpb24uaAo+IGluZGV4IDNm M2M4MDAzZDkxNy4uYzNmMDA3ZTcwOGQzIDEwMDY0NAo+IC0tLSBhL2FyY2gvYXJtL2JvYXJkcy9h dDkxc2FtOXg1ZWsvaHdfdmVyc2lvbi5oCj4gKysrIGIvYXJjaC9hcm0vYm9hcmRzL2F0OTFzYW05 eDVlay9od192ZXJzaW9uLmgKPiBAQCAtMSwxOCArMSw1IEBACj4gLS8qCj4gLSAqIENvcHlyaWdo dCAoQykgMjAxMiBKZWFuLUNocmlzdG9waGUgUExBR05JT0wtVklMTEFSRCA8cGxhZ25pb2pAamNy b3NvZnQuY29tPgo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91 IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCj4gLSAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVy bXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzCj4gLSAqIHB1Ymxpc2hlZCBi eSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mCj4gLSAq IHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgo+IC0g Kgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3 aWxsIGJlIHVzZWZ1bCwKPiAtICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2 ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKPiAtICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5F U1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQo+IC0gKiBHTlUgR2VuZXJhbCBQ dWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgo+IC0gKgo+IC0gKgo+IC0gKi8KPiArLy8g U1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb3ItbGF0ZXIKPiArLy8gU1BEWC1GaWxl Q29weXJpZ2h0VGV4dDogwqkgMjAxMiBKZWFuLUNocmlzdG9waGUgUExBR05JT0wtVklMTEFSRCA8 cGxhZ25pb2pAamNyb3NvZnQuY29tPgo+ICAKPiAgI2lmbmRlZiBfX0hXX1JFVklTSU9OX0hfXwo+ ICAjZGVmaW5lIF9fSFdfUkVWSVNJT05fSF9fCj4gZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2JvYXJk cy9hdDkxc2FtOXg1ZWsvaW5pdC5jIGIvYXJjaC9hcm0vYm9hcmRzL2F0OTFzYW05eDVlay9pbml0 LmMKPiBpbmRleCA2NTQ5M2ViYmNkNTcuLjVhMDNjODViNDRjZCAxMDA2NDQKPiAtLS0gYS9hcmNo L2FybS9ib2FyZHMvYXQ5MXNhbTl4NWVrL2luaXQuYwo+ICsrKyBiL2FyY2gvYXJtL2JvYXJkcy9h dDkxc2FtOXg1ZWsvaW5pdC5jCj4gQEAgLTEsMTggKzEsNSBAQAo+IC0vKgo+IC0gKiBDb3B5cmln aHQgKEMpIDIwMTIgSmVhbi1DaHJpc3RvcGhlIFBMQUdOSU9MLVZJTExBUkQgPHBsYWduaW9qQGpj cm9zb2Z0LmNvbT4KPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlv dSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgo+IC0gKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRl cm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcwo+IC0gKiBwdWJsaXNoZWQg YnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZgo+IC0g KiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KPiAt ICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQg d2lsbCBiZSB1c2VmdWwsCj4gLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBl dmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCj4gLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRO RVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKPiAtICogR05VIEdlbmVyYWwg UHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KPiAtICoKPiAtICoKPiAtICovCj4gKy8v IFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9yLWxhdGVyCj4gKy8vIFNQRFgtRmls ZUNvcHlyaWdodFRleHQ6IMKpIDIwMTIgSmVhbi1DaHJpc3RvcGhlIFBMQUdOSU9MLVZJTExBUkQg PHBsYWduaW9qQGpjcm9zb2Z0LmNvbT4KPiAgCj4gICNpbmNsdWRlIDxjb21tb24uaD4KPiAgI2lu Y2x1ZGUgPG5ldC5oPgo+IGRpZmYgLS1naXQgYS9hcmNoL2FybS9ib2FyZHMvYXZuZXQtemVkYm9h cmQvYm9hcmQuYyBiL2FyY2gvYXJtL2JvYXJkcy9hdm5ldC16ZWRib2FyZC9ib2FyZC5jCj4gaW5k ZXggZjUzZGRlNDdjMjA0Li45NWY5NzI1ZDFkZGQgMTAwNjQ0Cj4gLS0tIGEvYXJjaC9hcm0vYm9h cmRzL2F2bmV0LXplZGJvYXJkL2JvYXJkLmMKPiArKysgYi9hcmNoL2FybS9ib2FyZHMvYXZuZXQt emVkYm9hcmQvYm9hcmQuYwo+IEBAIC0xLDE2ICsxLDUgQEAKPiAtLyoKPiAtICogQ29weXJpZ2h0 IChDKSAyMDEzIFN0ZWZmZW4gVHJ1bXRyYXIgPHMudHJ1bXRyYXJAcGVuZ3V0cm9uaXguZGU+Cj4g LSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJp YnV0ZSBpdCBhbmQvb3IKPiAtICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05V IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMKPiAtICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNv ZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YKPiAtICogdGhlIExpY2Vuc2Us IG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCj4gLSAqCj4gLSAqIFRoaXMg cHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVs LAo+IC0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGll ZCB3YXJyYW50eSBvZgo+IC0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJU SUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCj4gLSAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl IGZvciBtb3JlIGRldGFpbHMuCj4gLSAqLwo+ICsvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjog R1BMLTIuMC1vci1sYXRlcgo+ICsvLyBTUERYLUZpbGVDb3B5cmlnaHRUZXh0OiDCqSAyMDEzIFN0 ZWZmZW4gVHJ1bXRyYXIgPHMudHJ1bXRyYXJAcGVuZ3V0cm9uaXguZGU+Cj4gIAo+ICAjaW5jbHVk ZSA8YXNtL2FybWxpbnV4Lmg+Cj4gICNpbmNsdWRlIDxjb21tb24uaD4KPiBkaWZmIC0tZ2l0IGEv YXJjaC9hcm0vYm9hcmRzL2F2bmV0LXplZGJvYXJkL2xvd2xldmVsLmMgYi9hcmNoL2FybS9ib2Fy ZHMvYXZuZXQtemVkYm9hcmQvbG93bGV2ZWwuYwo+IGluZGV4IDY2MTRlODJhMTBiYS4uMzI3ZTlh NDhmNDk1IDEwMDY0NAo+IC0tLSBhL2FyY2gvYXJtL2JvYXJkcy9hdm5ldC16ZWRib2FyZC9sb3ds ZXZlbC5jCj4gKysrIGIvYXJjaC9hcm0vYm9hcmRzL2F2bmV0LXplZGJvYXJkL2xvd2xldmVsLmMK PiBAQCAtMSwxOCArMSw2IEBACj4gLS8qCj4gLSAqCj4gLSAqIChjKSAyMDEzIFN0ZWZmZW4gVHJ1 bXRyYXIgPHMudHJ1bXRyYXJAcGVuZ3V0cm9uaXguZGU+Cj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3Jh bSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKPiAtICog bW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vu c2UgYXMKPiAtICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVp dGhlciB2ZXJzaW9uIDIgb2YKPiAtICogdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikg YW55IGxhdGVyIHZlcnNpb24uCj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRl ZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAo+IC0gKiBidXQgV0lUSE9VVCBB TlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgo+IC0gKiBN RVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUg dGhlCj4gLSAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCj4g LSAqCj4gLSAqLwo+ICsvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vci1sYXRl cgo+ICsvLyBTUERYLUZpbGVDb3B5cmlnaHRUZXh0OiDCqSAyMDEzIFN0ZWZmZW4gVHJ1bXRyYXIg PHMudHJ1bXRyYXJAcGVuZ3V0cm9uaXguZGU+Cj4gKwo+ICAjaW5jbHVkZSA8Y29tbW9uLmg+Cj4g ICNpbmNsdWRlIDxpby5oPgo+ICAjaW5jbHVkZSA8YXNtL2JhcmVib3gtYXJtLmg+Cj4gZGlmZiAt LWdpdCBhL2FyY2gvYXJtL2JvYXJkcy9iZWFnbGUvYm9hcmQuYyBiL2FyY2gvYXJtL2JvYXJkcy9i ZWFnbGUvYm9hcmQuYwo+IGluZGV4IDQ2MGY0MmFjMmQ4Zi4uMTAzMDQ1OTIzZjc4IDEwMDY0NAo+ IC0tLSBhL2FyY2gvYXJtL2JvYXJkcy9iZWFnbGUvYm9hcmQuYwo+ICsrKyBiL2FyY2gvYXJtL2Jv YXJkcy9iZWFnbGUvYm9hcmQuYwo+IEBAIC0xLDE5ICsxLDUgQEAKPiAtLyoKPiAtICogKEMpIENv cHlyaWdodCAyMDA4Cj4gLSAqIFRleGFzIEluc3RydW1lbnRzLCA8d3d3LnRpLmNvbT4KPiAtICog UmFnaGF2ZW5kcmEgS0ggPHIta2hhbmRlbmFoYWxseUB0aS5jb20+Cj4gLSAqCj4gLSAqIFRoaXMg cHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IK PiAtICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGlj IExpY2Vuc2UgYXMKPiAtICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp b247IGVpdGhlciB2ZXJzaW9uIDIgb2YKPiAtICogdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9w dGlvbikgYW55IGxhdGVyIHZlcnNpb24uCj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0 cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAo+IC0gKiBidXQgV0lU SE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgo+ IC0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Uu ICBTZWUgdGhlCj4gLSAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFp bHMuCj4gLSAqCj4gLSAqLwo+ICsvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1v ci1sYXRlcgo+ICsvLyBTUERYLUZpbGVDb3B5cmlnaHRUZXh0OiDCqSAyMDA4IFJhZ2hhdmVuZHJh IEtIIDxyLWtoYW5kZW5haGFsbHlAdGkuY29tPiwgVGV4YXMgSW5zdHJ1bWVudHMgKGh0dHA6Ly93 d3cudGkuY29tLykKPiAgCj4gICNpbmNsdWRlIDxjb21tb24uaD4KPiAgI2luY2x1ZGUgPGNvbnNv bGUuaD4KPiBkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vYm9hcmRzL2JlYWdsZWJvbmUvYm9hcmQuYyBi L2FyY2gvYXJtL2JvYXJkcy9iZWFnbGVib25lL2JvYXJkLmMKPiBpbmRleCA4MTliZGZhZTQ2NWEu LjY2MWFmN2RiZTBhMSAxMDA2NDQKPiAtLS0gYS9hcmNoL2FybS9ib2FyZHMvYmVhZ2xlYm9uZS9i b2FyZC5jCj4gKysrIGIvYXJjaC9hcm0vYm9hcmRzL2JlYWdsZWJvbmUvYm9hcmQuYwo+IEBAIC0x LDIwICsxLDUgQEAKPiAtLyoKPiAtICogKEMpIENvcHlyaWdodCAyMDA4Cj4gLSAqIFRleGFzIElu c3RydW1lbnRzLCA8d3d3LnRpLmNvbT4KPiAtICogUmFnaGF2ZW5kcmEgS0ggPHIta2hhbmRlbmFo YWxseUB0aS5jb20+Cj4gLSAqCj4gLSAqIENvcHlyaWdodCAoQykgMjAxMiBKYW4gTHVlYmJlIDxq Lmx1ZWJiZUBwZW5ndXRyb25peC5kZT4KPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGZyZWUg c29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgo+IC0gKiBtb2RpZnkgaXQg dW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcwo+IC0g KiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNp b24gMiBvZgo+IC0gKiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIg dmVyc2lvbi4KPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBo b3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCj4gLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5U WTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCj4gLSAqIE1FUkNIQU5UQUJJ TElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKPiAtICog R05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KPiAtICovCj4gKy8v IFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9yLWxhdGVyCj4gKy8vIFNQRFgtRmls ZUNvcHlyaWdodFRleHQ6IMKpIDIwMDggUmFnaGF2ZW5kcmEgS0ggPHIta2hhbmRlbmFoYWxseUB0 aS5jb20+LCBUZXhhcyBJbnN0cnVtZW50cyAoaHR0cDovL3d3dy50aS5jb20vKQoKU1BEWC1GaWxl Q29weXJpZ2h0VGV4dDogwqkgMjAxMiBKYW4gTHVlYmJlIDxqLmx1ZWJiZUBwZW5ndXRyb25peC5k ZT4KaXMgbWlzc2luZwoKPiAgCj4gIC8qKgo+ICAgKiBAZmlsZQo+IGRpZmYgLS1naXQgYS9hcmNo L2FybS9ib2FyZHMvYm91bmRhcnlkZXZpY2VzLW5pdHJvZ2VuNi8xMDY2bWh6XzR4MTI4bXgxNi5p bXhjZmcgYi9hcmNoL2FybS9ib2FyZHMvYm91bmRhcnlkZXZpY2VzLW5pdHJvZ2VuNi8xMDY2bWh6 XzR4MTI4bXgxNi5pbXhjZmcKPiBpbmRleCBjNWEyODZiNGUwZGIuLjdkNzNkZmM4ODEwNSAxMDA2 NDQKPiAtLS0gYS9hcmNoL2FybS9ib2FyZHMvYm91bmRhcnlkZXZpY2VzLW5pdHJvZ2VuNi8xMDY2 bWh6XzR4MTI4bXgxNi5pbXhjZmcKPiArKysgYi9hcmNoL2FybS9ib2FyZHMvYm91bmRhcnlkZXZp Y2VzLW5pdHJvZ2VuNi8xMDY2bWh6XzR4MTI4bXgxNi5pbXhjZmcKPiBAQCAtMSwxNiArMSw1IEBA Cj4gLS8qCj4gLSAqIENvcHlyaWdodCAoQykgMjAxMyBCb3VuZGFyeSBEZXZpY2VzCj4gLSAqCj4g LSAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBp dCBhbmQvb3IKPiAtICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVy YWwgUHVibGljIExpY2Vuc2UgYXMKPiAtICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJl IEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YKPiAtICogdGhlIExpY2Vuc2UsIG9yIChh dCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3Jh bSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAo+IC0g KiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJy YW50eSBvZgo+IC0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS IFBVUlBPU0UuICBTZWUgdGhlCj4gLSAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBt b3JlIGRldGFpbHMuCj4gLSAqLwo+ICsvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIu MC1vci1sYXRlcgo+ICsvLyBTUERYLUZpbGVDb3B5cmlnaHRUZXh0OiDCqSAyMDEzIEJvdW5kYXJ5 IERldmljZXMKPiAgCj4gIHdtIDMyIE1YNl9NTURDX1AwX01EUERDCQkJMHgwMDAyMDAzNgo+ICB3 bSAzMiBNWDZfTU1EQ19QMF9NRENGRzAJCTB4NTU1QTc5NzQKPiBkaWZmIC0tZ2l0IGEvYXJjaC9h cm0vYm9hcmRzL2JvdW5kYXJ5ZGV2aWNlcy1uaXRyb2dlbjYvMTA2Nm1oel80eDI1Nm14MTYuaW14 Y2ZnIGIvYXJjaC9hcm0vYm9hcmRzL2JvdW5kYXJ5ZGV2aWNlcy1uaXRyb2dlbjYvMTA2Nm1oel80 eDI1Nm14MTYuaW14Y2ZnCj4gaW5kZXggNGQ4YTcxNTE1MDdhLi43OWE2YzE0ZjFkZTggMTAwNjQ0 Cj4gLS0tIGEvYXJjaC9hcm0vYm9hcmRzL2JvdW5kYXJ5ZGV2aWNlcy1uaXRyb2dlbjYvMTA2Nm1o el80eDI1Nm14MTYuaW14Y2ZnCj4gKysrIGIvYXJjaC9hcm0vYm9hcmRzL2JvdW5kYXJ5ZGV2aWNl cy1uaXRyb2dlbjYvMTA2Nm1oel80eDI1Nm14MTYuaW14Y2ZnCj4gQEAgLTEsMTYgKzEsNSBAQAo+ IC0vKgo+IC0gKiBDb3B5cmlnaHQgKEMpIDIwMTMgQm91bmRhcnkgRGV2aWNlcwo+IC0gKgo+IC0g KiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQg YW5kL29yCj4gLSAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFs IFB1YmxpYyBMaWNlbnNlIGFzCj4gLSAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBG b3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mCj4gLSAqIHRoZSBMaWNlbnNlLCBvciAoYXQg eW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0g aXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKPiAtICog YnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFu dHkgb2YKPiAtICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQ VVJQT1NFLiAgU2VlIHRoZQo+IC0gKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9y ZSBkZXRhaWxzLgo+IC0gKi8KPiArLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAt b3ItbGF0ZXIKPiArLy8gU1BEWC1GaWxlQ29weXJpZ2h0VGV4dDogwqkgMjAxMyBCb3VuZGFyeSBE ZXZpY2VzCj4gIAo+ICB3bSAzMiBNWDZfTU1EQ19QMF9NRFBEQyAweDAwMDIwMDM2Cj4gIHdtIDMy IE1YNl9NTURDX1AwX01EQ0ZHMCAweDg5OEU3OTc0Cj4gZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2Jv YXJkcy9ib3VuZGFyeWRldmljZXMtbml0cm9nZW42LzEwNjZtaHpfNHg1MTJteDE2LXFwLmlteGNm ZyBiL2FyY2gvYXJtL2JvYXJkcy9ib3VuZGFyeWRldmljZXMtbml0cm9nZW42LzEwNjZtaHpfNHg1 MTJteDE2LXFwLmlteGNmZwo+IGluZGV4IDY0MDliNzQ1ZDcyNy4uYTYwMzIxMmViYWQ5IDEwMDY0 NAo+IC0tLSBhL2FyY2gvYXJtL2JvYXJkcy9ib3VuZGFyeWRldmljZXMtbml0cm9nZW42LzEwNjZt aHpfNHg1MTJteDE2LXFwLmlteGNmZwo+ICsrKyBiL2FyY2gvYXJtL2JvYXJkcy9ib3VuZGFyeWRl dmljZXMtbml0cm9nZW42LzEwNjZtaHpfNHg1MTJteDE2LXFwLmlteGNmZwo+IEBAIC0xLDE2ICsx LDUgQEAKPiAtLyoKPiAtICogQ29weXJpZ2h0IChDKSAyMDE2IEJvdW5kYXJ5IERldmljZXMKPiAt ICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmli dXRlIGl0IGFuZC9vcgo+IC0gKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUg R2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcwo+IC0gKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29m dHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZgo+IC0gKiB0aGUgTGljZW5zZSwg b3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KPiAtICoKPiAtICogVGhpcyBw cm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWws Cj4gLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVk IHdhcnJhbnR5IG9mCj4gLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJ Q1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKPiAtICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2Ug Zm9yIG1vcmUgZGV0YWlscy4KPiAtICovCj4gKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBH UEwtMi4wLW9yLWxhdGVyCj4gKy8vIFNQRFgtRmlsZUNvcHlyaWdodFRleHQ6IMKpIDIwMTYgQm91 bmRhcnkgRGV2aWNlcwo+ICAKPiAgLyogTk9DIHNldHVwICovCj4gIHdtIDMyIDB4MDBiYjAwMDgJ CQkJMHgwMDAwMDAwNAo+IGRpZmYgLS1naXQgYS9hcmNoL2FybS9ib2FyZHMvYm91bmRhcnlkZXZp Y2VzLW5pdHJvZ2VuNi84MDBtaHpfNHgxMjhteDE2LmlteGNmZyBiL2FyY2gvYXJtL2JvYXJkcy9i b3VuZGFyeWRldmljZXMtbml0cm9nZW42LzgwMG1oel80eDEyOG14MTYuaW14Y2ZnCj4gaW5kZXgg OTM2YTJmNTRiZmMxLi5lNjJlZDRmMDA4NjUgMTAwNjQ0Cj4gLS0tIGEvYXJjaC9hcm0vYm9hcmRz L2JvdW5kYXJ5ZGV2aWNlcy1uaXRyb2dlbjYvODAwbWh6XzR4MTI4bXgxNi5pbXhjZmcKPiArKysg Yi9hcmNoL2FybS9ib2FyZHMvYm91bmRhcnlkZXZpY2VzLW5pdHJvZ2VuNi84MDBtaHpfNHgxMjht eDE2LmlteGNmZwo+IEBAIC0xLDE2ICsxLDUgQEAKPiAtLyoKPiAtICogQ29weXJpZ2h0IChDKSAy MDEzIEJvdW5kYXJ5IERldmljZXMKPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29m dHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgo+IC0gKiBtb2RpZnkgaXQgdW5k ZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcwo+IC0gKiBw dWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24g MiBvZgo+IC0gKiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVy c2lvbi4KPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3Bl IHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCj4gLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsg d2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCj4gLSAqIE1FUkNIQU5UQUJJTElU WSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKPiAtICogR05V IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KPiAtICovCj4gKy8vIFNQ RFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9yLWxhdGVyCj4gKy8vIFNQRFgtRmlsZUNv cHlyaWdodFRleHQ6IMKpIDIwMTMgQm91bmRhcnkgRGV2aWNlcwo+ICAKPiAgd20gMzIgTVg2X01N RENfUDBfTURQREMgMHgwMDAyMDAyRAo+ICB3bSAzMiBNWDZfTU1EQ19QMF9NRENGRzAgMHg0MDQz NTMyMwo+IGRpZmYgLS1naXQgYS9hcmNoL2FybS9ib2FyZHMvYm91bmRhcnlkZXZpY2VzLW5pdHJv Z2VuNi84MDBtaHpfNHgyNTZteDE2LmlteGNmZyBiL2FyY2gvYXJtL2JvYXJkcy9ib3VuZGFyeWRl dmljZXMtbml0cm9nZW42LzgwMG1oel80eDI1Nm14MTYuaW14Y2ZnCj4gaW5kZXggMDljODU1NTQ0 ZDc2Li42ODczNjM5YTcyYWIgMTAwNjQ0Cj4gLS0tIGEvYXJjaC9hcm0vYm9hcmRzL2JvdW5kYXJ5 ZGV2aWNlcy1uaXRyb2dlbjYvODAwbWh6XzR4MjU2bXgxNi5pbXhjZmcKPiArKysgYi9hcmNoL2Fy bS9ib2FyZHMvYm91bmRhcnlkZXZpY2VzLW5pdHJvZ2VuNi84MDBtaHpfNHgyNTZteDE2LmlteGNm Zwo+IEBAIC0xLDE2ICsxLDUgQEAKPiAtLyoKPiAtICogQ29weXJpZ2h0IChDKSAyMDEzIEJvdW5k YXJ5IERldmljZXMKPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlv dSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgo+IC0gKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRl cm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcwo+IC0gKiBwdWJsaXNoZWQg YnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZgo+IC0g KiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KPiAt ICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQg d2lsbCBiZSB1c2VmdWwsCj4gLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBl dmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCj4gLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRO RVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKPiAtICogR05VIEdlbmVyYWwg UHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KPiAtICovCj4gKy8vIFNQRFgtTGljZW5z ZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9yLWxhdGVyCj4gKy8vIFNQRFgtRmlsZUNvcHlyaWdodFRl eHQ6IMKpIDIwMTMgQm91bmRhcnkgRGV2aWNlcwo+ICAKPiAgd20gMzIgTVg2X01NRENfUDBfTURQ REMgMHgwMDAyMDAyRAo+ICB3bSAzMiBNWDZfTU1EQ19QMF9NRENGRzAgMHg2OTZDNTMyMwo+IGRp ZmYgLS1naXQgYS9hcmNoL2FybS9ib2FyZHMvYm91bmRhcnlkZXZpY2VzLW5pdHJvZ2VuNi9ib2Fy ZC5jIGIvYXJjaC9hcm0vYm9hcmRzL2JvdW5kYXJ5ZGV2aWNlcy1uaXRyb2dlbjYvYm9hcmQuYwo+ IGluZGV4IGQ5NTE0ZDlkNDgwNy4uYTRiZjgzMTA0ZWI4IDEwMDY0NAo+IC0tLSBhL2FyY2gvYXJt L2JvYXJkcy9ib3VuZGFyeWRldmljZXMtbml0cm9nZW42L2JvYXJkLmMKPiArKysgYi9hcmNoL2Fy bS9ib2FyZHMvYm91bmRhcnlkZXZpY2VzLW5pdHJvZ2VuNi9ib2FyZC5jCj4gQEAgLTEsMTYgKzEs NSBAQAo+IC0vKgo+IC0gKiBDb3B5cmlnaHQgKEMpIDIwMTQgTHVjYXMgU3RhY2gsIFBlbmd1dHJv bml4Cj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJl ZGlzdHJpYnV0ZSBpdCBhbmQvb3IKPiAtICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0 aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMKPiAtICogcHVibGlzaGVkIGJ5IHRoZSBG cmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YKPiAtICogdGhlIExp Y2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCj4gLSAqCj4gLSAq IFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUg dXNlZnVsLAo+IC0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUg aW1wbGllZCB3YXJyYW50eSBvZgo+IC0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1Ig QSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCj4gLSAqIEdOVSBHZW5lcmFsIFB1YmxpYyBM aWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCj4gLSAqLwo+ICsvLyBTUERYLUxpY2Vuc2UtSWRlbnRp ZmllcjogR1BMLTIuMC1vci1sYXRlcgo+ICsvLyBTUERYLUZpbGVDb3B5cmlnaHRUZXh0OiDCqSAy MDE0IEx1Y2FzIFN0YWNoLCBQZW5ndXRyb25peAo+ICAKPiAgI2luY2x1ZGUgPGNvbW1vbi5oPgo+ ICAjaW5jbHVkZSA8aW5pdC5oPgo+IGRpZmYgLS1naXQgYS9hcmNoL2FybS9ib2FyZHMvY2N4bXg1 My9ib2FyZC5jIGIvYXJjaC9hcm0vYm9hcmRzL2NjeG14NTMvYm9hcmQuYwo+IGluZGV4IDlkODFj ZDgwYTM3My4uMzhlNjM1OTUzZmRkIDEwMDY0NAo+IC0tLSBhL2FyY2gvYXJtL2JvYXJkcy9jY3ht eDUzL2JvYXJkLmMKPiArKysgYi9hcmNoL2FybS9ib2FyZHMvY2N4bXg1My9ib2FyZC5jCj4gQEAg LTEsMTkgKzEsNyBAQAo+IC0vKgo+IC0gKiBDb3B5cmlnaHQgKEMpIDIwMTUgSmFzb24gQ29iaGFt IDxjb2JoYW0uamFzb25AZ21haWwuY29tPgo+IC0gKgo+IC0gKiBCb2FyZCBzcGVjaWZpYyBmaWxl IGZvciB0aGUgRGlnaSBDb25uZWN0Q29yZSBjY3hteDUzIFNvTQo+IC0gKgo+IC0gKiBUaGlzIHBy b2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCj4g LSAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBM aWNlbnNlIGFzCj4gLSAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u OyBlaXRoZXIgdmVyc2lvbiAyIG9mCj4gLSAqIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRp b24pIGFueSBsYXRlciB2ZXJzaW9uLgo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJp YnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKPiAtICogYnV0IFdJVEhP VVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKPiAt ICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiBT ZWUgdGhlCj4gLSAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMu Cj4gLSAqCj4gLSAqLwo+ICsvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vci1s YXRlcgo+ICsvLyBTUERYLUZpbGVDb3B5cmlnaHRUZXh0OiDCqSAyMDE1IEphc29uIENvYmhhbSA8 Y29iaGFtLmphc29uQGdtYWlsLmNvbT4KPiArCj4gKy8qIEJvYXJkIHNwZWNpZmljIGZpbGUgZm9y IHRoZSBEaWdpIENvbm5lY3RDb3JlIGNjeG14NTMgU29NICovCj4gIAo+ICAjaW5jbHVkZSA8Y29t bW9uLmg+Cj4gICNpbmNsdWRlIDxpbml0Lmg+Cj4gZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2JvYXJk cy9jY3hteDUzL2xvd2xldmVsLmMgYi9hcmNoL2FybS9ib2FyZHMvY2N4bXg1My9sb3dsZXZlbC5j Cj4gaW5kZXggMWQyZDhjNmQ5MDI4Li43ZTUxNmRmZTdiMjEgMTAwNjQ0Cj4gLS0tIGEvYXJjaC9h cm0vYm9hcmRzL2NjeG14NTMvbG93bGV2ZWwuYwo+ICsrKyBiL2FyY2gvYXJtL2JvYXJkcy9jY3ht eDUzL2xvd2xldmVsLmMKPiBAQCAtMSwxNyArMSw1IEBACj4gLS8qCj4gLSAqIENvcHlyaWdodCAo QykgMjAxMyBTYXNjaGEgSGF1ZXIgPHMuaGF1ZXJAcGVuZ3V0cm9uaXguZGU+Cj4gLSAqCj4gLSAq IFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBh bmQvb3IKPiAtICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwg UHVibGljIExpY2Vuc2UgYXMKPiAtICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZv dW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YKPiAtICogdGhlIExpY2Vuc2UsIG9yIChhdCB5 b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBp cyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAo+IC0gKiBi dXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50 eSBvZgo+IC0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBV UlBPU0UuICBTZWUgdGhlCj4gLSAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3Jl IGRldGFpbHMuCj4gLSAqCj4gLSAqLwo+ICsvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BM LTIuMC1vci1sYXRlcgo+ICsvLyBTUERYLUZpbGVDb3B5cmlnaHRUZXh0OiDCqSAyMDEzIFNhc2No YSBIYXVlciA8cy5oYXVlckBwZW5ndXRyb25peC5kZT4KPiAgCj4gICNpbmNsdWRlIDxkZWJ1Z19s bC5oPgo+ICAjaW5jbHVkZSA8Y29tbW9uLmg+Cj4gZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2JvYXJk cy9jaHVtYnlfZmFsY29ud2luZy9mYWxjb253aW5nLmMgYi9hcmNoL2FybS9ib2FyZHMvY2h1bWJ5 X2ZhbGNvbndpbmcvZmFsY29ud2luZy5jCj4gaW5kZXggZWE2NGZkNmY0NzU1Li4xYjY5YzEzMzEy Y2YgMTAwNjQ0Cj4gLS0tIGEvYXJjaC9hcm0vYm9hcmRzL2NodW1ieV9mYWxjb253aW5nL2ZhbGNv bndpbmcuYwo+ICsrKyBiL2FyY2gvYXJtL2JvYXJkcy9jaHVtYnlfZmFsY29ud2luZy9mYWxjb253 aW5nLmMKPiBAQCAtMSwxNyArMSw2IEBACj4gLS8qCj4gLSAqIChDKSBDb3B5cmlnaHQgMjAxMCBK dWVyZ2VuIEJlaXNlcnQgLSBQZW5ndXRyb25peAo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMg ZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCj4gLSAqIG1vZGlm eSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFz Cj4gLSAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIg dmVyc2lvbiAyIG9mCj4gLSAqIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBs YXRlciB2ZXJzaW9uLgo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4g dGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKPiAtICogYnV0IFdJVEhPVVQgQU5ZIFdB UlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKPiAtICogTUVSQ0hB TlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQo+ IC0gKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgo+IC0gKgo+ IC0gKi8KPiArLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb3ItbGF0ZXIKPiAr Ly8gU1BEWC1GaWxlQ29weXJpZ2h0VGV4dDogwqkgMjAxMCBKdWVyZ2VuIEJlaXNlcnQsIFBlbmd1 dHJvbml4Cj4gKwo+ICAjaW5jbHVkZSA8Y29tbW9uLmg+Cj4gICNpbmNsdWRlIDxpbml0Lmg+Cj4g ICNpbmNsdWRlIDxncGlvLmg+Cj4gZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2JvYXJkcy9jbGVwNzIx Mi9jbGVwNzIxMi5jIGIvYXJjaC9hcm0vYm9hcmRzL2NsZXA3MjEyL2NsZXA3MjEyLmMKPiBpbmRl eCA2NDFmYTE1MDIxYzAuLjY0NDI2YzU0NTg0OCAxMDA2NDQKPiAtLS0gYS9hcmNoL2FybS9ib2Fy ZHMvY2xlcDcyMTIvY2xlcDcyMTIuYwo+ICsrKyBiL2FyY2gvYXJtL2JvYXJkcy9jbGVwNzIxMi9j bGVwNzIxMi5jCj4gQEAgLTEsMTEgKzEsNSBAQAo+IC0vKgo+IC0gKiBDb3B5cmlnaHQgKEMpIDIw MTIgQWxleGFuZGVyIFNoaXlhbiA8c2hjX3dvcmtAbWFpbC5ydT4KPiAtICoKPiAtICogVGhpcyBw cm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgo+ IC0gKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMg TGljZW5zZSBhcwo+IC0gKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlv bjsgZWl0aGVyIHZlcnNpb24gMiBvZgo+IC0gKiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0 aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KPiAtICovCj4gKy8vIFNQRFgtTGljZW5zZS1JZGVudGlm aWVyOiBHUEwtMi4wLW9yLWxhdGVyCj4gKy8vIFNQRFgtRmlsZUNvcHlyaWdodFRleHQ6IMKpIDIw MTIgQWxleGFuZGVyIFNoaXlhbiA8c2hjX3dvcmtAbWFpbC5ydT4KPiAgCj4gICNpbmNsdWRlIDxj b21tb24uaD4KPiAgI2luY2x1ZGUgPGRyaXZlci5oPgo+IGRpZmYgLS1naXQgYS9hcmNoL2FybS9i b2FyZHMvY2xlcDcyMTIvbG93bGV2ZWwuYyBiL2FyY2gvYXJtL2JvYXJkcy9jbGVwNzIxMi9sb3ds ZXZlbC5jCj4gaW5kZXggMjMxMzI5MDI1YmM2Li4xMWE1MzFlNmQ2NDcgMTAwNjQ0Cj4gLS0tIGEv YXJjaC9hcm0vYm9hcmRzL2NsZXA3MjEyL2xvd2xldmVsLmMKPiArKysgYi9hcmNoL2FybS9ib2Fy ZHMvY2xlcDcyMTIvbG93bGV2ZWwuYwo+IEBAIC0xLDExICsxLDUgQEAKPiAtLyoKPiAtICogQ29w eXJpZ2h0IChDKSAyMDEyIEFsZXhhbmRlciBTaGl5YW4gPHNoY193b3JrQG1haWwucnU+Cj4gLSAq Cj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0 ZSBpdCBhbmQvb3IKPiAtICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdl bmVyYWwgUHVibGljIExpY2Vuc2UgYXMKPiAtICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3 YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YKPiAtICogdGhlIExpY2Vuc2UsIG9y IChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCj4gLSAqLwo+ICsvLyBTUERYLUxp Y2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vci1sYXRlcgo+ICsvLyBTUERYLUZpbGVDb3B5cmln aHRUZXh0OiDCqSAyMDEyIEFsZXhhbmRlciBTaGl5YW4gPHNoY193b3JrQG1haWwucnU+Cj4gIAo+ ICAjaW5jbHVkZSA8Y29tbW9uLmg+Cj4gICNpbmNsdWRlIDxpbml0Lmg+Cj4gZGlmZiAtLWdpdCBh L2FyY2gvYXJtL2JvYXJkcy9jbS1meDYvYm9hcmQuYyBiL2FyY2gvYXJtL2JvYXJkcy9jbS1meDYv Ym9hcmQuYwo+IGluZGV4IGY0MzgwNjI5ZTMyZi4uODhkNDA2N2ZkZDQzIDEwMDY0NAo+IC0tLSBh L2FyY2gvYXJtL2JvYXJkcy9jbS1meDYvYm9hcmQuYwo+ICsrKyBiL2FyY2gvYXJtL2JvYXJkcy9j bS1meDYvYm9hcmQuYwo+IEBAIC0xLDE2ICsxLDUgQEAKPiAtLyoKPiAtICogQ29weXJpZ2h0IChD KSAyMDE1IFNhc2NoYSBIYXVlciwgUGVuZ3V0cm9uaXgKPiAtICoKPiAtICogVGhpcyBwcm9ncmFt IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgo+IC0gKiBt b2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5z ZSBhcwo+IC0gKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0 aGVyIHZlcnNpb24gMiBvZgo+IC0gKiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBh bnkgbGF0ZXIgdmVyc2lvbi4KPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVk IGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCj4gLSAqIGJ1dCBXSVRIT1VUIEFO WSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCj4gLSAqIE1F UkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0 aGUKPiAtICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KPiAt ICovCj4gKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9yLWxhdGVyCj4gKy8v IFNQRFgtRmlsZUNvcHlyaWdodFRleHQ6IMKpIDIwMTUgU2FzY2hhIEhhdWVyLCBQZW5ndXRyb25p eAo+ICAKPiAgI2luY2x1ZGUgPGNvbW1vbi5oPgo+ICAjaW5jbHVkZSA8aW5pdC5oPgo+IGRpZmYg LS1naXQgYS9hcmNoL2FybS9ib2FyZHMvY3J5c3RhbGZvbnR6LWNmYTEwMDM2L2NmYTEwMDM2LmMg Yi9hcmNoL2FybS9ib2FyZHMvY3J5c3RhbGZvbnR6LWNmYTEwMDM2L2NmYTEwMDM2LmMKPiBpbmRl eCAyOWI5MWU3NzVmNDUuLjU1OTQyOGQxMmUzNCAxMDA2NDQKPiAtLS0gYS9hcmNoL2FybS9ib2Fy ZHMvY3J5c3RhbGZvbnR6LWNmYTEwMDM2L2NmYTEwMDM2LmMKPiArKysgYi9hcmNoL2FybS9ib2Fy ZHMvY3J5c3RhbGZvbnR6LWNmYTEwMDM2L2NmYTEwMDM2LmMKPiBAQCAtMSwxOSArMSw4IEBACj4g LS8qCj4gLSAqIENvcHlyaWdodCAoQykgMjAxMCBKdWVyZ2VuIEJlaXNlcnQsIFBlbmd1dHJvbml4 IDxrZXJuZWxAcGVuZ3V0cm9uaXguZGU+Cj4gLSAqIENvcHlyaWdodCAoQykgMjAxMSBNYXJjIEts ZWluZS1CdWRkZSwgUGVuZ3V0cm9uaXggPG1rbEBwZW5ndXRyb25peC5kZT4KPiAtICogQ29weXJp Z2h0IChDKSAyMDExIFdvbGZyYW0gU2FuZywgUGVuZ3V0cm9uaXggPHcuc2FuZ0BwZW5ndXRyb25p eC5kZT4KPiAtICogQ29weXJpZ2h0IChDKSAyMDEyIE1heGltZSBSaXBhcmQsIEZyZWUgRWxlY3Ry b25zIDxtYXhpbWUucmlwYXJkQGZyZWUtZWxlY3Ryb25zLmNvbT4KPiAtICoKPiAtICogVGhpcyBw cm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgo+ IC0gKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMg TGljZW5zZSBhcwo+IC0gKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlv bjsgZWl0aGVyIHZlcnNpb24gMiBvZgo+IC0gKiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0 aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGRpc3Ry aWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCj4gLSAqIGJ1dCBXSVRI T1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCj4g LSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4g IFNlZSB0aGUKPiAtICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWls cy4KPiAtICovCj4gKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9yLWxhdGVy Cj4gKy8vIFNQRFgtRmlsZUNvcHlyaWdodFRleHQ6IMKpIDIwMTAgSnVlcmdlbiBCZWlzZXJ0IDxr ZXJuZWxAcGVuZ3V0cm9uaXguZGU+LCBQZW5ndXRyb25peAo+ICsvLyBTUERYLUZpbGVDb3B5cmln aHRUZXh0OiDCqSAyMDExIE1hcmMgS2xlaW5lLUJ1ZGRlIDxta2xAcGVuZ3V0cm9uaXguZGU+LCBQ ZW5ndXRyb25peAo+ICsvLyBTUERYLUZpbGVDb3B5cmlnaHRUZXh0OiDCqSAyMDExIFdvbGZyYW0g U2FuZyA8dy5zYW5nQHBlbmd1dHJvbml4LmRlPiwgUGVuZ3V0cm9uaXgKPiArLy8gU1BEWC1GaWxl Q29weXJpZ2h0VGV4dDogwqkgMjAxMiBNYXhpbWUgUmlwYXJkIDxtYXhpbWUucmlwYXJkQGZyZWUt ZWxlY3Ryb25zLmNvbT4sIEZyZWUgRWxlY3Ryb25zCj4gIAo+ICAjaW5jbHVkZSA8Y29tbW9uLmg+ Cj4gICNpbmNsdWRlIDxlbnZpcm9ubWVudC5oPgo+IGRpZmYgLS1naXQgYS9hcmNoL2FybS9ib2Fy ZHMvY3J5c3RhbGZvbnR6LWNmYTEwMDM2L2h3ZGV0ZWN0LmMgYi9hcmNoL2FybS9ib2FyZHMvY3J5 c3RhbGZvbnR6LWNmYTEwMDM2L2h3ZGV0ZWN0LmMKPiBpbmRleCBlNGNjYmRiMmEzNmEuLmM5OTc0 ZWMxZTBlNCAxMDA2NDQKPiAtLS0gYS9hcmNoL2FybS9ib2FyZHMvY3J5c3RhbGZvbnR6LWNmYTEw MDM2L2h3ZGV0ZWN0LmMKPiArKysgYi9hcmNoL2FybS9ib2FyZHMvY3J5c3RhbGZvbnR6LWNmYTEw MDM2L2h3ZGV0ZWN0LmMKPiBAQCAtMSwxOCArMSw1IEBACj4gLS8qCj4gLSAqIENvcHlyaWdodCAo QykgMjAxMiBGcmVlIEVsZWN0cm9ucwo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBz b2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCj4gLSAqIG1vZGlmeSBpdCB1 bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzCj4gLSAq IHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lv biAyIG9mCj4gLSAqIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2 ZXJzaW9uLgo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhv cGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKPiAtICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZ OyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKPiAtICogTUVSQ0hBTlRBQklM SVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQo+IC0gKiBH TlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgo+IC0gKgo+IC0gKgo+ IC0gKi8KPiArLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb3ItbGF0ZXIKPiAr Ly8gU1BEWC1GaWxlQ29weXJpZ2h0VGV4dDogwqkgMjAxMiBGcmVlIEVsZWN0cm9ucwo+ICAKPiAg I2luY2x1ZGUgPGNvbW1vbi5oPgo+ICAKPiBkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vYm9hcmRzL2Ny eXN0YWxmb250ei1jZmExMDAzNi9od2RldGVjdC5oIGIvYXJjaC9hcm0vYm9hcmRzL2NyeXN0YWxm b250ei1jZmExMDAzNi9od2RldGVjdC5oCj4gaW5kZXggMmE1MzMwZWExNzY4Li5hNWU4ODViOGM0 ZDEgMTAwNjQ0Cj4gLS0tIGEvYXJjaC9hcm0vYm9hcmRzL2NyeXN0YWxmb250ei1jZmExMDAzNi9o d2RldGVjdC5oCj4gKysrIGIvYXJjaC9hcm0vYm9hcmRzL2NyeXN0YWxmb250ei1jZmExMDAzNi9o d2RldGVjdC5oCj4gQEAgLTEsMTggKzEsNSBAQAo+IC0vKgo+IC0gKiBDb3B5cmlnaHQgKEMpIDIw MTIgRnJlZSBFbGVjdHJvbnMKPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdh cmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgo+IC0gKiBtb2RpZnkgaXQgdW5kZXIg dGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcwo+IC0gKiBwdWJs aXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBv Zgo+IC0gKiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lv bi4KPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRo YXQgaXQgd2lsbCBiZSB1c2VmdWwsCj4gLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0 aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCj4gLSAqIE1FUkNIQU5UQUJJTElUWSBv ciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKPiAtICogR05VIEdl bmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KPiAtICoKPiAtICoKPiAtICov Cj4gKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9yLWxhdGVyCj4gKy8vIFNQ RFgtRmlsZUNvcHlyaWdodFRleHQ6IMKpIDIwMTIgRnJlZSBFbGVjdHJvbnMKPiAgCj4gICNpZm5k ZWYgX19IV0RFVEVDVF9IX18KPiAgI2RlZmluZSBfX0hXREVURUNUX0hfXwo+IGRpZmYgLS1naXQg YS9hcmNoL2FybS9ib2FyZHMvZGF0YW1vZHVsLWVkbS1xbXg2L2JvYXJkLmMgYi9hcmNoL2FybS9i b2FyZHMvZGF0YW1vZHVsLWVkbS1xbXg2L2JvYXJkLmMKPiBpbmRleCBkOTNjOTQwZTNkZDMuLjlh MzdlZjMzNzA3OSAxMDA2NDQKPiAtLS0gYS9hcmNoL2FybS9ib2FyZHMvZGF0YW1vZHVsLWVkbS1x bXg2L2JvYXJkLmMKPiArKysgYi9hcmNoL2FybS9ib2FyZHMvZGF0YW1vZHVsLWVkbS1xbXg2L2Jv YXJkLmMKPiBAQCAtMSwyMSArMSw1IEBACj4gLS8qCj4gLSAqIENvcHlyaWdodCAoQykgMjAxMiBT dGVmZmVuIFRydW10cmFyLCBQZW5ndXRyb25peAo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMg ZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCj4gLSAqIG1vZGlm eSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFz Cj4gLSAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIg dmVyc2lvbiAyIG9mCj4gLSAqIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBs YXRlciB2ZXJzaW9uLgo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4g dGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKPiAtICogYnV0IFdJVEhPVVQgQU5ZIFdB UlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKPiAtICogTUVSQ0hB TlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQo+ IC0gKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgo+IC0gKgo+ IC0gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQ dWJsaWMgTGljZW5zZQo+IC0gKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0 ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQo+IC0gKiBGb3VuZGF0aW9uLgo+IC0gKgo+IC0gKi8KPiAr Ly8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb3ItbGF0ZXIKPiArLy8gU1BEWC1G aWxlQ29weXJpZ2h0VGV4dDogwqkgMjAxMiBTdGVmZmVuIFRydW10cmFyLCBQZW5ndXRyb25peAo+ ICAKPiAgI2luY2x1ZGUgPGdlbmVyYXRlZC9tYWNoLXR5cGVzLmg+Cj4gICNpbmNsdWRlIDxlbnZp cm9ubWVudC5oPgo+IGRpZmYgLS1naXQgYS9hcmNoL2FybS9ib2FyZHMvZGF0YW1vZHVsLWVkbS1x bXg2L2xvd2xldmVsLmMgYi9hcmNoL2FybS9ib2FyZHMvZGF0YW1vZHVsLWVkbS1xbXg2L2xvd2xl dmVsLmMKPiBpbmRleCAyMzA3NDMyNmI1ZTkuLjA3YzVmYmY2MWZkNyAxMDA2NDQKPiAtLS0gYS9h cmNoL2FybS9ib2FyZHMvZGF0YW1vZHVsLWVkbS1xbXg2L2xvd2xldmVsLmMKPiArKysgYi9hcmNo L2FybS9ib2FyZHMvZGF0YW1vZHVsLWVkbS1xbXg2L2xvd2xldmVsLmMKPiBAQCAtMSwxNyArMSw2 IEBACj4gLS8qCj4gLSAqIENvcHlyaWdodCAoQykgMjAxMyBTYXNjaGEgSGF1ZXIgPHMuaGF1ZXJA cGVuZ3V0cm9uaXguZGU+Cj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJl OyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKPiAtICogbW9kaWZ5IGl0IHVuZGVyIHRo ZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMKPiAtICogcHVibGlz aGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YK PiAtICogdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24u Cj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0 IGl0IHdpbGwgYmUgdXNlZnVsLAo+IC0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhv dXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgo+IC0gKiBNRVJDSEFOVEFCSUxJVFkgb3Ig RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCj4gLSAqIEdOVSBHZW5l cmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCj4gLSAqCj4gLSAqLwo+ICsvLyBT UERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vci1sYXRlcgo+ICsvLyBTUERYLUZpbGVD b3B5cmlnaHRUZXh0OiDCqSAyMDEzIFNhc2NoYSBIYXVlciA8cy5oYXVlckBwZW5ndXRyb25peC5k ZT4KPiArCj4gICNpbmNsdWRlIDxjb21tb24uaD4KPiAgI2luY2x1ZGUgPGxpbnV4L3NpemVzLmg+ Cj4gICNpbmNsdWRlIDxpby5oPgo+IGRpZmYgLS1naXQgYS9hcmNoL2FybS9ib2FyZHMvZGZpLWZz NzAwLW02MC9ib2FyZC5jIGIvYXJjaC9hcm0vYm9hcmRzL2RmaS1mczcwMC1tNjAvYm9hcmQuYwo+ IGluZGV4IDJjYjhlMzEwNmYzMC4uYjE5ZjJmMTBhYjMyIDEwMDY0NAo+IC0tLSBhL2FyY2gvYXJt L2JvYXJkcy9kZmktZnM3MDAtbTYwL2JvYXJkLmMKPiArKysgYi9hcmNoL2FybS9ib2FyZHMvZGZp LWZzNzAwLW02MC9ib2FyZC5jCj4gQEAgLTEsMjEgKzEsNiBAQAo+IC0vKgo+IC0gKiBDb3B5cmln aHQgKEMpIDIwMTMgU2FzY2hhIEhhdWVyLCBQZW5ndXRyb25peAo+IC0gKgo+IC0gKiBUaGlzIHBy b2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCj4g LSAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBM aWNlbnNlIGFzCj4gLSAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u OyBlaXRoZXIgdmVyc2lvbiAyIG9mCj4gLSAqIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRp b24pIGFueSBsYXRlciB2ZXJzaW9uLgo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJp YnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKPiAtICogYnV0IFdJVEhP VVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKPiAt ICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAg U2VlIHRoZQo+IC0gKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxz Lgo+IC0gKgo+IC0gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUg R2VuZXJhbCBQdWJsaWMgTGljZW5zZQo+IC0gKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYg bm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQo+IC0gKiBGb3VuZGF0aW9uLgo+IC0gKgo+ IC0gKi8KPiArLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb3ItbGF0ZXIKPiAr Ly8gU1BEWC1GaWxlQ29weXJpZ2h0VGV4dDogwqkgMjAxMyBTYXNjaGEgSGF1ZXIsIFBlbmd1dHJv bml4Cj4gKwo+ICAjZGVmaW5lIHByX2ZtdChmbXQpICAiZGZpLWZzNzAwLW02MDogIiBmbXQKPiAg Cj4gICNpbmNsdWRlIDxnZW5lcmF0ZWQvbWFjaC10eXBlcy5oPgo+IGRpZmYgLS1naXQgYS9hcmNo L2FybS9ib2FyZHMvZGZpLWZzNzAwLW02MC9sb3dsZXZlbC5jIGIvYXJjaC9hcm0vYm9hcmRzL2Rm aS1mczcwMC1tNjAvbG93bGV2ZWwuYwo+IGluZGV4IDUyMGVkNGM0NmI3Ny4uOTRmMzViNWYzOTBl IDEwMDY0NAo+IC0tLSBhL2FyY2gvYXJtL2JvYXJkcy9kZmktZnM3MDAtbTYwL2xvd2xldmVsLmMK PiArKysgYi9hcmNoL2FybS9ib2FyZHMvZGZpLWZzNzAwLW02MC9sb3dsZXZlbC5jCj4gQEAgLTEs MTcgKzEsNiBAQAo+IC0vKgo+IC0gKiBDb3B5cmlnaHQgKEMpIDIwMTMgU2FzY2hhIEhhdWVyIDxz LmhhdWVyQHBlbmd1dHJvbml4LmRlPgo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBz b2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCj4gLSAqIG1vZGlmeSBpdCB1 bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzCj4gLSAq IHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lv biAyIG9mCj4gLSAqIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2 ZXJzaW9uLgo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhv cGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKPiAtICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZ OyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKPiAtICogTUVSQ0hBTlRBQklM SVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQo+IC0gKiBH TlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgo+IC0gKgo+IC0gKi8K PiArLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb3ItbGF0ZXIKPiArLy8gU1BE WC1GaWxlQ29weXJpZ2h0VGV4dDogwqkgMjAxMyBTYXNjaGEgSGF1ZXIgPHMuaGF1ZXJAcGVuZ3V0 cm9uaXguZGU+Cj4gKwo+ICAjaW5jbHVkZSA8Y29tbW9uLmg+Cj4gICNpbmNsdWRlIDxsaW51eC9z aXplcy5oPgo+ICAjaW5jbHVkZSA8aW8uaD4KPiBkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vYm9hcmRz L2RpZ2ktY2NpbXg2dWxzb20vYm9hcmQuYyBiL2FyY2gvYXJtL2JvYXJkcy9kaWdpLWNjaW14NnVs c29tL2JvYXJkLmMKPiBpbmRleCAxZmI0NTE1NDhmNzguLmYyMjA3NWVmNzg1ZSAxMDA2NDQKPiAt LS0gYS9hcmNoL2FybS9ib2FyZHMvZGlnaS1jY2lteDZ1bHNvbS9ib2FyZC5jCj4gKysrIGIvYXJj aC9hcm0vYm9hcmRzL2RpZ2ktY2NpbXg2dWxzb20vYm9hcmQuYwo+IEBAIC0xLDIxICsxLDUgQEAK PiAtLyoKPiAtICogQ29weXJpZ2h0IChDKSAyMDE5IFJvdXZlbiBDemVyd2luc2tpLCBQZW5ndXRy b25peAo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiBy ZWRpc3RyaWJ1dGUgaXQgYW5kL29yCj4gLSAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2Yg dGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzCj4gLSAqIHB1Ymxpc2hlZCBieSB0aGUg RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mCj4gLSAqIHRoZSBM aWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgo+IC0gKgo+IC0g KiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJl IHVzZWZ1bCwKPiAtICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhl IGltcGxpZWQgd2FycmFudHkgb2YKPiAtICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9S IEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQo+IC0gKiBHTlUgR2VuZXJhbCBQdWJsaWMg TGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgo+IC0gKgo+IC0gKiBZb3Ugc2hvdWxkIGhhdmUgcmVj ZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQo+IC0gKiBhbG9u ZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQo+ IC0gKiBGb3VuZGF0aW9uLgo+IC0gKgo+IC0gKi8KPiArLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZp ZXI6IEdQTC0yLjAtb3ItbGF0ZXIKPiArLy8gU1BEWC1GaWxlQ29weXJpZ2h0VGV4dDogwqkgMjAx OSBSb3V2ZW4gQ3plcndpbnNraSwgUGVuZ3V0cm9uaXgKPiAgCj4gICNpbmNsdWRlIDxjb21tb24u aD4KPiAgI2luY2x1ZGUgPGluaXQuaD4KPiBkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vYm9hcmRzL2Rz czExL2luaXQuYyBiL2FyY2gvYXJtL2JvYXJkcy9kc3MxMS9pbml0LmMKPiBpbmRleCAwZDBiNWUy OWJmYzMuLjE5MGJmYmMxOTM4OSAxMDA2NDQKPiAtLS0gYS9hcmNoL2FybS9ib2FyZHMvZHNzMTEv aW5pdC5jCj4gKysrIGIvYXJjaC9hcm0vYm9hcmRzL2RzczExL2luaXQuYwo+IEBAIC0xLDE2ICsx LDUgQEAKPiAtLyoKPiAtICogQ29weXJpZ2h0IChDKSAyMDExIE1pY2hhZWwgR3J6ZXNjaGlrIDxt Z3JAcGVuZ3V0cm9uaXguZGU+Cj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3 YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKPiAtICogbW9kaWZ5IGl0IHVuZGVy IHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMKPiAtICogcHVi bGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIg b2YKPiAtICogdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNp b24uCj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0 aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAo+IC0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdp dGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgo+IC0gKiBNRVJDSEFOVEFCSUxJVFkg b3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCj4gLSAqIEdOVSBH ZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCj4gLSAqLwo+ICsvLyBTUERY LUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vci1sYXRlcgo+ICsvLyBTUERYLUZpbGVDb3B5 cmlnaHRUZXh0OiDCqSAyMDExIE1pY2hhZWwgR3J6ZXNjaGlrIDxtZ3JAcGVuZ3V0cm9uaXguZGU+ Cj4gIAo+ICAjaW5jbHVkZSA8Y29tbW9uLmg+Cj4gICNpbmNsdWRlIDxuZXQuaD4KPiBkaWZmIC0t Z2l0IGEvYXJjaC9hcm0vYm9hcmRzL2R1Y2tiaWxsL2JvYXJkLmMgYi9hcmNoL2FybS9ib2FyZHMv ZHVja2JpbGwvYm9hcmQuYwo+IGluZGV4IDEzZDRhZTQzY2ZiYS4uYzZmMWYzOWQzMWY2IDEwMDY0 NAo+IC0tLSBhL2FyY2gvYXJtL2JvYXJkcy9kdWNrYmlsbC9ib2FyZC5jCj4gKysrIGIvYXJjaC9h cm0vYm9hcmRzL2R1Y2tiaWxsL2JvYXJkLmMKPiBAQCAtMSwxOCArMSw3IEBACj4gLS8qCj4gLSAq IENvcHlyaWdodCAoQykgMjAxMCBKdWVyZ2VuIEJlaXNlcnQsIFBlbmd1dHJvbml4IDxrZXJuZWxA cGVuZ3V0cm9uaXguZGU+Cj4gLSAqIENvcHlyaWdodCAoQykgMjAxMSBNYXJjIEtsZWluZS1CdWRk ZSwgUGVuZ3V0cm9uaXggPG1rbEBwZW5ndXRyb25peC5kZT4KPiAtICogQ29weXJpZ2h0IChDKSAy MDExIFdvbGZyYW0gU2FuZywgUGVuZ3V0cm9uaXggPHcuc2FuZ0BwZW5ndXRyb25peC5kZT4KPiAt ICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmli dXRlIGl0IGFuZC9vcgo+IC0gKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUg R2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcwo+IC0gKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29m dHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZgo+IC0gKiB0aGUgTGljZW5zZSwg b3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KPiAtICoKPiAtICogVGhpcyBw cm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWws Cj4gLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVk IHdhcnJhbnR5IG9mCj4gLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJ Q1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKPiAtICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2Ug Zm9yIG1vcmUgZGV0YWlscy4KPiAtICovCj4gKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBH UEwtMi4wLW9yLWxhdGVyCj4gKy8vIFNQRFgtRmlsZUNvcHlyaWdodFRleHQ6IMKpIDIwMTAgSnVl cmdlbiBCZWlzZXJ0IDxrZXJuZWxAcGVuZ3V0cm9uaXguZGU+LCBQZW5ndXRyb25peAo+ICsvLyBT UERYLUZpbGVDb3B5cmlnaHRUZXh0OiDCqSAyMDExIE1hcmMgS2xlaW5lLUJ1ZGRlIDxta2xAcGVu Z3V0cm9uaXguZGU+LCBQZW5ndXRyb25peAo+ICsvLyBTUERYLUZpbGVDb3B5cmlnaHRUZXh0OiDC qSAyMDExIFdvbGZyYW0gU2FuZyA8dy5zYW5nQHBlbmd1dHJvbml4LmRlPiwgUGVuZ3V0cm9uaXgK PiAgCj4gICNpbmNsdWRlIDxjb21tb24uaD4KPiAgI2luY2x1ZGUgPGVudmlyb25tZW50Lmg+Cj4g ZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2JvYXJkcy9lZGI5M3h4L2Vhcmx5X3VkZWxheS5oIGIvYXJj aC9hcm0vYm9hcmRzL2VkYjkzeHgvZWFybHlfdWRlbGF5LmgKPiBpbmRleCAzNzFhYjUwODhjMmUu LmU0ZGUwMTM4MDI4MyAxMDA2NDQKPiAtLS0gYS9hcmNoL2FybS9ib2FyZHMvZWRiOTN4eC9lYXJs eV91ZGVsYXkuaAo+ICsrKyBiL2FyY2gvYXJtL2JvYXJkcy9lZGI5M3h4L2Vhcmx5X3VkZWxheS5o Cj4gQEAgLTEsMTcgKzEsNSBAQAo+IC0vKgo+IC0gKiBDb3B5cmlnaHQgKEMpIDIwMDkgTWF0dGhp YXMgS2FlaGxja2UgPG1hdHRoaWFzQGthZWhsY2tlLm5ldD4KPiAtICoKPiAtICogVGhpcyBwcm9n cmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgo+IC0g KiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGlj ZW5zZSBhcwo+IC0gKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsg ZWl0aGVyIHZlcnNpb24gMiBvZgo+IC0gKiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9u KSBhbnkgbGF0ZXIgdmVyc2lvbi4KPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1 dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCj4gLSAqIGJ1dCBXSVRIT1VU IEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCj4gLSAq IE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNl ZSB0aGUKPiAtICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4K PiAtICoKPiAtICovCj4gKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9yLWxh dGVyCj4gKy8vIFNQRFgtRmlsZUNvcHlyaWdodFRleHQ6IMKpIDIwMDkgTWF0dGhpYXMgS2FlaGxj a2UgPG1hdHRoaWFzQGthZWhsY2tlLm5ldD4KPiAgCj4gICNpbmNsdWRlIDxjb21tb24uaD4KPiAg Cj4gZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2JvYXJkcy9lZGI5M3h4L2VkYjkzeHguYyBiL2FyY2gv YXJtL2JvYXJkcy9lZGI5M3h4L2VkYjkzeHguYwo+IGluZGV4IDYyZWZhOGZiOTY0YS4uMDZlMjM0 MGE1ZjBjIDEwMDY0NAo+IC0tLSBhL2FyY2gvYXJtL2JvYXJkcy9lZGI5M3h4L2VkYjkzeHguYwo+ ICsrKyBiL2FyY2gvYXJtL2JvYXJkcy9lZGI5M3h4L2VkYjkzeHguYwo+IEBAIC0xLDE3ICsxLDUg QEAKPiAtLyoKPiAtICogQ29weXJpZ2h0IChDKSAyMDA5IE1hdHRoaWFzIEthZWhsY2tlIDxtYXR0 aGlhc0BrYWVobGNrZS5uZXQ+Cj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3 YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKPiAtICogbW9kaWZ5IGl0IHVuZGVy IHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMKPiAtICogcHVi bGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIg b2YKPiAtICogdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNp b24uCj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0 aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAo+IC0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdp dGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgo+IC0gKiBNRVJDSEFOVEFCSUxJVFkg b3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCj4gLSAqIEdOVSBH ZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCj4gLSAqCj4gLSAqLwo+ICsv LyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vci1sYXRlcgo+ICsvLyBTUERYLUZp bGVDb3B5cmlnaHRUZXh0OiDCqSAyMDA5IE1hdHRoaWFzIEthZWhsY2tlIDxtYXR0aGlhc0BrYWVo bGNrZS5uZXQ+Cj4gIAo+ICAjaW5jbHVkZSA8Y29tbW9uLmg+Cj4gICNpbmNsdWRlIDxkcml2ZXIu aD4KPiBkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vYm9hcmRzL2VkYjkzeHgvZWRiOTN4eC5oIGIvYXJj aC9hcm0vYm9hcmRzL2VkYjkzeHgvZWRiOTN4eC5oCj4gaW5kZXggNTI5Mzg1OGY5ZDViLi5hM2I4 MzIxNjZlZTggMTAwNjQ0Cj4gLS0tIGEvYXJjaC9hcm0vYm9hcmRzL2VkYjkzeHgvZWRiOTN4eC5o Cj4gKysrIGIvYXJjaC9hcm0vYm9hcmRzL2VkYjkzeHgvZWRiOTN4eC5oCj4gQEAgLTEsMTcgKzEs NSBAQAo+IC0vKgo+IC0gKiBDb3B5cmlnaHQgKEMpIDIwMDkgTWF0dGhpYXMgS2FlaGxja2UgPG1h dHRoaWFzQGthZWhsY2tlLm5ldD4KPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29m dHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgo+IC0gKiBtb2RpZnkgaXQgdW5k ZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcwo+IC0gKiBw dWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24g MiBvZgo+IC0gKiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVy c2lvbi4KPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3Bl IHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCj4gLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsg d2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCj4gLSAqIE1FUkNIQU5UQUJJTElU WSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKPiAtICogR05V IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KPiAtICoKPiAtICovCj4g Ky8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9yLWxhdGVyCj4gKy8vIFNQRFgt RmlsZUNvcHlyaWdodFRleHQ6IMKpIDIwMDkgTWF0dGhpYXMgS2FlaGxja2UgPG1hdHRoaWFzQGth ZWhsY2tlLm5ldD4KPiAgCj4gICNpZiBkZWZpbmVkKENPTkZJR19NQUNIX0VEQjkzMDEpCj4gICNk ZWZpbmUgTUFDSF9UWVBFIE1BQ0hfVFlQRV9FREI5MzAxCj4gZGlmZiAtLWdpdCBhL2FyY2gvYXJt L2JvYXJkcy9lZGI5M3h4L2ZsYXNoX2NmZy5jIGIvYXJjaC9hcm0vYm9hcmRzL2VkYjkzeHgvZmxh c2hfY2ZnLmMKPiBpbmRleCBmM2I4ODczYmFjMjcuLjJkMTI4NmRmMDA4NyAxMDA2NDQKPiAtLS0g YS9hcmNoL2FybS9ib2FyZHMvZWRiOTN4eC9mbGFzaF9jZmcuYwo+ICsrKyBiL2FyY2gvYXJtL2Jv YXJkcy9lZGI5M3h4L2ZsYXNoX2NmZy5jCj4gQEAgLTEsMTkgKzEsNyBAQAo+IC0vKgo+IC0gKiBG bGFzaCBzZXR1cCBmb3IgQ2lycnVzIGVkYjkzeHggYm9hcmRzCj4gLSAqCj4gLSAqIENvcHlyaWdo dCAoQykgMjAwOSBNYXR0aGlhcyBLYWVobGNrZSA8bWF0dGhpYXNAa2FlaGxja2UubmV0Pgo+IC0g Kgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1 dGUgaXQgYW5kL29yCj4gLSAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBH ZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzCj4gLSAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0 d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mCj4gLSAqIHRoZSBMaWNlbnNlLCBv ciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgo+IC0gKgo+IC0gKiBUaGlzIHBy b2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwK PiAtICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQg d2FycmFudHkgb2YKPiAtICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElD VUxBUiBQVVJQT1NFLiBTZWUgdGhlCj4gLSAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZv ciBtb3JlIGRldGFpbHMuCj4gLSAqCj4gLSAqLwo+ICsvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmll cjogR1BMLTIuMC1vci1sYXRlcgo+ICsvLyBTUERYLUZpbGVDb3B5cmlnaHRUZXh0OiDCqSAyMDA5 IE1hdHRoaWFzIEthZWhsY2tlIDxtYXR0aGlhc0BrYWVobGNrZS5uZXQ+Cj4gKwo+ICsvKiBGbGFz aCBzZXR1cCBmb3IgQ2lycnVzIGVkYjkzeHggYm9hcmRzICovCj4gIAo+ICAjaW5jbHVkZSA8Y29t bW9uLmg+Cj4gICNpbmNsdWRlIDxtYWNoL2VwOTN4eC1yZWdzLmg+Cj4gZGlmZiAtLWdpdCBhL2Fy Y2gvYXJtL2JvYXJkcy9lZGI5M3h4L3BsbF9jZmcuYyBiL2FyY2gvYXJtL2JvYXJkcy9lZGI5M3h4 L3BsbF9jZmcuYwo+IGluZGV4IDhiZTY3OWU3MTE4ZS4uNTQ0ZmYyODliNDFlIDEwMDY0NAo+IC0t LSBhL2FyY2gvYXJtL2JvYXJkcy9lZGI5M3h4L3BsbF9jZmcuYwo+ICsrKyBiL2FyY2gvYXJtL2Jv YXJkcy9lZGI5M3h4L3BsbF9jZmcuYwo+IEBAIC0xLDIxICsxLDggQEAKPiAtLyoKPiAtICogUExM IHNldHVwIGZvciBDaXJydXMgZWRiOTN4eCBib2FyZHMKPiAtICoKPiAtICogQ29weXJpZ2h0IChD KSAyMDA5IE1hdHRoaWFzIEthZWhsY2tlIDxtYXR0aGlhc0BrYWVobGNrZS5uZXQ+Cj4gLSAqCj4g LSAqIENvcHlyaWdodCAoQykgMjAwNiBEb21pbmljIFJhdGggPERvbWluaWMuUmF0aEBnbXguZGU+ Cj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlz dHJpYnV0ZSBpdCBhbmQvb3IKPiAtICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUg R05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMKPiAtICogcHVibGlzaGVkIGJ5IHRoZSBGcmVl IFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YKPiAtICogdGhlIExpY2Vu c2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCj4gLSAqCj4gLSAqIFRo aXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNl ZnVsLAo+IC0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1w bGllZCB3YXJyYW50eSBvZgo+IC0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQ QVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUKPiAtICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vu c2UgZm9yIG1vcmUgZGV0YWlscy4KPiAtICoKPiAtICovCj4gKy8vIFNQRFgtTGljZW5zZS1JZGVu dGlmaWVyOiBHUEwtMi4wLW9yLWxhdGVyCj4gKy8vIFNQRFgtRmlsZUNvcHlyaWdodFRleHQ6IMKp IDIwMDkgTWF0dGhpYXMgS2FlaGxja2UgPG1hdHRoaWFzQGthZWhsY2tlLm5ldD4KPiArLy8gU1BE WC1GaWxlQ29weXJpZ2h0VGV4dDogwqkgMjAwNiBEb21pbmljIFJhdGggPERvbWluaWMuUmF0aEBn bXguZGU+Cj4gKwo+ICsvKiBQTEwgc2V0dXAgZm9yIENpcnJ1cyBlZGI5M3h4IGJvYXJkcyAqLwo+ ICAKPiAgI2luY2x1ZGUgPGNvbW1vbi5oPgo+ICAjaW5jbHVkZSA8aW8uaD4KPiBkaWZmIC0tZ2l0 IGEvYXJjaC9hcm0vYm9hcmRzL2VkYjkzeHgvcGxsX2NmZy5oIGIvYXJjaC9hcm0vYm9hcmRzL2Vk YjkzeHgvcGxsX2NmZy5oCj4gaW5kZXggYWQzZDg5NmQ5M2MwLi5jOWI2ZTY3M2RiZDggMTAwNjQ0 Cj4gLS0tIGEvYXJjaC9hcm0vYm9hcmRzL2VkYjkzeHgvcGxsX2NmZy5oCj4gKysrIGIvYXJjaC9h cm0vYm9hcmRzL2VkYjkzeHgvcGxsX2NmZy5oCj4gQEAgLTEsMTkgKzEsNyBAQAo+IC0vKgo+IC0g KiBQTEwgcmVnaXN0ZXIgdmFsdWVzIGZvciBDaXJydXMgZWRiOTN4eCBib2FyZHMKPiAtICoKPiAt ICogQ29weXJpZ2h0IChDKSAyMDA5IE1hdHRoaWFzIEthZWhsY2tlIDxtYXR0aGlhc0BrYWVobGNr ZS5uZXQ+Cj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2Fu IHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKPiAtICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBv ZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMKPiAtICogcHVibGlzaGVkIGJ5IHRo ZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YKPiAtICogdGhl IExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCj4gLSAqCj4g LSAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwg YmUgdXNlZnVsLAo+IC0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0 aGUgaW1wbGllZCB3YXJyYW50eSBvZgo+IC0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBG T1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUKPiAtICogR05VIEdlbmVyYWwgUHVibGlj IExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KPiAtICoKPiAtICovCj4gKy8vIFNQRFgtTGljZW5z ZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9yLWxhdGVyCj4gKy8vIFNQRFgtRmlsZUNvcHlyaWdodFRl eHQ6IMKpIDIwMDkgTWF0dGhpYXMgS2FlaGxja2UgPG1hdHRoaWFzQGthZWhsY2tlLm5ldD4KPiAr Cj4gKy8qIFBMTCByZWdpc3RlciB2YWx1ZXMgZm9yIENpcnJ1cyBlZGI5M3h4IGJvYXJkcyAqLwo+ ICAKPiAgI2luY2x1ZGUgPGNvbmZpZy5oPgo+ICAjaW5jbHVkZSA8bWFjaC9lcDkzeHgtcmVncy5o Pgo+IGRpZmYgLS1naXQgYS9hcmNoL2FybS9ib2FyZHMvZWRiOTN4eC9zZHJhbV9jZmcuYyBiL2Fy Y2gvYXJtL2JvYXJkcy9lZGI5M3h4L3NkcmFtX2NmZy5jCj4gaW5kZXggMTFlNGZkN2NhNDY5Li5k ZTUwMzJlZjM2ZGQgMTAwNjQ0Cj4gLS0tIGEvYXJjaC9hcm0vYm9hcmRzL2VkYjkzeHgvc2RyYW1f Y2ZnLmMKPiArKysgYi9hcmNoL2FybS9ib2FyZHMvZWRiOTN4eC9zZHJhbV9jZmcuYwo+IEBAIC0x LDE5ICsxLDYgQEAKPiAtLyoKPiAtICogQ29weXJpZ2h0IChDKSAyMDA5IE1hdHRoaWFzIEthZWhs Y2tlIDxtYXR0aGlhc0BrYWVobGNrZS5uZXQ+Cj4gLSAqCj4gLSAqIENvcHlyaWdodCAoQykgMjAw NiBEb21pbmljIFJhdGggPERvbWluaWMuUmF0aEBnbXguZGU+Cj4gLSAqCj4gLSAqIFRoaXMgcHJv Z3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKPiAt ICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExp Y2Vuc2UgYXMKPiAtICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247 IGVpdGhlciB2ZXJzaW9uIDIgb2YKPiAtICogdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlv bikgYW55IGxhdGVyIHZlcnNpb24uCj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmli dXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAo+IC0gKiBidXQgV0lUSE9V VCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgo+IC0g KiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBT ZWUgdGhlCj4gLSAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMu Cj4gLSAqCj4gLSAqLwo+ICsvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vci1s YXRlcgo+ICsvLyBTUERYLUZpbGVDb3B5cmlnaHRUZXh0OiDCqSAyMDA5IE1hdHRoaWFzIEthZWhs Y2tlIDxtYXR0aGlhc0BrYWVobGNrZS5uZXQ+Cj4gKy8vIFNQRFgtRmlsZUNvcHlyaWdodFRleHQ6 IMKpIDIwMDYgRG9taW5pYyBSYXRoIDxEb21pbmljLlJhdGhAZ214LmRlPgo+ICAKPiAgI2luY2x1 ZGUgPGNvbW1vbi5oPgo+ICAjaW5jbHVkZSA8aW8uaD4KPiBkaWZmIC0tZ2l0IGEvYXJjaC9hcm0v Ym9hcmRzL2VkYjkzeHgvc2RyYW1fY2ZnLmggYi9hcmNoL2FybS9ib2FyZHMvZWRiOTN4eC9zZHJh bV9jZmcuaAo+IGluZGV4IGE1NzIwYjg2OTRkMC4uNmNmZDBkZjFmN2U4IDEwMDY0NAo+IC0tLSBh L2FyY2gvYXJtL2JvYXJkcy9lZGI5M3h4L3NkcmFtX2NmZy5oCj4gKysrIGIvYXJjaC9hcm0vYm9h cmRzL2VkYjkzeHgvc2RyYW1fY2ZnLmgKPiBAQCAtMSwxOSArMSw2IEBACj4gLS8qCj4gLSAqIENv cHlyaWdodCAoQykgMjAwOSBNYXR0aGlhcyBLYWVobGNrZSA8bWF0dGhpYXNAa2FlaGxja2UubmV0 Pgo+IC0gKgo+IC0gKiBDb3B5cmlnaHQgKEMpIDIwMDYgRG9taW5pYyBSYXRoIDxEb21pbmljLlJh dGhAZ214LmRlPgo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91 IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCj4gLSAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVy bXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzCj4gLSAqIHB1Ymxpc2hlZCBi eSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mCj4gLSAq IHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgo+IC0g Kgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3 aWxsIGJlIHVzZWZ1bCwKPiAtICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2 ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKPiAtICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5F U1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQo+IC0gKiBHTlUgR2VuZXJhbCBQ dWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgo+IC0gKgo+IC0gKi8KPiArLy8gU1BEWC1M aWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb3ItbGF0ZXIKPiArLy8gU1BEWC1GaWxlQ29weXJp Z2h0VGV4dDogwqkgMjAwOSBNYXR0aGlhcyBLYWVobGNrZSA8bWF0dGhpYXNAa2FlaGxja2UubmV0 Pgo+ICsvLyBTUERYLUZpbGVDb3B5cmlnaHRUZXh0OiDCqSAyMDA2IERvbWluaWMgUmF0aCA8RG9t aW5pYy5SYXRoQGdteC5kZT4KPiAgCj4gICNpbmNsdWRlIDxjb25maWcuaD4KPiAgI2luY2x1ZGUg PG1hY2gvZXA5M3h4LXJlZ3MuaD4KPiBkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vYm9hcmRzL2VmaWth LW14LXNtYXJ0Ym9vay9ib2FyZC5jIGIvYXJjaC9hcm0vYm9hcmRzL2VmaWthLW14LXNtYXJ0Ym9v ay9ib2FyZC5jCj4gaW5kZXggZWM0MWViOGMxMWE1Li43ZGM5MzA4MTZjMDcgMTAwNjQ0Cj4gLS0t IGEvYXJjaC9hcm0vYm9hcmRzL2VmaWthLW14LXNtYXJ0Ym9vay9ib2FyZC5jCj4gKysrIGIvYXJj aC9hcm0vYm9hcmRzL2VmaWthLW14LXNtYXJ0Ym9vay9ib2FyZC5jCj4gQEAgLTEsMTcgKzEsNSBA QAo+IC0vKgo+IC0gKiBDb3B5cmlnaHQgKEMpIDIwMDcgU2FzY2hhIEhhdWVyLCBQZW5ndXRyb25p eAo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRp c3RyaWJ1dGUgaXQgYW5kL29yCj4gLSAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhl IEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzCj4gLSAqIHB1Ymxpc2hlZCBieSB0aGUgRnJl ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mCj4gLSAqIHRoZSBMaWNl bnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgo+IC0gKgo+IC0gKiBU aGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVz ZWZ1bCwKPiAtICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGlt cGxpZWQgd2FycmFudHkgb2YKPiAtICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEg UEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQo+IC0gKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGlj ZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgo+IC0gKgo+IC0gKi8KPiArLy8gU1BEWC1MaWNlbnNlLUlk ZW50aWZpZXI6IEdQTC0yLjAtb3ItbGF0ZXIKPiArLy8gU1BEWC1GaWxlQ29weXJpZ2h0VGV4dDog wqkgMjAwNyBTYXNjaGEgSGF1ZXIsIFBlbmd1dHJvbml4Cj4gIAo+ICAjaW5jbHVkZSA8ZW52aXJv bm1lbnQuaD4KPiAgI2luY2x1ZGUgPGJvb3Rzb3VyY2UuaD4KPiBkaWZmIC0tZ2l0IGEvYXJjaC9h cm0vYm9hcmRzL2VsZW1lbnQxNC13YXJwNy9ib2FyZC5jIGIvYXJjaC9hcm0vYm9hcmRzL2VsZW1l bnQxNC13YXJwNy9ib2FyZC5jCj4gaW5kZXggODRmYzg4NWRhMWE0Li4yOTllYjM4N2YxZDYgMTAw NjQ0Cj4gLS0tIGEvYXJjaC9hcm0vYm9hcmRzL2VsZW1lbnQxNC13YXJwNy9ib2FyZC5jCj4gKysr IGIvYXJjaC9hcm0vYm9hcmRzL2VsZW1lbnQxNC13YXJwNy9ib2FyZC5jCj4gQEAgLTEsMTYgKzEs NSBAQAo+IC0vKgo+IC0gKiBDb3B5cmlnaHQgKEMpIDIwMTcgU2FzY2hhIEhhdWVyLCBQZW5ndXRy b25peAo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiBy ZWRpc3RyaWJ1dGUgaXQgYW5kL29yCj4gLSAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2Yg dGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzCj4gLSAqIHB1Ymxpc2hlZCBieSB0aGUg RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mCj4gLSAqIHRoZSBM aWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgo+IC0gKgo+IC0g KiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJl IHVzZWZ1bCwKPiAtICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhl IGltcGxpZWQgd2FycmFudHkgb2YKPiAtICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9S IEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQo+IC0gKiBHTlUgR2VuZXJhbCBQdWJsaWMg TGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgo+IC0gKi8KPiArLy8gU1BEWC1MaWNlbnNlLUlkZW50 aWZpZXI6IEdQTC0yLjAtb3ItbGF0ZXIKPiArLy8gU1BEWC1GaWxlQ29weXJpZ2h0VGV4dDogwqkg MjAxNyBTYXNjaGEgSGF1ZXIsIFBlbmd1dHJvbml4Cj4gIAo+ICAjaW5jbHVkZSA8Y29tbW9uLmg+ Cj4gICNpbmNsdWRlIDxpbml0Lmg+Cj4gZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2JvYXJkcy9lbHRl Yy1oaXBlcmNhbS9ib2FyZC5jIGIvYXJjaC9hcm0vYm9hcmRzL2VsdGVjLWhpcGVyY2FtL2JvYXJk LmMKPiBpbmRleCAwNGFkMjUzZTZjNmUuLjJjMDY2OGY1MTUwNCAxMDA2NDQKPiAtLS0gYS9hcmNo L2FybS9ib2FyZHMvZWx0ZWMtaGlwZXJjYW0vYm9hcmQuYwo+ICsrKyBiL2FyY2gvYXJtL2JvYXJk cy9lbHRlYy1oaXBlcmNhbS9ib2FyZC5jCj4gQEAgLTEsMTcgKzEsNSBAQAo+IC0vKgo+IC0gKiBD b3B5cmlnaHQgKEMpIDIwMTUgU2FzY2hhIEhhdWVyIDxzLmhhdWVyQHBlbmd1dHJvbml4LmRlPgo+ IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3Ry aWJ1dGUgaXQgYW5kL29yCj4gLSAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdO VSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzCj4gLSAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBT b2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mCj4gLSAqIHRoZSBMaWNlbnNl LCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgo+IC0gKgo+IC0gKiBUaGlz IHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1 bCwKPiAtICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxp ZWQgd2FycmFudHkgb2YKPiAtICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFS VElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQo+IC0gKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5z ZSBmb3IgbW9yZSBkZXRhaWxzLgo+IC0gKgo+IC0gKi8KPiArLy8gU1BEWC1MaWNlbnNlLUlkZW50 aWZpZXI6IEdQTC0yLjAtb3ItbGF0ZXIKPiArLy8gU1BEWC1GaWxlQ29weXJpZ2h0VGV4dDogwqkg MjAxNSBTYXNjaGEgSGF1ZXIgPHMuaGF1ZXJAcGVuZ3V0cm9uaXguZGU+Cj4gIAo+ICAjaW5jbHVk ZSA8Y29tbW9uLmg+Cj4gICNpbmNsdWRlIDxpbml0Lmg+Cj4gZGlmZiAtLWdpdCBhL2FyY2gvYXJt L2JvYXJkcy9lbHRlYy1oaXBlcmNhbS9sb3dsZXZlbC5jIGIvYXJjaC9hcm0vYm9hcmRzL2VsdGVj LWhpcGVyY2FtL2xvd2xldmVsLmMKPiBpbmRleCAyZjJjZDlhYWI3YjEuLjg5MmFlMTVmZTBiNCAx MDA2NDQKPiAtLS0gYS9hcmNoL2FybS9ib2FyZHMvZWx0ZWMtaGlwZXJjYW0vbG93bGV2ZWwuYwo+ ICsrKyBiL2FyY2gvYXJtL2JvYXJkcy9lbHRlYy1oaXBlcmNhbS9sb3dsZXZlbC5jCj4gQEAgLTEs MTcgKzEsNiBAQAo+IC0vKgo+IC0gKiBDb3B5cmlnaHQgKEMpIDIwMTUgU2FzY2hhIEhhdWVyIDxz LmhhdWVyQHBlbmd1dHJvbml4LmRlPgo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBz b2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCj4gLSAqIG1vZGlmeSBpdCB1 bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzCj4gLSAq IHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lv biAyIG9mCj4gLSAqIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2 ZXJzaW9uLgo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhv cGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKPiAtICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZ OyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKPiAtICogTUVSQ0hBTlRBQklM SVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQo+IC0gKiBH TlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgo+IC0gKgo+IC0gKi8K PiArLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb3ItbGF0ZXIKPiArLy8gU1BE WC1GaWxlQ29weXJpZ2h0VGV4dDogwqkgMjAxNSBTYXNjaGEgSGF1ZXIgPHMuaGF1ZXJAcGVuZ3V0 cm9uaXguZGU+Cj4gKwo+ICAjaW5jbHVkZSA8Y29tbW9uLmg+Cj4gICNpbmNsdWRlIDxsaW51eC9z aXplcy5oPgo+ICAjaW5jbHVkZSA8aW8uaD4KPiBkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vYm9hcmRz L2VtYmVkc2t5LWU5L2JvYXJkLmMgYi9hcmNoL2FybS9ib2FyZHMvZW1iZWRza3ktZTkvYm9hcmQu Ywo+IGluZGV4IGU1ZjkyNjM2ZmJjMy4uZTg2ZDE3MDAzNzZiIDEwMDY0NAo+IC0tLSBhL2FyY2gv YXJtL2JvYXJkcy9lbWJlZHNreS1lOS9ib2FyZC5jCj4gKysrIGIvYXJjaC9hcm0vYm9hcmRzL2Vt YmVkc2t5LWU5L2JvYXJkLmMKPiBAQCAtMSwyMSArMSwxMiBAQAo+ICsvLyBTUERYLUxpY2Vuc2Ut SWRlbnRpZmllcjogR1BMLTIuMC1vci1sYXRlcgo+ICsvLyBTUERYLUZpbGVDb3B5cmlnaHRUZXh0 OiDCqSAyMDE0IEFuZHJleSBQYW5vdiA8cm9ja2ZvcmRAeWFuZGV4LnJ1Pgo+ICsKPiAgLyoKPiAt ICogQ29weXJpZ2h0IChDKSAyMDE0IEFuZHJleSBQYW5vdiA8cm9ja2ZvcmRAeWFuZGV4LnJ1Pgo+ IC0gKgo+ICAgKiBiYXNlZCBvbiBhcmNoL2FybS9ib2FyZHMvZnJlZXNjYWxlLW14Ni1zYWJyZXNk L2JvYXJkLmMKPiAgICogQ29weXJpZ2h0IChDKSAyMDEzIEh1YmVydCBGZXVyc3RlaW4gPGguZmV1 cnN0ZWluQGdtYWlsLmNvbT4KPiAgICoKPiAgICogYmFzZWQgb24gYXJjaC9hcm0vYm9hcmRzL2Zy ZWVzY2FsZS1teDYtc2FicmVsaXRlL2JvYXJkLmMKPiAgICogQ29weXJpZ2h0IChDKSAyMDEyIFN0 ZWZmZW4gVHJ1bXRyYXIsIFBlbmd1dHJvbml4CgpUaGlzIGxvb2tzIGxpa2UgU1BEWC1GaWxlQ29w eXJpZ2h0VGV4dCB0byBtZSB0b28/Cgo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBz b2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCj4gLSAqIG1vZGlmeSBpdCB1 bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzCj4gLSAq IHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lv biAyIG9mCj4gLSAqIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2 ZXJzaW9uLgo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhv cGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKPiAtICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZ OyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKPiAtICogTUVSQ0hBTlRBQklM SVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQo+IC0gKiBH TlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgo+ICAgKi8KPiAgCj4g ICNpbmNsdWRlIDxjb21tb24uaD4KPiBkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vYm9hcmRzL2VtYmVz dC1yaW90Ym9hcmQvYm9hcmQuYyBiL2FyY2gvYXJtL2JvYXJkcy9lbWJlc3QtcmlvdGJvYXJkL2Jv YXJkLmMKPiBpbmRleCBlYjk1NmYxZjUwNzAuLjViNzExYzJhNmE1ZiAxMDA2NDQKPiAtLS0gYS9h cmNoL2FybS9ib2FyZHMvZW1iZXN0LXJpb3Rib2FyZC9ib2FyZC5jCj4gKysrIGIvYXJjaC9hcm0v Ym9hcmRzL2VtYmVzdC1yaW90Ym9hcmQvYm9hcmQuYwo+IEBAIC0xLDE3ICsxLDYgQEAKPiAtLyoK PiAtICogQ29weXJpZ2h0IChDKSAyMDE0IEVyaWMgQsOpbmFyZCA8ZXJpY0BldWtyZWEuY29tPgo+ IC0gKiBDb3B5cmlnaHQgKEMpIDIwMTMgTHVjYXMgU3RhY2ggPGwuc3RhY2hAcGVuZ3V0cm9uaXgu ZGU+Cj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJl ZGlzdHJpYnV0ZSBpdCBhbmQvb3IKPiAtICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0 aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMKPiAtICogcHVibGlzaGVkIGJ5IHRoZSBG cmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YKPiAtICogdGhlIExp Y2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCj4gLSAqCj4gLSAq IFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUg dXNlZnVsLAo+IC0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUg aW1wbGllZCB3YXJyYW50eSBvZgo+IC0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1Ig QSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCj4gLSAqIEdOVSBHZW5lcmFsIFB1YmxpYyBM aWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCj4gLSAqLwo+ICsvLyBTUERYLUxpY2Vuc2UtSWRlbnRp ZmllcjogR1BMLTIuMC1vci1sYXRlcgo+ICsvLyBTUERYLUZpbGVDb3B5cmlnaHRUZXh0OiDCqSAy MDE0IEVyaWMgQsOpbmFyZCA8ZXJpY0BldWtyZWEuY29tPgo+ICsvLyBTUERYLUZpbGVDb3B5cmln aHRUZXh0OiDCqSAyMDEzIEx1Y2FzIFN0YWNoIDxsLnN0YWNoQHBlbmd1dHJvbml4LmRlPgo+ICAK PiAgI2luY2x1ZGUgPGFzbS9hcm1saW51eC5oPgo+ICAjaW5jbHVkZSA8YXNtL2lvLmg+Cj4gZGlm ZiAtLWdpdCBhL2FyY2gvYXJtL2JvYXJkcy9ldWtyZWFfY3B1aW14MjUvTWFrZWZpbGUgYi9hcmNo L2FybS9ib2FyZHMvZXVrcmVhX2NwdWlteDI1L01ha2VmaWxlCj4gaW5kZXggMGU2NGIzZWU3M2Nk Li44OTg3MWY0YmE2MjQgMTAwNjQ0Cj4gLS0tIGEvYXJjaC9hcm0vYm9hcmRzL2V1a3JlYV9jcHVp bXgyNS9NYWtlZmlsZQo+ICsrKyBiL2FyY2gvYXJtL2JvYXJkcy9ldWtyZWFfY3B1aW14MjUvTWFr ZWZpbGUKPiBAQCAtMSwxNyArMSw1IEBACj4gLSMKPiAtIyAoQykgMjAxMCBFdWtyZWEgRWxlY3Ry b21hdGlxdWUsIEVyaWMgQsOpbmFyZCA8ZXJpY0BldWtyZWEuY29tPgo+IC0jCj4gLSMgVGhpcyBw cm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgo+ IC0jIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBM aWNlbnNlIGFzCj4gLSMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247 IGVpdGhlciB2ZXJzaW9uIDIgb2YKPiAtIyB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9u KSBhbnkgbGF0ZXIgdmVyc2lvbi4KPiAtIwo+IC0jIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRl ZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAo+IC0jIGJ1dCBXSVRIT1VUIEFO WSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCj4gLSMgTUVS Q0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRo ZQo+IC0jIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCj4gLSMK PiAtIwo+ICsvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vci1sYXRlcgo+ICsv LyBTUERYLUZpbGVDb3B5cmlnaHRUZXh0OiDCqSAyMDEwIEVyaWMgQsOpbmFyZCA8ZXJpY0BldWty ZWEuY29tPiwgRXVrcmVhIEVsZWN0cm9tYXRpcXVlCj4gIAo+ICBvYmoteSArPSBldWtyZWFfY3B1 aW14MjUubwo+ICBsd2wteSArPSBsb3dsZXZlbC5vCj4gZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2Jv YXJkcy9ldWtyZWFfY3B1aW14MjUvZXVrcmVhX2NwdWlteDI1LmMgYi9hcmNoL2FybS9ib2FyZHMv ZXVrcmVhX2NwdWlteDI1L2V1a3JlYV9jcHVpbXgyNS5jCj4gaW5kZXggZTgyZjQzZDU4ZTg4Li4x NDJkMGQ4YTFjMTkgMTAwNjQ0Cj4gLS0tIGEvYXJjaC9hcm0vYm9hcmRzL2V1a3JlYV9jcHVpbXgy NS9ldWtyZWFfY3B1aW14MjUuYwo+ICsrKyBiL2FyY2gvYXJtL2JvYXJkcy9ldWtyZWFfY3B1aW14 MjUvZXVrcmVhX2NwdWlteDI1LmMKPiBAQCAtMSwxOSArMSw2IEBACj4gLS8qCj4gLSAqIChDKSAy MDA5IFBlbmd1dHJvbml4LCBTYXNjaGEgSGF1ZXIgPHMuaGF1ZXJAcGVuZ3V0cm9uaXguZGU+Cj4g LSAqIChjKSAyMDEwIEV1a3JlYSBFbGVjdHJvbWF0aXF1ZSwgRXJpYyBCw6luYXJkIDxlcmljQGV1 a3JlYS5jb20+Cj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3Ug Y2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKPiAtICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJt cyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMKPiAtICogcHVibGlzaGVkIGJ5 IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YKPiAtICog dGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCj4gLSAq Cj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdp bGwgYmUgdXNlZnVsLAo+IC0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZl biB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgo+IC0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVT UyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCj4gLSAqIEdOVSBHZW5lcmFsIFB1 YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCj4gLSAqCj4gLSAqCj4gLSAqLwo+ICsvLyBT UERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vci1sYXRlcgo+ICsvLyBTUERYLUZpbGVD b3B5cmlnaHRUZXh0OiDCqSAyMDA5IFNhc2NoYSBIYXVlciA8cy5oYXVlckBwZW5ndXRyb25peC5k ZT4sIFBlbmd1dHJvbml4Cj4gKy8vIFNQRFgtRmlsZUNvcHlyaWdodFRleHQ6IMKpIDIwMTAgRXJp YyBCw6luYXJkIDxlcmljQGV1a3JlYS5jb20+LCBFdWtyZWEgRWxlY3Ryb21hdGlxdWUKPiAgCj4g ICNpbmNsdWRlIDxjb21tb24uaD4KPiAgI2luY2x1ZGUgPGluaXQuaD4KPiBkaWZmIC0tZ2l0IGEv YXJjaC9hcm0vYm9hcmRzL2V1a3JlYV9jcHVpbXgyNS9sb3dsZXZlbC5jIGIvYXJjaC9hcm0vYm9h cmRzL2V1a3JlYV9jcHVpbXgyNS9sb3dsZXZlbC5jCj4gaW5kZXggOTUxNmMxMzdhMzhiLi42MGNi MTg1NzA0ZjYgMTAwNjQ0Cj4gLS0tIGEvYXJjaC9hcm0vYm9hcmRzL2V1a3JlYV9jcHVpbXgyNS9s b3dsZXZlbC5jCj4gKysrIGIvYXJjaC9hcm0vYm9hcmRzL2V1a3JlYV9jcHVpbXgyNS9sb3dsZXZl bC5jCj4gQEAgLTEsMTkgKzEsNyBAQAo+IC0vKgo+IC0gKgo+IC0gKiAoYykgMjAwNyBQZW5ndXRy b25peCwgU2FzY2hhIEhhdWVyIDxzLmhhdWVyQHBlbmd1dHJvbml4LmRlPgo+IC0gKiAoYykgMjAx MCBFdWtyZWEgRWxlY3Ryb21hdGlxdWUsIEVyaWMgQsOpbmFyZCA8ZXJpY0BldWtyZWEuY29tPgo+ IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3Ry aWJ1dGUgaXQgYW5kL29yCj4gLSAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdO VSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzCj4gLSAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBT b2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mCj4gLSAqIHRoZSBMaWNlbnNl LCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgo+IC0gKgo+IC0gKiBUaGlz IHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1 bCwKPiAtICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxp ZWQgd2FycmFudHkgb2YKPiAtICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFS VElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQo+IC0gKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5z ZSBmb3IgbW9yZSBkZXRhaWxzLgo+IC0gKgo+IC0gKi8KPiArLy8gU1BEWC1MaWNlbnNlLUlkZW50 aWZpZXI6IEdQTC0yLjAtb3ItbGF0ZXIKPiArLy8gU1BEWC1GaWxlQ29weXJpZ2h0VGV4dDogwqkg MjAwNyBTYXNjaGEgSGF1ZXIgPHMuaGF1ZXJAcGVuZ3V0cm9uaXguZGU+LCBQZW5ndXRyb25peAo+ ICsvLyBTUERYLUZpbGVDb3B5cmlnaHRUZXh0OiDCqSAyMDEwIEVyaWMgQsOpbmFyZCA8ZXJpY0Bl dWtyZWEuY29tPiwgRXVrcmVhIEVsZWN0cm9tYXRpcXVlCj4gKwo+ICAjaW5jbHVkZSA8Y29tbW9u Lmg+Cj4gICNpbmNsdWRlIDxpbml0Lmg+Cj4gICNpbmNsdWRlIDxtYWNoL2lteDI1LXJlZ3MuaD4K PiBkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vYm9hcmRzL2V1a3JlYV9jcHVpbXgyNy9ldWtyZWFfY3B1 aW14MjcuYyBiL2FyY2gvYXJtL2JvYXJkcy9ldWtyZWFfY3B1aW14MjcvZXVrcmVhX2NwdWlteDI3 LmMKPiBpbmRleCA1Mjk3MWVkN2VlNzkuLjNiMWRjYWJmMDI1ZSAxMDA2NDQKPiAtLS0gYS9hcmNo L2FybS9ib2FyZHMvZXVrcmVhX2NwdWlteDI3L2V1a3JlYV9jcHVpbXgyNy5jCj4gKysrIGIvYXJj aC9hcm0vYm9hcmRzL2V1a3JlYV9jcHVpbXgyNy9ldWtyZWFfY3B1aW14MjcuYwo+IEBAIC0xLDE5 ICsxLDkgQEAKPiArLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb3ItbGF0ZXIK PiArLy8gU1BEWC1GaWxlQ29weXJpZ2h0VGV4dDogwqkgMjAwOSBFcmljIEJlbmFyZCwgRXVrcmVh IEVsZWN0cm9tYXRpcXVlCj4gKwo+ICAvKgo+IC0gKiBDb3B5cmlnaHQgKEMpIDIwMDkgRXJpYyBC ZW5hcmQsIEV1a3JlYSBFbGVjdHJvbWF0aXF1ZQo+ICAgKiBCYXNlZCBvbiBwY20wMzguYyB3aGlj aCBpcyA6Cj4gICAqIENvcHlyaWdodCAoQykgMjAwNyBTYXNjaGEgSGF1ZXIsIFBlbmd1dHJvbml4 CgpTYW1lIGhlcmUuCgo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsg eW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCj4gLSAqIG1vZGlmeSBpdCB1bmRlciB0aGUg dGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzCj4gLSAqIHB1Ymxpc2hl ZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mCj4g LSAqIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgo+ IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBp dCB3aWxsIGJlIHVzZWZ1bCwKPiAtICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0 IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKPiAtICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJ VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQo+IC0gKiBHTlUgR2VuZXJh bCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgo+IC0gKgo+IC0gKgo+ICAgKi8KPiAg Cj4gICNpbmNsdWRlIDxjb21tb24uaD4KPiBkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vYm9hcmRzL2V1 a3JlYV9jcHVpbXgzNS9NYWtlZmlsZSBiL2FyY2gvYXJtL2JvYXJkcy9ldWtyZWFfY3B1aW14MzUv TWFrZWZpbGUKPiBpbmRleCBkZDhmOWViMGQ0ZDQuLjk0YmZlMDAyY2I5NSAxMDA2NDQKPiAtLS0g YS9hcmNoL2FybS9ib2FyZHMvZXVrcmVhX2NwdWlteDM1L01ha2VmaWxlCj4gKysrIGIvYXJjaC9h cm0vYm9hcmRzL2V1a3JlYV9jcHVpbXgzNS9NYWtlZmlsZQo+IEBAIC0xLDE3ICsxLDUgQEAKPiAt Iwo+IC0jIChDKSBDb3B5cmlnaHQgMjAwNyBKdWVyZ2VuIEJlaXNlcnQgPGpiZUBwZW5ndXRyb25p eC5kZT4KPiAtIwo+IC0jIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJl ZGlzdHJpYnV0ZSBpdCBhbmQvb3IKPiAtIyBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRo ZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcwo+IC0jIHB1Ymxpc2hlZCBieSB0aGUgRnJl ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mCj4gLSMgdGhlIExpY2Vu c2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCj4gLSMKPiAtIyBUaGlz IHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1 bCwKPiAtIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGll ZCB3YXJyYW50eSBvZgo+IC0jIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJ Q1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKPiAtIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBm b3IgbW9yZSBkZXRhaWxzLgo+IC0jCj4gLSMKPiArLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6 IEdQTC0yLjAtb3ItbGF0ZXIKPiArLy8gU1BEWC1GaWxlQ29weXJpZ2h0VGV4dDogwqkgMjAwNyBK dWVyZ2VuIEJlaXNlcnQgPGpiZUBwZW5ndXRyb25peC5kZT4KPiAgCj4gIG9iai15CQkJCQkrPSBl dWtyZWFfY3B1aW14MzUubwo+ICBsd2wteQkJCQkJKz0gbG93bGV2ZWwubwo+IGRpZmYgLS1naXQg YS9hcmNoL2FybS9ib2FyZHMvZXVrcmVhX2NwdWlteDM1L2V1a3JlYV9jcHVpbXgzNS5jIGIvYXJj aC9hcm0vYm9hcmRzL2V1a3JlYV9jcHVpbXgzNS9ldWtyZWFfY3B1aW14MzUuYwo+IGluZGV4IDIy MGE0ODRiZGU4MC4uYTJlNTkxM2E2M2YxIDEwMDY0NAo+IC0tLSBhL2FyY2gvYXJtL2JvYXJkcy9l dWtyZWFfY3B1aW14MzUvZXVrcmVhX2NwdWlteDM1LmMKPiArKysgYi9hcmNoL2FybS9ib2FyZHMv ZXVrcmVhX2NwdWlteDM1L2V1a3JlYV9jcHVpbXgzNS5jCj4gQEAgLTEsMjUgKzEsMTQgQEAKPiAr Ly8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb3ItbGF0ZXIKPiArLy8gU1BEWC1G aWxlQ29weXJpZ2h0VGV4dDogwqkgMjAwNyBTYXNjaGEgSGF1ZXIsIFBlbmd1dHJvbml4Cj4gKy8v IFNQRFgtRmlsZUNvcHlyaWdodFRleHQ6IMKpIDIwMDkgTWFyYyBLbGVpbmUtQnVkZGUsIFBlbmd1 dHJvbml4Cj4gKy8vIFNQRFgtRmlsZUNvcHlyaWdodFRleHQ6IMKpIDIwMTAgRXJpYyBCw6luYXJk IDxlcmljQGV1a3JlYS5jb20+LCBFdWtyZWEgRWxlY3Ryb21hdGlxdWUKPiArCj4gIC8qCj4gLSAq IENvcHlyaWdodCAoQykgMjAwNyBTYXNjaGEgSGF1ZXIsIFBlbmd1dHJvbml4Cj4gLSAqICAgICAg ICAgICAgICAgMjAwOSBNYXJjIEtsZWluZS1CdWRkZSwgUGVuZ3V0cm9uaXgKPiAtICogKGMpIDIw MTAgRXVrcmVhIEVsZWN0cm9tYXRpcXVlLCBFcmljIELDqW5hcmQgPGVyaWNAZXVrcmVhLmNvbT4K PiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0 cmlidXRlIGl0IGFuZC9vcgo+IC0gKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBH TlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcwo+IC0gKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUg U29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZgo+IC0gKiB0aGUgTGljZW5z ZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KPiAtICoKPiAtICogVGhp cyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2Vm dWwsCj4gLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBs aWVkIHdhcnJhbnR5IG9mCj4gLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBB UlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKPiAtICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vu c2UgZm9yIG1vcmUgZGV0YWlscy4KPiAtICoKPiAtICoKPiAgICogRGVyaXZlZCBmcm9tOgo+ICAg Kgo+ICAgKiAqIG14MzVfM3N0YWNrLmMgLSBib2FyZCBmaWxlIGZvciB1Ym9vdC12MQo+ICAgKiAg IENvcHlyaWdodCAoQykgMjAwNywgR3Vlbm5hZGkgTGlha2hvdmV0c2tpIDxsZ0BkZW54LmRlPgo+ ICAgKiAgIChDKSBDb3B5cmlnaHQgMjAwOC0yMDA5IEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yLCBJ bmMuCgpBbmQgaGVyZS4KCj4gLSAqCj4gICAqLwo+ICAKPiAgI2luY2x1ZGUgPGNvbW1vbi5oPgo+ IGRpZmYgLS1naXQgYS9hcmNoL2FybS9ib2FyZHMvZXVrcmVhX2NwdWlteDM1L2xvd2xldmVsLmMg Yi9hcmNoL2FybS9ib2FyZHMvZXVrcmVhX2NwdWlteDM1L2xvd2xldmVsLmMKPiBpbmRleCBiNjQx ZDY4ODczYjIuLmJhMTc4YjAyZWFkZSAxMDA2NDQKPiAtLS0gYS9hcmNoL2FybS9ib2FyZHMvZXVr cmVhX2NwdWlteDM1L2xvd2xldmVsLmMKPiArKysgYi9hcmNoL2FybS9ib2FyZHMvZXVrcmVhX2Nw dWlteDM1L2xvd2xldmVsLmMKPiBAQCAtMSwxOCArMSw2IEBACj4gLS8qCj4gLSAqCj4gLSAqIChj KSAyMDA3IFBlbmd1dHJvbml4LCBTYXNjaGEgSGF1ZXIgPHMuaGF1ZXJAcGVuZ3V0cm9uaXguZGU+ Cj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlz dHJpYnV0ZSBpdCBhbmQvb3IKPiAtICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUg R05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMKPiAtICogcHVibGlzaGVkIGJ5IHRoZSBGcmVl IFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YKPiAtICogdGhlIExpY2Vu c2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCj4gLSAqCj4gLSAqIFRo aXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNl ZnVsLAo+IC0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1w bGllZCB3YXJyYW50eSBvZgo+IC0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQ QVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCj4gLSAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNl bnNlIGZvciBtb3JlIGRldGFpbHMuCj4gLSAqCj4gLSAqLwo+ICsvLyBTUERYLUxpY2Vuc2UtSWRl bnRpZmllcjogR1BMLTIuMC1vci1sYXRlcgo+ICsvLyBTUERYLUZpbGVDb3B5cmlnaHRUZXh0OiDC qSAyMDA3IFNhc2NoYSBIYXVlciA8cy5oYXVlckBwZW5ndXRyb25peC5kZT4sIFBlbmd1dHJvbml4 Cj4gKwo+ICAjaW5jbHVkZSA8Y29tbW9uLmg+Cj4gICNpbmNsdWRlIDxpbml0Lmg+Cj4gICNpbmNs dWRlIDxtYWNoL2lteDM1LXJlZ3MuaD4KPiBkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vYm9hcmRzL2V1 a3JlYV9jcHVpbXg1MS9ldWtyZWFfY3B1aW14NTEuYyBiL2FyY2gvYXJtL2JvYXJkcy9ldWtyZWFf Y3B1aW14NTEvZXVrcmVhX2NwdWlteDUxLmMKPiBpbmRleCBiYjQ5M2Q3YzY0ZTkuLjNlM2VjMWY3 Y2MxNCAxMDA2NDQKPiAtLS0gYS9hcmNoL2FybS9ib2FyZHMvZXVrcmVhX2NwdWlteDUxL2V1a3Jl YV9jcHVpbXg1MS5jCj4gKysrIGIvYXJjaC9hcm0vYm9hcmRzL2V1a3JlYV9jcHVpbXg1MS9ldWty ZWFfY3B1aW14NTEuYwo+IEBAIC0xLDE5ICsxLDYgQEAKPiAtLyoKPiAtICogQ29weXJpZ2h0IChD KSAyMDA3IFNhc2NoYSBIYXVlciwgUGVuZ3V0cm9uaXgKPiAtICogKGMpIDIwMTEgRXVrcmVhIEVs ZWN0cm9tYXRpcXVlLCBFcmljIELDqW5hcmQgPGVyaWNAZXVrcmVhLmNvbT4KPiAtICoKPiAtICog VGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFu ZC9vcgo+IC0gKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQ dWJsaWMgTGljZW5zZSBhcwo+IC0gKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91 bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZgo+IC0gKiB0aGUgTGljZW5zZSwgb3IgKGF0IHlv dXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlz IGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCj4gLSAqIGJ1 dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5 IG9mCj4gLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVS UE9TRS4gIFNlZSB0aGUKPiAtICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUg ZGV0YWlscy4KPiAtICoKPiAtICoKPiAtICovCj4gKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVy OiBHUEwtMi4wLW9yLWxhdGVyCj4gKy8vIFNQRFgtRmlsZUNvcHlyaWdodFRleHQ6IMKpIDIwMDcg U2FzY2hhIEhhdWVyLCBQZW5ndXRyb25peAo+ICsvLyBTUERYLUZpbGVDb3B5cmlnaHRUZXh0OiDC qSAyMDExIEVyaWMgQsOpbmFyZCA8ZXJpY0BldWtyZWEuY29tPiwgRXVrcmVhIEVsZWN0cm9tYXRp cXVlCj4gIAo+ICAjaW5jbHVkZSA8Y29tbW9uLmg+Cj4gICNpbmNsdWRlIDxuZXQuaD4KPiBkaWZm IC0tZ2l0IGEvYXJjaC9hcm0vYm9hcmRzL2ZyZWVzY2FsZS1teDIxLWFkcy9pbXgyMWFkcy5jIGIv YXJjaC9hcm0vYm9hcmRzL2ZyZWVzY2FsZS1teDIxLWFkcy9pbXgyMWFkcy5jCj4gaW5kZXggMmM1 NGNkNzAzMDc0Li41MWQzN2FkYzQ2NGQgMTAwNjQ0Cj4gLS0tIGEvYXJjaC9hcm0vYm9hcmRzL2Zy ZWVzY2FsZS1teDIxLWFkcy9pbXgyMWFkcy5jCj4gKysrIGIvYXJjaC9hcm0vYm9hcmRzL2ZyZWVz Y2FsZS1teDIxLWFkcy9pbXgyMWFkcy5jCj4gQEAgLTEsMjAgKzEsOSBAQAo+ICsvLyBTUERYLUxp Y2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vci1sYXRlcgo+ICsvLyBTUERYLUZpbGVDb3B5cmln aHRUZXh0OiDCqSAyMDA5IEl2byBDbGFyeXNzZQo+ICsKPiAgLyoKPiAtICogQ29weXJpZ2h0IChD KSAyMDA5IEl2byBDbGFyeXNzZQo+IC0gKgo+ICAgKiBCYXNlZCBvbiBpbXgyN2Fkcy5jLAo+ICAg KiAgIENvcHlyaWdodCAoQykgMjAwNyBTYXNjaGEgSGF1ZXIsIFBlbmd1dHJvbml4CgpBbmQgaGVy ZS4KCj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJl ZGlzdHJpYnV0ZSBpdCBhbmQvb3IKPiAtICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0 aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMKPiAtICogcHVibGlzaGVkIGJ5IHRoZSBG cmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YKPiAtICogdGhlIExp Y2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCj4gLSAqCj4gLSAq IFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUg dXNlZnVsLAo+IC0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUg aW1wbGllZCB3YXJyYW50eSBvZgo+IC0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1Ig QSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCj4gLSAqIEdOVSBHZW5lcmFsIFB1YmxpYyBM aWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCj4gLSAqCj4gLSAqCj4gICAqLwo+ICAKPiAgI2luY2x1 ZGUgPGNvbW1vbi5oPgo+IGRpZmYgLS1naXQgYS9hcmNoL2FybS9ib2FyZHMvZnJlZXNjYWxlLW14 MjEtYWRzL2xvd2xldmVsX2luaXQuUyBiL2FyY2gvYXJtL2JvYXJkcy9mcmVlc2NhbGUtbXgyMS1h ZHMvbG93bGV2ZWxfaW5pdC5TCj4gaW5kZXggMTY3MzliNTU3N2EzLi4zZmNkMDk4ZjM5Y2EgMTAw NjQ0Cj4gLS0tIGEvYXJjaC9hcm0vYm9hcmRzL2ZyZWVzY2FsZS1teDIxLWFkcy9sb3dsZXZlbF9p bml0LlMKPiArKysgYi9hcmNoL2FybS9ib2FyZHMvZnJlZXNjYWxlLW14MjEtYWRzL2xvd2xldmVs X2luaXQuUwo+IEBAIC0xLDE3ICsxLDUgQEAKPiAtLyoKPiAtICogQ29weXJpZ2h0IChDKSAyMDEw IEphY2NvbiBCYXN0aWFhbnNlbiA8amFjY29uLmJhc3RpYWFuc2VuQGdtYWlsLmNvbT4KPiAtICoK PiAtICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRl IGl0IGFuZC9vcgo+IC0gKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2Vu ZXJhbCBQdWJsaWMgTGljZW5zZSBhcwo+IC0gKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdh cmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZgo+IC0gKiB0aGUgTGljZW5zZSwgb3Ig KGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KPiAtICoKPiAtICogVGhpcyBwcm9n cmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCj4g LSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdh cnJhbnR5IG9mCj4gLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM QVIgUFVSUE9TRS4gIFNlZSB0aGUKPiAtICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9y IG1vcmUgZGV0YWlscy4KPiAtICoKPiAtICovCj4gKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVy OiBHUEwtMi4wLW9yLWxhdGVyCj4gKy8vIFNQRFgtRmlsZUNvcHlyaWdodFRleHQ6IMKpIDIwMTAg SmFjY29uIEJhc3RpYWFuc2VuIDxqYWNjb24uYmFzdGlhYW5zZW5AZ21haWwuY29tPgo+ICAKPiAg I2luY2x1ZGUgPGNvbmZpZy5oPgo+ICAjaW5jbHVkZSA8bGludXgvc2l6ZXMuaD4KPiBkaWZmIC0t Z2l0IGEvYXJjaC9hcm0vYm9hcmRzL2ZyZWVzY2FsZS1teDIzLWV2ay9teDIzLWV2ay5jIGIvYXJj aC9hcm0vYm9hcmRzL2ZyZWVzY2FsZS1teDIzLWV2ay9teDIzLWV2ay5jCj4gaW5kZXggNzVhN2Q1 YTZiNGVmLi41YmYyOWJhNjFkNjUgMTAwNjQ0Cj4gLS0tIGEvYXJjaC9hcm0vYm9hcmRzL2ZyZWVz Y2FsZS1teDIzLWV2ay9teDIzLWV2ay5jCj4gKysrIGIvYXJjaC9hcm0vYm9hcmRzL2ZyZWVzY2Fs ZS1teDIzLWV2ay9teDIzLWV2ay5jCj4gQEAgLTEsMTggKzEsNiBAQAo+IC0vKgo+IC0gKiAoQykg Q29weXJpZ2h0IDIwMTAgSnVlcmdlbiBCZWlzZXJ0IC0gUGVuZ3V0cm9uaXgKPiAtICogKEMpIENv cHlyaWdodCAyMDExIFdvbGZyYW0gU2FuZyAtIFBlbmd1dHJvbml4Cj4gLSAqCj4gLSAqIFRoaXMg cHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IK PiAtICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGlj IExpY2Vuc2UgYXMKPiAtICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp b247IGVpdGhlciB2ZXJzaW9uIDIgb2YKPiAtICogdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9w dGlvbikgYW55IGxhdGVyIHZlcnNpb24uCj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0 cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAo+IC0gKiBidXQgV0lU SE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgo+ IC0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Uu ICBTZWUgdGhlCj4gLSAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFp bHMuCj4gLSAqCj4gLSAqLwo+ICsvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1v ci1sYXRlcgo+ICsvLyBTUERYLUZpbGVDb3B5cmlnaHRUZXh0OiDCqSAyMDEwIEp1ZXJnZW4gQmVp c2VydCwgUGVuZ3V0cm9uaXgKPiArLy8gU1BEWC1GaWxlQ29weXJpZ2h0VGV4dDogwqkgMjAxMSBX b2xmcmFtIFNhbmcsIFBlbmd1dHJvbml4Cj4gIAo+ICAjaW5jbHVkZSA8Y29tbW9uLmg+Cj4gICNp bmNsdWRlIDxpbml0Lmg+Cj4gZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2JvYXJkcy9mcmVlc2NhbGUt bXgyNS0zZHMvM3N0YWNrLmMgYi9hcmNoL2FybS9ib2FyZHMvZnJlZXNjYWxlLW14MjUtM2RzLzNz dGFjay5jCj4gaW5kZXggMWI0MmE4YTllZTRiLi5iMGQzYzIxZjZlY2MgMTAwNjQ0Cj4gLS0tIGEv YXJjaC9hcm0vYm9hcmRzL2ZyZWVzY2FsZS1teDI1LTNkcy8zc3RhY2suYwo+ICsrKyBiL2FyY2gv YXJtL2JvYXJkcy9mcmVlc2NhbGUtbXgyNS0zZHMvM3N0YWNrLmMKPiBAQCAtMSwxOCArMSw1IEBA Cj4gLS8qCj4gLSAqIChDKSAyMDA5IFBlbmd1dHJvbml4LCBTYXNjaGEgSGF1ZXIgPHMuaGF1ZXJA cGVuZ3V0cm9uaXguZGU+Cj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJl OyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKPiAtICogbW9kaWZ5IGl0IHVuZGVyIHRo ZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMKPiAtICogcHVibGlz aGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YK PiAtICogdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24u Cj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0 IGl0IHdpbGwgYmUgdXNlZnVsLAo+IC0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhv dXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgo+IC0gKiBNRVJDSEFOVEFCSUxJVFkgb3Ig RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCj4gLSAqIEdOVSBHZW5l cmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCj4gLSAqCj4gLSAqCj4gLSAqLwo+ ICsvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vci1sYXRlcgo+ICsvLyBTUERY LUZpbGVDb3B5cmlnaHRUZXh0OiDCqSAyMDA5IFNhc2NoYSBIYXVlciA8cy5oYXVlckBwZW5ndXRy b25peC5kZT4sIFBlbmd1dHJvbml4Cj4gIAo+ICAjaW5jbHVkZSA8Y29tbW9uLmg+Cj4gICNpbmNs dWRlIDxpbml0Lmg+Cj4gZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2JvYXJkcy9mcmVlc2NhbGUtbXgy NS0zZHMvTWFrZWZpbGUgYi9hcmNoL2FybS9ib2FyZHMvZnJlZXNjYWxlLW14MjUtM2RzL01ha2Vm aWxlCj4gaW5kZXggYWNjN2M5MmVjMmUzLi43YTljZTNlMDk1MzUgMTAwNjQ0Cj4gLS0tIGEvYXJj aC9hcm0vYm9hcmRzL2ZyZWVzY2FsZS1teDI1LTNkcy9NYWtlZmlsZQo+ICsrKyBiL2FyY2gvYXJt L2JvYXJkcy9mcmVlc2NhbGUtbXgyNS0zZHMvTWFrZWZpbGUKPiBAQCAtMSwxNyArMSw1IEBACj4g LSMKPiAtIyAoQykgQ29weXJpZ2h0IDIwMDcgSnVlcmdlbiBCZWlzZXJ0IDxqYmVAcGVuZ3V0cm9u aXguZGU+Cj4gLSMKPiAtIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiBy ZWRpc3RyaWJ1dGUgaXQgYW5kL29yCj4gLSMgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0 aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMKPiAtIyBwdWJsaXNoZWQgYnkgdGhlIEZy ZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZgo+IC0jIHRoZSBMaWNl bnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgo+IC0jCj4gLSMgVGhp cyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2Vm dWwsCj4gLSMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxp ZWQgd2FycmFudHkgb2YKPiAtIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJU SUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCj4gLSMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2Ug Zm9yIG1vcmUgZGV0YWlscy4KPiAtIwo+IC0jCj4gKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVy OiBHUEwtMi4wLW9yLWxhdGVyCj4gKy8vIFNQRFgtRmlsZUNvcHlyaWdodFRleHQ6IMKpIDIwMDcg SnVlcmdlbiBCZWlzZXJ0IDxqYmVAcGVuZ3V0cm9uaXguZGU+Cj4gIAo+ICBsd2wteSArPSBsb3ds ZXZlbF9pbml0Lm8KPiAgb2JqLXkgKz0gM3N0YWNrLm8KPiBkaWZmIC0tZ2l0IGEvYXJjaC9hcm0v Ym9hcmRzL2ZyZWVzY2FsZS1teDI1LTNkcy9sb3dsZXZlbF9pbml0LlMgYi9hcmNoL2FybS9ib2Fy ZHMvZnJlZXNjYWxlLW14MjUtM2RzL2xvd2xldmVsX2luaXQuUwo+IGluZGV4IDYyZGFjOTRlNGY3 Zi4uMjMyNGI5YWUwNTg4IDEwMDY0NAo+IC0tLSBhL2FyY2gvYXJtL2JvYXJkcy9mcmVlc2NhbGUt bXgyNS0zZHMvbG93bGV2ZWxfaW5pdC5TCj4gKysrIGIvYXJjaC9hcm0vYm9hcmRzL2ZyZWVzY2Fs ZS1teDI1LTNkcy9sb3dsZXZlbF9pbml0LlMKPiBAQCAtMSwxOCArMSw1IEBACj4gLS8qCj4gLSAq Cj4gLSAqIChjKSAyMDA3IFBlbmd1dHJvbml4LCBTYXNjaGEgSGF1ZXIgPHMuaGF1ZXJAcGVuZ3V0 cm9uaXguZGU+Cj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3Ug Y2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKPiAtICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJt cyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMKPiAtICogcHVibGlzaGVkIGJ5 IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YKPiAtICog dGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCj4gLSAq Cj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdp bGwgYmUgdXNlZnVsLAo+IC0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZl biB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgo+IC0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVT UyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCj4gLSAqIEdOVSBHZW5lcmFsIFB1 YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCj4gLSAqCj4gLSAqLwo+ICsvLyBTUERYLUxp Y2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vci1sYXRlcgo+ICsvLyBTUERYLUZpbGVDb3B5cmln aHRUZXh0OiDCqSAyMDA3IFNhc2NoYSBIYXVlciA8cy5oYXVlckBwZW5ndXRyb25peC5kZT4sIFBl bmd1dHJvbml4Cj4gIAo+ICAjaW5jbHVkZSA8bGludXgvc2l6ZXMuaD4KPiAgI2luY2x1ZGUgPGFz bS1nZW5lcmljL21lbW9yeV9sYXlvdXQuaD4KPiBkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vYm9hcmRz L2ZyZWVzY2FsZS1teDI3LWFkcy9pbXgyN2Fkcy5jIGIvYXJjaC9hcm0vYm9hcmRzL2ZyZWVzY2Fs ZS1teDI3LWFkcy9pbXgyN2Fkcy5jCj4gaW5kZXggYzBmNGU0NjRjMTU0Li5lZTc5MTI5NDYwZDUg MTAwNjQ0Cj4gLS0tIGEvYXJjaC9hcm0vYm9hcmRzL2ZyZWVzY2FsZS1teDI3LWFkcy9pbXgyN2Fk cy5jCj4gKysrIGIvYXJjaC9hcm0vYm9hcmRzL2ZyZWVzY2FsZS1teDI3LWFkcy9pbXgyN2Fkcy5j Cj4gQEAgLTEsMTggKzEsNSBAQAo+IC0vKgo+IC0gKiBDb3B5cmlnaHQgKEMpIDIwMDcgU2FzY2hh IEhhdWVyLCBQZW5ndXRyb25peAo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0 d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCj4gLSAqIG1vZGlmeSBpdCB1bmRl ciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzCj4gLSAqIHB1 Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAy IG9mCj4gLSAqIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJz aW9uLgo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUg dGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKPiAtICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3 aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKPiAtICogTUVSQ0hBTlRBQklMSVRZ IG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQo+IC0gKiBHTlUg R2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgo+IC0gKgo+IC0gKgo+IC0g Ki8KPiArLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb3ItbGF0ZXIKPiArLy8g U1BEWC1GaWxlQ29weXJpZ2h0VGV4dDogwqkgMjAwNyBTYXNjaGEgSGF1ZXIsIFBlbmd1dHJvbml4 Cj4gIAo+ICAjaW5jbHVkZSA8Y29tbW9uLmg+Cj4gICNpbmNsdWRlIDxuZXQuaD4KPiBkaWZmIC0t Z2l0IGEvYXJjaC9hcm0vYm9hcmRzL2ZyZWVzY2FsZS1teDM1LTNkcy8zc3RhY2suYyBiL2FyY2gv YXJtL2JvYXJkcy9mcmVlc2NhbGUtbXgzNS0zZHMvM3N0YWNrLmMKPiBpbmRleCA5N2E5OTY4NzA2 MTYuLjgxYzA3MGE3ODlmYiAxMDA2NDQKPiAtLS0gYS9hcmNoL2FybS9ib2FyZHMvZnJlZXNjYWxl LW14MzUtM2RzLzNzdGFjay5jCj4gKysrIGIvYXJjaC9hcm0vYm9hcmRzL2ZyZWVzY2FsZS1teDM1 LTNkcy8zc3RhY2suYwo+IEBAIC0xLDI0ICsxLDEzIEBACj4gKy8vIFNQRFgtTGljZW5zZS1JZGVu dGlmaWVyOiBHUEwtMi4wLW9yLWxhdGVyCj4gKy8vIFNQRFgtRmlsZUNvcHlyaWdodFRleHQ6IMKp IDIwMDcgU2FzY2hhIEhhdWVyLCBQZW5ndXRyb25peAo+ICsvLyBTUERYLUZpbGVDb3B5cmlnaHRU ZXh0OiDCqSAyMDA5IE1hcmMgS2xlaW5lLUJ1ZGRlLCBQZW5ndXRyb25peAo+ICsKPiAgLyoKPiAt ICogQ29weXJpZ2h0IChDKSAyMDA3IFNhc2NoYSBIYXVlciwgUGVuZ3V0cm9uaXgKPiAtICogICAg ICAgICAgICAgICAyMDA5IE1hcmMgS2xlaW5lLUJ1ZGRlLCBQZW5ndXRyb25peAo+IC0gKgo+IC0g KiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQg YW5kL29yCj4gLSAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFs IFB1YmxpYyBMaWNlbnNlIGFzCj4gLSAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBG b3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mCj4gLSAqIHRoZSBMaWNlbnNlLCBvciAoYXQg eW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0g aXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKPiAtICog YnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFu dHkgb2YKPiAtICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQ VVJQT1NFLiAgU2VlIHRoZQo+IC0gKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9y ZSBkZXRhaWxzLgo+IC0gKgo+IC0gKgo+ICAgKiBEZXJpdmVkIGZyb206Cj4gICAqCj4gICAqICog bXgzNV8zc3RhY2suYyAtIGJvYXJkIGZpbGUgZm9yIHVib290LXYxCj4gICAqICAgQ29weXJpZ2h0 IChDKSAyMDA3LCBHdWVubmFkaSBMaWFraG92ZXRza2kgPGxnQGRlbnguZGU+Cj4gICAqICAgKEMp IENvcHlyaWdodCAyMDA4LTIwMDkgRnJlZXNjYWxlIFNlbWljb25kdWN0b3IsIEluYy4KPiAtICoK CkFuZCBoZXJlLgoKPiAgICovCj4gIAo+ICAjaW5jbHVkZSA8Y29tbW9uLmg+Cj4gZGlmZiAtLWdp dCBhL2FyY2gvYXJtL2JvYXJkcy9mcmVlc2NhbGUtbXgzNS0zZHMvYm9hcmQtbXgzNV8zc3RhY2su aCBiL2FyY2gvYXJtL2JvYXJkcy9mcmVlc2NhbGUtbXgzNS0zZHMvYm9hcmQtbXgzNV8zc3RhY2su aAo+IGluZGV4IDgyMjJmODdlNTFjYy4uNTE4YTQ1YmRmOTQxIDEwMDY0NAo+IC0tLSBhL2FyY2gv YXJtL2JvYXJkcy9mcmVlc2NhbGUtbXgzNS0zZHMvYm9hcmQtbXgzNV8zc3RhY2suaAo+ICsrKyBi L2FyY2gvYXJtL2JvYXJkcy9mcmVlc2NhbGUtbXgzNS0zZHMvYm9hcmQtbXgzNV8zc3RhY2suaAo+ IEBAIC0xLDIwICsxLDYgQEAKPiAtLyoKPiAtICoKPiAtICogKGMpIDIwMDcgUGVuZ3V0cm9uaXgs IFNhc2NoYSBIYXVlciA8cy5oYXVlckBwZW5ndXRyb25peC5kZT4KPiAtICoKPiAtICogKEMpIENv cHlyaWdodCAyMDA4IEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yLCBJbmMuCj4gLSAqCj4gLSAqIFRo aXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQv b3IKPiAtICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVi bGljIExpY2Vuc2UgYXMKPiAtICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5k YXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YKPiAtICogdGhlIExpY2Vuc2UsIG9yIChhdCB5b3Vy IG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBk aXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAo+IC0gKiBidXQg V0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBv Zgo+IC0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP U0UuICBTZWUgdGhlCj4gLSAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRl dGFpbHMuCj4gLSAqCj4gLSAqLwo+ICsvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIu MC1vci1sYXRlcgo+ICsvLyBTUERYLUZpbGVDb3B5cmlnaHRUZXh0OiDCqSAyMDA3IFNhc2NoYSBI YXVlciA8cy5oYXVlckBwZW5ndXRyb25peC5kZT4sIFBlbmd1dHJvbml4Cj4gKy8vIFNQRFgtRmls ZUNvcHlyaWdodFRleHQ6IMKpIDIwMDggRnJlZXNjYWxlIFNlbWljb25kdWN0b3IsIEluYy4KPiAg Cj4gICNpZm5kZWYgX19CT0FSRF9NWDM1XzNTVEFDS19ICj4gICNkZWZpbmUgX19CT0FSRF9NWDM1 XzNTVEFDS19ICj4gZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2JvYXJkcy9mcmVlc2NhbGUtbXgzNS0z ZHMvbG93bGV2ZWxfaW5pdC5TIGIvYXJjaC9hcm0vYm9hcmRzL2ZyZWVzY2FsZS1teDM1LTNkcy9s b3dsZXZlbF9pbml0LlMKPiBpbmRleCBjYjMxYjY5OWU3ZDQuLjc2OTJmMDhkNzQyNSAxMDA2NDQK PiAtLS0gYS9hcmNoL2FybS9ib2FyZHMvZnJlZXNjYWxlLW14MzUtM2RzL2xvd2xldmVsX2luaXQu Uwo+ICsrKyBiL2FyY2gvYXJtL2JvYXJkcy9mcmVlc2NhbGUtbXgzNS0zZHMvbG93bGV2ZWxfaW5p dC5TCj4gQEAgLTEsMTggKzEsNSBAQAo+IC0vKgo+IC0gKgo+IC0gKiAoYykgMjAwNyBQZW5ndXRy b25peCwgU2FzY2hhIEhhdWVyIDxzLmhhdWVyQHBlbmd1dHJvbml4LmRlPgo+IC0gKgo+IC0gKiBU aGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5k L29yCj4gLSAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1 YmxpYyBMaWNlbnNlIGFzCj4gLSAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3Vu ZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mCj4gLSAqIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91 ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMg ZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKPiAtICogYnV0 IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkg b2YKPiAtICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQ T1NFLiAgU2VlIHRoZQo+IC0gKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBk ZXRhaWxzLgo+IC0gKgo+IC0gKi8KPiArLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0y LjAtb3ItbGF0ZXIKPiArLy8gU1BEWC1GaWxlQ29weXJpZ2h0VGV4dDogwqkgMjAwNyBTYXNjaGEg SGF1ZXIgPHMuaGF1ZXJAcGVuZ3V0cm9uaXguZGU+LCBQZW5ndXRyb25peAo+ICAKPiAgI2luY2x1 ZGUgPG1hY2gvaW14MzUtcmVncy5oPgo+ICAjaW5jbHVkZSA8bWFjaC9pbXgtcGxsLmg+Cj4gZGlm ZiAtLWdpdCBhL2FyY2gvYXJtL2JvYXJkcy9mcmVlc2NhbGUtbXg1MS1iYWJiYWdlL2JvYXJkLmMg Yi9hcmNoL2FybS9ib2FyZHMvZnJlZXNjYWxlLW14NTEtYmFiYmFnZS9ib2FyZC5jCj4gaW5kZXgg NDgzOWFhNTY4M2Q3Li4zZjVlN2Y0NDllZmQgMTAwNjQ0Cj4gLS0tIGEvYXJjaC9hcm0vYm9hcmRz L2ZyZWVzY2FsZS1teDUxLWJhYmJhZ2UvYm9hcmQuYwo+ICsrKyBiL2FyY2gvYXJtL2JvYXJkcy9m cmVlc2NhbGUtbXg1MS1iYWJiYWdlL2JvYXJkLmMKPiBAQCAtMSwxOCArMSw1IEBACj4gLS8qCj4g LSAqIENvcHlyaWdodCAoQykgMjAwNyBTYXNjaGEgSGF1ZXIsIFBlbmd1dHJvbml4Cj4gLSAqCj4g LSAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBp dCBhbmQvb3IKPiAtICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVy YWwgUHVibGljIExpY2Vuc2UgYXMKPiAtICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJl IEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YKPiAtICogdGhlIExpY2Vuc2UsIG9yIChh dCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3Jh bSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAo+IC0g KiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJy YW50eSBvZgo+IC0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS IFBVUlBPU0UuICBTZWUgdGhlCj4gLSAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBt b3JlIGRldGFpbHMuCj4gLSAqCj4gLSAqCj4gLSAqLwo+ICsvLyBTUERYLUxpY2Vuc2UtSWRlbnRp ZmllcjogR1BMLTIuMC1vci1sYXRlcgo+ICsvLyBTUERYLUZpbGVDb3B5cmlnaHRUZXh0OiDCqSAy MDA3IFNhc2NoYSBIYXVlciwgUGVuZ3V0cm9uaXgKPiAgCj4gICNkZWZpbmUgcHJfZm10KGZtdCkg ImJhYmJhZ2U6ICIgZm10Cj4gIAo+IGRpZmYgLS1naXQgYS9hcmNoL2FybS9ib2FyZHMvZnJlZXNj YWxlLW14NTMtcXNiL2JvYXJkLmMgYi9hcmNoL2FybS9ib2FyZHMvZnJlZXNjYWxlLW14NTMtcXNi L2JvYXJkLmMKPiBpbmRleCAwYjFjOTI3YjgxZDQuLjBjNmY2ZGI5Y2JlZSAxMDA2NDQKPiAtLS0g YS9hcmNoL2FybS9ib2FyZHMvZnJlZXNjYWxlLW14NTMtcXNiL2JvYXJkLmMKPiArKysgYi9hcmNo L2FybS9ib2FyZHMvZnJlZXNjYWxlLW14NTMtcXNiL2JvYXJkLmMKPiBAQCAtMSwxOCArMSw2IEBA Cj4gLS8qCj4gLSAqIENvcHlyaWdodCAoQykgMjAwNyBTYXNjaGEgSGF1ZXIsIFBlbmd1dHJvbml4 Cj4gLSAqIENvcHlyaWdodCAoQykgMjAxMSBNYXJjIEtsZWluZS1CdWRkZSA8bWtsQHBlbmd1dHJv bml4LmRlPgo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNh biByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCj4gLSAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMg b2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzCj4gLSAqIHB1Ymxpc2hlZCBieSB0 aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mCj4gLSAqIHRo ZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgo+IC0gKgo+ IC0gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxs IGJlIHVzZWZ1bCwKPiAtICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4g dGhlIGltcGxpZWQgd2FycmFudHkgb2YKPiAtICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1Mg Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiBTZWUgdGhlCj4gLSAqIEdOVSBHZW5lcmFsIFB1Ymxp YyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCj4gLSAqCj4gLSAqLwo+ICsvLyBTUERYLUxpY2Vu c2UtSWRlbnRpZmllcjogR1BMLTIuMC1vci1sYXRlcgo+ICsvLyBTUERYLUZpbGVDb3B5cmlnaHRU ZXh0OiDCqSAyMDA3IFNhc2NoYSBIYXVlciwgUGVuZ3V0cm9uaXgKPiArLy8gU1BEWC1GaWxlQ29w eXJpZ2h0VGV4dDogwqkgMjAxMSBNYXJjIEtsZWluZS1CdWRkZSA8bWtsQHBlbmd1dHJvbml4LmRl Pgo+ICAKPiAgI2luY2x1ZGUgPGVudmlyb25tZW50Lmg+Cj4gICNpbmNsdWRlIDxwYXJ0aXRpb24u aD4KPiBkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vYm9hcmRzL2ZyZWVzY2FsZS1teDUzLXNtZC9ib2Fy ZC5jIGIvYXJjaC9hcm0vYm9hcmRzL2ZyZWVzY2FsZS1teDUzLXNtZC9ib2FyZC5jCj4gaW5kZXgg MmI1OGY0OTIwNTMwLi5hYmRhM2E1OTg0NWYgMTAwNjQ0Cj4gLS0tIGEvYXJjaC9hcm0vYm9hcmRz L2ZyZWVzY2FsZS1teDUzLXNtZC9ib2FyZC5jCj4gKysrIGIvYXJjaC9hcm0vYm9hcmRzL2ZyZWVz Y2FsZS1teDUzLXNtZC9ib2FyZC5jCj4gQEAgLTEsMTggKzEsNiBAQAo+IC0vKgo+IC0gKiBDb3B5 cmlnaHQgKEMpIDIwMDcgU2FzY2hhIEhhdWVyLCBQZW5ndXRyb25peAo+IC0gKiBDb3B5cmlnaHQg KEMpIDIwMTEgTWFyYyBLbGVpbmUtQnVkZGUgPG1rbEBwZW5ndXRyb25peC5kZT4KPiAtICoKPiAt ICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0 IGFuZC9vcgo+IC0gKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJh bCBQdWJsaWMgTGljZW5zZSBhcwo+IC0gKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUg Rm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZgo+IC0gKiB0aGUgTGljZW5zZSwgb3IgKGF0 IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KPiAtICoKPiAtICogVGhpcyBwcm9ncmFt IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCj4gLSAq IGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJh bnR5IG9mCj4gLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIg UFVSUE9TRS4gU2VlIHRoZQo+IC0gKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9y ZSBkZXRhaWxzLgo+IC0gKgo+IC0gKi8KPiArLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQ TC0yLjAtb3ItbGF0ZXIKPiArLy8gU1BEWC1GaWxlQ29weXJpZ2h0VGV4dDogwqkgMjAwNyBTYXNj aGEgSGF1ZXIsIFBlbmd1dHJvbml4Cj4gKy8vIFNQRFgtRmlsZUNvcHlyaWdodFRleHQ6IMKpIDIw MTEgTWFyYyBLbGVpbmUtQnVkZGUgPG1rbEBwZW5ndXRyb25peC5kZT4KPiAgCj4gICNpbmNsdWRl IDxjb21tb24uaD4KPiAgI2luY2x1ZGUgPGVudmlyb25tZW50Lmg+Cj4gZGlmZiAtLWdpdCBhL2Fy Y2gvYXJtL2JvYXJkcy9mcmVlc2NhbGUtbXg1My12bXg1My9ib2FyZC5jIGIvYXJjaC9hcm0vYm9h cmRzL2ZyZWVzY2FsZS1teDUzLXZteDUzL2JvYXJkLmMKPiBpbmRleCAxODU5YWFjYTI2ZDAuLjQ0 ZGE5YzIwY2U1MSAxMDA2NDQKPiAtLS0gYS9hcmNoL2FybS9ib2FyZHMvZnJlZXNjYWxlLW14NTMt dm14NTMvYm9hcmQuYwo+ICsrKyBiL2FyY2gvYXJtL2JvYXJkcy9mcmVlc2NhbGUtbXg1My12bXg1 My9ib2FyZC5jCj4gQEAgLTEsMTkgKzEsOSBAQAo+ICsvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmll cjogR1BMLTIuMC1vci1sYXRlcgo+ICsvLyBTUERYLUZpbGVDb3B5cmlnaHRUZXh0OiDCqSAyMDEz IFJvc3Rpc2xhdiBMaXNvdnkgPGxpc292eUBnbWFpbC5jb20+LCBQaUtST04gcy5yLm8uCj4gKwo+ ICAvKgo+IC0gKiBDb3B5cmlnaHQgKEMpIDIwMTMgUm9zdGlzbGF2IExpc292eSA8bGlzb3Z5QGdt YWlsLmNvbT4sIFBpS1JPTiBzLnIuby4KPiAtICoKPiAgICogQm9hcmQgc3BlY2lmaWMgZmlsZSBm b3IgVm9pcGFjIFg1My1ETU0tNjY4IG1vZHVsZSBlcXVpcHBlZAo+ICAgKiB3aXRoIGkuTVg1MyBD UFUKPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVk aXN0cmlidXRlIGl0IGFuZC9vcgo+IC0gKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRo ZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcwo+IC0gKiBwdWJsaXNoZWQgYnkgdGhlIEZy ZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZgo+IC0gKiB0aGUgTGlj ZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KPiAtICoKPiAtICog VGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1 c2VmdWwsCj4gLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBp bXBsaWVkIHdhcnJhbnR5IG9mCj4gLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBB IFBBUlRJQ1VMQVIgUFVSUE9TRS4gU2VlIHRoZQo+IC0gKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGlj ZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgo+IC0gKgo+ICAgKi8KPiAgCj4gICNpbmNsdWRlIDxjb21t b24uaD4KPiBkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vYm9hcmRzL2ZyZWVzY2FsZS1teDYtc2FicmVs aXRlL2JvYXJkLmMgYi9hcmNoL2FybS9ib2FyZHMvZnJlZXNjYWxlLW14Ni1zYWJyZWxpdGUvYm9h cmQuYwo+IGluZGV4IDYzZmE1ODg4NmMzMS4uYjllNmRmNTcxMDgzIDEwMDY0NAo+IC0tLSBhL2Fy Y2gvYXJtL2JvYXJkcy9mcmVlc2NhbGUtbXg2LXNhYnJlbGl0ZS9ib2FyZC5jCj4gKysrIGIvYXJj aC9hcm0vYm9hcmRzL2ZyZWVzY2FsZS1teDYtc2FicmVsaXRlL2JvYXJkLmMKPiBAQCAtMSwxNyAr MSw4IEBACj4gKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9yLWxhdGVyCj4g Ky8vIFNQRFgtRmlsZUNvcHlyaWdodFRleHQ6IMKpIDIwMTIgU3RlZmZlbiBUcnVtdHJhciwgUGVu Z3V0cm9uaXgKPiArCj4gIC8qCj4gLSAqIENvcHlyaWdodCAoQykgMjAxMiBTdGVmZmVuIFRydW10 cmFyLCBQZW5ndXRyb25peAo+IC0gKgo+ICAgKiBiYXNlZCBvbiBhcmNoL2FybS9ib2FyZHMvZnJl ZXNjYWxlLW14Ni1hcm0yL2JvYXJkLmMKPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGZyZWUg c29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgo+IC0gKiBtb2RpZnkgaXQg dW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcwo+IC0g KiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNp b24gMiBvZgo+IC0gKiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIg dmVyc2lvbi4KPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBo b3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCj4gLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5U WTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCj4gLSAqIE1FUkNIQU5UQUJJ TElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKPiAtICog R05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KPiAgICovCj4gIAo+ ICAjaW5jbHVkZSA8Y29tbW9uLmg+Cj4gZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2JvYXJkcy9mcmVl c2NhbGUtbXg2LXNhYnJlc2QvYm9hcmQuYyBiL2FyY2gvYXJtL2JvYXJkcy9mcmVlc2NhbGUtbXg2 LXNhYnJlc2QvYm9hcmQuYwo+IGluZGV4IGE1MDU5ODM1ZGZiYy4uZDNmZWU1N2UzNDg2IDEwMDY0 NAo+IC0tLSBhL2FyY2gvYXJtL2JvYXJkcy9mcmVlc2NhbGUtbXg2LXNhYnJlc2QvYm9hcmQuYwo+ ICsrKyBiL2FyY2gvYXJtL2JvYXJkcy9mcmVlc2NhbGUtbXg2LXNhYnJlc2QvYm9hcmQuYwo+IEBA IC0xLDE4ICsxLDkgQEAKPiArLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb3It bGF0ZXIKPiArLy8gU1BEWC1GaWxlQ29weXJpZ2h0VGV4dDogwqkgMjAxMyBIdWJlcnQgRmV1cnN0 ZWluIDxoLmZldXJzdGVpbkBnbWFpbC5jb20+Cj4gKwo+ICAvKgo+IC0gKiBDb3B5cmlnaHQgKEMp IDIwMTMgSHViZXJ0IEZldXJzdGVpbiA8aC5mZXVyc3RlaW5AZ21haWwuY29tPgo+IC0gKgo+ICAg KiBiYXNlZCBvbiBhcmNoL2FybS9ib2FyZHMvZnJlZXNjYWxlLW14Ni1zYWJyZWxpdGUvYm9hcmQu Ywo+ICAgKiBDb3B5cmlnaHQgKEMpIDIwMTIgU3RlZmZlbiBUcnVtdHJhciwgUGVuZ3V0cm9uaXgK CkFuZCBoZXJlLgoKPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlv dSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgo+IC0gKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRl cm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcwo+IC0gKiBwdWJsaXNoZWQg YnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZgo+IC0g KiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KPiAt ICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQg d2lsbCBiZSB1c2VmdWwsCj4gLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBl dmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCj4gLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRO RVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKPiAtICogR05VIEdlbmVyYWwg UHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KPiAgICovCj4gIAo+ICAjaW5jbHVkZSA8 Y29tbW9uLmg+Cj4gZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2JvYXJkcy9mcmVlc2NhbGUtbXg2c3gt c2FicmVzZGIvYm9hcmQuYyBiL2FyY2gvYXJtL2JvYXJkcy9mcmVlc2NhbGUtbXg2c3gtc2FicmVz ZGIvYm9hcmQuYwo+IGluZGV4IDBmZDlhZjgwY2JkZi4uMzg1ZjZiOWVlNjAxIDEwMDY0NAo+IC0t LSBhL2FyY2gvYXJtL2JvYXJkcy9mcmVlc2NhbGUtbXg2c3gtc2FicmVzZGIvYm9hcmQuYwo+ICsr KyBiL2FyY2gvYXJtL2JvYXJkcy9mcmVlc2NhbGUtbXg2c3gtc2FicmVzZGIvYm9hcmQuYwo+IEBA IC0xLDE2ICsxLDYgQEAKPiAtLyoKPiAtICogQ29weXJpZ2h0IChDKSAyMDE0IFNhc2NoYSBIYXVl ciwgUGVuZ3V0cm9uaXgKPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7 IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgo+IC0gKiBtb2RpZnkgaXQgdW5kZXIgdGhl IHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcwo+IC0gKiBwdWJsaXNo ZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZgo+ IC0gKiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4K PiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQg aXQgd2lsbCBiZSB1c2VmdWwsCj4gLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91 dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCj4gLSAqIE1FUkNIQU5UQUJJTElUWSBvciBG SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKPiAtICogR05VIEdlbmVy YWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KPiAtICovCj4gKy8vIFNQRFgtTGlj ZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9yLWxhdGVyCj4gKy8vIFNQRFgtRmlsZUNvcHlyaWdo dFRleHQ6IMKpIDIwMTQgU2FzY2hhIEhhdWVyLCBQZW5ndXRyb25peAo+ICsKPiAgI2RlZmluZSBw cl9mbXQoZm10KSAiaW14NnN4LXNkYjogIiBmbXQKPiAgCj4gICNpbmNsdWRlIDxlbnZpcm9ubWVu dC5oPgo+IGRpZmYgLS1naXQgYS9hcmNoL2FybS9ib2FyZHMvZnJlZXNjYWxlLW14NnN4LXNhYnJl c2RiL2xvd2xldmVsLmMgYi9hcmNoL2FybS9ib2FyZHMvZnJlZXNjYWxlLW14NnN4LXNhYnJlc2Ri L2xvd2xldmVsLmMKPiBpbmRleCA2YTZlMjdiZjQ0ODEuLjU0MzBmMGEyMmI3NCAxMDA2NDQKPiAt LS0gYS9hcmNoL2FybS9ib2FyZHMvZnJlZXNjYWxlLW14NnN4LXNhYnJlc2RiL2xvd2xldmVsLmMK PiArKysgYi9hcmNoL2FybS9ib2FyZHMvZnJlZXNjYWxlLW14NnN4LXNhYnJlc2RiL2xvd2xldmVs LmMKPiBAQCAtMSwxNiArMSw1IEBACj4gLS8qCj4gLSAqIENvcHlyaWdodCAoQykgMjAxNCBTYXNj aGEgSGF1ZXIsIFBlbmd1dHJvbml4Cj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNv ZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKPiAtICogbW9kaWZ5IGl0IHVu ZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMKPiAtICog cHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9u IDIgb2YKPiAtICogdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZl cnNpb24uCj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9w ZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAo+IC0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7 IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgo+IC0gKiBNRVJDSEFOVEFCSUxJ VFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCj4gLSAqIEdO VSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCj4gLSAqLwo+ICsvLyBT UERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vci1sYXRlcgo+ICsvLyBTUERYLUZpbGVD b3B5cmlnaHRUZXh0OiDCqSAyMDE0IFNhc2NoYSBIYXVlciwgUGVuZ3V0cm9uaXgKPiAgCj4gICNp bmNsdWRlIDxkZWJ1Z19sbC5oPgo+ICAjaW5jbHVkZSA8Y29tbW9uLmg+Cj4gZGlmZiAtLWdpdCBh L2FyY2gvYXJtL2JvYXJkcy9mcmVlc2NhbGUtbXg3LXNhYnJlc2QvYm9hcmQuYyBiL2FyY2gvYXJt L2JvYXJkcy9mcmVlc2NhbGUtbXg3LXNhYnJlc2QvYm9hcmQuYwo+IGluZGV4IDM3OTQxZWZkYmVi NC4uMTFlZmFlZTA5MWRhIDEwMDY0NAo+IC0tLSBhL2FyY2gvYXJtL2JvYXJkcy9mcmVlc2NhbGUt bXg3LXNhYnJlc2QvYm9hcmQuYwo+ICsrKyBiL2FyY2gvYXJtL2JvYXJkcy9mcmVlc2NhbGUtbXg3 LXNhYnJlc2QvYm9hcmQuYwo+IEBAIC0xLDE3ICsxLDcgQEAKPiAtLyoKPiAtICogQ29weXJpZ2h0 IChDKSAyMDE3IFpvZGlhYyBJbmZsaWdodCBJbm5vdmF0aW9uCj4gLSAqIEF1dGhvcjogQW5kcmV5 IFNtaXJub3YgPGFuZHJldy5zbWlybm92QGdtYWlsLmNvbT4KPiAtICoKPiAtICogVGhpcyBwcm9n cmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgo+IC0g KiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGlj ZW5zZSBhcwo+IC0gKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsg ZWl0aGVyIHZlcnNpb24gMiBvZgo+IC0gKiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9u KSBhbnkgbGF0ZXIgdmVyc2lvbi4KPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1 dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCj4gLSAqIGJ1dCBXSVRIT1VU IEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCj4gLSAq IE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNl ZSB0aGUKPiAtICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4K PiAtICovCj4gKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9yLWxhdGVyCj4g Ky8vIFNQRFgtRmlsZUNvcHlyaWdodFRleHQ6IMKpIDIwMTcgWm9kaWFjIEluZmxpZ2h0IElubm92 YXRpb24KPiArCj4gKy8qIEF1dGhvcjogQW5kcmV5IFNtaXJub3YgPGFuZHJldy5zbWlybm92QGdt YWlsLmNvbT4gKi8KPiAgCj4gICNpbmNsdWRlIDxjb21tb24uaD4KPiAgI2luY2x1ZGUgPGluaXQu aD4KPiBkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vYm9hcmRzL2ZyaWVuZGx5YXJtLW1pbmkyNDQwL2Nv bmZpZy5oIGIvYXJjaC9hcm0vYm9hcmRzL2ZyaWVuZGx5YXJtLW1pbmkyNDQwL2NvbmZpZy5oCj4g aW5kZXggNDg5Njk3ZjZkNTAxLi44NmM3OGU1NGY2MDAgMTAwNjQ0Cj4gLS0tIGEvYXJjaC9hcm0v Ym9hcmRzL2ZyaWVuZGx5YXJtLW1pbmkyNDQwL2NvbmZpZy5oCj4gKysrIGIvYXJjaC9hcm0vYm9h cmRzL2ZyaWVuZGx5YXJtLW1pbmkyNDQwL2NvbmZpZy5oCj4gQEAgLTEsMTggKzEsOSBAQAo+ICsv LyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vci1sYXRlcgo+ICsKPiAgLyoqCj4g ICAqIEBmaWxlCj4gICAqIEBicmllZiBHbG9iYWwgZGVmaW50aW9ucyBmb3IgdGhlIEFSTSBTM0My NDQwIGJhc2VkIG1pbmkyNDQwIENQVSBjYXJkCj4gICAqLwo+IC0vKiBUaGlzIHByb2dyYW0gaXMg ZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCj4gLSAqIG1vZGlm eSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFz Cj4gLSAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIg dmVyc2lvbiAyIG9mCj4gLSAqIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBs YXRlciB2ZXJzaW9uLgo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4g dGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKPiAtICogYnV0IFdJVEhPVVQgQU5ZIFdB UlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKPiAtICogTUVSQ0hB TlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLgkgU2VlIHRoZQo+ IC0gKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgo+IC0gKgo+ IC0gKi8KPiAgCj4gICNpZm5kZWYgX19DT05GSUdfSAo+ICAjZGVmaW5lIF9fQ09ORklHX0gKPiBk aWZmIC0tZ2l0IGEvYXJjaC9hcm0vYm9hcmRzL2ZyaWVuZGx5YXJtLW1pbmkyNDQwL21pbmkyNDQw LmMgYi9hcmNoL2FybS9ib2FyZHMvZnJpZW5kbHlhcm0tbWluaTI0NDAvbWluaTI0NDAuYwo+IGlu ZGV4IDdmNTljYjk5YjIyNy4uZTVhYjgxZTZkZTAxIDEwMDY0NAo+IC0tLSBhL2FyY2gvYXJtL2Jv YXJkcy9mcmllbmRseWFybS1taW5pMjQ0MC9taW5pMjQ0MC5jCj4gKysrIGIvYXJjaC9hcm0vYm9h cmRzL2ZyaWVuZGx5YXJtLW1pbmkyNDQwL21pbmkyNDQwLmMKPiBAQCAtMSwxOSArMSw4IEBACj4g Ky8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9yLWxhdGVyCj4gKy8vIFNQRFgt RmlsZUNvcHlyaWdodFRleHQ6IMKpIDIwMTAgTWFyZWsgQmVsaXNrbyA8bWFyZWsuYmVsaXNrb0Bv cGVuLW5hbmRyYS5jb20+Cj4gKwo+ICAvKgo+IC0gKiBDb3B5cmlnaHQgKEMpIDIwMTAgTWFyZWsg QmVsaXNrbyA8bWFyZWsuYmVsaXNrb0BvcGVuLW5hbmRyYS5jb20+Cj4gLSAqCj4gICAqIEJhc2Vk IG9uIGE5bTI0NDAuYyBib2FyZCBpbml0IGJ5IEp1ZXJnZW4gQmVpc2VydCwgUGVuZ3V0cm9uaXgK CkFuZCBoZXJlLi4uIG1heWJlPwoKPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29m dHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgo+IC0gKiBtb2RpZnkgaXQgdW5k ZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcwo+IC0gKiBw dWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24g MiBvZgo+IC0gKiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVy c2lvbi4KPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3Bl IHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCj4gLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsg d2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCj4gLSAqIE1FUkNIQU5UQUJJTElU WSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKPiAtICogR05V IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KPiAtICoKPiAtICoKPiAg ICovCj4gIAo+ICAjaW5jbHVkZSA8Y29tbW9uLmg+Cj4gZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2Jv YXJkcy9mcmllbmRseWFybS1taW5pNjQxMC9taW5pNjQxMC5jIGIvYXJjaC9hcm0vYm9hcmRzL2Zy aWVuZGx5YXJtLW1pbmk2NDEwL21pbmk2NDEwLmMKPiBpbmRleCA5MGZiM2Y1YzFlMGQuLmFjNmE3 NDVkOTQyMyAxMDA2NDQKPiAtLS0gYS9hcmNoL2FybS9ib2FyZHMvZnJpZW5kbHlhcm0tbWluaTY0 MTAvbWluaTY0MTAuYwo+ICsrKyBiL2FyY2gvYXJtL2JvYXJkcy9mcmllbmRseWFybS1taW5pNjQx MC9taW5pNjQxMC5jCj4gQEAgLTEsMTYgKzEsNiBAQAo+IC0vKgo+IC0gKiBDb3B5cmlnaHQgKEMp IDIwMTIgSnVlcmdlbiBCZWlzZXJ0Cj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNv ZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKPiAtICogbW9kaWZ5IGl0IHVu ZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMKPiAtICog cHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9u IDIgb2YKPiAtICogdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZl cnNpb24uCj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9w ZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAo+IC0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7 IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgo+IC0gKiBNRVJDSEFOVEFCSUxJ VFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCj4gLSAqIEdO VSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCj4gLSAqLwo+ICsvLyBT UERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vci1sYXRlcgo+ICsvLyBTUERYLUZpbGVD b3B5cmlnaHRUZXh0OiDCqSAyMDEyIEp1ZXJnZW4gQmVpc2VydAo+ICsKPiAgI2luY2x1ZGUgPGNv bW1vbi5oPgo+ICAjaW5jbHVkZSA8ZHJpdmVyLmg+Cj4gICNpbmNsdWRlIDxpbml0Lmg+Cj4gZGlm ZiAtLWdpdCBhL2FyY2gvYXJtL2JvYXJkcy9mcmllbmRseWFybS10aW55MjEwL2xvd2xldmVsLmMg Yi9hcmNoL2FybS9ib2FyZHMvZnJpZW5kbHlhcm0tdGlueTIxMC9sb3dsZXZlbC5jCj4gaW5kZXgg ODc1YzE3Njc3ZTM0Li45Y2EyNTY0OWRhZGIgMTAwNjQ0Cj4gLS0tIGEvYXJjaC9hcm0vYm9hcmRz L2ZyaWVuZGx5YXJtLXRpbnkyMTAvbG93bGV2ZWwuYwo+ICsrKyBiL2FyY2gvYXJtL2JvYXJkcy9m cmllbmRseWFybS10aW55MjEwL2xvd2xldmVsLmMKPiBAQCAtMSwxNiArMSw1IEBACj4gLS8qCj4g LSAqIENvcHlyaWdodCAoQykgMjAxMiBBbGV4ZXkgR2FsYWtob3YKPiAtICoKPiAtICogVGhpcyBw cm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgo+ IC0gKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMg TGljZW5zZQo+IC0gKiB2ZXJzaW9uIDIgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJl IEZvdW5kYXRpb24uCj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0 aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAo+IC0gKiBidXQgV0lUSE9VVCBBTlkgV0FS UkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgo+IC0gKiBNRVJDSEFO VEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCj4g LSAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCj4gLSAqCj4g LSAqLwo+ICsvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vbmx5Cj4gKy8vIFNQ RFgtRmlsZUNvcHlyaWdodFRleHQ6IMKpIDIwMTIgQWxleGV5IEdhbGFraG92Cj4gIAo+ICAjaW5j bHVkZSA8Y29uZmlnLmg+Cj4gICNpbmNsdWRlIDxjb21tb24uaD4KPiBkaWZmIC0tZ2l0IGEvYXJj aC9hcm0vYm9hcmRzL2ZyaWVuZGx5YXJtLXRpbnkyMTAvdGlueTIxMC5jIGIvYXJjaC9hcm0vYm9h cmRzL2ZyaWVuZGx5YXJtLXRpbnkyMTAvdGlueTIxMC5jCj4gaW5kZXggYjQwZGM5OGM1YmE0Li5l ZjNmZGIwNmE0ZmYgMTAwNjQ0Cj4gLS0tIGEvYXJjaC9hcm0vYm9hcmRzL2ZyaWVuZGx5YXJtLXRp bnkyMTAvdGlueTIxMC5jCj4gKysrIGIvYXJjaC9hcm0vYm9hcmRzL2ZyaWVuZGx5YXJtLXRpbnky MTAvdGlueTIxMC5jCj4gQEAgLTEsNyArMSw4IEBACj4gKy8vIFNQRFgtTGljZW5zZS1JZGVudGlm aWVyOiBHUEwtMi4wLW9yLWxhdGVyCj4gKy8vIFNQRFgtRmlsZUNvcHlyaWdodFRleHQ6IMKpIDIw MTIgQWxleGV5IEdhbGFraG92Cj4gKwo+ICAvKgo+IC0gKiBDb3B5cmlnaHQgKEMpIDIwMTIgQWxl eGV5IEdhbGFraG92Cj4gICAqIEJhc2VkIG9uIE1pbmk2NDEwIGNvZGUgYnkgSnVlcmdlbiBCZWlz ZXJ0Cj4gLSAqCj4gICAqIENvcHlyaWdodCAoQykgMjAxMiBKdWVyZ2VuIEJlaXNlcnQsIFBlbmd1 dHJvbml4CgpBbmQgaGVyZS4KCj4gICAqCj4gICAqIEluIHNvbWUgd2F5cyBpbnNwaXJlZCBieSBj b2RlCj4gQEAgLTEyLDE2ICsxMyw2IEBACj4gICAqCj4gICAqIChDKSBDb3B5cmlnaHQgMjAwMgo+ ICAgKiBEYXZpZCBNdWVsbGVyLCBFTFNPRlQgQUcsIDxkLm11ZWxsZXJAZWxzb2Z0LmNoPgo+IC0g Kgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1 dGUgaXQgYW5kL29yCj4gLSAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBH ZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzCj4gLSAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0 d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mCj4gLSAqIHRoZSBMaWNlbnNlLCBv ciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgo+IC0gKgo+IC0gKiBUaGlzIHBy b2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwK PiAtICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQg d2FycmFudHkgb2YKPiAtICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElD VUxBUiBQVVJQT1NFLiAgU2VlIHRoZQo+IC0gKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBm b3IgbW9yZSBkZXRhaWxzLgo+ICAgKi8KPiAgCj4gICNpbmNsdWRlIDxjb21tb24uaD4KPiBkaWZm IC0tZ2l0IGEvYXJjaC9hcm0vYm9hcmRzL2ZyaWVuZGx5YXJtLXRpbnk2NDEwL2RldmVsb3BtZW50 LWJvYXJkLmMgYi9hcmNoL2FybS9ib2FyZHMvZnJpZW5kbHlhcm0tdGlueTY0MTAvZGV2ZWxvcG1l bnQtYm9hcmQuYwo+IGluZGV4IDVkZDA1ZTRjYzgyNi4uNWYyMjRjMDU4YjQ3IDEwMDY0NAo+IC0t LSBhL2FyY2gvYXJtL2JvYXJkcy9mcmllbmRseWFybS10aW55NjQxMC9kZXZlbG9wbWVudC1ib2Fy ZC5jCj4gKysrIGIvYXJjaC9hcm0vYm9hcmRzL2ZyaWVuZGx5YXJtLXRpbnk2NDEwL2RldmVsb3Bt ZW50LWJvYXJkLmMKPiBAQCAtMSwyNCArMSwxNSBAQAo+ICsvLyBTUERYLUxpY2Vuc2UtSWRlbnRp ZmllcjogR1BMLTIuMC1vci1sYXRlcgo+ICsvLyBTUERYLUZpbGVDb3B5cmlnaHRUZXh0OiDCqSAy MDEyIEp1ZXJnZW4gQmVpc2VydAo+ICsKPiAgLyoKPiAtICogQ29weXJpZ2h0IChDKSAyMDEyIEp1 ZXJnZW4gQmVpc2VydAo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsg eW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCj4gLSAqIG1vZGlmeSBpdCB1bmRlciB0aGUg dGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzCj4gLSAqIHB1Ymxpc2hl ZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mCj4g LSAqIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgo+ IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBp dCB3aWxsIGJlIHVzZWZ1bCwKPiAtICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0 IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKPiAtICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJ VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQo+IC0gKiBHTlUgR2VuZXJh bCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgo+IC0gKgo+ICAgKiBUaGUgRnJpZW5k bHlBUk0ncyBUaW55NjQxMCBldmFsdWF0aW9uIGJvYXJkIGNvbWVzIHdpdGggYWxsIGNvbm5lY3Rv cnMgYW5kCj4gICAqIGRldmljZXMgdG8gbWFrZSB0aGUgVGlueTY0MTAgQ1BVIGNhcmQgd29yay4g VGhpcyBpbmNsdWRlczoKPiAgICoKPiAgICogLSB0aGUgRE05MDAwIG5ldHdvcmsgY29udHJvbGxl cgo+ICAgKiAtIFVTQi9NQ0kgY29ubmVjdG9ycwo+ICAgKiAtIGRpc3BsYXkgY29ubmVjdG9yCj4g LSAqCj4gICAqLwo+ICsKPiAgI2luY2x1ZGUgPGNvbW1vbi5oPgo+ICAjaW5jbHVkZSA8ZHJpdmVy Lmg+Cj4gICNpbmNsdWRlIDxpbml0Lmg+Cj4gZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2JvYXJkcy9m cmllbmRseWFybS10aW55NjQxMC90aW55NjQxMC5jIGIvYXJjaC9hcm0vYm9hcmRzL2ZyaWVuZGx5 YXJtLXRpbnk2NDEwL3Rpbnk2NDEwLmMKPiBpbmRleCAzOTE3OWM4M2Q4YjkuLmIzODdjODc3YTJh NyAxMDA2NDQKPiAtLS0gYS9hcmNoL2FybS9ib2FyZHMvZnJpZW5kbHlhcm0tdGlueTY0MTAvdGlu eTY0MTAuYwo+ICsrKyBiL2FyY2gvYXJtL2JvYXJkcy9mcmllbmRseWFybS10aW55NjQxMC90aW55 NjQxMC5jCj4gQEAgLTEsMTYgKzEsNiBAQAo+IC0vKgo+IC0gKiBDb3B5cmlnaHQgKEMpIDIwMTIg SnVlcmdlbiBCZWlzZXJ0Cj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJl OyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKPiAtICogbW9kaWZ5IGl0IHVuZGVyIHRo ZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMKPiAtICogcHVibGlz aGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YK PiAtICogdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24u Cj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0 IGl0IHdpbGwgYmUgdXNlZnVsLAo+IC0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhv dXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgo+IC0gKiBNRVJDSEFOVEFCSUxJVFkgb3Ig RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCj4gLSAqIEdOVSBHZW5l cmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCj4gLSAqLwo+ICsvLyBTUERYLUxp Y2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vci1sYXRlcgo+ICsvLyBTUERYLUZpbGVDb3B5cmln aHRUZXh0OiDCqSAyMDEyIEp1ZXJnZW4gQmVpc2VydAo+ICsKPiAgI2luY2x1ZGUgPGNvbW1vbi5o Pgo+ICAjaW5jbHVkZSA8ZHJpdmVyLmg+Cj4gICNpbmNsdWRlIDxpbml0Lmg+Cj4gZGlmZiAtLWdp dCBhL2FyY2gvYXJtL2JvYXJkcy9mcmllbmRseWFybS10aW55NjQxMC90aW55NjQxMC5oIGIvYXJj aC9hcm0vYm9hcmRzL2ZyaWVuZGx5YXJtLXRpbnk2NDEwL3Rpbnk2NDEwLmgKPiBpbmRleCA5OGRi NDIyNDIyODYuLmJiZTg4NzdjYTBjMyAxMDA2NDQKPiAtLS0gYS9hcmNoL2FybS9ib2FyZHMvZnJp ZW5kbHlhcm0tdGlueTY0MTAvdGlueTY0MTAuaAo+ICsrKyBiL2FyY2gvYXJtL2JvYXJkcy9mcmll bmRseWFybS10aW55NjQxMC90aW55NjQxMC5oCj4gQEAgLTEsMTQgKzEsNCBAQAo+IC0vKgo+IC0g KiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQg YW5kL29yCj4gLSAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFs IFB1YmxpYyBMaWNlbnNlIGFzCj4gLSAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBG b3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mCj4gLSAqIHRoZSBMaWNlbnNlLCBvciAoYXQg eW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0g aXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKPiAtICog YnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFu dHkgb2YKPiAtICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQ VVJQT1NFLiAgU2VlIHRoZQo+IC0gKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9y ZSBkZXRhaWxzLgo+IC0gKi8KPiArLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAt b3ItbGF0ZXIKPiAgCj4gIC8qIHRvIGJlIGNhbGxlZCBieSB0aGUgYmFzZSBib2FyZCAqLwo+ICB2 b2lkIHRpbnk2NDEwX2luaXQoY29uc3QgY2hhciopOwo+IGRpZmYgLS1naXQgYS9hcmNoL2FybS9i b2FyZHMvZ2F0ZXdvcmtzLXZlbnRhbmEvYm9hcmQuYyBiL2FyY2gvYXJtL2JvYXJkcy9nYXRld29y a3MtdmVudGFuYS9ib2FyZC5jCj4gaW5kZXggNmY5ZTAzNDNiZWQ1Li43ZmZmZTVhZWM3ZWUgMTAw NjQ0Cj4gLS0tIGEvYXJjaC9hcm0vYm9hcmRzL2dhdGV3b3Jrcy12ZW50YW5hL2JvYXJkLmMKPiAr KysgYi9hcmNoL2FybS9ib2FyZHMvZ2F0ZXdvcmtzLXZlbnRhbmEvYm9hcmQuYwo+IEBAIC0xLDE2 ICsxLDUgQEAKPiAtLyoKPiAtICogQ29weXJpZ2h0IChDKSAyMDE0IEx1Y2FzIFN0YWNoLCBQZW5n dXRyb25peAo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNh biByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCj4gLSAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMg b2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzCj4gLSAqIHB1Ymxpc2hlZCBieSB0 aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mCj4gLSAqIHRo ZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgo+IC0gKgo+ IC0gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxs IGJlIHVzZWZ1bCwKPiAtICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4g dGhlIGltcGxpZWQgd2FycmFudHkgb2YKPiAtICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1Mg Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQo+IC0gKiBHTlUgR2VuZXJhbCBQdWJs aWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgo+IC0gKi8KPiArLy8gU1BEWC1MaWNlbnNlLUlk ZW50aWZpZXI6IEdQTC0yLjAtb3ItbGF0ZXIKPiArLy8gU1BEWC1GaWxlQ29weXJpZ2h0VGV4dDog wqkgMjAxNCBMdWNhcyBTdGFjaCwgUGVuZ3V0cm9uaXgKPiAgCj4gICNpbmNsdWRlIDxjb21tb24u aD4KPiAgI2luY2x1ZGUgPGVudmlyb25tZW50Lmg+Cj4gZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2Jv YXJkcy9nYXRld29ya3MtdmVudGFuYS9nc2MuYyBiL2FyY2gvYXJtL2JvYXJkcy9nYXRld29ya3Mt dmVudGFuYS9nc2MuYwo+IGluZGV4IDkyMjQ0ZDEyZGFjMy4uY2I0ZmIxYWMyMTY3IDEwMDY0NAo+ IC0tLSBhL2FyY2gvYXJtL2JvYXJkcy9nYXRld29ya3MtdmVudGFuYS9nc2MuYwo+ICsrKyBiL2Fy Y2gvYXJtL2JvYXJkcy9nYXRld29ya3MtdmVudGFuYS9nc2MuYwo+IEBAIC0xLDE3ICsxLDkgQEAK PiArLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb3ItbGF0ZXIKPiArLy8gU1BE WC1GaWxlQ29weXJpZ2h0VGV4dDogwqkgMjAxMyBHYXRld29ya3MgQ29ycG9yYXRpb24KPiArLy8g U1BEWC1GaWxlQ29weXJpZ2h0VGV4dDogwqkgMjAxNCBMdWNhcyBTdGFjaCwgUGVuZ3V0cm9uaXgK PiArCj4gIC8qCj4gLSAqIENvcHlyaWdodCAoQykgMjAxMyBHYXRld29ya3MgQ29ycG9yYXRpb24K PiAtICogQ29weXJpZ2h0IChDKSAyMDE0IEx1Y2FzIFN0YWNoLCBQZW5ndXRyb25peAo+ICAgKiBB dXRob3I6IFRpbSBIYXJ2ZXkgPHRoYXJ2ZXlAZ2F0ZXdvcmtzLmNvbT4KPiAtICoKPiAtICogVGhp cyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9v cgo+IC0gKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJs aWMgTGljZW5zZSBhcwo+IC0gKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRh dGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZgo+IC0gKiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIg b3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGRp c3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCj4gLSAqIGJ1dCBX SVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9m Cj4gLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T RS4gIFNlZSB0aGUKPiAtICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0 YWlscy4KPiAgICovCj4gIAo+ICAvKgo+IGRpZmYgLS1naXQgYS9hcmNoL2FybS9ib2FyZHMvZ2F0 ZXdvcmtzLXZlbnRhbmEvZ3NjLmggYi9hcmNoL2FybS9ib2FyZHMvZ2F0ZXdvcmtzLXZlbnRhbmEv Z3NjLmgKPiBpbmRleCAxM2YyMjYyNjVjNTYuLjQ0YmM1NzMzY2VlNiAxMDA2NDQKPiAtLS0gYS9h cmNoL2FybS9ib2FyZHMvZ2F0ZXdvcmtzLXZlbnRhbmEvZ3NjLmgKPiArKysgYi9hcmNoL2FybS9i b2FyZHMvZ2F0ZXdvcmtzLXZlbnRhbmEvZ3NjLmgKPiBAQCAtMSwxNyArMSw5IEBACj4gKy8vIFNQ RFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9yLWxhdGVyCj4gKy8vIFNQRFgtRmlsZUNv cHlyaWdodFRleHQ6IMKpIDIwMTMgR2F0ZXdvcmtzIENvcnBvcmF0aW9uCj4gKy8vIFNQRFgtRmls ZUNvcHlyaWdodFRleHQ6IMKpIDIwMTQgTHVjYXMgU3RhY2gsIFBlbmd1dHJvbml4Cj4gKwo+ICAv Kgo+IC0gKiBDb3B5cmlnaHQgKEMpIDIwMTMgR2F0ZXdvcmtzIENvcnBvcmF0aW9uCj4gLSAqIENv cHlyaWdodCAoQykgMjAxNCBMdWNhcyBTdGFjaCwgUGVuZ3V0cm9uaXgKPiAgICogQXV0aG9yOiBU aW0gSGFydmV5IDx0aGFydmV5QGdhdGV3b3Jrcy5jb20+Cj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3Jh bSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKPiAtICog bW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vu c2UgYXMKPiAtICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVp dGhlciB2ZXJzaW9uIDIgb2YKPiAtICogdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikg YW55IGxhdGVyIHZlcnNpb24uCj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRl ZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAo+IC0gKiBidXQgV0lUSE9VVCBB TlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgo+IC0gKiBN RVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUg dGhlCj4gLSAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCj4g ICAqLwo+ICAKPiAgLyogaTJjIHNsYXZlIGFkZHJlc3NlcyAqLwo+IGRpZmYgLS1naXQgYS9hcmNo L2FybS9ib2FyZHMvZ2s4MDIvYm9hcmQuYyBiL2FyY2gvYXJtL2JvYXJkcy9nazgwMi9ib2FyZC5j Cj4gaW5kZXggMGQxYjA3YjBlMDdiLi40YWRkMzE2NDU4NTQgMTAwNjQ0Cj4gLS0tIGEvYXJjaC9h cm0vYm9hcmRzL2drODAyL2JvYXJkLmMKPiArKysgYi9hcmNoL2FybS9ib2FyZHMvZ2s4MDIvYm9h cmQuYwo+IEBAIC0xLDE2ICsxLDUgQEAKPiAtLyoKPiAtICogQ29weXJpZ2h0IChDKSAyMDEzIFBo aWxpcHAgWmFiZWwKPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlv dSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgo+IC0gKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRl cm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcwo+IC0gKiBwdWJsaXNoZWQg YnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZgo+IC0g KiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KPiAt ICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQg d2lsbCBiZSB1c2VmdWwsCj4gLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBl dmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCj4gLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRO RVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKPiAtICogR05VIEdlbmVyYWwg UHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KPiAtICovCj4gKy8vIFNQRFgtTGljZW5z ZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9yLWxhdGVyCj4gKy8vIFNQRFgtRmlsZUNvcHlyaWdodFRl eHQ6IMKpIDIwMTMgUGhpbGlwcCBaYWJlbAo+ICAKPiAgI2luY2x1ZGUgPGFzbS9hcm1saW51eC5o Pgo+ICAjaW5jbHVkZSA8YXNtL2lvLmg+Cj4gZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2JvYXJkcy9n bG9iYWxzY2FsZS1ndXJ1cGx1Zy9ib2FyZC5jIGIvYXJjaC9hcm0vYm9hcmRzL2dsb2JhbHNjYWxl LWd1cnVwbHVnL2JvYXJkLmMKPiBpbmRleCA5YzgwMGM1NDEwZDUuLjRjMTAxNDg3NTlkYyAxMDA2 NDQKPiAtLS0gYS9hcmNoL2FybS9ib2FyZHMvZ2xvYmFsc2NhbGUtZ3VydXBsdWcvYm9hcmQuYwo+ ICsrKyBiL2FyY2gvYXJtL2JvYXJkcy9nbG9iYWxzY2FsZS1ndXJ1cGx1Zy9ib2FyZC5jCj4gQEAg LTEsMTcgKzEsNCBAQAo+IC0vKgo+IC0gKiBDb3B5cmlnaHQKPiAtICogKEMpIDIwMTMgVGhvbWFz IFBldGF6em9uaSA8dGhvbWFzLnBldGF6em9uaUBmcmVlLWVsZWN0cm9ucy5jb20+Cj4gLSAqCj4g LSAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBp dCBhbmQvb3IKPiAtICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVy YWwgUHVibGljIExpY2Vuc2UgYXMKPiAtICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJl IEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YKPiAtICogdGhlIExpY2Vuc2UsIG9yIChh dCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3Jh bSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAo+IC0g KiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJy YW50eSBvZgo+IC0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS IFBVUlBPU0UuICBTZWUgdGhlCj4gLSAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBt b3JlIGRldGFpbHMuCj4gLSAqCj4gLSAqLwo+ICsvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjog R1BMLTIuMC1vci1sYXRlcgo+ICsvLyBTUERYLUZpbGVDb3B5cmlnaHRUZXh0OiDCqSAyMDEzIFRo b21hcyBQZXRhenpvbmkgPHRob21hcy5wZXRhenpvbmlAZnJlZS1lbGVjdHJvbnMuY29tPgo+ICAK PiAgLyogZW1wdHkgKi8KPiBkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vYm9hcmRzL2dsb2JhbHNjYWxl LWd1cnVwbHVnL2xvd2xldmVsLmMgYi9hcmNoL2FybS9ib2FyZHMvZ2xvYmFsc2NhbGUtZ3VydXBs dWcvbG93bGV2ZWwuYwo+IGluZGV4IDkyNDI0Y2JkNmI1Zi4uYWRlOTE5M2IwOGVmIDEwMDY0NAo+ IC0tLSBhL2FyY2gvYXJtL2JvYXJkcy9nbG9iYWxzY2FsZS1ndXJ1cGx1Zy9sb3dsZXZlbC5jCj4g KysrIGIvYXJjaC9hcm0vYm9hcmRzL2dsb2JhbHNjYWxlLWd1cnVwbHVnL2xvd2xldmVsLmMKPiBA QCAtMSwxOCArMSw1IEBACj4gLS8qCj4gLSAqIENvcHlyaWdodCAoQykgMjAxNAo+IC0gKiAgU2Vi YXN0aWFuIEhlc3NlbGJhcnRoIDxzZWJhc3RpYW4uaGVzc2VsYmFydGhAZ21haWwuY29tPgo+IC0g Kgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1 dGUgaXQgYW5kL29yCj4gLSAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBH ZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzCj4gLSAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0 d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mCj4gLSAqIHRoZSBMaWNlbnNlLCBv ciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgo+IC0gKgo+IC0gKiBUaGlzIHBy b2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwK PiAtICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQg d2FycmFudHkgb2YKPiAtICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElD VUxBUiBQVVJQT1NFLiAgU2VlIHRoZQo+IC0gKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBm b3IgbW9yZSBkZXRhaWxzLgo+IC0gKgo+IC0gKi8KPiArLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZp ZXI6IEdQTC0yLjAtb3ItbGF0ZXIKPiArLy8gU1BEWC1GaWxlQ29weXJpZ2h0VGV4dDogwqkgMjAx NCBTZWJhc3RpYW4gSGVzc2VsYmFydGggPHNlYmFzdGlhbi5oZXNzZWxiYXJ0aEBnbWFpbC5jb20+ Cj4gIAo+ICAjaW5jbHVkZSA8Y29tbW9uLmg+Cj4gICNpbmNsdWRlIDxsaW51eC9zaXplcy5oPgo+ IGRpZmYgLS1naXQgYS9hcmNoL2FybS9ib2FyZHMvZ2xvYmFsc2NhbGUtbWlyYWJveC9ib2FyZC5j IGIvYXJjaC9hcm0vYm9hcmRzL2dsb2JhbHNjYWxlLW1pcmFib3gvYm9hcmQuYwo+IGluZGV4IDlj ODAwYzU0MTBkNS4uNGMxMDE0ODc1OWRjIDEwMDY0NAo+IC0tLSBhL2FyY2gvYXJtL2JvYXJkcy9n bG9iYWxzY2FsZS1taXJhYm94L2JvYXJkLmMKPiArKysgYi9hcmNoL2FybS9ib2FyZHMvZ2xvYmFs c2NhbGUtbWlyYWJveC9ib2FyZC5jCj4gQEAgLTEsMTcgKzEsNCBAQAo+IC0vKgo+IC0gKiBDb3B5 cmlnaHQKPiAtICogKEMpIDIwMTMgVGhvbWFzIFBldGF6em9uaSA8dGhvbWFzLnBldGF6em9uaUBm cmVlLWVsZWN0cm9ucy5jb20+Cj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3 YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKPiAtICogbW9kaWZ5IGl0IHVuZGVy IHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMKPiAtICogcHVi bGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIg b2YKPiAtICogdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNp b24uCj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0 aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAo+IC0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdp dGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgo+IC0gKiBNRVJDSEFOVEFCSUxJVFkg b3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCj4gLSAqIEdOVSBH ZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCj4gLSAqCj4gLSAqLwo+ICsv LyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vci1sYXRlcgo+ICsvLyBTUERYLUZp bGVDb3B5cmlnaHRUZXh0OiDCqSAyMDEzIFRob21hcyBQZXRhenpvbmkgPHRob21hcy5wZXRhenpv bmlAZnJlZS1lbGVjdHJvbnMuY29tPgo+ICAKPiAgLyogZW1wdHkgKi8KPiBkaWZmIC0tZ2l0IGEv YXJjaC9hcm0vYm9hcmRzL2dsb2JhbHNjYWxlLW1pcmFib3gvbG93bGV2ZWwuYyBiL2FyY2gvYXJt L2JvYXJkcy9nbG9iYWxzY2FsZS1taXJhYm94L2xvd2xldmVsLmMKPiBpbmRleCA2OTc4NmM4OGZi MjIuLjMwMWYzMTczMmI2YyAxMDA2NDQKPiAtLS0gYS9hcmNoL2FybS9ib2FyZHMvZ2xvYmFsc2Nh bGUtbWlyYWJveC9sb3dsZXZlbC5jCj4gKysrIGIvYXJjaC9hcm0vYm9hcmRzL2dsb2JhbHNjYWxl LW1pcmFib3gvbG93bGV2ZWwuYwo+IEBAIC0xLDE4ICsxLDUgQEAKPiAtLyoKPiAtICogQ29weXJp Z2h0IChDKSAyMDE0Cj4gLSAqICBTZWJhc3RpYW4gSGVzc2VsYmFydGggPHNlYmFzdGlhbi5oZXNz ZWxiYXJ0aEBnbWFpbC5jb20+Cj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3 YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKPiAtICogbW9kaWZ5IGl0IHVuZGVy IHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMKPiAtICogcHVi bGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIg b2YKPiAtICogdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNp b24uCj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0 aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAo+IC0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdp dGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgo+IC0gKiBNRVJDSEFOVEFCSUxJVFkg b3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCj4gLSAqIEdOVSBH ZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCj4gLSAqCj4gLSAqLwo+ICsv LyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vci1sYXRlcgo+ICsvLyBTUERYLUZp bGVDb3B5cmlnaHRUZXh0OiDCqSAyMDE0IFNlYmFzdGlhbiBIZXNzZWxiYXJ0aCA8c2ViYXN0aWFu Lmhlc3NlbGJhcnRoQGdtYWlsLmNvbT4KPiAgCj4gICNpbmNsdWRlIDxjb21tb24uaD4KPiAgI2lu Y2x1ZGUgPGxpbnV4L3NpemVzLmg+Cj4gZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2JvYXJkcy9ncmlu bi1saXRlYm9hcmQvYm9hcmQuYyBiL2FyY2gvYXJtL2JvYXJkcy9ncmlubi1saXRlYm9hcmQvYm9h cmQuYwo+IGluZGV4IDhlNWE5MWUxMjQzZC4uZmMyZjgwMzQxY2YyIDEwMDY0NAo+IC0tLSBhL2Fy Y2gvYXJtL2JvYXJkcy9ncmlubi1saXRlYm9hcmQvYm9hcmQuYwo+ICsrKyBiL2FyY2gvYXJtL2Jv YXJkcy9ncmlubi1saXRlYm9hcmQvYm9hcmQuYwo+IEBAIC0xLDE3ICsxLDcgQEAKPiAtLyoKPiAt ICogQ29weXJpZ2h0IChDKSAyMDE4IEdyaW5uCj4gLSAqCj4gLSAqIEF1dGhvcjogTWFyY2luIE5p ZXN0cm9qIDxtLm5pZXN0cm9qQGdyaW5uLWdsb2JhbC5jb20+Cj4gLSAqCj4gLSAqIFRoaXMgcHJv Z3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKPiAt ICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExp Y2Vuc2UgYXMKPiAtICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247 IHZlcnNpb24gMi4KPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRo ZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCj4gLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJS QU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCj4gLSAqIE1FUkNIQU5U QUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gU2VlIHRoZSBHTlUK PiAtICogR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgo+IC0gKi8KPiAr Ly8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb25seQo+ICsvLyBTUERYLUZpbGVD b3B5cmlnaHRUZXh0OiDCqSAyMDE4IEdyaW5uCj4gKwo+ICsvKiBBdXRob3I6IE1hcmNpbiBOaWVz dHJvaiA8bS5uaWVzdHJvakBncmlubi1nbG9iYWwuY29tPiAqLwo+ICAKPiAgI2RlZmluZSBwcl9m bXQoZm10KSAibGl0ZWJvYXJkOiAiIGZtdAo+ICAKPiBkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vYm9h cmRzL2dyaW5uLWxpdGVib2FyZC9sb3dsZXZlbC5jIGIvYXJjaC9hcm0vYm9hcmRzL2dyaW5uLWxp dGVib2FyZC9sb3dsZXZlbC5jCj4gaW5kZXggYmIyZTA5MDE2ZTJiLi40NzczMTlkZDE1MTkgMTAw NjQ0Cj4gLS0tIGEvYXJjaC9hcm0vYm9hcmRzL2dyaW5uLWxpdGVib2FyZC9sb3dsZXZlbC5jCj4g KysrIGIvYXJjaC9hcm0vYm9hcmRzL2dyaW5uLWxpdGVib2FyZC9sb3dsZXZlbC5jCj4gQEAgLTEs MTcgKzEsNyBAQAo+IC0vKgo+IC0gKiBDb3B5cmlnaHQgKEMpIDIwMTggR3Jpbm4KPiAtICoKPiAt ICogQXV0aG9yOiBNYXJjaW4gTmllc3Ryb2ogPG0ubmllc3Ryb2pAZ3Jpbm4tZ2xvYmFsLmNvbT4K PiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0 cmlidXRlIGl0IGFuZC9vcgo+IC0gKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBH TlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcwo+IC0gKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUg U29mdHdhcmUgRm91bmRhdGlvbjsgdmVyc2lvbiAyLgo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0g aXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKPiAtICog YnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFu dHkgb2YKPiAtICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQ VVJQT1NFLiBTZWUgdGhlIEdOVQo+IC0gKiBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3Jl IGRldGFpbHMuCj4gLSAqLwo+ICsvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1v bmx5Cj4gKy8vIFNQRFgtRmlsZUNvcHlyaWdodFRleHQ6IMKpIDIwMTggR3Jpbm4KPiArCj4gKy8q IEF1dGhvcjogTWFyY2luIE5pZXN0cm9qIDxtLm5pZXN0cm9qQGdyaW5uLWdsb2JhbC5jb20+ICov Cj4gIAo+ICAjaW5jbHVkZSA8ZGVidWdfbGwuaD4KPiAgI2luY2x1ZGUgPGNvbW1vbi5oPgo+IGRp ZmYgLS1naXQgYS9hcmNoL2FybS9ib2FyZHMvZ3VmLWN1cGlkL01ha2VmaWxlIGIvYXJjaC9hcm0v Ym9hcmRzL2d1Zi1jdXBpZC9NYWtlZmlsZQo+IGluZGV4IDg2OGQwNjIyMjAxYi4uZTM4NTVhNTk4 ODNiIDEwMDY0NAo+IC0tLSBhL2FyY2gvYXJtL2JvYXJkcy9ndWYtY3VwaWQvTWFrZWZpbGUKPiAr KysgYi9hcmNoL2FybS9ib2FyZHMvZ3VmLWN1cGlkL01ha2VmaWxlCj4gQEAgLTEsMTcgKzEsNSBA QAo+IC0jCj4gLSMgKEMpIENvcHlyaWdodCAyMDA3IEp1ZXJnZW4gQmVpc2VydCA8amJlQHBlbmd1 dHJvbml4LmRlPgo+IC0jCj4gLSMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBj YW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgo+IC0jIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMg b2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzCj4gLSMgcHVibGlzaGVkIGJ5IHRo ZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YKPiAtIyB0aGUg TGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KPiAtIwo+IC0j IFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUg dXNlZnVsLAo+IC0jIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBp bXBsaWVkIHdhcnJhbnR5IG9mCj4gLSMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEg UEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQo+IC0jIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNl bnNlIGZvciBtb3JlIGRldGFpbHMuCj4gLSMKPiAtIwo+ICsvLyBTUERYLUxpY2Vuc2UtSWRlbnRp ZmllcjogR1BMLTIuMC1vci1sYXRlcgo+ICsvLyBTUERYLUZpbGVDb3B5cmlnaHRUZXh0OiDCqSAy MDA3IEp1ZXJnZW4gQmVpc2VydCA8amJlQHBlbmd1dHJvbml4LmRlPgo+ICAKPiAgbHdsLXkgKz0g bG93bGV2ZWwubwo+ICBvYmoteSArPSBib2FyZC5vCj4gZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2Jv YXJkcy9ndWYtY3VwaWQvYm9hcmQuYyBiL2FyY2gvYXJtL2JvYXJkcy9ndWYtY3VwaWQvYm9hcmQu Ywo+IGluZGV4IDYwMTc1YzE0YmIyOC4uYWRmZmI2YmZjM2RlIDEwMDY0NAo+IC0tLSBhL2FyY2gv YXJtL2JvYXJkcy9ndWYtY3VwaWQvYm9hcmQuYwo+ICsrKyBiL2FyY2gvYXJtL2JvYXJkcy9ndWYt Y3VwaWQvYm9hcmQuYwo+IEBAIC0xLDIwICsxLDggQEAKPiAtLyoKPiAtICogKEMpIDIwMDcgUGVu Z3V0cm9uaXgsIFNhc2NoYSBIYXVlciA8cy5oYXVlckBwZW5ndXRyb25peC5kZT4KPiAtICogKEMp IDIwMDkgUGVuZ3V0cm9uaXgsIEp1ZXJnZW4gQmVpc2VydCA8a2VybmVsQHBlbmd1dHJvbml4LmRl Pgo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRp c3RyaWJ1dGUgaXQgYW5kL29yCj4gLSAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhl IEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzCj4gLSAqIHB1Ymxpc2hlZCBieSB0aGUgRnJl ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mCj4gLSAqIHRoZSBMaWNl bnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgo+IC0gKgo+IC0gKiBU aGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVz ZWZ1bCwKPiAtICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGlt cGxpZWQgd2FycmFudHkgb2YKPiAtICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEg UEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQo+IC0gKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGlj ZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgo+IC0gKgo+IC0gKgo+IC0gKiBCb2FyZCBzdXBwb3J0IGZv ciB0aGUgR2FyeitGcmlja2UgQ3VwaWQgYm9hcmQKPiAtICovCj4gKy8vIFNQRFgtTGljZW5zZS1J ZGVudGlmaWVyOiBHUEwtMi4wLW9yLWxhdGVyCj4gKy8vIFNQRFgtRmlsZUNvcHlyaWdodFRleHQ6 IMKpIDIwMDcgU2FzY2hhIEhhdWVyIDxzLmhhdWVyQHBlbmd1dHJvbml4LmRlPiwgUGVuZ3V0cm9u aXgKPiArLy8gU1BEWC1GaWxlQ29weXJpZ2h0VGV4dDogwqkgMjAwOSBKdWVyZ2VuIEJlaXNlcnQg PGtlcm5lbEBwZW5ndXRyb25peC5kZT4sIFBlbmd1dHJvbml4Cj4gKwo+ICsvKiBCb2FyZCBzdXBw b3J0IGZvciB0aGUgR2FyeitGcmlja2UgQ3VwaWQgYm9hcmQgKi8KPiAgCj4gICNpbmNsdWRlIDxj b21tb24uaD4KPiAgI2luY2x1ZGUgPGNvbW1hbmQuaD4KPiBkaWZmIC0tZ2l0IGEvYXJjaC9hcm0v Ym9hcmRzL2d1Zi1jdXBpZC9sb3dsZXZlbC5jIGIvYXJjaC9hcm0vYm9hcmRzL2d1Zi1jdXBpZC9s b3dsZXZlbC5jCj4gaW5kZXggMzY4NGRhY2ZjN2YxLi5lNTI1NWE3MDJiM2YgMTAwNjQ0Cj4gLS0t IGEvYXJjaC9hcm0vYm9hcmRzL2d1Zi1jdXBpZC9sb3dsZXZlbC5jCj4gKysrIGIvYXJjaC9hcm0v Ym9hcmRzL2d1Zi1jdXBpZC9sb3dsZXZlbC5jCj4gQEAgLTEsMTggKzEsNiBAQAo+IC0vKgo+IC0g Kgo+IC0gKiAoYykgMjAwNyBQZW5ndXRyb25peCwgU2FzY2hhIEhhdWVyIDxzLmhhdWVyQHBlbmd1 dHJvbml4LmRlPgo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91 IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCj4gLSAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVy bXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzCj4gLSAqIHB1Ymxpc2hlZCBi eSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mCj4gLSAq IHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgo+IC0g Kgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3 aWxsIGJlIHVzZWZ1bCwKPiAtICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2 ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKPiAtICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5F U1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQo+IC0gKiBHTlUgR2VuZXJhbCBQ dWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgo+IC0gKgo+IC0gKi8KPiArLy8gU1BEWC1M aWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb3ItbGF0ZXIKPiArLy8gU1BEWC1GaWxlQ29weXJp Z2h0VGV4dDogwqkgMjAwNyBTYXNjaGEgSGF1ZXIgPHMuaGF1ZXJAcGVuZ3V0cm9uaXguZGU+LCBQ ZW5ndXRyb25peAo+ICsKPiAgI2luY2x1ZGUgPGNvbW1vbi5oPgo+ICAjaW5jbHVkZSA8aW5pdC5o Pgo+ICAjaW5jbHVkZSA8bWFjaC9pbXgzNS1yZWdzLmg+Cj4gZGlmZiAtLWdpdCBhL2FyY2gvYXJt L2JvYXJkcy9ndWYtbmVzby9ib2FyZC5jIGIvYXJjaC9hcm0vYm9hcmRzL2d1Zi1uZXNvL2JvYXJk LmMKPiBpbmRleCA2ODQ2YmE1NzkzZmYuLjk3YTNjNjhiNDg5MyAxMDA2NDQKPiAtLS0gYS9hcmNo L2FybS9ib2FyZHMvZ3VmLW5lc28vYm9hcmQuYwo+ICsrKyBiL2FyY2gvYXJtL2JvYXJkcy9ndWYt bmVzby9ib2FyZC5jCj4gQEAgLTEsMTggKzEsNSBAQAo+IC0vKgo+IC0gKiBDb3B5cmlnaHQgKEMp IDIwMTAgU2FzY2hhIEhhdWVyLCBQZW5ndXRyb25peAo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0g aXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCj4gLSAqIG1v ZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl IGFzCj4gLSAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRo ZXIgdmVyc2lvbiAyIG9mCj4gLSAqIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFu eSBsYXRlciB2ZXJzaW9uLgo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQg aW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKPiAtICogYnV0IFdJVEhPVVQgQU5Z IFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKPiAtICogTUVS Q0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRo ZQo+IC0gKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgo+IC0g Kgo+IC0gKgo+IC0gKi8KPiArLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb3It bGF0ZXIKPiArLy8gU1BEWC1GaWxlQ29weXJpZ2h0VGV4dDogwqkgMjAxMCBTYXNjaGEgSGF1ZXIs IFBlbmd1dHJvbml4Cj4gIAo+ICAjaW5jbHVkZSA8Y29tbW9uLmg+Cj4gICNpbmNsdWRlIDxuZXQu aD4KPiBkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vYm9hcmRzL2d1Zi1uZXNvL2xvd2xldmVsLmMgYi9h cmNoL2FybS9ib2FyZHMvZ3VmLW5lc28vbG93bGV2ZWwuYwo+IGluZGV4IDA3ZTQyNmQ1MzcwMi4u ZWJmMzgzNDA0OGE2IDEwMDY0NAo+IC0tLSBhL2FyY2gvYXJtL2JvYXJkcy9ndWYtbmVzby9sb3ds ZXZlbC5jCj4gKysrIGIvYXJjaC9hcm0vYm9hcmRzL2d1Zi1uZXNvL2xvd2xldmVsLmMKPiBAQCAt MSwxOCArMSw2IEBACj4gLS8qCj4gLSAqCj4gLSAqIChjKSAyMDA3IFBlbmd1dHJvbml4LCBTYXNj aGEgSGF1ZXIgPHMuaGF1ZXJAcGVuZ3V0cm9uaXguZGU+Cj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3Jh bSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKPiAtICog bW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vu c2UgYXMKPiAtICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVp dGhlciB2ZXJzaW9uIDIgb2YKPiAtICogdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikg YW55IGxhdGVyIHZlcnNpb24uCj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRl ZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAo+IC0gKiBidXQgV0lUSE9VVCBB TlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgo+IC0gKiBN RVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUg dGhlCj4gLSAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCj4g LSAqCj4gLSAqLwo+ICsvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vci1sYXRl cgo+ICsvLyBTUERYLUZpbGVDb3B5cmlnaHRUZXh0OiDCqSAyMDA3IFNhc2NoYSBIYXVlciA8cy5o YXVlckBwZW5ndXRyb25peC5kZT4sIFBlbmd1dHJvbml4Cj4gKwo+ICAjaW5jbHVkZSA8Y29tbW9u Lmg+Cj4gICNpbmNsdWRlIDxpbml0Lmg+Cj4gICNpbmNsdWRlIDxtYWNoL2lteDI3LXJlZ3MuaD4K PiBkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vYm9hcmRzL2d1Zi1zYW50YXJvL2JvYXJkLmMgYi9hcmNo L2FybS9ib2FyZHMvZ3VmLXNhbnRhcm8vYm9hcmQuYwo+IGluZGV4IGU1NDExMDg4NmJkOS4uYjI0 NjFlZThkYzRiIDEwMDY0NAo+IC0tLSBhL2FyY2gvYXJtL2JvYXJkcy9ndWYtc2FudGFyby9ib2Fy ZC5jCj4gKysrIGIvYXJjaC9hcm0vYm9hcmRzL2d1Zi1zYW50YXJvL2JvYXJkLmMKPiBAQCAtMSwx NiArMSw2IEBACj4gLS8qCj4gLSAqIENvcHlyaWdodCAoQykgMjAxNCBTYXNjaGEgSGF1ZXIgPHMu aGF1ZXJAcGVuZ3V0cm9uaXguZGU+Cj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNv ZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKPiAtICogbW9kaWZ5IGl0IHVu ZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMKPiAtICog cHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9u IDIgb2YKPiAtICogdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZl cnNpb24uCj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9w ZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAo+IC0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7 IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgo+IC0gKiBNRVJDSEFOVEFCSUxJ VFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCj4gLSAqIEdO VSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCj4gLSAqLwo+ICsvLyBT UERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vci1sYXRlcgo+ICsvLyBTUERYLUZpbGVD b3B5cmlnaHRUZXh0OiDCqSAyMDE0IFNhc2NoYSBIYXVlciA8cy5oYXVlckBwZW5ndXRyb25peC5k ZT4KPiArCj4gICNkZWZpbmUgcHJfZm10KGZtdCkgIlNhbnRhcm86ICIgZm10Cj4gIAo+ICAjaW5j bHVkZSA8Y29tbW9uLmg+Cj4gZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2JvYXJkcy9ndWYtdmluY2Vs bC9ib2FyZC5jIGIvYXJjaC9hcm0vYm9hcmRzL2d1Zi12aW5jZWxsL2JvYXJkLmMKPiBpbmRleCAw MDdiNmRkMzQ3NGMuLjQyZDEyOWJkMmVlZiAxMDA2NDQKPiAtLS0gYS9hcmNoL2FybS9ib2FyZHMv Z3VmLXZpbmNlbGwvYm9hcmQuYwo+ICsrKyBiL2FyY2gvYXJtL2JvYXJkcy9ndWYtdmluY2VsbC9i b2FyZC5jCj4gQEAgLTEsMTggKzEsNiBAQAo+IC0vKgo+IC0gKiBDb3B5cmlnaHQgKEMpIDIwMDcg U2FzY2hhIEhhdWVyLCBQZW5ndXRyb25peAo+IC0gKiBDb3B5cmlnaHQgKEMpIDIwMTEgTWFyYyBL bGVpbmUtQnVkZGUgPG1rbEBwZW5ndXRyb25peC5kZT4KPiAtICoKPiAtICogVGhpcyBwcm9ncmFt IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgo+IC0gKiBt b2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5z ZSBhcwo+IC0gKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0 aGVyIHZlcnNpb24gMiBvZgo+IC0gKiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBh bnkgbGF0ZXIgdmVyc2lvbi4KPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVk IGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCj4gLSAqIGJ1dCBXSVRIT1VUIEFO WSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCj4gLSAqIE1F UkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gU2VlIHRo ZQo+IC0gKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgo+IC0g Kgo+IC0gKi8KPiArLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb3ItbGF0ZXIK PiArLy8gU1BEWC1GaWxlQ29weXJpZ2h0VGV4dDogwqkgMjAwNyBTYXNjaGEgSGF1ZXIsIFBlbmd1 dHJvbml4Cj4gKy8vIFNQRFgtRmlsZUNvcHlyaWdodFRleHQ6IMKpIDIwMTEgTWFyYyBLbGVpbmUt QnVkZGUgPG1rbEBwZW5ndXRyb25peC5kZT4KPiAgCj4gICNpbmNsdWRlIDxjb21tb24uaD4KPiAg I2luY2x1ZGUgPGVudmlyb25tZW50Lmg+Cj4gZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2JvYXJkcy9o YWJhLWtueC9pbml0LmMgYi9hcmNoL2FybS9ib2FyZHMvaGFiYS1rbngvaW5pdC5jCj4gaW5kZXgg NTU0NDFiNjNhZjM1Li40YWQ2ODg1MDM5NDEgMTAwNjQ0Cj4gLS0tIGEvYXJjaC9hcm0vYm9hcmRz L2hhYmEta254L2luaXQuYwo+ICsrKyBiL2FyY2gvYXJtL2JvYXJkcy9oYWJhLWtueC9pbml0LmMK PiBAQCAtMSwxOSArMSw2IEBACj4gLS8qCj4gLSAqIENvcHlyaWdodCAoQykgMjAxMS0yMDEyIEpl YW4tQ2hyaXN0b3BoZSBQTEFHTklPTC1WSUxMQVJECj4gLSAqIENvcHlyaWdodCAoQykgMjAxNCBH cmVnb3J5IEhlcm1hbnQgPGdyZWdvcnkuaGVybWFudEBjYWxhby1zeXN0ZW1zLmNvbT4KPiAtICoK PiAtICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRl IGl0IGFuZC9vcgo+IC0gKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2Vu ZXJhbCBQdWJsaWMgTGljZW5zZSBhcwo+IC0gKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdh cmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZgo+IC0gKiB0aGUgTGljZW5zZSwgb3Ig KGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KPiAtICoKPiAtICogVGhpcyBwcm9n cmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCj4g LSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdh cnJhbnR5IG9mCj4gLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM QVIgUFVSUE9TRS4gIFNlZSB0aGUKPiAtICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9y IG1vcmUgZGV0YWlscy4KPiAtICoKPiAtICoKPiAtICovCj4gKy8vIFNQRFgtTGljZW5zZS1JZGVu dGlmaWVyOiBHUEwtMi4wLW9yLWxhdGVyCj4gKy8vIFNQRFgtRmlsZUNvcHlyaWdodFRleHQ6IMKp IDIwMTEtMjAxMiBKZWFuLUNocmlzdG9waGUgUExBR05JT0wtVklMTEFSRAo+ICsvLyBTUERYLUZp bGVDb3B5cmlnaHRUZXh0OiDCqSAyMDE0IEdyZWdvcnkgSGVybWFudCA8Z3JlZ29yeS5oZXJtYW50 QGNhbGFvLXN5c3RlbXMuY29tPgo+ICAKPiAgI2luY2x1ZGUgPGNvbW1vbi5oPgo+ICAjaW5jbHVk ZSA8bmV0Lmg+Cj4gZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2JvYXJkcy9pbXgyMzMtb2xpbnV4aW5v L2lteDIzLW9saW51eGluby5jIGIvYXJjaC9hcm0vYm9hcmRzL2lteDIzMy1vbGludXhpbm8vaW14 MjMtb2xpbnV4aW5vLmMKPiBpbmRleCBhZjU0OGIzYzUzYWMuLmY1YmQ0MGE4NGRkYiAxMDA2NDQK PiAtLS0gYS9hcmNoL2FybS9ib2FyZHMvaW14MjMzLW9saW51eGluby9pbXgyMy1vbGludXhpbm8u Ywo+ICsrKyBiL2FyY2gvYXJtL2JvYXJkcy9pbXgyMzMtb2xpbnV4aW5vL2lteDIzLW9saW51eGlu by5jCj4gQEAgLTEsMjAgKzEsMTAgQEAKPiArLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQ TC0yLjAtb3ItbGF0ZXIKPiArLy8gU1BEWC1GaWxlQ29weXJpZ2h0VGV4dDogwqkgMjAxMiBGYWRp bCBCZXJpc2hhIDxmYWRpbC5yLmJlcmlzaGFAZ21haWwuY29tPgo+ICsKPiAgLyoKPiAtICogKEMp IENvcHlyaWdodCAyMDEyIEZhZGlsIEJlcmlzaGEsIDxmYWRpbC5yLmJlcmlzaGFAZ21haWwuY29t Pgo+IC0gKiAgICAgYmFzZWQgb24gZmFsY29ud2luZy5jICYgbXgyMy1ldmsuYwo+IC0gKgo+ICsg KiBiYXNlZCBvbiBmYWxjb253aW5nLmMgJiBteDIzLWV2ay5jCj4gICAqIChDKSBDb3B5cmlnaHQg MjAxMCBKdWVyZ2VuIEJlaXNlcnQgLSBQZW5ndXRyb25peAo+ICAgKiAoQykgQ29weXJpZ2h0IDIw MTEgV29sZnJhbSBTYW5nIC0gUGVuZ3V0cm9uaXgKCkFuZCBoZXJlLgoKPiAtICoKPiAtICogVGhp cyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9v cgo+IC0gKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJs aWMgTGljZW5zZSBhcwo+IC0gKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRh dGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZgo+IC0gKiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIg b3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGRp c3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCj4gLSAqIGJ1dCBX SVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9m Cj4gLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T RS4gIFNlZSB0aGUKPiAtICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0 YWlscy4KPiAtICoKPiAgICovCj4gIAo+ICAjaW5jbHVkZSA8Y29tbW9uLmg+Cj4gZGlmZiAtLWdp dCBhL2FyY2gvYXJtL2JvYXJkcy9rYXJvLXR4MjUvTWFrZWZpbGUgYi9hcmNoL2FybS9ib2FyZHMv a2Fyby10eDI1L01ha2VmaWxlCj4gaW5kZXggMDIwNDRmMTYyZmVlLi5lOTYzNTEwYzY0NWUgMTAw NjQ0Cj4gLS0tIGEvYXJjaC9hcm0vYm9hcmRzL2thcm8tdHgyNS9NYWtlZmlsZQo+ICsrKyBiL2Fy Y2gvYXJtL2JvYXJkcy9rYXJvLXR4MjUvTWFrZWZpbGUKPiBAQCAtMSwxNyArMSw1IEBACj4gLSMK PiAtIyAoQykgQ29weXJpZ2h0IDIwMTEgU2FzY2hhIEhhdWVyIDxzLmhhdWVyQHBlbmd1dHJvbml4 LmRlPgo+IC0jCj4gLSMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVk aXN0cmlidXRlIGl0IGFuZC9vcgo+IC0jIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhl IEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzCj4gLSMgcHVibGlzaGVkIGJ5IHRoZSBGcmVl IFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YKPiAtIyB0aGUgTGljZW5z ZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KPiAtIwo+IC0jIFRoaXMg cHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVs LAo+IC0jIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVk IHdhcnJhbnR5IG9mCj4gLSMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElD VUxBUiBQVVJQT1NFLiAgU2VlIHRoZQo+IC0jIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZv ciBtb3JlIGRldGFpbHMuCj4gLSMKPiAtIwo+ICsvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjog R1BMLTIuMC1vci1sYXRlcgo+ICsvLyBTUERYLUZpbGVDb3B5cmlnaHRUZXh0OiDCqSAyMDExIFNh c2NoYSBIYXVlciA8cy5oYXVlckBwZW5ndXRyb25peC5kZT4KPiAgCj4gIGx3bC15ICs9IGxvd2xl dmVsLm8KPiAgb2JqLXkgKz0gYm9hcmQubwo+IGRpZmYgLS1naXQgYS9hcmNoL2FybS9ib2FyZHMv a2Fyby10eDI1L2JvYXJkLmMgYi9hcmNoL2FybS9ib2FyZHMva2Fyby10eDI1L2JvYXJkLmMKPiBp bmRleCBlMmE2ZGNjMDg5ZWQuLjQ3ODE2MzY5OGVjYiAxMDA2NDQKPiAtLS0gYS9hcmNoL2FybS9i b2FyZHMva2Fyby10eDI1L2JvYXJkLmMKPiArKysgYi9hcmNoL2FybS9ib2FyZHMva2Fyby10eDI1 L2JvYXJkLmMKPiBAQCAtMSwxOCArMSw1IEBACj4gLS8qCj4gLSAqIChDKSAyMDExIFBlbmd1dHJv bml4LCBTYXNjaGEgSGF1ZXIgPHMuaGF1ZXJAcGVuZ3V0cm9uaXguZGU+Cj4gLSAqCj4gLSAqIFRo aXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQv b3IKPiAtICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVi bGljIExpY2Vuc2UgYXMKPiAtICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5k YXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YKPiAtICogdGhlIExpY2Vuc2UsIG9yIChhdCB5b3Vy IG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBk aXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAo+IC0gKiBidXQg V0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBv Zgo+IC0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP U0UuICBTZWUgdGhlCj4gLSAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRl dGFpbHMuCj4gLSAqCj4gLSAqCj4gLSAqLwo+ICsvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjog R1BMLTIuMC1vci1sYXRlcgo+ICsvLyBTUERYLUZpbGVDb3B5cmlnaHRUZXh0OiDCqSAyMDExIFNh c2NoYSBIYXVlciA8cy5oYXVlckBwZW5ndXRyb25peC5kZT4sIFBlbmd1dHJvbml4Cj4gIAo+ICAj ZGVmaW5lIHByX2ZtdChmbXQpICJ0eDI1OiAiIGZtdAo+ICAKPiBkaWZmIC0tZ2l0IGEvYXJjaC9h cm0vYm9hcmRzL2thcm8tdHgyNS9sb3dsZXZlbC5jIGIvYXJjaC9hcm0vYm9hcmRzL2thcm8tdHgy NS9sb3dsZXZlbC5jCj4gaW5kZXggZGZmNzJiZTk4Y2YzLi41ZjAzNWE1YmVlZTYgMTAwNjQ0Cj4g LS0tIGEvYXJjaC9hcm0vYm9hcmRzL2thcm8tdHgyNS9sb3dsZXZlbC5jCj4gKysrIGIvYXJjaC9h cm0vYm9hcmRzL2thcm8tdHgyNS9sb3dsZXZlbC5jCj4gQEAgLTEsMTggKzEsNiBAQAo+IC0vKgo+ IC0gKgo+IC0gKiAoYykgMjAxMSBQZW5ndXRyb25peCwgU2FzY2hhIEhhdWVyIDxzLmhhdWVyQHBl bmd1dHJvbml4LmRlPgo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsg eW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCj4gLSAqIG1vZGlmeSBpdCB1bmRlciB0aGUg dGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzCj4gLSAqIHB1Ymxpc2hl ZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mCj4g LSAqIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgo+ IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBp dCB3aWxsIGJlIHVzZWZ1bCwKPiAtICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0 IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKPiAtICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJ VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQo+IC0gKiBHTlUgR2VuZXJh bCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgo+IC0gKgo+IC0gKi8KPiArLy8gU1BE WC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb3ItbGF0ZXIKPiArLy8gU1BEWC1GaWxlQ29w eXJpZ2h0VGV4dDogwqkgMjAxMSBTYXNjaGEgSGF1ZXIgPHMuaGF1ZXJAcGVuZ3V0cm9uaXguZGU+ LCBQZW5ndXRyb25peAo+ICsKPiAgI2luY2x1ZGUgPGNvbW1vbi5oPgo+ICAjaW5jbHVkZSA8aW5p dC5oPgo+ICAjaW5jbHVkZSA8bWFjaC9pbXgyNS1yZWdzLmg+Cj4gZGlmZiAtLWdpdCBhL2FyY2gv YXJtL2JvYXJkcy9rYXJvLXR4MjgvdHgyOC1zdGs1LmMgYi9hcmNoL2FybS9ib2FyZHMva2Fyby10 eDI4L3R4Mjgtc3RrNS5jCj4gaW5kZXggODYyOGRiMmIyNTU0Li44M2VjZTY0MWJjM2YgMTAwNjQ0 Cj4gLS0tIGEvYXJjaC9hcm0vYm9hcmRzL2thcm8tdHgyOC90eDI4LXN0azUuYwo+ICsrKyBiL2Fy Y2gvYXJtL2JvYXJkcy9rYXJvLXR4MjgvdHgyOC1zdGs1LmMKPiBAQCAtMSwxNiArMSw1IEBACj4g LS8qCj4gLSAqIENvcHlyaWdodCAoQykgMjAxMCBKdWVyZ2VuIEJlaXNlcnQsIFBlbmd1dHJvbml4 IDxrZXJuZWxAcGVuZ3V0cm9uaXguZGU+Cj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVl IHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKPiAtICogbW9kaWZ5IGl0 IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMKPiAt ICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJz aW9uIDIgb2YKPiAtICogdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVy IHZlcnNpb24uCj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUg aG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAo+IC0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFO VFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgo+IC0gKiBNRVJDSEFOVEFC SUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCj4gLSAq IEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCj4gLSAqLwo+ICsv LyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vci1sYXRlcgo+ICsvLyBTUERYLUZp bGVDb3B5cmlnaHRUZXh0OiDCqSAyMDEwIEp1ZXJnZW4gQmVpc2VydCA8a2VybmVsQHBlbmd1dHJv bml4LmRlPiwgUGVuZ3V0cm9uaXgKPiAgCj4gICNpbmNsdWRlIDxjb21tb24uaD4KPiAgI2luY2x1 ZGUgPGluaXQuaD4KPiBkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vYm9hcmRzL2thcm8tdHgyOC90eDI4 LmMgYi9hcmNoL2FybS9ib2FyZHMva2Fyby10eDI4L3R4MjguYwo+IGluZGV4IGQ5OTA4M2IxOTAw NC4uY2QzYWI5ZGM0NThmIDEwMDY0NAo+IC0tLSBhL2FyY2gvYXJtL2JvYXJkcy9rYXJvLXR4Mjgv dHgyOC5jCj4gKysrIGIvYXJjaC9hcm0vYm9hcmRzL2thcm8tdHgyOC90eDI4LmMKPiBAQCAtMSwx NiArMSw1IEBACj4gLS8qCj4gLSAqIENvcHlyaWdodCAoQykgMjAxMCBKdWVyZ2VuIEJlaXNlcnQs IFBlbmd1dHJvbml4IDxrZXJuZWxAcGVuZ3V0cm9uaXguZGU+Cj4gLSAqCj4gLSAqIFRoaXMgcHJv Z3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKPiAt ICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExp Y2Vuc2UgYXMKPiAtICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247 IGVpdGhlciB2ZXJzaW9uIDIgb2YKPiAtICogdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlv bikgYW55IGxhdGVyIHZlcnNpb24uCj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmli dXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAo+IC0gKiBidXQgV0lUSE9V VCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgo+IC0g KiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBT ZWUgdGhlCj4gLSAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMu Cj4gLSAqLwo+ICsvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vci1sYXRlcgo+ ICsvLyBTUERYLUZpbGVDb3B5cmlnaHRUZXh0OiDCqSAyMDEwIEp1ZXJnZW4gQmVpc2VydCA8a2Vy bmVsQHBlbmd1dHJvbml4LmRlPiwgUGVuZ3V0cm9uaXgKPiAgCj4gICNpbmNsdWRlIDxjb21tb24u aD4KPiAgI2luY2x1ZGUgPGluaXQuaD4KPiBkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vYm9hcmRzL2th cm8tdHg1MS90eDUxLmMgYi9hcmNoL2FybS9ib2FyZHMva2Fyby10eDUxL3R4NTEuYwo+IGluZGV4 IDkxM2RmNjhjYzk4Mi4uMTVlNTYyMzc0ZjZhIDEwMDY0NAo+IC0tLSBhL2FyY2gvYXJtL2JvYXJk cy9rYXJvLXR4NTEvdHg1MS5jCj4gKysrIGIvYXJjaC9hcm0vYm9hcmRzL2thcm8tdHg1MS90eDUx LmMKPiBAQCAtMSwxOSArMSw2IEBACj4gLS8qCj4gLSAqIENvcHlyaWdodCAoQykgMjAwNyBTYXNj aGEgSGF1ZXIsIFBlbmd1dHJvbml4Cj4gLSAqIENvcHlyaWdodCAoQykgMjAxMiBDaHJpc3RpYW4g S2FwZWxsZXIsIDxjaHJpc3RpYW4ua2FwZWxsZXJAY21vdGlvbi5ldT4KPiAtICoKPiAtICogVGhp cyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9v cgo+IC0gKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJs aWMgTGljZW5zZSBhcwo+IC0gKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRh dGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZgo+IC0gKiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIg b3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGRp c3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCj4gLSAqIGJ1dCBX SVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9m Cj4gLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T RS4gIFNlZSB0aGUKPiAtICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0 YWlscy4KPiAtICoKPiAtICoKPiAtICovCj4gKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBH UEwtMi4wLW9yLWxhdGVyCj4gKy8vIFNQRFgtRmlsZUNvcHlyaWdodFRleHQ6IMKpIDIwMDcgU2Fz Y2hhIEhhdWVyLCBQZW5ndXRyb25peAo+ICsvLyBTUERYLUZpbGVDb3B5cmlnaHRUZXh0OiDCqSAy MDEyIENocmlzdGlhbiBLYXBlbGxlciA8Y2hyaXN0aWFuLmthcGVsbGVyQGNtb3Rpb24uZXU+Cj4g IAo+ICAjaW5jbHVkZSA8Y29tbW9uLmg+Cj4gICNpbmNsdWRlIDxpbml0Lmg+Cj4gZGlmZiAtLWdp dCBhL2FyY2gvYXJtL2JvYXJkcy9rYXJvLXR4NTMvYm9hcmQuYyBiL2FyY2gvYXJtL2JvYXJkcy9r YXJvLXR4NTMvYm9hcmQuYwo+IGluZGV4IDlmMTQ4NWFkMGI0Zi4uOTFmNzJhNzMxNzRhIDEwMDY0 NAo+IC0tLSBhL2FyY2gvYXJtL2JvYXJkcy9rYXJvLXR4NTMvYm9hcmQuYwo+ICsrKyBiL2FyY2gv YXJtL2JvYXJkcy9rYXJvLXR4NTMvYm9hcmQuYwo+IEBAIC0xLDE3ICsxLDYgQEAKPiAtLyoKPiAt ICogQ29weXJpZ2h0IChDKSAyMDEyIFNhc2NoYSBIYXVlciwgUGVuZ3V0cm9uaXgKPiAtICoKPiAt ICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0 IGFuZC9vcgo+IC0gKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJh bCBQdWJsaWMgTGljZW5zZSBhcwo+IC0gKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUg Rm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZgo+IC0gKiB0aGUgTGljZW5zZSwgb3IgKGF0 IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KPiAtICoKPiAtICogVGhpcyBwcm9ncmFt IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCj4gLSAq IGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJh bnR5IG9mCj4gLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIg UFVSUE9TRS4gU2VlIHRoZQo+IC0gKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9y ZSBkZXRhaWxzLgo+IC0gKgo+IC0gKi8KPiArLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQ TC0yLjAtb3ItbGF0ZXIKPiArLy8gU1BEWC1GaWxlQ29weXJpZ2h0VGV4dDogwqkgMjAxMiBTYXNj aGEgSGF1ZXIsIFBlbmd1dHJvbml4Cj4gKwo+ICAjaW5jbHVkZSA8Y29tbW9uLmg+Cj4gICNpbmNs dWRlIDxib290c291cmNlLmg+Cj4gICNpbmNsdWRlIDxlbnZpcm9ubWVudC5oPgo+IGRpZmYgLS1n aXQgYS9hcmNoL2FybS9ib2FyZHMva2Fyby10eDZ4L2JvYXJkLmMgYi9hcmNoL2FybS9ib2FyZHMv a2Fyby10eDZ4L2JvYXJkLmMKPiBpbmRleCA1NGIxZTI0OGY0M2QuLmY5ZDc5MGIwZjE4OSAxMDA2 NDQKPiAtLS0gYS9hcmNoL2FybS9ib2FyZHMva2Fyby10eDZ4L2JvYXJkLmMKPiArKysgYi9hcmNo L2FybS9ib2FyZHMva2Fyby10eDZ4L2JvYXJkLmMKPiBAQCAtMSwyMyArMSwxMyBAQAo+ICsvLyBT UERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vci1sYXRlcgo+ICsvLyBTUERYLUZpbGVD b3B5cmlnaHRUZXh0OiDCqSAyMDE0IFN0ZWZmZW4gVHJ1bXRyYXIsIFBlbmd1dHJvbml4Cj4gKwo+ ICsjZGVmaW5lIHByX2ZtdChmbXQpICJLYXJvLXR4NjogIiBmbXQKPiArCj4gIC8qCj4gLSAqIENv cHlyaWdodCAoQykgMjAxNCBTdGVmZmVuIFRydW10cmFyLCBQZW5ndXRyb25peAo+IC0gKgo+IC0g Kgo+ICAgKiB3aXRoIHRoZSBQTUlDIGluaXQgY29kZSB0YWtlbiBmcm9tIHUtYm9vdAo+ICAgKiBD b3B5cmlnaHQgKEMpIDIwMTIsMjAxMyBMb3RoYXIgV2HDn21hbm4gPExXQEtBUk8tZWxlY3Ryb25p Y3MuZGU+CgpBbmQgaGVyZS4KCj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3 YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKPiAtICogbW9kaWZ5IGl0IHVuZGVy IHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMKPiAtICogcHVi bGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIg b2YKPiAtICogdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNp b24uCj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0 aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAo+IC0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdp dGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgo+IC0gKiBNRVJDSEFOVEFCSUxJVFkg b3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCj4gLSAqIEdOVSBH ZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCj4gICAqLwo+ICAKPiAtI2Rl ZmluZSBwcl9mbXQoZm10KSAiS2Fyby10eDY6ICIgZm10Cj4gLQoKV2h5IGRvZXMgdGhpcyBsaW5l IG1vdmUgdG8gdGhlIHRvcC4uLj8KCj4gICNpbmNsdWRlIDxjb21tb24uaD4KPiAgI2luY2x1ZGUg PGdwaW8uaD4KPiAgI2luY2x1ZGUgPGluaXQuaD4KPiBkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vYm9h cmRzL2thcm8tdHg2eC9sb3dsZXZlbC5jIGIvYXJjaC9hcm0vYm9hcmRzL2thcm8tdHg2eC9sb3ds ZXZlbC5jCj4gaW5kZXggZjBkZGFjMjg0YzAzLi5hODA4NjIwMjVhMTMgMTAwNjQ0Cj4gLS0tIGEv YXJjaC9hcm0vYm9hcmRzL2thcm8tdHg2eC9sb3dsZXZlbC5jCj4gKysrIGIvYXJjaC9hcm0vYm9h cmRzL2thcm8tdHg2eC9sb3dsZXZlbC5jCj4gQEAgLTEsMTYgKzEsNSBAQAo+IC0vKgo+IC0gKiBD b3B5cmlnaHQgKEMpIDIwMTQgU3RlZmZlbiBUcnVtdHJhciwgUGVuZ3V0cm9uaXgKPiAtICoKPiAt ICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0 IGFuZC9vcgo+IC0gKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJh bCBQdWJsaWMgTGljZW5zZSBhcwo+IC0gKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUg Rm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZgo+IC0gKiB0aGUgTGljZW5zZSwgb3IgKGF0 IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KPiAtICoKPiAtICogVGhpcyBwcm9ncmFt IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCj4gLSAq IGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJh bnR5IG9mCj4gLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIg UFVSUE9TRS4gIFNlZSB0aGUKPiAtICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1v cmUgZGV0YWlscy4KPiAtICovCj4gKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4w LW9yLWxhdGVyCj4gKy8vIFNQRFgtRmlsZUNvcHlyaWdodFRleHQ6IDIwMTQgU3RlZmZlbiBUcnVt dHJhciwgUGVuZ3V0cm9uaXgKPiAgCj4gICNpbmNsdWRlIDxkZWJ1Z19sbC5oPgo+ICAjaW5jbHVk ZSA8Y29tbW9uLmg+Cj4gZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2JvYXJkcy9rYXJvLXR4NngvcG1p Yy1sdGMzNjc2LmMgYi9hcmNoL2FybS9ib2FyZHMva2Fyby10eDZ4L3BtaWMtbHRjMzY3Ni5jCj4g aW5kZXggN2Y1OTRlMjAwODcxLi5kMzYwOGE0ZjUxODEgMTAwNjQ0Cj4gLS0tIGEvYXJjaC9hcm0v Ym9hcmRzL2thcm8tdHg2eC9wbWljLWx0YzM2NzYuYwo+ICsrKyBiL2FyY2gvYXJtL2JvYXJkcy9r YXJvLXR4NngvcG1pYy1sdGMzNjc2LmMKPiBAQCAtMSwxNiArMSw1IEBACj4gLS8qCj4gLSAqIENv cHlyaWdodCAoQykgMjAxNCBMb3RoYXIgV2HDn21hbm4gPExXQEtBUk8tZWxlY3Ryb25pY3MuZGU+ Cj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlz dHJpYnV0ZSBpdCBhbmQvb3IKPiAtICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUg R05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKPiAtICogdmVyc2lvbiAyIGFzIHB1Ymxpc2hlZCBi eSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0g aXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKPiAtICog YnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFu dHkgb2YKPiAtICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQ VVJQT1NFLiAgU2VlIHRoZQo+IC0gKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9y ZSBkZXRhaWxzLgo+IC0gKgo+IC0gKi8KPiArLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQ TC0yLjAtb25seQo+ICsvLyBTUERYLUZpbGVDb3B5cmlnaHRUZXh0OiDCqSAyMDE0IExvdGhhciBX YcOfbWFubiA8TFdAS0FSTy1lbGVjdHJvbmljcy5kZT4KPiAgCj4gICNpbmNsdWRlIDxjb21tb24u aD4KPiAgI2luY2x1ZGUgPGkyYy9pMmMuaD4KPiBkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vYm9hcmRz L2thcm8tdHg2eC9wbWljLXJuNXQ1NjcuYyBiL2FyY2gvYXJtL2JvYXJkcy9rYXJvLXR4NngvcG1p Yy1ybjV0NTY3LmMKPiBpbmRleCBkYjIxYjRkZTZmYWIuLmY2YThmMDY3M2U3NCAxMDA2NDQKPiAt LS0gYS9hcmNoL2FybS9ib2FyZHMva2Fyby10eDZ4L3BtaWMtcm41dDU2Ny5jCj4gKysrIGIvYXJj aC9hcm0vYm9hcmRzL2thcm8tdHg2eC9wbWljLXJuNXQ1NjcuYwo+IEBAIC0xLDE2ICsxLDUgQEAK PiAtLyoKPiAtICogQ29weXJpZ2h0IChDKSAyMDE0IExvdGhhciBXYcOfbWFubiA8TFdAS0FSTy1l bGVjdHJvbmljcy5kZT4KPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7 IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgo+IC0gKiBtb2RpZnkgaXQgdW5kZXIgdGhl IHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQo+IC0gKiB2ZXJzaW9uIDIg YXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCj4gLSAqCj4gLSAq IFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUg dXNlZnVsLAo+IC0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUg aW1wbGllZCB3YXJyYW50eSBvZgo+IC0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1Ig QSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCj4gLSAqIEdOVSBHZW5lcmFsIFB1YmxpYyBM aWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCj4gLSAqCj4gLSAqLwo+ICsvLyBTUERYLUxpY2Vuc2Ut SWRlbnRpZmllcjogR1BMLTIuMC1vbmx5Cj4gKy8vIFNQRFgtRmlsZUNvcHlyaWdodFRleHQ6IMKp IDIwMTQgTG90aGFyIFdhw59tYW5uIDxMV0BLQVJPLWVsZWN0cm9uaWNzLmRlPgo+ICAKPiAgI2lu Y2x1ZGUgPGNvbW1vbi5oPgo+ICAjaW5jbHVkZSA8aTJjL2kyYy5oPgo+IGRpZmYgLS1naXQgYS9h cmNoL2FybS9ib2FyZHMva2Fyby10eDZ4L3BtaWMtcm41dDYxOC5jIGIvYXJjaC9hcm0vYm9hcmRz L2thcm8tdHg2eC9wbWljLXJuNXQ2MTguYwo+IGluZGV4IGJkZWMwMmU5ZDQ0YS4uNjkyMmYzNDM4 YWUyIDEwMDY0NAo+IC0tLSBhL2FyY2gvYXJtL2JvYXJkcy9rYXJvLXR4NngvcG1pYy1ybjV0NjE4 LmMKPiArKysgYi9hcmNoL2FybS9ib2FyZHMva2Fyby10eDZ4L3BtaWMtcm41dDYxOC5jCj4gQEAg LTEsMTYgKzEsNSBAQAo+IC0vKgo+IC0gKiBDb3B5cmlnaHQgKEMpIDIwMTQgTG90aGFyIFdhw59t YW5uIDxMV0BLQVJPLWVsZWN0cm9uaWNzLmRlPgo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMg ZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCj4gLSAqIG1vZGlm eSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCj4g LSAqIHZlcnNpb24gMiBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlv bi4KPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRo YXQgaXQgd2lsbCBiZSB1c2VmdWwsCj4gLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0 aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCj4gLSAqIE1FUkNIQU5UQUJJTElUWSBv ciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKPiAtICogR05VIEdl bmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KPiAtICoKPiAtICovCj4gKy8v IFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9ubHkKPiArLy8gU1BEWC1GaWxlQ29w eXJpZ2h0VGV4dDogwqkgMjAxNCBMb3RoYXIgV2HDn21hbm4gPExXQEtBUk8tZWxlY3Ryb25pY3Mu ZGU+Cj4gIAo+ICAjaW5jbHVkZSA8Y29tbW9uLmg+Cj4gICNpbmNsdWRlIDxpMmMvaTJjLmg+Cj4g ZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2JvYXJkcy9raW5kbGUtbXg1MC9ib2FyZC5jIGIvYXJjaC9h cm0vYm9hcmRzL2tpbmRsZS1teDUwL2JvYXJkLmMKPiBpbmRleCBiZmNiOWI4M2JlNTUuLjI4ZGJk MTNmMTNhYSAxMDA2NDQKPiAtLS0gYS9hcmNoL2FybS9ib2FyZHMva2luZGxlLW14NTAvYm9hcmQu Ywo+ICsrKyBiL2FyY2gvYXJtL2JvYXJkcy9raW5kbGUtbXg1MC9ib2FyZC5jCj4gQEAgLTEsMTgg KzEsNiBAQAo+IC0vKgo+IC0gKiBDb3B5cmlnaHQgKEMpIDIwMDcgU2FzY2hhIEhhdWVyLCBQZW5n dXRyb25peAo+IC0gKiBDb3B5cmlnaHQgKEMpIDIwMTcgQWxleGFuZGVyIEt1cnogPGFrdXJ6QGJs YWxhLmRlPgo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNh biByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCj4gLSAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMg b2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzCj4gLSAqIHB1Ymxpc2hlZCBieSB0 aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mCj4gLSAqIHRo ZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgo+IC0gKgo+ IC0gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxs IGJlIHVzZWZ1bCwKPiAtICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4g dGhlIGltcGxpZWQgd2FycmFudHkgb2YKPiAtICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1Mg Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiBTZWUgdGhlCj4gLSAqIEdOVSBHZW5lcmFsIFB1Ymxp YyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCj4gLSAqCj4gLSAqLwo+ICsvLyBTUERYLUxpY2Vu c2UtSWRlbnRpZmllcjogR1BMLTIuMC1vci1sYXRlcgo+ICsvLyBTUERYLUZpbGVDb3B5cmlnaHRU ZXh0OiDCqSAyMDA3IFNhc2NoYSBIYXVlciwgUGVuZ3V0cm9uaXgKPiArLy8gU1BEWC1GaWxlQ29w eXJpZ2h0VGV4dDogwqkgMjAxNyBBbGV4YW5kZXIgS3VyeiA8YWt1cnpAYmxhbGEuZGU+Cj4gIAo+ ICAjaW5jbHVkZSA8Y29tbW9uLmg+Cj4gICNpbmNsdWRlIDxlbnZmcy5oPgo+IGRpZmYgLS1naXQg YS9hcmNoL2FybS9ib2FyZHMva2luZGxlMy9raW5kbGUzLmMgYi9hcmNoL2FybS9ib2FyZHMva2lu ZGxlMy9raW5kbGUzLmMKPiBpbmRleCA3YzBkNjBlZmUwN2YuLjkwMjNiM2I4OWQ3YiAxMDA2NDQK PiAtLS0gYS9hcmNoL2FybS9ib2FyZHMva2luZGxlMy9raW5kbGUzLmMKPiArKysgYi9hcmNoL2Fy bS9ib2FyZHMva2luZGxlMy9raW5kbGUzLmMKPiBAQCAtMSwxOSArMSw4IEBACj4gLS8qCj4gLSAq IChDKSAyMDA3IFBlbmd1dHJvbml4LCBTYXNjaGEgSGF1ZXIgPHMuaGF1ZXJAcGVuZ3V0cm9uaXgu ZGU+Cj4gLSAqIChDKSAyMDE2IEFsZXhhbmRlciBLdXJ6IDxha3VyekBibGFsYS5kZT4KPiAtICoK PiAtICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRl IGl0IGFuZC9vcgo+IC0gKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2Vu ZXJhbCBQdWJsaWMgTGljZW5zZSBhcwo+IC0gKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdh cmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZgo+IC0gKiB0aGUgTGljZW5zZSwgb3Ig KGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KPiAtICoKPiAtICogVGhpcyBwcm9n cmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCj4g LSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdh cnJhbnR5IG9mCj4gLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM QVIgUFVSUE9TRS4gIFNlZSB0aGUKPiAtICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9y IG1vcmUgZGV0YWlscy4KPiAtICoKPiAtICogQm9hcmQgc3VwcG9ydCBmb3IgdGhlIEFtYXpvbiBL aW5kbGUgM3JkIGdlbmVyYXRpb24KPiAtICovCj4gKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVy OiBHUEwtMi4wLW9yLWxhdGVyCj4gKy8vIFNQRFgtRmlsZUNvcHlyaWdodFRleHQ6IMKpIDIwMDcg U2FzY2hhIEhhdWVyIDxzLmhhdWVyQHBlbmd1dHJvbml4LmRlPiwgUGVuZ3V0cm9uaXgKPiArLy8g U1BEWC1GaWxlQ29weXJpZ2h0VGV4dDogwqkgMjAxNiBBbGV4YW5kZXIgS3VyeiA8YWt1cnpAYmxh bGEuZGU+Cj4gKwo+ICsvKiBCb2FyZCBzdXBwb3J0IGZvciB0aGUgQW1hem9uIEtpbmRsZSAzcmQg Z2VuZXJhdGlvbiAqLwo+ICAKPiAgI2luY2x1ZGUgPGNvbW1vbi5oPgo+ICAjaW5jbHVkZSA8Y29t bWFuZC5oPgo+IGRpZmYgLS1naXQgYS9hcmNoL2FybS9ib2FyZHMva2luZGxlMy9sb3dsZXZlbC5j IGIvYXJjaC9hcm0vYm9hcmRzL2tpbmRsZTMvbG93bGV2ZWwuYwo+IGluZGV4IDgzYTBjY2M3MGUx Yy4uOGVkNTY1OWY3Njc3IDEwMDY0NAo+IC0tLSBhL2FyY2gvYXJtL2JvYXJkcy9raW5kbGUzL2xv d2xldmVsLmMKPiArKysgYi9hcmNoL2FybS9ib2FyZHMva2luZGxlMy9sb3dsZXZlbC5jCj4gQEAg LTEsMTkgKzEsNyBAQAo+IC0vKgo+IC0gKgo+IC0gKiAoYykgMjAwNyBQZW5ndXRyb25peCwgU2Fz Y2hhIEhhdWVyIDxzLmhhdWVyQHBlbmd1dHJvbml4LmRlPgo+IC0gKiAoYykgMjAxNiBBbGV4YW5k ZXIgS3VyeiA8YWt1cnpAYmxhbGEuZGU+Cj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVl IHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKPiAtICogbW9kaWZ5IGl0 IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMKPiAt ICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJz aW9uIDIgb2YKPiAtICogdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVy IHZlcnNpb24uCj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUg aG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAo+IC0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFO VFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgo+IC0gKiBNRVJDSEFOVEFC SUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCj4gLSAq IEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCj4gLSAqCj4gLSAq Lwo+ICsvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vci1sYXRlcgo+ICsvLyBT UERYLUZpbGVDb3B5cmlnaHRUZXh0OiDCqSAyMDA3IFNhc2NoYSBIYXVlciA8cy5oYXVlckBwZW5n dXRyb25peC5kZT4sIFBlbmd1dHJvbml4Cj4gKy8vIFNQRFgtRmlsZUNvcHlyaWdodFRleHQ6IMKp IDIwMTYgQWxleGFuZGVyIEt1cnogPGFrdXJ6QGJsYWxhLmRlPgo+ICsKPiAgI2luY2x1ZGUgPGNv bW1vbi5oPgo+ICAjaW5jbHVkZSA8aW5pdC5oPgo+ICAjaW5jbHVkZSA8bWFjaC9pbXgzNS1yZWdz Lmg+Cj4gZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2JvYXJkcy9sZW5vdm8taXg0LTMwMGQvbG93bGV2 ZWwuYyBiL2FyY2gvYXJtL2JvYXJkcy9sZW5vdm8taXg0LTMwMGQvbG93bGV2ZWwuYwo+IGluZGV4 IDQwMTQ1YjVjZWZjOS4uNzQ4ZjEwMjBiYTgzIDEwMDY0NAo+IC0tLSBhL2FyY2gvYXJtL2JvYXJk cy9sZW5vdm8taXg0LTMwMGQvbG93bGV2ZWwuYwo+ICsrKyBiL2FyY2gvYXJtL2JvYXJkcy9sZW5v dm8taXg0LTMwMGQvbG93bGV2ZWwuYwo+IEBAIC0xLDE4ICsxLDUgQEAKPiAtLyoKPiAtICogQ29w eXJpZ2h0IChDKSAyMDE0LCAyMDE1Cj4gLSAqICBTZWJhc3RpYW4gSGVzc2VsYmFydGggPHNlYmFz dGlhbi5oZXNzZWxiYXJ0aEBnbWFpbC5jb20+Cj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBm cmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKPiAtICogbW9kaWZ5 IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMK PiAtICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2 ZXJzaW9uIDIgb2YKPiAtICogdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxh dGVyIHZlcnNpb24uCj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0 aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAo+IC0gKiBidXQgV0lUSE9VVCBBTlkgV0FS UkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgo+IC0gKiBNRVJDSEFO VEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCj4g LSAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCj4gLSAqCj4g LSAqLwo+ICsvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vci1sYXRlcgo+ICsv LyBTUERYLUZpbGVDb3B5cmlnaHRUZXh0OiDCqSAyMDE0LCAyMDE1IFNlYmFzdGlhbiBIZXNzZWxi YXJ0aCA8c2ViYXN0aWFuLmhlc3NlbGJhcnRoQGdtYWlsLmNvbT4KPiAgCj4gICNpbmNsdWRlIDxj b21tb24uaD4KPiAgI2luY2x1ZGUgPGFzbS9iYXJlYm94LWFybS5oPgo+IGRpZmYgLS1naXQgYS9h cmNoL2FybS9ib2FyZHMvbHViYm9jay9ib2FyZC5jIGIvYXJjaC9hcm0vYm9hcmRzL2x1YmJvY2sv Ym9hcmQuYwo+IGluZGV4IDExOGRlMDRjN2UwYi4uY2M2ODhmNDM5OWRkIDEwMDY0NAo+IC0tLSBh L2FyY2gvYXJtL2JvYXJkcy9sdWJib2NrL2JvYXJkLmMKPiArKysgYi9hcmNoL2FybS9ib2FyZHMv bHViYm9jay9ib2FyZC5jCj4gQEAgLTEsMTcgKzEsNSBAQAo+IC0vKgo+IC0gKiAoQykgMjAxMSBS b2JlcnQgSmFyem1payA8cm9iZXJ0LmphcnptaWtAZnJlZS5mcj4KPiAtICoKPiAtICogVGhpcyBw cm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgo+ IC0gKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMg TGljZW5zZSBhcwo+IC0gKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlv bjsgZWl0aGVyIHZlcnNpb24gMiBvZgo+IC0gKiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0 aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGRpc3Ry aWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCj4gLSAqIGJ1dCBXSVRI T1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCj4g LSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4g IFNlZSB0aGUKPiAtICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWls cy4KPiAtICoKPiAtICovCj4gKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9y LWxhdGVyCj4gKy8vIFNQRFgtRmlsZUNvcHlyaWdodFRleHQ6IMKpIDIwMTEgUm9iZXJ0IEphcnpt aWsgPHJvYmVydC5qYXJ6bWlrQGZyZWUuZnI+Cj4gIAo+ICAjaW5jbHVkZSA8Y29tbW9uLmg+Cj4g ICNpbmNsdWRlIDxkcml2ZXIuaD4KPiBkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vYm9hcmRzL21haW5z dG9uZS9ib2FyZC5jIGIvYXJjaC9hcm0vYm9hcmRzL21haW5zdG9uZS9ib2FyZC5jCj4gaW5kZXgg NzhjOWJkYzM1MmNmLi44MzJkNGM0MTgyMzUgMTAwNjQ0Cj4gLS0tIGEvYXJjaC9hcm0vYm9hcmRz L21haW5zdG9uZS9ib2FyZC5jCj4gKysrIGIvYXJjaC9hcm0vYm9hcmRzL21haW5zdG9uZS9ib2Fy ZC5jCj4gQEAgLTEsMTcgKzEsNSBAQAo+IC0vKgo+IC0gKiAoQykgMjAxNSBSb2JlcnQgSmFyem1p ayA8cm9iZXJ0LmphcnptaWtAZnJlZS5mcj4KPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGZy ZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgo+IC0gKiBtb2RpZnkg aXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcwo+ IC0gKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZl cnNpb24gMiBvZgo+IC0gKiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0 ZXIgdmVyc2lvbi4KPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRo ZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCj4gLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJS QU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCj4gLSAqIE1FUkNIQU5U QUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKPiAt ICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KPiAtICoKPiAt ICovCj4gKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9yLWxhdGVyCj4gKy8v IFNQRFgtRmlsZUNvcHlyaWdodFRleHQ6IMKpIDIwMTUgUm9iZXJ0IEphcnptaWsgPHJvYmVydC5q YXJ6bWlrQGZyZWUuZnI+Cj4gIAo+ICAjaW5jbHVkZSA8Y29tbW9uLmg+Cj4gICNpbmNsdWRlIDxk cml2ZXIuaD4KPiBkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vYm9hcmRzL21hcnZlbGwtYXJtYWRhLXhw LWdwL2JvYXJkLmMgYi9hcmNoL2FybS9ib2FyZHMvbWFydmVsbC1hcm1hZGEteHAtZ3AvYm9hcmQu Ywo+IGluZGV4IDljODAwYzU0MTBkNS4uNGMxMDE0ODc1OWRjIDEwMDY0NAo+IC0tLSBhL2FyY2gv YXJtL2JvYXJkcy9tYXJ2ZWxsLWFybWFkYS14cC1ncC9ib2FyZC5jCj4gKysrIGIvYXJjaC9hcm0v Ym9hcmRzL21hcnZlbGwtYXJtYWRhLXhwLWdwL2JvYXJkLmMKPiBAQCAtMSwxNyArMSw0IEBACj4g LS8qCj4gLSAqIENvcHlyaWdodAo+IC0gKiAoQykgMjAxMyBUaG9tYXMgUGV0YXp6b25pIDx0aG9t YXMucGV0YXp6b25pQGZyZWUtZWxlY3Ryb25zLmNvbT4KPiAtICoKPiAtICogVGhpcyBwcm9ncmFt IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgo+IC0gKiBt b2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5z ZSBhcwo+IC0gKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0 aGVyIHZlcnNpb24gMiBvZgo+IC0gKiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBh bnkgbGF0ZXIgdmVyc2lvbi4KPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVk IGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCj4gLSAqIGJ1dCBXSVRIT1VUIEFO WSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCj4gLSAqIE1F UkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0 aGUKPiAtICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KPiAt ICoKPiAtICovCj4gKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9yLWxhdGVy Cj4gKy8vIFNQRFgtRmlsZUNvcHlyaWdodFRleHQ6IMKpIDIwMTMgVGhvbWFzIFBldGF6em9uaSA8 dGhvbWFzLnBldGF6em9uaUBmcmVlLWVsZWN0cm9ucy5jb20+Cj4gIAo+ICAvKiBlbXB0eSAqLwo+ IGRpZmYgLS1naXQgYS9hcmNoL2FybS9ib2FyZHMvbWFydmVsbC1hcm1hZGEteHAtZ3AvbG93bGV2 ZWwuYyBiL2FyY2gvYXJtL2JvYXJkcy9tYXJ2ZWxsLWFybWFkYS14cC1ncC9sb3dsZXZlbC5jCj4g aW5kZXggZTYyNjI3YzMyNDU0Li4xNGI4ZmIyZTU0OGEgMTAwNjQ0Cj4gLS0tIGEvYXJjaC9hcm0v Ym9hcmRzL21hcnZlbGwtYXJtYWRhLXhwLWdwL2xvd2xldmVsLmMKPiArKysgYi9hcmNoL2FybS9i b2FyZHMvbWFydmVsbC1hcm1hZGEteHAtZ3AvbG93bGV2ZWwuYwo+IEBAIC0xLDE4ICsxLDUgQEAK PiAtLyoKPiAtICogQ29weXJpZ2h0IChDKSAyMDE0Cj4gLSAqICBTZWJhc3RpYW4gSGVzc2VsYmFy dGggPHNlYmFzdGlhbi5oZXNzZWxiYXJ0aEBnbWFpbC5jb20+Cj4gLSAqCj4gLSAqIFRoaXMgcHJv Z3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKPiAt ICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExp Y2Vuc2UgYXMKPiAtICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247 IGVpdGhlciB2ZXJzaW9uIDIgb2YKPiAtICogdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlv bikgYW55IGxhdGVyIHZlcnNpb24uCj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmli dXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAo+IC0gKiBidXQgV0lUSE9V VCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgo+IC0g KiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBT ZWUgdGhlCj4gLSAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMu Cj4gLSAqCj4gLSAqLwo+ICsvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vci1s YXRlcgo+ICsvLyBTUERYLUZpbGVDb3B5cmlnaHRUZXh0OiDCqSAyMDE0IFNlYmFzdGlhbiBIZXNz ZWxiYXJ0aCA8c2ViYXN0aWFuLmhlc3NlbGJhcnRoQGdtYWlsLmNvbT4KPiAgCj4gICNpbmNsdWRl IDxjb21tb24uaD4KPiAgI2luY2x1ZGUgPGxpbnV4L3NpemVzLmg+Cj4gZGlmZiAtLWdpdCBhL2Fy Y2gvYXJtL2JvYXJkcy9taW9hNzAxL2JvYXJkLmMgYi9hcmNoL2FybS9ib2FyZHMvbWlvYTcwMS9i b2FyZC5jCj4gaW5kZXggY2QxNjZlZmNlYmI5Li4yY2VhMmM1ZWJiYjQgMTAwNjQ0Cj4gLS0tIGEv YXJjaC9hcm0vYm9hcmRzL21pb2E3MDEvYm9hcmQuYwo+ICsrKyBiL2FyY2gvYXJtL2JvYXJkcy9t aW9hNzAxL2JvYXJkLmMKPiBAQCAtMSwxNyArMSw1IEBACj4gLS8qCj4gLSAqIChDKSAyMDExIFJv YmVydCBKYXJ6bWlrIDxyb2JlcnQuamFyem1pa0BmcmVlLmZyPgo+IC0gKgo+IC0gKiBUaGlzIHBy b2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCj4g LSAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBM aWNlbnNlIGFzCj4gLSAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u OyBlaXRoZXIgdmVyc2lvbiAyIG9mCj4gLSAqIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRp b24pIGFueSBsYXRlciB2ZXJzaW9uLgo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJp YnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKPiAtICogYnV0IFdJVEhP VVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKPiAt ICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAg U2VlIHRoZQo+IC0gKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxz Lgo+IC0gKgo+IC0gKi8KPiArLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb3It bGF0ZXIKPiArLy8gU1BEWC1GaWxlQ29weXJpZ2h0VGV4dDogwqkgMjAxMSBSb2JlcnQgSmFyem1p ayA8cm9iZXJ0LmphcnptaWtAZnJlZS5mcj4KPiAgCj4gICNpbmNsdWRlIDxjb21tb24uaD4KPiAg I2luY2x1ZGUgPGRyaXZlci5oPgo+IGRpZmYgLS1naXQgYS9hcmNoL2FybS9ib2FyZHMvbWlvYTcw MS9ncGlvMF9wb3dlcm9mZi5jIGIvYXJjaC9hcm0vYm9hcmRzL21pb2E3MDEvZ3BpbzBfcG93ZXJv ZmYuYwo+IGluZGV4IDRiMzQ5MjI1MDdlYy4uNDNmZGJkNzg2ODc3IDEwMDY0NAo+IC0tLSBhL2Fy Y2gvYXJtL2JvYXJkcy9taW9hNzAxL2dwaW8wX3Bvd2Vyb2ZmLmMKPiArKysgYi9hcmNoL2FybS9i b2FyZHMvbWlvYTcwMS9ncGlvMF9wb3dlcm9mZi5jCj4gQEAgLTEsMTcgKzEsNSBAQAo+IC0vKgo+ IC0gKiAoQykgMjAxMSBSb2JlcnQgSmFyem1payA8cm9iZXJ0LmphcnptaWtAZnJlZS5mcj4KPiAt ICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmli dXRlIGl0IGFuZC9vcgo+IC0gKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUg R2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcwo+IC0gKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29m dHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZgo+IC0gKiB0aGUgTGljZW5zZSwg b3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KPiAtICoKPiAtICogVGhpcyBw cm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWws Cj4gLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVk IHdhcnJhbnR5IG9mCj4gLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJ Q1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKPiAtICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2Ug Zm9yIG1vcmUgZGV0YWlscy4KPiAtICoKPiAtICovCj4gKy8vIFNQRFgtTGljZW5zZS1JZGVudGlm aWVyOiBHUEwtMi4wLW9yLWxhdGVyCj4gKy8vIFNQRFgtRmlsZUNvcHlyaWdodFRleHQ6IMKpIDIw MTEgUm9iZXJ0IEphcnptaWsgPHJvYmVydC5qYXJ6bWlrQGZyZWUuZnI+Cj4gIAo+ICAjaW5jbHVk ZSA8Y2xvY2suaD4KPiAgI2luY2x1ZGUgPGNvbW1vbi5oPgo+IGRpZmYgLS1naXQgYS9hcmNoL2Fy bS9ib2FyZHMvbWlvYTcwMS9taW9hNzAxLmggYi9hcmNoL2FybS9ib2FyZHMvbWlvYTcwMS9taW9h NzAxLmgKPiBpbmRleCBiYTk0MjEyYjMzNGQuLjk3MjE2ZjEwYmZlMCAxMDA2NDQKPiAtLS0gYS9h cmNoL2FybS9ib2FyZHMvbWlvYTcwMS9taW9hNzAxLmgKPiArKysgYi9hcmNoL2FybS9ib2FyZHMv bWlvYTcwMS9taW9hNzAxLmgKPiBAQCAtMSwxNyArMSw2IEBACj4gLS8qCj4gLSAqIChDKSAyMDEx IFJvYmVydCBKYXJ6bWlrIDxyb2JlcnQuamFyem1pa0BmcmVlLmZyPgo+IC0gKgo+IC0gKiBUaGlz IHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29y Cj4gLSAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1Ymxp YyBMaWNlbnNlIGFzCj4gLSAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0 aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mCj4gLSAqIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBv cHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZGlz dHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKPiAtICogYnV0IFdJ VEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YK PiAtICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF LiAgU2VlIHRoZQo+IC0gKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRh aWxzLgo+IC0gKgo+IC0gKi8KPiArLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAt b3ItbGF0ZXIKPiArLy8gU1BEWC1GaWxlQ29weXJpZ2h0VGV4dDogwqkgMjAxMSBSb2JlcnQgSmFy em1payA8cm9iZXJ0LmphcnptaWtAZnJlZS5mcj4KPiArCj4gICNpZm5kZWYgX01JT0E3MDFfSF8K PiAgI2RlZmluZSBfTUlPQTcwMV9IXwo+ICAKPiBkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vYm9hcmRz L21vZHVsZS1tYjc3MDcvYm9hcmQuYyBiL2FyY2gvYXJtL2JvYXJkcy9tb2R1bGUtbWI3NzA3L2Jv YXJkLmMKPiBpbmRleCAxYWI2ZTdkN2MxMDcuLjFhOTdkNmFjOWNlOCAxMDA2NDQKPiAtLS0gYS9h cmNoL2FybS9ib2FyZHMvbW9kdWxlLW1iNzcwNy9ib2FyZC5jCj4gKysrIGIvYXJjaC9hcm0vYm9h cmRzL21vZHVsZS1tYjc3MDcvYm9hcmQuYwo+IEBAIC0xLDE4ICsxLDcgQEAKPiAtLyoKPiAtICog Q29weXJpZ2h0IChDKSAyMDE0IEFudG9ueSBQYXZsb3YgPGFudG9ueW5wYXZsb3ZAZ21haWwuY29t Pgo+IC0gKgo+IC0gKiBUaGlzIGZpbGUgaXMgcGFydCBvZiBiYXJlYm94Lgo+IC0gKgo+IC0gKiBU aGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5k L29yIG1vZGlmeQo+IC0gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1 YmxpYyBMaWNlbnNlIHZlcnNpb24gMgo+IC0gKiBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29m dHdhcmUgRm91bmRhdGlvbi4KPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVk IGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCj4gLSAqIGJ1dCBXSVRIT1VUIEFO WSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCj4gLSAqIE1F UkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0 aGUKPiAtICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KPiAt ICoKPiAtICovCj4gKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9ubHkKPiAr Ly8gU1BEWC1GaWxlQ29weXJpZ2h0VGV4dDogwqkgMjAxNCBBbnRvbnkgUGF2bG92IDxhbnRvbnlu cGF2bG92QGdtYWlsLmNvbT4KPiArCj4gKy8qIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIGJhcmVib3gu ICovCj4gIAo+ICAjaW5jbHVkZSA8Y29tbW9uLmg+Cj4gICNpbmNsdWRlIDxpbml0Lmg+Cj4gZGlm ZiAtLWdpdCBhL2FyY2gvYXJtL2JvYXJkcy9tb2R1bGUtbWI3NzA3L2xvd2xldmVsLmMgYi9hcmNo L2FybS9ib2FyZHMvbW9kdWxlLW1iNzcwNy9sb3dsZXZlbC5jCj4gaW5kZXggYjM4ODc3OGY4YTA2 Li4xYzRkMDY1NDE3ZDkgMTAwNjQ0Cj4gLS0tIGEvYXJjaC9hcm0vYm9hcmRzL21vZHVsZS1tYjc3 MDcvbG93bGV2ZWwuYwo+ICsrKyBiL2FyY2gvYXJtL2JvYXJkcy9tb2R1bGUtbWI3NzA3L2xvd2xl dmVsLmMKPiBAQCAtMSwxOCArMSw3IEBACj4gLS8qCj4gLSAqIENvcHlyaWdodCAoQykgMjAxNCBB bnRvbnkgUGF2bG92IDxhbnRvbnlucGF2bG92QGdtYWlsLmNvbT4KPiAtICoKPiAtICogVGhpcyBm aWxlIGlzIHBhcnQgb2YgYmFyZWJveC4KPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGZyZWUg c29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKPiAtICogaXQg dW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9u IDIKPiAtICogYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCj4g LSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0 IHdpbGwgYmUgdXNlZnVsLAo+IC0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQg ZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgo+IC0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklU TkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCj4gLSAqIEdOVSBHZW5lcmFs IFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCj4gLSAqCj4gLSAqLwo+ICsvLyBTUERY LUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vbmx5Cj4gKy8vIFNQRFgtRmlsZUNvcHlyaWdo dFRleHQ6IMKpIDIwMTQgQW50b255IFBhdmxvdiA8YW50b255bnBhdmxvdkBnbWFpbC5jb20+Cj4g Kwo+ICsvKiBUaGlzIGZpbGUgaXMgcGFydCBvZiBiYXJlYm94LiAqLwo+ICAKPiAgI2RlZmluZSBf X0xPV0xFVkVMX0lOSVRfXwo+ICAKPiBkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vYm9hcmRzL214MzFt b2JvYXJkL01ha2VmaWxlIGIvYXJjaC9hcm0vYm9hcmRzL214MzFtb2JvYXJkL01ha2VmaWxlCj4g aW5kZXggYWJjMWYzMTNhYzEzLi5mYjNhNjZlY2RjMTkgMTAwNjQ0Cj4gLS0tIGEvYXJjaC9hcm0v Ym9hcmRzL214MzFtb2JvYXJkL01ha2VmaWxlCj4gKysrIGIvYXJjaC9hcm0vYm9hcmRzL214MzFt b2JvYXJkL01ha2VmaWxlCj4gQEAgLTEsMTcgKzEsNSBAQAo+IC0jCj4gLSMgKEMpIENvcHlyaWdo dCAyMDA3IEp1ZXJnZW4gQmVpc2VydCA8amJlQHBlbmd1dHJvbml4LmRlPgo+IC0jCj4gLSMgVGhp cyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9v cgo+IC0jIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1Ymxp YyBMaWNlbnNlIGFzCj4gLSMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp b247IGVpdGhlciB2ZXJzaW9uIDIgb2YKPiAtIyB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0 aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KPiAtIwo+IC0jIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmli dXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAo+IC0jIGJ1dCBXSVRIT1VU IEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCj4gLSMg TUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2Vl IHRoZQo+IC0jIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCj4g LSMKPiAtIwo+ICsvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vci1sYXRlcgo+ ICsvLyBTUERYLUZpbGVDb3B5cmlnaHRUZXh0OiDCqSAyMDA3IEp1ZXJnZW4gQmVpc2VydCA8amJl QHBlbmd1dHJvbml4LmRlPgo+ICAKPiAgbHdsLXkgKz0gbG93bGV2ZWwubwo+ICBvYmoteSArPSBt eDMxbW9ib2FyZC5vCj4gZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2JvYXJkcy9teDMxbW9ib2FyZC9s b3dsZXZlbC5jIGIvYXJjaC9hcm0vYm9hcmRzL214MzFtb2JvYXJkL2xvd2xldmVsLmMKPiBpbmRl eCA5NjdkY2M0OGVlYmEuLmEwNWExNTI1ZDhhNyAxMDA2NDQKPiAtLS0gYS9hcmNoL2FybS9ib2Fy ZHMvbXgzMW1vYm9hcmQvbG93bGV2ZWwuYwo+ICsrKyBiL2FyY2gvYXJtL2JvYXJkcy9teDMxbW9i b2FyZC9sb3dsZXZlbC5jCj4gQEAgLTEsMTkgKzEsNyBAQAo+IC0vKgo+IC0gKgo+IC0gKiAoYykg MjAwNyBQZW5ndXRyb25peCwgU2FzY2hhIEhhdWVyIDxzLmhhdWVyQHBlbmd1dHJvbml4LmRlPgo+ IC0gKiAoYykgMjAxNCBFUEZMLCBQaGlsaXBwZSBSw6l0b3JuYXogPHBoaWxpcHBlLnJldG9ybmF6 QGVwZmwuY2g+Cj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3Ug Y2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKPiAtICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJt cyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMKPiAtICogcHVibGlzaGVkIGJ5 IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YKPiAtICog dGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCj4gLSAq Cj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdp bGwgYmUgdXNlZnVsLAo+IC0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZl biB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgo+IC0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVT UyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCj4gLSAqIEdOVSBHZW5lcmFsIFB1 YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCj4gLSAqCj4gLSAqLwo+ICsvLyBTUERYLUxp Y2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vci1sYXRlcgo+ICsvLyBTUERYLUZpbGVDb3B5cmln aHRUZXh0OiDCqSAyMDA3IFNhc2NoYSBIYXVlciA8cy5oYXVlckBwZW5ndXRyb25peC5kZT4sIFBl bmd1dHJvbml4Cj4gKy8vIFNQRFgtRmlsZUNvcHlyaWdodFRleHQ6IMKpIDIwMTQgUGhpbGlwcGUg UsOpdG9ybmF6IDxwaGlsaXBwZS5yZXRvcm5hekBlcGZsLmNoPiwgRVBGTAo+ICsKPiAgI2luY2x1 ZGUgPGNvbW1vbi5oPgo+ICAjaW5jbHVkZSA8aW5pdC5oPgo+ICAjaW5jbHVkZSA8aW8uaD4KPiBk aWZmIC0tZ2l0IGEvYXJjaC9hcm0vYm9hcmRzL214MzFtb2JvYXJkL214MzFtb2JvYXJkLmMgYi9h cmNoL2FybS9ib2FyZHMvbXgzMW1vYm9hcmQvbXgzMW1vYm9hcmQuYwo+IGluZGV4IGQ2MzI5ZTU3 NzU3Ny4uZDZmYmM1Mzg5MWMxIDEwMDY0NAo+IC0tLSBhL2FyY2gvYXJtL2JvYXJkcy9teDMxbW9i b2FyZC9teDMxbW9ib2FyZC5jCj4gKysrIGIvYXJjaC9hcm0vYm9hcmRzL214MzFtb2JvYXJkL214 MzFtb2JvYXJkLmMKPiBAQCAtMSwxOCArMSw4IEBACj4gKy8vIFNQRFgtTGljZW5zZS1JZGVudGlm aWVyOiBHUEwtMi4wLW9yLWxhdGVyCj4gKy8vIFNQRFgtRmlsZUNvcHlyaWdodFRleHQ6IMKpIDIw MDcgU2FzY2hhIEhhdWVyIDxzLmhhdWVyQHBlbmd1dHJvbml4LmRlPiwgUGVuZ3V0cm9uaXgKPiAr Ly8gU1BEWC1GaWxlQ29weXJpZ2h0VGV4dDogwqkgMjAxNCBQaGlsaXBwZSBSw6l0b3JuYXogPHBo aWxpcHBlLnJldG9ybmF6QGVwZmwuY2g+LCBFUEZMCj4gKwo+ICAvKgo+IC0gKiAoQykgMjAwNyBQ ZW5ndXRyb25peCwgU2FzY2hhIEhhdWVyIDxzLmhhdWVyQHBlbmd1dHJvbml4LmRlPgo+IC0gKiAo QykgMjAxNCBFUEZMLCBQaGlsaXBwZSBSw6l0b3JuYXogPHBoaWxpcHBlLnJldG9ybmF6QGVwZmwu Y2g+Cj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJl ZGlzdHJpYnV0ZSBpdCBhbmQvb3IKPiAtICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0 aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMKPiAtICogcHVibGlzaGVkIGJ5IHRoZSBG cmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YKPiAtICogdGhlIExp Y2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCj4gLSAqCj4gLSAq IFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUg dXNlZnVsLAo+IC0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUg aW1wbGllZCB3YXJyYW50eSBvZgo+IC0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1Ig QSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCj4gLSAqIEdOVSBHZW5lcmFsIFB1YmxpYyBM aWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCj4gLSAqCj4gLSAqCj4gICAqIEJvYXJkIHN1cHBvcnQg Zm9yIEVQRkwncywgaS5NWDMxIGJhc2VkIENQVSBjYXJkCj4gICAqCj4gICAqIEJhc2VkIG9uOgo+ IGRpZmYgLS1naXQgYS9hcmNoL2FybS9ib2FyZHMvbmV0Z2Vhci1ybjIxMjAvbG93bGV2ZWwuYyBi L2FyY2gvYXJtL2JvYXJkcy9uZXRnZWFyLXJuMjEyMC9sb3dsZXZlbC5jCj4gaW5kZXggZTA1ZjJm NGMxNzBkLi4yNDM2OWRkMjYwMGMgMTAwNjQ0Cj4gLS0tIGEvYXJjaC9hcm0vYm9hcmRzL25ldGdl YXItcm4yMTIwL2xvd2xldmVsLmMKPiArKysgYi9hcmNoL2FybS9ib2FyZHMvbmV0Z2Vhci1ybjIx MjAvbG93bGV2ZWwuYwo+IEBAIC0xLDE1ICsxLDUgQEAKPiAtLyoKPiAtICogQ29weXJpZ2h0IChD KSAyMDE1IFBlbmd1dHJvbml4LCBVd2UgS2xlaW5lLUvDtm5pZyA8a2VybmVsQHBlbmd1dHJvbml4 LmRlPgo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiBy ZWRpc3RyaWJ1dGUgaXQgYW5kL29yCj4gLSAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2Yg dGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCj4gLSAqIHZlcnNpb24gMiwgYXMgcHVibGlz aGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCj4gLSAqCj4gLSAqIFRoaXMgcHJv Z3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAo+ IC0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3 YXJyYW50eSBvZgo+IC0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNV TEFSIFBVUlBPU0UuICBTZWUgdGhlCj4gLSAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZv ciBtb3JlIGRldGFpbHMuCj4gLSAqLwo+ICsvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BM LTIuMC1vbmx5Cj4gKy8vIFNQRFgtRmlsZUNvcHlyaWdodFRleHQ6IMKpIDIwMTUgVXdlIEtsZWlu ZS1Lw7ZuaWcgPGtlcm5lbEBwZW5ndXRyb25peC5kZT4sIFBlbmd1dHJvbml4Cj4gIAo+ICAjaW5j bHVkZSA8Y29tbW9uLmg+Cj4gICNpbmNsdWRlIDxhc20vYmFyZWJveC1hcm0uaD4KPiBkaWZmIC0t Z2l0IGEvYXJjaC9hcm0vYm9hcmRzL25oazg4MTUvc2V0dXAuYyBiL2FyY2gvYXJtL2JvYXJkcy9u aGs4ODE1L3NldHVwLmMKPiBpbmRleCAwYjY5MDEwMDFhNTAuLjFlNjk5YWY0YTM3OSAxMDA2NDQK PiAtLS0gYS9hcmNoL2FybS9ib2FyZHMvbmhrODgxNS9zZXR1cC5jCj4gKysrIGIvYXJjaC9hcm0v Ym9hcmRzL25oazg4MTUvc2V0dXAuYwo+IEBAIC0xLDE4ICsxLDUgQEAKPiAtLyoKPiAtICogQ29w eXJpZ2h0IChDKSAyMDA5IEplYW4tQ2hyaXN0b3BoZSBQTEFHTklPTC1WSUxMQVJEIDxwbGFnbmlv QGpjcm9zb2Z0LmNvbT4KPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7 IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgo+IC0gKiBtb2RpZnkgaXQgdW5kZXIgdGhl IHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcwo+IC0gKiBwdWJsaXNo ZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZgo+ IC0gKiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4K PiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQg aXQgd2lsbCBiZSB1c2VmdWwsCj4gLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91 dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCj4gLSAqIE1FUkNIQU5UQUJJTElUWSBvciBG SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKPiAtICogR05VIEdlbmVy YWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KPiAtICoKPiAtICoKPiAtICovCj4g Ky8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9yLWxhdGVyCj4gKy8vIFNQRFgt RmlsZUNvcHlyaWdodFRleHQ6IMKpIDIwMDkgSmVhbi1DaHJpc3RvcGhlIFBMQUdOSU9MLVZJTExB UkQgPHBsYWduaW9AamNyb3NvZnQuY29tPgo+ICAKPiAgI2luY2x1ZGUgPGNvbW1vbi5oPgo+ICAj aW5jbHVkZSA8aW5pdC5oPgo+IGRpZmYgLS1naXQgYS9hcmNoL2FybS9ib2FyZHMvbnhwLWlteDZ1 bGwtZXZrL2JvYXJkLmMgYi9hcmNoL2FybS9ib2FyZHMvbnhwLWlteDZ1bGwtZXZrL2JvYXJkLmMK PiBpbmRleCBhMGNhMjY4ZjgyMTAuLjk0YTgwMmZmZjMwNSAxMDA2NDQKPiAtLS0gYS9hcmNoL2Fy bS9ib2FyZHMvbnhwLWlteDZ1bGwtZXZrL2JvYXJkLmMKPiArKysgYi9hcmNoL2FybS9ib2FyZHMv bnhwLWlteDZ1bGwtZXZrL2JvYXJkLmMKPiBAQCAtMSwyMSArMSw1IEBACj4gLS8qCj4gLSAqIENv cHlyaWdodCAoQykgMjAxNyBTYXNjaGEgSGF1ZXIsIFBlbmd1dHJvbml4Cj4gLSAqCj4gLSAqIFRo aXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQv b3IKPiAtICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVi bGljIExpY2Vuc2UgYXMKPiAtICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5k YXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YKPiAtICogdGhlIExpY2Vuc2UsIG9yIChhdCB5b3Vy IG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBk aXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAo+IC0gKiBidXQg V0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBv Zgo+IC0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP U0UuICBTZWUgdGhlCj4gLSAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRl dGFpbHMuCj4gLSAqCj4gLSAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhl IEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCj4gLSAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFt OyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCj4gLSAqIEZvdW5kYXRpb24uCj4g LSAqCj4gLSAqLwo+ICsvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vci1sYXRl cgo+ICsvLyBTUERYLUZpbGVDb3B5cmlnaHRUZXh0OiDCqSAyMDE3IFNhc2NoYSBIYXVlciwgUGVu Z3V0cm9uaXgKPiAgCj4gICNpbmNsdWRlIDxjb21tb24uaD4KPiAgI2luY2x1ZGUgPGluaXQuaD4K PiBkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vYm9hcmRzL254cC1pbXg2dWxsLWV2ay9sb3dsZXZlbC5j IGIvYXJjaC9hcm0vYm9hcmRzL254cC1pbXg2dWxsLWV2ay9sb3dsZXZlbC5jCj4gaW5kZXggY2Mw Yjk4ZTFkODFjLi5hZmVmNGM0NDk4NTEgMTAwNjQ0Cj4gLS0tIGEvYXJjaC9hcm0vYm9hcmRzL254 cC1pbXg2dWxsLWV2ay9sb3dsZXZlbC5jCj4gKysrIGIvYXJjaC9hcm0vYm9hcmRzL254cC1pbXg2 dWxsLWV2ay9sb3dsZXZlbC5jCj4gQEAgLTEsMTMgKzEsNCBAQAo+IC0vKgo+IC0gKiBUaGlzIHBy b2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCj4g LSAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBM aWNlbnNlIGFzCj4gLSAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u OyB2ZXJzaW9uIDIuCj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0 aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAo+IC0gKiBidXQgV0lUSE9VVCBBTlkgV0FS UkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgo+IC0gKiBNRVJDSEFO VEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05V Cj4gLSAqIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KPiAtICovCj4g Ky8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9ubHkKPiAgCj4gICNpbmNsdWRl IDxjb21tb24uaD4KPiAgI2luY2x1ZGUgPGxpbnV4L3NpemVzLmg+Cj4gZGlmZiAtLWdpdCBhL2Fy Y2gvYXJtL2JvYXJkcy9ueHAtaW14OG1tLWV2ay9ib2FyZC5jIGIvYXJjaC9hcm0vYm9hcmRzL254 cC1pbXg4bW0tZXZrL2JvYXJkLmMKPiBpbmRleCA1OTU4MjI3NmIyOTguLmU4YTJhNzQ3ZDIyNCAx MDA2NDQKPiAtLS0gYS9hcmNoL2FybS9ib2FyZHMvbnhwLWlteDhtbS1ldmsvYm9hcmQuYwo+ICsr KyBiL2FyY2gvYXJtL2JvYXJkcy9ueHAtaW14OG1tLWV2ay9ib2FyZC5jCj4gQEAgLTEsMjEgKzEs NSBAQAo+IC0vKgo+IC0gKiBDb3B5cmlnaHQgKEMpIDIwMTggU2FzY2hhIEhhdWVyLCBQZW5ndXRy b25peAo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiBy ZWRpc3RyaWJ1dGUgaXQgYW5kL29yCj4gLSAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2Yg dGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzCj4gLSAqIHB1Ymxpc2hlZCBieSB0aGUg RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mCj4gLSAqIHRoZSBM aWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgo+IC0gKgo+IC0g KiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJl IHVzZWZ1bCwKPiAtICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhl IGltcGxpZWQgd2FycmFudHkgb2YKPiAtICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9S IEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQo+IC0gKiBHTlUgR2VuZXJhbCBQdWJsaWMg TGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgo+IC0gKgo+IC0gKiBZb3Ugc2hvdWxkIGhhdmUgcmVj ZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQo+IC0gKiBhbG9u ZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQo+ IC0gKiBGb3VuZGF0aW9uLgo+IC0gKgo+IC0gKi8KPiArLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZp ZXI6IEdQTC0yLjAtb3ItbGF0ZXIKPiArLy8gU1BEWC1GaWxlQ29weXJpZ2h0VGV4dDogwqkgMjAx OCBTYXNjaGEgSGF1ZXIsIFBlbmd1dHJvbml4Cj4gIAo+ICAjaW5jbHVkZSA8YXNtL21lbW9yeS5o Pgo+ICAjaW5jbHVkZSA8Ym9vdHNvdXJjZS5oPgo+IGRpZmYgLS1naXQgYS9hcmNoL2FybS9ib2Fy ZHMvbnhwLWlteDhtcS1ldmsvYm9hcmQuYyBiL2FyY2gvYXJtL2JvYXJkcy9ueHAtaW14OG1xLWV2 ay9ib2FyZC5jCj4gaW5kZXggMjk5ZDA1NmUyNzc3Li45YTAxYTc0MzIyYzAgMTAwNjQ0Cj4gLS0t IGEvYXJjaC9hcm0vYm9hcmRzL254cC1pbXg4bXEtZXZrL2JvYXJkLmMKPiArKysgYi9hcmNoL2Fy bS9ib2FyZHMvbnhwLWlteDhtcS1ldmsvYm9hcmQuYwo+IEBAIC0xLDIxICsxLDUgQEAKPiAtLyoK PiAtICogQ29weXJpZ2h0IChDKSAyMDE4IFNhc2NoYSBIYXVlciwgUGVuZ3V0cm9uaXgKPiAtICoK PiAtICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRl IGl0IGFuZC9vcgo+IC0gKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2Vu ZXJhbCBQdWJsaWMgTGljZW5zZSBhcwo+IC0gKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdh cmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZgo+IC0gKiB0aGUgTGljZW5zZSwgb3Ig KGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KPiAtICoKPiAtICogVGhpcyBwcm9n cmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCj4g LSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdh cnJhbnR5IG9mCj4gLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM QVIgUFVSUE9TRS4gIFNlZSB0aGUKPiAtICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9y IG1vcmUgZGV0YWlscy4KPiAtICoKPiAtICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29w eSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKPiAtICogYWxvbmcgd2l0aCB0aGlz IHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKPiAtICogRm91bmRh dGlvbi4KPiAtICoKPiAtICovCj4gKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4w LW9yLWxhdGVyCj4gKy8vIFNQRFgtRmlsZUNvcHlyaWdodFRleHQ6IMKpIDIwMTggU2FzY2hhIEhh dWVyLCBQZW5ndXRyb25peAo+ICAKPiAgI2luY2x1ZGUgPGFzbS9tZW1vcnkuaD4KPiAgI2luY2x1 ZGUgPGJvb3Rzb3VyY2UuaD4KPiBkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vYm9hcmRzL29tYXAzNDN4 ZHNwL2JvYXJkLmMgYi9hcmNoL2FybS9ib2FyZHMvb21hcDM0M3hkc3AvYm9hcmQuYwo+IGluZGV4 IDJmZDBkZWUxOTQ4Zi4uNGViN2E3NzAyYzllIDEwMDY0NAo+IC0tLSBhL2FyY2gvYXJtL2JvYXJk cy9vbWFwMzQzeGRzcC9ib2FyZC5jCj4gKysrIGIvYXJjaC9hcm0vYm9hcmRzL29tYXAzNDN4ZHNw L2JvYXJkLmMKPiBAQCAtMSwxOSArMSw1IEBACj4gLS8qCj4gLSAqIChDKSBDb3B5cmlnaHQgMjAw Ni0yMDA4Cj4gLSAqIFRleGFzIEluc3RydW1lbnRzLCA8d3d3LnRpLmNvbT4KPiAtICogTmlzaGFu dGggTWVub24gPHgwbmlzaGFuQHRpLmNvbT4KPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGZy ZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgo+IC0gKiBtb2RpZnkg aXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcwo+ IC0gKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZl cnNpb24gMiBvZgo+IC0gKiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0 ZXIgdmVyc2lvbi4KPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRo ZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCj4gLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJS QU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCj4gLSAqIE1FUkNIQU5U QUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKPiAt ICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KPiAtICoKPiAt ICovCj4gKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9yLWxhdGVyCj4gKy8v IFNQRFgtRmlsZUNvcHlyaWdodFRleHQ6IMKpIDIwMDYtMjAwOCBOaXNoYW50aCBNZW5vbiA8eDBu aXNoYW5AdGkuY29tPiwgVGV4YXMgSW5zdHJ1bWVudHMgKHd3dy50aS5jb20pCj4gIAo+ICAjaW5j bHVkZSA8Y29tbW9uLmg+Cj4gICNpbmNsdWRlIDxjb25zb2xlLmg+Cj4gZGlmZiAtLWdpdCBhL2Fy Y2gvYXJtL2JvYXJkcy9vbWFwM2V2bS9ib2FyZC5jIGIvYXJjaC9hcm0vYm9hcmRzL29tYXAzZXZt L2JvYXJkLmMKPiBpbmRleCBlZWZiNTQwZmMxMjEuLjM2Y2I1NDM4ZTQ5NSAxMDA2NDQKPiAtLS0g YS9hcmNoL2FybS9ib2FyZHMvb21hcDNldm0vYm9hcmQuYwo+ICsrKyBiL2FyY2gvYXJtL2JvYXJk cy9vbWFwM2V2bS9ib2FyZC5jCj4gQEAgLTEsMyArMSw2IEBACj4gKy8vIFNQRFgtTGljZW5zZS1J ZGVudGlmaWVyOiBHUEwtMi4wLW9ubHkKPiArLy8gU1BEWC1GaWxlQ29weXJpZ2h0VGV4dDogwqkg MjAwOSBTYW5qZWV2IFByZW1pIDxwcmVtaUB0aS5jb20+LCBUZXhhcyBJbnN0cnVtZW50cyBJbmNv cnBvcmF0ZWQgKGh0dHA6Ly93d3cudGkuY29tLykKPiArCj4gIC8qKgo+ICAgKiBAZmlsZQo+ICAg KiBAYnJpZWYgQm9hcmQgSW5pdGlhbGl6YXRpb24gcm91dGluZXMgZm9yIE9NQVAzRVZNLgo+IEBA IC0yMiwyMiArMjUsNiBAQAo+ICAgKiBPcmlnaW5hbGx5IGZyb20gYXJjaC9hcm0vYm9hcmRzL29t YXAvYm9hcmQtYmVhZ2xlLmMKPiAgICovCj4gIAo+IC0vKgo+IC0gKiBDb3B5cmlnaHQgKEMpIDIw MDkgVGV4YXMgSW5zdHJ1bWVudHMgSW5jb3Jwb3JhdGVkIC0gaHR0cDovL3d3dy50aS5jb20vCj4g LSAqIFNhbmplZXYgUHJlbWkgPHByZW1pQHRpLmNvbT4KPiAtICoKPiAtICogVGhpcyBwcm9ncmFt IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgo+IC0gKiBt b2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5z ZQo+IC0gKiB2ZXJzaW9uIDIgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5k YXRpb24uCj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9w ZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAo+IC0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7 IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgo+IC0gKiBNRVJDSEFOVEFCSUxJ VFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUKPiAtICogR05V IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KPiAtICoKPiAtICovCj4g LQo+IC0KPiAgI2luY2x1ZGUgPGNvbW1vbi5oPgo+ICAjaW5jbHVkZSA8Y29uc29sZS5oPgo+ICAj aW5jbHVkZSA8aW5pdC5oPgo+IGRpZmYgLS1naXQgYS9hcmNoL2FybS9ib2FyZHMvcGFuZGEvbG93 bGV2ZWwuYyBiL2FyY2gvYXJtL2JvYXJkcy9wYW5kYS9sb3dsZXZlbC5jCj4gaW5kZXggYTMyMWE4 ZmY3NDNjLi4wODMwYmE2OTEyMTcgMTAwNjQ0Cj4gLS0tIGEvYXJjaC9hcm0vYm9hcmRzL3BhbmRh L2xvd2xldmVsLmMKPiArKysgYi9hcmNoL2FybS9ib2FyZHMvcGFuZGEvbG93bGV2ZWwuYwo+IEBA IC0xLDE4ICsxLDYgQEAKPiAtLyoKPiAtICogKEMpIENvcHlyaWdodCAyMDA0LTIwMDkKPiAtICog VGV4YXMgSW5zdHJ1bWVudHMsIDx3d3cudGkuY29tPgo+IC0gKiBSaWNoYXJkIFdvb2RydWZmIDxy LXdvb2RydWZmMkB0aS5jb20+Cj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3 YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKPiAtICogbW9kaWZ5IGl0IHVuZGVy IHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKPiAtICogdmVyc2lv biAyIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgo+IC0gKgo+ IC0gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxs IGJlIHVzZWZ1bCwKPiAtICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4g dGhlIGltcGxpZWQgd2FycmFudHkgb2YKPiAtICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1Mg Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQo+IC0gKiBHTlUgR2VuZXJhbCBQdWJs aWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgo+IC0gKgo+IC0gKi8KPiArLy8gU1BEWC1MaWNl bnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb25seQo+ICsvLyBTUERYLUZpbGVDb3B5cmlnaHRUZXh0 OiDCqSAyMDA0LTIwMDkgUmljaGFyZCBXb29kcnVmZiA8ci13b29kcnVmZjJAdGkuY29tPiwgVGV4 YXMgSW5zdHJ1bWVudHMgKHd3dy50aS5jb20pCj4gKwo+ICAjaW5jbHVkZSA8Y29tbW9uLmg+Cj4g ICNpbmNsdWRlIDxpbml0Lmg+Cj4gICNpbmNsdWRlIDxpby5oPgo+IGRpZmYgLS1naXQgYS9hcmNo L2FybS9ib2FyZHMvcGh5dGVjLXBoeWNhcmQtaW14MjcvcGNhMTAwLmMgYi9hcmNoL2FybS9ib2Fy ZHMvcGh5dGVjLXBoeWNhcmQtaW14MjcvcGNhMTAwLmMKPiBpbmRleCA3MTg0YTU5YzcxYmEuLmRl NTIxMjNjYjQ5NCAxMDA2NDQKPiAtLS0gYS9hcmNoL2FybS9ib2FyZHMvcGh5dGVjLXBoeWNhcmQt aW14MjcvcGNhMTAwLmMKPiArKysgYi9hcmNoL2FybS9ib2FyZHMvcGh5dGVjLXBoeWNhcmQtaW14 MjcvcGNhMTAwLmMKPiBAQCAtMSwxOCArMSw1IEBACj4gLS8qCj4gLSAqIENvcHlyaWdodCAoQykg MjAwNyBTYXNjaGEgSGF1ZXIsIFBlbmd1dHJvbml4Cj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBp cyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKPiAtICogbW9k aWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2Ug YXMKPiAtICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhl ciB2ZXJzaW9uIDIgb2YKPiAtICogdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55 IGxhdGVyIHZlcnNpb24uCj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBp biB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAo+IC0gKiBidXQgV0lUSE9VVCBBTlkg V0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgo+IC0gKiBNRVJD SEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhl Cj4gLSAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCj4gLSAq Cj4gLSAqCj4gLSAqLwo+ICsvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vci1s YXRlcgo+ICsvLyBTUERYLUZpbGVDb3B5cmlnaHRUZXh0OiDCqSAyMDA3IFNhc2NoYSBIYXVlciwg UGVuZ3V0cm9uaXgKPiAgCj4gICNpbmNsdWRlIDxjb21tb24uaD4KPiAgI2luY2x1ZGUgPG5ldC5o Pgo+IGRpZmYgLS1naXQgYS9hcmNoL2FybS9ib2FyZHMvcGh5dGVjLXBoeWNhcmQtb21hcDMvTWFr ZWZpbGUgYi9hcmNoL2FybS9ib2FyZHMvcGh5dGVjLXBoeWNhcmQtb21hcDMvTWFrZWZpbGUKPiBp bmRleCA3YTRhYjc1ZjQyZWQuLjUwOGMwMzAzMzA0ZCAxMDA2NDQKPiAtLS0gYS9hcmNoL2FybS9i b2FyZHMvcGh5dGVjLXBoeWNhcmQtb21hcDMvTWFrZWZpbGUKPiArKysgYi9hcmNoL2FybS9ib2Fy ZHMvcGh5dGVjLXBoeWNhcmQtb21hcDMvTWFrZWZpbGUKPiBAQCAtMSwxNSArMSw1IEBACj4gLSMg KEMpIENvcHlyaWdodCAyMDExIEp1ZXJnZW4gS2lsYiA8ai5raWxiQHBoeXRlYy5kZT4KPiAtIwo+ IC0jIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBp dCBhbmQvb3IKPiAtIyBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJh bCBQdWJsaWMgTGljZW5zZSBhcwo+IC0jIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBG b3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mCj4gLSMgdGhlIExpY2Vuc2UsIG9yIChhdCB5 b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCj4gLSMKPiAtIyBUaGlzIHByb2dyYW0gaXMg ZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKPiAtIyBidXQg V0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBv Zgo+IC0jIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T RS4gIFNlZSB0aGUKPiAtIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRh aWxzLgo+IC0jCj4gKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9yLWxhdGVy Cj4gKy8vIFNQRFgtRmlsZUNvcHlyaWdodFRleHQ6IMKpIDIwMTEgSnVlcmdlbiBLaWxiIDxqLmtp bGJAcGh5dGVjLmRlPgo+ICAKPiAgb2JqLXkgKz0gcGNhLWEtbDEubwo+ICBsd2wteSArPSBsb3ds ZXZlbC5vCj4gZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2JvYXJkcy9waHl0ZWMtcGh5Y2FyZC1vbWFw My9wY2EtYS1sMS5jIGIvYXJjaC9hcm0vYm9hcmRzL3BoeXRlYy1waHljYXJkLW9tYXAzL3BjYS1h LWwxLmMKPiBpbmRleCA5MzBmM2I5YzdjMjcuLjA0NTk1ZGIxYjc3MCAxMDA2NDQKPiAtLS0gYS9h cmNoL2FybS9ib2FyZHMvcGh5dGVjLXBoeWNhcmQtb21hcDMvcGNhLWEtbDEuYwo+ICsrKyBiL2Fy Y2gvYXJtL2JvYXJkcy9waHl0ZWMtcGh5Y2FyZC1vbWFwMy9wY2EtYS1sMS5jCj4gQEAgLTEsMyAr MSw2IEBACj4gKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9ubHkKPiArLy8g U1BEWC1GaWxlQ29weXJpZ2h0VGV4dDogwqkgMjAxMSBKdWVyZ2VuIEtpbGIgPGoua2lsYkBwaHl0 ZWMuZGU+LCBQaHl0ZWMgTWVzc3RlY2huaWsgR21iSCAoaHR0cDovL3d3dy5waHl0ZWMuZGUvKQo+ ICsKPiAgLyoqCj4gICAqIEBmaWxlCj4gICAqIEBicmllZiBCb2FyZCBJbml0aWFsaXphdGlvbiBy b3V0aW5lcyBmb3IgdGhlIHBoeUNBUkQtQS1MMQo+IEBAIC0yMSwyMSArMjQsOSBAQAo+ICAgKgo+ ICAgKiBPcmlnaW5hbGx5IGZyb20gYXJjaC9hcm0vYm9hcmRzL29tYXAvYm9hcmQtYmVhZ2xlLmMK PiAgICoKPiAtICogQ29weXJpZ2h0IChDKSAyMDExIFBoeXRlYyBNZXNzdGVjaG5payBHbWJIIC0g aHR0cDovL3d3dy5waHl0ZWMuZGUvCj4gLSAqIEp1ZXJnZW4gS2lsYiA8ai5raWxiQHBoeXRlYy5k ZT4KPiAtICoKPiAgICogYmFzZWQgb24gY29kZSBmcm9tIFRleGFzIEluc3RydW1lbnRzIC8gYm9h cmQtYmVhZ2xlLmMKPiAgICogQ29weXJpZ2h0IChDKSAyMDA5IFRleGFzIEluc3RydW1lbnRzIElu Y29ycG9yYXRlZCAtIGh0dHA6Ly93d3cudGkuY29tLwo+ICAgKiBTYW5qZWV2IFByZW1pIDxwcmVt aUB0aS5jb20+CgpBbmQgaGVyZS4KCj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNv ZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKPiAtICogbW9kaWZ5IGl0IHVu ZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKPiAtICogdmVy c2lvbiAyIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgo+IC0g Kgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3 aWxsIGJlIHVzZWZ1bCwKPiAtICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2 ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKPiAtICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5F U1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiBTZWUgdGhlCj4gLSAqIEdOVSBHZW5lcmFsIFB1 YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCj4gICAqLwo+ICAKPiAgI2luY2x1ZGUgPGNv bW1vbi5oPgo+IGRpZmYgLS1naXQgYS9hcmNoL2FybS9ib2FyZHMvcGh5dGVjLXBoeWNhcmQtb21h cDMvcGNhLWEtbDEuaCBiL2FyY2gvYXJtL2JvYXJkcy9waHl0ZWMtcGh5Y2FyZC1vbWFwMy9wY2Et YS1sMS5oCj4gaW5kZXggZjZmODk5NjY5NzBjLi4yYTk0NzdiOGFhMjUgMTAwNjQ0Cj4gLS0tIGEv YXJjaC9hcm0vYm9hcmRzL3BoeXRlYy1waHljYXJkLW9tYXAzL3BjYS1hLWwxLmgKPiArKysgYi9h cmNoL2FybS9ib2FyZHMvcGh5dGVjLXBoeWNhcmQtb21hcDMvcGNhLWEtbDEuaAo+IEBAIC0xLDIy ICsxLDExIEBACj4gKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9yLWxhdGVy Cj4gKy8vIFNQRFgtRmlsZUNvcHlyaWdodFRleHQ6IMKpIDIwMDggUmFnaGF2ZW5kcmEgS0ggPHIt a2hhbmRlbmFoYWxseUB0aS5jb20+LFRleGFzIEluc3RydW1lbnRzICg8d3d3LnRpLmNvbT4pCgpZ b3UgbWlnaHQgd2FudCB0byBhZGQgYW4gYWRkaXRpb25hbCBzcGFjZSBhZnRlciB0aGUgY29tbWEu Cgo+ICsKPiAgLyoqCj4gICAqIEBmaWxlCj4gICAqIEBicmllZiBleHBvcnRlZCBnZW5lcmljIEFQ SXMgd2hpY2ggdmFyaW91cyBib2FyZCBmaWxlcyBpbXBsZW1lbnQKPiAgICoKPiAgICogVGhpcyBm aWxlIHdpbGwgbm90IGNvbnRhaW4gYW55IGJvYXJkIHNwZWNpZmljIGltcGxlbWVudGF0aW9ucy4K PiAtICoKPiAtICogKEMpIENvcHlyaWdodCAyMDA4Cj4gLSAqIFRleGFzIEluc3RydW1lbnRzLCA8 d3d3LnRpLmNvbT4KPiAtICogUmFnaGF2ZW5kcmEgS0ggPHIta2hhbmRlbmFoYWxseUB0aS5jb20+ Cj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlz dHJpYnV0ZSBpdCBhbmQvb3IKPiAtICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUg R05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMKPiAtICogcHVibGlzaGVkIGJ5IHRoZSBGcmVl IFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YKPiAtICogdGhlIExpY2Vu c2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCj4gLSAqCj4gLSAqIFRo aXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNl ZnVsLAo+IC0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1w bGllZCB3YXJyYW50eSBvZgo+IC0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQ QVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCj4gLSAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNl bnNlIGZvciBtb3JlIGRldGFpbHMuCj4gICAqLwo+ICAKPiAgI2lmbmRlZiBfX0JPQVJEX09NQVBf SF8KPiBkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vYm9hcmRzL3BoeXRlYy1waHljYXJkLW9tYXA0L01h a2VmaWxlIGIvYXJjaC9hcm0vYm9hcmRzL3BoeXRlYy1waHljYXJkLW9tYXA0L01ha2VmaWxlCj4g aW5kZXggYWQ5ZjY0OGViZTU0Li45ODcxZTI0M2E0MjcgMTAwNjQ0Cj4gLS0tIGEvYXJjaC9hcm0v Ym9hcmRzL3BoeXRlYy1waHljYXJkLW9tYXA0L01ha2VmaWxlCj4gKysrIGIvYXJjaC9hcm0vYm9h cmRzL3BoeXRlYy1waHljYXJkLW9tYXA0L01ha2VmaWxlCj4gQEAgLTEsMTUgKzEsNiBAQAo+IC0j IChDKSBDb3B5cmlnaHQgMjAxMiBKYW4gV2VpdHplbCA8ai53ZWl0emVsQHBoeXRlYy5kZT4KPiAt Iwo+IC0jIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0 ZSBpdCBhbmQvb3IKPiAtIyBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2Vu ZXJhbCBQdWJsaWMgTGljZW5zZSBhcwo+IC0jIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2Fy ZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mCj4gLSMgdGhlIExpY2Vuc2UsIG9yIChh dCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCj4gLSMKPiAtIyBUaGlzIHByb2dyYW0g aXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKPiAtIyBi dXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50 eSBvZgo+IC0jIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVS UE9TRS4gIFNlZSB0aGUKPiAtIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBk ZXRhaWxzLgo+IC0jCj4gKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9yLWxh dGVyCj4gKy8vIFNQRFgtRmlsZUNvcHlyaWdodFRleHQ6IMKpIDIwMTIgSmFuIFdlaXR6ZWwgPGou d2VpdHplbEBwaHl0ZWMuZGU+Cj4gKwo+ICBvYmoteSArPSBwY2EtYS14bDIubwo+ICBsd2wteSAr PSBtdXgubyBsb3dsZXZlbC5vCj4gIGJiZW52LSQoQ09ORklHX0RFRkFVTFRfRU5WSVJPTk1FTlRf R0VORVJJQykgKz0gZGVmYXVsdGVudi1waHl0ZWMtcGh5Y2FyZC1vbWFwNAo+IGRpZmYgLS1naXQg YS9hcmNoL2FybS9ib2FyZHMvcGh5dGVjLXBoeWNhcmQtb21hcDQvbG93bGV2ZWwuYyBiL2FyY2gv YXJtL2JvYXJkcy9waHl0ZWMtcGh5Y2FyZC1vbWFwNC9sb3dsZXZlbC5jCj4gaW5kZXggMTkwNzEy NzE5OGFmLi4yMTBiMWVjZDRlMjMgMTAwNjQ0Cj4gLS0tIGEvYXJjaC9hcm0vYm9hcmRzL3BoeXRl Yy1waHljYXJkLW9tYXA0L2xvd2xldmVsLmMKPiArKysgYi9hcmNoL2FybS9ib2FyZHMvcGh5dGVj LXBoeWNhcmQtb21hcDQvbG93bGV2ZWwuYwo+IEBAIC0xLDE4ICsxLDYgQEAKPiAtLyoKPiAtICog KEMpIENvcHlyaWdodCAyMDA0LTIwMDkKPiAtICogVGV4YXMgSW5zdHJ1bWVudHMsIDx3d3cudGku Y29tPgo+IC0gKiBSaWNoYXJkIFdvb2RydWZmIDxyLXdvb2RydWZmMkB0aS5jb20+Cj4gLSAqCj4g LSAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBp dCBhbmQvb3IKPiAtICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVy YWwgUHVibGljIExpY2Vuc2UKPiAtICogdmVyc2lvbiAyIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJl ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJp YnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKPiAtICogYnV0IFdJVEhP VVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKPiAt ICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAg U2VlIHRoZQo+IC0gKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxz Lgo+IC0gKgo+IC0gKi8KPiArLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb25s eQo+ICsvLyBTUERYLUZpbGVDb3B5cmlnaHRUZXh0OiDCqSAyMDA0LTIwMDkgUmljaGFyZCBXb29k cnVmZiA8ci13b29kcnVmZjJAdGkuY29tPiwgVGV4YXMgSW5zdHJ1bWVudHMgKDx3d3cudGkuY29t PikKPiArCj4gICNpbmNsdWRlIDxjb21tb24uaD4KPiAgI2luY2x1ZGUgPGluaXQuaD4KPiAgI2lu Y2x1ZGUgPGlvLmg+Cj4gZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2JvYXJkcy9waHl0ZWMtcGh5Y2Fy ZC1vbWFwNC9wY2EtYS14bDIuYyBiL2FyY2gvYXJtL2JvYXJkcy9waHl0ZWMtcGh5Y2FyZC1vbWFw NC9wY2EtYS14bDIuYwo+IGluZGV4IGMwZTQ0NDhhMDBmNC4uZDhlNDM3YzZjNzEyIDEwMDY0NAo+ IC0tLSBhL2FyY2gvYXJtL2JvYXJkcy9waHl0ZWMtcGh5Y2FyZC1vbWFwNC9wY2EtYS14bDIuYwo+ ICsrKyBiL2FyY2gvYXJtL2JvYXJkcy9waHl0ZWMtcGh5Y2FyZC1vbWFwNC9wY2EtYS14bDIuYwo+ IEBAIC0xLDE4ICsxLDUgQEAKPiAtLyoKPiAtICogQ29weXJpZ2h0IChDKSAyMDExIFNhc2NoYSBI YXVlciwgUGVuZ3V0cm9uaXgKPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdh cmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgo+IC0gKiBtb2RpZnkgaXQgdW5kZXIg dGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcwo+IC0gKiBwdWJs aXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBv Zgo+IC0gKiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lv bi4KPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRo YXQgaXQgd2lsbCBiZSB1c2VmdWwsCj4gLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0 aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCj4gLSAqIE1FUkNIQU5UQUJJTElUWSBv ciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKPiAtICogR05VIEdl bmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KPiAtICoKPiAtICoKPiAtICov Cj4gKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9yLWxhdGVyCj4gKy8vIFNQ RFgtRmlsZUNvcHlyaWdodFRleHQ6IMKpIDIwMTEgU2FzY2hhIEhhdWVyLCBQZW5ndXRyb25peAo+ ICAKPiAgI2luY2x1ZGUgPGNvbW1vbi5oPgo+ICAjaW5jbHVkZSA8Y29uc29sZS5oPgo+IGRpZmYg LS1naXQgYS9hcmNoL2FybS9ib2FyZHMvcGh5dGVjLXBoeWNvcmUtaW14MjcvbG93bGV2ZWwuYyBi L2FyY2gvYXJtL2JvYXJkcy9waHl0ZWMtcGh5Y29yZS1pbXgyNy9sb3dsZXZlbC5jCj4gaW5kZXgg NWYyOWFhYzk0YWU2Li5iM2EyZTJiNjRkZmMgMTAwNjQ0Cj4gLS0tIGEvYXJjaC9hcm0vYm9hcmRz L3BoeXRlYy1waHljb3JlLWlteDI3L2xvd2xldmVsLmMKPiArKysgYi9hcmNoL2FybS9ib2FyZHMv cGh5dGVjLXBoeWNvcmUtaW14MjcvbG93bGV2ZWwuYwo+IEBAIC0xLDE4ICsxLDYgQEAKPiAtLyoK PiAtICoKPiAtICogKGMpIDIwMDcgUGVuZ3V0cm9uaXgsIFNhc2NoYSBIYXVlciA8cy5oYXVlckBw ZW5ndXRyb25peC5kZT4KPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7 IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgo+IC0gKiBtb2RpZnkgaXQgdW5kZXIgdGhl IHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcwo+IC0gKiBwdWJsaXNo ZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZgo+ IC0gKiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4K PiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQg aXQgd2lsbCBiZSB1c2VmdWwsCj4gLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91 dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCj4gLSAqIE1FUkNIQU5UQUJJTElUWSBvciBG SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKPiAtICogR05VIEdlbmVy YWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KPiAtICoKPiAtICovCj4gKy8vIFNQ RFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9yLWxhdGVyCj4gKy8vIFNQRFgtRmlsZUNv cHlyaWdodFRleHQ6IMKpIFNhc2NoYSBIYXVlciA8cy5oYXVlckBwZW5ndXRyb25peC5kZT4sIFBl bmd1dHJvbml4Cj4gKwo+ICAjaW5jbHVkZSA8Y29tbW9uLmg+Cj4gICNpbmNsdWRlIDxpbml0Lmg+ Cj4gICNpbmNsdWRlIDxtYWNoL2lteDI3LXJlZ3MuaD4KPiBkaWZmIC0tZ2l0IGEvYXJjaC9hcm0v Ym9hcmRzL3BoeXRlYy1waHljb3JlLWlteDI3L3BjbTAzOC5jIGIvYXJjaC9hcm0vYm9hcmRzL3Bo eXRlYy1waHljb3JlLWlteDI3L3BjbTAzOC5jCj4gaW5kZXggMDA4MzQ2ZmFmMWUxLi4xN2IzOTE1 ZWZjODUgMTAwNjQ0Cj4gLS0tIGEvYXJjaC9hcm0vYm9hcmRzL3BoeXRlYy1waHljb3JlLWlteDI3 L3BjbTAzOC5jCj4gKysrIGIvYXJjaC9hcm0vYm9hcmRzL3BoeXRlYy1waHljb3JlLWlteDI3L3Bj bTAzOC5jCj4gQEAgLTEsMTYgKzEsNSBAQAo+IC0vKgo+IC0gKiBDb3B5cmlnaHQgKEMpIDIwMDcg U2FzY2hhIEhhdWVyLCBQZW5ndXRyb25peAo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZnJl ZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCj4gLSAqIG1vZGlmeSBp dCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzCj4g LSAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVy c2lvbiAyIG9mCj4gLSAqIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRl ciB2ZXJzaW9uLgo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhl IGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKPiAtICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJB TlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKPiAtICogTUVSQ0hBTlRB QklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQo+IC0g KiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgo+IC0gKi8KPiAr Ly8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb3ItbGF0ZXIKPiArLy8gU1BEWC1G aWxlQ29weXJpZ2h0VGV4dDogwqkgMjAwNyBTYXNjaGEgSGF1ZXIsIFBlbmd1dHJvbml4Cj4gIAo+ ICAjZGVmaW5lIHByX2ZtdChmbXQpICJwY20wMzg6ICIgZm10Cj4gIAo+IGRpZmYgLS1naXQgYS9h cmNoL2FybS9ib2FyZHMvcGh5dGVjLXBoeWNvcmUtaW14MjcvcGNtOTcwLmMgYi9hcmNoL2FybS9i b2FyZHMvcGh5dGVjLXBoeWNvcmUtaW14MjcvcGNtOTcwLmMKPiBpbmRleCBiOGZhZWMwMzg0Yzcu LmI3ZmFkNmRjYmNhNSAxMDA2NDQKPiAtLS0gYS9hcmNoL2FybS9ib2FyZHMvcGh5dGVjLXBoeWNv cmUtaW14MjcvcGNtOTcwLmMKPiArKysgYi9hcmNoL2FybS9ib2FyZHMvcGh5dGVjLXBoeWNvcmUt aW14MjcvcGNtOTcwLmMKPiBAQCAtMSwxNSArMSw0IEBACj4gLS8qCj4gLSAqIFRoaXMgcHJvZ3Jh bSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKPiAtICog bW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vu c2UgYXMKPiAtICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVp dGhlciB2ZXJzaW9uIDIgb2YKPiAtICogdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikg YW55IGxhdGVyIHZlcnNpb24uCj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRl ZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAo+IC0gKiBidXQgV0lUSE9VVCBB TlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgo+IC0gKiBN RVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUg dGhlCj4gLSAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCj4g LSAqCj4gLSAqLwo+ICsvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vci1sYXRl cgo+ICAKPiAgI2luY2x1ZGUgPGNvbW1vbi5oPgo+ICAjaW5jbHVkZSA8Z3Bpby5oPgo+IGRpZmYg LS1naXQgYS9hcmNoL2FybS9ib2FyZHMvcGh5dGVjLXBoeWNvcmUtaW14MjcvcGxsLmggYi9hcmNo L2FybS9ib2FyZHMvcGh5dGVjLXBoeWNvcmUtaW14MjcvcGxsLmgKPiBpbmRleCA4YmRiNzZkMTEx NjEuLmNiMzRkZTExMzY0YiAxMDA2NDQKPiAtLS0gYS9hcmNoL2FybS9ib2FyZHMvcGh5dGVjLXBo eWNvcmUtaW14MjcvcGxsLmgKPiArKysgYi9hcmNoL2FybS9ib2FyZHMvcGh5dGVjLXBoeWNvcmUt aW14MjcvcGxsLmgKPiBAQCAtMSwxNSArMSw0IEBACj4gLS8qCj4gLSAqIFRoaXMgcHJvZ3JhbSBp cyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKPiAtICogbW9k aWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2Ug YXMKPiAtICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhl ciB2ZXJzaW9uIDIgb2YKPiAtICogdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55 IGxhdGVyIHZlcnNpb24uCj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBp biB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAo+IC0gKiBidXQgV0lUSE9VVCBBTlkg V0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgo+IC0gKiBNRVJD SEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUK PiAtICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KPiAtICoK PiAtICovCj4gKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9yLWxhdGVyCj4g IAo+ICAvKioKPiAgICogQGZpbGUKPiBkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vYm9hcmRzL3BoeXRl Yy1waHljb3JlLWlteDMxL01ha2VmaWxlIGIvYXJjaC9hcm0vYm9hcmRzL3BoeXRlYy1waHljb3Jl LWlteDMxL01ha2VmaWxlCj4gaW5kZXggNTY2YWU4MWVhZjM0Li4zNDNmMTZiN2ZiYWMgMTAwNjQ0 Cj4gLS0tIGEvYXJjaC9hcm0vYm9hcmRzL3BoeXRlYy1waHljb3JlLWlteDMxL01ha2VmaWxlCj4g KysrIGIvYXJjaC9hcm0vYm9hcmRzL3BoeXRlYy1waHljb3JlLWlteDMxL01ha2VmaWxlCj4gQEAg LTEsMTcgKzEsNSBAQAo+IC0jCj4gLSMgKEMpIENvcHlyaWdodCAyMDA3IEp1ZXJnZW4gQmVpc2Vy dCA8amJlQHBlbmd1dHJvbml4LmRlPgo+IC0jCj4gLSMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29m dHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgo+IC0jIG1vZGlmeSBpdCB1bmRl ciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzCj4gLSMgcHVi bGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIg b2YKPiAtIyB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lv bi4KPiAtIwo+IC0jIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0 IGl0IHdpbGwgYmUgdXNlZnVsLAo+IC0jIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91 dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCj4gLSMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJ VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQo+IC0jIEdOVSBHZW5lcmFs IFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCj4gLSMKPiAtIwo+ICsvLyBTUERYLUxp Y2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vci1sYXRlcgo+ICsvLyBTUERYLUZpbGVDb3B5cmln aHRUZXh0OiDCqSAyMDA3IEp1ZXJnZW4gQmVpc2VydCA8amJlQHBlbmd1dHJvbml4LmRlPgo+ICAK PiAgbHdsLXkgKz0gbG93bGV2ZWwubwo+ICBvYmoteSArPSBwY20wMzcubwo+IGRpZmYgLS1naXQg YS9hcmNoL2FybS9ib2FyZHMvcGh5dGVjLXBoeWNvcmUtaW14MzEvbG93bGV2ZWwuYyBiL2FyY2gv YXJtL2JvYXJkcy9waHl0ZWMtcGh5Y29yZS1pbXgzMS9sb3dsZXZlbC5jCj4gaW5kZXggYTIwOTkw N2FmN2U3Li4wNWY2OTlkYzVhOTIgMTAwNjQ0Cj4gLS0tIGEvYXJjaC9hcm0vYm9hcmRzL3BoeXRl Yy1waHljb3JlLWlteDMxL2xvd2xldmVsLmMKPiArKysgYi9hcmNoL2FybS9ib2FyZHMvcGh5dGVj LXBoeWNvcmUtaW14MzEvbG93bGV2ZWwuYwo+IEBAIC0xLDE4ICsxLDYgQEAKPiAtLyoKPiAtICoK PiAtICogKGMpIDIwMDcgUGVuZ3V0cm9uaXgsIFNhc2NoYSBIYXVlciA8cy5oYXVlckBwZW5ndXRy b25peC5kZT4KPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBj YW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgo+IC0gKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1z IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcwo+IC0gKiBwdWJsaXNoZWQgYnkg dGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZgo+IC0gKiB0 aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KPiAtICoK PiAtICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2ls bCBiZSB1c2VmdWwsCj4gLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVu IHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCj4gLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNT IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKPiAtICogR05VIEdlbmVyYWwgUHVi bGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KPiAtICoKPiAtICovCj4gKy8vIFNQRFgtTGlj ZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9yLWxhdGVyCj4gKy8vIFNQRFgtRmlsZUNvcHlyaWdo dFRleHQ6IMKpIDIwMDcgU2FzY2hhIEhhdWVyIDxzLmhhdWVyQHBlbmd1dHJvbml4LmRlPiwgUGVu Z3V0cm9uaXgKPiArCj4gICNpbmNsdWRlIDxjb21tb24uaD4KPiAgI2luY2x1ZGUgPGluaXQuaD4K PiAgI2luY2x1ZGUgPGlvLmg+Cj4gZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2JvYXJkcy9waHl0ZWMt cGh5Y29yZS1pbXgzMS9wY20wMzcuYyBiL2FyY2gvYXJtL2JvYXJkcy9waHl0ZWMtcGh5Y29yZS1p bXgzMS9wY20wMzcuYwo+IGluZGV4IDM1Zjg5NTA0NzlhOS4uOGU4YWZjYjM0ZjVkIDEwMDY0NAo+ IC0tLSBhL2FyY2gvYXJtL2JvYXJkcy9waHl0ZWMtcGh5Y29yZS1pbXgzMS9wY20wMzcuYwo+ICsr KyBiL2FyY2gvYXJtL2JvYXJkcy9waHl0ZWMtcGh5Y29yZS1pbXgzMS9wY20wMzcuYwo+IEBAIC0x LDE5ICsxLDcgQEAKPiAtLyoKPiAtICogKEMpIDIwMDcgUGVuZ3V0cm9uaXgsIFNhc2NoYSBIYXVl ciA8cy5oYXVlckBwZW5ndXRyb25peC5kZT4KPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGZy ZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgo+IC0gKiBtb2RpZnkg aXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcwo+ IC0gKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZl cnNpb24gMiBvZgo+IC0gKiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0 ZXIgdmVyc2lvbi4KPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRo ZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCj4gLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJS QU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCj4gLSAqIE1FUkNIQU5U QUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKPiAt ICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KPiAtICoKPiAt ICoKPiAtICogQm9hcmQgc3VwcG9ydCBmb3IgUGh5dGVjJ3MsIGkuTVgzMSBiYXNlZCBDUFUgY2Fy ZCwgY2FsbGVkOiBQQ00wMzcKPiAtICovCj4gKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBH UEwtMi4wLW9yLWxhdGVyCj4gKy8vIFNQRFgtRmlsZUNvcHlyaWdodFRleHQ6IMKpIDIwMDcgU2Fz Y2hhIEhhdWVyIDxzLmhhdWVyQHBlbmd1dHJvbml4LmRlPiwgUGVuZ3V0cm9uaXgKPiArCj4gKy8q IEJvYXJkIHN1cHBvcnQgZm9yIFBoeXRlYydzLCBpLk1YMzEgYmFzZWQgQ1BVIGNhcmQsIGNhbGxl ZDogUENNMDM3ICovCj4gIAo+ICAjaW5jbHVkZSA8Y29tbW9uLmg+Cj4gICNpbmNsdWRlIDxpbml0 Lmg+Cj4gZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2JvYXJkcy9waHl0ZWMtcGh5Y29yZS1pbXgzNS9N YWtlZmlsZSBiL2FyY2gvYXJtL2JvYXJkcy9waHl0ZWMtcGh5Y29yZS1pbXgzNS9NYWtlZmlsZQo+ IGluZGV4IDA5NDBhNGIxMzdjNy4uMmZiNTBiYjMzMWFjIDEwMDY0NAo+IC0tLSBhL2FyY2gvYXJt L2JvYXJkcy9waHl0ZWMtcGh5Y29yZS1pbXgzNS9NYWtlZmlsZQo+ICsrKyBiL2FyY2gvYXJtL2Jv YXJkcy9waHl0ZWMtcGh5Y29yZS1pbXgzNS9NYWtlZmlsZQo+IEBAIC0xLDE3ICsxLDUgQEAKPiAt Iwo+IC0jIChDKSBDb3B5cmlnaHQgMjAwNyBKdWVyZ2VuIEJlaXNlcnQgPGpiZUBwZW5ndXRyb25p eC5kZT4KPiAtIwo+IC0jIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJl ZGlzdHJpYnV0ZSBpdCBhbmQvb3IKPiAtIyBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRo ZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcwo+IC0jIHB1Ymxpc2hlZCBieSB0aGUgRnJl ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mCj4gLSMgdGhlIExpY2Vu c2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCj4gLSMKPiAtIyBUaGlz IHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1 bCwKPiAtIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGll ZCB3YXJyYW50eSBvZgo+IC0jIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJ Q1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKPiAtIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBm b3IgbW9yZSBkZXRhaWxzLgo+IC0jCj4gLSMKPiArLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6 IEdQTC0yLjAtb3ItbGF0ZXIKPiArLy8gU1BEWC1GaWxlQ29weXJpZ2h0VGV4dDogwqkgMjAwNyBK dWVyZ2VuIEJlaXNlcnQgPGpiZUBwZW5ndXRyb25peC5kZT4KPiAgCj4gIGx3bC15ICs9IGxvd2xl dmVsLm8KPiAgb2JqLXkgKz0gcGNtMDQzLm8KPiBkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vYm9hcmRz L3BoeXRlYy1waHljb3JlLWlteDM1L2xvd2xldmVsLmMgYi9hcmNoL2FybS9ib2FyZHMvcGh5dGVj LXBoeWNvcmUtaW14MzUvbG93bGV2ZWwuYwo+IGluZGV4IGQ3YjI5M2VlZDUyMS4uYTRjY2RmYWU4 MDI2IDEwMDY0NAo+IC0tLSBhL2FyY2gvYXJtL2JvYXJkcy9waHl0ZWMtcGh5Y29yZS1pbXgzNS9s b3dsZXZlbC5jCj4gKysrIGIvYXJjaC9hcm0vYm9hcmRzL3BoeXRlYy1waHljb3JlLWlteDM1L2xv d2xldmVsLmMKPiBAQCAtMSwxOCArMSw2IEBACj4gLS8qCj4gLSAqCj4gLSAqIChjKSAyMDA3IFBl bmd1dHJvbml4LCBTYXNjaGEgSGF1ZXIgPHMuaGF1ZXJAcGVuZ3V0cm9uaXguZGU+Cj4gLSAqCj4g LSAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBp dCBhbmQvb3IKPiAtICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVy YWwgUHVibGljIExpY2Vuc2UgYXMKPiAtICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJl IEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YKPiAtICogdGhlIExpY2Vuc2UsIG9yIChh dCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3Jh bSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAo+IC0g KiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJy YW50eSBvZgo+IC0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS IFBVUlBPU0UuICBTZWUgdGhlCj4gLSAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBt b3JlIGRldGFpbHMuCj4gLSAqCj4gLSAqLwo+ICsvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjog R1BMLTIuMC1vci1sYXRlcgo+ICsvLyBTUERYLUZpbGVDb3B5cmlnaHRUZXh0OiDCqSAyMDA3IFNh c2NoYSBIYXVlciA8cy5oYXVlckBwZW5ndXRyb25peC5kZT4sIFBlbmd1dHJvbml4Cj4gKwo+ICAj aW5jbHVkZSA8Y29tbW9uLmg+Cj4gICNpbmNsdWRlIDxpbml0Lmg+Cj4gICNpbmNsdWRlIDxtYWNo L2lteDM1LXJlZ3MuaD4KPiBkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vYm9hcmRzL3BoeXRlYy1waHlj b3JlLWlteDM1L3BjbTA0My5jIGIvYXJjaC9hcm0vYm9hcmRzL3BoeXRlYy1waHljb3JlLWlteDM1 L3BjbTA0My5jCj4gaW5kZXggMGU5ZGExNjI2OWY2Li5hNjM5YWEyYjA0NDQgMTAwNjQ0Cj4gLS0t IGEvYXJjaC9hcm0vYm9hcmRzL3BoeXRlYy1waHljb3JlLWlteDM1L3BjbTA0My5jCj4gKysrIGIv YXJjaC9hcm0vYm9hcmRzL3BoeXRlYy1waHljb3JlLWlteDM1L3BjbTA0My5jCj4gQEAgLTEsMjAg KzEsOCBAQAo+IC0vKgo+IC0gKiAoQykgMjAwNyBQZW5ndXRyb25peCwgU2FzY2hhIEhhdWVyIDxz LmhhdWVyQHBlbmd1dHJvbml4LmRlPgo+IC0gKiAoQykgMjAwOSBQZW5ndXRyb25peCwgSnVlcmdl biBCZWlzZXJ0IDxrZXJuZWxAcGVuZ3V0cm9uaXguZGU+Cj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3Jh bSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKPiAtICog bW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vu c2UgYXMKPiAtICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVp dGhlciB2ZXJzaW9uIDIgb2YKPiAtICogdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikg YW55IGxhdGVyIHZlcnNpb24uCj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRl ZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAo+IC0gKiBidXQgV0lUSE9VVCBB TlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgo+IC0gKiBN RVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUg dGhlCj4gLSAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCj4g LSAqCj4gLSAqCj4gLSAqIEJvYXJkIHN1cHBvcnQgZm9yIFBoeXRlYydzLCBpLk1YMzUgYmFzZWQg Q1BVIGNhcmQsIGNhbGxlZDogUENNMDQzCj4gLSAqLwo+ICsvLyBTUERYLUxpY2Vuc2UtSWRlbnRp ZmllcjogR1BMLTIuMC1vci1sYXRlcgo+ICsvLyBTUERYLUZpbGVDb3B5cmlnaHRUZXh0OiDCqSAy MDA3IFNhc2NoYSBIYXVlciA8cy5oYXVlckBwZW5ndXRyb25peC5kZT4sIFBlbmd1dHJvbml4Cj4g Ky8vIFNQRFgtRmlsZUNvcHlyaWdodFRleHQ6IMKpIDIwMDkgSnVlcmdlbiBCZWlzZXJ0IDxrZXJu ZWxAcGVuZ3V0cm9uaXguZGU+LCBQZW5ndXRyb25peAo+ICsKPiArLyogQm9hcmQgc3VwcG9ydCBm b3IgUGh5dGVjJ3MsIGkuTVgzNSBiYXNlZCBDUFUgY2FyZCwgY2FsbGVkOiBQQ00wNDMgKi8KPiAg Cj4gICNpbmNsdWRlIDxjb21tb24uaD4KPiAgI2luY2x1ZGUgPGNvbW1hbmQuaD4KPiBkaWZmIC0t Z2l0IGEvYXJjaC9hcm0vYm9hcmRzL3BoeXRlYy1waHljb3JlLWlteDcvYm9hcmQuYyBiL2FyY2gv YXJtL2JvYXJkcy9waHl0ZWMtcGh5Y29yZS1pbXg3L2JvYXJkLmMKPiBpbmRleCBjM2ViZDFmYWRm YjIuLmZhNGFmYTUzYWQzNCAxMDA2NDQKPiAtLS0gYS9hcmNoL2FybS9ib2FyZHMvcGh5dGVjLXBo eWNvcmUtaW14Ny9ib2FyZC5jCj4gKysrIGIvYXJjaC9hcm0vYm9hcmRzL3BoeXRlYy1waHljb3Jl LWlteDcvYm9hcmQuYwo+IEBAIC0xLDE2ICsxLDUgQEAKPiAtLyoKPiAtICogQ29weXJpZ2h0IChD KSAyMDE3IFNhc2NoYSBIYXVlciwgUGVuZ3V0cm9uaXgKPiAtICoKPiAtICogVGhpcyBwcm9ncmFt IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgo+IC0gKiBt b2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5z ZSBhcwo+IC0gKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0 aGVyIHZlcnNpb24gMiBvZgo+IC0gKiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBh bnkgbGF0ZXIgdmVyc2lvbi4KPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVk IGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCj4gLSAqIGJ1dCBXSVRIT1VUIEFO WSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCj4gLSAqIE1F UkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0 aGUKPiAtICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KPiAt ICovCj4gKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9yLWxhdGVyCj4gKy8v IFNQRFgtRmlsZUNvcHlyaWdodFRleHQ6IMKpIDIwMTcgU2FzY2hhIEhhdWVyLCBQZW5ndXRyb25p eAo+ICAKPiAgI2luY2x1ZGUgPGNvbW1vbi5oPgo+ICAjaW5jbHVkZSA8aW5pdC5oPgo+IGRpZmYg LS1naXQgYS9hcmNoL2FybS9ib2FyZHMvcGh5dGVjLXBoeWNvcmUtb21hcDQ0NjAvYm9hcmQuYyBi L2FyY2gvYXJtL2JvYXJkcy9waHl0ZWMtcGh5Y29yZS1vbWFwNDQ2MC9ib2FyZC5jCj4gaW5kZXgg YjdhZWVjYTZkZmUxLi5hYTU2MzI3MWNmOGUgMTAwNjQ0Cj4gLS0tIGEvYXJjaC9hcm0vYm9hcmRz L3BoeXRlYy1waHljb3JlLW9tYXA0NDYwL2JvYXJkLmMKPiArKysgYi9hcmNoL2FybS9ib2FyZHMv cGh5dGVjLXBoeWNvcmUtb21hcDQ0NjAvYm9hcmQuYwo+IEBAIC0xLDE4ICsxLDUgQEAKPiAtLyoK PiAtICogQ29weXJpZ2h0IChDKSAyMDExIFNhc2NoYSBIYXVlciwgUGVuZ3V0cm9uaXgKPiAtICoK PiAtICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRl IGl0IGFuZC9vcgo+IC0gKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2Vu ZXJhbCBQdWJsaWMgTGljZW5zZSBhcwo+IC0gKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdh cmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZgo+IC0gKiB0aGUgTGljZW5zZSwgb3Ig KGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KPiAtICoKPiAtICogVGhpcyBwcm9n cmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCj4g LSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdh cnJhbnR5IG9mCj4gLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM QVIgUFVSUE9TRS4gIFNlZSB0aGUKPiAtICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9y IG1vcmUgZGV0YWlscy4KPiAtICoKPiAtICoKPiAtICovCj4gKy8vIFNQRFgtTGljZW5zZS1JZGVu dGlmaWVyOiBHUEwtMi4wLW9yLWxhdGVyCj4gKy8vIFNQRFgtRmlsZUNvcHlyaWdodFRleHQ6IMKp IDIwMTEgU2FzY2hhIEhhdWVyLCBQZW5ndXRyb25peAo+ICAKPiAgI2luY2x1ZGUgPGNvbW1vbi5o Pgo+ICAjaW5jbHVkZSA8Y29uc29sZS5oPgo+IGRpZmYgLS1naXQgYS9hcmNoL2FybS9ib2FyZHMv cGh5dGVjLXBoeWNvcmUtb21hcDQ0NjAvbG93bGV2ZWwuYyBiL2FyY2gvYXJtL2JvYXJkcy9waHl0 ZWMtcGh5Y29yZS1vbWFwNDQ2MC9sb3dsZXZlbC5jCj4gaW5kZXggNDcxZTYxMDhlNGYxLi42YmRm ZDQ4MGRiZGMgMTAwNjQ0Cj4gLS0tIGEvYXJjaC9hcm0vYm9hcmRzL3BoeXRlYy1waHljb3JlLW9t YXA0NDYwL2xvd2xldmVsLmMKPiArKysgYi9hcmNoL2FybS9ib2FyZHMvcGh5dGVjLXBoeWNvcmUt b21hcDQ0NjAvbG93bGV2ZWwuYwo+IEBAIC0xLDE4ICsxLDYgQEAKPiAtLyoKPiAtICogKEMpIENv cHlyaWdodCAyMDA0LTIwMDkKPiAtICogVGV4YXMgSW5zdHJ1bWVudHMsIDx3d3cudGkuY29tPgo+ IC0gKiBSaWNoYXJkIFdvb2RydWZmIDxyLXdvb2RydWZmMkB0aS5jb20+Cj4gLSAqCj4gLSAqIFRo aXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQv b3IKPiAtICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVi bGljIExpY2Vuc2UKPiAtICogdmVyc2lvbiAyIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0 d2FyZSBGb3VuZGF0aW9uLgo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQg aW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKPiAtICogYnV0IFdJVEhPVVQgQU5Z IFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKPiAtICogTUVS Q0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRo ZQo+IC0gKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgo+IC0g Kgo+IC0gKi8KPiArLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb25seQo+ICsv LyBTUERYLUZpbGVDb3B5cmlnaHRUZXh0OiDCqSAyMDA0LTIwMDkgUmljaGFyZCBXb29kcnVmZiA8 ci13b29kcnVmZjJAdGkuY29tPiwgVGV4YXMgSW5zdHJ1bWVudHMgKDx3d3cudGkuY29tPikKPiAr Cj4gICNpbmNsdWRlIDxjb21tb24uaD4KPiAgI2luY2x1ZGUgPGluaXQuaD4KPiAgI2luY2x1ZGUg PGlvLmg+Cj4gZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2JvYXJkcy9waHl0ZWMtcGh5Y29yZS1weGEy NzAvYm9hcmQuYyBiL2FyY2gvYXJtL2JvYXJkcy9waHl0ZWMtcGh5Y29yZS1weGEyNzAvYm9hcmQu Ywo+IGluZGV4IGY0NjU5ZTcwN2ZiOC4uZGI4MzNiNDE1YTlhIDEwMDY0NAo+IC0tLSBhL2FyY2gv YXJtL2JvYXJkcy9waHl0ZWMtcGh5Y29yZS1weGEyNzAvYm9hcmQuYwo+ICsrKyBiL2FyY2gvYXJt L2JvYXJkcy9waHl0ZWMtcGh5Y29yZS1weGEyNzAvYm9hcmQuYwo+IEBAIC0xLDE5ICsxLDYgQEAK PiAtLyoKPiAtICogKEMpIDIwMDkgUGVuZ3V0cm9uaXgsIFNhc2NoYSBIYXVlciA8cy5oYXVlckBw ZW5ndXRyb25peC5kZT4KPiAtICogICAgIDIwMTAgYnkgTWFyYyBLbGVpbmUtQnVkZGUgPGtlcm5l bEBwZW5ndXRyb25peC5kZT4KPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdh cmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgo+IC0gKiBtb2RpZnkgaXQgdW5kZXIg dGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcwo+IC0gKiBwdWJs aXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBv Zgo+IC0gKiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lv bi4KPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRo YXQgaXQgd2lsbCBiZSB1c2VmdWwsCj4gLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0 aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCj4gLSAqIE1FUkNIQU5UQUJJTElUWSBv ciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKPiAtICogR05VIEdl bmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KPiAtICoKPiAtICoKPiAtICov Cj4gKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9yLWxhdGVyCj4gKy8vIFNQ RFgtRmlsZUNvcHlyaWdodFRleHQ6IMKpIDIwMDkgU2FzY2hhIEhhdWVyIDxzLmhhdWVyQHBlbmd1 dHJvbml4LmRlPiwgUGVuZ3V0cm9uaXgKPiArLy8gU1BEWC1GaWxlQ29weXJpZ2h0VGV4dDogwqkg MjAxMCBNYXJjIEtsZWluZS1CdWRkZSA8a2VybmVsQHBlbmd1dHJvbml4LmRlPgo+ICAKPiAgI2lu Y2x1ZGUgPGNvbW1vbi5oPgo+ICAjaW5jbHVkZSA8ZHJpdmVyLmg+Cj4gZGlmZiAtLWdpdCBhL2Fy Y2gvYXJtL2JvYXJkcy9waHl0ZWMtcGh5Y29yZS1weGEyNzAvY29uZmlnLmggYi9hcmNoL2FybS9i b2FyZHMvcGh5dGVjLXBoeWNvcmUtcHhhMjcwL2NvbmZpZy5oCj4gaW5kZXggY2EwMmIxMTQwYjI3 Li4zMjVjNDAxOTEzMjkgMTAwNjQ0Cj4gLS0tIGEvYXJjaC9hcm0vYm9hcmRzL3BoeXRlYy1waHlj b3JlLXB4YTI3MC9jb25maWcuaAo+ICsrKyBiL2FyY2gvYXJtL2JvYXJkcy9waHl0ZWMtcGh5Y29y ZS1weGEyNzAvY29uZmlnLmgKPiBAQCAtMSwyMyArMSw3IEBACj4gLS8qCj4gLSAqIENvcHlyaWdo dCAoQykgMjAwNSBQaHl0ZWMgTWVzc3RlY2huaWsgR21iSAo+IC0gKiBKdWVyZ2VuIEtpbGIsIEgu IEtsYWhvbHogPGFybWxpbnV4QHBoeXRlYy5kZT4KPiAtICoKPiAtICogQ29weXJpZ2h0IChDKSAy MDA2IFBlbmd1dHJvbml4Cj4gLSAqIFNhc2NoYSBIYXVlciA8cy5oYXVlckBwZW5ndXRyb25peC5k ZT4KPiAtICogUm9iZXJ0IFNjaHdlYmVsIDxyLnNjaHdlYmVsQHBlbmd1dHJvbml4LmRlPgo+IC0g Kgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1 dGUgaXQgYW5kL29yCj4gLSAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBH ZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzCj4gLSAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0 d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mCj4gLSAqIHRoZSBMaWNlbnNlLCBv ciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgo+IC0gKgo+IC0gKiBUaGlzIHBy b2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwK PiAtICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQg d2FycmFudHkgb2YKPiAtICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElD VUxBUiBQVVJQT1NFLiAgU2VlIHRoZQo+IC0gKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBm b3IgbW9yZSBkZXRhaWxzLgo+IC0gKgo+IC0gKgo+IC0gKi8KPiArLy8gU1BEWC1MaWNlbnNlLUlk ZW50aWZpZXI6IEdQTC0yLjAtb3ItbGF0ZXIKPiArLy8gU1BEWC1GaWxlQ29weXJpZ2h0VGV4dDog wqkgMjAwNSBKdWVyZ2VuIEtpbGIgJiBILiBLbGFob2x6IDxhcm1saW51eEBwaHl0ZWMuZGU+LCBQ aHl0ZWMgTWVzc3RlY2huaWsgR21iSAoKTml0cGljazogYW4gJyYnIG1pZ2h0IGhhdmUgYSBzbGln aHRseSBkaWZmZXJlbnQgc2VtYW50aWNzIGFzIGEgJywnLgoKPiArLy8gU1BEWC1GaWxlQ29weXJp Z2h0VGV4dDogwqkgMjAwNiBTYXNjaGEgSGF1ZXIgPHMuaGF1ZXJAcGVuZ3V0cm9uaXguZGU+LCBQ ZW5ndXRyb25peAo+ICsvLyBTUERYLUZpbGVDb3B5cmlnaHRUZXh0OiDCqSAyMDA2IFJvYmVydCBT Y2h3ZWJlbCA8ci5zY2h3ZWJlbEBwZW5ndXRyb25peC5kZT4sIFBlbmd1dHJvbml4Cj4gIAo+ICAj aWZuZGVmIF9fQ09ORklHX0gKPiAgI2RlZmluZSBfX0NPTkZJR19ICj4gZGlmZiAtLWdpdCBhL2Fy Y2gvYXJtL2JvYXJkcy9waHl0ZWMtcGh5Y29yZS1weGEyNzAvbG93bGV2ZWxfaW5pdC5TIGIvYXJj aC9hcm0vYm9hcmRzL3BoeXRlYy1waHljb3JlLXB4YTI3MC9sb3dsZXZlbF9pbml0LlMKPiBpbmRl eCA4NDU5OWU0MGUyMTUuLjljNjM2NmNjMmFkZSAxMDA2NDQKPiAtLS0gYS9hcmNoL2FybS9ib2Fy ZHMvcGh5dGVjLXBoeWNvcmUtcHhhMjcwL2xvd2xldmVsX2luaXQuUwo+ICsrKyBiL2FyY2gvYXJt L2JvYXJkcy9waHl0ZWMtcGh5Y29yZS1weGEyNzAvbG93bGV2ZWxfaW5pdC5TCj4gQEAgLTEsMyAr MSw1IEBACj4gKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9yLWxhdGVyCj4g Kwo+ICAvKgo+ICAgKiBUaGlzIHdhcyBvcmlnaW5hbGx5IGZyb20gdGhlIEx1YmJvY2sgdS1ib290 IHBvcnQuCj4gICAqCj4gQEAgLTcsMTcgKzksNiBAQAo+ICAgKiBydW5uaW5nLiBTZWUgaGFsX3Bs YXRmb3JtX3NldHVwLmggZm9yIHRoZSBzb3VyY2UuIFNlZQo+ICAgKiBib2FyZC9jcmFkbGUvbG93 bGV2ZWxfaW5pdC5TIGZvciBhbm90aGVyIFBYQTI1MCBzZXR1cCB0aGF0IGlzCj4gICAqIG11Y2gg Y2xlYW5lci4KPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBj YW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgo+IC0gKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1z IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcwo+IC0gKiBwdWJsaXNoZWQgYnkg dGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZgo+IC0gKiB0 aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KPiAtICoK PiAtICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2ls bCBiZSB1c2VmdWwsCj4gLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVu IHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCj4gLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNT IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4JIFNlZSB0aGUKPiAtICogR05VIEdlbmVyYWwgUHVi bGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KPiAtICoKPiAgICovCj4gIAo+ICAjaW5jbHVk ZSA8Y29uZmlnLmg+Cj4gZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2JvYXJkcy9waHl0ZWMtc29tLWFt MzM1eC9ib2FyZC5jIGIvYXJjaC9hcm0vYm9hcmRzL3BoeXRlYy1zb20tYW0zMzV4L2JvYXJkLmMK PiBpbmRleCBjMjVmMzNhZTIwZDUuLmMyOGZhZjE2NjRlNCAxMDA2NDQKPiAtLS0gYS9hcmNoL2Fy bS9ib2FyZHMvcGh5dGVjLXNvbS1hbTMzNXgvYm9hcmQuYwo+ICsrKyBiL2FyY2gvYXJtL2JvYXJk cy9waHl0ZWMtc29tLWFtMzM1eC9ib2FyZC5jCj4gQEAgLTEsMjEgKzEsMTEgQEAKPiArLy8gU1BE WC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb3ItbGF0ZXIKPiArLy8gU1BEWC1GaWxlQ29w eXJpZ2h0VGV4dDogwqkgMjAxNSBXYWRpbSBFZ29yb3YsIFBIWVRFQyBNZXNzdGVjaG5payBHbWJI Cj4gKwo+ICAvKgo+IC0gKiBDb3B5cmlnaHQgKEMpIDIwMTUgV2FkaW0gRWdvcm92LCBQSFlURUMg TWVzc3RlY2huaWsgR21iSAo+IC0gKgo+ICAgKiBEZXZpY2UgaW5pdGlhbGl6YXRpb24gZm9yIHRo ZSBmb2xsb3dpbmcgbW9kdWxlcyBhbmQgYm9hcmQgdmFyaWFudHM6Cj4gICAqICAgLSBwaHlDT1JF OiBQQ00tOTUzLCBwaHlCT0FSRC1NQUlBLCBwaHlCT0FSRC1XRUdBCj4gICAqICAgLSBwaHlGTEVY OiBQQkEtQi0wMQo+ICAgKiAgIC0gcGh5Q0FSRDogUENBLUEtWFMxCj4gLSAqCj4gLSAqIFRoaXMg cHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IK PiAtICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGlj IExpY2Vuc2UgYXMKPiAtICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp b247IGVpdGhlciB2ZXJzaW9uIDIgb2YKPiAtICogdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9w dGlvbikgYW55IGxhdGVyIHZlcnNpb24uCj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0 cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAo+IC0gKiBidXQgV0lU SE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgo+ IC0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Uu ICBTZWUgdGhlCj4gLSAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFp bHMuCj4gLSAqCj4gICAqLwo+ICAKPiAgI2luY2x1ZGUgPGJvb3Rzb3VyY2UuaD4KPiBkaWZmIC0t Z2l0IGEvYXJjaC9hcm0vYm9hcmRzL3BoeXRlYy1zb20tYW0zMzV4L2xvd2xldmVsLmMgYi9hcmNo L2FybS9ib2FyZHMvcGh5dGVjLXNvbS1hbTMzNXgvbG93bGV2ZWwuYwo+IGluZGV4IGEwMjg0NDlm YzBiZC4uOGY5MzE1NzQ2NmRkIDEwMDY0NAo+IC0tLSBhL2FyY2gvYXJtL2JvYXJkcy9waHl0ZWMt c29tLWFtMzM1eC9sb3dsZXZlbC5jCj4gKysrIGIvYXJjaC9hcm0vYm9hcmRzL3BoeXRlYy1zb20t YW0zMzV4L2xvd2xldmVsLmMKPiBAQCAtMSwxNyArMSw1IEBACj4gLS8qCj4gLSAqIENvcHlyaWdo dCAoQykgMjAxNSBXYWRpbSBFZ29yb3YsIFBIWVRFQyBNZXNzdGVjaG5payBHbWJICj4gLSAqCj4g LSAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBp dCBhbmQvb3IKPiAtICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVy YWwgUHVibGljIExpY2Vuc2UgYXMKPiAtICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJl IEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YKPiAtICogdGhlIExpY2Vuc2UsIG9yIChh dCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3Jh bSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAo+IC0g KiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJy YW50eSBvZgo+IC0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS IFBVUlBPU0UuICBTZWUgdGhlCj4gLSAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBt b3JlIGRldGFpbHMuCj4gLSAqCj4gLSAqLwo+ICsvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjog R1BMLTIuMC1vci1sYXRlcgo+ICsvLyBTUERYLUZpbGVDb3B5cmlnaHRUZXh0OiDCqSAyMDE1IFdh ZGltIEVnb3JvdiwgUEhZVEVDIE1lc3N0ZWNobmlrIEdtYkgKPiAgCj4gICNpbmNsdWRlIDxjb21t b24uaD4KPiAgI2luY2x1ZGUgPGxpbnV4L3NpemVzLmg+Cj4gZGlmZiAtLWdpdCBhL2FyY2gvYXJt L2JvYXJkcy9waHl0ZWMtc29tLWFtMzM1eC9yYW0tdGltaW5ncy5oIGIvYXJjaC9hcm0vYm9hcmRz L3BoeXRlYy1zb20tYW0zMzV4L3JhbS10aW1pbmdzLmgKPiBpbmRleCBkMTk0N2I1ODhlZDYuLjA1 NDRlODE2NjEyNiAxMDA2NDQKPiAtLS0gYS9hcmNoL2FybS9ib2FyZHMvcGh5dGVjLXNvbS1hbTMz NXgvcmFtLXRpbWluZ3MuaAo+ICsrKyBiL2FyY2gvYXJtL2JvYXJkcy9waHl0ZWMtc29tLWFtMzM1 eC9yYW0tdGltaW5ncy5oCj4gQEAgLTEsMTcgKzEsNSBAQAo+IC0vKgo+IC0gKiBDb3B5cmlnaHQg KEMpIDIwMTUgV2FkaW0gRWdvcm92LCBQSFlURUMgTWVzc3RlY2huaWsgR21iSAo+IC0gKgo+IC0g KiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQg YW5kL29yCj4gLSAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFs IFB1YmxpYyBMaWNlbnNlIGFzCj4gLSAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBG b3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mCj4gLSAqIHRoZSBMaWNlbnNlLCBvciAoYXQg eW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0g aXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKPiAtICog YnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFu dHkgb2YKPiAtICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQ VVJQT1NFLiAgU2VlIHRoZQo+IC0gKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9y ZSBkZXRhaWxzLgo+IC0gKgo+IC0gKi8KPiArLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQ TC0yLjAtb3ItbGF0ZXIKPiArLy8gU1BEWC1GaWxlQ29weXJpZ2h0VGV4dDogwqkgMjAxNSBXYWRp bSBFZ29yb3YsIFBIWVRFQyBNZXNzdGVjaG5payBHbWJICj4gIAo+ICAjaWZuZGVmIF9fUkFNX1RJ TUlOR1NfSAo+ICAjZGVmaW5lIF9fUkFNX1RJTUlOR1NfSAo+IGRpZmYgLS1naXQgYS9hcmNoL2Fy bS9ib2FyZHMvcGh5dGVjLXNvbS1pbXg2L2JvYXJkLmMgYi9hcmNoL2FybS9ib2FyZHMvcGh5dGVj LXNvbS1pbXg2L2JvYXJkLmMKPiBpbmRleCAyN2ExYWQ0ZjY2NzQuLmYwMGIxZTQyNWFjZSAxMDA2 NDQKPiAtLS0gYS9hcmNoL2FybS9ib2FyZHMvcGh5dGVjLXNvbS1pbXg2L2JvYXJkLmMKPiArKysg Yi9hcmNoL2FybS9ib2FyZHMvcGh5dGVjLXNvbS1pbXg2L2JvYXJkLmMKPiBAQCAtMSwyMyArMSw5 IEBACj4gLS8qCj4gLSAqIENvcHlyaWdodCAoQykgMjAxMyBTYXNjaGEgSGF1ZXIsIFBlbmd1dHJv bml4Cj4gLSAqIENvcHlyaWdodCAoQykgMjAxNSBQSFlURUMgTWVzc3RlY2huaWsgR21iSCwKPiAt ICogQXV0aG9yOiBTdGVmYW4gQ2hyaXN0IDxzLmNocmlzdEBwaHl0ZWMuZGU+Cj4gLSAqCj4gLSAq IFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBh bmQvb3IKPiAtICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwg UHVibGljIExpY2Vuc2UgYXMKPiAtICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZv dW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YKPiAtICogdGhlIExpY2Vuc2UsIG9yIChhdCB5 b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBp cyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAo+IC0gKiBi dXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50 eSBvZgo+IC0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBV UlBPU0UuICBTZWUgdGhlCj4gLSAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3Jl IGRldGFpbHMuCj4gLSAqCj4gLSAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2Yg dGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCj4gLSAqIGFsb25nIHdpdGggdGhpcyBwcm9n cmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCj4gLSAqIEZvdW5kYXRpb24u Cj4gLSAqCj4gLSAqLwo+ICsvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vci1s YXRlcgo+ICsvLyBTUERYLUZpbGVDb3B5cmlnaHRUZXh0OiDCqSAyMDEzIFNhc2NoYSBIYXVlciwg UGVuZ3V0cm9uaXgKPiArLy8gU1BEWC1GaWxlQ29weXJpZ2h0VGV4dDogwqkgMjAxNSBQSFlURUMg TWVzc3RlY2huaWsgR21iSAo+ICsKPiArLyogQXV0aG9yOiBTdGVmYW4gQ2hyaXN0IDxzLmNocmlz dEBwaHl0ZWMuZGU+ICovCj4gKwo+ICAjZGVmaW5lIHByX2ZtdChmbXQpICJwaHlTT00taS5NWDY6 ICIgZm10Cj4gIAo+ICAjaW5jbHVkZSA8bWFsbG9jLmg+Cj4gZGlmZiAtLWdpdCBhL2FyY2gvYXJt L2JvYXJkcy9waHl0ZWMtc29tLWlteDYvbG93bGV2ZWwuYyBiL2FyY2gvYXJtL2JvYXJkcy9waHl0 ZWMtc29tLWlteDYvbG93bGV2ZWwuYwo+IGluZGV4IDJlMzhiYWE0NWQ5Yi4uODlhNGFhZjhmMWJm IDEwMDY0NAo+IC0tLSBhL2FyY2gvYXJtL2JvYXJkcy9waHl0ZWMtc29tLWlteDYvbG93bGV2ZWwu Ywo+ICsrKyBiL2FyY2gvYXJtL2JvYXJkcy9waHl0ZWMtc29tLWlteDYvbG93bGV2ZWwuYwo+IEBA IC0xLDE4ICsxLDkgQEAKPiArLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb3It bGF0ZXIKPiArLy8gU1BEWC1GaWxlQ29weXJpZ2h0VGV4dDogwqkgMjAxMyBTYXNjaGEgSGF1ZXIg PHMuaGF1ZXJAcGVuZ3V0cm9uaXguZGU+Cj4gKy8vIFNQRFgtRmlsZUNvcHlyaWdodFRleHQ6IMKp IDIwMTUgUEhZVEVDIE1lc3N0ZWNobmlrIEdtYkgKPiArCj4gIC8qCj4gLSAqIENvcHlyaWdodCAo QykgMjAxMyBTYXNjaGEgSGF1ZXIgPHMuaGF1ZXJAcGVuZ3V0cm9uaXguZGU+Cj4gLSAqIENvcHly aWdodCAoQykgMjAxNSBQSFlURUMgTWVzc3RlY2huaWsgR21iSCwKPiAgICogQXV0aG9yOiBTdGVm YW4gQ2hyaXN0IDxzLmNocmlzdEBwaHl0ZWMuZGU+Cj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBp cyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKPiAtICogbW9k aWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2Ug YXMKPiAtICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhl ciB2ZXJzaW9uIDIgb2YKPiAtICogdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55 IGxhdGVyIHZlcnNpb24uCj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBp biB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAo+IC0gKiBidXQgV0lUSE9VVCBBTlkg V0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgo+IC0gKiBNRVJD SEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhl Cj4gLSAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCj4gLSAq Cj4gICAqLwo+ICAjaW5jbHVkZSA8ZGVidWdfbGwuaD4KPiAgI2luY2x1ZGUgPGNvbW1vbi5oPgo+ IGRpZmYgLS1naXQgYS9hcmNoL2FybS9ib2FyZHMvcGh5dGVjLXNvbS1yazMyODgvYm9hcmQuYyBi L2FyY2gvYXJtL2JvYXJkcy9waHl0ZWMtc29tLXJrMzI4OC9ib2FyZC5jCj4gaW5kZXggOGVhNmM2 YzQ3Yzg4Li5kMWI4MTk5MWZjOWYgMTAwNjQ0Cj4gLS0tIGEvYXJjaC9hcm0vYm9hcmRzL3BoeXRl Yy1zb20tcmszMjg4L2JvYXJkLmMKPiArKysgYi9hcmNoL2FybS9ib2FyZHMvcGh5dGVjLXNvbS1y azMyODgvYm9hcmQuYwo+IEBAIC0xLDE3ICsxLDEwIEBACj4gKy8vIFNQRFgtTGljZW5zZS1JZGVu dGlmaWVyOiBHUEwtMi4wLW9ubHkKPiArLy8gU1BEWC1GaWxlQ29weXJpZ2h0VGV4dDogwqkgMjAx NiBQSFlURUMgTWVzc3RlY2huaWsgR21iSAo+ICsKPiAgLyoKPiAtICogQ29weXJpZ2h0IChDKSAy MDE2IFBIWVRFQyBNZXNzdGVjaG5payBHbWJILAo+ICAgKiBBdXRob3I6IFdhZGltIEVnb3JvdiA8 dy5lZ29yb3ZAcGh5dGVjLmRlPgo+ICAgKgo+ICAgKiBEZXZpY2UgaW5pdGlhbGl6YXRpb24gZm9y IHRoZSBwaHlDT1JFLVJLMzI4OCBTb00KPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGZyZWUg c29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgo+IC0gKiBtb2RpZnkgaXQg dW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQo+IC0gKiB2 ZXJzaW9uIDIgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCj4g LSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0 IHdpbGwgYmUgdXNlZnVsLAo+IC0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQg ZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgo+IC0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklU TkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCj4gLSAqIEdOVSBHZW5lcmFs IFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCj4gICAqLwo+ICAKPiAgI2luY2x1ZGUg PGNvbW1vbi5oPgo+IGRpZmYgLS1naXQgYS9hcmNoL2FybS9ib2FyZHMvcGh5dGVjLXNvbS1yazMy ODgvbG93bGV2ZWwuYyBiL2FyY2gvYXJtL2JvYXJkcy9waHl0ZWMtc29tLXJrMzI4OC9sb3dsZXZl bC5jCj4gaW5kZXggOWRlZjgwZGRiOGRlLi4zZWYyYmE3N2NmYTQgMTAwNjQ0Cj4gLS0tIGEvYXJj aC9hcm0vYm9hcmRzL3BoeXRlYy1zb20tcmszMjg4L2xvd2xldmVsLmMKPiArKysgYi9hcmNoL2Fy bS9ib2FyZHMvcGh5dGVjLXNvbS1yazMyODgvbG93bGV2ZWwuYwo+IEBAIC0xLDE2ICsxLDcgQEAK PiAtLyoKPiAtICogQ29weXJpZ2h0IChDKSAyMDE2IFBIWVRFQyBNZXNzdGVjaG5payBHbWJILAo+ IC0gKiBBdXRob3I6IFdhZGltIEVnb3JvdiA8dy5lZ29yb3ZAcGh5dGVjLmRlPgo+IC0gKgo+IC0g KiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQg YW5kL29yCj4gLSAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFs IFB1YmxpYyBMaWNlbnNlCj4gLSAqIHZlcnNpb24gMiBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUg U29mdHdhcmUgRm91bmRhdGlvbi4KPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1 dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCj4gLSAqIGJ1dCBXSVRIT1VU IEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCj4gLSAq IE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNl ZSB0aGUKPiAtICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4K PiAtICovCj4gKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9ubHkKPiArLy8g U1BEWC1GaWxlQ29weXJpZ2h0VGV4dDogwqkgMjAxNiBQSFlURUMgTWVzc3RlY2huaWsgR21iSAo+ ICsKPiArLyogQXV0aG9yOiBXYWRpbSBFZ29yb3YgPHcuZWdvcm92QHBoeXRlYy5kZT4gKi8KPiAg Cj4gICNpbmNsdWRlIDxjb21tb24uaD4KPiAgI2luY2x1ZGUgPGxpbnV4L3NpemVzLmg+Cj4gZGlm ZiAtLWdpdCBhL2FyY2gvYXJtL2JvYXJkcy9wbGF0aG9tZS1vcGVuYmxvY2tzLWE2L2xvd2xldmVs LmMgYi9hcmNoL2FybS9ib2FyZHMvcGxhdGhvbWUtb3BlbmJsb2Nrcy1hNi9sb3dsZXZlbC5jCj4g aW5kZXggMzFhMjhjODkxNjc3Li5hNDgwYzk2NmE0ZmIgMTAwNjQ0Cj4gLS0tIGEvYXJjaC9hcm0v Ym9hcmRzL3BsYXRob21lLW9wZW5ibG9ja3MtYTYvbG93bGV2ZWwuYwo+ICsrKyBiL2FyY2gvYXJt L2JvYXJkcy9wbGF0aG9tZS1vcGVuYmxvY2tzLWE2L2xvd2xldmVsLmMKPiBAQCAtMSwxNSArMSw0 IEBACj4gLS8qCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJl ZGlzdHJpYnV0ZSBpdCBhbmQvb3IKPiAtICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0 aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMKPiAtICogcHVibGlzaGVkIGJ5IHRoZSBG cmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YKPiAtICogdGhlIExp Y2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCj4gLSAqCj4gLSAq IFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUg dXNlZnVsLAo+IC0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUg aW1wbGllZCB3YXJyYW50eSBvZgo+IC0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1Ig QSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCj4gLSAqIEdOVSBHZW5lcmFsIFB1YmxpYyBM aWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCj4gLSAqCj4gLSAqLwo+ICsvLyBTUERYLUxpY2Vuc2Ut SWRlbnRpZmllcjogR1BMLTIuMC1vci1sYXRlcgo+ICAKPiAgI2luY2x1ZGUgPGNvbW1vbi5oPgo+ ICAjaW5jbHVkZSA8bGludXgvc2l6ZXMuaD4KPiBkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vYm9hcmRz L3BsYXRob21lLW9wZW5ibG9ja3MtYXgzL2JvYXJkLmMgYi9hcmNoL2FybS9ib2FyZHMvcGxhdGhv bWUtb3BlbmJsb2Nrcy1heDMvYm9hcmQuYwo+IGluZGV4IDljODAwYzU0MTBkNS4uNGMxMDE0ODc1 OWRjIDEwMDY0NAo+IC0tLSBhL2FyY2gvYXJtL2JvYXJkcy9wbGF0aG9tZS1vcGVuYmxvY2tzLWF4 My9ib2FyZC5jCj4gKysrIGIvYXJjaC9hcm0vYm9hcmRzL3BsYXRob21lLW9wZW5ibG9ja3MtYXgz L2JvYXJkLmMKPiBAQCAtMSwxNyArMSw0IEBACj4gLS8qCj4gLSAqIENvcHlyaWdodAo+IC0gKiAo QykgMjAxMyBUaG9tYXMgUGV0YXp6b25pIDx0aG9tYXMucGV0YXp6b25pQGZyZWUtZWxlY3Ryb25z LmNvbT4KPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4g cmVkaXN0cmlidXRlIGl0IGFuZC9vcgo+IC0gKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9m IHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcwo+IC0gKiBwdWJsaXNoZWQgYnkgdGhl IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZgo+IC0gKiB0aGUg TGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KPiAtICoKPiAt ICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBi ZSB1c2VmdWwsCj4gLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRo ZSBpbXBsaWVkIHdhcnJhbnR5IG9mCj4gLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZP UiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKPiAtICogR05VIEdlbmVyYWwgUHVibGlj IExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KPiAtICoKPiAtICovCj4gKy8vIFNQRFgtTGljZW5z ZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9yLWxhdGVyCj4gKy8vIFNQRFgtRmlsZUNvcHlyaWdodFRl eHQ6IMKpIDIwMTMgVGhvbWFzIFBldGF6em9uaSA8dGhvbWFzLnBldGF6em9uaUBmcmVlLWVsZWN0 cm9ucy5jb20+Cj4gIAo+ICAvKiBlbXB0eSAqLwo+IGRpZmYgLS1naXQgYS9hcmNoL2FybS9ib2Fy ZHMvcGxhdGhvbWUtb3BlbmJsb2Nrcy1heDMvbG93bGV2ZWwuYyBiL2FyY2gvYXJtL2JvYXJkcy9w bGF0aG9tZS1vcGVuYmxvY2tzLWF4My9sb3dsZXZlbC5jCj4gaW5kZXggZjAyOWJkMWJhNjU1Li5l M2I4ZDA1OWE0NzMgMTAwNjQ0Cj4gLS0tIGEvYXJjaC9hcm0vYm9hcmRzL3BsYXRob21lLW9wZW5i bG9ja3MtYXgzL2xvd2xldmVsLmMKPiArKysgYi9hcmNoL2FybS9ib2FyZHMvcGxhdGhvbWUtb3Bl bmJsb2Nrcy1heDMvbG93bGV2ZWwuYwo+IEBAIC0xLDE4ICsxLDUgQEAKPiAtLyoKPiAtICogQ29w eXJpZ2h0IChDKSAyMDE0Cj4gLSAqICBTZWJhc3RpYW4gSGVzc2VsYmFydGggPHNlYmFzdGlhbi5o ZXNzZWxiYXJ0aEBnbWFpbC5jb20+Cj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNv ZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKPiAtICogbW9kaWZ5IGl0IHVu ZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMKPiAtICog cHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9u IDIgb2YKPiAtICogdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZl cnNpb24uCj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9w ZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAo+IC0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7 IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgo+IC0gKiBNRVJDSEFOVEFCSUxJ VFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCj4gLSAqIEdO VSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCj4gLSAqCj4gLSAqLwo+ ICsvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vci1sYXRlcgo+ICsvLyBTUERY LUZpbGVDb3B5cmlnaHRUZXh0OiDCqSAyMDE0IFNlYmFzdGlhbiBIZXNzZWxiYXJ0aCA8c2ViYXN0 aWFuLmhlc3NlbGJhcnRoQGdtYWlsLmNvbT4KPiAgCj4gICNpbmNsdWRlIDxjb21tb24uaD4KPiAg I2luY2x1ZGUgPGxpbnV4L3NpemVzLmg+Cj4gZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2JvYXJkcy9w bTkyNjEvaW5pdC5jIGIvYXJjaC9hcm0vYm9hcmRzL3BtOTI2MS9pbml0LmMKPiBpbmRleCAzM2My YTU0MmIyZGIuLjU0MmNmYmI3ZjhhNyAxMDA2NDQKPiAtLS0gYS9hcmNoL2FybS9ib2FyZHMvcG05 MjYxL2luaXQuYwo+ICsrKyBiL2FyY2gvYXJtL2JvYXJkcy9wbTkyNjEvaW5pdC5jCj4gQEAgLTEs MjAgKzEsNiBAQAo+IC0vKgo+IC0gKiBDb3B5cmlnaHQgKEMpIDIwMDktMjAxMiBKZWFuLUNocmlz dG9waGUgUExBR05JT0wtVklMTEFSRCA8cGxhZ25pb0BqY3Jvc29mdC5jb20+Cj4gLSAqCj4gLSAq IENvcHlyaWdodCAoQykgMjAwNyBTYXNjaGEgSGF1ZXIsIFBlbmd1dHJvbml4Cj4gLSAqCj4gLSAq IFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBh bmQvb3IKPiAtICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwg UHVibGljIExpY2Vuc2UgYXMKPiAtICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZv dW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YKPiAtICogdGhlIExpY2Vuc2UsIG9yIChhdCB5 b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBp cyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAo+IC0gKiBi dXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50 eSBvZgo+IC0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBV UlBPU0UuICBTZWUgdGhlCj4gLSAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3Jl IGRldGFpbHMuCj4gLSAqCj4gLSAqCj4gLSAqLwo+ICsvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmll cjogR1BMLTIuMC1vci1sYXRlcgo+ICsvLyBTUERYLUZpbGVDb3B5cmlnaHRUZXh0OiDCqSAyMDA5 LTIwMTIgSmVhbi1DaHJpc3RvcGhlIFBMQUdOSU9MLVZJTExBUkQgPHBsYWduaW9AamNyb3NvZnQu Y29tPgo+ICsvLyBTUERYLUZpbGVDb3B5cmlnaHRUZXh0OiDCqSAyMDA3IFNhc2NoYSBIYXVlciwg UGVuZ3V0cm9uaXgKPiAgCj4gICNpbmNsdWRlIDxjb21tb24uaD4KPiAgI2luY2x1ZGUgPG5ldC5o Pgo+IGRpZmYgLS1naXQgYS9hcmNoL2FybS9ib2FyZHMvcG05MjYzL2luaXQuYyBiL2FyY2gvYXJt L2JvYXJkcy9wbTkyNjMvaW5pdC5jCj4gaW5kZXggMzBiM2QyNmZiZjY1Li42M2I0N2U5ZjljMjQg MTAwNjQ0Cj4gLS0tIGEvYXJjaC9hcm0vYm9hcmRzL3BtOTI2My9pbml0LmMKPiArKysgYi9hcmNo L2FybS9ib2FyZHMvcG05MjYzL2luaXQuYwo+IEBAIC0xLDIwICsxLDYgQEAKPiAtLyoKPiAtICog Q29weXJpZ2h0IChDKSAyMDA5LTIwMTIgSmVhbi1DaHJpc3RvcGhlIFBMQUdOSU9MLVZJTExBUkQg PHBsYWduaW9AamNyb3NvZnQuY29tPgo+IC0gKgo+IC0gKiBDb3B5cmlnaHQgKEMpIDIwMDcgU2Fz Y2hhIEhhdWVyLCBQZW5ndXRyb25peAo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBz b2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCj4gLSAqIG1vZGlmeSBpdCB1 bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzCj4gLSAq IHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lv biAyIG9mCj4gLSAqIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2 ZXJzaW9uLgo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhv cGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKPiAtICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZ OyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKPiAtICogTUVSQ0hBTlRBQklM SVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQo+IC0gKiBH TlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgo+IC0gKgo+IC0gKgo+ IC0gKi8KPiArLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb3ItbGF0ZXIKPiAr Ly8gU1BEWC1GaWxlQ29weXJpZ2h0VGV4dDogwqkgMjAwOS0yMDEyIEplYW4tQ2hyaXN0b3BoZSBQ TEFHTklPTC1WSUxMQVJEIDxwbGFnbmlvQGpjcm9zb2Z0LmNvbT4KPiArLy8gU1BEWC1GaWxlQ29w eXJpZ2h0VGV4dDogwqkgMjAwNyBTYXNjaGEgSGF1ZXIsIFBlbmd1dHJvbml4Cj4gIAo+ICAjaW5j bHVkZSA8Y29tbW9uLmg+Cj4gICNpbmNsdWRlIDxuZXQuaD4KPiBkaWZmIC0tZ2l0IGEvYXJjaC9h cm0vYm9hcmRzL3BtOWc0NS9pbml0LmMgYi9hcmNoL2FybS9ib2FyZHMvcG05ZzQ1L2luaXQuYwo+ IGluZGV4IDA1NjU2NTdhOGM0OS4uZmU3YjY5MmMzZjllIDEwMDY0NAo+IC0tLSBhL2FyY2gvYXJt L2JvYXJkcy9wbTlnNDUvaW5pdC5jCj4gKysrIGIvYXJjaC9hcm0vYm9hcmRzL3BtOWc0NS9pbml0 LmMKPiBAQCAtMSwyMCArMSw2IEBACj4gLS8qCj4gLSAqIENvcHlyaWdodCAoQykgMjAwOS0yMDEy IEplYW4tQ2hyaXN0b3BoZSBQTEFHTklPTC1WSUxMQVJEIDxwbGFnbmlvQGpjcm9zb2Z0LmNvbT4K PiAtICoKPiAtICogQ29weXJpZ2h0IChDKSAyMDA3IFNhc2NoYSBIYXVlciwgUGVuZ3V0cm9uaXgK PiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0 cmlidXRlIGl0IGFuZC9vcgo+IC0gKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBH TlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcwo+IC0gKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUg U29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZgo+IC0gKiB0aGUgTGljZW5z ZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KPiAtICoKPiAtICogVGhp cyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2Vm dWwsCj4gLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBs aWVkIHdhcnJhbnR5IG9mCj4gLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBB UlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKPiAtICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vu c2UgZm9yIG1vcmUgZGV0YWlscy4KPiAtICoKPiAtICoKPiAtICovCj4gKy8vIFNQRFgtTGljZW5z ZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9yLWxhdGVyCj4gKy8vIFNQRFgtRmlsZUNvcHlyaWdodFRl eHQ6IMKpIDIwMDktMjAxMiBKZWFuLUNocmlzdG9waGUgUExBR05JT0wtVklMTEFSRCA8cGxhZ25p b0BqY3Jvc29mdC5jb20+Cj4gKy8vIFNQRFgtRmlsZUNvcHlyaWdodFRleHQ6IMKpIDIwMDcgU2Fz Y2hhIEhhdWVyLCBQZW5ndXRyb25peAo+ICAKPiAgI2luY2x1ZGUgPGNvbW1vbi5oPgo+ICAjaW5j bHVkZSA8bmV0Lmg+Cj4gZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2JvYXJkcy9yYWR4YS1yb2NrL2Jv YXJkLmMgYi9hcmNoL2FybS9ib2FyZHMvcmFkeGEtcm9jay9ib2FyZC5jCj4gaW5kZXggZDQ1ZThh OWM1MjRjLi45YTk0ODQzNWZhNjMgMTAwNjQ0Cj4gLS0tIGEvYXJjaC9hcm0vYm9hcmRzL3JhZHhh LXJvY2svYm9hcmQuYwo+ICsrKyBiL2FyY2gvYXJtL2JvYXJkcy9yYWR4YS1yb2NrL2JvYXJkLmMK PiBAQCAtMSwxNSArMSw1IEBACj4gLS8qCj4gLSAqIENvcHlyaWdodCAoQykgMjAxNCBCZW5pYW1p bm8gR2FsdmFuaSA8Yi5nYWx2YW5pQGdtYWlsLmNvbT4KPiAtICoKPiAtICogVGhpcyBwcm9ncmFt IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgo+IC0gKiBt b2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5z ZQo+IC0gKiB2ZXJzaW9uIDIgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5k YXRpb24uCj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9w ZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAo+IC0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7 IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgo+IC0gKiBNRVJDSEFOVEFCSUxJ VFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCj4gLSAqIEdO VSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCj4gLSAqLwo+ICsvLyBT UERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vbmx5Cj4gKy8vIFNQRFgtRmlsZUNvcHly aWdodFRleHQ6IMKpIDIwMTQgQmVuaWFtaW5vIEdhbHZhbmkgPGIuZ2FsdmFuaUBnbWFpbC5jb20+ Cj4gIAo+ICAjaW5jbHVkZSA8Y29tbW9uLmg+Cj4gICNpbmNsdWRlIDxpbml0Lmg+Cj4gZGlmZiAt LWdpdCBhL2FyY2gvYXJtL2JvYXJkcy9yYWR4YS1yb2NrL2xvd2xldmVsLmMgYi9hcmNoL2FybS9i b2FyZHMvcmFkeGEtcm9jay9sb3dsZXZlbC5jCj4gaW5kZXggNjExZGM5MzhjZjU0Li45MmJiN2Yz NGQ5NjYgMTAwNjQ0Cj4gLS0tIGEvYXJjaC9hcm0vYm9hcmRzL3JhZHhhLXJvY2svbG93bGV2ZWwu Ywo+ICsrKyBiL2FyY2gvYXJtL2JvYXJkcy9yYWR4YS1yb2NrL2xvd2xldmVsLmMKPiBAQCAtMSwx NSArMSw1IEBACj4gLS8qCj4gLSAqIENvcHlyaWdodCAoQykgMjAxNCBCZW5pYW1pbm8gR2FsdmFu aSA8Yi5nYWx2YW5pQGdtYWlsLmNvbT4KPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGZyZWUg c29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgo+IC0gKiBtb2RpZnkgaXQg dW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQo+IC0gKiB2 ZXJzaW9uIDIgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCj4g LSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0 IHdpbGwgYmUgdXNlZnVsLAo+IC0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQg ZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgo+IC0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklU TkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCj4gLSAqIEdOVSBHZW5lcmFs IFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCj4gLSAqLwo+ICsvLyBTUERYLUxpY2Vu c2UtSWRlbnRpZmllcjogR1BMLTIuMC1vbmx5Cj4gKy8vIFNQRFgtRmlsZUNvcHlyaWdodFRleHQ6 IMKpIDIwMTQgQmVuaWFtaW5vIEdhbHZhbmkgPGIuZ2FsdmFuaUBnbWFpbC5jb20+Cj4gIAo+ICAj aW5jbHVkZSA8Y29tbW9uLmg+Cj4gICNpbmNsdWRlIDxsaW51eC9zaXplcy5oPgo+IGRpZmYgLS1n aXQgYS9hcmNoL2FybS9ib2FyZHMvcmFzcGJlcnJ5LXBpL3JwaS1jb21tb24uYyBiL2FyY2gvYXJt L2JvYXJkcy9yYXNwYmVycnktcGkvcnBpLWNvbW1vbi5jCj4gaW5kZXggNDU5NjFiNTJlZWFhLi4y Yjc1YzIwMzJlODQgMTAwNjQ0Cj4gLS0tIGEvYXJjaC9hcm0vYm9hcmRzL3Jhc3BiZXJyeS1waS9y cGktY29tbW9uLmMKPiArKysgYi9hcmNoL2FybS9ib2FyZHMvcmFzcGJlcnJ5LXBpL3JwaS1jb21t b24uYwo+IEBAIC0xLDE3ICsxLDUgQEAKPiAtLyoKPiAtICogQ29weXJpZ2h0IChDKSAyMDA5IENh cmxvIENhaW9uZSA8Y2FybG9AY2FybG9jYWlvbmUub3JnPgo+IC0gKgo+IC0gKiBUaGlzIHByb2dy YW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCj4gLSAq IG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNl bnNlIGFzCj4gLSAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBl aXRoZXIgdmVyc2lvbiAyIG9mCj4gLSAqIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24p IGFueSBsYXRlciB2ZXJzaW9uLgo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0 ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKPiAtICogYnV0IFdJVEhPVVQg QU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKPiAtICog TUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2Vl IHRoZQo+IC0gKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgo+ IC0gKgo+IC0gKi8KPiArLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb3ItbGF0 ZXIKPiArLy8gU1BEWC1GaWxlQ29weXJpZ2h0VGV4dDogwqkgMjAwOSBDYXJsbyBDYWlvbmUgPGNh cmxvQGNhcmxvY2Fpb25lLm9yZz4KPiAgCj4gICNpbmNsdWRlIDxjb21tb24uaD4KPiAgI2luY2x1 ZGUgPGluaXQuaD4KPiBkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vYm9hcmRzL3NhbWE1ZDNfeHBsYWlu ZWQvaW5pdC5jIGIvYXJjaC9hcm0vYm9hcmRzL3NhbWE1ZDNfeHBsYWluZWQvaW5pdC5jCj4gaW5k ZXggMjQzM2UyNWYxNmE5Li42MWQ0YmYzNjYwN2QgMTAwNjQ0Cj4gLS0tIGEvYXJjaC9hcm0vYm9h cmRzL3NhbWE1ZDNfeHBsYWluZWQvaW5pdC5jCj4gKysrIGIvYXJjaC9hcm0vYm9hcmRzL3NhbWE1 ZDNfeHBsYWluZWQvaW5pdC5jCj4gQEAgLTEsMTYgKzEsNSBAQAo+IC0vKgo+IC0gKiBDb3B5cmln aHQgKEMpIDIwMTQgQm8gU2hlbiA8dm9pY2Uuc2hlbkBnbWFpbC5jb20+Cj4gLSAqCj4gLSAqIFRo aXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQv b3IKPiAtICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVi bGljIExpY2Vuc2UgYXMKPiAtICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5k YXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YKPiAtICogdGhlIExpY2Vuc2UsIG9yIChhdCB5b3Vy IG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBk aXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAo+IC0gKiBidXQg V0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBv Zgo+IC0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP U0UuICBTZWUgdGhlCj4gLSAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRl dGFpbHMuCj4gLSAqLwo+ICsvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vci1s YXRlcgo+ICsvLyBTUERYLUZpbGVDb3B5cmlnaHRUZXh0OiDCqSAyMDE0IEJvIFNoZW4gPHZvaWNl LnNoZW5AZ21haWwuY29tPgo+ICAKPiAgI2luY2x1ZGUgPGNvbW1vbi5oPgo+ICAjaW5jbHVkZSA8 bmV0Lmg+Cj4gZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2JvYXJkcy9zYW1hNWQzeGVrL2h3X3ZlcnNp b24uYyBiL2FyY2gvYXJtL2JvYXJkcy9zYW1hNWQzeGVrL2h3X3ZlcnNpb24uYwo+IGluZGV4IGU1 MDc3ODU0ZTNlOS4uZjQ1ZmY3NjZiOTNkIDEwMDY0NAo+IC0tLSBhL2FyY2gvYXJtL2JvYXJkcy9z YW1hNWQzeGVrL2h3X3ZlcnNpb24uYwo+ICsrKyBiL2FyY2gvYXJtL2JvYXJkcy9zYW1hNWQzeGVr L2h3X3ZlcnNpb24uYwo+IEBAIC0xLDE4ICsxLDUgQEAKPiAtLyoKPiAtICogQ29weXJpZ2h0IChD KSAyMDEyIEplYW4tQ2hyaXN0b3BoZSBQTEFHTklPTC1WSUxMQVJEIDxwbGFnbmlvakBqY3Jvc29m dC5jb20+Cj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2Fu IHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKPiAtICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBv ZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMKPiAtICogcHVibGlzaGVkIGJ5IHRo ZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YKPiAtICogdGhl IExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCj4gLSAqCj4g LSAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwg YmUgdXNlZnVsLAo+IC0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0 aGUgaW1wbGllZCB3YXJyYW50eSBvZgo+IC0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBG T1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCj4gLSAqIEdOVSBHZW5lcmFsIFB1Ymxp YyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCj4gLSAqCj4gLSAqCj4gLSAqLwo+ICsvLyBTUERY LUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vci1sYXRlcgo+ICsvLyBTUERYLUZpbGVDb3B5 cmlnaHRUZXh0OiDCqSAyMDEyIEplYW4tQ2hyaXN0b3BoZSBQTEFHTklPTC1WSUxMQVJEIDxwbGFn bmlvakBqY3Jvc29mdC5jb20+Cj4gIAo+ICAjaW5jbHVkZSA8Y29tbW9uLmg+Cj4gICNpbmNsdWRl IDxmcy5oPgo+IGRpZmYgLS1naXQgYS9hcmNoL2FybS9ib2FyZHMvc2FtYTVkM3hlay9od192ZXJz aW9uLmggYi9hcmNoL2FybS9ib2FyZHMvc2FtYTVkM3hlay9od192ZXJzaW9uLmgKPiBpbmRleCBl ZDllYTg4ZDQyMTQuLjgzYmYwNGEwOTY5ZCAxMDA2NDQKPiAtLS0gYS9hcmNoL2FybS9ib2FyZHMv c2FtYTVkM3hlay9od192ZXJzaW9uLmgKPiArKysgYi9hcmNoL2FybS9ib2FyZHMvc2FtYTVkM3hl ay9od192ZXJzaW9uLmgKPiBAQCAtMSwxOCArMSw1IEBACj4gLS8qCj4gLSAqIENvcHlyaWdodCAo QykgMjAxMiBKZWFuLUNocmlzdG9waGUgUExBR05JT0wtVklMTEFSRCA8cGxhZ25pb2pAamNyb3Nv ZnQuY29tPgo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNh biByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCj4gLSAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMg b2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzCj4gLSAqIHB1Ymxpc2hlZCBieSB0 aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mCj4gLSAqIHRo ZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgo+IC0gKgo+ IC0gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxs IGJlIHVzZWZ1bCwKPiAtICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4g dGhlIGltcGxpZWQgd2FycmFudHkgb2YKPiAtICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1Mg Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQo+IC0gKiBHTlUgR2VuZXJhbCBQdWJs aWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgo+IC0gKgo+IC0gKgo+IC0gKi8KPiArLy8gU1BE WC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb3ItbGF0ZXIKPiArLy8gU1BEWC1GaWxlQ29w eXJpZ2h0VGV4dDogwqkgMjAxMiBKZWFuLUNocmlzdG9waGUgUExBR05JT0wtVklMTEFSRCA8cGxh Z25pb2pAamNyb3NvZnQuY29tPgo+ICAKPiAgI2lmbmRlZiBfX0hXX1JFVklTSU9OX0hfXwo+ICAj ZGVmaW5lIF9fSFdfUkVWSVNJT05fSF9fCj4gZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2JvYXJkcy9z YW1hNWQzeGVrL2luaXQuYyBiL2FyY2gvYXJtL2JvYXJkcy9zYW1hNWQzeGVrL2luaXQuYwo+IGlu ZGV4IGM3NjhlOThkMjZhYS4uNzE5OGU3NjRjY2YzIDEwMDY0NAo+IC0tLSBhL2FyY2gvYXJtL2Jv YXJkcy9zYW1hNWQzeGVrL2luaXQuYwo+ICsrKyBiL2FyY2gvYXJtL2JvYXJkcy9zYW1hNWQzeGVr L2luaXQuYwo+IEBAIC0xLDE4ICsxLDUgQEAKPiAtLyoKPiAtICogQ29weXJpZ2h0IChDKSAyMDEy IEplYW4tQ2hyaXN0b3BoZSBQTEFHTklPTC1WSUxMQVJEIDxwbGFnbmlvakBqY3Jvc29mdC5jb20+ Cj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlz dHJpYnV0ZSBpdCBhbmQvb3IKPiAtICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUg R05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMKPiAtICogcHVibGlzaGVkIGJ5IHRoZSBGcmVl IFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YKPiAtICogdGhlIExpY2Vu c2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCj4gLSAqCj4gLSAqIFRo aXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNl ZnVsLAo+IC0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1w bGllZCB3YXJyYW50eSBvZgo+IC0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQ QVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCj4gLSAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNl bnNlIGZvciBtb3JlIGRldGFpbHMuCj4gLSAqCj4gLSAqCj4gLSAqLwo+ICsvLyBTUERYLUxpY2Vu c2UtSWRlbnRpZmllcjogR1BMLTIuMC1vci1sYXRlcgo+ICsvLyBTUERYLUZpbGVDb3B5cmlnaHRU ZXh0OiDCqSAyMDEyIEplYW4tQ2hyaXN0b3BoZSBQTEFHTklPTC1WSUxMQVJEIDxwbGFnbmlvakBq Y3Jvc29mdC5jb20+Cj4gIAo+ICAjaW5jbHVkZSA8Y29tbW9uLmg+Cj4gICNpbmNsdWRlIDxuZXQu aD4KPiBkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vYm9hcmRzL3NjYjkzMjgvbG93bGV2ZWxfaW5pdC5T IGIvYXJjaC9hcm0vYm9hcmRzL3NjYjkzMjgvbG93bGV2ZWxfaW5pdC5TCj4gaW5kZXggZTIwZTNi OTJkYWY4Li44NTc0OGExYmMxNGIgMTAwNjQ0Cj4gLS0tIGEvYXJjaC9hcm0vYm9hcmRzL3NjYjkz MjgvbG93bGV2ZWxfaW5pdC5TCj4gKysrIGIvYXJjaC9hcm0vYm9hcmRzL3NjYjkzMjgvbG93bGV2 ZWxfaW5pdC5TCj4gQEAgLTEsMTYgKzEsNSBAQAo+IC0vKgo+IC0gKiBDb3B5cmlnaHQgKEMpIDIw MDQgU2FzY2hhIEhhdWVyLCBTeW5lcnRyb25peHggR21iSAo+IC0gKgo+IC0gKiBUaGlzIHByb2dy YW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCj4gLSAq IG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNl bnNlCj4gLSAqIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBl aXRoZXIgdmVyc2lvbiAyCj4gLSAqIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24p IGFueSBsYXRlciB2ZXJzaW9uLgo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0 ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKPiAtICogYnV0IFdJVEhPVVQg QU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKPiAtICog TUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2Vl IHRoZQo+IC0gKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgo+ IC0gKi8KPiArLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb3ItbGF0ZXIKPiAr Ly8gU1BEWC1GaWxlQ29weXJpZ2h0VGV4dDogwqkgMjAwNCBTYXNjaGEgSGF1ZXIsIFN5bmVydHJv bml4eCBHbWJICj4gIAo+ICAjaW5jbHVkZSA8bWFjaC9pbXgxLXJlZ3MuaD4KPiAgI2luY2x1ZGUg PGFzbS9iYXJlYm94LWFybS1oZWFkLmg+Cj4gZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2JvYXJkcy9z Y2I5MzI4L3NjYjkzMjguYyBiL2FyY2gvYXJtL2JvYXJkcy9zY2I5MzI4L3NjYjkzMjguYwo+IGlu ZGV4IDg3ZmI2YWZmYmRiYi4uNmI0NmU2YWJhZDU0IDEwMDY0NAo+IC0tLSBhL2FyY2gvYXJtL2Jv YXJkcy9zY2I5MzI4L3NjYjkzMjguYwo+ICsrKyBiL2FyY2gvYXJtL2JvYXJkcy9zY2I5MzI4L3Nj YjkzMjguYwo+IEBAIC0xLDE4ICsxLDUgQEAKPiAtLyoKPiAtICogQ29weXJpZ2h0IChDKSAyMDA0 IFNhc2NoYSBIYXVlciwgU3luZXJ0cm9uaXh4IEdtYkgKPiAtICoKPiAtICogVGhpcyBwcm9ncmFt IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgo+IC0gKiBt b2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5z ZSBhcwo+IC0gKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0 aGVyIHZlcnNpb24gMiBvZgo+IC0gKiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBh bnkgbGF0ZXIgdmVyc2lvbi4KPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVk IGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCj4gLSAqIGJ1dCBXSVRIT1VUIEFO WSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCj4gLSAqIE1F UkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0 aGUKPiAtICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KPiAt ICoKPiAtICoKPiAtICovCj4gKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9y LWxhdGVyCj4gKy8vIFNQRFgtRmlsZUNvcHlyaWdodFRleHQ6IMKpIDIwMDQgU2FzY2hhIEhhdWVy LCBTeW5lcnRyb25peHggR21iSAo+ICAKPiAgI2luY2x1ZGUgPGNvbW1vbi5oPgo+ICAjaW5jbHVk ZSA8bmV0Lmg+Cj4gZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2JvYXJkcy9zb2xpZHJ1bi1jdWJveC9i b2FyZC5jIGIvYXJjaC9hcm0vYm9hcmRzL3NvbGlkcnVuLWN1Ym94L2JvYXJkLmMKPiBpbmRleCBh YWM5M2FmYjBjODkuLmI0NTRmMGI1NGVlMiAxMDA2NDQKPiAtLS0gYS9hcmNoL2FybS9ib2FyZHMv c29saWRydW4tY3Vib3gvYm9hcmQuYwo+ICsrKyBiL2FyY2gvYXJtL2JvYXJkcy9zb2xpZHJ1bi1j dWJveC9ib2FyZC5jCj4gQEAgLTEsMTggKzEsNSBAQAo+IC0vKgo+IC0gKiBDb3B5cmlnaHQgKEMp IDIwMTMKPiAtICogIFNlYmFzdGlhbiBIZXNzZWxiYXJ0aCA8c2ViYXN0aWFuLmhlc3NlbGJhcnRo QGdtYWlsLmNvbT4KPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlv dSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgo+IC0gKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRl cm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcwo+IC0gKiBwdWJsaXNoZWQg YnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZgo+IC0g KiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KPiAt ICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQg d2lsbCBiZSB1c2VmdWwsCj4gLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBl dmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCj4gLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRO RVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKPiAtICogR05VIEdlbmVyYWwg UHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KPiAtICoKPiAtICovCj4gKy8vIFNQRFgt TGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9yLWxhdGVyCj4gKy8vIFNQRFgtRmlsZUNvcHly aWdodFRleHQ6IMKpIDIwMTMgU2ViYXN0aWFuIEhlc3NlbGJhcnRoIDxzZWJhc3RpYW4uaGVzc2Vs YmFydGhAZ21haWwuY29tPgo+ICAKPiAgI2luY2x1ZGUgPGNvbW1vbi5oPgo+ICAjaW5jbHVkZSA8 aW5pdC5oPgo+IGRpZmYgLS1naXQgYS9hcmNoL2FybS9ib2FyZHMvc29saWRydW4tY3Vib3gvbG93 bGV2ZWwuYyBiL2FyY2gvYXJtL2JvYXJkcy9zb2xpZHJ1bi1jdWJveC9sb3dsZXZlbC5jCj4gaW5k ZXggZWM2Mzk4NmIzODYwLi41MTlhYmNjMTVlMjkgMTAwNjQ0Cj4gLS0tIGEvYXJjaC9hcm0vYm9h cmRzL3NvbGlkcnVuLWN1Ym94L2xvd2xldmVsLmMKPiArKysgYi9hcmNoL2FybS9ib2FyZHMvc29s aWRydW4tY3Vib3gvbG93bGV2ZWwuYwo+IEBAIC0xLDE5ICsxLDYgQEAKPiAtLyoKPiAtICogQ29w eXJpZ2h0IChDKSAyMDEzCj4gLSAqICBUaG9tYXMgUGV0YXp6b25pIDx0aG9tYXMucGV0YXp6b25p QGZyZWUtZWxlY3Ryb25zLmNvbT4KPiAtICogIFNlYmFzdGlhbiBIZXNzZWxiYXJ0aCA8c2ViYXN0 aWFuLmhlc3NlbGJhcnRoQGdtYWlsLmNvbT4KPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGZy ZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgo+IC0gKiBtb2RpZnkg aXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcwo+ IC0gKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZl cnNpb24gMiBvZgo+IC0gKiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0 ZXIgdmVyc2lvbi4KPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRo ZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCj4gLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJS QU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCj4gLSAqIE1FUkNIQU5U QUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKPiAt ICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KPiAtICoKPiAt ICovCj4gKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9yLWxhdGVyCj4gKy8v IFNQRFgtRmlsZUNvcHlyaWdodFRleHQ6IMKpIDIwMTMgVGhvbWFzIFBldGF6em9uaSA8dGhvbWFz LnBldGF6em9uaUBmcmVlLWVsZWN0cm9ucy5jb20+Cj4gKy8vIFNQRFgtRmlsZUNvcHlyaWdodFRl eHQ6IMKpIDIwMTMgU2ViYXN0aWFuIEhlc3NlbGJhcnRoIDxzZWJhc3RpYW4uaGVzc2VsYmFydGhA Z21haWwuY29tPgo+ICAKPiAgI2luY2x1ZGUgPGNvbW1vbi5oPgo+ICAjaW5jbHVkZSA8bGludXgv c2l6ZXMuaD4KPiBkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vYm9hcmRzL3NvbGlkcnVuLW1pY3Jvc29t LzEwNjZtaHotNHgxMjhteDE2LmlteGNmZyBiL2FyY2gvYXJtL2JvYXJkcy9zb2xpZHJ1bi1taWNy b3NvbS8xMDY2bWh6LTR4MTI4bXgxNi5pbXhjZmcKPiBpbmRleCA0NTNkZTc0OTFhZDkuLmIzNmY5 Yjk3NDc5NSAxMDA2NDQKPiAtLS0gYS9hcmNoL2FybS9ib2FyZHMvc29saWRydW4tbWljcm9zb20v MTA2Nm1oei00eDEyOG14MTYuaW14Y2ZnCj4gKysrIGIvYXJjaC9hcm0vYm9hcmRzL3NvbGlkcnVu LW1pY3Jvc29tLzEwNjZtaHotNHgxMjhteDE2LmlteGNmZwo+IEBAIC0xLDE4ICsxLDcgQEAKPiAt LyoKPiAtICogQ29weXJpZ2h0IChDKSAyMDEzIEJvdW5kYXJ5IERldmljZXMKPiAtICogQ29weXJp Z2h0IChDKSAyMDEzIFNvbGlkUnVuIGx0ZC4KPiAtICogQ29weXJpZ2h0IChDKSAyMDEzIEpvbiBO ZXR0bGV0b24gPGpvbi5uZXR0bGV0b25AZ21haWwuY29tPgo+IC0gKgo+IC0gKiBUaGlzIHByb2dy YW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCj4gLSAq IG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNl bnNlIGFzCj4gLSAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBl aXRoZXIgdmVyc2lvbiAyIG9mCj4gLSAqIHRoZSBMaWNlbnNlIG9yIChhdCB5b3VyIG9wdGlvbikg YW55IGxhdGVyIHZlcnNpb24uCj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRl ZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAo+IC0gKiBidXQgV0lUSE9VVCBB TlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgo+IC0gKiBN RVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0 aGUKPiAtICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KPiAt ICovCj4gKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9yLWxhdGVyCj4gKy8v IFNQRFgtRmlsZUNvcHlyaWdodFRleHQ6IMKpIDIwMTMgQm91bmRhcnkgRGV2aWNlcwo+ICsvLyBT UERYLUZpbGVDb3B5cmlnaHRUZXh0OiDCqSAyMDEzIFNvbGlkUnVuIGx0ZC4KPiArLy8gU1BEWC1G aWxlQ29weXJpZ2h0VGV4dDogwqkgMjAxMyBKb24gTmV0dGxldG9uIDxqb24ubmV0dGxldG9uQGdt YWlsLmNvbT4KPiAgCj4gIHdtIDMyIE1YNl9NTURDX1AwX01QWlFIV0NUUkwgMHhhMTM5MDAwMwo+ ICB3bSAzMiBNWDZfTU1EQ19QMV9NUFpRSFdDVFJMIDB4YTEzOTAwMDMKPiBkaWZmIC0tZ2l0IGEv YXJjaC9hcm0vYm9hcmRzL3NvbGlkcnVuLW1pY3Jvc29tLzEwNjZtaHotNHgyNTZteDE2LmlteGNm ZyBiL2FyY2gvYXJtL2JvYXJkcy9zb2xpZHJ1bi1taWNyb3NvbS8xMDY2bWh6LTR4MjU2bXgxNi5p bXhjZmcKPiBpbmRleCAyOWVmMDk4N2NiNTguLmMwMzI1NTg4OTJiNSAxMDA2NDQKPiAtLS0gYS9h cmNoL2FybS9ib2FyZHMvc29saWRydW4tbWljcm9zb20vMTA2Nm1oei00eDI1Nm14MTYuaW14Y2Zn Cj4gKysrIGIvYXJjaC9hcm0vYm9hcmRzL3NvbGlkcnVuLW1pY3Jvc29tLzEwNjZtaHotNHgyNTZt eDE2LmlteGNmZwo+IEBAIC0xLDE4ICsxLDcgQEAKPiAtLyoKPiAtICogQ29weXJpZ2h0IChDKSAy MDEzIEJvdW5kYXJ5IERldmljZXMKPiAtICogQ29weXJpZ2h0IChDKSAyMDEzIFNvbGlkUnVuIGx0 ZC4KPiAtICogQ29weXJpZ2h0IChDKSAyMDEzIEpvbiBOZXR0bGV0b24gPGpvbi5uZXR0bGV0b25A Z21haWwuY29tPgo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91 IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCj4gLSAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVy bXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzCj4gLSAqIHB1Ymxpc2hlZCBi eSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mCj4gLSAq IHRoZSBMaWNlbnNlIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCj4gLSAq Cj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdp bGwgYmUgdXNlZnVsLAo+IC0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZl biB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgo+IC0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVT UyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUKPiAtICogR05VIEdlbmVyYWwgUHVi bGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KPiAtICovCj4gKy8vIFNQRFgtTGljZW5zZS1J ZGVudGlmaWVyOiBHUEwtMi4wLW9yLWxhdGVyCj4gKy8vIFNQRFgtRmlsZUNvcHlyaWdodFRleHQ6 IMKpIDIwMTMgQm91bmRhcnkgRGV2aWNlcwo+ICsvLyBTUERYLUZpbGVDb3B5cmlnaHRUZXh0OiDC qSAyMDEzIFNvbGlkUnVuIGx0ZC4KPiArLy8gU1BEWC1GaWxlQ29weXJpZ2h0VGV4dDogwqkgMjAx MyBKb24gTmV0dGxldG9uIDxqb24ubmV0dGxldG9uQGdtYWlsLmNvbT4KPiAgCj4gIHdtIDMyIE1Y Nl9NTURDX1AwX01QWlFIV0NUUkwgMHhhMTM5MDAwMwo+ICB3bSAzMiBNWDZfTU1EQ19QMV9NUFpR SFdDVFJMIDB4YTEzOTAwMDMKPiBkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vYm9hcmRzL3NvbGlkcnVu LW1pY3Jvc29tLzEwNjZtaHotNjRiLmlteGNmZyBiL2FyY2gvYXJtL2JvYXJkcy9zb2xpZHJ1bi1t aWNyb3NvbS8xMDY2bWh6LTY0Yi5pbXhjZmcKPiBpbmRleCA3M2RlNDlkMjdmYmMuLmZkODFhZDg0 N2Y3NSAxMDA2NDQKPiAtLS0gYS9hcmNoL2FybS9ib2FyZHMvc29saWRydW4tbWljcm9zb20vMTA2 Nm1oei02NGIuaW14Y2ZnCj4gKysrIGIvYXJjaC9hcm0vYm9hcmRzL3NvbGlkcnVuLW1pY3Jvc29t LzEwNjZtaHotNjRiLmlteGNmZwo+IEBAIC0xLDE4ICsxLDcgQEAKPiAtLyoKPiAtICogQ29weXJp Z2h0IChDKSAyMDEzIEJvdW5kYXJ5IERldmljZXMKPiAtICogQ29weXJpZ2h0IChDKSAyMDEzIFNv bGlkUnVuIGx0ZC4KPiAtICogQ29weXJpZ2h0IChDKSAyMDEzIEpvbiBOZXR0bGV0b24gPGpvbi5u ZXR0bGV0b25AZ21haWwuY29tPgo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0 d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCj4gLSAqIG1vZGlmeSBpdCB1bmRl ciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzCj4gLSAqIHB1 Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAy IG9mCj4gLSAqIHRoZSBMaWNlbnNlIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNp b24uCj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0 aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAo+IC0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdp dGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgo+IC0gKiBNRVJDSEFOVEFCSUxJVFkg b3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUKPiAtICogR05VIEdl bmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KPiAtICovCj4gKy8vIFNQRFgt TGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9yLWxhdGVyCj4gKy8vIFNQRFgtRmlsZUNvcHly aWdodFRleHQ6IMKpIDIwMTMgQm91bmRhcnkgRGV2aWNlcwo+ICsvLyBTUERYLUZpbGVDb3B5cmln aHRUZXh0OiDCqSAyMDEzIFNvbGlkUnVuIGx0ZC4KPiArLy8gU1BEWC1GaWxlQ29weXJpZ2h0VGV4 dDogwqkgMjAxMyBKb24gTmV0dGxldG9uIDxqb24ubmV0dGxldG9uQGdtYWlsLmNvbT4KPiAgCj4g IHdtIDMyIE1YNl9JT01fR1JQX0REUl9UWVBFIDB4MDAwQzAwMDAKPiAgd20gMzIgTVg2X0lPTV9H UlBfRERSUEtFIDB4MDAwMDAwMDAKPiBkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vYm9hcmRzL3NvbGlk cnVuLW1pY3Jvc29tLzgwMG1oei0yeDEyOG14MTYuaW14Y2ZnIGIvYXJjaC9hcm0vYm9hcmRzL3Nv bGlkcnVuLW1pY3Jvc29tLzgwMG1oei0yeDEyOG14MTYuaW14Y2ZnCj4gaW5kZXggOTc0OWJiMWFi YzQ5Li41OGQ4NmFkYmNhYzUgMTAwNjQ0Cj4gLS0tIGEvYXJjaC9hcm0vYm9hcmRzL3NvbGlkcnVu LW1pY3Jvc29tLzgwMG1oei0yeDEyOG14MTYuaW14Y2ZnCj4gKysrIGIvYXJjaC9hcm0vYm9hcmRz L3NvbGlkcnVuLW1pY3Jvc29tLzgwMG1oei0yeDEyOG14MTYuaW14Y2ZnCj4gQEAgLTEsMTggKzEs NyBAQAo+IC0vKgo+IC0gKiBDb3B5cmlnaHQgKEMpIDIwMTMgQm91bmRhcnkgRGV2aWNlcwo+IC0g KiBDb3B5cmlnaHQgKEMpIDIwMTMgU29saWRSdW4gbHRkLgo+IC0gKiBDb3B5cmlnaHQgKEMpIDIw MTMgSm9uIE5ldHRsZXRvbiA8am9uLm5ldHRsZXRvbkBnbWFpbC5jb20+Cj4gLSAqCj4gLSAqIFRo aXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQv b3IKPiAtICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVi bGljIExpY2Vuc2UgYXMKPiAtICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5k YXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YKPiAtICogdGhlIExpY2Vuc2Ugb3IgKGF0IHlvdXIg b3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGRp c3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCj4gLSAqIGJ1dCBX SVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9m Cj4gLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T RS4gU2VlIHRoZQo+IC0gKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRh aWxzLgo+IC0gKi8KPiArLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb3ItbGF0 ZXIKPiArLy8gU1BEWC1GaWxlQ29weXJpZ2h0VGV4dDogwqkgMjAxMyBCb3VuZGFyeSBEZXZpY2Vz Cj4gKy8vIFNQRFgtRmlsZUNvcHlyaWdodFRleHQ6IMKpIDIwMTMgU29saWRSdW4gbHRkLgo+ICsv LyBTUERYLUZpbGVDb3B5cmlnaHRUZXh0OiDCqSAyMDEzIEpvbiBOZXR0bGV0b24gPGpvbi5uZXR0 bGV0b25AZ21haWwuY29tPgo+ICAKPiAgd20gMzIgTVg2X01NRENfUDBfTVBaUUhXQ1RSTCAweGEx MzkwMDAzCj4gIHdtIDMyIE1YNl9NTURDX1AxX01QWlFIV0NUUkwgMHhhMTM5MDAwMwo+IGRpZmYg LS1naXQgYS9hcmNoL2FybS9ib2FyZHMvc29saWRydW4tbWljcm9zb20vODAwbWh6LTMyYi5pbXhj ZmcgYi9hcmNoL2FybS9ib2FyZHMvc29saWRydW4tbWljcm9zb20vODAwbWh6LTMyYi5pbXhjZmcK PiBpbmRleCBkN2NhOTEzZGIyYTUuLjc2Zjc4ZGM3ZTg4YSAxMDA2NDQKPiAtLS0gYS9hcmNoL2Fy bS9ib2FyZHMvc29saWRydW4tbWljcm9zb20vODAwbWh6LTMyYi5pbXhjZmcKPiArKysgYi9hcmNo L2FybS9ib2FyZHMvc29saWRydW4tbWljcm9zb20vODAwbWh6LTMyYi5pbXhjZmcKPiBAQCAtMSwx OCArMSw3IEBACj4gLS8qCj4gLSAqIENvcHlyaWdodCAoQykgMjAxMyBCb3VuZGFyeSBEZXZpY2Vz Cj4gLSAqIENvcHlyaWdodCAoQykgMjAxMyBTb2xpZFJ1biBsdGQuCj4gLSAqIENvcHlyaWdodCAo QykgMjAxMyBKb24gTmV0dGxldG9uIDxqb24ubmV0dGxldG9uQGdtYWlsLmNvbT4KPiAtICoKPiAt ICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0 IGFuZC9vcgo+IC0gKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJh bCBQdWJsaWMgTGljZW5zZSBhcwo+IC0gKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUg Rm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZgo+IC0gKiB0aGUgTGljZW5zZSBvciAoYXQg eW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0g aXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKPiAtICog YnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFu dHkgb2YKPiAtICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQ VVJQT1NFLiBTZWUgdGhlCj4gLSAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3Jl IGRldGFpbHMuCj4gLSAqLwo+ICsvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1v ci1sYXRlcgo+ICsvLyBTUERYLUZpbGVDb3B5cmlnaHRUZXh0OiDCqSAyMDEzIEJvdW5kYXJ5IERl dmljZXMKPiArLy8gU1BEWC1GaWxlQ29weXJpZ2h0VGV4dDogwqkgMjAxMyBTb2xpZFJ1biBsdGQu Cj4gKy8vIFNQRFgtRmlsZUNvcHlyaWdodFRleHQ6IMKpIDIwMTMgSm9uIE5ldHRsZXRvbiA8am9u Lm5ldHRsZXRvbkBnbWFpbC5jb20+Cj4gIAo+ICB3bSAzMiBNWDZfSU9NX0dSUF9ERFJfVFlQRSAw eDAwMGMwMDAwCj4gIHdtIDMyIE1YNl9JT01fR1JQX0REUlBLRSAweDAwMDAwMDAwCj4gZGlmZiAt LWdpdCBhL2FyY2gvYXJtL2JvYXJkcy9zb2xpZHJ1bi1taWNyb3NvbS84MDBtaHotNHgxMjhteDE2 LmlteGNmZyBiL2FyY2gvYXJtL2JvYXJkcy9zb2xpZHJ1bi1taWNyb3NvbS84MDBtaHotNHgxMjht eDE2LmlteGNmZwo+IGluZGV4IDljMDRlYTY3NGM1Ni4uNWZlZDM4OGIyZDllIDEwMDY0NAo+IC0t LSBhL2FyY2gvYXJtL2JvYXJkcy9zb2xpZHJ1bi1taWNyb3NvbS84MDBtaHotNHgxMjhteDE2Lmlt eGNmZwo+ICsrKyBiL2FyY2gvYXJtL2JvYXJkcy9zb2xpZHJ1bi1taWNyb3NvbS84MDBtaHotNHgx MjhteDE2LmlteGNmZwo+IEBAIC0xLDE4ICsxLDcgQEAKPiAtLyoKPiAtICogQ29weXJpZ2h0IChD KSAyMDEzIEJvdW5kYXJ5IERldmljZXMKPiAtICogQ29weXJpZ2h0IChDKSAyMDEzIFNvbGlkUnVu IGx0ZC4KPiAtICogQ29weXJpZ2h0IChDKSAyMDEzIEpvbiBOZXR0bGV0b24gPGpvbi5uZXR0bGV0 b25AZ21haWwuY29tPgo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsg eW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCj4gLSAqIG1vZGlmeSBpdCB1bmRlciB0aGUg dGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzCj4gLSAqIHB1Ymxpc2hl ZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mCj4g LSAqIHRoZSBMaWNlbnNlIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCj4g LSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0 IHdpbGwgYmUgdXNlZnVsLAo+IC0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQg ZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgo+IC0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklU TkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUKPiAtICogR05VIEdlbmVyYWwg UHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KPiAtICovCj4gKy8vIFNQRFgtTGljZW5z ZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9yLWxhdGVyCj4gKy8vIFNQRFgtRmlsZUNvcHlyaWdodFRl eHQ6IMKpIDIwMTMgQm91bmRhcnkgRGV2aWNlcwo+ICsvLyBTUERYLUZpbGVDb3B5cmlnaHRUZXh0 OiDCqSAyMDEzIFNvbGlkUnVuIGx0ZC4KPiArLy8gU1BEWC1GaWxlQ29weXJpZ2h0VGV4dDogwqkg MjAxMyBKb24gTmV0dGxldG9uIDxqb24ubmV0dGxldG9uQGdtYWlsLmNvbT4KPiAgCj4gIHdtIDMy IE1YNl9NTURDX1AwX01QWlFIV0NUUkwgMHhhMTM5MDAwMwo+ICB3bSAzMiBNWDZfTU1EQ19QMF9N UFdMREVDVFJMMCAweDAwNDUwMDRECj4gZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2JvYXJkcy9zb2xp ZHJ1bi1taWNyb3NvbS84MDBtaHotNjRiLmlteGNmZyBiL2FyY2gvYXJtL2JvYXJkcy9zb2xpZHJ1 bi1taWNyb3NvbS84MDBtaHotNjRiLmlteGNmZwo+IGluZGV4IDc4YjdhMjM0YWRhMi4uMDllZGQy N2FlZjE3IDEwMDY0NAo+IC0tLSBhL2FyY2gvYXJtL2JvYXJkcy9zb2xpZHJ1bi1taWNyb3NvbS84 MDBtaHotNjRiLmlteGNmZwo+ICsrKyBiL2FyY2gvYXJtL2JvYXJkcy9zb2xpZHJ1bi1taWNyb3Nv bS84MDBtaHotNjRiLmlteGNmZwo+IEBAIC0xLDE4ICsxLDcgQEAKPiAtLyoKPiAtICogQ29weXJp Z2h0IChDKSAyMDEzIEJvdW5kYXJ5IERldmljZXMKPiAtICogQ29weXJpZ2h0IChDKSAyMDEzIFNv bGlkUnVuIGx0ZC4KPiAtICogQ29weXJpZ2h0IChDKSAyMDEzIEpvbiBOZXR0bGV0b24gPGpvbi5u ZXR0bGV0b25AZ21haWwuY29tPgo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0 d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCj4gLSAqIG1vZGlmeSBpdCB1bmRl ciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzCj4gLSAqIHB1 Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAy IG9mCj4gLSAqIHRoZSBMaWNlbnNlIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNp b24uCj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0 aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAo+IC0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdp dGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgo+IC0gKiBNRVJDSEFOVEFCSUxJVFkg b3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUKPiAtICogR05VIEdl bmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KPiAtICovCj4gKy8vIFNQRFgt TGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9yLWxhdGVyCj4gKy8vIFNQRFgtRmlsZUNvcHly aWdodFRleHQ6IMKpIDIwMTMgQm91bmRhcnkgRGV2aWNlcwo+ICsvLyBTUERYLUZpbGVDb3B5cmln aHRUZXh0OiDCqSAyMDEzIFNvbGlkUnVuIGx0ZC4KPiArLy8gU1BEWC1GaWxlQ29weXJpZ2h0VGV4 dDogwqkgMjAxMyBKb24gTmV0dGxldG9uIDxqb24ubmV0dGxldG9uQGdtYWlsLmNvbT4KPiAgCj4g IHdtIDMyIE1YNl9JT01fR1JQX0REUl9UWVBFIDB4MDAwYzAwMDAKPiAgd20gMzIgTVg2X0lPTV9H UlBfRERSUEtFIDB4MDAwMDAwMDAKPiBkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vYm9hcmRzL3NvbGlk cnVuLW1pY3Jvc29tL2JvYXJkLmMgYi9hcmNoL2FybS9ib2FyZHMvc29saWRydW4tbWljcm9zb20v Ym9hcmQuYwo+IGluZGV4IDE1NTE5OWZmNzgyOC4uY2NiNDMzZmYzNzRhIDEwMDY0NAo+IC0tLSBh L2FyY2gvYXJtL2JvYXJkcy9zb2xpZHJ1bi1taWNyb3NvbS9ib2FyZC5jCj4gKysrIGIvYXJjaC9h cm0vYm9hcmRzL3NvbGlkcnVuLW1pY3Jvc29tL2JvYXJkLmMKPiBAQCAtMSwxNiArMSw1IEBACj4g LS8qCj4gLSAqIENvcHlyaWdodCAoQykgMjAxMyBMdWNhcyBTdGFjaCA8bC5zdGFjaEBwZW5ndXRy b25peC5kZT4KPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBj YW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgo+IC0gKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1z IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcwo+IC0gKiBwdWJsaXNoZWQgYnkg dGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZgo+IC0gKiB0 aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KPiAtICoK PiAtICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2ls bCBiZSB1c2VmdWwsCj4gLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVu IHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCj4gLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNT IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKPiAtICogR05VIEdlbmVyYWwgUHVi bGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KPiAtICovCj4gKy8vIFNQRFgtTGljZW5zZS1J ZGVudGlmaWVyOiBHUEwtMi4wLW9yLWxhdGVyCj4gKy8vIFNQRFgtRmlsZUNvcHlyaWdodFRleHQ6 IMKpIDIwMTMgTHVjYXMgU3RhY2ggPGwuc3RhY2hAcGVuZ3V0cm9uaXguZGU+Cj4gIAo+ICAjaW5j bHVkZSA8YXNtL2FybWxpbnV4Lmg+Cj4gICNpbmNsdWRlIDxhc20vaW8uaD4KPiBkaWZmIC0tZ2l0 IGEvYXJjaC9hcm0vYm9hcmRzL3RlY2huZXhpb24tcGljby1ob2JiaXQvYm9hcmQuYyBiL2FyY2gv YXJtL2JvYXJkcy90ZWNobmV4aW9uLXBpY28taG9iYml0L2JvYXJkLmMKPiBpbmRleCBmNTJmODI3 ZjQ2NmUuLmVmNGNmZDY0ZDg2MyAxMDA2NDQKPiAtLS0gYS9hcmNoL2FybS9ib2FyZHMvdGVjaG5l eGlvbi1waWNvLWhvYmJpdC9ib2FyZC5jCj4gKysrIGIvYXJjaC9hcm0vYm9hcmRzL3RlY2huZXhp b24tcGljby1ob2JiaXQvYm9hcmQuYwo+IEBAIC0xLDIxICsxLDUgQEAKPiAtLyoKPiAtICogQ29w eXJpZ2h0IChDKSAyMDE3IE1pY2hhZWwgR3J6ZXNjaGlrLCBQZW5ndXRyb25peAo+IC0gKgo+IC0g KiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQg YW5kL29yCj4gLSAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFs IFB1YmxpYyBMaWNlbnNlIGFzCj4gLSAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBG b3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mCj4gLSAqIHRoZSBMaWNlbnNlLCBvciAoYXQg eW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0g aXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKPiAtICog YnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFu dHkgb2YKPiAtICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQ VVJQT1NFLiAgU2VlIHRoZQo+IC0gKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9y ZSBkZXRhaWxzLgo+IC0gKgo+IC0gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9m IHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQo+IC0gKiBhbG9uZyB3aXRoIHRoaXMgcHJv Z3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQo+IC0gKiBGb3VuZGF0aW9u Lgo+IC0gKgo+IC0gKi8KPiArLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb3It bGF0ZXIKPiArLy8gU1BEWC1GaWxlQ29weXJpZ2h0VGV4dDogwqkgMjAxNyBNaWNoYWVsIEdyemVz Y2hpaywgUGVuZ3V0cm9uaXgKPiAgCj4gICNpbmNsdWRlIDxhc20vYXJtbGludXguaD4KPiAgI2lu Y2x1ZGUgPGFzbS9pby5oPgo+IGRpZmYgLS1naXQgYS9hcmNoL2FybS9ib2FyZHMvdGVjaG5leGlv bi13YW5kYm9hcmQvYm9hcmQuYyBiL2FyY2gvYXJtL2JvYXJkcy90ZWNobmV4aW9uLXdhbmRib2Fy ZC9ib2FyZC5jCj4gaW5kZXggMmUxZjYyNTRjMjlkLi44ZDYzYjlmZmY3OWEgMTAwNjQ0Cj4gLS0t IGEvYXJjaC9hcm0vYm9hcmRzL3RlY2huZXhpb24td2FuZGJvYXJkL2JvYXJkLmMKPiArKysgYi9h cmNoL2FybS9ib2FyZHMvdGVjaG5leGlvbi13YW5kYm9hcmQvYm9hcmQuYwo+IEBAIC0xLDEzICsx LDQgQEAKPiAtLyoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4g cmVkaXN0cmlidXRlIGl0IGFuZC9vcgo+IC0gKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9m IHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcwo+IC0gKiBwdWJsaXNoZWQgYnkgdGhl IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgdmVyc2lvbiAyLgo+IC0gKgo+IC0gKiBUaGlzIHBy b2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwK PiAtICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQg d2FycmFudHkgb2YKPiAtICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElD VUxBUiBQVVJQT1NFLiBTZWUgdGhlIEdOVQo+IC0gKiBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZv ciBtb3JlIGRldGFpbHMuCj4gLSAqLwo+ICsvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BM LTIuMC1vbmx5Cj4gIAo+ICAjaW5jbHVkZSA8YXNtL2FybWxpbnV4Lmg+Cj4gICNpbmNsdWRlIDxh c20vaW8uaD4KPiBkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vYm9hcmRzL3RlY2huZXhpb24td2FuZGJv YXJkL2xvd2xldmVsLmMgYi9hcmNoL2FybS9ib2FyZHMvdGVjaG5leGlvbi13YW5kYm9hcmQvbG93 bGV2ZWwuYwo+IGluZGV4IGFmMDRlYWRjOWY4ZS4uMzNiYWJiYmIyZmViIDEwMDY0NAo+IC0tLSBh L2FyY2gvYXJtL2JvYXJkcy90ZWNobmV4aW9uLXdhbmRib2FyZC9sb3dsZXZlbC5jCj4gKysrIGIv YXJjaC9hcm0vYm9hcmRzL3RlY2huZXhpb24td2FuZGJvYXJkL2xvd2xldmVsLmMKPiBAQCAtMSwx MyArMSw0IEBACj4gLS8qCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3Ug Y2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKPiAtICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJt cyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMKPiAtICogcHVibGlzaGVkIGJ5 IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IHZlcnNpb24gMi4KPiAtICoKPiAtICogVGhp cyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2Vm dWwsCj4gLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBs aWVkIHdhcnJhbnR5IG9mCj4gLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBB UlRJQ1VMQVIgUFVSUE9TRS4gU2VlIHRoZSBHTlUKPiAtICogR2VuZXJhbCBQdWJsaWMgTGljZW5z ZSBmb3IgbW9yZSBkZXRhaWxzLgo+IC0gKi8KPiArLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6 IEdQTC0yLjAtb25seQo+ICAKPiAgI2luY2x1ZGUgPGRlYnVnX2xsLmg+Cj4gICNpbmNsdWRlIDxj b21tb24uaD4KPiBkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vYm9hcmRzL3RlbGl0LWV2ay1wcm8zL2lu aXQuYyBiL2FyY2gvYXJtL2JvYXJkcy90ZWxpdC1ldmstcHJvMy9pbml0LmMKPiBpbmRleCBmNmVl NzE1YmIxZjEuLmQ2Y2MxNDEyOTE5NyAxMDA2NDQKPiAtLS0gYS9hcmNoL2FybS9ib2FyZHMvdGVs aXQtZXZrLXBybzMvaW5pdC5jCj4gKysrIGIvYXJjaC9hcm0vYm9hcmRzL3RlbGl0LWV2ay1wcm8z L2luaXQuYwo+IEBAIC0xLDE3ICsxLDYgQEAKPiAtLyoKPiAtICogQ29weXJpZ2h0IChDKSAyMDA3 IFNhc2NoYSBIYXVlciwgUGVuZ3V0cm9uaXgKPiAtICogQ29weXJpZ2h0IChDKSAyMDEzIEZhYmlv IFBvcmNlZGRhIDxmYWJpby5wb3JjZWRkYUBnbWFpbC5jb20+LCBUZWxpdAo+IC0gKgo+IC0gKiBU aGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5k L29yCj4gLSAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1 YmxpYyBMaWNlbnNlIGFzCj4gLSAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3Vu ZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mCj4gLSAqIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91 ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMg ZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKPiAtICogYnV0 IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkg b2YKPiAtICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQ T1NFLiAgU2VlIHRoZQo+IC0gKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBk ZXRhaWxzLgo+IC0gKi8KPiArLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb3It bGF0ZXIKPiArLy8gU1BEWC1GaWxlQ29weXJpZ2h0VGV4dDogwqkgMjAwNyBTYXNjaGEgSGF1ZXIs IFBlbmd1dHJvbml4Cj4gKy8vIFNQRFgtRmlsZUNvcHlyaWdodFRleHQ6IMKpIDIwMTMgRmFiaW8g UG9yY2VkZGEgPGZhYmlvLnBvcmNlZGRhQGdtYWlsLmNvbT4sIFRlbGl0Cj4gIAo+ICAjaW5jbHVk ZSA8YXNtL2FybWxpbnV4Lmg+Cj4gICNpbmNsdWRlIDxjb21tb24uaD4KPiBkaWZmIC0tZ2l0IGEv YXJjaC9hcm0vYm9hcmRzL3RueS1hOTI2eC9pbml0LmMgYi9hcmNoL2FybS9ib2FyZHMvdG55LWE5 MjZ4L2luaXQuYwo+IGluZGV4IGRhYjM3MzAwOWYzYi4uZDIyZjVlMmMyNmI2IDEwMDY0NAo+IC0t LSBhL2FyY2gvYXJtL2JvYXJkcy90bnktYTkyNngvaW5pdC5jCj4gKysrIGIvYXJjaC9hcm0vYm9h cmRzL3RueS1hOTI2eC9pbml0LmMKPiBAQCAtMSwxOCArMSw1IEBACj4gLS8qCj4gLSAqIENvcHly aWdodCAoQykgMjAxMSBKZWFuLUNocmlzdG9waGUgUExBR05JT0wtVklMTEFSRCA8cGxhZ25pb2pA amNyb3NvZnQuY29tPgo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsg eW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCj4gLSAqIG1vZGlmeSBpdCB1bmRlciB0aGUg dGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzCj4gLSAqIHB1Ymxpc2hl ZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mCj4g LSAqIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgo+ IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBp dCB3aWxsIGJlIHVzZWZ1bCwKPiAtICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0 IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKPiAtICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJ VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQo+IC0gKiBHTlUgR2VuZXJh bCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgo+IC0gKgo+IC0gKgo+IC0gKi8KPiAr Ly8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb3ItbGF0ZXIKPiArLy8gU1BEWC1G aWxlQ29weXJpZ2h0VGV4dDogwqkgMjAxMSBKZWFuLUNocmlzdG9waGUgUExBR05JT0wtVklMTEFS RCA8cGxhZ25pb2pAamNyb3NvZnQuY29tPgo+ICAKPiAgI2luY2x1ZGUgPGNvbW1vbi5oPgo+ICAj aW5jbHVkZSA8bmV0Lmg+Cj4gZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2JvYXJkcy90b3NoaWJhLWFj MTAwL2JvYXJkLmMgYi9hcmNoL2FybS9ib2FyZHMvdG9zaGliYS1hYzEwMC9ib2FyZC5jCj4gaW5k ZXggYWY2OWJhMGIwOTIxLi43YWIwNTI3MDg1NzIgMTAwNjQ0Cj4gLS0tIGEvYXJjaC9hcm0vYm9h cmRzL3Rvc2hpYmEtYWMxMDAvYm9hcmQuYwo+ICsrKyBiL2FyY2gvYXJtL2JvYXJkcy90b3NoaWJh LWFjMTAwL2JvYXJkLmMKPiBAQCAtMSwxNyArMSw3IEBACj4gLS8qCj4gLSAqIENvcHlyaWdodCAo QykgMjAxMSBBbnRvbnkgUGF2bG92IDxhbnRvbnlucGF2bG92QGdtYWlsLmNvbT4KPiAtICoKPiAt ICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgYmFyZWJveC4KPiAtICoKPiAtICogVGhpcyBwcm9ncmFt IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkK PiAtICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5z ZSB2ZXJzaW9uIDIKPiAtICogYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5k YXRpb24uCj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9w ZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAo+IC0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7 IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgo+IC0gKiBNRVJDSEFOVEFCSUxJ VFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCj4gLSAqIEdO VSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCj4gLSAqLwo+ICsvLyBT UERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vbmx5Cj4gKy8vIFNQRFgtRmlsZUNvcHly aWdodFRleHQ6IMKpIDIwMTEgQW50b255IFBhdmxvdiA8YW50b255bnBhdmxvdkBnbWFpbC5jb20+ Cj4gKwo+ICsvKiBUaGlzIGZpbGUgaXMgcGFydCBvZiBiYXJlYm94LiAqLwo+ICAKPiAgI2luY2x1 ZGUgPGNvbW1vbi5oPgo+ICAjaW5jbHVkZSA8aW5pdC5oPgo+IGRpZmYgLS1naXQgYS9hcmNoL2Fy bS9ib2FyZHMvdHFtYTUzL2JvYXJkLmMgYi9hcmNoL2FybS9ib2FyZHMvdHFtYTUzL2JvYXJkLmMK PiBpbmRleCAwNTVjZWViMDNlMjYuLjFlMWRiNTBkNjZkMyAxMDA2NDQKPiAtLS0gYS9hcmNoL2Fy bS9ib2FyZHMvdHFtYTUzL2JvYXJkLmMKPiArKysgYi9hcmNoL2FybS9ib2FyZHMvdHFtYTUzL2Jv YXJkLmMKPiBAQCAtMSwxNyArMSw1IEBACj4gLS8qCj4gLSAqIENvcHlyaWdodCAoQykgMjAxMSBT YXNjaGEgSGF1ZXIsIFBlbmd1dHJvbml4Cj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVl IHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKPiAtICogbW9kaWZ5IGl0 IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMKPiAt ICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJz aW9uIDIgb2YKPiAtICogdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVy IHZlcnNpb24uCj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUg aG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAo+IC0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFO VFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgo+IC0gKiBNRVJDSEFOVEFC SUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUKPiAtICog R05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KPiAtICoKPiAtICov Cj4gKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9yLWxhdGVyCj4gKy8vIFNQ RFgtRmlsZUNvcHlyaWdodFRleHQ6IMKpIDIwMTEgU2FzY2hhIEhhdWVyLCBQZW5ndXRyb25peAo+ ICAKPiAgI2luY2x1ZGUgPGVudmlyb25tZW50Lmg+Cj4gICNpbmNsdWRlIDxib290c291cmNlLmg+ Cj4gZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2JvYXJkcy90cW1hNngvYm9hcmQuYyBiL2FyY2gvYXJt L2JvYXJkcy90cW1hNngvYm9hcmQuYwo+IGluZGV4IGVjZjhmYTA2YWYwMS4uY2QxZTdjOTdkOGM1 IDEwMDY0NAo+IC0tLSBhL2FyY2gvYXJtL2JvYXJkcy90cW1hNngvYm9hcmQuYwo+ICsrKyBiL2Fy Y2gvYXJtL2JvYXJkcy90cW1hNngvYm9hcmQuYwo+IEBAIC0xLDIxICsxLDUgQEAKPiAtLyoKPiAt ICogQ29weXJpZ2h0IChDKSAyMDEzIFNhc2NoYSBIYXVlciwgUGVuZ3V0cm9uaXgKPiAtICoKPiAt ICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0 IGFuZC9vcgo+IC0gKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJh bCBQdWJsaWMgTGljZW5zZSBhcwo+IC0gKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUg Rm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZgo+IC0gKiB0aGUgTGljZW5zZSwgb3IgKGF0 IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KPiAtICoKPiAtICogVGhpcyBwcm9ncmFt IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCj4gLSAq IGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJh bnR5IG9mCj4gLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIg UFVSUE9TRS4gIFNlZSB0aGUKPiAtICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1v cmUgZGV0YWlscy4KPiAtICoKPiAtICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBv ZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKPiAtICogYWxvbmcgd2l0aCB0aGlzIHBy b2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKPiAtICogRm91bmRhdGlv bi4KPiAtICoKPiAtICovCj4gKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9y LWxhdGVyCj4gKy8vIFNQRFgtRmlsZUNvcHlyaWdodFRleHQ6IMKpIDIwMTMgU2FzY2hhIEhhdWVy LCBQZW5ndXRyb25peAo+ICAKPiAgI2luY2x1ZGUgPGdlbmVyYXRlZC9tYWNoLXR5cGVzLmg+Cj4g ICNpbmNsdWRlIDxlbnZpcm9ubWVudC5oPgo+IGRpZmYgLS1naXQgYS9hcmNoL2FybS9ib2FyZHMv dHFtYTZ4L2xvd2xldmVsLmMgYi9hcmNoL2FybS9ib2FyZHMvdHFtYTZ4L2xvd2xldmVsLmMKPiBp bmRleCBhZmJjMTY5MWViNGYuLjQxZTMwNTUzYjk2YSAxMDA2NDQKPiAtLS0gYS9hcmNoL2FybS9i b2FyZHMvdHFtYTZ4L2xvd2xldmVsLmMKPiArKysgYi9hcmNoL2FybS9ib2FyZHMvdHFtYTZ4L2xv d2xldmVsLmMKPiBAQCAtMSwxNyArMSw2IEBACj4gLS8qCj4gLSAqIENvcHlyaWdodCAoQykgMjAx MyBTYXNjaGEgSGF1ZXIgPHMuaGF1ZXJAcGVuZ3V0cm9uaXguZGU+Cj4gLSAqCj4gLSAqIFRoaXMg cHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IK PiAtICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGlj IExpY2Vuc2UgYXMKPiAtICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp b247IGVpdGhlciB2ZXJzaW9uIDIgb2YKPiAtICogdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9w dGlvbikgYW55IGxhdGVyIHZlcnNpb24uCj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0 cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAo+IC0gKiBidXQgV0lU SE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgo+ IC0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Uu ICBTZWUgdGhlCj4gLSAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFp bHMuCj4gLSAqCj4gLSAqLwo+ICsvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1v ci1sYXRlcgo+ICsvLyBTUERYLUZpbGVDb3B5cmlnaHRUZXh0OiDCqSAyMDEzIFNhc2NoYSBIYXVl ciA8cy5oYXVlckBwZW5ndXRyb25peC5kZT4KPiArCj4gICNpbmNsdWRlIDxkZWJ1Z19sbC5oPgo+ ICAjaW5jbHVkZSA8Y29tbW9uLmg+Cj4gICNpbmNsdWRlIDxsaW51eC9zaXplcy5oPgo+IGRpZmYg LS1naXQgYS9hcmNoL2FybS9ib2FyZHMvdHVycmlzLW9tbmlhL2xvd2xldmVsLmMgYi9hcmNoL2Fy bS9ib2FyZHMvdHVycmlzLW9tbmlhL2xvd2xldmVsLmMKPiBpbmRleCA3MjM2MjExYzQwMGQuLjdm MDYzNTczZmI4OSAxMDA2NDQKPiAtLS0gYS9hcmNoL2FybS9ib2FyZHMvdHVycmlzLW9tbmlhL2xv d2xldmVsLmMKPiArKysgYi9hcmNoL2FybS9ib2FyZHMvdHVycmlzLW9tbmlhL2xvd2xldmVsLmMK PiBAQCAtMSwxNSArMSw1IEBACj4gLS8qCj4gLSAqIENvcHlyaWdodCAoQykgMjAxNyBQZW5ndXRy b25peCwgVXdlIEtsZWluZS1Lb2VuaWcgPHUua2xlaW5lLWtvZW5pZ0BwZW5ndXRyb25peC5kZT4K PiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0 cmlidXRlIGl0IGFuZC9vcgo+IC0gKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBH TlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQo+IC0gKiB2ZXJzaW9uIDIsIGFzIHB1Ymxpc2hlZCBi eSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0g aXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKPiAtICog YnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFu dHkgb2YKPiAtICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQ VVJQT1NFLiAgU2VlIHRoZQo+IC0gKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9y ZSBkZXRhaWxzLgo+IC0gKi8KPiArLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAt b25seQo+ICsvLyBTUERYLUZpbGVDb3B5cmlnaHRUZXh0OiDCqSAyMDE3IFV3ZSBLbGVpbmUtS29l bmlnIDx1LmtsZWluZS1rb2VuaWdAcGVuZ3V0cm9uaXguZGU+LCBQZW5ndXRyb25peAo+ICAKPiAg I2luY2x1ZGUgPGNvbW1vbi5oPgo+ICAjaW5jbHVkZSA8YXNtL2JhcmVib3gtYXJtLmg+Cj4gZGlm ZiAtLWdpdCBhL2FyY2gvYXJtL2JvYXJkcy91ZG9vLW5lby9ib2FyZC5jIGIvYXJjaC9hcm0vYm9h cmRzL3Vkb28tbmVvL2JvYXJkLmMKPiBpbmRleCA5YmY0ODAzMDVkNzAuLjMzNzY4ODBlZDk5ZiAx MDA2NDQKPiAtLS0gYS9hcmNoL2FybS9ib2FyZHMvdWRvby1uZW8vYm9hcmQuYwo+ICsrKyBiL2Fy Y2gvYXJtL2JvYXJkcy91ZG9vLW5lby9ib2FyZC5jCj4gQEAgLTEsMTUgKzEsNSBAQAo+IC0vKgo+ IC0gKiBDb3B5cmlnaHQgKEMpIDIwMTQgUGVuZ3V0cm9uaXgsIFNhc2NoYSBIYXVlcgo+IC0gKgo+ IC0gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUg aXQgYW5kL29yCj4gLSAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5l cmFsIFB1YmxpYyBMaWNlbnNlCj4gLSAqIHZlcnNpb24gMiwgYXMgcHVibGlzaGVkIGJ5IHRoZSBG cmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0 cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAo+IC0gKiBidXQgV0lU SE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgo+ IC0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Uu ICBTZWUgdGhlCj4gLSAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFp bHMuCj4gLSAqLwo+ICsvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vbmx5Cj4g Ky8vIFNQRFgtRmlsZUNvcHlyaWdodFRleHQ6IMKpIDIwMTQgU2FzY2hhIEhhdWVyLCBQZW5ndXRy b25peAo+ICAKPiAgI2luY2x1ZGUgPGNvbW1vbi5oPgo+ICAjaW5jbHVkZSA8aW5pdC5oPgo+IGRp ZmYgLS1naXQgYS9hcmNoL2FybS9ib2FyZHMvdWRvby9ib2FyZC5jIGIvYXJjaC9hcm0vYm9hcmRz L3Vkb28vYm9hcmQuYwo+IGluZGV4IGYwYmVmYWYzYTk5MC4uNDNhM2ZjODFlMDFlIDEwMDY0NAo+ IC0tLSBhL2FyY2gvYXJtL2JvYXJkcy91ZG9vL2JvYXJkLmMKPiArKysgYi9hcmNoL2FybS9ib2Fy ZHMvdWRvby9ib2FyZC5jCj4gQEAgLTEsMTkgKzEsOCBAQAo+IC0vKgo+IC0gKiBDb3B5cmlnaHQg KEMpIDIwMTQgUmFwaGHDq2wgUG9nZ2kKPiAtICogQ29weXJpZ2h0IChDKSAyMDEyIFN0ZWZmZW4g VHJ1bXRyYXIsIFBlbmd1dHJvbml4Cj4gLSAqCj4gLSAqIGJhc2VkIG9uIGFyY2gvYXJtL2JvYXJk cy9mcmVlc2NhbGUtbXg2LWFybTIvYm9hcmQuYwo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMg ZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCj4gLSAqIG1vZGlm eSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFz Cj4gLSAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIg dmVyc2lvbiAyIG9mCj4gLSAqIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBs YXRlciB2ZXJzaW9uLgo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4g dGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKPiAtICogYnV0IFdJVEhPVVQgQU5ZIFdB UlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKPiAtICogTUVSQ0hB TlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQo+ IC0gKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgo+IC0gKi8K PiArLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb3ItbGF0ZXIKPiArLy8gU1BE WC1GaWxlQ29weXJpZ2h0VGV4dDogwqkgMjAxNCBSYXBoYcOrbCBQb2dnaQo+ICsvLyBTUERYLUZp bGVDb3B5cmlnaHRUZXh0OiDCqSAyMDEyIFN0ZWZmZW4gVHJ1bXRyYXIsIFBlbmd1dHJvbml4Cj4g Kwo+ICsvKiBiYXNlZCBvbiBhcmNoL2FybS9ib2FyZHMvZnJlZXNjYWxlLW14Ni1hcm0yL2JvYXJk LmMgKi8KPiAgCj4gICNpbmNsdWRlIDxjb21tb24uaD4KPiAgI2luY2x1ZGUgPGluaXQuaD4KPiBk aWZmIC0tZ2l0IGEvYXJjaC9hcm0vYm9hcmRzL3VzYi1hOTI2eC9pbml0LmMgYi9hcmNoL2FybS9i b2FyZHMvdXNiLWE5MjZ4L2luaXQuYwo+IGluZGV4IDg5NjljYmQzYTg3OC4uZTI4ZjE0Yzc3ZDlh IDEwMDY0NAo+IC0tLSBhL2FyY2gvYXJtL2JvYXJkcy91c2ItYTkyNngvaW5pdC5jCj4gKysrIGIv YXJjaC9hcm0vYm9hcmRzL3VzYi1hOTI2eC9pbml0LmMKPiBAQCAtMSwxOCArMSw1IEBACj4gLS8q Cj4gLSAqIENvcHlyaWdodCAoQykgMjAxMSBKZWFuLUNocmlzdG9waGUgUExBR05JT0wtVklMTEFS RCA8cGxhZ25pb2pAamNyb3NvZnQuY29tPgo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZnJl ZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCj4gLSAqIG1vZGlmeSBp dCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzCj4g LSAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVy c2lvbiAyIG9mCj4gLSAqIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRl ciB2ZXJzaW9uLgo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhl IGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKPiAtICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJB TlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKPiAtICogTUVSQ0hBTlRB QklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQo+IC0g KiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgo+IC0gKgo+IC0g Kgo+IC0gKi8KPiArLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb3ItbGF0ZXIK PiArLy8gU1BEWC1GaWxlQ29weXJpZ2h0VGV4dDogwqkgMjAxMSBKZWFuLUNocmlzdG9waGUgUExB R05JT0wtVklMTEFSRCA8cGxhZ25pb2pAamNyb3NvZnQuY29tPgo+ICAKPiAgI2luY2x1ZGUgPGNv bW1vbi5oPgo+ICAjaW5jbHVkZSA8bmV0Lmg+Cj4gZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2JvYXJk cy91c2ktdG9wa2ljay9ib2FyZC5jIGIvYXJjaC9hcm0vYm9hcmRzL3VzaS10b3BraWNrL2JvYXJk LmMKPiBpbmRleCA3ZGJlMGFhOTQzYzQuLmUwNjkzZjI0ODZkMSAxMDA2NDQKPiAtLS0gYS9hcmNo L2FybS9ib2FyZHMvdXNpLXRvcGtpY2svYm9hcmQuYwo+ICsrKyBiL2FyY2gvYXJtL2JvYXJkcy91 c2ktdG9wa2ljay9ib2FyZC5jCj4gQEAgLTEsMTcgKzEsNCBAQAo+IC0vKgo+IC0gKiBDb3B5cmln aHQKPiAtICogKEMpIDIwMTMgSmFzb24gQ29vcGVyIDxqYXNvbkBsYWtlZGFlbW9uLm5ldD4KPiAt ICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmli dXRlIGl0IGFuZC9vcgo+IC0gKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUg R2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcwo+IC0gKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29m dHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZgo+IC0gKiB0aGUgTGljZW5zZSwg b3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KPiAtICoKPiAtICogVGhpcyBw cm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWws Cj4gLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVk IHdhcnJhbnR5IG9mCj4gLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJ Q1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKPiAtICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2Ug Zm9yIG1vcmUgZGV0YWlscy4KPiAtICoKPiAtICovCj4gKy8vIFNQRFgtTGljZW5zZS1JZGVudGlm aWVyOiBHUEwtMi4wLW9yLWxhdGVyCj4gKy8vIFNQRFgtRmlsZUNvcHlyaWdodFRleHQ6IMKpIDIw MTMgSmFzb24gQ29vcGVyIDxqYXNvbkBsYWtlZGFlbW9uLm5ldD4KPiAgCj4gIC8qIGVtcHR5ICov Cj4gZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2JvYXJkcy91c2ktdG9wa2ljay9sb3dsZXZlbC5jIGIv YXJjaC9hcm0vYm9hcmRzL3VzaS10b3BraWNrL2xvd2xldmVsLmMKPiBpbmRleCA0MjAyMTM4OTg2 ZjMuLjllMGVlMDQyNDcwMiAxMDA2NDQKPiAtLS0gYS9hcmNoL2FybS9ib2FyZHMvdXNpLXRvcGtp Y2svbG93bGV2ZWwuYwo+ICsrKyBiL2FyY2gvYXJtL2JvYXJkcy91c2ktdG9wa2ljay9sb3dsZXZl bC5jCj4gQEAgLTEsMTggKzEsNSBAQAo+IC0vKgo+IC0gKiBDb3B5cmlnaHQgKEMpIDIwMTQKPiAt ICogIFNlYmFzdGlhbiBIZXNzZWxiYXJ0aCA8c2ViYXN0aWFuLmhlc3NlbGJhcnRoQGdtYWlsLmNv bT4KPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVk aXN0cmlidXRlIGl0IGFuZC9vcgo+IC0gKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRo ZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcwo+IC0gKiBwdWJsaXNoZWQgYnkgdGhlIEZy ZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZgo+IC0gKiB0aGUgTGlj ZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KPiAtICoKPiAtICog VGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1 c2VmdWwsCj4gLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBp bXBsaWVkIHdhcnJhbnR5IG9mCj4gLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBB IFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKPiAtICogR05VIEdlbmVyYWwgUHVibGljIExp Y2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KPiAtICoKPiAtICovCj4gKy8vIFNQRFgtTGljZW5zZS1J ZGVudGlmaWVyOiBHUEwtMi4wLW9yLWxhdGVyCj4gKy8vIFNQRFgtRmlsZUNvcHlyaWdodFRleHQ6 IMKpIDIwMTQgU2ViYXN0aWFuIEhlc3NlbGJhcnRoIDxzZWJhc3RpYW4uaGVzc2VsYmFydGhAZ21h aWwuY29tPgo+ICAKPiAgI2luY2x1ZGUgPGNvbW1vbi5oPgo+ICAjaW5jbHVkZSA8bGludXgvc2l6 ZXMuaD4KPiBkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vYm9hcmRzL3ZhcmlzY2l0ZS1teDYvYm9hcmQu YyBiL2FyY2gvYXJtL2JvYXJkcy92YXJpc2NpdGUtbXg2L2JvYXJkLmMKPiBpbmRleCAyNjdmNjhj NmRhMmQuLjhhY2I5NzcyNjk5MCAxMDA2NDQKPiAtLS0gYS9hcmNoL2FybS9ib2FyZHMvdmFyaXNj aXRlLW14Ni9ib2FyZC5jCj4gKysrIGIvYXJjaC9hcm0vYm9hcmRzL3ZhcmlzY2l0ZS1teDYvYm9h cmQuYwo+IEBAIC0xLDIyICsxLDkgQEAKPiArLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQ TC0yLjAtb3ItbGF0ZXIKPiArLy8gU1BEWC1GaWxlQ29weXJpZ2h0VGV4dDogwqkgMjAxMyBNaWNo YWVsIEJ1cmtleQo+ICsKPiAgLyoKPiAtICogQ29weXJpZ2h0IChDKSAyMDEzIE1pY2hhZWwgQnVy a2V5Cj4gICAqIEJhc2VkIG9uIGNvZGUgKEMpIFNhc2NoYSBIYXVlciwgUGVuZ3V0cm9uaXgKPiAg ICogQmFzZWQgb24gY29kZSAoQykgVmFyaXNjaXRlLCBMdGQuCgpBbmQgaGVyZSwgcHJvYmFibHku Cgo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRp c3RyaWJ1dGUgaXQgYW5kL29yCj4gLSAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhl IEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzCj4gLSAqIHB1Ymxpc2hlZCBieSB0aGUgRnJl ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mCj4gLSAqIHRoZSBMaWNl bnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgo+IC0gKgo+IC0gKiBU aGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVz ZWZ1bCwKPiAtICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGlt cGxpZWQgd2FycmFudHkgb2YKPiAtICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEg UEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQo+IC0gKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGlj ZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgo+IC0gKgo+IC0gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2 ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQo+IC0gKiBhbG9uZyB3 aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQo+IC0g KiBGb3VuZGF0aW9uLgo+IC0gKgo+ICAgKi8KPiAgCj4gICNkZWZpbmUgcHJfZm10KGZtdCkgInZh ci1zb20tbXg2OiAiIGZtdAo+IGRpZmYgLS1naXQgYS9hcmNoL2FybS9ib2FyZHMvdmFyaXNjaXRl LW14Ni9sb3dsZXZlbC5jIGIvYXJjaC9hcm0vYm9hcmRzL3ZhcmlzY2l0ZS1teDYvbG93bGV2ZWwu Ywo+IGluZGV4IGQ3NWQ3NzBhN2VmYi4uZGQ0NDgwYTNhZDgyIDEwMDY0NAo+IC0tLSBhL2FyY2gv YXJtL2JvYXJkcy92YXJpc2NpdGUtbXg2L2xvd2xldmVsLmMKPiArKysgYi9hcmNoL2FybS9ib2Fy ZHMvdmFyaXNjaXRlLW14Ni9sb3dsZXZlbC5jCj4gQEAgLTEsMTkgKzEsOCBAQAo+IC0vKgo+IC0g Kgo+IC0gKiBDb3B5cmlnaHQgKEMpIDIwMTMgTWljaGFlbCBCdXJrZXkKPiAtICogQmFzZWQgb24g Y29kZSBieSBTYXNjaGEgSGF1ZXIgPHMuaGF1ZXJAcGVuZ3V0cm9uaXguZGU+Cj4gLSAqCj4gLSAq IFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBh bmQvb3IKPiAtICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwg UHVibGljIExpY2Vuc2UgYXMKPiAtICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZv dW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YKPiAtICogdGhlIExpY2Vuc2UsIG9yIChhdCB5 b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBp cyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAo+IC0gKiBi dXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50 eSBvZgo+IC0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBV UlBPU0UuICBTZWUgdGhlCj4gLSAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3Jl IGRldGFpbHMuCj4gLSAqCj4gLSAqLwo+ICsvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BM LTIuMC1vci1sYXRlcgo+ICsvLyBTUERYLUZpbGVDb3B5cmlnaHRUZXh0OiDCqSAyMDEzIE1pY2hh ZWwgQnVya2V5Cj4gKwo+ICsvKiBCYXNlZCBvbiBjb2RlIGJ5IFNhc2NoYSBIYXVlciA8cy5oYXVl ckBwZW5ndXRyb25peC5kZT4gKi8KCkFuZCBoZXJlLCBwcm9iYWJseS4KCj4gKwo+ICAjaW5jbHVk ZSA8ZGVidWdfbGwuaD4KPiAgI2luY2x1ZGUgPGNvbW1vbi5oPgo+ICAjaW5jbHVkZSA8bGludXgv c2l6ZXMuaD4KPiBkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vYm9hcmRzL3ZlcnNhdGlsZS92ZXJzYXRp bGVwYi5jIGIvYXJjaC9hcm0vYm9hcmRzL3ZlcnNhdGlsZS92ZXJzYXRpbGVwYi5jCj4gaW5kZXgg ODY5MWExNzFlMTQxLi41OWUxYzJkOTFlOGIgMTAwNjQ0Cj4gLS0tIGEvYXJjaC9hcm0vYm9hcmRz L3ZlcnNhdGlsZS92ZXJzYXRpbGVwYi5jCj4gKysrIGIvYXJjaC9hcm0vYm9hcmRzL3ZlcnNhdGls ZS92ZXJzYXRpbGVwYi5jCj4gQEAgLTEsMjIgKzEsMTEgQEAKPiArLy8gU1BEWC1MaWNlbnNlLUlk ZW50aWZpZXI6IEdQTC0yLjAtb25seQo+ICsvLyBTUERYLUZpbGVDb3B5cmlnaHRUZXh0OiDCqSAy MDEwIEIgTGFicyBMdGQgKGh0dHA6Ly9sNGRldi5vcmcpCj4gKwo+ICAvKgo+IC0gKiBDb3B5cmln aHQgKEMpIDIwMTAgQiBMYWJzIEx0ZCwKPiAtICogaHR0cDovL2w0ZGV2Lm9yZwo+ICAgKiBBdXRo b3I6IEFsZXhleSBaYXl0c2V2IDxhbGV4ZXkuemF5dHNldkBnbWFpbC5jb20+Cj4gICAqCj4gICAq IEJhc2VkIG9uIG1hY2gtbm9tYWRpawo+ICAgKiBDb3B5cmlnaHQgKEMpIDIwMDktMjAxMCBKZWFu LUNocmlzdG9waGUgUExBR05JT0wtVklMTEFSRCA8cGxhZ25pb0BqY3Jvc29mdC5jb20+CgpBbmQg aGVyZS4KClRoZSByZXN0IGxvb2tzIGdvb2QgdG8gbWUuCgogLSBSb2xhbmQKCj4gLSAqCj4gLSAq IFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBh bmQvb3IKPiAtICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwg UHVibGljIExpY2Vuc2UgYXMKPiAtICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZv dW5kYXRpb247IHZlcnNpb24gMiBvZgo+IC0gKiB0aGUgTGljZW5zZS4KPiAtICoKPiAtICogVGhp cyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2Vm dWwsCj4gLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBs aWVkIHdhcnJhbnR5IG9mCj4gLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBB UlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKPiAtICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vu c2UgZm9yIG1vcmUgZGV0YWlscy4KPiAtICoKPiAtICoKPiAgICovCj4gIAo+ICAjaW5jbHVkZSA8 Y29tbW9uLmg+Cj4gZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2JvYXJkcy92aXJ0MnJlYWwvYm9hcmQu YyBiL2FyY2gvYXJtL2JvYXJkcy92aXJ0MnJlYWwvYm9hcmQuYwo+IGluZGV4IDQ1MWNiZjI5ZmZm Mi4uYTk3MTg4NWZkYzUxIDEwMDY0NAo+IC0tLSBhL2FyY2gvYXJtL2JvYXJkcy92aXJ0MnJlYWwv Ym9hcmQuYwo+ICsrKyBiL2FyY2gvYXJtL2JvYXJkcy92aXJ0MnJlYWwvYm9hcmQuYwo+IEBAIC0x LDE4ICsxLDcgQEAKPiAtLyoKPiAtICogQ29weXJpZ2h0IChDKSAyMDE0IEFudG9ueSBQYXZsb3Yg PGFudG9ueW5wYXZsb3ZAZ21haWwuY29tPgo+IC0gKgo+IC0gKiBUaGlzIGZpbGUgaXMgcGFydCBv ZiBiYXJlYm94Lgo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91 IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQo+IC0gKiBpdCB1bmRlciB0aGUgdGVy bXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMgo+IC0gKiBhcyBw dWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KPiAtICoKPiAtICogVGhp cyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2Vm dWwsCj4gLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBs aWVkIHdhcnJhbnR5IG9mCj4gLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBB UlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKPiAtICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vu c2UgZm9yIG1vcmUgZGV0YWlscy4KPiAtICoKPiAtICovCj4gKy8vIFNQRFgtTGljZW5zZS1JZGVu dGlmaWVyOiBHUEwtMi4wLW9ubHkKPiArLy8gU1BEWC1GaWxlQ29weXJpZ2h0VGV4dDogwqkgMjAx NCBBbnRvbnkgUGF2bG92IDxhbnRvbnlucGF2bG92QGdtYWlsLmNvbT4KPiArCj4gKy8qIFRoaXMg ZmlsZSBpcyBwYXJ0IG9mIGJhcmVib3guICovCj4gIAo+ICAjaW5jbHVkZSA8Y29tbW9uLmg+Cj4g ICNpbmNsdWRlIDxpbml0Lmg+Cj4gZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2JvYXJkcy92aXJ0MnJl YWwvbG93bGV2ZWwuYyBiL2FyY2gvYXJtL2JvYXJkcy92aXJ0MnJlYWwvbG93bGV2ZWwuYwo+IGlu ZGV4IGJiZGU1ZDhjZDcxNi4uM2VjOWQ5MWIwZTQ4IDEwMDY0NAo+IC0tLSBhL2FyY2gvYXJtL2Jv YXJkcy92aXJ0MnJlYWwvbG93bGV2ZWwuYwo+ICsrKyBiL2FyY2gvYXJtL2JvYXJkcy92aXJ0MnJl YWwvbG93bGV2ZWwuYwo+IEBAIC0xLDE4ICsxLDcgQEAKPiAtLyoKPiAtICogQ29weXJpZ2h0IChD KSAyMDE0IEFudG9ueSBQYXZsb3YgPGFudG9ueW5wYXZsb3ZAZ21haWwuY29tPgo+IC0gKgo+IC0g KiBUaGlzIGZpbGUgaXMgcGFydCBvZiBiYXJlYm94Lgo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0g aXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQo+ IC0gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl IHZlcnNpb24gMgo+IC0gKiBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRh dGlvbi4KPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3Bl IHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCj4gLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsg d2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCj4gLSAqIE1FUkNIQU5UQUJJTElU WSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKPiAtICogR05V IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KPiAtICoKPiAtICovCj4g Ky8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9ubHkKPiArLy8gU1BEWC1GaWxl Q29weXJpZ2h0VGV4dDogwqkgMjAxNCBBbnRvbnkgUGF2bG92IDxhbnRvbnlucGF2bG92QGdtYWls LmNvbT4KPiArCj4gKy8qIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIGJhcmVib3guICovCj4gIAo+ICAj ZGVmaW5lIF9fTE9XTEVWRUxfSU5JVF9fCj4gIAo+IGRpZmYgLS1naXQgYS9hcmNoL2FybS9ib2Fy ZHMvdnNjb20tYmFsdG9zL2JvYXJkLmMgYi9hcmNoL2FybS9ib2FyZHMvdnNjb20tYmFsdG9zL2Jv YXJkLmMKPiBpbmRleCAzZjliN2Q3NmJiMTkuLjVlZGViMjQwMGViNyAxMDA2NDQKPiAtLS0gYS9h cmNoL2FybS9ib2FyZHMvdnNjb20tYmFsdG9zL2JvYXJkLmMKPiArKysgYi9hcmNoL2FybS9ib2Fy ZHMvdnNjb20tYmFsdG9zL2JvYXJkLmMKPiBAQCAtMSwyMCArMSw2IEBACj4gLS8qCj4gLSAqIChD KSBDb3B5cmlnaHQgMjAwOAo+IC0gKiBUZXhhcyBJbnN0cnVtZW50cywgPHd3dy50aS5jb20+Cj4g LSAqIFJhZ2hhdmVuZHJhIEtIIDxyLWtoYW5kZW5haGFsbHlAdGkuY29tPgo+IC0gKgo+IC0gKiBD b3B5cmlnaHQgKEMpIDIwMTIgSmFuIEx1ZWJiZSA8ai5sdWViYmVAcGVuZ3V0cm9uaXguZGU+Cj4g LSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJp YnV0ZSBpdCBhbmQvb3IKPiAtICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05V IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMKPiAtICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNv ZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YKPiAtICogdGhlIExpY2Vuc2Us IG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCj4gLSAqCj4gLSAqIFRoaXMg cHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVs LAo+IC0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGll ZCB3YXJyYW50eSBvZgo+IC0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJU SUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCj4gLSAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl IGZvciBtb3JlIGRldGFpbHMuCj4gLSAqLwo+ICsvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjog R1BMLTIuMC1vci1sYXRlcgo+ICsvLyBTUERYLUZpbGVDb3B5cmlnaHRUZXh0OiDCqSAyMDA4IFJh Z2hhdmVuZHJhIEtIIDxyLWtoYW5kZW5haGFsbHlAdGkuY29tPiwgVGV4YXMgSW5zdHJ1bWVudHMg KDx3d3cudGkuY29tPikKPiArLy8gU1BEWC1GaWxlQ29weXJpZ2h0VGV4dDogwqkgMjAxMiBKYW4g THVlYmJlIDxqLmx1ZWJiZUBwZW5ndXRyb25peC5kZT4KPiAgCj4gIC8qKgo+ICAgKiBAZmlsZQo+ IGRpZmYgLS1naXQgYS9hcmNoL2FybS9ib2FyZHMvemlpLWNvbW1vbi9ib2FyZC5jIGIvYXJjaC9h cm0vYm9hcmRzL3ppaS1jb21tb24vYm9hcmQuYwo+IGluZGV4IDA4ZTJmOGI5YmQ0Ny4uNDNiOThm MGUwMmM3IDEwMDY0NAo+IC0tLSBhL2FyY2gvYXJtL2JvYXJkcy96aWktY29tbW9uL2JvYXJkLmMK PiArKysgYi9hcmNoL2FybS9ib2FyZHMvemlpLWNvbW1vbi9ib2FyZC5jCj4gQEAgLTEsMTYgKzEs NSBAQAo+IC0vKgo+IC0gKiBDb3B5cmlnaHQgKEMpIDIwMTkgWm9kaWFjIEluZmxpZ2h0IElubm92 YXRpb24KPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4g cmVkaXN0cmlidXRlIGl0IGFuZC9vcgo+IC0gKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9m IHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcwo+IC0gKiBwdWJsaXNoZWQgYnkgdGhl IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZgo+IC0gKiB0aGUg TGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KPiAtICoKPiAt ICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBi ZSB1c2VmdWwsCj4gLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRo ZSBpbXBsaWVkIHdhcnJhbnR5IG9mCj4gLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZP UiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKPiAtICogR05VIEdlbmVyYWwgUHVibGlj IExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KPiAtICovCj4gKy8vIFNQRFgtTGljZW5zZS1JZGVu dGlmaWVyOiBHUEwtMi4wLW9yLWxhdGVyCj4gKy8vIFNQRFgtRmlsZUNvcHlyaWdodFRleHQ6IMKp IDIwMTkgWm9kaWFjIEluZmxpZ2h0IElubm92YXRpb24KPiAgCj4gICNpbmNsdWRlIDxjb21tb24u aD4KPiAgI2luY2x1ZGUgPGZzLmg+Cj4gZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2JvYXJkcy96aWkt Y29tbW9uL3BuLWZpeHVwLmMgYi9hcmNoL2FybS9ib2FyZHMvemlpLWNvbW1vbi9wbi1maXh1cC5j Cj4gaW5kZXggYTY2NTE5OTkxNzc2Li5iOTZhZTlmYmFiMGIgMTAwNjQ0Cj4gLS0tIGEvYXJjaC9h cm0vYm9hcmRzL3ppaS1jb21tb24vcG4tZml4dXAuYwo+ICsrKyBiL2FyY2gvYXJtL2JvYXJkcy96 aWktY29tbW9uL3BuLWZpeHVwLmMKPiBAQCAtMSwxNiArMSw1IEBACj4gLS8qCj4gLSAqIENvcHly aWdodCAoQykgMjAxOSBab2RpYWMgSW5mbGlnaHQgSW5ub3ZhdGlvbgo+IC0gKgo+IC0gKiBUaGlz IHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29y Cj4gLSAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1Ymxp YyBMaWNlbnNlIGFzCj4gLSAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0 aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mCj4gLSAqIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBv cHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZGlz dHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKPiAtICogYnV0IFdJ VEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YK PiAtICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF LiAgU2VlIHRoZQo+IC0gKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRh aWxzLgo+IC0gKi8KPiArLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb3ItbGF0 ZXIKPiArLy8gU1BEWC1GaWxlQ29weXJpZ2h0VGV4dDogwqkgMjAxOSBab2RpYWMgSW5mbGlnaHQg SW5ub3ZhdGlvbgo+ICAKPiAgI2luY2x1ZGUgPGNvbW1vbi5oPgo+ICAjaW5jbHVkZSA8aW5pdC5o Pgo+IGRpZmYgLS1naXQgYS9hcmNoL2FybS9ib2FyZHMvemlpLWNvbW1vbi9wbi1maXh1cC5oIGIv YXJjaC9hcm0vYm9hcmRzL3ppaS1jb21tb24vcG4tZml4dXAuaAo+IGluZGV4IDkyNWU4YWQ2MzQ5 MS4uNjFiNGM1MTg2NmFjIDEwMDY0NAo+IC0tLSBhL2FyY2gvYXJtL2JvYXJkcy96aWktY29tbW9u L3BuLWZpeHVwLmgKPiArKysgYi9hcmNoL2FybS9ib2FyZHMvemlpLWNvbW1vbi9wbi1maXh1cC5o Cj4gQEAgLTEsMTYgKzEsNSBAQAo+IC0vKgo+IC0gKiBDb3B5cmlnaHQgKEMpIDIwMTkgWm9kaWFj IEluZmxpZ2h0IElubm92YXRpb24KPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29m dHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgo+IC0gKiBtb2RpZnkgaXQgdW5k ZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcwo+IC0gKiBw dWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24g MiBvZgo+IC0gKiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVy c2lvbi4KPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3Bl IHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCj4gLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsg d2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCj4gLSAqIE1FUkNIQU5UQUJJTElU WSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKPiAtICogR05V IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KPiAtICovCj4gKy8vIFNQ RFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9yLWxhdGVyCj4gKy8vIFNQRFgtRmlsZUNv cHlyaWdodFRleHQ6IMKpIDIwMTkgWm9kaWFjIEluZmxpZ2h0IElubm92YXRpb24KPiAgCj4gICNp Zm5kZWYgX19aSUlfUE5fRklYVVBfXwo+ICAjZGVmaW5lIF9fWklJX1BOX0ZJWFVQX18KPiBkaWZm IC0tZ2l0IGEvYXJjaC9hcm0vYm9hcmRzL3ppaS1jb21tb24vc3dpdGNoLWNtZC5jIGIvYXJjaC9h cm0vYm9hcmRzL3ppaS1jb21tb24vc3dpdGNoLWNtZC5jCj4gaW5kZXggY2Y1NTU0ZTJlOTk2Li5h NTljNzRhODYxNzMgMTAwNjQ0Cj4gLS0tIGEvYXJjaC9hcm0vYm9hcmRzL3ppaS1jb21tb24vc3dp dGNoLWNtZC5jCj4gKysrIGIvYXJjaC9hcm0vYm9hcmRzL3ppaS1jb21tb24vc3dpdGNoLWNtZC5j Cj4gQEAgLTEsMTYgKzEsNiBAQAo+IC0vKgo+IC0gKiBDb3B5cmlnaHQgKEMpIDIwMTggWm9kaWFj IEluZmxpZ2h0IElubm92YXRpb24KPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29m dHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgo+IC0gKiBtb2RpZnkgaXQgdW5k ZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcwo+IC0gKiBw dWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24g MiBvZgo+IC0gKiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVy c2lvbi4KPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3Bl IHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCj4gLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsg d2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCj4gLSAqIE1FUkNIQU5UQUJJTElU WSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKPiAtICogR05V IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KPiAtICovCj4gKy8vIFNQ RFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9yLWxhdGVyCj4gKy8vIFNQRFgtRmlsZUNv cHlyaWdodFRleHQ6IMKpIDIwMTggWm9kaWFjIEluZmxpZ2h0IElubm92YXRpb24KPiArCj4gICNp bmNsdWRlIDxjb21tYW5kLmg+Cj4gICNpbmNsdWRlIDxjb21tb24uaD4KPiAgI2luY2x1ZGUgPGky Yy9pMmMuaD4KPiBkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vYm9hcmRzL3ppaS1pbXg2cS1yZHUyL2Jv YXJkLmMgYi9hcmNoL2FybS9ib2FyZHMvemlpLWlteDZxLXJkdTIvYm9hcmQuYwo+IGluZGV4IDBm Mjk4ZDZhNDIzNS4uM2RiODY5NjBkZjQwIDEwMDY0NAo+IC0tLSBhL2FyY2gvYXJtL2JvYXJkcy96 aWktaW14NnEtcmR1Mi9ib2FyZC5jCj4gKysrIGIvYXJjaC9hcm0vYm9hcmRzL3ppaS1pbXg2cS1y ZHUyL2JvYXJkLmMKPiBAQCAtMSwxOCArMSw3IEBACj4gKy8vIFNQRFgtTGljZW5zZS1JZGVudGlm aWVyOiBHUEwtMi4wLW9yLWxhdGVyCj4gKy8vIFNQRFgtRmlsZUNvcHlyaWdodFRleHQ6IMKpIDIw MTYgWm9kaWFjIEluZmxpZ2h0IElubm92YXRpb24KPiAgCj4gLS8qCj4gLSAqIENvcHlyaWdodCAo QykgMjAxNiBab2RpYWMgSW5mbGlnaHQgSW5ub3ZhdGlvbgo+IC0gKiBBdXRob3I6IEFuZHJleSBT bWlybm92IDxhbmRyZXcuc21pcm5vdkBnbWFpbC5jb20+Cj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3Jh bSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKPiAtICog bW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vu c2UgYXMKPiAtICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVp dGhlciB2ZXJzaW9uIDIgb2YKPiAtICogdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikg YW55IGxhdGVyIHZlcnNpb24uCj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRl ZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAo+IC0gKiBidXQgV0lUSE9VVCBB TlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgo+IC0gKiBN RVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUg dGhlCj4gLSAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCj4g LSAqLwo+ICsvKiBBdXRob3I6IEFuZHJleSBTbWlybm92IDxhbmRyZXcuc21pcm5vdkBnbWFpbC5j b20+ICovCj4gIAo+ICAjaW5jbHVkZSA8Y29tbW9uLmg+Cj4gICNpbmNsdWRlIDxlbnZmcy5oPgo+ IGRpZmYgLS1naXQgYS9hcmNoL2FybS9ib2FyZHMvemlpLWlteDZxLXJkdTIvbG93bGV2ZWwuYyBi L2FyY2gvYXJtL2JvYXJkcy96aWktaW14NnEtcmR1Mi9sb3dsZXZlbC5jCj4gaW5kZXggODdlNjM0 NTA5ZjE5Li5jMTBjOTkyZDU1ZTIgMTAwNjQ0Cj4gLS0tIGEvYXJjaC9hcm0vYm9hcmRzL3ppaS1p bXg2cS1yZHUyL2xvd2xldmVsLmMKPiArKysgYi9hcmNoL2FybS9ib2FyZHMvemlpLWlteDZxLXJk dTIvbG93bGV2ZWwuYwo+IEBAIC0xLDE3ICsxLDcgQEAKPiAtLyoKPiAtICogQ29weXJpZ2h0IChD KSAyMDE2IFpvZGlhYyBJbmZsaWdodCBJbm5vdmF0aW9uCj4gLSAqIEF1dGhvcjogQW5kcmV5IFNt aXJub3YgPGFuZHJldy5zbWlybm92QGdtYWlsLmNvbT4KPiAtICoKPiAtICogVGhpcyBwcm9ncmFt IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgo+IC0gKiBt b2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5z ZSBhcwo+IC0gKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0 aGVyIHZlcnNpb24gMiBvZgo+IC0gKiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBh bnkgbGF0ZXIgdmVyc2lvbi4KPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVk IGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCj4gLSAqIGJ1dCBXSVRIT1VUIEFO WSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCj4gLSAqIE1F UkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0 aGUKPiAtICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KPiAt ICovCj4gKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9yLWxhdGVyCj4gKy8v IFNQRFgtRmlsZUNvcHlyaWdodFRleHQ6IMKpIDIwMTYgWm9kaWFjIEluZmxpZ2h0IElubm92YXRp b24KPiArCj4gKy8qIEF1dGhvcjogQW5kcmV5IFNtaXJub3YgPGFuZHJldy5zbWlybm92QGdtYWls LmNvbT4gKi8KPiAgCj4gICNpbmNsdWRlIDxkZWJ1Z19sbC5oPgo+ICAjaW5jbHVkZSA8Y29tbW9u Lmg+Cj4gZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2JvYXJkcy96aWktdmY2MTAtZGV2L2JvYXJkLmMg Yi9hcmNoL2FybS9ib2FyZHMvemlpLXZmNjEwLWRldi9ib2FyZC5jCj4gaW5kZXggNjQ0NTAyNWIy ZWNlLi4zOWY3OTAzYjAwOGYgMTAwNjQ0Cj4gLS0tIGEvYXJjaC9hcm0vYm9hcmRzL3ppaS12ZjYx MC1kZXYvYm9hcmQuYwo+ICsrKyBiL2FyY2gvYXJtL2JvYXJkcy96aWktdmY2MTAtZGV2L2JvYXJk LmMKPiBAQCAtMSwxNyArMSw3IEBACj4gLS8qCj4gLSAqIENvcHlyaWdodCAoQykgMjAxNiBab2Rp YWMgSW5mbGlnaHQgSW5ub3ZhdGlvbgo+IC0gKiBBdXRob3I6IEFuZHJleSBTbWlybm92IDxhbmRy ZXcuc21pcm5vdkBnbWFpbC5jb20+Cj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNv ZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKPiAtICogbW9kaWZ5IGl0IHVu ZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMKPiAtICog cHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9u IDIgb2YKPiAtICogdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZl cnNpb24uCj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9w ZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAo+IC0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7 IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgo+IC0gKiBNRVJDSEFOVEFCSUxJ VFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCj4gLSAqIEdO VSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCj4gLSAqLwo+ICsvLyBT UERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vci1sYXRlcgo+ICsvLyBTUERYLUZpbGVD b3B5cmlnaHRUZXh0OiDCqSAyMDE2IFpvZGlhYyBJbmZsaWdodCBJbm5vdmF0aW9uCj4gKwo+ICsv KiBBdXRob3I6IEFuZHJleSBTbWlybm92IDxhbmRyZXcuc21pcm5vdkBnbWFpbC5jb20+ICovCj4g IAo+ICAjaW5jbHVkZSA8Y29tbW9uLmg+Cj4gICNpbmNsdWRlIDxpbml0Lmg+Cj4gZGlmZiAtLWdp dCBhL2FyY2gvYXJtL2JvYXJkcy96aWktdmY2MTAtZGV2L2xvd2xldmVsLmMgYi9hcmNoL2FybS9i b2FyZHMvemlpLXZmNjEwLWRldi9sb3dsZXZlbC5jCj4gaW5kZXggOWI1NzU4MWQxYjA1Li5jMTgx OWVjOTk5ZWQgMTAwNjQ0Cj4gLS0tIGEvYXJjaC9hcm0vYm9hcmRzL3ppaS12ZjYxMC1kZXYvbG93 bGV2ZWwuYwo+ICsrKyBiL2FyY2gvYXJtL2JvYXJkcy96aWktdmY2MTAtZGV2L2xvd2xldmVsLmMK PiBAQCAtMSwxNyArMSw3IEBACj4gLS8qCj4gLSAqIENvcHlyaWdodCAoQykgMjAxNiBab2RpYWMg SW5mbGlnaHQgSW5ub3ZhdGlvbgo+IC0gKiBBdXRob3I6IEFuZHJleSBTbWlybm92IDxhbmRyZXcu c21pcm5vdkBnbWFpbC5jb20+Cj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3 YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKPiAtICogbW9kaWZ5IGl0IHVuZGVy IHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMKPiAtICogcHVi bGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIg b2YKPiAtICogdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNp b24uCj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0 aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAo+IC0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdp dGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgo+IC0gKiBNRVJDSEFOVEFCSUxJVFkg b3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCj4gLSAqIEdOVSBH ZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCj4gLSAqLwo+ICsvLyBTUERY LUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vci1sYXRlcgo+ICsvLyBTUERYLUZpbGVDb3B5 cmlnaHRUZXh0OiDCqSAyMDE2IFpvZGlhYyBJbmZsaWdodCBJbm5vdmF0aW9uCj4gKwo+ICsvKiBB dXRob3I6IEFuZHJleSBTbWlybm92IDxhbmRyZXcuc21pcm5vdkBnbWFpbC5jb20+ICovCj4gIAo+ ICAjaW5jbHVkZSA8Y29tbW9uLmg+Cj4gICNpbmNsdWRlIDxsaW51eC9zaXplcy5oPgo+IGRpZmYg LS1naXQgYS9hcmNoL2FybS9ib2FyZHMvenlsb25pdGUvYm9hcmQuYyBiL2FyY2gvYXJtL2JvYXJk cy96eWxvbml0ZS9ib2FyZC5jCj4gaW5kZXggMmYyNjI3MDU3MTQ2Li5jNWNjNmQ1MzhiNWQgMTAw NjQ0Cj4gLS0tIGEvYXJjaC9hcm0vYm9hcmRzL3p5bG9uaXRlL2JvYXJkLmMKPiArKysgYi9hcmNo L2FybS9ib2FyZHMvenlsb25pdGUvYm9hcmQuYwo+IEBAIC0xLDE3ICsxLDUgQEAKPiAtLyoKPiAt ICogKEMpIDIwMTQgUm9iZXJ0IEphcnptaWsgPHJvYmVydC5qYXJ6bWlrQGZyZWUuZnI+Cj4gLSAq Cj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0 ZSBpdCBhbmQvb3IKPiAtICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdl bmVyYWwgUHVibGljIExpY2Vuc2UgYXMKPiAtICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3 YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YKPiAtICogdGhlIExpY2Vuc2UsIG9y IChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCj4gLSAqCj4gLSAqIFRoaXMgcHJv Z3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAo+ IC0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3 YXJyYW50eSBvZgo+IC0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNV TEFSIFBVUlBPU0UuICBTZWUgdGhlCj4gLSAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZv ciBtb3JlIGRldGFpbHMuCj4gLSAqCj4gLSAqLwo+ICsvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmll cjogR1BMLTIuMC1vci1sYXRlcgo+ICsvLyBTUERYLUZpbGVDb3B5cmlnaHRUZXh0OiDCqSAyMDE0 IFJvYmVydCBKYXJ6bWlrIDxyb2JlcnQuamFyem1pa0BmcmVlLmZyPgo+ICAKPiAgI2luY2x1ZGUg PGNvbW1vbi5oPgo+ICAKPiBkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vYm9hcmRzL3p5bG9uaXRlL3p5 bG9uaXRlLmggYi9hcmNoL2FybS9ib2FyZHMvenlsb25pdGUvenlsb25pdGUuaAo+IGluZGV4IDRh MGZiOTBmZTljYS4uNjIxMmFjZTBjNmQxIDEwMDY0NAo+IC0tLSBhL2FyY2gvYXJtL2JvYXJkcy96 eWxvbml0ZS96eWxvbml0ZS5oCj4gKysrIGIvYXJjaC9hcm0vYm9hcmRzL3p5bG9uaXRlL3p5bG9u aXRlLmgKPiBAQCAtMSwxNyArMSw2IEBACj4gLS8qCj4gLSAqIChDKSAyMDExIFJvYmVydCBKYXJ6 bWlrIDxyb2JlcnQuamFyem1pa0BmcmVlLmZyPgo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMg ZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCj4gLSAqIG1vZGlm eSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFz Cj4gLSAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIg dmVyc2lvbiAyIG9mCj4gLSAqIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBs YXRlciB2ZXJzaW9uLgo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4g dGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKPiAtICogYnV0IFdJVEhPVVQgQU5ZIFdB UlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKPiAtICogTUVSQ0hB TlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQo+ IC0gKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgo+IC0gKgo+ IC0gKi8KPiArLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb3ItbGF0ZXIKPiAr Ly8gU1BEWC1GaWxlQ29weXJpZ2h0VGV4dDogwqkgMjAxMSBSb2JlcnQgSmFyem1payA8cm9iZXJ0 LmphcnptaWtAZnJlZS5mcj4KPiArCj4gICNpZm5kZWYgX1pZTE9OSVRFX0hfCj4gICNkZWZpbmUg X1pZTE9OSVRFX0hfCj4gIAo+IC0tIAo+IDIuMjYuMgo+IAo+IAo+IF9fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4gYmFyZWJveCBtYWlsaW5nIGxpc3QKPiBi YXJlYm94QGxpc3RzLmluZnJhZGVhZC5vcmcKPiBodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9t YWlsbWFuL2xpc3RpbmZvL2JhcmVib3gKCi0tIApSb2xhbmQgSGllYmVyLCBQZW5ndXRyb25peCBl LksuICAgICAgICAgIHwgci5oaWViZXJAcGVuZ3V0cm9uaXguZGUgICAgIHwKU3RldWVyd2FsZGVy IFN0ci4gMjEgICAgICAgICAgICAgICAgICAgICB8IGh0dHBzOi8vd3d3LnBlbmd1dHJvbml4LmRl LyB8CjMxMTM3IEhpbGRlc2hlaW0sIEdlcm1hbnkgICAgICAgICAgICAgICAgfCBQaG9uZTogKzQ5 LTUxMjEtMjA2OTE3LTAgICAgfApBbXRzZ2VyaWNodCBIaWxkZXNoZWltLCBIUkEgMjY4NiAgICAg ICAgIHwgRmF4OiAgICs0OS01MTIxLTIwNjkxNy01NTU1IHwKCl9fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fCmJhcmVib3ggbWFpbGluZyBsaXN0CmJhcmVib3hA bGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xp c3RpbmZvL2JhcmVib3gK