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 1jQS4z-0006O5-9w for barebox@lists.infradead.org; Mon, 20 Apr 2020 08:47:06 +0000 Date: Mon, 20 Apr 2020 10:46:57 +0200 From: Roland Hieber Message-ID: <20200420084657.7vqzmu5g5aj63sza@pengutronix.de> References: <20200417203308.22372-1-u.kleine-koenig@pengutronix.de> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20200417203308.22372-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] commands/*: Replace license boilerplate by SPDX identfiers To: Uwe =?utf-8?Q?Kleine-K=C3=B6nig?= Cc: barebox@lists.infradead.org T24gRnJpLCBBcHIgMTcsIDIwMjAgYXQgMTA6MzM6MDhQTSArMDIwMCwgVXdlIEtsZWluZS1Lw7Zu aWcgd3JvdGU6Cj4gV2hpbGUgYXQgaXQgYWxzbyBkcm9wIHJlZmVyZW5jZXMgdG8gdGhlIG5vbi1l eGlzdGluZyBDUkVESVRTIGZpbGUuCj4gCj4gU2lnbmVkLW9mZi1ieTogVXdlIEtsZWluZS1Lw7Zu aWcgPHUua2xlaW5lLWtvZW5pZ0BwZW5ndXRyb25peC5kZT4KPiAtLS0KPiBIZWxsbywKPiAKPiB0 aGVyZSBpcyBvbmUgZmlsZSAoMjA0OC5jKSB0aGF0IHNwZWNpZmllcyB0aGUgTUlUIGxpY2Vuc2Uu IEkgd29uZGVyIGlmCj4gd2Ugc2hvdWxkIHVzZSAiR1BMLTIuMCBPUiBNSVQiIHRoZXJlIGFzIGVm ZmVjdGl2ZWx5IGFzIGRpc3RyaWJ1dGVkIHdpdGgKPiBiYXJlYm94IGl0IGlzIGxpY2Vuc2VkIHVu ZGVyIHRoZSBHUEwgMiwgaXNuJ3QgaXQ/CgpJIHdvdWxkIHN0YXkgYXMgY2xvc2UgdG8gdGhlIHNv dXJjZSBhcyBwb3NzaWJsZS4gTUlUIGFuZCBHUEwtMi4wIGFyZQpjb21wYXRpYmxlLCBzbyB0aGVy ZSBpcyBubyBwcm9ibGVtIG9uIHRoZSBwcm9qZWN0IGxldmVsLCBhbmQgSSBzZWUgbm8KcmVhc29u IHRvIGhhbmRsZSB0aGlzIG9uIHRoZSBsZXZlbCBvZiBpbmRpdmlkdWFsIGZpbGVzLgoKPiBCZXN0 IHJlZ2FyZHMKPiBVd2UKPiAKPiAgY29tbWFuZHMvMjA0OC5jICAgICAgICAgICAgICAgfCAgMyAr LS0KPiAgY29tbWFuZHMvYXV0b21vdW50LmMgICAgICAgICAgfCAxMyArLS0tLS0tLS0tLS0tCj4g IGNvbW1hbmRzL2JhcmVib3gtdXBkYXRlLmMgICAgIHwgMTMgKy0tLS0tLS0tLS0tLQo+ICBjb21t YW5kcy9iYXNlbmFtZS5jICAgICAgICAgICB8IDE0ICstLS0tLS0tLS0tLS0tCj4gIGNvbW1hbmRz L2Jvb3QuYyAgICAgICAgICAgICAgIHwgMTMgKy0tLS0tLS0tLS0tLQo+ICBjb21tYW5kcy9ib290 Y2hvb3Nlci5jICAgICAgICB8IDExICstLS0tLS0tLS0tCj4gIGNvbW1hbmRzL2Jvb3RtLmMgICAg ICAgICAgICAgIHwgMTUgKy0tLS0tLS0tLS0tLS0tCj4gIGNvbW1hbmRzL2NhdC5jICAgICAgICAg ICAgICAgIHwgMTQgKy0tLS0tLS0tLS0tLS0KPiAgY29tbWFuZHMvY2QuYyAgICAgICAgICAgICAg ICAgfCAxNCArLS0tLS0tLS0tLS0tLQo+ICBjb21tYW5kcy9jbGVhci5jICAgICAgICAgICAgICB8 IDE0ICstLS0tLS0tLS0tLS0tCj4gIGNvbW1hbmRzL2NtcC5jICAgICAgICAgICAgICAgIHwgMTUg Ky0tLS0tLS0tLS0tLS0tCj4gIGNvbW1hbmRzL2NwLmMgICAgICAgICAgICAgICAgIHwgMTQgKy0t LS0tLS0tLS0tLS0KPiAgY29tbWFuZHMvY3JjLmMgICAgICAgICAgICAgICAgfCAxNCArLS0tLS0t LS0tLS0tLQo+ICBjb21tYW5kcy9kZWZhdWx0ZW52LmMgICAgICAgICB8IDE0ICstLS0tLS0tLS0t LS0tCj4gIGNvbW1hbmRzL2RldGVjdC5jICAgICAgICAgICAgIHwgMTQgKy0tLS0tLS0tLS0tLS0K PiAgY29tbWFuZHMvZGV2aW5mby5jICAgICAgICAgICAgfCAxMiArLS0tLS0tLS0tLS0KPiAgY29t bWFuZHMvZGZ1LmMgICAgICAgICAgICAgICAgfCAxNCArLS0tLS0tLS0tLS0tLQo+ICBjb21tYW5k cy9kaGNwLmMgICAgICAgICAgICAgICB8ICA1ICstLS0tCj4gIGNvbW1hbmRzL2RocnlzdG9uZS5j ICAgICAgICAgIHwgMTEgKy0tLS0tLS0tLS0KPiAgY29tbWFuZHMvZGlnZXN0LmMgICAgICAgICAg ICAgfCAgMyArLS0KPiAgY29tbWFuZHMvZGlybmFtZS5jICAgICAgICAgICAgfCAxNCArLS0tLS0t LS0tLS0tLQo+ICBjb21tYW5kcy9kbWVzZy5jICAgICAgICAgICAgICB8IDE0ICstLS0tLS0tLS0t LS0tCj4gIGNvbW1hbmRzL2RydmluZm8uYyAgICAgICAgICAgIHwgMTIgKy0tLS0tLS0tLS0tCj4g IGNvbW1hbmRzL2VjaG8uYyAgICAgICAgICAgICAgIHwgMTQgKy0tLS0tLS0tLS0tLS0KPiAgY29t bWFuZHMvZWRpdC5jICAgICAgICAgICAgICAgfCAxNCArLS0tLS0tLS0tLS0tLQo+ICBjb21tYW5k cy9leGVjLmMgICAgICAgICAgICAgICB8IDE0ICstLS0tLS0tLS0tLS0tCj4gIGNvbW1hbmRzL2V4 cG9ydC5jICAgICAgICAgICAgIHwgMTQgKy0tLS0tLS0tLS0tLS0KPiAgY29tbWFuZHMvZmFsc2Uu YyAgICAgICAgICAgICAgfCAxNSArLS0tLS0tLS0tLS0tLS0KPiAgY29tbWFuZHMvZmlsZXR5cGUu YyAgICAgICAgICAgfCAgMyArLS0KPiAgY29tbWFuZHMvZmlybXdhcmVsb2FkLmMgICAgICAgfCAx MCArLS0tLS0tLS0tCj4gIGNvbW1hbmRzL2ZsYXNoLmMgICAgICAgICAgICAgIHwgMTUgKy0tLS0t LS0tLS0tLS0tCj4gIGNvbW1hbmRzL2dsb2JhbC5jICAgICAgICAgICAgIHwgMTQgKy0tLS0tLS0t LS0tLS0KPiAgY29tbWFuZHMvZ28uYyAgICAgICAgICAgICAgICAgfCAxNSArLS0tLS0tLS0tLS0t LS0KPiAgY29tbWFuZHMvZ3Bpby5jICAgICAgICAgICAgICAgfCAxMyArLS0tLS0tLS0tLS0tCj4g IGNvbW1hbmRzL2hhYi5jICAgICAgICAgICAgICAgIHwgMTEgKy0tLS0tLS0tLS0KPiAgY29tbWFu ZHMvaGFzaHN1bS5jICAgICAgICAgICAgfCAxNCArLS0tLS0tLS0tLS0tLQo+ICBjb21tYW5kcy9o ZWxwLmMgICAgICAgICAgICAgICB8IDE1ICstLS0tLS0tLS0tLS0tLQo+ICBjb21tYW5kcy9pMmMu YyAgICAgICAgICAgICAgICB8IDEyICstLS0tLS0tLS0tLQo+ICBjb21tYW5kcy9pbWQuYyAgICAg ICAgICAgICAgICB8IDE1ICstLS0tLS0tLS0tLS0tLQo+ICBjb21tYW5kcy9pb21lbXBvcnQuYyAg ICAgICAgICB8IDEzICstLS0tLS0tLS0tLS0KPiAgY29tbWFuZHMvaXAtcm91dGUtZ2V0LmMgICAg ICAgfCAxMSArLS0tLS0tLS0tLQo+ICBjb21tYW5kcy9sZWQuYyAgICAgICAgICAgICAgICB8IDE1 ICstLS0tLS0tLS0tLS0tLQo+ICBjb21tYW5kcy9sZXQuYyAgICAgICAgICAgICAgICB8IDEyICst LS0tLS0tLS0tLQo+ICBjb21tYW5kcy9saW51eDE2LmMgICAgICAgICAgICB8IDEzICstLS0tLS0t LS0tLS0KPiAgY29tbWFuZHMvbGludXhfZXhlYy5jICAgICAgICAgfCAxNCArLS0tLS0tLS0tLS0t LQo+ICBjb21tYW5kcy9sbi5jICAgICAgICAgICAgICAgICB8IDE0ICstLS0tLS0tLS0tLS0tCj4g IGNvbW1hbmRzL2xvYWRiLmMgICAgICAgICAgICAgIHwgMTUgKy0tLS0tLS0tLS0tLS0tCj4gIGNv bW1hbmRzL2xvYWRlbnYuYyAgICAgICAgICAgIHwgMTQgKy0tLS0tLS0tLS0tLS0KPiAgY29tbWFu ZHMvbG9hZHMuYyAgICAgICAgICAgICAgfCAxNSArLS0tLS0tLS0tLS0tLS0KPiAgY29tbWFuZHMv bG9hZHh5LmMgICAgICAgICAgICAgfCAxNSArLS0tLS0tLS0tLS0tLS0KPiAgY29tbWFuZHMvbG9n aW4uYyAgICAgICAgICAgICAgfCAxNCArLS0tLS0tLS0tLS0tLQo+ICBjb21tYW5kcy9scy5jICAg ICAgICAgICAgICAgICB8IDE0ICstLS0tLS0tLS0tLS0tCj4gIGNvbW1hbmRzL2xzcGNpLmMgICAg ICAgICAgICAgIHwgMTQgKy0tLS0tLS0tLS0tLS0KPiAgY29tbWFuZHMvbWQuYyAgICAgICAgICAg ICAgICAgfCAxNCArLS0tLS0tLS0tLS0tLQo+ICBjb21tYW5kcy9tZW1jbXAuYyAgICAgICAgICAg ICB8IDE0ICstLS0tLS0tLS0tLS0tCj4gIGNvbW1hbmRzL21lbWNweS5jICAgICAgICAgICAgIHwg MTQgKy0tLS0tLS0tLS0tLS0KPiAgY29tbWFuZHMvbWVtaW5mby5jICAgICAgICAgICAgfCAxNCAr LS0tLS0tLS0tLS0tLQo+ICBjb21tYW5kcy9tZW1zZXQuYyAgICAgICAgICAgICB8IDE0ICstLS0t LS0tLS0tLS0tCj4gIGNvbW1hbmRzL21lbXRlc3QuYyAgICAgICAgICAgIHwgMTUgKy0tLS0tLS0t LS0tLS0tCj4gIGNvbW1hbmRzL21lbnUuYyAgICAgICAgICAgICAgIHwgMTUgKy0tLS0tLS0tLS0t LS0tCj4gIGNvbW1hbmRzL21lbnV0cmVlLmMgICAgICAgICAgIHwgMTEgKy0tLS0tLS0tLS0KPiAg Y29tbWFuZHMvbWlpdG9vbC5jICAgICAgICAgICAgfCAxNSArLS0tLS0tLS0tLS0tLS0KPiAgY29t bWFuZHMvbWtkaXIuYyAgICAgICAgICAgICAgfCAxNCArLS0tLS0tLS0tLS0tLQo+ICBjb21tYW5k cy9tbS5jICAgICAgICAgICAgICAgICB8IDE0ICstLS0tLS0tLS0tLS0tCj4gIGNvbW1hbmRzL21t Y19leHRjc2QuYyAgICAgICAgIHwgMTMgKy0tLS0tLS0tLS0tLQo+ICBjb21tYW5kcy9tb3VudC5j ICAgICAgICAgICAgICB8IDE0ICstLS0tLS0tLS0tLS0tCj4gIGNvbW1hbmRzL21zbGVlcC5jICAg ICAgICAgICAgIHwgMTEgKy0tLS0tLS0tLS0KPiAgY29tbWFuZHMvbXcuYyAgICAgICAgICAgICAg ICAgfCAxNCArLS0tLS0tLS0tLS0tLQo+ICBjb21tYW5kcy9uYW5kLWJpdGZsaXAuYyAgICAgICB8 IDExICstLS0tLS0tLS0tCj4gIGNvbW1hbmRzL25hbmQuYyAgICAgICAgICAgICAgIHwgMTQgKy0t LS0tLS0tLS0tLS0KPiAgY29tbWFuZHMvbmFuZHRlc3QuYyAgICAgICAgICAgfCAxMSArLS0tLS0t LS0tLQo+ICBjb21tYW5kcy9udi5jICAgICAgICAgICAgICAgICB8IDE0ICstLS0tLS0tLS0tLS0t Cj4gIGNvbW1hbmRzL29mX2Rpc3BsYXlfdGltaW5ncy5jIHwgMTMgKy0tLS0tLS0tLS0tLQo+ICBj b21tYW5kcy9vZl9kdW1wLmMgICAgICAgICAgICB8IDE0ICstLS0tLS0tLS0tLS0tCj4gIGNvbW1h bmRzL29mX2ZpeHVwX3N0YXR1cy5jICAgIHwgMTMgKy0tLS0tLS0tLS0tLQo+ICBjb21tYW5kcy9v Zl9ub2RlLmMgICAgICAgICAgICB8IDE0ICstLS0tLS0tLS0tLS0tCj4gIGNvbW1hbmRzL29mX3By b3BlcnR5LmMgICAgICAgIHwgMTQgKy0tLS0tLS0tLS0tLS0KPiAgY29tbWFuZHMvb2Z0cmVlLmMg ICAgICAgICAgICAgfCAxNCArLS0tLS0tLS0tLS0tLQo+ICBjb21tYW5kcy9wYXJ0aXRpb24uYyAg ICAgICAgICB8IDE0ICstLS0tLS0tLS0tLS0tCj4gIGNvbW1hbmRzL3Bhc3N3ZC5jICAgICAgICAg ICAgIHwgMTQgKy0tLS0tLS0tLS0tLS0KPiAgY29tbWFuZHMvcG93ZXJvZmYuYyAgICAgICAgICAg fCAxNCArLS0tLS0tLS0tLS0tLQo+ICBjb21tYW5kcy9wcmludGVudi5jICAgICAgICAgICB8IDE0 ICstLS0tLS0tLS0tLS0tCj4gIGNvbW1hbmRzL3B3ZC5jICAgICAgICAgICAgICAgIHwgMTQgKy0t LS0tLS0tLS0tLS0KPiAgY29tbWFuZHMvcmVhZGxpbmUuYyAgICAgICAgICAgfCAxNSArLS0tLS0t LS0tLS0tLS0KPiAgY29tbWFuZHMvcmVhZGxpbmsuYyAgICAgICAgICAgfCAxNCArLS0tLS0tLS0t LS0tLQo+ICBjb21tYW5kcy9yZWdpbmZvLmMgICAgICAgICAgICB8IDE0ICstLS0tLS0tLS0tLS0t Cj4gIGNvbW1hbmRzL3JlZ3VsYXRvci5jICAgICAgICAgIHwgMTQgKy0tLS0tLS0tLS0tLS0KPiAg Y29tbWFuZHMvcmVzZXQuYyAgICAgICAgICAgICAgfCAxNCArLS0tLS0tLS0tLS0tLQo+ICBjb21t YW5kcy9ybS5jICAgICAgICAgICAgICAgICB8IDE0ICstLS0tLS0tLS0tLS0tCj4gIGNvbW1hbmRz L3NhdmVlbnYuYyAgICAgICAgICAgIHwgMTQgKy0tLS0tLS0tLS0tLS0KPiAgY29tbWFuZHMvc2Vl ZC5jICAgICAgICAgICAgICAgfCAxMSArLS0tLS0tLS0tLQo+ICBjb21tYW5kcy9zZXRlbnYuYyAg ICAgICAgICAgICB8IDE0ICstLS0tLS0tLS0tLS0tCj4gIGNvbW1hbmRzL3NsZWVwLmMgICAgICAg ICAgICAgIHwgMTQgKy0tLS0tLS0tLS0tLS0KPiAgY29tbWFuZHMvc3BkX2RlY29kZS5jICAgICAg ICAgfCAxNyArLS0tLS0tLS0tLS0tLS0tLQo+ICBjb21tYW5kcy9zcGkuYyAgICAgICAgICAgICAg ICB8ICA0ICstLS0KPiAgY29tbWFuZHMvc3RhdGUuYyAgICAgICAgICAgICAgfCAxMSArLS0tLS0t LS0tLQo+ICBjb21tYW5kcy9zdGRkZXYuYyAgICAgICAgICAgICB8IDE0ICstLS0tLS0tLS0tLS0t Cj4gIGNvbW1hbmRzL3Rlc3QuYyAgICAgICAgICAgICAgIHwgMTQgKy0tLS0tLS0tLS0tLS0KPiAg Y29tbWFuZHMvdGZ0cC5jICAgICAgICAgICAgICAgfCAxMyArLS0tLS0tLS0tLS0tCj4gIGNvbW1h bmRzL3RpbWVvdXQuYyAgICAgICAgICAgIHwgMTQgKy0tLS0tLS0tLS0tLS0KPiAgY29tbWFuZHMv dHJpZ2dlci5jICAgICAgICAgICAgfCAxNSArLS0tLS0tLS0tLS0tLS0KPiAgY29tbWFuZHMvdHJ1 ZS5jICAgICAgICAgICAgICAgfCAxNSArLS0tLS0tLS0tLS0tLS0KPiAgY29tbWFuZHMvdWJpZm9y bWF0LmMgICAgICAgICAgfCAxMSArLS0tLS0tLS0tLQo+ICBjb21tYW5kcy91bW91bnQuYyAgICAg ICAgICAgICB8IDE0ICstLS0tLS0tLS0tLS0tCj4gIGNvbW1hbmRzL3VuY29tcHJlc3MuYyAgICAg ICAgIHwgMTQgKy0tLS0tLS0tLS0tLS0KPiAgY29tbWFuZHMvdXNiLmMgICAgICAgICAgICAgICAg fCAxNCArLS0tLS0tLS0tLS0tLQo+ICBjb21tYW5kcy91c2JnYWRnZXQuYyAgICAgICAgICB8IDE0 ICstLS0tLS0tLS0tLS0tCj4gIGNvbW1hbmRzL3VzYnNlcmlhbC5jICAgICAgICAgIHwgMTQgKy0t LS0tLS0tLS0tLS0KPiAgY29tbWFuZHMvdmVyc2lvbi5jICAgICAgICAgICAgfCAxNSArLS0tLS0t LS0tLS0tLS0KPiAgY29tbWFuZHMvd2QuYyAgICAgICAgICAgICAgICAgfCAxMSArLS0tLS0tLS0t LQo+ICAxMTAgZmlsZXMgY2hhbmdlZCwgMTEwIGluc2VydGlvbnMoKyksIDEzNDEgZGVsZXRpb25z KC0pCj4gCj4gZGlmZiAtLWdpdCBhL2NvbW1hbmRzLzIwNDguYyBiL2NvbW1hbmRzLzIwNDguYwo+ IGluZGV4IDg2NTgwM2E1YTYxNi4uZjVmODY5NDBlODBlIDEwMDY0NAo+IC0tLSBhL2NvbW1hbmRz LzIwNDguYwo+ICsrKyBiL2NvbW1hbmRzLzIwNDguYwo+IEBAIC0xLDYgKzEsNSBAQAo+ICsvLyBT UERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUCj4gIC8qCj4gLSAqIFRoZSBNSVQgTGljZW5zZSAo TUlUKQo+IC0gKgo+ICAgKiBDb3B5cmlnaHQgKGMpIDIwMTQgTWF1cml0cyB2YW4gZGVyIFNjaGVl Cj4gICAqCj4gICAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdl LCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHkKClRoZXNlIGJvaWxlcnBsYXRlIGxpbmVz IGNvdWxkIGJlIHJlbW92ZWQgdG9vLgoKPiBkaWZmIC0tZ2l0IGEvY29tbWFuZHMvYXV0b21vdW50 LmMgYi9jb21tYW5kcy9hdXRvbW91bnQuYwo+IGluZGV4IGE3MTQzMGM5ZWY1Ny4uOWQ1YWQ4OGM4 YTViIDEwMDY0NAo+IC0tLSBhL2NvbW1hbmRzL2F1dG9tb3VudC5jCj4gKysrIGIvY29tbWFuZHMv YXV0b21vdW50LmMKPiBAQCAtMSwxOSArMSw4IEBACj4gKy8vIFNQRFgtTGljZW5zZS1JZGVudGlm aWVyOiBHUEwtMi4wCgooRGVwcmVjYXRlZCwgc2VlIG5leHQgY29tbWVudC4pCgo+ICAvKgo+ICAg KiBhdXRvbW91bnQuYyAtIGF1dG9tb3VudCBkZXZpY2VzCj4gICAqCj4gICAqIENvcHlyaWdodCAo YykgMjAxMiBTYXNjaGEgSGF1ZXIgPHMuaGF1ZXJAcGVuZ3V0cm9uaXguZGU+LCBQZW5ndXRyb25p eAo+IC0gKgo+IC0gKiBTZWUgZmlsZSBDUkVESVRTIGZvciBsaXN0IG9mIHBlb3BsZSB3aG8gY29u dHJpYnV0ZWQgdG8gdGhpcwo+IC0gKiBwcm9qZWN0Lgo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0g aXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQo+ IC0gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl IHZlcnNpb24gMgo+IC0gKiBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRh dGlvbi4KPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3Bl IHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCj4gLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsg d2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCj4gLSAqIE1FUkNIQU5UQUJJTElU WSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKPiAtICogR05V IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KPiAgICovCj4gICNpbmNs dWRlIDxjb21tb24uaD4KPiAgI2luY2x1ZGUgPGNvbW1hbmQuaD4KPiBkaWZmIC0tZ2l0IGEvY29t bWFuZHMvYmFyZWJveC11cGRhdGUuYyBiL2NvbW1hbmRzL2JhcmVib3gtdXBkYXRlLmMKPiBpbmRl eCA1M2FmMmE4NTExMzcuLmMwNjc5OGE3YWU1NSAxMDA2NDQKPiAtLS0gYS9jb21tYW5kcy9iYXJl Ym94LXVwZGF0ZS5jCj4gKysrIGIvY29tbWFuZHMvYmFyZWJveC11cGRhdGUuYwo+IEBAIC0xLDE5 ICsxLDggQEAKPiArLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAKPiAgLyoKPiAg ICogYmFyZWJveC11cGRhdGUuYyAtIHVwZGF0ZSBiYXJlYm94Cj4gICAqCj4gICAqIENvcHlyaWdo dCAoYykgMjAxMiBTYXNjaGEgSGF1ZXIgPHMuaGF1ZXJAcGVuZ3V0cm9uaXguZGU+LCBQZW5ndXRy b25peAo+IC0gKgo+IC0gKiBTZWUgZmlsZSBDUkVESVRTIGZvciBsaXN0IG9mIHBlb3BsZSB3aG8g Y29udHJpYnV0ZWQgdG8gdGhpcwo+IC0gKiBwcm9qZWN0Lgo+IC0gKgo+IC0gKiBUaGlzIHByb2dy YW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlm eQo+IC0gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNl bnNlIHZlcnNpb24gMgo+IC0gKiBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91 bmRhdGlvbi4KPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBo b3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCj4gLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5U WTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCj4gLSAqIE1FUkNIQU5UQUJJ TElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKPiAtICog R05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KPiAgICovCj4gICNp bmNsdWRlIDxjb21tb24uaD4KPiAgI2luY2x1ZGUgPGNvbW1hbmQuaD4KPiBkaWZmIC0tZ2l0IGEv Y29tbWFuZHMvYmFzZW5hbWUuYyBiL2NvbW1hbmRzL2Jhc2VuYW1lLmMKPiBpbmRleCBjMWEyOGU5 ZTFkZTAuLmQ4ODM4OGZjOTllMCAxMDA2NDQKPiAtLS0gYS9jb21tYW5kcy9iYXNlbmFtZS5jCj4g KysrIGIvY29tbWFuZHMvYmFzZW5hbWUuYwo+IEBAIC0xLDIwICsxLDggQEAKPiArLy8gU1BEWC1M aWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAKPiAgLyoKPiAgICogYmFzZW5hbWUuYyAtIHN0cmlw IGRpcmVjdG9yeSBhbmQgc3VmZml4IGZyb20gZmlsZW5hbWVzCj4gICAqCj4gICAqIENvcHlyaWdo dCAoYykgMjAxMiBTYXNjaGEgSGF1ZXIgPHMuaGF1ZXJAcGVuZ3V0cm9uaXguZGU+LCBQZW5ndXRy b25peAo+IC0gKgo+IC0gKiBTZWUgZmlsZSBDUkVESVRTIGZvciBsaXN0IG9mIHBlb3BsZSB3aG8g Y29udHJpYnV0ZWQgdG8gdGhpcwo+IC0gKiBwcm9qZWN0Lgo+IC0gKgo+IC0gKiBUaGlzIHByb2dy YW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlm eQo+IC0gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNl bnNlIHZlcnNpb24gMgo+IC0gKiBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91 bmRhdGlvbi4KPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBo b3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCj4gLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5U WTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCj4gLSAqIE1FUkNIQU5UQUJJ TElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKPiAtICog R05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KPiAtICoKPiAgICov Cj4gIAo+ICAjaW5jbHVkZSA8Y29tbW9uLmg+Cj4gZGlmZiAtLWdpdCBhL2NvbW1hbmRzL2Jvb3Qu YyBiL2NvbW1hbmRzL2Jvb3QuYwo+IGluZGV4IGFhYTIwZmFhZTlkNC4uNDA3ZTE4MTNmZTFjIDEw MDY0NAo+IC0tLSBhL2NvbW1hbmRzL2Jvb3QuYwo+ICsrKyBiL2NvbW1hbmRzL2Jvb3QuYwo+IEBA IC0xLDE1ICsxLDQgQEAKPiAtLyoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7 IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgo+IC0gKiBtb2RpZnkgaXQgdW5kZXIgdGhl IHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcwo+IC0gKiBwdWJsaXNo ZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZgo+ IC0gKiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4K PiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQg aXQgd2lsbCBiZSB1c2VmdWwsCj4gLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91 dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCj4gLSAqIE1FUkNIQU5UQUJJTElUWSBvciBG SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKPiAtICogR05VIEdlbmVy YWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KPiAtICoKPiAtICovCj4gKy8vIFNQ RFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wKwoKR1BMLTIuMCsgaXMgdGhlIG9sZC1zdHls ZSBpZGVudGlmaWVyLCB3aGljaCBpcyBkZXByZWNhdGVkIGJ5IFNQRFggKHNlZQpodHRwczovL3Nw ZHgub3JnL2xpY2Vuc2VzLyBhdCB0aGUgYm90dG9tKS4gIEkgdGhpbmsgd2Ugc2hvdWxkIGFsc28g dXNlCm5ldy1zdHlsZSBHUEwtMi4wLW9yLWxhdGVyIG9yIEdQTC0yLjAtb25seSBoZXJlLgoKVGhl IHJlc3QgbG9va3Mgb2theS4gVGhhbmtzIGZvciBwaWNraW5nIHRoaXMgdXAhCgogLSBSb2xhbmQK Cj4gIAo+ICAjaW5jbHVkZSA8Z2xvYmFsdmFyLmg+Cj4gICNpbmNsdWRlIDxjb21tYW5kLmg+Cj4g ZGlmZiAtLWdpdCBhL2NvbW1hbmRzL2Jvb3RjaG9vc2VyLmMgYi9jb21tYW5kcy9ib290Y2hvb3Nl ci5jCj4gaW5kZXggYWM3NjNhNjU1Mzg1Li4wMDc2NmY1YjE1YWUgMTAwNjQ0Cj4gLS0tIGEvY29t bWFuZHMvYm9vdGNob29zZXIuYwo+ICsrKyBiL2NvbW1hbmRzL2Jvb3RjaG9vc2VyLmMKPiBAQCAt MSwxNiArMSw3IEBACj4gKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wKwo+ICAv Kgo+ICAgKiBDb3B5cmlnaHQgKEMpIDIwMTIgSmFuIEx1ZWJiZSA8ai5sdWViYmVAcGVuZ3V0cm9u aXguZGU+Cj4gICAqIENvcHlyaWdodCAoQykgMjAxNSBNYXJjIEtsZWluZS1CdWRkZSA8bWtsQHBl bmd1dHJvbml4LmRlPgo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsg eW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQo+IC0gKiBpdCB1bmRlciB0aGUg dGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQo+ IC0gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRo ZSBMaWNlbnNlLCBvcgo+IC0gKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgo+ IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBp dCB3aWxsIGJlIHVzZWZ1bCwKPiAtICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0 IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKPiAtICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJ VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQo+IC0gKiBHTlUgR2VuZXJh bCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgo+ICAgKi8KPiAgCj4gICNpbmNsdWRl IDxib290Y2hvb3Nlci5oPgo+IGRpZmYgLS1naXQgYS9jb21tYW5kcy9ib290bS5jIGIvY29tbWFu ZHMvYm9vdG0uYwo+IGluZGV4IDEwMGMyZTk5ZmIzZi4uY2UzNDFmNzUyZDExIDEwMDY0NAo+IC0t LSBhL2NvbW1hbmRzL2Jvb3RtLmMKPiArKysgYi9jb21tYW5kcy9ib290bS5jCj4gQEAgLTEsMjAg KzEsNyBAQAo+ICsvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMCsKPiAgLyoKPiAg ICogKEMpIENvcHlyaWdodCAyMDAwLTIwMDYKPiAgICogV29sZmdhbmcgRGVuaywgREVOWCBTb2Z0 d2FyZSBFbmdpbmVlcmluZywgd2RAZGVueC5kZS4KPiAtICoKPiAtICogU2VlIGZpbGUgQ1JFRElU UyBmb3IgbGlzdCBvZiBwZW9wbGUgd2hvIGNvbnRyaWJ1dGVkIHRvIHRoaXMKPiAtICogcHJvamVj dC4KPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVk aXN0cmlidXRlIGl0IGFuZC9vcgo+IC0gKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRo ZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcwo+IC0gKiBwdWJsaXNoZWQgYnkgdGhlIEZy ZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZgo+IC0gKiB0aGUgTGlj ZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KPiAtICoKPiAtICog VGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1 c2VmdWwsCj4gLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBp bXBsaWVkIHdhcnJhbnR5IG9mCj4gLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBB IFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKPiAtICogR05VIEdlbmVyYWwgUHVibGljIExp Y2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KPiAtICoKPiAgICovCj4gIAo+ICAvKgo+IGRpZmYgLS1n aXQgYS9jb21tYW5kcy9jYXQuYyBiL2NvbW1hbmRzL2NhdC5jCj4gaW5kZXggYzAxNzEwY2ZhZTRh Li5jNzVjMDI5YTVhNDcgMTAwNjQ0Cj4gLS0tIGEvY29tbWFuZHMvY2F0LmMKPiArKysgYi9jb21t YW5kcy9jYXQuYwo+IEBAIC0xLDE4ICsxLDYgQEAKPiArLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZp ZXI6IEdQTC0yLjAKPiAgLyoKPiAgICogQ29weXJpZ2h0IChjKSAyMDA3IFNhc2NoYSBIYXVlciA8 cy5oYXVlckBwZW5ndXRyb25peC5kZT4sIFBlbmd1dHJvbml4Cj4gLSAqCj4gLSAqIFNlZSBmaWxl IENSRURJVFMgZm9yIGxpc3Qgb2YgcGVvcGxlIHdobyBjb250cmlidXRlZCB0byB0aGlzCj4gLSAq IHByb2plY3QuCj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3Ug Y2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Cj4gLSAqIGl0IHVuZGVyIHRoZSB0ZXJt cyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyCj4gLSAqIGFzIHB1 Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgo+IC0gKgo+IC0gKiBUaGlz IHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1 bCwKPiAtICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxp ZWQgd2FycmFudHkgb2YKPiAtICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFS VElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQo+IC0gKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5z ZSBmb3IgbW9yZSBkZXRhaWxzLgo+IC0gKgo+ICAgKi8KPiAgCj4gIC8qKgo+IGRpZmYgLS1naXQg YS9jb21tYW5kcy9jZC5jIGIvY29tbWFuZHMvY2QuYwo+IGluZGV4IDU2MTFlOWE1OTBkMi4uMDEx NjZlZDNkODFhIDEwMDY0NAo+IC0tLSBhL2NvbW1hbmRzL2NkLmMKPiArKysgYi9jb21tYW5kcy9j ZC5jCj4gQEAgLTEsMjAgKzEsOCBAQAo+ICsvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BM LTIuMAo+ICAvKgo+ICAgKiBjZC5jIC0gY2hhbmdlIHdvcmtpbmcgZGlyZWN0b3J5Cj4gICAqCj4g ICAqIENvcHlyaWdodCAoYykgMjAwNyBTYXNjaGEgSGF1ZXIgPHMuaGF1ZXJAcGVuZ3V0cm9uaXgu ZGU+LCBQZW5ndXRyb25peAo+IC0gKgo+IC0gKiBTZWUgZmlsZSBDUkVESVRTIGZvciBsaXN0IG9m IHBlb3BsZSB3aG8gY29udHJpYnV0ZWQgdG8gdGhpcwo+IC0gKiBwcm9qZWN0Lgo+IC0gKgo+IC0g KiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQg YW5kL29yIG1vZGlmeQo+IC0gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFs IFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMgo+IC0gKiBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUg U29mdHdhcmUgRm91bmRhdGlvbi4KPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1 dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCj4gLSAqIGJ1dCBXSVRIT1VU IEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCj4gLSAq IE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNl ZSB0aGUKPiAtICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4K PiAtICoKPiAgICovCj4gIAo+ICAvKioKPiBkaWZmIC0tZ2l0IGEvY29tbWFuZHMvY2xlYXIuYyBi L2NvbW1hbmRzL2NsZWFyLmMKPiBpbmRleCAzYmUyMTE5ZGE0YTIuLjgwMjBjYzRmYmM4MSAxMDA2 NDQKPiAtLS0gYS9jb21tYW5kcy9jbGVhci5jCj4gKysrIGIvY29tbWFuZHMvY2xlYXIuYwo+IEBA IC0xLDIwICsxLDggQEAKPiArLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAKPiAg LyoKPiAgICogY2xlYXIuYyAtIENsZWFyIHRoZSBzY3JlZW4KPiAgICoKPiAgICogQ29weXJpZ2h0 IChjKSAyMDA3IFNhc2NoYSBIYXVlciA8cy5oYXVlckBwZW5ndXRyb25peC5kZT4sIFBlbmd1dHJv bml4Cj4gLSAqCj4gLSAqIFNlZSBmaWxlIENSRURJVFMgZm9yIGxpc3Qgb2YgcGVvcGxlIHdobyBj b250cmlidXRlZCB0byB0aGlzCj4gLSAqIHByb2plY3QuCj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3Jh bSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5 Cj4gLSAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vu c2UgdmVyc2lvbiAyCj4gLSAqIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3Vu ZGF0aW9uLgo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhv cGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKPiAtICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZ OyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKPiAtICogTUVSQ0hBTlRBQklM SVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQo+IC0gKiBH TlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgo+IC0gKgo+ICAgKi8K PiAgCj4gICNpbmNsdWRlIDxjb21tb24uaD4KPiBkaWZmIC0tZ2l0IGEvY29tbWFuZHMvY21wLmMg Yi9jb21tYW5kcy9jbXAuYwo+IGluZGV4IGM0OTM5ODhhNzhjMC4uYzM1MDQ0ZWRhZjYzIDEwMDY0 NAo+IC0tLSBhL2NvbW1hbmRzL2NtcC5jCj4gKysrIGIvY29tbWFuZHMvY21wLmMKPiBAQCAtMSwx OSArMSw2IEBACj4gKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wKwo+ICAvKgo+ ICAgKiBjbXAgLSBkZXRlcm1pbmUgaWYgdHdvIGZpbGVzIGRpZmZlcgo+IC0gKgo+IC0gKiBTZWUg ZmlsZSBDUkVESVRTIGZvciBsaXN0IG9mIHBlb3BsZSB3aG8gY29udHJpYnV0ZWQgdG8gdGhpcwo+ IC0gKiBwcm9qZWN0Lgo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsg eW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCj4gLSAqIG1vZGlmeSBpdCB1bmRlciB0aGUg dGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzCj4gLSAqIHB1Ymxpc2hl ZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mCj4g LSAqIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgo+ IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBp dCB3aWxsIGJlIHVzZWZ1bCwKPiAtICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0 IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKPiAtICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJ VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQo+IC0gKiBHTlUgR2VuZXJh bCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgo+IC0gKgo+ICAgKi8KPiAgCj4gICNp bmNsdWRlIDxjb21tb24uaD4KPiBkaWZmIC0tZ2l0IGEvY29tbWFuZHMvY3AuYyBiL2NvbW1hbmRz L2NwLmMKPiBpbmRleCA4NDVkYWU2YjE1NTEuLjU3M2ViNWFjMmIzMyAxMDA2NDQKPiAtLS0gYS9j b21tYW5kcy9jcC5jCj4gKysrIGIvY29tbWFuZHMvY3AuYwo+IEBAIC0xLDIwICsxLDggQEAKPiAr Ly8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAKPiAgLyoKPiAgICogY3AuYyAtIGNv cHkgZmlsZXMKPiAgICoKPiAgICogQ29weXJpZ2h0IChjKSAyMDA3IFNhc2NoYSBIYXVlciA8cy5o YXVlckBwZW5ndXRyb25peC5kZT4sIFBlbmd1dHJvbml4Cj4gLSAqCj4gLSAqIFNlZSBmaWxlIENS RURJVFMgZm9yIGxpc3Qgb2YgcGVvcGxlIHdobyBjb250cmlidXRlZCB0byB0aGlzCj4gLSAqIHBy b2plY3QuCj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2Fu IHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Cj4gLSAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBv ZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyCj4gLSAqIGFzIHB1Ymxp c2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgo+IC0gKgo+IC0gKiBUaGlzIHBy b2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwK PiAtICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQg d2FycmFudHkgb2YKPiAtICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElD VUxBUiBQVVJQT1NFLiAgU2VlIHRoZQo+IC0gKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBm b3IgbW9yZSBkZXRhaWxzLgo+IC0gKgo+ICAgKi8KPiAgCj4gICNpbmNsdWRlIDxjb21tb24uaD4K PiBkaWZmIC0tZ2l0IGEvY29tbWFuZHMvY3JjLmMgYi9jb21tYW5kcy9jcmMuYwo+IGluZGV4IDU4 MDUyMWQ2NzdjOS4uNGZjZjA0ZjVhMzA3IDEwMDY0NAo+IC0tLSBhL2NvbW1hbmRzL2NyYy5jCj4g KysrIGIvY29tbWFuZHMvY3JjLmMKPiBAQCAtMSwyMCArMSw4IEBACj4gKy8vIFNQRFgtTGljZW5z ZS1JZGVudGlmaWVyOiBHUEwtMi4wCj4gIC8qCj4gICAqIGNyYy5jIC0gQ2FsY3VsYXRlIGEgY3Jj MzIgY2hlY2tzdW0gb2YgYSBtZW1vcnkgYXJlYQo+ICAgKgo+ICAgKiBDb3B5cmlnaHQgKGMpIDIw MDcgU2FzY2hhIEhhdWVyIDxzLmhhdWVyQHBlbmd1dHJvbml4LmRlPiwgUGVuZ3V0cm9uaXgKPiAt ICoKPiAtICogU2VlIGZpbGUgQ1JFRElUUyBmb3IgbGlzdCBvZiBwZW9wbGUgd2hvIGNvbnRyaWJ1 dGVkIHRvIHRoaXMKPiAtICogcHJvamVjdC4KPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGZy ZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKPiAtICog aXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJz aW9uIDIKPiAtICogYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24u Cj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0 IGl0IHdpbGwgYmUgdXNlZnVsLAo+IC0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhv dXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgo+IC0gKiBNRVJDSEFOVEFCSUxJVFkgb3Ig RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCj4gLSAqIEdOVSBHZW5l cmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCj4gLSAqCj4gICAqLwo+ICAKPiAg I2luY2x1ZGUgPGNvbW1vbi5oPgo+IGRpZmYgLS1naXQgYS9jb21tYW5kcy9kZWZhdWx0ZW52LmMg Yi9jb21tYW5kcy9kZWZhdWx0ZW52LmMKPiBpbmRleCA0N2JkZjI2ZDE0MDUuLjE2ZWNkZmQ1YzEw MyAxMDA2NDQKPiAtLS0gYS9jb21tYW5kcy9kZWZhdWx0ZW52LmMKPiArKysgYi9jb21tYW5kcy9k ZWZhdWx0ZW52LmMKPiBAQCAtMSwxOCArMSw2IEBACj4gKy8vIFNQRFgtTGljZW5zZS1JZGVudGlm aWVyOiBHUEwtMi4wCj4gIC8qCj4gICAqIENvcHlyaWdodCAoYykgMjAxNCBTYXNjaGEgSGF1ZXIg PHMuaGF1ZXJAcGVuZ3V0cm9uaXguZGU+LCBQZW5ndXRyb25peAo+IC0gKgo+IC0gKiBTZWUgZmls ZSBDUkVESVRTIGZvciBsaXN0IG9mIHBlb3BsZSB3aG8gY29udHJpYnV0ZWQgdG8gdGhpcwo+IC0g KiBwcm9qZWN0Lgo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91 IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQo+IC0gKiBpdCB1bmRlciB0aGUgdGVy bXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMgo+IC0gKiBhcyBw dWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KPiAtICoKPiAtICogVGhp cyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2Vm dWwsCj4gLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBs aWVkIHdhcnJhbnR5IG9mCj4gLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBB UlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKPiAtICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vu c2UgZm9yIG1vcmUgZGV0YWlscy4KPiAtICoKPiAgICovCj4gIAo+ICAjaW5jbHVkZSA8Y29tbW9u Lmg+Cj4gZGlmZiAtLWdpdCBhL2NvbW1hbmRzL2RldGVjdC5jIGIvY29tbWFuZHMvZGV0ZWN0LmMK PiBpbmRleCA0OGJhYjRkMDIwMTguLjFjN2MzZGFiMzJjYiAxMDA2NDQKPiAtLS0gYS9jb21tYW5k cy9kZXRlY3QuYwo+ICsrKyBiL2NvbW1hbmRzL2RldGVjdC5jCj4gQEAgLTEsMjAgKzEsOCBAQAo+ ICsvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMAo+ICAvKgo+ICAgKiBkZXRlY3Qu YyAtIGRldGVjdCBkZXZpY2VzIGNvbW1hbmQKPiAgICoKPiAgICogQ29weXJpZ2h0IChjKSAyMDEz IFNhc2NoYSBIYXVlciA8cy5oYXVlckBwZW5ndXRyb25peC5kZT4sIFBlbmd1dHJvbml4Cj4gLSAq Cj4gLSAqIFNlZSBmaWxlIENSRURJVFMgZm9yIGxpc3Qgb2YgcGVvcGxlIHdobyBjb250cmlidXRl ZCB0byB0aGlzCj4gLSAqIHByb2plY3QuCj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVl IHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Cj4gLSAqIGl0 IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lv biAyCj4gLSAqIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgo+ IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBp dCB3aWxsIGJlIHVzZWZ1bCwKPiAtICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0 IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKPiAtICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJ VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQo+IC0gKiBHTlUgR2VuZXJh bCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgo+IC0gKgo+ICAgKi8KPiAgI2luY2x1 ZGUgPGNvbW1vbi5oPgo+ICAjaW5jbHVkZSA8Y29tbWFuZC5oPgo+IGRpZmYgLS1naXQgYS9jb21t YW5kcy9kZXZpbmZvLmMgYi9jb21tYW5kcy9kZXZpbmZvLmMKPiBpbmRleCBjZDY5ZDJlNWY4MDgu LmM4Mzk1MjAxNTljNCAxMDA2NDQKPiAtLS0gYS9jb21tYW5kcy9kZXZpbmZvLmMKPiArKysgYi9j b21tYW5kcy9kZXZpbmZvLmMKPiBAQCAtMSwxNiArMSw2IEBACj4gKy8vIFNQRFgtTGljZW5zZS1J ZGVudGlmaWVyOiBHUEwtMi4wKwo+ICAvKgo+ICAgKiBDb3B5cmlnaHQgKEMpIDIwMTMgU2FzY2hh IEhhdWVyLCBQZW5ndXRyb25peAo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0 d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCj4gLSAqIG1vZGlmeSBpdCB1bmRl ciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzCj4gLSAqIHB1 Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAy IG9mCj4gLSAqIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJz aW9uLgo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUg dGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKPiAtICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3 aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKPiAtICogTUVSQ0hBTlRBQklMSVRZ IG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQo+IC0gKiBHTlUg R2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgo+IC0gKgo+ICAgKi8KPiAg Cj4gICNpbmNsdWRlIDxjb21tYW5kLmg+Cj4gZGlmZiAtLWdpdCBhL2NvbW1hbmRzL2RmdS5jIGIv Y29tbWFuZHMvZGZ1LmMKPiBpbmRleCAzZjUyYmJkZDk4NzEuLmY2MDVkNzMxNGU0YSAxMDA2NDQK PiAtLS0gYS9jb21tYW5kcy9kZnUuYwo+ICsrKyBiL2NvbW1hbmRzL2RmdS5jCj4gQEAgLTEsMjAg KzEsOCBAQAo+ICsvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMAo+ICAvKgo+ICAg KiBkZnUuYyAtIGRldmljZSBmaXJtd2FyZSB1cGRhdGUgY29tbWFuZAo+ICAgKgo+ICAgKiBDb3B5 cmlnaHQgKGMpIDIwMDkgU2FzY2hhIEhhdWVyIDxzLmhhdWVyQHBlbmd1dHJvbml4LmRlPiwgUGVu Z3V0cm9uaXgKPiAtICoKPiAtICogU2VlIGZpbGUgQ1JFRElUUyBmb3IgbGlzdCBvZiBwZW9wbGUg d2hvIGNvbnRyaWJ1dGVkIHRvIHRoaXMKPiAtICogcHJvamVjdC4KPiAtICoKPiAtICogVGhpcyBw cm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBt b2RpZnkKPiAtICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMg TGljZW5zZSB2ZXJzaW9uIDIKPiAtICogYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJl IEZvdW5kYXRpb24uCj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0 aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAo+IC0gKiBidXQgV0lUSE9VVCBBTlkgV0FS UkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgo+IC0gKiBNRVJDSEFO VEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCj4g LSAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCj4gLSAqCj4g ICAqLwo+ICAjaW5jbHVkZSA8Y29tbW9uLmg+Cj4gICNpbmNsdWRlIDxjb21tYW5kLmg+Cj4gZGlm ZiAtLWdpdCBhL2NvbW1hbmRzL2RoY3AuYyBiL2NvbW1hbmRzL2RoY3AuYwo+IGluZGV4IGQ5ZTg0 NGIzYmU3ZC4uY2Y1YWIxZDA5M2Y3IDEwMDY0NAo+IC0tLSBhL2NvbW1hbmRzL2RoY3AuYwo+ICsr KyBiL2NvbW1hbmRzL2RoY3AuYwo+IEBAIC0xLDEyICsxLDkgQEAKPiArLy8gU1BEWC1MaWNlbnNl LUlkZW50aWZpZXI6IEdQTC0yLjAKPiAgLyoKPiAgICogQ29weXJpZ2h0IChDKSAyMDE1IFBIWVRF QyBNZXNzdGVjaG5payBHbWJILAo+ICAgKiBBdXRob3I6IFdhZGltIEVnb3JvdiA8dy5lZ29yb3ZA cGh5dGVjLmRlPgo+ICAgKgo+ICAgKiBCYXNlZCBvbiB3b3JrIG9mIFNhc2NoYSBIYXVlciA8cy5o YXVlckBwZW5ndXRyb25peC5kZT4uCj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNv ZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Cj4gLSAqIGl0IHVu ZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAy IGFzCj4gLSAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgo+ICAg Ki8KPiAgCj4gICNpbmNsdWRlIDxjb21tb24uaD4KPiBkaWZmIC0tZ2l0IGEvY29tbWFuZHMvZGhy eXN0b25lLmMgYi9jb21tYW5kcy9kaHJ5c3RvbmUuYwo+IGluZGV4IGY2NzcyMjY3YjNiMS4uM2Jm OTEwMmVkNTJmIDEwMDY0NAo+IC0tLSBhL2NvbW1hbmRzL2RocnlzdG9uZS5jCj4gKysrIGIvY29t bWFuZHMvZGhyeXN0b25lLmMKPiBAQCAtMSwzICsxLDQgQEAKPiArLy8gU1BEWC1MaWNlbnNlLUlk ZW50aWZpZXI6IEdQTC0yLjAKPiAgLyoKPiAgICogKEMpIENvcHlyaWdodCAyMDE0IC0gMjAxNSBQ aHl0ZWMgTWVzc3RlY2huaWsgR21iSAo+ICAgKiBBdXRob3I6IFN0ZWZhbiBNw7xsbGVyLUtsaWVz ZXIgPHMubXVlbGxlci1rbGllc2VyQHBoeXRlYy5kZT4KPiBAQCAtNywxNiArOCw2IEBACj4gICAq IFZlcnNpb246ICAgIEMsIFZlcnNpb24gMi4xCj4gICAqIERhdGU6ICAgICAgIE1heSAyNSwgMTk4 OAo+ICAgKiBBdXRob3I6ICAgICBSZWluaG9sZCBQLiBXZWlja2VyCj4gLSAqCj4gLSAqIFRoaXMg cHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3Ig bW9kaWZ5Cj4gLSAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGlj IExpY2Vuc2UgdmVyc2lvbiAyCj4gLSAqIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2Fy ZSBGb3VuZGF0aW9uLgo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4g dGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKPiAtICogYnV0IFdJVEhPVVQgQU5ZIFdB UlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKPiAtICogTUVSQ0hB TlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQo+ IC0gKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgo+IC0gKgo+ ICAgKi8KPiAgCj4gICNpbmNsdWRlIDxjb21tb24uaD4KPiBkaWZmIC0tZ2l0IGEvY29tbWFuZHMv ZGlnZXN0LmMgYi9jb21tYW5kcy9kaWdlc3QuYwo+IGluZGV4IDIxYTA5MTcxNzAxNy4uNmIwMzA3 ODk5OTRmIDEwMDY0NAo+IC0tLSBhL2NvbW1hbmRzL2RpZ2VzdC5jCj4gKysrIGIvY29tbWFuZHMv ZGlnZXN0LmMKPiBAQCAtMSw3ICsxLDYgQEAKPiArLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6 IEdQTC0yLjAKPiAgLyoKPiAgICogQ29weXJpZ2h0IChjKSAyMDE1IEplYW4tQ2hyaXN0b3BoZSBQ TEFHTklPTC1WSUxMQVJEIDxwbGFnbmlvakBqY3Jvc29mdC5jb20+Cj4gLSAqCj4gLSAqIEdQTHYy IE9OTFkKPiAgICovCj4gIAo+ICAjaW5jbHVkZSA8Y29tbW9uLmg+Cj4gZGlmZiAtLWdpdCBhL2Nv bW1hbmRzL2Rpcm5hbWUuYyBiL2NvbW1hbmRzL2Rpcm5hbWUuYwo+IGluZGV4IDczY2YxZTRkNDNl Zi4uYjk4ZTRkMjQyMDY5IDEwMDY0NAo+IC0tLSBhL2NvbW1hbmRzL2Rpcm5hbWUuYwo+ICsrKyBi L2NvbW1hbmRzL2Rpcm5hbWUuYwo+IEBAIC0xLDIwICsxLDggQEAKPiArLy8gU1BEWC1MaWNlbnNl LUlkZW50aWZpZXI6IEdQTC0yLjAKPiAgLyoKPiAgICogZGlybmFtZS5jIC0gc3RyaXAgZGlyZWN0 b3J5IGFuZCBzdWZmaXggZnJvbSBmaWxlbmFtZXMKPiAgICoKPiAgICogQ29weXJpZ2h0IChjKSAy MDEyIFNhc2NoYSBIYXVlciA8cy5oYXVlckBwZW5ndXRyb25peC5kZT4sIFBlbmd1dHJvbml4Cj4g LSAqCj4gLSAqIFNlZSBmaWxlIENSRURJVFMgZm9yIGxpc3Qgb2YgcGVvcGxlIHdobyBjb250cmli dXRlZCB0byB0aGlzCj4gLSAqIHByb2plY3QuCj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBm cmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Cj4gLSAq IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVy c2lvbiAyCj4gLSAqIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u Lgo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhh dCBpdCB3aWxsIGJlIHVzZWZ1bCwKPiAtICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRo b3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKPiAtICogTUVSQ0hBTlRBQklMSVRZIG9y IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQo+IC0gKiBHTlUgR2Vu ZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgo+IC0gKgo+ICAgKi8KPiAgCj4g ICNpbmNsdWRlIDxjb21tb24uaD4KPiBkaWZmIC0tZ2l0IGEvY29tbWFuZHMvZG1lc2cuYyBiL2Nv bW1hbmRzL2RtZXNnLmMKPiBpbmRleCBhN2RlZjJmMTU4YmQuLmU5OTE2Y2RhZGQ5OCAxMDA2NDQK PiAtLS0gYS9jb21tYW5kcy9kbWVzZy5jCj4gKysrIGIvY29tbWFuZHMvZG1lc2cuYwo+IEBAIC0x LDIwICsxLDggQEAKPiArLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAKPiAgLyoK PiAgICogZG1lc2cuYyAtIGJhcmVib3ggbG9nYnVmZmVyIGhhbmRsaW5nCj4gICAqCj4gICAqIENv cHlyaWdodCAoYykgMjAxNCBTYXNjaGEgSGF1ZXIgPHMuaGF1ZXJAcGVuZ3V0cm9uaXguZGU+LCBQ ZW5ndXRyb25peAo+IC0gKgo+IC0gKiBTZWUgZmlsZSBDUkVESVRTIGZvciBsaXN0IG9mIHBlb3Bs ZSB3aG8gY29udHJpYnV0ZWQgdG8gdGhpcwo+IC0gKiBwcm9qZWN0Lgo+IC0gKgo+IC0gKiBUaGlz IHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29y IG1vZGlmeQo+IC0gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1Ymxp YyBMaWNlbnNlIHZlcnNpb24gMgo+IC0gKiBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdh cmUgRm91bmRhdGlvbi4KPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGlu IHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCj4gLSAqIGJ1dCBXSVRIT1VUIEFOWSBX QVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCj4gLSAqIE1FUkNI QU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUK PiAtICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KPiAtICoK PiAgICovCj4gICNpbmNsdWRlIDxjb21tb24uaD4KPiAgI2luY2x1ZGUgPG1hbGxvYy5oPgo+IGRp ZmYgLS1naXQgYS9jb21tYW5kcy9kcnZpbmZvLmMgYi9jb21tYW5kcy9kcnZpbmZvLmMKPiBpbmRl eCA0YTRiOTU3NTM3YmQuLjlhNDQ4MGI1MjAzNCAxMDA2NDQKPiAtLS0gYS9jb21tYW5kcy9kcnZp bmZvLmMKPiArKysgYi9jb21tYW5kcy9kcnZpbmZvLmMKPiBAQCAtMSwxNyArMSw3IEBACj4gKy8v IFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wKwo+ICAvKgo+ICAgKiBDb3B5cmlnaHQg KEMpIDIwMTMgU2FzY2hhIEhhdWVyLCBQZW5ndXRyb25peAo+ICAgKiBDb3B5cmlnaHQgKEMpIDIw MTQgSG9sZ2VyIFNjaHVyaWcKPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdh cmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgo+IC0gKiBtb2RpZnkgaXQgdW5kZXIg dGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcwo+IC0gKiBwdWJs aXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBv Zgo+IC0gKiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lv bi4KPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRo YXQgaXQgd2lsbCBiZSB1c2VmdWwsCj4gLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0 aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCj4gLSAqIE1FUkNIQU5UQUJJTElUWSBv ciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKPiAtICogR05VIEdl bmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KPiAtICoKPiAgICovCj4gIAo+ ICAjaW5jbHVkZSA8Y29tbW9uLmg+Cj4gZGlmZiAtLWdpdCBhL2NvbW1hbmRzL2VjaG8uYyBiL2Nv bW1hbmRzL2VjaG8uYwo+IGluZGV4IDg4NTNlZTBhMzA5My4uMjgwNmZhMWNkOTBhIDEwMDY0NAo+ IC0tLSBhL2NvbW1hbmRzL2VjaG8uYwo+ICsrKyBiL2NvbW1hbmRzL2VjaG8uYwo+IEBAIC0xLDIw ICsxLDggQEAKPiArLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAKPiAgLyoKPiAg ICogZWNoby5jIC0gZWNobyBhcmd1bWVudHMgdG8gc3Rkb3V0IG9yIGludG8gYSBmaWxlCj4gICAq Cj4gICAqIENvcHlyaWdodCAoYykgMjAwNyBTYXNjaGEgSGF1ZXIgPHMuaGF1ZXJAcGVuZ3V0cm9u aXguZGU+LCBQZW5ndXRyb25peAo+IC0gKgo+IC0gKiBTZWUgZmlsZSBDUkVESVRTIGZvciBsaXN0 IG9mIHBlb3BsZSB3aG8gY29udHJpYnV0ZWQgdG8gdGhpcwo+IC0gKiBwcm9qZWN0Lgo+IC0gKgo+ IC0gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUg aXQgYW5kL29yIG1vZGlmeQo+IC0gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5l cmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMgo+IC0gKiBhcyBwdWJsaXNoZWQgYnkgdGhlIEZy ZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGRpc3Ry aWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCj4gLSAqIGJ1dCBXSVRI T1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCj4g LSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4g IFNlZSB0aGUKPiAtICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWls cy4KPiAtICoKPiAgICovCj4gIAo+ICAjaW5jbHVkZSA8Y29tbW9uLmg+Cj4gZGlmZiAtLWdpdCBh L2NvbW1hbmRzL2VkaXQuYyBiL2NvbW1hbmRzL2VkaXQuYwo+IGluZGV4IDRlNjYxZGYxNGYxOS4u Y2VkOTU0ZDQzNDZjIDEwMDY0NAo+IC0tLSBhL2NvbW1hbmRzL2VkaXQuYwo+ICsrKyBiL2NvbW1h bmRzL2VkaXQuYwo+IEBAIC0xLDE4ICsxLDYgQEAKPiArLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZp ZXI6IEdQTC0yLjAKPiAgLyoKPiAgICogQ29weXJpZ2h0IChjKSAyMDA3IFNhc2NoYSBIYXVlciA8 cy5oYXVlckBwZW5ndXRyb25peC5kZT4sIFBlbmd1dHJvbml4Cj4gLSAqCj4gLSAqIFNlZSBmaWxl IENSRURJVFMgZm9yIGxpc3Qgb2YgcGVvcGxlIHdobyBjb250cmlidXRlZCB0byB0aGlzCj4gLSAq IHByb2plY3QuCj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3Ug Y2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Cj4gLSAqIGl0IHVuZGVyIHRoZSB0ZXJt cyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyCj4gLSAqIGFzIHB1 Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgo+IC0gKgo+IC0gKiBUaGlz IHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1 bCwKPiAtICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxp ZWQgd2FycmFudHkgb2YKPiAtICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFS VElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQo+IC0gKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5z ZSBmb3IgbW9yZSBkZXRhaWxzLgo+IC0gKgo+ICAgKi8KPiAgCj4gICNpbmNsdWRlIDxjb21tb24u aD4KPiBkaWZmIC0tZ2l0IGEvY29tbWFuZHMvZXhlYy5jIGIvY29tbWFuZHMvZXhlYy5jCj4gaW5k ZXggN2M4OTM0ZjEzN2UyLi40ZDIwZTFmYWVkZGMgMTAwNjQ0Cj4gLS0tIGEvY29tbWFuZHMvZXhl Yy5jCj4gKysrIGIvY29tbWFuZHMvZXhlYy5jCj4gQEAgLTEsMjAgKzEsOCBAQAo+ICsvLyBTUERY LUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMAo+ICAvKgo+ICAgKiBleGVjLmMgLSBleGVjdXRl IHNjcmlwdHMKPiAgICoKPiAgICogQ29weXJpZ2h0IChjKSAyMDA3IFNhc2NoYSBIYXVlciA8cy5o YXVlckBwZW5ndXRyb25peC5kZT4sIFBlbmd1dHJvbml4Cj4gLSAqCj4gLSAqIFNlZSBmaWxlIENS RURJVFMgZm9yIGxpc3Qgb2YgcGVvcGxlIHdobyBjb250cmlidXRlZCB0byB0aGlzCj4gLSAqIHBy b2plY3QuCj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2Fu IHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Cj4gLSAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBv ZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyCj4gLSAqIGFzIHB1Ymxp c2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgo+IC0gKgo+IC0gKiBUaGlzIHBy b2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwK PiAtICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQg d2FycmFudHkgb2YKPiAtICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElD VUxBUiBQVVJQT1NFLiAgU2VlIHRoZQo+IC0gKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBm b3IgbW9yZSBkZXRhaWxzLgo+IC0gKgo+ICAgKi8KPiAgCj4gICNpbmNsdWRlIDxjb21tb24uaD4K PiBkaWZmIC0tZ2l0IGEvY29tbWFuZHMvZXhwb3J0LmMgYi9jb21tYW5kcy9leHBvcnQuYwo+IGlu ZGV4IDRiNGNmMWUxMmUyNC4uMWZhYTYxMDFjYWYxIDEwMDY0NAo+IC0tLSBhL2NvbW1hbmRzL2V4 cG9ydC5jCj4gKysrIGIvY29tbWFuZHMvZXhwb3J0LmMKPiBAQCAtMSwxOCArMSw2IEBACj4gKy8v IFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wCj4gIC8qCj4gICAqIENvcHlyaWdodCAo YykgMjAwNyBTYXNjaGEgSGF1ZXIgPHMuaGF1ZXJAcGVuZ3V0cm9uaXguZGU+LCBQZW5ndXRyb25p eAo+IC0gKgo+IC0gKiBTZWUgZmlsZSBDUkVESVRTIGZvciBsaXN0IG9mIHBlb3BsZSB3aG8gY29u dHJpYnV0ZWQgdG8gdGhpcwo+IC0gKiBwcm9qZWN0Lgo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0g aXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQo+ IC0gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl IHZlcnNpb24gMgo+IC0gKiBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRh dGlvbi4KPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3Bl IHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCj4gLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsg d2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCj4gLSAqIE1FUkNIQU5UQUJJTElU WSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKPiAtICogR05V IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KPiAtICoKPiAgICovCj4g IAo+ICAvKioKPiBkaWZmIC0tZ2l0IGEvY29tbWFuZHMvZmFsc2UuYyBiL2NvbW1hbmRzL2ZhbHNl LmMKPiBpbmRleCA5MGFhMmNjOWVhYjUuLmM3YTc5NDExYzY3NyAxMDA2NDQKPiAtLS0gYS9jb21t YW5kcy9mYWxzZS5jCj4gKysrIGIvY29tbWFuZHMvZmFsc2UuYwo+IEBAIC0xLDIwICsxLDcgQEAK PiArLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjArCj4gIC8qCj4gICAqIChDKSBD b3B5cmlnaHQgMjAwMC0yMDAzCj4gICAqIFdvbGZnYW5nIERlbmssIERFTlggU29mdHdhcmUgRW5n aW5lZXJpbmcsIHdkQGRlbnguZGUuCj4gLSAqCj4gLSAqIFNlZSBmaWxlIENSRURJVFMgZm9yIGxp c3Qgb2YgcGVvcGxlIHdobyBjb250cmlidXRlZCB0byB0aGlzCj4gLSAqIHByb2plY3QuCj4gLSAq Cj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0 ZSBpdCBhbmQvb3IKPiAtICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdl bmVyYWwgUHVibGljIExpY2Vuc2UgYXMKPiAtICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3 YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YKPiAtICogdGhlIExpY2Vuc2UsIG9y IChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCj4gLSAqCj4gLSAqIFRoaXMgcHJv Z3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAo+ IC0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3 YXJyYW50eSBvZgo+IC0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNV TEFSIFBVUlBPU0UuICBTZWUgdGhlCj4gLSAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZv ciBtb3JlIGRldGFpbHMuCj4gLSAqCj4gICAqLwo+ICAKPiAgI2luY2x1ZGUgPGNvbW1vbi5oPgo+ IGRpZmYgLS1naXQgYS9jb21tYW5kcy9maWxldHlwZS5jIGIvY29tbWFuZHMvZmlsZXR5cGUuYwo+ IGluZGV4IDRlMDE2ZGQ0ZDZkNC4uMzU5OTgyYjMwMjkxIDEwMDY0NAo+IC0tLSBhL2NvbW1hbmRz L2ZpbGV0eXBlLmMKPiArKysgYi9jb21tYW5kcy9maWxldHlwZS5jCj4gQEAgLTEsNyArMSw2IEBA Cj4gKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wCj4gIC8qCj4gICAqIChDKSBD b3B5cmlnaHQgMjAxMiBKZWFuLUNocmlzdG9waGUgUExBR05JT0wtVklMTEFSRCA8cGxhZ25pb2pA amNyb3NvZnQuY29tPgo+IC0gKgo+IC0gKiBVbmRlciBHUEx2MiBPbmx5Cj4gICAqLwo+ICAKPiAg I2luY2x1ZGUgPGNvbW1vbi5oPgo+IGRpZmYgLS1naXQgYS9jb21tYW5kcy9maXJtd2FyZWxvYWQu YyBiL2NvbW1hbmRzL2Zpcm13YXJlbG9hZC5jCj4gaW5kZXggZGJkNDNlMDQ2ZDhmLi5hZWMzZjM2 NDk4MTUgMTAwNjQ0Cj4gLS0tIGEvY29tbWFuZHMvZmlybXdhcmVsb2FkLmMKPiArKysgYi9jb21t YW5kcy9maXJtd2FyZWxvYWQuYwo+IEBAIC0xLDE0ICsxLDYgQEAKPiArLy8gU1BEWC1MaWNlbnNl LUlkZW50aWZpZXI6IEdQTC0yLjAKPiAgLyoKPiAgICogQ29weXJpZ2h0IChjKSAyMDEzIEp1ZXJn ZW4gQmVpc2VydCA8a2VybmVsQHBlbmd1dHJvbml4LmRlPiwgUGVuZ3V0cm9uaXgKPiAtICoKPiAt ICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0 IGFuZC9vciBtb2RpZnkKPiAtICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJh bCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIKPiAtICogYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVl IFNvZnR3YXJlIEZvdW5kYXRpb24uCj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmli dXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAo+IC0gKiBidXQgV0lUSE9V VCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgo+IC0g KiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBT ZWUgdGhlCj4gLSAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMu Cj4gICAqLwo+ICAKPiAgI2luY2x1ZGUgPGNvbW1vbi5oPgo+IGRpZmYgLS1naXQgYS9jb21tYW5k cy9mbGFzaC5jIGIvY29tbWFuZHMvZmxhc2guYwo+IGluZGV4IGQ4ODFiNGQzOTllYS4uNTQ5ZTY2 YjY2N2JiIDEwMDY0NAo+IC0tLSBhL2NvbW1hbmRzL2ZsYXNoLmMKPiArKysgYi9jb21tYW5kcy9m bGFzaC5jCj4gQEAgLTEsMjIgKzEsOSBAQAo+ICsvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjog R1BMLTIuMCsKPiAgLyoKPiAgICogZXJhc2UsIHByb3RlY3QsIHVucHJvdGVjdCAtIEZMQVNIIHN1 cHBvcnQKPiAgICoKPiAgICogKEMpIENvcHlyaWdodCAyMDAwCj4gICAqIFdvbGZnYW5nIERlbmss IERFTlggU29mdHdhcmUgRW5naW5lZXJpbmcsIHdkQGRlbnguZGUuCj4gLSAqCj4gLSAqIFNlZSBm aWxlIENSRURJVFMgZm9yIGxpc3Qgb2YgcGVvcGxlIHdobyBjb250cmlidXRlZCB0byB0aGlzCj4g LSAqIHByb2plY3QuCj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5 b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKPiAtICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0 ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMKPiAtICogcHVibGlzaGVk IGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YKPiAt ICogdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCj4g LSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0 IHdpbGwgYmUgdXNlZnVsLAo+IC0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQg ZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgo+IC0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklU TkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCj4gLSAqIEdOVSBHZW5lcmFs IFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCj4gLSAqCj4gICAqLwo+ICAKPiAgI2lu Y2x1ZGUgPGNvbW1vbi5oPgo+IGRpZmYgLS1naXQgYS9jb21tYW5kcy9nbG9iYWwuYyBiL2NvbW1h bmRzL2dsb2JhbC5jCj4gaW5kZXggYzY2YmY2ZTUzOTUxLi41ZmFjM2ZiMWVlODUgMTAwNjQ0Cj4g LS0tIGEvY29tbWFuZHMvZ2xvYmFsLmMKPiArKysgYi9jb21tYW5kcy9nbG9iYWwuYwo+IEBAIC0x LDIwICsxLDggQEAKPiArLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAKPiAgLyoK PiAgICogZ2xvYmFsLmMgLSBnbG9iYWwgc2hlbGwgdmFyaWFibGVzCj4gICAqCj4gICAqIENvcHly aWdodCAoYykgMjAxMiBTYXNjaGEgSGF1ZXIgPHMuaGF1ZXJAcGVuZ3V0cm9uaXguZGU+LCBQZW5n dXRyb25peAo+IC0gKgo+IC0gKiBTZWUgZmlsZSBDUkVESVRTIGZvciBsaXN0IG9mIHBlb3BsZSB3 aG8gY29udHJpYnV0ZWQgdG8gdGhpcwo+IC0gKiBwcm9qZWN0Lgo+IC0gKgo+IC0gKiBUaGlzIHBy b2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1v ZGlmeQo+IC0gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBM aWNlbnNlIHZlcnNpb24gMgo+IC0gKiBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUg Rm91bmRhdGlvbi4KPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRo ZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCj4gLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJS QU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCj4gLSAqIE1FUkNIQU5U QUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKPiAt ICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KPiAtICoKPiAg ICovCj4gICNpbmNsdWRlIDxjb21tb24uaD4KPiAgI2luY2x1ZGUgPG1hbGxvYy5oPgo+IGRpZmYg LS1naXQgYS9jb21tYW5kcy9nby5jIGIvY29tbWFuZHMvZ28uYwo+IGluZGV4IGVjYzJjZWI2ZTQy Mi4uMDA0MTY0MjdkZDIxIDEwMDY0NAo+IC0tLSBhL2NvbW1hbmRzL2dvLmMKPiArKysgYi9jb21t YW5kcy9nby5jCj4gQEAgLTEsMjIgKzEsOSBAQAo+ICsvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmll cjogR1BMLTIuMCsKPiAgLyoKPiAgICogZ28tIGV4ZWN1dGUgc29tZSBjb2RlIGFueXdoZXJlICht aXNjIGJvb3Qgc3VwcG9ydCkKPiAgICoKPiAgICogKEMpIENvcHlyaWdodCAyMDAwLTIwMDMKPiAg ICogV29sZmdhbmcgRGVuaywgREVOWCBTb2Z0d2FyZSBFbmdpbmVlcmluZywgd2RAZGVueC5kZS4K PiAtICoKPiAtICogU2VlIGZpbGUgQ1JFRElUUyBmb3IgbGlzdCBvZiBwZW9wbGUgd2hvIGNvbnRy aWJ1dGVkIHRvIHRoaXMKPiAtICogcHJvamVjdC4KPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlz IGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgo+IC0gKiBtb2Rp ZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBh cwo+IC0gKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVy IHZlcnNpb24gMiBvZgo+IC0gKiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkg bGF0ZXIgdmVyc2lvbi4KPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGlu IHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCj4gLSAqIGJ1dCBXSVRIT1VUIEFOWSBX QVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCj4gLSAqIE1FUkNI QU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUK PiAtICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KPiAtICoK PiAgICovCj4gIAo+ICAjaW5jbHVkZSA8Y29tbW9uLmg+Cj4gZGlmZiAtLWdpdCBhL2NvbW1hbmRz L2dwaW8uYyBiL2NvbW1hbmRzL2dwaW8uYwo+IGluZGV4IDZkODhhYjZiYmU1NS4uMTk3NWFiYzYz NTExIDEwMDY0NAo+IC0tLSBhL2NvbW1hbmRzL2dwaW8uYwo+ICsrKyBiL2NvbW1hbmRzL2dwaW8u Ywo+IEBAIC0xLDE1ICsxLDQgQEAKPiAtLyoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29m dHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgo+IC0gKiBtb2RpZnkgaXQgdW5k ZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcwo+IC0gKiBw dWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24g MiBvZgo+IC0gKiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVy c2lvbi4KPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3Bl IHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCj4gLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsg d2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCj4gLSAqIE1FUkNIQU5UQUJJTElU WSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKPiAtICogR05V IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KPiAtICoKPiAtICovCj4g Ky8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wKwo+ICAKPiAgI2luY2x1ZGUgPGNv bW1vbi5oPgo+ICAjaW5jbHVkZSA8Y29tbWFuZC5oPgo+IGRpZmYgLS1naXQgYS9jb21tYW5kcy9o YWIuYyBiL2NvbW1hbmRzL2hhYi5jCj4gaW5kZXggMGQ3ZWU4ZTc2YzAxLi4wZWYzNTMzNjhjN2Eg MTAwNjQ0Cj4gLS0tIGEvY29tbWFuZHMvaGFiLmMKPiArKysgYi9jb21tYW5kcy9oYWIuYwo+IEBA IC0xLDEzICsxLDQgQEAKPiAtLyoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7 IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgo+IC0gKiBtb2RpZnkgaXQgdW5kZXIgdGhl IHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcwo+IC0gKiBwdWJsaXNo ZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgdmVyc2lvbiAyLgo+IC0gKgo+IC0g KiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJl IHVzZWZ1bCwKPiAtICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhl IGltcGxpZWQgd2FycmFudHkgb2YKPiAtICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9S IEEgUEFSVElDVUxBUiBQVVJQT1NFLiBTZWUgdGhlIEdOVQo+IC0gKiBHZW5lcmFsIFB1YmxpYyBM aWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCj4gLSAqLwo+ICsvLyBTUERYLUxpY2Vuc2UtSWRlbnRp ZmllcjogR1BMLTIuMAo+ICAKPiAgI2luY2x1ZGUgPGNvbW1vbi5oPgo+ICAjaW5jbHVkZSA8Y29t bWFuZC5oPgo+IGRpZmYgLS1naXQgYS9jb21tYW5kcy9oYXNoc3VtLmMgYi9jb21tYW5kcy9oYXNo c3VtLmMKPiBpbmRleCA3MGFhYjJjNGJmYTUuLmQxZjUwMTBmNWE0NCAxMDA2NDQKPiAtLS0gYS9j b21tYW5kcy9oYXNoc3VtLmMKPiArKysgYi9jb21tYW5kcy9oYXNoc3VtLmMKPiBAQCAtMSwyMCAr MSw4IEBACj4gKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wCj4gIC8qCj4gICAq IGRpZ2VzdC5jIC0gQ2FsY3VsYXRlIGEgbWQ1L3NoYTEvc2hhMjU2IGNoZWNrc3VtIG9mIGEgbWVt b3J5IGFyZWEKPiAgICoKPiAgICogQ29weXJpZ2h0IChjKSAyMDExIFBldGVyIEtvcnNnYWFyZCA8 amFjbWV0QHN1bnNpdGUuZGs+Cj4gLSAqCj4gLSAqIFNlZSBmaWxlIENSRURJVFMgZm9yIGxpc3Qg b2YgcGVvcGxlIHdobyBjb250cmlidXRlZCB0byB0aGlzCj4gLSAqIHByb2plY3QuCj4gLSAqCj4g LSAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBp dCBhbmQvb3IgbW9kaWZ5Cj4gLSAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVy YWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyCj4gLSAqIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJl ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJp YnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKPiAtICogYnV0IFdJVEhP VVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKPiAt ICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAg U2VlIHRoZQo+IC0gKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxz Lgo+IC0gKgo+ICAgKi8KPiAgCj4gICNpbmNsdWRlIDxjb21tb24uaD4KPiBkaWZmIC0tZ2l0IGEv Y29tbWFuZHMvaGVscC5jIGIvY29tbWFuZHMvaGVscC5jCj4gaW5kZXggMzRmZmE5YTQxOTUzLi45 ZjNjNjk2OTc1MjUgMTAwNjQ0Cj4gLS0tIGEvY29tbWFuZHMvaGVscC5jCj4gKysrIGIvY29tbWFu ZHMvaGVscC5jCj4gQEAgLTEsMjAgKzEsNyBAQAo+ICsvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmll cjogR1BMLTIuMCsKPiAgLyoKPiAgICogKEMpIENvcHlyaWdodCAyMDAwLTIwMDMKPiAgICogV29s ZmdhbmcgRGVuaywgREVOWCBTb2Z0d2FyZSBFbmdpbmVlcmluZywgd2RAZGVueC5kZS4KPiAtICoK PiAtICogU2VlIGZpbGUgQ1JFRElUUyBmb3IgbGlzdCBvZiBwZW9wbGUgd2hvIGNvbnRyaWJ1dGVk IHRvIHRoaXMKPiAtICogcHJvamVjdC4KPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGZyZWUg c29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgo+IC0gKiBtb2RpZnkgaXQg dW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcwo+IC0g KiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNp b24gMiBvZgo+IC0gKiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIg dmVyc2lvbi4KPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBo b3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCj4gLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5U WTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCj4gLSAqIE1FUkNIQU5UQUJJ TElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKPiAtICog R05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KPiAtICoKPiAgICov Cj4gIAo+ICAjaW5jbHVkZSA8Y29tbW9uLmg+Cj4gZGlmZiAtLWdpdCBhL2NvbW1hbmRzL2kyYy5j IGIvY29tbWFuZHMvaTJjLmMKPiBpbmRleCA3N2E4ZjdmZjk3ODEuLjg5NDNkZTA3N2RmOSAxMDA2 NDQKPiAtLS0gYS9jb21tYW5kcy9pMmMuYwo+ICsrKyBiL2NvbW1hbmRzL2kyYy5jCj4gQEAgLTEs MTggKzEsOCBAQAo+ICsvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMCsKPiAgLyoK PiAgICogaTJjLmMgLSBpMmMgY29tbWFuZHMKPiAgICoKPiAgICogQ29weXJpZ2h0IChjKSAyMDEw IEVyaWMgQsOpbmFyZCA8ZXJpY0BldWtyZWEuQ29tPiwgRXVrcsOpYSBFbGVjdHJvbWF0aXF1ZQo+ IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3Ry aWJ1dGUgaXQgYW5kL29yCj4gLSAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdO VSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzCj4gLSAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBT b2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mCj4gLSAqIHRoZSBMaWNlbnNl LCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgo+IC0gKgo+IC0gKiBUaGlz IHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1 bCwKPiAtICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxp ZWQgd2FycmFudHkgb2YKPiAtICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFS VElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQo+IC0gKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5z ZSBmb3IgbW9yZSBkZXRhaWxzLgo+IC0gKgo+ICAgKi8KPiAgCj4gICNpbmNsdWRlIDxjb21tb24u aD4KPiBkaWZmIC0tZ2l0IGEvY29tbWFuZHMvaW1kLmMgYi9jb21tYW5kcy9pbWQuYwo+IGluZGV4 IGZjNmNjNDcyMzE0NC4uODYxMGNiMjk3MWRlIDEwMDY0NAo+IC0tLSBhL2NvbW1hbmRzL2ltZC5j Cj4gKysrIGIvY29tbWFuZHMvaW1kLmMKPiBAQCAtMSwxOSArMSw2IEBACj4gKy8vIFNQRFgtTGlj ZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wKwo+ICAvKgo+ICAgKiAoQykgQ29weXJpZ2h0IDIwMTQg U2FzY2hhIEhhdWVyLCBQZW5ndXRyb25peAo+IC0gKgo+IC0gKiBTZWUgZmlsZSBDUkVESVRTIGZv ciBsaXN0IG9mIHBlb3BsZSB3aG8gY29udHJpYnV0ZWQgdG8gdGhpcwo+IC0gKiBwcm9qZWN0Lgo+ IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3Ry aWJ1dGUgaXQgYW5kL29yCj4gLSAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdO VSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzCj4gLSAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBT b2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mCj4gLSAqIHRoZSBMaWNlbnNl LCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgo+IC0gKgo+IC0gKiBUaGlz IHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1 bCwKPiAtICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxp ZWQgd2FycmFudHkgb2YKPiAtICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFS VElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQo+IC0gKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5z ZSBmb3IgbW9yZSBkZXRhaWxzLgo+IC0gKgo+ICAgKi8KPiAgCj4gICNpbmNsdWRlIDxjb21tb24u aD4KPiBkaWZmIC0tZ2l0IGEvY29tbWFuZHMvaW9tZW1wb3J0LmMgYi9jb21tYW5kcy9pb21lbXBv cnQuYwo+IGluZGV4IDZkOTdjNTcxMWJmMy4uMTE4NzU3YjUwOWUxIDEwMDY0NAo+IC0tLSBhL2Nv bW1hbmRzL2lvbWVtcG9ydC5jCj4gKysrIGIvY29tbWFuZHMvaW9tZW1wb3J0LmMKPiBAQCAtMSwx OSArMSw4IEBACj4gKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wCj4gIC8qCj4g ICAqIGlvbWVtLmMgLSBiYXJlYm94IGlvbWVtIGNvbW1hbmQKPiAgICoKPiAgICogQ29weXJpZ2h0 IChjKSAyMDExIFNhc2NoYSBIYXVlciA8cy5oYXVlckBwZW5ndXRyb25peC5kZT4sIFBlbmd1dHJv bml4Cj4gLSAqCj4gLSAqIFNlZSBmaWxlIENSRURJVFMgZm9yIGxpc3Qgb2YgcGVvcGxlIHdobyBj b250cmlidXRlZCB0byB0aGlzCj4gLSAqIHByb2plY3QuCj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3Jh bSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5 Cj4gLSAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vu c2UgdmVyc2lvbiAyCj4gLSAqIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3Vu ZGF0aW9uLgo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhv cGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKPiAtICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZ OyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKPiAtICogTUVSQ0hBTlRBQklM SVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQo+IC0gKiBH TlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgo+ICAgKi8KPiAgI2lu Y2x1ZGUgPGFzbS9pby5oPgo+ICAjaW5jbHVkZSA8Y29tbW9uLmg+Cj4gZGlmZiAtLWdpdCBhL2Nv bW1hbmRzL2lwLXJvdXRlLWdldC5jIGIvY29tbWFuZHMvaXAtcm91dGUtZ2V0LmMKPiBpbmRleCBk M2MxNWI3Nzk4NjAuLjYyYmI5YTIzOGMxZiAxMDA2NDQKPiAtLS0gYS9jb21tYW5kcy9pcC1yb3V0 ZS1nZXQuYwo+ICsrKyBiL2NvbW1hbmRzL2lwLXJvdXRlLWdldC5jCj4gQEAgLTEsMTMgKzEsNCBA QAo+IC0vKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRp c3RyaWJ1dGUgaXQgYW5kL29yCj4gLSAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhl IEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzCj4gLSAqIHB1Ymxpc2hlZCBieSB0aGUgRnJl ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyB2ZXJzaW9uIDIuCj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3Jh bSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAo+IC0g KiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJy YW50eSBvZgo+IC0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS IFBVUlBPU0UuIFNlZSB0aGUgR05VCj4gLSAqIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1v cmUgZGV0YWlscy4KPiAtICovCj4gKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4w Cj4gIAo+ICAjaW5jbHVkZSA8Y29tbWFuZC5oPgo+ICAjaW5jbHVkZSA8Y29tbW9uLmg+Cj4gZGlm ZiAtLWdpdCBhL2NvbW1hbmRzL2xlZC5jIGIvY29tbWFuZHMvbGVkLmMKPiBpbmRleCBiNjA4ZmNm YTJjZGIuLjMwOTJhYzViMjRkZCAxMDA2NDQKPiAtLS0gYS9jb21tYW5kcy9sZWQuYwo+ICsrKyBi L2NvbW1hbmRzL2xlZC5jCj4gQEAgLTEsMjEgKzEsOCBAQAo+ICsvLyBTUERYLUxpY2Vuc2UtSWRl bnRpZmllcjogR1BMLTIuMCsKPiAgLyoKPiAgICogTEVEIGNvbW1hbmQgc3VwcG9ydCBmb3IgYmFy ZWJveAo+ICAgKgo+ICAgKiAoQykgQ29weXJpZ2h0IDIwMTAgU2FzY2hhIEhhdWVyLCBQZW5ndXRy b25peAo+IC0gKgo+IC0gKiBTZWUgZmlsZSBDUkVESVRTIGZvciBsaXN0IG9mIHBlb3BsZSB3aG8g Y29udHJpYnV0ZWQgdG8gdGhpcwo+IC0gKiBwcm9qZWN0Lgo+IC0gKgo+IC0gKiBUaGlzIHByb2dy YW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCj4gLSAq IG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNl bnNlIGFzCj4gLSAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBl aXRoZXIgdmVyc2lvbiAyIG9mCj4gLSAqIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24p IGFueSBsYXRlciB2ZXJzaW9uLgo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0 ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKPiAtICogYnV0IFdJVEhPVVQg QU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKPiAtICog TUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2Vl IHRoZQo+IC0gKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgo+ IC0gKgo+ICAgKi8KPiAgCj4gICNpbmNsdWRlIDxjb21tb24uaD4KPiBkaWZmIC0tZ2l0IGEvY29t bWFuZHMvbGV0LmMgYi9jb21tYW5kcy9sZXQuYwo+IGluZGV4IDNjODRkMjc2YzEzZC4uNDIyYjI2 MGNjNDEzIDEwMDY0NAo+IC0tLSBhL2NvbW1hbmRzL2xldC5jCj4gKysrIGIvY29tbWFuZHMvbGV0 LmMKPiBAQCAtMSwxOCArMSw4IEBACj4gKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwt Mi4wKwo+ICAvKgo+ICAgKiBDb3B5cmlnaHQgKEMpIDIwMTIgSmFuIEx1ZWJiZSA8ai5sdWViYmVA cGVuZ3V0cm9uaXguZGU+Cj4gICAqCj4gICAqIFBhcnRpYWxseSBiYXNlZCBvbiBjb2RlIGZyb20g QnVzeUJveC4KPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBj YW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKPiAtICogaXQgdW5kZXIgdGhlIHRlcm1z IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKPiAtICog dGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGlj ZW5zZSwgb3IKPiAtICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KPiAtICoK PiAtICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2ls bCBiZSB1c2VmdWwsCj4gLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVu IHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCj4gLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNT IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKPiAtICogR05VIEdlbmVyYWwgUHVi bGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KPiAtICoKPiAgICovCj4gIAo+ICAjaW5jbHVk ZSA8Y29tbW9uLmg+Cj4gZGlmZiAtLWdpdCBhL2NvbW1hbmRzL2xpbnV4MTYuYyBiL2NvbW1hbmRz L2xpbnV4MTYuYwo+IGluZGV4IGRiOGQwODEwNWZhNS4uNjdhNTBhMWM5MzRjIDEwMDY0NAo+IC0t LSBhL2NvbW1hbmRzL2xpbnV4MTYuYwo+ICsrKyBiL2NvbW1hbmRzL2xpbnV4MTYuYwo+IEBAIC0x LDMgKzEsNCBAQAo+ICsvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMCsKPiAgLyoK PiAgICogQ29weXJpZ2h0IChDKSAyMDA5IEp1ZXJnZW4gQmVpc2VydCwgUGVuZ3V0cm9uaXgKPiAg ICoKPiBAQCAtNSwxOCArNiw2IEBACj4gICAqCj4gICAqICBHUlVCICAtLSAgR1JhbmQgVW5pZmll ZCBCb290bG9hZGVyCj4gICAqICBDb3B5cmlnaHQgKEMpIDE5OTksMjAwMCwyMDAxLDIwMDIsMjAw MywyMDA0LDIwMDUsMjAwNywyMDA4ICBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KPiAt ICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmli dXRlIGl0IGFuZC9vcgo+IC0gKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUg R2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcwo+IC0gKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29m dHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZgo+IC0gKiB0aGUgTGljZW5zZSwg b3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KPiAtICoKPiAtICogVGhpcyBw cm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWws Cj4gLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVk IHdhcnJhbnR5IG9mCj4gLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJ Q1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKPiAtICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2Ug Zm9yIG1vcmUgZGV0YWlscy4KPiAtICoKPiAtICoKPiAgICovCj4gIAo+ICAjaW5jbHVkZSA8Y29t bW9uLmg+Cj4gZGlmZiAtLWdpdCBhL2NvbW1hbmRzL2xpbnV4X2V4ZWMuYyBiL2NvbW1hbmRzL2xp bnV4X2V4ZWMuYwo+IGluZGV4IDU5MGUwYmZkNTA5MS4uMDJhNDg5YzA0YmY0IDEwMDY0NAo+IC0t LSBhL2NvbW1hbmRzL2xpbnV4X2V4ZWMuYwo+ICsrKyBiL2NvbW1hbmRzL2xpbnV4X2V4ZWMuYwo+ IEBAIC0xLDE4ICsxLDYgQEAKPiArLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAK PiAgLyoKPiAgICogQ29weXJpZ2h0IChjKSAyMDExIEplYW4tQ2hyaXN0b3BoZSBQTEFHTklPTC1W SUxMQVJEIDxwbGFnbmlvakBqY3Jvc29mdC5jb20+Cj4gLSAqCj4gLSAqIFNlZSBmaWxlIENSRURJ VFMgZm9yIGxpc3Qgb2YgcGVvcGxlIHdobyBjb250cmlidXRlZCB0byB0aGlzCj4gLSAqIHByb2pl Y3QuCj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJl ZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Cj4gLSAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0 aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyCj4gLSAqIGFzIHB1Ymxpc2hl ZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgo+IC0gKgo+IC0gKiBUaGlzIHByb2dy YW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKPiAt ICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2Fy cmFudHkgb2YKPiAtICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB UiBQVVJQT1NFLiAgU2VlIHRoZQo+IC0gKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3Ig bW9yZSBkZXRhaWxzLgo+IC0gKgo+ICAgKi8KPiAgCj4gICNpbmNsdWRlIDxjb21tb24uaD4KPiBk aWZmIC0tZ2l0IGEvY29tbWFuZHMvbG4uYyBiL2NvbW1hbmRzL2xuLmMKPiBpbmRleCBmMWRmMzIw MzViNzUuLmE4ZjFjY2UzODc2NCAxMDA2NDQKPiAtLS0gYS9jb21tYW5kcy9sbi5jCj4gKysrIGIv Y29tbWFuZHMvbG4uYwo+IEBAIC0xLDIwICsxLDggQEAKPiArLy8gU1BEWC1MaWNlbnNlLUlkZW50 aWZpZXI6IEdQTC0yLjAKPiAgLyoKPiAgICogbG4uYyAtIG1ha2UgbGlua3MgYmV0d2VlbiBmaWxl cwo+ICAgKgo+ICAgKiBDb3B5cmlnaHQgKGMpIDIwMTIgSmVhbi1DaHJpc3RvcGhlIFBMQUdOSU9M LVZJTExBUkQgPHBsYWduaW9qQGpjcm9zb2Z0LmNvbT4KPiAtICoKPiAtICogU2VlIGZpbGUgQ1JF RElUUyBmb3IgbGlzdCBvZiBwZW9wbGUgd2hvIGNvbnRyaWJ1dGVkIHRvIHRoaXMKPiAtICogcHJv amVjdC4KPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4g cmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKPiAtICogaXQgdW5kZXIgdGhlIHRlcm1zIG9m IHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIKPiAtICogYXMgcHVibGlz aGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCj4gLSAqCj4gLSAqIFRoaXMgcHJv Z3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAo+ IC0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3 YXJyYW50eSBvZgo+IC0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNV TEFSIFBVUlBPU0UuICBTZWUgdGhlCj4gLSAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZv ciBtb3JlIGRldGFpbHMuCj4gLSAqCj4gICAqLwo+ICAKPiAgI2luY2x1ZGUgPGNvbW1vbi5oPgo+ IGRpZmYgLS1naXQgYS9jb21tYW5kcy9sb2FkYi5jIGIvY29tbWFuZHMvbG9hZGIuYwo+IGluZGV4 IDM3YzI3MmY2Yzc2MS4uNjMxNzk3ODVhMTMxIDEwMDY0NAo+IC0tLSBhL2NvbW1hbmRzL2xvYWRi LmMKPiArKysgYi9jb21tYW5kcy9sb2FkYi5jCj4gQEAgLTEsMyArMSw0IEBACj4gKy8vIFNQRFgt TGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wKwo+ICAvKioKPiAgICogQGZpbGUKPiAgICogQGJy aWVmIExvYWRCIGFuZCBMb2FkWSBzdXBwb3J0Lgo+IEBAIC0xMCwyMCArMTEsNiBAQAo+ICAvKgo+ ICAgKiAoQykgQ29weXJpZ2h0IDIwMDAtMjAwNAo+ICAgKiBXb2xmZ2FuZyBEZW5rLCBERU5YIFNv ZnR3YXJlIEVuZ2luZWVyaW5nLCB3ZEBkZW54LmRlLgo+IC0gKgo+IC0gKiBTZWUgZmlsZSBDUkVE SVRTIGZvciBsaXN0IG9mIHBlb3BsZSB3aG8gY29udHJpYnV0ZWQgdG8gdGhpcwo+IC0gKiBwcm9q ZWN0Lgo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiBy ZWRpc3RyaWJ1dGUgaXQgYW5kL29yCj4gLSAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2Yg dGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzCj4gLSAqIHB1Ymxpc2hlZCBieSB0aGUg RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mCj4gLSAqIHRoZSBM aWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgo+IC0gKgo+IC0g KiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJl IHVzZWZ1bCwKPiAtICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhl IGltcGxpZWQgd2FycmFudHkgb2YKPiAtICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9S IEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQo+IC0gKiBHTlUgR2VuZXJhbCBQdWJsaWMg TGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgo+IC0gKgo+ICAgKi8KPiAgCj4gIC8qCj4gZGlmZiAt LWdpdCBhL2NvbW1hbmRzL2xvYWRlbnYuYyBiL2NvbW1hbmRzL2xvYWRlbnYuYwo+IGluZGV4IGJm MDEwNzJjNDJlNy4uNGY1Y2RkMzQ1ZDhkIDEwMDY0NAo+IC0tLSBhL2NvbW1hbmRzL2xvYWRlbnYu Ywo+ICsrKyBiL2NvbW1hbmRzL2xvYWRlbnYuYwo+IEBAIC0xLDE4ICsxLDYgQEAKPiArLy8gU1BE WC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAKPiAgLyoKPiAgICogQ29weXJpZ2h0IChjKSAy MDA3IFNhc2NoYSBIYXVlciA8cy5oYXVlckBwZW5ndXRyb25peC5kZT4sIFBlbmd1dHJvbml4Cj4g LSAqCj4gLSAqIFNlZSBmaWxlIENSRURJVFMgZm9yIGxpc3Qgb2YgcGVvcGxlIHdobyBjb250cmli dXRlZCB0byB0aGlzCj4gLSAqIHByb2plY3QuCj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBm cmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Cj4gLSAq IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVy c2lvbiAyCj4gLSAqIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u Lgo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhh dCBpdCB3aWxsIGJlIHVzZWZ1bCwKPiAtICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRo b3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKPiAtICogTUVSQ0hBTlRBQklMSVRZIG9y IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQo+IC0gKiBHTlUgR2Vu ZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgo+IC0gKgo+ICAgKi8KPiAgCj4g IC8qKgo+IGRpZmYgLS1naXQgYS9jb21tYW5kcy9sb2Fkcy5jIGIvY29tbWFuZHMvbG9hZHMuYwo+ IGluZGV4IGViM2UxMDliMGI1Zi4uNzkyODM0NmE1N2M2IDEwMDY0NAo+IC0tLSBhL2NvbW1hbmRz L2xvYWRzLmMKPiArKysgYi9jb21tYW5kcy9sb2Fkcy5jCj4gQEAgLTEsMjAgKzEsNyBAQAo+ICsv LyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMCsKPiAgLyoKPiAgICogKEMpIENvcHly aWdodCAyMDAwLTIwMDQKPiAgICogV29sZmdhbmcgRGVuaywgREVOWCBTb2Z0d2FyZSBFbmdpbmVl cmluZywgd2RAZGVueC5kZS4KPiAtICoKPiAtICogU2VlIGZpbGUgQ1JFRElUUyBmb3IgbGlzdCBv ZiBwZW9wbGUgd2hvIGNvbnRyaWJ1dGVkIHRvIHRoaXMKPiAtICogcHJvamVjdC4KPiAtICoKPiAt ICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0 IGFuZC9vcgo+IC0gKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJh bCBQdWJsaWMgTGljZW5zZSBhcwo+IC0gKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUg Rm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZgo+IC0gKiB0aGUgTGljZW5zZSwgb3IgKGF0 IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KPiAtICoKPiAtICogVGhpcyBwcm9ncmFt IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCj4gLSAq IGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJh bnR5IG9mCj4gLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIg UFVSUE9TRS4gIFNlZSB0aGUKPiAtICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1v cmUgZGV0YWlscy4KPiAtICoKPiAgICovCj4gIAo+ICAvKgo+IGRpZmYgLS1naXQgYS9jb21tYW5k cy9sb2FkeHkuYyBiL2NvbW1hbmRzL2xvYWR4eS5jCj4gaW5kZXggODVlZmFkNjdjN2JkLi5kMTY1 NGRjZTU5YmUgMTAwNjQ0Cj4gLS0tIGEvY29tbWFuZHMvbG9hZHh5LmMKPiArKysgYi9jb21tYW5k cy9sb2FkeHkuYwo+IEBAIC0xLDMgKzEsNCBAQAo+ICsvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmll cjogR1BMLTIuMCsKPiAgLyoqCj4gICAqIEBmaWxlCj4gICAqIEBicmllZiBsb2FkeSBhbmQgbG9h ZHggIHN1cHBvcnQuCj4gQEAgLTksMjAgKzEwLDYgQEAKPiAgICovCj4gIC8qCj4gICAqIChDKSBD b3B5cmlnaHQgMjAxMiBSb2JlcnQgSmFyem1payA8cm9iZXJ0LmphcnptaWtAZnJlZS5mcj4KPiAt ICoKPiAtICogU2VlIGZpbGUgQ1JFRElUUyBmb3IgbGlzdCBvZiBwZW9wbGUgd2hvIGNvbnRyaWJ1 dGVkIHRvIHRoaXMKPiAtICogcHJvamVjdC4KPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGZy ZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgo+IC0gKiBtb2RpZnkg aXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcwo+ IC0gKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZl cnNpb24gMiBvZgo+IC0gKiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0 ZXIgdmVyc2lvbi4KPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRo ZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCj4gLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJS QU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCj4gLSAqIE1FUkNIQU5U QUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKPiAt ICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KPiAtICoKPiAg ICovCj4gIAo+ICAvKgo+IGRpZmYgLS1naXQgYS9jb21tYW5kcy9sb2dpbi5jIGIvY29tbWFuZHMv bG9naW4uYwo+IGluZGV4IDU4YmI1OTI5MDA3ZS4uYzE4NzM2YTg1NzhmIDEwMDY0NAo+IC0tLSBh L2NvbW1hbmRzL2xvZ2luLmMKPiArKysgYi9jb21tYW5kcy9sb2dpbi5jCj4gQEAgLTEsMTggKzEs NiBAQAo+ICsvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMAo+ICAvKgo+ICAgKiBD b3B5cmlnaHQgKGMpIDIwMDgtMjAxMCBKZWFuLUNocmlzdG9waGUgUExBR05JT0wtVklMTEFSRCA8 cGxhZ25pb2pAamNyb3NvZnQuY29tPgo+IC0gKgo+IC0gKiBTZWUgZmlsZSBDUkVESVRTIGZvciBs aXN0IG9mIHBlb3BsZSB3aG8gY29udHJpYnV0ZWQgdG8gdGhpcwo+IC0gKiBwcm9qZWN0Lgo+IC0g Kgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1 dGUgaXQgYW5kL29yIG1vZGlmeQo+IC0gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBH ZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMgo+IC0gKiBhcyBwdWJsaXNoZWQgYnkgdGhl IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGRp c3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCj4gLSAqIGJ1dCBX SVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9m Cj4gLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T RS4gIFNlZSB0aGUKPiAtICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0 YWlscy4KPiAtICoKPiAgICovCj4gIAo+ICAjaW5jbHVkZSA8Y29tbW9uLmg+Cj4gZGlmZiAtLWdp dCBhL2NvbW1hbmRzL2xzLmMgYi9jb21tYW5kcy9scy5jCj4gaW5kZXggZTVlMzdkNzVjNThiLi5j YjY0M2I4N2FjODQgMTAwNjQ0Cj4gLS0tIGEvY29tbWFuZHMvbHMuYwo+ICsrKyBiL2NvbW1hbmRz L2xzLmMKPiBAQCAtMSwyMCArMSw4IEBACj4gKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBH UEwtMi4wCj4gIC8qCj4gICAqIGxzLmMgLSBsaXN0IGZpbGVzIGFuZCBkaXJlY3Rvcmllcwo+ICAg Kgo+ICAgKiBDb3B5cmlnaHQgKGMpIDIwMDcgU2FzY2hhIEhhdWVyIDxzLmhhdWVyQHBlbmd1dHJv bml4LmRlPiwgUGVuZ3V0cm9uaXgKPiAtICoKPiAtICogU2VlIGZpbGUgQ1JFRElUUyBmb3IgbGlz dCBvZiBwZW9wbGUgd2hvIGNvbnRyaWJ1dGVkIHRvIHRoaXMKPiAtICogcHJvamVjdC4KPiAtICoK PiAtICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRl IGl0IGFuZC9vciBtb2RpZnkKPiAtICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2Vu ZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIKPiAtICogYXMgcHVibGlzaGVkIGJ5IHRoZSBG cmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0 cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAo+IC0gKiBidXQgV0lU SE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgo+ IC0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Uu ICBTZWUgdGhlCj4gLSAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFp bHMuCj4gLSAqCj4gICAqLwo+ICAKPiAgI2luY2x1ZGUgPGNvbW1vbi5oPgo+IGRpZmYgLS1naXQg YS9jb21tYW5kcy9sc3BjaS5jIGIvY29tbWFuZHMvbHNwY2kuYwo+IGluZGV4IDI3ZWRkNWQxYzI1 Ny4uMzRkM2Y1N2ViNzE4IDEwMDY0NAo+IC0tLSBhL2NvbW1hbmRzL2xzcGNpLmMKPiArKysgYi9j b21tYW5kcy9sc3BjaS5jCj4gQEAgLTEsMTggKzEsNiBAQAo+ICsvLyBTUERYLUxpY2Vuc2UtSWRl bnRpZmllcjogR1BMLTIuMAo+ICAvKgo+ICAgKiBDb3B5cmlnaHQgKEMpIDIwMTEtMjAxNCBBbnRv bnkgUGF2bG92IDxhbnRvbnlucGF2bG92QGdtYWlsLmNvbT4KPiAtICoKPiAtICogVGhpcyBmaWxl IGlzIHBhcnQgb2YgYmFyZWJveC4KPiAtICogU2VlIGZpbGUgQ1JFRElUUyBmb3IgbGlzdCBvZiBw ZW9wbGUgd2hvIGNvbnRyaWJ1dGVkIHRvIHRoaXMgcHJvamVjdC4KPiAtICoKPiAtICogVGhpcyBw cm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBt b2RpZnkKPiAtICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMg TGljZW5zZSB2ZXJzaW9uIDIKPiAtICogYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJl IEZvdW5kYXRpb24uCj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0 aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAo+IC0gKiBidXQgV0lUSE9VVCBBTlkgV0FS UkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgo+IC0gKiBNRVJDSEFO VEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCj4g LSAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCj4gLSAqCj4g ICAqLwo+ICAKPiAgI2luY2x1ZGUgPGNvbW1vbi5oPgo+IGRpZmYgLS1naXQgYS9jb21tYW5kcy9t ZC5jIGIvY29tbWFuZHMvbWQuYwo+IGluZGV4IDIzODljMTJkMTQzMi4uNWQ4ZjMyNDRhZGMzIDEw MDY0NAo+IC0tLSBhL2NvbW1hbmRzL21kLmMKPiArKysgYi9jb21tYW5kcy9tZC5jCj4gQEAgLTEs MTggKzEsNiBAQAo+ICsvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMAo+ICAvKgo+ ICAgKiBDb3B5cmlnaHQgKGMpIDIwMTEgU2FzY2hhIEhhdWVyIDxzLmhhdWVyQHBlbmd1dHJvbml4 LmRlPiwgUGVuZ3V0cm9uaXgKPiAtICoKPiAtICogU2VlIGZpbGUgQ1JFRElUUyBmb3IgbGlzdCBv ZiBwZW9wbGUgd2hvIGNvbnRyaWJ1dGVkIHRvIHRoaXMKPiAtICogcHJvamVjdC4KPiAtICoKPiAt ICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0 IGFuZC9vciBtb2RpZnkKPiAtICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJh bCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIKPiAtICogYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVl IFNvZnR3YXJlIEZvdW5kYXRpb24uCj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmli dXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAo+IC0gKiBidXQgV0lUSE9V VCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgo+IC0g KiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBT ZWUgdGhlCj4gLSAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMu Cj4gLSAqCj4gICAqLwo+ICAKPiAgLyoKPiBkaWZmIC0tZ2l0IGEvY29tbWFuZHMvbWVtY21wLmMg Yi9jb21tYW5kcy9tZW1jbXAuYwo+IGluZGV4IDc2ZmJlMDc4ZjA0ZC4uZWY4MTgwMWUwZTI4IDEw MDY0NAo+IC0tLSBhL2NvbW1hbmRzL21lbWNtcC5jCj4gKysrIGIvY29tbWFuZHMvbWVtY21wLmMK PiBAQCAtMSwxOCArMSw2IEBACj4gKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4w Cj4gIC8qCj4gICAqIENvcHlyaWdodCAoYykgMjAxMSBTYXNjaGEgSGF1ZXIgPHMuaGF1ZXJAcGVu Z3V0cm9uaXguZGU+LCBQZW5ndXRyb25peAo+IC0gKgo+IC0gKiBTZWUgZmlsZSBDUkVESVRTIGZv ciBsaXN0IG9mIHBlb3BsZSB3aG8gY29udHJpYnV0ZWQgdG8gdGhpcwo+IC0gKiBwcm9qZWN0Lgo+ IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3Ry aWJ1dGUgaXQgYW5kL29yIG1vZGlmeQo+IC0gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdO VSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMgo+IC0gKiBhcyBwdWJsaXNoZWQgYnkg dGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlz IGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCj4gLSAqIGJ1 dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5 IG9mCj4gLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVS UE9TRS4gIFNlZSB0aGUKPiAtICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUg ZGV0YWlscy4KPiAtICoKPiAgICovCj4gIAo+ICAvKgo+IGRpZmYgLS1naXQgYS9jb21tYW5kcy9t ZW1jcHkuYyBiL2NvbW1hbmRzL21lbWNweS5jCj4gaW5kZXggYjJjZWE4YzA5ZDQwLi5hMDkwYTVi NzU0NDYgMTAwNjQ0Cj4gLS0tIGEvY29tbWFuZHMvbWVtY3B5LmMKPiArKysgYi9jb21tYW5kcy9t ZW1jcHkuYwo+IEBAIC0xLDE4ICsxLDYgQEAKPiArLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6 IEdQTC0yLjAKPiAgLyoKPiAgICogQ29weXJpZ2h0IChjKSAyMDExIFNhc2NoYSBIYXVlciA8cy5o YXVlckBwZW5ndXRyb25peC5kZT4sIFBlbmd1dHJvbml4Cj4gLSAqCj4gLSAqIFNlZSBmaWxlIENS RURJVFMgZm9yIGxpc3Qgb2YgcGVvcGxlIHdobyBjb250cmlidXRlZCB0byB0aGlzCj4gLSAqIHBy b2plY3QuCj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2Fu IHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Cj4gLSAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBv ZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyCj4gLSAqIGFzIHB1Ymxp c2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgo+IC0gKgo+IC0gKiBUaGlzIHBy b2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwK PiAtICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQg d2FycmFudHkgb2YKPiAtICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElD VUxBUiBQVVJQT1NFLiAgU2VlIHRoZQo+IC0gKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBm b3IgbW9yZSBkZXRhaWxzLgo+IC0gKgo+ICAgKi8KPiAgCj4gIC8qCj4gZGlmZiAtLWdpdCBhL2Nv bW1hbmRzL21lbWluZm8uYyBiL2NvbW1hbmRzL21lbWluZm8uYwo+IGluZGV4IDg3Yzc2ZmMzZDE5 Zi4uZWZiYTVjMDIzZjliIDEwMDY0NAo+IC0tLSBhL2NvbW1hbmRzL21lbWluZm8uYwo+ICsrKyBi L2NvbW1hbmRzL21lbWluZm8uYwo+IEBAIC0xLDIwICsxLDggQEAKPiArLy8gU1BEWC1MaWNlbnNl LUlkZW50aWZpZXI6IEdQTC0yLjAKPiAgLyoKPiAgICogbWVtaW5mby5jIC0gc2hvdyBpbmZvcm1h dGlvbiBhYm91dCBtZW1vcnkgdXNhZ2UKPiAgICoKPiAgICogQ29weXJpZ2h0IChjKSAyMDA3IFNh c2NoYSBIYXVlciA8cy5oYXVlckBwZW5ndXRyb25peC5kZT4sIFBlbmd1dHJvbml4Cj4gLSAqCj4g LSAqIFNlZSBmaWxlIENSRURJVFMgZm9yIGxpc3Qgb2YgcGVvcGxlIHdobyBjb250cmlidXRlZCB0 byB0aGlzCj4gLSAqIHByb2plY3QuCj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNv ZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Cj4gLSAqIGl0IHVu ZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAy Cj4gLSAqIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgo+IC0g Kgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3 aWxsIGJlIHVzZWZ1bCwKPiAtICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2 ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKPiAtICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5F U1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQo+IC0gKiBHTlUgR2VuZXJhbCBQ dWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgo+IC0gKgo+ICAgKi8KPiAgI2luY2x1ZGUg PGNvbW1vbi5oPgo+ICAjaW5jbHVkZSA8Y29tbWFuZC5oPgo+IGRpZmYgLS1naXQgYS9jb21tYW5k cy9tZW1zZXQuYyBiL2NvbW1hbmRzL21lbXNldC5jCj4gaW5kZXggYjA3NzAxNTlmODE4Li5mNjA4 MDY3OTdhMzQgMTAwNjQ0Cj4gLS0tIGEvY29tbWFuZHMvbWVtc2V0LmMKPiArKysgYi9jb21tYW5k cy9tZW1zZXQuYwo+IEBAIC0xLDE4ICsxLDYgQEAKPiArLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZp ZXI6IEdQTC0yLjAKPiAgLyoKPiAgICogQ29weXJpZ2h0IChjKSAyMDExIFNhc2NoYSBIYXVlciA8 cy5oYXVlckBwZW5ndXRyb25peC5kZT4sIFBlbmd1dHJvbml4Cj4gLSAqCj4gLSAqIFNlZSBmaWxl IENSRURJVFMgZm9yIGxpc3Qgb2YgcGVvcGxlIHdobyBjb250cmlidXRlZCB0byB0aGlzCj4gLSAq IHByb2plY3QuCj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3Ug Y2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Cj4gLSAqIGl0IHVuZGVyIHRoZSB0ZXJt cyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyCj4gLSAqIGFzIHB1 Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgo+IC0gKgo+IC0gKiBUaGlz IHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1 bCwKPiAtICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxp ZWQgd2FycmFudHkgb2YKPiAtICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFS VElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQo+IC0gKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5z ZSBmb3IgbW9yZSBkZXRhaWxzLgo+IC0gKgo+ICAgKi8KPiAgCj4gIC8qCj4gZGlmZiAtLWdpdCBh L2NvbW1hbmRzL21lbXRlc3QuYyBiL2NvbW1hbmRzL21lbXRlc3QuYwo+IGluZGV4IGRjOGY3ZGIy NzkxNi4uNGQ1YWZjNDZmMzZlIDEwMDY0NAo+IC0tLSBhL2NvbW1hbmRzL21lbXRlc3QuYwo+ICsr KyBiL2NvbW1hbmRzL21lbXRlc3QuYwo+IEBAIC0xLDIyICsxLDkgQEAKPiArLy8gU1BEWC1MaWNl bnNlLUlkZW50aWZpZXI6IEdQTC0yLjArCj4gIC8qCj4gICAqIG1lbXRlc3QgLSBQZXJmb3JtIGEg bWVtb3J5IHRlc3QKPiAgICoKPiAgICogKEMpIENvcHlyaWdodCAyMDEzCj4gICAqIEFsZXhhbmRl ciBBcmluZyA8YWFyQHBlbmd1dHJvbml4LmRlPiwgUGVuZ3V0cm9uaXgKPiAtICoKPiAtICogU2Vl IGZpbGUgQ1JFRElUUyBmb3IgbGlzdCBvZiBwZW9wbGUgd2hvIGNvbnRyaWJ1dGVkIHRvIHRoaXMK PiAtICogcHJvamVjdC4KPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7 IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgo+IC0gKiBtb2RpZnkgaXQgdW5kZXIgdGhl IHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcwo+IC0gKiBwdWJsaXNo ZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZgo+ IC0gKiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4K PiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQg aXQgd2lsbCBiZSB1c2VmdWwsCj4gLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91 dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCj4gLSAqIE1FUkNIQU5UQUJJTElUWSBvciBG SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKPiAtICogR05VIEdlbmVy YWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KPiAtICoKPiAgICovCj4gIAo+ICAj aW5jbHVkZSA8Y29tbWFuZC5oPgo+IGRpZmYgLS1naXQgYS9jb21tYW5kcy9tZW51LmMgYi9jb21t YW5kcy9tZW51LmMKPiBpbmRleCBkZGM5YzNhYjg2MzcuLmE1ODAzYzdmYWExYSAxMDA2NDQKPiAt LS0gYS9jb21tYW5kcy9tZW51LmMKPiArKysgYi9jb21tYW5kcy9tZW51LmMKPiBAQCAtMSwxOSAr MSw2IEBACj4gKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wCj4gIC8qCj4gICAq IChDKSBDb3B5cmlnaHQgMjAwOS0yMDEwIEplYW4tQ2hyaXN0b3BoZSBQTEFHTklPTC1WSUxMQVJE IDxwbGFnbmlvakBqY3Jvc29mdC5jb20+Cj4gLSAqCj4gLSAqIFNlZSBmaWxlIENSRURJVFMgZm9y IGxpc3Qgb2YgcGVvcGxlIHdobyBjb250cmlidXRlZCB0byB0aGlzCj4gLSAqIHByb2plY3QuCj4g LSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJp YnV0ZSBpdCBhbmQvb3IKPiAtICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05V IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMKPiAtICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNv ZnR3YXJlIEZvdW5kYXRpb247IHZlcnNpb24gMiBvZgo+IC0gKiB0aGUgTGljZW5zZS4KPiAtICoK PiAtICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2ls bCBiZSB1c2VmdWwsCj4gLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVu IHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCj4gLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNT IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKPiAtICogR05VIEdlbmVyYWwgUHVi bGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KPiAtICoKPiAgICovCj4gIAo+ICAjaW5jbHVk ZSA8Y29tbW9uLmg+Cj4gZGlmZiAtLWdpdCBhL2NvbW1hbmRzL21lbnV0cmVlLmMgYi9jb21tYW5k cy9tZW51dHJlZS5jCj4gaW5kZXggY2YzN2IwMTYwMTU2Li43YTQxYmYyNWRjZTEgMTAwNjQ0Cj4g LS0tIGEvY29tbWFuZHMvbWVudXRyZWUuYwo+ICsrKyBiL2NvbW1hbmRzL21lbnV0cmVlLmMKPiBA QCAtMSwxMyArMSw0IEBACj4gLS8qCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJl OyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Cj4gLSAqIGl0IHVuZGVyIHRo ZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyCj4gLSAq IGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgo+IC0gKgo+IC0g KiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJl IHVzZWZ1bCwKPiAtICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhl IGltcGxpZWQgd2FycmFudHkgb2YKPiAtICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9S IEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQo+IC0gKiBHTlUgR2VuZXJhbCBQdWJsaWMg TGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgo+IC0gKi8KPiArLy8gU1BEWC1MaWNlbnNlLUlkZW50 aWZpZXI6IEdQTC0yLjAKPiAgI2luY2x1ZGUgPGNvbW1hbmQuaD4KPiAgI2luY2x1ZGUgPGNvbW1v bi5oPgo+ICAjaW5jbHVkZSA8Z2V0b3B0Lmg+Cj4gZGlmZiAtLWdpdCBhL2NvbW1hbmRzL21paXRv b2wuYyBiL2NvbW1hbmRzL21paXRvb2wuYwo+IGluZGV4IDA3NDM3ZDI4YThmOS4uOTAyMDY0YWVk MzYwIDEwMDY0NAo+IC0tLSBhL2NvbW1hbmRzL21paXRvb2wuYwo+ICsrKyBiL2NvbW1hbmRzL21p aXRvb2wuYwo+IEBAIC0xLDEwICsxLDcgQEAKPiArLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6 IEdQTC0yLjAKPiAgLyoKPiAgICogQ29weXJpZ2h0IChDKSAyMDEyIEFudG9ueSBQYXZsb3YgPGFu dG9ueW5wYXZsb3ZAZ21haWwuY29tPgo+ICAgKgo+IC0gKiBUaGlzIGZpbGUgaXMgcGFydCBvZiBi YXJlYm94Lgo+IC0gKiBTZWUgZmlsZSBDUkVESVRTIGZvciBsaXN0IG9mIHBlb3BsZSB3aG8gY29u dHJpYnV0ZWQgdG8gdGhpcwo+IC0gKiBwcm9qZWN0Lgo+IC0gKgo+ICAgKiBUaGlzIHByb2dyYW0g aXMgYmFzZWQgb24gRG9uYWxkIEJlY2tlcidzICJtaWktZGlhZyIgYW5kCj4gICAqIERhdmlkIEEu IEhpbmRzJyAibWlpLXRvb2wiLgo+ICAgKgo+IEBAIC0xMywxNiArMTAsNiBAQAo+ICAgKgo+ICAg KiBtaWktZGlhZyBpcyB3cml0dGVuL2NvcHlyaWdodCAxOTk3LTIwMDAgYnkgRG9uYWxkIEJlY2tl cgo+ICAgKiAgICAgPGJlY2tlckBzY3lsZC5jb20+Cj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBp cyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Cj4g LSAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2Ug dmVyc2lvbiAyCj4gLSAqIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0 aW9uLgo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUg dGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKPiAtICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3 aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKPiAtICogTUVSQ0hBTlRBQklMSVRZ IG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQo+IC0gKiBHTlUg R2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgo+IC0gKgo+ICAgKi8KPiAg Cj4gICNpbmNsdWRlIDxjb21tb24uaD4KPiBkaWZmIC0tZ2l0IGEvY29tbWFuZHMvbWtkaXIuYyBi L2NvbW1hbmRzL21rZGlyLmMKPiBpbmRleCA3ZDAyNGM4NzFkZDMuLjkwMzRlNTYxNDU2NCAxMDA2 NDQKPiAtLS0gYS9jb21tYW5kcy9ta2Rpci5jCj4gKysrIGIvY29tbWFuZHMvbWtkaXIuYwo+IEBA IC0xLDIwICsxLDggQEAKPiArLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAKPiAg LyoKPiAgICogbWtkaXIuYyAtIGNyZWF0ZSBkaXJlY3Rvcmllcwo+ICAgKgo+ICAgKiBDb3B5cmln aHQgKGMpIDIwMDcgU2FzY2hhIEhhdWVyIDxzLmhhdWVyQHBlbmd1dHJvbml4LmRlPiwgUGVuZ3V0 cm9uaXgKPiAtICoKPiAtICogU2VlIGZpbGUgQ1JFRElUUyBmb3IgbGlzdCBvZiBwZW9wbGUgd2hv IGNvbnRyaWJ1dGVkIHRvIHRoaXMKPiAtICogcHJvamVjdC4KPiAtICoKPiAtICogVGhpcyBwcm9n cmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2Rp ZnkKPiAtICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGlj ZW5zZSB2ZXJzaW9uIDIKPiAtICogYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZv dW5kYXRpb24uCj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUg aG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAo+IC0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFO VFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgo+IC0gKiBNRVJDSEFOVEFC SUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCj4gLSAq IEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCj4gLSAqCj4gICAq Lwo+ICAKPiAgI2luY2x1ZGUgPGNvbW1vbi5oPgo+IGRpZmYgLS1naXQgYS9jb21tYW5kcy9tbS5j IGIvY29tbWFuZHMvbW0uYwo+IGluZGV4IGM3ZjYyZmNhNTRiYi4uOWUwZGYyZGQwOTY5IDEwMDY0 NAo+IC0tLSBhL2NvbW1hbmRzL21tLmMKPiArKysgYi9jb21tYW5kcy9tbS5jCj4gQEAgLTEsMTgg KzEsNiBAQAo+ICsvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMAo+ICAvKgo+ICAg KiBDb3B5cmlnaHQgKGMpIDIwMTMgU2FzY2hhIEhhdWVyIDxzLmhhdWVyQHBlbmd1dHJvbml4LmRl PiwgUGVuZ3V0cm9uaXgKPiAtICoKPiAtICogU2VlIGZpbGUgQ1JFRElUUyBmb3IgbGlzdCBvZiBw ZW9wbGUgd2hvIGNvbnRyaWJ1dGVkIHRvIHRoaXMKPiAtICogcHJvamVjdC4KPiAtICoKPiAtICog VGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFu ZC9vciBtb2RpZnkKPiAtICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQ dWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIKPiAtICogYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNv ZnR3YXJlIEZvdW5kYXRpb24uCj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRl ZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAo+IC0gKiBidXQgV0lUSE9VVCBB TlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgo+IC0gKiBN RVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUg dGhlCj4gLSAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCj4g LSAqCj4gICAqLwo+ICAKPiAgI2luY2x1ZGUgPGNvbW1vbi5oPgo+IGRpZmYgLS1naXQgYS9jb21t YW5kcy9tbWNfZXh0Y3NkLmMgYi9jb21tYW5kcy9tbWNfZXh0Y3NkLmMKPiBpbmRleCA0ZjU2NmJj ODA1ZGIuLjVjODY4NGRkNjA4MyAxMDA2NDQKPiAtLS0gYS9jb21tYW5kcy9tbWNfZXh0Y3NkLmMK PiArKysgYi9jb21tYW5kcy9tbWNfZXh0Y3NkLmMKPiBAQCAtMSwxOCArMSw3IEBACj4gKy8vIFNQ RFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wKwo+ICAvKgo+IC0gKgo+ICAgKiAoQykgQ29w eXJpZ2h0IDIwMTUgUGh5dGVjIE1lc3N0ZWNobmlrIEdtYkgKPiAgICogQXV0aG9yOiBEYW5pZWwg U2NodWx0eiA8ZC5zY2h1bHR6QHBoeXRlYy5kZT4KPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlz IGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKPiAt ICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBh cyBwdWJsaXNoZWQgYnkKPiAtICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVy IHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKPiAtICogKGF0IHlvdXIgb3B0aW9uKSBhbnkg bGF0ZXIgdmVyc2lvbi4KPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGlu IHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCj4gLSAqIGJ1dCBXSVRIT1VUIEFOWSBX QVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCj4gLSAqIE1FUkNI QU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUK PiAtICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KPiAtICoK PiAgICovCj4gIAo+ICAjaW5jbHVkZSA8Y29tbW9uLmg+Cj4gZGlmZiAtLWdpdCBhL2NvbW1hbmRz L21vdW50LmMgYi9jb21tYW5kcy9tb3VudC5jCj4gaW5kZXggZjUyM2Y2YjNiNmUwLi5hZGJlNzJh NjE2OTQgMTAwNjQ0Cj4gLS0tIGEvY29tbWFuZHMvbW91bnQuYwo+ICsrKyBiL2NvbW1hbmRzL21v dW50LmMKPiBAQCAtMSwyMCArMSw4IEBACj4gKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBH UEwtMi4wCj4gIC8qCj4gICAqIG1vdW50LmMgLSBtb3VudCBkZXZpY2VzCj4gICAqCj4gICAqIENv cHlyaWdodCAoYykgMjAwNyBTYXNjaGEgSGF1ZXIgPHMuaGF1ZXJAcGVuZ3V0cm9uaXguZGU+LCBQ ZW5ndXRyb25peAo+IC0gKgo+IC0gKiBTZWUgZmlsZSBDUkVESVRTIGZvciBsaXN0IG9mIHBlb3Bs ZSB3aG8gY29udHJpYnV0ZWQgdG8gdGhpcwo+IC0gKiBwcm9qZWN0Lgo+IC0gKgo+IC0gKiBUaGlz IHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29y IG1vZGlmeQo+IC0gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1Ymxp YyBMaWNlbnNlIHZlcnNpb24gMgo+IC0gKiBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdh cmUgRm91bmRhdGlvbi4KPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGlu IHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCj4gLSAqIGJ1dCBXSVRIT1VUIEFOWSBX QVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCj4gLSAqIE1FUkNI QU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUK PiAtICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KPiAtICoK PiAgICovCj4gIAo+ICAjaW5jbHVkZSA8Y29tbW9uLmg+Cj4gZGlmZiAtLWdpdCBhL2NvbW1hbmRz L21zbGVlcC5jIGIvY29tbWFuZHMvbXNsZWVwLmMKPiBpbmRleCA0YWVlM2MzOTQ4ZmUuLjdiMzQy OGEzZTYxZSAxMDA2NDQKPiAtLS0gYS9jb21tYW5kcy9tc2xlZXAuYwo+ICsrKyBiL2NvbW1hbmRz L21zbGVlcC5jCj4gQEAgLTEsMTkgKzEsMTAgQEAKPiArLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZp ZXI6IEdQTC0yLjAKPiAgLyoKPiAgICogbXNsZWVwLmMgLSBkZWxheSBleGVjdXRpb24gZm9yIG4g bWlsbGlzZWNvbmRzCj4gICAqCj4gICAqIENvcHlyaWdodCAoYykgMjAxMiBTdGVmZmVuIFRydW10 cmFyIDxzLnRydW10cmFyQHBlbmd1dHJvbml4LmRlPiwgUGVuZ3V0cm9uaXgKPiAgICoKPiAgICog ZGVyaXZlZCBmcm9tIGNvbW1hbmRzL3NsZWVwLmMKPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlz IGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKPiAt ICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2 ZXJzaW9uIDIKPiAtICogYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp b24uCj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0 aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAo+IC0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdp dGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgo+IC0gKiBNRVJDSEFOVEFCSUxJVFkg b3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCj4gLSAqIEdOVSBH ZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCj4gLSAqCj4gICAqLwo+ICAK PiAgI2luY2x1ZGUgPGNvbW1vbi5oPgo+IGRpZmYgLS1naXQgYS9jb21tYW5kcy9tdy5jIGIvY29t bWFuZHMvbXcuYwo+IGluZGV4IDNlZDZjODIwZDBlNC4uNzc5YzFhZWVhOTNmIDEwMDY0NAo+IC0t LSBhL2NvbW1hbmRzL213LmMKPiArKysgYi9jb21tYW5kcy9tdy5jCj4gQEAgLTEsMTggKzEsNiBA QAo+ICsvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMAo+ICAvKgo+ICAgKiBDb3B5 cmlnaHQgKGMpIDIwMTEgU2FzY2hhIEhhdWVyIDxzLmhhdWVyQHBlbmd1dHJvbml4LmRlPiwgUGVu Z3V0cm9uaXgKPiAtICoKPiAtICogU2VlIGZpbGUgQ1JFRElUUyBmb3IgbGlzdCBvZiBwZW9wbGUg d2hvIGNvbnRyaWJ1dGVkIHRvIHRoaXMKPiAtICogcHJvamVjdC4KPiAtICoKPiAtICogVGhpcyBw cm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBt b2RpZnkKPiAtICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMg TGljZW5zZSB2ZXJzaW9uIDIKPiAtICogYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJl IEZvdW5kYXRpb24uCj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0 aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAo+IC0gKiBidXQgV0lUSE9VVCBBTlkgV0FS UkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgo+IC0gKiBNRVJDSEFO VEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCj4g LSAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCj4gLSAqCj4g ICAqLwo+ICAKPiAgLyoKPiBkaWZmIC0tZ2l0IGEvY29tbWFuZHMvbmFuZC1iaXRmbGlwLmMgYi9j b21tYW5kcy9uYW5kLWJpdGZsaXAuYwo+IGluZGV4IGNmZGUyZjQwNDBlNy4uZTZmNzc2NWMyNDcw IDEwMDY0NAo+IC0tLSBhL2NvbW1hbmRzL25hbmQtYml0ZmxpcC5jCj4gKysrIGIvY29tbWFuZHMv bmFuZC1iaXRmbGlwLmMKPiBAQCAtMSwxMyArMSw0IEBACj4gLS8qCj4gLSAqIFRoaXMgcHJvZ3Jh bSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKPiAtICog bW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vu c2UgYXMKPiAtICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IHZl cnNpb24gMi4KPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBo b3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCj4gLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5U WTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCj4gLSAqIE1FUkNIQU5UQUJJ TElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gU2VlIHRoZSBHTlUKPiAt ICogR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgo+IC0gKi8KPiArLy8g U1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAKPiAgCj4gICNpbmNsdWRlIDxjb21tb24u aD4KPiAgI2luY2x1ZGUgPGNvbW1hbmQuaD4KPiBkaWZmIC0tZ2l0IGEvY29tbWFuZHMvbmFuZC5j IGIvY29tbWFuZHMvbmFuZC5jCj4gaW5kZXggYzU3YjM5NDVhODQyLi5iMzAyMTM4NzNjNDUgMTAw NjQ0Cj4gLS0tIGEvY29tbWFuZHMvbmFuZC5jCj4gKysrIGIvY29tbWFuZHMvbmFuZC5jCj4gQEAg LTEsMTggKzEsNiBAQAo+ICsvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMAo+ICAv Kgo+ICAgKiBDb3B5cmlnaHQgKGMpIDIwMDggU2FzY2hhIEhhdWVyIDxzLmhhdWVyQHBlbmd1dHJv bml4LmRlPiwgUGVuZ3V0cm9uaXgKPiAtICoKPiAtICogU2VlIGZpbGUgQ1JFRElUUyBmb3IgbGlz dCBvZiBwZW9wbGUgd2hvIGNvbnRyaWJ1dGVkIHRvIHRoaXMKPiAtICogcHJvamVjdC4KPiAtICoK PiAtICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRl IGl0IGFuZC9vciBtb2RpZnkKPiAtICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2Vu ZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIKPiAtICogYXMgcHVibGlzaGVkIGJ5IHRoZSBG cmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0 cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAo+IC0gKiBidXQgV0lU SE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgo+ IC0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Uu ICBTZWUgdGhlCj4gLSAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFp bHMuCj4gLSAqCj4gICAqLwo+ICAjaW5jbHVkZSA8Y29tbW9uLmg+Cj4gICNpbmNsdWRlIDxjb21t YW5kLmg+Cj4gZGlmZiAtLWdpdCBhL2NvbW1hbmRzL25hbmR0ZXN0LmMgYi9jb21tYW5kcy9uYW5k dGVzdC5jCj4gaW5kZXggMTEyYmIwMTJhNTlkLi5mY2VhZjU5NjFkMGUgMTAwNjQ0Cj4gLS0tIGEv Y29tbWFuZHMvbmFuZHRlc3QuYwo+ICsrKyBiL2NvbW1hbmRzL25hbmR0ZXN0LmMKPiBAQCAtMSwx NSArMSw2IEBACj4gKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wCj4gIC8qCj4g ICAqIEJhc2VkIG9uIG5hbmR0ZXN0LmMgc291cmNlIGluIG10ZC11dGlscyBwYWNrYWdlLgo+IC0g Kgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1 dGUgaXQgYW5kL29yIG1vZGlmeQo+IC0gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBH ZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMgo+IC0gKiBhcyBwdWJsaXNoZWQgYnkgdGhl IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGRp c3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCj4gLSAqIGJ1dCBX SVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9m Cj4gLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T RS4gIFNlZSB0aGUKPiAtICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0 YWlscy4KPiAtICoKPiAgICovCj4gICNpbmNsdWRlIDxjb21tb24uaD4KPiAgI2luY2x1ZGUgPGNv bW1hbmQuaD4KPiBkaWZmIC0tZ2l0IGEvY29tbWFuZHMvbnYuYyBiL2NvbW1hbmRzL252LmMKPiBp bmRleCAzMTUwMTkzNDVjYWMuLjNjMDcxYjQ2N2NjYiAxMDA2NDQKPiAtLS0gYS9jb21tYW5kcy9u di5jCj4gKysrIGIvY29tbWFuZHMvbnYuYwo+IEBAIC0xLDIwICsxLDggQEAKPiArLy8gU1BEWC1M aWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAKPiAgLyoKPiAgICogbnYuYyAtIG5vbiB2b2xhdGls ZSBzaGVsbCB2YXJpYWJsZXMKPiAgICoKPiAgICogQ29weXJpZ2h0IChjKSAyMDE0IFNhc2NoYSBI YXVlciA8cy5oYXVlckBwZW5ndXRyb25peC5kZT4sIFBlbmd1dHJvbml4Cj4gLSAqCj4gLSAqIFNl ZSBmaWxlIENSRURJVFMgZm9yIGxpc3Qgb2YgcGVvcGxlIHdobyBjb250cmlidXRlZCB0byB0aGlz Cj4gLSAqIHByb2plY3QuCj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJl OyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Cj4gLSAqIGl0IHVuZGVyIHRo ZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyCj4gLSAq IGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgo+IC0gKgo+IC0g KiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJl IHVzZWZ1bCwKPiAtICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhl IGltcGxpZWQgd2FycmFudHkgb2YKPiAtICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9S IEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQo+IC0gKiBHTlUgR2VuZXJhbCBQdWJsaWMg TGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgo+IC0gKgo+ICAgKi8KPiAgI2luY2x1ZGUgPGNvbW1v bi5oPgo+ICAjaW5jbHVkZSA8bWFsbG9jLmg+Cj4gZGlmZiAtLWdpdCBhL2NvbW1hbmRzL29mX2Rp c3BsYXlfdGltaW5ncy5jIGIvY29tbWFuZHMvb2ZfZGlzcGxheV90aW1pbmdzLmMKPiBpbmRleCAz NjVmZjgwYzM2YzQuLmE4ZGYwOTYwNWVkZSAxMDA2NDQKPiAtLS0gYS9jb21tYW5kcy9vZl9kaXNw bGF5X3RpbWluZ3MuYwo+ICsrKyBiL2NvbW1hbmRzL29mX2Rpc3BsYXlfdGltaW5ncy5jCj4gQEAg LTEsMTkgKzEsOCBAQAo+ICsvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMAo+ICAv Kgo+ICAgKiBvZl9kaXNwbGF5X3RpbWluZ3MuYyAtIGxpc3QgYW5kIHNlbGVjdCBkaXNwbGF5X3Rp bWluZ3MKPiAgICoKPiAgICogQ29weXJpZ2h0IChjKSAyMDE0IFRlcmVzYSBHw6FtZXogPHQuZ2Ft ZXpAcGh5dGVjLmRlPiBQSFlURUMgTWVzc3RlY2huaWsgR21iSAo+IC0gKgo+IC0gKiBTZWUgZmls ZSBDUkVESVRTIGZvciBsaXN0IG9mIHBlb3BsZSB3aG8gY29udHJpYnV0ZWQgdG8gdGhpcwo+IC0g KiBwcm9qZWN0Lgo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91 IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQo+IC0gKiBpdCB1bmRlciB0aGUgdGVy bXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMgo+IC0gKiBhcyBw dWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KPiAtICoKPiAtICogVGhp cyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2Vm dWwsCj4gLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBs aWVkIHdhcnJhbnR5IG9mCj4gLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBB UlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKPiAtICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vu c2UgZm9yIG1vcmUgZGV0YWlscy4KPiAgICovCj4gIAo+ICAjaW5jbHVkZSA8Y29tbW9uLmg+Cj4g ZGlmZiAtLWdpdCBhL2NvbW1hbmRzL29mX2R1bXAuYyBiL2NvbW1hbmRzL29mX2R1bXAuYwo+IGlu ZGV4IDA2YjhlOWZjZGEwYi4uZTQ5MGNkZWEyYzcwIDEwMDY0NAo+IC0tLSBhL2NvbW1hbmRzL29m X2R1bXAuYwo+ICsrKyBiL2NvbW1hbmRzL29mX2R1bXAuYwo+IEBAIC0xLDIwICsxLDggQEAKPiAr Ly8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAKPiAgLyoKPiAgICogb2ZfZHVtcC5j IC0gZHVtcCBkZXZpY2V0cmVlcyB0byB0aGUgY29uc29sZQo+ICAgKgo+ICAgKiBDb3B5cmlnaHQg KGMpIDIwMTQgU2FzY2hhIEhhdWVyIDxzLmhhdWVyQHBlbmd1dHJvbml4LmRlPiwgUGVuZ3V0cm9u aXgKPiAtICoKPiAtICogU2VlIGZpbGUgQ1JFRElUUyBmb3IgbGlzdCBvZiBwZW9wbGUgd2hvIGNv bnRyaWJ1dGVkIHRvIHRoaXMKPiAtICogcHJvamVjdC4KPiAtICoKPiAtICogVGhpcyBwcm9ncmFt IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkK PiAtICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5z ZSB2ZXJzaW9uIDIKPiAtICogYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5k YXRpb24uCj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9w ZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAo+IC0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7 IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgo+IC0gKiBNRVJDSEFOVEFCSUxJ VFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCj4gLSAqIEdO VSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCj4gLSAqCj4gICAqLwo+ ICAKPiAgI2luY2x1ZGUgPGNvbW1vbi5oPgo+IGRpZmYgLS1naXQgYS9jb21tYW5kcy9vZl9maXh1 cF9zdGF0dXMuYyBiL2NvbW1hbmRzL29mX2ZpeHVwX3N0YXR1cy5jCj4gaW5kZXggZTBkYTQyOWFj Mzk0Li5kYzk4OGY3MjcxZjAgMTAwNjQ0Cj4gLS0tIGEvY29tbWFuZHMvb2ZfZml4dXBfc3RhdHVz LmMKPiArKysgYi9jb21tYW5kcy9vZl9maXh1cF9zdGF0dXMuYwo+IEBAIC0xLDMgKzEsNCBAQAo+ ICsvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMAo+ICAvKgo+ICAgKiBvZl9maXh1 cF9zdGF0dXMuYyAtIFJlZ2lzdGVyIGEgZml4dXAgdG8gZW5hYmxlIG9yIGRpc2FibGUgbm9kZXMg aW4gdGhlCj4gICAqIGRldmljZSB0cmVlCj4gQEAgLTYsMTggKzcsNiBAQAo+ICAgKiBBdXRob3I6 Cj4gICAqCVRlcmVzYSBSZW1tZXQKPiAgICoJV2FkaW0gRWdvcm92Cj4gLSAqCj4gLSAqIFNlZSBm aWxlIENSRURJVFMgZm9yIGxpc3Qgb2YgcGVvcGxlIHdobyBjb250cmlidXRlZCB0byB0aGlzCj4g LSAqIHByb2plY3QuCj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5 b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Cj4gLSAqIGl0IHVuZGVyIHRoZSB0 ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyCj4gLSAqIGFz IHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgo+IC0gKgo+IC0gKiBU aGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVz ZWZ1bCwKPiAtICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGlt cGxpZWQgd2FycmFudHkgb2YKPiAtICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEg UEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQo+IC0gKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGlj ZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgo+ICAgKi8KPiAgCj4gICNpbmNsdWRlIDxjb21tb24uaD4K PiBkaWZmIC0tZ2l0IGEvY29tbWFuZHMvb2Zfbm9kZS5jIGIvY29tbWFuZHMvb2Zfbm9kZS5jCj4g aW5kZXggMjhjNDM1N2M1ZDk3Li4zMTVkY2EzN2FlYmIgMTAwNjQ0Cj4gLS0tIGEvY29tbWFuZHMv b2Zfbm9kZS5jCj4gKysrIGIvY29tbWFuZHMvb2Zfbm9kZS5jCj4gQEAgLTEsMjAgKzEsOCBAQAo+ ICsvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMAo+ICAvKgo+ICAgKiBvZl9ub2Rl LmMgLSBkZXZpY2UgdHJlZSBub2RlIGhhbmRsaW5nIHN1cHBvcnQKPiAgICoKPiAgICogQ29weXJp Z2h0IChjKSAyMDEzIFNhc2NoYSBIYXVlciA8cy5oYXVlckBwZW5ndXRyb25peC5kZT4sIFBlbmd1 dHJvbml4Cj4gLSAqCj4gLSAqIFNlZSBmaWxlIENSRURJVFMgZm9yIGxpc3Qgb2YgcGVvcGxlIHdo byBjb250cmlidXRlZCB0byB0aGlzCj4gLSAqIHByb2plY3QuCj4gLSAqCj4gLSAqIFRoaXMgcHJv Z3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9k aWZ5Cj4gLSAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExp Y2Vuc2UgdmVyc2lvbiAyCj4gLSAqIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBG b3VuZGF0aW9uLgo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhl IGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKPiAtICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJB TlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKPiAtICogTUVSQ0hBTlRB QklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQo+IC0g KiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgo+IC0gKgo+ICAg Ki8KPiAgCj4gICNpbmNsdWRlIDxjb21tb24uaD4KPiBkaWZmIC0tZ2l0IGEvY29tbWFuZHMvb2Zf cHJvcGVydHkuYyBiL2NvbW1hbmRzL29mX3Byb3BlcnR5LmMKPiBpbmRleCAxZDdiYTE4MWQ1ZjAu LjRjMzgwZmU5N2U4NCAxMDA2NDQKPiAtLS0gYS9jb21tYW5kcy9vZl9wcm9wZXJ0eS5jCj4gKysr IGIvY29tbWFuZHMvb2ZfcHJvcGVydHkuYwo+IEBAIC0xLDIwICsxLDggQEAKPiArLy8gU1BEWC1M aWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAKPiAgLyoKPiAgICogb2ZfcHJvcGVydHkuYyAtIGRl dmljZSB0cmVlIHByb3BlcnR5IGhhbmRsaW5nIHN1cHBvcnQKPiAgICoKPiAgICogQ29weXJpZ2h0 IChjKSAyMDEzIFNhc2NoYSBIYXVlciA8cy5oYXVlckBwZW5ndXRyb25peC5kZT4sIFBlbmd1dHJv bml4Cj4gLSAqCj4gLSAqIFNlZSBmaWxlIENSRURJVFMgZm9yIGxpc3Qgb2YgcGVvcGxlIHdobyBj b250cmlidXRlZCB0byB0aGlzCj4gLSAqIHByb2plY3QuCj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3Jh bSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5 Cj4gLSAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vu c2UgdmVyc2lvbiAyCj4gLSAqIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3Vu ZGF0aW9uLgo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhv cGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKPiAtICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZ OyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKPiAtICogTUVSQ0hBTlRBQklM SVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQo+IC0gKiBH TlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgo+IC0gKgo+ICAgKi8K PiAgCj4gICNpbmNsdWRlIDxjb21tb24uaD4KPiBkaWZmIC0tZ2l0IGEvY29tbWFuZHMvb2Z0cmVl LmMgYi9jb21tYW5kcy9vZnRyZWUuYwo+IGluZGV4IDI5OWMyZWRmY2QwMC4uNzFjMzZhMmExOGRj IDEwMDY0NAo+IC0tLSBhL2NvbW1hbmRzL29mdHJlZS5jCj4gKysrIGIvY29tbWFuZHMvb2Z0cmVl LmMKPiBAQCAtMSwzICsxLDQgQEAKPiArLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0y LjAKPiAgLyoKPiAgICogb2Z0cmVlLmMgLSBkZXZpY2UgdHJlZSBjb21tYW5kIHN1cHBvcnQKPiAg ICoKPiBAQCAtOCwxOSArOSw2IEBACj4gICAqIEdlcmFsZCBWYW4gQmFyZW4sIEN1c3RvbSBJREVB UywgdmFuYmFyZW5AY2lkZWFzLmNvbQo+ICAgKiBQYW50ZWxpcyBBbnRvbmlvdSA8cGFudGVsaXMu YW50b25pb3VAZ21haWwuY29tPiBhbmQKPiAgICogTWF0dGhldyBNY0NsaW50b2NrIDxtc21AZnJl ZXNjYWxlLmNvbT4KPiAtICoKPiAtICogU2VlIGZpbGUgQ1JFRElUUyBmb3IgbGlzdCBvZiBwZW9w bGUgd2hvIGNvbnRyaWJ1dGVkIHRvIHRoaXMKPiAtICogcHJvamVjdC4KPiAtICoKPiAtICogVGhp cyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9v ciBtb2RpZnkKPiAtICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJs aWMgTGljZW5zZSB2ZXJzaW9uIDIKPiAtICogYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3 YXJlIEZvdW5kYXRpb24uCj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBp biB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAo+IC0gKiBidXQgV0lUSE9VVCBBTlkg V0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgo+IC0gKiBNRVJD SEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhl Cj4gLSAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCj4gLSAq Cj4gICAqLwo+ICAKPiAgI2luY2x1ZGUgPGNvbW1vbi5oPgo+IGRpZmYgLS1naXQgYS9jb21tYW5k cy9wYXJ0aXRpb24uYyBiL2NvbW1hbmRzL3BhcnRpdGlvbi5jCj4gaW5kZXggNjRjY2FmMDgxM2Qy Li41NzVjYWJjNGNkNzAgMTAwNjQ0Cj4gLS0tIGEvY29tbWFuZHMvcGFydGl0aW9uLmMKPiArKysg Yi9jb21tYW5kcy9wYXJ0aXRpb24uYwo+IEBAIC0xLDIxICsxLDkgQEAKPiArLy8gU1BEWC1MaWNl bnNlLUlkZW50aWZpZXI6IEdQTC0yLjAKPiAgLyoKPiAgICogcGFydGl0aW9uLmMgLSBwYXJzZSBh IGxpbnV4LWxpa2UgbXRkIHBhcnRpdGlvbiBkZWZpbml0aW9uIGFuZCByZWdpc3Rlcgo+ICAgKiAg ICAgICAgICAgICAgIHRoZSBuZXcgcGFydGl0aW9ucwo+ICAgKgo+ICAgKiBDb3B5cmlnaHQgKGMp IDIwMDcgU2FzY2hhIEhhdWVyIDxzLmhhdWVyQHBlbmd1dHJvbml4LmRlPiwgUGVuZ3V0cm9uaXgK PiAtICoKPiAtICogU2VlIGZpbGUgQ1JFRElUUyBmb3IgbGlzdCBvZiBwZW9wbGUgd2hvIGNvbnRy aWJ1dGVkIHRvIHRoaXMKPiAtICogcHJvamVjdC4KPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlz IGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKPiAt ICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2 ZXJzaW9uIDIKPiAtICogYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp b24uCj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0 aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAo+IC0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdp dGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgo+IC0gKiBNRVJDSEFOVEFCSUxJVFkg b3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCj4gLSAqIEdOVSBH ZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCj4gLSAqCj4gICAqLwo+ICAK PiAgLyoqCj4gZGlmZiAtLWdpdCBhL2NvbW1hbmRzL3Bhc3N3ZC5jIGIvY29tbWFuZHMvcGFzc3dk LmMKPiBpbmRleCA2ZjY4NzAwYzI1NzYuLmYyZWJiYjI2YmYxMyAxMDA2NDQKPiAtLS0gYS9jb21t YW5kcy9wYXNzd2QuYwo+ICsrKyBiL2NvbW1hbmRzL3Bhc3N3ZC5jCj4gQEAgLTEsMTggKzEsNiBA QAo+ICsvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMAo+ICAvKgo+ICAgKiBDb3B5 cmlnaHQgKGMpIDIwMDgtMjAxMCBKZWFuLUNocmlzdG9waGUgUExBR05JT0wtVklMTEFSRCA8cGxh Z25pb2pAamNyb3NvZnQuY29tPgo+IC0gKgo+IC0gKiBTZWUgZmlsZSBDUkVESVRTIGZvciBsaXN0 IG9mIHBlb3BsZSB3aG8gY29udHJpYnV0ZWQgdG8gdGhpcwo+IC0gKiBwcm9qZWN0Lgo+IC0gKgo+ IC0gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUg aXQgYW5kL29yIG1vZGlmeQo+IC0gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5l cmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMgo+IC0gKiBhcyBwdWJsaXNoZWQgYnkgdGhlIEZy ZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGRpc3Ry aWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCj4gLSAqIGJ1dCBXSVRI T1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCj4g LSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4g IFNlZSB0aGUKPiAtICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWls cy4KPiAtICoKPiAgICovCj4gIAo+ICAjaW5jbHVkZSA8Y29tbW9uLmg+Cj4gZGlmZiAtLWdpdCBh L2NvbW1hbmRzL3Bvd2Vyb2ZmLmMgYi9jb21tYW5kcy9wb3dlcm9mZi5jCj4gaW5kZXggYmJhZmEx M2JkMGZlLi44NmI4OWU3Zjk2ZDQgMTAwNjQ0Cj4gLS0tIGEvY29tbWFuZHMvcG93ZXJvZmYuYwo+ ICsrKyBiL2NvbW1hbmRzL3Bvd2Vyb2ZmLmMKPiBAQCAtMSwyMCArMSw4IEBACj4gKy8vIFNQRFgt TGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wCj4gIC8qCj4gICAqIHBvd2Vyb2ZmLmMgLSB0dXJu IGJvYXJkJ3MgcG93ZXIgb2ZmCj4gICAqCj4gICAqIENvcHlyaWdodCAoQykgMjAxMSBBbnRvbnkg UGF2bG92IDxhbnRvbnlucGF2bG92QGdtYWlsLmNvbT4KPiAtICoKPiAtICogVGhpcyBmaWxlIGlz IHBhcnQgb2YgYmFyZWJveC4KPiAtICogU2VlIGZpbGUgQ1JFRElUUyBmb3IgbGlzdCBvZiBwZW9w bGUgd2hvIGNvbnRyaWJ1dGVkIHRvIHRoaXMgcHJvamVjdC4KPiAtICoKPiAtICogVGhpcyBwcm9n cmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2Rp ZnkKPiAtICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGlj ZW5zZSB2ZXJzaW9uIDIKPiAtICogYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZv dW5kYXRpb24uCj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUg aG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAo+IC0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFO VFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgo+IC0gKiBNRVJDSEFOVEFC SUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCj4gLSAq IEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCj4gLSAqCj4gICAq Lwo+ICAKPiAgI2luY2x1ZGUgPGNvbW1vbi5oPgo+IGRpZmYgLS1naXQgYS9jb21tYW5kcy9wcmlu dGVudi5jIGIvY29tbWFuZHMvcHJpbnRlbnYuYwo+IGluZGV4IDE2MWMyMTQ0NjI3OS4uODBkY2Nm OTljZGExIDEwMDY0NAo+IC0tLSBhL2NvbW1hbmRzL3ByaW50ZW52LmMKPiArKysgYi9jb21tYW5k cy9wcmludGVudi5jCj4gQEAgLTEsMTggKzEsNiBAQAo+ICsvLyBTUERYLUxpY2Vuc2UtSWRlbnRp ZmllcjogR1BMLTIuMAo+ICAvKgo+ICAgKiBDb3B5cmlnaHQgKGMpIDIwMDcgU2FzY2hhIEhhdWVy IDxzLmhhdWVyQHBlbmd1dHJvbml4LmRlPiwgUGVuZ3V0cm9uaXgKPiAtICoKPiAtICogU2VlIGZp bGUgQ1JFRElUUyBmb3IgbGlzdCBvZiBwZW9wbGUgd2hvIGNvbnRyaWJ1dGVkIHRvIHRoaXMKPiAt ICogcHJvamVjdC4KPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlv dSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKPiAtICogaXQgdW5kZXIgdGhlIHRl cm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIKPiAtICogYXMg cHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCj4gLSAqCj4gLSAqIFRo aXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNl ZnVsLAo+IC0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1w bGllZCB3YXJyYW50eSBvZgo+IC0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQ QVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCj4gLSAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNl bnNlIGZvciBtb3JlIGRldGFpbHMuCj4gLSAqCj4gICAqLwo+ICAKPiAgI2luY2x1ZGUgPGNvbW1v bi5oPgo+IGRpZmYgLS1naXQgYS9jb21tYW5kcy9wd2QuYyBiL2NvbW1hbmRzL3B3ZC5jCj4gaW5k ZXggZDVkZDE2MTkzMTdiLi5kZmFiYWMzZTQ1OTQgMTAwNjQ0Cj4gLS0tIGEvY29tbWFuZHMvcHdk LmMKPiArKysgYi9jb21tYW5kcy9wd2QuYwo+IEBAIC0xLDIwICsxLDggQEAKPiArLy8gU1BEWC1M aWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAKPiAgLyoKPiAgICogcHdkLmMgLSBwcmludCB3b3Jr aW5nIGRpcmVjdG9yeQo+ICAgKgo+ICAgKiBDb3B5cmlnaHQgKGMpIDIwMDcgU2FzY2hhIEhhdWVy IDxzLmhhdWVyQHBlbmd1dHJvbml4LmRlPiwgUGVuZ3V0cm9uaXgKPiAtICoKPiAtICogU2VlIGZp bGUgQ1JFRElUUyBmb3IgbGlzdCBvZiBwZW9wbGUgd2hvIGNvbnRyaWJ1dGVkIHRvIHRoaXMKPiAt ICogcHJvamVjdC4KPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlv dSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKPiAtICogaXQgdW5kZXIgdGhlIHRl cm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIKPiAtICogYXMg cHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCj4gLSAqCj4gLSAqIFRo aXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNl ZnVsLAo+IC0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1w bGllZCB3YXJyYW50eSBvZgo+IC0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQ QVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCj4gLSAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNl bnNlIGZvciBtb3JlIGRldGFpbHMuCj4gLSAqCj4gICAqLwo+ICAjaW5jbHVkZSA8Y29tbW9uLmg+ Cj4gICNpbmNsdWRlIDxjb21tYW5kLmg+Cj4gZGlmZiAtLWdpdCBhL2NvbW1hbmRzL3JlYWRsaW5l LmMgYi9jb21tYW5kcy9yZWFkbGluZS5jCj4gaW5kZXggYjZlMGUzZTA5MTNiLi5hNjMyNDBmOWE1 MmYgMTAwNjQ0Cj4gLS0tIGEvY29tbWFuZHMvcmVhZGxpbmUuYwo+ICsrKyBiL2NvbW1hbmRzL3Jl YWRsaW5lLmMKPiBAQCAtMSwyMCArMSw3IEBACj4gKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVy OiBHUEwtMi4wKwo+ICAvKgo+ICAgKiAoQykgQ29weXJpZ2h0IDIwMDAtMjAwMwo+ICAgKiBXb2xm Z2FuZyBEZW5rLCBERU5YIFNvZnR3YXJlIEVuZ2luZWVyaW5nLCB3ZEBkZW54LmRlLgo+IC0gKgo+ IC0gKiBTZWUgZmlsZSBDUkVESVRTIGZvciBsaXN0IG9mIHBlb3BsZSB3aG8gY29udHJpYnV0ZWQg dG8gdGhpcwo+IC0gKiBwcm9qZWN0Lgo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBz b2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCj4gLSAqIG1vZGlmeSBpdCB1 bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzCj4gLSAq IHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lv biAyIG9mCj4gLSAqIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2 ZXJzaW9uLgo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhv cGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKPiAtICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZ OyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKPiAtICogTUVSQ0hBTlRBQklM SVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQo+IC0gKiBH TlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgo+IC0gKgo+ICAgKi8K PiAgCj4gICNpbmNsdWRlIDxjb21tb24uaD4KPiBkaWZmIC0tZ2l0IGEvY29tbWFuZHMvcmVhZGxp bmsuYyBiL2NvbW1hbmRzL3JlYWRsaW5rLmMKPiBpbmRleCAyZGZhNTY2Njc1ZjEuLjgwYWM3ODY5 YzI2NCAxMDA2NDQKPiAtLS0gYS9jb21tYW5kcy9yZWFkbGluay5jCj4gKysrIGIvY29tbWFuZHMv cmVhZGxpbmsuYwo+IEBAIC0xLDIwICsxLDggQEAKPiArLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZp ZXI6IEdQTC0yLjAKPiAgLyoKPiAgICogcmVhZGxpbmsuYyAtIHJlYWQgdmFsdWUgb2YgYSBzeW1i b2xpYyBsaW5rCj4gICAqCj4gICAqIENvcHlyaWdodCAoYykgMjAxMiBKZWFuLUNocmlzdG9waGUg UExBR05JT0wtVklMTEFSRCA8cGxhZ25pb2pAamNyb3NvZnQuY29tPgo+IC0gKgo+IC0gKiBTZWUg ZmlsZSBDUkVESVRTIGZvciBsaXN0IG9mIHBlb3BsZSB3aG8gY29udHJpYnV0ZWQgdG8gdGhpcwo+ IC0gKiBwcm9qZWN0Lgo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsg eW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQo+IC0gKiBpdCB1bmRlciB0aGUg dGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMgo+IC0gKiBh cyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KPiAtICoKPiAtICog VGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1 c2VmdWwsCj4gLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBp bXBsaWVkIHdhcnJhbnR5IG9mCj4gLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBB IFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKPiAtICogR05VIEdlbmVyYWwgUHVibGljIExp Y2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KPiAtICoKPiAgICovCj4gIAo+ICAjaW5jbHVkZSA8Y29t bW9uLmg+Cj4gZGlmZiAtLWdpdCBhL2NvbW1hbmRzL3JlZ2luZm8uYyBiL2NvbW1hbmRzL3JlZ2lu Zm8uYwo+IGluZGV4IDM3ODE2Y2IyNjEzMy4uZGQyNTkwOTRkZjJkIDEwMDY0NAo+IC0tLSBhL2Nv bW1hbmRzL3JlZ2luZm8uYwo+ICsrKyBiL2NvbW1hbmRzL3JlZ2luZm8uYwo+IEBAIC0xLDIwICsx LDggQEAKPiArLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAKPiAgLyoKPiAgICog cmVnaW5mby5jIC0gcHJpbnQgaW5mb3JtYXRpb24gYWJvdXQgU29DIHNwZWNpZmMgcmVnaXN0ZXJz Cj4gICAqCj4gICAqIENvcHlyaWdodCAoYykgMjAwNyBTYXNjaGEgSGF1ZXIgPHMuaGF1ZXJAcGVu Z3V0cm9uaXguZGU+LCBQZW5ndXRyb25peAo+IC0gKgo+IC0gKiBTZWUgZmlsZSBDUkVESVRTIGZv ciBsaXN0IG9mIHBlb3BsZSB3aG8gY29udHJpYnV0ZWQgdG8gdGhpcwo+IC0gKiBwcm9qZWN0Lgo+ IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3Ry aWJ1dGUgaXQgYW5kL29yIG1vZGlmeQo+IC0gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdO VSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMgo+IC0gKiBhcyBwdWJsaXNoZWQgYnkg dGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlz IGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCj4gLSAqIGJ1 dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5 IG9mCj4gLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVS UE9TRS4gIFNlZSB0aGUKPiAtICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUg ZGV0YWlscy4KPiAtICoKPiAgICovCj4gIAo+ICAjaW5jbHVkZSA8Y29tbW9uLmg+Cj4gZGlmZiAt LWdpdCBhL2NvbW1hbmRzL3JlZ3VsYXRvci5jIGIvY29tbWFuZHMvcmVndWxhdG9yLmMKPiBpbmRl eCBlMGI3MDRmODhhMjQuLjJkMzkzODVmMTVjZCAxMDA2NDQKPiAtLS0gYS9jb21tYW5kcy9yZWd1 bGF0b3IuYwo+ICsrKyBiL2NvbW1hbmRzL3JlZ3VsYXRvci5jCj4gQEAgLTEsMjAgKzEsOCBAQAo+ ICsvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMAo+ICAvKgo+ICAgKiByZWd1bGF0 b3IgY29tbWFuZAo+ICAgKgo+ICAgKiBDb3B5cmlnaHQgKGMpIDIwMTQgU2FzY2hhIEhhdWVyIDxz LmhhdWVyQHBlbmd1dHJvbml4LmRlPiwgUGVuZ3V0cm9uaXgKPiAtICoKPiAtICogU2VlIGZpbGUg Q1JFRElUUyBmb3IgbGlzdCBvZiBwZW9wbGUgd2hvIGNvbnRyaWJ1dGVkIHRvIHRoaXMKPiAtICog cHJvamVjdC4KPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBj YW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKPiAtICogaXQgdW5kZXIgdGhlIHRlcm1z IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIKPiAtICogYXMgcHVi bGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCj4gLSAqCj4gLSAqIFRoaXMg cHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVs LAo+IC0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGll ZCB3YXJyYW50eSBvZgo+IC0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJU SUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCj4gLSAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl IGZvciBtb3JlIGRldGFpbHMuCj4gLSAqCj4gICAqLwo+ICAjaW5jbHVkZSA8Y29tbW9uLmg+Cj4g ICNpbmNsdWRlIDxjb21tYW5kLmg+Cj4gZGlmZiAtLWdpdCBhL2NvbW1hbmRzL3Jlc2V0LmMgYi9j b21tYW5kcy9yZXNldC5jCj4gaW5kZXggNmVhYzUzMjYyM2Y3Li4yNDI5YzQ2MjBlODEgMTAwNjQ0 Cj4gLS0tIGEvY29tbWFuZHMvcmVzZXQuYwo+ICsrKyBiL2NvbW1hbmRzL3Jlc2V0LmMKPiBAQCAt MSwyMCArMSw4IEBACj4gKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wCj4gIC8q Cj4gICAqIHJlc2V0LmMgLSByZXNldCB0aGUgY3B1Cj4gICAqCj4gICAqIENvcHlyaWdodCAoYykg MjAwNyBTYXNjaGEgSGF1ZXIgPHMuaGF1ZXJAcGVuZ3V0cm9uaXguZGU+LCBQZW5ndXRyb25peAo+ IC0gKgo+IC0gKiBTZWUgZmlsZSBDUkVESVRTIGZvciBsaXN0IG9mIHBlb3BsZSB3aG8gY29udHJp YnV0ZWQgdG8gdGhpcwo+IC0gKiBwcm9qZWN0Lgo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMg ZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQo+IC0g KiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZl cnNpb24gMgo+IC0gKiBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlv bi4KPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRo YXQgaXQgd2lsbCBiZSB1c2VmdWwsCj4gLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0 aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCj4gLSAqIE1FUkNIQU5UQUJJTElUWSBv ciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKPiAtICogR05VIEdl bmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KPiAtICoKPiAgICovCj4gIAo+ ICAjaW5jbHVkZSA8Y29tbW9uLmg+Cj4gZGlmZiAtLWdpdCBhL2NvbW1hbmRzL3JtLmMgYi9jb21t YW5kcy9ybS5jCj4gaW5kZXggNGVlYmIzZDE1OTk5Li5jZTBmY2Y1MmUyZDkgMTAwNjQ0Cj4gLS0t IGEvY29tbWFuZHMvcm0uYwo+ICsrKyBiL2NvbW1hbmRzL3JtLmMKPiBAQCAtMSwyMCArMSw4IEBA Cj4gKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wCj4gIC8qCj4gICAqIHJtLmMg LSByZW1vdmUgZmlsZXMKPiAgICoKPiAgICogQ29weXJpZ2h0IChjKSAyMDA3IFNhc2NoYSBIYXVl ciA8cy5oYXVlckBwZW5ndXRyb25peC5kZT4sIFBlbmd1dHJvbml4Cj4gLSAqCj4gLSAqIFNlZSBm aWxlIENSRURJVFMgZm9yIGxpc3Qgb2YgcGVvcGxlIHdobyBjb250cmlidXRlZCB0byB0aGlzCj4g LSAqIHByb2plY3QuCj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5 b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Cj4gLSAqIGl0IHVuZGVyIHRoZSB0 ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyCj4gLSAqIGFz IHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgo+IC0gKgo+IC0gKiBU aGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVz ZWZ1bCwKPiAtICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGlt cGxpZWQgd2FycmFudHkgb2YKPiAtICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEg UEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQo+IC0gKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGlj ZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgo+IC0gKgo+ICAgKi8KPiAgI2luY2x1ZGUgPGNvbW1vbi5o Pgo+ICAjaW5jbHVkZSA8Y29tbWFuZC5oPgo+IGRpZmYgLS1naXQgYS9jb21tYW5kcy9zYXZlZW52 LmMgYi9jb21tYW5kcy9zYXZlZW52LmMKPiBpbmRleCBiYzEyMDJmOWExMWIuLjAyYWQ5NjBmZDJi MyAxMDA2NDQKPiAtLS0gYS9jb21tYW5kcy9zYXZlZW52LmMKPiArKysgYi9jb21tYW5kcy9zYXZl ZW52LmMKPiBAQCAtMSwxOCArMSw2IEBACj4gKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBH UEwtMi4wCj4gIC8qCj4gICAqIENvcHlyaWdodCAoYykgMjAwNyBTYXNjaGEgSGF1ZXIgPHMuaGF1 ZXJAcGVuZ3V0cm9uaXguZGU+LCBQZW5ndXRyb25peAo+IC0gKgo+IC0gKiBTZWUgZmlsZSBDUkVE SVRTIGZvciBsaXN0IG9mIHBlb3BsZSB3aG8gY29udHJpYnV0ZWQgdG8gdGhpcwo+IC0gKiBwcm9q ZWN0Lgo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiBy ZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQo+IC0gKiBpdCB1bmRlciB0aGUgdGVybXMgb2Yg dGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMgo+IC0gKiBhcyBwdWJsaXNo ZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KPiAtICoKPiAtICogVGhpcyBwcm9n cmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCj4g LSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdh cnJhbnR5IG9mCj4gLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM QVIgUFVSUE9TRS4gIFNlZSB0aGUKPiAtICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9y IG1vcmUgZGV0YWlscy4KPiAtICoKPiAgICovCj4gIAo+ICAjaW5jbHVkZSA8Y29tbW9uLmg+Cj4g ZGlmZiAtLWdpdCBhL2NvbW1hbmRzL3NlZWQuYyBiL2NvbW1hbmRzL3NlZWQuYwo+IGluZGV4IGUz NzhjZDc2MzU0Ni4uODhiZmZhMTc3YzFlIDEwMDY0NAo+IC0tLSBhL2NvbW1hbmRzL3NlZWQuYwo+ ICsrKyBiL2NvbW1hbmRzL3NlZWQuYwo+IEBAIC0xLDE1ICsxLDYgQEAKPiArLy8gU1BEWC1MaWNl bnNlLUlkZW50aWZpZXI6IEdQTC0yLjArCj4gIC8qCj4gICAqIChjKSAyMDE3IE9sZWtzaWogUmVt cGVsIDxrZXJuZWxAcGVuZ3V0cm9uaXguZGU+Cj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBm cmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Cj4gLSAq IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMg cHVibGlzaGVkIGJ5Cj4gLSAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2 ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCj4gLSAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxh dGVyIHZlcnNpb24uCj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0 aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAo+IC0gKiBidXQgV0lUSE9VVCBBTlkgV0FS UkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgo+IC0gKiBNRVJDSEFO VEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCj4g LSAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCj4gICAqLwo+ ICAKPiAgI2luY2x1ZGUgPGNvbW1vbi5oPgo+IGRpZmYgLS1naXQgYS9jb21tYW5kcy9zZXRlbnYu YyBiL2NvbW1hbmRzL3NldGVudi5jCj4gaW5kZXggYWY0ZGQyOWFjNDU3Li45YmVhYTNiMGM1ODEg MTAwNjQ0Cj4gLS0tIGEvY29tbWFuZHMvc2V0ZW52LmMKPiArKysgYi9jb21tYW5kcy9zZXRlbnYu Ywo+IEBAIC0xLDE4ICsxLDYgQEAKPiArLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0y LjAKPiAgLyoKPiAgICogQ29weXJpZ2h0IChjKSAyMDA3IFNhc2NoYSBIYXVlciA8cy5oYXVlckBw ZW5ndXRyb25peC5kZT4sIFBlbmd1dHJvbml4Cj4gLSAqCj4gLSAqIFNlZSBmaWxlIENSRURJVFMg Zm9yIGxpc3Qgb2YgcGVvcGxlIHdobyBjb250cmlidXRlZCB0byB0aGlzCj4gLSAqIHByb2plY3Qu Cj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlz dHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Cj4gLSAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUg R05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyCj4gLSAqIGFzIHB1Ymxpc2hlZCBi eSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0g aXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKPiAtICog YnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFu dHkgb2YKPiAtICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQ VVJQT1NFLiAgU2VlIHRoZQo+IC0gKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9y ZSBkZXRhaWxzLgo+IC0gKgo+ICAgKi8KPiAgCj4gICNpbmNsdWRlIDxjb21tb24uaD4KPiBkaWZm IC0tZ2l0IGEvY29tbWFuZHMvc2xlZXAuYyBiL2NvbW1hbmRzL3NsZWVwLmMKPiBpbmRleCAyNDkx ZGMyNjFkYmQuLjczOGI3NDQ4MGUxMCAxMDA2NDQKPiAtLS0gYS9jb21tYW5kcy9zbGVlcC5jCj4g KysrIGIvY29tbWFuZHMvc2xlZXAuYwo+IEBAIC0xLDIwICsxLDggQEAKPiArLy8gU1BEWC1MaWNl bnNlLUlkZW50aWZpZXI6IEdQTC0yLjAKPiAgLyoKPiAgICogc2xlZXAuYyAtIGRlbGF5IGV4ZWN1 dGlvbgo+ICAgKgo+ICAgKiBDb3B5cmlnaHQgKGMpIDIwMDcgU2FzY2hhIEhhdWVyIDxzLmhhdWVy QHBlbmd1dHJvbml4LmRlPiwgUGVuZ3V0cm9uaXgKPiAtICoKPiAtICogU2VlIGZpbGUgQ1JFRElU UyBmb3IgbGlzdCBvZiBwZW9wbGUgd2hvIGNvbnRyaWJ1dGVkIHRvIHRoaXMKPiAtICogcHJvamVj dC4KPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVk aXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKPiAtICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRo ZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIKPiAtICogYXMgcHVibGlzaGVk IGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3Jh bSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAo+IC0g KiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJy YW50eSBvZgo+IC0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS IFBVUlBPU0UuICBTZWUgdGhlCj4gLSAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBt b3JlIGRldGFpbHMuCj4gLSAqCj4gICAqLwo+ICAKPiAgI2luY2x1ZGUgPGNvbW1vbi5oPgo+IGRp ZmYgLS1naXQgYS9jb21tYW5kcy9zcGRfZGVjb2RlLmMgYi9jb21tYW5kcy9zcGRfZGVjb2RlLmMK PiBpbmRleCAwOGI5NTg5NjIyNDkuLmI0OWFjODFjMjQ0ZSAxMDA2NDQKPiAtLS0gYS9jb21tYW5k cy9zcGRfZGVjb2RlLmMKPiArKysgYi9jb21tYW5kcy9zcGRfZGVjb2RlLmMKPiBAQCAtMSwyNCAr MSw5IEBACj4gKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wKwo+ICAvKgo+ICAg KiBUaGlzIHByb2dyYW0gaXMgZGVjb2RpbmcgYW5kIHByaW50aW5nIFNQRCBjb250ZW50cwo+ICAg KiBpbiBodW1hbiByZWFkYWJsZSBmb3JtYXQKPiAgICogQXMgYW4gYXJndW1lbnQgcHJvZ3JhbSwg eW91IG11c3Qgc3BlY2lmeSB0aGUgZmlsZSBuYW1lLgo+ICAgKgo+IC0gKiBUaGlzIHByb2dyYW0g aXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCj4gLSAqIG1v ZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl IGFzCj4gLSAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRo ZXIgdmVyc2lvbiAyIG9mCj4gLSAqIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFu eSBsYXRlciB2ZXJzaW9uLgo+IC0gKgo+IC0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ IFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIKPiAtICogQU5E IEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ TUlURUQgVE8sCj4gLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKPiAtICogUFVSUE9TRSBBUkUgRElTQ0xBSU1F RC4gSU4gTk8gRVZFTlQgU0hBTEwgQUxURVJBIENPUlBPUkFUSU9OIEJFIExJQUJMRQo+IC0gKiBG T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg T1IgQ09OU0VRVUVOVElBTAo+IC0gKiBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF RCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUgo+IC0gKiBTRVJWSUNFUzsg TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikg SE9XRVZFUgo+IC0gKiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAo+IC0gKiBPUiBUT1JUIChJTkNMVURJ TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YKPiAt ICogVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJ QklMSVRZIE9GIFNVQ0ggREFNQUdFLgo+IC0gKgo+ICAgKiBDb3B5cmlnaHQgKEMpIDIwMTUgQWxl eGFuZGVyIFNtaXJub3YgPGFsbGxlY3NAeWFuZGV4LnJ1Pgo+ICAgKi8KPiAgCj4gZGlmZiAtLWdp dCBhL2NvbW1hbmRzL3NwaS5jIGIvY29tbWFuZHMvc3BpLmMKPiBpbmRleCBkMzVhYTFjZDgxYzku Ljc0ZWQ5ODQ0ZTQzMiAxMDA2NDQKPiAtLS0gYS9jb21tYW5kcy9zcGkuYwo+ICsrKyBiL2NvbW1h bmRzL3NwaS5jCj4gQEAgLTEsOCArMSw2IEBACj4gKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVy OiBHUEwtMi4wCj4gIC8qCj4gICAqIENvcHlyaWdodCAoYykgMjAxMiBKZWFuLUNocmlzdG9waGUg UExBR05JT0wtVklMTEFSRCA8cGxhZ25pb2pAamNyb3NvZnQuY29tPgo+IC0gKgo+IC0gKiBVbmRl ciBHUEx2MiBvbmx5Cj4gLSAqCj4gICAqLwo+ICAKPiAgI2luY2x1ZGUgPGNvbW1vbi5oPgo+IGRp ZmYgLS1naXQgYS9jb21tYW5kcy9zdGF0ZS5jIGIvY29tbWFuZHMvc3RhdGUuYwo+IGluZGV4IDBk YmNhOWYzYjc4My4uZTRjY2MxMTQyMTFkIDEwMDY0NAo+IC0tLSBhL2NvbW1hbmRzL3N0YXRlLmMK PiArKysgYi9jb21tYW5kcy9zdGF0ZS5jCj4gQEAgLTEsMTUgKzEsNiBAQAo+ICsvLyBTUERYLUxp Y2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMCsKPiAgLyoKPiAgICogQ29weXJpZ2h0IChDKSAyMDEy IEphbiBMdWViYmUgPGoubHVlYmJlQHBlbmd1dHJvbml4LmRlPgo+IC0gKgo+IC0gKiBUaGlzIHBy b2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1v ZGlmeQo+IC0gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBM aWNlbnNlIGFzIHB1Ymxpc2hlZCBieQo+IC0gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u OyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgo+IC0gKiAoYXQgeW91ciBvcHRp b24pIGFueSBsYXRlciB2ZXJzaW9uLgo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJp YnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKPiAtICogYnV0IFdJVEhP VVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKPiAt ICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAg U2VlIHRoZQo+IC0gKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxz Lgo+ICAgKi8KPiAgCj4gICNpbmNsdWRlIDxjb21tb24uaD4KPiBkaWZmIC0tZ2l0IGEvY29tbWFu ZHMvc3RkZGV2LmMgYi9jb21tYW5kcy9zdGRkZXYuYwo+IGluZGV4IDJiM2QwODRjODM1My4uY2Zh MGUzNWNiMzhiIDEwMDY0NAo+IC0tLSBhL2NvbW1hbmRzL3N0ZGRldi5jCj4gKysrIGIvY29tbWFu ZHMvc3RkZGV2LmMKPiBAQCAtMSwxOCArMSw2IEBACj4gKy8vIFNQRFgtTGljZW5zZS1JZGVudGlm aWVyOiBHUEwtMi4wCj4gIC8qCj4gICAqIENvcHlyaWdodCAoYykgMjAxMSBTYXNjaGEgSGF1ZXIg PHMuaGF1ZXJAcGVuZ3V0cm9uaXguZGU+LCBQZW5ndXRyb25peAo+IC0gKgo+IC0gKiBTZWUgZmls ZSBDUkVESVRTIGZvciBsaXN0IG9mIHBlb3BsZSB3aG8gY29udHJpYnV0ZWQgdG8gdGhpcwo+IC0g KiBwcm9qZWN0Lgo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91 IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQo+IC0gKiBpdCB1bmRlciB0aGUgdGVy bXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMgo+IC0gKiBhcyBw dWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KPiAtICoKPiAtICogVGhp cyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2Vm dWwsCj4gLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBs aWVkIHdhcnJhbnR5IG9mCj4gLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBB UlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKPiAtICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vu c2UgZm9yIG1vcmUgZGV0YWlscy4KPiAtICoKPiAgICovCj4gIAo+ICAjaW5jbHVkZSA8Y29tbW9u Lmg+Cj4gZGlmZiAtLWdpdCBhL2NvbW1hbmRzL3Rlc3QuYyBiL2NvbW1hbmRzL3Rlc3QuYwo+IGlu ZGV4IDg2NjM2ZGUxYzI4My4uMTQzNmVhNjYyMTk3IDEwMDY0NAo+IC0tLSBhL2NvbW1hbmRzL3Rl c3QuYwo+ICsrKyBiL2NvbW1hbmRzL3Rlc3QuYwo+IEBAIC0xLDMgKzEsNCBAQAo+ICsvLyBTUERY LUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMAo+ICAvKgo+ICAgKiB0ZXN0LmMgLSBzaCBsaWtl IHRlc3QKPiAgICoKPiBAQCAtNSwxOSArNiw2IEBACj4gICAqIGZvciBzbWFsbGVyIGJpbmFyeSBz aXplCj4gICAqCj4gICAqIENvcHlyaWdodCAoYykgMjAwNyBTYXNjaGEgSGF1ZXIgPHMuaGF1ZXJA cGVuZ3V0cm9uaXguZGU+LCBQZW5ndXRyb25peAo+IC0gKgo+IC0gKiBTZWUgZmlsZSBDUkVESVRT IGZvciBsaXN0IG9mIHBlb3BsZSB3aG8gY29udHJpYnV0ZWQgdG8gdGhpcwo+IC0gKiBwcm9qZWN0 Lgo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRp c3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQo+IC0gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhl IEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMgo+IC0gKiBhcyBwdWJsaXNoZWQg YnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KPiAtICoKPiAtICogVGhpcyBwcm9ncmFt IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCj4gLSAq IGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJh bnR5IG9mCj4gLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIg UFVSUE9TRS4gIFNlZSB0aGUKPiAtICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1v cmUgZGV0YWlscy4KPiAtICoKPiAgICovCj4gICNpbmNsdWRlIDxjb21tb24uaD4KPiAgI2luY2x1 ZGUgPGNvbW1hbmQuaD4KPiBkaWZmIC0tZ2l0IGEvY29tbWFuZHMvdGZ0cC5jIGIvY29tbWFuZHMv dGZ0cC5jCj4gaW5kZXggMDgzNjZiNDc2ZjhjLi5hM2I2MmU5N2MwNjAgMTAwNjQ0Cj4gLS0tIGEv Y29tbWFuZHMvdGZ0cC5jCj4gKysrIGIvY29tbWFuZHMvdGZ0cC5jCj4gQEAgLTEsMTkgKzEsOCBA QAo+ICsvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMAo+ICAvKgo+ICAgKiB0ZnRw LmMgLSAodXApbG9hZCB0ZnRwIGZpbGVzCj4gICAqCj4gICAqIENvcHlyaWdodCAoYykgMjAxMiBT YXNjaGEgSGF1ZXIgPHMuaGF1ZXJAcGVuZ3V0cm9uaXguZGU+LCBQZW5ndXRyb25peAo+IC0gKgo+ IC0gKiBTZWUgZmlsZSBDUkVESVRTIGZvciBsaXN0IG9mIHBlb3BsZSB3aG8gY29udHJpYnV0ZWQg dG8gdGhpcwo+IC0gKiBwcm9qZWN0Lgo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBz b2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQo+IC0gKiBpdCB1 bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24g Mgo+IC0gKiBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KPiAt ICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQg d2lsbCBiZSB1c2VmdWwsCj4gLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBl dmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCj4gLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRO RVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKPiAtICogR05VIEdlbmVyYWwg UHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KPiAgICovCj4gICNpbmNsdWRlIDxjb21t b24uaD4KPiAgI2luY2x1ZGUgPGNvbW1hbmQuaD4KPiBkaWZmIC0tZ2l0IGEvY29tbWFuZHMvdGlt ZW91dC5jIGIvY29tbWFuZHMvdGltZW91dC5jCj4gaW5kZXggZGI4ODkwMDI4N2ZjLi41OTdjYzQ2 NTY0NDYgMTAwNjQ0Cj4gLS0tIGEvY29tbWFuZHMvdGltZW91dC5jCj4gKysrIGIvY29tbWFuZHMv dGltZW91dC5jCj4gQEAgLTEsMjAgKzEsOCBAQAo+ICsvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmll cjogR1BMLTIuMAo+ICAvKgo+ICAgKiB0aW1lb3V0IC0gd2FpdCBmb3IgdGltZW91dAo+ICAgKgo+ ICAgKiBDb3B5cmlnaHQgKGMpIDIwMDcgU2FzY2hhIEhhdWVyIDxzLmhhdWVyQHBlbmd1dHJvbml4 LmRlPiwgUGVuZ3V0cm9uaXgKPiAtICoKPiAtICogU2VlIGZpbGUgQ1JFRElUUyBmb3IgbGlzdCBv ZiBwZW9wbGUgd2hvIGNvbnRyaWJ1dGVkIHRvIHRoaXMKPiAtICogcHJvamVjdC4KPiAtICoKPiAt ICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0 IGFuZC9vciBtb2RpZnkKPiAtICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJh bCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIKPiAtICogYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVl IFNvZnR3YXJlIEZvdW5kYXRpb24uCj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmli dXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAo+IC0gKiBidXQgV0lUSE9V VCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgo+IC0g KiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBT ZWUgdGhlCj4gLSAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMu Cj4gLSAqCj4gICAqLwo+ICAKPiAgI2luY2x1ZGUgPGNvbW1hbmQuaD4KPiBkaWZmIC0tZ2l0IGEv Y29tbWFuZHMvdHJpZ2dlci5jIGIvY29tbWFuZHMvdHJpZ2dlci5jCj4gaW5kZXggMGRkM2IzNDZm YWE2Li44ZGQ0YWY4Zjg0N2YgMTAwNjQ0Cj4gLS0tIGEvY29tbWFuZHMvdHJpZ2dlci5jCj4gKysr IGIvY29tbWFuZHMvdHJpZ2dlci5jCj4gQEAgLTEsMjEgKzEsOCBAQAo+ICsvLyBTUERYLUxpY2Vu c2UtSWRlbnRpZmllcjogR1BMLTIuMCsKPiAgLyoKPiAgICogTEVEIHRyaWdnZXIgY29tbWFuZCBz dXBwb3J0IGZvciBiYXJlYm94Cj4gICAqCj4gICAqIChDKSBDb3B5cmlnaHQgMjAxMCBTYXNjaGEg SGF1ZXIsIFBlbmd1dHJvbml4Cj4gLSAqCj4gLSAqIFNlZSBmaWxlIENSRURJVFMgZm9yIGxpc3Qg b2YgcGVvcGxlIHdobyBjb250cmlidXRlZCB0byB0aGlzCj4gLSAqIHByb2plY3QuCj4gLSAqCj4g LSAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBp dCBhbmQvb3IKPiAtICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVy YWwgUHVibGljIExpY2Vuc2UgYXMKPiAtICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJl IEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YKPiAtICogdGhlIExpY2Vuc2UsIG9yIChh dCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3Jh bSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAo+IC0g KiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJy YW50eSBvZgo+IC0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS IFBVUlBPU0UuICBTZWUgdGhlCj4gLSAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBt b3JlIGRldGFpbHMuCj4gLSAqCj4gICAqLwo+ICAKPiAgI2luY2x1ZGUgPGNvbW1vbi5oPgo+IGRp ZmYgLS1naXQgYS9jb21tYW5kcy90cnVlLmMgYi9jb21tYW5kcy90cnVlLmMKPiBpbmRleCBhZDJi ZThlOGViMjAuLmY2ZWFlMWQxM2Q3YiAxMDA2NDQKPiAtLS0gYS9jb21tYW5kcy90cnVlLmMKPiAr KysgYi9jb21tYW5kcy90cnVlLmMKPiBAQCAtMSwyMCArMSw3IEBACj4gKy8vIFNQRFgtTGljZW5z ZS1JZGVudGlmaWVyOiBHUEwtMi4wKwo+ICAvKgo+ICAgKiAoQykgQ29weXJpZ2h0IDIwMDAtMjAw Mwo+ICAgKiBXb2xmZ2FuZyBEZW5rLCBERU5YIFNvZnR3YXJlIEVuZ2luZWVyaW5nLCB3ZEBkZW54 LmRlLgo+IC0gKgo+IC0gKiBTZWUgZmlsZSBDUkVESVRTIGZvciBsaXN0IG9mIHBlb3BsZSB3aG8g Y29udHJpYnV0ZWQgdG8gdGhpcwo+IC0gKiBwcm9qZWN0Lgo+IC0gKgo+IC0gKiBUaGlzIHByb2dy YW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCj4gLSAq IG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNl bnNlIGFzCj4gLSAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBl aXRoZXIgdmVyc2lvbiAyIG9mCj4gLSAqIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24p IGFueSBsYXRlciB2ZXJzaW9uLgo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0 ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKPiAtICogYnV0IFdJVEhPVVQg QU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKPiAtICog TUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2Vl IHRoZQo+IC0gKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgo+ IC0gKgo+ICAgKi8KPiAgCj4gICNpbmNsdWRlIDxjb21tb24uaD4KPiBkaWZmIC0tZ2l0IGEvY29t bWFuZHMvdWJpZm9ybWF0LmMgYi9jb21tYW5kcy91Ymlmb3JtYXQuYwo+IGluZGV4IDc1MzdlNmI1 Njc4Yy4uZThhNGY2ZDAwMmQwIDEwMDY0NAo+IC0tLSBhL2NvbW1hbmRzL3ViaWZvcm1hdC5jCj4g KysrIGIvY29tbWFuZHMvdWJpZm9ybWF0LmMKPiBAQCAtMSwxNiArMSw3IEBACj4gKy8vIFNQRFgt TGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wKwo+ICAvKgo+ICAgKiBDb3B5cmlnaHQgKEMpIDIw MDggTm9raWEgQ29ycG9yYXRpb24KPiAgICogQ29weXJpZ2h0IChDKSAyMDEyIFdvbGZyYW0gU2Fu ZywgUGVuZ3V0cm9uaXgKPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7 IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKPiAtICogaXQgdW5kZXIgdGhl IHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkK PiAtICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0 aGUgTGljZW5zZSwgb3IKPiAtICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4K PiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQg aXQgd2lsbCBiZSB1c2VmdWwsCj4gLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91 dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCj4gLSAqIE1FUkNIQU5UQUJJTElUWSBvciBG SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gU2VlCj4gLSAqIHRoZSBHTlUgR2VuZXJh bCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgo+ICAgKi8KPiAgCj4gIC8qCj4gZGlm ZiAtLWdpdCBhL2NvbW1hbmRzL3Vtb3VudC5jIGIvY29tbWFuZHMvdW1vdW50LmMKPiBpbmRleCBm ZGY0ZGE5NWEwMjEuLmQ1MmQwZTkzODc1NyAxMDA2NDQKPiAtLS0gYS9jb21tYW5kcy91bW91bnQu Ywo+ICsrKyBiL2NvbW1hbmRzL3Vtb3VudC5jCj4gQEAgLTEsMjAgKzEsOCBAQAo+ICsvLyBTUERY LUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMAo+ICAvKgo+ICAgKiB1bW91bnQuYyAtIHVtb3Vu dCBmaWxlc3lzdGVtcwo+ICAgKgo+ICAgKiBDb3B5cmlnaHQgKGMpIDIwMDcgU2FzY2hhIEhhdWVy IDxzLmhhdWVyQHBlbmd1dHJvbml4LmRlPiwgUGVuZ3V0cm9uaXgKPiAtICoKPiAtICogU2VlIGZp bGUgQ1JFRElUUyBmb3IgbGlzdCBvZiBwZW9wbGUgd2hvIGNvbnRyaWJ1dGVkIHRvIHRoaXMKPiAt ICogcHJvamVjdC4KPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlv dSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKPiAtICogaXQgdW5kZXIgdGhlIHRl cm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIKPiAtICogYXMg cHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCj4gLSAqCj4gLSAqIFRo aXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNl ZnVsLAo+IC0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1w bGllZCB3YXJyYW50eSBvZgo+IC0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQ QVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCj4gLSAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNl bnNlIGZvciBtb3JlIGRldGFpbHMuCj4gLSAqCj4gICAqLwo+ICAjaW5jbHVkZSA8Y29tbW9uLmg+ Cj4gICNpbmNsdWRlIDxjb21tYW5kLmg+Cj4gZGlmZiAtLWdpdCBhL2NvbW1hbmRzL3VuY29tcHJl c3MuYyBiL2NvbW1hbmRzL3VuY29tcHJlc3MuYwo+IGluZGV4IDM4ZDUzZTc0OTE4OS4uZTljNTA5 ZjdlYWVhIDEwMDY0NAo+IC0tLSBhL2NvbW1hbmRzL3VuY29tcHJlc3MuYwo+ICsrKyBiL2NvbW1h bmRzL3VuY29tcHJlc3MuYwo+IEBAIC0xLDIwICsxLDggQEAKPiArLy8gU1BEWC1MaWNlbnNlLUlk ZW50aWZpZXI6IEdQTC0yLjAKPiAgLyoKPiAgICogdW5jb21wcmVzcy5jIC0gdW5jb21wcmVzcyBh IGNvbXByZXNzZWQgZmlsZQo+ICAgKgo+ICAgKiBDb3B5cmlnaHQgKGMpIDIwMTAgU2FzY2hhIEhh dWVyIDxzLmhhdWVyQHBlbmd1dHJvbml4LmRlPiwgUGVuZ3V0cm9uaXgKPiAtICoKPiAtICogU2Vl IGZpbGUgQ1JFRElUUyBmb3IgbGlzdCBvZiBwZW9wbGUgd2hvIGNvbnRyaWJ1dGVkIHRvIHRoaXMK PiAtICogcHJvamVjdC4KPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7 IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKPiAtICogaXQgdW5kZXIgdGhl IHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIKPiAtICog YXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCj4gLSAqCj4gLSAq IFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUg dXNlZnVsLAo+IC0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUg aW1wbGllZCB3YXJyYW50eSBvZgo+IC0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1Ig QSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCj4gLSAqIEdOVSBHZW5lcmFsIFB1YmxpYyBM aWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCj4gLSAqCj4gICAqLwo+ICAKPiAgI2luY2x1ZGUgPGNv bW1vbi5oPgo+IGRpZmYgLS1naXQgYS9jb21tYW5kcy91c2IuYyBiL2NvbW1hbmRzL3VzYi5jCj4g aW5kZXggOWEyM2FhMjI5ZDFjLi42Nzg0N2M3ZjQyM2IgMTAwNjQ0Cj4gLS0tIGEvY29tbWFuZHMv dXNiLmMKPiArKysgYi9jb21tYW5kcy91c2IuYwo+IEBAIC0xLDIwICsxLDggQEAKPiArLy8gU1BE WC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAKPiAgLyoKPiAgICogdXNiLmMgLSByZXNjYW4g Zm9yIFVTQiBkZXZpY2VzCj4gICAqCj4gICAqIENvcHlyaWdodCAoYykgMjAxMSBTYXNjaGEgSGF1 ZXIgPHMuaGF1ZXJAcGVuZ3V0cm9uaXguZGU+LCBQZW5ndXRyb25peAo+IC0gKgo+IC0gKiBTZWUg ZmlsZSBDUkVESVRTIGZvciBsaXN0IG9mIHBlb3BsZSB3aG8gY29udHJpYnV0ZWQgdG8gdGhpcwo+ IC0gKiBwcm9qZWN0Lgo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsg eW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQo+IC0gKiBpdCB1bmRlciB0aGUg dGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMgo+IC0gKiBh cyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KPiAtICoKPiAtICog VGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1 c2VmdWwsCj4gLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBp bXBsaWVkIHdhcnJhbnR5IG9mCj4gLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBB IFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKPiAtICogR05VIEdlbmVyYWwgUHVibGljIExp Y2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KPiAtICoKPiAgICovCj4gICNpbmNsdWRlIDxjb21tb24u aD4KPiAgI2luY2x1ZGUgPGNvbW1hbmQuaD4KPiBkaWZmIC0tZ2l0IGEvY29tbWFuZHMvdXNiZ2Fk Z2V0LmMgYi9jb21tYW5kcy91c2JnYWRnZXQuYwo+IGluZGV4IGU4ZTFlOWFkYWM3OS4uNDJhMDkx Y2UzNzcwIDEwMDY0NAo+IC0tLSBhL2NvbW1hbmRzL3VzYmdhZGdldC5jCj4gKysrIGIvY29tbWFu ZHMvdXNiZ2FkZ2V0LmMKPiBAQCAtMSwyMiArMSwxMCBAQAo+ICsvLyBTUERYLUxpY2Vuc2UtSWRl bnRpZmllcjogR1BMLTIuMAo+ICAvKgo+ICAgKiB1c2JzZXJpYWwuYyAtIHVzYiBzZXJpYWwgZ2Fk Z2V0IGNvbW1hbmQKPiAgICoKPiAgICogQ29weXJpZ2h0IChjKSAyMDExIEVyaWMgQsOpbmFyZCA8 ZXJpY0BldWtyZWEuY29tPiwgRXVrcsOpYSBFbGVjdHJvbWF0aXF1ZQo+ICAgKiBiYXNlZCBvbiBk ZnUuYyB3aGljaCBpcyA6Cj4gICAqIENvcHlyaWdodCAoYykgMjAwOSBTYXNjaGEgSGF1ZXIgPHMu aGF1ZXJAcGVuZ3V0cm9uaXguZGU+LCBQZW5ndXRyb25peAo+IC0gKgo+IC0gKiBTZWUgZmlsZSBD UkVESVRTIGZvciBsaXN0IG9mIHBlb3BsZSB3aG8gY29udHJpYnV0ZWQgdG8gdGhpcwo+IC0gKiBw cm9qZWN0Lgo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNh biByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQo+IC0gKiBpdCB1bmRlciB0aGUgdGVybXMg b2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMgo+IC0gKiBhcyBwdWJs aXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KPiAtICoKPiAtICogVGhpcyBw cm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWws Cj4gLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVk IHdhcnJhbnR5IG9mCj4gLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJ Q1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKPiAtICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2Ug Zm9yIG1vcmUgZGV0YWlscy4KPiAtICoKPiAgICovCj4gICNpbmNsdWRlIDxjb21tb24uaD4KPiAg I2luY2x1ZGUgPGNvbW1hbmQuaD4KPiBkaWZmIC0tZ2l0IGEvY29tbWFuZHMvdXNic2VyaWFsLmMg Yi9jb21tYW5kcy91c2JzZXJpYWwuYwo+IGluZGV4IGFkNmJjNjNmY2M5Yi4uODE4MWZlMDRjYmEz IDEwMDY0NAo+IC0tLSBhL2NvbW1hbmRzL3VzYnNlcmlhbC5jCj4gKysrIGIvY29tbWFuZHMvdXNi c2VyaWFsLmMKPiBAQCAtMSwyMiArMSwxMCBAQAo+ICsvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmll cjogR1BMLTIuMAo+ICAvKgo+ICAgKiB1c2JzZXJpYWwuYyAtIHVzYiBzZXJpYWwgZ2FkZ2V0IGNv bW1hbmQKPiAgICoKPiAgICogQ29weXJpZ2h0IChjKSAyMDExIEVyaWMgQsOpbmFyZCA8ZXJpY0Bl dWtyZWEuY29tPiwgRXVrcsOpYSBFbGVjdHJvbWF0aXF1ZQo+ICAgKiBiYXNlZCBvbiBkZnUuYyB3 aGljaCBpcyA6Cj4gICAqIENvcHlyaWdodCAoYykgMjAwOSBTYXNjaGEgSGF1ZXIgPHMuaGF1ZXJA cGVuZ3V0cm9uaXguZGU+LCBQZW5ndXRyb25peAo+IC0gKgo+IC0gKiBTZWUgZmlsZSBDUkVESVRT IGZvciBsaXN0IG9mIHBlb3BsZSB3aG8gY29udHJpYnV0ZWQgdG8gdGhpcwo+IC0gKiBwcm9qZWN0 Lgo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRp c3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQo+IC0gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhl IEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMgo+IC0gKiBhcyBwdWJsaXNoZWQg YnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KPiAtICoKPiAtICogVGhpcyBwcm9ncmFt IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCj4gLSAq IGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJh bnR5IG9mCj4gLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIg UFVSUE9TRS4gIFNlZSB0aGUKPiAtICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1v cmUgZGV0YWlscy4KPiAtICoKPiAgICovCj4gICNpbmNsdWRlIDxjb21tb24uaD4KPiAgI2luY2x1 ZGUgPGNvbW1hbmQuaD4KPiBkaWZmIC0tZ2l0IGEvY29tbWFuZHMvdmVyc2lvbi5jIGIvY29tbWFu ZHMvdmVyc2lvbi5jCj4gaW5kZXggMDkwZjJkZDEzNmRlLi5mNmNmNTM0YTg0YjMgMTAwNjQ0Cj4g LS0tIGEvY29tbWFuZHMvdmVyc2lvbi5jCj4gKysrIGIvY29tbWFuZHMvdmVyc2lvbi5jCj4gQEAg LTEsMjAgKzEsNyBAQAo+ICsvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMCsKPiAg LyoKPiAgICogKEMpIENvcHlyaWdodCAyMDAwLTIwMDMKPiAgICogV29sZmdhbmcgRGVuaywgREVO WCBTb2Z0d2FyZSBFbmdpbmVlcmluZywgd2RAZGVueC5kZS4KPiAtICoKPiAtICogU2VlIGZpbGUg Q1JFRElUUyBmb3IgbGlzdCBvZiBwZW9wbGUgd2hvIGNvbnRyaWJ1dGVkIHRvIHRoaXMKPiAtICog cHJvamVjdC4KPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBj YW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgo+IC0gKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1z IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcwo+IC0gKiBwdWJsaXNoZWQgYnkg dGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZgo+IC0gKiB0 aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KPiAtICoK PiAtICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2ls bCBiZSB1c2VmdWwsCj4gLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVu IHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCj4gLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNT IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKPiAtICogR05VIEdlbmVyYWwgUHVi bGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KPiAtICoKPiAgICovCj4gIAo+ICAjaW5jbHVk ZSA8Y29tbW9uLmg+Cj4gZGlmZiAtLWdpdCBhL2NvbW1hbmRzL3dkLmMgYi9jb21tYW5kcy93ZC5j Cj4gaW5kZXggODAyOWJhYjFjZTE5Li44NWVjNTY4ZTAyMjUgMTAwNjQ0Cj4gLS0tIGEvY29tbWFu ZHMvd2QuYwo+ICsrKyBiL2NvbW1hbmRzL3dkLmMKPiBAQCAtMSwxNSArMSw2IEBACj4gKy8vIFNQ RFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wKwo+ICAvKgo+ICAgKiAoYykgMjAxMiBKdWVy Z2VuIEJlaXNlcnQgPGtlcm5lbEBwZW5ndXRyb25peC5kZT4KPiAtICoKPiAtICogVGhpcyBwcm9n cmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2Rp ZnkKPiAtICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGlj ZW5zZSBhcyBwdWJsaXNoZWQgYnkKPiAtICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsg ZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKPiAtICogKGF0IHlvdXIgb3B0aW9u KSBhbnkgbGF0ZXIgdmVyc2lvbi4KPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1 dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCj4gLSAqIGJ1dCBXSVRIT1VU IEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCj4gLSAq IE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNl ZSB0aGUKPiAtICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4K PiAgICovCj4gIAo+ICAjaW5jbHVkZSA8Y29tbW9uLmg+Cj4gCj4gYmFzZS1jb21taXQ6IDRiOTE5 ODMyYWQzY2QzM2ZhNmZiZDJhMWVlZmQ4NWI5OWNmNDJiMzEKPiAtLSAKPiAyLjI2LjAucmMyCj4g Cj4gCgotLSAKUm9sYW5kIEhpZWJlciwgUGVuZ3V0cm9uaXggZS5LLiAgICAgICAgICB8IHIuaGll YmVyQHBlbmd1dHJvbml4LmRlICAgICB8ClN0ZXVlcndhbGRlciBTdHIuIDIxICAgICAgICAgICAg ICAgICAgICAgfCBodHRwczovL3d3dy5wZW5ndXRyb25peC5kZS8gfAozMTEzNyBIaWxkZXNoZWlt LCBHZXJtYW55ICAgICAgICAgICAgICAgIHwgUGhvbmU6ICs0OS01MTIxLTIwNjkxNy0wICAgIHwK QW10c2dlcmljaHQgSGlsZGVzaGVpbSwgSFJBIDI2ODYgICAgICAgICB8IEZheDogICArNDktNTEy MS0yMDY5MTctNTU1NSB8CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwpiYXJlYm94IG1haWxpbmcgbGlzdApiYXJlYm94QGxpc3RzLmluZnJhZGVhZC5vcmcK aHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9iYXJlYm94Cg==