From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sam Ravnborg Subject: Re: [PATCH 10/10] [v10] drm/panel: Add Boe Himax8279d MIPI-DSI LCD panel Date: Sat, 3 Aug 2019 16:37:06 +0200 Message-ID: <20190803143706.GA23157@ravnborg.org> References: Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from asavdk3.altibox.net (asavdk3.altibox.net [109.247.116.14]) by gabe.freedesktop.org (Postfix) with ESMTPS id 0EA8589CB9 for ; Sat, 3 Aug 2019 14:37:10 +0000 (UTC) Content-Disposition: inline In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Jerry Han Cc: Jerry Han , Jitao Shi , Derek Basehore , Emil Velikov , ML dri-devel , Rock wang List-Id: dri-devel@lists.freedesktop.org SGkgSmVycnkuCgpPbiBTYXQsIEF1ZyAwMywgMjAxOSBhdCAxMDo0MDo0NEFNICswODAwLCBKZXJy eSBIYW4gd3JvdGU6Cj4gVjE6IGh0dHBzOi8vcGF0Y2h3b3JrLmZyZWVkZXNrdG9wLm9yZy9wYXRj aC8yODc0MjUvCj4gVjI6IGh0dHBzOi8vcGF0Y2h3b3JrLmZyZWVkZXNrdG9wLm9yZy9wYXRjaC8y ODk4NDMvCj4gVjM6IGh0dHBzOi8vcGF0Y2h3b3JrLmZyZWVkZXNrdG9wLm9yZy9wYXRjaC8yOTAz OTMvCj4gVjQ6IGh0dHBzOi8vcGF0Y2h3b3JrLmZyZWVkZXNrdG9wLm9yZy9wYXRjaC8yOTAzOTYv Cj4gVjU6IGh0dHBzOi8vcGF0Y2h3b3JrLmZyZWVkZXNrdG9wLm9yZy9wYXRjaC8yOTExMzEvICAg KG9ubHkgbW9kaWZ5Cj4gY29tbWl0IG1lc3NhZ2UgQWRkZWQgY2hhbmdlbG9nLCBubyBmaWxlcyBt b2RpZmllZCkKPiBWNjogaHR0cHM6Ly9wYXRjaHdvcmsuZnJlZWRlc2t0b3Aub3JnL3BhdGNoLzI5 MTY1MC8KPiBWNzogaHR0cHM6Ly9wYXRjaHdvcmsuZnJlZWRlc2t0b3Aub3JnL3BhdGNoLzI5NDE0 MS8KPiBWODogaHR0cHM6Ly9wYXRjaHdvcmsuZnJlZWRlc2t0b3Aub3JnL3BhdGNoLzMwMTkyNS8K PiBWOTogaHR0cHM6Ly9wYXRjaHdvcmsuZnJlZWRlc2t0b3Aub3JnL3BhdGNoLzMyMDUxNC8KCj4g RnJvbSA2M2JjYzRmMWU3MjcxM2VjYTE0YzRiMDhlNjJiYzNjMDdlNjc5MDRhIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQo+IEZyb206IEplcnJ5IEhhbiA8aGFueHU1QGh1YXFpbi5jb3JwLXBhcnRu ZXIuZ29vZ2xlLmNvbT4KPiBEYXRlOiBUaHUsIDEgQXVnIDIwMTkgMTU6NTI6MzUgKzA4MDAKPiBT dWJqZWN0OiBbUEFUQ0ggMDIvMTBdIFt2MiwyLzJdIGRybS9wYW5lbDogQWRkIEJvZSBIaW1heDgy NzlkIE1JUEktRFNJIExDRAo+ICBwYW5lbAo+IAo+IFN1cHBvcnQgQm9lIEhpbWF4ODI3OWQgOC4w IiAxMjAweDE5MjAgVEZUIExDRCBwYW5lbCwgaXQgaXMgYSBNSVBJIERTSQo+IHBhbmVsLgo+IAo+ IFYyOgo+IC0gVXNlIFNQRFggaWRlbnRpZmllciAoU2FtKQo+IC0gVXNlIG5lY2Vzc2FyeSBoZWFk ZXIgZmlsZXMgcmVwbGFjZSBkcm1QLmggKFNhbSkKPiAtIERlbGV0ZSB1bm5lY2Vzc2FyeSBoZWFk ZXIgZmlsZXMgI2luY2x1ZGUgPGxpbnV4L2Vyci5oPiAoU2FtKQo+IC0gU3BlY2lmaWVzIGEgR1BJ T3MgYXJyYXkgdG8gY29udHJvbCB0aGUgcmVzZXQgdGltaW5nLAo+ICAgICBpbnN0ZWFkIG9mIHJl YWRpbmcgImRzaS1yZXNldC1zZXF1ZW5jZSIgZGF0YSBmcm9tIERUUyAoU2FtKQo+IC0gRGVsZXRl IGJhY2tsaWdodF9kaXNhYmxlKCkgZnVuY3Rpb24gd2hlbiBhbHJlYWR5IGRpc2FibGVkIChTYW0p Cj4gLSBVc2UgZGV2bV9vZl9maW5kX2JhY2tsaWdodCgpIHJlcGxhY2Ugb2ZfZmluZF9iYWNrbGln aHRfYnlfbm9kZSgpCj4gICAgIChTYW0pCj4gLSBNb3ZlIHRoZSBuZWNlc3NhcnkgZGF0YSBpbiB0 aGUgRFRTIHRvIHRoZSBjdXJyZW50IGZpbGUsCj4gICAgIGxpa2UgcG9yY2gsIGRpc3BsYXlfbW9k ZSBhbmQgSW5pdCBjb2RlIGV0Yy4gKFNhbSkKPiAtIEFkZCBjb21wYXRpYmxlIGRldmljZSAiYm9l LGhpbWF4ODI3OWQxMHAiIChTYW0pCj4gCj4gVjE6Cj4gLSBTdXBwb3J0IEJvZSBIaW1heDgyNzlk IDguMCIgMTIwMHgxOTIwIFRGVCBMQ0QgcGFuZWwsIGl0IGlzIGEgTUlQSSBEU0kKPiAgICAgcGFu ZWwuCgpTb21ldGhpbmcgd2VudCB3cm9uZyB3aGVuIHlvdSB0cmllZCB0byBzdWJtaXQgdjEwLgpQ bGVhc2UgdHJ5IGFnYWluLgoKCVNhbQoKCj4gCj4gU2lnbmVkLW9mZi1ieTogSmVycnkgSGFuIDxo YW54dTVAaHVhcWluLmNvcnAtcGFydG5lci5nb29nbGUuY29tPgo+IENjOiBKaXRhbyBTaGkgPGpp dGFvLnNoaUBtZWRpYXRlay5jb20+Cj4gQ2M6IE5pY2sgU2FuZGVycyA8bnNhbmRlcnNAZ29vZ2xl LmNvbT4KPiBDYzogWUggTGluIDx5dWVoZXJuZ2xAY2hyb21pdW0ub3JnPgo+IENjOiBSb2NrIHdh bmcgPHJvY2tfd2FuZ0BoaW1heC5jb20uY24+Cj4gLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9wYW5l bC9NYWtlZmlsZSAgICAgICAgICAgICAgIHwgICAgMiArLQo+ICBkcml2ZXJzL2dwdS9kcm0vcGFu ZWwvcGFuZWwtYm9lLWhpbWF4ODI3OWQuYyB8IDEyMDEgKysrKysrKysrKysrLS0tLS0tCj4gIDIg ZmlsZXMgY2hhbmdlZCwgODQyIGluc2VydGlvbnMoKyksIDM2MSBkZWxldGlvbnMoLSkKPiAKPiBk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3BhbmVsL01ha2VmaWxlIGIvZHJpdmVycy9ncHUv ZHJtL3BhbmVsL01ha2VmaWxlCj4gaW5kZXggMWFlZjlkNzJjN2E2Li4yOWM1N2U5MTVlZTYgMTAw NjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3BhbmVsL01ha2VmaWxlCj4gKysrIGIvZHJpdmVy cy9ncHUvZHJtL3BhbmVsL01ha2VmaWxlCj4gQEAgLTEsNSArMSw2IEBACj4gICMgU1BEWC1MaWNl bnNlLUlkZW50aWZpZXI6IEdQTC0yLjAKPiAgb2JqLSQoQ09ORklHX0RSTV9QQU5FTF9BUk1fVkVS U0FUSUxFKSArPSBwYW5lbC1hcm0tdmVyc2F0aWxlLm8KPiArb2JqLSQoQ09ORklHX0RSTV9QQU5F TF9CT0VfSElNQVg4Mjc5RCkgKz0gcGFuZWwtYm9lLWhpbWF4ODI3OWQubwo+ICBvYmotJChDT05G SUdfRFJNX1BBTkVMX0xWRFMpICs9IHBhbmVsLWx2ZHMubwo+ICBvYmotJChDT05GSUdfRFJNX1BB TkVMX1NJTVBMRSkgKz0gcGFuZWwtc2ltcGxlLm8KPiAgb2JqLSQoQ09ORklHX0RSTV9QQU5FTF9G RUlZQU5HX0ZZMDcwMjRESTI2QTMwRCkgKz0gcGFuZWwtZmVpeWFuZy1meTA3MDI0ZGkyNmEzMGQu bwo+IEBAIC0zMCw2ICszMSw1IEBAIG9iai0kKENPTkZJR19EUk1fUEFORUxfU0hBUlBfTFExMDFS MVNYMDEpICs9IHBhbmVsLXNoYXJwLWxxMTAxcjFzeDAxLm8KPiAgb2JqLSQoQ09ORklHX0RSTV9Q QU5FTF9TSEFSUF9MUzA0M1QxTEUwMSkgKz0gcGFuZWwtc2hhcnAtbHMwNDN0MWxlMDEubwo+ICBv YmotJChDT05GSUdfRFJNX1BBTkVMX1NJVFJPTklYX1NUNzcwMSkgKz0gcGFuZWwtc2l0cm9uaXgt c3Q3NzAxLm8KPiAgb2JqLSQoQ09ORklHX0RSTV9QQU5FTF9TSVRST05JWF9TVDc3ODlWKSArPSBw YW5lbC1zaXRyb25peC1zdDc3ODl2Lm8KPiAtb2JqLSQoQ09ORklHX0RSTV9QQU5FTF9CT0VfSElN QVg4Mjc5RCkgKz0gcGFuZWwtYm9lLWhpbWF4ODI3OWQubwo+ICBvYmotJChDT05GSUdfRFJNX1BB TkVMX1RQT19UUEcxMTApICs9IHBhbmVsLXRwby10cGcxMTAubwo+ICBvYmotJChDT05GSUdfRFJN X1BBTkVMX1RSVUxZX05UMzU1OTdfV1FYR0EpICs9IHBhbmVsLXRydWx5LW50MzU1OTcubwo+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtYm9lLWhpbWF4ODI3OWQuYyBi L2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1ib2UtaGltYXg4Mjc5ZC5jCj4gaW5kZXggMjc4 OGJkZGE2OWVjLi44MzZhOWNiYzU4OTEgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3Bh bmVsL3BhbmVsLWJvZS1oaW1heDgyNzlkLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vcGFuZWwv cGFuZWwtYm9lLWhpbWF4ODI3OWQuYwo+IEBAIC0xLDMxOSArMSw3NiBAQAo+ICAvLyBTUERYLUxp Y2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMAo+ICAvKgo+IC0gKiBDb3B5cmlnaHQgKGMpIDIwMTks IEh1YXFpbiBFbGVjdHJvbmljcyBDby4sIEx0ZAo+ICsgKiBDb3B5cmlnaHQgKGMpIDIwMTksIEh1 YXFpbiBUZWxlY29tIFRlY2hub2xvZ3kgQ28uLCBMdGQKPiArICoKPiArICogQXV0aG9yOiBKZXJy eSBIYW4gPGhhbnh1NUBodWFxaW4uY29ycC1wYXJ0bmVyLmdvb2dsZS5jb20+Cj4gICAqCj4gLSAq IFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBh bmQvb3IgbW9kaWZ5Cj4gLSAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwg UHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Cj4gLSAqIHRoZSBGcmVlIFNvZnR3YXJlIEZv dW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCj4gLSAqIChhdCB5 b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCj4gICAqLwo+ICAKPiAgI2luY2x1ZGUgPGxp bnV4L2JhY2tsaWdodC5oPgo+IC0jaW5jbHVkZSA8bGludXgvZ3Bpby9jb25zdW1lci5oPgo+ICsj aW5jbHVkZSA8bGludXgvZGVsYXkuaD4KPiArI2luY2x1ZGUgPGxpbnV4L2ZiLmg+Cj4gKyNpbmNs dWRlIDxsaW51eC9rZXJuZWwuaD4KPiAgI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgo+ICAjaW5j bHVkZSA8bGludXgvb2YuaD4KPiAgI2luY2x1ZGUgPGxpbnV4L29mX2RldmljZS5oPgo+ICsKPiAr I2luY2x1ZGUgPGxpbnV4L2dwaW8vY29uc3VtZXIuaD4KPiAgI2luY2x1ZGUgPGxpbnV4L3JlZ3Vs YXRvci9jb25zdW1lci5oPgo+ICAKPiAtI2luY2x1ZGUgPGRybS9kcm1QLmg+Cj4gLSNpbmNsdWRl IDxkcm0vZHJtX2NydGMuaD4KPiArI2luY2x1ZGUgPGRybS9kcm1fbW9kZXMuaD4KPiAgI2luY2x1 ZGUgPGRybS9kcm1fbWlwaV9kc2kuaD4KPiAgI2luY2x1ZGUgPGRybS9kcm1fcGFuZWwuaD4KPiAr I2luY2x1ZGUgPGRybS9kcm1fZGV2aWNlLmg+Cj4gKyNpbmNsdWRlIDxkcm0vZHJtX3ByaW50Lmg+ Cj4gIAo+ICAjaW5jbHVkZSA8dmlkZW8vbWlwaV9kaXNwbGF5Lmg+Cj4gLSNpbmNsdWRlIDxsaW51 eC9lcnIuaD4KPiAgCj4gLXN0cnVjdCBkc2lfY21kX2Rlc2Mgewo+IC0JY2hhciB3YWl0Owo+IC0J Y2hhciBjbWQ7Cj4gLQljaGFyIGxlbjsKPiAtCWNoYXIgKnBheWxvYWQ7Cj4gK3N0cnVjdCBwYW5l bF9jbWQgewo+ICsJc2l6ZV90IGxlbjsKPiArCWNvbnN0IGNoYXIgKmRhdGE7Cj4gIH07Cj4gIAo+ IC1zdHJ1Y3QgZHNpX3BhbmVsX2NtZHMgewo+IC0JY2hhciAqYnVmOwo+IC0JaW50IGJsZW47Cj4g LQlzdHJ1Y3QgZHNpX2NtZF9kZXNjICpjbWRzOwo+IC0JaW50IGNtZF9jbnQ7Cj4gKyNkZWZpbmUg X0lOSVRfQ01EKC4uLikgeyBcCj4gKwkubGVuID0gc2l6ZW9mKChjaGFyW10pe19fVkFfQVJHU19f fSksIFwKPiArCS5kYXRhID0gKGNoYXJbXSl7X19WQV9BUkdTX199IH0KPiArCj4gK3N0cnVjdCBw YW5lbF9kZXNjIHsKPiArCWNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICpkaXNwbGF5X21v ZGU7Cj4gKwl1bnNpZ25lZCBpbnQgYnBjOwo+ICsJdW5zaWduZWQgaW50IHdpZHRoOwo+ICsJdW5z aWduZWQgaW50IGhlaWdodDsKPiArCj4gKwl1bnNpZ25lZCBpbnQgZGVsYXlfdDE7Cj4gKwl1bnNp Z25lZCBpbnQgcmVzZXRfZGVsYXlfdDI7Cj4gKwl1bnNpZ25lZCBpbnQgcmVzZXRfZGVsYXlfdDM7 Cj4gKwl1bnNpZ25lZCBpbnQgcmVzZXRfZGVsYXlfdDQ7Cj4gKwo+ICsJdW5zaWduZWQgbG9uZyBm bGFnczsKPiArCWVudW0gbWlwaV9kc2lfcGl4ZWxfZm9ybWF0IGZvcm1hdDsKPiArCXVuc2lnbmVk IGludCBsYW5lczsKPiArCWNvbnN0IHN0cnVjdCBwYW5lbF9jbWQgKm9uX2NtZHM7Cj4gKwljb25z dCBzdHJ1Y3QgcGFuZWxfY21kICpvZmZfY21kczsKPiAgfTsKPiAgCj4gIHN0cnVjdCBwYW5lbF9p bmZvIHsKPiAgCXN0cnVjdCBkcm1fcGFuZWwgYmFzZTsKPiAgCXN0cnVjdCBtaXBpX2RzaV9kZXZp Y2UgKmxpbms7Cj4gKwljb25zdCBzdHJ1Y3QgcGFuZWxfZGVzYyAqZGVzYzsKPiAgCj4gIAlzdHJ1 Y3QgYmFja2xpZ2h0X2RldmljZSAqYmFja2xpZ2h0Owo+ICAJc3RydWN0IGdwaW9fZGVzYyAqcmVz ZXRfZ3BpbzsKPiAtCXN0cnVjdCBncGlvX2Rlc2MgKnBwMzMwMDBfZ3BpbzsKPiAtCXN0cnVjdCBn cGlvX2Rlc2MgKnBwMTgwMDBfZ3BpbzsKPiAtCj4gLQl1MzIgcnN0X3NlcVsxMF07Cj4gLQl1MzIg cnN0X3NlcV9sZW47Cj4gLQo+IC0Jc3RydWN0IGRzaV9wYW5lbF9jbWRzICpvbl9jbWRzOwo+IC0J c3RydWN0IGRzaV9wYW5lbF9jbWRzICpvZmZfY21kczsKPiAtCXN0cnVjdCBkcm1fZGlzcGxheV9t b2RlCSpwYW5lbF9kaXNwbGF5X21vZGU7Cj4gLQo+IC0JdW5zaWduZWQgaW50IHBhbmVsX3dpZHRo X21tOwo+IC0JdW5zaWduZWQgaW50IHBhbmVsX2hlaWdodF9tbTsKPiAtCXVuc2lnbmVkIGludCBw ZXJfY29sb3JfY2hhbm5lbDsKPiArCXN0cnVjdCBncGlvX2Rlc2MgKnBwMzNfZ3BpbzsKPiArCXN0 cnVjdCBncGlvX2Rlc2MgKnBwMThfZ3BpbzsKPiAgCj4gIAlib29sIHByZXBhcmVkOwo+ICAJYm9v bCBlbmFibGVkOwo+ICB9Owo+ICAKPiAtc3RhdGljIGludCBkc2lfcGFyc2VfcmVzZXRfc2VxKHN0 cnVjdCBkZXZpY2Vfbm9kZSAqbnAsIHUzMiByc3Rfc2VxWzEwXSwKPiAtCQl1MzIgKnJzdF9sZW4s IGNvbnN0IGNoYXIgKm5hbWUpCj4gLXsKPiAtCWludCBudW0gPSAwLCBpOwo+IC0JaW50IHJjOwo+ IC0Jc3RydWN0IHByb3BlcnR5ICpkYXRhOwo+IC0JdTMyIHRtcFsxMF07Cj4gLQkqcnN0X2xlbiA9 IDA7Cj4gLQlkYXRhID0gb2ZfZmluZF9wcm9wZXJ0eShucCwgbmFtZSwgJm51bSk7Cj4gLQo+IC0J bnVtIC89IHNpemVvZih1MzIpOwo+IC0JaWYgKCFkYXRhIHx8ICFudW0gfHwgbnVtID4gMTAgfHwg bnVtICUgMikgewo+IC0JCXByX2VycigiJXM6JWQsIGVycm9yIHJlYWRpbmcgJXMsIGxlbmd0aCBm b3VuZCA9ICVkXG4iLAo+IC0JCQkJX19mdW5jX18sIF9fTElORV9fLCBuYW1lLCBudW0pOwo+IC0J CXJldHVybiAtRUlOVkFMOwo+IC0JfQo+IC0KPiAtCXJjID0gb2ZfcHJvcGVydHlfcmVhZF91MzJf YXJyYXkobnAsIG5hbWUsIHRtcCwgbnVtKTsKPiAtCWlmIChyYykgewo+IC0JCXByX2VycigiJXM6 JWQsIGVycm9yIHJlYWRpbmcgJXMsIHJjID0gJWRcbiIsCj4gLQkJCQkJX19mdW5jX18sIF9fTElO RV9fLCBuYW1lLCByYyk7Cj4gLQkJcmV0dXJuIC1FSU5WQUw7Cj4gLQl9Cj4gLQo+IC0JZm9yIChp ID0gMDsgaSA8IG51bTsgKytpKSB7Cj4gLQkJcnN0X3NlcVtpXSA9IHRtcFtpXTsKPiAtCQkqcnN0 X2xlbiA9IG51bTsKPiAtCX0KPiAtCXJldHVybiAwOwo+IC19Cj4gLQo+IC1zc2l6ZV90IG1pcGlf ZHNpX2Rjc193cml0ZV9kZWxheShzdHJ1Y3QgbWlwaV9kc2lfZGV2aWNlICpkc2ksIHU4IGNtZCwK PiAtCQljb25zdCB2b2lkICpkYXRhLCBzaXplX3QgbGVuLCBzaXplX3QgdGltZSkKPiArdm9pZCBz ZXRfZ3Bpb3Moc3RydWN0IHBhbmVsX2luZm8gKnBpbmZvLCBpbnQgZW5hYmxlKQo+ICB7Cj4gLQlz c2l6ZV90IHJldDsKPiAtCj4gLQlpZiAobGVuID09IDApCj4gLQkJcmV0ID0gbWlwaV9kc2lfZGNz X3dyaXRlKGRzaSwgY21kLCBOVUxMLCAwKTsKPiAtCWVsc2UKPiAtCQlyZXQgPSBtaXBpX2RzaV9k Y3Nfd3JpdGUoZHNpLCBjbWQsIGRhdGEsIGxlbik7Cj4gLQo+IC0JbXNsZWVwKHRpbWUpOwo+IC0K PiAtCXJldHVybiByZXQ7Cj4gLX0KPiAtCj4gLXN0YXRpYyBpbnQgd3JpdGVfY21kcyhzdHJ1Y3Qg bWlwaV9kc2lfZGV2aWNlICpkc2lfZGV2aWNlLAo+IC0JCQkJCXN0cnVjdCBkc2lfcGFuZWxfY21k cyAqaW5pdF9jbWRzKQo+IC17Cj4gLQlzdHJ1Y3QgZHNpX2NtZF9kZXNjICpvbmVfY21kID0gaW5p dF9jbWRzLT5jbWRzOwo+IC0JaW50IGkgPSAwOwo+IC0JaW50IHJldDsKPiAtCj4gLQlmb3IgKGkg PSAwOyBpIDwgaW5pdF9jbWRzLT5jbWRfY250OyBpKyspIHsKPiAtCQlpZiAob25lX2NtZCA9PSBO VUxMKQo+IC0JCQlyZXR1cm4gLUVJTlZBTDsKPiAtCj4gLQkJcmV0ID0gbWlwaV9kc2lfZGNzX3dy aXRlX2RlbGF5KGRzaV9kZXZpY2UsCj4gLQkJCQlvbmVfY21kLT5jbWQsIG9uZV9jbWQtPnBheWxv YWQsCj4gLQkJCQlvbmVfY21kLT5sZW4sIG9uZV9jbWQtPndhaXQpOwo+IC0JCW9uZV9jbWQrKzsK PiAtCX0KPiAtCj4gLQlyZXR1cm4gcmV0Owo+IC19Cj4gLQo+IC1zdGF0aWMgaW50IHBhcnNlX2Rj c19jbWRzKHN0cnVjdCBkZXZpY2Vfbm9kZSAqbnAsCj4gLQkJCQlzdHJ1Y3QgZHNpX3BhbmVsX2Nt ZHMgKnBjbWRzLCBjaGFyICpjbWRfa2V5KQo+IC17Cj4gLQljb25zdCBjaGFyICpkYXRhOwo+IC0J aW50IGJsZW4gPSAwLCBsZW4sIGNudCA9IDA7Cj4gLQljaGFyICpidWYsICpicDsKPiAtCXN0cnVj dCBkc2lfY21kX2Rlc2MgKnRlbXBfY21kOwo+IC0KPiAtCWRhdGEgPSBvZl9nZXRfcHJvcGVydHko bnAsIGNtZF9rZXksICZibGVuKTsKPiAtCWlmICghZGF0YSkgewo+IC0JCXByX2VycigiJXM6IGZh aWxlZCwga2V5PSVzXG4iLCBfX2Z1bmNfXywgY21kX2tleSk7Cj4gLQkJcmV0dXJuIC1FTk9NRU07 Cj4gLQl9Cj4gLQo+IC0JYnVmID0ga3phbGxvYyhzaXplb2YoY2hhcikgKiBibGVuLCBHRlBfS0VS TkVMKTsKPiAtCWlmICghYnVmKQo+IC0JCXJldHVybiAtRU5PTUVNOwo+IC0KPiAtCW1lbWNweShi dWYsIGRhdGEsIGJsZW4pOwo+IC0KPiAtCS8qIHNjYW4gZGNzIGNvbW1hbmRzICovCj4gLQlicCA9 IGJ1ZjsKPiAtCWxlbiA9IGJsZW47Cj4gLQo+IC0JLyogZ2V0IGhvdyBtdWNoIGNtZCBjbnQgICov Cj4gLQl3aGlsZSAobGVuID4gMCkgewo+IC0JCWNudCsrOwo+IC0JCWxlbiA9IGxlbiAtICooYnAp Owo+IC0JCWJwID0gYnAgKyAqKGJwKTsKPiAtCX0KPiAtCj4gLQlwY21kcy0+Y21kX2NudCA9IGNu dDsKPiAtCj4gLQlwY21kcy0+Y21kcyA9IGtjYWxsb2MoY250LCBzaXplb2Yoc3RydWN0IGRzaV9j bWRfZGVzYyksIEdGUF9LRVJORUwpOwo+IC0JaWYgKCFwY21kcy0+Y21kcykKPiAtCQlyZXR1cm4g LUVOT01FTTsKPiAtCXRlbXBfY21kID0gcGNtZHMtPmNtZHM7Cj4gLQo+IC0JYnAgPSBidWY7Cj4g LQlsZW4gPSBibGVuOwo+IC0KPiAtCXdoaWxlIChjbnQgIT0gMCkgewo+IC0JCXRlbXBfY21kLT53 YWl0ID0gKihicCsxKTsKPiAtCQl0ZW1wX2NtZC0+Y21kID0gKihicCsyKTsKPiAtCQl0ZW1wX2Nt ZC0+bGVuID0gKihicCkgLSAzOwo+IC0JCXRlbXBfY21kLT5wYXlsb2FkID0gYnAgKyAzOwo+IC0K PiAtCQljbnQtLTsKPiAtCQl0ZW1wX2NtZCsrOwo+IC0JCWJwID0gYnAgKyAqKGJwKTsKPiAtCX0K PiAtCj4gLQlwY21kcy0+YnVmID0gYnVmOwo+IC0JcGNtZHMtPmJsZW4gPSBibGVuOwo+IC0KPiAt CXJldHVybiAwOwo+IC19Cj4gLQo+IC1zdGF0aWMgaW50IHBhbmVsX3BhcnNlX2R0KHN0cnVjdCBw YW5lbF9pbmZvICpwaW5mbykKPiAtewo+IC0Jc3RydWN0IGRldmljZV9ub2RlICpwYW5lbHNfbm9k ZTsKPiAtCXN0cnVjdCBkZXZpY2Vfbm9kZSAqcGFyYW1ldGVyX25vZGU7Cj4gLQlzdGF0aWMgY29u c3QgY2hhciAqbGNkX25hbWU7Cj4gLQlzdGF0aWMgY29uc3QgY2hhciAqcGFuZWxfcGFyYW1ldGVy Owo+IC0Jc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKmRpc3BsYXlfbW9kZTsKPiAtCXN0cnVjdCBt aXBpX2RzaV9kZXZpY2UJKmRzaV9kZXZpY2UgPSBwaW5mby0+bGluazsKPiAtCWludCByZXQgPSAw Owo+IC0JdTMyCXRtcDsKPiAtCj4gLQlwYW5lbHNfbm9kZSA9IG9mX2ZpbmRfbm9kZV9ieV9uYW1l KE5VTEwsICJwYW5lbHMiKTsKPiAtCWlmICghcGFuZWxzX25vZGUpIHsKPiAtCQlwcl9lcnIoIkdl dCBwYW5lbHMgbm9kZSBGYWlsIVxuIik7Cj4gLQkJcmV0dXJuIC1FSU5WQUw7Cj4gLQl9Cj4gLQo+ IC0JcGFuZWxfcGFyYW1ldGVyID0gb2ZfZ2V0X3Byb3BlcnR5KHBhbmVsc19ub2RlLCAicGFuZWwt cGFyYW1ldGVyIiwgTlVMTCk7Cj4gLQlpZiAoIXBhbmVsX3BhcmFtZXRlcikgewo+IC0JCXByX2Vy cigiR2V0IHBhbmVsIHBhcmFtZXRlciBGYWlsIVxuIik7Cj4gLQkJcmV0dXJuIC1FSU5WQUw7Cj4g LQl9Cj4gLQo+IC0JcGFyYW1ldGVyX25vZGUgPSBvZl9maW5kX25vZGVfYnlfbmFtZShwYW5lbHNf bm9kZSwgcGFuZWxfcGFyYW1ldGVyKTsKPiAtCWlmICghcGFyYW1ldGVyX25vZGUpCj4gLQkJcmV0 dXJuIC1FTk9ERVY7Cj4gLQo+IC0JLyogZ2V0IGxjZCBuYW1lICovCj4gLQlsY2RfbmFtZSA9IG9m X2dldF9wcm9wZXJ0eShwYXJhbWV0ZXJfbm9kZSwgImRzaS1wYW5lbC1uYW1lIiwgTlVMTCk7Cj4g LQlpZiAoIWxjZF9uYW1lKSB7Cj4gLQkJcHJfZXJyKCJHZXQgbGNkX25hbWUgRmFpbCFcbiIpOwo+ IC0JCXJldHVybiAtRUlOVkFMOwo+IC0JfQo+IC0JcHJfaW5mbygiJXM6IExjZCBOYW1lID0gJXNc biIsIF9fZnVuY19fLCBsY2RfbmFtZSk7Cj4gLQo+IC0JLyogZ2V0IGxjZCBpbml0IGNvZGUgKi8K PiAtCXBpbmZvLT5vbl9jbWRzID0ga3phbGxvYyhzaXplb2Yoc3RydWN0IGRzaV9wYW5lbF9jbWRz KSwgR0ZQX0tFUk5FTCk7Cj4gLQlpZiAoIShwaW5mby0+b25fY21kcykpCj4gLQkJcmV0dXJuIC1F Tk9NRU07Cj4gLQo+IC0JcmV0ID0gcGFyc2VfZGNzX2NtZHMocGFyYW1ldGVyX25vZGUsIHBpbmZv LT5vbl9jbWRzLCAiZHNpLW9uLWNvbW1hbmQiKTsKPiAtCWlmIChyZXQgPCAwKSB7Cj4gLQkJcHJf ZXJyKCJHZXQgRHNpIG9uIGNvbW1hbmQgRmFpbFxuIik7Cj4gLQkJcmV0dXJuIC1FSU5WQUw7Cj4g LQl9Cj4gLQo+IC0JLyogZ2V0IGxjZCBvZmYgY29kZSAqLwo+IC0JcGluZm8tPm9mZl9jbWRzID0g a3phbGxvYyhzaXplb2Yoc3RydWN0IGRzaV9wYW5lbF9jbWRzKSwgR0ZQX0tFUk5FTCk7Cj4gLQlp ZiAoIShwaW5mby0+b2ZmX2NtZHMpKQo+IC0JCXJldHVybiAtRU5PTUVNOwo+IC0KPiAtCXJldCA9 IHBhcnNlX2Rjc19jbWRzKHBhcmFtZXRlcl9ub2RlLCBwaW5mby0+b2ZmX2NtZHMsCj4gLQkJCSJk c2ktb2ZmLWNvbW1hbmQiKTsKPiAtCWlmIChyZXQgPCAwKSB7Cj4gLQkJcHJfZXJyKCJHZXQgRHNp IG9mZiBjb21tYW5kIEZhaWxcbiIpOwo+IC0JCXJldHVybiAtRUlOVkFMOwo+IC0JfQo+IC0KPiAt CS8qIGdldCBQb3JjaCAgKi8KPiAtCWRpc3BsYXlfbW9kZSA9IGt6YWxsb2Moc2l6ZW9mKHN0cnVj dCBkcm1fZGlzcGxheV9tb2RlKSwgR0ZQX0tFUk5FTCk7Cj4gLQlpZiAoIWRpc3BsYXlfbW9kZSkK PiAtCQlyZXR1cm4gLUVOT01FTTsKPiAtCXBpbmZvLT5wYW5lbF9kaXNwbGF5X21vZGUgPSBkaXNw bGF5X21vZGU7Cj4gLQo+IC0JcmV0ID0gb2ZfcHJvcGVydHlfcmVhZF91MzIocGFyYW1ldGVyX25v ZGUsICJkc2ktcGl4ZWwtY2xrIiwgJnRtcCk7Cj4gLQlkaXNwbGF5X21vZGUtPmNsb2NrID0gKCFy ZXQgPyB0bXAgOiAwKTsKPiAtCj4gLQlyZXQgPSBvZl9wcm9wZXJ0eV9yZWFkX3UzMihwYXJhbWV0 ZXJfbm9kZSwKPiAtCQkJImRzaS1wYW5lbC1oem9yaXpvbnRhbCIsICZ0bXApOwo+IC0JZGlzcGxh eV9tb2RlLT5oZGlzcGxheSA9ICghcmV0ID8gdG1wIDogMCk7Cj4gLQo+IC0JcmV0ID0gb2ZfcHJv cGVydHlfcmVhZF91MzIocGFyYW1ldGVyX25vZGUsICJkc2ktaC1mcm9udC1wb3JjaCIsICZ0bXAp Owo+IC0JdG1wID0gKCFyZXQgPyB0bXAgOiAwKTsKPiAtCWRpc3BsYXlfbW9kZS0+aHN5bmNfc3Rh cnQgPSBkaXNwbGF5X21vZGUtPmhkaXNwbGF5ICsgdG1wOwo+IC0KPiAtCXJldCA9IG9mX3Byb3Bl cnR5X3JlYWRfdTMyKHBhcmFtZXRlcl9ub2RlLCAiZHNpLWgtYmFjay1wb3JjaCIsICZ0bXApOwo+ IC0JdG1wID0gKCFyZXQgPyB0bXAgOiAwKTsKPiAtCWRpc3BsYXlfbW9kZS0+aHN5bmNfZW5kID0g ZGlzcGxheV9tb2RlLT5oc3luY19zdGFydCArIHRtcDsKPiAtCj4gLQlyZXQgPSBvZl9wcm9wZXJ0 eV9yZWFkX3UzMihwYXJhbWV0ZXJfbm9kZSwgImRzaS1oLXB1bHNlLXdpZHRoIiwgJnRtcCk7Cj4g LQl0bXAgPSAoIXJldCA/IHRtcCA6IDApOwo+IC0JZGlzcGxheV9tb2RlLT5odG90YWwgPSBkaXNw bGF5X21vZGUtPmhzeW5jX2VuZCArIHRtcDsKPiAtCj4gLQlyZXQgPSBvZl9wcm9wZXJ0eV9yZWFk X3UzMihwYXJhbWV0ZXJfbm9kZSwgImRzaS1wYW5lbC12ZXJ0aWNhbCIsICZ0bXApOwo+IC0JZGlz cGxheV9tb2RlLT52ZGlzcGxheSA9ICghcmV0ID8gdG1wIDogMCk7Cj4gLQo+IC0JcmV0ID0gb2Zf cHJvcGVydHlfcmVhZF91MzIocGFyYW1ldGVyX25vZGUsICJkc2ktdi1mcm9udC1wb3JjaCIsICZ0 bXApOwo+IC0JdG1wID0gKCFyZXQgPyB0bXAgOiAwKTsKPiAtCWRpc3BsYXlfbW9kZS0+dnN5bmNf c3RhcnQgPSBkaXNwbGF5X21vZGUtPnZkaXNwbGF5ICsgdG1wOwo+IC0KPiAtCXJldCA9IG9mX3By b3BlcnR5X3JlYWRfdTMyKHBhcmFtZXRlcl9ub2RlLCAiZHNpLXYtYmFjay1wb3JjaCIsICZ0bXAp Owo+IC0JdG1wID0gKCFyZXQgPyB0bXAgOiAwKTsKPiAtCWRpc3BsYXlfbW9kZS0+dnN5bmNfZW5k ID0gZGlzcGxheV9tb2RlLT52c3luY19zdGFydCArIHRtcDsKPiAtCj4gLQlyZXQgPSBvZl9wcm9w ZXJ0eV9yZWFkX3UzMihwYXJhbWV0ZXJfbm9kZSwgImRzaS12LXB1bHNlLXdpZHRoIiwgJnRtcCk7 Cj4gLQl0bXAgPSAoIXJldCA/IHRtcCA6IDApOwo+IC0JZGlzcGxheV9tb2RlLT52dG90YWwgPSBk aXNwbGF5X21vZGUtPnZzeW5jX2VuZCArIHRtcDsKPiAtCj4gLQlyZXQgPSBvZl9wcm9wZXJ0eV9y ZWFkX3UzMihwYXJhbWV0ZXJfbm9kZSwgImRzaS1wYW5lbC1yZWZyZXNoIiwgJnRtcCk7Cj4gLQlk aXNwbGF5X21vZGUtPnZyZWZyZXNoID0gKCFyZXQgPyB0bXAgOiAwKTsKPiAtCj4gLQkvKiBnZXQg bGFucyAqLwo+IC0JcmV0ID0gb2ZfcHJvcGVydHlfcmVhZF91MzIocGFyYW1ldGVyX25vZGUsICJk c2ktcGFuZWwtbGFuZXMiLCAmdG1wKTsKPiAtCWRzaV9kZXZpY2UtPmxhbmVzICA9ICghcmV0ID8g dG1wIDogMCk7Cj4gLQo+IC0JcmV0ID0gb2ZfcHJvcGVydHlfcmVhZF91MzIocGFyYW1ldGVyX25v ZGUsICJkc2ktcGFuZWwtZm9ybWF0IiwgJnRtcCk7Cj4gLQlkc2lfZGV2aWNlLT5mb3JtYXQgPSAo IXJldCA/IHRtcCA6IDApOwo+IC0KPiAtCXJldCA9IG9mX3Byb3BlcnR5X3JlYWRfdTMyKHBhcmFt ZXRlcl9ub2RlLAo+IC0JCQkiZHNpLXBhbmVsLW1vZGUtZmxhZ3MiLCAmdG1wKTsKPiAtCWRzaV9k ZXZpY2UtPm1vZGVfZmxhZ3MgPSAoIXJldCA/IHRtcCA6IDApOwo+IC0KPiAtCS8qIGdldCBXeEgg Ki8KPiAtCXJldCA9IG9mX3Byb3BlcnR5X3JlYWRfdTMyKHBhcmFtZXRlcl9ub2RlLCAiZHNpLXBh bmVsLXdpZHRoLW1tIiwgJnRtcCk7Cj4gLQlwaW5mby0+cGFuZWxfd2lkdGhfbW0gID0gKCFyZXQg PyB0bXAgOiAwKTsKPiAtCj4gLQlyZXQgPSBvZl9wcm9wZXJ0eV9yZWFkX3UzMihwYXJhbWV0ZXJf bm9kZSwgImRzaS1wYW5lbC1oZWlnaHQtbW0iLCAmdG1wKTsKPiAtCXBpbmZvLT5wYW5lbF9oZWln aHRfbW0gID0gKCFyZXQgPyB0bXAgOiAwKTsKPiAtCj4gLQlyZXQgPSBvZl9wcm9wZXJ0eV9yZWFk X3UzMihwYXJhbWV0ZXJfbm9kZSwgInBlci1jb2xvci1jaGFubmVsIiwgJnRtcCk7Cj4gLQlwaW5m by0+cGVyX2NvbG9yX2NoYW5uZWwgPSAoIXJldCA/IHRtcCA6IDApOwo+IC0KPiAtCS8qIHJlc2V0 IHRpbWUgKi8KPiAtCXJldCA9IGRzaV9wYXJzZV9yZXNldF9zZXEocGFyYW1ldGVyX25vZGUsIHBp bmZvLT5yc3Rfc2VxLAo+IC0JCQkJJihwaW5mby0+cnN0X3NlcV9sZW4pLCAiZHNpLXJlc2V0LXNl cXVlbmNlIik7Cj4gLQlpZiAocmV0IDwgMCkKPiAtCQlyZXR1cm4gcmV0Owo+IC0KPiAtCXJldHVy biAwOwo+ICsJZ3Bpb2Rfc2V0X3ZhbHVlKHBpbmZvLT5yZXNldF9ncGlvLCBlbmFibGUpOwo+ICsJ Z3Bpb2Rfc2V0X3ZhbHVlKHBpbmZvLT5wcDMzX2dwaW8sIGVuYWJsZSk7Cj4gKwlncGlvZF9zZXRf dmFsdWUocGluZm8tPnBwMThfZ3BpbywgZW5hYmxlKTsKPiAgfQo+ICAKPiAgc3RhdGljIGlubGlu ZSBzdHJ1Y3QgcGFuZWxfaW5mbyAqdG9fcGFuZWxfaW5mbyhzdHJ1Y3QgZHJtX3BhbmVsICpwYW5l bCkKPiBAQCAtMzI1LDkgKzgyLDYgQEAgc3RhdGljIGludCBwYW5lbF9kaXNhYmxlKHN0cnVjdCBk cm1fcGFuZWwgKnBhbmVsKQo+ICB7Cj4gIAlzdHJ1Y3QgcGFuZWxfaW5mbyAqcGluZm8gPSB0b19w YW5lbF9pbmZvKHBhbmVsKTsKPiAgCj4gLQlpZiAoIXBpbmZvLT5lbmFibGVkKQo+IC0JCXJldHVy biAwOwo+IC0KPiAgCWJhY2tsaWdodF9kaXNhYmxlKHBpbmZvLT5iYWNrbGlnaHQpOwo+ICAKPiAg CXBpbmZvLT5lbmFibGVkID0gZmFsc2U7Cj4gQEAgLTM0Myw0OCArOTcsOTkgQEAgc3RhdGljIGlu dCBwYW5lbF91bnByZXBhcmUoc3RydWN0IGRybV9wYW5lbCAqcGFuZWwpCj4gIAlpZiAoIXBpbmZv LT5wcmVwYXJlZCkKPiAgCQlyZXR1cm4gMDsKPiAgCj4gLQllcnIgPSB3cml0ZV9jbWRzKHBpbmZv LT5saW5rLCBwaW5mby0+b2ZmX2NtZHMpOwo+IC0JaWYgKGVyciA8IDApIHsKPiAtCQlkZXZfZXJy KHBhbmVsLT5kZXYsCj4gLQkJCQkiZmFpbGVkIHRvIHNlbmQgRENTIE9mZiBDb2RlOiAlZFxuIiwg ZXJyKTsKPiAtCQlyZXR1cm4gZXJyOwo+ICsJLyogc2VuZCBvZmYgY29kZSAqLwo+ICsJaWYgKHBp bmZvLT5kZXNjLT5vZmZfY21kcykgewo+ICsJCWNvbnN0IHN0cnVjdCBwYW5lbF9jbWQgKmNtZHMg PSBwaW5mby0+ZGVzYy0+b2ZmX2NtZHM7Cj4gKwkJdW5zaWduZWQgaW50IGk7Cj4gKwo+ICsJCWZv ciAoaSA9IDA7IGNtZHNbaV0ubGVuICE9IDA7IGkrKykgewo+ICsJCQljb25zdCBzdHJ1Y3QgcGFu ZWxfY21kICpjbWQgPSAmY21kc1tpXTsKPiArCj4gKwkJCWlmIChjbWQtPmxlbiA9PSAyKQo+ICsJ CQkJZXJyID0gbWlwaV9kc2lfZGNzX3dyaXRlKHBpbmZvLT5saW5rLAo+ICsJCQkJCSAgICBjbWQt PmRhdGFbMV0sIE5VTEwsIDApOwo+ICsJCQllbHNlCj4gKwkJCQllcnIgPSBtaXBpX2RzaV9kY3Nf d3JpdGUocGluZm8tPmxpbmssCj4gKwkJCQkJICAgIGNtZC0+ZGF0YVsxXSwgY21kLT5kYXRhICsg MiwKPiArCQkJCQkgICAgY21kLT5sZW4gLSAyKTsKPiArCj4gKwkJCWlmIChlcnIgPCAwKSB7Cj4g KwkJCQlkZXZfZXJyKHBhbmVsLT5kZXYsCj4gKwkJCQkJImZhaWxlZCB0byBzZW5kIERDUyBPZmYg Q29kZTogJWRcbiIsCj4gKwkJCQkJZXJyKTsKPiArCQkJCWdvdG8gcG93ZXJvZmY7Cj4gKwkJCX0K PiArCQkJdXNsZWVwX3JhbmdlKChjbWQtPmRhdGFbMF0pICogMTAwMCwKPiArCQkJCSAgICAoMSAr IGNtZC0+ZGF0YVswXSkgKiAxMDAwKTsKPiArCQl9Cj4gIAl9Cj4gIAo+ICAJdXNsZWVwX3Jhbmdl KDEwMDAsIDEwMDApOwo+IC0JZ3Bpb2Rfc2V0X3ZhbHVlX2NhbnNsZWVwKHBpbmZvLT5yZXNldF9n cGlvLCAwKTsKPiAtCWdwaW9kX3NldF92YWx1ZV9jYW5zbGVlcChwaW5mby0+cHAzMzAwMF9ncGlv LCAwKTsKPiAtCWdwaW9kX3NldF92YWx1ZV9jYW5zbGVlcChwaW5mby0+cHAxODAwMF9ncGlvLCAw KTsKPiArCXNldF9ncGlvcyhwaW5mbywgMCk7Cj4gIAo+ICAJcGluZm8tPnByZXBhcmVkID0gZmFs c2U7Cj4gIAo+ICAJcmV0dXJuIDA7Cj4gKwo+ICtwb3dlcm9mZjoKPiArCXNldF9ncGlvcyhwaW5m bywgMCk7Cj4gKwlyZXR1cm4gZXJyOwo+ICB9Cj4gIAo+ICBzdGF0aWMgaW50IHBhbmVsX3ByZXBh cmUoc3RydWN0IGRybV9wYW5lbCAqcGFuZWwpCj4gIHsKPiAgCXN0cnVjdCBwYW5lbF9pbmZvICpw aW5mbyA9IHRvX3BhbmVsX2luZm8ocGFuZWwpOwo+IC0JaW50IGVyciwgaTsKPiArCWNvbnN0IHN0 cnVjdCBwYW5lbF9kZXNjICpkZXNjID0gcGluZm8tPmRlc2M7Cj4gKwlpbnQgZXJyOwo+ICAKPiAg CWlmIChwaW5mby0+cHJlcGFyZWQpCj4gIAkJcmV0dXJuIDA7Cj4gIAo+IC0JZ3Bpb2Rfc2V0X3Zh bHVlX2NhbnNsZWVwKHBpbmZvLT5wcDE4MDAwX2dwaW8sIDEpOwo+IC0JZ3Bpb2Rfc2V0X3ZhbHVl X2NhbnNsZWVwKHBpbmZvLT5wcDMzMDAwX2dwaW8sIDEpOwo+ICsJZ3Bpb2Rfc2V0X3ZhbHVlKHBp bmZvLT5wcDE4X2dwaW8sIDEpOwo+ICsJLyogVDEgKD4gNW1zKSAqLwo+ICsJdXNsZWVwX3Jhbmdl KGRlc2MtPmRlbGF5X3QxLCAxMDAwICsgZGVzYy0+ZGVsYXlfdDEpOwo+ICsJZ3Bpb2Rfc2V0X3Zh bHVlKHBpbmZvLT5wcDMzX2dwaW8sIDEpOwo+ICAKPiAgCS8qIHJlc2V0IHNlcXVlbmNlICovCj4g LQlmb3IgKGkgPSAwOyBpIDwgcGluZm8tPnJzdF9zZXFfbGVuOyArK2kpIHsKPiAtCQlncGlvZF9z ZXRfdmFsdWVfY2Fuc2xlZXAocGluZm8tPnJlc2V0X2dwaW8sIHBpbmZvLT5yc3Rfc2VxW2ldKTsK PiAtCQlpZiAocGluZm8tPnJzdF9zZXFbKytpXSkKPiAtCQkJdXNsZWVwX3JhbmdlKHBpbmZvLT5y c3Rfc2VxW2ldICogMTAwMCwKPiAtCQkJCQkJcGluZm8tPnJzdF9zZXFbaV0gKiAxMDAwKTsKPiAr CS8vIFQyICg+IDE0bXMpCj4gKwl1c2xlZXBfcmFuZ2UoZGVzYy0+cmVzZXRfZGVsYXlfdDIsIDEw MDAgKyBkZXNjLT5yZXNldF9kZWxheV90Mik7Cj4gKwo+ICsJLy8gVDMgKD49IDBtcykKPiArCWlm IChkZXNjLT5yZXNldF9kZWxheV90Mykgewo+ICsJCWdwaW9kX3NldF92YWx1ZShwaW5mby0+cmVz ZXRfZ3BpbywgMSk7Cj4gKwkJdXNsZWVwX3JhbmdlKGRlc2MtPnJlc2V0X2RlbGF5X3QzLCAxMDAw ICsgZGVzYy0+cmVzZXRfZGVsYXlfdDMpOwo+ICsJCWdwaW9kX3NldF92YWx1ZShwaW5mby0+cmVz ZXRfZ3BpbywgMCk7Cj4gIAl9Cj4gIAo+ICsJLy8gVDQgKD4gMjB1cykKPiArCXVzbGVlcF9yYW5n ZShkZXNjLT5yZXNldF9kZWxheV90NCwgMTAwMCArIGRlc2MtPnJlc2V0X2RlbGF5X3Q0KTsKPiAr CWdwaW9kX3NldF92YWx1ZShwaW5mby0+cmVzZXRfZ3BpbywgMSk7Cj4gKwo+ICAJLyogc2VuZCBp bml0IGNvZGUgKi8KPiAtCWVyciA9IHdyaXRlX2NtZHMocGluZm8tPmxpbmssIHBpbmZvLT5vbl9j bWRzKTsKPiAtCWlmIChlcnIgPCAwKSB7Cj4gLQkJZGV2X2VycihwYW5lbC0+ZGV2LAo+IC0JCQkJ ImZhaWxlZCB0byBzZW5kIERDUyBJbml0IENvZGU6ICVkXG4iLCBlcnIpOwo+IC0JCWdvdG8gcG93 ZXJvZmY7Cj4gKwlpZiAocGluZm8tPmRlc2MtPm9uX2NtZHMpIHsKPiArCQljb25zdCBzdHJ1Y3Qg cGFuZWxfY21kICpjbWRzID0gcGluZm8tPmRlc2MtPm9uX2NtZHM7Cj4gKwkJdW5zaWduZWQgaW50 IGk7Cj4gKwo+ICsJCWZvciAoaSA9IDA7IGNtZHNbaV0ubGVuICE9IDA7IGkrKykgewo+ICsJCQlj b25zdCBzdHJ1Y3QgcGFuZWxfY21kICpjbWQgPSAmY21kc1tpXTsKPiArCj4gKwkJCWlmIChjbWQt PmxlbiA9PSAyKQo+ICsJCQkJZXJyID0gbWlwaV9kc2lfZGNzX3dyaXRlKHBpbmZvLT5saW5rLAo+ ICsJCQkJCSAgICBjbWQtPmRhdGFbMV0sIE5VTEwsIDApOwo+ICsJCQllbHNlCj4gKwkJCQllcnIg PSBtaXBpX2RzaV9kY3Nfd3JpdGUocGluZm8tPmxpbmssCj4gKwkJCQkJICAgIGNtZC0+ZGF0YVsx XSwgY21kLT5kYXRhICsgMiwKPiArCQkJCQkgICAgY21kLT5sZW4gLSAyKTsKPiArCj4gKwkJCWlm IChlcnIgPCAwKSB7Cj4gKwkJCQlkZXZfZXJyKHBhbmVsLT5kZXYsCj4gKwkJCQkJImZhaWxlZCB0 byBzZW5kIERDUyBJbml0IENvZGU6ICVkXG4iLAo+ICsJCQkJCWVycik7Cj4gKwkJCQlnb3RvIHBv d2Vyb2ZmOwo+ICsJCQl9Cj4gKwkJCXVzbGVlcF9yYW5nZShjbWQtPmRhdGFbMF0gKiAxMDAwLAo+ ICsJCQkJICAgICgxICsgY21kLT5kYXRhWzBdKSAqIDEwMDApOwo+ICsJCX0KPiAgCX0KPiAgCj4g IAlwaW5mby0+cHJlcGFyZWQgPSB0cnVlOwo+IEBAIC0zOTIsOSArMTk3LDcgQEAgc3RhdGljIGlu dCBwYW5lbF9wcmVwYXJlKHN0cnVjdCBkcm1fcGFuZWwgKnBhbmVsKQo+ICAJcmV0dXJuIDA7Cj4g IAo+ICBwb3dlcm9mZjoKPiAtCWdwaW9kX3NldF92YWx1ZV9jYW5zbGVlcChwaW5mby0+cmVzZXRf Z3BpbywgMCk7Cj4gLQlncGlvZF9zZXRfdmFsdWVfY2Fuc2xlZXAocGluZm8tPnBwMzMwMDBfZ3Bp bywgMCk7Cj4gLQlncGlvZF9zZXRfdmFsdWVfY2Fuc2xlZXAocGluZm8tPnBwMTgwMDBfZ3Bpbywg MCk7Cj4gKwlzZXRfZ3Bpb3MocGluZm8sIDApOwo+ICAJcmV0dXJuIGVycjsKPiAgfQo+ICAKPiBA QCAtNDA5LDcgKzIxMiw3IEBAIHN0YXRpYyBpbnQgcGFuZWxfZW5hYmxlKHN0cnVjdCBkcm1fcGFu ZWwgKnBhbmVsKQo+ICAJcmV0ID0gYmFja2xpZ2h0X2VuYWJsZShwaW5mby0+YmFja2xpZ2h0KTsK PiAgCWlmIChyZXQpIHsKPiAgCQlEUk1fREVWX0VSUk9SKHBhbmVsLT5kcm0tPmRldiwKPiAtCQkJ ICAgICAgIkZhaWxlZCB0byBlbmFibGUgYmFja2xpZ2h0ICVkXG4iLCByZXQpOwo+ICsJCQkJIkZh aWxlZCB0byBlbmFibGUgYmFja2xpZ2h0ICVkXG4iLCByZXQpOwo+ICAJCXJldHVybiByZXQ7Cj4g IAl9Cj4gIAo+IEBAIC00MjEsMTYgKzIyNCwxMyBAQCBzdGF0aWMgaW50IHBhbmVsX2VuYWJsZShz dHJ1Y3QgZHJtX3BhbmVsICpwYW5lbCkKPiAgc3RhdGljIGludCBwYW5lbF9nZXRfbW9kZXMoc3Ry dWN0IGRybV9wYW5lbCAqcGFuZWwpCj4gIHsKPiAgCXN0cnVjdCBwYW5lbF9pbmZvICpwaW5mbyA9 IHRvX3BhbmVsX2luZm8ocGFuZWwpOwo+ICsJY29uc3Qgc3RydWN0IGRybV9kaXNwbGF5X21vZGUg Km0gPSBwaW5mby0+ZGVzYy0+ZGlzcGxheV9tb2RlOwo+ICAJc3RydWN0IGRybV9kaXNwbGF5X21v ZGUgKm1vZGU7Cj4gIAo+IC0JaWYgKCFwaW5mby0+cGFuZWxfZGlzcGxheV9tb2RlKSB7Cj4gLQkJ cHJfZXJyKCJHZXQgcGFuZWxfZGlzcGxheV9tb2RlIGZhaWwhXG4iKTsKPiAtCQlyZXR1cm4gLTE7 Cj4gLQl9Cj4gLQo+IC0JbW9kZSA9IGRybV9tb2RlX2R1cGxpY2F0ZShwYW5lbC0+ZHJtLCBwaW5m by0+cGFuZWxfZGlzcGxheV9tb2RlKTsKPiArCW1vZGUgPSBkcm1fbW9kZV9kdXBsaWNhdGUocGFu ZWwtPmRybSwgbSk7Cj4gIAlpZiAoIW1vZGUpIHsKPiAtCQlwcl9lcnIoImZhaWxlZCB0byBhZGQg bW9kZVxuIik7Cj4gKwkJRFJNX0RFVl9FUlJPUihwYW5lbC0+ZHJtLT5kZXYsICJmYWlsZWQgdG8g YWRkIG1vZGUgJXV4JXV4QCV1XG4iLAo+ICsJCQkJbS0+aGRpc3BsYXksIG0tPnZkaXNwbGF5LCBt LT52cmVmcmVzaCk7Cj4gIAkJcmV0dXJuIC1FTk9NRU07Cj4gIAl9Cj4gIAo+IEBAIC00MzgsOSAr MjM4LDkgQEAgc3RhdGljIGludCBwYW5lbF9nZXRfbW9kZXMoc3RydWN0IGRybV9wYW5lbCAqcGFu ZWwpCj4gIAo+ICAJZHJtX21vZGVfcHJvYmVkX2FkZChwYW5lbC0+Y29ubmVjdG9yLCBtb2RlKTsK PiAgCj4gLQlwYW5lbC0+Y29ubmVjdG9yLT5kaXNwbGF5X2luZm8ud2lkdGhfbW0gPSBwaW5mby0+ cGFuZWxfd2lkdGhfbW07Cj4gLQlwYW5lbC0+Y29ubmVjdG9yLT5kaXNwbGF5X2luZm8uaGVpZ2h0 X21tID0gcGluZm8tPnBhbmVsX2hlaWdodF9tbTsKPiAtCXBhbmVsLT5jb25uZWN0b3ItPmRpc3Bs YXlfaW5mby5icGMgPSBwaW5mby0+cGVyX2NvbG9yX2NoYW5uZWw7Cj4gKwlwYW5lbC0+Y29ubmVj dG9yLT5kaXNwbGF5X2luZm8ud2lkdGhfbW0gPSBwaW5mby0+ZGVzYy0+d2lkdGg7Cj4gKwlwYW5l bC0+Y29ubmVjdG9yLT5kaXNwbGF5X2luZm8uaGVpZ2h0X21tID0gcGluZm8tPmRlc2MtPmhlaWdo dDsKPiArCXBhbmVsLT5jb25uZWN0b3ItPmRpc3BsYXlfaW5mby5icGMgPSBwaW5mby0+ZGVzYy0+ YnBjOwo+ICAKPiAgCXJldHVybiAxOwo+ICB9Cj4gQEAgLTQ1Myw4ICsyNTMsNzAwIEBAIHN0YXRp YyBjb25zdCBzdHJ1Y3QgZHJtX3BhbmVsX2Z1bmNzIHBhbmVsX2Z1bmNzID0gewo+ICAJLmdldF9t b2RlcyA9IHBhbmVsX2dldF9tb2RlcywKPiAgfTsKPiAgCj4gKy8qIDggaW5jaCAqLwo+ICtzdGF0 aWMgY29uc3Qgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgYm9lX2hpbWF4ODI3OWQ4cF9kaXNwbGF5 X21vZGUgPSB7Cj4gKwkuY2xvY2sgPSAxNTk0MjAsCj4gKwkuaGRpc3BsYXkgPSAxMjAwLAo+ICsJ LmhzeW5jX3N0YXJ0ID0gMTIwMCArIDgwLAo+ICsJLmhzeW5jX2VuZCA9IDEyMDAgKyA4MCArIDYw LAo+ICsJLmh0b3RhbCA9IDEyMDAgKyA4MCArIDYwICsgMjQsCj4gKwkudmRpc3BsYXkgPSAxOTIw LAo+ICsJLnZzeW5jX3N0YXJ0ID0gMTkyMCArIDEwLAo+ICsJLnZzeW5jX2VuZCA9IDE5MjAgKyAx MCArIDE0LAo+ICsJLnZ0b3RhbCA9IDE5MjAgKyAxMCArIDE0ICsgNCwKPiArCS52cmVmcmVzaCA9 IDYwLAo+ICt9Owo+ICsKPiArc3RhdGljIGNvbnN0IHN0cnVjdCBwYW5lbF9jbWQgYm9lX2hpbWF4 ODI3OWQ4cF9vbl9jbWRzW10gPSB7Cj4gKwlfSU5JVF9DTUQoMHgyMiwgMHgxMCksCj4gKwlfSU5J VF9DTUQoMHgwMCwgMHhCMCwgMHgwNSksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhCMSwgMHhFNSks Cj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhCMywgMHg1MiksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhC MCwgMHgwMCksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhCMywgMHg4OCksCj4gKwlfSU5JVF9DTUQo MHgwMCwgMHhCMCwgMHgwNCksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhCOCwgMHgwMCksCj4gKwlf SU5JVF9DTUQoMHgwMCwgMHhCMCwgMHgwMCksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhCMiwgMHg1 MCksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhCNiwgMHgwMyksCj4gKwlfSU5JVF9DTUQoMHgwMCwg MHhCQSwgMHg4QiksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhCRiwgMHgxNSksCj4gKwlfSU5JVF9D TUQoMHgwMCwgMHhDMCwgMHgwRiksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhDMiwgMHgwQyksCj4g KwlfSU5JVF9DTUQoMHgwMCwgMHhDMywgMHgwMiksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhDNCwg MHgwQyksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhDNSwgMHgwMiksCj4gKwlfSU5JVF9DTUQoMHgw MCwgMHhCMCwgMHgwMSksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhFMCwgMHgyNiksCj4gKwlfSU5J VF9DTUQoMHgwMCwgMHhFMSwgMHgyNiksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhEQywgMHgwMCks Cj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhERCwgMHgwMCksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhD QywgMHgyNiksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhDRCwgMHgyNiksCj4gKwlfSU5JVF9DTUQo MHgwMCwgMHhDOCwgMHgwMCksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhDOSwgMHgwMCksCj4gKwlf SU5JVF9DTUQoMHgwMCwgMHhEMiwgMHgwNCksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhEMywgMHgw NCksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhFNiwgMHgwMyksCj4gKwlfSU5JVF9DTUQoMHgwMCwg MHhFNywgMHgwMyksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhDNCwgMHgwOCksCj4gKwlfSU5JVF9D TUQoMHgwMCwgMHhDNSwgMHgwOCksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhEOCwgMHgwNyksCj4g KwlfSU5JVF9DTUQoMHgwMCwgMHhEOSwgMHgwNyksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhDMiwg MHgwNiksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhDMywgMHgwNiksCj4gKwlfSU5JVF9DTUQoMHgw MCwgMHhENiwgMHgwNSksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhENywgMHgwNSksCj4gKwlfSU5J VF9DTUQoMHgwMCwgMHhDMCwgMHgwQyksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhDMSwgMHgwQyks Cj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhENCwgMHgwQiksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhE NSwgMHgwQiksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhDQSwgMHgwQSksCj4gKwlfSU5JVF9DTUQo MHgwMCwgMHhDQiwgMHgwQSksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhERSwgMHgwOSksCj4gKwlf SU5JVF9DTUQoMHgwMCwgMHhERiwgMHgwOSksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhDNiwgMHgy NiksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhDNywgMHgyNiksCj4gKwlfSU5JVF9DTUQoMHgwMCwg MHhDRSwgMHgwMCksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhDRiwgMHgwMCksCj4gKwlfSU5JVF9D TUQoMHgwMCwgMHhEQSwgMHgyNiksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhEQiwgMHgyNiksCj4g KwlfSU5JVF9DTUQoMHgwMCwgMHhFMiwgMHgwMCksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhFMywg MHgwMCksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhCMCwgMHgwMiksCj4gKwlfSU5JVF9DTUQoMHgw MCwgMHhDMCwgMHgwMCksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhDMSwgMHgwNyksCj4gKwlfSU5J VF9DTUQoMHgwMCwgMHhDMiwgMHgwRCksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhDMywgMHgxOCks Cj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhDNCwgMHgyNyksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhD NSwgMHgyOCksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhDNiwgMHgzMCksCj4gKwlfSU5JVF9DTUQo MHgwMCwgMHhDNywgMHgyRSksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhDOCwgMHgyRiksCj4gKwlf SU5JVF9DTUQoMHgwMCwgMHhDOSwgMHgxQSksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhDQSwgMHgy MCksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhDQiwgMHgyOSksCj4gKwlfSU5JVF9DTUQoMHgwMCwg MHhDQywgMHgyNiksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhDRCwgMHgzMiksCj4gKwlfSU5JVF9D TUQoMHgwMCwgMHhDRSwgMHgzMyksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhDRiwgMHgzMSksCj4g KwlfSU5JVF9DTUQoMHgwMCwgMHhEMCwgMHgwNiksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhEMiwg MHgwMCksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhEMywgMHgwNyksCj4gKwlfSU5JVF9DTUQoMHgw MCwgMHhENCwgMHgxMiksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhENSwgMHgyNiksCj4gKwlfSU5J VF9DTUQoMHgwMCwgMHhENiwgMHgzRCksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhENywgMHgzRiks Cj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhEOCwgMHgzRiksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhE OSwgMHgzRiksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhEQSwgMHgzRiksCj4gKwlfSU5JVF9DTUQo MHgwMCwgMHhEQiwgMHgzRiksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhEQywgMHgzRiksCj4gKwlf SU5JVF9DTUQoMHgwMCwgMHhERCwgMHgzRiksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhERSwgMHgz RiksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhERiwgMHgzQSksCj4gKwlfSU5JVF9DTUQoMHgwMCwg MHhFMCwgMHgzNyksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhFMSwgMHgzNSksCj4gKwlfSU5JVF9D TUQoMHgwMCwgMHhFMiwgMHgwNyksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhCMCwgMHgwMyksCj4g KwlfSU5JVF9DTUQoMHgwMCwgMHhDOCwgMHgwQiksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhDOSwg MHgwNyksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhDMywgMHgwMCksCj4gKwlfSU5JVF9DTUQoMHgw MCwgMHhFNywgMHgwMCksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhDNSwgMHgyQSksCj4gKwlfSU5J VF9DTUQoMHgwMCwgMHhERSwgMHgyQSksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhDQSwgMHg0Myks Cj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhDOSwgMHgwNyksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhF NCwgMHhDMCksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhFNSwgMHgwRCksCj4gKwlfSU5JVF9DTUQo MHgwMCwgMHhDQiwgMHgwMCksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhCMCwgMHgwNiksCj4gKwlf SU5JVF9DTUQoMHgwMCwgMHhCOCwgMHhBNSksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhDMCwgMHhB NSksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhDNywgMHgwRiksCj4gKwlfSU5JVF9DTUQoMHgwMCwg MHhENSwgMHgzMiksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhCOCwgMHgwMCksCj4gKwlfSU5JVF9D TUQoMHgwMCwgMHhDMCwgMHgwMCksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhCQywgMHgwMCksCj4g KwlfSU5JVF9DTUQoMHgwMCwgMHhCMCwgMHgwNyksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhCMSwg MHgwMCksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhCMiwgMHgwOSksCj4gKwlfSU5JVF9DTUQoMHgw MCwgMHhCMywgMHgxOSksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhCNCwgMHgyRiksCj4gKwlfSU5J VF9DTUQoMHgwMCwgMHhCNSwgMHg0NCksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhCNiwgMHg1Miks Cj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhCNywgMHg2QSksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhC OCwgMHg4QSksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhCOSwgMHhDQSksCj4gKwlfSU5JVF9DTUQo MHgwMCwgMHhCQSwgMHgwQyksCj4gKwlfSU5JVF9DTUQoMHgwNSwgMHhCQiwgMHg4NyksCj4gKwlf SU5JVF9DTUQoMHgwMCwgMHhCQywgMHgwNiksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhCRCwgMHgw QSksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhCRSwgMHg5QiksCj4gKwlfSU5JVF9DTUQoMHgwMCwg MHhCRiwgMHgwQyksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhDMCwgMHgzRCksCj4gKwlfSU5JVF9D TUQoMHgwMCwgMHhDMSwgMHg3MSksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhDMiwgMHg5MCksCj4g KwlfSU5JVF9DTUQoMHgwMCwgMHhDMywgMHhBMCksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhDNCwg MHhBOCksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhDNSwgMHhCMSksCj4gKwlfSU5JVF9DTUQoMHgw MCwgMHhDNiwgMHhCQiksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhDNywgMHhDMCksCj4gKwlfSU5J VF9DTUQoMHgwMCwgMHhDOCwgMHhDNCksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhDOSwgMHgwMCks Cj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhDQSwgMHgwMCksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhD QiwgMHgxNiksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhDQywgMHhBRiksCj4gKwlfSU5JVF9DTUQo MHgwMCwgMHhDRCwgMHhGRiksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhDRSwgMHhGRiksCj4gKwlf SU5JVF9DTUQoMHgwMCwgMHhCMCwgMHgwOCksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhCMSwgMHgw NCksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhCMiwgMHgwOCksCj4gKwlfSU5JVF9DTUQoMHgwMCwg MHhCMywgMHgxOSksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhCNCwgMHgzMSksCj4gKwlfSU5JVF9D TUQoMHgwMCwgMHhCNSwgMHg0NiksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhCNiwgMHg1NSksCj4g KwlfSU5JVF9DTUQoMHgwMCwgMHhCNywgMHg2RSksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhCOCwg MHg5MiksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhCOSwgMHhENCksCj4gKwlfSU5JVF9DTUQoMHgw MCwgMHhCQSwgMHgxQiksCj4gKwlfSU5JVF9DTUQoMHgwNSwgMHhCQiwgMHg5QiksCj4gKwlfSU5J VF9DTUQoMHgwMCwgMHhCQywgMHgyOCksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhCRCwgMHgyRCks Cj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhCRSwgMHhDMyksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhC RiwgMHgyRiksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhDMCwgMHg2MiksCj4gKwlfSU5JVF9DTUQo MHgwMCwgMHhDMSwgMHg5OSksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhDMiwgMHhBQiksCj4gKwlf SU5JVF9DTUQoMHgwMCwgMHhDMywgMHhCRiksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhDNCwgMHhD RiksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhDNSwgMHhERiksCj4gKwlfSU5JVF9DTUQoMHgwMCwg MHhDNiwgMHhGMCksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhDNywgMHhGOSksCj4gKwlfSU5JVF9D TUQoMHgwMCwgMHhDOCwgMHhGQyksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhDOSwgMHgwMCksCj4g KwlfSU5JVF9DTUQoMHgwMCwgMHhDQSwgMHgwMCksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhDQiwg MHgxNiksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhDQywgMHhBRiksCj4gKwlfSU5JVF9DTUQoMHgw MCwgMHhDRCwgMHhGRiksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhDRSwgMHhGRiksCj4gKwlfSU5J VF9DTUQoMHgwMCwgMHhCMCwgMHgwOSksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhCMSwgMHgwNCks Cj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhCMiwgMHgwNSksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhC MywgMHgxNyksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhCNCwgMHgyRSksCj4gKwlfSU5JVF9DTUQo MHgwMCwgMHhCNSwgMHg0MiksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhCNiwgMHg1MSksCj4gKwlf SU5JVF9DTUQoMHgwMCwgMHhCNywgMHg2OSksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhCOCwgMHg4 OCksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhCOSwgMHhDOSksCj4gKwlfSU5JVF9DTUQoMHgwMCwg MHhCQSwgMHgwQyksCj4gKwlfSU5JVF9DTUQoMHgwNSwgMHhCQiwgMHg4NiksCj4gKwlfSU5JVF9D TUQoMHgwMCwgMHhCQywgMHgwMyksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhCRCwgMHgwOCksCj4g KwlfSU5JVF9DTUQoMHgwMCwgMHhCRSwgMHg5NSksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhCRiwg MHgwNSksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhDMCwgMHgzNSksCj4gKwlfSU5JVF9DTUQoMHgw MCwgMHhDMSwgMHg2MiksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhDMiwgMHg4MSksCj4gKwlfSU5J VF9DTUQoMHgwMCwgMHhDMywgMHg5NiksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhDNCwgMHg5RSks Cj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhDNSwgMHhBNSksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhD NiwgMHhBRCksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhDNywgMHhCMSksCj4gKwlfSU5JVF9DTUQo MHgwMCwgMHhDOCwgMHhCNCksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhDOSwgMHgwMCksCj4gKwlf SU5JVF9DTUQoMHgwMCwgMHhDQSwgMHgwMCksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhDQiwgMHgx NiksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhDQywgMHhBRiksCj4gKwlfSU5JVF9DTUQoMHgwMCwg MHhDRCwgMHhGRiksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhDRSwgMHhGRiksCj4gKwlfSU5JVF9D TUQoMHgwMCwgMHhCMCwgMHgwQSksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhCMSwgMHgwMCksCj4g KwlfSU5JVF9DTUQoMHgwMCwgMHhCMiwgMHgwOSksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhCMywg MHgxOSksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhCNCwgMHgyRiksCj4gKwlfSU5JVF9DTUQoMHgw MCwgMHhCNSwgMHg0NCksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhCNiwgMHg1MiksCj4gKwlfSU5J VF9DTUQoMHgwMCwgMHhCNywgMHg2QSksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhCOCwgMHg4QSks Cj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhCOSwgMHhDQSksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhC QSwgMHgwQyksCj4gKwlfSU5JVF9DTUQoMHgwNSwgMHhCQiwgMHg4NyksCj4gKwlfSU5JVF9DTUQo MHgwMCwgMHhCQywgMHgwNiksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhCRCwgMHgwQSksCj4gKwlf SU5JVF9DTUQoMHgwMCwgMHhCRSwgMHg5QiksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhCRiwgMHgw QyksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhDMCwgMHgzRCksCj4gKwlfSU5JVF9DTUQoMHgwMCwg MHhDMSwgMHg3MSksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhDMiwgMHg5MCksCj4gKwlfSU5JVF9D TUQoMHgwMCwgMHhDMywgMHhBMCksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhDNCwgMHhBOCksCj4g KwlfSU5JVF9DTUQoMHgwMCwgMHhDNSwgMHhCMSksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhDNiwg MHhCQiksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhDNywgMHhDMCksCj4gKwlfSU5JVF9DTUQoMHgw MCwgMHhDOCwgMHhDNCksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhDOSwgMHgwMCksCj4gKwlfSU5J VF9DTUQoMHgwMCwgMHhDQSwgMHgwMCksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhDQiwgMHgxNiks Cj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhDQywgMHhBRiksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhD RCwgMHhGRiksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhDRSwgMHhGRiksCj4gKwlfSU5JVF9DTUQo MHgwMCwgMHhCMCwgMHgwQiksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhCMSwgMHgwNCksCj4gKwlf SU5JVF9DTUQoMHgwMCwgMHhCMiwgMHgwOCksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhCMywgMHgx OSksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhCNCwgMHgzMSksCj4gKwlfSU5JVF9DTUQoMHgwMCwg MHhCNSwgMHg0NiksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhCNiwgMHg1NSksCj4gKwlfSU5JVF9D TUQoMHgwMCwgMHhCNywgMHg2RSksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhCOCwgMHg5MiksCj4g KwlfSU5JVF9DTUQoMHgwMCwgMHhCOSwgMHhENCksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhCQSwg MHgxQiksCj4gKwlfSU5JVF9DTUQoMHgwNSwgMHhCQiwgMHg5QiksCj4gKwlfSU5JVF9DTUQoMHgw MCwgMHhCQywgMHgyOCksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhCRCwgMHgyRCksCj4gKwlfSU5J VF9DTUQoMHgwMCwgMHhCRSwgMHhDMyksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhCRiwgMHgyRiks Cj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhDMCwgMHg2MiksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhD MSwgMHg5OSksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhDMiwgMHhBQiksCj4gKwlfSU5JVF9DTUQo MHgwMCwgMHhDMywgMHhCRiksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhDNCwgMHhDRiksCj4gKwlf SU5JVF9DTUQoMHgwMCwgMHhDNSwgMHhERiksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhDNiwgMHhG MCksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhDNywgMHhGOSksCj4gKwlfSU5JVF9DTUQoMHgwMCwg MHhDOCwgMHhGQyksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhDOSwgMHgwMCksCj4gKwlfSU5JVF9D TUQoMHgwMCwgMHhDQSwgMHgwMCksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhDQiwgMHgxNiksCj4g KwlfSU5JVF9DTUQoMHgwMCwgMHhDQywgMHhBRiksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhDRCwg MHhGRiksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhDRSwgMHhGRiksCj4gKwlfSU5JVF9DTUQoMHgw MCwgMHhCMCwgMHgwQyksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhCMSwgMHgwNCksCj4gKwlfSU5J VF9DTUQoMHgwMCwgMHhCMiwgMHgwNSksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhCMywgMHgxNyks Cj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhCNCwgMHgyRSksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhC NSwgMHg0MiksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhCNiwgMHg1MSksCj4gKwlfSU5JVF9DTUQo MHgwMCwgMHhCNywgMHg2OSksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhCOCwgMHg4OCksCj4gKwlf SU5JVF9DTUQoMHgwMCwgMHhCOSwgMHhDOSksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhCQSwgMHgw QyksCj4gKwlfSU5JVF9DTUQoMHgwNSwgMHhCQiwgMHg4NiksCj4gKwlfSU5JVF9DTUQoMHgwMCwg MHhCQywgMHgwMyksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhCRCwgMHgwOCksCj4gKwlfSU5JVF9D TUQoMHgwMCwgMHhCRSwgMHg5NSksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhCRiwgMHgwNSksCj4g KwlfSU5JVF9DTUQoMHgwMCwgMHhDMCwgMHgzNSksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhDMSwg MHg2MiksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhDMiwgMHg4MSksCj4gKwlfSU5JVF9DTUQoMHgw MCwgMHhDMywgMHg5NiksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhDNCwgMHg5RSksCj4gKwlfSU5J VF9DTUQoMHgwMCwgMHhDNSwgMHhBNSksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhDNiwgMHhBRCks Cj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhDNywgMHhCMSksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhD OCwgMHhCNCksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhDOSwgMHgwMCksCj4gKwlfSU5JVF9DTUQo MHgwMCwgMHhDQSwgMHgwMCksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhDQiwgMHgxNiksCj4gKwlf SU5JVF9DTUQoMHgwMCwgMHhDQywgMHhBRiksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhDRCwgMHhG RiksCj4gKwlfSU5JVF9DTUQoMHg2NCwgMHhDRSwgMHhGRiksCj4gKwlfSU5JVF9DTUQoMHgwMCwg MHhCMCwgMHgwMCksCj4gKwlfSU5JVF9DTUQoMHgwMCwgMHhCMywgMHgwOCksCj4gKwlfSU5JVF9D TUQoMHgwMCwgMHhCMCwgMHgwNCksCj4gKwlfSU5JVF9DTUQoMHgwQSwgMHhCOCwgMHg2OCksCj4g KwlfSU5JVF9DTUQoMHg3OCwgMHgxMSksCj4gKwlfSU5JVF9DTUQoMHgxNCwgMHgyOSksCj4gKwo+ ICsJe30sCj4gK307Cj4gKwo+ICtzdGF0aWMgY29uc3Qgc3RydWN0IHBhbmVsX2NtZCBib2VfaGlt YXg4Mjc5ZDhwX29mZl9jbWRzW10gPSB7Cj4gKwlfSU5JVF9DTUQoMHgwMCwgMHgyOCksCj4gKwlf SU5JVF9DTUQoMHgwMCwgMHgxMCksCj4gKwo+ICsJe30sCj4gK307Cj4gKwo+ICtzdGF0aWMgY29u c3Qgc3RydWN0IHBhbmVsX2Rlc2MgYm9lX2hpbWF4ODI3OWQ4cF9wYW5lbF9kZXNjID0gewo+ICsJ LmRpc3BsYXlfbW9kZSA9ICZib2VfaGltYXg4Mjc5ZDhwX2Rpc3BsYXlfbW9kZSwKPiArCS5icGMg PSA4LAo+ICsJLndpZHRoID0gMTA3LAo+ICsJLmhlaWdodCA9IDE3MiwKPiArCS5kZWxheV90MSA9 IDUwMDAsCj4gKwkucmVzZXRfZGVsYXlfdDIgPSAxNDAwMCwKPiArCS5yZXNldF9kZWxheV90MyA9 IDEwMDAsCj4gKwkucmVzZXRfZGVsYXlfdDQgPSAxMDAwLAo+ICsJLmZsYWdzID0gTUlQSV9EU0lf TU9ERV9WSURFTyB8IE1JUElfRFNJX01PREVfVklERU9fU1lOQ19QVUxTRSB8Cj4gKwkJICAgIE1J UElfRFNJX0NMT0NLX05PTl9DT05USU5VT1VTIHwgTUlQSV9EU0lfTU9ERV9MUE0sCj4gKwkuZm9y bWF0ID0gTUlQSV9EU0lfRk1UX1JHQjg4OCwKPiArCS5sYW5lcyA9IDQsCj4gKwkub25fY21kcyA9 IGJvZV9oaW1heDgyNzlkOHBfb25fY21kcywKPiArCS5vZmZfY21kcyA9IGJvZV9oaW1heDgyNzlk OHBfb2ZmX2NtZHMsCj4gK307Cj4gKwo+ICsvKiAxMCBpbmNoICovCj4gK3N0YXRpYyBjb25zdCBz dHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSBib2VfaGltYXg4Mjc5ZDEwcF9kaXNwbGF5X21vZGUgPSB7 Cj4gKwkuY2xvY2sgPSAxNTk0MjAsCj4gKwkuaGRpc3BsYXkgPSAxMjAwLAo+ICsJLmhzeW5jX3N0 YXJ0ID0gMTIwMCArIDgwLAo+ICsJLmhzeW5jX2VuZCA9IDEyMDAgKyA4MCArIDYwLAo+ICsJLmh0 b3RhbCA9IDEyMDAgKyA4MCArIDYwICsgMjQsCj4gKwkudmRpc3BsYXkgPSAxOTIwLAo+ICsJLnZz eW5jX3N0YXJ0ID0gMTkyMCArIDEwLAo+ICsJLnZzeW5jX2VuZCA9IDE5MjAgKyAxMCArIDE0LAo+ ICsJLnZ0b3RhbCA9IDE5MjAgKyAxMCArIDE0ICsgNCwKPiArCS52cmVmcmVzaCA9IDYwLAo+ICt9 Owo+ICsKPiArc3RhdGljIGNvbnN0IHN0cnVjdCBwYW5lbF9jbWQgYm9lX2hpbWF4ODI3OWQxMHBf b25fY21kc1tdID0gewo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4QjAsIDB4MDUpLAo+ICsJX0lOSVRf Q01EKDB4MDAsIDB4QjEsIDB4RTUpLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4QjMsIDB4NTIpLAo+ ICsJX0lOSVRfQ01EKDB4MDAsIDB4QjAsIDB4MDApLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4QjMs IDB4ODgpLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4QjAsIDB4MDQpLAo+ICsJX0lOSVRfQ01EKDB4 MDAsIDB4QjgsIDB4MDApLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4QjAsIDB4MDApLAo+ICsJX0lO SVRfQ01EKDB4MDAsIDB4QjIsIDB4NTApLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4QjYsIDB4MDMp LAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4QkEsIDB4OEIpLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4 QkYsIDB4MUEpLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4QzAsIDB4MEYpLAo+ICsJX0lOSVRfQ01E KDB4MDAsIDB4QzIsIDB4MEMpLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4QzMsIDB4MDIpLAo+ICsJ X0lOSVRfQ01EKDB4MDAsIDB4QzQsIDB4MEMpLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4QzUsIDB4 MDIpLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4QjAsIDB4MDEpLAo+ICsJX0lOSVRfQ01EKDB4MDAs IDB4RTAsIDB4MjYpLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4RTEsIDB4MjYpLAo+ICsJX0lOSVRf Q01EKDB4MDAsIDB4REMsIDB4MDApLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4REQsIDB4MDApLAo+ ICsJX0lOSVRfQ01EKDB4MDAsIDB4Q0MsIDB4MjYpLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4Q0Qs IDB4MjYpLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4QzgsIDB4MDApLAo+ICsJX0lOSVRfQ01EKDB4 MDAsIDB4QzksIDB4MDApLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4RDIsIDB4MDQpLAo+ICsJX0lO SVRfQ01EKDB4MDAsIDB4RDMsIDB4MDQpLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4RTYsIDB4MDMp LAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4RTcsIDB4MDMpLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4 QzQsIDB4MDgpLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4QzUsIDB4MDgpLAo+ICsJX0lOSVRfQ01E KDB4MDAsIDB4RDgsIDB4MDcpLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4RDksIDB4MDcpLAo+ICsJ X0lOSVRfQ01EKDB4MDAsIDB4QzIsIDB4MDYpLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4QzMsIDB4 MDYpLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4RDYsIDB4MDUpLAo+ICsJX0lOSVRfQ01EKDB4MDAs IDB4RDcsIDB4MDUpLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4QzAsIDB4MEMpLAo+ICsJX0lOSVRf Q01EKDB4MDAsIDB4QzEsIDB4MEMpLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4RDQsIDB4MEIpLAo+ ICsJX0lOSVRfQ01EKDB4MDAsIDB4RDUsIDB4MEIpLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4Q0Es IDB4MEEpLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4Q0IsIDB4MEEpLAo+ICsJX0lOSVRfQ01EKDB4 MDAsIDB4REUsIDB4MDkpLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4REYsIDB4MDkpLAo+ICsJX0lO SVRfQ01EKDB4MDAsIDB4QzYsIDB4MjYpLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4QzcsIDB4MjYp LAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4Q0UsIDB4MDApLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4 Q0YsIDB4MDApLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4REEsIDB4MjYpLAo+ICsJX0lOSVRfQ01E KDB4MDAsIDB4REIsIDB4MjYpLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4RTIsIDB4MDApLAo+ICsJ X0lOSVRfQ01EKDB4MDAsIDB4RTMsIDB4MDApLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4QjAsIDB4 MDIpLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4QzAsIDB4MDApLAo+ICsJX0lOSVRfQ01EKDB4MDAs IDB4QzEsIDB4MDcpLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4QzIsIDB4MEQpLAo+ICsJX0lOSVRf Q01EKDB4MDAsIDB4QzMsIDB4MTgpLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4QzQsIDB4MjcpLAo+ ICsJX0lOSVRfQ01EKDB4MDAsIDB4QzUsIDB4MjgpLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4QzYs IDB4MzApLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4QzcsIDB4MkUpLAo+ICsJX0lOSVRfQ01EKDB4 MDAsIDB4QzgsIDB4MkYpLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4QzksIDB4MUEpLAo+ICsJX0lO SVRfQ01EKDB4MDAsIDB4Q0EsIDB4MjApLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4Q0IsIDB4Mjkp LAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4Q0MsIDB4MjYpLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4 Q0QsIDB4MzIpLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4Q0UsIDB4MzMpLAo+ICsJX0lOSVRfQ01E KDB4MDAsIDB4Q0YsIDB4MzEpLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4RDAsIDB4MDYpLAo+ICsJ X0lOSVRfQ01EKDB4MDAsIDB4RDIsIDB4MDApLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4RDMsIDB4 MDcpLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4RDQsIDB4MTIpLAo+ICsJX0lOSVRfQ01EKDB4MDAs IDB4RDUsIDB4MjYpLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4RDYsIDB4M0QpLAo+ICsJX0lOSVRf Q01EKDB4MDAsIDB4RDcsIDB4M0YpLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4RDgsIDB4M0YpLAo+ ICsJX0lOSVRfQ01EKDB4MDAsIDB4RDksIDB4M0YpLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4REEs IDB4M0YpLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4REIsIDB4M0YpLAo+ICsJX0lOSVRfQ01EKDB4 MDAsIDB4REMsIDB4M0YpLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4REQsIDB4M0YpLAo+ICsJX0lO SVRfQ01EKDB4MDAsIDB4REUsIDB4M0YpLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4REYsIDB4M0Ep LAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4RTAsIDB4MzcpLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4 RTEsIDB4MzUpLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4RTIsIDB4MDcpLAo+ICsJX0lOSVRfQ01E KDB4MDAsIDB4QjAsIDB4MDMpLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4QzgsIDB4MEIpLAo+ICsJ X0lOSVRfQ01EKDB4MDAsIDB4QzksIDB4MDcpLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4QzMsIDB4 MDApLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4RTcsIDB4MDApLAo+ICsJX0lOSVRfQ01EKDB4MDAs IDB4QzUsIDB4MkEpLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4REUsIDB4MkEpLAo+ICsJX0lOSVRf Q01EKDB4MDAsIDB4Q0EsIDB4NDMpLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4QzksIDB4MDcpLAo+ ICsJX0lOSVRfQ01EKDB4MDAsIDB4RTQsIDB4QzApLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4RTUs IDB4MEQpLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4Q0IsIDB4MDApLAo+ICsJX0lOSVRfQ01EKDB4 MDAsIDB4QjAsIDB4MDYpLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4QjgsIDB4QTUpLAo+ICsJX0lO SVRfQ01EKDB4MDAsIDB4QzAsIDB4QTUpLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4QzcsIDB4MEYp LAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4RDUsIDB4MzIpLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4 QjgsIDB4MDApLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4QzAsIDB4MDApLAo+ICsJX0lOSVRfQ01E KDB4MDAsIDB4QkMsIDB4MDApLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4QjAsIDB4MDcpLAo+ICsJ X0lOSVRfQ01EKDB4MDAsIDB4QjEsIDB4MDApLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4QjIsIDB4 MDkpLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4QjMsIDB4MTkpLAo+ICsJX0lOSVRfQ01EKDB4MDAs IDB4QjQsIDB4MkYpLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4QjUsIDB4NDQpLAo+ICsJX0lOSVRf Q01EKDB4MDAsIDB4QjYsIDB4NTIpLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4QjcsIDB4NkEpLAo+ ICsJX0lOSVRfQ01EKDB4MDAsIDB4QjgsIDB4OEEpLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4Qjks IDB4Q0EpLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4QkEsIDB4MEMpLAo+ICsJX0lOSVRfQ01EKDB4 MDAsIDB4QkIsIDB4ODcpLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4QkMsIDB4MDYpLAo+ICsJX0lO SVRfQ01EKDB4MDAsIDB4QkQsIDB4MEEpLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4QkUsIDB4OUIp LAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4QkYsIDB4MEMpLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4 QzAsIDB4M0QpLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4QzEsIDB4NzEpLAo+ICsJX0lOSVRfQ01E KDB4MDAsIDB4QzIsIDB4OTApLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4QzMsIDB4QTApLAo+ICsJ X0lOSVRfQ01EKDB4MDAsIDB4QzQsIDB4QTgpLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4QzUsIDB4 QjEpLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4QzYsIDB4QkIpLAo+ICsJX0lOSVRfQ01EKDB4MDAs IDB4QzcsIDB4QzApLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4QzgsIDB4QzQpLAo+ICsJX0lOSVRf Q01EKDB4MDAsIDB4QzksIDB4MDApLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4Q0EsIDB4MDApLAo+ ICsJX0lOSVRfQ01EKDB4MDAsIDB4Q0IsIDB4MTYpLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4Q0Ms IDB4QUYpLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4Q0QsIDB4RkYpLAo+ICsJX0lOSVRfQ01EKDB4 MDAsIDB4Q0UsIDB4RkYpLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4QjAsIDB4MDgpLAo+ICsJX0lO SVRfQ01EKDB4MDAsIDB4QjEsIDB4MDQpLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4QjIsIDB4MDgp LAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4QjMsIDB4MTkpLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4 QjQsIDB4MzEpLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4QjUsIDB4NDYpLAo+ICsJX0lOSVRfQ01E KDB4MDAsIDB4QjYsIDB4NTUpLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4QjcsIDB4NkUpLAo+ICsJ X0lOSVRfQ01EKDB4MDAsIDB4QjgsIDB4OTIpLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4QjksIDB4 RDQpLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4QkEsIDB4MUIpLAo+ICsJX0lOSVRfQ01EKDB4MDAs IDB4QkIsIDB4OUIpLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4QkMsIDB4MjgpLAo+ICsJX0lOSVRf Q01EKDB4MDAsIDB4QkQsIDB4MkQpLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4QkUsIDB4QzMpLAo+ ICsJX0lOSVRfQ01EKDB4MDAsIDB4QkYsIDB4MkYpLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4QzAs IDB4NjIpLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4QzEsIDB4OTkpLAo+ICsJX0lOSVRfQ01EKDB4 MDAsIDB4QzIsIDB4QUIpLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4QzMsIDB4QkYpLAo+ICsJX0lO SVRfQ01EKDB4MDAsIDB4QzQsIDB4Q0YpLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4QzUsIDB4REYp LAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4QzYsIDB4RjApLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4 QzcsIDB4RjkpLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4QzgsIDB4RkMpLAo+ICsJX0lOSVRfQ01E KDB4MDAsIDB4QzksIDB4MDApLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4Q0EsIDB4MDApLAo+ICsJ X0lOSVRfQ01EKDB4MDAsIDB4Q0IsIDB4MTYpLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4Q0MsIDB4 QUYpLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4Q0QsIDB4RkYpLAo+ICsJX0lOSVRfQ01EKDB4MDAs IDB4Q0UsIDB4RkYpLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4QjAsIDB4MDkpLAo+ICsJX0lOSVRf Q01EKDB4MDAsIDB4QjEsIDB4MDQpLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4QjIsIDB4MDUpLAo+ ICsJX0lOSVRfQ01EKDB4MDAsIDB4QjMsIDB4MTcpLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4QjQs IDB4MkUpLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4QjUsIDB4NDIpLAo+ICsJX0lOSVRfQ01EKDB4 MDAsIDB4QjYsIDB4NTEpLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4QjcsIDB4NjkpLAo+ICsJX0lO SVRfQ01EKDB4MDAsIDB4QjgsIDB4ODgpLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4QjksIDB4Qzkp LAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4QkEsIDB4MEMpLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4 QkIsIDB4ODYpLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4QkMsIDB4MDMpLAo+ICsJX0lOSVRfQ01E KDB4MDAsIDB4QkQsIDB4MDgpLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4QkUsIDB4OTUpLAo+ICsJ X0lOSVRfQ01EKDB4MDAsIDB4QkYsIDB4MDUpLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4QzAsIDB4 MzUpLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4QzEsIDB4NjIpLAo+ICsJX0lOSVRfQ01EKDB4MDAs IDB4QzIsIDB4ODEpLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4QzMsIDB4OTYpLAo+ICsJX0lOSVRf Q01EKDB4MDAsIDB4QzQsIDB4OUUpLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4QzUsIDB4QTUpLAo+ ICsJX0lOSVRfQ01EKDB4MDAsIDB4QzYsIDB4QUQpLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4Qzcs IDB4QjEpLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4QzgsIDB4QjQpLAo+ICsJX0lOSVRfQ01EKDB4 MDAsIDB4QzksIDB4MDApLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4Q0EsIDB4MDApLAo+ICsJX0lO SVRfQ01EKDB4MDAsIDB4Q0IsIDB4MTYpLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4Q0MsIDB4QUYp LAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4Q0QsIDB4RkYpLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4 Q0UsIDB4RkYpLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4QjAsIDB4MEEpLAo+ICsJX0lOSVRfQ01E KDB4MDAsIDB4QjEsIDB4MDApLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4QjIsIDB4MDkpLAo+ICsJ X0lOSVRfQ01EKDB4MDAsIDB4QjMsIDB4MTkpLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4QjQsIDB4 MkYpLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4QjUsIDB4NDQpLAo+ICsJX0lOSVRfQ01EKDB4MDAs IDB4QjYsIDB4NTIpLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4QjcsIDB4NkEpLAo+ICsJX0lOSVRf Q01EKDB4MDAsIDB4QjgsIDB4OEEpLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4QjksIDB4Q0EpLAo+ ICsJX0lOSVRfQ01EKDB4MDAsIDB4QkEsIDB4MEMpLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4QkIs IDB4ODcpLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4QkMsIDB4MDYpLAo+ICsJX0lOSVRfQ01EKDB4 MDAsIDB4QkQsIDB4MEEpLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4QkUsIDB4OUIpLAo+ICsJX0lO SVRfQ01EKDB4MDAsIDB4QkYsIDB4MEMpLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4QzAsIDB4M0Qp LAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4QzEsIDB4NzEpLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4 QzIsIDB4OTApLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4QzMsIDB4QTApLAo+ICsJX0lOSVRfQ01E KDB4MDAsIDB4QzQsIDB4QTgpLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4QzUsIDB4QjEpLAo+ICsJ X0lOSVRfQ01EKDB4MDAsIDB4QzYsIDB4QkIpLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4QzcsIDB4 QzApLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4QzgsIDB4QzQpLAo+ICsJX0lOSVRfQ01EKDB4MDAs IDB4QzksIDB4MDApLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4Q0EsIDB4MDApLAo+ICsJX0lOSVRf Q01EKDB4MDAsIDB4Q0IsIDB4MTYpLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4Q0MsIDB4QUYpLAo+ ICsJX0lOSVRfQ01EKDB4MDAsIDB4Q0QsIDB4RkYpLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4Q0Us IDB4RkYpLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4QjAsIDB4MEIpLAo+ICsJX0lOSVRfQ01EKDB4 MDAsIDB4QjEsIDB4MDQpLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4QjIsIDB4MDgpLAo+ICsJX0lO SVRfQ01EKDB4MDAsIDB4QjMsIDB4MTkpLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4QjQsIDB4MzEp LAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4QjUsIDB4NDYpLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4 QjYsIDB4NTUpLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4QjcsIDB4NkUpLAo+ICsJX0lOSVRfQ01E KDB4MDAsIDB4QjgsIDB4OTIpLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4QjksIDB4RDQpLAo+ICsJ X0lOSVRfQ01EKDB4MDAsIDB4QkEsIDB4MUIpLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4QkIsIDB4 OUIpLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4QkMsIDB4MjgpLAo+ICsJX0lOSVRfQ01EKDB4MDAs IDB4QkQsIDB4MkQpLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4QkUsIDB4QzMpLAo+ICsJX0lOSVRf Q01EKDB4MDAsIDB4QkYsIDB4MkYpLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4QzAsIDB4NjIpLAo+ ICsJX0lOSVRfQ01EKDB4MDAsIDB4QzEsIDB4OTkpLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4QzIs IDB4QUIpLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4QzMsIDB4QkYpLAo+ICsJX0lOSVRfQ01EKDB4 MDAsIDB4QzQsIDB4Q0YpLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4QzUsIDB4REYpLAo+ICsJX0lO SVRfQ01EKDB4MDAsIDB4QzYsIDB4RjApLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4QzcsIDB4Rjkp LAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4QzgsIDB4RkMpLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4 QzksIDB4MDApLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4Q0EsIDB4MDApLAo+ICsJX0lOSVRfQ01E KDB4MDAsIDB4Q0IsIDB4MTYpLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4Q0MsIDB4QUYpLAo+ICsJ X0lOSVRfQ01EKDB4MDAsIDB4Q0QsIDB4RkYpLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4Q0UsIDB4 RkYpLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4QjAsIDB4MEMpLAo+ICsJX0lOSVRfQ01EKDB4MDAs IDB4QjEsIDB4MDQpLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4QjIsIDB4MDUpLAo+ICsJX0lOSVRf Q01EKDB4MDAsIDB4QjMsIDB4MTcpLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4QjQsIDB4MkUpLAo+ ICsJX0lOSVRfQ01EKDB4MDAsIDB4QjUsIDB4NDIpLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4QjYs IDB4NTEpLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4QjcsIDB4NjkpLAo+ICsJX0lOSVRfQ01EKDB4 MDAsIDB4QjgsIDB4ODgpLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4QjksIDB4QzkpLAo+ICsJX0lO SVRfQ01EKDB4MDAsIDB4QkEsIDB4MEMpLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4QkIsIDB4ODYp LAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4QkMsIDB4MDMpLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4 QkQsIDB4MDgpLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4QkUsIDB4OTUpLAo+ICsJX0lOSVRfQ01E KDB4MDAsIDB4QkYsIDB4MDUpLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4QzAsIDB4MzUpLAo+ICsJ X0lOSVRfQ01EKDB4MDAsIDB4QzEsIDB4NjIpLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4QzIsIDB4 ODEpLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4QzMsIDB4OTYpLAo+ICsJX0lOSVRfQ01EKDB4MDAs IDB4QzQsIDB4OUUpLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4QzUsIDB4QTUpLAo+ICsJX0lOSVRf Q01EKDB4MDAsIDB4QzYsIDB4QUQpLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4QzcsIDB4QjEpLAo+ ICsJX0lOSVRfQ01EKDB4MDAsIDB4QzgsIDB4QjQpLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4Qzks IDB4MDApLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4Q0EsIDB4MDApLAo+ICsJX0lOSVRfQ01EKDB4 MDAsIDB4Q0IsIDB4MTYpLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4Q0MsIDB4QUYpLAo+ICsJX0lO SVRfQ01EKDB4MDAsIDB4Q0QsIDB4RkYpLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4Q0UsIDB4RkYp LAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4QjAsIDB4MDApLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4 QjMsIDB4MDgpLAo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4QjAsIDB4MDQpLAo+ICsJX0lOSVRfQ01E KDB4NjQsIDB4QjgsIDB4NjgpLAo+ICsKPiArCXt9LAo+ICt9Owo+ICsKPiArc3RhdGljIGNvbnN0 IHN0cnVjdCBwYW5lbF9jbWQgYm9lX2hpbWF4ODI3OWQxMHBfb2ZmX2NtZHNbXSA9IHsKPiArCV9J TklUX0NNRCgweDAwLCAweDI4KSwKPiArCV9JTklUX0NNRCgweDAwLCAweDEwKSwKPiArCj4gKwl7 fSwKPiArfTsKPiArCj4gK3N0YXRpYyBjb25zdCBzdHJ1Y3QgcGFuZWxfZGVzYyBib2VfaGltYXg4 Mjc5ZDEwcF9wYW5lbF9kZXNjID0gewo+ICsJLmRpc3BsYXlfbW9kZSA9ICZib2VfaGltYXg4Mjc5 ZDEwcF9kaXNwbGF5X21vZGUsCj4gKwkuYnBjID0gOCwKPiArCS53aWR0aCA9IDEzNSwKPiArCS5o ZWlnaHQgPSAyMTYsCj4gKwkuZGVsYXlfdDEgPSA1MDAwLAo+ICsJLnJlc2V0X2RlbGF5X3QyID0g MTQwMDAsCj4gKwkucmVzZXRfZGVsYXlfdDMgPSAxMDAwLAo+ICsJLnJlc2V0X2RlbGF5X3Q0ID0g MTAwMCwKPiArCS5mbGFncyA9IE1JUElfRFNJX01PREVfVklERU8gfCBNSVBJX0RTSV9NT0RFX1ZJ REVPX1NZTkNfUFVMU0UgfAo+ICsJCSAgICBNSVBJX0RTSV9DTE9DS19OT05fQ09OVElOVU9VUyB8 IE1JUElfRFNJX01PREVfTFBNLAo+ICsJLmZvcm1hdCA9IE1JUElfRFNJX0ZNVF9SR0I4ODgsCj4g KwkubGFuZXMgPSA0LAo+ICsJLm9uX2NtZHMgPSBib2VfaGltYXg4Mjc5ZDEwcF9vbl9jbWRzLAo+ ICsJLm9mZl9jbWRzID0gYm9lX2hpbWF4ODI3OWQxMHBfb2ZmX2NtZHMsCj4gK307Cj4gKwo+ICBz dGF0aWMgY29uc3Qgc3RydWN0IG9mX2RldmljZV9pZCBwYW5lbF9vZl9tYXRjaFtdID0gewo+IC0J eyAuY29tcGF0aWJsZSA9ICJib2UsaGltYXg4Mjc5ZCIsIH0sCj4gKwl7IC5jb21wYXRpYmxlID0g ImJvZSxoaW1heDgyNzlkOHAiLAo+ICsJICAuZGF0YSA9ICZib2VfaGltYXg4Mjc5ZDhwX3BhbmVs X2Rlc2MKPiArCX0sCj4gKwl7IC5jb21wYXRpYmxlID0gImJvZSxoaW1heDgyNzlkMTBwIiwKPiAr CSAgLmRhdGEgPSAmYm9lX2hpbWF4ODI3OWQxMHBfcGFuZWxfZGVzYwo+ICsJfSwKPiAgCXsgfQo+ ICB9Owo+ICBNT0RVTEVfREVWSUNFX1RBQkxFKG9mLCBwYW5lbF9vZl9tYXRjaCk7Cj4gQEAgLTQ2 Miw0MyArOTU0LDMzIEBAIE1PRFVMRV9ERVZJQ0VfVEFCTEUob2YsIHBhbmVsX29mX21hdGNoKTsK PiAgc3RhdGljIGludCBwYW5lbF9hZGQoc3RydWN0IHBhbmVsX2luZm8gKnBpbmZvKQo+ICB7Cj4g IAlzdHJ1Y3QgZGV2aWNlICpkZXYgPSAmcGluZm8tPmxpbmstPmRldjsKPiAtCXN0cnVjdCBkZXZp Y2Vfbm9kZSAqbnA7Cj4gIAlpbnQgZXJyOwo+ICAKPiAtCXBpbmZvLT5wcDMzMDAwX2dwaW8gPSBk ZXZtX2dwaW9kX2dldF9vcHRpb25hbChkZXYsCj4gLQkJCQkJCQkicHAzMzAwMCIsCj4gLQkJCQkJ CQlHUElPRF9PVVRfSElHSCk7Cj4gLQlpZiAoSVNfRVJSKHBpbmZvLT5wcDMzMDAwX2dwaW8pKSB7 Cj4gLQkJZXJyID0gUFRSX0VSUihwaW5mby0+cHAzMzAwMF9ncGlvKTsKPiAtCQlkZXZfZXJyKGRl diwgImZhaWxlZCB0byBnZXQgcHAzMzAwMCBncGlvOiAlZFxuIiwgZXJyKTsKPiAtCQlwaW5mby0+ cHAzMzAwMF9ncGlvID0gTlVMTDsKPiArCXBpbmZvLT5wcDE4X2dwaW8gPSBkZXZtX2dwaW9kX2dl dF9vcHRpb25hbChkZXYsICJwcDE4IiwgR1BJT0RfT1VUX0xPVyk7Cj4gKwlpZiAoSVNfRVJSKHBp bmZvLT5wcDE4X2dwaW8pKSB7Cj4gKwkJZXJyID0gUFRSX0VSUihwaW5mby0+cHAxOF9ncGlvKTsK PiArCQlkZXZfZXJyKGRldiwgImZhaWxlZCB0byBnZXQgcHAxOCBncGlvOiAlZFxuIiwgZXJyKTsK PiArCQlwaW5mby0+cHAxOF9ncGlvID0gTlVMTDsKPiAgCX0KPiAgCj4gLQlwaW5mby0+cHAxODAw MF9ncGlvID0gZGV2bV9ncGlvZF9nZXRfb3B0aW9uYWwoZGV2LAo+IC0JCQkJCQkJInBwMTgwMDAi LAo+IC0JCQkJCQkJR1BJT0RfT1VUX0hJR0gpOwo+IC0JaWYgKElTX0VSUihwaW5mby0+cHAxODAw MF9ncGlvKSkgewo+IC0JCWVyciA9IFBUUl9FUlIocGluZm8tPnBwMTgwMDBfZ3Bpbyk7Cj4gLQkJ ZGV2X2VycihkZXYsICJmYWlsZWQgdG8gZ2V0IHBwMTgwMDAgZ3BpbzogJWRcbiIsIGVycik7Cj4g LQkJcGluZm8tPnBwMTgwMDBfZ3BpbyA9IE5VTEw7Cj4gKwlwaW5mby0+cHAzM19ncGlvID0gZGV2 bV9ncGlvZF9nZXRfb3B0aW9uYWwoZGV2LCAicHAzMyIsIEdQSU9EX09VVF9MT1cpOwo+ICsJaWYg KElTX0VSUihwaW5mby0+cHAzM19ncGlvKSkgewo+ICsJCWVyciA9IFBUUl9FUlIocGluZm8tPnBw MzNfZ3Bpbyk7Cj4gKwkJZGV2X2VycihkZXYsICJmYWlsZWQgdG8gZ2V0IHBwMzMgZ3BpbzogJWRc biIsIGVycik7Cj4gKwkJcGluZm8tPnBwMzNfZ3BpbyA9IE5VTEw7Cj4gIAl9Cj4gIAo+ICAJcGlu Zm8tPnJlc2V0X2dwaW8gPSBkZXZtX2dwaW9kX2dldF9vcHRpb25hbChkZXYsICJlbmFibGUiLAo+ IC0JCQkJCQkJR1BJT0RfT1VUX0hJR0gpOwo+ICsJCQkJCQkgICAgR1BJT0RfT1VUX0xPVyk7Cj4g IAlpZiAoSVNfRVJSKHBpbmZvLT5yZXNldF9ncGlvKSkgewo+ICAJCWVyciA9IFBUUl9FUlIocGlu Zm8tPnJlc2V0X2dwaW8pOwo+ICAJCWRldl9lcnIoZGV2LCAiZmFpbGVkIHRvIGdldCBlbmFibGUg Z3BpbzogJWRcbiIsIGVycik7Cj4gIAkJcGluZm8tPnJlc2V0X2dwaW8gPSBOVUxMOwo+ICAJfQo+ ICAKPiAtCW5wID0gb2ZfcGFyc2VfcGhhbmRsZShkZXYtPm9mX25vZGUsICJiYWNrbGlnaHQiLCAw KTsKPiAtCWlmIChucCkgewo+IC0JCXBpbmZvLT5iYWNrbGlnaHQgPSBvZl9maW5kX2JhY2tsaWdo dF9ieV9ub2RlKG5wKTsKPiAtCQlvZl9ub2RlX3B1dChucCk7Cj4gLQo+IC0JCWlmICghcGluZm8t PmJhY2tsaWdodCkKPiAtCQkJcmV0dXJuIC1FUFJPQkVfREVGRVI7Cj4gLQl9Cj4gKwlwaW5mby0+ YmFja2xpZ2h0ID0gZGV2bV9vZl9maW5kX2JhY2tsaWdodChkZXYpOwo+ICsJaWYgKElTX0VSUihw aW5mby0+YmFja2xpZ2h0KSkKPiArCQlyZXR1cm4gUFRSX0VSUihwaW5mby0+YmFja2xpZ2h0KTsK PiAgCj4gIAlkcm1fcGFuZWxfaW5pdCgmcGluZm8tPmJhc2UpOwo+ICAJcGluZm8tPmJhc2UuZnVu Y3MgPSAmcGFuZWxfZnVuY3M7Cj4gQEAgLTUwNiwzNSArOTg4LDM0IEBAIHN0YXRpYyBpbnQgcGFu ZWxfYWRkKHN0cnVjdCBwYW5lbF9pbmZvICpwaW5mbykKPiAgCj4gIAllcnIgPSBkcm1fcGFuZWxf YWRkKCZwaW5mby0+YmFzZSk7Cj4gIAlpZiAoZXJyIDwgMCkKPiAtCQlnb3RvIHB1dF9iYWNrbGln aHQ7Cj4gKwkJcmV0dXJuIGVycjsKPiAgCj4gIAlyZXR1cm4gMDsKPiAtCj4gLXB1dF9iYWNrbGln aHQ6Cj4gLQlwdXRfZGV2aWNlKCZwaW5mby0+YmFja2xpZ2h0LT5kZXYpOwo+IC0KPiAtCXJldHVy biBlcnI7Cj4gIH0KPiAgCj4gIHN0YXRpYyB2b2lkIHBhbmVsX2RlbChzdHJ1Y3QgcGFuZWxfaW5m byAqcGluZm8pCj4gIHsKPiAgCWlmIChwaW5mby0+YmFzZS5kZXYpCj4gIAkJZHJtX3BhbmVsX3Jl bW92ZSgmcGluZm8tPmJhc2UpOwo+IC0KPiAtCXB1dF9kZXZpY2UoJnBpbmZvLT5iYWNrbGlnaHQt PmRldik7Cj4gIH0KPiAgCj4gIHN0YXRpYyBpbnQgcGFuZWxfcHJvYmUoc3RydWN0IG1pcGlfZHNp X2RldmljZSAqZHNpKQo+ICB7Cj4gIAlzdHJ1Y3QgcGFuZWxfaW5mbyAqcGluZm87Cj4gIAlpbnQg ZXJyOwo+ICsJY29uc3Qgc3RydWN0IHBhbmVsX2Rlc2MgKmRlc2M7Cj4gIAo+ICAJcGluZm8gPSBk ZXZtX2t6YWxsb2MoJmRzaS0+ZGV2LCBzaXplb2YoKnBpbmZvKSwgR0ZQX0tFUk5FTCk7Cj4gIAlp ZiAoIXBpbmZvKQo+ICAJCXJldHVybiAtRU5PTUVNOwo+ICAKPiArCWRlc2MgPSBvZl9kZXZpY2Vf Z2V0X21hdGNoX2RhdGEoJmRzaS0+ZGV2KTsKPiArCWRzaS0+bW9kZV9mbGFncyA9IGRlc2MtPmZs YWdzOwo+ICsJZHNpLT5mb3JtYXQgPSBkZXNjLT5mb3JtYXQ7Cj4gKwlkc2ktPmxhbmVzID0gZGVz Yy0+bGFuZXM7Cj4gKwlwaW5mby0+ZGVzYyA9IGRlc2M7Cj4gKwo+ICAJcGluZm8tPmxpbmsgPSBk c2k7Cj4gLQlwYW5lbF9wYXJzZV9kdChwaW5mbyk7Cj4gIAltaXBpX2RzaV9zZXRfZHJ2ZGF0YShk c2ksIHBpbmZvKTsKPiAgCj4gIAllcnIgPSBwYW5lbF9hZGQocGluZm8pOwo+IEBAIC01NTIsNyAr MTAzMyw3IEBAIHN0YXRpYyBpbnQgcGFuZWxfcmVtb3ZlKHN0cnVjdCBtaXBpX2RzaV9kZXZpY2Ug KmRzaSkKPiAgCWVyciA9IHBhbmVsX3VucHJlcGFyZSgmcGluZm8tPmJhc2UpOwo+ICAJaWYgKGVy ciA8IDApCj4gIAkJRFJNX0RFVl9FUlJPUigmZHNpLT5kZXYsICJmYWlsZWQgdG8gdW5wcmVwYXJl IHBhbmVsOiAlZFxuIiwKPiAtCQkJICAgICAgZXJyKTsKPiArCQkJCQkJZXJyKTsKPiAgCj4gIAll cnIgPSBwYW5lbF9kaXNhYmxlKCZwaW5mby0+YmFzZSk7Cj4gIAlpZiAoZXJyIDwgMCkKPiBAQCAt NTYxLDcgKzEwNDIsNyBAQCBzdGF0aWMgaW50IHBhbmVsX3JlbW92ZShzdHJ1Y3QgbWlwaV9kc2lf ZGV2aWNlICpkc2kpCj4gIAllcnIgPSBtaXBpX2RzaV9kZXRhY2goZHNpKTsKPiAgCWlmIChlcnIg PCAwKQo+ICAJCURSTV9ERVZfRVJST1IoJmRzaS0+ZGV2LCAiZmFpbGVkIHRvIGRldGFjaCBmcm9t IERTSSBob3N0OiAlZFxuIiwKPiAtCQkJICAgICAgZXJyKTsKPiArCQkJCQkgIGVycik7Cj4gIAo+ ICAJZHJtX3BhbmVsX2RldGFjaCgmcGluZm8tPmJhc2UpOwo+ICAJcGFuZWxfZGVsKHBpbmZvKTsK PiBAQCAtNTczLDEzICsxMDU0LDEzIEBAIHN0YXRpYyB2b2lkIHBhbmVsX3NodXRkb3duKHN0cnVj dCBtaXBpX2RzaV9kZXZpY2UgKmRzaSkKPiAgewo+ICAJc3RydWN0IHBhbmVsX2luZm8gKnBpbmZv ID0gbWlwaV9kc2lfZ2V0X2RydmRhdGEoZHNpKTsKPiAgCj4gLQlwYW5lbF91bnByZXBhcmUoJnBp bmZvLT5iYXNlKTsKPiAgCXBhbmVsX2Rpc2FibGUoJnBpbmZvLT5iYXNlKTsKPiArCXBhbmVsX3Vu cHJlcGFyZSgmcGluZm8tPmJhc2UpOwo+ICB9Cj4gIAo+ICBzdGF0aWMgc3RydWN0IG1pcGlfZHNp X2RyaXZlciBwYW5lbF9kcml2ZXIgPSB7Cj4gIAkuZHJpdmVyID0gewo+IC0JCS5uYW1lID0gInBh bmVsLWlubm9sdXgtb3RhNzI5MGIiLAo+ICsJCS5uYW1lID0gInBhbmVsLWJvZS1oaW1heDgyNzlk IiwKPiAgCQkub2ZfbWF0Y2hfdGFibGUgPSBwYW5lbF9vZl9tYXRjaCwKPiAgCX0sCj4gIAkucHJv YmUgPSBwYW5lbF9wcm9iZSwKPiAtLSAKPiAyLjE3LjEKPiAKCj4gRnJvbSAyM2FmYWM0MTI1ZDFj YTcwODA5ZGM5MmM1YmE2ZDc2YTg4MGU5MmU4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQo+IEZy b206IEplcnJ5IEhhbiA8aGFueHU1QGh1YXFpbi5jb3JwLXBhcnRuZXIuZ29vZ2xlLmNvbT4KPiBE YXRlOiBUaHUsIDEgQXVnIDIwMTkgMTU6NTc6MDggKzA4MDAKPiBTdWJqZWN0OiBbUEFUQ0ggMDMv MTBdIFt2MywyLzJdIGRybS9wYW5lbDogQWRkIEJvZSBIaW1heDgyNzlkIE1JUEktRFNJIExDRAo+ ICBwYW5lbAo+IAo+IFN1cHBvcnQgQm9lIEhpbWF4ODI3OWQgOC4wIiAxMjAweDE5MjAgVEZUIExD RCBwYW5lbCwgaXQgaXMgYSBNSVBJIERTSQo+IHBhbmVsLgo+IAo+IFYzOgo+IC0gUmVtb3ZlIHVu bmVjZXNzYXJ5IGRlbGF5cyBpbiBzZW5kaW5nIGluaXRpYWxpemF0aW9uIGNvbW1hbmRzIChKaXRh byBTaGkpCj4gCj4gVjI6Cj4gLSBVc2UgU1BEWCBpZGVudGlmaWVyIChTYW0pCj4gLSBVc2UgbmVj ZXNzYXJ5IGhlYWRlciBmaWxlcyByZXBsYWNlIGRybVAuaCAoU2FtKQo+IC0gRGVsZXRlIHVubmVj ZXNzYXJ5IGhlYWRlciBmaWxlcyAjaW5jbHVkZSA8bGludXgvZXJyLmg+IChTYW0pCj4gLSBTcGVj aWZpZXMgYSBHUElPcyBhcnJheSB0byBjb250cm9sIHRoZSByZXNldCB0aW1pbmcsCj4gICAgIGlu c3RlYWQgb2YgcmVhZGluZyAiZHNpLXJlc2V0LXNlcXVlbmNlIiBkYXRhIGZyb20gRFRTIChTYW0p Cj4gLSBEZWxldGUgYmFja2xpZ2h0X2Rpc2FibGUoKSBmdW5jdGlvbiB3aGVuIGFscmVhZHkgZGlz YWJsZWQgKFNhbSkKPiAtIFVzZSBkZXZtX29mX2ZpbmRfYmFja2xpZ2h0KCkgcmVwbGFjZSBvZl9m aW5kX2JhY2tsaWdodF9ieV9ub2RlKCkKPiAgICAgKFNhbSkKPiAtIE1vdmUgdGhlIG5lY2Vzc2Fy eSBkYXRhIGluIHRoZSBEVFMgdG8gdGhlIGN1cnJlbnQgZmlsZSwKPiAgICAgbGlrZSBwb3JjaCwg ZGlzcGxheV9tb2RlIGFuZCBJbml0IGNvZGUgZXRjLiAoU2FtKQo+IC0gQWRkIGNvbXBhdGlibGUg ZGV2aWNlICJib2UsaGltYXg4Mjc5ZDEwcCIgKFNhbSkKPiAKPiBWMToKPiAtIFN1cHBvcnQgQm9l IEhpbWF4ODI3OWQgOC4wIiAxMjAweDE5MjAgVEZUIExDRCBwYW5lbCwgaXQgaXMgYSBNSVBJIERT SQo+ICAgICBwYW5lbC4KPiAKPiBTaWduZWQtb2ZmLWJ5OiBKZXJyeSBIYW4gPGhhbnh1NUBodWFx aW4uY29ycC1wYXJ0bmVyLmdvb2dsZS5jb20+Cj4gQ2M6IEppdGFvIFNoaSA8aml0YW8uc2hpQG1l ZGlhdGVrLmNvbT4KPiBDYzogTmljayBTYW5kZXJzIDxuc2FuZGVyc0Bnb29nbGUuY29tPgo+IENj OiBZSCBMaW4gPHl1ZWhlcm5nbEBjaHJvbWl1bS5vcmc+Cj4gQ2M6IFJvY2sgd2FuZyA8cm9ja193 YW5nQGhpbWF4LmNvbS5jbj4KPiAtLS0KPiAgZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLWJv ZS1oaW1heDgyNzlkLmMgfCAxMSArKysrKysrLS0tLQo+ICAxIGZpbGUgY2hhbmdlZCwgNyBpbnNl cnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQo+IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vcGFuZWwvcGFuZWwtYm9lLWhpbWF4ODI3OWQuYyBiL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9w YW5lbC1ib2UtaGltYXg4Mjc5ZC5jCj4gaW5kZXggODM2YTljYmM1ODkxLi42MGY1ZjhiZjJlMTQg MTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLWJvZS1oaW1heDgyNzlk LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtYm9lLWhpbWF4ODI3OWQuYwo+ IEBAIC0xMTksOCArMTE5LDkgQEAgc3RhdGljIGludCBwYW5lbF91bnByZXBhcmUoc3RydWN0IGRy bV9wYW5lbCAqcGFuZWwpCj4gIAkJCQkJZXJyKTsKPiAgCQkJCWdvdG8gcG93ZXJvZmY7Cj4gIAkJ CX0KPiAtCQkJdXNsZWVwX3JhbmdlKChjbWQtPmRhdGFbMF0pICogMTAwMCwKPiAtCQkJCSAgICAo MSArIGNtZC0+ZGF0YVswXSkgKiAxMDAwKTsKPiArCQkJaWYgKGNtZC0+ZGF0YVswXSkKPiArCQkJ CXVzbGVlcF9yYW5nZSgoY21kLT5kYXRhWzBdKSAqIDEwMDAsCj4gKwkJCQkJICAgICgxICsgY21k LT5kYXRhWzBdKSAqIDEwMDApOwo+ICAJCX0KPiAgCX0KPiAgCj4gQEAgLTE4Nyw4ICsxODgsMTAg QEAgc3RhdGljIGludCBwYW5lbF9wcmVwYXJlKHN0cnVjdCBkcm1fcGFuZWwgKnBhbmVsKQo+ICAJ CQkJCWVycik7Cj4gIAkJCQlnb3RvIHBvd2Vyb2ZmOwo+ICAJCQl9Cj4gLQkJCXVzbGVlcF9yYW5n ZShjbWQtPmRhdGFbMF0gKiAxMDAwLAo+IC0JCQkJICAgICgxICsgY21kLT5kYXRhWzBdKSAqIDEw MDApOwo+ICsKPiArCQkJaWYgKGNtZC0+ZGF0YVswXSkKPiArCQkJCXVzbGVlcF9yYW5nZShjbWQt PmRhdGFbMF0gKiAxMDAwLAo+ICsJCQkJCSAgICAoMSArIGNtZC0+ZGF0YVswXSkgKiAxMDAwKTsK PiAgCQl9Cj4gIAl9Cj4gIAo+IC0tIAo+IDIuMTcuMQo+IAoKPiBGcm9tIGRjNzVmYzM2NjRlMDRk Mzc1MjA4M2FlOWMxOGVkZDYyMjI0ZGQzMGYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCj4gRnJv bTogSmVycnkgSGFuIDxoYW54dTVAaHVhcWluLmNvcnAtcGFydG5lci5nb29nbGUuY29tPgo+IERh dGU6IFRodSwgMSBBdWcgMjAxOSAxNDowNDowMCArMDgwMAo+IFN1YmplY3Q6IFtQQVRDSCAwMS8x MF0gW3YxLDIvMl0gZHJtL3BhbmVsOkFkZCBCb2UgSGltYXg4Mjc5ZCBNSVBJLURTSSBMQ0QKPiAg cGFuZWwKPiAKPiBBZGQgcGFuZWwgZHJpdmVyIGZvciBpdC4KPiAKPiBTaWduZWQtb2ZmLWJ5OiBK ZXJyeSBIYW4gPGhhbnh1NUBodWFxaW4uY29ycC1wYXJ0bmVyLmdvb2dsZS5jb20+Cj4gLS0tCj4g IE1BSU5UQUlORVJTICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICA2ICsKPiAg ZHJpdmVycy9ncHUvZHJtL3BhbmVsL0tjb25maWcgICAgICAgICAgICAgICAgfCAgMTEgKwo+ICBk cml2ZXJzL2dwdS9kcm0vcGFuZWwvTWFrZWZpbGUgICAgICAgICAgICAgICB8ICAgMSArCj4gIGRy aXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1ib2UtaGltYXg4Mjc5ZC5jIHwgNTkzICsrKysrKysr KysrKysrKysrKysKPiAgNCBmaWxlcyBjaGFuZ2VkLCA2MTEgaW5zZXJ0aW9ucygrKQo+ICBjcmVh dGUgbW9kZSAxMDA2NDQgZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLWJvZS1oaW1heDgyNzlk LmMKPiAKPiBkaWZmIC0tZ2l0IGEvTUFJTlRBSU5FUlMgYi9NQUlOVEFJTkVSUwo+IGluZGV4IDZm ZTM0NjJhMWY3YS4uNzg3NTc1NzA1ZWQ0IDEwMDY0NAo+IC0tLSBhL01BSU5UQUlORVJTCj4gKysr IGIvTUFJTlRBSU5FUlMKPiBAQCAtNTEwOCw2ICs1MTA4LDEyIEBAIFM6CU1haW50YWluZWQKPiAg RjoJZHJpdmVycy9ncHUvZHJtL3RpbnkvaWxpOTIyNS5jCj4gIEY6CURvY3VtZW50YXRpb24vZGV2 aWNldHJlZS9iaW5kaW5ncy9kaXNwbGF5L2lsaXRlayxpbGk5MjI1LnR4dAo+ICAKPiArRFJNIERS SVZFUiBGT1IgQk9FIEhJTUFYODI3OUQgUEFORUxTCj4gK006CUplcnJ5IEhhbiA8aGFueHU1QGh1 YXFpbi5jb3JwLXBhcnRuZXIuZ29vZ2xlLmNvbT4KPiArUzoJTWFpbnRhaW5lZAo+ICtGOglkcml2 ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtYm9lLWhpbWF4ODI3OWQuYwo+ICtGOglEb2N1bWVudGF0 aW9uL2RldmljZXRyZWUvYmluZGluZ3MvZGlzcGxheS9wYW5lbC9ib2UsaGltYXg4Mjc5ZC50eHQK PiArCj4gIERSTSBEUklWRVIgRk9SIEhYODM1N0QgUEFORUxTCj4gIE06CUVyaWMgQW5ob2x0IDxl cmljQGFuaG9sdC5uZXQ+Cj4gIFQ6CWdpdCBnaXQ6Ly9hbm9uZ2l0LmZyZWVkZXNrdG9wLm9yZy9k cm0vZHJtLW1pc2MKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3BhbmVsL0tjb25maWcg Yi9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvS2NvbmZpZwo+IGluZGV4IGVhZWNkNDBjYzMyZS4uZThi MDYwYjFiNTliIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9LY29uZmlnCj4g KysrIGIvZHJpdmVycy9ncHUvZHJtL3BhbmVsL0tjb25maWcKPiBAQCAtMjkzLDYgKzI5MywxNyBA QCBjb25maWcgRFJNX1BBTkVMX1NJVFJPTklYX1NUNzc4OVYKPiAgCSAgU2F5IFkgaGVyZSBpZiB5 b3Ugd2FudCB0byBlbmFibGUgc3VwcG9ydCBmb3IgdGhlIFNpdHJvbml4Cj4gIAkgIFNUNzc4OVYg Y29udHJvbGxlciBmb3IgMjQweDMyMCBMQ0QgcGFuZWxzCj4gIAo+ICtjb25maWcgRFJNX1BBTkVM X0JPRV9ISU1BWDgyNzlECj4gKwl0cmlzdGF0ZSAiQm9lIEhpbWF4ODI3OWQgcGFuZWwiCj4gKwlk ZXBlbmRzIG9uIE9GCj4gKwlkZXBlbmRzIG9uIERSTV9NSVBJX0RTSQo+ICsJZGVwZW5kcyBvbiBC QUNLTElHSFRfQ0xBU1NfREVWSUNFCj4gKwloZWxwCj4gKwkgIFNheSBZIGhlcmUgaWYgeW91IHdh bnQgdG8gZW5hYmxlIHN1cHBvcnQgZm9yIFNhbWUgdHlwZQo+ICsJICBURlQtTENEIG1vZHVsZXMu IFRoZSBwYW5lbCBoYXMgYSAxMjAweDE5MjAgcmVzb2x1dGlvbiBhbmQgdXNlcwo+ICsJICAyNCBi aXQgUkdCIHBlciBwaXhlbC4gSXQgcHJvdmlkZXMgYSBNSVBJIERTSSBpbnRlcmZhY2UgdG8KPiAr CSAgdGhlIGhvc3QgYW5kIGhhcyBhIGJ1aWx0LWluIExFRCBiYWNrbGlnaHQuCj4gKwo+ICBjb25m aWcgRFJNX1BBTkVMX1RQT19UUEcxMTAKPiAgCXRyaXN0YXRlICJUUE8gVFBHIDgwMHg0MDAgcGFu ZWwiCj4gIAlkZXBlbmRzIG9uIE9GICYmIFNQSSAmJiBHUElPTElCCj4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9wYW5lbC9NYWtlZmlsZSBiL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9NYWtl ZmlsZQo+IGluZGV4IDYyZGFlNDVmOGY3NC4uMWFlZjlkNzJjN2E2IDEwMDY0NAo+IC0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9wYW5lbC9NYWtlZmlsZQo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9wYW5l bC9NYWtlZmlsZQo+IEBAIC0zMCw1ICszMCw2IEBAIG9iai0kKENPTkZJR19EUk1fUEFORUxfU0hB UlBfTFExMDFSMVNYMDEpICs9IHBhbmVsLXNoYXJwLWxxMTAxcjFzeDAxLm8KPiAgb2JqLSQoQ09O RklHX0RSTV9QQU5FTF9TSEFSUF9MUzA0M1QxTEUwMSkgKz0gcGFuZWwtc2hhcnAtbHMwNDN0MWxl MDEubwo+ICBvYmotJChDT05GSUdfRFJNX1BBTkVMX1NJVFJPTklYX1NUNzcwMSkgKz0gcGFuZWwt c2l0cm9uaXgtc3Q3NzAxLm8KPiAgb2JqLSQoQ09ORklHX0RSTV9QQU5FTF9TSVRST05JWF9TVDc3 ODlWKSArPSBwYW5lbC1zaXRyb25peC1zdDc3ODl2Lm8KPiArb2JqLSQoQ09ORklHX0RSTV9QQU5F TF9CT0VfSElNQVg4Mjc5RCkgKz0gcGFuZWwtYm9lLWhpbWF4ODI3OWQubwo+ICBvYmotJChDT05G SUdfRFJNX1BBTkVMX1RQT19UUEcxMTApICs9IHBhbmVsLXRwby10cGcxMTAubwo+ICBvYmotJChD T05GSUdfRFJNX1BBTkVMX1RSVUxZX05UMzU1OTdfV1FYR0EpICs9IHBhbmVsLXRydWx5LW50MzU1 OTcubwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtYm9lLWhpbWF4 ODI3OWQuYyBiL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1ib2UtaGltYXg4Mjc5ZC5jCj4g bmV3IGZpbGUgbW9kZSAxMDA2NDQKPiBpbmRleCAwMDAwMDAwMDAwMDAuLjI3ODhiZGRhNjllYwo+ IC0tLSAvZGV2L251bGwKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtYm9lLWhp bWF4ODI3OWQuYwo+IEBAIC0wLDAgKzEsNTkzIEBACj4gKy8vIFNQRFgtTGljZW5zZS1JZGVudGlm aWVyOiBHUEwtMi4wCj4gKy8qCj4gKyAqIENvcHlyaWdodCAoYykgMjAxOSwgSHVhcWluIEVsZWN0 cm9uaWNzIENvLiwgTHRkCj4gKyAqCj4gKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJl OyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Cj4gKyAqIGl0IHVuZGVyIHRo ZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5 Cj4gKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2Yg dGhlIExpY2Vuc2UsIG9yCj4gKyAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24u Cj4gKyAqLwo+ICsKPiArI2luY2x1ZGUgPGxpbnV4L2JhY2tsaWdodC5oPgo+ICsjaW5jbHVkZSA8 bGludXgvZ3Bpby9jb25zdW1lci5oPgo+ICsjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+Cj4gKyNp bmNsdWRlIDxsaW51eC9vZi5oPgo+ICsjaW5jbHVkZSA8bGludXgvb2ZfZGV2aWNlLmg+Cj4gKyNp bmNsdWRlIDxsaW51eC9yZWd1bGF0b3IvY29uc3VtZXIuaD4KPiArCj4gKyNpbmNsdWRlIDxkcm0v ZHJtUC5oPgo+ICsjaW5jbHVkZSA8ZHJtL2RybV9jcnRjLmg+Cj4gKyNpbmNsdWRlIDxkcm0vZHJt X21pcGlfZHNpLmg+Cj4gKyNpbmNsdWRlIDxkcm0vZHJtX3BhbmVsLmg+Cj4gKwo+ICsjaW5jbHVk ZSA8dmlkZW8vbWlwaV9kaXNwbGF5Lmg+Cj4gKyNpbmNsdWRlIDxsaW51eC9lcnIuaD4KPiArCj4g K3N0cnVjdCBkc2lfY21kX2Rlc2Mgewo+ICsJY2hhciB3YWl0Owo+ICsJY2hhciBjbWQ7Cj4gKwlj aGFyIGxlbjsKPiArCWNoYXIgKnBheWxvYWQ7Cj4gK307Cj4gKwo+ICtzdHJ1Y3QgZHNpX3BhbmVs X2NtZHMgewo+ICsJY2hhciAqYnVmOwo+ICsJaW50IGJsZW47Cj4gKwlzdHJ1Y3QgZHNpX2NtZF9k ZXNjICpjbWRzOwo+ICsJaW50IGNtZF9jbnQ7Cj4gK307Cj4gKwo+ICtzdHJ1Y3QgcGFuZWxfaW5m byB7Cj4gKwlzdHJ1Y3QgZHJtX3BhbmVsIGJhc2U7Cj4gKwlzdHJ1Y3QgbWlwaV9kc2lfZGV2aWNl ICpsaW5rOwo+ICsKPiArCXN0cnVjdCBiYWNrbGlnaHRfZGV2aWNlICpiYWNrbGlnaHQ7Cj4gKwlz dHJ1Y3QgZ3Bpb19kZXNjICpyZXNldF9ncGlvOwo+ICsJc3RydWN0IGdwaW9fZGVzYyAqcHAzMzAw MF9ncGlvOwo+ICsJc3RydWN0IGdwaW9fZGVzYyAqcHAxODAwMF9ncGlvOwo+ICsKPiArCXUzMiBy c3Rfc2VxWzEwXTsKPiArCXUzMiByc3Rfc2VxX2xlbjsKPiArCj4gKwlzdHJ1Y3QgZHNpX3BhbmVs X2NtZHMgKm9uX2NtZHM7Cj4gKwlzdHJ1Y3QgZHNpX3BhbmVsX2NtZHMgKm9mZl9jbWRzOwo+ICsJ c3RydWN0IGRybV9kaXNwbGF5X21vZGUJKnBhbmVsX2Rpc3BsYXlfbW9kZTsKPiArCj4gKwl1bnNp Z25lZCBpbnQgcGFuZWxfd2lkdGhfbW07Cj4gKwl1bnNpZ25lZCBpbnQgcGFuZWxfaGVpZ2h0X21t Owo+ICsJdW5zaWduZWQgaW50IHBlcl9jb2xvcl9jaGFubmVsOwo+ICsKPiArCWJvb2wgcHJlcGFy ZWQ7Cj4gKwlib29sIGVuYWJsZWQ7Cj4gK307Cj4gKwo+ICtzdGF0aWMgaW50IGRzaV9wYXJzZV9y ZXNldF9zZXEoc3RydWN0IGRldmljZV9ub2RlICpucCwgdTMyIHJzdF9zZXFbMTBdLAo+ICsJCXUz MiAqcnN0X2xlbiwgY29uc3QgY2hhciAqbmFtZSkKPiArewo+ICsJaW50IG51bSA9IDAsIGk7Cj4g KwlpbnQgcmM7Cj4gKwlzdHJ1Y3QgcHJvcGVydHkgKmRhdGE7Cj4gKwl1MzIgdG1wWzEwXTsKPiAr CSpyc3RfbGVuID0gMDsKPiArCWRhdGEgPSBvZl9maW5kX3Byb3BlcnR5KG5wLCBuYW1lLCAmbnVt KTsKPiArCj4gKwludW0gLz0gc2l6ZW9mKHUzMik7Cj4gKwlpZiAoIWRhdGEgfHwgIW51bSB8fCBu dW0gPiAxMCB8fCBudW0gJSAyKSB7Cj4gKwkJcHJfZXJyKCIlczolZCwgZXJyb3IgcmVhZGluZyAl cywgbGVuZ3RoIGZvdW5kID0gJWRcbiIsCj4gKwkJCQlfX2Z1bmNfXywgX19MSU5FX18sIG5hbWUs IG51bSk7Cj4gKwkJcmV0dXJuIC1FSU5WQUw7Cj4gKwl9Cj4gKwo+ICsJcmMgPSBvZl9wcm9wZXJ0 eV9yZWFkX3UzMl9hcnJheShucCwgbmFtZSwgdG1wLCBudW0pOwo+ICsJaWYgKHJjKSB7Cj4gKwkJ cHJfZXJyKCIlczolZCwgZXJyb3IgcmVhZGluZyAlcywgcmMgPSAlZFxuIiwKPiArCQkJCQlfX2Z1 bmNfXywgX19MSU5FX18sIG5hbWUsIHJjKTsKPiArCQlyZXR1cm4gLUVJTlZBTDsKPiArCX0KPiAr Cj4gKwlmb3IgKGkgPSAwOyBpIDwgbnVtOyArK2kpIHsKPiArCQlyc3Rfc2VxW2ldID0gdG1wW2ld Owo+ICsJCSpyc3RfbGVuID0gbnVtOwo+ICsJfQo+ICsJcmV0dXJuIDA7Cj4gK30KPiArCj4gK3Nz aXplX3QgbWlwaV9kc2lfZGNzX3dyaXRlX2RlbGF5KHN0cnVjdCBtaXBpX2RzaV9kZXZpY2UgKmRz aSwgdTggY21kLAo+ICsJCWNvbnN0IHZvaWQgKmRhdGEsIHNpemVfdCBsZW4sIHNpemVfdCB0aW1l KQo+ICt7Cj4gKwlzc2l6ZV90IHJldDsKPiArCj4gKwlpZiAobGVuID09IDApCj4gKwkJcmV0ID0g bWlwaV9kc2lfZGNzX3dyaXRlKGRzaSwgY21kLCBOVUxMLCAwKTsKPiArCWVsc2UKPiArCQlyZXQg PSBtaXBpX2RzaV9kY3Nfd3JpdGUoZHNpLCBjbWQsIGRhdGEsIGxlbik7Cj4gKwo+ICsJbXNsZWVw KHRpbWUpOwo+ICsKPiArCXJldHVybiByZXQ7Cj4gK30KPiArCj4gK3N0YXRpYyBpbnQgd3JpdGVf Y21kcyhzdHJ1Y3QgbWlwaV9kc2lfZGV2aWNlICpkc2lfZGV2aWNlLAo+ICsJCQkJCXN0cnVjdCBk c2lfcGFuZWxfY21kcyAqaW5pdF9jbWRzKQo+ICt7Cj4gKwlzdHJ1Y3QgZHNpX2NtZF9kZXNjICpv bmVfY21kID0gaW5pdF9jbWRzLT5jbWRzOwo+ICsJaW50IGkgPSAwOwo+ICsJaW50IHJldDsKPiAr Cj4gKwlmb3IgKGkgPSAwOyBpIDwgaW5pdF9jbWRzLT5jbWRfY250OyBpKyspIHsKPiArCQlpZiAo b25lX2NtZCA9PSBOVUxMKQo+ICsJCQlyZXR1cm4gLUVJTlZBTDsKPiArCj4gKwkJcmV0ID0gbWlw aV9kc2lfZGNzX3dyaXRlX2RlbGF5KGRzaV9kZXZpY2UsCj4gKwkJCQlvbmVfY21kLT5jbWQsIG9u ZV9jbWQtPnBheWxvYWQsCj4gKwkJCQlvbmVfY21kLT5sZW4sIG9uZV9jbWQtPndhaXQpOwo+ICsJ CW9uZV9jbWQrKzsKPiArCX0KPiArCj4gKwlyZXR1cm4gcmV0Owo+ICt9Cj4gKwo+ICtzdGF0aWMg aW50IHBhcnNlX2Rjc19jbWRzKHN0cnVjdCBkZXZpY2Vfbm9kZSAqbnAsCj4gKwkJCQlzdHJ1Y3Qg ZHNpX3BhbmVsX2NtZHMgKnBjbWRzLCBjaGFyICpjbWRfa2V5KQo+ICt7Cj4gKwljb25zdCBjaGFy ICpkYXRhOwo+ICsJaW50IGJsZW4gPSAwLCBsZW4sIGNudCA9IDA7Cj4gKwljaGFyICpidWYsICpi cDsKPiArCXN0cnVjdCBkc2lfY21kX2Rlc2MgKnRlbXBfY21kOwo+ICsKPiArCWRhdGEgPSBvZl9n ZXRfcHJvcGVydHkobnAsIGNtZF9rZXksICZibGVuKTsKPiArCWlmICghZGF0YSkgewo+ICsJCXBy X2VycigiJXM6IGZhaWxlZCwga2V5PSVzXG4iLCBfX2Z1bmNfXywgY21kX2tleSk7Cj4gKwkJcmV0 dXJuIC1FTk9NRU07Cj4gKwl9Cj4gKwo+ICsJYnVmID0ga3phbGxvYyhzaXplb2YoY2hhcikgKiBi bGVuLCBHRlBfS0VSTkVMKTsKPiArCWlmICghYnVmKQo+ICsJCXJldHVybiAtRU5PTUVNOwo+ICsK PiArCW1lbWNweShidWYsIGRhdGEsIGJsZW4pOwo+ICsKPiArCS8qIHNjYW4gZGNzIGNvbW1hbmRz ICovCj4gKwlicCA9IGJ1ZjsKPiArCWxlbiA9IGJsZW47Cj4gKwo+ICsJLyogZ2V0IGhvdyBtdWNo IGNtZCBjbnQgICovCj4gKwl3aGlsZSAobGVuID4gMCkgewo+ICsJCWNudCsrOwo+ICsJCWxlbiA9 IGxlbiAtICooYnApOwo+ICsJCWJwID0gYnAgKyAqKGJwKTsKPiArCX0KPiArCj4gKwlwY21kcy0+ Y21kX2NudCA9IGNudDsKPiArCj4gKwlwY21kcy0+Y21kcyA9IGtjYWxsb2MoY250LCBzaXplb2Yo c3RydWN0IGRzaV9jbWRfZGVzYyksIEdGUF9LRVJORUwpOwo+ICsJaWYgKCFwY21kcy0+Y21kcykK PiArCQlyZXR1cm4gLUVOT01FTTsKPiArCXRlbXBfY21kID0gcGNtZHMtPmNtZHM7Cj4gKwo+ICsJ YnAgPSBidWY7Cj4gKwlsZW4gPSBibGVuOwo+ICsKPiArCXdoaWxlIChjbnQgIT0gMCkgewo+ICsJ CXRlbXBfY21kLT53YWl0ID0gKihicCsxKTsKPiArCQl0ZW1wX2NtZC0+Y21kID0gKihicCsyKTsK PiArCQl0ZW1wX2NtZC0+bGVuID0gKihicCkgLSAzOwo+ICsJCXRlbXBfY21kLT5wYXlsb2FkID0g YnAgKyAzOwo+ICsKPiArCQljbnQtLTsKPiArCQl0ZW1wX2NtZCsrOwo+ICsJCWJwID0gYnAgKyAq KGJwKTsKPiArCX0KPiArCj4gKwlwY21kcy0+YnVmID0gYnVmOwo+ICsJcGNtZHMtPmJsZW4gPSBi bGVuOwo+ICsKPiArCXJldHVybiAwOwo+ICt9Cj4gKwo+ICtzdGF0aWMgaW50IHBhbmVsX3BhcnNl X2R0KHN0cnVjdCBwYW5lbF9pbmZvICpwaW5mbykKPiArewo+ICsJc3RydWN0IGRldmljZV9ub2Rl ICpwYW5lbHNfbm9kZTsKPiArCXN0cnVjdCBkZXZpY2Vfbm9kZSAqcGFyYW1ldGVyX25vZGU7Cj4g KwlzdGF0aWMgY29uc3QgY2hhciAqbGNkX25hbWU7Cj4gKwlzdGF0aWMgY29uc3QgY2hhciAqcGFu ZWxfcGFyYW1ldGVyOwo+ICsJc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKmRpc3BsYXlfbW9kZTsK PiArCXN0cnVjdCBtaXBpX2RzaV9kZXZpY2UJKmRzaV9kZXZpY2UgPSBwaW5mby0+bGluazsKPiAr CWludCByZXQgPSAwOwo+ICsJdTMyCXRtcDsKPiArCj4gKwlwYW5lbHNfbm9kZSA9IG9mX2ZpbmRf bm9kZV9ieV9uYW1lKE5VTEwsICJwYW5lbHMiKTsKPiArCWlmICghcGFuZWxzX25vZGUpIHsKPiAr CQlwcl9lcnIoIkdldCBwYW5lbHMgbm9kZSBGYWlsIVxuIik7Cj4gKwkJcmV0dXJuIC1FSU5WQUw7 Cj4gKwl9Cj4gKwo+ICsJcGFuZWxfcGFyYW1ldGVyID0gb2ZfZ2V0X3Byb3BlcnR5KHBhbmVsc19u b2RlLCAicGFuZWwtcGFyYW1ldGVyIiwgTlVMTCk7Cj4gKwlpZiAoIXBhbmVsX3BhcmFtZXRlcikg ewo+ICsJCXByX2VycigiR2V0IHBhbmVsIHBhcmFtZXRlciBGYWlsIVxuIik7Cj4gKwkJcmV0dXJu IC1FSU5WQUw7Cj4gKwl9Cj4gKwo+ICsJcGFyYW1ldGVyX25vZGUgPSBvZl9maW5kX25vZGVfYnlf bmFtZShwYW5lbHNfbm9kZSwgcGFuZWxfcGFyYW1ldGVyKTsKPiArCWlmICghcGFyYW1ldGVyX25v ZGUpCj4gKwkJcmV0dXJuIC1FTk9ERVY7Cj4gKwo+ICsJLyogZ2V0IGxjZCBuYW1lICovCj4gKwls Y2RfbmFtZSA9IG9mX2dldF9wcm9wZXJ0eShwYXJhbWV0ZXJfbm9kZSwgImRzaS1wYW5lbC1uYW1l IiwgTlVMTCk7Cj4gKwlpZiAoIWxjZF9uYW1lKSB7Cj4gKwkJcHJfZXJyKCJHZXQgbGNkX25hbWUg RmFpbCFcbiIpOwo+ICsJCXJldHVybiAtRUlOVkFMOwo+ICsJfQo+ICsJcHJfaW5mbygiJXM6IExj ZCBOYW1lID0gJXNcbiIsIF9fZnVuY19fLCBsY2RfbmFtZSk7Cj4gKwo+ICsJLyogZ2V0IGxjZCBp bml0IGNvZGUgKi8KPiArCXBpbmZvLT5vbl9jbWRzID0ga3phbGxvYyhzaXplb2Yoc3RydWN0IGRz aV9wYW5lbF9jbWRzKSwgR0ZQX0tFUk5FTCk7Cj4gKwlpZiAoIShwaW5mby0+b25fY21kcykpCj4g KwkJcmV0dXJuIC1FTk9NRU07Cj4gKwo+ICsJcmV0ID0gcGFyc2VfZGNzX2NtZHMocGFyYW1ldGVy X25vZGUsIHBpbmZvLT5vbl9jbWRzLCAiZHNpLW9uLWNvbW1hbmQiKTsKPiArCWlmIChyZXQgPCAw KSB7Cj4gKwkJcHJfZXJyKCJHZXQgRHNpIG9uIGNvbW1hbmQgRmFpbFxuIik7Cj4gKwkJcmV0dXJu IC1FSU5WQUw7Cj4gKwl9Cj4gKwo+ICsJLyogZ2V0IGxjZCBvZmYgY29kZSAqLwo+ICsJcGluZm8t Pm9mZl9jbWRzID0ga3phbGxvYyhzaXplb2Yoc3RydWN0IGRzaV9wYW5lbF9jbWRzKSwgR0ZQX0tF Uk5FTCk7Cj4gKwlpZiAoIShwaW5mby0+b2ZmX2NtZHMpKQo+ICsJCXJldHVybiAtRU5PTUVNOwo+ ICsKPiArCXJldCA9IHBhcnNlX2Rjc19jbWRzKHBhcmFtZXRlcl9ub2RlLCBwaW5mby0+b2ZmX2Nt ZHMsCj4gKwkJCSJkc2ktb2ZmLWNvbW1hbmQiKTsKPiArCWlmIChyZXQgPCAwKSB7Cj4gKwkJcHJf ZXJyKCJHZXQgRHNpIG9mZiBjb21tYW5kIEZhaWxcbiIpOwo+ICsJCXJldHVybiAtRUlOVkFMOwo+ ICsJfQo+ICsKPiArCS8qIGdldCBQb3JjaCAgKi8KPiArCWRpc3BsYXlfbW9kZSA9IGt6YWxsb2Mo c2l6ZW9mKHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlKSwgR0ZQX0tFUk5FTCk7Cj4gKwlpZiAoIWRp c3BsYXlfbW9kZSkKPiArCQlyZXR1cm4gLUVOT01FTTsKPiArCXBpbmZvLT5wYW5lbF9kaXNwbGF5 X21vZGUgPSBkaXNwbGF5X21vZGU7Cj4gKwo+ICsJcmV0ID0gb2ZfcHJvcGVydHlfcmVhZF91MzIo cGFyYW1ldGVyX25vZGUsICJkc2ktcGl4ZWwtY2xrIiwgJnRtcCk7Cj4gKwlkaXNwbGF5X21vZGUt PmNsb2NrID0gKCFyZXQgPyB0bXAgOiAwKTsKPiArCj4gKwlyZXQgPSBvZl9wcm9wZXJ0eV9yZWFk X3UzMihwYXJhbWV0ZXJfbm9kZSwKPiArCQkJImRzaS1wYW5lbC1oem9yaXpvbnRhbCIsICZ0bXAp Owo+ICsJZGlzcGxheV9tb2RlLT5oZGlzcGxheSA9ICghcmV0ID8gdG1wIDogMCk7Cj4gKwo+ICsJ cmV0ID0gb2ZfcHJvcGVydHlfcmVhZF91MzIocGFyYW1ldGVyX25vZGUsICJkc2ktaC1mcm9udC1w b3JjaCIsICZ0bXApOwo+ICsJdG1wID0gKCFyZXQgPyB0bXAgOiAwKTsKPiArCWRpc3BsYXlfbW9k ZS0+aHN5bmNfc3RhcnQgPSBkaXNwbGF5X21vZGUtPmhkaXNwbGF5ICsgdG1wOwo+ICsKPiArCXJl dCA9IG9mX3Byb3BlcnR5X3JlYWRfdTMyKHBhcmFtZXRlcl9ub2RlLCAiZHNpLWgtYmFjay1wb3Jj aCIsICZ0bXApOwo+ICsJdG1wID0gKCFyZXQgPyB0bXAgOiAwKTsKPiArCWRpc3BsYXlfbW9kZS0+ aHN5bmNfZW5kID0gZGlzcGxheV9tb2RlLT5oc3luY19zdGFydCArIHRtcDsKPiArCj4gKwlyZXQg PSBvZl9wcm9wZXJ0eV9yZWFkX3UzMihwYXJhbWV0ZXJfbm9kZSwgImRzaS1oLXB1bHNlLXdpZHRo IiwgJnRtcCk7Cj4gKwl0bXAgPSAoIXJldCA/IHRtcCA6IDApOwo+ICsJZGlzcGxheV9tb2RlLT5o dG90YWwgPSBkaXNwbGF5X21vZGUtPmhzeW5jX2VuZCArIHRtcDsKPiArCj4gKwlyZXQgPSBvZl9w cm9wZXJ0eV9yZWFkX3UzMihwYXJhbWV0ZXJfbm9kZSwgImRzaS1wYW5lbC12ZXJ0aWNhbCIsICZ0 bXApOwo+ICsJZGlzcGxheV9tb2RlLT52ZGlzcGxheSA9ICghcmV0ID8gdG1wIDogMCk7Cj4gKwo+ ICsJcmV0ID0gb2ZfcHJvcGVydHlfcmVhZF91MzIocGFyYW1ldGVyX25vZGUsICJkc2ktdi1mcm9u dC1wb3JjaCIsICZ0bXApOwo+ICsJdG1wID0gKCFyZXQgPyB0bXAgOiAwKTsKPiArCWRpc3BsYXlf bW9kZS0+dnN5bmNfc3RhcnQgPSBkaXNwbGF5X21vZGUtPnZkaXNwbGF5ICsgdG1wOwo+ICsKPiAr CXJldCA9IG9mX3Byb3BlcnR5X3JlYWRfdTMyKHBhcmFtZXRlcl9ub2RlLCAiZHNpLXYtYmFjay1w b3JjaCIsICZ0bXApOwo+ICsJdG1wID0gKCFyZXQgPyB0bXAgOiAwKTsKPiArCWRpc3BsYXlfbW9k ZS0+dnN5bmNfZW5kID0gZGlzcGxheV9tb2RlLT52c3luY19zdGFydCArIHRtcDsKPiArCj4gKwly ZXQgPSBvZl9wcm9wZXJ0eV9yZWFkX3UzMihwYXJhbWV0ZXJfbm9kZSwgImRzaS12LXB1bHNlLXdp ZHRoIiwgJnRtcCk7Cj4gKwl0bXAgPSAoIXJldCA/IHRtcCA6IDApOwo+ICsJZGlzcGxheV9tb2Rl LT52dG90YWwgPSBkaXNwbGF5X21vZGUtPnZzeW5jX2VuZCArIHRtcDsKPiArCj4gKwlyZXQgPSBv Zl9wcm9wZXJ0eV9yZWFkX3UzMihwYXJhbWV0ZXJfbm9kZSwgImRzaS1wYW5lbC1yZWZyZXNoIiwg JnRtcCk7Cj4gKwlkaXNwbGF5X21vZGUtPnZyZWZyZXNoID0gKCFyZXQgPyB0bXAgOiAwKTsKPiAr Cj4gKwkvKiBnZXQgbGFucyAqLwo+ICsJcmV0ID0gb2ZfcHJvcGVydHlfcmVhZF91MzIocGFyYW1l dGVyX25vZGUsICJkc2ktcGFuZWwtbGFuZXMiLCAmdG1wKTsKPiArCWRzaV9kZXZpY2UtPmxhbmVz ICA9ICghcmV0ID8gdG1wIDogMCk7Cj4gKwo+ICsJcmV0ID0gb2ZfcHJvcGVydHlfcmVhZF91MzIo cGFyYW1ldGVyX25vZGUsICJkc2ktcGFuZWwtZm9ybWF0IiwgJnRtcCk7Cj4gKwlkc2lfZGV2aWNl LT5mb3JtYXQgPSAoIXJldCA/IHRtcCA6IDApOwo+ICsKPiArCXJldCA9IG9mX3Byb3BlcnR5X3Jl YWRfdTMyKHBhcmFtZXRlcl9ub2RlLAo+ICsJCQkiZHNpLXBhbmVsLW1vZGUtZmxhZ3MiLCAmdG1w KTsKPiArCWRzaV9kZXZpY2UtPm1vZGVfZmxhZ3MgPSAoIXJldCA/IHRtcCA6IDApOwo+ICsKPiAr CS8qIGdldCBXeEggKi8KPiArCXJldCA9IG9mX3Byb3BlcnR5X3JlYWRfdTMyKHBhcmFtZXRlcl9u b2RlLCAiZHNpLXBhbmVsLXdpZHRoLW1tIiwgJnRtcCk7Cj4gKwlwaW5mby0+cGFuZWxfd2lkdGhf bW0gID0gKCFyZXQgPyB0bXAgOiAwKTsKPiArCj4gKwlyZXQgPSBvZl9wcm9wZXJ0eV9yZWFkX3Uz MihwYXJhbWV0ZXJfbm9kZSwgImRzaS1wYW5lbC1oZWlnaHQtbW0iLCAmdG1wKTsKPiArCXBpbmZv LT5wYW5lbF9oZWlnaHRfbW0gID0gKCFyZXQgPyB0bXAgOiAwKTsKPiArCj4gKwlyZXQgPSBvZl9w cm9wZXJ0eV9yZWFkX3UzMihwYXJhbWV0ZXJfbm9kZSwgInBlci1jb2xvci1jaGFubmVsIiwgJnRt cCk7Cj4gKwlwaW5mby0+cGVyX2NvbG9yX2NoYW5uZWwgPSAoIXJldCA/IHRtcCA6IDApOwo+ICsK PiArCS8qIHJlc2V0IHRpbWUgKi8KPiArCXJldCA9IGRzaV9wYXJzZV9yZXNldF9zZXEocGFyYW1l dGVyX25vZGUsIHBpbmZvLT5yc3Rfc2VxLAo+ICsJCQkJJihwaW5mby0+cnN0X3NlcV9sZW4pLCAi ZHNpLXJlc2V0LXNlcXVlbmNlIik7Cj4gKwlpZiAocmV0IDwgMCkKPiArCQlyZXR1cm4gcmV0Owo+ ICsKPiArCXJldHVybiAwOwo+ICt9Cj4gKwo+ICtzdGF0aWMgaW5saW5lIHN0cnVjdCBwYW5lbF9p bmZvICp0b19wYW5lbF9pbmZvKHN0cnVjdCBkcm1fcGFuZWwgKnBhbmVsKQo+ICt7Cj4gKwlyZXR1 cm4gY29udGFpbmVyX29mKHBhbmVsLCBzdHJ1Y3QgcGFuZWxfaW5mbywgYmFzZSk7Cj4gK30KPiAr Cj4gK3N0YXRpYyBpbnQgcGFuZWxfZGlzYWJsZShzdHJ1Y3QgZHJtX3BhbmVsICpwYW5lbCkKPiAr ewo+ICsJc3RydWN0IHBhbmVsX2luZm8gKnBpbmZvID0gdG9fcGFuZWxfaW5mbyhwYW5lbCk7Cj4g Kwo+ICsJaWYgKCFwaW5mby0+ZW5hYmxlZCkKPiArCQlyZXR1cm4gMDsKPiArCj4gKwliYWNrbGln aHRfZGlzYWJsZShwaW5mby0+YmFja2xpZ2h0KTsKPiArCj4gKwlwaW5mby0+ZW5hYmxlZCA9IGZh bHNlOwo+ICsKPiArCXJldHVybiAwOwo+ICt9Cj4gKwo+ICtzdGF0aWMgaW50IHBhbmVsX3VucHJl cGFyZShzdHJ1Y3QgZHJtX3BhbmVsICpwYW5lbCkKPiArewo+ICsJc3RydWN0IHBhbmVsX2luZm8g KnBpbmZvID0gdG9fcGFuZWxfaW5mbyhwYW5lbCk7Cj4gKwlpbnQgZXJyOwo+ICsKPiArCWlmICgh cGluZm8tPnByZXBhcmVkKQo+ICsJCXJldHVybiAwOwo+ICsKPiArCWVyciA9IHdyaXRlX2NtZHMo cGluZm8tPmxpbmssIHBpbmZvLT5vZmZfY21kcyk7Cj4gKwlpZiAoZXJyIDwgMCkgewo+ICsJCWRl dl9lcnIocGFuZWwtPmRldiwKPiArCQkJCSJmYWlsZWQgdG8gc2VuZCBEQ1MgT2ZmIENvZGU6ICVk XG4iLCBlcnIpOwo+ICsJCXJldHVybiBlcnI7Cj4gKwl9Cj4gKwo+ICsJdXNsZWVwX3JhbmdlKDEw MDAsIDEwMDApOwo+ICsJZ3Bpb2Rfc2V0X3ZhbHVlX2NhbnNsZWVwKHBpbmZvLT5yZXNldF9ncGlv LCAwKTsKPiArCWdwaW9kX3NldF92YWx1ZV9jYW5zbGVlcChwaW5mby0+cHAzMzAwMF9ncGlvLCAw KTsKPiArCWdwaW9kX3NldF92YWx1ZV9jYW5zbGVlcChwaW5mby0+cHAxODAwMF9ncGlvLCAwKTsK PiArCj4gKwlwaW5mby0+cHJlcGFyZWQgPSBmYWxzZTsKPiArCj4gKwlyZXR1cm4gMDsKPiArfQo+ ICsKPiArc3RhdGljIGludCBwYW5lbF9wcmVwYXJlKHN0cnVjdCBkcm1fcGFuZWwgKnBhbmVsKQo+ ICt7Cj4gKwlzdHJ1Y3QgcGFuZWxfaW5mbyAqcGluZm8gPSB0b19wYW5lbF9pbmZvKHBhbmVsKTsK PiArCWludCBlcnIsIGk7Cj4gKwo+ICsJaWYgKHBpbmZvLT5wcmVwYXJlZCkKPiArCQlyZXR1cm4g MDsKPiArCj4gKwlncGlvZF9zZXRfdmFsdWVfY2Fuc2xlZXAocGluZm8tPnBwMTgwMDBfZ3Bpbywg MSk7Cj4gKwlncGlvZF9zZXRfdmFsdWVfY2Fuc2xlZXAocGluZm8tPnBwMzMwMDBfZ3BpbywgMSk7 Cj4gKwo+ICsJLyogcmVzZXQgc2VxdWVuY2UgKi8KPiArCWZvciAoaSA9IDA7IGkgPCBwaW5mby0+ cnN0X3NlcV9sZW47ICsraSkgewo+ICsJCWdwaW9kX3NldF92YWx1ZV9jYW5zbGVlcChwaW5mby0+ cmVzZXRfZ3BpbywgcGluZm8tPnJzdF9zZXFbaV0pOwo+ICsJCWlmIChwaW5mby0+cnN0X3NlcVsr K2ldKQo+ICsJCQl1c2xlZXBfcmFuZ2UocGluZm8tPnJzdF9zZXFbaV0gKiAxMDAwLAo+ICsJCQkJ CQlwaW5mby0+cnN0X3NlcVtpXSAqIDEwMDApOwo+ICsJfQo+ICsKPiArCS8qIHNlbmQgaW5pdCBj b2RlICovCj4gKwllcnIgPSB3cml0ZV9jbWRzKHBpbmZvLT5saW5rLCBwaW5mby0+b25fY21kcyk7 Cj4gKwlpZiAoZXJyIDwgMCkgewo+ICsJCWRldl9lcnIocGFuZWwtPmRldiwKPiArCQkJCSJmYWls ZWQgdG8gc2VuZCBEQ1MgSW5pdCBDb2RlOiAlZFxuIiwgZXJyKTsKPiArCQlnb3RvIHBvd2Vyb2Zm Owo+ICsJfQo+ICsKPiArCXBpbmZvLT5wcmVwYXJlZCA9IHRydWU7Cj4gKwo+ICsJcmV0dXJuIDA7 Cj4gKwo+ICtwb3dlcm9mZjoKPiArCWdwaW9kX3NldF92YWx1ZV9jYW5zbGVlcChwaW5mby0+cmVz ZXRfZ3BpbywgMCk7Cj4gKwlncGlvZF9zZXRfdmFsdWVfY2Fuc2xlZXAocGluZm8tPnBwMzMwMDBf Z3BpbywgMCk7Cj4gKwlncGlvZF9zZXRfdmFsdWVfY2Fuc2xlZXAocGluZm8tPnBwMTgwMDBfZ3Bp bywgMCk7Cj4gKwlyZXR1cm4gZXJyOwo+ICt9Cj4gKwo+ICtzdGF0aWMgaW50IHBhbmVsX2VuYWJs ZShzdHJ1Y3QgZHJtX3BhbmVsICpwYW5lbCkKPiArewo+ICsJc3RydWN0IHBhbmVsX2luZm8gKnBp bmZvID0gdG9fcGFuZWxfaW5mbyhwYW5lbCk7Cj4gKwlpbnQgcmV0Owo+ICsKPiArCWlmIChwaW5m by0+ZW5hYmxlZCkKPiArCQlyZXR1cm4gMDsKPiArCj4gKwlyZXQgPSBiYWNrbGlnaHRfZW5hYmxl KHBpbmZvLT5iYWNrbGlnaHQpOwo+ICsJaWYgKHJldCkgewo+ICsJCURSTV9ERVZfRVJST1IocGFu ZWwtPmRybS0+ZGV2LAo+ICsJCQkgICAgICAiRmFpbGVkIHRvIGVuYWJsZSBiYWNrbGlnaHQgJWRc biIsIHJldCk7Cj4gKwkJcmV0dXJuIHJldDsKPiArCX0KPiArCj4gKwlwaW5mby0+ZW5hYmxlZCA9 IHRydWU7Cj4gKwo+ICsJcmV0dXJuIDA7Cj4gK30KPiArCj4gK3N0YXRpYyBpbnQgcGFuZWxfZ2V0 X21vZGVzKHN0cnVjdCBkcm1fcGFuZWwgKnBhbmVsKQo+ICt7Cj4gKwlzdHJ1Y3QgcGFuZWxfaW5m byAqcGluZm8gPSB0b19wYW5lbF9pbmZvKHBhbmVsKTsKPiArCXN0cnVjdCBkcm1fZGlzcGxheV9t b2RlICptb2RlOwo+ICsKPiArCWlmICghcGluZm8tPnBhbmVsX2Rpc3BsYXlfbW9kZSkgewo+ICsJ CXByX2VycigiR2V0IHBhbmVsX2Rpc3BsYXlfbW9kZSBmYWlsIVxuIik7Cj4gKwkJcmV0dXJuIC0x Owo+ICsJfQo+ICsKPiArCW1vZGUgPSBkcm1fbW9kZV9kdXBsaWNhdGUocGFuZWwtPmRybSwgcGlu Zm8tPnBhbmVsX2Rpc3BsYXlfbW9kZSk7Cj4gKwlpZiAoIW1vZGUpIHsKPiArCQlwcl9lcnIoImZh aWxlZCB0byBhZGQgbW9kZVxuIik7Cj4gKwkJcmV0dXJuIC1FTk9NRU07Cj4gKwl9Cj4gKwo+ICsJ ZHJtX21vZGVfc2V0X25hbWUobW9kZSk7Cj4gKwo+ICsJZHJtX21vZGVfcHJvYmVkX2FkZChwYW5l bC0+Y29ubmVjdG9yLCBtb2RlKTsKPiArCj4gKwlwYW5lbC0+Y29ubmVjdG9yLT5kaXNwbGF5X2lu Zm8ud2lkdGhfbW0gPSBwaW5mby0+cGFuZWxfd2lkdGhfbW07Cj4gKwlwYW5lbC0+Y29ubmVjdG9y LT5kaXNwbGF5X2luZm8uaGVpZ2h0X21tID0gcGluZm8tPnBhbmVsX2hlaWdodF9tbTsKPiArCXBh bmVsLT5jb25uZWN0b3ItPmRpc3BsYXlfaW5mby5icGMgPSBwaW5mby0+cGVyX2NvbG9yX2NoYW5u ZWw7Cj4gKwo+ICsJcmV0dXJuIDE7Cj4gK30KPiArCj4gK3N0YXRpYyBjb25zdCBzdHJ1Y3QgZHJt X3BhbmVsX2Z1bmNzIHBhbmVsX2Z1bmNzID0gewo+ICsJLmRpc2FibGUgPSBwYW5lbF9kaXNhYmxl LAo+ICsJLnVucHJlcGFyZSA9IHBhbmVsX3VucHJlcGFyZSwKPiArCS5wcmVwYXJlID0gcGFuZWxf cHJlcGFyZSwKPiArCS5lbmFibGUgPSBwYW5lbF9lbmFibGUsCj4gKwkuZ2V0X21vZGVzID0gcGFu ZWxfZ2V0X21vZGVzLAo+ICt9Owo+ICsKPiArc3RhdGljIGNvbnN0IHN0cnVjdCBvZl9kZXZpY2Vf aWQgcGFuZWxfb2ZfbWF0Y2hbXSA9IHsKPiArCXsgLmNvbXBhdGlibGUgPSAiYm9lLGhpbWF4ODI3 OWQiLCB9LAo+ICsJeyB9Cj4gK307Cj4gK01PRFVMRV9ERVZJQ0VfVEFCTEUob2YsIHBhbmVsX29m X21hdGNoKTsKPiArCj4gK3N0YXRpYyBpbnQgcGFuZWxfYWRkKHN0cnVjdCBwYW5lbF9pbmZvICpw aW5mbykKPiArewo+ICsJc3RydWN0IGRldmljZSAqZGV2ID0gJnBpbmZvLT5saW5rLT5kZXY7Cj4g KwlzdHJ1Y3QgZGV2aWNlX25vZGUgKm5wOwo+ICsJaW50IGVycjsKPiArCj4gKwlwaW5mby0+cHAz MzAwMF9ncGlvID0gZGV2bV9ncGlvZF9nZXRfb3B0aW9uYWwoZGV2LAo+ICsJCQkJCQkJInBwMzMw MDAiLAo+ICsJCQkJCQkJR1BJT0RfT1VUX0hJR0gpOwo+ICsJaWYgKElTX0VSUihwaW5mby0+cHAz MzAwMF9ncGlvKSkgewo+ICsJCWVyciA9IFBUUl9FUlIocGluZm8tPnBwMzMwMDBfZ3Bpbyk7Cj4g KwkJZGV2X2VycihkZXYsICJmYWlsZWQgdG8gZ2V0IHBwMzMwMDAgZ3BpbzogJWRcbiIsIGVycik7 Cj4gKwkJcGluZm8tPnBwMzMwMDBfZ3BpbyA9IE5VTEw7Cj4gKwl9Cj4gKwo+ICsJcGluZm8tPnBw MTgwMDBfZ3BpbyA9IGRldm1fZ3Bpb2RfZ2V0X29wdGlvbmFsKGRldiwKPiArCQkJCQkJCSJwcDE4 MDAwIiwKPiArCQkJCQkJCUdQSU9EX09VVF9ISUdIKTsKPiArCWlmIChJU19FUlIocGluZm8tPnBw MTgwMDBfZ3BpbykpIHsKPiArCQllcnIgPSBQVFJfRVJSKHBpbmZvLT5wcDE4MDAwX2dwaW8pOwo+ ICsJCWRldl9lcnIoZGV2LCAiZmFpbGVkIHRvIGdldCBwcDE4MDAwIGdwaW86ICVkXG4iLCBlcnIp Owo+ICsJCXBpbmZvLT5wcDE4MDAwX2dwaW8gPSBOVUxMOwo+ICsJfQo+ICsKPiArCXBpbmZvLT5y ZXNldF9ncGlvID0gZGV2bV9ncGlvZF9nZXRfb3B0aW9uYWwoZGV2LCAiZW5hYmxlIiwKPiArCQkJ CQkJCUdQSU9EX09VVF9ISUdIKTsKPiArCWlmIChJU19FUlIocGluZm8tPnJlc2V0X2dwaW8pKSB7 Cj4gKwkJZXJyID0gUFRSX0VSUihwaW5mby0+cmVzZXRfZ3Bpbyk7Cj4gKwkJZGV2X2VycihkZXYs ICJmYWlsZWQgdG8gZ2V0IGVuYWJsZSBncGlvOiAlZFxuIiwgZXJyKTsKPiArCQlwaW5mby0+cmVz ZXRfZ3BpbyA9IE5VTEw7Cj4gKwl9Cj4gKwo+ICsJbnAgPSBvZl9wYXJzZV9waGFuZGxlKGRldi0+ b2Zfbm9kZSwgImJhY2tsaWdodCIsIDApOwo+ICsJaWYgKG5wKSB7Cj4gKwkJcGluZm8tPmJhY2ts aWdodCA9IG9mX2ZpbmRfYmFja2xpZ2h0X2J5X25vZGUobnApOwo+ICsJCW9mX25vZGVfcHV0KG5w KTsKPiArCj4gKwkJaWYgKCFwaW5mby0+YmFja2xpZ2h0KQo+ICsJCQlyZXR1cm4gLUVQUk9CRV9E RUZFUjsKPiArCX0KPiArCj4gKwlkcm1fcGFuZWxfaW5pdCgmcGluZm8tPmJhc2UpOwo+ICsJcGlu Zm8tPmJhc2UuZnVuY3MgPSAmcGFuZWxfZnVuY3M7Cj4gKwlwaW5mby0+YmFzZS5kZXYgPSAmcGlu Zm8tPmxpbmstPmRldjsKPiArCj4gKwllcnIgPSBkcm1fcGFuZWxfYWRkKCZwaW5mby0+YmFzZSk7 Cj4gKwlpZiAoZXJyIDwgMCkKPiArCQlnb3RvIHB1dF9iYWNrbGlnaHQ7Cj4gKwo+ICsJcmV0dXJu IDA7Cj4gKwo+ICtwdXRfYmFja2xpZ2h0Ogo+ICsJcHV0X2RldmljZSgmcGluZm8tPmJhY2tsaWdo dC0+ZGV2KTsKPiArCj4gKwlyZXR1cm4gZXJyOwo+ICt9Cj4gKwo+ICtzdGF0aWMgdm9pZCBwYW5l bF9kZWwoc3RydWN0IHBhbmVsX2luZm8gKnBpbmZvKQo+ICt7Cj4gKwlpZiAocGluZm8tPmJhc2Uu ZGV2KQo+ICsJCWRybV9wYW5lbF9yZW1vdmUoJnBpbmZvLT5iYXNlKTsKPiArCj4gKwlwdXRfZGV2 aWNlKCZwaW5mby0+YmFja2xpZ2h0LT5kZXYpOwo+ICt9Cj4gKwo+ICtzdGF0aWMgaW50IHBhbmVs X3Byb2JlKHN0cnVjdCBtaXBpX2RzaV9kZXZpY2UgKmRzaSkKPiArewo+ICsJc3RydWN0IHBhbmVs X2luZm8gKnBpbmZvOwo+ICsJaW50IGVycjsKPiArCj4gKwlwaW5mbyA9IGRldm1fa3phbGxvYygm ZHNpLT5kZXYsIHNpemVvZigqcGluZm8pLCBHRlBfS0VSTkVMKTsKPiArCWlmICghcGluZm8pCj4g KwkJcmV0dXJuIC1FTk9NRU07Cj4gKwo+ICsJcGluZm8tPmxpbmsgPSBkc2k7Cj4gKwlwYW5lbF9w YXJzZV9kdChwaW5mbyk7Cj4gKwltaXBpX2RzaV9zZXRfZHJ2ZGF0YShkc2ksIHBpbmZvKTsKPiAr Cj4gKwllcnIgPSBwYW5lbF9hZGQocGluZm8pOwo+ICsJaWYgKGVyciA8IDApCj4gKwkJcmV0dXJu IGVycjsKPiArCj4gKwlyZXR1cm4gbWlwaV9kc2lfYXR0YWNoKGRzaSk7Cj4gK30KPiArCj4gK3N0 YXRpYyBpbnQgcGFuZWxfcmVtb3ZlKHN0cnVjdCBtaXBpX2RzaV9kZXZpY2UgKmRzaSkKPiArewo+ ICsJc3RydWN0IHBhbmVsX2luZm8gKnBpbmZvID0gbWlwaV9kc2lfZ2V0X2RydmRhdGEoZHNpKTsK PiArCWludCBlcnI7Cj4gKwo+ICsJZXJyID0gcGFuZWxfdW5wcmVwYXJlKCZwaW5mby0+YmFzZSk7 Cj4gKwlpZiAoZXJyIDwgMCkKPiArCQlEUk1fREVWX0VSUk9SKCZkc2ktPmRldiwgImZhaWxlZCB0 byB1bnByZXBhcmUgcGFuZWw6ICVkXG4iLAo+ICsJCQkgICAgICBlcnIpOwo+ICsKPiArCWVyciA9 IHBhbmVsX2Rpc2FibGUoJnBpbmZvLT5iYXNlKTsKPiArCWlmIChlcnIgPCAwKQo+ICsJCURSTV9E RVZfRVJST1IoJmRzaS0+ZGV2LCAiZmFpbGVkIHRvIGRpc2FibGUgcGFuZWw6ICVkXG4iLCBlcnIp Owo+ICsKPiArCWVyciA9IG1pcGlfZHNpX2RldGFjaChkc2kpOwo+ICsJaWYgKGVyciA8IDApCj4g KwkJRFJNX0RFVl9FUlJPUigmZHNpLT5kZXYsICJmYWlsZWQgdG8gZGV0YWNoIGZyb20gRFNJIGhv c3Q6ICVkXG4iLAo+ICsJCQkgICAgICBlcnIpOwo+ICsKPiArCWRybV9wYW5lbF9kZXRhY2goJnBp bmZvLT5iYXNlKTsKPiArCXBhbmVsX2RlbChwaW5mbyk7Cj4gKwo+ICsJcmV0dXJuIDA7Cj4gK30K PiArCj4gK3N0YXRpYyB2b2lkIHBhbmVsX3NodXRkb3duKHN0cnVjdCBtaXBpX2RzaV9kZXZpY2Ug KmRzaSkKPiArewo+ICsJc3RydWN0IHBhbmVsX2luZm8gKnBpbmZvID0gbWlwaV9kc2lfZ2V0X2Ry dmRhdGEoZHNpKTsKPiArCj4gKwlwYW5lbF91bnByZXBhcmUoJnBpbmZvLT5iYXNlKTsKPiArCXBh bmVsX2Rpc2FibGUoJnBpbmZvLT5iYXNlKTsKPiArfQo+ICsKPiArc3RhdGljIHN0cnVjdCBtaXBp X2RzaV9kcml2ZXIgcGFuZWxfZHJpdmVyID0gewo+ICsJLmRyaXZlciA9IHsKPiArCQkubmFtZSA9 ICJwYW5lbC1pbm5vbHV4LW90YTcyOTBiIiwKPiArCQkub2ZfbWF0Y2hfdGFibGUgPSBwYW5lbF9v Zl9tYXRjaCwKPiArCX0sCj4gKwkucHJvYmUgPSBwYW5lbF9wcm9iZSwKPiArCS5yZW1vdmUgPSBw YW5lbF9yZW1vdmUsCj4gKwkuc2h1dGRvd24gPSBwYW5lbF9zaHV0ZG93biwKPiArfTsKPiArbW9k dWxlX21pcGlfZHNpX2RyaXZlcihwYW5lbF9kcml2ZXIpOwo+ICsKPiArTU9EVUxFX0FVVEhPUigi SmVycnkgSGFuIDxoYW54dTVAaHVhcWluLmNvcnAtcGFydG5lci5nb29nbGUuY29tPiIpOwo+ICtN T0RVTEVfREVTQ1JJUFRJT04oIkJvZSBIaW1heDgyNzlkIGRyaXZlciIpOwo+ICtNT0RVTEVfTElD RU5TRSgiR1BMIHYyIik7Cj4gLS0gCj4gMi4xNy4xCj4gCgo+IEZyb20gODNkZjg4ZTlhMzc5MWFi YjBlZDUwMGEyNjc4ZDI5MDE2ZGVjNzNlZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKPiBGcm9t OiBKZXJyeSBIYW4gPGhhbnh1NUBodWFxaW4uY29ycC1wYXJ0bmVyLmdvb2dsZS5jb20+Cj4gRGF0 ZTogVGh1LCAxIEF1ZyAyMDE5IDE2OjAxOjA3ICswODAwCj4gU3ViamVjdDogW1BBVENIIDA0LzEw XSBbdjQsMi8yXSBkcm0vcGFuZWw6IEFkZCBCb2UgSGltYXg4Mjc5ZCBNSVBJLURTSSBMQ0QKPiAg cGFuZWwKPiAKPiBTdXBwb3J0IEJvZSBIaW1heDgyNzlkIDguMCIgMTIwMHgxOTIwIFRGVCBMQ0Qg cGFuZWwsIGl0IGlzIGEgTUlQSSBEU0kKPiBwYW5lbC4KPiAKPiBWNDoKPiAtIEZyZWZpeCBhbGwg ZnVuY3Rpb24gbWFlcyB3aXRoIGJvZV8gKFNhbSkKPiAtIEZzZWQgImVuYWJsZV9ncGlvIiByZXBs YWNlICJyZXNldF9ncGlvIiwgTWFrZSBpdCBsb29rIGNsZWFyZXIgKFNhbSkKPiAtIFNvcnQgaW5j bHVkZSBsaW5lcyBhbHBoYWJldGljYWxseSAoU2FtKQo+IC0gRml4ZWQgZW50cmllcyBpbiB0aGUg bWFrZWZpbGUgbXVzdCBiZSBzb3J0ZWQgYWxwaGFiZXRpY2FsbHkgKFNhbSkKPiAtIEFkZCBzZW5k X21pcGlfY21kcyBmdW5jdGlvbiB0byBhdm9pZCBkdXBsaWNhdGluZyB0aGUgY29kZSAoU2FtKQo+ IC0gQWRkIHRoZSBuZWNlc3NhcnkgZGVsYXkocmVzZXRfZGVsYXlfdDUpIGJldHdlZW4gcmVzZXQg YW5kIHNlbmRpbmcKPiAgICAgdGhlIGluaXRpYWxpemF0aW9uIGNvbW1hbmQgKFJvY2sgd2FuZykK PiAKPiBWMzoKPiAtIFJlbW92ZSB1bm5lY2Vzc2FyeSBkZWxheXMgaW4gc2VuZGluZyBpbml0aWFs aXphdGlvbiBjb21tYW5kcyAoSml0YW8gU2hpKQo+IAo+IFYyOgo+IC0gVXNlIFNQRFggaWRlbnRp ZmllciAoU2FtKQo+IC0gVXNlIG5lY2Vzc2FyeSBoZWFkZXIgZmlsZXMgcmVwbGFjZSBkcm1QLmgg KFNhbSkKPiAtIERlbGV0ZSB1bm5lY2Vzc2FyeSBoZWFkZXIgZmlsZXMgI2luY2x1ZGUgPGxpbnV4 L2Vyci5oPiAoU2FtKQo+IC0gU3BlY2lmaWVzIGEgR1BJT3MgYXJyYXkgdG8gY29udHJvbCB0aGUg cmVzZXQgdGltaW5nLAo+ICAgICBpbnN0ZWFkIG9mIHJlYWRpbmcgImRzaS1yZXNldC1zZXF1ZW5j ZSIgZGF0YSBmcm9tIERUUyAoU2FtKQo+IC0gRGVsZXRlIGJhY2tsaWdodF9kaXNhYmxlKCkgZnVu Y3Rpb24gd2hlbiBhbHJlYWR5IGRpc2FibGVkIChTYW0pCj4gLSBVc2UgZGV2bV9vZl9maW5kX2Jh Y2tsaWdodCgpIHJlcGxhY2Ugb2ZfZmluZF9iYWNrbGlnaHRfYnlfbm9kZSgpIChTYW0pCj4gLSBN b3ZlIHRoZSBuZWNlc3NhcnkgZGF0YSBpbiB0aGUgRFRTIHRvIHRoZSBjdXJyZW50IGZpbGUsCj4g ICAgIGxpa2UgcG9yY2gsIGRpc3BsYXlfbW9kZSBhbmQgSW5pdCBjb2RlIGV0Yy4gKFNhbSkKPiAt IEFkZCBjb21wYXRpYmxlIGRldmljZSAiYm9lLGhpbWF4ODI3OWQxMHAiIChTYW0pCj4gCj4gVjE6 Cj4gLSBTdXBwb3J0IEJvZSBIaW1heDgyNzlkIDguMCIgMTIwMHgxOTIwIFRGVCBMQ0QgcGFuZWws IGl0IGlzIGEgTUlQSSBEU0kKPiAgICAgcGFuZWwuCj4gCj4gU2lnbmVkLW9mZi1ieTogSmVycnkg SGFuIDxoYW54dTVAaHVhcWluLmNvcnAtcGFydG5lci5nb29nbGUuY29tPgo+IENjOiBKaXRhbyBT aGkgPGppdGFvLnNoaUBtZWRpYXRlay5jb20+Cj4gQ2M6IERlcmVrIEJhc2Vob3JlIDxkYmFzZWhv cmVAY2hyb21pdW0ub3JnPgo+IENjOiBSb2NrIHdhbmcgPHJvY2tfd2FuZ0BoaW1heC5jb20uY24+ Cj4gLS0tCj4gIE1BSU5UQUlORVJTICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwg IDEyICstCj4gIGRyaXZlcnMvZ3B1L2RybS9wYW5lbC9LY29uZmlnICAgICAgICAgICAgICAgIHwg IDIyICstCj4gIGRyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1ib2UtaGltYXg4Mjc5ZC5jIHwg MjAxICsrKysrKysrKy0tLS0tLS0tLS0KPiAgMyBmaWxlcyBjaGFuZ2VkLCAxMTQgaW5zZXJ0aW9u cygrKSwgMTIxIGRlbGV0aW9ucygtKQo+IAo+IGRpZmYgLS1naXQgYS9NQUlOVEFJTkVSUyBiL01B SU5UQUlORVJTCj4gaW5kZXggNzg3NTc1NzA1ZWQ0Li45NDIwNjhhNjNlZjQgMTAwNjQ0Cj4gLS0t IGEvTUFJTlRBSU5FUlMKPiArKysgYi9NQUlOVEFJTkVSUwo+IEBAIC01MDgzLDYgKzUwODMsMTIg QEAgVDoJZ2l0IGdpdDovL2Fub25naXQuZnJlZWRlc2t0b3Aub3JnL2RybS9kcm0tbWlzYwo+ICBT OglNYWludGFpbmVkCj4gIEY6CWRyaXZlcnMvZ3B1L2RybS9ib2Nocy8KPiAgCj4gK0RSTSBEUklW RVIgRk9SIEJPRSBISU1BWDgyNzlEIFBBTkVMUwo+ICtNOglKZXJyeSBIYW4gPGhhbnh1NUBodWFx aW4uY29ycC1wYXJ0bmVyLmdvb2dsZS5jb20+Cj4gK1M6CU1haW50YWluZWQKPiArRjoJZHJpdmVy cy9ncHUvZHJtL3BhbmVsL3BhbmVsLWJvZS1oaW1heDgyNzlkLmMKPiArRjoJRG9jdW1lbnRhdGlv bi9kZXZpY2V0cmVlL2JpbmRpbmdzL2Rpc3BsYXkvcGFuZWwvYm9lLGhpbWF4ODI3OWQudHh0Cj4g Kwo+ICBEUk0gRFJJVkVSIEZPUiBGQVJBREFZIFRWRTIwMCBUViBFTkNPREVSCj4gIE06CUxpbnVz IFdhbGxlaWogPGxpbnVzLndhbGxlaWpAbGluYXJvLm9yZz4KPiAgVDoJZ2l0IGdpdDovL2Fub25n aXQuZnJlZWRlc2t0b3Aub3JnL2RybS9kcm0tbWlzYwo+IEBAIC01MTA4LDEyICs1MTE0LDYgQEAg UzoJTWFpbnRhaW5lZAo+ICBGOglkcml2ZXJzL2dwdS9kcm0vdGlueS9pbGk5MjI1LmMKPiAgRjoJ RG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2Rpc3BsYXkvaWxpdGVrLGlsaTkyMjUu dHh0Cj4gIAo+IC1EUk0gRFJJVkVSIEZPUiBCT0UgSElNQVg4Mjc5RCBQQU5FTFMKPiAtTToJSmVy cnkgSGFuIDxoYW54dTVAaHVhcWluLmNvcnAtcGFydG5lci5nb29nbGUuY29tPgo+IC1TOglNYWlu dGFpbmVkCj4gLUY6CWRyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1ib2UtaGltYXg4Mjc5ZC5j Cj4gLUY6CURvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9kaXNwbGF5L3BhbmVsL2Jv ZSxoaW1heDgyNzlkLnR4dAo+IC0KPiAgRFJNIERSSVZFUiBGT1IgSFg4MzU3RCBQQU5FTFMKPiAg TToJRXJpYyBBbmhvbHQgPGVyaWNAYW5ob2x0Lm5ldD4KPiAgVDoJZ2l0IGdpdDovL2Fub25naXQu ZnJlZWRlc2t0b3Aub3JnL2RybS9kcm0tbWlzYwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vcGFuZWwvS2NvbmZpZyBiL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9LY29uZmlnCj4gaW5kZXgg ZThiMDYwYjFiNTliLi4yNTcwOTRhMTZhN2QgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJt L3BhbmVsL0tjb25maWcKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvS2NvbmZpZwo+IEBA IC0xOCw2ICsxOCwxNyBAQCBjb25maWcgRFJNX1BBTkVMX0FSTV9WRVJTQVRJTEUKPiAgCSAgcmVm ZXJlbmNlIGRlc2lnbnMuIFRoZSBwYW5lbCBpcyBkZXRlY3RlZCB1c2luZyBzcGVjaWFsIHJlZ2lz dGVycwo+ICAJICBpbiB0aGUgVmVyc2F0aWxlIGZhbWlseSBzeXNjb24gcmVnaXN0ZXJzLgo+ICAK PiArY29uZmlnIERSTV9QQU5FTF9CT0VfSElNQVg4Mjc5RAo+ICsJdHJpc3RhdGUgIkJvZSBIaW1h eDgyNzlkIHBhbmVsIgo+ICsJZGVwZW5kcyBvbiBPRgo+ICsJZGVwZW5kcyBvbiBEUk1fTUlQSV9E U0kKPiArCWRlcGVuZHMgb24gQkFDS0xJR0hUX0NMQVNTX0RFVklDRQo+ICsJaGVscAo+ICsJICBT YXkgWSBoZXJlIGlmIHlvdSB3YW50IHRvIGVuYWJsZSBzdXBwb3J0IGZvciBCb2UgSGltYXg4Mjc5 ZAo+ICsJICBURlQtTENEIG1vZHVsZXMuIFRoZSBwYW5lbCBoYXMgYSAxMjAweDE5MjAgcmVzb2x1 dGlvbiBhbmQgdXNlcwo+ICsJICAyNCBiaXQgUkdCIHBlciBwaXhlbC4gSXQgcHJvdmlkZXMgYSBN SVBJIERTSSBpbnRlcmZhY2UgdG8KPiArCSAgdGhlIGhvc3QgYW5kIGhhcyBhIGJ1aWx0LWluIExF RCBiYWNrbGlnaHQuCj4gKwo+ICBjb25maWcgRFJNX1BBTkVMX0xWRFMKPiAgCXRyaXN0YXRlICJH ZW5lcmljIExWRFMgcGFuZWwgZHJpdmVyIgo+ICAJZGVwZW5kcyBvbiBPRgo+IEBAIC0yOTMsMTcg KzMwNCw2IEBAIGNvbmZpZyBEUk1fUEFORUxfU0lUUk9OSVhfU1Q3Nzg5Vgo+ICAJICBTYXkgWSBo ZXJlIGlmIHlvdSB3YW50IHRvIGVuYWJsZSBzdXBwb3J0IGZvciB0aGUgU2l0cm9uaXgKPiAgCSAg U1Q3Nzg5ViBjb250cm9sbGVyIGZvciAyNDB4MzIwIExDRCBwYW5lbHMKPiAgCj4gLWNvbmZpZyBE Uk1fUEFORUxfQk9FX0hJTUFYODI3OUQKPiAtCXRyaXN0YXRlICJCb2UgSGltYXg4Mjc5ZCBwYW5l bCIKPiAtCWRlcGVuZHMgb24gT0YKPiAtCWRlcGVuZHMgb24gRFJNX01JUElfRFNJCj4gLQlkZXBl bmRzIG9uIEJBQ0tMSUdIVF9DTEFTU19ERVZJQ0UKPiAtCWhlbHAKPiAtCSAgU2F5IFkgaGVyZSBp ZiB5b3Ugd2FudCB0byBlbmFibGUgc3VwcG9ydCBmb3IgU2FtZSB0eXBlCj4gLQkgIFRGVC1MQ0Qg bW9kdWxlcy4gVGhlIHBhbmVsIGhhcyBhIDEyMDB4MTkyMCByZXNvbHV0aW9uIGFuZCB1c2VzCj4g LQkgIDI0IGJpdCBSR0IgcGVyIHBpeGVsLiBJdCBwcm92aWRlcyBhIE1JUEkgRFNJIGludGVyZmFj ZSB0bwo+IC0JICB0aGUgaG9zdCBhbmQgaGFzIGEgYnVpbHQtaW4gTEVEIGJhY2tsaWdodC4KPiAt Cj4gIGNvbmZpZyBEUk1fUEFORUxfVFBPX1RQRzExMAo+ICAJdHJpc3RhdGUgIlRQTyBUUEcgODAw eDQwMCBwYW5lbCIKPiAgCWRlcGVuZHMgb24gT0YgJiYgU1BJICYmIEdQSU9MSUIKPiBkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLWJvZS1oaW1heDgyNzlkLmMgYi9kcml2 ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtYm9lLWhpbWF4ODI3OWQuYwo+IGluZGV4IDYwZjVmOGJm MmUxNC4uYWE3ZDkxMjc5ODE5IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9w YW5lbC1ib2UtaGltYXg4Mjc5ZC5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVs LWJvZS1oaW1heDgyNzlkLmMKPiBAQCAtMTcsMTAgKzE3LDEwIEBACj4gICNpbmNsdWRlIDxsaW51 eC9ncGlvL2NvbnN1bWVyLmg+Cj4gICNpbmNsdWRlIDxsaW51eC9yZWd1bGF0b3IvY29uc3VtZXIu aD4KPiAgCj4gLSNpbmNsdWRlIDxkcm0vZHJtX21vZGVzLmg+Cj4gKyNpbmNsdWRlIDxkcm0vZHJt X2RldmljZS5oPgo+ICAjaW5jbHVkZSA8ZHJtL2RybV9taXBpX2RzaS5oPgo+ICsjaW5jbHVkZSA8 ZHJtL2RybV9tb2Rlcy5oPgo+ICAjaW5jbHVkZSA8ZHJtL2RybV9wYW5lbC5oPgo+IC0jaW5jbHVk ZSA8ZHJtL2RybV9kZXZpY2UuaD4KPiAgI2luY2x1ZGUgPGRybS9kcm1fcHJpbnQuaD4KPiAgCj4g ICNpbmNsdWRlIDx2aWRlby9taXBpX2Rpc3BsYXkuaD4KPiBAQCAtMzcsMTUgKzM3LDE2IEBAIHN0 cnVjdCBwYW5lbF9jbWQgewo+ICBzdHJ1Y3QgcGFuZWxfZGVzYyB7Cj4gIAljb25zdCBzdHJ1Y3Qg ZHJtX2Rpc3BsYXlfbW9kZSAqZGlzcGxheV9tb2RlOwo+ICAJdW5zaWduZWQgaW50IGJwYzsKPiAt CXVuc2lnbmVkIGludCB3aWR0aDsKPiAtCXVuc2lnbmVkIGludCBoZWlnaHQ7Cj4gKwl1bnNpZ25l ZCBpbnQgd2lkdGhfbW07Cj4gKwl1bnNpZ25lZCBpbnQgaGVpZ2h0X21tOwo+ICAKPiAgCXVuc2ln bmVkIGludCBkZWxheV90MTsKPiAgCXVuc2lnbmVkIGludCByZXNldF9kZWxheV90MjsKPiAgCXVu c2lnbmVkIGludCByZXNldF9kZWxheV90MzsKPiAgCXVuc2lnbmVkIGludCByZXNldF9kZWxheV90 NDsKPiArCXVuc2lnbmVkIGludCByZXNldF9kZWxheV90NTsKPiAgCj4gLQl1bnNpZ25lZCBsb25n IGZsYWdzOwo+ICsJdW5zaWduZWQgbG9uZyBtb2RlX2ZsYWdzOwo+ICAJZW51bSBtaXBpX2RzaV9w aXhlbF9mb3JtYXQgZm9ybWF0Owo+ICAJdW5zaWduZWQgaW50IGxhbmVzOwo+ICAJY29uc3Qgc3Ry dWN0IHBhbmVsX2NtZCAqb25fY21kczsKPiBAQCAtNTgsNyArNTksNyBAQCBzdHJ1Y3QgcGFuZWxf aW5mbyB7Cj4gIAljb25zdCBzdHJ1Y3QgcGFuZWxfZGVzYyAqZGVzYzsKPiAgCj4gIAlzdHJ1Y3Qg YmFja2xpZ2h0X2RldmljZSAqYmFja2xpZ2h0Owo+IC0Jc3RydWN0IGdwaW9fZGVzYyAqcmVzZXRf Z3BpbzsKPiArCXN0cnVjdCBncGlvX2Rlc2MgKmVuYWJsZV9ncGlvOwo+ICAJc3RydWN0IGdwaW9f ZGVzYyAqcHAzM19ncGlvOwo+ICAJc3RydWN0IGdwaW9fZGVzYyAqcHAxOF9ncGlvOwo+ICAKPiBA QCAtNjYsMTkgKzY3LDQ5IEBAIHN0cnVjdCBwYW5lbF9pbmZvIHsKPiAgCWJvb2wgZW5hYmxlZDsK PiAgfTsKPiAgCj4gK3N0YXRpYyBpbmxpbmUgc3RydWN0IHBhbmVsX2luZm8gKnRvX3BhbmVsX2lu Zm8oc3RydWN0IGRybV9wYW5lbCAqcGFuZWwpCj4gK3sKPiArCXJldHVybiBjb250YWluZXJfb2Yo cGFuZWwsIHN0cnVjdCBwYW5lbF9pbmZvLCBiYXNlKTsKPiArfQo+ICsKPiAgdm9pZCBzZXRfZ3Bp b3Moc3RydWN0IHBhbmVsX2luZm8gKnBpbmZvLCBpbnQgZW5hYmxlKQo+ICB7Cj4gLQlncGlvZF9z ZXRfdmFsdWUocGluZm8tPnJlc2V0X2dwaW8sIGVuYWJsZSk7Cj4gKwlncGlvZF9zZXRfdmFsdWUo cGluZm8tPmVuYWJsZV9ncGlvLCBlbmFibGUpOwo+ICAJZ3Bpb2Rfc2V0X3ZhbHVlKHBpbmZvLT5w cDMzX2dwaW8sIGVuYWJsZSk7Cj4gIAlncGlvZF9zZXRfdmFsdWUocGluZm8tPnBwMThfZ3Bpbywg ZW5hYmxlKTsKPiAgfQo+ICAKPiAtc3RhdGljIGlubGluZSBzdHJ1Y3QgcGFuZWxfaW5mbyAqdG9f cGFuZWxfaW5mbyhzdHJ1Y3QgZHJtX3BhbmVsICpwYW5lbCkKPiArc3RhdGljIGludCBzZW5kX21p cGlfY21kcyhzdHJ1Y3QgZHJtX3BhbmVsICpwYW5lbCwgY29uc3Qgc3RydWN0IHBhbmVsX2NtZCAq Y21kcykKPiAgewo+IC0JcmV0dXJuIGNvbnRhaW5lcl9vZihwYW5lbCwgc3RydWN0IHBhbmVsX2lu Zm8sIGJhc2UpOwo+ICsJc3RydWN0IHBhbmVsX2luZm8gKnBpbmZvID0gdG9fcGFuZWxfaW5mbyhw YW5lbCk7Cj4gKwl1bnNpZ25lZCBpbnQgaSA9IDA7Cj4gKwlpbnQgZXJyOwo+ICsKPiArCWlmICgh Y21kcykKPiArCQlyZXR1cm4gLUVGQVVMVDsKPiArCj4gKwlmb3IgKGkgPSAwOyBjbWRzW2ldLmxl biAhPSAwOyBpKyspIHsKPiArCQljb25zdCBzdHJ1Y3QgcGFuZWxfY21kICpjbWQgPSAmY21kc1tp XTsKPiArCj4gKwkJaWYgKGNtZC0+bGVuID09IDIpCj4gKwkJCWVyciA9IG1pcGlfZHNpX2Rjc193 cml0ZShwaW5mby0+bGluaywKPiArCQkJCQkJICAgIGNtZC0+ZGF0YVsxXSwgTlVMTCwgMCk7Cj4g KwkJZWxzZQo+ICsJCQllcnIgPSBtaXBpX2RzaV9kY3Nfd3JpdGUocGluZm8tPmxpbmssCj4gKwkJ CQkJCSAgICBjbWQtPmRhdGFbMV0sIGNtZC0+ZGF0YSArIDIsCj4gKwkJCQkJCSAgICBjbWQtPmxl biAtIDIpOwo+ICsKPiArCQlpZiAoZXJyIDwgMCkKPiArCQkJcmV0dXJuIGVycjsKPiArCj4gKwkJ dXNsZWVwX3JhbmdlKChjbWQtPmRhdGFbMF0pICogMTAwMCwKPiArCQkJICAgICgxICsgY21kLT5k YXRhWzBdKSAqIDEwMDApOwo+ICsJfQo+ICsKPiArCXJldHVybiAwOwo+ICB9Cj4gIAo+IC1zdGF0 aWMgaW50IHBhbmVsX2Rpc2FibGUoc3RydWN0IGRybV9wYW5lbCAqcGFuZWwpCj4gK3N0YXRpYyBp bnQgYm9lX3BhbmVsX2Rpc2FibGUoc3RydWN0IGRybV9wYW5lbCAqcGFuZWwpCj4gIHsKPiAgCXN0 cnVjdCBwYW5lbF9pbmZvICpwaW5mbyA9IHRvX3BhbmVsX2luZm8ocGFuZWwpOwo+ICAKPiBAQCAt ODksNyArMTIwLDcgQEAgc3RhdGljIGludCBwYW5lbF9kaXNhYmxlKHN0cnVjdCBkcm1fcGFuZWwg KnBhbmVsKQo+ICAJcmV0dXJuIDA7Cj4gIH0KPiAgCj4gLXN0YXRpYyBpbnQgcGFuZWxfdW5wcmVw YXJlKHN0cnVjdCBkcm1fcGFuZWwgKnBhbmVsKQo+ICtzdGF0aWMgaW50IGJvZV9wYW5lbF91bnBy ZXBhcmUoc3RydWN0IGRybV9wYW5lbCAqcGFuZWwpCj4gIHsKPiAgCXN0cnVjdCBwYW5lbF9pbmZv ICpwaW5mbyA9IHRvX3BhbmVsX2luZm8ocGFuZWwpOwo+ICAJaW50IGVycjsKPiBAQCAtOTgsMzQg KzEyOSwxNCBAQCBzdGF0aWMgaW50IHBhbmVsX3VucHJlcGFyZShzdHJ1Y3QgZHJtX3BhbmVsICpw YW5lbCkKPiAgCQlyZXR1cm4gMDsKPiAgCj4gIAkvKiBzZW5kIG9mZiBjb2RlICovCj4gLQlpZiAo cGluZm8tPmRlc2MtPm9mZl9jbWRzKSB7Cj4gLQkJY29uc3Qgc3RydWN0IHBhbmVsX2NtZCAqY21k cyA9IHBpbmZvLT5kZXNjLT5vZmZfY21kczsKPiAtCQl1bnNpZ25lZCBpbnQgaTsKPiAtCj4gLQkJ Zm9yIChpID0gMDsgY21kc1tpXS5sZW4gIT0gMDsgaSsrKSB7Cj4gLQkJCWNvbnN0IHN0cnVjdCBw YW5lbF9jbWQgKmNtZCA9ICZjbWRzW2ldOwo+IC0KPiAtCQkJaWYgKGNtZC0+bGVuID09IDIpCj4g LQkJCQllcnIgPSBtaXBpX2RzaV9kY3Nfd3JpdGUocGluZm8tPmxpbmssCj4gLQkJCQkJICAgIGNt ZC0+ZGF0YVsxXSwgTlVMTCwgMCk7Cj4gLQkJCWVsc2UKPiAtCQkJCWVyciA9IG1pcGlfZHNpX2Rj c193cml0ZShwaW5mby0+bGluaywKPiAtCQkJCQkgICAgY21kLT5kYXRhWzFdLCBjbWQtPmRhdGEg KyAyLAo+IC0JCQkJCSAgICBjbWQtPmxlbiAtIDIpOwo+IC0KPiAtCQkJaWYgKGVyciA8IDApIHsK PiAtCQkJCWRldl9lcnIocGFuZWwtPmRldiwKPiAtCQkJCQkiZmFpbGVkIHRvIHNlbmQgRENTIE9m ZiBDb2RlOiAlZFxuIiwKPiAtCQkJCQllcnIpOwo+IC0JCQkJZ290byBwb3dlcm9mZjsKPiAtCQkJ fQo+IC0JCQlpZiAoY21kLT5kYXRhWzBdKQo+IC0JCQkJdXNsZWVwX3JhbmdlKChjbWQtPmRhdGFb MF0pICogMTAwMCwKPiAtCQkJCQkgICAgKDEgKyBjbWQtPmRhdGFbMF0pICogMTAwMCk7Cj4gLQkJ fQo+ICsJZXJyID0gc2VuZF9taXBpX2NtZHMocGFuZWwsIHBpbmZvLT5kZXNjLT5vZmZfY21kcyk7 Cj4gKwlpZiAoZXJyIDwgMCkgewo+ICsJCWRldl9lcnIocGFuZWwtPmRldiwKPiArCQkJImZhaWxl ZCB0byBzZW5kIERDUyBPZmYgQ29kZTogJWRcbiIsCj4gKwkJCWVycik7Cj4gKwkJZ290byBwb3dl cm9mZjsKPiAgCX0KPiAgCj4gLQl1c2xlZXBfcmFuZ2UoMTAwMCwgMTAwMCk7Cj4gIAlzZXRfZ3Bp b3MocGluZm8sIDApOwo+ICAKPiAgCXBpbmZvLT5wcmVwYXJlZCA9IGZhbHNlOwo+IEBAIC0xMzcs NyArMTQ4LDcgQEAgc3RhdGljIGludCBwYW5lbF91bnByZXBhcmUoc3RydWN0IGRybV9wYW5lbCAq cGFuZWwpCj4gIAlyZXR1cm4gZXJyOwo+ICB9Cj4gIAo+IC1zdGF0aWMgaW50IHBhbmVsX3ByZXBh cmUoc3RydWN0IGRybV9wYW5lbCAqcGFuZWwpCj4gK3N0YXRpYyBpbnQgYm9lX3BhbmVsX3ByZXBh cmUoc3RydWN0IGRybV9wYW5lbCAqcGFuZWwpCj4gIHsKPiAgCXN0cnVjdCBwYW5lbF9pbmZvICpw aW5mbyA9IHRvX3BhbmVsX2luZm8ocGFuZWwpOwo+ICAJY29uc3Qgc3RydWN0IHBhbmVsX2Rlc2Mg KmRlc2MgPSBwaW5mby0+ZGVzYzsKPiBAQCAtMTUyLDQ3ICsxNjMsMjcgQEAgc3RhdGljIGludCBw YW5lbF9wcmVwYXJlKHN0cnVjdCBkcm1fcGFuZWwgKnBhbmVsKQo+ICAJZ3Bpb2Rfc2V0X3ZhbHVl KHBpbmZvLT5wcDMzX2dwaW8sIDEpOwo+ICAKPiAgCS8qIHJlc2V0IHNlcXVlbmNlICovCj4gLQkv LyBUMiAoPiAxNG1zKQo+ICAJdXNsZWVwX3JhbmdlKGRlc2MtPnJlc2V0X2RlbGF5X3QyLCAxMDAw ICsgZGVzYy0+cmVzZXRfZGVsYXlfdDIpOwo+ICAKPiAtCS8vIFQzICg+PSAwbXMpCj4gIAlpZiAo ZGVzYy0+cmVzZXRfZGVsYXlfdDMpIHsKPiAtCQlncGlvZF9zZXRfdmFsdWUocGluZm8tPnJlc2V0 X2dwaW8sIDEpOwo+ICsJCWdwaW9kX3NldF92YWx1ZShwaW5mby0+ZW5hYmxlX2dwaW8sIDEpOwo+ ICAJCXVzbGVlcF9yYW5nZShkZXNjLT5yZXNldF9kZWxheV90MywgMTAwMCArIGRlc2MtPnJlc2V0 X2RlbGF5X3QzKTsKPiAtCQlncGlvZF9zZXRfdmFsdWUocGluZm8tPnJlc2V0X2dwaW8sIDApOwo+ ICsJCWdwaW9kX3NldF92YWx1ZShwaW5mby0+ZW5hYmxlX2dwaW8sIDApOwo+ICAJfQo+ICAKPiAt CS8vIFQ0ICg+IDIwdXMpCj4gIAl1c2xlZXBfcmFuZ2UoZGVzYy0+cmVzZXRfZGVsYXlfdDQsIDEw MDAgKyBkZXNjLT5yZXNldF9kZWxheV90NCk7Cj4gLQlncGlvZF9zZXRfdmFsdWUocGluZm8tPnJl c2V0X2dwaW8sIDEpOwo+ICsJZ3Bpb2Rfc2V0X3ZhbHVlKHBpbmZvLT5lbmFibGVfZ3BpbywgMSk7 Cj4gKwo+ICsJaWYgKGRlc2MtPnJlc2V0X2RlbGF5X3Q1KQo+ICsJCXVzbGVlcF9yYW5nZShkZXNj LT5yZXNldF9kZWxheV90NSwgMTAwMCArIGRlc2MtPnJlc2V0X2RlbGF5X3Q1KTsKPiAgCj4gIAkv KiBzZW5kIGluaXQgY29kZSAqLwo+IC0JaWYgKHBpbmZvLT5kZXNjLT5vbl9jbWRzKSB7Cj4gLQkJ Y29uc3Qgc3RydWN0IHBhbmVsX2NtZCAqY21kcyA9IHBpbmZvLT5kZXNjLT5vbl9jbWRzOwo+IC0J CXVuc2lnbmVkIGludCBpOwo+IC0KPiAtCQlmb3IgKGkgPSAwOyBjbWRzW2ldLmxlbiAhPSAwOyBp KyspIHsKPiAtCQkJY29uc3Qgc3RydWN0IHBhbmVsX2NtZCAqY21kID0gJmNtZHNbaV07Cj4gLQo+ IC0JCQlpZiAoY21kLT5sZW4gPT0gMikKPiAtCQkJCWVyciA9IG1pcGlfZHNpX2Rjc193cml0ZShw aW5mby0+bGluaywKPiAtCQkJCQkgICAgY21kLT5kYXRhWzFdLCBOVUxMLCAwKTsKPiAtCQkJZWxz ZQo+IC0JCQkJZXJyID0gbWlwaV9kc2lfZGNzX3dyaXRlKHBpbmZvLT5saW5rLAo+IC0JCQkJCSAg ICBjbWQtPmRhdGFbMV0sIGNtZC0+ZGF0YSArIDIsCj4gLQkJCQkJICAgIGNtZC0+bGVuIC0gMik7 Cj4gLQo+IC0JCQlpZiAoZXJyIDwgMCkgewo+IC0JCQkJZGV2X2VycihwYW5lbC0+ZGV2LAo+IC0J CQkJCSJmYWlsZWQgdG8gc2VuZCBEQ1MgSW5pdCBDb2RlOiAlZFxuIiwKPiAtCQkJCQllcnIpOwo+ IC0JCQkJZ290byBwb3dlcm9mZjsKPiAtCQkJfQo+IC0KPiAtCQkJaWYgKGNtZC0+ZGF0YVswXSkK PiAtCQkJCXVzbGVlcF9yYW5nZShjbWQtPmRhdGFbMF0gKiAxMDAwLAo+IC0JCQkJCSAgICAoMSAr IGNtZC0+ZGF0YVswXSkgKiAxMDAwKTsKPiAtCQl9Cj4gKwllcnIgPSBzZW5kX21pcGlfY21kcyhw YW5lbCwgcGluZm8tPmRlc2MtPm9uX2NtZHMpOwo+ICsJaWYgKGVyciA8IDApIHsKPiArCQlkZXZf ZXJyKHBhbmVsLT5kZXYsCj4gKwkJCSJmYWlsZWQgdG8gc2VuZCBEQ1MgSW5pdCBDb2RlOiAlZFxu IiwKPiArCQkJZXJyKTsKPiArCQlnb3RvIHBvd2Vyb2ZmOwo+ICAJfQo+ICAKPiAgCXBpbmZvLT5w cmVwYXJlZCA9IHRydWU7Cj4gQEAgLTIwNCw3ICsxOTUsNyBAQCBzdGF0aWMgaW50IHBhbmVsX3By ZXBhcmUoc3RydWN0IGRybV9wYW5lbCAqcGFuZWwpCj4gIAlyZXR1cm4gZXJyOwo+ICB9Cj4gIAo+ IC1zdGF0aWMgaW50IHBhbmVsX2VuYWJsZShzdHJ1Y3QgZHJtX3BhbmVsICpwYW5lbCkKPiArc3Rh dGljIGludCBib2VfcGFuZWxfZW5hYmxlKHN0cnVjdCBkcm1fcGFuZWwgKnBhbmVsKQo+ICB7Cj4g IAlzdHJ1Y3QgcGFuZWxfaW5mbyAqcGluZm8gPSB0b19wYW5lbF9pbmZvKHBhbmVsKTsKPiAgCWlu dCByZXQ7Cj4gQEAgLTIyNCw3ICsyMTUsNyBAQCBzdGF0aWMgaW50IHBhbmVsX2VuYWJsZShzdHJ1 Y3QgZHJtX3BhbmVsICpwYW5lbCkKPiAgCXJldHVybiAwOwo+ICB9Cj4gIAo+IC1zdGF0aWMgaW50 IHBhbmVsX2dldF9tb2RlcyhzdHJ1Y3QgZHJtX3BhbmVsICpwYW5lbCkKPiArc3RhdGljIGludCBi b2VfcGFuZWxfZ2V0X21vZGVzKHN0cnVjdCBkcm1fcGFuZWwgKnBhbmVsKQo+ICB7Cj4gIAlzdHJ1 Y3QgcGFuZWxfaW5mbyAqcGluZm8gPSB0b19wYW5lbF9pbmZvKHBhbmVsKTsKPiAgCWNvbnN0IHN0 cnVjdCBkcm1fZGlzcGxheV9tb2RlICptID0gcGluZm8tPmRlc2MtPmRpc3BsYXlfbW9kZTsKPiBA QCAtMjMyLDcgKzIyMyw3IEBAIHN0YXRpYyBpbnQgcGFuZWxfZ2V0X21vZGVzKHN0cnVjdCBkcm1f cGFuZWwgKnBhbmVsKQo+ICAKPiAgCW1vZGUgPSBkcm1fbW9kZV9kdXBsaWNhdGUocGFuZWwtPmRy bSwgbSk7Cj4gIAlpZiAoIW1vZGUpIHsKPiAtCQlEUk1fREVWX0VSUk9SKHBhbmVsLT5kcm0tPmRl diwgImZhaWxlZCB0byBhZGQgbW9kZSAldXgldXhAJXVcbiIsCj4gKwkJRFJNX0RFVl9FUlJPUihw YW5lbC0+ZHJtLT5kZXYsICJmYWlsZWQgdG8gYWRkIG1vZGUgJXV4JXVAJXVcbiIsCj4gIAkJCQlt LT5oZGlzcGxheSwgbS0+dmRpc3BsYXksIG0tPnZyZWZyZXNoKTsKPiAgCQlyZXR1cm4gLUVOT01F TTsKPiAgCX0KPiBAQCAtMjQxLDE5ICsyMzIsMTkgQEAgc3RhdGljIGludCBwYW5lbF9nZXRfbW9k ZXMoc3RydWN0IGRybV9wYW5lbCAqcGFuZWwpCj4gIAo+ICAJZHJtX21vZGVfcHJvYmVkX2FkZChw YW5lbC0+Y29ubmVjdG9yLCBtb2RlKTsKPiAgCj4gLQlwYW5lbC0+Y29ubmVjdG9yLT5kaXNwbGF5 X2luZm8ud2lkdGhfbW0gPSBwaW5mby0+ZGVzYy0+d2lkdGg7Cj4gLQlwYW5lbC0+Y29ubmVjdG9y LT5kaXNwbGF5X2luZm8uaGVpZ2h0X21tID0gcGluZm8tPmRlc2MtPmhlaWdodDsKPiArCXBhbmVs LT5jb25uZWN0b3ItPmRpc3BsYXlfaW5mby53aWR0aF9tbSA9IHBpbmZvLT5kZXNjLT53aWR0aF9t bTsKPiArCXBhbmVsLT5jb25uZWN0b3ItPmRpc3BsYXlfaW5mby5oZWlnaHRfbW0gPSBwaW5mby0+ ZGVzYy0+aGVpZ2h0X21tOwo+ICAJcGFuZWwtPmNvbm5lY3Rvci0+ZGlzcGxheV9pbmZvLmJwYyA9 IHBpbmZvLT5kZXNjLT5icGM7Cj4gIAo+ICAJcmV0dXJuIDE7Cj4gIH0KPiAgCj4gIHN0YXRpYyBj b25zdCBzdHJ1Y3QgZHJtX3BhbmVsX2Z1bmNzIHBhbmVsX2Z1bmNzID0gewo+IC0JLmRpc2FibGUg PSBwYW5lbF9kaXNhYmxlLAo+IC0JLnVucHJlcGFyZSA9IHBhbmVsX3VucHJlcGFyZSwKPiAtCS5w cmVwYXJlID0gcGFuZWxfcHJlcGFyZSwKPiAtCS5lbmFibGUgPSBwYW5lbF9lbmFibGUsCj4gLQku Z2V0X21vZGVzID0gcGFuZWxfZ2V0X21vZGVzLAo+ICsJLmRpc2FibGUgPSBib2VfcGFuZWxfZGlz YWJsZSwKPiArCS51bnByZXBhcmUgPSBib2VfcGFuZWxfdW5wcmVwYXJlLAo+ICsJLnByZXBhcmUg PSBib2VfcGFuZWxfcHJlcGFyZSwKPiArCS5lbmFibGUgPSBib2VfcGFuZWxfZW5hYmxlLAo+ICsJ LmdldF9tb2RlcyA9IGJvZV9wYW5lbF9nZXRfbW9kZXMsCj4gIH07Cj4gIAo+ICAvKiA4IGluY2gg Ki8KPiBAQCAtNTc5LDcgKzU3MCw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgcGFuZWxfY21kIGJv ZV9oaW1heDgyNzlkOHBfb25fY21kc1tdID0gewo+ICAKPiAgc3RhdGljIGNvbnN0IHN0cnVjdCBw YW5lbF9jbWQgYm9lX2hpbWF4ODI3OWQ4cF9vZmZfY21kc1tdID0gewo+ICAJX0lOSVRfQ01EKDB4 MDAsIDB4MjgpLAo+IC0JX0lOSVRfQ01EKDB4MDAsIDB4MTApLAo+ICsJX0lOSVRfQ01EKDB4MDEs IDB4MTApLAo+ICAKPiAgCXt9LAo+ICB9Owo+IEBAIC01ODcsMTQgKzU3OCwxNSBAQCBzdGF0aWMg Y29uc3Qgc3RydWN0IHBhbmVsX2NtZCBib2VfaGltYXg4Mjc5ZDhwX29mZl9jbWRzW10gPSB7Cj4g IHN0YXRpYyBjb25zdCBzdHJ1Y3QgcGFuZWxfZGVzYyBib2VfaGltYXg4Mjc5ZDhwX3BhbmVsX2Rl c2MgPSB7Cj4gIAkuZGlzcGxheV9tb2RlID0gJmJvZV9oaW1heDgyNzlkOHBfZGlzcGxheV9tb2Rl LAo+ICAJLmJwYyA9IDgsCj4gLQkud2lkdGggPSAxMDcsCj4gLQkuaGVpZ2h0ID0gMTcyLAo+ICsJ LndpZHRoX21tID0gMTA3LAo+ICsJLmhlaWdodF9tbSA9IDE3MiwKPiAgCS5kZWxheV90MSA9IDUw MDAsCj4gIAkucmVzZXRfZGVsYXlfdDIgPSAxNDAwMCwKPiAgCS5yZXNldF9kZWxheV90MyA9IDEw MDAsCj4gIAkucmVzZXRfZGVsYXlfdDQgPSAxMDAwLAo+IC0JLmZsYWdzID0gTUlQSV9EU0lfTU9E RV9WSURFTyB8IE1JUElfRFNJX01PREVfVklERU9fU1lOQ19QVUxTRSB8Cj4gLQkJICAgIE1JUElf RFNJX0NMT0NLX05PTl9DT05USU5VT1VTIHwgTUlQSV9EU0lfTU9ERV9MUE0sCj4gKwkucmVzZXRf ZGVsYXlfdDUgPSA1MDAwLAo+ICsJLm1vZGVfZmxhZ3MgPSBNSVBJX0RTSV9NT0RFX1ZJREVPIHwg TUlQSV9EU0lfTU9ERV9WSURFT19TWU5DX1BVTFNFIHwKPiArCQkJTUlQSV9EU0lfQ0xPQ0tfTk9O X0NPTlRJTlVPVVMgfCBNSVBJX0RTSV9NT0RFX0xQTSwKPiAgCS5mb3JtYXQgPSBNSVBJX0RTSV9G TVRfUkdCODg4LAo+ICAJLmxhbmVzID0gNCwKPiAgCS5vbl9jbWRzID0gYm9lX2hpbWF4ODI3OWQ4 cF9vbl9jbWRzLAo+IEBAIC05MjEsNyArOTEzLDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBwYW5l bF9jbWQgYm9lX2hpbWF4ODI3OWQxMHBfb25fY21kc1tdID0gewo+ICAKPiAgc3RhdGljIGNvbnN0 IHN0cnVjdCBwYW5lbF9jbWQgYm9lX2hpbWF4ODI3OWQxMHBfb2ZmX2NtZHNbXSA9IHsKPiAgCV9J TklUX0NNRCgweDAwLCAweDI4KSwKPiAtCV9JTklUX0NNRCgweDAwLCAweDEwKSwKPiArCV9JTklU X0NNRCgweDAxLCAweDEwKSwKPiAgCj4gIAl7fSwKPiAgfTsKPiBAQCAtOTI5LDE0ICs5MjEsMTUg QEAgc3RhdGljIGNvbnN0IHN0cnVjdCBwYW5lbF9jbWQgYm9lX2hpbWF4ODI3OWQxMHBfb2ZmX2Nt ZHNbXSA9IHsKPiAgc3RhdGljIGNvbnN0IHN0cnVjdCBwYW5lbF9kZXNjIGJvZV9oaW1heDgyNzlk MTBwX3BhbmVsX2Rlc2MgPSB7Cj4gIAkuZGlzcGxheV9tb2RlID0gJmJvZV9oaW1heDgyNzlkMTBw X2Rpc3BsYXlfbW9kZSwKPiAgCS5icGMgPSA4LAo+IC0JLndpZHRoID0gMTM1LAo+IC0JLmhlaWdo dCA9IDIxNiwKPiArCS53aWR0aF9tbSA9IDEzNSwKPiArCS5oZWlnaHRfbW0gPSAyMTYsCj4gIAku ZGVsYXlfdDEgPSA1MDAwLAo+ICAJLnJlc2V0X2RlbGF5X3QyID0gMTQwMDAsCj4gIAkucmVzZXRf ZGVsYXlfdDMgPSAxMDAwLAo+ICAJLnJlc2V0X2RlbGF5X3Q0ID0gMTAwMCwKPiAtCS5mbGFncyA9 IE1JUElfRFNJX01PREVfVklERU8gfCBNSVBJX0RTSV9NT0RFX1ZJREVPX1NZTkNfUFVMU0UgfAo+ IC0JCSAgICBNSVBJX0RTSV9DTE9DS19OT05fQ09OVElOVU9VUyB8IE1JUElfRFNJX01PREVfTFBN LAo+ICsJLnJlc2V0X2RlbGF5X3Q1ID0gNTAwMCwKPiArCS5tb2RlX2ZsYWdzID0gTUlQSV9EU0lf TU9ERV9WSURFTyB8IE1JUElfRFNJX01PREVfVklERU9fU1lOQ19QVUxTRSB8Cj4gKwkJCU1JUElf RFNJX0NMT0NLX05PTl9DT05USU5VT1VTIHwgTUlQSV9EU0lfTU9ERV9MUE0sCj4gIAkuZm9ybWF0 ID0gTUlQSV9EU0lfRk1UX1JHQjg4OCwKPiAgCS5sYW5lcyA9IDQsCj4gIAkub25fY21kcyA9IGJv ZV9oaW1heDgyNzlkMTBwX29uX2NtZHMsCj4gQEAgLTk0NiwxMSArOTM5LDExIEBAIHN0YXRpYyBj b25zdCBzdHJ1Y3QgcGFuZWxfZGVzYyBib2VfaGltYXg4Mjc5ZDEwcF9wYW5lbF9kZXNjID0gewo+ ICBzdGF0aWMgY29uc3Qgc3RydWN0IG9mX2RldmljZV9pZCBwYW5lbF9vZl9tYXRjaFtdID0gewo+ ICAJeyAuY29tcGF0aWJsZSA9ICJib2UsaGltYXg4Mjc5ZDhwIiwKPiAgCSAgLmRhdGEgPSAmYm9l X2hpbWF4ODI3OWQ4cF9wYW5lbF9kZXNjCj4gLQl9LAo+IC0JeyAuY29tcGF0aWJsZSA9ICJib2Us aGltYXg4Mjc5ZDEwcCIsCj4gKwl9LCB7IC5jb21wYXRpYmxlID0gImJvZSxoaW1heDgyNzlkMTBw IiwKPiAgCSAgLmRhdGEgPSAmYm9lX2hpbWF4ODI3OWQxMHBfcGFuZWxfZGVzYwo+IC0JfSwKPiAt CXsgfQo+ICsJfSwgewo+ICsJCS8qIHNlbnRpbmVsICovCj4gKwl9Cj4gIH07Cj4gIE1PRFVMRV9E RVZJQ0VfVEFCTEUob2YsIHBhbmVsX29mX21hdGNoKTsKPiAgCj4gQEAgLTk3MywxMiArOTY2LDEy IEBAIHN0YXRpYyBpbnQgcGFuZWxfYWRkKHN0cnVjdCBwYW5lbF9pbmZvICpwaW5mbykKPiAgCQlw aW5mby0+cHAzM19ncGlvID0gTlVMTDsKPiAgCX0KPiAgCj4gLQlwaW5mby0+cmVzZXRfZ3BpbyA9 IGRldm1fZ3Bpb2RfZ2V0X29wdGlvbmFsKGRldiwgImVuYWJsZSIsCj4gKwlwaW5mby0+ZW5hYmxl X2dwaW8gPSBkZXZtX2dwaW9kX2dldF9vcHRpb25hbChkZXYsICJlbmFibGUiLAo+ICAJCQkJCQkg ICAgR1BJT0RfT1VUX0xPVyk7Cj4gLQlpZiAoSVNfRVJSKHBpbmZvLT5yZXNldF9ncGlvKSkgewo+ IC0JCWVyciA9IFBUUl9FUlIocGluZm8tPnJlc2V0X2dwaW8pOwo+ICsJaWYgKElTX0VSUihwaW5m by0+ZW5hYmxlX2dwaW8pKSB7Cj4gKwkJZXJyID0gUFRSX0VSUihwaW5mby0+ZW5hYmxlX2dwaW8p Owo+ICAJCWRldl9lcnIoZGV2LCAiZmFpbGVkIHRvIGdldCBlbmFibGUgZ3BpbzogJWRcbiIsIGVy cik7Cj4gLQkJcGluZm8tPnJlc2V0X2dwaW8gPSBOVUxMOwo+ICsJCXBpbmZvLT5lbmFibGVfZ3Bp byA9IE5VTEw7Cj4gIAl9Cj4gIAo+ICAJcGluZm8tPmJhY2tsaWdodCA9IGRldm1fb2ZfZmluZF9i YWNrbGlnaHQoZGV2KTsKPiBAQCAtMTAwNSwxNSArOTk4LDE1IEBAIHN0YXRpYyB2b2lkIHBhbmVs X2RlbChzdHJ1Y3QgcGFuZWxfaW5mbyAqcGluZm8pCj4gIHN0YXRpYyBpbnQgcGFuZWxfcHJvYmUo c3RydWN0IG1pcGlfZHNpX2RldmljZSAqZHNpKQo+ICB7Cj4gIAlzdHJ1Y3QgcGFuZWxfaW5mbyAq cGluZm87Cj4gLQlpbnQgZXJyOwo+ICAJY29uc3Qgc3RydWN0IHBhbmVsX2Rlc2MgKmRlc2M7Cj4g KwlpbnQgZXJyOwo+ICAKPiAgCXBpbmZvID0gZGV2bV9remFsbG9jKCZkc2ktPmRldiwgc2l6ZW9m KCpwaW5mbyksIEdGUF9LRVJORUwpOwo+ICAJaWYgKCFwaW5mbykKPiAgCQlyZXR1cm4gLUVOT01F TTsKPiAgCj4gIAlkZXNjID0gb2ZfZGV2aWNlX2dldF9tYXRjaF9kYXRhKCZkc2ktPmRldik7Cj4g LQlkc2ktPm1vZGVfZmxhZ3MgPSBkZXNjLT5mbGFnczsKPiArCWRzaS0+bW9kZV9mbGFncyA9IGRl c2MtPm1vZGVfZmxhZ3M7Cj4gIAlkc2ktPmZvcm1hdCA9IGRlc2MtPmZvcm1hdDsKPiAgCWRzaS0+ bGFuZXMgPSBkZXNjLT5sYW5lczsKPiAgCXBpbmZvLT5kZXNjID0gZGVzYzsKPiBAQCAtMTAzMywx MiArMTAyNiwxMiBAQCBzdGF0aWMgaW50IHBhbmVsX3JlbW92ZShzdHJ1Y3QgbWlwaV9kc2lfZGV2 aWNlICpkc2kpCj4gIAlzdHJ1Y3QgcGFuZWxfaW5mbyAqcGluZm8gPSBtaXBpX2RzaV9nZXRfZHJ2 ZGF0YShkc2kpOwo+ICAJaW50IGVycjsKPiAgCj4gLQllcnIgPSBwYW5lbF91bnByZXBhcmUoJnBp bmZvLT5iYXNlKTsKPiArCWVyciA9IGJvZV9wYW5lbF91bnByZXBhcmUoJnBpbmZvLT5iYXNlKTsK PiAgCWlmIChlcnIgPCAwKQo+ICAJCURSTV9ERVZfRVJST1IoJmRzaS0+ZGV2LCAiZmFpbGVkIHRv IHVucHJlcGFyZSBwYW5lbDogJWRcbiIsCj4gIAkJCQkJCWVycik7Cj4gIAo+IC0JZXJyID0gcGFu ZWxfZGlzYWJsZSgmcGluZm8tPmJhc2UpOwo+ICsJZXJyID0gYm9lX3BhbmVsX2Rpc2FibGUoJnBp bmZvLT5iYXNlKTsKPiAgCWlmIChlcnIgPCAwKQo+ICAJCURSTV9ERVZfRVJST1IoJmRzaS0+ZGV2 LCAiZmFpbGVkIHRvIGRpc2FibGUgcGFuZWw6ICVkXG4iLCBlcnIpOwo+ICAKPiBAQCAtMTA1Nyw4 ICsxMDUwLDggQEAgc3RhdGljIHZvaWQgcGFuZWxfc2h1dGRvd24oc3RydWN0IG1pcGlfZHNpX2Rl dmljZSAqZHNpKQo+ICB7Cj4gIAlzdHJ1Y3QgcGFuZWxfaW5mbyAqcGluZm8gPSBtaXBpX2RzaV9n ZXRfZHJ2ZGF0YShkc2kpOwo+ICAKPiAtCXBhbmVsX2Rpc2FibGUoJnBpbmZvLT5iYXNlKTsKPiAt CXBhbmVsX3VucHJlcGFyZSgmcGluZm8tPmJhc2UpOwo+ICsJYm9lX3BhbmVsX2Rpc2FibGUoJnBp bmZvLT5iYXNlKTsKPiArCWJvZV9wYW5lbF91bnByZXBhcmUoJnBpbmZvLT5iYXNlKTsKPiAgfQo+ ICAKPiAgc3RhdGljIHN0cnVjdCBtaXBpX2RzaV9kcml2ZXIgcGFuZWxfZHJpdmVyID0gewo+IC0t IAo+IDIuMTcuMQo+IAoKPiBGcm9tIDEyNGQ4ZWVlZTAyODU0YTNiOWQ2ZmJhOWQ2YTVjZWVkNmQ2 ZjgyMGYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCj4gRnJvbTogSmVycnkgSGFuIDxoYW54dTVA aHVhcWluLmNvcnAtcGFydG5lci5nb29nbGUuY29tPgo+IERhdGU6IFRodSwgMSBBdWcgMjAxOSAx NjowNjoyMiArMDgwMAo+IFN1YmplY3Q6IFtQQVRDSCAwNS8xMF0gW3Y1LDIvMl0gZHJtL3BhbmVs OiBBZGQgQm9lIEhpbWF4ODI3OWQgTUlQSS1EU0kgTENECj4gIHBhbmVsCj4gCj4gU3VwcG9ydCBC b2UgSGltYXg4Mjc5ZCA4LjAiIDEyMDB4MTkyMCBURlQgTENEIHBhbmVsLCBpdCBpcyBhIE1JUEkg RFNJCj4gcGFuZWwuCj4gCj4gdjU6Cj4gLSBBZGRlZCBjaGFuZ2Vsb2cKPiAKPiB2NDoKPiAtIEZy ZWZpeCBhbGwgZnVuY3Rpb24gbWFlcyB3aXRoIGJvZV8gKFNhbSkKPiAtIEZzZWQgImVuYWJsZV9n cGlvIiByZXBsYWNlICJyZXNldF9ncGlvIiwgTWFrZSBpdCBsb29rIGNsZWFyZXIgKFNhbSkKPiAt IFNvcnQgaW5jbHVkZSBsaW5lcyBhbHBoYWJldGljYWxseSAoU2FtKQo+IC0gRml4ZWQgZW50cmll cyBpbiB0aGUgbWFrZWZpbGUgbXVzdCBiZSBzb3J0ZWQgYWxwaGFiZXRpY2FsbHkgKFNhbSkKPiAt IEFkZCBzZW5kX21pcGlfY21kcyBmdW5jdGlvbiB0byBhdm9pZCBkdXBsaWNhdGluZyB0aGUgY29k ZSAoU2FtKQo+IC0gQWRkIHRoZSBuZWNlc3NhcnkgZGVsYXkocmVzZXRfZGVsYXlfdDUpIGJldHdl ZW4gcmVzZXQgYW5kIHNlbmRpbmcKPiAgICAgdGhlIGluaXRpYWxpemF0aW9uIGNvbW1hbmQgKFJv Y2sgd2FuZykKPiAKPiB2MzoKPiAtIFJlbW92ZSB1bm5lY2Vzc2FyeSBkZWxheXMgaW4gc2VuZGlu ZyBpbml0aWFsaXphdGlvbiBjb21tYW5kcyAoSml0YW8gU2hpKQo+IAo+IFYyOgo+IC0gVXNlIFNQ RFggaWRlbnRpZmllciAoU2FtKQo+IC0gVXNlIG5lY2Vzc2FyeSBoZWFkZXIgZmlsZXMgcmVwbGFj ZSBkcm1QLmggKFNhbSkKPiAtIERlbGV0ZSB1bm5lY2Vzc2FyeSBoZWFkZXIgZmlsZXMgI2luY2x1 ZGUgPGxpbnV4L2Vyci5oPiAoU2FtKQo+IC0gU3BlY2lmaWVzIGEgR1BJT3MgYXJyYXkgdG8gY29u dHJvbCB0aGUgcmVzZXQgdGltaW5nLAo+ICAgICBpbnN0ZWFkIG9mIHJlYWRpbmcgImRzaS1yZXNl dC1zZXF1ZW5jZSIgZGF0YSBmcm9tIERUUyAoU2FtKQo+IC0gRGVsZXRlIGJhY2tsaWdodF9kaXNh YmxlKCkgZnVuY3Rpb24gd2hlbiBhbHJlYWR5IGRpc2FibGVkIChTYW0pCj4gLSBVc2UgZGV2bV9v Zl9maW5kX2JhY2tsaWdodCgpIHJlcGxhY2Ugb2ZfZmluZF9iYWNrbGlnaHRfYnlfbm9kZSgpIChT YW0pCj4gLSBNb3ZlIHRoZSBuZWNlc3NhcnkgZGF0YSBpbiB0aGUgRFRTIHRvIHRoZSBjdXJyZW50 IGZpbGUsCj4gICAgIGxpa2UgcG9yY2gsIGRpc3BsYXlfbW9kZSBhbmQgSW5pdCBjb2RlIGV0Yy4g KFNhbSkKPiAtIEFkZCBjb21wYXRpYmxlIGRldmljZSAiYm9lLGhpbWF4ODI3OWQxMHAiIChTYW0p Cj4gCj4gVjE6Cj4gLSBTdXBwb3J0IEJvZSBIaW1heDgyNzlkIDguMCIgMTIwMHgxOTIwIFRGVCBM Q0QgcGFuZWwsIGl0IGlzIGEgTUlQSSBEU0kKPiAgICAgcGFuZWwuCj4gCj4gU2lnbmVkLW9mZi1i eTogSmVycnkgSGFuIDxoYW54dTVAaHVhcWluLmNvcnAtcGFydG5lci5nb29nbGUuY29tPgo+IENj OiBKaXRhbyBTaGkgPGppdGFvLnNoaUBtZWRpYXRlay5jb20+Cj4gQ2M6IERlcmVrIEJhc2Vob3Jl IDxkYmFzZWhvcmVAY2hyb21pdW0ub3JnPgo+IENjOiBSb2NrIHdhbmcgPHJvY2tfd2FuZ0BoaW1h eC5jb20uY24+Cj4gLS0gCj4gMi4xNy4xCj4gCgo+IEZyb20gMDJiYjM5YjZmYzA3NzgzNzAwMTUw ZDJiOWFlNTY3NDEwNzU0Y2Q0NyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKPiBGcm9tOiBKZXJy eSBIYW4gPGhhbnh1NUBodWFxaW4uY29ycC1wYXJ0bmVyLmdvb2dsZS5jb20+Cj4gRGF0ZTogVGh1 LCAxIEF1ZyAyMDE5IDE2OjExOjMzICswODAwCj4gU3ViamVjdDogW1BBVENIIDA2LzEwXSBbdjYs Mi8yXSBkcm0vcGFuZWw6IEFkZCBCb2UgSGltYXg4Mjc5ZCBNSVBJLURTSSBMQ0QKPiAgcGFuZWwK PiAKPiBTdXBwb3J0IEJvZSBIaW1heDgyNzlkIDguMCIgMTIwMHgxOTIwIFRGVCBMQ0QgcGFuZWws IGl0IGlzIGEgTUlQSSBEU0kKPiBwYW5lbC4KPiAKPiBWNjoKPiAtIEFkZCB0aGUgaW5mb3JtYXRp b24gb2YgdGhlIHJldmlld2VyIChTYW0pCj4gLSBEZWxldGUgdW5uZWNlc3NhcnkgaGVhZGVyIGZp bGVzICNpbmNsdWRlIDxsaW51eC9mYi5oPiAoU2FtKQo+IC0gVGhlIGNvbmZpZyBEUk1fUEFORUxf Qk9FX0hJTUFYODI3OUQgYXBwZWFycyB0d2ljZS4gRHJvcCBvbmUgb2YKPiAgICAgdGhlbSAoU2Ft KQo+IC0gQUREIHN0YXRpYywgc2V0X2dwaW9zIGZ1bmN0aW9uIGlzIG5vdCB1c2VkIG91dHNpZGUg dGhpcyBtb2R1bGUKPiAgICAgKFNhbSkKPiAKPiBWNToKPiAtIEFkZGVkIGNoYW5nZWxvZwo+IAo+ IFY0Ogo+IC0gRnJlZml4IGFsbCBmdW5jdGlvbiBtYWVzIHdpdGggYm9lXyAoU2FtKQo+IC0gRnNl ZCAiZW5hYmxlX2dwaW8iIHJlcGxhY2UgInJlc2V0X2dwaW8iLCBNYWtlIGl0IGxvb2sgY2xlYXJl ciAoU2FtKQo+IC0gU29ydCBpbmNsdWRlIGxpbmVzIGFscGhhYmV0aWNhbGx5IChTYW0pCj4gLSBG aXhlZCBlbnRyaWVzIGluIHRoZSBtYWtlZmlsZSBtdXN0IGJlIHNvcnRlZCBhbHBoYWJldGljYWxs eSAoU2FtKQo+IC0gQWRkIHNlbmRfbWlwaV9jbWRzIGZ1bmN0aW9uIHRvIGF2b2lkIGR1cGxpY2F0 aW5nIHRoZSBjb2RlIChTYW0pCj4gLSBBZGQgdGhlIG5lY2Vzc2FyeSBkZWxheShyZXNldF9kZWxh eV90NSkgYmV0d2VlbiByZXNldCBhbmQgc2VuZGluZwo+ICAgICB0aGUgaW5pdGlhbGl6YXRpb24g Y29tbWFuZCAoUm9jayB3YW5nKQo+IAo+IFYzOgo+IC0gUmVtb3ZlIHVubmVjZXNzYXJ5IGRlbGF5 cyBpbiBzZW5kaW5nIGluaXRpYWxpemF0aW9uIGNvbW1hbmRzIChKaXRhbyBTaGkpCj4gCj4gVjI6 Cj4gLSBVc2UgU1BEWCBpZGVudGlmaWVyIChTYW0pCj4gLSBVc2UgbmVjZXNzYXJ5IGhlYWRlciBm aWxlcyByZXBsYWNlIGRybVAuaCAoU2FtKQo+IC0gRGVsZXRlIHVubmVjZXNzYXJ5IGhlYWRlciBm aWxlcyAjaW5jbHVkZSA8bGludXgvZXJyLmg+IChTYW0pCj4gLSBTcGVjaWZpZXMgYSBHUElPcyBh cnJheSB0byBjb250cm9sIHRoZSByZXNldCB0aW1pbmcsCj4gICAgIGluc3RlYWQgb2YgcmVhZGlu ZyAiZHNpLXJlc2V0LXNlcXVlbmNlIiBkYXRhIGZyb20gRFRTIChTYW0pCj4gLSBEZWxldGUgYmFj a2xpZ2h0X2Rpc2FibGUoKSBmdW5jdGlvbiB3aGVuIGFscmVhZHkgZGlzYWJsZWQgKFNhbSkKPiAt IFVzZSBkZXZtX29mX2ZpbmRfYmFja2xpZ2h0KCkgcmVwbGFjZSBvZl9maW5kX2JhY2tsaWdodF9i eV9ub2RlKCkgKFNhbSkKPiAtIE1vdmUgdGhlIG5lY2Vzc2FyeSBkYXRhIGluIHRoZSBEVFMgdG8g dGhlIGN1cnJlbnQgZmlsZSwKPiAgICAgbGlrZSBwb3JjaCwgZGlzcGxheV9tb2RlIGFuZCBJbml0 IGNvZGUgZXRjLiAoU2FtKQo+IC0gQWRkIGNvbXBhdGlibGUgZGV2aWNlICJib2UsaGltYXg4Mjc5 ZDEwcCIgKFNhbSkKPiAKPiBWMToKPiAtIFN1cHBvcnQgQm9lIEhpbWF4ODI3OWQgOC4wIiAxMjAw eDE5MjAgVEZUIExDRCBwYW5lbCwgaXQgaXMgYSBNSVBJIERTSQo+ICAgICBwYW5lbC4KPiAKPiBT aWduZWQtb2ZmLWJ5OiBKZXJyeSBIYW4gPGhhbnh1NUBodWFxaW4uY29ycC1wYXJ0bmVyLmdvb2ds ZS5jb20+Cj4gUmV2aWV3ZWQtYnk6IFNhbSBSYXZuYm9yZyA8c2FtQHJhdm5ib3JnLm9yZz4KPiBD YzogSml0YW8gU2hpIDxqaXRhby5zaGlAbWVkaWF0ZWsuY29tPgo+IENjOiBEZXJlayBCYXNlaG9y ZSA8ZGJhc2Vob3JlQGNocm9taXVtLm9yZz4KPiBDYzogUm9jayB3YW5nIDxyb2NrX3dhbmdAaGlt YXguY29tLmNuPgo+IC0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtYm9lLWhpbWF4 ODI3OWQuYyB8IDMgKy0tCj4gIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMiBkZWxl dGlvbnMoLSkKPiAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLWJv ZS1oaW1heDgyNzlkLmMgYi9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtYm9lLWhpbWF4ODI3 OWQuYwo+IGluZGV4IGFhN2Q5MTI3OTgxOS4uYzA1MGE0ODQ4N2EyIDEwMDY0NAo+IC0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1ib2UtaGltYXg4Mjc5ZC5jCj4gKysrIGIvZHJpdmVy cy9ncHUvZHJtL3BhbmVsL3BhbmVsLWJvZS1oaW1heDgyNzlkLmMKPiBAQCAtOCw3ICs4LDYgQEAK PiAgCj4gICNpbmNsdWRlIDxsaW51eC9iYWNrbGlnaHQuaD4KPiAgI2luY2x1ZGUgPGxpbnV4L2Rl bGF5Lmg+Cj4gLSNpbmNsdWRlIDxsaW51eC9mYi5oPgo+ICAjaW5jbHVkZSA8bGludXgva2VybmVs Lmg+Cj4gICNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KPiAgI2luY2x1ZGUgPGxpbnV4L29mLmg+ Cj4gQEAgLTcyLDcgKzcxLDcgQEAgc3RhdGljIGlubGluZSBzdHJ1Y3QgcGFuZWxfaW5mbyAqdG9f cGFuZWxfaW5mbyhzdHJ1Y3QgZHJtX3BhbmVsICpwYW5lbCkKPiAgCXJldHVybiBjb250YWluZXJf b2YocGFuZWwsIHN0cnVjdCBwYW5lbF9pbmZvLCBiYXNlKTsKPiAgfQo+ICAKPiAtdm9pZCBzZXRf Z3Bpb3Moc3RydWN0IHBhbmVsX2luZm8gKnBpbmZvLCBpbnQgZW5hYmxlKQo+ICtzdGF0aWMgdm9p ZCBzZXRfZ3Bpb3Moc3RydWN0IHBhbmVsX2luZm8gKnBpbmZvLCBpbnQgZW5hYmxlKQo+ICB7Cj4g IAlncGlvZF9zZXRfdmFsdWUocGluZm8tPmVuYWJsZV9ncGlvLCBlbmFibGUpOwo+ICAJZ3Bpb2Rf c2V0X3ZhbHVlKHBpbmZvLT5wcDMzX2dwaW8sIGVuYWJsZSk7Cj4gLS0gCj4gMi4xNy4xCj4gCgo+ IEZyb20gNjhlNTdjNDZmOTVhNGZmYmE4MTZmMjk2MjZhZDk3MDJiNTQ1YWZlYiBNb24gU2VwIDE3 IDAwOjAwOjAwIDIwMDEKPiBGcm9tOiBKZXJyeSBIYW4gPGplcnJ5Lmhhbi5ocUBnbWFpbC5jb20+ Cj4gRGF0ZTogVGh1LCAxIEF1ZyAyMDE5IDE2OjIwOjI5ICswODAwCj4gU3ViamVjdDogW1BBVENI IDA4LzEwXSBbdjgsMi8yXSBkcm0vcGFuZWw6IEFkZCBCb2UgSGltYXg4Mjc5ZCBNSVBJLURTSSBM Q0QKPiAgcGFuZWwKPiAKPiBTdXBwb3J0IEJvZSBIaW1heDgyNzlkIDguMCIgMTIwMHgxOTIwIFRG VCBMQ0QgcGFuZWwsIGl0IGlzIGEgTUlQSSBEU0kKPiBwYW5lbC4KPiAKPiBWODoKPiAtIE1vZGlm eSBjb21tdW5pY2F0aW9uIGFkZHJlc3MKPiAKPiBWNzoKPiAtIEFkZCB0aGUgaW5mb3JtYXRpb24g b2YgdGhlIHJldmlld2VyCj4gLSBSZW1vdmUgdW5uZWNlc3NhcnkgZGVsYXlzLCBUaGUgdWRlbGF5 X3JhbmdlIGNvZGUgZ3JhY2VmdWxseSByZXR1cm5zCj4gICAgIHdpdGhvdXQgaGl0dGluZyB0aGUg c2NoZWR1bGVyIG9uIGEgZGVsYXkgb2YgMC4gKERlcmVrKQo+IC0gTWVyZ2UgdGhlIHNhbWUgZGF0 YSBzdHJ1Y3R1cmVzLCBsaWtlIGRpc3BsYXlfbW9kZSBhbmQgb2ZmX2NtZHMgKERlcmVrKQo+IC0g T3B0aW1pemUgdGhlIHByb2Nlc3Npbmcgb2YgcmVzdWx0cyByZXR1cm5lZCBieQo+ICAgICBkZXZt X2dwaW9kX2dldF9vcHRpb25hbCAoRGVyZWspCj4gCj4gVjY6Cj4gLSBBZGQgdGhlIGluZm9ybWF0 aW9uIG9mIHRoZSByZXZpZXdlciAoU2FtKQo+IC0gRGVsZXRlIHVubmVjZXNzYXJ5IGhlYWRlciBm aWxlcyAjaW5jbHVkZSA8bGludXgvZmIuaD4gKFNhbSkKPiAtIFRoZSBjb25maWcgRFJNX1BBTkVM X0JPRV9ISU1BWDgyNzlEIGFwcGVhcnMgdHdpY2UuIERyb3Agb25lIG9mIHRoZW0gKFNhbSkKPiAt IEFERCBzdGF0aWMsIHNldF9ncGlvcyBmdW5jdGlvbiBpcyBub3QgdXNlZCBvdXRzaWRlIHRoaXMg bW9kdWxlIChTYW0pCj4gCj4gVjU6Cj4gLSBBZGRlZCBjaGFuZ2Vsb2cKPiAKPiBWNDoKPiAtIEZy ZWZpeCBhbGwgZnVuY3Rpb24gbWFlcyB3aXRoIGJvZV8gKFNhbSkKPiAtIEZzZWQgImVuYWJsZV9n cGlvIiByZXBsYWNlICJyZXNldF9ncGlvIiwgTWFrZSBpdCBsb29rIGNsZWFyZXIgKFNhbSkKPiAt IFNvcnQgaW5jbHVkZSBsaW5lcyBhbHBoYWJldGljYWxseSAoU2FtKQo+IC0gRml4ZWQgZW50cmll cyBpbiB0aGUgbWFrZWZpbGUgbXVzdCBiZSBzb3J0ZWQgYWxwaGFiZXRpY2FsbHkgKFNhbSkKPiAt IEFkZCBzZW5kX21pcGlfY21kcyBmdW5jdGlvbiB0byBhdm9pZCBkdXBsaWNhdGluZyB0aGUgY29k ZSAoU2FtKQo+IC0gQWRkIHRoZSBuZWNlc3NhcnkgZGVsYXkocmVzZXRfZGVsYXlfdDUpIGJldHdl ZW4gcmVzZXQgYW5kIHNlbmRpbmcKPiAgICAgdGhlIGluaXRpYWxpemF0aW9uIGNvbW1hbmQgKFJv Y2sgd2FuZykKPiAKPiBWMzoKPiAtIFJlbW92ZSB1bm5lY2Vzc2FyeSBkZWxheXMgaW4gc2VuZGlu ZyBpbml0aWFsaXphdGlvbiBjb21tYW5kcyAoSml0YW8gU2hpKQo+IAo+IFYyOgo+IC0gVXNlIFNQ RFggaWRlbnRpZmllciAoU2FtKQo+IC0gVXNlIG5lY2Vzc2FyeSBoZWFkZXIgZmlsZXMgcmVwbGFj ZSBkcm1QLmggKFNhbSkKPiAtIERlbGV0ZSB1bm5lY2Vzc2FyeSBoZWFkZXIgZmlsZXMgI2luY2x1 ZGUgPGxpbnV4L2Vyci5oPiAoU2FtKQo+IC0gU3BlY2lmaWVzIGEgR1BJT3MgYXJyYXkgdG8gY29u dHJvbCB0aGUgcmVzZXQgdGltaW5nLAo+ICAgICBpbnN0ZWFkIG9mIHJlYWRpbmcgImRzaS1yZXNl dC1zZXF1ZW5jZSIgZGF0YSBmcm9tIERUUyAoU2FtKQo+IC0gRGVsZXRlIGJhY2tsaWdodF9kaXNh YmxlKCkgZnVuY3Rpb24gd2hlbiBhbHJlYWR5IGRpc2FibGVkIChTYW0pCj4gLSBVc2UgZGV2bV9v Zl9maW5kX2JhY2tsaWdodCgpIHJlcGxhY2Ugb2ZfZmluZF9iYWNrbGlnaHRfYnlfbm9kZSgpIChT YW0pCj4gLSBNb3ZlIHRoZSBuZWNlc3NhcnkgZGF0YSBpbiB0aGUgRFRTIHRvIHRoZSBjdXJyZW50 IGZpbGUsCj4gICAgIGxpa2UgcG9yY2gsIGRpc3BsYXlfbW9kZSBhbmQgSW5pdCBjb2RlIGV0Yy4g KFNhbSkKPiAtIEFkZCBjb21wYXRpYmxlIGRldmljZSAiYm9lLGhpbWF4ODI3OWQxMHAiIChTYW0p Cj4gCj4gVjE6Cj4gLSBTdXBwb3J0IEJvZSBIaW1heDgyNzlkIDguMCIgMTIwMHgxOTIwIFRGVCBM Q0QgcGFuZWwsIGl0IGlzIGEgTUlQSSBEU0kKPiBwYW5lbC4KPiAKPiBTaWduZWQtb2ZmLWJ5OiBK ZXJyeSBIYW4gPGplcnJ5Lmhhbi5ocUBnbWFpbC5jb20+Cj4gUmV2aWV3ZWQtYnk6IFNhbSBSYXZu Ym9yZyA8c2FtQHJhdm5ib3JnLm9yZz4KPiBSZXZpZXdlZC1ieTogRGVyZWsgQmFzZWhvcmUgPGRi YXNlaG9yZUBjaHJvbWl1bS5vcmc+Cj4gQ2M6IEppdGFvIFNoaSA8aml0YW8uc2hpQG1lZGlhdGVr LmNvbT4KPiBDYzogUm9jayB3YW5nIDxyb2NrX3dhbmdAaGltYXguY29tLmNuPgo+IC0tLQo+ICBk cml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtYm9lLWhpbWF4ODI3OWQuYyB8IDQgKystLQo+ICAx IGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQo+IAo+IGRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtYm9lLWhpbWF4ODI3OWQuYyBiL2Ry aXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1ib2UtaGltYXg4Mjc5ZC5jCj4gaW5kZXggZmY1YTg5 ZTM4ZmQ3Li45YzhlY2U0ZmEzMGEgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3BhbmVs L3BhbmVsLWJvZS1oaW1heDgyNzlkLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFu ZWwtYm9lLWhpbWF4ODI3OWQuYwo+IEBAIC0yLDcgKzIsNyBAQAo+ICAvKgo+ICAgKiBDb3B5cmln aHQgKGMpIDIwMTksIEh1YXFpbiBUZWxlY29tIFRlY2hub2xvZ3kgQ28uLCBMdGQKPiAgICoKPiAt ICogQXV0aG9yOiBKZXJyeSBIYW4gPGhhbnh1NUBodWFxaW4uY29ycC1wYXJ0bmVyLmdvb2dsZS5j b20+Cj4gKyAqIEF1dGhvcjogSmVycnkgSGFuIDxqZXJyeS5oYW4uaHFAZ21haWwuY29tPgo+ICAg Kgo+ICAgKi8KPiAgCj4gQEAgLTEwNDUsNiArMTA0NSw2IEBAIHN0YXRpYyBzdHJ1Y3QgbWlwaV9k c2lfZHJpdmVyIHBhbmVsX2RyaXZlciA9IHsKPiAgfTsKPiAgbW9kdWxlX21pcGlfZHNpX2RyaXZl cihwYW5lbF9kcml2ZXIpOwo+ICAKPiAtTU9EVUxFX0FVVEhPUigiSmVycnkgSGFuIDxoYW54dTVA aHVhcWluLmNvcnAtcGFydG5lci5nb29nbGUuY29tPiIpOwo+ICtNT0RVTEVfQVVUSE9SKCJKZXJy eSBIYW4gPGplcnJ5Lmhhbi5ocUBnbWFpbC5jb20+Iik7Cj4gIE1PRFVMRV9ERVNDUklQVElPTigi Qm9lIEhpbWF4ODI3OWQgZHJpdmVyIik7Cj4gIE1PRFVMRV9MSUNFTlNFKCJHUEwgdjIiKTsKPiAt LSAKPiAyLjE3LjEKPiAKCj4gRnJvbSBhMTY1OTU2ZTBiMGZiNWEzNDgxNWI0Y2MxMzc0N2Q5MmY5 MGEzM2EwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQo+IEZyb206IEplcnJ5IEhhbiA8aGFueHU1 QGh1YXFpbi5jb3JwLXBhcnRuZXIuZ29vZ2xlLmNvbT4KPiBEYXRlOiBUaHUsIDEgQXVnIDIwMTkg MTY6MTY6MDggKzA4MDAKPiBTdWJqZWN0OiBbUEFUQ0ggMDcvMTBdIFt2NywyLzJdIGRybS9wYW5l bDogQWRkIEJvZSBIaW1heDgyNzlkIE1JUEktRFNJIExDRAo+ICBwYW5lbAo+IAo+IFN1cHBvcnQg Qm9lIEhpbWF4ODI3OWQgOC4wIiAxMjAweDE5MjAgVEZUIExDRCBwYW5lbCwgaXQgaXMgYSBNSVBJ IERTSQo+IHBhbmVsLgo+IAo+IFY3Ogo+IC0gQWRkIHRoZSBpbmZvcm1hdGlvbiBvZiB0aGUgcmV2 aWV3ZXIKPiAtIFJlbW92ZSB1bm5lY2Vzc2FyeSBkZWxheXMsIFRoZSB1ZGVsYXlfcmFuZ2UgY29k ZSBncmFjZWZ1bGx5IHJldHVybnMKPiAgICAgd2l0aG91dCBoaXR0aW5nIHRoZSBzY2hlZHVsZXIg b24gYSBkZWxheSBvZiAwLiAoRGVyZWspCj4gLSBNZXJnZSB0aGUgc2FtZSBkYXRhIHN0cnVjdHVy ZXMsIGxpa2UgZGlzcGxheV9tb2RlIGFuZCBvZmZfY21kcyAoRGVyZWspCj4gLSBPcHRpbWl6ZSB0 aGUgcHJvY2Vzc2luZyBvZiByZXN1bHRzIHJldHVybmVkIGJ5Cj4gICAgIGRldm1fZ3Bpb2RfZ2V0 X29wdGlvbmFsIChEZXJlaykKPiAKPiBWNjoKPiAtIEFkZCB0aGUgaW5mb3JtYXRpb24gb2YgdGhl IHJldmlld2VyIChTYW0pCj4gLSBEZWxldGUgdW5uZWNlc3NhcnkgaGVhZGVyIGZpbGVzICNpbmNs dWRlIDxsaW51eC9mYi5oPiAoU2FtKQo+IC0gVGhlIGNvbmZpZyBEUk1fUEFORUxfQk9FX0hJTUFY ODI3OUQgYXBwZWFycyB0d2ljZS4gRHJvcCBvbmUgb2YgdGhlbSAoU2FtKQo+IC0gQUREIHN0YXRp Yywgc2V0X2dwaW9zIGZ1bmN0aW9uIGlzIG5vdCB1c2VkIG91dHNpZGUgdGhpcyBtb2R1bGUgKFNh bSkKPiAKPiBWNToKPiAtIEFkZGVkIGNoYW5nZWxvZwo+IAo+IFY0Ogo+IC0gRnJlZml4IGFsbCBm dW5jdGlvbiBtYWVzIHdpdGggYm9lXyAoU2FtKQo+IC0gRnNlZCAiZW5hYmxlX2dwaW8iIHJlcGxh Y2UgInJlc2V0X2dwaW8iLCBNYWtlIGl0IGxvb2sgY2xlYXJlciAoU2FtKQo+IC0gU29ydCBpbmNs dWRlIGxpbmVzIGFscGhhYmV0aWNhbGx5IChTYW0pCj4gLSBGaXhlZCBlbnRyaWVzIGluIHRoZSBt YWtlZmlsZSBtdXN0IGJlIHNvcnRlZCBhbHBoYWJldGljYWxseSAoU2FtKQo+IC0gQWRkIHNlbmRf bWlwaV9jbWRzIGZ1bmN0aW9uIHRvIGF2b2lkIGR1cGxpY2F0aW5nIHRoZSBjb2RlIChTYW0pCj4g LSBBZGQgdGhlIG5lY2Vzc2FyeSBkZWxheShyZXNldF9kZWxheV90NSkgYmV0d2VlbiByZXNldCBh bmQgc2VuZGluZwo+ICAgICB0aGUgaW5pdGlhbGl6YXRpb24gY29tbWFuZCAoUm9jayB3YW5nKQo+ IAo+IFYzOgo+IC0gUmVtb3ZlIHVubmVjZXNzYXJ5IGRlbGF5cyBpbiBzZW5kaW5nIGluaXRpYWxp emF0aW9uIGNvbW1hbmRzIChKaXRhbyBTaGkpCj4gCj4gVjI6Cj4gLSBVc2UgU1BEWCBpZGVudGlm aWVyIChTYW0pCj4gLSBVc2UgbmVjZXNzYXJ5IGhlYWRlciBmaWxlcyByZXBsYWNlIGRybVAuaCAo U2FtKQo+IC0gRGVsZXRlIHVubmVjZXNzYXJ5IGhlYWRlciBmaWxlcyAjaW5jbHVkZSA8bGludXgv ZXJyLmg+IChTYW0pCj4gLSBTcGVjaWZpZXMgYSBHUElPcyBhcnJheSB0byBjb250cm9sIHRoZSBy ZXNldCB0aW1pbmcsCj4gICAgIGluc3RlYWQgb2YgcmVhZGluZyAiZHNpLXJlc2V0LXNlcXVlbmNl IiBkYXRhIGZyb20gRFRTIChTYW0pCj4gLSBEZWxldGUgYmFja2xpZ2h0X2Rpc2FibGUoKSBmdW5j dGlvbiB3aGVuIGFscmVhZHkgZGlzYWJsZWQgKFNhbSkKPiAtIFVzZSBkZXZtX29mX2ZpbmRfYmFj a2xpZ2h0KCkgcmVwbGFjZSBvZl9maW5kX2JhY2tsaWdodF9ieV9ub2RlKCkgKFNhbSkKPiAtIE1v dmUgdGhlIG5lY2Vzc2FyeSBkYXRhIGluIHRoZSBEVFMgdG8gdGhlIGN1cnJlbnQgZmlsZSwKPiAg ICAgbGlrZSBwb3JjaCwgZGlzcGxheV9tb2RlIGFuZCBJbml0IGNvZGUgZXRjLiAoU2FtKQo+IC0g QWRkIGNvbXBhdGlibGUgZGV2aWNlICJib2UsaGltYXg4Mjc5ZDEwcCIgKFNhbSkKPiAKPiBWMToK PiAtIFN1cHBvcnQgQm9lIEhpbWF4ODI3OWQgOC4wIiAxMjAweDE5MjAgVEZUIExDRCBwYW5lbCwg aXQgaXMgYSBNSVBJIERTSQo+ICAgICBwYW5lbC4KPiAKPiBTaWduZWQtb2ZmLWJ5OiBKZXJyeSBI YW4gPGhhbnh1NUBodWFxaW4uY29ycC1wYXJ0bmVyLmdvb2dsZS5jb20+Cj4gUmV2aWV3ZWQtYnk6 IFNhbSBSYXZuYm9yZyA8c2FtQHJhdm5ib3JnLm9yZz4KPiBSZXZpZXdlZC1ieTogRGVyZWsgQmFz ZWhvcmUgPGRiYXNlaG9yZUBjaHJvbWl1bS5vcmc+Cj4gQ2M6IEppdGFvIFNoaSA8aml0YW8uc2hp QG1lZGlhdGVrLmNvbT4KPiBDYzogUm9jayB3YW5nIDxyb2NrX3dhbmdAaGltYXguY29tLmNuPgo+ IC0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtYm9lLWhpbWF4ODI3OWQuYyB8IDEw OSArKysrKysrKy0tLS0tLS0tLS0tCj4gIDEgZmlsZSBjaGFuZ2VkLCA0NSBpbnNlcnRpb25zKCsp LCA2NCBkZWxldGlvbnMoLSkKPiAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3BhbmVs L3BhbmVsLWJvZS1oaW1heDgyNzlkLmMgYi9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtYm9l LWhpbWF4ODI3OWQuYwo+IGluZGV4IGMwNTBhNDg0ODdhMi4uZmY1YTg5ZTM4ZmQ3IDEwMDY0NAo+ IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1ib2UtaGltYXg4Mjc5ZC5jCj4gKysr IGIvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLWJvZS1oaW1heDgyNzlkLmMKPiBAQCAtMTMw LDkgKzEzMCw4IEBAIHN0YXRpYyBpbnQgYm9lX3BhbmVsX3VucHJlcGFyZShzdHJ1Y3QgZHJtX3Bh bmVsICpwYW5lbCkKPiAgCS8qIHNlbmQgb2ZmIGNvZGUgKi8KPiAgCWVyciA9IHNlbmRfbWlwaV9j bWRzKHBhbmVsLCBwaW5mby0+ZGVzYy0+b2ZmX2NtZHMpOwo+ICAJaWYgKGVyciA8IDApIHsKPiAt CQlkZXZfZXJyKHBhbmVsLT5kZXYsCj4gLQkJCSJmYWlsZWQgdG8gc2VuZCBEQ1MgT2ZmIENvZGU6 ICVkXG4iLAo+IC0JCQllcnIpOwo+ICsJCURSTV9ERVZfRVJST1IocGFuZWwtPmRldiwKPiArCQkJ CSJmYWlsZWQgdG8gc2VuZCBEQ1MgT2ZmIENvZGU6ICVkXG4iLCBlcnIpOwo+ICAJCWdvdG8gcG93 ZXJvZmY7Cj4gIAl9Cj4gIAo+IEBAIC0xNjQsMjQgKzE2MywyMCBAQCBzdGF0aWMgaW50IGJvZV9w YW5lbF9wcmVwYXJlKHN0cnVjdCBkcm1fcGFuZWwgKnBhbmVsKQo+ICAJLyogcmVzZXQgc2VxdWVu Y2UgKi8KPiAgCXVzbGVlcF9yYW5nZShkZXNjLT5yZXNldF9kZWxheV90MiwgMTAwMCArIGRlc2Mt PnJlc2V0X2RlbGF5X3QyKTsKPiAgCj4gLQlpZiAoZGVzYy0+cmVzZXRfZGVsYXlfdDMpIHsKPiAt CQlncGlvZF9zZXRfdmFsdWUocGluZm8tPmVuYWJsZV9ncGlvLCAxKTsKPiAtCQl1c2xlZXBfcmFu Z2UoZGVzYy0+cmVzZXRfZGVsYXlfdDMsIDEwMDAgKyBkZXNjLT5yZXNldF9kZWxheV90Myk7Cj4g LQkJZ3Bpb2Rfc2V0X3ZhbHVlKHBpbmZvLT5lbmFibGVfZ3BpbywgMCk7Cj4gLQl9Cj4gKwlncGlv ZF9zZXRfdmFsdWUocGluZm8tPmVuYWJsZV9ncGlvLCAxKTsKPiArCXVzbGVlcF9yYW5nZShkZXNj LT5yZXNldF9kZWxheV90MywgMTAwMCArIGRlc2MtPnJlc2V0X2RlbGF5X3QzKTsKPiArCWdwaW9k X3NldF92YWx1ZShwaW5mby0+ZW5hYmxlX2dwaW8sIDApOwo+ICAKPiAgCXVzbGVlcF9yYW5nZShk ZXNjLT5yZXNldF9kZWxheV90NCwgMTAwMCArIGRlc2MtPnJlc2V0X2RlbGF5X3Q0KTsKPiAgCWdw aW9kX3NldF92YWx1ZShwaW5mby0+ZW5hYmxlX2dwaW8sIDEpOwo+ICAKPiAtCWlmIChkZXNjLT5y ZXNldF9kZWxheV90NSkKPiAtCQl1c2xlZXBfcmFuZ2UoZGVzYy0+cmVzZXRfZGVsYXlfdDUsIDEw MDAgKyBkZXNjLT5yZXNldF9kZWxheV90NSk7Cj4gKwl1c2xlZXBfcmFuZ2UoZGVzYy0+cmVzZXRf ZGVsYXlfdDUsIDEwMDAgKyBkZXNjLT5yZXNldF9kZWxheV90NSk7Cj4gIAo+ICAJLyogc2VuZCBp bml0IGNvZGUgKi8KPiAgCWVyciA9IHNlbmRfbWlwaV9jbWRzKHBhbmVsLCBwaW5mby0+ZGVzYy0+ b25fY21kcyk7Cj4gIAlpZiAoZXJyIDwgMCkgewo+IC0JCWRldl9lcnIocGFuZWwtPmRldiwKPiAt CQkJImZhaWxlZCB0byBzZW5kIERDUyBJbml0IENvZGU6ICVkXG4iLAo+IC0JCQllcnIpOwo+ICsJ CURSTV9ERVZfRVJST1IocGFuZWwtPmRldiwKPiArCQkJCSJmYWlsZWQgdG8gc2VuZCBEQ1MgSW5p dCBDb2RlOiAlZFxuIiwgZXJyKTsKPiAgCQlnb3RvIHBvd2Vyb2ZmOwo+ICAJfQo+ICAKPiBAQCAt MjQ2LDggKzI0MSw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX3BhbmVsX2Z1bmNzIHBhbmVs X2Z1bmNzID0gewo+ICAJLmdldF9tb2RlcyA9IGJvZV9wYW5lbF9nZXRfbW9kZXMsCj4gIH07Cj4g IAo+IC0vKiA4IGluY2ggKi8KPiAtc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2Rl IGJvZV9oaW1heDgyNzlkOHBfZGlzcGxheV9tb2RlID0gewo+ICtzdGF0aWMgY29uc3Qgc3RydWN0 IGRybV9kaXNwbGF5X21vZGUgZGVmYXVsdF9kaXNwbGF5X21vZGUgPSB7Cj4gIAkuY2xvY2sgPSAx NTk0MjAsCj4gIAkuaGRpc3BsYXkgPSAxMjAwLAo+ICAJLmhzeW5jX3N0YXJ0ID0gMTIwMCArIDgw LAo+IEBAIC0yNjAsNiArMjU0LDE0IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlf bW9kZSBib2VfaGltYXg4Mjc5ZDhwX2Rpc3BsYXlfbW9kZSA9IHsKPiAgCS52cmVmcmVzaCA9IDYw LAo+ICB9Owo+ICAKPiArc3RhdGljIGNvbnN0IHN0cnVjdCBwYW5lbF9jbWQgZGVmYXVsdF9vZmZf Y21kc1tdID0gewo+ICsJX0lOSVRfQ01EKDB4MDAsIDB4MjgpLAo+ICsJX0lOSVRfQ01EKDB4MDEs IDB4MTApLAo+ICsKPiArCXt9LAo+ICt9Owo+ICsKPiArLyogOCBpbmNoICovCj4gIHN0YXRpYyBj b25zdCBzdHJ1Y3QgcGFuZWxfY21kIGJvZV9oaW1heDgyNzlkOHBfb25fY21kc1tdID0gewo+ICAJ X0lOSVRfQ01EKDB4MjIsIDB4MTApLAo+ICAJX0lOSVRfQ01EKDB4MDAsIDB4QjAsIDB4MDUpLAo+ IEBAIC01NjcsMTUgKzU2OSw4IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgcGFuZWxfY21kIGJvZV9o aW1heDgyNzlkOHBfb25fY21kc1tdID0gewo+ICAJe30sCj4gIH07Cj4gIAo+IC1zdGF0aWMgY29u c3Qgc3RydWN0IHBhbmVsX2NtZCBib2VfaGltYXg4Mjc5ZDhwX29mZl9jbWRzW10gPSB7Cj4gLQlf SU5JVF9DTUQoMHgwMCwgMHgyOCksCj4gLQlfSU5JVF9DTUQoMHgwMSwgMHgxMCksCj4gLQo+IC0J e30sCj4gLX07Cj4gLQo+ICBzdGF0aWMgY29uc3Qgc3RydWN0IHBhbmVsX2Rlc2MgYm9lX2hpbWF4 ODI3OWQ4cF9wYW5lbF9kZXNjID0gewo+IC0JLmRpc3BsYXlfbW9kZSA9ICZib2VfaGltYXg4Mjc5 ZDhwX2Rpc3BsYXlfbW9kZSwKPiArCS5kaXNwbGF5X21vZGUgPSAmZGVmYXVsdF9kaXNwbGF5X21v ZGUsCj4gIAkuYnBjID0gOCwKPiAgCS53aWR0aF9tbSA9IDEwNywKPiAgCS5oZWlnaHRfbW0gPSAx NzIsCj4gQEAgLTU4OSwyMyArNTg0LDEwIEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgcGFuZWxfZGVz YyBib2VfaGltYXg4Mjc5ZDhwX3BhbmVsX2Rlc2MgPSB7Cj4gIAkuZm9ybWF0ID0gTUlQSV9EU0lf Rk1UX1JHQjg4OCwKPiAgCS5sYW5lcyA9IDQsCj4gIAkub25fY21kcyA9IGJvZV9oaW1heDgyNzlk OHBfb25fY21kcywKPiAtCS5vZmZfY21kcyA9IGJvZV9oaW1heDgyNzlkOHBfb2ZmX2NtZHMsCj4g Kwkub2ZmX2NtZHMgPSBkZWZhdWx0X29mZl9jbWRzLAo+ICB9Owo+ICAKPiAgLyogMTAgaW5jaCAq Lwo+IC1zdGF0aWMgY29uc3Qgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgYm9lX2hpbWF4ODI3OWQx MHBfZGlzcGxheV9tb2RlID0gewo+IC0JLmNsb2NrID0gMTU5NDIwLAo+IC0JLmhkaXNwbGF5ID0g MTIwMCwKPiAtCS5oc3luY19zdGFydCA9IDEyMDAgKyA4MCwKPiAtCS5oc3luY19lbmQgPSAxMjAw ICsgODAgKyA2MCwKPiAtCS5odG90YWwgPSAxMjAwICsgODAgKyA2MCArIDI0LAo+IC0JLnZkaXNw bGF5ID0gMTkyMCwKPiAtCS52c3luY19zdGFydCA9IDE5MjAgKyAxMCwKPiAtCS52c3luY19lbmQg PSAxOTIwICsgMTAgKyAxNCwKPiAtCS52dG90YWwgPSAxOTIwICsgMTAgKyAxNCArIDQsCj4gLQku dnJlZnJlc2ggPSA2MCwKPiAtfTsKPiAtCj4gIHN0YXRpYyBjb25zdCBzdHJ1Y3QgcGFuZWxfY21k IGJvZV9oaW1heDgyNzlkMTBwX29uX2NtZHNbXSA9IHsKPiAgCV9JTklUX0NNRCgweDAwLCAweEIw LCAweDA1KSwKPiAgCV9JTklUX0NNRCgweDAwLCAweEIxLCAweEU1KSwKPiBAQCAtOTEwLDE1ICs4 OTIsOCBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHBhbmVsX2NtZCBib2VfaGltYXg4Mjc5ZDEwcF9v bl9jbWRzW10gPSB7Cj4gIAl7fSwKPiAgfTsKPiAgCj4gLXN0YXRpYyBjb25zdCBzdHJ1Y3QgcGFu ZWxfY21kIGJvZV9oaW1heDgyNzlkMTBwX29mZl9jbWRzW10gPSB7Cj4gLQlfSU5JVF9DTUQoMHgw MCwgMHgyOCksCj4gLQlfSU5JVF9DTUQoMHgwMSwgMHgxMCksCj4gLQo+IC0Je30sCj4gLX07Cj4g LQo+ICBzdGF0aWMgY29uc3Qgc3RydWN0IHBhbmVsX2Rlc2MgYm9lX2hpbWF4ODI3OWQxMHBfcGFu ZWxfZGVzYyA9IHsKPiAtCS5kaXNwbGF5X21vZGUgPSAmYm9lX2hpbWF4ODI3OWQxMHBfZGlzcGxh eV9tb2RlLAo+ICsJLmRpc3BsYXlfbW9kZSA9ICZkZWZhdWx0X2Rpc3BsYXlfbW9kZSwKPiAgCS5i cGMgPSA4LAo+ICAJLndpZHRoX21tID0gMTM1LAo+ICAJLmhlaWdodF9tbSA9IDIxNiwKPiBAQCAt OTMyLDcgKzkwNyw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgcGFuZWxfZGVzYyBib2VfaGltYXg4 Mjc5ZDEwcF9wYW5lbF9kZXNjID0gewo+ICAJLmZvcm1hdCA9IE1JUElfRFNJX0ZNVF9SR0I4ODgs Cj4gIAkubGFuZXMgPSA0LAo+ICAJLm9uX2NtZHMgPSBib2VfaGltYXg4Mjc5ZDEwcF9vbl9jbWRz LAo+IC0JLm9mZl9jbWRzID0gYm9lX2hpbWF4ODI3OWQxMHBfb2ZmX2NtZHMsCj4gKwkub2ZmX2Nt ZHMgPSBkZWZhdWx0X29mZl9jbWRzLAo+ICB9Owo+ICAKPiAgc3RhdGljIGNvbnN0IHN0cnVjdCBv Zl9kZXZpY2VfaWQgcGFuZWxfb2ZfbWF0Y2hbXSA9IHsKPiBAQCAtOTQ5LDI4ICs5MjQsMzQgQEAg TU9EVUxFX0RFVklDRV9UQUJMRShvZiwgcGFuZWxfb2ZfbWF0Y2gpOwo+ICBzdGF0aWMgaW50IHBh bmVsX2FkZChzdHJ1Y3QgcGFuZWxfaW5mbyAqcGluZm8pCj4gIHsKPiAgCXN0cnVjdCBkZXZpY2Ug KmRldiA9ICZwaW5mby0+bGluay0+ZGV2Owo+IC0JaW50IGVycjsKPiArCWludCByZXQ7Cj4gIAo+ IC0JcGluZm8tPnBwMThfZ3BpbyA9IGRldm1fZ3Bpb2RfZ2V0X29wdGlvbmFsKGRldiwgInBwMTgi LCBHUElPRF9PVVRfTE9XKTsKPiArCXBpbmZvLT5wcDE4X2dwaW8gPSBkZXZtX2dwaW9kX2dldF9v cHRpb25hbChkZXYsICJwcDE4IiwgR1BJT0RfT1VUX0hJR0gpOwo+ICAJaWYgKElTX0VSUihwaW5m by0+cHAxOF9ncGlvKSkgewo+IC0JCWVyciA9IFBUUl9FUlIocGluZm8tPnBwMThfZ3Bpbyk7Cj4g LQkJZGV2X2VycihkZXYsICJmYWlsZWQgdG8gZ2V0IHBwMTggZ3BpbzogJWRcbiIsIGVycik7Cj4g LQkJcGluZm8tPnBwMThfZ3BpbyA9IE5VTEw7Cj4gKwkJcmV0ID0gUFRSX0VSUihwaW5mby0+cHAx OF9ncGlvKTsKPiArCQlpZiAocmV0ICE9IC1FUFJPQkVfREVGRVIpCj4gKwkJCURSTV9ERVZfRVJS T1IoZGV2LCAiZmFpbGVkIHRvIGdldCBwcDE4IGdwaW86ICVkXG4iLAo+ICsJCQkJCXJldCk7Cj4g KwkJcmV0dXJuIHJldDsKPiAgCX0KPiAgCj4gLQlwaW5mby0+cHAzM19ncGlvID0gZGV2bV9ncGlv ZF9nZXRfb3B0aW9uYWwoZGV2LCAicHAzMyIsIEdQSU9EX09VVF9MT1cpOwo+ICsJcGluZm8tPnBw MzNfZ3BpbyA9IGRldm1fZ3Bpb2RfZ2V0X29wdGlvbmFsKGRldiwgInBwMzMiLCBHUElPRF9PVVRf SElHSCk7Cj4gIAlpZiAoSVNfRVJSKHBpbmZvLT5wcDMzX2dwaW8pKSB7Cj4gLQkJZXJyID0gUFRS X0VSUihwaW5mby0+cHAzM19ncGlvKTsKPiAtCQlkZXZfZXJyKGRldiwgImZhaWxlZCB0byBnZXQg cHAzMyBncGlvOiAlZFxuIiwgZXJyKTsKPiAtCQlwaW5mby0+cHAzM19ncGlvID0gTlVMTDsKPiAr CQlyZXQgPSBQVFJfRVJSKHBpbmZvLT5wcDMzX2dwaW8pOwo+ICsJCWlmIChyZXQgIT0gLUVQUk9C RV9ERUZFUikKPiArCQkJRFJNX0RFVl9FUlJPUihkZXYsICJmYWlsZWQgdG8gZ2V0IHBwMzMgZ3Bp bzogJWRcbiIsCj4gKwkJCQkJcmV0KTsKPiArCQlyZXR1cm4gcmV0Owo+ICAJfQo+ICAKPiAgCXBp bmZvLT5lbmFibGVfZ3BpbyA9IGRldm1fZ3Bpb2RfZ2V0X29wdGlvbmFsKGRldiwgImVuYWJsZSIs Cj4gLQkJCQkJCSAgICBHUElPRF9PVVRfTE9XKTsKPiArCQkJCQkJCUdQSU9EX09VVF9ISUdIKTsK PiAgCWlmIChJU19FUlIocGluZm8tPmVuYWJsZV9ncGlvKSkgewo+IC0JCWVyciA9IFBUUl9FUlIo cGluZm8tPmVuYWJsZV9ncGlvKTsKPiAtCQlkZXZfZXJyKGRldiwgImZhaWxlZCB0byBnZXQgZW5h YmxlIGdwaW86ICVkXG4iLCBlcnIpOwo+IC0JCXBpbmZvLT5lbmFibGVfZ3BpbyA9IE5VTEw7Cj4g KwkJcmV0ID0gUFRSX0VSUihwaW5mby0+ZW5hYmxlX2dwaW8pOwo+ICsJCWlmIChyZXQgIT0gLUVQ Uk9CRV9ERUZFUikKPiArCQkJRFJNX0RFVl9FUlJPUihkZXYsICJmYWlsZWQgdG8gZ2V0IGVuYWJs ZSBncGlvOiAlZFxuIiwKPiArCQkJCQlyZXQpOwo+ICsJCXJldHVybiByZXQ7Cj4gIAl9Cj4gIAo+ ICAJcGluZm8tPmJhY2tsaWdodCA9IGRldm1fb2ZfZmluZF9iYWNrbGlnaHQoZGV2KTsKPiBAQCAt OTgxLDkgKzk2Miw5IEBAIHN0YXRpYyBpbnQgcGFuZWxfYWRkKHN0cnVjdCBwYW5lbF9pbmZvICpw aW5mbykKPiAgCXBpbmZvLT5iYXNlLmZ1bmNzID0gJnBhbmVsX2Z1bmNzOwo+ICAJcGluZm8tPmJh c2UuZGV2ID0gJnBpbmZvLT5saW5rLT5kZXY7Cj4gIAo+IC0JZXJyID0gZHJtX3BhbmVsX2FkZCgm cGluZm8tPmJhc2UpOwo+IC0JaWYgKGVyciA8IDApCj4gLQkJcmV0dXJuIGVycjsKPiArCXJldCA9 IGRybV9wYW5lbF9hZGQoJnBpbmZvLT5iYXNlKTsKPiArCWlmIChyZXQgPCAwKQo+ICsJCXJldHVy biByZXQ7Cj4gIAo+ICAJcmV0dXJuIDA7Cj4gIH0KPiBAQCAtMTAyOCw3ICsxMDA5LDcgQEAgc3Rh dGljIGludCBwYW5lbF9yZW1vdmUoc3RydWN0IG1pcGlfZHNpX2RldmljZSAqZHNpKQo+ICAJZXJy ID0gYm9lX3BhbmVsX3VucHJlcGFyZSgmcGluZm8tPmJhc2UpOwo+ICAJaWYgKGVyciA8IDApCj4g IAkJRFJNX0RFVl9FUlJPUigmZHNpLT5kZXYsICJmYWlsZWQgdG8gdW5wcmVwYXJlIHBhbmVsOiAl ZFxuIiwKPiAtCQkJCQkJZXJyKTsKPiArCQkJCWVycik7Cj4gIAo+ICAJZXJyID0gYm9lX3BhbmVs X2Rpc2FibGUoJnBpbmZvLT5iYXNlKTsKPiAgCWlmIChlcnIgPCAwKQo+IEBAIC0xMDM3LDcgKzEw MTgsNyBAQCBzdGF0aWMgaW50IHBhbmVsX3JlbW92ZShzdHJ1Y3QgbWlwaV9kc2lfZGV2aWNlICpk c2kpCj4gIAllcnIgPSBtaXBpX2RzaV9kZXRhY2goZHNpKTsKPiAgCWlmIChlcnIgPCAwKQo+ICAJ CURSTV9ERVZfRVJST1IoJmRzaS0+ZGV2LCAiZmFpbGVkIHRvIGRldGFjaCBmcm9tIERTSSBob3N0 OiAlZFxuIiwKPiAtCQkJCQkgIGVycik7Cj4gKwkJCQllcnIpOwo+ICAKPiAgCWRybV9wYW5lbF9k ZXRhY2goJnBpbmZvLT5iYXNlKTsKPiAgCXBhbmVsX2RlbChwaW5mbyk7Cj4gLS0gCj4gMi4xNy4x Cj4gCgo+IEZyb20gYjRlMDVkMmJjNzFkMWM4NzRmYmIwOThhOTBmNGQ0NmY2NjJkYjU4YiBNb24g U2VwIDE3IDAwOjAwOjAwIDIwMDEKPiBGcm9tOiBKZXJyeSBIYW4gPGplcnJ5Lmhhbi5ocUBnbWFp bC5jb20+Cj4gRGF0ZTogVGh1LCAxIEF1ZyAyMDE5IDE2OjI3OjA2ICswODAwCj4gU3ViamVjdDog W1BBVENIIDA5LzEwXSBbdjldIGRybS9wYW5lbDogQWRkIEJvZSBIaW1heDgyNzlkIE1JUEktRFNJ IExDRCBwYW5lbAo+IAo+IFN1cHBvcnQgQm9lIEhpbWF4ODI3OWQgOC4wIiAxMjAweDE5MjAgVEZU IExDRCBwYW5lbCwgaXQgaXMgYSBNSVBJIERTSQo+IHBhbmVsLgo+IAo+IFY5Ogo+IC0gbW9kaWZ5 IFBBUkVOVEhFU0lTX0FMSUdOTUVOVCBmb3JtYXQgKFNhbSkKPiAtIHVzZSBncGlvcyBhcmUgcmVx dWlyZWQgQVBJIHJlcGxhY2Ugb3B0aW9uYWwgZ3BpbyBBUEkgKEVtaWwpCj4gCj4gVjg6Cj4gLSBN b2RpZnkgY29tbXVuaWNhdGlvbiBhZGRyZXNzCj4gCj4gVjc6Cj4gLSBBZGQgdGhlIGluZm9ybWF0 aW9uIG9mIHRoZSByZXZpZXdlcgo+IC0gUmVtb3ZlIHVubmVjZXNzYXJ5IGRlbGF5cywgVGhlIHVk ZWxheV9yYW5nZSBjb2RlIGdyYWNlZnVsbHkgcmV0dXJucwo+ICAgICB3aXRob3V0IGhpdHRpbmcg dGhlIHNjaGVkdWxlciBvbiBhIGRlbGF5IG9mIDAuIChEZXJlaykKPiAtIE1lcmdlIHRoZSBzYW1l IGRhdGEgc3RydWN0dXJlcywgbGlrZSBkaXNwbGF5X21vZGUgYW5kIG9mZl9jbWRzIChEZXJlaykK PiAtIE9wdGltaXplIHRoZSBwcm9jZXNzaW5nIG9mIHJlc3VsdHMgcmV0dXJuZWQgYnkKPiAgICAg ZGV2bV9ncGlvZF9nZXRfb3B0aW9uYWwgKERlcmVrKQo+IAo+IFY2Ogo+IC0gQWRkIHRoZSBpbmZv cm1hdGlvbiBvZiB0aGUgcmV2aWV3ZXIgKFNhbSkKPiAtIERlbGV0ZSB1bm5lY2Vzc2FyeSBoZWFk ZXIgZmlsZXMgI2luY2x1ZGUgPGxpbnV4L2ZiLmg+IChTYW0pCj4gLSBUaGUgY29uZmlnIERSTV9Q QU5FTF9CT0VfSElNQVg4Mjc5RCBhcHBlYXJzIHR3aWNlLiBEcm9wIG9uZSBvZiB0aGVtIChTYW0p Cj4gLSBBREQgc3RhdGljLCBzZXRfZ3Bpb3MgZnVuY3Rpb24gaXMgbm90IHVzZWQgb3V0c2lkZSB0 aGlzIG1vZHVsZSAoU2FtKQo+IAo+IFY1Ogo+IC0gQWRkZWQgY2hhbmdlbG9nCj4gCj4gVjQ6Cj4g LSBGcmVmaXggYWxsIGZ1bmN0aW9uIG1hZXMgd2l0aCBib2VfIChTYW0pCj4gLSBGc2VkICJlbmFi bGVfZ3BpbyIgcmVwbGFjZSAicmVzZXRfZ3BpbyIsIE1ha2UgaXQgbG9vayBjbGVhcmVyIChTYW0p Cj4gLSBTb3J0IGluY2x1ZGUgbGluZXMgYWxwaGFiZXRpY2FsbHkgKFNhbSkKPiAtIEZpeGVkIGVu dHJpZXMgaW4gdGhlIG1ha2VmaWxlIG11c3QgYmUgc29ydGVkIGFscGhhYmV0aWNhbGx5IChTYW0p Cj4gLSBBZGQgc2VuZF9taXBpX2NtZHMgZnVuY3Rpb24gdG8gYXZvaWQgZHVwbGljYXRpbmcgdGhl IGNvZGUgKFNhbSkKPiAtIEFkZCB0aGUgbmVjZXNzYXJ5IGRlbGF5KHJlc2V0X2RlbGF5X3Q1KSBi ZXR3ZWVuIHJlc2V0IGFuZCBzZW5kaW5nCj4gICAgIHRoZSBpbml0aWFsaXphdGlvbiBjb21tYW5k IChSb2NrIHdhbmcpCj4gCj4gVjM6Cj4gLSBSZW1vdmUgdW5uZWNlc3NhcnkgZGVsYXlzIGluIHNl bmRpbmcgaW5pdGlhbGl6YXRpb24gY29tbWFuZHMgKEppdGFvIFNoaSkKPiAKPiBWMjoKPiAtIFVz ZSBTUERYIGlkZW50aWZpZXIgKFNhbSkKPiAtIFVzZSBuZWNlc3NhcnkgaGVhZGVyIGZpbGVzIHJl cGxhY2UgZHJtUC5oIChTYW0pCj4gLSBEZWxldGUgdW5uZWNlc3NhcnkgaGVhZGVyIGZpbGVzICNp bmNsdWRlIDxsaW51eC9lcnIuaD4gKFNhbSkKPiAtIFNwZWNpZmllcyBhIEdQSU9zIGFycmF5IHRv IGNvbnRyb2wgdGhlIHJlc2V0IHRpbWluZywKPiAgICAgaW5zdGVhZCBvZiByZWFkaW5nICJkc2kt cmVzZXQtc2VxdWVuY2UiIGRhdGEgZnJvbSBEVFMgKFNhbSkKPiAtIERlbGV0ZSBiYWNrbGlnaHRf ZGlzYWJsZSgpIGZ1bmN0aW9uIHdoZW4gYWxyZWFkeSBkaXNhYmxlZCAoU2FtKQo+IC0gVXNlIGRl dm1fb2ZfZmluZF9iYWNrbGlnaHQoKSByZXBsYWNlIG9mX2ZpbmRfYmFja2xpZ2h0X2J5X25vZGUo KSAoU2FtKQo+IC0gTW92ZSB0aGUgbmVjZXNzYXJ5IGRhdGEgaW4gdGhlIERUUyB0byB0aGUgY3Vy cmVudCBmaWxlLAo+ICAgICBsaWtlIHBvcmNoLCBkaXNwbGF5X21vZGUgYW5kIEluaXQgY29kZSBl dGMuIChTYW0pCj4gLSBBZGQgY29tcGF0aWJsZSBkZXZpY2UgImJvZSxoaW1heDgyNzlkMTBwIiAo U2FtKQo+IAo+IFYxOgo+IC0gU3VwcG9ydCBCb2UgSGltYXg4Mjc5ZCA4LjAiIDEyMDB4MTkyMCBU RlQgTENEIHBhbmVsLCBpdCBpcyBhIE1JUEkgRFNJCj4gcGFuZWwuCj4gCj4gU2lnbmVkLW9mZi1i eTogSmVycnkgSGFuIDxqZXJyeS5oYW4uaHFAZ21haWwuY29tPgo+IFJldmlld2VkLWJ5OiBTYW0g UmF2bmJvcmcgPHNhbUByYXZuYm9yZy5vcmc+Cj4gUmV2aWV3ZWQtYnk6IERlcmVrIEJhc2Vob3Jl IDxkYmFzZWhvcmVAY2hyb21pdW0ub3JnPgo+IFJldmlld2VkLWJ5OiBFbWlsIFZlbGlrb3YgPGVt aWwubC52ZWxpa292QGdtYWlsLmNvbT4KPiBDYzogSml0YW8gU2hpIDxqaXRhby5zaGlAbWVkaWF0 ZWsuY29tPgo+IC0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtYm9lLWhpbWF4ODI3 OWQuYyB8IDQ1ICsrKysrKysrKystLS0tLS0tLS0tCj4gIDEgZmlsZSBjaGFuZ2VkLCAyMiBpbnNl cnRpb25zKCspLCAyMyBkZWxldGlvbnMoLSkKPiAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL3BhbmVsL3BhbmVsLWJvZS1oaW1heDgyNzlkLmMgYi9kcml2ZXJzL2dwdS9kcm0vcGFuZWwv cGFuZWwtYm9lLWhpbWF4ODI3OWQuYwo+IGluZGV4IDljOGVjZTRmYTMwYS4uNzc5MGY3NmQzY2U3 IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1ib2UtaGltYXg4Mjc5 ZC5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLWJvZS1oaW1heDgyNzlkLmMK PiBAQCAtOTEsMTggKzkxLDE3IEBAIHN0YXRpYyBpbnQgc2VuZF9taXBpX2NtZHMoc3RydWN0IGRy bV9wYW5lbCAqcGFuZWwsIGNvbnN0IHN0cnVjdCBwYW5lbF9jbWQgKmNtZHMpCj4gIAkJY29uc3Qg c3RydWN0IHBhbmVsX2NtZCAqY21kID0gJmNtZHNbaV07Cj4gIAo+ICAJCWlmIChjbWQtPmxlbiA9 PSAyKQo+IC0JCQllcnIgPSBtaXBpX2RzaV9kY3Nfd3JpdGUocGluZm8tPmxpbmssCj4gLQkJCQkJ CSAgICBjbWQtPmRhdGFbMV0sIE5VTEwsIDApOwo+ICsJCQllcnIgPSBtaXBpX2RzaV9kY3Nfd3Jp dGUocGluZm8tPmxpbmssIGNtZC0+ZGF0YVsxXSwKPiArCQkJCQkJIE5VTEwsIDApOwo+ICAJCWVs c2UKPiAtCQkJZXJyID0gbWlwaV9kc2lfZGNzX3dyaXRlKHBpbmZvLT5saW5rLAo+IC0JCQkJCQkg ICAgY21kLT5kYXRhWzFdLCBjbWQtPmRhdGEgKyAyLAo+IC0JCQkJCQkgICAgY21kLT5sZW4gLSAy KTsKPiArCQkJZXJyID0gbWlwaV9kc2lfZGNzX3dyaXRlKHBpbmZvLT5saW5rLCBjbWQtPmRhdGFb MV0sCj4gKwkJCQkJCSBjbWQtPmRhdGEgKyAyLAo+ICsJCQkJCQkgY21kLT5sZW4gLSAyKTsKPiAg Cj4gIAkJaWYgKGVyciA8IDApCj4gIAkJCXJldHVybiBlcnI7Cj4gIAo+IC0JCXVzbGVlcF9yYW5n ZSgoY21kLT5kYXRhWzBdKSAqIDEwMDAsCj4gLQkJCSAgICAoMSArIGNtZC0+ZGF0YVswXSkgKiAx MDAwKTsKPiArCQl1c2xlZXBfcmFuZ2UoKGNtZC0+ZGF0YVswXSkgKiAxMDAwLCAoMSArIGNtZC0+ ZGF0YVswXSkgKiAxMDAwKTsKPiAgCX0KPiAgCj4gIAlyZXR1cm4gMDsKPiBAQCAtMTMwLDggKzEy OSw4IEBAIHN0YXRpYyBpbnQgYm9lX3BhbmVsX3VucHJlcGFyZShzdHJ1Y3QgZHJtX3BhbmVsICpw YW5lbCkKPiAgCS8qIHNlbmQgb2ZmIGNvZGUgKi8KPiAgCWVyciA9IHNlbmRfbWlwaV9jbWRzKHBh bmVsLCBwaW5mby0+ZGVzYy0+b2ZmX2NtZHMpOwo+ICAJaWYgKGVyciA8IDApIHsKPiAtCQlEUk1f REVWX0VSUk9SKHBhbmVsLT5kZXYsCj4gLQkJCQkiZmFpbGVkIHRvIHNlbmQgRENTIE9mZiBDb2Rl OiAlZFxuIiwgZXJyKTsKPiArCQlEUk1fREVWX0VSUk9SKHBhbmVsLT5kZXYsICJmYWlsZWQgdG8g c2VuZCBEQ1MgT2ZmIENvZGU6ICVkXG4iLAo+ICsJCQkgICAgICBlcnIpOwo+ICAJCWdvdG8gcG93 ZXJvZmY7Cj4gIAl9Cj4gIAo+IEBAIC0xNzUsOCArMTc0LDggQEAgc3RhdGljIGludCBib2VfcGFu ZWxfcHJlcGFyZShzdHJ1Y3QgZHJtX3BhbmVsICpwYW5lbCkKPiAgCS8qIHNlbmQgaW5pdCBjb2Rl ICovCj4gIAllcnIgPSBzZW5kX21pcGlfY21kcyhwYW5lbCwgcGluZm8tPmRlc2MtPm9uX2NtZHMp Owo+ICAJaWYgKGVyciA8IDApIHsKPiAtCQlEUk1fREVWX0VSUk9SKHBhbmVsLT5kZXYsCj4gLQkJ CQkiZmFpbGVkIHRvIHNlbmQgRENTIEluaXQgQ29kZTogJWRcbiIsIGVycik7Cj4gKwkJRFJNX0RF Vl9FUlJPUihwYW5lbC0+ZGV2LCAiZmFpbGVkIHRvIHNlbmQgRENTIEluaXQgQ29kZTogJWRcbiIs Cj4gKwkJCSAgICAgIGVycik7Cj4gIAkJZ290byBwb3dlcm9mZjsKPiAgCX0KPiAgCj4gQEAgLTIw MCw3ICsxOTksNyBAQCBzdGF0aWMgaW50IGJvZV9wYW5lbF9lbmFibGUoc3RydWN0IGRybV9wYW5l bCAqcGFuZWwpCj4gIAlyZXQgPSBiYWNrbGlnaHRfZW5hYmxlKHBpbmZvLT5iYWNrbGlnaHQpOwo+ ICAJaWYgKHJldCkgewo+ICAJCURSTV9ERVZfRVJST1IocGFuZWwtPmRybS0+ZGV2LAo+IC0JCQkJ IkZhaWxlZCB0byBlbmFibGUgYmFja2xpZ2h0ICVkXG4iLCByZXQpOwo+ICsJCQkgICAgICAiRmFp bGVkIHRvIGVuYWJsZSBiYWNrbGlnaHQgJWRcbiIsIHJldCk7Cj4gIAkJcmV0dXJuIHJldDsKPiAg CX0KPiAgCj4gQEAgLTIxOCw3ICsyMTcsNyBAQCBzdGF0aWMgaW50IGJvZV9wYW5lbF9nZXRfbW9k ZXMoc3RydWN0IGRybV9wYW5lbCAqcGFuZWwpCj4gIAltb2RlID0gZHJtX21vZGVfZHVwbGljYXRl KHBhbmVsLT5kcm0sIG0pOwo+ICAJaWYgKCFtb2RlKSB7Cj4gIAkJRFJNX0RFVl9FUlJPUihwYW5l bC0+ZHJtLT5kZXYsICJmYWlsZWQgdG8gYWRkIG1vZGUgJXV4JXVAJXVcbiIsCj4gLQkJCQltLT5o ZGlzcGxheSwgbS0+dmRpc3BsYXksIG0tPnZyZWZyZXNoKTsKPiArCQkJICAgICAgbS0+aGRpc3Bs YXksIG0tPnZkaXNwbGF5LCBtLT52cmVmcmVzaCk7Cj4gIAkJcmV0dXJuIC1FTk9NRU07Cj4gIAl9 Cj4gIAo+IEBAIC05MjYsMzEgKzkyNSwzMCBAQCBzdGF0aWMgaW50IHBhbmVsX2FkZChzdHJ1Y3Qg cGFuZWxfaW5mbyAqcGluZm8pCj4gIAlzdHJ1Y3QgZGV2aWNlICpkZXYgPSAmcGluZm8tPmxpbmst PmRldjsKPiAgCWludCByZXQ7Cj4gIAo+IC0JcGluZm8tPnBwMThfZ3BpbyA9IGRldm1fZ3Bpb2Rf Z2V0X29wdGlvbmFsKGRldiwgInBwMTgiLCBHUElPRF9PVVRfSElHSCk7Cj4gKwlwaW5mby0+cHAx OF9ncGlvID0gZGV2bV9ncGlvZF9nZXQoZGV2LCAicHAxOCIsIEdQSU9EX09VVF9ISUdIKTsKPiAg CWlmIChJU19FUlIocGluZm8tPnBwMThfZ3BpbykpIHsKPiAgCQlyZXQgPSBQVFJfRVJSKHBpbmZv LT5wcDE4X2dwaW8pOwo+ICAJCWlmIChyZXQgIT0gLUVQUk9CRV9ERUZFUikKPiAgCQkJRFJNX0RF Vl9FUlJPUihkZXYsICJmYWlsZWQgdG8gZ2V0IHBwMTggZ3BpbzogJWRcbiIsCj4gLQkJCQkJcmV0 KTsKPiArCQkJCSAgICAgIHJldCk7Cj4gIAkJcmV0dXJuIHJldDsKPiAgCX0KPiAgCj4gLQlwaW5m by0+cHAzM19ncGlvID0gZGV2bV9ncGlvZF9nZXRfb3B0aW9uYWwoZGV2LCAicHAzMyIsIEdQSU9E X09VVF9ISUdIKTsKPiArCXBpbmZvLT5wcDMzX2dwaW8gPSBkZXZtX2dwaW9kX2dldChkZXYsICJw cDMzIiwgR1BJT0RfT1VUX0hJR0gpOwo+ICAJaWYgKElTX0VSUihwaW5mby0+cHAzM19ncGlvKSkg ewo+ICAJCXJldCA9IFBUUl9FUlIocGluZm8tPnBwMzNfZ3Bpbyk7Cj4gIAkJaWYgKHJldCAhPSAt RVBST0JFX0RFRkVSKQo+ICAJCQlEUk1fREVWX0VSUk9SKGRldiwgImZhaWxlZCB0byBnZXQgcHAz MyBncGlvOiAlZFxuIiwKPiAtCQkJCQlyZXQpOwo+ICsJCQkJICAgICAgcmV0KTsKPiAgCQlyZXR1 cm4gcmV0Owo+ICAJfQo+ICAKPiAtCXBpbmZvLT5lbmFibGVfZ3BpbyA9IGRldm1fZ3Bpb2RfZ2V0 X29wdGlvbmFsKGRldiwgImVuYWJsZSIsCj4gLQkJCQkJCQlHUElPRF9PVVRfSElHSCk7Cj4gKwlw aW5mby0+ZW5hYmxlX2dwaW8gPSBkZXZtX2dwaW9kX2dldChkZXYsICJlbmFibGUiLCBHUElPRF9P VVRfSElHSCk7Cj4gIAlpZiAoSVNfRVJSKHBpbmZvLT5lbmFibGVfZ3BpbykpIHsKPiAgCQlyZXQg PSBQVFJfRVJSKHBpbmZvLT5lbmFibGVfZ3Bpbyk7Cj4gIAkJaWYgKHJldCAhPSAtRVBST0JFX0RF RkVSKQo+ICAJCQlEUk1fREVWX0VSUk9SKGRldiwgImZhaWxlZCB0byBnZXQgZW5hYmxlIGdwaW86 ICVkXG4iLAo+IC0JCQkJCXJldCk7Cj4gKwkJCQkgICAgICByZXQpOwo+ICAJCXJldHVybiByZXQ7 Cj4gIAl9Cj4gIAo+IEBAIC0xMDA5LDE2ICsxMDA3LDE3IEBAIHN0YXRpYyBpbnQgcGFuZWxfcmVt b3ZlKHN0cnVjdCBtaXBpX2RzaV9kZXZpY2UgKmRzaSkKPiAgCWVyciA9IGJvZV9wYW5lbF91bnBy ZXBhcmUoJnBpbmZvLT5iYXNlKTsKPiAgCWlmIChlcnIgPCAwKQo+ICAJCURSTV9ERVZfRVJST1Io JmRzaS0+ZGV2LCAiZmFpbGVkIHRvIHVucHJlcGFyZSBwYW5lbDogJWRcbiIsCj4gLQkJCQllcnIp Owo+ICsJCQkgICAgICBlcnIpOwo+ICAKPiAgCWVyciA9IGJvZV9wYW5lbF9kaXNhYmxlKCZwaW5m by0+YmFzZSk7Cj4gIAlpZiAoZXJyIDwgMCkKPiAtCQlEUk1fREVWX0VSUk9SKCZkc2ktPmRldiwg ImZhaWxlZCB0byBkaXNhYmxlIHBhbmVsOiAlZFxuIiwgZXJyKTsKPiArCQlEUk1fREVWX0VSUk9S KCZkc2ktPmRldiwgImZhaWxlZCB0byBkaXNhYmxlIHBhbmVsOiAlZFxuIiwKPiArCQkJICAgICAg ZXJyKTsKPiAgCj4gIAllcnIgPSBtaXBpX2RzaV9kZXRhY2goZHNpKTsKPiAgCWlmIChlcnIgPCAw KQo+ICAJCURSTV9ERVZfRVJST1IoJmRzaS0+ZGV2LCAiZmFpbGVkIHRvIGRldGFjaCBmcm9tIERT SSBob3N0OiAlZFxuIiwKPiAtCQkJCWVycik7Cj4gKwkJCSAgICAgIGVycik7Cj4gIAo+ICAJZHJt X3BhbmVsX2RldGFjaCgmcGluZm8tPmJhc2UpOwo+ICAJcGFuZWxfZGVsKHBpbmZvKTsKPiAtLSAK PiAyLjE3LjEKPiAKCj4gRnJvbSAwYWZiZWY5N2Y2M2I2MTg3MmE5OWQ5MDdmM2I4MjJkMGY0OTVi N2IxIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQo+IEZyb206IEplcnJ5IEhhbiA8amVycnkuaGFu LmhxQGdtYWlsLmNvbT4KPiBEYXRlOiBGcmksIDIgQXVnIDIwMTkgMTg6MTQ6NTUgKzA4MDAKPiBT dWJqZWN0OiBbUEFUQ0ggMTAvMTBdIFt2MTBdIGRybS9wYW5lbDogQWRkIEJvZSBIaW1heDgyNzlk IE1JUEktRFNJIExDRCBwYW5lbAo+IAo+IFN1cHBvcnQgQm9lIEhpbWF4ODI3OWQgOC4wIiAxMjAw eDE5MjAgVEZUIExDRCBwYW5lbCwgaXQgaXMgYSBNSVBJIERTSQo+IHBhbmVsLgo+IAo+IFYxMDoK PiAtIEFkanVzdCBpbml0IGNvZGUsIG1ha2UgdGhlIGZvcm1hdCBtb3JlIGNvbmNpc2UKPiAtIGtp bGwgb2ZmIGRlZmF1bHRfb2ZmX2NtZHMgKEVtaWwpCj4gLSB1c2UgbWlwaV9kc2lfZGNzX3NldF9k aXNwbGF5X3tvbixvZmZ9IGluIHRoZWlyIGVuYWJsZS9kaXNhYmxlCj4gICAgIGNhbGxiYWNrcy4g KEVtaWwpCj4gLSBBZGp1c3RpbmcgdGhlIGRlbGF5IGZ1bmN0aW9uIChFbWlsKQo+IAo+IFY5Ogo+ IC0gbW9kaWZ5IFBBUkVOVEhFU0lTX0FMSUdOTUVOVCBmb3JtYXQgKFNhbSkKPiAtIHVzZSBncGlv cyBhcmUgcmVxdWlyZWQgQVBJIHJlcGxhY2Ugb3B0aW9uYWwgZ3BpbyBBUEkgKEVtaWwpCj4gCj4g Vjg6Cj4gLSBNb2RpZnkgY29tbXVuaWNhdGlvbiBhZGRyZXNzCj4gCj4gVjc6Cj4gLSBBZGQgdGhl IGluZm9ybWF0aW9uIG9mIHRoZSByZXZpZXdlcgo+IC0gUmVtb3ZlIHVubmVjZXNzYXJ5IGRlbGF5 cywgVGhlIHVkZWxheV9yYW5nZSBjb2RlIGdyYWNlZnVsbHkgcmV0dXJucwo+ICAgICB3aXRob3V0 IGhpdHRpbmcgdGhlIHNjaGVkdWxlciBvbiBhIGRlbGF5IG9mIDAuIChEZXJlaykKPiAtIE1lcmdl IHRoZSBzYW1lIGRhdGEgc3RydWN0dXJlcywgbGlrZSBkaXNwbGF5X21vZGUgYW5kIG9mZl9jbWRz IChEZXJlaykKPiAtIE9wdGltaXplIHRoZSBwcm9jZXNzaW5nIG9mIHJlc3VsdHMgcmV0dXJuZWQg YnkKPiAgICAgZGV2bV9ncGlvZF9nZXRfb3B0aW9uYWwgKERlcmVrKQo+IAo+IFY2Ogo+IC0gQWRk IHRoZSBpbmZvcm1hdGlvbiBvZiB0aGUgcmV2aWV3ZXIgKFNhbSkKPiAtIERlbGV0ZSB1bm5lY2Vz c2FyeSBoZWFkZXIgZmlsZXMgI2luY2x1ZGUgPGxpbnV4L2ZiLmg+IChTYW0pCj4gLSBUaGUgY29u ZmlnIERSTV9QQU5FTF9CT0VfSElNQVg4Mjc5RCBhcHBlYXJzIHR3aWNlLiBEcm9wIG9uZSBvZiB0 aGVtIChTYW0pCj4gLSBBREQgc3RhdGljLCBzZXRfZ3Bpb3MgZnVuY3Rpb24gaXMgbm90IHVzZWQg b3V0c2lkZSB0aGlzIG1vZHVsZSAoU2FtKQo+IAo+IFY1Ogo+IC0gQWRkZWQgY2hhbmdlbG9nCj4g Cj4gVjQ6Cj4gLSBGcmVmaXggYWxsIGZ1bmN0aW9uIG1hZXMgd2l0aCBib2VfIChTYW0pCj4gLSBG c2VkICJlbmFibGVfZ3BpbyIgcmVwbGFjZSAicmVzZXRfZ3BpbyIsIE1ha2UgaXQgbG9vayBjbGVh cmVyIChTYW0pCj4gLSBTb3J0IGluY2x1ZGUgbGluZXMgYWxwaGFiZXRpY2FsbHkgKFNhbSkKPiAt IEZpeGVkIGVudHJpZXMgaW4gdGhlIG1ha2VmaWxlIG11c3QgYmUgc29ydGVkIGFscGhhYmV0aWNh bGx5IChTYW0pCj4gLSBBZGQgc2VuZF9taXBpX2NtZHMgZnVuY3Rpb24gdG8gYXZvaWQgZHVwbGlj YXRpbmcgdGhlIGNvZGUgKFNhbSkKPiAtIEFkZCB0aGUgbmVjZXNzYXJ5IGRlbGF5KHJlc2V0X2Rl bGF5X3Q1KSBiZXR3ZWVuIHJlc2V0IGFuZCBzZW5kaW5nCj4gICAgIHRoZSBpbml0aWFsaXphdGlv biBjb21tYW5kIChSb2NrIHdhbmcpCj4gCj4gVjM6Cj4gLSBSZW1vdmUgdW5uZWNlc3NhcnkgZGVs YXlzIGluIHNlbmRpbmcgaW5pdGlhbGl6YXRpb24gY29tbWFuZHMgKEppdGFvIFNoaSkKPiAKPiBW MjoKPiAtIFVzZSBTUERYIGlkZW50aWZpZXIgKFNhbSkKPiAtIFVzZSBuZWNlc3NhcnkgaGVhZGVy IGZpbGVzIHJlcGxhY2UgZHJtUC5oIChTYW0pCj4gLSBEZWxldGUgdW5uZWNlc3NhcnkgaGVhZGVy IGZpbGVzICNpbmNsdWRlIDxsaW51eC9lcnIuaD4gKFNhbSkKPiAtIFNwZWNpZmllcyBhIEdQSU9z IGFycmF5IHRvIGNvbnRyb2wgdGhlIHJlc2V0IHRpbWluZywKPiAgICAgaW5zdGVhZCBvZiByZWFk aW5nICJkc2ktcmVzZXQtc2VxdWVuY2UiIGRhdGEgZnJvbSBEVFMgKFNhbSkKPiAtIERlbGV0ZSBi YWNrbGlnaHRfZGlzYWJsZSgpIGZ1bmN0aW9uIHdoZW4gYWxyZWFkeSBkaXNhYmxlZCAoU2FtKQo+ IC0gVXNlIGRldm1fb2ZfZmluZF9iYWNrbGlnaHQoKSByZXBsYWNlIG9mX2ZpbmRfYmFja2xpZ2h0 X2J5X25vZGUoKSAoU2FtKQo+IC0gTW92ZSB0aGUgbmVjZXNzYXJ5IGRhdGEgaW4gdGhlIERUUyB0 byB0aGUgY3VycmVudCBmaWxlLAo+ICAgICBsaWtlIHBvcmNoLCBkaXNwbGF5X21vZGUgYW5kIElu aXQgY29kZSBldGMuIChTYW0pCj4gLSBBZGQgY29tcGF0aWJsZSBkZXZpY2UgImJvZSxoaW1heDgy NzlkMTBwIiAoU2FtKQo+IAo+IFYxOgo+IC0gU3VwcG9ydCBCb2UgSGltYXg4Mjc5ZCA4LjAiIDEy MDB4MTkyMCBURlQgTENEIHBhbmVsLCBpdCBpcyBhIE1JUEkgRFNJCj4gICAgIHBhbmVsLgo+IAo+ IFNpZ25lZC1vZmYtYnk6IEplcnJ5IEhhbiA8amVycnkuaGFuLmhxQGdtYWlsLmNvbT4KPiBSZXZp ZXdlZC1ieTogU2FtIFJhdm5ib3JnIDxzYW1AcmF2bmJvcmcub3JnPgo+IFJldmlld2VkLWJ5OiBE ZXJlayBCYXNlaG9yZSA8ZGJhc2Vob3JlQGNocm9taXVtLm9yZz4KPiBSZXZpZXdlZC1ieTogRW1p bCBWZWxpa292IDxlbWlsLmwudmVsaWtvdkBnbWFpbC5jb20+Cj4gQ2M6IEppdGFvIFNoaSA8aml0 YW8uc2hpQG1lZGlhdGVrLmNvbT4KPiBDYzogUm9jayB3YW5nIDxyb2NrX3dhbmdAaGltYXguY29t LmNuPgo+IC0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtYm9lLWhpbWF4ODI3OWQu YyB8IDEyMzUgKysrKysrKysrLS0tLS0tLS0tCj4gIDEgZmlsZSBjaGFuZ2VkLCA1ODggaW5zZXJ0 aW9ucygrKSwgNjQ3IGRlbGV0aW9ucygtKQo+IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vcGFuZWwvcGFuZWwtYm9lLWhpbWF4ODI3OWQuYyBiL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9w YW5lbC1ib2UtaGltYXg4Mjc5ZC5jCj4gaW5kZXggNzc5MGY3NmQzY2U3Li42MjY1YmY5NzUzNjUg MTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLWJvZS1oaW1heDgyNzlk LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtYm9lLWhpbWF4ODI3OWQuYwo+ IEBAIC0zOSwxNyArMzksMTAgQEAgc3RydWN0IHBhbmVsX2Rlc2Mgewo+ICAJdW5zaWduZWQgaW50 IHdpZHRoX21tOwo+ICAJdW5zaWduZWQgaW50IGhlaWdodF9tbTsKPiAgCj4gLQl1bnNpZ25lZCBp bnQgZGVsYXlfdDE7Cj4gLQl1bnNpZ25lZCBpbnQgcmVzZXRfZGVsYXlfdDI7Cj4gLQl1bnNpZ25l ZCBpbnQgcmVzZXRfZGVsYXlfdDM7Cj4gLQl1bnNpZ25lZCBpbnQgcmVzZXRfZGVsYXlfdDQ7Cj4g LQl1bnNpZ25lZCBpbnQgcmVzZXRfZGVsYXlfdDU7Cj4gLQo+ICAJdW5zaWduZWQgbG9uZyBtb2Rl X2ZsYWdzOwo+ICAJZW51bSBtaXBpX2RzaV9waXhlbF9mb3JtYXQgZm9ybWF0Owo+ICAJdW5zaWdu ZWQgaW50IGxhbmVzOwo+ICAJY29uc3Qgc3RydWN0IHBhbmVsX2NtZCAqb25fY21kczsKPiAtCWNv bnN0IHN0cnVjdCBwYW5lbF9jbWQgKm9mZl9jbWRzOwo+ICB9Owo+ICAKPiAgc3RydWN0IHBhbmVs X2luZm8gewo+IEBAIC05MCwxOCArODMsMTEgQEAgc3RhdGljIGludCBzZW5kX21pcGlfY21kcyhz dHJ1Y3QgZHJtX3BhbmVsICpwYW5lbCwgY29uc3Qgc3RydWN0IHBhbmVsX2NtZCAqY21kcykKPiAg CWZvciAoaSA9IDA7IGNtZHNbaV0ubGVuICE9IDA7IGkrKykgewo+ICAJCWNvbnN0IHN0cnVjdCBw YW5lbF9jbWQgKmNtZCA9ICZjbWRzW2ldOwo+ICAKPiAtCQlpZiAoY21kLT5sZW4gPT0gMikKPiAt CQkJZXJyID0gbWlwaV9kc2lfZGNzX3dyaXRlKHBpbmZvLT5saW5rLCBjbWQtPmRhdGFbMV0sCj4g LQkJCQkJCSBOVUxMLCAwKTsKPiAtCQllbHNlCj4gLQkJCWVyciA9IG1pcGlfZHNpX2Rjc193cml0 ZShwaW5mby0+bGluaywgY21kLT5kYXRhWzFdLAo+IC0JCQkJCQkgY21kLT5kYXRhICsgMiwKPiAt CQkJCQkJIGNtZC0+bGVuIC0gMik7Cj4gKwkJZXJyID0gbWlwaV9kc2lfZGNzX3dyaXRlKHBpbmZv LT5saW5rLCBjbWQtPmRhdGFbMF0sCj4gKwkJCQkJIGNtZC0+ZGF0YSArIDEsIDEpOwo+ICAKPiAg CQlpZiAoZXJyIDwgMCkKPiAgCQkJcmV0dXJuIGVycjsKPiAtCj4gLQkJdXNsZWVwX3JhbmdlKChj bWQtPmRhdGFbMF0pICogMTAwMCwgKDEgKyBjbWQtPmRhdGFbMF0pICogMTAwMCk7Cj4gIAl9Cj4g IAo+ICAJcmV0dXJuIDA7Cj4gQEAgLTEyNiwxNCArMTEyLDIzIEBAIHN0YXRpYyBpbnQgYm9lX3Bh bmVsX3VucHJlcGFyZShzdHJ1Y3QgZHJtX3BhbmVsICpwYW5lbCkKPiAgCWlmICghcGluZm8tPnBy ZXBhcmVkKQo+ICAJCXJldHVybiAwOwo+ICAKPiAtCS8qIHNlbmQgb2ZmIGNvZGUgKi8KPiAtCWVy ciA9IHNlbmRfbWlwaV9jbWRzKHBhbmVsLCBwaW5mby0+ZGVzYy0+b2ZmX2NtZHMpOwo+ICsJZXJy ID0gbWlwaV9kc2lfZGNzX3NldF9kaXNwbGF5X29mZihwaW5mby0+bGluayk7Cj4gKwlpZiAoZXJy IDwgMCkgewo+ICsJCURSTV9ERVZfRVJST1IocGFuZWwtPmRldiwgImZhaWxlZCB0byBzZXQgZGlz cGxheSBvZmY6ICVkXG4iLAo+ICsJCQkgICAgICBlcnIpOwo+ICsJCWdvdG8gcG93ZXJvZmY7Cj4g Kwl9Cj4gKwo+ICsJZXJyID0gbWlwaV9kc2lfZGNzX2VudGVyX3NsZWVwX21vZGUocGluZm8tPmxp bmspOwo+ICAJaWYgKGVyciA8IDApIHsKPiAtCQlEUk1fREVWX0VSUk9SKHBhbmVsLT5kZXYsICJm YWlsZWQgdG8gc2VuZCBEQ1MgT2ZmIENvZGU6ICVkXG4iLAo+ICsJCURSTV9ERVZfRVJST1IocGFu ZWwtPmRldiwgImZhaWxlZCB0byBlbnRlciBzbGVlcCBtb2RlOiAlZFxuIiwKPiAgCQkJICAgICAg ZXJyKTsKPiAgCQlnb3RvIHBvd2Vyb2ZmOwo+ICAJfQo+ICAKPiArCS8qIHNsZWVwX21vZGVfZGVs YXk6IDFtcyAtIDJtcyAqLwo+ICsJdXNsZWVwX3JhbmdlKDEwMDAsIDIwMDApOwo+ICsKPiAgCXNl dF9ncGlvcyhwaW5mbywgMCk7Cj4gIAo+ICAJcGluZm8tPnByZXBhcmVkID0gZmFsc2U7Cj4gQEAg LTE0OCwyOCArMTQzLDMxIEBAIHN0YXRpYyBpbnQgYm9lX3BhbmVsX3VucHJlcGFyZShzdHJ1Y3Qg ZHJtX3BhbmVsICpwYW5lbCkKPiAgc3RhdGljIGludCBib2VfcGFuZWxfcHJlcGFyZShzdHJ1Y3Qg ZHJtX3BhbmVsICpwYW5lbCkKPiAgewo+ICAJc3RydWN0IHBhbmVsX2luZm8gKnBpbmZvID0gdG9f cGFuZWxfaW5mbyhwYW5lbCk7Cj4gLQljb25zdCBzdHJ1Y3QgcGFuZWxfZGVzYyAqZGVzYyA9IHBp bmZvLT5kZXNjOwo+ICAJaW50IGVycjsKPiAgCj4gIAlpZiAocGluZm8tPnByZXBhcmVkKQo+ICAJ CXJldHVybiAwOwo+ICAKPiAgCWdwaW9kX3NldF92YWx1ZShwaW5mby0+cHAxOF9ncGlvLCAxKTsK PiAtCS8qIFQxICg+IDVtcykgKi8KPiAtCXVzbGVlcF9yYW5nZShkZXNjLT5kZWxheV90MSwgMTAw MCArIGRlc2MtPmRlbGF5X3QxKTsKPiArCS8qIFQxOiA1bXMgLSA2bXMgKi8KPiArCXVzbGVlcF9y YW5nZSg1MDAwLCA2MDAwKTsKPiAgCWdwaW9kX3NldF92YWx1ZShwaW5mby0+cHAzM19ncGlvLCAx KTsKPiAgCj4gIAkvKiByZXNldCBzZXF1ZW5jZSAqLwo+IC0JdXNsZWVwX3JhbmdlKGRlc2MtPnJl c2V0X2RlbGF5X3QyLCAxMDAwICsgZGVzYy0+cmVzZXRfZGVsYXlfdDIpOwo+IC0KPiArCS8qIFQy OiAxNG1zIC0gMTVtcyAqLwo+ICsJdXNsZWVwX3JhbmdlKDE0MDAwLCAxNTAwMCk7Cj4gIAlncGlv ZF9zZXRfdmFsdWUocGluZm8tPmVuYWJsZV9ncGlvLCAxKTsKPiAtCXVzbGVlcF9yYW5nZShkZXNj LT5yZXNldF9kZWxheV90MywgMTAwMCArIGRlc2MtPnJlc2V0X2RlbGF5X3QzKTsKPiArCj4gKwkv KiBUMzogMW1zIC0gMm1zICovCj4gKwl1c2xlZXBfcmFuZ2UoMTAwMCwgMjAwMCk7Cj4gIAlncGlv ZF9zZXRfdmFsdWUocGluZm8tPmVuYWJsZV9ncGlvLCAwKTsKPiAgCj4gLQl1c2xlZXBfcmFuZ2Uo ZGVzYy0+cmVzZXRfZGVsYXlfdDQsIDEwMDAgKyBkZXNjLT5yZXNldF9kZWxheV90NCk7Cj4gKwkv KiBUNDogMW1zIC0gMm1zICovCj4gKwl1c2xlZXBfcmFuZ2UoMTAwMCwgMjAwMCk7Cj4gIAlncGlv ZF9zZXRfdmFsdWUocGluZm8tPmVuYWJsZV9ncGlvLCAxKTsKPiAgCj4gLQl1c2xlZXBfcmFuZ2Uo ZGVzYy0+cmVzZXRfZGVsYXlfdDUsIDEwMDAgKyBkZXNjLT5yZXNldF9kZWxheV90NSk7Cj4gKwkv KiBUNTogNW1zIC0gNm1zICovCj4gKwl1c2xlZXBfcmFuZ2UoNTAwMCwgNjAwMCk7Cj4gIAo+ICAJ Lyogc2VuZCBpbml0IGNvZGUgKi8KPiAgCWVyciA9IHNlbmRfbWlwaV9jbWRzKHBhbmVsLCBwaW5m by0+ZGVzYy0+b25fY21kcyk7Cj4gQEAgLTE3OSw2ICsxNzcsMjYgQEAgc3RhdGljIGludCBib2Vf cGFuZWxfcHJlcGFyZShzdHJ1Y3QgZHJtX3BhbmVsICpwYW5lbCkKPiAgCQlnb3RvIHBvd2Vyb2Zm Owo+ICAJfQo+ICAKPiArCWVyciA9IG1pcGlfZHNpX2Rjc19leGl0X3NsZWVwX21vZGUocGluZm8t PmxpbmspOwo+ICsJaWYgKGVyciA8IDApIHsKPiArCQlEUk1fREVWX0VSUk9SKHBhbmVsLT5kZXYs ICJmYWlsZWQgdG8gZXhpdCBzbGVlcCBtb2RlOiAlZFxuIiwKPiArCQkJICAgICAgZXJyKTsKPiAr CQlnb3RvIHBvd2Vyb2ZmOwo+ICsJfQo+ICsKPiArCS8qIFQ2OiAxMjBtcyAtIDEyMW1zICovCj4g Kwl1c2xlZXBfcmFuZ2UoMTIwMDAwLCAxMjEwMDApOwo+ICsKPiArCWVyciA9IG1pcGlfZHNpX2Rj c19zZXRfZGlzcGxheV9vbihwaW5mby0+bGluayk7Cj4gKwlpZiAoZXJyIDwgMCkgewo+ICsJCURS TV9ERVZfRVJST1IocGFuZWwtPmRldiwgImZhaWxlZCB0byBzZXQgZGlzcGxheSBvbjogJWRcbiIs Cj4gKwkJCSAgICAgIGVycik7Cj4gKwkJZ290byBwb3dlcm9mZjsKPiArCX0KPiArCj4gKwkvKiBU NzogMjBtcyAtIDIxbXMgKi8KPiArCXVzbGVlcF9yYW5nZSgyMDAwMCwgMjEwMDApOwo+ICsKPiAg CXBpbmZvLT5wcmVwYXJlZCA9IHRydWU7Cj4gIAo+ICAJcmV0dXJuIDA7Cj4gQEAgLTI1MywzMTcg KzI3MSwyNjggQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlIGRlZmF1bHRf ZGlzcGxheV9tb2RlID0gewo+ICAJLnZyZWZyZXNoID0gNjAsCj4gIH07Cj4gIAo+IC1zdGF0aWMg Y29uc3Qgc3RydWN0IHBhbmVsX2NtZCBkZWZhdWx0X29mZl9jbWRzW10gPSB7Cj4gLQlfSU5JVF9D TUQoMHgwMCwgMHgyOCksCj4gLQlfSU5JVF9DTUQoMHgwMSwgMHgxMCksCj4gLQo+IC0Je30sCj4g LX07Cj4gLQo+ICAvKiA4IGluY2ggKi8KPiAgc3RhdGljIGNvbnN0IHN0cnVjdCBwYW5lbF9jbWQg Ym9lX2hpbWF4ODI3OWQ4cF9vbl9jbWRzW10gPSB7Cj4gLQlfSU5JVF9DTUQoMHgyMiwgMHgxMCks Cj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhCMCwgMHgwNSksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhC MSwgMHhFNSksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhCMywgMHg1MiksCj4gLQlfSU5JVF9DTUQo MHgwMCwgMHhCMCwgMHgwMCksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhCMywgMHg4OCksCj4gLQlf SU5JVF9DTUQoMHgwMCwgMHhCMCwgMHgwNCksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhCOCwgMHgw MCksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhCMCwgMHgwMCksCj4gLQlfSU5JVF9DTUQoMHgwMCwg MHhCMiwgMHg1MCksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhCNiwgMHgwMyksCj4gLQlfSU5JVF9D TUQoMHgwMCwgMHhCQSwgMHg4QiksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhCRiwgMHgxNSksCj4g LQlfSU5JVF9DTUQoMHgwMCwgMHhDMCwgMHgwRiksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhDMiwg MHgwQyksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhDMywgMHgwMiksCj4gLQlfSU5JVF9DTUQoMHgw MCwgMHhDNCwgMHgwQyksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhDNSwgMHgwMiksCj4gLQlfSU5J VF9DTUQoMHgwMCwgMHhCMCwgMHgwMSksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhFMCwgMHgyNiks Cj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhFMSwgMHgyNiksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhE QywgMHgwMCksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhERCwgMHgwMCksCj4gLQlfSU5JVF9DTUQo MHgwMCwgMHhDQywgMHgyNiksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhDRCwgMHgyNiksCj4gLQlf SU5JVF9DTUQoMHgwMCwgMHhDOCwgMHgwMCksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhDOSwgMHgw MCksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhEMiwgMHgwNCksCj4gLQlfSU5JVF9DTUQoMHgwMCwg MHhEMywgMHgwNCksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhFNiwgMHgwMyksCj4gLQlfSU5JVF9D TUQoMHgwMCwgMHhFNywgMHgwMyksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhDNCwgMHgwOCksCj4g LQlfSU5JVF9DTUQoMHgwMCwgMHhDNSwgMHgwOCksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhEOCwg MHgwNyksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhEOSwgMHgwNyksCj4gLQlfSU5JVF9DTUQoMHgw MCwgMHhDMiwgMHgwNiksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhDMywgMHgwNiksCj4gLQlfSU5J VF9DTUQoMHgwMCwgMHhENiwgMHgwNSksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhENywgMHgwNSks Cj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhDMCwgMHgwQyksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhD MSwgMHgwQyksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhENCwgMHgwQiksCj4gLQlfSU5JVF9DTUQo MHgwMCwgMHhENSwgMHgwQiksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhDQSwgMHgwQSksCj4gLQlf SU5JVF9DTUQoMHgwMCwgMHhDQiwgMHgwQSksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhERSwgMHgw OSksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhERiwgMHgwOSksCj4gLQlfSU5JVF9DTUQoMHgwMCwg MHhDNiwgMHgyNiksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhDNywgMHgyNiksCj4gLQlfSU5JVF9D TUQoMHgwMCwgMHhDRSwgMHgwMCksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhDRiwgMHgwMCksCj4g LQlfSU5JVF9DTUQoMHgwMCwgMHhEQSwgMHgyNiksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhEQiwg MHgyNiksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhFMiwgMHgwMCksCj4gLQlfSU5JVF9DTUQoMHgw MCwgMHhFMywgMHgwMCksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhCMCwgMHgwMiksCj4gLQlfSU5J VF9DTUQoMHgwMCwgMHhDMCwgMHgwMCksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhDMSwgMHgwNyks Cj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhDMiwgMHgwRCksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhD MywgMHgxOCksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhDNCwgMHgyNyksCj4gLQlfSU5JVF9DTUQo MHgwMCwgMHhDNSwgMHgyOCksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhDNiwgMHgzMCksCj4gLQlf SU5JVF9DTUQoMHgwMCwgMHhDNywgMHgyRSksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhDOCwgMHgy RiksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhDOSwgMHgxQSksCj4gLQlfSU5JVF9DTUQoMHgwMCwg MHhDQSwgMHgyMCksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhDQiwgMHgyOSksCj4gLQlfSU5JVF9D TUQoMHgwMCwgMHhDQywgMHgyNiksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhDRCwgMHgzMiksCj4g LQlfSU5JVF9DTUQoMHgwMCwgMHhDRSwgMHgzMyksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhDRiwg MHgzMSksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhEMCwgMHgwNiksCj4gLQlfSU5JVF9DTUQoMHgw MCwgMHhEMiwgMHgwMCksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhEMywgMHgwNyksCj4gLQlfSU5J VF9DTUQoMHgwMCwgMHhENCwgMHgxMiksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhENSwgMHgyNiks Cj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhENiwgMHgzRCksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhE NywgMHgzRiksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhEOCwgMHgzRiksCj4gLQlfSU5JVF9DTUQo MHgwMCwgMHhEOSwgMHgzRiksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhEQSwgMHgzRiksCj4gLQlf SU5JVF9DTUQoMHgwMCwgMHhEQiwgMHgzRiksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhEQywgMHgz RiksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhERCwgMHgzRiksCj4gLQlfSU5JVF9DTUQoMHgwMCwg MHhERSwgMHgzRiksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhERiwgMHgzQSksCj4gLQlfSU5JVF9D TUQoMHgwMCwgMHhFMCwgMHgzNyksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhFMSwgMHgzNSksCj4g LQlfSU5JVF9DTUQoMHgwMCwgMHhFMiwgMHgwNyksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhCMCwg MHgwMyksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhDOCwgMHgwQiksCj4gLQlfSU5JVF9DTUQoMHgw MCwgMHhDOSwgMHgwNyksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhDMywgMHgwMCksCj4gLQlfSU5J VF9DTUQoMHgwMCwgMHhFNywgMHgwMCksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhDNSwgMHgyQSks Cj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhERSwgMHgyQSksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhD QSwgMHg0MyksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhDOSwgMHgwNyksCj4gLQlfSU5JVF9DTUQo MHgwMCwgMHhFNCwgMHhDMCksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhFNSwgMHgwRCksCj4gLQlf SU5JVF9DTUQoMHgwMCwgMHhDQiwgMHgwMCksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhCMCwgMHgw NiksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhCOCwgMHhBNSksCj4gLQlfSU5JVF9DTUQoMHgwMCwg MHhDMCwgMHhBNSksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhDNywgMHgwRiksCj4gLQlfSU5JVF9D TUQoMHgwMCwgMHhENSwgMHgzMiksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhCOCwgMHgwMCksCj4g LQlfSU5JVF9DTUQoMHgwMCwgMHhDMCwgMHgwMCksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhCQywg MHgwMCksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhCMCwgMHgwNyksCj4gLQlfSU5JVF9DTUQoMHgw MCwgMHhCMSwgMHgwMCksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhCMiwgMHgwOSksCj4gLQlfSU5J VF9DTUQoMHgwMCwgMHhCMywgMHgxOSksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhCNCwgMHgyRiks Cj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhCNSwgMHg0NCksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhC NiwgMHg1MiksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhCNywgMHg2QSksCj4gLQlfSU5JVF9DTUQo MHgwMCwgMHhCOCwgMHg4QSksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhCOSwgMHhDQSksCj4gLQlf SU5JVF9DTUQoMHgwMCwgMHhCQSwgMHgwQyksCj4gLQlfSU5JVF9DTUQoMHgwNSwgMHhCQiwgMHg4 NyksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhCQywgMHgwNiksCj4gLQlfSU5JVF9DTUQoMHgwMCwg MHhCRCwgMHgwQSksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhCRSwgMHg5QiksCj4gLQlfSU5JVF9D TUQoMHgwMCwgMHhCRiwgMHgwQyksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhDMCwgMHgzRCksCj4g LQlfSU5JVF9DTUQoMHgwMCwgMHhDMSwgMHg3MSksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhDMiwg MHg5MCksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhDMywgMHhBMCksCj4gLQlfSU5JVF9DTUQoMHgw MCwgMHhDNCwgMHhBOCksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhDNSwgMHhCMSksCj4gLQlfSU5J VF9DTUQoMHgwMCwgMHhDNiwgMHhCQiksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhDNywgMHhDMCks Cj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhDOCwgMHhDNCksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhD OSwgMHgwMCksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhDQSwgMHgwMCksCj4gLQlfSU5JVF9DTUQo MHgwMCwgMHhDQiwgMHgxNiksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhDQywgMHhBRiksCj4gLQlf SU5JVF9DTUQoMHgwMCwgMHhDRCwgMHhGRiksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhDRSwgMHhG RiksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhCMCwgMHgwOCksCj4gLQlfSU5JVF9DTUQoMHgwMCwg MHhCMSwgMHgwNCksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhCMiwgMHgwOCksCj4gLQlfSU5JVF9D TUQoMHgwMCwgMHhCMywgMHgxOSksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhCNCwgMHgzMSksCj4g LQlfSU5JVF9DTUQoMHgwMCwgMHhCNSwgMHg0NiksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhCNiwg MHg1NSksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhCNywgMHg2RSksCj4gLQlfSU5JVF9DTUQoMHgw MCwgMHhCOCwgMHg5MiksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhCOSwgMHhENCksCj4gLQlfSU5J VF9DTUQoMHgwMCwgMHhCQSwgMHgxQiksCj4gLQlfSU5JVF9DTUQoMHgwNSwgMHhCQiwgMHg5Qiks Cj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhCQywgMHgyOCksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhC RCwgMHgyRCksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhCRSwgMHhDMyksCj4gLQlfSU5JVF9DTUQo MHgwMCwgMHhCRiwgMHgyRiksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhDMCwgMHg2MiksCj4gLQlf SU5JVF9DTUQoMHgwMCwgMHhDMSwgMHg5OSksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhDMiwgMHhB QiksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhDMywgMHhCRiksCj4gLQlfSU5JVF9DTUQoMHgwMCwg MHhDNCwgMHhDRiksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhDNSwgMHhERiksCj4gLQlfSU5JVF9D TUQoMHgwMCwgMHhDNiwgMHhGMCksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhDNywgMHhGOSksCj4g LQlfSU5JVF9DTUQoMHgwMCwgMHhDOCwgMHhGQyksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhDOSwg MHgwMCksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhDQSwgMHgwMCksCj4gLQlfSU5JVF9DTUQoMHgw MCwgMHhDQiwgMHgxNiksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhDQywgMHhBRiksCj4gLQlfSU5J VF9DTUQoMHgwMCwgMHhDRCwgMHhGRiksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhDRSwgMHhGRiks Cj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhCMCwgMHgwOSksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhC MSwgMHgwNCksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhCMiwgMHgwNSksCj4gLQlfSU5JVF9DTUQo MHgwMCwgMHhCMywgMHgxNyksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhCNCwgMHgyRSksCj4gLQlf SU5JVF9DTUQoMHgwMCwgMHhCNSwgMHg0MiksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhCNiwgMHg1 MSksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhCNywgMHg2OSksCj4gLQlfSU5JVF9DTUQoMHgwMCwg MHhCOCwgMHg4OCksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhCOSwgMHhDOSksCj4gLQlfSU5JVF9D TUQoMHgwMCwgMHhCQSwgMHgwQyksCj4gLQlfSU5JVF9DTUQoMHgwNSwgMHhCQiwgMHg4NiksCj4g LQlfSU5JVF9DTUQoMHgwMCwgMHhCQywgMHgwMyksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhCRCwg MHgwOCksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhCRSwgMHg5NSksCj4gLQlfSU5JVF9DTUQoMHgw MCwgMHhCRiwgMHgwNSksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhDMCwgMHgzNSksCj4gLQlfSU5J VF9DTUQoMHgwMCwgMHhDMSwgMHg2MiksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhDMiwgMHg4MSks Cj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhDMywgMHg5NiksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhD NCwgMHg5RSksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhDNSwgMHhBNSksCj4gLQlfSU5JVF9DTUQo MHgwMCwgMHhDNiwgMHhBRCksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhDNywgMHhCMSksCj4gLQlf SU5JVF9DTUQoMHgwMCwgMHhDOCwgMHhCNCksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhDOSwgMHgw MCksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhDQSwgMHgwMCksCj4gLQlfSU5JVF9DTUQoMHgwMCwg MHhDQiwgMHgxNiksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhDQywgMHhBRiksCj4gLQlfSU5JVF9D TUQoMHgwMCwgMHhDRCwgMHhGRiksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhDRSwgMHhGRiksCj4g LQlfSU5JVF9DTUQoMHgwMCwgMHhCMCwgMHgwQSksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhCMSwg MHgwMCksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhCMiwgMHgwOSksCj4gLQlfSU5JVF9DTUQoMHgw MCwgMHhCMywgMHgxOSksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhCNCwgMHgyRiksCj4gLQlfSU5J VF9DTUQoMHgwMCwgMHhCNSwgMHg0NCksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhCNiwgMHg1Miks Cj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhCNywgMHg2QSksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhC OCwgMHg4QSksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhCOSwgMHhDQSksCj4gLQlfSU5JVF9DTUQo MHgwMCwgMHhCQSwgMHgwQyksCj4gLQlfSU5JVF9DTUQoMHgwNSwgMHhCQiwgMHg4NyksCj4gLQlf SU5JVF9DTUQoMHgwMCwgMHhCQywgMHgwNiksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhCRCwgMHgw QSksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhCRSwgMHg5QiksCj4gLQlfSU5JVF9DTUQoMHgwMCwg MHhCRiwgMHgwQyksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhDMCwgMHgzRCksCj4gLQlfSU5JVF9D TUQoMHgwMCwgMHhDMSwgMHg3MSksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhDMiwgMHg5MCksCj4g LQlfSU5JVF9DTUQoMHgwMCwgMHhDMywgMHhBMCksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhDNCwg MHhBOCksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhDNSwgMHhCMSksCj4gLQlfSU5JVF9DTUQoMHgw MCwgMHhDNiwgMHhCQiksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhDNywgMHhDMCksCj4gLQlfSU5J VF9DTUQoMHgwMCwgMHhDOCwgMHhDNCksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhDOSwgMHgwMCks Cj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhDQSwgMHgwMCksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhD QiwgMHgxNiksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhDQywgMHhBRiksCj4gLQlfSU5JVF9DTUQo MHgwMCwgMHhDRCwgMHhGRiksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhDRSwgMHhGRiksCj4gLQlf SU5JVF9DTUQoMHgwMCwgMHhCMCwgMHgwQiksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhCMSwgMHgw NCksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhCMiwgMHgwOCksCj4gLQlfSU5JVF9DTUQoMHgwMCwg MHhCMywgMHgxOSksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhCNCwgMHgzMSksCj4gLQlfSU5JVF9D TUQoMHgwMCwgMHhCNSwgMHg0NiksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhCNiwgMHg1NSksCj4g LQlfSU5JVF9DTUQoMHgwMCwgMHhCNywgMHg2RSksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhCOCwg MHg5MiksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhCOSwgMHhENCksCj4gLQlfSU5JVF9DTUQoMHgw MCwgMHhCQSwgMHgxQiksCj4gLQlfSU5JVF9DTUQoMHgwNSwgMHhCQiwgMHg5QiksCj4gLQlfSU5J VF9DTUQoMHgwMCwgMHhCQywgMHgyOCksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhCRCwgMHgyRCks Cj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhCRSwgMHhDMyksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhC RiwgMHgyRiksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhDMCwgMHg2MiksCj4gLQlfSU5JVF9DTUQo MHgwMCwgMHhDMSwgMHg5OSksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhDMiwgMHhBQiksCj4gLQlf SU5JVF9DTUQoMHgwMCwgMHhDMywgMHhCRiksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhDNCwgMHhD RiksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhDNSwgMHhERiksCj4gLQlfSU5JVF9DTUQoMHgwMCwg MHhDNiwgMHhGMCksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhDNywgMHhGOSksCj4gLQlfSU5JVF9D TUQoMHgwMCwgMHhDOCwgMHhGQyksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhDOSwgMHgwMCksCj4g LQlfSU5JVF9DTUQoMHgwMCwgMHhDQSwgMHgwMCksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhDQiwg MHgxNiksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhDQywgMHhBRiksCj4gLQlfSU5JVF9DTUQoMHgw MCwgMHhDRCwgMHhGRiksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhDRSwgMHhGRiksCj4gLQlfSU5J VF9DTUQoMHgwMCwgMHhCMCwgMHgwQyksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhCMSwgMHgwNCks Cj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhCMiwgMHgwNSksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhC MywgMHgxNyksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhCNCwgMHgyRSksCj4gLQlfSU5JVF9DTUQo MHgwMCwgMHhCNSwgMHg0MiksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhCNiwgMHg1MSksCj4gLQlf SU5JVF9DTUQoMHgwMCwgMHhCNywgMHg2OSksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhCOCwgMHg4 OCksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhCOSwgMHhDOSksCj4gLQlfSU5JVF9DTUQoMHgwMCwg MHhCQSwgMHgwQyksCj4gLQlfSU5JVF9DTUQoMHgwNSwgMHhCQiwgMHg4NiksCj4gLQlfSU5JVF9D TUQoMHgwMCwgMHhCQywgMHgwMyksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhCRCwgMHgwOCksCj4g LQlfSU5JVF9DTUQoMHgwMCwgMHhCRSwgMHg5NSksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhCRiwg MHgwNSksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhDMCwgMHgzNSksCj4gLQlfSU5JVF9DTUQoMHgw MCwgMHhDMSwgMHg2MiksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhDMiwgMHg4MSksCj4gLQlfSU5J VF9DTUQoMHgwMCwgMHhDMywgMHg5NiksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhDNCwgMHg5RSks Cj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhDNSwgMHhBNSksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhD NiwgMHhBRCksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhDNywgMHhCMSksCj4gLQlfSU5JVF9DTUQo MHgwMCwgMHhDOCwgMHhCNCksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhDOSwgMHgwMCksCj4gLQlf SU5JVF9DTUQoMHgwMCwgMHhDQSwgMHgwMCksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhDQiwgMHgx NiksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhDQywgMHhBRiksCj4gLQlfSU5JVF9DTUQoMHgwMCwg MHhDRCwgMHhGRiksCj4gLQlfSU5JVF9DTUQoMHg2NCwgMHhDRSwgMHhGRiksCj4gLQlfSU5JVF9D TUQoMHgwMCwgMHhCMCwgMHgwMCksCj4gLQlfSU5JVF9DTUQoMHgwMCwgMHhCMywgMHgwOCksCj4g LQlfSU5JVF9DTUQoMHgwMCwgMHhCMCwgMHgwNCksCj4gLQlfSU5JVF9DTUQoMHgwQSwgMHhCOCwg MHg2OCksCj4gLQlfSU5JVF9DTUQoMHg3OCwgMHgxMSksCj4gLQlfSU5JVF9DTUQoMHgxNCwgMHgy OSksCj4gKwlfSU5JVF9DTUQoMHhCMCwgMHgwNSksCj4gKwlfSU5JVF9DTUQoMHhCMSwgMHhFNSks Cj4gKwlfSU5JVF9DTUQoMHhCMywgMHg1MiksCj4gKwlfSU5JVF9DTUQoMHhDMCwgMHgwMCksCj4g KwlfSU5JVF9DTUQoMHhDMiwgMHg1NyksCj4gKwlfSU5JVF9DTUQoMHhEOSwgMHg4NSksCj4gKwlf SU5JVF9DTUQoMHhCMCwgMHgwMSksCj4gKwlfSU5JVF9DTUQoMHhDOCwgMHgwMCksCj4gKwlfSU5J VF9DTUQoMHhDOSwgMHgwMCksCj4gKwlfSU5JVF9DTUQoMHhDQywgMHgyNiksCj4gKwlfSU5JVF9D TUQoMHhDRCwgMHgyNiksCj4gKwlfSU5JVF9DTUQoMHhEQywgMHgwMCksCj4gKwlfSU5JVF9DTUQo MHhERCwgMHgwMCksCj4gKwlfSU5JVF9DTUQoMHhFMCwgMHgyNiksCj4gKwlfSU5JVF9DTUQoMHhF MSwgMHgyNiksCj4gKwlfSU5JVF9DTUQoMHhCMCwgMHgwMyksCj4gKwlfSU5JVF9DTUQoMHhDMywg MHgyQSksCj4gKwlfSU5JVF9DTUQoMHhFNywgMHgyQSksCj4gKwlfSU5JVF9DTUQoMHhDNSwgMHgy QSksCj4gKwlfSU5JVF9DTUQoMHhERSwgMHgyQSksCj4gKwlfSU5JVF9DTUQoMHhCQywgMHgwMiks Cj4gKwlfSU5JVF9DTUQoMHhDQiwgMHgwMiksCj4gKwlfSU5JVF9DTUQoMHhCMCwgMHgwMCksCj4g KwlfSU5JVF9DTUQoMHhCNiwgMHgwMyksCj4gKwlfSU5JVF9DTUQoMHhCQSwgMHg4QiksCj4gKwlf SU5JVF9DTUQoMHhCRiwgMHgxNSksCj4gKwlfSU5JVF9DTUQoMHhDMCwgMHgxOCksCj4gKwlfSU5J VF9DTUQoMHhDMiwgMHgxNCksCj4gKwlfSU5JVF9DTUQoMHhDMywgMHgwMiksCj4gKwlfSU5JVF9D TUQoMHhDNCwgMHgxNCksCj4gKwlfSU5JVF9DTUQoMHhDNSwgMHgwMiksCj4gKwlfSU5JVF9DTUQo MHhDQywgMHgwQSksCj4gKwlfSU5JVF9DTUQoMHhCMCwgMHgwNiksCj4gKwlfSU5JVF9DTUQoMHhD MCwgMHhBNSksCj4gKwlfSU5JVF9DTUQoMHhENSwgMHgyMCksCj4gKwlfSU5JVF9DTUQoMHhDMCwg MHgwMCksCj4gKwlfSU5JVF9DTUQoMHhCMCwgMHgwMiksCj4gKwlfSU5JVF9DTUQoMHhDMCwgMHgw MCksCj4gKwlfSU5JVF9DTUQoMHhDMSwgMHgwMiksCj4gKwlfSU5JVF9DTUQoMHhDMiwgMHgwNiks Cj4gKwlfSU5JVF9DTUQoMHhDMywgMHgxNiksCj4gKwlfSU5JVF9DTUQoMHhDNCwgMHgwRSksCj4g KwlfSU5JVF9DTUQoMHhDNSwgMHgxOCksCj4gKwlfSU5JVF9DTUQoMHhDNiwgMHgyNiksCj4gKwlf SU5JVF9DTUQoMHhDNywgMHgzMiksCj4gKwlfSU5JVF9DTUQoMHhDOCwgMHgzRiksCj4gKwlfSU5J VF9DTUQoMHhDOSwgMHgzRiksCj4gKwlfSU5JVF9DTUQoMHhDQSwgMHgzRiksCj4gKwlfSU5JVF9D TUQoMHhDQiwgMHgzRiksCj4gKwlfSU5JVF9DTUQoMHhDQywgMHgzRCksCj4gKwlfSU5JVF9DTUQo MHhDRCwgMHgyRiksCj4gKwlfSU5JVF9DTUQoMHhDRSwgMHgyRiksCj4gKwlfSU5JVF9DTUQoMHhD RiwgMHgyRiksCj4gKwlfSU5JVF9DTUQoMHhEMCwgMHgwNyksCj4gKwlfSU5JVF9DTUQoMHhEMiwg MHgwMCksCj4gKwlfSU5JVF9DTUQoMHhEMywgMHgwMiksCj4gKwlfSU5JVF9DTUQoMHhENCwgMHgw NiksCj4gKwlfSU5JVF9DTUQoMHhENSwgMHgxMiksCj4gKwlfSU5JVF9DTUQoMHhENiwgMHgwQSks Cj4gKwlfSU5JVF9DTUQoMHhENywgMHgxNCksCj4gKwlfSU5JVF9DTUQoMHhEOCwgMHgyMiksCj4g KwlfSU5JVF9DTUQoMHhEOSwgMHgyRSksCj4gKwlfSU5JVF9DTUQoMHhEQSwgMHgzRCksCj4gKwlf SU5JVF9DTUQoMHhEQiwgMHgzRiksCj4gKwlfSU5JVF9DTUQoMHhEQywgMHgzRiksCj4gKwlfSU5J VF9DTUQoMHhERCwgMHgzRiksCj4gKwlfSU5JVF9DTUQoMHhERSwgMHgzRCksCj4gKwlfSU5JVF9D TUQoMHhERiwgMHgyRiksCj4gKwlfSU5JVF9DTUQoMHhFMCwgMHgyRiksCj4gKwlfSU5JVF9DTUQo MHhFMSwgMHgyRiksCj4gKwlfSU5JVF9DTUQoMHhFMiwgMHgwNyksCj4gKwlfSU5JVF9DTUQoMHhC MCwgMHgwNyksCj4gKwlfSU5JVF9DTUQoMHhCMSwgMHgxOCksCj4gKwlfSU5JVF9DTUQoMHhCMiwg MHgxOSksCj4gKwlfSU5JVF9DTUQoMHhCMywgMHgyRSksCj4gKwlfSU5JVF9DTUQoMHhCNCwgMHg1 MiksCj4gKwlfSU5JVF9DTUQoMHhCNSwgMHg3MiksCj4gKwlfSU5JVF9DTUQoMHhCNiwgMHg4Qyks Cj4gKwlfSU5JVF9DTUQoMHhCNywgMHhCRCksCj4gKwlfSU5JVF9DTUQoMHhCOCwgMHhFQiksCj4g KwlfSU5JVF9DTUQoMHhCOSwgMHg0NyksCj4gKwlfSU5JVF9DTUQoMHhCQSwgMHg5NiksCj4gKwlf SU5JVF9DTUQoMHhCQiwgMHgxRSksCj4gKwlfSU5JVF9DTUQoMHhCQywgMHg5MCksCj4gKwlfSU5J VF9DTUQoMHhCRCwgMHg5MyksCj4gKwlfSU5JVF9DTUQoMHhCRSwgMHhGQSksCj4gKwlfSU5JVF9D TUQoMHhCRiwgMHg1NiksCj4gKwlfSU5JVF9DTUQoMHhDMCwgMHg4QyksCj4gKwlfSU5JVF9DTUQo MHhDMSwgMHhCNyksCj4gKwlfSU5JVF9DTUQoMHhDMiwgMHhDQyksCj4gKwlfSU5JVF9DTUQoMHhD MywgMHhERiksCj4gKwlfSU5JVF9DTUQoMHhDNCwgMHhFOCksCj4gKwlfSU5JVF9DTUQoMHhDNSwg MHhGMCksCj4gKwlfSU5JVF9DTUQoMHhDNiwgMHhGOCksCj4gKwlfSU5JVF9DTUQoMHhDNywgMHhG QSksCj4gKwlfSU5JVF9DTUQoMHhDOCwgMHhGQyksCj4gKwlfSU5JVF9DTUQoMHhDOSwgMHgwMCks Cj4gKwlfSU5JVF9DTUQoMHhDQSwgMHgwMCksCj4gKwlfSU5JVF9DTUQoMHhDQiwgMHg1QSksCj4g KwlfSU5JVF9DTUQoMHhDQywgMHhBRiksCj4gKwlfSU5JVF9DTUQoMHhDRCwgMHhGRiksCj4gKwlf SU5JVF9DTUQoMHhDRSwgMHhGRiksCj4gKwlfSU5JVF9DTUQoMHhCMCwgMHgwOCksCj4gKwlfSU5J VF9DTUQoMHhCMSwgMHgwNCksCj4gKwlfSU5JVF9DTUQoMHhCMiwgMHgxNSksCj4gKwlfSU5JVF9D TUQoMHhCMywgMHgyRCksCj4gKwlfSU5JVF9DTUQoMHhCNCwgMHg1MSksCj4gKwlfSU5JVF9DTUQo MHhCNSwgMHg3MiksCj4gKwlfSU5JVF9DTUQoMHhCNiwgMHg4RCksCj4gKwlfSU5JVF9DTUQoMHhC NywgMHhCRSksCj4gKwlfSU5JVF9DTUQoMHhCOCwgMHhFRCksCj4gKwlfSU5JVF9DTUQoMHhCOSwg MHg0QSksCj4gKwlfSU5JVF9DTUQoMHhCQSwgMHg5QSksCj4gKwlfSU5JVF9DTUQoMHhCQiwgMHgy MyksCj4gKwlfSU5JVF9DTUQoMHhCQywgMHg5NSksCj4gKwlfSU5JVF9DTUQoMHhCRCwgMHg5OCks Cj4gKwlfSU5JVF9DTUQoMHhCRSwgMHhGRiksCj4gKwlfSU5JVF9DTUQoMHhCRiwgMHg1OSksCj4g KwlfSU5JVF9DTUQoMHhDMCwgMHg4RSksCj4gKwlfSU5JVF9DTUQoMHhDMSwgMHhCOSksCj4gKwlf SU5JVF9DTUQoMHhDMiwgMHhDRCksCj4gKwlfSU5JVF9DTUQoMHhDMywgMHhERiksCj4gKwlfSU5J VF9DTUQoMHhDNCwgMHhFOCksCj4gKwlfSU5JVF9DTUQoMHhDNSwgMHhGMCksCj4gKwlfSU5JVF9D TUQoMHhDNiwgMHhGOCksCj4gKwlfSU5JVF9DTUQoMHhDNywgMHhGQSksCj4gKwlfSU5JVF9DTUQo MHhDOCwgMHhGQyksCj4gKwlfSU5JVF9DTUQoMHhDOSwgMHgwMCksCj4gKwlfSU5JVF9DTUQoMHhD QSwgMHgwMCksCj4gKwlfSU5JVF9DTUQoMHhDQiwgMHg1QSksCj4gKwlfSU5JVF9DTUQoMHhDQywg MHhBRiksCj4gKwlfSU5JVF9DTUQoMHhDRCwgMHhGRiksCj4gKwlfSU5JVF9DTUQoMHhDRSwgMHhG RiksCj4gKwlfSU5JVF9DTUQoMHhCMCwgMHgwOSksCj4gKwlfSU5JVF9DTUQoMHhCMSwgMHgwNCks Cj4gKwlfSU5JVF9DTUQoMHhCMiwgMHgyQyksCj4gKwlfSU5JVF9DTUQoMHhCMywgMHgzNiksCj4g KwlfSU5JVF9DTUQoMHhCNCwgMHg1MyksCj4gKwlfSU5JVF9DTUQoMHhCNSwgMHg3MyksCj4gKwlf SU5JVF9DTUQoMHhCNiwgMHg4RSksCj4gKwlfSU5JVF9DTUQoMHhCNywgMHhDMCksCj4gKwlfSU5J VF9DTUQoMHhCOCwgMHhFRiksCj4gKwlfSU5JVF9DTUQoMHhCOSwgMHg0QyksCj4gKwlfSU5JVF9D TUQoMHhCQSwgMHg5RCksCj4gKwlfSU5JVF9DTUQoMHhCQiwgMHgyNSksCj4gKwlfSU5JVF9DTUQo MHhCQywgMHg5NiksCj4gKwlfSU5JVF9DTUQoMHhCRCwgMHg5QSksCj4gKwlfSU5JVF9DTUQoMHhC RSwgMHgwMSksCj4gKwlfSU5JVF9DTUQoMHhCRiwgMHg1OSksCj4gKwlfSU5JVF9DTUQoMHhDMCwg MHg4RSksCj4gKwlfSU5JVF9DTUQoMHhDMSwgMHhCOSksCj4gKwlfSU5JVF9DTUQoMHhDMiwgMHhD RCksCj4gKwlfSU5JVF9DTUQoMHhDMywgMHhERiksCj4gKwlfSU5JVF9DTUQoMHhDNCwgMHhFOCks Cj4gKwlfSU5JVF9DTUQoMHhDNSwgMHhGMCksCj4gKwlfSU5JVF9DTUQoMHhDNiwgMHhGOCksCj4g KwlfSU5JVF9DTUQoMHhDNywgMHhGQSksCj4gKwlfSU5JVF9DTUQoMHhDOCwgMHhGQyksCj4gKwlf SU5JVF9DTUQoMHhDOSwgMHgwMCksCj4gKwlfSU5JVF9DTUQoMHhDQSwgMHgwMCksCj4gKwlfSU5J VF9DTUQoMHhDQiwgMHg1QSksCj4gKwlfSU5JVF9DTUQoMHhDQywgMHhCRiksCj4gKwlfSU5JVF9D TUQoMHhDRCwgMHhGRiksCj4gKwlfSU5JVF9DTUQoMHhDRSwgMHhGRiksCj4gKwlfSU5JVF9DTUQo MHhCMCwgMHgwQSksCj4gKwlfSU5JVF9DTUQoMHhCMSwgMHgxOCksCj4gKwlfSU5JVF9DTUQoMHhC MiwgMHgxOSksCj4gKwlfSU5JVF9DTUQoMHhCMywgMHgyRSksCj4gKwlfSU5JVF9DTUQoMHhCNCwg MHg1MiksCj4gKwlfSU5JVF9DTUQoMHhCNSwgMHg3MiksCj4gKwlfSU5JVF9DTUQoMHhCNiwgMHg4 QyksCj4gKwlfSU5JVF9DTUQoMHhCNywgMHhCRCksCj4gKwlfSU5JVF9DTUQoMHhCOCwgMHhFQiks Cj4gKwlfSU5JVF9DTUQoMHhCOSwgMHg0NyksCj4gKwlfSU5JVF9DTUQoMHhCQSwgMHg5NiksCj4g KwlfSU5JVF9DTUQoMHhCQiwgMHgxRSksCj4gKwlfSU5JVF9DTUQoMHhCQywgMHg5MCksCj4gKwlf SU5JVF9DTUQoMHhCRCwgMHg5MyksCj4gKwlfSU5JVF9DTUQoMHhCRSwgMHhGQSksCj4gKwlfSU5J VF9DTUQoMHhCRiwgMHg1NiksCj4gKwlfSU5JVF9DTUQoMHhDMCwgMHg4QyksCj4gKwlfSU5JVF9D TUQoMHhDMSwgMHhCNyksCj4gKwlfSU5JVF9DTUQoMHhDMiwgMHhDQyksCj4gKwlfSU5JVF9DTUQo MHhDMywgMHhERiksCj4gKwlfSU5JVF9DTUQoMHhDNCwgMHhFOCksCj4gKwlfSU5JVF9DTUQoMHhD NSwgMHhGMCksCj4gKwlfSU5JVF9DTUQoMHhDNiwgMHhGOCksCj4gKwlfSU5JVF9DTUQoMHhDNywg MHhGQSksCj4gKwlfSU5JVF9DTUQoMHhDOCwgMHhGQyksCj4gKwlfSU5JVF9DTUQoMHhDOSwgMHgw MCksCj4gKwlfSU5JVF9DTUQoMHhDQSwgMHgwMCksCj4gKwlfSU5JVF9DTUQoMHhDQiwgMHg1QSks Cj4gKwlfSU5JVF9DTUQoMHhDQywgMHhBRiksCj4gKwlfSU5JVF9DTUQoMHhDRCwgMHhGRiksCj4g KwlfSU5JVF9DTUQoMHhDRSwgMHhGRiksCj4gKwlfSU5JVF9DTUQoMHhCMCwgMHgwQiksCj4gKwlf SU5JVF9DTUQoMHhCMSwgMHgwNCksCj4gKwlfSU5JVF9DTUQoMHhCMiwgMHgxNSksCj4gKwlfSU5J VF9DTUQoMHhCMywgMHgyRCksCj4gKwlfSU5JVF9DTUQoMHhCNCwgMHg1MSksCj4gKwlfSU5JVF9D TUQoMHhCNSwgMHg3MiksCj4gKwlfSU5JVF9DTUQoMHhCNiwgMHg4RCksCj4gKwlfSU5JVF9DTUQo MHhCNywgMHhCRSksCj4gKwlfSU5JVF9DTUQoMHhCOCwgMHhFRCksCj4gKwlfSU5JVF9DTUQoMHhC OSwgMHg0QSksCj4gKwlfSU5JVF9DTUQoMHhCQSwgMHg5QSksCj4gKwlfSU5JVF9DTUQoMHhCQiwg MHgyMyksCj4gKwlfSU5JVF9DTUQoMHhCQywgMHg5NSksCj4gKwlfSU5JVF9DTUQoMHhCRCwgMHg5 OCksCj4gKwlfSU5JVF9DTUQoMHhCRSwgMHhGRiksCj4gKwlfSU5JVF9DTUQoMHhCRiwgMHg1OSks Cj4gKwlfSU5JVF9DTUQoMHhDMCwgMHg4RSksCj4gKwlfSU5JVF9DTUQoMHhDMSwgMHhCOSksCj4g KwlfSU5JVF9DTUQoMHhDMiwgMHhDRCksCj4gKwlfSU5JVF9DTUQoMHhDMywgMHhERiksCj4gKwlf SU5JVF9DTUQoMHhDNCwgMHhFOCksCj4gKwlfSU5JVF9DTUQoMHhDNSwgMHhGMCksCj4gKwlfSU5J VF9DTUQoMHhDNiwgMHhGOCksCj4gKwlfSU5JVF9DTUQoMHhDNywgMHhGQSksCj4gKwlfSU5JVF9D TUQoMHhDOCwgMHhGQyksCj4gKwlfSU5JVF9DTUQoMHhDOSwgMHgwMCksCj4gKwlfSU5JVF9DTUQo MHhDQSwgMHgwMCksCj4gKwlfSU5JVF9DTUQoMHhDQiwgMHg1QSksCj4gKwlfSU5JVF9DTUQoMHhD QywgMHhBRiksCj4gKwlfSU5JVF9DTUQoMHhDRCwgMHhGRiksCj4gKwlfSU5JVF9DTUQoMHhDRSwg MHhGRiksCj4gKwlfSU5JVF9DTUQoMHhCMCwgMHgwQyksCj4gKwlfSU5JVF9DTUQoMHhCMSwgMHgw NCksCj4gKwlfSU5JVF9DTUQoMHhCMiwgMHgyQyksCj4gKwlfSU5JVF9DTUQoMHhCMywgMHgzNiks Cj4gKwlfSU5JVF9DTUQoMHhCNCwgMHg1MyksCj4gKwlfSU5JVF9DTUQoMHhCNSwgMHg3MyksCj4g KwlfSU5JVF9DTUQoMHhCNiwgMHg4RSksCj4gKwlfSU5JVF9DTUQoMHhCNywgMHhDMCksCj4gKwlf SU5JVF9DTUQoMHhCOCwgMHhFRiksCj4gKwlfSU5JVF9DTUQoMHhCOSwgMHg0QyksCj4gKwlfSU5J VF9DTUQoMHhCQSwgMHg5RCksCj4gKwlfSU5JVF9DTUQoMHhCQiwgMHgyNSksCj4gKwlfSU5JVF9D TUQoMHhCQywgMHg5NiksCj4gKwlfSU5JVF9DTUQoMHhCRCwgMHg5QSksCj4gKwlfSU5JVF9DTUQo MHhCRSwgMHgwMSksCj4gKwlfSU5JVF9DTUQoMHhCRiwgMHg1OSksCj4gKwlfSU5JVF9DTUQoMHhD MCwgMHg4RSksCj4gKwlfSU5JVF9DTUQoMHhDMSwgMHhCOSksCj4gKwlfSU5JVF9DTUQoMHhDMiwg MHhDRCksCj4gKwlfSU5JVF9DTUQoMHhDMywgMHhERiksCj4gKwlfSU5JVF9DTUQoMHhDNCwgMHhF OCksCj4gKwlfSU5JVF9DTUQoMHhDNSwgMHhGMCksCj4gKwlfSU5JVF9DTUQoMHhDNiwgMHhGOCks Cj4gKwlfSU5JVF9DTUQoMHhDNywgMHhGQSksCj4gKwlfSU5JVF9DTUQoMHhDOCwgMHhGQyksCj4g KwlfSU5JVF9DTUQoMHhDOSwgMHgwMCksCj4gKwlfSU5JVF9DTUQoMHhDQSwgMHgwMCksCj4gKwlf SU5JVF9DTUQoMHhDQiwgMHg1QSksCj4gKwlfSU5JVF9DTUQoMHhDQywgMHhCRiksCj4gKwlfSU5J VF9DTUQoMHhDRCwgMHhGRiksCj4gKwlfSU5JVF9DTUQoMHhDRSwgMHhGRiksCj4gKwlfSU5JVF9D TUQoMHhCMCwgMHgwNCksCj4gKwlfSU5JVF9DTUQoMHhCNSwgMHgwMiksCj4gKwlfSU5JVF9DTUQo MHhCNiwgMHgwMSksCj4gIAo+ICAJe30sCj4gIH07Cj4gQEAgLTU3MywzMjAgKzU0MiwyOTggQEAg c3RhdGljIGNvbnN0IHN0cnVjdCBwYW5lbF9kZXNjIGJvZV9oaW1heDgyNzlkOHBfcGFuZWxfZGVz YyA9IHsKPiAgCS5icGMgPSA4LAo+ICAJLndpZHRoX21tID0gMTA3LAo+ICAJLmhlaWdodF9tbSA9 IDE3MiwKPiAtCS5kZWxheV90MSA9IDUwMDAsCj4gLQkucmVzZXRfZGVsYXlfdDIgPSAxNDAwMCwK PiAtCS5yZXNldF9kZWxheV90MyA9IDEwMDAsCj4gLQkucmVzZXRfZGVsYXlfdDQgPSAxMDAwLAo+ IC0JLnJlc2V0X2RlbGF5X3Q1ID0gNTAwMCwKPiAgCS5tb2RlX2ZsYWdzID0gTUlQSV9EU0lfTU9E RV9WSURFTyB8IE1JUElfRFNJX01PREVfVklERU9fU1lOQ19QVUxTRSB8Cj4gIAkJCU1JUElfRFNJ X0NMT0NLX05PTl9DT05USU5VT1VTIHwgTUlQSV9EU0lfTU9ERV9MUE0sCj4gIAkuZm9ybWF0ID0g TUlQSV9EU0lfRk1UX1JHQjg4OCwKPiAgCS5sYW5lcyA9IDQsCj4gIAkub25fY21kcyA9IGJvZV9o aW1heDgyNzlkOHBfb25fY21kcywKPiAtCS5vZmZfY21kcyA9IGRlZmF1bHRfb2ZmX2NtZHMsCj4g IH07Cj4gIAo+ICAvKiAxMCBpbmNoICovCj4gIHN0YXRpYyBjb25zdCBzdHJ1Y3QgcGFuZWxfY21k IGJvZV9oaW1heDgyNzlkMTBwX29uX2NtZHNbXSA9IHsKPiAtCV9JTklUX0NNRCgweDAwLCAweEIw LCAweDA1KSwKPiAtCV9JTklUX0NNRCgweDAwLCAweEIxLCAweEU1KSwKPiAtCV9JTklUX0NNRCgw eDAwLCAweEIzLCAweDUyKSwKPiAtCV9JTklUX0NNRCgweDAwLCAweEIwLCAweDAwKSwKPiAtCV9J TklUX0NNRCgweDAwLCAweEIzLCAweDg4KSwKPiAtCV9JTklUX0NNRCgweDAwLCAweEIwLCAweDA0 KSwKPiAtCV9JTklUX0NNRCgweDAwLCAweEI4LCAweDAwKSwKPiAtCV9JTklUX0NNRCgweDAwLCAw eEIwLCAweDAwKSwKPiAtCV9JTklUX0NNRCgweDAwLCAweEIyLCAweDUwKSwKPiAtCV9JTklUX0NN RCgweDAwLCAweEI2LCAweDAzKSwKPiAtCV9JTklUX0NNRCgweDAwLCAweEJBLCAweDhCKSwKPiAt CV9JTklUX0NNRCgweDAwLCAweEJGLCAweDFBKSwKPiAtCV9JTklUX0NNRCgweDAwLCAweEMwLCAw eDBGKSwKPiAtCV9JTklUX0NNRCgweDAwLCAweEMyLCAweDBDKSwKPiAtCV9JTklUX0NNRCgweDAw LCAweEMzLCAweDAyKSwKPiAtCV9JTklUX0NNRCgweDAwLCAweEM0LCAweDBDKSwKPiAtCV9JTklU X0NNRCgweDAwLCAweEM1LCAweDAyKSwKPiAtCV9JTklUX0NNRCgweDAwLCAweEIwLCAweDAxKSwK PiAtCV9JTklUX0NNRCgweDAwLCAweEUwLCAweDI2KSwKPiAtCV9JTklUX0NNRCgweDAwLCAweEUx LCAweDI2KSwKPiAtCV9JTklUX0NNRCgweDAwLCAweERDLCAweDAwKSwKPiAtCV9JTklUX0NNRCgw eDAwLCAweERELCAweDAwKSwKPiAtCV9JTklUX0NNRCgweDAwLCAweENDLCAweDI2KSwKPiAtCV9J TklUX0NNRCgweDAwLCAweENELCAweDI2KSwKPiAtCV9JTklUX0NNRCgweDAwLCAweEM4LCAweDAw KSwKPiAtCV9JTklUX0NNRCgweDAwLCAweEM5LCAweDAwKSwKPiAtCV9JTklUX0NNRCgweDAwLCAw eEQyLCAweDA0KSwKPiAtCV9JTklUX0NNRCgweDAwLCAweEQzLCAweDA0KSwKPiAtCV9JTklUX0NN RCgweDAwLCAweEU2LCAweDAzKSwKPiAtCV9JTklUX0NNRCgweDAwLCAweEU3LCAweDAzKSwKPiAt CV9JTklUX0NNRCgweDAwLCAweEM0LCAweDA4KSwKPiAtCV9JTklUX0NNRCgweDAwLCAweEM1LCAw eDA4KSwKPiAtCV9JTklUX0NNRCgweDAwLCAweEQ4LCAweDA3KSwKPiAtCV9JTklUX0NNRCgweDAw LCAweEQ5LCAweDA3KSwKPiAtCV9JTklUX0NNRCgweDAwLCAweEMyLCAweDA2KSwKPiAtCV9JTklU X0NNRCgweDAwLCAweEMzLCAweDA2KSwKPiAtCV9JTklUX0NNRCgweDAwLCAweEQ2LCAweDA1KSwK PiAtCV9JTklUX0NNRCgweDAwLCAweEQ3LCAweDA1KSwKPiAtCV9JTklUX0NNRCgweDAwLCAweEMw LCAweDBDKSwKPiAtCV9JTklUX0NNRCgweDAwLCAweEMxLCAweDBDKSwKPiAtCV9JTklUX0NNRCgw eDAwLCAweEQ0LCAweDBCKSwKPiAtCV9JTklUX0NNRCgweDAwLCAweEQ1LCAweDBCKSwKPiAtCV9J TklUX0NNRCgweDAwLCAweENBLCAweDBBKSwKPiAtCV9JTklUX0NNRCgweDAwLCAweENCLCAweDBB KSwKPiAtCV9JTklUX0NNRCgweDAwLCAweERFLCAweDA5KSwKPiAtCV9JTklUX0NNRCgweDAwLCAw eERGLCAweDA5KSwKPiAtCV9JTklUX0NNRCgweDAwLCAweEM2LCAweDI2KSwKPiAtCV9JTklUX0NN RCgweDAwLCAweEM3LCAweDI2KSwKPiAtCV9JTklUX0NNRCgweDAwLCAweENFLCAweDAwKSwKPiAt CV9JTklUX0NNRCgweDAwLCAweENGLCAweDAwKSwKPiAtCV9JTklUX0NNRCgweDAwLCAweERBLCAw eDI2KSwKPiAtCV9JTklUX0NNRCgweDAwLCAweERCLCAweDI2KSwKPiAtCV9JTklUX0NNRCgweDAw LCAweEUyLCAweDAwKSwKPiAtCV9JTklUX0NNRCgweDAwLCAweEUzLCAweDAwKSwKPiAtCV9JTklU X0NNRCgweDAwLCAweEIwLCAweDAyKSwKPiAtCV9JTklUX0NNRCgweDAwLCAweEMwLCAweDAwKSwK PiAtCV9JTklUX0NNRCgweDAwLCAweEMxLCAweDA3KSwKPiAtCV9JTklUX0NNRCgweDAwLCAweEMy LCAweDBEKSwKPiAtCV9JTklUX0NNRCgweDAwLCAweEMzLCAweDE4KSwKPiAtCV9JTklUX0NNRCgw eDAwLCAweEM0LCAweDI3KSwKPiAtCV9JTklUX0NNRCgweDAwLCAweEM1LCAweDI4KSwKPiAtCV9J TklUX0NNRCgweDAwLCAweEM2LCAweDMwKSwKPiAtCV9JTklUX0NNRCgweDAwLCAweEM3LCAweDJF KSwKPiAtCV9JTklUX0NNRCgweDAwLCAweEM4LCAweDJGKSwKPiAtCV9JTklUX0NNRCgweDAwLCAw eEM5LCAweDFBKSwKPiAtCV9JTklUX0NNRCgweDAwLCAweENBLCAweDIwKSwKPiAtCV9JTklUX0NN RCgweDAwLCAweENCLCAweDI5KSwKPiAtCV9JTklUX0NNRCgweDAwLCAweENDLCAweDI2KSwKPiAt CV9JTklUX0NNRCgweDAwLCAweENELCAweDMyKSwKPiAtCV9JTklUX0NNRCgweDAwLCAweENFLCAw eDMzKSwKPiAtCV9JTklUX0NNRCgweDAwLCAweENGLCAweDMxKSwKPiAtCV9JTklUX0NNRCgweDAw LCAweEQwLCAweDA2KSwKPiAtCV9JTklUX0NNRCgweDAwLCAweEQyLCAweDAwKSwKPiAtCV9JTklU X0NNRCgweDAwLCAweEQzLCAweDA3KSwKPiAtCV9JTklUX0NNRCgweDAwLCAweEQ0LCAweDEyKSwK PiAtCV9JTklUX0NNRCgweDAwLCAweEQ1LCAweDI2KSwKPiAtCV9JTklUX0NNRCgweDAwLCAweEQ2 LCAweDNEKSwKPiAtCV9JTklUX0NNRCgweDAwLCAweEQ3LCAweDNGKSwKPiAtCV9JTklUX0NNRCgw eDAwLCAweEQ4LCAweDNGKSwKPiAtCV9JTklUX0NNRCgweDAwLCAweEQ5LCAweDNGKSwKPiAtCV9J TklUX0NNRCgweDAwLCAweERBLCAweDNGKSwKPiAtCV9JTklUX0NNRCgweDAwLCAweERCLCAweDNG KSwKPiAtCV9JTklUX0NNRCgweDAwLCAweERDLCAweDNGKSwKPiAtCV9JTklUX0NNRCgweDAwLCAw eERELCAweDNGKSwKPiAtCV9JTklUX0NNRCgweDAwLCAweERFLCAweDNGKSwKPiAtCV9JTklUX0NN RCgweDAwLCAweERGLCAweDNBKSwKPiAtCV9JTklUX0NNRCgweDAwLCAweEUwLCAweDM3KSwKPiAt CV9JTklUX0NNRCgweDAwLCAweEUxLCAweDM1KSwKPiAtCV9JTklUX0NNRCgweDAwLCAweEUyLCAw eDA3KSwKPiAtCV9JTklUX0NNRCgweDAwLCAweEIwLCAweDAzKSwKPiAtCV9JTklUX0NNRCgweDAw LCAweEM4LCAweDBCKSwKPiAtCV9JTklUX0NNRCgweDAwLCAweEM5LCAweDA3KSwKPiAtCV9JTklU X0NNRCgweDAwLCAweEMzLCAweDAwKSwKPiAtCV9JTklUX0NNRCgweDAwLCAweEU3LCAweDAwKSwK PiAtCV9JTklUX0NNRCgweDAwLCAweEM1LCAweDJBKSwKPiAtCV9JTklUX0NNRCgweDAwLCAweERF LCAweDJBKSwKPiAtCV9JTklUX0NNRCgweDAwLCAweENBLCAweDQzKSwKPiAtCV9JTklUX0NNRCgw eDAwLCAweEM5LCAweDA3KSwKPiAtCV9JTklUX0NNRCgweDAwLCAweEU0LCAweEMwKSwKPiAtCV9J TklUX0NNRCgweDAwLCAweEU1LCAweDBEKSwKPiAtCV9JTklUX0NNRCgweDAwLCAweENCLCAweDAw KSwKPiAtCV9JTklUX0NNRCgweDAwLCAweEIwLCAweDA2KSwKPiAtCV9JTklUX0NNRCgweDAwLCAw eEI4LCAweEE1KSwKPiAtCV9JTklUX0NNRCgweDAwLCAweEMwLCAweEE1KSwKPiAtCV9JTklUX0NN RCgweDAwLCAweEM3LCAweDBGKSwKPiAtCV9JTklUX0NNRCgweDAwLCAweEQ1LCAweDMyKSwKPiAt CV9JTklUX0NNRCgweDAwLCAweEI4LCAweDAwKSwKPiAtCV9JTklUX0NNRCgweDAwLCAweEMwLCAw eDAwKSwKPiAtCV9JTklUX0NNRCgweDAwLCAweEJDLCAweDAwKSwKPiAtCV9JTklUX0NNRCgweDAw LCAweEIwLCAweDA3KSwKPiAtCV9JTklUX0NNRCgweDAwLCAweEIxLCAweDAwKSwKPiAtCV9JTklU X0NNRCgweDAwLCAweEIyLCAweDA5KSwKPiAtCV9JTklUX0NNRCgweDAwLCAweEIzLCAweDE5KSwK PiAtCV9JTklUX0NNRCgweDAwLCAweEI0LCAweDJGKSwKPiAtCV9JTklUX0NNRCgweDAwLCAweEI1 LCAweDQ0KSwKPiAtCV9JTklUX0NNRCgweDAwLCAweEI2LCAweDUyKSwKPiAtCV9JTklUX0NNRCgw eDAwLCAweEI3LCAweDZBKSwKPiAtCV9JTklUX0NNRCgweDAwLCAweEI4LCAweDhBKSwKPiAtCV9J TklUX0NNRCgweDAwLCAweEI5LCAweENBKSwKPiAtCV9JTklUX0NNRCgweDAwLCAweEJBLCAweDBD KSwKPiAtCV9JTklUX0NNRCgweDAwLCAweEJCLCAweDg3KSwKPiAtCV9JTklUX0NNRCgweDAwLCAw eEJDLCAweDA2KSwKPiAtCV9JTklUX0NNRCgweDAwLCAweEJELCAweDBBKSwKPiAtCV9JTklUX0NN RCgweDAwLCAweEJFLCAweDlCKSwKPiAtCV9JTklUX0NNRCgweDAwLCAweEJGLCAweDBDKSwKPiAt CV9JTklUX0NNRCgweDAwLCAweEMwLCAweDNEKSwKPiAtCV9JTklUX0NNRCgweDAwLCAweEMxLCAw eDcxKSwKPiAtCV9JTklUX0NNRCgweDAwLCAweEMyLCAweDkwKSwKPiAtCV9JTklUX0NNRCgweDAw LCAweEMzLCAweEEwKSwKPiAtCV9JTklUX0NNRCgweDAwLCAweEM0LCAweEE4KSwKPiAtCV9JTklU X0NNRCgweDAwLCAweEM1LCAweEIxKSwKPiAtCV9JTklUX0NNRCgweDAwLCAweEM2LCAweEJCKSwK PiAtCV9JTklUX0NNRCgweDAwLCAweEM3LCAweEMwKSwKPiAtCV9JTklUX0NNRCgweDAwLCAweEM4 LCAweEM0KSwKPiAtCV9JTklUX0NNRCgweDAwLCAweEM5LCAweDAwKSwKPiAtCV9JTklUX0NNRCgw eDAwLCAweENBLCAweDAwKSwKPiAtCV9JTklUX0NNRCgweDAwLCAweENCLCAweDE2KSwKPiAtCV9J TklUX0NNRCgweDAwLCAweENDLCAweEFGKSwKPiAtCV9JTklUX0NNRCgweDAwLCAweENELCAweEZG KSwKPiAtCV9JTklUX0NNRCgweDAwLCAweENFLCAweEZGKSwKPiAtCV9JTklUX0NNRCgweDAwLCAw eEIwLCAweDA4KSwKPiAtCV9JTklUX0NNRCgweDAwLCAweEIxLCAweDA0KSwKPiAtCV9JTklUX0NN RCgweDAwLCAweEIyLCAweDA4KSwKPiAtCV9JTklUX0NNRCgweDAwLCAweEIzLCAweDE5KSwKPiAt CV9JTklUX0NNRCgweDAwLCAweEI0LCAweDMxKSwKPiAtCV9JTklUX0NNRCgweDAwLCAweEI1LCAw eDQ2KSwKPiAtCV9JTklUX0NNRCgweDAwLCAweEI2LCAweDU1KSwKPiAtCV9JTklUX0NNRCgweDAw LCAweEI3LCAweDZFKSwKPiAtCV9JTklUX0NNRCgweDAwLCAweEI4LCAweDkyKSwKPiAtCV9JTklU X0NNRCgweDAwLCAweEI5LCAweEQ0KSwKPiAtCV9JTklUX0NNRCgweDAwLCAweEJBLCAweDFCKSwK PiAtCV9JTklUX0NNRCgweDAwLCAweEJCLCAweDlCKSwKPiAtCV9JTklUX0NNRCgweDAwLCAweEJD LCAweDI4KSwKPiAtCV9JTklUX0NNRCgweDAwLCAweEJELCAweDJEKSwKPiAtCV9JTklUX0NNRCgw eDAwLCAweEJFLCAweEMzKSwKPiAtCV9JTklUX0NNRCgweDAwLCAweEJGLCAweDJGKSwKPiAtCV9J TklUX0NNRCgweDAwLCAweEMwLCAweDYyKSwKPiAtCV9JTklUX0NNRCgweDAwLCAweEMxLCAweDk5 KSwKPiAtCV9JTklUX0NNRCgweDAwLCAweEMyLCAweEFCKSwKPiAtCV9JTklUX0NNRCgweDAwLCAw eEMzLCAweEJGKSwKPiAtCV9JTklUX0NNRCgweDAwLCAweEM0LCAweENGKSwKPiAtCV9JTklUX0NN RCgweDAwLCAweEM1LCAweERGKSwKPiAtCV9JTklUX0NNRCgweDAwLCAweEM2LCAweEYwKSwKPiAt CV9JTklUX0NNRCgweDAwLCAweEM3LCAweEY5KSwKPiAtCV9JTklUX0NNRCgweDAwLCAweEM4LCAw eEZDKSwKPiAtCV9JTklUX0NNRCgweDAwLCAweEM5LCAweDAwKSwKPiAtCV9JTklUX0NNRCgweDAw LCAweENBLCAweDAwKSwKPiAtCV9JTklUX0NNRCgweDAwLCAweENCLCAweDE2KSwKPiAtCV9JTklU X0NNRCgweDAwLCAweENDLCAweEFGKSwKPiAtCV9JTklUX0NNRCgweDAwLCAweENELCAweEZGKSwK PiAtCV9JTklUX0NNRCgweDAwLCAweENFLCAweEZGKSwKPiAtCV9JTklUX0NNRCgweDAwLCAweEIw LCAweDA5KSwKPiAtCV9JTklUX0NNRCgweDAwLCAweEIxLCAweDA0KSwKPiAtCV9JTklUX0NNRCgw eDAwLCAweEIyLCAweDA1KSwKPiAtCV9JTklUX0NNRCgweDAwLCAweEIzLCAweDE3KSwKPiAtCV9J TklUX0NNRCgweDAwLCAweEI0LCAweDJFKSwKPiAtCV9JTklUX0NNRCgweDAwLCAweEI1LCAweDQy KSwKPiAtCV9JTklUX0NNRCgweDAwLCAweEI2LCAweDUxKSwKPiAtCV9JTklUX0NNRCgweDAwLCAw eEI3LCAweDY5KSwKPiAtCV9JTklUX0NNRCgweDAwLCAweEI4LCAweDg4KSwKPiAtCV9JTklUX0NN RCgweDAwLCAweEI5LCAweEM5KSwKPiAtCV9JTklUX0NNRCgweDAwLCAweEJBLCAweDBDKSwKPiAt CV9JTklUX0NNRCgweDAwLCAweEJCLCAweDg2KSwKPiAtCV9JTklUX0NNRCgweDAwLCAweEJDLCAw eDAzKSwKPiAtCV9JTklUX0NNRCgweDAwLCAweEJELCAweDA4KSwKPiAtCV9JTklUX0NNRCgweDAw LCAweEJFLCAweDk1KSwKPiAtCV9JTklUX0NNRCgweDAwLCAweEJGLCAweDA1KSwKPiAtCV9JTklU X0NNRCgweDAwLCAweEMwLCAweDM1KSwKPiAtCV9JTklUX0NNRCgweDAwLCAweEMxLCAweDYyKSwK PiAtCV9JTklUX0NNRCgweDAwLCAweEMyLCAweDgxKSwKPiAtCV9JTklUX0NNRCgweDAwLCAweEMz LCAweDk2KSwKPiAtCV9JTklUX0NNRCgweDAwLCAweEM0LCAweDlFKSwKPiAtCV9JTklUX0NNRCgw eDAwLCAweEM1LCAweEE1KSwKPiAtCV9JTklUX0NNRCgweDAwLCAweEM2LCAweEFEKSwKPiAtCV9J TklUX0NNRCgweDAwLCAweEM3LCAweEIxKSwKPiAtCV9JTklUX0NNRCgweDAwLCAweEM4LCAweEI0 KSwKPiAtCV9JTklUX0NNRCgweDAwLCAweEM5LCAweDAwKSwKPiAtCV9JTklUX0NNRCgweDAwLCAw eENBLCAweDAwKSwKPiAtCV9JTklUX0NNRCgweDAwLCAweENCLCAweDE2KSwKPiAtCV9JTklUX0NN RCgweDAwLCAweENDLCAweEFGKSwKPiAtCV9JTklUX0NNRCgweDAwLCAweENELCAweEZGKSwKPiAt CV9JTklUX0NNRCgweDAwLCAweENFLCAweEZGKSwKPiAtCV9JTklUX0NNRCgweDAwLCAweEIwLCAw eDBBKSwKPiAtCV9JTklUX0NNRCgweDAwLCAweEIxLCAweDAwKSwKPiAtCV9JTklUX0NNRCgweDAw LCAweEIyLCAweDA5KSwKPiAtCV9JTklUX0NNRCgweDAwLCAweEIzLCAweDE5KSwKPiAtCV9JTklU X0NNRCgweDAwLCAweEI0LCAweDJGKSwKPiAtCV9JTklUX0NNRCgweDAwLCAweEI1LCAweDQ0KSwK PiAtCV9JTklUX0NNRCgweDAwLCAweEI2LCAweDUyKSwKPiAtCV9JTklUX0NNRCgweDAwLCAweEI3 LCAweDZBKSwKPiAtCV9JTklUX0NNRCgweDAwLCAweEI4LCAweDhBKSwKPiAtCV9JTklUX0NNRCgw eDAwLCAweEI5LCAweENBKSwKPiAtCV9JTklUX0NNRCgweDAwLCAweEJBLCAweDBDKSwKPiAtCV9J TklUX0NNRCgweDAwLCAweEJCLCAweDg3KSwKPiAtCV9JTklUX0NNRCgweDAwLCAweEJDLCAweDA2 KSwKPiAtCV9JTklUX0NNRCgweDAwLCAweEJELCAweDBBKSwKPiAtCV9JTklUX0NNRCgweDAwLCAw eEJFLCAweDlCKSwKPiAtCV9JTklUX0NNRCgweDAwLCAweEJGLCAweDBDKSwKPiAtCV9JTklUX0NN RCgweDAwLCAweEMwLCAweDNEKSwKPiAtCV9JTklUX0NNRCgweDAwLCAweEMxLCAweDcxKSwKPiAt CV9JTklUX0NNRCgweDAwLCAweEMyLCAweDkwKSwKPiAtCV9JTklUX0NNRCgweDAwLCAweEMzLCAw eEEwKSwKPiAtCV9JTklUX0NNRCgweDAwLCAweEM0LCAweEE4KSwKPiAtCV9JTklUX0NNRCgweDAw LCAweEM1LCAweEIxKSwKPiAtCV9JTklUX0NNRCgweDAwLCAweEM2LCAweEJCKSwKPiAtCV9JTklU X0NNRCgweDAwLCAweEM3LCAweEMwKSwKPiAtCV9JTklUX0NNRCgweDAwLCAweEM4LCAweEM0KSwK PiAtCV9JTklUX0NNRCgweDAwLCAweEM5LCAweDAwKSwKPiAtCV9JTklUX0NNRCgweDAwLCAweENB LCAweDAwKSwKPiAtCV9JTklUX0NNRCgweDAwLCAweENCLCAweDE2KSwKPiAtCV9JTklUX0NNRCgw eDAwLCAweENDLCAweEFGKSwKPiAtCV9JTklUX0NNRCgweDAwLCAweENELCAweEZGKSwKPiAtCV9J TklUX0NNRCgweDAwLCAweENFLCAweEZGKSwKPiAtCV9JTklUX0NNRCgweDAwLCAweEIwLCAweDBC KSwKPiAtCV9JTklUX0NNRCgweDAwLCAweEIxLCAweDA0KSwKPiAtCV9JTklUX0NNRCgweDAwLCAw eEIyLCAweDA4KSwKPiAtCV9JTklUX0NNRCgweDAwLCAweEIzLCAweDE5KSwKPiAtCV9JTklUX0NN RCgweDAwLCAweEI0LCAweDMxKSwKPiAtCV9JTklUX0NNRCgweDAwLCAweEI1LCAweDQ2KSwKPiAt CV9JTklUX0NNRCgweDAwLCAweEI2LCAweDU1KSwKPiAtCV9JTklUX0NNRCgweDAwLCAweEI3LCAw eDZFKSwKPiAtCV9JTklUX0NNRCgweDAwLCAweEI4LCAweDkyKSwKPiAtCV9JTklUX0NNRCgweDAw LCAweEI5LCAweEQ0KSwKPiAtCV9JTklUX0NNRCgweDAwLCAweEJBLCAweDFCKSwKPiAtCV9JTklU X0NNRCgweDAwLCAweEJCLCAweDlCKSwKPiAtCV9JTklUX0NNRCgweDAwLCAweEJDLCAweDI4KSwK PiAtCV9JTklUX0NNRCgweDAwLCAweEJELCAweDJEKSwKPiAtCV9JTklUX0NNRCgweDAwLCAweEJF LCAweEMzKSwKPiAtCV9JTklUX0NNRCgweDAwLCAweEJGLCAweDJGKSwKPiAtCV9JTklUX0NNRCgw eDAwLCAweEMwLCAweDYyKSwKPiAtCV9JTklUX0NNRCgweDAwLCAweEMxLCAweDk5KSwKPiAtCV9J TklUX0NNRCgweDAwLCAweEMyLCAweEFCKSwKPiAtCV9JTklUX0NNRCgweDAwLCAweEMzLCAweEJG KSwKPiAtCV9JTklUX0NNRCgweDAwLCAweEM0LCAweENGKSwKPiAtCV9JTklUX0NNRCgweDAwLCAw eEM1LCAweERGKSwKPiAtCV9JTklUX0NNRCgweDAwLCAweEM2LCAweEYwKSwKPiAtCV9JTklUX0NN RCgweDAwLCAweEM3LCAweEY5KSwKPiAtCV9JTklUX0NNRCgweDAwLCAweEM4LCAweEZDKSwKPiAt CV9JTklUX0NNRCgweDAwLCAweEM5LCAweDAwKSwKPiAtCV9JTklUX0NNRCgweDAwLCAweENBLCAw eDAwKSwKPiAtCV9JTklUX0NNRCgweDAwLCAweENCLCAweDE2KSwKPiAtCV9JTklUX0NNRCgweDAw LCAweENDLCAweEFGKSwKPiAtCV9JTklUX0NNRCgweDAwLCAweENELCAweEZGKSwKPiAtCV9JTklU X0NNRCgweDAwLCAweENFLCAweEZGKSwKPiAtCV9JTklUX0NNRCgweDAwLCAweEIwLCAweDBDKSwK PiAtCV9JTklUX0NNRCgweDAwLCAweEIxLCAweDA0KSwKPiAtCV9JTklUX0NNRCgweDAwLCAweEIy LCAweDA1KSwKPiAtCV9JTklUX0NNRCgweDAwLCAweEIzLCAweDE3KSwKPiAtCV9JTklUX0NNRCgw eDAwLCAweEI0LCAweDJFKSwKPiAtCV9JTklUX0NNRCgweDAwLCAweEI1LCAweDQyKSwKPiAtCV9J TklUX0NNRCgweDAwLCAweEI2LCAweDUxKSwKPiAtCV9JTklUX0NNRCgweDAwLCAweEI3LCAweDY5 KSwKPiAtCV9JTklUX0NNRCgweDAwLCAweEI4LCAweDg4KSwKPiAtCV9JTklUX0NNRCgweDAwLCAw eEI5LCAweEM5KSwKPiAtCV9JTklUX0NNRCgweDAwLCAweEJBLCAweDBDKSwKPiAtCV9JTklUX0NN RCgweDAwLCAweEJCLCAweDg2KSwKPiAtCV9JTklUX0NNRCgweDAwLCAweEJDLCAweDAzKSwKPiAt CV9JTklUX0NNRCgweDAwLCAweEJELCAweDA4KSwKPiAtCV9JTklUX0NNRCgweDAwLCAweEJFLCAw eDk1KSwKPiAtCV9JTklUX0NNRCgweDAwLCAweEJGLCAweDA1KSwKPiAtCV9JTklUX0NNRCgweDAw LCAweEMwLCAweDM1KSwKPiAtCV9JTklUX0NNRCgweDAwLCAweEMxLCAweDYyKSwKPiAtCV9JTklU X0NNRCgweDAwLCAweEMyLCAweDgxKSwKPiAtCV9JTklUX0NNRCgweDAwLCAweEMzLCAweDk2KSwK PiAtCV9JTklUX0NNRCgweDAwLCAweEM0LCAweDlFKSwKPiAtCV9JTklUX0NNRCgweDAwLCAweEM1 LCAweEE1KSwKPiAtCV9JTklUX0NNRCgweDAwLCAweEM2LCAweEFEKSwKPiAtCV9JTklUX0NNRCgw eDAwLCAweEM3LCAweEIxKSwKPiAtCV9JTklUX0NNRCgweDAwLCAweEM4LCAweEI0KSwKPiAtCV9J TklUX0NNRCgweDAwLCAweEM5LCAweDAwKSwKPiAtCV9JTklUX0NNRCgweDAwLCAweENBLCAweDAw KSwKPiAtCV9JTklUX0NNRCgweDAwLCAweENCLCAweDE2KSwKPiAtCV9JTklUX0NNRCgweDAwLCAw eENDLCAweEFGKSwKPiAtCV9JTklUX0NNRCgweDAwLCAweENELCAweEZGKSwKPiAtCV9JTklUX0NN RCgweDAwLCAweENFLCAweEZGKSwKPiAtCV9JTklUX0NNRCgweDAwLCAweEIwLCAweDAwKSwKPiAt CV9JTklUX0NNRCgweDAwLCAweEIzLCAweDA4KSwKPiAtCV9JTklUX0NNRCgweDAwLCAweEIwLCAw eDA0KSwKPiAtCV9JTklUX0NNRCgweDY0LCAweEI4LCAweDY4KSwKPiArCV9JTklUX0NNRCgweEIw LCAweDA1KSwKPiArCV9JTklUX0NNRCgweEIxLCAweEU1KSwKPiArCV9JTklUX0NNRCgweEIzLCAw eDUyKSwKPiArCV9JTklUX0NNRCgweEIwLCAweDAwKSwKPiArCV9JTklUX0NNRCgweEI2LCAweDAz KSwKPiArCV9JTklUX0NNRCgweEJBLCAweDhCKSwKPiArCV9JTklUX0NNRCgweEJGLCAweDFBKSwK PiArCV9JTklUX0NNRCgweEMwLCAweDBGKSwKPiArCV9JTklUX0NNRCgweEMyLCAweDBDKSwKPiAr CV9JTklUX0NNRCgweEMzLCAweDAyKSwKPiArCV9JTklUX0NNRCgweEM0LCAweDBDKSwKPiArCV9J TklUX0NNRCgweEM1LCAweDAyKSwKPiArCV9JTklUX0NNRCgweEIwLCAweDAxKSwKPiArCV9JTklU X0NNRCgweEUwLCAweDI2KSwKPiArCV9JTklUX0NNRCgweEUxLCAweDI2KSwKPiArCV9JTklUX0NN RCgweERDLCAweDAwKSwKPiArCV9JTklUX0NNRCgweERELCAweDAwKSwKPiArCV9JTklUX0NNRCgw eENDLCAweDI2KSwKPiArCV9JTklUX0NNRCgweENELCAweDI2KSwKPiArCV9JTklUX0NNRCgweEM4 LCAweDAwKSwKPiArCV9JTklUX0NNRCgweEM5LCAweDAwKSwKPiArCV9JTklUX0NNRCgweEQyLCAw eDAzKSwKPiArCV9JTklUX0NNRCgweEQzLCAweDAzKSwKPiArCV9JTklUX0NNRCgweEU2LCAweDA0 KSwKPiArCV9JTklUX0NNRCgweEU3LCAweDA0KSwKPiArCV9JTklUX0NNRCgweEM0LCAweDA5KSwK PiArCV9JTklUX0NNRCgweEM1LCAweDA5KSwKPiArCV9JTklUX0NNRCgweEQ4LCAweDBBKSwKPiAr CV9JTklUX0NNRCgweEQ5LCAweDBBKSwKPiArCV9JTklUX0NNRCgweEMyLCAweDBCKSwKPiArCV9J TklUX0NNRCgweEMzLCAweDBCKSwKPiArCV9JTklUX0NNRCgweEQ2LCAweDBDKSwKPiArCV9JTklU X0NNRCgweEQ3LCAweDBDKSwKPiArCV9JTklUX0NNRCgweEMwLCAweDA1KSwKPiArCV9JTklUX0NN RCgweEMxLCAweDA1KSwKPiArCV9JTklUX0NNRCgweEQ0LCAweDA2KSwKPiArCV9JTklUX0NNRCgw eEQ1LCAweDA2KSwKPiArCV9JTklUX0NNRCgweENBLCAweDA3KSwKPiArCV9JTklUX0NNRCgweENC LCAweDA3KSwKPiArCV9JTklUX0NNRCgweERFLCAweDA4KSwKPiArCV9JTklUX0NNRCgweERGLCAw eDA4KSwKPiArCV9JTklUX0NNRCgweEIwLCAweDAyKSwKPiArCV9JTklUX0NNRCgweEMwLCAweDAw KSwKPiArCV9JTklUX0NNRCgweEMxLCAweDBEKSwKPiArCV9JTklUX0NNRCgweEMyLCAweDE3KSwK PiArCV9JTklUX0NNRCgweEMzLCAweDI2KSwKPiArCV9JTklUX0NNRCgweEM0LCAweDMxKSwKPiAr CV9JTklUX0NNRCgweEM1LCAweDFDKSwKPiArCV9JTklUX0NNRCgweEM2LCAweDJDKSwKPiArCV9J TklUX0NNRCgweEM3LCAweDMzKSwKPiArCV9JTklUX0NNRCgweEM4LCAweDMxKSwKPiArCV9JTklU X0NNRCgweEM5LCAweDM3KSwKPiArCV9JTklUX0NNRCgweENBLCAweDM3KSwKPiArCV9JTklUX0NN RCgweENCLCAweDM3KSwKPiArCV9JTklUX0NNRCgweENDLCAweDM5KSwKPiArCV9JTklUX0NNRCgw eENELCAweDJFKSwKPiArCV9JTklUX0NNRCgweENFLCAweDJGKSwKPiArCV9JTklUX0NNRCgweENG LCAweDJGKSwKPiArCV9JTklUX0NNRCgweEQwLCAweDA3KSwKPiArCV9JTklUX0NNRCgweEQyLCAw eDAwKSwKPiArCV9JTklUX0NNRCgweEQzLCAweDBEKSwKPiArCV9JTklUX0NNRCgweEQ0LCAweDE3 KSwKPiArCV9JTklUX0NNRCgweEQ1LCAweDI2KSwKPiArCV9JTklUX0NNRCgweEQ2LCAweDMxKSwK PiArCV9JTklUX0NNRCgweEQ3LCAweDNGKSwKPiArCV9JTklUX0NNRCgweEQ4LCAweDNGKSwKPiAr CV9JTklUX0NNRCgweEQ5LCAweDNGKSwKPiArCV9JTklUX0NNRCgweERBLCAweDNGKSwKPiArCV9J TklUX0NNRCgweERCLCAweDM3KSwKPiArCV9JTklUX0NNRCgweERDLCAweDM3KSwKPiArCV9JTklU X0NNRCgweERELCAweDM3KSwKPiArCV9JTklUX0NNRCgweERFLCAweDM5KSwKPiArCV9JTklUX0NN RCgweERGLCAweDJFKSwKPiArCV9JTklUX0NNRCgweEUwLCAweDJGKSwKPiArCV9JTklUX0NNRCgw eEUxLCAweDJGKSwKPiArCV9JTklUX0NNRCgweEUyLCAweDA3KSwKPiArCV9JTklUX0NNRCgweEIw LCAweDAzKSwKPiArCV9JTklUX0NNRCgweEM4LCAweDBCKSwKPiArCV9JTklUX0NNRCgweEM5LCAw eDA3KSwKPiArCV9JTklUX0NNRCgweEMzLCAweDAwKSwKPiArCV9JTklUX0NNRCgweEU3LCAweDAw KSwKPiArCV9JTklUX0NNRCgweEM1LCAweDJBKSwKPiArCV9JTklUX0NNRCgweERFLCAweDJBKSwK PiArCV9JTklUX0NNRCgweENBLCAweDQzKSwKPiArCV9JTklUX0NNRCgweEM5LCAweDA3KSwKPiAr CV9JTklUX0NNRCgweEU0LCAweEMwKSwKPiArCV9JTklUX0NNRCgweEU1LCAweDBEKSwKPiArCV9J TklUX0NNRCgweENCLCAweDAxKSwKPiArCV9JTklUX0NNRCgweEJDLCAweDAxKSwKPiArCV9JTklU X0NNRCgweEIwLCAweDA2KSwKPiArCV9JTklUX0NNRCgweEI4LCAweEE1KSwKPiArCV9JTklUX0NN RCgweEMwLCAweEE1KSwKPiArCV9JTklUX0NNRCgweEM3LCAweDBGKSwKPiArCV9JTklUX0NNRCgw eEQ1LCAweDMyKSwKPiArCV9JTklUX0NNRCgweEI4LCAweDAwKSwKPiArCV9JTklUX0NNRCgweEMw LCAweDAwKSwKPiArCV9JTklUX0NNRCgweEJDLCAweDAwKSwKPiArCV9JTklUX0NNRCgweEIwLCAw eDA3KSwKPiArCV9JTklUX0NNRCgweEIxLCAweDAwKSwKPiArCV9JTklUX0NNRCgweEIyLCAweDA1 KSwKPiArCV9JTklUX0NNRCgweEIzLCAweDEwKSwKPiArCV9JTklUX0NNRCgweEI0LCAweDIyKSwK PiArCV9JTklUX0NNRCgweEI1LCAweDM2KSwKPiArCV9JTklUX0NNRCgweEI2LCAweDRBKSwKPiAr CV9JTklUX0NNRCgweEI3LCAweDZDKSwKPiArCV9JTklUX0NNRCgweEI4LCAweDlBKSwKPiArCV9J TklUX0NNRCgweEI5LCAweEQ3KSwKPiArCV9JTklUX0NNRCgweEJBLCAweDE3KSwKPiArCV9JTklU X0NNRCgweEJCLCAweDkyKSwKPiArCV9JTklUX0NNRCgweEJDLCAweDE1KSwKPiArCV9JTklUX0NN RCgweEJELCAweDE4KSwKPiArCV9JTklUX0NNRCgweEJFLCAweDhDKSwKPiArCV9JTklUX0NNRCgw eEJGLCAweDAwKSwKPiArCV9JTklUX0NNRCgweEMwLCAweDNBKSwKPiArCV9JTklUX0NNRCgweEMx LCAweDcyKSwKPiArCV9JTklUX0NNRCgweEMyLCAweDhDKSwKPiArCV9JTklUX0NNRCgweEMzLCAw eEE1KSwKPiArCV9JTklUX0NNRCgweEM0LCAweEIxKSwKPiArCV9JTklUX0NNRCgweEM1LCAweEJF KSwKPiArCV9JTklUX0NNRCgweEM2LCAweENBKSwKPiArCV9JTklUX0NNRCgweEM3LCAweEQxKSwK PiArCV9JTklUX0NNRCgweEM4LCAweEQ0KSwKPiArCV9JTklUX0NNRCgweEM5LCAweDAwKSwKPiAr CV9JTklUX0NNRCgweENBLCAweDAwKSwKPiArCV9JTklUX0NNRCgweENCLCAweDE2KSwKPiArCV9J TklUX0NNRCgweENDLCAweEFGKSwKPiArCV9JTklUX0NNRCgweENELCAweEZGKSwKPiArCV9JTklU X0NNRCgweENFLCAweEZGKSwKPiArCV9JTklUX0NNRCgweEIwLCAweDA4KSwKPiArCV9JTklUX0NN RCgweEIxLCAweDA0KSwKPiArCV9JTklUX0NNRCgweEIyLCAweDA1KSwKPiArCV9JTklUX0NNRCgw eEIzLCAweDExKSwKPiArCV9JTklUX0NNRCgweEI0LCAweDI0KSwKPiArCV9JTklUX0NNRCgweEI1 LCAweDM5KSwKPiArCV9JTklUX0NNRCgweEI2LCAweDRFKSwKPiArCV9JTklUX0NNRCgweEI3LCAw eDcyKSwKPiArCV9JTklUX0NNRCgweEI4LCAweEEzKSwKPiArCV9JTklUX0NNRCgweEI5LCAweEUx KSwKPiArCV9JTklUX0NNRCgweEJBLCAweDI1KSwKPiArCV9JTklUX0NNRCgweEJCLCAweEE4KSwK PiArCV9JTklUX0NNRCgweEJDLCAweDJFKSwKPiArCV9JTklUX0NNRCgweEJELCAweDMyKSwKPiAr CV9JTklUX0NNRCgweEJFLCAweEFEKSwKPiArCV9JTklUX0NNRCgweEJGLCAweDI4KSwKPiArCV9J TklUX0NNRCgweEMwLCAweDYzKSwKPiArCV9JTklUX0NNRCgweEMxLCAweDlCKSwKPiArCV9JTklU X0NNRCgweEMyLCAweEI1KSwKPiArCV9JTklUX0NNRCgweEMzLCAweENGKSwKPiArCV9JTklUX0NN RCgweEM0LCAweERCKSwKPiArCV9JTklUX0NNRCgweEM1LCAweEU4KSwKPiArCV9JTklUX0NNRCgw eEM2LCAweEY1KSwKPiArCV9JTklUX0NNRCgweEM3LCAweEZBKSwKPiArCV9JTklUX0NNRCgweEM4 LCAweEZDKSwKPiArCV9JTklUX0NNRCgweEM5LCAweDAwKSwKPiArCV9JTklUX0NNRCgweENBLCAw eDAwKSwKPiArCV9JTklUX0NNRCgweENCLCAweDE2KSwKPiArCV9JTklUX0NNRCgweENDLCAweEFG KSwKPiArCV9JTklUX0NNRCgweENELCAweEZGKSwKPiArCV9JTklUX0NNRCgweENFLCAweEZGKSwK PiArCV9JTklUX0NNRCgweEIwLCAweDA5KSwKPiArCV9JTklUX0NNRCgweEIxLCAweDA0KSwKPiAr CV9JTklUX0NNRCgweEIyLCAweDA0KSwKPiArCV9JTklUX0NNRCgweEIzLCAweDBGKSwKPiArCV9J TklUX0NNRCgweEI0LCAweDIyKSwKPiArCV9JTklUX0NNRCgweEI1LCAweDM3KSwKPiArCV9JTklU X0NNRCgweEI2LCAweDREKSwKPiArCV9JTklUX0NNRCgweEI3LCAweDcxKSwKPiArCV9JTklUX0NN RCgweEI4LCAweEEyKSwKPiArCV9JTklUX0NNRCgweEI5LCAweEUxKSwKPiArCV9JTklUX0NNRCgw eEJBLCAweDI2KSwKPiArCV9JTklUX0NNRCgweEJCLCAweEE5KSwKPiArCV9JTklUX0NNRCgweEJD LCAweDJGKSwKPiArCV9JTklUX0NNRCgweEJELCAweDMzKSwKPiArCV9JTklUX0NNRCgweEJFLCAw eEFDKSwKPiArCV9JTklUX0NNRCgweEJGLCAweDI0KSwKPiArCV9JTklUX0NNRCgweEMwLCAweDVE KSwKPiArCV9JTklUX0NNRCgweEMxLCAweDk0KSwKPiArCV9JTklUX0NNRCgweEMyLCAweEFDKSwK PiArCV9JTklUX0NNRCgweEMzLCAweEM1KSwKPiArCV9JTklUX0NNRCgweEM0LCAweEQxKSwKPiAr CV9JTklUX0NNRCgweEM1LCAweERDKSwKPiArCV9JTklUX0NNRCgweEM2LCAweEU4KSwKPiArCV9J TklUX0NNRCgweEM3LCAweEVEKSwKPiArCV9JTklUX0NNRCgweEM4LCAweEYwKSwKPiArCV9JTklU X0NNRCgweEM5LCAweDAwKSwKPiArCV9JTklUX0NNRCgweENBLCAweDAwKSwKPiArCV9JTklUX0NN RCgweENCLCAweDE2KSwKPiArCV9JTklUX0NNRCgweENDLCAweEFGKSwKPiArCV9JTklUX0NNRCgw eENELCAweEZGKSwKPiArCV9JTklUX0NNRCgweENFLCAweEZGKSwKPiArCV9JTklUX0NNRCgweEIw LCAweDBBKSwKPiArCV9JTklUX0NNRCgweEIxLCAweDAwKSwKPiArCV9JTklUX0NNRCgweEIyLCAw eDA1KSwKPiArCV9JTklUX0NNRCgweEIzLCAweDEwKSwKPiArCV9JTklUX0NNRCgweEI0LCAweDIy KSwKPiArCV9JTklUX0NNRCgweEI1LCAweDM2KSwKPiArCV9JTklUX0NNRCgweEI2LCAweDRBKSwK PiArCV9JTklUX0NNRCgweEI3LCAweDZDKSwKPiArCV9JTklUX0NNRCgweEI4LCAweDlBKSwKPiAr CV9JTklUX0NNRCgweEI5LCAweEQ3KSwKPiArCV9JTklUX0NNRCgweEJBLCAweDE3KSwKPiArCV9J TklUX0NNRCgweEJCLCAweDkyKSwKPiArCV9JTklUX0NNRCgweEJDLCAweDE1KSwKPiArCV9JTklU X0NNRCgweEJELCAweDE4KSwKPiArCV9JTklUX0NNRCgweEJFLCAweDhDKSwKPiArCV9JTklUX0NN RCgweEJGLCAweDAwKSwKPiArCV9JTklUX0NNRCgweEMwLCAweDNBKSwKPiArCV9JTklUX0NNRCgw eEMxLCAweDcyKSwKPiArCV9JTklUX0NNRCgweEMyLCAweDhDKSwKPiArCV9JTklUX0NNRCgweEMz LCAweEE1KSwKPiArCV9JTklUX0NNRCgweEM0LCAweEIxKSwKPiArCV9JTklUX0NNRCgweEM1LCAw eEJFKSwKPiArCV9JTklUX0NNRCgweEM2LCAweENBKSwKPiArCV9JTklUX0NNRCgweEM3LCAweEQx KSwKPiArCV9JTklUX0NNRCgweEM4LCAweEQ0KSwKPiArCV9JTklUX0NNRCgweEM5LCAweDAwKSwK PiArCV9JTklUX0NNRCgweENBLCAweDAwKSwKPiArCV9JTklUX0NNRCgweENCLCAweDE2KSwKPiAr CV9JTklUX0NNRCgweENDLCAweEFGKSwKPiArCV9JTklUX0NNRCgweENELCAweEZGKSwKPiArCV9J TklUX0NNRCgweENFLCAweEZGKSwKPiArCV9JTklUX0NNRCgweEIwLCAweDBCKSwKPiArCV9JTklU X0NNRCgweEIxLCAweDA0KSwKPiArCV9JTklUX0NNRCgweEIyLCAweDA1KSwKPiArCV9JTklUX0NN RCgweEIzLCAweDExKSwKPiArCV9JTklUX0NNRCgweEI0LCAweDI0KSwKPiArCV9JTklUX0NNRCgw eEI1LCAweDM5KSwKPiArCV9JTklUX0NNRCgweEI2LCAweDRFKSwKPiArCV9JTklUX0NNRCgweEI3 LCAweDcyKSwKPiArCV9JTklUX0NNRCgweEI4LCAweEEzKSwKPiArCV9JTklUX0NNRCgweEI5LCAw eEUxKSwKPiArCV9JTklUX0NNRCgweEJBLCAweDI1KSwKPiArCV9JTklUX0NNRCgweEJCLCAweEE4 KSwKPiArCV9JTklUX0NNRCgweEJDLCAweDJFKSwKPiArCV9JTklUX0NNRCgweEJELCAweDMyKSwK PiArCV9JTklUX0NNRCgweEJFLCAweEFEKSwKPiArCV9JTklUX0NNRCgweEJGLCAweDI4KSwKPiAr CV9JTklUX0NNRCgweEMwLCAweDYzKSwKPiArCV9JTklUX0NNRCgweEMxLCAweDlCKSwKPiArCV9J TklUX0NNRCgweEMyLCAweEI1KSwKPiArCV9JTklUX0NNRCgweEMzLCAweENGKSwKPiArCV9JTklU X0NNRCgweEM0LCAweERCKSwKPiArCV9JTklUX0NNRCgweEM1LCAweEU4KSwKPiArCV9JTklUX0NN RCgweEM2LCAweEY1KSwKPiArCV9JTklUX0NNRCgweEM3LCAweEZBKSwKPiArCV9JTklUX0NNRCgw eEM4LCAweEZDKSwKPiArCV9JTklUX0NNRCgweEM5LCAweDAwKSwKPiArCV9JTklUX0NNRCgweENB LCAweDAwKSwKPiArCV9JTklUX0NNRCgweENCLCAweDE2KSwKPiArCV9JTklUX0NNRCgweENDLCAw eEFGKSwKPiArCV9JTklUX0NNRCgweENELCAweEZGKSwKPiArCV9JTklUX0NNRCgweENFLCAweEZG KSwKPiArCV9JTklUX0NNRCgweEIwLCAweDBDKSwKPiArCV9JTklUX0NNRCgweEIxLCAweDA0KSwK PiArCV9JTklUX0NNRCgweEIyLCAweDA0KSwKPiArCV9JTklUX0NNRCgweEIzLCAweDBGKSwKPiAr CV9JTklUX0NNRCgweEI0LCAweDIyKSwKPiArCV9JTklUX0NNRCgweEI1LCAweDM3KSwKPiArCV9J TklUX0NNRCgweEI2LCAweDREKSwKPiArCV9JTklUX0NNRCgweEI3LCAweDcxKSwKPiArCV9JTklU X0NNRCgweEI4LCAweEEyKSwKPiArCV9JTklUX0NNRCgweEI5LCAweEUxKSwKPiArCV9JTklUX0NN RCgweEJBLCAweDI2KSwKPiArCV9JTklUX0NNRCgweEJCLCAweEE5KSwKPiArCV9JTklUX0NNRCgw eEJDLCAweDJGKSwKPiArCV9JTklUX0NNRCgweEJELCAweDMzKSwKPiArCV9JTklUX0NNRCgweEJF LCAweEFDKSwKPiArCV9JTklUX0NNRCgweEJGLCAweDI0KSwKPiArCV9JTklUX0NNRCgweEMwLCAw eDVEKSwKPiArCV9JTklUX0NNRCgweEMxLCAweDk0KSwKPiArCV9JTklUX0NNRCgweEMyLCAweEFD KSwKPiArCV9JTklUX0NNRCgweEMzLCAweEM1KSwKPiArCV9JTklUX0NNRCgweEM0LCAweEQxKSwK PiArCV9JTklUX0NNRCgweEM1LCAweERDKSwKPiArCV9JTklUX0NNRCgweEM2LCAweEU4KSwKPiAr CV9JTklUX0NNRCgweEM3LCAweEVEKSwKPiArCV9JTklUX0NNRCgweEM4LCAweEYwKSwKPiArCV9J TklUX0NNRCgweEM5LCAweDAwKSwKPiArCV9JTklUX0NNRCgweENBLCAweDAwKSwKPiArCV9JTklU X0NNRCgweENCLCAweDE2KSwKPiArCV9JTklUX0NNRCgweENDLCAweEFGKSwKPiArCV9JTklUX0NN RCgweENELCAweEZGKSwKPiArCV9JTklUX0NNRCgweENFLCAweEZGKSwKPiAgCj4gIAl7fSwKPiAg fTsKPiBAQCAtODk2LDE3ICs4NDMsMTEgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBwYW5lbF9kZXNj IGJvZV9oaW1heDgyNzlkMTBwX3BhbmVsX2Rlc2MgPSB7Cj4gIAkuYnBjID0gOCwKPiAgCS53aWR0 aF9tbSA9IDEzNSwKPiAgCS5oZWlnaHRfbW0gPSAyMTYsCj4gLQkuZGVsYXlfdDEgPSA1MDAwLAo+ IC0JLnJlc2V0X2RlbGF5X3QyID0gMTQwMDAsCj4gLQkucmVzZXRfZGVsYXlfdDMgPSAxMDAwLAo+ IC0JLnJlc2V0X2RlbGF5X3Q0ID0gMTAwMCwKPiAtCS5yZXNldF9kZWxheV90NSA9IDUwMDAsCj4g IAkubW9kZV9mbGFncyA9IE1JUElfRFNJX01PREVfVklERU8gfCBNSVBJX0RTSV9NT0RFX1ZJREVP X1NZTkNfUFVMU0UgfAo+ICAJCQlNSVBJX0RTSV9DTE9DS19OT05fQ09OVElOVU9VUyB8IE1JUElf RFNJX01PREVfTFBNLAo+ICAJLmZvcm1hdCA9IE1JUElfRFNJX0ZNVF9SR0I4ODgsCj4gIAkubGFu ZXMgPSA0LAo+ICAJLm9uX2NtZHMgPSBib2VfaGltYXg4Mjc5ZDEwcF9vbl9jbWRzLAo+IC0JLm9m Zl9jbWRzID0gZGVmYXVsdF9vZmZfY21kcywKPiAgfTsKPiAgCj4gIHN0YXRpYyBjb25zdCBzdHJ1 Y3Qgb2ZfZGV2aWNlX2lkIHBhbmVsX29mX21hdGNoW10gPSB7Cj4gLS0gCj4gMi4xNy4xCj4gCgpf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwg bWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0 cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWw=